From d85bfb19f5da5e9ffdcd66ef0820454d0d8f28e5 Mon Sep 17 00:00:00 2001 From: AnalogDragon <37349407+AnalogDragon@users.noreply.github.com> Date: Wed, 19 Apr 2023 20:18:28 +0800 Subject: [PATCH] Initial commit --- .gitattributes | 2 + HW/.gitignore | 40 + HW/README.md | 21 + HW/taiko-io/frontend.kicad_sch | 8554 ++ HW/taiko-io/interface.kicad_sch | 4710 + HW/taiko-io/new_io-all.pos | 243 + HW/taiko-io/new_io.kicad_pcb | 105253 +++++++++++++++ HW/taiko-io/new_io.kicad_pro | 534 + HW/taiko-io/new_io.kicad_sch | 851 + HW/taiko-io/new_io.pdf | Bin 0 -> 290301 bytes HW/taiko-io/smapling.kicad_sch | 3124 + .../tk_io_v20_gerber/new_io-job.gbrjob | 127 + HW/taiko-io/usb_mcu.kicad_sch | 3219 + QT-APP/.gitignore | 55 + QT-APP/APP1_Taiko_IO_Setting/APP1.pro | 47 + .../APP1_Taiko_IO_Setting/clickedcombobox.cpp | 20 + .../APP1_Taiko_IO_Setting/clickedcombobox.h | 21 + QT-APP/APP1_Taiko_IO_Setting/icon.ico | Bin 0 -> 1081406 bytes QT-APP/APP1_Taiko_IO_Setting/icon.png | Bin 0 -> 145672 bytes QT-APP/APP1_Taiko_IO_Setting/images.qrc | 9 + QT-APP/APP1_Taiko_IO_Setting/images/down.png | Bin 0 -> 3698 bytes QT-APP/APP1_Taiko_IO_Setting/images/icon.png | Bin 0 -> 145672 bytes QT-APP/APP1_Taiko_IO_Setting/images/save.png | Bin 0 -> 1058 bytes QT-APP/APP1_Taiko_IO_Setting/images/tk.png | Bin 0 -> 18619 bytes QT-APP/APP1_Taiko_IO_Setting/images/up.png | Bin 0 -> 3687 bytes QT-APP/APP1_Taiko_IO_Setting/main.cpp | 13 + QT-APP/APP1_Taiko_IO_Setting/mainwindow.cpp | 1040 + QT-APP/APP1_Taiko_IO_Setting/mainwindow.h | 140 + QT-APP/APP1_Taiko_IO_Setting/mainwindow.ui | 2875 + QT-APP/README.md | 53 + README.md | 8 + Sampling-MCU/.gitignore | 79 + Sampling-MCU/8chV3_WithCH552_V1.1/.mxproject | 28 + Sampling-MCU/8chV3_WithCH552_V1.1/8ch.ioc | 322 + .../8chV3_WithCH552_V1.1/Core/Inc/main.h | 182 + .../Core/Inc/stm32g0xx_hal_conf.h | 352 + .../Core/Inc/stm32g0xx_it.h | 69 + .../8chV3_WithCH552_V1.1/Core/Src/main.c | 1275 + .../Core/Src/stm32g0xx_hal_msp.c | 389 + .../Core/Src/stm32g0xx_it.c | 217 + .../Core/Src/system_stm32g0xx.c | 304 + .../Drivers/CMSIS/Core/Include/cmsis_armcc.h | 894 + .../CMSIS/Core/Include/cmsis_armclang.h | 1444 + .../CMSIS/Core/Include/cmsis_armclang_ltm.h | 1891 + .../CMSIS/Core/Include/cmsis_compiler.h | 283 + .../Drivers/CMSIS/Core/Include/cmsis_gcc.h | 2168 + .../Drivers/CMSIS/Core/Include/cmsis_iccarm.h | 964 + .../CMSIS/Core/Include/cmsis_version.h | 39 + .../CMSIS/Core/Include/core_armv81mml.h | 2968 + .../CMSIS/Core/Include/core_armv8mbl.h | 1921 + .../CMSIS/Core/Include/core_armv8mml.h | 2835 + .../Drivers/CMSIS/Core/Include/core_cm0.h | 952 + .../Drivers/CMSIS/Core/Include/core_cm0plus.h | 1085 + .../Drivers/CMSIS/Core/Include/core_cm1.h | 979 + .../Drivers/CMSIS/Core/Include/core_cm23.h | 1996 + .../Drivers/CMSIS/Core/Include/core_cm3.h | 1937 + .../Drivers/CMSIS/Core/Include/core_cm33.h | 2910 + .../Drivers/CMSIS/Core/Include/core_cm35p.h | 2910 + .../Drivers/CMSIS/Core/Include/core_cm4.h | 2124 + .../Drivers/CMSIS/Core/Include/core_cm7.h | 2725 + .../Drivers/CMSIS/Core/Include/core_sc000.h | 1025 + .../Drivers/CMSIS/Core/Include/core_sc300.h | 1912 + .../Drivers/CMSIS/Core/Include/mpu_armv7.h | 272 + .../Drivers/CMSIS/Core/Include/mpu_armv8.h | 346 + .../Drivers/CMSIS/Core/Include/tz_context.h | 70 + .../CMSIS/Core/Template/ARMv8-M/main_s.c | 58 + .../CMSIS/Core/Template/ARMv8-M/tz_context.c | 200 + .../DSP/DSP_Lib_TestSuite/CMakeLists.txt | 136 + .../Common/JTest/inc/arr_desc/arr_desc.h | 220 + .../Common/JTest/inc/jtest.h | 17 + .../Common/JTest/inc/jtest_cycle.h | 79 + .../Common/JTest/inc/jtest_define.h | 37 + .../Common/JTest/inc/jtest_fw.h | 282 + .../Common/JTest/inc/jtest_group.h | 66 + .../Common/JTest/inc/jtest_group_call.h | 126 + .../Common/JTest/inc/jtest_group_define.h | 87 + .../Common/JTest/inc/jtest_pf.h | 85 + .../Common/JTest/inc/jtest_systick.h | 94 + .../Common/JTest/inc/jtest_test.h | 100 + .../Common/JTest/inc/jtest_test_call.h | 121 + .../Common/JTest/inc/jtest_test_define.h | 133 + .../Common/JTest/inc/jtest_test_ret.h | 17 + .../Common/JTest/inc/jtest_util.h | 27 + .../Common/JTest/inc/opt_arg/opt_arg.h | 15 + .../Common/JTest/inc/opt_arg/pp_narg.h | 25 + .../Common/JTest/inc/opt_arg/splice.h | 8 + .../Common/JTest/inc/util/util.h | 52 + .../Common/JTest/src/jtest_cycle.c | 9 + .../JTest/src/jtest_dump_str_segments.c | 36 + .../Common/JTest/src/jtest_fw.c | 9 + .../Common/JTest/src/jtest_trigger_action.c | 37 + .../DSP_Lib_TestSuite/Common/inc/all_tests.h | 9 + .../basic_math_tests/basic_math_templates.h | 267 + .../basic_math_tests/basic_math_test_data.h | 46 + .../basic_math_tests/basic_math_test_group.h | 9 + .../inc/basic_math_tests/basic_math_tests.h | 17 + .../complex_math_templates.h | 222 + .../complex_math_test_data.h | 50 + .../complex_math_test_group.h | 9 + .../complex_math_tests/complex_math_tests.h | 14 + .../controller_tests/controller_templates.h | 46 + .../controller_tests/controller_test_data.h | 33 + .../controller_tests/controller_test_group.h | 9 + .../inc/controller_tests/controller_tests.h | 11 + .../inc/fast_math_tests/fast_math_templates.h | 102 + .../inc/fast_math_tests/fast_math_test_data.h | 29 + .../fast_math_tests/fast_math_test_group.h | 9 + .../inc/filtering_tests/filtering_templates.h | 91 + .../inc/filtering_tests/filtering_test_data.h | 81 + .../filtering_tests/filtering_test_group.h | 9 + .../inc/filtering_tests/filtering_tests.h | 15 + .../intrinsics_tests/intrinsics_templates.h | 166 + .../intrinsics_tests/intrinsics_test_data.h | 27 + .../intrinsics_tests/intrinsics_test_group.h | 9 + .../Common/inc/math_helper.h | 52 + .../inc/matrix_tests/matrix_templates.h | 370 + .../inc/matrix_tests/matrix_test_data.h | 54 + .../inc/matrix_tests/matrix_test_group.h | 9 + .../Common/inc/matrix_tests/matrix_tests.h | 17 + .../statistics_tests/statistics_templates.h | 157 + .../statistics_tests/statistics_test_data.h | 44 + .../statistics_tests/statistics_test_group.h | 9 + .../inc/statistics_tests/statistics_tests.h | 15 + .../inc/support_tests/support_templates.h | 120 + .../inc/support_tests/support_test_data.h | 31 + .../inc/support_tests/support_test_group.h | 9 + .../Common/inc/support_tests/support_tests.h | 11 + .../Common/inc/templates/template.h | 88 + .../Common/inc/templates/test_templates.h | 466 + .../inc/transform_tests/transform_templates.h | 181 + .../inc/transform_tests/transform_test_data.h | 48 + .../transform_tests/transform_test_group.h | 9 + .../inc/transform_tests/transform_tests.h | 13 + .../Common/inc/type_abbrev.h | 37 + .../Common/platform/ARMCC/Retarget.c | 52 + .../Common/platform/ARMCC/startup_armv6-m.s | 111 + .../Common/platform/ARMCC/startup_armv7-m.s | 134 + .../platform/ARMCLANG/startup_armv6-m.S | 127 + .../platform/ARMCLANG/startup_armv7-m.S | 159 + .../Common/platform/GCC/Retarget.c | 106 + .../Common/platform/GCC/startup_armv6-m.S | 263 + .../Common/platform/GCC/startup_armv7-m.S | 257 + .../Common/platform/startup_generic.S | 68 + .../Common/platform/system_ARMCM0.c | 56 + .../Common/platform/system_ARMCM23.c | 82 + .../Common/platform/system_ARMCM3.c | 68 + .../Common/platform/system_ARMCM33.c | 99 + .../Common/platform/system_ARMCM4.c | 83 + .../Common/platform/system_ARMCM7.c | 85 + .../Common/platform/system_ARMSC000.c | 56 + .../Common/platform/system_ARMSC300.c | 72 + .../Common/platform/system_ARMv8MBL.c | 76 + .../Common/platform/system_ARMv8MML.c | 99 + .../Common/platform/system_generic.c | 27 + .../DSP_Lib_TestSuite/Common/src/all_tests.c | 62 + .../Common/src/basic_math_tests/abs_tests.c | 32 + .../Common/src/basic_math_tests/add_tests.c | 33 + .../basic_math_test_common_data.c | 101 + .../basic_math_tests/basic_math_test_group.c | 17 + .../src/basic_math_tests/dot_prod_tests.c | 33 + .../Common/src/basic_math_tests/mult_tests.c | 33 + .../src/basic_math_tests/negate_tests.c | 32 + .../src/basic_math_tests/offset_tests.c | 33 + .../Common/src/basic_math_tests/scale_tests.c | 52 + .../Common/src/basic_math_tests/shift_tests.c | 31 + .../Common/src/basic_math_tests/sub_tests.c | 33 + .../src/complex_math_tests/cmplx_conj_tests.c | 31 + .../complex_math_tests/cmplx_dot_prod_tests.c | 31 + .../cmplx_mag_squared_tests.c | 31 + .../src/complex_math_tests/cmplx_mag_tests.c | 31 + .../cmplx_mult_cmplx_tests.c | 31 + .../complex_math_tests/cmplx_mult_real_test.c | 31 + .../complex_math_test_common_data.c | 114 + .../complex_math_test_group.c | 14 + .../controller_test_common_data.c | 499 + .../controller_tests/controller_test_group.c | 13 + .../src/controller_tests/pid_reset_tests.c | 52 + .../Common/src/controller_tests/pid_tests.c | 79 + .../src/controller_tests/sin_cos_tests.c | 151 + .../src/fast_math_tests/fast_math_tests.c | 38 + .../fast_math_tests_common_data.c | 370 + .../Common/src/filtering_tests/biquad_tests.c | 244 + .../Common/src/filtering_tests/conv_tests.c | 473 + .../src/filtering_tests/correlate_tests.c | 310 + .../filtering_test_common_data.c | 757 + .../filtering_tests/filtering_test_group.c | 17 + .../Common/src/filtering_tests/fir_tests.c | 402 + .../Common/src/filtering_tests/iir_tests.c | 76 + .../Common/src/filtering_tests/lms_tests.c | 219 + .../src/intrinsics_tests/intrinsics_tests.c | 62 + .../intrinsics_tests_common_data.c | 189 + .../DSP/DSP_Lib_TestSuite/Common/src/main.c | 31 + .../Common/src/math_helper.c | 509 + .../Common/src/matrix_tests/mat_add_tests.c | 31 + .../src/matrix_tests/mat_cmplx_mult_tests.c | 59 + .../Common/src/matrix_tests/mat_init_tests.c | 58 + .../src/matrix_tests/mat_inverse_tests.c | 92 + .../src/matrix_tests/mat_mult_fast_tests.c | 57 + .../Common/src/matrix_tests/mat_mult_tests.c | 59 + .../Common/src/matrix_tests/mat_scale_tests.c | 90 + .../Common/src/matrix_tests/mat_sub_tests.c | 34 + .../Common/src/matrix_tests/mat_trans_tests.c | 33 + .../matrix_tests/matrix_test_common_data.c | 259 + .../src/matrix_tests/matrix_test_group.c | 19 + .../Common/src/statistics_tests/max_tests.c | 36 + .../Common/src/statistics_tests/mean_tests.c | 36 + .../Common/src/statistics_tests/min_tests.c | 36 + .../Common/src/statistics_tests/power_tests.c | 36 + .../Common/src/statistics_tests/rms_tests.c | 34 + .../statistics_test_common_data.c | 94 + .../statistics_tests/statistics_test_group.c | 14 + .../Common/src/statistics_tests/std_tests.c | 34 + .../Common/src/statistics_tests/var_tests.c | 34 + .../Common/src/support_tests/copy_tests.c | 33 + .../Common/src/support_tests/fill_tests.c | 36 + .../support_tests/support_test_common_data.c | 85 + .../src/support_tests/support_test_group.c | 10 + .../Common/src/support_tests/x_to_y_tests.c | 80 + .../src/transform_tests/cfft_family_tests.c | 183 + .../Common/src/transform_tests/cfft_tests.c | 144 + .../Common/src/transform_tests/dct4_tests.c | 197 + .../src/transform_tests/rfft_fast_tests.c | 75 + .../Common/src/transform_tests/rfft_tests.c | 94 + .../transform_tests/transform_test_group.c | 11 + .../transform_tests_common_data.c | 3311 + .../DspLibTest_FVP/ARMv8MBLl_config.txt | 11 + .../DspLibTest_FVP/ARMv8MMLl_config.txt | 13 + .../DspLibTest_FVP/ARMv8MMLld_config.txt | 13 + .../DspLibTest_FVP/ARMv8MMLldfsp_config.txt | 13 + .../DspLibTest_FVP/ARMv8MMLlfsp_config.txt | 13 + .../DspLibTest_FVP/cortexM0l_config.txt | 8 + .../DspLibTest_FVP/cortexM3l_config.txt | 8 + .../DspLibTest_FVP/cortexM4l_config.txt | 9 + .../DspLibTest_FVP/cortexM4lf_config.txt | 9 + .../DspLibTest_FVP/cortexM7l_config.txt | 9 + .../DspLibTest_FVP/cortexM7lfdp_config.txt | 9 + .../DspLibTest_FVP/cortexM7lfsp_config.txt | 9 + .../DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.c | 63 + .../DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h | 578 + .../DspLibTest_FVP_A5/RTE/CMSIS/handlers.c | 153 + .../RTE/Device/ARMCA5/mem_ARMCA5.h | 94 + .../RTE/Device/ARMCA5/mmu_ARMCA5.c | 235 + .../RTE/Device/ARMCA5/startup_ARMCA5.c | 138 + .../RTE/Device/ARMCA5/system_ARMCA5.c | 93 + .../RTE/Device/ARMCA5/system_ARMCA5.h | 65 + .../DspLibTest_FVP_A5/RTE/RTE_Components.h | 20 + .../DspLibTest_FVP_A5/main.c | 34 + .../DspLibTest_MPS2/HowTo.txt | 29 + .../DspLibTest_SV_FVP/ARMv8MBLl_config.txt | 11 + .../DspLibTest_SV_FVP/ARMv8MMLl_config.txt | 13 + .../DspLibTest_SV_FVP/ARMv8MMLld_config.txt | 13 + .../ARMv8MMLldfsp_config.txt | 13 + .../DspLibTest_SV_FVP/ARMv8MMLlfsp_config.txt | 13 + .../DspLibTest_SV_FVP/cortexM0l_config.txt | 8 + .../DspLibTest_SV_FVP/cortexM3l_config.txt | 8 + .../DspLibTest_SV_FVP/cortexM4l_config.txt | 9 + .../DspLibTest_SV_FVP/cortexM4lf_config.txt | 9 + .../DspLibTest_SV_FVP/cortexM7l_config.txt | 9 + .../DspLibTest_SV_FVP/cortexM7lfdp_config.txt | 9 + .../DspLibTest_SV_FVP/cortexM7lfsp_config.txt | 9 + .../DspLibTest_SV_MPS2/ARMv8MBLl_config.txt | 11 + .../DspLibTest_SV_MPS2/ARMv8MMLl_config.txt | 13 + .../DspLibTest_SV_MPS2/ARMv8MMLld_config.txt | 13 + .../ARMv8MMLldfsp_config.txt | 13 + .../ARMv8MMLlfsp_config.txt | 13 + .../DspLibTest_SV_MPS2/cortexM0l_config.txt | 8 + .../DspLibTest_SV_MPS2/cortexM3l_config.txt | 8 + .../DspLibTest_SV_MPS2/cortexM4l_config.txt | 9 + .../DspLibTest_SV_MPS2/cortexM4lf_config.txt | 9 + .../DspLibTest_SV_MPS2/cortexM7l_config.txt | 9 + .../cortexM7lfdp_config.txt | 9 + .../cortexM7lfsp_config.txt | 9 + .../CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt | 137 + .../CMSIS/DSP/DSP_Lib_TestSuite/HowTo_SV.txt | 117 + .../DSP_Lib_TestSuite/RefLibs/CMakeLists.txt | 78 + .../DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h | 1401 + .../BasicMathFunctions/BasicMathFunctions.c | 11 + .../RefLibs/src/BasicMathFunctions/abs.c | 53 + .../RefLibs/src/BasicMathFunctions/add.c | 57 + .../RefLibs/src/BasicMathFunctions/dot_prod.c | 65 + .../RefLibs/src/BasicMathFunctions/mult.c | 64 + .../RefLibs/src/BasicMathFunctions/negate.c | 53 + .../RefLibs/src/BasicMathFunctions/offset.c | 57 + .../RefLibs/src/BasicMathFunctions/scale.c | 69 + .../RefLibs/src/BasicMathFunctions/shift.c | 73 + .../RefLibs/src/BasicMathFunctions/sub.c | 57 + .../ComplexMathFunctions.c | 8 + .../src/ComplexMathFunctions/cmplx_conj.c | 40 + .../src/ComplexMathFunctions/cmplx_dot_prod.c | 72 + .../src/ComplexMathFunctions/cmplx_mag.c | 49 + .../ComplexMathFunctions/cmplx_mag_squared.c | 46 + .../ComplexMathFunctions/cmplx_mult_cmplx.c | 56 + .../ComplexMathFunctions/cmplx_mult_real.c | 52 + .../ControllerFunctions/ControllerFunctions.c | 4 + .../RefLibs/src/ControllerFunctions/pid.c | 97 + .../RefLibs/src/ControllerFunctions/sin_cos.c | 21 + .../src/FastMathFunctions/FastMathFunctions.c | 5 + .../RefLibs/src/FastMathFunctions/cos.c | 11 + .../RefLibs/src/FastMathFunctions/sin.c | 11 + .../RefLibs/src/FastMathFunctions/sqrt.c | 15 + .../FilteringFunctions/FilteringFunctions.c | 12 + .../RefLibs/src/FilteringFunctions/biquad.c | 713 + .../RefLibs/src/FilteringFunctions/conv.c | 350 + .../src/FilteringFunctions/correlate.c | 513 + .../RefLibs/src/FilteringFunctions/fir.c | 325 + .../src/FilteringFunctions/fir_decimate.c | 386 + .../src/FilteringFunctions/fir_interpolate.c | 291 + .../src/FilteringFunctions/fir_lattice.c | 241 + .../src/FilteringFunctions/fir_sparse.c | 485 + .../src/FilteringFunctions/iir_lattice.c | 271 + .../RefLibs/src/FilteringFunctions/lms.c | 695 + .../src/HelperFunctions/HelperFunctions.c | 4 + .../RefLibs/src/HelperFunctions/mat_helper.c | 193 + .../RefLibs/src/HelperFunctions/ref_helper.c | 103 + .../RefLibs/src/Intrinsics/Intrinsics_.c | 3 + .../RefLibs/src/Intrinsics/intrinsics.c | 238 + .../src/MatrixFunctions/MatrixFunctions.c | 9 + .../RefLibs/src/MatrixFunctions/mat_add.c | 58 + .../src/MatrixFunctions/mat_cmplx_mult.c | 118 + .../RefLibs/src/MatrixFunctions/mat_inverse.c | 57 + .../RefLibs/src/MatrixFunctions/mat_mult.c | 91 + .../RefLibs/src/MatrixFunctions/mat_scale.c | 64 + .../RefLibs/src/MatrixFunctions/mat_sub.c | 58 + .../RefLibs/src/MatrixFunctions/mat_trans.c | 77 + .../StatisticsFunctions/StatisticsFunctions.c | 8 + .../RefLibs/src/StatisticsFunctions/max.c | 85 + .../RefLibs/src/StatisticsFunctions/mean.c | 61 + .../RefLibs/src/StatisticsFunctions/min.c | 85 + .../RefLibs/src/StatisticsFunctions/power.c | 61 + .../RefLibs/src/StatisticsFunctions/rms.c | 65 + .../RefLibs/src/StatisticsFunctions/std.c | 74 + .../RefLibs/src/StatisticsFunctions/var.c | 70 + .../src/SupportFunctions/SupportFunctions.c | 6 + .../RefLibs/src/SupportFunctions/copy.c | 53 + .../RefLibs/src/SupportFunctions/fill.c | 53 + .../src/SupportFunctions/fixed_to_fixed.c | 79 + .../src/SupportFunctions/fixed_to_float.c | 53 + .../src/SupportFunctions/float_to_fixed.c | 52 + .../TransformFunctions/TransformFunctions.c | 4 + .../src/TransformFunctions/bitreversal.c | 30 + .../RefLibs/src/TransformFunctions/cfft.c | 598 + .../RefLibs/src/TransformFunctions/dct4.c | 89 + .../RefLibs/src/TransformFunctions/rfft.c | 302 + .../ARM/arm_class_marks_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_class_marks_example_f32.c | 211 + .../ARM/arm_convolution_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_convolution_example_f32.c | 247 + .../ARM/arm_convolution_example/math_helper.c | 466 + .../ARM/arm_convolution_example/math_helper.h | 63 + .../ARM/arm_dotproduct_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_dotproduct_example_f32.c | 178 + .../ARM/arm_fft_bin_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_fft_bin_example/arm_fft_bin_data.c | 308 + .../arm_fft_bin_example_f32.c | 158 + .../Examples/ARM/arm_fir_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../ARM/arm_fir_example/arm_fir_data.c | 134 + .../ARM/arm_fir_example/arm_fir_example_f32.c | 233 + .../ARM/arm_fir_example/math_helper.c | 466 + .../ARM/arm_fir_example/math_helper.h | 63 + .../Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_graphic_equalizer_data.c | 134 + .../arm_graphic_equalizer_example_q31.c | 411 + .../math_helper.c | 466 + .../math_helper.h | 63 + .../arm_linear_interp_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_linear_interp_data.c | 23616 ++++ .../arm_linear_interp_example_f32.c | 204 + .../arm_linear_interp_example/math_helper.c | 466 + .../arm_linear_interp_example/math_helper.h | 63 + .../ARM/arm_matrix_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_matrix_example_f32.c | 233 + .../ARM/arm_matrix_example/math_helper.c | 466 + .../ARM/arm_matrix_example/math_helper.h | 63 + .../arm_signal_converge_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_signal_converge_data.c | 269 + .../arm_signal_converge_example_f32.c | 259 + .../arm_signal_converge_example/math_helper.c | 466 + .../arm_signal_converge_example/math_helper.h | 63 + .../ARM/arm_sin_cos_example/Abstract.txt | 4 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_sin_cos_example_f32.c | 161 + .../ARM/arm_variance_example/Abstract.txt | 4 + .../ARM/arm_variance_example/CMakeLists.txt | 46 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 159 + .../RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 163 + .../RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 163 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 163 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../arm_variance_example_f32.c | 225 + .../DSP/Examples/ARM/boot/RTE_Components.h | 5 + .../CMSIS/DSP/Include/arm_common_tables.h | 378 + .../CMSIS/DSP/Include/arm_const_structs.h | 66 + .../Drivers/CMSIS/DSP/Include/arm_math.h | 7361 + .../CMSIS/DSP/Lib/GCC/libarm_cortexM0l_math.a | Bin 0 -> 5267312 bytes .../CMSIS/DSP/Lib/IAR/iar_cortexM0b_math.a | Bin 0 -> 3260800 bytes .../CMSIS/DSP/Lib/IAR/iar_cortexM0l_math.a | Bin 0 -> 3255522 bytes .../cmsisdsp_pkg/src/cmsismodule.c | 408 + .../cmsisdsp_pkg/src/cmsismodule.h | 15360 +++ .../PythonWrapper/cmsisdsp_pkg/src/fftinit.c | 262 + .../BasicMathFunctions/BasicMathFunctions.c | 63 + .../Source/BasicMathFunctions/CMakeLists.txt | 16 + .../Source/BasicMathFunctions/arm_abs_f32.c | 146 + .../Source/BasicMathFunctions/arm_abs_q15.c | 132 + .../Source/BasicMathFunctions/arm_abs_q31.c | 132 + .../Source/BasicMathFunctions/arm_abs_q7.c | 134 + .../Source/BasicMathFunctions/arm_add_f32.c | 145 + .../Source/BasicMathFunctions/arm_add_q15.c | 126 + .../Source/BasicMathFunctions/arm_add_q31.c | 108 + .../Source/BasicMathFunctions/arm_add_q7.c | 109 + .../BasicMathFunctions/arm_dot_prod_f32.c | 163 + .../BasicMathFunctions/arm_dot_prod_q15.c | 120 + .../BasicMathFunctions/arm_dot_prod_q31.c | 115 + .../BasicMathFunctions/arm_dot_prod_q7.c | 139 + .../Source/BasicMathFunctions/arm_mult_f32.c | 148 + .../Source/BasicMathFunctions/arm_mult_q15.c | 143 + .../Source/BasicMathFunctions/arm_mult_q31.c | 119 + .../Source/BasicMathFunctions/arm_mult_q7.c | 119 + .../BasicMathFunctions/arm_negate_f32.c | 145 + .../BasicMathFunctions/arm_negate_q15.c | 126 + .../BasicMathFunctions/arm_negate_q31.c | 132 + .../Source/BasicMathFunctions/arm_negate_q7.c | 126 + .../BasicMathFunctions/arm_offset_f32.c | 147 + .../BasicMathFunctions/arm_offset_q15.c | 121 + .../BasicMathFunctions/arm_offset_q31.c | 128 + .../Source/BasicMathFunctions/arm_offset_q7.c | 116 + .../Source/BasicMathFunctions/arm_scale_f32.c | 159 + .../Source/BasicMathFunctions/arm_scale_q15.c | 144 + .../Source/BasicMathFunctions/arm_scale_q31.c | 191 + .../Source/BasicMathFunctions/arm_scale_q7.c | 129 + .../Source/BasicMathFunctions/arm_shift_q15.c | 201 + .../Source/BasicMathFunctions/arm_shift_q31.c | 181 + .../Source/BasicMathFunctions/arm_shift_q7.c | 175 + .../Source/BasicMathFunctions/arm_sub_f32.c | 148 + .../Source/BasicMathFunctions/arm_sub_q15.c | 126 + .../Source/BasicMathFunctions/arm_sub_q31.c | 108 + .../Source/BasicMathFunctions/arm_sub_q7.c | 109 + .../Drivers/CMSIS/DSP/Source/CMakeLists.txt | 223 + .../DSP/Source/CommonTables/CMakeLists.txt | 31 + .../DSP/Source/CommonTables/CommonTables.c | 31 + .../Source/CommonTables/arm_common_tables.c | 57215 ++++++++ .../Source/CommonTables/arm_const_structs.c | 486 + .../ComplexMathFunctions/CMakeLists.txt | 16 + .../ComplexMathFunctions.c | 46 + .../ComplexMathFunctions/arm_cmplx_conj_f32.c | 161 + .../ComplexMathFunctions/arm_cmplx_conj_q15.c | 157 + .../ComplexMathFunctions/arm_cmplx_conj_q31.c | 137 + .../arm_cmplx_dot_prod_f32.c | 233 + .../arm_cmplx_dot_prod_q15.c | 154 + .../arm_cmplx_dot_prod_q31.c | 153 + .../ComplexMathFunctions/arm_cmplx_mag_f32.c | 188 + .../ComplexMathFunctions/arm_cmplx_mag_q15.c | 162 + .../ComplexMathFunctions/arm_cmplx_mag_q31.c | 130 + .../arm_cmplx_mag_squared_f32.c | 184 + .../arm_cmplx_mag_squared_q15.c | 161 + .../arm_cmplx_mag_squared_q31.c | 129 + .../arm_cmplx_mult_cmplx_f32.c | 194 + .../arm_cmplx_mult_cmplx_q15.c | 136 + .../arm_cmplx_mult_cmplx_q31.c | 137 + .../arm_cmplx_mult_real_f32.c | 169 + .../arm_cmplx_mult_real_q15.c | 182 + .../arm_cmplx_mult_real_q31.c | 148 + .../Source/ControllerFunctions/CMakeLists.txt | 37 + .../ControllerFunctions/ControllerFunctions.c | 37 + .../ControllerFunctions/arm_pid_init_f32.c | 75 + .../ControllerFunctions/arm_pid_init_q15.c | 95 + .../ControllerFunctions/arm_pid_init_q31.c | 92 + .../ControllerFunctions/arm_pid_reset_f32.c | 54 + .../ControllerFunctions/arm_pid_reset_q15.c | 54 + .../ControllerFunctions/arm_pid_reset_q31.c | 54 + .../ControllerFunctions/arm_sin_cos_f32.c | 146 + .../ControllerFunctions/arm_sin_cos_q31.c | 110 + .../Source/FastMathFunctions/CMakeLists.txt | 51 + .../FastMathFunctions/FastMathFunctions.c | 37 + .../Source/FastMathFunctions/arm_cos_f32.c | 122 + .../Source/FastMathFunctions/arm_cos_q15.c | 84 + .../Source/FastMathFunctions/arm_cos_q31.c | 84 + .../Source/FastMathFunctions/arm_sin_f32.c | 122 + .../Source/FastMathFunctions/arm_sin_q15.c | 77 + .../Source/FastMathFunctions/arm_sin_q31.c | 77 + .../Source/FastMathFunctions/arm_sqrt_q15.c | 144 + .../Source/FastMathFunctions/arm_sqrt_q31.c | 144 + .../Source/FilteringFunctions/CMakeLists.txt | 128 + .../FilteringFunctions/FilteringFunctions.c | 127 + .../arm_biquad_cascade_df1_32x64_init_q31.c | 94 + .../arm_biquad_cascade_df1_32x64_q31.c | 458 + .../arm_biquad_cascade_df1_f32.c | 495 + .../arm_biquad_cascade_df1_fast_q15.c | 250 + .../arm_biquad_cascade_df1_fast_q31.c | 296 + .../arm_biquad_cascade_df1_init_f32.c | 91 + .../arm_biquad_cascade_df1_init_q15.c | 96 + .../arm_biquad_cascade_df1_init_q31.c | 95 + .../arm_biquad_cascade_df1_q15.c | 363 + .../arm_biquad_cascade_df1_q31.c | 247 + .../arm_biquad_cascade_df2T_f32.c | 523 + .../arm_biquad_cascade_df2T_f64.c | 443 + .../arm_biquad_cascade_df2T_init_f32.c | 211 + .../arm_biquad_cascade_df2T_init_f64.c | 86 + .../arm_biquad_cascade_stereo_df2T_f32.c | 285 + .../arm_biquad_cascade_stereo_df2T_init_f32.c | 86 + .../Source/FilteringFunctions/arm_conv_f32.c | 816 + .../arm_conv_fast_opt_q15.c | 366 + .../FilteringFunctions/arm_conv_fast_q15.c | 663 + .../FilteringFunctions/arm_conv_fast_q31.c | 558 + .../FilteringFunctions/arm_conv_opt_q15.c | 362 + .../FilteringFunctions/arm_conv_opt_q7.c | 360 + .../FilteringFunctions/arm_conv_partial_f32.c | 676 + .../arm_conv_partial_fast_opt_q15.c | 387 + .../arm_conv_partial_fast_q15.c | 700 + .../arm_conv_partial_fast_q31.c | 618 + .../arm_conv_partial_opt_q15.c | 386 + .../arm_conv_partial_opt_q7.c | 390 + .../FilteringFunctions/arm_conv_partial_q15.c | 752 + .../FilteringFunctions/arm_conv_partial_q31.c | 634 + .../FilteringFunctions/arm_conv_partial_q7.c | 753 + .../Source/FilteringFunctions/arm_conv_q15.c | 696 + .../Source/FilteringFunctions/arm_conv_q31.c | 581 + .../Source/FilteringFunctions/arm_conv_q7.c | 700 + .../FilteringFunctions/arm_correlate_f32.c | 893 + .../arm_correlate_fast_opt_q15.c | 345 + .../arm_correlate_fast_q15.c | 614 + .../arm_correlate_fast_q31.c | 601 + .../arm_correlate_opt_q15.c | 341 + .../FilteringFunctions/arm_correlate_opt_q7.c | 388 + .../FilteringFunctions/arm_correlate_q15.c | 696 + .../FilteringFunctions/arm_correlate_q31.c | 682 + .../FilteringFunctions/arm_correlate_q7.c | 800 + .../FilteringFunctions/arm_fir_decimate_f32.c | 703 + .../arm_fir_decimate_fast_q15.c | 595 + .../arm_fir_decimate_fast_q31.c | 390 + .../arm_fir_decimate_init_f32.c | 105 + .../arm_fir_decimate_init_q15.c | 106 + .../arm_fir_decimate_init_q31.c | 105 + .../FilteringFunctions/arm_fir_decimate_q15.c | 595 + .../FilteringFunctions/arm_fir_decimate_q31.c | 387 + .../Source/FilteringFunctions/arm_fir_f32.c | 715 + .../FilteringFunctions/arm_fir_fast_q15.c | 332 + .../FilteringFunctions/arm_fir_fast_q31.c | 324 + .../FilteringFunctions/arm_fir_init_f32.c | 81 + .../FilteringFunctions/arm_fir_init_q15.c | 137 + .../FilteringFunctions/arm_fir_init_q31.c | 80 + .../FilteringFunctions/arm_fir_init_q7.c | 81 + .../arm_fir_interpolate_f32.c | 914 + .../arm_fir_interpolate_init_f32.c | 106 + .../arm_fir_interpolate_init_q15.c | 106 + .../arm_fir_interpolate_init_q31.c | 105 + .../arm_fir_interpolate_q15.c | 479 + .../arm_fir_interpolate_q31.c | 481 + .../FilteringFunctions/arm_fir_lattice_f32.c | 453 + .../arm_fir_lattice_init_f32.c | 70 + .../arm_fir_lattice_init_q15.c | 70 + .../arm_fir_lattice_init_q31.c | 70 + .../FilteringFunctions/arm_fir_lattice_q15.c | 506 + .../FilteringFunctions/arm_fir_lattice_q31.c | 505 + .../Source/FilteringFunctions/arm_fir_q15.c | 332 + .../Source/FilteringFunctions/arm_fir_q31.c | 288 + .../Source/FilteringFunctions/arm_fir_q7.c | 323 + .../FilteringFunctions/arm_fir_sparse_f32.c | 341 + .../arm_fir_sparse_init_f32.c | 93 + .../arm_fir_sparse_init_q15.c | 93 + .../arm_fir_sparse_init_q31.c | 92 + .../arm_fir_sparse_init_q7.c | 93 + .../FilteringFunctions/arm_fir_sparse_q15.c | 341 + .../FilteringFunctions/arm_fir_sparse_q31.c | 357 + .../FilteringFunctions/arm_fir_sparse_q7.c | 341 + .../FilteringFunctions/arm_iir_lattice_f32.c | 354 + .../arm_iir_lattice_init_f32.c | 77 + .../arm_iir_lattice_init_q15.c | 77 + .../arm_iir_lattice_init_q31.c | 77 + .../FilteringFunctions/arm_iir_lattice_q15.c | 396 + .../FilteringFunctions/arm_iir_lattice_q31.c | 356 + .../Source/FilteringFunctions/arm_lms_f32.c | 533 + .../FilteringFunctions/arm_lms_init_f32.c | 81 + .../FilteringFunctions/arm_lms_init_q15.c | 92 + .../FilteringFunctions/arm_lms_init_q31.c | 92 + .../FilteringFunctions/arm_lms_norm_f32.c | 564 + .../arm_lms_norm_init_f32.c | 92 + .../arm_lms_norm_init_q15.c | 98 + .../arm_lms_norm_init_q31.c | 97 + .../FilteringFunctions/arm_lms_norm_q15.c | 297 + .../FilteringFunctions/arm_lms_norm_q31.c | 311 + .../Source/FilteringFunctions/arm_lms_q15.c | 262 + .../Source/FilteringFunctions/arm_lms_q31.c | 283 + .../DSP/Source/MatrixFunctions/CMakeLists.txt | 16 + .../Source/MatrixFunctions/MatrixFunctions.c | 53 + .../Source/MatrixFunctions/arm_mat_add_f32.c | 232 + .../Source/MatrixFunctions/arm_mat_add_q15.c | 149 + .../Source/MatrixFunctions/arm_mat_add_q31.c | 139 + .../MatrixFunctions/arm_mat_cmplx_mult_f32.c | 631 + .../MatrixFunctions/arm_mat_cmplx_mult_q15.c | 340 + .../MatrixFunctions/arm_mat_cmplx_mult_q31.c | 283 + .../Source/MatrixFunctions/arm_mat_init_f32.c | 76 + .../Source/MatrixFunctions/arm_mat_init_q15.c | 67 + .../Source/MatrixFunctions/arm_mat_init_q31.c | 72 + .../MatrixFunctions/arm_mat_inverse_f32.c | 1127 + .../MatrixFunctions/arm_mat_inverse_f64.c | 673 + .../Source/MatrixFunctions/arm_mat_mult_f32.c | 534 + .../MatrixFunctions/arm_mat_mult_fast_q15.c | 483 + .../MatrixFunctions/arm_mat_mult_fast_q31.c | 374 + .../Source/MatrixFunctions/arm_mat_mult_q15.c | 357 + .../Source/MatrixFunctions/arm_mat_mult_q31.c | 196 + .../MatrixFunctions/arm_mat_scale_f32.c | 221 + .../MatrixFunctions/arm_mat_scale_q15.c | 170 + .../MatrixFunctions/arm_mat_scale_q31.c | 164 + .../Source/MatrixFunctions/arm_mat_sub_f32.c | 226 + .../Source/MatrixFunctions/arm_mat_sub_q15.c | 144 + .../Source/MatrixFunctions/arm_mat_sub_q31.c | 139 + .../MatrixFunctions/arm_mat_trans_f32.c | 284 + .../MatrixFunctions/arm_mat_trans_q15.c | 182 + .../MatrixFunctions/arm_mat_trans_q31.c | 146 + .../Source/StatisticsFunctions/CMakeLists.txt | 16 + .../StatisticsFunctions/StatisticsFunctions.c | 53 + .../Source/StatisticsFunctions/arm_max_f32.c | 271 + .../Source/StatisticsFunctions/arm_max_q15.c | 148 + .../Source/StatisticsFunctions/arm_max_q31.c | 148 + .../Source/StatisticsFunctions/arm_max_q7.c | 148 + .../Source/StatisticsFunctions/arm_mean_f32.c | 166 + .../Source/StatisticsFunctions/arm_mean_q15.c | 114 + .../Source/StatisticsFunctions/arm_mean_q31.c | 110 + .../Source/StatisticsFunctions/arm_mean_q7.c | 112 + .../Source/StatisticsFunctions/arm_min_f32.c | 268 + .../Source/StatisticsFunctions/arm_min_q15.c | 149 + .../Source/StatisticsFunctions/arm_min_q31.c | 149 + .../Source/StatisticsFunctions/arm_min_q7.c | 149 + .../StatisticsFunctions/arm_power_f32.c | 175 + .../StatisticsFunctions/arm_power_q15.c | 132 + .../StatisticsFunctions/arm_power_q31.c | 121 + .../Source/StatisticsFunctions/arm_power_q7.c | 136 + .../Source/StatisticsFunctions/arm_rms_f32.c | 176 + .../Source/StatisticsFunctions/arm_rms_q15.c | 134 + .../Source/StatisticsFunctions/arm_rms_q31.c | 124 + .../Source/StatisticsFunctions/arm_std_f32.c | 188 + .../Source/StatisticsFunctions/arm_std_q15.c | 161 + .../Source/StatisticsFunctions/arm_std_q31.c | 147 + .../Source/StatisticsFunctions/arm_var_f32.c | 234 + .../Source/StatisticsFunctions/arm_var_q15.c | 164 + .../Source/StatisticsFunctions/arm_var_q31.c | 147 + .../Source/SupportFunctions/CMakeLists.txt | 16 + .../SupportFunctions/SupportFunctions.c | 48 + .../Source/SupportFunctions/arm_copy_f32.c | 152 + .../Source/SupportFunctions/arm_copy_q15.c | 96 + .../Source/SupportFunctions/arm_copy_q31.c | 98 + .../DSP/Source/SupportFunctions/arm_copy_q7.c | 95 + .../Source/SupportFunctions/arm_fill_f32.c | 151 + .../Source/SupportFunctions/arm_fill_q15.c | 100 + .../Source/SupportFunctions/arm_fill_q31.c | 98 + .../DSP/Source/SupportFunctions/arm_fill_q7.c | 99 + .../SupportFunctions/arm_float_to_q15.c | 244 + .../SupportFunctions/arm_float_to_q31.c | 252 + .../Source/SupportFunctions/arm_float_to_q7.c | 253 + .../SupportFunctions/arm_q15_to_float.c | 166 + .../Source/SupportFunctions/arm_q15_to_q31.c | 138 + .../Source/SupportFunctions/arm_q15_to_q7.c | 146 + .../SupportFunctions/arm_q31_to_float.c | 159 + .../Source/SupportFunctions/arm_q31_to_q15.c | 134 + .../Source/SupportFunctions/arm_q31_to_q7.c | 110 + .../Source/SupportFunctions/arm_q7_to_float.c | 179 + .../Source/SupportFunctions/arm_q7_to_q15.c | 143 + .../Source/SupportFunctions/arm_q7_to_q31.c | 121 + .../Source/TransformFunctions/CMakeLists.txt | 116 + .../TransformFunctions/TransformFunctions.c | 60 + .../TransformFunctions/arm_bitreversal.c | 229 + .../TransformFunctions/arm_bitreversal2.S | 216 + .../TransformFunctions/arm_bitreversal2.c | 99 + .../Source/TransformFunctions/arm_cfft_f32.c | 629 + .../Source/TransformFunctions/arm_cfft_q15.c | 332 + .../Source/TransformFunctions/arm_cfft_q31.c | 254 + .../TransformFunctions/arm_cfft_radix2_f32.c | 470 + .../arm_cfft_radix2_init_f32.c | 197 + .../arm_cfft_radix2_init_q15.c | 182 + .../arm_cfft_radix2_init_q31.c | 179 + .../TransformFunctions/arm_cfft_radix2_q15.c | 689 + .../TransformFunctions/arm_cfft_radix2_q31.c | 337 + .../TransformFunctions/arm_cfft_radix4_f32.c | 1200 + .../arm_cfft_radix4_init_f32.c | 156 + .../arm_cfft_radix4_init_q15.c | 145 + .../arm_cfft_radix4_init_q31.c | 141 + .../TransformFunctions/arm_cfft_radix4_q15.c | 1809 + .../TransformFunctions/arm_cfft_radix4_q31.c | 827 + .../TransformFunctions/arm_cfft_radix8_f32.c | 285 + .../Source/TransformFunctions/arm_dct4_f32.c | 448 + .../TransformFunctions/arm_dct4_init_f32.c | 131 + .../TransformFunctions/arm_dct4_init_q15.c | 130 + .../TransformFunctions/arm_dct4_init_q31.c | 130 + .../Source/TransformFunctions/arm_dct4_q15.c | 381 + .../Source/TransformFunctions/arm_dct4_q31.c | 383 + .../Source/TransformFunctions/arm_rfft_f32.c | 309 + .../TransformFunctions/arm_rfft_fast_f32.c | 320 + .../arm_rfft_fast_init_f32.c | 344 + .../TransformFunctions/arm_rfft_init_f32.c | 139 + .../TransformFunctions/arm_rfft_init_q15.c | 158 + .../TransformFunctions/arm_rfft_init_q31.c | 160 + .../Source/TransformFunctions/arm_rfft_q15.c | 380 + .../Source/TransformFunctions/arm_rfft_q31.c | 292 + .../Device/ST/STM32G0xx/Include/stm32g030xx.h | 7335 + .../Device/ST/STM32G0xx/Include/stm32g031xx.h | 7876 ++ .../Device/ST/STM32G0xx/Include/stm32g041xx.h | 8184 ++ .../Device/ST/STM32G0xx/Include/stm32g050xx.h | 7459 + .../Device/ST/STM32G0xx/Include/stm32g051xx.h | 8411 ++ .../Device/ST/STM32G0xx/Include/stm32g061xx.h | 8719 ++ .../Device/ST/STM32G0xx/Include/stm32g070xx.h | 7621 ++ .../Device/ST/STM32G0xx/Include/stm32g071xx.h | 9149 ++ .../Device/ST/STM32G0xx/Include/stm32g081xx.h | 9457 ++ .../Device/ST/STM32G0xx/Include/stm32g0b0xx.h | 9240 ++ .../Device/ST/STM32G0xx/Include/stm32g0b1xx.h | 11170 ++ .../Device/ST/STM32G0xx/Include/stm32g0c1xx.h | 11478 ++ .../Device/ST/STM32G0xx/Include/stm32g0xx.h | 249 + .../ST/STM32G0xx/Include/system_stm32g0xx.h | 104 + .../CMSIS/Device/ST/STM32G0xx/LICENSE.txt | 6 + .../Templates/arm/startup_stm32g030xx.s | 236 + .../Templates/arm/startup_stm32g031xx.s | 246 + .../Templates/arm/startup_stm32g041xx.s | 248 + .../Templates/arm/startup_stm32g050xx.s | 239 + .../Templates/arm/startup_stm32g051xx.s | 248 + .../Templates/arm/startup_stm32g061xx.s | 250 + .../Templates/arm/startup_stm32g070xx.s | 242 + .../Templates/arm/startup_stm32g071xx.s | 251 + .../Templates/arm/startup_stm32g081xx.s | 254 + .../Templates/arm/startup_stm32g0b0xx.s | 244 + .../Templates/arm/startup_stm32g0b1xx.s | 251 + .../Templates/arm/startup_stm32g0c1xx.s | 254 + .../Templates/gcc/startup_stm32g030xx.s | 273 + .../Templates/gcc/startup_stm32g031xx.s | 289 + .../Templates/gcc/startup_stm32g041xx.s | 293 + .../Templates/gcc/startup_stm32g050xx.s | 281 + .../Templates/gcc/startup_stm32g051xx.s | 291 + .../Templates/gcc/startup_stm32g061xx.s | 296 + .../Templates/gcc/startup_stm32g070xx.s | 285 + .../Templates/gcc/startup_stm32g071xx.s | 298 + .../Templates/gcc/startup_stm32g081xx.s | 302 + .../Templates/gcc/startup_stm32g0b0xx.s | 288 + .../Templates/gcc/startup_stm32g0b1xx.s | 298 + .../Templates/gcc/startup_stm32g0c1xx.s | 302 + .../iar/linker/stm32g030xx_flash.icf | 33 + .../Templates/iar/linker/stm32g030xx_sram.icf | 33 + .../iar/linker/stm32g031xx_flash.icf | 33 + .../Templates/iar/linker/stm32g031xx_sram.icf | 33 + .../iar/linker/stm32g041xx_flash.icf | 33 + .../Templates/iar/linker/stm32g041xx_sram.icf | 33 + .../iar/linker/stm32g050xx_flash.icf | 33 + .../Templates/iar/linker/stm32g050xx_sram.icf | 33 + .../iar/linker/stm32g051xx_flash.icf | 33 + .../Templates/iar/linker/stm32g051xx_sram.icf | 33 + .../iar/linker/stm32g061xx_flash.icf | 33 + .../Templates/iar/linker/stm32g061xx_sram.icf | 33 + .../iar/linker/stm32g070xx_flash.icf | 33 + .../Templates/iar/linker/stm32g070xx_sram.icf | 33 + .../iar/linker/stm32g071xx_flash.icf | 33 + .../Templates/iar/linker/stm32g071xx_sram.icf | 33 + .../iar/linker/stm32g081xx_flash.icf | 33 + .../Templates/iar/linker/stm32g081xx_sram.icf | 31 + .../iar/linker/stm32g0b0xx_flash.icf | 34 + .../Templates/iar/linker/stm32g0b0xx_sram.icf | 31 + .../iar/linker/stm32g0b1xx_flash.icf | 34 + .../Templates/iar/linker/stm32g0b1xx_sram.icf | 31 + .../iar/linker/stm32g0c1xx_flash.icf | 34 + .../Templates/iar/linker/stm32g0c1xx_sram.icf | 31 + .../Templates/iar/startup_stm32g030xx.s | 260 + .../Templates/iar/startup_stm32g031xx.s | 285 + .../Templates/iar/startup_stm32g041xx.s | 290 + .../Templates/iar/startup_stm32g050xx.s | 275 + .../Templates/iar/startup_stm32g051xx.s | 290 + .../Templates/iar/startup_stm32g061xx.s | 295 + .../Templates/iar/startup_stm32g070xx.s | 278 + .../Templates/iar/startup_stm32g071xx.s | 299 + .../Templates/iar/startup_stm32g081xx.s | 305 + .../Templates/iar/startup_stm32g0b0xx.s | 283 + .../Templates/iar/startup_stm32g0b1xx.s | 299 + .../Templates/iar/startup_stm32g0c1xx.s | 305 + .../Source/Templates/system_stm32g0xx.c | 304 + .../Drivers/CMSIS/Include/cmsis_armcc.h | 894 + .../Drivers/CMSIS/Include/cmsis_armclang.h | 1444 + .../CMSIS/Include/cmsis_armclang_ltm.h | 1891 + .../Drivers/CMSIS/Include/cmsis_compiler.h | 283 + .../Drivers/CMSIS/Include/cmsis_gcc.h | 2168 + .../Drivers/CMSIS/Include/cmsis_iccarm.h | 964 + .../Drivers/CMSIS/Include/cmsis_version.h | 39 + .../Drivers/CMSIS/Include/core_armv81mml.h | 2968 + .../Drivers/CMSIS/Include/core_armv8mbl.h | 1921 + .../Drivers/CMSIS/Include/core_armv8mml.h | 2835 + .../Drivers/CMSIS/Include/core_cm0.h | 952 + .../Drivers/CMSIS/Include/core_cm0plus.h | 1085 + .../Drivers/CMSIS/Include/core_cm1.h | 979 + .../Drivers/CMSIS/Include/core_cm23.h | 1996 + .../Drivers/CMSIS/Include/core_cm3.h | 1937 + .../Drivers/CMSIS/Include/core_cm33.h | 2910 + .../Drivers/CMSIS/Include/core_cm35p.h | 2910 + .../Drivers/CMSIS/Include/core_cm4.h | 2124 + .../Drivers/CMSIS/Include/core_cm7.h | 2725 + .../Drivers/CMSIS/Include/core_sc000.h | 1025 + .../Drivers/CMSIS/Include/core_sc300.h | 1912 + .../Drivers/CMSIS/Include/mpu_armv7.h | 272 + .../Drivers/CMSIS/Include/mpu_armv8.h | 346 + .../Drivers/CMSIS/Include/tz_context.h | 70 + .../Drivers/CMSIS/LICENSE.txt | 201 + .../cifar10/RTE/Compiler/EventRecorderConf.h | 44 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 242 + .../cifar10/RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 262 + .../cifar10/RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 262 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.c | 295 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 262 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../cifar10/RTE/_ARMCM0/RTE_Components.h | 24 + .../cifar10/RTE/_ARMCM3/RTE_Components.h | 22 + .../cifar10/RTE/_ARMCM4_FP/RTE_Components.h | 22 + .../cifar10/RTE/_ARMCM7_SP/RTE_Components.h | 22 + .../cifar10/arm_nnexamples_cifar10.cpp | 196 + .../cifar10/arm_nnexamples_cifar10_inputs.h | 6 + .../arm_nnexamples_cifar10_parameter.h | 43 + .../cifar10/arm_nnexamples_cifar10_weights.h | 26 + .../ARM/arm_nn_examples/cifar10/readme.txt | 4 + .../gru/RTE/Compiler/EventRecorderConf.h | 44 + .../gru/RTE/Device/ARMCM0/startup_ARMCM0.s | 242 + .../gru/RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../gru/RTE/Device/ARMCM3/startup_ARMCM3.s | 262 + .../gru/RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../gru/RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 262 + .../gru/RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../gru/RTE/Device/ARMCM7_SP/startup_ARMCM7.c | 295 + .../gru/RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 262 + .../gru/RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../gru/RTE/_ARMCM0/RTE_Components.h | 24 + .../gru/RTE/_ARMCM3/RTE_Components.h | 22 + .../gru/RTE/_ARMCM4_FP/RTE_Components.h | 22 + .../gru/RTE/_ARMCM7_SP/RTE_Components.h | 22 + .../gru/arm_nnexamples_gru.cpp | 221 + .../gru/arm_nnexamples_gru_test_data.h | 23 + .../ARM/arm_nn_examples/gru/readme.txt | 4 + .../arm_nnexamples_cifar10.cpp | 196 + .../arm_nnexamples_cifar10_inputs.h | 6 + .../arm_nnexamples_cifar10_parameter.h | 43 + .../arm_nnexamples_cifar10_weights.h | 26 + .../NN-example-cifar10/readme_iar.txt | 7 + .../NN-example-gru/arm_nnexamples_gru.cpp | 221 + .../arm_nnexamples_gru_test_data.h | 23 + .../NN-example-gru/readme_iar.txt | 7 + .../Drivers/CMSIS/NN/Include/arm_nn_tables.h | 56 + .../CMSIS/NN/Include/arm_nnfunctions.h | 1075 + .../CMSIS/NN/Include/arm_nnsupportfunctions.h | 269 + .../RTE/Device/ARMCM0/startup_ARMCM0.s | 242 + .../nn_test/RTE/Device/ARMCM0/system_ARMCM0.c | 56 + .../RTE/Device/ARMCM3/startup_ARMCM3.s | 262 + .../nn_test/RTE/Device/ARMCM3/system_ARMCM3.c | 68 + .../RTE/Device/ARMCM4/startup_ARMCM4.s | 262 + .../nn_test/RTE/Device/ARMCM4/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM4_FP/startup_ARMCM4.s | 262 + .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 83 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.c | 295 + .../RTE/Device/ARMCM7_SP/startup_ARMCM7.s | 262 + .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 85 + .../STM32F411RETx/startup_stm32f411xe.s | 395 + .../Device/STM32F411RETx/system_stm32f4xx.c | 763 + .../nn_test/RTE/_ARMCM0/RTE_Components.h | 20 + .../nn_test/RTE/_ARMCM3/RTE_Components.h | 26 + .../nn_test/RTE/_ARMCM4_FP/RTE_Components.h | 26 + .../nn_test/RTE/_ARMCM7_SP/RTE_Components.h | 26 + .../arm_convolve_HWC_q15_ref.c | 71 + .../arm_convolve_HWC_q15_ref_nonsquare.c | 83 + .../arm_convolve_HWC_q7_ref.c | 72 + .../arm_convolve_HWC_q7_ref_nonsquare.c | 78 + .../arm_depthwise_separable_conv_HWC_q7_ref.c | 70 + ...wise_separable_conv_HWC_q7_ref_nonsquare.c | 75 + ...m_fully_connected_mat_q7_vec_q15_opt_ref.c | 120 + .../arm_fully_connected_mat_q7_vec_q15_ref.c | 43 + .../arm_fully_connected_q15_opt_ref.c | 119 + .../arm_fully_connected_q15_ref.c | 43 + .../arm_fully_connected_q7_opt_ref.c | 138 + .../arm_fully_connected_q7_ref.c | 43 + .../Ref_Implementations/arm_nn_mult_ref.c | 58 + .../Ref_Implementations/arm_pool_ref.c | 96 + .../Ref_Implementations/arm_relu_ref.c | 42 + .../fully_connected_testing_weights.h | 7 + .../Ref_Implementations/ref_functions.h | 250 + .../nn_test/arm_nnexamples_nn_test.cpp | 801 + .../nn_test/arm_nnexamples_nn_test.h | 78 + .../CMSIS/NN/NN_Lib_Tests/nn_test/readme.txt | 4 + .../arm_nn_activations_q15.c | 101 + .../arm_nn_activations_q7.c | 91 + .../Source/ActivationFunctions/arm_relu_q15.c | 106 + .../Source/ActivationFunctions/arm_relu_q7.c | 110 + .../arm_convolve_1x1_HWC_q7_fast_nonsquare.c | 235 + .../arm_convolve_HWC_q15_basic.c | 207 + .../arm_convolve_HWC_q15_fast.c | 255 + .../arm_convolve_HWC_q15_fast_nonsquare.c | 265 + .../arm_convolve_HWC_q7_RGB.c | 279 + .../arm_convolve_HWC_q7_basic.c | 230 + .../arm_convolve_HWC_q7_basic_nonsquare.c | 228 + .../arm_convolve_HWC_q7_fast.c | 408 + .../arm_convolve_HWC_q7_fast_nonsquare.c | 379 + .../arm_depthwise_conv_u8_basic_ver1.c | 239 + .../arm_depthwise_separable_conv_HWC_q7.c | 418 + ...epthwise_separable_conv_HWC_q7_nonsquare.c | 411 + .../arm_nn_mat_mult_kernel_q7_q15.c | 187 + .../arm_nn_mat_mult_kernel_q7_q15_reordered.c | 138 + .../arm_fully_connected_mat_q7_vec_q15.c | 199 + .../arm_fully_connected_mat_q7_vec_q15_opt.c | 403 + .../arm_fully_connected_q15.c | 193 + .../arm_fully_connected_q15_opt.c | 332 + .../arm_fully_connected_q7.c | 198 + .../arm_fully_connected_q7_opt.c | 484 + .../NNSupportFunctions/arm_nn_mult_q15.c | 147 + .../NNSupportFunctions/arm_nn_mult_q7.c | 119 + .../Source/NNSupportFunctions/arm_nntables.c | 297 + .../arm_q7_to_q15_no_shift.c | 134 + .../arm_q7_to_q15_reordered_no_shift.c | 145 + .../Source/PoolingFunctions/arm_pool_q7_HWC.c | 460 + .../Source/SoftmaxFunctions/arm_softmax_q15.c | 120 + .../Source/SoftmaxFunctions/arm_softmax_q7.c | 121 + .../Drivers/CMSIS/RTOS/Template/cmsis_os.h | 698 + .../Drivers/CMSIS/RTOS2/Include/cmsis_os2.h | 756 + .../Drivers/CMSIS/RTOS2/Include/os_tick.h | 71 + .../Drivers/CMSIS/RTOS2/Source/os_systick.c | 132 + .../Drivers/CMSIS/RTOS2/Source/os_tick_gtim.c | 187 + .../Drivers/CMSIS/RTOS2/Source/os_tick_ptim.c | 165 + .../Drivers/CMSIS/RTOS2/Template/cmsis_os.h | 922 + .../Drivers/CMSIS/RTOS2/Template/cmsis_os1.c | 361 + .../CMSIS/docs/General/html/LICENSE.txt | 201 + .../Inc/Legacy/stm32_hal_legacy.h | 3830 + .../Inc/stm32_assert_template.h | 57 + .../STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal.h | 839 + .../Inc/stm32g0xx_hal_adc.h | 1755 + .../Inc/stm32g0xx_hal_adc_ex.h | 189 + .../Inc/stm32g0xx_hal_cec.h | 794 + .../Inc/stm32g0xx_hal_comp.h | 884 + .../Inc/stm32g0xx_hal_conf_template.h | 356 + .../Inc/stm32g0xx_hal_cortex.h | 387 + .../Inc/stm32g0xx_hal_crc.h | 345 + .../Inc/stm32g0xx_hal_crc_ex.h | 153 + .../Inc/stm32g0xx_hal_cryp.h | 648 + .../Inc/stm32g0xx_hal_cryp_ex.h | 133 + .../Inc/stm32g0xx_hal_dac.h | 533 + .../Inc/stm32g0xx_hal_dac_ex.h | 231 + .../Inc/stm32g0xx_hal_def.h | 214 + .../Inc/stm32g0xx_hal_dma.h | 803 + .../Inc/stm32g0xx_hal_dma_ex.h | 280 + .../Inc/stm32g0xx_hal_exti.h | 389 + .../Inc/stm32g0xx_hal_fdcan.h | 1438 + .../Inc/stm32g0xx_hal_flash.h | 1036 + .../Inc/stm32g0xx_hal_flash_ex.h | 119 + .../Inc/stm32g0xx_hal_gpio.h | 364 + .../Inc/stm32g0xx_hal_gpio_ex.h | 838 + .../Inc/stm32g0xx_hal_hcd.h | 562 + .../Inc/stm32g0xx_hal_i2c.h | 838 + .../Inc/stm32g0xx_hal_i2c_ex.h | 180 + .../Inc/stm32g0xx_hal_i2s.h | 556 + .../Inc/stm32g0xx_hal_irda.h | 893 + .../Inc/stm32g0xx_hal_irda_ex.h | 298 + .../Inc/stm32g0xx_hal_iwdg.h | 240 + .../Inc/stm32g0xx_hal_lptim.h | 859 + .../Inc/stm32g0xx_hal_pcd.h | 637 + .../Inc/stm32g0xx_hal_pcd_ex.h | 91 + .../Inc/stm32g0xx_hal_pwr.h | 328 + .../Inc/stm32g0xx_hal_pwr_ex.h | 643 + .../Inc/stm32g0xx_hal_rcc.h | 3138 + .../Inc/stm32g0xx_hal_rcc_ex.h | 1593 + .../Inc/stm32g0xx_hal_rng.h | 381 + .../Inc/stm32g0xx_hal_rtc.h | 975 + .../Inc/stm32g0xx_hal_rtc_ex.h | 1157 + .../Inc/stm32g0xx_hal_smartcard.h | 1138 + .../Inc/stm32g0xx_hal_smartcard_ex.h | 494 + .../Inc/stm32g0xx_hal_smbus.h | 791 + .../Inc/stm32g0xx_hal_smbus_ex.h | 148 + .../Inc/stm32g0xx_hal_spi.h | 852 + .../Inc/stm32g0xx_hal_spi_ex.h | 75 + .../Inc/stm32g0xx_hal_tim.h | 2439 + .../Inc/stm32g0xx_hal_tim_ex.h | 495 + .../Inc/stm32g0xx_hal_uart.h | 1724 + .../Inc/stm32g0xx_hal_uart_ex.h | 771 + .../Inc/stm32g0xx_hal_usart.h | 909 + .../Inc/stm32g0xx_hal_usart_ex.h | 464 + .../Inc/stm32g0xx_hal_wwdg.h | 309 + .../Inc/stm32g0xx_ll_adc.h | 5163 + .../Inc/stm32g0xx_ll_bus.h | 1313 + .../Inc/stm32g0xx_ll_comp.h | 971 + .../Inc/stm32g0xx_ll_cortex.h | 587 + .../Inc/stm32g0xx_ll_crc.h | 464 + .../Inc/stm32g0xx_ll_crs.h | 783 + .../Inc/stm32g0xx_ll_dac.h | 1775 + .../Inc/stm32g0xx_ll_dma.h | 2272 + .../Inc/stm32g0xx_ll_dmamux.h | 1828 + .../Inc/stm32g0xx_ll_exti.h | 1559 + .../Inc/stm32g0xx_ll_gpio.h | 960 + .../Inc/stm32g0xx_ll_i2c.h | 2275 + .../Inc/stm32g0xx_ll_iwdg.h | 341 + .../Inc/stm32g0xx_ll_lptim.h | 1473 + .../Inc/stm32g0xx_ll_lpuart.h | 2664 + .../Inc/stm32g0xx_ll_pwr.h | 1529 + .../Inc/stm32g0xx_ll_rcc.h | 3886 + .../Inc/stm32g0xx_ll_rng.h | 401 + .../Inc/stm32g0xx_ll_rtc.h | 4216 + .../Inc/stm32g0xx_ll_spi.h | 2286 + .../Inc/stm32g0xx_ll_system.h | 2084 + .../Inc/stm32g0xx_ll_tim.h | 5277 + .../Inc/stm32g0xx_ll_ucpd.h | 1857 + .../Inc/stm32g0xx_ll_usart.h | 4403 + .../Inc/stm32g0xx_ll_usb.h | 890 + .../Inc/stm32g0xx_ll_utils.h | 345 + .../Inc/stm32g0xx_ll_wwdg.h | 331 + .../STM32G0xx_HAL_Driver/Src/stm32g0xx_hal.c | 759 + .../Src/stm32g0xx_hal_adc.c | 3001 + .../Src/stm32g0xx_hal_adc_ex.c | 349 + .../Src/stm32g0xx_hal_cec.c | 997 + .../Src/stm32g0xx_hal_comp.c | 1156 + .../Src/stm32g0xx_hal_cortex.c | 417 + .../Src/stm32g0xx_hal_crc.c | 518 + .../Src/stm32g0xx_hal_crc_ex.c | 225 + .../Src/stm32g0xx_hal_cryp.c | 5593 + .../Src/stm32g0xx_hal_cryp_ex.c | 389 + .../Src/stm32g0xx_hal_dac.c | 1509 + .../Src/stm32g0xx_hal_dac_ex.c | 621 + .../Src/stm32g0xx_hal_dma.c | 1191 + .../Src/stm32g0xx_hal_dma_ex.c | 320 + .../Src/stm32g0xx_hal_exti.c | 672 + .../Src/stm32g0xx_hal_fdcan.c | 3455 + .../Src/stm32g0xx_hal_flash.c | 723 + .../Src/stm32g0xx_hal_flash_ex.c | 1310 + .../Src/stm32g0xx_hal_gpio.c | 551 + .../Src/stm32g0xx_hal_hcd.c | 2514 + .../Src/stm32g0xx_hal_i2c.c | 6796 + .../Src/stm32g0xx_hal_i2c_ex.c | 366 + .../Src/stm32g0xx_hal_i2s.c | 1872 + .../Src/stm32g0xx_hal_irda.c | 2996 + .../Src/stm32g0xx_hal_iwdg.c | 285 + .../Src/stm32g0xx_hal_lptim.c | 2521 + .../Src/stm32g0xx_hal_msp_template.c | 101 + .../Src/stm32g0xx_hal_pcd.c | 2171 + .../Src/stm32g0xx_hal_pcd_ex.c | 336 + .../Src/stm32g0xx_hal_pwr.c | 545 + .../Src/stm32g0xx_hal_pwr_ex.c | 1019 + .../Src/stm32g0xx_hal_rcc.c | 1457 + .../Src/stm32g0xx_hal_rcc_ex.c | 1681 + .../Src/stm32g0xx_hal_rng.c | 840 + .../Src/stm32g0xx_hal_rtc.c | 1910 + .../Src/stm32g0xx_hal_rtc_ex.c | 1976 + .../Src/stm32g0xx_hal_smartcard.c | 3182 + .../Src/stm32g0xx_hal_smartcard_ex.c | 496 + .../Src/stm32g0xx_hal_smbus.c | 2750 + .../Src/stm32g0xx_hal_smbus_ex.c | 152 + .../Src/stm32g0xx_hal_spi.c | 4385 + .../Src/stm32g0xx_hal_spi_ex.c | 115 + .../Src/stm32g0xx_hal_tim.c | 7782 ++ .../Src/stm32g0xx_hal_tim_ex.c | 2843 + ...tm32g0xx_hal_timebase_rtc_alarm_template.c | 348 + ...m32g0xx_hal_timebase_rtc_wakeup_template.c | 302 + .../Src/stm32g0xx_hal_timebase_tim_template.c | 211 + .../Src/stm32g0xx_hal_uart.c | 4679 + .../Src/stm32g0xx_hal_uart_ex.c | 1067 + .../Src/stm32g0xx_hal_usart.c | 3810 + .../Src/stm32g0xx_hal_usart_ex.c | 542 + .../Src/stm32g0xx_hal_wwdg.c | 422 + .../Src/stm32g0xx_ll_adc.c | 787 + .../Src/stm32g0xx_ll_comp.c | 255 + .../Src/stm32g0xx_ll_crc.c | 107 + .../Src/stm32g0xx_ll_crs.c | 86 + .../Src/stm32g0xx_ll_dac.c | 296 + .../Src/stm32g0xx_ll_dma.c | 369 + .../Src/stm32g0xx_ll_exti.c | 295 + .../Src/stm32g0xx_ll_gpio.c | 281 + .../Src/stm32g0xx_ll_i2c.c | 237 + .../Src/stm32g0xx_ll_lptim.c | 317 + .../Src/stm32g0xx_ll_lpuart.c | 315 + .../Src/stm32g0xx_ll_pwr.c | 85 + .../Src/stm32g0xx_ll_rcc.c | 1358 + .../Src/stm32g0xx_ll_rng.c | 138 + .../Src/stm32g0xx_ll_rtc.c | 862 + .../Src/stm32g0xx_ll_spi.c | 549 + .../Src/stm32g0xx_ll_tim.c | 1371 + .../Src/stm32g0xx_ll_ucpd.c | 187 + .../Src/stm32g0xx_ll_usart.c | 470 + .../Src/stm32g0xx_ll_usb.c | 1399 + .../Src/stm32g0xx_ll_utils.c | 577 + .../8chV3_WithCH552_V1.1/MDK-ARM/8ch.uvprojx | 874 + .../MDK-ARM/8ch/8ch_sct.Bak | 20 + .../8ch_STM32G030K6Tx_1.0.0.dbgconf | 35 + .../MDK-ARM/EventRecorderStub.scvd | 9 + .../MDK-ARM/RTE/_8ch/RTE_Components.h | 21 + .../8chV3_WithCH552_V1.1/MDK-ARM/save.c | 338 + .../8chV3_WithCH552_V1.1/MDK-ARM/save.h | 78 + .../MDK-ARM/startup_stm32g030xx.s | 236 + Sampling-MCU/README.md | 35 + TEXT/.gitignore | 3 + TEXT/README.md | 0 USB-MCU/.gitignore | 79 + USB-MCU/README.md | 16 + USB-MCU/TK_usb_CH552/.vscode/settings.json | 5 + USB-MCU/TK_usb_CH552/CH554.uvproj | 370 + USB-MCU/TK_usb_CH552/CH554DEMO | Bin 0 -> 173035 bytes USB-MCU/TK_usb_CH552/CH554_uvopt.bak | 199 + USB-MCU/TK_usb_CH552/CH554_uvproj.bak | 387 + USB-MCU/TK_usb_CH552/CompatibilityHID.C | 1015 + USB-MCU/TK_usb_CH552/GPIO.H | 26 + USB-MCU/TK_usb_CH552/GPIO.c | 241 + USB-MCU/TK_usb_CH552/Public/CH552.H | 1150 + USB-MCU/TK_usb_CH552/Public/CH552.INC | 1034 + USB-MCU/TK_usb_CH552/Public/CH554.H | 1217 + USB-MCU/TK_usb_CH552/Public/CH554.INC | 1101 + USB-MCU/TK_usb_CH552/Public/DEBUG.H | 47 + USB-MCU/TK_usb_CH552/Public/Debug.C | 269 + USB-MCU/TK_usb_CH552_NS/.vscode/settings.json | 5 + USB-MCU/TK_usb_CH552_NS/CH554.uvgui_onlyf.bak | 2697 + USB-MCU/TK_usb_CH552_NS/CH554.uvproj | 370 + USB-MCU/TK_usb_CH552_NS/CH554_uvopt.bak | 206 + USB-MCU/TK_usb_CH552_NS/CH554_uvproj.bak | 387 + USB-MCU/TK_usb_CH552_NS/CompatibilityHID.C | 1526 + USB-MCU/TK_usb_CH552_NS/GPIO.H | 30 + USB-MCU/TK_usb_CH552_NS/GPIO.c | 252 + USB-MCU/TK_usb_CH552_NS/Public/CH552.H | 1150 + USB-MCU/TK_usb_CH552_NS/Public/CH552.INC | 1034 + USB-MCU/TK_usb_CH552_NS/Public/CH554.H | 1217 + USB-MCU/TK_usb_CH552_NS/Public/CH554.INC | 1101 + USB-MCU/TK_usb_CH552_NS/Public/DEBUG.H | 47 + USB-MCU/TK_usb_CH552_NS/Public/Debug.C | 269 + USB-MCU/TK_usb_CH552_NS/TK_NS_PC_V18 | Bin 0 -> 191439 bytes USB-MCU/TK_usb_CH552_NS/TK_NS_PC_V20 | Bin 0 -> 191860 bytes 1198 files changed, 779954 insertions(+) create mode 100644 .gitattributes create mode 100644 HW/.gitignore create mode 100644 HW/README.md create mode 100644 HW/taiko-io/frontend.kicad_sch create mode 100644 HW/taiko-io/interface.kicad_sch create mode 100644 HW/taiko-io/new_io-all.pos create mode 100644 HW/taiko-io/new_io.kicad_pcb create mode 100644 HW/taiko-io/new_io.kicad_pro create mode 100644 HW/taiko-io/new_io.kicad_sch create mode 100644 HW/taiko-io/new_io.pdf create mode 100644 HW/taiko-io/smapling.kicad_sch create mode 100644 HW/taiko-io/tk_io_v20_gerber/new_io-job.gbrjob create mode 100644 HW/taiko-io/usb_mcu.kicad_sch create mode 100644 QT-APP/.gitignore create mode 100644 QT-APP/APP1_Taiko_IO_Setting/APP1.pro create mode 100644 QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.cpp create mode 100644 QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.h create mode 100644 QT-APP/APP1_Taiko_IO_Setting/icon.ico create mode 100644 QT-APP/APP1_Taiko_IO_Setting/icon.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images.qrc create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images/down.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images/icon.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images/save.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images/tk.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/images/up.png create mode 100644 QT-APP/APP1_Taiko_IO_Setting/main.cpp create mode 100644 QT-APP/APP1_Taiko_IO_Setting/mainwindow.cpp create mode 100644 QT-APP/APP1_Taiko_IO_Setting/mainwindow.h create mode 100644 QT-APP/APP1_Taiko_IO_Setting/mainwindow.ui create mode 100644 QT-APP/README.md create mode 100644 README.md create mode 100644 Sampling-MCU/.gitignore create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/.mxproject create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/8ch.ioc create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/main.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_hal_conf.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_it.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/main.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_hal_msp.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_it.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/system_stm32g0xx.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang_ltm.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_compiler.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_gcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_iccarm.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_version.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv81mml.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mbl.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mml.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0plus.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm1.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm23.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm3.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm33.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm35p.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm4.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm7.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc000.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc300.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv7.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv8.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/tz_context.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/main_s.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/tz_context.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/arr_desc/arr_desc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_cycle.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_fw.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_call.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_define.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_pf.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_systick.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_call.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_define.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_ret.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_util.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/opt_arg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/pp_narg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/splice.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/util/util.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_cycle.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_dump_str_segments.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_fw.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_trigger_action.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/all_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/template.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/test_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_templates.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_group.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_tests.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/type_abbrev.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/Retarget.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv6-m.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv7-m.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv6-m.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv7-m.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/Retarget.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv6-m.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv7-m.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/startup_generic.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM23.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM33.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC000.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC300.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MBL.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MML.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_generic.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/all_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/abs_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/add_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/dot_prod_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/mult_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/negate_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/offset_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/scale_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/shift_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/sub_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_conj_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_dot_prod_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_squared_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_cmplx_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_real_test.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_reset_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/sin_cos_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/biquad_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/conv_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/correlate_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/fir_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/lms_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/intrinsics_tests/intrinsics_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/intrinsics_tests/intrinsics_tests_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/main.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_add_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_cmplx_mult_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_init_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_inverse_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_fast_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_scale_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_sub_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_trans_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/max_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/mean_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/min_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/power_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/rms_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/std_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/var_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/copy_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/fill_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/x_to_y_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_family_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/dct4_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_fast_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_tests.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_test_group.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_tests_common_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MBLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLld_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLldfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLlfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM0l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM3l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4lf_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfdp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/handlers.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mem_ARMCA5.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mmu_ARMCA5.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/startup_ARMCA5.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/main.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_MPS2/HowTo.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MBLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLld_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLldfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLlfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM0l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM3l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4lf_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfdp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MBLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLl_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLld_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLldfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLlfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM0l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM3l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4lf_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7l_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfdp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfsp_config.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo_SV.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/BasicMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/abs.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/add.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/dot_prod.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/mult.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/negate.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/offset.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/scale.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/shift.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/sub.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/ComplexMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_conj.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_dot_prod.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag_squared.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_cmplx.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_real.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/ControllerFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/FastMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/FilteringFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/biquad.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/conv.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/correlate.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_decimate.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_interpolate.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_lattice.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_sparse.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/iir_lattice.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/lms.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/HelperFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/mat_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/ref_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/Intrinsics/Intrinsics_.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/Intrinsics/intrinsics.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/MatrixFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_add.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_cmplx_mult.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_inverse.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_mult.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_scale.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_sub.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_trans.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/StatisticsFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/max.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/mean.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/min.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/power.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/rms.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/std.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/var.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/SupportFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/copy.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/fill.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/fixed_to_fixed.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/fixed_to_float.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/float_to_fixed.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/TransformFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/bitreversal.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/cfft.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/dct4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/rfft.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/arm_class_marks_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/arm_convolution_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/arm_dotproduct_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_example_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/arm_matrix_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_data.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/arm_sin_cos_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/Abstract.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/arm_variance_example_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_common_tables.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_const_structs.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_math.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Lib/GCC/libarm_cortexM0l_math.a create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Lib/IAR/iar_cortexM0b_math.a create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Lib/IAR/iar_cortexM0l_math.a create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/PythonWrapper/cmsisdsp_pkg/src/fftinit.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/BasicMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_abs_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_add_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_dot_prod_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_mult_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_negate_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_offset_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_scale_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_shift_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/BasicMathFunctions/arm_sub_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/CommonTables/CommonTables.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/CommonTables/arm_common_tables.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/CommonTables/arm_const_structs.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/ComplexMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/ControllerFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_sin_cos_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/ControllerFunctions/arm_sin_cos_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/FastMathFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_cos_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sin_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sqrt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FastMathFunctions/arm_sqrt_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/FilteringFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_opt_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_opt_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_partial_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_conv_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_opt_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_opt_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_correlate_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_decimate_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_init_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_interpolate_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_lattice_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_init_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_fir_sparse_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_iir_lattice_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_norm_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/FilteringFunctions/arm_lms_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/MatrixFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_add_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_inverse_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_inverse_f64.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_fast_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_fast_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_mult_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_scale_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_sub_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/MatrixFunctions/arm_mat_trans_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/StatisticsFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_min_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/StatisticsFunctions/arm_var_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/SupportFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_copy_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_fill_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_float_to_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_float.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q15_to_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_float.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q31_to_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_float.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/SupportFunctions/arm_q7_to_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/TransformFunctions.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_bitreversal.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_bitreversal2.S create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_bitreversal2.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix8_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_dct4_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_fast_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_fast_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Source/TransformFunctions/arm_rfft_q31.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g030xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g031xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g041xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g050xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g051xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g061xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g070xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g071xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g081xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g0b0xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g0b1xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g0c1xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g0xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Include/system_stm32g0xx.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/LICENSE.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g030xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g031xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g041xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g050xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g051xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g061xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g070xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g071xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g081xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g0b0xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g0b1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/arm/startup_stm32g0c1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g030xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g031xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g041xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g050xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g051xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g061xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g070xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g071xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g081xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g0b0xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g0b1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/gcc/startup_stm32g0c1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g030xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g030xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g031xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g031xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g041xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g041xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g050xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g050xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g051xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g051xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g061xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g061xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g070xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g070xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g071xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g071xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g081xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g081xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0b0xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0b0xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0b1xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0b1xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0c1xx_flash.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/linker/stm32g0c1xx_sram.icf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g030xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g031xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g041xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g050xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g051xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g061xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g070xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g071xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g081xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g0b0xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g0b1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/iar/startup_stm32g0c1xx.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/system_stm32g0xx.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_armcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_armclang.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_armclang_ltm.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_compiler.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_gcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_iccarm.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/cmsis_version.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_armv81mml.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_armv8mbl.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_armv8mml.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm0.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm0plus.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm1.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm23.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm3.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm33.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm35p.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm4.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_cm7.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_sc000.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/core_sc300.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/mpu_armv7.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/mpu_armv8.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Include/tz_context.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/LICENSE.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Compiler/EventRecorderConf.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM7_SP/startup_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM0/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM3/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM4_FP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM7_SP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10.cpp create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_inputs.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_parameter.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_weights.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/readme.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Compiler/EventRecorderConf.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM7_SP/startup_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM0/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM3/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM4_FP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM7_SP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/arm_nnexamples_gru.cpp create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/arm_nnexamples_gru_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/readme.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10.cpp create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_inputs.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_parameter.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_weights.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/readme_iar.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-gru/arm_nnexamples_gru.cpp create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-gru/arm_nnexamples_gru_test_data.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-gru/readme_iar.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Include/arm_nn_tables.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Include/arm_nnfunctions.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Include/arm_nnsupportfunctions.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM0/startup_ARMCM0.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM0/system_ARMCM0.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM3/startup_ARMCM3.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM3/system_ARMCM3.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM4/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM4/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM4_FP/startup_ARMCM4.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM4_FP/system_ARMCM4.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM7_SP/startup_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM7_SP/startup_ARMCM7.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/ARMCM7_SP/system_ARMCM7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/STM32F411RETx/startup_stm32f411xe.s create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/Device/STM32F411RETx/system_stm32f4xx.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM0/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM3/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM4_FP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM7_SP/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_convolve_HWC_q15_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_convolve_HWC_q15_ref_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_convolve_HWC_q7_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_convolve_HWC_q7_ref_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_depthwise_separable_conv_HWC_q7_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_depthwise_separable_conv_HWC_q7_ref_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_mat_q7_vec_q15_opt_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_mat_q7_vec_q15_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_q15_opt_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_q15_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_q7_opt_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_fully_connected_q7_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_nn_mult_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_pool_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/arm_relu_ref.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/fully_connected_testing_weights.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/ref_functions.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/arm_nnexamples_nn_test.cpp create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/arm_nnexamples_nn_test.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/readme.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_1x1_HWC_q7_fast_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_basic.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_RGB.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_conv_u8_basic_ver1.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7_nonsquare.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15_reordered.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15_opt.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15_opt.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7_opt.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_nntables.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_no_shift.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_reordered_no_shift.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/PoolingFunctions/arm_pool_q7_HWC.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q15.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q7.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS/Template/cmsis_os.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Include/cmsis_os2.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Include/os_tick.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Source/os_systick.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Source/os_tick_gtim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Source/os_tick_ptim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Template/cmsis_os.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/RTOS2/Template/cmsis_os1.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/docs/General/html/LICENSE.txt create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32_assert_template.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cec.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_comp.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_conf_template.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cortex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_crc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_crc_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cryp.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cryp_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dac.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dac_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_def.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_exti.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_fdcan.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_hcd.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_i2c.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_i2c_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_i2s.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_irda.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_irda_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_iwdg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_lptim.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pcd.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pcd_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rng.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rtc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rtc_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_smartcard.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_smartcard_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_smbus.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_smbus_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_spi.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_spi_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_usart.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_usart_ex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_wwdg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_adc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_bus.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_comp.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_cortex.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_crc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_crs.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dac.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dma.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dmamux.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_exti.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_gpio.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_i2c.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_iwdg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_lptim.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_lpuart.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_pwr.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_rcc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_rng.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_rtc.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_spi.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_system.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_tim.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_ucpd.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_usart.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_usb.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_utils.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_wwdg.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cec.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_comp.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cortex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_crc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_crc_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cryp.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cryp_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dac.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dac_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_fdcan.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_gpio.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_hcd.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_i2c.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_i2c_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_i2s.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_irda.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_iwdg.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_lptim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_msp_template.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pcd.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pcd_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rng.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rtc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rtc_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_smartcard.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_smartcard_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_smbus.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_smbus_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_spi.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_spi_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_timebase_rtc_alarm_template.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_timebase_rtc_wakeup_template.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_timebase_tim_template.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_usart.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_usart_ex.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_wwdg.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_adc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_comp.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_crc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_crs.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_dac.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_dma.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_exti.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_gpio.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_i2c.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_lptim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_lpuart.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_pwr.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rcc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rng.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rtc.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_spi.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_tim.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_ucpd.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_usart.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_usb.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_utils.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/8ch.uvprojx create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/8ch/8ch_sct.Bak create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/DebugConfig/8ch_STM32G030K6Tx_1.0.0.dbgconf create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/EventRecorderStub.scvd create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/RTE/_8ch/RTE_Components.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/save.c create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/save.h create mode 100644 Sampling-MCU/8chV3_WithCH552_V1.1/MDK-ARM/startup_stm32g030xx.s create mode 100644 Sampling-MCU/README.md create mode 100644 TEXT/.gitignore create mode 100644 TEXT/README.md create mode 100644 USB-MCU/.gitignore create mode 100644 USB-MCU/README.md create mode 100644 USB-MCU/TK_usb_CH552/.vscode/settings.json create mode 100644 USB-MCU/TK_usb_CH552/CH554.uvproj create mode 100644 USB-MCU/TK_usb_CH552/CH554DEMO create mode 100644 USB-MCU/TK_usb_CH552/CH554_uvopt.bak create mode 100644 USB-MCU/TK_usb_CH552/CH554_uvproj.bak create mode 100644 USB-MCU/TK_usb_CH552/CompatibilityHID.C create mode 100644 USB-MCU/TK_usb_CH552/GPIO.H create mode 100644 USB-MCU/TK_usb_CH552/GPIO.c create mode 100644 USB-MCU/TK_usb_CH552/Public/CH552.H create mode 100644 USB-MCU/TK_usb_CH552/Public/CH552.INC create mode 100644 USB-MCU/TK_usb_CH552/Public/CH554.H create mode 100644 USB-MCU/TK_usb_CH552/Public/CH554.INC create mode 100644 USB-MCU/TK_usb_CH552/Public/DEBUG.H create mode 100644 USB-MCU/TK_usb_CH552/Public/Debug.C create mode 100644 USB-MCU/TK_usb_CH552_NS/.vscode/settings.json create mode 100644 USB-MCU/TK_usb_CH552_NS/CH554.uvgui_onlyf.bak create mode 100644 USB-MCU/TK_usb_CH552_NS/CH554.uvproj create mode 100644 USB-MCU/TK_usb_CH552_NS/CH554_uvopt.bak create mode 100644 USB-MCU/TK_usb_CH552_NS/CH554_uvproj.bak create mode 100644 USB-MCU/TK_usb_CH552_NS/CompatibilityHID.C create mode 100644 USB-MCU/TK_usb_CH552_NS/GPIO.H create mode 100644 USB-MCU/TK_usb_CH552_NS/GPIO.c create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/CH552.H create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/CH552.INC create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/CH554.H create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/CH554.INC create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/DEBUG.H create mode 100644 USB-MCU/TK_usb_CH552_NS/Public/Debug.C create mode 100644 USB-MCU/TK_usb_CH552_NS/TK_NS_PC_V18 create mode 100644 USB-MCU/TK_usb_CH552_NS/TK_NS_PC_V20 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/HW/.gitignore b/HW/.gitignore new file mode 100644 index 0000000..8aad907 --- /dev/null +++ b/HW/.gitignore @@ -0,0 +1,40 @@ +# For PCBs designed using KiCad: http://www.kicad-pcb.org/ +# Format documentation: http://kicad-pcb.org/help/file-formats/ + +*.step +*.stp +*.wrl + +# Temporary files +*.000 +*.bak +*.bck +*.kicad_pcb-bak +*.sch-bak +*~ +_autosave-* +*.tmp +*-cache.lib +*-rescue.lib +*-save.pro +*-save.kicad_pcb +fp-info-cache + +# Netlist files (exported from Eeschema) +*.net + +# Autorouter files (exported from Pcbnew) +*.dsn +*.ses + +# Exported Fabrication files +*.gbr +*.drl +*.prl +*.kicad_prl +*.zip + +# Exported BOM files +*.xml +*.csv +*.html diff --git a/HW/README.md b/HW/README.md new file mode 100644 index 0000000..dbc4759 --- /dev/null +++ b/HW/README.md @@ -0,0 +1,21 @@ +# Taiko Input 硬件 +Taiko Input 硬件 + +分为åŒé¼“与å•é¼“硬件,åŒé¼“设计用于街机 + +### åŒé¼“硬件 +[硬件工程](./taiko-io/) +[原ç†å›¾] + + +### å•é¼“硬件 +[硬件工程](./taiko-io-mini/) +[原ç†å›¾] + + +## å‰ç«¯åŽŸç† +采用了与SIF Board相åŒçš„设计 + +
图注
+模拟å‰ç«¯ä¸»è¦æ˜¯å°†é¼“传感器的脉冲信å·æ”¾å¤§åŽç§¯åˆ†ï¼Œä½¿ä¿¡å·æ˜Žæ˜¾å¯é‡‡æ ·ï¼Œç„¶åŽè¿›è¡Œäº†åŠæ³¢æ•´æµã€‚处ç†åŽçš„ä¿¡å·ç›´æŽ¥è¾“入给了采样å•ç‰‡æœºã€‚ + diff --git a/HW/taiko-io/frontend.kicad_sch b/HW/taiko-io/frontend.kicad_sch new file mode 100644 index 0000000..dabdd35 --- /dev/null +++ b/HW/taiko-io/frontend.kicad_sch @@ -0,0 +1,8554 @@ +(kicad_sch (version 20230121) (generator eeschema) + + (uuid ab7dbf57-2a56-44f7-bb38-5fa239ead251) + + (paper "A4") + + (lib_symbols + (symbol "Amplifier_Operational:TL084" (pin_names (offset 0.127)) (in_bom yes) (on_board yes) + (property "Reference" "U" (at 0 5.08 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TL084" (at 0 -5.08 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at -1.27 2.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 1.27 5.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_locked" "" (at 0 0 0) + (effects (font (size 1.27 1.27))) + ) + (property "ki_keywords" "quad opamp" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Quad JFET-Input Operational Amplifiers, DIP-14/SOIC-14/SSOP-14" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TL084_1_1" + (polyline + (pts + (xy -5.08 5.08) + (xy 5.08 0) + (xy -5.08 -5.08) + (xy -5.08 5.08) + ) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin output line (at 7.62 0 180) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -7.62 -2.54 0) (length 2.54) + (name "-" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -7.62 2.54 0) (length 2.54) + (name "+" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "TL084_2_1" + (polyline + (pts + (xy -5.08 5.08) + (xy 5.08 0) + (xy -5.08 -5.08) + (xy -5.08 5.08) + ) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin input line (at -7.62 2.54 0) (length 2.54) + (name "+" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -7.62 -2.54 0) (length 2.54) + (name "-" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 7.62 0 180) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "TL084_3_1" + (polyline + (pts + (xy -5.08 5.08) + (xy 5.08 0) + (xy -5.08 -5.08) + (xy -5.08 5.08) + ) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin input line (at -7.62 2.54 0) (length 2.54) + (name "+" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 7.62 0 180) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -7.62 -2.54 0) (length 2.54) + (name "-" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "TL084_4_1" + (polyline + (pts + (xy -5.08 5.08) + (xy 5.08 0) + (xy -5.08 -5.08) + (xy -5.08 5.08) + ) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin input line (at -7.62 2.54 0) (length 2.54) + (name "+" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -7.62 -2.54 0) (length 2.54) + (name "-" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 7.62 0 180) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "TL084_5_1" + (pin power_in line (at -2.54 -7.62 90) (length 3.81) + (name "V-" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at -2.54 7.62 270) (length 3.81) + (name "V+" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes) + (property "Reference" "TP" (at 0 6.858 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TestPoint" (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 5.08 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "test point tp" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "test point" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Pin* Test*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "TestPoint_0_1" + (circle (center 0 3.302) (radius 0.762) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "TestPoint_1_1" + (pin passive line (at 0 0 90) (length 2.54) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "C" (at 0.635 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "C" (at 0.635 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0.9652 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "cap capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Unpolarized capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "C_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 -0.762) + (xy 2.032 -0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.032 0.762) + (xy 2.032 0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + ) + (symbol "C_1_1" + (pin passive line (at 0 3.81 270) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "R" (at 2.032 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R" (at 0 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at -1.778 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R res resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "R_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_0_1" + (rectangle (start -1.016 -2.54) (end 1.016 2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Diode:1N4148WS" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "D" (at 0 2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 0 -2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Diode_SMD:D_SOD-323" (at 0 -4.445 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "D*SOD?323*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "1N4148WS_0_1" + (polyline + (pts + (xy -1.27 1.27) + (xy -1.27 -1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 0) + (xy -1.27 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 1.27) + (xy 1.27 -1.27) + (xy -1.27 0) + (xy 1.27 1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "1N4148WS_1_1" + (pin passive line (at -3.81 0 0) (length 2.54) + (name "K" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 3.81 0 180) (length 2.54) + (name "A" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Diode:BAT54S" (pin_names (offset 1.016)) (in_bom yes) (on_board yes) + (property "Reference" "D" (at 0.635 -3.81 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "BAT54S" (at -6.35 3.175 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 1.905 3.175 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at -3.048 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "schottky diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "schottky barrier diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SOT?23*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "BAT54S_0_1" + (polyline + (pts + (xy -3.81 0) + (xy -1.27 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -3.175 -1.27) + (xy -3.175 -1.016) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -1.27) + (xy -3.175 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -1.27) + (xy -2.54 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 1.27) + (xy -1.905 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.905 0) + (xy 1.905 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.905 1.27) + (xy -1.905 1.016) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 0) + (xy 3.81 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.175 -1.27) + (xy 3.175 -1.016) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 -1.27) + (xy 3.175 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 -1.27) + (xy 3.81 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 1.27) + (xy 4.445 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 4.445 1.27) + (xy 4.445 1.016) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -4.445 1.27) + (xy -4.445 -1.27) + (xy -2.54 0) + (xy -4.445 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.905 1.27) + (xy 1.905 -1.27) + (xy 3.81 0) + (xy 1.905 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 0 0) (radius 0.254) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + ) + (symbol "BAT54S_1_1" + (pin passive line (at -7.62 0 0) (length 3.81) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 3.81) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 90) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "NewLib:SGM3204" (in_bom yes) (on_board yes) + (property "Reference" "U" (at 7.62 6.35 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "SGM3204" (at 6.35 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at -7.62 11.43 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at -7.62 11.43 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "负压电è·æ³µ" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "SGM3204_0_1" + (rectangle (start 2.54 -7.62) (end 13.97 2.54) + (stroke (width 0.1524) (type default)) + (fill (type background)) + ) + ) + (symbol "SGM3204_1_1" + (pin passive line (at 0 0 0) (length 2.54) + (name "OUT" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -2.54 0) (length 2.54) + (name "IN" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 0) (length 2.54) + (name "C_{N}" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 16.51 -5.08 180) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 16.51 -2.54 180) (length 2.54) + (name "EN" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 16.51 0 180) (length 2.54) + (name "C_{P}" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 0 3.556 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"+5V\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "+5V_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "+5V" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:-5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 2.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 0 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"-5V\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "-5V_0_0" + (pin power_in line (at 0 0 90) (length 0) hide + (name "-5V" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "-5V_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 1.27) + (xy 0.762 1.27) + (xy 0 2.54) + (xy -0.762 1.27) + (xy 0 1.27) + ) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + ) + ) + (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 0 -3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 -1.27) + (xy 1.27 -1.27) + (xy 0 -2.54) + (xy -1.27 -1.27) + (xy 0 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "GND_1_1" + (pin power_in line (at 0 0 270) (length 0) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 162.56 73.66) (diameter 0) (color 0 0 0 0) + (uuid 05dc0ce3-f559-4ed3-9d02-3884988254be) + ) + (junction (at 265.43 71.12) (diameter 0) (color 0 0 0 0) + (uuid 08013478-e438-4730-8111-21588b20014a) + ) + (junction (at 66.04 142.24) (diameter 0) (color 0 0 0 0) + (uuid 0a4cdf34-8a09-4ac7-b990-263fee5de53f) + ) + (junction (at 57.15 142.24) (diameter 0) (color 0 0 0 0) + (uuid 0aeb6c79-09aa-43fb-aea7-798388c3a8ff) + ) + (junction (at 265.43 39.37) (diameter 0) (color 0 0 0 0) + (uuid 0bbbec99-6050-41c3-bea2-0fe1b6e500d6) + ) + (junction (at 34.29 105.41) (diameter 0) (color 0 0 0 0) + (uuid 0cac1c31-eaf3-4306-b699-289319146c6f) + ) + (junction (at 181.61 46.99) (diameter 0) (color 0 0 0 0) + (uuid 0d194dcb-28d9-4220-acce-13817d7e6209) + ) + (junction (at 207.01 102.87) (diameter 0) (color 0 0 0 0) + (uuid 0e6902d9-3512-4fe5-bcb7-dcd29d155303) + ) + (junction (at 149.86 73.66) (diameter 0) (color 0 0 0 0) + (uuid 116614ed-286f-4a89-befc-0b2adea23a66) + ) + (junction (at 57.15 110.49) (diameter 0) (color 0 0 0 0) + (uuid 121d614d-22af-4c6e-a445-963d897c374e) + ) + (junction (at 238.76 146.05) (diameter 0) (color 0 0 0 0) + (uuid 122fdfc9-dc93-488a-9c51-b8088b674296) + ) + (junction (at 85.09 39.37) (diameter 0) (color 0 0 0 0) + (uuid 1bd0cc70-f243-4883-9970-d0802cc28529) + ) + (junction (at 34.29 137.16) (diameter 0) (color 0 0 0 0) + (uuid 1dc22a47-5f45-4b70-8743-6ae910af05ec) + ) + (junction (at 181.61 110.49) (diameter 0) (color 0 0 0 0) + (uuid 1ed6f9f7-eac8-4dde-bb28-3d17646687d9) + ) + (junction (at 181.61 134.62) (diameter 0) (color 0 0 0 0) + (uuid 2333ddc3-ce91-46d2-9a0f-3caabb1cfd3f) + ) + (junction (at 149.86 137.16) (diameter 0) (color 0 0 0 0) + (uuid 24b61404-6202-46a1-b11c-8a9266587d03) + ) + (junction (at 85.09 102.87) (diameter 0) (color 0 0 0 0) + (uuid 25458cc2-9f60-4266-ad52-691720e27958) + ) + (junction (at 40.64 175.26) (diameter 0) (color 0 0 0 0) + (uuid 258bfcd4-d14c-4999-8888-48bbb7c0f80d) + ) + (junction (at 265.43 133.35) (diameter 0) (color 0 0 0 0) + (uuid 342b3efa-90a0-4721-bd6e-eef0c9edbfe0) + ) + (junction (at 66.04 110.49) (diameter 0) (color 0 0 0 0) + (uuid 35f97424-e752-43b1-9913-8069f51ac3ad) + ) + (junction (at 66.04 71.12) (diameter 0) (color 0 0 0 0) + (uuid 36f66a54-a807-47eb-a29c-5503f66e3548) + ) + (junction (at 85.09 134.62) (diameter 0) (color 0 0 0 0) + (uuid 3882183f-b7d0-47f7-ad6f-61f06ba9a2a0) + ) + (junction (at 34.29 73.66) (diameter 0) (color 0 0 0 0) + (uuid 3cba8dd3-6d81-438f-8280-173b4d2fc9d8) + ) + (junction (at 121.92 114.3) (diameter 0) (color 0 0 0 0) + (uuid 3e2c1c9d-bdb5-4342-8156-92ab4da0f59e) + ) + (junction (at 121.92 146.05) (diameter 0) (color 0 0 0 0) + (uuid 43ca9109-8566-46e2-b39c-86f90aeb63ca) + ) + (junction (at 66.04 39.37) (diameter 0) (color 0 0 0 0) + (uuid 45cb411f-5e9c-4056-bbcc-c86d70a568a8) + ) + (junction (at 172.72 147.32) (diameter 0) (color 0 0 0 0) + (uuid 46866fea-d1d8-4d46-a4ca-6f45555476f3) + ) + (junction (at 40.64 177.8) (diameter 0) (color 0 0 0 0) + (uuid 4abc2fa9-942c-4334-b48e-032a2b7a69aa) + ) + (junction (at 30.48 175.26) (diameter 0) (color 0 0 0 0) + (uuid 4cbf9d73-0a11-4547-b7e8-bd7dd0d369a9) + ) + (junction (at 207.01 134.62) (diameter 0) (color 0 0 0 0) + (uuid 52271e3a-1ccc-490c-8da0-12f101bc571a) + ) + (junction (at 85.09 71.12) (diameter 0) (color 0 0 0 0) + (uuid 54d6b026-8c4c-402b-b63c-3e07a3c98c6a) + ) + (junction (at 46.99 73.66) (diameter 0) (color 0 0 0 0) + (uuid 551f0470-1e12-4d49-ad81-b1c1101ee67d) + ) + (junction (at 91.44 71.12) (diameter 0) (color 0 0 0 0) + (uuid 5675eee1-23d8-4665-a7e2-df650638e284) + ) + (junction (at 162.56 46.99) (diameter 0) (color 0 0 0 0) + (uuid 5aa575c2-c47d-4923-a849-c5da90b0bcf9) + ) + (junction (at 200.66 71.12) (diameter 0) (color 0 0 0 0) + (uuid 5ba68a19-b3bf-4205-a781-ef7f0b46e380) + ) + (junction (at 30.48 177.8) (diameter 0) (color 0 0 0 0) + (uuid 5da23508-e4fe-4379-aaf4-81dfdae9fa2a) + ) + (junction (at 66.04 78.74) (diameter 0) (color 0 0 0 0) + (uuid 618f4446-a65d-498c-a5fe-f3e3caa14973) + ) + (junction (at 162.56 110.49) (diameter 0) (color 0 0 0 0) + (uuid 62b15337-f381-4afc-b196-1edd385da365) + ) + (junction (at 172.72 46.99) (diameter 0) (color 0 0 0 0) + (uuid 66683568-b091-4644-b02d-1840d45124b3) + ) + (junction (at 172.72 115.57) (diameter 0) (color 0 0 0 0) + (uuid 6d15ffd7-f6aa-497f-b561-1d4620a5656f) + ) + (junction (at 91.44 39.37) (diameter 0) (color 0 0 0 0) + (uuid 6f055280-43c6-420d-844b-e9b50f302655) + ) + (junction (at 238.76 82.55) (diameter 0) (color 0 0 0 0) + (uuid 7b77f49c-8d91-4b8c-9738-5f4c79cfb419) + ) + (junction (at 207.01 71.12) (diameter 0) (color 0 0 0 0) + (uuid 7cfe9a1b-da04-414f-849c-b7bba7e56474) + ) + (junction (at 172.72 110.49) (diameter 0) (color 0 0 0 0) + (uuid 7ecddfbe-13ad-4836-b877-f77d682037d8) + ) + (junction (at 57.15 78.74) (diameter 0) (color 0 0 0 0) + (uuid 8003b022-4b94-47ae-a5e3-66699c7b4974) + ) + (junction (at 200.66 134.62) (diameter 0) (color 0 0 0 0) + (uuid 83aec76e-32b2-480f-a70b-79d6cd5770da) + ) + (junction (at 162.56 41.91) (diameter 0) (color 0 0 0 0) + (uuid 844d79e8-42d7-4a1d-894f-5fb04469bf0d) + ) + (junction (at 162.56 137.16) (diameter 0) (color 0 0 0 0) + (uuid 886576d7-76fc-444c-88ae-669189d2a088) + ) + (junction (at 181.61 78.74) (diameter 0) (color 0 0 0 0) + (uuid 889c5886-e7fa-4c7c-b2f5-93bbb69bdac8) + ) + (junction (at 46.99 46.99) (diameter 0) (color 0 0 0 0) + (uuid 8b12f73f-1c22-4bd9-8293-d2ae4b5beba6) + ) + (junction (at 91.44 134.62) (diameter 0) (color 0 0 0 0) + (uuid 8eecb2f3-fa51-4218-9e33-a69315e05ffd) + ) + (junction (at 121.92 82.55) (diameter 0) (color 0 0 0 0) + (uuid 920289cf-d22c-4776-9020-80dd59ea33e5) + ) + (junction (at 172.72 78.74) (diameter 0) (color 0 0 0 0) + (uuid 93c0e8e7-94c0-49df-942c-9d72531068ad) + ) + (junction (at 46.99 110.49) (diameter 0) (color 0 0 0 0) + (uuid 97ae678d-a5ff-408f-ab2f-03b571cd2c13) + ) + (junction (at 162.56 142.24) (diameter 0) (color 0 0 0 0) + (uuid 98960740-4ac5-4b28-a374-00fb0c33a4db) + ) + (junction (at 46.99 137.16) (diameter 0) (color 0 0 0 0) + (uuid 98f9622d-c983-4eae-b4a5-2103cc1286e8) + ) + (junction (at 66.04 102.87) (diameter 0) (color 0 0 0 0) + (uuid 9a3aef01-0e8c-440c-98db-fbb50c53f927) + ) + (junction (at 172.72 52.07) (diameter 0) (color 0 0 0 0) + (uuid 9c8b9f2a-6c48-49e6-876e-791f1696617f) + ) + (junction (at 57.15 147.32) (diameter 0) (color 0 0 0 0) + (uuid 9d4d0743-e32a-4f49-b8d5-112cb89a5351) + ) + (junction (at 162.56 105.41) (diameter 0) (color 0 0 0 0) + (uuid 9df72db5-877e-476c-9044-e387812adfd6) + ) + (junction (at 57.15 83.82) (diameter 0) (color 0 0 0 0) + (uuid 9ed8d2cf-80d1-4f10-b37f-27e88e14d4ab) + ) + (junction (at 149.86 41.91) (diameter 0) (color 0 0 0 0) + (uuid a54a56c3-7545-42cc-b903-ca2bc489f113) + ) + (junction (at 57.15 52.07) (diameter 0) (color 0 0 0 0) + (uuid a8afb23a-b7bf-4427-b35c-15b73bfa8390) + ) + (junction (at 200.66 102.87) (diameter 0) (color 0 0 0 0) + (uuid a9060824-664d-4292-a0e1-429b0a4724c3) + ) + (junction (at 49.53 177.8) (diameter 0) (color 0 0 0 0) + (uuid ae6c94be-8970-4770-b865-fb90b1bb2a02) + ) + (junction (at 46.99 41.91) (diameter 0) (color 0 0 0 0) + (uuid b42e2fdf-48c8-4b61-9a90-c488fda291a0) + ) + (junction (at 172.72 83.82) (diameter 0) (color 0 0 0 0) + (uuid b66f5936-e7ec-4550-958f-9f435fcbe325) + ) + (junction (at 66.04 46.99) (diameter 0) (color 0 0 0 0) + (uuid b6c5d645-7cfc-4c2c-b2b7-dac52f1acd63) + ) + (junction (at 181.61 71.12) (diameter 0) (color 0 0 0 0) + (uuid be6be121-4961-4291-9166-41fcf503287f) + ) + (junction (at 238.76 114.3) (diameter 0) (color 0 0 0 0) + (uuid c040c859-1115-4a91-9c70-c720c3c8f17d) + ) + (junction (at 181.61 142.24) (diameter 0) (color 0 0 0 0) + (uuid c0acb752-8755-4ab4-b307-b47683cd53a4) + ) + (junction (at 149.86 105.41) (diameter 0) (color 0 0 0 0) + (uuid c231013a-5c4b-457c-aeb1-51d582c96f93) + ) + (junction (at 46.99 105.41) (diameter 0) (color 0 0 0 0) + (uuid c3c77e3b-ccf1-4bee-b1a8-a4ac254e4b7a) + ) + (junction (at 238.76 50.8) (diameter 0) (color 0 0 0 0) + (uuid c7b1e4ec-4969-4cef-886f-b3aba3d447cd) + ) + (junction (at 207.01 39.37) (diameter 0) (color 0 0 0 0) + (uuid ce1afd83-22cc-4ae0-87e1-0e3c110bc6a6) + ) + (junction (at 46.99 78.74) (diameter 0) (color 0 0 0 0) + (uuid ce6b2a33-f02b-4a57-8013-aa3f84f6d68a) + ) + (junction (at 46.99 142.24) (diameter 0) (color 0 0 0 0) + (uuid cecf7a4f-414e-40dc-b7aa-6e2ab8e0f7ae) + ) + (junction (at 34.29 41.91) (diameter 0) (color 0 0 0 0) + (uuid e25fd70e-3a76-4e59-9189-1946bc971f8d) + ) + (junction (at 265.43 102.87) (diameter 0) (color 0 0 0 0) + (uuid e4c19b66-0053-4aa2-be9f-41681f80efe9) + ) + (junction (at 200.66 39.37) (diameter 0) (color 0 0 0 0) + (uuid e4dcf4db-18f1-45dc-8e7a-c3c8865891de) + ) + (junction (at 91.44 102.87) (diameter 0) (color 0 0 0 0) + (uuid e651bd6c-16b0-4387-8c99-02710a9f9496) + ) + (junction (at 181.61 39.37) (diameter 0) (color 0 0 0 0) + (uuid ea33a19c-52d6-49af-b130-fd59b6e4d92c) + ) + (junction (at 172.72 142.24) (diameter 0) (color 0 0 0 0) + (uuid ec496da8-25af-4e21-8061-8574f5fa7f0e) + ) + (junction (at 57.15 46.99) (diameter 0) (color 0 0 0 0) + (uuid f0fc1eca-2a35-4e7f-840e-e226d35f6e55) + ) + (junction (at 66.04 134.62) (diameter 0) (color 0 0 0 0) + (uuid f208e9ef-950c-4452-a072-5afb45a13a5e) + ) + (junction (at 181.61 102.87) (diameter 0) (color 0 0 0 0) + (uuid f28cb113-cebc-465b-8ad8-7e794728c455) + ) + (junction (at 121.92 50.8) (diameter 0) (color 0 0 0 0) + (uuid f5001b14-ccdd-4ba7-accd-dc3e9b3ef6e7) + ) + (junction (at 57.15 115.57) (diameter 0) (color 0 0 0 0) + (uuid fb8485b0-a21d-454d-b7fe-47ed69869030) + ) + (junction (at 162.56 78.74) (diameter 0) (color 0 0 0 0) + (uuid fd744693-f9e4-4d4a-8857-9eaf4f2ef4cf) + ) + + (wire (pts (xy 149.86 41.91) (xy 152.4 41.91)) + (stroke (width 0) (type default)) + (uuid 0035bcb8-a165-48f9-81e2-e2d5f400ebc5) + ) + (wire (pts (xy 34.29 36.83) (xy 34.29 41.91)) + (stroke (width 0) (type default)) + (uuid 00761f2b-b0bd-4bf9-af89-6cc895444b6d) + ) + (wire (pts (xy 55.88 52.07) (xy 57.15 52.07)) + (stroke (width 0) (type default)) + (uuid 028ddcbf-3b90-4981-b528-3db5428aec32) + ) + (wire (pts (xy 171.45 46.99) (xy 172.72 46.99)) + (stroke (width 0) (type default)) + (uuid 02a089d3-eb0a-4bdd-b7a0-d6f51ba4574c) + ) + (wire (pts (xy 48.26 52.07) (xy 46.99 52.07)) + (stroke (width 0) (type default)) + (uuid 07570188-86ef-427f-8283-8ff4216d1c14) + ) + (wire (pts (xy 121.92 82.55) (xy 121.92 73.66)) + (stroke (width 0) (type default)) + (uuid 07f3020b-2200-4661-88f3-9fc21c1ae6ee) + ) + (wire (pts (xy 91.44 106.68) (xy 91.44 102.87)) + (stroke (width 0) (type default)) + (uuid 0e221843-9c1b-4f93-8170-a54e73749cc8) + ) + (wire (pts (xy 171.45 83.82) (xy 172.72 83.82)) + (stroke (width 0) (type default)) + (uuid 10017d94-e1a2-46eb-b6ae-57de5e254a5c) + ) + (wire (pts (xy 162.56 83.82) (xy 162.56 78.74)) + (stroke (width 0) (type default)) + (uuid 1002ed38-e01c-4044-9d31-5676d010a856) + ) + (wire (pts (xy 160.02 41.91) (xy 162.56 41.91)) + (stroke (width 0) (type default)) + (uuid 112a09c3-e76b-4cbc-b240-1baad80ae919) + ) + (wire (pts (xy 207.01 43.18) (xy 207.01 39.37)) + (stroke (width 0) (type default)) + (uuid 1170704f-09ab-4663-8ac3-c77a357a625f) + ) + (wire (pts (xy 149.86 100.33) (xy 149.86 105.41)) + (stroke (width 0) (type default)) + (uuid 120f2efe-8fe2-4124-b600-b5ab733e8a50) + ) + (wire (pts (xy 162.56 142.24) (xy 162.56 137.16)) + (stroke (width 0) (type default)) + (uuid 1210a62b-045e-4fb9-846d-c3e01d7456a9) + ) + (wire (pts (xy 85.09 43.18) (xy 85.09 39.37)) + (stroke (width 0) (type default)) + (uuid 13c61b1b-be99-4c7a-ab87-1f932695c297) + ) + (wire (pts (xy 181.61 134.62) (xy 180.34 134.62)) + (stroke (width 0) (type default)) + (uuid 151abb8a-4eca-41ed-8250-88c412173ee5) + ) + (wire (pts (xy 66.04 142.24) (xy 64.77 142.24)) + (stroke (width 0) (type default)) + (uuid 16a6b57d-e998-4655-bc99-e420471b1c83) + ) + (wire (pts (xy 149.86 105.41) (xy 149.86 107.95)) + (stroke (width 0) (type default)) + (uuid 182ef5d6-5da2-4bda-a11f-8ecb61e4eba9) + ) + (wire (pts (xy 34.29 105.41) (xy 36.83 105.41)) + (stroke (width 0) (type default)) + (uuid 183fdc0c-f364-4b31-b673-2021b97ee04d) + ) + (wire (pts (xy 46.99 41.91) (xy 49.53 41.91)) + (stroke (width 0) (type default)) + (uuid 185bfe76-579e-4d43-9d03-1ab1a6bb5b8c) + ) + (wire (pts (xy 91.44 138.43) (xy 91.44 134.62)) + (stroke (width 0) (type default)) + (uuid 1983f460-9dbe-4bfa-bd76-b4d4cd8a45aa) + ) + (wire (pts (xy 48.26 83.82) (xy 46.99 83.82)) + (stroke (width 0) (type default)) + (uuid 1a855519-071d-4c2f-85be-7a30dace9fc5) + ) + (wire (pts (xy 99.06 44.45) (xy 99.06 50.8)) + (stroke (width 0) (type default)) + (uuid 1b3c5330-a3fd-4908-a342-9cbbdb64bea1) + ) + (wire (pts (xy 55.88 78.74) (xy 57.15 78.74)) + (stroke (width 0) (type default)) + (uuid 1bc17dc1-bf20-4bc2-958a-80d3d4c11c11) + ) + (wire (pts (xy 207.01 134.62) (xy 200.66 134.62)) + (stroke (width 0) (type default)) + (uuid 1c1b5cf4-8639-4474-9e66-0718ef2e70ad) + ) + (wire (pts (xy 190.5 102.87) (xy 191.77 102.87)) + (stroke (width 0) (type default)) + (uuid 1d91f380-5b1f-4ac9-b7eb-66ecad87ac54) + ) + (wire (pts (xy 46.99 73.66) (xy 49.53 73.66)) + (stroke (width 0) (type default)) + (uuid 1e263aea-1baf-495e-a88d-bc4d645a1e18) + ) + (wire (pts (xy 162.56 147.32) (xy 162.56 142.24)) + (stroke (width 0) (type default)) + (uuid 1e48a132-9eb6-471c-a164-dcd28e2411d5) + ) + (wire (pts (xy 163.83 115.57) (xy 162.56 115.57)) + (stroke (width 0) (type default)) + (uuid 1fd2cbcb-399e-45f4-889f-7c0ea7f662d5) + ) + (wire (pts (xy 77.47 177.8) (xy 77.47 166.37)) + (stroke (width 0) (type default)) + (uuid 20235a58-c60a-44b9-aebf-c16bef2e8971) + ) + (wire (pts (xy 180.34 52.07) (xy 181.61 52.07)) + (stroke (width 0) (type default)) + (uuid 20f3df17-bede-4e3e-896f-e557c4532b14) + ) + (wire (pts (xy 67.31 186.69) (xy 80.01 186.69)) + (stroke (width 0) (type default)) + (uuid 21cd6352-de73-4e83-8d4a-512b720f9c56) + ) + (wire (pts (xy 162.56 52.07) (xy 162.56 46.99)) + (stroke (width 0) (type default)) + (uuid 2214e6cf-2e1c-4691-bc15-602251d668ae) + ) + (wire (pts (xy 46.99 137.16) (xy 49.53 137.16)) + (stroke (width 0) (type default)) + (uuid 22d7afad-d262-4869-8078-4b80a5a58396) + ) + (wire (pts (xy 64.77 83.82) (xy 66.04 83.82)) + (stroke (width 0) (type default)) + (uuid 23e302a5-f41a-40db-a210-4863e17ea04d) + ) + (wire (pts (xy 181.61 147.32) (xy 181.61 142.24)) + (stroke (width 0) (type default)) + (uuid 2426e0a9-c104-4405-bd1f-95198cdd3a16) + ) + (wire (pts (xy 172.72 46.99) (xy 172.72 52.07)) + (stroke (width 0) (type default)) + (uuid 24dfc15a-3829-4d80-bce4-e529b021403f) + ) + (wire (pts (xy 172.72 78.74) (xy 172.72 83.82)) + (stroke (width 0) (type default)) + (uuid 252b5015-12d4-4e15-ba21-750037463e6b) + ) + (wire (pts (xy 149.86 73.66) (xy 149.86 76.2)) + (stroke (width 0) (type default)) + (uuid 27d80c84-8d4a-4f8f-bf8f-b85017cb33b4) + ) + (wire (pts (xy 34.29 73.66) (xy 30.48 73.66)) + (stroke (width 0) (type default)) + (uuid 28f00fc6-1c4d-4411-a827-3e5b6b184d56) + ) + (polyline (pts (xy 15.24 193.04) (xy 97.79 193.04)) + (stroke (width 0) (type default)) + (uuid 2a402e1d-f84b-4d85-9dbf-cf758b87663b) + ) + + (wire (pts (xy 121.92 50.8) (xy 121.92 41.91)) + (stroke (width 0) (type default)) + (uuid 2a77f9ea-278d-4d61-9a47-8b13e93cfdbe) + ) + (wire (pts (xy 34.29 105.41) (xy 34.29 107.95)) + (stroke (width 0) (type default)) + (uuid 2af17cd8-6848-46ac-8fdf-8f9c887b0c55) + ) + (wire (pts (xy 162.56 105.41) (xy 165.1 105.41)) + (stroke (width 0) (type default)) + (uuid 2d043b21-615c-478b-85a5-1c8ccc3ef51c) + ) + (wire (pts (xy 181.61 39.37) (xy 180.34 39.37)) + (stroke (width 0) (type default)) + (uuid 2dacdf68-dd8e-46c0-a9f2-f5a11d6cd301) + ) + (wire (pts (xy 149.86 105.41) (xy 146.05 105.41)) + (stroke (width 0) (type default)) + (uuid 2e5bc785-080c-449a-98a9-0b9ed94efba3) + ) + (wire (pts (xy 57.15 110.49) (xy 57.15 115.57)) + (stroke (width 0) (type default)) + (uuid 2e5f74a0-475a-4929-9842-6440e4e58ca2) + ) + (wire (pts (xy 149.86 41.91) (xy 146.05 41.91)) + (stroke (width 0) (type default)) + (uuid 30a6f9d6-d77d-48dc-8799-42b2047507f4) + ) + (wire (pts (xy 44.45 137.16) (xy 46.99 137.16)) + (stroke (width 0) (type default)) + (uuid 3423fbe9-8704-4998-a606-1dc75657817c) + ) + (wire (pts (xy 163.83 83.82) (xy 162.56 83.82)) + (stroke (width 0) (type default)) + (uuid 358176ef-687f-4859-81b9-15049f244d74) + ) + (wire (pts (xy 180.34 147.32) (xy 181.61 147.32)) + (stroke (width 0) (type default)) + (uuid 35e49aca-9757-48c9-902a-d284a1d6a157) + ) + (wire (pts (xy 34.29 105.41) (xy 30.48 105.41)) + (stroke (width 0) (type default)) + (uuid 36061f83-e0bc-4cb7-a7c2-37d4b98249be) + ) + (wire (pts (xy 49.53 177.8) (xy 55.88 177.8)) + (stroke (width 0) (type default)) + (uuid 36a14049-e0cb-49b7-899a-2ba4de3a1d3b) + ) + (wire (pts (xy 99.06 82.55) (xy 107.95 82.55)) + (stroke (width 0) (type default)) + (uuid 36bf8df1-1d8a-4aff-9b3b-1bddea9b4918) + ) + (wire (pts (xy 181.61 46.99) (xy 181.61 39.37)) + (stroke (width 0) (type default)) + (uuid 37cb5b47-61fe-4463-9e11-b1bfb84b3d9f) + ) + (wire (pts (xy 181.61 52.07) (xy 181.61 46.99)) + (stroke (width 0) (type default)) + (uuid 3886d21b-73eb-4cd0-b5f8-5d92aa92286f) + ) + (wire (pts (xy 46.99 46.99) (xy 46.99 41.91)) + (stroke (width 0) (type default)) + (uuid 3aa18e93-1142-49ac-bb66-2a6c5ae1c084) + ) + (wire (pts (xy 57.15 46.99) (xy 57.15 52.07)) + (stroke (width 0) (type default)) + (uuid 3bd75b6e-b17e-4445-8a60-8eb1d987705d) + ) + (wire (pts (xy 99.06 114.3) (xy 107.95 114.3)) + (stroke (width 0) (type default)) + (uuid 42f660cd-3877-4709-b9eb-d4ff407169bf) + ) + (wire (pts (xy 149.86 73.66) (xy 146.05 73.66)) + (stroke (width 0) (type default)) + (uuid 439796a8-aef1-4bb4-9980-d53e25e18d7d) + ) + (wire (pts (xy 215.9 146.05) (xy 224.79 146.05)) + (stroke (width 0) (type default)) + (uuid 44a3f310-a239-4593-9a4b-58fac9c7fd0d) + ) + (wire (pts (xy 207.01 74.93) (xy 207.01 71.12)) + (stroke (width 0) (type default)) + (uuid 44ccbbae-0e22-47a8-b581-532f58a7c45f) + ) + (wire (pts (xy 171.45 110.49) (xy 172.72 110.49)) + (stroke (width 0) (type default)) + (uuid 44e89c06-f1d8-4298-92d2-21e9a24314fe) + ) + (wire (pts (xy 44.45 73.66) (xy 46.99 73.66)) + (stroke (width 0) (type default)) + (uuid 459f28a3-0552-4f08-ad94-c3c9f4c1ff53) + ) + (wire (pts (xy 160.02 73.66) (xy 162.56 73.66)) + (stroke (width 0) (type default)) + (uuid 46099327-7222-42c6-bfd2-d89be19bf828) + ) + (wire (pts (xy 181.61 78.74) (xy 180.34 78.74)) + (stroke (width 0) (type default)) + (uuid 463d95b3-f05f-4209-8c9f-6b9520b2505c) + ) + (wire (pts (xy 46.99 147.32) (xy 46.99 142.24)) + (stroke (width 0) (type default)) + (uuid 47541d39-9682-4bc7-96ee-bdcb73e0d84e) + ) + (wire (pts (xy 66.04 71.12) (xy 67.31 71.12)) + (stroke (width 0) (type default)) + (uuid 49bd87b7-9f98-43ea-bd72-bdcf2b0fbe8b) + ) + (wire (pts (xy 215.9 50.8) (xy 224.79 50.8)) + (stroke (width 0) (type default)) + (uuid 4bd0e8e6-6979-48f3-9ac0-31a1ff27836a) + ) + (wire (pts (xy 40.64 175.26) (xy 55.88 175.26)) + (stroke (width 0) (type default)) + (uuid 4d485993-8f89-45fa-8844-7efce1739e50) + ) + (wire (pts (xy 44.45 41.91) (xy 46.99 41.91)) + (stroke (width 0) (type default)) + (uuid 50b73533-f491-4555-bb40-256c2f3c35df) + ) + (wire (pts (xy 80.01 186.69) (xy 80.01 175.26)) + (stroke (width 0) (type default)) + (uuid 50c4b462-c254-47df-b60d-8b78bde9945c) + ) + (wire (pts (xy 48.26 110.49) (xy 46.99 110.49)) + (stroke (width 0) (type default)) + (uuid 541365da-4179-4a90-a7ad-67b7e9375cd5) + ) + (wire (pts (xy 66.04 39.37) (xy 64.77 39.37)) + (stroke (width 0) (type default)) + (uuid 559ae45a-8bc0-4998-a321-3e4e8b668956) + ) + (wire (pts (xy 207.01 39.37) (xy 200.66 39.37)) + (stroke (width 0) (type default)) + (uuid 55eaeed1-f7b1-4129-98aa-ae7bb5c4cd28) + ) + (wire (pts (xy 34.29 132.08) (xy 34.29 137.16)) + (stroke (width 0) (type default)) + (uuid 56ba525c-4e90-4f2d-9985-07865978ac62) + ) + (wire (pts (xy 85.09 106.68) (xy 85.09 102.87)) + (stroke (width 0) (type default)) + (uuid 56f089d9-e6d8-46dd-be3d-e1e0f43bad89) + ) + (wire (pts (xy 171.45 78.74) (xy 172.72 78.74)) + (stroke (width 0) (type default)) + (uuid 57af7530-f3b4-417f-9ae1-dcd9ea5654b0) + ) + (wire (pts (xy 85.09 74.93) (xy 85.09 71.12)) + (stroke (width 0) (type default)) + (uuid 5907da08-ebaa-4629-a0d3-84362f345356) + ) + (polyline (pts (xy 15.24 21.59) (xy 248.92 21.59)) + (stroke (width 0) (type default)) + (uuid 5936d855-9b1c-4065-b916-b97723b22d11) + ) + + (wire (pts (xy 163.83 46.99) (xy 162.56 46.99)) + (stroke (width 0) (type default)) + (uuid 5b447be0-4c5f-4905-ae00-083a84e1e3f8) + ) + (wire (pts (xy 66.04 46.99) (xy 66.04 39.37)) + (stroke (width 0) (type default)) + (uuid 5b954675-1195-4870-bdb4-36b6a7dfd297) + ) + (wire (pts (xy 66.04 134.62) (xy 64.77 134.62)) + (stroke (width 0) (type default)) + (uuid 5bca4898-7777-4a04-af7a-50a7c55dfb55) + ) + (wire (pts (xy 200.66 106.68) (xy 200.66 102.87)) + (stroke (width 0) (type default)) + (uuid 5c4085e7-5195-471b-afbe-b74a3d93fa7c) + ) + (wire (pts (xy 30.48 177.8) (xy 40.64 177.8)) + (stroke (width 0) (type default)) + (uuid 5ccdd1b2-7359-46a5-b48a-62625b1ebeab) + ) + (wire (pts (xy 74.93 71.12) (xy 76.2 71.12)) + (stroke (width 0) (type default)) + (uuid 5cdf3c3e-0be7-455e-8d07-8e792675cca5) + ) + (wire (pts (xy 162.56 115.57) (xy 162.56 110.49)) + (stroke (width 0) (type default)) + (uuid 5e39bbb5-4f2e-4441-b7e9-4366661ce38a) + ) + (wire (pts (xy 34.29 137.16) (xy 30.48 137.16)) + (stroke (width 0) (type default)) + (uuid 5f9fe144-9906-476b-a00f-16c7548a0d23) + ) + (wire (pts (xy 64.77 115.57) (xy 66.04 115.57)) + (stroke (width 0) (type default)) + (uuid 5fd2b4a8-99ed-4d65-a2a8-17d43f01383f) + ) + (wire (pts (xy 163.83 52.07) (xy 162.56 52.07)) + (stroke (width 0) (type default)) + (uuid 6070d73c-a069-459a-acd7-83cc33f66dec) + ) + (wire (pts (xy 26.67 177.8) (xy 30.48 177.8)) + (stroke (width 0) (type default)) + (uuid 60dbc930-472d-4562-8512-bf350090fc08) + ) + (wire (pts (xy 91.44 71.12) (xy 99.06 71.12)) + (stroke (width 0) (type default)) + (uuid 61818aa0-ef53-407b-8190-223cfc3d9953) + ) + (wire (pts (xy 207.01 71.12) (xy 215.9 71.12)) + (stroke (width 0) (type default)) + (uuid 6239ea8c-1fc9-44e3-be5f-c01dbcf10834) + ) + (wire (pts (xy 85.09 138.43) (xy 85.09 134.62)) + (stroke (width 0) (type default)) + (uuid 62b2b557-90df-453b-b9b7-d30585bd6cb7) + ) + (polyline (pts (xy 281.94 21.59) (xy 251.46 21.59)) + (stroke (width 0) (type default)) + (uuid 62efd371-7f9d-408e-8d2f-1a9f72eb55c7) + ) + + (wire (pts (xy 163.83 78.74) (xy 162.56 78.74)) + (stroke (width 0) (type default)) + (uuid 62fcc338-21ac-49b5-ae47-2b3cf2eb3be7) + ) + (wire (pts (xy 181.61 142.24) (xy 181.61 134.62)) + (stroke (width 0) (type default)) + (uuid 63e0bbeb-f677-421a-8e11-004e129cdd7c) + ) + (wire (pts (xy 48.26 78.74) (xy 46.99 78.74)) + (stroke (width 0) (type default)) + (uuid 647c52b8-378a-4543-9d87-1c9b512f1121) + ) + (wire (pts (xy 181.61 46.99) (xy 180.34 46.99)) + (stroke (width 0) (type default)) + (uuid 652deb81-4915-4730-8e9a-c23922720f25) + ) + (wire (pts (xy 215.9 76.2) (xy 215.9 82.55)) + (stroke (width 0) (type default)) + (uuid 66682fb4-b284-4125-b071-52c9b3ff5816) + ) + (wire (pts (xy 232.41 114.3) (xy 238.76 114.3)) + (stroke (width 0) (type default)) + (uuid 6743ee87-6f25-4e7c-8e3e-804101f92a44) + ) + (wire (pts (xy 200.66 138.43) (xy 200.66 134.62)) + (stroke (width 0) (type default)) + (uuid 68db784a-1160-4e93-a4f2-1d1f80c2c461) + ) + (polyline (pts (xy 15.24 158.75) (xy 15.24 193.04)) + (stroke (width 0) (type default)) + (uuid 692e1468-0aec-498a-9d4d-e699575e20cb) + ) + (polyline (pts (xy 281.94 156.21) (xy 281.94 21.59)) + (stroke (width 0) (type default)) + (uuid 69c26ceb-00a8-48a5-87fe-291ae71b003f) + ) + + (wire (pts (xy 149.86 73.66) (xy 152.4 73.66)) + (stroke (width 0) (type default)) + (uuid 6b01f1ee-72aa-46c1-a25f-e536b304aab9) + ) + (wire (pts (xy 66.04 52.07) (xy 66.04 46.99)) + (stroke (width 0) (type default)) + (uuid 6b2b949b-a8b4-4f3c-8a91-6f9c77055ca0) + ) + (wire (pts (xy 30.48 175.26) (xy 40.64 175.26)) + (stroke (width 0) (type default)) + (uuid 6be00c49-3aec-4ace-9d29-040f9b7924cc) + ) + (wire (pts (xy 162.56 78.74) (xy 162.56 73.66)) + (stroke (width 0) (type default)) + (uuid 6db13793-945b-4983-a1bd-8ab9e6df94c9) + ) + (wire (pts (xy 162.56 137.16) (xy 165.1 137.16)) + (stroke (width 0) (type default)) + (uuid 6ecb3fc9-aa59-49de-962b-0fec9bf3291b) + ) + (wire (pts (xy 149.86 105.41) (xy 152.4 105.41)) + (stroke (width 0) (type default)) + (uuid 7004b8da-35ec-4b5c-b943-86674c4457aa) + ) + (wire (pts (xy 34.29 41.91) (xy 34.29 44.45)) + (stroke (width 0) (type default)) + (uuid 703f14a8-8945-435d-8433-2beb57f30b86) + ) + (wire (pts (xy 55.88 147.32) (xy 57.15 147.32)) + (stroke (width 0) (type default)) + (uuid 72293490-2800-461d-990c-000d4c53d55b) + ) + (wire (pts (xy 44.45 105.41) (xy 46.99 105.41)) + (stroke (width 0) (type default)) + (uuid 72f98029-359b-4690-a55e-bb19a61ca497) + ) + (wire (pts (xy 48.26 115.57) (xy 46.99 115.57)) + (stroke (width 0) (type default)) + (uuid 7317e093-d6bb-4ebb-b77b-3fcb81ddc284) + ) + (wire (pts (xy 55.88 142.24) (xy 57.15 142.24)) + (stroke (width 0) (type default)) + (uuid 73ce722e-471b-4379-b0a1-3f8827a40ac4) + ) + (wire (pts (xy 172.72 142.24) (xy 172.72 147.32)) + (stroke (width 0) (type default)) + (uuid 74c3cdd9-09ba-4dc1-bde0-c74fe504b430) + ) + (wire (pts (xy 66.04 78.74) (xy 64.77 78.74)) + (stroke (width 0) (type default)) + (uuid 754e3bed-f2a1-4e51-bb20-7fbe48659f48) + ) + (wire (pts (xy 55.88 186.69) (xy 55.88 180.34)) + (stroke (width 0) (type default)) + (uuid 75f1bc89-213c-4744-9f59-3a77b949ad4c) + ) + (wire (pts (xy 200.66 134.62) (xy 199.39 134.62)) + (stroke (width 0) (type default)) + (uuid 76c49e55-3aa9-4189-82eb-79c5c6be7cf5) + ) + (wire (pts (xy 181.61 71.12) (xy 182.88 71.12)) + (stroke (width 0) (type default)) + (uuid 77d7932b-1dfa-4845-a60e-8129fb5dfd96) + ) + (wire (pts (xy 66.04 134.62) (xy 67.31 134.62)) + (stroke (width 0) (type default)) + (uuid 77e0db34-105a-40cd-9cc1-53693a5b8e29) + ) + (wire (pts (xy 207.01 102.87) (xy 200.66 102.87)) + (stroke (width 0) (type default)) + (uuid 7907a3e9-4896-48b0-81ea-d563e1de273a) + ) + (wire (pts (xy 115.57 50.8) (xy 121.92 50.8)) + (stroke (width 0) (type default)) + (uuid 798d281a-e948-4559-b808-2ccfc68d9cdd) + ) + (wire (pts (xy 77.47 166.37) (xy 49.53 166.37)) + (stroke (width 0) (type default)) + (uuid 7bf9cad1-d287-4208-a16b-dd2a58e9567c) + ) + (wire (pts (xy 190.5 134.62) (xy 191.77 134.62)) + (stroke (width 0) (type default)) + (uuid 7e3675f5-a0c1-41db-86bf-ae5db7f6fd88) + ) + (wire (pts (xy 215.9 114.3) (xy 224.79 114.3)) + (stroke (width 0) (type default)) + (uuid 7f83de11-266b-4c47-87e7-f9d5f55327d0) + ) + (wire (pts (xy 66.04 147.32) (xy 66.04 142.24)) + (stroke (width 0) (type default)) + (uuid 7f8527b4-c8da-4016-ab77-a945f40a2e68) + ) + (wire (pts (xy 55.88 83.82) (xy 57.15 83.82)) + (stroke (width 0) (type default)) + (uuid 801dc75d-c910-46d4-9867-90b7fb11c57b) + ) + (wire (pts (xy 215.9 44.45) (xy 215.9 50.8)) + (stroke (width 0) (type default)) + (uuid 812228ea-10ca-4c98-a067-778cf5df0fa3) + ) + (wire (pts (xy 232.41 50.8) (xy 238.76 50.8)) + (stroke (width 0) (type default)) + (uuid 820479e2-4265-4a9d-b520-669742654fef) + ) + (wire (pts (xy 215.9 107.95) (xy 215.9 114.3)) + (stroke (width 0) (type default)) + (uuid 828b65f4-a2bb-444a-a552-fc8c32a49b7f) + ) + (wire (pts (xy 207.01 134.62) (xy 215.9 134.62)) + (stroke (width 0) (type default)) + (uuid 85e51d1d-8a89-4bc5-ac0b-addc81970e0d) + ) + (wire (pts (xy 207.01 71.12) (xy 200.66 71.12)) + (stroke (width 0) (type default)) + (uuid 87086df2-fb06-409a-ab5a-20835815cefc) + ) + (wire (pts (xy 115.57 114.3) (xy 121.92 114.3)) + (stroke (width 0) (type default)) + (uuid 8823a4a5-39ad-4e86-ad71-0549012bc61e) + ) + (wire (pts (xy 55.88 110.49) (xy 57.15 110.49)) + (stroke (width 0) (type default)) + (uuid 8828a378-85b2-4e12-bc8b-796caab09747) + ) + (wire (pts (xy 85.09 134.62) (xy 83.82 134.62)) + (stroke (width 0) (type default)) + (uuid 884c901a-0ecd-472d-ae80-f9e6a815dae8) + ) + (wire (pts (xy 238.76 82.55) (xy 238.76 73.66)) + (stroke (width 0) (type default)) + (uuid 8867d2e3-ecbd-40b8-a90c-1ac7402c8a24) + ) + (wire (pts (xy 91.44 43.18) (xy 91.44 39.37)) + (stroke (width 0) (type default)) + (uuid 8884ba66-a290-4714-94c3-3f8cbe3b7500) + ) + (wire (pts (xy 34.29 137.16) (xy 36.83 137.16)) + (stroke (width 0) (type default)) + (uuid 89185d22-1648-4308-8ac4-866b050953f7) + ) + (wire (pts (xy 238.76 114.3) (xy 238.76 105.41)) + (stroke (width 0) (type default)) + (uuid 8972bf5f-1d8b-4289-a4ca-b859b9293f04) + ) + (wire (pts (xy 74.93 102.87) (xy 76.2 102.87)) + (stroke (width 0) (type default)) + (uuid 89b22302-c168-4482-af55-bf6922045e96) + ) + (wire (pts (xy 200.66 71.12) (xy 199.39 71.12)) + (stroke (width 0) (type default)) + (uuid 8ad1d36e-0976-4419-994b-c69c892d846d) + ) + (wire (pts (xy 149.86 137.16) (xy 152.4 137.16)) + (stroke (width 0) (type default)) + (uuid 8cedaeba-1ad9-4dc7-8f3a-e9325f6bcb0a) + ) + (wire (pts (xy 181.61 71.12) (xy 180.34 71.12)) + (stroke (width 0) (type default)) + (uuid 8d6f9951-e794-4e1e-8ea4-619082d0a87d) + ) + (wire (pts (xy 26.67 175.26) (xy 30.48 175.26)) + (stroke (width 0) (type default)) + (uuid 8e825f54-105c-4f3d-95c8-c363ded489c7) + ) + (wire (pts (xy 171.45 147.32) (xy 172.72 147.32)) + (stroke (width 0) (type default)) + (uuid 8f1c70fc-fd9c-4bc1-9c27-ece239628f70) + ) + (wire (pts (xy 121.92 114.3) (xy 121.92 105.41)) + (stroke (width 0) (type default)) + (uuid 8fd9a358-c7dd-42a6-8002-7155ba98c44b) + ) + (wire (pts (xy 163.83 110.49) (xy 162.56 110.49)) + (stroke (width 0) (type default)) + (uuid 90698688-718c-4ca0-9541-7340ef8f804e) + ) + (wire (pts (xy 46.99 110.49) (xy 46.99 105.41)) + (stroke (width 0) (type default)) + (uuid 941c4519-c6b3-4ee7-9088-dc8e5fb1c0ff) + ) + (wire (pts (xy 232.41 82.55) (xy 238.76 82.55)) + (stroke (width 0) (type default)) + (uuid 950bb81d-cc16-411e-a16b-99bd79c0e9a7) + ) + (wire (pts (xy 99.06 76.2) (xy 99.06 82.55)) + (stroke (width 0) (type default)) + (uuid 9561f6e3-dc70-4941-9388-a4d4558f89f1) + ) + (polyline (pts (xy 248.92 21.59) (xy 248.92 156.21)) + (stroke (width 0) (type default)) + (uuid 9602774a-a83d-40d4-8b52-2032fb7f02b2) + ) + + (wire (pts (xy 160.02 105.41) (xy 162.56 105.41)) + (stroke (width 0) (type default)) + (uuid 9655df47-9c83-4bdd-af30-a6027d16886b) + ) + (wire (pts (xy 215.9 139.7) (xy 215.9 146.05)) + (stroke (width 0) (type default)) + (uuid 967367d2-19cf-4bd9-ac51-0f5211a49b81) + ) + (wire (pts (xy 34.29 100.33) (xy 34.29 105.41)) + (stroke (width 0) (type default)) + (uuid 9723ad08-2615-4238-868d-dbf08ca39a40) + ) + (wire (pts (xy 181.61 83.82) (xy 181.61 78.74)) + (stroke (width 0) (type default)) + (uuid 9760584c-7503-40e6-923e-60cef5a06b57) + ) + (wire (pts (xy 91.44 134.62) (xy 85.09 134.62)) + (stroke (width 0) (type default)) + (uuid 9772302d-7952-4d9c-97d8-d8d4a1d0ba16) + ) + (wire (pts (xy 46.99 105.41) (xy 49.53 105.41)) + (stroke (width 0) (type default)) + (uuid 978c349e-55e5-4146-abfa-56e72553a6b7) + ) + (wire (pts (xy 215.9 82.55) (xy 224.79 82.55)) + (stroke (width 0) (type default)) + (uuid 98c3e67c-076f-48d1-a286-912840378727) + ) + (wire (pts (xy 149.86 41.91) (xy 149.86 44.45)) + (stroke (width 0) (type default)) + (uuid 98d32911-ffec-4ea7-ab68-c4cb6ace3e41) + ) + (wire (pts (xy 162.56 46.99) (xy 162.56 41.91)) + (stroke (width 0) (type default)) + (uuid 9974b1f2-ad1c-4a17-b6f1-fdb21461f83d) + ) + (wire (pts (xy 181.61 78.74) (xy 181.61 71.12)) + (stroke (width 0) (type default)) + (uuid 99a42809-69e8-4dc0-bd0f-e6c93761e3de) + ) + (wire (pts (xy 149.86 132.08) (xy 149.86 137.16)) + (stroke (width 0) (type default)) + (uuid 9c1df874-405b-47be-847b-853f65fb3f16) + ) + (wire (pts (xy 55.88 46.99) (xy 57.15 46.99)) + (stroke (width 0) (type default)) + (uuid 9cbf565c-8fbd-412e-a606-90182b4cd187) + ) + (wire (pts (xy 80.01 175.26) (xy 72.39 175.26)) + (stroke (width 0) (type default)) + (uuid 9f7f6b6e-865d-43f5-b897-67533fdf3eb9) + ) + (polyline (pts (xy 251.46 21.59) (xy 251.46 156.21)) + (stroke (width 0) (type default)) + (uuid a01eef96-d153-43c6-b409-cd8ff79c6935) + ) + + (wire (pts (xy 66.04 78.74) (xy 66.04 71.12)) + (stroke (width 0) (type default)) + (uuid a0e61432-7d8c-44b1-940e-09e5fc6da3a7) + ) + (wire (pts (xy 162.56 110.49) (xy 162.56 105.41)) + (stroke (width 0) (type default)) + (uuid a29e6e67-f702-4d3e-a689-52571b29a0b9) + ) + (wire (pts (xy 46.99 83.82) (xy 46.99 78.74)) + (stroke (width 0) (type default)) + (uuid a4145751-9472-47bb-a62f-ff72f603424d) + ) + (wire (pts (xy 160.02 137.16) (xy 162.56 137.16)) + (stroke (width 0) (type default)) + (uuid a70bcd52-2a85-4b53-af28-ffbd9c5f7fb7) + ) + (wire (pts (xy 162.56 73.66) (xy 165.1 73.66)) + (stroke (width 0) (type default)) + (uuid a9d5d5cf-a752-4538-85b5-06de2525c4c5) + ) + (polyline (pts (xy 251.46 156.21) (xy 281.94 156.21)) + (stroke (width 0) (type default)) + (uuid aa0abcf1-b68c-4da5-b03d-fab424f5ef1c) + ) + + (wire (pts (xy 74.93 39.37) (xy 76.2 39.37)) + (stroke (width 0) (type default)) + (uuid ad3c6c2f-6691-45bf-8059-a58e249b2232) + ) + (wire (pts (xy 171.45 115.57) (xy 172.72 115.57)) + (stroke (width 0) (type default)) + (uuid ae312b0c-8b1b-44a7-a974-ee0dcf2b3b6f) + ) + (wire (pts (xy 91.44 74.93) (xy 91.44 71.12)) + (stroke (width 0) (type default)) + (uuid af027983-ebf2-462a-b70d-c385f5c06cdf) + ) + (wire (pts (xy 163.83 142.24) (xy 162.56 142.24)) + (stroke (width 0) (type default)) + (uuid af86dbca-43f6-4fac-8598-da8a38492a61) + ) + (wire (pts (xy 66.04 110.49) (xy 66.04 102.87)) + (stroke (width 0) (type default)) + (uuid afc61201-f9fa-4f68-808a-7f6d6e989a77) + ) + (wire (pts (xy 64.77 147.32) (xy 66.04 147.32)) + (stroke (width 0) (type default)) + (uuid b05c0fbc-8094-4117-a018-4788cb77e6dc) + ) + (wire (pts (xy 46.99 115.57) (xy 46.99 110.49)) + (stroke (width 0) (type default)) + (uuid b0d5881a-19b0-44d5-b2d9-a5a91bab9f70) + ) + (wire (pts (xy 40.64 177.8) (xy 49.53 177.8)) + (stroke (width 0) (type default)) + (uuid b1790080-1c5c-4d53-a74d-ca3e2c544a30) + ) + (wire (pts (xy 200.66 43.18) (xy 200.66 39.37)) + (stroke (width 0) (type default)) + (uuid b2682a1b-49ba-45d5-9fee-e5efd1a9ffc0) + ) + (wire (pts (xy 181.61 39.37) (xy 182.88 39.37)) + (stroke (width 0) (type default)) + (uuid b29ea114-64be-42ef-9226-51e27add50e2) + ) + (wire (pts (xy 91.44 134.62) (xy 99.06 134.62)) + (stroke (width 0) (type default)) + (uuid b2f668cd-3f6e-4e29-a544-251942116c03) + ) + (wire (pts (xy 49.53 166.37) (xy 49.53 177.8)) + (stroke (width 0) (type default)) + (uuid b357e682-0d67-4081-b9b4-6426197ed915) + ) + (wire (pts (xy 162.56 41.91) (xy 165.1 41.91)) + (stroke (width 0) (type default)) + (uuid b384dc4b-337e-49ff-acbd-1babd9cc5b18) + ) + (wire (pts (xy 207.01 39.37) (xy 215.9 39.37)) + (stroke (width 0) (type default)) + (uuid b4212fca-28bb-446a-9a4a-e1f6272a3ca9) + ) + (wire (pts (xy 66.04 102.87) (xy 64.77 102.87)) + (stroke (width 0) (type default)) + (uuid b518205f-cecd-4aa4-ba52-d5d4380752ab) + ) + (wire (pts (xy 180.34 83.82) (xy 181.61 83.82)) + (stroke (width 0) (type default)) + (uuid b6d14291-e0cf-406b-8b1f-3aff6d209a43) + ) + (wire (pts (xy 91.44 102.87) (xy 99.06 102.87)) + (stroke (width 0) (type default)) + (uuid b8d215d9-f027-44a5-995b-a4cf27cee050) + ) + (wire (pts (xy 200.66 39.37) (xy 199.39 39.37)) + (stroke (width 0) (type default)) + (uuid b9cd95b9-f0f7-4968-b3df-3e1bde73f322) + ) + (wire (pts (xy 91.44 71.12) (xy 85.09 71.12)) + (stroke (width 0) (type default)) + (uuid ba9ae457-e80f-498e-b389-7e4f3399fe53) + ) + (wire (pts (xy 181.61 115.57) (xy 181.61 110.49)) + (stroke (width 0) (type default)) + (uuid bab1d7e1-3e3f-4258-b37c-882af4580b43) + ) + (wire (pts (xy 34.29 41.91) (xy 36.83 41.91)) + (stroke (width 0) (type default)) + (uuid bb97fd5e-b024-4bd2-9100-1c8066f2e080) + ) + (wire (pts (xy 115.57 82.55) (xy 121.92 82.55)) + (stroke (width 0) (type default)) + (uuid bbd71fbb-8cf4-49c8-a065-19c2b5860b2c) + ) + (polyline (pts (xy 15.24 156.21) (xy 248.92 156.21)) + (stroke (width 0) (type default)) + (uuid bd66d9e3-f72e-4f62-a129-507c6509d3b2) + ) + + (wire (pts (xy 66.04 83.82) (xy 66.04 78.74)) + (stroke (width 0) (type default)) + (uuid be418376-031e-4563-af6e-06de98cebaf1) + ) + (wire (pts (xy 149.86 137.16) (xy 149.86 139.7)) + (stroke (width 0) (type default)) + (uuid be840d05-1b00-49ff-b9dc-649829b8e3bc) + ) + (wire (pts (xy 181.61 102.87) (xy 182.88 102.87)) + (stroke (width 0) (type default)) + (uuid bf07b7c1-faef-45b1-aa77-6cb820ed2d52) + ) + (polyline (pts (xy 15.24 156.21) (xy 15.24 21.59)) + (stroke (width 0) (type default)) + (uuid c1a6067d-2d9c-437c-9e8b-ea6ea955d6a3) + ) + + (wire (pts (xy 207.01 106.68) (xy 207.01 102.87)) + (stroke (width 0) (type default)) + (uuid c40ea1ef-bfc3-4887-a9ee-b9820bcd555c) + ) + (wire (pts (xy 172.72 110.49) (xy 172.72 115.57)) + (stroke (width 0) (type default)) + (uuid c48b8b65-a64e-43d7-b55a-e5b581c7b4bf) + ) + (wire (pts (xy 91.44 39.37) (xy 85.09 39.37)) + (stroke (width 0) (type default)) + (uuid c4a2c339-f17f-4ee5-a6c2-e175645bb3dc) + ) + (wire (pts (xy 34.29 68.58) (xy 34.29 73.66)) + (stroke (width 0) (type default)) + (uuid c6128af2-f098-4ffd-8867-12a11e228c92) + ) + (wire (pts (xy 171.45 52.07) (xy 172.72 52.07)) + (stroke (width 0) (type default)) + (uuid c6d22ce1-e474-4ceb-bd92-b04f7d4ee342) + ) + (wire (pts (xy 34.29 73.66) (xy 34.29 76.2)) + (stroke (width 0) (type default)) + (uuid c8201bd6-9468-4d3f-a6df-b7a8dd72776d) + ) + (wire (pts (xy 163.83 147.32) (xy 162.56 147.32)) + (stroke (width 0) (type default)) + (uuid c91f0916-92d5-4914-8034-c30d7ed8d1f5) + ) + (wire (pts (xy 72.39 177.8) (xy 77.47 177.8)) + (stroke (width 0) (type default)) + (uuid ca332236-e36b-4bdb-ba73-d15da59282cc) + ) + (wire (pts (xy 91.44 39.37) (xy 99.06 39.37)) + (stroke (width 0) (type default)) + (uuid ccf4557c-1230-416c-943c-7f5b1c827cff) + ) + (wire (pts (xy 190.5 39.37) (xy 191.77 39.37)) + (stroke (width 0) (type default)) + (uuid cd670ec3-4f57-45e1-a9f9-4d8c67d4c05a) + ) + (wire (pts (xy 85.09 39.37) (xy 83.82 39.37)) + (stroke (width 0) (type default)) + (uuid cf0f5869-e477-4a0d-bb43-0ab2e71a8224) + ) + (wire (pts (xy 48.26 147.32) (xy 46.99 147.32)) + (stroke (width 0) (type default)) + (uuid cfafcacb-7621-4ed5-b21e-9455a1db9b19) + ) + (polyline (pts (xy 15.24 158.75) (xy 97.79 158.75)) + (stroke (width 0) (type default)) + (uuid d08a51a8-4813-4a45-a6b5-128779bca512) + ) + + (wire (pts (xy 74.93 134.62) (xy 76.2 134.62)) + (stroke (width 0) (type default)) + (uuid d14cfe49-072b-4a30-b578-737c542052c7) + ) + (wire (pts (xy 149.86 137.16) (xy 146.05 137.16)) + (stroke (width 0) (type default)) + (uuid d441123f-0b46-450d-b281-98a4300e6b4f) + ) + (wire (pts (xy 59.69 186.69) (xy 55.88 186.69)) + (stroke (width 0) (type default)) + (uuid d4974e74-f5f3-4f9f-91f5-b10ad4ace002) + ) + (wire (pts (xy 66.04 71.12) (xy 64.77 71.12)) + (stroke (width 0) (type default)) + (uuid d4d7933a-7c7c-445b-a871-99de630d20c8) + ) + (wire (pts (xy 91.44 102.87) (xy 85.09 102.87)) + (stroke (width 0) (type default)) + (uuid d5399a89-ef6d-4a85-a80d-5978e44e29b8) + ) + (wire (pts (xy 238.76 146.05) (xy 238.76 137.16)) + (stroke (width 0) (type default)) + (uuid d5fbc565-084b-43a0-a745-263c5f0097c5) + ) + (wire (pts (xy 46.99 142.24) (xy 46.99 137.16)) + (stroke (width 0) (type default)) + (uuid d6559cc9-f433-4c8a-aa06-756c5dc96812) + ) + (wire (pts (xy 181.61 134.62) (xy 182.88 134.62)) + (stroke (width 0) (type default)) + (uuid d67246cf-984e-4ddc-a6d1-b06372226914) + ) + (wire (pts (xy 181.61 110.49) (xy 180.34 110.49)) + (stroke (width 0) (type default)) + (uuid d8bc0d3c-00d2-4c6c-8aed-b3f79a717fb5) + ) + (wire (pts (xy 48.26 142.24) (xy 46.99 142.24)) + (stroke (width 0) (type default)) + (uuid dd057d5e-b071-4dca-906b-79fb26f971d8) + ) + (wire (pts (xy 66.04 115.57) (xy 66.04 110.49)) + (stroke (width 0) (type default)) + (uuid dd33cdf8-d70c-4112-a2d4-23a452141b78) + ) + (wire (pts (xy 149.86 68.58) (xy 149.86 73.66)) + (stroke (width 0) (type default)) + (uuid ded07aff-3f2e-4f02-b82a-46793b291318) + ) + (wire (pts (xy 200.66 74.93) (xy 200.66 71.12)) + (stroke (width 0) (type default)) + (uuid df056ee8-44b7-4f50-b83b-792263501635) + ) + (wire (pts (xy 180.34 115.57) (xy 181.61 115.57)) + (stroke (width 0) (type default)) + (uuid dfbf5e11-998f-45d3-b626-d55dbe6fc792) + ) + (wire (pts (xy 99.06 107.95) (xy 99.06 114.3)) + (stroke (width 0) (type default)) + (uuid e08d8f4b-19c3-41ac-a561-ddfca94d24c5) + ) + (wire (pts (xy 99.06 139.7) (xy 99.06 146.05)) + (stroke (width 0) (type default)) + (uuid e1758192-52e8-4172-a750-99c4d47e3a4a) + ) + (wire (pts (xy 66.04 102.87) (xy 67.31 102.87)) + (stroke (width 0) (type default)) + (uuid e1907077-4ac6-4334-8a71-7bfbd65e5ed8) + ) + (wire (pts (xy 34.29 137.16) (xy 34.29 139.7)) + (stroke (width 0) (type default)) + (uuid e19e6db6-23e4-46d4-9eec-fc5267c2797b) + ) + (wire (pts (xy 99.06 50.8) (xy 107.95 50.8)) + (stroke (width 0) (type default)) + (uuid e28d50b4-02b0-4a39-8c57-9664c5d95f78) + ) + (wire (pts (xy 55.88 115.57) (xy 57.15 115.57)) + (stroke (width 0) (type default)) + (uuid e5110b4d-308c-4a46-8416-a6146a067c27) + ) + (wire (pts (xy 85.09 102.87) (xy 83.82 102.87)) + (stroke (width 0) (type default)) + (uuid e51abf12-c4b2-43f4-b0e8-fb82a4769dd2) + ) + (polyline (pts (xy 97.79 193.04) (xy 97.79 158.75)) + (stroke (width 0) (type default)) + (uuid e6bb139c-7c11-40c6-8362-fb1c17f1c68a) + ) + + (wire (pts (xy 121.92 146.05) (xy 121.92 137.16)) + (stroke (width 0) (type default)) + (uuid e79b6c0a-f2ac-4a94-bf33-fb2f834a6785) + ) + (wire (pts (xy 232.41 146.05) (xy 238.76 146.05)) + (stroke (width 0) (type default)) + (uuid e7ade246-b774-4925-ae47-cabbcddde1a2) + ) + (wire (pts (xy 149.86 36.83) (xy 149.86 41.91)) + (stroke (width 0) (type default)) + (uuid e942562c-9de4-446d-8c69-15e9a30b2fa2) + ) + (wire (pts (xy 238.76 50.8) (xy 238.76 41.91)) + (stroke (width 0) (type default)) + (uuid ea4456f0-db68-4948-b3e9-211272cf1dc8) + ) + (wire (pts (xy 46.99 78.74) (xy 46.99 73.66)) + (stroke (width 0) (type default)) + (uuid ea8f9907-d1c3-4190-ba4c-ea6d1903e9e5) + ) + (wire (pts (xy 181.61 110.49) (xy 181.61 102.87)) + (stroke (width 0) (type default)) + (uuid eae4eadd-fca4-47c1-888a-aa37e7ff4447) + ) + (wire (pts (xy 66.04 46.99) (xy 64.77 46.99)) + (stroke (width 0) (type default)) + (uuid ebf0bce4-d77e-4c9f-9816-c95f4ae5b429) + ) + (wire (pts (xy 181.61 102.87) (xy 180.34 102.87)) + (stroke (width 0) (type default)) + (uuid ec9affe5-ef88-44f1-b35a-a069792c750a) + ) + (wire (pts (xy 115.57 146.05) (xy 121.92 146.05)) + (stroke (width 0) (type default)) + (uuid ecc5f3bc-a981-4bc5-98dc-0a59b53e42a8) + ) + (wire (pts (xy 66.04 39.37) (xy 67.31 39.37)) + (stroke (width 0) (type default)) + (uuid ed59387f-9b06-43e0-815f-b3e549444c05) + ) + (wire (pts (xy 64.77 52.07) (xy 66.04 52.07)) + (stroke (width 0) (type default)) + (uuid ed67de84-1d0d-401c-beaf-64d290fb6f9c) + ) + (wire (pts (xy 99.06 146.05) (xy 107.95 146.05)) + (stroke (width 0) (type default)) + (uuid ee14d6ee-f4b3-4cb7-8f6f-60b708d663cb) + ) + (wire (pts (xy 57.15 78.74) (xy 57.15 83.82)) + (stroke (width 0) (type default)) + (uuid f1a5c31a-1edb-424d-9d58-f26705436798) + ) + (wire (pts (xy 181.61 142.24) (xy 180.34 142.24)) + (stroke (width 0) (type default)) + (uuid f3e42b6c-efcc-439d-a866-671d3b712887) + ) + (wire (pts (xy 66.04 110.49) (xy 64.77 110.49)) + (stroke (width 0) (type default)) + (uuid f5ab31d6-63a7-4c1a-b7b4-9f48d7dff7de) + ) + (wire (pts (xy 66.04 142.24) (xy 66.04 134.62)) + (stroke (width 0) (type default)) + (uuid f78bad86-ff81-4364-a845-cdf1a5927ec3) + ) + (wire (pts (xy 190.5 71.12) (xy 191.77 71.12)) + (stroke (width 0) (type default)) + (uuid f8a4f13b-6657-40cc-a5b0-c9253461b513) + ) + (wire (pts (xy 48.26 46.99) (xy 46.99 46.99)) + (stroke (width 0) (type default)) + (uuid f96028c5-16b5-4754-90f3-7809ccf6d7dc) + ) + (wire (pts (xy 85.09 71.12) (xy 83.82 71.12)) + (stroke (width 0) (type default)) + (uuid f9a26824-7c03-47fa-bf1f-d2de3f8f3df9) + ) + (wire (pts (xy 34.29 73.66) (xy 36.83 73.66)) + (stroke (width 0) (type default)) + (uuid fb39890e-968c-4a3c-84a5-3d3852439daa) + ) + (wire (pts (xy 207.01 138.43) (xy 207.01 134.62)) + (stroke (width 0) (type default)) + (uuid fb670c69-7319-4a2a-b302-f918f203ece0) + ) + (wire (pts (xy 34.29 41.91) (xy 30.48 41.91)) + (stroke (width 0) (type default)) + (uuid fbc942bb-c9b8-4df0-a511-821e091a5b5f) + ) + (wire (pts (xy 171.45 142.24) (xy 172.72 142.24)) + (stroke (width 0) (type default)) + (uuid fd02555e-aa05-4d7c-b5b2-b280bae65516) + ) + (wire (pts (xy 207.01 102.87) (xy 215.9 102.87)) + (stroke (width 0) (type default)) + (uuid feb32d0a-6142-4cbe-ad99-bf47f17bf403) + ) + (wire (pts (xy 200.66 102.87) (xy 199.39 102.87)) + (stroke (width 0) (type default)) + (uuid fed1139b-59fa-4523-bc21-c73922bca6aa) + ) + (wire (pts (xy 46.99 52.07) (xy 46.99 46.99)) + (stroke (width 0) (type default)) + (uuid ff6fa2b8-03df-49d2-9b38-11d7280f9c8d) + ) + (wire (pts (xy 57.15 142.24) (xy 57.15 147.32)) + (stroke (width 0) (type default)) + (uuid ff91f950-6863-4f2f-9dfc-e939c2c0d3fc) + ) + + (text "FRONTEND" (at 231.14 26.67 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 1fb77563-058d-432d-87c7-0044f8e6c6b5) + ) + (text "POWER BYPASS" (at 265.43 25.4 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 83e8e8a8-8346-4e65-a851-3026014d050f) + ) + (text "NEGATIVE POWER SUPPLY" (at 71.12 162.56 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid a8349830-9a78-4157-befc-9d7a3199d9c6) + ) + + (hierarchical_label "IN2" (shape input) (at 22.86 73.66 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 095889ff-1258-4962-8ef5-e079ca4730b0) + ) + (hierarchical_label "IN4" (shape input) (at 22.86 137.16 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 183c4e1f-e8ed-4c44-aca5-00a6e7f104bd) + ) + (hierarchical_label "OPA6" (shape output) (at 238.76 73.66 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 191b489b-9c9c-4293-b18f-6cfe8a786fbf) + ) + (hierarchical_label "OPA3" (shape output) (at 121.92 105.41 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 1c5ec913-fd7a-4acf-991f-676597b72a7b) + ) + (hierarchical_label "IN6" (shape input) (at 138.43 73.66 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 25ccf3a5-f991-4eb6-8aa4-b19afbe69d98) + ) + (hierarchical_label "IN7" (shape input) (at 138.43 105.41 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 486c5139-5037-47dd-ba8d-7e40cd962d5f) + ) + (hierarchical_label "OPA1" (shape output) (at 121.92 41.91 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5487cb54-ebcb-4a95-9dc1-c4afcac73274) + ) + (hierarchical_label "IN1" (shape input) (at 22.86 41.91 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 62c5d4b7-a4c9-441a-9d5e-38341c55e812) + ) + (hierarchical_label "OPA8" (shape output) (at 238.76 137.16 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7c5dab16-7f24-4943-ba6f-50b93bbbdb3c) + ) + (hierarchical_label "OPA7" (shape output) (at 238.76 105.41 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7ca4fbdc-c4a4-4a1e-9b38-ea6149f179ac) + ) + (hierarchical_label "OPA2" (shape output) (at 121.92 73.66 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 80175f22-61e2-488b-85c2-ab6183c3b752) + ) + (hierarchical_label "IN8" (shape input) (at 138.43 137.16 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 8b922b9f-b071-466c-ae5e-a5c70fb6b137) + ) + (hierarchical_label "IN3" (shape input) (at 22.86 105.41 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 8f652438-dff1-488d-aeb7-19dae13c8631) + ) + (hierarchical_label "OPA4" (shape output) (at 121.92 137.16 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c498909c-955a-4736-be4c-ee01a4debddb) + ) + (hierarchical_label "OPA5" (shape output) (at 238.76 41.91 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c541cd7d-a4b8-4c64-bb19-274f02a109dc) + ) + (hierarchical_label "IN5" (shape input) (at 138.43 41.91 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e14df242-54d3-44d2-ad93-1a1e2eaf7375) + ) + + (symbol (lib_id "power:GND") (at 49.53 68.58 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 001b0ab0-d03e-4ed1-86f5-ea3b6344b2b2) + (property "Reference" "#PWR014" (at 43.18 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 45.0866 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 49.53 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 49.53 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a4a01aba-1c7f-4c2d-9dce-beba82082c0e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR014") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 142.24 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 01cc89dd-9496-414e-b78b-77265dee3e00) + (property "Reference" "#PWR027" (at 142.24 92.71 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 142.24 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 142.24 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc848a0f-06fd-4509-81ea-959cab880cb5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR027") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 265.43 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 02a7dffd-c105-4085-8e35-a47c36b5b30f) + (property "Reference" "#PWR058" (at 265.43 35.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 265.43 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 265.43 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9135642e-a563-4967-a87a-b265126f6983)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR058") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 142.24 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 03ff0878-5d84-4c4c-b9fc-a148023ad163) + (property "Reference" "#PWR025" (at 142.24 29.21 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 142.24 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 142.24 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 89b9ba12-6fdd-4fd7-8dfb-59e0a4292826)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR025") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 34.29 143.51 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 04ee6531-cb19-4dd9-b501-e46793965e45) + (property "Reference" "R4" (at 35.56 143.51 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 34.29 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 32.512 143.51 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 34.29 143.51 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d609bf84-ae14-4984-b25f-09b8d15e6729)) + (pin "2" (uuid 809d17d8-851b-4840-9552-54a8196e8ddd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector:TestPoint") (at 87.63 172.72 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 0bf8b453-c325-45d3-a020-9f3723c3ee5d) + (property "Reference" "TP3" (at 92.71 172.72 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (at 92.71 174.625 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (at 87.63 177.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 87.63 177.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 527e7177-33de-4a87-be9c-1a59a47763f1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "TP3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 142.24 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 0ca5dd44-c27a-425f-9a07-05ce57e50727) + (property "Reference" "#PWR028" (at 142.24 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 142.24 123.4242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 142.24 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 31c05e83-d804-40dd-8b27-2e9ae46dd1b0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR028") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 91.44 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 0d6bef42-b4d0-4386-987f-e572b0cc1c2a) + (property "Reference" "#PWR023" (at 91.44 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 91.44 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 91.44 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 91.44 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 92466467-cf51-4595-a877-20c1b43f587b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR023") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 106.68 73.66 0) (unit 3) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 100966f8-8555-4532-a875-8c93787adb61) + (property "Reference" "U1" (at 106.68 64.8802 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 106.68 67.4171 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 105.41 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 107.95 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fbc)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d762)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6d8)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad7545446)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6a)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d0)) + (pin "10" (uuid fddaaef4-90df-467f-aa99-b5ed62211aef)) + (pin "8" (uuid 0b5a9bd9-0b3f-4ecd-aa49-dcb5449cbb47)) + (pin "9" (uuid e36236a4-4b3f-4139-a6ad-8b4c90edba91)) + (pin "12" (uuid 3ee47074-e5f7-466b-b262-de4345b3b520)) + (pin "13" (uuid 1ab9141c-6d43-4488-a3ff-365c1881ac9c)) + (pin "14" (uuid 892fa6d6-53e0-4498-bfcb-871ff3fd117a)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503560)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b69)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U1") (unit 3) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 259.08 39.37 0) (unit 5) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 113804f1-c2d1-4719-ad8b-904d72fc91c7) + (property "Reference" "U1" (at 257.175 38.5353 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TL084" (at 257.175 41.0722 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 257.81 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 260.35 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0ee642a8-abdb-49f6-ab9d-e8d0dfabdecf)) + (pin "2" (uuid 18f007e6-5de3-4f41-b555-dbd47057eaec)) + (pin "3" (uuid 19975709-79fd-4fec-b8df-4fa157451cdb)) + (pin "5" (uuid 7e08904b-7713-4056-80f7-1f2a3e3df15f)) + (pin "6" (uuid 604b99ad-5127-4f46-ab1b-ad6c5368f049)) + (pin "7" (uuid 0bcb1f4d-77ce-448d-bac8-e81305a4f96a)) + (pin "10" (uuid 624c7bf2-18e0-4d12-8d6c-090c1b00ff94)) + (pin "8" (uuid b000df6d-26ae-4331-82b9-6d36150373ae)) + (pin "9" (uuid 23771274-9809-4cc7-8cc2-31566f2cdd7f)) + (pin "12" (uuid 9339a476-154f-4dae-b341-f03974df0d25)) + (pin "13" (uuid 41eddae1-0102-4cee-8ab9-ac1bafaa181d)) + (pin "14" (uuid aaea6282-4de6-4026-9a93-10e0c8865fe9)) + (pin "11" (uuid f60c5fe7-6e02-471a-b8cd-d9935de778c3)) + (pin "4" (uuid 0e598765-3912-4e10-8a31-c0f843ee8e28)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U1") (unit 5) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 106.68 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 11564a8c-b221-4c9b-a14c-7c876e69864a) + (property "Reference" "C22" (at 268.351 105.8453 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 108.3822 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 106.68 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 224ac2dc-7367-476d-85b1-9084fa52e777)) + (pin "2" (uuid 459b88f6-a4b5-4573-b0f0-b0022eefe407)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C22") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 85.09 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 11e11f52-ce82-4cad-95ae-1fd58f6f548d) + (property "Reference" "R30" (at 83.82 78.74 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 85.09 76.2 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 86.868 78.74 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 85.09 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 07653a20-4bed-4efe-b1f4-23433e764e5f)) + (pin "2" (uuid cea5177c-4875-4323-8ec2-689c2a5ae731)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R30") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 157.48 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 11f13f4c-a6cc-4551-939d-20b5f88a8349) + (property "Reference" "#PWR034" (at 157.48 67.31 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 157.48 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 157.48 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 157.48 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b243e4de-c28d-4940-96da-d9d10b39d408)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR034") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 72.39 180.34 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 12605fc5-dcbc-4b0a-b87a-db08ef624f31) + (property "Reference" "#PWR0125" (at 78.74 180.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 76.8334 180.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 72.39 180.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 72.39 180.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 181e6fe8-1f2b-4ae5-ad91-e23d0beaefbb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0125") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 228.6 114.3 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1290d45c-9eee-4daf-b808-7ef9fa613ce6) + (property "Reference" "R71" (at 227.33 111.76 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 226.06 114.3 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 228.6 112.522 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 228.6 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f6b33805-f8f6-43bd-941e-cee6bc4e8ddc)) + (pin "2" (uuid bef284ab-7c22-4c00-8ad9-4a65643c5336)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R71") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 207.01 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 140dfa09-c271-4888-9aab-c6ac2e257b3a) + (property "Reference" "#PWR048" (at 207.01 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 207.01 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 207.01 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 207.01 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6db98252-812c-4c13-b4eb-d691256aa251)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR048") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 142.24 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 169b78ee-aa67-438d-98bd-8e1a4d7f0731) + (property "Reference" "#PWR026" (at 142.24 60.96 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 142.24 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 142.24 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 54370f80-a860-4edb-a2f0-9395752cc4f4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR026") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 265.43 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 17191722-1599-4066-8792-5f7e33a39daf) + (property "Reference" "#PWR066" (at 265.43 113.03 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 262.89 114.3 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 265.43 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4fd32120-af7a-40cd-b703-db881a2dda56)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR066") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 78.74 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 183c9754-aad6-4a41-b1ac-15bb9c077b40) + (property "Reference" "R19" (at 62.23 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 63.5 78.74 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 80.518 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9fe22e4b-e20c-439b-83ae-f3ef4f8c8ebc)) + (pin "2" (uuid 6c232c2c-54cb-4c11-80d9-809834249709)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R19") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 99.06 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1a43b9ae-bff9-4e99-9f06-a4e27c35cb6e) + (property "Reference" "C21" (at 268.351 98.2253 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 100.7622 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 35773308-87c9-40bb-bc1f-8c1d0cf42a22)) + (pin "2" (uuid 32dda489-62b3-4f71-aa13-c102bd899549)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C21") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 259.08 102.87 0) (unit 5) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 1a507692-35b7-437f-9075-52bc00e7a35b) + (property "Reference" "U3" (at 257.175 102.0353 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TL084" (at 257.175 104.5722 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 257.81 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 260.35 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0ee642a8-abdb-49f6-ab9d-e8d0dfabded0)) + (pin "2" (uuid 18f007e6-5de3-4f41-b555-dbd47057eaed)) + (pin "3" (uuid 19975709-79fd-4fec-b8df-4fa157451cdc)) + (pin "5" (uuid 7e08904b-7713-4056-80f7-1f2a3e3df160)) + (pin "6" (uuid 604b99ad-5127-4f46-ab1b-ad6c5368f04a)) + (pin "7" (uuid 0bcb1f4d-77ce-448d-bac8-e81305a4f96b)) + (pin "10" (uuid 624c7bf2-18e0-4d12-8d6c-090c1b00ff95)) + (pin "8" (uuid b000df6d-26ae-4331-82b9-6d36150373af)) + (pin "9" (uuid 23771274-9809-4cc7-8cc2-31566f2cdd80)) + (pin "12" (uuid 9339a476-154f-4dae-b341-f03974df0d26)) + (pin "13" (uuid 41eddae1-0102-4cee-8ab9-ac1bafaa181e)) + (pin "14" (uuid aaea6282-4de6-4026-9a93-10e0c8865fea)) + (pin "11" (uuid c28bc39c-3b09-492a-afe0-3c4a51406a2e)) + (pin "4" (uuid d43e1afb-676d-4251-a1cf-e89b0d6b56e1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U3") (unit 5) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 87.63 172.72 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 1a68097f-a14c-41f9-b17c-bf1e135915c5) + (property "Reference" "#PWR0152" (at 81.28 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 83.1866 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 87.63 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 87.63 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d74b522b-d630-479c-97c3-bf3997386978)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0152") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 195.58 39.37 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1ad26095-4ce4-4d15-9810-2fdbb645cc96) + (property "Reference" "R61" (at 196.85 36.83 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 196.85 39.37 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 195.58 41.148 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 195.58 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e10cbcaa-b11c-4f8a-9914-eb5509e88297)) + (pin "2" (uuid f6671ec4-7506-4447-ac31-8d01450a8109)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R61") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 40.64 137.16 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1be2e2bb-a266-45b5-b4cc-d5aed550e0cc) + (property "Reference" "R8" (at 41.91 134.62 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 43.18 137.16 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 40.64 138.938 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 347fba58-7a0b-42a0-95b3-5c424788ba05)) + (pin "2" (uuid e7e0017f-bbb0-4739-8ae4-6b208894b583)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 40.64 181.61 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1c84789c-a841-401b-8b81-c97b746485f8) + (property "Reference" "C59" (at 46.99 182.88 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 44.45 179.07 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 41.6052 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 181.61 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b35e3df0-fd2a-414b-b159-81116dbefe06)) + (pin "2" (uuid c53cafcd-5efb-410e-b8f6-e5f15479fbd3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C59") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 234.95 105.41 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1d15c1e0-e142-4d59-b605-dae0cbd8ab6e) + (property "Reference" "D23" (at 234.95 100.4402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 236.22 102.87 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 234.95 100.965 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 234.95 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b8fae45e-6357-466d-8fda-0f08cba34aaf)) + (pin "2" (uuid 5f3ee18c-b2b8-440f-bdba-76ab3dffa7d0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D23") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 106.68 137.16 0) (unit 3) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 1d7ae4e0-d97d-46ed-914a-42d49619ece9) + (property "Reference" "U2" (at 106.68 128.3802 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 106.68 130.9171 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 105.41 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 107.95 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fc1)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d767)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6dd)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad754544b)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6f)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d5)) + (pin "10" (uuid dfe3f84f-b3b6-4a0d-85ff-4039015c0229)) + (pin "8" (uuid 5614cef8-6e48-4c0b-a583-1b4c514dfa1a)) + (pin "9" (uuid b415c452-f95f-450a-83ef-000382d59b78)) + (pin "12" (uuid 3ee47074-e5f7-466b-b262-de4345b3b522)) + (pin "13" (uuid 1ab9141c-6d43-4488-a3ff-365c1881ac9e)) + (pin "14" (uuid 892fa6d6-53e0-4498-bfcb-871ff3fd117c)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503565)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U2") (unit 3) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 147.32 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1f475b57-2f93-4e0d-96aa-8be01c30c141) + (property "Reference" "R52" (at 168.91 149.86 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 168.91 147.32 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 149.098 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 718e7ad7-d46a-48ab-b539-3f855d169b64)) + (pin "2" (uuid 4e2cf850-a373-429a-b82a-f0ebba3d8f4c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R52") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 147.32 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1fec8ae0-5135-467a-bc96-fe1d38915cfd) + (property "Reference" "R24" (at 62.23 149.86 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 62.23 147.32 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 149.098 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 26fbfd08-586a-4f76-a83e-8c26dd41db67)) + (pin "2" (uuid 76e0f620-8680-4b81-ba29-ef401b895392)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R24") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 26.67 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 207fa34a-f3e9-48b9-a38e-e4360b2d4b6c) + (property "Reference" "#PWR02" (at 26.67 60.96 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 26.67 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 26.67 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2301b4e7-d418-4960-813e-7f0e1799eb49)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR02") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 207.01 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 21042396-1fa0-4e6a-a963-d8f20de1c6be) + (property "Reference" "#PWR045" (at 207.01 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 207.01 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 207.01 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 207.01 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c55b70a7-df2e-421e-8808-99a00e596553)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR045") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 34.29 147.32 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 214ae8a3-0e92-40ae-bad9-6300554ceaae) + (property "Reference" "#PWR08" (at 34.29 153.67 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 34.29 151.7634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 34.29 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 34.29 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 24bbc8f5-983d-4c85-8963-64cbf8c96428)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR08") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 186.69 134.62 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 2405b23c-01ac-4ac5-8035-9d61ac1825ac) + (property "Reference" "D20" (at 186.69 129.6502 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 186.69 132.1871 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 186.69 130.175 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 186.69 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ee488b95-64a9-4244-ac6b-d56465beaf08)) + (pin "2" (uuid 50dc43c2-b837-4214-a058-6ecd0fc49811)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D20") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 246.38 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 267c503e-4684-4dbc-b809-d01e15cfd245) + (property "Reference" "#PWR0151" (at 246.38 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 246.38 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 246.38 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 246.38 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid da59a399-628e-4032-870d-200729a591f2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0151") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 49.53 36.83 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 280957df-9f81-46c6-8b1f-9046c6234c98) + (property "Reference" "#PWR013" (at 43.18 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 45.0866 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 49.53 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 49.53 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2287ad52-68fc-4455-953d-6e6f13adbed6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR013") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 165.1 68.58 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 28b2c02d-92e3-48dd-b096-cbc195cbf91b) + (property "Reference" "#PWR038" (at 158.75 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 160.6566 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 165.1 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 165.1 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid edce56fa-b0aa-4831-a9d3-9581707be1f5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR038") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 125.73 146.05 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 2eaec96b-ca0f-4aef-8bb0-f4dae346eb84) + (property "Reference" "R85" (at 127 148.59 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 127 146.05 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 125.73 147.828 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 125.73 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 808a8626-98d5-48da-a94e-0370e69adb9b)) + (pin "2" (uuid 165389c8-b6d4-4754-b4a8-0f723445999b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R85") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 110.49 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 312a805b-a962-4e13-8ed5-522b0ec3f6ee) + (property "Reference" "R57" (at 177.8 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 179.07 110.49 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 112.268 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 636b26f8-f9c0-442a-a8b4-f0c727e1b9c6)) + (pin "2" (uuid bf8d47be-5155-428f-b0fe-3711672edb1f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R57") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 52.07 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 32971a0b-5ff0-489f-b006-a3bc41edea34) + (property "Reference" "R10" (at 53.34 54.61 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 53.34 52.07 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 53.848 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e96c9f68-e72a-4521-845b-556ac07e10da)) + (pin "2" (uuid 82b7a6c4-9cc6-40a9-a3fe-a91f3e99c82d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 30.48 167.64 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 334d1daa-3899-4fa6-a411-21c219f3087f) + (property "Reference" "#PWR0121" (at 30.48 161.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 30.48 163.1966 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 30.48 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 30.48 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9347167a-aa25-4e68-8f14-bb2c3321ce14)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0121") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 149.86 111.76 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 346bd0e1-8937-4dcf-9ab8-d28a1a8efc0f) + (property "Reference" "R39" (at 151.13 111.76 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 149.86 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 148.082 111.76 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 149.86 111.76 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7ad10c80-43c5-4842-8fe3-45c6f5797cfb)) + (pin "2" (uuid cbd6a371-8a42-4c32-817d-70c471255a56)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R39") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 149.86 143.51 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 366accff-925a-4979-8ccb-dea07dc865df) + (property "Reference" "R40" (at 151.13 143.51 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 149.86 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 148.082 143.51 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 149.86 143.51 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ee043d2e-fa52-47b5-82c7-0175d07b08e5)) + (pin "2" (uuid 51436d4c-0c3e-4f36-a65f-a963ca441d57)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R40") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 256.54 125.73 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 36abcf17-6e10-4b2b-b226-0027bb1ea2ac) + (property "Reference" "#PWR056" (at 256.54 129.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 256.54 122.1542 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 256.54 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fde8f385-5eb9-423d-8726-e38fa34e24f1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR056") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 85.09 142.24 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 381c7ac2-31f0-4136-ab90-716c7a7a8788) + (property "Reference" "R32" (at 83.82 142.24 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 85.09 139.7 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 86.868 142.24 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 85.09 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 398a59ce-22be-4f57-8ce7-18f6fc327f01)) + (pin "2" (uuid 0006db09-cb27-4a94-83e0-81273062be87)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R32") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 156.21 41.91 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 38d5db7f-1647-4350-9dac-21a5046666ce) + (property "Reference" "R41" (at 157.48 39.37 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 158.75 41.91 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 156.21 43.688 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 51142adf-dc95-4f16-8bdc-cf0107ef22ba)) + (pin "2" (uuid c712dc50-0231-4d87-ae13-02c4b413589a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R41") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 149.86 83.82 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 39580640-3f3b-422b-9f8b-2bfb946c2af9) + (property "Reference" "#PWR030" (at 149.86 90.17 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 149.86 88.2634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 149.86 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 149.86 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c887a925-696f-4f85-81cd-095f816d94d1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR030") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 142.24 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3a53561e-8b72-4170-990c-020340bbe175) + (property "Reference" "R51" (at 168.91 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 170.18 142.24 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 144.018 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8d44fb34-6e38-48ee-8915-e3c055dd417d)) + (pin "2" (uuid e1806f8c-74c1-4b6e-8d29-937f935438d7)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R51") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 46.99 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3d3fdd83-f960-4c58-9eaa-95d26f784e96) + (property "Reference" "R45" (at 168.91 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 170.18 46.99 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 48.768 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c1fd6783-a28c-4a6e-949e-373a626b914b)) + (pin "2" (uuid db5332e9-cc46-4dc4-bdfe-7426bcaf5406)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R45") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 115.57 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3e1f7b18-d180-48e0-85d5-a353e291620d) + (property "Reference" "R14" (at 53.34 118.11 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 53.34 115.57 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 117.348 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid dc8cd713-1b1e-439f-ac6c-fe4d6e82945f)) + (pin "2" (uuid 5f6201f9-6952-4c17-866f-03c890cc1b79)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R14") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 57.15 134.62 0) (unit 2) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3e1f8769-965e-4a9e-b290-5373cfd3f1a6) + (property "Reference" "U2" (at 57.15 125.8402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 57.15 128.3771 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 55.88 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 58.42 129.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d9cf2702-0fc2-4f40-b99b-9ba247513681)) + (pin "2" (uuid ed248ed5-d2be-4e54-9216-5127de6cf3c4)) + (pin "3" (uuid d97cde91-0a38-4135-ae7e-7acd8f0f4f49)) + (pin "5" (uuid cc8e2aaf-0741-49e7-bedf-0be3c344cce2)) + (pin "6" (uuid f9dabb7c-f050-4963-9a24-c18fb2db816c)) + (pin "7" (uuid c2ad0fad-ec27-4234-8160-ef054a75469d)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a0519)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d514d)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7c)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d4)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8ce)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3a)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc4)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a0347)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U2") (unit 2) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 265.43 71.12 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3e5b64d7-ae93-480b-b1a2-7739f7c4bddf) + (property "Reference" "#PWR062" (at 271.78 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 269.8734 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 265.43 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 666ba431-be49-487c-af52-1072052c445f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR062") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 74.93 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3f64a8c9-e8fb-4725-9433-0702034fb8f0) + (property "Reference" "C20" (at 268.351 74.0953 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 76.6322 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 74.93 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b41e80d5-b022-4af7-8bd5-c65137ec29fb)) + (pin "2" (uuid 84631094-6473-4ba3-96fe-148ed6d10806)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C20") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 49.53 100.33 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 40c684b3-9a1d-4516-a440-00c2e524d3a5) + (property "Reference" "#PWR015" (at 43.18 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 45.0866 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 49.53 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 49.53 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9190e222-cc31-464f-8498-d6e864db91ba)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR015") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 207.01 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 40d44a46-fe29-491e-bb4a-dca9324e5f1d) + (property "Reference" "C13" (at 209.931 46.1553 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 201.93 36.83 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 206.0448 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 207.01 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0a1834d0-f4d1-4fdf-bbde-a538c1222922)) + (pin "2" (uuid 5dd57de1-708e-4f74-8e56-a0dba610be3b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C13") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 186.69 39.37 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 419e10d9-5659-46b8-874b-8dec597007b4) + (property "Reference" "D17" (at 186.69 34.4002 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 186.69 36.9371 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 186.69 34.925 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 186.69 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9d21c886-4254-4981-b881-10a52edba871)) + (pin "2" (uuid 7d21f5c4-f0d3-415d-bae4-91a16993fcd9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D17") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 110.49 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 42997c65-c605-4934-991c-c96ebcffded4) + (property "Reference" "R49" (at 168.91 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 170.18 110.49 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 112.268 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2b225395-a54c-481b-b8a5-9daebc45b5e8)) + (pin "2" (uuid 6131a83e-f6d7-4790-aa2e-bac47e416445)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R49") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 165.1 132.08 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 435ff367-d061-4a8c-a482-973f4ab226d2) + (property "Reference" "#PWR040" (at 158.75 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 160.6566 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 165.1 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 165.1 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1977e114-8fda-420f-bee2-bb02be8d2367)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR040") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 195.58 102.87 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 438f9a28-d609-44e8-8123-7660ae5d57c3) + (property "Reference" "R63" (at 196.85 100.33 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 196.85 102.87 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 195.58 104.648 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 195.58 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eec4b9da-b2cd-4770-8c00-dbc64268eb52)) + (pin "2" (uuid 9d1283f7-00a4-4ed4-895b-3f007a0ef947)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R63") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 80.01 39.37 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 444a4b74-71b9-444c-af58-518e3b10e269) + (property "Reference" "R25" (at 81.28 36.83 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 81.28 39.37 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 80.01 41.148 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 80.01 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1066c7e4-fa6d-4d6e-93d0-c5947f084cf3)) + (pin "2" (uuid c3f7dec6-8298-4fc6-8004-8a3c57d6a078)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R25") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 91.44 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4507efa6-230e-4a35-96a4-8cf0c8a123eb) + (property "Reference" "C5" (at 94.361 46.1553 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 85.09 38.1 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 90.4748 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 91.44 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid dc3c51a0-e52d-4a8f-8aa9-dc00f4536eac)) + (pin "2" (uuid aeb408af-5ce2-45d8-8da9-6f984c3ce652)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 129.54 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 45e01499-908a-42d4-b11a-c8bd5f776697) + (property "Reference" "#PWR070" (at 129.54 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 129.54 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 129.54 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 129.54 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 3b322f27-a1a4-4878-906e-111c6c0bd37a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR070") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 30.48 185.42 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 46af3e88-c524-44ec-ad39-07f398b2103b) + (property "Reference" "#PWR0122" (at 30.48 191.77 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 30.48 189.8634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 30.48 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 30.48 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 75e251c3-d624-4dd7-85bd-3d5201688251)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0122") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 110.49 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 47c3c4a2-69e3-482b-928c-8525919c9f57) + (property "Reference" "R13" (at 53.34 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 54.61 110.49 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 112.268 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ffabc92b-c18a-4b00-9903-7f72f0c1688d)) + (pin "2" (uuid 64fcc42a-78bb-40f2-867f-be05f9e92758)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R13") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 111.76 50.8 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4892ec83-a5c7-40b8-9a6b-a4d2c72329c7) + (property "Reference" "R33" (at 110.49 48.26 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 109.22 50.8 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 111.76 49.022 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 111.76 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 80125172-326e-473c-a3a4-d2e4c650d636)) + (pin "2" (uuid 7b943954-c571-4c3e-a1f7-7beea9de4250)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R33") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 41.91 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4bc5a549-a995-4e05-bd7e-94830abc67cd) + (property "Reference" "#PWR010" (at 41.91 67.31 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 41.91 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 41.91 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 41.91 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 3923355e-922d-4b41-8095-0fc6ee03a424)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR010") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 46.99 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4c1956f1-5c9a-4e68-9ce2-98cdaa679aec) + (property "Reference" "R17" (at 62.23 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 63.5 46.99 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 48.768 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 67c5174b-11d2-4753-a552-c4de6648376a)) + (pin "2" (uuid 71c7547d-e500-4cf2-90a9-6be15c89265a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R17") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 78.74 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4d3291bf-75af-4ef5-80e7-11bc8f3b570d) + (property "Reference" "R11" (at 53.34 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 54.61 78.74 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 80.518 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid aa2bc717-d2fc-405f-9b89-32ba437bca66)) + (pin "2" (uuid 10771752-2617-4f47-a128-f17e65214e2c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 106.68 105.41 0) (unit 4) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4d8b636d-09d6-44d4-96a9-38666eadf5da) + (property "Reference" "U2" (at 106.68 96.6302 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 106.68 99.1671 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 105.41 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 107.95 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fc0)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d766)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6dc)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad754544a)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6e)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d4)) + (pin "10" (uuid a91451e1-38d4-446f-a727-dd5cc9f268e7)) + (pin "8" (uuid 28eee525-ab4d-4681-b820-dcb8ad8dadde)) + (pin "9" (uuid 4cdc0c2b-429b-4b64-8710-26ddc279a545)) + (pin "12" (uuid a360d15a-bb8b-47ee-a289-35e73dcc1050)) + (pin "13" (uuid 71ecba77-f08c-40b0-9a25-fb9a750d36d3)) + (pin "14" (uuid 1683f63e-e8e5-44d8-b3bb-3d5da088f7e8)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503564)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U2") (unit 4) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 228.6 146.05 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 50e38fc8-c563-4adc-9737-493e7e91e88c) + (property "Reference" "R72" (at 227.33 143.51 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 226.06 146.05 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 228.6 144.272 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 228.6 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 630e0ca6-971c-4539-8a92-1ce65b99d720)) + (pin "2" (uuid 0da2323d-4e94-42e6-b956-69909d442630)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R72") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 147.32 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5284a797-0423-47d2-9e77-6e9b48858bc4) + (property "Reference" "R60" (at 177.8 149.86 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 177.8 147.32 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 149.098 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 73748689-ba97-45a1-ae76-bfea0c5248cc)) + (pin "2" (uuid 928770bc-c479-4605-8d6c-fb3b26e7d147)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R60") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 200.66 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 5360231d-75a2-4822-8bdc-a0dbee410edd) + (property "Reference" "#PWR041" (at 200.66 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 200.66 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 200.66 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 200.66 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a08df9f4-5cdb-466d-8b60-03cd2a3c07de)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR041") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 234.95 41.91 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5386e6cd-e49d-4862-b24a-e7eb5b061a39) + (property "Reference" "D21" (at 234.95 36.9402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 236.22 39.37 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 234.95 37.465 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 234.95 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d74d71b9-4bac-4be6-82c4-80e1e3137dde)) + (pin "2" (uuid 4589cd3b-6418-458a-9d6b-8ee0b0ac89a0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D21") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 149.86 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 54c8c3a0-4a74-4047-8464-6cbfb0997422) + (property "Reference" "D13" (at 149.86 26.9072 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 149.86 29.4441 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 151.765 28.575 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 146.812 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 208fb44f-f3d4-41f1-bc8d-6b1257f2578f)) + (pin "2" (uuid b9de1721-bed0-4143-9581-7fa8e3f0c6f9)) + (pin "3" (uuid c13b50ad-ed69-4084-b3ea-662629bf1434)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D13") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 142.24 105.41 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 55fe96eb-c763-42e4-96c2-1d9f61c153b8) + (property "Reference" "C11" (at 142.24 99.5512 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 142.24 102.0881 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 146.05 104.4448 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 142.24 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c20d640-8466-405c-ad7c-f76811e2a8c0)) + (pin "2" (uuid 4c207fa2-dcf3-40f8-ab3f-2a24253b4675)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 78.74 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 573b13aa-08f2-4e22-993b-3b84a808e056) + (property "Reference" "R55" (at 177.8 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 179.07 78.74 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 80.518 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8fec695c-8fd5-4d8a-b0a9-fdb81f24d75b)) + (pin "2" (uuid 7472f0f5-3cff-4a73-a3d5-1e080e9aa953)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R55") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 129.54 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 581b480b-ce86-44a3-8835-4551d0bd2bde) + (property "Reference" "#PWR0147" (at 129.54 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 129.54 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 129.54 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 129.54 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 650fe67a-de29-472a-a004-635fb06e92c0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0147") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 83.82 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 581ff647-53fd-453a-bad6-67c218df31be) + (property "Reference" "R12" (at 53.34 86.36 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 53.34 83.82 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 85.598 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 42f1bf67-b467-4515-87db-ef28da24bc55)) + (pin "2" (uuid 846a8901-1885-4a8d-afd4-db6126918432)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R12") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 157.48 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 59421364-2872-4d8a-889c-8765eab4683e) + (property "Reference" "#PWR035" (at 157.48 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 157.48 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 157.48 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 157.48 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0c98046a-7746-4a54-918e-9fe564e59386)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR035") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 111.76 82.55 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5a68cafb-defe-4aef-9346-abf26c21bd99) + (property "Reference" "R34" (at 110.49 80.01 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 109.22 82.55 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 111.76 80.772 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 111.76 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 93c500e9-4305-4000-95c1-ff34e112d861)) + (pin "2" (uuid 98316686-8887-47af-a91b-12732164d30f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R34") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 125.73 82.55 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5a9f31a8-65f9-41e7-9874-2a3e635a565d) + (property "Reference" "R83" (at 127 85.09 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 127 82.55 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 125.73 84.328 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 125.73 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b4ccec60-9607-43b1-9176-eff5e17ec5e8)) + (pin "2" (uuid d27f9dcf-1b56-4737-a09b-17b169a45158)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R83") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 52.07 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5c105460-0c50-4d90-a7fb-7fbae8c748e6) + (property "Reference" "R46" (at 168.91 54.61 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 168.91 52.07 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 53.848 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f03d50d5-c6ca-433b-a8bb-6d4c5310ce09)) + (pin "2" (uuid a2fc328c-8819-4f3b-8000-1b470ee41773)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R46") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 41.91 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 5c5263b9-f0c9-46fc-8bf8-64db1360a8f3) + (property "Reference" "#PWR012" (at 41.91 130.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 41.91 123.4242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 41.91 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 41.91 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 652ee3ef-5e7d-4511-9f5d-1f75a9b174d6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR012") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 26.67 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 5f8b8559-799a-4049-a143-d49b1e552fd3) + (property "Reference" "#PWR01" (at 26.67 29.21 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 26.67 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 26.67 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6dfb8e8e-d390-4a3d-910f-700a91b3c439)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR01") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 85.09 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 62b0a4da-e891-4f8d-851f-6284295f8d5e) + (property "Reference" "#PWR019" (at 85.09 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 85.09 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 85.09 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 85.09 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 876f1e8d-3734-466f-8be0-f45ab9fc8ada)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR019") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 49.53 132.08 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 630ccc92-6dfd-4fc6-b947-66097f4be74b) + (property "Reference" "#PWR016" (at 43.18 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 45.0866 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 49.53 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 49.53 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9f1598b0-fdc0-4888-8095-eaf8a4f730e8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR016") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 256.54 140.97 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 63c49948-e07a-43e5-b052-cd5856a29304) + (property "Reference" "#PWR057" (at 256.54 143.51 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 254 144.78 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 256.54 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 090c0c98-f2a8-4f81-ad3f-d766f974f1c2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR057") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 34.29 83.82 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 652039ea-f07b-4945-95be-d8546de9eccc) + (property "Reference" "#PWR06" (at 34.29 90.17 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 34.29 88.2634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 34.29 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 34.29 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 105231bb-4959-4d4f-98f1-085e8bb51415)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR06") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 91.44 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 65288875-5214-4d93-afed-9b0a045c6f7e) + (property "Reference" "C6" (at 94.361 77.9053 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 85.09 69.85 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 90.4748 74.93 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 91.44 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6d4ad66f-e3dc-4c83-b1b2-cabb3f3fa578)) + (pin "2" (uuid 3561716c-6456-479f-9843-aa3eb728b31e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 40.64 185.42 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 6753c3a7-8c79-44e9-95be-7ed6d3acdfa2) + (property "Reference" "#PWR0124" (at 40.64 191.77 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 40.64 189.8634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 40.64 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 40.64 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f65879a4-3820-4e54-b80a-6f8f6503a176)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0124") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 149.86 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 68f3859b-047a-4cbd-b375-c1ab54c04665) + (property "Reference" "D14" (at 149.86 58.6572 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 149.86 61.1941 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 151.765 60.325 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 146.812 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 819f45f3-5f92-48ac-a325-87d60c98db3c)) + (pin "2" (uuid bb17f8ea-2183-47e1-96b9-061d97530784)) + (pin "3" (uuid 6ae05845-3932-402d-9870-20a4f0b3dd06)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D14") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 223.52 73.66 0) (unit 3) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 6f9951d7-cd85-4890-860b-88794b14cd87) + (property "Reference" "U3" (at 223.52 64.8802 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 223.52 67.4171 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 222.25 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 224.79 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fbe)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d764)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6da)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad7545448)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6c)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d2)) + (pin "10" (uuid 77d615ec-db99-47d0-a9ee-37b8fa0f66bb)) + (pin "8" (uuid 4758af64-d668-4d42-86e1-95e5273680e1)) + (pin "9" (uuid ce46868f-921d-49c4-bf20-282d35420a82)) + (pin "12" (uuid 3ee47074-e5f7-466b-b262-de4345b3b521)) + (pin "13" (uuid 1ab9141c-6d43-4488-a3ff-365c1881ac9d)) + (pin "14" (uuid 892fa6d6-53e0-4498-bfcb-871ff3fd117b)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503562)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U3") (unit 3) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 125.73 114.3 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 72355f16-08cf-46df-a676-ca5e5d82f66a) + (property "Reference" "R84" (at 127 116.84 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 127 114.3 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 125.73 116.078 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 125.73 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 18139340-07f7-4bb7-b91a-de26b75b3f8d)) + (pin "2" (uuid 497fabbd-0bc2-4c76-9530-6cc38aaa80ef)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R84") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 34.29 111.76 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 73ab2012-4550-43df-8d98-ae3075bd2286) + (property "Reference" "R3" (at 35.56 111.76 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 34.29 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 32.512 111.76 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 34.29 111.76 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 27f4ed21-4de3-4873-a4a5-7bb5228ee965)) + (pin "2" (uuid e68b744a-d1ba-4a22-a055-347ee243b687)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 91.44 142.24 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 77684912-7f9d-4167-8f67-4a64e6b2a316) + (property "Reference" "C8" (at 94.361 141.4053 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 85.09 133.35 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 90.4748 138.43 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 91.44 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a33dbfda-2f53-4678-88a2-31495f47cf3d)) + (pin "2" (uuid 52ef12c5-fbc9-4d97-bb1f-de08ea567408)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 67.31 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 77b200c1-f77f-4c5d-a531-0773287425e9) + (property "Reference" "C19" (at 268.351 66.4753 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 69.0122 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 67.31 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bcda4c27-0e8d-49c9-aa50-ea03a4856c13)) + (pin "2" (uuid 4ab411d3-fdbe-4c84-a58c-662d455469d0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C19") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 34.29 48.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 786432f2-77a7-4c55-a54a-465f782c4618) + (property "Reference" "R1" (at 35.56 48.26 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 34.29 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 32.512 48.26 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 34.29 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fbef766c-d7f1-44b9-8a70-5a92f3192e71)) + (pin "2" (uuid f489b652-5437-4969-8793-75ca3f035b25)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 207.01 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 791aa057-85da-47f7-abac-5804a2ca2bac) + (property "Reference" "#PWR046" (at 207.01 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 207.01 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 207.01 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 207.01 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eb511622-5ee6-49de-acf8-c5fcae09f624)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR046") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 110.49 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7ab11647-1918-4f04-84e9-a32cd78e2fdc) + (property "Reference" "R21" (at 62.23 113.03 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 63.5 110.49 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 112.268 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 96341348-4879-4214-96c9-ebd906657176)) + (pin "2" (uuid 79302772-e1ef-4f6c-b2f8-9de3a2940167)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R21") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 57.15 102.87 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 7ad9ab45-83cb-4b38-a5a8-633c93944970) + (property "Reference" "U2" (at 57.15 94.0902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 57.15 96.6271 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 55.88 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 58.42 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8e39c16e-46d6-4395-8454-a0b6c9e05629)) + (pin "2" (uuid da53397f-8fd2-40ec-b034-f69e451d4f17)) + (pin "3" (uuid cd166719-6751-4707-b36a-d1d8a0b9ff70)) + (pin "5" (uuid fed384f7-d728-4b51-a8ef-0640d0a4f554)) + (pin "6" (uuid f4c9d8c7-9cb2-49eb-8f75-cac3d0628833)) + (pin "7" (uuid 64a38767-658d-4a9a-b820-997038cd2b94)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a051a)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d514e)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7d)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d5)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8cf)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3b)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc5)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a0348)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 115.57 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7cb6f8eb-164d-4c8e-9446-7967ebce197f) + (property "Reference" "R50" (at 168.91 118.11 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 168.91 115.57 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 117.348 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 3a98017b-b1ab-4af2-875c-cb1cc19017d1)) + (pin "2" (uuid a1e3e2ed-87e0-45b6-ad44-49dcf05dd4e9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R50") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 147.32 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7d4aa1d4-6c9c-4b4d-81f7-16ad55c11a24) + (property "Reference" "R16" (at 53.34 149.86 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 53.34 147.32 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 149.098 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e21f545e-f903-419a-b7db-46e1b4ab92d8)) + (pin "2" (uuid 3c6c3d16-fb16-4771-9f0c-ff9422613d70)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R16") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 137.16 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7dd62122-0250-4d1c-81a2-ec071b341917) + (property "Reference" "C24" (at 268.351 136.3253 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 138.8622 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 93f26692-8008-4a7c-832d-6b104518735f)) + (pin "2" (uuid 91a8c54f-15f4-47b1-9ada-1afe79ecf1ce)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C24") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 142.24 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7ed236bb-bae9-4f53-97c0-5f027fdc7516) + (property "Reference" "R23" (at 62.23 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 63.5 142.24 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 144.018 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5bf2b610-f913-4501-aaba-699b21bf9ab6)) + (pin "2" (uuid 6e3bb58c-4bf0-4068-b331-407d8a3e3374)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R23") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 242.57 50.8 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 80a799b2-8bea-48c2-bdaa-c79a2a8b90a9) + (property "Reference" "R86" (at 243.84 53.34 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 243.84 50.8 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 242.57 52.578 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 242.57 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d0f307be-8280-4526-80b1-cfdc6c2cfc85)) + (pin "2" (uuid 67b037c8-0f34-49a1-8c55-c80916765775)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R86") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 80.01 134.62 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 825aefeb-dab5-4647-9201-63ab61a6ad12) + (property "Reference" "R28" (at 81.28 132.08 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 81.28 134.62 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 80.01 136.398 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 80.01 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c4d59fed-a0cf-410f-bc3a-0bd33d0080d6)) + (pin "2" (uuid 1f473e65-1428-41e3-9cbe-f43b135c5be8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R28") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 40.64 41.91 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 829ab881-b8c0-45ce-a339-e2d23ab48b66) + (property "Reference" "R5" (at 41.91 39.37 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 43.18 41.91 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 40.64 43.688 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4cbbffd1-ff92-4f64-bcc2-b445046e46f7)) + (pin "2" (uuid c125cf5b-1c47-49a1-9098-c724764dda30)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 195.58 134.62 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 836c2092-8fa8-4236-a3ed-c9bc65438bef) + (property "Reference" "R64" (at 196.85 132.08 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 196.85 134.62 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 195.58 136.398 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 195.58 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 07ce5137-81bc-46bc-a3e6-f382c2741715)) + (pin "2" (uuid 7eaecadf-cb74-408e-b017-22aee18f77c8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R64") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 87.63 167.64 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8429485e-79f3-4c13-b506-124c1f391998) + (property "Reference" "#PWR0117" (at 85.09 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 80.01 167.64 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 87.63 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 87.63 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc8093df-f7b0-45b2-801e-86787e964aa1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0117") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 85.09 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 85298d1e-eaa0-46a2-8439-ee4015a98894) + (property "Reference" "#PWR018" (at 85.09 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 85.09 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 85.09 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 85.09 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6f19efe3-c7ab-4d16-b3cc-da5f403a2567)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR018") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 34.29 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 85c9fd73-64e0-4230-bac0-f68b5fbd077c) + (property "Reference" "D1" (at 34.29 26.9072 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 34.29 29.4441 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 36.195 28.575 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 31.242 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9e580f0d-dacb-49b0-b670-08bd56947bc5)) + (pin "2" (uuid 57073d77-8b75-4c6c-81c6-99709bfd6101)) + (pin "3" (uuid c168005f-2c3c-4c91-8e38-233fc62364d6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 223.52 105.41 0) (unit 4) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 870e0a69-2d92-4d9a-9fc8-1c50d94e9969) + (property "Reference" "U4" (at 223.52 96.6302 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 223.52 99.1671 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 222.25 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 224.79 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fc2)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d768)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6de)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad754544c)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca70)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d6)) + (pin "10" (uuid a91451e1-38d4-446f-a727-dd5cc9f268e8)) + (pin "8" (uuid 28eee525-ab4d-4681-b820-dcb8ad8daddf)) + (pin "9" (uuid 4cdc0c2b-429b-4b64-8710-26ddc279a546)) + (pin "12" (uuid c86f090c-d2cc-4db5-973c-256a39dd2f6f)) + (pin "13" (uuid 7f9697e8-825a-412f-acae-36a092ab2ebf)) + (pin "14" (uuid 933c0c76-ee37-4e8c-80ff-9b579b4e3cb6)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503566)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U4") (unit 4) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 80.01 102.87 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 873c4985-da7f-4040-be26-3e25f46589d1) + (property "Reference" "R27" (at 81.28 100.33 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 81.28 102.87 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 80.01 104.648 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 80.01 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2ada381d-fae8-485b-80d5-e18cb791d411)) + (pin "2" (uuid 1c83a27c-97e8-4d16-8bde-81f219bfda47)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R27") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 200.66 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 87af4334-074b-4657-810b-416c6d087241) + (property "Reference" "R65" (at 199.39 46.99 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 200.66 44.45 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 202.438 46.99 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 200.66 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 819dce74-4796-4982-8623-ad93c25e53ad)) + (pin "2" (uuid 228c740f-c9c6-4868-b18e-2256c3d27dbb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R65") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 83.82 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 87cabdb2-aff8-4a68-bdcd-e7989fac02ac) + (property "Reference" "R20" (at 62.23 86.36 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 62.23 83.82 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 85.598 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c51a0e2c-f10a-413d-be23-12eeb871879b)) + (pin "2" (uuid 98cca2aa-1dc4-4321-a241-9bf63a1554f7)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R20") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 186.69 71.12 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 880344a6-fad0-4151-b7fc-352c188f08b3) + (property "Reference" "D18" (at 186.69 66.1502 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 186.69 68.6871 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 186.69 66.675 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 186.69 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2fe36a9f-ef2f-4052-8f80-b09bcfbad066)) + (pin "2" (uuid 3f292de6-21a3-414a-9180-a007f037ab1d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D18") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 256.54 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8861a852-e4bc-40f0-bba7-9f960e39f93b) + (property "Reference" "#PWR051" (at 256.54 49.53 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 254 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 256.54 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7733cd2b-efc5-4292-a2ca-59fd1e8c270a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR051") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector:TestPoint") (at 87.63 167.64 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 88e92ac5-2f6b-420c-a41d-f2b194fab978) + (property "Reference" "TP1" (at 92.71 167.64 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (at 92.71 169.545 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (at 87.63 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 87.63 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1361e305-0569-4f3b-9c36-490442af2ed4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "TP1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 242.57 82.55 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8908d9ea-e2b6-4fe8-b333-cfa214d90013) + (property "Reference" "R87" (at 243.84 85.09 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 243.84 82.55 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 242.57 84.328 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 242.57 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c74de687-7619-4299-bd85-3998bdbdf1cf)) + (pin "2" (uuid 90210eef-d723-4d63-80aa-60eb3bc7a5a4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R87") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 149.86 48.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8913193b-89d5-4504-9c6c-36ff6e7faab9) + (property "Reference" "R37" (at 151.13 48.26 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 149.86 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 148.082 48.26 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 149.86 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9b1361e4-3db3-4182-80be-b96f13666abf)) + (pin "2" (uuid 1496b03e-d30c-4926-b523-d094eb58e4a9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R37") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 200.66 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 894f94b9-18c5-4b3d-9452-eb7710d453f0) + (property "Reference" "#PWR042" (at 200.66 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 200.66 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 200.66 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 200.66 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ee721b77-a1dd-4098-8299-dd7156b94e71)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR042") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 78.74 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8a2a53f7-81da-4778-97c8-1786894b8c62) + (property "Reference" "R47" (at 168.91 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 170.18 78.74 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 80.518 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 150a3d29-6238-446a-808e-3cf826ea4831)) + (pin "2" (uuid dc3878aa-cf61-47eb-a02d-83c6a3e56273)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R47") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 223.52 41.91 0) (unit 4) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 8d851c86-b28c-482a-8c58-681853c4d49e) + (property "Reference" "U3" (at 223.52 33.1302 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 223.52 35.6671 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 222.25 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 224.79 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fbf)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d765)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6db)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad7545449)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6d)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d3)) + (pin "10" (uuid a91451e1-38d4-446f-a727-dd5cc9f268e6)) + (pin "8" (uuid 28eee525-ab4d-4681-b820-dcb8ad8daddd)) + (pin "9" (uuid 4cdc0c2b-429b-4b64-8710-26ddc279a544)) + (pin "12" (uuid c220ee93-48fd-4b0d-8ad4-5d7b484cfe94)) + (pin "13" (uuid 1fc8cf35-e427-4cec-9376-461f63f0e3c5)) + (pin "14" (uuid 997f9093-37fe-452a-8ee7-ff5cbe8c208e)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503563)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U3") (unit 4) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 265.43 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8dec0c34-da79-4389-a845-3b6830daaff2) + (property "Reference" "#PWR060" (at 265.43 49.53 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 262.89 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 265.43 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 215faf79-97ce-42fc-88f4-392daa084706)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR060") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 40.64 167.64 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 8fddaec1-943e-41ac-b66d-968bb91ddd3d) + (property "Reference" "#PWR0123" (at 40.64 161.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 40.64 163.1966 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 40.64 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 40.64 167.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e046128b-a4d8-455e-84d5-777d0c03fcc2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0123") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 91.44 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 90c984b7-11e6-4035-9b45-b3b811e9c10c) + (property "Reference" "C7" (at 94.361 109.6553 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 85.09 101.6 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 90.4748 106.68 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 91.44 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c01e2c38-8771-43e4-bf31-156e99c49a21)) + (pin "2" (uuid e9ff11f5-5a44-4c4d-9290-8dcc12eba57d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 242.57 114.3 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 92d40f42-e45e-46d1-bfc7-5081bdc226c2) + (property "Reference" "R88" (at 243.84 116.84 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 243.84 114.3 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 242.57 116.078 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 242.57 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f21236d1-ac5c-4715-b24e-b756b5da7c75)) + (pin "2" (uuid 2941d9c1-076e-442f-ac94-82a4c89a93c9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R88") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 52.07 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 93b405b4-2d0d-4178-8416-5b469130f201) + (property "Reference" "R54" (at 177.8 54.61 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 177.8 52.07 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 53.848 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 46115165-15cc-401e-aebd-a399816cf51d)) + (pin "2" (uuid eb5b765c-9b3c-4e92-8215-dc5488d06858)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R54") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 26.67 137.16 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 941d3a25-eb6f-4ef8-81fb-ab2a68ea6169) + (property "Reference" "C4" (at 26.67 131.3012 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 26.67 133.8381 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 30.48 136.1948 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 26.67 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9e5439bb-2fcc-4563-afcb-4a8a4348ddf0)) + (pin "2" (uuid 49eae2c7-cd49-46a6-8825-66b9a1c7b62e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 111.76 146.05 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9498acb4-a028-4247-9c1d-011fa3413ecb) + (property "Reference" "R36" (at 110.49 143.51 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 109.22 146.05 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 111.76 144.272 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 111.76 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid debe52ef-2f7c-4db9-8bea-67630bc2be7d)) + (pin "2" (uuid 41a38062-bdfb-4911-a559-03260d0a0333)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R36") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 118.11 137.16 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 950e2b98-f186-4163-a54f-c7f7c5849b97) + (property "Reference" "D12" (at 118.11 132.1902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 120.65 134.62 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 118.11 132.715 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 118.11 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e1e5f933-bcea-4ef5-b1cb-d70aed6b84df)) + (pin "2" (uuid e6f533c9-cd34-435d-857a-513a56d25cea)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D12") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 87.63 170.18 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 95cf352b-dbf1-43d0-863c-b8589fea350d) + (property "Reference" "#PWR0118" (at 91.44 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 80.01 170.18 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 87.63 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 87.63 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 47e73f99-33a0-4150-88d6-5d8308d2dbe2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0118") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 85.09 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 97ee199b-8394-43ed-9ed4-36a2b4a16989) + (property "Reference" "R31" (at 83.82 110.49 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 85.09 107.95 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 86.868 110.49 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 85.09 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 39991924-2387-4791-a5c1-bffb96c9c8a9)) + (pin "2" (uuid 5a7ec86c-cdd4-48ba-8f77-bb3c77972d45)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R31") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 26.67 41.91 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 982d1edc-414e-4677-825f-8afb30619acd) + (property "Reference" "C1" (at 26.67 36.0512 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 26.67 38.5881 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 30.48 40.9448 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 26.67 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ec116d26-bf90-49bd-bf49-8fc9ce501f74)) + (pin "2" (uuid 3ce8a98f-c158-4561-99df-92bfe29987c1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 142.24 73.66 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 98c26dfa-29b7-446c-bf7c-ae54af3553a3) + (property "Reference" "C10" (at 142.24 67.8012 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 142.24 70.3381 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 146.05 72.6948 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 142.24 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 38a46839-3481-45f4-a40d-ec6656c0cf31)) + (pin "2" (uuid 38537152-dafd-4220-a4d2-7fda246ca2e0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 149.86 115.57 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 99b04f63-2ee8-4a28-84db-5d28fdc800f1) + (property "Reference" "#PWR031" (at 149.86 121.92 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 149.86 120.0134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 149.86 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 149.86 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 91bf83ad-d95a-4b75-82fb-209392c3c6fe)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR031") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 80.01 71.12 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9a125809-0135-4800-a3a4-a1513817cef2) + (property "Reference" "R26" (at 81.28 68.58 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 81.28 71.12 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 80.01 72.898 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 80.01 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e356ea16-dbeb-40db-a9d7-6edd9b50cfa0)) + (pin "2" (uuid 3e230785-4411-4190-af9d-fe4703d20e16)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R26") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 200.66 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 9b11de97-2042-4106-ba73-8e431792742a) + (property "Reference" "#PWR043" (at 200.66 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 200.66 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 200.66 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 200.66 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f996a598-2fc2-472a-b15e-0d5fc3edaa5d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR043") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector:TestPoint") (at 87.63 170.18 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9b13f04f-7de5-477a-a012-1c6580cfb3bf) + (property "Reference" "TP2" (at 92.71 170.18 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TestPoint" (at 92.71 172.085 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (at 87.63 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 87.63 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 95bb39b2-a030-4b87-bef3-7ccefed360e6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "TP2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 34.29 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9edcca75-dbcb-4b58-9bb0-0833bb236bf7) + (property "Reference" "R2" (at 35.56 80.01 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 34.29 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 32.512 80.01 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 34.29 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 84806860-2e95-4073-884e-299e7f4f8531)) + (pin "2" (uuid 6afd49cf-2cc3-4ac1-802e-1dc2b490b9d2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 30.48 171.45 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9f63c9c7-cf86-45eb-925d-6764ff8b7155) + (property "Reference" "C56" (at 36.83 168.91 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "10uF/16V" (at 34.29 165.1 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 31.4452 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 30.48 171.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9db85223-9583-4f5c-8a8d-8b59212a69a6)) + (pin "2" (uuid c471c85e-2fdd-4e58-ab4a-28ad406d47a2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C56") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "NewLib:SGM3204") (at 55.88 175.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 9feb2207-dce4-457d-a39f-7f84dbb8779a) + (property "Reference" "U12" (at 64.135 169.071 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "SGM3204" (at 64.135 171.6079 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 48.26 163.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 48.26 163.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4070811e-c4f0-411d-bdb2-f0417b64645f)) + (pin "2" (uuid 36861bf4-567e-488b-bbba-3b1592195db4)) + (pin "3" (uuid 199fed90-63e7-4640-90a7-0cf7bac64b41)) + (pin "4" (uuid aa81a1b4-5e96-43d1-8b24-a06b9a5be147)) + (pin "5" (uuid f09f4b29-60ea-41e0-a31c-a7d5945e3864)) + (pin "6" (uuid 0560a608-5c3d-49a4-a363-0b17182a207f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U12") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 46.99 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a10a8cef-8017-4c9e-b4be-8885a57073b4) + (property "Reference" "R9" (at 53.34 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 54.61 46.99 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 48.768 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6ef574cf-7333-44d0-ad12-0ec86276af50)) + (pin "2" (uuid bb8f65f2-eed0-498f-9b0d-af975e9a0375)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 195.58 71.12 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a19488d2-9a67-45c8-a1c1-ff7044d58be2) + (property "Reference" "R62" (at 196.85 68.58 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "47R" (at 196.85 71.12 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 195.58 72.898 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 195.58 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 738ff735-1f64-46eb-b0ab-7b9cd7fcae8e)) + (pin "2" (uuid 3602a5c5-1309-4d88-be94-ffea131a937b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R62") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 265.43 102.87 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a1bc8448-0886-464e-811a-5ba08620ee43) + (property "Reference" "#PWR065" (at 271.78 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 269.8734 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 265.43 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9d1f07ef-c21a-4dc2-90b5-6a5ebfe8f060)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR065") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 40.64 73.66 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a20da0fd-9ab8-482b-a0ac-2a4254dd7d40) + (property "Reference" "R6" (at 41.91 71.12 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 43.18 73.66 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 40.64 75.438 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d880975e-00c1-42c6-849e-e7e7fcdf7bce)) + (pin "2" (uuid 01114f68-cea5-47a1-9148-3b56826dcdc4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 265.43 133.35 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a2302ead-808c-4540-95b6-77eb34eaf568) + (property "Reference" "#PWR068" (at 271.78 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 269.8734 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 265.43 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9ac439c1-3955-4588-a968-ff142b4dbf91)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR068") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 172.72 102.87 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a27df7c4-e85e-48f8-ad70-e8a5b1bd14f3) + (property "Reference" "U4" (at 172.72 94.0902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 172.72 96.6271 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 171.45 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 173.99 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 380061ac-b2e3-4b40-978d-5eb714755100)) + (pin "2" (uuid d7c564e7-558a-4155-8aa7-bf95485d541f)) + (pin "3" (uuid 6266ae98-67d0-40e8-bc43-0fba9c5f57ef)) + (pin "5" (uuid fed384f7-d728-4b51-a8ef-0640d0a4f556)) + (pin "6" (uuid f4c9d8c7-9cb2-49eb-8f75-cac3d0628835)) + (pin "7" (uuid 64a38767-658d-4a9a-b820-997038cd2b96)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a051d)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d5151)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd80)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d8)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8d2)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3e)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc8)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a034b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 234.95 137.16 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a821b409-df6d-4b53-af2f-f7e903621ea8) + (property "Reference" "D24" (at 234.95 132.1902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 236.22 134.62 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 234.95 132.715 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 234.95 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2dbb58af-3953-4fbc-8804-271aa3f60a38)) + (pin "2" (uuid 1fd364d7-8623-44f6-bef0-f3f6e8e0cc39)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D24") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 200.66 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a88e953f-1a37-4e1d-ad20-9ad1ed96bae2) + (property "Reference" "R66" (at 199.39 78.74 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 200.66 76.2 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 202.438 78.74 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 200.66 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 03ff8dc2-97f9-4689-948e-9b3e924e2e6f)) + (pin "2" (uuid b90d0a94-bf4d-42b5-84d4-3d913a790a8b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R66") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 149.86 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a9c046a6-5da6-4447-af35-94deba834ea9) + (property "Reference" "D15" (at 149.86 90.4072 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 149.86 92.9441 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 151.765 92.075 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 146.812 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1d1f6f20-0a95-4ca8-832c-38eb8874afed)) + (pin "2" (uuid 83c5bfc4-1ff4-4c42-9d4b-08587e1a7fc6)) + (pin "3" (uuid 28baf6ce-6ffb-440f-b2d0-d872476c4e04)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D15") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 246.38 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid aa2f0e5d-fedc-43ad-9d67-2dc3acecae9f) + (property "Reference" "#PWR0150" (at 246.38 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 246.38 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 246.38 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 246.38 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e31d81f0-6201-422e-831e-62d7d9d0b5b3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0150") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 157.48 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ada92e15-3055-4631-8db0-b8d5c0fdacbf) + (property "Reference" "#PWR033" (at 157.48 35.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 157.48 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 157.48 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 157.48 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8ce494f0-e1d8-4ef7-9389-e745ecc9dc66)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR033") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 34.29 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid adefc650-2116-49ec-8c57-bfa26b86fd9b) + (property "Reference" "D3" (at 34.29 90.4072 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 34.29 92.9441 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 36.195 92.075 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 31.242 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a8891ec3-c129-4de1-bfd2-233961bcf204)) + (pin "2" (uuid 68f5188a-4758-4b94-9155-ccf938a570d9)) + (pin "3" (uuid c97e9d38-7f56-45fc-b255-953d3dbf8a2a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 30.48 181.61 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ae854799-1249-49ca-9045-3fb79b6f664f) + (property "Reference" "C57" (at 36.83 182.88 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "10uF/16V" (at 34.29 179.07 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 31.4452 185.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 30.48 181.61 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8d37c906-6154-437f-80a5-496bfaa66073)) + (pin "2" (uuid e3876591-0b67-4e33-b065-7a7d4a9d70c9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C57") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 149.86 52.07 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid afb87ff3-bfab-4541-b002-a48f26745003) + (property "Reference" "#PWR029" (at 149.86 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 149.86 56.5134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 149.86 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 149.86 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc9e66bf-872e-489a-a60b-531dca0ef6f0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR029") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 52.07 142.24 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b013f3f6-1225-49bc-804f-ac4f2550365e) + (property "Reference" "R15" (at 53.34 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "200K" (at 54.61 142.24 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 52.07 144.018 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 52.07 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 104417a8-141a-4359-9bb2-d4a4bd6532da)) + (pin "2" (uuid 571e28ff-bb4e-44b3-8df9-77979445e041)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R15") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 242.57 146.05 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b0198819-1f2d-4ab2-a6cd-3ec622ff117e) + (property "Reference" "R89" (at 243.84 148.59 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 243.84 146.05 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 242.57 147.828 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 242.57 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 382cb5f1-a14a-4030-a7b5-b057edfc0b33)) + (pin "2" (uuid e3a048cf-5ce7-487d-bb1c-ea49b16f8265)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 129.54 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid b14c03c1-b1a0-428f-90a9-0ca41dece5f6) + (property "Reference" "#PWR0146" (at 129.54 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 129.54 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 129.54 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 129.54 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ada303f8-8e1b-4dd9-8e42-c277d6ec17cc)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0146") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 63.5 186.69 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b3de0f4d-3a44-46f8-93a0-7d761d4f7957) + (property "Reference" "C60" (at 68.58 185.42 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 74.93 187.96 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 59.69 187.6552 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 63.5 186.69 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4ecf249d-8a36-4fba-a2f6-739203d92f1e)) + (pin "2" (uuid 928138d5-4ec9-4901-a0b4-20864fb68e10)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C60") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 207.01 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b5089be1-c587-4c43-8f5a-5dbed71df848) + (property "Reference" "C15" (at 209.931 109.6553 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 201.93 100.33 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 206.0448 106.68 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 207.01 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 03267e62-87d0-4b85-919e-24c7da02673f)) + (pin "2" (uuid 8b10261e-1b8a-405d-9cf1-ec17ce2bed30)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C15") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 207.01 114.3 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid b582f117-3dba-4669-86f0-d788dd09cac1) + (property "Reference" "#PWR047" (at 207.01 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 207.01 118.7434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 207.01 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 207.01 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 199a4801-2a45-4eb5-8ace-cf2e799f829e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR047") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 156.21 73.66 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b613b7b4-fbb2-400d-ad16-9ddf92e9067b) + (property "Reference" "R42" (at 157.48 71.12 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 158.75 73.66 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 156.21 75.438 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 32c8f901-8b79-49b3-ada1-a9197d8cacd5)) + (pin "2" (uuid 52d0ea20-843a-4de0-b776-c2cdba57e498)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R42") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 83.82 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b63350c7-9263-4306-bd45-9602f2e1612d) + (property "Reference" "R56" (at 177.8 86.36 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 177.8 83.82 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 85.598 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 38bff32b-1047-408d-8774-4df5769a8cd2)) + (pin "2" (uuid 26949258-eccb-41d8-827c-19f208493d4f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R56") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 52.07 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b697df26-4eeb-48c6-b1f1-a65ab834e1a4) + (property "Reference" "R18" (at 62.23 54.61 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 62.23 52.07 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 53.848 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c356bb11-c08f-4feb-ba72-bf967be78a4c)) + (pin "2" (uuid 145b2500-e31d-4dc7-8b82-efb10214aa77)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R18") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 186.69 102.87 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ba728d57-5018-46c8-ac31-bfff86d3e1bb) + (property "Reference" "D19" (at 186.69 97.9002 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 186.69 100.4371 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 186.69 98.425 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 186.69 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a669b057-fcdd-493c-8fbd-456efa28092b)) + (pin "2" (uuid bca011c5-ccfc-45ae-8ca3-91afb21d8906)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D19") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 46.99 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid bb911f8d-3785-4eb1-a615-9ca4dcee938d) + (property "Reference" "R53" (at 177.8 49.53 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 179.07 46.99 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 48.768 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f07d86d2-1f6b-463d-99b8-64523fa4dbfe)) + (pin "2" (uuid bbe20fa5-9bbd-4ba8-ac78-e468100a59ac)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R53") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 26.67 105.41 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid bc1c1693-6ac0-4750-9635-dc227ef8c6f6) + (property "Reference" "C3" (at 26.67 99.5512 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 26.67 102.0881 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 30.48 104.4448 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 26.67 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 96768897-2c52-4a29-8f4d-f88a8a90309e)) + (pin "2" (uuid 68c6bdc7-1edf-4e85-a42d-b3dfc8c3e702)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 149.86 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid bc61398f-ab89-47b8-9952-566a136dc18d) + (property "Reference" "R38" (at 151.13 80.01 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1M" (at 149.86 81.28 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 148.082 80.01 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 149.86 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a4589ac3-8ee2-4b56-9d7b-c2338aa75f5d)) + (pin "2" (uuid 5309051b-f4ff-4dc0-8b0a-7f3cfb55ec3f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R38") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 207.01 142.24 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid bd01f21c-b2e4-4785-95a7-cbc706f30d5e) + (property "Reference" "C16" (at 209.931 141.4053 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 201.93 132.08 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 206.0448 138.43 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 207.01 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d1d5fc25-c44d-4058-bcdf-7f55e67cb604)) + (pin "2" (uuid ae640184-f328-4162-92d7-ab7fdbcc5385)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C16") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 91.44 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c347207e-8676-48ca-902e-910eaffb2e8a) + (property "Reference" "#PWR022" (at 91.44 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 91.44 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 91.44 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 91.44 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 857ddcf0-dd0b-4753-8e10-8651d694cb04)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR022") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 34.29 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c38d497d-8b8f-4ba1-be6e-bfbb91a3ff18) + (property "Reference" "D2" (at 34.29 58.6572 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 34.29 61.1941 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 36.195 60.325 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 31.242 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1da376e0-d618-43c8-adba-125b21c4de5d)) + (pin "2" (uuid 0940d7bd-0a03-471f-8aa9-7d4fdb408918)) + (pin "3" (uuid ba27009f-df8e-4e1c-b277-01ee376c0404)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 246.38 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c45c820a-b99d-446f-96b8-d0344599a449) + (property "Reference" "#PWR0149" (at 246.38 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 246.38 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 246.38 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 246.38 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4b569a85-f8a4-486f-9b70-c077c2b224d3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0149") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 259.08 71.12 0) (unit 5) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c48bd02d-c50a-4ccb-936f-b3aeb769ece8) + (property "Reference" "U2" (at 257.175 70.2853 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TL084" (at 257.175 72.8222 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 257.81 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 260.35 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0ee642a8-abdb-49f6-ab9d-e8d0dfabded1)) + (pin "2" (uuid 18f007e6-5de3-4f41-b555-dbd47057eaee)) + (pin "3" (uuid 19975709-79fd-4fec-b8df-4fa157451cdd)) + (pin "5" (uuid 7e08904b-7713-4056-80f7-1f2a3e3df161)) + (pin "6" (uuid 604b99ad-5127-4f46-ab1b-ad6c5368f04b)) + (pin "7" (uuid 0bcb1f4d-77ce-448d-bac8-e81305a4f96c)) + (pin "10" (uuid 624c7bf2-18e0-4d12-8d6c-090c1b00ff96)) + (pin "8" (uuid b000df6d-26ae-4331-82b9-6d36150373b0)) + (pin "9" (uuid 23771274-9809-4cc7-8cc2-31566f2cdd81)) + (pin "12" (uuid 9339a476-154f-4dae-b341-f03974df0d27)) + (pin "13" (uuid 41eddae1-0102-4cee-8ab9-ac1bafaa181f)) + (pin "14" (uuid aaea6282-4de6-4026-9a93-10e0c8865feb)) + (pin "11" (uuid f028ef63-fee3-4d90-ba5d-8600574b82b9)) + (pin "4" (uuid 1b766a80-9073-43fb-ae44-ee51b2101683)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U2") (unit 5) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 41.91 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c5330fc5-dbba-4dc9-b0bc-54f2c584998a) + (property "Reference" "#PWR09" (at 41.91 35.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 41.91 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 41.91 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 41.91 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 65ca6bf8-bc9a-4e42-bff9-356f2e674cc2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR09") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 26.67 177.8 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid c566c378-3fc1-4e77-a52d-efc35a8a3b11) + (property "Reference" "#PWR0120" (at 30.48 177.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 19.05 177.8 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 26.67 177.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 177.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fec293b9-d5a3-4df2-853b-367a2af98ed6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0120") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 256.54 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c569470d-60ed-448c-a65c-9b7948ba96c7) + (property "Reference" "#PWR054" (at 256.54 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 256.54 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 256.54 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 22730267-7102-46ca-8563-79f5cdfb0c2d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR054") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 71.12 102.87 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c6037c1e-a120-4174-bcee-c3b2a112c023) + (property "Reference" "D7" (at 71.12 97.9002 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 71.12 100.4371 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 71.12 98.425 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 71.12 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f474cbef-6219-4893-92fc-2765670fe3f8)) + (pin "2" (uuid 9f0d7e0d-8a04-4019-9c64-db246ce93c85)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 165.1 36.83 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c6186e72-14d0-46d2-b013-c60a9157fab4) + (property "Reference" "#PWR037" (at 158.75 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 160.6566 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 165.1 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 165.1 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 14f1f96a-a18f-4666-aa6a-62a4d7b59123)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR037") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 91.44 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c7ef3d30-72f8-42df-af6a-0a3ae37a6113) + (property "Reference" "#PWR021" (at 91.44 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 91.44 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 91.44 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 91.44 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b1cd7632-b073-4892-8f78-c583405ed10b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR021") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 223.52 137.16 0) (unit 3) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c999ff29-e317-4ff3-aaa7-97bc7d09daa0) + (property "Reference" "U4" (at 223.52 128.3802 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 223.52 130.9171 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 222.25 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 224.79 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fc3)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d769)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6df)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad754544d)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca71)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d7)) + (pin "10" (uuid 234c5d1c-29c4-4195-a50c-8ab4c160d317)) + (pin "8" (uuid 303d7cd1-7434-4c46-8ee8-e8654c2d39de)) + (pin "9" (uuid 40c58cc5-0a64-4b85-acbd-73dec89e5a9d)) + (pin "12" (uuid 3ee47074-e5f7-466b-b262-de4345b3b523)) + (pin "13" (uuid 1ab9141c-6d43-4488-a3ff-365c1881ac9f)) + (pin "14" (uuid 892fa6d6-53e0-4498-bfcb-871ff3fd117d)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503567)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b70)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U4") (unit 3) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 172.72 39.37 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ca5293bb-1a0b-4e0b-b00d-b760cdbc70e3) + (property "Reference" "U3" (at 172.72 30.5902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 172.72 33.1271 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 171.45 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 173.99 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c78fb598-8e1f-480a-a050-83f5d0cae984)) + (pin "2" (uuid b8d0858f-9403-4e08-9329-a089eb3df21b)) + (pin "3" (uuid f44c6591-8923-48e1-8f41-ad3ae5bc01ba)) + (pin "5" (uuid fed384f7-d728-4b51-a8ef-0640d0a4f553)) + (pin "6" (uuid f4c9d8c7-9cb2-49eb-8f75-cac3d0628832)) + (pin "7" (uuid 64a38767-658d-4a9a-b820-997038cd2b93)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a0518)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d514c)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7b)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d3)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8cd)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c39)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc3)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a0346)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 149.86 147.32 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid cad13324-c0d3-4af8-b13b-0fe5ff7673f2) + (property "Reference" "#PWR032" (at 149.86 153.67 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 149.86 151.7634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 149.86 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 149.86 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ffbc4632-e757-4643-8596-75766589fb52)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR032") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 256.54 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid cad4b724-13cc-4f89-92d7-2dd733b560ec) + (property "Reference" "#PWR053" (at 256.54 81.28 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 254 82.55 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 256.54 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bf359743-5ae8-46ff-9b74-3bba76c76f0e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR053") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 234.95 73.66 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid cc2ca39a-d947-4847-86da-00347ea27032) + (property "Reference" "D22" (at 234.95 68.6902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 236.22 71.12 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 234.95 69.215 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 234.95 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 93590931-6d74-4078-a5fc-770ab19f9b91)) + (pin "2" (uuid 04050e7d-3b57-4c42-b23e-37ce2ab6eca0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D22") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 125.73 50.8 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ce4df108-bb14-4343-b3c3-24d153e6d2a0) + (property "Reference" "R82" (at 127 53.34 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 127 50.8 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 125.73 52.578 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 125.73 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b7779583-d216-49b9-a653-1dd9130971da)) + (pin "2" (uuid 202c1447-e902-4846-b185-80eaeb6fe216)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R82") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 85.09 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid cebc26ad-b557-4ae0-b69c-0c7ad4b6fd49) + (property "Reference" "#PWR020" (at 85.09 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 85.09 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 85.09 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 85.09 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9c08714c-f7bd-4ea8-847e-e5f216665fda)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR020") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 167.64 83.82 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid cf2f27f9-4af9-498f-b1d0-e4a19f2e235f) + (property "Reference" "R48" (at 168.91 86.36 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "NC" (at 168.91 83.82 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 85.598 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 167.64 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5989ff28-7b54-4486-8756-5fa00124ccf6)) + (pin "2" (uuid 71cc7bf0-887b-4ca7-9363-6b64ca85b9ff)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R48") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 106.68 41.91 0) (unit 4) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid cfb02250-5e04-432b-894d-1f44f1547326) + (property "Reference" "U1" (at 106.68 33.1302 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 106.68 35.6671 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 105.41 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 107.95 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c1881ff-3324-4876-8273-3da5b6b68fbd)) + (pin "2" (uuid bf00cdb3-cdf6-4a54-9d38-8b06e5f5d763)) + (pin "3" (uuid 407fc0d9-84a9-40e9-8bfa-211f2dfeb6d9)) + (pin "5" (uuid 1e629f4f-b0ae-45cc-9453-638ad7545447)) + (pin "6" (uuid 9e087d9c-c30b-4601-87b4-6da53391ca6b)) + (pin "7" (uuid e1e54dcd-281b-43b1-b3b8-d2d0235f51d1)) + (pin "10" (uuid a91451e1-38d4-446f-a727-dd5cc9f268e5)) + (pin "8" (uuid 28eee525-ab4d-4681-b820-dcb8ad8daddc)) + (pin "9" (uuid 4cdc0c2b-429b-4b64-8710-26ddc279a543)) + (pin "12" (uuid 5e0c64ad-1195-4576-8425-0d01dcd57c18)) + (pin "13" (uuid 3e5d71b4-8c6d-4a7b-8e8b-8f6e0779fde9)) + (pin "14" (uuid 1f8a9da2-4bf7-49aa-9aa1-4f389da2afc9)) + (pin "11" (uuid 52ecbaac-ff8e-4bbf-9d2f-ede0a7503561)) + (pin "4" (uuid 9fe34bba-99aa-4cd0-aecc-73ba89642b6a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U1") (unit 4) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 57.15 39.37 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d01d3032-7475-4ff1-af70-1d0a5a1f8f1a) + (property "Reference" "U1" (at 57.15 30.5902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 57.15 33.1271 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 55.88 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 58.42 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1d810833-e62b-43a4-93d4-d31a74afffff)) + (pin "2" (uuid d73b88f5-5485-4817-8c16-1e3637a49643)) + (pin "3" (uuid da2e20c0-6f37-46bb-bd0b-c2e0025ec9e3)) + (pin "5" (uuid fed384f7-d728-4b51-a8ef-0640d0a4f552)) + (pin "6" (uuid f4c9d8c7-9cb2-49eb-8f75-cac3d0628831)) + (pin "7" (uuid 64a38767-658d-4a9a-b820-997038cd2b92)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a0517)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d514b)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7a)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d2)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8cc)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c38)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc2)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a0345)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 172.72 71.12 0) (unit 2) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d177daaa-15af-4408-aba6-28fd29ffedfd) + (property "Reference" "U3" (at 172.72 62.3402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 172.72 64.8771 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 171.45 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 173.99 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d9cf2702-0fc2-4f40-b99b-9ba247513683)) + (pin "2" (uuid ed248ed5-d2be-4e54-9216-5127de6cf3c6)) + (pin "3" (uuid d97cde91-0a38-4135-ae7e-7acd8f0f4f4b)) + (pin "5" (uuid 3f8e6936-8121-47c7-8330-1def15a87bed)) + (pin "6" (uuid c13c0ff7-b95f-48e8-ad18-858ab2f8cbdf)) + (pin "7" (uuid 94702fbe-09e4-42b2-9f77-93cf46296846)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a051c)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d5150)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7f)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d7)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8d1)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3d)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc7)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a034a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U3") (unit 2) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 41.91 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d17a5e0a-cc7a-4edb-838a-49a588783194) + (property "Reference" "#PWR011" (at 41.91 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 41.91 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 41.91 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 41.91 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c503ba2c-4408-4322-96b6-c1fb59bd22bc)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR011") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 265.43 125.73 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d1a9975a-5dac-40db-9239-abc45356459c) + (property "Reference" "#PWR067" (at 265.43 129.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 265.43 122.1542 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 265.43 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 73e9570e-a40e-4a47-add4-9784d556d4a0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR067") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 85.09 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d3ab6fb9-1976-45cf-bb35-a3c6c5a16cf3) + (property "Reference" "#PWR017" (at 85.09 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 85.09 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 85.09 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 85.09 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a6ad6ef4-1806-46e6-a30c-4f40d82c897e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR017") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 118.11 41.91 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid d4e229b6-89e9-410f-acbf-3d57211e1de6) + (property "Reference" "D9" (at 118.11 36.9402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 120.65 39.37 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 118.11 37.465 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 118.11 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6e742b9d-f9b6-41eb-bb58-967317a02168)) + (pin "2" (uuid 0dc24c69-413c-4e09-a015-c379bfc1dd4b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 142.24 41.91 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d67be1c6-15d2-411e-aafb-58a0334897f1) + (property "Reference" "C9" (at 142.24 36.0512 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 142.24 38.5881 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 146.05 40.9448 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 142.24 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f493b0fd-da7a-4585-a090-805429ad73fd)) + (pin "2" (uuid 9a1fc846-6f8d-43e6-8bb6-d6b68c8a47e8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 35.56 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid d785c2a3-e58a-4077-9cf0-74f52e26c7bf) + (property "Reference" "C17" (at 268.351 34.7253 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 37.2622 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 35.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f6331bf9-0ca2-4e19-989e-d94e8bea69b1)) + (pin "2" (uuid a91f32c2-6b68-4c39-a059-13cfefabd149)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C17") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 207.01 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid d7e42bf1-3dd6-44a1-aa3f-163798b61430) + (property "Reference" "C14" (at 209.931 77.9053 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "4.7uF/16V" (at 201.93 68.58 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 206.0448 74.93 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 207.01 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 75a5c1ff-088c-4de2-b4bd-71fcf449d36b)) + (pin "2" (uuid 5f3d4926-07ed-4115-ae03-47cbb0be45f3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C14") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 172.72 134.62 0) (unit 2) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d83ba1e4-afaf-4da2-bdee-71018081cdd2) + (property "Reference" "U4" (at 172.72 125.8402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 172.72 128.3771 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 171.45 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 173.99 129.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d9cf2702-0fc2-4f40-b99b-9ba247513684)) + (pin "2" (uuid ed248ed5-d2be-4e54-9216-5127de6cf3c7)) + (pin "3" (uuid d97cde91-0a38-4135-ae7e-7acd8f0f4f4c)) + (pin "5" (uuid a915baa1-64b4-4c0c-aa4b-9d6a9a15c40b)) + (pin "6" (uuid 8b06f483-6f14-48df-9743-f41a835a35af)) + (pin "7" (uuid 0d6e560d-0cce-4d4d-92e8-f1d5764c10f3)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a051e)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d5152)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd81)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d9)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8d3)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3f)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc9)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a034c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U4") (unit 2) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 200.66 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d8a36893-8211-439f-a5fc-aed0c2c4de3e) + (property "Reference" "#PWR044" (at 200.66 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 200.66 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 200.66 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 200.66 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bac2d089-c07d-4e97-a02c-438a93e07305)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR044") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 259.08 133.35 0) (unit 5) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d91ba0ed-c3d8-4f82-afbb-8558b81bf933) + (property "Reference" "U4" (at 257.175 132.5153 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "TL084" (at 257.175 135.0522 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 257.81 130.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 260.35 128.27 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0ee642a8-abdb-49f6-ab9d-e8d0dfabded2)) + (pin "2" (uuid 18f007e6-5de3-4f41-b555-dbd47057eaef)) + (pin "3" (uuid 19975709-79fd-4fec-b8df-4fa157451cde)) + (pin "5" (uuid 7e08904b-7713-4056-80f7-1f2a3e3df162)) + (pin "6" (uuid 604b99ad-5127-4f46-ab1b-ad6c5368f04c)) + (pin "7" (uuid 0bcb1f4d-77ce-448d-bac8-e81305a4f96d)) + (pin "10" (uuid 624c7bf2-18e0-4d12-8d6c-090c1b00ff97)) + (pin "8" (uuid b000df6d-26ae-4331-82b9-6d36150373b1)) + (pin "9" (uuid 23771274-9809-4cc7-8cc2-31566f2cdd82)) + (pin "12" (uuid 9339a476-154f-4dae-b341-f03974df0d28)) + (pin "13" (uuid 41eddae1-0102-4cee-8ab9-ac1bafaa1820)) + (pin "14" (uuid aaea6282-4de6-4026-9a93-10e0c8865fec)) + (pin "11" (uuid f87aaa8c-6fc4-46bf-9275-195dfd536382)) + (pin "4" (uuid 026f48d4-92d7-40e1-8a41-cd309c0cf4fd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U4") (unit 5) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 246.38 50.8 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid da3205f5-8e3e-4545-bf05-dab52b2a218e) + (property "Reference" "#PWR0148" (at 246.38 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 246.38 55.2434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 246.38 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 246.38 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7565b8eb-43e8-4ede-874a-e31b70d093fb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0148") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 34.29 52.07 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid da5ce432-98c8-48ab-8ed9-fcac8bd65d0d) + (property "Reference" "#PWR05" (at 34.29 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 34.29 56.5134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 34.29 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 34.29 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 82340cdc-9a45-46cc-9f1d-99af7a1ee25b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR05") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 26.67 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid dd7b3b9b-573a-4fb0-a138-f25afe95f835) + (property "Reference" "#PWR04" (at 26.67 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 26.67 123.4242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 26.67 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 34d080b2-1a38-4f36-ad72-b0ce9dd3f530)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR04") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 149.86 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ded60fda-9f74-49fd-94fc-eb4853400b6c) + (property "Reference" "D16" (at 149.86 122.1572 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 149.86 124.6941 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 151.765 123.825 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 146.812 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 85867cc0-8a28-4b7a-869a-43c0da87f95c)) + (pin "2" (uuid cb68a5c9-6545-4f35-8385-6445fc3350c3)) + (pin "3" (uuid 62357d18-2e8c-47a8-9a72-bcaa00f590dd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D16") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 156.21 137.16 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid dfbab8d4-dc8c-430f-8184-0482d46abae6) + (property "Reference" "R44" (at 157.48 134.62 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 158.75 137.16 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 156.21 138.938 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c5845b85-7df4-45e9-a425-0a683e60372b)) + (pin "2" (uuid 5457f4ae-c1bc-4dc7-a257-5707eb9364cc)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R44") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 200.66 142.24 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e030723b-7f47-4e54-a6df-d5deadcffce2) + (property "Reference" "R68" (at 199.39 142.24 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 200.66 139.7 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 202.438 142.24 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 200.66 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 06939ff1-1d7c-46fe-b187-40a2046e7251)) + (pin "2" (uuid 59943814-8d08-4674-94f0-0008225d6024)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R68") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 26.67 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e153cbdb-f11c-4f0c-a604-5113fb19df76) + (property "Reference" "#PWR03" (at 26.67 92.71 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 26.67 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 26.67 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 84e2cb5d-5cf7-4cf7-a38c-f02e50a4cf7b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR03") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 157.48 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e17013b0-88fb-4a0f-9acf-56dc499dd922) + (property "Reference" "#PWR036" (at 157.48 130.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 157.48 123.4242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 157.48 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 157.48 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2d2f1e2b-5d73-44b3-bfbb-e36382361f90)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR036") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 256.54 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e1b60d3e-1e70-45a2-8233-eae431daee70) + (property "Reference" "#PWR050" (at 256.54 35.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 256.54 28.1742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 256.54 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 3916d507-9961-4e36-a7c6-0020167c9b43)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR050") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 156.21 105.41 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e3051c48-5e8c-42c5-b4e9-843eb63680e2) + (property "Reference" "R43" (at 157.48 102.87 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 158.75 105.41 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 156.21 107.188 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5eb08039-c2bc-4671-961d-c8f9b1263dde)) + (pin "2" (uuid 58b6f809-c8a5-4aaf-b7ba-85b830df00e1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R43") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 34.29 115.57 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e33e1880-2561-403a-9bac-4372f622ba8f) + (property "Reference" "#PWR07" (at 34.29 121.92 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 34.29 120.0134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 34.29 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 34.29 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 74fbee51-26ce-4dda-b1b4-e7483dff5f5d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR07") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 40.64 105.41 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e55c3659-a563-4ab6-8c8b-f77200580977) + (property "Reference" "R7" (at 41.91 102.87 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "3.3K" (at 43.18 105.41 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 40.64 107.188 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4b58552d-5dbe-4606-b688-cbb591a21042)) + (pin "2" (uuid 9ab813d6-a170-42c7-9be6-d6c7dd8603cb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 71.12 134.62 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e6aded25-5788-476c-b76d-e83d2281cde4) + (property "Reference" "D8" (at 71.12 129.6502 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 71.12 132.1871 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 71.12 130.175 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 71.12 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1a3acd14-1bf1-4e4f-92e7-49a465aab585)) + (pin "2" (uuid 6a7b1afc-69c8-4e3b-a120-0af52e521377)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 26.67 73.66 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e6ce5c3c-ebd3-40dd-8511-ff83ed474c94) + (property "Reference" "C2" (at 26.67 67.8012 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 26.67 70.3381 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 30.48 72.6948 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 26.67 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc53478f-6264-4c45-831d-69e4d29b6a26)) + (pin "2" (uuid 4a6e0987-eea9-46ff-ac1d-17a2f08799ee)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 71.12 71.12 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e6f3f079-8ffc-4a1d-9bad-992c902f17af) + (property "Reference" "D6" (at 71.12 66.1502 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 71.12 68.6871 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 71.12 66.675 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 71.12 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9dc32cab-d006-47a5-b895-0e3a697655da)) + (pin "2" (uuid bc584cfd-c4ff-4344-a27f-26893115c949)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 200.66 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e75b432b-3f5c-4dde-ba23-30888d52a705) + (property "Reference" "R67" (at 199.39 110.49 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 200.66 107.95 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 202.438 110.49 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 200.66 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a37f2d4d-ae11-4987-b1f3-9a6cf6451a1a)) + (pin "2" (uuid 253c2e01-0638-4c34-843d-fcfa9f1bdafc)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R67") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 111.76 114.3 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e7d78304-81dd-4d8c-8a97-94977950a07c) + (property "Reference" "R35" (at 110.49 111.76 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 109.22 114.3 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 111.76 112.522 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 111.76 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 04a48e78-116f-4261-8588-3b32848df7e4)) + (pin "2" (uuid e9032644-0ba4-4bc6-908d-39b2e9ddecf3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R35") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 228.6 82.55 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e7e9eb83-1e03-41ad-a93d-227f1c10935b) + (property "Reference" "R70" (at 227.33 80.01 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 226.06 82.55 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 228.6 80.772 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 228.6 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 20bb4285-86d9-4bbe-93dd-3b31d0812c39)) + (pin "2" (uuid 62851a5b-f057-4649-9590-c18bce6c2c34)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R70") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Amplifier_Operational:TL084") (at 57.15 71.12 0) (unit 2) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e8625f12-b657-4d08-82a9-b8350d83ed12) + (property "Reference" "U1" (at 57.15 62.3402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "TL084" (at 57.15 64.8771 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 55.88 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tl081.pdf" (at 58.42 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d9cf2702-0fc2-4f40-b99b-9ba247513682)) + (pin "2" (uuid ed248ed5-d2be-4e54-9216-5127de6cf3c5)) + (pin "3" (uuid d97cde91-0a38-4135-ae7e-7acd8f0f4f4a)) + (pin "5" (uuid 535e854d-7620-439e-ae7a-9903a75e63f1)) + (pin "6" (uuid 1f1b192a-cc6c-41c1-9640-3ff7740608f2)) + (pin "7" (uuid 0883deff-60cb-48ec-b6ab-5a1fe36fa601)) + (pin "10" (uuid 91127657-1641-4842-be19-748b1e5a051b)) + (pin "8" (uuid 94c2a9f6-f4d2-400e-9888-4d4dfd6d514f)) + (pin "9" (uuid eb38260c-2b60-4178-8c65-7a1fd710fd7e)) + (pin "12" (uuid a9adc234-6e2f-4c31-a662-86cd13af28d6)) + (pin "13" (uuid 229c8002-8638-46fa-b709-fc53773ba8d0)) + (pin "14" (uuid f088ae83-d407-4af4-8385-2b5598d42c3c)) + (pin "11" (uuid ed22dce3-039f-4aa9-a464-c67b09883bc6)) + (pin "4" (uuid a8624f3e-3628-4615-bd90-b227fa5a0349)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "U1") (unit 2) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 265.43 140.97 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e9952ad8-72ae-4114-8f0d-eacaed972bdc) + (property "Reference" "#PWR069" (at 265.43 143.51 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 262.89 144.78 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 265.43 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2c2f1add-40fe-44a7-9a5c-1773a050292b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR069") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 165.1 100.33 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid eaf7fa47-bfd2-4b46-a55d-50d8d0503fcf) + (property "Reference" "#PWR039" (at 158.75 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 160.6566 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 165.1 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 165.1 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e79e99b9-ba0a-4f08-bce4-a55139a164cf)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR039") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 26.67 175.26 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid eb310f0a-7b84-4253-8ec9-84ba4703003e) + (property "Reference" "#PWR0119" (at 24.13 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 19.05 175.26 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 26.67 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 26.67 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cf7b8e0c-8a7e-4f17-97d0-b65f77656aca)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR0119") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 228.6 50.8 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ed2c0446-92a4-4302-b2b0-ed092e198e59) + (property "Reference" "R69" (at 227.33 48.26 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10K" (at 226.06 50.8 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 228.6 49.022 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 228.6 50.8 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2a8a6b69-ccdb-4779-a9f4-aaca6a9f2ff6)) + (pin "2" (uuid 873e2386-a5e5-44bc-b28b-ffc0387d05c6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R69") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 115.57 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid edb7b048-141e-43ed-8023-780ca3b573b1) + (property "Reference" "R58" (at 177.8 118.11 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 177.8 115.57 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 117.348 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 224a9676-ce81-4b34-bb08-8f75774f0a21)) + (pin "2" (uuid 5c860e02-963f-4e93-b360-b42062fc7a28)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R58") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 265.43 39.37 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid eeef693f-3adc-4542-97ac-31cd3e4d2610) + (property "Reference" "#PWR059" (at 271.78 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 269.8734 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 265.43 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1a8c04c8-0a36-4302-ada6-05b8648fb6c7)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR059") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 256.54 110.49 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ef5e2fa2-2fea-49c4-b9da-4e2bed5ee48b) + (property "Reference" "#PWR055" (at 256.54 113.03 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 254 114.3 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 256.54 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 110.49 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 72234f87-70ba-4986-ae0d-ce01de332d98)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR055") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:-5V") (at 265.43 78.74 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f2be9fb9-7042-45a7-8b59-7dc0bbaf3697) + (property "Reference" "#PWR063" (at 265.43 81.28 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "-5V" (at 262.89 82.55 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 265.43 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c6dfa572-1f40-4ca0-bb81-85ebe293ba7c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR063") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 91.44 146.05 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f3991151-2f72-4e40-8a03-4ebb78f5fea5) + (property "Reference" "#PWR024" (at 91.44 152.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 91.44 150.4934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 91.44 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 91.44 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bf86fb44-9fe4-461c-b80a-4bf92182ad02)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR024") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 265.43 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f3e75045-6cdb-424c-aa4f-5e9942c5b522) + (property "Reference" "#PWR064" (at 265.43 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 265.43 91.6742 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 265.43 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1b5476e9-38aa-4ab6-b7ec-c46e3250ce95)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR064") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 118.11 105.41 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f47df97c-01b2-49ad-b5fb-23e3e4f3197d) + (property "Reference" "D11" (at 118.11 100.4402 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 120.65 102.87 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 118.11 100.965 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 118.11 105.41 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 482694de-2981-4acc-b6a8-3a732416ad7c)) + (pin "2" (uuid 277ac7d5-6fac-445f-9751-13fd47563e62)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 256.54 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f510f8e3-c866-4f5b-8e6c-4cf3d93187ca) + (property "Reference" "#PWR052" (at 256.54 67.31 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 256.54 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 256.54 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 256.54 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid afba9064-fc17-4aa0-8a10-a2093df6268a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR052") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 142.24 137.16 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f53e9fc0-a4ac-4870-be72-37180d32e711) + (property "Reference" "C12" (at 142.24 131.3012 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "2.2nF/50V" (at 142.24 133.8381 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 146.05 136.1948 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 142.24 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 62d1e86e-1f76-40f5-95a9-a546e8fac9e8)) + (pin "2" (uuid 2b756fea-f2ae-4406-b51d-7f51e077dc8f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C12") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 60.96 115.57 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f5ebc91b-f3da-43da-9eb7-563a6c812757) + (property "Reference" "R22" (at 62.23 118.11 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "0R" (at 62.23 115.57 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 60.96 117.348 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 60.96 115.57 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 37966075-ac03-4ff1-a454-bb6b146ad194)) + (pin "2" (uuid a424f78a-6927-4d5e-ba96-cd728b8c9d6a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R22") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:BAT54S") (at 34.29 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f610ae85-3be3-43a9-91ce-01add1a77a7e) + (property "Reference" "D4" (at 34.29 122.1572 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BAT54S/BAV99" (at 34.29 124.6941 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 36.195 123.825 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Datasheet" "https://www.diodes.com/assets/Datasheets/ds11005.pdf" (at 31.242 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 20aaf9aa-5517-441c-a501-ef981f431483)) + (pin "2" (uuid 94f3643e-0238-4d62-8e52-188594c1d10d)) + (pin "3" (uuid 211d1a91-5037-4351-a62a-c80f26849b31)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 176.53 142.24 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f7c2f525-7edb-472b-a379-883fa4b07529) + (property "Reference" "R59" (at 177.8 144.78 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100K" (at 179.07 142.24 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 176.53 144.018 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 176.53 142.24 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 298b20de-a55a-4a9c-ad05-e44179d66ef8)) + (pin "2" (uuid 775861a2-36d6-43bc-86ea-21c9b2f5d750)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R59") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 43.18 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f7cc42a9-e23e-4f30-9414-35983dfb9950) + (property "Reference" "C18" (at 268.351 42.3453 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 44.8822 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b7dd5703-dc5a-443e-aa4e-d7022e8b1271)) + (pin "2" (uuid 26e47667-9e06-47fa-943f-449f69c9ae81)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C18") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 71.12 39.37 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f8d5068f-d722-417c-910b-bd4cbbaad360) + (property "Reference" "D5" (at 71.12 34.4002 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 71.12 36.9371 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 71.12 34.925 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 71.12 39.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 63494394-9538-4aeb-b18e-6ac2c34f4bbc)) + (pin "2" (uuid f402bb6e-9267-4c89-a1fe-4f3cfed3096d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 265.43 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid fb4b7ea2-dbcd-4867-a561-6e14bb4bfb10) + (property "Reference" "#PWR061" (at 265.43 67.31 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 265.43 59.9242 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 265.43 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 265.43 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eec342e9-6201-43ba-8073-decae83c514d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR061") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 129.54 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid fc3e8c3b-de27-461e-9df2-bfa7069aaf12) + (property "Reference" "#PWR071" (at 129.54 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 129.54 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 129.54 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 129.54 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a695b77f-db36-4062-922a-4cb3e4b05be8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "#PWR071") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N4148WS") (at 118.11 73.66 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid fcf6ae9c-5d7e-4422-972a-698c3616a240) + (property "Reference" "D10" (at 118.11 68.6902 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N4148WS" (at 120.65 71.12 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 118.11 69.215 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.vishay.com/docs/85751/1n4148ws.pdf" (at 118.11 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc8bfd65-c497-4370-87d4-5ad27ee0915b)) + (pin "2" (uuid 8ec61f9d-726b-4e87-a011-e833ca683a1a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "D10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 40.64 171.45 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid fd598123-cc02-4c41-b10f-da136e59450c) + (property "Reference" "C58" (at 46.99 168.91 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 44.45 163.83 90) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 41.6052 175.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 40.64 171.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4bd63642-93ab-482c-a1ff-f3e134f27850)) + (pin "2" (uuid 5c94856e-ac41-4371-b9cd-aef4f17350e2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C58") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 85.09 46.99 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid fd7dc4cc-b506-489c-b5d0-d65ddd7474e6) + (property "Reference" "R29" (at 83.82 46.99 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 85.09 44.45 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 86.868 46.99 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 85.09 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid dcb44959-c6d5-4764-8fe0-76120e4e51ab)) + (pin "2" (uuid e9f27eb2-53ce-41e3-bbf2-691bde3aaf32)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R29") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 265.43 129.54 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ffbee3b2-a159-489b-a25d-c707253a6ab8) + (property "Reference" "C23" (at 268.351 128.7053 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "100nF/50V" (at 268.351 131.2422 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 264.4648 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 265.43 129.54 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2e8fa490-43a1-44ab-b571-342e57f06f71)) + (pin "2" (uuid fac673ee-1d76-4685-91b4-539b28e1b36e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "C23") (unit 1) + ) + ) + ) + ) +) diff --git a/HW/taiko-io/interface.kicad_sch b/HW/taiko-io/interface.kicad_sch new file mode 100644 index 0000000..7219f79 --- /dev/null +++ b/HW/taiko-io/interface.kicad_sch @@ -0,0 +1,4710 @@ +(kicad_sch (version 20230121) (generator eeschema) + + (uuid 508bd04c-e3e2-46f3-a2ff-58f3a8a0a7ec) + + (paper "A4") + + (lib_symbols + (symbol "Connector:USB_C_Receptacle_USB2.0" (pin_names (offset 1.016)) (in_bom yes) (on_board yes) + (property "Reference" "J" (at -10.16 19.05 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "USB_C_Receptacle_USB2.0" (at 19.05 19.05 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 3.81 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 3.81 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "usb universal serial bus type-C USB2.0" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "USB 2.0-only Type-C Receptacle connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "USB*C*Receptacle*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "USB_C_Receptacle_USB2.0_0_0" + (rectangle (start -0.254 -17.78) (end 0.254 -16.764) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 -14.986) (end 9.144 -15.494) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 -12.446) (end 9.144 -12.954) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 -4.826) (end 9.144 -5.334) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 -2.286) (end 9.144 -2.794) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 0.254) (end 9.144 -0.254) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 2.794) (end 9.144 2.286) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 7.874) (end 9.144 7.366) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 10.414) (end 9.144 9.906) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 10.16 15.494) (end 9.144 14.986) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "USB_C_Receptacle_USB2.0_0_1" + (rectangle (start -10.16 17.78) (end 10.16 -17.78) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (arc (start -8.89 -3.81) (mid -6.985 -5.7067) (end -5.08 -3.81) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + (rectangle (start -7.62 -3.81) (end -6.35 3.81) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + (arc (start -5.08 3.81) (mid -6.985 5.7067) (end -8.89 3.81) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (circle (center -2.54 1.143) (radius 0.635) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + (circle (center 0 -5.842) (radius 1.27) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (polyline + (pts + (xy -8.89 -3.81) + (xy -8.89 3.81) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 3.81) + (xy -5.08 -3.81) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 -5.842) + (xy 0 4.318) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 -3.302) + (xy -2.54 -0.762) + (xy -2.54 0.508) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 -2.032) + (xy 2.54 0.508) + (xy 2.54 1.778) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.27 4.318) + (xy 0 6.858) + (xy 1.27 4.318) + (xy -1.27 4.318) + ) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + (rectangle (start 1.905 1.778) (end 3.175 3.048) + (stroke (width 0.254) (type default)) + (fill (type outline)) + ) + ) + (symbol "USB_C_Receptacle_USB2.0_1_1" + (pin passive line (at 0 -22.86 90) (length 5.08) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "A1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -22.86 90) (length 5.08) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "A12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 15.24 15.24 180) (length 5.08) + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "A4" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 10.16 180) (length 5.08) + (name "CC1" (effects (font (size 1.27 1.27)))) + (number "A5" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 -2.54 180) (length 5.08) + (name "D+" (effects (font (size 1.27 1.27)))) + (number "A6" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 2.54 180) (length 5.08) + (name "D-" (effects (font (size 1.27 1.27)))) + (number "A7" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 -12.7 180) (length 5.08) + (name "SBU1" (effects (font (size 1.27 1.27)))) + (number "A8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 15.24 15.24 180) (length 5.08) hide + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "A9" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -22.86 90) (length 5.08) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "B1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -22.86 90) (length 5.08) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "B12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 15.24 15.24 180) (length 5.08) hide + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "B4" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 7.62 180) (length 5.08) + (name "CC2" (effects (font (size 1.27 1.27)))) + (number "B5" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 -5.08 180) (length 5.08) + (name "D+" (effects (font (size 1.27 1.27)))) + (number "B6" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 0 180) (length 5.08) + (name "D-" (effects (font (size 1.27 1.27)))) + (number "B7" (effects (font (size 1.27 1.27)))) + ) + (pin bidirectional line (at 15.24 -15.24 180) (length 5.08) + (name "SBU2" (effects (font (size 1.27 1.27)))) + (number "B8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 15.24 15.24 180) (length 5.08) hide + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "B9" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -7.62 -22.86 90) (length 5.08) + (name "SHIELD" (effects (font (size 1.27 1.27)))) + (number "S1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Connector_Generic:Conn_02x04_Odd_Even" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 1.27 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x04_Odd_Even" (at 1.27 -7.62 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, double row, 02x04, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_2x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_02x04_Odd_Even_1_1" + (rectangle (start -1.27 -4.953) (end 0 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 2.667) (end 0 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 3.81) (end 3.81 -6.35) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start 3.81 -4.953) (end 2.54 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -2.413) (end 2.54 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 0.127) (end 2.54 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 2.667) (end 2.54 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (pin passive line (at -5.08 2.54 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 2.54 180) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 3.81) + (name "Pin_4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_5" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -2.54 180) (length 3.81) + (name "Pin_6" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -5.08 0) (length 3.81) + (name "Pin_7" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -5.08 180) (length 3.81) + (name "Pin_8" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Connector_Generic:Conn_02x08_Odd_Even" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 1.27 10.16 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x08_Odd_Even" (at 1.27 -12.7 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, double row, 02x08, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_2x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_02x08_Odd_Even_1_1" + (rectangle (start -1.27 -10.033) (end 0 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -7.493) (end 0 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -4.953) (end 0 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 2.667) (end 0 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 5.207) (end 0 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 7.747) (end 0 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 8.89) (end 3.81 -11.43) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start 3.81 -10.033) (end 2.54 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -7.493) (end 2.54 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -4.953) (end 2.54 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -2.413) (end 2.54 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 0.127) (end 2.54 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 2.667) (end 2.54 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 5.207) (end 2.54 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 7.747) (end 2.54 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (pin passive line (at -5.08 7.62 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -2.54 180) (length 3.81) + (name "Pin_10" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -5.08 0) (length 3.81) + (name "Pin_11" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -5.08 180) (length 3.81) + (name "Pin_12" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -7.62 0) (length 3.81) + (name "Pin_13" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -7.62 180) (length 3.81) + (name "Pin_14" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -10.16 0) (length 3.81) + (name "Pin_15" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -10.16 180) (length 3.81) + (name "Pin_16" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 7.62 180) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 5.08 0) (length 3.81) + (name "Pin_3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 5.08 180) (length 3.81) + (name "Pin_4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 2.54 0) (length 3.81) + (name "Pin_5" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 2.54 180) (length 3.81) + (name "Pin_6" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_7" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 3.81) + (name "Pin_8" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_9" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Connector_Generic:Conn_02x18_Odd_Even" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 1.27 22.86 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x18_Odd_Even" (at 1.27 -25.4 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, double row, 02x18, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_2x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_02x18_Odd_Even_1_1" + (rectangle (start -1.27 -22.733) (end 0 -22.987) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -20.193) (end 0 -20.447) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -17.653) (end 0 -17.907) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -15.113) (end 0 -15.367) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -12.573) (end 0 -12.827) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -10.033) (end 0 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -7.493) (end 0 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -4.953) (end 0 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 2.667) (end 0 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 5.207) (end 0 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 7.747) (end 0 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 10.287) (end 0 10.033) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 12.827) (end 0 12.573) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 15.367) (end 0 15.113) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 17.907) (end 0 17.653) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 20.447) (end 0 20.193) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 21.59) (end 3.81 -24.13) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start 3.81 -22.733) (end 2.54 -22.987) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -20.193) (end 2.54 -20.447) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -17.653) (end 2.54 -17.907) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -15.113) (end 2.54 -15.367) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -12.573) (end 2.54 -12.827) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -10.033) (end 2.54 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -7.493) (end 2.54 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -4.953) (end 2.54 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -2.413) (end 2.54 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 0.127) (end 2.54 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 2.667) (end 2.54 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 5.207) (end 2.54 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 7.747) (end 2.54 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 10.287) (end 2.54 10.033) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 12.827) (end 2.54 12.573) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 15.367) (end 2.54 15.113) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 17.907) (end 2.54 17.653) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 20.447) (end 2.54 20.193) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (pin passive line (at -5.08 20.32 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 10.16 180) (length 3.81) + (name "Pin_10" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 7.62 0) (length 3.81) + (name "Pin_11" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 7.62 180) (length 3.81) + (name "Pin_12" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 5.08 0) (length 3.81) + (name "Pin_13" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 5.08 180) (length 3.81) + (name "Pin_14" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 2.54 0) (length 3.81) + (name "Pin_15" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 2.54 180) (length 3.81) + (name "Pin_16" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_17" (effects (font (size 1.27 1.27)))) + (number "17" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 3.81) + (name "Pin_18" (effects (font (size 1.27 1.27)))) + (number "18" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_19" (effects (font (size 1.27 1.27)))) + (number "19" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 20.32 180) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -2.54 180) (length 3.81) + (name "Pin_20" (effects (font (size 1.27 1.27)))) + (number "20" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -5.08 0) (length 3.81) + (name "Pin_21" (effects (font (size 1.27 1.27)))) + (number "21" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -5.08 180) (length 3.81) + (name "Pin_22" (effects (font (size 1.27 1.27)))) + (number "22" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -7.62 0) (length 3.81) + (name "Pin_23" (effects (font (size 1.27 1.27)))) + (number "23" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -7.62 180) (length 3.81) + (name "Pin_24" (effects (font (size 1.27 1.27)))) + (number "24" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -10.16 0) (length 3.81) + (name "Pin_25" (effects (font (size 1.27 1.27)))) + (number "25" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -10.16 180) (length 3.81) + (name "Pin_26" (effects (font (size 1.27 1.27)))) + (number "26" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -12.7 0) (length 3.81) + (name "Pin_27" (effects (font (size 1.27 1.27)))) + (number "27" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -12.7 180) (length 3.81) + (name "Pin_28" (effects (font (size 1.27 1.27)))) + (number "28" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -15.24 0) (length 3.81) + (name "Pin_29" (effects (font (size 1.27 1.27)))) + (number "29" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 17.78 0) (length 3.81) + (name "Pin_3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -15.24 180) (length 3.81) + (name "Pin_30" (effects (font (size 1.27 1.27)))) + (number "30" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -17.78 0) (length 3.81) + (name "Pin_31" (effects (font (size 1.27 1.27)))) + (number "31" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -17.78 180) (length 3.81) + (name "Pin_32" (effects (font (size 1.27 1.27)))) + (number "32" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -20.32 0) (length 3.81) + (name "Pin_33" (effects (font (size 1.27 1.27)))) + (number "33" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -20.32 180) (length 3.81) + (name "Pin_34" (effects (font (size 1.27 1.27)))) + (number "34" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -22.86 0) (length 3.81) + (name "Pin_35" (effects (font (size 1.27 1.27)))) + (number "35" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -22.86 180) (length 3.81) + (name "Pin_36" (effects (font (size 1.27 1.27)))) + (number "36" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 17.78 180) (length 3.81) + (name "Pin_4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 15.24 0) (length 3.81) + (name "Pin_5" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 15.24 180) (length 3.81) + (name "Pin_6" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 12.7 0) (length 3.81) + (name "Pin_7" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 12.7 180) (length 3.81) + (name "Pin_8" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 10.16 0) (length 3.81) + (name "Pin_9" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Connector_Generic:Conn_02x20_Odd_Even" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 1.27 25.4 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x20_Odd_Even" (at 1.27 -27.94 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, double row, 02x20, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_2x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_02x20_Odd_Even_1_1" + (rectangle (start -1.27 -25.273) (end 0 -25.527) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -22.733) (end 0 -22.987) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -20.193) (end 0 -20.447) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -17.653) (end 0 -17.907) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -15.113) (end 0 -15.367) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -12.573) (end 0 -12.827) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -10.033) (end 0 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -7.493) (end 0 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -4.953) (end 0 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 2.667) (end 0 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 5.207) (end 0 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 7.747) (end 0 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 10.287) (end 0 10.033) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 12.827) (end 0 12.573) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 15.367) (end 0 15.113) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 17.907) (end 0 17.653) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 20.447) (end 0 20.193) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 22.987) (end 0 22.733) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 24.13) (end 3.81 -26.67) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start 3.81 -25.273) (end 2.54 -25.527) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -22.733) (end 2.54 -22.987) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -20.193) (end 2.54 -20.447) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -17.653) (end 2.54 -17.907) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -15.113) (end 2.54 -15.367) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -12.573) (end 2.54 -12.827) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -10.033) (end 2.54 -10.287) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -7.493) (end 2.54 -7.747) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -4.953) (end 2.54 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 -2.413) (end 2.54 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 0.127) (end 2.54 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 2.667) (end 2.54 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 5.207) (end 2.54 4.953) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 7.747) (end 2.54 7.493) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 10.287) (end 2.54 10.033) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 12.827) (end 2.54 12.573) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 15.367) (end 2.54 15.113) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 17.907) (end 2.54 17.653) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 20.447) (end 2.54 20.193) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start 3.81 22.987) (end 2.54 22.733) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (pin passive line (at -5.08 22.86 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 12.7 180) (length 3.81) + (name "Pin_10" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 10.16 0) (length 3.81) + (name "Pin_11" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 10.16 180) (length 3.81) + (name "Pin_12" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 7.62 0) (length 3.81) + (name "Pin_13" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 7.62 180) (length 3.81) + (name "Pin_14" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 5.08 0) (length 3.81) + (name "Pin_15" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 5.08 180) (length 3.81) + (name "Pin_16" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 2.54 0) (length 3.81) + (name "Pin_17" (effects (font (size 1.27 1.27)))) + (number "17" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 2.54 180) (length 3.81) + (name "Pin_18" (effects (font (size 1.27 1.27)))) + (number "18" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_19" (effects (font (size 1.27 1.27)))) + (number "19" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 22.86 180) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 3.81) + (name "Pin_20" (effects (font (size 1.27 1.27)))) + (number "20" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_21" (effects (font (size 1.27 1.27)))) + (number "21" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -2.54 180) (length 3.81) + (name "Pin_22" (effects (font (size 1.27 1.27)))) + (number "22" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -5.08 0) (length 3.81) + (name "Pin_23" (effects (font (size 1.27 1.27)))) + (number "23" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -5.08 180) (length 3.81) + (name "Pin_24" (effects (font (size 1.27 1.27)))) + (number "24" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -7.62 0) (length 3.81) + (name "Pin_25" (effects (font (size 1.27 1.27)))) + (number "25" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -7.62 180) (length 3.81) + (name "Pin_26" (effects (font (size 1.27 1.27)))) + (number "26" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -10.16 0) (length 3.81) + (name "Pin_27" (effects (font (size 1.27 1.27)))) + (number "27" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -10.16 180) (length 3.81) + (name "Pin_28" (effects (font (size 1.27 1.27)))) + (number "28" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -12.7 0) (length 3.81) + (name "Pin_29" (effects (font (size 1.27 1.27)))) + (number "29" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 20.32 0) (length 3.81) + (name "Pin_3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -12.7 180) (length 3.81) + (name "Pin_30" (effects (font (size 1.27 1.27)))) + (number "30" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -15.24 0) (length 3.81) + (name "Pin_31" (effects (font (size 1.27 1.27)))) + (number "31" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -15.24 180) (length 3.81) + (name "Pin_32" (effects (font (size 1.27 1.27)))) + (number "32" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -17.78 0) (length 3.81) + (name "Pin_33" (effects (font (size 1.27 1.27)))) + (number "33" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -17.78 180) (length 3.81) + (name "Pin_34" (effects (font (size 1.27 1.27)))) + (number "34" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -20.32 0) (length 3.81) + (name "Pin_35" (effects (font (size 1.27 1.27)))) + (number "35" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -20.32 180) (length 3.81) + (name "Pin_36" (effects (font (size 1.27 1.27)))) + (number "36" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -22.86 0) (length 3.81) + (name "Pin_37" (effects (font (size 1.27 1.27)))) + (number "37" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -22.86 180) (length 3.81) + (name "Pin_38" (effects (font (size 1.27 1.27)))) + (number "38" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -25.4 0) (length 3.81) + (name "Pin_39" (effects (font (size 1.27 1.27)))) + (number "39" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 20.32 180) (length 3.81) + (name "Pin_4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -25.4 180) (length 3.81) + (name "Pin_40" (effects (font (size 1.27 1.27)))) + (number "40" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 17.78 0) (length 3.81) + (name "Pin_5" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 17.78 180) (length 3.81) + (name "Pin_6" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 15.24 0) (length 3.81) + (name "Pin_7" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 15.24 180) (length 3.81) + (name "Pin_8" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 12.7 0) (length 3.81) + (name "Pin_9" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "C" (at 0.635 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "C" (at 0.635 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0.9652 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "cap capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Unpolarized capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "C_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 -0.762) + (xy 2.032 -0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.032 0.762) + (xy 2.032 0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + ) + (symbol "C_1_1" + (pin passive line (at 0 3.81 270) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:C_Polarized" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "C" (at 0.635 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "C_Polarized" (at 0.635 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0.9652 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "cap capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Polarized capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "CP_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "C_Polarized_0_1" + (rectangle (start -2.286 0.508) (end 2.286 1.016) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.778 2.286) + (xy -0.762 2.286) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.27 2.794) + (xy -1.27 1.778) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 2.286 -0.508) (end -2.286 -1.016) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + ) + (symbol "C_Polarized_1_1" + (pin passive line (at 0 3.81 270) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:D_TVS" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "D" (at 0 2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "D_TVS" (at 0 -2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "diode TVS thyrector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Bidirectional transient-voltage-suppression diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "TO-???* *_Diode_* *SingleDiode* D_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "D_TVS_0_1" + (polyline + (pts + (xy 1.27 0) + (xy -1.27 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0.508 1.27) + (xy 0 1.27) + (xy 0 -1.27) + (xy -0.508 -1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 1.27) + (xy -2.54 -1.27) + (xy 2.54 1.27) + (xy 2.54 -1.27) + (xy -2.54 1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "D_TVS_1_1" + (pin passive line (at -3.81 0 0) (length 2.54) + (name "A1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 3.81 0 180) (length 2.54) + (name "A2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:Fuse" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "F" (at 2.032 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Fuse" (at -1.905 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at -1.778 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "fuse" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Fuse" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "*Fuse*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Fuse_0_1" + (rectangle (start -0.762 -2.54) (end 0.762 2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0 -2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "Fuse_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "D" (at 0 2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "LED" (at 0 -2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "LED diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Light emitting diode" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "LED_0_1" + (polyline + (pts + (xy -1.27 -1.27) + (xy -1.27 1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.27 0) + (xy 1.27 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 -1.27) + (xy 1.27 1.27) + (xy -1.27 0) + (xy 1.27 -1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -3.048 -0.762) + (xy -4.572 -2.286) + (xy -3.81 -2.286) + (xy -4.572 -2.286) + (xy -4.572 -1.524) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.778 -0.762) + (xy -3.302 -2.286) + (xy -2.54 -2.286) + (xy -3.302 -2.286) + (xy -3.302 -1.524) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "LED_1_1" + (pin passive line (at -3.81 0 0) (length 2.54) + (name "K" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 3.81 0 180) (length 2.54) + (name "A" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "R" (at 2.032 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R" (at 0 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at -1.778 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R res resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "R_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_0_1" + (rectangle (start -1.016 -2.54) (end 1.016 2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R_Pack04" (pin_names (offset 0) hide) (in_bom yes) (on_board yes) + (property "Reference" "RN" (at -7.62 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R_Pack04" (at 5.08 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 6.985 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R network parallel topology isolated" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "4 resistor network, parallel topology" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "DIP* SOIC* R*Array*Concave* R*Array*Convex*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_Pack04_0_1" + (rectangle (start -6.35 -2.413) (end 3.81 2.413) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start -5.715 1.905) (end -4.445 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (rectangle (start -3.175 1.905) (end -1.905 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (rectangle (start -0.635 1.905) (end 0.635 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 -2.54) + (xy -5.08 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 1.905) + (xy -5.08 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -2.54) + (xy -2.54 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 1.905) + (xy -2.54 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 -2.54) + (xy 0 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 1.905) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 2.54 -2.54) + (xy 2.54 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 2.54 1.905) + (xy 2.54 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 1.905 1.905) (end 3.175 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_Pack04_1_1" + (pin passive line (at -5.08 -5.08 90) (length 2.54) + (name "R1.1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -2.54 -5.08 90) (length 2.54) + (name "R2.1" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 90) (length 2.54) + (name "R3.1" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 2.54 -5.08 90) (length 2.54) + (name "R4.1" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 2.54 5.08 270) (length 2.54) + (name "R4.2" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 5.08 270) (length 2.54) + (name "R3.2" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -2.54 5.08 270) (length 2.54) + (name "R2.2" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 5.08 270) (length 2.54) + (name "R1.2" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 0 3.556 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"+5V\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "+5V_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "+5V" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 0 -3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 -1.27) + (xy 1.27 -1.27) + (xy 0 -2.54) + (xy -1.27 -1.27) + (xy 0 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "GND_1_1" + (pin power_in line (at 0 0 270) (length 0) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:VBUS" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "VBUS" (at 0 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"VBUS\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "VBUS_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "VBUS_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 30.48 62.23) (diameter 0) (color 0 0 0 0) + (uuid 04ce34de-5bc9-4593-8a2e-517ffa7e113f) + ) + (junction (at 232.41 62.23) (diameter 0) (color 0 0 0 0) + (uuid 04fb717a-3a24-493a-ac05-0ec9eacdb6da) + ) + (junction (at 102.87 48.26) (diameter 0) (color 0 0 0 0) + (uuid 05e656d5-5fef-4d96-bea4-739dafcff034) + ) + (junction (at 30.48 36.83) (diameter 0) (color 0 0 0 0) + (uuid 0d2bbddd-ff36-49ce-b38f-746788a978cc) + ) + (junction (at 46.99 39.37) (diameter 0) (color 0 0 0 0) + (uuid 156c99e9-df35-40d8-a6ff-adc627eac5fa) + ) + (junction (at 232.41 59.69) (diameter 0) (color 0 0 0 0) + (uuid 17ad0fff-1696-46dc-b50a-c0aacd820a1d) + ) + (junction (at 30.48 44.45) (diameter 0) (color 0 0 0 0) + (uuid 19ca4bd1-866b-41d4-adbc-dddf25883083) + ) + (junction (at 25.4 116.84) (diameter 0) (color 0 0 0 0) + (uuid 1a3f5604-0514-4d4a-b9c6-2e6021ba6368) + ) + (junction (at 25.4 104.14) (diameter 0) (color 0 0 0 0) + (uuid 261b8cb8-7127-4f5e-8f2c-14f2fdee6e2e) + ) + (junction (at 30.48 52.07) (diameter 0) (color 0 0 0 0) + (uuid 2722c6e4-495d-43d6-9be4-c2aee685c668) + ) + (junction (at 44.45 34.29) (diameter 0) (color 0 0 0 0) + (uuid 32947849-eccc-4906-b714-63b3ea3d3dae) + ) + (junction (at 110.49 40.64) (diameter 0) (color 0 0 0 0) + (uuid 35f4c8fe-e96e-4fcd-9779-8982c72b07fb) + ) + (junction (at 25.4 111.76) (diameter 0) (color 0 0 0 0) + (uuid 3e4d5b56-c6df-4a84-af23-defc9089de20) + ) + (junction (at 53.34 52.07) (diameter 0) (color 0 0 0 0) + (uuid 4388ab52-447e-4af2-8bf8-ac082dd29bee) + ) + (junction (at 232.41 40.64) (diameter 0) (color 0 0 0 0) + (uuid 475dac98-12e7-4fbc-8bd3-8d4efbe8a2eb) + ) + (junction (at 30.48 41.91) (diameter 0) (color 0 0 0 0) + (uuid 47fbba49-a226-4543-a45c-ebd65b448861) + ) + (junction (at 156.21 48.26) (diameter 0) (color 0 0 0 0) + (uuid 4dc8377e-e5da-4af8-9d41-08dfaa52b1ed) + ) + (junction (at 30.48 80.01) (diameter 0) (color 0 0 0 0) + (uuid 5b53f424-4879-430a-ba27-59e8ac15ede1) + ) + (junction (at 45.72 36.83) (diameter 0) (color 0 0 0 0) + (uuid 5cff71c1-7935-44e9-bd89-6cd31268a179) + ) + (junction (at 30.48 49.53) (diameter 0) (color 0 0 0 0) + (uuid 64aca218-465a-4c31-ae51-7c3d813f6e65) + ) + (junction (at 48.26 41.91) (diameter 0) (color 0 0 0 0) + (uuid 6d5fc831-9f18-4b26-bf8a-059c1c2fab6d) + ) + (junction (at 25.4 109.22) (diameter 0) (color 0 0 0 0) + (uuid 73281b75-1276-4b3c-adc7-353a87dfdc48) + ) + (junction (at 232.41 43.18) (diameter 0) (color 0 0 0 0) + (uuid 77ecb8e5-4334-4dbe-874f-3cbe8a0096f9) + ) + (junction (at 232.41 57.15) (diameter 0) (color 0 0 0 0) + (uuid 79563154-c523-44f3-9671-1473e049a013) + ) + (junction (at 102.87 53.34) (diameter 0) (color 0 0 0 0) + (uuid 7c9ff414-85a2-41fd-8101-6a62637e1781) + ) + (junction (at 30.48 59.69) (diameter 0) (color 0 0 0 0) + (uuid 813cfc29-2d87-4d40-8493-639e074b91e2) + ) + (junction (at 232.41 45.72) (diameter 0) (color 0 0 0 0) + (uuid 8a312ee8-b05a-4b88-bfe4-89b3955a50d1) + ) + (junction (at 30.48 74.93) (diameter 0) (color 0 0 0 0) + (uuid 8adc6ba0-de37-4ddc-a5ba-7f3bb69d4bbf) + ) + (junction (at 25.4 114.3) (diameter 0) (color 0 0 0 0) + (uuid 8fd02398-7410-46fb-96fb-f693c9b2fdfe) + ) + (junction (at 232.41 77.47) (diameter 0) (color 0 0 0 0) + (uuid 927568f6-59ff-4ee8-b020-9e6f8843cae5) + ) + (junction (at 30.48 67.31) (diameter 0) (color 0 0 0 0) + (uuid 977da22a-27d4-4427-9308-f15c651dde0b) + ) + (junction (at 163.83 40.64) (diameter 0) (color 0 0 0 0) + (uuid a013142d-a5ea-4a19-83e2-634d900f7915) + ) + (junction (at 30.48 77.47) (diameter 0) (color 0 0 0 0) + (uuid a8472f9e-2c3a-46f4-a64c-c5e42b4ad6f8) + ) + (junction (at 25.4 106.68) (diameter 0) (color 0 0 0 0) + (uuid ac4fcba6-9c8a-4aff-9ce0-4567688531ba) + ) + (junction (at 50.8 46.99) (diameter 0) (color 0 0 0 0) + (uuid b5f24b9d-1732-4736-a5b1-2f1e1a356603) + ) + (junction (at 156.21 53.34) (diameter 0) (color 0 0 0 0) + (uuid b64a1a40-c628-4fd0-b99f-fd57aa7181a1) + ) + (junction (at 30.48 82.55) (diameter 0) (color 0 0 0 0) + (uuid d00f9d70-4742-480a-9851-3cfa9dafcd34) + ) + (junction (at 232.41 80.01) (diameter 0) (color 0 0 0 0) + (uuid d69ebb1e-7480-49e6-ab44-ba2f92561956) + ) + (junction (at 105.41 48.26) (diameter 0) (color 0 0 0 0) + (uuid e00fb11f-4c11-4830-80ff-4fdc8fe65b64) + ) + (junction (at 30.48 39.37) (diameter 0) (color 0 0 0 0) + (uuid e319af06-2fd1-4a8a-ad78-c30422e9a60b) + ) + (junction (at 52.07 49.53) (diameter 0) (color 0 0 0 0) + (uuid e4faf5cb-2eb6-43c4-baa7-46b217fbf459) + ) + (junction (at 232.41 74.93) (diameter 0) (color 0 0 0 0) + (uuid e726ac9a-e67e-4d95-9ab5-718934fd92f1) + ) + (junction (at 49.53 44.45) (diameter 0) (color 0 0 0 0) + (uuid eb29915b-8fe1-4897-83c3-879678eb3046) + ) + (junction (at 30.48 64.77) (diameter 0) (color 0 0 0 0) + (uuid edea1b6a-cd3e-4f26-aef0-dd846a375822) + ) + (junction (at 104.14 53.34) (diameter 0) (color 0 0 0 0) + (uuid ee595d93-646f-4258-8af3-4bb0f36ebe62) + ) + (junction (at 25.4 119.38) (diameter 0) (color 0 0 0 0) + (uuid f67511dd-0acf-4c68-ac57-6c9edb6263c8) + ) + (junction (at 30.48 46.99) (diameter 0) (color 0 0 0 0) + (uuid fa2ce2c1-fcd5-4e7c-841d-d38dff93996f) + ) + + (no_connect (at 96.52 101.6) (uuid 04d7fe34-424f-449b-984a-4523df53a440)) + (no_connect (at 109.22 111.76) (uuid 04d7fe34-424f-449b-984a-4523df53a441)) + (no_connect (at 109.22 142.24) (uuid 04d7fe34-424f-449b-984a-4523df53a442)) + (no_connect (at 109.22 139.7) (uuid 04d7fe34-424f-449b-984a-4523df53a443)) + (no_connect (at 109.22 134.62) (uuid 04d7fe34-424f-449b-984a-4523df53a444)) + (no_connect (at 96.52 121.92) (uuid 04d7fe34-424f-449b-984a-4523df53a445)) + (no_connect (at 109.22 119.38) (uuid 04d7fe34-424f-449b-984a-4523df53a446)) + (no_connect (at 109.22 121.92) (uuid 04d7fe34-424f-449b-984a-4523df53a447)) + (no_connect (at 96.52 119.38) (uuid 04d7fe34-424f-449b-984a-4523df53a448)) + (no_connect (at 109.22 127) (uuid 04d7fe34-424f-449b-984a-4523df53a449)) + (no_connect (at 96.52 111.76) (uuid 04d7fe34-424f-449b-984a-4523df53a44a)) + (no_connect (at 96.52 127) (uuid 04d7fe34-424f-449b-984a-4523df53a44b)) + (no_connect (at 96.52 129.54) (uuid 04d7fe34-424f-449b-984a-4523df53a44c)) + (no_connect (at 109.22 129.54) (uuid 04d7fe34-424f-449b-984a-4523df53a44d)) + (no_connect (at 96.52 132.08) (uuid 04d7fe34-424f-449b-984a-4523df53a44e)) + (no_connect (at 96.52 134.62) (uuid 04d7fe34-424f-449b-984a-4523df53a44f)) + (no_connect (at 96.52 139.7) (uuid 04d7fe34-424f-449b-984a-4523df53a450)) + (no_connect (at 96.52 142.24) (uuid 04d7fe34-424f-449b-984a-4523df53a451)) + (no_connect (at 109.22 132.08) (uuid 04d7fe34-424f-449b-984a-4523df53a452)) + (no_connect (at 102.87 63.5) (uuid 12efafd7-3944-4778-aa27-980625e42c58)) + (no_connect (at 156.21 60.96) (uuid 1fc057b6-0bc7-4d8f-b734-750ac66fbac3)) + (no_connect (at 60.96 101.6) (uuid 27cae908-d530-44a8-8d9b-d4997a683788)) + (no_connect (at 60.96 111.76) (uuid 27cae908-d530-44a8-8d9b-d4997a683789)) + (no_connect (at 60.96 114.3) (uuid 27cae908-d530-44a8-8d9b-d4997a68378a)) + (no_connect (at 60.96 119.38) (uuid 27cae908-d530-44a8-8d9b-d4997a68378b)) + (no_connect (at 73.66 109.22) (uuid 27cae908-d530-44a8-8d9b-d4997a68378c)) + (no_connect (at 73.66 106.68) (uuid 27cae908-d530-44a8-8d9b-d4997a68378d)) + (no_connect (at 73.66 111.76) (uuid 27cae908-d530-44a8-8d9b-d4997a68378e)) + (no_connect (at 73.66 119.38) (uuid 27cae908-d530-44a8-8d9b-d4997a68378f)) + (no_connect (at 73.66 121.92) (uuid 27cae908-d530-44a8-8d9b-d4997a683790)) + (no_connect (at 102.87 60.96) (uuid 3fe05ab2-7a4c-4da9-bf68-ec1c586919c0)) + (no_connect (at 60.96 104.14) (uuid 6706930a-8ef0-487d-a789-052929ebe752)) + (no_connect (at 60.96 127) (uuid 6706930a-8ef0-487d-a789-052929ebe753)) + (no_connect (at 60.96 137.16) (uuid 6706930a-8ef0-487d-a789-052929ebe754)) + (no_connect (at 60.96 132.08) (uuid 6706930a-8ef0-487d-a789-052929ebe755)) + (no_connect (at 60.96 129.54) (uuid 6706930a-8ef0-487d-a789-052929ebe756)) + (no_connect (at 60.96 134.62) (uuid 6706930a-8ef0-487d-a789-052929ebe757)) + (no_connect (at 60.96 139.7) (uuid 6706930a-8ef0-487d-a789-052929ebe758)) + (no_connect (at 60.96 144.78) (uuid 6706930a-8ef0-487d-a789-052929ebe759)) + (no_connect (at 60.96 142.24) (uuid 6706930a-8ef0-487d-a789-052929ebe75a)) + (no_connect (at 60.96 147.32) (uuid 6706930a-8ef0-487d-a789-052929ebe75b)) + (no_connect (at 73.66 132.08) (uuid 6706930a-8ef0-487d-a789-052929ebe75c)) + (no_connect (at 73.66 134.62) (uuid 6706930a-8ef0-487d-a789-052929ebe75d)) + (no_connect (at 73.66 127) (uuid 6706930a-8ef0-487d-a789-052929ebe75e)) + (no_connect (at 73.66 137.16) (uuid 6706930a-8ef0-487d-a789-052929ebe75f)) + (no_connect (at 73.66 129.54) (uuid 6706930a-8ef0-487d-a789-052929ebe760)) + (no_connect (at 73.66 147.32) (uuid 6706930a-8ef0-487d-a789-052929ebe761)) + (no_connect (at 73.66 139.7) (uuid 6706930a-8ef0-487d-a789-052929ebe762)) + (no_connect (at 73.66 144.78) (uuid 6706930a-8ef0-487d-a789-052929ebe763)) + (no_connect (at 73.66 142.24) (uuid 6706930a-8ef0-487d-a789-052929ebe764)) + (no_connect (at 73.66 101.6) (uuid 6706930a-8ef0-487d-a789-052929ebe765)) + (no_connect (at 73.66 104.14) (uuid 6706930a-8ef0-487d-a789-052929ebe766)) + (no_connect (at 156.21 63.5) (uuid b9508680-58c0-4804-be8c-1d0578ed517d)) + + (polyline (pts (xy 179.07 91.44) (xy 240.03 91.44)) + (stroke (width 0) (type default)) + (uuid 008a4bda-35eb-4ed1-9595-855d390e6ae8) + ) + + (wire (pts (xy 209.55 40.64) (xy 203.2 40.64)) + (stroke (width 0) (type default)) + (uuid 00efe494-499c-4572-8db1-78f14c3d9a93) + ) + (wire (pts (xy 30.48 64.77) (xy 30.48 62.23)) + (stroke (width 0) (type default)) + (uuid 061909e0-bcaf-435c-8928-ffa899bf14c9) + ) + (wire (pts (xy 232.41 74.93) (xy 232.41 77.47)) + (stroke (width 0) (type default)) + (uuid 06ec0093-a17a-40fc-9cad-c5d2c18a406f) + ) + (wire (pts (xy 57.15 39.37) (xy 46.99 39.37)) + (stroke (width 0) (type default)) + (uuid 074e7c06-028a-4707-a097-6bfea9be997b) + ) + (wire (pts (xy 30.48 82.55) (xy 30.48 80.01)) + (stroke (width 0) (type default)) + (uuid 07635d9a-2e41-4603-8196-097e6bfdb320) + ) + (wire (pts (xy 48.26 41.91) (xy 48.26 67.31)) + (stroke (width 0) (type default)) + (uuid 0b78c99b-9dc7-4e1b-9f4a-6cc65064b3b7) + ) + (wire (pts (xy 31.75 133.35) (xy 34.29 133.35)) + (stroke (width 0) (type default)) + (uuid 0c9d4032-678f-41ba-9be7-e42748fd0cb7) + ) + (wire (pts (xy 25.4 116.84) (xy 25.4 119.38)) + (stroke (width 0) (type default)) + (uuid 0e11b278-f910-454e-9113-feca62f80ea9) + ) + (polyline (pts (xy 69.85 22.86) (xy 24.13 22.86)) + (stroke (width 0) (type default)) + (uuid 105c66c9-65a8-4338-a43a-cbbfde71a779) + ) + + (wire (pts (xy 31.75 138.43) (xy 34.29 138.43)) + (stroke (width 0) (type default)) + (uuid 12d53272-8410-4d89-b985-817133072fb4) + ) + (polyline (pts (xy 179.07 22.86) (xy 179.07 91.44)) + (stroke (width 0) (type default)) + (uuid 1a5177d6-821f-4bff-877e-c7c1fc5b3d62) + ) + + (wire (pts (xy 25.4 114.3) (xy 25.4 116.84)) + (stroke (width 0) (type default)) + (uuid 1b02cd1a-6de4-4312-8aab-0af78330abcc) + ) + (wire (pts (xy 50.8 77.47) (xy 43.18 77.47)) + (stroke (width 0) (type default)) + (uuid 1c3c36e4-9d8a-4e18-bc17-6624d560c0ec) + ) + (wire (pts (xy 232.41 72.39) (xy 232.41 74.93)) + (stroke (width 0) (type default)) + (uuid 1c4b5944-7379-41b9-80b8-376a6db53139) + ) + (polyline (pts (xy 72.39 22.86) (xy 72.39 91.44)) + (stroke (width 0) (type default)) + (uuid 1c7b7960-9e86-4b64-b858-121a06e85cda) + ) + + (wire (pts (xy 52.07 80.01) (xy 43.18 80.01)) + (stroke (width 0) (type default)) + (uuid 1dbd3948-a511-49ac-b624-43b264af07b8) + ) + (wire (pts (xy 156.21 48.26) (xy 158.75 48.26)) + (stroke (width 0) (type default)) + (uuid 1ec97387-c44c-4cbc-b7a9-a7ba2ea9339e) + ) + (polyline (pts (xy 125.73 22.86) (xy 125.73 91.44)) + (stroke (width 0) (type default)) + (uuid 1f642eff-343f-4dec-b4eb-9f828a7ffaca) + ) + + (wire (pts (xy 209.55 62.23) (xy 203.2 62.23)) + (stroke (width 0) (type default)) + (uuid 1f883902-d0bf-4618-aaa1-b146084e0fed) + ) + (wire (pts (xy 156.21 53.34) (xy 158.75 53.34)) + (stroke (width 0) (type default)) + (uuid 26f9679e-6038-409e-9c4b-01b4be95c5d0) + ) + (wire (pts (xy 110.49 40.64) (xy 110.49 38.1)) + (stroke (width 0) (type default)) + (uuid 2bcedbf2-1715-4185-ad32-6129f73c2b27) + ) + (wire (pts (xy 48.26 67.31) (xy 43.18 67.31)) + (stroke (width 0) (type default)) + (uuid 2c8eae99-c023-4649-8068-d755cae11b9d) + ) + (polyline (pts (xy 69.85 91.44) (xy 69.85 22.86)) + (stroke (width 0) (type default)) + (uuid 2e2685ac-9f39-4e2b-a1d9-97d388317848) + ) + + (wire (pts (xy 217.17 74.93) (xy 232.41 74.93)) + (stroke (width 0) (type default)) + (uuid 30b04f65-9a87-406d-8002-c241cad31a44) + ) + (wire (pts (xy 232.41 57.15) (xy 232.41 59.69)) + (stroke (width 0) (type default)) + (uuid 30b79c89-9892-4030-8037-2c328d19aeb4) + ) + (wire (pts (xy 104.14 53.34) (xy 102.87 53.34)) + (stroke (width 0) (type default)) + (uuid 317033dc-7de8-45ec-9097-1c760338537b) + ) + (wire (pts (xy 102.87 48.26) (xy 102.87 45.72)) + (stroke (width 0) (type default)) + (uuid 337e513b-49a1-4d5c-be64-1ed7e44a1b38) + ) + (wire (pts (xy 57.15 34.29) (xy 44.45 34.29)) + (stroke (width 0) (type default)) + (uuid 33cf6744-7a91-49bc-bbc0-bf194495e2be) + ) + (wire (pts (xy 30.48 77.47) (xy 30.48 74.93)) + (stroke (width 0) (type default)) + (uuid 367718d6-1818-417d-8d1d-df8db898c7ad) + ) + (wire (pts (xy 209.55 77.47) (xy 203.2 77.47)) + (stroke (width 0) (type default)) + (uuid 3bdcb218-0921-43bb-ae83-7bb522f5c8c5) + ) + (wire (pts (xy 217.17 72.39) (xy 232.41 72.39)) + (stroke (width 0) (type default)) + (uuid 3cd518cf-7e5b-4b69-994a-ff56fd76af86) + ) + (wire (pts (xy 217.17 54.61) (xy 232.41 54.61)) + (stroke (width 0) (type default)) + (uuid 3f500775-4c1c-4d5f-bedb-697cfcce673b) + ) + (wire (pts (xy 232.41 40.64) (xy 232.41 43.18)) + (stroke (width 0) (type default)) + (uuid 40a0151d-4d1c-424a-93a4-7280df7afc62) + ) + (wire (pts (xy 165.1 40.64) (xy 163.83 40.64)) + (stroke (width 0) (type default)) + (uuid 45f06460-05eb-4a29-a563-8fba8dcef6e4) + ) + (wire (pts (xy 30.48 36.83) (xy 30.48 39.37)) + (stroke (width 0) (type default)) + (uuid 49891eb9-15a1-4a91-921c-a7d1350788ca) + ) + (wire (pts (xy 44.45 34.29) (xy 44.45 59.69)) + (stroke (width 0) (type default)) + (uuid 49f4c829-4cf9-4f97-8801-d6659154a988) + ) + (polyline (pts (xy 176.53 91.44) (xy 176.53 22.86)) + (stroke (width 0) (type default)) + (uuid 4b9b7d66-3f4f-4fc3-bc7d-52672e082adb) + ) + + (wire (pts (xy 232.41 59.69) (xy 232.41 62.23)) + (stroke (width 0) (type default)) + (uuid 4ca56370-4d16-4c8d-9ca3-08a1361c0200) + ) + (wire (pts (xy 46.99 64.77) (xy 43.18 64.77)) + (stroke (width 0) (type default)) + (uuid 4cd2d32b-a5ec-4498-a70e-5c43d23d2c7b) + ) + (wire (pts (xy 232.41 54.61) (xy 232.41 57.15)) + (stroke (width 0) (type default)) + (uuid 4ed24063-4ee9-4127-942e-006f347b890c) + ) + (wire (pts (xy 217.17 77.47) (xy 232.41 77.47)) + (stroke (width 0) (type default)) + (uuid 4f45ea3e-6884-42a4-bf6e-abea746ed7a6) + ) + (wire (pts (xy 232.41 38.1) (xy 232.41 40.64)) + (stroke (width 0) (type default)) + (uuid 52535029-5782-4970-888d-fb871c5086b9) + ) + (wire (pts (xy 30.48 34.29) (xy 30.48 36.83)) + (stroke (width 0) (type default)) + (uuid 52872c42-d797-4d61-b8c6-562e8475c1df) + ) + (wire (pts (xy 46.99 39.37) (xy 43.18 39.37)) + (stroke (width 0) (type default)) + (uuid 5347b1d4-28ed-47d8-ba78-060fb6a0e4fc) + ) + (wire (pts (xy 113.03 33.02) (xy 110.49 33.02)) + (stroke (width 0) (type default)) + (uuid 5409cd0d-27cb-4de0-a76e-1c32c5c055bd) + ) + (wire (pts (xy 57.15 49.53) (xy 52.07 49.53)) + (stroke (width 0) (type default)) + (uuid 5448e983-7f0f-46ce-b47f-77d7ce3f7779) + ) + (polyline (pts (xy 24.13 22.86) (xy 24.13 91.44)) + (stroke (width 0) (type default)) + (uuid 6008b2cc-9c9a-477a-9d94-e3020ba78c0b) + ) + + (wire (pts (xy 104.14 59.69) (xy 104.14 53.34)) + (stroke (width 0) (type default)) + (uuid 694ebbe4-ff13-4194-8c19-bb8ca47e5c09) + ) + (wire (pts (xy 217.17 57.15) (xy 232.41 57.15)) + (stroke (width 0) (type default)) + (uuid 6c7c0d05-3467-4c23-b076-83b5191def9c) + ) + (wire (pts (xy 57.15 41.91) (xy 48.26 41.91)) + (stroke (width 0) (type default)) + (uuid 6f79fbe4-5b0a-4ab2-8e90-50c3ac371ad0) + ) + (wire (pts (xy 53.34 82.55) (xy 53.34 52.07)) + (stroke (width 0) (type default)) + (uuid 6fa1688a-e234-47d4-aeb5-002ebb57729a) + ) + (wire (pts (xy 217.17 40.64) (xy 232.41 40.64)) + (stroke (width 0) (type default)) + (uuid 6fda8c94-c913-45f7-a639-f589683025e6) + ) + (wire (pts (xy 31.75 140.97) (xy 34.29 140.97)) + (stroke (width 0) (type default)) + (uuid 7270958a-8a65-4aba-b46d-5ad117df5534) + ) + (wire (pts (xy 25.4 104.14) (xy 25.4 106.68)) + (stroke (width 0) (type default)) + (uuid 73875618-b1ae-4d8d-b50c-adaa85ffbadf) + ) + (wire (pts (xy 105.41 48.26) (xy 102.87 48.26)) + (stroke (width 0) (type default)) + (uuid 77ac2fa0-7f23-4ead-bbdd-53ac63204491) + ) + (wire (pts (xy 30.48 67.31) (xy 30.48 64.77)) + (stroke (width 0) (type default)) + (uuid 78c4aa52-c814-429e-b310-b88e121f089e) + ) + (wire (pts (xy 53.34 82.55) (xy 43.18 82.55)) + (stroke (width 0) (type default)) + (uuid 78e60f50-0747-4aa3-a63d-68d50849ef22) + ) + (wire (pts (xy 232.41 62.23) (xy 217.17 62.23)) + (stroke (width 0) (type default)) + (uuid 7a725d33-77c8-45a8-9af2-aec14c85bf5a) + ) + (wire (pts (xy 45.72 62.23) (xy 43.18 62.23)) + (stroke (width 0) (type default)) + (uuid 7b95f56e-270d-457d-8776-6670ffefbed8) + ) + (wire (pts (xy 31.75 130.81) (xy 34.29 130.81)) + (stroke (width 0) (type default)) + (uuid 7c4a2731-c4fd-4416-8716-480a9838fd01) + ) + (wire (pts (xy 217.17 38.1) (xy 232.41 38.1)) + (stroke (width 0) (type default)) + (uuid 7ccb6f59-9a5f-4bd8-9b9e-98623bea8144) + ) + (wire (pts (xy 105.41 57.15) (xy 105.41 48.26)) + (stroke (width 0) (type default)) + (uuid 7e5f001a-0c0e-4965-9cc4-540b9ffd5ccb) + ) + (wire (pts (xy 209.55 80.01) (xy 203.2 80.01)) + (stroke (width 0) (type default)) + (uuid 7ea4aa5d-3abc-4066-88e2-bad402f7aad9) + ) + (wire (pts (xy 45.72 36.83) (xy 45.72 62.23)) + (stroke (width 0) (type default)) + (uuid 80a91fc3-48da-43fe-b0f7-6a4131acb4e6) + ) + (wire (pts (xy 50.8 46.99) (xy 43.18 46.99)) + (stroke (width 0) (type default)) + (uuid 821be1bf-3d81-41a9-bd74-baf1414f184f) + ) + (wire (pts (xy 209.55 59.69) (xy 203.2 59.69)) + (stroke (width 0) (type default)) + (uuid 83766a77-d4e2-48de-a546-8963c8286ec7) + ) + (wire (pts (xy 31.75 135.89) (xy 34.29 135.89)) + (stroke (width 0) (type default)) + (uuid 84f7b6ca-2965-469a-8b7d-ea83dc9d7527) + ) + (wire (pts (xy 30.48 74.93) (xy 30.48 67.31)) + (stroke (width 0) (type default)) + (uuid 85d81682-5c10-4f68-bbf2-05e513fdd7a6) + ) + (wire (pts (xy 30.48 41.91) (xy 30.48 44.45)) + (stroke (width 0) (type default)) + (uuid 897bbe63-603b-401e-bee1-d4e21a8fbc42) + ) + (wire (pts (xy 106.68 59.69) (xy 104.14 59.69)) + (stroke (width 0) (type default)) + (uuid 8ae144df-5846-409f-ba9d-6d8117df8008) + ) + (wire (pts (xy 106.68 48.26) (xy 105.41 48.26)) + (stroke (width 0) (type default)) + (uuid 8c9f8b1f-9397-4d97-8824-cca995006210) + ) + (wire (pts (xy 57.15 36.83) (xy 45.72 36.83)) + (stroke (width 0) (type default)) + (uuid 8dbb7d6d-efd6-4c77-9bf6-653251b92bf9) + ) + (wire (pts (xy 30.48 80.01) (xy 30.48 77.47)) + (stroke (width 0) (type default)) + (uuid 8e6e62fa-1a8a-4002-b180-c48efec1950e) + ) + (wire (pts (xy 25.4 106.68) (xy 25.4 109.22)) + (stroke (width 0) (type default)) + (uuid 8f15827b-c72c-481e-817a-07e5b630f5e5) + ) + (wire (pts (xy 52.07 49.53) (xy 43.18 49.53)) + (stroke (width 0) (type default)) + (uuid 8f29b04f-cf6e-4960-8a09-45b7c94bdc19) + ) + (wire (pts (xy 209.55 74.93) (xy 203.2 74.93)) + (stroke (width 0) (type default)) + (uuid 92c73ba8-c103-4685-9e1f-2d88464a2e3e) + ) + (wire (pts (xy 44.45 59.69) (xy 43.18 59.69)) + (stroke (width 0) (type default)) + (uuid 9468e1cf-1b0a-4beb-b944-c4ba92a7f393) + ) + (wire (pts (xy 49.53 44.45) (xy 43.18 44.45)) + (stroke (width 0) (type default)) + (uuid 95bdd997-96ad-496d-ab67-51b06bb96779) + ) + (wire (pts (xy 209.55 72.39) (xy 203.2 72.39)) + (stroke (width 0) (type default)) + (uuid 993493a0-76ff-4c0c-b237-82236e6bbedd) + ) + (polyline (pts (xy 123.19 22.86) (xy 72.39 22.86)) + (stroke (width 0) (type default)) + (uuid 9a7a3f06-574a-4d1c-a850-99fc7d49a056) + ) + (polyline (pts (xy 176.53 22.86) (xy 125.73 22.86)) + (stroke (width 0) (type default)) + (uuid 9b1541d9-e083-4401-a52c-e15ba2fae98c) + ) + + (wire (pts (xy 44.45 34.29) (xy 43.18 34.29)) + (stroke (width 0) (type default)) + (uuid 9f2700f6-e8e0-492a-ad9f-92a3abb52293) + ) + (polyline (pts (xy 125.73 91.44) (xy 176.53 91.44)) + (stroke (width 0) (type default)) + (uuid 9f67a1c1-9d16-45b2-b029-616982059b46) + ) + + (wire (pts (xy 30.48 59.69) (xy 30.48 52.07)) + (stroke (width 0) (type default)) + (uuid a237ea87-7d8e-464e-be97-09677bc24376) + ) + (wire (pts (xy 106.68 53.34) (xy 104.14 53.34)) + (stroke (width 0) (type default)) + (uuid a239003c-63ee-44af-8e9c-79a241e83fa0) + ) + (wire (pts (xy 30.48 39.37) (xy 30.48 41.91)) + (stroke (width 0) (type default)) + (uuid a3c7a48c-4692-487e-a01d-1e6a37232c3c) + ) + (wire (pts (xy 49.53 44.45) (xy 49.53 74.93)) + (stroke (width 0) (type default)) + (uuid a625af5a-83aa-4e8f-b047-d5b088d5db4a) + ) + (wire (pts (xy 217.17 43.18) (xy 232.41 43.18)) + (stroke (width 0) (type default)) + (uuid a8cd3f7f-8308-4749-8758-f3832d82c7c2) + ) + (wire (pts (xy 163.83 40.64) (xy 163.83 38.1)) + (stroke (width 0) (type default)) + (uuid a8f2e8e1-68c9-4e11-b79b-07381b997367) + ) + (wire (pts (xy 57.15 44.45) (xy 49.53 44.45)) + (stroke (width 0) (type default)) + (uuid af1e8d0e-119b-4054-b13e-0c518a611f55) + ) + (wire (pts (xy 25.4 101.6) (xy 25.4 104.14)) + (stroke (width 0) (type default)) + (uuid b1b9dace-0b8d-4f86-a6fc-50d4a7f53338) + ) + (wire (pts (xy 156.21 53.34) (xy 156.21 50.8)) + (stroke (width 0) (type default)) + (uuid b4640569-3474-4c20-b0ad-863f86fdab01) + ) + (wire (pts (xy 45.72 36.83) (xy 43.18 36.83)) + (stroke (width 0) (type default)) + (uuid b76109c8-0846-4b3c-a9a1-7b2983d96aa2) + ) + (wire (pts (xy 156.21 48.26) (xy 156.21 45.72)) + (stroke (width 0) (type default)) + (uuid b7b7f7af-560c-4998-b86f-a215624f44ac) + ) + (wire (pts (xy 232.41 80.01) (xy 217.17 80.01)) + (stroke (width 0) (type default)) + (uuid bc259b64-fce5-47c7-9a1a-af98f8e10cf0) + ) + (wire (pts (xy 30.48 46.99) (xy 30.48 49.53)) + (stroke (width 0) (type default)) + (uuid bd5c2ad7-a968-44b9-820a-e77cd3e78816) + ) + (wire (pts (xy 209.55 45.72) (xy 203.2 45.72)) + (stroke (width 0) (type default)) + (uuid bed79278-b424-4ef9-b658-3ab917ea2e61) + ) + (wire (pts (xy 52.07 49.53) (xy 52.07 80.01)) + (stroke (width 0) (type default)) + (uuid c2bdbb99-f318-40be-b996-5f445c44fc62) + ) + (wire (pts (xy 49.53 74.93) (xy 43.18 74.93)) + (stroke (width 0) (type default)) + (uuid cc6ccecd-b69f-4f94-8ced-7adb704afd68) + ) + (polyline (pts (xy 24.13 91.44) (xy 69.85 91.44)) + (stroke (width 0) (type default)) + (uuid cd759ba1-1557-4508-b552-f0c93d058c6b) + ) + + (wire (pts (xy 209.55 54.61) (xy 203.2 54.61)) + (stroke (width 0) (type default)) + (uuid cdea40b3-952d-4c71-8da8-5483ad85f0ab) + ) + (polyline (pts (xy 179.07 22.86) (xy 240.03 22.86)) + (stroke (width 0) (type default)) + (uuid d200fd38-a325-43da-871f-e36d2ec72f78) + ) + + (wire (pts (xy 209.55 57.15) (xy 203.2 57.15)) + (stroke (width 0) (type default)) + (uuid d25c210d-ae97-45ef-9033-487fae6da70f) + ) + (wire (pts (xy 209.55 38.1) (xy 203.2 38.1)) + (stroke (width 0) (type default)) + (uuid d41c0303-5c07-4130-b673-aacb6d15fd9c) + ) + (wire (pts (xy 43.18 52.07) (xy 53.34 52.07)) + (stroke (width 0) (type default)) + (uuid d874526f-e858-408b-862d-6af3b2373c8d) + ) + (wire (pts (xy 111.76 40.64) (xy 110.49 40.64)) + (stroke (width 0) (type default)) + (uuid d8cb3eca-a424-40b7-9d7a-b22abdb2a0a4) + ) + (wire (pts (xy 102.87 53.34) (xy 102.87 50.8)) + (stroke (width 0) (type default)) + (uuid db4ef2af-8b5d-464c-9f28-2dd38b5f71b2) + ) + (wire (pts (xy 46.99 39.37) (xy 46.99 64.77)) + (stroke (width 0) (type default)) + (uuid dd2805db-b137-4125-8099-d046822c8463) + ) + (wire (pts (xy 30.48 44.45) (xy 30.48 46.99)) + (stroke (width 0) (type default)) + (uuid ddced580-e580-4fc2-b4d0-d40f99341e8e) + ) + (wire (pts (xy 48.26 41.91) (xy 43.18 41.91)) + (stroke (width 0) (type default)) + (uuid dea82be3-c445-48d9-a658-9a5f37e7447c) + ) + (wire (pts (xy 232.41 77.47) (xy 232.41 80.01)) + (stroke (width 0) (type default)) + (uuid e10b30bf-fea8-4779-b681-dc22df2c71ed) + ) + (wire (pts (xy 31.75 128.27) (xy 34.29 128.27)) + (stroke (width 0) (type default)) + (uuid e1b8141f-b44b-49dc-8842-574930348261) + ) + (wire (pts (xy 106.68 57.15) (xy 105.41 57.15)) + (stroke (width 0) (type default)) + (uuid e1d99629-b3d2-484c-8453-b6b00ec9fb46) + ) + (wire (pts (xy 50.8 46.99) (xy 50.8 77.47)) + (stroke (width 0) (type default)) + (uuid e5ad0e5d-0841-4b7f-81ed-c5146abbd665) + ) + (polyline (pts (xy 123.19 91.44) (xy 123.19 22.86)) + (stroke (width 0) (type default)) + (uuid e7f10b3d-fbdc-466c-b642-78d70703e8d3) + ) + + (wire (pts (xy 25.4 109.22) (xy 25.4 111.76)) + (stroke (width 0) (type default)) + (uuid e903ca1d-878b-4543-9893-2f0a32d63cce) + ) + (wire (pts (xy 25.4 111.76) (xy 25.4 114.3)) + (stroke (width 0) (type default)) + (uuid e9e9106a-2449-4025-9014-f17ab687957f) + ) + (wire (pts (xy 232.41 45.72) (xy 217.17 45.72)) + (stroke (width 0) (type default)) + (uuid ee92a75a-73ac-482d-981b-a36ac2c18455) + ) + (polyline (pts (xy 72.39 91.44) (xy 123.19 91.44)) + (stroke (width 0) (type default)) + (uuid eea64ddc-4407-439d-9875-f539159d32b2) + ) + + (wire (pts (xy 53.34 52.07) (xy 57.15 52.07)) + (stroke (width 0) (type default)) + (uuid eefb5699-b400-4454-b5d0-f4b07d2694f3) + ) + (wire (pts (xy 232.41 43.18) (xy 232.41 45.72)) + (stroke (width 0) (type default)) + (uuid effc1bdf-a768-47fd-bce6-b76b3c15f13b) + ) + (wire (pts (xy 30.48 62.23) (xy 30.48 59.69)) + (stroke (width 0) (type default)) + (uuid f13aeb91-5994-4995-99a0-499db40e7306) + ) + (polyline (pts (xy 240.03 91.44) (xy 240.03 22.86)) + (stroke (width 0) (type default)) + (uuid f1f066d2-8dea-4606-8e50-a4b977d81ca0) + ) + + (wire (pts (xy 209.55 43.18) (xy 203.2 43.18)) + (stroke (width 0) (type default)) + (uuid f2949d99-ecf1-4ce6-baed-9a906ace7e80) + ) + (wire (pts (xy 30.48 49.53) (xy 30.48 52.07)) + (stroke (width 0) (type default)) + (uuid f8b2ca2d-b0b5-47e1-855b-849f5e333b87) + ) + (wire (pts (xy 57.15 46.99) (xy 50.8 46.99)) + (stroke (width 0) (type default)) + (uuid fa41a16c-cc5c-4f31-8b79-43fa3b6cf7b7) + ) + (wire (pts (xy 217.17 59.69) (xy 232.41 59.69)) + (stroke (width 0) (type default)) + (uuid fc0d662e-6797-4773-9da3-da3da3287b95) + ) + + (text "LEDS" (at 232.41 26.67 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 40fa8a37-c0b7-4f6d-9491-831b8667ec71) + ) + (text "SETTING USB" (at 160.02 27.94 0) + (effects (font (size 1.5 1.5)) (justify left bottom)) + (uuid 4ae83462-6c2b-45d2-915e-1eb450af6e53) + ) + (text "12 AISA" (at 99.06 149.86 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 693ce5d9-a6af-4879-a1d3-4f48c0519437) + ) + (text "14+" (at 64.77 154.94 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 694c2e93-af80-41f4-b7dd-292598a2d9c6) + ) + (text "SENSOR INPUT" (at 53.34 26.67 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid aa636038-1e25-4cda-ba72-ee5d9d23cf37) + ) + (text "MAIN USB" (at 110.49 27.94 0) + (effects (font (size 1.5 1.5)) (justify left bottom)) + (uuid eddffc15-e416-4795-affd-cf04b429bae5) + ) + + (global_label "up" (shape output) (at 60.96 116.84 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 03c89632-ba42-41bd-89b0-e6efa08a416a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 56.2488 116.7606 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "coin" (shape output) (at 60.96 106.68 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 0efce784-11b3-4113-a7e5-3ad1606ae4f7) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 54.5555 106.6006 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "test" (shape output) (at 60.96 109.22 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 29e85a26-4575-4d9f-ab59-b856f1f7f383) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 54.9788 109.1406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "down" (shape output) (at 31.75 128.27 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 33154546-79bd-41cf-8b2a-18a76725f883) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 24.5593 128.3494 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "service" (shape output) (at 73.66 114.3 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 3b12cf8a-0641-485c-8626-3d441aecc3b4) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.7255 114.2206 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "service" (shape output) (at 31.75 133.35 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3e1f6d87-2517-4d1a-8bea-b63da87f6dc1) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 22.6845 133.2706 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "test" (shape output) (at 31.75 138.43 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 56a000e7-e693-4cc2-98d2-32ed9d0892eb) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 25.7688 138.5094 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "coin" (shape output) (at 96.52 106.68 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6f358ce1-128a-4360-b6c5-73ec51140994) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 90.1155 106.6006 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "down" (shape output) (at 73.66 116.84 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9566fc10-7d6b-46b2-ba34-4928b6cddb4a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 80.8507 116.7606 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "coin" (shape output) (at 31.75 140.97 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 98b228e8-d397-4e04-a5d3-9505f4c1abad) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 25.3455 140.8906 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "enter" (shape output) (at 31.75 135.89 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a46bc77b-8eb9-459a-9449-19880477c5cf) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 24.4988 135.9694 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "test" (shape output) (at 109.22 104.14 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a46c5fe9-8a48-43a5-bdd7-d8349cfe972b) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 115.2012 104.2194 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "service" (shape output) (at 96.52 104.14 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b52f5578-6d9f-4f86-9d8a-4a42ca15d8cc) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 87.4545 104.2194 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "up" (shape output) (at 96.52 109.22 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c758bfbb-09ee-417d-af58-29bcdde32ff1) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 91.8088 109.1406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "enter" (shape output) (at 96.52 114.3 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ce0bd59e-76c0-489c-a0fd-da157111d013) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 89.2688 114.2206 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "up" (shape output) (at 31.75 130.81 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid dd2c616e-8fc2-40b0-83d2-329a6d9789d4) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 27.0388 130.8894 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "down" (shape output) (at 109.22 109.22 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid dda87974-b1a9-441b-b461-a7f7b10113d3) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 116.4107 109.1406 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "enter" (shape output) (at 60.96 121.92 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid de0a8932-fa77-4115-bd72-178261906447) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 53.7088 121.8406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + + (hierarchical_label "DIN1" (shape output) (at 38.1 101.6 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 06149c40-2570-4d5f-b377-b3c29a7e4719) + ) + (hierarchical_label "DIN7" (shape output) (at 34.29 140.97 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 064aef4d-2318-4de3-8e88-5d5057bb2631) + ) + (hierarchical_label "USB1_DN" (shape bidirectional) (at 106.68 57.15 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 11c0bb6e-3cb7-4d2e-8a8a-ec22a2593aca) + ) + (hierarchical_label "IN5" (shape output) (at 57.15 44.45 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 188877eb-f146-426c-ba41-a66dd715f3f5) + ) + (hierarchical_label "DIN3" (shape output) (at 34.29 130.81 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 3875ab22-9ba6-4daa-865e-03a5ee1cc6ae) + ) + (hierarchical_label "DIN3" (shape output) (at 38.1 106.68 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 390783cc-80bd-41cd-b4fe-75c5b5ae2fd2) + ) + (hierarchical_label "LED1" (shape input) (at 193.04 38.1 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 477c5bbe-bb38-4cb6-b6a8-b6049edb7103) + ) + (hierarchical_label "DIN5" (shape output) (at 38.1 111.76 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 4a7b8c05-0a85-4910-8f59-38c7ee03edf3) + ) + (hierarchical_label "IN3" (shape output) (at 57.15 39.37 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 521a3efd-ef20-4d8f-9eb1-8de5552d6941) + ) + (hierarchical_label "DIN2" (shape output) (at 34.29 128.27 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5faa697d-6479-43a3-a3dc-cdda2c42269a) + ) + (hierarchical_label "DIN4" (shape output) (at 34.29 133.35 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 620f67b3-ff76-46f8-8d75-913b909a8208) + ) + (hierarchical_label "STA2" (shape input) (at 193.04 74.93 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 622c2396-1dd5-4360-9726-240582439fa6) + ) + (hierarchical_label "LED7" (shape input) (at 193.04 59.69 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6858a983-88ea-4d5b-b36b-b6af9e08bb29) + ) + (hierarchical_label "DIN6" (shape output) (at 38.1 114.3 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7808ecd1-4c66-4055-b55b-d9de3c3a19e2) + ) + (hierarchical_label "LED4" (shape input) (at 193.04 45.72 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 88e26237-0d9b-4346-a517-15a2ec8435b0) + ) + (hierarchical_label "IN6" (shape output) (at 57.15 46.99 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 8a1ba7dd-19a5-46c1-9080-5b3b03990645) + ) + (hierarchical_label "USB2_DN" (shape bidirectional) (at 158.75 48.26 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 8a820fce-ac13-405d-a977-efd6a5690f3b) + ) + (hierarchical_label "IN2" (shape output) (at 57.15 36.83 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 8ce748ad-2d18-43a2-a7e3-f1889d374cdb) + ) + (hierarchical_label "DIN5" (shape output) (at 34.29 135.89 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9208021d-5729-4d34-a050-96f4874785ae) + ) + (hierarchical_label "LED2" (shape input) (at 193.04 40.64 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 9e9d363b-4152-40ef-a2b1-0e463132ae01) + ) + (hierarchical_label "DIN8" (shape output) (at 38.1 119.38 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a382f0da-a1ce-4c23-9eda-7382c451c27a) + ) + (hierarchical_label "DIN6" (shape output) (at 34.29 138.43 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b2743100-4aaa-4295-b001-2fea59b3cb89) + ) + (hierarchical_label "LED5" (shape input) (at 193.04 54.61 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b6eee72e-caba-438c-b6dd-22e1bb954c00) + ) + (hierarchical_label "DIN2" (shape output) (at 38.1 104.14 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b7714b2b-3e3b-46f1-acad-0be39e662ed4) + ) + (hierarchical_label "IN7" (shape output) (at 57.15 49.53 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b87d8cc9-ac87-4285-8041-fe622bcb6bef) + ) + (hierarchical_label "IN8" (shape output) (at 57.15 52.07 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c158006c-acad-4831-9d99-7171502889af) + ) + (hierarchical_label "STA4" (shape input) (at 193.04 80.01 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c2d196bb-7929-4f95-8de0-101f2cc50f31) + ) + (hierarchical_label "DIN7" (shape output) (at 38.1 116.84 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c4ab8218-f680-44f1-8270-e01ef4524ca0) + ) + (hierarchical_label "DIN4" (shape output) (at 38.1 109.22 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid ccf7cf53-f8af-4856-848c-f724fe076dec) + ) + (hierarchical_label "LED8" (shape input) (at 193.04 62.23 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ce4ed996-1aa4-44ae-a415-149d74fc0c98) + ) + (hierarchical_label "USB2_DP" (shape bidirectional) (at 158.75 53.34 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid ced05661-5c6a-435e-8773-af7584cf34a6) + ) + (hierarchical_label "IN4" (shape output) (at 57.15 41.91 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid d00e1f4e-9930-438a-a23d-46d20238eb10) + ) + (hierarchical_label "LED3" (shape input) (at 193.04 43.18 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d0c51270-44e8-4b12-a340-597d7e8ce8be) + ) + (hierarchical_label "LED6" (shape input) (at 193.04 57.15 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d1072457-b0ac-49c1-be08-a96ddfd20d9a) + ) + (hierarchical_label "STA1" (shape input) (at 193.04 72.39 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d495fd73-b5a8-4121-9ee2-1d3ad38065e4) + ) + (hierarchical_label "USB1_DP" (shape bidirectional) (at 106.68 59.69 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid e2099357-06b2-485d-80f1-5a52a5b347d3) + ) + (hierarchical_label "STA3" (shape input) (at 193.04 77.47 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid eeac6c32-e658-4e23-80ff-a05a951a90e0) + ) + (hierarchical_label "IN1" (shape output) (at 57.15 34.29 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid efb267e4-b4e4-4af3-b8d9-e493b9af3f75) + ) + + (symbol (lib_id "Device:LED") (at 213.36 77.47 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 00c9b0ae-6b49-449b-941a-9f723b18d4d8) + (property "Reference" "D42" (at 208.28 76.2 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 224.79 76.2 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 20fb05d3-0e4f-431e-9821-2b9f013f1525)) + (pin "2" (uuid 320da35e-8b0a-45e9-bd2a-c5cf1fbcf865)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D42") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 72.39 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 0a329a56-18a1-4d44-aa24-7c28c2c58a29) + (property "Reference" "D40" (at 208.28 71.12 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "YELLOW_LED" (at 224.79 71.12 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b29870f2-b8d7-4307-a0a8-d75c9ab6de55)) + (pin "2" (uuid a5c14c6e-8ce3-43f9-a9ef-169bd43fc921)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D40") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x04_Odd_Even") (at 38.1 80.01 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 0ab516d4-7d5e-4bc9-b2e9-25c2b01f1644) + (property "Reference" "J3" (at 36.83 72.39 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x04_Odd_Even" (at 36.83 84.9829 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical" (at 38.1 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 38.1 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 499b2c6e-7a19-46e9-b8f1-afa174639c10)) + (pin "2" (uuid d8541e0b-d08b-4d08-ab7d-4e0a0311bf8e)) + (pin "3" (uuid 03636479-a69a-49cc-9fa8-aca304629994)) + (pin "4" (uuid 98f4ee23-56c5-4f92-af9e-06e62499a67c)) + (pin "5" (uuid ef08b92d-b79f-454b-b489-1252e6d0aa82)) + (pin "6" (uuid 8c588f53-9868-438a-bc0c-b8bbf5dd89a0)) + (pin "7" (uuid 2b14ea09-3df8-4096-b2bb-b8aab0ac889f)) + (pin "8" (uuid 1de56bdd-fc47-4270-a27b-059467697976)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 137.16 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 0d4233b3-d8ed-443c-8bfe-030ff8db9944) + (property "Reference" "#PWR0141" (at 115.57 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6bc34cdc-0fe1-4078-8dc6-0dbc977d5020)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0141") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 80.01 86.36 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 142d3568-32d8-4ec7-b658-2cef0144bcf3) + (property "Reference" "#PWR0127" (at 80.01 92.71 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 80.01 90.8034 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 80.01 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 80.01 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ac23a0f3-8d96-47bc-8ed3-a9c84c916584)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0127") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 133.35 86.36 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 24efa575-f9ad-4639-9d6e-5aa2790b93c4) + (property "Reference" "#PWR0131" (at 133.35 92.71 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 133.35 90.8034 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 133.35 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 133.35 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0d5aa44e-ec54-480b-b2d1-e5a847936fa7)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0131") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 114.3 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 2d407d5d-83d4-4449-a533-df38e6703359) + (property "Reference" "#PWR0143" (at 115.57 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2671fc4f-44ff-4578-aaf4-c298f40e8f87)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0143") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 60.96 149.86 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3108b010-38bb-4cc8-88bd-24b2af41858f) + (property "Reference" "#PWR0102" (at 54.61 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 56.5166 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 60.96 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 60.96 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b3041655-b2c9-45dc-a7c0-4926fdc898dd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0102") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 96.52 124.46 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3253b093-83ce-4a35-a203-b8ee91b7c84a) + (property "Reference" "#PWR0136" (at 90.17 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 92.0766 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 96.52 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 96.52 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid dacec01e-2e2f-4f41-84d7-a79132092792)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0136") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 30.48 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 329cff34-bd15-4bf0-be36-7c7da4144677) + (property "Reference" "#PWR049" (at 30.48 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 30.48 86.9934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 30.48 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 30.48 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 585cfd0f-012f-403f-ab23-ca1c54f2a9b1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR049") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 97.79 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 33f63e1c-688e-4529-aae5-442db4f92dcc) + (property "Reference" "C62" (at 100.711 81.7153 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10uF/16V" (at 100.711 84.2522 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 98.7552 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 97.79 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fb4d7629-c333-4982-9972-2e27974f2b34)) + (pin "2" (uuid e65e63d7-5d0b-4cf6-9e35-ad87922039b6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "C62") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 198.12 77.47 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3485e059-b0c1-405c-a2c0-533f49b75445) + (property "Reference" "RN11" (at 198.12 67.4202 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "4.7K" (at 198.12 69.9571 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 198.12 84.455 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 198.12 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 85edb8f3-c49a-419a-8bf5-6fe55db18ecc)) + (pin "2" (uuid 90626b0d-cf91-4dd9-97e0-d1431bec4ac2)) + (pin "3" (uuid 8c957a45-fec8-467f-9dc3-62179b3c1a1a)) + (pin "4" (uuid 960ea60c-b3b4-41b2-bf3a-5a2a9065fda7)) + (pin "5" (uuid 78938d95-c22f-4a40-89c8-d4afb4e0d574)) + (pin "6" (uuid eaf9c8cc-808a-4a14-b931-15a97c111aae)) + (pin "7" (uuid f68477aa-9ed3-446d-a871-2f5a62574880)) + (pin "8" (uuid 35b1d2f8-dee0-4356-97a9-6985f3ea6e61)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "RN11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 73.66 124.46 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 351009ba-5529-4070-98a7-34966d7badae) + (property "Reference" "#PWR0103" (at 80.01 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 78.1034 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 73.66 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 73.66 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cbc3fd12-4eb8-4bdb-a0dd-028bf9817e16)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0103") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector:USB_C_Receptacle_USB2.0") (at 140.97 48.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3777be80-fad2-4753-8880-b5d0c96b7951) + (property "Reference" "J10" (at 133.35 29.21 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "USB_C_Receptacle_USB2.0" (at 143.6878 28.5496 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (at 144.78 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 144.78 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "A1" (uuid 87ff21f0-77b8-4fa9-a5b5-1b058984b9ca)) + (pin "A12" (uuid 41bd8996-552b-4540-99f0-5d0a2b06ef6f)) + (pin "A4" (uuid 2b60a4e8-374e-4127-ac52-581dbb189f0b)) + (pin "A5" (uuid 841f03aa-b9a4-4267-8f7e-e1d4667e59e2)) + (pin "A6" (uuid 9ada5f85-8835-49ce-9571-42787ccf880c)) + (pin "A7" (uuid 753841c2-27eb-422a-90b7-dfe91318d72e)) + (pin "A8" (uuid 21de7333-c04e-4ef5-8ed7-714a859aa8fc)) + (pin "A9" (uuid 2da49cca-cee3-42a1-93fe-ce04960df2e7)) + (pin "B1" (uuid e4e37831-e136-477c-b54b-f6dcbbfe2435)) + (pin "B12" (uuid bd1af5fe-0e37-410d-89ee-489cdeb1e8b7)) + (pin "B4" (uuid b4b681d5-483c-4927-abb2-b7cd151bec3e)) + (pin "B5" (uuid 6c15fd06-15d1-4498-97ec-e0da227dca0c)) + (pin "B6" (uuid fee14c7d-18ef-4a97-8626-aecdb3e5cd24)) + (pin "B7" (uuid cdb9a749-09af-4c85-9ef2-e15696ff991c)) + (pin "B8" (uuid 9f396cad-2cff-4569-a452-7961829bc402)) + (pin "B9" (uuid 78cf29cc-3bd5-4c7d-903b-eb5527e06739)) + (pin "S1" (uuid 512fcea8-d692-4488-be02-b94182848c29)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector:USB_C_Receptacle_USB2.0") (at 87.63 48.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 382f7017-ebc8-4b34-adfc-2407f1bc7286) + (property "Reference" "J9" (at 80.01 29.21 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "USB_C_Receptacle_USB2.0" (at 90.3478 28.5496 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (at 91.44 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 91.44 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "A1" (uuid a999aedc-0663-438b-a8d5-4f0f9684f7ee)) + (pin "A12" (uuid 2b894154-ad7d-4969-abbb-97d10ae2ca2a)) + (pin "A4" (uuid fdb2b371-b7e8-468e-bc04-3422e095679e)) + (pin "A5" (uuid 99c23781-7adc-42ad-b1bb-0a234fd01000)) + (pin "A6" (uuid cc4188bd-bf2f-4f83-9343-d75cba22a24b)) + (pin "A7" (uuid 82d1fa09-95f5-4d24-962f-eac0e5ca7dee)) + (pin "A8" (uuid 6825ee22-5c28-4f88-9a82-d616a2dd9e76)) + (pin "A9" (uuid 38021b74-617b-4dd6-b06e-9e8fd7489bff)) + (pin "B1" (uuid 61d18caa-8853-4e1a-973b-4426b293765b)) + (pin "B12" (uuid fd41f967-c8d3-424d-be6d-27a27cace28c)) + (pin "B4" (uuid c3f33a3c-b062-439c-adb4-58a73e7010a1)) + (pin "B5" (uuid fb00b459-206d-4e15-99d5-0b63eff51359)) + (pin "B6" (uuid d756058b-6455-4464-bb3b-0d9735e64f5e)) + (pin "B7" (uuid e137c882-ab0c-47e5-863c-943943434a8e)) + (pin "B8" (uuid d285fbe0-c173-4d91-b3a7-6303ca9193a9)) + (pin "B9" (uuid ced5a6fc-d4f6-42ad-a844-29aceb8486a4)) + (pin "S1" (uuid ca31864b-4313-40c3-82cb-35ada682b6d4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 60.96 124.46 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3a43e576-fef0-496e-8db0-1f5c468ddc0a) + (property "Reference" "#PWR0101" (at 54.61 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 56.5166 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 60.96 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 60.96 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 86bffa0e-db76-48fa-9c64-d71b8c1559d3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0101") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 101.6 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3d9f8b3f-371f-4fe6-bc62-3f5b2c4e6f34) + (property "Reference" "#PWR0138" (at 115.57 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6cd254ba-57e2-4a50-9b08-03e2cc32e022)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0138") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 96.52 137.16 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 414bb2d6-c55b-4d62-9949-e81ea6fc6203) + (property "Reference" "#PWR0142" (at 90.17 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 92.0766 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 96.52 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 96.52 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e31df5d6-5a77-470d-8a23-0b07b1db0e1b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0142") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 232.41 45.72 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 43faec75-502b-4ab7-a6b1-4ab53dfd6af3) + (property "Reference" "#PWR0134" (at 232.41 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 232.41 50.1634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 232.41 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 232.41 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ac1b44ad-607d-470a-8ba6-30db05176fb2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0134") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 144.78 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 44c37dfb-389d-4ccb-995a-ceec2b5aeb3f) + (property "Reference" "#PWR0139" (at 115.57 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7e9f3415-902c-4cbf-b765-93327983ff48)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0139") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 96.52 116.84 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 46acb2a2-82e6-4447-85e8-5e15e3dee87e) + (property "Reference" "#PWR0137" (at 90.17 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 92.0766 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 96.52 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 96.52 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ab28d52c-7234-4022-b81f-689de7ffa217)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0137") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 232.41 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 493882b5-bb9e-4de7-a481-b6a7dcc745aa) + (property "Reference" "#PWR0133" (at 232.41 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 232.41 84.4534 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 232.41 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 232.41 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e3885cb1-f318-458c-a161-7010a0598764)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0133") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 116.84 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4988003b-09b1-4732-a16c-4627492cec0a) + (property "Reference" "#PWR0144" (at 115.57 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 116.84 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6568aaa1-4007-416d-95aa-e5dfeeb8c64f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0144") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 111.76 40.64 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4ad4f980-0d51-4fde-96ef-85228af354f7) + (property "Reference" "#PWR0109" (at 118.11 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 116.2034 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 111.76 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 111.76 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7166607b-e16a-42bf-a75a-f8858f3b3125)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0109") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:D_TVS") (at 110.49 53.34 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4dd30c02-9e97-4810-91ae-988a535fa7e3) + (property "Reference" "D29" (at 107.95 50.8 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "D_TVS" (at 115.57 50.8 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_523_1" (at 110.49 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 110.49 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cad0f8f3-2863-4e33-b237-2ce852dd1a68)) + (pin "2" (uuid 88ddd915-61e1-4028-87e4-1009dddd78c9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D29") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 73.66 149.86 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4f499047-f81f-4cb0-aef2-dc3d80ded02d) + (property "Reference" "#PWR0104" (at 80.01 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 78.1034 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 73.66 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 73.66 149.86 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0d86257f-5534-42c4-aa60-a78b6f068d97)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0104") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 113.03 33.02 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5c21265e-b839-4fbc-8dfc-40ff9b4a3194) + (property "Reference" "#PWR0110" (at 109.22 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 111.76 35.56 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 113.03 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 113.03 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 54b7be72-0fd1-4346-bc8d-5ecc1e588748)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0110") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 80.01 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5ca02ff9-da78-4f25-8d73-346f29564dba) + (property "Reference" "D43" (at 208.28 78.74 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 224.79 78.74 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5ec82ed6-3226-4a22-a130-316cf2b7b731)) + (pin "2" (uuid 821740a2-d768-44ac-bf34-3dcfa9d1118d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D43") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:D_TVS") (at 110.49 48.26 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 62f325cd-41f1-4782-b003-88a628084159) + (property "Reference" "D28" (at 107.95 45.72 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "D_TVS" (at 115.57 45.72 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "NewLib:SOD_523_1" (at 110.49 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 110.49 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 97dfd556-7641-43e5-85dc-76727368a748)) + (pin "2" (uuid ecc4f172-4726-489d-a20e-2b88bb47b8ed)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D28") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 198.12 43.18 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 679c7ef8-3bec-494e-bb5e-47702b70d6cb) + (property "Reference" "RN9" (at 198.12 33.1302 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "4.7K" (at 198.12 35.6671 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 198.12 50.165 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 198.12 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 772b7373-2784-45ca-a384-4bedeee8e577)) + (pin "2" (uuid 16ad7ea2-f2c6-40f9-a9b1-02b72411257d)) + (pin "3" (uuid 767f66a5-7207-49c9-ba87-b5f349887b3b)) + (pin "4" (uuid 9b827e80-31ef-4934-89e3-296ed9743046)) + (pin "5" (uuid 86ab8cce-59a0-45d5-8af5-63a421e95df8)) + (pin "6" (uuid e91070d7-5716-4197-97e5-725fc38ed257)) + (pin "7" (uuid 72b53f8b-7790-49c4-b57a-ba9866d45a85)) + (pin "8" (uuid be0aa5d9-bc04-4c79-89f1-090625b49756)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "RN9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 160.02 40.64 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6940afc6-3255-4b79-8cb1-9eb4e1764c1f) + (property "Reference" "R81" (at 160.02 43.18 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "5K1" (at 160.02 40.64 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 160.02 38.862 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 160.02 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2c9b5e1b-9c43-4abf-9327-403f8764e25a)) + (pin "2" (uuid ff1b1e87-975e-4648-8081-5a324d9f994d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "R81") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 59.69 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6aa64ab0-3fbf-418e-9801-9c2e2e3d9343) + (property "Reference" "D38" (at 208.28 58.42 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 223.52 58.42 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 59.69 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 59.69 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1cddbb17-15ea-4579-b285-56c052158147)) + (pin "2" (uuid ec2b460b-96a5-484b-a7d2-a614c492196f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D38") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 57.15 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6d773ecb-b60b-43ce-972a-eb46b1351142) + (property "Reference" "D37" (at 208.28 55.88 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 223.52 55.88 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7272f06a-68c1-40b3-a943-e3af9ad7aade)) + (pin "2" (uuid df4d4edd-613c-4741-abfb-12cbfef62a6c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D37") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 62.23 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6df10c82-65f6-4156-916e-3572ecf6704c) + (property "Reference" "D39" (at 208.28 60.96 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BLUE_LED" (at 223.52 60.96 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 42aa131c-805f-4c81-acd5-9e0d54c440a4)) + (pin "2" (uuid 52fffc7d-5550-4e52-9c50-dd4e3ccd6321)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D39") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 80.01 71.12 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 722744a3-fee3-4d74-800f-813a59e8b1d9) + (property "Reference" "#PWR0107" (at 80.01 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 80.01 75.5634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 80.01 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 80.01 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9c3539f0-bf88-4e9e-941d-fdace7997a43)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0107") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 140.97 71.12 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 791ba791-c626-4a71-845c-59610bf17308) + (property "Reference" "#PWR0114" (at 140.97 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 140.97 75.5634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 140.97 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 140.97 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f2812a4e-4109-450d-b79f-119206510b64)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0114") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 232.41 62.23 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 85aad8bd-fae6-43ce-905d-93a2042d6df4) + (property "Reference" "#PWR0132" (at 232.41 68.58 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 232.41 66.6734 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 232.41 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 232.41 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 63c2970c-24cd-4862-a95d-8c8a15573839)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0132") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 106.68 40.64 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 85f259f1-235d-4100-ba2f-54658e50a033) + (property "Reference" "R79" (at 106.68 43.18 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "5K1" (at 106.68 40.64 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 106.68 38.862 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 106.68 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e7b57c8c-0cef-4092-8a4f-8815c793485e)) + (pin "2" (uuid 7aabe103-6bbb-4c71-8a78-1c3692cb3e43)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "R79") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x08_Odd_Even") (at 38.1 44.45 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 88e91dd1-8655-4cf7-b327-3adfb385a8d8) + (property "Reference" "J1" (at 36.83 31.75 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x08_Odd_Even" (at 36.83 54.5029 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_IDC:IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical" (at 38.1 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 38.1 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b76d1b79-ba32-46a8-a5fe-3abd11d2745b)) + (pin "10" (uuid 6f654043-9d9d-4587-b177-66361fe4b944)) + (pin "11" (uuid e2576b69-bba1-43a6-8998-70ea69c036fa)) + (pin "12" (uuid 3b17f57a-0096-46b5-8591-2ccef7949316)) + (pin "13" (uuid f176ddb4-f0f9-42bb-9494-abc2fd7adebe)) + (pin "14" (uuid d21f6994-ad6f-4ab5-aa7f-58a929a127cd)) + (pin "15" (uuid 8df0063a-21ac-41fb-aee1-2216ad06e576)) + (pin "16" (uuid 2f5c031d-bb96-496b-84c3-8e69e7919ce1)) + (pin "2" (uuid 2596654b-5927-4521-bd9f-ae073065ab4f)) + (pin "3" (uuid d10f3ec4-1ad4-4135-b414-5a19a26939bb)) + (pin "4" (uuid dff36926-72d0-4ecf-bb94-3bb4ffb54068)) + (pin "5" (uuid 4f6fe06c-d1d5-46bf-b574-635b5d74887d)) + (pin "6" (uuid 588376fc-0462-43b4-9b96-58b9eee256be)) + (pin "7" (uuid df50f9fb-76b1-482b-8a37-b99ed4ef0145)) + (pin "8" (uuid a2a44a50-f596-4106-88dc-f8dfdc5aff0f)) + (pin "9" (uuid 16189f09-2ed9-4832-ad53-ab9dd7d646e4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 80.01 78.74 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8dfee55e-aa17-4926-9aa1-f411734b40e7) + (property "Reference" "#PWR0126" (at 80.01 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 81.28 76.2 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 80.01 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 80.01 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 14ff94da-9523-4bda-a33c-a62117d651f4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0126") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 25.4 119.38 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 954cf816-9e32-477c-a8fa-62598ba0abc9) + (property "Reference" "#PWR090" (at 25.4 125.73 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 25.4 123.8234 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 25.4 119.38 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 25.4 119.38 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7620db1c-a5b0-4ffb-8851-4eabfd08ddce)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR090") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x18_Odd_Even") (at 101.6 121.92 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 96f6097e-743e-41e8-a41c-6eab69b70cea) + (property "Reference" "J11" (at 102.87 97.79 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x18_Odd_Even" (at 102.87 99.1671 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:B36B-XADSS-N-A" (at 101.6 121.92 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 101.6 121.92 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5751876c-bbaf-4f44-9914-75e8304df6e6)) + (pin "10" (uuid 9bf967b3-b380-4e0e-bc90-f1d76db0a7fd)) + (pin "11" (uuid 8d7498d8-77f3-4d67-838a-f4692287e2e4)) + (pin "12" (uuid 5c5e5b42-86b1-4cd5-b820-f955717c2a1d)) + (pin "13" (uuid 9416a4f0-2e9d-4bb0-baad-c6b8d764425e)) + (pin "14" (uuid 237d0f1f-f62f-4fa3-9375-3d423cb913f6)) + (pin "15" (uuid b23ffcb5-b9f7-4b53-8b36-6f726aac05a2)) + (pin "16" (uuid 313e085e-0f4b-4da9-bdaf-9941b5cbf2b8)) + (pin "17" (uuid b9127622-7baa-4d93-96e4-8cc82afe0896)) + (pin "18" (uuid acab8845-6bab-4408-83a5-06857fe9404e)) + (pin "19" (uuid 9c23d28c-efa3-4b20-a91d-9cded31e2526)) + (pin "2" (uuid 4ffa73bf-61be-4b2a-a7c3-836395b12edc)) + (pin "20" (uuid 35993089-ffb4-4f42-a086-3d5edfaf87b9)) + (pin "21" (uuid d7d709d8-a214-4e0d-8d53-5dfafcfadc68)) + (pin "22" (uuid e269d7a8-d5b4-4153-89a2-a968340e67e3)) + (pin "23" (uuid 62f0a51b-e45e-46cb-83b5-03651fbd7c66)) + (pin "24" (uuid 9dadfa4f-2387-4f2e-97bb-480e204b672c)) + (pin "25" (uuid 096ef116-a3c8-4f1f-a447-1fc52b6e85d5)) + (pin "26" (uuid 2253b553-1341-472c-9685-2a6bee3bafb9)) + (pin "27" (uuid 18c3b8a8-d5ab-4374-b704-7cc2ea988fa1)) + (pin "28" (uuid 58df0c42-9f69-400c-b6d0-3a600ec1edd1)) + (pin "29" (uuid ba51ba2d-8f70-45b2-bca8-63d170b25d62)) + (pin "3" (uuid 178af52b-e97b-44f1-af2c-fd7d6bc3b421)) + (pin "30" (uuid 909e6ad5-3d9a-4b06-91cf-26166093cc21)) + (pin "31" (uuid a4847e4b-6e59-4be6-a0e9-1cb23a771e02)) + (pin "32" (uuid 30c8dad9-883a-4392-bcfb-e02f111d04f8)) + (pin "33" (uuid 9fcca6b3-0e4d-4de2-91d1-49b19064a8d3)) + (pin "34" (uuid ec5bf5bf-5aee-45db-8b87-b9f2c0c2d3f0)) + (pin "35" (uuid 3447f505-62a3-4992-b418-a97c2ed64e4e)) + (pin "36" (uuid d8d6b3fc-dc70-40b6-a948-09784ae85096)) + (pin "4" (uuid e5060b0d-59cb-4a27-a64f-912f4328366a)) + (pin "5" (uuid eb194396-5917-4d80-856e-fb53918d27cf)) + (pin "6" (uuid 0e9c58c8-1407-4e0f-914c-947d77b83b8b)) + (pin "7" (uuid f6bb684c-d415-4c06-a5cd-d207f5739b7b)) + (pin "8" (uuid 32c44e80-f6ab-40eb-a259-5710b27bdf00)) + (pin "9" (uuid 41ce6a84-37a2-485c-a29a-6cfeb96e75d0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 96.52 144.78 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 9793caa0-29ea-45d9-8bb3-da03ec483bb2) + (property "Reference" "#PWR0140" (at 90.17 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 92.0766 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 96.52 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 96.52 144.78 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 30ac308a-6e8d-4215-8d18-3a07de99a68c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0140") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 43.18 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9929f72d-965b-4c63-868c-3b29749a287d) + (property "Reference" "D34" (at 208.28 41.91 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 223.52 41.91 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 43.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cfb69e3a-f422-4c07-a98f-249240422ba7)) + (pin "2" (uuid 2bee5684-b9c1-4baf-9ba3-edc8e0b9246c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D34") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 97.79 86.36 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 9ab00704-b30a-451b-985b-a3bb4f8e3f34) + (property "Reference" "#PWR0129" (at 97.79 92.71 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 97.79 90.8034 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 97.79 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 97.79 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1f0a22b7-1fa5-4c16-bf82-129ceb20a0e7)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0129") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:VBUS") (at 133.35 78.74 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9c5c8e30-b656-48ce-b4cf-b1f290e619ee) + (property "Reference" "#PWR0130" (at 133.35 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "VBUS" (at 134.62 76.2 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 133.35 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 133.35 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2fe5f2db-4cd0-4453-aacc-aee5a2622fa9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0130") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 114.3 53.34 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a4c758be-03e4-49c9-acb5-6ddb553cb51d) + (property "Reference" "#PWR0112" (at 120.65 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 118.7434 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 114.3 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 114.3 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a5059691-ed7d-4c91-8048-60f3f2702f19)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0112") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 160.02 38.1 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid adde402d-8a6a-4e3d-9ecc-e2971484e557) + (property "Reference" "R80" (at 160.02 35.56 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "5K1" (at 160.02 38.1 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 160.02 36.322 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 160.02 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 99d3f109-4832-415f-aa9e-0f9560e01ba0)) + (pin "2" (uuid 04c7e719-e220-490c-9a10-1eb3ddbe0748)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "R80") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 38.1 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b20c0f42-c11e-492c-9887-bbb4838c0c94) + (property "Reference" "D32" (at 208.28 36.83 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BLUE_LED" (at 223.52 36.83 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5949736b-cef9-4e9f-a199-aac42e30fb37)) + (pin "2" (uuid 222bce5d-fb42-40e6-b742-3e58cbb5aafa)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D32") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:VBUS") (at 156.21 33.02 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b456ca49-80c7-45a7-aea9-9d172c552d50) + (property "Reference" "#PWR0115" (at 152.4 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "VBUS" (at 160.02 33.02 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 156.21 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 156.21 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4bcc1476-43c5-414e-8dd7-1662392521e1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0115") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x08_Odd_Even") (at 33.02 109.22 0) (mirror y) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b5f69c19-571e-4661-bb89-f90dfeac2841) + (property "Reference" "J7" (at 31.75 121.92 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x08_Odd_Even" (at 31.75 99.1671 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_IDC:IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical" (at 33.02 109.22 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 33.02 109.22 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f5a69d33-6316-4c16-9cfb-f8654e7da3f2)) + (pin "10" (uuid 9ed983fa-f703-4fdd-b72c-004ed39a36e3)) + (pin "11" (uuid d1d96ebc-f926-47cd-89a4-6ce583d3a75a)) + (pin "12" (uuid 9af635c2-4b75-478c-be7b-285ee7cd84a9)) + (pin "13" (uuid 29c42220-a6dc-481e-85d9-960735e64c00)) + (pin "14" (uuid 84f288a0-2c3b-44b1-b349-819e28682e48)) + (pin "15" (uuid 0ad07564-8157-4540-be2b-b6e3291c0f8a)) + (pin "16" (uuid c98a5048-6e83-44f5-ae75-1996bf1466eb)) + (pin "2" (uuid da09944d-7533-452f-b851-7367cf7ab222)) + (pin "3" (uuid 9cf2c0c0-e805-46aa-ac24-b1a039443def)) + (pin "4" (uuid 76cb7969-4c78-46e1-b48f-aa79c34382b7)) + (pin "5" (uuid 49b912c4-5905-4928-8032-1c3af52bc938)) + (pin "6" (uuid 112a277a-1aff-4925-9b35-6234f6baaf3f)) + (pin "7" (uuid e3700119-104e-4e15-a5f0-274e261f0f08)) + (pin "8" (uuid 1940e5d1-f6d6-4fde-991d-320f111c0f34)) + (pin "9" (uuid bb1b2d0f-4b20-48da-ab5a-dfa31d25ce14)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 133.35 71.12 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c89d706b-7929-46e0-86de-15575d0f0ff8) + (property "Reference" "#PWR0113" (at 133.35 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 133.35 75.5634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 133.35 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 133.35 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e45fcc21-d5bb-4365-8bba-e58158edd9cb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0113") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x04_Odd_Even") (at 38.1 64.77 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid c951bb46-aa6b-4683-8a0a-e5f019d734a4) + (property "Reference" "J2" (at 36.83 57.15 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x04_Odd_Even" (at 36.83 69.7429 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical" (at 38.1 64.77 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 38.1 64.77 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 349b00b0-eb6f-40ec-ab11-080c1b40282c)) + (pin "2" (uuid c9bbe874-258b-4b27-aa97-17b81c2d05bc)) + (pin "3" (uuid 3f19454d-7fd9-4a51-a32c-d5b4630bb438)) + (pin "4" (uuid 71087752-351f-4d83-aa71-273c6290f612)) + (pin "5" (uuid ce732815-fc5c-45bb-9fd7-a59a8e221b6d)) + (pin "6" (uuid 9ee38460-2758-49e8-9982-3652d6a1e334)) + (pin "7" (uuid 5d63ff5d-0c3b-4d8a-bec4-f95cdad27a3d)) + (pin "8" (uuid ed6fb0e3-463d-4294-89a7-10095fef6a77)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:Fuse") (at 106.68 33.02 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid cafba94c-9631-45ad-9cdf-dfd4adaa46e9) + (property "Reference" "F1" (at 106.68 28.5582 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "0.5A/30V" (at 106.68 31.0951 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Fuse:Fuse_0805_2012Metric" (at 106.68 34.798 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 106.68 33.02 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid de8d1837-bd2c-4e3e-a83a-54e9f4871f6d)) + (pin "2" (uuid 9b33fa4e-4b18-4266-9dd5-43c2843a3e6b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "F1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 45.72 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid cb817a49-89cd-4c05-922d-409879cb5374) + (property "Reference" "D35" (at 208.28 44.45 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BLUE_LED" (at 223.52 44.45 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 788b3417-98ae-4317-890e-126c3b667b18)) + (pin "2" (uuid be7d0098-4c24-4266-b931-6c0aa56de01b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D35") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 87.63 71.12 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d05d74f4-1954-4100-957f-4bd9f18273c7) + (property "Reference" "#PWR0108" (at 87.63 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 87.63 75.5634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 87.63 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 87.63 71.12 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c8b5d9bc-8891-4155-8ccb-6bd62f8f38c5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0108") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C_Polarized") (at 80.01 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d17a94ed-b9b3-4030-abf8-f21d91c5003f) + (property "Reference" "C61" (at 82.931 80.8263 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "220uF/10V" (at 82.931 83.3632 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_THT:CP_Radial_D6.3mm_P2.50mm" (at 80.9752 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 80.01 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f98f19ed-8f38-44b0-8fa2-ee56dc235e5e)) + (pin "2" (uuid a40e1dce-85e9-4f31-b7b0-648573662e6c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "C61") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 133.35 82.55 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d32d6767-671b-4a96-a990-ee49d78cecdc) + (property "Reference" "C63" (at 136.271 81.7153 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10uF/16V" (at 136.271 84.2522 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 134.3152 86.36 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 133.35 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1c4ba5fc-5039-4939-88f2-3edfb57d5a7c)) + (pin "2" (uuid 99765512-edfe-4dc8-858f-ced003ac1f33)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "C63") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 165.1 40.64 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d43a41db-62e8-4be5-bd0f-7f4a6c9d40d1) + (property "Reference" "#PWR0116" (at 171.45 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 169.5434 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 165.1 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 165.1 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 87d11394-df8d-4dcf-9209-573b27a95d6d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0116") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 74.93 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid dde49aa3-e8f2-44ff-85db-b706d57cf8af) + (property "Reference" "D41" (at 208.28 73.66 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "YELLOW_LED" (at 224.79 73.66 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 74.93 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 74.93 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d81d5229-ad80-4367-bb14-4fc3fca01fef)) + (pin "2" (uuid 4147f2fc-5b15-45dc-bb40-062557ee54f1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D41") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 40.64 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid de225e80-6502-4a30-bb98-d6f313c3a3e4) + (property "Reference" "D33" (at 208.28 39.37 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "RED_LED" (at 223.52 39.37 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2d842ddb-a42c-4f41-a37f-18f45d28a38e)) + (pin "2" (uuid b694f2ea-9f98-40fc-a937-93d9ba00c9ed)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D33") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 198.12 59.69 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e1f1610b-d7c4-4363-96d2-c40c6853b82f) + (property "Reference" "RN10" (at 198.12 49.6402 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "4.7K" (at 198.12 52.1771 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 198.12 66.675 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 198.12 59.69 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 56e991db-4e15-4098-8c95-5d49230e60f4)) + (pin "2" (uuid deb22a81-b4ff-45e3-9ee3-c573edd4ceb0)) + (pin "3" (uuid 32bf8641-4671-4bb8-a7b5-f2ddf405dced)) + (pin "4" (uuid cfd83ff7-e3b9-4d29-b506-b86786e420bc)) + (pin "5" (uuid 9736267c-722c-4122-a195-ae9fb6222a01)) + (pin "6" (uuid 0f20b684-6783-4f99-b8f1-02d21d2c998a)) + (pin "7" (uuid e4e6fe20-356f-4f4a-9b82-ce0d54982767)) + (pin "8" (uuid fbc91e34-c145-4a55-94f7-bd4b626f710c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "RN10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_02x20_Odd_Even") (at 66.04 124.46 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e51c067e-c5db-457e-a0be-8ef038ddde45) + (property "Reference" "J8" (at 67.31 97.79 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_02x20_Odd_Even" (at 67.31 99.1671 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:B40B-XADSS-N-A" (at 66.04 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 66.04 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 11434f9d-67ab-4780-ab9a-853aaa9a5539)) + (pin "10" (uuid 643ba0bb-bb70-4746-aafd-83e8fd973348)) + (pin "11" (uuid 214a811b-9a4d-4898-8ce7-2d9c350c89c7)) + (pin "12" (uuid d76a9be4-9762-4e38-978f-c84cb9ae5d88)) + (pin "13" (uuid e2cb9a9c-5e2a-4f37-8f68-2d28e07f51f2)) + (pin "14" (uuid 34d937bd-b12e-4aa4-a28c-69d6c158cdbb)) + (pin "15" (uuid a67d85a2-2f69-407d-840d-5205c8050e6b)) + (pin "16" (uuid 22bba68f-6c94-4a52-aff1-c1a64cb8986a)) + (pin "17" (uuid 58463050-9b49-4272-a5a2-758c17df71f7)) + (pin "18" (uuid 9b112a74-87ad-4d1f-9bf0-e78579bbee1a)) + (pin "19" (uuid 29b8e2b4-1785-4bcd-b8cd-437ff277c7b8)) + (pin "2" (uuid 7dda04bb-5c8d-418e-bcf1-4f8c8fabcc7f)) + (pin "20" (uuid 4506e0f3-fe54-4a52-8c8f-44e6b0f556e7)) + (pin "21" (uuid c570fcb9-3612-4d06-a3ca-70b8cec76174)) + (pin "22" (uuid ab39310a-a658-4c2c-a4b3-42845e93da6e)) + (pin "23" (uuid 90503cc7-512a-4f51-b68f-27fd9bde4c4d)) + (pin "24" (uuid 0be07286-33fb-4590-96e8-14fa37da317b)) + (pin "25" (uuid 53ff82dc-0a28-4c2b-b9c2-b4f8b31c388b)) + (pin "26" (uuid 6a4159ec-0cfb-4e64-80d4-b83adc785c38)) + (pin "27" (uuid 32d2f427-ea5a-4640-9804-750895345508)) + (pin "28" (uuid dd128419-e728-48bb-8232-20ee11538f26)) + (pin "29" (uuid 8f9143cd-ee29-41b7-903f-d5f9f92fe118)) + (pin "3" (uuid ff315ed0-536f-46ae-af3c-c89551e593e5)) + (pin "30" (uuid 6065b3ad-aec3-4e15-adab-1e982940d9e3)) + (pin "31" (uuid 5eabf34d-5e0b-476f-9bae-2d5d5c895abf)) + (pin "32" (uuid b22144db-e95a-44c1-ba06-920da0925e23)) + (pin "33" (uuid 47ce159d-4cce-4dcb-9ebb-336bf9ae0eae)) + (pin "34" (uuid 3fd712ae-3f04-4f88-a688-f6c76e23a50d)) + (pin "35" (uuid d77bc944-bea6-4644-b8ec-7712d7b98f70)) + (pin "36" (uuid d6ec2029-248e-43cd-b316-1b9e585eaa21)) + (pin "37" (uuid d8cbacc1-803d-4533-bd03-05e39182ad22)) + (pin "38" (uuid a1026b7d-144e-42f6-930f-2a4a8f903d9e)) + (pin "39" (uuid acec9be8-d755-4678-bb24-a4c9c965ba10)) + (pin "4" (uuid fc411163-5afc-409f-8b82-149d8a354f99)) + (pin "40" (uuid 2ce2216d-7993-41bb-beb9-f56d171962f2)) + (pin "5" (uuid 33523fea-140e-46df-a99e-f2822e2d2d6e)) + (pin "6" (uuid 28db2231-8ea4-4dc0-82a9-f102612b179a)) + (pin "7" (uuid 725585e3-5c82-4011-8970-a362e73467ee)) + (pin "8" (uuid 662aea02-a14a-4dfc-93f9-64528ee1e1b3)) + (pin "9" (uuid 40fb77d6-dea5-4b49-8676-1b1ef5dec8c5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "J8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 106.68 38.1 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ecbee0b8-1dca-4598-be1e-f2e8b94918d6) + (property "Reference" "R78" (at 106.68 35.56 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "5K1" (at 106.68 38.1 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 106.68 36.322 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 106.68 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ace92f7c-a330-43e9-a998-fbc04455ad15)) + (pin "2" (uuid 1391600c-3a51-4764-b897-1f710b7d8582)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "R78") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 109.22 124.46 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f1d4c857-b9c2-4718-9957-0e985a900986) + (property "Reference" "#PWR0145" (at 115.57 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6634 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 109.22 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 109.22 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid aa558717-d04a-47ec-ae11-5fe5f4b0d31a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0145") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 114.3 48.26 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f5549e65-3ac2-4813-8fca-8be67d5266cf) + (property "Reference" "#PWR0111" (at 120.65 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 118.7434 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 114.3 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 114.3 48.26 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8082c65e-485b-4e2f-b1b4-793f211407bd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0111") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:LED") (at 213.36 54.61 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f58bfcae-a904-43d0-b88f-13ffdfefc0bf) + (property "Reference" "D36" (at 208.28 53.34 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "BLUE_LED" (at 223.52 53.34 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 213.36 54.61 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 213.36 54.61 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c2da5097-767e-4444-b7e9-61a866fddeb3)) + (pin "2" (uuid 54ffeee6-a649-494b-9d2f-015de72fcc24)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "D36") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 97.79 78.74 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f8dd679f-079c-4538-b9bc-a24568111307) + (property "Reference" "#PWR0128" (at 97.79 82.55 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 99.06 76.2 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 97.79 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 97.79 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 620ee7a0-3a69-48da-80ae-cd1cda5482eb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/8c28bde5-632b-4f6a-a03f-bbd7b805253a" + (reference "#PWR0128") (unit 1) + ) + ) + ) + ) +) diff --git a/HW/taiko-io/new_io-all.pos b/HW/taiko-io/new_io-all.pos new file mode 100644 index 0000000..45a144a --- /dev/null +++ b/HW/taiko-io/new_io-all.pos @@ -0,0 +1,243 @@ +### Footprint positions - created on Wed Mar 15 14:21:56 2023 ### +### Printed by KiCad version (7.0.0) +## Unit = mm, Angle = deg. +## Side : All +# Ref Val Package PosX PosY Rot Side +C1 2.2nF/50V C_0603_1608Metric 38.9890 -42.4180 0.0000 top +C2 2.2nF/50V C_0603_1608Metric 38.9890 -44.1960 0.0000 top +C3 2.2nF/50V C_0603_1608Metric 38.9890 -60.1980 0.0000 top +C4 2.2nF/50V C_0603_1608Metric 38.9890 -61.9760 0.0000 top +C5 4.7uF/16V C_0603_1608Metric 52.3240 -37.0840 -90.0000 top +C6 4.7uF/16V C_0603_1608Metric 52.3240 -49.5300 90.0000 top +C7 4.7uF/16V C_0603_1608Metric 52.3240 -54.8640 -90.0000 top +C8 4.7uF/16V C_0603_1608Metric 52.3240 -67.3100 90.0000 top +C9 2.2nF/50V C_0603_1608Metric 38.9890 -77.9780 0.0000 top +C10 2.2nF/50V C_0603_1608Metric 38.9890 -79.7560 0.0000 top +C11 2.2nF/50V C_0603_1608Metric 38.9890 -95.7580 0.0000 top +C12 2.2nF/50V C_0603_1608Metric 38.9890 -97.5360 0.0000 top +C13 4.7uF/16V C_0603_1608Metric 52.3240 -72.6440 -90.0000 top +C14 4.7uF/16V C_0603_1608Metric 52.3240 -85.0900 90.0000 top +C15 4.7uF/16V C_0603_1608Metric 52.3240 -90.4240 -90.0000 top +C16 4.7uF/16V C_0603_1608Metric 52.3240 -102.8700 90.0000 top +C17 100nF/50V C_0603_1608Metric 42.9260 -43.3070 0.0000 top +C18 100nF/50V C_0603_1608Metric 55.1180 -43.3070 0.0000 top +C19 100nF/50V C_0603_1608Metric 42.9260 -61.0870 0.0000 top +C20 100nF/50V C_0603_1608Metric 55.1180 -61.0870 0.0000 top +C21 100nF/50V C_0603_1608Metric 42.9260 -78.8670 0.0000 top +C22 100nF/50V C_0603_1608Metric 55.1180 -78.8670 0.0000 top +C23 100nF/50V C_0603_1608Metric 42.9260 -96.6470 0.0000 top +C24 100nF/50V C_0603_1608Metric 55.1180 -96.6470 0.0000 top +C25 10nF/50V C_0603_1608Metric 57.9120 -64.1350 90.0000 top +C26 10nF/50V C_0603_1608Metric 57.9120 -99.6950 90.0000 top +C27 10nF/50V C_0603_1608Metric 57.9120 -58.0390 -90.0000 top +C28 10nF/50V C_0603_1608Metric 57.9120 -93.5990 -90.0000 top +C29 10nF/50V C_0603_1608Metric 57.9120 -46.3550 90.0000 top +C30 10nF/50V C_0603_1608Metric 57.9120 -81.9150 90.0000 top +C31 10nF/50V C_0603_1608Metric 57.9120 -40.2590 -90.0000 top +C32 10nF/50V C_0603_1608Metric 57.9120 -75.8190 -90.0000 top +C33 10uF/16V C_0603_1608Metric 73.9140 -39.3700 0.0000 top +C34 22uF/6.3V C_0603_1608Metric 73.9140 -34.0360 180.0000 top +C35 1uF/25V C_0402_1005Metric 68.4530 -37.0840 90.0000 top +C36 100nF/50V C_0402_1005Metric 67.3100 -37.0840 90.0000 top +C37 100nF/50V C_0402_1005Metric 66.1670 -37.0840 90.0000 top +C38 100nF/50V C_0402_1005Metric 64.3890 -37.0840 90.0000 top +C39 1uF/25V C_0402_1005Metric 68.7070 -100.7110 90.0000 top +C40 100nF/50V C_0402_1005Metric 67.4370 -100.7110 -90.0000 top +C41 100nF/50V C_0402_1005Metric 66.2940 -100.7110 -90.0000 top +C42 10uF/16V C_0603_1608Metric 73.1520 -98.0440 180.0000 top +C43 22uF/6.3V C_0603_1608Metric 70.3580 -100.7110 90.0000 top +C44 100nF/50V C_0603_1608Metric 83.0870 -81.6610 0.0000 top +C45 100nF/50V C_0603_1608Metric 83.0870 -80.0100 0.0000 top +C46 100nF/50V C_0603_1608Metric 83.0870 -78.3590 0.0000 top +C47 100nF/50V C_0603_1608Metric 83.0870 -76.7080 0.0000 top +C48 100nF/50V C_0603_1608Metric 83.0870 -96.2660 0.0000 top +C49 100nF/50V C_0603_1608Metric 83.0870 -94.6150 0.0000 top +C50 100nF/50V C_0603_1608Metric 83.0870 -92.9640 0.0000 top +C51 100nF/50V C_0603_1608Metric 83.0870 -91.3130 0.0000 top +C52 100nF/50V C_0402_1005Metric 70.9930 -80.1370 -90.0000 top +C53 1nF/50V C_0402_1005Metric 70.9930 -92.7100 90.0000 top +C54 1nF/50V C_0402_1005Metric 72.2630 -92.7100 90.0000 top +C55 100nF/50V C_0402_1005Metric 74.2950 -31.8770 180.0000 top +C56 10uF/16V C_0603_1608Metric 53.9750 -112.9030 90.0000 top +C57 10uF/16V C_0603_1608Metric 53.9750 -109.8550 90.0000 top +C58 100nF/50V C_0603_1608Metric 52.3240 -112.9030 90.0000 top +C59 100nF/50V C_0603_1608Metric 52.3240 -109.8550 90.0000 top +C60 4.7uF/16V C_0603_1608Metric 48.5140 -113.5380 0.0000 top +C61 220uF/10V CP_Radial_D6.3mm_P2.50mm 62.6110 -107.6960 90.0000 top +C62 10uF/16V C_0603_1608Metric 68.1990 -105.6640 0.0000 top +C63 10uF/16V C_0603_1608Metric 71.6280 -32.1310 180.0000 top +D1 BAT54S SOT-23 38.9890 -39.7510 0.0000 top +D2 BAT54S SOT-23 38.9890 -46.8630 0.0000 top +D3 BAT54S SOT-23 38.9890 -57.5310 0.0000 top +D4 BAT54S SOT-23 38.9890 -64.6430 0.0000 top +D5 1N4148WS SOD_323_1 48.7680 -36.5760 -90.0000 top +D6 1N4148WS SOD_323_1 48.7680 -50.0380 90.0000 top +D7 1N4148WS SOD_323_1 48.7680 -54.3560 -90.0000 top +D8 1N4148WS SOD_323_1 48.7680 -67.8180 90.0000 top +D9 1N4148WS SOD_323_1 54.9910 -39.7510 180.0000 top +D10 1N4148WS SOD_323_1 54.9910 -46.8630 180.0000 top +D11 1N4148WS SOD_323_1 54.9910 -57.5310 180.0000 top +D12 1N4148WS SOD_323_1 54.9910 -64.6430 180.0000 top +D13 BAT54S SOT-23 38.9890 -75.3110 0.0000 top +D14 BAT54S SOT-23 38.9890 -82.4230 0.0000 top +D15 BAT54S SOT-23 38.9890 -93.0910 0.0000 top +D16 BAT54S SOT-23 38.9890 -100.2030 0.0000 top +D17 1N4148WS SOD_323_1 48.7680 -72.1360 -90.0000 top +D18 1N4148WS SOD_323_1 48.7680 -85.5980 90.0000 top +D19 1N4148WS SOD_323_1 48.7680 -89.9160 -90.0000 top +D20 1N4148WS SOD_323_1 48.7680 -103.3780 90.0000 top +D21 1N4148WS SOD_323_1 54.9910 -75.3110 180.0000 top +D22 1N4148WS SOD_323_1 54.9910 -82.4230 180.0000 top +D23 1N4148WS SOD_323_1 54.9910 -93.0910 180.0000 top +D24 1N4148WS SOD_323_1 54.9910 -100.2030 180.0000 top +D25 1N5819WS SOD_323_1 78.1812 -39.0144 0.0000 top +D26 1N5819WS SOD_323_1 78.1812 -36.9824 0.0000 top +D28 D_TVS SOD_523_1 73.4060 -106.9340 90.0000 top +D29 D_TVS SOD_523_1 71.3740 -106.9340 90.0000 top +D32 BLUE_LED LED_0603_1608Metric 96.2405 -29.2100 180.0000 top +D33 RED_LED LED_0603_1608Metric 96.2405 -30.8610 180.0000 top +D34 RED_LED LED_0603_1608Metric 96.2405 -32.5120 180.0000 top +D35 BLUE_LED LED_0603_1608Metric 96.2405 -34.1630 180.0000 top +D36 BLUE_LED LED_0603_1608Metric 96.2405 -36.1950 180.0000 top +D37 RED_LED LED_0603_1608Metric 96.2405 -37.8460 180.0000 top +D38 RED_LED LED_0603_1608Metric 96.2405 -39.4970 180.0000 top +D39 BLUE_LED LED_0603_1608Metric 96.2405 -41.1480 180.0000 top +D40 BLUE_LED LED_0603_1608Metric 96.2660 -43.3070 180.0000 top +D41 RED_LED LED_0603_1608Metric 96.2660 -44.9580 180.0000 top +D42 RED_LED LED_0603_1608Metric 96.2660 -46.6090 180.0000 top +D43 BLUE_LED LED_0603_1608Metric 96.2660 -48.2600 180.0000 top +F1 0.5A/30V Fuse_0805_2012Metric 68.3260 -107.6960 180.0000 top +J1 Conn_02x08_Odd_Even IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical 32.7330 -78.8900 180.0000 top +J2 Conn_02x04_Odd_Even IDC-Header_2x04_P2.54mm_Vertical 32.7525 -41.8100 180.0000 top +J3 Conn_02x04_Odd_Even IDC-Header_2x04_P2.54mm_Vertical 32.7525 -105.8100 180.0000 top +J4 Conn_01x04 PinSocket_1x04_P2.00mm_Vertical 83.3440 -24.3840 90.0000 top +J5 Conn_01x04 PinSocket_1x04_P2.00mm_Vertical 83.3440 -27.5590 90.0000 top +J6 Conn_01x02 PinHeader_1x02_P2.54mm_Vertical 77.3430 -107.1930 180.0000 top +J7 Conn_02x08_Odd_Even IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical 88.6750 -77.5970 0.0000 top +J8 Conn_02x20_Odd_Even B40B-XADSS-N-A 100.0560 -79.1200 90.0000 top +J9 USB_C_Receptacle_USB2.0 USB_C_Receptacle_HRO_TYPE-C-31-M-12 70.9930 -116.5860 0.0000 top +J10 USB_C_Receptacle_USB2.0 USB_C_Receptacle_HRO_TYPE-C-31-M-12 71.0000 -23.4430 180.0000 top +J11 Conn_02x18_Odd_Even B36B-XADSS-N-A 94.9760 -81.6270 90.0000 top +JP1 Jumper_2_Open JP_0603 62.9920 -28.8290 -90.0000 top +JP2 Jumper_2_Open JP_0603 61.3410 -28.8290 -90.0000 top +JP3 Jumper_2_Open JP_0603 59.6900 -28.8290 -90.0000 top +JP4 Jumper_2_Open JP_0603 58.0390 -28.8290 -90.0000 top +R1 1M R_0603_1608Metric 42.9260 -41.5290 0.0000 top +R2 1M R_0603_1608Metric 42.9260 -45.0850 0.0000 top +R3 1M R_0603_1608Metric 42.9260 -59.3090 0.0000 top +R4 1M R_0603_1608Metric 42.9260 -62.8650 0.0000 top +R5 3.3K R_0603_1608Metric 42.9260 -39.7510 0.0000 top +R6 3.3K R_0603_1608Metric 42.9260 -46.8630 0.0000 top +R7 3.3K R_0603_1608Metric 42.9260 -57.5310 0.0000 top +R8 3.3K R_0603_1608Metric 42.9260 -64.6430 0.0000 top +R9 200K R_0603_1608Metric 42.9260 -37.8460 0.0000 top +R10 NC R_0603_1608Metric 42.9260 -36.1950 0.0000 top +R11 200K R_0603_1608Metric 42.9260 -48.7680 0.0000 top +R12 NC R_0603_1608Metric 42.9260 -50.4190 0.0000 top +R13 200K R_0603_1608Metric 42.9260 -55.6260 0.0000 top +R14 NC R_0603_1608Metric 42.9260 -53.9750 0.0000 top +R15 200K R_0603_1608Metric 42.9260 -66.5480 0.0000 top +R16 NC R_0603_1608Metric 42.9260 -68.1990 0.0000 top +R17 100K R_0603_1608Metric 46.1010 -37.8460 0.0000 top +R18 0R R_0603_1608Metric 46.1010 -36.1950 0.0000 top +R19 100K R_0603_1608Metric 46.1010 -48.7680 0.0000 top +R20 0R R_0603_1608Metric 46.1010 -50.4190 0.0000 top +R21 100K R_0603_1608Metric 46.1010 -55.6260 0.0000 top +R22 0R R_0603_1608Metric 46.1010 -53.9750 0.0000 top +R23 100K R_0603_1608Metric 46.1010 -66.5480 0.0000 top +R24 0R R_0603_1608Metric 46.1010 -68.1990 0.0000 top +R25 47R R_0603_1608Metric 50.6730 -37.0840 -90.0000 top +R26 47R R_0603_1608Metric 50.6730 -49.5300 90.0000 top +R27 47R R_0603_1608Metric 50.6730 -54.8640 -90.0000 top +R28 47R R_0603_1608Metric 50.6730 -67.3100 90.0000 top +R29 4.7K R_0603_1608Metric 53.9750 -37.0840 -90.0000 top +R30 4.7K R_0603_1608Metric 53.9750 -49.5300 90.0000 top +R31 4.7K R_0603_1608Metric 53.9750 -54.8640 -90.0000 top +R32 4.7K R_0603_1608Metric 53.9750 -67.3100 90.0000 top +R33 10K R_0603_1608Metric 55.1180 -41.6560 180.0000 top +R34 10K R_0603_1608Metric 55.1180 -44.9580 180.0000 top +R35 10K R_0603_1608Metric 55.1180 -59.4360 180.0000 top +R36 10K R_0603_1608Metric 55.1180 -62.7380 180.0000 top +R37 1M R_0603_1608Metric 42.9260 -77.0890 0.0000 top +R38 1M R_0603_1608Metric 42.9260 -80.6450 0.0000 top +R39 1M R_0603_1608Metric 42.9260 -94.8690 0.0000 top +R40 1M R_0603_1608Metric 42.9260 -98.4250 0.0000 top +R41 3.3K R_0603_1608Metric 42.9260 -75.3110 0.0000 top +R42 3.3K R_0603_1608Metric 42.9260 -82.4230 0.0000 top +R43 3.3K R_0603_1608Metric 42.9260 -93.0910 0.0000 top +R44 3.3K R_0603_1608Metric 42.9260 -100.2030 0.0000 top +R45 200K R_0603_1608Metric 42.9260 -73.4060 0.0000 top +R46 NC R_0603_1608Metric 42.9260 -71.7550 0.0000 top +R47 200K R_0603_1608Metric 42.9260 -84.3280 0.0000 top +R48 NC R_0603_1608Metric 42.9260 -85.9790 0.0000 top +R49 200K R_0603_1608Metric 42.9260 -91.1860 0.0000 top +R50 NC R_0603_1608Metric 42.9260 -89.5350 0.0000 top +R51 200K R_0603_1608Metric 42.9260 -102.1080 0.0000 top +R52 NC R_0603_1608Metric 42.9260 -103.7590 0.0000 top +R53 100K R_0603_1608Metric 46.1010 -73.4060 0.0000 top +R54 0R R_0603_1608Metric 46.1010 -71.7550 0.0000 top +R55 100K R_0603_1608Metric 46.1010 -84.3280 0.0000 top +R56 0R R_0603_1608Metric 46.1010 -85.9790 0.0000 top +R57 100K R_0603_1608Metric 46.1010 -91.1860 0.0000 top +R58 0R R_0603_1608Metric 46.1010 -89.5350 0.0000 top +R59 100K R_0603_1608Metric 46.1010 -102.1080 0.0000 top +R60 0R R_0603_1608Metric 46.1010 -103.7590 0.0000 top +R61 47R R_0603_1608Metric 50.6730 -72.6440 -90.0000 top +R62 47R R_0603_1608Metric 50.6730 -85.0900 90.0000 top +R63 47R R_0603_1608Metric 50.6730 -90.4240 -90.0000 top +R64 47R R_0603_1608Metric 50.6730 -102.8700 90.0000 top +R65 4.7K R_0603_1608Metric 53.9750 -72.6440 -90.0000 top +R66 4.7K R_0603_1608Metric 53.9750 -85.0900 90.0000 top +R67 4.7K R_0603_1608Metric 53.9750 -90.4240 -90.0000 top +R68 4.7K R_0603_1608Metric 53.9750 -102.8700 90.0000 top +R69 10K R_0603_1608Metric 55.1180 -77.2160 180.0000 top +R70 10K R_0603_1608Metric 55.1180 -80.5180 180.0000 top +R71 10K R_0603_1608Metric 55.1180 -94.9960 180.0000 top +R72 10K R_0603_1608Metric 55.1180 -98.2980 180.0000 top +R73 10K C_0402_1005Metric 74.8030 -106.4260 90.0000 top +R74 10K C_0402_1005Metric 78.6130 -80.1370 90.0000 top +R75 10K C_0402_1005Metric 72.2630 -80.1370 90.0000 top +R76 0R R_0603_1608Metric 64.0080 -84.7090 90.0000 top +R77 NC R_0603_1608Metric 62.3570 -84.7090 90.0000 top +R78 5K1 R_0603_1608Metric 79.8830 -112.7760 -90.0000 top +R79 5K1 R_0603_1608Metric 78.2320 -112.7760 -90.0000 top +R80 5K1 R_0603_1608Metric 78.7400 -27.1780 90.0000 top +R81 5K1 R_0603_1608Metric 80.5180 -27.1780 90.0000 top +R82 1K R_0603_1608Metric 55.6260 -37.0840 90.0000 top +R83 1K R_0603_1608Metric 55.6260 -49.5300 -90.0000 top +R84 1K R_0603_1608Metric 55.6260 -54.8640 90.0000 top +R85 1K R_0603_1608Metric 55.6260 -67.3100 -90.0000 top +R86 1K R_0603_1608Metric 55.6260 -72.6440 90.0000 top +R87 1K R_0603_1608Metric 55.6260 -85.0900 -90.0000 top +R88 1K R_0603_1608Metric 55.6260 -90.4240 90.0000 top +R89 1K R_0603_1608Metric 55.6260 -102.8700 -90.0000 top +R90 1K R_0603_1608Metric 57.9120 -37.0840 -90.0000 top +R91 1K R_0603_1608Metric 57.9120 -49.5300 90.0000 top +R92 1K R_0603_1608Metric 57.9120 -54.8640 -90.0000 top +R93 1K R_0603_1608Metric 57.9120 -67.3100 90.0000 top +R94 1K R_0603_1608Metric 57.9120 -72.6440 -90.0000 top +R95 1K R_0603_1608Metric 57.9120 -85.0900 90.0000 top +R96 1K R_0603_1608Metric 57.9120 -90.4240 -90.0000 top +R97 1K R_0603_1608Metric 57.9120 -102.8700 90.0000 top +RN5 4.7K R_Array_Convex_4x0603 83.0870 -73.9140 180.0000 top +RN6 4.7K R_Array_Convex_4x0603 83.0870 -99.0600 180.0000 top +RN7 100R R_Array_Convex_4x0603 83.0870 -84.4550 180.0000 top +RN8 100R R_Array_Convex_4x0603 83.0870 -88.5190 180.0000 top +RN9 4.7K R_Array_Convex_4x0603 87.0060 -38.9890 0.0000 top +RN10 4.7K R_Array_Convex_4x0603 86.9950 -43.0530 0.0000 top +RN11 4.7K R_Array_Convex_4x0603 86.9950 -47.1170 0.0000 top +SW1 SW_DIP_x04 SW_DIP_SPSTx04_Slide_Copal_CHS-04B_W7.62mm_P1.27mm 60.4520 -28.8290 -90.0000 top +U1 TL084 SOIC-14_3.9x8.7mm_P1.27mm 49.0220 -43.3070 0.0000 top +U2 TL084 SOIC-14_3.9x8.7mm_P1.27mm 49.0220 -61.0870 0.0000 top +U3 TL084 SOIC-14_3.9x8.7mm_P1.27mm 49.0220 -78.8670 0.0000 top +U4 TL084 SOIC-14_3.9x8.7mm_P1.27mm 49.0220 -96.6470 0.0000 top +U5 STM32G030C LQFP-48_7x7mm_P0.5mm 66.1670 -45.8470 -90.0000 top +U6 XC6206P332MR SOT-23 73.9140 -36.7030 180.0000 top +U7 CH552T SSOP-20_4.4x6.5mm_P0.65mm 64.2620 -94.7420 -90.0000 top +U8 74HC165 SOIC-16_3.9x9.9mm_P1.27mm 75.4380 -86.4870 90.0000 top +U9 CH340N SOIC-8_3.9x4.9mm_P1.27mm 79.8830 -33.1470 180.0000 top +U10 SRV05-4 SOT-23-6 75.4380 -93.3379 -90.0000 top +U11 SRV05-4 SOT-23-6 75.4380 -79.6290 90.0000 top +U12 SGM3204 SOT-23-6 49.0220 -110.8710 180.0000 top +U13 XC6206P332MR SOT-23 73.1520 -100.7110 0.0000 top +## End diff --git a/HW/taiko-io/new_io.kicad_pcb b/HW/taiko-io/new_io.kicad_pcb new file mode 100644 index 0000000..40497f1 --- /dev/null +++ b/HW/taiko-io/new_io.kicad_pcb @@ -0,0 +1,105253 @@ +(kicad_pcb (version 20221018) (generator pcbnew) + + (general + (thickness 1.6) + ) + + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + + (setup + (stackup + (layer "F.SilkS" (type "Top Silk Screen")) + (layer "F.Paste" (type "Top Solder Paste")) + (layer "F.Mask" (type "Top Solder Mask") (thickness 0.01)) + (layer "F.Cu" (type "copper") (thickness 0.035)) + (layer "dielectric 1" (type "core") (thickness 1.51) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02)) + (layer "B.Cu" (type "copper") (thickness 0.035)) + (layer "B.Mask" (type "Bottom Solder Mask") (thickness 0.01)) + (layer "B.Paste" (type "Bottom Solder Paste")) + (layer "B.SilkS" (type "Bottom Silk Screen")) + (copper_finish "None") + (dielectric_constraints no) + ) + (pad_to_mask_clearance 0) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (plot_on_all_layers_selection 0x0000000_00000000) + (disableapertmacros false) + (usegerberextensions false) + (usegerberattributes false) + (usegerberadvancedattributes true) + (creategerberjobfile true) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 6) + (plotframeref false) + (viasonmask false) + (mode 1) + (useauxorigin false) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (dxfpolygonmode true) + (dxfimperialunits true) + (dxfusepcbnewfont true) + (psnegative false) + (psa4output false) + (plotreference true) + (plotvalue true) + (plotinvisibletext false) + (sketchpadsonfab false) + (subtractmaskfromsilk false) + (outputformat 1) + (mirror false) + (drillshape 0) + (scaleselection 1) + (outputdirectory "tk_io_v20_gerber") + ) + ) + + (net 0 "") + (net 1 "/frontend/IN1") + (net 2 "Net-(C1-Pad2)") + (net 3 "/frontend/IN2") + (net 4 "Net-(C2-Pad2)") + (net 5 "/frontend/IN3") + (net 6 "Net-(C3-Pad2)") + (net 7 "/frontend/IN4") + (net 8 "Net-(C4-Pad2)") + (net 9 "GND") + (net 10 "Net-(U1D-+)") + (net 11 "Net-(U1C-+)") + (net 12 "Net-(U2D-+)") + (net 13 "Net-(U2C-+)") + (net 14 "/frontend/IN5") + (net 15 "Net-(C9-Pad2)") + (net 16 "/frontend/IN6") + (net 17 "Net-(C10-Pad2)") + (net 18 "/frontend/IN7") + (net 19 "Net-(C11-Pad2)") + (net 20 "/frontend/IN8") + (net 21 "Net-(C12-Pad2)") + (net 22 "Net-(U3D-+)") + (net 23 "Net-(U3C-+)") + (net 24 "Net-(U4D-+)") + (net 25 "Net-(U4C-+)") + (net 26 "+5V") + (net 27 "-5V") + (net 28 "ADC4") + (net 29 "ADC8") + (net 30 "ADC3") + (net 31 "ADC7") + (net 32 "ADC2") + (net 33 "ADC6") + (net 34 "ADC1") + (net 35 "ADC5") + (net 36 "Net-(D25-K)") + (net 37 "STM_VCC") + (net 38 "Net-(U5-NRST)") + (net 39 "WCH_VCC") + (net 40 "/usb mcu/WCH_RST") + (net 41 "X1") + (net 42 "X2") + (net 43 "X3") + (net 44 "X4") + (net 45 "X5") + (net 46 "X6") + (net 47 "X7") + (net 48 "X8") + (net 49 "SPI_CS") + (net 50 "SPI_CLK") + (net 51 "Net-(U12-C_{P})") + (net 52 "Net-(U12-C_{N})") + (net 53 "VBUS") + (net 54 "Net-(D5-K)") + (net 55 "Net-(D5-A)") + (net 56 "Net-(D6-K)") + (net 57 "Net-(D6-A)") + (net 58 "Net-(D7-K)") + (net 59 "Net-(D7-A)") + (net 60 "Net-(D8-K)") + (net 61 "Net-(D8-A)") + (net 62 "/frontend/OPA1") + (net 63 "Net-(D9-A)") + (net 64 "/frontend/OPA2") + (net 65 "Net-(D10-A)") + (net 66 "/frontend/OPA3") + (net 67 "Net-(D11-A)") + (net 68 "/frontend/OPA4") + (net 69 "Net-(D12-A)") + (net 70 "Net-(D17-K)") + (net 71 "Net-(D17-A)") + (net 72 "Net-(D18-K)") + (net 73 "Net-(D18-A)") + (net 74 "Net-(D19-K)") + (net 75 "Net-(D19-A)") + (net 76 "Net-(D20-K)") + (net 77 "Net-(D20-A)") + (net 78 "/frontend/OPA5") + (net 79 "Net-(D21-A)") + (net 80 "/frontend/OPA6") + (net 81 "Net-(D22-A)") + (net 82 "/frontend/OPA7") + (net 83 "Net-(D23-A)") + (net 84 "/frontend/OPA8") + (net 85 "Net-(D24-A)") + (net 86 "/interface/USB1_DN") + (net 87 "/interface/USB1_DP") + (net 88 "/interface/USB2_DN") + (net 89 "/interface/USB2_DP") + (net 90 "Net-(D32-A)") + (net 91 "Net-(D33-A)") + (net 92 "Net-(D34-A)") + (net 93 "Net-(D35-A)") + (net 94 "Net-(D36-A)") + (net 95 "Net-(D37-A)") + (net 96 "Net-(D38-A)") + (net 97 "Net-(D39-A)") + (net 98 "Net-(D40-A)") + (net 99 "Net-(D41-A)") + (net 100 "Net-(D42-A)") + (net 101 "Net-(D43-A)") + (net 102 "Net-(F1-Pad1)") + (net 103 "SWDIO") + (net 104 "SWCLK") + (net 105 "/smapling/TXD") + (net 106 "/smapling/RXD") + (net 107 "Net-(J6-Pin_1)") + (net 108 "/interface/DIN1") + (net 109 "/interface/DIN8") + (net 110 "unconnected-(J8-Pin_1-Pad1)") + (net 111 "unconnected-(J8-Pin_2-Pad2)") + (net 112 "unconnected-(J8-Pin_3-Pad3)") + (net 113 "unconnected-(J8-Pin_4-Pad4)") + (net 114 "unconnected-(J8-Pin_6-Pad6)") + (net 115 "unconnected-(J8-Pin_8-Pad8)") + (net 116 "unconnected-(J8-Pin_9-Pad9)") + (net 117 "unconnected-(J8-Pin_10-Pad10)") + (net 118 "SET1") + (net 119 "SET2") + (net 120 "SET3") + (net 121 "SET4") + (net 122 "unconnected-(J8-Pin_11-Pad11)") + (net 123 "unconnected-(J8-Pin_15-Pad15)") + (net 124 "unconnected-(J8-Pin_16-Pad16)") + (net 125 "unconnected-(J8-Pin_18-Pad18)") + (net 126 "Net-(R10-Pad2)") + (net 127 "Net-(R11-Pad2)") + (net 128 "Net-(R13-Pad2)") + (net 129 "Net-(R15-Pad2)") + (net 130 "unconnected-(J8-Pin_21-Pad21)") + (net 131 "unconnected-(J8-Pin_22-Pad22)") + (net 132 "unconnected-(J8-Pin_23-Pad23)") + (net 133 "unconnected-(J8-Pin_24-Pad24)") + (net 134 "unconnected-(J8-Pin_25-Pad25)") + (net 135 "unconnected-(J8-Pin_26-Pad26)") + (net 136 "unconnected-(J8-Pin_27-Pad27)") + (net 137 "unconnected-(J8-Pin_28-Pad28)") + (net 138 "Net-(R45-Pad2)") + (net 139 "Net-(R47-Pad2)") + (net 140 "Net-(R49-Pad2)") + (net 141 "Net-(R51-Pad2)") + (net 142 "unconnected-(J8-Pin_29-Pad29)") + (net 143 "unconnected-(J8-Pin_30-Pad30)") + (net 144 "unconnected-(J8-Pin_31-Pad31)") + (net 145 "unconnected-(J8-Pin_32-Pad32)") + (net 146 "unconnected-(J8-Pin_33-Pad33)") + (net 147 "unconnected-(J8-Pin_34-Pad34)") + (net 148 "unconnected-(J8-Pin_35-Pad35)") + (net 149 "/interface/LED8") + (net 150 "/interface/LED1") + (net 151 "/interface/LED2") + (net 152 "/interface/LED3") + (net 153 "/interface/LED4") + (net 154 "/interface/LED5") + (net 155 "/interface/LED6") + (net 156 "/interface/LED7") + (net 157 "/interface/STA2") + (net 158 "/interface/STA3") + (net 159 "/interface/STA1") + (net 160 "unconnected-(J8-Pin_36-Pad36)") + (net 161 "unconnected-(J8-Pin_37-Pad37)") + (net 162 "unconnected-(J8-Pin_38-Pad38)") + (net 163 "Net-(J9-CC1)") + (net 164 "unconnected-(J9-SBU1-PadA8)") + (net 165 "Net-(J9-CC2)") + (net 166 "unconnected-(J9-SBU2-PadB8)") + (net 167 "Net-(J10-CC1)") + (net 168 "unconnected-(J10-SBU1-PadA8)") + (net 169 "Net-(J10-CC2)") + (net 170 "unconnected-(J10-SBU2-PadB8)") + (net 171 "unconnected-(J11-Pin_1-Pad1)") + (net 172 "unconnected-(J11-Pin_6-Pad6)") + (net 173 "unconnected-(J11-Pin_9-Pad9)") + (net 174 "unconnected-(J11-Pin_10-Pad10)") + (net 175 "unconnected-(J11-Pin_15-Pad15)") + (net 176 "unconnected-(J11-Pin_16-Pad16)") + (net 177 "unconnected-(J11-Pin_17-Pad17)") + (net 178 "SPI_MISO") + (net 179 "unconnected-(J11-Pin_18-Pad18)") + (net 180 "unconnected-(J11-Pin_21-Pad21)") + (net 181 "down") + (net 182 "up") + (net 183 "service") + (net 184 "enter") + (net 185 "test") + (net 186 "coin") + (net 187 "unconnected-(J11-Pin_22-Pad22)") + (net 188 "unconnected-(J11-Pin_23-Pad23)") + (net 189 "unconnected-(J11-Pin_24-Pad24)") + (net 190 "unconnected-(J11-Pin_25-Pad25)") + (net 191 "unconnected-(J11-Pin_26-Pad26)") + (net 192 "unconnected-(J11-Pin_27-Pad27)") + (net 193 "unconnected-(J11-Pin_28-Pad28)") + (net 194 "unconnected-(J11-Pin_31-Pad31)") + (net 195 "unconnected-(J11-Pin_32-Pad32)") + (net 196 "unconnected-(J11-Pin_33-Pad33)") + (net 197 "unconnected-(J11-Pin_34-Pad34)") + (net 198 "Net-(U1A--)") + (net 199 "Net-(U1B--)") + (net 200 "Net-(U2A--)") + (net 201 "Net-(U2B--)") + (net 202 "Net-(U1D--)") + (net 203 "Net-(U1C--)") + (net 204 "Net-(U2D--)") + (net 205 "Net-(U2C--)") + (net 206 "Net-(U3A--)") + (net 207 "Net-(U3B--)") + (net 208 "Net-(U4A--)") + (net 209 "Net-(U4B--)") + (net 210 "Net-(U3D--)") + (net 211 "Net-(U3C--)") + (net 212 "Net-(U4D--)") + (net 213 "Net-(U4C--)") + (net 214 "Net-(U8-DS)") + (net 215 "Net-(U8-~{CE})") + (net 216 "Net-(U7-P3.1{slash}TXD)") + (net 217 "unconnected-(U5-PC13-Pad1)") + (net 218 "unconnected-(U5-PF0-OSCIN-Pad8)") + (net 219 "unconnected-(U5-PF1-OSCOUT-Pad9)") + (net 220 "unconnected-(U5-PB10-Pad22)") + (net 221 "unconnected-(U5-PB11-Pad23)") + (net 222 "unconnected-(U5-PB12-Pad24)") + (net 223 "unconnected-(U5-PB13-Pad25)") + (net 224 "unconnected-(U5-PB14-Pad26)") + (net 225 "unconnected-(U5-PB15-Pad27)") + (net 226 "unconnected-(U5-PC6-Pad30)") + (net 227 "unconnected-(U5-PC7-Pad31)") + (net 228 "unconnected-(U5-PA11[PA9]-Pad33)") + (net 229 "unconnected-(U5-PA12[PA10]-Pad34)") + (net 230 "unconnected-(U5-PA15-Pad37)") + (net 231 "unconnected-(U5-PD0-Pad38)") + (net 232 "unconnected-(U5-PD1-Pad39)") + (net 233 "unconnected-(U5-PD2-Pad40)") + (net 234 "unconnected-(U5-PD3-Pad41)") + (net 235 "unconnected-(U8-~{Q7}-Pad7)") + (net 236 "unconnected-(U9-RTS#-Pad4)") + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 00651488-eb8b-43dc-b7e6-6dcff73bc637) + (at 50.673 49.53 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9a125809-0135-4800-a3a4-a1513817cef2") + (attr smd) + (fp_text reference "R26" (at -2.159 -0.381 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 627dbb32-5d09-4b4b-943d-3346b99df52d) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c6270a83-1914-481f-84e7-3ba4569cffb0) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7bad57ba-77b4-4f75-9078-94c816544f7d) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e70b298d-174e-4e52-b650-abd8eca0336c)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0c3dcca4-75ba-48f8-892a-60dab5394f45)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 345be0b5-42fa-4e7c-95cd-f40a2e4129b2)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e5f05555-b0f6-4348-98e2-7174ba983819)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 87345044-6f26-4879-be2d-8d5f29764117)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d24f64b1-fcbe-48b9-95e9-e3584059c02c)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3b1d9b90-83e2-4443-8382-6c6e65ec0bf3)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5cb93bda-6037-41e9-8425-8a48be009df2)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3d5100b3-bcf4-4e2c-b9e7-1aef54355990)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 98bbbe5e-01e3-4022-86ce-05a315a67e8b)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 56 "Net-(D6-K)") (pintype "passive") (tstamp d3555590-6bc2-4e1e-a878-afbadec83f9a)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 11 "Net-(U1C-+)") (pintype "passive") (tstamp 62e01aec-8b81-4593-80a1-dd9323731b37)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 01cc25bd-fe0b-4021-891e-bd2bd4544c17) + (at 42.926 82.423) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b613b7b4-fbb2-400d-ad16-9ddf92e9067b") + (attr smd) + (fp_text reference "R42" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e6deb8c9-4383-4eaa-bac4-f4814c307206) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ea006405-f517-494f-9c1e-e7854e30c2da) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b4ea219e-bcab-4601-a6bf-96b946188c60) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bf0dfe3a-3e5e-4326-8dbe-2226ad5d3ad1)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a18f5fe5-d368-4b76-8681-cdecab1f2a0a)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cf6f18b2-5e63-4d01-96e7-3ded7ffff24a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8da67eed-cd1b-4c5b-ad36-e75eadd71403)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1fc7540d-fd8a-4ee5-a7ea-ea967142b786)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bc30caa4-9c3f-4e4a-9454-6dd26a13fa5f)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c2f5bc49-70b2-4391-acd9-14f8707c8916)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 059ea317-e5a1-4809-a595-010e9b309cf4)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 62de21c7-9e4f-4a0b-8dfb-42a78719ea50)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4cf076b5-f756-4f90-a42a-92a9d5483f50)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 17 "Net-(C10-Pad2)") (pintype "passive") (tstamp 3223e890-b042-44aa-b30e-6e3d77cb80ce)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 207 "Net-(U3B--)") (pintype "passive") (tstamp ce9e663c-3b06-4422-82f3-85be2284a0a2)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 01face02-7cc2-4488-b3ce-8453d21fd08b) + (at 83.087 92.964) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/dafa1b71-1b75-4f1c-8de5-08d99ba6cb11") + (attr smd) + (fp_text reference "C50" (at -2.696 0.508) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d92edd6a-c99a-49dd-85d6-c846d014bbcb) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4afe169a-4b38-49e8-9766-b93423a8af27) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 94d891ca-bf56-4e16-98ea-a43d71634682) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 67b22cae-a46b-4d30-8584-66e906ae7b5c)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3fe34eb9-b092-4b2f-99d3-c4175eea20d2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cf670e8a-5ae3-40e7-8c16-de420ff1bbed)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 22036069-4108-4e58-a52d-9a36722137d0)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eecff82a-d962-43e4-873a-42a0307ca0c2)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 82ca4c75-e791-42bd-9b02-375867d99114)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7b8c8f0f-0740-453e-9e6b-608fd3b86cf6)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 011ad0bc-e855-4ee8-b738-71b0744d9557)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 73e90b24-48ec-41b7-a155-94c379740dc9)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e05f2faa-25b4-4188-b833-5eff6a94e76b)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 1da0ad9d-991a-495c-8139-993b60b62608)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 47 "X7") (pintype "passive") (tstamp 778f7251-ea17-4f2e-8e6d-0abbe0e7afbb)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 055dd490-7449-4014-b131-baab0ba1f220) + (at 73.152 98.044 180) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/79f914f1-8149-4f43-a166-8d582f92549c") + (attr smd) + (fp_text reference "C42" (at -2.921 -0.127) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 34722014-1ac8-4fc8-9ac7-471f82c0eafd) + ) + (fp_text value "10uF/16V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3af7c960-18c3-4eec-97fa-9637ba5d5396) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp e1e5e415-44f6-4f75-af75-46f5767b6f09) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3d5daca0-29b5-48c1-86f5-972938b75f10)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b88763d-59c7-4322-a57a-701acf544d66)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ec5fec2f-5d5a-41ed-a718-a81bf38c49eb)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 483d1380-7820-4e34-9688-888847878fcf)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dd685769-195f-4db8-aee4-80e8d2110bd5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3313261b-fb63-4691-bb4b-7afd88896975)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0fe05e94-d6c9-4738-becd-b35bd385a07a)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7f709787-10c4-41ca-ac31-1e26b60440a5)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3cc82217-bf1f-4104-a321-95a386fbe61b)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 79fc42a9-a864-4693-be45-9903957461bc)) + (pad "1" smd roundrect (at -0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp c72edeba-35c8-4c87-9308-6ef1a11be7f9)) + (pad "2" smd roundrect (at 0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp d5f54b58-5aba-4547-a8ee-beaac6152236)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (layer "F.Cu") + (tstamp 060f37d6-4c81-4b4b-96c4-cb73616b2130) + (at 71 23.443 180) + (descr "USB Type-C receptacle for USB 2.0 and PD, http://www.krhro.com/uploads/soft/180320/1-1P320120243.pdf") + (tags "usb usb-c 2.0 pd") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "USB 2.0-only Type-C Receptacle connector") + (property "ki_keywords" "usb universal serial bus type-C USB2.0") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/3777be80-fad2-4753-8880-b5d0c96b7951") + (attr smd) + (fp_text reference "J10" (at 6.103 1.726) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a833e155-ef93-49f8-a330-90b506becae1) + ) + (fp_text value "USB_C_Receptacle_USB2.0" (at 0 5.1) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp cc799c97-769b-4d37-9fe5-efb34b163433) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f3ea4bcf-77ba-4bf7-b3e3-f7d263a6be8a) + ) + (fp_line (start -4.7 -1.9) (end -4.7 0.1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3c06ad22-b0d9-4994-a671-b1d44f4b0146)) + (fp_line (start -4.7 2) (end -4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7a3e0ad-c3fb-43b4-9b08-685bbb1b436c)) + (fp_line (start -4.7 3.9) (end 4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 72f33d4f-d9cc-41c3-a4e8-cba7f41759f2)) + (fp_line (start 4.7 -1.9) (end 4.7 0.1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6a08588f-7bc6-4329-8d54-a9bdfe5ff02f)) + (fp_line (start 4.7 2) (end 4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 54a05cbe-9612-47f2-b017-3b7749e48673)) + (fp_line (start -5.32 -5.27) (end -5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 269e84dd-8402-4f4b-b03a-bf788245a469)) + (fp_line (start -5.32 -5.27) (end 5.32 -5.27) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ab2892f-fe3b-473e-a914-632f908a118e)) + (fp_line (start -5.32 4.15) (end 5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0b4a9050-046e-43f1-b7e3-6eb9e8dc4212)) + (fp_line (start 5.32 -5.27) (end 5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1fbb13f3-6b50-447c-a1bb-aee6a474980e)) + (fp_line (start -4.47 -3.65) (end -4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 54ddd4cb-d1f0-40b7-8c9e-a3fd71e3d022)) + (fp_line (start -4.47 -3.65) (end 4.47 -3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6df53fd1-1255-4c7d-964c-82c674f768a5)) + (fp_line (start -4.47 3.65) (end 4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37d79c77-3b94-4868-bb59-5547f7404386)) + (fp_line (start 4.47 -3.65) (end 4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 82c1e902-bf6e-460b-a4ce-c8c929f79a73)) + (pad "" np_thru_hole circle (at -2.89 -2.6 180) (size 0.65 0.65) (drill 0.65) (layers "*.Cu" "*.Mask") (tstamp 953d9fb8-40d4-4871-a5f8-eca6dc02bb76)) + (pad "" np_thru_hole circle (at 2.89 -2.6 180) (size 0.65 0.65) (drill 0.65) (layers "*.Cu" "*.Mask") (tstamp df737420-730f-409d-9945-9e48773ee934)) + (pad "A1" smd rect (at -3.25 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp c7005a89-5169-48df-a1a5-8fe063a1ddab)) + (pad "A4" smd rect (at -2.45 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 53 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 7c61cced-c203-42a2-98b4-5a781ffd101b)) + (pad "A5" smd rect (at -1.25 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 167 "Net-(J10-CC1)") (pinfunction "CC1") (pintype "bidirectional") (tstamp 245b4929-bb7f-4998-8ceb-0349bdc9d187)) + (pad "A6" smd rect (at -0.25 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 89 "/interface/USB2_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 12366e8c-d190-4773-9649-043128bb8c3f)) + (pad "A7" smd rect (at 0.25 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 88 "/interface/USB2_DN") (pinfunction "D-") (pintype "bidirectional") (tstamp c80aef7a-cd8e-4a1e-87d3-0c6244cbc6bd)) + (pad "A8" smd rect (at 1.25 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 168 "unconnected-(J10-SBU1-PadA8)") (pinfunction "SBU1") (pintype "bidirectional+no_connect") (tstamp 4c2796f0-3e3b-4bb8-b22a-2661a83ab330)) + (pad "A9" smd rect (at 2.45 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 53 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 6183e547-b4e8-4b60-8c10-2d1518782539)) + (pad "A12" smd rect (at 3.25 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp c6341590-b6da-4fee-a1e0-dd06326a5333)) + (pad "B1" smd rect (at 3.25 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp e93faafb-7616-44fd-ae4f-f9aed35d42e8)) + (pad "B4" smd rect (at 2.45 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 53 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 2cebd777-e537-4413-9914-09d969bbe0da)) + (pad "B5" smd rect (at 1.75 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 169 "Net-(J10-CC2)") (pinfunction "CC2") (pintype "bidirectional") (tstamp dfe46543-80e4-4adf-9f37-b564751eed6f)) + (pad "B6" smd rect (at 0.75 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 89 "/interface/USB2_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 2138f099-4da5-478f-ac49-27ab2e1f6d5f)) + (pad "B7" smd rect (at -0.75 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 88 "/interface/USB2_DN") (pinfunction "D-") (pintype "bidirectional") (tstamp c6d0ec78-a74e-4d71-aa39-77c5d6886c11)) + (pad "B8" smd rect (at -1.75 -4.045 180) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 170 "unconnected-(J10-SBU2-PadB8)") (pinfunction "SBU2") (pintype "bidirectional+no_connect") (tstamp e7635807-9445-419c-b58d-3c83d892d84c)) + (pad "B9" smd rect (at -2.45 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 53 "VBUS") (pinfunction "VBUS") (pintype "passive") (tstamp 67bbd843-436f-437b-822a-0683ff1da258)) + (pad "B12" smd rect (at -3.25 -4.045 180) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp dff0031d-3eeb-4b80-ab0b-0b1e0074c113)) + (pad "S1" thru_hole oval (at -4.32 -3.13 180) (size 1 2.1) (drill oval 0.6 1.7) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp d02b2909-6acb-4976-b49a-f9fb89422242)) + (pad "S1" thru_hole oval (at -4.32 1.05 180) (size 1 1.6) (drill oval 0.6 1.2) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp 22f7c2f0-7bd0-4459-a15b-052ec3d6b8a5)) + (pad "S1" thru_hole oval (at 4.32 -3.13 180) (size 1 2.1) (drill oval 0.6 1.7) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp 3ac894cc-41dd-4f6e-9530-9bcd6b178a7f)) + (pad "S1" thru_hole oval (at 4.32 1.05 180) (size 1 1.6) (drill oval 0.6 1.2) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp 055d1df5-cadc-4fc6-8ab9-dfc50674575f)) + (model "${KICAD6_3DMODEL_DIR}/Connector_USB.3dshapes/USB_C_Receptacle_HRO_TYPE-C-31-M-12.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + (model "${KICADLIB}/3d/USB Type C Port (SMD Type).STEP" + (offset (xyz 0 3.556 1.5748)) + (scale (xyz 1 1 1)) + (rotate (xyz 180 0 0)) + ) + ) + + (footprint "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (layer "F.Cu") + (tstamp 0610e7ef-9e2a-4424-9be5-1a0d52be17d9) + (at 62.611 112.522) + (descr "THT pad as test Point, diameter 2.0mm, hole diameter 1.0mm") + (tags "test point THT pad") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "test point") + (property "ki_keywords" "test point tp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9b13f04f-7de5-477a-a012-1c6580cfb3bf") + (attr exclude_from_pos_files) + (fp_text reference "TP2" (at 0 -1.998) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d65a0790-6362-4c76-ad6d-c34f591e37f3) + ) + (fp_text value "TestPoint" (at 0 2.05) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp fc09acab-d1f1-4f12-815e-1bf907ad7d65) + ) + (fp_text user "${REFERENCE}" (at 0 -2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 306c7e19-c223-4625-9fac-8ba3fc78ffb7) + ) + (fp_circle (center 0 0) (end 0 1.2) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp e88cebbb-e996-4f01-a6b4-0aacb3ac4ead)) + (fp_circle (center 0 0) (end 1.5 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 774ab439-22ab-480c-8c86-8c0f84725b6f)) + (pad "1" thru_hole circle (at 0 0) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") + (net 26 "+5V") (pinfunction "1") (pintype "passive") (tstamp ec9b9ccc-f257-4a2a-9f97-1229ef2f6e01)) + ) + + (footprint "Package_SO:SSOP-20_4.4x6.5mm_P0.65mm" (layer "F.Cu") + (tstamp 082d047b-124c-4334-b5c7-5b5ed5e69ac3) + (at 64.262 94.742 -90) + (descr "SSOP20: plastic shrink small outline package; 20 leads; body width 4.4 mm; (see NXP SSOP-TSSOP-VSO-REFLOW.pdf and sot266-1_po.pdf)") + (tags "SSOP 0.65") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "æ²æ’USB 8ä½å•ç‰‡æœº") + (property "ki_keywords" "CH ch552 552") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/0e34c22c-251d-4a95-9d0f-3fee97996fd4") + (attr smd) + (fp_text reference "U7" (at 0 -4.3 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp faa686c8-349d-4841-a1db-d6b4094f5284) + ) + (fp_text value "CH552T" (at 0 4.3 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e7ba0876-29b6-46b8-9b9f-9000a2e60ee1) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.8 0.8) (thickness 0.15))) + (tstamp cc49efc3-3c26-44bb-b545-60fc8259ffdf) + ) + (fp_line (start -3.4 -3.45) (end 2.325 -3.45) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 1b127bc9-b878-40d5-8c4b-98637432f740)) + (fp_line (start -2.325 3.375) (end -2.325 3.35) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 4b9ae764-c24c-402d-b0b9-ea8e6cf3d90f)) + (fp_line (start -2.325 3.375) (end 2.325 3.375) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp b4a168ef-e163-449b-9544-b4c3a3d5e137)) + (fp_line (start 2.325 -3.45) (end 2.325 -3.35) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 2154158d-7359-428c-9885-1e85623ddcd2)) + (fp_line (start 2.325 3.375) (end 2.325 3.35) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp f020c136-5b93-457b-ad06-bd3a45a5784c)) + (fp_line (start -3.65 -3.55) (end -3.65 3.55) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8c9180fd-ebab-4eda-ad04-3dfaf5e9d548)) + (fp_line (start -3.65 -3.55) (end 3.65 -3.55) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4946a22-caac-4cc3-8c96-bbbb198b30fe)) + (fp_line (start -3.65 3.55) (end 3.65 3.55) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b9854a73-a4d1-46c6-88cb-225ed8f000eb)) + (fp_line (start 3.65 -3.55) (end 3.65 3.55) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1dd582a9-1488-46a4-84c6-5adeb8cb661c)) + (fp_line (start -2.2 -2.25) (end -1.2 -3.25) + (stroke (width 0.15) (type solid)) (layer "F.Fab") (tstamp a5c5aa57-79a9-47c7-a9b5-ebe159f5c6f0)) + (fp_line (start -2.2 3.25) (end -2.2 -2.25) + (stroke (width 0.15) (type solid)) (layer "F.Fab") (tstamp a25939e3-02c0-4336-b583-682c93a9fa85)) + (fp_line (start -1.2 -3.25) (end 2.2 -3.25) + (stroke (width 0.15) (type solid)) (layer "F.Fab") (tstamp 9279fbef-00bf-47d8-8b5a-923291e095c1)) + (fp_line (start 2.2 -3.25) (end 2.2 3.25) + (stroke (width 0.15) (type solid)) (layer "F.Fab") (tstamp 2f1b149d-956a-4f31-8b53-85e12dfb2e11)) + (fp_line (start 2.2 3.25) (end -2.2 3.25) + (stroke (width 0.15) (type solid)) (layer "F.Fab") (tstamp d81323f8-6684-45b8-8078-c2cd93d8e12e)) + (pad "1" smd rect (at -2.9 -2.925 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 150 "/interface/LED1") (pinfunction "P3.2/TXD1") (pintype "passive") (tstamp e13ccf83-a156-42ca-a860-ecefe0ba2d6a)) + (pad "2" smd rect (at -2.9 -2.275 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 151 "/interface/LED2") (pinfunction "P1.4/T2") (pintype "passive") (tstamp ac3f0da6-c430-4548-8306-bbfd4b218f53)) + (pad "3" smd rect (at -2.9 -1.625 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 152 "/interface/LED3") (pinfunction "P1.5/MOSI") (pintype "passive") (tstamp aaaff397-f212-43c0-857b-38ebb2e303d2)) + (pad "4" smd rect (at -2.9 -0.975 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 153 "/interface/LED4") (pinfunction "P1.6/MISO") (pintype "passive") (tstamp 2f714b64-b353-4c9d-869a-969f2b2f33fa)) + (pad "5" smd rect (at -2.9 -0.325 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 154 "/interface/LED5") (pinfunction "P1.7/SCK") (pintype "passive") (tstamp 36c8477b-752c-4a6f-81b1-04146bf569ac)) + (pad "6" smd rect (at -2.9 0.325 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 40 "/usb mcu/WCH_RST") (pinfunction "RST") (pintype "passive") (tstamp 94e5997e-1cb1-4604-b1a0-9df27e67e9a6)) + (pad "7" smd rect (at -2.9 0.975 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 155 "/interface/LED6") (pinfunction "P1.0/T2") (pintype "passive") (tstamp 0bdf5497-88da-402a-92a9-1486957d1c9f)) + (pad "8" smd rect (at -2.9 1.625 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 156 "/interface/LED7") (pinfunction "P1.1/T2EX") (pintype "passive") (tstamp c9119575-dc76-4881-a531-c873d036e8a1)) + (pad "9" smd rect (at -2.9 2.275 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 216 "Net-(U7-P3.1{slash}TXD)") (pinfunction "P3.1/TXD") (pintype "passive") (tstamp 491d860b-ac7c-4ae0-8632-6f9e613267f1)) + (pad "10" smd rect (at -2.9 2.925 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 105 "/smapling/TXD") (pinfunction "P3.0/RXD") (pintype "passive") (tstamp 4844c459-b8dd-4691-a5eb-3b29c4b8e0fc)) + (pad "11" smd rect (at 2.9 2.925 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 50 "SPI_CLK") (pinfunction "P3.3/INT1") (pintype "passive") (tstamp bb59928b-75aa-4d03-8b16-63416d3ab751)) + (pad "12" smd rect (at 2.9 2.275 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 178 "SPI_MISO") (pinfunction "P3.4/PWM2") (pintype "passive") (tstamp 02146afa-aa6b-4bbc-b23b-fa4bdec73c86)) + (pad "13" smd rect (at 2.9 1.625 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 49 "SPI_CS") (pinfunction "P3.5/T1") (pintype "passive") (tstamp 4a557ef3-8289-4c85-8e7e-7a4bad59394e)) + (pad "14" smd rect (at 2.9 0.975 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 87 "/interface/USB1_DP") (pinfunction "P3.6/UDP") (pintype "passive") (tstamp 4e264c6a-8d85-487c-9647-3d3b5bb70a96)) + (pad "15" smd rect (at 2.9 0.325 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 86 "/interface/USB1_DN") (pinfunction "P3.7/UDM") (pintype "passive") (tstamp da0cd99d-7254-4067-8b90-34cecc18b618)) + (pad "16" smd rect (at 2.9 -0.325 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 158 "/interface/STA3") (pinfunction "P1.3/XO") (pintype "passive") (tstamp 304515a7-c846-4a43-aa27-fa71106e2c9a)) + (pad "17" smd rect (at 2.9 -0.975 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 157 "/interface/STA2") (pinfunction "P1.2XI") (pintype "passive") (tstamp 2e8795a7-403a-4c84-8801-30ac905b2cea)) + (pad "18" smd rect (at 2.9 -1.625 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp 83fd1d46-e44a-4540-a90d-ce7ae5265818)) + (pad "19" smd rect (at 2.9 -2.275 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "VCC") (pintype "passive") (tstamp e7b318e2-d5cf-4ca5-8905-158bd98598fb)) + (pad "20" smd rect (at 2.9 -2.925 270) (size 1 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "V33") (pintype "passive") (tstamp 5207ac18-4256-462e-952a-7b090c626ba3)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SSOP-20_4.4x6.5mm_P0.65mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 085cbc17-f46c-467e-a0d5-1a71b1a047e4) + (at 57.912 67.31 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/4197b9a3-72a5-4c42-b988-c846613874d3") + (attr smd) + (fp_text reference "R93" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2f93c54e-1443-4957-96fc-959ee54747c1) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp fbd97bb4-42d5-4baa-822d-8c8893b827df) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 55490929-1c42-4e98-8e46-e740a754b483) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b18fceee-620b-4691-be6b-65cde702b581)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eebebbd4-5dbd-46b5-bbb7-e8afbc405159)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cc7be684-c52f-42b9-ad48-e4bc121ddd63)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e6e41369-ba98-4d25-83ec-82f561593242)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 507513c4-c2c3-472c-b556-f68966d7c1e5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 72ce0a6d-695c-47e2-8d23-7f314355c826)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 06ede4ea-f51f-40f5-8152-4cebd76c616c)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6deae69d-b16d-4860-834d-3ad9e3afe9dc)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5cd61651-a920-41af-b3e0-3b05105f7f9d)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9b8a8f04-7d9e-4cd1-80d8-543d5032406f)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 68 "/frontend/OPA4") (pintype "passive") (tstamp beb45053-bfcc-4dcb-8c46-668ccb101691)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 28 "ADC4") (pintype "passive") (tstamp c9954805-8fd6-4c19-a342-42166f1887e2)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (layer "F.Cu") + (tstamp 0a338709-5f93-4e5c-bd5c-be16e1778175) + (at 62.611 115.697) + (descr "THT pad as test Point, diameter 2.0mm, hole diameter 1.0mm") + (tags "test point THT pad") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "test point") + (property "ki_keywords" "test point tp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/0bf8b453-c325-45d3-a020-9f3723c3ee5d") + (attr exclude_from_pos_files) + (fp_text reference "TP3" (at 0 -1.998) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ada9fba1-99b1-4e91-8e95-5d6e58336ca5) + ) + (fp_text value "TestPoint" (at 0 2.05) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp bfbfb1c6-ad2e-42db-a276-f198d670e34e) + ) + (fp_text user "${REFERENCE}" (at 0 -2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e7ab4a10-e61f-4b64-89dd-5baf04c6e570) + ) + (fp_circle (center 0 0) (end 0 1.2) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 1fc9b497-6696-42f0-a7be-1f391c53cc6e)) + (fp_circle (center 0 0) (end 1.5 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 85df1a37-2d13-4205-b20c-054da98f04d7)) + (pad "1" thru_hole circle (at 0 0) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "1") (pintype "passive") (tstamp 9ede28ae-a20d-4768-9a32-a419c0cd6d95)) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 0c7e5193-c6b0-4d96-9239-faa44a28642e) + (at 52.324 90.424 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b5089be1-c587-4c43-8f5a-5dbed71df848") + (attr smd) + (fp_text reference "C15" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f51577ce-7923-432f-9cb8-c1c045301a81) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a718eebe-6972-45e8-a97c-4b8d6047298c) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8b2fdc1e-968d-4881-8f80-a9f3bb963cf8) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5eed9679-7182-4ee0-b0bc-0db942f922a9)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2aff0c40-5c52-432d-baf5-ae620374bb71)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f1b7bec7-1ef3-4c08-9ad6-cdef0d6e5add)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 67774997-efd6-4188-baae-1ddf137e27d2)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 318ee548-7775-4fde-b681-3853c344b35a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ed487898-8308-4f30-aaf3-3a822212b3f5)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b2fc530-de2b-4c8b-b0f5-647b1c932a4c)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 434ddf1d-f611-4366-bb3f-cafa015cbde5)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7e98b6b6-7a72-48b9-a68f-4c2e1407fe4a)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 85098511-1bab-416b-89ae-ba1cad4dd67c)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 1831567d-bbbf-4e1e-9f5a-1373b320f57d)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 24 "Net-(U4D-+)") (pintype "passive") (tstamp e2669cc9-a46c-45db-bc0a-918a225cf534)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 0f16764f-7a76-44ab-a2c1-f04d4df36f26) + (at 55.118 77.216 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ed2c0446-92a4-4302-b2b0-ed092e198e59") + (attr smd) + (fp_text reference "R69" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ae2a2aaf-18d5-4ab2-bf77-6c08f235b23e) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 387045c2-9c44-45bc-abc9-6d789785f054) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 88a65920-2b68-4a3d-8c23-a93c6a9b699b) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2ebe81e7-8573-4839-a5bf-38383d584acd)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 176c63a9-cc5c-4c55-b87e-368e9a742a79)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8018fd6c-0db6-448c-aee4-379a8f67d8ee)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f3ff46a0-38cb-4c94-be9c-cf8afe1d94c7)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8e687082-3f28-41de-b3fd-df03e76e425d)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 756b3608-af9d-40ab-afd1-a6466f5290d5)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cd7b987a-82bd-4210-bb7d-7c79d6fddefd)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8cd7f2b6-8c2d-48f8-8612-2d32dd2e1800)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 50acd1b5-9573-414c-b28f-2a318139e733)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 869f143a-382d-4151-b8d7-44118c0ccc95)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 78 "/frontend/OPA5") (pintype "passive") (tstamp 131c5acd-32a2-43c0-b0b3-f7e1deca0f61)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 210 "Net-(U3D--)") (pintype "passive") (tstamp c1fb6df8-f965-4943-8ebd-307ef06a6ada)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23-6" (layer "F.Cu") + (tstamp 10188651-ef51-4f7d-9162-568db2ca3323) + (at 49.022 110.871 180) + (descr "SOT, 6 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "负压电è·æ³µ") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9feb2207-dce4-457d-a39f-7f84dbb8779a") + (attr smd) + (fp_text reference "U12" (at 2.667 -0.508 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 97fe7238-6500-488f-8779-168b4d6c723d) + ) + (fp_text value "SGM3204" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b74d587c-70c7-4ea6-80d0-7f3334c23ac7) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9c80fa70-bbed-4dba-981d-ac70063d9b3a) + ) + (fp_line (start 0 -1.56) (end -1.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp da67b777-fe48-4207-afb8-4962a2ea7b6c)) + (fp_line (start 0 -1.56) (end 0.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a7215b62-9a39-4349-9187-39051fceac45)) + (fp_line (start 0 1.56) (end -0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4cdde4ad-6851-48c1-a016-12bc8db3b8be)) + (fp_line (start 0 1.56) (end 0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 63625300-2c3e-4efc-9f22-9ad41831ff25)) + (fp_line (start -2.05 -1.7) (end -2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 23f2dafc-2061-48ef-952c-ae58ab7b82c3)) + (fp_line (start -2.05 1.7) (end 2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5193f93a-fab2-47f8-af83-d63063f88c29)) + (fp_line (start 2.05 -1.7) (end -2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e4eef044-98d3-4e88-88f5-3535cab2f19e)) + (fp_line (start 2.05 1.7) (end 2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4fb8dd61-2be2-416f-a114-0bfe10cfa070)) + (fp_line (start -0.8 -1.05) (end -0.4 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb3b7cff-06e0-4999-aa8a-c3f22f1b9e4e)) + (fp_line (start -0.8 1.45) (end -0.8 -1.05) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8508284a-bd29-4a7e-9b20-94ea90a068be)) + (fp_line (start -0.4 -1.45) (end 0.8 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dc69dbf8-3afb-4a74-8029-fa628e5b547f)) + (fp_line (start 0.8 -1.45) (end 0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8fe4b85f-976f-4c71-8ba5-adeb431b18df)) + (fp_line (start 0.8 1.45) (end -0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b76ae4b2-42df-4b9a-a3d6-17886da56752)) + (pad "1" smd roundrect (at -1.27 -0.95 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pinfunction "OUT") (pintype "passive") (tstamp 5d321b50-0379-4d2c-8611-6a773cd2a27d)) + (pad "2" smd roundrect (at -1.27 0 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "IN") (pintype "passive") (tstamp e093530c-cf11-4eea-94f7-a119cb711d86)) + (pad "3" smd roundrect (at -1.27 0.95 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 52 "Net-(U12-C_{N})") (pinfunction "C_{N}") (pintype "passive") (tstamp 1a6dc98f-a447-4472-b70b-2fd5ec7ba56c)) + (pad "4" smd roundrect (at 1.27 0.95 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp c55c4997-ce45-4868-8abf-bebfd6e31ceb)) + (pad "5" smd roundrect (at 1.27 0 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "EN") (pintype "passive") (tstamp 6971f841-021b-424c-8f7e-0e8f7f5e687f)) + (pad "6" smd roundrect (at 1.27 -0.95 180) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 51 "Net-(U12-C_{P})") (pinfunction "C_{P}") (pintype "passive") (tstamp 45a323c7-3223-4925-899a-cf55f9154705)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23-6.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_IDC:IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical" (layer "F.Cu") + (tstamp 106482d6-e608-4faf-8181-fc655ae2bf74) + (at 88.675 77.597) + (descr "Through hole IDC header, 2x08, 2.54mm pitch, DIN 41651 / IEC 60603-13, double rows, 6.5mm latches, mounting holes, https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0") + (tags "Through hole vertical IDC header THT 2x08 2.54mm double row") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x08, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/b5f69c19-571e-4661-bb89-f90dfeac2841") + (attr through_hole) + (fp_text reference "J7" (at -2.696 -11.811) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f238eb8f-6ccb-49bc-91c0-09b595b76fd1) + ) + (fp_text value "Conn_02x08_Odd_Even" (at 1.27 36.25) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f9241081-e16b-4476-bbe2-eadc9deb9868) + ) + (fp_text user "${REFERENCE}" (at 1.27 8.89 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp feef38dd-11ef-43b1-bebd-47d29149ad3c) + ) + (fp_line (start -4.63 -0.5) (end -4.63 0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2b7a0d6c-f364-4220-b02b-10b15fd06e81)) + (fp_line (start -4.63 0.5) (end -3.63 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c3c6116d-a22f-4f49-af12-b1b80cde1703)) + (fp_line (start -3.63 0) (end -4.63 -0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 38d0ca0e-07c2-459e-9d4a-ed4308342720)) + (fp_line (start -3.24 -11.08) (end -3.24 29.03) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp eb03ec5f-1d34-4c30-bfa9-17b14a2c0b03)) + (fp_line (start -3.24 -11.08) (end 5.78 -11.08) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 7298070f-62bf-4831-90cb-e99de2abee13)) + (fp_line (start -3.24 6.84) (end -1.93 6.84) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 911908a6-b9a4-4e97-99d0-441e69848e0f)) + (fp_line (start -3.24 29.03) (end 5.78 29.03) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp c01a47c0-2f3d-4e6d-b0e0-dde60296b32f)) + (fp_line (start -1.93 -3.92) (end 4.47 -3.92) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dd913378-e3c6-4e38-8f34-5a5c88157782)) + (fp_line (start -1.93 6.84) (end -1.93 -3.92) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1648c250-a3b4-4e19-bf2c-038bc57535d7)) + (fp_line (start -1.93 10.94) (end -3.24 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5ff0739a-1357-4450-be3c-9bdcb409b59e)) + (fp_line (start -1.93 10.94) (end -1.93 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3b13385c-d454-4942-af0b-8a31bf07bbd5)) + (fp_line (start -1.93 21.7) (end -1.93 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 20171046-b7fa-4680-b2d6-d3cb6c9584ec)) + (fp_line (start 4.47 -3.92) (end 4.47 21.7) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 034ae4c0-84d0-4fd6-8d79-cf651632fa40)) + (fp_line (start 4.47 21.7) (end -1.93 21.7) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d8c9586f-7aae-491d-a99a-f85d62cc289c)) + (fp_line (start 5.78 -11.08) (end 5.78 29.03) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp cf0e79f6-efa5-4e7f-9dc5-30cfd8c8f166)) + (fp_line (start -3.13 -9.97) (end -2.13 -10.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 561c397d-d76f-44ea-a99e-e12455390e2e)) + (fp_line (start -3.13 6.84) (end -1.93 6.84) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c3a43524-44f9-4c48-a73d-7d765559905b)) + (fp_line (start -3.13 28.75) (end -3.13 -9.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0cee76bb-f9fd-49e8-b511-66193fca172a)) + (fp_line (start -2.13 -10.97) (end 5.67 -10.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 95fa1c15-685e-4f6a-965e-ca1cc6f7b759)) + (fp_line (start -1.93 -3.92) (end 4.47 -3.92) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9791383b-b8db-4aa8-981e-fd339c42a756)) + (fp_line (start -1.93 6.84) (end -1.93 -3.92) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4b6f7b08-e200-49eb-a392-3fc313666191)) + (fp_line (start -1.93 10.94) (end -3.13 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ce777be1-4383-4961-bd4e-bde956320d82)) + (fp_line (start -1.93 10.94) (end -1.93 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28a9db9b-5ef0-4b43-9223-3488238db1b8)) + (fp_line (start -1.93 21.7) (end -1.93 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 47ef4d0d-978b-4727-baff-0dfd80692631)) + (fp_line (start 4.47 -3.92) (end 4.47 21.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 925e132f-d607-4a49-823c-8622b33d6e49)) + (fp_line (start 4.47 21.7) (end -1.93 21.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4c4fdcf3-d305-48ff-811a-bd05d66147a7)) + (fp_line (start 5.67 -10.97) (end 5.67 28.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e82295e7-9b5f-42b5-b813-cec399d13e7b)) + (fp_line (start 5.67 28.75) (end -3.13 28.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fd0505c7-56d7-49cb-b378-b5c2f900b39a)) + (pad "" np_thru_hole circle (at 1.02 -8.94) (size 2.69 2.69) (drill 2.69) (layers "*.Cu" "*.Mask") (tstamp 2a8a32c4-5aae-4aa1-a394-8c46e4dfaad4)) + (pad "" np_thru_hole circle (at 1.02 26.72) (size 2.69 2.69) (drill 2.69) (layers "*.Cu" "*.Mask") (tstamp d80741f7-2844-4785-9135-ffd48d26607f)) + (pad "1" thru_hole roundrect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (roundrect_rratio 0.1470588235) + (net 108 "/interface/DIN1") (pinfunction "Pin_1") (pintype "passive") (tstamp 777edcdc-9a78-40d3-94c7-bc3b6a7aea49)) + (pad "2" thru_hole circle (at 2.54 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_2") (pintype "passive") (tstamp 39b4c64f-34ee-4733-99bb-8cc5f61a0ff6)) + (pad "3" thru_hole circle (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 181 "down") (pinfunction "Pin_3") (pintype "passive") (tstamp 39f0bdee-af4f-4576-8734-15ee23e93150)) + (pad "4" thru_hole circle (at 2.54 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_4") (pintype "passive") (tstamp ac61d355-a318-4cae-892d-7ec4a0b06819)) + (pad "5" thru_hole circle (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 182 "up") (pinfunction "Pin_5") (pintype "passive") (tstamp b3446808-841a-433c-be55-bfeef7a73db1)) + (pad "6" thru_hole circle (at 2.54 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_6") (pintype "passive") (tstamp 2885dd45-bd61-4d10-a731-6e9f132b3df6)) + (pad "7" thru_hole circle (at 0 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 183 "service") (pinfunction "Pin_7") (pintype "passive") (tstamp e11a299e-3ab5-4eee-b2d0-9d436265686e)) + (pad "8" thru_hole circle (at 2.54 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_8") (pintype "passive") (tstamp fdd3b161-343e-4ae1-89c5-97fe37c5e324)) + (pad "9" thru_hole circle (at 0 10.16) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 184 "enter") (pinfunction "Pin_9") (pintype "passive") (tstamp 915e8b60-a4ac-413d-9151-9c0cdf086d88)) + (pad "10" thru_hole circle (at 2.54 10.16) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_10") (pintype "passive") (tstamp ac1f2151-6368-4cbd-a27c-965ec7ca52c4)) + (pad "11" thru_hole circle (at 0 12.7) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 185 "test") (pinfunction "Pin_11") (pintype "passive") (tstamp 11d0cbe9-fbbc-42df-948a-5531d778659a)) + (pad "12" thru_hole circle (at 2.54 12.7) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_12") (pintype "passive") (tstamp bc3b4b88-dd12-4b2e-940e-0b495fa630a5)) + (pad "13" thru_hole circle (at 0 15.24) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 186 "coin") (pinfunction "Pin_13") (pintype "passive") (tstamp 41c13300-da8c-4fca-837e-79d0f7d8bdfa)) + (pad "14" thru_hole circle (at 2.54 15.24) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_14") (pintype "passive") (tstamp 6af8b2da-b36a-4e72-8e71-324079b052d0)) + (pad "15" thru_hole circle (at 0 17.78) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 109 "/interface/DIN8") (pinfunction "Pin_15") (pintype "passive") (tstamp 5bc44a53-6dc4-4bac-9a9b-10d4940dd92d)) + (pad "16" thru_hole circle (at 2.54 17.78) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_16") (pintype "passive") (tstamp dfc19a75-bbb0-427b-b33f-0d5f4b9af958)) + (model "${KICAD6_3DMODEL_DIR}/Connector_IDC.3dshapes/IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + (model ":KICAD7_3DMODEL_DIR:Connector_IDC.3dshapes/IDC-Header_2x08_P2.54mm_Vertical.step" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 12a4b03f-a450-4457-92cf-047db8968af1) + (at 74.295 31.877 180) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/77061336-53ae-4214-952e-18e2823c6ed0") + (attr smd) + (fp_text reference "C55" (at 0 1.016) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1d097e41-278d-46eb-aac3-803760447761) + ) + (fp_text value "100nF/50V" (at 0 1.16) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1053b584-660b-4d50-b578-014a286960a8) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp bc712875-280b-42bb-91a3-06b6757b80e3) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 287cb616-9df3-4a82-b801-09cc460ebd9b)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 39059bb1-bc04-4eb2-a8ee-69b859b7802f)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp be8ec217-498b-4b21-a344-469872ef39a4)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c7adddef-dce2-4f7d-b559-b7684f183cf5)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6a2236b3-863c-4163-b92b-d75185b4cd83)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 71186a88-767d-4868-8fb9-b4366ac1a244)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0a40fc27-e52a-45c1-bde4-05381f882894)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0d6b68ef-296c-4492-a477-1b1edff69297)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f6c0ca6f-2411-4917-8559-56f7dc355425)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp da6cfa1c-2104-4716-b923-ab1a08b95b49)) + (pad "1" smd roundrect (at -0.48 0 180) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pintype "passive") (tstamp c5d07157-eb32-47b7-be03-ae345d57e9b9)) + (pad "2" smd roundrect (at 0.48 0 180) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 0a6f109d-5b1f-4ee7-8c73-5faaac8d5cfc)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 1427e865-70b5-421e-b768-11da730b588c) + (at 57.912 37.084 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/63ec6da4-38af-44e7-867c-121091ca5232") + (attr smd) + (fp_text reference "R90" (at 0 -1.397 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1d64adf9-9a95-48de-885e-d22749dd8b13) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4f9e7586-bc51-4306-ac3a-7878130b4edc) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp bc06c753-374f-4d45-b721-aaed65f93cb1) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4776d506-8d15-43cc-b80e-8fb1533ea005)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52c7d9a4-2f5a-4d53-bd42-d533b7603691)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e324c31a-c43a-4657-a859-062f0f4a3e90)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp feee8fe8-d1ca-4098-bb48-0989c4c8a297)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5ab5a6ad-068e-4701-af36-b77b3ae86912)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 888cf074-96e9-43bf-a176-c7181789ddf1)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d273e19-a7dd-4ff4-8b26-7896e9c90d2a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8855c96b-f3a4-4264-bff1-be9c64199c5a)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ef3ddbf1-a74a-42dc-af8f-a9e501aca19f)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90727a47-0d81-4a3f-943a-d9aa00456a7a)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 62 "/frontend/OPA1") (pintype "passive") (tstamp 3ccf0d6b-92f0-4d0c-96da-5fbe6674d470)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 34 "ADC1") (pintype "passive") (tstamp eb1dee5e-b408-4e27-8ef2-eaea7bbb801e)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 148d3ddc-a947-49ea-a4b6-c264254d832a) + (at 38.989 64.643) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f610ae85-3be3-43a9-91ce-01add1a77a7e") + (attr smd) + (fp_text reference "D4" (at 0 2.286) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0dbad749-9f06-4e1e-afd0-e031425af57f) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f405c537-62bc-450e-b6a2-15148aa137ab) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 1e2b19f1-80f7-4c76-a794-daa769ca888d) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45c7ebcb-e2de-4c8f-8614-53f77e8922c4)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 343712ca-1816-44ab-a6bc-8d18be59f76b)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b1bfe57c-80ca-4923-9217-8823afb3be63)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 564b7458-8c1c-493c-93cc-8c15eba6f79d)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bce2e503-8fbf-4782-96a2-3c1e863f20fa)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d821e49f-d9b2-49c7-b2a1-a2f160fa8c91)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 23c4a6dd-dbac-432e-a853-232ceb5cdb92)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ba0ddfc4-1d4b-49a7-a7cf-897571d6953f)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 02dd2784-a324-4f9b-915b-e2c1956f0fd3)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 792a360f-c355-4418-9d5a-99691ebe9dea)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 69b953ce-4326-4878-b1e3-446067dfc011)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eaf53cfb-7fc7-4ec7-a16f-12f749ae0398)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 458b1663-6dcb-44d0-a89a-82738e5b170b)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 9b4755ee-5a35-49f6-afd1-e3b7e76e8ed1)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 02189c55-2023-4fb4-aa95-801ecd6b3bce)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 8 "Net-(C4-Pad2)") (pintype "passive") (tstamp 99d166f8-f620-46f5-aaf9-e3a8617e024c)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 14a1afb2-638b-4cfd-8d49-c4f52957ebbc) + (at 55.626 67.31 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/2eaec96b-ca0f-4aef-8bb0-f4dae346eb84") + (attr smd) + (fp_text reference "R85" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 44ffedd3-85b3-4f83-a737-19c0c6af1213) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7bed8741-bcb2-4803-a5c6-b223c00f4a35) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 826d26c3-825f-45c4-93c8-c6781aa146c8) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ac426750-b833-4fe7-b625-71e38e215177)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5e24090a-d365-40ee-bb2a-4abcda6bf034)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d84ad444-0c04-4cdf-8290-288760b065c8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0c8cb30b-d189-41f3-91c8-4cdb73cc8e6f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c4ed052d-604e-416f-8b40-48932069cb38)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3527d15b-6905-4a9b-b755-11087ebb637f)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 319fa198-2ac1-4f89-a8de-9bd9609bce62)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 449d4489-0249-4ad6-8de1-1a1454cf0585)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1f4b44c1-4a2c-40c4-84fb-757144189e19)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 94bd6e7a-4f63-4f01-8a30-331837bfdf62)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 68 "/frontend/OPA4") (pintype "passive") (tstamp e86ec5f8-a3db-46b9-ace1-06f09128deb2)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 7e9578e0-f58b-4eb6-84c8-8fe616094bf7)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 158c87d5-c9de-40d1-af19-f11d698c256a) + (at 55.118 98.298 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/50e38fc8-c563-4adc-9737-493e7e91e88c") + (attr smd) + (fp_text reference "R72" (at -2.794 0.508) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 52d226ae-5cb4-42d7-83c2-8ccc72690f72) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 07d14498-1051-45d8-ac34-d96c7435cf1f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9e7d9919-ccf0-4e72-bd30-4c9ad146305a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8c822344-85b1-4d19-83f6-b74f681b512a)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0256f032-9cf6-457c-9791-7a3023ae26ad)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dd621ea7-1627-4b8e-a220-c8200ce50183)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e2f06776-cdd9-4c67-99b9-66c7b04eac73)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f7a8446b-13f7-4237-9cae-a13cfe478bec)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 142971b4-7688-4235-9927-9376f2eb3133)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 951df499-f8a7-4a40-b7b2-8008f2af3178)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4197ce96-8a88-4510-891b-80060f5cdfa3)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 026529a5-9cdd-47b0-a691-33e54a18b86f)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 61ca469c-c31e-4129-9009-f29e95a306c9)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 84 "/frontend/OPA8") (pintype "passive") (tstamp 65fb4c3f-8129-450c-b963-8cfa2ab402f8)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 213 "Net-(U4C--)") (pintype "passive") (tstamp b6c0b915-ff09-4d22-9123-72c4061d190d)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 1665ef97-ddb0-4c13-9388-5750c26df5cd) + (at 55.118 41.656 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/4892ec83-a5c7-40b8-9a6b-a4d2c72329c7") + (attr smd) + (fp_text reference "R33" (at -2.794 -0.635) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d1803032-38cd-4a43-b851-bff661cb4788) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9befe294-c878-42f2-9aaf-0edb779fd9be) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp e9b7c4e5-f668-4df0-b26c-0cc2c16fa31a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1d44d068-17fb-41e1-a15c-bb3be109914f)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 41a7237a-d9e3-447a-8518-1c0cee24ec48)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b8afac9c-3b8d-408d-9dfe-77c736405d23)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 317c9be3-f980-452f-b5db-5ec1a7f3acc8)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8bc9d020-94af-48d6-9fad-f845ea62b871)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 24dc12fd-9ef5-4117-a63a-25bf383d67c9)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 416f7eb2-6566-41a3-a6d8-6e8db277c86d)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 94870748-5eaf-4fbd-a9a7-5b207efc9502)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f7f7d04b-3394-47ab-83e4-1c97e4f92724)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2b15316d-cf19-4d6f-be16-f3957dc324aa)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 62 "/frontend/OPA1") (pintype "passive") (tstamp a91fd648-1455-459e-8a7b-a14004691c35)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 202 "Net-(U1D--)") (pintype "passive") (tstamp a08bba64-81a8-424e-acf2-c456de20c10f)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 1693ff78-482a-441d-9f3e-bc0c3b8d3a75) + (at 48.768 72.136 -90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/419e10d9-5659-46b8-874b-8dec597007b4") + (attr smd) + (fp_text reference "D17" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3ff048ca-b440-4a81-af5c-6d329cc1a0ce) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c6108ff9-b687-40ac-8ec5-f1b4b061b749) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b01f8b5f-75c2-4f51-a45b-517d4f4b7ae1)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7d9f3dd4-1e75-495d-841d-5e9f73696a8e)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 28b03b14-1a00-4b02-9f70-61be85017c9c)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2a907147-9519-4948-a29d-9aa098336ce3)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c1977006-eb9f-466f-895d-88efa0f4a2cb)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ec6bd287-73dc-4853-9a5f-089aeaa103ff)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8cf09392-f5e0-4a90-af7f-45a349636448)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 03788939-6e6b-446c-8030-92dc6161575b)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cd3b19f4-6f0e-4d05-b8b6-c8e1f4ebcdcd)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02673b26-702e-4ada-aff7-98d0d9566916)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6a104304-4950-4504-934e-ea92150943cc)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 20579954-4bbe-42e6-ab8b-8ed3e03ccd9b)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a04a7edc-e084-4137-b905-6fa956b82c43)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b83f53c0-154b-4992-a77a-e733685887b4)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dbb2effd-e0e7-4bfa-9f84-3c64ced29cb2)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1d270d6f-58da-4b20-a131-6e669e7f4dc3)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 699b7e7d-d0c1-46d2-80f5-8e33fa462002)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dce5ecfd-2c73-41b3-8c0e-d2885524993e)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0194a434-0460-444c-9516-e57c26f396e8)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d20e625-0ceb-4f67-bcb9-78447cc30e3d)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c4c8e25b-d741-4a80-ad25-403bf5adcfbd)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 19018c5c-18d9-42ef-ad44-c93a59808321)) + (pad "1" smd rect (at -1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 70 "Net-(D17-K)") (pinfunction "K") (pintype "passive") (tstamp 3524c978-4e8e-40c7-84e3-89fe57c2caa0)) + (pad "2" smd rect (at 1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 71 "Net-(D17-A)") (pinfunction "A") (pintype "passive") (tstamp 5b766a4e-950e-4f1a-86f3-b3d035fcafed)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 18cd6e0c-f5ad-4cec-a334-016b53b0b47f) + (at 38.989 79.756) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/98c26dfa-29b7-446c-bf7c-ae54af3553a3") + (attr smd) + (fp_text reference "C10" (at -2.159 0.762 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 8014185c-c1e6-4923-a05e-0de26bcb7d2e) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f78be489-6135-48a6-a4ba-827ead11d7c6) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 63ecc293-ef95-4d8e-940b-f246f04f31ec) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a698ed44-c8e0-4a99-92e8-cc0d8c291bf1)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 15a4eac7-9081-41b4-8ecb-6cdb7bc7dac1)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 69e13306-4fc2-42e6-ba11-d3485defdc3e)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 144503af-1463-433f-9fc1-e25774cb31b3)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 231f567f-b6b7-401b-bada-08720308f096)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 29952c9f-a2b3-4048-81fb-338d1dc77a39)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90ef7c2d-1a42-49d1-ad92-e0b3076d5574)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dc626fe9-988a-451b-8d62-3d66889df0a5)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4a9a3744-5219-4c7a-b86a-17620f465e85)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9e4f348c-0ce1-4861-aeba-cb30fe54cae9)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 16 "/frontend/IN6") (pintype "passive") (tstamp 7157dd30-527d-4185-9250-53edb6b42fa8)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 17 "Net-(C10-Pad2)") (pintype "passive") (tstamp 3fc222a3-ce31-4f9a-83ba-e7bcc28e9989)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 1ae36281-ffc2-4b8a-bb5a-8eaf0968706f) + (at 55.626 54.864 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/72355f16-08cf-46df-a676-ca5e5d82f66a") + (attr smd) + (fp_text reference "R84" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a55832d4-15c7-4524-abaa-e8b4dc78e1cc) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6ed0b140-2996-4b0d-81cb-d3142f35470b) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b784aa89-6ec3-4cc8-857c-b98877a61508) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 66148976-98ff-415a-8466-7488109fd6f7)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 92fd001b-a801-42e4-9a25-efa9632229f1)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 50efaee3-378b-4ce6-85df-a8f4bd1c7448)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp de188e53-448c-42a1-9b01-ca58d12193ff)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 006dfad9-9ccb-4186-af40-52b5760b2377)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 82e8a548-ad7c-400f-ad71-56a21da3e40d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 66d2ae02-d180-42de-8d0b-0e93a3a04355)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 72636feb-ebe5-43e6-ba1e-c66880400e5e)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf1a5521-a519-410b-b7a1-8f0d8db68170)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0aa3dbaf-560a-433d-84fd-a8aa426c61a7)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 66 "/frontend/OPA3") (pintype "passive") (tstamp 1afa80ce-f236-4e71-832d-815d319a929f)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp d9a25497-8de3-4af5-8373-216d4a14d6be)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 1b6a0560-0ca9-42d9-8a93-e50cdd5a745c) + (at 83.087 96.266) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/6fed1d79-e38c-4eb3-a60a-1b378ceecb59") + (attr smd) + (fp_text reference "C48" (at -2.696 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 9a54cc88-a02a-4801-a2f0-cbae27843ede) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8c46aa54-d367-4ed3-9112-6ac60d73dbf5) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp c86b9335-d691-45d6-9d7d-8ea0f4531962) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0de3dc61-7bd5-41e5-9941-69d4f20393da)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ce2fac04-7641-49c8-8e65-55278416c9e6)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 14b7b662-1f78-49e6-8b68-a08c26acf75a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 97264cee-f55d-4207-81a0-68ccf714a521)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 92b7f567-0c0c-4cf7-980c-3f1b18df92d1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5b2e5cd7-3747-4094-b6bc-30172ee2fbc3)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 57879848-fd78-4ff5-b946-4417a6458dd7)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5f48aad5-dc10-416a-b661-6604910ff3d5)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cea5fb1d-3439-45cd-8fd2-3d338d121021)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 008d2842-98ad-4479-a009-5399ba034842)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 6c9911c3-be9e-4175-8cf5-556f26385541)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 45 "X5") (pintype "passive") (tstamp 13393a67-f06f-4ed3-9660-09a01a7a7acf)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 1d075839-c9a5-4859-973a-c7b9197a96fe) + (at 73.914 39.37) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/3579314f-9550-4a28-b5f1-a1c99ce99288") + (attr smd) + (fp_text reference "C33" (at -2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 8cce1a0b-6885-412d-8cfd-c8d8e0c2ab6c) + ) + (fp_text value "10uF/16V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 760534c2-61a4-4f26-8189-85d5805d8af5) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ab3eff30-3268-467b-836b-c6599f54b908) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7bff86a-8b48-45aa-8da9-af52a4fb1f9a)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 466410f1-6f57-4c94-b43f-8fe2c253cebd)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 206e4f68-e1ad-417f-a331-f8d61c41dc6c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1c7c9b4b-73c9-43be-91f4-981cf7aac21b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8bb1c832-7ea2-480e-98da-f917cbdc38b8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 21789ada-b915-4bd2-a37e-0accbe3e0b55)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 97588d20-7157-4ba0-ae41-bc5f27ab72f0)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e53459bc-2970-4057-ab8b-28f042121f11)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f2804928-737a-4d68-9ef5-363fe6a46900)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 73f3fb11-efb1-48cf-a117-c9779740e20c)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 36 "Net-(D25-K)") (pintype "passive") (tstamp 707cb508-896f-4663-9121-f797becf7113)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp bb52a215-6df4-4e8a-84be-0d5128ee0747)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 22f156db-a7de-48d5-9e30-27309a2bba8c) + (at 54.991 39.751 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d4e229b6-89e9-410f-acbf-3d57211e1de6") + (attr smd) + (fp_text reference "D9" (at -1.905 1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 4b642046-aea5-40b2-b46c-94ac0e4e8d33) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp eb6b5881-cb01-4b79-90c1-eb2e00ba01c3) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 006ab013-b61c-4c59-ba56-74465d2f899d)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bfcbfc64-c889-4dc0-96e9-c468d90acc68)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp abf0114a-70e7-468b-86ba-b32ff14bdfaa)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 578e8602-6a7e-4af7-a75d-c57840cf9aa9)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 01a6ccb2-2189-414a-b6fd-2b3e6f249daf)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 829a7c7b-e7d4-48fd-bafb-84a153a1ead5)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 823bd970-f62a-419e-aef0-98e286745ef8)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d745b92b-b87e-40bb-8c10-926887896c86)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp af0b512b-8166-4569-ad34-1865cf1d78d9)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 55373886-087b-4d68-ba2e-2994dadfa6db)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e0012a14-1dfc-47e1-abd6-187643d52f5d)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 165c5cce-169d-4040-8612-53845a540d5d)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ad5e3318-d7df-43a5-bb5f-ff05421b0923)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b91058a0-262f-428c-b027-f3f6442320f0)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0014fd28-1e7f-4d79-8544-c9f1c5eabab9)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f1d67e49-3672-4306-a190-b0e683360710)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eb611de2-656d-4bae-84ce-e281fe016551)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b5b86ea5-860b-45e5-b4c5-8082db9e2a8c)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cce91ce9-9e06-40f5-a648-c730bfda302e)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d46cda43-fa59-4725-abca-a0754fe8d130)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1a176306-76a5-47c3-8437-e3afce0397bb)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp acdc3aca-11b2-48cc-bf6a-14482b7556ed)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 62 "/frontend/OPA1") (pinfunction "K") (pintype "passive") (tstamp 95289f6d-3183-4489-ade2-394c543d793f)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 63 "Net-(D9-A)") (pinfunction "A") (pintype "passive") (tstamp 95b82669-c4d1-43f3-aea1-672dd39bb753)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 25c2816c-6fe7-4ba1-8688-884f54f90262) + (at 48.768 67.818 90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e6aded25-5788-476c-b76d-e83d2281cde4") + (attr smd) + (fp_text reference "D8" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3375323c-41f1-4e55-86ce-8539019c64c7) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7c71c25e-a0bf-4dbc-b0fd-2079f673409b) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2b016596-6e27-4030-bb59-b48fecf91043)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3e99282d-4cdb-4689-a5e9-9e88e790d2d2)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6982a53b-07bd-4d90-b0c7-a4677129bc50)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 70f1ffcb-2148-4313-a258-8d2a2073e8ce)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b29db1b0-5a1c-44b7-a748-66443b566fe6)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1849d492-9d2b-4dee-9648-359abe938df3)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 60518af6-07e4-49b1-ba66-eca180678271)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 62b29293-00b5-4bcd-92ac-9f49888f8423)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d3b9e0e9-13ce-431f-ba6c-592b1f83af1d)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 706b1e0e-b5fb-41ea-a4b7-dfa7b8a4996c)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3f642963-ccfa-4a71-b76c-46c903775672)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bfc94214-a4cc-4336-b1fe-84a482645b1f)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 027bee71-7395-4077-8b16-81f72d420a27)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29f12200-ac01-40ee-8f16-33934369d9dc)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90ed28ad-65e8-4829-ac28-7b1528164e96)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 68ea5618-e2a8-42a5-9689-27c885478d37)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d1f3e04e-0f78-4e1d-9be2-a95b9654eb82)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9dabb28a-978d-4d9e-863e-b32de9d92071)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28cc7d0f-ed9d-40d9-bd71-0852a8a3f059)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e8c2d97a-e92a-4fe0-a504-6ac2f62e5926)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1b02d2b3-8829-4b53-a10b-a042b6610504)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8664e89c-fdb9-4fe0-b5d3-47de580e80b3)) + (pad "1" smd rect (at -1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 60 "Net-(D8-K)") (pinfunction "K") (pintype "passive") (tstamp ca607a28-0724-452e-85c4-c53261bf24df)) + (pad "2" smd rect (at 1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 61 "Net-(D8-A)") (pinfunction "A") (pintype "passive") (tstamp cfb39a46-30bd-4984-9694-836c17c59102)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 283cee3e-f781-46bc-a006-4d5b8d804bb1) + (at 48.768 50.038 90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e6f3f079-8ffc-4a1d-9bad-992c902f17af") + (attr smd) + (fp_text reference "D6" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 995f1dde-c5f7-4abd-9cb4-2bf09fa59a5b) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b6c34225-365e-4a0d-96ae-2cca23169f63) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a461c501-2475-49c6-88ae-a52c63228c53)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1930f7dd-7382-4d0f-89f0-449cbc25021e)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 865b295e-fccc-443c-b250-f96dab0ef6b4)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 22553153-9bf5-428a-b160-250a359ecd2b)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2d732c58-cd7a-40a5-bea0-3fbfd0542e40)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e8a4b166-64d5-4642-8cb7-15946a2398c2)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 99d50d78-6011-4e03-928f-ee1399df94ce)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7a9168e8-58e1-44da-b113-6ecbd4950538)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9b19650b-7f6b-4ede-b3f8-4f5a62beed32)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 92b52dda-8b9a-450d-b6c8-e13c0f870324)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 24bba9bd-f16d-406a-918b-ef81cc214457)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 186b7aae-82cf-491a-9218-4956f419df41)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp db7eb296-8c47-483f-b26a-4bf7ffca251e)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ce332199-7c84-4471-9ca4-d706c0d23534)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5127c581-3eb2-4084-8e6b-74e8d2538803)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 79b702eb-d6a4-4a1c-b036-03e101ddc628)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7f35c743-1833-4eb8-a957-db2f6336dbd1)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a484cca0-1f49-4d42-94c5-3edad339da14)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a8b5cf1e-cfd0-4c27-95a2-527d4a2c1754)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e5f41394-36a1-4f35-8803-5f0359b08f90)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 05b2c648-f0af-496a-96f9-3dab655735a6)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fdec00ff-bdc8-4030-b4c1-bcb052fcb68f)) + (pad "1" smd rect (at -1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 56 "Net-(D6-K)") (pinfunction "K") (pintype "passive") (tstamp ec3f489f-6272-47ca-aa52-37975ae0c83d)) + (pad "2" smd rect (at 1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 57 "Net-(D6-A)") (pinfunction "A") (pintype "passive") (tstamp 1676f6c6-e2b1-4d8c-942c-c67f8cfa97b2)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 2a5c3fcf-44fc-4eb9-8302-c25f563fc601) + (at 42.926 41.529) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/786432f2-77a7-4c55-a54a-465f782c4618") + (attr smd) + (fp_text reference "R1" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 8cef9e60-3a20-4c3a-8bb1-30779f33141d) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0cfbb763-e167-4bc0-ad61-6388d45218d2) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp fd47e2d4-e534-4f27-86d7-be1347ae4935) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 149fc739-ece1-4aa8-a006-d2c67bc37e93)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a6ed3fdc-01d3-42eb-a150-9c0e2f4d06da)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ca09dae-7514-40b4-ab00-8fb1c5d4bc73)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c998f199-573d-4cda-ada9-64c7a33aafa9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f9d19271-991e-4403-a108-fc4329b8eb9d)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3d58eec-d8c3-42d2-9a70-120c11763563)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b0da4ad6-a9a6-468a-ac2d-14ad6c0db29c)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 708f6fc8-4ff1-4fda-ba01-9689064647d3)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 61aac12d-d0fa-4563-a1e7-289ff5319247)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01b637ae-79ef-40e6-877f-e9889d914240)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 2 "Net-(C1-Pad2)") (pintype "passive") (tstamp 688efc56-b6f2-4a7c-9825-2ef603c7e885)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 01ef4660-4ab5-4f27-8977-7244aef41717)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 2b882305-cfca-4072-97ad-665b8d06b552) + (at 50.673 37.084 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/444a4b74-71b9-444c-af58-518e3b10e269") + (attr smd) + (fp_text reference "R25" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 918852dd-dbf3-4884-b42b-e7bf76de6ec5) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 74fd5530-6d8c-4fb0-9f60-ac057bc08009) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8b5f84bc-b6d2-4e96-a0bc-8d7103bfd252) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cc0d1b4e-a7b8-48fa-be04-7b44ce9dc8b5)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7cd97939-b3d7-4ab4-b646-969af78ec305)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 96ed79b2-1c58-4c22-ae32-24f6463d91d8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8da893fd-e191-4b3c-aaec-f76ceb3cf99e)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c25ab36d-c8d9-483d-bf8d-cf8bdc6ace5a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 99290baf-4b3b-485d-b6e1-54ec5bfcb8ae)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 99205932-0c18-4c70-a536-f37d96e74a9c)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a81d74a7-460b-4b78-8188-087219d76d35)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp add825e6-21ea-405e-a16d-a9e9c34f93d5)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9874f5cf-1207-42e7-9831-1691c4be7172)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 54 "Net-(D5-K)") (pintype "passive") (tstamp 336c1e92-5a42-48b3-b8aa-babf4d8ec182)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 10 "Net-(U1D-+)") (pintype "passive") (tstamp 81602ebc-1680-4b8f-8639-8991706bb296)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 2bed53b8-19a3-4306-a639-a500fb3feb5a) + (at 54.991 46.863 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/fcf6ae9c-5d7e-4422-972a-698c3616a240") + (attr smd) + (fp_text reference "D10" (at -1.905 -2.032 270) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 344067a5-1ccb-4b80-8471-4e803993c05c) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp eb33de3c-0625-43e3-a778-0ee60fb9fd3d) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 72d1e49f-ca82-465c-82e6-24cab9b3e389)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e884e4fb-a68f-4287-8e2d-92bca7905e7f)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7617e14-28da-4c9d-9d5c-e655936cb3c4)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d5a2da8d-07f1-471b-ad5f-7c4b419a8d00)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4b4235ee-30cd-4c41-b7dd-772719b8000b)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3ebe557f-4bc9-4b48-b9eb-b60ab822035b)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9f0a09fe-3021-41d8-8f2c-fdf65935d541)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e20f9072-7ad8-49a5-b480-b98f2cd408e4)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7a814d78-4e1a-4ff5-908f-2feff1fcc5b6)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp beb7b998-31e6-423d-8602-22060449e35a)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0e550a49-f21a-4ef0-bd59-4d73db077e64)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 256250f2-d86b-4c7c-a5d9-30015e1f0adb)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2d7feaf0-ca9e-4096-9c68-ba3af0de0bdc)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f4b21272-2c0b-4115-bd7c-9e866e33b3fd)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 062689fe-577f-4ba3-9100-45b8bfecdd9b)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9215658b-96a2-4044-aa9f-08e071ca028d)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fd98fd72-fafb-47ed-a6a4-80772db2a482)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a88d2128-11fd-4004-9eee-d28fd22c8043)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e14859ab-3afc-4b7c-9906-c307f03b7818)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eda7615a-f8e6-4c33-ae7f-d8fa1dcfb3a7)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp adcb49b2-583e-46aa-a762-a5b21e1be708)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8c1cadb-9f55-411c-89c6-fb2c52b3cdca)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 64 "/frontend/OPA2") (pinfunction "K") (pintype "passive") (tstamp d645817b-b71f-4cc7-8384-c9ba955f28f1)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 65 "Net-(D10-A)") (pinfunction "A") (pintype "passive") (tstamp 0f713d36-74e6-4984-ad21-2035bfc2f425)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 2d509126-9ba8-45dd-aa0e-0ee609b3bee5) + (at 38.989 42.418) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/982d1edc-414e-4677-825f-8afb30619acd") + (attr smd) + (fp_text reference "C1" (at -2.032 0.635 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 05fbc29b-ebf8-4f90-90bf-1986feabc3f5) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9a14e21b-38fd-4a79-8eb9-beec3dd59685) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 93689383-8e0f-4c69-aba2-ca2417659b98) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 745c30f4-4ed3-4682-be6b-6d96c54749eb)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 69401d39-4e37-408b-9122-bf414369fde8)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c01867eb-f868-4f03-b039-d2bb757b0871)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 758623a3-ae47-47e3-b467-ce4795fbe9f0)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c638e039-9c0a-4ed2-a585-a85fa6e4e7be)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f46020ac-61bb-4bff-9d1f-556c4f2cddcb)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 769c105b-2f23-4b32-a5ff-465734419528)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a075fdca-3bd3-4c49-b89e-2a8fc4ec9718)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e10f8293-08ec-4c4f-bdec-8ee2d1cfb656)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 86bf831f-4bdd-480c-ab6a-6cf5b90322f7)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 1 "/frontend/IN1") (pintype "passive") (tstamp 0c6799f8-9004-40e9-9224-7b54542539f5)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 2 "Net-(C1-Pad2)") (pintype "passive") (tstamp 8169b090-5a84-4097-888f-6aebadfbfa88)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 2d9b1f4e-fef5-4a9b-b587-94778b33df38) + (at 83.087 94.615) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/90788731-bc02-4f8e-9431-a7ca710cb155") + (attr smd) + (fp_text reference "C49" (at -2.696 0.254) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b2c16bd3-6290-4e65-8441-cf6ee485a5c7) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 53022555-1381-4720-bd1d-5451ad3b6839) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 0494cabb-46a7-4097-a7bc-61d44153a512) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b01dd97-4332-4e49-99a5-129a9465af04)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ddad22ca-d0ff-4066-af49-1bd9f559c0bc)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dbc4d900-5c25-4a45-918e-12a7e4ba6495)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6c19c6b5-9c5e-4590-8622-790a1cfbebb3)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 655f3b4a-5fe1-4ddb-bfab-a066270bcd0d)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e7ee7b3e-56a1-40b8-8948-44057bbcf6c4)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c82f74fd-3e79-4165-b3c4-60a347e749e4)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4ca3375e-13f3-4a05-a216-3ee08fd25e00)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9a0b1c98-f9b2-4d13-84a0-24e843eaabf7)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1b3e48ab-3998-4bee-b815-11781ac184f1)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 3aa07520-5439-4d1f-84e5-921c26e8f1b0)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 46 "X6") (pintype "passive") (tstamp 5a1a4527-fda0-477c-9d60-ead6c465a7a6)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 2de705d4-4e5b-4679-8141-0f25693bf23b) + (at 38.989 77.978) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d67be1c6-15d2-411e-aafb-58a0334897f1") + (attr smd) + (fp_text reference "C9" (at -2.159 -0.508 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 9188240a-123f-416d-b5bd-846cf944c4a3) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9a0736b4-ac1a-4367-a259-06955cd2c946) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 82d4c4c1-5028-4c95-a016-5c308ec44cbb) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f9d68785-ff67-4d84-91b7-3e634ceaf733)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f510b3fe-a79f-45ce-b1e8-ee897ac5ed1e)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 91f94e72-9605-459b-8473-8f3672a7dd84)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b40cf01a-ba2c-4c00-b8ba-7a6ffdc8fad8)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ea608195-0280-444c-9147-2efeea7a5291)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a70085d7-e37c-4600-9769-69bb154ae8b3)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ebe852de-4625-4c09-994d-8dcccbd67309)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5b3b94d4-18f9-4e3f-a761-7bd64862de91)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7c1e02ec-863a-4af8-8169-6a93e059e2d7)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b297daa7-6c74-40b1-991c-2336d5e73fa5)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 14 "/frontend/IN5") (pintype "passive") (tstamp a6c214d3-12fd-4200-957c-9e8a751457b3)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 15 "Net-(C9-Pad2)") (pintype "passive") (tstamp 0fe1e550-8a45-4ccd-a846-719e7868704d)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 2fb6e851-1ffd-4d6d-8a91-9fcb6005f98c) + (at 67.437 100.711 -90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/6a48853c-5f1a-47e2-b9fd-d6e0c8b6edca") + (attr smd) + (fp_text reference "C40" (at 0 4.445 -90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a6d24793-78b4-43c5-8952-1eff3bf4e32f) + ) + (fp_text value "100nF/50V" (at 0 1.16 -90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2042326b-0838-47ad-a0b6-e6dd8544be77) + ) + (fp_text user "${REFERENCE}" (at 0 0 -90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp e8e88f1a-0557-44e1-ba5f-6026503d01fa) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c2275d29-fb05-40c7-9784-5fbc9dfddb9b)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f096ae9a-ca31-46b5-a671-8282c132698c)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7c5f4a8b-8a0d-4ad2-8a87-dfc6733beecd)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 07552642-6034-4bf3-a7e4-646347f1488e)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8fe39d74-72ea-4f7e-8744-5c903c9bc78c)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 698c6357-4a6d-464c-88ae-860a27bab9c3)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e0fb4919-be72-4c91-b7e9-f19823f6ba74)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 55ba9261-7822-458c-a036-4cf792ce385c)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp adb52837-6d98-4d32-8408-c759105201fe)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8642b90-cd32-41b3-a2b0-0c570cdd2082)) + (pad "1" smd roundrect (at -0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pintype "passive") (tstamp 19d7a8b1-32ae-4053-ba00-c1eaf71001f5)) + (pad "2" smd roundrect (at 0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp c670c2f1-a00a-4457-83bb-aebb1884ae2a)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 2fddfeec-e446-407e-b0a5-66724abecfb5) + (at 55.118 80.518 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e7e9eb83-1e03-41ad-a93d-227f1c10935b") + (attr smd) + (fp_text reference "R70" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp aa00aae7-939e-4f46-90bf-364bbe2a7edc) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7a29cc93-1464-4d5c-bc9c-19c191e5c666) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b243f7a8-37d8-4f93-baa9-964126b6b17e) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 403a1f56-f2df-49b4-ab1b-40590782b3f4)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 12af4f62-4a8e-4351-afb4-f5b748e4333d)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d2c2f50c-7b8f-4d16-95b3-0cbbf389bf6f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 143acde6-5452-4815-8441-856910239c8a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0c64c051-dd45-4821-a49f-367d7a536820)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 79887174-5f6e-43c5-b69f-8fe642516b15)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b45aade9-97bb-443e-aec8-0428867b4196)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d0072985-cfbc-4d03-bad8-a9ec1710548b)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b7e736ff-189f-410f-9418-c35604b74118)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 57711f21-9b33-4777-bcbc-d7f1ba95d64e)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 80 "/frontend/OPA6") (pintype "passive") (tstamp ed7ff6f1-08c8-42b0-a06f-838efc7ae1df)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 211 "Net-(U3C--)") (pintype "passive") (tstamp 081e75ef-fff7-40b3-aa05-981fb639534c)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 2fe1b491-f7e3-490d-80b7-8e80bcddc707) + (at 52.324 72.644 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/40d44a46-fe29-491e-bb4a-dca9324e5f1d") + (attr smd) + (fp_text reference "C13" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 13e4acff-bb53-4116-b083-84f4cbe42683) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a05f6388-db6b-4109-a5c5-fdc20d8c751f) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 3196fdbf-1bef-4c53-8f33-bb95ea17c62e) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 353d5011-46df-41d1-8883-3609d21a22fb)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8004a30a-ee07-4f2d-8bd2-f0504b814e5e)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a669798b-a07e-416f-aee5-dd02bf5dbfb3)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c9bd6101-5dba-4201-985b-9a24c1c51776)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b6016f8d-aa2d-45bc-8e88-e029b46bcb9d)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c6fd6e6d-e19f-4d87-baae-bf28d75583d4)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c39660dc-4344-496d-829f-fe7a32c1c4aa)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c87b20aa-b8a8-441d-bc4f-90dd40908650)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb9dc168-2d04-4392-bf9f-da2729645cb3)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01804a25-3e07-4662-a0b4-3f8e66b8d624)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp a37dc0bb-6746-4234-9016-0a02651429c9)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 22 "Net-(U3D-+)") (pintype "passive") (tstamp 025426a5-5391-4ec4-a59b-3881e03ac89c)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 3013502a-d0c2-486d-bcd5-f430430219ad) + (at 53.975 102.87 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e030723b-7f47-4e54-a6df-d5deadcffce2") + (attr smd) + (fp_text reference "R68" (at -2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7d4a594c-4ede-4334-8c2a-13d7bda1fd05) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d923c260-a465-4dae-9ac5-597055f2a76e) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 3193bd0c-1923-4785-b060-51f60503a4f0) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cb428c8e-3753-46d3-b849-e59cb005283c)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 69704ada-f646-402d-84c2-7799258f551a)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c44484d5-43ee-46c3-a5c8-96680cb56aa2)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4d28fd35-5162-4965-a678-69f276a8e0d3)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 33e121b5-5670-4c6f-9113-28c58a58d5c5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c8248601-bca7-4739-9e80-05223dbce27b)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 873b2ce3-e64a-422b-9471-4f6ebed6cb73)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 02284a99-b215-4f9a-9e21-75de6b525e7c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 52ba6991-a6f8-4099-a701-fa0681b1449d)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 44218a6b-f438-4082-a726-5a209f750e0a)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp e1cab1f8-a31c-49ac-92fa-56fedda83144)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 25 "Net-(U4C-+)") (pintype "passive") (tstamp 5ec9abc8-35e1-48dd-841c-1bc98f360ead)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 31e49347-28dd-4853-825c-9cdfbefc8041) + (at 96.2405 37.846 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/6d773ecb-b60b-43ce-972a-eb46b1351142") + (attr smd) + (fp_text reference "D37" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 82b5f505-4dc7-451f-9651-b9b2b42c23c7) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1b4823dc-68c3-4ed3-9ddf-31967aa3c75f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b50d632b-c299-49a0-9b34-034b13bb983b) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ee6553e7-5f99-4b65-843d-641aa4101949)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d01346a5-ca64-4ea2-87fe-e3187a8086af)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 892e01a4-88cf-49f3-b71c-f65558c586ed)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f5fac943-c478-4803-80e5-50b249a0cd85)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e110acb5-43c8-42a1-924e-8c6b3ef64756)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4d6d861c-9e73-4040-846c-0127fa5bc794)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7a832b04-d4d2-4519-b925-b27c0a3ca1e6)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8b7843e-ddef-45cc-add3-a0a758b54c03)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37b4fd38-94c0-4adb-be17-91ed5b9ec767)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 704820af-97a7-4052-ad94-f39c799e38ac)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0120859e-45cb-49de-ba4b-25ed29185c98)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fc869c5-bc80-447f-9c7e-5fee1e3a8d30)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp b5def83e-c32c-4d81-a0e7-9d2c7ca95989)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 95 "Net-(D37-A)") (pinfunction "A") (pintype "passive") (tstamp 9db34c15-362c-4653-a5c1-8e09ed53456d)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 32f32df8-3b5b-46e0-8fea-eb0965d249f3) + (at 54.991 82.423 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/cc2ca39a-d947-4847-86da-00347ea27032") + (attr smd) + (fp_text reference "D22" (at 0 -1.651 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 761d220e-1e90-4fae-9063-a19e5a90a7cb) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ccdad4a7-c456-42b8-8f45-79f6415c4c34) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 572e1821-e400-4026-a610-cdce28128a9f)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e530d446-c561-41bc-b5fe-59d3f075e5c1)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 42d15e0d-f8d0-40fd-91f6-c17b09e16fc3)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 62e3034e-dc08-4799-8e1d-a0b918ffc8f7)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a9c17684-2326-4e95-bb27-5497b6b57764)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 85c05a47-0e55-4e41-853b-cffc55d7b146)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2399d5d8-adb2-4a38-8bfc-32be6f82462b)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9604323a-a85d-496a-9b1b-cb4836d18e0a)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 216ee41d-2103-4d54-a90f-9dc759d157dd)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1ea25fb9-2981-48e1-8b67-562b217a2447)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3c21644-a65d-4c9a-be9f-5ccc0206ba80)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c3d9cfbf-ea09-4643-b350-7c465372fb77)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f62028b3-fcda-4c0a-8c4b-7797526f9473)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bc0a5149-8bf2-4c05-baf5-d5875a3fa001)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 066c0799-7277-479a-bff8-67a683357947)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27067cfa-465d-4990-b6cd-63b74df56197)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 544f454e-ef2b-4056-99e9-a253813cdbf0)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e58788a6-072f-4f99-ac23-128710bac868)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29a91cf5-da06-4190-9458-b00d076b18e2)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d1054c89-94f6-4217-a58f-c68d1180b8c5)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5411d2b5-1eb5-4c0e-8e52-fb6d3312deb0)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dad7caf5-ef37-41b2-8d82-88b205533d2f)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 80 "/frontend/OPA6") (pinfunction "K") (pintype "passive") (tstamp 048caeb1-f163-46f1-870e-5c5877f6f611)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 81 "Net-(D22-A)") (pinfunction "A") (pintype "passive") (tstamp a32b8888-add0-415d-aa52-97dd146782e7)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 34d70686-ca26-43d2-9796-dc1c6a54cf8e) + (at 55.118 59.436 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e7d78304-81dd-4d8c-8a97-94977950a07c") + (attr smd) + (fp_text reference "R35" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b56577f8-4177-41a5-8545-042e690f6d70) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d8d2a3bb-bed8-48b4-a04b-bd89c6aadc62) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ad054312-d60c-498b-8949-7bde8f67a0df) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3923712a-ca9f-4915-919b-ec86ccd80108)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9aa4f6f2-da09-46ef-940f-5739b1138f19)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e8d7d200-0661-4342-ba94-bce5b26f62d6)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f2d052de-537c-40e6-bbd2-10a7dbe1f71b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8a75f2f1-cfaf-4172-9b10-ff6e81a76101)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 457653a0-da4f-42b6-835d-70ab772055fc)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6caabf75-0338-4f51-87cb-3e41d209b6bb)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f33d3d75-e695-4ce0-9e2d-2ac238f01781)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d078ddb0-dc95-4ae6-a616-761af78a1e94)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6535e4d9-f38f-4a06-91b5-604f9f84ba0f)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 66 "/frontend/OPA3") (pintype "passive") (tstamp c305c5b3-464b-4312-8900-be6ae3d8ae76)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 204 "Net-(U2D--)") (pintype "passive") (tstamp 4ac27a1a-9582-4995-a337-8871009c0301)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 355fecf0-61f6-46ec-bc11-049743f385ec) + (at 54.991 75.311 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/5386e6cd-e49d-4862-b24a-e7eb5b061a39") + (attr smd) + (fp_text reference "D21" (at 0 -1.651 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp baad2003-eea4-45a2-96be-0d0e212a091f) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2e376e55-0f20-4d1d-b27a-f2b0be079756) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8be05d78-c72b-4398-b796-82409787e11f)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f6118020-4ff5-400d-9644-c971c8e3893c)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fe8e4141-4a5e-42d9-84d0-108534446cfa)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eae20279-52d6-4d13-8296-5e14b9213c0b)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6bf52607-f4ee-4a61-9848-cc727917dce4)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 039c4826-569c-4c57-8d9f-6e44348a4a57)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 20e2e659-0bb5-4e64-bfd2-709293157c6e)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 07939ef7-6c6f-46ea-ab39-685e844fae72)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c7542a1e-9e98-4e91-be38-2397b10376e9)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d6e8e85d-d653-4a53-acde-37300d16b513)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d059543d-e9aa-464c-95cd-4f990a78025b)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a3674022-db32-4b84-ba91-98e6dcee349d)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90bba019-5df5-461b-9fd0-9b61d75b2751)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4c1438c6-0c7d-4c33-a5e5-bd98ea4bddc0)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f4846a9b-3ea7-4451-be6c-1206504029f7)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 00f49b4c-cb2d-4e98-a637-45490d6213f3)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 99122b1a-93be-401b-9011-945b68bb5daf)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e4df9e55-d968-4ffa-9c22-faac5cacfea8)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6e7eae2c-324b-4fe2-9398-ee953063287f)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 510f76fa-dc19-43c7-b733-44f0927b60c3)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6409ee14-7a3e-42ed-9bd4-f820d506e9e9)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c03992e8-1bd8-4717-9fae-08693c7cd802)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 78 "/frontend/OPA5") (pinfunction "K") (pintype "passive") (tstamp 0492c6d6-90bb-41f0-a4eb-3b42503c8d4e)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 79 "Net-(D21-A)") (pinfunction "A") (pintype "passive") (tstamp cb6031f8-07a0-4846-a690-dd840b735a21)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 393f78de-c6b0-4b71-852f-79b7048c1844) + (at 55.118 61.087) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/3f64a8c9-e8fb-4725-9433-0702034fb8f0") + (attr smd) + (fp_text reference "C20" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ed86e79f-2fc9-4f3e-85b3-04ab5173ee6d) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 075af899-33a8-4126-b750-4e8e46690dfe) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 047f71c3-57bf-474d-bffa-c4c0fb38a6e3) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 577fafbd-985e-4e5f-84a9-6ac76b401449)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 10926b10-23fc-44cc-8d47-5d3242a89be9)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6002b584-7d0e-43d5-833d-06965192c9b7)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 06225c1c-f958-4702-b7d3-cff7eb790939)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1e1b8279-92ab-454f-8259-8787d4441902)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a20d4859-871d-42b8-bce3-91460da37620)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8b99f733-c63f-477b-b0be-01fe90dacb4c)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7f450269-1675-43ad-9619-e1709ba7169b)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f3ae83e6-55d8-48a7-bb2f-cc9e5b0ee150)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ccb6b2dc-d4e8-4f1f-b87d-3ed012b77114)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 8dfa66b5-1ed5-48fb-aef6-ea914400d50a)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 33c4d3ea-1223-4d6b-92f8-c07d7e567216)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 3bba399f-5175-40ab-9c5c-36f7d5c343ad) + (at 38.989 39.751) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/85c9fd73-64e0-4230-bac0-f68b5fbd077c") + (attr smd) + (fp_text reference "D1" (at 0 -2.159) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 81ad7e92-d1ab-4d89-922a-a1fea816980d) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a9f1b07e-b6c8-458a-890c-696bff2f028b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 1d85f59a-bb3b-4949-951d-3b82b00e34e2) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7e61fde-cf18-44c9-8d4b-a740305dd994)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 16e5d6cd-32b3-475b-85f4-0c503c70dac9)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6067058d-eb60-4405-8be3-2df2d46f91dd)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 59c74d87-423e-4770-8c64-ed4401eeff40)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1943cf54-896b-4e02-83f8-1a6e07f3da2f)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5d69c76b-fefb-4a95-bcad-69c607ab3eb1)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 45fc84ca-c400-4d8a-aee0-e13635cddb1b)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 997759b1-953c-4939-b54d-17aef566d1fb)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a0ee5ec1-f546-4745-aa39-22258e0a4bcf)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9e94d944-203d-4993-b2f8-3ba11d6a8c37)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 43090ad1-5a97-4182-8c3b-291127f1fa1d)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cd1570c5-e9e5-40f3-bf6e-efc25a3a6106)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 961ea60d-e13d-4e4a-ba5b-e25d167156f2)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp ec3aa78b-a329-42d4-b998-c23403cee64b)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 724ff181-e955-40af-a38d-8bed2de48c10)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 2 "Net-(C1-Pad2)") (pintype "passive") (tstamp 3fed2749-099d-44dc-86ec-ae46a7f1501f)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 3c762a00-722b-4e22-aa70-2ac7e13e7c5d) + (at 46.101 55.626) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/7ab11647-1918-4f04-84e9-a32cd78e2fdc") + (attr smd) + (fp_text reference "R21" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 206f85b8-47fc-4b74-9ac7-7ebbd0b5c089) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3098793f-6efa-43e2-aa56-8ca1ca2b87d2) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 96b460ff-936a-4e11-91fb-433be90636fe) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c4d9ffa4-e505-4086-b53d-351b202731e8)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a403a135-ee19-4fd3-bf90-cc2bf2af00a0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fe47e8a3-23a3-47a2-a4d1-cd4e5b58677c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 40ddad3a-41b4-42e1-9c10-e5de6dd5b855)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 81d4e18a-1353-4030-8d17-bc1fa574390a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d385d7c3-6bd5-4048-a496-a25318fc5bbe)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ea5009e3-26a2-4cd0-b3f5-864bc08e1ac3)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 74ae92fd-9847-4e4f-9e11-f74b6d810c9f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e5eb4aa8-29ab-4bd9-9bb7-74f3ccd057fa)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 485ffc8a-c4e0-4954-96f5-5b931c06ac8e)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 128 "Net-(R13-Pad2)") (pintype "passive") (tstamp 1a6beb34-9c68-408a-be6e-55b1db8d83b2)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 59 "Net-(D7-A)") (pintype "passive") (tstamp 8e2a8f7c-4f17-4da1-a81f-94c12c60a894)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 3d0c26b6-b80c-48f0-8918-af8b0e989a3c) + (at 64.389 37.084 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/4cf0582e-6504-4416-9de8-11ff5f18b107") + (attr smd) + (fp_text reference "C38" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b05aeab0-6453-4eea-9283-3376614bc174) + ) + (fp_text value "100nF/50V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7259c9c3-293a-4989-a1c1-4f679c09a6a3) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp ec022d28-9c76-4f7a-9e4a-8fc8e01a4838) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9623884b-fb5e-4f31-8a44-024123615879)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8d56ef16-46c0-4774-ba7e-1d941c083bb1)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 135058c1-b28d-4d54-871d-14c6705b8bca)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8199140c-fa8f-444d-ab0c-924b05e422fb)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ee66c422-485f-4ef7-9029-3bce31d91e56)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e059968f-d29f-4bc7-959c-37e54d830485)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2f23a0a2-c94d-4075-b173-c1775ba01ce4)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45a380ed-ba07-414a-9f08-a7fd11cd6dd8)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0aa4624e-b6bd-4bf8-967e-fa803a806309)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp db17258a-3250-4044-9db4-4fa08642d31e)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 38 "Net-(U5-NRST)") (pintype "passive") (tstamp b33e38c5-a2d5-4566-86b2-10ab54cfb766)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 728cf158-5f20-42a4-9db3-ad12c67e2d2e)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 3dcf189f-ceb1-4a78-ac19-763af14d9c9d) + (at 46.101 102.108) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f7c2f525-7edb-472b-a379-883fa4b07529") + (attr smd) + (fp_text reference "R59" (at 0.127 2.921 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 37465f5f-3dad-4058-ac90-8aef10443ed1) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3a3a226e-6201-455c-827c-033a170a3ef4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 72e32325-5ac2-4d91-a542-67fc22d73c2c) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 636744f2-b559-4b63-9950-6dbf60addd82)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b8ca2f54-3d46-445f-bb84-3d535af720ef)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ee5f6a1f-bdab-44c3-8b78-4be7e65a6cb8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 23795358-d4d8-432d-b14b-4237f3b33e39)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c1643ced-a989-4130-aa5e-bc7b071bdbb0)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp be7d9a4f-3a51-45af-aea7-d449628b7f0e)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c4428b0a-a06b-4d8f-ba1d-c6fddb8437a9)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2c33777e-bfd6-4733-bd0d-7d1c50f41097)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a2a919a7-005b-48d6-97fd-4021f8fce941)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3c27a88d-f832-473a-8b4e-656e0b97bc6e)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 141 "Net-(R51-Pad2)") (pintype "passive") (tstamp 7d5d9879-452d-468c-8514-fd7cd227ee37)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 77 "Net-(D20-A)") (pintype "passive") (tstamp 7e26a87e-74d6-46dc-b1e4-bca13d3e83d6)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:B36B-XADSS-N-A" (layer "F.Cu") + (tstamp 3ded00a1-bc40-4916-bb92-abca5624249f) + (at 94.976 81.627 90) + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x18, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/96f6097e-743e-41e8-a41c-6eab69b70cea") + (attr through_hole) + (fp_text reference "J11" (at 25.747 -4.171) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 8012a7b4-1500-4338-9e8a-8fa4cbe27a2b) + ) + (fp_text value "Conn_02x18_Odd_Even" (at 0 -3.302 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a1832311-22ae-4fb7-be5c-85c961a1fe6c) + ) + (fp_line (start -25 5.05) (end -25 -0.54) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 8bfad9ec-6888-4748-b159-a899044d060a)) + (fp_line (start -25 5.05) (end 25 5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 87dbec90-ec0d-4659-bcaa-f14ff28de068)) + (fp_line (start -24 4) (end -24 -0.54) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cdf0b62c-d874-45a6-804e-8baa17571b8d)) + (fp_line (start -21.5 4) (end -24 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 89d33ab5-beba-4782-b652-120d924961d7)) + (fp_line (start -21.5 5) (end -21.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0b0c0a21-bea4-480b-b2e5-fc5ad2df9806)) + (fp_line (start -20.5 4) (end -20.5 5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6634c88d-0e71-442b-ad30-0b2a158c6a61)) + (fp_line (start 15.11 -4) (end 24 -4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 24303df6-e385-44a5-83c6-dcc476f8bf45)) + (fp_line (start 20 4) (end -20.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 87f49edb-fe99-4ca4-bc94-9c57eeea4a9f)) + (fp_line (start 20 5) (end 20 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 338fb443-07dc-463a-a941-e2ae885d0b07)) + (fp_line (start 21 4) (end 21 5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1d346efc-027e-4749-b150-d585fa5119b0)) + (fp_line (start 24 -4) (end 24 -2) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2118e097-ee4e-4073-bbe5-65c66a147ab9)) + (fp_line (start 24 -2) (end 25 -2) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b02fcc0-3ece-4820-811e-3907fa827132)) + (fp_line (start 24 -1) (end 24 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4094a8ec-1947-42a9-b823-549f2aab81b7)) + (fp_line (start 24 4) (end 21 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e263c98e-9427-420c-82b0-36a502464995)) + (fp_line (start 25 -5.05) (end 15.11 -5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp af89c0fa-703b-4e1e-9071-338a147ff13b)) + (fp_line (start 25 -5.05) (end 25 5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp daba9e09-6dcc-401d-ad62-70e02b37fa6e)) + (fp_line (start 25 -1) (end 24 -1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 84a61579-a7b5-401a-be61-292eb6615ba1)) + (fp_rect (start -6.35 5.08) (end -0.762 4.318) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 7a44ce9d-b11d-4f0f-a908-7097a512cc60)) + (fp_rect (start 6.35 4.318) (end 0.762 5.08) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp e4ede742-c130-4c33-b7ab-586d1e7a8480)) + (pad "1" thru_hole circle (at -21.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 171 "unconnected-(J11-Pin_1-Pad1)") (pinfunction "Pin_1") (pintype "passive+no_connect") (tstamp 0b9198f9-54d8-4a13-b355-8b610ef113f0)) + (pad "2" thru_hole circle (at -21.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_2") (pintype "passive") (tstamp d207dec0-bf84-466c-88c3-fea9cf869f89)) + (pad "3" thru_hole circle (at -18.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 183 "service") (pinfunction "Pin_3") (pintype "passive") (tstamp eddbf036-573a-4334-b67c-468322cb6e5f)) + (pad "4" thru_hole circle (at -18.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 185 "test") (pinfunction "Pin_4") (pintype "passive") (tstamp a408f612-1ba5-45fe-ab6f-785685171038)) + (pad "5" thru_hole circle (at -16.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 186 "coin") (pinfunction "Pin_5") (pintype "passive") (tstamp dc61f35c-a300-487d-9de3-abf6faa712ab)) + (pad "6" thru_hole circle (at -16.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 172 "unconnected-(J11-Pin_6-Pad6)") (pinfunction "Pin_6") (pintype "passive") (tstamp 520e3364-7e77-41de-adc0-d6e3ead3ee3e)) + (pad "7" thru_hole circle (at -13.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 182 "up") (pinfunction "Pin_7") (pintype "passive") (tstamp 9b37a58a-a215-4ed0-9534-e124624d5339)) + (pad "8" thru_hole circle (at -13.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 181 "down") (pinfunction "Pin_8") (pintype "passive") (tstamp 1803da66-beca-4995-8cdc-284d2bce890e)) + (pad "9" thru_hole circle (at -11.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 173 "unconnected-(J11-Pin_9-Pad9)") (pinfunction "Pin_9") (pintype "passive+no_connect") (tstamp 7c49c9de-5766-4e7b-9326-c708b1c20117)) + (pad "10" thru_hole circle (at -11.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 174 "unconnected-(J11-Pin_10-Pad10)") (pinfunction "Pin_10") (pintype "passive+no_connect") (tstamp 0ea87f85-6f00-4611-9fba-e9df0ee0f9a3)) + (pad "11" thru_hole circle (at -8.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 184 "enter") (pinfunction "Pin_11") (pintype "passive") (tstamp f570b98d-d7ec-40d7-8b42-d40134eeac44)) + (pad "12" thru_hole circle (at -8.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_12") (pintype "passive") (tstamp 0b2fce4c-ae6d-4b42-bc54-be210dabe431)) + (pad "13" thru_hole circle (at -6.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_13") (pintype "passive") (tstamp 56fb52a4-569d-422a-a985-19562ef43f8c)) + (pad "14" thru_hole circle (at -6.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_14") (pintype "passive") (tstamp cf7fa827-d353-4cbe-b529-6707320b62ce)) + (pad "15" thru_hole circle (at -3.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 175 "unconnected-(J11-Pin_15-Pad15)") (pinfunction "Pin_15") (pintype "passive+no_connect") (tstamp 434d1123-b7f2-4a4a-b211-855d94cec546)) + (pad "16" thru_hole circle (at -3.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 176 "unconnected-(J11-Pin_16-Pad16)") (pinfunction "Pin_16") (pintype "passive+no_connect") (tstamp b84b376b-cab7-45e3-b2f3-13412aa40160)) + (pad "17" thru_hole circle (at -1.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 177 "unconnected-(J11-Pin_17-Pad17)") (pinfunction "Pin_17") (pintype "passive+no_connect") (tstamp eedba40c-c0c1-4433-8624-cd04e2bdc893)) + (pad "18" thru_hole circle (at -1.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 179 "unconnected-(J11-Pin_18-Pad18)") (pinfunction "Pin_18") (pintype "passive+no_connect") (tstamp 07fc2465-4670-4cea-95d7-d3923a6aa08b)) + (pad "19" thru_hole circle (at 1.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_19") (pintype "passive") (tstamp 45237708-50dc-4917-9686-535b73158abc)) + (pad "20" thru_hole circle (at 1.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_20") (pintype "passive") (tstamp 16fce85f-c744-4419-8984-b2c8a710b10e)) + (pad "21" thru_hole circle (at 3.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 180 "unconnected-(J11-Pin_21-Pad21)") (pinfunction "Pin_21") (pintype "passive+no_connect") (tstamp dbe5888a-65c6-4180-b6ca-9fc6aa066876)) + (pad "22" thru_hole circle (at 3.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 187 "unconnected-(J11-Pin_22-Pad22)") (pinfunction "Pin_22") (pintype "passive+no_connect") (tstamp 8d6f4317-d22f-4e7c-91ee-70d33fccf1e4)) + (pad "23" thru_hole circle (at 6.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 188 "unconnected-(J11-Pin_23-Pad23)") (pinfunction "Pin_23") (pintype "passive+no_connect") (tstamp c38eca89-3eea-471e-a1a5-c9c4dc6a5d57)) + (pad "24" thru_hole circle (at 6.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 189 "unconnected-(J11-Pin_24-Pad24)") (pinfunction "Pin_24") (pintype "passive+no_connect") (tstamp 11a8da4b-a147-491c-b8a9-49d977752a21)) + (pad "25" thru_hole circle (at 8.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 190 "unconnected-(J11-Pin_25-Pad25)") (pinfunction "Pin_25") (pintype "passive+no_connect") (tstamp 9bf9b716-52eb-4cc9-947d-31e19a8e1cb2)) + (pad "26" thru_hole circle (at 8.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 191 "unconnected-(J11-Pin_26-Pad26)") (pinfunction "Pin_26") (pintype "passive+no_connect") (tstamp 3965ae92-7acd-49b1-a680-835c53dc862d)) + (pad "27" thru_hole circle (at 11.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 192 "unconnected-(J11-Pin_27-Pad27)") (pinfunction "Pin_27") (pintype "passive+no_connect") (tstamp dd58ca30-bd96-47d8-9a1b-24bd4747f89e)) + (pad "28" thru_hole circle (at 11.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 193 "unconnected-(J11-Pin_28-Pad28)") (pinfunction "Pin_28") (pintype "passive+no_connect") (tstamp 315c4d44-205c-4a95-b23b-8ded442ac5a7)) + (pad "29" thru_hole circle (at 13.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_29") (pintype "passive") (tstamp 54fea9ab-77d5-481f-a2ca-2e46c74bd6d7)) + (pad "30" thru_hole circle (at 13.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_30") (pintype "passive") (tstamp 62780d7f-3832-4c15-b095-7affbc16f0ea)) + (pad "31" thru_hole circle (at 16.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 194 "unconnected-(J11-Pin_31-Pad31)") (pinfunction "Pin_31") (pintype "passive+no_connect") (tstamp a3f13a7e-031a-4689-a0fd-87b4b787a2d2)) + (pad "32" thru_hole circle (at 16.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 195 "unconnected-(J11-Pin_32-Pad32)") (pinfunction "Pin_32") (pintype "passive+no_connect") (tstamp 7fa84f8e-4d8e-4500-8bac-585f2a34bc4d)) + (pad "33" thru_hole circle (at 18.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 196 "unconnected-(J11-Pin_33-Pad33)") (pinfunction "Pin_33") (pintype "passive+no_connect") (tstamp 83a8ad0c-637f-4a24-8b93-83f711cea61c)) + (pad "34" thru_hole circle (at 18.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 197 "unconnected-(J11-Pin_34-Pad34)") (pinfunction "Pin_34") (pintype "passive+no_connect") (tstamp ec89a950-fd36-4ca4-a3b4-133372030f02)) + (pad "35" thru_hole circle (at 21.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_35") (pintype "passive") (tstamp fad2c39b-aed1-49c6-a125-46a403067aa9)) + (pad "36" thru_hole circle (at 21.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_36") (pintype "passive") (tstamp 4f6b4ab5-d232-4abb-8ae9-cf7d0e97bb80)) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 400ec8ce-1b28-4fe2-b96d-a053b5b4e728) + (at 78.232 112.776 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/85f259f1-235d-4100-ba2f-54658e50a033") + (attr smd) + (fp_text reference "R79" (at -2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3edb3553-3293-4ecf-bdef-2ec86071a9cd) + ) + (fp_text value "5K1" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3692a7e2-b741-4835-9d60-fcacef54b139) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 04c7df9b-50ec-4dbd-b4be-8ea2d4f1e991) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cee9cdd4-a4c9-4ebf-8332-329f3e07ae48)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bd61d9ff-3dfa-48ee-9667-8eba9bd7982c)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ad178fa0-775e-4c97-a626-51593b78ca4f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 75aa3c52-a999-470d-b481-faf1fca6c427)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b7d974ec-1d4e-4d40-8e66-419bb72a2e2b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6e0d670d-b2c5-42ba-8274-5f7a060439d2)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 60c751e2-e6cd-46be-aa5c-74c57c186fb8)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f0e53615-3ede-4b97-a1df-8e9dd7b27100)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 55020f98-5ba7-4886-8f30-1d235dd04604)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 883f3c7f-b3f2-499f-9e45-8f0a8fc3d91e)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 9a893df2-a32e-4be4-bf56-8f3618768baf)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 165 "Net-(J9-CC2)") (pintype "passive") (tstamp efc876a5-b7d7-4676-b97c-e7927f529fb6)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 401cb18a-caa5-4db0-91df-566d19fabcc3) + (at 96.266 46.609 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/00c9b0ae-6b49-449b-941a-9f723b18d4d8") + (attr smd) + (fp_text reference "D42" (at 2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f84e1f12-6ccd-44a5-94b6-f33bf46ac178) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp be4990ae-094c-4679-b87d-844c5b3e045a) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b604655f-7f1f-4f58-a796-c61fcf1652b9) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 23ca6e63-a78e-49ab-8eb3-e3375257c40f)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 940edb6a-1757-4b37-a8ac-c76aa617f456)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1f234cdf-1c57-48bb-bb33-5b83774def97)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9cfac623-57b1-4f49-984f-0208189f0bb0)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 519b6e10-1465-457e-be5e-a16efe7dfb3f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 94987794-95af-445d-a6a6-17f50d988e8a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 004e5858-3b47-4930-9226-2cde1764982f)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 419c2169-60eb-4689-a8cb-12c1dbed8398)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9431c820-4ec0-4e38-a702-9833c7630d8e)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 19f56454-350f-4812-87e8-c08ce51e4640)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 57d40ea0-c6bc-4c58-a146-ca800f818db8)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 373f8ce1-2f55-4e1f-8b27-6fdd163dc689)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 15261679-3434-4c40-a301-123dee7c1d64)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 100 "Net-(D42-A)") (pinfunction "A") (pintype "passive") (tstamp 26b748a2-ebbe-450f-a0dd-a1c3933cdd9a)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 4368b106-6e1a-45c2-9ef7-e8ffa6d64d0b) + (at 73.152 100.711) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Positive 60-250mA Low Dropout Regulator, Fixed Output, SOT-23") + (property "ki_keywords" "Torex LDO Voltage Regulator Fixed Positive") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/ca31b345-9553-41c2-b4b9-dc359535f189") + (attr smd) + (fp_text reference "U13" (at 3.175 -1.016) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f6762030-a98e-4993-bf97-632dd54f4738) + ) + (fp_text value "XC6206P332MR" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0c895e77-7106-4d23-9d56-0e5d5ced588d) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 0c9393b3-9e3d-4090-a8ee-44acae380926) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d5a932a9-997c-45b0-a7aa-e4d9ff0a8387)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ac505639-0076-4efa-9ece-4c17e4e51c98)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp af95f7e6-4650-4b20-abd5-b20ba70a8282)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c881038d-f3c7-4625-80b5-8c5fd69228b4)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3278defb-d0c4-4752-bfac-e2e8c2c280d5)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 31e77cff-c051-4bdd-9332-88f6cd6d1365)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ab706ebe-eaf7-42f7-9882-82146d053e1a)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7da3a4e8-4f50-4241-a8a9-6155209e17d9)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7cfb6cb5-1801-47f7-9fbe-adfd79391105)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 26f84950-6a15-4285-bb27-7dfc8b20499b)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 24e732b9-6362-4f27-af3c-3fb011cadd75)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c7f03cac-6962-4ffb-9648-2ba5ee82b554)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6bdf8cee-f8cb-45ca-85b6-3bd9bc364113)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "power_in") (tstamp ad3c5e14-2f4e-473d-b77c-c8e230542ee5)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pinfunction "VO") (pintype "power_out") (tstamp 7a5f328d-acb3-4482-904c-1d6920e3ecc6)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "VI") (pintype "power_in") (tstamp 85bd90d3-359d-4834-ba49-0a109c40c5f8)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 46fbcdd4-5330-4e68-904e-32f7c9bd7699) + (at 48.768 36.576 -90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f8d5068f-d722-417c-910b-bd4cbbaad360") + (attr smd) + (fp_text reference "D5" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f0d95679-d31f-44fc-a73f-59ddd68977de) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c5166e2d-bdc6-4568-b38b-6ea44ac1add9) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 09d51712-dfec-4931-a2af-78359ac95475)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7ed734f5-c014-417c-bada-f23197e57478)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8f523442-312d-43ee-90ac-2b127d29c4bd)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a78b18f7-2991-4ca0-b452-c5575ce037cc)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0e039c90-72c7-477b-961d-6773243401ec)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c080f3ab-d9e1-476b-9949-ce2bd7adcfad)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 49ea2d02-94cd-46aa-8b16-e2bafa4c4a13)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5e4bef81-6590-4568-94ac-bd825a91d8c2)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d3b8d506-12b1-42b6-8a58-327d9d2b7b73)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 59309a02-d38d-4677-8d6b-f256030cec41)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 36e7eb15-01f9-4afc-98d9-084ba5e0a5fd)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 83bd57b9-a6f6-400b-838e-428f050cb0b4)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f34dbae1-2bc3-4a1b-a3ee-a728c52bd549)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 26ee10c2-6b7b-44ea-8c5b-19907cc5baf9)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a4977fb9-974f-4cc2-bb53-a5505b656160)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 973994e1-9f29-4c35-85d8-1db6dca1595e)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fda63bf-f48d-4016-a7e8-fb98ed44bd75)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5935516e-6dfd-45ae-aa1f-741ed3e4e6b2)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 40a25754-42f6-4bba-bf38-95d3b436242d)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a31dd7db-aafa-472b-9a37-a3ddaa942d72)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cfa71b7e-5590-4638-b348-7520c8f599ac)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e64549ba-596a-4455-a57c-7936616a03ef)) + (pad "1" smd rect (at -1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 54 "Net-(D5-K)") (pinfunction "K") (pintype "passive") (tstamp b8838d65-a439-4e17-a442-0f70e189d339)) + (pad "2" smd rect (at 1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 55 "Net-(D5-A)") (pinfunction "A") (pintype "passive") (tstamp e37f5572-7eb9-47c8-8e97-31b105ba1603)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 486fe0eb-0a3f-47c1-8a5d-8b13dd19703f) + (at 46.101 91.186) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/312a805b-a962-4e13-8ed5-522b0ec3f6ee") + (attr smd) + (fp_text reference "R57" (at 0 1.143) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 954500b3-a7df-4954-a61f-c4cb7d07e56f) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d8d7931f-9b7a-4d8f-8e21-7daa60105e66) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp bd90beeb-0ad0-43ec-b913-e7ca0e8d5c0a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 63bf0c88-201f-443a-bbd9-875b305e23f5)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d7adeab8-5900-4764-aa1a-98595e472a05)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6b986b21-7a9c-43be-9a67-4dfc63f42af2)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4d71957-a19f-4cdd-9884-a449ee1afa2a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ee2365a1-0b0c-4c32-ab2f-5abdc6950c3c)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0d41fdf8-a00e-4e0f-9df4-d1310886cd0e)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 93461aa6-85af-40d5-858f-c941e9aa9b0a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 600ad2d7-d0f1-4e84-9940-f166d39c8e96)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 74a3d58a-e35c-4e11-95af-e549f5939236)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28fd2ee8-a5fc-49ff-95d2-dd10333ec8f9)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 140 "Net-(R49-Pad2)") (pintype "passive") (tstamp 3481779c-938c-460a-9b36-661d5f3af564)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 75 "Net-(D19-A)") (pintype "passive") (tstamp 30322c9f-b10d-40b0-a9a1-19a6af7d6a49)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LOGO" (layer "F.Cu") + (tstamp 489a9bd5-2b9d-471f-928b-a88e3d1d73fe) + (at 41.402 112.776) + (attr board_only exclude_from_pos_files exclude_from_bom) + (fp_text reference "G***" (at 0 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 85808ef1-c315-426b-aeb6-3b2ba053f323) + ) + (fp_text value "LOGO" (at 0.75 0) (layer "F.SilkS") hide + (effects (font (size 1.5 1.5) (thickness 0.3))) + (tstamp 304f7da4-82a1-4815-babf-fec5ae487d6b) + ) + (fp_poly + (pts + (xy 3.001182 0) + (xy 3.001182 3.001182) + (xy 0 3.001182) + (xy -3.001181 3.001182) + (xy -3.001181 0) + (xy -3.001181 -2.611028) + (xy -2.611028 -2.611028) + (xy -2.611028 0) + (xy -2.611028 2.611028) + (xy -2.354814 2.611028) + (xy -2.0986 2.611028) + (xy -2.104545 2.578515) + (xy -2.115711 2.502078) + (xy -2.124589 2.410081) + (xy -2.131112 2.306844) + (xy -2.135213 2.196693) + (xy -2.136825 2.08395) + (xy -2.135882 1.972937) + (xy -2.132317 1.867978) + (xy -2.126064 1.773396) + (xy -2.118075 1.70067) + (xy -2.105891 1.614996) + (xy -2.094762 1.542847) + (xy -2.083636 1.47923) + (xy -2.071461 1.419154) + (xy -2.057184 1.357629) + (xy -2.039755 1.289664) + (xy -2.01812 1.210268) + (xy -2.004198 1.160457) + (xy -1.994305 1.127131) + (xy -1.980718 1.083905) + (xy -1.964726 1.034602) + (xy -1.94762 0.983046) + (xy -1.930687 0.933061) + (xy -1.915219 0.888471) + (xy -1.902504 0.853099) + (xy -1.893832 0.83077) + (xy -1.891179 0.825325) + (xy -1.883983 0.810731) + (xy -1.873197 0.784299) + (xy -1.866088 0.765301) + (xy -1.848191 0.720887) + (xy -1.82209 0.6629) + (xy -1.789664 0.595049) + (xy -1.752796 0.521041) + (xy -1.713366 0.444585) + (xy -1.673255 0.369388) + (xy -1.634346 0.299157) + (xy -1.598517 0.237601) + (xy -1.597509 0.235925) + (xy -1.567494 0.186303) + (xy -1.540717 0.142383) + (xy -1.519014 0.107152) + (xy -1.504224 0.083597) + (xy -1.498496 0.07503) + (xy -1.490044 0.063907) + (xy -1.471921 0.039646) + (xy -1.44633 0.00521) + (xy -1.415477 -0.036436) + (xy -1.394341 -0.065026) + (xy -1.354099 -0.116489) + (xy -1.304312 -0.175502) + (xy -1.248429 -0.238375) + (xy -1.189901 -0.301417) + (xy -1.132176 -0.360938) + (xy -1.078705 -0.413248) + (xy -1.032938 -0.454657) + (xy -1.02024 -0.465198) + (xy -0.985471 -0.49316) + (xy -0.949904 -0.521672) + (xy -0.91784 -0.547296) + (xy -0.893579 -0.566595) + (xy -0.882605 -0.575226) + (xy -0.86298 -0.590971) + (xy -0.85749 -0.595564) + (xy -0.841867 -0.60763) + (xy -0.817888 -0.624988) + (xy -0.810319 -0.630306) + (xy -0.77806 -0.653277) + (xy -0.753758 -0.672028) + (xy -0.737443 -0.685644) + (xy -0.721795 -0.696925) + (xy -0.696652 -0.713157) + (xy -0.68527 -0.72013) + (xy -0.660412 -0.73571) + (xy -0.643583 -0.747379) + (xy -0.640252 -0.750295) + (xy -0.629306 -0.758676) + (xy -0.607379 -0.772897) + (xy -0.595234 -0.780307) + (xy -0.570353 -0.795848) + (xy -0.553524 -0.807556) + (xy -0.550217 -0.810502) + (xy -0.539532 -0.818398) + (xy -0.515001 -0.834139) + (xy -0.479907 -0.855785) + (xy -0.437537 -0.881394) + (xy -0.391178 -0.909024) + (xy -0.344114 -0.936734) + (xy -0.299632 -0.962582) + (xy -0.261018 -0.984627) + (xy -0.231558 -1.000926) + (xy -0.214537 -1.009539) + (xy -0.211914 -1.010398) + (xy -0.199248 -1.01645) + (xy -0.198411 -1.017901) + (xy -0.188178 -1.027024) + (xy -0.166893 -1.040375) + (xy -0.160063 -1.044137) + (xy -0.131495 -1.059551) + (xy -0.095033 -1.079395) + (xy -0.070028 -1.093086) + (xy -0.039629 -1.109507) + (xy 0.002999 -1.132175) + (xy 0.052308 -1.158154) + (xy 0.10275 -1.184509) + (xy 0.105041 -1.1857) + (xy 0.178139 -1.223776) + (xy 0.235809 -1.254099) + (xy 0.280419 -1.278055) + (xy 0.314339 -1.297032) + (xy 0.339938 -1.312417) + (xy 0.359586 -1.325598) + (xy 0.375652 -1.337961) + (xy 0.390505 -1.350894) + (xy 0.396309 -1.356233) + (xy 0.427234 -1.392487) + (xy 0.438437 -1.425432) + (xy 0.429949 -1.454946) + (xy 0.401801 -1.480904) + (xy 0.360142 -1.500952) + (xy 0.336635 -1.505859) + (xy 0.296109 -1.510044) + (xy 0.241539 -1.513465) + (xy 0.175901 -1.516082) + (xy 0.102171 -1.517855) + (xy 0.023327 -1.518741) + (xy -0.057657 -1.5187) + (xy -0.137803 -1.517692) + (xy -0.214136 -1.515675) + (xy -0.28368 -1.512608) + (xy -0.320126 -1.510304) + (xy -0.393581 -1.505499) + (xy -0.477183 -1.500825) + (xy -0.561459 -1.496767) + (xy -0.636934 -1.493812) + (xy -0.648577 -1.493443) + (xy -0.712794 -1.491829) + (xy -0.760746 -1.491584) + (xy -0.796145 -1.492921) + (xy -0.822701 -1.496055) + (xy -0.844124 -1.501198) + (xy -0.856178 -1.505382) + (xy -0.890687 -1.524926) + (xy -0.905944 -1.549853) + (xy -0.901947 -1.580169) + (xy -0.878693 -1.615881) + (xy -0.83618 -1.656997) + (xy -0.8072 -1.679961) + (xy -0.761153 -1.710755) + (xy -0.70113 -1.745245) + (xy -0.632177 -1.780916) + (xy -0.559338 -1.815252) + (xy -0.487657 -1.845738) + (xy -0.435171 -1.865445) + (xy -0.402429 -1.877091) + (xy -0.374868 -1.887318) + (xy -0.365144 -1.891153) + (xy -0.342695 -1.899358) + (xy -0.306375 -1.911472) + (xy -0.261529 -1.925827) + (xy -0.213501 -1.940755) + (xy -0.167634 -1.954588) + (xy -0.129273 -1.965657) + (xy -0.109906 -1.970828) + (xy -0.074137 -1.979776) + (xy -0.03095 -1.990586) + (xy -0.005002 -1.997085) + (xy 0.117425 -2.025514) + (xy 0.244578 -2.050452) + (xy 0.378616 -2.072148) + (xy 0.521696 -2.090853) + (xy 0.675974 -2.106816) + (xy 0.843609 -2.120289) + (xy 1.026757 -2.13152) + (xy 1.227576 -2.140759) + (xy 1.237836 -2.141163) + (xy 1.376098 -2.14498) + (xy 1.511131 -2.145671) + (xy 1.640907 -2.143382) + (xy 1.7634 -2.13826) + (xy 1.876582 -2.130452) + (xy 1.978427 -2.120105) + (xy 2.066907 -2.107365) + (xy 2.139996 -2.09238) + (xy 2.195666 -2.075296) + (xy 2.205869 -2.071052) + (xy 2.22804 -2.061164) + (xy 2.257334 -2.048055) + (xy 2.263507 -2.045287) + (xy 2.308408 -2.017255) + (xy 2.33765 -1.979119) + (xy 2.353273 -1.92795) + (xy 2.355188 -1.913717) + (xy 2.357303 -1.856397) + (xy 2.353402 -1.784664) + (xy 2.344048 -1.702997) + (xy 2.329805 -1.615878) + (xy 2.311237 -1.527787) + (xy 2.301874 -1.489996) + (xy 2.277344 -1.395974) + (xy 2.253924 -1.306746) + (xy 2.232437 -1.225427) + (xy 2.213709 -1.155134) + (xy 2.198567 -1.098982) + (xy 2.190726 -1.070421) + (xy 2.184068 -1.044666) + (xy 2.174715 -1.006229) + (xy 2.164321 -0.961958) + (xy 2.160521 -0.945372) + (xy 2.140872 -0.862123) + (xy 2.119966 -0.779091) + (xy 2.098594 -0.698984) + (xy 2.077548 -0.624508) + (xy 2.057621 -0.558372) + (xy 2.039604 -0.50328) + (xy 2.024289 -0.461942) + (xy 2.01247 -0.437063) + (xy 2.011226 -0.435171) + (xy 2.003999 -0.420593) + (xy 1.993126 -0.394187) + (xy 1.985924 -0.375148) + (xy 1.973468 -0.344826) + (xy 1.955458 -0.305576) + (xy 1.934164 -0.261841) + (xy 1.911856 -0.218064) + (xy 1.890804 -0.178688) + (xy 1.873276 -0.148158) + (xy 1.861543 -0.130917) + (xy 1.860733 -0.130051) + (xy 1.85294 -0.119767) + (xy 1.837422 -0.097729) + (xy 1.818435 -0.070028) + (xy 1.768567 -0.004079) + (xy 1.715963 0.051771) + (xy 1.663072 0.095578) + (xy 1.612339 0.125397) + (xy 1.566212 0.139285) + (xy 1.554027 0.140055) + (xy 1.519853 0.132491) + (xy 1.487661 0.10889) + (xy 1.456047 0.067894) + (xy 1.42868 0.018551) + (xy 1.400685 -0.044426) + (xy 1.371207 -0.122291) + (xy 1.341801 -0.210159) + (xy 1.314023 -0.303141) + (xy 1.289427 -0.396352) + (xy 1.271546 -0.475187) + (xy 1.263793 -0.512065) + (xy 1.254019 -0.557626) + (xy 1.245826 -0.595234) + (xy 1.236001 -0.640826) + (xy 1.226116 -0.688128) + (xy 1.219626 -0.720284) + (xy 1.198046 -0.810654) + (xy 1.172513 -0.882544) + (xy 1.143212 -0.935693) + (xy 1.110325 -0.969838) + (xy 1.074038 -0.984719) + (xy 1.036602 -0.98078) + (xy 1.01719 -0.972172) + (xy 0.985212 -0.955727) + (xy 0.945194 -0.934007) + (xy 0.901664 -0.909576) + (xy 0.859147 -0.884997) + (xy 0.82217 -0.862832) + (xy 0.795259 -0.845645) + (xy 0.785829 -0.838788) + (xy 0.773746 -0.829525) + (xy 0.749429 -0.81133) + (xy 0.716775 -0.787107) + (xy 0.690272 -0.767552) + (xy 0.647791 -0.73612) + (xy 0.613479 -0.710065) + (xy 0.583958 -0.686409) + (xy 0.555845 -0.662173) + (xy 0.525761 -0.63438) + (xy 0.490326 -0.600053) + (xy 0.446158 -0.556213) + (xy 0.415164 -0.52521) + (xy 0.365668 -0.475506) + (xy 0.327317 -0.436498) + (xy 0.297022 -0.404821) + (xy 0.271694 -0.377109) + (xy 0.248246 -0.349996) + (xy 0.223588 -0.320115) + (xy 0.199257 -0.289882) + (xy 0.177269 -0.261049) + (xy 0.151072 -0.224653) + (xy 0.123091 -0.184326) + (xy 0.095746 -0.143697) + (xy 0.071462 -0.106397) + (xy 0.05266 -0.076057) + (xy 0.041762 -0.056307) + (xy 0.040016 -0.051237) + (xy 0.033348 -0.03895) + (xy 0.032184 -0.038348) + (xy 0.025326 -0.028641) + (xy 0.011535 -0.004042) + (xy -0.00751 0.03228) + (xy -0.030131 0.077159) + (xy -0.043828 0.105041) + (xy -0.068018 0.154658) + (xy -0.089642 0.198879) + (xy -0.106946 0.234125) + (xy -0.118174 0.256816) + (xy -0.12103 0.262468) + (xy -0.128711 0.28257) + (xy -0.130051 0.290968) + (xy -0.134027 0.307021) + (xy -0.143712 0.331197) + (xy -0.144833 0.33362) + (xy -0.169689 0.395454) + (xy -0.194463 0.473358) + (xy -0.218306 0.563409) + (xy -0.24037 0.661683) + (xy -0.259806 0.764258) + (xy -0.275766 0.86721) + (xy -0.2874 0.966617) + (xy -0.291027 1.009537) + (xy -0.296456 1.183464) + (xy -0.287987 1.358243) + (xy -0.266187 1.530069) + (xy -0.231626 1.69514) + (xy -0.184872 1.849652) + (xy -0.153315 1.93076) + (xy -0.140188 1.960229) + (xy -0.122438 1.998135) + (xy -0.102032 2.04051) + (xy -0.080935 2.083388) + (xy -0.061113 2.122802) + (xy -0.044532 2.154786) + (xy -0.033157 2.175373) + (xy -0.029373 2.180859) + (xy -0.021424 2.193453) + (xy -0.01568 2.20837) + (xy -0.006779 2.225822) + (xy 0.000674 2.230878) + (xy 0.009599 2.238627) + (xy 0.010004 2.241805) + (xy 0.015617 2.257158) + (xy 0.027511 2.275661) + (xy 0.046716 2.301835) + (xy 0.060024 2.320982) + (xy 0.075304 2.342283) + (xy 0.085363 2.354652) + (xy 0.097671 2.369924) + (xy 0.114827 2.393181) + (xy 0.118362 2.398171) + (xy 0.151933 2.441685) + (xy 0.197339 2.494193) + (xy 0.251147 2.551757) + (xy 0.262127 2.563033) + (xy 0.309169 2.611028) + (xy 1.460099 2.611028) + (xy 2.611028 2.611028) + (xy 2.611028 0) + (xy 2.611028 -2.611028) + (xy 0 -2.611028) + (xy -2.611028 -2.611028) + (xy -3.001181 -2.611028) + (xy -3.001181 -3.001181) + (xy 0 -3.001181) + (xy 3.001182 -3.001181) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.Cu") (tstamp 28882676-0b1c-400a-8d07-5785e5adcd47)) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 48e18b8e-b951-4c7d-a398-56d50c4f2210) + (at 42.926 75.311) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/38d5db7f-1647-4350-9dac-21a5046666ce") + (attr smd) + (fp_text reference "R41" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 41c08f51-f1c4-4bbc-9e02-d6af1140eed7) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 35f97103-f04b-44f7-8319-4af93081d4bb) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8d1787ef-e6af-4a53-bdde-42fb5413d955) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 97c5c8df-4c47-4920-af1f-ada99ffa5a0f)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4b7f50a1-74a0-4cae-aee4-f3a09c4b55b7)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1b24435c-0d0d-46bf-b20f-930cb1879c35)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 18e9e9b0-813e-449f-9770-af3bb579468c)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 827b43ac-5839-4c3b-be24-f32b87d56e2f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 00f4e7fc-3836-44ad-bdef-1c1eb2149d05)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 50685d7c-ffc4-4014-80c1-caf998676513)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 05d52e7e-2c09-4032-ada7-75a98b9295b5)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b9b4752f-3dfa-45c0-9551-bebfd3f8888a)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f94855d9-3d4b-4919-b9d8-6df46fef8643)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 15 "Net-(C9-Pad2)") (pintype "passive") (tstamp 9496be13-3d63-4c1d-b2c2-61fcdbed71a6)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 206 "Net-(U3A--)") (pintype "passive") (tstamp d9469325-9a6e-48de-a728-ac91dd99f30a)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 48e6f1e9-aae9-4366-a365-08bf9c434c32) + (at 50.673 90.424 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/438f9a28-d609-44e8-8123-7660ae5d57c3") + (attr smd) + (fp_text reference "R63" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f184fbcb-3425-4ad2-9cc0-05d31cd2fe13) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 73b1e61a-e672-4811-9869-6212c45950bd) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a00dad00-542e-4227-952b-88888efceb2a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a85f0540-ecac-4084-9acc-ded19aa8c326)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b73f6bed-6211-4678-801e-2dbff84d0c7f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a52abd31-a719-43eb-8b9c-c36bfb494213)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0a35fefe-3eb8-4473-8f73-1f02bef7d083)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8d5fcd1b-0cc1-4746-83c8-a4c9c6d292ec)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cdc6cab4-5366-490f-8679-b2631ad9b208)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3479d205-6b78-4fc6-baeb-2ada3bb48c69)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dfe7c98f-cdb8-43ef-93bc-f096e6339b7f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a6fee3b7-432f-4bf3-b48f-709466f9e9b2)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b59a6b5-636a-40ed-957b-e56be3b04d2f)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 74 "Net-(D19-K)") (pintype "passive") (tstamp 31fc6669-8ef4-4b3d-91c6-25161ae23f07)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 24 "Net-(U4D-+)") (pintype "passive") (tstamp 9e41507d-bf91-4394-87f3-5e876876dec0)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 491842d1-e956-40bb-9f1c-b1b072ee40de) + (at 46.101 89.535) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/edb7b048-141e-43ed-8023-780ca3b573b1") + (attr smd) + (fp_text reference "R58" (at 0 -2.032) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ef17a65b-8b47-4aa7-9502-d674038e6f9a) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d2336413-cdfc-4ea9-b384-3f2e2e7743dc) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 2ef5354b-08e6-470f-b02b-4b53dcbc2736) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 511b6750-b6b6-44a9-bb8c-a6ac48aa4e45)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e71ea96b-c3d4-450b-8d05-6e41c639d6bc)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1a7fd570-034d-45cf-87bf-526198fd7f72)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5fc584f0-3ef9-4466-b9f6-a0de2da654ec)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 04717963-a960-4dfe-9e68-7a2b309cf593)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8cb2d9ce-2ca7-47a2-a468-c8c216e59637)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 17a141b2-6de3-44c3-b981-87c608e2ae41)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4737d3ec-6f5e-4f4b-bde2-fa53e72f650d)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b7f28138-941e-4be6-bdf0-0d4794fa9f9f)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5ce55841-d7e1-4375-abd9-b3663d19b0fa)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 140 "Net-(R49-Pad2)") (pintype "passive") (tstamp a5809924-9b58-42f3-aacd-971a63a95b44)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 75 "Net-(D19-A)") (pintype "passive") (tstamp 194bd5eb-c25f-4c57-ad2d-012e2c5ddcab)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 4a1068cf-5c3e-4cdc-9d51-c88d15a5f540) + (at 55.626 49.53 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/5a9f31a8-65f9-41e7-9874-2a3e635a565d") + (attr smd) + (fp_text reference "R83" (at 2.159 -0.381 -180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a836baa5-af7c-4cf3-b25a-b66157daeee6) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e1bfaf5b-f0fd-4664-bfe5-f6ea4f2dca1f) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 33082c59-adb2-48b2-a73f-2c66c9c3e0a5) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b83fce64-7778-460a-befa-60659729cfdd)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 148dde3c-1a6a-4298-8620-59262cdecd4f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 51b44678-3030-496b-8706-58824afc57c0)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3e097d7e-a839-48a1-aad3-d746f59b309d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 12c75220-0cff-4a33-8be2-e25314661e8f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0808e9f0-8728-4368-9446-027ccb26f6ed)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 08e2ec88-7613-47fc-bad0-d9b1fd4d10c2)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f7b670f-599c-4d06-83c6-cdfb1a62fcde)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8b3f5683-66c8-4531-871d-eff4316f94bd)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c595f67d-6032-456f-af3c-119c173df50c)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 64 "/frontend/OPA2") (pintype "passive") (tstamp 0412c13f-d043-40fa-862d-e2fb49c8c220)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp dd563008-f4c8-49cf-a109-2fecc616b3e4)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 4a182379-8cfe-4d22-bda8-46dee8604f3c) + (at 57.912 72.644 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/23bf2370-8454-4eca-8ef5-531b053e7767") + (attr smd) + (fp_text reference "R94" (at 0 -1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 5e7ac007-d071-4020-98ad-d0df0f5784e3) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 61759702-34ce-4dce-9855-5f046fd17072) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 6075b9bb-5fa1-4803-9502-062548cfe741) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c5859b63-30aa-4778-a6a8-36711d1eb98b)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 65bc2273-bf4d-420b-b89d-fb67ea3793bd)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 916ebb53-3bae-4b50-82d7-0cd0e562bc44)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 74a91573-7cb8-4f98-b7f0-62b9d08417db)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6774a5c6-3990-4e80-93b4-7b7cf66ea60e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7ee638e3-e8a4-4c35-ad51-5fa6816ec550)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 68f0bbb3-e20b-4a18-8669-fbbed39be343)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 318e7adc-5e3c-468f-993a-7729adc911b7)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a3ce47d8-f9d9-4c2f-b3f5-04e1739defaf)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1830276a-508d-4a63-9955-a17b123a3cb5)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 78 "/frontend/OPA5") (pintype "passive") (tstamp d398e7b0-46c7-45e8-936c-8d6e882e2e69)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 35 "ADC5") (pintype "passive") (tstamp e7cbec66-5135-4b93-ad70-aa187dfef7bc)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 4b4ff3ae-f55d-4f77-9ffd-9e871f61162a) + (at 42.926 62.865) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/04ee6531-cb19-4dd9-b501-e46793965e45") + (attr smd) + (fp_text reference "R4" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b6f2f03a-47f0-4f81-a30e-6f794664d8be) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp eb564a65-fdef-4a2a-b020-d782d37206eb) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ea9f82b0-82cb-41d0-95a7-81d39b93af62) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 47d08600-1426-4a81-bc16-413807c22e70)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 348d40c8-08dc-4615-96c3-5f7b4016cbaa)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f005a4c-ee16-4995-8c8a-ea7cd0883c4a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 06587ac5-6ae7-41c8-a772-eed9cf330581)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d0ec6681-c686-44b0-bcf5-070eb19395e8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 50d4be84-5bcc-4aeb-b998-53efe0271788)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 49e91259-a4be-4432-a869-a6e3d6ae34d6)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 55a84708-39ad-4425-b5ec-78f0e2d7667f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b4807544-dc0a-4f67-9850-2ad10e6d0754)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 32acb36e-107e-4d31-86e1-dd43bd99d606)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 8 "Net-(C4-Pad2)") (pintype "passive") (tstamp 423cca1a-f617-4562-8939-e60c85d16bfb)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 76a34f65-da42-4c32-9d00-ef802bfc3cb9)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 4bd64d94-7dda-4ae0-851d-a4d5146986b4) + (at 96.266 43.307 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/0a329a56-18a1-4d44-aa24-7c28c2c58a29") + (attr smd) + (fp_text reference "D40" (at 2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6d1aa1fd-ad89-47b8-b818-8689cc296ab5) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 81b78ed5-8027-43b3-9b85-363a17c6495d) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5ee037a7-e01a-4fef-a0cf-e5e2614c56ee) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 224315f4-4931-435d-8fd2-ebb7f0aa04cf)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5ee62301-0049-4549-b862-0b39e930ee82)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 46b57386-882c-4f21-b625-ec558ba761c0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e050b380-8375-4710-acf0-a328b6cd46a7)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a411c754-5bab-44f5-84a3-e96baf626fca)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 56cf3d0b-a42f-4bcc-a854-4cef0d55460b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6a18c3d7-1b27-4811-bb9d-50eabc776a9a)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 194a806b-86ca-477f-8073-42cbbbfac0b1)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b56b3a75-2600-4c63-9211-5d8ed80ef654)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d9c490d-8f56-4d3c-a882-dd06ca79589b)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 60b969bc-16a8-4c89-a4fb-373add6ac90b)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 57634703-93cf-4cbc-a7c4-ce7002a67f8c)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 4eb79bec-df95-403e-9149-b7f48cd40ebd)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 98 "Net-(D40-A)") (pinfunction "A") (pintype "passive") (tstamp 9d0af8a0-9dc9-4f34-b4b8-42808b7ac1bc)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 4d00b094-758a-40f2-8e1e-b15a89d2fb6d) + (at 83.087 81.661) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/b7b5f8ba-a839-4ce6-aba0-6b6d84772a3c") + (attr smd) + (fp_text reference "C44" (at -2.696 -0.508) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 372c78e2-dd58-4d98-8893-3d66a77f30cf) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0d1fc49e-f359-44e0-ba8d-6a8de72a8274) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 557ab0eb-0368-448a-bda3-8c67aff119a6) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 96576de0-e61c-4b0c-a2f4-c7432707ded7)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6e9bf62d-bd9d-4433-ae0c-3d92871b5479)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ad372bf6-7aa1-4e94-b3ed-ad08b3adbfe4)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5ee8f99d-4910-47ce-ae5e-2e87b86441d4)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 96c391c2-dd32-4780-b508-dcc432f6aa1f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ec97db68-f91e-4498-bf79-c90f2c70c554)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2a38100d-38e9-4ad7-8f16-89f28639bbf2)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f8947f7a-127f-404a-839e-1216c6be6e2c)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 91f6f1bd-a1d5-4299-a97a-144bd51a7c44)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8c88f15c-2411-4903-b162-6cfb1a6de942)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 6d0fcc2f-df36-49c7-9b51-c7d08214eecf)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 41 "X1") (pintype "passive") (tstamp 8db3eac6-99af-42ad-a008-db298d4b800e)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_PinSocket_2.00mm:PinSocket_1x04_P2.00mm_Vertical" (layer "F.Cu") + (tstamp 4e5aca19-3f33-43c7-b82d-24a65e1a582d) + (at 83.344 27.559 90) + (descr "Through hole straight socket strip, 1x04, 2.00mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x04 2.00mm single row") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/73e7b11d-4311-4713-a683-64b8b97199a9") + (attr through_hole) + (fp_text reference "J5" (at 0 -1.556 270) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 5aa2ae48-3554-4b6d-9999-e5476c05eacd) + ) + (fp_text value "Conn_01x04" (at 0 8.5 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9d66376f-2e84-4903-bfce-d7db03f13748) + ) + (fp_text user "${REFERENCE}" (at 0 3) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0bc17263-7e8c-4730-b3fb-3a93a84661f5) + ) + (fp_line (start -1.06 1) (end -1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 26aa9811-8217-4338-a6cd-12c9269e2c6b)) + (fp_line (start -1.06 1) (end 1.06 1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b3d57b2e-881c-4aca-90c3-c2b8adbef75c)) + (fp_line (start -1.06 7.06) (end 1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp be946340-3e47-4587-954d-449eb209f953)) + (fp_line (start 0 -1.06) (end 1.06 -1.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 29d6d336-9c43-43cd-87ee-76b7cafe173f)) + (fp_line (start 1.06 -1.06) (end 1.06 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 75693f5b-aeec-4d9b-bdb8-e9f2b6b91e20)) + (fp_line (start 1.06 1) (end 1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4772620c-11d8-4d86-9e0a-bf00c77e4da0)) + (fp_line (start -1.5 -1.5) (end 1.5 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b8db37b4-f9ef-4957-9808-21702a21d917)) + (fp_line (start -1.5 7.5) (end -1.5 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3f8568a9-5346-45a0-953e-e7d7a3c82c5d)) + (fp_line (start 1.5 -1.5) (end 1.5 7.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e861409a-f8b8-4c3a-86e7-c269cc330329)) + (fp_line (start 1.5 7.5) (end -1.5 7.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ade7a8d-7e67-456e-8ec0-ab5dd1044b99)) + (fp_line (start -1 -1) (end 0.5 -1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ae27610-b13e-4420-85ea-a64fb8ef445c)) + (fp_line (start -1 7) (end -1 -1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 99e05141-66b6-4cf1-b294-23af3994993a)) + (fp_line (start 0.5 -1) (end 1 -0.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dda9a287-b320-40cf-8dc3-6b9a9f4085eb)) + (fp_line (start 1 -0.5) (end 1 7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5716aceb-40d8-4e84-9d09-4365e543d6f4)) + (fp_line (start 1 7) (end -1 7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 615806cd-f704-4be0-9606-15171b43e37f)) + (pad "1" thru_hole rect (at 0 0 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 37 "STM_VCC") (pinfunction "Pin_1") (pintype "passive") (tstamp 945e748f-d5c4-4fd4-b809-52fb91de6c08)) + (pad "2" thru_hole oval (at 0 2 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 105 "/smapling/TXD") (pinfunction "Pin_2") (pintype "passive") (tstamp 88262d25-e4e7-4f93-8bc0-d4049c6ba834)) + (pad "3" thru_hole oval (at 0 4 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_3") (pintype "passive") (tstamp 01a9c5e3-771e-408c-b136-384a172b6579)) + (pad "4" thru_hole oval (at 0 6 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 106 "/smapling/RXD") (pinfunction "Pin_4") (pintype "passive") (tstamp 22f32b39-c39c-407a-bc4d-a228ca248c5a)) + (model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.00mm.3dshapes/PinSocket_1x04_P2.00mm_Vertical.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 4f8c9606-875a-4114-a8dc-d74ce2a98bbc) + (at 42.926 73.406) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/3d3fdd83-f960-4c58-9eaa-95d26f784e96") + (attr smd) + (fp_text reference "R45" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 74930864-f657-42f1-ab83-83a530d56f39) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8f2dd9ba-7f31-4581-97cf-98ff6d5a405c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp c158f5d5-63a5-4e0f-80a5-62db41298b0a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5fc612b2-613f-47fc-a1b2-7c7bc26300d1)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3b01f233-03d6-4e3e-84b2-2c952a6c64b0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6de12b42-7496-43f0-aba0-9b07b92e827f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 538000a9-01b5-463d-affa-a5fa411521ba)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bb90cf61-b586-41c0-82c6-71ac910be0ce)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f31ec4c-4969-437e-9fa5-fa60d65a31c2)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp aca9e2df-bac3-4d78-a3c2-831da8eedbde)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4ff8ee79-d056-4e8e-8c2d-63a308969448)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 393c8757-36c5-49d8-a079-8d730281a27e)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e62ca3e7-6d33-4183-9e36-b3566e4825f8)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 206 "Net-(U3A--)") (pintype "passive") (tstamp 24b2d656-d18c-413c-b06b-b61c7d5365ab)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 138 "Net-(R45-Pad2)") (pintype "passive") (tstamp b25f9779-d670-4118-bf5d-dc814be2e090)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 50b8dd15-5924-4ea3-9f23-85b9d776753d) + (at 57.912 64.135 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/f2c9614a-a4ca-4cf3-8683-595093b3f544") + (attr smd) + (fp_text reference "C25" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7c1c513c-055e-4fe3-8e1b-13e628408053) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0fb5355e-4428-4cdc-9c29-8d6612280497) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp eeacae1f-4d2f-4d34-aca7-c52255574344) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52649fcc-de87-4258-8a09-9000be105f5a)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp edb63977-d9c4-43ab-9d10-ae4b0e1e60f3)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2bf1168b-4f59-4c64-812e-0d00228c7f23)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ae1a0688-69e8-406f-8ab8-6c1c98eb41a6)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46f05baa-7dcb-4463-bd3b-9c8f29978de8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 224217d9-96d5-4524-9501-55d7fd5e8745)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bc81a38d-b2a1-4aec-b8d0-e00e2e6fcb3f)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f7fa34a-664c-4a53-a7fb-c657332c6467)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e2d59cc0-ea42-478d-b9d6-bcbd16c5e9c8)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9cdee993-a3f6-43f5-832e-3a2758575467)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 28 "ADC4") (pintype "passive") (tstamp 26c5ba8e-8164-4c8b-a071-3815a7aa4fb3)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 0d1c5752-06d8-4b03-af38-93a388e72c24)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 517323f3-2ae1-45b8-8e4f-5ebe38231d26) + (at 73.914 36.703 180) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Positive 60-250mA Low Dropout Regulator, Fixed Output, SOT-23") + (property "ki_keywords" "Torex LDO Voltage Regulator Fixed Positive") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/b827850b-03a2-4973-b056-03eb6444b952") + (attr smd) + (fp_text reference "U6" (at 2.794 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a0e4bad0-2313-403a-9129-7d1a87cbb19b) + ) + (fp_text value "XC6206P332MR" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9f5af23d-15d8-4166-91e8-a9c7c4ec91b2) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 7bf5201c-88a1-44e8-a130-0696d87234c0) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b9e86baa-20a0-4639-a83f-01cd5fd655aa)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2d3ee148-a2c8-4005-9bcb-21ebd29d2cbe)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a91c853b-68ca-44c2-82ab-93a6c58bede2)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 051ce979-649b-4eff-a29a-768dba32876a)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f5567b95-08a9-482c-9e9d-26bc04bd90a5)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fbacb049-5a92-468a-a52d-f4542fafc33b)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fdc3fe94-5e4d-4ff2-8cff-babc01095b40)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 23e27f97-fcfd-4706-8350-e9c2d0ff26a8)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ad523baa-66e7-4187-b2c0-eaecd645d635)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9ad4ee20-8a2d-4699-917d-ac00056f06e1)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1e66dbca-18dd-4e44-a331-2f62277837bf)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3e8249c0-0483-407b-b264-a722dbd04f3d)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b9e85f6d-6b56-49f7-9735-1f59f9b1940c)) + (pad "1" smd roundrect (at -0.9375 -0.95 180) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "power_in") (tstamp 71783716-2840-4dc5-b893-37e2c4f4e19e)) + (pad "2" smd roundrect (at -0.9375 0.95 180) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "VO") (pintype "power_out") (tstamp 10be194d-3eab-4f3a-b649-49bc75065fcd)) + (pad "3" smd roundrect (at 0.9375 0 180) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 36 "Net-(D25-K)") (pinfunction "VI") (pintype "power_in") (tstamp 9ac7893d-4c20-47cc-a721-099139f39cf6)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 57142394-6059-468a-baa3-fac5d0f24d78) + (at 42.926 43.307) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d785c2a3-e58a-4077-9cf0-74f52e26c7bf") + (attr smd) + (fp_text reference "C17" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp fb25ba1a-03a5-44f9-bebc-647ea88bf236) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6f7550f3-0fb7-4c2d-adb1-79ee62444b8b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 87454509-3743-41ee-af89-5984ed54a572) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 66ff6b9a-aabb-46ed-ab56-bc9f0fadb5c6)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0666049c-e683-4785-8da1-12d33d8bf0d9)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 47f3a222-e9f9-4577-a598-6e5e558c3919)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7209a27b-c021-46ae-860c-131d5a33a0f6)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f6938b8-d808-4ed2-ab1e-0e79bebc3fa3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4ca03fb5-0fd6-4dd1-b379-f279eb39cf1a)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 75969639-09e4-4078-bbbf-ce18f24f0d90)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e12a66d7-25ee-4293-a26c-6ba54ffcddfc)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d5ab9828-27ab-4086-8835-aec553fecd7a)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3d671d93-043d-467d-b560-42c9e596a282)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp deba3da9-d15b-4de1-94ca-c25668b9736c)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp c6ccb04a-3886-45c0-b8d2-ffcb10889627)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical" (layer "F.Cu") + (tstamp 57cb21e3-0840-44b5-9b72-b0b5bb82f8a3) + (at 32.7525 105.81 180) + (descr "Through hole IDC box header, 2x04, 2.54mm pitch, DIN 41651 / IEC 60603-13, double rows, https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0") + (tags "Through hole vertical IDC box header THT 2x04 2.54mm double row") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x04, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/0ab516d4-7d5e-4bc9-b2e9-25c2b01f1644") + (attr through_hole) + (fp_text reference "J3" (at 5.3205 -6.1) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6030a6a2-9014-4adc-8784-b838cb32b09c) + ) + (fp_text value "Conn_02x04_Odd_Even" (at 1.27 13.72) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 68e9f1cb-2a6a-4403-b65f-329f290c966b) + ) + (fp_text user "${REFERENCE}" (at 1.27 3.81 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ebb3ae39-ba9d-4748-9b5e-e005fe9ab0b2) + ) + (fp_line (start -4.68 -0.5) (end -4.68 0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp aa920630-70fb-41ce-9e5c-5289dd052193)) + (fp_line (start -4.68 0.5) (end -3.68 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4b4b3f0e-01f1-42a5-9151-b7a569165d03)) + (fp_line (start -3.68 0) (end -4.68 -0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f326fbd3-3b63-4ccd-9c2f-4449e377c211)) + (fp_line (start -3.29 -5.21) (end 5.83 -5.21) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a9bbfe29-1ecd-4009-8ae5-fc304bf4824d)) + (fp_line (start -3.29 1.76) (end -1.98 1.76) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7c09951-4ce5-4645-bd97-43eb48fd1756)) + (fp_line (start -3.29 12.83) (end -3.29 -5.21) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8de279fb-c223-43ef-b21d-084e15366d94)) + (fp_line (start -1.98 -3.91) (end 4.52 -3.91) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e0b7de26-1109-4945-96e0-2ff1be949f4e)) + (fp_line (start -1.98 1.76) (end -1.98 -3.91) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp daca4168-2a3a-4f03-928d-32af4c934d92)) + (fp_line (start -1.98 5.86) (end -3.29 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55b686d6-9aa5-4f9d-9c29-083ad4f6c042)) + (fp_line (start -1.98 5.86) (end -1.98 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9748beeb-3c9c-4c88-840a-e0d5d9654c7f)) + (fp_line (start -1.98 11.53) (end -1.98 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 57f57f1e-967a-4121-bea7-33d48f95f307)) + (fp_line (start 4.52 -3.91) (end 4.52 11.53) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 26424b83-ff97-42f9-871e-b32bc0b81480)) + (fp_line (start 4.52 11.53) (end -1.98 11.53) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 922289fc-1eb5-4f15-87ad-92dbbb052ce4)) + (fp_line (start 5.83 -5.21) (end 5.83 12.83) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2390361a-0089-4760-b651-247ae48f6284)) + (fp_line (start 5.83 12.83) (end -3.29 12.83) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a13ea742-7520-4152-8c9b-fe6ce46a6ad8)) + (fp_line (start -3.68 -5.6) (end -3.68 13.22) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1afac72c-4a1c-48e2-948f-c700fbbcd133)) + (fp_line (start -3.68 13.22) (end 6.22 13.22) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 21908fa3-f0a9-41ae-adf3-9624a64b36b8)) + (fp_line (start 6.22 -5.6) (end -3.68 -5.6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 60dd81e6-ad43-40f4-93e5-097f3386f99f)) + (fp_line (start 6.22 13.22) (end 6.22 -5.6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c3ac9072-8725-4087-8b60-4cacc6d58042)) + (fp_line (start -3.18 -4.1) (end -2.18 -5.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 15896900-fb4f-49fa-9152-7935cea62a4c)) + (fp_line (start -3.18 1.76) (end -1.98 1.76) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 203ae62d-becf-4e26-9e1c-73a133760641)) + (fp_line (start -3.18 12.72) (end -3.18 -4.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8ec5f4a0-6e95-45ba-8b2e-fe9f1e7c6b44)) + (fp_line (start -2.18 -5.1) (end 5.72 -5.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e85da31e-c96c-4703-be3b-7dd5e9acc920)) + (fp_line (start -1.98 -3.91) (end 4.52 -3.91) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9bfef88e-4ec0-4a89-933e-48a5c0cf0c0c)) + (fp_line (start -1.98 1.76) (end -1.98 -3.91) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 489f437b-48b8-4c5b-882d-503aa306fd84)) + (fp_line (start -1.98 5.86) (end -3.18 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 512741e8-6898-428b-a077-23648c0cdf67)) + (fp_line (start -1.98 5.86) (end -1.98 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1e91cd36-3e95-4901-a25b-3a2d65eef0a2)) + (fp_line (start -1.98 11.53) (end -1.98 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f1e83278-0fe5-46a6-972b-c2436a8789ce)) + (fp_line (start 4.52 -3.91) (end 4.52 11.53) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7d19b56f-eafc-48f9-b823-a65ebe92cb2e)) + (fp_line (start 4.52 11.53) (end -1.98 11.53) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9682725f-0dc2-4d8e-b0d1-d578c62c63c8)) + (fp_line (start 5.72 -5.1) (end 5.72 12.72) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f1803c94-0e6a-41dc-86c0-6ec5c82596dc)) + (fp_line (start 5.72 12.72) (end -3.18 12.72) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 70c3ee59-03f5-4344-9e02-6e4e877bceef)) + (pad "1" thru_hole roundrect (at 0 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (roundrect_rratio 0.1470588235) + (net 20 "/frontend/IN8") (pinfunction "Pin_1") (pintype "passive") (tstamp bb944697-6a33-4092-aade-954ccce4a8fc)) + (pad "2" thru_hole circle (at 2.54 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_2") (pintype "passive") (tstamp c2eea106-042f-46b5-8c94-15a24f236c6b)) + (pad "3" thru_hole circle (at 0 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 18 "/frontend/IN7") (pinfunction "Pin_3") (pintype "passive") (tstamp 4880937c-cd50-49ee-b75f-23d40f07f816)) + (pad "4" thru_hole circle (at 2.54 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_4") (pintype "passive") (tstamp b008a288-e300-4b64-8007-f0d425f3b16e)) + (pad "5" thru_hole circle (at 0 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 16 "/frontend/IN6") (pinfunction "Pin_5") (pintype "passive") (tstamp 7bb2fa2b-635e-4e80-8359-ca74155049cb)) + (pad "6" thru_hole circle (at 2.54 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_6") (pintype "passive") (tstamp c726b022-e788-4a85-b9e3-86d7e7188a19)) + (pad "7" thru_hole circle (at 0 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 14 "/frontend/IN5") (pinfunction "Pin_7") (pintype "passive") (tstamp 08e91ca4-da11-49cf-be1f-d54ff953a2a7)) + (pad "8" thru_hole circle (at 2.54 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_8") (pintype "passive") (tstamp 262f2da2-ede7-4683-b0f1-e6628cc59514)) + (model "${KICAD6_3DMODEL_DIR}/Connector_IDC.3dshapes/IDC-Header_2x04_P2.54mm_Vertical.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:JP_0603" (layer "F.Cu") + (tstamp 57d2ef36-4eff-41f8-9942-616828a6780a) + (at 59.69 28.829 -90) + (descr "0603 短接") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "exclude_from_bom" "") + (property "ki_description" "Jumper, 2-pole, open") + (property "ki_keywords" "Jumper SPST") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/0d200db7-4a93-4e9a-b2d7-9d88abdc2495") + (attr smd exclude_from_bom) + (fp_text reference "JP3" (at -6.096 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f040cc89-5126-48de-828b-ce8c412af84a) + ) + (fp_text value "Jumper_2_Open" (at 0 1.524 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0179b0f6-f911-4f14-8e7f-9e6e3cde9b9b) + ) + (fp_line (start -1.397 -0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b2eaa946-00ba-4b4d-acac-c13d3de6292b)) + (fp_line (start -1.397 0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5529484c-30ad-469c-b0b1-d661d124e7d7)) + (fp_line (start 1.397 -0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0715a89d-8f23-4c6b-9217-68b53cf45999)) + (fp_line (start 1.397 0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d2ae404c-09b0-452d-b47c-08ed712875bd)) + (fp_poly + (pts + (xy 1.1 0.44) + (xy -1.12 0.44) + (xy -1.12 -0.43) + (xy 1.1 -0.43) + ) + + (stroke (width 0.1) (type solid)) (fill solid) (layer "F.Mask") (tstamp 8b8f71fd-674c-4df7-a9f7-c66c5397a300)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4299c482-cf4e-4dc8-81ca-76fbd7d9e43f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c1f74a0c-946a-4d85-9328-8d6e5dd8d745)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 03927110-65ba-4d55-90c9-0e136e40a0d0)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b7a2b0ee-cd49-4853-a6ac-c35ea27f3034)) + (pad "1" smd custom (at -0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 9 "GND") (pinfunction "A") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.5 -0.5) + (xy 0.3 -0.5) + (xy 0.8 0) + (xy 0.3 0.5) + (xy -0.5 0.5) + ) + (width 0) (fill yes)) + ) (tstamp 4fe0cd7f-de1b-43bc-8f86-31d143c4681c)) + (pad "2" smd custom (at 0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 120 "SET3") (pinfunction "B") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.8 -0.5) + (xy 0.5 -0.5) + (xy 0.5 0.5) + (xy -0.8 0.5) + (xy -0.3 0) + ) + (width 0) (fill yes)) + ) (tstamp 92184370-6ad7-4aa0-b7c9-8f3d8d9bdf2e)) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5855da03-9f0a-4651-a3fe-7f61bd798b68) + (at 53.975 54.864 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/97ee199b-8394-43ed-9ed4-36a2b4a16989") + (attr smd) + (fp_text reference "R31" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d058099e-20f1-4c47-9c21-5a0cd54bf784) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 319d5b5b-2877-4573-b6d2-ed40503613f2) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp cd6e921b-550f-4169-a42e-d4c00dcf4d18) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f8f279d9-8dc3-4a99-b6a1-7927bde92559)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 461aeed4-2ef5-4b31-945f-7a430eb6e975)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7042dc0b-5d20-45a5-855d-48cac3e5b9b7)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9fce0a49-0a75-45dd-b32c-d7167ada4d91)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 757d9fc5-726e-450c-9634-1ac2ac5cec5e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4712c087-e86b-4883-aca3-279de376a77f)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ad73e798-03b5-4a46-850b-0be1b4f9805b)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 08116f82-408a-49c8-92bb-63e555e589c4)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0e495d91-f7f6-4578-b95a-792e6233a114)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb050ac1-5648-480b-b89d-c816d61923ee)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 19f86101-0c41-43cc-99b8-0f0b0b420066)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 12 "Net-(U2D-+)") (pintype "passive") (tstamp e0d301d9-c8aa-46ee-a5b8-30b5a999c670)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 58959f99-5d29-467f-9f0b-19173a320193) + (at 42.926 55.626) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/47c3c4a2-69e3-482b-928c-8525919c9f57") + (attr smd) + (fp_text reference "R13" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 18d4df86-1d46-4919-8042-71d294f447a7) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp bb2dd931-82dd-4824-9821-a556d7119404) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 411c0c87-cca0-4358-9035-6485b4204d4a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bee020a2-09e9-487c-88e1-07d7174f5e98)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ca3ea897-1bbe-4f68-8fcd-d87cae4a5692)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 39b3b6d2-95c7-4a14-a572-bbea356ec842)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9f805132-d383-4802-a731-104791db7cf2)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f09bb684-160a-4fb3-9b7b-84022ad793a8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dd48e38c-55c9-4edb-9b66-da66d05205f0)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ce83dade-acb0-40d4-a35a-cbde8a1379f2)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6dc669dd-3b2c-4b44-a727-25323e020e26)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90b5d2f3-f87c-4424-be2f-d6b213c8c7d2)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8e9f0322-ec08-4967-aa02-8b4b096ef47b)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 200 "Net-(U2A--)") (pintype "passive") (tstamp 0f23de26-ee16-4707-af94-8732cd4abe11)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 128 "Net-(R13-Pad2)") (pintype "passive") (tstamp df328c6b-6fc1-4d0e-b1fb-5554f450d51c)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 58f14e8e-1b88-4e93-9520-50768339af75) + (at 52.324 109.855 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1c84789c-a841-401b-8b81-c97b746485f8") + (attr smd) + (fp_text reference "C59" (at 0 3.175 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6fad2244-bb5f-4ed7-b527-982012f7adae) + ) + (fp_text value "100nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 750854ef-7909-42e5-9a72-c11f9643b028) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 221e20d1-5f26-472f-930a-bc583ddc234e) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d93060df-deb4-44b4-b162-94535bed5b70)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 97c9dd55-c20d-42c2-950f-7cc5ba0fd932)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d238e52f-5bd3-4617-9cd0-d8808a53c533)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 05d2ddb0-527b-4ad2-b173-22024d91911d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7003a866-f89c-4739-96b5-2f943de3a0d4)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 97d88c26-ecfe-46fb-a6a6-2d28a78e3525)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7b4c697b-4cbe-4e27-8bd0-dabfcd08b1b9)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9dbae375-2177-4d80-b086-044553e730df)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 076627c6-0265-4d8b-b05e-95c2fd801e40)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 25913f62-f629-4a97-a229-5bb6367b2990)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 6d89e101-2ab9-4fae-b92d-65390e32e839)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 02827c58-9692-4bce-8100-a8b15f485342)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 5abba4ce-da3f-47b4-8afe-327bce84bba6) + (at 38.989 44.196) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e6ce5c3c-ebd3-40dd-8511-ff83ed474c94") + (attr smd) + (fp_text reference "C2" (at -2.032 0.381 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp df083f9c-71a3-4a5b-a6b4-b513f2f04c0a) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d3cbe2c3-0e61-49f8-8a1b-54140a9b2a4c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a5074dd4-ffdb-4c39-8cf8-1555a5494d3f) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp da57f318-6799-4fc5-81ad-70cd68889b19)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a0e2737d-3809-4832-b38b-32a0397a7400)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 540806cf-46e9-40b6-8590-14dd8114c5a5)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3b010c06-61b9-44ce-87e9-8714f3a8b82f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a5035fcb-01a1-494b-9bdc-e918e239c3e3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f269599-56bd-4cd8-8538-186c9a9a4ca4)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d6826475-86d2-4b05-b16a-375de56448a1)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1eb4a378-3ed1-4193-b66b-14b9cea13a93)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e00960b9-5666-4f85-aa3e-f01b45241622)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4c3204b4-ec8f-4ae4-9f6a-9844bc5b7e44)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 3 "/frontend/IN2") (pintype "passive") (tstamp eaf911ef-068b-4862-bec8-32862d2a3912)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 4 "Net-(C2-Pad2)") (pintype "passive") (tstamp 68481e16-bad4-487f-b1b1-f575aba71884)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 5b07f56f-c1fe-4533-ba9d-76a4835bc146) + (at 38.989 57.531) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/adefc650-2116-49ec-8c57-bfa26b86fd9b") + (attr smd) + (fp_text reference "D3" (at 0 -2.159) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp bd901192-8dd6-46ff-bc39-6c79c51fbe77) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 853f84b3-b462-41b9-a317-d780a0d7fe06) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 28e64ac4-17b4-4e01-a309-b9c3c2ec71fb) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 09483763-e60f-4286-9e8f-f8336b8bfc64)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0dca3fa3-ccc6-47e8-88fc-54733e748da3)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 58ed0a19-c126-43b5-8b1a-de142ff2bac9)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ddd6577e-2a94-4429-992a-c004ff2153e1)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 22c77f51-9c28-4328-8c0b-768ae96301f0)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 26dd04ca-1fee-4ce8-9a38-4a6b7ad3ebd0)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bee092ac-688e-41aa-a0dd-948d3c231802)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1cffa6dc-a122-4419-95b8-a41cac9598e6)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 54b6610a-43b5-468f-9e0f-a3f1c7270939)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3540f1cf-d1ca-44df-a49a-070a1db2ef3f)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45bd82cb-6732-4a8f-90a8-57f56de64deb)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ceb199c1-e619-4d2c-bcdb-99948e1f8a59)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 369baff9-8a70-40cb-b365-f629f328a825)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 8bd18df6-02d7-40a9-b1eb-516a17c4b7eb)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 922765a7-dce6-4496-b22b-0b8813c5175e)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 6 "Net-(C3-Pad2)") (pintype "passive") (tstamp 4ce6502b-9ffe-4b98-a26e-f6bbf3067421)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5bde34ab-a8b6-471f-a784-c37943cb09cd) + (at 46.101 36.195) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b697df26-4eeb-48c6-b1f1-a65ab834e1a4") + (attr smd) + (fp_text reference "R18" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d217eced-6950-4b04-92a1-c9b657d9a1d5) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3d10194b-0859-43f4-a30f-1ac430cdbbbb) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a8b4ee76-1467-4f0c-b268-61390fe77e77) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4cdffc9b-6acf-4126-8bc6-3db4fb924265)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp abea607e-d0c8-4a69-98fc-aeffe7ad0964)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 69b370fa-f555-49f2-8dea-2fd1ac11bf74)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 30be60ee-d279-475b-a128-25829a11f222)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 37cb9fc2-336d-4352-935f-143fe04a09b9)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5a73fbb8-b131-4c0e-9dad-4cae61e98f07)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0c309dcb-deb8-424f-a509-8d7378922d0f)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7e95f28e-6782-47f2-a45d-2a7b1ae2cccf)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 65e39e0d-2d07-4db9-a09e-fb2ca15ba4de)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e2a35801-d6fe-41d3-8d44-1d9701e465d8)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 126 "Net-(R10-Pad2)") (pintype "passive") (tstamp b7fb35c4-e73b-4e4e-bb4a-80dc0868cd39)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 55 "Net-(D5-A)") (pintype "passive") (tstamp 66da2e68-8c3d-44cd-a5b6-c7aa0646ff2d)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5c6fa39a-1139-4a41-b4ea-7adcb2feaeb5) + (at 42.926 71.755) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/5c105460-0c50-4d90-a7fb-7fbae8c748e6") + (attr smd) + (fp_text reference "R46" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 12c8edf9-984a-4bb9-894d-7b1fabe85b5e) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 74ae84a5-a771-4c83-8f1f-0f48625c3911) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8d37e22b-eed6-4c31-b023-0c7fe389e514) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 921a0c26-7942-4090-af24-9c33e45d039d)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d6f1ec0b-e693-44d4-b30e-bae919ecc97f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b05715f9-2e72-443a-98be-38e9b934ca60)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 22d0a040-47df-4e29-bdb6-6ae3dbb8a137)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dfd475c7-06c7-440c-a24d-21ab208ea101)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0bceb50-edd2-4b59-a30a-91676a5ed4d8)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bd3817d2-7ace-41ac-a1d0-e060f7eeee7e)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 526d0e05-1fe7-40fe-8b94-7ade7087521f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e37034cd-66d2-47eb-bc52-1c69a18e292b)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 77b9fd2b-e32b-4446-9185-e5844047d31a)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 206 "Net-(U3A--)") (pintype "passive") (tstamp 80baa7ca-df0c-4df6-9c95-8073189aaea1)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 138 "Net-(R45-Pad2)") (pintype "passive") (tstamp 33c26afc-3a22-43a7-9cfb-cc03cb3db0e7)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 5dbe43d8-70ce-4e53-bd4d-010ed298be13) + (at 52.324 54.864 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/90c984b7-11e6-4035-9b45-b3b811e9c10c") + (attr smd) + (fp_text reference "C7" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 863c53de-7fc7-41d0-a9f1-bb03f3230e09) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 12d2e914-939a-4cc8-8f69-9fe6021de70a) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 034d2a68-33aa-47ed-8e59-1f19e1e8e566) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2ab94d62-11ec-4c8a-819e-e5447f7b88ee)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8202d47c-532f-4c23-ad33-3f46c2d8b0eb)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e8611863-f7db-4154-b4d0-774943e25974)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 09f7a359-5bca-4fec-88e3-5f600dbd5e39)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 60ec88f8-8f75-400e-a30f-c836f41a37b4)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 392a73fb-8260-46bd-ab1d-700e2388ca8b)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 71c49f46-d491-4172-8aa6-31961c47ca08)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1b13145f-2dcd-4e6d-8267-468a82cc6791)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6e58e19a-9173-4355-9efd-ac8c6088f656)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp caf64ba8-4c67-4718-a6bf-ddd296371b2e)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 42801cf1-134d-48fd-bd5d-a8d50629356b)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 12 "Net-(U2D-+)") (pintype "passive") (tstamp d75ecd85-62bf-4c7e-8d47-f0b6bf96b7a4)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5eff105b-2615-4aef-acc3-6e249b17a591) + (at 64.008 84.709 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/8f2c7c3b-611d-46eb-8588-af0477ac7a54") + (attr smd) + (fp_text reference "R76" (at 2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f6a8ab4c-2c25-46c0-96b9-02f772e1bb1b) + ) + (fp_text value "0R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 01119067-6a64-43b5-ba77-ceaad3b6189a) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp df651ade-77b8-404d-aabf-2bb82127c253) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52deb967-ac5d-48d8-bdcc-230c520ea927)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9406d99b-db83-41e2-b02b-4f3588454d7d)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5cbb9bf7-fbc2-44c5-9eae-0760470a0613)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c6f66aeb-5fbe-4fdd-893f-efcd1a3c6073)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 91ed3949-b6f5-4cf5-90c9-6e72d5b606ae)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6ee8363b-652d-4953-8024-f0d23722dd59)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7ff9c782-1a66-4e14-b000-46fbf85aaf27)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f3ae13ac-0df1-4f99-9e9c-8416e92ec6f1)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 35c6e345-ec3d-4357-b4db-2613aaa05fdc)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 95dbfe1a-193f-4517-933c-b6e454d1e1c8)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 216 "Net-(U7-P3.1{slash}TXD)") (pintype "passive") (tstamp ffbe7ff8-810b-4e48-be83-5d0d6b79ed06)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 149 "/interface/LED8") (pintype "passive") (tstamp 72d5b902-8d94-4e37-acbe-1f3ab9438bc3)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5f0099c0-1176-469c-8884-059a02a11e41) + (at 55.626 72.644 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/80a799b2-8bea-48c2-bdaa-c79a2a8b90a9") + (attr smd) + (fp_text reference "R86" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ca8d56a9-01ef-4d3c-98e2-e7b74e1dd6c8) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a183feeb-a760-44d2-b346-554be99329d7) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b894c057-6e12-4cc6-8c74-e04aeb992060) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6a9c9287-2d5f-40ab-9feb-d7866e28df9c)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8eb6d986-ed4d-45e2-8103-e01c06751605)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ac0b70f6-fce2-4644-ae7c-9548453fa61b)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5561db97-f83e-474c-9887-b219bf896be9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a762cdfa-3f58-4a0e-94bc-00b486776dc3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c61a50b8-f5f3-4d10-a83e-9f3394e3ca5d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5d15f092-f635-4c38-ae0e-ed7ea851df77)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8fd822c2-0f74-48a8-bb94-0266359e2847)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5abce946-8653-4b4c-ba9e-157fa0ad4184)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4195f965-f693-4f46-bea3-8338a5ad9016)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 78 "/frontend/OPA5") (pintype "passive") (tstamp eea22cbd-2c5c-4352-b8a7-ec798ea623e7)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 82c0d243-6e57-4208-aceb-fdeb192f197f)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 5f4574c5-93aa-4181-ba92-c466ec6173f0) + (at 55.626 85.09 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/8908d9ea-e2b6-4fe8-b333-cfa214d90013") + (attr smd) + (fp_text reference "R87" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3e1f1998-5dfb-42da-b722-566a40dd8110) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e05b3370-2db4-4869-846a-de3da0f47607) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 594a0056-e72c-4cc4-bbfe-c5783506c963) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp de3f1d24-e518-4eb2-b79d-0a7933deda57)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55defc22-66e6-45c6-95c6-777887d90014)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bcdc372a-ffaa-4b94-a9ff-9515943ac1b5)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp da495d04-6195-487f-95b3-7fdd7323bcf9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7dad19b8-59dd-4186-acad-276e2eb42ca8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ebd2efd4-bc70-4348-9944-c0c64c3b0bdf)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5f586726-46b1-4b7d-a91b-8e65a889e3b3)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b302c49a-68ef-436f-b551-cf39aca83156)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5e8048af-b8d1-4750-b9cd-72e595749995)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d20cfe8f-7594-4546-9349-7afcc3ebea1b)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 80 "/frontend/OPA6") (pintype "passive") (tstamp c86a7dea-6f34-4839-9978-b10f05573943)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 89753107-da6e-44b6-9d40-841728fc2e8b)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 600a1e49-62ad-4dbf-9ada-22bdc28fe58f) + (at 72.263 80.137 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/b8088afa-56f7-4d53-84ca-c379c2d7c583") + (attr smd) + (fp_text reference "R75" (at 2.413 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3b607af9-d088-40ea-b08f-cf85a5fad008) + ) + (fp_text value "10K" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 16da5a48-d90b-4be7-8582-44f6a6e97056) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 7c26b637-0534-4d49-b2f2-4c9cb4920230) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4c9e8613-5ddc-4d21-8404-d55d8ab4de5b)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 66de7b0e-d128-44af-a86f-2fb230330954)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3c94080-42aa-4f0f-9d8b-bb980345b5bc)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eb7a3119-123a-4854-8cec-84b37cab6eab)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2a4fa8f3-2251-4aa6-a435-5312d8b4ba68)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 464d447b-b857-40a9-99b3-a9e656a51bb2)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37b4f250-887e-46f0-b36f-b8a80d1a6eaa)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 05a862f1-6807-4602-8eab-81e96c807e30)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dad368fb-757e-4e84-a9e5-24b0fe8e1161)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f7835d9b-4b52-4847-b1d0-b9a3734bd4ad)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 215 "Net-(U8-~{CE})") (pintype "passive") (tstamp 095be389-fff0-4af6-8384-e35164689ee1)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 5c35c5fa-3f27-4bc3-b15f-6d3601551c9f)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 602882c3-ba87-4127-b271-097d26f2e257) + (at 46.101 66.548) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/7ed236bb-bae9-4f53-97c0-5f027fdc7516") + (attr smd) + (fp_text reference "R23" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7046a22b-0a6d-4132-9a88-bbb26efcecce) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 652b5390-bef7-43f7-9926-502deb4ee112) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b862d75e-8d9f-49b3-88ff-488372b4d9b8) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bff91362-7716-48fb-b9ef-176ae1f90142)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 04d60f5f-f797-439c-b7a1-492362f9cee5)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 59081afe-9481-47f6-9b23-827559e21289)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 25751542-d052-4a9b-8913-07be69387c10)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 698b370f-3da4-4f4d-ae42-ef5076942bc8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cb8498a8-1b60-4314-9bd8-4aa79ac088c8)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6cbe98db-7116-4328-bfcc-7b4d87c71f44)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5c6d9078-f86c-4abf-9aae-01d246f38741)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f777f7f8-7b69-4012-8803-f2883b913079)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b9d22ba3-8265-4a4f-bf79-28b87ba2bf07)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 129 "Net-(R15-Pad2)") (pintype "passive") (tstamp ff0192ed-c6a5-4546-8948-dde115dbb3a7)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 61 "Net-(D8-A)") (pintype "passive") (tstamp 31f589eb-9b15-48ea-8a81-d850ed9dd597)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 607c9846-28ee-4ced-82b6-06f29e0504fd) + (at 54.991 57.531 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f47df97c-01b2-49ad-b5fb-23e3e4f3197d") + (attr smd) + (fp_text reference "D11" (at 0 -1.651 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a55b088a-7ad9-481d-8342-08e9d383b703) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5e4449b6-4027-44ad-9de0-6eef4a84c4ea) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 48e4bc29-3c49-4f12-ae9a-4eac1d20d464)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 57aecd28-1a4d-4f86-b11b-77134eba8494)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ad9706ca-ecfa-41f3-bf72-f41ada32ec40)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6ad3f9eb-666c-41b0-b171-e45376ee3fc5)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp da4382ab-d439-49f3-8293-0eb204e486c5)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e3d0ea05-9558-44a6-8567-43bc561c19bb)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e2219523-8f7f-4b68-b78a-092225a0a79e)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 85b44f0c-1eb2-496e-8c5f-277ff32c0ff2)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a09f4e38-a201-486c-96d0-7586d44e99de)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aebe6036-931a-4ee1-9947-8cc15e75c316)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d054b88d-5e84-49c6-8139-aa30043e562f)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2dcf1d69-856d-4bfc-93b1-80dfef3fdb06)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 627bec3c-47da-4775-a787-0a4abdd9caeb)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d5dab4f8-7dee-4d51-a7f3-b675f261a74f)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d77c0f43-7954-48e5-b655-baa9024a7b8a)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27793b2d-d76b-4e7a-8cd2-0bee2d6170c3)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ae7a1119-a85c-49cf-870a-ebf8fd48286d)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e22694e7-1998-426c-bb26-71a5b88fb1ab)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e9872121-1e84-4589-83ea-dc6e66c90448)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a679f32d-8dfe-408d-94e1-53123b419bc2)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp af1ceae6-284d-4569-82fa-10ad23823fa1)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dfb132ef-50e3-417b-a99c-584a8851e939)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 66 "/frontend/OPA3") (pinfunction "K") (pintype "passive") (tstamp 64a044ff-80b7-4f2a-bbd8-12947a94c5bb)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 67 "Net-(D11-A)") (pinfunction "A") (pintype "passive") (tstamp 5bcf11cc-251f-4668-8f3b-f57f329b2e4b)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 636b73ab-ea78-42ca-bd45-9ef1178dd836) + (at 67.31 37.084 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/db58745b-23ba-4670-8cd5-c82ec97afc6b") + (attr smd) + (fp_text reference "C36" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7248b532-74ca-4369-b220-7c5f57a09be6) + ) + (fp_text value "100nF/50V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 96c3f76a-c36a-40a4-81fa-3902809f248a) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 6df1aa91-3cd3-478f-a9f1-d9edb4163949) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 41307bf5-8f4c-48b7-973d-9077f87835c3)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7dd49a2c-6236-4a40-bfbc-3cd6e2cab47e)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 437076ff-892f-478e-8b3b-d8f7bbee6511)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4f01144a-e958-4022-ad18-ceb947032362)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f15521b2-614e-41e9-aa29-7389e5198ad1)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bd0359a4-df2d-461b-af35-0bb89cf596f0)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ab9b8cc-7ae3-47d2-925f-651c560a67bb)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 64158402-3f5c-4c55-93a6-38d4d4272886)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 69d755bc-1e80-4c36-a210-d8080bd1ee77)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2065f5d4-1d30-4c69-9bad-98e3d4c8ca0f)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pintype "passive") (tstamp 074ea8f4-35f4-4505-b954-b4082e37b539)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 648c2464-3a39-415f-bd36-2c3658877360)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 647bef0c-eef3-476d-b44e-b69cca08cf4b) + (at 46.101 68.199) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1fec8ae0-5135-467a-bc96-fe1d38915cfd") + (attr smd) + (fp_text reference "R24" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp c9ca238a-9a20-4ec8-b1f0-915b0cdfaa60) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4f25b2ba-5986-4076-beab-402fb1532a54) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ab63c426-e85e-4607-80fd-25b1e792a7e5) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 133c7137-c869-40aa-8a4d-d6318fd08e25)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fb6fbf19-6f81-4567-b97f-390dbda767e3)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4b924fc8-dc52-44e7-a24b-cb17ee7c48f2)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 088090b9-ca5c-4f20-b064-2237be3049aa)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8dc78b19-6040-446c-a0ce-c785688b5d56)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cec2dd58-9bba-42c7-91c5-4ce04d89aab9)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp de1d33bd-8f71-491a-885c-f16e3a38fdfe)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 57d58d2c-f3fc-4f03-9dcb-a09e70fc9abb)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2c6e7fac-dcab-46bf-8321-7b9f0adf31a2)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5091ab0e-1cf6-4d5e-8021-81554b47c86e)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 129 "Net-(R15-Pad2)") (pintype "passive") (tstamp 29454cb9-6669-4e4d-88f5-354027b55aca)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 61 "Net-(D8-A)") (pintype "passive") (tstamp 7d92795f-4410-40a8-9298-4126aa451629)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 659a0cde-aa33-4f45-8345-0f5f29be1a5d) + (at 71.628 32.131 180) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/d32d6767-671b-4a96-a990-ee49d78cecdc") + (attr smd) + (fp_text reference "C63" (at 2.794 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d82b692c-6748-498a-b745-2e2c9b424a8a) + ) + (fp_text value "10uF/16V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c81d75c2-d8e5-4893-b2f6-c689eb234f0c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 46eaa88c-ebd3-4f28-bc13-b027635ef548) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bb4c0bdf-45c1-42ce-b240-02da10f41fc7)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp afbd933c-e0d2-4532-8b3f-c4abbc104cc0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8c5cbe91-5d85-4eae-bfa5-eaabbd952078)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b657f0e1-9db9-40d4-abc2-bb9f2c34e4b7)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 15408d1f-fe31-44e8-913e-d3150b24e5c5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 85cc1b2a-e1ef-49fd-9f30-9a085867a79e)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 51a5c95b-6d36-4272-ab0b-f6786daf7dec)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7b8ab249-f078-421a-8c3a-e1ea2cbdfe95)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 794184f8-90d0-4db6-af1d-fd0e14a8ed1f)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 81aa4ae5-3254-4ab7-b434-52e0932b5aac)) + (pad "1" smd roundrect (at -0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 53 "VBUS") (pintype "passive") (tstamp 1bb8cf08-fd6c-4e01-a160-59f97c973bc5)) + (pad "2" smd roundrect (at 0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp a323313e-126d-491a-ae32-4d0550edcfc0)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 65c6b87f-0207-46f0-82f0-c229050dcaaa) + (at 66.167 37.084 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/d7a0b2d3-a156-4407-a10c-e4119c853972") + (attr smd) + (fp_text reference "C37" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 927481d0-65d8-4a41-9e3a-3c4860cb6e84) + ) + (fp_text value "100nF/50V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8e2f6528-8f39-42a3-bc37-be863d9d5bf8) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 50dbd64f-92a2-4fde-aff4-6d115df72092) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5f085fe9-d016-4f11-a388-857be6c9e5a3)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e750458f-ad43-44ba-8f62-4cf38997b9d4)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dabb8c93-a202-4c4f-87e7-e3007775e123)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp abc2a158-11f0-4fda-babd-f1b5069baf83)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e555b3f8-0585-47b7-b5a1-1c578250617c)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cc9e036d-414b-4dd7-b350-26a061c1f0ed)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b652ac35-d02c-4ac7-8e57-983732daa592)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45818ccb-f785-48fc-bcb8-57dacab3a250)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b8b0a51-4a47-49c6-9868-2e2b5abaf6cd)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 378448e8-6658-4beb-a78b-2174797e4ce2)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pintype "passive") (tstamp 22c49660-5a17-4c88-9951-7dabe50626b1)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 60b6a43b-3f5f-4a05-a30c-cd6452532077)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 65dea912-ce6e-476e-8389-cc2c7467b759) + (at 42.926 53.975) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/3e1f7b18-d180-48e0-85d5-a353e291620d") + (attr smd) + (fp_text reference "R14" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 4fa7a296-52a2-486b-ae95-62acb3365e8e) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1493b7d4-1480-4f5f-a777-74c1b1cde7ce) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9c5b68bb-5ef4-4fc5-8996-7110798f186a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d6738c8-4534-4770-ac18-2120cc5086ad)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ab64ccd0-4eda-4e51-85bf-b2a32167ea38)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2fb7d931-8d92-4946-b8df-225e9e884188)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 18527764-e627-4aad-95b1-5873e2b0c7f6)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 14475e95-c77f-4730-9bf1-3282b5d1e7c8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 286bb70f-1a1a-4ead-9ede-6959cf4e9c78)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf38c06b-693c-4295-9a6c-b3ba1ea9e7ec)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 23db440e-b131-4307-87e8-6f4df12ddad7)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f36142cc-5581-4a37-a6dc-2f185198ae40)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 16e16478-7757-42ae-abcf-3280db210d79)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 200 "Net-(U2A--)") (pintype "passive") (tstamp 322d31ce-e2fb-4cd9-b58d-99079bb1e9d0)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 128 "Net-(R13-Pad2)") (pintype "passive") (tstamp d04d4986-f8c0-45f4-acda-991cbfdbbbb9)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 66f71d16-8c7e-4baa-bdda-14b7b5b2f4db) + (at 38.989 93.091) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a9c046a6-5da6-4447-af35-94deba834ea9") + (attr smd) + (fp_text reference "D15" (at 0 -2.159) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6cc5c0f4-1111-4be3-80cf-5c9eaa99abe3) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ee4f0065-4cc8-4efd-b263-ba7f734f0f59) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp aa2bfbd6-964c-420a-ba8e-0469b5e9b9b6) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fceb64b3-ace5-4bc5-ac5f-79e75aa8877d)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 345f8b29-29b1-4a32-a4a2-615ee3802cf0)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2c03d119-819a-44ef-80df-ac2dd2cf9718)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bc884b21-9f05-4d7b-9939-edcafaa76610)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6e2a1732-dc34-45ea-9017-68c2461ae5f9)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 74af5901-e521-46d7-8065-c6dfebfa3565)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ddb3283-5fae-4241-90bc-bd370a86f080)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7fc3438a-51b8-4b77-a620-10dac17a4c98)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ddacbad4-3bc0-4040-830a-a86c24eaf7eb)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8a49782a-0fd2-4504-8b7e-57b189a4d46b)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8eab884f-7c2a-4c47-a096-f88e7ae67c9d)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5b56babd-e57d-4d90-8649-cf82a7991ee5)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 192bd7ac-8c05-4ba1-aa99-77cd364c759a)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp b5d741b5-f692-4f3d-8ccf-c82df81df225)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp f0117ecb-7005-4e86-9d71-ba701ea7bb42)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 19 "Net-(C11-Pad2)") (pintype "passive") (tstamp 7ad37e82-4e23-463f-9a54-d993ac34b144)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 679ca335-f479-4895-845f-8b857a75eec1) + (at 55.118 44.958 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/5a68cafb-defe-4aef-9346-abf26c21bd99") + (attr smd) + (fp_text reference "R34" (at -2.794 0.508) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f73b6fc6-7efb-4dc4-94e9-4f0996a0492d) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1f2f6a5f-c35b-4706-b3ae-21a058115536) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 87f75670-afe8-4d92-ab46-548b49043226) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 40b977c9-5a12-4c9e-92bf-1011fce96576)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b6229b07-dee1-491d-b91d-9484419ef5fc)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0c19d2e2-1dcd-4890-ab67-5fb4cef9310b)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8a61a1af-72e7-4082-b3f3-24fcbc9e2b32)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6c0f70fb-3cf0-4ed8-b095-8e4d1253e8a3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fff6f663-dfa3-46a2-bfc1-9ea05bfc3caa)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 016fc29a-5824-434b-8e7f-a8bfd392321c)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e51e2345-fbb5-4f85-8365-0c0a4b7c8939)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 70852476-1fa9-4ac9-81c8-835d88bfa452)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a8f47d90-7e39-4935-9e3d-62266dee219f)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 64 "/frontend/OPA2") (pintype "passive") (tstamp 82809a53-8076-4443-a361-e0e26acfffc4)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 203 "Net-(U1C--)") (pintype "passive") (tstamp 5366c892-17fe-4e8c-ab77-c1982aaf725f)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 680d76e1-539d-4e82-a520-d7f5f86f44e3) + (at 50.673 72.644 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1ad26095-4ce4-4d15-9810-2fdbb645cc96") + (attr smd) + (fp_text reference "R61" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1ec53d4f-628a-4772-9b64-a5419464c36d) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp baa83803-6683-4e31-a20b-8798e67708ab) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5a512cb6-258e-4eb0-acd7-a323f9f25ea0) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 799bfcd9-6663-4b90-b1e2-69ceca3453a7)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp de54dbee-bec5-47cd-b3bd-2ee18d01ccd2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d401a970-d521-4c65-9757-6a752d3a53fc)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 136b7719-db31-4a65-99dc-e136170f9784)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 700429c9-1e35-41f5-9450-1335fb1a2638)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3107569f-4f16-45c1-b247-1de4ba9fe94a)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3ad5c17b-edd0-46c7-9c5d-70934cec6d72)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a267d8cc-bff7-474e-ac29-53fee8810df6)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fbadfb16-b27b-4a20-b27d-ef9f7305ed14)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0316a874-5c71-42a3-9d6b-e2c5a49099a0)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 70 "Net-(D17-K)") (pintype "passive") (tstamp d6e98823-5005-48c6-9100-136ed327bdef)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 22 "Net-(U3D-+)") (pintype "passive") (tstamp 26ed1e1d-84d5-4f6e-a247-1fecf10ceb9e)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 688c2ccf-4051-481c-8edd-b50114bd9d6e) + (at 55.118 62.738 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9498acb4-a028-4247-9c1d-011fa3413ecb") + (attr smd) + (fp_text reference "R36" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 25c68cdf-a4a8-4e80-ada6-de177b866ee3) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a9794bfd-e529-4d1d-8171-1c12ae5107b2) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 880ddd50-f639-4f3c-aede-7430af29cd7d) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e6f4038f-eb3a-428e-b2b1-b077dc289251)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 870f6234-7d34-4149-bf5a-5d99665a79e6)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 68cc4e51-210e-43c2-bd96-7dbe1fd45b63)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d807bf10-813b-48d6-bdbc-1080e5ab4403)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8b1b0d34-cb4f-4bee-abd3-2df229582c7e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c724c5f9-d223-40bc-904f-2a53efdcb6ab)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 20d62890-aba3-4a6b-88cc-22f5c1a99f7e)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 33b50b71-ca76-466e-8607-eb7e8b281a6c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1cc9b95c-ef57-41d3-905c-04078c730e14)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a9363f4b-732f-4693-9523-2205cdfe2eda)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 68 "/frontend/OPA4") (pintype "passive") (tstamp 00065cb1-21f9-4af0-930f-aa14cfbcb751)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 205 "Net-(U2C--)") (pintype "passive") (tstamp 87fedd29-3955-4a5c-bbff-200f53c1ac25)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 694c5f81-afde-4174-891b-81778af509dc) + (at 42.926 57.531) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e55c3659-a563-4ab6-8c8b-f77200580977") + (attr smd) + (fp_text reference "R7" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2bc09561-d9b5-4e72-9725-68fee57031e8) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 828d4c53-520f-4c41-9a9c-d840d9013c62) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp d69411d9-36a6-4b81-b9ee-0f90a86539d6) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp baf9df87-89ec-409a-9b8e-8dcbf1f5a3f9)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55be31d7-2e2c-4017-93c5-5d815ab510f9)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 32c162ff-b16b-4bb0-9e1c-1178aaccdc84)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e969d36a-2050-42c5-a841-ebb19a0cff22)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e301e1aa-60f6-46de-9871-2559667a9549)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46ec623e-07db-4005-8095-1044d955e15d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6dfa841d-86a8-4aa7-85e3-3257cd639e90)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3b9258d0-c1c2-41d5-b257-0fd19223fe03)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 79dcf7db-6f21-4ca3-9183-95ff6fcdba2f)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fcc9d9d2-2bfc-4de7-86f8-897f77be077c)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 6 "Net-(C3-Pad2)") (pintype "passive") (tstamp c1e1dee3-7554-40fb-81dd-260906703f52)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 200 "Net-(U2A--)") (pintype "passive") (tstamp 19171893-d248-4433-a7e9-907f0ac69336)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 6a03a3f9-00a8-43f9-a22e-d7faf7e81d43) + (at 53.975 112.903 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9f63c9c7-cf86-45eb-925d-6764ff8b7155") + (attr smd) + (fp_text reference "C56" (at 0 2.667 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 20643d65-d548-4847-ac0d-b81483a43d50) + ) + (fp_text value "10uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp dbc0a629-38dd-42a0-b52e-8169d9ff8c09) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 1c405c38-fc23-47ac-b2cd-a0737e8211cc) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b90d69fc-0536-4640-981a-4106a588c7d6)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 43d75359-a653-4f4b-b436-6e2d0d5a3ba9)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3f4a07ae-8e4c-40a6-aac1-6e67a8db7689)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 54a32f0d-b385-449b-979c-31382d43b78e)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp da48c2a9-dc3f-48df-a336-6542645c6ff2)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ba6cec5-eda4-4cb4-a088-345ebf288e8b)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9b924d2f-cbba-46c1-8282-f914a3f3f8f1)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 854200e4-a31d-4e96-a13b-68bd709e2599)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 697d6e74-a77e-4d63-b11d-56f1d46a29fa)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bf4c935a-6948-4b27-925a-7702fd027fa5)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 99a64507-b83f-44fb-b406-778ca03f1b3a)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp d35f2fe0-cd07-42dd-ad9e-6250e19c01f5)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 6b748ed8-73de-46d6-9093-63d40e31d09b) + (at 53.975 109.855 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ae854799-1249-49ca-9045-3fb79b6f664f") + (attr smd) + (fp_text reference "C57" (at 0 2.667 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7985d4b5-1958-4b1e-806a-297398b6299a) + ) + (fp_text value "10uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9e7823cf-7c7c-484d-9185-7a8d0aa74402) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 17ccb9e0-f2f6-459e-a73b-9d29751a1adb) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 061de54a-1c08-4ca4-982f-261571c109fd)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2b8e355b-8cdb-4c2f-bd21-7b0e269424fd)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a4a0b34f-5f04-418a-a61e-e2feaeea54e3)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6f34bb3b-449b-4751-ae54-768b5ac73393)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4bbda8e5-1efe-4167-be58-0692bd885316)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7973cedf-eb17-4a7b-b32d-fda505e6b0e1)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cab29d5b-b503-4c34-add7-8034a85b9958)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fdf925e8-2394-43ed-945c-58c163e86a81)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a4f4def5-7ce2-4e45-9f8a-5f1b3c0e69de)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9cceb2ef-d814-4142-8ad6-a2d8d8aa1b79)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp bebad22c-88cb-4def-924f-5b263d4c7c28)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp d4d90b76-2ee9-4733-9716-f562f2f57856)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 6ed69424-cc21-4f73-951d-168f9d5c6330) + (at 55.118 96.647) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/7dd62122-0250-4d1c-81a2-ec071b341917") + (attr smd) + (fp_text reference "C24" (at 2.794 0.127) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e3244bb4-3def-4b53-a4bc-914d6f8e122c) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e3152587-1384-422e-98f2-66640165b40f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 62b8f893-dcd9-474d-94dd-4e59d3a5c0b5) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a185a27b-8639-4283-a4b6-b5297163d58a)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d44a9f8d-8f0c-4540-b88d-8214381ae720)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5fdfa597-0863-4f45-9f7c-14c902cfd9c1)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cfd95cd1-978d-4ef8-9abe-d00bec60cde9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 109cf13f-e117-44c2-811d-c44eaf4b36b5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9a79c251-25ef-4f45-b563-64cf011026d4)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 70faf8ac-562f-46bf-8ef1-f76ddeeb9735)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6d742185-68e2-4490-a645-9472bb9d0cad)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1a90d2b0-7128-4d0f-892c-9a0711e7dc22)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5c9e7fa3-36a3-4056-afe0-e733c48098fb)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 1b8de3c3-b26c-40d6-9263-73954bca6cd8)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 7fe99b66-7090-4d1a-81ea-485d36f5d9f1)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 6ee2b73c-3b53-4a97-8ec3-9084d56bcb47) + (at 42.926 66.548) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b013f3f6-1225-49bc-804f-ac4f2550365e") + (attr smd) + (fp_text reference "R15" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7e073d38-0cbf-434b-8ade-a37132efb495) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2b1090d8-5868-4748-8e5c-d93f8f095624) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp beefa46e-2665-4315-a0fb-7b80d82a25f9) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 84c7ee90-2567-416e-91d7-9127ce9b291b)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 04aad7fa-04a6-4c30-bfd0-f4719bc56e01)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dad605fa-048c-4026-b1b0-1c41cb806902)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1c561fa2-b82b-4e35-bbee-4153cadc9fa9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3d9b4804-c042-4507-91d5-bfd92e014a32)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c0cca5ba-d6a4-45fc-b70a-0bb335455f72)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e19fbb3e-4b5a-4e8d-ae4b-ec9515a49ffe)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 77ca288a-9666-4768-b0ef-b77a09bf42cc)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a362a0b4-e61b-4e49-8e57-588de4d1ce44)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 092ea178-5c65-4a26-ab1c-4d64f843c883)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 201 "Net-(U2B--)") (pintype "passive") (tstamp e13684b4-972f-4695-85a4-67ec2872c968)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 129 "Net-(R15-Pad2)") (pintype "passive") (tstamp 399333db-6717-4f2b-93ed-4889d16e2fbd)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp 6fab7256-46f6-4928-8fd6-5b6a493aceba) + (at 83.087 84.455 180) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/8defea3b-3932-4bc9-925f-ff84a3ba386f") + (attr smd) + (fp_text reference "RN7" (at 2.696 2.032) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 07d8a618-b0a6-4665-bc6c-22b2b876b7a2) + ) + (fp_text value "100R" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp dca9d18f-36ff-41fc-95e9-1cdf19ce8f16) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp 4bbc4d08-b550-4822-8c4b-8f424dc498fd) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3b22f85c-771e-4a61-a750-20c08db9745c)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ce276c54-9969-49cf-9685-da1054e9e931)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fe84d558-0a12-4bf9-b2ba-4444d0bdb45c)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 94335e14-b950-4b61-b3ad-e4429f4c5cba)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 30574043-21db-4f49-a619-bff9fcd4813b)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 12920162-d9f5-4ab8-ad63-9ec38a298e3e)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f4a636a9-1596-4829-9f30-750b3508f4b9)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fd9ea07d-9af9-4df2-ba61-93050073e3ba)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3203f18c-2614-4206-865f-f3e25ef4f131)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp de78c487-bdfe-441a-8ba5-93c79848be88)) + (pad "1" smd rect (at -0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 183 "service") (pinfunction "R1.1") (pintype "passive") (tstamp b28d241f-28c1-4eb0-a081-ee0e860f6b2a)) + (pad "2" smd rect (at -0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 182 "up") (pinfunction "R2.1") (pintype "passive") (tstamp 34895d17-f387-4710-bb04-16f348b06b6a)) + (pad "3" smd rect (at -0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 181 "down") (pinfunction "R3.1") (pintype "passive") (tstamp 0d0a803d-49d5-4a6f-a18c-cfe9e6f73baf)) + (pad "4" smd rect (at -0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 108 "/interface/DIN1") (pinfunction "R4.1") (pintype "passive") (tstamp 7dbf1cab-0d12-4c19-9ea4-b4e3d270d500)) + (pad "5" smd rect (at 0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 41 "X1") (pinfunction "R4.2") (pintype "passive") (tstamp d95e9ee5-4545-40ca-844f-354b20f9bd32)) + (pad "6" smd rect (at 0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 42 "X2") (pinfunction "R3.2") (pintype "passive") (tstamp 8f8f1c21-8ba7-47dd-81b1-fea41844ee05)) + (pad "7" smd rect (at 0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 43 "X3") (pinfunction "R2.2") (pintype "passive") (tstamp bd17997d-9e87-45b1-a122-bec56dc548bf)) + (pad "8" smd rect (at 0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 44 "X4") (pinfunction "R1.2") (pintype "passive") (tstamp 4e8b884c-cc87-4083-b72d-f413d31dddaa)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 6fdd8314-beda-4abe-8520-e0ca61723b90) + (at 53.975 67.31 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/381c7ac2-31f0-4136-ab90-716c7a7a8788") + (attr smd) + (fp_text reference "R32" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ec835a21-def7-40d1-a005-cd917b23c0dd) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c4d4d279-2ddc-43a5-94b5-eff202d33509) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 630e9573-6f16-462d-a99c-95c52747e608) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a822a396-b05a-4aef-856c-384c24698522)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 779315a9-6d28-4325-8e19-bdaf1e343caa)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a9ae568e-31a8-4c3b-938a-6442e0fa3f81)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4c537517-b72c-47fa-9de5-408499532181)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c53b2f33-1596-4ba2-bef0-be5c77f896ef)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 008aa967-4830-42b6-a112-a330d6a9c0ec)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6a0c5945-7c3d-4d23-89cd-d10bad121634)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2ea03a0e-54ab-4d84-bd5c-67a8925c9ef8)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5d51d543-f7a9-46f7-ae12-6152293ba6cc)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8a18cab-2455-4a32-bc53-897bc03b602b)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 1e9c0c81-3d32-4dcf-9f9e-1c15912b2bf5)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 13 "Net-(U2C-+)") (pintype "passive") (tstamp 25dd4cf5-3ff3-44f1-9155-c6454737355a)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 71070456-4452-427b-93ed-504626c514d9) + (at 68.199 105.664) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/33f63e1c-688e-4529-aae5-442db4f92dcc") + (attr smd) + (fp_text reference "C62" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 586ef6e2-50ff-4fb4-ab90-f2242a447214) + ) + (fp_text value "10uF/16V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3e2427c9-dd85-45da-ba00-12df8fd58857) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5635b3f4-e339-4b60-bbf2-1782662b7a44) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp defdd325-8f69-4f53-82c2-f91a4a5eb410)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 19b8d5c3-4fe1-47bf-81ce-3ef4e7ac24f2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0128923d-315c-48ac-9ac1-01f6f61c5bf0)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 282dcbfb-d87c-4614-b48c-db1864782996)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d8f1fc03-3be1-439d-b7da-756697fedd80)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 31bc642e-8e90-4103-8750-fcad2149bbce)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dad8c4e6-d983-44a3-833d-9601047461f0)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2dc3fe5c-583d-441d-bd4b-8ea374353e29)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8fa58611-770b-4b08-96e0-56e864f0a3e2)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 978ebbc5-afee-46ff-8809-8f87efd48f25)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 77a9f25f-d00c-4751-a38d-bb495fc369c7)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 04ba082f-146d-42ba-9789-cc5ac3f0160b)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 72412bc7-e9cd-405c-bf28-c05394a19fa3) + (at 57.912 46.355 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/9f3c18c5-b08f-41af-adfe-42eac6e5d4a9") + (attr smd) + (fp_text reference "C29" (at 0 1.397 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3af69b4d-2cfe-4cc3-9b63-64efe01a9587) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 029e5a36-a08f-42ef-9839-dfc40b9eae9f) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 0cf19429-0802-47e2-838a-c650022246c1) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cbd24475-e0e9-49a1-8ab2-9acf07b5eae1)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ba73fc64-afb7-4fac-957e-66e260462866)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 29193741-f441-4165-84a8-112587009e90)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4b986786-2e9d-443d-a8a8-760a28e6f892)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e9476bd2-76be-403c-842b-34b3b08bff72)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 34fac8ed-d448-4ca4-b28b-64fd6099c1fb)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f6e73e5a-f965-4cf0-97f7-9d8b0dc6b223)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 547af3f5-c442-44ff-b02b-be9acf45baf7)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 39d1bdc1-e827-495d-b70d-f3b92bd3a03f)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d4ef8c9-865c-4b11-af65-fcd9f4292dd0)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 32 "ADC2") (pintype "passive") (tstamp 0729f40b-2048-400a-833f-d932efd54a0b)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 069d1b36-06dc-4f92-b9b4-d1202358e93c)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 73158719-d1a2-4d66-a07e-3396ff108205) + (at 74.803 106.426 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/0e7fc690-1a43-4ae4-bd4c-e4da492adc88") + (attr smd) + (fp_text reference "R73" (at 2.286 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp fd89d2b8-d4e0-471b-93f7-b7507092dbcf) + ) + (fp_text value "10K" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 29f36229-948e-46ff-af20-5c8fa025a439) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 219e0bcd-b35c-4b0b-9cd4-781ed50be541) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1153243d-236b-414a-8fbf-503e04dcc16e)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dda8c149-874b-49dc-9279-bed0ade8a930)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7de0adcc-1b25-4daf-afdc-1396286c071e)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 17a7d0d8-1c48-4e22-b834-a5dcff792258)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3871a07d-30e5-4e7b-ad88-a18ba3d8625f)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 76c10ae0-93c7-46df-ae81-9f50adeca6b3)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a14f9287-6987-488b-8d47-188851b2e11e)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29d873ed-2b31-4f32-b1cf-8f20fcc9b3c1)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d314609c-35da-4d93-8639-a8f79df166bf)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d6bf84e4-76d5-45ab-aa86-1a36e52eefea)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 87 "/interface/USB1_DP") (pintype "passive") (tstamp 807557b8-4e59-4b21-83dd-ff5cb69dcf4a)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 107 "Net-(J6-Pin_1)") (pintype "passive") (tstamp fcffc959-bc1a-4749-954f-9474e0100f77)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:JP_0603" (layer "F.Cu") + (tstamp 75f20a07-a5cb-4051-85c6-18ac394ed83c) + (at 62.992 28.829 -90) + (descr "0603 短接") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "exclude_from_bom" "") + (property "ki_description" "Jumper, 2-pole, open") + (property "ki_keywords" "Jumper SPST") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/7a13de14-d974-4dbc-9b6e-595e9fc35fb6") + (attr smd exclude_from_bom) + (fp_text reference "JP1" (at -6.096 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d6c57e9d-99b3-45aa-99f8-d181efc55a1e) + ) + (fp_text value "Jumper_2_Open" (at 0 1.524 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 008cb4cd-ac8e-497e-ba58-08b7cf9b0a90) + ) + (fp_line (start -1.397 -0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b9e1dde-38cc-4e5b-8996-f8b7c89b41cd)) + (fp_line (start -1.397 0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3aff9214-ea69-4a40-b168-8e4e3cabec0a)) + (fp_line (start 1.397 -0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cd6e0fcb-8c49-4aa7-be6b-4b1fc2c6dd39)) + (fp_line (start 1.397 0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8617f46f-6dac-49b8-90d7-de2d6e6dccb3)) + (fp_poly + (pts + (xy 1.1 0.44) + (xy -1.12 0.44) + (xy -1.12 -0.43) + (xy 1.1 -0.43) + ) + + (stroke (width 0.1) (type solid)) (fill solid) (layer "F.Mask") (tstamp b9150f0a-7416-4dcd-8427-5c3bbc7516d2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b83c0b89-fda0-42bc-91a6-6f004cbc9b44)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 25cd2cbe-f8a1-4261-a23d-e6e563b734c8)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5d7bf87f-4d6c-4220-9323-7e3d0be4a209)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3d13cf95-96d2-4e2c-9650-b6aab43dce75)) + (pad "1" smd custom (at -0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 9 "GND") (pinfunction "A") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.5 -0.5) + (xy 0.3 -0.5) + (xy 0.8 0) + (xy 0.3 0.5) + (xy -0.5 0.5) + ) + (width 0) (fill yes)) + ) (tstamp 81b5e1e0-2dad-4ed6-a85b-79d9fe83c20c)) + (pad "2" smd custom (at 0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 118 "SET1") (pinfunction "B") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.8 -0.5) + (xy 0.5 -0.5) + (xy 0.5 0.5) + (xy -0.8 0.5) + (xy -0.3 0) + ) + (width 0) (fill yes)) + ) (tstamp 1c36a069-6adf-4219-bcb3-dd9088fa1476)) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 77777fd4-b8ab-4d73-9d58-f7235e4da96f) + (at 48.768 89.916 -90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ba728d57-5018-46c8-ac31-bfff86d3e1bb") + (attr smd) + (fp_text reference "D19" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ddabb25c-8068-476b-861a-31718bed3dbe) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 801ed510-ba44-4ff0-90a1-aeaa5bfc16a6) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f6dd9394-dad7-413d-a4dd-dbd84522fcfa)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 00fa3c89-cf7f-4faa-b708-4af45b1574a0)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 87bad9ee-dbe5-4a4c-896d-9f2171acb296)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f0a50a30-4172-4add-a235-247460847dac)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ce1e57af-a00e-4dde-a75c-70c05ef13e71)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 82a51b64-7079-4151-b319-0ada65daa854)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9df80be1-0a7c-4d91-9cda-d499d05db912)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5433d0a9-d0ed-4927-b545-86dd0a04d865)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0fe13e58-a59f-4898-b696-b2acb798c6a5)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c52d3411-2258-4df4-9b96-98890c7b7797)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cbe2c7af-3760-4421-bf67-3ea8a4c486f1)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 057535b2-1aa0-4052-85c4-c3511f73d355)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6caa8bc7-cfef-47cb-a0cc-f9f36e1f351b)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d543a471-167b-4b12-afe0-cff5392d6eea)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a0a09df7-c9f6-4f41-80ac-1bc90403131b)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 23d9465f-b803-4fb2-89a0-d2e91bc1c3ad)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 645f33d2-054f-4ea3-b179-d734d2283a95)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b6b53040-5214-4e38-97e2-e46b9e550418)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 250657ec-6c4d-45a8-b000-224badb35683)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 72201274-14e4-4159-ab63-9f94a83a1318)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b0c90bd-24ff-4b03-905e-4fa727f8a669)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f27ea67b-f678-413c-9b41-d1961ff81084)) + (pad "1" smd rect (at -1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 74 "Net-(D19-K)") (pinfunction "K") (pintype "passive") (tstamp be704495-a346-4548-a13a-ba862882817b)) + (pad "2" smd rect (at 1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 75 "Net-(D19-A)") (pinfunction "A") (pintype "passive") (tstamp c89ddcd5-f331-4b62-b5e6-02a9a4af14bb)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 79903957-81a7-4d64-b6cb-f267fbabb532) + (at 42.926 91.186) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/42997c65-c605-4934-991c-c96ebcffded4") + (attr smd) + (fp_text reference "R49" (at -1.778 0 -90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 038b28b9-679d-4c95-85a9-1068a78e808d) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp dd7ec431-0e3e-4cef-bf36-e97a10f9af3e) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp fa94cc45-2415-4a3e-9003-59a6abd7fdf7) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 34f66437-77c5-448f-9749-ca7c23abe6c5)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52715fc9-69a1-4aea-a91d-9a5fc8fad07f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 87bb40bc-8004-4611-bc75-bea9e785e265)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ff0eaab9-72e1-4713-8a29-b6405bac5b96)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5e8a4a96-30ce-4a63-8978-424aa41372f7)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e31c8064-8377-4770-ad74-9bc76748011d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5591b256-8ee9-4eca-93ea-42350e80393a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cdb6ba60-cd2a-4a5f-b1c1-bae3815dee49)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9ad350f7-2fa7-4941-b2f2-e67487d32193)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d141e6d5-3e18-4c48-82f2-4dc2cc404748)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 208 "Net-(U4A--)") (pintype "passive") (tstamp 0fc50318-ca43-4b13-9f62-83e3bb64075e)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 140 "Net-(R49-Pad2)") (pintype "passive") (tstamp 44e5908b-f81a-4cc6-ad0d-4f0bd7bb2122)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 7b5a9c08-d330-4b94-b3e8-4200fa27a206) + (at 42.926 78.867) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1a43b9ae-bff9-4e99-9f06-a4e27c35cb6e") + (attr smd) + (fp_text reference "C21" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6351952e-3846-4633-98ce-4427cb5b8fd4) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c77fe2d8-6594-4732-ba6d-6b64dd91f1e0) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp f9ab48ee-6902-4259-9566-1847227e78f6) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b44b8e30-9338-4371-b7cb-b67d5dfeda05)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 849da09d-ed52-4c64-9fd3-13e3ddb00349)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 92e39264-232a-435b-91ad-ace9fd27c9ec)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8560382a-760d-4c8f-878a-cbcf7bc027b6)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1aaf97c8-f383-4c00-bc1b-fa2955ec213b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2e9ec1c1-becf-4813-9401-51a38bdd7c97)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f590ed32-f5a3-41dc-9a52-8eb08130a0f9)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ad08ed67-6ee5-4ea5-ae46-dcc7e55a4658)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f04fa0c0-0a2e-4af2-9594-49a246531bf6)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01864e43-f2d7-4bae-814f-3fc409030776)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 9b69bb2c-37bc-47f4-b91c-1b5d6a2f1a9f)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 7c8c1174-7570-4377-aa6f-b6e30a412bf2)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 7b6777ba-dd65-4e65-8126-5b1d9cf23676) + (at 38.989 95.758) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/55fe96eb-c763-42e4-96c2-1d9f61c153b8") + (attr smd) + (fp_text reference "C11" (at -2.159 -0.254 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 229066a5-0ac2-49b5-ae3f-cc615164486f) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5e1ce133-d4aa-4122-b2cc-62919882cd8b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 63d184f0-6366-4ab3-a648-1998ca2e5154) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2e3f5a7f-bc21-4c0e-883f-1f4f2de85c56)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7ccb1da-5e4a-4d3e-9502-be3627e1dbcb)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1580cd69-366b-4a5d-9d4b-c4b38aad9bf6)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8870307c-b485-41f4-8cda-a74fb40531da)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 29e4bee7-08e4-48d1-b7a6-a75039af4ceb)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp acd9cee4-d1ee-48b1-9bc2-82a77dc70db0)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 139817ba-9bcf-420a-9902-3386577028d4)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0c73395e-00ab-40f4-8aa7-0d4efdf2afd8)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3212cd16-d64d-41ae-bb99-dd9d9fcead8a)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 812502df-64fa-40d2-9cbc-3b7ddbe4e1df)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 18 "/frontend/IN7") (pintype "passive") (tstamp e47e6f7d-fcf2-468d-be12-5e7771f53b02)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 19 "Net-(C11-Pad2)") (pintype "passive") (tstamp acff4a32-7072-467a-b4a1-482cf04930d9)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 7be1663d-b1f7-407d-afb9-2b336326845c) + (at 96.2405 32.512 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/9929f72d-965b-4c63-868c-3b29749a287d") + (attr smd) + (fp_text reference "D34" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp bd218de3-459e-4262-a5cd-176f13edc186) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1fc6c2ca-d251-4cc4-b5d2-469eed43b3ef) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp cecef66a-1848-4980-8c15-5470283bf4b9) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 35593e04-ec1a-49f4-9816-328cb7e30d78)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 99363bd6-a24e-4173-8199-3cf5dc4f1133)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c3c9dc43-1b5d-4e32-8a4c-fbf9de4f0408)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aa6d58f0-535c-46bd-ace8-436a17e95b5c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5b3c2ffc-b7fc-4aae-9e88-394732ac1dab)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b263f22f-396a-42be-b6b2-761cf6147703)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0df5e1c2-8905-4f27-b7a0-78e7ce1e6b90)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e5a6e5bc-1800-468c-adfd-718e2f96fdeb)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ee384e4e-8fd1-4900-be2f-09f63a05902b)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4eec7f3a-b980-4093-ae50-3a8629e2e54b)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d28e2289-42cd-4211-b484-3d9880c508a5)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b37d176-4182-4a8d-b2bd-1db185e19110)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp e3083873-e85b-4d0d-ae8f-f788a89585c0)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 92 "Net-(D34-A)") (pinfunction "A") (pintype "passive") (tstamp ec9a5701-e4ce-4eb4-a81d-8f9a7c72409c)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 7f54fa1b-21ff-420a-b890-f9880d6b41f6) + (at 53.975 37.084 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/fd7dc4cc-b506-489c-b5d0-d65ddd7474e6") + (attr smd) + (fp_text reference "R29" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b59e65c9-4338-4203-988b-e72d5b4b0b94) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c5443ae1-402a-4bd8-a032-0e262fbb2f94) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a5ae3dd7-9160-4504-bf47-5436a72d0c3c) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp df52cc95-7900-4668-90f8-11ea99a80e35)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4a25c9f3-188b-426b-b49b-117ea24e5b21)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 240ae6d3-2765-42e5-ac2c-2c8a54218343)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a130e68b-6dae-4c74-b877-f30f2971588d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 60ec0b1d-be8b-4cac-93ef-46323947be53)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 646f6f03-60e8-400c-bc70-4cc20618e74d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5b9ab2ad-35b0-42a6-8b92-c0136c36b8ad)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0c1a8521-5c82-4542-80b2-791809b0dca6)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 34aadca6-303b-418d-a129-2d79f0c8c79a)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cda16a94-2ece-499d-9503-5d49a3c7ae38)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 831bd61d-6f9f-4f7a-ae85-4d4613b2241b)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 10 "Net-(U1D-+)") (pintype "passive") (tstamp 7c1a4b3e-33a1-4f2a-8d45-9ce1334219aa)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 81d3ca1f-11a7-44f3-8ce2-098318ec0d85) + (at 80.518 27.178 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/6940afc6-3255-4b79-8cb1-9eb4e1764c1f") + (attr smd) + (fp_text reference "R81" (at 2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 64e383cd-7cef-46ea-b530-b14de080bf9d) + ) + (fp_text value "5K1" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a7f4673a-6b9a-4fef-802b-6afee24e0df9) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 2420a4bf-c465-46a8-bfe9-cc69038344c3) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d917d579-9a9c-4fa6-b2bd-07596b28da11)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d38e1392-7bf1-49ba-bcb2-0abb54d1f6e2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 63514028-c3b5-4a70-899a-474eb3303e70)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 639a1e6f-8920-4955-bde7-9059ca085006)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9caf537f-4527-49e1-ac1d-535931a2f9e1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 29e3eaef-1bc8-419f-a7a7-bd75fe820f0d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5e37b6bc-28a7-46a8-8d5a-f739402f392f)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cb81125e-2fd4-4512-8af9-8e48aef20dcf)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d3ba28c6-931b-4b58-9c88-a6d673a431c4)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 721739be-a041-48f6-a5ba-816b560caa2e)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp c6998332-1b58-475d-bab1-0bffb1996692)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 169 "Net-(J10-CC2)") (pintype "passive") (tstamp 896f2a5d-0635-4494-b3c7-ddfc7d6fcbc2)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp 823d9190-b3a1-4143-8145-3dcfff808585) + (at 83.087 88.519 180) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/1ab9e969-ebcd-432c-9910-c2b09baa71da") + (attr smd) + (fp_text reference "RN8" (at 2.696 -2.413) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp dc2220e7-94d7-4418-a352-506e5e9b30b6) + ) + (fp_text value "100R" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 24cb0d6a-c1e9-4002-af69-b8fd38b83461) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp d54ec3aa-198e-497e-bd1b-13fbac3842c0) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp af9fb4a9-451e-4e83-a5ed-62f72bec2768)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e9fb24c3-f73f-495f-b27b-eef03d428a9c)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e034d3ea-d4b2-4712-973c-d05d2ca5a02d)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cc50b132-a634-4c20-9e3a-eed410981ddf)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a5af277f-88f3-4d5f-953d-5dc5fd7f11b1)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5bcab69c-ece8-4ea4-a9c3-bad57e2de017)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 63eb3784-fbe0-48f5-bbc4-7b51d9434739)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3425433a-9cbd-4bb8-a94b-9724c13a31d8)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 46473820-afce-4bf7-9e05-986df79ee2cf)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a4beb3d5-5615-462b-99d0-934a63922997)) + (pad "1" smd rect (at -0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 109 "/interface/DIN8") (pinfunction "R1.1") (pintype "passive") (tstamp 28c87023-a037-4bc6-8b44-60b37c0a078a)) + (pad "2" smd rect (at -0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 186 "coin") (pinfunction "R2.1") (pintype "passive") (tstamp ea388538-67ba-438f-bfa4-b32ccf5b6dea)) + (pad "3" smd rect (at -0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 185 "test") (pinfunction "R3.1") (pintype "passive") (tstamp 7b7ba782-190f-4445-b844-3dba3e015d2d)) + (pad "4" smd rect (at -0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 184 "enter") (pinfunction "R4.1") (pintype "passive") (tstamp 456c2ff1-56b3-48ff-8349-0a338cb26248)) + (pad "5" smd rect (at 0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 45 "X5") (pinfunction "R4.2") (pintype "passive") (tstamp 7635ab0b-6169-4e51-bb4a-083e0b779cb7)) + (pad "6" smd rect (at 0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 46 "X6") (pinfunction "R3.2") (pintype "passive") (tstamp 758e99a3-5bb1-4f8e-85a2-4a11e815b467)) + (pad "7" smd rect (at 0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 47 "X7") (pinfunction "R2.2") (pintype "passive") (tstamp c9bb251c-c354-4dbc-ae17-0dc442991565)) + (pad "8" smd rect (at 0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 48 "X8") (pinfunction "R1.2") (pintype "passive") (tstamp eeaf8ab5-0971-4b56-af3b-070ce55f8138)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 827f168e-66a6-46e6-a37a-c64af57fb9d8) + (at 62.357 84.709 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/84ef773b-c155-44dc-9b98-412aeab3594c") + (attr smd) + (fp_text reference "R77" (at 2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7425daaf-3bad-4cae-84bd-2cede3c45f36) + ) + (fp_text value "NC" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ac727fc6-56ff-46e3-9cba-4b5a74884ac8) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9c47248c-aeb4-46a9-9121-84c76bf02941) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d9c6742e-02fb-4568-a877-21f27fd717c1)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8351c394-9559-47ad-bcfb-862013d2d722)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3f2a421a-fcc5-4c41-a242-4a2d86df2c39)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 43489b5b-de8d-4d73-929e-248457b0452e)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1dafc117-24de-45d0-aa5c-7116472702e6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 45d00fe6-59c9-462e-b03e-0403cfa30476)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0dbe7829-45de-4d95-aefa-780ed519e9a7)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 17a8fd18-0445-4ccd-9353-eb23a1ad8ddb)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c343f227-6aeb-4c78-b6e7-5f155a5d3d74)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dded2940-529f-4405-adc5-62a86964eec2)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 216 "Net-(U7-P3.1{slash}TXD)") (pintype "passive") (tstamp 218275a5-61fc-4a28-9401-da5428189671)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 106 "/smapling/RXD") (pintype "passive") (tstamp d655fa22-25d1-40c9-85ce-82e5ed87da37)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 8281c554-0d93-46cc-b6b0-f0789a4fb2ae) + (at 83.087 80.01) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/b6481855-5a36-438c-a236-0e478a46f37e") + (attr smd) + (fp_text reference "C45" (at -2.696 -0.127) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e86b9400-9ead-4c47-bc1c-78085886dc26) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c3e631a4-7fc8-46eb-96e0-045099efd046) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 34f6fad2-5bad-47c1-a904-6c4cc5ea43a5) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d2a59648-adc7-4000-89c4-4f8d7d7fd133)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e77c11fc-c5b4-45b2-a5a9-208b69a5b6ff)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9895de9d-744a-4956-b08d-428f084d086f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 37ea1328-9a7b-4447-aae3-13970ff90d14)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6505c192-f941-4968-929e-ce6b2cd9c9f0)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cdb3d8f4-3e56-45de-bd2e-4157b8cee6a1)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eebe79be-10e1-4e2b-b569-2493e607beca)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2665188b-a1f1-48c3-9f4a-991259b6eb8d)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5fae0bf4-23a9-46cb-8e6b-4d0314080a56)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a0dbbdb9-2238-468b-ac5c-21e72d215e92)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp d900cbeb-ea1c-4c31-9894-324e143dad6d)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 42 "X2") (pintype "passive") (tstamp ef47e8c4-720e-410e-b756-0b2518fb2946)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 84855ef1-b5cb-4e2f-a6e4-6babf0aa3e32) + (at 38.989 60.198) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/bc1c1693-6ac0-4750-9635-dc227ef8c6f6") + (attr smd) + (fp_text reference "C3" (at -2.032 -0.127 -90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a63de2f4-100d-4a51-ae5d-7be23d2d719e) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c0b481a1-ca2c-4b54-8ed9-46945d91857a) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8d8a745d-486f-4056-be0b-d07972a4f32e) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 03a9496f-ba0e-48b2-ae15-373df71d1b8b)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d8c37b76-407e-41be-815b-cd9515608e67)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 44bc6023-f4cc-4f35-b3d1-2c19469d4b34)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02114989-4b7e-4e72-ad73-5fe0f5eb1cbe)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e03aeb7-996b-4997-a7b0-ea43d7fa4e76)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a898c170-34f3-45e8-9423-6184c39e102d)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb5d54d9-fc12-43a5-97d6-c3791aa56e5f)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp da6e8f6b-f7cd-4b5d-95ff-b44d0ccda8a7)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 479b7e4d-cc10-4f86-a5f9-b1eacb5a5bb5)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b5e6dd9-f794-4eea-be6d-a6acdcd2fbe6)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 5 "/frontend/IN3") (pintype "passive") (tstamp b6b1c30f-a508-4940-81dd-de5583b4b43a)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 6 "Net-(C3-Pad2)") (pintype "passive") (tstamp 7b81afb5-331c-4d0f-928c-ac045c74c7e7)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 85f1b2ea-0218-4dae-961e-d14ec90cc9a0) + (at 42.926 96.647) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ffbee3b2-a159-489b-a25d-c707253a6ab8") + (attr smd) + (fp_text reference "C23" (at 2.032 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 39622de6-a18c-48b7-ab81-245319f69d06) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp adcd3731-9e71-4a52-a2e6-4969b8d33e36) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b66a2fd0-3433-437a-a169-a7418dab4f89) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f5e891d1-2da2-4f68-b640-75ee167a52b9)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2934bf7e-fb67-44fb-a32f-c5c16da117c5)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d5c68fd5-2881-4a9c-8a11-358dc9110286)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d8b29e04-8571-4ef9-9be2-fc53cce9da8a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c11643fb-105e-4fc3-ab13-1e48234d87a3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ebad61e0-85ee-4df1-82b9-f30471b74ea9)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 019ccc32-0e7f-4e9a-a796-3b6a7f8a144c)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3200536e-cf68-4476-8d5d-91dd59dbc390)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6cd1ce3b-4773-4712-8596-e96d824443ea)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8844eb9e-a286-4f1d-ad91-beba79fe7225)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp ab8d6de9-7e7e-4f2f-af13-c3a94ce724cb)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp ef78de34-a3b1-414c-bea5-4dec006318d7)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 8755e7f8-6a27-4978-bad6-f4f95326dee1) + (at 78.1812 39.0144) + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "40V 1A Schottky Barrier Rectifier Diode, DO-41") + (property "ki_keywords" "diode Schottky") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/5f970236-b80c-4258-a08d-a788ae0befac") + (attr smd) + (fp_text reference "D25" (at 3.0988 -0.0254) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 89cf232a-a228-4d93-82ef-e70b63cebf68) + ) + (fp_text value "1N5819WS" (at 0 1.651) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9c5b1231-1ceb-4e0f-9560-1d5501edaf70) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp aa5f9c81-8e6e-48e4-85ef-f019ebca514e)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8e424a20-b3c2-4450-9735-4a363c9bd786)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8aebc305-acf3-45fb-9d39-774620ea810a)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b565a8a7-b4e4-4f99-9246-6749d5bd47fc)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c79174d9-2c7d-4247-a47f-ee2f2f14726f)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4598a0d7-64fb-46d7-b7bb-b60aaf2b55d9)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 461c3db2-ecfa-4948-8c2d-2d4205efebd2)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 991885fe-f4cb-4c4b-be15-5feedcc08a3f)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0b7d9e83-d9cf-4093-b516-ea7816b05e64)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 58917b21-8630-4dab-abe4-711fe803cda9)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 93087fe2-6e01-45b6-93f6-b66076287a64)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 34d6d6bf-e9a1-49e8-bff7-7e640349b547)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 214dc89e-86dd-46d6-ad46-0c674d37104e)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37315bca-466a-4cf8-999e-c09d3f4b17da)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 595e18ae-c00d-4da6-a0e1-74a55fdefea1)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 004c39cf-9291-44c0-a3e6-4da9c52ce7b2)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f23891c9-3018-4cdb-96ab-80c63225fc8c)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b4867dbc-383f-4d3f-a1c7-0d70b8f382f7)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01074daf-b280-4185-81ea-2af45ac4308c)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 00b5dca1-c432-4141-b8f0-3b8293b236fa)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ab07aef5-d78a-418d-9b51-1068ec5a9057)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 642a8452-91c7-4046-bc63-fa9e7ee2283a)) + (pad "1" smd rect (at -1.25 0) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 36 "Net-(D25-K)") (pinfunction "K") (pintype "passive") (tstamp cd16a44b-08f1-4d3e-8076-6a66e833fb7d)) + (pad "2" smd rect (at 1.25 0) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 26 "+5V") (pinfunction "A") (pintype "passive") (tstamp be658d31-d922-45b4-a59f-982fe84526f9)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 87709281-2a57-4a2e-9254-1367a5e578f6) + (at 54.991 64.643 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/950e2b98-f186-4163-a54f-c7f7c5849b97") + (attr smd) + (fp_text reference "D12" (at 0 -1.651 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2b377a44-8a77-4165-891f-5fcfaacf11a9) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 016f17fe-fc03-4751-afa1-1d4dc4b5d752) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 59db478a-fd57-483d-800e-f3f4f3fa6e27)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8e5b9fb5-68fd-4964-8043-d9a9e7e980ad)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bd8ac119-7ecd-4408-bf2c-3b2e492664fa)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 50ef4ab5-4f09-4a6a-b12f-431e46a6610f)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6c4abfd3-978c-490d-a1b6-441dba52cfd1)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dae7a3f2-dd8a-47c4-9495-a0d947c73b33)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9302f2d8-4d64-4b93-88d5-d5d394793e85)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9aead2e7-d3a4-4810-bef9-dbdb0f2937f3)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c85d74ab-eb00-49b3-aaf9-a00f8398d55a)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 648b6d60-f76f-4fe9-b06e-99b96209122e)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 88f9271b-aed9-44f0-90ec-9f979bbed4fe)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ed8b15ca-dd3e-417c-abe7-5f75a95e4309)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d7d7524-18b5-4a5c-b767-28c7f0a27377)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 05b4aae3-344b-471a-ae2c-e03761cedc2d)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 50b4c096-bfbf-4e73-b265-89446a0bdd55)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a66cfbbe-806f-4e79-b5ce-e643b4ce438b)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e84f8fc0-d615-4b77-8912-cfd16b245495)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0841c02b-6110-40f8-a007-e06ee4a8a25a)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fcdcb38e-f2c4-440f-a999-a7d261feb78e)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e9aa0f34-612c-4512-997f-34ef739f9544)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3e890112-3fc5-4baa-9f66-bf5017eea394)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6b2e057d-e483-4324-bf39-e7b890fa0e4f)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 68 "/frontend/OPA4") (pinfunction "K") (pintype "passive") (tstamp 500b93e9-c64c-40d3-8949-2c5b715c9e8d)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 69 "Net-(D12-A)") (pinfunction "A") (pintype "passive") (tstamp 8bea53e9-defb-4e09-91a3-f7e3db4d550e)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_523_1" (layer "F.Cu") + (tstamp 87ef4516-4b2d-4224-8733-81c6e28db224) + (at 73.406 106.934 90) + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Bidirectional transient-voltage-suppression diode") + (property "ki_keywords" "diode TVS thyrector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/62f325cd-41f1-4782-b003-88a628084159") + (attr smd) + (fp_text reference "D28" (at 2.794 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e9f893a9-d651-48b9-bfd5-2ab466f8c75b) + ) + (fp_text value "D_TVS" (at 0 1.397 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 851c9ec6-851c-433c-89bc-7e611d3f9208) + ) + (fp_line (start -1.397 -0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7db8d589-2f3d-42c0-8984-5271578769e2)) + (fp_line (start -1.397 0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 569d0809-c4d5-48f9-bf8f-4f4229c69c55)) + (fp_line (start -0.254 -0.3175) (end -0.254 0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f555fc16-7041-48a2-99fd-867a291b5ca5)) + (fp_line (start -0.254 0.3175) (end -0.127 0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9d2c325b-6211-41a7-9804-e1ad0da162de)) + (fp_line (start -0.127 -0.3175) (end -0.254 -0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c135e971-125f-4d34-bb92-aebd991a63ca)) + (fp_line (start -0.127 0.3175) (end -0.127 -0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b86e174a-2394-483f-8693-4917359fbbc4)) + (fp_line (start 1.397 -0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d5333f40-3c7e-4f0b-8d19-66cf6a4da10c)) + (fp_line (start 1.397 0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a43c8055-1015-4077-bcd5-7dd4f3d559c3)) + (fp_line (start -1.4605 -0.7) (end 1.4605 -0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 65324373-d9d3-4613-9bba-c886f8fa9939)) + (fp_line (start -1.4605 0.7) (end -1.4605 -0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 64b83c46-8d34-4454-a724-610a0a88c47b)) + (fp_line (start 1.4605 -0.6985) (end 1.4605 0.7015) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3858b05e-7298-4556-bb04-d278614c4d4c)) + (fp_line (start 1.4605 0.7015) (end -1.4605 0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ed165862-a2d4-46ef-9bd9-d1369b8c13be)) + (fp_line (start -0.65 -0.45) (end 0.65 -0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 53928631-4849-427a-a849-ea6f81397965)) + (fp_line (start -0.65 0.45) (end -0.65 -0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp de31189d-5dfd-46ad-9ac6-c31ea1755b3f)) + (fp_line (start -0.2 0) (end -0.35 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 85e0042c-1239-4c76-93ba-de5c5a841e40)) + (fp_line (start -0.2 0) (end 0.1 0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6b0b0ddd-6fd0-4ebb-940c-5a8a44e7985c)) + (fp_line (start -0.2 0.2) (end -0.2 -0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9a2cc321-5707-44f1-9b70-87479c7651df)) + (fp_line (start 0.1 -0.2) (end -0.2 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fc09680-009c-4a1a-9c56-3f53ef66c527)) + (fp_line (start 0.1 0) (end 0.25 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 64f8fde7-6ead-410a-89ce-6deb63bbb21c)) + (fp_line (start 0.1 0.2) (end 0.1 -0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 474b8429-d36c-4d30-b477-fa333d624740)) + (fp_line (start 0.65 -0.45) (end 0.65 0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4c429f19-1d26-4026-a9a7-3c3c32c30631)) + (fp_line (start 0.65 0.45) (end -0.65 0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 049e9907-a42c-449d-bd62-caa6efaaa12b)) + (pad "1" smd rect (at -0.8255 0 270) (size 0.9 0.8) (layers "F.Cu" "F.Paste" "F.Mask") + (net 86 "/interface/USB1_DN") (pinfunction "A1") (pintype "passive") (tstamp c3404e71-d299-40d5-9ea7-8f9c249928d4)) + (pad "2" smd rect (at 0.8255 0 270) (size 0.9 0.8) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "A2") (pintype "passive") (tstamp 756a33c9-5419-4aed-96ad-679ee079a6ab)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-523.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 88d90a12-7955-4526-9191-d3379ef06695) + (at 38.989 82.423) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/68f3859b-047a-4cbd-b375-c1ab54c04665") + (attr smd) + (fp_text reference "D14" (at 0 2.413) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f6671385-398e-4afe-ac43-cf17cf06610a) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4e92948c-4e1a-4525-bb98-cb59b74244b6) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 13ccd7fd-b9e5-4826-ba2a-4e615a1af088) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bb30778d-245d-4d5b-b566-e1a5350b7bcc)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fd65fca6-25b9-4822-b327-0f611d89f3d8)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ed420345-0387-40bd-9c14-c57c1e551a44)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 178eeb64-775d-445b-8b18-cc6bc5240a42)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ba6eb143-8918-4a20-a2c7-e3830315c919)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e9efb993-b0a5-4935-991a-b6fd293cf855)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1ad1ec20-57ed-49e8-82a7-fddc018699ed)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 152d7aba-21a9-4397-b158-b927230f44cb)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3ddf934e-7d6f-428f-8e5c-ee473ee59eb9)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2539493e-91e8-4414-a19b-44d77e2d4d63)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f9c1342b-7787-403e-a961-c3633f1c72dc)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 55b75e73-3e2e-4143-9ad5-58141c4050d4)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1fbc7fdb-7fd9-4031-bc78-d69fee62948e)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 93f3c37c-8f09-4a86-b076-ea30a131a4f8)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp f5b97705-a30c-4b2b-b831-3e09258b2ab2)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 17 "Net-(C10-Pad2)") (pintype "passive") (tstamp 1265095d-273a-4dd7-b07d-582c712a73e9)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 88ec1fb3-804e-4e22-8434-f0b11c711196) + (at 48.514 113.538) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b3de0f4d-3a44-46f8-93a0-7d761d4f7957") + (attr smd) + (fp_text reference "C60" (at -2.159 0.635 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a6f2602a-1395-4989-8198-bdc98f3e8806) + ) + (fp_text value "4.7uF/16V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 500bdacd-0808-4dcc-9778-05824305c4c8) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 553e2edb-2236-44d9-b772-2f3f6eba08e3) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a0ced828-0aaf-4ac9-929b-d03300dcca60)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4ce5a278-6c12-4f3d-bd4f-67c2e17b3650)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a65aae89-9e2a-4024-9f9a-f09feb6ee5ab)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 03c3efa1-8eb1-45fc-8c91-de980c2788d4)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 25ef9ed3-95ec-4d23-a6c0-16042f00d151)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a1f1dfcb-9f19-4e7a-ba0f-55f501267e6b)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ea45b245-9b61-4e23-a7af-42013114e850)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb785d18-936f-4e83-89c7-041b9e0888e6)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8c7b96e5-c4a6-4d25-83a8-8943b6500de4)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8ebcf0c-c581-47fb-a88a-017acc5db9ed)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 51 "Net-(U12-C_{P})") (pintype "passive") (tstamp a6b2e5db-3392-4df1-a19d-737409d4cf0c)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 52 "Net-(U12-C_{N})") (pintype "passive") (tstamp c1da03a5-7d07-4b30-accf-8268334d8420)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 89c5d1f4-9bfe-48ab-a4a9-be4a1644971f) + (at 66.294 100.711 -90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/5a72bc5d-9646-40b6-8c9b-893df4fe7c18") + (attr smd) + (fp_text reference "C41" (at 0 4.445 -90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 995668b6-185e-409e-ad4d-7edfb3365a95) + ) + (fp_text value "100nF/50V" (at 0 1.16 -90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ba7380ca-1727-4d2a-bd20-fe166273a5ac) + ) + (fp_text user "${REFERENCE}" (at 0 0 -90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 6040e8c8-589c-45a1-9b86-b85e86fa0abe) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d9c8dbe1-60b0-4207-8f0c-56dcf4da83e0)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6ba624e9-9946-4664-9353-d98e45724a9d)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3d7e7fe3-aa90-4893-b8a2-ffabf9b1bfe2)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d9b22848-e854-4b82-ab43-c522187dbd8e)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dda758cc-c14f-4418-a26e-d1dbbd1b8135)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1f398afb-b227-4c10-beef-d62aff058fe0)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c69f8c58-6c6e-4bdc-9727-441dfeaea91a)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 87e5c0dd-ffad-4af9-9da4-9de0f11cff4f)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 431e2394-cfe6-4742-9751-27aa7f9aaf44)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ac8f887a-bf00-47ec-9b2a-0f44bfd9699b)) + (pad "1" smd roundrect (at -0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pintype "passive") (tstamp 1093784b-6fbe-40a2-8a2b-64295bbcf680)) + (pad "2" smd roundrect (at 0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 3bff6cc6-4148-49d4-b03b-c941a61cd58a)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 8aef789f-2ed9-4cda-8322-1d702306e70a) + (at 46.101 103.759) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/5284a797-0423-47d2-9e77-6e9b48858bc4") + (attr smd) + (fp_text reference "R60" (at 0.127 2.286) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 458d4d25-5fe7-45f0-950c-c163a7c7d616) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 18eaf577-c9f4-40c3-ada7-4ea625091efb) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 1c8c7d8b-e538-4b4b-b350-dbb7a409a2c9) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a41bb772-efb8-49cd-b1fc-ad35943a7017)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f7fe3c9f-48a9-4421-8049-c61145cb4780)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3894447-4d8a-4c3c-b7d6-89d077da3be7)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d1651668-ec6c-42a1-929f-707f184d6f75)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eece43a2-c8f9-4085-a100-65865adc07ac)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8d31bc89-6e24-41cd-9efb-53857fdca145)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d93e3f6f-30f3-48da-a186-990ce5c0506d)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9fcd196d-4fc3-4966-ad70-452e5babaf2c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8898b0c0-75a2-47d8-a70d-74e7c297736a)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 19c4b1ab-7b0c-408c-a095-20a90a2bdd3a)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 141 "Net-(R51-Pad2)") (pintype "passive") (tstamp 81b58c44-78c8-4333-bc75-a43119a7bcec)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 77 "Net-(D20-A)") (pintype "passive") (tstamp 057ad2d6-df8f-48e3-ae10-cd1242e8e033)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp 8c4eb5ff-8a15-4a8c-a231-501c8b30176a) + (at 86.995 47.117) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/3485e059-b0c1-405c-a2c0-533f49b75445") + (attr smd) + (fp_text reference "RN11" (at 3.048 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6a38b5b6-1e71-4103-a9b9-f5b9d6f64da6) + ) + (fp_text value "4.7K" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0fe84dc3-5b69-440e-87c7-23b9b27a4cd1) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp 2678eaf6-f40b-4a3d-b3bb-0e24e3e934e8) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 84168be5-e6c7-4c46-b7d9-a76ebccf1133)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp deab216c-7b9e-4f72-9790-691b5422e1a0)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3b2997b4-93f1-4faf-80b8-12af91d52f9a)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1ed1922d-acb3-4425-b885-8b34171935e4)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 65ce5160-dc83-40f4-8d83-67a409fe96c4)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5d434bad-ecef-4c9b-8e4d-dffdaeeeebab)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e7bb027a-5ca6-422c-8e11-c2b5c9d3e8ae)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dbb6134b-9861-4b27-99b5-3badb04b1562)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1165075d-7f82-4bb5-be87-7995324f7c8a)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7ff6f3dd-9d7a-4f1b-9472-abe4dfcf1cfc)) + (pad "1" smd rect (at -0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 159 "/interface/STA1") (pinfunction "R1.1") (pintype "passive") (tstamp e70f9424-66ef-4dc9-86d7-5df33fb194dd)) + (pad "2" smd rect (at -0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 157 "/interface/STA2") (pinfunction "R2.1") (pintype "passive") (tstamp 08ff03a6-5481-4032-8ccb-5a8bd5c6bce2)) + (pad "3" smd rect (at -0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 158 "/interface/STA3") (pinfunction "R3.1") (pintype "passive") (tstamp b9e8374b-864b-4e14-9627-e701f357323e)) + (pad "4" smd rect (at -0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R4.1") (pintype "passive") (tstamp ea1742f7-93a8-45d1-ad24-a820f028b0fd)) + (pad "5" smd rect (at 0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 101 "Net-(D43-A)") (pinfunction "R4.2") (pintype "passive") (tstamp 427f6ad9-e451-4547-99e2-31d5f76bb2c9)) + (pad "6" smd rect (at 0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 100 "Net-(D42-A)") (pinfunction "R3.2") (pintype "passive") (tstamp e2c41672-6a51-4ba1-896b-99b1d9bb0728)) + (pad "7" smd rect (at 0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 99 "Net-(D41-A)") (pinfunction "R2.2") (pintype "passive") (tstamp 6aa8e8da-6084-4e97-8044-18e4ad78ed9f)) + (pad "8" smd rect (at 0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 98 "Net-(D40-A)") (pinfunction "R1.2") (pintype "passive") (tstamp e4681f1e-3c40-4e47-b7bd-9475a216ccc9)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 8d71b770-4728-4b57-a2c9-caf9e8590b99) + (at 42.926 59.309) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/73ab2012-4550-43df-8d98-ae3075bd2286") + (attr smd) + (fp_text reference "R3" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 44acf6a8-590f-490b-a714-cc02ff3444dc) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0176ce49-ea2c-4425-a401-b42ee2f628d0) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp db24cd9d-de1c-4925-b885-2d66ee8916a5) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4d146602-6dc5-47cd-b352-2b85d49308ce)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 27c5d849-9d32-4600-a261-b945e74912e1)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5017b9fa-b43a-4018-88c0-1a98782067c0)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4e1c58e7-b8f1-43ba-acc1-eb382f4d5fe7)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0b715f5e-871c-4bc5-b31b-37fd3de188b8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ba3423e9-0d6b-4ae8-a52a-c36690188db7)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9816b04c-a8b0-441d-b4b1-a656088858ad)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3fbdc8b7-eb2e-45d1-a2df-e1e564019761)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9e2d1249-413c-42b4-9e86-03207bce6cda)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b0e03c4a-ea39-4b92-b8e2-80626ac08be4)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 6 "Net-(C3-Pad2)") (pintype "passive") (tstamp 502330c0-5686-440d-be7c-ef77dd86ce9b)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 6667d462-ee63-48a7-9638-b543e5ca8f94)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 8ea643b3-c380-4e01-9be3-62b789b17650) + (at 50.673 102.87 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/836c2092-8fa8-4236-a3ed-c9bc65438bef") + (attr smd) + (fp_text reference "R64" (at -2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 89282864-3dee-429f-b802-2b4230df8f32) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2dec29df-88f5-4bf6-81ea-c9ddf503f35c) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 59c21ee7-2276-4d99-844a-f7c4bf570b91) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c171917-4a3b-45e8-b026-1154426f9d25)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a315cce2-69b7-4310-9568-aa039befc735)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aa60e805-e2a8-45d8-8344-39f907413208)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fad22d33-7b74-4376-87c8-edd6051b4b72)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 430eb438-22fe-42fb-a6ea-6f5f8518573b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 41543b1d-b727-43e4-9656-96e8b9b624a3)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f9135b8b-b00d-44c8-a4bf-0b2fe6a5a369)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c95c77da-6173-49eb-8eef-e5a10cbc7d50)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6694d3c9-5fea-4ff3-99d3-b3373846a96a)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 35d94503-9241-4b75-8b1e-2ad1a633a96f)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 76 "Net-(D20-K)") (pintype "passive") (tstamp 48c702f2-7691-4a27-8fc3-c5e22b4bf5e5)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 25 "Net-(U4C-+)") (pintype "passive") (tstamp 6f7642d8-d746-4442-a500-9d5f840faa22)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:JP_0603" (layer "F.Cu") + (tstamp 8ef55d69-d34a-4807-9fa7-def8a32f969e) + (at 61.341 28.829 -90) + (descr "0603 短接") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "exclude_from_bom" "") + (property "ki_description" "Jumper, 2-pole, open") + (property "ki_keywords" "Jumper SPST") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/757890b0-1563-455f-8ce5-1c8b54d81e15") + (attr smd exclude_from_bom) + (fp_text reference "JP2" (at -6.096 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 77c75851-2a3d-4aea-9fe5-78cfa0f83ec2) + ) + (fp_text value "Jumper_2_Open" (at 0 1.524 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2d873fc4-7f94-4ecf-b000-4d5733c9485b) + ) + (fp_line (start -1.397 -0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7a787db-974a-426a-984e-e5f29bbc0180)) + (fp_line (start -1.397 0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 82863dc9-7e50-4196-a89f-f9e4ec1521e0)) + (fp_line (start 1.397 -0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f4c2a39b-6aca-4f85-ab87-cec9931a20f4)) + (fp_line (start 1.397 0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d4ad87aa-3b5d-4b81-a41b-07153313b2c8)) + (fp_poly + (pts + (xy 1.1 0.44) + (xy -1.12 0.44) + (xy -1.12 -0.43) + (xy 1.1 -0.43) + ) + + (stroke (width 0.1) (type solid)) (fill solid) (layer "F.Mask") (tstamp 59d229d0-5ae1-425b-9547-fc1eb5d7a9a1)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 741f2e5e-12f3-455f-b4c0-b27947370147)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0a040f10-4b98-42b6-82fa-991907abf3c9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3bdd2885-277a-4d26-a7c5-f1914be9f4bf)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ecf14597-2c52-44d8-a2b9-15f7029fb322)) + (pad "1" smd custom (at -0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 9 "GND") (pinfunction "A") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.5 -0.5) + (xy 0.3 -0.5) + (xy 0.8 0) + (xy 0.3 0.5) + (xy -0.5 0.5) + ) + (width 0) (fill yes)) + ) (tstamp d0b2c988-c1a4-4941-a971-43840c84e760)) + (pad "2" smd custom (at 0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 119 "SET2") (pinfunction "B") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.8 -0.5) + (xy 0.5 -0.5) + (xy 0.5 0.5) + (xy -0.8 0.5) + (xy -0.3 0) + ) + (width 0) (fill yes)) + ) (tstamp 23bef29d-2496-480f-b48b-19a120f469d0)) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 9035512e-5ea6-4b1d-9944-46b153526711) + (at 46.101 53.975) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f5ebc91b-f3da-43da-9eb7-563a6c812757") + (attr smd) + (fp_text reference "R22" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a09764b7-c8e1-46f7-8d8c-c36b56899b1c) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b6666a10-7917-4d96-88b4-d418597743ea) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 03ca9d50-7155-4174-8f8f-a64095223d6b) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f4b00f35-7a89-4d09-8124-d2119a0a12d9)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 04df1579-2fd5-4e7d-b4d1-d354f187f440)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b29a5bc9-ba00-4de2-80d6-318b263a1433)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a5ba0640-2a5e-453f-9dfc-e55e60a3a1a4)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8bb5d4a3-a38b-46ad-861a-0a16944cdb8c)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c87c3e88-07e9-4bbf-b2af-d965e1c5adba)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28c6f51a-e0e0-46d8-a95e-3297f906d6c9)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 097257d9-7b1e-40c3-bdd6-f2e9626f8110)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 78de886d-d2be-4ead-9b4b-634f17f1c7ef)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8aca2e4e-5347-4be4-ba70-d8fee5f1286e)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 128 "Net-(R13-Pad2)") (pintype "passive") (tstamp 7df161c5-e63f-435d-a3de-1b7b4cfc8105)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 59 "Net-(D7-A)") (pintype "passive") (tstamp c07b4e57-7663-4927-98c7-d00a3e01c40d)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 92746e4d-018d-411b-a040-383ce78c64bf) + (at 55.118 94.996 180) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1290d45c-9eee-4daf-b808-7ef9fa613ce6") + (attr smd) + (fp_text reference "R71" (at -2.794 -0.762) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp cc59a46a-8503-426f-8608-2f8a5e933e44) + ) + (fp_text value "10K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 74057c9f-b033-4260-a323-635cb6802984) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 12d0a8ec-df0d-4ccf-9898-22dafd89d1cb) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d2346d92-8c9f-44c4-8e52-8a6250667634)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2d253b94-2590-453c-8989-c00a15f08abc)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bbe203de-de44-48f7-b57c-bdc27c102138)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 421c459f-bdc7-47a2-a03e-b0cc96d39587)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 237dd7e9-b536-46fb-a6d5-fce9f0c050a1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6968f360-c72c-470f-adef-40a6280752d2)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 14f107f2-cb86-4336-b595-6fb53d31c204)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fbab30e4-04e6-42b4-af76-d82553ca79f6)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f8556f28-24d2-4555-b0be-019e111af8f1)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 85044e79-debf-4e61-8d07-84e3a73eb9a5)) + (pad "1" smd roundrect (at -0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 82 "/frontend/OPA7") (pintype "passive") (tstamp 2e4a18bb-fa8a-4fe4-95d8-87ed808f85a9)) + (pad "2" smd roundrect (at 0.825 0 180) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 212 "Net-(U4D--)") (pintype "passive") (tstamp 5da47945-17fe-491f-951c-af1a93ce1846)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 92a1fe84-e0ba-45a5-8dd6-db3d709736d7) + (at 42.926 100.203) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/dfbab8d4-dc8c-430f-8184-0482d46abae6") + (attr smd) + (fp_text reference "R44" (at 2.032 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d07cdbac-4281-44d1-aa69-9aff851cd4c4) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f2885fd6-05e6-4179-8441-c8dee020e2ca) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 705a1f9f-5e82-42f9-ab27-4f0d9692084f) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2f8a95dd-dbf4-4730-b446-31ba617531af)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8f66dee8-85a3-4fec-bf39-7eabd5469187)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c39e1b42-d98d-4f11-9bd9-aaea9ed6dc5f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2be9063c-f191-4c73-a160-e86e6b2c579d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b9411437-22d9-42a2-b34f-692e87b8ef4f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 09414fda-e883-4ebf-a4a6-ad89bae2937b)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 652786c0-f4c4-4881-898d-40eb936a2763)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cbdfba81-5971-49ae-9a53-1bd247d72651)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 48e5e4f6-662e-4e70-b398-6b770da5eb02)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f60dd04e-a0d4-494a-8432-aff691299760)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 21 "Net-(C12-Pad2)") (pintype "passive") (tstamp 1da0fdb6-6220-47c2-8f8b-5c459522225a)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 209 "Net-(U4B--)") (pintype "passive") (tstamp 2064dc8a-2b58-4bbd-9769-2db444c742d5)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 931f5a61-4384-42d8-8095-0823309f3339) + (at 96.266 44.958 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/dde49aa3-e8f2-44ff-85db-b706d57cf8af") + (attr smd) + (fp_text reference "D41" (at 2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp c0ea26de-a1ca-49f1-8395-7e362eab05f5) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a12b8b0d-d5be-43e9-b979-125c637ec269) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp d5d84f44-be81-44bc-b71b-ccfba07ad814) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 73bc11ef-ca0c-40ec-8116-850b0a16ea00)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 73c154ba-f4d8-4f76-8199-d18703c13a39)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d641cbf-deee-47e0-bbdc-ab7dcef7f84a)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7bf747bc-1b43-408a-90a4-89d4091b80dc)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 15f512e5-07c2-4b92-b1e9-76c000bc4101)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dbf92474-6bf5-4469-a6d9-22a2752977e0)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2a2c584a-49bf-49e0-9a74-fb236bbed71c)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp db2fd2b0-3adc-4048-bab9-cb0bd9b0ba90)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 21737c4a-d386-45a3-ae7e-7f39c368859a)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8cae97f1-3c4c-463d-9808-9b56612910fd)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2a05882f-4740-4b36-ac60-e192aecf0fb4)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d4498a83-e875-4c1e-9557-933235dc3b8b)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp f96a7b39-6f86-4a97-b0a8-70051c8d24df)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 99 "Net-(D41-A)") (pinfunction "A") (pintype "passive") (tstamp c96ca25e-1cef-4a4c-9ef1-1cb66a3941bb)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 94485c93-1045-4a20-a8a2-14cf9f36dbe4) + (at 42.926 80.645) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/bc61398f-ab89-47b8-9952-566a136dc18d") + (attr smd) + (fp_text reference "R38" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2ed5ba66-030a-4774-be5d-cbd74393434b) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e81a4d0a-da11-4b0d-b2bd-3a1b541db19c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 023d9841-b98d-455f-9c6f-158c3d1d91c4) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3c8ba0fd-8653-48c2-8205-aa1e99bb7e89)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fa66d5e4-44bc-4b52-88d3-0894bc18373d)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7c56d5eb-7495-4e73-af44-f8d2a7910785)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 626c5616-6c45-4917-87ed-1eb168ba6f43)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0f683e6a-9209-4552-b745-22924126045a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 09727704-d207-42a5-9102-d8e4abeda2be)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8955a6f-c231-40d3-8935-d7c5ff1493e2)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 86540892-c41e-49f0-8bac-e2ccabb6fe13)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 93151d48-b8bd-4ac5-b2c6-52f401b534a9)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1bd6a62e-5edc-42ab-be57-d71bc6cc7881)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 17 "Net-(C10-Pad2)") (pintype "passive") (tstamp dbf6612d-7cd1-42b9-a271-11b44c09388f)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 13776a3b-5aa3-4205-a55b-df1376049217)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 964a3f6a-0455-4acf-8cb9-b85dd5ee52f1) + (at 54.991 100.203 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a821b409-df6d-4b53-af2f-f7e903621ea8") + (attr smd) + (fp_text reference "D24" (at -1.905 -2.032 270) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 86dcbeee-4233-4378-8c05-e98e9ea82ebc) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6accbd52-6d06-4b38-9349-92a371d06deb) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ede769cf-b8ca-44a8-b77d-e061c29e4a19)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 840d52a3-6e62-4408-9d6e-a379e743c05d)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 404f51dd-a40d-4e51-88f1-c0106049007a)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c90c4da-1186-475f-9677-1eae54edfc06)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d7bc477d-de5f-4f07-81e4-3dd49e34620a)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 37320667-aba5-4045-9c1e-eba830b9c5bc)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5ceb828c-c142-420b-bffe-4cb9b54b480b)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bd8ffa97-be6d-499b-80c0-74fe31d2ba61)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 145a4da0-910c-41fe-8574-f061e4068bea)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ea2a2d9b-e3ab-49b4-8263-c32c9ebb9ffe)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0c3391d2-075e-4900-9344-3aff77a7a725)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e923792c-df9f-4457-9f12-171f7b0966e3)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bce1d46c-06a6-4da4-8c03-da16577cc466)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8586952a-a866-4d48-acbc-fdbd1b097eb4)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp faa0ca19-c128-4300-a069-1d5c06fe2d45)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7cd1c85c-d33e-4161-bcba-4de68866d012)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 94022917-6c81-4002-ae9f-555305a95777)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp febbba5e-e3f5-4ce9-ab9b-8b85292742ec)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9fe302b5-b893-497c-ac02-5cb15d53d085)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 179da880-ac8f-4edb-9b03-e6fff2ccd15b)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3016563f-7101-4aba-b233-55612cbb9ec3)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b604f58e-90a0-4647-83ab-edc77eb2f057)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 84 "/frontend/OPA8") (pinfunction "K") (pintype "passive") (tstamp b39b7b03-f88e-4620-a059-c0fa27c105f8)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 85 "Net-(D24-A)") (pinfunction "A") (pintype "passive") (tstamp 64e9bfa5-d774-4a04-b970-64c5e5a27954)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 96c6ea51-f776-4d6c-8ba2-4cae873f2ee7) + (at 52.324 37.084 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/4507efa6-230e-4a35-96a4-8cf0c8a123eb") + (attr smd) + (fp_text reference "C5" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 31203802-d0fc-4027-8c25-0fd71b48cef8) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2aabe0cc-1199-43c2-9111-8a461463c6a7) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 2bb82b47-80f8-428b-a211-e4025149c464) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8edff981-1339-4079-8fed-125e57c8200b)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5bef5ad2-6c2f-4c21-978a-466fb06ca0c2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 156ec26c-f3d5-49cd-828f-dc44ecebd73a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 974bb673-ec46-434b-94c9-0ba555278f4f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp be50aa0f-2bd4-4096-90a6-c4a9e802bdd6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c2d68064-559f-4a34-b3d1-b7e6798d7753)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27f20e4f-067d-41a0-9e12-43a89c19181d)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d616b251-3989-44a6-8874-e323ca8148bc)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cb787ffd-1a8d-4dc3-b3ab-5257ee86ff4d)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9f6dfd0f-cf06-4175-b090-e5f30a5f7287)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 656085b3-9cb3-41d4-a2bb-f8a3169a1e1f)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 10 "Net-(U1D-+)") (pintype "passive") (tstamp f199602a-47b2-4012-bb47-c09b28f85ac7)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp 97b9f385-f66d-49fc-97e2-6eef776d57c2) + (at 83.087 99.06 180) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/e09d8785-8d77-449f-b04a-73900395915c") + (attr smd) + (fp_text reference "RN6" (at 2.823 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3599a56d-7419-457a-84e0-6dc87189f10e) + ) + (fp_text value "4.7K" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0368f3db-414c-4e70-8651-da8ceed695fe) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp 7e3cf1a5-dc77-4ac4-a2f9-dbe725f7309d) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 77ec99fd-66e3-4742-b560-aaf53f7ad3d4)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 12cf7cb8-89ff-4df6-8633-f1e268916728)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4b3b5dc5-3663-4493-9344-c5c9963cce53)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0bedaad3-fb1b-47e9-a2a1-9fa062418f85)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 10ea6319-cdac-4760-a740-3748d3cead2b)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 98735d75-eddc-48f0-b5e4-3402bfda78df)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 86f97329-24f3-4275-83f0-0505344c5023)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b1d6ea5-0f5f-415e-9498-585980375b91)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 738832f1-212b-48ed-af51-079d9002e510)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4c353605-1952-4062-b0cd-135022afece2)) + (pad "1" smd rect (at -0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 48 "X8") (pinfunction "R1.1") (pintype "passive") (tstamp f1ffc79f-856b-4b5c-b833-d21a0661b620)) + (pad "2" smd rect (at -0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 47 "X7") (pinfunction "R2.1") (pintype "passive") (tstamp d3cf30f1-2d31-4629-a8b4-2af1d0b8a6c6)) + (pad "3" smd rect (at -0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 46 "X6") (pinfunction "R3.1") (pintype "passive") (tstamp 9fcc0954-498c-46d4-8551-487aaa6ea214)) + (pad "4" smd rect (at -0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 45 "X5") (pinfunction "R4.1") (pintype "passive") (tstamp 06a9bf2a-b68e-432b-944e-8e67c8043e6d)) + (pad "5" smd rect (at 0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R4.2") (pintype "passive") (tstamp f07c32bf-000e-44c8-99ca-4d1f9aad90e0)) + (pad "6" smd rect (at 0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R3.2") (pintype "passive") (tstamp 89186299-1826-429e-9f64-a1f610198883)) + (pad "7" smd rect (at 0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R2.2") (pintype "passive") (tstamp f88614af-216e-451f-9fbd-3270d611f343)) + (pad "8" smd rect (at 0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R1.2") (pintype "passive") (tstamp f340ed60-c84d-4aa8-ac73-935e58d232b4)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 985e49f9-dfab-4174-9d41-8862895f77be) + (at 57.912 54.864 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/db23e248-7fb8-41a4-9c31-9f41443df006") + (attr smd) + (fp_text reference "R92" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7bdddca9-2277-4e56-8770-850a7603b3b4) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d44eb7c7-f213-4d6d-b31a-5e2e011db017) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 40acc348-862e-49cd-a047-f62faf53eb84) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 651ab950-81ba-4827-a39f-49ec9d478bc7)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4c52aca4-da33-4143-b1e9-cb2854da8462)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 154aebc2-176c-4bc8-a807-2f40e6609bf3)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d5bf37ac-5c9b-4df5-8ba2-124f21754099)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5d8ae8cf-9ee9-4d90-a74d-7f98bb24e2a6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7d19127f-dc00-462b-8aa7-a9e65dcdad59)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e11ddee2-70cd-4d68-a3f6-4a4ce4d4f4a2)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7d6056ee-ff39-4400-8ff1-62c22a4e9fde)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 663523a0-484f-4b74-97a9-378003b7863b)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2aab70f1-b3a0-4018-a4e4-16fcb76bb9bd)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 66 "/frontend/OPA3") (pintype "passive") (tstamp 36b42c1e-36d5-47dc-a480-54da33595d3e)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 30 "ADC3") (pintype "passive") (tstamp 0890116f-f1e4-4abb-8998-15e1db33aeef)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 99de8cc4-500e-4e7f-bd91-09647fdfbce5) + (at 48.768 103.378 90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/2405b23c-01ac-4ac5-8035-9d61ac1825ac") + (attr smd) + (fp_text reference "D20" (at -2.54 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f7fec171-9750-45ad-9723-07e0f01157b9) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 08666e7e-96aa-4944-9c6a-996a77dad68d) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eefdcb48-e701-4385-b38e-6f232ea82a0f)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6462b4ab-3e8d-46fc-957c-d4398df7e097)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c4271713-d771-4d29-8f8f-894a3d9e6e69)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f824fc5d-a47e-4ac3-991e-ea7c69ce777e)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ad2525ec-3a08-4285-a2d0-9761bc8a1bd9)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f6940088-925b-467d-976c-53be98d6d06c)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 386ce83f-4841-43d3-ac4f-7a6505c8ffa4)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0d71c0ae-6a26-4fe7-a091-e5999182bf81)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 083582ba-eef8-4d63-a0b5-82d6850419d2)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fd351399-05fd-4570-a224-4a60b33c2274)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0f8b6f02-c1f3-4a20-a501-2108685e36d9)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 72c1b15e-3d19-48e7-a26d-fa6c838662c3)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4458010d-0fcd-40aa-ae89-164adfdb7d69)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 31745256-618f-4563-b1ac-dfe58591b42c)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fc24269f-f368-4d25-b594-277e5c2b7955)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f82a2857-b0da-4542-b458-3f10b40d21a5)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 257c82bd-6125-41cc-b407-0d48b409ffd8)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 41531655-e526-436f-ab8b-c7fb1b1677a5)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f91b99ec-8ef3-4c09-b6de-0addaeadbb42)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp aa8bd543-a89a-4952-8eb6-916ca1289879)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d15acc58-dd2a-41d9-82f9-d271438c4bdf)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 62f6321d-7914-41e0-8ef6-6981207f2a8b)) + (pad "1" smd rect (at -1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 76 "Net-(D20-K)") (pinfunction "K") (pintype "passive") (tstamp 0325e8fa-661c-4fee-81d3-f9298da9eb24)) + (pad "2" smd rect (at 1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 77 "Net-(D20-A)") (pinfunction "A") (pintype "passive") (tstamp 56f7c88f-de04-43a5-8d7a-646b0d632cb9)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 9a1f921e-e3a9-4b64-b30f-ab3477c5e163) + (at 55.626 102.87 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b0198819-1f2d-4ab2-a6cd-3ec622ff117e") + (attr smd) + (fp_text reference "R89" (at 2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f28af605-5b93-44ea-88b5-89bc92ffb644) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 1fa120d0-1d7b-4eaf-afa0-aa94e7f927dd) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 05f5ca06-5461-4dd8-ad29-d31e57b92eab) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 83db728b-61d6-4762-a323-2dff9ebcff4f)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d8ce8cbf-b1dc-4e90-b0ed-941f20969876)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 61d66d14-28b1-4346-876e-3963e47f3b69)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 139ba137-e209-4bfd-9fc6-f1eded82532b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 790eb51c-c7da-4b4c-855e-6db457c0b847)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp adcc28f1-cf9a-400a-8803-afac8eec3d91)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f9810828-c3fb-4afb-aa2b-24b85ba3da46)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7bf6db23-89df-4a7b-a3f0-3caef8f17ea6)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ab4d44ed-ec10-4bbb-9623-07ffffab7c33)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3d8d9c22-e22f-4841-9446-fe7852b1f6eb)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 84 "/frontend/OPA8") (pintype "passive") (tstamp 07c80114-a138-4923-8bc2-2e4a84e53349)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 5892d9f6-d41e-406f-a6ed-bd9cad55b66b)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 9a6b3d58-0f57-432d-b9a5-2c083aa65a2d) + (at 57.912 99.695 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/2ef3d5bb-906d-4264-9959-a291e9935268") + (attr smd) + (fp_text reference "C26" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp fcbcc4e7-d3f3-44ff-9010-e12b3ca55c05) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5c87db91-c8ac-46dc-9eeb-87f647e04d71) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7ac86b5c-dd59-489e-8497-93c7731e5596) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1a556e5a-124b-48b4-af6c-822e564e6eb0)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b60b7ffb-679a-43d6-a97e-3de45825efed)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 071e9a9f-569d-4b30-8642-f16130450219)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c312bdd4-322b-4abd-bda3-400d19c4d758)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c471851f-d621-4878-bb24-28a7d8a56add)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1793bc2e-7a9c-43ca-aef2-e951a60dabb5)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9a644c15-5454-447f-b427-6a6ea9cab9e5)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c067dc7f-a0e7-4146-b564-0df9333af897)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 08d5714b-8198-4969-8763-dbf1e238161b)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8bce11a2-25f6-4e0b-be7b-b1ae78f0e5b4)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 29 "ADC8") (pintype "passive") (tstamp d6bb34a4-3624-4f0a-8a03-bc3b43fda1ca)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 9a1238c0-24d1-4665-8b47-46f180f8157c)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp 9a7c5d7c-98e7-46c8-b715-0454cb3b294f) + (at 46.101 71.755) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/93b405b4-2d0d-4178-8416-5b469130f201") + (attr smd) + (fp_text reference "R54" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1382dda4-e297-4b3a-afee-3c128347cd0d) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 45abe5b4-2742-46f0-ba9e-d0ae1997f34b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7e19158e-91a7-48fc-94b5-42ed11f3309f) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0f9f5b3b-604a-49aa-989a-5b3ee3264e24)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c0740397-fef4-4a79-bc19-18fc32506297)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3b9e05f6-0164-43d1-9890-755f5d960f90)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3837fedc-1320-48a9-8cde-bdb758e29aff)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7dda8bd8-a8ad-4596-82ef-776001494742)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 89cddbb9-0ad2-43be-8921-f974acd4e69e)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5ce3b2bc-eaa6-4b72-8d6c-3551265f0a38)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b85d150f-62f1-4c69-a330-001818a5f76c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1c92b50a-7825-426a-923b-1659d8024ba8)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bae248b1-9f84-45d4-a814-4f56a28dbb10)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 138 "Net-(R45-Pad2)") (pintype "passive") (tstamp b04571c6-3c1a-4f05-8cf2-3a971a199c38)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 71 "Net-(D17-A)") (pintype "passive") (tstamp 308324bd-490c-4bdc-985f-f19c8f092e1c)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp 9d7c4b6e-4765-4c39-bfde-3c36cdd14070) + (at 38.989 46.863) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/c38d497d-8b8f-4ba1-be6e-bfbb91a3ff18") + (attr smd) + (fp_text reference "D2" (at 0 2.286) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp c32ab1a7-ce62-4dce-b34d-aedc330e3c5d) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c9811392-dafd-450e-8627-050ad92c4d8e) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp ac125b1e-2aaa-433b-83c7-d2e58db80dcd) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1357eea1-da7b-42a2-9cfa-d4e3bc8489ea)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a418a940-9acd-41a2-9b74-e89021809c6f)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 39819bef-46c4-4c2b-8fed-fc5c956be2c7)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0e2727de-808b-405c-8a16-bc2bc5040dfb)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e5f390a8-bab6-45ab-a59d-a78319b0b329)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2858d1db-ad73-4638-a5a0-32306528ec5a)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 91084d68-8727-4e52-91a5-5d69e3d66dfa)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9b65460f-6605-4e04-a196-8cc7e80e64f9)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f9d3007d-8882-455d-87d6-3e18396de33a)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a02e2922-0b2c-42b1-a583-49b4b9dbbc4f)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fd0bba03-1864-4362-9ca4-14368ff79c54)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37bcf859-3521-4c4d-aa80-e626cc46047d)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9b034f7f-e61e-483f-8f91-9276c81f667c)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 035a59de-b8ce-42da-bf58-a084b5e175c1)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 12f5f68c-a1e5-4f26-8069-e305f6b612ab)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 4 "Net-(C2-Pad2)") (pintype "passive") (tstamp ecc7e030-f8e3-4cfd-ae0c-85d43d2e5960)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp 9dbbe9a2-6c91-4c9f-977f-de814a2cc127) + (at 57.912 81.915 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/eb82c8f0-d8cf-4b57-8652-32163f24c2b9") + (attr smd) + (fp_text reference "C30" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 989cafbc-c6f7-442d-84f7-5e4ba24145f0) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d9bc2f01-805c-43d7-b354-4849181e20f1) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 52945875-58de-4635-b64f-9d15cf100a82) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bf260eb4-cb54-42ca-8909-39c4e8918a3d)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ff71c3df-6b7c-4cc9-b02d-0d9d2aa4482e)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f0513be-87b2-4285-ad37-f828da4bcbd3)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 04df33b3-151e-45b5-91b9-990921207d78)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 54856c5b-caac-4576-9118-c7a0e81d2243)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 33f1cc74-cfde-4300-8fef-f3432f53d896)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 80899518-2d90-4031-9397-f1bef3812be6)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2e0cbc8c-6ec6-4740-84d8-5adadcb8c387)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d92abff2-eb3c-4a86-aa29-02b1813e6970)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4956e198-97ac-4fd8-b7a2-a851a618c8df)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 33 "ADC6") (pintype "passive") (tstamp 32cfc88e-cb2e-41e4-94ad-25894f9cadab)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 2f8aa79a-2730-4949-a763-0703f6815588)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 9dd83989-42d5-47bb-bda4-c59b8422f7ff) + (at 68.453 37.084 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/5f408b85-32a3-4bf4-b56f-dd15ec97c2c4") + (attr smd) + (fp_text reference "C35" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp dcd2250d-70c8-4fa4-8e4d-73c0ca7e92e7) + ) + (fp_text value "1uF/25V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 63547d72-9ec2-4b1b-b0e1-3e248c56d8c7) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp fdb7e7b2-3e69-494e-8fc7-698f20f259d3) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1c8ed2f7-163f-423b-9797-3b7585ff7ecb)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1be799c0-b35b-42f5-a063-a0a9bec3b1a7)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a287b52b-617e-4ba4-be8e-4332361c143a)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fad27177-0e44-4a4a-9528-6d8bd0b2881d)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7f15f39b-3799-4426-8f95-8a41dffb0169)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7743e9d6-7867-4099-a58d-70487a9ab687)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb702193-75da-4df6-bddc-0f5384680caf)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 487af9cd-2a87-48a9-8b34-3b63515701cd)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4f8cf2e5-762e-47eb-a47b-f641f91fc98e)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 39278066-0e9c-418f-ac80-df57240643a2)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pintype "passive") (tstamp ea998a24-4402-4d5d-b6ed-e90cc34e3671)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 9c279aa5-038b-4d40-a873-fe4d096a6ae2)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp 9df6cfd5-83ae-4d16-8aa7-f2cd4c3ce55d) + (at 96.2405 30.861 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/de225e80-6502-4a30-bb98-d6f313c3a3e4") + (attr smd) + (fp_text reference "D33" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e8744c86-7132-4375-9e6a-d933e9d92dbc) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 942f275c-6b1c-4eff-934d-1fa8e742dfea) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b710097a-a187-4437-8e86-868542eef613) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 182f0405-7514-4dd4-ad7f-6ee53d56e372)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ac40703c-2b64-4455-a3ea-cc2b74b301fc)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 95c66eef-24ff-4dc8-a236-d805e4cea5ef)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 90bfc812-e9b1-4339-8a17-22aef9b2bdb8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 95a3cb10-899b-44cd-b311-6fc6ebc942ce)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e8db3ba5-bf67-46bb-b4c8-9f1c0c8879d2)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a481db51-d410-438e-a243-dd8f01aa331a)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 834679a5-b527-42c6-83cf-a2b6dc04f495)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27f96825-f88f-491e-aa9c-e81ef6e42d99)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 219f6ffb-b3a2-41b6-b560-a914630e402e)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 34f8e04d-c185-4005-8f26-79e83a3a6f7c)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 303c56a3-faf3-4058-810b-9957809ec34e)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 52d43b9c-ff1c-47c2-b0f2-64a9f97ac166)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 91 "Net-(D33-A)") (pinfunction "A") (pintype "passive") (tstamp f4873d05-67ee-4548-bb9c-4090a1280faf)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp 9f266c5e-3d27-44ee-b4f5-c944eff64fc3) + (at 78.613 80.137 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/6b69af51-d1c0-4214-b9ef-a24f2539b8e1") + (attr smd) + (fp_text reference "R74" (at 2.159 -0.381 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 344273ca-2b0e-443b-ba51-a481903476c5) + ) + (fp_text value "10K" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9dea394b-c456-4f92-a95d-a43e7dd49a20) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 1acb5614-6a24-4b00-b6eb-df8364553166) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2d815ae1-7630-4918-a3ca-9768e97d6521)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f19c7572-2173-49f9-a305-7c6e8d20a2e8)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9d3dba2a-7421-41af-bf83-8e3012c95b84)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3e42b7e0-aad0-46f5-ba5f-94a83b0c74f9)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b893b572-0b7a-4092-b698-241b796005e6)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0caab0fb-530e-4527-8aa0-68862712b898)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bacc635d-cb5e-484a-8674-2e8184ba2791)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 974aa0e8-1d92-4c93-b955-fd47b5d38a03)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58d1cf1c-bdcf-4cce-8991-340a63dfa54e)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1355decd-9767-4847-863f-3c691ea608e7)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 214 "Net-(U8-DS)") (pintype "passive") (tstamp bb0d7c6d-e28c-48f0-9712-d07216150f0b)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 53da36d4-44cf-41fd-b23d-01f31265b06b)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_IDC:IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical" (layer "F.Cu") + (tstamp 9f820963-fe1e-49e9-95cb-819114f5e7ec) + (at 32.733 78.89 180) + (descr "Through hole IDC header, 2x08, 2.54mm pitch, DIN 41651 / IEC 60603-13, double rows, 6.5mm latches, mounting holes, https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0") + (tags "Through hole vertical IDC header THT 2x08 2.54mm double row") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x08, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/88e91dd1-8655-4cf7-b327-3adfb385a8d8") + (attr through_hole) + (fp_text reference "J1" (at 5.301 -11.788 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 94e35bad-01e7-44f0-a00f-004e56e6249e) + ) + (fp_text value "Conn_02x08_Odd_Even" (at 1.27 36.25 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 98cab2fe-a35b-4e28-b7b6-d6305b63d958) + ) + (fp_text user "${REFERENCE}" (at 1.27 8.89 270) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 71e632f0-c31b-4925-b09b-7fd980a035d5) + ) + (fp_line (start -3.97 -3.61) (end -3.97 21.39) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 99bf2662-4c79-4ad5-93ce-fbcce68d3841)) + (fp_line (start -3.97 -3.61) (end 6.13 -3.61) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 4072f5c9-aae2-4a41-ab52-fb491c03e529)) + (fp_line (start -3.92 -0.11) (end -2.92 -0.11) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7f20538-f816-44e0-bfd6-329ff129a551)) + (fp_line (start -3.92 16.39) (end -2.92 16.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 18b39eca-7b83-452a-a6e0-8f1d42235466)) + (fp_line (start -3.24 -11.08) (end -3.24 -4.064) + (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp f762c882-a04e-48b6-9187-4dd8fe5c13d7)) + (fp_line (start -3.24 -11.08) (end 5.78 -11.08) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a78790df-8016-40a3-ab44-6cee7a373d31)) + (fp_line (start -3.24 28.86) (end -3.24 21.844) + (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp c88aa45e-eb09-4bf4-8c97-8df28509a584)) + (fp_line (start -3.24 28.86) (end 5.78 28.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7226ec8e-5df7-4f39-8da1-5d320383b6a2)) + (fp_line (start -2.92 -2.61) (end 2.08 -2.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ad6adb9a-0b94-4d48-910f-85c450a2a1fa)) + (fp_line (start -2.92 -0.11) (end -2.92 -2.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 09a379cc-2f03-4bae-bcd3-94e106334979)) + (fp_line (start -2.92 0.89) (end -3.92 0.89) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 692ac1de-65fc-4100-8f98-dc8ac410fe4a)) + (fp_line (start -2.92 16.39) (end -2.92 0.89) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f4be9776-0860-4ee9-a35f-d398bc8e7cd0)) + (fp_line (start -2.92 17.39) (end -3.92 17.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b25879f2-95af-4183-a090-2953958e1a80)) + (fp_line (start -2.92 20.39) (end -2.92 17.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f982a66a-50c3-4e8c-8560-1a54fc548e43)) + (fp_line (start -2.794 6.84) (end -1.93 6.84) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 85b9d8a9-1032-4852-ba41-d2d859282a50)) + (fp_line (start -1.93 -3.92) (end 4.47 -3.92) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45670fe0-4460-4fa2-ba86-8afdf0e8dd6e)) + (fp_line (start -1.93 6.84) (end -1.93 -2.286) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fe5951f9-08fc-4dfc-99c6-a727902c5f5c)) + (fp_line (start -1.93 10.94) (end -2.794 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5f835e5d-0d85-4152-840e-b68f1329ec48)) + (fp_line (start -1.93 10.94) (end -1.93 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp de0af0dc-06b0-4186-a579-3c5cced2354a)) + (fp_line (start -1.93 20.066) (end -1.93 10.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 97324d2d-0f47-4f9d-b070-c33657cf4ecd)) + (fp_line (start 2.08 -2.61) (end 2.08 -3.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 327451f8-5d70-41ac-9100-13de9cf9539d)) + (fp_line (start 2.08 20.39) (end -2.92 20.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 75cc1e05-952e-4915-8257-a22aa7b64833)) + (fp_line (start 2.08 21.39) (end 2.08 20.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 61e64ccf-14ab-466d-aa41-0f7277d5ece8)) + (fp_line (start 3.08 -3.61) (end 3.08 -2.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a88b23f6-dafa-40a6-a0f3-04875e8d6041)) + (fp_line (start 3.08 -2.61) (end 5.08 -2.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ae047b2e-fff4-4235-ae3a-e9fb674749aa)) + (fp_line (start 3.08 20.39) (end 3.08 21.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 359cab89-b689-42fb-b471-c5aaa06bb6bd)) + (fp_line (start 4.47 -2.286) (end 4.47 20.066) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c6d236a4-3a98-4135-85c4-3b45a54bb384)) + (fp_line (start 4.47 21.7) (end -1.93 21.7) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4dbf4200-103c-4f21-a2e2-1862039eb9f4)) + (fp_line (start 5.08 -2.61) (end 5.08 20.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 68686253-3ab6-4c31-89ba-970abfabe2ec)) + (fp_line (start 5.08 20.39) (end 3.08 20.39) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d8ac3fee-1dd3-40e1-8b76-04eb34e141eb)) + (fp_line (start 5.78 -11.08) (end 5.78 -4.064) + (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp 1f325096-e737-4144-8814-d2913446e875)) + (fp_line (start 5.78 28.86) (end 5.78 21.844) + (stroke (width 0.12) (type default)) (layer "F.SilkS") (tstamp a08e4fbb-9b9b-4707-85f3-ca5c32def4bd)) + (fp_line (start 6.13 21.39) (end -3.97 21.39) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp a3282669-21c6-4b86-b6d6-ab2dacc2f667)) + (fp_line (start 6.13 21.39) (end 6.13 -3.61) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp b2700423-8843-41a7-8162-b6193c0975f9)) + (fp_rect (start -3.208 12.7) (end -3.97 5.08) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp cbddaf1f-0cdb-4be8-81e1-787ec6e00c6f)) + (fp_rect (start -3.556 -11.43) (end 6.096 29.21) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 489eaca4-5006-4313-b6c3-a25874c53cec)) + (fp_line (start -3.13 -9.97) (end -2.13 -10.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 96c73b71-8b94-44be-905d-4f94e987480a)) + (fp_line (start -3.13 6.84) (end -1.93 6.84) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 00b8f1dd-59c8-4400-9862-824f4721285e)) + (fp_line (start -3.13 28.75) (end -3.13 -9.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f269e5c2-7c05-43cb-b8ea-33a200cf3e1b)) + (fp_line (start -2.13 -10.97) (end 5.67 -10.97) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37ed285e-df2f-468f-93c0-bd4185cfbb56)) + (fp_line (start -1.93 -3.92) (end 4.47 -3.92) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e3398243-6899-432a-a169-49859147140d)) + (fp_line (start -1.93 6.84) (end -1.93 -3.92) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ddb44e8-dfab-4c1b-8248-754e71a983b5)) + (fp_line (start -1.93 10.94) (end -3.13 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 26c1e1e1-1a21-4640-bb58-137696cdc625)) + (fp_line (start -1.93 10.94) (end -1.93 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a61a1712-41cd-4b0b-bdb0-12e38d84a47a)) + (fp_line (start -1.93 21.7) (end -1.93 10.94) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5a52c3f2-78ba-4ca5-a1d6-971b981d406b)) + (fp_line (start 4.47 -3.92) (end 4.47 21.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9e975456-12bd-4971-8c37-80981c8aba1c)) + (fp_line (start 4.47 21.7) (end -1.93 21.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b9f1fb39-e01f-4b84-bd62-4c1d2f42ef31)) + (fp_line (start 5.67 -10.97) (end 5.67 28.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45239eef-84d1-46f2-b31e-58d79efc8298)) + (fp_line (start 5.67 28.75) (end -3.13 28.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 03ce67ae-77cb-4d91-b00d-3ef81ecc97ec)) + (pad "" np_thru_hole circle (at 1.02 -8.94 180) (size 2.69 2.69) (drill 2.69) (layers "F&B.Cu" "*.Mask") (tstamp 9698a60a-69bf-4103-ab9f-5dab1ab88e53)) + (pad "" np_thru_hole circle (at 1.02 26.72 180) (size 2.69 2.69) (drill 2.69) (layers "F&B.Cu" "*.Mask") (tstamp d5227078-92c5-4d3e-acfb-ba9cda2ff379)) + (pad "1" thru_hole roundrect (at 0 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (roundrect_rratio 0.1470588235) + (net 20 "/frontend/IN8") (pinfunction "Pin_1") (pintype "passive") (tstamp 7dd6d55e-5463-4f3b-9702-19c8ccfa9006)) + (pad "2" thru_hole circle (at 2.54 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_2") (pintype "passive") (tstamp 3f49abfb-08fc-42fa-b70c-6ca640ed0d12)) + (pad "3" thru_hole circle (at 0 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 18 "/frontend/IN7") (pinfunction "Pin_3") (pintype "passive") (tstamp e9478e0c-a93f-4040-a91f-e86c8d1f1a1c)) + (pad "4" thru_hole circle (at 2.54 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_4") (pintype "passive") (tstamp d453d022-6587-4ecb-9d3a-4c3c69138691)) + (pad "5" thru_hole circle (at 0 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 16 "/frontend/IN6") (pinfunction "Pin_5") (pintype "passive") (tstamp 74bc9fb5-e4c2-4880-87dd-20a7c85acf27)) + (pad "6" thru_hole circle (at 2.54 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_6") (pintype "passive") (tstamp efb86eff-0219-484d-bc29-975948667c60)) + (pad "7" thru_hole circle (at 0 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 14 "/frontend/IN5") (pinfunction "Pin_7") (pintype "passive") (tstamp 543d3fcc-d32d-446b-b2dc-61f2382f616b)) + (pad "8" thru_hole circle (at 2.54 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_8") (pintype "passive") (tstamp d88ac694-6d0a-4309-a7d6-0a8b825b844e)) + (pad "9" thru_hole circle (at 0 10.16 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 7 "/frontend/IN4") (pinfunction "Pin_9") (pintype "passive") (tstamp f2385b9e-26e0-4c08-ab4f-3e0b5a7341b1)) + (pad "10" thru_hole circle (at 2.54 10.16 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_10") (pintype "passive") (tstamp f08d06ca-8673-46ad-9f7f-7a84c0fec91d)) + (pad "11" thru_hole circle (at 0 12.7 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 5 "/frontend/IN3") (pinfunction "Pin_11") (pintype "passive") (tstamp 36a8d24e-b590-42fd-81ca-fe7bafa5298a)) + (pad "12" thru_hole circle (at 2.54 12.7 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_12") (pintype "passive") (tstamp e4f2ee4f-66cf-4954-9201-a70d2b436fdd)) + (pad "13" thru_hole circle (at 0 15.24 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 3 "/frontend/IN2") (pinfunction "Pin_13") (pintype "passive") (tstamp 25bc3aa4-50d5-4c1a-bf48-f41783ca9f29)) + (pad "14" thru_hole circle (at 2.54 15.24 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_14") (pintype "passive") (tstamp c3c02a93-ffb7-4eba-b8eb-ee270893ce45)) + (pad "15" thru_hole circle (at 0 17.78 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 1 "/frontend/IN1") (pinfunction "Pin_15") (pintype "passive") (tstamp 142564d6-1ff7-4e03-bfbb-0bcd3eb032b5)) + (pad "16" thru_hole circle (at 2.54 17.78 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_16") (pintype "passive") (tstamp 4ad80a81-9d48-4fd1-8a33-47d2c52721f9)) + (model "${KICAD6_3DMODEL_DIR}/Connector_IDC.3dshapes/IDC-Header_2x08-1MP_P2.54mm_Latch6.5mm_Vertical.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + (model ":KICAD7_3DMODEL_DIR:Connector_IDC.3dshapes/IDC-Header_2x08_P2.54mm_Vertical.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp 9ff7fc35-52d6-449d-a8a6-7e506fb071cb) + (at 48.768 54.356 -90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/c6037c1e-a120-4174-bcee-c3b2a112c023") + (attr smd) + (fp_text reference "D7" (at 0 -1.651 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 79bff110-bc7f-416f-a45a-4e3eb26321f8) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9909f310-fe71-44a2-ab0c-5fd2b215c913) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 713ec131-dfda-40ed-b773-44d5eef4bfca)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3cedb95e-92b5-46f3-a68a-632336ba8e12)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3bae7fd2-0611-4b88-a9f9-279920b0934b)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 44064d26-6b04-4ca7-b1e4-6e70d20bbe1f)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 74ee5eab-8496-4a55-a135-6806e12be401)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cfc0f368-94d2-4942-96f8-a6a6e0d1a254)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f2af45c6-8de0-48a5-8f6e-083494596c0f)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b4c34c2-0c05-4e77-8af1-de4367bf21ed)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 781ace98-cdd2-41f3-8cdf-27a833f20f83)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 57fa3cec-e9ed-4d89-9424-12f91543e2c5)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6eab318e-e2a8-4305-9d0a-47f05f6454f6)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bfd6d007-1efe-4178-aefd-1211853b9021)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fb4c869d-b6eb-453b-9960-4c997e4ec336)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 368f9ba4-7173-4486-83e8-b43d17851d4b)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 20e5c6ca-65a9-44e7-8402-78dd319aaa80)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c7aa4983-029f-4a0e-b6cc-dd168d38b5b6)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4e446523-ef88-406f-aa45-1e9f7ae46ec5)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45b930f0-fbfc-494b-912b-bfae349ce35d)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 67d87869-e06e-4ca5-bda2-9f50a79843f5)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf237330-769a-491f-beff-e96ee45608c5)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp facf4041-a754-4bb8-b1f4-cbe4ed1879aa)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e77e7b29-704f-48e1-8d56-8d587ff2830b)) + (pad "1" smd rect (at -1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 58 "Net-(D7-K)") (pinfunction "K") (pintype "passive") (tstamp b2c4a16a-bea5-4ab2-b5f7-f6bc096ac90a)) + (pad "2" smd rect (at 1.25 0 270) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 59 "Net-(D7-A)") (pinfunction "A") (pintype "passive") (tstamp 6dd5e4ea-fa26-4329-9417-240c4bda405f)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a12f3f8c-4d9b-4002-972c-8ceb626a1039) + (at 53.975 85.09 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a88e953f-1a37-4e1d-ad20-9ad1ed96bae2") + (attr smd) + (fp_text reference "R66" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 62074966-1d68-4ec6-ad6d-dfa46a098de6) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 136b8745-0dbc-4575-96cf-f8b4f6d491ec) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp d6221c99-7a72-4b18-a069-33619aeacb25) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fc53db12-3777-462d-aabf-ceab21ea7634)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7bde4750-b489-49f1-bf96-f11706399c9f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c6326753-d535-42a7-9ed5-478a0cf40f19)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aeb5b58e-f4e2-4a2f-881e-c82c05157ba5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 03a06f0d-8be7-44bd-a9aa-a3ec1151acb6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5a0e09d5-e2bc-42bc-ad3c-7c2f7903c021)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6885379e-7f35-4873-a37a-756717b10cc4)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fa07de1d-d49d-43b4-b6b6-199ed1807360)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1aa1bbd5-8a75-4a74-904c-3f20c3729f7e)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ab30b654-ee6f-49ea-bc82-41ee2ea45ee5)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp b66ffad6-13c0-42b6-a802-ed141d4c34bc)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 23 "Net-(U3C-+)") (pintype "passive") (tstamp b0429526-5b46-4c71-a3d7-1c02a92b2a48)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp a18e85a7-c014-4cdd-9f62-b27ff240fe9b) + (at 83.087 91.313) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/e78d54ef-9be5-4ecf-943e-2cebeb6a00ce") + (attr smd) + (fp_text reference "C51" (at -2.696 0.889) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0af93bf6-a072-4ef3-9b36-8e18edbb7c67) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 60e3158e-2c6c-48d9-bb6a-7a82c70d5edb) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 3c87e6e3-d730-4129-b245-2fdbecebb171) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e0825d45-2dea-46c3-bc2b-0d2861ad0146)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e949de06-86d7-4072-94d4-c223c6b45007)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1d782220-8f1c-4572-8de3-30f565b554ae)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2897f678-e284-4709-9fd8-e30cbc24e39d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 803d1269-e045-45ce-b9a7-312e259625f0)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02ec5143-7f6b-4aad-8fcc-6bb3e7f3d344)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 52b89f17-a2cc-41bb-b7fa-d9748cf421a2)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ab8c2f9d-50d8-4aa5-b69e-4ea0f4826611)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 75fbdb3c-9778-4e68-bb02-3056cd04c9af)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 232b0de3-0d4b-4f57-9d59-f11465189db7)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 6927c2e2-29b1-4eef-8b4a-82b3e8c1becf)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 48 "X8") (pintype "passive") (tstamp fc84bd29-b908-4755-bdd1-9c2a78e09a69)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a1e3366d-794a-4cf1-a7a6-968c549e6760) + (at 53.975 72.644 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/87af4334-074b-4657-810b-416c6d087241") + (attr smd) + (fp_text reference "R65" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp eb111587-6eac-4fa8-82f5-a50196abc59c) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2070a71f-d32e-4e7d-a636-3f782de4e771) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 1a4cd3f1-83be-49b6-9cf4-17ff56ddbcf6) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp df30dc5b-d5b3-4543-a821-633f41ec4b50)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8d632fb6-16b4-4160-bb3d-5aafea44f81a)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9d48ffa6-256d-409d-b374-cd5495962268)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 52ade2c5-c9f4-48f1-be04-2415a9c1fd94)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 527296a1-5aa5-4536-a384-6201ed6a4293)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2c87bcb4-bca5-4402-bb11-dd5116c1b71b)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e5b00f77-8c8c-454b-999f-9ccc6e0d37f6)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e9f0378f-a5ea-4b9b-81ca-b412f8a6c2cf)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7ec62ac0-2e94-4f60-ba34-3979f9aaf35e)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7fb867e3-db37-4728-8b9b-b61ed98325d7)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 504eb161-6a82-4c04-901f-a09a0c4407a1)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 22 "Net-(U3D-+)") (pintype "passive") (tstamp acab87c3-d47f-4902-b3d9-ed99724d5acf)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp a27ae5c0-1eea-478a-b145-ca8d43ba0353) + (at 83.087 76.708) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/6fd07247-1ac2-458c-95e7-750dd2ddce14") + (attr smd) + (fp_text reference "C47" (at -2.823 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b986d46b-54ef-4930-aa02-cb49c8cdd848) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a61e08b8-2973-443d-9065-528fb4c9ba4f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp e20b9813-fe7c-4f49-beb7-02920e0cc978) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4078ef5d-3f2a-483e-9733-7935eca83b61)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a34e269f-68de-4270-99f1-62c1341c32ae)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 98592b78-3e7e-474b-832a-9e4e6dd5c021)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2992a490-f202-433b-8404-f0d47a47724b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 996c5b96-594d-4de8-be11-cf5630c40dd1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e184c8c8-230f-4a5b-b404-61d150d50e19)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3a91c79d-8668-48ff-865d-875456f8a250)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 718f9841-617a-43e3-bf77-f2ec58bc6363)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f6baac16-7c06-4b91-b46b-bfa3fa02f0d5)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 70f3ad8b-c76d-4ef6-8a6c-4bdc0de0b488)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp c1632b53-2074-4c3c-8e9a-46587800c194)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 44 "X4") (pintype "passive") (tstamp fa870edf-1449-4e70-a081-c94bad5bd780)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a38a5c21-239d-47df-8d59-484967181c8b) + (at 50.673 54.864 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/873c4985-da7f-4040-be26-3e25f46589d1") + (attr smd) + (fp_text reference "R27" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 22a9aa58-2c71-4cef-b705-4d1ea1c0f62b) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 360ee2cf-43f5-4d12-b1ad-868523536026) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp f6983c17-2565-4809-9543-7ae2c7d1d86c) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b552d704-51a7-46b4-818b-3348b47e8ab4)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a6f671dc-ac45-4110-b5ed-06dcb9898858)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3b662ae3-a9de-4f6e-99d4-0e6adfae83ca)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 89fe6b7e-b1bb-416c-993f-677121519ec5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2def6306-3e2e-4eec-8b05-3174a1e73e17)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1924ab3e-6f1d-4cff-bd7c-d0a4bf105ae7)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 02ea04c0-b7ae-4e9e-b979-700e0ec7e514)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 54ff7c29-4f44-4fd8-aa6f-649a13a61ccf)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d5757db7-a42c-47dc-853e-4e8719037394)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 204dc563-72e2-41f5-8748-8f75975671fe)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 58 "Net-(D7-K)") (pintype "passive") (tstamp 6b39e6b1-2e64-4b30-8624-a0d5247f4dc0)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 12 "Net-(U2D-+)") (pintype "passive") (tstamp 2e7d6770-ea35-4025-be1d-55f790c678e5)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a55b7ab2-7865-4cc4-b4cf-850bb6acb67d) + (at 53.975 49.53 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/11e11f52-ce82-4cad-95ae-1fd58f6f548d") + (attr smd) + (fp_text reference "R30" (at -2.159 -0.127 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e646be0e-44a7-4666-b4dd-49784b161a6f) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 97a6a7b5-6509-4bd1-b352-3acc71f9aa87) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a3c63497-4c81-4778-a1cc-1b50ae5a5a14) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c0f4cc3-d480-4857-b23d-ee30c4a7d4fe)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e8f8c0b7-7fed-4f0d-8acb-74a8c3a246e0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp db406c76-d72e-483a-94a9-30144cec89c6)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a405e335-61f2-464f-9d69-f5cf7c647426)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 87bfe8cb-f8ca-4646-96a9-715bef9556c5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1dadf499-ba88-4316-8f05-241f046bd42c)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 13df80cf-340a-4e38-90fd-fdd5d63f5559)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ea8aea0e-f788-49ac-93d3-afdbc3be1a9f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d158f489-0b3c-48b7-9003-91989cd3816a)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d6f5892a-0728-4192-836f-941a22190f1f)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 4bccc389-53e2-4874-b450-a64eaef7b6ba)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 11 "Net-(U1C-+)") (pintype "passive") (tstamp 81752dc7-691c-4d68-980a-d25517d917ba)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp a5bd7bd0-3795-4469-ab30-38a1fdf13e65) + (at 38.989 97.536) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f53e9fc0-a4ac-4870-be72-37180d32e711") + (attr smd) + (fp_text reference "C12" (at -2.159 0.508 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp fa19b988-8fb7-4ec4-bc80-04f3c1bfeea0) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 750501cb-0577-4f96-9365-51beb84f63a1) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 66289a93-b017-491d-8fae-61aa9e94ab75) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d25debe1-4990-4975-9542-3e346d1a7877)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c931de5e-2195-4ae5-b69e-09de964e6607)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 91b4004c-82d2-4184-8ef1-bba47ca3b204)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1446e0cf-02d0-474c-99e4-acb82aa3b2d5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 220b7d16-4171-429c-9216-96719c8a5db5)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7f84d33a-1956-433b-8131-5ea0466a6062)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 702fcdf5-2f2e-43b6-ad55-a5610016b19a)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cc6cb603-c58b-4467-aa04-0746f7ff5306)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3a0cf4c1-bdf9-4577-9400-b71d0e6aadf1)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7ca0aee7-92c0-4b49-bb79-2716e561435c)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 20 "/frontend/IN8") (pintype "passive") (tstamp 24265b42-3a56-498e-8ff1-f26c4e6ed790)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 21 "Net-(C12-Pad2)") (pintype "passive") (tstamp 6af08d65-c172-42f7-be3e-1287881cf0af)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp a6280cc9-81ad-4d08-a34b-ecf6fd6d63cc) + (at 96.2405 29.21 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/b20c0f42-c11e-492c-9887-bbb4838c0c94") + (attr smd) + (fp_text reference "D32" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0c751aaf-39ef-48df-bc12-830abf7e3a13) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9c63befc-f68c-473f-81cd-3de6ddb6ee50) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5a7a77a5-4eb1-4912-9459-d96611d6fac8) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 83669670-7cf7-4662-a228-0b00b7e59a73)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ce0b9601-0618-4022-a2c5-10fde6bfae13)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3395df6f-ab07-4b83-8c98-1fbe1a3babbf)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6bbd5da0-99ee-4e4f-ad3a-eb4b8d0861b6)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ec948e41-cfe9-4072-8d81-17a1ced4846d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 974d0f0e-218c-40e1-80c5-c954c106fcf6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cfa9217b-8234-4309-bf02-1b1b09a5cff4)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 25291e89-021b-4c40-aa6d-6c332cb97b4d)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f189b9e7-c52b-4147-8738-127421f4bdc5)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 02a30568-2a3a-4ea1-b80c-d47c4692a7be)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3a15adf0-f5b6-4c82-a816-935077956118)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d5a74340-fe1e-4d3a-95c1-d76b72830a05)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp ab365f20-e374-47d9-9a0c-390f35906c83)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 90 "Net-(D32-A)") (pinfunction "A") (pintype "passive") (tstamp 4239243f-a415-4597-b018-543d9d5ed5b2)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23-6" (layer "F.Cu") + (tstamp a6db1d52-1dfb-4715-9c48-ebd6ac72fe2c) + (at 75.438 93.3379 -90) + (descr "SOT, 6 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "ESD Protection Diodes with Low Clamping Voltage, SOT-23-6") + (property "ki_keywords" "ESD protection diodes") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/36fb3c71-d34d-4c31-8f67-0ac4c620de8f") + (attr smd) + (fp_text reference "U10" (at 0 -2.4 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 06b94a41-2cd7-47bd-be93-f786e70eb598) + ) + (fp_text value "SRV05-4" (at 0 2.4 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 00d996dc-3f59-4de0-b44b-cea2322f98ae) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 75378bed-ee61-4d85-99fb-6c57698a4b65) + ) + (fp_line (start 0 -1.56) (end -1.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 049f20dc-39d1-419c-85e0-ee8b81ae1b39)) + (fp_line (start 0 -1.56) (end 0.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ff2e0c8c-2902-4b55-9250-6ad2b2d8773a)) + (fp_line (start 0 1.56) (end -0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2d042aec-6330-407d-b667-9b376b297562)) + (fp_line (start 0 1.56) (end 0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1efee3bf-6602-416b-8882-a4ac84ea79d4)) + (fp_line (start -2.05 -1.7) (end -2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4f03ca2b-0787-4457-8bbf-5c6b9e850931)) + (fp_line (start -2.05 1.7) (end 2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4b92729-1f9e-4b1d-ad61-bae38a8491cd)) + (fp_line (start 2.05 -1.7) (end -2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 42f0e81d-f6ec-4d8e-a5b2-ac00d422b686)) + (fp_line (start 2.05 1.7) (end 2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b94b18fc-6300-4e5e-bab6-e0da7736090c)) + (fp_line (start -0.8 -1.05) (end -0.4 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2e62873d-b462-485e-8706-4b9975d184b4)) + (fp_line (start -0.8 1.45) (end -0.8 -1.05) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 56e8b475-4bc1-46f0-bee9-0ef7a728a97e)) + (fp_line (start -0.4 -1.45) (end 0.8 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 216a3309-93dc-4096-8a91-c513e94e7282)) + (fp_line (start 0.8 -1.45) (end 0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0a4f233d-b846-4454-91c9-4b70937ed53a)) + (fp_line (start 0.8 1.45) (end -0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0791f0cd-f376-45f8-ac5d-603b0321f263)) + (pad "1" smd roundrect (at -1.1375 -0.95 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 47 "X7") (pinfunction "IO1") (pintype "passive") (tstamp 827258df-d63b-4990-86a1-08514a312c7b)) + (pad "2" smd roundrect (at -1.1375 0 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "VN") (pintype "passive") (tstamp f6fbca06-7408-49a5-884f-986d4ba29c11)) + (pad "3" smd roundrect (at -1.1375 0.95 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 46 "X6") (pinfunction "IO2") (pintype "passive") (tstamp 5cb51597-5020-40c8-9ee2-b65c5ab867fb)) + (pad "4" smd roundrect (at 1.1375 0.95 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 45 "X5") (pinfunction "IO3") (pintype "passive") (tstamp 632d9942-0db3-4d30-b39c-e5e4df83e8b7)) + (pad "5" smd roundrect (at 1.1375 0 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pinfunction "VP") (pintype "passive") (tstamp 22362a12-50db-4853-b1ad-ba4786763000)) + (pad "6" smd roundrect (at 1.1375 -0.95 270) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 48 "X8") (pinfunction "IO4") (pintype "passive") (tstamp 2be3a741-95c6-476b-b478-8995048c693d)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23-6.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp a70d1c93-5ff6-4e17-a126-565004c9910e) + (at 96.2405 39.497 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/6aa64ab0-3fbf-418e-9801-9c2e2e3d9343") + (attr smd) + (fp_text reference "D38" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 4d08a663-3c3d-4278-a8a6-3f7c6b7f77d4) + ) + (fp_text value "RED_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ec9c9804-7157-4b7a-9702-8f484c376301) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 450a509c-49d3-4eaf-b3ae-4d00c6d60503) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b09a2376-1b01-4f1e-965c-3b13fbc4973f)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d83ca173-63e1-4f82-8e4c-4ea2a06f9979)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 055bc2b5-ee27-499d-8f00-6bfafe5eea6b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0ad9b79-33cf-48bf-b3e8-3b447b0d1553)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e914d43c-44dd-43d3-8f2c-4ba849219b3c)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 134be6e7-d98d-49a3-9e4a-4cde09f76b08)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ae7ed0f5-1002-4d8b-9c86-9e61113d1efa)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 778af5d3-da0c-4969-b62e-021a9708775a)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5fb8ad87-46e1-440c-a584-8b199261622a)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9df765cb-7af9-4bdd-8ba8-39893dba16bb)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5f3ab575-e8fc-4c1b-a4a1-a090901337d7)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 73df5bfb-d186-4cfb-b8c7-9e3823ae8e67)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 67045d53-5a47-42ef-929d-a38f7baf9a5c)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 96 "Net-(D38-A)") (pinfunction "A") (pintype "passive") (tstamp d4f57d32-1eae-404c-a1c4-a5dd2e517aa5)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a9635b9d-a076-441a-b0e8-2ab671f73f0d) + (at 46.101 37.846) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/4c1956f1-5c9a-4e68-9ce2-98cdaa679aec") + (attr smd) + (fp_text reference "R17" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 87e33d1c-38ce-4a4f-ae76-995a3a8b2356) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a8f0f9a6-6b17-4e95-ad8b-40793f1f6c27) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5c0e93e9-189b-4785-a7bf-60f010713769) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5323d8eb-7909-47c8-aa0c-884c6b6ca916)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bfaceca6-1ab6-4ba0-944d-6a90d0c9f12b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b56bae95-29b2-4527-965b-86024a574514)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0915089e-b010-4bc5-b7b3-210127b70bed)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8e67af85-f91c-418f-b979-9d1d677d79d1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ad91def8-ce82-413b-a557-54dd2a1ba790)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3432dda2-6a87-43cc-ab34-b44b585ec174)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c039482a-9c12-4b14-a541-186dc6ef3ece)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cc60ec6c-bb09-48bb-9727-35b4f75d35c4)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b3295c58-d36d-46d6-8e98-2669806697d0)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 126 "Net-(R10-Pad2)") (pintype "passive") (tstamp b0220f57-8fcd-4771-8480-11354367fc3c)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 55 "Net-(D5-A)") (pintype "passive") (tstamp bb5b2ace-e66d-45d8-a987-b61da75ef73e)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp a9d837d7-207d-4e85-8817-4bb4bbc153a7) + (at 46.101 50.419) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/87cabdb2-aff8-4a68-bdcd-e7989fac02ac") + (attr smd) + (fp_text reference "R20" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e4d4b46d-f205-4bc7-9084-d78ae53b22f9) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c2bb3b44-1fd7-422b-84e3-1ec9df877b39) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 22116cbd-0846-4f54-962c-d60c7ebbf995) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9d70dafc-a217-4f45-98c1-c1ae46effb2e)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8cd0a1dc-70ea-434d-bcf2-f0f5b41e731f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4b66a116-5164-4889-b9f4-fa347e8634d8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2f4f1600-951f-4941-b1a1-255f484c2fa8)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 16e06acd-da29-4133-bc23-981fc14fd02f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1dd218ba-0e8e-451c-badb-af19b11b427a)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e6f6565d-49ba-4bd5-badc-09953e1925d3)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1a010a43-69cf-4b93-b656-126ef13f2417)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b67a40e6-56ab-4899-8cd3-82489e8df749)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c3d7fa75-2d89-41d8-92ea-9208b1447209)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 127 "Net-(R11-Pad2)") (pintype "passive") (tstamp 43eb70bc-efef-43b5-9a4d-62652a0b6f48)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 57 "Net-(D6-A)") (pintype "passive") (tstamp 58028309-e03d-4b72-9dd5-6b9fc4895987)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp ab3adfa6-6760-4fed-ad6b-481523cf0c07) + (at 52.324 85.09 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d7e42bf1-3dd6-44a1-aa3f-163798b61430") + (attr smd) + (fp_text reference "C14" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp eb79059c-3b92-4130-bb7e-d45c8eeb20cb) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6655375e-28ad-4d9c-8351-3923bde87688) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a6ca160b-e538-4ac6-b010-bd214f47a59c) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 88412a93-cf77-411c-ad2e-852fc6f30ca5)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d10bc6b0-7a56-4f45-9aa4-d8576e38d060)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ad626a40-9f87-41c3-ba15-d70f7e6b9651)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4fe212b0-ab7d-4470-881c-8a5bf8833665)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5e0ae330-1ab3-412d-8389-f508d4774384)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 623716fe-0560-44a5-b3a7-c6393c3ceb05)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 00c9c308-566d-438c-9bd7-e062d5812b67)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ee83ff6d-3dcc-4b44-87c9-1778bc0079ec)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e9d45ad1-e73a-4095-9a4d-fd561774d86a)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 05025f63-38a7-4892-888d-b3866888be24)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 05f49faa-3692-44cb-a2ae-fd2b449293b6)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 23 "Net-(U3C-+)") (pintype "passive") (tstamp d4bfd85a-70df-45ac-96f0-fa818ed1c801)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp ab4bfbd7-3e88-47f6-838d-6008dba7bd47) + (at 57.912 85.09 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/fa02d572-e183-4449-bfd7-30eebb69e223") + (attr smd) + (fp_text reference "R95" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 95341108-a89c-4267-bd56-c9caa5a250d2) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp cd295940-09eb-483c-a262-7f902de12101) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp f196c25e-c8ec-42e7-8fee-006908456b77) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 794a2d3d-466e-415a-8c5b-814808a703e1)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ea0a1a65-10db-4b87-8c8d-9e566fa5c192)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 31729811-3fc9-42dd-b884-92cc3ea703ac)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1946fa3d-c190-492e-8ace-9e4e0ed17fc9)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 58efab57-cab5-4a09-bb12-6b927b3870f8)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d7d0ccbb-a857-47b2-94cd-e9cc3d6979ff)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d0ac1102-5ed0-422a-bb2f-a39a477be2b9)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 243b352d-88be-4452-b839-22e33e4aeb5e)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01ffc611-c368-42dc-adf4-5e91f8560b09)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8bc876c8-3c6d-421e-990a-07915a3eb6ee)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 80 "/frontend/OPA6") (pintype "passive") (tstamp 4efb0b99-a320-464e-bd89-a3039397a4a7)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 33 "ADC6") (pintype "passive") (tstamp 9c440cfb-59ce-4334-b320-49c559c9a98a)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp abedc8a5-bbd8-4346-ad83-e1e4c0ef86d7) + (at 46.101 48.768) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/183c9754-aad6-4a41-b1ac-15bb9c077b40") + (attr smd) + (fp_text reference "R19" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 92493c78-b0c8-4758-b0b3-8d98fe644148) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 29695db1-b140-4816-9437-576de87f64db) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 341754f2-faea-40ab-b52c-73257a9c662a) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4f318a00-63c6-4410-be3d-2be3bb849b2b)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 13ad5ade-f2fa-4460-8a36-ac7bd5823066)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2ca5609e-b530-4d4e-b316-c79c6df37843)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9ec210a8-a618-4be8-bc36-e30dfb6d029f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fa285649-2906-4a35-837e-20a3cb8c2e58)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4eae470-53dc-4f9b-babb-2cd585933d13)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 95dae007-b7c9-4399-bae1-78c6c92630e8)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0e05662e-d323-4180-8201-4b3ac24edcbc)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 59e6ca33-e001-4602-88a8-da00e3dc9953)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ed6929b4-21a3-486f-928a-84077b972976)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 127 "Net-(R11-Pad2)") (pintype "passive") (tstamp 8d109770-bfe9-4ea1-bd7d-24ec7cddfaf6)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 57 "Net-(D6-A)") (pintype "passive") (tstamp 4e470225-fff5-43d5-8022-57fbaae39b71)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp ac8f2616-abfe-4b9e-86df-fd78d3457416) + (at 42.926 39.751) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/829ab881-b8c0-45ce-a339-e2d23ab48b66") + (attr smd) + (fp_text reference "R5" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 33ce9c1a-957c-412f-af37-b3ae51e77a3c) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 016ac384-3f4c-4b3e-abbe-5b6f98e23ee7) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 3fcbe561-6aba-4c18-a534-8357f99daae5) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7ea016c2-9f36-4f16-b97c-e10ac2efc172)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a63fe5f3-4639-4463-9d5d-e97915cfdec6)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 198fc6c3-4c36-426e-ad46-5d40f8318297)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d9d6dc6f-19f3-41bd-b780-74eb1c2bca4a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 71fddcc7-13fe-486d-9369-2af67bac5cc2)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 66c23235-f43d-4a5d-9065-32eefa3d7277)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 41a0e553-1713-4857-a297-898ddccd97ae)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ba0b65f7-8016-49ce-892d-99c138177ae9)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6f495dc7-81cb-4439-a7d5-2fee20318153)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5b144c49-776d-49ea-b663-e6099491e865)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 2 "Net-(C1-Pad2)") (pintype "passive") (tstamp b0fcd71f-b389-4ff9-bbaa-fd3f87133de5)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 198 "Net-(U1A--)") (pintype "passive") (tstamp 14f04453-3f3f-40ec-a8c8-df5aa19ac508)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp ad6bf451-5ca4-44b5-895a-5e540ab32df0) + (at 79.883 112.776 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/ecbee0b8-1dca-4598-be1e-f2e8b94918d6") + (attr smd) + (fp_text reference "R78" (at -2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 60f06bc7-9c22-41e2-b40e-c293ec126858) + ) + (fp_text value "5K1" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8013a918-ef64-4949-a2dc-1ddc4e1f528c) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp d913a339-328b-4af8-8593-b2af67c6e730) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2128ff57-d69b-4669-927b-17c2068f8b03)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ee62b844-7b8a-4b8c-b59c-f4f925879a04)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 715711ff-622d-4a75-bbf3-f63bf53bd30f)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 98bc8d62-cfc9-43df-a933-035d748630c2)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6fd702c9-df1d-4bd4-85c5-a8638e2c4c90)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 708e9ea7-0042-443f-a92b-df51e1c3c291)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d6fa486f-76fe-4136-97c8-9d69aa3cdc3b)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dda18ad1-7bac-46aa-9e8f-112eeab3307d)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 03965baa-5fee-4fa1-8484-5556a1a441c6)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45b90864-5ebf-4b69-95ed-4b77bbbd9f06)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 49e9354a-b00e-453a-b71e-f7a8c8378062)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 163 "Net-(J9-CC1)") (pintype "passive") (tstamp 01fd9d1d-16c6-4e3d-90dc-e8ac3ecec823)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_THT:CP_Radial_D6.3mm_P2.50mm" (layer "F.Cu") + (tstamp aed50e50-5658-4bbd-97a3-cdee9a8328a9) + (at 62.611 107.696 90) + (descr "CP, Radial series, Radial, pin pitch=2.50mm, , diameter=6.3mm, Electrolytic Capacitor") + (tags "CP Radial series Radial pin pitch 2.50mm diameter 6.3mm Electrolytic Capacitor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Polarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/d17a94ed-b9b3-4030-abf8-f21d91c5003f") + (attr through_hole) + (fp_text reference "C61" (at 5.08 0 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d3d81d11-08be-4465-8162-aa326efe0af1) + ) + (fp_text value "220uF/10V" (at 1.25 4.4 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ebe8a22c-8f3a-401b-b84b-fdc3e3aa2d84) + ) + (fp_text user "${REFERENCE}" (at 1.25 0 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a5c0d6d6-9fd1-4cb7-8f13-4de997528e54) + ) + (fp_line (start -2.250241 -1.839) (end -1.620241 -1.839) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ff1cd54d-6f4a-48df-b296-4286349a9365)) + (fp_line (start -1.935241 -2.154) (end -1.935241 -1.524) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52d29990-22f1-4049-b19c-4c04a8e3256e)) + (fp_line (start 1.25 -3.23) (end 1.25 3.23) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5913c6e8-4e2b-4272-b4d8-5f368f75e16f)) + (fp_line (start 1.29 -3.23) (end 1.29 3.23) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d58f3259-f8d0-4b36-ba7c-28e74fe7345e)) + (fp_line (start 1.33 -3.23) (end 1.33 3.23) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b12d252f-ac7b-4c5c-a0bc-2cac23ba0e6a)) + (fp_line (start 1.37 -3.228) (end 1.37 3.228) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 883e50f1-1ff4-43cc-a7fc-93850cf65965)) + (fp_line (start 1.41 -3.227) (end 1.41 3.227) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1424f2f1-2cb6-48aa-8f82-e6247ec3a16e)) + (fp_line (start 1.45 -3.224) (end 1.45 3.224) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a1be6b42-d6b8-4b91-80af-cfaadab22949)) + (fp_line (start 1.49 -3.222) (end 1.49 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b400e1f3-eccc-4352-b3dc-d5cfa7c365bf)) + (fp_line (start 1.49 1.04) (end 1.49 3.222) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 75d5f191-3199-4cd7-bf75-7a6056d1b86b)) + (fp_line (start 1.53 -3.218) (end 1.53 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f974221c-0909-40f4-b9b2-6b793cb45979)) + (fp_line (start 1.53 1.04) (end 1.53 3.218) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp abcb096e-0e4e-42e5-abce-ed33ad346908)) + (fp_line (start 1.57 -3.215) (end 1.57 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 565b196d-d249-418e-a937-f8594780fcef)) + (fp_line (start 1.57 1.04) (end 1.57 3.215) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1121953d-1ab0-4be6-b6ed-72af9b2e08d1)) + (fp_line (start 1.61 -3.211) (end 1.61 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e1435734-f8cb-45be-869d-00bf0dd9bdda)) + (fp_line (start 1.61 1.04) (end 1.61 3.211) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c1d9ea5-08d3-46cd-b8cd-49667632b1e3)) + (fp_line (start 1.65 -3.206) (end 1.65 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e731bc05-3931-4ad3-b630-61d0bfd67a82)) + (fp_line (start 1.65 1.04) (end 1.65 3.206) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c456ed38-575d-4815-96fa-6f3ede4d8d82)) + (fp_line (start 1.69 -3.201) (end 1.69 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fd7430f8-c3f1-4e1f-8821-25bc48701fe4)) + (fp_line (start 1.69 1.04) (end 1.69 3.201) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3cf92a6e-6491-48ba-8ae0-3838838af36c)) + (fp_line (start 1.73 -3.195) (end 1.73 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9b186412-84b2-4c59-b390-9b2385fce7f9)) + (fp_line (start 1.73 1.04) (end 1.73 3.195) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 283a760b-44c4-4aff-8ae0-e39c6746663f)) + (fp_line (start 1.77 -3.189) (end 1.77 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 32679c11-8e7e-4247-886f-0bf037ac8336)) + (fp_line (start 1.77 1.04) (end 1.77 3.189) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2022ccb7-8048-475a-93eb-c848829dca90)) + (fp_line (start 1.81 -3.182) (end 1.81 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1ae3459c-d2d5-4c26-8894-5cf44ff434d4)) + (fp_line (start 1.81 1.04) (end 1.81 3.182) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 70e7e2c1-ccb8-4fe7-aa52-65da4ff173b9)) + (fp_line (start 1.85 -3.175) (end 1.85 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9c89b535-b154-429d-9dae-961b1632d9eb)) + (fp_line (start 1.85 1.04) (end 1.85 3.175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fa509b2f-3367-41e1-98b2-5149ce3fa6a3)) + (fp_line (start 1.89 -3.167) (end 1.89 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eb093d9c-c597-4f76-b46d-81e02d504773)) + (fp_line (start 1.89 1.04) (end 1.89 3.167) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 822962a1-ec4d-440a-a1e8-ea2d8af430f5)) + (fp_line (start 1.93 -3.159) (end 1.93 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4354e5f2-214f-4755-baf2-e1e57dfe9f8b)) + (fp_line (start 1.93 1.04) (end 1.93 3.159) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9ce63f4e-0eb7-4f89-bda6-21b2679260b0)) + (fp_line (start 1.971 -3.15) (end 1.971 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 398cc694-dff0-4240-b039-d764d239bef3)) + (fp_line (start 1.971 1.04) (end 1.971 3.15) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55e71e84-2b14-42aa-9488-cd434a26351c)) + (fp_line (start 2.011 -3.141) (end 2.011 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4cd79d5e-fb34-4a4d-b542-2b04efcdb127)) + (fp_line (start 2.011 1.04) (end 2.011 3.141) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3d137e77-e191-4018-911e-50530db4c35f)) + (fp_line (start 2.051 -3.131) (end 2.051 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 21832076-3ddb-411d-803f-ed4ec3256174)) + (fp_line (start 2.051 1.04) (end 2.051 3.131) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3ef86d69-63a1-46d0-83c1-8ba13a990bc5)) + (fp_line (start 2.091 -3.121) (end 2.091 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e9d39411-60d8-4c15-a840-36223c4bc2df)) + (fp_line (start 2.091 1.04) (end 2.091 3.121) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f5c63262-3d28-4acd-ab45-482512095b51)) + (fp_line (start 2.131 -3.11) (end 2.131 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eeadef15-7b48-4edb-8dc8-c26e54d93e8f)) + (fp_line (start 2.131 1.04) (end 2.131 3.11) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 496fdaa3-755a-410f-8d2e-cbf5915410f7)) + (fp_line (start 2.171 -3.098) (end 2.171 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp be679aee-9f3d-450a-b130-01042c7d4a0d)) + (fp_line (start 2.171 1.04) (end 2.171 3.098) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 46c52d0e-8394-481f-8d4c-5550067f5b6e)) + (fp_line (start 2.211 -3.086) (end 2.211 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f3f284f8-35c8-4c70-8648-4e3bd14209d1)) + (fp_line (start 2.211 1.04) (end 2.211 3.086) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3fbab10d-2e18-42c1-82c6-537b0166a3a6)) + (fp_line (start 2.251 -3.074) (end 2.251 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c9809ba4-a1ed-4ec1-a6ed-4e55236594e8)) + (fp_line (start 2.251 1.04) (end 2.251 3.074) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 20388a9d-db98-4332-a3e6-cbc260e10812)) + (fp_line (start 2.291 -3.061) (end 2.291 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d208243c-0560-4ec7-854b-b9d798fb758b)) + (fp_line (start 2.291 1.04) (end 2.291 3.061) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 44e8714d-778e-48bb-a0f5-3ef5026e5be5)) + (fp_line (start 2.331 -3.047) (end 2.331 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0255b392-c6c7-4b42-b020-9b1034a3149f)) + (fp_line (start 2.331 1.04) (end 2.331 3.047) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ae1cd267-ad28-4f85-9c71-b34355a86800)) + (fp_line (start 2.371 -3.033) (end 2.371 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp df0928f9-48a3-4ebc-922f-db5819328707)) + (fp_line (start 2.371 1.04) (end 2.371 3.033) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1bcf0845-6045-40c2-b638-f77e2851e10a)) + (fp_line (start 2.411 -3.018) (end 2.411 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 36d2342c-e2eb-4736-a938-852950474ee6)) + (fp_line (start 2.411 1.04) (end 2.411 3.018) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e3783e24-1dd2-49b9-9538-4bfd3f43cce9)) + (fp_line (start 2.451 -3.002) (end 2.451 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a31a7e9b-a511-4907-b68b-f735ea68740b)) + (fp_line (start 2.451 1.04) (end 2.451 3.002) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d3a5ff1c-d894-4bac-8b41-a0bdc9d2cdb4)) + (fp_line (start 2.491 -2.986) (end 2.491 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 140942c4-d580-4d74-a250-da649129bbfc)) + (fp_line (start 2.491 1.04) (end 2.491 2.986) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fd012b2f-3df6-4e15-b770-4d53afe85506)) + (fp_line (start 2.531 -2.97) (end 2.531 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f45b4261-0615-4115-83fa-7674ca329c92)) + (fp_line (start 2.531 1.04) (end 2.531 2.97) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45911677-712a-4173-b5af-4ae7b27d72ad)) + (fp_line (start 2.571 -2.952) (end 2.571 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ada0edef-5f03-4e8f-84c2-b68b57186847)) + (fp_line (start 2.571 1.04) (end 2.571 2.952) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0c479022-20c5-444a-b7cf-cbcc988fddc6)) + (fp_line (start 2.611 -2.934) (end 2.611 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c47a296c-5cda-4986-99c4-d71a188a9956)) + (fp_line (start 2.611 1.04) (end 2.611 2.934) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45055d09-3bec-4303-aa9e-a14fd2f7d988)) + (fp_line (start 2.651 -2.916) (end 2.651 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 37e52b10-d554-4ce7-a150-8ea85c181e67)) + (fp_line (start 2.651 1.04) (end 2.651 2.916) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e3314449-4878-4fea-8fe6-b5d3393c7a34)) + (fp_line (start 2.691 -2.896) (end 2.691 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c12a003-956b-4a0f-aa8c-f284cd4c8e09)) + (fp_line (start 2.691 1.04) (end 2.691 2.896) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 27e81b8c-70dd-4033-8a60-48c6cbd681da)) + (fp_line (start 2.731 -2.876) (end 2.731 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a021d904-be3e-409a-98f6-6db53fb0b5f2)) + (fp_line (start 2.731 1.04) (end 2.731 2.876) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cbe68115-c663-47aa-a00e-8db34c1fa592)) + (fp_line (start 2.771 -2.856) (end 2.771 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b92a7bab-3262-4995-a803-2c5db2e04a87)) + (fp_line (start 2.771 1.04) (end 2.771 2.856) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d37f5cda-8d47-4d15-ba10-d7fe588a8b7f)) + (fp_line (start 2.811 -2.834) (end 2.811 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 597285f7-1cb0-4568-9cc3-78ba95781ef7)) + (fp_line (start 2.811 1.04) (end 2.811 2.834) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e1057908-c9ce-4d0e-ad13-09b14de86305)) + (fp_line (start 2.851 -2.812) (end 2.851 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 139faaa3-838c-4f06-ba2e-41a610186445)) + (fp_line (start 2.851 1.04) (end 2.851 2.812) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5a4c5e7a-934f-4cdc-ac39-3b4c21cf7392)) + (fp_line (start 2.891 -2.79) (end 2.891 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9cad1116-8095-453a-ab06-544e5320593a)) + (fp_line (start 2.891 1.04) (end 2.891 2.79) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 632184e1-22f0-414b-a3ad-7be61578bd6f)) + (fp_line (start 2.931 -2.766) (end 2.931 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 431a41ad-eecf-4a56-9658-c17d38c3d9c7)) + (fp_line (start 2.931 1.04) (end 2.931 2.766) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 60c9268a-00a3-445a-862b-366be1a328b5)) + (fp_line (start 2.971 -2.742) (end 2.971 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp cbc599c1-f347-4a0f-8cee-33cb92f6463a)) + (fp_line (start 2.971 1.04) (end 2.971 2.742) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a3fe8c52-ebf9-4ab7-9429-d303758882af)) + (fp_line (start 3.011 -2.716) (end 3.011 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 41281d66-4857-4937-9480-2abd9aa46173)) + (fp_line (start 3.011 1.04) (end 3.011 2.716) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 83baa141-78d7-481a-a2a1-26f5098bc397)) + (fp_line (start 3.051 -2.69) (end 3.051 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 791f076b-98b5-4b15-896b-50e9ce6c4fc9)) + (fp_line (start 3.051 1.04) (end 3.051 2.69) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f2263fd0-a8df-4c34-9f00-59df2022b723)) + (fp_line (start 3.091 -2.664) (end 3.091 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5ac68dc8-bfe6-4104-8a22-c1d9c1807642)) + (fp_line (start 3.091 1.04) (end 3.091 2.664) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2f611f57-8dc2-4a35-bb52-ebe5d91b3a39)) + (fp_line (start 3.131 -2.636) (end 3.131 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f1cfec07-370a-4ebf-9fbf-bb3e6399120d)) + (fp_line (start 3.131 1.04) (end 3.131 2.636) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0d08a233-d6c9-4e4a-96ad-62853f169d55)) + (fp_line (start 3.171 -2.607) (end 3.171 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 32d182c9-503b-4166-aedf-6dd281528660)) + (fp_line (start 3.171 1.04) (end 3.171 2.607) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ad7af697-8059-484e-bed9-a7b7acaa8b6c)) + (fp_line (start 3.211 -2.578) (end 3.211 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1c60d821-df4a-4a0c-8d3d-760fe48f6eec)) + (fp_line (start 3.211 1.04) (end 3.211 2.578) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4e8124ad-9055-49b2-81aa-101fc8d8e802)) + (fp_line (start 3.251 -2.548) (end 3.251 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 174ba8e7-c621-40e6-a03d-43d19ab993e4)) + (fp_line (start 3.251 1.04) (end 3.251 2.548) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9e555647-42c6-4f96-bd3a-f1c37d7f3dd7)) + (fp_line (start 3.291 -2.516) (end 3.291 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 337d1b6a-228a-45b3-9903-a8a7527ef12c)) + (fp_line (start 3.291 1.04) (end 3.291 2.516) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fa4807cf-9ddc-4048-95cf-555747ccff63)) + (fp_line (start 3.331 -2.484) (end 3.331 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 64ec0311-2eee-46a6-bf8c-2e540c706d99)) + (fp_line (start 3.331 1.04) (end 3.331 2.484) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 802d7032-d40d-45b8-94da-4a7d2433307d)) + (fp_line (start 3.371 -2.45) (end 3.371 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8324d42c-eec4-4601-8129-5f8fa36dbc93)) + (fp_line (start 3.371 1.04) (end 3.371 2.45) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2ff0a555-1508-4172-81a6-75a6b2953a81)) + (fp_line (start 3.411 -2.416) (end 3.411 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp adff672d-563e-4623-b988-ea437b50fa3f)) + (fp_line (start 3.411 1.04) (end 3.411 2.416) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 23609f63-82d4-42a8-96d6-597c84db7856)) + (fp_line (start 3.451 -2.38) (end 3.451 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bc691480-4c95-4415-8c92-7c369ad27f65)) + (fp_line (start 3.451 1.04) (end 3.451 2.38) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fd06c6db-a908-4303-839c-5f758b861692)) + (fp_line (start 3.491 -2.343) (end 3.491 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bdf4a7b7-b8e2-494f-914d-0dc0a40724e0)) + (fp_line (start 3.491 1.04) (end 3.491 2.343) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6ae71739-fead-44c3-bb37-f80cbcb3ece1)) + (fp_line (start 3.531 -2.305) (end 3.531 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8ce068dc-3b21-4c0f-a3b9-08340ff603aa)) + (fp_line (start 3.531 1.04) (end 3.531 2.305) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e298eeb8-e381-49e5-9c30-d7f6501e6a10)) + (fp_line (start 3.571 -2.265) (end 3.571 2.265) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c67e6fb7-2bf9-4022-a8ec-33763fea1a86)) + (fp_line (start 3.611 -2.224) (end 3.611 2.224) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 685dbf8f-00ca-4681-b06f-e525cceae60b)) + (fp_line (start 3.651 -2.182) (end 3.651 2.182) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 94f300ae-9880-424a-b161-36c353ae166b)) + (fp_line (start 3.691 -2.137) (end 3.691 2.137) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d596490-e9d5-46b7-9731-8adeb503adab)) + (fp_line (start 3.731 -2.092) (end 3.731 2.092) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d9c2da64-524a-4fa5-aee1-dee125fab0a9)) + (fp_line (start 3.771 -2.044) (end 3.771 2.044) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3f1a9c5c-46dd-46d9-aa9a-c997dac3ffdc)) + (fp_line (start 3.811 -1.995) (end 3.811 1.995) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 123563dc-d3dd-42f6-b5ac-b04ec7115f2d)) + (fp_line (start 3.851 -1.944) (end 3.851 1.944) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9a58a7a8-963a-471f-81f3-93b57406a230)) + (fp_line (start 3.891 -1.89) (end 3.891 1.89) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4d9c7323-2c6f-4aca-aef9-3919ce40079f)) + (fp_line (start 3.931 -1.834) (end 3.931 1.834) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3562ed11-3d65-4098-881f-413a86b0b1ee)) + (fp_line (start 3.971 -1.776) (end 3.971 1.776) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 782c4dd3-1b2f-453a-9db9-d724e5d4dcfe)) + (fp_line (start 4.011 -1.714) (end 4.011 1.714) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 659b5a3d-0731-4ad4-9a55-7ee7cb0b2867)) + (fp_line (start 4.051 -1.65) (end 4.051 1.65) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8b9b5e48-4ea7-4d51-8940-bec426de798f)) + (fp_line (start 4.091 -1.581) (end 4.091 1.581) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1be4000d-8836-4847-ab0e-d2520c67cb95)) + (fp_line (start 4.131 -1.509) (end 4.131 1.509) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 44b39333-36e9-4b24-8914-f1c3a658ddca)) + (fp_line (start 4.171 -1.432) (end 4.171 1.432) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fb157f0a-f614-4cfd-b86d-cae6d0c62d57)) + (fp_line (start 4.211 -1.35) (end 4.211 1.35) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c9e91b48-fd55-4ada-a279-34c5e0c25e7d)) + (fp_line (start 4.251 -1.262) (end 4.251 1.262) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp befb7418-cadf-47b0-a898-bfa88107df97)) + (fp_line (start 4.291 -1.165) (end 4.291 1.165) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4a92b3fc-0fb9-41f2-ab7d-57941116ac1e)) + (fp_line (start 4.331 -1.059) (end 4.331 1.059) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 71f494ad-f6e6-4a1e-8c72-60023b22d005)) + (fp_line (start 4.371 -0.94) (end 4.371 0.94) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e3a757a3-4ee1-4a21-87e1-0d68a41fcb4a)) + (fp_line (start 4.411 -0.802) (end 4.411 0.802) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c73af000-36d0-4b5b-904e-091b1819b03f)) + (fp_line (start 4.451 -0.633) (end 4.451 0.633) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bc8e05a1-fa3b-450a-a480-5bd32ff5756c)) + (fp_line (start 4.491 -0.402) (end 4.491 0.402) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4af2e156-e30b-4e5a-84e4-86e083899deb)) + (fp_circle (center 1.25 0) (end 4.52 0) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 64321b1e-b601-4ba7-9dfe-cd1df20dfc82)) + (fp_circle (center 1.25 0) (end 4.65 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 27b84e21-8497-4563-8009-dc0651f891e8)) + (fp_line (start -1.443972 -1.3735) (end -0.813972 -1.3735) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 325c0070-3a23-48ac-aa47-f2e6ff85af18)) + (fp_line (start -1.128972 -1.6885) (end -1.128972 -1.0585) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0cda6a36-2b63-4be7-bbb1-64b07261ac58)) + (fp_circle (center 1.25 0) (end 4.4 0) + (stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp 4af87320-23b4-443c-9056-24e47dcb0f1d)) + (pad "1" thru_hole rect (at 0 0 90) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 26 "+5V") (pintype "passive") (tstamp aec73162-74dc-40dd-87c9-d1a4879f662f)) + (pad "2" thru_hole circle (at 2.5 0 90) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pintype "passive") (tstamp aa730ac9-3a37-44ee-87ca-8156c93b7750)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Radial_D6.3mm_P2.50mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp af8b0e5c-898d-4b2b-961e-fd64cc42775d) + (at 50.673 85.09 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a19488d2-9a67-45c8-a1c1-ff7044d58be2") + (attr smd) + (fp_text reference "R62" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp acf63799-b01f-418b-ae2f-76b917bb52d7) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp fcf347b6-8eea-4350-a061-aade2ee381bb) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp c3075c30-d02e-45e4-a53c-ca28d7f1af2e) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9eab7b4a-4198-4fa6-842f-11447913c684)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7b9b68f5-936d-4516-bb69-a6471304fae6)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 80b6b963-e1ff-486c-8d4b-c864892bcf83)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c8852918-1c6a-428e-92df-6f8374062487)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9c3084a3-a8fd-497a-8a55-5676e59e4a65)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e1646c4-f4dc-47dd-9216-7980c6ced89a)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d55e2eae-c069-47c3-9eb2-250696080eb4)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8540547-625f-498d-adc1-ce31bab70989)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4e04b69f-f768-4bff-af23-0b0f03af29b2)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1bd7c709-fbc2-439a-9692-b675336fd0eb)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 72 "Net-(D18-K)") (pintype "passive") (tstamp 8e4de802-605e-44b4-ae50-25877850a16a)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 23 "Net-(U3C-+)") (pintype "passive") (tstamp e03847ab-da15-4d6a-9045-61b607f15f44)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp b09033b1-ea9f-45c5-adc3-740b0856279b) + (at 96.266 48.26 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/5ca02ff9-da78-4f25-8d73-346f29564dba") + (attr smd) + (fp_text reference "D43" (at 2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 37593825-5f93-4218-9bec-ef33deedf67d) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a61eeb11-3756-47f7-a6b4-e0a75ba7b2a4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp f01ac0a1-0ecd-462b-83fb-dfba71257980) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1ae3edab-0b5b-4f52-9ccc-510f3cf98d40)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 24ec72b1-c5aa-4bf8-a8e8-24ddfa9dbd6b)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8fc79fe8-2a7c-44bf-b002-ccb3447b98a0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e60e4abb-a38c-4175-a3bb-af991eae4d00)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9ad7ef78-8ef4-4cd5-89a2-087b5039ecc4)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1508ec1b-449d-4b15-a207-b13797f468b1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 448185cf-1273-4b99-8dcb-9ac251c8833c)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2137fbae-b7e0-4a27-9d55-4f6b09ed7f6c)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3903cb03-07e2-44d8-b478-f31d6acd420c)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2d1587ec-9ce7-405d-87cc-15129eaba3e2)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 04b3f35d-aace-4dbb-973a-6120db676eba)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d4ef67ab-2708-47be-b104-0dd562040d1f)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 936e0686-420c-4e6f-bbda-a62a0c2b41e9)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 101 "Net-(D43-A)") (pinfunction "A") (pintype "passive") (tstamp 97e9d834-e802-4756-b2ee-13f0f9c6a230)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp b13645fc-7f6f-4207-91ab-36c59c5daa3d) + (at 38.989 75.311) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/54c8c3a0-4a74-4047-8464-6cbfb0997422") + (attr smd) + (fp_text reference "D13" (at 0 -2.159) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7f738b17-4e03-404c-beb8-5bb83de52a3f) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 20e2a176-7ca9-489e-b608-b4d6fb11b3fc) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp f44ccf01-781d-4ed8-a2be-815b60cb5be4) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 03136eb4-dadd-48ca-afed-e2d0d8896fd6)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 42a25dc6-dde9-42f8-b09b-fe3b64e9a5db)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2ad19a32-a288-452e-902a-f3d2108ff26e)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 52282dba-4fe8-4d74-a87a-b6caecbb1ff1)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 50185372-2cff-44a1-9049-bc05e45a0404)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c6347c79-d979-40bd-98e9-db34d83c6792)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 45d7f993-fb78-4d61-b72e-76d61097a2d7)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 28d4b4aa-efaa-4446-b577-c11888fd393c)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3d73500a-b217-4aef-8136-a18371d586fe)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf8aed74-8ebe-4428-a756-b3fe010e1631)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4980b30c-8997-45a6-a953-fd49107da6a1)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d4e3685-c119-4982-8ac5-54b6c2b715b6)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dae5ead8-b738-4d1e-bb3c-69abf59a7630)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 433c27f4-0c03-4ff8-98c6-7e6d3b825ede)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp bbcf4b63-20de-4af4-a9cb-7a0769c82e83)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 15 "Net-(C9-Pad2)") (pintype "passive") (tstamp f6a969cb-ebf0-4c1a-a273-cffd7d96a468)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b3969eaf-cc5f-4873-9bb8-c3ba9cdf2fca) + (at 46.101 73.406) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/bb911f8d-3785-4eb1-a615-9ca4dcee938d") + (attr smd) + (fp_text reference "R53" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0187add3-b42b-430c-923b-c7a82da00ce5) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9982a9d1-5901-44ff-9a55-f91e65046894) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 91f515b3-1482-4f4d-b2ab-33bb48308203) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b979a5be-4180-4b9c-9dd1-1215d89851df)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6c279a5f-2e54-437a-9f86-19739f34b2d4)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5c84855d-29fc-4b25-9bf9-fdb9a4c60c43)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f90b45eb-b173-4178-a00c-56bc77623728)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp af61c3c6-8731-43e0-bdc6-f293e314d80c)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 51798608-f07e-49b5-b5dc-fae56442e95d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 818e375f-270c-4a0d-a736-39b6081a8769)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 03d36bef-151e-403d-947f-aa72c8860339)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dff3580c-e2e1-4f01-b2e8-dacad8b97822)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0bdd058e-6a00-480f-9728-28150dfa53c4)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 138 "Net-(R45-Pad2)") (pintype "passive") (tstamp 8a4bd3bb-0d77-47d8-a37c-393f9588993f)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 71 "Net-(D17-A)") (pintype "passive") (tstamp 9d7af8dd-a3c8-4878-9393-85d23f8de2cc)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_523_1" (layer "F.Cu") + (tstamp b598346d-7c39-40d1-b2aa-44b5aeb528af) + (at 71.374 106.934 90) + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Bidirectional transient-voltage-suppression diode") + (property "ki_keywords" "diode TVS thyrector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/4dd30c02-9e97-4810-91ae-988a535fa7e3") + (attr smd) + (fp_text reference "D29" (at 2.794 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp f3688ee4-3bf2-4296-827b-003f2fbfd06c) + ) + (fp_text value "D_TVS" (at 0 1.397 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp bbadf1da-7e46-41b1-93b4-5de229874d91) + ) + (fp_line (start -1.397 -0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 89916343-5656-4a1a-8f64-a655938c4c3d)) + (fp_line (start -1.397 0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8979f840-791d-4c5a-8fb8-94cae94f9d66)) + (fp_line (start -0.254 -0.3175) (end -0.254 0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7e679966-d711-4077-9758-96fcd4d20bef)) + (fp_line (start -0.254 0.3175) (end -0.127 0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 968e9679-e9c7-4247-9ff3-db5c7c006375)) + (fp_line (start -0.127 -0.3175) (end -0.254 -0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c13e9c55-dc0e-438f-adf5-f1b05398ed47)) + (fp_line (start -0.127 0.3175) (end -0.127 -0.3175) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4a08eac7-948c-43c0-95d0-65ecce72b255)) + (fp_line (start 1.397 -0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bde3636f-89a5-40c4-b138-542abe12c115)) + (fp_line (start 1.397 0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4655e28d-274f-42b8-8d26-14f7a8709ba7)) + (fp_line (start -1.4605 -0.7) (end 1.4605 -0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 17a2be3d-d31a-44b9-8f7f-4f2e62be34a7)) + (fp_line (start -1.4605 0.7) (end -1.4605 -0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 220810c6-046b-4c24-9bbe-e51a225a2623)) + (fp_line (start 1.4605 -0.6985) (end 1.4605 0.7015) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 012266b8-5223-45af-862e-d20d0a839c38)) + (fp_line (start 1.4605 0.7015) (end -1.4605 0.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0c523d5d-1cda-4f88-8148-ece2e441fce6)) + (fp_line (start -0.65 -0.45) (end 0.65 -0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ef007fa-3b6f-4fbe-ab74-b613ce448f52)) + (fp_line (start -0.65 0.45) (end -0.65 -0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a03ae1ae-d3d1-4cb3-a0c0-fe05a894cef3)) + (fp_line (start -0.2 0) (end -0.35 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2d1315c6-f1d7-4968-ab35-e87621dee3dc)) + (fp_line (start -0.2 0) (end 0.1 0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cd5ef4b1-07fb-466d-b248-0cd180fabf91)) + (fp_line (start -0.2 0.2) (end -0.2 -0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d63cb4a3-797c-4c3a-b576-0234c5e5b96a)) + (fp_line (start 0.1 -0.2) (end -0.2 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 536e7ff8-a567-4f15-a80f-9fbcbb2e2d5d)) + (fp_line (start 0.1 0) (end 0.25 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 134529c0-e5ed-4d60-b957-c1a8553a5030)) + (fp_line (start 0.1 0.2) (end 0.1 -0.2) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e7ab0db0-f8d1-4770-b7a5-3df33e161b11)) + (fp_line (start 0.65 -0.45) (end 0.65 0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fc16298-5159-438a-844c-1cfdd125bf1e)) + (fp_line (start 0.65 0.45) (end -0.65 0.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3a2a44cc-aff6-47a7-b554-434a11877e65)) + (pad "1" smd rect (at -0.8255 0 270) (size 0.9 0.8) (layers "F.Cu" "F.Paste" "F.Mask") + (net 87 "/interface/USB1_DP") (pinfunction "A1") (pintype "passive") (tstamp 4be5ad94-09c4-48f0-a6a1-e668d96c4469)) + (pad "2" smd rect (at 0.8255 0 270) (size 0.9 0.8) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "A2") (pintype "passive") (tstamp 7643dd9c-b88f-4ae4-a58d-2de5fe45ef66)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-523.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b59cd77d-87a1-41dd-8088-5a4a3af9e3a6) + (at 57.912 102.87 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/a66e1469-5d59-4022-809d-b574975f7c34") + (attr smd) + (fp_text reference "R97" (at 0 1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 147ec45e-4b0f-4fd8-8637-e0564fa8b6a4) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7f3e2b89-4184-457e-9f61-122386e4d400) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp de1a69cf-78e2-46cd-9ccf-8735e5928beb) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a0279ee4-a49b-4ae7-a34f-6209868ec055)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f26f3824-93a1-4235-ad7f-8012e6ffbaf0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c68a8bc1-402b-48b6-a134-98c89ab62d57)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d912a5f6-ffb3-4b0d-a44d-c53e269459b1)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 86ef876a-0c62-4e54-b94f-133ea32fcf8a)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5a0aeec8-99eb-466a-b29a-cb1f1b84dad2)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1d7b129d-43b6-42e2-9616-581506464bc2)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 63a62e7f-c13a-46d1-b135-c3ea9c51f8e7)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6d529493-d56b-40a0-8650-cf91c8160b7d)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 260dd6eb-0486-410a-9b65-442b76ea0f94)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 84 "/frontend/OPA8") (pintype "passive") (tstamp 1e77caf4-8eee-434b-99e1-825cf0ef04d7)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 29 "ADC8") (pintype "passive") (tstamp 3e799b56-ce29-4a26-8269-4b6a51b0fcb7)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b72ed001-a18d-4147-ae7a-b032a4da187d) + (at 42.926 77.089) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/8913193b-89d5-4504-9c6c-36ff6e7faab9") + (attr smd) + (fp_text reference "R37" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 48164395-9ca1-4daa-a212-0c2df4aac8e5) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 094a90e4-2205-46cd-9fab-5b7e85132ad7) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp df2bab6c-226c-4f2c-bd1a-91322a333ddc) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eed1b12c-b6d2-4e7d-ab58-e7e6c4f7a24f)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d6d71784-a198-4dd4-aaee-e02d6d2f66df)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e879c4f-9f00-44cb-b0c5-dfcf52eecc7b)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b62afd54-faf0-40ae-96a4-db9727103dea)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 83df9147-1a1f-4f93-8129-092e9c9f2279)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c101c751-b2e2-4aa9-b5eb-9a3e01c8924f)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 84fb06f5-6c89-4b17-9c29-4064e6b30527)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 68260856-7608-49a2-9454-90c91ed92cfd)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4efc87b2-a383-4adc-b773-df4e49eadc00)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d9d044ac-058b-4803-ab3b-888dd4f47d51)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 15 "Net-(C9-Pad2)") (pintype "passive") (tstamp 4e518a0c-8309-409d-b11c-a41b0246a3f9)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp c942065e-acdf-4cca-84ad-c9d6e846b19c)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_QFP:LQFP-48_7x7mm_P0.5mm" (layer "F.Cu") + (tstamp b8b0934d-068b-40a7-bc54-af3e9980ae0d) + (at 66.167 45.847 -90) + (descr "LQFP, 48 Pin (https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2358-16.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "LQFP QFP") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/b1fb5ad4-bb49-4cf3-9357-d7d5e32ad266") + (attr smd) + (fp_text reference "U5" (at 6.096 0 -180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ab7069e3-9699-41f6-820a-f86fd1fc1021) + ) + (fp_text value "STM32G030C" (at 0 5.85 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ad46ed2d-18a5-403b-8ba6-6acb7a256972) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d87f5c58-402b-44b9-82ba-eec5a274988e) + ) + (fp_line (start -3.61 -3.61) (end -3.61 -3.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 05b0ecd0-d47c-49da-a6b4-8af998e7641a)) + (fp_line (start -3.61 -3.16) (end -4.9 -3.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7b7fd8d-36a9-4418-93ac-67329616259e)) + (fp_line (start -3.61 3.61) (end -3.61 3.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b6be107a-6a2f-43bd-91d8-d48617425579)) + (fp_line (start -3.16 -3.61) (end -3.61 -3.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 978b67f1-0040-4dc4-91f1-91fdf70eb988)) + (fp_line (start -3.16 3.61) (end -3.61 3.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 41b76230-5c1d-4a41-8017-b7e56225b9c2)) + (fp_line (start 3.16 -3.61) (end 3.61 -3.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 24d376f9-3aa9-4d3f-87b1-6912b37788c6)) + (fp_line (start 3.16 3.61) (end 3.61 3.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c20e02fa-ef3e-477a-8f50-bfb3eebcc8f8)) + (fp_line (start 3.61 -3.61) (end 3.61 -3.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6a177f46-a45d-476a-a3f3-0f17960e949b)) + (fp_line (start 3.61 3.61) (end 3.61 3.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a1ad0dc0-d4a4-42db-a9a7-9ea93af6de57)) + (fp_line (start -5.15 -3.15) (end -5.15 0) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 94301923-4cfe-4e44-b900-987fcf9ce4d2)) + (fp_line (start -5.15 3.15) (end -5.15 0) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02f4cbdc-55c3-4c0c-9f31-134cb287269b)) + (fp_line (start -3.75 -3.75) (end -3.75 -3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 992961c3-6a5e-4c41-b5b7-8f2c33a72def)) + (fp_line (start -3.75 -3.15) (end -5.15 -3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5f890a29-4554-437c-830a-3e26c6be61dd)) + (fp_line (start -3.75 3.15) (end -5.15 3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0202a42-b245-4f5a-b5b5-e3eb0fecadc2)) + (fp_line (start -3.75 3.75) (end -3.75 3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 54f93e09-bdb4-42e5-b709-5a5741336c31)) + (fp_line (start -3.15 -5.15) (end -3.15 -3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 341c8659-99ef-4a4c-952d-d9aaece154be)) + (fp_line (start -3.15 -3.75) (end -3.75 -3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bff55ed7-0fab-4e9c-8a2f-e7c2cef80d40)) + (fp_line (start -3.15 3.75) (end -3.75 3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fca06666-774a-4b95-ab5d-8677361ef8ec)) + (fp_line (start -3.15 5.15) (end -3.15 3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b06b6afb-d15a-4cb9-befa-cfc67f840e52)) + (fp_line (start 0 -5.15) (end -3.15 -5.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c2332644-097a-41ae-8820-a46910f937b9)) + (fp_line (start 0 -5.15) (end 3.15 -5.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 03a9b7d6-54a7-4963-a10a-0e201475e5e7)) + (fp_line (start 0 5.15) (end -3.15 5.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c1381369-f416-4dfe-a519-3d2250011e59)) + (fp_line (start 0 5.15) (end 3.15 5.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 580770c2-7eab-4e72-a79b-895a7905c85d)) + (fp_line (start 3.15 -5.15) (end 3.15 -3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3cc52da1-6933-4114-aa63-ab8ce3f77d56)) + (fp_line (start 3.15 -3.75) (end 3.75 -3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 411bfa06-5aa6-4a26-ab45-e785011805cf)) + (fp_line (start 3.15 3.75) (end 3.75 3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8ce1ab77-3fa3-486e-9bfb-1bf1e7c1532c)) + (fp_line (start 3.15 5.15) (end 3.15 3.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp effbc46c-125f-469f-a03f-adb84722a600)) + (fp_line (start 3.75 -3.75) (end 3.75 -3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fc8b5cdd-9782-42ef-a2e2-ce0e944bd291)) + (fp_line (start 3.75 -3.15) (end 5.15 -3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 171104b5-3373-4609-939a-62af00ba27e1)) + (fp_line (start 3.75 3.15) (end 5.15 3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0cf83067-556a-4da1-a7a9-c1b27a09f841)) + (fp_line (start 3.75 3.75) (end 3.75 3.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 016b405e-c6d2-4407-a0a6-dc23aee5110d)) + (fp_line (start 5.15 -3.15) (end 5.15 0) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp afe7d4b1-de8d-4570-8ef2-705403309cf6)) + (fp_line (start 5.15 3.15) (end 5.15 0) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6e59da94-3589-485f-b483-04732bd5e9e5)) + (fp_line (start -3.5 -2.5) (end -2.5 -3.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp febbec80-f5db-4595-a179-a3b1f5193608)) + (fp_line (start -3.5 3.5) (end -3.5 -2.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9b769d44-d3f0-4ab4-a3d2-4d0494929186)) + (fp_line (start -2.5 -3.5) (end 3.5 -3.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 090db115-13b9-46a0-9d74-a706061586de)) + (fp_line (start 3.5 -3.5) (end 3.5 3.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b5175454-6429-4123-ad6f-17e7d2c1348c)) + (fp_line (start 3.5 3.5) (end -3.5 3.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1190be46-313e-436c-a8fb-53956a095764)) + (pad "1" smd roundrect (at -4.1625 -2.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 217 "unconnected-(U5-PC13-Pad1)") (pinfunction "PC13") (pintype "passive+no_connect") (tstamp 3f05cf81-1745-49f4-a8b7-80053887c46e)) + (pad "2" smd roundrect (at -4.1625 -2.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 120 "SET3") (pinfunction "PC14-32IN") (pintype "passive") (tstamp 0f02cba0-e84a-4a5b-9a1e-10b94f50c51d)) + (pad "3" smd roundrect (at -4.1625 -1.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 121 "SET4") (pinfunction "PC15-32OUT") (pintype "passive") (tstamp 3d27c222-4210-4796-b553-eb6862d05826)) + (pad "4" smd roundrect (at -4.1625 -1.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "VBAT") (pintype "passive") (tstamp 6d588772-a002-4012-ba8b-2592e9824e14)) + (pad "5" smd roundrect (at -4.1625 -0.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "VREF") (pintype "passive") (tstamp 36ddd883-8b94-464f-98f1-cca27f12a010)) + (pad "6" smd roundrect (at -4.1625 -0.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "VDD") (pintype "passive") (tstamp 3684215b-b0ac-415c-979c-9bb5b4aef83c)) + (pad "7" smd roundrect (at -4.1625 0.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp 5e233fc9-4a94-480b-be5f-792d32459804)) + (pad "8" smd roundrect (at -4.1625 0.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 218 "unconnected-(U5-PF0-OSCIN-Pad8)") (pinfunction "PF0-OSCIN") (pintype "passive+no_connect") (tstamp c7a6c420-6b88-4e2c-85f4-bebb5678b351)) + (pad "9" smd roundrect (at -4.1625 1.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 219 "unconnected-(U5-PF1-OSCOUT-Pad9)") (pinfunction "PF1-OSCOUT") (pintype "passive+no_connect") (tstamp 27beb15d-59af-4cef-b7ff-44cbfea2d475)) + (pad "10" smd roundrect (at -4.1625 1.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 38 "Net-(U5-NRST)") (pinfunction "NRST") (pintype "passive") (tstamp 4d32b14a-d0e2-4c49-9d21-fe003e374c30)) + (pad "11" smd roundrect (at -4.1625 2.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 34 "ADC1") (pinfunction "PA0") (pintype "passive") (tstamp 058ad25d-7b48-4842-8e7e-a5049ce7262a)) + (pad "12" smd roundrect (at -4.1625 2.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 32 "ADC2") (pinfunction "PA1") (pintype "passive") (tstamp 930abab3-73c8-4ccb-a348-5a343e9e23a2)) + (pad "13" smd roundrect (at -2.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 30 "ADC3") (pinfunction "PA2") (pintype "passive") (tstamp c7a99140-45e9-48de-9ccd-65252c05a7bb)) + (pad "14" smd roundrect (at -2.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 28 "ADC4") (pinfunction "PA3") (pintype "passive") (tstamp eab390e8-227a-421b-a857-b5d77c0c7892)) + (pad "15" smd roundrect (at -1.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 35 "ADC5") (pinfunction "PA4") (pintype "passive") (tstamp 6352e30d-4bad-44fd-8db9-1c02622f4a6e)) + (pad "16" smd roundrect (at -1.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 33 "ADC6") (pinfunction "PA5") (pintype "passive") (tstamp 44704daf-060b-4f6f-a27f-7ea4fd97615f)) + (pad "17" smd roundrect (at -0.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 31 "ADC7") (pinfunction "PA6") (pintype "passive") (tstamp ec839beb-b0c2-419c-b3cd-f27e9139b0da)) + (pad "18" smd roundrect (at -0.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 29 "ADC8") (pinfunction "PA7") (pintype "passive") (tstamp aeb1a2fc-096f-4411-83dc-39b374533e44)) + (pad "19" smd roundrect (at 0.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 119 "SET2") (pinfunction "PB0") (pintype "passive") (tstamp d6c94a4f-a03f-4610-a5bd-551daa7b2f00)) + (pad "20" smd roundrect (at 0.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 118 "SET1") (pinfunction "PB1") (pintype "passive") (tstamp 18cee9f5-8a5f-44e2-a32d-6edb7e70ff3a)) + (pad "21" smd roundrect (at 1.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 149 "/interface/LED8") (pinfunction "PB2") (pintype "passive") (tstamp 03e2040c-d485-43d8-87ef-5f3418a6899b)) + (pad "22" smd roundrect (at 1.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 220 "unconnected-(U5-PB10-Pad22)") (pinfunction "PB10") (pintype "passive+no_connect") (tstamp e36ead61-6446-4c4b-bd4a-df6a54086904)) + (pad "23" smd roundrect (at 2.25 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 221 "unconnected-(U5-PB11-Pad23)") (pinfunction "PB11") (pintype "passive+no_connect") (tstamp e918217f-da09-40d6-accd-76af423d04b1)) + (pad "24" smd roundrect (at 2.75 4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 222 "unconnected-(U5-PB12-Pad24)") (pinfunction "PB12") (pintype "passive+no_connect") (tstamp f42e9f6c-bc43-4dda-87b3-346b433052c9)) + (pad "25" smd roundrect (at 4.1625 2.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 223 "unconnected-(U5-PB13-Pad25)") (pinfunction "PB13") (pintype "passive+no_connect") (tstamp 945c01a2-d997-4862-a7bf-eec7b7cf9373)) + (pad "26" smd roundrect (at 4.1625 2.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 224 "unconnected-(U5-PB14-Pad26)") (pinfunction "PB14") (pintype "passive+no_connect") (tstamp 3fb1154b-dae4-4159-baa4-39f8e484c280)) + (pad "27" smd roundrect (at 4.1625 1.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 225 "unconnected-(U5-PB15-Pad27)") (pinfunction "PB15") (pintype "passive+no_connect") (tstamp 308e2b37-4d8b-4024-ac5e-a776cd9400b2)) + (pad "28" smd roundrect (at 4.1625 1.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 159 "/interface/STA1") (pinfunction "PA8") (pintype "passive") (tstamp 6e37e8c0-da39-49bb-9aa0-ca58bab36f25)) + (pad "29" smd roundrect (at 4.1625 0.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 105 "/smapling/TXD") (pinfunction "PA9") (pintype "passive") (tstamp 738db767-6066-431d-ba97-6ae426a74cf9)) + (pad "30" smd roundrect (at 4.1625 0.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 226 "unconnected-(U5-PC6-Pad30)") (pinfunction "PC6") (pintype "passive+no_connect") (tstamp b73d7238-6948-426b-bf37-2aca6a33e7a1)) + (pad "31" smd roundrect (at 4.1625 -0.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 227 "unconnected-(U5-PC7-Pad31)") (pinfunction "PC7") (pintype "passive+no_connect") (tstamp 3bcee769-af89-448c-90b0-2adfa9bb86c4)) + (pad "32" smd roundrect (at 4.1625 -0.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 106 "/smapling/RXD") (pinfunction "PA10") (pintype "passive") (tstamp 5f810bc7-211d-4d72-b12f-8482d952e751)) + (pad "33" smd roundrect (at 4.1625 -1.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 228 "unconnected-(U5-PA11[PA9]-Pad33)") (pinfunction "PA11[PA9]") (pintype "passive+no_connect") (tstamp 8e02adea-a5ae-4a1b-a9ef-02fad4ca7de7)) + (pad "34" smd roundrect (at 4.1625 -1.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 229 "unconnected-(U5-PA12[PA10]-Pad34)") (pinfunction "PA12[PA10]") (pintype "passive+no_connect") (tstamp 13a17a1a-adb8-4c69-b9f8-09135fccd77f)) + (pad "35" smd roundrect (at 4.1625 -2.25 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 103 "SWDIO") (pinfunction "PA13-SWDIO") (pintype "passive") (tstamp 0a29e6f2-bc84-44c7-b618-95f1b1276c7b)) + (pad "36" smd roundrect (at 4.1625 -2.75 270) (size 1.475 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 104 "SWCLK") (pinfunction "PA14-SWCLK-BOOT0") (pintype "passive") (tstamp 7589c1f4-a055-41b0-ae45-3c0982d687b1)) + (pad "37" smd roundrect (at 2.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 230 "unconnected-(U5-PA15-Pad37)") (pinfunction "PA15") (pintype "passive+no_connect") (tstamp d8488345-4253-4f9d-b8ad-a09923a9ddca)) + (pad "38" smd roundrect (at 2.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 231 "unconnected-(U5-PD0-Pad38)") (pinfunction "PD0") (pintype "passive+no_connect") (tstamp ba11634a-4108-4b07-aab4-84b3797e760a)) + (pad "39" smd roundrect (at 1.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 232 "unconnected-(U5-PD1-Pad39)") (pinfunction "PD1") (pintype "passive+no_connect") (tstamp d6246356-0392-4966-87f0-2396ca18c595)) + (pad "40" smd roundrect (at 1.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 233 "unconnected-(U5-PD2-Pad40)") (pinfunction "PD2") (pintype "passive+no_connect") (tstamp 82ab0316-c08f-4402-911c-28a1ad796cad)) + (pad "41" smd roundrect (at 0.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 234 "unconnected-(U5-PD3-Pad41)") (pinfunction "PD3") (pintype "passive+no_connect") (tstamp 205dab66-8571-4736-8287-838769b95945)) + (pad "42" smd roundrect (at 0.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 156 "/interface/LED7") (pinfunction "PB3") (pintype "passive") (tstamp 0f06ad49-f2d1-4f32-9688-ba74296e43b1)) + (pad "43" smd roundrect (at -0.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 155 "/interface/LED6") (pinfunction "PB4") (pintype "passive") (tstamp 2b38dc27-d3ec-421e-b8df-2f65fb2ba802)) + (pad "44" smd roundrect (at -0.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 154 "/interface/LED5") (pinfunction "PB5") (pintype "passive") (tstamp 018bc6cc-99f5-41b1-8fc0-503eb54622ab)) + (pad "45" smd roundrect (at -1.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 153 "/interface/LED4") (pinfunction "PB6") (pintype "passive") (tstamp 8cc567a1-1cdb-45bc-ae71-d383d7c9f892)) + (pad "46" smd roundrect (at -1.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 152 "/interface/LED3") (pinfunction "PB7") (pintype "passive") (tstamp 357e099d-b978-41c5-a595-29bfa3d15e8e)) + (pad "47" smd roundrect (at -2.25 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 151 "/interface/LED2") (pinfunction "PB8") (pintype "passive") (tstamp 9e98cf96-10df-4e8f-bc15-87b5826b330e)) + (pad "48" smd roundrect (at -2.75 -4.1625 270) (size 0.3 1.475) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 150 "/interface/LED1") (pinfunction "PB9") (pintype "passive") (tstamp f4df98ee-5e3b-4f9b-ba58-4b3d66bcd704)) + (model "${KICAD6_3DMODEL_DIR}/Package_QFP.3dshapes/LQFP-48_7x7mm_P0.5mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Fuse:Fuse_0805_2012Metric" (layer "F.Cu") + (tstamp b8dfe2ae-a954-4df1-867c-0ec523b14dbf) + (at 68.326 107.696 180) + (descr "Fuse SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator") + (tags "fuse") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Fuse") + (property "ki_keywords" "fuse") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/cafba94c-9631-45ad-9cdf-dfd4adaa46e9") + (attr smd) + (fp_text reference "F1" (at -0.381 -1.651) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a52331d5-9de6-4da8-8a25-d18ecee4387c) + ) + (fp_text value "0.5A/30V" (at 0 1.65) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c45659e6-1c5f-4d2d-83c7-ac49e5d9395e) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.08))) + (tstamp c7ef30cf-fd4c-49d4-934d-f5fb814625be) + ) + (fp_line (start -0.258578 -0.71) (end 0.258578 -0.71) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5beba8a3-3659-429e-88ea-a0895f835c60)) + (fp_line (start -0.258578 0.71) (end 0.258578 0.71) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 750e7416-7a1b-4d65-8945-4433283e81b7)) + (fp_line (start -1.68 -0.95) (end 1.68 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cef26c84-61bc-4e5e-8df8-6145c8b02032)) + (fp_line (start -1.68 0.95) (end -1.68 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6db73cd2-5849-4866-8e2e-9d220275592b)) + (fp_line (start 1.68 -0.95) (end 1.68 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8df97ff9-c8d5-4b56-8ee7-6677edc0abae)) + (fp_line (start 1.68 0.95) (end -1.68 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 60d7048e-721b-4bc7-a427-af400c22ecbb)) + (fp_line (start -1 -0.6) (end 1 -0.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d81bce0-c84d-4393-963b-4a0f55671a4e)) + (fp_line (start -1 0.6) (end -1 -0.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58ad3ca6-f432-4d05-8b16-0d187fc846af)) + (fp_line (start 1 -0.6) (end 1 0.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1534f5dc-2fd0-42f2-adda-fb0a41df29d7)) + (fp_line (start 1 0.6) (end -1 0.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8b5d9808-6577-4fca-b55a-dc2add8492ca)) + (pad "1" smd roundrect (at -0.9375 0 180) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 102 "Net-(F1-Pad1)") (pintype "passive") (tstamp 689637f6-ee0a-4bb4-841a-1539f311c3b2)) + (pad "2" smd roundrect (at 0.9375 0 180) (size 0.975 1.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 3a70c8bc-399d-41e7-ad62-9fdf166e963d)) + (model "${KICAD6_3DMODEL_DIR}/Fuse.3dshapes/Fuse_0805_2012Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b92466ea-c743-4adf-87ec-15c5fe523d95) + (at 53.975 90.424 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e75b432b-3f5c-4dde-ba23-30888d52a705") + (attr smd) + (fp_text reference "R67" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a5d1ed3a-cbda-4dda-b2dd-a637f962b502) + ) + (fp_text value "4.7K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4a669eee-6ae0-4273-afc2-b79270d09ca8) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 87f1fd38-369f-4b1f-aca0-851584a481d1) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 24e4d298-23fd-491d-a3b8-6fd95a1a8349)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8570c7f5-e625-45a9-b8de-66b39fbb06e4)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9f500c7b-aacf-474e-9c4d-436fab3f444c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02da3bcd-d1d9-4950-bb45-950205cee864)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 07343dba-f12e-4bc2-9e5e-623ebf987bc3)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ddc9f738-ec68-4d79-9a1e-054ef487f103)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8977be4b-bd5f-43ff-824b-520dfbd9343c)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf34bb02-263a-449b-9c47-c5d852f78d7f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 242bb4c5-1fce-4dc7-a889-359c4158a69c)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 18f19290-1133-4348-b838-a98edda8b3d3)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 96e10165-2188-432a-9d49-b8eb31bf55ee)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 24 "Net-(U4D-+)") (pintype "passive") (tstamp 4cca2f99-bd4f-4c1b-aaea-226d5f923176)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b944864a-239e-4b54-8703-4e32e80d5b8b) + (at 46.101 84.328) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/573b13aa-08f2-4e22-993b-3b84a808e056") + (attr smd) + (fp_text reference "R55" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 15c76c62-08c0-416d-9929-31f21560d341) + ) + (fp_text value "100K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b146585f-b2da-4c1d-8ec6-fb152faca459) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ede55407-259c-4e79-8c7c-52f3e852656e) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f51f91f8-13d8-486e-9c47-a4a0337168cb)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c07af81c-4161-47de-b65f-103d44ce4e0f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 572e81e1-f3b0-4ef3-9def-e3e4ca93d736)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 98eb4181-c62d-400b-8007-506eb1220360)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f7124e6-7eea-4442-8cfe-00be0bec2084)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 47bb5024-98bf-4f25-abe6-41ba2ec240ac)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bf1b83e2-a0cc-458d-8a7c-1f3f957e0d29)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29e985e7-06d2-4d8d-adb1-f3157d78267c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f458f1c-e31e-44b4-b5ab-8ca9d9681c3b)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c7c9a836-b0fa-48ce-a4da-05bd7b23c0ea)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 139 "Net-(R47-Pad2)") (pintype "passive") (tstamp 03fbd703-9cb7-411f-b377-fcb1ac7f9941)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 73 "Net-(D18-A)") (pintype "passive") (tstamp a34f855a-3598-48d0-8807-1cb58b3c715a)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp b9c8b29a-9736-4176-8f75-1b2e52829b11) + (at 55.626 90.424 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/92d40f42-e45e-46d1-bfc7-5081bdc226c2") + (attr smd) + (fp_text reference "R88" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ecb36987-c6e1-4b72-ba35-b7dac86c7285) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ccbd527a-b012-4859-bbad-95c084e99cde) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 2a930903-bfaf-4ffa-aef8-b28c06a5f239) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ee5520e4-4128-45c8-aaae-f763d03907f6)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp effbbaad-f6ac-4a96-8997-2dd496d4807b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6b126950-127e-471d-bbd7-f6a315a0b9e0)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 022f470c-078c-4668-ad90-dbbc9d73314d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e8459b02-f939-4fcf-ba29-c9616b70363c)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c8a8504f-24d8-4487-a81e-021fcddc1d61)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58b54e23-2ba7-4b6b-9046-ac451f34594e)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e041d032-f305-4235-a4e6-155be122b87b)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ba0fa69c-123c-4169-aca4-817bf2ce7ab3)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 922ee8f5-3797-4311-b4f0-972f06d5100d)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 82 "/frontend/OPA7") (pintype "passive") (tstamp 7cf82311-f592-4256-b843-b1491b17f38b)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 4f591a04-d664-492d-a814-11d579420fea)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp ba35270b-df5c-4bdc-b4ed-ba86e56b8450) + (at 52.324 102.87 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/bd01f21c-b2e4-4785-95a7-cbc706f30d5e") + (attr smd) + (fp_text reference "C16" (at -2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d52af58f-79fb-48ae-b986-3d285f5e7eee) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2ecfef8e-55d5-4e8c-93ca-5addf87d4f2d) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp d48d2e8b-21d2-4113-a189-2270a7e8b2f4) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 53043463-7d63-465f-9755-b6e4bfc05564)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 992dd452-478e-42c0-a26e-2d9748037b14)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ba47eb1-97de-4fe7-8d4a-6c9163d64dfc)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 436c4682-8538-4642-8f3d-01e178ebc4e2)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5127aab3-f639-4edc-b746-d81820102a94)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f124f551-b8ba-486b-8115-96eb2f212244)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fdd7ed18-f9df-47c2-bf2f-1165860c2b0b)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bbe21901-dcc7-4d8b-ad2d-cf527375c6f6)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 02dee3fd-019b-411b-b9db-830c38915832)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f0a9f93-fd65-4852-be24-b69472b072a4)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 34ee9271-b826-4e9c-b77f-1b10a22d15fc)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 25 "Net-(U4C-+)") (pintype "passive") (tstamp 2c03ec6b-1f4d-4e9a-8c9a-e5ee31cd5417)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp bb505f80-9f28-4e7b-a3f5-231b7a268481) + (at 55.118 43.307) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/f7cc42a9-e23e-4f30-9414-35983dfb9950") + (attr smd) + (fp_text reference "C18" (at 2.794 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 9e350fb2-5edb-4edc-ad7c-84bac325efd8) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f1a3ba75-895b-4b2f-a0fe-b789cd539fa6) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ca84cb1d-cdc1-4a0b-a935-ce5bea390546) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7cfce5b-e80d-4d78-b6b8-8b897fec3cbc)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 78c10635-471b-46e8-8fc1-17868f4d45b1)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 13779ae6-9c88-4c7d-8f66-86c92abc4e03)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 82d382b1-141b-4615-a371-5ee5b9932716)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 092c78aa-3c50-4203-aa4d-1940bd6d80e1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c900c2cc-f30d-44e2-8d34-11941eb39444)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5c7b7ec7-fdf8-4b7f-8d5a-023fb5e30f1b)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0e76cb24-a1c4-4427-875f-a8b65a085450)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d83cb086-d0d2-4522-b53f-8fe5d6461953)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e173a016-ee52-41ae-bd2e-a490f70c257f)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 0c626468-b907-4e6b-bf1e-9dfa7241c71b)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp da6e98c2-f8a8-404b-9a3b-e2a415ff396d)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp bc1415e8-c337-4718-ac4e-0748edc8d094) + (at 42.926 94.869) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/346bd0e1-8937-4dcf-9ab8-d28a1a8efc0f") + (attr smd) + (fp_text reference "R39" (at -1.905 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a158927e-b1bf-4e79-8203-4199aeee5af3) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0083284a-7deb-431f-9fe4-9572d9a6d4ce) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp fc2c4be1-467a-4975-bdc0-280b8e537cec) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3ec5cd03-ce68-4335-8244-c62943d505dc)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3c4eda9a-ac3a-4852-9282-41d88419b329)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4851b9e7-7487-4e6a-8297-db753b53319c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 44be7e9d-b9a7-42a4-b6c1-a5d6887ca38f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4426efcd-3591-416d-8e02-e2f2839f48ad)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0e36aaf4-24b2-4ed2-a76c-90ec48d41fc7)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bd917141-ed27-49a3-b610-4ebec5e62224)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5f457d31-306b-4fa4-a4b4-d8237a77863f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6e8f1dbe-46dc-4026-a210-87b716c6e9b6)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 286e352c-807c-45a1-9190-ce9c76fac00b)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 19 "Net-(C11-Pad2)") (pintype "passive") (tstamp b430084b-60cd-4eb7-a463-414e165dc22c)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 3d1e2070-dcf7-4c9f-9c08-326301062963)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp bc321770-0ffe-454f-bc0c-ae323f25c00d) + (at 42.926 61.087) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/77b200c1-f77f-4c5d-a531-0773287425e9") + (attr smd) + (fp_text reference "C19" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 83a843de-12dc-4530-9acd-a1bb6dc741a7) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 647caadc-1ff1-4350-9adb-b6f7ae89b9f8) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 57813472-79e1-4920-b592-2af34123e30d) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a96003a1-5a83-498e-8fe1-b3993bef7bce)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp adc58b45-12ad-44e5-a4b8-a43df69faf25)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 891ee3a3-ebbc-4008-8cfc-8e78bebd16ca)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a70f61a7-5469-40db-9a92-b28f8fb70687)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b18b6ebb-18e8-4f52-a719-2654c23c31a2)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9e8cf4c3-9bb6-42f8-a07c-ec353625c821)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a4b00e3c-ecfc-4520-a82a-bf3a3c566b32)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7491f574-0c64-4170-8b9a-462f4d9b0984)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5e6eccc3-d327-4945-86c6-ed61872d417d)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f9d72cb7-611d-4a94-8d18-71343a038045)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 9dda9775-60a9-4bbb-8037-8d0f41eab189)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp 6f85b31e-51f9-42e9-923e-b9988cf86352)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp bc5c944b-b631-4511-9d01-73819a5827c5) + (at 70.993 80.137 -90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/3ce21b31-90bc-44af-baff-b10fd0bd92d0") + (attr smd) + (fp_text reference "C52" (at -2.413 0 -90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6402d279-b46a-49fa-a544-a3d9efd2dcdd) + ) + (fp_text value "100nF/50V" (at 0 1.16 -90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2335aaf2-ecb7-4ac2-bd25-a39535cef799) + ) + (fp_text user "${REFERENCE}" (at 0 0 -90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 371aa416-a3b2-47c5-8643-47ea1d69ca23) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ce3edf86-1228-4cd9-87b8-56def964d19d)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3b91bc79-2eb8-42da-aefb-67ed57272f00)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 67e899e4-e901-4706-a711-a7e45e869c3b)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e829133d-6531-4f85-80e3-6aafbee10f98)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 610bdb10-465e-42e5-a985-09e1acfa63ba)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 38502322-ad90-4cf6-ad36-566a74787ecf)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d54b3340-d755-4a5c-b310-c438d71fc6c5)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 23412171-126b-4846-bdda-54d53975e2a7)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a36ba3a1-6e7c-4dd8-9b2e-977d583f2b10)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6357b9d8-0b50-4552-9120-add0dd13732c)) + (pad "1" smd roundrect (at -0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp e6a6ce0a-c0b6-447e-b741-0d349aa5e617)) + (pad "2" smd roundrect (at 0.48 0 270) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pintype "passive") (tstamp 3cd99486-71bb-49df-897b-b23147ae5834)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp bdda1c3f-9abe-40dc-81ee-214dce9b5391) + (at 52.324 112.903 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/fd598123-cc02-4c41-b10f-da136e59450c") + (attr smd) + (fp_text reference "C58" (at 0 3.175 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 32c27046-c81e-4ae6-8a4e-10a6042e912b) + ) + (fp_text value "100nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a58c924e-1751-4b34-b6bd-89347a00af1e) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 6b44d0a4-c23f-4988-b988-8172c2254d02) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7c3bff9b-affc-498c-934d-6137d28b2ddd)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eca83820-850a-4f61-82e8-63e57478909c)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 974539f4-c7be-4c7c-ac49-f280fe10c58a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c0624ec1-6005-4d56-87fb-dc6abb9db45a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0858f78a-1f0b-4e3e-8370-ac817bf62648)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cfb42677-c495-4044-b8bf-87aa904f9bec)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 31ad798e-25f3-412c-97a6-acb481916360)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ff23241-08b0-49d7-886d-a598651dd383)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8ab35818-eb65-430f-9f95-cb0779b2ecb2)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf8923e5-5412-4c55-b8a4-7539dd991ba4)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 75009042-464e-45ab-8136-70891884450b)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp ea0a9e92-dbe1-431c-942c-73de4f65ad53)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp bdf319b4-5aa3-4bfb-8f3a-61c7c9772ef4) + (at 52.324 67.31 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/77684912-7f9d-4167-8f67-4a64e6b2a316") + (attr smd) + (fp_text reference "C8" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e19577ec-9d23-4758-9f04-5772af3b7c21) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 90a59dc2-8b43-47ed-909c-6e20d60f4b6d) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 02c8e641-5a0a-4ae6-a4b7-86ff711b2e08) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ab698c4c-052d-41d1-9938-600430249239)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6978220d-36f9-46c1-b514-a2009e7ec922)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0f390b1-f2af-4116-83a8-c384b6f09ece)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f7726013-37b5-4095-81da-cb4cbfbbfea3)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b9892af1-bd2e-40c3-a4e7-76aa509cc777)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2a698547-75c5-4409-b72a-79d52d96b41f)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 89da5fb2-3b9c-47c2-80dc-6d811e9005c7)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1a961e9b-4362-4362-af9a-bcca57a508d2)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 092f8ed3-ee71-458b-84ca-6d27a740f2cf)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp af9f8d4d-f71d-4b4b-9362-4b47f421e19a)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 8a81213d-5d4e-4903-b05e-4f9cdb4c1ec6)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 13 "Net-(U2C-+)") (pintype "passive") (tstamp 67d34cad-8ebb-458d-8a1b-74b523f48df5)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp bdf79e16-a0c9-4389-b4ba-506763201ea3) + (at 42.926 48.768) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/4d3291bf-75af-4ef5-80e7-11bc8f3b570d") + (attr smd) + (fp_text reference "R11" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0c195ff7-914a-4f7e-a581-94393cd3b9dc) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp cc0ba72e-62b8-4000-95b4-b87f25822087) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7d417515-0bfe-4d82-8d31-5e9dc1f06757) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2c2a145f-02d7-462e-8b76-3c142de0a524)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 944cecb4-81e7-4599-b0e2-a9780cad1019)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 00c2e047-6d9e-460c-90cc-8937158b203b)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f04c1f06-cba8-4403-ad98-a7502801960e)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 635bef82-c2b8-42c8-8d39-21a37dabeaaa)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dc43cdc2-5094-4896-9f7f-aabb242cebf8)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 197f0de6-13d4-4e22-b6a9-f6c15790cbec)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dc10226b-37bb-49c0-9347-b937ab1889bc)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 965b2cfe-a271-42f2-b94b-0b74f2cefa6e)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e18cce4d-28c0-47f8-a912-80e1b45e9628)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 199 "Net-(U1B--)") (pintype "passive") (tstamp 4ccd738f-0118-444c-8657-a479c029555a)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 127 "Net-(R11-Pad2)") (pintype "passive") (tstamp bca75652-871a-4ca4-89c2-820903ea75fe)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp be686b4c-eb53-4d04-8887-5314ce2a334f) + (at 42.926 98.425) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/366accff-925a-4979-8ccb-dea07dc865df") + (attr smd) + (fp_text reference "R40" (at -1.905 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e1962476-e7e9-4e50-9fbe-701ce4c260b7) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 9d8f8bfc-c503-4faa-b25e-4ed334a12f0f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 09ccf1e1-afa9-4061-a097-0c8498b26c04) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d99feefc-7921-497c-9a09-d17341811879)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f26f29fe-e75f-46ed-87cf-c9269a2860c7)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 515c8313-2168-48db-b8e0-1f86d118c732)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 50537612-d22a-4536-a4e5-918a7b68dc67)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e2c7318a-fb0e-426d-ba75-ba93f378ecf4)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 154fb2a1-639d-468e-be86-a3b56a104521)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cb5c6139-7dbf-4f95-9cdf-bc08a3d0f818)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 41cae869-e2f5-4204-baf8-d68a65f9a7d9)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4e010e88-9d38-4d0d-933c-921cb22ca5a7)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c01a1514-4ece-4354-9b79-5643b7ea12d7)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 21 "Net-(C12-Pad2)") (pintype "passive") (tstamp ec300dfc-39e4-4388-b1c0-da9ce8fa4a5d)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp c23687f6-a6a9-42af-bb7a-4cbb5c628fbc)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp bf060983-a85e-42c6-9401-60710e8220a3) + (at 42.926 85.979) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/cf2f27f9-4af9-498f-b1d0-e4a19f2e235f") + (attr smd) + (fp_text reference "R48" (at 0 1.27) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ba2f7cdd-2508-4da0-9715-76393af1addc) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 362b148c-136a-41f5-8b62-cd3378b507fd) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp c88bdc85-d076-45e7-be5a-ff8c04a8cbb2) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1e321f6f-da59-4ef1-a278-be4afb0c1d24)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d453126d-c0f9-4e40-9d67-f6451606a697)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp be7da596-f154-4dcf-b45f-eef5ca9d2e97)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 653081a8-de11-4b12-a293-b3b9f8edb12d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e3e83086-b7c3-43ef-9a01-527b94bf8e8f)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d1c2430e-b621-440f-906d-253fa005156d)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7fefd036-27a9-4497-baed-636b2240a70a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eec0dd63-8023-422c-86a3-12890e4cb1f9)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d8604c68-a772-4bd2-8e6f-4228f4b1764c)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 674b47b8-b45b-4e22-8dc2-e08ef2e051d9)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 207 "Net-(U3B--)") (pintype "passive") (tstamp 4b6f8466-420d-4ba0-b1d1-6adb859cfa95)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 139 "Net-(R47-Pad2)") (pintype "passive") (tstamp 6429a2fd-0e85-4ae6-b507-9e6c4580bd09)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23-6" (layer "F.Cu") + (tstamp bf6080fc-77ad-4a6c-8568-365d277b6d15) + (at 75.438 79.629 90) + (descr "SOT, 6 Pin (https://www.jedec.org/sites/default/files/docs/Mo-178c.PDF variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "ESD Protection Diodes with Low Clamping Voltage, SOT-23-6") + (property "ki_keywords" "ESD protection diodes") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/3923d277-ef77-48f0-af5a-5c023e22c6d8") + (attr smd) + (fp_text reference "U11" (at 1.905 -2.032 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 06c9d542-14d7-4146-a5bd-758fa75936d5) + ) + (fp_text value "SRV05-4" (at 0 2.4 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 02412f1f-2870-4896-94d4-ca7bed328c2e) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 81d19e65-745b-4a3a-b5e5-e82456d19d3b) + ) + (fp_line (start 0 -1.56) (end -1.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d03e7fa0-a72b-4008-932f-94c768eb11bd)) + (fp_line (start 0 -1.56) (end 0.8 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 31654156-4268-48ad-94a4-85e59d7b090c)) + (fp_line (start 0 1.56) (end -0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0a208b7a-ad1f-4598-a98c-6250efe6b110)) + (fp_line (start 0 1.56) (end 0.8 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 07089506-92ed-4109-b07b-10836687b55e)) + (fp_line (start -2.05 -1.7) (end -2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fb795f66-e966-406e-8d2a-8f041c3ce0f1)) + (fp_line (start -2.05 1.7) (end 2.05 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c322719f-5097-4aec-a66b-8d004a7783a0)) + (fp_line (start 2.05 -1.7) (end -2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 12483a05-6aea-4a87-bd41-0ec5b40352a0)) + (fp_line (start 2.05 1.7) (end 2.05 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ea3a7181-af71-4d68-8e0a-74319080c9f9)) + (fp_line (start -0.8 -1.05) (end -0.4 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4f3b8cc9-7c7d-41a0-99fa-b834f67aacad)) + (fp_line (start -0.8 1.45) (end -0.8 -1.05) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c735a53a-779b-4bd8-b16b-f9b93efc229f)) + (fp_line (start -0.4 -1.45) (end 0.8 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5ddfc17f-f02f-4f99-b0ce-229f5c7ccd91)) + (fp_line (start 0.8 -1.45) (end 0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c1645f8d-caff-4354-b858-418bbaa57498)) + (fp_line (start 0.8 1.45) (end -0.8 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6781ba70-d9c3-47b7-8761-bdfdfe134939)) + (pad "1" smd roundrect (at -1.1375 -0.95 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 43 "X3") (pinfunction "IO1") (pintype "passive") (tstamp 400b9f39-9593-4587-8260-5be501ceae9b)) + (pad "2" smd roundrect (at -1.1375 0 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "VN") (pintype "passive") (tstamp 0cb44885-b4bb-4b41-b84e-964992ab825f)) + (pad "3" smd roundrect (at -1.1375 0.95 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 42 "X2") (pinfunction "IO2") (pintype "passive") (tstamp 9235536d-ebd7-4548-94a8-e38c12930680)) + (pad "4" smd roundrect (at 1.1375 0.95 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 41 "X1") (pinfunction "IO3") (pintype "passive") (tstamp 9a939009-d019-4a13-a7c0-64ed441844b3)) + (pad "5" smd roundrect (at 1.1375 0 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pinfunction "VP") (pintype "passive") (tstamp e0c26d61-a9c8-4940-8cef-522d7d066807)) + (pad "6" smd roundrect (at 1.1375 -0.95 90) (size 1.325 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 44 "X4") (pinfunction "IO4") (pintype "passive") (tstamp 86a62352-3d22-4a76-aec4-1b06c7cf19d1)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23-6.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp c0cb2651-5da9-424e-bb69-e4dc435b5a72) + (at 57.912 75.819 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/6664bc40-3280-4b81-8781-a0945896034e") + (attr smd) + (fp_text reference "C32" (at 0 -1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3c60a4ed-84cd-4a2f-a8ea-5afbc24710a4) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b0ad55b5-1068-4c8f-a1f8-48b7beac0be5) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp c1808bad-5d14-4a31-8176-6171a7fa8ae4) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 41e512c0-d091-458e-89a3-4d952d485c49)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 86dd9bb9-e52e-40c8-b37c-13d597d9a200)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0ff981e3-45a7-4238-9f1d-1a28ef4810eb)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 94585e2e-a295-4fc2-80da-52bdfe1ba41b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c4804813-c5f9-47c3-952c-a5758ca63741)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0b3f4b70-c55d-4f20-a299-1418cc5ffd39)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3935927d-3399-41f7-bbe9-bf8fe20318f8)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cdc47855-8435-4e61-b06f-332ac2a92ec7)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c47d825c-2f2f-4196-87d4-fb00610f8039)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 365e2af0-d2e0-41a0-af5f-c2e407ef360a)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 35 "ADC5") (pintype "passive") (tstamp f4042ede-6e39-497e-98cf-cbe5f7fa2722)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp fd65b4b0-b6a7-4df6-b57a-a999015558ad)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp c1d47b95-6e80-4184-97ac-0ca4e499372f) + (at 54.991 93.091 180) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1d15c1e0-e142-4d59-b605-dae0cbd8ab6e") + (attr smd) + (fp_text reference "D23" (at -1.905 2.159 270) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 25215f0c-c962-4a02-8baa-30fee5f7e342) + ) + (fp_text value "1N4148WS" (at 0 1.651 180) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c3d677ea-b012-46e5-a23a-e6a40ffa5eba) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 127dfece-ea9c-4e78-bac7-15d61b6939d6)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dd948b60-60fe-4336-b870-358b5451b548)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7ac6fa2e-f7a7-4cdd-9f89-addfe3c22ef2)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1fc9efaf-25a8-4213-89c7-adeea9431b48)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 560f35cc-5509-41a0-b6e6-2a883601e4b9)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a0e08bac-40ff-46d5-b1ae-aff8cab97146)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6671ae1b-6503-445c-b144-f2878f6072f8)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0aaf8958-242a-4f92-9491-d791e8d70976)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 63b61925-4e3b-4cf1-9360-200b4f7992c6)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e0195b2f-370a-456c-9126-cf5ec572b490)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f07a2ced-d0b6-45b0-abfc-ebf6f0e46ab4)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e63478d9-5b7e-4da0-ba13-3228938116da)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 79c5d94f-2495-42d9-819b-8b7c6aa7ccae)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c038289f-817a-4f54-8bc3-5a0f2c0f7a7b)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6df97633-6b5e-4e6f-90eb-7dd7af9fcfc9)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e6b3e2bc-7a85-4014-8363-3b3b2fd3fc10)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 062eec8e-740f-4277-94b3-ba422d6dbd35)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 78b4e3c7-1156-48e5-9803-fab56ff320cf)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ef8ff2bc-004b-4bbb-8e61-02f9e8cddbce)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f76b5719-db3c-458e-96f2-ba7f3935178e)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0cff90ec-2b23-4ce9-9855-0e28f96f0130)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29648081-5f46-4a95-b670-07bb5d0e4f6b)) + (pad "1" smd rect (at -1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 82 "/frontend/OPA7") (pinfunction "K") (pintype "passive") (tstamp 5f0cf1cc-24c0-44c4-8615-c79f4f9552d9)) + (pad "2" smd rect (at 1.25 0 180) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 83 "Net-(D23-A)") (pinfunction "A") (pintype "passive") (tstamp e6c5210d-7877-479a-8d75-37ec17c033e5)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp c1fe4502-7ba6-4d28-a7a0-34bc3fb7c36b) + (at 72.263 92.71 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/80410ceb-0860-4323-9faf-d707ef7db96a") + (attr smd) + (fp_text reference "C54" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 4fe9e5a2-82e9-41d6-9f96-e6d3b0a9d958) + ) + (fp_text value "1nF/50V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 22747129-732f-4302-81ee-2fc5d676c75b) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp eeedb88a-cfa6-4666-87a5-9a997a529a5e) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2eb7075c-caf7-4618-a16c-3edd685d68cd)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5a6b01b4-a4f7-44aa-ba69-d42017e25e53)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 36991e36-f032-4ffe-bf6a-cc7fcef21594)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3ba62109-3592-4f4c-81cf-070c9d947d3d)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8fd472fc-7a4b-40c5-92be-d8576c6bbee5)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 93d219e3-40f5-4e91-a4f0-339f5efb3231)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a3b8eb6c-80c8-402e-ab5d-7d34d0d2d0f3)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 97bbdeb1-269c-4b9b-b7aa-1f82792a1935)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ea667155-6440-4074-927f-907582dae8ec)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fb0b8652-4e8c-45ed-8287-4fb1cc1e8535)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 41a52bd5-fe3e-4b66-9113-4b1a50f15db0)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 50 "SPI_CLK") (pintype "passive") (tstamp dc59cfab-ea65-4e8c-b87e-1a93c6b18ec0)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp c2f6f685-8e3e-472b-952a-6dbdc5a28599) + (at 42.926 84.328) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/8a2a53f7-81da-4778-97c8-1786894b8c62") + (attr smd) + (fp_text reference "R47" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b6d88fcf-0f28-48db-bd8f-6f380b1f19ae) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0c02eaa6-2743-4a8e-91de-e59d4efb616c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp dce3fd02-895a-46f6-a354-cfb876f87343) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp aae8573c-3b50-44e5-a5c1-2da1fc2a24ae)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 077afbb3-653d-4000-a138-a660c5d2ab0d)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e66f024e-576a-4e0c-85ad-68f7f8ad999d)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c64b99c8-9ed5-4baf-9d05-b54f92cc884f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 393a4e01-88bf-45c4-b6d1-473fc155ad53)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 86d964ad-0e93-4efc-b605-cffa046cfffe)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3a1fc09a-44b6-435d-8076-12f5fb8677d6)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 69f9e6a5-1841-4bd2-b4a3-64446eb047f4)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2de5e550-7779-4b83-bbc8-8228b3e53652)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c5fe7169-4321-48b5-a9da-76682c220823)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 207 "Net-(U3B--)") (pintype "passive") (tstamp aac0fdf5-a636-4a78-a0fc-61dc8de88a5f)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 139 "Net-(R47-Pad2)") (pintype "passive") (tstamp 2070db6c-3457-4fe0-9d6d-91e9e5608d70)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (layer "F.Cu") + (tstamp c3c815ec-6400-443d-abff-d0f4ecdf0d32) + (at 49.022 78.867) + (descr "SOIC, 14 Pin (JEDEC MS-012AB, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_14.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Quad JFET-Input Operational Amplifiers, DIP-14/SOIC-14/SSOP-14") + (property "ki_keywords" "quad opamp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d177daaa-15af-4408-aba6-28fd29ffedfd") + (attr smd) + (fp_text reference "U3" (at 0 -5.28) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 0b391750-70b4-40f3-87ab-9ce76fad5cca) + ) + (fp_text value "TL084" (at 0 5.28) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2688bf4c-3249-4311-b852-2ac08491263b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp 3eed2505-ab27-4bce-a894-94eaa4692746) + ) + (fp_line (start 0 -4.435) (end -3.45 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 36ede1f9-5cd5-416c-8eb2-21555e8722f4)) + (fp_line (start 0 -4.435) (end 1.95 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b33c1299-b1d5-4770-91da-e5640207b8aa)) + (fp_line (start 0 4.435) (end -1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 09ebb6b1-9488-4b82-9d46-e696410b6b10)) + (fp_line (start 0 4.435) (end 1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4df172a0-8cd1-4c3a-bef5-a8d683cdd52b)) + (fp_line (start -3.7 -4.58) (end -3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 630c4f2b-dd8d-4ce0-9ae1-683112296675)) + (fp_line (start -3.7 4.58) (end 3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d9fbea51-df1a-426e-8ea5-1ac9bdbd1345)) + (fp_line (start 3.7 -4.58) (end -3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c9bdbf18-25a6-4d30-af67-5a7bdd7bef12)) + (fp_line (start 3.7 4.58) (end 3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eb34e1f8-b85e-42bb-a036-83660b1e743f)) + (fp_line (start -1.95 -3.35) (end -0.975 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1e9053c4-168d-40b8-ac7b-5c66c925624d)) + (fp_line (start -1.95 4.325) (end -1.95 -3.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3c5f718c-304f-4bc9-8b16-ef1ef42a59dc)) + (fp_line (start -0.975 -4.325) (end 1.95 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27ca02c4-e518-44b5-8bd3-68ca4cc37afc)) + (fp_line (start 1.95 -4.325) (end 1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 836bcfb5-b9aa-49c2-a84f-b4b1714615d3)) + (fp_line (start 1.95 4.325) (end -1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7fe6731c-66ee-4f8b-bf4a-772985b9e9a9)) + (pad "1" smd roundrect (at -2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 71 "Net-(D17-A)") (pintype "output") (tstamp 8221be12-b655-4940-93b4-24f4d7e3e641)) + (pad "2" smd roundrect (at -2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 206 "Net-(U3A--)") (pinfunction "-") (pintype "input") (tstamp d58e2614-b224-4468-9303-3000a076549d)) + (pad "3" smd roundrect (at -2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp 999fb40b-4112-46d5-bf76-e334150bae0e)) + (pad "4" smd roundrect (at -2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "V+") (pintype "power_in") (tstamp c7512fe5-8264-4137-b588-57ae50e056de)) + (pad "5" smd roundrect (at -2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp 56a4c3ac-67ac-45d7-aee1-46d71bb31b9b)) + (pad "6" smd roundrect (at -2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 207 "Net-(U3B--)") (pinfunction "-") (pintype "input") (tstamp 815bff70-f374-4601-9881-988a3309158a)) + (pad "7" smd roundrect (at -2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 73 "Net-(D18-A)") (pintype "output") (tstamp 6d5d7493-51f7-4516-8fb0-aac85e5478d9)) + (pad "8" smd roundrect (at 2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 81 "Net-(D22-A)") (pintype "output") (tstamp da462788-8bd4-4149-a737-c059f7856ed1)) + (pad "9" smd roundrect (at 2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 211 "Net-(U3C--)") (pinfunction "-") (pintype "input") (tstamp 63b232b8-ba13-4cdf-a806-65f04e89af2b)) + (pad "10" smd roundrect (at 2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 23 "Net-(U3C-+)") (pinfunction "+") (pintype "input") (tstamp 1e7a5919-3af0-4624-a56a-0b55f72fd429)) + (pad "11" smd roundrect (at 2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pinfunction "V-") (pintype "power_in") (tstamp 18b54a11-0c53-4b4c-9ee6-0f9cbacc9c22)) + (pad "12" smd roundrect (at 2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 22 "Net-(U3D-+)") (pinfunction "+") (pintype "input") (tstamp d51b4e2d-010c-48a8-baaa-29eef22c80d9)) + (pad "13" smd roundrect (at 2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 210 "Net-(U3D--)") (pinfunction "-") (pintype "input") (tstamp 9d4a67fa-c594-4b5d-bc0d-0f4f72d96a9e)) + (pad "14" smd roundrect (at 2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 79 "Net-(D21-A)") (pintype "output") (tstamp 3411cdf2-b35d-4f31-8812-7fe95b7676a3)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-14_3.9x8.7mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (layer "F.Cu") + (tstamp c548dc1a-96ab-4807-94d5-971badef365d) + (at 49.022 43.307) + (descr "SOIC, 14 Pin (JEDEC MS-012AB, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_14.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Quad JFET-Input Operational Amplifiers, DIP-14/SOIC-14/SSOP-14") + (property "ki_keywords" "quad opamp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/113804f1-c2d1-4719-ad8b-904d72fc91c7") + (attr smd) + (fp_text reference "U1" (at 0 -5.28) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 25934156-8f6e-43ec-a93d-de93261ebc54) + ) + (fp_text value "TL084" (at 0 5.28) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5f262348-ffe7-488f-a71b-4dc40231fac9) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp ee14e207-a13d-48ba-bd80-42e9562bc12a) + ) + (fp_line (start 0 -4.435) (end -3.45 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a2bb0cfb-8612-4a98-ab1c-724ac6231d71)) + (fp_line (start 0 -4.435) (end 1.95 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0fb7e6a9-8163-47c3-80a0-9d7642339a38)) + (fp_line (start 0 4.435) (end -1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8562464b-f0c1-4bb3-8dcb-c33361568cbe)) + (fp_line (start 0 4.435) (end 1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4b47668a-5d3d-4438-9eff-83029bd83e4c)) + (fp_line (start -3.7 -4.58) (end -3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c67108ad-091f-4ebd-9da1-3eea9a35eb2a)) + (fp_line (start -3.7 4.58) (end 3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c2ac5696-0e36-487e-891a-f0696c3ec502)) + (fp_line (start 3.7 -4.58) (end -3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1619caee-98cb-4025-93b2-c9f44fc3932c)) + (fp_line (start 3.7 4.58) (end 3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 90c7494e-43eb-41ec-a5d2-a1596151f78d)) + (fp_line (start -1.95 -3.35) (end -0.975 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1793e6a3-c698-4570-9eb5-64f32ebbebfb)) + (fp_line (start -1.95 4.325) (end -1.95 -3.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 735967b0-3495-4d38-94b2-f3853a9f8d55)) + (fp_line (start -0.975 -4.325) (end 1.95 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c859ce37-80b2-42d1-94a9-4c3623117106)) + (fp_line (start 1.95 -4.325) (end 1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c167b566-1cb9-4532-8357-5b339490b15c)) + (fp_line (start 1.95 4.325) (end -1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 65652c96-8244-4efb-b7a8-9e48dc5fcada)) + (pad "1" smd roundrect (at -2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 55 "Net-(D5-A)") (pintype "output") (tstamp aa535332-a858-4049-83e1-ead59284b511)) + (pad "2" smd roundrect (at -2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 198 "Net-(U1A--)") (pinfunction "-") (pintype "input") (tstamp 2218502e-7740-49fc-bedc-41194bfb1e43)) + (pad "3" smd roundrect (at -2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp 9646a787-55d0-4e6f-8ee7-d094e45f8521)) + (pad "4" smd roundrect (at -2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "V+") (pintype "power_in") (tstamp 748065a2-cb9b-4178-a6ce-05aa05c557a6)) + (pad "5" smd roundrect (at -2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp 41fba83f-1049-42d3-b661-6d1e510dd903)) + (pad "6" smd roundrect (at -2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 199 "Net-(U1B--)") (pinfunction "-") (pintype "input") (tstamp 4ec89aa6-6a50-4a90-9625-9acbe2e737ed)) + (pad "7" smd roundrect (at -2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 57 "Net-(D6-A)") (pintype "output") (tstamp 0490366c-3e58-4716-b67c-ee5188856a57)) + (pad "8" smd roundrect (at 2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 65 "Net-(D10-A)") (pintype "output") (tstamp 827c631a-ef00-4d5b-81a3-4502a4de21a2)) + (pad "9" smd roundrect (at 2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 203 "Net-(U1C--)") (pinfunction "-") (pintype "input") (tstamp b63ecf27-5172-402c-b265-69a6afda5c66)) + (pad "10" smd roundrect (at 2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 11 "Net-(U1C-+)") (pinfunction "+") (pintype "input") (tstamp 239fc7b9-dd4d-4ab3-b5e4-7fa9bb4eb9da)) + (pad "11" smd roundrect (at 2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pinfunction "V-") (pintype "power_in") (tstamp 9445a0f3-9613-4b45-a710-737d73bf2001)) + (pad "12" smd roundrect (at 2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 10 "Net-(U1D-+)") (pinfunction "+") (pintype "input") (tstamp b0b97b8e-0929-4a63-b70c-3a0e7917b321)) + (pad "13" smd roundrect (at 2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 202 "Net-(U1D--)") (pinfunction "-") (pintype "input") (tstamp d044b456-2fb5-43f9-93b0-739fa89f2f3c)) + (pad "14" smd roundrect (at 2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 63 "Net-(D9-A)") (pintype "output") (tstamp c126b312-48a5-48ff-a52d-2fc1fa115fe9)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-14_3.9x8.7mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp c7ce4cd0-86e9-41fa-b4e6-cddcd5d732fc) + (at 78.74 27.178 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/adde402d-8a6a-4e3d-9ecc-e2971484e557") + (attr smd) + (fp_text reference "R80" (at 2.667 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1cbcf5c0-a35e-466f-8d86-ce0a8c7b6290) + ) + (fp_text value "5K1" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 27a636d0-be90-495c-8892-43c891948480) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 49f3ed01-9aff-4c51-82f4-5a398f16dc7e) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 88aa72c6-3a65-4bfb-9594-01d7709b16c8)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 82c5fd40-619b-4bdb-aa39-ca58ae45baf2)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2c70a561-47f1-47d7-9269-c6cd3bf88b37)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9ea5a1ce-5bcc-4ddb-b137-a0caaebf16d4)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b17d8099-eed8-4783-a0e9-0fff6512346e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f279001a-f5f9-47ef-8820-768fabd6a5b0)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7c653d53-843c-4df9-96c9-6844888a9a4a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 618c5e2e-1ca9-429c-b56d-3e43c6f91a70)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d12eb53-3e8d-42c9-9a31-e705129ee503)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c676d089-6d0d-4789-87c2-a5436567a7d0)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 5f3ea956-d8eb-458b-855f-8744129e180a)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 167 "Net-(J10-CC1)") (pintype "passive") (tstamp 79ade523-6710-42c0-a86d-50bd6abfa439)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp c8ee4e08-82b5-4d7c-8f24-eff5dfceaebb) + (at 70.358 100.711 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/224d059a-8ed4-4884-bb37-7fcc62427b3b") + (attr smd) + (fp_text reference "C43" (at 0 -5.08 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7d08d05c-5e8d-4344-a67f-9bb5fccd40f7) + ) + (fp_text value "22uF/6.3V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 79f02e41-0c32-4d22-ac24-b5d166004af9) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b610e404-31e4-450a-9265-60223a46e2a8) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c7a4bfb2-014a-445c-afd0-c2a3fec7d0c3)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c12e0fd2-6a97-49d3-a1a2-cf9a78e10aaf)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f841f5f2-13f1-40f0-bd4a-ef291e4112d3)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 90f69788-1f1e-49a5-8fe9-f42572e2f278)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a594a1bd-5fac-4fd7-9afd-03df97f8983c)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b1f5e4c7-60d8-43d0-b9ef-e16c3dde0573)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b6387393-7599-441f-b549-91012b612da3)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp da8b12d6-194c-4266-b1d0-443a4fef5df6)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c485f033-25d7-4942-ae59-40d62950aeca)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 994bb6dd-2c6b-47b5-96ed-56cd95a2bbf3)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pintype "passive") (tstamp 8a3daddc-b8a0-44db-b8cd-dc6a6ec901f7)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp f04f038a-825a-4a28-9b95-be8145899a43)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (layer "F.Cu") + (tstamp c981251f-1530-4a13-8465-9699285ca829) + (at 49.022 96.647) + (descr "SOIC, 14 Pin (JEDEC MS-012AB, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_14.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Quad JFET-Input Operational Amplifiers, DIP-14/SOIC-14/SSOP-14") + (property "ki_keywords" "quad opamp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/d83ba1e4-afaf-4da2-bdee-71018081cdd2") + (attr smd) + (fp_text reference "U4" (at 0 -5.28) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d68c66ae-266c-4643-b89f-cc5aeb1a6064) + ) + (fp_text value "TL084" (at 0 5.28) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2af85f44-c1da-429d-9adc-2de58c1777b3) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp a828ae8d-6602-4808-b09c-ebabe82b34f8) + ) + (fp_line (start 0 -4.435) (end -3.45 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 928e6bc5-400f-45a2-aa3a-69733abbd9f7)) + (fp_line (start 0 -4.435) (end 1.95 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1de58e8a-8e1c-456c-8acd-69ae66c04fa7)) + (fp_line (start 0 4.435) (end -1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55e3a2e7-0fa4-46d8-af7d-f1456dcb67cd)) + (fp_line (start 0 4.435) (end 1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 360b5096-5e57-4e8c-adae-6cf418674494)) + (fp_line (start -3.7 -4.58) (end -3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a3f5f737-d1ff-48e0-89d9-275aa26c7b43)) + (fp_line (start -3.7 4.58) (end 3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4034822-9be7-43e0-b7d6-ae55637dc27d)) + (fp_line (start 3.7 -4.58) (end -3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 82c3d794-6b1e-41d6-89bf-aba14a43d090)) + (fp_line (start 3.7 4.58) (end 3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8dbe1508-6101-4e29-82ca-0f7d36b43d76)) + (fp_line (start -1.95 -3.35) (end -0.975 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 397b942b-94b5-4964-99e9-bd9718006c21)) + (fp_line (start -1.95 4.325) (end -1.95 -3.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f56f42ff-ecaf-44dd-b6e4-3dc5c9bde2f7)) + (fp_line (start -0.975 -4.325) (end 1.95 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ff6fc2e7-38c2-4221-9d59-861d9775b948)) + (fp_line (start 1.95 -4.325) (end 1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7d6e0523-3fe4-4c30-88dd-b828ca44c244)) + (fp_line (start 1.95 4.325) (end -1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1e8e6460-4f09-4a08-b8a8-0e8acccf64ff)) + (pad "1" smd roundrect (at -2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 75 "Net-(D19-A)") (pintype "output") (tstamp 1a4dd15a-f8c9-4ffb-834d-c1cd6b400227)) + (pad "2" smd roundrect (at -2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 208 "Net-(U4A--)") (pinfunction "-") (pintype "input") (tstamp 8f77f9c9-d774-490c-a976-112228a01e13)) + (pad "3" smd roundrect (at -2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp 5fe494ec-dc1a-497b-b453-7f6e1b034f51)) + (pad "4" smd roundrect (at -2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "V+") (pintype "power_in") (tstamp 62a30029-c22d-4e39-a35b-3eda235b502e)) + (pad "5" smd roundrect (at -2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp e02f18a2-43ed-45bd-89d7-49655fdf9f36)) + (pad "6" smd roundrect (at -2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 209 "Net-(U4B--)") (pinfunction "-") (pintype "input") (tstamp 81678331-3903-4095-8139-9e2facd3cf2b)) + (pad "7" smd roundrect (at -2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 77 "Net-(D20-A)") (pintype "output") (tstamp 5a8132d4-c97e-43d0-85ad-f0f45a8dc853)) + (pad "8" smd roundrect (at 2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 85 "Net-(D24-A)") (pintype "output") (tstamp 8a0b39e6-6f3a-4ee4-af4e-504e02976c21)) + (pad "9" smd roundrect (at 2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 213 "Net-(U4C--)") (pinfunction "-") (pintype "input") (tstamp 93e7139c-babe-4fa8-8a92-be3dc1d5e2e3)) + (pad "10" smd roundrect (at 2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 25 "Net-(U4C-+)") (pinfunction "+") (pintype "input") (tstamp 90d78b0b-7490-4457-8240-8b7355e23557)) + (pad "11" smd roundrect (at 2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pinfunction "V-") (pintype "power_in") (tstamp 5a6efe5d-3c4d-400e-80e8-02a55d2b44a4)) + (pad "12" smd roundrect (at 2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 24 "Net-(U4D-+)") (pinfunction "+") (pintype "input") (tstamp 912fa979-32aa-45d0-9089-4639f87c0a64)) + (pad "13" smd roundrect (at 2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 212 "Net-(U4D--)") (pinfunction "-") (pintype "input") (tstamp e0fa8965-0cfe-4419-a526-7a77ef9d7caa)) + (pad "14" smd roundrect (at 2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 83 "Net-(D23-A)") (pintype "output") (tstamp 58474817-721e-42aa-9d41-ba0d628502f7)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-14_3.9x8.7mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp cb233baf-9bb7-44be-a6b9-cc59c55d7427) + (at 42.926 68.199) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/7d4aa1d4-6c9c-4b4d-81f7-16ad55c11a24") + (attr smd) + (fp_text reference "R16" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a39855b0-2b13-4dd0-9a9e-13b7ed50e97b) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6d279d09-14b4-4e7d-8790-c75cd5fc779b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 18c60020-57a7-44a5-b86f-3e8ae79104ee) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp af29a07a-ccb0-4475-8823-deaedcc81675)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eefe535d-3bb9-44f2-89c4-af646b5b3c40)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 492fa4cb-18fe-4558-94bb-a55787733988)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7db360d4-8990-4b17-aaca-52c79ce3c848)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp acc18cdf-e51c-42f7-9c4d-4d3e8840b505)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f2b9caa2-28a5-4929-a304-b767068ec602)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 85191d4e-9c7d-4476-9470-3ae281262b62)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d2478fcc-9f38-44e0-83d7-5452353ab46f)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3b531a10-0a26-4cf2-a24a-66bb05d4f595)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3256cd61-2add-4a0f-8840-de067bcccdfa)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 201 "Net-(U2B--)") (pintype "passive") (tstamp 23873d82-7dad-4490-a1f4-6670e0711869)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 129 "Net-(R15-Pad2)") (pintype "passive") (tstamp d7d252d0-22f0-459b-ae45-cdf40914fddc)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LOGO" (layer "F.Cu") + (tstamp cb671cba-0951-4542-842e-989134557b29) + (at 76.204267 63.503039) + (attr board_only exclude_from_pos_files exclude_from_bom) + (fp_text reference "G***" (at 0 0) (layer "F.SilkS") hide + (effects (font (size 1.5 1.5) (thickness 0.3))) + (tstamp 6263f997-5de3-4753-8591-9d5cc51d73f1) + ) + (fp_text value "LOGO" (at 0.75 0) (layer "F.SilkS") hide + (effects (font (size 1.5 1.5) (thickness 0.3))) + (tstamp fe2eabc1-6c78-4f3a-88d2-24a239e04667) + ) + (fp_poly + (pts + (xy -0.684809 1.773222) + (xy -0.460612 1.825796) + (xy -0.410791 1.846203) + (xy -0.177976 1.994229) + (xy 0.024303 2.202203) + (xy 0.167292 2.433146) + (xy 0.222655 2.576653) + (xy 0.243255 2.716954) + (xy 0.237836 2.876515) + (xy 0.2161 3.03529) + (xy 0.181412 3.178957) + (xy 0.154192 3.249263) + (xy 0.036867 3.417732) + (xy -0.128886 3.584745) + (xy -0.313082 3.722442) + (xy -0.413015 3.776319) + (xy -0.571163 3.82694) + (xy -0.767767 3.861512) + (xy -0.971156 3.877124) + (xy -1.149656 3.870868) + (xy -1.241311 3.852424) + (xy -1.490072 3.734474) + (xy -1.707075 3.561898) + (xy -1.881576 3.349662) + (xy -2.002833 3.112732) + (xy -2.060105 2.866075) + (xy -2.058639 2.713669) + (xy -1.989291 2.451096) + (xy -1.849869 2.208901) + (xy -1.652951 2.003737) + (xy -1.411116 1.852261) + (xy -1.406515 1.850168) + (xy -1.191218 1.785541) + (xy -0.939497 1.759848) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp 36d64d7f-0131-4ef3-a069-e10419c3088b)) + (fp_poly + (pts + (xy -1.678469 -3.851053) + (xy -1.593946 -3.743783) + (xy -1.493477 -3.574847) + (xy -1.473368 -3.536971) + (xy -1.298792 -3.212175) + (xy -1.153851 -2.963134) + (xy -1.037742 -2.788666) + (xy -0.949661 -2.687595) + (xy -0.888804 -2.658739) + (xy -0.877412 -2.662876) + (xy -0.830497 -2.716187) + (xy -0.752406 -2.833123) + (xy -0.649288 -3.003467) + (xy -0.52729 -3.217004) + (xy -0.392561 -3.463519) + (xy -0.369131 -3.50741) + (xy -0.251716 -3.708821) + (xy -0.155249 -3.831711) + (xy -0.078629 -3.877305) + (xy -0.043975 -3.869527) + (xy -0.005143 -3.810304) + (xy -0.011432 -3.704048) + (xy -0.064326 -3.544964) + (xy -0.165307 -3.327256) + (xy -0.20016 -3.259301) + (xy -0.322553 -3.030522) + (xy -0.449619 -2.803709) + (xy -0.574005 -2.590901) + (xy -0.688356 -2.404139) + (xy -0.785319 -2.255462) + (xy -0.857539 -2.156908) + (xy -0.895496 -2.120953) + (xy -0.948689 -2.141079) + (xy -1.015869 -2.210448) + (xy -1.023867 -2.221507) + (xy -1.096978 -2.334018) + (xy -1.198762 -2.501251) + (xy -1.318726 -2.705049) + (xy -1.44638 -2.927257) + (xy -1.571233 -3.149716) + (xy -1.682792 -3.354269) + (xy -1.730124 -3.443805) + (xy -1.809717 -3.600801) + (xy -1.853279 -3.702624) + (xy -1.865441 -3.766154) + (xy -1.850832 -3.808275) + (xy -1.835058 -3.82646) + (xy -1.771084 -3.876997) + (xy -1.740916 -3.8886) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp a6bfd798-2ccb-4f9c-a987-d754d381efad)) + (fp_poly + (pts + (xy 0.818168 -3.175021) + (xy 0.981876 -3.087611) + (xy 1.139292 -3.00767) + (xy 1.362802 -2.916779) + (xy 1.637463 -2.820674) + (xy 1.853706 -2.752907) + (xy 2.383285 -2.578687) + (xy 2.837385 -2.394229) + (xy 3.223082 -2.194741) + (xy 3.547455 -1.975432) + (xy 3.817581 -1.731511) + (xy 4.040536 -1.458186) + (xy 4.223398 -1.150667) + (xy 4.224971 -1.147555) + (xy 4.287532 -1.009941) + (xy 4.328259 -0.877582) + (xy 4.353734 -0.721487) + (xy 4.370541 -0.512664) + (xy 4.371044 -0.504202) + (xy 4.377174 -0.164537) + (xy 4.348562 0.119826) + (xy 4.280932 0.370506) + (xy 4.170009 0.609125) + (xy 4.140869 0.659635) + (xy 3.945114 0.939854) + (xy 3.704372 1.19283) + (xy 3.411316 1.423505) + (xy 3.058618 1.636817) + (xy 2.638953 1.837707) + (xy 2.144994 2.031114) + (xy 2.064298 2.059694) + (xy 1.757435 2.170214) + (xy 1.511457 2.266934) + (xy 1.307545 2.358245) + (xy 1.12688 2.452538) + (xy 0.961004 2.551663) + (xy 0.82452 2.63471) + (xy 0.7387 2.676827) + (xy 0.686142 2.684115) + (xy 0.649442 2.662673) + (xy 0.6481 2.661346) + (xy 0.619315 2.578744) + (xy 0.660946 2.466261) + (xy 0.769713 2.33162) + (xy 0.801129 2.300921) + (xy 0.965709 2.109596) + (xy 1.079439 1.888062) + (xy 1.147103 1.622469) + (xy 1.173483 1.298965) + (xy 1.174224 1.220358) + (xy 1.171478 1.019391) + (xy 1.160387 0.873414) + (xy 1.135873 0.754749) + (xy 1.092856 0.635713) + (xy 1.048819 0.536918) + (xy 0.920267 0.310159) + (xy 0.760486 0.134363) + (xy 0.547543 -0.012628) + (xy 0.456895 -0.061117) + (xy 0.285874 -0.161648) + (xy 0.194036 -0.249449) + (xy 0.189375 -0.279127) + (xy 0.75781 -0.279127) + (xy 0.927977 -0.122273) + (xy 1.037666 0.0022) + (xy 1.159529 0.178395) + (xy 1.276046 0.380811) + (xy 1.283355 0.394926) + (xy 1.468566 0.75527) + (xy 1.470957 1.278818) + (xy 1.474217 1.4818) + (xy 1.481381 1.656493) + (xy 1.491421 1.785271) + (xy 1.50331 1.850512) + (xy 1.504425 1.852648) + (xy 1.547901 1.889952) + (xy 1.622744 1.897942) + (xy 1.740744 1.874722) + (xy 1.913694 1.818401) + (xy 2.060736 1.76331) + (xy 2.369911 1.635667) + (xy 2.673169 1.495458) + (xy 2.947942 1.353838) + (xy 3.171659 1.221961) + (xy 3.216996 1.191802) + (xy 3.42394 1.03131) + (xy 3.620569 0.845634) + (xy 3.788122 0.654719) + (xy 3.907841 0.478515) + (xy 3.931264 0.432294) + (xy 4.036048 0.117926) + (xy 4.083058 -0.224521) + (xy 4.07241 -0.571272) + (xy 4.00422 -0.898552) + (xy 3.923759 -1.100433) + (xy 3.76223 -1.347058) + (xy 3.529572 -1.590694) + (xy 3.23722 -1.823065) + (xy 2.896611 -2.035894) + (xy 2.519182 -2.220905) + (xy 2.213192 -2.338344) + (xy 2.098453 -2.374893) + (xy 1.947861 -2.419751) + (xy 1.782781 -2.466958) + (xy 1.62458 -2.510557) + (xy 1.494621 -2.544589) + (xy 1.414271 -2.563098) + (xy 1.401052 -2.564821) + (xy 1.395683 -2.529525) + (xy 1.412739 -2.439443) + (xy 1.431247 -2.37209) + (xy 1.479671 -2.106286) + (xy 1.484757 -1.798929) + (xy 1.449283 -1.477159) + (xy 1.37603 -1.168114) + (xy 1.283571 -0.930381) + (xy 1.184408 -0.761458) + (xy 1.054948 -0.586044) + (xy 0.96036 -0.48045) + (xy 0.75781 -0.279127) + (xy 0.189375 -0.279127) + (xy 0.182407 -0.323487) + (xy 0.187152 -0.332557) + (xy 0.240126 -0.375665) + (xy 0.341099 -0.431209) + (xy 0.396886 -0.456717) + (xy 0.594874 -0.575517) + (xy 0.78988 -0.751985) + (xy 0.959842 -0.963281) + (xy 1.066707 -1.150094) + (xy 1.117469 -1.270026) + (xy 1.149635 -1.380427) + (xy 1.167283 -1.506413) + (xy 1.174493 -1.673099) + (xy 1.175513 -1.820196) + (xy 1.172946 -2.029031) + (xy 1.162596 -2.180112) + (xy 1.140488 -2.298336) + (xy 1.102649 -2.408598) + (xy 1.069569 -2.483827) + (xy 0.978968 -2.642725) + (xy 0.857175 -2.810507) + (xy 0.768873 -2.910642) + (xy 0.648634 -3.051035) + (xy 0.598203 -3.151623) + (xy 0.61282 -3.208451) + (xy 0.687728 -3.217568) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp c2d26c92-d3f0-4511-9538-e21e0488431d)) + (fp_poly + (pts + (xy 0.16368 -5.41912) + (xy 0.416475 -5.408249) + (xy 0.635915 -5.387) + (xy 0.846609 -5.35281) + (xy 1.073164 -5.303115) + (xy 1.130472 -5.289132) + (xy 1.738627 -5.097693) + (xy 2.318042 -4.833649) + (xy 2.857958 -4.502819) + (xy 3.347614 -4.111017) + (xy 3.400737 -4.061824) + (xy 3.848357 -3.584758) + (xy 4.231196 -3.057945) + (xy 4.546393 -2.486513) + (xy 4.791085 -1.875592) + (xy 4.951614 -1.282411) + (xy 4.990208 -1.034999) + (xy 5.015883 -0.732655) + (xy 5.028649 -0.398148) + (xy 5.028516 -0.054244) + (xy 5.015493 0.27629) + (xy 4.98959 0.570685) + (xy 4.950818 0.806175) + (xy 4.950704 0.806677) + (xy 4.764991 1.446742) + (xy 4.511475 2.046228) + (xy 4.194497 2.600923) + (xy 3.818399 3.106614) + (xy 3.387523 3.55909) + (xy 2.90621 3.954138) + (xy 2.378802 4.287547) + (xy 1.80964 4.555103) + (xy 1.203066 4.752596) + (xy 0.792224 4.841149) + (xy 0.254042 4.906715) + (xy -0.288991 4.920201) + (xy -0.811229 4.88185) + (xy -1.158307 4.822638) + (xy -1.803188 4.642671) + (xy -2.408075 4.394475) + (xy -2.968482 4.081505) + (xy -3.479924 3.707212) + (xy -3.937917 3.275048) + (xy -4.337975 2.788468) + (xy -4.675613 2.250921) + (xy -4.789969 2.027035) + (xy -4.925734 1.726556) + (xy -5.031798 1.446299) + (xy -5.11877 1.154061) + (xy -5.197256 0.81764) + (xy -5.212388 0.744577) + (xy -5.283074 0.344899) + (xy -5.319758 -0.008869) + (xy -5.321333 -0.144789) + (xy -5.179602 -0.144789) + (xy -5.146169 0.328545) + (xy -5.05086 0.827627) + (xy -4.900817 1.333632) + (xy -4.703178 1.827737) + (xy -4.465082 2.291116) + (xy -4.19367 2.704945) + (xy -4.015703 2.92399) + (xy -3.68701 3.278253) + (xy -3.381802 3.5716) + (xy -3.084717 3.816163) + (xy -2.780393 4.024075) + (xy -2.453468 4.207468) + (xy -2.287928 4.288506) + (xy -1.692543 4.528799) + (xy -1.091358 4.693734) + (xy -0.491572 4.782205) + (xy 0.099619 4.793106) + (xy 0.620521 4.735307) + (xy 0.99025 4.653398) + (xy 1.379706 4.537337) + (xy 1.768558 4.395257) + (xy 2.136475 4.235292) + (xy 2.463127 4.065575) + (xy 2.728181 3.894238) + (xy 2.73413 3.889789) + (xy 2.921511 3.738356) + (xy 3.134885 3.548609) + (xy 3.358957 3.335866) + (xy 3.578434 3.115445) + (xy 3.77802 2.902665) + (xy 3.942422 2.712842) + (xy 4.047856 2.574005) + (xy 4.171894 2.372182) + (xy 4.30848 2.118702) + (xy 4.444489 1.840561) + (xy 4.566797 1.564755) + (xy 4.662282 1.318281) + (xy 4.671823 1.290448) + (xy 4.824798 0.710719) + (xy 4.904921 0.106587) + (xy 4.911995 -0.506771) + (xy 4.845823 -1.114174) + (xy 4.710604 -1.686131) + (xy 4.6095 -1.970312) + (xy 4.474732 -2.281375) + (xy 4.317651 -2.597713) + (xy 4.149607 -2.89772) + (xy 3.981949 -3.159791) + (xy 3.836081 -3.350815) + (xy 3.675402 -3.528835) + (xy 3.485179 -3.727243) + (xy 3.282217 -3.929638) + (xy 3.083321 -4.11962) + (xy 2.905294 -4.280789) + (xy 2.764941 -4.396744) + (xy 2.762522 -4.398574) + (xy 2.523173 -4.555552) + (xy 2.221835 -4.716342) + (xy 1.878321 -4.872353) + (xy 1.512442 -5.014994) + (xy 1.144011 -5.135673) + (xy 0.92613 -5.194919) + (xy 0.383242 -5.289803) + (xy -0.184817 -5.314771) + (xy -0.760306 -5.27064) + (xy -1.325481 -5.15823) + (xy -1.592671 -5.078673) + (xy -1.861902 -4.981167) + (xy -2.144709 -4.865183) + (xy -2.41949 -4.74065) + (xy -2.664639 -4.617501) + (xy -2.858553 -4.505667) + (xy -2.902318 -4.476632) + (xy -3.116246 -4.31283) + (xy -3.352499 -4.105629) + (xy -3.59812 -3.868936) + (xy -3.840152 -3.616654) + (xy -4.065637 -3.36269) + (xy -4.26162 -3.120948) + (xy -4.415142 -2.905335) + (xy -4.496117 -2.766169) + (xy -4.723185 -2.285237) + (xy -4.898795 -1.847295) + (xy -5.027593 -1.434524) + (xy -5.114224 -1.029108) + (xy -5.163335 -0.613227) + (xy -5.17957 -0.169063) + (xy -5.179602 -0.144789) + (xy -5.321333 -0.144789) + (xy -5.323661 -0.345678) + (xy -5.296007 -0.694479) + (xy -5.27873 -0.827362) + (xy -5.148332 -1.508864) + (xy -4.956404 -2.136155) + (xy -4.701326 -2.712084) + (xy -4.381479 -3.239501) + (xy -3.995245 -3.721254) + (xy -3.541003 -4.160192) + (xy -3.254271 -4.389896) + (xy -2.708844 -4.752426) + (xy -2.143401 -5.035386) + (xy -1.5538 -5.240152) + (xy -0.935902 -5.368099) + (xy -0.285566 -5.420604) + (xy -0.147076 -5.422174) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp bfc9b725-6aec-405b-8825-641cac8001ac)) + (fp_poly + (pts + (xy 0.640796 -7.161068) + (xy 1.332717 -7.048865) + (xy 2.020439 -6.859536) + (xy 2.712045 -6.591181) + (xy 2.916449 -6.497377) + (xy 3.425266 -6.231385) + (xy 3.887619 -5.934918) + (xy 4.324446 -5.59274) + (xy 4.756684 -5.189614) + (xy 4.863861 -5.08024) + (xy 5.354489 -4.514106) + (xy 5.779477 -3.903451) + (xy 6.135874 -3.255036) + (xy 6.420731 -2.57562) + (xy 6.631097 -1.871962) + (xy 6.764022 -1.15082) + (xy 6.81031 -0.620522) + (xy 6.80684 0.142573) + (xy 6.7253 0.886327) + (xy 6.566617 1.606478) + (xy 6.331717 2.298764) + (xy 6.038784 2.926797) + (xy 5.635242 3.604028) + (xy 5.182178 4.215183) + (xy 4.678809 4.761042) + (xy 4.124351 5.242384) + (xy 3.518021 5.659991) + (xy 3.014697 5.938913) + (xy 2.607178 6.132619) + (xy 2.230142 6.286612) + (xy 1.849763 6.413236) + (xy 1.432217 6.524832) + (xy 1.365146 6.540836) + (xy 1.157062 6.587519) + (xy 0.975163 6.6215) + (xy 0.797127 6.645211) + (xy 0.600629 6.66108) + (xy 0.363345 6.67154) + (xy 0.10342 6.678191) + (xy -0.149296 6.682301) + (xy -0.384808 6.683969) + (xy -0.585911 6.683238) + (xy -0.735401 6.68015) + (xy -0.806678 6.675967) + (xy -1.419692 6.579939) + (xy -2.039039 6.426176) + (xy -2.645664 6.221479) + (xy -3.220511 5.972646) + (xy -3.744524 5.686479) + (xy -3.947002 5.555334) + (xy -4.564027 5.086179) + (xy -5.119173 4.566168) + (xy -5.610045 3.999759) + (xy -6.034249 3.391414) + (xy -6.389393 2.745591) + (xy -6.673082 2.066751) + (xy -6.882924 1.359353) + (xy -7.016524 0.627857) + (xy -7.050604 0.162134) + (xy -6.675596 0.162134) + (xy -6.672027 0.36661) + (xy -6.66239 0.531654) + (xy -6.64437 0.67891) + (xy -6.615652 0.830025) + (xy -6.573918 1.006643) + (xy -6.544015 1.124693) + (xy -6.375031 1.710156) + (xy -6.178114 2.261357) + (xy -5.959411 2.762917) + (xy -5.725068 3.199456) + (xy -5.695783 3.247394) + (xy -5.536251 3.477526) + (xy -5.325874 3.74089) + (xy -5.078753 4.023) + (xy -4.80899 4.309366) + (xy -4.530689 4.585501) + (xy -4.257951 4.836917) + (xy -4.004878 5.049127) + (xy -3.791265 5.203976) + (xy -3.595953 5.320394) + (xy -3.345278 5.455234) + (xy -3.061351 5.597887) + (xy -2.766284 5.737742) + (xy -2.48219 5.864191) + (xy -2.231181 5.966625) + (xy -2.109772 6.010749) + (xy -1.627855 6.147643) + (xy -1.1082 6.247003) + (xy -0.785994 6.285997) + (xy -0.513436 6.30195) + (xy -0.192513 6.30589) + (xy 0.150061 6.298736) + (xy 0.487573 6.281407) + (xy 0.793312 6.254822) + (xy 1.018133 6.223934) + (xy 1.211238 6.183441) + (xy 1.445633 6.124245) + (xy 1.684851 6.055908) + (xy 1.809884 6.016364) + (xy 2.058504 5.926046) + (xy 2.339597 5.810572) + (xy 2.635388 5.678508) + (xy 2.9281 5.538423) + (xy 3.19996 5.39888) + (xy 3.433191 5.268449) + (xy 3.610017 5.155694) + (xy 3.637873 5.1354) + (xy 3.838545 4.975038) + (xy 4.06117 4.781063) + (xy 4.294709 4.564697) + (xy 4.528124 4.337164) + (xy 4.750377 4.109685) + (xy 4.950429 3.893484) + (xy 5.117244 3.699782) + (xy 5.239781 3.539803) + (xy 5.295048 3.450538) + (xy 5.344494 3.361371) + (xy 5.37931 3.310405) + (xy 5.380327 3.309446) + (xy 5.419926 3.253265) + (xy 5.486024 3.137185) + (xy 5.570848 2.97661) + (xy 5.666622 2.786944) + (xy 5.765572 2.58359) + (xy 5.859925 2.381953) + (xy 5.941905 2.197437) + (xy 5.943852 2.192888) + (xy 6.106252 1.780716) + (xy 6.230189 1.386308) + (xy 6.318766 0.991143) + (xy 6.375084 0.576697) + (xy 6.402244 0.124449) + (xy 6.403347 -0.384124) + (xy 6.399698 -0.529558) + (xy 6.380369 -0.950432) + (xy 6.346179 -1.318776) + (xy 6.292169 -1.654467) + (xy 6.213378 -1.97738) + (xy 6.104847 -2.307388) + (xy 5.961617 -2.664367) + (xy 5.778727 -3.068193) + (xy 5.752216 -3.124249) + (xy 5.508861 -3.594761) + (xy 5.244204 -4.018632) + (xy 4.944317 -4.414103) + (xy 4.595278 -4.799413) + (xy 4.18316 -5.192805) + (xy 4.151154 -5.221506) + (xy 3.897152 -5.440268) + (xy 3.662601 -5.621686) + (xy 3.423891 -5.781394) + (xy 3.157414 -5.935029) + (xy 2.839559 -6.098226) + (xy 2.792345 -6.121393) + (xy 2.296781 -6.348073) + (xy 1.837449 -6.522726) + (xy 1.391622 -6.651366) + (xy 0.936572 -6.740009) + (xy 0.449573 -6.79467) + (xy 0.186156 -6.811178) + (xy -0.523553 -6.80814) + (xy -1.219808 -6.730675) + (xy -1.893528 -6.580756) + (xy -2.535634 -6.360352) + (xy -3.081922 -6.101767) + (xy -3.260522 -6.005077) + (xy -3.456058 -5.899539) + (xy -3.572617 -5.836805) + (xy -3.806095 -5.697659) + (xy -4.044883 -5.526062) + (xy -4.301013 -5.312257) + (xy -4.586519 -5.046486) + (xy -4.765467 -4.869561) + (xy -5.066918 -4.556188) + (xy -5.31525 -4.272104) + (xy -5.524162 -3.997809) + (xy -5.707356 -3.713802) + (xy -5.878533 -3.400584) + (xy -6.050531 -3.040554) + (xy -6.255426 -2.557965) + (xy -6.413837 -2.107428) + (xy -6.530368 -1.667291) + (xy -6.609628 -1.215901) + (xy -6.656223 -0.731606) + (xy -6.674759 -0.192753) + (xy -6.675415 -0.103421) + (xy -6.675596 0.162134) + (xy -7.050604 0.162134) + (xy -7.071489 -0.123277) + (xy -7.072844 -0.268893) + (xy -7.044839 -0.843239) + (xy -6.965329 -1.43717) + (xy -6.839545 -2.024806) + (xy -6.672713 -2.580263) + (xy -6.53385 -2.937134) + (xy -6.191809 -3.628218) + (xy -5.784407 -4.2764) + (xy -5.317493 -4.873135) + (xy -4.924121 -5.289241) + (xy -4.365141 -5.776823) + (xy -3.762887 -6.194612) + (xy -3.120258 -6.541471) + (xy -2.440152 -6.81626) + (xy -1.725466 -7.017842) + (xy -0.979099 -7.14508) + (xy -0.203948 -7.196834) + (xy -0.063411 -7.198046) + ) + + (stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp dc087afa-e7b4-4108-9678-7870412d4d67)) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp d01ad569-7473-4b09-83db-479b68413561) + (at 42.926 46.863) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a20da0fd-9ab8-482b-a0ac-2a4254dd7d40") + (attr smd) + (fp_text reference "R6" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 10efee67-e5d5-4b61-b28b-b8b0ca9286d4) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8000ec1b-a356-4371-8ca4-85849ec8b9ad) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 82808bc1-2685-4b9d-8021-70de3802f5e0) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dbdae444-9300-412a-ad09-f49acbf3efdb)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 11d33146-4597-4874-9ef7-2d5772589351)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ad60c132-b42f-4a7e-b22c-9fcd30ef64e9)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e79c48af-44a8-4318-b105-5a26873ff54b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0a157f42-7bbb-4117-a86d-0cbfb8fbb265)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 31d1c90d-2cba-4db3-9893-785299d12f7c)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 54d71927-8ea9-4702-a84c-9855aa4fa4a1)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e213b07a-e974-4150-8d31-9db60c0ece7d)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d64f464-5797-40c2-b277-7bee9bba5d8c)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b49c486f-90e0-4aa3-b467-e3a45d1edc64)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 4 "Net-(C2-Pad2)") (pintype "passive") (tstamp 20fd7df8-0c89-4a8b-8c00-96d2e603b485)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 199 "Net-(U1B--)") (pintype "passive") (tstamp 11654f8d-ff38-4504-ac15-cafb92a938b7)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp d04a9a9d-9d7d-40a5-86cf-eb947862db11) + (at 57.912 90.424 -90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/0fcf158c-8ec6-4a51-8caa-a6ac2652988b") + (attr smd) + (fp_text reference "R96" (at 0 -1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ab60c9bf-85ab-49e0-937b-1844be827991) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 0435f6b1-e0d5-4203-9268-7c41f6d79138) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 1c33c467-e36a-4e2c-8de0-83a18ddaab47) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a3768b84-983d-4037-8690-6a23070a2c59)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f4f6ccb9-256e-45b6-bd77-73485f790ee8)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a7e5ad5d-baed-4316-bf7a-a3bb9d8b31bf)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e1812e70-dd5d-45b8-8f18-d91c287e3217)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9db85a85-fe58-418a-a8c9-de726395f058)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8d71f1fc-4353-4293-82d8-34485317d971)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ac427bab-a53a-4172-88f3-364c66b32063)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5e7c846e-4be7-40af-ab3d-8ddeefe4335c)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6710cdd4-3b1f-4b92-bf7f-1c38e61c2c09)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d7bc98f4-0625-4b93-801c-2f1be94a7332)) + (pad "1" smd roundrect (at -0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 82 "/frontend/OPA7") (pintype "passive") (tstamp 37723717-7865-4dd5-98c2-0fd8f0b1d926)) + (pad "2" smd roundrect (at 0.825 0 270) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 31 "ADC7") (pintype "passive") (tstamp 1faf380c-c107-4b93-8672-02ccfeb6fb08)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp d09db592-3691-4357-a984-411ccbf547f6) + (at 83.087 73.914 180) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/b86eedf4-5da4-4763-bff8-01d111c1c8ef") + (attr smd) + (fp_text reference "RN5" (at 2.823 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b03db30e-9134-4cd5-b4f1-b4b39c225c54) + ) + (fp_text value "4.7K" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp cddbfc0d-e3f4-4ca8-8500-662550b9d0af) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp 1384d2ba-7748-4b41-b064-5668670028a9) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3e32b79f-0d15-4dec-b549-c001a5be53bf)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d99ccbf-3a43-48d7-8b71-7975b6f81454)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9e744b9b-083d-4e5c-893a-078f5e7270dd)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4264a3a6-6d02-48ab-b88a-7a2eab5a7a90)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cb35fdf8-71c6-4022-97b6-effec15db606)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ddac21cd-a123-4396-b3d5-60f1c1bcfe8d)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 79196701-c086-4f2a-8597-50e8321ffce1)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 75e2a77e-9b51-437a-81ba-dadbd0a0aa92)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eddb6f1d-098d-44a1-aca8-7eec05525ec0)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b067c113-adc2-4b8e-8aff-4f0a20f7acdc)) + (pad "1" smd rect (at -0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 44 "X4") (pinfunction "R1.1") (pintype "passive") (tstamp f19cf2d1-b8d1-48e5-a6b2-334a621d91d5)) + (pad "2" smd rect (at -0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 43 "X3") (pinfunction "R2.1") (pintype "passive") (tstamp ab4bed36-d7da-4e60-99c8-957f1917618a)) + (pad "3" smd rect (at -0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 42 "X2") (pinfunction "R3.1") (pintype "passive") (tstamp d746ffd3-7848-414e-b47a-524605d04e4f)) + (pad "4" smd rect (at -0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 41 "X1") (pinfunction "R4.1") (pintype "passive") (tstamp 2f90acde-bd91-4dd2-bb5a-2c417e89df67)) + (pad "5" smd rect (at 0.9 1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R4.2") (pintype "passive") (tstamp 55b5bdd1-d572-4c64-8e90-b7d368dc52cb)) + (pad "6" smd rect (at 0.9 0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R3.2") (pintype "passive") (tstamp f1fadaf0-d9d0-49cc-bdb5-32f3d4030a5c)) + (pad "7" smd rect (at 0.9 -0.4 180) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R2.2") (pintype "passive") (tstamp 4c3f6a63-339c-4617-9617-f8dfe6525110)) + (pad "8" smd rect (at 0.9 -1.2 180) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 39 "WCH_VCC") (pinfunction "R1.2") (pintype "passive") (tstamp 297d2668-7098-447c-a4d1-01fa0f674d45)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp d267852c-427c-45a4-9507-285299bb9066) + (at 57.912 40.259 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/01c63594-e5a0-4351-abc6-d06d766e04c7") + (attr smd) + (fp_text reference "C31" (at 0 -1.397 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d7276d19-ab8f-4c06-83fc-229a500b7352) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 17f974b5-9bcb-463b-bc05-0ca3cd74b487) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 6e9bdb4d-7b4a-4395-a90e-77d6dadc8bb8) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 91174274-def1-4073-83e9-89c54d58a18d)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fa827284-3a03-479c-879d-037a57d9f3f4)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 981d142f-41d1-47cb-ad2e-ec8cfa1b5c4a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ff8cc412-9f73-41ca-9337-a00f3ab5a2be)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a805fb2b-86c2-4f9d-ac66-9dc6c4e15a7e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 393cc9ea-d63a-4da6-9974-9c6fb73b4d38)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e8b6fb21-56ad-4ca1-8e50-640cd8896d6a)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c8b86354-669d-4421-b22f-6eea2f109d87)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9cee4c36-dc7b-44d9-b102-4b64121e7255)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c5376eb5-3f0d-4a0c-a573-2263024b74d9)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 34 "ADC1") (pintype "passive") (tstamp 49518ccd-bfad-44f7-a886-b3bf699e4c25)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 168cc16d-abbd-4789-b00d-767155494e8e)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp d3e9bccc-4393-4923-ac57-7aa6e3430ef0) + (at 42.926 102.108) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/3a53561e-8b72-4170-990c-020340bbe175") + (attr smd) + (fp_text reference "R51" (at 0 2.921) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1d0a55e9-35ab-4b92-ac38-e6a528d0c4ed) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d0a0f632-a72e-4ce1-8a97-63e971a40c9f) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp f4ec755e-738b-4dcb-8234-0cd907f54df7) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9c62c903-722e-425d-9106-d5ec3421ab83)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 90f126f2-7119-490e-a950-1264c9495ce6)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 135abdfc-ecea-41c2-92b0-deeb6ce2780c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 26a32db6-35e8-4fdb-9fe6-94a6e4e7f81a)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c39dcb2a-87a7-453d-9abf-78b942055758)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5c1312b6-0da2-4bf6-940f-b72dbad0d085)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0ee0de8a-73a0-4208-9121-8ccd58fba408)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f705182e-1845-4d93-a833-dc5c51f01637)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 979fb28a-c6e7-449a-a65e-ea609571cabb)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5d8027d6-da21-4650-a578-94ffaf7b4eb3)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 209 "Net-(U4B--)") (pintype "passive") (tstamp 328d037e-ad0c-48c5-b7db-0fcb5c82a914)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 141 "Net-(R51-Pad2)") (pintype "passive") (tstamp 0cdadfaf-60c6-4829-98f3-efafb0e37927)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp d5c831e3-44a9-4f09-a318-8b709f61d4a5) + (at 57.912 49.53 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/64bd981b-0fd9-41d9-a5fa-4e5ccb29399a") + (attr smd) + (fp_text reference "R91" (at 0 1.397 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 27f438ab-c592-45b4-9d8e-e039ea0ae692) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp eac40ce3-bfec-43f1-8a98-138dea1de659) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp a6413ca7-7a39-4198-8957-fdd1f0836918) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 74029b82-6d8e-4ffa-a79c-adfa66885719)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ba33fb13-fe43-4743-b530-7078d949cd99)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b792e163-f53a-49a0-8fd1-e2e0b3a6dd06)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 13ccf21f-af7c-4e1e-91c4-98892af3a24f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fd36c95a-5381-4cc6-90b2-2beb0bbb8da4)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4923c8d3-59d7-4bcd-a058-cdbab1817043)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 67b0c262-15a5-41f8-839b-4af970726304)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5b7ffdb1-027b-4ab7-b350-dda07567f8a7)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 362bb6f7-0d15-4f88-afb0-c8139755e39b)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5e24c3a7-26ec-439b-b8fa-1e0b8c20e90b)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 64 "/frontend/OPA2") (pintype "passive") (tstamp 700823da-582e-4ce4-9d27-41a321081b06)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 32 "ADC2") (pintype "passive") (tstamp ebba45e2-b505-4d51-aed7-f4e2eb25270b)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp d6d48932-285c-4236-a9c5-d42ca6651de4) + (at 57.912 58.039 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/00c40ca3-69b1-425c-ac2c-9750d4928317") + (attr smd) + (fp_text reference "C27" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 6425ad45-b7ae-43da-be7f-6dfb0bcaffbd) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3907e2a7-91b5-4b0a-8818-3809214b9a48) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp ee6aa912-befc-4c9f-999a-2e588a1ccd82) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 848e96a6-64b4-49d7-a8d1-5b2e3f0fb938)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d79136aa-5e39-4b93-859b-43cb6cb7b57b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dabdea9b-78dc-43cc-a3b2-fd38944a1aa7)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dd33aded-2d6e-47e9-9821-8b41cc096e35)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e3ddc06a-041d-424f-bafa-80e036641d6e)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a631ead3-c42f-42f6-a24b-8dfcff181224)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 52f0af11-dd95-4107-a69b-653b12e43e0a)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 732492d3-5c0a-4f4d-b53c-ee0f9ac784ff)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d7a926a8-a5cb-49ec-a0c3-ebca2df118ee)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f085843-083f-4f0f-a7c2-5b58401ef031)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 30 "ADC3") (pintype "passive") (tstamp 47c98cbb-b717-419f-95cd-46e64d32ad56)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp f5690ea9-bf64-4772-b33c-563320f47297)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (layer "F.Cu") + (tstamp d745e847-fca7-461a-8b69-f39bb5e07b83) + (at 70.993 116.586) + (descr "USB Type-C receptacle for USB 2.0 and PD, http://www.krhro.com/uploads/soft/180320/1-1P320120243.pdf") + (tags "usb usb-c 2.0 pd") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "USB 2.0-only Type-C Receptacle connector") + (property "ki_keywords" "usb universal serial bus type-C USB2.0") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/382f7017-ebc8-4b34-adfc-2407f1bc7286") + (attr smd) + (fp_text reference "J9" (at -6.096 1.905) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1c769ab0-d326-4672-9b48-c35a1800072a) + ) + (fp_text value "USB_C_Receptacle_USB2.0" (at 0 5.1) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5c65e80c-5eb6-4216-a984-0afb30a246ab) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4f40a0d3-820d-4f6b-a413-b0be2954f1d5) + ) + (fp_line (start -4.7 -1.9) (end -4.7 0.1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a03d6051-b169-4997-a4f1-8dc0c8a0a6b5)) + (fp_line (start -4.7 2) (end -4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 14692e5a-ea7c-452b-bafa-06e98d5e5a29)) + (fp_line (start -4.7 3.9) (end 4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6b0a4744-b389-48fa-a155-2edee95382ed)) + (fp_line (start 4.7 -1.9) (end 4.7 0.1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 974cfde8-8b30-4cf8-bfb5-25e1d74128a6)) + (fp_line (start 4.7 2) (end 4.7 3.9) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6ebed8cd-062d-46e0-93a4-33623915adad)) + (fp_line (start -5.32 -5.27) (end -5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d60ce260-11f0-4619-a35b-646a4060d6b8)) + (fp_line (start -5.32 -5.27) (end 5.32 -5.27) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2a4888b8-d1a9-4d5c-b8c1-ffb65a13c8f1)) + (fp_line (start -5.32 4.15) (end 5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 90afd283-56bf-4853-977c-8215ac9dcf05)) + (fp_line (start 5.32 -5.27) (end 5.32 4.15) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp efb12a96-1010-4907-bd98-89c2acbc9e29)) + (fp_line (start -4.47 -3.65) (end -4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 34b45903-5130-48eb-816f-0d571bc31d1d)) + (fp_line (start -4.47 -3.65) (end 4.47 -3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 717a7c2a-e82e-41b1-9790-8d4ee22978ff)) + (fp_line (start -4.47 3.65) (end 4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 99eb1349-0fce-4e18-8064-5ed5af962791)) + (fp_line (start 4.47 -3.65) (end 4.47 3.65) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp af278ad5-7553-4553-b88b-05cdc753432c)) + (pad "" np_thru_hole circle (at -2.89 -2.6) (size 0.65 0.65) (drill 0.65) (layers "*.Cu" "*.Mask") (tstamp fac05fbd-5d03-46bd-9aae-827617edd1a5)) + (pad "" np_thru_hole circle (at 2.89 -2.6) (size 0.65 0.65) (drill 0.65) (layers "*.Cu" "*.Mask") (tstamp 9d786906-27ea-4dc3-9cf1-b81b6e085058)) + (pad "A1" smd rect (at -3.25 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp f3b936bd-5cb8-4d2b-b95a-1e2eb4bf4e48)) + (pad "A4" smd rect (at -2.45 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 102 "Net-(F1-Pad1)") (pinfunction "VBUS") (pintype "passive") (tstamp f439258a-10af-4ac1-9c8e-ff309e6b1b52)) + (pad "A5" smd rect (at -1.25 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 163 "Net-(J9-CC1)") (pinfunction "CC1") (pintype "bidirectional") (tstamp 394f0bd6-2f8b-4bbe-8b65-fb12619dfe2e)) + (pad "A6" smd rect (at -0.25 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 87 "/interface/USB1_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 97568d63-e093-4823-8e8d-53ca75c53898)) + (pad "A7" smd rect (at 0.25 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 86 "/interface/USB1_DN") (pinfunction "D-") (pintype "bidirectional") (tstamp cb5883b3-01c7-4eb1-b8fe-70d1707bdfce)) + (pad "A8" smd rect (at 1.25 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 164 "unconnected-(J9-SBU1-PadA8)") (pinfunction "SBU1") (pintype "bidirectional+no_connect") (tstamp 8648e1b8-d57c-4097-a441-9a0d975fa95c)) + (pad "A9" smd rect (at 2.45 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 102 "Net-(F1-Pad1)") (pinfunction "VBUS") (pintype "passive") (tstamp d567d23d-c1dc-450b-a607-d8f032b20380)) + (pad "A12" smd rect (at 3.25 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp d38c9e7d-29fb-42c8-b21f-7811ff2e0c2e)) + (pad "B1" smd rect (at 3.25 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp 086afd15-8f9c-44ff-80c8-6cc9c2833da0)) + (pad "B4" smd rect (at 2.45 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 102 "Net-(F1-Pad1)") (pinfunction "VBUS") (pintype "passive") (tstamp 20f9f85e-870e-4334-b8d6-dbf15abf5cf1)) + (pad "B5" smd rect (at 1.75 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 165 "Net-(J9-CC2)") (pinfunction "CC2") (pintype "bidirectional") (tstamp 8e260042-30d1-4a3d-a053-a7f6013a8fbf)) + (pad "B6" smd rect (at 0.75 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 87 "/interface/USB1_DP") (pinfunction "D+") (pintype "bidirectional") (tstamp 5fdaf225-8a31-4cad-b83f-95dc1bb06437)) + (pad "B7" smd rect (at -0.75 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 86 "/interface/USB1_DN") (pinfunction "D-") (pintype "bidirectional") (tstamp bb05e8e1-5adb-411f-b13e-bafd19fcd1df)) + (pad "B8" smd rect (at -1.75 -4.045) (size 0.3 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 166 "unconnected-(J9-SBU2-PadB8)") (pinfunction "SBU2") (pintype "bidirectional+no_connect") (tstamp a8f560c6-3579-46fb-9ab3-11326ff9ee0d)) + (pad "B9" smd rect (at -2.45 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 102 "Net-(F1-Pad1)") (pinfunction "VBUS") (pintype "passive") (tstamp 97de899f-3570-4218-872c-1d3806cb6e1f)) + (pad "B12" smd rect (at -3.25 -4.045) (size 0.6 1.45) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp b4d7e7b1-9947-4eec-907b-30fe0a93a3d5)) + (pad "S1" thru_hole oval (at -4.32 -3.13) (size 1 2.1) (drill oval 0.6 1.7) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp aeb0fe22-03fa-4c33-83ea-e47cb6cd9cf4)) + (pad "S1" thru_hole oval (at -4.32 1.05) (size 1 1.6) (drill oval 0.6 1.2) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp 8c38e0a1-2049-4847-890a-0872c8e815e6)) + (pad "S1" thru_hole oval (at 4.32 -3.13) (size 1 2.1) (drill oval 0.6 1.7) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp bbbc3718-215c-4a1a-b27a-929ea564835f)) + (pad "S1" thru_hole oval (at 4.32 1.05) (size 1 1.6) (drill oval 0.6 1.2) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "SHIELD") (pintype "passive") (tstamp c4d68b75-e350-4e1f-b09f-53d0f39dae6c)) + (model "${KICAD6_3DMODEL_DIR}/Connector_USB.3dshapes/USB_C_Receptacle_HRO_TYPE-C-31-M-12.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + (model "${KICADLIB}/3d/USB Type C Port (SMD Type).STEP" + (offset (xyz 0 3.556 1.5748)) + (scale (xyz 1 1 1)) + (rotate (xyz 180 0 0)) + ) + ) + + (footprint "Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical" (layer "F.Cu") + (tstamp d7b848a5-821c-49b6-9b8c-86aee70ceecf) + (at 32.7525 41.81 180) + (descr "Through hole IDC box header, 2x04, 2.54mm pitch, DIN 41651 / IEC 60603-13, double rows, https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0") + (tags "Through hole vertical IDC box header THT 2x04 2.54mm double row") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x04, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/c951bb46-aa6b-4683-8a0a-e5f019d734a4") + (attr through_hole) + (fp_text reference "J2" (at 5.3205 -6.1) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7fec455a-386a-4162-bffd-8099801ded95) + ) + (fp_text value "Conn_02x04_Odd_Even" (at 1.27 13.72) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2f6cd31c-fd9c-4330-8b72-ad3e2db38721) + ) + (fp_text user "${REFERENCE}" (at 1.27 3.81 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 62627fcd-e264-4cde-8c1b-1cc783634abb) + ) + (fp_line (start -4.68 -0.5) (end -4.68 0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 098b2e97-b3cb-46a9-bbee-3afe302ff298)) + (fp_line (start -4.68 0.5) (end -3.68 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 433315b3-4b7a-4cbd-8d03-3df04b26fb77)) + (fp_line (start -3.68 0) (end -4.68 -0.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 77ee391d-0aa0-4833-ba06-ed09d10134b1)) + (fp_line (start -3.29 -5.21) (end 5.83 -5.21) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 21f0931e-92f6-480a-b1d9-7b51e821bcd6)) + (fp_line (start -3.29 1.76) (end -1.98 1.76) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp da8fe249-96b2-40bf-82c3-281ede2513e1)) + (fp_line (start -3.29 12.83) (end -3.29 -5.21) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dde85794-fa35-47b8-8355-8e868b149941)) + (fp_line (start -1.98 -3.91) (end 4.52 -3.91) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6c6820f5-75f1-43e2-8d42-16769fa8edd2)) + (fp_line (start -1.98 1.76) (end -1.98 -3.91) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5a524acc-b539-4e37-acf6-93ca4ad33098)) + (fp_line (start -1.98 5.86) (end -3.29 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f233c8dc-cc1a-4d9e-9e1d-e896006002b5)) + (fp_line (start -1.98 5.86) (end -1.98 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b1604ae4-5fea-4ee0-a47f-c010c5680be3)) + (fp_line (start -1.98 11.53) (end -1.98 5.86) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp efbdad89-ad07-40e0-b1d1-724617339fc3)) + (fp_line (start 4.52 -3.91) (end 4.52 11.53) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 86fc5795-0045-4855-b00c-1991558c1fb5)) + (fp_line (start 4.52 11.53) (end -1.98 11.53) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4ce9f513-b807-4d54-a988-48b0b7644fd1)) + (fp_line (start 5.83 -5.21) (end 5.83 12.83) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 03da4c80-f7a9-42d7-a416-7c12f979ca52)) + (fp_line (start 5.83 12.83) (end -3.29 12.83) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a35fabe5-985f-4611-99a7-6a1f5a57fec2)) + (fp_line (start -3.68 -5.6) (end -3.68 13.22) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0854ea28-fb14-44f6-b383-5682f863a149)) + (fp_line (start -3.68 13.22) (end 6.22 13.22) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 142ad909-cdf3-45cb-9d3e-238f413d75bb)) + (fp_line (start 6.22 -5.6) (end -3.68 -5.6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp de6b9cb8-9030-41ea-addb-0f59097e0057)) + (fp_line (start 6.22 13.22) (end 6.22 -5.6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cb2ae27c-3be3-47a8-9aab-28dfb76933a1)) + (fp_line (start -3.18 -4.1) (end -2.18 -5.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2a4f00be-d5a2-4fee-a082-dfb2aa4b34a7)) + (fp_line (start -3.18 1.76) (end -1.98 1.76) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 506cc4cc-5625-46a8-a25b-4a63985d0f38)) + (fp_line (start -3.18 12.72) (end -3.18 -4.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d03feb6-bd30-45dd-ae55-236c446ca09f)) + (fp_line (start -2.18 -5.1) (end 5.72 -5.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d7089e2e-6f73-4475-aa02-8fe61e4f5a1c)) + (fp_line (start -1.98 -3.91) (end 4.52 -3.91) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3ccc10bd-59cc-485f-8760-36d7496ce3b0)) + (fp_line (start -1.98 1.76) (end -1.98 -3.91) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8f5d4274-49f8-497b-b5c4-4facb8986b0b)) + (fp_line (start -1.98 5.86) (end -3.18 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ec41c938-e17c-4184-b758-46bcfe449ba7)) + (fp_line (start -1.98 5.86) (end -1.98 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a1408012-59aa-4893-8e52-2ab47adb3974)) + (fp_line (start -1.98 11.53) (end -1.98 5.86) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d651c82-9ee4-4f15-9c48-8be928e558d1)) + (fp_line (start 4.52 -3.91) (end 4.52 11.53) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1cb5d2b8-9c82-4c2f-9433-a3824932ab0a)) + (fp_line (start 4.52 11.53) (end -1.98 11.53) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4ed0a500-9f61-42c6-a1a3-57346aad0c0d)) + (fp_line (start 5.72 -5.1) (end 5.72 12.72) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 871f4316-8555-4d52-a041-f8a76304d1d1)) + (fp_line (start 5.72 12.72) (end -3.18 12.72) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9ec73bd2-3d47-4237-bf43-2bbfd9c258dd)) + (pad "1" thru_hole roundrect (at 0 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (roundrect_rratio 0.1470588235) + (net 7 "/frontend/IN4") (pinfunction "Pin_1") (pintype "passive") (tstamp 9014c37c-e707-4cb6-ac4b-301eeb8bbc43)) + (pad "2" thru_hole circle (at 2.54 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_2") (pintype "passive") (tstamp cd86be1c-473b-40ff-9b0e-f77c752ae4c0)) + (pad "3" thru_hole circle (at 0 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 5 "/frontend/IN3") (pinfunction "Pin_3") (pintype "passive") (tstamp a0ee6785-cd50-4807-8a56-052142861cfb)) + (pad "4" thru_hole circle (at 2.54 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_4") (pintype "passive") (tstamp a4ec8d6a-aa6e-4c4b-a595-3aeeeb8da75d)) + (pad "5" thru_hole circle (at 0 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 3 "/frontend/IN2") (pinfunction "Pin_5") (pintype "passive") (tstamp 1e7c3a04-63bf-406f-9a85-01f033d4decb)) + (pad "6" thru_hole circle (at 2.54 5.08 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_6") (pintype "passive") (tstamp bd641a8a-cd58-4e71-831f-8906159eb53b)) + (pad "7" thru_hole circle (at 0 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 1 "/frontend/IN1") (pinfunction "Pin_7") (pintype "passive") (tstamp 4c7d47ff-d3ab-461f-93a7-70bf3b53a677)) + (pad "8" thru_hole circle (at 2.54 7.62 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_8") (pintype "passive") (tstamp 93cbb7e1-8d99-4dae-a5b6-02c872b7690f)) + (model "${KICAD6_3DMODEL_DIR}/Connector_IDC.3dshapes/IDC-Header_2x04_P2.54mm_Vertical.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp d83536f5-6769-4670-bd02-4101505bff65) + (at 52.324 49.53 90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/65288875-5214-4d93-afed-9b0a045c6f7e") + (attr smd) + (fp_text reference "C6" (at -2.159 -0.254 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 398ac740-cbf7-475a-9a25-92ae304e3566) + ) + (fp_text value "4.7uF/16V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 72c46996-e42b-4520-b5f1-7ff63855437e) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 1b97003f-ef0f-487d-8e19-f36d450148ff) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a3690c93-f30c-4f2a-a932-3eae01e10a94)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 877c2c83-5a0c-4ea2-afbe-2eaf0ea4d2ec)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5feb9368-81d3-48a8-a2b9-96549a630e9a)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp af64c53d-4267-4832-8e5f-2616590b5bc8)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8f33777e-e72b-49e0-8c81-0e3cd9cda8fd)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5f1459d8-baf0-4a3b-bd93-c40d89c00d3d)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 42e5380c-99b9-4b03-bc33-0e91b02c9d18)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 969e7062-a2e7-4af7-86ae-412432870dd0)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a0295490-67a4-48f1-b27e-9d0abfdb286f)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 34641b73-575b-4c44-9cea-a1a54f99a8ff)) + (pad "1" smd roundrect (at -0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 1477923e-b04f-40fa-ae88-51e472c33faa)) + (pad "2" smd roundrect (at 0.775 0 90) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 11 "Net-(U1C-+)") (pintype "passive") (tstamp 73062e32-74a0-42ad-a544-599d06e4ff4a)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "TestPoint:TestPoint_THTPad_D2.0mm_Drill1.0mm" (layer "F.Cu") + (tstamp d959d64a-7f1e-4bcc-8a8d-3cd90ce5d5eb) + (at 59.436 112.522) + (descr "THT pad as test Point, diameter 2.0mm, hole diameter 1.0mm") + (tags "test point THT pad") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "test point") + (property "ki_keywords" "test point tp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/88e92ac5-2f6b-420c-a41d-f2b194fab978") + (attr exclude_from_pos_files) + (fp_text reference "TP1" (at 0 -1.998) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp ca2ac64b-0cb1-4924-b897-d4974bee07f2) + ) + (fp_text value "TestPoint" (at 0 2.05) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b7437c20-c0ca-47d2-b6e6-8cf53337c204) + ) + (fp_text user "${REFERENCE}" (at 0 -2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d1785ecd-e170-41a3-b266-0a2f81a360d3) + ) + (fp_circle (center 0 0) (end 0 1.2) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 79c55027-15c1-4207-b12a-26cb31faa7db)) + (fp_circle (center 0 0) (end 1.5 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp a3e47adf-0515-4e85-8073-cd332b1f2f1e)) + (pad "1" thru_hole circle (at 0 0) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") + (net 27 "-5V") (pinfunction "1") (pintype "passive") (tstamp b5920521-72e4-40e3-b1a6-bf10195277ea)) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp d9d00f79-4973-436f-a97c-8adf2d4835ff) + (at 96.2405 41.148 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/6df10c82-65f6-4156-916e-3572ecf6704c") + (attr smd) + (fp_text reference "D39" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 8bd5c125-0075-4a45-9d0f-3f270af70ef5) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 06fa06c6-1167-433d-9f0d-cf5ad24c343c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9279209a-6ea0-4913-bd40-c0cbc1cdc99d) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 005bd4cd-a22d-4834-aa59-0ab5d87d3e7a)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 70ce4aab-90f3-468c-9cbb-e61d290ad489)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9d1823e8-8d62-40ac-9831-ad64d6b6594a)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6b6e62c4-f91c-4562-97cb-0b274c274ae8)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5f155ef6-1173-424b-b658-46f02cd28eb5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 17b6f473-04a5-4a46-9fb2-31480a943398)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 562f5911-9f3d-4fa6-8dcc-0f94b2c9ef50)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 351081f3-d806-4f17-838b-8fd5518ec702)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d74e78ad-6447-4c39-aec4-7009513f9e07)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d4866c73-aef1-480e-89dd-fcb90f477180)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f1419a53-d3a0-44ff-82b7-1ed8be0455ad)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dc3f8125-74b8-4e4a-b2d1-09cbee5feb59)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 8534b5e3-91b2-47dc-abe4-39a8e8fc27db)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 97 "Net-(D39-A)") (pinfunction "A") (pintype "passive") (tstamp 981e77d1-004b-43d0-b469-c2c810659659)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp dccbc345-e2ed-48d8-8026-2455a5997be6) + (at 78.1812 36.9824) + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "40V 1A Schottky Barrier Rectifier Diode, DO-41") + (property "ki_keywords" "diode Schottky") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/6b582435-20fb-4995-ab9a-609a51369a95") + (attr smd) + (fp_text reference "D26" (at 3.0988 -0.0254) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 142be336-ac8c-4292-a3d2-be8c1f12acd5) + ) + (fp_text value "1N5819WS" (at 0 1.651) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2e8a04ec-f1d5-475c-bea4-2644d65ff94a) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 77bfe0ea-84d9-4644-99c4-bb56705a6c94)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 24c57da7-0a70-4607-827a-8d9f9f712f43)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e4f9cd22-9d99-48e5-bf7d-d355db56c41e)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 857ce894-f251-4dbd-b27c-32bc628e789c)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 15c792fc-5462-45e4-8601-aeab6406254b)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a913de65-6eb5-40c6-8876-7e49f5910224)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 641141a8-b918-494e-ae87-7a46470f4692)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0a428e20-2acd-440b-b821-c560a3113b47)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp faf21c02-18c5-4c1a-80d4-032a81f04cbf)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f9b84830-0bfe-47d1-88c3-26de12f229fb)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d505b843-b6d5-4218-88c2-d58f5ebefe36)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2e1480b1-47e1-4af6-9acb-3205da7a46d8)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b5ffad6f-9b8d-45f1-94c9-43c513a9ea03)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2a3803d9-fbd0-4954-afd5-9abda2c8874c)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 88769e9f-d69b-42cc-ae69-e6a0084f3be5)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 73841a20-7237-4ed0-8469-2486e382428b)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f584e38d-6f59-41d3-9fa6-9c76aa91f77f)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c2ab0673-69c4-4471-94ac-6eb0e3c669a0)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 07024886-d95a-44b2-af74-994865107887)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 674c6b7f-aced-44e1-b3a3-2d31b7118bb3)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 27882416-7540-408c-ac5a-afd0ec639083)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 915d88f5-c3eb-4166-9355-abdfe8017280)) + (pad "1" smd rect (at -1.25 0) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 36 "Net-(D25-K)") (pinfunction "K") (pintype "passive") (tstamp 4512aab5-70c2-497d-ab6a-60be7007c55d)) + (pad "2" smd rect (at 1.25 0) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 53 "VBUS") (pinfunction "A") (pintype "passive") (tstamp 918bf535-34fd-42a6-9e31-3c8d8fa7f747)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp de2da28a-0f0c-44ca-a1e3-8b946ca31688) + (at 38.989 61.976) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/941d3a25-eb6f-4ef8-81fb-ab2a68ea6169") + (attr smd) + (fp_text reference "C4" (at -2.032 0.127 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 93239d9d-65fc-423a-9352-abac99863d80) + ) + (fp_text value "2.2nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ec44409e-55d6-4f18-8885-fcc2f4bcd9fa) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 564521d4-d3b0-468a-8957-f84ed403ab0a) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 120233d9-e5fb-472e-88f2-677acc7d796c)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bba4aa00-31eb-4ed7-b56d-c18c87fcf1ac)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bf42064a-4da8-4ca5-9b87-377ae17f7a23)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e773d2b5-1f90-46bf-a097-3a842c18373f)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3367535-e5c7-401f-acf2-e8e48b37fe9b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7fadb7ee-3141-4585-ad95-5f6f716bf312)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ca3ba0e8-3556-4b32-aec0-038bdb734ec3)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d8b5384f-c181-41cd-ab9c-c86c2d9fe593)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ffcc7c22-bbf0-4f79-bea7-6375aa96517f)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf23a854-d3b4-4a9a-b891-ba55406088f8)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 7 "/frontend/IN4") (pintype "passive") (tstamp f6e72ffa-ccf4-4659-9008-fabb6197236e)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 8 "Net-(C4-Pad2)") (pintype "passive") (tstamp 7f2d03a2-560d-4612-b371-531f43a6cf42)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_TO_SOT_SMD:SOT-23" (layer "F.Cu") + (tstamp de5b605a-a55d-48fb-9e74-4be454d1d09c) + (at 38.989 100.203) + (descr "SOT, 3 Pin (https://www.jedec.org/system/files/docs/to-236h.pdf variant AB), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOT TO_SOT_SMD") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "schottky barrier diode") + (property "ki_keywords" "schottky diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ded60fda-9f74-49fd-94fc-eb4853400b6c") + (attr smd) + (fp_text reference "D16" (at 0 2.413) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 4575488c-2521-4240-8729-dc3bd4ea58e3) + ) + (fp_text value "BAT54S" (at 0 2.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7bc6610d-12b7-4ab6-ae5f-be9828e6ac46) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.32 0.32) (thickness 0.05))) + (tstamp 8a97d2d6-e1c2-4d7b-92e2-abf5ce6f75cf) + ) + (fp_line (start 0 -1.56) (end -1.675 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 38069920-9a43-45ba-9cc9-701fad029fff)) + (fp_line (start 0 -1.56) (end 0.65 -1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8b839578-940a-46a2-b849-9c7a19a44dc4)) + (fp_line (start 0 1.56) (end -0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b5c8f182-5bca-4061-bf58-c9872a0abf21)) + (fp_line (start 0 1.56) (end 0.65 1.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e7856e6c-7d9e-4423-85d5-5978abee3b53)) + (fp_line (start -1.92 -1.7) (end -1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1b71db21-a46a-4c32-8e39-edc10adabf86)) + (fp_line (start -1.92 1.7) (end 1.92 1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c8e9d833-334f-4af5-9eba-73f52af1c60c)) + (fp_line (start 1.92 -1.7) (end -1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 761ace1c-b2e3-40a0-89a9-dd848f2e416b)) + (fp_line (start 1.92 1.7) (end 1.92 -1.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fe14404e-7f54-4602-abce-ad5c263361d4)) + (fp_line (start -0.65 -1.125) (end -0.325 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3994ecf4-0e54-4837-a618-d9fb707b499d)) + (fp_line (start -0.65 1.45) (end -0.65 -1.125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 024217ad-2bdb-4f7b-ab0d-a5ca3b84ab0b)) + (fp_line (start -0.325 -1.45) (end 0.65 -1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b048578-ed01-4545-977a-a9ce22d4a830)) + (fp_line (start 0.65 -1.45) (end 0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 75fe2311-47fe-4e7f-a976-04139c332d32)) + (fp_line (start 0.65 1.45) (end -0.65 1.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fec67ab-b837-4ef5-b9f1-8144cd4e9998)) + (pad "1" smd roundrect (at -0.9375 -0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 8616d293-4d46-4891-9b92-8dcf7c034bae)) + (pad "2" smd roundrect (at -0.9375 0.95) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pintype "passive") (tstamp ef234fd3-2758-49f8-bd67-9b80e53445a1)) + (pad "3" smd roundrect (at 0.9375 0) (size 1.475 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 21 "Net-(C12-Pad2)") (pintype "passive") (tstamp 17fe9981-6435-4849-93d0-6ce6fe6f3f65)) + (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes/SOT-23.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp df44a7bf-3fba-4098-9016-dd0520a7d61c) + (at 83.087 78.359) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/3820cc9d-713a-4690-80bc-2fbd4aaf3e96") + (attr smd) + (fp_text reference "C46" (at -2.823 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 475c635b-d88d-4ef7-b88e-80dd5c7934cc) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7ff0154d-e85e-4a50-bc53-44a142407e4c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 72eb1ea6-6f6e-4946-85a3-043c33dd681f) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ddbcacdf-5b42-4020-b21c-6d4d4d5f0f6a)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bf66e3ae-2042-48ab-8ebd-9f41ed9ae668)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fa1ada00-d350-4d6f-b4ed-e7541ff1b9f9)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d0e36cdf-5a0e-4e31-9260-828fd141040d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 184838ae-6c56-4173-9a77-5e533cb883cb)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ee10b800-558a-49c7-8807-c0914d346ea0)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9caad24b-712e-4a76-b045-3b56358abe86)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d1e0e141-465f-4c30-8402-01e1c78e08a2)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4a2b4cda-144a-4ab9-bd58-282ea83640d2)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0f156401-5c37-4842-83d7-9dabffaa78a1)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp a2d33c62-386f-44e8-85ec-e8a7686e0594)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 43 "X3") (pintype "passive") (tstamp 03599159-4cc2-4c56-b42f-ebbfa385989c)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp e1f09e4a-ed85-4589-b719-dca688baaf4c) + (at 42.926 64.643) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1be2e2bb-a266-45b5-b4cc-d5aed550e0cc") + (attr smd) + (fp_text reference "R8" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2437b940-65ed-441d-883c-5355bdcbd137) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp fb335960-4514-4e20-a9a4-aa02700feaf7) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 0d4a02a6-3cf1-48de-9d89-00a884ea2095) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5bc7b534-30b9-4574-9eb6-379380762f41)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a3cb8b74-f29b-494d-a42a-43398ca9c1c5)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 88dce91b-cea9-47cd-b72b-ec3e83bfc81b)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 817a2f17-6810-4304-85f2-1f1457d5aa5b)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b9573b56-bb2d-4a88-b85c-355f91f897ed)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7feab865-3c01-4e14-abe8-af97b1862244)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 587fe15a-9b06-4024-8a88-e9ba0efe09fa)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d7e1ea9-a27b-45fb-8c6f-b73d81cf9ebd)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp df0b85c7-2afe-4cbd-9c65-00849c8aa2d4)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 89bd1154-2f84-4deb-bbe4-5b2d8a8c5d2d)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 8 "Net-(C4-Pad2)") (pintype "passive") (tstamp 70cefc3c-7cf6-4d48-8f9d-48ef5784b41f)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 201 "Net-(U2B--)") (pintype "passive") (tstamp f909798f-e70b-470b-bf3d-d51d0c2dc908)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp e47730f0-49e4-48cd-9645-954903964d32) + (at 42.926 36.195) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/32971a0b-5ff0-489f-b006-a3bc41edea34") + (attr smd) + (fp_text reference "R10" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp c4748462-1d3d-48a6-a34c-84ae101c55bf) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 74b42730-acb0-449c-9072-006bbd1a00cf) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 4bbe1912-8bba-4d4f-b33c-d09a27686f13) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b2cca330-0071-4313-96c9-9a3ed0e095f2)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b81a1267-c012-458a-bec6-5ee8824defa4)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eadb6c9d-9214-4e18-ad35-3e229d57ad87)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d4a13c94-359e-4574-950e-89c87aa06b5d)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a744c30a-d3b3-4bfd-b474-8d1afbdebadb)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3a8284e8-334c-443e-a253-1438573e77a4)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 919634b8-e45c-42a8-b136-5e488e86eeb6)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 905038fb-4479-4292-ad80-cabf16bbc2ed)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 36349295-5d73-4a3a-8e22-025df062a21f)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58702dbc-de62-4716-be45-d7de8d35bd5f)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 198 "Net-(U1A--)") (pintype "passive") (tstamp bf639fbd-13bf-4ebf-bc00-49e76419f2a9)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 126 "Net-(R10-Pad2)") (pintype "passive") (tstamp 17471df2-764e-432e-942c-107ee2c9961c)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp e4f7e709-bdb8-4b91-ac3b-aa686ef61e71) + (at 87.006 38.989) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/679c7ef8-3bec-494e-bb5e-47702b70d6cb") + (attr smd) + (fp_text reference "RN9" (at 2.783 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 7fc438f6-ebed-40cd-abf4-e7f80e5b9581) + ) + (fp_text value "4.7K" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6dc81435-c86d-4b01-abb1-2e034cf7d603) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp 752c4239-0677-4b58-b00f-b3ffaa9dd6f9) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5ff478f9-aefa-4e6b-bf2b-46b460fd6436)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 05bd88b9-1f86-46b9-b9cb-2a0d307af613)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 781c97f7-83ef-46b9-b419-2a6ef76de2ec)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 14df9bf8-8206-49d9-967a-41512288c0a8)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fa24aad4-5202-4764-b814-b7a171f0f31b)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e2cd570a-786b-48ab-841c-01cc23216bde)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 13c71b7a-cb68-4a7f-b932-66b6ca827af6)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ff5e0c24-2b6b-466a-87d5-32c126abf2e3)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b314a74b-d8a5-4435-96ab-8bcaac932381)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ed234d8c-6f8f-4835-b8d3-2751ee1b9494)) + (pad "1" smd rect (at -0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 150 "/interface/LED1") (pinfunction "R1.1") (pintype "passive") (tstamp e7f04b69-c5e4-43a1-babc-f83b7a5b3387)) + (pad "2" smd rect (at -0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 151 "/interface/LED2") (pinfunction "R2.1") (pintype "passive") (tstamp 4aeec7e2-4365-4b85-8156-43c8acb98621)) + (pad "3" smd rect (at -0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 152 "/interface/LED3") (pinfunction "R3.1") (pintype "passive") (tstamp 372459d1-4402-4e5e-982a-f20396071ec5)) + (pad "4" smd rect (at -0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 153 "/interface/LED4") (pinfunction "R4.1") (pintype "passive") (tstamp a27a20b9-6fe6-4e63-b9d9-1462c1ea7691)) + (pad "5" smd rect (at 0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 93 "Net-(D35-A)") (pinfunction "R4.2") (pintype "passive") (tstamp 5c510f68-0625-41d5-b035-9bdd9591b81a)) + (pad "6" smd rect (at 0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 92 "Net-(D34-A)") (pinfunction "R3.2") (pintype "passive") (tstamp 3d25cf1a-1927-4cea-a08d-d67d24e1b137)) + (pad "7" smd rect (at 0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 91 "Net-(D33-A)") (pinfunction "R2.2") (pintype "passive") (tstamp f142eb14-15a5-4473-b163-ed0cce939520)) + (pad "8" smd rect (at 0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 90 "Net-(D32-A)") (pinfunction "R1.2") (pintype "passive") (tstamp 46dfe4d1-12b5-4530-a046-2d0b5d344473)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp e62b8a4c-6a0c-44d0-a6f1-31daa904a0b4) + (at 68.707 100.711 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/ec933ab5-0c20-4c0d-bfdc-8239ce8ec515") + (attr smd) + (fp_text reference "C39" (at 0 -4.572 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b0180a62-8e53-4e25-a2ba-1ca93cb35d4c) + ) + (fp_text value "1uF/25V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 819aa87b-b75f-4226-a754-ede23bec25c1) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 96d9768b-9803-47aa-8c9f-c3dfba047d47) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 86d08ab5-4b0b-4fc6-ae13-89176e30a945)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2b7ff909-bfac-4c2c-a28c-ae639f0a7960)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ab469c60-77a7-4ab2-88f6-54625cabd93c)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp da177a82-eb52-4cbd-b17a-b8192542e611)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7ca97e8a-73ce-4ef6-90f7-1a2a29d72bab)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp afb23316-bb07-4af5-91d0-e2736f64e28f)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3ad3bba1-347f-40ae-826c-ae86bdc6ab55)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5d32edea-c35a-4289-97fe-6596ff76c236)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 833a1818-2c6d-4e68-a9c5-d16407a4d288)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 154fe893-e561-4790-a73d-2456f2ada14f)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pintype "passive") (tstamp 7818ab16-ea0f-4c42-b24c-86746997a04a)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 40 "/usb mcu/WCH_RST") (pintype "passive") (tstamp 541f5b64-ab97-44a9-974c-6454a5155044)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp e8487632-5734-4765-9697-9e61e13ae4a8) + (at 50.673 67.31 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/825aefeb-dab5-4647-9201-63ab61a6ad12") + (attr smd) + (fp_text reference "R28" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b8eb8ffb-9ccb-480e-895b-578d5c0fb55d) + ) + (fp_text value "47R" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f511617f-03fa-4e6f-91c7-e26ebbeafdd9) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 5e572ae4-ba75-4efa-bcdd-584c688ac69e) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e66e5925-a9cb-45c6-92a3-fe9bd9503477)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d1ff3e6a-41ef-4d5a-be9d-1e2a764e4e1f)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5eb628bf-b816-4793-bdda-5b06b8a18c58)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9adcba9a-fafe-45fb-91e4-c2ad2b5494e5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7d3f5bb2-acdb-46ef-ab93-1081a5c85d43)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0ae3767-f62b-4631-9913-412ad60a0d0b)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 72eaa9c5-c8ed-44dd-b5dd-af4b97fcbb06)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1dadf350-75c3-4ea2-a58f-dcfe321fb476)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f62a4f37-2987-4060-8dca-6a0412e1ca83)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 00ca35ab-09ed-40fc-bcd7-318f1f89b94a)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 60 "Net-(D8-K)") (pintype "passive") (tstamp 1bf73544-db77-428c-8834-097e16fda281)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 13 "Net-(U2C-+)") (pintype "passive") (tstamp a1bede53-16cf-446e-8270-2aa30f0be638)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Button_Switch_SMD:SW_DIP_SPSTx04_Slide_Copal_CHS-04B_W7.62mm_P1.27mm" (layer "F.Cu") + (tstamp e88d1283-f188-4b75-832e-10d335a1df8c) + (at 60.452 28.829 -90) + (descr "SMD 4x-dip-switch SPST Copal_CHS-04B, Slide, row spacing 7.62 mm (300 mils), body size (see http://www.nidec-copal-electronics.com/e/catalog/switch/chs.pdf), SMD") + (tags "SMD DIP Switch SPST Slide 7.62mm 300mil SMD") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "4x DIP Switch, Single Pole Single Throw (SPST) switch, small symbol") + (property "ki_keywords" "dip switch") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/4c4dd293-f1da-4076-8949-7825f289d309") + (attr smd) + (fp_text reference "SW1" (at 0 -4.064 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 12e82ca5-1215-4420-8196-9ef9b41829c0) + ) + (fp_text value "SW_DIP_x04" (at 0 4.235 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b69ea467-479d-46a1-8bab-dbc1244aa73c) + ) + (fp_text user "on" (at 0.195 -2.665 90) (layer "F.Fab") + (effects (font (size 0.8 0.8) (thickness 0.12))) + (tstamp 20d41972-ca84-4fbc-aabd-1831fc7c4011) + ) + (fp_text user "${REFERENCE}" (at 2.1 0) (layer "F.Fab") + (effects (font (size 0.8 0.8) (thickness 0.12))) + (tstamp 51976478-88e8-4151-927c-b6d1a65cb216) + ) + (fp_line (start -4.61 -2.585) (end -2.76 -2.585) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45f6134d-dab2-49e0-9dd0-f2e375add006)) + (fp_line (start -2.76 -3.235) (end -2.76 -2.585) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 54067b1d-f260-4fce-a34e-abcc6b91eba7)) + (fp_line (start -2.76 -3.235) (end 2.76 -3.235) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 282ed553-13c9-41e4-a5cf-0eec6bf5ceff)) + (fp_line (start -2.76 1.965) (end -2.76 3.235) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ff97580a-ef57-4ce0-9165-3021d6b21ea4)) + (fp_line (start -2.76 3.235) (end 2.76 3.235) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 351de3cf-78d3-4374-acbc-409dc978c604)) + (fp_line (start 2.76 -3.235) (end 2.76 -1.966) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e54ab619-2e6b-4d7f-8afa-c2454d15f2e6)) + (fp_line (start 2.76 1.965) (end 2.76 3.235) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c2d122d2-e119-490b-9d18-098e27a8a99c)) + (fp_line (start -4.9 -3.5) (end -4.9 3.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 490e261f-141e-4dfe-b4fe-82c1d1ca4a62)) + (fp_line (start -4.9 3.5) (end 4.9 3.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3bc42c19-59ed-46ab-b386-c9ac6bbbde45)) + (fp_line (start 4.9 -3.5) (end -4.9 -3.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 076ab2f3-80fd-493f-954b-3105f59f1a66)) + (fp_line (start 4.9 3.5) (end 4.9 -3.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bd6b2960-0d6f-4cb4-bb0e-a060928b2080)) + (fp_line (start -2.7 -2.175) (end -1.7 -3.175) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 500b5fbb-518d-4032-a497-a990b640628d)) + (fp_line (start -2.7 3.175) (end -2.7 -2.175) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 09fa2db9-3cb0-40b3-8fb2-4c201a011be3)) + (fp_line (start -1.7 -3.175) (end 2.7 -3.175) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7b097bee-eea9-424d-943c-a1a87785d43a)) + (fp_line (start -1.5 -2.155) (end -1.5 -1.655) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f5e4c580-e3cf-4680-8213-ff29ac5c442e)) + (fp_line (start -1.5 -2.055) (end -0.5 -2.055) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b4595bb2-f072-46ed-ab4d-75a9cb039a8e)) + (fp_line (start -1.5 -1.955) (end -0.5 -1.955) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a3f76689-808c-4e1f-b7dd-c5174980f7eb)) + (fp_line (start -1.5 -1.855) (end -0.5 -1.855) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c7d14dcb-eac0-42dc-8a01-d78510e4bccc)) + (fp_line (start -1.5 -1.755) (end -0.5 -1.755) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 132912fc-ccbd-4c21-ade4-bf7f1786da5d)) + (fp_line (start -1.5 -1.655) (end 1.5 -1.655) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4bbd00c0-a6b7-4d28-b3bb-28370e2dbe8b)) + (fp_line (start -1.5 -0.885) (end -1.5 -0.385) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c5f0fe11-3968-4af6-9229-9e10501db573)) + (fp_line (start -1.5 -0.785) (end -0.5 -0.785) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2b550713-8982-4a51-9879-e21d7d800732)) + (fp_line (start -1.5 -0.685) (end -0.5 -0.685) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b900e6f8-5f47-4054-bd39-5de9abbaea90)) + (fp_line (start -1.5 -0.585) (end -0.5 -0.585) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 417c67d0-180b-44a1-af6d-ce86df4f9a55)) + (fp_line (start -1.5 -0.485) (end -0.5 -0.485) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1566f48f-95cc-44ef-a6dd-ced3ec8de2e4)) + (fp_line (start -1.5 -0.385) (end 1.5 -0.385) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 751c8ab6-346f-4ac0-ada3-a2648d5175ec)) + (fp_line (start -1.5 0.385) (end -1.5 0.885) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 340e589f-eb6f-4b25-b78d-0c5e69cda2d2)) + (fp_line (start -1.5 0.485) (end -0.5 0.485) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5a36eab1-c9e5-40f7-91ad-942d6cf7f74d)) + (fp_line (start -1.5 0.585) (end -0.5 0.585) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fdf979ca-07dc-401e-8a45-1b3b304eb16b)) + (fp_line (start -1.5 0.685) (end -0.5 0.685) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bff821bf-7913-42a9-8ac2-070c09df4a0e)) + (fp_line (start -1.5 0.785) (end -0.5 0.785) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4e05c443-face-49f9-a03e-9ba119206a20)) + (fp_line (start -1.5 0.885) (end 1.5 0.885) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9a76b766-ee42-47da-bd4f-0e3a4f32cf42)) + (fp_line (start -1.5 1.655) (end -1.5 2.155) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fe31723-d1e4-4b7a-a241-f01c42a811c3)) + (fp_line (start -1.5 1.755) (end -0.5 1.755) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ec709475-1623-496d-8a8d-632195302b6d)) + (fp_line (start -1.5 1.855) (end -0.5 1.855) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5090ae86-a611-4cfc-a68a-854dc1c7a50b)) + (fp_line (start -1.5 1.955) (end -0.5 1.955) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c3ce62b1-3032-4311-9164-88b8991008f2)) + (fp_line (start -1.5 2.055) (end -0.5 2.055) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 76c0769a-0512-454d-b521-805bb00097e2)) + (fp_line (start -1.5 2.155) (end 1.5 2.155) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c9e7df7c-21a5-4e80-89ee-e42f1f48706f)) + (fp_line (start -0.5 -2.155) (end -0.5 -1.655) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 15d3d936-28e5-45d5-a416-7abb5792f90e)) + (fp_line (start -0.5 -0.885) (end -0.5 -0.385) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 658d7965-aa7a-4e68-a88d-84fc6af8e1ff)) + (fp_line (start -0.5 0.385) (end -0.5 0.885) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 377ad2e2-018e-446a-a082-9f532f4b7163)) + (fp_line (start -0.5 1.655) (end -0.5 2.155) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0271b060-c6a1-4101-8760-7b7a821c16aa)) + (fp_line (start 1.5 -2.155) (end -1.5 -2.155) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5afd3dfb-fb20-4233-9906-7b070ca84374)) + (fp_line (start 1.5 -1.655) (end 1.5 -2.155) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c932f4a1-30cd-403c-983f-74a9a59ea12b)) + (fp_line (start 1.5 -0.885) (end -1.5 -0.885) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 11802119-9a01-413f-aba2-de2f069b6076)) + (fp_line (start 1.5 -0.385) (end 1.5 -0.885) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0564ad05-3afe-4134-b267-2c44c8b7beea)) + (fp_line (start 1.5 0.385) (end -1.5 0.385) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4e3bec6a-96b7-46a8-b615-811d326570fa)) + (fp_line (start 1.5 0.885) (end 1.5 0.385) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f346f561-2f0f-44a8-8630-827c910f9e13)) + (fp_line (start 1.5 1.655) (end -1.5 1.655) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ccd3e12d-302b-449b-9565-82063bb5a9d5)) + (fp_line (start 1.5 2.155) (end 1.5 1.655) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f43b2392-ec19-49a6-a498-7a307bbd55be)) + (fp_line (start 2.7 -3.175) (end 2.7 3.175) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1908d62d-8bff-44d9-9bb0-b58e6840d9bf)) + (fp_line (start 2.7 3.175) (end -2.7 3.175) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 812a1ac1-81d5-4a0a-95e7-f646b22beb31)) + (pad "1" smd rect (at -3.81 -1.905 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pintype "passive") (tstamp b84c6922-ad62-40f1-8522-744f542208ad)) + (pad "2" smd rect (at -3.81 -0.635 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pintype "passive") (tstamp b55e4cfe-f163-4ccd-ae80-9d1932912247)) + (pad "3" smd rect (at -3.81 0.635 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pintype "passive") (tstamp e8ac0b48-f170-463c-9896-1f2372d749f8)) + (pad "4" smd rect (at -3.81 1.905 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 9 "GND") (pintype "passive") (tstamp d2486a0d-0176-4d43-a680-0c3ee8c57475)) + (pad "5" smd rect (at 3.81 1.905 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 121 "SET4") (pintype "passive") (tstamp 8baac10c-af8b-4edd-b1ca-6ade6274355c)) + (pad "6" smd rect (at 3.81 0.635 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 120 "SET3") (pintype "passive") (tstamp 2148e87e-437a-45bc-931b-def01a3b278a)) + (pad "7" smd rect (at 3.81 -0.635 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 119 "SET2") (pintype "passive") (tstamp 86ee0b8c-2c12-4e02-a02e-da9afd839bdb)) + (pad "8" smd rect (at 3.81 -1.905 270) (size 1.6 0.76) (layers "F.Cu" "F.Paste" "F.Mask") + (net 118 "SET1") (pintype "passive") (tstamp f1aec9f9-7658-4a42-8bfd-8ecd881c5b20)) + (model "${KICAD6_3DMODEL_DIR}/Button_Switch_SMD.3dshapes/SW_DIP_SPSTx04_Slide_Copal_CHS-04B_W7.62mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp e9099550-9a7c-48be-b92c-6d2aad956f6a) + (at 96.2405 34.163 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/cb817a49-89cd-4c05-922d-409879cb5374") + (attr smd) + (fp_text reference "D35" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 85e7facf-de12-47d8-a4ea-b2aa847672f9) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 26ab5792-4f4e-48b1-bca8-3807513b526b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 8018d998-4235-4c2a-817f-d72e51500ccf) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bbf61c3b-2fc8-493b-904b-354d5e218597)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c2a6ac54-628d-44af-9595-cf5c52da7a85)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c96a1969-f564-4c0c-a1ce-8ad1ce6f4d4b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aaebe58c-9637-4a6b-bc9c-02dc7337b043)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e755010e-734a-4795-920c-dfa31537c9e5)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ece75232-48cf-4aeb-99e2-f16a7191ebd6)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 80dc52d8-98ee-4358-9549-b09b67977c5b)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a6d1ef51-a5dd-4bd5-8bcc-c04430a4cd21)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d9f19e1e-82c8-4775-9bc8-8edd16a7f40a)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9174bd5f-58fd-4bb0-9d26-b2594238c17b)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2b96700a-eed7-4f15-91e2-3bf9f7f7c989)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e5cd41cb-bf03-4197-a97c-e4afb2c9f02a)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 11ee80be-768d-4077-a875-4a4cbcf6ae9e)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 93 "Net-(D35-A)") (pinfunction "A") (pintype "passive") (tstamp 5d2a4baf-3886-4ca6-8019-ad8349eaec8c)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:SOD_323_1" (layer "F.Cu") + (tstamp e934d4a6-eb17-45cf-99c9-31551a42e89a) + (at 48.768 85.598 90) + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "75V 0.15A Fast switching Diode, SOD-323") + (property "ki_keywords" "diode") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/880344a6-fad0-4151-b7fc-352c188f08b3") + (attr smd) + (fp_text reference "D18" (at -1.651 1.397 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp a5c5c4a1-d175-464a-b103-b6bebb12fcd1) + ) + (fp_text value "1N4148WS" (at 0 1.651 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5472ab57-8e52-45d6-ba25-17eea4cf124f) + ) + (fp_line (start -1.905 -0.8255) (end -1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e518a46d-6894-4b86-b535-a39817ec2935)) + (fp_line (start -1.905 0.8255) (end 1.905 0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1153645e-d2ef-4de2-a37d-28f331a201e3)) + (fp_line (start -0.5715 -0.508) (end -0.5715 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp dbf14eef-8b36-4524-8f90-c7dfcd359048)) + (fp_line (start -0.5715 0.508) (end -0.381 0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bc56b956-df4b-4bf5-9a67-e2f6d3de1019)) + (fp_line (start -0.381 -0.508) (end -0.5715 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3b6720da-ef09-4c78-899b-e7c845acb11b)) + (fp_line (start -0.381 0.508) (end -0.381 -0.508) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 25bfa63f-452e-4a52-8227-75f7cfe68acc)) + (fp_line (start 1.905 -0.8255) (end -1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 01bbd119-7873-4647-add3-10e17fff96b4)) + (fp_line (start 1.905 0.8255) (end 1.905 -0.8255) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b482ca76-2898-4826-b22e-687401b4cf3e)) + (fp_line (start -2 -0.95) (end -2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f0060422-3d28-4e9f-853d-a931795f255a)) + (fp_line (start -2 -0.95) (end 2 -0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c82c41dd-697d-4d5b-96cc-e8b85f9c5acc)) + (fp_line (start -2 0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8ff43f45-b75e-459d-bde8-15dacba102f0)) + (fp_line (start 2 -0.95) (end 2 0.95) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ec196f5f-606e-410d-b946-950089368318)) + (fp_line (start -0.9 -0.7) (end 0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fbb15cd3-bccc-4b17-8b7f-84820aa77c68)) + (fp_line (start -0.9 0.7) (end -0.9 -0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp adea1d12-93b8-4f84-8e26-8f59e01a8c1e)) + (fp_line (start -0.3 -0.35) (end -0.3 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dd9fd825-b5de-4bbf-819a-3101dc327ef1)) + (fp_line (start -0.3 0) (end -0.5 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f3913eb8-7833-4ac4-a4f6-bfcd516db8f9)) + (fp_line (start -0.3 0) (end 0.2 -0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b55c5173-9c9b-48ba-952b-bce9e153cb79)) + (fp_line (start 0.2 -0.35) (end 0.2 0.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b38b163c-86b0-4187-ba08-4a6c7102f0ec)) + (fp_line (start 0.2 0) (end 0.45 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90cdc625-4fb1-4195-ae65-4ceb0301a0e1)) + (fp_line (start 0.2 0.35) (end -0.3 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 81da852d-201c-4a93-a42f-ca3958b40aad)) + (fp_line (start 0.9 -0.7) (end 0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 39b30163-e26d-4c36-8479-ebaf71da1759)) + (fp_line (start 0.9 0.7) (end -0.9 0.7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37173ef4-d4c6-4fa2-acd1-4d0267372d15)) + (pad "1" smd rect (at -1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 72 "Net-(D18-K)") (pinfunction "K") (pintype "passive") (tstamp 3d751800-ed21-4a17-bd3d-eb81fe9ac72c)) + (pad "2" smd rect (at 1.25 0 90) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask") + (net 73 "Net-(D18-A)") (pinfunction "A") (pintype "passive") (tstamp e077c383-8051-43bb-ac68-f1ea3eae171d)) + (model ":KICAD7_3DMODEL_DIR:Diode_SMD.3dshapes/D_SOD-323.step" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (layer "F.Cu") + (tstamp e9e78aa1-4a57-419a-8cad-3d50e8aef493) + (at 49.022 61.087) + (descr "SOIC, 14 Pin (JEDEC MS-012AB, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_14.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Quad JFET-Input Operational Amplifiers, DIP-14/SOIC-14/SSOP-14") + (property "ki_keywords" "quad opamp") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/c48bd02d-c50a-4ccb-936f-b3aeb769ece8") + (attr smd) + (fp_text reference "U2" (at 0 -5.28) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 365186d4-8f9d-4c98-80b6-dc2a358dfbde) + ) + (fp_text value "TL084" (at 0 5.28) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7b5572f9-9a32-47b3-af48-9495304d3141) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp f103c7ae-5703-4f77-b2fb-c71a6c08939f) + ) + (fp_line (start 0 -4.435) (end -3.45 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 667e33ec-bf5f-4867-ac17-3e6a396fc013)) + (fp_line (start 0 -4.435) (end 1.95 -4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 858c8be0-07c0-4223-9c56-434264e5ac22)) + (fp_line (start 0 4.435) (end -1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c51fdf92-ee86-489c-a8b6-2764790731bd)) + (fp_line (start 0 4.435) (end 1.95 4.435) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 31b2fc7f-2dba-48a3-b7e5-a319252384da)) + (fp_line (start -3.7 -4.58) (end -3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a3ad6e73-a883-4b9d-bdfc-e3b0b8ef3a8e)) + (fp_line (start -3.7 4.58) (end 3.7 4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4d6af143-dd6b-4bd9-ad72-2810df902253)) + (fp_line (start 3.7 -4.58) (end -3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2526521e-6443-4f08-9841-eb5a7addf801)) + (fp_line (start 3.7 4.58) (end 3.7 -4.58) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b3df3b7b-c900-486a-b60e-9d2b66825f3c)) + (fp_line (start -1.95 -3.35) (end -0.975 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1c531e19-a08f-44f5-995f-dad79bab0aaf)) + (fp_line (start -1.95 4.325) (end -1.95 -3.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 06783c3f-0cee-4993-b87d-a788490603db)) + (fp_line (start -0.975 -4.325) (end 1.95 -4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2e0342dd-7136-490c-b68b-2c8b38df01fd)) + (fp_line (start 1.95 -4.325) (end 1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 1ae83746-92b8-4012-b965-f1560e5e4e3e)) + (fp_line (start 1.95 4.325) (end -1.95 4.325) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d6f0ea54-6be8-4adf-9dd9-f9090b7c781a)) + (pad "1" smd roundrect (at -2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 59 "Net-(D7-A)") (pintype "output") (tstamp c1680812-6184-4386-8d8c-0b07636c644a)) + (pad "2" smd roundrect (at -2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 200 "Net-(U2A--)") (pinfunction "-") (pintype "input") (tstamp 6495efb0-3b24-4a35-97f3-61cda126e2b7)) + (pad "3" smd roundrect (at -2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp bdee1555-b594-4cb0-92d8-27c855cf28c4)) + (pad "4" smd roundrect (at -2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 26 "+5V") (pinfunction "V+") (pintype "power_in") (tstamp bb7e01d9-00e1-41e4-8e05-c56545a16fab)) + (pad "5" smd roundrect (at -2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "+") (pintype "input") (tstamp e62523f0-dae7-4da8-816c-c922ac2249c8)) + (pad "6" smd roundrect (at -2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 201 "Net-(U2B--)") (pinfunction "-") (pintype "input") (tstamp bedf24a1-8b45-4d48-8595-96ddf6607231)) + (pad "7" smd roundrect (at -2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 61 "Net-(D8-A)") (pintype "output") (tstamp 58c44e1c-2cfa-40cd-b359-30e8e015cb62)) + (pad "8" smd roundrect (at 2.475 3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 69 "Net-(D12-A)") (pintype "output") (tstamp 4c0b328d-b602-4352-b4f8-d0bc09bb96e7)) + (pad "9" smd roundrect (at 2.475 2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 205 "Net-(U2C--)") (pinfunction "-") (pintype "input") (tstamp 8e666dc9-a10b-47c8-9af9-7fb538edcd66)) + (pad "10" smd roundrect (at 2.475 1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 13 "Net-(U2C-+)") (pinfunction "+") (pintype "input") (tstamp 9dc312c4-b610-4f29-8911-e3809be1742c)) + (pad "11" smd roundrect (at 2.475 0) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pinfunction "V-") (pintype "power_in") (tstamp 6c1db7bd-1d15-44d9-b565-60256de04afc)) + (pad "12" smd roundrect (at 2.475 -1.27) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 12 "Net-(U2D-+)") (pinfunction "+") (pintype "input") (tstamp 7d0edfe9-922f-408d-923d-2093cf9b4795)) + (pad "13" smd roundrect (at 2.475 -2.54) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 204 "Net-(U2D--)") (pinfunction "-") (pintype "input") (tstamp ca2d80e4-0734-455f-9caa-1bfbf781c862)) + (pad "14" smd roundrect (at 2.475 -3.81) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 67 "Net-(D11-A)") (pintype "output") (tstamp 11fe84c8-1a09-49f6-b5d0-0049c8978e76)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-14_3.9x8.7mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" (layer "F.Cu") + (tstamp e9eb6192-24ac-4d57-8b0a-add0d6bf64cd) + (at 77.343 107.193 180) + (descr "Through hole straight pin header, 1x02, 2.54mm pitch, single row") + (tags "Through hole pin header THT 1x02 2.54mm single row") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "exclude_from_bom" "") + (property "ki_description" "Generic connector, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/fb8bc4d8-347c-47e4-b394-e8f5a35e6073") + (attr through_hole exclude_from_bom) + (fp_text reference "J6" (at -2.159 2.545 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 74beb9eb-83bd-4cc6-bdb2-f3a9329df451) + ) + (fp_text value "Conn_01x02" (at 0 4.87) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 6ef48e85-6ab0-4536-8246-3135d177c1e9) + ) + (fp_text user "${REFERENCE}" (at 0 1.27 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 44eab24e-4c70-4597-b376-56898501be17) + ) + (fp_line (start -1.33 -1.33) (end 0 -1.33) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 033dfa68-9e0a-4cbc-a4a0-0d6f24478de9)) + (fp_line (start -1.33 0) (end -1.33 -1.33) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 238fd0fe-e22b-46c2-96d7-da75ed4dbce6)) + (fp_line (start -1.33 1.27) (end -1.33 3.87) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp abc5fd4d-8ca9-486c-8147-2cde27722623)) + (fp_line (start -1.33 1.27) (end 1.33 1.27) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 89430c3d-4a0d-4be8-91cf-d34608319160)) + (fp_line (start -1.33 3.87) (end 1.33 3.87) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4c9034e5-9079-4e18-85ee-b0e08ba74145)) + (fp_line (start 1.33 1.27) (end 1.33 3.87) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6e490db1-a592-43ec-8070-76203b08a82b)) + (fp_line (start -1.8 -1.8) (end -1.8 4.35) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7791925f-09ac-454a-9441-7d1d8f94ae36)) + (fp_line (start -1.8 4.35) (end 1.8 4.35) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 656b569d-20be-40a3-a3de-71c7f41f51d9)) + (fp_line (start 1.8 -1.8) (end -1.8 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4eb35709-e151-4e8d-8541-89eb144851c8)) + (fp_line (start 1.8 4.35) (end 1.8 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 77611799-8645-4bc0-b5e6-d9171ce2cf44)) + (fp_line (start -1.27 -0.635) (end -0.635 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 65906507-0b9a-4a67-b087-9e000d2a585e)) + (fp_line (start -1.27 3.81) (end -1.27 -0.635) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f853a54f-a884-42fc-8ff3-8f0c454280fd)) + (fp_line (start -0.635 -1.27) (end 1.27 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 373eed0b-4712-4120-ad3a-4c692fac4ff4)) + (fp_line (start 1.27 -1.27) (end 1.27 3.81) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 82f53d17-7e5a-4656-a6fc-de260e178419)) + (fp_line (start 1.27 3.81) (end -1.27 3.81) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 315f2239-b6df-42ae-9dc6-040269795807)) + (pad "1" thru_hole rect (at 0 0 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 107 "Net-(J6-Pin_1)") (pinfunction "Pin_1") (pintype "passive") (tstamp 0896a16d-2511-40d5-9dc5-96a09a306c04)) + (pad "2" thru_hole oval (at 0 2.54 180) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 39 "WCH_VCC") (pinfunction "Pin_2") (pintype "passive") (tstamp 04eaa2ef-7501-4d2c-acc4-a7e79c27526c)) + (model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x02_P2.54mm_Vertical.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp ea748013-a0db-45f3-b9a8-1ba7adf091ed) + (at 55.118 78.867) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/11564a8c-b221-4c9b-a14c-7c876e69864a") + (attr smd) + (fp_text reference "C22" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 5a33113a-9b1a-4e92-bf54-6f8bbc8a645e) + ) + (fp_text value "100nF/50V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b924b5cf-fae0-4bc9-be20-1213186b48cc) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 662ab623-1e7e-4811-89c5-50d05d88cefa) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 96c6afc8-d5c3-4ca4-885d-f850544e469f)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 44c5f687-1289-4020-bf2c-a50d7436e0a5)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8330379e-afd3-47d4-924e-2839711c2b26)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c1948b1b-c236-4f3e-8d0b-861ff44a3139)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e6ac64a9-cc69-43eb-8e73-34f3acd19cbc)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 29c0539d-7942-4e73-a3e1-a2940b2ae9f5)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 46bc920a-6990-4247-bb62-351e8f320a02)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp e3425c01-62dd-4fa4-ba5b-7d244c19a8ff)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 76c6ae03-44e0-48d3-a3f8-78baed235d47)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eb511bee-d2a2-4a33-961a-51a2592695f7)) + (pad "1" smd roundrect (at -0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 27 "-5V") (pintype "passive") (tstamp 5256d16e-e99d-4f72-85c1-587044dfda05)) + (pad "2" smd roundrect (at 0.775 0) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp d5a61c62-bfb3-400b-bd77-68cb51f5ef0d)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp eb79a8fe-fbb9-4169-83dc-42f6664264fd) + (at 55.626 37.084 90) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/ce4df108-bb14-4343-b3c3-24d153e6d2a0") + (attr smd) + (fp_text reference "R82" (at 0 -1.43 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp e3aa7a60-4d12-43a6-bc24-dc13be9d6dca) + ) + (fp_text value "1K" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 14f4151a-0521-4ff8-ae31-f678474a66a0) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 44bf9377-49bf-459d-8310-808ae6690475) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8097d1dd-e7d4-4c6f-8974-13d981888523)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5d9b8832-f126-4c8e-91e8-3c04219598f3)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c5f4c2e2-270c-4363-845b-882bd3059484)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 309db615-e72f-4d92-804a-70d68c107822)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c03b2f43-4cd8-4656-9846-fc43d4ee9b22)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9b34d9a1-8876-411d-9092-d281a7a8e6e6)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0aa70a4b-8a9f-4e77-9fe1-f7bacd70d791)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b4d8015d-08c8-4173-80d3-922ae5bced2e)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dfa68513-ca59-4a53-98d0-ac3e0f57ef57)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a127071f-60e0-4325-b5d1-c95faae8a5cb)) + (pad "1" smd roundrect (at -0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 62 "/frontend/OPA1") (pintype "passive") (tstamp 7f4101f0-5759-47f4-9512-56b06d533891)) + (pad "2" smd roundrect (at 0.825 0 90) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp cffee64b-7149-43b7-acb4-9cfbd55c02f4)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp ebe6aa11-9af2-42b9-8aed-39335a2f85c5) + (at 42.926 50.419) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/581ff647-53fd-453a-bad6-67c218df31be") + (attr smd) + (fp_text reference "R12" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 5f6fee92-e1dc-45c0-b5bb-87f922b60abe) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e95945e1-527d-447b-8931-0bd95b7b6dd4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp b8708ae0-669d-40ff-8a31-6902d1520df0) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c32ef6c9-2513-4f4a-ae86-b3ee0ebc2411)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d4222ede-1a6e-4cb8-8de8-546eb83603e0)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5e538a10-6317-4e6b-99fe-e55d83eae01c)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1c798dd6-e43d-4a78-8161-f1d47a6e5999)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 86a89806-ccf6-4eb8-8559-c6ed522a9479)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e3eb6de-68ff-4e15-92af-08fdf7a31695)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 238c39fd-085d-440c-805b-27e53cff6017)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 06c38a8b-af94-4078-8ab9-71a186482395)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3ace70e6-d44a-4b70-9b6c-7851264d4e22)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 867cd049-5af9-429a-84d3-9b02acd10aca)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 199 "Net-(U1B--)") (pintype "passive") (tstamp 49633848-b73c-4ff2-9946-03bc21583f23)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 127 "Net-(R11-Pad2)") (pintype "passive") (tstamp 42292a7d-1813-4f2c-b259-16a0b017ed11)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_Array_Convex_4x0603" (layer "F.Cu") + (tstamp ee7cb7f2-4165-40f7-9f0b-205e906364c7) + (at 86.995 43.053) + (descr "Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)") + (tags "resistor array") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "4 resistor network, parallel topology") + (property "ki_keywords" "R network parallel topology isolated") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/e1f1610b-d7c4-4363-96d2-c40c6853b82f") + (attr smd) + (fp_text reference "RN10" (at 3.048 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3dbdd9db-1853-41c4-99c1-52981e677d03) + ) + (fp_text value "4.7K" (at 0 2.8) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 414b9dd9-3bc9-404b-8086-5aaa956ffec0) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.5 0.5) (thickness 0.075))) + (tstamp e63fa73f-1136-4269-8ee8-3849b0039d16) + ) + (fp_line (start 0.5 -1.68) (end -0.5 -1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 20e03036-8a28-4408-a9e0-6e385d56284a)) + (fp_line (start 0.5 1.68) (end -0.5 1.68) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 635e8982-8c6f-4a68-a57a-87ef3d3abed7)) + (fp_line (start -1.55 -1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6ecfbada-e77e-4446-82af-b6f46a93cf11)) + (fp_line (start -1.55 -1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 628bc9e7-1029-402f-98a4-ca45fb8064c9)) + (fp_line (start 1.55 1.85) (end -1.55 1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d6ff8cbe-aad1-4f81-be62-2129f6dc87d2)) + (fp_line (start 1.55 1.85) (end 1.55 -1.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f3aa979b-4c1c-41a6-baa2-c9965d0bd522)) + (fp_line (start -0.8 -1.6) (end 0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0b9c1956-d68b-42cd-9912-f1dabdefe52a)) + (fp_line (start -0.8 1.6) (end -0.8 -1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58ce35fe-dff1-441c-acb7-87c2ba1c0c98)) + (fp_line (start 0.8 -1.6) (end 0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fe8565a1-81ee-4612-a0ac-6a48f6e57f99)) + (fp_line (start 0.8 1.6) (end -0.8 1.6) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b41c2297-11b6-4eaa-aff7-09887e3f22b3)) + (pad "1" smd rect (at -0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 154 "/interface/LED5") (pinfunction "R1.1") (pintype "passive") (tstamp ef6a376c-31ff-42d9-9ad3-d7e15a749ecd)) + (pad "2" smd rect (at -0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 155 "/interface/LED6") (pinfunction "R2.1") (pintype "passive") (tstamp eb899ae7-0543-42ac-84fd-335f0295f0f2)) + (pad "3" smd rect (at -0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 156 "/interface/LED7") (pinfunction "R3.1") (pintype "passive") (tstamp ef2e86d2-46ce-40a3-954c-cf23bcdf6f66)) + (pad "4" smd rect (at -0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 149 "/interface/LED8") (pinfunction "R4.1") (pintype "passive") (tstamp e6eeb9ef-723c-4123-97dd-5d6729b33d97)) + (pad "5" smd rect (at 0.9 1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 97 "Net-(D39-A)") (pinfunction "R4.2") (pintype "passive") (tstamp 58d2f5a5-3969-4107-9271-cc89f72813a0)) + (pad "6" smd rect (at 0.9 0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 96 "Net-(D38-A)") (pinfunction "R3.2") (pintype "passive") (tstamp d1423db9-aafb-419e-a793-9a03025d8c23)) + (pad "7" smd rect (at 0.9 -0.4) (size 0.8 0.4) (layers "F.Cu" "F.Paste" "F.Mask") + (net 95 "Net-(D37-A)") (pinfunction "R2.2") (pintype "passive") (tstamp ac5fad2b-8d46-4f51-9c3e-34f6e71c83b5)) + (pad "8" smd rect (at 0.9 -1.2) (size 0.8 0.5) (layers "F.Cu" "F.Paste" "F.Mask") + (net 94 "Net-(D36-A)") (pinfunction "R1.2") (pintype "passive") (tstamp bac33fce-1470-4ca0-957e-29f3a48894be)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Array_Convex_4x0603.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_PinSocket_2.00mm:PinSocket_1x04_P2.00mm_Vertical" (layer "F.Cu") + (tstamp efd30bc8-2fe3-410a-95b5-6ffb0d54b03e) + (at 83.344 24.384 90) + (descr "Through hole straight socket strip, 1x04, 2.00mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x04 2.00mm single row") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/2b623c30-ca01-48a5-ab6b-dbd1aafb2bae") + (attr through_hole) + (fp_text reference "J4" (at 0 -1.556 270) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp c2194621-2db8-4909-b335-b3e9673c9c12) + ) + (fp_text value "Conn_01x04" (at 0 8.5 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f335bb1b-bdc9-498c-bb79-229d899a6c6f) + ) + (fp_text user "${REFERENCE}" (at 0 3) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 916b37fb-108a-4dc9-b04e-16386b267e79) + ) + (fp_line (start -1.06 1) (end -1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7d3ac584-f1d9-4642-b3d4-f446ae3581b6)) + (fp_line (start -1.06 1) (end 1.06 1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d39a3152-5294-45fc-8af4-afbcd28a0960)) + (fp_line (start -1.06 7.06) (end 1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8d8cd5d9-1aa6-4aba-8601-aabc14e9ea18)) + (fp_line (start 0 -1.06) (end 1.06 -1.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bf998ea0-7ef4-4e22-a267-12b4496b04ea)) + (fp_line (start 1.06 -1.06) (end 1.06 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 69d77f88-83f7-4690-a9ad-0fb48ec2c9a7)) + (fp_line (start 1.06 1) (end 1.06 7.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1502a76d-95dc-46b7-84aa-459e14368ebd)) + (fp_line (start -1.5 -1.5) (end 1.5 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9a3349c2-dce3-4259-a388-3eb79778e122)) + (fp_line (start -1.5 7.5) (end -1.5 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp acb28a99-1c99-407b-93bc-45ddec1b8761)) + (fp_line (start 1.5 -1.5) (end 1.5 7.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7b267617-4ef1-4d68-8c34-0e772f27e99b)) + (fp_line (start 1.5 7.5) (end -1.5 7.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 15b8b5ac-592f-43ab-bf5d-65cb2e5a0235)) + (fp_line (start -1 -1) (end 0.5 -1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9ada9d33-78d5-4a59-b937-dd61b8867aa4)) + (fp_line (start -1 7) (end -1 -1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 49f89035-ad60-4cd6-8bc4-ae199aa6053d)) + (fp_line (start 0.5 -1) (end 1 -0.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28907a61-7c91-453a-b094-a4e2f6c6e676)) + (fp_line (start 1 -0.5) (end 1 7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fa977112-3ba4-4188-bf03-824e63cf1eff)) + (fp_line (start 1 7) (end -1 7) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 71b8e928-f91c-4bf2-b317-be791237a243)) + (pad "1" thru_hole rect (at 0 0 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 37 "STM_VCC") (pinfunction "Pin_1") (pintype "passive") (tstamp 19ec362c-fef8-4de7-a8ff-baa408c9a468)) + (pad "2" thru_hole oval (at 0 2 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 103 "SWDIO") (pinfunction "Pin_2") (pintype "passive") (tstamp d020780e-2bdf-4903-bd74-2137e48bf892)) + (pad "3" thru_hole oval (at 0 4 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_3") (pintype "passive") (tstamp 19e13228-b63d-43eb-b27a-44ca4feafeda)) + (pad "4" thru_hole oval (at 0 6 90) (size 1.35 1.35) (drill 0.8) (layers "*.Cu" "*.Mask") + (net 104 "SWCLK") (pinfunction "Pin_4") (pintype "passive") (tstamp 3b52d37f-3853-49b0-b522-4ec897596378)) + (model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.00mm.3dshapes/PinSocket_1x04_P2.00mm_Vertical.wrl" hide + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp f1bd863c-a386-40d4-9667-3af8997c482b) + (at 42.926 103.759) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/1f475b57-2f93-4e0d-96aa-8be01c30c141") + (attr smd) + (fp_text reference "R52" (at 0 2.286) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 48caf651-ccfa-439d-9c9f-3ad3bf4972cb) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 25d5bb96-129f-4814-baa2-358e017ede9b) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 6cdbc305-c424-454e-a681-b54424ed7f8b) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 86b29075-4341-4b19-a33b-bc3488efa885)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9ce2738a-0dcb-4870-b5fc-d64c9177fcb8)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7d1d09d7-f1a4-4a1e-b300-03064a767320)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 65dc4d53-b0ea-46cc-89c9-800036c9def7)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 23529afa-003d-4946-a18f-652225399b20)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 98f66523-a460-4ff7-97fe-16eb81282c1a)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ec0fc404-8728-4efd-8a41-8fb8ac6cf9a8)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7015fbbf-0ec9-42fa-b15a-6c0ea79d0414)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d66538d4-8bdd-49c2-b0e4-006d64a79858)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f8c08874-cd58-4834-bab9-ead18f9740dd)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 209 "Net-(U4B--)") (pintype "passive") (tstamp 10fce281-5cb7-42e8-8a59-766b7960b814)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 141 "Net-(R51-Pad2)") (pintype "passive") (tstamp 3ec67809-f1b0-4913-88fd-7934f6163ae8)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp f32853cc-348c-4574-aa5a-c3b7792c5500) + (at 42.926 93.091) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/e3051c48-5e8c-42c5-b4e9-843eb63680e2") + (attr smd) + (fp_text reference "R43" (at 2.032 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 9db0bcda-0d92-4c76-b50d-1a83af5fcd42) + ) + (fp_text value "3.3K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b2d3f36f-c803-4556-9738-a307c11428a4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7d73f509-e1be-4347-ba66-1ef40ce89c00) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 373efe5a-08c9-41e1-9796-e73ec5739aeb)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5788a9dc-d6e5-43c5-9801-63fbf6152ab4)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aad1a9ae-760e-473e-9656-3f08c7ec331e)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2b401117-b7ea-4a93-8f65-383f262a51da)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 74c8102e-91b7-40d4-8744-6638e7d2413b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 67b02b1b-aeae-49b4-8a36-98de58429ded)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp af829094-d90b-4ca5-9771-36563c0e4c52)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 37159eff-d230-44c5-ad99-96eff4dc8bda)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 77721edf-1d85-4ef6-abde-83ab279e5080)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b3b10ddc-99d0-482a-a83c-96e407f1bfa6)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 19 "Net-(C11-Pad2)") (pintype "passive") (tstamp f456abc1-f845-4789-85b0-8bc5f42c99af)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 208 "Net-(U4A--)") (pintype "passive") (tstamp 91252479-f273-4897-9c0f-dc762a5d5a40)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:JP_0603" (layer "F.Cu") + (tstamp f3f7c441-11e0-456b-ad19-a17fc3be82dc) + (at 58.039 28.829 -90) + (descr "0603 短接") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "exclude_from_bom" "") + (property "ki_description" "Jumper, 2-pole, open") + (property "ki_keywords" "Jumper SPST") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/ea2edfb5-1b38-419a-ae2c-b28528fad5f5") + (attr smd exclude_from_bom) + (fp_text reference "JP4" (at -6.096 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp b7fbd7b0-43b9-4466-b963-fe9dc6086e34) + ) + (fp_text value "Jumper_2_Open" (at 0 1.524 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp dfc5e7cf-2ab1-4301-a1db-33f97b945567) + ) + (fp_line (start -1.397 -0.635) (end 1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bdb05929-72fd-405d-98dc-c418f8b09440)) + (fp_line (start -1.397 0.635) (end -1.397 -0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0e697ce3-b31c-4bd6-8959-bd8bc94d76bc)) + (fp_line (start 1.397 -0.635) (end 1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp abbfcc64-3ea7-4b92-a61f-569a7a60796e)) + (fp_line (start 1.397 0.635) (end -1.397 0.635) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bbe5a7bc-fd29-4279-8253-e7238c889c93)) + (fp_poly + (pts + (xy 1.1 0.44) + (xy -1.12 0.44) + (xy -1.12 -0.43) + (xy 1.1 -0.43) + ) + + (stroke (width 0.1) (type solid)) (fill solid) (layer "F.Mask") (tstamp 2e532ca8-75a4-4eec-a96e-78225498f052)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 17a6b0fc-c2b1-4f6d-bfb2-ebabcff0fe60)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9899b100-bf04-4c2b-93bc-fddb066cca15)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e985efa0-8268-4f7f-82b7-61ce3f1e4b6b)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1753fe7b-59b1-4e73-96ea-1bf84d38e0a8)) + (pad "1" smd custom (at -0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 9 "GND") (pinfunction "A") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.5 -0.5) + (xy 0.3 -0.5) + (xy 0.8 0) + (xy 0.3 0.5) + (xy -0.5 0.5) + ) + (width 0) (fill yes)) + ) (tstamp 04a2eac8-1b21-4fdd-8da8-dc68e735b16f)) + (pad "2" smd custom (at 0.725 0 270) (size 0.3 0.3) (layers "F.Cu" "F.Mask") + (net 121 "SET4") (pinfunction "B") (pintype "passive") (zone_connect 2) (thermal_bridge_angle 45) + (options (clearance outline) (anchor rect)) + (primitives + (gr_poly + (pts + (xy -0.8 -0.5) + (xy 0.5 -0.5) + (xy 0.5 0.5) + (xy -0.8 0.5) + (xy -0.3 0) + ) + (width 0) (fill yes)) + ) (tstamp 030711a2-02c6-41c9-98b1-846960c243ad)) + ) + + (footprint "LED_SMD:LED_0603_1608Metric" (layer "F.Cu") + (tstamp f60fc745-66b2-48eb-bb0f-b419cd472a52) + (at 96.2405 36.195 180) + (descr "LED SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator") + (tags "LED") + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Light emitting diode") + (property "ki_keywords" "LED diode") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/f58bfcae-a904-43d0-b88f-13ffdfefc0bf") + (attr smd) + (fp_text reference "D36" (at 2.6415 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 2faef17a-eac9-455b-ace9-f5d2c65225fa) + ) + (fp_text value "BLUE_LED" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp ffd06d32-19ac-4b72-8faf-dac19ba7fd1a) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp af70866b-2ba0-4f28-b059-27c77e3397ca) + ) + (fp_line (start -1.485 -0.735) (end -1.485 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eb3d94c8-d166-48cd-b61e-19460e639ea2)) + (fp_line (start -1.485 0.735) (end 0.8 0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bf7c9b01-75e9-4550-be67-a62a0842429f)) + (fp_line (start 0.8 -0.735) (end -1.485 -0.735) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ba7eee06-9331-4ebc-9777-122cf020e34b)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fc4e4d71-c0cc-4609-b92d-613f18881230)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6c0731ec-8946-41fe-bd2e-3277db808c64)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 59d62c3e-eba4-4d28-a6a7-3c6178b8bec1)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c3160cad-af07-47f9-9f4d-1a7c10bbb230)) + (fp_line (start -0.8 -0.1) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 38c63bdc-0ab6-479e-8c99-9deff8c50376)) + (fp_line (start -0.8 0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 36cfa6bc-cf0d-4f48-909e-d49bd8389e5c)) + (fp_line (start -0.5 -0.4) (end -0.8 -0.1) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9d3d1ddb-8e9f-4b28-ba4e-79f924e04837)) + (fp_line (start 0.8 -0.4) (end -0.5 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ebe78073-ece2-44d7-8e08-63178525c1c4)) + (fp_line (start 0.8 0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c41b993e-b708-4d08-8ea3-8503332127c8)) + (pad "1" smd roundrect (at -0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "K") (pintype "passive") (tstamp 4acbdea7-4495-4526-b1a7-9a4a250cdc15)) + (pad "2" smd roundrect (at 0.7875 0 180) (size 0.875 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 94 "Net-(D36-A)") (pinfunction "A") (pintype "passive") (tstamp 5512e4ad-7593-4c68-b916-391f70d796b8)) + (model "${KICAD6_3DMODEL_DIR}/LED_SMD.3dshapes/LED_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp f6307461-9fdc-45e0-b04a-65f63a26affa) + (at 46.101 85.979) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/b63350c7-9263-4306-bd45-9602f2e1612d") + (attr smd) + (fp_text reference "R56" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 5e677c3a-1ff0-4d65-867d-ed99898dfe99) + ) + (fp_text value "0R" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b5172775-c1b0-471c-b6ae-e0b85cfda6b1) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 9745d279-d24f-4191-bb1a-b9a93e12caa2) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 45b08c36-8e01-4fe7-ad71-e9c45fa9aae8)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 62d27efb-987b-47f9-a5fd-0cd44c130c77)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fcf05ab6-bf3b-4928-94b5-32bc674a753e)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7348f10a-2800-48cc-bc0e-1a6b7a7af571)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 877ad932-8c20-49cf-bd0b-7cdaf59558b4)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7d4c7d39-284d-470c-9333-d95669780bd3)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 87eb6b71-826b-4881-be6d-b1b9fbf851af)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bd9e1381-7bcc-43b3-a737-a878abadcc90)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ec07a6e3-b76f-4028-8983-32c48105b630)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 588c8826-498b-4b10-b971-779ac47bc49f)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 139 "Net-(R47-Pad2)") (pintype "passive") (tstamp b813c91f-234e-4e7f-b2cc-49f1ab0efee1)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 73 "Net-(D18-A)") (pintype "passive") (tstamp d2a09633-b9de-46d8-aee9-29cc4010a07e)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp f67cc3e0-46a8-49e6-a015-8f7d678c4d47) + (at 42.926 89.535) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/7cb6f8eb-164d-4c8e-9446-7967ebce197f") + (attr smd) + (fp_text reference "R50" (at 0 -1.143) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 29428e89-3453-47a3-9c38-cbac70e646ee) + ) + (fp_text value "NC" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c50aff3e-81f2-4a40-bde9-a0d2dc690de1) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 7168a768-c30c-4a6a-b89f-d49d6fed9156) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d7b9873-22fe-4d48-bc42-c448598c676a)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f8a9a065-0780-47bc-b1be-3a49c6910331)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2ba9f271-060e-4461-8ae1-3a368a536d65)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f3e7e642-b4b0-46fa-9b9c-ec989f260f96)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 18189d58-cc43-4f73-9c50-b7910c783759)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d5722653-d278-4823-9a75-553a6600fbed)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 97a49445-6488-4a75-acc9-36bd47a55961)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 09c49f3d-f730-453f-94cd-f54c1c4becc6)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7d6574c5-59ec-47f0-bdb1-f904e5bb2ba8)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 65ef2610-1803-43d3-826b-9ccd0cbdab3f)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 208 "Net-(U4A--)") (pintype "passive") (tstamp 1aad357f-42b8-4bfd-bd14-b34022b08100)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 140 "Net-(R49-Pad2)") (pintype "passive") (tstamp c1025fb4-63c7-47de-b69d-24ab7b5937a8)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" (layer "F.Cu") + (tstamp f74186f2-89f4-4413-ab09-5e051468c6f7) + (at 79.883 33.147 180) + (descr "SOIC, 8 Pin (JEDEC MS-012AA, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_8.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/100d3ceb-a6da-446c-a63c-1d6e6c7a6da8") + (attr smd) + (fp_text reference "U9" (at -4.445 -2.286) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 1dd6889b-d42e-40ca-ba72-7070e6c4aa7f) + ) + (fp_text value "CH340N" (at 0 3.4) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8af174e9-3234-44f9-b947-6706a09b1565) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp 5af0f3af-7f2a-4209-8d27-77358739dee5) + ) + (fp_line (start 0 -2.56) (end -3.45 -2.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bdd17cc8-d7c0-41b7-a640-eca9a47cb6ae)) + (fp_line (start 0 -2.56) (end 1.95 -2.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f58de8ee-cd5a-43df-b68c-47e6c0ea01be)) + (fp_line (start 0 2.56) (end -1.95 2.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0d9e1950-2c5b-440e-969d-363cb354b6d6)) + (fp_line (start 0 2.56) (end 1.95 2.56) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6a6d4246-60ff-4e15-9bac-e398b48a94b3)) + (fp_line (start -3.7 -2.7) (end -3.7 2.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f8f69c89-df56-4083-a7f6-fd7c67d4eb44)) + (fp_line (start -3.7 2.7) (end 3.7 2.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8dabaaa6-cb8a-49e4-8d3e-c3cfa4a259f4)) + (fp_line (start 3.7 -2.7) (end -3.7 -2.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 60d8f14c-1133-4707-bd79-8beb344ce34f)) + (fp_line (start 3.7 2.7) (end 3.7 -2.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a60f2b25-b8e4-4b5f-a6b6-eb464b93eff5)) + (fp_line (start -1.95 -1.475) (end -0.975 -2.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9ca2352d-dba9-4e44-9d19-854cdf53b943)) + (fp_line (start -1.95 2.45) (end -1.95 -1.475) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b56dbd3c-2ce3-4207-8f43-14253c0f3451)) + (fp_line (start -0.975 -2.45) (end 1.95 -2.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c9d9bbfe-1166-4e0d-b921-be15238f5af4)) + (fp_line (start 1.95 -2.45) (end 1.95 2.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8cde30ce-da51-42ab-96e8-5d2764a8f8c1)) + (fp_line (start 1.95 2.45) (end -1.95 2.45) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6b896ece-29a2-48bc-9ef4-616d312ae117)) + (pad "1" smd roundrect (at -2.475 -1.905 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 89 "/interface/USB2_DP") (pinfunction "UDP") (pintype "passive") (tstamp a9c04789-d0b2-4d59-89b2-55449d22217a)) + (pad "2" smd roundrect (at -2.475 -0.635 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 88 "/interface/USB2_DN") (pinfunction "UDN") (pintype "passive") (tstamp 3b74ff29-699e-4bbb-bcf7-c5b560e96b3d)) + (pad "3" smd roundrect (at -2.475 0.635 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "passive") (tstamp 82be32b9-b603-47de-90e7-73feff3c2ae2)) + (pad "4" smd roundrect (at -2.475 1.905 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 236 "unconnected-(U9-RTS#-Pad4)") (pinfunction "RTS#") (pintype "passive+no_connect") (tstamp e6769a84-4ce9-43a7-b3c7-a92ad1bbc4f7)) + (pad "5" smd roundrect (at 2.475 1.905 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "VCC") (pintype "passive") (tstamp 0153277a-bd77-4c1d-a734-f242b9d840e9)) + (pad "6" smd roundrect (at 2.475 0.635 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 106 "/smapling/RXD") (pinfunction "TXD") (pintype "passive") (tstamp 1a0c34fa-df1f-4ae4-b87d-fb831c37fe2f)) + (pad "7" smd roundrect (at 2.475 -0.635 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 105 "/smapling/TXD") (pinfunction "RXD") (pintype "passive") (tstamp 9ddf1ff1-2781-4dd1-a32d-472c73971c8a)) + (pad "8" smd roundrect (at 2.475 -1.905 180) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pinfunction "V3") (pintype "passive") (tstamp 296a57b6-38a2-45d6-9dcc-30d122a78f25)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "NewLib:B40B-XADSS-N-A" (layer "F.Cu") + (tstamp f96f20f4-ac36-4513-8623-692c8d39ce91) + (at 100.056 79.12 90) + (property "Sheetfile" "interface.kicad_sch") + (property "Sheetname" "interface") + (property "ki_description" "Generic connector, double row, 02x20, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)") + (property "ki_keywords" "connector") + (path "/8c28bde5-632b-4f6a-a03f-bbd7b805253a/e51c067e-c5db-457e-a0be-8ef038ddde45") + (attr through_hole) + (fp_text reference "J8" (at 28.193 -4.425 180) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d01bb346-d4b5-4486-98fa-f58c0f44b0a5) + ) + (fp_text value "Conn_02x20_Odd_Even" (at 0 -3.048 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2ba6aa40-64b4-410e-be79-a83d051aaa1d) + ) + (fp_line (start -27.5 5.05) (end -27.5 0) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp 2aeb94a3-923d-4eb5-9252-d58f75e4e565)) + (fp_line (start -27.5 5.05) (end 27.5 5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp e5756236-6db3-4667-b0e0-e15d7af06d0f)) + (fp_line (start -26.5 4) (end -26.5 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b9548b2a-d1c8-4f21-97fa-7a7a21ea116e)) + (fp_line (start -24 4) (end -26.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 795410f9-d6b4-42b2-be4f-205f3cff958e)) + (fp_line (start -24 5) (end -24 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d365e23d-db24-4120-80d4-dbf22108b497)) + (fp_line (start -23 4) (end -23 5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp faee1ed4-9fc9-4782-a45c-2b45cfe3782c)) + (fp_line (start 22.5 -4) (end 26.5 -4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3819a894-5981-4a56-bd8b-c866c8a519c8)) + (fp_line (start 22.5 4) (end -23 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fa530493-fd4c-4aa2-bcbf-ae220d7d7092)) + (fp_line (start 22.5 5) (end 22.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5c092a3a-1e79-4889-a94b-6542ab6d386d)) + (fp_line (start 23.5 4) (end 23.5 5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 1b1c2682-c630-477d-81c8-41509db36244)) + (fp_line (start 26.5 -4) (end 26.5 -2) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4a06319c-5759-4bc5-b9e1-7768ea81eae0)) + (fp_line (start 26.5 -2) (end 27.5 -2) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2fc8c782-419c-4a54-a95e-e087757221c7)) + (fp_line (start 26.5 -1) (end 26.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7232289c-7e41-4195-aa2b-35427fc59589)) + (fp_line (start 26.5 4) (end 23.5 4) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 139bb50a-d847-43c4-bca5-6e87804a3773)) + (fp_line (start 27.5 -5.05) (end 22.5 -5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp f0cd3090-5d33-42fb-b23c-85da1b20f2f9)) + (fp_line (start 27.5 -5.05) (end 27.5 5.05) + (stroke (width 0.3) (type solid)) (layer "F.SilkS") (tstamp d2f8a3ae-4699-4cc4-99c4-3907b280a2b8)) + (fp_line (start 27.5 -1) (end 26.5 -1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp be9e8da7-fd7c-4a3b-8346-e17792402150)) + (fp_rect (start -6.35 5.05) (end -0.762 4.288) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp d52e7e23-7bcc-49f4-8f7a-474d785edd99)) + (fp_rect (start 6.35 4.288) (end 0.762 5.05) + (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp fea6c7d5-6948-4c71-9b73-49b348840dbc)) + (pad "1" thru_hole circle (at -23.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 110 "unconnected-(J8-Pin_1-Pad1)") (pinfunction "Pin_1") (pintype "passive+no_connect") (tstamp 52b47bf7-3905-4438-a78b-5f735ab85973)) + (pad "2" thru_hole circle (at -23.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 111 "unconnected-(J8-Pin_2-Pad2)") (pinfunction "Pin_2") (pintype "passive+no_connect") (tstamp fdde3609-7bd8-42b1-9ddb-ca31e0263205)) + (pad "3" thru_hole circle (at -21.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 112 "unconnected-(J8-Pin_3-Pad3)") (pinfunction "Pin_3") (pintype "passive+no_connect") (tstamp ff98ff15-37c3-4b9f-8c0e-6f98d265bb85)) + (pad "4" thru_hole circle (at -21.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 113 "unconnected-(J8-Pin_4-Pad4)") (pinfunction "Pin_4") (pintype "passive+no_connect") (tstamp 42b7bca3-c439-4522-a31c-e6e40182628c)) + (pad "5" thru_hole circle (at -18.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 186 "coin") (pinfunction "Pin_5") (pintype "passive") (tstamp 2a74b45d-ad6e-4394-8361-b7e2e8524e9f)) + (pad "6" thru_hole circle (at -18.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 114 "unconnected-(J8-Pin_6-Pad6)") (pinfunction "Pin_6") (pintype "passive+no_connect") (tstamp d326e2da-7a3e-4bfc-b506-b1e26ebd5d05)) + (pad "7" thru_hole circle (at -16.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 185 "test") (pinfunction "Pin_7") (pintype "passive") (tstamp ec9a512c-01d6-400c-b15c-ac8e7a2d0c03)) + (pad "8" thru_hole circle (at -16.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 115 "unconnected-(J8-Pin_8-Pad8)") (pinfunction "Pin_8") (pintype "passive+no_connect") (tstamp 4c0a68ff-0ff2-4bf3-a1ce-096b6f71840d)) + (pad "9" thru_hole circle (at -13.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 116 "unconnected-(J8-Pin_9-Pad9)") (pinfunction "Pin_9") (pintype "passive+no_connect") (tstamp 2f32445c-1ed4-48c2-a6f8-60b181271f52)) + (pad "10" thru_hole circle (at -13.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 117 "unconnected-(J8-Pin_10-Pad10)") (pinfunction "Pin_10") (pintype "passive+no_connect") (tstamp 933876fb-258f-4c32-8b92-a71bff50b6d8)) + (pad "11" thru_hole circle (at -11.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 122 "unconnected-(J8-Pin_11-Pad11)") (pinfunction "Pin_11") (pintype "passive+no_connect") (tstamp c91830c6-595b-4039-b44b-6c841a97713f)) + (pad "12" thru_hole circle (at -11.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 183 "service") (pinfunction "Pin_12") (pintype "passive") (tstamp bd88faf8-6697-4e8a-a8e1-40ccf1957645)) + (pad "13" thru_hole circle (at -8.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 182 "up") (pinfunction "Pin_13") (pintype "passive") (tstamp 7df10847-990a-4c73-b2c0-7ed06f984d27)) + (pad "14" thru_hole circle (at -8.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 181 "down") (pinfunction "Pin_14") (pintype "passive") (tstamp ba7ad3eb-2cc7-460e-8a51-c77acd81461a)) + (pad "15" thru_hole circle (at -6.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 123 "unconnected-(J8-Pin_15-Pad15)") (pinfunction "Pin_15") (pintype "passive+no_connect") (tstamp eb99c68f-06cd-443f-8b2d-c820387810d7)) + (pad "16" thru_hole circle (at -6.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 124 "unconnected-(J8-Pin_16-Pad16)") (pinfunction "Pin_16") (pintype "passive+no_connect") (tstamp 9ff0e386-e86a-4cad-898b-6adc1cb03740)) + (pad "17" thru_hole circle (at -3.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 184 "enter") (pinfunction "Pin_17") (pintype "passive") (tstamp 0c463452-8027-40f4-b122-c22026e8aa4c)) + (pad "18" thru_hole circle (at -3.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 125 "unconnected-(J8-Pin_18-Pad18)") (pinfunction "Pin_18") (pintype "passive+no_connect") (tstamp ddaf7c93-1e10-4aa8-817c-0e030e8e7bd7)) + (pad "19" thru_hole circle (at -1.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_19") (pintype "passive") (tstamp a92f0034-435f-4e1e-999a-9ff2dc243c3f)) + (pad "20" thru_hole circle (at -1.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_20") (pintype "passive") (tstamp 150dcbe8-2f55-4330-8127-019fda04eda6)) + (pad "21" thru_hole circle (at 1.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 130 "unconnected-(J8-Pin_21-Pad21)") (pinfunction "Pin_21") (pintype "passive+no_connect") (tstamp 16ccc7fb-5be6-433c-bc74-78636c2b4dee)) + (pad "22" thru_hole circle (at 1.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 131 "unconnected-(J8-Pin_22-Pad22)") (pinfunction "Pin_22") (pintype "passive+no_connect") (tstamp 414a973f-9d80-459a-a726-ce9ede89f45a)) + (pad "23" thru_hole circle (at 3.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 132 "unconnected-(J8-Pin_23-Pad23)") (pinfunction "Pin_23") (pintype "passive+no_connect") (tstamp 681ba295-eba3-4c1b-bba9-b6de235b23df)) + (pad "24" thru_hole circle (at 3.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 133 "unconnected-(J8-Pin_24-Pad24)") (pinfunction "Pin_24") (pintype "passive+no_connect") (tstamp 0e2e466e-9783-464b-9945-0a0ac3834abd)) + (pad "25" thru_hole circle (at 6.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 134 "unconnected-(J8-Pin_25-Pad25)") (pinfunction "Pin_25") (pintype "passive+no_connect") (tstamp 8e9bac23-5add-46be-acf5-9fd798097018)) + (pad "26" thru_hole circle (at 6.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 135 "unconnected-(J8-Pin_26-Pad26)") (pinfunction "Pin_26") (pintype "passive+no_connect") (tstamp 6f0fa6f3-a5f2-453d-abd5-74a84e5a6601)) + (pad "27" thru_hole circle (at 8.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 136 "unconnected-(J8-Pin_27-Pad27)") (pinfunction "Pin_27") (pintype "passive+no_connect") (tstamp 9413ecd7-7ff6-4d8a-ae3b-6ec5a618d2fd)) + (pad "28" thru_hole circle (at 8.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 137 "unconnected-(J8-Pin_28-Pad28)") (pinfunction "Pin_28") (pintype "passive+no_connect") (tstamp 7a92224e-b8e9-4887-8d9e-261710fb8bae)) + (pad "29" thru_hole circle (at 11.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 142 "unconnected-(J8-Pin_29-Pad29)") (pinfunction "Pin_29") (pintype "passive+no_connect") (tstamp 6ae22323-b7a1-4978-b19b-a3179a60c8e5)) + (pad "30" thru_hole circle (at 11.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 143 "unconnected-(J8-Pin_30-Pad30)") (pinfunction "Pin_30") (pintype "passive+no_connect") (tstamp 947e92d5-2060-4314-9f19-c8fc1895684f)) + (pad "31" thru_hole circle (at 13.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 144 "unconnected-(J8-Pin_31-Pad31)") (pinfunction "Pin_31") (pintype "passive+no_connect") (tstamp 2a0328ed-d9c5-4bb5-9f72-2ce6b4ba357e)) + (pad "32" thru_hole circle (at 13.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 145 "unconnected-(J8-Pin_32-Pad32)") (pinfunction "Pin_32") (pintype "passive+no_connect") (tstamp 9373f51d-f9a8-4e00-b5af-0e176506e6f4)) + (pad "33" thru_hole circle (at 16.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 146 "unconnected-(J8-Pin_33-Pad33)") (pinfunction "Pin_33") (pintype "passive+no_connect") (tstamp 402f1ef5-cd08-4578-8cbb-e294436bbde8)) + (pad "34" thru_hole circle (at 16.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 147 "unconnected-(J8-Pin_34-Pad34)") (pinfunction "Pin_34") (pintype "passive+no_connect") (tstamp 6921bb2c-adad-4d64-9513-442435d15471)) + (pad "35" thru_hole circle (at 18.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 148 "unconnected-(J8-Pin_35-Pad35)") (pinfunction "Pin_35") (pintype "passive+no_connect") (tstamp af52c0cd-c507-4b58-a3d1-9b06e2210def)) + (pad "36" thru_hole circle (at 18.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 160 "unconnected-(J8-Pin_36-Pad36)") (pinfunction "Pin_36") (pintype "passive+no_connect") (tstamp 85a0b730-2644-416a-8a09-6114d73564df)) + (pad "37" thru_hole circle (at 21.25 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 161 "unconnected-(J8-Pin_37-Pad37)") (pinfunction "Pin_37") (pintype "passive+no_connect") (tstamp 7f799a16-a017-4390-b6a4-f455f66a400a)) + (pad "38" thru_hole circle (at 21.25 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 162 "unconnected-(J8-Pin_38-Pad38)") (pinfunction "Pin_38") (pintype "passive+no_connect") (tstamp 0a467a33-ca9b-433d-9d09-82829cab8f7c)) + (pad "39" thru_hole circle (at 23.75 -1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_39") (pintype "passive") (tstamp f4808bcb-31bc-4b64-8a79-cda341f387dd)) + (pad "40" thru_hole circle (at 23.75 1.25 90) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") + (net 9 "GND") (pinfunction "Pin_40") (pintype "passive") (tstamp 0e17182b-be05-4078-852b-2b8f2fed8cac)) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp fbf2545b-2929-4f77-ac88-3122351f6a20) + (at 73.914 34.036 180) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/a156ce00-2678-46db-9069-6caef45090b2") + (attr smd) + (fp_text reference "C34" (at 2.667 0) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3ac39f7b-39e5-4447-b16c-545a033e6b21) + ) + (fp_text value "22uF/6.3V" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 3a4ddebb-b047-4275-a464-2d772735b8fd) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 56f9c92f-ab8c-45dd-a2f7-c710efa403e9) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 092f99b9-bbe7-4db0-a943-aff956a8c06c)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 69b03c45-9aca-43f0-b9a0-4f8e544c54e9)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 52d31521-599c-4fef-8a56-b55b1ac05878)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b26d3d6d-7169-4246-b7a6-c0eeef064eba)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0646014e-c2a1-4745-9dae-352fafe4ba00)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 61e85275-84cc-4b9f-912c-a33ef8bab8d3)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3c0fcfb7-589b-442f-af4f-4b516f79ff52)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp de504019-54ec-423d-8adf-325a32852514)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ac878844-9bca-4b0d-bcfc-ea60931f5d11)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bcbf9989-7d3b-4268-a32d-709744c0a966)) + (pad "1" smd roundrect (at -0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 37 "STM_VCC") (pintype "passive") (tstamp d9fe8cf2-ece1-4340-9cce-45aa1200b2d4)) + (pad "2" smd roundrect (at 0.775 0 180) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 89002a8b-1169-4ff6-8148-ec1bf3c0983e)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") + (tstamp fd95663e-6539-4034-89a0-0461b934e19e) + (at 70.993 92.71 90) + (descr "Capacitor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/f6cd5a02-887d-4bd5-963c-f0a7dea6f7c6") + (attr smd) + (fp_text reference "C53" (at -2.159 0 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 3384285b-a891-4123-831f-2c7f965511a1) + ) + (fp_text value "1nF/50V" (at 0 1.16 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c0d13846-c847-4b7b-8fd3-9a5515866d4e) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.25 0.25) (thickness 0.04))) + (tstamp 3eba613b-e10f-4032-9b9a-09ff1743b875) + ) + (fp_line (start -0.107836 -0.36) (end 0.107836 -0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4682203b-d080-437e-97fe-7b9b910d2860)) + (fp_line (start -0.107836 0.36) (end 0.107836 0.36) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 64c70d1f-03d5-464e-b820-c0c802aaff00)) + (fp_line (start -0.91 -0.46) (end 0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e86a277f-a360-427b-92ab-0c99f1a3b1ec)) + (fp_line (start -0.91 0.46) (end -0.91 -0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 975ab718-a550-45ff-b631-59d1ccfd2440)) + (fp_line (start 0.91 -0.46) (end 0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6871a9f6-8f29-4c36-baa5-fc3ffca43b8a)) + (fp_line (start 0.91 0.46) (end -0.91 0.46) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 354388bc-94c0-4db3-bed5-f5389c53bab1)) + (fp_line (start -0.5 -0.25) (end 0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 01277a5f-4a64-43d0-bc0c-c901c2fdfb09)) + (fp_line (start -0.5 0.25) (end -0.5 -0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c436aec2-d3fa-4bfb-b407-1b24a85df352)) + (fp_line (start 0.5 -0.25) (end 0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ba1ee9f0-dfe7-47d6-8c5a-8fd0c7e40ed5)) + (fp_line (start 0.5 0.25) (end -0.5 0.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d55604d7-795d-4d41-998a-0497029dd619)) + (pad "1" smd roundrect (at -0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 25cb6ce5-2235-47a1-9dfa-b9a458668416)) + (pad "2" smd roundrect (at 0.48 0 90) (size 0.56 0.62) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 49 "SPI_CS") (pintype "passive") (tstamp 3ffacbe9-3bcc-4199-91b0-361f42226a8c)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0402_1005Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp fe2617d9-3b90-4635-aa6d-f767bfe11433) + (at 42.926 45.085) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/9edcca75-dbcb-4b58-9bb0-0833bb236bf7") + (attr smd) + (fp_text reference "R2" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 465fb923-2c3d-4b35-8c0f-f88a49ed4260) + ) + (fp_text value "1M" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 224c6f26-84e0-451d-aa52-0044a6be7af9) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 6f495cb5-4173-4b47-b834-b81b244fdbd8) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 46da6d54-078b-45dd-b628-387c22e7dd91)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3484f3bb-adbe-43db-9826-1cc647bf84a3)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7cb69b68-04c2-4a21-bf6d-a5f2c690fc9d)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b6b3046d-0ce9-437a-81de-07503bfe5916)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 12541403-02b2-4ef4-94bc-594650e55865)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9f85b4da-eb63-4d61-b5d5-d1525b1782e1)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4fcf4ab6-c2b6-41a1-8c7d-e0ee7327992a)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2e5bd3f1-93d6-4c70-9e8c-aaac1fb8dd56)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5bd03ab8-0880-4803-a380-1d6fc71c93d7)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 105abe46-6bab-41e7-b4f9-9709b87cd322)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 4 "Net-(C2-Pad2)") (pintype "passive") (tstamp 712c89eb-7630-4f0e-80f1-aa6a5938cc99)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 0e8e7496-39fc-44f0-8fa9-feee04559305)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Capacitor_SMD:C_0603_1608Metric" (layer "F.Cu") + (tstamp fe903d5d-d26b-42a0-8b47-27cee9b1665d) + (at 57.912 93.599 -90) + (descr "Capacitor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 76, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "capacitor") + (property "Sheetfile" "smapling.kicad_sch") + (property "Sheetname" "smapling") + (property "ki_description" "Unpolarized capacitor") + (property "ki_keywords" "cap capacitor") + (path "/59322ffe-8759-4986-b2b5-dae42374a58a/eb47d6f7-5fe6-4b89-93c7-8730b10e6ab8") + (attr smd) + (fp_text reference "C28" (at 0 -1.524 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp d1b32046-ed86-4e3f-98e8-06a11b7417f6) + ) + (fp_text value "10nF/50V" (at 0 1.43 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 95eb0a86-0828-4e5b-b0c3-77ea1624b632) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 05e34715-5191-4494-9fb7-9891a1df520f) + ) + (fp_line (start -0.14058 -0.51) (end 0.14058 -0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 414ae0a4-922d-421e-ab50-1351aef45d97)) + (fp_line (start -0.14058 0.51) (end 0.14058 0.51) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 01c9af71-fcaa-42cc-a58f-9a9a37d6546c)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e8b5328-ca47-45ea-ab64-b99504fd35cb)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c4720f9d-eeaa-4088-9e53-54f1bacb997e)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 45c509ce-2f2b-443b-97a1-7fc89cbe9811)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 38373c34-3c15-437a-a2dd-fa137fe4a6b5)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 72fe419e-962a-42a5-9e17-f1cd2c78d8a4)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 283473a7-d933-4553-b466-f6e65a7c7cf6)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 13b360a6-ddb0-4f79-bc12-b07e67d6177b)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 793a6c64-e3c5-4610-857b-b9582de16bd7)) + (pad "1" smd roundrect (at -0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 31 "ADC7") (pintype "passive") (tstamp 31e11ea4-aa5b-4167-b8da-998e7753a16b)) + (pad "2" smd roundrect (at 0.775 0 270) (size 0.9 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pintype "passive") (tstamp 90980106-be8c-4ff0-bb44-8e2883febce2)) + (model "${KICAD6_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (layer "F.Cu") + (tstamp ff228793-ff0e-4c1d-8504-74c1ceaf58e9) + (at 75.438 86.487 90) + (descr "SOIC, 16 Pin (JEDEC MS-012AC, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_16.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py") + (tags "SOIC SO") + (property "Sheetfile" "usb_mcu.kicad_sch") + (property "Sheetname" "usb mcu") + (property "ki_description" "Shift Register, 8-bit, Parallel Load") + (property "ki_keywords" "8 bit shift register parallel load cmos") + (path "/0acd3522-6a68-4f9a-ae0a-d0189b3bb895/5d403c79-ea97-4f60-9ea2-d3a5812f0252") + (attr smd) + (fp_text reference "U8" (at 0 -5.715 90) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 94708264-fd43-49ff-8bbc-928ca55961d2) + ) + (fp_text value "74HC165" (at 0 5.9 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp cb91a835-624e-4d91-a2d0-6404ba5f0759) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.98 0.98) (thickness 0.15))) + (tstamp 7f7ca6b4-c5ee-4ab9-8c96-acb077a40f68) + ) + (fp_line (start 0 -5.06) (end -3.45 -5.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 17b0bae3-1680-4d3e-a563-3cdc2497e8ee)) + (fp_line (start 0 -5.06) (end 1.95 -5.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 324a5025-138c-4c27-a0d9-05fb194c0fdf)) + (fp_line (start 0 5.06) (end -1.95 5.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a7e3bd0d-e45e-405f-9e8b-943d0af1cc66)) + (fp_line (start 0 5.06) (end 1.95 5.06) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e0cbf5bb-482f-46a0-ae1f-738cdf21ba6a)) + (fp_line (start -3.7 -5.2) (end -3.7 5.2) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 250b466b-c4db-40ba-b0f8-008f0b361548)) + (fp_line (start -3.7 5.2) (end 3.7 5.2) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7046f768-4be5-49f8-9850-d4004b983cc9)) + (fp_line (start 3.7 -5.2) (end -3.7 -5.2) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 85e09a4c-5e92-40ea-97a8-ec9f4d15ca1f)) + (fp_line (start 3.7 5.2) (end 3.7 -5.2) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ec68d553-d917-4afd-bd21-080a35b23850)) + (fp_line (start -1.95 -3.975) (end -0.975 -4.95) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9cb583ae-d0be-4d26-8ed4-9d4598b292d4)) + (fp_line (start -1.95 4.95) (end -1.95 -3.975) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6ab68ff0-a047-4a49-ac86-0057682d0ad7)) + (fp_line (start -0.975 -4.95) (end 1.95 -4.95) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c4eafe83-64ea-4d4b-be4f-a7f0a9adb97b)) + (fp_line (start 1.95 -4.95) (end 1.95 4.95) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b6d991c9-a978-4748-b271-729fcd2af12c)) + (fp_line (start 1.95 4.95) (end -1.95 4.95) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp eca7c965-dfcc-4789-aaf4-4da66bb21fca)) + (pad "1" smd roundrect (at -2.475 -4.445 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 49 "SPI_CS") (pinfunction "~{PL}") (pintype "input") (tstamp 7ce07df4-3515-401f-820a-7ba41ca0a559)) + (pad "2" smd roundrect (at -2.475 -3.175 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 50 "SPI_CLK") (pinfunction "CP") (pintype "input") (tstamp 9f725b6e-aba3-4b88-bef6-c0048fd615f0)) + (pad "3" smd roundrect (at -2.475 -1.905 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 45 "X5") (pinfunction "D4") (pintype "input") (tstamp 985b5bd9-2784-434c-9807-7d714c691915)) + (pad "4" smd roundrect (at -2.475 -0.635 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 46 "X6") (pinfunction "D5") (pintype "input") (tstamp 99db2549-1a8d-43b2-80ec-d34fdd0f4eb2)) + (pad "5" smd roundrect (at -2.475 0.635 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 47 "X7") (pinfunction "D6") (pintype "input") (tstamp 6f4398a4-db4d-410f-b725-a773c02e159b)) + (pad "6" smd roundrect (at -2.475 1.905 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 48 "X8") (pinfunction "D7") (pintype "input") (tstamp 36b6dff7-b65c-4a96-abc0-ddeafe06a2e3)) + (pad "7" smd roundrect (at -2.475 3.175 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 235 "unconnected-(U8-~{Q7}-Pad7)") (pinfunction "~{Q7}") (pintype "output+no_connect") (tstamp a0044986-c75c-4688-b13a-9c6d1645d44a)) + (pad "8" smd roundrect (at -2.475 4.445 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 9 "GND") (pinfunction "GND") (pintype "power_in") (tstamp 26ae40f4-4c84-4eeb-984a-96823c47c059)) + (pad "9" smd roundrect (at 2.475 4.445 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 178 "SPI_MISO") (pinfunction "Q7") (pintype "output") (tstamp c0752d90-4e7d-4bea-ae61-fdd869568f8c)) + (pad "10" smd roundrect (at 2.475 3.175 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 214 "Net-(U8-DS)") (pinfunction "DS") (pintype "input") (tstamp 306960ac-fba5-401c-8914-d3ceae29e3f9)) + (pad "11" smd roundrect (at 2.475 1.905 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 41 "X1") (pinfunction "D0") (pintype "input") (tstamp a0251da2-0df6-4aab-97b0-72fed78b3d04)) + (pad "12" smd roundrect (at 2.475 0.635 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 42 "X2") (pinfunction "D1") (pintype "input") (tstamp da8c9caf-0869-45fc-b553-cf2791231341)) + (pad "13" smd roundrect (at 2.475 -0.635 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 43 "X3") (pinfunction "D2") (pintype "input") (tstamp 3ba88289-61ca-4201-adb4-c4250a2038c5)) + (pad "14" smd roundrect (at 2.475 -1.905 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 44 "X4") (pinfunction "D3") (pintype "input") (tstamp 75f3069c-181b-405c-a785-c1d944bd6c46)) + (pad "15" smd roundrect (at 2.475 -3.175 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 215 "Net-(U8-~{CE})") (pinfunction "~{CE}") (pintype "input") (tstamp 20637163-54aa-438c-a801-cfa3c121222f)) + (pad "16" smd roundrect (at 2.475 -4.445 90) (size 1.95 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 39 "WCH_VCC") (pinfunction "VCC") (pintype "power_in") (tstamp 976b237f-89b9-4cfe-8155-1f0296642887)) + (model "${KICAD6_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-16_3.9x9.9mm_P1.27mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_SMD:R_0603_1608Metric" (layer "F.Cu") + (tstamp ffc69181-9670-4d03-89b1-5aa274cb0847) + (at 42.926 37.846) + (descr "Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator") + (tags "resistor") + (property "Sheetfile" "frontend.kicad_sch") + (property "Sheetname" "frontend") + (property "ki_description" "Resistor") + (property "ki_keywords" "R res resistor") + (path "/9756da76-9072-42c4-9684-c484c3c1a68e/a10a8cef-8017-4c9e-b4be-8885a57073b4") + (attr smd) + (fp_text reference "R9" (at 0 -1.43) (layer "F.SilkS") hide + (effects (font (size 0.762 0.762) (thickness 0.1524))) + (tstamp 79846200-6663-4df7-86af-16c400594e18) + ) + (fp_text value "200K" (at 0 1.43) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 36ba11ca-00d5-4efe-93dd-6d4eb87bbb7c) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 0.4 0.4) (thickness 0.06))) + (tstamp 37c78394-f516-40a2-9e72-f54f91206555) + ) + (fp_line (start -0.237258 -0.5225) (end 0.237258 -0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d705748-aca6-4187-9a29-cb7b4b9e5251)) + (fp_line (start -0.237258 0.5225) (end 0.237258 0.5225) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f158347a-ac08-4389-958f-5ae541351ace)) + (fp_line (start -1.48 -0.73) (end 1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d1c51bcf-8124-4d55-897d-1c2a789b3d40)) + (fp_line (start -1.48 0.73) (end -1.48 -0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2aec07d3-f5cf-428a-b93f-5cd74cc18955)) + (fp_line (start 1.48 -0.73) (end 1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f6552af5-3171-4a90-9cf7-c103b305ee24)) + (fp_line (start 1.48 0.73) (end -1.48 0.73) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bc3ac514-4cc9-4879-9cb1-61d21dbc6c16)) + (fp_line (start -0.8 -0.4125) (end 0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3644734b-cea1-4a34-b24e-c2e566a76c3b)) + (fp_line (start -0.8 0.4125) (end -0.8 -0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 248dce32-f6e6-4f6e-aacc-6f9d66e6ed65)) + (fp_line (start 0.8 -0.4125) (end 0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a65031c5-a97b-493c-bdda-0caab4f039e5)) + (fp_line (start 0.8 0.4125) (end -0.8 0.4125) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f5e40525-6259-46bc-9e32-8616ef25b945)) + (pad "1" smd roundrect (at -0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 198 "Net-(U1A--)") (pintype "passive") (tstamp 504ba10e-c71f-4b80-ba37-43d0da18e4e7)) + (pad "2" smd roundrect (at 0.825 0) (size 0.8 0.95) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 126 "Net-(R10-Pad2)") (pintype "passive") (tstamp f827329e-2826-483e-8a96-1b1a53bd96b0)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0603_1608Metric.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (gr_line (start 102.108 27.178) (end 93.853 27.178) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 03a2f86f-96e6-4501-bfcb-f2b6226ad8bb)) + (gr_line (start 98.298 34.798) (end 100.584 34.798) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp 0474fced-4b4b-4032-a6d7-7e63b35c3092)) + (gr_line (start 64.77 115.57) (end 64.77 108.458) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 0ea98e31-d332-4a18-9ecc-7aab042e0f2f)) + (gr_line (start 80.772 71.12) (end 80.772 76.454) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 1391f6d8-02ed-41e2-94af-ecf4f79bdb6a)) + (gr_line (start 59.436 52.832) (end 92.202 52.832) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 13df9598-7db2-4937-8f87-09b764cd0ce3)) + (gr_line (start 98.298 34.798) (end 98.298 28.575) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp 19ebd954-e691-4d89-914a-ecc60e2ce44f)) + (gr_line (start 100.584 41.656) (end 100.584 35.433) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp 23a0c66d-9068-4fc4-95f9-b71f3a9c857d)) + (gr_line (start 98.298 41.656) (end 98.298 35.433) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp 289fc253-4069-407e-8381-f49da8790fc9)) + (gr_line (start 84.963 71.12) (end 84.963 102.616) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 356895bc-dce9-4d89-950d-88ae1b50d665)) + (gr_line (start 80.772 76.454) (end 59.436 76.454) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 3a4a2bbc-4cfd-4bb6-b308-1ea30a492633)) + (gr_line (start 36.83 106.172) (end 36.83 32.004) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 43b420b9-e2e1-48d5-a125-be2efd2c43a2)) + (gr_line (start 92.202 52.832) (end 92.202 22.606) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 46220a13-d092-45c9-885c-36eb1f26d1d5)) + (gr_line (start 93.853 50.165) (end 102.108 50.165) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 546fa35e-98ae-491d-93cf-00a8814db225)) + (gr_line (start 36.83 106.172) (end 59.436 106.172) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 54b63ef5-2796-4eca-b9e2-ee6de65e28d3)) + (gr_line (start 80.772 71.12) (end 84.963 71.12) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 590f18b7-758e-4cbf-898c-83ac7e4b5a12)) + (gr_line (start 55.626 22.606) (end 55.626 34.798) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 5c336b67-68e5-4a05-ba86-c5cd98aa6cc2)) + (gr_line (start 84.963 102.616) (end 81.534 102.616) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 6ca6bcfb-3a78-4d42-a1dc-175ff3a02a09)) + (gr_line (start 102.108 50.165) (end 102.108 27.178) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 769d51f0-d136-4103-b947-9465b204f7a4)) + (gr_line (start 59.436 106.172) (end 59.436 52.832) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 7a7f1032-c3be-4100-8c1b-aaf5a0e2ba23)) + (gr_line (start 55.626 32.004) (end 36.83 32.004) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 8167459b-a9d1-4f95-8a6a-5293de433940)) + (gr_line (start 98.298 41.656) (end 100.584 41.656) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp 83104543-63bc-44ea-bf76-cf29ff44ffe2)) + (gr_line (start 93.853 27.178) (end 93.853 50.165) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp 8f45af2a-3b2d-4764-875c-4916d48f21c0)) + (gr_line (start 59.436 34.798) (end 55.626 34.798) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp af90f631-66be-4837-8ff6-e7c452433bc1)) + (gr_line (start 59.436 34.798) (end 59.436 52.832) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp dce81b56-2887-4701-8cfd-649b806657c5)) + (gr_line (start 92.202 22.606) (end 55.626 22.606) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp e471cd7d-bd3e-4b4b-8974-c59bcfc34f9c)) + (gr_line (start 81.534 102.616) (end 81.534 115.57) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp edeecbea-2b52-429a-92be-ededaed06438)) + (gr_line (start 100.584 35.433) (end 98.298 35.433) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp efe60fcd-b2a1-4c35-8efd-5f55e2c63fd8)) + (gr_line (start 100.584 28.575) (end 98.298 28.575) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp f5f30027-91b3-428d-a9ee-be4622a78fa2)) + (gr_line (start 81.534 115.57) (end 64.77 115.57) + (stroke (width 0.254) (type default)) (layer "F.SilkS") (tstamp f7963ad2-68a9-4791-beb5-c6974121366a)) + (gr_line (start 100.584 34.798) (end 100.584 28.575) + (stroke (width 0.15) (type default)) (layer "F.SilkS") (tstamp ff46623e-889f-4e87-bff5-e467d25c23d3)) + (gr_rect (start 37.902 109.276) (end 44.902 116.276) + (stroke (width 0.15) (type solid)) (fill solid) (layer "F.Mask") (tstamp 3aa38677-8753-4adb-bb4d-40dffa0f9850)) + (gr_circle (center 28 24) (end 29.6 24) + (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp 1302c6a1-31e5-4189-94b8-04a6b6a749ef)) + (gr_line (start 26 20) (end 24 22) + (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 188ea0ab-6a23-4036-ab62-3fe2f3d75586)) + (gr_line (start 24 118) (end 26 120) + (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 33ceffb5-6ec4-419b-8639-0f41f8a94640)) + (gr_line (start 107 120) (end 109 118) + (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 34e57118-23b4-4404-a63f-58023d07b022)) + (gr_circle (center 105 116) (end 106.6 116) + (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp 54248232-167b-47a9-8258-1c258814445a)) + (gr_circle (center 28 116) (end 29.6 116) + (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp 616f5635-ee10-474c-9eba-32f818f1ac4f)) + (gr_line (start 109 118) (end 109 22) + (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 6815268d-9f6c-4411-977e-911694503a20)) + (gr_line (start 26 20) (end 107 20) + (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 9074de09-4508-4915-bc6d-9b3c98595c8c)) + (gr_line (start 24 22) (end 24 118) + (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp a8cecdcf-3f42-43d7-af09-93c5a7f6bfe2)) + (gr_line (start 109 22) (end 107 20) + (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp c468b9cd-2977-4486-acc7-7d3b1a305659)) + (gr_line (start 26 120) (end 107 120) + (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp d706a456-c9b3-4717-93f3-12c5ba86fad6)) + (gr_circle (center 105 24) (end 106.6 24) + (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp e7aee6ac-8a12-43f1-a630-216fc6cd2558)) + (gr_text "36P" (at 97.028 108.712) (layer "F.SilkS") (tstamp 02b4ae31-ea77-4dde-b25f-88e61e4eea83) + (effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "USB" (at 61.214 78.74) (layer "F.SilkS") (tstamp 2388feff-d8db-41d9-acd6-06eb2e29abbd) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "Analog Dragon" (at 66.802 64.135 90) (layer "F.SilkS") (tstamp 26a285d7-1ed0-45aa-b298-7989d49dc2c0) + (effects (font (size 1.143 0.762) (thickness 0.1778) bold) (justify left bottom)) + ) + (gr_text "-5V" (at 57.785 115.316) (layer "F.SilkS") (tstamp 2c5d786e-4367-4412-9fb7-b7413ce24548) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "GROUP A" (at 99.568 38.608 90) (layer "F.SilkS") (tstamp 2c64b448-1082-4001-9c2f-e67704711a9d) + (effects (font (size 1.27 0.8128) (thickness 0.2032) bold)) + ) + (gr_text "PWR" (at 99.441 48.387) (layer "F.SilkS") (tstamp 39141720-ec69-4138-8d8f-489bc555c765) + (effects (font (size 1.016 0.889) (thickness 0.2032) bold)) + ) + (gr_text "FND" (at 99.441 43.434) (layer "F.SilkS") (tstamp 3da0372b-6b0a-4eab-999b-34913110776b) + (effects (font (size 1.016 0.889) (thickness 0.2032) bold)) + ) + (gr_text "SENSOR INPUT" (at 25.019 47.625 270) (layer "F.SilkS") (tstamp 3f3ae4e6-819f-4c6f-9018-8542d57c6abe) + (effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "USB" (at 99.441 45.085) (layer "F.SilkS") (tstamp 53f7dd9d-652f-4ad9-b6ca-a9592b7a55da) + (effects (font (size 1.016 0.889) (thickness 0.2032) bold)) + ) + (gr_text "SAMPLING" (at 83.82 51.816) (layer "F.SilkS") (tstamp 55471a6d-e728-4d01-b813-69941414259d) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "4" (at 24.638 41.148 270) (layer "F.SilkS") (tstamp 5e34200b-6516-45aa-93f6-b0a454fcf445) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "TAIKO USB" (at 76.454 119.38) (layer "F.SilkS") (tstamp 5f9ab7f8-077a-4c80-b5ec-45323847a456) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "SETTINGS USB" (at 86.995 20.574 180) (layer "F.SilkS") (tstamp 72e72d56-1ffa-45b6-9a5d-30b408288e47) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "GND" (at 61.087 118.491) (layer "F.SilkS") (tstamp 74807813-2549-4940-bb24-3762b83b790d) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "5" (at 24.638 97.536 270) (layer "F.SilkS") (tstamp 77f65279-876d-4e1a-b572-9e64fc2acb2c) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "Ver 2.0" (at 66.802 73.152 90) (layer "F.SilkS") (tstamp 871fc09c-b8d5-4879-b84e-b02eafcb15b8) + (effects (font (size 1.143 0.762) (thickness 0.1778) bold) (justify left bottom)) + ) + (gr_text "16P" (at 91.44 108.712) (layer "F.SilkS") (tstamp 87368a80-0f2c-4e1a-81ed-64b942cd0f63) + (effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "SERVICE BUTTONS" (at 107.696 105.41 90) (layer "F.SilkS") (tstamp 9314a087-82ae-44ef-bab1-9b2ee40e91b4) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "FRONT-END" (at 38.1 33.782) (layer "F.SilkS") (tstamp 97781c3a-cc15-43c4-8178-e10e95ed3e8c) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "1" (at 24.638 60.452 270) (layer "F.SilkS") (tstamp a08926e6-86f9-45d9-b160-a91eb8e8e0ad) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "8" (at 24.638 105.41 270) (layer "F.SilkS") (tstamp a3b75dde-5f87-458e-bdbe-ab6c419b46de) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "8" (at 24.638 78.486 270) (layer "F.SilkS") (tstamp a8f498ad-8b4f-4b97-b09b-1f87e069b598) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "1" (at 24.638 33.274 270) (layer "F.SilkS") (tstamp bc0080fa-d7d2-4c42-a48f-9f24b03b544e) + (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "+5V" (at 61.087 111.252) (layer "F.SilkS") (tstamp c308f875-2aac-4701-954a-f64c99823dca) + (effects (font (size 1 1) (thickness 0.2032) bold) (justify left bottom)) + ) + (gr_text "jicjicjicjic" (at 28.6 89.1 90) (layer "F.SilkS") (tstamp cc3fb8a9-53e6-4d0f-b32a-fec311b7abbf) + (effects (font (size 0.8 0.8) (thickness 0.15)) (justify left bottom)) + ) + (gr_text "GROUP A" (at 99.568 31.75 90) (layer "F.SilkS") (tstamp db4ee901-7c00-480f-967c-3dec97949532) + (effects (font (size 1.27 0.8128) (thickness 0.2032) bold)) + ) + (gr_text "ERR" (at 99.441 46.736) (layer "F.SilkS") (tstamp e24d304f-9e41-47c3-a446-f216f2a84056) + (effects (font (size 1.016 0.889) (thickness 0.2032) bold)) + ) + (gr_text "Signal Input Board" (at 64.262 73.406 90) (layer "F.SilkS") (tstamp eb366973-2311-4841-a96e-a6d1bb3466df) + (effects (font (size 1.524 1.27) (thickness 0.254) bold) (justify left bottom)) + ) + (gr_text "40P" (at 102.362 108.712) (layer "F.SilkS") (tstamp ed22b540-f59e-4bef-8537-f1bdcdafa7bb) + (effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom)) + ) + + (segment (start 33.886 56.411) (end 33.730021 56.566979) (width 0.381) (layer "F.Cu") (net 1) (tstamp 1b405a84-a729-4bd1-8f09-82dae0ae8260)) + (segment (start 34.925 46.049455) (end 34.925 53.902633) (width 0.381) (layer "F.Cu") (net 1) (tstamp 3ffb6f04-bc0c-4b65-a5a4-d497209b7e47)) + (segment (start 37.211 42.418) (end 35.876381 43.752619) (width 0.381) (layer "F.Cu") (net 1) (tstamp 6b00be52-eb2f-4c99-aa18-8f74e67a8049)) + (segment (start 38.214 42.418) (end 37.211 42.418) (width 0.381) (layer "F.Cu") (net 1) (tstamp ac672c1d-5b3e-47dc-93de-523510af062e)) + (segment (start 32.733 58.974) (end 32.733 61.11) (width 0.381) (layer "F.Cu") (net 1) (tstamp d93a13c3-31db-4e0a-bfae-f2f15bd821ea)) + (via (at 37.211 42.418) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 1) (tstamp 26f5c733-9068-44c4-a0c1-18664b004969)) + (arc (start 34.925 53.902633) (mid 34.654973 55.260152) (end 33.886 56.411) (width 0.381) (layer "F.Cu") (net 1) (tstamp 0dd54702-5d50-4275-ba31-3b20a438fbd7)) + (arc (start 35.876381 43.752619) (mid 35.172256 44.806416) (end 34.925 46.049455) (width 0.381) (layer "F.Cu") (net 1) (tstamp a7866863-5699-412d-8a83-71eaf3d7664e)) + (arc (start 33.730021 56.566979) (mid 32.992118 57.671329) (end 32.733 58.974) (width 0.381) (layer "F.Cu") (net 1) (tstamp b83fd67d-8398-46b5-b016-c88660f4bf64)) + (segment (start 36.83 37.592) (end 36.83 41.498185) (width 0.381) (layer "B.Cu") (net 1) (tstamp 27302b8c-add8-4a7b-89af-98cab00ee6f4)) + (segment (start 33.351948 34.19) (end 32.7525 34.19) (width 0.381) (layer "B.Cu") (net 1) (tstamp 861750f7-5bc4-48b5-b173-c6cb2bab7319)) + (segment (start 35.433 35.052) (end 36.021777 35.640777) (width 0.381) (layer "B.Cu") (net 1) (tstamp aff528bd-1806-4078-9e52-e34b13587210)) + (arc (start 36.83 41.498185) (mid 36.929018 41.995985) (end 37.211 42.418) (width 0.381) (layer "B.Cu") (net 1) (tstamp 3676f32b-fdde-46cc-9042-004f9f85a113)) + (arc (start 35.433 35.052) (mid 34.478206 34.414027) (end 33.351948 34.19) (width 0.381) (layer "B.Cu") (net 1) (tstamp 9545dfc9-c230-403e-8951-d2ea66b3f7ae)) + (arc (start 36.021777 35.640777) (mid 36.619949 36.536006) (end 36.83 37.592) (width 0.381) (layer "B.Cu") (net 1) (tstamp a402825d-8215-481c-9d89-e2d84948933c)) + (segment (start 39.9265 39.751) (end 42.101 39.751) (width 0.508) (layer "F.Cu") (net 2) (tstamp 20432f69-4b2d-4e3b-b908-85a2a7b070b9)) + (segment (start 41.021 41.91) (end 41.021 39.751) (width 0.508) (layer "F.Cu") (net 2) (tstamp 4dbcc16f-9008-4cd2-804a-fbb03e00e69a)) + (segment (start 42.101 41.529) (end 42.101 39.751) (width 0.508) (layer "F.Cu") (net 2) (tstamp ab7d0e86-bff7-4139-8b7d-cbd6f5799453)) + (segment (start 39.764 42.418) (end 40.513 42.418) (width 0.508) (layer "F.Cu") (net 2) (tstamp d8961d1b-83c7-4349-92e8-29c6b9bcc741)) + (segment (start 40.513 42.418) (end 41.021 41.91) (width 0.508) (layer "F.Cu") (net 2) (tstamp dd4405c7-4dac-4fc0-97c1-3afe941aae6f)) + (segment (start 37.211 44.196) (end 38.214 44.196) (width 0.381) (layer "F.Cu") (net 3) (tstamp 1470f9f8-d1d7-4d99-a1aa-6ac42bcb86f8)) + (segment (start 36.195 46.33563) (end 36.195 54.627435) (width 0.381) (layer "F.Cu") (net 3) (tstamp 3eae7b60-3dcf-4c4b-a0f7-c70fe887cf25)) + (segment (start 33.909 63.038) (end 33.695809 63.251191) (width 0.381) (layer "F.Cu") (net 3) (tstamp 60a843aa-cf66-48fb-8937-f81daf5dd342)) + (segment (start 37.211 44.196) (end 36.989527 44.417473) (width 0.381) (layer "F.Cu") (net 3) (tstamp 7293a14f-c842-49ae-a0a1-041e8bb81213)) + (segment (start 34.417 58.919906) (end 34.417 61.81158) (width 0.381) (layer "F.Cu") (net 3) (tstamp ad91951c-872e-4532-ba43-41d49c7983fd)) + (via (at 37.211 44.196) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 3) (tstamp 75c21b5b-a69a-409e-a5ac-ae5396c08d01)) + (arc (start 36.989527 44.417473) (mid 36.401491 45.29753) (end 36.195 46.33563) (width 0.381) (layer "F.Cu") (net 3) (tstamp 2f3a1221-41ae-4881-8f1c-06d96f2a5d59)) + (arc (start 36.195 54.627435) (mid 35.941475 55.901987) (end 35.2195 56.9825) (width 0.381) (layer "F.Cu") (net 3) (tstamp 3479e2fe-d398-4588-9555-48b69dc61f73)) + (arc (start 33.695809 63.251191) (mid 33.254069 63.546353) (end 32.733 63.65) (width 0.381) (layer "F.Cu") (net 3) (tstamp 5b6af06e-a0f1-408f-b986-85a70b8925b5)) + (arc (start 34.417 61.81158) (mid 34.284975 62.475314) (end 33.909 63.038) (width 0.381) (layer "F.Cu") (net 3) (tstamp 7305bce9-e154-4372-ada8-3074bfb809d9)) + (arc (start 35.2195 56.9825) (mid 34.625563 57.871389) (end 34.417 58.919906) (width 0.381) (layer "F.Cu") (net 3) (tstamp 76b37275-9e34-4e30-bcb7-d3e871b0eaed)) + (segment (start 34.9885 37.5285) (end 35.2425 37.7825) (width 0.381) (layer "B.Cu") (net 3) (tstamp 37a68bb2-b86f-4d5b-8eb2-033f8a73e0bf)) + (segment (start 32.7525 36.73) (end 33.060751 36.73) (width 0.381) (layer "B.Cu") (net 3) (tstamp 7d434100-d963-48c2-992d-1f107b8331b1)) + (segment (start 35.687 38.855617) (end 35.687 41.684172) (width 0.381) (layer "B.Cu") (net 3) (tstamp 9566091a-b98d-4867-8985-dab9308448e0)) + (segment (start 36.3855 43.3705) (end 37.211 44.196) (width 0.381) (layer "B.Cu") (net 3) (tstamp b98260d6-f529-4289-8af4-0d7c49a1e1c3)) + (arc (start 35.2425 37.7825) (mid 35.571478 38.27485) (end 35.687 38.855617) (width 0.381) (layer "B.Cu") (net 3) (tstamp 29878c20-f33b-45be-93c5-038a8be95d74)) + (arc (start 35.687 41.684172) (mid 35.868534 42.596807) (end 36.3855 43.3705) (width 0.381) (layer "B.Cu") (net 3) (tstamp 67426a98-4030-4dbf-bf19-a38c578d8781)) + (arc (start 33.060751 36.73) (mid 34.104042 36.937523) (end 34.9885 37.5285) (width 0.381) (layer "B.Cu") (net 3) (tstamp 81e934f7-e1e9-48ab-ae08-4e0272c9653d)) + (segment (start 39.764 44.196) (end 40.513 44.196) (width 0.508) (layer "F.Cu") (net 4) (tstamp 02bfc4dc-199e-4a02-8664-4e1b8c0a9a72)) + (segment (start 40.513 44.196) (end 41.021 44.704) (width 0.508) (layer "F.Cu") (net 4) (tstamp 27102d15-57b9-4b53-a0b4-8fd0512f4d68)) + (segment (start 41.021 46.863) (end 42.101 46.863) (width 0.508) (layer "F.Cu") (net 4) (tstamp 2a895f11-c158-4370-87d0-ff77a9a96bc3)) + (segment (start 41.021 44.704) (end 41.021 46.863) (width 0.508) (layer "F.Cu") (net 4) (tstamp 90487c7a-b3d2-4857-8085-cf1aa31cb01c)) + (segment (start 42.101 45.085) (end 42.101 46.863) (width 0.508) (layer "F.Cu") (net 4) (tstamp 90e06e19-7303-4d3e-862e-14bdac8bd639)) + (segment (start 39.9265 46.863) (end 41.021 46.863) (width 0.508) (layer "F.Cu") (net 4) (tstamp b4665d32-4879-4382-a579-f791e0922387)) + (segment (start 34.933783 63.989218) (end 32.733 66.19) (width 0.381) (layer "F.Cu") (net 5) (tstamp 76fd471d-11df-4387-b3a2-9d45db7be65e)) + (segment (start 37.211 60.198) (end 36.004343 61.404657) (width 0.381) (layer "F.Cu") (net 5) (tstamp c2285f1f-fee6-41ea-8208-b8973a8db1b8)) + (segment (start 38.214 60.198) (end 37.211 60.198) (width 0.381) (layer "F.Cu") (net 5) (tstamp d5b8850e-ec23-441d-9e11-18a5299d64b1)) + (via (at 37.211 60.198) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 5) (tstamp 759f1719-5290-4b5c-86be-f28903d4d533)) + (arc (start 35.433 62.784) (mid 35.303258 63.436259) (end 34.933783 63.989218) (width 0.381) (layer "F.Cu") (net 5) (tstamp 20f0698f-07d6-4897-8dd6-2b8f79948c20)) + (arc (start 36.004343 61.404657) (mid 35.581487 62.037505) (end 35.433 62.784) (width 0.381) (layer "F.Cu") (net 5) (tstamp de9b0d29-4a79-4794-bfb3-7fff9d6fe5d1)) + (segment (start 36.576 58.664988) (end 36.576 47.790245) (width 0.381) (layer "B.Cu") (net 5) (tstamp 034187e9-dd66-429b-88ed-d252e437dec9)) + (segment (start 35.448875 45.069125) (end 35.329772 44.950022) (width 0.381) (layer "B.Cu") (net 5) (tstamp 77e3eb67-869f-4fd8-86e3-b248070fcdfd)) + (segment (start 34.544 43.053) (end 34.544 40.855157) (width 0.381) (layer "B.Cu") (net 5) (tstamp bc193968-7fa3-40fb-9465-df6fdfd8bd64)) + (arc (start 34.544 40.855157) (mid 34.434444 40.30438) (end 34.122453 39.837453) (width 0.381) (layer "B.Cu") (net 5) (tstamp 2d1bb9ba-2f40-4986-a959-156e80c04c61)) + (arc (start 36.576 47.790245) (mid 36.283069 46.317585) (end 35.448875 45.069125) (width 0.381) (layer "B.Cu") (net 5) (tstamp 353f9e76-0587-41c7-a5ca-25bce13e2208)) + (arc (start 37.211 60.198) (mid 36.741032 59.494649) (end 36.576 58.664988) (width 0.381) (layer "B.Cu") (net 5) (tstamp 6d18cef4-709a-470a-935e-f4f520d2bf20)) + (arc (start 35.329772 44.950022) (mid 34.748216 44.079661) (end 34.544 43.053) (width 0.381) (layer "B.Cu") (net 5) (tstamp deb048bc-bdd4-4bf8-a24f-28a2f66d2734)) + (arc (start 34.122453 39.837453) (mid 33.493913 39.417476) (end 32.7525 39.27) (width 0.381) (layer "B.Cu") (net 5) (tstamp e38ffd9b-df29-4a23-b7a0-8f2607f36454)) + (segment (start 42.101 59.309) (end 42.101 57.531) (width 0.508) (layer "F.Cu") (net 6) (tstamp 406f7b9c-2864-49f1-bde6-f304b791b337)) + (segment (start 41.021 59.69) (end 41.021 57.531) (width 0.508) (layer "F.Cu") (net 6) (tstamp 7c46f6ec-d270-442d-8d58-e610ed40430c)) + (segment (start 39.764 60.198) (end 40.513 60.198) (width 0.508) (layer "F.Cu") (net 6) (tstamp 8ae2707f-36a2-4214-9671-531a854f619e)) + (segment (start 40.513 60.198) (end 41.021 59.69) (width 0.508) (layer "F.Cu") (net 6) (tstamp 93f3dc72-2d4a-492f-a547-d62c10626b1b)) + (segment (start 39.9265 57.531) (end 42.101 57.531) (width 0.508) (layer "F.Cu") (net 6) (tstamp a8719caa-15a1-4aad-95c7-c01628225150)) + (segment (start 38.214 61.976) (end 37.211 61.976) (width 0.381) (layer "F.Cu") (net 7) (tstamp 69fbe520-f960-4956-be92-52bbd426329e)) + (segment (start 32.733 68.73) (end 35.590572 65.872427) (width 0.381) (layer "F.Cu") (net 7) (tstamp 852f2d5d-5556-43e1-91c4-ff9b44f2a81a)) + (via (at 37.211 61.976) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 7) (tstamp aac87d8d-e774-44e7-a6f5-9e32c1cea868)) + (arc (start 35.590572 65.872427) (mid 36.225902 64.92159) (end 36.449 63.8) (width 0.381) (layer "F.Cu") (net 7) (tstamp a15604b9-98c5-47e2-a9e8-7a8f0d3226b9)) + (arc (start 37.199948 61.987052) (mid 36.644165 62.818839) (end 36.449 63.8) (width 0.381) (layer "F.Cu") (net 7) (tstamp b8472640-4a6c-4bda-9ae4-4742a5f7cbce)) + (segment (start 36.203142 60.964976) (end 37.211 61.972834) (width 0.381) (layer "B.Cu") (net 7) (tstamp 0fbf0ad0-b89b-441d-bab2-5516b6658ba7)) + (segment (start 32.7525 41.81) (end 32.7525 43.561) (width 0.381) (layer "B.Cu") (net 7) (tstamp 3b3da3ac-03e4-4191-9ba6-2bf02690aefb)) + (segment (start 33.551177 45.489177) (end 34.3535 46.2915) (width 0.381) (layer "B.Cu") (net 7) (tstamp 65ca4a32-ef40-42d3-aa49-6bec0e906104)) + (segment (start 35.433 48.897643) (end 35.433 58.940765) (width 0.381) (layer "B.Cu") (net 7) (tstamp d7538c89-4ca6-4051-8273-191bd91822b2)) + (arc (start 32.7525 43.561) (mid 32.960069 44.604522) (end 33.551177 45.489177) (width 0.381) (layer "B.Cu") (net 7) (tstamp 5923188a-6cd7-4c6b-a9d7-33308ba68d21)) + (arc (start 34.3535 46.2915) (mid 35.152447 47.487208) (end 35.433 48.897643) (width 0.381) (layer "B.Cu") (net 7) (tstamp ac4dc412-164b-4962-91a4-6599fa1e8974)) + (arc (start 35.433 58.940765) (mid 35.632571 60.023195) (end 36.203142 60.964976) (width 0.381) (layer "B.Cu") (net 7) (tstamp f28fe59d-b176-40db-9020-f9be7712bac7)) + (segment (start 42.101 62.865) (end 42.101 64.643) (width 0.508) (layer "F.Cu") (net 8) (tstamp 27d2aec2-60b8-46bf-bfd9-bafc69cec415)) + (segment (start 40.513 61.976) (end 41.021 62.484) (width 0.508) (layer "F.Cu") (net 8) (tstamp 6e34218f-486c-4a9b-bbb0-3e6c91cbfcdb)) + (segment (start 41.021 62.484) (end 41.021 64.643) (width 0.508) (layer "F.Cu") (net 8) (tstamp 7c7f90cc-f882-46fb-a8ea-fded81296697)) + (segment (start 39.764 61.976) (end 40.513 61.976) (width 0.508) (layer "F.Cu") (net 8) (tstamp ab444e80-8f9e-44cd-b541-f7d59bb999a0)) + (segment (start 39.9265 64.643) (end 42.101 64.643) (width 0.508) (layer "F.Cu") (net 8) (tstamp faaf4f72-d232-4e09-ac35-84b39fc40c6c)) + (segment (start 35.306 55.499) (end 35.052 55.753) (width 0.254) (layer "F.Cu") (net 9) (tstamp 00a83933-9caf-4247-a49c-8de01d9d609f)) + (segment (start 79.883 91.1098) (end 79.9084 91.1352) (width 0.254) (layer "F.Cu") (net 9) (tstamp 01da9fc8-f289-4e5a-ab0b-752557cbde24)) + (segment (start 35.56 45.339) (end 35.56 54.864) (width 0.254) (layer "F.Cu") (net 9) (tstamp 03bd2c64-b78a-4102-a2b0-4d2cd2adf212)) + (segment (start 44.577 62.865) (end 44.831 62.611) (width 0.508) (layer "F.Cu") (net 9) (tstamp 06e44def-3825-44bb-968f-7727c15143cb)) + (segment (start 35.433 75.438) (end 34.29 74.295) (width 0.254) (layer "F.Cu") (net 9) (tstamp 083b4dec-f8b3-4c44-bbdf-ff2a9544dc1f)) + (segment (start 46.547 59.817) (end 45.085 59.817) (width 0.508) (layer "F.Cu") (net 9) (tstamp 08840276-6c7a-49f2-b4d3-d9084d7e190f)) + (segment (start 55.893 61.087) (end 56.896 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp 09c92577-0119-4c4a-a54f-6e78b1f2eefd)) + (segment (start 73.139 34.036) (end 72.2376 34.036) (width 0.254) (layer "F.Cu") (net 9) (tstamp 09cbec8b-84e4-4378-905c-9bccdf65bf7c)) + (segment (start 46.355 32.258) (end 40.64 32.258) (width 0.381) (layer "F.Cu") (net 9) (tstamp 0a676f7e-817e-402d-9d57-23cd6f307d5d)) + (segment (start 36.814593 61.356408) (end 36.576 61.595) (width 0.254) (layer "F.Cu") (net 9) (tstamp 0ae61efc-b6dc-45e3-b655-50d0891dafd7)) + (segment (start 74.8515 37.653) (end 74.8515 38.4325) (width 0.508) (layer "F.Cu") (net 9) (tstamp 0b203143-448e-48f2-a6b8-2e6841cd4165)) + (segment (start 57.912 76.594) (end 57.912 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp 0b6941d4-f494-4da7-a9c9-ac9d8abe5c64)) + (segment (start 35.433 64.516) (end 34.29 65.659) (width 0.254) (layer "F.Cu") (net 9) (tstamp 0f365e82-5247-454a-acff-ae74243b9f58)) + (segment (start 85.979 31.115) (end 87.344 29.75) (width 0.254) (layer "F.Cu") (net 9) (tstamp 1270f34c-a528-4710-bfdd-480d7f0c166d)) + (segment (start 34.8615 56.4515) (end 34.8615 56.1975) (width 0.254) (layer "F.Cu") (net 9) (tstamp 12c0a92c-0b54-4b37-aeb5-f36bf8334621)) + (segment (start 75.438 92.8624) (end 75.438 90.932) (width 0.508) (layer "F.Cu") (net 9) (tstamp 168ff1e1-1d2f-409c-9436-abae63d75cd8)) + (segment (start 80.899 35.941) (end 80.899 37.084) (width 0.254) (layer "F.Cu") (net 9) (tstamp 17932bad-1ffb-4a90-94a6-1131e0005def)) + (segment (start 73.139 34.9882) (end 73.152 35.0012) (width 0.254) (layer "F.Cu") (net 9) (tstamp 1a2b7873-a856-4284-b27c-8f53591ffeb0)) + (segment (start 74.689 39.37) (end 74.689 38.595) (width 0.508) (layer "F.Cu") (net 9) (tstamp 1ce7615e-42c3-4f96-aa9b-cb963ade0f50)) + (segment (start 75.438 92.2004) (end 75.438 92.837) (width 0.508) (layer "F.Cu") (net 9) (tstamp 1e0659ec-f940-4bd1-8dba-86a170eb25a4)) + (segment (start 61.341 26.924) (end 61.087 26.67) (width 0.254) (layer "F.Cu") (net 9) (tstamp 1ed8b3c4-6af1-44c8-b7a7-9bc57404e037)) + (segment (start 43.751 45.085) (end 44.577 45.085) (width 0.508) (layer "F.Cu") (net 9) (tstamp 1f84cb52-a0cb-4a0f-886b-c860ae0667bd)) + (segment (start 52.324 113.678) (end 52.324 114.808) (width 0.508) (layer "F.Cu") (net 9) (tstamp 2094e694-de1f-44c4-bcfd-aea9207b321d)) + (segment (start 65.917 40.263) (end 65.405 39.751) (width 0.254) (layer "F.Cu") (net 9) (tstamp 20aac42e-7f6c-468a-8038-09fdd1260e88)) + (segment (start 59.6265 92.1385) (end 59.563 92.202) (width 0.508) (layer "F.Cu") (net 9) (tstamp 217c00d3-7010-4022-bd8a-e7cca3109b1f)) + (segment (start 72.2145 99.2355) (end 72.39 99.06) (width 0.381) (layer "F.Cu") (net 9) (tstamp 224f612f-0573-40ba-9f5a-926a1b565152)) + (segment (start 55.893 43.307) (end 56.896 43.307) (width 0.508) (layer "F.Cu") (net 9) (tstamp 24f1d73e-aee4-48bc-889c-6ea006fbb592)) + (segment (start 58.039 27.051) (end 58.547 26.543) (width 0.254) (layer "F.Cu") (net 9) (tstamp 254057a1-0e0b-45ff-a1a7-c92944a5c8d7)) + (segment (start 74.243 112.541) (end 74.243 111.05) (width 0.508) (layer "F.Cu") (net 9) (tstamp 25d07935-8690-43a3-9b8c-6fbc7fca14c1)) + (segment (start 45.085 44.577) (end 46.547 44.577) (width 0.508) (layer "F.Cu") (net 9) (tstamp 27e7d30c-c345-46e4-91c8-6f5834c0c8ac)) + (segment (start 60.579 75.057) (end 60.579 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp 28b18ff5-650d-46d0-8cfd-e30d5349b8e4)) + (segment (start 44.831 62.611) (end 45.085 62.357) (width 0.508) (layer "F.Cu") (net 9) (tstamp 2be13fd8-fb5a-4bbb-bd30-8f4c9947b3bf)) + (segment (start 74.689 40.3222) (end 74.676 40.3352) (width 0.508) (layer "F.Cu") (net 9) (tstamp 2dc9b509-bdd3-414a-b8f7-9326d52e9449)) + (segment (start 61.595 65.786) (end 61.595 66.04) (width 0.508) (layer "F.Cu") (net 9) (tstamp 2e114c7f-42c5-46bf-978b-95f54a01189a)) + (segment (start 70.358 99.936) (end 70.358 98.933) (width 0.508) (layer "F.Cu") (net 9) (tstamp 2e15ad48-be76-48db-a2f8-bfcba7a8b4ac)) + (segment (start 35.941 44.958) (end 35.56 45.339) (width 0.254) (layer "F.Cu") (net 9) (tstamp 2f81e6ee-4c79-4832-9d38-706227a5a11f)) + (segment (start 40.64 32.258) (end 38.227 34.671) (width 0.381) (layer "F.Cu") (net 9) (tstamp 30f5a15a-8ead-4aee-9f98-f2362d60ca8a)) + (segment (start 37.465 43.307) (end 37.084 43.307) (width 0.254) (layer "F.Cu") (net 9) (tstamp 33811c09-eafa-4419-847b-13ce025e7217)) + (segment (start 57.912 63.36) (end 57.912 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp 346e3ca5-e70c-438c-ac5b-515be12b7c31)) + (segment (start 66.294 101.191) (end 66.294 101.981) (width 0.381) (layer "F.Cu") (net 9) (tstamp 38ac99de-821e-4187-ad6d-9510e407959b)) + (segment (start 70.853 32.131) (end 69.977 32.131) (width 0.254) (layer "F.Cu") (net 9) (tstamp 392c5b26-8a2e-43d1-b94c-231d262232b7)) + (segment (start 46.736 32.639) (end 46.355 32.258) (width 0.381) (layer "F.Cu") (net 9) (tstamp 39ff95f8-a228-4b0d-999c-5d8688e1eb43)) + (segment (start 81.915 38.1) (end 83.947 38.1) (width 0.254) (layer "F.Cu") (net 9) (tstamp 3a60bd81-cd52-48fd-b04e-3080956b272d)) + (segment (start 61.595 66.04) (end 61.087 66.548) (width 0.508) (layer "F.Cu") (net 9) (tstamp 3b08f401-ad7d-494e-9404-4038356023ac)) + (segment (start 65.405 35.814) (end 66.167 35.814) (width 0.254) (layer "F.Cu") (net 9) (tstamp 3b1bd2c1-ee61-4a62-bb3d-2ed8bec78cbc)) + (segment (start 33.8455 82.4865) (end 33.8455 81.9785) (width 0.254) (layer "F.Cu") (net 9) (tstamp 3d5a19ef-8169-40b0-ba5b-a9d4660410a0)) + (segment (start 62.992 26.924) (end 62.992 28.104) (width 0.254) (layer "F.Cu") (net 9) (tstamp 3da7bd8d-62f1-4504-a50e-0b0b332748f2)) + (segment (start 74.8515 36.8531) (end 74.8284 36.83) (width 0.508) (layer "F.Cu") (net 9) (tstamp 3e2abd79-44df-42a3-aa69-b9c39054dc3e)) + (segment (start 42.151 96.647) (end 41.148 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp 3e7f1805-9180-43cf-b75d-666646df624a)) + (segment (start 34.671 83.566) (end 34.671 83.312) (width 0.254) (layer "F.Cu") (net 9) (tstamp 3f684672-7a52-415c-b1f1-dae42073a91e)) + (segment (start 75.438 80.01) (end 75.7936 79.6544) (width 0.508) (layer "F.Cu") (net 9) (tstamp 441129cd-ee62-416d-b2c6-4e0f4784ca24)) + (segment (start 43.751 80.645) (end 44.577 80.645) (width 0.508) (layer "F.Cu") (net 9) (tstamp 442aae46-2d60-4164-a559-adc27209e6cc)) + (segment (start 87.344 29.75) (end 87.344 27.559) (width 0.254) (layer "F.Cu") (net 9) (tstamp 449892ab-014b-4b18-9b21-28d559e16908)) + (segment (start 67.75 27.488) (end 67.75 29.151) (width 0.508) (layer "F.Cu") (net 9) (tstamp 45921ab8-aec8-4f26-9616-987406f18d30)) + (segment (start 59.182 101.092) (end 59.055 101.219) (width 0.508) (layer "F.Cu") (net 9) (tstamp 45dc2abd-f8ef-4da3-9fc7-9f02bee41ce6)) + (segment (start 35.941 76.962) (end 35.938487 76.801397) (width 0.254) (layer "F.Cu") (net 9) (tstamp 4722443b-8a22-43fd-b3da-31ad325eec06)) + (segment (start 59.055 101.219) (end 59.055 104.013) (width 0.508) (layer "F.Cu") (net 9) (tstamp 473e2b5b-3cdf-4e21-8c31-e17a644955d6)) + (segment (start 43.751 98.425) (end 44.577 98.425) (width 0.508) (layer "F.Cu") (net 9) (tstamp 485068e9-5ebc-4f0c-991c-717679930010)) + (segment (start 66.167 36.604) (end 66.167 35.814) (width 0.381) (layer "F.Cu") (net 9) (tstamp 4b1da866-5da0-403e-97af-099e3e3154ca)) + (segment (start 44.831 80.391) (end 45.085 80.137) (width 0.508) (layer "F.Cu") (net 9) (tstamp 4cfda029-8f05-41bf-895a-07eebfe98d2a)) + (segment (start 34.8615 56.4515) (end 33.8455 57.4675) (width 0.254) (layer "F.Cu") (net 9) (tstamp 4e4923b5-46bc-4249-975a-9dd643a48492)) + (segment (start 35.941 62.992) (end 35.938487 63.152603) (width 0.254) (layer "F.Cu") (net 9) (tstamp 4e80dd00-1395-49f3-af28-9f0910cf79d0)) + (segment (start 44.831 44.831) (end 45.085 44.577) (width 0.508) (layer "F.Cu") (net 9) (tstamp 4f3a4b0f-b2dc-427e-9ea0-ca30ec0aa5db)) + (segment (start 83.82 35.941) (end 85.979 33.782) (width 0.254) (layer "F.Cu") (net 9) (tstamp 4f9e5ea7-5560-4feb-951f-f0672cd68999)) + (segment (start 59.563 100.711) (end 59.182 101.092) (width 0.508) (layer "F.Cu") (net 9) (tstamp 4ff57cb4-26d1-4f3d-bddf-ad3753351b38)) + (segment (start 44.831 98.171) (end 45.085 97.917) (width 0.508) (layer "F.Cu") (net 9) (tstamp 50d47a6e-572c-49d9-869a-0801321aef87)) + (segment (start 36.576 78.359) (end 36.479816 78.262816) (width 0.254) (layer "F.Cu") (net 9) (tstamp 50f420b8-0373-4d29-b273-a8eb02d8cc80)) + (segment (start 44.831 59.563) (end 44.577 59.309) (width 0.508) (layer "F.Cu") (net 9) (tstamp 53b8d1db-c7ee-421f-b247-685457f1c7ee)) + (segment (start 74.25 27.488) (end 74.25 29.038) (width 0.508) (layer "F.Cu") (net 9) (tstamp 53e5ed34-86ba-4ffe-b341-a95d160eaae1)) + (segment (start 80.899 35.941) (end 83.82 35.941) (width 0.254) (layer "F.Cu") (net 9) (tstamp 5482bd14-5d06-43a0-91e3-3eddc84214a4)) + (segment (start 68.453 36.604) (end 66.167 36.604) (width 0.254) (layer "F.Cu") (net 9) (tstamp 563bedca-e334-408d-90fb-76f123eb29fe)) + (segment (start 61.595 57.785) (end 61.595 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp 5688db91-5eb1-4108-9295-c8739e71bf21)) + (segment (start 35.56 94.234) (end 35.56 84.804495) (width 0.254) (layer "F.Cu") (net 9) (tstamp 580d008d-131b-455c-8422-8bf50e59728b)) + (segment (start 61.087 66.548) (end 61.087 69.977) (width 0.508) (layer "F.Cu") (net 9) (tstamp 58b0b6a1-c788-4f58-b41b-953d8e908e31)) + (segment (start 59.6265 92.1385) (end 59.6265 92.1385) (width 0.508) (layer "F.Cu") (net 9) (tstamp 58f3f867-2b8d-422e-a8f6-c968d7cb0415)) + (segment (start 67.743 112.541) (end 67.743 110.669) (width 0.508) (layer "F.Cu") (net 9) (tstamp 5930f0aa-ea5d-4dde-93d5-03b6c7865809)) + (segment (start 59.563 92.202) (end 59.563 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp 59b82ff7-0468-40db-a477-718324ea190e)) + (segment (start 60.579 78.867) (end 60.579 83.566) (width 0.508) (layer "F.Cu") (net 9) (tstamp 5a09f886-25a8-4c74-bd21-0e55251b51fa)) + (segment (start 65.532 44.196) (end 65.917 43.811) (width 0.254) (layer "F.Cu") (net 9) (tstamp 5ae600ee-d4e8-4de3-bc65-e2665bb6a036)) + (segment (start 72.39 99.06) (end 72.377 99.047) (width 0.381) (layer "F.Cu") (net 9) (tstamp 5bad9ce9-014d-4a97-a4f9-303e8966ec9d)) + (segment (start 43.751 62.865) (end 44.577 62.865) (width 0.508) (layer "F.Cu") (net 9) (tstamp 5c261dc5-ba31-41bd-9da5-e24e9f03828e)) + (segment (start 44.577 77.089) (end 43.751 77.089) (width 0.508) (layer "F.Cu") (net 9) (tstamp 5d7e4360-e59c-4e8d-92db-f262d7437aa6)) + (segment (start 36.576 61.595) (end 36.479816 61.691184) (width 0.254) (layer "F.Cu") (net 9) (tstamp 5d7f0683-798d-4df3-ab57-2deda5c8b099)) + (segment (start 65.887 97.642) (end 65.887 96.546) (width 0.254) (layer "F.Cu") (net 9) (tstamp 5d8bd9be-1096-4915-9d14-dda3c61876b5)) + (segment (start 33.528 58.293) (end 33.528 59.817) (width 0.254) (layer "F.Cu") (net 9) (tstamp 63a4bf09-2c58-460b-a34e-ba71eaaab654)) + (segment (start 64.389 36.604) (end 66.167 36.604) (width 0.254) (layer "F.Cu") (net 9) (tstamp 6402e899-daf2-4809-be6b-f0d9c7cf0910)) + (segment (start 57.912 81.14) (end 57.912 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp 645fe86d-2e70-42cb-a74b-8b61e6294c17)) + (segment (start 61.341 28.104) (end 61.341 26.924) (width 0.254) (layer "F.Cu") (net 9) (tstamp 648ae1be-096f-488f-bd03-052b420874b1)) + (segment (start 60.071 84.074) (end 60.071 87.757) (width 0.508) (layer "F.Cu") (net 9) (tstamp 650d3033-580d-4395-b627-edada4072f13)) + (segment (start 59.055 104.013) (end 59.055 104.902) (width 0.508) (layer "F.Cu") (net 9) (tstamp 66b26822-6a1b-4a69-be4e-39ab18627226)) + (segment (start 33.8455 57.4675) (end 33.8455 57.9755) (width 0.254) (layer "F.Cu") (net 9) (tstamp 674e7137-d2e4-4c09-b13a-d8506dcb339d)) + (segment (start 46.547 42.037) (end 45.085 42.037) (width 0.508) (layer "F.Cu") (net 9) (tstamp 67ec67ab-2814-413e-adb2-559bcc767764)) + (segment (start 83.947 38.1) (end 84.582 37.465) (width 0.254) (layer "F.Cu") (net 9) (tstamp 6990a141-1c88-4201-9505-8b0bd67510d2)) + (segment (start 75.438 80.7665) (end 75.438 82.042) (width 0.508) (layer "F.Cu") (net 9) (tstamp 6bb9474d-4365-430f-8862-d288c2f0362c)) + (segment (start 57.912 96.647) (end 56.896 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp 6e430442-b259-4f56-8d5f-4d2859032ed9)) + (segment (start 35.938487 63.152603) (end 35.938487 63.295647) (width 0.254) (layer "F.Cu") (net 9) (tstamp 710eeddc-8894-4737-9a0f-50de5c820c74)) + (segment (start 35.687 94.615) (end 35.687 94.361) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7217542e-f5c4-4d1a-affd-863985b38a06)) + (segment (start 67.31 36.604) (end 67.31 35.814) (width 0.381) (layer "F.Cu") (net 9) (tstamp 72e21e77-64ec-41f9-83a8-3c9b19a0f121)) + (segment (start 65.917 41.6845) (end 65.917 40.263) (width 0.254) (layer "F.Cu") (net 9) (tstamp 73e81707-51e0-47ce-be1e-a0829bf4b93c)) + (segment (start 53.975 109.08) (end 53.975 107.95) (width 0.508) (layer "F.Cu") (net 9) (tstamp 74f91016-a75c-4560-8a8a-80e605ab9657)) + (segment (start 62.357 26.289) (end 62.992 26.924) (width 0.254) (layer "F.Cu") (net 9) (tstamp 75bbdf64-c522-4eeb-840b-064dcd1fd9b9)) + (segment (start 69.6696 36.604) (end 72.2376 34.036) (width 0.254) (layer "F.Cu") (net 9) (tstamp 776426b0-53b4-4f4a-88b1-6cb3324a0901)) + (segment (start 74.243 111.05) (end 74.549 110.744) (width 0.508) (layer "F.Cu") (net 9) (tstamp 77e1fd86-6fca-460e-93d0-8eb47efc2b69)) + (segment (start 75.6412 39.37) (end 75.6412 40.2844) (width 0.508) (layer "F.Cu") (net 9) (tstamp 7803a4a2-027c-404e-b9cf-482a5e1e4f85)) + (segment (start 34.8615 56.1975) (end 35.052 56.007) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7be25044-96ce-45cc-beb7-e1590debb22f)) + (segment (start 85.344 36.703) (end 86.868 36.703) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7d503f7a-77bd-4bcf-9819-89952150e4ee)) + (segment (start 59.817 26.924) (end 59.817 25.019) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7de9696a-200c-41de-a58b-59d0a8bdb88c)) + (segment (start 65.405 38.354) (end 65.405 35.814) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7e36236e-650b-45fe-a3da-2000a2e3474f)) + (segment (start 58.039 28.104) (end 58.039 27.051) (width 0.254) (layer "F.Cu") (net 9) (tstamp 7eec0807-8b4b-4e76-8e53-d71646072a54)) + (segment (start 65.917 43.811) (end 65.917 41.6845) (width 0.254) (layer "F.Cu") (net 9) (tstamp 809a9883-667c-4ff8-b98c-3f33dc112574)) + (segment (start 67.437 101.191) (end 67.437 101.981) (width 0.381) (layer "F.Cu") (net 9) (tstamp 80bbd6fa-70f6-417f-8c7b-9a1d0ba86f62)) + (segment (start 36.814593 78.597592) (end 36.576 78.359) (width 0.254) (layer "F.Cu") (net 9) (tstamp 80c117cd-06b2-44f6-83e7-2307b98996ef)) + (segment (start 37.084 43.307) (end 35.941 44.45) (width 0.254) (layer "F.Cu") (net 9) (tstamp 8142786f-df5f-45eb-9177-5e16d2f662e0)) + (segment (start 35.938487 76.801397) (end 35.938487 76.658353) (width 0.254) (layer "F.Cu") (net 9) (tstamp 833569b0-562a-40dc-98b9-45602c6dcf27)) + (segment (start 42.151 61.087) (end 41.148 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp 846f99f1-08f1-4294-b044-9a1800bc41b1)) + (segment (start 44.831 77.343) (end 44.577 77.089) (width 0.508) (layer "F.Cu") (net 9) (tstamp 84aa9586-6649-4e8f-aa13-01e50cc57fd0)) + (segment (start 60.071 87.757) (end 60.071 91.694) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8531982c-4d58-4a43-848a-0a4ddd1e367f)) + (segment (start 57.912 41.034) (end 57.912 43.307) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8543459e-7c82-44cc-9e71-09900ab30644)) + (segment (start 45.085 59.817) (end 44.831 59.563) (width 0.508) (layer "F.Cu") (net 9) (tstamp 857f5f43-ca3b-4163-a531-4ab431da2f51)) + (segment (start 75.438 80.7665) (end 75.438 80.0608) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8591ce4f-b379-48d6-98e5-cb2e4a4b0b31)) + (segment (start 44.577 94.869) (end 43.751 94.869) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8a978e1f-752b-45ec-9bae-1678429829da)) + (segment (start 44.577 45.085) (end 44.831 44.831) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8adac6e6-5b79-4ba2-bdda-061361804701)) + (segment (start 70.853 33.0578) (end 70.866 33.0708) (width 0.254) (layer "F.Cu") (net 9) (tstamp 8c5b3215-1001-4e7a-94fe-ba14207524cc)) + (segment (start 61.087 26.67) (end 61.087 25.019) (width 0.254) (layer "F.Cu") (net 9) (tstamp 8c834269-f561-4096-acc5-3f7552e16c60)) + (segment (start 61.087 69.977) (end 61.087 74.549) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8c872cf9-a51d-40a4-b377-fcc6ba0aa630)) + (segment (start 36.068 95.504) (end 36.068 95.25) (width 0.254) (layer "F.Cu") (net 9) (tstamp 8cc6b770-7249-4395-8843-607b6901ea03)) + (segment (start 59.6265 92.1385) (end 59.6265 92.1385) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8e1a663c-c4c5-4b93-98f2-8456669987dc)) + (segment (start 57.912 43.307) (end 56.896 43.307) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8e456fc2-7327-4c1e-8570-beb9be9a771a)) + (segment (start 35.814 94.996) (end 35.814 94.742) (width 0.254) (layer "F.Cu") (net 9) (tstamp 8fa3484d-e21e-4559-a01d-69c278965246)) + (segment (start 42.151 43.307) (end 41.148 43.307) (width 0.508) (layer "F.Cu") (net 9) (tstamp 8fa3a287-f0d8-4a0a-8118-e438fc980291)) + (segment (start 46.547 95.377) (end 45.085 95.377) (width 0.508) (layer "F.Cu") (net 9) (tstamp 9035e6f2-056a-4dd4-8c55-5105889ed9ac)) + (segment (start 74.689 38.595) (end 74.8515 38.4325) (width 0.508) (layer "F.Cu") (net 9) (tstamp 91ffd875-efcc-49a1-866a-0f40195b41c1)) + (segment (start 59.69 28.104) (end 59.69 27.051) (width 0.254) (layer "F.Cu") (net 9) (tstamp 92205709-6125-4a10-a1a1-0f7221b1ecbb)) + (segment (start 45.085 80.137) (end 46.547 80.137) (width 0.508) (layer "F.Cu") (net 9) (tstamp 93b1f8ec-01ee-495b-9c34-eeca5db2b914)) + (segment (start 68.453 36.604) (end 69.6696 36.604) (width 0.254) (layer "F.Cu") (net 9) (tstamp 958fcf61-6f96-4525-a84d-a87e11a0ef73)) + (segment (start 53.975 113.678) (end 53.975 114.808) (width 0.508) (layer "F.Cu") (net 9) (tstamp 95a2e460-728e-4278-84eb-b277630f9b61)) + (segment (start 33.8455 57.9755) (end 33.528 58.293) (width 0.254) (layer "F.Cu") (net 9) (tstamp 95ab96b2-3b4c-4437-8744-01dbecfb2de3)) + (segment (start 62.611 53.213) (end 62.611 56.769) (width 0.508) (layer "F.Cu") (net 9) (tstamp 95b3cc2d-c65c-4f5a-8f21-c4d445ae0232)) + (segment (start 59.563 96.647) (end 59.563 100.711) (width 0.508) (layer "F.Cu") (net 9) (tstamp 97615f27-c0d2-436b-8c03-c2f88a83bf08)) + (segment (start 46.547 77.597) (end 45.085 77.597) (width 0.508) (layer "F.Cu") (net 9) (tstamp 98b34713-236e-4ef8-b75a-6aad01613601)) + (segment (start 74.8515 37.653) (end 74.8515 36.8531) (width 0.508) (layer "F.Cu") (net 9) (tstamp 98d4e38d-3bca-4af5-952f-a5f10e628663)) + (segment (start 74.689 39.37) (end 75.6412 39.37) (width 0.508) (layer "F.Cu") (net 9) (tstamp 996e53d2-39bd-4938-890b-83b516b2d518)) + (segment (start 65.887 96.546) (end 65.913 96.52) (width 0.254) (layer "F.Cu") (net 9) (tstamp 99afac9a-4c1f-44da-8ff8-6ed08c5266d7)) + (segment (start 75.0316 93.2688) (end 75.438 92.8624) (width 0.508) (layer "F.Cu") (net 9) (tstamp 9bd2ee39-21d1-44b1-9842-64f3ef8a302a)) + (segment (start 65.405 39.751) (end 65.405 39.116) (width 0.254) (layer "F.Cu") (net 9) (tstamp 9c1e0928-c5b3-4aee-8365-e77c9bcf44ec)) + (segment (start 35.687 94.361) (end 35.56 94.234) (width 0.254) (layer "F.Cu") (net 9) (tstamp 9f952a14-04fd-4a06-a570-f76570feca1f)) + (segment (start 33.528 81.661) (end 33.528 80.391) (width 0.254) (layer "F.Cu") (net 9) (tstamp a00b31e3-6135-48df-b42e-10285e7191d3)) + (segment (start 79.883 88.962) (end 79.883 91.1098) (width 0.254) (layer "F.Cu") (net 9) (tstamp a04e8955-a48f-4ffa-93a0-4faae74f5055)) + (segment (start 35.179 84.074) (end 34.671 83.566) (width 0.254) (layer "F.Cu") (net 9) (tstamp a1074857-6257-4eea-af49-c886e84e6aa2)) + (segment (start 80.899 37.084) (end 81.915 38.1) (width 0.254) (layer "F.Cu") (net 9) (tstamp a1f8e819-4bf4-4730-8c12-841c208d3749)) + (segment (start 57.912 45.58) (end 57.912 43.307) (width 0.508) (layer "F.Cu") (net 9) (tstamp a3c33f02-c10e-440e-86f9-d4f70fd9961b)) + (segment (start 69.977 32.131) (end 69.9516 32.1056) (width 0.254) (layer "F.Cu") (net 9) (tstamp a59354a1-4e32-4b32-8aa2-2bb1e7acf199)) + (segment (start 57.912 61.087) (end 56.896 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp a5b1495a-946d-450f-9bb6-2691701f1301)) + (segment (start 44.577 80.645) (end 44.831 80.391) (width 0.508) (layer "F.Cu") (net 9) (tstamp a6b7eae0-536d-4d1e-add9-560beb99ce74)) + (segment (start 62.611 56.769) (end 61.595 57.785) (width 0.508) (layer "F.Cu") (net 9) (tstamp a6f89f89-b939-4789-ad20-e6682644c3b6)) + (segment (start 72.2145 100.5355) (end 72.263 100.584) (width 0.381) (layer "F.Cu") (net 9) (tstamp a7fda155-b856-4572-ba86-60724ea0a8e4)) + (segment (start 57.912 58.814) (end 57.912 61.087) (width 0.508) (layer "F.Cu") (net 9) (tstamp a95228df-086f-4517-b6bf-63d94332670a)) + (segment (start 34.671 83.312) (end 33.8455 82.4865) (width 0.254) (layer "F.Cu") (net 9) (tstamp ab13e4eb-5c68-4f8b-bef2-fa4f43361620)) + (segment (start 37.465 96.647) (end 37.211 96.647) (width 0.254) (layer "F.Cu") (net 9) (tstamp ab49a97e-eeae-4014-bfcc-e8309cc7b853)) + (segment (start 35.941 44.45) (end 35.941 44.958) (width 0.254) (layer "F.Cu") (net 9) (tstamp ae2a63b2-4903-4efa-979e-2704be39b8b4)) + (segment (start 74.689 39.37) (end 74.689 40.3222) (width 0.508) (layer "F.Cu") (net 9) (tstamp b219f366-b99a-45ff-9c9f-94ac08328b05)) + (segment (start 44.577 98.425) (end 44.831 98.171) (width 0.508) (layer "F.Cu") (net 9) (tstamp b29cf7d1-c39a-436e-84b6-96c6be83f2eb)) + (segment (start 85.979 33.782) (end 85.979 31.115) (width 0.254) (layer "F.Cu") (net 9) (tstamp b4b245b3-bb59-44ce-bd71-bfa121ad2b43)) + (segment (start 35.052 55.753) (end 35.052 56.007) (width 0.254) (layer "F.Cu") (net 9) (tstamp b58ca1cf-cbea-4f01-9030-a7b142f71448)) + (segment (start 51.054 34.671) (end 50.165 33.782) (width 0.381) (layer "F.Cu") (net 9) (tstamp b5bffc38-9e1c-4088-9957-7217639f159a)) + (segment (start 55.893 96.647) (end 56.896 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp b842e634-9275-42e6-ae4f-dddabdae35bf)) + (segment (start 65.405 39.116) (end 65.405 38.354) (width 0.254) (layer "F.Cu") (net 9) (tstamp b9e5d848-d9fc-4aa6-91ce-b16abd1b688f)) + (segment (start 75.438 92.837) (end 75.819 93.218) (width 0.508) (layer "F.Cu") (net 9) (tstamp bcd7e564-72d7-4f48-862c-76800790d994)) + (segment (start 44.577 59.309) (end 43.751 59.309) (width 0.508) (layer "F.Cu") (net 9) (tstamp bdc6ffc7-24bc-4792-9d87-f5532dc4e21e)) + (segment (start 64.389 35.814) (end 65.405 35.814) (width 0.254) (layer "F.Cu") (net 9) (tstamp bf2f9ac1-6a25-485f-82c1-8fb909f80685)) + (segment (start 61.087 74.549) (end 60.579 75.057) (width 0.508) (layer "F.Cu") (net 9) (tstamp bf90a94f-7e2f-4a10-abc5-a2b3134fa9f1)) + (segment (start 38.227 34.671) (end 38.227 37.465) (width 0.381) (layer "F.Cu") (net 9) (tstamp c032c87e-ce72-439e-898d-38fef8e6cb92)) + (segment (start 72.377 99.047) (end 72.377 98.044) (width 0.381) (layer "F.Cu") (net 9) (tstamp c17f2837-27ce-4286-bbd8-4477189a52ba)) + (segment (start 72.2145 99.761) (end 72.2145 99.2355) (width 0.381) (layer "F.Cu") (net 9) (tstamp c2323ec4-e7fa-4efb-9e33-2920991f0558)) + (segment (start 35.814 94.742) (end 35.687 94.615) (width 0.254) (layer "F.Cu") (net 9) (tstamp c37b87ec-c193-4bc9-86f1-91debaabf90c)) + (segment (start 60.579 83.566) (end 60.071 84.074) (width 0.508) (layer "F.Cu") (net 9) (tstamp c4822983-582c-4aa5-a91b-f20244e622f8)) + (segment (start 74.25 29.038) (end 74.422 29.21) (width 0.508) (layer "F.Cu") (net 9) (tstamp c58b3e9e-c91c-468f-bdd7-0d7467b916d0)) + (segment (start 44.831 95.123) (end 44.577 94.869) (width 0.508) (layer "F.Cu") (net 9) (tstamp c5ed2ee8-1fd8-4a98-8e31-fdac7e7eae3d)) + (segment (start 50.165 33.782) (end 47.879 33.782) (width 0.381) (layer "F.Cu") (net 9) (tstamp c7cfd9d7-e5c6-4ee9-a5b4-a0c08f2a76b9)) + (segment (start 45.085 62.357) (end 46.547 62.357) (width 0.508) (layer "F.Cu") (net 9) (tstamp c8d66b3a-29fd-4459-8cce-588db7d66318)) + (segment (start 68.974 105.664) (end 69.977 105.664) (width 0.508) (layer "F.Cu") (net 9) (tstamp cbbb02fe-c3d4-43cf-9cd3-5495d8128e40)) + (segment (start 60.071 91.694) (end 59.6265 92.1385) (width 0.508) (layer "F.Cu") (net 9) (tstamp cdcd1212-a2f1-4e06-bf7c-d0f49816e972)) + (segment (start 45.085 95.377) (end 44.831 95.123) (width 0.508) (layer "F.Cu") (net 9) (tstamp cdcf9017-e80f-49f8-b6a4-b87f5e424639)) + (segment (start 45.085 42.037) (end 44.831 41.783) (width 0.508) (layer "F.Cu") (net 9) (tstamp ceea2aaf-c8b8-4dba-943a-00bdf8c8de9b)) + (segment (start 67.743 110.669) (end 67.437 110.363) (width 0.508) (layer "F.Cu") (net 9) (tstamp d09bff26-9c8d-4315-b241-21c882594e22)) + (segment (start 64.389 35.814) (end 64.389 36.604) (width 0.381) (layer "F.Cu") (net 9) (tstamp d0a671c9-9db4-4a5e-af58-b5e42db4300b)) + (segment (start 68.453 36.604) (end 68.453 35.814) (width 0.381) (layer "F.Cu") (net 9) (tstamp d2078049-b128-4bfa-8304-da567d305568)) + (segment (start 46.294 109.921) (end 46.228 109.855) (width 0.508) (layer "F.Cu") (net 9) (tstamp d23b48ec-a576-41a8-a9f1-4f72031f9683)) + (segment (start 47.879 33.782) (end 46.736 32.639) (width 0.381) (layer "F.Cu") (net 9) (tstamp d551055a-6c57-4146-b26d-a0568069a5f2)) + (segment (start 55.893 78.867) (end 56.896 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp d6ecc20e-16e5-44c2-99c4-42e04d14caf2)) + (segment (start 71.374 106.1085) (end 71.374 105.283) (width 0.508) (layer "F.Cu") (net 9) (tstamp d93b6741-bae2-45d5-8113-3f720090f34f)) + (segment (start 35.306 55.499) (end 35.306 55.118) (width 0.254) (layer "F.Cu") (net 9) (tstamp d9b4e36e-edba-4b5c-bd33-9fc948e8508f)) + (segment (start 59.69 27.051) (end 59.817 26.924) (width 0.254) (layer "F.Cu") (net 9) (tstamp d9e2b5b7-80f3-4ba1-8d0d-417d7d0862e8)) + (segment (start 73.139 34.036) (end 73.139 34.9882) (width 0.254) (layer "F.Cu") (net 9) (tstamp da006876-c7cc-4f80-b97f-f9f1dfd4a969)) + (segment (start 82.358 32.512) (end 83.82 32.512) (width 0.254) (layer "F.Cu") (net 9) (tstamp dad86cd2-46d1-435b-a7a6-311fa7ef5358)) + (segment (start 70.853 32.131) (end 70.853 33.0578) (width 0.254) (layer "F.Cu") (net 9) (tstamp dc6a604e-1414-4637-91e5-7f20d76c0d16)) + (segment (start 45.085 97.917) (end 46.547 97.917) (width 0.508) (layer "F.Cu") (net 9) (tstamp dd2ea583-988d-43e5-a685-ebe68db54f70)) + (segment (start 75.438 80.7665) (end 75.438 80.01) (width 0.508) (layer "F.Cu") (net 9) (tstamp dd32a928-7a12-45ca-98a5-207564d14a93)) + (segment (start 33.8455 81.9785) (end 33.528 81.661) (width 0.254) (layer "F.Cu") (net 9) (tstamp de15ffbc-a32b-452a-ae17-b13486548b6b)) + (segment (start 61.595 61.087) (end 61.595 65.786) (width 0.508) (layer "F.Cu") (net 9) (tstamp e111e309-c1d1-4fea-baf7-370741c294ca)) + (segment (start 35.56 84.804495) (end 35.179 84.423495) (width 0.254) (layer "F.Cu") (net 9) (tstamp e1d380cd-d113-47e6-96e7-06f4f9f3b960)) + (segment (start 62.357 25.019) (end 62.357 26.289) (width 0.254) (layer "F.Cu") (net 9) (tstamp e3a897f5-a110-4957-8989-454498814795)) + (segment (start 42.151 78.867) (end 41.148 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp e85f023a-be9d-44c6-94ae-b306462bc622)) + (segment (start 57.912 98.92) (end 57.912 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp e911d714-c069-4e1c-893d-488e5f4d15fa)) + (segment (start 57.912 78.867) (end 56.896 78.867) (width 0.508) (layer "F.Cu") (net 9) (tstamp e986a25f-2fa6-471c-9bdf-55c759435349)) + (segment (start 75.438 80.0608) (end 75.0824 79.7052) (width 0.508) (layer "F.Cu") (net 9) (tstamp eb6c6438-439c-47a7-82ec-6461f001b59a)) + (segment (start 70.358 98.933) (end 70.485 98.806) (width 0.508) (layer "F.Cu") (net 9) (tstamp ebaea599-890d-4327-a30f-00242123745d)) + (segment (start 44.831 41.783) (end 44.577 41.529) (width 0.508) (layer "F.Cu") (net 9) (tstamp ec1f5500-30f7-40af-9963-e10da4c5a911)) + (segment (start 44.577 41.529) (end 43.751 41.529) (width 0.508) (layer "F.Cu") (net 9) (tstamp ec7f76a2-e4b3-4d6a-867d-16d512726b94)) + (segment (start 84.582 37.465) (end 85.344 36.703) (width 0.254) (layer "F.Cu") (net 9) (tstamp edd454a4-c3f4-4243-907e-6506c5c617a3)) + (segment (start 52.324 109.08) (end 52.324 107.95) (width 0.508) (layer "F.Cu") (net 9) (tstamp efac4805-724d-4c51-9141-847bb0ee7c93)) + (segment (start 72.2145 99.761) (end 72.2145 100.5355) (width 0.381) (layer "F.Cu") (net 9) (tstamp f019824e-c579-46a6-91be-dcf1a769d4c4)) + (segment (start 37.211 96.647) (end 36.068 95.504) (width 0.254) (layer "F.Cu") (net 9) (tstamp f0b6b116-7a4b-4f2a-b642-0ca165e501db)) + (segment (start 56.134 34.671) (end 51.054 34.671) (width 0.381) (layer "F.Cu") (net 9) (tstamp f22bce40-8dc0-45d7-aa92-596d861b705b)) + (segment (start 36.068 95.25) (end 35.814 94.996) (width 0.254) (layer "F.Cu") (net 9) (tstamp f314359d-ceb4-4eed-9434-3587d9b5d08a)) + (segment (start 45.085 77.597) (end 44.831 77.343) (width 0.508) (layer "F.Cu") (net 9) (tstamp f371cda4-d514-4da2-b238-4c72023683ad)) + (segment (start 58.547 26.543) (end 58.547 25.019) (width 0.254) (layer "F.Cu") (net 9) (tstamp f4cc7c31-ca82-4256-aa79-6bee2891b9c4)) + (segment (start 47.752 109.921) (end 46.294 109.921) (width 0.508) (layer "F.Cu") (net 9) (tstamp f4cfb333-dc79-4f25-8f98-d42a7cc7d022)) + (segment (start 73.406 106.1085) (end 73.406 105.283) (width 0.508) (layer "F.Cu") (net 9) (tstamp f762eac3-58c5-409e-9025-8e97d9d56d59)) + (segment (start 35.179 84.423495) (end 35.179 84.074) (width 0.254) (layer "F.Cu") (net 9) (tstamp facb4c64-67a7-49c2-9871-f6b57f88bc1b)) + (segment (start 35.306 55.118) (end 35.56 54.864) (width 0.254) (layer "F.Cu") (net 9) (tstamp faf65219-5fed-44cd-8d22-b2067e035c81)) + (segment (start 57.912 94.374) (end 57.912 96.647) (width 0.508) (layer "F.Cu") (net 9) (tstamp fdfec3d9-7f30-4af6-b489-d3b885d4b1dc)) + (segment (start 72.377 98.044) (end 71.501 98.044) (width 0.381) (layer "F.Cu") (net 9) (tstamp fe866383-3506-42c4-bab6-ffd355859f10)) + (segment (start 67.75 29.151) (end 67.564 29.337) (width 0.508) (layer "F.Cu") (net 9) (tstamp ff80d3d3-4afb-40dc-92a5-d13296b52a90)) + (via (at 53.975 69.215) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 001f786e-bc84-4d0f-bda5-2bd9954aef75)) + (via (at 104.14 101.6) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 00cf4dc8-8d52-4f73-8f33-a9479ebe37e5)) + (via (at 48.387 59.944) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 00e7a3c1-f3d5-43b9-94e2-0725bd457184)) + (via (at 70.485 98.806) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 00eb48b8-07ff-4c64-b210-93017b58f726)) + (via (at 31.75 44.45) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 0171bc99-0e54-4748-874d-c09079a81bcd)) + (via (at 48.26 97.917) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 01a23c98-c3ea-498f-9f97-50ba4d9cfb9f)) + (via (at 25.527 111.506) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 01f1fc28-36a8-4ea2-8eab-c10127756b62)) + (via (at 66.802 110.363) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 02064a52-7894-4060-8529-a47c52886405)) + (via (at 62.484 40.894) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 028cd8e8-1f9b-49cb-851b-86f49e6a433f)) + (via (at 50.546 113.919) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 03f850e4-02e0-41f1-8379-97988c4226d2)) + (via (at 60.452 103.886) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 042d3a4d-7b81-4280-b721-2765b2d8cdb8)) + (via (at 44.831 98.171) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 043c0cd6-4f56-47a2-87aa-d37d43342a99)) + (via (at 44.831 41.783) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 04bb7843-5819-476c-b2be-d314e35f2bdc)) + (via (at 75.438 90.932) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 04c05c30-ff4c-4524-a2ec-7dac470b94a7)) + (via (at 44.577 34.798) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 04cf0e15-3990-4e95-bea4-ae86f043556d)) + (via (at 56.896 78.232) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 051df811-c2b7-47d7-80f7-876dd3d5842b)) + (via (at 100.076 79.248) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 053796bd-651e-4d33-8b69-edab017bc71f)) + (via (at 52.324 52.959) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 058f2de1-db64-4686-a55c-065af642fb84)) + (via (at 66.929 29.972) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 05a0d5d8-db96-45c4-9ad2-acd135de88af)) + (via (at 101.6 33.02) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 05cef875-72b5-4c74-a5c3-04773b4599bc)) + (via (at 59.055 101.219) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 05d527e0-b975-4980-bc29-e8b5731fdeb2)) + (via (at 67.437 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 072c040e-b880-4adc-a50b-18125750a6fb)) + (via (at 69.977 105.664) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 08339298-59eb-41f1-8867-376fc9704f08)) + (via (at 66.929 29.337) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 0907eb80-a872-4457-8f9e-0d336b9ceb40)) + (via (at 72.2376 34.036) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 098ddd95-ecd0-422a-8dc0-55010ab5c1dc)) + (via (at 67.564 29.972) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 0c0cd5f6-642f-485e-89a3-8dd5a9340ddb)) + (via (at 44.831 77.343) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 0e1b58da-b36b-403b-b3f7-0f9b5a707827)) + (via (at 43.18 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 0e806ee6-fd69-442f-9c4c-4300be59421b)) + (via (at 37.465 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 0f31ae5f-96b6-4b46-89a4-da0778a19c55)) + (via (at 75.6412 40.2844) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 0fda25d6-ad08-41f6-86aa-59e83ec1cab1)) + (via (at 52.324 86.995) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 117574fc-a1cc-4bbc-9984-5efa79b27e64)) + (via (at 41.148 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 117e07fc-0e92-4b22-ae1b-490a3e57016a)) + (via (at 62.611 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 12b4baf0-8cfd-4401-b267-6731eb001501)) + (via (at 33.655 43.434) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 13764504-f459-4e1a-958d-5ed75a97e13c)) + (via (at 74.549 110.744) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 13dbfa0b-08fe-4ee1-9ddd-505a1125b76d)) + (via (at 74.549 109.982) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1490dd7e-4326-4b5b-8b18-5e8868985cbf)) + (via (at 74.676 40.3352) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 1595753d-035c-4721-af1c-aba0359c66e2)) + (via (at 52.324 69.215) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 15ef457b-e0e6-4f46-8436-f05bc83c86a9)) + (via (at 73.66 66.04) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 17af51c8-9a32-4f1a-abd2-9f49df8865a7)) + (via (at 99.06 106.68) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 18a8220f-cdc1-4821-b00a-8111a595a3aa)) + (via (at 56.896 42.672) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 18df0957-6ec3-417e-a1b7-c47fc3fd1cea)) + (via (at 88.265 25.4) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 19d00883-3474-4fb5-8896-a47de38604db)) + (via (at 70.993 93.98) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1ab3a3b3-6053-407c-b7a1-17737f21e875)) + (via (at 70.866 50.546) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1bd6d42d-0f08-43e0-bf33-889d559184bb)) + (via (at 33.02 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1d287d1c-2218-4b23-90e9-2736e8e851f9)) + (via (at 62.484 99.441) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1d58600e-140f-4bcf-8076-9c89fc3a2cac)) + (via (at 64.135 105.664) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1dfdcd89-1cbb-449b-bac4-d1f09756d43b)) + (via (at 34.036 104.521) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 1e0790d9-9e30-4fce-b1c8-9b97157d1c40)) + (via (at 58.42 22.86) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1e2c0f9a-e142-4efd-9624-5aa9592bbd60)) + (via (at 75.819 109.982) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1e997979-528d-4677-9e27-d8cc762723c0)) + (via (at 65.532 44.196) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 1f1f8909-d2ee-44fa-9dde-37f3b92cb6df)) + (via (at 70.993 97.536) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1f442b80-743b-44c5-89b2-3391e0b8210d)) + (via (at 86.36 26.797) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1fa783ef-3575-49c2-beb5-43bf9c7230ed)) + (via (at 43.18 21.59) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 1fff2373-70ff-4ddf-ad7c-adf10ea9f062)) + (via (at 60.96 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 21582857-2468-413d-ab08-507dc876dbaf)) + (via (at 61.468 40.894) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2414b0a0-0f69-48e5-b28f-f0df9aab15a4)) + (via (at 43.561 34.798) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 24b7e175-240f-4a58-aa93-e59b17b00ed5)) + (via (at 66.802 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 24f43b58-4183-4ce1-be0f-4a8ee8609f11)) + (via (at 94.996 90.932) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 25899270-6ac9-41ae-9a94-ab4c4ba829f9)) + (via (at 101.6 27.94) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 25a14265-4272-4a72-8175-deb08724f022)) + (via (at 78.613 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2665db18-8c1f-4a0c-8565-5c624cb98bba)) + (via (at 95.25 101.727) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 279ef7f7-6821-46ab-a647-4a45b4c6454b)) + (via (at 59.6265 92.1385) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 27a901dd-a97d-4816-b35d-1ff263b3200c)) + (via (at 94.996 83.439) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 28050956-fad6-4531-9a7f-cc0af04c342e)) + (via (at 102.108 89.154) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2850fd11-0f06-4c93-9541-f42a03be7db5)) + (via (at 50.038 69.977) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 28675374-cc8f-4409-a788-a25ed598f404)) + (via (at 107.442 28.702) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 290d58fc-85fe-41ee-8083-62623df3e9b9)) + (via (at 60.452 103.124) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2ae7db0d-6a95-4ae3-939a-0357c2ddf320)) + (via (at 45.466 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2bcd4d01-058b-4cfe-a8ca-40796f3c4f61)) + (via (at 57.912 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 2bd5de26-0623-43c9-8a2a-0baa72059427)) + (via (at 97.155 101.727) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2beff0d2-f27f-45d7-ac86-80ea35b8f8e0)) + (via (at 31.75 59.055) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 2d2e0270-e9e8-457d-bbef-2a12867b9a77)) + (via (at 69.9516 32.1056) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 2d76cb88-cea1-4075-b71b-4007811124e6)) + (via (at 34.036 35.433) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 2d873e45-1947-4753-b8f8-aaee379bc63d)) + (via (at 60.579 75.057) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 2e68d09d-7c01-41c4-a5a8-e5879f33a522)) + (via (at 75.819 93.218) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 2f72e58f-fd4b-4019-abf3-5d3f9ca51458)) + (via (at 94.8944 94.1832) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 312dcf93-6be9-4ca7-9218-ea0e3d72c873)) + (via (at 31.75 83.185) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 31cef7ee-612c-4570-991b-8881fb81fc64)) + (via (at 53.086 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3214295e-fe07-4dd1-b8ad-d2911ca44e0f)) + (via (at 34.29 74.295) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 3300955b-a82c-4e50-a58d-4829ff42118a)) + (via (at 56.896 97.282) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 340b26cb-8fa1-4b04-a0ee-b522564c1e1d)) + (via (at 53.975 52.959) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3426d3bb-24e2-4ecc-9c95-49d15e996619)) + (via (at 37.465 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 357840a4-630f-4455-be08-441ed492ccea)) + (via (at 81.28 106.68) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 358ae524-df3c-405b-ba0f-58d212a9c4ab)) + (via (at 52.324 104.775) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 36578471-8e05-408a-9200-696dabec1440)) + (via (at 64.516 43.18) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 36752476-ecc0-4d8a-bd0a-9a00f0e864b9)) + (via (at 59.563 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 39f39c6a-45b5-413c-b1d0-74e5a0a1b735)) + (via (at 94.869 79.248) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3a258dbe-6584-44a6-a898-f47eda7d6855)) + (via (at 44.831 59.563) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 3a353ce3-da6d-4bf6-bb48-fa69f94fd62f)) + (via (at 32.766 21.59) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3aa5d292-b115-4ca6-8dca-89a3a04ba4b6)) + (via (at 67.564 29.337) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 3c8c1516-9c0c-49f4-a34d-9aa32d78b440)) + (via (at 71.5772 100.584) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3d36abc9-01b7-4560-bde5-56164d856b1e)) + (via (at 53.213 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3d9892ec-c286-44b7-859e-86066779dd57)) + (via (at 104.14 71.12) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3e2c3e27-a22e-43a2-ae97-99ddb7daf1d6)) + (via (at 65.405 38.354) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 3e4f2ed1-0764-4b08-b84e-cfea81ccf702)) + (via (at 33.655 92.71) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3eba9014-7320-4844-babd-3e1d7d633d3f)) + (via (at 75.057 28.575) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3f04fdcd-2835-4af2-93c1-8e9e865f8ab5)) + (via (at 31.496 37.973) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 3ff20178-bdb0-4c62-a17c-1f4941fe4aaf)) + (via (at 81.28 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4038bd9d-b497-4079-afd0-395627e9bc99)) + (via (at 79.9084 92.0496) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 41635c48-0273-4da4-b265-e9a5c87e3ac3)) + (via (at 81.28 114.3) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 41b92631-3217-4fc5-a964-b1e6625fe457)) + (via (at 97.409 82.296) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 420d1369-bc7e-4274-b69c-10c4c3998760)) + (via (at 71.628 78.486) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 43b89813-e0cf-4fe0-98f4-efe2ae6f61ae)) + (via (at 53.975 70.612) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 444c78f7-d866-41a2-8e31-fa97e73dc8ed)) + (via (at 33.655 54.61) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 44c8d743-4ae4-442a-a1ee-25588473926d)) + (via (at 35.56 69.85) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 47bc5eb7-b4a5-47e1-8bb8-ecbf13f77aa7)) + (via (at 56.896 43.942) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4825137b-af10-4d6f-bdd9-b383bcce243c)) + (via (at 53.975 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 483b9f55-d234-4c51-b5b8-a387ba716521)) + (via (at 81.28 58.42) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 486fa93a-c788-4ef5-b54d-0025d68e77f3)) + (via (at 75.0316 93.2688) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 489a44e7-5af6-48c0-b872-f84448f613fe)) + (via (at 76.2 101.6) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 48a7b591-9ddc-4f19-a4c1-1b558dff91ad)) + (via (at 102.0064 91.6432) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 49a337f9-5829-4488-803a-4719ce48d0e8)) + (via (at 73.66 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4b26c9e7-524d-42ae-aec6-039027e8356f)) + (via (at 79.9084 91.1352) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4be87d14-e4b5-4a02-957a-e23253dd6b1d)) + (via (at 31.496 101.981) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4d24faa9-f8ca-4d7a-9f20-3e554bfc0c48)) + (via (at 102.108 86.5632) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4d30c5b1-4daa-43c8-b6a2-fff6ef1700ab)) + (via (at 86.36 28.321) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4d3a4cc2-2935-43b3-9c87-1747d31e5c82)) + (via (at 38.1 26.67) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4d5d978f-437d-4a28-a9dd-8a14731c9e56)) + (via (at 61.087 66.548) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 4e6c2365-e1d9-4aeb-a173-3cb8e4b282de)) + (via (at 60.579 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 4f0a0b65-650d-42b8-8663-661036b0803a)) + (via (at 66.294 29.337) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4f69588e-55d9-4d98-b546-e1760de9015e)) + (via (at 64.77 99.441) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4f9756fb-c349-4871-85c5-bc34425036aa)) + (via (at 104.14 81.28) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 4fa42002-4b03-4789-bfcb-c8277377fb5c)) + (via (at 64.135 105.029) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 507e2f8e-2341-4cf0-9934-9a7513c1cc66)) + (via (at 61.214 103.886) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 51ef2b22-93dc-451a-82c5-272e953096df)) + (via (at 74.295 47.752) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 528b9d82-93a0-49d9-a575-50c369a09719)) + (via (at 32.385 46.355) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 52b08b75-4338-4d8c-894e-a444a0732015)) + (via (at 67.437 110.363) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 52d33375-17dd-4d14-b419-fe6dfe93b287)) + (via (at 31.496 104.521) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 531c2074-833f-43ee-a2c1-01f7d3338be7)) + (via (at 63.5 22.86) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 53fe1814-deb0-4070-b7ad-5f1e19ac92bd)) + (via (at 44.831 62.611) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 5416bff5-3853-4ba2-bbd8-b7375517224f)) + (via (at 86.36 53.34) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 54867331-79c9-4605-a1c6-0f33e3356317)) + (via (at 64.516 51.816) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 54be7b2e-028e-4066-b027-a8b6e701b4a0)) + (via (at 50.038 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 55c3dcbb-b392-411f-bd9c-32e734bb4b05)) + (via (at 71.628 97.155) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 566fbba4-5d90-4176-b70a-9e60bbc80550)) + (via (at 94.234 86.614) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5757ee71-2160-468a-9fb9-beaaae03fed5)) + (via (at 93.98 106.68) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5803ea3a-63d4-4f7f-afcc-0bb0ee80fa31)) + (via (at 107.442 111.506) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 588a01a9-59eb-45c4-b14d-60fce91fa03c)) + (via (at 88.392 23.368) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 59383f0b-dabb-4bfe-9653-c3d9b8ad17ad)) + (via (at 70.993 78.105) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5a1fef2a-1e3e-4a6b-a3e7-3793cafecb84)) + (via (at 52.324 70.612) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5a2806f7-0e91-4399-934f-9ec475b3c17d)) + (via (at 73.406 105.283) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 5ca2a2ef-3de7-4fc8-be6f-befe62c8badb)) + (via (at 49.53 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5e1ce3b7-e6f3-42cf-9c1f-9433e451fee0)) + (via (at 71.374 98.679) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 5e75d14d-f1a5-49c9-8422-a870a518b74c)) + (via (at 60.071 84.074) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 5fce981c-95f9-4632-a456-91f27abf8be9)) + (via (at 68.58 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 61d76b19-c1aa-4985-9b4c-52c94791fffd)) + (via (at 53.213 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 61dbde23-90df-4527-b261-146aa0235446)) + (via (at 44.831 95.123) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 63693ca8-acde-47f3-9a1b-214293c1ac53)) + (via (at 104.14 91.44) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 66368a68-b3a7-4444-850d-0698b0681062)) + (via (at 61.214 103.124) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 66576dbc-ee83-42b2-9b25-5fbbe66b3ffa)) + (via (at 78.74 76.2) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 669f44d1-bd4a-40f5-adbc-d066fe16a01e)) + (via (at 44.831 80.391) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 680737b7-46e0-4ad7-8406-6e1ce8de2ba0)) + (via (at 101.6 43.18) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6837c77c-db33-4e20-8d61-f88bb4b9ff30)) + (via (at 64.897 105.029) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 683fdab5-d273-4a02-951d-5784f5d9ad7a)) + (via (at 33.655 88.9) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 68572c73-2735-4653-acf3-abd9504c8d6c)) + (via (at 47.625 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 689e051c-dc7f-4de1-9965-1ddb8c5dc26a)) + (via (at 72.263 100.584) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 69e87383-59f2-45f2-acf9-83076a15222d)) + (via (at 101.6 53.34) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6ad797c1-cb56-4fee-ac25-f2da61bbe814)) + (via (at 37.465 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6b30b322-bdcc-48f0-89bb-72a26d7c41d9)) + (via (at 67.437 101.981) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 6c2b881e-b9c7-4085-928d-51610bb61596)) + (via (at 68.707 22.606) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6cdba083-a26f-4b8d-add0-7c59b41293e6)) + (via (at 31.623 69.977) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6cfa7f4c-2b14-4a13-8d1b-cb239fb97d9b)) + (via (at 80.899 35.941) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 6d8ddbf6-e9b3-4d31-adf7-91e8920f686f)) + (via (at 86.36 23.368) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 70b14ac9-2716-4780-99cc-167f1f5dcccc)) + (via (at 64.897 106.299) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 727876e7-6e04-4437-b281-4d48b27a84f1)) + (via (at 38.1 21.59) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 73020f9a-312e-4bb3-9e2b-4c221910eed2)) + (via (at 45.72 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 730fc1e6-0708-46b7-8dbb-419b5b8d1d6e)) + (via (at 53.34 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 74072e2a-2f97-4c24-b13d-72287c58d135)) + (via (at 65.278 43.18) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 752baab2-b9b9-4049-b0d2-0046a68bc39f)) + (via (at 56.896 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 7595e462-4ad9-4719-98d5-e6189a9e530f)) + (via (at 91.44 53.34) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 75d41255-0e4e-4e5b-b10e-0c5ade61d863)) + (via (at 70.485 97.79) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 763fc9cb-2807-43f4-92a1-635dac12f9b4)) + (via (at 48.26 95.377) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 77864307-e5d7-4772-911f-f844bd9e948d)) + (via (at 100.584 21.59) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 79214670-5442-409e-8477-7a51087a37f6)) + (via (at 51.054 108.712) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 797c8edd-287e-422b-a55b-dacd8a388da6)) + (via (at 29.845 31.75) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7afbc591-eda8-42da-85f0-0607422d32c4)) + (via (at 32.385 31.75) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7b0cba3e-3a59-490b-8738-db9a64831185)) + (via (at 33.655 47.625) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7b25a00b-5e96-4b92-a8a2-a581b11f8846)) + (via (at 78.74 101.6) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7b393da3-cc75-49cc-be9b-08ab851bd888)) + (via (at 72.136 42.164) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7b6b0771-5ed5-44c9-9812-921e6fea2504)) + (via (at 64.897 105.664) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 7d065106-94dc-447d-a35f-7dd287167617)) + (via (at 48.387 44.577) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 80071578-cea4-4f2e-91b2-128d7c86dc2f)) + (via (at 72.263 93.98) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 80334b89-ee12-46e1-95be-0b02589c1a16)) + (via (at 57.912 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 804a8899-33bd-4553-9f2b-d4b7c8011173)) + (via (at 95.758 86.614) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 80d6c8dc-633b-41f4-b6e6-dab8fd091a40)) + (via (at 53.975 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8149d761-b7e1-434f-b474-c20e65c29b5c)) + (via (at 101.6 48.26) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 81efc5b6-b09f-4c58-b488-379064b11932)) + (via (at 74.8515 38.4325) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 826eaef4-0973-49f2-8c7d-11c288ced592)) + (via (at 76.2 63.5) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 85269672-5a9e-4576-a8f6-4565e9eac559)) + (via (at 38.227 37.465) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 86627973-2b1c-47c8-83fe-7c374547a0a5)) + (via (at 73.406 42.164) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 86f8e54c-247e-4a52-b4c3-292e925482d7)) + (via (at 70.866 98.298) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 87599c91-1fe1-4c88-8a29-993c50ededd6)) + (via (at 70.485 97.155) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 87e824ea-50ab-4d35-a4d8-a86df4db3ece)) + (via (at 34.925 31.75) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 889dd79b-a06e-445c-aa47-98d1dc51adc3)) + (via (at 31.623 72.517) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 88a9280a-1b1b-40f3-81c8-1da5edffdff2)) + (via (at 50.038 87.757) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8918e2de-5da0-4b12-9e6f-b0dfc72179f8)) + (via (at 56.134 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 89dc24df-3110-4b07-b02d-33bc964312b5)) + (via (at 60.071 87.757) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 8a002c08-e537-4fdd-9811-952f8c4c39d8)) + (via (at 32.512 118.491) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8adee832-34a8-474f-b444-75d37c42b433)) + (via (at 31.623 77.47) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8af84b01-1ce2-4a6f-aaa1-bcf3c612a0a6)) + (via (at 56.896 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 8d4864da-d62c-4b41-be7e-67d077392267)) + (via (at 31.623 64.897) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8e2c48ca-89a5-4ee0-9e19-48ecdde0a2bb)) + (via (at 53.975 51.562) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 8ebb756c-4dcf-486a-b05c-cc427b68b45e)) + (via (at 41.148 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 8f0dce2d-a235-4b06-b804-5802490940c5)) + (via (at 67.437 109.728) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 904a76db-82f6-42f3-93ac-f57f147a6cb0)) + (via (at 70.104 50.546) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 905cc8e4-b88e-4e46-a23b-421f8cf0b57e)) + (via (at 64.135 106.299) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 90b024d0-4209-4723-be6d-65f123731cfb)) + (via (at 41.148 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 90dc502e-b11e-442f-af45-f42f5cc50485)) + (via (at 46.228 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 90e958da-1fd5-460f-9028-0320a6a07a66)) + (via (at 31.496 40.513) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 92b38370-c030-4fa0-92d3-4be3e8b0b059)) + (via (at 33.655 86.36) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 92c6a34f-4155-40ab-bdb9-1ef64a79b6d4)) + (via (at 68.453 35.814) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 92d35d83-4e0e-41bd-b542-42803aedb6c5)) + (via (at 81.28 104.14) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 93e102ef-9f1b-41d1-8506-33ff1942dc07)) + (via (at 96.52 53.34) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9598c4e3-c8b0-4f25-bc40-2db0b901bd7c)) + (via (at 72.644 52.578) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 96376ac0-7897-406a-9c41-2bea9b1db17d)) + (via (at 34.29 65.659) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 973c33de-79d5-4260-b322-f163983a5a83)) + (via (at 93.218 86.614) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9880199f-de95-49b8-9261-822bee09f236)) + (via (at 53.975 104.775) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 988e63fb-e477-44f9-91d4-3b9d0a6eac97)) + (via (at 51.054 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 99699a52-dca3-4d58-8b2a-b5d981516bc1)) + (via (at 71.628 37.592) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 99ef9a22-cbf1-44cc-b0c7-efa4956eef2c)) + (via (at 98.1964 91.6432) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9b026641-ea0e-4769-aeda-f66a47e7bc73)) + (via (at 48.26 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9bcc5084-03d1-4703-9195-bf61178ccd74)) + (via (at 76.2 99.06) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9d178fd8-c2a1-45ae-a92e-e19c8d2bab8a)) + (via (at 71.12 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9d49a07e-2ce8-4fa6-b65d-7b1f073758e5)) + (via (at 61.087 69.977) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 9e5d4514-7a66-4cf7-8fbc-0bd7fc16a57d)) + (via (at 41.148 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp 9f350fc5-2abb-4476-98aa-1228ee4701bf)) + (via (at 43.18 26.67) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9f7b9eed-2667-42fe-b40c-ffd82cc79777)) + (via (at 56.896 61.722) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp 9fd6cb6b-dc46-4185-a462-65530e07e373)) + (via (at 54.102 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a0a94e55-3bbd-468e-a5e3-4b4c74829760)) + (via (at 62.611 53.213) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp a15dac4e-8cee-4b75-be4b-e428020e817b)) + (via (at 52.324 88.392) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a33091ea-bcd1-4c60-824e-9fd9dc1c9794)) + (via (at 32.385 84.455) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a3ab2645-8e2c-41f7-a637-75ad03b67f8b)) + (via (at 104.14 60.96) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a3c03f03-d373-4c45-b772-aae7d39b949f)) + (via (at 70.866 53.086) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a5790dec-641a-44e3-9735-87f8b9316739)) + (via (at 47.879 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a5c5eb07-3dfb-487c-9e64-ca302164a0d9)) + (via (at 83.82 55.88) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a600c122-62e4-4b21-ac35-d8a795055173)) + (via (at 48.387 62.484) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a71a0b15-20c8-43de-8717-6cff14607ea1)) + (via (at 59.055 104.902) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp a739a40f-8d95-4ec9-abdc-da01098c026f)) + (via (at 43.18 31.242) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a7f961ff-e3c2-4039-a2ea-912d09d00c47)) + (via (at 77.597 27.94) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp a83c2bda-ee7a-4e6a-a97f-e0e85c67e302)) + (via (at 66.167 35.814) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp a8ffe11c-124b-4329-b235-4f243709b477)) + (via (at 32.385 93.98) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp aa39dd4d-c2dd-4826-be1f-d67fe4edc6db)) + (via (at 31.623 62.357) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp abc39cbc-c381-4532-ba82-36d72cef22cf)) + (via (at 48.387 42.037) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ac417575-6213-4d24-84b5-164499a3c6fd)) + (via (at 92.71 79.248) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ac5a5780-a43b-474c-98fa-c318d2c1652f)) + (via (at 65.913 96.52) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp ac61e2ba-6351-4528-b8dd-a263fea147f9)) + (via (at 46.228 109.855) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp ad757c0c-9603-441e-bc9e-19083944099e)) + (via (at 75.184 110.744) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp adeff05a-2ec2-4ce1-8c6f-8aa700c38fc6)) + (via (at 55.626 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ae0c3b2d-b1d1-487d-8b80-f20dd7a65cde)) + (via (at 52.07 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ae2dc2e7-850a-44a8-bc43-501e1d340c39)) + (via (at 92.5068 96.012) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ae781d21-62ef-4ad7-9242-8746efbc5a29)) + (via (at 74.676 42.164) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp aec40f99-74eb-4094-b216-ab7cc22e6cad)) + (via (at 75.7936 79.6544) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp aefddb11-46e8-48e1-870b-b9de5ac0adc3)) + (via (at 86.868 36.703) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp af80a266-1ec4-410d-becc-d5827084b399)) + (via (at 78.994 42.164) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp afad264b-4936-4c12-99c5-d98688c99ee8)) + (via (at 70.104 22.606) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b0f8050f-c7ef-487c-8ba1-9f92ba44eef1)) + (via (at 33.655 96.901) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp b150492e-ff4e-4a30-a728-5bbf6595c99f)) + (via (at 53.975 86.995) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b167ea0f-e6c2-4077-ba24-4507d425785d)) + (via (at 81.28 101.6) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b22f85d0-c386-4e69-b743-3436d3cfdbe5)) + (via (at 83.82 32.512) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp b318f66d-b19d-4b98-9344-0dbad2436186)) + (via (at 56.896 60.452) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b4069c74-9ede-4a1d-89c2-0669d5eb6f99)) + (via (at 66.167 110.363) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b4699e57-bff8-4158-abca-0ce6ddcab688)) + (via (at 71.501 22.606) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b6a0cead-64d0-4ab4-9792-66309e0a1ce1)) + (via (at 31.623 75.057) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b6ac5be8-1ff9-4ea0-9996-163ca0c9e182)) + (via (at 73.152 35.0012) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp b74e0bd5-0070-4b3f-bccc-3c65711822b9)) + (via (at 88.265 28.448) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b7532e04-b9b0-4fb8-8689-8789f1f03078)) + (via (at 33.655 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b759a3ff-73dc-41de-86c1-b9500317467c)) + (via (at 35.56 67.945) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b770c582-2236-4032-a3d5-476f9e88ec2b)) + (via (at 101.6 38.1) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b79e295d-0b09-4ded-9e31-10b9ea968257)) + (via (at 61.595 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp b80bcb0f-4f65-4222-a1be-860e4ec3b81e)) + (via (at 48.26 77.597) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b86c24d9-0bc6-4199-9b18-ad4e96b7bd90)) + (via (at 31.496 35.433) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b95ed24b-2be0-4952-aaa4-e798928e5fa8)) + (via (at 56.896 79.502) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b9738b58-5539-45cd-bf04-4abdcd3cc273)) + (via (at 100.33 118.618) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp b9fa6681-fcbd-4c4b-893a-dcd298347225)) + (via (at 66.802 53.975) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ba4d734b-26f9-4477-a56d-da99e6d32fe8)) + (via (at 73.66 76.2) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp bc14a73c-4fc9-4b89-85be-b63e5c054802)) + (via (at 75.057 29.21) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp bc215b2d-b40c-4126-ba6e-ff94d4f71e79)) + (via (at 56.896 96.012) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp bc258be2-8f29-468c-881b-03b3900e6eac)) + (via (at 74.549 109.347) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp be9cf37b-43b0-49fe-b2ef-808284f672a1)) + (via (at 52.324 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp bee164d0-ee80-4d2c-baaf-adf8bf05bd00)) + (via (at 55.88 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c0fd31ff-d1da-47c7-bd71-81bf5951b426)) + (via (at 74.8284 36.83) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp c1bcb561-b60d-41ee-ad50-7a0c426cd145)) + (via (at 53.975 88.392) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c1f586e7-2ab1-44c6-ae80-eed4a0ba4282)) + (via (at 73.66 50.546) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c31bb082-8ce7-45a6-92d0-6c3c27a7c5f7)) + (via (at 81.788 27.94) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c3cd963b-1217-4690-b20d-a8201ccd9346)) + (via (at 44.831 44.831) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp c3e99c9b-f4d2-4dd4-b3a1-d7987f2250ad)) + (via (at 33.655 90.805) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c56fd280-e8ea-4da5-80f8-3123000cc183)) + (via (at 45.466 109.855) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c6c63f27-1536-47d0-9065-f277a57e30f0)) + (via (at 50.038 52.07) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c7706353-5520-406d-ba21-ca96e2134e0d)) + (via (at 74.422 29.21) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp c789cc24-1f86-4473-9f68-81aaca7fea77)) + (via (at 38.1 31.242) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c81183b8-a7ee-4b01-ad6e-9ec60cf9a317)) + (via (at 70.993 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c9a99391-13b3-4512-93a5-e5e985b807a6)) + (via (at 69.342 53.086) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp c9c40838-07e6-4c18-b62b-603ef6183abd)) + (via (at 86.487 25.4) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp cb711caa-b579-4738-8394-2ae5cf1713ea)) + (via (at 81.28 111.76) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp cc043a14-2395-4cf2-a44f-1c7fc5de3966)) + (via (at 96.52 25.4) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp cec9e393-52c2-4f0b-b081-5a9459ea60ff)) + (via (at 25.654 28.702) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d06b50f9-3d39-47a7-bc8a-894acb122873)) + (via (at 33.528 59.817) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp d0968c4e-6dbd-49f5-94ff-bc852a1a0516)) + (via (at 75.184 109.982) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d1e31254-5e9c-4c04-a873-eb88ba570597)) + (via (at 52.324 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d378c4ba-16c1-4a1c-a0b5-2bace4b2c674)) + (via (at 60.452 102.362) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d3c0b362-d7f4-48df-9f65-9b661e62dbb3)) + (via (at 68.326 43.18) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d3d84791-a8c2-4ef6-a915-347b1f124267)) + (via (at 66.167 109.728) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d3fdc2c7-72a0-4c8a-8ce3-0d32cfa7a610)) + (via (at 54.864 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d43aa508-1602-4e80-869d-dcee38e8d57a)) + (via (at 32.385 56.515) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d456c1f4-13b1-4c64-92f0-b3221631be1b)) + (via (at 71.501 98.044) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp d47fc5b4-f525-4385-ac32-7325d9f71a16)) + (via (at 72.263 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d6941961-c5fd-48ba-9147-a6ad9c49dd5c)) + (via (at 75.0824 79.7052) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp d774587c-93b5-4cfd-860f-e0cdc8aadc8e)) + (via (at 37.465 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d846e8c5-825e-4241-82d6-1168cb8d0e3e)) + (via (at 46.863 112.649) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d85da00f-882b-45e6-96c2-7bc3fc6cf693)) + (via (at 57.912 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp d8a4a207-2c5a-40a4-b8a0-33885475b40b)) + (via (at 48.768 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d8d4d1af-4bc3-4fbe-b75e-9266dcc2e901)) + (via (at 61.595 57.785) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp d8e4db96-d71f-4594-bf72-f891dcf6a34e)) + (via (at 31.115 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp d93b572c-5f95-4688-8168-49b568117b82)) + (via (at 68.834 46.482) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp db92128d-846a-47cf-92c6-d93a0609cc95)) + (via (at 70.866 33.0708) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp dc8fb69f-e69a-43f9-8427-b65c2f0093bf)) + (via (at 88.265 26.797) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp dc8fc1ff-86db-4c04-ab2f-06b12f7815d3)) + (via (at 96.901 89.027) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ddab4914-2196-4209-923f-7598b63a00b2)) + (via (at 71.374 105.283) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp ddab6594-38dd-4f7c-a5bb-f8ffa62cacec)) + (via (at 81.28 109.22) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ddb0376a-ee74-4fc6-a637-c59e2afed03d)) + (via (at 50.8 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ddb3c05a-ae30-4cab-9906-bd132a13bf36)) + (via (at 66.802 109.728) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp de5aa8b2-b4b0-49ac-abda-aded361508f9)) + (via (at 64.008 48.26) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp dfc22906-8dac-4b07-9954-8924679ae0b4)) + (via (at 97.409 79.248) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp dfd7c472-759c-42bd-8146-ef8032428f75)) + (via (at 65.405 39.751) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp e0e628d1-027d-4e32-b374-41658216ad67)) + (via (at 55.626 114.046) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e1cb7150-64f3-4de9-bdc7-49b30a3d219c)) + (via (at 75.184 109.347) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e25408cc-e39c-4aca-b039-f849ba65c1ea)) + (via (at 75.438 82.042) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp e29e4959-f8b6-49d3-8dcc-4aace3638415)) + (via (at 33.655 49.53) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e4416170-690d-4696-8c93-3690349d5a1c)) + (via (at 78.74 99.06) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e484778e-8753-4df3-a447-52ac654dc157)) + (via (at 33.655 53.34) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e4c9afab-e227-4bea-8bbe-9235c4ec13ee)) + (via (at 51.562 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp e5cf555c-e663-475f-8228-98e4d642a101)) + (via (at 64.389 35.814) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp e7c6513d-b6df-4454-b670-7deff58de8bc)) + (via (at 48.26 80.137) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ea5c4699-c842-42a7-8156-d64c160cebc1)) + (via (at 34.925 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp eb788407-aca1-4426-9811-19df00d940ec)) + (via (at 73.66 71.12) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ed28c920-138c-47e5-9a72-19ba5547262c)) + (via (at 51.562 107.95) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ed97a5de-f9cc-43b4-9da4-19df4615a29d)) + (via (at 66.294 101.981) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp ee24c034-b63d-4878-8a3f-815161adb3e3)) + (via (at 31.623 67.437) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ee251ea2-abc7-4696-8cd4-0af3c395c261)) + (via (at 56.896 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp eead85f5-1433-4d11-a712-956d3f1e50a8)) + (via (at 46.99 109.093) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp eeb38480-a0cc-4912-8d6c-08e797157bd5)) + (via (at 33.528 80.391) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp f1060db6-b908-4f19-be5f-d6f4153c2f65)) + (via (at 56.896 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp f11abc13-1638-4ceb-b1c6-1a8a33473e5e)) + (via (at 57.912 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp f21c1c42-5350-4f87-8773-ac66a2771494)) + (via (at 67.31 35.814) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp f25e83aa-ee89-4338-82ee-3064d378afad)) + (via (at 75.819 110.744) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f2a649bf-1c98-4e36-8fa8-9ead937f6793)) + (via (at 78.74 60.96) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f4314d38-d161-4325-aa69-50a0a480e8c4)) + (via (at 48.641 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f558d514-65f9-40cb-808a-8147e32f5e43)) + (via (at 55.118 34.671) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f692565a-5364-44c6-803a-f44b41dfca0e)) + (via (at 104.14 106.68) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f802bed2-d0bf-450d-833e-302b289118e8)) + (via (at 31.115 81.915) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f84c312e-a615-49a6-9a2a-24400efcad6c)) + (via (at 35.56 71.755) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f93ca076-3c83-4af9-b3b9-5caf69b1e82d)) + (via (at 61.214 102.362) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f96595ec-1fea-40f4-81d1-49694394680b)) + (via (at 31.75 95.885) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp f97b8f23-baa4-47cc-844d-3e0dc8f7172d)) + (via (at 75.6412 39.37) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp f9f5b4bd-b1dc-4c1f-8721-d84bee810526)) + (via (at 42.418 34.798) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp fa0d58ed-25d1-4a1e-a964-0b785ccd109e)) + (via (at 31.496 99.441) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp fa5a48c4-6789-46d0-bc58-c40f3e3d92fa)) + (via (at 74.422 29.845) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp fb34785c-4dbf-411e-9cfa-e268c3e47b6d)) + (via (at 65.405 39.116) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 9) (tstamp fc8fbcf9-b082-4a4a-89ee-15d8acc6a6ee)) + (via (at 50.546 113.03) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp fce93262-a42b-480d-8af5-73122760b171)) + (via (at 52.324 51.562) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp fdef2d8d-1308-4e30-bc0c-982f766aeb32)) + (via (at 58.42 116.84) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ff31ac2f-83c4-4327-bdc4-dd216f8846fa)) + (via (at 55.626 113.284) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ff8dd64a-2ee5-4bf3-a7df-91dd2ae03cb7)) + (via (at 50.546 114.808) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (free) (net 9) (tstamp ffd4d4fb-a968-466c-8fbd-8c3ed849585d)) + (arc (start 36.479816 78.262816) (mid 36.081034 77.665997) (end 35.941 76.962) (width 0.254) (layer "F.Cu") (net 9) (tstamp 1c6c7a9b-e3c5-4a4c-9c0c-25ba71311530)) + (arc (start 37.465 78.867) (mid 37.113002 78.796983) (end 36.814593 78.597592) (width 0.254) (layer "F.Cu") (net 9) (tstamp 388e190e-27bc-4a28-a245-5f34e19eb095)) + (arc (start 36.479816 61.691184) (mid 36.081034 62.288003) (end 35.941 62.992) (width 0.254) (layer "F.Cu") (net 9) (tstamp 38b8da23-2d9e-48d0-b5dc-15ac33a91845)) + (arc (start 37.465 61.087) (mid 37.113002 61.157017) (end 36.814593 61.356408) (width 0.254) (layer "F.Cu") (net 9) (tstamp 459548aa-1fc5-4292-8000-bda25a48a500)) + (arc (start 35.938487 76.658353) (mid 35.807116 75.997903) (end 35.433 75.438) (width 0.254) (layer "F.Cu") (net 9) (tstamp 54aec0ce-0164-4bc5-b72a-c0a0b124b6e7)) + (arc (start 35.938487 63.295647) (mid 35.807116 63.956097) (end 35.433 64.516) (width 0.254) (layer "F.Cu") (net 9) (tstamp 845f4196-9cf9-4e37-ad7a-ba7e49bd93a4)) + (segment (start 80.899 31.369) (end 81.788 30.48) (width 0.254) (layer "B.Cu") (net 9) (tstamp 00b01426-af5f-4c75-bd69-fb1a25b7d846)) + (segment (start 36.267883 41.075117) (end 36.267883 37.537883) (width 0.254) (layer "B.Cu") (net 9) (tstamp 02cbf0e4-c300-41f5-b291-250c5649ad21)) + (segment (start 61.849 54.483) (end 62.611 53.721) (width 0.508) (layer "B.Cu") (net 9) (tstamp 0b7f913e-50a0-44df-9e93-35acf70f0057)) + (segment (start 36.449 97.663) (end 36.267883 97.844117) (width 0.254) (layer "B.Cu") (net 9) (tstamp 0c2a9d6d-bed1-4728-8ba7-ab1e164650de)) + (segment (start 36.195 59.817) (end 36.195 59.563) (width 0.254) (layer "B.Cu") (net 9) (tstamp 10541393-2496-4100-af6f-5f5f7abcdc7b)) + (segment (start 61.214 35.814) (end 59.309 37.719) (width 0.508) (layer "B.Cu") (net 9) (tstamp 10d751ab-0c39-447d-bdb5-ba66bf717a3d)) + (segment (start 61.174 105.196) (end 60.452 105.918) (width 0.508) (layer "B.Cu") (net 9) (tstamp 158652b5-7556-4a40-a7d5-8c62c780b96d)) + (segment (start 69.596 41.148) (end 69.596 42.799) (width 0.254) (layer "B.Cu") (net 9) (tstamp 15f25df0-4294-46a6-9810-e4cdb46866b6)) + (segment (start 59.309 53.34) (end 60.452 54.483) (width 0.508) (layer "B.Cu") (net 9) (tstamp 185cdada-3f6a-4a62-9171-6e79d2b426ef)) + (segment (start 59.309 44.323) (end 59.309 53.34) (width 0.508) (layer "B.Cu") (net 9) (tstamp 19dec88d-0819-4252-8fbb-be28c76bb22f)) + (segment (start 35.814 93.091) (end 35.433 93.472) (width 0.254) (layer "B.Cu") (net 9) (tstamp 1af83fbb-45df-4081-b10e-9f567f7bfd3d)) + (segment (start 36.267883 97.844117) (end 36.267883 98.878883) (width 0.254) (layer "B.Cu") (net 9) (tstamp 1b3d4b50-bdc9-4ae4-bc16-869f0ccc74fc)) + (segment (start 91.215 95.377) (end 91.215 77.597) (width 0.254) (layer "B.Cu") (net 9) (tstamp 1ca1c925-90ed-4f60-bba2-eab2645042fa)) + (segment (start 59.309 37.719) (end 59.309 44.323) (width 0.508) (layer "B.Cu") (net 9) (tstamp 1caa8a8e-cf57-4888-92e2-03f30adb92c3)) + (segment (start 36.83 96.901) (end 36.595783 97.135217) (width 0.254) (layer "B.Cu") (net 9) (tstamp 27bf6497-b5bb-4752-8509-d9b93b1c95c3)) + (segment (start 64.389 35.814) (end 61.214 35.814) (width 0.508) (layer "B.Cu") (net 9) (tstamp 2cbb3e6c-dc0f-4111-b11b-38b169f9fc50)) + (segment (start 60.452 54.483) (end 61.849 54.483) (width 0.508) (layer "B.Cu") (net 9) (tstamp 30925cec-d88a-4d84-8fd5-d673182a8758)) + (segment (start 72.7456 33.528) (end 75.692 33.528) (width 0.254) (layer "B.Cu") (net 9) (tstamp 31c47128-e74a-4640-b4db-1dfe168af236)) + (segment (start 65.532 44.196) (end 65.532 45.593) (width 0.508) (layer "B.Cu") (net 9) (tstamp 32451b40-dec9-4c12-87a0-18bcb5b3141f)) + (segment (start 36.83 43.053) (end 36.595783 42.818783) (width 0.254) (layer "B.Cu") (net 9) (tstamp 33ab813b-ceb0-4b58-83a6-c841e6c2bef6)) + (segment (start 65.532 39.878) (end 65.532 43.053) (width 0.508) (layer "B.Cu") (net 9) (tstamp 35c28bbe-987e-4abf-a8b2-2b2ca07b1e8f)) + (segment (start 35.433 93.472) (end 33.655 95.25) (width 0.254) (layer "B.Cu") (net 9) (tstamp 3b588582-0372-4796-aa32-21f19e8b9a51)) + (segment (start 72.2376 34.036) (end 72.7456 33.528) (width 0.254) (layer "B.Cu") (net 9) (tstamp 42306485-a89c-4c8d-bb47-aff5e160f731)) + (segment (start 35.814 46.863) (end 33.655 44.704) (width 0.254) (layer "B.Cu") (net 9) (tstamp 4b34a4c6-f72e-4c40-a8cc-b47b46dbcc85)) + (segment (start 77.851 31.369) (end 80.899 31.369) (width 0.254) (layer "B.Cu") (net 9) (tstamp 4ddf1473-a9be-4a07-8685-0cba6ef6c30d)) + (segment (start 36.595783 42.564783) (end 36.449 42.418) (width 0.254) (layer "B.Cu") (net 9) (tstamp 51b94e9e-7e58-4f85-8bfd-ea098d7522e2)) + (segment (start 36.412497 79.919503) (end 36.195 80.137) (width 0.254) (layer "B.Cu") (net 9) (tstamp 529df9a8-a43e-41d9-a7b0-d6ee8ecbb7d8)) + (segment (start 35.814 92.329) (end 35.814 93.091) (width 0.254) (layer "B.Cu") (net 9) (tstamp 54d2650a-909f-4564-995a-21a0db3c112c)) + (segment (start 83.82 32.512) (end 83.312 32.512) (width 0.254) (layer "B.Cu") (net 9) (tstamp 56f89942-6a3c-425a-a757-70f6ecd2068c)) + (segment (start 65.532 45.593) (end 64.897 46.228) (width 0.508) (layer "B.Cu") (net 9) (tstamp 5aff5f81-73c2-4198-9a43-5d4d957dd0dd)) + (segment (start 37.084 43.307) (end 36.83 43.053) (width 0.254) (layer "B.Cu") (net 9) (tstamp 5b621287-cc63-4f3a-b056-e28931d236d3)) + (segment (start 78.994 36.83) (end 74.8284 36.83) (width 0.254) (layer "B.Cu") (net 9) (tstamp 5b9f63ff-152f-4a06-bb3a-c5f8a67903cf)) + (segment (start 36.412497 60.034497) (end 36.195 59.817) (width 0.254) (layer "B.Cu") (net 9) (tstamp 5cdc9b7a-ef90-4ecb-a8cf-a5c76377ea08)) + (segment (start 36.412497 79.538503) (end 36.412497 79.919503) (width 0.254) (layer "B.Cu") (net 9) (tstamp 5dc60ce2-069c-4c80-85f2-53128f4c58fd)) + (segment (start 34.163 35.433) (end 34.036 35.433) (width 0.254) (layer "B.Cu") (net 9) (tstamp 626339f3-9db9-4f53-9073-677f7f6ab08e)) + (segment (start 36.412497 60.415497) (end 36.412497 60.034497) (width 0.254) (layer "B.Cu") (net 9) (tstamp 6451dbc3-8a20-4565-95c5-25f2e2e38127)) + (segment (start 35.814 47.625) (end 35.814 46.863) (width 0.254) (layer "B.Cu") (net 9) (tstamp 65f0448c-3a22-4d7f-af32-400913e86f4d)) + (segment (start 64.897 46.228) (end 63.373 46.228) (width 0.508) (layer "B.Cu") (net 9) (tstamp 670fae70-5d67-49f6-b269-a36c007f6759)) + (segment (start 62.611 50.8) (end 62.611 53.213) (width 0.508) (layer "B.Cu") (net 9) (tstamp 67d86c3b-504b-4aec-9146-85348d159206)) + (segment (start 36.449 42.291) (end 36.267883 42.109883) (width 0.254) (layer "B.Cu") (net 9) (tstamp 69f828e7-820e-43e8-88c8-810d6e3906ac)) + (segment (start 37.465 96.647) (end 37.084 96.647) (width 0.254) (layer "B.Cu") (net 9) (tstamp 6c086867-cb2b-43b2-996b-a39d9a6e86d8)) + (segment (start 37.465 78.867) (end 37.084 78.867) (width 0.254) (layer "B.Cu") (net 9) (tstamp 6c0f1714-3685-4f0f-a00f-a7fb3cef5d53)) + (segment (start 36.267883 37.537883) (end 34.163 35.433) (width 0.254) (layer "B.Cu") (net 9) (tstamp 6ce8ed30-3819-4e08-8431-98e4e0acc02c)) + (segment (start 36.595783 97.389217) (end 36.449 97.536) (width 0.254) (layer "B.Cu") (net 9) (tstamp 70c9a010-7c97-483f-a1fa-cea22bf891d0)) + (segment (start 64.389 35.814) (end 64.389 38.735) (width 0.508) (layer "B.Cu") (net 9) (tstamp 71072fd8-71c1-431f-b627-691c330a5240)) + (segment (start 36.267883 42.109883) (end 36.267883 41.075117) (width 0.254) (layer "B.Cu") (net 9) (tstamp 74d42e73-4dbf-422a-9db5-4363e6636687)) + (segment (start 61.214 42.418) (end 64.897 42.418) (width 0.508) (layer "B.Cu") (net 9) (tstamp 7eb0d613-5dc2-410f-9632-1c954f2e9856)) + (segment (start 64.389 35.814) (end 68.453 35.814) (width 0.508) (layer "B.Cu") (net 9) (tstamp 800ee65d-8504-4666-bedc-09c05da5a9a4)) + (segment (start 81.788 30.48) (end 81.788 27.94) (width 0.254) (layer "B.Cu") (net 9) (tstamp 81d3026b-e31f-483d-a225-7fd16f70fc4d)) + (segment (start 72.644 35.433) (end 72.644 38.1) (width 0.254) (layer "B.Cu") (net 9) (tstamp 87a81518-f23a-4e5d-a35e-868e8f387adb)) + (segment (start 61.087 109.728) (end 66.167 109.728) (width 0.508) (layer "B.Cu") (net 9) (tstamp 8bd228b0-2873-432b-9dbe-e3ab790b8749)) + (segment (start 73.152 35.0012) (end 73.0758 35.0012) (width 0.254) (layer "B.Cu") (net 9) (tstamp 91287c8e-ecbe-4d58-9613-0c0a2612203c)) + (segment (start 83.312 32.512) (end 78.994 36.83) (width 0.254) (layer "B.Cu") (net 9) (tstamp 914243a8-2aec-46c2-97a4-87ffd54968bf)) + (segment (start 36.267883 98.878883) (end 36.267883 102.416117) (width 0.254) (layer "B.Cu") (net 9) (tstamp 921d9055-037c-4769-b932-64a79d7abb7b)) + (segment (start 36.595783 42.818783) (end 36.595783 42.564783) (width 0.254) (layer "B.Cu") (net 9) (tstamp 987bb1dd-385f-4a5a-ae1d-da7fad12e1ef)) + (segment (start 37.465 61.087) (end 41.148 61.087) (width 0.254) (layer "B.Cu") (net 9) (tstamp 98f4927f-a33a-4793-bac6-b4ddfd4906ec)) + (segment (start 62.611 53.721) (end 62.611 53.213) (width 0.508) (layer "B.Cu") (net 9) (tstamp 9913f331-e205-47c2-981d-701fd8113d56)) + (segment (start 72.644 38.1) (end 69.596 41.148) (width 0.254) (layer "B.Cu") (net 9) (tstamp 9a32a611-2686-4627-9199-17f3ec84a9fb)) + (segment (start 36.195 80.137) (end 36.195 80.391) (width 0.254) (layer "B.Cu") (net 9) (tstamp 9a87b9af-4143-4fcc-b286-baf0fb485de2)) + (segment (start 37.465 43.307) (end 41.148 43.307) (width 0.254) (layer "B.Cu") (net 9) (tstamp 9cc152f5-0189-44c5-a297-0265d6fc481c)) + (segment (start 33.655 95.25) (end 33.655 96.901) (width 0.254) (layer "B.Cu") (net 9) (tstamp 9d36b0c8-9cd3-4b3e-bb7a-cb29f2abd7a2)) + (segment (start 69.596 42.799) (end 64.516 47.879) (width 0.254) (layer "B.Cu") (net 9) (tstamp a02932a8-bae5-46e7-a5f4-dfe97990a5e9)) + (segment (start 64.389 38.735) (end 65.532 39.878) (width 0.508) (layer "B.Cu") (net 9) (tstamp a13eebde-c2fa-450f-8c05-09585691a21a)) + (segment (start 37.465 78.867) (end 41.148 78.867) (width 0.254) (layer "B.Cu") (net 9) (tstamp a254d7fb-0aa2-428d-9911-1a9963d094fc)) + (segment (start 65.532 43.053) (end 65.532 44.196) (width 0.508) (layer "B.Cu") (net 9) (tstamp a36286f5-3dad-4a72-b1cc-bc8af67061e7)) + (segment (start 73.0758 35.0012) (end 72.644 35.433) (width 0.254) (layer "B.Cu") (net 9) (tstamp a63cc780-ed2c-43cc-a8c6-eff00a6f47a2)) + (segment (start 37.465 43.307) (end 37.084 43.307) (width 0.254) (layer "B.Cu") (net 9) (tstamp b3c8cbef-cf7d-4deb-a360-c26a6391dc60)) + (segment (start 59.309 44.323) (end 61.214 42.418) (width 0.508) (layer "B.Cu") (net 9) (tstamp b7846d6e-9496-460d-86dd-c7489f6f018b)) + (segment (start 36.595783 97.135217) (end 36.595783 97.389217) (width 0.254) (layer "B.Cu") (net 9) (tstamp c0b79725-12f2-496c-ae3a-95cd5d5cdc68)) + (segment (start 60.452 109.093) (end 61.087 109.728) (width 0.508) (layer "B.Cu") (net 9) (tstamp c143c313-da3d-4716-ace9-adbc5327e9d4)) + (segment (start 36.195 80.391) (end 36.068 80.518) (width 0.254) (layer "B.Cu") (net 9) (tstamp c1b2d87f-72c8-4402-afdf-72205034ae49)) + (segment (start 37.084 96.647) (end 36.83 96.901) (width 0.254) (layer "B.Cu") (net 9) (tstamp c644a7b9-ce14-405a-8a6f-a16d66a1afa6)) + (segment (start 62.611 46.99) (end 62.611 50.8) (width 0.508) (layer "B.Cu") (net 9) (tstamp ca60f811-0a17-41e7-9545-9215f2ae1179)) + (segment (start 34.163 104.521) (end 34.036 104.521) (width 0.254) (layer "B.Cu") (net 9) (tstamp cea4bdad-b381-43fb-ad7e-8c56dc7ce4d5)) + (segment (start 37.465 61.087) (end 37.084 61.087) (width 0.254) (layer "B.Cu") (net 9) (tstamp d00e35f6-1db2-465f-ad8c-70461e90c0f9)) + (segment (start 36.068 59.436) (end 36.068 47.879) (width 0.254) (layer "B.Cu") (net 9) (tstamp d0e71b25-0669-4aec-8116-a597d84fad7c)) + (segment (start 36.068 92.075) (end 35.814 92.329) (width 0.254) (layer "B.Cu") (net 9) (tstamp d20fa56b-66f8-4f99-a55f-c0b9ef1713ab)) + (segment (start 36.449 97.536) (end 36.449 97.663) (width 0.254) (layer "B.Cu") (net 9) (tstamp d3733efc-5495-4cba-845d-513986261973)) + (segment (start 63.373 46.228) (end 62.611 46.99) (width 0.508) (layer "B.Cu") (net 9) (tstamp d4145a62-ddc6-4fee-8a7a-969123f0699a)) + (segment (start 33.655 44.704) (end 33.655 43.434) (width 0.254) (layer "B.Cu") (net 9) (tstamp d93c04d9-6208-4d24-8b5d-cb90b5538267)) + (segment (start 60.452 105.918) (end 60.452 109.093) (width 0.508) (layer "B.Cu") (net 9) (tstamp d971873e-d7a0-4dfa-aaa4-9ce413361b9b)) + (segment (start 37.084 78.867) (end 36.576 79.375) (width 0.254) (layer "B.Cu") (net 9) (tstamp e2e762f9-2d0f-4b66-895c-42eb3b3ab2e0)) + (segment (start 62.611 105.196) (end 61.174 105.196) (width 0.508) (layer "B.Cu") (net 9) (tstamp e3448c8c-59e5-47f5-9430-7c6970ce27c8)) + (segment (start 75.692 33.528) (end 77.851 31.369) (width 0.254) (layer "B.Cu") (net 9) (tstamp e59c91cb-acdf-4a91-b7d9-dc36e783dbc2)) + (segment (start 36.195 59.563) (end 36.068 59.436) (width 0.254) (layer "B.Cu") (net 9) (tstamp eb8ffb23-e593-43f7-b34d-0897962ea524)) + (segment (start 36.068 47.879) (end 35.814 47.625) (width 0.254) (layer "B.Cu") (net 9) (tstamp ed4ed4fb-71b2-4cf9-b794-cb59eb75daee)) + (segment (start 37.465 96.647) (end 41.148 96.647) (width 0.254) (layer "B.Cu") (net 9) (tstamp edc6c9d6-57d6-4d85-a85b-bf765885eca9)) + (segment (start 64.516 47.879) (end 64.516 51.816) (width 0.254) (layer "B.Cu") (net 9) (tstamp ee66b530-5588-4d8d-895d-c2341ffe85d9)) + (segment (start 37.084 61.087) (end 36.412497 60.415497) (width 0.254) (layer "B.Cu") (net 9) (tstamp f0dfd4cd-844d-4d25-bc16-c408a4e460f9)) + (segment (start 36.267883 102.416117) (end 34.163 104.521) (width 0.254) (layer "B.Cu") (net 9) (tstamp f513e977-947f-495b-ab9c-c6c0a45df5c6)) + (segment (start 36.576 79.375) (end 36.412497 79.538503) (width 0.254) (layer "B.Cu") (net 9) (tstamp fa40acac-2bc4-4521-8b36-ce9583065f01)) + (segment (start 64.897 42.418) (end 65.532 43.053) (width 0.508) (layer "B.Cu") (net 9) (tstamp fb36ce66-20a4-4339-90b8-b46efb973334)) + (segment (start 36.449 42.418) (end 36.449 42.291) (width 0.254) (layer "B.Cu") (net 9) (tstamp fcac97d4-f177-4273-8f7c-83bb87810dba)) + (segment (start 36.068 80.518) (end 36.068 81.534) (width 0.254) (layer "B.Cu") (net 9) (tstamp fd678604-4540-404a-b31b-8a956785e194)) + (segment (start 36.068 81.534) (end 36.068 92.075) (width 0.254) (layer "B.Cu") (net 9) (tstamp fe497e8b-9a1a-4bfd-ba08-44a7a294dfef)) + (segment (start 51.497 42.037) (end 50.165 42.037) (width 0.508) (layer "F.Cu") (net 10) (tstamp 176f86ff-9123-476b-a9c6-b072c633f574)) + (segment (start 50.165 42.037) (end 49.657 41.529) (width 0.508) (layer "F.Cu") (net 10) (tstamp 64779d20-88cb-46ba-8445-20154ca25ffb)) + (segment (start 50.673 37.909) (end 53.975 37.909) (width 0.508) (layer "F.Cu") (net 10) (tstamp 73ae93d3-1c90-4446-8817-bbb0fbfe0882)) + (segment (start 49.657 41.529) (end 49.657 38.925) (width 0.508) (layer "F.Cu") (net 10) (tstamp a15896d1-1b5c-47b2-a0a4-d64b6132c8bd)) + (segment (start 49.657 38.925) (end 50.673 37.909) (width 0.508) (layer "F.Cu") (net 10) (tstamp c6aeff95-fb34-4ca4-9844-c798cdd3c435)) + (segment (start 50.673 48.705) (end 53.975 48.705) (width 0.508) (layer "F.Cu") (net 11) (tstamp 048e0901-a9f7-4a35-963c-6a8390ffc008)) + (segment (start 50.165 44.577) (end 49.657 45.085) (width 0.508) (layer "F.Cu") (net 11) (tstamp 168b7fe5-65af-4690-b92c-8af66e0a125d)) + (segment (start 51.497 44.577) (end 50.165 44.577) (width 0.508) (layer "F.Cu") (net 11) (tstamp 28a9d4e7-5f0d-448a-95bf-991f8fdedc67)) + (segment (start 49.657 45.085) (end 49.657 47.689) (width 0.508) (layer "F.Cu") (net 11) (tstamp 4fc13d36-f9c5-462e-8438-2cb865bee5e3)) + (segment (start 49.657 47.689) (end 50.673 48.705) (width 0.508) (layer "F.Cu") (net 11) (tstamp 9bb5860b-eb92-4dc6-828d-e241323570dc)) + (segment (start 50.673 55.689) (end 53.975 55.689) (width 0.508) (layer "F.Cu") (net 12) (tstamp 03488b2f-1ae7-45a0-bae4-620715804985)) + (segment (start 50.165 59.817) (end 49.657 59.309) (width 0.508) (layer "F.Cu") (net 12) (tstamp 8e02af25-a499-4b09-bf5c-a129ba5a8055)) + (segment (start 49.657 59.309) (end 49.657 56.705) (width 0.508) (layer "F.Cu") (net 12) (tstamp 922ce210-a582-4697-a20e-4f2e12e6fcf1)) + (segment (start 49.657 56.705) (end 50.673 55.689) (width 0.508) (layer "F.Cu") (net 12) (tstamp c66d6d35-f0be-4d9a-972c-2ceef2aaa659)) + (segment (start 51.497 59.817) (end 50.165 59.817) (width 0.508) (layer "F.Cu") (net 12) (tstamp d885d2c1-f471-4feb-aa6e-998547d9417a)) + (segment (start 51.497 62.357) (end 50.165 62.357) (width 0.508) (layer "F.Cu") (net 13) (tstamp 025934a7-6364-406e-8344-fd64f5d6d94e)) + (segment (start 50.673 66.485) (end 53.975 66.485) (width 0.508) (layer "F.Cu") (net 13) (tstamp 0b3940b2-777b-4e9f-b50e-d046e205d0b0)) + (segment (start 49.657 62.865) (end 49.657 65.469) (width 0.508) (layer "F.Cu") (net 13) (tstamp 3217a2bf-a505-4fe9-8e95-eb721327358e)) + (segment (start 50.165 62.357) (end 49.657 62.865) (width 0.508) (layer "F.Cu") (net 13) (tstamp e2336df0-bfd0-4094-a9f3-20fed6b93ca7)) + (segment (start 49.657 65.469) (end 50.673 66.485) (width 0.508) (layer "F.Cu") (net 13) (tstamp e98a6862-323a-4851-94f7-eca0c0c3e120)) + (segment (start 37.211 77.978) (end 37.167421 77.934421) (width 0.381) (layer "F.Cu") (net 14) (tstamp a0c56697-2ed2-4973-9232-5aaeff6a1bc3)) + (segment (start 36.449 76.2) (end 36.449 76.49758) (width 0.381) (layer "F.Cu") (net 14) (tstamp c5362a98-1ddc-4995-921f-d5116b3cd3d8)) + (segment (start 36.957 77.724) (end 37.257 78.024) (width 0.381) (layer "F.Cu") (net 14) (tstamp c5d31f01-6caf-4252-9d21-ded70cba447e)) + (segment (start 32.733 71.27) (end 35.590572 74.127573) (width 0.381) (layer "F.Cu") (net 14) (tstamp cc35f640-17b2-4661-aa9e-2bc19b43c322)) + (segment (start 37.257 78.024) (end 38.214 78.024) (width 0.381) (layer "F.Cu") (net 14) (tstamp d9bf1f64-0b85-4445-9b43-9409c66f5500)) + (via (at 37.211 77.978) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 14) (tstamp 16f9fff5-3de6-4f60-a4d5-f9b630264dbd)) + (arc (start 35.590572 74.127573) (mid 36.225902 75.07841) (end 36.449 76.2) (width 0.381) (layer "F.Cu") (net 14) (tstamp a99939df-e639-4e42-8db1-d84ea6456418)) + (arc (start 36.449 76.49758) (mid 36.581024 77.161313) (end 36.957 77.724) (width 0.381) (layer "F.Cu") (net 14) (tstamp daa27abb-f2eb-4cfb-80f3-9a194fad2fb4)) + (segment (start 37.165 78.024) (end 36.354527 78.834473) (width 0.381) (layer "B.Cu") (net 14) (tstamp 450278aa-a87e-4ac8-adcc-c257c9791843)) + (segment (start 37.211 78.024) (end 37.165 78.024) (width 0.381) (layer "B.Cu") (net 14) (tstamp 4beafd85-a9a3-4c82-bf2f-8a9e932a176d)) + (segment (start 34.3535 93.7085) (end 33.551177 94.510823) (width 0.381) (layer "B.Cu") (net 14) (tstamp a184a21f-5278-4eff-b140-ddd510b2202f)) + (segment (start 32.7525 96.439) (end 32.7525 98.19) (width 0.381) (layer "B.Cu") (net 14) (tstamp a3657830-641c-450e-9789-b65ed93c0615)) + (segment (start 35.433 81.059235) (end 35.433 91.102357) (width 0.381) (layer "B.Cu") (net 14) (tstamp af94c2cb-726e-4eb5-920b-5d103bc9644e)) + (arc (start 36.354527 78.834473) (mid 35.672497 79.855202) (end 35.433 81.059235) (width 0.381) (layer "B.Cu") (net 14) (tstamp 25edd99c-7375-465e-b464-992c89034981)) + (arc (start 35.433 91.102357) (mid 35.152447 92.512792) (end 34.3535 93.7085) (width 0.381) (layer "B.Cu") (net 14) (tstamp 894a6544-c275-455e-a919-2901529b7e8c)) + (arc (start 33.551177 94.510823) (mid 32.960069 95.395478) (end 32.7525 96.439) (width 0.381) (layer "B.Cu") (net 14) (tstamp bbcbbff8-6515-4f42-9396-bea222bfed6e)) + (segment (start 41.021 77.47) (end 41.021 75.311) (width 0.508) (layer "F.Cu") (net 15) (tstamp 1ddaecbf-d841-4da2-b9cb-08281663272a)) + (segment (start 40.513 77.978) (end 41.021 77.47) (width 0.508) (layer "F.Cu") (net 15) (tstamp 256624ca-1546-45f9-9dae-adad2b4d7f51)) + (segment (start 39.9265 75.311) (end 42.101 75.311) (width 0.508) (layer "F.Cu") (net 15) (tstamp 40995847-77d8-41bd-8939-87997a1268e7)) + (segment (start 42.101 77.089) (end 42.101 75.311) (width 0.508) (layer "F.Cu") (net 15) (tstamp dee106f7-961b-4c98-ac5f-37862066d8de)) + (segment (start 39.764 77.978) (end 40.513 77.978) (width 0.508) (layer "F.Cu") (net 15) (tstamp dee37da8-9f62-4ae7-8dcf-e76497318e2b)) + (segment (start 36.6395 79.1845) (end 37.257 79.802) (width 0.381) (layer "F.Cu") (net 16) (tstamp 0cc2adde-c7c4-40e5-b801-8f850e2d0ccc)) + (segment (start 37.257 79.802) (end 38.214 79.802) (width 0.381) (layer "F.Cu") (net 16) (tstamp 2bb31cbe-21a0-48f9-810e-e2a56427052a)) + (segment (start 32.733 73.81) (end 34.933783 76.010782) (width 0.381) (layer "F.Cu") (net 16) (tstamp 66002599-367c-4628-82bf-316c3f8b3cbf)) + (segment (start 35.971815 78.516816) (end 36.6395 79.1845) (width 0.381) (layer "F.Cu") (net 16) (tstamp 7bd67a6e-ea9d-4864-9c3f-2778d551103b)) + (via (at 37.211 79.756) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 16) (tstamp b2f80a7c-3001-4f3c-a76b-6b4db4a6e744)) + (arc (start 34.933783 76.010782) (mid 35.303258 76.563741) (end 35.433 77.216) (width 0.381) (layer "F.Cu") (net 16) (tstamp 0c752b10-9af8-4a09-99a7-024f2ed0704d)) + (arc (start 35.433 77.216) (mid 35.573034 77.919996) (end 35.971815 78.516816) (width 0.381) (layer "F.Cu") (net 16) (tstamp 914a30ea-cf73-4570-8b98-bd128cc55ee4)) + (segment (start 36.576 81.335012) (end 36.576 92.209755) (width 0.381) (layer "B.Cu") (net 16) (tstamp 4a34eca4-9317-4df2-a99d-c56de03604af)) + (segment (start 34.544 96.947) (end 34.544 99.144843) (width 0.381) (layer "B.Cu") (net 16) (tstamp 6cc0d57e-55e5-41f4-b16b-9f6a305a7425)) + (segment (start 35.448875 94.930875) (end 35.329772 95.049978) (width 0.381) (layer "B.Cu") (net 16) (tstamp e45d9c63-9c2c-4d77-a440-b8f5f99972c2)) + (arc (start 37.211 79.802) (mid 36.741032 80.505351) (end 36.576 81.335012) (width 0.381) (layer "B.Cu") (net 16) (tstamp 1219508e-8591-4248-8281-961ab9519b95)) + (arc (start 35.329772 95.049978) (mid 34.748216 95.920339) (end 34.544 96.947) (width 0.381) (layer "B.Cu") (net 16) (tstamp 65c3077d-64d9-4249-8542-794ae3a72fab)) + (arc (start 36.576 92.209755) (mid 36.283069 93.682415) (end 35.448875 94.930875) (width 0.381) (layer "B.Cu") (net 16) (tstamp c49a8ede-c15a-4416-9257-e773612a30d7)) + (arc (start 34.122453 100.162547) (mid 33.493913 100.582524) (end 32.7525 100.73) (width 0.381) (layer "B.Cu") (net 16) (tstamp e985018f-2a58-406a-8822-a8ff26675f10)) + (arc (start 34.544 99.144843) (mid 34.434444 99.69562) (end 34.122453 100.162547) (width 0.381) (layer "B.Cu") (net 16) (tstamp ead81681-c616-418a-aa4e-13e72048b727)) + (segment (start 40.513 79.756) (end 41.021 80.264) (width 0.508) (layer "F.Cu") (net 17) (tstamp 3ebaa800-f215-48a9-b148-6a83d44db0c6)) + (segment (start 42.101 80.645) (end 42.101 82.423) (width 0.508) (layer "F.Cu") (net 17) (tstamp 58591502-8915-43e3-a1df-f2b914f4a954)) + (segment (start 39.9265 82.423) (end 42.101 82.423) (width 0.508) (layer "F.Cu") (net 17) (tstamp 8f9f55b2-a3c4-4d24-87ee-f15c3e37f1f4)) + (segment (start 41.021 80.264) (end 41.021 82.423) (width 0.508) (layer "F.Cu") (net 17) (tstamp b09a31d0-fca2-41e3-890c-7ad5e1810f5f)) + (segment (start 39.764 79.756) (end 40.513 79.756) (width 0.508) (layer "F.Cu") (net 17) (tstamp c5bca76d-8d4f-442b-bcbb-4bb9a46db25f)) + (segment (start 34.417 81.080094) (end 34.417 78.18842) (width 0.381) (layer "F.Cu") (net 18) (tstamp 2409657b-4c6d-4198-af02-39e533abb281)) + (segment (start 37.257 95.804) (end 36.957 95.504) (width 0.381) (layer "F.Cu") (net 18) (tstamp 7178f8c7-c6eb-4d83-84fd-2a09e4a31ed4)) + (segment (start 33.909 76.962) (end 33.695809 76.748809) (width 0.381) (layer "F.Cu") (net 18) (tstamp 9e4dac82-674c-40bc-b410-e612b3ddf5e0)) + (segment (start 36.195 93.66437) (end 36.195 85.372565) (width 0.381) (layer "F.Cu") (net 18) (tstamp b2da656e-a9aa-416a-b398-7eb48920c1bf)) + (segment (start 38.214 95.804) (end 37.257 95.804) (width 0.381) (layer "F.Cu") (net 18) (tstamp e2899797-e189-4df8-8934-9c7baeb6a34d)) + (via (at 37.211 95.758) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 18) (tstamp 596a6e57-6438-492b-bf90-6f6172567fb0)) + (arc (start 35.2195 83.0175) (mid 34.625563 82.128611) (end 34.417 81.080094) (width 0.381) (layer "F.Cu") (net 18) (tstamp 581fd7e9-4e9e-4103-b19f-cdb443cdfe80)) + (arc (start 36.195 85.372565) (mid 35.941475 84.098013) (end 35.2195 83.0175) (width 0.381) (layer "F.Cu") (net 18) (tstamp 7b4b874c-626e-4e95-b876-a6d1454484da)) + (arc (start 36.957 95.504) (mid 36.393038 94.659971) (end 36.195 93.66437) (width 0.381) (layer "F.Cu") (net 18) (tstamp c2b9ca68-fd19-4294-9621-926dee3c161b)) + (arc (start 34.417 78.18842) (mid 34.284975 77.524686) (end 33.909 76.962) (width 0.381) (layer "F.Cu") (net 18) (tstamp caf93fd8-a437-4b80-bb0f-b98c69c5d87b)) + (arc (start 33.695809 76.748809) (mid 33.254069 76.453647) (end 32.733 76.35) (width 0.381) (layer "F.Cu") (net 18) (tstamp f6396561-4cad-4b0d-b855-bb4acb3d278d)) + (segment (start 35.687 98.449433) (end 35.687 101.144383) (width 0.381) (layer "B.Cu") (net 18) (tstamp 398b1977-eecd-48df-9288-8ff9d347cf6a)) + (segment (start 35.2425 102.2175) (end 34.9885 102.4715) (width 0.381) (layer "B.Cu") (net 18) (tstamp 5519e6fa-82c3-4441-938e-a39df555e115)) + (segment (start 37.211 95.758) (end 36.5125 96.4565) (width 0.381) (layer "B.Cu") (net 18) (tstamp 6a06c56c-d040-40ba-a48e-c954a5bad419)) + (segment (start 33.060751 103.27) (end 32.7525 103.27) (width 0.381) (layer "B.Cu") (net 18) (tstamp b0d8f2fe-8108-4766-a067-792640c239d9)) + (arc (start 35.687 101.144383) (mid 35.571478 101.72515) (end 35.2425 102.2175) (width 0.381) (layer "B.Cu") (net 18) (tstamp 2a6c1b90-5c74-49ce-bd53-5c499cf14407)) + (arc (start 34.9885 102.4715) (mid 34.104042 103.062477) (end 33.060751 103.27) (width 0.381) (layer "B.Cu") (net 18) (tstamp 3ac0c4e9-6b38-493d-8496-2fa4a350b971)) + (arc (start 36.5125 96.4565) (mid 35.90154 97.370865) (end 35.687 98.449433) (width 0.381) (layer "B.Cu") (net 18) (tstamp 90fbc205-be1e-4da6-99e6-66ed989f6424)) + (segment (start 42.101 94.869) (end 42.101 93.091) (width 0.508) (layer "F.Cu") (net 19) (tstamp bce32ce2-1c9f-46bb-a41d-b98c8b4174ae)) + (segment (start 41.021 95.25) (end 41.021 93.091) (width 0.508) (layer "F.Cu") (net 19) (tstamp bdb94a1b-f502-4dfd-ac59-3e179a22088e)) + (segment (start 39.764 95.758) (end 40.513 95.758) (width 0.508) (layer "F.Cu") (net 19) (tstamp dc0889a6-291a-4ecf-bbd7-07ed28687fe8)) + (segment (start 39.9265 93.091) (end 42.101 93.091) (width 0.508) (layer "F.Cu") (net 19) (tstamp ea6c216f-30a1-4838-b762-64c602eff853)) + (segment (start 40.513 95.758) (end 41.021 95.25) (width 0.508) (layer "F.Cu") (net 19) (tstamp ebe55207-670b-4343-8164-db284740e1a5)) + (segment (start 38.214 97.582) (end 37.257 97.582) (width 0.381) (layer "F.Cu") (net 20) (tstamp 133c54a3-abf4-4a9c-9263-6c7104f6eb9c)) + (segment (start 34.925 93.726) (end 34.925 86.097367) (width 0.381) (layer "F.Cu") (net 20) (tstamp 1db239d6-fa2e-48fd-aff9-8f77884e77ec)) + (segment (start 32.733 81.026) (end 32.733 78.89) (width 0.381) (layer "F.Cu") (net 20) (tstamp 2da5123e-3487-43a8-95e4-4c870d1cad50)) + (segment (start 37.257 97.582) (end 36.002631 96.327631) (width 0.381) (layer "F.Cu") (net 20) (tstamp 5671d34e-dae2-4fde-b52b-e4e2e13f3505)) + (segment (start 33.886 83.589) (end 33.730021 83.433021) (width 0.381) (layer "F.Cu") (net 20) (tstamp e4dfc408-2e83-456e-8928-66bdb85ab13b)) + (via (at 37.211 97.536) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 20) (tstamp 6160dc4a-2c86-42fb-83f2-37066bf4f890)) + (arc (start 34.925 86.097367) (mid 34.654973 84.739848) (end 33.886 83.589) (width 0.381) (layer "F.Cu") (net 20) (tstamp 06116c9a-b920-4bb0-a819-c1822fd0e190)) + (arc (start 33.730021 83.433021) (mid 32.992118 82.328671) (end 32.733 81.026) (width 0.381) (layer "F.Cu") (net 20) (tstamp 1ed17acd-d5fb-47b3-b3ba-21de3f751c07)) + (arc (start 36.002631 96.327631) (mid 35.205068 95.133993) (end 34.925 93.726) (width 0.381) (layer "F.Cu") (net 20) (tstamp 40d7e9e4-ba41-43c3-a661-f582c0d84b6a)) + (segment (start 35.433 104.948) (end 36.021777 104.359223) (width 0.381) (layer "B.Cu") (net 20) (tstamp 1af45aa7-e3e4-4155-a5fb-8105a27b2d83)) + (segment (start 33.351948 105.81) (end 32.7525 105.81) (width 0.381) (layer "B.Cu") (net 20) (tstamp 26960935-9625-4ae2-871d-464bf0d32e42)) + (segment (start 36.83 102.408) (end 36.83 98.501814) (width 0.381) (layer "B.Cu") (net 20) (tstamp 7aeb4b6e-d674-48c1-af68-c55c788cd0f0)) + (arc (start 36.83 98.501814) (mid 36.929018 98.004015) (end 37.211 97.582) (width 0.381) (layer "B.Cu") (net 20) (tstamp 01226944-7a43-402d-bb09-6fc621972913)) + (arc (start 36.021777 104.359223) (mid 36.619949 103.463994) (end 36.83 102.408) (width 0.381) (layer "B.Cu") (net 20) (tstamp 7b632899-39df-4c16-b423-be352fe36216)) + (arc (start 35.433 104.948) (mid 34.478206 105.585973) (end 33.351948 105.81) (width 0.381) (layer "B.Cu") (net 20) (tstamp cd9d8053-4383-4405-ac59-765d2879f7e0)) + (segment (start 40.513 97.536) (end 41.021 98.044) (width 0.508) (layer "F.Cu") (net 21) (tstamp 281932a0-db37-4b93-9acc-e88bba4c0b5c)) + (segment (start 42.101 98.425) (end 42.101 100.203) (width 0.508) (layer "F.Cu") (net 21) (tstamp 58016ca6-b77f-45f7-8288-9fcee1a14383)) + (segment (start 39.9265 100.203) (end 42.101 100.203) (width 0.508) (layer "F.Cu") (net 21) (tstamp 6a34d6ad-5205-49d0-ac41-a3dbbcca36ba)) + (segment (start 41.021 98.044) (end 41.021 100.203) (width 0.508) (layer "F.Cu") (net 21) (tstamp 70fe69a2-fde7-4144-8bb5-7718d14c7470)) + (segment (start 39.764 97.536) (end 40.513 97.536) (width 0.508) (layer "F.Cu") (net 21) (tstamp b0feacd8-129d-4664-bff1-a907ea459e0e)) + (segment (start 50.165 77.597) (end 49.657 77.089) (width 0.508) (layer "F.Cu") (net 22) (tstamp 74bb2eda-5e83-4603-8d76-bf315d054c18)) + (segment (start 50.673 73.469) (end 53.975 73.469) (width 0.508) (layer "F.Cu") (net 22) (tstamp 87278889-f9ae-45d4-9bd6-7b08af8054cd)) + (segment (start 49.657 74.485) (end 50.673 73.469) (width 0.508) (layer "F.Cu") (net 22) (tstamp b74255eb-b803-4e1d-9d4a-09ac2d35a41e)) + (segment (start 49.657 77.089) (end 49.657 74.485) (width 0.508) (layer "F.Cu") (net 22) (tstamp d61566b0-ff2d-4b4d-b243-7e5b1a57cdcf)) + (segment (start 51.497 77.597) (end 50.165 77.597) (width 0.508) (layer "F.Cu") (net 22) (tstamp f3c98ca2-5bd9-449e-b2ef-1e95166760e1)) + (segment (start 50.165 80.137) (end 49.657 80.645) (width 0.508) (layer "F.Cu") (net 23) (tstamp 45c36070-bef7-411c-b105-dd2ccdaf563a)) + (segment (start 50.673 84.265) (end 53.975 84.265) (width 0.508) (layer "F.Cu") (net 23) (tstamp 8ce18838-e509-45f7-8112-abe69a46efd5)) + (segment (start 49.657 80.645) (end 49.657 83.249) (width 0.508) (layer "F.Cu") (net 23) (tstamp a406f6d9-cf47-4f6d-92f3-005f17dcbe84)) + (segment (start 49.657 83.249) (end 50.673 84.265) (width 0.508) (layer "F.Cu") (net 23) (tstamp cedb707b-a5c2-4b0e-a3a2-458f71a3624c)) + (segment (start 51.497 80.137) (end 50.165 80.137) (width 0.508) (layer "F.Cu") (net 23) (tstamp e7fb8149-61fb-4c67-94c4-61a0784131cf)) + (segment (start 50.165 95.377) (end 49.657 94.869) (width 0.508) (layer "F.Cu") (net 24) (tstamp 11a53cc8-5ee2-42a6-bba8-567992916f5f)) + (segment (start 50.673 91.249) (end 53.975 91.249) (width 0.508) (layer "F.Cu") (net 24) (tstamp 6e44e18c-047b-48e2-a5d0-27f092ec0edb)) + (segment (start 49.657 92.265) (end 50.673 91.249) (width 0.508) (layer "F.Cu") (net 24) (tstamp 8a0f3bc0-46e5-47b1-903c-8cc58ec367a5)) + (segment (start 51.497 95.377) (end 50.165 95.377) (width 0.508) (layer "F.Cu") (net 24) (tstamp 97ba35e5-cec0-4789-8690-7815f5c47373)) + (segment (start 49.657 94.869) (end 49.657 92.265) (width 0.508) (layer "F.Cu") (net 24) (tstamp cb240712-39af-4beb-82d4-24f870475ecf)) + (segment (start 49.657 101.029) (end 50.673 102.045) (width 0.508) (layer "F.Cu") (net 25) (tstamp 186b6298-8257-42bf-90f6-ebffb69fc816)) + (segment (start 50.165 97.917) (end 49.657 98.425) (width 0.508) (layer "F.Cu") (net 25) (tstamp 6ef4874a-f7a8-4e4a-9937-32c8535f5bfa)) + (segment (start 51.497 97.917) (end 50.165 97.917) (width 0.508) (layer "F.Cu") (net 25) (tstamp 87aaf0d4-3462-40bc-964b-e6b3fd7ac90d)) + (segment (start 50.673 102.045) (end 53.975 102.045) (width 0.508) (layer "F.Cu") (net 25) (tstamp aeb3d5b6-9345-48e5-a91a-ce8719cae33f)) + (segment (start 49.657 98.425) (end 49.657 101.029) (width 0.508) (layer "F.Cu") (net 25) (tstamp efe9d553-c23c-4678-97ad-61232a472b7f)) + (segment (start 38.608 104.14) (end 38.0515 103.5835) (width 0.508) (layer "F.Cu") (net 26) (tstamp 06c32b8a-52ba-4b2a-902b-3981791ee70f)) + (segment (start 38.0515 85.8035) (end 38.0515 83.373) (width 0.508) (layer "F.Cu") (net 26) (tstamp 0a676a6b-6b43-4527-8e02-8de475c9e595)) + (segment (start 56.388 115.824) (end 47.117 115.824) (width 0.254) (layer "F.Cu") (net 26) (tstamp 0d225232-8deb-4afa-967a-fa86bedc0fbc)) + (segment (start 39.37 76.581) (end 39.05 76.261) (width 0.508) (layer "F.Cu") (net 26) (tstamp 0f7b84b0-81c3-4437-95a5-4f5dbe7e5e0b)) + (segment (start 76.073 60.452) (end 77.343 59.182) (width 0.762) (layer "F.Cu") (net 26) (tstamp 14802955-8157-4dc8-b92c-bb109d05ca85)) + (segment (start 40.513 104.14) (end 38.608 104.14) (width 0.508) (layer "F.Cu") (net 26) (tstamp 160c0836-6414-488c-9fa4-d81e76bdd847)) + (segment (start 38.0515 68.0235) (end 38.0515 65.593) (width 0.508) (layer "F.Cu") (net 26) (tstamp 19be4ffb-6478-437d-8dc5-a49d62adc9ff)) + (segment (start 46.547 96.647) (end 44.831 96.647) (width 0.508) (layer "F.Cu") (net 26) (tstamp 1cdbdaba-35f2-44a1-aa13-3fa718e52981)) + (segment (start 47.117 115.824) (end 46.101 114.808) (width 0.254) (layer "F.Cu") (net 26) (tstamp 1d73f29b-7ff7-47c0-8b4a-5e42d95fe1ff)) + (segment (start 68.707 94.869) (end 69.215 94.361) (width 0.762) (layer "F.Cu") (net 26) (tstamp 1f31deac-0028-4008-a67d-176f7af8f346)) + (segment (start 44.831 96.647) (end 43.701 96.647) (width 0.508) (layer "F.Cu") (net 26) (tstamp 1fb34ead-8d6d-43d6-93f1-f8b51d6f7a92)) + (segment (start 67.3885 107.696) (end 67.3885 105.6995) (width 0.762) (layer "F.Cu") (net 26) (tstamp 2386e21e-fdd5-4728-b3e4-30150d1a7a16)) + (segment (start 55.499 110.617) (end 56.134 110.617) (width 0.762) (layer "F.Cu") (net 26) (tstamp 24452f5e-d927-43d1-ae04-f30707d2357d)) + (segment (start 68.707 96.393) (end 73.279 96.393) (width 0.381) (layer "F.Cu") (net 26) (tstamp 26044b36-ae41-4eb6-b27e-ec715c6f32bb)) + (segment (start 57.277 110.617) (end 57.277 114.935) (width 0.254) (layer "F.Cu") (net 26) (tstamp 281d389c-29b4-4f2d-8af3-15f128cd7ba9)) + (segment (start 38.0515 103.5835) (end 38.0515 101.153) (width 0.508) (layer "F.Cu") (net 26) (tstamp 2d954586-faf8-42f1-bfca-d02ac5209594)) + (segment (start 73.927 100.5485) (end 74.0895 100.711) (width 0.381) (layer "F.Cu") (net 26) (tstamp 326d04f3-c4b5-45e4-9ff1-9388c318f297)) + (segment (start 44.831 43.307) (end 43.701 43.307) (width 0.508) (layer "F.Cu") (net 26) (tstamp 3694dffc-c1c7-412e-ba33-afdbb9329ba7)) + (segment (start 53.975 110.63) (end 55.486 110.63) (width 0.762) (layer "F.Cu") (net 26) (tstamp 38958f73-268c-4652-af06-e634acfc3f3e)) + (segment (start 62.611 107.696) (end 62.611 112.522) (width 0.508) (layer "F.Cu") (net 26) (tstamp 3913259b-d4e0-44e7-a3e1-988167244096)) + (segment (start 59.69 108.585) (end 60.579 107.696) (width 0.762) (layer "F.Cu") (net 26) (tstamp 3c776ffa-c08f-45e5-9356-348645cab8ce)) + (segment (start 46.547 78.867) (end 44.831 78.867) (width 0.508) (layer "F.Cu") (net 26) (tstamp 446fc366-6c78-4d9a-aa9c-0308022611ca)) + (segment (start 70.358 60.452) (end 76.073 60.452) (width 0.762) (layer "F.Cu") (net 26) (tstamp 45c26c13-6699-48c5-86bd-617b6665d7f9)) + (segment (start 80.9752 39.0144) (end 79.4312 39.0144) (width 0.762) (layer "F.Cu") (net 26) (tstamp 481a151f-82e9-43f4-b227-514b62e11209)) + (segment (start 73.279 96.393) (end 73.927 97.041) (width 0.381) (layer "F.Cu") (net 26) (tstamp 4b0cade6-cd3e-49c0-9af7-b246e76e5fe0)) + (segment (start 38.608 68.58) (end 38.0515 68.0235) (width 0.508) (layer "F.Cu") (net 26) (tstamp 4ba352a7-c41d-47ef-94f6-8e93f9437aef)) + (segment (start 39.05 40.701) (end 38.0515 40.701) (width 0.508) (layer "F.Cu") (net 26) (tstamp 58241e4c-0a8d-49bb-918a-69e0d7a3384b)) + (segment (start 38.608 50.8) (end 38.0515 50.2435) (width 0.508) (layer "F.Cu") (net 26) (tstamp 58c936cc-7f0e-4a26-8c02-c2ad178fda00)) + (segment (start 81.28 39.3192) (end 80.9752 39.0144) (width 0.762) (layer "F.Cu") (net 26) (tstamp 5aafcc09-b4ba-46e2-a69f-919c15983b8e)) + (segment (start 44.831 61.087) (end 43.701 61.087) (width 0.508) (layer "F.Cu") (net 26) (tstamp 5d2d9942-15e0-4622-91a6-cb5910ecadad)) + (segment (start 39.05 94.041) (end 38.0515 94.041) (width 0.508) (layer "F.Cu") (net 26) (tstamp 606cdd14-53f6-4335-bf07-86edb7a9d71d)) + (segment (start 51.422 110.63) (end 52.324 110.63) (width 0.508) (layer "F.Cu") (net 26) (tstamp 6384833d-4b29-4aa3-ab20-c7e1af3d4a13)) + (segment (start 69.215 61.595) (end 70.358 60.452) (width 0.762) (layer "F.Cu") (net 26) (tstamp 6496b85c-94ce-4727-96b2-ae7e1b918564)) + (segment (start 38.0515 50.2435) (end 38.0515 47.813) (width 0.508) (layer "F.Cu") (net 26) (tstamp 699c1d5d-6601-4da4-8c40-4edee556df45)) + (segment (start 46.547 61.087) (end 44.831 61.087) (width 0.508) (layer "F.Cu") (net 26) (tstamp 722afed1-a87d-4d5f-86d5-1f20e3934d95)) + (segment (start 46.547 43.307) (end 44.831 43.307) (width 0.508) (layer "F.Cu") (net 26) (tstamp 75ef2871-43a2-47f6-8b93-7e4426bf2de5)) + (segment (start 73.927 98.044) (end 73.927 100.5485) (width 0.381) (layer "F.Cu") (net 26) (tstamp 76eccf85-f5f3-4f6b-8dd9-34fc2cae271a)) + (segment (start 44.831 78.867) (end 43.701 78.867) (width 0.508) (layer "F.Cu") (net 26) (tstamp 79958484-c523-4cc8-9266-8997d2d029e6)) + (segment (start 73.927 97.041) (end 73.927 98.044) (width 0.381) (layer "F.Cu") (net 26) (tstamp 7e4e4df4-8ee6-43b9-938a-fb845bb7863b)) + (segment (start 57.277 114.935) (end 56.388 115.824) (width 0.254) (layer "F.Cu") (net 26) (tstamp 86ad4822-e1b1-4c8e-8847-10a3aaedc501)) + (segment (start 68.707 97.917) (end 68.707 94.869) (width 0.762) (layer "F.Cu") (net 26) (tstamp 8d288184-7f36-4d97-9be5-85f4e41df943)) + (segment (start 50.292 110.871) (end 51.181 110.871) (width 0.508) (layer "F.Cu") (net 26) (tstamp 8e22d89c-5095-4e46-b6e3-4a9eb6b8358b)) + (segment (start 38.608 86.36) (end 38.0515 85.8035) (width 0.508) (layer "F.Cu") (net 26) (tstamp 906d5f07-48ae-4d25-9cf7-a17504de2c72)) + (segment (start 58.801 110.617) (end 59.69 109.728) (width 0.762) (layer "F.Cu") (net 26) (tstamp 9199f7e6-5a16-4e56-8df9-f6929c8e1359)) + (segment (start 46.101 114.808) (end 46.101 111.379) (width 0.254) (layer "F.Cu") (net 26) (tstamp 94214b5a-d821-4300-b276-f52470c42a6b)) + (segment (start 59.69 109.728) (end 59.69 108.585) (width 0.762) (layer "F.Cu") (net 26) (tstamp 9493dab6-4bb3-4d2b-9519-3083ec153b58)) + (segment (start 77.343 59.182) (end 77.9145 58.6105) (width 1.016) (layer "F.Cu") (net 26) (tstamp 99858b5b-9f1f-483a-9b6a-ad3fcfe96260)) + (segment (start 39.05 76.261) (end 38.0515 76.261) (width 0.508) (layer "F.Cu") (net 26) (tstamp 9a2df487-f082-4de1-bc94-abe6d9341223)) + (segment (start 46.101 111.379) (end 46.609 110.871) (width 0.254) (layer "F.Cu") (net 26) (tstamp 9ad75e7b-ce1e-4441-af61-d7e9db3aef8e)) + (segment (start 51.181 110.871) (end 51.422 110.63) (width 0.508) (layer "F.Cu") (net 26) (tstamp a9c22d27-c956-4b99-aeff-d3d361f4a562)) + (segment (start 60.579 107.696) (end 62.611 107.696) (width 0.762) (layer "F.Cu") (net 26) (tstamp ac4979e5-73f9-400a-a301-f4bc9051a316)) + (segment (start 46.609 110.871) (end 47.752 110.871) (width 0.254) (layer "F.Cu") (net 26) (tstamp b2109b63-dfba-4617-b785-46cda6385e95)) + (segment (start 57.277 110.617) (end 58.801 110.617) (width 0.762) (layer "F.Cu") (net 26) (tstamp b2e795f0-d84a-43e8-8b22-b701c78d9059)) + (segment (start 69.215 94.361) (end 69.215 61.595) (width 0.762) (layer "F.Cu") (net 26) (tstamp b44ac9ed-7f00-4e9b-bc30-518ade53e23f)) + (segment (start 39.05 58.481) (end 38.0515 58.481) (width 0.508) (layer "F.Cu") (net 26) (tstamp b696294f-d01b-48ff-b053-2f26068890dd)) + (segment (start 68.707 96.393) (end 68.707 97.917) (width 1.016) (layer "F.Cu") (net 26) (tstamp b828e4f8-55ae-4f2e-85cc-b11e71138b6e)) + (segment (start 67.3885 107.696) (end 62.611 107.696) (width 1.016) (layer "F.Cu") (net 26) (tstamp bd0eee6d-880b-4fa4-b226-f06753c63fc4)) + (segment (start 39.37 94.361) (end 39.05 94.041) (width 0.508) (layer "F.Cu") (net 26) (tstamp bff23461-2d73-4fba-813d-3d025e3ed8ed)) + (segment (start 40.513 50.8) (end 38.608 50.8) (width 0.508) (layer "F.Cu") (net 26) (tstamp c15e9c3b-c8ad-4327-86ea-013e851ac378)) + (segment (start 39.37 41.021) (end 39.05 40.701) (width 0.508) (layer "F.Cu") (net 26) (tstamp c23cb1b1-fa3d-45eb-b193-6d598ae1b9af)) + (segment (start 67.3885 105.6995) (end 67.424 105.664) (width 0.762) (layer "F.Cu") (net 26) (tstamp c3f6276b-1b2d-4310-8197-d437d30a1155)) + (segment (start 56.134 110.617) (end 57.277 110.617) (width 0.762) (layer "F.Cu") (net 26) (tstamp c8f5c4f1-a74e-44e2-8225-9c3880faa284)) + (segment (start 55.486 110.63) (end 55.499 110.617) (width 0.762) (layer "F.Cu") (net 26) (tstamp cf54047b-9232-4de8-86ee-793f850f929e)) + (segment (start 81.28 39.9288) (end 81.28 39.3192) (width 0.762) (layer "F.Cu") (net 26) (tstamp cf580074-f556-4fec-8ae6-78fdd369a529)) + (segment (start 53.975 110.63) (end 52.324 110.63) (width 0.508) (layer "F.Cu") (net 26) (tstamp d155d04f-0106-4846-b29b-9c153a6fc802)) + (segment (start 40.513 68.58) (end 38.608 68.58) (width 0.508) (layer "F.Cu") (net 26) (tstamp dcd5e290-aaad-427f-a018-c2306bd9483f)) + (segment (start 40.513 86.36) (end 38.608 86.36) (width 0.508) (layer "F.Cu") (net 26) (tstamp e24199e1-0b9b-4ee5-acb8-8f7883ca03e9)) + (segment (start 77.9145 58.6105) (end 78.486 58.039) (width 1.016) (layer "F.Cu") (net 26) (tstamp e8c8ddfc-2a96-4181-b848-045c74efd30d)) + (segment (start 39.37 58.801) (end 39.05 58.481) (width 0.508) (layer "F.Cu") (net 26) (tstamp ec2f4ed6-fb28-4ec9-90bd-525ccdab887e)) + (via (at 39.37 76.581) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 0b8b5091-841a-4d4e-b07a-e2182a2e2c9c)) + (via (at 44.831 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 0bd45d7c-6df5-4692-8c02-9126bee885ac)) + (via (at 77.343 59.182) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp 0d576a5a-2f72-47cd-9e9f-99616bee88dd)) + (via (at 40.513 104.14) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 118bf72d-9034-48b8-b5fd-2bc48a407abf)) + (via (at 68.707 96.393) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp 25119c29-254b-4e33-8ce9-efbce6ef0224)) + (via (at 44.831 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 33b9535f-28e4-4342-9d4f-f1fed7b31826)) + (via (at 78.486 58.039) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp 39912dd9-648b-494c-9105-7af5ce872ec8)) + (via (at 77.9145 58.6105) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp 5ce3902c-f033-4f72-9c91-610b55c78db2)) + (via (at 44.831 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 6c3835a6-9640-4354-9796-93a616e5611a)) + (via (at 56.134 110.617) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 6f84e69b-7036-455b-bebb-bb5d70b4a6e6)) + (via (at 54.864 110.617) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 7cbff084-8b92-4113-835f-14b946e03267)) + (via (at 81.28 39.9288) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 7d63dd0d-00bd-4656-b529-63ee4003b29b)) + (via (at 39.37 94.361) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp 7ffb928f-589d-4d59-baf5-e31b5366b3ce)) + (via (at 55.499 110.617) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp b437c2ce-7c17-44c4-82b3-5aca69126390)) + (via (at 68.707 97.917) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp bc76794e-124f-4b6d-bae4-ac388f19023a)) + (via (at 44.831 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp c511af45-a29f-43a1-81a6-796f26d8dd59)) + (via (at 39.37 58.801) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp c7a8538f-2af7-485f-bc2b-da5d5e4698b0)) + (via (at 40.513 86.36) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp ccd5252f-643e-4bfe-ace8-057a278ac5fa)) + (via (at 39.37 41.021) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp e16f4cc0-7981-492b-ba42-4956a117e953)) + (via (at 81.28 39.3192) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp e4987693-e9c8-487c-862b-e2785bfe1cc7)) + (via (at 68.707 97.155) (size 0.8128) (drill 0.4064) (layers "F.Cu" "B.Cu") (net 26) (tstamp e600c7b9-b74a-4047-9d4c-298073e6e559)) + (via (at 40.513 68.58) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp eac59706-1a26-4420-8c5b-d2c8efa25e16)) + (via (at 40.513 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 26) (tstamp f1757114-2237-4db0-98e2-d34a2217d21d)) + (segment (start 54.864 110.617) (end 56.388 110.617) (width 0.762) (layer "B.Cu") (net 26) (tstamp 01094d53-1236-49ab-bf55-4e1ea7df1077)) + (segment (start 40.513 104.14) (end 45.847 104.14) (width 0.508) (layer "B.Cu") (net 26) (tstamp 0985f585-110b-465b-8e00-d8043f6a0db8)) + (segment (start 40.64 53.975) (end 45.847 53.975) (width 0.508) (layer "B.Cu") (net 26) (tstamp 12141075-7987-4f3d-8dcb-734082c0295b)) + (segment (start 40.513 86.36) (end 45.847 86.36) (width 0.508) (layer "B.Cu") (net 26) (tstamp 15a72821-0209-4ea2-822d-296b763c786f)) + (segment (start 39.37 41.021) (end 40.386 40.005) (width 0.508) (layer "B.Cu") (net 26) (tstamp 161dfe51-32f2-4dfc-84d7-f5bb6d385f46)) + (segment (start 40.386 40.005) (end 40.386 34.671) (width 0.508) (layer "B.Cu") (net 26) (tstamp 16b94a9e-d99e-480b-b712-f69f3c0ceeae)) + (segment (start 57.023 109.982) (end 57.023 107.696) (width 0.762) (layer "B.Cu") (net 26) (tstamp 1fd49b9c-489b-4b74-9140-050a703cef98)) + (segment (start 68.707 96.393) (end 68.707 97.155) (width 1.016) (layer "B.Cu") (net 26) (tstamp 2407f00c-f284-433b-b94f-23dca2bbdc05)) + (segment (start 39.37 90.805) (end 40.64 89.535) (width 0.508) (layer "B.Cu") (net 26) (tstamp 2fbd4315-8722-4d70-821a-44bb25008486)) + (segment (start 44.831 43.307) (end 45.847 43.307) (width 0.508) (layer "B.Cu") (net 26) (tstamp 355287b6-cb84-437c-b168-bd2c35fa632c)) + (segment (start 68.707 97.155) (end 68.707 97.917) (width 1.016) (layer "B.Cu") (net 26) (tstamp 35a51c1b-b549-4469-b201-46ae87a74022)) + (segment (start 39.37 58.801) (end 39.37 55.245) (width 0.508) (layer "B.Cu") (net 26) (tstamp 38cbdc9b-6cdb-47b9-8632-f0578a73d017)) + (segment (start 44.958 33.655) (end 45.847 34.544) (width 0.508) (layer "B.Cu") (net 26) (tstamp 43639750-8a35-4d1b-994c-e04210ac6082)) + (segment (start 77.343 59.182) (end 78.486 58.039) (width 1.016) (layer "B.Cu") (net 26) (tstamp 4802044d-4ee9-477e-b7c1-cb3e001d47ad)) + (segment (start 45.847 34.544) (end 45.847 43.307) (width 0.508) (layer "B.Cu") (net 26) (tstamp 50cfb8d8-9f8d-4dbe-9c7f-4dd3966a6eb5)) + (segment (start 45.847 68.58) (end 45.847 102.362) (width 0.762) (layer "B.Cu") (net 26) (tstamp 5828de7c-0634-4cba-bc6e-0da39f328da3)) + (segment (start 45.847 106.807) (end 45.847 102.362) (width 0.762) (layer "B.Cu") (net 26) (tstamp 5c682536-1c30-447a-93d0-460aea1d42e4)) + (segment (start 46.99 107.95) (end 45.847 106.807) (width 0.762) (layer "B.Cu") (net 26) (tstamp 5e614c34-dd38-40eb-b513-3eb43804dde2)) + (segment (start 39.37 55.245) (end 40.64 53.975) (width 0.508) (layer "B.Cu") (net 26) (tstamp 61981370-fe10-4058-84cf-6159ba599fdf)) + (segment (start 40.64 71.755) (end 45.847 71.755) (width 0.508) (layer "B.Cu") (net 26) (tstamp 63ad1bc9-836d-461f-adab-19be337e2c0b)) + (segment (start 68.707 105.41) (end 66.421 107.696) (width 1.016) (layer "B.Cu") (net 26) (tstamp 6b26748a-77c5-4e84-b327-145142db765d)) + (segment (start 81.28 55.245) (end 77.343 59.182) (width 0.762) (layer "B.Cu") (net 26) (tstamp 6c43f34a-3dc4-4ed5-889d-1fb8d3aaa0d1)) + (segment (start 40.513 68.58) (end 45.847 68.58) (width 0.508) (layer "B.Cu") (net 26) (tstamp 6d49debf-6ad3-4fd2-8f32-8437b0b4f04b)) + (segment (start 39.37 94.361) (end 39.37 90.805) (width 0.508) (layer "B.Cu") (net 26) (tstamp 7b03d06d-d966-4e36-b0c2-aac84b9f72a9)) + (segment (start 40.64 89.535) (end 45.847 89.535) (width 0.508) (layer "B.Cu") (net 26) (tstamp 7d053d99-9b78-4f6a-9ca1-a8277bad932d)) + (segment (start 51.054 106.934) (end 50.038 107.95) (width 0.762) (layer "B.Cu") (net 26) (tstamp 89327afb-e967-41c5-82bd-26e6f5dd2ed4)) + (segment (start 40.386 34.671) (end 41.402 33.655) (width 0.508) (layer "B.Cu") (net 26) (tstamp 95992066-0589-4c1f-a086-c89b578ee05f)) + (segment (start 45.847 53.975) (end 45.847 61.087) (width 0.762) (layer "B.Cu") (net 26) (tstamp 96f1956a-cbf6-4272-a225-0730ed196eea)) + (segment (start 57.023 107.696) (end 56.261 106.934) (width 0.762) (layer "B.Cu") (net 26) (tstamp 9a60bd76-11d4-4cc5-aa84-c5d3595ab6e8)) + (segment (start 44.831 96.647) (end 45.847 96.647) (width 0.508) (layer "B.Cu") (net 26) (tstamp 9edb169b-fbfa-44d0-a592-54d7c67622ab)) + (segment (start 44.831 61.087) (end 45.847 61.087) (width 0.508) (layer "B.Cu") (net 26) (tstamp a196b99b-15a8-4966-973c-328b7962867f)) + (segment (start 56.261 106.934) (end 51.054 106.934) (width 0.762) (layer "B.Cu") (net 26) (tstamp a7aca914-0e07-46af-8587-23ee2aebc2a4)) + (segment (start 39.37 73.025) (end 40.64 71.755) (width 0.508) (layer "B.Cu") (net 26) (tstamp ac894f69-de78-41cc-9166-5f2a643114cd)) + (segment (start 44.831 78.867) (end 45.847 78.867) (width 0.508) (layer "B.Cu") (net 26) (tstamp addb00ce-24c5-40d3-9b45-701ba59f0f7a)) + (segment (start 81.28 39.3192) (end 81.28 39.9288) (width 0.762) (layer "B.Cu") (net 26) (tstamp b9f88c5e-dcd6-4f79-97ea-75da4895245e)) + (segment (start 50.038 107.95) (end 46.99 107.95) (width 0.762) (layer "B.Cu") (net 26) (tstamp baded81a-9b44-40e4-90ce-40e0ef5ba648)) + (segment (start 41.402 33.655) (end 44.958 33.655) (width 0.508) (layer "B.Cu") (net 26) (tstamp c23eb637-655c-416c-9bfa-9c39249347b0)) + (segment (start 66.421 107.696) (end 62.611 107.696) (width 1.016) (layer "B.Cu") (net 26) (tstamp cd1471e0-3973-44ee-b030-df45b149f50a)) + (segment (start 45.847 43.307) (end 45.847 53.975) (width 0.762) (layer "B.Cu") (net 26) (tstamp d4c17725-2054-4300-a67f-0d83739fac10)) + (segment (start 39.37 76.581) (end 39.37 73.025) (width 0.508) (layer "B.Cu") (net 26) (tstamp de3736fb-6aac-4a01-acb1-f191922c660f)) + (segment (start 68.707 97.917) (end 68.707 105.41) (width 1.016) (layer "B.Cu") (net 26) (tstamp e8aa0f81-2981-426a-83fe-6f1580d0459d)) + (segment (start 56.388 110.617) (end 57.023 109.982) (width 0.762) (layer "B.Cu") (net 26) (tstamp ecb77486-39ed-4885-959f-e3e8639c7952)) + (segment (start 81.28 39.9288) (end 81.28 55.245) (width 0.762) (layer "B.Cu") (net 26) (tstamp f5632a45-0a15-4c9e-8623-ebc4dd13e0e9)) + (segment (start 40.513 50.8) (end 45.847 50.8) (width 0.508) (layer "B.Cu") (net 26) (tstamp fba81260-db57-4c42-ac68-b4fcfb558828)) + (segment (start 45.847 61.087) (end 45.847 68.58) (width 0.762) (layer "B.Cu") (net 26) (tstamp fc52af22-911a-456e-a3db-d4fac879d0a7)) + (segment (start 51.497 43.307) (end 53.213 43.307) (width 0.508) (layer "F.Cu") (net 27) (tstamp 04dceeba-d4a7-4603-81b2-57eab0d0557a)) + (segment (start 39.37 38.481) (end 39.05 38.801) (width 0.508) (layer "F.Cu") (net 27) (tstamp 09a1d91b-9904-448b-92f2-775d0b9b6230)) + (segment (start 39.37 91.821) (end 39.05 92.141) (width 0.508) (layer "F.Cu") (net 27) (tstamp 0e143e53-fa49-4906-b395-acb07fa29c00)) + (segment (start 53.988 112.141) (end 53.975 112.128) (width 0.762) (layer "F.Cu") (net 27) (tstamp 0f3970d0-7a1a-4864-a738-54a286ee8e95)) + (segment (start 53.213 43.307) (end 54.343 43.307) (width 0.508) (layer "F.Cu") (net 27) (tstamp 19f566ba-65bf-44ba-9fa1-dc211f18b5ee)) + (segment (start 47.244 105.537) (end 39.37 105.537) (width 0.508) (layer "F.Cu") (net 27) (tstamp 1c56ce0c-d750-440f-8ca2-8b814f93c2d4)) + (segment (start 47.244 87.757) (end 39.37 87.757) (width 0.508) (layer "F.Cu") (net 27) (tstamp 2f569157-a95e-42f2-9559-b99d562ed0a1)) + (segment (start 56.134 112.141) (end 54.864 112.141) (width 0.762) (layer "F.Cu") (net 27) (tstamp 383dee48-1476-411d-b681-9508b961980b)) + (segment (start 50.292 111.821) (end 51.115 111.821) (width 0.508) (layer "F.Cu") (net 27) (tstamp 4107a6da-2dee-4a67-afd0-afa1af9569d7)) + (segment (start 54.864 112.141) (end 53.988 112.141) (width 0.762) (layer "F.Cu") (net 27) (tstamp 42a99161-6c43-43f7-bf7c-27d557c927d4)) + (segment (start 39.37 98.933) (end 39.05 99.253) (width 0.508) (layer "F.Cu") (net 27) (tstamp 4af67c34-6558-4ffd-854d-de352c22af50)) + (segment (start 39.05 38.801) (end 38.0515 38.801) (width 0.508) (layer "F.Cu") (net 27) (tstamp 4c11738a-2b55-419c-9f60-97030d6fad76)) + (segment (start 53.213 78.867) (end 54.343 78.867) (width 0.508) (layer "F.Cu") (net 27) (tstamp 589b39e7-6a96-46b9-9059-94e4d61819f5)) + (segment (start 47.244 69.977) (end 39.37 69.977) (width 0.508) (layer "F.Cu") (net 27) (tstamp 5c02bef6-bb18-4f0c-9869-feb903bd3db8)) + (segment (start 51.497 61.087) (end 53.213 61.087) (width 0.508) (layer "F.Cu") (net 27) (tstamp 5eddcb01-26c9-455a-9d49-d1412e77983f)) + (segment (start 39.37 52.197) (end 39.37 56.261) (width 0.508) (layer "F.Cu") (net 27) (tstamp 62ccf701-897b-48e3-9d05-a201de9b44d2)) + (segment (start 51.422 112.128) (end 52.324 112.128) (width 0.508) (layer "F.Cu") (net 27) (tstamp 6f2f39e6-79e1-45af-8ea1-92f29ac8af8a)) + (segment (start 39.05 45.913) (end 38.0515 45.913) (width 0.508) (layer "F.Cu") (net 27) (tstamp 7a5e6943-d809-4d94-be73-a73aa87a3cf1)) + (segment (start 53.213 61.087) (end 54.343 61.087) (width 0.508) (layer "F.Cu") (net 27) (tstamp 7cfa665c-589b-4dfe-b5d5-e2e9303058ef)) + (segment (start 39.37 45.593) (end 39.05 45.913) (width 0.508) (layer "F.Cu") (net 27) (tstamp 7e8793be-fbc3-47de-8ad7-68536174a726)) + (segment (start 51.115 111.821) (end 51.422 112.128) (width 0.508) (layer "F.Cu") (net 27) (tstamp 7ea2d8b8-ea5a-44e2-814e-93dfa5ea06af)) + (segment (start 39.37 74.041) (end 39.05 74.361) (width 0.508) (layer "F.Cu") (net 27) (tstamp 805baea9-a492-409f-a04c-25b51dbc0861)) + (segment (start 39.37 69.977) (end 39.37 74.041) (width 0.508) (layer "F.Cu") (net 27) (tstamp 8239c079-1b72-46c9-b3cf-72a921b65f62)) + (segment (start 51.497 96.647) (end 53.213 96.647) (width 0.508) (layer "F.Cu") (net 27) (tstamp 8bcd2451-254b-498f-9e60-792b314e2568)) + (segment (start 47.244 52.197) (end 39.37 52.197) (width 0.508) (layer "F.Cu") (net 27) (tstamp 8e02b984-9b22-47d4-bee6-2f063c2b62cc)) + (segment (start 39.05 63.693) (end 38.0515 63.693) (width 0.508) (layer "F.Cu") (net 27) (tstamp 9751ddf1-f36e-4c4e-845e-053b352a2294)) + (segment (start 39.05 99.253) (end 38.0515 99.253) (width 0.508) (layer "F.Cu") (net 27) (tstamp a2e89fd7-63b1-4c97-9c8b-8f24d72c96b4)) + (segment (start 39.37 56.261) (end 39.05 56.581) (width 0.508) (layer "F.Cu") (net 27) (tstamp a658c4c3-3ef3-4cbc-b7a8-ebd97ac59d92)) + (segment (start 53.975 112.128) (end 52.324 112.128) (width 0.508) (layer "F.Cu") (net 27) (tstamp ab2d321f-9d13-4b51-bc1b-90865e914794)) + (segment (start 39.05 81.473) (end 38.0515 81.473) (width 0.508) (layer "F.Cu") (net 27) (tstamp abcd1199-e323-45bb-b849-0a0adc0a6260)) + (segment (start 51.497 78.867) (end 53.213 78.867) (width 0.508) (layer "F.Cu") (net 27) (tstamp b4153a6e-7c38-48a8-9191-533cac67a050)) + (segment (start 39.37 81.153) (end 39.05 81.473) (width 0.508) (layer "F.Cu") (net 27) (tstamp bbd54354-34a2-4fdc-88ba-856638133108)) + (segment (start 39.05 92.141) (end 38.0515 92.141) (width 0.508) (layer "F.Cu") (net 27) (tstamp c44a702e-06bf-489e-a45e-2a5a64c6a70e)) + (segment (start 39.37 87.757) (end 39.37 91.821) (width 0.508) (layer "F.Cu") (net 27) (tstamp cfa7cbec-5d0e-4bb9-b4b4-84de4f3c31b6)) + (segment (start 39.37 63.373) (end 39.05 63.693) (width 0.508) (layer "F.Cu") (net 27) (tstamp d04b49a7-ec4c-4c9e-8b9e-0cd28bc8b571)) + (segment (start 39.05 74.361) (end 38.0515 74.361) (width 0.508) (layer "F.Cu") (net 27) (tstamp d8cba3a2-136d-4137-b23b-8208291fc077)) + (segment (start 53.213 96.647) (end 54.343 96.647) (width 0.508) (layer "F.Cu") (net 27) (tstamp dd3264fc-dcd3-421c-8781-f83bf91d44a7)) + (segment (start 39.05 56.581) (end 38.0515 56.581) (width 0.508) (layer "F.Cu") (net 27) (tstamp ed58f19e-54ed-48b0-a34d-9a0ddd5836ab)) + (via (at 39.37 63.373) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 011f97b6-bb27-4445-80bd-75dbf91c95f2)) + (via (at 53.213 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 1e1049e4-48d5-4d54-806d-a7987d93bc9d)) + (via (at 53.213 43.307) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 283339c7-060b-4a5b-afb2-071051a20ebe)) + (via (at 39.37 52.197) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 3876c044-457f-4117-9876-fa742ddd7b12)) + (via (at 53.213 61.087) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 3becdbd7-36df-40da-a4d9-249f3fc885e1)) + (via (at 53.213 78.867) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 49825e76-e656-4435-8e02-0dbb7c9df615)) + (via (at 39.37 69.977) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 4cc3ac09-c61b-41b8-be58-39c5fa090473)) + (via (at 39.37 105.537) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 4cc7fe89-e232-4531-88e6-d77e32967136)) + (via (at 39.37 98.933) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 591dabfe-40b9-4263-a394-8aada6054488)) + (via (at 39.37 87.757) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 60f641d5-5fe1-47ab-9e91-2e6372b9cbc4)) + (via (at 54.864 112.141) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 70fbe6cd-bfd2-4cc8-b6da-535fa763ddf6)) + (via (at 39.37 81.153) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 83a7e390-af76-4c14-82c1-b68afe38f0e9)) + (via (at 56.134 112.141) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp 9c2841cf-1f6e-42a0-a76a-73d965e556ff)) + (via (at 47.244 87.757) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp a4544ccb-3696-434e-8555-2c47b284de50)) + (via (at 55.499 112.141) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp ad0424b1-c614-4780-89f0-627dd4da1de9)) + (via (at 47.244 52.197) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp ad1e8074-877e-44e9-8b72-c4e50a914cda)) + (via (at 47.244 69.977) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp bf4396df-1e17-4d01-b5fc-5bbeb50a6220)) + (via (at 47.244 105.537) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp c47cb6d9-c101-46ed-8555-d2255c9e58ee)) + (via (at 39.37 38.481) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp cd7fe474-1885-4d96-944f-6ae5aa2bc06f)) + (via (at 39.37 45.593) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 27) (tstamp f214fddf-3f27-4406-b291-e81ac8e50c76)) + (segment (start 56.769 105.791) (end 58.166 107.188) (width 0.762) (layer "B.Cu") (net 27) (tstamp 0c0fff1b-0042-4b3e-927a-38c46da56216)) + (segment (start 49.53 106.807) (end 50.546 105.791) (width 0.762) (layer "B.Cu") (net 27) (tstamp 0f8f9cf6-0975-410c-a379-63979fe91405)) + (segment (start 38.735 102.616) (end 38.735 104.902) (width 0.508) (layer "B.Cu") (net 27) (tstamp 1cf67d7c-bc18-4776-b745-7c2505fde833)) + (segment (start 39.37 34.163) (end 39.37 38.481) (width 0.508) (layer "B.Cu") (net 27) (tstamp 243ae06c-946d-4544-9205-031f18dc839f)) + (segment (start 50.546 105.791) (end 56.769 105.791) (width 0.762) (layer "B.Cu") (net 27) (tstamp 2c2572a9-09bd-4955-b922-dafae143df6a)) + (segment (start 39.37 45.593) (end 39.37 48.641) (width 0.508) (layer "B.Cu") (net 27) (tstamp 2e6c5210-39cd-41f4-9873-1c439da565ad)) + (segment (start 45.339 32.639) (end 40.894 32.639) (width 0.508) (layer "B.Cu") (net 27) (tstamp 2f3351d3-0a94-4e91-b9f6-19d75262b28e)) + (segment (start 53.213 61.087) (end 46.99 61.087) (width 0.508) (layer "B.Cu") (net 27) (tstamp 4600fbae-6a89-46fc-9713-5be9705fcfed)) + (segment (start 58.166 107.188) (end 58.166 110.744) (width 0.762) (layer "B.Cu") (net 27) (tstamp 5e8539f1-ca4d-4d48-9714-f39408c6dbf2)) + (segment (start 57.912 110.998) (end 56.769 112.141) (width 0.762) (layer "B.Cu") (net 27) (tstamp 5f6a0760-6144-43af-a7f0-0f8dc1542a70)) + (segment (start 47.625 106.807) (end 49.53 106.807) (width 0.762) (layer "B.Cu") (net 27) (tstamp 68302af9-2550-43f6-a692-93eb0b92133c)) + (segment (start 38.735 87.122) (end 39.37 87.757) (width 0.508) (layer "B.Cu") (net 27) (tstamp 687e7e7c-2f15-4696-8811-7e38c77ff922)) + (segment (start 56.769 112.141) (end 54.864 112.141) (width 0.762) (layer "B.Cu") (net 27) (tstamp 6a1ac49a-c34b-4684-a0ad-30de009082af)) + (segment (start 38.735 69.342) (end 39.37 69.977) (width 0.508) (layer "B.Cu") (net 27) (tstamp 6cce29f2-9be3-4ed3-b188-274241a177bf)) + (segment (start 38.735 49.276) (end 38.735 51.562) (width 0.508) (layer "B.Cu") (net 27) (tstamp 6d0efea8-86ec-4ed3-84e4-7b43dbb69225)) + (segment (start 46.99 87.757) (end 47.244 87.757) (width 0.762) (layer "B.Cu") (net 27) (tstamp 736bb096-5469-456e-93ff-a92550201de4)) + (segment (start 53.213 43.307) (end 46.99 43.307) (width 0.508) (layer "B.Cu") (net 27) (tstamp 753153a5-09e2-453a-8822-b88f3c5e5973)) + (segment (start 39.37 63.373) (end 39.37 66.421) (width 0.508) (layer "B.Cu") (net 27) (tstamp 78cecfba-5a2c-4e69-afac-dde44fbb09a3)) + (segment (start 46.99 69.977) (end 47.244 69.977) (width 0.762) (layer "B.Cu") (net 27) (tstamp 7c9306fd-a61e-403f-ad67-7a63799e542e)) + (segment (start 46.99 61.087) (end 46.99 69.977) (width 0.762) (layer "B.Cu") (net 27) (tstamp 82cad38b-48b0-4e5d-85ab-a71514879ff9)) + (segment (start 39.37 98.933) (end 39.37 101.981) (width 0.508) (layer "B.Cu") (net 27) (tstamp 8bb5d139-f4b2-4dcb-afe8-e1715b4b1415)) + (segment (start 46.99 34.29) (end 45.339 32.639) (width 0.508) (layer "B.Cu") (net 27) (tstamp 9586950d-9708-4bcc-beaa-a4afeff11171)) + (segment (start 53.213 96.647) (end 46.99 96.647) (width 0.508) (layer "B.Cu") (net 27) (tstamp 9a4aa7c2-5a32-40ff-8a33-c508d8d62fcc)) + (segment (start 39.37 84.201) (end 38.735 84.836) (width 0.508) (layer "B.Cu") (net 27) (tstamp a1798f78-7220-438d-a2d6-2fc858eba195)) + (segment (start 58.166 110.744) (end 57.912 110.998) (width 0.762) (layer "B.Cu") (net 27) (tstamp aa0ea527-740f-44ec-a230-f20a0d994cbf)) + (segment (start 40.894 32.639) (end 39.37 34.163) (width 0.508) (layer "B.Cu") (net 27) (tstamp b94d386a-6a5b-4fc5-a30d-f79cfd03c18e)) + (segment (start 38.735 84.836) (end 38.735 87.122) (width 0.508) (layer "B.Cu") (net 27) (tstamp b972d013-9382-448c-ae5f-922347bf8842)) + (segment (start 38.735 51.562) (end 39.37 52.197) (width 0.508) (layer "B.Cu") (net 27) (tstamp bc057b95-cd47-4be3-bbbd-fa8ce28c0d70)) + (segment (start 39.37 81.153) (end 39.37 84.201) (width 0.508) (layer "B.Cu") (net 27) (tstamp c0c72ec5-f9d3-4f70-90ab-239037019abb)) + (segment (start 39.37 48.641) (end 38.735 49.276) (width 0.508) (layer "B.Cu") (net 27) (tstamp cb4fede2-e1f1-40b1-ae18-bd80facc1111)) + (segment (start 46.99 43.307) (end 46.99 61.087) (width 0.762) (layer "B.Cu") (net 27) (tstamp d200ef7a-3db2-4f0f-b760-9e9664fe7d5b)) + (segment (start 38.735 67.056) (end 38.735 69.342) (width 0.508) (layer "B.Cu") (net 27) (tstamp d8584d30-5fe3-4355-9e38-4798d0ac21dc)) + (segment (start 39.37 66.421) (end 38.735 67.056) (width 0.508) (layer "B.Cu") (net 27) (tstamp d93545d5-5277-470e-94f9-31b27383aa97)) + (segment (start 53.213 78.867) (end 46.99 78.867) (width 0.508) (layer "B.Cu") (net 27) (tstamp d9b5ac9b-d485-4ad4-919f-429f6cda2054)) + (segment (start 46.99 69.977) (end 46.99 106.172) (width 0.762) (layer "B.Cu") (net 27) (tstamp df58175f-9458-4a9a-90ad-56ed5eecf750)) + (segment (start 38.735 104.902) (end 39.37 105.537) (width 0.508) (layer "B.Cu") (net 27) (tstamp e046df1f-62eb-443c-8225-7a7c8c27094e)) + (segment (start 59.436 112.522) (end 57.912 110.998) (width 0.508) (layer "B.Cu") (net 27) (tstamp e2fddab0-2dcc-4554-be53-bade2452f1a9)) + (segment (start 46.99 105.537) (end 47.244 105.537) (width 0.762) (layer "B.Cu") (net 27) (tstamp e33efeea-f01c-4ad3-9210-a303c07438a0)) + (segment (start 46.99 43.307) (end 46.99 34.29) (width 0.508) (layer "B.Cu") (net 27) (tstamp f91343c0-3d3f-42a6-8352-c79a2a71bbd6)) + (segment (start 39.37 101.981) (end 38.735 102.616) (width 0.508) (layer "B.Cu") (net 27) (tstamp f9a886fc-f9bf-4b72-91d1-1e94ba77e919)) + (segment (start 46.99 106.172) (end 47.625 106.807) (width 0.762) (layer "B.Cu") (net 27) (tstamp fb9d1c9f-7055-47c0-a103-d649f127e5ee)) + (segment (start 57.912 64.91) (end 58.534 64.91) (width 0.254) (layer "F.Cu") (net 28) (tstamp 025d49e8-5f23-46cb-ab15-1a5fe3d242ef)) + (segment (start 59.944 44.323) (end 60.67 43.597) (width 0.254) (layer "F.Cu") (net 28) (tstamp 0b7679c8-7397-40fb-b814-aa8520aee703)) + (segment (start 59.436 55.88) (end 59.436 48.006) (width 0.254) (layer "F.Cu") (net 28) (tstamp 2a0308b3-c0ea-4ce5-a2f3-54bc493c2139)) + (segment (start 57.912 66.485) (end 57.912 64.91) (width 0.508) (layer "F.Cu") (net 28) (tstamp 782a828e-d3eb-4954-8a7f-63a233540d8d)) + (segment (start 59.944 47.498) (end 59.944 44.323) (width 0.254) (layer "F.Cu") (net 28) (tstamp 99977994-7c56-4778-853f-7c83f944cf1f)) + (segment (start 60.67 43.597) (end 62.0045 43.597) (width 0.254) (layer "F.Cu") (net 28) (tstamp a0741831-e0c6-4ae3-9f1c-ecbacd6e95f0)) + (segment (start 58.928 64.516) (end 58.928 56.388) (width 0.254) (layer "F.Cu") (net 28) (tstamp a963b3dc-875b-4724-8791-b94ea62099c0)) + (segment (start 58.534 64.91) (end 58.928 64.516) (width 0.254) (layer "F.Cu") (net 28) (tstamp d9475fff-eab6-45ff-9820-eee5401b5333)) + (segment (start 59.436 48.006) (end 59.944 47.498) (width 0.254) (layer "F.Cu") (net 28) (tstamp f577a41d-c4a7-4320-8f04-32632bc98f35)) + (segment (start 58.928 56.388) (end 59.436 55.88) (width 0.254) (layer "F.Cu") (net 28) (tstamp f66ef068-88d6-42b3-9587-0e781fdb11d9)) + (segment (start 60.452 66.294) (end 60.452 74.168) (width 0.254) (layer "F.Cu") (net 29) (tstamp 31c83c15-fc06-4a4a-9e79-5308167cbb10)) + (segment (start 58.661 100.47) (end 57.912 100.47) (width 0.254) (layer "F.Cu") (net 29) (tstamp 3de5ccbe-0e37-4802-a009-0efb365dd8a6)) + (segment (start 58.928 100.203) (end 58.661 100.47) (width 0.254) (layer "F.Cu") (net 29) (tstamp 60d2cca8-9919-4dfc-87c2-6bfb64e3a598)) + (segment (start 61.849 56.515) (end 60.96 57.404) (width 0.254) (layer "F.Cu") (net 29) (tstamp 87c360e9-1a12-43f2-afd3-05985e8bb319)) + (segment (start 60.96 65.786) (end 60.452 66.294) (width 0.254) (layer "F.Cu") (net 29) (tstamp 96f52a86-d698-4a4d-aa38-11341f02523d)) + (segment (start 59.944 83.185) (end 59.436 83.693) (width 0.254) (layer "F.Cu") (net 29) (tstamp a68fcc0f-e8e0-4d46-9707-307dbffb9b60)) + (segment (start 57.912 102.045) (end 57.912 100.47) (width 0.508) (layer "F.Cu") (net 29) (tstamp a927f35c-816b-4ea0-bc87-1bd0304549fe)) + (segment (start 60.452 74.168) (end 59.944 74.676) (width 0.254) (layer "F.Cu") (net 29) (tstamp ca9c7f85-e9b6-4727-8c1b-6f7208151c92)) + (segment (start 59.944 74.676) (end 59.944 83.185) (width 0.254) (layer "F.Cu") (net 29) (tstamp cbd23024-dabe-40e1-ab60-acac946bee00)) + (segment (start 59.436 83.693) (end 59.436 91.313) (width 0.254) (layer "F.Cu") (net 29) (tstamp cdd83539-4281-4a78-95ea-276aec10662e)) + (segment (start 58.928 91.821) (end 58.928 100.203) (width 0.254) (layer "F.Cu") (net 29) (tstamp ce97a4af-ee4d-4c81-bf75-99470e51fb51)) + (segment (start 64.516 45.212) (end 64.131 45.597) (width 0.254) (layer "F.Cu") (net 29) (tstamp d672ae04-0b7f-4158-bc9f-da92ecca869e)) + (segment (start 64.131 45.597) (end 62.0045 45.597) (width 0.254) (layer "F.Cu") (net 29) (tstamp dc044c82-831c-4223-9ed9-e0f852702000)) + (segment (start 60.96 57.404) (end 60.96 65.786) (width 0.254) (layer "F.Cu") (net 29) (tstamp dd875eac-ee3d-41f4-a62e-5cc25732cc37)) + (segment (start 59.436 91.313) (end 58.928 91.821) (width 0.254) (layer "F.Cu") (net 29) (tstamp f2d41027-4a6f-43a9-898a-1443f4c938c2)) + (segment (start 61.849 52.197) (end 61.849 56.515) (width 0.254) (layer "F.Cu") (net 29) (tstamp fdaeaa05-795b-4e90-bf02-48763a06669d)) + (via (at 64.516 45.212) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 29) (tstamp 6b1ac5b0-0853-474f-b73a-ea301b94ad37)) + (via (at 61.849 52.197) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 29) (tstamp f81bd532-e2ca-4511-8086-719dc0dc3117)) + (segment (start 64.516 45.212) (end 62.484 45.212) (width 0.254) (layer "B.Cu") (net 29) (tstamp 6d9ee428-f27e-40d3-8169-50dc64554d42)) + (segment (start 62.484 45.212) (end 61.849 45.847) (width 0.254) (layer "B.Cu") (net 29) (tstamp ae8acc37-3ffb-446d-b4c8-28a552089aa5)) + (segment (start 61.849 45.847) (end 61.849 52.197) (width 0.254) (layer "B.Cu") (net 29) (tstamp c43cece3-3e62-45c0-b869-9a6eb7d80e27)) + (segment (start 60.408 43.097) (end 59.436 44.069) (width 0.254) (layer "F.Cu") (net 30) (tstamp 17f7011e-bfff-4a03-a7c1-4ede19bbe95a)) + (segment (start 62.0045 43.097) (end 60.408 43.097) (width 0.254) (layer "F.Cu") (net 30) (tstamp 83079303-dec7-4b19-b633-65097db96f72)) + (segment (start 59.436 44.069) (end 59.436 47.244) (width 0.254) (layer "F.Cu") (net 30) (tstamp 92c00222-c941-4ffc-b9ab-14655fa0bfbf)) + (segment (start 59.436 47.244) (end 58.928 47.752) (width 0.254) (layer "F.Cu") (net 30) (tstamp a20e8d3c-0ca7-47e6-96d8-fa95fb1f336f)) + (segment (start 58.928 47.752) (end 58.928 55.499) (width 0.254) (layer "F.Cu") (net 30) (tstamp c73af6e5-fb03-46bd-a6f9-65845857afc2)) + (segment (start 57.912 55.689) (end 57.912 57.264) (width 0.508) (layer "F.Cu") (net 30) (tstamp d800f8e9-b5f0-484f-b04a-21bc6b7f666f)) + (segment (start 58.928 55.499) (end 58.738 55.689) (width 0.254) (layer "F.Cu") (net 30) (tstamp ee2a4731-a497-4b9f-b897-04d2a6d16cad)) + (segment (start 58.738 55.689) (end 57.912 55.689) (width 0.254) (layer "F.Cu") (net 30) (tstamp f4018e15-cfde-4c6a-bce2-75e5d6e19ed7)) + (segment (start 60.452 57.15) (end 60.452 65.532) (width 0.254) (layer "F.Cu") (net 31) (tstamp 08750deb-7bcb-4b98-8c75-1e837577707a)) + (segment (start 64.389 44.323) (end 63.615 45.097) (width 0.254) (layer "F.Cu") (net 31) (tstamp 151cd23c-a9d1-4a04-834e-8a8e6caa33e4)) + (segment (start 57.912 91.249) (end 57.912 92.824) (width 0.508) (layer "F.Cu") (net 31) (tstamp 19e1e423-6b23-48ba-a00e-114195cb580e)) + (segment (start 58.928 90.932) (end 58.611 91.249) (width 0.254) (layer "F.Cu") (net 31) (tstamp 1f1cbd96-cf3b-4c33-be63-6ac00f1c54c9)) + (segment (start 58.611 91.249) (end 57.912 91.249) (width 0.254) (layer "F.Cu") (net 31) (tstamp 2cabda90-4847-474e-b5a6-198f1b609a03)) + (segment (start 63.615 45.097) (end 62.0045 45.097) (width 0.254) (layer "F.Cu") (net 31) (tstamp 42d51519-a793-4b13-b452-bec84c6fd556)) + (segment (start 61.214 53.086) (end 61.214 56.388) (width 0.254) (layer "F.Cu") (net 31) (tstamp 7ee98216-55a8-44b7-a7ea-b671ed48c844)) + (segment (start 61.214 56.388) (end 60.452 57.15) (width 0.254) (layer "F.Cu") (net 31) (tstamp a6c9afba-5292-4ada-b19b-d0e4f1a1f7d6)) + (segment (start 59.944 73.914) (end 59.436 74.422) (width 0.254) (layer "F.Cu") (net 31) (tstamp a7de75c1-b86a-42d0-acde-9b8bcd3345e2)) + (segment (start 60.452 65.532) (end 59.944 66.04) (width 0.254) (layer "F.Cu") (net 31) (tstamp af6d9024-0aa8-45c7-9ba9-867118776b39)) + (segment (start 59.436 82.804) (end 58.928 83.312) (width 0.254) (layer "F.Cu") (net 31) (tstamp db396265-d41f-455e-8d67-ca5fa58ecc7a)) + (segment (start 59.944 66.04) (end 59.944 73.914) (width 0.254) (layer "F.Cu") (net 31) (tstamp f2a4d02d-8ab5-4dbc-8820-72ee6a075d5f)) + (segment (start 59.436 74.422) (end 59.436 82.804) (width 0.254) (layer "F.Cu") (net 31) (tstamp fea2e129-af1e-42e1-80bf-5949eb0bed9f)) + (segment (start 58.928 83.312) (end 58.928 90.932) (width 0.254) (layer "F.Cu") (net 31) (tstamp ff70dba3-41d0-4ba3-ae3a-e6bb81fad86b)) + (via (at 64.389 44.323) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 31) (tstamp 379ca819-4545-4c37-976e-177e96ac9185)) + (via (at 61.214 53.086) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 31) (tstamp 98264bf8-bd56-497a-bee6-ea9815ab421b)) + (segment (start 61.214 45.593) (end 61.214 53.086) (width 0.254) (layer "B.Cu") (net 31) (tstamp 391b6091-100a-4530-ab8b-8c082fad9cc4)) + (segment (start 62.484 44.323) (end 61.214 45.593) (width 0.254) (layer "B.Cu") (net 31) (tstamp 433dc9e0-e7e3-4868-8d0c-d25174d18848)) + (segment (start 64.389 44.323) (end 62.484 44.323) (width 0.254) (layer "B.Cu") (net 31) (tstamp cbccacf4-75da-4291-af60-fa608c2015c8)) + (segment (start 58.928 46.863) (end 58.661 47.13) (width 0.254) (layer "F.Cu") (net 32) (tstamp 15f402a8-2ff2-4acd-a650-21179a397ec8)) + (segment (start 63.417 41.6845) (end 63.417 40.557) (width 0.254) (layer "F.Cu") (net 32) (tstamp 16de2ee2-f56a-4f60-88bd-d16a80b68f27)) + (segment (start 57.912 48.705) (end 57.912 47.13) (width 0.508) (layer "F.Cu") (net 32) (tstamp 2af0035c-1f5a-4dcc-b1f6-ac365e0447f3)) + (segment (start 58.928 40.513) (end 58.928 46.863) (width 0.254) (layer "F.Cu") (net 32) (tstamp 2ce5b989-9575-4a8f-bfe8-56a784e9b134)) + (segment (start 63.417 40.557) (end 62.865 40.005) (width 0.254) (layer "F.Cu") (net 32) (tstamp 4292ed12-536c-47d3-8a9d-6e3317347b17)) + (segment (start 62.865 40.005) (end 59.436 40.005) (width 0.254) (layer "F.Cu") (net 32) (tstamp 5dca8223-3513-44d2-8485-aaba1ddd8970)) + (segment (start 58.661 47.13) (end 57.912 47.13) (width 0.254) (layer "F.Cu") (net 32) (tstamp b9edadb4-d011-497e-93d7-b265eda280b3)) + (segment (start 59.436 40.005) (end 58.928 40.513) (width 0.254) (layer "F.Cu") (net 32) (tstamp f6f77823-4ca6-425a-a0d8-98d2720a7c20)) + (segment (start 60.579 52.197) (end 60.579 56.261) (width 0.254) (layer "F.Cu") (net 33) (tstamp 0dc00cf3-0676-47c3-85bd-167e57723846)) + (segment (start 57.912 84.265) (end 57.912 82.69) (width 0.508) (layer "F.Cu") (net 33) (tstamp 2b7df1cb-b7ca-4126-b958-2f79b184457d)) + (segment (start 59.436 65.786) (end 59.436 73.66) (width 0.254) (layer "F.Cu") (net 33) (tstamp 39d0118a-ad9b-43a3-96f0-47e322d831ae)) + (segment (start 59.436 73.66) (end 58.928 74.168) (width 0.254) (layer "F.Cu") (net 33) (tstamp 61de95e2-eeed-4baa-85bf-af784d9f026f)) + (segment (start 60.579 56.261) (end 59.944 56.896) (width 0.254) (layer "F.Cu") (net 33) (tstamp 788622af-8cfd-4c1d-a9ef-574227842c0e)) + (segment (start 58.661 82.69) (end 57.912 82.69) (width 0.254) (layer "F.Cu") (net 33) (tstamp 840d3334-408b-4f37-938c-85b2833320b0)) + (segment (start 58.928 82.423) (end 58.661 82.69) (width 0.254) (layer "F.Cu") (net 33) (tstamp 8631d2ac-a87b-40e3-8a0d-cb606413360a)) + (segment (start 63.754 43.561) (end 63.754 44.069) (width 0.254) (layer "F.Cu") (net 33) (tstamp 8e3146b0-f25f-4031-b39d-309108331b36)) + (segment (start 63.226 44.597) (end 62.0045 44.597) (width 0.254) (layer "F.Cu") (net 33) (tstamp a90ab16f-3f94-44c9-b6ca-b41f725fc32c)) + (segment (start 59.944 56.896) (end 59.944 65.278) (width 0.254) (layer "F.Cu") (net 33) (tstamp b609462f-d512-4cd0-a768-e32bbfacd4f9)) + (segment (start 59.944 65.278) (end 59.436 65.786) (width 0.254) (layer "F.Cu") (net 33) (tstamp ca51c996-5701-4821-a70c-d8581623199d)) + (segment (start 63.754 44.069) (end 63.226 44.597) (width 0.254) (layer "F.Cu") (net 33) (tstamp d6a99d0a-fb8f-4678-8319-37208431c8bd)) + (segment (start 58.928 74.168) (end 58.928 82.423) (width 0.254) (layer "F.Cu") (net 33) (tstamp fb4a1e2b-07d4-4697-b5aa-f9ea45751270)) + (via (at 60.579 52.197) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 33) (tstamp 999bd520-eefb-4d39-b0c5-98e943336b23)) + (via (at 63.754 43.561) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 33) (tstamp d7c1b401-8c05-410d-b6d9-6646c2396f74)) + (segment (start 63.754 43.561) (end 62.23 43.561) (width 0.254) (layer "B.Cu") (net 33) (tstamp 49aab3ca-6d4f-4ec6-b6fa-2dfe3107adac)) + (segment (start 62.23 43.561) (end 60.579 45.212) (width 0.254) (layer "B.Cu") (net 33) (tstamp 56a5f52a-12a3-4178-a0a7-0965b1bad068)) + (segment (start 60.579 45.212) (end 60.579 52.197) (width 0.254) (layer "B.Cu") (net 33) (tstamp ccd63217-04ec-4114-950a-42d1186dfe66)) + (segment (start 57.912 39.484) (end 63.106 39.484) (width 0.254) (layer "F.Cu") (net 34) (tstamp 0fb3dced-701c-450a-b083-cbb639e4993b)) + (segment (start 57.912 37.909) (end 57.912 39.484) (width 0.508) (layer "F.Cu") (net 34) (tstamp 242ccf75-04e8-4378-9f13-93143cbc4d3f)) + (segment (start 63.106 39.484) (end 63.917 40.295) (width 0.254) (layer "F.Cu") (net 34) (tstamp 88e1fdbe-8db1-4275-a2b0-641a35c03409)) + (segment (start 63.917 40.295) (end 63.917 41.6845) (width 0.254) (layer "F.Cu") (net 34) (tstamp c0176c61-052e-4f57-bea6-80f82430ff89)) + (segment (start 58.928 65.532) (end 59.436 65.024) (width 0.254) (layer "F.Cu") (net 35) (tstamp 252052a2-b29f-44aa-83a9-b3957edf1256)) + (segment (start 57.912 73.469) (end 57.912 75.044) (width 0.508) (layer "F.Cu") (net 35) (tstamp 279d583d-c872-40ae-8423-70f1a5d41cb2)) + (segment (start 57.912 73.469) (end 58.611 73.469) (width 0.254) (layer "F.Cu") (net 35) (tstamp 304192c7-ab21-4e54-a4dc-5d18925ff49c)) + (segment (start 58.611 73.469) (end 58.928 73.152) (width 0.254) (layer "F.Cu") (net 35) (tstamp 4be34b32-0edc-4f32-90ca-033284c39d49)) + (segment (start 60.96 44.069) (end 61.9765 44.069) (width 0.254) (layer "F.Cu") (net 35) (tstamp 5fdd2b00-fdeb-42c1-85eb-86fd61a992f8)) + (segment (start 58.928 73.152) (end 58.928 65.532) (width 0.254) (layer "F.Cu") (net 35) (tstamp 614efb4a-d4dd-4af0-a4ac-550ce177cf72)) + (segment (start 59.944 56.134) (end 59.944 48.26) (width 0.254) (layer "F.Cu") (net 35) (tstamp 629bc33e-ee19-4ca8-8336-3d46a81905a0)) + (segment (start 60.452 47.752) (end 60.452 44.577) (width 0.254) (layer "F.Cu") (net 35) (tstamp 6631d56f-3068-4d43-8fbc-624c624ac110)) + (segment (start 59.436 65.024) (end 59.436 56.642) (width 0.254) (layer "F.Cu") (net 35) (tstamp 6712e2d4-2719-4238-a5fa-868f16044118)) + (segment (start 61.9765 44.069) (end 62.0045 44.097) (width 0.254) (layer "F.Cu") (net 35) (tstamp 6cb470b1-ba6e-405e-b700-1c1da53f2a9b)) + (segment (start 59.944 48.26) (end 60.452 47.752) (width 0.254) (layer "F.Cu") (net 35) (tstamp baee7a2c-b87d-469a-b29c-544e478eb7a1)) + (segment (start 60.452 44.577) (end 60.96 44.069) (width 0.254) (layer "F.Cu") (net 35) (tstamp bc483893-ee8f-4426-b073-bf62d9d44e26)) + (segment (start 59.436 56.642) (end 59.944 56.134) (width 0.254) (layer "F.Cu") (net 35) (tstamp e862b5ea-e75a-4483-9823-14025829b093)) + (segment (start 73.139 40.627) (end 73.787 41.275) (width 0.508) (layer "F.Cu") (net 36) (tstamp 19587017-687e-466c-9ee4-2afc43fc37c0)) + (segment (start 76.9312 39.0144) (end 76.982 38.9636) (width 0.508) (layer "F.Cu") (net 36) (tstamp 23f6b7db-9730-4451-a036-d820c389c609)) + (segment (start 73.139 39.37) (end 73.139 37.96) (width 0.508) (layer "F.Cu") (net 36) (tstamp 68e09807-0454-4dc7-b065-2f82f1fc9ea6)) + (segment (start 73.787 41.275) (end 76.1746 41.275) (width 0.508) (layer "F.Cu") (net 36) (tstamp 8452409f-de4b-49a8-8eb6-e6fdc517d224)) + (segment (start 76.982 37.0332) (end 76.9312 36.9824) (width 0.508) (layer "F.Cu") (net 36) (tstamp 849169a9-06fe-4d75-86c0-8f7b378ea2e5)) + (segment (start 72.9765 37.7975) (end 72.9765 36.703) (width 0.508) (layer "F.Cu") (net 36) (tstamp 9f1781a5-db50-48c6-ad0e-e3e35a0eb88c)) + (segment (start 76.982 38.9636) (end 76.982 37.0332) (width 0.508) (layer "F.Cu") (net 36) (tstamp bbee3ada-3c55-4fb2-99d3-3621e65abbe5)) + (segment (start 76.9312 40.5184) (end 76.9312 39.0144) (width 0.508) (layer "F.Cu") (net 36) (tstamp c85218d1-5e34-4820-918e-f100001c1f02)) + (segment (start 73.139 37.96) (end 72.9765 37.7975) (width 0.508) (layer "F.Cu") (net 36) (tstamp d938ca3d-cf37-481d-b69c-003af7ff9873)) + (segment (start 76.1746 41.275) (end 76.9312 40.5184) (width 0.508) (layer "F.Cu") (net 36) (tstamp d9514b51-a8c7-413f-b1af-cbc50f261783)) + (segment (start 73.139 39.37) (end 73.139 40.627) (width 0.508) (layer "F.Cu") (net 36) (tstamp fb5f68ac-a216-4882-8234-ee64b50ed79e)) + (segment (start 66.417 41.6845) (end 66.417 39.12) (width 0.254) (layer "F.Cu") (net 37) (tstamp 0f6311e5-a33e-4a7e-9857-16380da58bd9)) + (segment (start 66.167 38.862) (end 66.421 39.116) (width 0.254) (layer "F.Cu") (net 37) (tstamp 0f9114bb-eaf8-4662-9780-64f86714463d)) + (segment (start 74.689 35.5905) (end 74.8515 35.753) (width 0.254) (layer "F.Cu") (net 37) (tstamp 24333515-d673-4a06-a044-a9b5bd094135)) + (segment (start 67.417 41.6845) (end 67.417 38.969) (width 0.254) (layer "F.Cu") (net 37) (tstamp 2a853607-d417-401a-8fff-e89231fdd580)) + (segment (start 76.1492 35.052) (end 75.819 34.7218) (width 0.254) (layer "F.Cu") (net 37) (tstamp 30105db7-126d-4c30-b92a-b9767e1b2b4a)) + (segment (start 77.408 35.052) (end 76.1492 35.052) (width 0.254) (layer "F.Cu") (net 37) (tstamp 3605bdbc-939a-4b7e-bb53-58d983daeea9)) + (segment (start 71.943 35.753) (end 70.132 37.564) (width 0.381) (layer "F.Cu") (net 37) (tstamp 4ce5f538-ce27-440e-85b2-6a7d900a702c)) + (segment (start 74.775 31.877) (end 74.775 33.95) (width 0.254) (layer "F.Cu") (net 37) (tstamp 55b1c044-6357-4248-b44a-ec664571f5b7)) + (segment (start 66.917 39.612) (end 66.421 39.116) (width 0.254) (layer "F.Cu") (net 37) (tstamp 58e699e0-1191-4d8b-8495-12361c594500)) + (segment (start 75.819 34.7218) (end 75.819 31.877) (width 0.254) (layer "F.Cu") (net 37) (tstamp 5bbbd381-f7cc-4453-b32f-789a43612b0b)) + (segment (start 74.689 34.036) (end 74.689 35.5905) (width 0.254) (layer "F.Cu") (net 37) (tstamp 5cb36c23-324a-43dd-82f1-dee6bef046e1)) + (segment (start 74.8515 35.753) (end 71.943 35.753) (width 0.381) (layer "F.Cu") (net 37) (tstamp 904edc7d-171b-4365-b267-5bb944865dec)) + (segment (start 67.31 38.862) (end 67.31 37.564) (width 0.254) (layer "F.Cu") (net 37) (tstamp 951288f3-79bc-4084-ae6a-87d13d18a1a4)) + (segment (start 76.1492 31.242) (end 75.819 31.5722) (width 0.254) (layer "F.Cu") (net 37) (tstamp aad3d58f-a7b6-46ac-bc33-b839b190ceec)) + (segment (start 70.132 37.564) (end 68.453 37.564) (width 0.381) (layer "F.Cu") (net 37) (tstamp be7b50b5-dffa-456b-b227-767fe1e7c81d)) + (segment (start 66.167 37.564) (end 68.453 37.564) (width 0.381) (layer "F.Cu") (net 37) (tstamp c028d3fe-6b00-4f4c-accc-a6ff832fae01)) + (segment (start 66.167 37.564) (end 66.167 38.862) (width 0.254) (layer "F.Cu") (net 37) (tstamp c515b26d-6209-416a-b5a6-9cba9cd351a4)) + (segment (start 66.417 39.12) (end 66.421 39.116) (width 0.254) (layer "F.Cu") (net 37) (tstamp c84417e7-c127-48c3-95cb-0e0c68b679f5)) + (segment (start 67.417 38.969) (end 67.31 38.862) (width 0.254) (layer "F.Cu") (net 37) (tstamp d0ed3753-b686-4338-9130-e29b5db966b4)) + (segment (start 74.775 33.95) (end 74.689 34.036) (width 0.254) (layer "F.Cu") (net 37) (tstamp d1562ce4-5cc9-4a56-9a62-93eabb3d7de3)) + (segment (start 77.408 31.242) (end 76.1492 31.242) (width 0.254) (layer "F.Cu") (net 37) (tstamp d68633b9-fb3b-4bd2-95bf-dc0fb60c3a4f)) + (segment (start 75.819 31.5722) (end 75.819 31.877) (width 0.254) (layer "F.Cu") (net 37) (tstamp e7031b2b-5e56-4ee6-8a5a-295b1fc00579)) + (segment (start 66.917 41.6845) (end 66.917 39.612) (width 0.254) (layer "F.Cu") (net 37) (tstamp f3bc583a-e9cb-4f65-baa6-317b48428036)) + (segment (start 75.819 31.877) (end 74.775 31.877) (width 0.254) (layer "F.Cu") (net 37) (tstamp f4c3da41-985b-4bcf-b7f0-8fcd80d86adb)) + (via (at 71.943 35.753) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 37) (tstamp 6318e420-c098-4627-a154-71a2e655dc41)) + (segment (start 71.943 35.348095) (end 73.128095 34.163) (width 0.254) (layer "B.Cu") (net 37) (tstamp 1471e661-741d-4cc1-9df0-ddfd8f608354)) + (segment (start 73.128095 34.163) (end 76.073 34.163) (width 0.254) (layer "B.Cu") (net 37) (tstamp 1ea9d331-3fde-4a63-ac1e-3073f694f237)) + (segment (start 76.073 34.163) (end 78.105 32.131) (width 0.254) (layer "B.Cu") (net 37) (tstamp 2cadb54f-7dbf-4d1d-b384-e3ce06dd14ce)) + (segment (start 78.105 32.131) (end 81.026 32.131) (width 0.254) (layer "B.Cu") (net 37) (tstamp 556ab392-da06-4d7b-a0c0-be3ef147a042)) + (segment (start 83.344 29.813) (end 83.344 24.384) (width 0.254) (layer "B.Cu") (net 37) (tstamp 5a0740b2-21b0-4321-854f-91e20bd0dabf)) + (segment (start 83.344 24.384) (end 83.344 27.559) (width 0.508) (layer "B.Cu") (net 37) (tstamp 72c31885-409a-47da-aaea-489f010aaa4e)) + (segment (start 71.943 35.753) (end 71.943 35.348095) (width 0.254) (layer "B.Cu") (net 37) (tstamp 8ea9e6ca-f39e-442d-8afc-e8576b15ffa2)) + (segment (start 81.026 32.131) (end 83.344 29.813) (width 0.254) (layer "B.Cu") (net 37) (tstamp a6d57777-8988-471b-afdb-c6de046338cd)) + (segment (start 64.417 37.592) (end 64.389 37.564) (width 0.254) (layer "F.Cu") (net 38) (tstamp 7a862b0c-de24-4c49-9e8c-a6df519cbf12)) + (segment (start 64.417 41.6845) (end 64.417 37.592) (width 0.254) (layer "F.Cu") (net 38) (tstamp bdf772ac-1577-4dde-a0a8-b57d2a6656bf)) + (segment (start 66.294 99.314) (end 66.294 100.231) (width 0.254) (layer "F.Cu") (net 39) (tstamp 0086c4db-199e-46f7-ac63-20b7d1ecd690)) + (segment (start 80.264 76.962) (end 80.801 76.425) (width 0.254) (layer "F.Cu") (net 39) (tstamp 0b323617-754d-449d-80fc-f6d0735cc377)) + (segment (start 80.801 98.679) (end 80.801 98.171) (width 0.254) (layer "F.Cu") (net 39) (tstamp 0b9f7ecc-b372-4214-bec1-027282b1cdc7)) + (segment (start 75.438 76.962) (end 70.7644 76.962) (width 0.381) (layer "F.Cu") (net 39) (tstamp 0c3f1c9f-751a-4824-931a-1745edc24fb2)) + (segment (start 80.801 73.025) (end 80.801 73.533) (width 0.254) (layer "F.Cu") (net 39) (tstamp 0d8fd4f0-4465-4260-ad1b-bbda0f36eb1f)) + (segment (start 67.437 99.441) (end 67.183 99.187) (width 0.254) (layer "F.Cu") (net 39) (tstamp 13f7aa2c-d977-436e-95aa-43a4012b49a7)) + (segment (start 75.438 78.4915) (end 75.438 76.962) (width 0.381) (layer "F.Cu") (net 39) (tstamp 146f5b38-98e0-40b3-9134-2f61baa9782f)) + (segment (start 70.8152 95.758) (end 75.438 95.758) (width 0.381) (layer "F.Cu") (net 39) (tstamp 15f58775-6d94-40a4-aae2-00ffb46fdcc2)) + (segment (start 82.187 72.714) (end 81.112 72.714) (width 0.254) (layer "F.Cu") (net 39) (tstamp 1ca39286-608a-4bd4-b47b-70e39901a221)) + (segment (start 80.801 74.333) (end 80.82 74.314) (width 0.254) (layer "F.Cu") (net 39) (tstamp 1d08396e-1c61-40db-8264-561a853fc1db)) + (segment (start 70.533 101.661) (end 70.358 101.486) (width 0.381) (layer "F.Cu") (net 39) (tstamp 241c3da2-e56e-4bf0-bea1-e9e5798cff9c)) + (segment (start 70.104 95.0214) (end 70.104 77.6224) (width 0.381) (layer "F.Cu") (net 39) (tstamp 244680e4-6877-4db0-b4ed-b12aeebf2467)) + (segment (start 67.183 99.187) (end 67.187 99.183) (width 0.254) (layer "F.Cu") (net 39) (tstamp 2b90f65e-2b9d-4d22-98e2-fff30a91d8cf)) + (segment (start 70.993 80.617) (end 70.993 84.012) (width 0.254) (layer "F.Cu") (net 39) (tstamp 2cc1ed39-75ea-40bf-9a9e-4c7ee7a1bdde)) + (segment (start 70.993 80.617) (end 70.104 80.617) (width 0.381) (layer "F.Cu") (net 39) (tstamp 2d9a24d2-2a3b-475f-95d3-c589e172f184)) + (segment (start 68.453 61.214) (end 69.977 59.69) (width 0.254) (layer "F.Cu") (net 39) (tstamp 33f65c43-b693-4d93-8e72-f80d750fa415)) + (segment (start 84.7155 48.317) (end 86.095 48.317) (width 0.254) (layer "F.Cu") (net 39) (tstamp 36957726-391c-4e66-baaa-5e234b4a87c6)) + (segment (start 82.187 73.514) (end 80.82 73.514) (width 0.254) (layer "F.Cu") (net 39) (tstamp 3695cc79-1d04-4950-bd7a-e26e8a798dc9)) + (segment (start 82.187 75.114) (end 80.871 75.114) (width 0.254) (layer "F.Cu") (net 39) (tstamp 378bda85-a6a2-46c3-bf02-de714bf817bb)) + (segment (start 69.314 101.191) (end 69.609 101.486) (width 0.381) (layer "F.Cu") (net 39) (tstamp 38756e3f-fcae-487e-b6f7-6dbefc7bdc36)) + (segment (start 75.438 94.4754) (end 75.438 95.758) (width 0.381) (layer "F.Cu") (net 39) (tstamp 3e4d385c-80db-4350-8ec4-24a94be0730c)) + (segment (start 67.437 100.231) (end 67.592 100.231) (width 0.381) (layer "F.Cu") (net 39) (tstamp 4646c2f6-7033-4258-8098-00f3b780ded7)) + (segment (start 77.343 104.653) (end 75.062 104.653) (width 0.254) (layer "F.Cu") (net 39) (tstamp 48f8c6df-4dfa-4e6c-8702-6bc5e5695d35)) + (segment (start 80.801 76.425) (end 80.801 75.184) (width 0.254) (layer "F.Cu") (net 39) (tstamp 4ae186d3-521b-43d4-886d-ffdba2043a2a)) + (segment (start 80.801 75.184) (end 80.801 74.333) (width 0.254) (layer "F.Cu") (net 39) (tstamp 4dbdcac4-6d27-4b3c-ab96-a85a2426901b)) + (segment (start 82.187 98.66) (end 80.82 98.66) (width 0.254) (layer "F.Cu") (net 39) (tstamp 543a6d31-5832-4985-a609-1277798c6547)) + (segment (start 70.1548 95.0722) (end 70.104 95.0214) (width 0.381) (layer "F.Cu") (net 39) (tstamp 5700f9e6-9594-43f8-97a4-8aff030a40bf)) + (segment (start 66.294 100.231) (end 67.437 100.231) (width 0.381) (layer "F.Cu") (net 39) (tstamp 57f0f1d1-3b12-4f61-9489-7dfe17724d83)) + (segment (start 73.025 102.616) (end 70.358 102.616) (width 0.254) (layer "F.Cu") (net 39) (tstamp 5e523432-c208-4d25-8a0f-f53d5a8c5579)) + (segment (start 80.82 99.46) (end 80.801 99.441) (width 0.254) (layer "F.Cu") (net 39) (tstamp 609baaf5-c9be-46a7-b8de-32427043aa70)) + (segment (start 80.82 74.314) (end 82.187 74.314) (width 0.254) (layer "F.Cu") (net 39) (tstamp 6283ca62-b238-451e-93b5-da0610bc6f15)) + (segment (start 69.609 101.486) (end 70.358 101.486) (width 0.381) (layer "F.Cu") (net 39) (tstamp 64b45324-cadb-430f-9309-0b42277681cb)) + (segment (start 80.82 73.514) (end 80.801 73.533) (width 0.254) (layer "F.Cu") (net 39) (tstamp 65205016-f3f9-4206-b1da-dca45d7d1279)) + (segment (start 80.801 96.422) (end 80.801 97.79) (width 0.254) (layer "F.Cu") (net 39) (tstamp 685ec68e-1168-4e35-9892-f234613e076e)) + (segment (start 67.187 99.183) (end 67.187 97.642) (width 0.254) (layer "F.Cu") (net 39) (tstamp 6867b4d2-5181-471c-92ef-30e3968219c3)) + (segment (start 68.2625 76.3905) (end 67.945 76.073) (width 0.254) (layer "F.Cu") (net 39) (tstamp 6c3be06e-ea9f-406f-ab9b-2f4cf96b33b8)) + (segment (start 68.453 69.342) (end 68.453 61.214) (width 0.254) (layer "F.Cu") (net 39) (tstamp 705235d5-e26e-4b23-a16d-dab91fb59056)) + (segment (start 80.871 75.114) (end 80.801 75.184) (width 0.254) (layer "F.Cu") (net 39) (tstamp 70affb06-bf87-4620-991b-710559d8b81b)) + (segment (start 81.112 100.26) (end 80.801 99.949) (width 0.254) (layer "F.Cu") (net 39) (tstamp 72355c65-9037-4faf-b21d-17790cb429ca)) + (segment (start 83.947 49.0855) (end 84.7155 48.317) (width 0.254) (layer "F.Cu") (net 39) (tstamp 7814b0c5-cccf-4968-85fb-6f59c33afa88)) + (segment (start 66.537 97.642) (end 66.537 99.071) (width 0.254) (layer "F.Cu") (net 39) (tstamp 7e0f6e53-4ae8-4307-adfa-886216780bcd)) + (segment (start 70.104 77.6224) (end 70.7644 76.962) (width 0.381) (layer "F.Cu") (net 39) (tstamp 81d9e72d-7951-423f-875f-b3cb09ecc34c)) + (segment (start 68.552 101.191) (end 68.707 101.191) (width 0.381) (layer "F.Cu") (net 39) (tstamp 85e4a746-3c0d-47d0-be46-d11527650d56)) + (segment (start 80.801 97.79) (end 80.801 98.171) (width 0.254) (layer "F.Cu") (net 39) (tstamp 89ca0a7c-457b-4738-b41e-e7b8a762c039)) + (segment (start 68.707 101.191) (end 69.314 101.191) (width 0.381) (layer "F.Cu") (net 39) (tstamp 8bde9289-c263-4aac-81a1-1c61adec000f)) + (segment (start 66.537 99.071) (end 66.294 99.314) (width 0.254) (layer "F.Cu") (net 39) (tstamp 8fcd1251-879a-4a55-83d5-d988b64c0f89)) + (segment (start 80.82 98.66) (end 80.801 98.679) (width 0.254) (layer "F.Cu") (net 39) (tstamp 8fd3bd7b-9806-4d54-b47e-663858bb7c51)) + (segment (start 80.801 99.949) (end 80.801 99.441) (width 0.254) (layer "F.Cu") (net 39) (tstamp 964f7a30-e94c-4b78-a689-ceba9aa295c8)) + (segment (start 70.358 101.486) (end 70.358 102.616) (width 0.381) (layer "F.Cu") (net 39) (tstamp 970348b4-1abd-43d5-a7ea-ac5be73965fb)) + (segment (start 82.187 100.26) (end 81.112 100.26) (width 0.254) (layer "F.Cu") (net 39) (tstamp 9e706dcd-df19-4062-bb8e-1bc9bf113120)) + (segment (start 67.592 100.231) (end 68.552 101.191) (width 0.381) (layer "F.Cu") (net 39) (tstamp 9edb6ba3-dd65-4146-89af-31f71cdbd28d)) + (segment (start 81.112 72.714) (end 80.801 73.025) (width 0.254) (layer "F.Cu") (net 39) (tstamp a0830125-f45e-406e-92d6-d5afe8dc0fa3)) + (segment (start 67.945 76.073) (end 67.945 69.85) (width 0.254) (layer "F.Cu") (net 39) (tstamp aec7ee3f-116b-477a-9e3f-ec94b57d3095)) + (segment (start 67.437 100.231) (end 67.437 99.441) (width 0.254) (layer "F.Cu") (net 39) (tstamp afcefb54-8ed2-4caf-bf15-5f613c6e9933)) + (segment (start 80.801 73.533) (end 80.801 74.295) (width 0.254) (layer "F.Cu") (net 39) (tstamp b87a5091-ee8e-42f5-975d-33c902894dd9)) + (segment (start 75.438 76.962) (end 80.264 76.962) (width 0.254) (layer "F.Cu") (net 39) (tstamp c0e274c9-0d8f-4fb4-8c56-550b769ee0b9)) + (segment (start 72.2145 101.661) (end 70.533 101.661) (width 0.381) (layer "F.Cu") (net 39) (tstamp c18f1108-fcf0-4296-9f9c-a1b20c50b196)) + (segment (start 67.945 69.85) (end 68.453 69.342) (width 0.254) (layer "F.Cu") (net 39) (tstamp ce485f2a-5e62-4766-86b3-0092594cd0d9)) + (segment (start 80.137 95.758) (end 80.801 96.422) (width 0.254) (layer "F.Cu") (net 39) (tstamp d8ff4696-a072-4cc4-b7ba-7fb0acb450c8)) + (segment (start 82.187 97.86) (end 80.871 97.86) (width 0.254) (layer "F.Cu") (net 39) (tstamp da6bc66b-34b9-43d7-b6ea-c6efa011d852)) + (segment (start 75.062 104.653) (end 73.025 102.616) (width 0.254) (layer "F.Cu") (net 39) (tstamp e0cd5c62-4870-419f-a827-d83937b2f495)) + (segment (start 83.947 51.308) (end 83.947 49.0855) (width 0.254) (layer "F.Cu") (net 39) (tstamp e1ade8f2-d049-41a8-833d-927b3c63f784)) + (segment (start 75.565 59.69) (end 83.947 51.308) (width 0.254) (layer "F.Cu") (net 39) (tstamp e34d7b86-adfd-4c7b-bf95-abf7dbe4aabb)) + (segment (start 80.871 97.86) (end 80.801 97.79) (width 0.254) (layer "F.Cu") (net 39) (tstamp eec7c90f-bf4e-4e9f-8211-98743c4ad2ad)) + (segment (start 82.187 99.46) (end 80.82 99.46) (width 0.254) (layer "F.Cu") (net 39) (tstamp eefcf825-3836-490a-97ca-b010d4c5e498)) + (segment (start 80.137 95.758) (end 75.438 95.758) (width 0.254) (layer "F.Cu") (net 39) (tstamp f034695f-ae0e-4f5a-90da-a9de1f02cae6)) + (segment (start 70.1421 95.0849) (end 70.1548 95.0722) (width 0.254) (layer "F.Cu") (net 39) (tstamp f1e934e4-5229-4d51-9130-3d97704fb75b)) + (segment (start 80.801 99.441) (end 80.801 98.679) (width 0.254) (layer "F.Cu") (net 39) (tstamp f6df7de8-a306-45d2-b32c-4d8a3228b64e)) + (segment (start 69.977 59.69) (end 75.565 59.69) (width 0.254) (layer "F.Cu") (net 39) (tstamp f7c8bc28-48cd-46ee-98e0-13f7a967ef1d)) + (segment (start 70.1421 95.0849) (end 70.8152 95.758) (width 0.381) (layer "F.Cu") (net 39) (tstamp fd8e6776-09cb-4f9d-8cb1-77642d0d43a6)) + (via (at 68.2625 76.3905) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 39) (tstamp 4ad913db-3952-4933-9c0d-78d8324682fd)) + (via (at 70.1421 95.0849) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 39) (tstamp 94be016f-cd1c-4476-9de4-bf74431f1fc5)) + (via (at 70.358 102.616) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 39) (tstamp a6995d96-4f40-4f0a-b4c6-149265a25d4b)) + (via (at 70.7644 76.962) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 39) (tstamp bb50ccf1-992d-4b13-a703-98fa1ce0aa83)) + (segment (start 70.1421 95.0849) (end 69.723 95.504) (width 0.381) (layer "B.Cu") (net 39) (tstamp 43deb053-3e70-4994-a70a-94c0b15c5c14)) + (segment (start 69.723 95.504) (end 69.723 101.981) (width 0.381) (layer "B.Cu") (net 39) (tstamp 473513e5-d009-46e4-87e6-e0e9a421cf8f)) + (segment (start 68.2625 76.3905) (end 68.834 76.962) (width 0.254) (layer "B.Cu") (net 39) (tstamp c1975d84-898f-4f8f-b306-ca5983929203)) + (segment (start 69.723 101.981) (end 70.358 102.616) (width 0.381) (layer "B.Cu") (net 39) (tstamp d7206ac2-d077-4638-9592-9fc8eac9713a)) + (segment (start 68.834 76.962) (end 70.7644 76.962) (width 0.254) (layer "B.Cu") (net 39) (tstamp f66a623e-0314-4fb4-a259-aa12b809c894)) + (segment (start 67.818 98.679) (end 68.707 99.568) (width 0.254) (layer "F.Cu") (net 40) (tstamp 07100d70-a28a-439b-bef4-964020ba7e1f)) + (segment (start 66.675 95.758) (end 67.056 95.758) (width 0.254) (layer "F.Cu") (net 40) (tstamp 32373fbb-123f-43ba-b2bf-de86062760d2)) + (segment (start 63.937 91.842) (end 63.937 95.702) (width 0.254) (layer "F.Cu") (net 40) (tstamp 6484c1f2-4f50-4319-b021-e439a1c36c9a)) + (segment (start 68.707 99.568) (end 68.707 100.231) (width 0.254) (layer "F.Cu") (net 40) (tstamp d3c8b04c-316c-43a7-bcde-f909087967ae)) + (segment (start 67.818 96.52) (end 67.818 98.679) (width 0.254) (layer "F.Cu") (net 40) (tstamp e81b0bff-198d-441d-9830-ae124e665b41)) + (segment (start 67.056 95.758) (end 67.818 96.52) (width 0.254) (layer "F.Cu") (net 40) (tstamp ee776add-dbb0-41ff-83ad-559d57268a3a)) + (segment (start 63.937 95.702) (end 63.881 95.758) (width 0.254) (layer "F.Cu") (net 40) (tstamp fedf8354-fd50-4b66-bc78-7ee654a45795)) + (via (at 63.881 95.758) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 40) (tstamp 62e3e5f8-204f-4799-95b1-2310163422b3)) + (via (at 66.675 95.758) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 40) (tstamp d77d2f15-9bc9-40d3-bd96-f15e46b4856e)) + (segment (start 63.881 95.758) (end 66.675 95.758) (width 0.254) (layer "B.Cu") (net 40) (tstamp 31c95062-f96c-4534-8fe7-3fe8894f9433)) + (segment (start 77.343 82.296) (end 77.343 79.883) (width 0.254) (layer "F.Cu") (net 41) (tstamp 026d1aa2-3c8d-45e6-b4a9-f489cc2beafc)) + (segment (start 86.516 78.105) (end 86.516 73.66) (width 0.254) (layer "F.Cu") (net 41) (tstamp 0ee8288f-be4d-44b3-b847-b0d320e2f464)) + (segment (start 85.627 80.772) (end 85.627 79.756) (width 0.254) (layer "F.Cu") (net 41) (tstamp 2d8aea8e-8d50-4b8a-92c1-f759b69ae9f0)) + (segment (start 85.57 72.714) (end 83.987 72.714) (width 0.254) (layer "F.Cu") (net 41) (tstamp 637165a2-27f0-4e5e-9bff-5be15122ac16)) + (segment (start 84.738 81.661) (end 85.627 80.772) (width 0.254) (layer "F.Cu") (net 41) (tstamp 6ab0897b-e216-4b57-9d80-a9074e84e128)) + (segment (start 77.343 79.883) (end 76.388 78.928) (width 0.254) (layer "F.Cu") (net 41) (tstamp 6d529d22-d1e1-4605-9fb1-484b741de394)) + (segment (start 86.008 79.375) (end 86.008 78.613) (width 0.254) (layer "F.Cu") (net 41) (tstamp 7858f342-9209-407d-8c83-969af8c85594)) + (segment (start 86.008 78.613) (end 86.516 78.105) (width 0.254) (layer "F.Cu") (net 41) (tstamp 8167b29c-f865-416d-8274-5bd36b795e0a)) + (segment (start 85.627 79.756) (end 86.008 79.375) (width 0.254) (layer "F.Cu") (net 41) (tstamp 94a3e921-de3e-43cc-9a0b-0689b7df5333)) + (segment (start 81.379 83.255) (end 81.182 83.058) (width 0.254) (layer "F.Cu") (net 41) (tstamp 957e681b-cd74-47e6-a5d6-897b91c36031)) + (segment (start 83.862 81.661) (end 84.738 81.661) (width 0.254) (layer "F.Cu") (net 41) (tstamp 9d4968df-18c7-402c-b3e6-7985bb11ea2c)) + (segment (start 82.187 83.255) (end 81.379 83.255) (width 0.254) (layer "F.Cu") (net 41) (tstamp b88cede6-605f-4847-a67a-a01f0abccad4)) + (segment (start 76.388 78.928) (end 76.388 78.4915) (width 0.254) (layer "F.Cu") (net 41) (tstamp d4217457-6c2b-4bcc-9587-8bda0b700410)) + (segment (start 77.343 84.012) (end 77.343 82.296) (width 0.254) (layer "F.Cu") (net 41) (tstamp db3d6e1f-f664-4e88-b4fd-0ceda00be127)) + (segment (start 86.516 73.66) (end 85.57 72.714) (width 0.254) (layer "F.Cu") (net 41) (tstamp fea1b85f-da4f-4c00-b68a-f5baf6854439)) + (via (at 84.738 81.661) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 41) (tstamp 13fc2f53-3177-4f18-8080-eb8abf27bbb8)) + (via (at 77.343 82.296) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 41) (tstamp 330117eb-b003-47cc-bb72-dc2293abd980)) + (via (at 81.182 83.058) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 41) (tstamp 561a8636-5057-41c6-8aba-31fce4ba303c)) + (segment (start 81.182 83.058) (end 84.865 83.058) (width 0.254) (layer "B.Cu") (net 41) (tstamp 3f06ea38-c3f0-4346-b0e6-4c76105e74b3)) + (segment (start 77.343 82.296) (end 78.105 83.058) (width 0.254) (layer "B.Cu") (net 41) (tstamp 463067f1-aac9-4cf3-b08b-0e74d8b440c7)) + (segment (start 85.119 82.042) (end 84.738 81.661) (width 0.254) (layer "B.Cu") (net 41) (tstamp 5b12e346-2b2b-4d4a-b399-7ec127cfc5de)) + (segment (start 84.865 83.058) (end 85.119 82.804) (width 0.254) (layer "B.Cu") (net 41) (tstamp 65be7c92-f457-4798-9983-d38968078639)) + (segment (start 78.105 83.058) (end 81.182 83.058) (width 0.254) (layer "B.Cu") (net 41) (tstamp ab5ad8fd-aa01-478d-8ab1-b9ec84334e8c)) + (segment (start 85.119 82.804) (end 85.119 82.042) (width 0.254) (layer "B.Cu") (net 41) (tstamp d41a119e-d62c-4e28-bd06-2043f1689d91)) + (segment (start 85.5 79.248) (end 85.5 78.359) (width 0.254) (layer "F.Cu") (net 42) (tstamp 001600c9-ada2-414e-bb22-932215f8cff0)) + (segment (start 86.008 74.422) (end 85.1 73.514) (width 0.254) (layer "F.Cu") (net 42) (tstamp 1e53f2dc-5f13-4d4c-b961-e4068ecfeb90)) + (segment (start 82.187 84.055) (end 81.29 84.055) (width 0.254) (layer "F.Cu") (net 42) (tstamp 21750b61-7ea9-40a2-8f3e-067ff180d9e2)) + (segment (start 76.073 82.611) (end 76.073 84.012) (width 0.254) (layer "F.Cu") (net 42) (tstamp 2acd84bf-5604-448f-b610-ac26ed42806c)) + (segment (start 76.388 82.296) (end 76.073 82.611) (width 0.254) (layer "F.Cu") (net 42) (tstamp 345e34a0-0973-4fbe-8ccd-67f95fb6c8ef)) + (segment (start 85.5 78.359) (end 86.008 77.851) (width 0.254) (layer "F.Cu") (net 42) (tstamp 5cd90238-2b44-4b40-b6c3-6b2e97d53244)) + (segment (start 76.388 80.7665) (end 76.388 82.296) (width 0.254) (layer "F.Cu") (net 42) (tstamp 60501303-d410-45f9-ad97-c03a83fa1980)) + (segment (start 81.29 84.055) (end 81.182 83.947) (width 0.254) (layer "F.Cu") (net 42) (tstamp 720adfef-b0bf-4c09-b635-9a6ae3b00e12)) + (segment (start 86.008 77.851) (end 86.008 74.422) (width 0.254) (layer "F.Cu") (net 42) (tstamp 8abcc635-3eec-4ea9-bc35-87994bb94ce4)) + (segment (start 85.1 73.514) (end 83.987 73.514) (width 0.254) (layer "F.Cu") (net 42) (tstamp a196a44a-5d7f-4081-8ba2-b94602e36748)) + (segment (start 83.862 80.01) (end 84.738 80.01) (width 0.254) (layer "F.Cu") (net 42) (tstamp b4e238fc-6b6a-4fdf-b9fa-dd27ccc462ac)) + (segment (start 84.738 80.01) (end 85.5 79.248) (width 0.254) (layer "F.Cu") (net 42) (tstamp e1e6c3a2-ac0e-4ce3-8b8f-2ec485a16ae5)) + (via (at 76.388 82.296) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 42) (tstamp 3b34a7f2-948a-4ab2-9600-7050a4251d3a)) + (via (at 81.182 83.947) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 42) (tstamp 833df787-521f-426d-a073-2b3c2eab5cca)) + (via (at 84.738 80.01) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 42) (tstamp d99ac27d-0884-4c53-80f2-315bebea20e5)) + (segment (start 84.865 83.947) (end 85.627 83.185) (width 0.254) (layer "B.Cu") (net 42) (tstamp 11fd2335-351b-4727-9550-d191046de04d)) + (segment (start 81.182 83.947) (end 84.865 83.947) (width 0.254) (layer "B.Cu") (net 42) (tstamp 310c456c-4679-4fd3-bbf9-0580efd14398)) + (segment (start 85.627 80.899) (end 84.738 80.01) (width 0.254) (layer "B.Cu") (net 42) (tstamp a8dd187e-ca73-4077-94ce-49853e0b9d2f)) + (segment (start 76.388 82.296) (end 78.039 83.947) (width 0.254) (layer "B.Cu") (net 42) (tstamp b49a742f-2df0-477f-b11f-8df83dba1020)) + (segment (start 85.627 83.185) (end 85.627 80.899) (width 0.254) (layer "B.Cu") (net 42) (tstamp bd431bd7-8686-4ca8-b705-71c72e629235)) + (segment (start 78.039 83.947) (end 81.182 83.947) (width 0.254) (layer "B.Cu") (net 42) (tstamp ea889bfa-17b7-4203-b719-2c42c9bb933e)) + (segment (start 83.862 78.359) (end 84.738 78.359) (width 0.254) (layer "F.Cu") (net 43) (tstamp 0477a127-b5e3-46be-b0c9-a56aed20272b)) + (segment (start 85.5 74.93) (end 85.5 77.597) (width 0.254) (layer "F.Cu") (net 43) (tstamp 10f39a58-bd64-4523-a556-90681c750f2b)) + (segment (start 82.187 84.855) (end 81.201 84.855) (width 0.254) (layer "F.Cu") (net 43) (tstamp 222361dc-a35e-48e7-9695-b457d8f89e9a)) + (segment (start 74.803 84.012) (end 74.803 82.677) (width 0.254) (layer "F.Cu") (net 43) (tstamp 22d271c2-f374-4f19-9c86-06767ba66a71)) + (segment (start 83.987 74.314) (end 84.884 74.314) (width 0.254) (layer "F.Cu") (net 43) (tstamp 5a1698ec-d422-4f8c-9002-6803c3b828d6)) + (segment (start 85.5 77.597) (end 84.738 78.359) (width 0.254) (layer "F.Cu") (net 43) (tstamp 6510707a-8036-4811-b043-db1268fe42f3)) + (segment (start 84.884 74.314) (end 85.5 74.93) (width 0.254) (layer "F.Cu") (net 43) (tstamp b6608baa-5155-498d-9716-1ac587770bf1)) + (segment (start 74.803 82.677) (end 74.488 82.362) (width 0.254) (layer "F.Cu") (net 43) (tstamp ba262d3f-ff02-4f44-8d12-af1693b8cda2)) + (segment (start 74.488 82.362) (end 74.488 82.296) (width 0.254) (layer "F.Cu") (net 43) (tstamp c428826d-1d28-48ac-86e3-ce271d5bd381)) + (segment (start 81.201 84.855) (end 81.182 84.836) (width 0.254) (layer "F.Cu") (net 43) (tstamp c4f85e6b-3245-498a-b135-0f84e408d6cb)) + (segment (start 74.488 82.296) (end 74.488 80.7665) (width 0.254) (layer "F.Cu") (net 43) (tstamp c71aa3c3-ffb2-435b-84c8-2dddfe160e29)) + (via (at 84.738 78.359) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 43) (tstamp 104e388f-e257-48db-b669-a32d5605b9fa)) + (via (at 74.488 82.296) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 43) (tstamp 136292ea-0bca-4532-97e2-b2b31cc5a59e)) + (via (at 81.182 84.836) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 43) (tstamp be32d959-b65f-4714-8319-60688c0d6a20)) + (segment (start 77.028 84.836) (end 81.182 84.836) (width 0.254) (layer "B.Cu") (net 43) (tstamp 0500a94e-7262-4da8-808b-436d05499856)) + (segment (start 86.135 83.439) (end 86.135 79.756) (width 0.254) (layer "B.Cu") (net 43) (tstamp 3bbe0ec7-72a2-4f7d-af0c-6641972c5a38)) + (segment (start 74.488 82.296) (end 77.028 84.836) (width 0.254) (layer "B.Cu") (net 43) (tstamp 4006e531-a69a-413a-b85f-494a3ff8eb59)) + (segment (start 81.182 84.836) (end 84.738 84.836) (width 0.254) (layer "B.Cu") (net 43) (tstamp 45e3fde1-eb5c-473a-b038-4c5675f3ac40)) + (segment (start 86.135 79.756) (end 84.738 78.359) (width 0.254) (layer "B.Cu") (net 43) (tstamp e8ff8f9a-35b2-430d-82d5-0f25d81f1494)) + (segment (start 84.738 84.836) (end 86.135 83.439) (width 0.254) (layer "B.Cu") (net 43) (tstamp f0cbe22b-98c1-47bd-b5bb-689f10208c05)) + (segment (start 74.488 78.928) (end 73.533 79.883) (width 0.254) (layer "F.Cu") (net 44) (tstamp 0fc9783e-81a4-40fc-9f56-92f17aa421e1)) + (segment (start 73.533 79.883) (end 73.533 82.296) (width 0.254) (layer "F.Cu") (net 44) (tstamp 22c22278-3f09-4115-9d34-af86b4543c52)) + (segment (start 83.987 75.114) (end 84.795 75.114) (width 0.254) (layer "F.Cu") (net 44) (tstamp 8e38d397-4ef5-43e6-ba24-84b2ecdbbb01)) + (segment (start 82.187 85.655) (end 81.252 85.655) (width 0.254) (layer "F.Cu") (net 44) (tstamp 9c34cb74-24da-4d29-8be6-dc1587330ef7)) + (segment (start 73.533 82.296) (end 73.533 84.012) (width 0.254) (layer "F.Cu") (net 44) (tstamp ae80106e-f26c-43b8-b092-aa834ea635e8)) + (segment (start 84.992 76.454) (end 84.738 76.708) (width 0.254) (layer "F.Cu") (net 44) (tstamp af4c54e0-7187-43f1-84cc-f70b1d34ac00)) + (segment (start 83.862 76.708) (end 84.738 76.708) (width 0.254) (layer "F.Cu") (net 44) (tstamp b2535f17-5274-4063-9215-e66453b683dd)) + (segment (start 81.252 85.655) (end 81.182 85.725) (width 0.254) (layer "F.Cu") (net 44) (tstamp b8922862-61f1-4722-85b3-e324a056cc8f)) + (segment (start 84.795 75.114) (end 84.992 75.311) (width 0.254) (layer "F.Cu") (net 44) (tstamp ba6c1649-5854-4ca8-80e3-be5d80025268)) + (segment (start 74.488 78.4915) (end 74.488 78.928) (width 0.254) (layer "F.Cu") (net 44) (tstamp e3c22910-f6b5-40c3-a175-96b5cca5493a)) + (segment (start 84.992 75.311) (end 84.992 76.454) (width 0.254) (layer "F.Cu") (net 44) (tstamp f6189d9d-b126-417f-81d0-7873a373ee0e)) + (via (at 81.182 85.725) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 44) (tstamp 53e7b77f-5be2-441d-b6db-6ebc3cdc3fb3)) + (via (at 84.738 76.708) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 44) (tstamp 8bb3c466-7ab7-4b56-84bc-b8db13a19a38)) + (via (at 73.533 82.296) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 44) (tstamp dfbf94b8-205b-4dae-ab77-a563bf7f0187)) + (segment (start 73.533 82.296) (end 76.962 85.725) (width 0.254) (layer "B.Cu") (net 44) (tstamp 12b228e7-b8a0-4405-8802-75e2a372305b)) + (segment (start 76.962 85.725) (end 81.182 85.725) (width 0.254) (layer "B.Cu") (net 44) (tstamp 45746515-ae13-4144-900f-db34705a6c0e)) + (segment (start 81.182 85.725) (end 84.738 85.725) (width 0.254) (layer "B.Cu") (net 44) (tstamp 4ad34b5b-7990-49d8-813a-a15db77d6369)) + (segment (start 86.643 78.613) (end 84.738 76.708) (width 0.254) (layer "B.Cu") (net 44) (tstamp 7a051f9f-ea61-4ddb-8607-6bcaeb5a4461)) + (segment (start 86.643 83.82) (end 86.643 78.613) (width 0.254) (layer "B.Cu") (net 44) (tstamp 9964a0ef-ca60-458d-b605-3a9b297c88a9)) + (segment (start 84.738 85.725) (end 86.643 83.82) (width 0.254) (layer "B.Cu") (net 44) (tstamp bec548e7-77c2-4c4e-af07-b5e0256d4692)) + (segment (start 73.533 90.678) (end 73.533 88.962) (width 0.254) (layer "F.Cu") (net 45) (tstamp 334b4534-fcb8-4e2c-9503-b0e4648b3c1a)) + (segment (start 84.992 97.663) (end 84.992 96.52) (width 0.254) (layer "F.Cu") (net 45) (tstamp 4973cd33-f217-488a-b7f3-5e58d84b49bc)) + (segment (start 84.795 97.86) (end 84.992 97.663) (width 0.254) (layer "F.Cu") (net 45) (tstamp 715cfcdf-1048-46f9-b473-b62190b0f271)) + (segment (start 83.862 96.266) (end 84.738 96.266) (width 0.254) (layer "F.Cu") (net 45) (tstamp 840f75d5-b277-4c02-b9af-a0dda101dd68)) + (segment (start 74.488 94.4825) (end 74.488 94.046) (width 0.254) (layer "F.Cu") (net 45) (tstamp 87a5a00a-5bcf-4be6-9485-605fd589dc18)) + (segment (start 73.533 93.091) (end 73.533 90.678) (width 0.254) (layer "F.Cu") (net 45) (tstamp bbfb8a1d-59f7-4535-bf92-69e1978dc754)) + (segment (start 74.488 94.046) (end 73.533 93.091) (width 0.254) (layer "F.Cu") (net 45) (tstamp c10d616b-6a4e-4d75-aa85-122c720604e2)) + (segment (start 82.187 87.319) (end 81.252 87.319) (width 0.254) (layer "F.Cu") (net 45) (tstamp c576ab09-4def-4ef8-8c8f-f77815d99343)) + (segment (start 84.992 96.52) (end 84.738 96.266) (width 0.254) (layer "F.Cu") (net 45) (tstamp db6a0149-76e4-4263-819d-ca6099f1810d)) + (segment (start 81.252 87.319) (end 81.182 87.249) (width 0.254) (layer "F.Cu") (net 45) (tstamp e29da12f-46ae-4a1a-99ae-ce078aa62964)) + (segment (start 83.987 97.86) (end 84.795 97.86) (width 0.254) (layer "F.Cu") (net 45) (tstamp f11b8440-368c-4920-9d3a-e180f74d791e)) + (via (at 81.182 87.249) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 45) (tstamp bbdba325-2a99-4897-9a56-59518974407f)) + (via (at 73.533 90.678) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 45) (tstamp d63e689c-ce12-4af7-89ef-e5b84f84f00d)) + (via (at 84.738 96.266) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 45) (tstamp e5e39ac3-f779-4597-b9a2-718f0466f25b)) + (segment (start 86.516 88.392) (end 85.373 87.249) (width 0.254) (layer "B.Cu") (net 45) (tstamp 0efdc6cb-e64a-4fa8-a145-e8b0d5e43cf9)) + (segment (start 86.516 94.488) (end 86.516 88.392) (width 0.254) (layer "B.Cu") (net 45) (tstamp 6472d6e9-1d45-4c49-88c0-8444ffdb8226)) + (segment (start 76.962 87.249) (end 73.533 90.678) (width 0.254) (layer "B.Cu") (net 45) (tstamp 8149d014-e8f2-4a6b-b188-2f92b950ad18)) + (segment (start 84.738 96.266) (end 86.516 94.488) (width 0.254) (layer "B.Cu") (net 45) (tstamp 975069df-8f2d-479a-a7b2-ac8ee19e01eb)) + (segment (start 76.962 87.249) (end 81.182 87.249) (width 0.254) (layer "B.Cu") (net 45) (tstamp daeae582-fae6-4ca7-a06f-8599810cde15)) + (segment (start 85.373 87.249) (end 81.182 87.249) (width 0.254) (layer "B.Cu") (net 45) (tstamp ee6bc8e6-c5e4-4482-b67d-0db3ee237b61)) + (segment (start 82.187 88.119) (end 81.201 88.119) (width 0.254) (layer "F.Cu") (net 46) (tstamp 033a57b2-a004-4dad-ba91-c0efd019cd51)) + (segment (start 74.803 88.962) (end 74.803 90.297) (width 0.254) (layer "F.Cu") (net 46) (tstamp 164d2734-2aa6-4e05-864c-585fc6fe0a6a)) + (segment (start 83.987 98.66) (end 85.011 98.66) (width 0.254) (layer "F.Cu") (net 46) (tstamp 2466a25b-5066-486b-a433-86eab9b7012a)) + (segment (start 74.488 90.678) (end 74.488 92.2004) (width 0.254) (layer "F.Cu") (net 46) (tstamp 258bf4bd-459d-4fe4-855b-9a671d7a196e)) + (segment (start 85.5 95.377) (end 84.738 94.615) (width 0.254) (layer "F.Cu") (net 46) (tstamp 37817e96-2c99-44b5-8dad-88dad663c8df)) + (segment (start 74.803 90.297) (end 74.488 90.612) (width 0.254) (layer "F.Cu") (net 46) (tstamp 37c539a1-a1c4-45b8-8e79-3508a4a33125)) + (segment (start 74.488 90.612) (end 74.488 90.678) (width 0.254) (layer "F.Cu") (net 46) (tstamp 3f4f4ad6-71d3-484f-9457-dc59c1028dbd)) + (segment (start 81.201 88.119) (end 81.182 88.138) (width 0.254) (layer "F.Cu") (net 46) (tstamp 5faf75cc-e53a-42ab-885d-b202e0290a99)) + (segment (start 85.011 98.66) (end 85.5 98.171) (width 0.254) (layer "F.Cu") (net 46) (tstamp 724a2857-4d57-4b1b-9132-5322d02e6b85)) + (segment (start 83.862 94.615) (end 84.738 94.615) (width 0.254) (layer "F.Cu") (net 46) (tstamp 9bd4d6be-0444-436d-bb1f-d41838d362aa)) + (segment (start 85.5 98.171) (end 85.5 95.377) (width 0.254) (layer "F.Cu") (net 46) (tstamp c411a2b3-e438-412c-9440-7f80bed27a75)) + (via (at 81.182 88.138) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 46) (tstamp 3b09f5dc-a016-45b1-831b-8899f26ad20c)) + (via (at 84.738 94.615) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 46) (tstamp 658af26f-47e3-4a23-9458-3f3b377ca999)) + (via (at 74.488 90.678) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 46) (tstamp 8031cf84-6c72-431c-99b3-fc5e9cd6cb56)) + (segment (start 84.992 88.138) (end 86.008 89.154) (width 0.254) (layer "B.Cu") (net 46) (tstamp 20780750-ef8f-4849-a60c-bd3bdf650942)) + (segment (start 77.028 88.138) (end 81.182 88.138) (width 0.254) (layer "B.Cu") (net 46) (tstamp 269650af-26ae-4f42-8e54-3148f9e2b674)) + (segment (start 86.008 93.345) (end 84.738 94.615) (width 0.254) (layer "B.Cu") (net 46) (tstamp 52995c8b-70d7-4767-abf4-35f4b7808d99)) + (segment (start 81.182 88.138) (end 84.992 88.138) (width 0.254) (layer "B.Cu") (net 46) (tstamp 70ba4e8d-dc12-4215-a5a4-3cfe7417bc76)) + (segment (start 86.008 89.154) (end 86.008 93.345) (width 0.254) (layer "B.Cu") (net 46) (tstamp 745f8b10-ccf1-4ca0-83c0-8717aad00992)) + (segment (start 77.028 88.138) (end 74.488 90.678) (width 0.254) (layer "B.Cu") (net 46) (tstamp da4ddcec-8102-4457-84a0-a7e94bb682ff)) + (segment (start 85.3476 94.3356) (end 86.008 94.996) (width 0.254) (layer "F.Cu") (net 47) (tstamp 309c9e1a-1a95-4cd7-84e8-2ad46ad41960)) + (segment (start 82.187 88.919) (end 81.29 88.919) (width 0.254) (layer "F.Cu") (net 47) (tstamp 4b3ad979-4a51-4a01-894f-2c79d30ec7df)) + (segment (start 83.862 92.964) (end 84.738 92.964) (width 0.254) (layer "F.Cu") (net 47) (tstamp 4fe6ab15-a45a-44c3-ac09-cc51153739b2)) + (segment (start 85.3476 93.5736) (end 85.3476 94.3356) (width 0.254) (layer "F.Cu") (net 47) (tstamp 89dcd109-f5d9-4091-914f-4e651fef410e)) + (segment (start 85.227 99.46) (end 83.987 99.46) (width 0.254) (layer "F.Cu") (net 47) (tstamp a9ae1364-b8f9-4d7f-b6e9-501cec1b6d31)) + (segment (start 81.29 88.919) (end 81.182 89.027) (width 0.254) (layer "F.Cu") (net 47) (tstamp afa617fc-2f9d-4421-a55a-cdaa626afa56)) + (segment (start 86.008 98.679) (end 85.227 99.46) (width 0.254) (layer "F.Cu") (net 47) (tstamp b04e14bc-5b77-40c9-b8db-5b4d8ff22e8f)) + (segment (start 76.388 92.2004) (end 76.388 90.678) (width 0.254) (layer "F.Cu") (net 47) (tstamp cd497bfb-25f7-458e-8641-468d5de4317e)) + (segment (start 76.388 90.678) (end 76.073 90.363) (width 0.254) (layer "F.Cu") (net 47) (tstamp e08743ea-4f15-4bb5-85d7-1c93e301e57c)) + (segment (start 84.738 92.964) (end 85.3476 93.5736) (width 0.254) (layer "F.Cu") (net 47) (tstamp f3a8ba97-5229-4b43-b4be-48af8f2f1978)) + (segment (start 76.073 90.363) (end 76.073 88.962) (width 0.254) (layer "F.Cu") (net 47) (tstamp f5835f11-9f49-403a-a26b-a165b4ce2e56)) + (segment (start 86.008 94.996) (end 86.008 98.679) (width 0.254) (layer "F.Cu") (net 47) (tstamp fcde6c23-80b9-4211-85a7-d03e6dc47a46)) + (via (at 84.738 92.964) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 47) (tstamp 1d9b75a9-4dc2-4e63-bca4-1625c57c9d7b)) + (via (at 81.182 89.027) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 47) (tstamp 6785538e-9aed-4144-87af-849329827481)) + (via (at 76.388 90.678) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 47) (tstamp be6d6c02-4aad-4ec1-94b2-1b187f6a4f0d)) + (segment (start 78.039 89.027) (end 81.534 89.027) (width 0.254) (layer "B.Cu") (net 47) (tstamp 331c2003-40f0-4421-95c2-96f3e08cc212)) + (segment (start 76.388 90.678) (end 78.039 89.027) (width 0.254) (layer "B.Cu") (net 47) (tstamp 5902b595-9ab7-4b2d-876c-0f54c9ae8bf8)) + (segment (start 85.5 92.202) (end 84.738 92.964) (width 0.254) (layer "B.Cu") (net 47) (tstamp 89edf677-c267-44c4-add9-598b84593d3f)) + (segment (start 85.5 89.7255) (end 85.5 92.202) (width 0.254) (layer "B.Cu") (net 47) (tstamp a34ab835-44cd-4956-b3cf-f67a7fe1d45f)) + (segment (start 81.182 89.027) (end 81.534 89.027) (width 0.254) (layer "B.Cu") (net 47) (tstamp a762c3c2-0a3b-4963-8d5a-b1ea43269292)) + (segment (start 81.534 89.027) (end 84.8015 89.027) (width 0.254) (layer "B.Cu") (net 47) (tstamp aaae146c-282e-412f-8018-6db18651aff5)) + (segment (start 84.8015 89.027) (end 85.5 89.7255) (width 0.254) (layer "B.Cu") (net 47) (tstamp d75e36d2-c0b7-4143-a412-4c1ee8394dcf)) + (segment (start 83.862 91.313) (end 84.738 91.313) (width 0.254) (layer "F.Cu") (net 48) (tstamp 03d2ef1d-2048-4d83-bc7a-ed1b15c212f6)) + (segment (start 86.516 94.742) (end 86.516 99.187) (width 0.254) (layer "F.Cu") (net 48) (tstamp 06e4b67b-eb38-404b-b6b4-e066dee4f9e2)) + (segment (start 85.5 92.725875) (end 85.873062 93.098938) (width 0.254) (layer "F.Cu") (net 48) (tstamp 132263e9-063b-4db4-9a14-5855647a2c25)) + (segment (start 77.343 93.091) (end 76.388 94.046) (width 0.254) (layer "F.Cu") (net 48) (tstamp 3455e6f5-f296-4b08-b654-303b9f291e5a)) + (segment (start 85.873062 93.098938) (end 85.873062 94.099062) (width 0.254) (layer "F.Cu") (net 48) (tstamp 3533ee14-c97b-41d4-8d4e-40d2b710484c)) + (segment (start 85.873062 94.099062) (end 86.516 94.742) (width 0.254) (layer "F.Cu") (net 48) (tstamp 3c26f520-86e8-4e94-bbcf-df5b3ad8e422)) + (segment (start 76.388 94.046) (end 76.388 94.4825) (width 0.254) (layer "F.Cu") (net 48) (tstamp 683ab5cb-64e1-4354-ab5d-60fbc84493aa)) + (segment (start 77.343 90.678) (end 77.343 93.091) (width 0.254) (layer "F.Cu") (net 48) (tstamp 6845b85b-748e-4f13-8a5e-50648093fc4c)) + (segment (start 82.187 89.719) (end 81.379 89.719) (width 0.254) (layer "F.Cu") (net 48) (tstamp 6acf7293-236f-4d38-9081-f9d8849960f0)) + (segment (start 85.443 100.26) (end 83.987 100.26) (width 0.254) (layer "F.Cu") (net 48) (tstamp 86745043-6cc9-405c-a9a8-f8c5b7b1c285)) + (segment (start 77.343 88.962) (end 77.343 90.678) (width 0.254) (layer "F.Cu") (net 48) (tstamp 998538c8-cd07-4113-9cbf-3885154d90ef)) + (segment (start 81.379 89.719) (end 81.182 89.916) (width 0.254) (layer "F.Cu") (net 48) (tstamp be63b9da-ceaa-4fe3-9f60-0927d1fb0a80)) + (segment (start 85.5 92.075) (end 85.5 92.725875) (width 0.254) (layer "F.Cu") (net 48) (tstamp c23e9ce6-c11c-4527-94a0-44e7f0ef068b)) + (segment (start 86.516 99.187) (end 85.443 100.26) (width 0.254) (layer "F.Cu") (net 48) (tstamp e9a4990a-1af1-4880-800b-601a6e9160c2)) + (segment (start 84.738 91.313) (end 85.5 92.075) (width 0.254) (layer "F.Cu") (net 48) (tstamp f0a7a5ec-5416-4782-8fa8-21a56658bced)) + (via (at 81.182 89.916) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 48) (tstamp 814931ae-0f78-4ca5-84c5-d478fefc13c2)) + (via (at 84.738 91.313) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 48) (tstamp bc27e994-48b4-41b2-a46a-9fcb9b0539ca)) + (via (at 77.343 90.678) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 48) (tstamp fe747ca1-8209-4864-bc63-fb5de5ae8f87)) + (segment (start 84.992 91.059) (end 84.738 91.313) (width 0.254) (layer "B.Cu") (net 48) (tstamp 01a9f7f2-1b3b-443a-925f-55faa3718259)) + (segment (start 81.182 89.916) (end 84.611 89.916) (width 0.254) (layer "B.Cu") (net 48) (tstamp 06d56fc2-4c27-47a0-9c9c-836d3f915e4b)) + (segment (start 84.992 90.297) (end 84.992 91.059) (width 0.254) (layer "B.Cu") (net 48) (tstamp 15609e48-9d47-4945-bbe9-c2e130825a14)) + (segment (start 84.611 89.916) (end 84.992 90.297) (width 0.254) (layer "B.Cu") (net 48) (tstamp 19ff456f-fb01-44bf-9436-7f880cf9f89b)) + (segment (start 78.105 89.916) (end 77.343 90.678) (width 0.254) (layer "B.Cu") (net 48) (tstamp 482181f9-c212-4b14-bac1-d1c911516b99)) + (segment (start 78.105 89.916) (end 81.182 89.916) (width 0.254) (layer "B.Cu") (net 48) (tstamp 54822920-98bc-45f9-b183-551d000b82d8)) + (segment (start 70.993 92.23) (end 70.993 88.962) (width 0.254) (layer "F.Cu") (net 49) (tstamp 4db31a95-92ac-483f-800c-04709b168da2)) + (segment (start 62.637 97.642) (end 62.637 95.605) (width 0.254) (layer "F.Cu") (net 49) (tstamp fe8d3860-f928-4aa8-ace8-c47900cb1e7c)) + (segment (start 62.637 95.605) (end 62.992 95.25) (width 0.254) (layer "F.Cu") (net 49) (tstamp fef63054-9cec-40a3-869c-d85840df538c)) + (via (at 70.993 91.186) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 49) (tstamp 4d5fdac8-0758-4805-a449-8ef9bf042a5e)) + (via (at 62.992 95.25) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 49) (tstamp cc6d9f11-e541-47f7-8410-972cfa6fbf8a)) + (segment (start 63.627 94.615) (end 66.04 94.615) (width 0.254) (layer "B.Cu") (net 49) (tstamp 83cf6c93-5b48-4b0d-a22d-c813f77071a1)) + (segment (start 69.469 91.186) (end 70.993 91.186) (width 0.254) (layer "B.Cu") (net 49) (tstamp 9627c5e1-aca5-409d-bab9-284088eaef9b)) + (segment (start 62.992 95.25) (end 63.627 94.615) (width 0.254) (layer "B.Cu") (net 49) (tstamp db0c9a4e-5c26-41b0-8313-914a6721fd33)) + (segment (start 66.04 94.615) (end 69.469 91.186) (width 0.254) (layer "B.Cu") (net 49) (tstamp f8a58984-e721-4d21-97fe-154d234f1bce)) + (segment (start 61.976 94.107) (end 61.337 94.746) (width 0.254) (layer "F.Cu") (net 50) (tstamp 2f1b7e95-b56d-43f0-b717-f36eddfeb739)) + (segment (start 72.263 92.23) (end 72.263 88.962) (width 0.254) (layer "F.Cu") (net 50) (tstamp 30ef0060-87fb-45c3-8b3f-1aab2dda1959)) + (segment (start 61.337 94.746) (end 61.337 97.642) (width 0.254) (layer "F.Cu") (net 50) (tstamp d3a62b83-d71a-4ba5-9838-37b4462b84fb)) + (via (at 61.976 94.107) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 50) (tstamp 0bed3e25-dea7-4639-83fb-ae40736b265f)) + (via (at 72.263 90.424) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 50) (tstamp 23ba784d-bd15-4a90-b93f-a28d935b2d6c)) + (segment (start 65.786 94.107) (end 69.469 90.424) (width 0.254) (layer "B.Cu") (net 50) (tstamp 24aaa6dd-0ada-44ab-8bc5-812eefb320cb)) + (segment (start 69.469 90.424) (end 72.263 90.424) (width 0.254) (layer "B.Cu") (net 50) (tstamp 9770b786-0a52-4f84-81e7-20db7ac5fe89)) + (segment (start 61.976 94.107) (end 65.786 94.107) (width 0.254) (layer "B.Cu") (net 50) (tstamp c89d81da-f46c-4885-82ac-01df2d710f23)) + (segment (start 47.739 111.834) (end 47.752 111.821) (width 0.508) (layer "F.Cu") (net 51) (tstamp 08f8ab13-df8f-44c8-96b0-a9bf7e7d3bbd)) + (segment (start 47.739 113.538) (end 47.739 111.834) (width 0.508) (layer "F.Cu") (net 51) (tstamp 9ff59349-6607-4a1b-aa73-51886c8e0913)) + (segment (start 49.289 113.538) (end 49.289 112.789) (width 0.508) (layer "F.Cu") (net 52) (tstamp 222cf42c-80bf-4d32-8192-e0b29e8588fd)) + (segment (start 49.337 109.921) (end 50.1595 109.921) (width 0.508) (layer "F.Cu") (net 52) (tstamp 34203c5e-a9ff-46c5-9585-acae951f2721)) + (segment (start 49.022 112.522) (end 49.022 110.236) (width 0.508) (layer "F.Cu") (net 52) (tstamp 4f5115a1-0388-4f6a-9b2b-0a78e0e5eafb)) + (segment (start 49.289 112.789) (end 49.022 112.522) (width 0.508) (layer "F.Cu") (net 52) (tstamp 8290f27f-5a4b-4a59-ad08-cfb52e86b329)) + (segment (start 49.022 110.236) (end 49.337 109.921) (width 0.508) (layer "F.Cu") (net 52) (tstamp 8c20ff5f-7be3-4d2a-8ad0-c292ee10ab3e)) + (segment (start 69.215 30.734) (end 72.39 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp 1b76fb98-c53f-482b-9118-a62bfc9eb3d8)) + (segment (start 78.72 30.099) (end 75.565 30.099) (width 0.508) (layer "F.Cu") (net 53) (tstamp 4177e2cd-91ca-4cba-8ecc-21c20b72b5f5)) + (segment (start 72.39 30.734) (end 73.406 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp 455c98b9-0060-45e2-8cd9-205604e68218)) + (segment (start 68.55 27.488) (end 68.55 30.069) (width 0.508) (layer "F.Cu") (net 53) (tstamp 45e3e20d-d3d8-4a53-a9b5-f1bef24f8c42)) + (segment (start 74.93 30.734) (end 73.406 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp 6d742b3a-7443-418f-884c-7b435a5caa6c)) + (segment (start 68.55 30.069) (end 69.215 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp 93241985-aaff-4b85-93f0-ce5b30b3071e)) + (segment (start 80.01 36.4036) (end 80.01 31.389) (width 0.508) (layer "F.Cu") (net 53) (tstamp 961e8b75-dd43-4fe3-8a76-2e456171526c)) + (segment (start 75.565 30.099) (end 74.93 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp 974ae28a-b34a-4bbc-80a5-cfbda93e9685)) + (segment (start 73.45 27.488) (end 73.45 30.69) (width 0.508) (layer "F.Cu") (net 53) (tstamp b240750f-b6c0-4def-93b8-4f20372323c8)) + (segment (start 72.403 30.747) (end 72.39 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp cb4642c5-1c1f-49b6-a5c6-656841cc7cbd)) + (segment (start 73.45 30.69) (end 73.406 30.734) (width 0.508) (layer "F.Cu") (net 53) (tstamp dda08fea-0d8d-4f09-9be3-2ce6212bc33c)) + (segment (start 79.4312 36.9824) (end 80.01 36.4036) (width 0.508) (layer "F.Cu") (net 53) (tstamp ebb69c27-a3cd-46c0-ab7e-eb100f3f2efe)) + (segment (start 80.01 31.389) (end 78.72 30.099) (width 0.508) (layer "F.Cu") (net 53) (tstamp f8196305-a031-48f9-8316-867d8924eaf9)) + (segment (start 72.403 32.131) (end 72.403 30.747) (width 0.508) (layer "F.Cu") (net 53) (tstamp fc1a435f-6b1f-47aa-a7e7-c1c020992f9d)) + (segment (start 50.673 36.259) (end 49.701 36.259) (width 0.508) (layer "F.Cu") (net 54) (tstamp 2591d2af-cf06-432c-a6f0-897a91227cc9)) + (segment (start 49.701 36.259) (end 48.768 35.326) (width 0.508) (layer "F.Cu") (net 54) (tstamp 51d62a2d-855f-43f6-a23e-fe75f62407a1)) + (segment (start 48.768 39.116) (end 48.768 37.826) (width 0.508) (layer "F.Cu") (net 55) (tstamp 3d14af64-ba98-4d6b-a5bf-efd0ccddae1b)) + (segment (start 46.926 36.195) (end 46.926 37.846) (width 0.508) (layer "F.Cu") (net 55) (tstamp 52726553-bdb8-4b2b-adcd-915ba84bde54)) + (segment (start 48.387 39.497) (end 48.768 39.116) (width 0.508) (layer "F.Cu") (net 55) (tstamp 5df28513-ad65-4def-981c-57a0e6c2d99e)) + (segment (start 48.768 37.826) (end 46.946 37.826) (width 0.508) (layer "F.Cu") (net 55) (tstamp 9c4ab704-f9b4-4340-8c03-6f47adfb30ae)) + (segment (start 46.946 37.826) (end 46.926 37.846) (width 0.508) (layer "F.Cu") (net 55) (tstamp aa67f3ad-91b1-4e1d-afe6-90aa90149a30)) + (segment (start 46.547 39.497) (end 48.387 39.497) (width 0.508) (layer "F.Cu") (net 55) (tstamp c4d2ee63-6a45-4c7a-9a06-4e947ad710ec)) + (segment (start 49.701 50.355) (end 50.673 50.355) (width 0.508) (layer "F.Cu") (net 56) (tstamp 4c4c3c92-3bf0-4706-9344-cf4b69406f85)) + (segment (start 48.768 51.288) (end 49.701 50.355) (width 0.508) (layer "F.Cu") (net 56) (tstamp be33a07b-f6de-4721-8c9b-ede389acdb6c)) + (segment (start 46.946 48.788) (end 46.926 48.768) (width 0.508) (layer "F.Cu") (net 57) (tstamp 34a1827a-9136-48b9-923c-72403e2ddce3)) + (segment (start 48.768 47.498) (end 48.768 48.788) (width 0.508) (layer "F.Cu") (net 57) (tstamp 43e60e52-a318-4b8e-b71f-79a14339a30b)) + (segment (start 48.387 47.117) (end 48.768 47.498) (width 0.508) (layer "F.Cu") (net 57) (tstamp 466f06bf-42fc-44f1-a0cc-8a168d7a8723)) + (segment (start 46.926 50.419) (end 46.926 48.768) (width 0.508) (layer "F.Cu") (net 57) (tstamp 7ac23a80-9393-4911-aa64-38a92f5cb245)) + (segment (start 46.547 47.117) (end 48.387 47.117) (width 0.508) (layer "F.Cu") (net 57) (tstamp fcf57cfc-5e5c-4a86-9c06-8ae182f7b1fb)) + (segment (start 48.768 48.788) (end 46.946 48.788) (width 0.508) (layer "F.Cu") (net 57) (tstamp fe7d3af3-1027-483a-b9f0-50cb6a205e41)) + (segment (start 49.701 54.039) (end 48.768 53.106) (width 0.508) (layer "F.Cu") (net 58) (tstamp 0d2fa609-954e-4efd-8279-4fdf22943d4c)) + (segment (start 50.673 54.039) (end 49.701 54.039) (width 0.508) (layer "F.Cu") (net 58) (tstamp b113396b-259b-489c-afad-0662d23d2a97)) + (segment (start 48.387 57.277) (end 48.768 56.896) (width 0.508) (layer "F.Cu") (net 59) (tstamp 0a9df130-b8ac-42cf-818f-9b487a206d90)) + (segment (start 46.946 55.606) (end 46.926 55.626) (width 0.508) (layer "F.Cu") (net 59) (tstamp 3d4576e4-c97d-46fd-8df9-e2e2834313ad)) + (segment (start 46.926 53.975) (end 46.926 55.626) (width 0.508) (layer "F.Cu") (net 59) (tstamp 43c39e61-dd4d-49a1-b349-53b3e48f2d08)) + (segment (start 46.547 57.277) (end 48.387 57.277) (width 0.508) (layer "F.Cu") (net 59) (tstamp 4f2a75eb-d1d7-4d8c-a9c4-de352e0e667e)) + (segment (start 48.768 55.606) (end 46.946 55.606) (width 0.508) (layer "F.Cu") (net 59) (tstamp 5a3b8522-888e-433a-ab26-6b14c6364525)) + (segment (start 48.768 56.896) (end 48.768 55.606) (width 0.508) (layer "F.Cu") (net 59) (tstamp 8f34caed-5bc7-474a-b5ee-7de534f14e08)) + (segment (start 48.768 69.068) (end 49.701 68.135) (width 0.508) (layer "F.Cu") (net 60) (tstamp 2d84dd68-a11c-4401-bd9b-4c3341561ff3)) + (segment (start 49.701 68.135) (end 50.673 68.135) (width 0.508) (layer "F.Cu") (net 60) (tstamp 412e7750-b4cd-441e-a33a-7ebb110f9990)) + (segment (start 48.387 64.897) (end 48.768 65.278) (width 0.508) (layer "F.Cu") (net 61) (tstamp 12668a4f-6fdb-4a33-b9b3-ba8ff49e9d72)) + (segment (start 46.547 64.897) (end 48.387 64.897) (width 0.508) (layer "F.Cu") (net 61) (tstamp 77f98334-274a-443e-9dfb-79b2da06355b)) + (segment (start 46.946 66.568) (end 46.926 66.548) (width 0.508) (layer "F.Cu") (net 61) (tstamp 8cd5c663-a7c6-4e9c-8e8d-b40a5dd804e9)) + (segment (start 46.926 68.199) (end 46.926 66.548) (width 0.508) (layer "F.Cu") (net 61) (tstamp 9123055f-537b-4854-9f03-20013d6c3224)) + (segment (start 48.768 65.278) (end 48.768 66.568) (width 0.508) (layer "F.Cu") (net 61) (tstamp cdb9010c-dfdd-4855-b2c1-309e3839a519)) + (segment (start 48.768 66.568) (end 46.946 66.568) (width 0.508) (layer "F.Cu") (net 61) (tstamp e8675c70-298e-4668-92e2-a58952511211)) + (segment (start 56.241 40.533) (end 55.943 40.831) (width 0.508) (layer "F.Cu") (net 62) (tstamp 3d4bf4a3-a566-41ff-b781-9fe35b92b9d0)) + (segment (start 55.817 37.909) (end 57.467 36.259) (width 0.508) (layer "F.Cu") (net 62) (tstamp 8cba5090-3809-4796-9536-731c36597cc1)) + (segment (start 56.241 39.096) (end 56.241 39.751) (width 0.508) (layer "F.Cu") (net 62) (tstamp 91083291-ed86-44fb-beed-79d42c03fb9b)) + (segment (start 57.467 36.259) (end 57.912 36.259) (width 0.508) (layer "F.Cu") (net 62) (tstamp a3d022f6-9472-4043-9f56-520ca103994c)) + (segment (start 55.626 37.909) (end 55.817 37.909) (width 0.508) (layer "F.Cu") (net 62) (tstamp a5c1538a-fb21-4bf9-a9cf-8059a8311f54)) + (segment (start 55.626 38.481) (end 56.241 39.096) (width 0.508) (layer "F.Cu") (net 62) (tstamp b4ed7b74-3b2b-40ea-b1e2-e06cd034d2d1)) + (segment (start 56.241 39.751) (end 56.241 40.533) (width 0.508) (layer "F.Cu") (net 62) (tstamp b7159c87-2f73-4ccf-ae8f-90c89c897f94)) + (segment (start 55.626 37.909) (end 55.626 38.481) (width 0.508) (layer "F.Cu") (net 62) (tstamp ce049052-ffe3-4d76-83f7-688a50afebfc)) + (segment (start 55.943 40.831) (end 55.943 41.656) (width 0.508) (layer "F.Cu") (net 62) (tstamp d4c974fd-c0d0-45a7-8533-807fddefd865)) + (segment (start 51.497 39.497) (end 52.832 39.497) (width 0.508) (layer "F.Cu") (net 63) (tstamp 20570d71-edb4-48d9-a4df-b714ff0bd7ab)) + (segment (start 53.741 39.751) (end 53.086 39.751) (width 0.508) (layer "F.Cu") (net 63) (tstamp b7e4e4a4-7e14-4655-9d37-5fc2f5873c9f)) + (segment (start 53.086 39.751) (end 52.832 39.497) (width 0.508) (layer "F.Cu") (net 63) (tstamp bf691ae4-e938-4ed6-95b9-5092d084eb23)) + (segment (start 56.241 47.518) (end 56.241 46.863) (width 0.508) (layer "F.Cu") (net 64) (tstamp 2618c7c0-4327-471c-8c12-b04729f07fc2)) + (segment (start 57.594 50.355) (end 57.912 50.355) (width 0.508) (layer "F.Cu") (net 64) (tstamp 2992c88a-99f5-4186-9fea-604ac06183c2)) + (segment (start 56.241 46.081) (end 55.943 45.783) (width 0.508) (layer "F.Cu") (net 64) (tstamp 3f9a97f2-c29d-46c6-bd22-4cee90ac285c)) + (segment (start 55.626 48.705) (end 55.944 48.705) (width 0.508) (layer "F.Cu") (net 64) (tstamp 5eb824a8-2bd0-4356-b844-8f7c42e2c66b)) + (segment (start 56.241 46.863) (end 56.241 46.081) (width 0.508) (layer "F.Cu") (net 64) (tstamp 6d4d852f-66b0-4044-8f8a-81e5c7f38314)) + (segment (start 55.944 48.705) (end 57.594 50.355) (width 0.508) (layer "F.Cu") (net 64) (tstamp c5037f80-e1fa-4ebd-89c5-e445de6a19c4)) + (segment (start 55.943 45.783) (end 55.943 44.958) (width 0.508) (layer "F.Cu") (net 64) (tstamp d39609e7-5c25-471e-b764-80d033adec02)) + (segment (start 55.626 48.133) (end 56.241 47.518) (width 0.508) (layer "F.Cu") (net 64) (tstamp f655e31a-fd93-49ef-8f90-4ebc229f7155)) + (segment (start 55.626 48.705) (end 55.626 48.133) (width 0.508) (layer "F.Cu") (net 64) (tstamp f785231a-3287-407d-964e-51bb69bf407c)) + (segment (start 53.086 46.863) (end 52.832 47.117) (width 0.508) (layer "F.Cu") (net 65) (tstamp 5b2ddff1-c97a-4dd0-bc84-46fedc80a6c4)) + (segment (start 53.741 46.863) (end 53.086 46.863) (width 0.508) (layer "F.Cu") (net 65) (tstamp a05c2020-8daa-4ae5-94e7-6d5a5e4dd36e)) + (segment (start 51.497 47.117) (end 52.832 47.117) (width 0.508) (layer "F.Cu") (net 65) (tstamp bbf9ffcb-f98f-4367-9d20-4dab39268501)) + (segment (start 55.943 58.611) (end 55.943 59.436) (width 0.508) (layer "F.Cu") (net 66) (tstamp 5f72575c-53c7-40d8-9487-3af884d3cc12)) + (segment (start 56.241 56.876) (end 56.241 57.531) (width 0.508) (layer "F.Cu") (net 66) (tstamp 70a813e6-f8be-47a6-a1af-289dd1bbf06d)) + (segment (start 55.626 55.689) (end 55.817 55.689) (width 0.508) (layer "F.Cu") (net 66) (tstamp 71bce786-4a26-46e5-a636-33c73a9705c6)) + (segment (start 56.241 57.531) (end 56.241 58.313) (width 0.508) (layer "F.Cu") (net 66) (tstamp 74b98794-2a4a-4be8-82bc-6da9661fe838)) + (segment (start 55.626 56.261) (end 56.241 56.876) (width 0.508) (layer "F.Cu") (net 66) (tstamp 7a70cfb4-87f3-44da-ad6a-cab414a9b920)) + (segment (start 56.241 58.313) (end 55.943 58.611) (width 0.508) (layer "F.Cu") (net 66) (tstamp 99391bb4-794d-4a81-924d-ab598c7bd37d)) + (segment (start 55.626 55.689) (end 55.626 56.261) (width 0.508) (layer "F.Cu") (net 66) (tstamp 9b04c9d3-42be-49a9-bd36-d54e6086177e)) + (segment (start 55.817 55.689) (end 57.467 54.039) (width 0.508) (layer "F.Cu") (net 66) (tstamp a1f7fe85-9dcf-40c5-aeb1-9cadf6b7b6d8)) + (segment (start 57.467 54.039) (end 57.912 54.039) (width 0.508) (layer "F.Cu") (net 66) (tstamp ec6435c2-a647-4e25-84c4-7d3e9500e36e)) + (segment (start 52.705 57.277) (end 52.959 57.531) (width 0.508) (layer "F.Cu") (net 67) (tstamp 1db20dc4-4322-4ab4-9ad6-11ce157ee2ff)) + (segment (start 51.497 57.277) (end 52.705 57.277) (width 0.508) (layer "F.Cu") (net 67) (tstamp 7cad6f88-01de-48a0-80fe-09fc80265668)) + (segment (start 52.959 57.531) (end 53.741 57.531) (width 0.508) (layer "F.Cu") (net 67) (tstamp a3edb5cf-078c-4625-b961-53b4487e43ad)) + (segment (start 55.944 66.485) (end 57.594 68.135) (width 0.508) (layer "F.Cu") (net 68) (tstamp 0a152fce-a4dd-439b-8318-e5809a02cbf0)) + (segment (start 56.241 63.861) (end 55.943 63.563) (width 0.508) (layer "F.Cu") (net 68) (tstamp 0df4c20a-33bf-4bd3-8cae-8d8c77c3000b)) + (segment (start 55.626 66.485) (end 55.626 65.913) (width 0.508) (layer "F.Cu") (net 68) (tstamp 1f18c2df-14e6-4ad5-b6d0-f6b2e1ba1990)) + (segment (start 55.626 65.913) (end 56.241 65.298) (width 0.508) (layer "F.Cu") (net 68) (tstamp 40050c8e-3a27-465e-9ab9-4a3e4c230fbb)) + (segment (start 56.241 65.298) (end 56.241 64.643) (width 0.508) (layer "F.Cu") (net 68) (tstamp 4f263e6d-13d9-4843-b8a9-361c1c76d391)) + (segment (start 55.943 63.563) (end 55.943 62.738) (width 0.508) (layer "F.Cu") (net 68) (tstamp 588ef796-315f-4770-9195-49f4b5b24298)) + (segment (start 55.626 66.485) (end 55.944 66.485) (width 0.508) (layer "F.Cu") (net 68) (tstamp 5d08f5fe-ad05-4c4d-a437-e356faa7fb72)) + (segment (start 57.594 68.135) (end 57.912 68.135) (width 0.508) (layer "F.Cu") (net 68) (tstamp abcc583a-475a-40b3-a65c-c26c19615761)) + (segment (start 56.241 64.643) (end 56.241 63.861) (width 0.508) (layer "F.Cu") (net 68) (tstamp e3eeb035-ce4c-4c19-9478-a84adf3c561f)) + (segment (start 51.497 64.897) (end 52.705 64.897) (width 0.508) (layer "F.Cu") (net 69) (tstamp 146658ef-0e80-4ed5-9e82-ce783edec269)) + (segment (start 52.959 64.643) (end 52.705 64.897) (width 0.508) (layer "F.Cu") (net 69) (tstamp 2ff2194d-4767-420e-977e-93e0f5dc540f)) + (segment (start 53.741 64.643) (end 52.959 64.643) (width 0.508) (layer "F.Cu") (net 69) (tstamp e652c30a-f736-4adb-88c4-815d18e94955)) + (segment (start 49.701 71.819) (end 48.768 70.886) (width 0.508) (layer "F.Cu") (net 70) (tstamp 64ee10a1-0d9c-49d2-80fc-2cd882fdd199)) + (segment (start 50.673 71.819) (end 49.701 71.819) (width 0.508) (layer "F.Cu") (net 70) (tstamp f9d9ea89-1ca1-4e6f-81ce-c4b2101c7e03)) + (segment (start 48.768 73.386) (end 46.946 73.386) (width 0.508) (layer "F.Cu") (net 71) (tstamp 69e79416-f3de-49ab-a596-22c2a56d8459)) + (segment (start 48.387 75.057) (end 48.768 74.676) (width 0.508) (layer "F.Cu") (net 71) (tstamp 93c90a47-1bd7-4e37-90b2-d40d5f98d033)) + (segment (start 46.926 71.755) (end 46.926 73.406) (width 0.508) (layer "F.Cu") (net 71) (tstamp c0dd72dc-2b57-40a4-9aa7-7afcf628c9cd)) + (segment (start 48.768 74.676) (end 48.768 73.386) (width 0.508) (layer "F.Cu") (net 71) (tstamp d1554b11-99ca-4717-bf34-c500e877a9da)) + (segment (start 46.547 75.057) (end 48.387 75.057) (width 0.508) (layer "F.Cu") (net 71) (tstamp da0d70fb-ba30-4f9a-8dcc-14556d56cc36)) + (segment (start 46.946 73.386) (end 46.926 73.406) (width 0.508) (layer "F.Cu") (net 71) (tstamp ea166632-7a33-4ae5-a011-38f8e1d7e9f2)) + (segment (start 49.701 85.915) (end 50.673 85.915) (width 0.508) (layer "F.Cu") (net 72) (tstamp 789d39d1-0111-48e2-87dc-b5749a460882)) + (segment (start 48.768 86.848) (end 49.701 85.915) (width 0.508) (layer "F.Cu") (net 72) (tstamp 8aed0506-800b-4909-a516-a4b6219b0aa7)) + (segment (start 48.768 83.058) (end 48.768 84.348) (width 0.508) (layer "F.Cu") (net 73) (tstamp 2b888def-5495-426e-90b2-79c3e63d0ab5)) + (segment (start 48.768 84.348) (end 46.946 84.348) (width 0.508) (layer "F.Cu") (net 73) (tstamp 4a99acae-ab00-4aad-83df-fceac53bc22e)) + (segment (start 46.547 82.677) (end 48.387 82.677) (width 0.508) (layer "F.Cu") (net 73) (tstamp 8d416e5b-2bc2-4025-9313-9bca2ba25969)) + (segment (start 46.926 85.979) (end 46.926 84.328) (width 0.508) (layer "F.Cu") (net 73) (tstamp a371cf87-cdb1-4deb-b135-7d0f8a664684)) + (segment (start 46.946 84.348) (end 46.926 84.328) (width 0.508) (layer "F.Cu") (net 73) (tstamp a567a0c0-9bfa-4649-aba6-40509d35d39f)) + (segment (start 48.387 82.677) (end 48.768 83.058) (width 0.508) (layer "F.Cu") (net 73) (tstamp c6656b70-fcbb-46d0-a7d8-d16ff36b8082)) + (segment (start 49.701 89.599) (end 48.768 88.666) (width 0.508) (layer "F.Cu") (net 74) (tstamp 1de84df9-3310-4726-8d7d-0cb8430b7e3e)) + (segment (start 50.673 89.599) (end 49.701 89.599) (width 0.508) (layer "F.Cu") (net 74) (tstamp b1908869-5bb2-4d94-b52f-1fd06d4cc38d)) + (segment (start 48.768 92.456) (end 48.768 91.166) (width 0.508) (layer "F.Cu") (net 75) (tstamp 4d187c9b-5701-40b6-b8a3-8e742b7a4a8b)) + (segment (start 46.547 92.837) (end 48.387 92.837) (width 0.508) (layer "F.Cu") (net 75) (tstamp 50bb35e7-8c85-4a02-b974-e8f7406fecb1)) + (segment (start 46.946 91.166) (end 46.926 91.186) (width 0.508) (layer "F.Cu") (net 75) (tstamp 5c8ec649-d879-4049-8c45-11df380bacbe)) + (segment (start 46.926 89.535) (end 46.926 91.186) (width 0.508) (layer "F.Cu") (net 75) (tstamp 6303af14-ff38-48b3-9e61-9e8b6a05499e)) + (segment (start 48.387 92.837) (end 48.768 92.456) (width 0.508) (layer "F.Cu") (net 75) (tstamp c3ab5854-a8ff-45b5-957e-6405b3e65203)) + (segment (start 48.768 91.166) (end 46.946 91.166) (width 0.508) (layer "F.Cu") (net 75) (tstamp cc606f19-6c12-46da-a800-b6505726e359)) + (segment (start 48.768 104.628) (end 49.701 103.695) (width 0.508) (layer "F.Cu") (net 76) (tstamp 8f357dd7-e788-45bc-b4e7-4c3a478714d4)) + (segment (start 49.701 103.695) (end 50.673 103.695) (width 0.508) (layer "F.Cu") (net 76) (tstamp f6bbb85f-43b8-4a05-963a-79ad0e7a77ab)) + (segment (start 46.547 100.457) (end 48.387 100.457) (width 0.508) (layer "F.Cu") (net 77) (tstamp 02fd4ee2-b649-4b95-8525-04ab627c1fd5)) + (segment (start 46.946 102.128) (end 46.926 102.108) (width 0.508) (layer "F.Cu") (net 77) (tstamp 0b8dd979-3690-4065-af55-771b99236d9f)) + (segment (start 48.768 100.838) (end 48.768 102.128) (width 0.508) (layer "F.Cu") (net 77) (tstamp 135d214a-18ad-4997-8d3a-79f20a6e5e79)) + (segment (start 46.926 103.759) (end 46.926 102.108) (width 0.508) (layer "F.Cu") (net 77) (tstamp 14ceea97-dbd0-48ec-b6f1-a2ea81931c26)) + (segment (start 48.387 100.457) (end 48.768 100.838) (width 0.508) (layer "F.Cu") (net 77) (tstamp 2f7776d5-b796-4581-9e7e-73d6edcc791a)) + (segment (start 48.768 102.128) (end 46.946 102.128) (width 0.508) (layer "F.Cu") (net 77) (tstamp 44885f8d-344c-441b-9a50-d5b3ef249728)) + (segment (start 56.241 74.656) (end 56.241 75.311) (width 0.508) (layer "F.Cu") (net 78) (tstamp 04a62b92-5824-4554-a9c3-830636aba7ee)) + (segment (start 55.626 73.469) (end 55.817 73.469) (width 0.508) (layer "F.Cu") (net 78) (tstamp 0cbe668a-a84a-4ffd-a086-128b63b19929)) + (segment (start 55.943 76.391) (end 55.943 77.216) (width 0.508) (layer "F.Cu") (net 78) (tstamp 14fa8442-5943-45c8-83bb-3f86b762ab0b)) + (segment (start 55.626 73.469) (end 55.626 74.041) (width 0.508) (layer "F.Cu") (net 78) (tstamp 1562fe7e-851e-421b-b724-2715df9b4ad0)) + (segment (start 56.241 75.311) (end 56.241 76.093) (width 0.508) (layer "F.Cu") (net 78) (tstamp 3c1e5de0-67e6-48f1-86db-65e59a4cd435)) + (segment (start 55.817 73.469) (end 57.467 71.819) (width 0.508) (layer "F.Cu") (net 78) (tstamp 3cb366f0-3497-4abf-b656-753a701d0b40)) + (segment (start 57.467 71.819) (end 57.912 71.819) (width 0.508) (layer "F.Cu") (net 78) (tstamp e592fe24-0746-4338-8691-df369a692bfc)) + (segment (start 56.241 76.093) (end 55.943 76.391) (width 0.508) (layer "F.Cu") (net 78) (tstamp ed0595ca-39e6-4e5b-8d67-97d3f51021e6)) + (segment (start 55.626 74.041) (end 56.241 74.656) (width 0.508) (layer "F.Cu") (net 78) (tstamp f4664cb2-8a14-4562-9833-5463190ade30)) + (segment (start 52.959 75.311) (end 53.741 75.311) (width 0.508) (layer "F.Cu") (net 79) (tstamp 54c37300-c4f1-46c3-809d-038a133419f5)) + (segment (start 51.497 75.057) (end 52.705 75.057) (width 0.508) (layer "F.Cu") (net 79) (tstamp a1820d7d-c600-4145-9636-d25ea7e0a499)) + (segment (start 52.705 75.057) (end 52.959 75.311) (width 0.508) (layer "F.Cu") (net 79) (tstamp b5295c51-b3e7-46ea-9015-2d7f73fcbde9)) + (segment (start 55.626 84.265) (end 55.626 83.693) (width 0.508) (layer "F.Cu") (net 80) (tstamp 03ea503c-6bdb-4651-9705-4f1373d0920d)) + (segment (start 56.241 83.078) (end 56.241 82.423) (width 0.508) (layer "F.Cu") (net 80) (tstamp 08caba89-fcda-45bd-bbec-fefacb1be335)) + (segment (start 56.241 82.423) (end 56.241 81.641) (width 0.508) (layer "F.Cu") (net 80) (tstamp 49aae7c2-3d04-4ea8-98df-5008337a71db)) + (segment (start 55.944 84.265) (end 57.594 85.915) (width 0.508) (layer "F.Cu") (net 80) (tstamp 99aea7f3-7dad-4039-b0a1-4c716d41dfc4)) + (segment (start 55.943 81.343) (end 55.943 80.518) (width 0.508) (layer "F.Cu") (net 80) (tstamp d23ffe36-5586-4047-a1c4-bde25afed228)) + (segment (start 56.241 81.641) (end 55.943 81.343) (width 0.508) (layer "F.Cu") (net 80) (tstamp d3ddc7b1-2af3-4720-bde6-4d11a5e77885)) + (segment (start 57.594 85.915) (end 57.912 85.915) (width 0.508) (layer "F.Cu") (net 80) (tstamp d8ec090e-bd14-47bf-9806-4feb2806331b)) + (segment (start 55.626 83.693) (end 56.241 83.078) (width 0.508) (layer "F.Cu") (net 80) (tstamp de923022-45bc-4a37-ba0c-b6a9648e712e)) + (segment (start 55.626 84.265) (end 55.944 84.265) (width 0.508) (layer "F.Cu") (net 80) (tstamp f1ab3fad-ac8e-4d89-9718-355cc0e5287d)) + (segment (start 53.741 82.423) (end 52.959 82.423) (width 0.508) (layer "F.Cu") (net 81) (tstamp 3356a72d-ff10-4ed3-b665-f2380b631ffb)) + (segment (start 52.959 82.423) (end 52.705 82.677) (width 0.508) (layer "F.Cu") (net 81) (tstamp 5cd8811b-9716-462e-af31-dc9f4f1c8b96)) + (segment (start 51.497 82.677) (end 52.705 82.677) (width 0.508) (layer "F.Cu") (net 81) (tstamp a4fb47d9-9ddb-445c-b4ec-b917cf6c35e6)) + (segment (start 55.626 91.249) (end 55.817 91.249) (width 0.508) (layer "F.Cu") (net 82) (tstamp 528204d4-fe96-4fc2-a815-8554cb004937)) + (segment (start 57.467 89.599) (end 57.912 89.599) (width 0.508) (layer "F.Cu") (net 82) (tstamp 76e0a298-f7a2-4e74-8637-124ac9b43e68)) + (segment (start 55.817 91.249) (end 57.467 89.599) (width 0.508) (layer "F.Cu") (net 82) (tstamp 7e026be3-26b1-4e67-b8b6-1c222cb1e34d)) + (segment (start 55.626 91.821) (end 56.241 92.436) (width 0.508) (layer "F.Cu") (net 82) (tstamp b22aaae2-2a5d-4305-8665-ae420e47b245)) + (segment (start 56.241 93.873) (end 55.943 94.171) (width 0.508) (layer "F.Cu") (net 82) (tstamp bf1ffc44-b060-4e50-80e8-921d00f76d95)) + (segment (start 55.943 94.171) (end 55.943 94.996) (width 0.508) (layer "F.Cu") (net 82) (tstamp c91e6317-887b-4864-87da-8b38d770f121)) + (segment (start 56.241 93.091) (end 56.241 93.873) (width 0.508) (layer "F.Cu") (net 82) (tstamp f8260486-1fb5-4b47-8992-9369c3d8dcd0)) + (segment (start 56.241 92.436) (end 56.241 93.091) (width 0.508) (layer "F.Cu") (net 82) (tstamp fcfdabf6-52d4-47ac-ba0d-9d8f4a45a982)) + (segment (start 55.626 91.249) (end 55.626 91.821) (width 0.508) (layer "F.Cu") (net 82) (tstamp fd122c87-4ed3-4c19-a9a2-17a491ad3a37)) + (segment (start 52.705 92.837) (end 52.959 93.091) (width 0.508) (layer "F.Cu") (net 83) (tstamp 162f8714-09e7-47e6-b689-e49b67fd551c)) + (segment (start 51.497 92.837) (end 52.705 92.837) (width 0.508) (layer "F.Cu") (net 83) (tstamp 2619ac2a-979c-48f4-a860-b6504bf4c611)) + (segment (start 52.959 93.091) (end 53.741 93.091) (width 0.508) (layer "F.Cu") (net 83) (tstamp cdf9adf2-3e48-482f-8262-88e6465d9b69)) + (segment (start 55.944 102.045) (end 57.594 103.695) (width 0.508) (layer "F.Cu") (net 84) (tstamp 0817ea5a-b5cb-4191-8fb4-bff6e35d8c02)) + (segment (start 55.626 101.473) (end 56.241 100.858) (width 0.508) (layer "F.Cu") (net 84) (tstamp 32e551ae-5296-43f5-97c5-c09b807f4a3b)) + (segment (start 55.943 99.123) (end 55.943 98.298) (width 0.508) (layer "F.Cu") (net 84) (tstamp 59bcf725-e75d-40f3-90a0-2f6e50b04bb3)) + (segment (start 55.626 102.045) (end 55.944 102.045) (width 0.508) (layer "F.Cu") (net 84) (tstamp 59e48ac8-3a54-4527-bb77-c3ffd11b1ec5)) + (segment (start 56.241 100.203) (end 56.241 99.421) (width 0.508) (layer "F.Cu") (net 84) (tstamp 7fa5c0a4-5b9c-4073-a647-8d6d105c9f63)) + (segment (start 57.594 103.695) (end 57.912 103.695) (width 0.508) (layer "F.Cu") (net 84) (tstamp b675f145-6297-4461-9f1c-4c8fa775b76e)) + (segment (start 56.241 99.421) (end 55.943 99.123) (width 0.508) (layer "F.Cu") (net 84) (tstamp c9ada971-bc1d-4640-883e-dd253e387523)) + (segment (start 56.241 100.858) (end 56.241 100.203) (width 0.508) (layer "F.Cu") (net 84) (tstamp d36038dc-7a8e-4122-b834-b8ad8b218b75)) + (segment (start 55.626 102.045) (end 55.626 101.473) (width 0.508) (layer "F.Cu") (net 84) (tstamp e3b3dcf1-5294-450e-8d78-0b8e5ab369d5)) + (segment (start 53.741 100.203) (end 52.959 100.203) (width 0.508) (layer "F.Cu") (net 85) (tstamp 884fb802-a7a1-446d-9452-7e93219911b1)) + (segment (start 52.959 100.203) (end 52.705 100.457) (width 0.508) (layer "F.Cu") (net 85) (tstamp af8cbb32-2902-420a-b405-47386190d398)) + (segment (start 51.497 100.457) (end 52.705 100.457) (width 0.508) (layer "F.Cu") (net 85) (tstamp ee75ac02-ac86-4fad-a8a5-8b52b7ed33e6)) + (segment (start 64.897 103.632) (end 63.881 102.616) (width 0.254) (layer "F.Cu") (net 86) (tstamp 1aa46233-41ab-4f8c-9f0d-7201f61bcff5)) + (segment (start 72.644 106.9975) (end 72.644 104.775) (width 0.254) (layer "F.Cu") (net 86) (tstamp 365e9e9a-9a89-4b8f-9647-9c92f6e2e094)) + (segment (start 63.881 102.616) (end 63.881 98.989) (width 0.254) (layer "F.Cu") (net 86) (tstamp 4377feb3-0205-4c19-a2cd-c73e3129a2a4)) + (segment (start 72.898 108.2675) (end 73.406 107.7595) (width 0.254) (layer "F.Cu") (net 86) (tstamp 462b46cb-5e3e-413d-b759-c8724ab77613)) + (segment (start 72.898 108.712) (end 72.898 108.2675) (width 0.254) (layer "F.Cu") (net 86) (tstamp 5802cc4f-0fe8-4757-be94-9f78f394be24)) + (segment (start 72.644 104.775) (end 71.501 103.632) (width 0.254) (layer "F.Cu") (net 86) (tstamp 7d830519-5e57-4b49-a401-397f535b6a44)) + (segment (start 63.881 98.989) (end 63.937 98.933) (width 0.254) (layer "F.Cu") (net 86) (tstamp 82cb894e-7e79-48cd-94f7-74b503193fbb)) + (segment (start 71.501 103.632) (end 64.897 103.632) (width 0.254) (layer "F.Cu") (net 86) (tstamp a4b0dce6-5280-49ea-9427-b8f11876fea1)) + (segment (start 73.406 107.7595) (end 72.644 106.9975) (width 0.254) (layer "F.Cu") (net 86) (tstamp ae538304-b84a-40b5-8c28-92403a1cc74b)) + (segment (start 71.243 113.796) (end 71.243 112.541) (width 0.254) (layer "F.Cu") (net 86) (tstamp b1df24af-16a7-417a-ba9b-f3560b3cb242)) + (segment (start 70.243 113.804) (end 70.485 114.046) (width 0.254) (layer "F.Cu") (net 86) (tstamp c39ab59d-92a6-46b7-8c6f-1d6c02f6a6dd)) + (segment (start 70.485 114.046) (end 70.993 114.046) (width 0.254) (layer "F.Cu") (net 86) (tstamp e03e70c6-d805-4ec5-babe-74eebdb0a23b)) + (segment (start 70.243 112.541) (end 70.243 113.804) (width 0.254) (layer "F.Cu") (net 86) (tstamp e620be2a-4545-4a17-8ae8-85d1650cab4e)) + (segment (start 63.937 98.933) (end 63.937 97.642) (width 0.254) (layer "F.Cu") (net 86) (tstamp ed31b76f-1b66-4675-886c-0247c95a9f0f)) + (segment (start 70.993 114.046) (end 71.243 113.796) (width 0.254) (layer "F.Cu") (net 86) (tstamp ef335856-9081-4528-916c-02521b9be1fa)) + (via (at 72.898 108.712) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 86) (tstamp 28fb0838-ebba-4aa4-b3a0-1e8ce57438a4)) + (via (at 70.993 114.046) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 86) (tstamp c0bc4c36-bd7a-403f-9969-1c241686b131)) + (segment (start 70.993 113.411) (end 70.993 114.046) (width 0.254) (layer "B.Cu") (net 86) (tstamp 4fff6eab-a6ba-40cf-aa58-f42bb1b2a5bb)) + (segment (start 72.644 111.76) (end 70.993 113.411) (width 0.254) (layer "B.Cu") (net 86) (tstamp 9805eb63-03ac-4e6b-b16e-885ad7d6e594)) + (segment (start 72.898 108.712) (end 72.644 108.966) (width 0.254) (layer "B.Cu") (net 86) (tstamp 9ba39bcc-47ef-4867-aef0-6faad5aa6510)) + (segment (start 72.644 108.966) (end 72.644 111.76) (width 0.254) (layer "B.Cu") (net 86) (tstamp be770b1d-8193-4e36-9cf3-45c8ac8b6b27)) + (segment (start 63.287 97.642) (end 63.287 98.847) (width 0.254) (layer "F.Cu") (net 87) (tstamp 095532e5-c5ab-4149-b3dc-b564406ea250)) + (segment (start 72.136 105.029) (end 72.136 106.9975) (width 0.254) (layer "F.Cu") (net 87) (tstamp 3504ca07-dea0-49d5-9a36-246983b76370)) + (segment (start 72.136 106.9975) (end 71.374 107.7595) (width 0.254) (layer "F.Cu") (net 87) (tstamp 3ff23f26-681d-4972-b6ab-310528ea6a2f)) + (segment (start 74.803 106.906) (end 74.803 107.696) (width 0.254) (layer "F.Cu") (net 87) (tstamp 480025fc-b806-4448-b817-dab0d0df3ebc)) + (segment (start 71.743 110.986) (end 71.743 112.541) (width 0.254) (layer "F.Cu") (net 87) (tstamp 61c8208c-ee48-4845-adf9-edde6dee966b)) + (segment (start 71.882 108.712) (end 71.882 108.2675) (width 0.254) (layer "F.Cu") (net 87) (tstamp 73612a65-55e0-47ac-abf5-6bd22bae800a)) + (segment (start 70.743 110.994) (end 70.743 112.541) (width 0.254) (layer "F.Cu") (net 87) (tstamp 7f8af241-730a-4aa1-9725-4a6e359e70fd)) + (segment (start 63.373 102.87) (end 64.643 104.14) (width 0.254) (layer "F.Cu") (net 87) (tstamp ba95926e-eb8f-47ef-a2dc-95b2255f75a3)) + (segment (start 63.287 98.847) (end 63.373 98.933) (width 0.254) (layer "F.Cu") (net 87) (tstamp c1d88615-2792-4915-a1e7-704819d46d9b)) + (segment (start 71.501 110.744) (end 71.743 110.986) (width 0.254) (layer "F.Cu") (net 87) (tstamp d7c29989-3404-45ec-92ad-51bc82c91bfa)) + (segment (start 71.882 108.2675) (end 71.374 107.7595) (width 0.254) (layer "F.Cu") (net 87) (tstamp db027974-9e96-4204-8a29-2ca0bc487cc2)) + (segment (start 64.643 104.14) (end 71.247 104.14) (width 0.254) (layer "F.Cu") (net 87) (tstamp dc7afcfd-31ff-43c1-a6e9-44062b4fbfe2)) + (segment (start 70.993 110.744) (end 70.743 110.994) (width 0.254) (layer "F.Cu") (net 87) (tstamp e1128b69-922f-4c99-b648-48d25df84a85)) + (segment (start 70.993 110.744) (end 71.501 110.744) (width 0.254) (layer "F.Cu") (net 87) (tstamp f041ea59-b256-4434-bced-c8c8952926c2)) + (segment (start 63.373 98.933) (end 63.373 102.87) (width 0.254) (layer "F.Cu") (net 87) (tstamp fb31381c-ddf9-48a4-a385-de6ad97a3af5)) + (segment (start 71.247 104.14) (end 72.136 105.029) (width 0.254) (layer "F.Cu") (net 87) (tstamp fc91a52e-7149-45d0-94e2-37fed6684fda)) + (via (at 70.993 110.744) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 87) (tstamp 5a552147-700e-4d74-9ee2-bc9600755d33)) + (via (at 71.882 108.712) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 87) (tstamp 7afa7ce7-1e15-4ab3-b8ce-a5048cb99b34)) + (via (at 74.803 107.696) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 87) (tstamp dc0124f9-add0-46c4-946d-eaf58a6e2459)) + (segment (start 72.136 111.506) (end 72.136 108.966) (width 0.254) (layer "B.Cu") (net 87) (tstamp 079fac35-8d17-42c2-84c8-eb32f4ee3d23)) + (segment (start 72.136 108.966) (end 71.882 108.712) (width 0.254) (layer "B.Cu") (net 87) (tstamp 1d86387a-6f6c-4701-b565-269cde7df25b)) + (segment (start 70.993 110.744) (end 70.993 111.633) (width 0.254) (layer "B.Cu") (net 87) (tstamp 1e7b3f04-b104-4067-966e-712262850800)) + (segment (start 70.993 111.633) (end 71.374 112.014) (width 0.254) (layer "B.Cu") (net 87) (tstamp 266603ab-4739-4888-b51c-d9b9156b33a5)) + (segment (start 71.882 108.077) (end 71.882 108.712) (width 0.254) (layer "B.Cu") (net 87) (tstamp 2cddfd34-0075-4294-a92c-5037e50ac13e)) + (segment (start 74.803 107.696) (end 72.263 107.696) (width 0.254) (layer "B.Cu") (net 87) (tstamp 57ab9d5e-14af-44bb-b2cb-acd082118db8)) + (segment (start 72.263 107.696) (end 71.882 108.077) (width 0.254) (layer "B.Cu") (net 87) (tstamp a74799b6-c494-4a30-ae00-c9903da3fb68)) + (segment (start 71.628 112.014) (end 72.136 111.506) (width 0.254) (layer "B.Cu") (net 87) (tstamp ece33ab7-c76a-44e5-946f-65f0d3304593)) + (segment (start 71.374 112.014) (end 71.628 112.014) (width 0.254) (layer "B.Cu") (net 87) (tstamp f76ec4ff-bb96-4358-a1c4-7c691b304597)) + (segment (start 80.772 29.972) (end 80.518 30.226) (width 0.254) (layer "F.Cu") (net 88) (tstamp 01aaf37b-bba0-4105-a58c-6e2072a9e6fe)) + (segment (start 71.501 29.337) (end 71.75 29.088) (width 0.254) (layer "F.Cu") (net 88) (tstamp 18222e7a-0555-4992-8af9-f29225b8c028)) + (segment (start 70.993 29.337) (end 71.501 29.337) (width 0.254) (layer "F.Cu") (net 88) (tstamp 2cbe1576-dfea-4c9a-94ab-f4220f3d69b7)) + (segment (start 84.836 33.401) (end 84.836 30.607) (width 0.254) (layer "F.Cu") (net 88) (tstamp 31a2c4eb-9b51-4110-8424-18973cfbe3f0)) + (segment (start 84.836 30.607) (end 84.201 29.972) (width 0.254) (layer "F.Cu") (net 88) (tstamp 59623ef1-ab45-4c96-972c-9e92d912f316)) + (segment (start 83.058 33.782) (end 83.439 34.163) (width 0.254) (layer "F.Cu") (net 88) (tstamp 5dfb51bb-4a26-407b-84b0-bac365839f98)) + (segment (start 70.75 29.094) (end 70.993 29.337) (width 0.254) (layer "F.Cu") (net 88) (tstamp 64b42ed9-bafe-407d-a40c-9b71b23b895e)) + (segment (start 84.074 34.163) (end 84.836 33.401) (width 0.254) (layer "F.Cu") (net 88) (tstamp 78803105-a3ab-491f-a279-d3e948132c2f)) + (segment (start 70.75 27.488) (end 70.75 29.094) (width 0.254) (layer "F.Cu") (net 88) (tstamp 86e393fd-451f-488e-a5a9-7aa2c521073a)) + (segment (start 83.439 34.163) (end 84.074 34.163) (width 0.254) (layer "F.Cu") (net 88) (tstamp b7fb3caf-9b49-4b56-b511-385640178b09)) + (segment (start 71.75 29.088) (end 71.75 27.488) (width 0.254) (layer "F.Cu") (net 88) (tstamp cfee9f5c-3eed-453e-b10c-02121d67cbb4)) + (segment (start 84.201 29.972) (end 80.772 29.972) (width 0.254) (layer "F.Cu") (net 88) (tstamp e88eac83-32b8-4b9e-a91f-3f1f311b03ab)) + (segment (start 82.358 33.782) (end 83.058 33.782) (width 0.254) (layer "F.Cu") (net 88) (tstamp ffe00e7f-6779-4877-97a8-4f9cb2fd07bb)) + (via (at 71.501 29.337) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 88) (tstamp 79c37d74-44c5-4412-8b50-e2a5c25e80a2)) + (via (at 80.518 30.226) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 88) (tstamp 8c6eb8bb-c398-4c96-8ac0-9c5cf4b71492)) + (segment (start 80.518 30.226) (end 80.264 29.972) (width 0.254) (layer "B.Cu") (net 88) (tstamp 2431e67a-b513-45c8-9685-78f7ba6d9ccd)) + (segment (start 76.2 31.369) (end 73.533 31.369) (width 0.254) (layer "B.Cu") (net 88) (tstamp 3c54e9e8-d2fa-42e9-a3ff-e99a9b384b48)) + (segment (start 73.533 31.369) (end 72.39 30.226) (width 0.254) (layer "B.Cu") (net 88) (tstamp 40767d04-d71c-4e5d-a782-28aed2a98d0e)) + (segment (start 72.39 27.813) (end 72.009 27.432) (width 0.254) (layer "B.Cu") (net 88) (tstamp 449b7f31-61e0-42f5-b34d-3d09ccc93106)) + (segment (start 71.755 27.432) (end 71.501 27.686) (width 0.254) (layer "B.Cu") (net 88) (tstamp 81cf8610-4665-4503-8ca5-a154b34cda3d)) + (segment (start 80.264 29.972) (end 77.597 29.972) (width 0.254) (layer "B.Cu") (net 88) (tstamp 839389bf-eac7-4f53-b6a9-8a5e596fee0a)) + (segment (start 72.009 27.432) (end 71.755 27.432) (width 0.254) (layer "B.Cu") (net 88) (tstamp b19e9b7e-80ca-451d-a1fe-da8a84a8f307)) + (segment (start 72.39 30.226) (end 72.39 27.813) (width 0.254) (layer "B.Cu") (net 88) (tstamp b3097322-84fb-4871-b1dc-805008824b74)) + (segment (start 71.501 27.686) (end 71.501 29.337) (width 0.254) (layer "B.Cu") (net 88) (tstamp cce4f926-7405-4091-93d7-febf0148fb7e)) + (segment (start 77.597 29.972) (end 76.2 31.369) (width 0.254) (layer "B.Cu") (net 88) (tstamp fd117781-3e5d-4723-89e8-2c1b7f16dc0f)) + (segment (start 71.25 27.488) (end 71.25 25.911) (width 0.254) (layer "F.Cu") (net 89) (tstamp 28a4b491-7327-488d-abc8-63dbea680fbd)) + (segment (start 70.25 25.889) (end 70.25 27.488) (width 0.254) (layer "F.Cu") (net 89) (tstamp 41d3baac-a54a-4a28-9592-33cad9034dea)) + (segment (start 71.25 25.911) (end 70.993 25.654) (width 0.254) (layer "F.Cu") (net 89) (tstamp 477f6aa7-5654-4a0b-ad13-5f43bbf4b29f)) + (segment (start 82.358 35.052) (end 83.058 35.052) (width 0.254) (layer "F.Cu") (net 89) (tstamp 584fdd17-0bfa-41a4-b768-da6b25ae1048)) + (segment (start 70.993 25.654) (end 70.485 25.654) (width 0.254) (layer "F.Cu") (net 89) (tstamp 5e981d17-fe7d-4520-8477-238e50c1db82)) + (segment (start 84.455 29.464) (end 80.772 29.464) (width 0.254) (layer "F.Cu") (net 89) (tstamp 6a561523-8c9b-4d9b-9530-586662e9902f)) + (segment (start 80.772 29.464) (end 80.518 29.21) (width 0.254) (layer "F.Cu") (net 89) (tstamp 7c2a96f5-ad49-4a3c-8a06-38816331b027)) + (segment (start 70.485 25.654) (end 70.25 25.889) (width 0.254) (layer "F.Cu") (net 89) (tstamp 9de8a14a-7b43-4881-ba5d-6ee1d1639949)) + (segment (start 83.058 35.052) (end 83.439 34.671) (width 0.254) (layer "F.Cu") (net 89) (tstamp ad05c2af-c3aa-4017-a7a7-493df1762dc3)) + (segment (start 83.439 34.671) (end 84.328 34.671) (width 0.254) (layer "F.Cu") (net 89) (tstamp bd0753cf-263d-4fee-b1b6-005aa96de668)) + (segment (start 85.344 30.353) (end 84.455 29.464) (width 0.254) (layer "F.Cu") (net 89) (tstamp f55e2f5f-5550-49c9-8cd5-91b4c6c1a7ec)) + (segment (start 85.344 33.655) (end 85.344 30.353) (width 0.254) (layer "F.Cu") (net 89) (tstamp fdc45a5c-9693-43b8-bab1-3c01192c32cc)) + (segment (start 84.328 34.671) (end 85.344 33.655) (width 0.254) (layer "F.Cu") (net 89) (tstamp ff6678ca-460c-4632-81d1-38803181fd48)) + (via (at 70.993 25.654) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 89) (tstamp 692f3dcd-d458-4fcc-b79e-50f12d18d553)) + (via (at 80.518 29.21) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 89) (tstamp fe67d87e-4d3f-4d58-9111-93c3ea592415)) + (segment (start 71.247 26.924) (end 72.263 26.924) (width 0.254) (layer "B.Cu") (net 89) (tstamp 1e408bea-3137-40fd-92ce-f2864fde7be2)) + (segment (start 76.0095 30.861) (end 77.4065 29.464) (width 0.254) (layer "B.Cu") (net 89) (tstamp 2666b79c-1bf8-4759-a7cb-d3b5869fee6c)) + (segment (start 70.993 26.67) (end 71.247 26.924) (width 0.254) (layer "B.Cu") (net 89) (tstamp 5fad0382-dfcd-4ffc-b5ac-0b12df69dc95)) + (segment (start 72.898 29.972) (end 73.787 30.861) (width 0.254) (layer "B.Cu") (net 89) (tstamp 69ac8e1a-a9ea-4541-b1fd-18bdfbbc4def)) + (segment (start 70.993 25.654) (end 70.993 26.67) (width 0.254) (layer "B.Cu") (net 89) (tstamp 6c9db723-92d7-4b6f-8050-5b2a84f66d19)) + (segment (start 80.264 29.464) (end 80.518 29.21) (width 0.254) (layer "B.Cu") (net 89) (tstamp 8181cec7-22b3-490f-ae77-425194ace7e3)) + (segment (start 72.263 26.924) (end 72.898 27.559) (width 0.254) (layer "B.Cu") (net 89) (tstamp ad347f97-99be-4b4f-b854-7274c9d3348a)) + (segment (start 73.787 30.861) (end 76.0095 30.861) (width 0.254) (layer "B.Cu") (net 89) (tstamp d220b206-2df6-4fb9-964a-7bc817827f90)) + (segment (start 77.4065 29.464) (end 80.264 29.464) (width 0.254) (layer "B.Cu") (net 89) (tstamp e29c5eba-60d9-4589-adb0-be7ab322983a)) + (segment (start 72.898 27.559) (end 72.898 29.972) (width 0.254) (layer "B.Cu") (net 89) (tstamp ef727443-1ab8-4c47-ae55-01f75541015f)) + (segment (start 91.567 35.814) (end 89.592 37.789) (width 0.254) (layer "F.Cu") (net 90) (tstamp 4138f7d4-c47e-45f4-813a-bf38fed30dab)) + (segment (start 95.453 29.21) (end 91.567 33.096) (width 0.254) (layer "F.Cu") (net 90) (tstamp 6a914427-88fa-465c-9e97-c90432533abd)) + (segment (start 91.567 33.096) (end 91.567 35.814) (width 0.254) (layer "F.Cu") (net 90) (tstamp a5d94498-ec5d-4f0d-8288-3ce9d9343f02)) + (segment (start 89.592 37.789) (end 87.906 37.789) (width 0.254) (layer "F.Cu") (net 90) (tstamp aba25ea6-93bc-40a1-a138-8f85507e3101)) + (segment (start 87.906 38.589) (end 89.935 38.589) (width 0.254) (layer "F.Cu") (net 91) (tstamp 372d3711-0c41-4f5c-b59e-492b3aff718e)) + (segment (start 92.329 36.195) (end 92.329 33.985) (width 0.254) (layer "F.Cu") (net 91) (tstamp 3fd18397-945a-4a59-a4e3-a8865505a6dd)) + (segment (start 92.329 33.985) (end 95.453 30.861) (width 0.254) (layer "F.Cu") (net 91) (tstamp 46cc02b9-dd67-4212-9cd9-9e5e6226929f)) + (segment (start 89.935 38.589) (end 92.329 36.195) (width 0.254) (layer "F.Cu") (net 91) (tstamp b26a1780-8a0e-4146-bd50-2539df868de5)) + (segment (start 93.091 36.449) (end 93.091 34.874) (width 0.254) (layer "F.Cu") (net 92) (tstamp 03c07c16-34f2-4df8-b637-0d17524165f3)) + (segment (start 90.151 39.389) (end 93.091 36.449) (width 0.254) (layer "F.Cu") (net 92) (tstamp 07d12326-9f02-4e03-8a54-2dc4b62685d1)) + (segment (start 93.091 34.874) (end 95.453 32.512) (width 0.254) (layer "F.Cu") (net 92) (tstamp a268dd6a-fa6f-4c04-adf6-ee836b90a75f)) + (segment (start 87.906 39.389) (end 90.151 39.389) (width 0.254) (layer "F.Cu") (net 92) (tstamp f216f84c-d215-4c68-be83-0e69a9de24d8)) + (segment (start 90.367 40.189) (end 93.853 36.703) (width 0.254) (layer "F.Cu") (net 93) (tstamp 0cf89dc8-61e5-431c-8598-620db8ce70d9)) + (segment (start 87.906 40.189) (end 90.367 40.189) (width 0.254) (layer "F.Cu") (net 93) (tstamp 0ec5984b-6670-4d1e-817d-7c2fa478179d)) + (segment (start 93.853 35.763) (end 95.453 34.163) (width 0.254) (layer "F.Cu") (net 93) (tstamp b401c5d1-1926-4fc5-bd16-980237dda914)) + (segment (start 93.853 36.703) (end 93.853 35.763) (width 0.254) (layer "F.Cu") (net 93) (tstamp b968d4e4-6457-4367-b112-8383eabe9207)) + (segment (start 89.795 41.853) (end 95.453 36.195) (width 0.254) (layer "F.Cu") (net 94) (tstamp 6e2db7b7-cf86-46d7-a995-d3b9b8085669)) + (segment (start 87.895 41.853) (end 89.795 41.853) (width 0.254) (layer "F.Cu") (net 94) (tstamp ae2f9415-6fec-46ec-b3df-33708430b1c5)) + (segment (start 90.646 42.653) (end 95.453 37.846) (width 0.254) (layer "F.Cu") (net 95) (tstamp 43e1dea9-d585-4759-b8f2-1ad95ef8ef69)) + (segment (start 87.895 42.653) (end 90.646 42.653) (width 0.254) (layer "F.Cu") (net 95) (tstamp 633afca1-1845-418f-9f03-dd4585033a99)) + (segment (start 91.497 43.453) (end 95.453 39.497) (width 0.254) (layer "F.Cu") (net 96) (tstamp 5513e3b2-c0ff-4c12-9276-db32a8bff68f)) + (segment (start 87.895 43.453) (end 91.497 43.453) (width 0.254) (layer "F.Cu") (net 96) (tstamp a73b093f-23d3-45f6-ba15-b9aa433b1964)) + (segment (start 92.348 44.253) (end 95.453 41.148) (width 0.254) (layer "F.Cu") (net 97) (tstamp af03879f-ea01-44c0-bea7-da9f08e7ec11)) + (segment (start 87.895 44.253) (end 92.348 44.253) (width 0.254) (layer "F.Cu") (net 97) (tstamp c72814c3-d13e-4b4b-858c-04870ff304b3)) + (segment (start 92.8685 45.917) (end 95.4785 43.307) (width 0.254) (layer "F.Cu") (net 98) (tstamp a1dc44e3-400c-427a-8af0-3ba9819c689c)) + (segment (start 87.895 45.917) (end 92.8685 45.917) (width 0.254) (layer "F.Cu") (net 98) (tstamp cc44926b-47f0-4ac2-8da2-18819c66085d)) + (segment (start 93.7195 46.717) (end 95.4785 44.958) (width 0.254) (layer "F.Cu") (net 99) (tstamp 3176a8b1-5bbe-4c66-a29f-fb1d209c9b27)) + (segment (start 87.895 46.717) (end 93.7195 46.717) (width 0.254) (layer "F.Cu") (net 99) (tstamp b5848363-cddf-4c7f-bd22-0b52d17aca41)) + (segment (start 94.5705 47.517) (end 95.4785 46.609) (width 0.254) (layer "F.Cu") (net 100) (tstamp ba5d120a-fc1a-489e-a602-94da470c9ef9)) + (segment (start 87.895 47.517) (end 94.5705 47.517) (width 0.254) (layer "F.Cu") (net 100) (tstamp fe06d318-d68e-458f-91ff-55a322cd1ceb)) + (segment (start 95.4215 48.317) (end 95.4785 48.26) (width 0.254) (layer "F.Cu") (net 101) (tstamp 401c5a9d-b61a-474a-82d7-b4aa48eb0f41)) + (segment (start 87.895 48.317) (end 95.4215 48.317) (width 0.254) (layer "F.Cu") (net 101) (tstamp cb6e8a41-9bda-4aa2-9e4d-ee82f522b138)) + (segment (start 72.771 109.855) (end 73.443 110.527) (width 0.508) (layer "F.Cu") (net 102) (tstamp 01971d66-8e2a-4b74-b784-920a0e43a2d7)) + (segment (start 69.342 109.855) (end 72.771 109.855) (width 0.508) (layer "F.Cu") (net 102) (tstamp 140976ea-1de9-4abd-b470-18cf18dfe532)) + (segment (start 69.2635 109.7765) (end 69.342 109.855) (width 0.762) (layer "F.Cu") (net 102) (tstamp 8d0df369-ef2f-4747-ba28-a81b8aebdc16)) + (segment (start 68.543 112.541) (end 68.543 110.4) (width 0.508) (layer "F.Cu") (net 102) (tstamp a6dc4bc5-517d-45e8-850a-002cc9377a09)) + (segment (start 69.088 109.855) (end 69.342 109.855) (width 0.508) (layer "F.Cu") (net 102) (tstamp e379e809-d74e-43cd-a021-d021e0ea2f10)) + (segment (start 68.543 110.4) (end 69.088 109.855) (width 0.508) (layer "F.Cu") (net 102) (tstamp e7c6cda8-1d14-4dd7-a20b-bca847e12c29)) + (segment (start 69.2635 107.696) (end 69.2635 109.7765) (width 0.762) (layer "F.Cu") (net 102) (tstamp eb3725ec-d7ca-405d-906e-d640663e16d0)) + (segment (start 73.443 110.527) (end 73.443 112.541) (width 0.508) (layer "F.Cu") (net 102) (tstamp f96a841d-eb49-4c72-837f-841cbeeb698e)) + (segment (start 72.898 48.006) (end 72.644 48.26) (width 0.254) (layer "F.Cu") (net 103) (tstamp 6d90e815-d380-490c-9b6b-7dd041f13ba0)) + (segment (start 83.439 36.449) (end 84.074 36.449) (width 0.254) (layer "F.Cu") (net 103) (tstamp 7c43bf20-afcc-472d-adfa-2071a7b1efd2)) + (segment (start 72.898 47.371) (end 72.898 48.006) (width 0.254) (layer "F.Cu") (net 103) (tstamp 7dddf7b0-8ef2-4e04-acec-41cc88a6a3cf)) + (segment (start 82.55 37.338) (end 83.439 36.449) (width 0.254) (layer "F.Cu") (net 103) (tstamp 86c89ecb-c5d3-4dcc-9864-7ccf80c284f0)) + (segment (start 72.644 48.26) (end 72.644 50.927) (width 0.254) (layer "F.Cu") (net 103) (tstamp 905e5785-2681-48d0-86f4-fea35fcea10e)) + (segment (start 90.297 26.162) (end 85.852 26.162) (width 0.254) (layer "F.Cu") (net 103) (tstamp 9be367ad-4b41-4b83-9ec2-f28ca3a79443)) + (segment (start 69.088 52.07) (end 68.417 51.399) (width 0.254) (layer "F.Cu") (net 103) (tstamp a0f6a8e8-44c0-48ae-a08c-00128984bede)) + (segment (start 90.932 29.591) (end 90.932 26.797) (width 0.254) (layer "F.Cu") (net 103) (tstamp a1e1ff77-e621-4b94-b9de-aa94dbcbc867)) + (segment (start 84.074 36.449) (end 90.932 29.591) (width 0.254) (layer "F.Cu") (net 103) (tstamp a75178ba-e728-4385-82c0-d87678ab41f5)) + (segment (start 68.417 51.399) (end 68.417 50.0095) (width 0.254) (layer "F.Cu") (net 103) (tstamp ca7bf162-bf34-4033-ab4d-69d577b533c5)) + (segment (start 72.644 50.927) (end 71.501 52.07) (width 0.254) (layer "F.Cu") (net 103) (tstamp cdd6454e-887c-4f07-a398-53ec7d5ff97d)) + (segment (start 85.344 25.654) (end 85.344 24.384) (width 0.254) (layer "F.Cu") (net 103) (tstamp d01bfe44-4a4e-420e-9416-6d081d0d1598)) + (segment (start 90.932 26.797) (end 90.297 26.162) (width 0.254) (layer "F.Cu") (net 103) (tstamp d1d9a0db-d7cd-42a9-a085-634b769a6ad3)) + (segment (start 71.501 52.07) (end 69.088 52.07) (width 0.254) (layer "F.Cu") (net 103) (tstamp e5e65055-1a94-4009-8049-75fc8a047d27)) + (segment (start 85.852 26.162) (end 85.344 25.654) (width 0.254) (layer "F.Cu") (net 103) (tstamp f21739a9-3b2a-47ca-8724-e495dbfaa309)) + (via (at 72.898 47.371) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 103) (tstamp 52f16ee9-6560-4245-bb68-567f9f9b836c)) + (via (at 82.55 37.338) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 103) (tstamp fda3f33d-c117-4b71-babc-8f455b2602d7)) + (segment (start 80.645 37.338) (end 79.121 38.862) (width 0.254) (layer "B.Cu") (net 103) (tstamp 0c499d50-7933-4cae-a7c7-0b44ca953998)) + (segment (start 79.121 38.862) (end 79.121 40.64) (width 0.254) (layer "B.Cu") (net 103) (tstamp 5df16849-62de-496a-9405-93e785cc1555)) + (segment (start 82.55 37.338) (end 80.645 37.338) (width 0.254) (layer "B.Cu") (net 103) (tstamp 7e7e7370-a5d1-49e4-9825-5118ccfaa660)) + (segment (start 79.121 40.64) (end 72.898 46.863) (width 0.254) (layer "B.Cu") (net 103) (tstamp de098d21-025d-4a89-ab21-6796a7eb71d9)) + (segment (start 72.898 46.863) (end 72.898 47.371) (width 0.254) (layer "B.Cu") (net 103) (tstamp f0cd75ac-0c59-40fe-9102-1b04fcbbde63)) + (segment (start 89.662 25.654) (end 90.551 25.654) (width 0.254) (layer "F.Cu") (net 104) (tstamp 0fe4debf-a1e6-4e6e-bf93-b390dc9c72d6)) + (segment (start 71.247 51.562) (end 69.342 51.562) (width 0.254) (layer "F.Cu") (net 104) (tstamp 1845e202-8223-4da2-9328-e87b73ba8b06)) + (segment (start 72.136 50.673) (end 71.247 51.562) (width 0.254) (layer "F.Cu") (net 104) (tstamp 1ef920de-0cee-41d7-a7e4-9c38f9b58742)) + (segment (start 89.344 24.384) (end 89.344 25.336) (width 0.254) (layer "F.Cu") (net 104) (tstamp 331faa51-062a-4881-96e5-8cafc52efdaa)) + (segment (start 68.917 51.137) (end 68.917 50.0095) (width 0.254) (layer "F.Cu") (net 104) (tstamp 3e39f116-f5c3-4c48-a7fd-0d2486e4e668)) + (segment (start 72.136 46.863) (end 72.136 50.673) (width 0.254) (layer "F.Cu") (net 104) (tstamp 423b2815-6eea-4de1-adc2-2a1dc35bbd2b)) + (segment (start 91.44 26.543) (end 91.44 29.845) (width 0.254) (layer "F.Cu") (net 104) (tstamp 61fbd74c-8e3b-4cd2-b563-a5bae8c53d5f)) + (segment (start 83.947 37.338) (end 83.693 37.338) (width 0.254) (layer "F.Cu") (net 104) (tstamp 99c5202c-8a89-47bd-be64-bed4ba6efe1a)) + (segment (start 90.551 25.654) (end 91.44 26.543) (width 0.254) (layer "F.Cu") (net 104) (tstamp 9f97822a-1c53-4fb6-a5f7-b42cbeaffe79)) + (segment (start 69.342 51.562) (end 68.917 51.137) (width 0.254) (layer "F.Cu") (net 104) (tstamp a67faf40-5793-43be-ad64-c6cbe1e2fdf3)) + (segment (start 89.344 25.336) (end 89.662 25.654) (width 0.254) (layer "F.Cu") (net 104) (tstamp d9e9ef61-1d12-49b7-b809-a7e23eff965c)) + (segment (start 91.44 29.845) (end 83.947 37.338) (width 0.254) (layer "F.Cu") (net 104) (tstamp f630f971-e28d-4f79-9c01-02396ea4192d)) + (via (at 83.693 37.338) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 104) (tstamp 1e231f6c-587c-41b1-b09c-43b52d79e2fe)) + (via (at 72.136 46.863) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 104) (tstamp 9f45fa7c-3d74-47e3-8053-7aeb320c653b)) + (segment (start 78.613 38.608) (end 80.645 36.576) (width 0.254) (layer "B.Cu") (net 104) (tstamp 0c5ec33e-9c2d-47a9-b5b6-373040c58a02)) + (segment (start 80.645 36.576) (end 82.931 36.576) (width 0.254) (layer "B.Cu") (net 104) (tstamp 939252aa-efa3-4c9c-a12b-06bef049ce68)) + (segment (start 78.613 40.386) (end 78.613 38.608) (width 0.254) (layer "B.Cu") (net 104) (tstamp a9f668cf-45ea-4a76-8b51-343353cccc8a)) + (segment (start 82.931 36.576) (end 83.693 37.338) (width 0.254) (layer "B.Cu") (net 104) (tstamp d49f096c-4c90-4385-bede-4360fb062d25)) + (segment (start 72.136 46.863) (end 78.613 40.386) (width 0.254) (layer "B.Cu") (net 104) (tstamp f88b63c4-367b-4292-b90c-aa4dae280abb)) + (segment (start 65.417 52.07) (end 65.417 50.0095) (width 0.254) (layer "F.Cu") (net 105) (tstamp 29f1df0f-59e9-4c1f-9bef-29a52a13f415)) + (segment (start 85.344 29.337) (end 85.344 27.559) (width 0.254) (layer "F.Cu") (net 105) (tstamp 4dae481f-66c3-4892-88aa-05913dcebcbd)) + (segment (start 61.341 79.375) (end 61.341 91.838) (width 0.254) (layer "F.Cu") (net 105) (tstamp 6cddb655-2820-4408-a8d5-106d488bfc67)) + (segment (start 65.417 55.106) (end 62.357 58.166) (width 0.254) (layer "F.Cu") (net 105) (tstamp 786478c7-2e09-496c-ac5e-a4c15322e089)) + (segment (start 61.849 66.929) (end 61.849 78.867) (width 0.254) (layer "F.Cu") (net 105) (tstamp 9347b358-e7d2-4266-aa63-0249c0beee71)) + (segment (start 86.0425 30.0355) (end 85.344 29.337) (width 0.254) (layer "F.Cu") (net 105) (tstamp 9d53f6fb-8452-4d28-a4cb-25ee8efde1d1)) + (segment (start 62.357 66.421) (end 61.849 66.929) (width 0.254) (layer "F.Cu") (net 105) (tstamp ca530c2b-b3eb-4393-9d9e-44b908bece7a)) + (segment (start 62.357 58.166) (end 62.357 66.421) (width 0.254) (layer "F.Cu") (net 105) (tstamp ccf8cf60-8803-44d8-bf4d-6a7c624a6f32)) + (segment (start 77.408 33.782) (end 78.867 33.782) (width 0.254) (layer "F.Cu") (net 105) (tstamp ce8a216f-bc08-4125-bb2f-29d2a957af5c)) + (segment (start 61.341 91.838) (end 61.337 91.842) (width 0.254) (layer "F.Cu") (net 105) (tstamp d46b6029-f2b0-43b0-93a6-596f9afc5502)) + (segment (start 61.849 78.867) (end 61.341 79.375) (width 0.254) (layer "F.Cu") (net 105) (tstamp d75f5ac9-0688-4241-9ec8-ed1b6dd6e099)) + (segment (start 65.417 52.07) (end 65.417 55.106) (width 0.254) (layer "F.Cu") (net 105) (tstamp ef5bae67-0b92-4589-847a-b22be19baccd)) + (via (at 65.417 52.07) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 105) (tstamp 127c05d2-451a-4424-ac50-e1ae6f6653ff)) + (via (at 86.0425 30.0355) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 105) (tstamp 75fa4f02-fea9-4e8d-a88b-d51125bd7395)) + (via (at 78.867 33.782) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 105) (tstamp dc3660ee-3f09-400b-a4f7-843fb25b6867)) + (segment (start 70.739 43.18) (end 66.802 47.117) (width 0.254) (layer "B.Cu") (net 105) (tstamp 01b90865-a1a8-48ef-b1d0-da7c3d404f3e)) + (segment (start 67.691 50.3555) (end 67.691 51.689) (width 0.254) (layer "B.Cu") (net 105) (tstamp 0d4180c9-3f07-4d91-b3c2-a9e361b2fe3d)) + (segment (start 73.66 38.735) (end 70.739 41.656) (width 0.254) (layer "B.Cu") (net 105) (tstamp 0e840677-c1d4-47a9-8a25-e5ae01dbc7aa)) + (segment (start 67.31 52.07) (end 65.417 52.07) (width 0.254) (layer "B.Cu") (net 105) (tstamp 16e63b59-8269-4f41-94a6-6f34c5f8b3da)) + (segment (start 67.691 51.689) (end 67.31 52.07) (width 0.254) (layer "B.Cu") (net 105) (tstamp 23958eb6-075d-491c-938b-78a5c5b88ba6)) + (segment (start 84.963 29.845) (end 81.026 33.782) (width 0.254) (layer "B.Cu") (net 105) (tstamp 56d2ee64-a381-4f15-8f81-39e9d8874964)) + (segment (start 70.739 41.656) (end 70.739 43.18) (width 0.254) (layer "B.Cu") (net 105) (tstamp 65a3b63f-ffcc-4661-b465-92fd95202ba3)) + (segment (start 73.66 36.322) (end 73.66 38.735) (width 0.254) (layer "B.Cu") (net 105) (tstamp 7a41e19c-4469-4985-ab10-4acceaa12cee)) + (segment (start 66.802 49.4665) (end 67.691 50.3555) (width 0.254) (layer "B.Cu") (net 105) (tstamp 9b5443b4-1433-4bc6-8ab5-d1ca593e0d13)) + (segment (start 74.676 35.306) (end 73.66 36.322) (width 0.254) (layer "B.Cu") (net 105) (tstamp a3613f2e-5260-4162-9bcf-6022f07ab7a8)) + (segment (start 77.343 35.306) (end 74.676 35.306) (width 0.254) (layer "B.Cu") (net 105) (tstamp ab31e41f-b3b2-4709-9caa-77c24b0a5866)) + (segment (start 86.0425 30.0355) (end 85.852 29.845) (width 0.254) (layer "B.Cu") (net 105) (tstamp c3d165f3-69d7-44d3-8f4a-f4593b7a9a11)) + (segment (start 66.802 47.117) (end 66.802 49.4665) (width 0.254) (layer "B.Cu") (net 105) (tstamp ea6a6cf8-28d0-426d-8b7c-495b20b241b0)) + (segment (start 81.026 33.782) (end 78.867 33.782) (width 0.254) (layer "B.Cu") (net 105) (tstamp f452bb78-5f6c-47c4-a616-0beed61df862)) + (segment (start 85.852 29.845) (end 84.963 29.845) (width 0.254) (layer "B.Cu") (net 105) (tstamp f7753ad7-46fa-4ee8-b82a-307d381d8fc7)) + (segment (start 78.867 33.782) (end 77.343 35.306) (width 0.254) (layer "B.Cu") (net 105) (tstamp f886844d-4f06-402c-a0ba-3dee7f76cc71)) + (segment (start 62.865 66.6115) (end 62.865 58.42) (width 0.254) (layer "F.Cu") (net 106) (tstamp 08e4a7d4-c4db-4a06-9bad-44bb49a3b5e5)) + (segment (start 66.917 51.828) (end 66.917 51.308) (width 0.254) (layer "F.Cu") (net 106) (tstamp 0c91ac88-0878-40d6-86b8-a410a503a227)) + (segment (start 65.913 52.832) (end 66.917 51.828) (width 0.254) (layer "F.Cu") (net 106) (tstamp 40dbd46f-2717-42fc-a0e3-52db06740492)) + (segment (start 65.913 55.372) (end 65.913 52.832) (width 0.254) (layer "F.Cu") (net 106) (tstamp 7316a744-56f9-41d0-93d6-d78cdf27b3e8)) + (segment (start 62.357 79.121) (end 62.357 67.1195) (width 0.254) (layer "F.Cu") (net 106) (tstamp 8bdca612-c9b6-44cf-bcfe-eb18587fb462)) + (segment (start 78.486 32.512) (end 78.867 32.893) (width 0.254) (layer "F.Cu") (net 106) (tstamp 8d8ea2ac-775b-425b-8851-e4e64d21c8e9)) + (segment (start 61.849 83.376) (end 61.849 79.629) (width 0.254) (layer "F.Cu") (net 106) (tstamp 92bbc261-8633-415c-9b01-e5437babbb89)) + (segment (start 66.917 50.0095) (end 66.917 51.308) (width 0.254) (layer "F.Cu") (net 106) (tstamp b20ff687-4593-4320-aaeb-ea7b4dde5629)) + (segment (start 77.408 32.512) (end 78.486 32.512) (width 0.254) (layer "F.Cu") (net 106) (tstamp b9bc685c-1152-40a7-8ef8-8980afc5135f)) + (segment (start 61.849 79.629) (end 62.357 79.121) (width 0.254) (layer "F.Cu") (net 106) (tstamp ef89e0e2-eecb-4f15-8d90-7c5df8f0d936)) + (segment (start 62.357 67.1195) (end 62.865 66.6115) (width 0.254) (layer "F.Cu") (net 106) (tstamp f034c135-266a-4894-a7db-36276221783a)) + (segment (start 62.357 83.884) (end 61.849 83.376) (width 0.254) (layer "F.Cu") (net 106) (tstamp f530e4a7-a62c-4725-bfd0-b10d2185de62)) + (segment (start 62.865 58.42) (end 65.913 55.372) (width 0.254) (layer "F.Cu") (net 106) (tstamp faee7778-b79a-484d-9cbf-dc9c393aefe1)) + (via (at 66.917 51.308) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 106) (tstamp 07f302b3-107a-49b3-92b3-71c3387abe81)) + (via (at 78.867 32.893) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 106) (tstamp ac0a364b-e1e7-4d6b-8400-c21a23c6ceba)) + (segment (start 70.231 42.926) (end 66.294 46.863) (width 0.254) (layer "B.Cu") (net 106) (tstamp 0a84a134-e239-49f0-934d-480e47b59760)) + (segment (start 66.294 49.657) (end 66.917 50.28) (width 0.254) (layer "B.Cu") (net 106) (tstamp 114ed4b4-664f-424f-af8c-6c0193a0989b)) + (segment (start 89.344 28.766) (end 89.344 27.559) (width 0.254) (layer "B.Cu") (net 106) (tstamp 1f7ffcfb-30cd-4df9-8285-5098b7c70fb5)) + (segment (start 70.231 41.402) (end 70.231 42.926) (width 0.254) (layer "B.Cu") (net 106) (tstamp 25c6fa14-c4fa-47cf-bc89-811cd9d0fae6)) + (segment (start 66.917 50.28) (end 66.917 51.308) (width 0.254) (layer "B.Cu") (net 106) (tstamp 3eb9531e-8a10-4512-a9b0-f204dfb67c86)) + (segment (start 78.867 32.893) (end 81.0895 32.893) (width 0.254) (layer "B.Cu") (net 106) (tstamp 5737792a-3e1f-4a52-adf4-cc04ca876b1d)) + (segment (start 88.773 29.337) (end 89.344 28.766) (width 0.254) (layer "B.Cu") (net 106) (tstamp 6761d528-2d46-4299-94fc-a84bb9a7680c)) + (segment (start 84.6455 29.337) (end 88.773 29.337) (width 0.254) (layer "B.Cu") (net 106) (tstamp 6dc787af-3505-435b-897f-1c8f760ff6da)) + (segment (start 78.486 32.893) (end 76.581 34.798) (width 0.254) (layer "B.Cu") (net 106) (tstamp 8e0011ad-c935-482f-b6e8-abe79c5da028)) + (segment (start 76.581 34.798) (end 74.422 34.798) (width 0.254) (layer "B.Cu") (net 106) (tstamp a38c55ed-405d-4ba8-bb68-2e5b5f1f62a7)) + (segment (start 73.152 36.068) (end 73.152 38.481) (width 0.254) (layer "B.Cu") (net 106) (tstamp a556a1f1-b83a-423e-9549-3a2b8ed92b17)) + (segment (start 81.0895 32.893) (end 84.6455 29.337) (width 0.254) (layer "B.Cu") (net 106) (tstamp a7986adb-442b-4030-9a2a-d275fa614873)) + (segment (start 78.867 32.893) (end 78.486 32.893) (width 0.254) (layer "B.Cu") (net 106) (tstamp bc9dfcb9-8b9d-481d-8c9d-d10303f71a51)) + (segment (start 66.294 46.863) (end 66.294 49.657) (width 0.254) (layer "B.Cu") (net 106) (tstamp e446f1e5-91b5-4e62-b2ed-3a0a3cda2616)) + (segment (start 73.152 38.481) (end 70.231 41.402) (width 0.254) (layer "B.Cu") (net 106) (tstamp efd4cd55-0890-4cea-a1fc-d8480095ba80)) + (segment (start 74.422 34.798) (end 73.152 36.068) (width 0.254) (layer "B.Cu") (net 106) (tstamp fd27f610-24ff-43ae-9d08-4d447c522e9d)) + (segment (start 74.803 105.946) (end 76.096 105.946) (width 0.254) (layer "F.Cu") (net 107) (tstamp 5d52e18d-5bd9-4033-9661-e3031c0f6b20)) + (segment (start 76.096 105.946) (end 77.343 107.193) (width 0.254) (layer "F.Cu") (net 107) (tstamp 8eeca382-95da-42ec-b6f5-4fab0d653e6a)) + (segment (start 86.135 81.788) (end 87.151 80.772) (width 0.254) (layer "F.Cu") (net 108) (tstamp 158e869c-2a38-46b3-ac8e-49d43d25e32e)) + (segment (start 87.151 79.121) (end 88.675 77.597) (width 0.254) (layer "F.Cu") (net 108) (tstamp 29390895-088b-4785-8b53-872f7c8f226a)) + (segment (start 86.135 82.55) (end 86.135 81.788) (width 0.254) (layer "F.Cu") (net 108) (tstamp 5d23a1f5-4429-48b2-a4b0-965bf2978937)) + (segment (start 87.151 80.772) (end 87.151 79.121) (width 0.254) (layer "F.Cu") (net 108) (tstamp 6f6926bf-7e47-48e8-8b9d-4525e28765ec)) + (segment (start 83.987 83.255) (end 85.43 83.255) (width 0.254) (layer "F.Cu") (net 108) (tstamp db3d71dd-0529-4872-909e-519dcf06e3ad)) + (segment (start 85.43 83.255) (end 86.135 82.55) (width 0.254) (layer "F.Cu") (net 108) (tstamp f5cbd38e-bc0a-45e9-98a1-af368997f549)) + (segment (start 87.151 92.202) (end 87.151 93.853) (width 0.254) (layer "F.Cu") (net 109) (tstamp 429a5904-3699-43f4-b4fb-7ea7551ccccc)) + (segment (start 86.135 90.424) (end 86.135 91.186) (width 0.254) (layer "F.Cu") (net 109) (tstamp 80114e82-46be-4559-a67a-4a2ad6e365c8)) + (segment (start 86.135 91.186) (end 87.151 92.202) (width 0.254) (layer "F.Cu") (net 109) (tstamp 80bbb8b6-3d3b-422e-ac7a-de81416c12fb)) + (segment (start 87.151 93.853) (end 88.675 95.377) (width 0.254) (layer "F.Cu") (net 109) (tstamp 857dd48e-fda6-4e20-85ff-cf8993adf8f0)) + (segment (start 83.987 89.719) (end 85.43 89.719) (width 0.254) (layer "F.Cu") (net 109) (tstamp dddd0042-b9fd-4fa4-842d-f1b65e29d191)) + (segment (start 85.43 89.719) (end 86.135 90.424) (width 0.254) (layer "F.Cu") (net 109) (tstamp f8235f0a-1907-4ca9-9638-22e0a4772171)) + (segment (start 67.437 44.831) (end 65.671 46.597) (width 0.254) (layer "F.Cu") (net 118) (tstamp 0f7a2958-2a58-4cfa-96b4-baa5cd649110)) + (segment (start 64.389 33.02) (end 68.326 33.02) (width 0.254) (layer "F.Cu") (net 118) (tstamp 360e298c-23f0-45ec-9ac9-f2dd1a9d9cd3)) + (segment (start 62.357 31.242) (end 62.357 32.639) (width 0.254) (layer "F.Cu") (net 118) (tstamp 3c96dc3c-e7b5-4e6e-ab02-1785704eb716)) + (segment (start 65.671 46.597) (end 62.0045 46.597) (width 0.254) (layer "F.Cu") (net 118) (tstamp 3eb1e149-1ee2-403c-9205-5459f4a3effb)) + (segment (start 62.357 31.242) (end 62.992 30.607) (width 0.254) (layer "F.Cu") (net 118) (tstamp 440c177b-669d-43e9-8802-9c0fa9c741f7)) + (segment (start 67.437 43.434) (end 67.437 44.831) (width 0.254) (layer "F.Cu") (net 118) (tstamp 55e84a59-79d4-492d-b26e-803cc292cef4)) + (segment (start 62.992 30.607) (end 62.992 29.554) (width 0.254) (layer "F.Cu") (net 118) (tstamp b5c7b6e3-3a24-467a-a9e9-0b624c09faa4)) + (via (at 67.437 43.434) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 118) (tstamp 02039b57-458e-4fef-b826-c7dc66a0cd69)) + (via (at 68.326 33.02) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 118) (tstamp 0544f892-a682-4288-9413-203c6f70f6a3)) + (via (at 64.389 33.02) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 118) (tstamp 1f6511a7-5302-4fd9-9285-4b05d4cca9d0)) + (via (at 62.357 31.242) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 118) (tstamp 39d5ef4a-4ebd-4ea8-8ed8-ba62e599c549)) + (segment (start 67.437 42.037) (end 70.739 38.735) (width 0.254) (layer "B.Cu") (net 118) (tstamp 09639d18-e464-4aa1-a47c-2f33928ef8d9)) + (segment (start 70.739 34.544) (end 69.215 33.02) (width 0.254) (layer "B.Cu") (net 118) (tstamp 25c93734-0288-4b96-9725-b6316d4e1779)) + (segment (start 62.357 32.385) (end 62.357 31.242) (width 0.254) (layer "B.Cu") (net 118) (tstamp 481f175c-40ac-466d-afd6-d865f8a9226a)) + (segment (start 69.215 33.02) (end 68.326 33.02) (width 0.254) (layer "B.Cu") (net 118) (tstamp 672d5ece-7694-43bc-992a-a06c65de0de9)) + (segment (start 62.992 33.02) (end 62.357 32.385) (width 0.254) (layer "B.Cu") (net 118) (tstamp a71ef28c-d43d-4cf4-bab9-f9737e79d085)) + (segment (start 70.739 38.735) (end 70.739 34.544) (width 0.254) (layer "B.Cu") (net 118) (tstamp e81652d7-d3cd-4e45-b7f1-cadf52ab7398)) + (segment (start 64.389 33.02) (end 62.992 33.02) (width 0.254) (layer "B.Cu") (net 118) (tstamp ef44bb35-4b9b-4484-93c6-a74254d4c69b)) + (segment (start 67.437 43.434) (end 67.437 42.037) (width 0.254) (layer "B.Cu") (net 118) (tstamp ef8b9df8-b5a6-4c53-a3b5-94e7dc23d75b)) + (segment (start 65.409 46.097) (end 62.0045 46.097) (width 0.254) (layer "F.Cu") (net 119) (tstamp 2b2f30c0-5366-49a9-bb6f-cfbc17fecb1a)) + (segment (start 66.7385 44.7675) (end 65.409 46.097) (width 0.254) (layer "F.Cu") (net 119) (tstamp 54f56881-2101-44fd-a2ae-02957df379a1)) + (segment (start 63.754 33.655) (end 67.564 33.655) (width 0.254) (layer "F.Cu") (net 119) (tstamp 99436dbf-a566-47ec-b9fc-2f919a18506b)) + (segment (start 61.087 31.242) (end 61.341 30.988) (width 0.254) (layer "F.Cu") (net 119) (tstamp b2de6a17-3c75-433c-8f58-cf8166157904)) + (segment (start 66.7385 44.196) (end 66.7385 44.7675) (width 0.254) (layer "F.Cu") (net 119) (tstamp cc79d47d-6911-40b9-a60d-31e7356be015)) + (segment (start 61.341 30.988) (end 61.341 29.554) (width 0.254) (layer "F.Cu") (net 119) (tstamp ce245e33-24c7-4b6f-b47b-875823bcca03)) + (segment (start 61.087 31.242) (end 61.087 32.639) (width 0.254) (layer "F.Cu") (net 119) (tstamp de59c2cb-11f4-421a-9af1-52876174dacd)) + (via (at 63.754 33.655) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 119) (tstamp 322a5cd3-de11-4296-925a-8567677ed4fc)) + (via (at 61.087 31.242) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 119) (tstamp 73a99b71-6832-42b3-b3c8-089f561f23f4)) + (via (at 67.564 33.655) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 119) (tstamp a77cfbb3-738c-4149-b5c4-c7ad8b600b21)) + (via (at 66.7385 44.196) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 119) (tstamp f3f6444c-15ac-4530-a99a-100269b2b4af)) + (segment (start 63.754 33.655) (end 62.103 33.655) (width 0.254) (layer "B.Cu") (net 119) (tstamp 33d31f51-d592-41ec-ae79-07b6163620fb)) + (segment (start 61.087 32.639) (end 61.087 31.242) (width 0.254) (layer "B.Cu") (net 119) (tstamp 52554fb5-b30d-4d96-8a1b-61b7c5b83e93)) + (segment (start 62.103 33.655) (end 61.087 32.639) (width 0.254) (layer "B.Cu") (net 119) (tstamp 5cae66d4-ec08-419c-b283-9bdcfc43ea8a)) + (segment (start 69.063657 33.655) (end 67.564 33.655) (width 0.254) (layer "B.Cu") (net 119) (tstamp 60602e81-1d57-4f13-b63b-dc03d839fa00)) + (segment (start 70.231 34.822343) (end 69.063657 33.655) (width 0.254) (layer "B.Cu") (net 119) (tstamp 6523acf3-3edb-42c5-9279-652dbea1ea32)) + (segment (start 70.231 38.481) (end 70.231 34.822343) (width 0.254) (layer "B.Cu") (net 119) (tstamp 9c556bd7-16f1-4cfd-bfe2-1453a4da79bd)) + (segment (start 66.7385 44.196) (end 66.7385 41.9735) (width 0.254) (layer "B.Cu") (net 119) (tstamp 9c896400-f33c-4d9e-9515-2c793dd5915e)) + (segment (start 66.7385 41.9735) (end 70.231 38.481) (width 0.254) (layer "B.Cu") (net 119) (tstamp a097d041-649e-4f30-94bb-875aa3faa44e)) + (segment (start 69.1388 38.5572) (end 68.417 39.279) (width 0.254) (layer "F.Cu") (net 120) (tstamp 09d2ef17-32f6-46e0-b22c-f2e9ef452887)) + (segment (start 59.69 29.554) (end 59.69 31.115) (width 0.254) (layer "F.Cu") (net 120) (tstamp 28f2b704-81e2-434e-a9d8-650d963dc51b)) + (segment (start 59.817 33.909) (end 59.817 32.639) (width 0.254) (layer "F.Cu") (net 120) (tstamp 443c16b5-666e-4c0e-b03d-214703405610)) + (segment (start 68.417 39.279) (end 68.417 41.6845) (width 0.254) (layer "F.Cu") (net 120) (tstamp 50d50d44-6b8c-4ac4-b3c7-fce8f1bfc185)) + (segment (start 68.326 34.29) (end 60.198 34.29) (width 0.254) (layer "F.Cu") (net 120) (tstamp 7ba95ae2-14e3-4051-9a50-1ca4809bfc6c)) + (segment (start 59.69 31.115) (end 59.817 31.242) (width 0.254) (layer "F.Cu") (net 120) (tstamp 9cd2f219-61e6-4417-a939-9a5568a9039e)) + (segment (start 60.198 34.29) (end 59.817 33.909) (width 0.254) (layer "F.Cu") (net 120) (tstamp e07bb8fa-ae3e-447b-850a-cde19ad63898)) + (segment (start 59.817 31.242) (end 59.817 32.639) (width 0.254) (layer "F.Cu") (net 120) (tstamp e438dbc5-4cd5-469e-9b59-c4169c9e634e)) + (via (at 68.326 34.29) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 120) (tstamp 8431e69b-294b-4f37-86e7-1d93bf6a5557)) + (via (at 69.1388 38.5572) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 120) (tstamp fb6eb33c-6ef8-48b1-a835-bf4981620d8d)) + (segment (start 68.961 34.29) (end 69.723 35.052) (width 0.254) (layer "B.Cu") (net 120) (tstamp 2e65a10f-d34d-44ac-857f-c1ce886cc181)) + (segment (start 69.723 37.973) (end 69.1388 38.5572) (width 0.254) (layer "B.Cu") (net 120) (tstamp 9a38e36e-6252-4de0-aaff-8ff39ba41362)) + (segment (start 68.326 34.29) (end 68.961 34.29) (width 0.254) (layer "B.Cu") (net 120) (tstamp b97b4db8-a645-46c6-a0c8-acb36fa96ca4)) + (segment (start 69.723 35.052) (end 69.723 37.973) (width 0.254) (layer "B.Cu") (net 120) (tstamp c476d24d-c4ca-4232-ac3f-7b7351c229b2)) + (segment (start 67.5894 34.925) (end 59.563 34.925) (width 0.254) (layer "F.Cu") (net 121) (tstamp 08c571fe-e128-4aa5-8dd8-a88449c9693a)) + (segment (start 58.039 29.554) (end 58.039 30.734) (width 0.254) (layer "F.Cu") (net 121) (tstamp 429cd62b-b1e7-418c-b8d6-ddc0bd1a6ad9)) + (segment (start 58.039 30.734) (end 58.547 31.242) (width 0.254) (layer "F.Cu") (net 121) (tstamp 91b9e4bf-f882-422f-af16-ed39f13270e6)) + (segment (start 58.547 31.242) (end 58.547 32.639) (width 0.254) (layer "F.Cu") (net 121) (tstamp 971784df-e689-46b0-a6af-fb77b0952f6f)) + (segment (start 68.1228 38.5572) (end 67.917 38.763) (width 0.254) (layer "F.Cu") (net 121) (tstamp 9ccf56cc-7d1e-4eaf-9fbf-cb858307a1bd)) + (segment (start 58.547 33.909) (end 58.547 32.639) (width 0.254) (layer "F.Cu") (net 121) (tstamp aa29a317-ca96-469c-a1dc-10d62daf9756)) + (segment (start 59.563 34.925) (end 58.547 33.909) (width 0.254) (layer "F.Cu") (net 121) (tstamp d7c01459-c698-4819-af8b-c53ebb352ba6)) + (segment (start 67.917 38.763) (end 67.917 41.6845) (width 0.254) (layer "F.Cu") (net 121) (tstamp f4b1ccf0-f32a-4062-88e7-49a4a09ca84d)) + (via (at 68.1228 38.5572) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 121) (tstamp 7ff4c384-9df2-4bd5-a2c5-a74cbf35dab8)) + (via (at 67.5894 34.925) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 121) (tstamp e8c54c05-63a9-455d-bdfb-ec9d34d5704d)) + (segment (start 68.834 34.925) (end 69.215 35.306) (width 0.254) (layer "B.Cu") (net 121) (tstamp 0680d52a-4cf3-4b5e-aa29-47c25e72e752)) + (segment (start 69.215 37.465) (end 68.1228 38.5572) (width 0.254) (layer "B.Cu") (net 121) (tstamp 2f97df6a-490e-41a5-936e-f8e89931396c)) + (segment (start 69.215 35.306) (end 69.215 37.465) (width 0.254) (layer "B.Cu") (net 121) (tstamp 3a614698-e785-4b4a-be3c-40c3df7e9a73)) + (segment (start 67.5894 34.925) (end 68.834 34.925) (width 0.254) (layer "B.Cu") (net 121) (tstamp cf5d7118-3f1b-45e5-b637-42d2c2bbfd2b)) + (segment (start 43.751 37.846) (end 45.276 37.846) (width 0.508) (layer "F.Cu") (net 126) (tstamp 28bd8755-4a7e-48d9-bbc4-7e9118961183)) + (segment (start 45.276 36.195) (end 45.276 37.846) (width 0.508) (layer "F.Cu") (net 126) (tstamp ebab73e4-dac5-42ee-a36b-6565d485f08a)) + (segment (start 43.751 36.195) (end 43.751 37.846) (width 0.508) (layer "F.Cu") (net 126) (tstamp ff397ca9-2d7c-4280-8c9d-00e28937e465)) + (segment (start 45.276 48.768) (end 43.751 48.768) (width 0.508) (layer "F.Cu") (net 127) (tstamp 576662d5-4cb1-469a-90f6-6f9edf15fd19)) + (segment (start 43.751 50.419) (end 43.751 48.768) (width 0.508) (layer "F.Cu") (net 127) (tstamp 7aab4931-f373-48a3-9d5e-cad2e517c90a)) + (segment (start 45.276 50.419) (end 45.276 48.768) (width 0.508) (layer "F.Cu") (net 127) (tstamp fdf58ecf-5c6a-4911-bc2a-df499b898518)) + (segment (start 45.276 53.975) (end 45.276 55.626) (width 0.508) (layer "F.Cu") (net 128) (tstamp 51922c32-3153-4784-9c44-365e7ca38435)) + (segment (start 43.751 53.975) (end 43.751 55.626) (width 0.508) (layer "F.Cu") (net 128) (tstamp 670e954e-c5d0-4d4b-99f2-076c96f2a873)) + (segment (start 43.751 55.626) (end 45.276 55.626) (width 0.508) (layer "F.Cu") (net 128) (tstamp f2c266bb-bba2-4a76-a6b5-a6d6cf7e1306)) + (segment (start 45.276 68.199) (end 45.276 66.548) (width 0.508) (layer "F.Cu") (net 129) (tstamp 3f2ee35e-5899-4aaf-9133-c58b8fa10d6d)) + (segment (start 43.751 68.199) (end 43.751 66.548) (width 0.508) (layer "F.Cu") (net 129) (tstamp e1c524a4-4ceb-4be7-b127-0e0663e98ec0)) + (segment (start 45.276 66.548) (end 43.751 66.548) (width 0.508) (layer "F.Cu") (net 129) (tstamp fc4cc5f6-8415-4574-b8e9-71ba6d2392d1)) + (segment (start 43.751 73.406) (end 45.276 73.406) (width 0.508) (layer "F.Cu") (net 138) (tstamp 5c0ae6df-df5e-46f7-adbc-b2dd19a33b83)) + (segment (start 45.276 71.755) (end 45.276 73.406) (width 0.508) (layer "F.Cu") (net 138) (tstamp 738de3c0-3ed4-463f-a2f6-12aa49f6f239)) + (segment (start 43.751 71.755) (end 43.751 73.406) (width 0.508) (layer "F.Cu") (net 138) (tstamp fa70f8c7-cdb2-46d3-aa4d-4089a3790888)) + (segment (start 43.751 85.979) (end 43.751 84.328) (width 0.508) (layer "F.Cu") (net 139) (tstamp 402a7f8a-98b1-449c-80ce-7dcf171b45a0)) + (segment (start 45.276 84.328) (end 43.751 84.328) (width 0.508) (layer "F.Cu") (net 139) (tstamp 7a2319c8-b547-4019-8ef3-7356be9ef4cb)) + (segment (start 45.276 85.979) (end 45.276 84.328) (width 0.508) (layer "F.Cu") (net 139) (tstamp fc897132-d471-4499-8fc1-58da83a3894c)) + (segment (start 43.751 89.535) (end 43.751 91.186) (width 0.508) (layer "F.Cu") (net 140) (tstamp 4b8d6cf1-fc91-4493-873f-bf68a41f7d7c)) + (segment (start 43.751 91.186) (end 45.276 91.186) (width 0.508) (layer "F.Cu") (net 140) (tstamp bc925d3e-9063-464c-b203-0f2185509aea)) + (segment (start 45.276 89.535) (end 45.276 91.186) (width 0.508) (layer "F.Cu") (net 140) (tstamp f64ef5b3-6ac1-4cee-a2bf-c84af26be453)) + (segment (start 45.276 103.759) (end 45.276 102.108) (width 0.508) (layer "F.Cu") (net 141) (tstamp 24c32544-98f1-4e8c-99a1-2d5932441d8a)) + (segment (start 43.751 103.759) (end 43.751 102.108) (width 0.508) (layer "F.Cu") (net 141) (tstamp 2c1ea1c4-d6c7-4c2b-8b03-710a8a65eee6)) + (segment (start 45.276 102.108) (end 43.751 102.108) (width 0.508) (layer "F.Cu") (net 141) (tstamp 4d2827ee-11ab-44f5-b4f5-f7a3783cee3e)) + (segment (start 63.373 58.674) (end 67.437 54.61) (width 0.254) (layer "F.Cu") (net 149) (tstamp 08cdc053-d8e3-4e41-aa51-f903d3ace743)) + (segment (start 80.645 48.768) (end 85.16 44.253) (width 0.254) (layer "F.Cu") (net 149) (tstamp 17afcf0b-1343-47bb-bbfb-b20e6128d0be)) + (segment (start 64.008 83.884) (end 62.357 82.233) (width 0.254) (layer "F.Cu") (net 149) (tstamp 1d434b3a-387d-4bd0-b568-066aab794bc3)) + (segment (start 62.357 79.883) (end 62.865 79.375) (width 0.254) (layer "F.Cu") (net 149) (tstamp 2a32598c-51bd-4bf3-a8fb-35392ff18d9d)) + (segment (start 75.057 52.578) (end 75.057 51.435) (width 0.254) (layer "F.Cu") (net 149) (tstamp 356e79a3-0c26-4255-bd3d-63839d158c4e)) + (segment (start 62.865 79.375) (end 62.865 67.31) (width 0.254) (layer "F.Cu") (net 149) (tstamp 65cd28e0-0fb4-40ed-9ed9-c5cf4381e5c0)) + (segment (start 85.16 44.253) (end 86.095 44.253) (width 0.254) (layer "F.Cu") (net 149) (tstamp 68b986c3-f549-4b89-9988-2769c9295a31)) + (segment (start 73.025 54.61) (end 75.057 52.578) (width 0.254) (layer "F.Cu") (net 149) (tstamp 68e2270d-4520-4c29-978a-fa929ac18b16)) + (segment (start 67.437 54.61) (end 73.025 54.61) (width 0.254) (layer "F.Cu") (net 149) (tstamp 791502e0-038a-4d1c-a102-01ab6c9f3413)) + (segment (start 63.353 47.097) (end 62.0045 47.097) (width 0.254) (layer "F.Cu") (net 149) (tstamp 875a06e8-07a4-4c29-a2e8-e7ca00c8418d)) + (segment (start 67.945 47.498) (end 63.754 47.498) (width 0.254) (layer "F.Cu") (net 149) (tstamp ab8c586a-e3d2-414e-8e94-d383164d27ff)) + (segment (start 62.357 82.233) (end 62.357 79.883) (width 0.254) (layer "F.Cu") (net 149) (tstamp c684cb39-d77a-4597-9ec2-02ba47f1fd66)) + (segment (start 63.373 66.802) (end 63.373 58.674) (width 0.254) (layer "F.Cu") (net 149) (tstamp c75a99bd-d944-4c55-8154-530c2850be1d)) + (segment (start 62.865 67.31) (end 63.373 66.802) (width 0.254) (layer "F.Cu") (net 149) (tstamp c8efa912-bd1e-45cb-8a72-9d24fbe97302)) + (segment (start 75.057 48.768) (end 80.645 48.768) (width 0.254) (layer "F.Cu") (net 149) (tstamp c92562a6-528e-4d04-919e-b6b52429cfae)) + (segment (start 63.754 47.498) (end 63.353 47.097) (width 0.254) (layer "F.Cu") (net 149) (tstamp f3f25f61-cce3-44fa-aabe-ba93f8beb912)) + (via (at 67.945 47.498) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 149) (tstamp 4aca2df4-788f-41a0-b8b3-04a4dee70cb6)) + (via (at 75.057 48.768) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 149) (tstamp 5951dd66-fbce-48e1-ada8-254f4fbfe48b)) + (via (at 75.057 51.435) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 149) (tstamp 7664a375-d686-49fb-8fc0-eab21fb1732e)) + (segment (start 75.057 48.768) (end 70.231 48.768) (width 0.254) (layer "B.Cu") (net 149) (tstamp 398e1e97-d134-4432-8b71-73bcd25fb38e)) + (segment (start 68.961 47.498) (end 67.945 47.498) (width 0.254) (layer "B.Cu") (net 149) (tstamp 6b696eee-90c5-4db5-95b3-1176d72d1bce)) + (segment (start 70.231 48.768) (end 68.961 47.498) (width 0.254) (layer "B.Cu") (net 149) (tstamp ce2084a2-c81c-4b43-8395-99b2a735d841)) + (segment (start 75.057 48.768) (end 75.057 51.435) (width 0.254) (layer "B.Cu") (net 149) (tstamp f0978d1e-9685-4238-a605-5511cc84b633)) + (segment (start 69.215 58.166) (end 66.929 60.452) (width 0.254) (layer "F.Cu") (net 150) (tstamp 191a6cc7-0932-4572-b1ec-9c91f5c8ecb9)) + (segment (start 79.629 43.053) (end 79.585 43.097) (width 0.254) (layer "F.Cu") (net 150) (tstamp 326066a9-4576-41ef-8655-3cfb18b11a32)) + (segment (start 79.629 43.053) (end 79.756 43.053) (width 0.254) (layer "F.Cu") (net 150) (tstamp 3a9da3c6-7a69-4c19-b50a-a0a77f57a48e)) + (segment (start 67.187 79.76) (end 67.187 91.842) (width 0.254) (layer "F.Cu") (net 150) (tstamp 4adf55ed-a6b3-4070-98e8-02cd09d15083)) + (segment (start 66.929 60.452) (end 66.929 68.58) (width 0.254) (layer "F.Cu") (net 150) (tstamp 5d7fd7de-1bce-4828-9e06-aab7a69a5839)) + (segment (start 79.629 53.34) (end 74.803 58.166) (width 0.254) (layer "F.Cu") (net 150) (tstamp 62c72cc8-2556-40e2-a3ce-317ffe4b8847)) + (segment (start 85.02 37.789) (end 86.106 37.789) (width 0.254) (layer "F.Cu") (net 150) (tstamp 84b8b977-bd64-4ab3-ab14-133dbaaee64f)) + (segment (start 79.756 43.053) (end 85.02 37.789) (width 0.254) (layer "F.Cu") (net 150) (tstamp 8e5d3819-a704-4540-a8ed-bb3c753a00d9)) + (segment (start 79.585 43.097) (end 70.3295 43.097) (width 0.254) (layer "F.Cu") (net 150) (tstamp a0cd930b-c229-4357-b37b-dbf7064665ba)) + (segment (start 74.803 58.166) (end 69.215 58.166) (width 0.254) (layer "F.Cu") (net 150) (tstamp ba3e8a44-9a4c-4767-bbf9-4695b2c4139d)) + (segment (start 66.421 69.088) (end 66.421 78.994) (width 0.254) (layer "F.Cu") (net 150) (tstamp bdbb8129-1afd-46c4-8a83-66362c60e751)) + (segment (start 66.929 68.58) (end 66.421 69.088) (width 0.254) (layer "F.Cu") (net 150) (tstamp dc2e7806-5c68-4413-990f-8bf8e573e5fa)) + (segment (start 66.421 78.994) (end 67.187 79.76) (width 0.254) (layer "F.Cu") (net 150) (tstamp e094caac-eed7-4d65-81b4-0d4cc632e924)) + (segment (start 79.629 50.8) (end 79.629 53.34) (width 0.254) (layer "F.Cu") (net 150) (tstamp ecdcd609-b011-49c3-aef7-7f7f087a581d)) + (via (at 79.629 43.053) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 150) (tstamp 0529ff69-ecae-401b-820b-81eb65c49b65)) + (via (at 79.629 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 150) (tstamp 9a72f169-1cc8-46d7-bc2b-abf24e66c92e)) + (segment (start 79.629 43.053) (end 79.629 50.8) (width 0.254) (layer "B.Cu") (net 150) (tstamp 3b6615f2-b1fb-4da2-9a1c-58f465a38f0d)) + (segment (start 78.994 53.213) (end 74.549 57.658) (width 0.254) (layer "F.Cu") (net 151) (tstamp 0ae50e74-910b-4c16-8914-5b4b5fa2330c)) + (segment (start 74.803 43.815) (end 79.883 43.815) (width 0.254) (layer "F.Cu") (net 151) (tstamp 1108bca9-6ccf-4abb-bdda-12d1de350128)) + (segment (start 74.585 43.597) (end 74.803 43.815) (width 0.254) (layer "F.Cu") (net 151) (tstamp 251567bc-d215-4b8b-b861-0147d5117fe7)) + (segment (start 85.109 38.589) (end 86.106 38.589) (width 0.254) (layer "F.Cu") (net 151) (tstamp 2b36b8f4-f258-41d9-9cc8-b72b9232b67a)) + (segment (start 66.421 68.326) (end 65.913 68.834) (width 0.254) (layer "F.Cu") (net 151) (tstamp 3e43c4c3-f69a-4ff2-8ef4-37d59f431a98)) + (segment (start 74.549 57.658) (end 68.961 57.658) (width 0.254) (layer "F.Cu") (net 151) (tstamp 6680f68c-e2ae-43b4-998b-c624fb3cb2e6)) + (segment (start 70.3295 43.597) (end 74.585 43.597) (width 0.254) (layer "F.Cu") (net 151) (tstamp 6cd7bda6-74ba-4191-b169-621fc821c5b3)) + (segment (start 79.883 43.815) (end 85.109 38.589) (width 0.254) (layer "F.Cu") (net 151) (tstamp 6f4de046-a71b-4f32-b72e-bec7a9e625cb)) + (segment (start 65.913 79.248) (end 66.537 79.872) (width 0.254) (layer "F.Cu") (net 151) (tstamp 75eb2e75-cf46-4430-923e-77b3fda96d63)) + (segment (start 68.961 57.658) (end 66.421 60.198) (width 0.254) (layer "F.Cu") (net 151) (tstamp 761575f9-d22b-4e1e-a41b-a6930179c201)) + (segment (start 78.994 51.435) (end 78.994 53.213) (width 0.254) (layer "F.Cu") (net 151) (tstamp 7e314afd-2db1-49be-9c99-416539307247)) + (segment (start 66.537 79.872) (end 66.537 91.842) (width 0.254) (layer "F.Cu") (net 151) (tstamp d0e5b461-27ea-47b8-8dcd-2454d6b3759f)) + (segment (start 66.421 60.198) (end 66.421 68.326) (width 0.254) (layer "F.Cu") (net 151) (tstamp dc8f65ac-0a96-42a4-9a57-b106329b310b)) + (segment (start 65.913 68.834) (end 65.913 79.248) (width 0.254) (layer "F.Cu") (net 151) (tstamp e7c47c7b-2243-40a5-8f50-92687085ac79)) + (via (at 78.994 43.815) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 151) (tstamp 00785c32-6229-416c-b6c4-0e867099c6c7)) + (via (at 78.994 51.435) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 151) (tstamp 4030de46-1de7-48bc-b6cf-1d51a180ab9a)) + (segment (start 78.994 43.815) (end 78.994 51.435) (width 0.254) (layer "B.Cu") (net 151) (tstamp f84a656b-da7a-4cda-a0e8-2e94b3ce3ec2)) + (segment (start 74.295 57.15) (end 68.707 57.15) (width 0.254) (layer "F.Cu") (net 152) (tstamp 24c3e15b-1dd0-45f5-9c02-20093cdfb7b4)) + (segment (start 74.323 44.097) (end 74.676 44.45) (width 0.254) (layer "F.Cu") (net 152) (tstamp 263d6e4d-ba46-4c20-a3a0-e12cc1ec827e)) + (segment (start 78.359 50.8) (end 78.359 53.086) (width 0.254) (layer "F.Cu") (net 152) (tstamp 38be9796-eed8-471c-8090-81eaf9a96a1e)) + (segment (start 65.887 89.18) (end 65.887 91.842) (width 0.254) (layer "F.Cu") (net 152) (tstamp 3e49e461-2b38-48ba-9aeb-e0208c801afd)) + (segment (start 65.405 79.502) (end 66.04 80.137) (width 0.254) (layer "F.Cu") (net 152) (tstamp 4e04c1a8-6b54-4e38-9844-b5dc46887484)) + (segment (start 66.04 80.137) (end 66.04 89.027) (width 0.254) (layer "F.Cu") (net 152) (tstamp 5d713e06-0b6e-435d-aca6-9cdf0e78b59b)) + (segment (start 74.676 44.45) (end 80.137 44.45) (width 0.254) (layer "F.Cu") (net 152) (tstamp 60fb626a-9dea-4ea5-a607-7ce9ff8b354c)) + (segment (start 65.405 68.58) (end 65.405 79.502) (width 0.254) (layer "F.Cu") (net 152) (tstamp 83a0d4e8-3908-474a-b8b9-177c1cd491b6)) + (segment (start 78.359 53.086) (end 74.295 57.15) (width 0.254) (layer "F.Cu") (net 152) (tstamp a2287f30-66df-4839-9952-b7bcbf1ae203)) + (segment (start 66.04 89.027) (end 65.887 89.18) (width 0.254) (layer "F.Cu") (net 152) (tstamp abf7fba2-e36b-4505-bb22-521868417e6b)) + (segment (start 85.198 39.389) (end 86.106 39.389) (width 0.254) (layer "F.Cu") (net 152) (tstamp af567bdf-bbc5-4dd8-b928-7fb4cd7941f9)) + (segment (start 65.913 59.944) (end 65.913 68.072) (width 0.254) (layer "F.Cu") (net 152) (tstamp b044f5b1-96aa-4037-81da-9c7515ee6708)) + (segment (start 80.137 44.45) (end 85.198 39.389) (width 0.254) (layer "F.Cu") (net 152) (tstamp e7db8b9b-c071-4ba2-957c-92cd8400a942)) + (segment (start 70.3295 44.097) (end 74.323 44.097) (width 0.254) (layer "F.Cu") (net 152) (tstamp ea43731f-59ad-4bff-a656-c8e05e69b40f)) + (segment (start 68.707 57.15) (end 65.913 59.944) (width 0.254) (layer "F.Cu") (net 152) (tstamp f50d504e-dfa9-49ec-b1ff-491b05baab0a)) + (segment (start 65.913 68.072) (end 65.405 68.58) (width 0.254) (layer "F.Cu") (net 152) (tstamp fd77e8a7-769b-4c2c-847d-724d9442d3e5)) + (via (at 78.359 44.45) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 152) (tstamp 25f7e965-2f56-4d3b-9093-b7bc3be46d1d)) + (via (at 78.359 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 152) (tstamp 3e179000-2fd1-4e44-9761-597031648e6d)) + (segment (start 78.359 44.45) (end 78.359 50.8) (width 0.254) (layer "B.Cu") (net 152) (tstamp 0c18b70e-7176-4fff-aac9-be4795696b9b)) + (segment (start 65.405 67.818) (end 64.897 68.326) (width 0.254) (layer "F.Cu") (net 153) (tstamp 12b64421-2182-4104-91ee-482af4b8e856)) + (segment (start 85.287 40.189) (end 86.106 40.189) (width 0.254) (layer "F.Cu") (net 153) (tstamp 18997780-d3cc-4495-b067-773313ebc584)) + (segment (start 70.3295 44.597) (end 74.085342 44.597) (width 0.254) (layer "F.Cu") (net 153) (tstamp 1a5afe9c-23ef-4266-aa52-012b427b6c01)) + (segment (start 65.237 89.068) (end 65.237 91.842) (width 0.254) (layer "F.Cu") (net 153) (tstamp 37d2e673-c902-411d-bfc9-872a7333a3c8)) + (segment (start 65.532 88.773) (end 65.237 89.068) (width 0.254) (layer "F.Cu") (net 153) (tstamp 47ffb1cc-0da7-43c8-b177-b1d5e249132a)) + (segment (start 68.453 56.642) (end 65.405 59.69) (width 0.254) (layer "F.Cu") (net 153) (tstamp 4a3b9954-fc9a-42af-a810-28705f1233dc)) + (segment (start 65.405 59.69) (end 65.405 67.818) (width 0.254) (layer "F.Cu") (net 153) (tstamp 6cfb1b64-b475-4f79-9e97-1544a6739d47)) + (segment (start 64.897 79.756) (end 65.532 80.391) (width 0.254) (layer "F.Cu") (net 153) (tstamp 75102fb4-91b5-44ad-99be-32f07b559bda)) + (segment (start 77.724 51.435) (end 77.724 52.959) (width 0.254) (layer "F.Cu") (net 153) (tstamp 9326c96e-6fe9-4cc6-8608-5704ad616945)) + (segment (start 65.532 80.391) (end 65.532 88.773) (width 0.254) (layer "F.Cu") (net 153) (tstamp 9933827c-f0fa-477d-8665-eb053be29b62)) + (segment (start 74.573342 45.085) (end 80.391 45.085) (width 0.254) (layer "F.Cu") (net 153) (tstamp b546b454-4584-4fa2-a729-49285c053eb4)) + (segment (start 64.897 68.326) (end 64.897 79.756) (width 0.254) (layer "F.Cu") (net 153) (tstamp c806f925-1948-432b-87e2-edeaa4cbd93c)) + (segment (start 77.724 52.959) (end 74.041 56.642) (width 0.254) (layer "F.Cu") (net 153) (tstamp ce325684-c7bb-49f5-beba-a174feb3e2e1)) + (segment (start 74.041 56.642) (end 68.453 56.642) (width 0.254) (layer "F.Cu") (net 153) (tstamp d7b83362-823c-4fc9-858b-35e2576bca53)) + (segment (start 74.085342 44.597) (end 74.573342 45.085) (width 0.254) (layer "F.Cu") (net 153) (tstamp dbefbad6-807f-43d7-9e5d-291b27fde6ff)) + (segment (start 80.391 45.085) (end 85.287 40.189) (width 0.254) (layer "F.Cu") (net 153) (tstamp fb9a456d-ca4b-4913-9fb3-f31eac0d3f12)) + (via (at 77.724 45.085) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 153) (tstamp 807eb125-85c5-46bc-a806-d07b4eee5d14)) + (via (at 77.724 51.435) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 153) (tstamp ceef6046-4939-412b-998b-cc0255f09d78)) + (segment (start 77.724 45.085) (end 77.724 51.435) (width 0.254) (layer "B.Cu") (net 153) (tstamp 6459055d-aa85-4c54-b872-ef48aa70cf40)) + (segment (start 64.897 59.436) (end 64.897 67.564) (width 0.254) (layer "F.Cu") (net 154) (tstamp 05e6d24f-a57c-41d1-9e66-7605655d227d)) + (segment (start 65.024 88.519) (end 64.587 88.956) (width 0.254) (layer "F.Cu") (net 154) (tstamp 0f1e4e03-8f02-4c52-b595-e9f643ff33dd)) + (segment (start 64.897 67.564) (end 64.389 68.072) (width 0.254) (layer "F.Cu") (net 154) (tstamp 110718cb-4dc6-4f95-ae0b-67e4c9860b20)) + (segment (start 73.787 56.134) (end 68.199 56.134) (width 0.254) (layer "F.Cu") (net 154) (tstamp 12476dd6-7c0f-4729-a8fc-f8efbab0164e)) + (segment (start 77.089 52.832) (end 73.787 56.134) (width 0.254) (layer "F.Cu") (net 154) (tstamp 1a127ece-b2ff-4d0d-9ad2-4fface29d322)) + (segment (start 77.089 50.8) (end 77.089 52.832) (width 0.254) (layer "F.Cu") (net 154) (tstamp 1a729a0f-3be8-47df-9569-d67a0ff55f0a)) + (segment (start 64.587 88.956) (end 64.587 91.842) (width 0.254) (layer "F.Cu") (net 154) (tstamp 28ec4386-a3d4-4bb1-8d72-bf1f5f970141)) + (segment (start 77.089 45.72) (end 81.026 45.72) (width 0.254) (layer "F.Cu") (net 154) (tstamp 4eb21fad-3bce-469e-9488-5a05a5394b56)) + (segment (start 65.024 80.645) (end 65.024 88.519) (width 0.254) (layer "F.Cu") (net 154) (tstamp 6b3ee874-2e29-4e38-aa3c-93e6d8c7ce61)) + (segment (start 81.026 45.72) (end 84.893 41.853) (width 0.254) (layer "F.Cu") (net 154) (tstamp 6cf0c49e-2991-4a23-9f5b-e5a08afe599c)) + (segment (start 64.389 80.01) (end 65.024 80.645) (width 0.254) (layer "F.Cu") (net 154) (tstamp 8429e06f-d0f2-45de-bf9a-91eee4b9bf4f)) + (segment (start 68.199 56.134) (end 64.897 59.436) (width 0.254) (layer "F.Cu") (net 154) (tstamp a192275a-e85e-403f-92bf-a0d8aedf6ed0)) + (segment (start 84.893 41.853) (end 86.095 41.853) (width 0.254) (layer "F.Cu") (net 154) (tstamp da819273-0535-4680-8ced-3e065308f846)) + (segment (start 64.389 68.072) (end 64.389 80.01) (width 0.254) (layer "F.Cu") (net 154) (tstamp db822f11-ad9d-408c-af30-efd2edfdecfe)) + (segment (start 74.422 45.72) (end 73.799 45.097) (width 0.254) (layer "F.Cu") (net 154) (tstamp e4ce128b-534f-44fe-923f-8c4f1d26bf66)) + (segment (start 73.799 45.097) (end 70.3295 45.097) (width 0.254) (layer "F.Cu") (net 154) (tstamp e55fbb8f-05ea-4aaa-a896-b5c5581d7a40)) + (segment (start 77.089 45.72) (end 74.422 45.72) (width 0.254) (layer "F.Cu") (net 154) (tstamp f143519c-d45e-4a02-9ed7-22098306efde)) + (via (at 77.089 45.72) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 154) (tstamp 9a9e7778-5e62-4bc3-a92e-87c966b99c12)) + (via (at 77.089 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 154) (tstamp f11eb200-1f9d-4553-8471-4cdef8fc7a28)) + (segment (start 77.089 45.72) (end 77.089 50.8) (width 0.254) (layer "B.Cu") (net 154) (tstamp 1e276e33-e6cf-40eb-8ebc-f53eb62c25df)) + (segment (start 73.537 45.597) (end 70.3295 45.597) (width 0.254) (layer "F.Cu") (net 155) (tstamp 02bc0835-d648-4f73-98bb-942b7e4ffcf0)) + (segment (start 73.533 55.626) (end 67.945 55.626) (width 0.254) (layer "F.Cu") (net 155) (tstamp 306e62f2-b733-4fd5-9b78-23febfd9d87b)) + (segment (start 76.454 46.355) (end 81.28 46.355) (width 0.254) (layer "F.Cu") (net 155) (tstamp 36a026ae-ee96-47d7-869a-d7d24480ad6a)) + (segment (start 64.389 67.31) (end 63.881 67.818) (width 0.254) (layer "F.Cu") (net 155) (tstamp 4a1210da-dbb5-4cc0-96ec-0cf7a6fb0127)) + (segment (start 81.28 46.355) (end 84.982 42.653) (width 0.254) (layer "F.Cu") (net 155) (tstamp 4ae5846a-78ee-4e15-8ec1-4fa613ef9efc)) + (segment (start 84.982 42.653) (end 86.095 42.653) (width 0.254) (layer "F.Cu") (net 155) (tstamp 65498cf4-f899-4773-a478-833b056de5d1)) + (segment (start 63.287 88.224) (end 63.287 91.842) (width 0.254) (layer "F.Cu") (net 155) (tstamp 85641512-5db7-4440-be1d-07aa1cee8b49)) + (segment (start 76.454 51.435) (end 76.454 52.705) (width 0.254) (layer "F.Cu") (net 155) (tstamp 8bb444a4-0e6f-4ec9-b85e-22f194d06a1c)) + (segment (start 63.5 88.011) (end 63.287 88.224) (width 0.254) (layer "F.Cu") (net 155) (tstamp 8eb3093d-94ed-4ad5-ab81-583768f3d9c6)) + (segment (start 76.454 52.705) (end 73.533 55.626) (width 0.254) (layer "F.Cu") (net 155) (tstamp 96f95503-32eb-4137-892a-06bcf31d908c)) + (segment (start 64.389 59.182) (end 64.389 67.31) (width 0.254) (layer "F.Cu") (net 155) (tstamp bd0a70f5-6021-46d6-90eb-06de7d2612aa)) + (segment (start 67.945 55.626) (end 64.389 59.182) (width 0.254) (layer "F.Cu") (net 155) (tstamp ddb33938-dbfa-43f2-85de-111d8b713e5f)) + (segment (start 74.295 46.355) (end 73.537 45.597) (width 0.254) (layer "F.Cu") (net 155) (tstamp de13f658-57c3-48d2-9ed4-e242b7eb5476)) + (segment (start 76.454 46.355) (end 74.295 46.355) (width 0.254) (layer "F.Cu") (net 155) (tstamp e11ff96f-a9cb-447b-95f7-a887d25172fa)) + (segment (start 63.881 67.818) (end 63.881 80.899) (width 0.254) (layer "F.Cu") (net 155) (tstamp fd93cafc-a1bb-4a0a-8c88-f6b33e20e2ea)) + (via (at 63.5 88.011) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 155) (tstamp 1263eb6c-3cd3-43cb-9337-706fd825528b)) + (via (at 63.881 80.899) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 155) (tstamp d7d5a7c4-c1c6-47e0-aae1-cc5c7c2657b4)) + (via (at 76.454 51.435) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 155) (tstamp e356a6c2-7dab-4b7a-a4e8-dcbeb0104ea4)) + (via (at 76.454 46.355) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 155) (tstamp ee38fee3-ea83-41cd-a1f0-4b0adfec92b4)) + (segment (start 63.881 87.63) (end 63.881 80.899) (width 0.254) (layer "B.Cu") (net 155) (tstamp 1da4575f-fcbf-45fb-a3f9-3cfb13767fcd)) + (segment (start 63.5 88.011) (end 63.881 87.63) (width 0.254) (layer "B.Cu") (net 155) (tstamp 22e9afbe-d741-48ba-ac2a-dd109ca69d7d)) + (segment (start 76.454 46.355) (end 76.454 51.435) (width 0.254) (layer "B.Cu") (net 155) (tstamp e14d69dd-18ce-4ec4-8d9d-4599bee6375c)) + (segment (start 73.279 55.118) (end 67.691 55.118) (width 0.254) (layer "F.Cu") (net 156) (tstamp 1ac3f9ef-1c65-4de9-8746-1f1e14c73e4e)) + (segment (start 75.819 46.99) (end 74.172 46.99) (width 0.254) (layer "F.Cu") (net 156) (tstamp 2f6a6a59-bd98-4ebe-a047-d71cc687ea22)) + (segment (start 63.881 67.056) (end 63.373 67.564) (width 0.254) (layer "F.Cu") (net 156) (tstamp 3214abb8-e4fa-45d6-91c4-0c6cad18c646)) + (segment (start 75.819 52.578) (end 73.279 55.118) (width 0.254) (layer "F.Cu") (net 156) (tstamp 32b3a672-b060-4aba-b9ea-de7c7050b1e8)) + (segment (start 63.246 87.122) (end 62.637 87.731) (width 0.254) (layer "F.Cu") (net 156) (tstamp 3c2e2325-1116-4e0f-8738-a53a4c0087d7)) + (segment (start 81.534 46.99) (end 85.071 43.453) (width 0.254) (layer "F.Cu") (net 156) (tstamp 46ccf328-7190-447b-bc8c-f54745646ed4)) + (segment (start 75.819 50.8) (end 75.819 52.578) (width 0.254) (layer "F.Cu") (net 156) (tstamp 55121327-9418-4384-a5e8-ec2afad398ef)) + (segment (start 63.881 58.928) (end 63.881 67.056) (width 0.254) (layer "F.Cu") (net 156) (tstamp 57ade377-1763-42fe-87e1-880907c2796a)) + (segment (start 74.172 46.99) (end 73.279 46.097) (width 0.254) (layer "F.Cu") (net 156) (tstamp 60f098e5-f22f-44f7-becf-38fe0a254464)) + (segment (start 85.071 43.453) (end 86.095 43.453) (width 0.254) (layer "F.Cu") (net 156) (tstamp 68fca326-f9d0-49bb-ae3b-efc33075e964)) + (segment (start 63.246 80.264) (end 63.246 81.661) (width 0.254) (layer "F.Cu") (net 156) (tstamp 6bea062c-36d2-42f8-872f-66aac3a8c181)) + (segment (start 63.373 67.564) (end 63.373 80.137) (width 0.254) (layer "F.Cu") (net 156) (tstamp 6c0393fe-1a57-454c-9d8b-54a0132c0bf0)) + (segment (start 67.691 55.118) (end 63.881 58.928) (width 0.254) (layer "F.Cu") (net 156) (tstamp 75e502cb-34dd-4802-a3aa-77709ed3dcd0)) + (segment (start 75.819 46.99) (end 81.534 46.99) (width 0.254) (layer "F.Cu") (net 156) (tstamp 9e74c83d-2376-48c4-836c-35ea2f2f9c9f)) + (segment (start 73.279 46.097) (end 70.3295 46.097) (width 0.254) (layer "F.Cu") (net 156) (tstamp bda75d19-b7c8-4cb6-b012-90c23cff5275)) + (segment (start 63.246 86.614) (end 63.246 87.122) (width 0.254) (layer "F.Cu") (net 156) (tstamp c123d912-e695-421f-9f2d-2625e35eb572)) + (segment (start 62.637 87.731) (end 62.637 91.842) (width 0.254) (layer "F.Cu") (net 156) (tstamp ea6cf400-12fb-452c-afe5-c6f9d3ab9779)) + (segment (start 63.373 80.137) (end 63.246 80.264) (width 0.254) (layer "F.Cu") (net 156) (tstamp f6fe79d2-8e69-4320-9821-83f7312d5e8c)) + (via (at 63.246 86.614) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 156) (tstamp 29842d7a-3fc6-43f8-a231-2a4b38d090de)) + (via (at 75.819 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 156) (tstamp 2c6944d9-f7eb-44f7-8c8b-c7e75389764a)) + (via (at 75.819 46.99) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 156) (tstamp 78277f12-e551-43d3-a8a5-cc736b968c1f)) + (via (at 63.246 81.661) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 156) (tstamp cf676540-d84d-43c0-a22f-ee525f5f4827)) + (segment (start 75.819 50.8) (end 75.819 46.99) (width 0.254) (layer "B.Cu") (net 156) (tstamp a1de4266-2635-489c-b2d0-9cc91dbfb541)) + (segment (start 63.246 81.661) (end 63.246 86.614) (width 0.254) (layer "B.Cu") (net 156) (tstamp dab1d18c-9496-48ab-8eb7-6fc971fd0920)) + (segment (start 83.185 51.308) (end 75.311 59.182) (width 0.254) (layer "F.Cu") (net 157) (tstamp 0c827c65-7dfd-4aef-99b3-3b8e8e5728e9)) + (segment (start 67.437 78.486) (end 68.326 79.375) (width 0.254) (layer "F.Cu") (net 157) (tstamp 35d79ea8-11ce-4d75-9adc-4c33bca5e623)) + (segment (start 65.913 94.615) (end 65.237 95.291) (width 0.254) (layer "F.Cu") (net 157) (tstamp 38f9ee6e-f860-4021-852c-720d21255691)) + (segment (start 67.945 69.088) (end 67.437 69.596) (width 0.254) (layer "F.Cu") (net 157) (tstamp 3a4f3a11-8c45-4cd4-b130-29d6227863a6)) + (segment (start 86.095 46.717) (end 84.855 46.717) (width 0.254) (layer "F.Cu") (net 157) (tstamp 3e3972d8-2370-4971-a7e5-df6b2c8ca29a)) + (segment (start 68.326 93.6625) (end 67.3735 94.615) (width 0.254) (layer "F.Cu") (net 157) (tstamp 57b677d5-b835-4242-b8a8-b2bb50049c8d)) + (segment (start 69.723 59.182) (end 67.945 60.96) (width 0.254) (layer "F.Cu") (net 157) (tstamp 5b50dda3-bc05-43f0-89db-5975df87395a)) + (segment (start 67.3735 94.615) (end 65.913 94.615) (width 0.254) (layer "F.Cu") (net 157) (tstamp 5d317ebf-9223-46c3-a321-ef187edd6446)) + (segment (start 84.855 46.717) (end 84.836 46.736) (width 0.254) (layer "F.Cu") (net 157) (tstamp 7e5bfce3-5586-4e1a-afb9-5805baa5beb5)) + (segment (start 65.237 95.291) (end 65.237 97.642) (width 0.254) (layer "F.Cu") (net 157) (tstamp 9c490e50-5a59-4a6a-a350-2fa908cdcee4)) + (segment (start 83.185 50.8) (end 83.185 51.308) (width 0.254) (layer "F.Cu") (net 157) (tstamp c16c9b78-41dc-4651-9755-afeba2a3c3c9)) + (segment (start 75.311 59.182) (end 69.723 59.182) (width 0.254) (layer "F.Cu") (net 157) (tstamp c2915919-8c9a-4903-bdcd-493976079906)) + (segment (start 67.945 60.96) (end 67.945 69.088) (width 0.254) (layer "F.Cu") (net 157) (tstamp c68e7869-2280-4b41-b694-24b3405cf2df)) + (segment (start 67.437 69.596) (end 67.437 78.486) (width 0.254) (layer "F.Cu") (net 157) (tstamp e4706ec6-990f-481f-8f84-786b306dc82f)) + (segment (start 68.326 79.375) (end 68.326 93.6625) (width 0.254) (layer "F.Cu") (net 157) (tstamp f4e5ea60-3a87-412c-bfaa-6512b400379b)) + (via (at 83.185 50.8) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 157) (tstamp a94f730e-96c3-404d-92ca-0aaa5b31f172)) + (via (at 84.836 46.736) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 157) (tstamp e4b0ebf7-5afb-4aaa-afed-a554b26836f4)) + (segment (start 83.185 50.8) (end 83.185 48.387) (width 0.254) (layer "B.Cu") (net 157) (tstamp 29142969-3d71-4f57-920f-081c94075cd8)) + (segment (start 83.185 48.387) (end 84.836 46.736) (width 0.254) (layer "B.Cu") (net 157) (tstamp 40f76fa9-d436-4e97-a0f5-22ecd38d794d)) + (segment (start 84.055 47.517) (end 86.095 47.517) (width 0.254) (layer "F.Cu") (net 158) (tstamp 013fe49f-2c84-422b-828b-192bc9041b62)) + (segment (start 67.056 94.107) (end 67.818 93.345) (width 0.254) (layer "F.Cu") (net 158) (tstamp 0e6ba8ea-5513-4886-9352-73925d475a18)) + (segment (start 82.423 49.149) (end 84.055 47.517) (width 0.254) (layer "F.Cu") (net 158) (tstamp 1e25671c-9573-4202-aec7-385e800b1f1d)) + (segment (start 67.437 60.706) (end 69.469 58.674) (width 0.254) (layer "F.Cu") (net 158) (tstamp 1e587815-f0c5-40c6-b490-0a184f8ca6fe)) + (segment (start 67.818 79.629) (end 66.929 78.74) (width 0.254) (layer "F.Cu") (net 158) (tstamp 1e5b8460-d645-4788-9274-e9c2b73787b7)) + (segment (start 66.929 78.74) (end 66.929 69.342) (width 0.254) (layer "F.Cu") (net 158) (tstamp 434ef878-4271-4113-83d5-8084b15e64b5)) + (segment (start 67.437 68.834) (end 67.437 60.706) (width 0.254) (layer "F.Cu") (net 158) (tstamp 5a01e790-bc81-4607-9b38-7817981882ab)) + (segment (start 64.587 97.642) (end 64.587 95.1155) (width 0.254) (layer "F.Cu") (net 158) (tstamp 63c4ac4e-338a-425d-b722-e7107109b972)) + (segment (start 75.057 58.674) (end 82.423 51.308) (width 0.254) (layer "F.Cu") (net 158) (tstamp 658f582c-bc27-48d6-8383-d42eff06914f)) + (segment (start 64.587 95.1155) (end 65.5955 94.107) (width 0.254) (layer "F.Cu") (net 158) (tstamp 85c95fe5-4d69-45d3-9763-99b6f018262b)) + (segment (start 82.423 51.308) (end 82.423 49.149) (width 0.254) (layer "F.Cu") (net 158) (tstamp 9480bd7e-1685-4825-b605-6e3e431cc796)) + (segment (start 69.469 58.674) (end 75.057 58.674) (width 0.254) (layer "F.Cu") (net 158) (tstamp 9f65840b-560d-42c3-b03c-199e076c6d4b)) + (segment (start 65.5955 94.107) (end 67.056 94.107) (width 0.254) (layer "F.Cu") (net 158) (tstamp ae82800a-c163-447d-bce9-f0347c0d58f8)) + (segment (start 66.929 69.342) (end 67.437 68.834) (width 0.254) (layer "F.Cu") (net 158) (tstamp bccd008d-ead2-42e8-9678-80be64887b02)) + (segment (start 67.818 93.345) (end 67.818 79.629) (width 0.254) (layer "F.Cu") (net 158) (tstamp e195c682-8014-4488-a19b-ddfaeef2c5b4)) + (segment (start 84.385 45.917) (end 86.095 45.917) (width 0.254) (layer "F.Cu") (net 159) (tstamp 09c0bb30-b6a5-4080-a12f-888dcdfacc31)) + (segment (start 68.58 48.26) (end 65.405 48.26) (width 0.254) (layer "F.Cu") (net 159) (tstamp 10a6462b-bd66-4a79-a4b1-62a719be16dc)) + (segment (start 74.295 49.53) (end 80.772 49.53) (width 0.254) (layer "F.Cu") (net 159) (tstamp 214eb730-6d56-49e1-a692-1534bd3f4989)) + (segment (start 65.405 48.26) (end 64.917 48.748) (width 0.254) (layer "F.Cu") (net 159) (tstamp 912405e7-b904-4528-a0ef-43c17a560174)) + (segment (start 80.772 49.53) (end 84.385 45.917) (width 0.254) (layer "F.Cu") (net 159) (tstamp ec5f6379-89d9-428a-ab10-c462a4f09a0e)) + (segment (start 64.917 48.748) (end 64.917 50.0095) (width 0.254) (layer "F.Cu") (net 159) (tstamp fd1040ec-d59e-4c7b-8a76-7626c8163e38)) + (via (at 68.58 48.26) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 159) (tstamp 71be39c0-f7fb-4d64-970c-5995d8a71e52)) + (via (at 74.295 49.53) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 159) (tstamp c35ed318-60b0-4677-a7f0-4f0fc7600373)) + (segment (start 74.295 49.53) (end 69.85 49.53) (width 0.254) (layer "B.Cu") (net 159) (tstamp 1b90ce25-f1f0-4ed0-b95e-9930c407f254)) + (segment (start 69.85 49.53) (end 68.58 48.26) (width 0.254) (layer "B.Cu") (net 159) (tstamp 67b463ed-22df-4494-a9dd-b6d6fbf7cb67)) + (segment (start 69.743 115.209) (end 70.358 115.824) (width 0.254) (layer "F.Cu") (net 163) (tstamp 103dada2-6cce-479a-8e99-9a3725e80218)) + (segment (start 70.358 115.824) (end 78.994 115.824) (width 0.254) (layer "F.Cu") (net 163) (tstamp 77365422-b612-46cf-9065-e1e5429df98f)) + (segment (start 78.994 115.824) (end 79.883 114.935) (width 0.254) (layer "F.Cu") (net 163) (tstamp 9db3c756-c5d2-4e3f-b3c1-f4297d088376)) + (segment (start 69.743 112.541) (end 69.743 115.209) (width 0.254) (layer "F.Cu") (net 163) (tstamp 9fc451d9-2a13-476f-ba25-52b661ead7f2)) + (segment (start 79.883 114.935) (end 79.883 113.601) (width 0.254) (layer "F.Cu") (net 163) (tstamp cd8e5a20-a0a3-4dfc-b7a5-a6f361aa22c2)) + (segment (start 77.724 115.316) (end 78.232 114.808) (width 0.254) (layer "F.Cu") (net 165) (tstamp 21e89539-a7ce-49d8-b380-8ea153d881a9)) + (segment (start 72.743 112.541) (end 72.743 114.78) (width 0.254) (layer "F.Cu") (net 165) (tstamp 6db40b6d-0814-42a2-b936-ccac2beb9384)) + (segment (start 73.279 115.316) (end 77.724 115.316) (width 0.254) (layer "F.Cu") (net 165) (tstamp 94fc6e20-64c6-4dbc-b5a5-89c8d7720650)) + (segment (start 78.232 114.808) (end 78.232 113.601) (width 0.254) (layer "F.Cu") (net 165) (tstamp f10ab766-26d4-42c1-90ff-9f50d0294b1d)) + (segment (start 72.743 114.78) (end 73.279 115.316) (width 0.254) (layer "F.Cu") (net 165) (tstamp fcbc9123-e12d-46ca-a704-f1e076771240)) + (segment (start 78.74 25.273) (end 78.74 26.353) (width 0.254) (layer "F.Cu") (net 167) (tstamp 02de3ecd-004f-4344-b71f-3f8009adb6a2)) + (segment (start 72.771 24.638) (end 78.105 24.638) (width 0.254) (layer "F.Cu") (net 167) (tstamp 35975f65-f5ab-478a-a06b-72e8bb60f5e0)) + (segment (start 72.25 25.159) (end 72.771 24.638) (width 0.254) (layer "F.Cu") (net 167) (tstamp 7f23a7e0-03a2-4b46-a88d-85fec2c628ef)) + (segment (start 78.105 24.638) (end 78.74 25.273) (width 0.254) (layer "F.Cu") (net 167) (tstamp bcea42e5-ef5d-4ad0-9a6b-f0a2c3ff2800)) + (segment (start 72.25 27.488) (end 72.25 25.159) (width 0.254) (layer "F.Cu") (net 167) (tstamp d500c5d2-0434-4e3f-ae8e-d8988d329f2f)) + (segment (start 80.518 26.353) (end 80.518 24.892) (width 0.254) (layer "F.Cu") (net 169) (tstamp 1ebd37d8-7743-4f0f-ae9c-607a6429fbf2)) + (segment (start 79.756 24.13) (end 69.85 24.13) (width 0.254) (layer "F.Cu") (net 169) (tstamp 3e1d5b26-1be4-4382-b8b9-116f30826c3c)) + (segment (start 69.25 24.73) (end 69.25 27.488) (width 0.254) (layer "F.Cu") (net 169) (tstamp 47075870-0877-488b-95ac-2499ec30c23b)) + (segment (start 80.518 24.892) (end 79.756 24.13) (width 0.254) (layer "F.Cu") (net 169) (tstamp 4e2f90ae-a98a-4c99-b810-937edfb8dc6f)) + (segment (start 69.85 24.13) (end 69.25 24.73) (width 0.254) (layer "F.Cu") (net 169) (tstamp a6b03da8-2f97-4321-a329-2066116eec75)) + (segment (start 78.74 86.995) (end 79.883 85.852) (width 0.254) (layer "F.Cu") (net 178) (tstamp 358a3a07-c77f-4cbf-a81e-f39eab7bb79b)) + (segment (start 74.422 86.995) (end 78.74 86.995) (width 0.254) (layer "F.Cu") (net 178) (tstamp a5fb7ac3-54e4-4e62-bec8-87a39d24c46a)) + (segment (start 62.992 93.345) (end 62.992 94.234) (width 0.254) (layer "F.Cu") (net 178) (tstamp a730549d-55cd-493c-88b6-ae8e22601326)) + (segment (start 62.992 94.234) (end 61.987 95.239) (width 0.254) (layer "F.Cu") (net 178) (tstamp b596165b-e01e-40a3-a681-1a0eb97e5eb9)) + (segment (start 61.987 95.239) (end 61.987 97.642) (width 0.254) (layer "F.Cu") (net 178) (tstamp b79bd797-8b1d-4b05-8b55-5a061515dc17)) + (segment (start 79.883 85.852) (end 79.883 84.012) (width 0.254) (layer "F.Cu") (net 178) (tstamp dd288c99-fab7-48b5-a10a-64924f741362)) + (via (at 62.992 93.345) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 178) (tstamp 7ac621b7-1401-475d-8b2b-40ab5388c8ee)) + (via (at 74.422 86.995) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 178) (tstamp c9500a19-c9de-4974-9573-c6593eb072d3)) + (segment (start 69.469 89.662) (end 71.755 89.662) (width 0.254) (layer "B.Cu") (net 178) (tstamp 24da6517-9cbd-410f-86a8-b5e0b74061c6)) + (segment (start 62.992 93.345) (end 63.246 93.599) (width 0.254) (layer "B.Cu") (net 178) (tstamp 577ed374-f60d-4101-b3b6-545125a02acb)) + (segment (start 63.246 93.599) (end 65.532 93.599) (width 0.254) (layer "B.Cu") (net 178) (tstamp 6cb8f5eb-578e-4737-bfee-c5ee0fe675ed)) + (segment (start 65.532 93.599) (end 69.469 89.662) (width 0.254) (layer "B.Cu") (net 178) (tstamp bc7717b2-2a28-4c67-b3f8-495162f7e282)) + (segment (start 71.755 89.662) (end 74.422 86.995) (width 0.254) (layer "B.Cu") (net 178) (tstamp e796d438-9b56-4db1-ac70-b17831501b0b)) + (segment (start 86.77 83.185) (end 86.77 82.042) (width 0.254) (layer "F.Cu") (net 181) (tstamp 2f0970d1-8732-466f-8bcd-f3a814447182)) + (segment (start 83.987 84.055) (end 85.9 84.055) (width 0.254) (layer "F.Cu") (net 181) (tstamp 325969a2-d73e-4c20-9026-9d5f2dbd36f3)) + (segment (start 92.3824 81.6356) (end 99.4664 81.6356) (width 0.254) (layer "F.Cu") (net 181) (tstamp 3e56f958-4c7d-4f2f-9795-2422c6f0263e)) + (segment (start 92.1906 81.4438) (end 92.3824 81.6356) (width 0.254) (layer "F.Cu") (net 181) (tstamp 65d75b09-ae10-4c8c-ac2c-f1e58ab475f6)) + (segment (start 100.076 86.64) (end 101.306 87.87) (width 0.254) (layer "F.Cu") (net 181) (tstamp 72958795-a56a-4452-8a49-b0a195e6ae89)) + (segment (start 100.076 82.2452) (end 100.076 86.64) (width 0.254) (layer "F.Cu") (net 181) (tstamp ad5f35a9-95e8-4bf2-9fca-cc3e327e7ca8)) + (segment (start 86.77 82.042) (end 88.675 80.137) (width 0.254) (layer "F.Cu") (net 181) (tstamp b2093412-58d3-4982-9f58-8d5180b90ec6)) + (segment (start 89.9818 81.4438) (end 92.1906 81.4438) (width 0.254) (layer "F.Cu") (net 181) (tstamp cbcc62d9-34be-475e-84d3-fcac2932528e)) + (segment (start 99.4664 81.6356) (end 100.076 82.2452) (width 0.254) (layer "F.Cu") (net 181) (tstamp cec30648-9a4c-4aa2-814a-ab15176f2f5b)) + (segment (start 85.9 84.055) (end 86.77 83.185) (width 0.254) (layer "F.Cu") (net 181) (tstamp d21bbe8d-e753-4f08-8f03-3e771bfc18ef)) + (segment (start 88.675 80.137) (end 89.9818 81.4438) (width 0.254) (layer "F.Cu") (net 181) (tstamp ffab03fd-15fb-41b3-bd02-5a3811377045)) + (segment (start 100.022 89.154) (end 101.306 87.87) (width 0.254) (layer "B.Cu") (net 181) (tstamp 4450ece4-ab25-4bf0-adac-25f25c381f65)) + (segment (start 96.226 95.377) (end 97.4852 94.1178) (width 0.254) (layer "B.Cu") (net 181) (tstamp 69801413-3cfe-4173-8249-0e4789b052aa)) + (segment (start 97.4852 89.7128) (end 98.044 89.154) (width 0.254) (layer "B.Cu") (net 181) (tstamp 7e2fb019-e3fb-4840-9d03-c73a9f085f3d)) + (segment (start 98.044 89.154) (end 100.022 89.154) (width 0.254) (layer "B.Cu") (net 181) (tstamp c754cd50-2415-4a94-9102-6d7fa607aa5e)) + (segment (start 97.4852 94.1178) (end 97.4852 89.7128) (width 0.254) (layer "B.Cu") (net 181) (tstamp ef93f8dc-a53d-489e-8d44-e25ec79244af)) + (segment (start 96.9264 84.1248) (end 97.536 84.7344) (width 0.254) (layer "F.Cu") (net 182) (tstamp 16dc9d6e-b2bc-49d1-98d9-dcba17a120e8)) + (segment (start 86.497 84.855) (end 88.675 82.677) (width 0.254) (layer "F.Cu") (net 182) (tstamp 1b6bf327-9c1d-46e0-a213-f33a0ddadacc)) + (segment (start 97.536 86.6) (end 98.806 87.87) (width 0.254) (layer "F.Cu") (net 182) (tstamp 2174ae2e-f568-4cfe-b076-97b9b224b53f)) + (segment (start 92.5068 83.9216) (end 92.964 83.9216) (width 0.254) (layer "F.Cu") (net 182) (tstamp 2a2a9a9b-f789-43ee-8817-e1a7fc5b23e2)) + (segment (start 89.9196 83.9216) (end 92.5068 83.9216) (width 0.254) (layer "F.Cu") (net 182) (tstamp 3e687fb1-de31-4e84-8517-e83d356f5c5a)) + (segment (start 93.1672 84.1248) (end 96.9264 84.1248) (width 0.254) (layer "F.Cu") (net 182) (tstamp 5b0bcef7-c66a-42c7-bcdc-2dcd24556a52)) + (segment (start 92.964 83.9216) (end 93.1672 84.1248) (width 0.254) (layer "F.Cu") (net 182) (tstamp 5d9bdf9d-8b03-4222-bcdc-ce88ddfd8477)) + (segment (start 97.536 84.7344) (end 97.536 86.6) (width 0.254) (layer "F.Cu") (net 182) (tstamp 998b8743-1cd0-43ba-b7f2-d7f9a698884c)) + (segment (start 88.675 82.677) (end 89.9196 83.9216) (width 0.254) (layer "F.Cu") (net 182) (tstamp c4d64ead-7373-404e-95ed-2e9934949f89)) + (segment (start 83.987 84.855) (end 86.497 84.855) (width 0.254) (layer "F.Cu") (net 182) (tstamp db514eac-0634-46b7-b8e2-49f8849b5478)) + (via (at 92.5068 83.9216) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 182) (tstamp 74c392fa-a2ed-4526-b653-a007c7fbc6c7)) + (segment (start 92.5068 92.5068) (end 92.5068 83.9216) (width 0.254) (layer "B.Cu") (net 182) (tstamp 73aad059-69d3-4dfe-9eed-ed190e72535d)) + (segment (start 93.726 95.377) (end 92.5068 94.1578) (width 0.254) (layer "B.Cu") (net 182) (tstamp a21166cc-8a3e-4563-884d-202f649aeffa)) + (segment (start 92.5068 94.1578) (end 92.5068 92.5068) (width 0.254) (layer "B.Cu") (net 182) (tstamp abee6c2b-37f1-4d25-873c-15ae36bfb62c)) + (segment (start 94.996 96.647) (end 94.996 99.107) (width 0.254) (layer "F.Cu") (net 183) (tstamp 05fa93e3-e496-408f-acd0-6e388a4e7cef)) + (segment (start 100.076 94.107) (end 100.076 91.6) (width 0.254) (layer "F.Cu") (net 183) (tstamp 0bc6fe86-a440-4b5d-991b-13d59585c7cd)) + (segment (start 83.987 85.655) (end 86.586 85.655) (width 0.254) (layer "F.Cu") (net 183) (tstamp 6aef8887-1b33-41f8-b1e1-b61b4d69849e)) + (segment (start 87.024 85.217) (end 88.675 85.217) (width 0.254) (layer "F.Cu") (net 183) (tstamp 6ba0bfc5-2292-431e-afc1-f78a48cd9ec0)) + (segment (start 86.586 85.655) (end 87.024 85.217) (width 0.254) (layer "F.Cu") (net 183) (tstamp 729fa9f0-e581-4684-8079-a392df650d90)) + (segment (start 94.996 99.107) (end 93.726 100.377) (width 0.254) (layer "F.Cu") (net 183) (tstamp 923ce603-5d96-402d-9609-bdc3c630b96a)) + (segment (start 100.076 91.6) (end 101.306 90.37) (width 0.254) (layer "F.Cu") (net 183) (tstamp 925c3600-b2ae-41b2-ac12-facb8bda58a3)) + (via (at 100.076 94.107) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 183) (tstamp 8b993b01-db9d-478a-b899-ef56129aa629)) + (via (at 94.996 96.647) (size 0.6096) (drill 0.3048) (layers "F.Cu" "B.Cu") (net 183) (tstamp ac5de568-ce3f-45c7-8221-becea5ff1fe5)) + (segment (start 89.9668 86.5088) (end 89.9668 96.2406) (width 0.254) (layer "B.Cu") (net 183) (tstamp 2f878cd4-27f6-416c-bf90-14e09e5ae3af)) + (segment (start 88.675 85.217) (end 89.9668 86.5088) (width 0.254) (layer "B.Cu") (net 183) (tstamp 3e8f9f67-ad9e-4a17-b0bf-da9954c5d59a)) + (segment (start 100.076 94.107) (end 100.076 96.012) (width 0.254) (layer "B.Cu") (net 183) (tstamp 48a5919a-2279-4244-8460-2e98b38e84ff)) + (segment (start 100.076 96.012) (end 99.441 96.647) (width 0.254) (layer "B.Cu") (net 183) (tstamp 558bcaf6-f8a4-4fff-859b-d6c635d4b558)) + (segment (start 90.3732 96.647) (end 94.996 96.647) (width 0.254) (layer "B.Cu") (net 183) (tstamp 74e5a7ee-ba33-4788-82f8-a0fbd42afd8f)) + (segment (start 99.441 96.647) (end 94.996 96.647) (width 0.254) (layer "B.Cu") (net 183) (tstamp 87a0101c-9002-46fa-b9ad-b0389c2eccb7)) + (segment (start 89.9668 96.2406) (end 90.3732 96.647) (width 0.254) (layer "B.Cu") (net 183) (tstamp e56a7e61-4159-42bd-9724-140d7aa88ffa)) + (segment (start 88.675 87.757) (end 89.945 89.027) (width 0.254) (layer "F.Cu") (net 184) (tstamp 091a5297-2c41-424e-9227-3cffd181e257)) + (segment (start 86.586 87.319) (end 87.024 87.757) (width 0.254) (layer "F.Cu") (net 184) (tstamp 3d6060e4-7d5a-4599-9846-73997a264db8)) + (segment (start 92.376 89.027) (end 93.726 90.377) (width 0.254) (layer "F.Cu") (net 184) (tstamp 66c1c6f9-52b0-4e5b-866e-c717e8955ba7)) + (segment (start 83.987 87.319) (end 86.586 87.319) (width 0.254) (layer "F.Cu") (net 184) (tstamp 742234ae-6e81-4e2c-baa8-a67f97399b3e)) + (segment (start 87.024 87.757) (end 88.675 87.757) (width 0.254) (layer "F.Cu") (net 184) (tstamp 9c5af5ab-b3f4-4c57-8095-273b75afb547)) + (segment (start 89.945 89.027) (end 92.376 89.027) (width 0.254) (layer "F.Cu") (net 184) (tstamp bcf2e392-db88-44c4-834b-2538934afe4d)) + (segment (start 94.996 84.7344) (end 95.6056 84.1248) (width 0.254) (layer "B.Cu") (net 184) (tstamp 3569876d-ca28-4947-bb28-69b4d3b9d4aa)) + (segment (start 93.726 90.377) (end 94.996 89.107) (width 0.254) (layer "B.Cu") (net 184) (tstamp 5b16c78a-3640-45b4-8aa7-96b6d38ef437)) + (segment (start 97.5512 84.1248) (end 98.806 82.87) (width 0.254) (layer "B.Cu") (net 184) (tstamp b4e2a467-2531-4667-9396-fe6c3f0690e7)) + (segment (start 95.6056 84.1248) (end 97.5512 84.1248) (width 0.254) (layer "B.Cu") (net 184) (tstamp bd24d1ea-0fdb-4004-8f51-f28be01494e1)) + (segment (start 94.996 89.107) (end 94.996 84.7344) (width 0.254) (layer "B.Cu") (net 184) (tstamp bef871db-45f8-4d5a-aedd-2c47846d7d60)) + (segment (start 97.536 96.64) (end 98.806 95.37) (width 0.254) (layer "F.Cu") (net 185) (tstamp 25b5ce31-45c0-406a-aed4-c4bfcde9e2e2)) + (segment (start 86.497 88.119) (end 88.675 90.297) (width 0.254) (layer "F.Cu") (net 185) (tstamp 5516bf1d-7ea4-4f98-9c22-328b3ef86059)) + (segment (start 97.536 94.1) (end 98.806 95.37) (width 0.254) (layer "F.Cu") (net 185) (tstamp 559254b6-faf2-4572-9dfd-eb15129a9c55)) + (segment (start 83.987 88.119) (end 86.497 88.119) (width 0.254) (layer "F.Cu") (net 185) (tstamp 71e828cd-fcd5-4c2b-a8fd-e7fa84a4706b)) + (segment (start 97.536 92.202) (end 97.536 94.1) (width 0.254) (layer "F.Cu") (net 185) (tstamp 9a8dd85e-8d5a-4f2b-bede-97d13fa90848)) + (segment (start 89.945 91.567) (end 96.901 91.567) (width 0.254) (layer "F.Cu") (net 185) (tstamp a8dc3c17-7628-4b8f-ae43-630170946543)) + (segment (start 96.901 91.567) (end 97.536 92.202) (width 0.254) (layer "F.Cu") (net 185) (tstamp acfe83d5-7bcd-4b54-983b-999b8a4c05a8)) + (segment (start 96.226 100.377) (end 97.536 99.067) (width 0.254) (layer "F.Cu") (net 185) (tstamp ccffbda1-0f45-4cc4-89bd-4981339048ad)) + (segment (start 97.536 99.067) (end 97.536 96.64) (width 0.254) (layer "F.Cu") (net 185) (tstamp d1e2e170-bb2c-431e-b26c-56fc734d845d)) + (segment (start 88.675 90.297) (end 89.945 91.567) (width 0.254) (layer "F.Cu") (net 185) (tstamp dc399c4d-8724-413e-9275-39be85dd94a6)) + (segment (start 83.987 88.919) (end 85.9 88.919) (width 0.254) (layer "F.Cu") (net 186) (tstamp 0eeb4a88-fdbf-470e-a13a-07d415adfee9)) + (segment (start 90.765 97.877) (end 93.726 97.877) (width 0.254) (layer "F.Cu") (net 186) (tstamp 5aefa6f2-414a-4d27-a391-e4682b6fe615)) + (segment (start 86.77 89.789) (end 86.77 90.932) (width 0.254) (layer "F.Cu") (net 186) (tstamp 7fabbaa8-ec86-48ff-98d1-d971c565c830)) + (segment (start 89.916 94.078) (end 89.916 97.028) (width 0.254) (layer "F.Cu") (net 186) (tstamp 8a5798d6-af41-4090-82bb-5eab54c9ee4e)) + (segment (start 89.916 97.028) (end 90.765 97.877) (width 0.254) (layer "F.Cu") (net 186) (tstamp 9c863bd3-6958-499a-9f6c-2f924615baa0)) + (segment (start 85.9 88.919) (end 86.77 89.789) (width 0.254) (layer "F.Cu") (net 186) (tstamp a670fbb7-d45d-406a-9b74-99d37989a059)) + (segment (start 86.77 90.932) (end 88.675 92.837) (width 0.254) (layer "F.Cu") (net 186) (tstamp f7424136-afd7-4379-ae05-d2e20bfb206a)) + (segment (start 88.675 92.837) (end 89.916 94.078) (width 0.254) (layer "F.Cu") (net 186) (tstamp fe9eebc8-f100-4ecf-aad6-e98081211c0c)) + (segment (start 93.726 97.877) (end 95.036 99.187) (width 0.254) (layer "B.Cu") (net 186) (tstamp 010d971b-f4e9-4d76-a1d2-d522cf9608d7)) + (segment (start 97.489 99.187) (end 98.806 97.87) (width 0.254) (layer "B.Cu") (net 186) (tstamp 3959107c-d5dd-4504-b27c-bd3b3ac7510d)) + (segment (start 95.036 99.187) (end 97.489 99.187) (width 0.254) (layer "B.Cu") (net 186) (tstamp d3c8fd7d-5d4b-4bc8-a5ad-74ff9ab4b7eb)) + (segment (start 42.101 36.195) (end 42.101 37.846) (width 0.508) (layer "F.Cu") (net 198) (tstamp 002294fd-99df-445b-a23b-5d9269413d54)) + (segment (start 46.547 40.767) (end 45.339 40.767) (width 0.508) (layer "F.Cu") (net 198) (tstamp 047eba39-7309-46e2-81ec-232c8d0d2d0e)) + (segment (start 45.339 40.767) (end 44.323 39.751) (width 0.508) (layer "F.Cu") (net 198) (tstamp 14e30065-b33c-456f-8801-df391ebd0b08)) + (segment (start 44.323 39.751) (end 43.751 39.751) (width 0.508) (layer "F.Cu") (net 198) (tstamp 49d46156-87a7-4884-a765-dcfc8673c251)) + (segment (start 42.101 38.005) (end 42.101 37.846) (width 0.508) (layer "F.Cu") (net 198) (tstamp 85918d77-cdd7-4490-b4fc-4e2f21cdf41f)) + (segment (start 43.751 39.655) (end 42.101 38.005) (width 0.508) (layer "F.Cu") (net 198) (tstamp ba6cd161-a051-48c5-8795-6025ff61745b)) + (segment (start 43.751 39.751) (end 43.751 39.655) (width 0.508) (layer "F.Cu") (net 198) (tstamp e52fa6c5-a360-40f9-9d1a-a4a80cd35780)) + (segment (start 42.101 48.768) (end 42.101 48.6085) (width 0.508) (layer "F.Cu") (net 199) (tstamp 0a8bd211-4bb9-4ecb-93b3-b1e25e98c7ca)) + (segment (start 44.323 46.863) (end 45.339 45.847) (width 0.508) (layer "F.Cu") (net 199) (tstamp 2827eb56-a31a-4cb7-8c32-d5dda177d31b)) + (segment (start 42.101 48.6085) (end 43.751 46.9585) (width 0.508) (layer "F.Cu") (net 199) (tstamp 3d1b966d-e99d-417f-9ee8-6fe6f354f332)) + (segment (start 43.751 46.9585) (end 43.751 46.863) (width 0.508) (layer "F.Cu") (net 199) (tstamp 8bbc28f0-f986-4be9-a622-81c05b4aeeaa)) + (segment (start 45.339 45.847) (end 46.547 45.847) (width 0.508) (layer "F.Cu") (net 199) (tstamp a4e7e61f-d80f-47a6-9fef-0e8596e8b000)) + (segment (start 43.751 46.863) (end 44.323 46.863) (width 0.508) (layer "F.Cu") (net 199) (tstamp af8d72c9-29c9-42d1-8440-fa9241fd21fd)) + (segment (start 42.101 50.419) (end 42.101 48.768) (width 0.508) (layer "F.Cu") (net 199) (tstamp f67df571-14df-478b-8e8c-801e49f224d9)) + (segment (start 43.751 57.435) (end 42.101 55.785) (width 0.508) (layer "F.Cu") (net 200) (tstamp 1dd5a56c-2cf1-4389-af1e-7bbd88ad053b)) + (segment (start 45.339 58.547) (end 44.323 57.531) (width 0.508) (layer "F.Cu") (net 200) (tstamp 4af96c2a-1ba7-4e7b-9df5-cdcb1f426926)) + (segment (start 46.547 58.547) (end 45.339 58.547) (width 0.508) (layer "F.Cu") (net 200) (tstamp 81a1c786-258d-4322-a784-7c881ac6d313)) + (segment (start 42.101 53.975) (end 42.101 55.626) (width 0.508) (layer "F.Cu") (net 200) (tstamp 8f1d998a-8a67-456e-8107-56e557ce2da6)) + (segment (start 42.101 55.785) (end 42.101 55.626) (width 0.508) (layer "F.Cu") (net 200) (tstamp c1f54bc3-fd6f-4698-b6c8-3a1077504a72)) + (segment (start 43.751 57.531) (end 43.751 57.435) (width 0.508) (layer "F.Cu") (net 200) (tstamp d27f771a-8ebe-43ba-9f79-d71aaeeadd02)) + (segment (start 44.323 57.531) (end 43.751 57.531) (width 0.508) (layer "F.Cu") (net 200) (tstamp fcadb861-3681-437a-81f3-11dfdd4b64ce)) + (segment (start 42.101 68.199) (end 42.101 66.548) (width 0.508) (layer "F.Cu") (net 201) (tstamp 1cf201c2-0c15-4339-bdbe-74e919836c14)) + (segment (start 44.323 64.643) (end 45.339 63.627) (width 0.508) (layer "F.Cu") (net 201) (tstamp 240c56f7-1aa8-43be-a5b2-865259d5ea74)) + (segment (start 42.101 66.3885) (end 43.751 64.7385) (width 0.508) (layer "F.Cu") (net 201) (tstamp 3cd89bdb-5b89-483e-bfce-c1711972951d)) + (segment (start 42.101 66.548) (end 42.101 66.3885) (width 0.508) (layer "F.Cu") (net 201) (tstamp 5bf453ce-80b8-41f8-b251-59bef52a9d59)) + (segment (start 43.751 64.643) (end 44.323 64.643) (width 0.508) (layer "F.Cu") (net 201) (tstamp 81476d59-9aad-4016-adf7-662cfb6dd468)) + (segment (start 43.751 64.7385) (end 43.751 64.643) (width 0.508) (layer "F.Cu") (net 201) (tstamp b44bc761-16a0-46ee-b5ce-77253e941be1)) + (segment (start 45.339 63.627) (end 46.547 63.627) (width 0.508) (layer "F.Cu") (net 201) (tstamp db1a1a5e-c908-4395-a48b-192ba3b485a7)) + (segment (start 51.497 40.767) (end 52.578 40.767) (width 0.508) (layer "F.Cu") (net 202) (tstamp 7534be35-b54d-464a-a3f7-7586982173f7)) + (segment (start 52.578 40.767) (end 53.467 41.656) (width 0.508) (layer "F.Cu") (net 202) (tstamp c40b42da-f1ba-4bed-afd6-2d4218f8974d)) + (segment (start 53.467 41.656) (end 54.293 41.656) (width 0.508) (layer "F.Cu") (net 202) (tstamp d4b86a68-d864-40f9-bd7b-7066a0c2aab2)) + (segment (start 52.578 45.847) (end 53.467 44.958) (width 0.508) (layer "F.Cu") (net 203) (tstamp 261871ba-a611-4f5d-a476-9f4deced8852)) + (segment (start 51.497 45.847) (end 52.578 45.847) (width 0.508) (layer "F.Cu") (net 203) (tstamp 62aa9a4e-94aa-43b0-b81e-ac1e88b9c507)) + (segment (start 53.467 44.958) (end 54.293 44.958) (width 0.508) (layer "F.Cu") (net 203) (tstamp 83cf5a85-0220-4ca1-9bdd-f306886aca47)) + (segment (start 51.497 58.547) (end 52.578 58.547) (width 0.508) (layer "F.Cu") (net 204) (tstamp 5de0aa06-b258-42cc-a73c-3fe656e3b7f0)) + (segment (start 52.578 58.547) (end 53.467 59.436) (width 0.508) (layer "F.Cu") (net 204) (tstamp 6a650425-c9f7-4103-bb73-10829131590f)) + (segment (start 53.467 59.436) (end 54.293 59.436) (width 0.508) (layer "F.Cu") (net 204) (tstamp f53ba261-7fe9-4a6b-b48e-84961b6e4e2c)) + (segment (start 52.578 63.627) (end 53.467 62.738) (width 0.508) (layer "F.Cu") (net 205) (tstamp 5191f656-f14f-42be-9896-67feb4676428)) + (segment (start 51.497 63.627) (end 52.578 63.627) (width 0.508) (layer "F.Cu") (net 205) (tstamp 99fe3b28-4a51-4e95-b6ba-340c1e9262d5)) + (segment (start 53.467 62.738) (end 54.293 62.738) (width 0.508) (layer "F.Cu") (net 205) (tstamp b9424347-0da0-4258-83cb-2c73d7fa5705)) + (segment (start 43.751 75.215) (end 42.101 73.565) (width 0.508) (layer "F.Cu") (net 206) (tstamp 14cf9579-1652-4fd4-bbb6-d62e63b11a4a)) + (segment (start 42.101 73.565) (end 42.101 73.406) (width 0.508) (layer "F.Cu") (net 206) (tstamp 17a2ab82-ced8-410f-974e-a2f0fae6e9cc)) + (segment (start 44.323 75.311) (end 43.751 75.311) (width 0.508) (layer "F.Cu") (net 206) (tstamp 1ac5bd14-2141-4e07-8a6e-e8f5b85a6fb4)) + (segment (start 46.547 76.327) (end 45.339 76.327) (width 0.508) (layer "F.Cu") (net 206) (tstamp 1fab1992-5abb-4153-b700-e9ed7cd174df)) + (segment (start 43.751 75.311) (end 43.751 75.215) (width 0.508) (layer "F.Cu") (net 206) (tstamp 4713cd46-ed66-4332-8741-aeb505f5691a)) + (segment (start 42.101 71.755) (end 42.101 73.406) (width 0.508) (layer "F.Cu") (net 206) (tstamp 6034e2ea-f8f8-4a0a-9b30-e9923ef1cfd0)) + (segment (start 45.339 76.327) (end 44.323 75.311) (width 0.508) (layer "F.Cu") (net 206) (tstamp 836486ab-d2fd-4c25-ab1d-dc6c9d4cd324)) + (segment (start 45.339 81.407) (end 46.547 81.407) (width 0.508) (layer "F.Cu") (net 207) (tstamp 1e04f499-078a-4fc1-bd44-67265d0fdf5e)) + (segment (start 42.101 85.979) (end 42.101 84.328) (width 0.508) (layer "F.Cu") (net 207) (tstamp 78f07a0e-f8dc-4eb6-abc4-ea5d78a4fda2)) + (segment (start 43.751 82.5185) (end 43.751 82.423) (width 0.508) (layer "F.Cu") (net 207) (tstamp 7b192a51-14ea-425b-b895-49ed62229023)) + (segment (start 42.101 84.1685) (end 43.751 82.5185) (width 0.508) (layer "F.Cu") (net 207) (tstamp 80b818b2-21be-4b4f-8ac4-4e310f0af00c)) + (segment (start 43.751 82.423) (end 44.323 82.423) (width 0.508) (layer "F.Cu") (net 207) (tstamp ad43c22c-a188-4d07-b4a5-134acb8bfd18)) + (segment (start 42.101 84.328) (end 42.101 84.1685) (width 0.508) (layer "F.Cu") (net 207) (tstamp d84f917f-2c46-4bab-afc6-859ddb8dfa7f)) + (segment (start 44.323 82.423) (end 45.339 81.407) (width 0.508) (layer "F.Cu") (net 207) (tstamp e7cd972a-439d-49d8-96a3-581772c27597)) + (segment (start 42.101 89.535) (end 42.101 91.186) (width 0.508) (layer "F.Cu") (net 208) (tstamp 09f72e5a-4035-46c9-95f5-2b32aa1c1fb8)) + (segment (start 43.751 92.995) (end 42.101 91.345) (width 0.508) (layer "F.Cu") (net 208) (tstamp 28710652-ebde-4723-a031-5895ee21a8ba)) + (segment (start 46.547 94.107) (end 45.339 94.107) (width 0.508) (layer "F.Cu") (net 208) (tstamp 333305b7-545a-4929-86de-4689bb61980d)) + (segment (start 42.101 91.345) (end 42.101 91.186) (width 0.508) (layer "F.Cu") (net 208) (tstamp 62380dd6-5a9c-4029-b9fb-54c71d8194a6)) + (segment (start 45.339 94.107) (end 44.323 93.091) (width 0.508) (layer "F.Cu") (net 208) (tstamp 7b0f453c-94fd-4971-8bf8-09a7bf559aef)) + (segment (start 43.751 93.091) (end 43.751 92.995) (width 0.508) (layer "F.Cu") (net 208) (tstamp 8fd6a5af-ab30-48a4-97ab-d8e1edc58e1b)) + (segment (start 44.323 93.091) (end 43.751 93.091) (width 0.508) (layer "F.Cu") (net 208) (tstamp f3149515-c968-487f-b7ec-7cf6fff4e991)) + (segment (start 45.339 99.187) (end 46.547 99.187) (width 0.508) (layer "F.Cu") (net 209) (tstamp 10ad9ae4-ba47-4e76-a9f0-5f5b2cc9df8e)) + (segment (start 42.101 101.9485) (end 43.751 100.2985) (width 0.508) (layer "F.Cu") (net 209) (tstamp 37b9ea46-e1f3-4da5-8699-c9ff6c69fc04)) + (segment (start 42.101 103.759) (end 42.101 102.108) (width 0.508) (layer "F.Cu") (net 209) (tstamp 536fc6db-87df-413b-8a6c-63da53918573)) + (segment (start 44.323 100.203) (end 45.339 99.187) (width 0.508) (layer "F.Cu") (net 209) (tstamp 6372cae1-f3e3-4a06-8a1b-7ac0bbec169b)) + (segment (start 42.101 102.108) (end 42.101 101.9485) (width 0.508) (layer "F.Cu") (net 209) (tstamp 7483700b-03ca-4a8f-aff4-30c4f5ecc60b)) + (segment (start 43.751 100.203) (end 44.323 100.203) (width 0.508) (layer "F.Cu") (net 209) (tstamp 7d6a2823-020c-495e-be62-8c052a4d8fac)) + (segment (start 43.751 100.2985) (end 43.751 100.203) (width 0.508) (layer "F.Cu") (net 209) (tstamp b7433af8-073d-49f4-9d85-5fb0180b1614)) + (segment (start 53.467 77.216) (end 54.293 77.216) (width 0.508) (layer "F.Cu") (net 210) (tstamp ce15ff0a-a4ac-460e-94eb-8d2ac4be0988)) + (segment (start 51.497 76.327) (end 52.578 76.327) (width 0.508) (layer "F.Cu") (net 210) (tstamp d1dcaad9-1d23-4bc4-af8e-20bd47477fa9)) + (segment (start 52.578 76.327) (end 53.467 77.216) (width 0.508) (layer "F.Cu") (net 210) (tstamp e3fbbe10-c8fd-4642-8968-816249bcc789)) + (segment (start 51.497 81.407) (end 52.578 81.407) (width 0.508) (layer "F.Cu") (net 211) (tstamp 47643a43-f03e-422e-acbe-f2b69745e564)) + (segment (start 52.578 81.407) (end 53.467 80.518) (width 0.508) (layer "F.Cu") (net 211) (tstamp c770f062-695f-4941-9f9b-cda3fdfeff4c)) + (segment (start 53.467 80.518) (end 54.293 80.518) (width 0.508) (layer "F.Cu") (net 211) (tstamp dc6dfc4f-1f69-4189-9528-4af5b637f378)) + (segment (start 53.467 94.996) (end 54.293 94.996) (width 0.508) (layer "F.Cu") (net 212) (tstamp 42ccc843-5bb6-4ba0-8a41-546f88f583b1)) + (segment (start 52.578 94.107) (end 53.467 94.996) (width 0.508) (layer "F.Cu") (net 212) (tstamp a022193c-3346-41e2-9452-3f0b1172dc82)) + (segment (start 51.497 94.107) (end 52.578 94.107) (width 0.508) (layer "F.Cu") (net 212) (tstamp be0b850f-c43d-42e0-a22b-6e54b824f602)) + (segment (start 52.578 99.187) (end 53.467 98.298) (width 0.508) (layer "F.Cu") (net 213) (tstamp 1fdf20ef-75d3-4f40-b133-8e619dd0e258)) + (segment (start 51.497 99.187) (end 52.578 99.187) (width 0.508) (layer "F.Cu") (net 213) (tstamp 8cb555ba-0f94-4569-a971-8848a3f6af06)) + (segment (start 53.467 98.298) (end 54.293 98.298) (width 0.508) (layer "F.Cu") (net 213) (tstamp e29fe4ea-3d2b-4683-8f16-1e72948bfeb6)) + (segment (start 78.613 80.617) (end 78.613 84.012) (width 0.254) (layer "F.Cu") (net 214) (tstamp 9c924f00-063f-4f4b-bd3a-b3544aaf5196)) + (segment (start 72.263 80.617) (end 72.263 84.012) (width 0.254) (layer "F.Cu") (net 215) (tstamp c2ca0bf3-12f1-4855-a1b8-445511cba5c5)) + (segment (start 62.357 85.534) (end 64.008 85.534) (width 0.254) (layer "F.Cu") (net 216) (tstamp 00a26e9c-f3f5-48a1-abe2-bb49168fd4b8)) + (segment (start 62.357 86.741) (end 62.357 85.534) (width 0.254) (layer "F.Cu") (net 216) (tstamp 7b38d371-3100-407a-8fe0-66f59bd31204)) + (segment (start 61.987 87.111) (end 62.357 86.741) (width 0.254) (layer "F.Cu") (net 216) (tstamp 886b8283-dbd3-4f42-9d00-1403776276e3)) + (segment (start 61.987 91.842) (end 61.987 87.111) (width 0.254) (layer "F.Cu") (net 216) (tstamp a439f05d-8f3b-4c86-842a-d0d34866a40d)) + + (zone (net 0) (net_name "") (layer "F.Cu") (tstamp f450a0e3-e0d1-4fed-8f15-f41bd04cd97d) (hatch edge 0.5) + (connect_pads (clearance 0)) + (min_thickness 0.1524) (filled_areas_thickness no) + (keepout (tracks allowed) (vias allowed) (pads allowed) (copperpour not_allowed) (footprints allowed)) + (fill (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 63.881 27.051) + (xy 57.023 27.051) + (xy 57.023 30.607) + (xy 63.881 30.607) + ) + ) + ) + (zone (net 0) (net_name "") (layers "F&B.Cu") (tstamp 14d4d02b-fa94-4e19-8bdd-ab96b60667b1) (hatch edge 0.5) + (connect_pads (clearance 0)) + (min_thickness 0.1524) (filled_areas_thickness no) + (keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed) (copperpour not_allowed) (footprints allowed)) + (fill (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 110 19) + (xy 110 28) + (xy 103 28) + (xy 101 26) + (xy 101 19) + ) + ) + ) + (zone (net 0) (net_name "") (layers "F&B.Cu") (tstamp 204c0e53-471c-4d96-9a44-cbed7151721a) (hatch edge 0.5) + (connect_pads (clearance 0)) + (min_thickness 0.1524) (filled_areas_thickness no) + (keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed) (copperpour not_allowed) (footprints allowed)) + (fill (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 110 121) + (xy 101 121) + (xy 101 114) + (xy 103 112) + (xy 110 112) + ) + ) + ) + (zone (net 9) (net_name "GND") (layers "F&B.Cu") (tstamp 3d08b08e-c15c-46f0-913e-b36aa26eb9f5) (hatch edge 0.5) + (connect_pads (clearance 0.1905)) + (min_thickness 0.1524) (filled_areas_thickness no) + (fill yes (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 25 21) + (xy 25 119) + (xy 108 119) + (xy 108 21) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 51.710195 111.083196) + (xy 51.733078 111.102741) + (xy 51.733254 111.102566) + (xy 51.826434 111.195746) + (xy 51.876125 111.221065) + (xy 51.936824 111.251993) + (xy 51.943847 111.255571) + (xy 51.949692 111.256496) + (xy 51.949693 111.256497) + (xy 51.950836 111.256678) + (xy 52.041263 111.271) + (xy 52.606736 111.270999) + (xy 52.704153 111.255571) + (xy 52.821566 111.195746) + (xy 52.914746 111.102566) + (xy 52.914921 111.102741) + (xy 52.937805 111.083196) + (xy 52.971945 111.075) + (xy 53.327055 111.075) + (xy 53.361195 111.083196) + (xy 53.384078 111.102741) + (xy 53.384254 111.102566) + (xy 53.477434 111.195746) + (xy 53.527125 111.221065) + (xy 53.587824 111.251993) + (xy 53.594847 111.255571) + (xy 53.600692 111.256496) + (xy 53.600693 111.256497) + (xy 53.601836 111.256678) + (xy 53.692263 111.271) + (xy 54.257736 111.270999) + (xy 54.355153 111.255571) + (xy 54.444206 111.210195) + (xy 54.478346 111.202) + (xy 55.443583 111.202) + (xy 55.453398 111.202643) + (xy 55.486 111.206935) + (xy 55.490884 111.206292) + (xy 55.490889 111.206292) + (xy 55.516108 111.202971) + (xy 55.52348 111.202) + (xy 55.523491 111.202) + (xy 55.523492 111.202) + (xy 55.617351 111.189642) + (xy 55.627167 111.189) + (xy 56.096508 111.189) + (xy 56.171492 111.189) + (xy 56.8838 111.189) + (xy 56.9214 111.199075) + (xy 56.948925 111.2266) + (xy 56.959 111.2642) + (xy 56.959 114.772132) + (xy 56.953276 114.80091) + (xy 56.936974 114.825306) + (xy 56.278306 115.483974) + (xy 56.25391 115.500276) + (xy 56.225132 115.506) + (xy 47.279868 115.506) + (xy 47.25109 115.500276) + (xy 47.226694 115.483974) + (xy 46.441026 114.698306) + (xy 46.424724 114.67391) + (xy 46.419 114.645132) + (xy 46.419 111.541869) + (xy 46.424724 111.513091) + (xy 46.441025 111.488695) + (xy 46.718693 111.211026) + (xy 46.74309 111.194724) + (xy 46.771868 111.189) + (xy 46.896677 111.189) + (xy 46.931399 111.197496) + (xy 46.955339 111.21849) + (xy 46.95586 111.219607) + (xy 46.96051 111.224257) + (xy 47.029079 111.292826) + (xy 47.048543 111.326537) + (xy 47.048543 111.365463) + (xy 47.029079 111.399174) + (xy 46.960512 111.46774) + (xy 46.960509 111.467743) + (xy 46.95586 111.472393) + (xy 46.953081 111.478352) + (xy 46.95308 111.478354) + (xy 46.907469 111.576167) + (xy 46.907466 111.576174) + (xy 46.905039 111.581381) + (xy 46.904288 111.587081) + (xy 46.904288 111.587083) + (xy 46.898951 111.627623) + (xy 46.8985 111.631048) + (xy 46.8985 112.010952) + (xy 46.898819 112.01338) + (xy 46.89882 112.013385) + (xy 46.902644 112.042426) + (xy 46.905039 112.060619) + (xy 46.907467 112.065827) + (xy 46.907469 112.065832) + (xy 46.943814 112.143773) + (xy 46.95586 112.169607) + (xy 47.040893 112.25464) + (xy 47.098037 112.281286) + (xy 47.144667 112.30303) + (xy 47.144668 112.30303) + (xy 47.149881 112.305461) + (xy 47.199548 112.312) + (xy 47.2188 112.312) + (xy 47.2564 112.322075) + (xy 47.283925 112.3496) + (xy 47.294 112.3872) + (xy 47.294 112.890055) + (xy 47.285804 112.924195) + (xy 47.266258 112.947078) + (xy 47.266434 112.947254) + (xy 47.264207 112.94948) + (xy 47.264201 112.949486) + (xy 47.26225 112.951437) + (xy 47.262247 112.95144) + (xy 47.177443 113.036244) + (xy 47.17744 113.036247) + (xy 47.173254 113.040434) + (xy 47.170567 113.045706) + (xy 47.170565 113.04571) + (xy 47.116115 113.152573) + (xy 47.116112 113.152579) + (xy 47.113429 113.157847) + (xy 47.112504 113.163686) + (xy 47.112502 113.163693) + (xy 47.101954 113.230298) + (xy 47.098 113.255263) + (xy 47.098 113.258215) + (xy 47.098 113.258216) + (xy 47.098 113.817781) + (xy 47.098 113.817793) + (xy 47.098001 113.820736) + (xy 47.098462 113.82365) + (xy 47.098463 113.823656) + (xy 47.105259 113.866564) + (xy 47.113429 113.918153) + (xy 47.116114 113.923423) + (xy 47.116115 113.923425) + (xy 47.163446 114.016318) + (xy 47.173254 114.035566) + (xy 47.266434 114.128746) + (xy 47.31516 114.153573) + (xy 47.374467 114.183792) + (xy 47.383847 114.188571) + (xy 47.389692 114.189496) + (xy 47.389693 114.189497) + (xy 47.400571 114.191219) + (xy 47.481263 114.204) + (xy 47.996736 114.203999) + (xy 48.094153 114.188571) + (xy 48.211566 114.128746) + (xy 48.304746 114.035566) + (xy 48.364571 113.918153) + (xy 48.38 113.820737) + (xy 48.379999 113.255264) + (xy 48.364571 113.157847) + (xy 48.304746 113.040434) + (xy 48.211566 112.947254) + (xy 48.211741 112.947078) + (xy 48.192196 112.924195) + (xy 48.184 112.890055) + (xy 48.184 112.3872) + (xy 48.194075 112.3496) + (xy 48.2216 112.322075) + (xy 48.2592 112.312) + (xy 48.301995 112.312) + (xy 48.304452 112.312) + (xy 48.354119 112.305461) + (xy 48.463107 112.25464) + (xy 48.463168 112.254771) + (xy 48.496879 112.242915) + (xy 48.536522 112.25125) + (xy 48.566089 112.278942) + (xy 48.577 112.317954) + (xy 48.577 112.492793) + (xy 48.576527 112.501212) + (xy 48.572919 112.533229) + (xy 48.572919 112.533233) + (xy 48.572289 112.538827) + (xy 48.573335 112.54436) + (xy 48.573336 112.544362) + (xy 48.582947 112.59516) + (xy 48.583418 112.597931) + (xy 48.591049 112.648561) + (xy 48.591967 112.654647) + (xy 48.594411 112.659722) + (xy 48.59511 112.661988) + (xy 48.595221 112.662435) + (xy 48.595394 112.662853) + (xy 48.596181 112.665102) + (xy 48.597228 112.670634) + (xy 48.599859 112.675612) + (xy 48.624022 112.721332) + (xy 48.625281 112.723825) + (xy 48.650171 112.775509) + (xy 48.654 112.779636) + (xy 48.65534 112.781601) + (xy 48.655575 112.781992) + (xy 48.655863 112.782339) + (xy 48.657278 112.784256) + (xy 48.65991 112.789235) + (xy 48.663893 112.793218) + (xy 48.663894 112.793219) + (xy 48.700458 112.829783) + (xy 48.702409 112.831808) + (xy 48.731364 112.863014) + (xy 48.741413 112.873844) + (xy 48.746291 112.87666) + (xy 48.748148 112.878141) + (xy 48.754435 112.88376) + (xy 48.764007 112.893332) + (xy 48.783471 112.927043) + (xy 48.783471 112.965969) + (xy 48.764008 112.999679) + (xy 48.723254 113.040434) + (xy 48.720567 113.045706) + (xy 48.720565 113.04571) + (xy 48.666115 113.152573) + (xy 48.666112 113.152579) + (xy 48.663429 113.157847) + (xy 48.662504 113.163686) + (xy 48.662502 113.163693) + (xy 48.651954 113.230298) + (xy 48.648 113.255263) + (xy 48.648 113.258215) + (xy 48.648 113.258216) + (xy 48.648 113.817781) + (xy 48.648 113.817793) + (xy 48.648001 113.820736) + (xy 48.648462 113.82365) + (xy 48.648463 113.823656) + (xy 48.655259 113.866564) + (xy 48.663429 113.918153) + (xy 48.666114 113.923423) + (xy 48.666115 113.923425) + (xy 48.713446 114.016318) + (xy 48.723254 114.035566) + (xy 48.816434 114.128746) + (xy 48.86516 114.153573) + (xy 48.924467 114.183792) + (xy 48.933847 114.188571) + (xy 48.939692 114.189496) + (xy 48.939693 114.189497) + (xy 48.950571 114.191219) + (xy 49.031263 114.204) + (xy 49.546736 114.203999) + (xy 49.644153 114.188571) + (xy 49.761566 114.128746) + (xy 49.854746 114.035566) + (xy 49.907135 113.932746) + (xy 51.6585 113.932746) + (xy 51.658962 113.938618) + (xy 51.672984 114.027151) + (xy 51.676597 114.038271) + (xy 51.730976 114.144994) + (xy 51.737851 114.154456) + (xy 51.822543 114.239148) + (xy 51.832005 114.246023) + (xy 51.938728 114.300402) + (xy 51.949848 114.304015) + (xy 52.038381 114.318037) + (xy 52.044254 114.3185) + (xy 52.187098 114.3185) + (xy 52.194907 114.316407) + (xy 52.197 114.308598) + (xy 52.451 114.308598) + (xy 52.453092 114.316407) + (xy 52.460902 114.3185) + (xy 52.603746 114.3185) + (xy 52.609618 114.318037) + (xy 52.698151 114.304015) + (xy 52.709271 114.300402) + (xy 52.815994 114.246023) + (xy 52.825456 114.239148) + (xy 52.910148 114.154456) + (xy 52.917023 114.144994) + (xy 52.971402 114.038271) + (xy 52.975015 114.027151) + (xy 52.989037 113.938618) + (xy 52.9895 113.932746) + (xy 53.3095 113.932746) + (xy 53.309962 113.938618) + (xy 53.323984 114.027151) + (xy 53.327597 114.038271) + (xy 53.381976 114.144994) + (xy 53.388851 114.154456) + (xy 53.473543 114.239148) + (xy 53.483005 114.246023) + (xy 53.589728 114.300402) + (xy 53.600848 114.304015) + (xy 53.689381 114.318037) + (xy 53.695254 114.3185) + (xy 53.838098 114.3185) + (xy 53.845907 114.316407) + (xy 53.848 114.308598) + (xy 54.102 114.308598) + (xy 54.104092 114.316407) + (xy 54.111902 114.3185) + (xy 54.254746 114.3185) + (xy 54.260618 114.318037) + (xy 54.349151 114.304015) + (xy 54.360271 114.300402) + (xy 54.466994 114.246023) + (xy 54.476456 114.239148) + (xy 54.561148 114.154456) + (xy 54.568023 114.144994) + (xy 54.622402 114.038271) + (xy 54.626015 114.027151) + (xy 54.640037 113.938618) + (xy 54.6405 113.932746) + (xy 54.6405 113.814902) + (xy 54.638407 113.807092) + (xy 54.630598 113.805) + (xy 54.111902 113.805) + (xy 54.104092 113.807092) + (xy 54.102 113.814902) + (xy 54.102 114.308598) + (xy 53.848 114.308598) + (xy 53.848 113.814902) + (xy 53.845907 113.807092) + (xy 53.838098 113.805) + (xy 53.319402 113.805) + (xy 53.311592 113.807092) + (xy 53.3095 113.814902) + (xy 53.3095 113.932746) + (xy 52.9895 113.932746) + (xy 52.9895 113.814902) + (xy 52.987407 113.807092) + (xy 52.979598 113.805) + (xy 52.460902 113.805) + (xy 52.453092 113.807092) + (xy 52.451 113.814902) + (xy 52.451 114.308598) + (xy 52.197 114.308598) + (xy 52.197 113.814902) + (xy 52.194907 113.807092) + (xy 52.187098 113.805) + (xy 51.668402 113.805) + (xy 51.660592 113.807092) + (xy 51.6585 113.814902) + (xy 51.6585 113.932746) + (xy 49.907135 113.932746) + (xy 49.914571 113.918153) + (xy 49.93 113.820737) + (xy 49.93 113.541098) + (xy 51.6585 113.541098) + (xy 51.660592 113.548907) + (xy 51.668402 113.551) + (xy 52.187098 113.551) + (xy 52.194907 113.548907) + (xy 52.197 113.541098) + (xy 52.451 113.541098) + (xy 52.453092 113.548907) + (xy 52.460902 113.551) + (xy 52.979598 113.551) + (xy 52.987407 113.548907) + (xy 52.9895 113.541098) + (xy 53.3095 113.541098) + (xy 53.311592 113.548907) + (xy 53.319402 113.551) + (xy 53.838098 113.551) + (xy 53.845907 113.548907) + (xy 53.848 113.541098) + (xy 54.102 113.541098) + (xy 54.104092 113.548907) + (xy 54.111902 113.551) + (xy 54.630598 113.551) + (xy 54.638407 113.548907) + (xy 54.6405 113.541098) + (xy 54.6405 113.423254) + (xy 54.640037 113.417381) + (xy 54.626015 113.328848) + (xy 54.622402 113.317728) + (xy 54.568023 113.211005) + (xy 54.561148 113.201543) + (xy 54.476456 113.116851) + (xy 54.466994 113.109976) + (xy 54.360271 113.055597) + (xy 54.349151 113.051984) + (xy 54.260618 113.037962) + (xy 54.254746 113.0375) + (xy 54.111902 113.0375) + (xy 54.104092 113.039592) + (xy 54.102 113.047402) + (xy 54.102 113.541098) + (xy 53.848 113.541098) + (xy 53.848 113.047402) + (xy 53.845907 113.039592) + (xy 53.838098 113.0375) + (xy 53.695254 113.0375) + (xy 53.689381 113.037962) + (xy 53.600848 113.051984) + (xy 53.589728 113.055597) + (xy 53.483005 113.109976) + (xy 53.473543 113.116851) + (xy 53.388851 113.201543) + (xy 53.381976 113.211005) + (xy 53.327597 113.317728) + (xy 53.323984 113.328848) + (xy 53.309962 113.417381) + (xy 53.3095 113.423254) + (xy 53.3095 113.541098) + (xy 52.9895 113.541098) + (xy 52.9895 113.423254) + (xy 52.989037 113.417381) + (xy 52.975015 113.328848) + (xy 52.971402 113.317728) + (xy 52.917023 113.211005) + (xy 52.910148 113.201543) + (xy 52.825456 113.116851) + (xy 52.815994 113.109976) + (xy 52.709271 113.055597) + (xy 52.698151 113.051984) + (xy 52.609618 113.037962) + (xy 52.603746 113.0375) + (xy 52.460902 113.0375) + (xy 52.453092 113.039592) + (xy 52.451 113.047402) + (xy 52.451 113.541098) + (xy 52.197 113.541098) + (xy 52.197 113.047402) + (xy 52.194907 113.039592) + (xy 52.187098 113.0375) + (xy 52.044254 113.0375) + (xy 52.038381 113.037962) + (xy 51.949848 113.051984) + (xy 51.938728 113.055597) + (xy 51.832005 113.109976) + (xy 51.822543 113.116851) + (xy 51.737851 113.201543) + (xy 51.730976 113.211005) + (xy 51.676597 113.317728) + (xy 51.672984 113.328848) + (xy 51.658962 113.417381) + (xy 51.6585 113.423254) + (xy 51.6585 113.541098) + (xy 49.93 113.541098) + (xy 49.929999 113.255264) + (xy 49.914571 113.157847) + (xy 49.854746 113.040434) + (xy 49.761566 112.947254) + (xy 49.761741 112.947078) + (xy 49.742196 112.924195) + (xy 49.734 112.890055) + (xy 49.734 112.818207) + (xy 49.734473 112.809788) + (xy 49.736741 112.78966) + (xy 49.738711 112.772173) + (xy 49.72805 112.71583) + (xy 49.727579 112.713056) + (xy 49.725533 112.699484) + (xy 49.719033 112.656353) + (xy 49.716585 112.651271) + (xy 49.71589 112.649017) + (xy 49.715778 112.648566) + (xy 49.715776 112.648561) + (xy 49.715598 112.64813) + (xy 49.714819 112.645905) + (xy 49.713772 112.640366) + (xy 49.711138 112.635382) + (xy 49.711137 112.635379) + (xy 49.686972 112.589656) + (xy 49.685704 112.587145) + (xy 49.682012 112.579478) + (xy 49.660829 112.535491) + (xy 49.656995 112.531359) + (xy 49.655661 112.529402) + (xy 49.655426 112.529012) + (xy 49.655132 112.528657) + (xy 49.653725 112.52675) + (xy 49.65109 112.521765) + (xy 49.61054 112.481215) + (xy 49.608589 112.47919) + (xy 49.57342 112.441287) + (xy 49.569587 112.437156) + (xy 49.564707 112.434338) + (xy 49.562852 112.432859) + (xy 49.556565 112.42724) + (xy 49.513467 112.384142) + (xy 49.491727 112.337522) + (xy 49.505041 112.287835) + (xy 49.547178 112.25833) + (xy 49.598422 112.262814) + (xy 49.684664 112.303029) + (xy 49.684667 112.30303) + (xy 49.689881 112.305461) + (xy 49.739548 112.312) + (xy 50.841995 112.312) + (xy 50.844452 112.312) + (xy 50.894119 112.305461) + (xy 50.899332 112.303029) + (xy 50.904856 112.30142) + (xy 50.905207 112.302625) + (xy 50.943069 112.297634) + (xy 50.983194 112.318519) + (xy 51.086682 112.422007) + (xy 51.092301 112.428294) + (xy 51.101978 112.440429) + (xy 51.115905 112.457892) + (xy 51.163311 112.490212) + (xy 51.165548 112.4918) + (xy 51.211717 112.525875) + (xy 51.217039 112.527736) + (xy 51.219128 112.528841) + (xy 51.219527 112.529081) + (xy 51.219526 112.529081) + (xy 51.219954 112.529258) + (xy 51.222084 112.530283) + (xy 51.226741 112.533459) + (xy 51.281536 112.55036) + (xy 51.284179 112.55123) + (xy 51.338335 112.570181) + (xy 51.343972 112.570391) + (xy 51.346294 112.570831) + (xy 51.346747 112.570943) + (xy 51.347211 112.570987) + (xy 51.34954 112.571338) + (xy 51.354927 112.573) + (xy 51.412276 112.573) + (xy 51.415088 112.573053) + (xy 51.472387 112.575197) + (xy 51.477832 112.573737) + (xy 51.480183 112.573473) + (xy 51.488603 112.573) + (xy 51.676055 112.573) + (xy 51.710195 112.581196) + (xy 51.733078 112.600741) + (xy 51.733254 112.600566) + (xy 51.826434 112.693746) + (xy 51.882955 112.722545) + (xy 51.93535 112.749242) + (xy 51.943847 112.753571) + (xy 51.949692 112.754496) + (xy 51.949693 112.754497) + (xy 51.960408 112.756194) + (xy 52.041263 112.769) + (xy 52.606736 112.768999) + (xy 52.704153 112.753571) + (xy 52.821566 112.693746) + (xy 52.914746 112.600566) + (xy 52.914921 112.600741) + (xy 52.937805 112.581196) + (xy 52.971945 112.573) + (xy 53.327055 112.573) + (xy 53.361195 112.581196) + (xy 53.384078 112.600741) + (xy 53.384254 112.600566) + (xy 53.477434 112.693746) + (xy 53.533955 112.722545) + (xy 53.58635 112.749242) + (xy 53.594847 112.753571) + (xy 53.600692 112.754496) + (xy 53.600693 112.754497) + (xy 53.611408 112.756194) + (xy 53.692263 112.769) + (xy 54.257736 112.768999) + (xy 54.355153 112.753571) + (xy 54.418692 112.721195) + (xy 54.452832 112.713) + (xy 56.169035 112.713) + (xy 56.171492 112.713) + (xy 56.283322 112.698277) + (xy 56.422468 112.640641) + (xy 56.541955 112.548955) + (xy 56.633641 112.429468) + (xy 56.691277 112.290322) + (xy 56.710936 112.141) + (xy 56.691277 111.991678) + (xy 56.640717 111.869616) + (xy 56.635525 111.85708) + (xy 56.635524 111.857079) + (xy 56.633641 111.852532) + (xy 56.541955 111.733045) + (xy 56.422468 111.641359) + (xy 56.417923 111.639476) + (xy 56.417919 111.639474) + (xy 56.292199 111.5874) + (xy 56.283322 111.583723) + (xy 56.278443 111.58308) + (xy 56.278441 111.58308) + (xy 56.173925 111.56932) + (xy 56.17392 111.569319) + (xy 56.171492 111.569) + (xy 56.169035 111.569) + (xy 54.50386 111.569) + (xy 54.46972 111.560804) + (xy 54.469282 111.560581) + (xy 54.44559 111.548509) + (xy 54.360426 111.505115) + (xy 54.360422 111.505113) + (xy 54.355153 111.502429) + (xy 54.349311 111.501503) + (xy 54.349306 111.501502) + (xy 54.260655 111.487462) + (xy 54.260652 111.487461) + (xy 54.257737 111.487) + (xy 54.254783 111.487) + (xy 53.695218 111.487) + (xy 53.695205 111.487) + (xy 53.692264 111.487001) + (xy 53.68935 111.487462) + (xy 53.689343 111.487463) + (xy 53.600692 111.501503) + (xy 53.60069 111.501503) + (xy 53.594847 111.502429) + (xy 53.589577 111.505113) + (xy 53.589574 111.505115) + (xy 53.48271 111.559565) + (xy 53.482706 111.559567) + (xy 53.477434 111.562254) + (xy 53.473247 111.56644) + (xy 53.473244 111.566443) + (xy 53.38844 111.651247) + (xy 53.388437 111.65125) + (xy 53.386486 111.653201) + (xy 53.38648 111.653207) + (xy 53.384254 111.655434) + (xy 53.384078 111.655258) + (xy 53.361195 111.674804) + (xy 53.327055 111.683) + (xy 52.971945 111.683) + (xy 52.937805 111.674804) + (xy 52.914921 111.655258) + (xy 52.914746 111.655434) + (xy 52.821566 111.562254) + (xy 52.805263 111.553947) + (xy 52.709426 111.505115) + (xy 52.709422 111.505113) + (xy 52.704153 111.502429) + (xy 52.698311 111.501503) + (xy 52.698306 111.501502) + (xy 52.609655 111.487462) + (xy 52.609652 111.487461) + (xy 52.606737 111.487) + (xy 52.603783 111.487) + (xy 52.044218 111.487) + (xy 52.044205 111.487) + (xy 52.041264 111.487001) + (xy 52.03835 111.487462) + (xy 52.038343 111.487463) + (xy 51.949692 111.501503) + (xy 51.94969 111.501503) + (xy 51.943847 111.502429) + (xy 51.938577 111.505113) + (xy 51.938574 111.505115) + (xy 51.83171 111.559565) + (xy 51.831706 111.559567) + (xy 51.826434 111.562254) + (xy 51.822247 111.56644) + (xy 51.822244 111.566443) + (xy 51.73744 111.651247) + (xy 51.737437 111.65125) + (xy 51.735486 111.653201) + (xy 51.73548 111.653207) + (xy 51.733254 111.655434) + (xy 51.733078 111.655258) + (xy 51.710195 111.674804) + (xy 51.676055 111.683) + (xy 51.637473 111.683) + (xy 51.608695 111.677276) + (xy 51.584299 111.660974) + (xy 51.450321 111.526996) + (xy 51.444701 111.520708) + (xy 51.424611 111.495516) + (xy 51.424608 111.495513) + (xy 51.421095 111.491108) + (xy 51.416438 111.487932) + (xy 51.416435 111.48793) + (xy 51.373731 111.458814) + (xy 51.37144 111.457188) + (xy 51.325285 111.423125) + (xy 51.326065 111.422068) + (xy 51.302598 111.399876) + (xy 51.291813 111.361066) + (xy 51.302604 111.322258) + (xy 51.331871 111.294589) + (xy 51.380369 111.268957) + (xy 51.382824 111.267718) + (xy 51.434509 111.242829) + (xy 51.438641 111.238993) + (xy 51.440594 111.237663) + (xy 51.440991 111.237423) + (xy 51.441355 111.237122) + (xy 51.443246 111.235726) + (xy 51.448235 111.23309) + (xy 51.488822 111.192501) + (xy 51.490766 111.190628) + (xy 51.532844 111.151587) + (xy 51.535664 111.146699) + (xy 51.537133 111.144859) + (xy 51.542746 111.138577) + (xy 51.5843 111.097024) + (xy 51.608697 111.080724) + (xy 51.637474 111.075) + (xy 51.676055 111.075) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 73.14491 46.420724) + (xy 73.169306 46.437026) + (xy 73.934995 47.202715) + (xy 73.939427 47.207551) + (xy 73.959872 47.231917) + (xy 73.96444 47.23736) + (xy 73.998134 47.256813) + (xy 74.00366 47.260334) + (xy 74.024605 47.275) + (xy 74.035534 47.282652) + (xy 74.041886 47.284353) + (xy 74.047852 47.287136) + (xy 74.047848 47.287144) + (xy 74.049678 47.287902) + (xy 74.049682 47.287893) + (xy 74.055861 47.290142) + (xy 74.06156 47.293432) + (xy 74.099882 47.300188) + (xy 74.106275 47.301606) + (xy 74.143857 47.311677) + (xy 74.18262 47.308286) + (xy 74.189174 47.308) + (xy 75.404169 47.308) + (xy 75.435408 47.314795) + (xy 75.461001 47.333954) + (xy 75.490982 47.368553) + (xy 75.495504 47.371459) + (xy 75.495505 47.37146) + (xy 75.57216 47.420724) + (xy 75.610919 47.445633) + (xy 75.747715 47.4858) + (xy 75.884904 47.4858) + (xy 75.890285 47.4858) + (xy 76.027081 47.445633) + (xy 76.147018 47.368553) + (xy 76.176999 47.333954) + (xy 76.202592 47.314795) + (xy 76.233831 47.308) + (xy 81.473731 47.308) + (xy 81.51551 47.320673) + (xy 81.543207 47.354422) + (xy 81.547486 47.397871) + (xy 81.526905 47.436374) + (xy 80.535306 48.427974) + (xy 80.51091 48.444276) + (xy 80.482132 48.45) + (xy 75.471831 48.45) + (xy 75.440592 48.443205) + (xy 75.414999 48.424046) + (xy 75.395132 48.401119) + (xy 75.385018 48.389447) + (xy 75.380496 48.386541) + (xy 75.380494 48.386539) + (xy 75.269602 48.315272) + (xy 75.269599 48.31527) + (xy 75.265081 48.312367) + (xy 75.259925 48.310853) + (xy 75.259923 48.310852) + (xy 75.133447 48.273715) + (xy 75.133442 48.273714) + (xy 75.128285 48.2722) + (xy 74.985715 48.2722) + (xy 74.980558 48.273714) + (xy 74.980552 48.273715) + (xy 74.854076 48.310852) + (xy 74.854071 48.310854) + (xy 74.848919 48.312367) + (xy 74.844403 48.315269) + (xy 74.844397 48.315272) + (xy 74.733505 48.386539) + (xy 74.733499 48.386543) + (xy 74.728982 48.389447) + (xy 74.725461 48.393509) + (xy 74.72546 48.393511) + (xy 74.63914 48.493128) + (xy 74.639136 48.493133) + (xy 74.635618 48.497194) + (xy 74.633385 48.502082) + (xy 74.633382 48.502088) + (xy 74.578626 48.621987) + (xy 74.578624 48.621993) + (xy 74.576392 48.626881) + (xy 74.575627 48.632195) + (xy 74.575626 48.632202) + (xy 74.558074 48.754284) + (xy 74.556102 48.768) + (xy 74.556867 48.773321) + (xy 74.575626 48.903797) + (xy 74.575627 48.903802) + (xy 74.576392 48.909119) + (xy 74.578624 48.914008) + (xy 74.578626 48.914012) + (xy 74.607794 48.97788) + (xy 74.613395 49.022471) + (xy 74.592565 49.062293) + (xy 74.552743 49.083124) + (xy 74.508152 49.077524) + (xy 74.507603 49.077273) + (xy 74.503081 49.074367) + (xy 74.497923 49.072852) + (xy 74.49792 49.072851) + (xy 74.371447 49.035715) + (xy 74.371442 49.035714) + (xy 74.366285 49.0342) + (xy 74.223715 49.0342) + (xy 74.218558 49.035714) + (xy 74.218552 49.035715) + (xy 74.092076 49.072852) + (xy 74.092071 49.072854) + (xy 74.086919 49.074367) + (xy 74.082403 49.077269) + (xy 74.082397 49.077272) + (xy 73.971505 49.148539) + (xy 73.971499 49.148543) + (xy 73.966982 49.151447) + (xy 73.963461 49.155509) + (xy 73.96346 49.155511) + (xy 73.87714 49.255128) + (xy 73.877136 49.255133) + (xy 73.873618 49.259194) + (xy 73.871385 49.264082) + (xy 73.871382 49.264088) + (xy 73.816626 49.383987) + (xy 73.816624 49.383993) + (xy 73.814392 49.388881) + (xy 73.813627 49.394195) + (xy 73.813626 49.394202) + (xy 73.794867 49.524679) + (xy 73.794102 49.53) + (xy 73.794867 49.535321) + (xy 73.813626 49.665797) + (xy 73.813627 49.665802) + (xy 73.814392 49.671119) + (xy 73.816624 49.676008) + (xy 73.816626 49.676012) + (xy 73.871382 49.795911) + (xy 73.871383 49.795913) + (xy 73.873618 49.800806) + (xy 73.877138 49.804869) + (xy 73.87714 49.804871) + (xy 73.901889 49.833432) + (xy 73.966982 49.908553) + (xy 73.971504 49.911459) + (xy 73.971505 49.91146) + (xy 74.040573 49.955848) + (xy 74.086919 49.985633) + (xy 74.223715 50.0258) + (xy 74.360904 50.0258) + (xy 74.366285 50.0258) + (xy 74.503081 49.985633) + (xy 74.623018 49.908553) + (xy 74.652999 49.873954) + (xy 74.678592 49.854795) + (xy 74.709831 49.848) + (xy 80.75483 49.848) + (xy 80.761383 49.848285) + (xy 80.800143 49.851677) + (xy 80.837728 49.841605) + (xy 80.844121 49.840187) + (xy 80.88244 49.833432) + (xy 80.88814 49.83014) + (xy 80.894321 49.827891) + (xy 80.894324 49.827901) + (xy 80.896151 49.827145) + (xy 80.896147 49.827136) + (xy 80.90211 49.824354) + (xy 80.908466 49.822652) + (xy 80.94036 49.800319) + (xy 80.945853 49.79682) + (xy 80.97956 49.77736) + (xy 81.004583 49.747537) + (xy 81.008994 49.742724) + (xy 84.230722 46.520997) + (xy 84.274523 46.499558) + (xy 84.322266 46.509498) + (xy 84.353873 46.546637) + (xy 84.355971 46.593612) + (xy 84.355392 46.594881) + (xy 84.354628 46.600192) + (xy 84.354627 46.600197) + (xy 84.337836 46.716987) + (xy 84.335102 46.736) + (xy 84.335867 46.741321) + (xy 84.354626 46.871797) + (xy 84.354627 46.871802) + (xy 84.355392 46.877119) + (xy 84.357624 46.882008) + (xy 84.357626 46.882012) + (xy 84.412382 47.001911) + (xy 84.412383 47.001913) + (xy 84.414618 47.006806) + (xy 84.418138 47.010869) + (xy 84.41814 47.010871) + (xy 84.473322 47.074554) + (xy 84.490925 47.113098) + (xy 84.484894 47.155039) + (xy 84.457146 47.187062) + (xy 84.41649 47.199) + (xy 84.072174 47.199) + (xy 84.065621 47.198714) + (xy 84.03341 47.195896) + (xy 84.033408 47.195896) + (xy 84.026857 47.195323) + (xy 84.020507 47.197024) + (xy 84.020499 47.197025) + (xy 83.989266 47.205394) + (xy 83.982865 47.206813) + (xy 83.951037 47.212425) + (xy 83.951032 47.212426) + (xy 83.94456 47.213568) + (xy 83.938866 47.216854) + (xy 83.932681 47.219106) + (xy 83.932678 47.219099) + (xy 83.930842 47.21986) + (xy 83.930846 47.219867) + (xy 83.924888 47.222644) + (xy 83.918534 47.224348) + (xy 83.913147 47.228119) + (xy 83.913142 47.228122) + (xy 83.886655 47.246667) + (xy 83.881128 47.250189) + (xy 83.853133 47.266352) + (xy 83.853129 47.266355) + (xy 83.84744 47.26964) + (xy 83.843215 47.274673) + (xy 83.843211 47.274678) + (xy 83.822421 47.299454) + (xy 83.81799 47.304288) + (xy 82.210288 48.91199) + (xy 82.205454 48.916421) + (xy 82.180678 48.937211) + (xy 82.180673 48.937215) + (xy 82.17564 48.94144) + (xy 82.172355 48.947129) + (xy 82.172352 48.947133) + (xy 82.156189 48.975128) + (xy 82.152667 48.980655) + (xy 82.134122 49.007142) + (xy 82.134119 49.007147) + (xy 82.130348 49.012534) + (xy 82.128644 49.018888) + (xy 82.125867 49.024846) + (xy 82.12586 49.024842) + (xy 82.125099 49.026678) + (xy 82.125106 49.026681) + (xy 82.122854 49.032866) + (xy 82.119568 49.03856) + (xy 82.118426 49.045032) + (xy 82.118425 49.045037) + (xy 82.112813 49.076865) + (xy 82.111394 49.083266) + (xy 82.103025 49.114499) + (xy 82.103024 49.114507) + (xy 82.101323 49.120857) + (xy 82.101896 49.127408) + (xy 82.101896 49.12741) + (xy 82.104714 49.159616) + (xy 82.105 49.16617) + (xy 82.105 51.145132) + (xy 82.099276 51.17391) + (xy 82.082974 51.198306) + (xy 80.075374 53.205905) + (xy 80.036871 53.226486) + (xy 79.993422 53.222207) + (xy 79.959673 53.19451) + (xy 79.947 53.152731) + (xy 79.947 51.218163) + (xy 79.951741 51.191883) + (xy 79.965368 51.168917) + (xy 80.02483 51.100294) + (xy 80.050382 51.070806) + (xy 80.109608 50.941119) + (xy 80.127981 50.813332) + (xy 80.129133 50.805321) + (xy 80.129898 50.8) + (xy 80.109608 50.658881) + (xy 80.050382 50.529194) + (xy 79.957018 50.421447) + (xy 79.952496 50.418541) + (xy 79.952494 50.418539) + (xy 79.841602 50.347272) + (xy 79.841599 50.34727) + (xy 79.837081 50.344367) + (xy 79.831925 50.342853) + (xy 79.831923 50.342852) + (xy 79.705447 50.305715) + (xy 79.705442 50.305714) + (xy 79.700285 50.3042) + (xy 79.557715 50.3042) + (xy 79.552558 50.305714) + (xy 79.552552 50.305715) + (xy 79.426076 50.342852) + (xy 79.426071 50.342854) + (xy 79.420919 50.344367) + (xy 79.416403 50.347269) + (xy 79.416397 50.347272) + (xy 79.305505 50.418539) + (xy 79.305499 50.418543) + (xy 79.300982 50.421447) + (xy 79.297461 50.425509) + (xy 79.29746 50.425511) + (xy 79.21114 50.525128) + (xy 79.211136 50.525133) + (xy 79.207618 50.529194) + (xy 79.205385 50.534082) + (xy 79.205382 50.534088) + (xy 79.150626 50.653987) + (xy 79.150624 50.653993) + (xy 79.148392 50.658881) + (xy 79.147627 50.664195) + (xy 79.147626 50.664202) + (xy 79.132001 50.772884) + (xy 79.128102 50.8) + (xy 79.128867 50.805321) + (xy 79.135765 50.853298) + (xy 79.129734 50.895239) + (xy 79.101986 50.927262) + (xy 79.06133 50.9392) + (xy 78.92667 50.9392) + (xy 78.886014 50.927262) + (xy 78.858266 50.895239) + (xy 78.852235 50.853298) + (xy 78.859133 50.805321) + (xy 78.859898 50.8) + (xy 78.839608 50.658881) + (xy 78.780382 50.529194) + (xy 78.687018 50.421447) + (xy 78.682496 50.418541) + (xy 78.682494 50.418539) + (xy 78.571602 50.347272) + (xy 78.571599 50.34727) + (xy 78.567081 50.344367) + (xy 78.561925 50.342853) + (xy 78.561923 50.342852) + (xy 78.435447 50.305715) + (xy 78.435442 50.305714) + (xy 78.430285 50.3042) + (xy 78.287715 50.3042) + (xy 78.282558 50.305714) + (xy 78.282552 50.305715) + (xy 78.156076 50.342852) + (xy 78.156071 50.342854) + (xy 78.150919 50.344367) + (xy 78.146403 50.347269) + (xy 78.146397 50.347272) + (xy 78.035505 50.418539) + (xy 78.035499 50.418543) + (xy 78.030982 50.421447) + (xy 78.027461 50.425509) + (xy 78.02746 50.425511) + (xy 77.94114 50.525128) + (xy 77.941136 50.525133) + (xy 77.937618 50.529194) + (xy 77.935385 50.534082) + (xy 77.935382 50.534088) + (xy 77.880626 50.653987) + (xy 77.880624 50.653993) + (xy 77.878392 50.658881) + (xy 77.877627 50.664195) + (xy 77.877626 50.664202) + (xy 77.862001 50.772884) + (xy 77.858102 50.8) + (xy 77.858867 50.805321) + (xy 77.865765 50.853298) + (xy 77.859734 50.895239) + (xy 77.831986 50.927262) + (xy 77.79133 50.9392) + (xy 77.65667 50.9392) + (xy 77.616014 50.927262) + (xy 77.588266 50.895239) + (xy 77.582235 50.853298) + (xy 77.589133 50.805321) + (xy 77.589898 50.8) + (xy 77.569608 50.658881) + (xy 77.510382 50.529194) + (xy 77.417018 50.421447) + (xy 77.412496 50.418541) + (xy 77.412494 50.418539) + (xy 77.301602 50.347272) + (xy 77.301599 50.34727) + (xy 77.297081 50.344367) + (xy 77.291925 50.342853) + (xy 77.291923 50.342852) + (xy 77.165447 50.305715) + (xy 77.165442 50.305714) + (xy 77.160285 50.3042) + (xy 77.017715 50.3042) + (xy 77.012558 50.305714) + (xy 77.012552 50.305715) + (xy 76.886076 50.342852) + (xy 76.886071 50.342854) + (xy 76.880919 50.344367) + (xy 76.876403 50.347269) + (xy 76.876397 50.347272) + (xy 76.765505 50.418539) + (xy 76.765499 50.418543) + (xy 76.760982 50.421447) + (xy 76.757461 50.425509) + (xy 76.75746 50.425511) + (xy 76.67114 50.525128) + (xy 76.671136 50.525133) + (xy 76.667618 50.529194) + (xy 76.665385 50.534082) + (xy 76.665382 50.534088) + (xy 76.610626 50.653987) + (xy 76.610624 50.653993) + (xy 76.608392 50.658881) + (xy 76.607627 50.664195) + (xy 76.607626 50.664202) + (xy 76.592001 50.772884) + (xy 76.588102 50.8) + (xy 76.588867 50.805321) + (xy 76.595765 50.853298) + (xy 76.589734 50.895239) + (xy 76.561986 50.927262) + (xy 76.52133 50.9392) + (xy 76.38667 50.9392) + (xy 76.346014 50.927262) + (xy 76.318266 50.895239) + (xy 76.312235 50.853298) + (xy 76.319133 50.805321) + (xy 76.319898 50.8) + (xy 76.299608 50.658881) + (xy 76.240382 50.529194) + (xy 76.147018 50.421447) + (xy 76.142496 50.418541) + (xy 76.142494 50.418539) + (xy 76.031602 50.347272) + (xy 76.031599 50.34727) + (xy 76.027081 50.344367) + (xy 76.021925 50.342853) + (xy 76.021923 50.342852) + (xy 75.895447 50.305715) + (xy 75.895442 50.305714) + (xy 75.890285 50.3042) + (xy 75.747715 50.3042) + (xy 75.742558 50.305714) + (xy 75.742552 50.305715) + (xy 75.616076 50.342852) + (xy 75.616071 50.342854) + (xy 75.610919 50.344367) + (xy 75.606403 50.347269) + (xy 75.606397 50.347272) + (xy 75.495505 50.418539) + (xy 75.495499 50.418543) + (xy 75.490982 50.421447) + (xy 75.487461 50.425509) + (xy 75.48746 50.425511) + (xy 75.40114 50.525128) + (xy 75.401136 50.525133) + (xy 75.397618 50.529194) + (xy 75.395385 50.534082) + (xy 75.395382 50.534088) + (xy 75.340626 50.653987) + (xy 75.340624 50.653993) + (xy 75.338392 50.658881) + (xy 75.337627 50.664195) + (xy 75.337626 50.664202) + (xy 75.322001 50.772884) + (xy 75.318102 50.8) + (xy 75.318867 50.805321) + (xy 75.330712 50.887705) + (xy 75.321402 50.936007) + (xy 75.284226 50.96822) + (xy 75.235091 50.970561) + (xy 75.133447 50.940715) + (xy 75.133442 50.940714) + (xy 75.128285 50.9392) + (xy 74.985715 50.9392) + (xy 74.980558 50.940714) + (xy 74.980552 50.940715) + (xy 74.854076 50.977852) + (xy 74.854071 50.977854) + (xy 74.848919 50.979367) + (xy 74.844403 50.982269) + (xy 74.844397 50.982272) + (xy 74.733505 51.053539) + (xy 74.733499 51.053543) + (xy 74.728982 51.056447) + (xy 74.725461 51.060509) + (xy 74.72546 51.060511) + (xy 74.63914 51.160128) + (xy 74.639136 51.160133) + (xy 74.635618 51.164194) + (xy 74.633385 51.169082) + (xy 74.633382 51.169088) + (xy 74.578626 51.288987) + (xy 74.578624 51.288993) + (xy 74.576392 51.293881) + (xy 74.575627 51.299195) + (xy 74.575626 51.299202) + (xy 74.563274 51.385115) + (xy 74.556102 51.435) + (xy 74.556867 51.440321) + (xy 74.575626 51.570797) + (xy 74.575627 51.570802) + (xy 74.576392 51.576119) + (xy 74.578624 51.581008) + (xy 74.578626 51.581012) + (xy 74.633382 51.700911) + (xy 74.633383 51.700913) + (xy 74.635618 51.705806) + (xy 74.639138 51.709869) + (xy 74.63914 51.709871) + (xy 74.720632 51.803917) + (xy 74.734259 51.826883) + (xy 74.739 51.853163) + (xy 74.739 52.415132) + (xy 74.733276 52.44391) + (xy 74.716974 52.468306) + (xy 72.915306 54.269974) + (xy 72.89091 54.286276) + (xy 72.862132 54.292) + (xy 67.45417 54.292) + (xy 67.447616 54.291714) + (xy 67.41541 54.288896) + (xy 67.415408 54.288896) + (xy 67.408857 54.288323) + (xy 67.402507 54.290024) + (xy 67.402499 54.290025) + (xy 67.371266 54.298394) + (xy 67.364865 54.299813) + (xy 67.333037 54.305425) + (xy 67.333032 54.305426) + (xy 67.32656 54.306568) + (xy 67.320866 54.309854) + (xy 67.314681 54.312106) + (xy 67.314678 54.312099) + (xy 67.312842 54.31286) + (xy 67.312846 54.312867) + (xy 67.306888 54.315644) + (xy 67.300534 54.317348) + (xy 67.295147 54.321119) + (xy 67.295142 54.321122) + (xy 67.268655 54.339667) + (xy 67.263128 54.343189) + (xy 67.235133 54.359352) + (xy 67.235129 54.359355) + (xy 67.22944 54.36264) + (xy 67.225215 54.367673) + (xy 67.225211 54.367678) + (xy 67.204421 54.392454) + (xy 67.19999 54.397288) + (xy 66.359374 55.237905) + (xy 66.320871 55.258486) + (xy 66.277422 55.254207) + (xy 66.243673 55.22651) + (xy 66.231 55.184731) + (xy 66.231 52.994868) + (xy 66.236724 52.96609) + (xy 66.253023 52.941696) + (xy 67.129729 52.064988) + (xy 67.134531 52.060588) + (xy 67.16436 52.03556) + (xy 67.183813 52.001865) + (xy 67.18734 51.996328) + (xy 67.209651 51.964466) + (xy 67.211354 51.958109) + (xy 67.214134 51.952148) + (xy 67.214144 51.952152) + (xy 67.214901 51.950324) + (xy 67.214891 51.950321) + (xy 67.21714 51.94414) + (xy 67.220432 51.93844) + (xy 67.227189 51.900112) + (xy 67.228605 51.893724) + (xy 67.238677 51.856143) + (xy 67.235285 51.817383) + (xy 67.235 51.81083) + (xy 67.235 51.726163) + (xy 67.239741 51.699883) + (xy 67.253368 51.676917) + (xy 67.31067 51.610787) + (xy 67.338382 51.578806) + (xy 67.397608 51.449119) + (xy 67.417898 51.308) + (xy 67.397608 51.166881) + (xy 67.341689 51.044437) + (xy 67.337014 50.99547) + (xy 67.363608 50.954088) + (xy 67.410092 50.937999) + (xy 67.518196 50.937999) + (xy 67.595788 50.922566) + (xy 67.625222 50.902898) + (xy 67.667 50.890225) + (xy 67.708777 50.902898) + (xy 67.738212 50.922566) + (xy 67.815803 50.938) + (xy 68.018196 50.937999) + (xy 68.018196 50.938131) + (xy 68.05706 50.945202) + (xy 68.08766 50.972936) + (xy 68.099 51.012647) + (xy 68.099 51.38183) + (xy 68.098714 51.388384) + (xy 68.096652 51.411957) + (xy 68.095323 51.427143) + (xy 68.097024 51.433493) + (xy 68.097025 51.433498) + (xy 68.105394 51.464731) + (xy 68.106813 51.471133) + (xy 68.112425 51.502961) + (xy 68.112426 51.502963) + (xy 68.113568 51.50944) + (xy 68.116856 51.515136) + (xy 68.119107 51.521319) + (xy 68.119098 51.521321) + (xy 68.119857 51.523153) + (xy 68.119865 51.52315) + (xy 68.122644 51.529111) + (xy 68.124348 51.535466) + (xy 68.131027 51.545005) + (xy 68.146662 51.567335) + (xy 68.150185 51.572866) + (xy 68.166348 51.600861) + (xy 68.166353 51.600867) + (xy 68.16964 51.60656) + (xy 68.174678 51.610787) + (xy 68.199448 51.631572) + (xy 68.204284 51.636004) + (xy 68.850995 52.282715) + (xy 68.855427 52.287551) + (xy 68.88044 52.31736) + (xy 68.914144 52.336819) + (xy 68.919646 52.340323) + (xy 68.951534 52.362651) + (xy 68.95789 52.364354) + (xy 68.963852 52.367134) + (xy 68.963847 52.367143) + (xy 68.965675 52.3679) + (xy 68.965679 52.367892) + (xy 68.971862 52.370142) + (xy 68.97756 52.373432) + (xy 69.015885 52.380189) + (xy 69.02227 52.381604) + (xy 69.059857 52.391677) + (xy 69.098616 52.388285) + (xy 69.10517 52.388) + (xy 71.48383 52.388) + (xy 71.490383 52.388285) + (xy 71.529143 52.391677) + (xy 71.566728 52.381605) + (xy 71.573121 52.380187) + (xy 71.61144 52.373432) + (xy 71.61714 52.37014) + (xy 71.623321 52.367891) + (xy 71.623324 52.367901) + (xy 71.625151 52.367145) + (xy 71.625147 52.367136) + (xy 71.63111 52.364354) + (xy 71.637466 52.362652) + (xy 71.66936 52.340319) + (xy 71.674853 52.33682) + (xy 71.70856 52.31736) + (xy 71.733583 52.287537) + (xy 71.737994 52.282724) + (xy 72.856724 51.163994) + (xy 72.861537 51.159583) + (xy 72.89136 51.13456) + (xy 72.91082 51.100853) + (xy 72.914319 51.09536) + (xy 72.936652 51.063466) + (xy 72.938354 51.05711) + (xy 72.941136 51.051147) + (xy 72.941145 51.051151) + (xy 72.941901 51.049324) + (xy 72.941891 51.049321) + (xy 72.94414 51.04314) + (xy 72.947432 51.03744) + (xy 72.954187 50.999121) + (xy 72.955605 50.992728) + (xy 72.965677 50.955143) + (xy 72.962285 50.916383) + (xy 72.962 50.90983) + (xy 72.962 48.422869) + (xy 72.967724 48.394091) + (xy 72.984025 48.369695) + (xy 73.01212 48.3416) + (xy 73.11073 48.242988) + (xy 73.115543 48.238578) + (xy 73.14536 48.21356) + (xy 73.16482 48.179853) + (xy 73.168319 48.17436) + (xy 73.190652 48.142466) + (xy 73.192354 48.13611) + (xy 73.195136 48.130147) + (xy 73.195145 48.130151) + (xy 73.195901 48.128324) + (xy 73.195891 48.128321) + (xy 73.19814 48.12214) + (xy 73.201432 48.11644) + (xy 73.208187 48.078121) + (xy 73.209605 48.071728) + (xy 73.219677 48.034143) + (xy 73.216285 47.995383) + (xy 73.216 47.98883) + (xy 73.216 47.789163) + (xy 73.220741 47.762883) + (xy 73.234368 47.739917) + (xy 73.262133 47.707874) + (xy 73.319382 47.641806) + (xy 73.378608 47.512119) + (xy 73.398898 47.371) + (xy 73.395787 47.349366) + (xy 73.383043 47.260729) + (xy 73.378608 47.229881) + (xy 73.319382 47.100194) + (xy 73.226018 46.992447) + (xy 73.221496 46.989541) + (xy 73.221494 46.989539) + (xy 73.110602 46.918272) + (xy 73.110599 46.91827) + (xy 73.106081 46.915367) + (xy 73.100925 46.913853) + (xy 73.100923 46.913852) + (xy 72.974447 46.876715) + (xy 72.974442 46.876714) + (xy 72.969285 46.8752) + (xy 72.826715 46.8752) + (xy 72.821558 46.876714) + (xy 72.821552 46.876715) + (xy 72.72954 46.903733) + (xy 72.687168 46.903733) + (xy 72.651522 46.880825) + (xy 72.633919 46.842281) + (xy 72.624223 46.774847) + (xy 72.616608 46.721881) + (xy 72.557382 46.592194) + (xy 72.536801 46.568443) + (xy 72.530842 46.561565) + (xy 72.511674 46.539445) + (xy 72.494072 46.500902) + (xy 72.500103 46.458961) + (xy 72.527851 46.426938) + (xy 72.568507 46.415) + (xy 73.116132 46.415) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 86.36291 88.442724) + (xy 86.387306 88.459026) + (xy 87.709692 89.781412) + (xy 87.730904 89.823551) + (xy 87.72284 89.870033) + (xy 87.710327 89.893443) + (xy 87.710322 89.893454) + (xy 87.708588 89.896699) + (xy 87.707519 89.900222) + (xy 87.707516 89.90023) + (xy 87.650133 90.089396) + (xy 87.649062 90.092928) + (xy 87.6487 90.096596) + (xy 87.6487 90.0966) + (xy 87.629604 90.290488) + (xy 87.628963 90.297) + (xy 87.629325 90.300675) + (xy 87.629325 90.300676) + (xy 87.647585 90.486082) + (xy 87.649062 90.501072) + (xy 87.650132 90.504601) + (xy 87.650133 90.504603) + (xy 87.707516 90.693769) + (xy 87.707518 90.693774) + (xy 87.708588 90.697301) + (xy 87.805252 90.878147) + (xy 87.807596 90.881003) + (xy 87.807598 90.881006) + (xy 87.932545 91.033254) + (xy 87.93534 91.03666) + (xy 87.938195 91.039003) + (xy 88.075542 91.151721) + (xy 88.093853 91.166748) + (xy 88.274699 91.263412) + (xy 88.470928 91.322938) + (xy 88.675 91.343037) + (xy 88.879072 91.322938) + (xy 89.075301 91.263412) + (xy 89.101962 91.24916) + (xy 89.148445 91.241094) + (xy 89.190586 91.262306) + (xy 89.707995 91.779715) + (xy 89.712427 91.784551) + (xy 89.732774 91.8088) + (xy 89.73744 91.81436) + (xy 89.771134 91.833813) + (xy 89.776658 91.837332) + (xy 89.777364 91.837827) + (xy 89.797605 91.852) + (xy 89.808534 91.859652) + (xy 89.814886 91.861353) + (xy 89.820852 91.864136) + (xy 89.820848 91.864144) + (xy 89.822678 91.864902) + (xy 89.822682 91.864893) + (xy 89.828861 91.867142) + (xy 89.83456 91.870432) + (xy 89.872882 91.877188) + (xy 89.879275 91.878606) + (xy 89.916857 91.888677) + (xy 89.955616 91.885285) + (xy 89.96217 91.885) + (xy 90.525533 91.885) + (xy 90.564457 91.895857) + (xy 90.592141 91.925295) + (xy 90.600591 91.964811) + (xy 90.587368 92.002996) + (xy 90.577742 92.016903) + (xy 90.581787 92.024182) + (xy 91.207999 92.650394) + (xy 91.215 92.654436) + (xy 91.222 92.650394) + (xy 91.848211 92.024182) + (xy 91.852256 92.016903) + (xy 91.842631 92.002996) + (xy 91.829408 91.964811) + (xy 91.837858 91.925295) + (xy 91.865542 91.895857) + (xy 91.904466 91.885) + (xy 93.260036 91.885) + (xy 93.306301 91.900916) + (xy 93.332982 91.941928) + (xy 93.328785 91.990674) + (xy 93.295485 92.02652) + (xy 93.197238 92.079034) + (xy 93.197233 92.079036) + (xy 93.19398 92.080776) + (xy 93.191127 92.083117) + (xy 93.191123 92.08312) + (xy 93.051722 92.197523) + (xy 93.051716 92.197528) + (xy 93.048867 92.199867) + (xy 93.046528 92.202716) + (xy 93.046523 92.202722) + (xy 92.93212 92.342123) + (xy 92.932117 92.342127) + (xy 92.929776 92.34498) + (xy 92.928036 92.348233) + (xy 92.928034 92.348238) + (xy 92.843023 92.50728) + (xy 92.843018 92.507292) + (xy 92.841283 92.510538) + (xy 92.840212 92.514066) + (xy 92.840212 92.514068) + (xy 92.788598 92.684216) + (xy 92.786789 92.690179) + (xy 92.786427 92.693847) + (xy 92.786427 92.693851) + (xy 92.771639 92.844) + (xy 92.768389 92.877) + (xy 92.768751 92.880676) + (xy 92.786099 93.056821) + (xy 92.786789 93.063821) + (xy 92.787859 93.06735) + (xy 92.78786 93.067352) + (xy 92.803099 93.117587) + (xy 92.841283 93.243462) + (xy 92.843019 93.246711) + (xy 92.843023 93.246719) + (xy 92.921651 93.39382) + (xy 92.929776 93.40902) + (xy 92.968327 93.455994) + (xy 93.045596 93.550148) + (xy 93.048867 93.554133) + (xy 93.19398 93.673224) + (xy 93.259956 93.708489) + (xy 93.35628 93.759976) + (xy 93.356283 93.759977) + (xy 93.359538 93.761717) + (xy 93.539179 93.816211) + (xy 93.709781 93.833013) + (xy 93.714912 93.833519) + (xy 93.726 93.834611) + (xy 93.737088 93.833519) + (xy 93.740679 93.833165) + (xy 93.912821 93.816211) + (xy 94.092462 93.761717) + (xy 94.25802 93.673224) + (xy 94.403133 93.554133) + (xy 94.522224 93.40902) + (xy 94.610717 93.243462) + (xy 94.665211 93.063821) + (xy 94.683611 92.877) + (xy 94.665211 92.690179) + (xy 94.610717 92.510538) + (xy 94.608862 92.507068) + (xy 94.564996 92.425) + (xy 94.522224 92.34498) + (xy 94.403133 92.199867) + (xy 94.394603 92.192867) + (xy 94.271963 92.092219) + (xy 94.25802 92.080776) + (xy 94.237375 92.069741) + (xy 94.156515 92.02652) + (xy 94.123215 91.990674) + (xy 94.119018 91.941928) + (xy 94.145699 91.900916) + (xy 94.191964 91.885) + (xy 95.760036 91.885) + (xy 95.806301 91.900916) + (xy 95.832982 91.941928) + (xy 95.828785 91.990674) + (xy 95.795485 92.02652) + (xy 95.697238 92.079034) + (xy 95.697233 92.079036) + (xy 95.69398 92.080776) + (xy 95.691127 92.083117) + (xy 95.691123 92.08312) + (xy 95.551722 92.197523) + (xy 95.551716 92.197528) + (xy 95.548867 92.199867) + (xy 95.546528 92.202716) + (xy 95.546523 92.202722) + (xy 95.43212 92.342123) + (xy 95.432117 92.342127) + (xy 95.429776 92.34498) + (xy 95.428036 92.348233) + (xy 95.428034 92.348238) + (xy 95.343023 92.50728) + (xy 95.343018 92.507292) + (xy 95.341283 92.510538) + (xy 95.340212 92.514066) + (xy 95.340212 92.514068) + (xy 95.288598 92.684216) + (xy 95.286789 92.690179) + (xy 95.286427 92.693847) + (xy 95.286427 92.693851) + (xy 95.271639 92.844) + (xy 95.268389 92.877) + (xy 95.268751 92.880676) + (xy 95.286099 93.056821) + (xy 95.286789 93.063821) + (xy 95.287859 93.06735) + (xy 95.28786 93.067352) + (xy 95.303099 93.117587) + (xy 95.341283 93.243462) + (xy 95.343019 93.246711) + (xy 95.343023 93.246719) + (xy 95.421651 93.39382) + (xy 95.429776 93.40902) + (xy 95.468327 93.455994) + (xy 95.545596 93.550148) + (xy 95.548867 93.554133) + (xy 95.69398 93.673224) + (xy 95.759956 93.708489) + (xy 95.85628 93.759976) + (xy 95.856283 93.759977) + (xy 95.859538 93.761717) + (xy 96.039179 93.816211) + (xy 96.209781 93.833013) + (xy 96.214912 93.833519) + (xy 96.226 93.834611) + (xy 96.237088 93.833519) + (xy 96.240679 93.833165) + (xy 96.412821 93.816211) + (xy 96.592462 93.761717) + (xy 96.75802 93.673224) + (xy 96.903133 93.554133) + (xy 97.022224 93.40902) + (xy 97.068625 93.322211) + (xy 97.07648 93.307515) + (xy 97.112326 93.274215) + (xy 97.161072 93.270018) + (xy 97.202084 93.296699) + (xy 97.218 93.342964) + (xy 97.218 94.08283) + (xy 97.217714 94.089384) + (xy 97.214973 94.120715) + (xy 97.214323 94.128143) + (xy 97.216024 94.134493) + (xy 97.216025 94.134498) + (xy 97.224394 94.165731) + (xy 97.225813 94.172133) + (xy 97.231425 94.203961) + (xy 97.231426 94.203963) + (xy 97.232568 94.21044) + (xy 97.235856 94.216136) + (xy 97.238107 94.222319) + (xy 97.238098 94.222321) + (xy 97.238857 94.224153) + (xy 97.238865 94.22415) + (xy 97.241644 94.230111) + (xy 97.243348 94.236466) + (xy 97.256736 94.255587) + (xy 97.265662 94.268335) + (xy 97.269185 94.273866) + (xy 97.285348 94.301861) + (xy 97.285353 94.301867) + (xy 97.28864 94.30756) + (xy 97.316585 94.331009) + (xy 97.318448 94.332572) + (xy 97.323284 94.337004) + (xy 97.906103 94.919823) + (xy 97.926684 94.958325) + (xy 97.922445 95.001363) + (xy 97.921283 95.003538) + (xy 97.920213 95.007064) + (xy 97.920213 95.007065) + (xy 97.868426 95.177783) + (xy 97.866789 95.183179) + (xy 97.866427 95.186847) + (xy 97.866427 95.186851) + (xy 97.849396 95.359771) + (xy 97.848389 95.37) + (xy 97.848751 95.373676) + (xy 97.865652 95.545284) + (xy 97.866789 95.556821) + (xy 97.867859 95.56035) + (xy 97.86786 95.560352) + (xy 97.920211 95.732931) + (xy 97.921283 95.736462) + (xy 97.922446 95.738638) + (xy 97.926682 95.781676) + (xy 97.906102 95.820176) + (xy 97.323288 96.40299) + (xy 97.318454 96.407421) + (xy 97.293678 96.428211) + (xy 97.293673 96.428215) + (xy 97.28864 96.43244) + (xy 97.285355 96.438129) + (xy 97.285352 96.438133) + (xy 97.269189 96.466128) + (xy 97.265667 96.471655) + (xy 97.247122 96.498142) + (xy 97.247119 96.498147) + (xy 97.243348 96.503534) + (xy 97.241644 96.509888) + (xy 97.238867 96.515846) + (xy 97.23886 96.515842) + (xy 97.238099 96.517678) + (xy 97.238106 96.517681) + (xy 97.235854 96.523866) + (xy 97.232568 96.52956) + (xy 97.231426 96.536032) + (xy 97.231425 96.536037) + (xy 97.225813 96.567865) + (xy 97.224394 96.574266) + (xy 97.216025 96.605499) + (xy 97.216024 96.605507) + (xy 97.214323 96.611857) + (xy 97.214896 96.618408) + (xy 97.214896 96.61841) + (xy 97.217714 96.650616) + (xy 97.218 96.65717) + (xy 97.218 97.411036) + (xy 97.202084 97.457301) + (xy 97.161072 97.483982) + (xy 97.112326 97.479785) + (xy 97.07648 97.446485) + (xy 97.047883 97.392984) + (xy 97.022224 97.34498) + (xy 96.903133 97.199867) + (xy 96.894603 97.192867) + (xy 96.816818 97.12903) + (xy 96.75802 97.080776) + (xy 96.754761 97.079034) + (xy 96.595719 96.994023) + (xy 96.595711 96.994019) + (xy 96.592462 96.992283) + (xy 96.490662 96.961402) + (xy 96.416352 96.93886) + (xy 96.41635 96.938859) + (xy 96.412821 96.937789) + (xy 96.40915 96.937427) + (xy 96.409148 96.937427) + (xy 96.229676 96.919751) + (xy 96.226 96.919389) + (xy 96.222324 96.919751) + (xy 96.042851 96.937427) + (xy 96.042847 96.937427) + (xy 96.039179 96.937789) + (xy 96.035651 96.938859) + (xy 96.035647 96.93886) + (xy 95.863068 96.991212) + (xy 95.863066 96.991212) + (xy 95.859538 96.992283) + (xy 95.856292 96.994018) + (xy 95.85628 96.994023) + (xy 95.697238 97.079034) + (xy 95.697233 97.079036) + (xy 95.69398 97.080776) + (xy 95.691127 97.083117) + (xy 95.691123 97.08312) + (xy 95.551722 97.197523) + (xy 95.551716 97.197528) + (xy 95.548867 97.199867) + (xy 95.546528 97.202716) + (xy 95.546523 97.202722) + (xy 95.44733 97.32359) + (xy 95.409257 97.34836) + (xy 95.363866 97.346688) + (xy 95.327718 97.319185) + (xy 95.314 97.275884) + (xy 95.314 97.065163) + (xy 95.318741 97.038883) + (xy 95.332368 97.015917) + (xy 95.373981 96.967893) + (xy 95.417382 96.917806) + (xy 95.476608 96.788119) + (xy 95.496898 96.647) + (xy 95.476608 96.505881) + (xy 95.417382 96.376194) + (xy 95.409635 96.367254) + (xy 95.35934 96.309211) + (xy 95.324018 96.268447) + (xy 95.319496 96.265541) + (xy 95.319494 96.265539) + (xy 95.208602 96.194272) + (xy 95.208599 96.19427) + (xy 95.204081 96.191367) + (xy 95.198925 96.189853) + (xy 95.198923 96.189852) + (xy 95.072447 96.152715) + (xy 95.072442 96.152714) + (xy 95.067285 96.1512) + (xy 94.924715 96.1512) + (xy 94.919558 96.152714) + (xy 94.919552 96.152715) + (xy 94.793076 96.189852) + (xy 94.793071 96.189854) + (xy 94.787919 96.191367) + (xy 94.783403 96.194269) + (xy 94.783397 96.194272) + (xy 94.672505 96.265539) + (xy 94.672499 96.265543) + (xy 94.667982 96.268447) + (xy 94.664461 96.272509) + (xy 94.66446 96.272511) + (xy 94.57814 96.372128) + (xy 94.578136 96.372133) + (xy 94.574618 96.376194) + (xy 94.572385 96.381082) + (xy 94.572382 96.381088) + (xy 94.517626 96.500987) + (xy 94.517624 96.500993) + (xy 94.515392 96.505881) + (xy 94.514627 96.511195) + (xy 94.514626 96.511202) + (xy 94.496087 96.640151) + (xy 94.495102 96.647) + (xy 94.495867 96.652321) + (xy 94.514626 96.782797) + (xy 94.514627 96.782802) + (xy 94.515392 96.788119) + (xy 94.517624 96.793008) + (xy 94.517626 96.793012) + (xy 94.572382 96.912911) + (xy 94.572383 96.912913) + (xy 94.574618 96.917806) + (xy 94.578138 96.921869) + (xy 94.57814 96.921871) + (xy 94.659632 97.015917) + (xy 94.673259 97.038883) + (xy 94.678 97.065163) + (xy 94.678 97.336202) + (xy 94.662084 97.382467) + (xy 94.621072 97.409148) + (xy 94.572326 97.404951) + (xy 94.53648 97.371651) + (xy 94.530664 97.36077) + (xy 94.522224 97.34498) + (xy 94.403133 97.199867) + (xy 94.394603 97.192867) + (xy 94.316818 97.12903) + (xy 94.25802 97.080776) + (xy 94.254761 97.079034) + (xy 94.095719 96.994023) + (xy 94.095711 96.994019) + (xy 94.092462 96.992283) + (xy 93.990662 96.961402) + (xy 93.916352 96.93886) + (xy 93.91635 96.938859) + (xy 93.912821 96.937789) + (xy 93.90915 96.937427) + (xy 93.909148 96.937427) + (xy 93.729676 96.919751) + (xy 93.726 96.919389) + (xy 93.722324 96.919751) + (xy 93.542851 96.937427) + (xy 93.542847 96.937427) + (xy 93.539179 96.937789) + (xy 93.535651 96.938859) + (xy 93.535647 96.93886) + (xy 93.363068 96.991212) + (xy 93.363066 96.991212) + (xy 93.359538 96.992283) + (xy 93.356292 96.994018) + (xy 93.35628 96.994023) + (xy 93.197238 97.079034) + (xy 93.197233 97.079036) + (xy 93.19398 97.080776) + (xy 93.191127 97.083117) + (xy 93.191123 97.08312) + (xy 93.051722 97.197523) + (xy 93.051716 97.197528) + (xy 93.048867 97.199867) + (xy 93.046528 97.202716) + (xy 93.046523 97.202722) + (xy 92.93212 97.342123) + (xy 92.932117 97.342127) + (xy 92.929776 97.34498) + (xy 92.928036 97.348233) + (xy 92.928034 97.348238) + (xy 92.843027 97.507274) + (xy 92.843024 97.507279) + (xy 92.841283 97.510538) + (xy 92.840565 97.512902) + (xy 92.81313 97.546328) + (xy 92.771354 97.559) + (xy 90.927868 97.559) + (xy 90.89909 97.553276) + (xy 90.874694 97.536974) + (xy 90.256026 96.918306) + (xy 90.239724 96.89391) + (xy 90.234 96.865132) + (xy 90.234 96.197095) + (xy 90.577741 96.197095) + (xy 90.582477 96.203939) + (xy 90.631278 96.243988) + (xy 90.637386 96.24807) + (xy 90.811634 96.341207) + (xy 90.818426 96.34402) + (xy 91.007491 96.401372) + (xy 91.014701 96.402807) + (xy 91.211325 96.422173) + (xy 91.218675 96.422173) + (xy 91.415298 96.402807) + (xy 91.422508 96.401372) + (xy 91.611573 96.34402) + (xy 91.618365 96.341207) + (xy 91.792613 96.24807) + (xy 91.798721 96.243988) + (xy 91.84752 96.203939) + (xy 91.852257 96.197096) + (xy 91.848211 96.189816) + (xy 91.222 95.563605) + (xy 91.215 95.559563) + (xy 91.207999 95.563605) + (xy 90.581787 96.189816) + (xy 90.577741 96.197095) + (xy 90.234 96.197095) + (xy 90.234 96.031969) + (xy 90.247718 95.988668) + (xy 90.283866 95.961165) + (xy 90.329256 95.959493) + (xy 90.36733 95.984262) + (xy 90.388059 96.009521) + (xy 90.394903 96.014257) + (xy 90.402182 96.010211) + (xy 91.028394 95.384) + (xy 91.032435 95.377) + (xy 91.397563 95.377) + (xy 91.401605 95.384) + (xy 92.027816 96.010211) + (xy 92.035096 96.014257) + (xy 92.041939 96.00952) + (xy 92.081988 95.960721) + (xy 92.08607 95.954613) + (xy 92.179207 95.780365) + (xy 92.18202 95.773573) + (xy 92.239372 95.584508) + (xy 92.240807 95.577298) + (xy 92.260173 95.380675) + (xy 92.260173 95.377) + (xy 92.768389 95.377) + (xy 92.768751 95.380675) + (xy 92.768751 95.380676) + (xy 92.786369 95.559563) + (xy 92.786789 95.563821) + (xy 92.787859 95.56735) + (xy 92.78786 95.567352) + (xy 92.800919 95.610402) + (xy 92.841283 95.743462) + (xy 92.843019 95.746711) + (xy 92.843023 95.746719) + (xy 92.915935 95.883126) + (xy 92.929776 95.90902) + (xy 92.93212 95.911876) + (xy 93.030077 96.031238) + (xy 93.048867 96.054133) + (xy 93.19398 96.173224) + (xy 93.263172 96.210208) + (xy 93.35628 96.259976) + (xy 93.356283 96.259977) + (xy 93.359538 96.261717) + (xy 93.539179 96.316211) + (xy 93.726 96.334611) + (xy 93.912821 96.316211) + (xy 94.092462 96.261717) + (xy 94.25802 96.173224) + (xy 94.403133 96.054133) + (xy 94.522224 95.90902) + (xy 94.610717 95.743462) + (xy 94.665211 95.563821) + (xy 94.683611 95.377) + (xy 95.268389 95.377) + (xy 95.268751 95.380675) + (xy 95.268751 95.380676) + (xy 95.286369 95.559563) + (xy 95.286789 95.563821) + (xy 95.287859 95.56735) + (xy 95.28786 95.567352) + (xy 95.300919 95.610402) + (xy 95.341283 95.743462) + (xy 95.343019 95.746711) + (xy 95.343023 95.746719) + (xy 95.415935 95.883126) + (xy 95.429776 95.90902) + (xy 95.43212 95.911876) + (xy 95.530077 96.031238) + (xy 95.548867 96.054133) + (xy 95.69398 96.173224) + (xy 95.763172 96.210208) + (xy 95.85628 96.259976) + (xy 95.856283 96.259977) + (xy 95.859538 96.261717) + (xy 96.039179 96.316211) + (xy 96.226 96.334611) + (xy 96.412821 96.316211) + (xy 96.592462 96.261717) + (xy 96.75802 96.173224) + (xy 96.903133 96.054133) + (xy 97.022224 95.90902) + (xy 97.110717 95.743462) + (xy 97.165211 95.563821) + (xy 97.183611 95.377) + (xy 97.182992 95.37072) + (xy 97.179343 95.333665) + (xy 97.165211 95.190179) + (xy 97.110717 95.010538) + (xy 97.108862 95.007068) + (xy 97.056964 94.909974) + (xy 97.022224 94.84498) + (xy 96.903133 94.699867) + (xy 96.894603 94.692867) + (xy 96.786493 94.604143) + (xy 96.75802 94.580776) + (xy 96.739678 94.570972) + (xy 96.595719 94.494023) + (xy 96.595711 94.494019) + (xy 96.592462 94.492283) + (xy 96.486894 94.460259) + (xy 96.416352 94.43886) + (xy 96.41635 94.438859) + (xy 96.412821 94.437789) + (xy 96.40915 94.437427) + (xy 96.409148 94.437427) + (xy 96.229676 94.419751) + (xy 96.226 94.419389) + (xy 96.222324 94.419751) + (xy 96.042851 94.437427) + (xy 96.042847 94.437427) + (xy 96.039179 94.437789) + (xy 96.035651 94.438859) + (xy 96.035647 94.43886) + (xy 95.863068 94.491212) + (xy 95.863066 94.491212) + (xy 95.859538 94.492283) + (xy 95.856292 94.494018) + (xy 95.85628 94.494023) + (xy 95.697238 94.579034) + (xy 95.697233 94.579036) + (xy 95.69398 94.580776) + (xy 95.691127 94.583117) + (xy 95.691123 94.58312) + (xy 95.551722 94.697523) + (xy 95.551716 94.697528) + (xy 95.548867 94.699867) + (xy 95.546528 94.702716) + (xy 95.546523 94.702722) + (xy 95.43212 94.842123) + (xy 95.432117 94.842127) + (xy 95.429776 94.84498) + (xy 95.428036 94.848233) + (xy 95.428034 94.848238) + (xy 95.343023 95.00728) + (xy 95.343018 95.007292) + (xy 95.341283 95.010538) + (xy 95.340212 95.014066) + (xy 95.340212 95.014068) + (xy 95.287903 95.186507) + (xy 95.286789 95.190179) + (xy 95.286427 95.193847) + (xy 95.286427 95.193851) + (xy 95.269002 95.370776) + (xy 95.268389 95.377) + (xy 94.683611 95.377) + (xy 94.682992 95.37072) + (xy 94.679343 95.333665) + (xy 94.665211 95.190179) + (xy 94.610717 95.010538) + (xy 94.608862 95.007068) + (xy 94.556964 94.909974) + (xy 94.522224 94.84498) + (xy 94.403133 94.699867) + (xy 94.394603 94.692867) + (xy 94.286493 94.604143) + (xy 94.25802 94.580776) + (xy 94.239678 94.570972) + (xy 94.095719 94.494023) + (xy 94.095711 94.494019) + (xy 94.092462 94.492283) + (xy 93.986894 94.460259) + (xy 93.916352 94.43886) + (xy 93.91635 94.438859) + (xy 93.912821 94.437789) + (xy 93.90915 94.437427) + (xy 93.909148 94.437427) + (xy 93.729676 94.419751) + (xy 93.726 94.419389) + (xy 93.722324 94.419751) + (xy 93.542851 94.437427) + (xy 93.542847 94.437427) + (xy 93.539179 94.437789) + (xy 93.535651 94.438859) + (xy 93.535647 94.43886) + (xy 93.363068 94.491212) + (xy 93.363066 94.491212) + (xy 93.359538 94.492283) + (xy 93.356292 94.494018) + (xy 93.35628 94.494023) + (xy 93.197238 94.579034) + (xy 93.197233 94.579036) + (xy 93.19398 94.580776) + (xy 93.191127 94.583117) + (xy 93.191123 94.58312) + (xy 93.051722 94.697523) + (xy 93.051716 94.697528) + (xy 93.048867 94.699867) + (xy 93.046528 94.702716) + (xy 93.046523 94.702722) + (xy 92.93212 94.842123) + (xy 92.932117 94.842127) + (xy 92.929776 94.84498) + (xy 92.928036 94.848233) + (xy 92.928034 94.848238) + (xy 92.843023 95.00728) + (xy 92.843018 95.007292) + (xy 92.841283 95.010538) + (xy 92.840212 95.014066) + (xy 92.840212 95.014068) + (xy 92.787903 95.186507) + (xy 92.786789 95.190179) + (xy 92.786427 95.193847) + (xy 92.786427 95.193851) + (xy 92.769002 95.370776) + (xy 92.768389 95.377) + (xy 92.260173 95.377) + (xy 92.260173 95.373325) + (xy 92.240807 95.176701) + (xy 92.239372 95.169491) + (xy 92.18202 94.980426) + (xy 92.179207 94.973634) + (xy 92.08607 94.799386) + (xy 92.081988 94.793278) + (xy 92.041939 94.744477) + (xy 92.035095 94.739741) + (xy 92.027816 94.743787) + (xy 91.401605 95.369999) + (xy 91.397563 95.377) + (xy 91.032435 95.377) + (xy 91.032436 95.376999) + (xy 91.028394 95.369999) + (xy 90.402182 94.743787) + (xy 90.394903 94.739742) + (xy 90.388058 94.744479) + (xy 90.367331 94.769737) + (xy 90.329257 94.794507) + (xy 90.283866 94.792835) + (xy 90.247718 94.765332) + (xy 90.234 94.722031) + (xy 90.234 94.556903) + (xy 90.577742 94.556903) + (xy 90.581787 94.564182) + (xy 91.207999 95.190394) + (xy 91.215 95.194436) + (xy 91.222 95.190394) + (xy 91.848211 94.564182) + (xy 91.852257 94.556903) + (xy 91.847521 94.550059) + (xy 91.798722 94.510011) + (xy 91.792613 94.505929) + (xy 91.618365 94.412792) + (xy 91.611573 94.409979) + (xy 91.422508 94.352627) + (xy 91.415298 94.351192) + (xy 91.218675 94.331827) + (xy 91.211325 94.331827) + (xy 91.014701 94.351192) + (xy 91.007491 94.352627) + (xy 90.818426 94.409979) + (xy 90.811634 94.412792) + (xy 90.637383 94.505931) + (xy 90.631281 94.510008) + (xy 90.582479 94.550058) + (xy 90.577742 94.556903) + (xy 90.234 94.556903) + (xy 90.234 94.09517) + (xy 90.234286 94.088616) + (xy 90.234739 94.083435) + (xy 90.237677 94.049857) + (xy 90.227606 94.012275) + (xy 90.226187 94.005875) + (xy 90.219432 93.96756) + (xy 90.216142 93.961861) + (xy 90.213893 93.955682) + (xy 90.213902 93.955678) + (xy 90.213144 93.953848) + (xy 90.213136 93.953852) + (xy 90.210353 93.947886) + (xy 90.208652 93.941534) + (xy 90.193227 93.919505) + (xy 90.186334 93.90966) + (xy 90.182809 93.904127) + (xy 90.182329 93.903296) + (xy 90.16336 93.87044) + (xy 90.156494 93.864679) + (xy 90.133551 93.845427) + (xy 90.128715 93.840995) + (xy 89.944815 93.657095) + (xy 90.577741 93.657095) + (xy 90.582477 93.663939) + (xy 90.631278 93.703988) + (xy 90.637386 93.70807) + (xy 90.811634 93.801207) + (xy 90.818426 93.80402) + (xy 91.007491 93.861372) + (xy 91.014701 93.862807) + (xy 91.211325 93.882173) + (xy 91.218675 93.882173) + (xy 91.415298 93.862807) + (xy 91.422508 93.861372) + (xy 91.611573 93.80402) + (xy 91.618365 93.801207) + (xy 91.792613 93.70807) + (xy 91.798721 93.703988) + (xy 91.84752 93.663939) + (xy 91.852257 93.657096) + (xy 91.848211 93.649816) + (xy 91.222 93.023605) + (xy 91.215 93.019563) + (xy 91.207999 93.023605) + (xy 90.581787 93.649816) + (xy 90.577741 93.657095) + (xy 89.944815 93.657095) + (xy 89.640306 93.352586) + (xy 89.619094 93.310445) + (xy 89.62716 93.263962) + (xy 89.641412 93.237301) + (xy 89.700938 93.041072) + (xy 89.720675 92.840675) + (xy 90.169827 92.840675) + (xy 90.189192 93.037298) + (xy 90.190627 93.044508) + (xy 90.247979 93.233573) + (xy 90.250792 93.240365) + (xy 90.343929 93.414613) + (xy 90.348011 93.420722) + (xy 90.388059 93.469521) + (xy 90.394903 93.474257) + (xy 90.402182 93.470211) + (xy 91.028394 92.844) + (xy 91.032436 92.837) + (xy 91.397563 92.837) + (xy 91.401605 92.844) + (xy 92.027816 93.470211) + (xy 92.035096 93.474257) + (xy 92.041939 93.46952) + (xy 92.081988 93.420721) + (xy 92.08607 93.414613) + (xy 92.179207 93.240365) + (xy 92.18202 93.233573) + (xy 92.239372 93.044508) + (xy 92.240807 93.037298) + (xy 92.260173 92.840675) + (xy 92.260173 92.833325) + (xy 92.240807 92.636701) + (xy 92.239372 92.629491) + (xy 92.18202 92.440426) + (xy 92.179207 92.433634) + (xy 92.08607 92.259386) + (xy 92.081988 92.253278) + (xy 92.041939 92.204477) + (xy 92.035095 92.199741) + (xy 92.027816 92.203787) + (xy 91.401605 92.829999) + (xy 91.397563 92.837) + (xy 91.032436 92.837) + (xy 91.028394 92.829999) + (xy 90.402182 92.203787) + (xy 90.394903 92.199742) + (xy 90.388058 92.204479) + (xy 90.348008 92.253281) + (xy 90.343931 92.259383) + (xy 90.250792 92.433634) + (xy 90.247979 92.440426) + (xy 90.190627 92.629491) + (xy 90.189192 92.636701) + (xy 90.169827 92.833325) + (xy 90.169827 92.840675) + (xy 89.720675 92.840675) + (xy 89.721037 92.837) + (xy 89.720347 92.829999) + (xy 89.716538 92.791318) + (xy 89.700938 92.632928) + (xy 89.641412 92.436699) + (xy 89.544748 92.255853) + (xy 89.528993 92.236656) + (xy 89.417003 92.100195) + (xy 89.41466 92.09734) + (xy 89.403501 92.088182) + (xy 89.259006 91.969598) + (xy 89.259003 91.969596) + (xy 89.256147 91.967252) + (xy 89.075301 91.870588) + (xy 89.071774 91.869518) + (xy 89.071769 91.869516) + (xy 88.882603 91.812133) + (xy 88.882601 91.812132) + (xy 88.879072 91.811062) + (xy 88.875401 91.8107) + (xy 88.875399 91.8107) + (xy 88.678676 91.791325) + (xy 88.675 91.790963) + (xy 88.671324 91.791325) + (xy 88.4746 91.8107) + (xy 88.474596 91.8107) + (xy 88.470928 91.811062) + (xy 88.4674 91.812132) + (xy 88.467396 91.812133) + (xy 88.27823 91.869516) + (xy 88.278222 91.869519) + (xy 88.274699 91.870588) + (xy 88.271454 91.872322) + (xy 88.271443 91.872327) + (xy 88.248033 91.88484) + (xy 88.201551 91.892904) + (xy 88.159412 91.871692) + (xy 87.110026 90.822306) + (xy 87.093724 90.79791) + (xy 87.088 90.769132) + (xy 87.088 89.806174) + (xy 87.088286 89.799621) + (xy 87.089879 89.781412) + (xy 87.091677 89.760857) + (xy 87.081606 89.723275) + (xy 87.080187 89.716875) + (xy 87.080007 89.715853) + (xy 87.073432 89.67856) + (xy 87.070142 89.672861) + (xy 87.067893 89.666682) + (xy 87.067902 89.666678) + (xy 87.067144 89.664848) + (xy 87.067136 89.664852) + (xy 87.064353 89.658886) + (xy 87.062652 89.652534) + (xy 87.040332 89.620658) + (xy 87.036809 89.615127) + (xy 87.035341 89.612585) + (xy 87.01736 89.58144) + (xy 87.00615 89.572034) + (xy 86.987551 89.556427) + (xy 86.982715 89.551995) + (xy 86.137004 88.706284) + (xy 86.132572 88.701448) + (xy 86.111787 88.676678) + (xy 86.10756 88.67164) + (xy 86.101867 88.668353) + (xy 86.101861 88.668348) + (xy 86.073866 88.652185) + (xy 86.068335 88.648662) + (xy 86.05798 88.641412) + (xy 86.036466 88.626348) + (xy 86.030111 88.624644) + (xy 86.02415 88.621865) + (xy 86.024153 88.621857) + (xy 86.022321 88.621098) + (xy 86.022319 88.621107) + (xy 86.016136 88.618856) + (xy 86.01044 88.615568) + (xy 86.003963 88.614426) + (xy 86.003961 88.614425) + (xy 85.972133 88.608813) + (xy 85.965731 88.607394) + (xy 85.934498 88.599025) + (xy 85.934493 88.599024) + (xy 85.928143 88.597323) + (xy 85.921591 88.597896) + (xy 85.921589 88.597896) + (xy 85.889384 88.600714) + (xy 85.88283 88.601) + (xy 84.573511 88.601) + (xy 84.544733 88.595276) + (xy 84.52542 88.58237) + (xy 84.524703 88.581297) + (xy 84.518545 88.577182) + (xy 84.513537 88.572174) + (xy 84.494073 88.538463) + (xy 84.494073 88.499537) + (xy 84.513537 88.465826) + (xy 84.518545 88.460817) + (xy 84.524703 88.456703) + (xy 84.52542 88.455629) + (xy 84.544733 88.442724) + (xy 84.573511 88.437) + (xy 86.334132 88.437) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 87.672647 88.089799) + (xy 87.699812 88.128371) + (xy 87.707515 88.153767) + (xy 87.707518 88.153775) + (xy 87.708588 88.157301) + (xy 87.805252 88.338147) + (xy 87.807596 88.341003) + (xy 87.807598 88.341006) + (xy 87.91194 88.468147) + (xy 87.93534 88.49666) + (xy 87.938195 88.499003) + (xy 88.039936 88.5825) + (xy 88.093853 88.626748) + (xy 88.274699 88.723412) + (xy 88.470928 88.782938) + (xy 88.675 88.803037) + (xy 88.879072 88.782938) + (xy 89.075301 88.723412) + (xy 89.101962 88.70916) + (xy 89.148445 88.701094) + (xy 89.190586 88.722306) + (xy 89.707995 89.239715) + (xy 89.712427 89.244551) + (xy 89.715068 89.247699) + (xy 89.73744 89.27436) + (xy 89.771134 89.293813) + (xy 89.776658 89.297332) + (xy 89.783443 89.302083) + (xy 89.797205 89.31172) + (xy 89.808534 89.319652) + (xy 89.814886 89.321353) + (xy 89.820852 89.324136) + (xy 89.820848 89.324144) + (xy 89.822678 89.324902) + (xy 89.822682 89.324893) + (xy 89.828861 89.327142) + (xy 89.83456 89.330432) + (xy 89.872882 89.337188) + (xy 89.879275 89.338606) + (xy 89.916857 89.348677) + (xy 89.955616 89.345285) + (xy 89.96217 89.345) + (xy 90.525533 89.345) + (xy 90.564457 89.355857) + (xy 90.592141 89.385295) + (xy 90.600591 89.424811) + (xy 90.587368 89.462996) + (xy 90.577742 89.476903) + (xy 90.581787 89.484182) + (xy 91.207999 90.110394) + (xy 91.215 90.114436) + (xy 91.222 90.110394) + (xy 91.848211 89.484182) + (xy 91.852256 89.476903) + (xy 91.842631 89.462996) + (xy 91.829408 89.424811) + (xy 91.837858 89.385295) + (xy 91.865542 89.355857) + (xy 91.904466 89.345) + (xy 92.213132 89.345) + (xy 92.24191 89.350724) + (xy 92.266306 89.367026) + (xy 92.826103 89.926823) + (xy 92.846684 89.965325) + (xy 92.842445 90.008363) + (xy 92.841283 90.010538) + (xy 92.840213 90.014064) + (xy 92.840213 90.014065) + (xy 92.788375 90.184951) + (xy 92.786789 90.190179) + (xy 92.786427 90.193847) + (xy 92.786427 90.193851) + (xy 92.769078 90.37) + (xy 92.768389 90.377) + (xy 92.768751 90.380675) + (xy 92.768751 90.380676) + (xy 92.786392 90.559797) + (xy 92.786789 90.563821) + (xy 92.787859 90.56735) + (xy 92.78786 90.567352) + (xy 92.790347 90.575551) + (xy 92.841283 90.743462) + (xy 92.843019 90.746711) + (xy 92.843023 90.746719) + (xy 92.911385 90.874613) + (xy 92.929776 90.90902) + (xy 93.048867 91.054133) + (xy 93.051722 91.056476) + (xy 93.12385 91.11567) + (xy 93.14862 91.153743) + (xy 93.146948 91.199134) + (xy 93.119445 91.235282) + (xy 93.076144 91.249) + (xy 91.904466 91.249) + (xy 91.865542 91.238143) + (xy 91.837858 91.208706) + (xy 91.829407 91.16919) + (xy 91.842631 91.131005) + (xy 91.852257 91.117096) + (xy 91.848211 91.109816) + (xy 91.222 90.483605) + (xy 91.215 90.479563) + (xy 91.207999 90.483605) + (xy 90.581787 91.109816) + (xy 90.577741 91.117095) + (xy 90.587368 91.131005) + (xy 90.600592 91.16919) + (xy 90.592141 91.208706) + (xy 90.564457 91.238143) + (xy 90.525533 91.249) + (xy 90.107868 91.249) + (xy 90.07909 91.243276) + (xy 90.054694 91.226974) + (xy 89.640306 90.812586) + (xy 89.619094 90.770445) + (xy 89.62716 90.723962) + (xy 89.641412 90.697301) + (xy 89.700938 90.501072) + (xy 89.720675 90.300675) + (xy 90.169827 90.300675) + (xy 90.189192 90.497298) + (xy 90.190627 90.504508) + (xy 90.247979 90.693573) + (xy 90.250792 90.700365) + (xy 90.343929 90.874613) + (xy 90.348011 90.880722) + (xy 90.388059 90.929521) + (xy 90.394903 90.934257) + (xy 90.402182 90.930211) + (xy 91.028394 90.304) + (xy 91.032436 90.297) + (xy 91.032435 90.296999) + (xy 91.397563 90.296999) + (xy 91.401605 90.304) + (xy 92.027816 90.930211) + (xy 92.035096 90.934257) + (xy 92.041939 90.92952) + (xy 92.081988 90.880721) + (xy 92.08607 90.874613) + (xy 92.179207 90.700365) + (xy 92.18202 90.693573) + (xy 92.239372 90.504508) + (xy 92.240807 90.497298) + (xy 92.260173 90.300675) + (xy 92.260173 90.293325) + (xy 92.240807 90.096701) + (xy 92.239372 90.089491) + (xy 92.18202 89.900426) + (xy 92.179207 89.893634) + (xy 92.08607 89.719386) + (xy 92.081988 89.713278) + (xy 92.041939 89.664477) + (xy 92.035095 89.659741) + (xy 92.027816 89.663787) + (xy 91.401605 90.289999) + (xy 91.397563 90.296999) + (xy 91.032435 90.296999) + (xy 91.028394 90.289999) + (xy 90.402182 89.663787) + (xy 90.394903 89.659742) + (xy 90.388058 89.664479) + (xy 90.348008 89.713281) + (xy 90.343931 89.719383) + (xy 90.250792 89.893634) + (xy 90.247979 89.900426) + (xy 90.190627 90.089491) + (xy 90.189192 90.096701) + (xy 90.169827 90.293325) + (xy 90.169827 90.300675) + (xy 89.720675 90.300675) + (xy 89.721037 90.297) + (xy 89.720347 90.289999) + (xy 89.714067 90.22623) + (xy 89.700938 90.092928) + (xy 89.641412 89.896699) + (xy 89.544748 89.715853) + (xy 89.514142 89.67856) + (xy 89.417003 89.560195) + (xy 89.41466 89.55734) + (xy 89.382585 89.531017) + (xy 89.259006 89.429598) + (xy 89.259003 89.429596) + (xy 89.256147 89.427252) + (xy 89.24465 89.421107) + (xy 89.215551 89.405553) + (xy 89.075301 89.330588) + (xy 89.071774 89.329518) + (xy 89.071769 89.329516) + (xy 88.882603 89.272133) + (xy 88.882601 89.272132) + (xy 88.879072 89.271062) + (xy 88.875401 89.2707) + (xy 88.875399 89.2707) + (xy 88.678676 89.251325) + (xy 88.675 89.250963) + (xy 88.671324 89.251325) + (xy 88.4746 89.2707) + (xy 88.474596 89.2707) + (xy 88.470928 89.271062) + (xy 88.4674 89.272132) + (xy 88.467396 89.272133) + (xy 88.27823 89.329516) + (xy 88.278222 89.329519) + (xy 88.274699 89.330588) + (xy 88.271454 89.332322) + (xy 88.271443 89.332327) + (xy 88.248033 89.34484) + (xy 88.201551 89.352904) + (xy 88.159412 89.331692) + (xy 87.031094 88.203374) + (xy 87.010513 88.164871) + (xy 87.014792 88.121422) + (xy 87.042489 88.087673) + (xy 87.084268 88.075) + (xy 87.62785 88.075) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 98.253547 81.967318) + (xy 98.28105 82.003466) + (xy 98.282722 82.048857) + (xy 98.257952 82.08693) + (xy 98.131722 82.190523) + (xy 98.131716 82.190528) + (xy 98.128867 82.192867) + (xy 98.126528 82.195716) + (xy 98.126523 82.195722) + (xy 98.01212 82.335123) + (xy 98.012117 82.335127) + (xy 98.009776 82.33798) + (xy 98.008036 82.341233) + (xy 98.008034 82.341238) + (xy 97.923023 82.50028) + (xy 97.923018 82.500292) + (xy 97.921283 82.503538) + (xy 97.920212 82.507066) + (xy 97.920212 82.507068) + (xy 97.868524 82.67746) + (xy 97.866789 82.683179) + (xy 97.866427 82.686847) + (xy 97.866427 82.686851) + (xy 97.84902 82.863595) + (xy 97.848389 82.87) + (xy 97.85285 82.915294) + (xy 97.866242 83.051274) + (xy 97.866789 83.056821) + (xy 97.867859 83.06035) + (xy 97.86786 83.060352) + (xy 97.883232 83.111026) + (xy 97.921283 83.236462) + (xy 97.923019 83.239711) + (xy 97.923023 83.239719) + (xy 98.006979 83.396787) + (xy 98.009776 83.40202) + (xy 98.066482 83.471116) + (xy 98.126196 83.543879) + (xy 98.128867 83.547133) + (xy 98.27398 83.666224) + (xy 98.348736 83.706182) + (xy 98.43628 83.752976) + (xy 98.436283 83.752977) + (xy 98.439538 83.754717) + (xy 98.619179 83.809211) + (xy 98.776647 83.82472) + (xy 98.79876 83.826898) + (xy 98.806 83.827611) + (xy 98.81324 83.826898) + (xy 98.835353 83.82472) + (xy 98.992821 83.809211) + (xy 99.172462 83.754717) + (xy 99.33802 83.666224) + (xy 99.483133 83.547133) + (xy 99.602224 83.40202) + (xy 99.61648 83.375348) + (xy 99.652326 83.342049) + (xy 99.701072 83.337852) + (xy 99.742084 83.364533) + (xy 99.758 83.410798) + (xy 99.758 84.829202) + (xy 99.742084 84.875467) + (xy 99.701072 84.902148) + (xy 99.652326 84.897951) + (xy 99.61648 84.864651) + (xy 99.602224 84.83798) + (xy 99.483133 84.692867) + (xy 99.449793 84.665506) + (xy 99.407528 84.63082) + (xy 99.33802 84.573776) + (xy 99.324988 84.56681) + (xy 99.175719 84.487023) + (xy 99.175711 84.487019) + (xy 99.172462 84.485283) + (xy 99.044537 84.446477) + (xy 98.996352 84.43186) + (xy 98.99635 84.431859) + (xy 98.992821 84.430789) + (xy 98.98915 84.430427) + (xy 98.989148 84.430427) + (xy 98.809676 84.412751) + (xy 98.806 84.412389) + (xy 98.802324 84.412751) + (xy 98.622851 84.430427) + (xy 98.622847 84.430427) + (xy 98.619179 84.430789) + (xy 98.615651 84.431859) + (xy 98.615647 84.43186) + (xy 98.443068 84.484212) + (xy 98.443066 84.484212) + (xy 98.439538 84.485283) + (xy 98.436292 84.487018) + (xy 98.43628 84.487023) + (xy 98.277238 84.572034) + (xy 98.277233 84.572036) + (xy 98.27398 84.573776) + (xy 98.271127 84.576117) + (xy 98.271123 84.57612) + (xy 98.131722 84.690523) + (xy 98.131716 84.690528) + (xy 98.128867 84.692867) + (xy 98.126528 84.695716) + (xy 98.126523 84.695722) + (xy 98.01212 84.835123) + (xy 98.012117 84.835127) + (xy 98.009776 84.83798) + (xy 98.008036 84.841233) + (xy 98.008034 84.841238) + (xy 97.99552 84.864651) + (xy 97.959674 84.897951) + (xy 97.910928 84.902148) + (xy 97.869916 84.875467) + (xy 97.854 84.829202) + (xy 97.854 84.751574) + (xy 97.854286 84.745021) + (xy 97.85638 84.721081) + (xy 97.857677 84.706257) + (xy 97.847606 84.668675) + (xy 97.846187 84.662275) + (xy 97.839432 84.62396) + (xy 97.836142 84.618261) + (xy 97.833893 84.612082) + (xy 97.833902 84.612078) + (xy 97.833144 84.610248) + (xy 97.833136 84.610252) + (xy 97.830353 84.604286) + (xy 97.828652 84.597934) + (xy 97.818746 84.583787) + (xy 97.806334 84.56606) + (xy 97.802809 84.560527) + (xy 97.793794 84.544913) + (xy 97.78336 84.52684) + (xy 97.771987 84.517297) + (xy 97.753551 84.501827) + (xy 97.748715 84.497395) + (xy 97.163404 83.912084) + (xy 97.158972 83.907248) + (xy 97.138187 83.882478) + (xy 97.13396 83.87744) + (xy 97.128267 83.874153) + (xy 97.128261 83.874148) + (xy 97.100266 83.857985) + (xy 97.094735 83.854462) + (xy 97.076852 83.841941) + (xy 97.062866 83.832148) + (xy 97.056511 83.830444) + (xy 97.05055 83.827665) + (xy 97.050553 83.827657) + (xy 97.048721 83.826898) + (xy 97.048719 83.826907) + (xy 97.042536 83.824656) + (xy 97.03684 83.821368) + (xy 97.030363 83.820226) + (xy 97.030361 83.820225) + (xy 96.998533 83.814613) + (xy 96.992131 83.813194) + (xy 96.960898 83.804825) + (xy 96.960893 83.804824) + (xy 96.954543 83.803123) + (xy 96.947991 83.803696) + (xy 96.947989 83.803696) + (xy 96.915784 83.806514) + (xy 96.90923 83.8068) + (xy 96.805358 83.8068) + (xy 96.760565 83.792004) + (xy 96.733398 83.753437) + (xy 96.73455 83.706277) + (xy 96.759206 83.67467) + (xy 96.75802 83.673224) + (xy 96.766046 83.666637) + (xy 96.903133 83.554133) + (xy 97.022224 83.40902) + (xy 97.110717 83.243462) + (xy 97.165211 83.063821) + (xy 97.182475 82.888539) + (xy 97.183249 82.880676) + (xy 97.183611 82.877) + (xy 97.182849 82.869268) + (xy 97.179931 82.83964) + (xy 97.165211 82.690179) + (xy 97.110717 82.510538) + (xy 97.108862 82.507068) + (xy 97.040944 82.380003) + (xy 97.022224 82.34498) + (xy 96.903133 82.199867) + (xy 96.897165 82.194969) + (xy 96.765519 82.08693) + (xy 96.740749 82.048857) + (xy 96.742421 82.003466) + (xy 96.769924 81.967318) + (xy 96.813225 81.9536) + (xy 98.210246 81.9536) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 89.190586 81.102306) + (xy 89.744795 81.656515) + (xy 89.749227 81.661351) + (xy 89.77424 81.69116) + (xy 89.807944 81.710619) + (xy 89.813446 81.714123) + (xy 89.845334 81.736451) + (xy 89.85169 81.738154) + (xy 89.857652 81.740934) + (xy 89.857647 81.740943) + (xy 89.859475 81.7417) + (xy 89.859479 81.741692) + (xy 89.865662 81.743942) + (xy 89.87136 81.747232) + (xy 89.909685 81.753989) + (xy 89.91607 81.755404) + (xy 89.953657 81.765477) + (xy 89.992416 81.762085) + (xy 89.99897 81.7618) + (xy 90.502915 81.7618) + (xy 90.541576 81.772499) + (xy 90.569236 81.801552) + (xy 90.578024 81.840691) + (xy 90.577269 81.856052) + (xy 90.581787 81.864182) + (xy 91.207999 82.490394) + (xy 91.215 82.494436) + (xy 91.222 82.490394) + (xy 91.848211 81.864182) + (xy 91.852729 81.856052) + (xy 91.851975 81.840691) + (xy 91.860763 81.801552) + (xy 91.888423 81.772499) + (xy 91.927084 81.7618) + (xy 92.027732 81.7618) + (xy 92.05651 81.767524) + (xy 92.080906 81.783826) + (xy 92.145395 81.848315) + (xy 92.149827 81.853151) + (xy 92.165338 81.871637) + (xy 92.17484 81.88296) + (xy 92.208534 81.902413) + (xy 92.21406 81.905934) + (xy 92.23736 81.922249) + (xy 92.245934 81.928252) + (xy 92.252286 81.929953) + (xy 92.258252 81.932736) + (xy 92.258248 81.932744) + (xy 92.260078 81.933502) + (xy 92.260082 81.933493) + (xy 92.266261 81.935742) + (xy 92.27196 81.939032) + (xy 92.310282 81.945788) + (xy 92.316675 81.947206) + (xy 92.354257 81.957277) + (xy 92.393016 81.953885) + (xy 92.39957 81.9536) + (xy 93.138775 81.9536) + (xy 93.182076 81.967318) + (xy 93.209579 82.003466) + (xy 93.211251 82.048857) + (xy 93.186481 82.08693) + (xy 93.051722 82.197523) + (xy 93.051716 82.197528) + (xy 93.048867 82.199867) + (xy 93.046528 82.202716) + (xy 93.046523 82.202722) + (xy 92.93212 82.342123) + (xy 92.932117 82.342127) + (xy 92.929776 82.34498) + (xy 92.928036 82.348233) + (xy 92.928034 82.348238) + (xy 92.843023 82.50728) + (xy 92.843018 82.507292) + (xy 92.841283 82.510538) + (xy 92.840212 82.514066) + (xy 92.840212 82.514068) + (xy 92.788318 82.685139) + (xy 92.786789 82.690179) + (xy 92.786427 82.693847) + (xy 92.786427 82.693851) + (xy 92.769139 82.869385) + (xy 92.768389 82.877) + (xy 92.768751 82.880676) + (xy 92.786215 83.058) + (xy 92.786789 83.063821) + (xy 92.787859 83.06735) + (xy 92.78786 83.067352) + (xy 92.802011 83.114) + (xy 92.841283 83.243462) + (xy 92.843019 83.246711) + (xy 92.843023 83.246719) + (xy 92.913962 83.379435) + (xy 92.929776 83.40902) + (xy 92.988598 83.480695) + (xy 93.005101 83.519195) + (xy 92.998447 83.560552) + (xy 92.970699 83.591933) + (xy 92.930467 83.6036) + (xy 92.921631 83.6036) + (xy 92.890392 83.596805) + (xy 92.864799 83.577646) + (xy 92.846454 83.556476) + (xy 92.834818 83.543047) + (xy 92.830296 83.540141) + (xy 92.830294 83.540139) + (xy 92.719402 83.468872) + (xy 92.719399 83.46887) + (xy 92.714881 83.465967) + (xy 92.709725 83.464453) + (xy 92.709723 83.464452) + (xy 92.583247 83.427315) + (xy 92.583242 83.427314) + (xy 92.578085 83.4258) + (xy 92.435515 83.4258) + (xy 92.430358 83.427314) + (xy 92.430352 83.427315) + (xy 92.303876 83.464452) + (xy 92.303871 83.464454) + (xy 92.298719 83.465967) + (xy 92.294203 83.468869) + (xy 92.294197 83.468872) + (xy 92.183305 83.540139) + (xy 92.183299 83.540143) + (xy 92.178782 83.543047) + (xy 92.175261 83.547109) + (xy 92.17526 83.547111) + (xy 92.148801 83.577646) + (xy 92.123208 83.596805) + (xy 92.091969 83.6036) + (xy 91.922045 83.6036) + (xy 91.883121 83.592743) + (xy 91.855437 83.563306) + (xy 91.846986 83.52379) + (xy 91.852199 83.508734) + (xy 91.852729 83.497946) + (xy 91.848211 83.489816) + (xy 91.222 82.863605) + (xy 91.215 82.859563) + (xy 91.207999 82.863605) + (xy 90.581787 83.489816) + (xy 90.577269 83.497946) + (xy 90.577799 83.508733) + (xy 90.583013 83.52379) + (xy 90.574562 83.563306) + (xy 90.546878 83.592743) + (xy 90.507954 83.6036) + (xy 90.082468 83.6036) + (xy 90.05369 83.597876) + (xy 90.029294 83.581574) + (xy 89.640306 83.192586) + (xy 89.619094 83.150445) + (xy 89.627161 83.103961) + (xy 89.641412 83.077301) + (xy 89.700938 82.881072) + (xy 89.720675 82.680675) + (xy 90.169827 82.680675) + (xy 90.189192 82.877298) + (xy 90.190627 82.884508) + (xy 90.247979 83.073573) + (xy 90.250792 83.080365) + (xy 90.343929 83.254613) + (xy 90.348011 83.260722) + (xy 90.388059 83.309521) + (xy 90.394903 83.314257) + (xy 90.402182 83.310211) + (xy 91.028394 82.684) + (xy 91.032436 82.677) + (xy 91.397563 82.677) + (xy 91.401605 82.684) + (xy 92.027816 83.310211) + (xy 92.035096 83.314257) + (xy 92.041939 83.30952) + (xy 92.081988 83.260721) + (xy 92.08607 83.254613) + (xy 92.179207 83.080365) + (xy 92.18202 83.073573) + (xy 92.239372 82.884508) + (xy 92.240807 82.877298) + (xy 92.260173 82.680675) + (xy 92.260173 82.673325) + (xy 92.240807 82.476701) + (xy 92.239372 82.469491) + (xy 92.18202 82.280426) + (xy 92.179207 82.273634) + (xy 92.08607 82.099386) + (xy 92.081988 82.093278) + (xy 92.041939 82.044477) + (xy 92.035095 82.039741) + (xy 92.027816 82.043787) + (xy 91.401605 82.669999) + (xy 91.397563 82.677) + (xy 91.032436 82.677) + (xy 91.028394 82.669999) + (xy 90.402182 82.043787) + (xy 90.394903 82.039742) + (xy 90.388058 82.044479) + (xy 90.348008 82.093281) + (xy 90.343931 82.099383) + (xy 90.250792 82.273634) + (xy 90.247979 82.280426) + (xy 90.190627 82.469491) + (xy 90.189192 82.476701) + (xy 90.169827 82.673325) + (xy 90.169827 82.680675) + (xy 89.720675 82.680675) + (xy 89.721037 82.677) + (xy 89.720347 82.669999) + (xy 89.715314 82.618893) + (xy 89.700938 82.472928) + (xy 89.641412 82.276699) + (xy 89.544748 82.095853) + (xy 89.512815 82.056943) + (xy 89.417003 81.940195) + (xy 89.41466 81.93734) + (xy 89.411691 81.934903) + (xy 89.259006 81.809598) + (xy 89.259003 81.809596) + (xy 89.256147 81.807252) + (xy 89.250663 81.804321) + (xy 89.202182 81.778407) + (xy 89.075301 81.710588) + (xy 89.071774 81.709518) + (xy 89.071769 81.709516) + (xy 88.882603 81.652133) + (xy 88.882601 81.652132) + (xy 88.879072 81.651062) + (xy 88.875401 81.6507) + (xy 88.875399 81.6507) + (xy 88.678676 81.631325) + (xy 88.675 81.630963) + (xy 88.671324 81.631325) + (xy 88.4746 81.6507) + (xy 88.474596 81.6507) + (xy 88.470928 81.651062) + (xy 88.4674 81.652132) + (xy 88.467396 81.652133) + (xy 88.27823 81.709516) + (xy 88.278222 81.709519) + (xy 88.274699 81.710588) + (xy 88.271447 81.712325) + (xy 88.271445 81.712327) + (xy 88.097111 81.80551) + (xy 88.097106 81.805512) + (xy 88.093853 81.807252) + (xy 88.091 81.809593) + (xy 88.090993 81.809598) + (xy 87.938195 81.934996) + (xy 87.938189 81.935001) + (xy 87.93534 81.93734) + (xy 87.933001 81.940189) + (xy 87.932996 81.940195) + (xy 87.807598 82.092993) + (xy 87.807593 82.093) + (xy 87.805252 82.095853) + (xy 87.803512 82.099106) + (xy 87.80351 82.099111) + (xy 87.718 82.25909) + (xy 87.708588 82.276699) + (xy 87.707519 82.280222) + (xy 87.707516 82.28023) + (xy 87.65021 82.469142) + (xy 87.649062 82.472928) + (xy 87.6487 82.476596) + (xy 87.6487 82.4766) + (xy 87.629604 82.670488) + (xy 87.628963 82.677) + (xy 87.629325 82.680675) + (xy 87.629325 82.680676) + (xy 87.648311 82.873454) + (xy 87.649062 82.881072) + (xy 87.650132 82.884601) + (xy 87.650133 82.884603) + (xy 87.670026 82.950181) + (xy 87.708588 83.077301) + (xy 87.722839 83.103963) + (xy 87.730905 83.150445) + (xy 87.709693 83.192585) + (xy 86.387306 84.514974) + (xy 86.36291 84.531276) + (xy 86.334132 84.537) + (xy 84.573511 84.537) + (xy 84.544733 84.531276) + (xy 84.52542 84.51837) + (xy 84.524703 84.517297) + (xy 84.518545 84.513182) + (xy 84.513537 84.508174) + (xy 84.494073 84.474463) + (xy 84.494073 84.435537) + (xy 84.513537 84.401826) + (xy 84.518545 84.396817) + (xy 84.524703 84.392703) + (xy 84.52542 84.391629) + (xy 84.544733 84.378724) + (xy 84.573511 84.373) + (xy 85.88283 84.373) + (xy 85.889383 84.373285) + (xy 85.928143 84.376677) + (xy 85.965728 84.366605) + (xy 85.972121 84.365187) + (xy 86.01044 84.358432) + (xy 86.01614 84.35514) + (xy 86.022321 84.352891) + (xy 86.022324 84.352901) + (xy 86.024151 84.352145) + (xy 86.024147 84.352136) + (xy 86.03011 84.349354) + (xy 86.036466 84.347652) + (xy 86.06836 84.325319) + (xy 86.073853 84.32182) + (xy 86.10756 84.30236) + (xy 86.132583 84.272537) + (xy 86.136994 84.267724) + (xy 86.982724 83.421994) + (xy 86.987537 83.417583) + (xy 87.01736 83.39256) + (xy 87.03682 83.358853) + (xy 87.040319 83.35336) + (xy 87.062652 83.321466) + (xy 87.064354 83.31511) + (xy 87.067136 83.309147) + (xy 87.067145 83.309151) + (xy 87.067901 83.307324) + (xy 87.067891 83.307321) + (xy 87.07014 83.30114) + (xy 87.073432 83.29544) + (xy 87.080188 83.25712) + (xy 87.081605 83.250728) + (xy 87.091677 83.213143) + (xy 87.088286 83.174379) + (xy 87.088 83.167826) + (xy 87.088 82.204868) + (xy 87.093724 82.17609) + (xy 87.110026 82.151694) + (xy 87.371447 81.890273) + (xy 88.159414 81.102304) + (xy 88.201552 81.081094) + (xy 88.248035 81.089159) + (xy 88.274699 81.103412) + (xy 88.470928 81.162938) + (xy 88.675 81.183037) + (xy 88.879072 81.162938) + (xy 89.075301 81.103412) + (xy 89.101962 81.08916) + (xy 89.148445 81.081094) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 95.682076 81.967318) + (xy 95.709579 82.003466) + (xy 95.711251 82.048857) + (xy 95.686481 82.08693) + (xy 95.551722 82.197523) + (xy 95.551716 82.197528) + (xy 95.548867 82.199867) + (xy 95.546528 82.202716) + (xy 95.546523 82.202722) + (xy 95.43212 82.342123) + (xy 95.432117 82.342127) + (xy 95.429776 82.34498) + (xy 95.428036 82.348233) + (xy 95.428034 82.348238) + (xy 95.343023 82.50728) + (xy 95.343018 82.507292) + (xy 95.341283 82.510538) + (xy 95.340212 82.514066) + (xy 95.340212 82.514068) + (xy 95.288318 82.685139) + (xy 95.286789 82.690179) + (xy 95.286427 82.693847) + (xy 95.286427 82.693851) + (xy 95.269139 82.869385) + (xy 95.268389 82.877) + (xy 95.268751 82.880676) + (xy 95.286215 83.058) + (xy 95.286789 83.063821) + (xy 95.287859 83.06735) + (xy 95.28786 83.067352) + (xy 95.302011 83.114) + (xy 95.341283 83.243462) + (xy 95.343019 83.246711) + (xy 95.343023 83.246719) + (xy 95.413962 83.379435) + (xy 95.429776 83.40902) + (xy 95.456663 83.441782) + (xy 95.496664 83.490524) + (xy 95.548867 83.554133) + (xy 95.680866 83.662462) + (xy 95.69398 83.673224) + (xy 95.692793 83.67467) + (xy 95.71745 83.706277) + (xy 95.718602 83.753437) + (xy 95.691435 83.792004) + (xy 95.646642 83.8068) + (xy 94.305358 83.8068) + (xy 94.260565 83.792004) + (xy 94.233398 83.753437) + (xy 94.23455 83.706277) + (xy 94.259206 83.67467) + (xy 94.25802 83.673224) + (xy 94.266046 83.666637) + (xy 94.403133 83.554133) + (xy 94.522224 83.40902) + (xy 94.610717 83.243462) + (xy 94.665211 83.063821) + (xy 94.682475 82.888539) + (xy 94.683249 82.880676) + (xy 94.683611 82.877) + (xy 94.682849 82.869268) + (xy 94.679931 82.83964) + (xy 94.665211 82.690179) + (xy 94.610717 82.510538) + (xy 94.608862 82.507068) + (xy 94.540944 82.380003) + (xy 94.522224 82.34498) + (xy 94.403133 82.199867) + (xy 94.397165 82.194969) + (xy 94.265519 82.08693) + (xy 94.240749 82.048857) + (xy 94.242421 82.003466) + (xy 94.269924 81.967318) + (xy 94.313225 81.9536) + (xy 95.638775 81.9536) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 100.9624 21.010075) + (xy 100.989925 21.0376) + (xy 101 21.0752) + (xy 101 26) + (xy 103 28) + (xy 103.007405 28) + (xy 107.9248 28) + (xy 107.9624 28.010075) + (xy 107.989925 28.0376) + (xy 108 28.0752) + (xy 108 111.9248) + (xy 107.989925 111.9624) + (xy 107.9624 111.989925) + (xy 107.9248 112) + (xy 103 112) + (xy 102.994764 112.005235) + (xy 102.994761 112.005238) + (xy 101.005238 113.994761) + (xy 101.005235 113.994764) + (xy 101 114) + (xy 101 114.007405) + (xy 101 118.9248) + (xy 100.989925 118.9624) + (xy 100.9624 118.989925) + (xy 100.9248 119) + (xy 32.0752 119) + (xy 32.0376 118.989925) + (xy 32.010075 118.9624) + (xy 32 118.9248) + (xy 32 117.975491) + (xy 65.9825 117.975491) + (xy 65.982773 117.980016) + (xy 65.997093 118.097949) + (xy 65.999253 118.106712) + (xy 66.055488 118.254992) + (xy 66.059687 118.262993) + (xy 66.149773 118.393505) + (xy 66.155762 118.400265) + (xy 66.274468 118.505429) + (xy 66.281897 118.510557) + (xy 66.422319 118.584256) + (xy 66.43076 118.587457) + (xy 66.534886 118.613122) + (xy 66.543448 118.612604) + (xy 66.546 118.604416) + (xy 66.8 118.604416) + (xy 66.802551 118.612604) + (xy 66.811113 118.613122) + (xy 66.915239 118.587457) + (xy 66.92368 118.584256) + (xy 67.064102 118.510557) + (xy 67.071531 118.505429) + (xy 67.190237 118.400265) + (xy 67.196226 118.393505) + (xy 67.286312 118.262993) + (xy 67.290511 118.254992) + (xy 67.346746 118.106712) + (xy 67.348906 118.097949) + (xy 67.363226 117.980016) + (xy 67.3635 117.975491) + (xy 74.6225 117.975491) + (xy 74.622773 117.980016) + (xy 74.637093 118.097949) + (xy 74.639253 118.106712) + (xy 74.695488 118.254992) + (xy 74.699687 118.262993) + (xy 74.789773 118.393505) + (xy 74.795762 118.400265) + (xy 74.914468 118.505429) + (xy 74.921897 118.510557) + (xy 75.062319 118.584256) + (xy 75.07076 118.587457) + (xy 75.174886 118.613122) + (xy 75.183448 118.612604) + (xy 75.186 118.604416) + (xy 75.44 118.604416) + (xy 75.442551 118.612604) + (xy 75.451113 118.613122) + (xy 75.555239 118.587457) + (xy 75.56368 118.584256) + (xy 75.704102 118.510557) + (xy 75.711531 118.505429) + (xy 75.830237 118.400265) + (xy 75.836226 118.393505) + (xy 75.926312 118.262993) + (xy 75.930511 118.254992) + (xy 75.986746 118.106712) + (xy 75.988906 118.097949) + (xy 76.003226 117.980016) + (xy 76.0035 117.975491) + (xy 76.0035 117.772902) + (xy 76.001407 117.765092) + (xy 75.993598 117.763) + (xy 75.449902 117.763) + (xy 75.442092 117.765092) + (xy 75.44 117.772902) + (xy 75.44 118.604416) + (xy 75.186 118.604416) + (xy 75.186 117.772902) + (xy 75.183907 117.765092) + (xy 75.176098 117.763) + (xy 74.632402 117.763) + (xy 74.624592 117.765092) + (xy 74.6225 117.772902) + (xy 74.6225 117.975491) + (xy 67.3635 117.975491) + (xy 67.3635 117.772902) + (xy 67.361407 117.765092) + (xy 67.353598 117.763) + (xy 66.809902 117.763) + (xy 66.802092 117.765092) + (xy 66.8 117.772902) + (xy 66.8 118.604416) + (xy 66.546 118.604416) + (xy 66.546 117.772902) + (xy 66.543907 117.765092) + (xy 66.536098 117.763) + (xy 65.992402 117.763) + (xy 65.984592 117.765092) + (xy 65.9825 117.772902) + (xy 65.9825 117.975491) + (xy 32 117.975491) + (xy 32 117.499098) + (xy 65.9825 117.499098) + (xy 65.984592 117.506907) + (xy 65.992402 117.509) + (xy 66.536098 117.509) + (xy 66.543907 117.506907) + (xy 66.546 117.499098) + (xy 66.8 117.499098) + (xy 66.802092 117.506907) + (xy 66.809902 117.509) + (xy 67.353598 117.509) + (xy 67.361407 117.506907) + (xy 67.3635 117.499098) + (xy 74.6225 117.499098) + (xy 74.624592 117.506907) + (xy 74.632402 117.509) + (xy 75.176098 117.509) + (xy 75.183907 117.506907) + (xy 75.186 117.499098) + (xy 75.44 117.499098) + (xy 75.442092 117.506907) + (xy 75.449902 117.509) + (xy 75.993598 117.509) + (xy 76.001407 117.506907) + (xy 76.0035 117.499098) + (xy 76.0035 117.296509) + (xy 76.003226 117.291983) + (xy 75.988906 117.17405) + (xy 75.986746 117.165287) + (xy 75.930511 117.017007) + (xy 75.926312 117.009006) + (xy 75.836226 116.878494) + (xy 75.830237 116.871734) + (xy 75.711531 116.76657) + (xy 75.704102 116.761442) + (xy 75.56368 116.687743) + (xy 75.555239 116.684542) + (xy 75.451113 116.658877) + (xy 75.442551 116.659395) + (xy 75.44 116.667584) + (xy 75.44 117.499098) + (xy 75.186 117.499098) + (xy 75.186 116.667584) + (xy 75.183448 116.659395) + (xy 75.174886 116.658877) + (xy 75.07076 116.684542) + (xy 75.062319 116.687743) + (xy 74.921897 116.761442) + (xy 74.914468 116.76657) + (xy 74.795762 116.871734) + (xy 74.789773 116.878494) + (xy 74.699687 117.009006) + (xy 74.695488 117.017007) + (xy 74.639253 117.165287) + (xy 74.637093 117.17405) + (xy 74.622773 117.291983) + (xy 74.6225 117.296509) + (xy 74.6225 117.499098) + (xy 67.3635 117.499098) + (xy 67.3635 117.296509) + (xy 67.363226 117.291983) + (xy 67.348906 117.17405) + (xy 67.346746 117.165287) + (xy 67.290511 117.017007) + (xy 67.286312 117.009006) + (xy 67.196226 116.878494) + (xy 67.190237 116.871734) + (xy 67.071531 116.76657) + (xy 67.064102 116.761442) + (xy 66.92368 116.687743) + (xy 66.915239 116.684542) + (xy 66.811113 116.658877) + (xy 66.802551 116.659395) + (xy 66.8 116.667584) + (xy 66.8 117.499098) + (xy 66.546 117.499098) + (xy 66.546 116.667584) + (xy 66.543448 116.659395) + (xy 66.534886 116.658877) + (xy 66.43076 116.684542) + (xy 66.422319 116.687743) + (xy 66.281897 116.761442) + (xy 66.274468 116.76657) + (xy 66.155762 116.871734) + (xy 66.149773 116.878494) + (xy 66.059687 117.009006) + (xy 66.055488 117.017007) + (xy 65.999253 117.165287) + (xy 65.997093 117.17405) + (xy 65.982773 117.291983) + (xy 65.9825 117.296509) + (xy 65.9825 117.499098) + (xy 32 117.499098) + (xy 32 116.625287) + (xy 61.865406 116.625287) + (xy 61.869779 116.632228) + (xy 61.887919 116.648765) + (xy 61.893446 116.652939) + (xy 62.075118 116.765426) + (xy 62.081317 116.768513) + (xy 62.280563 116.845701) + (xy 62.287227 116.847598) + (xy 62.497274 116.886862) + (xy 62.504155 116.8875) + (xy 62.717845 116.8875) + (xy 62.724725 116.886862) + (xy 62.934772 116.847598) + (xy 62.941436 116.845701) + (xy 63.140682 116.768513) + (xy 63.146881 116.765426) + (xy 63.328554 116.652939) + (xy 63.334079 116.648766) + (xy 63.35222 116.632228) + (xy 63.356592 116.625287) + (xy 63.352544 116.618149) + (xy 62.618 115.883605) + (xy 62.611 115.879563) + (xy 62.603999 115.883605) + (xy 61.869454 116.618149) + (xy 61.865406 116.625287) + (xy 32 116.625287) + (xy 32 115.820777) + (xy 38.209819 115.820777) + (xy 38.215715 115.83302) + (xy 38.215719 115.833027) + (xy 38.221279 115.848917) + (xy 38.222422 115.853925) + (xy 38.222423 115.853928) + (xy 38.224308 115.862185) + (xy 38.229589 115.868807) + (xy 38.23279 115.872822) + (xy 38.241743 115.887071) + (xy 38.24397 115.891694) + (xy 38.243972 115.891696) + (xy 38.247649 115.899331) + (xy 38.258282 115.90781) + (xy 38.27019 115.919718) + (xy 38.270449 115.920043) + (xy 38.273387 115.923728) + (xy 38.273389 115.923729) + (xy 38.27867 115.930352) + (xy 38.290921 115.936252) + (xy 38.305177 115.945209) + (xy 38.315816 115.953693) + (xy 38.329076 115.956719) + (xy 38.344971 115.962281) + (xy 38.349587 115.964504) + (xy 38.357224 115.968182) + (xy 38.379298 115.968182) + (xy 38.444414 115.968182) + (xy 41.380479 115.968182) + (xy 41.423521 115.968182) + (xy 44.359587 115.968182) + (xy 44.424703 115.968182) + (xy 44.438303 115.968182) + (xy 44.446777 115.968182) + (xy 44.459021 115.962284) + (xy 44.474929 115.956718) + (xy 44.476253 115.956415) + (xy 44.488185 115.953693) + (xy 44.498817 115.945213) + (xy 44.513078 115.936253) + (xy 44.517693 115.93403) + (xy 44.517692 115.93403) + (xy 44.525331 115.930352) + (xy 44.533811 115.919716) + (xy 44.545716 115.907811) + (xy 44.556352 115.899331) + (xy 44.562253 115.887078) + (xy 44.571214 115.872817) + (xy 44.579693 115.862185) + (xy 44.582718 115.848929) + (xy 44.588285 115.83302) + (xy 44.594182 115.820777) + (xy 44.594182 115.733587) + (xy 44.594182 114.836143) + (xy 45.779323 114.836143) + (xy 45.781024 114.842493) + (xy 45.781025 114.842498) + (xy 45.789394 114.873731) + (xy 45.790813 114.880133) + (xy 45.796425 114.911961) + (xy 45.796426 114.911963) + (xy 45.797568 114.91844) + (xy 45.800856 114.924136) + (xy 45.803107 114.930319) + (xy 45.803098 114.930321) + (xy 45.803857 114.932153) + (xy 45.803865 114.93215) + (xy 45.806644 114.938111) + (xy 45.808348 114.944466) + (xy 45.821425 114.963143) + (xy 45.830662 114.976335) + (xy 45.834185 114.981866) + (xy 45.850348 115.009861) + (xy 45.850353 115.009867) + (xy 45.85364 115.01556) + (xy 45.858678 115.019787) + (xy 45.883448 115.040572) + (xy 45.888284 115.045004) + (xy 46.879995 116.036715) + (xy 46.884427 116.041551) + (xy 46.90944 116.07136) + (xy 46.943134 116.090813) + (xy 46.948658 116.094332) + (xy 46.980534 116.116652) + (xy 46.986886 116.118353) + (xy 46.992852 116.121136) + (xy 46.992848 116.121144) + (xy 46.994678 116.121902) + (xy 46.994682 116.121893) + (xy 47.000861 116.124142) + (xy 47.00656 116.127432) + (xy 47.044882 116.134188) + (xy 47.051275 116.135606) + (xy 47.088857 116.145677) + (xy 47.127616 116.142285) + (xy 47.13417 116.142) + (xy 56.37083 116.142) + (xy 56.377383 116.142285) + (xy 56.416143 116.145677) + (xy 56.453728 116.135605) + (xy 56.460121 116.134187) + (xy 56.49844 116.127432) + (xy 56.50414 116.12414) + (xy 56.510321 116.121891) + (xy 56.510324 116.121901) + (xy 56.512151 116.121145) + (xy 56.512147 116.121136) + (xy 56.51811 116.118354) + (xy 56.524466 116.116652) + (xy 56.55636 116.094319) + (xy 56.561853 116.09082) + (xy 56.59556 116.07136) + (xy 56.620583 116.041537) + (xy 56.624994 116.036724) + (xy 56.961254 115.700464) + (xy 61.415721 115.700464) + (xy 61.435435 115.913221) + (xy 61.43671 115.920043) + (xy 61.495181 116.125547) + (xy 61.497689 116.132019) + (xy 61.59293 116.323291) + (xy 61.596574 116.329175) + (xy 61.677262 116.436023) + (xy 61.684011 116.441038) + (xy 61.691391 116.437002) + (xy 62.424394 115.704) + (xy 62.428436 115.697) + (xy 62.793563 115.697) + (xy 62.797605 115.704) + (xy 63.530607 116.437002) + (xy 63.537987 116.441039) + (xy 63.544734 116.436026) + (xy 63.625427 116.329172) + (xy 63.629069 116.323291) + (xy 63.72431 116.132019) + (xy 63.726818 116.125547) + (xy 63.785289 115.920043) + (xy 63.786564 115.913221) + (xy 63.806279 115.700464) + (xy 63.806279 115.693536) + (xy 63.786564 115.480778) + (xy 63.785289 115.473956) + (xy 63.726818 115.268452) + (xy 63.72431 115.26198) + (xy 63.629069 115.070708) + (xy 63.625425 115.064824) + (xy 63.544736 114.957975) + (xy 63.537987 114.95296) + (xy 63.530607 114.956996) + (xy 62.797605 115.689999) + (xy 62.793563 115.697) + (xy 62.428436 115.697) + (xy 62.424394 115.689999) + (xy 61.691391 114.956996) + (xy 61.684011 114.95296) + (xy 61.677263 114.957975) + (xy 61.596574 115.064824) + (xy 61.59293 115.070708) + (xy 61.497689 115.26198) + (xy 61.495181 115.268452) + (xy 61.43671 115.473956) + (xy 61.435435 115.480778) + (xy 61.415721 115.693536) + (xy 61.415721 115.700464) + (xy 56.961254 115.700464) + (xy 57.489724 115.171994) + (xy 57.494537 115.167583) + (xy 57.52436 115.14256) + (xy 57.54382 115.108853) + (xy 57.547319 115.10336) + (xy 57.569652 115.071466) + (xy 57.571354 115.06511) + (xy 57.574136 115.059147) + (xy 57.574145 115.059151) + (xy 57.574901 115.057324) + (xy 57.574891 115.057321) + (xy 57.57714 115.05114) + (xy 57.580432 115.04544) + (xy 57.587187 115.007121) + (xy 57.588605 115.000728) + (xy 57.598677 114.963143) + (xy 57.595285 114.924383) + (xy 57.595 114.91783) + (xy 57.595 114.768712) + (xy 61.865406 114.768712) + (xy 61.869454 114.775849) + (xy 62.603999 115.510394) + (xy 62.611 115.514436) + (xy 62.618 115.510394) + (xy 63.352544 114.775849) + (xy 63.356592 114.768711) + (xy 63.352221 114.761771) + (xy 63.33408 114.745234) + (xy 63.328553 114.74106) + (xy 63.146881 114.628573) + (xy 63.140682 114.625486) + (xy 62.941436 114.548298) + (xy 62.934772 114.546401) + (xy 62.724725 114.507137) + (xy 62.717845 114.5065) + (xy 62.504155 114.5065) + (xy 62.497274 114.507137) + (xy 62.287227 114.546401) + (xy 62.280563 114.548298) + (xy 62.081317 114.625486) + (xy 62.075118 114.628573) + (xy 61.89344 114.741063) + (xy 61.887924 114.745229) + (xy 61.869779 114.761769) + (xy 61.865406 114.768712) + (xy 57.595 114.768712) + (xy 57.595 114.045491) + (xy 65.9825 114.045491) + (xy 65.982773 114.050016) + (xy 65.997093 114.167949) + (xy 65.999253 114.176712) + (xy 66.055488 114.324992) + (xy 66.059687 114.332993) + (xy 66.149773 114.463505) + (xy 66.155762 114.470265) + (xy 66.274468 114.575429) + (xy 66.281897 114.580557) + (xy 66.422319 114.654256) + (xy 66.43076 114.657457) + (xy 66.534886 114.683122) + (xy 66.543448 114.682604) + (xy 66.546 114.674416) + (xy 66.8 114.674416) + (xy 66.802551 114.682604) + (xy 66.811113 114.683122) + (xy 66.915239 114.657457) + (xy 66.92368 114.654256) + (xy 67.064102 114.580557) + (xy 67.071531 114.575429) + (xy 67.190237 114.470265) + (xy 67.196226 114.463505) + (xy 67.286312 114.332993) + (xy 67.290511 114.324992) + (xy 67.346746 114.176712) + (xy 67.348906 114.167949) + (xy 67.363226 114.050016) + (xy 67.3635 114.045491) + (xy 67.3635 113.5317) + (xy 67.373575 113.4941) + (xy 67.4011 113.466575) + (xy 67.4387 113.4565) + (xy 67.631408 113.4565) + (xy 67.671119 113.46784) + (xy 67.698853 113.49844) + (xy 67.706246 113.539071) + (xy 67.691068 113.577479) + (xy 67.6033 113.691859) + (xy 67.603297 113.691862) + (xy 67.600302 113.695767) + (xy 67.598421 113.700307) + (xy 67.598417 113.700315) + (xy 67.546219 113.826333) + (xy 67.542313 113.835764) + (xy 67.541671 113.84064) + (xy 67.54167 113.840644) + (xy 67.526639 113.954816) + (xy 67.522534 113.986) + (xy 67.523177 113.990884) + (xy 67.540342 114.121269) + (xy 67.542313 114.136236) + (xy 67.550342 114.15562) + (xy 67.598417 114.271684) + (xy 67.598419 114.271688) + (xy 67.600302 114.276233) + (xy 67.692549 114.396451) + (xy 67.812767 114.488698) + (xy 67.952764 114.546687) + (xy 68.06528 114.5615) + (xy 68.138263 114.5615) + (xy 68.14072 114.5615) + (xy 68.253236 114.546687) + (xy 68.393233 114.488698) + (xy 68.513451 114.396451) + (xy 68.605698 114.276233) + (xy 68.663687 114.136236) + (xy 68.683466 113.986) + (xy 68.663687 113.835764) + (xy 68.605698 113.695767) + (xy 68.552628 113.626605) + (xy 68.515316 113.577979) + (xy 68.500138 113.539571) + (xy 68.507531 113.49894) + (xy 68.535265 113.46834) + (xy 68.574976 113.457) + (xy 68.858116 113.457) + (xy 68.861812 113.457) + (xy 68.917525 113.445918) + (xy 68.926221 113.440107) + (xy 68.968 113.427433) + (xy 69.009778 113.440107) + (xy 69.018475 113.445918) + (xy 69.074188 113.457) + (xy 69.077884 113.457) + (xy 69.3498 113.457) + (xy 69.3874 113.467075) + (xy 69.414925 113.4946) + (xy 69.425 113.5322) + (xy 69.425 115.19183) + (xy 69.424714 115.198383) + (xy 69.421323 115.237143) + (xy 69.423024 115.243493) + (xy 69.423025 115.243498) + (xy 69.431394 115.274731) + (xy 69.432813 115.281133) + (xy 69.438425 115.312961) + (xy 69.438426 115.312963) + (xy 69.439568 115.31944) + (xy 69.442856 115.325136) + (xy 69.445107 115.331319) + (xy 69.445098 115.331321) + (xy 69.445857 115.333153) + (xy 69.445865 115.33315) + (xy 69.448644 115.339111) + (xy 69.450348 115.345466) + (xy 69.454121 115.350854) + (xy 69.472662 115.377335) + (xy 69.476185 115.382866) + (xy 69.492348 115.410861) + (xy 69.492353 115.410867) + (xy 69.49564 115.41656) + (xy 69.500678 115.420787) + (xy 69.525448 115.441572) + (xy 69.530284 115.446004) + (xy 70.120995 116.036715) + (xy 70.125427 116.041551) + (xy 70.15044 116.07136) + (xy 70.184144 116.090819) + (xy 70.189646 116.094323) + (xy 70.221534 116.116651) + (xy 70.22789 116.118354) + (xy 70.233852 116.121134) + (xy 70.233847 116.121143) + (xy 70.235675 116.1219) + (xy 70.235679 116.121892) + (xy 70.241862 116.124142) + (xy 70.24756 116.127432) + (xy 70.285885 116.134189) + (xy 70.29227 116.135604) + (xy 70.329857 116.145677) + (xy 70.368616 116.142285) + (xy 70.37517 116.142) + (xy 78.97683 116.142) + (xy 78.983383 116.142285) + (xy 79.022143 116.145677) + (xy 79.059728 116.135605) + (xy 79.066121 116.134187) + (xy 79.10444 116.127432) + (xy 79.11014 116.12414) + (xy 79.116321 116.121891) + (xy 79.116324 116.121901) + (xy 79.118151 116.121145) + (xy 79.118147 116.121136) + (xy 79.12411 116.118354) + (xy 79.130466 116.116652) + (xy 79.16236 116.094319) + (xy 79.167853 116.09082) + (xy 79.20156 116.07136) + (xy 79.226583 116.041537) + (xy 79.230994 116.036724) + (xy 80.095724 115.171994) + (xy 80.100537 115.167583) + (xy 80.13036 115.14256) + (xy 80.14982 115.108853) + (xy 80.153319 115.10336) + (xy 80.175652 115.071466) + (xy 80.177354 115.06511) + (xy 80.180136 115.059147) + (xy 80.180145 115.059151) + (xy 80.180901 115.057324) + (xy 80.180891 115.057321) + (xy 80.18314 115.05114) + (xy 80.186432 115.04544) + (xy 80.193187 115.007121) + (xy 80.194605 115.000728) + (xy 80.204677 114.963143) + (xy 80.201285 114.924383) + (xy 80.201 114.91783) + (xy 80.201 114.254291) + (xy 80.209196 114.220151) + (xy 80.231998 114.193454) + (xy 80.264435 114.180017) + (xy 80.265687 114.179818) + (xy 80.280332 114.177499) + (xy 80.390689 114.121269) + (xy 80.478269 114.033689) + (xy 80.534499 113.923332) + (xy 80.549 113.831774) + (xy 80.549 113.370226) + (xy 80.534499 113.278668) + (xy 80.529712 113.269274) + (xy 80.49411 113.1994) + (xy 80.478269 113.168311) + (xy 80.390689 113.080731) + (xy 80.383298 113.076965) + (xy 80.285605 113.027187) + (xy 80.2856 113.027185) + (xy 80.280332 113.024501) + (xy 80.27449 113.023575) + (xy 80.274485 113.023574) + (xy 80.191692 113.010462) + (xy 80.19169 113.010461) + (xy 80.188774 113.01) + (xy 79.577226 113.01) + (xy 79.57431 113.010461) + (xy 79.574307 113.010462) + (xy 79.491514 113.023574) + (xy 79.491507 113.023576) + (xy 79.485668 113.024501) + (xy 79.4804 113.027184) + (xy 79.480394 113.027187) + (xy 79.380587 113.078042) + (xy 79.380583 113.078044) + (xy 79.375311 113.080731) + (xy 79.371124 113.084917) + (xy 79.371121 113.08492) + (xy 79.29192 113.164121) + (xy 79.291917 113.164124) + (xy 79.287731 113.168311) + (xy 79.285044 113.173583) + (xy 79.285042 113.173587) + (xy 79.234187 113.273394) + (xy 79.234184 113.2734) + (xy 79.231501 113.278668) + (xy 79.230576 113.284507) + (xy 79.230574 113.284514) + (xy 79.218851 113.358537) + (xy 79.217 113.370226) + (xy 79.217 113.831774) + (xy 79.217461 113.83469) + (xy 79.217462 113.834692) + (xy 79.230574 113.917485) + (xy 79.230575 113.91749) + (xy 79.231501 113.923332) + (xy 79.234185 113.9286) + (xy 79.234187 113.928605) + (xy 79.285042 114.028412) + (xy 79.287731 114.033689) + (xy 79.375311 114.121269) + (xy 79.485668 114.177499) + (xy 79.500126 114.179789) + (xy 79.501565 114.180017) + (xy 79.534002 114.193454) + (xy 79.556804 114.220151) + (xy 79.565 114.254291) + (xy 79.565 114.772132) + (xy 79.559276 114.80091) + (xy 79.542974 114.825306) + (xy 78.884306 115.483974) + (xy 78.85991 115.500276) + (xy 78.831132 115.506) + (xy 78.165268 115.506) + (xy 78.123489 115.493327) + (xy 78.095792 115.459578) + (xy 78.091513 115.416129) + (xy 78.112093 115.377626) + (xy 78.176758 115.312961) + (xy 78.444724 115.044993) + (xy 78.449537 115.040583) + (xy 78.47936 115.01556) + (xy 78.498813 114.981865) + (xy 78.50234 114.976328) + (xy 78.502588 114.975974) + (xy 78.524651 114.944466) + (xy 78.526354 114.938109) + (xy 78.529134 114.932148) + (xy 78.529144 114.932152) + (xy 78.529901 114.930324) + (xy 78.529891 114.930321) + (xy 78.53214 114.92414) + (xy 78.535432 114.91844) + (xy 78.542189 114.880112) + (xy 78.543605 114.873724) + (xy 78.553677 114.836143) + (xy 78.550285 114.797383) + (xy 78.55 114.79083) + (xy 78.55 114.254291) + (xy 78.558196 114.220151) + (xy 78.580998 114.193454) + (xy 78.613435 114.180017) + (xy 78.614687 114.179818) + (xy 78.629332 114.177499) + (xy 78.739689 114.121269) + (xy 78.827269 114.033689) + (xy 78.883499 113.923332) + (xy 78.898 113.831774) + (xy 78.898 113.370226) + (xy 78.883499 113.278668) + (xy 78.878712 113.269274) + (xy 78.84311 113.1994) + (xy 78.827269 113.168311) + (xy 78.739689 113.080731) + (xy 78.732298 113.076965) + (xy 78.634605 113.027187) + (xy 78.6346 113.027185) + (xy 78.629332 113.024501) + (xy 78.62349 113.023575) + (xy 78.623485 113.023574) + (xy 78.540692 113.010462) + (xy 78.54069 113.010461) + (xy 78.537774 113.01) + (xy 77.926226 113.01) + (xy 77.92331 113.010461) + (xy 77.923307 113.010462) + (xy 77.840514 113.023574) + (xy 77.840507 113.023576) + (xy 77.834668 113.024501) + (xy 77.8294 113.027184) + (xy 77.829394 113.027187) + (xy 77.729587 113.078042) + (xy 77.729583 113.078044) + (xy 77.724311 113.080731) + (xy 77.720124 113.084917) + (xy 77.720121 113.08492) + (xy 77.64092 113.164121) + (xy 77.640917 113.164124) + (xy 77.636731 113.168311) + (xy 77.634044 113.173583) + (xy 77.634042 113.173587) + (xy 77.583187 113.273394) + (xy 77.583184 113.2734) + (xy 77.580501 113.278668) + (xy 77.579576 113.284507) + (xy 77.579574 113.284514) + (xy 77.567851 113.358537) + (xy 77.566 113.370226) + (xy 77.566 113.831774) + (xy 77.566461 113.83469) + (xy 77.566462 113.834692) + (xy 77.579574 113.917485) + (xy 77.579575 113.91749) + (xy 77.580501 113.923332) + (xy 77.583185 113.9286) + (xy 77.583187 113.928605) + (xy 77.634042 114.028412) + (xy 77.636731 114.033689) + (xy 77.724311 114.121269) + (xy 77.834668 114.177499) + (xy 77.849126 114.179789) + (xy 77.850565 114.180017) + (xy 77.883002 114.193454) + (xy 77.905804 114.220151) + (xy 77.914 114.254291) + (xy 77.914 114.645132) + (xy 77.908276 114.67391) + (xy 77.891974 114.698307) + (xy 77.614305 114.975975) + (xy 77.589909 114.992276) + (xy 77.561131 114.998) + (xy 73.441868 114.998) + (xy 73.41309 114.992276) + (xy 73.388693 114.975974) + (xy 73.083025 114.670305) + (xy 73.066724 114.645909) + (xy 73.061 114.617131) + (xy 73.061 113.5322) + (xy 73.071075 113.4946) + (xy 73.0986 113.467075) + (xy 73.1362 113.457) + (xy 73.411024 113.457) + (xy 73.450735 113.46834) + (xy 73.478469 113.49894) + (xy 73.485862 113.539571) + (xy 73.470684 113.577979) + (xy 73.3833 113.691859) + (xy 73.383297 113.691862) + (xy 73.380302 113.695767) + (xy 73.378421 113.700307) + (xy 73.378417 113.700315) + (xy 73.326219 113.826333) + (xy 73.322313 113.835764) + (xy 73.321671 113.84064) + (xy 73.32167 113.840644) + (xy 73.306639 113.954816) + (xy 73.302534 113.986) + (xy 73.303177 113.990884) + (xy 73.320342 114.121269) + (xy 73.322313 114.136236) + (xy 73.330342 114.15562) + (xy 73.378417 114.271684) + (xy 73.378419 114.271688) + (xy 73.380302 114.276233) + (xy 73.472549 114.396451) + (xy 73.592767 114.488698) + (xy 73.732764 114.546687) + (xy 73.84528 114.5615) + (xy 73.918263 114.5615) + (xy 73.92072 114.5615) + (xy 74.033236 114.546687) + (xy 74.173233 114.488698) + (xy 74.293451 114.396451) + (xy 74.385698 114.276233) + (xy 74.443687 114.136236) + (xy 74.463466 113.986) + (xy 74.443687 113.835764) + (xy 74.385698 113.695767) + (xy 74.307581 113.593963) + (xy 74.294932 113.577479) + (xy 74.279754 113.539071) + (xy 74.287147 113.49844) + (xy 74.314881 113.46784) + (xy 74.354592 113.4565) + (xy 74.5473 113.4565) + (xy 74.5849 113.466575) + (xy 74.612425 113.4941) + (xy 74.6225 113.5317) + (xy 74.6225 114.045491) + (xy 74.622773 114.050016) + (xy 74.637093 114.167949) + (xy 74.639253 114.176712) + (xy 74.695488 114.324992) + (xy 74.699687 114.332993) + (xy 74.789773 114.463505) + (xy 74.795762 114.470265) + (xy 74.914468 114.575429) + (xy 74.921897 114.580557) + (xy 75.062319 114.654256) + (xy 75.07076 114.657457) + (xy 75.174886 114.683122) + (xy 75.183448 114.682604) + (xy 75.186 114.674416) + (xy 75.44 114.674416) + (xy 75.442551 114.682604) + (xy 75.451113 114.683122) + (xy 75.555239 114.657457) + (xy 75.56368 114.654256) + (xy 75.704102 114.580557) + (xy 75.711531 114.575429) + (xy 75.830237 114.470265) + (xy 75.836226 114.463505) + (xy 75.926312 114.332993) + (xy 75.930511 114.324992) + (xy 75.986746 114.176712) + (xy 75.988906 114.167949) + (xy 76.003226 114.050016) + (xy 76.0035 114.045491) + (xy 76.0035 113.592902) + (xy 76.001407 113.585092) + (xy 75.993598 113.583) + (xy 75.449902 113.583) + (xy 75.442092 113.585092) + (xy 75.44 113.592902) + (xy 75.44 114.674416) + (xy 75.186 114.674416) + (xy 75.186 113.319098) + (xy 75.44 113.319098) + (xy 75.442092 113.326907) + (xy 75.449902 113.329) + (xy 75.993598 113.329) + (xy 76.001407 113.326907) + (xy 76.0035 113.319098) + (xy 76.0035 112.866509) + (xy 76.003226 112.861983) + (xy 75.988906 112.74405) + (xy 75.986746 112.735287) + (xy 75.930511 112.587007) + (xy 75.926312 112.579006) + (xy 75.836226 112.448494) + (xy 75.830237 112.441734) + (xy 75.711531 112.33657) + (xy 75.704102 112.331442) + (xy 75.56368 112.257743) + (xy 75.555239 112.254542) + (xy 75.451113 112.228877) + (xy 75.442551 112.229395) + (xy 75.44 112.237584) + (xy 75.44 113.319098) + (xy 75.186 113.319098) + (xy 75.186 112.237584) + (xy 75.183448 112.229395) + (xy 75.174886 112.228877) + (xy 75.07076 112.254542) + (xy 75.062319 112.257743) + (xy 74.921897 112.331442) + (xy 74.914468 112.33657) + (xy 74.858567 112.386095) + (xy 74.820015 112.404151) + (xy 74.777837 112.398382) + (xy 74.74555 112.370637) + (xy 74.7335 112.329807) + (xy 74.7335 112.178779) + (xy 77.566501 112.178779) + (xy 77.566963 112.184654) + (xy 77.580057 112.267328) + (xy 77.583669 112.278447) + (xy 77.634452 112.378114) + (xy 77.64133 112.38758) + (xy 77.720419 112.466669) + (xy 77.729885 112.473547) + (xy 77.829551 112.52433) + (xy 77.840671 112.527943) + (xy 77.923346 112.541037) + (xy 77.929219 112.5415) + (xy 78.095098 112.5415) + (xy 78.102907 112.539407) + (xy 78.105 112.531598) + (xy 78.105 112.531597) + (xy 78.359 112.531597) + (xy 78.361092 112.539406) + (xy 78.368902 112.541499) + (xy 78.534779 112.541499) + (xy 78.540654 112.541036) + (xy 78.623328 112.527942) + (xy 78.634447 112.52433) + (xy 78.734114 112.473547) + (xy 78.74358 112.466669) + (xy 78.822669 112.38758) + (xy 78.829547 112.378114) + (xy 78.88033 112.278448) + (xy 78.883943 112.267328) + (xy 78.897037 112.184653) + (xy 78.8975 112.178781) + (xy 78.8975 112.178779) + (xy 79.217501 112.178779) + (xy 79.217963 112.184654) + (xy 79.231057 112.267328) + (xy 79.234669 112.278447) + (xy 79.285452 112.378114) + (xy 79.29233 112.38758) + (xy 79.371419 112.466669) + (xy 79.380885 112.473547) + (xy 79.480551 112.52433) + (xy 79.491671 112.527943) + (xy 79.574346 112.541037) + (xy 79.580219 112.5415) + (xy 79.746098 112.5415) + (xy 79.753907 112.539407) + (xy 79.756 112.531598) + (xy 79.756 112.531597) + (xy 80.01 112.531597) + (xy 80.012092 112.539406) + (xy 80.019902 112.541499) + (xy 80.185779 112.541499) + (xy 80.191654 112.541036) + (xy 80.274328 112.527942) + (xy 80.285447 112.52433) + (xy 80.385114 112.473547) + (xy 80.39458 112.466669) + (xy 80.473669 112.38758) + (xy 80.480547 112.378114) + (xy 80.53133 112.278448) + (xy 80.534943 112.267328) + (xy 80.548037 112.184653) + (xy 80.5485 112.178781) + (xy 80.5485 112.087902) + (xy 80.546407 112.080092) + (xy 80.538598 112.078) + (xy 80.019902 112.078) + (xy 80.012092 112.080092) + (xy 80.01 112.087902) + (xy 80.01 112.531597) + (xy 79.756 112.531597) + (xy 79.756 112.087902) + (xy 79.753907 112.080092) + (xy 79.746098 112.078) + (xy 79.227403 112.078) + (xy 79.219593 112.080092) + (xy 79.217501 112.087902) + (xy 79.217501 112.178779) + (xy 78.8975 112.178779) + (xy 78.8975 112.087902) + (xy 78.895407 112.080092) + (xy 78.887598 112.078) + (xy 78.368902 112.078) + (xy 78.361092 112.080092) + (xy 78.359 112.087902) + (xy 78.359 112.531597) + (xy 78.105 112.531597) + (xy 78.105 112.087902) + (xy 78.102907 112.080092) + (xy 78.095098 112.078) + (xy 77.576403 112.078) + (xy 77.568593 112.080092) + (xy 77.566501 112.087902) + (xy 77.566501 112.178779) + (xy 74.7335 112.178779) + (xy 74.7335 111.814098) + (xy 77.5665 111.814098) + (xy 77.568592 111.821907) + (xy 77.576402 111.824) + (xy 78.095098 111.824) + (xy 78.102907 111.821907) + (xy 78.105 111.814098) + (xy 78.359 111.814098) + (xy 78.361092 111.821907) + (xy 78.368902 111.824) + (xy 78.887597 111.824) + (xy 78.895406 111.821907) + (xy 78.897499 111.814098) + (xy 79.2175 111.814098) + (xy 79.219592 111.821907) + (xy 79.227402 111.824) + (xy 79.746098 111.824) + (xy 79.753907 111.821907) + (xy 79.756 111.814098) + (xy 80.01 111.814098) + (xy 80.012092 111.821907) + (xy 80.019902 111.824) + (xy 80.538597 111.824) + (xy 80.546406 111.821907) + (xy 80.548499 111.814098) + (xy 80.548499 111.723221) + (xy 80.548036 111.717345) + (xy 80.534942 111.634671) + (xy 80.53133 111.623552) + (xy 80.480547 111.523885) + (xy 80.473669 111.514419) + (xy 80.39458 111.43533) + (xy 80.385114 111.428452) + (xy 80.285448 111.377669) + (xy 80.274328 111.374056) + (xy 80.191653 111.360962) + (xy 80.185781 111.3605) + (xy 80.019902 111.3605) + (xy 80.012092 111.362592) + (xy 80.01 111.370402) + (xy 80.01 111.814098) + (xy 79.756 111.814098) + (xy 79.756 111.370403) + (xy 79.753907 111.362593) + (xy 79.746098 111.360501) + (xy 79.580221 111.360501) + (xy 79.574345 111.360963) + (xy 79.491671 111.374057) + (xy 79.480552 111.377669) + (xy 79.380885 111.428452) + (xy 79.371419 111.43533) + (xy 79.29233 111.514419) + (xy 79.285452 111.523885) + (xy 79.234669 111.623551) + (xy 79.231056 111.634671) + (xy 79.217962 111.717346) + (xy 79.2175 111.723219) + (xy 79.2175 111.814098) + (xy 78.897499 111.814098) + (xy 78.897499 111.723221) + (xy 78.897036 111.717345) + (xy 78.883942 111.634671) + (xy 78.88033 111.623552) + (xy 78.829547 111.523885) + (xy 78.822669 111.514419) + (xy 78.74358 111.43533) + (xy 78.734114 111.428452) + (xy 78.634448 111.377669) + (xy 78.623328 111.374056) + (xy 78.540653 111.360962) + (xy 78.534781 111.3605) + (xy 78.368902 111.3605) + (xy 78.361092 111.362592) + (xy 78.359 111.370402) + (xy 78.359 111.814098) + (xy 78.105 111.814098) + (xy 78.105 111.370403) + (xy 78.102907 111.362593) + (xy 78.095098 111.360501) + (xy 77.929221 111.360501) + (xy 77.923345 111.360963) + (xy 77.840671 111.374057) + (xy 77.829552 111.377669) + (xy 77.729885 111.428452) + (xy 77.720419 111.43533) + (xy 77.64133 111.514419) + (xy 77.634452 111.523885) + (xy 77.583669 111.623551) + (xy 77.580056 111.634671) + (xy 77.566962 111.717346) + (xy 77.5665 111.723219) + (xy 77.5665 111.814098) + (xy 74.7335 111.814098) + (xy 74.7335 111.800934) + (xy 74.732778 111.793613) + (xy 74.723892 111.748936) + (xy 74.718331 111.735511) + (xy 74.684456 111.684813) + (xy 74.674186 111.674543) + (xy 74.623488 111.640668) + (xy 74.610063 111.635107) + (xy 74.565386 111.626221) + (xy 74.558066 111.6255) + (xy 74.379902 111.6255) + (xy 74.372092 111.627592) + (xy 74.37 111.635402) + (xy 74.37 112.5928) + (xy 74.359925 112.6304) + (xy 74.3324 112.657925) + (xy 74.2948 112.668) + (xy 74.0092 112.668) + (xy 73.9716 112.657925) + (xy 73.944075 112.6304) + (xy 73.934 112.5928) + (xy 73.934 112.4892) + (xy 73.944075 112.4516) + (xy 73.9716 112.424075) + (xy 74.0092 112.414) + (xy 74.106098 112.414) + (xy 74.113907 112.411907) + (xy 74.116 112.404098) + (xy 74.116 111.635402) + (xy 74.113907 111.627592) + (xy 74.106098 111.6255) + (xy 73.9632 111.6255) + (xy 73.9256 111.615425) + (xy 73.898075 111.5879) + (xy 73.888 111.5503) + (xy 73.888 110.556207) + (xy 73.888473 110.547788) + (xy 73.889887 110.535239) + (xy 73.892711 110.510173) + (xy 73.88205 110.45383) + (xy 73.881579 110.451056) + (xy 73.880629 110.444755) + (xy 73.873033 110.394353) + (xy 73.870585 110.389271) + (xy 73.86989 110.387017) + (xy 73.869778 110.386566) + (xy 73.869777 110.386562) + (xy 73.869599 110.386132) + (xy 73.868819 110.383903) + (xy 73.867772 110.378366) + (xy 73.865139 110.373384) + (xy 73.865138 110.373381) + (xy 73.840975 110.327663) + (xy 73.839707 110.325151) + (xy 73.835461 110.316335) + (xy 73.814829 110.273491) + (xy 73.810995 110.269359) + (xy 73.809659 110.267399) + (xy 73.809423 110.267007) + (xy 73.809129 110.266652) + (xy 73.807724 110.264749) + (xy 73.805091 110.259766) + (xy 73.764539 110.219214) + (xy 73.762589 110.21719) + (xy 73.72742 110.179287) + (xy 73.723587 110.175156) + (xy 73.718707 110.172338) + (xy 73.716852 110.170859) + (xy 73.710565 110.16524) + (xy 73.106321 109.560996) + (xy 73.100701 109.554708) + (xy 73.080611 109.529516) + (xy 73.080608 109.529513) + (xy 73.077095 109.525108) + (xy 73.072438 109.521932) + (xy 73.072435 109.52193) + (xy 73.029731 109.492814) + (xy 73.02744 109.491188) + (xy 72.985822 109.460473) + (xy 72.985816 109.46047) + (xy 72.981284 109.457125) + (xy 72.975965 109.455263) + (xy 72.973862 109.454152) + (xy 72.973476 109.453919) + (xy 72.973052 109.453744) + (xy 72.970913 109.452714) + (xy 72.966259 109.449541) + (xy 72.960876 109.44788) + (xy 72.960875 109.44788) + (xy 72.911471 109.43264) + (xy 72.908802 109.431761) + (xy 72.859988 109.414681) + (xy 72.859984 109.41468) + (xy 72.854665 109.412819) + (xy 72.849031 109.412607) + (xy 72.846702 109.412167) + (xy 72.846256 109.412056) + (xy 72.845817 109.412015) + (xy 72.843451 109.411658) + (xy 72.838073 109.41) + (xy 72.832441 109.41) + (xy 72.780707 109.41) + (xy 72.777896 109.409947) + (xy 72.726244 109.408014) + (xy 72.726239 109.408014) + (xy 72.720614 109.407804) + (xy 72.715173 109.409261) + (xy 72.712819 109.409527) + (xy 72.704401 109.41) + (xy 69.9107 109.41) + (xy 69.8731 109.399925) + (xy 69.845575 109.3724) + (xy 69.8355 109.3348) + (xy 69.8355 108.464358) + (xy 69.850194 108.419703) + (xy 69.892615 108.362224) + (xy 69.892615 108.362222) + (xy 69.895961 108.35769) + (xy 69.939246 108.233988) + (xy 69.942 108.20462) + (xy 69.942 107.18738) + (xy 69.939246 107.158012) + (xy 69.895961 107.03431) + (xy 69.818137 106.928863) + (xy 69.762507 106.887806) + (xy 69.717224 106.854385) + (xy 69.717222 106.854384) + (xy 69.71269 106.851039) + (xy 69.704594 106.848206) + (xy 69.593302 106.809263) + (xy 69.593297 106.809262) + (xy 69.588988 106.807754) + (xy 69.58444 106.807327) + (xy 69.584438 106.807327) + (xy 69.561361 106.805163) + (xy 69.561355 106.805162) + (xy 69.55962 106.805) + (xy 68.96738 106.805) + (xy 68.965645 106.805162) + (xy 68.965638 106.805163) + (xy 68.942561 106.807327) + (xy 68.942557 106.807327) + (xy 68.938012 106.807754) + (xy 68.933703 106.809261) + (xy 68.933697 106.809263) + (xy 68.81963 106.849177) + (xy 68.819627 106.849178) + (xy 68.81431 106.851039) + (xy 68.809779 106.854382) + (xy 68.809775 106.854385) + (xy 68.713394 106.925518) + (xy 68.71339 106.925521) + (xy 68.708863 106.928863) + (xy 68.705521 106.93339) + (xy 68.705518 106.933394) + (xy 68.634385 107.029775) + (xy 68.634382 107.029779) + (xy 68.631039 107.03431) + (xy 68.629179 107.039626) + (xy 68.629177 107.03963) + (xy 68.589263 107.153697) + (xy 68.589261 107.153703) + (xy 68.587754 107.158012) + (xy 68.585 107.18738) + (xy 68.585 108.20462) + (xy 68.585162 108.206355) + (xy 68.585163 108.206361) + (xy 68.587221 108.228312) + (xy 68.587754 108.233988) + (xy 68.589262 108.238297) + (xy 68.589263 108.238302) + (xy 68.629178 108.352373) + (xy 68.629179 108.352375) + (xy 68.631039 108.35769) + (xy 68.63438 108.362217) + (xy 68.634384 108.362224) + (xy 68.676806 108.419703) + (xy 68.6915 108.464358) + (xy 68.6915 109.591027) + (xy 68.685776 109.619805) + (xy 68.669476 109.644198) + (xy 68.340874 109.9728) + (xy 68.248995 110.064679) + (xy 68.24271 110.070296) + (xy 68.217515 110.090389) + (xy 68.21751 110.090394) + (xy 68.213108 110.093905) + (xy 68.209935 110.098558) + (xy 68.209931 110.098563) + (xy 68.18081 110.141275) + (xy 68.179206 110.143536) + (xy 68.145125 110.189716) + (xy 68.143264 110.19503) + (xy 68.142144 110.197151) + (xy 68.141919 110.197524) + (xy 68.141745 110.197945) + (xy 68.140714 110.200085) + (xy 68.137541 110.204741) + (xy 68.13588 110.210123) + (xy 68.13588 110.210125) + (xy 68.120638 110.259535) + (xy 68.119759 110.262204) + (xy 68.102679 110.311015) + (xy 68.102677 110.311024) + (xy 68.100819 110.316335) + (xy 68.100608 110.32196) + (xy 68.100164 110.324308) + (xy 68.100057 110.324739) + (xy 68.100015 110.325187) + (xy 68.099659 110.327543) + (xy 68.098 110.332927) + (xy 68.098 110.338561) + (xy 68.098 110.390293) + (xy 68.097947 110.393104) + (xy 68.096014 110.444755) + (xy 68.096014 110.444759) + (xy 68.095804 110.450386) + (xy 68.097261 110.455826) + (xy 68.097527 110.458181) + (xy 68.098 110.466599) + (xy 68.098 111.5503) + (xy 68.087925 111.5879) + (xy 68.0604 111.615425) + (xy 68.0228 111.6255) + (xy 67.879902 111.6255) + (xy 67.872092 111.627592) + (xy 67.87 111.635402) + (xy 67.87 112.5928) + (xy 67.859925 112.6304) + (xy 67.8324 112.657925) + (xy 67.7948 112.668) + (xy 67.2877 112.668) + (xy 67.2501 112.657925) + (xy 67.222575 112.6304) + (xy 67.2125 112.5928) + (xy 67.2125 112.4892) + (xy 67.222575 112.4516) + (xy 67.2501 112.424075) + (xy 67.2877 112.414) + (xy 67.606098 112.414) + (xy 67.613907 112.411907) + (xy 67.616 112.404098) + (xy 67.616 111.635402) + (xy 67.613907 111.627592) + (xy 67.606098 111.6255) + (xy 67.427934 111.6255) + (xy 67.420613 111.626221) + (xy 67.375936 111.635107) + (xy 67.362511 111.640668) + (xy 67.311813 111.674543) + (xy 67.301543 111.684813) + (xy 67.267668 111.735511) + (xy 67.262107 111.748936) + (xy 67.253221 111.793613) + (xy 67.2525 111.800934) + (xy 67.2525 112.329807) + (xy 67.24045 112.370637) + (xy 67.208163 112.398382) + (xy 67.165985 112.404151) + (xy 67.127433 112.386095) + (xy 67.071531 112.33657) + (xy 67.064102 112.331442) + (xy 66.92368 112.257743) + (xy 66.915239 112.254542) + (xy 66.811113 112.228877) + (xy 66.802551 112.229395) + (xy 66.8 112.237584) + (xy 66.8 114.674416) + (xy 66.546 114.674416) + (xy 66.546 113.592902) + (xy 66.543907 113.585092) + (xy 66.536098 113.583) + (xy 65.992402 113.583) + (xy 65.984592 113.585092) + (xy 65.9825 113.592902) + (xy 65.9825 114.045491) + (xy 57.595 114.045491) + (xy 57.595 112.522) + (xy 58.239898 112.522) + (xy 58.240219 112.525464) + (xy 58.259844 112.737257) + (xy 58.260264 112.741783) + (xy 58.261214 112.745124) + (xy 58.261215 112.745126) + (xy 58.304029 112.895602) + (xy 58.320668 112.954082) + (xy 58.33408 112.981016) + (xy 58.417504 113.148556) + (xy 58.417508 113.148563) + (xy 58.419054 113.151667) + (xy 58.421147 113.154439) + (xy 58.421148 113.15444) + (xy 58.454648 113.198801) + (xy 58.55207 113.327809) + (xy 58.715188 113.47651) + (xy 58.902851 113.592707) + (xy 59.108671 113.672442) + (xy 59.325638 113.713) + (xy 59.542891 113.713) + (xy 59.546362 113.713) + (xy 59.763329 113.672442) + (xy 59.969149 113.592707) + (xy 60.156812 113.47651) + (xy 60.31993 113.327809) + (xy 60.452946 113.151667) + (xy 60.551332 112.954082) + (xy 60.611736 112.741783) + (xy 60.632102 112.522) + (xy 60.611736 112.302217) + (xy 60.551332 112.089918) + (xy 60.471096 111.928782) + (xy 60.454495 111.895443) + (xy 60.454492 111.895439) + (xy 60.452946 111.892333) + (xy 60.31993 111.716191) + (xy 60.156812 111.56749) + (xy 60.153852 111.565657) + (xy 59.972105 111.453123) + (xy 59.972102 111.453121) + (xy 59.969149 111.451293) + (xy 59.965911 111.450038) + (xy 59.965906 111.450036) + (xy 59.766574 111.372815) + (xy 59.766572 111.372814) + (xy 59.763329 111.371558) + (xy 59.759919 111.37092) + (xy 59.75991 111.370918) + (xy 59.549771 111.331637) + (xy 59.549768 111.331636) + (xy 59.546362 111.331) + (xy 59.325638 111.331) + (xy 59.322232 111.331636) + (xy 59.322228 111.331637) + (xy 59.112089 111.370918) + (xy 59.112078 111.370921) + (xy 59.108671 111.371558) + (xy 59.105429 111.372813) + (xy 59.105425 111.372815) + (xy 58.906093 111.450036) + (xy 58.906083 111.45004) + (xy 58.902851 111.451293) + (xy 58.899901 111.453119) + (xy 58.899894 111.453123) + (xy 58.718147 111.565657) + (xy 58.71814 111.565661) + (xy 58.715188 111.56749) + (xy 58.712623 111.569827) + (xy 58.712618 111.569832) + (xy 58.554635 111.713852) + (xy 58.554631 111.713856) + (xy 58.55207 111.716191) + (xy 58.54998 111.718958) + (xy 58.549976 111.718963) + (xy 58.421148 111.889559) + (xy 58.421144 111.889565) + (xy 58.419054 111.892333) + (xy 58.417511 111.895431) + (xy 58.417504 111.895443) + (xy 58.327512 112.076173) + (xy 58.320668 112.089918) + (xy 58.319715 112.093267) + (xy 58.319714 112.09327) + (xy 58.261901 112.296465) + (xy 58.260264 112.302217) + (xy 58.259943 112.30567) + (xy 58.259943 112.305676) + (xy 58.242847 112.490179) + (xy 58.239898 112.522) + (xy 57.595 112.522) + (xy 57.595 111.2642) + (xy 57.605075 111.2266) + (xy 57.6326 111.199075) + (xy 57.6702 111.189) + (xy 58.758583 111.189) + (xy 58.768398 111.189643) + (xy 58.801 111.193935) + (xy 58.805884 111.193292) + (xy 58.805889 111.193292) + (xy 58.831108 111.189971) + (xy 58.83848 111.189) + (xy 58.838491 111.189) + (xy 58.838492 111.189) + (xy 58.950322 111.174277) + (xy 59.089468 111.116641) + (xy 59.100624 111.108081) + (xy 59.178954 111.047976) + (xy 59.178958 111.047972) + (xy 59.205045 111.027955) + (xy 59.205044 111.027955) + (xy 59.208955 111.024955) + (xy 59.228984 110.998851) + (xy 59.235456 110.991473) + (xy 60.064473 110.162455) + (xy 60.071851 110.155984) + (xy 60.097955 110.135955) + (xy 60.130222 110.093905) + (xy 60.189641 110.016468) + (xy 60.247277 109.877322) + (xy 60.266936 109.728) + (xy 60.262642 109.695391) + (xy 60.262 109.685576) + (xy 60.262 108.853078) + (xy 60.267724 108.8243) + (xy 60.284026 108.799904) + (xy 60.793904 108.290026) + (xy 60.8183 108.273724) + (xy 60.847078 108.268) + (xy 61.5448 108.268) + (xy 61.5824 108.278075) + (xy 61.609925 108.3056) + (xy 61.62 108.3432) + (xy 61.62 108.514812) + (xy 61.631082 108.570525) + (xy 61.635194 108.57668) + (xy 61.635196 108.576683) + (xy 61.669182 108.627545) + (xy 61.673297 108.633703) + (xy 61.679454 108.637817) + (xy 61.730316 108.671803) + (xy 61.730317 108.671803) + (xy 61.736475 108.675918) + (xy 61.792188 108.687) + (xy 62.0908 108.687) + (xy 62.1284 108.697075) + (xy 62.155925 108.7246) + (xy 62.166 108.7622) + (xy 62.166 111.365631) + (xy 62.15284 111.408129) + (xy 62.117965 111.435752) + (xy 62.112077 111.438033) + (xy 62.081093 111.450036) + (xy 62.081083 111.45004) + (xy 62.077851 111.451293) + (xy 62.074901 111.453119) + (xy 62.074894 111.453123) + (xy 61.893147 111.565657) + (xy 61.89314 111.565661) + (xy 61.890188 111.56749) + (xy 61.887623 111.569827) + (xy 61.887618 111.569832) + (xy 61.729635 111.713852) + (xy 61.729631 111.713856) + (xy 61.72707 111.716191) + (xy 61.72498 111.718958) + (xy 61.724976 111.718963) + (xy 61.596148 111.889559) + (xy 61.596144 111.889565) + (xy 61.594054 111.892333) + (xy 61.592511 111.895431) + (xy 61.592504 111.895443) + (xy 61.502512 112.076173) + (xy 61.495668 112.089918) + (xy 61.494715 112.093267) + (xy 61.494714 112.09327) + (xy 61.436901 112.296465) + (xy 61.435264 112.302217) + (xy 61.434943 112.30567) + (xy 61.434943 112.305676) + (xy 61.417847 112.490179) + (xy 61.414898 112.522) + (xy 61.415219 112.525464) + (xy 61.434844 112.737257) + (xy 61.435264 112.741783) + (xy 61.436214 112.745124) + (xy 61.436215 112.745126) + (xy 61.479029 112.895602) + (xy 61.495668 112.954082) + (xy 61.50908 112.981016) + (xy 61.592504 113.148556) + (xy 61.592508 113.148563) + (xy 61.594054 113.151667) + (xy 61.596147 113.154439) + (xy 61.596148 113.15444) + (xy 61.629648 113.198801) + (xy 61.72707 113.327809) + (xy 61.890188 113.47651) + (xy 62.077851 113.592707) + (xy 62.283671 113.672442) + (xy 62.500638 113.713) + (xy 62.717891 113.713) + (xy 62.721362 113.713) + (xy 62.938329 113.672442) + (xy 63.144149 113.592707) + (xy 63.331812 113.47651) + (xy 63.49493 113.327809) + (xy 63.501508 113.319098) + (xy 65.9825 113.319098) + (xy 65.984592 113.326907) + (xy 65.992402 113.329) + (xy 66.536098 113.329) + (xy 66.543907 113.326907) + (xy 66.546 113.319098) + (xy 66.546 112.237584) + (xy 66.543448 112.229395) + (xy 66.534886 112.228877) + (xy 66.43076 112.254542) + (xy 66.422319 112.257743) + (xy 66.281897 112.331442) + (xy 66.274468 112.33657) + (xy 66.155762 112.441734) + (xy 66.149773 112.448494) + (xy 66.059687 112.579006) + (xy 66.055488 112.587007) + (xy 65.999253 112.735287) + (xy 65.997093 112.74405) + (xy 65.982773 112.861983) + (xy 65.9825 112.866509) + (xy 65.9825 113.319098) + (xy 63.501508 113.319098) + (xy 63.627946 113.151667) + (xy 63.726332 112.954082) + (xy 63.786736 112.741783) + (xy 63.807102 112.522) + (xy 63.786736 112.302217) + (xy 63.726332 112.089918) + (xy 63.646096 111.928782) + (xy 63.629495 111.895443) + (xy 63.629492 111.895439) + (xy 63.627946 111.892333) + (xy 63.49493 111.716191) + (xy 63.331812 111.56749) + (xy 63.328852 111.565657) + (xy 63.147105 111.453123) + (xy 63.147102 111.453121) + (xy 63.144149 111.451293) + (xy 63.140911 111.450038) + (xy 63.140906 111.450036) + (xy 63.112581 111.439063) + (xy 63.104034 111.435752) + (xy 63.06916 111.408129) + (xy 63.056 111.365631) + (xy 63.056 108.7622) + (xy 63.066075 108.7246) + (xy 63.0936 108.697075) + (xy 63.1312 108.687) + (xy 63.426116 108.687) + (xy 63.429812 108.687) + (xy 63.485525 108.675918) + (xy 63.548703 108.633703) + (xy 63.590918 108.570525) + (xy 63.602 108.514812) + (xy 63.602 108.4702) + (xy 63.612075 108.4326) + (xy 63.6396 108.405075) + (xy 63.6772 108.395) + (xy 66.745613 108.395) + (xy 66.779502 108.403069) + (xy 66.806117 108.425543) + (xy 66.833863 108.463137) + (xy 66.93931 108.540961) + (xy 67.063012 108.584246) + (xy 67.09238 108.587) + (xy 67.682866 108.587) + (xy 67.68462 108.587) + (xy 67.713988 108.584246) + (xy 67.83769 108.540961) + (xy 67.943137 108.463137) + (xy 68.020961 108.35769) + (xy 68.064246 108.233988) + (xy 68.067 108.20462) + (xy 68.067 107.873177) + (xy 68.069185 107.85518) + (xy 68.072431 107.842012) + (xy 68.0875 107.780874) + (xy 68.0875 107.611126) + (xy 68.069184 107.536817) + (xy 68.067 107.518823) + (xy 68.067 107.189134) + (xy 68.067 107.18738) + (xy 68.064246 107.158012) + (xy 68.020961 107.03431) + (xy 68.017617 107.029779) + (xy 68.017615 107.029775) + (xy 67.975194 106.972297) + (xy 67.9605 106.927642) + (xy 67.9605 106.573566) + (xy 70.7835 106.573566) + (xy 70.784221 106.580886) + (xy 70.793107 106.625563) + (xy 70.798668 106.638988) + (xy 70.832543 106.689686) + (xy 70.842813 106.699956) + (xy 70.893511 106.733831) + (xy 70.906936 106.739392) + (xy 70.951613 106.748278) + (xy 70.958934 106.749) + (xy 71.237098 106.749) + (xy 71.244907 106.746907) + (xy 71.247 106.739098) + (xy 71.247 106.245402) + (xy 71.244907 106.237592) + (xy 71.237098 106.2355) + (xy 70.793402 106.2355) + (xy 70.785592 106.237592) + (xy 70.7835 106.245402) + (xy 70.7835 106.573566) + (xy 67.9605 106.573566) + (xy 67.9605 106.22196) + (xy 67.966224 106.193182) + (xy 67.982526 106.168786) + (xy 67.984029 106.167283) + (xy 67.989746 106.161566) + (xy 68.049571 106.044153) + (xy 68.065 105.946737) + (xy 68.065 105.943746) + (xy 68.3335 105.943746) + (xy 68.333962 105.949618) + (xy 68.347984 106.038151) + (xy 68.351597 106.049271) + (xy 68.405976 106.155994) + (xy 68.412851 106.165456) + (xy 68.497543 106.250148) + (xy 68.507005 106.257023) + (xy 68.613728 106.311402) + (xy 68.624848 106.315015) + (xy 68.713381 106.329037) + (xy 68.719254 106.3295) + (xy 68.837098 106.3295) + (xy 68.844907 106.327407) + (xy 68.847 106.319598) + (xy 69.101 106.319598) + (xy 69.103092 106.327407) + (xy 69.110902 106.3295) + (xy 69.228746 106.3295) + (xy 69.234618 106.329037) + (xy 69.323151 106.315015) + (xy 69.334271 106.311402) + (xy 69.440994 106.257023) + (xy 69.450456 106.250148) + (xy 69.535148 106.165456) + (xy 69.542023 106.155994) + (xy 69.596402 106.049271) + (xy 69.600015 106.038151) + (xy 69.610556 105.971598) + (xy 70.7835 105.971598) + (xy 70.785592 105.979407) + (xy 70.793402 105.9815) + (xy 71.237098 105.9815) + (xy 71.244907 105.979407) + (xy 71.247 105.971598) + (xy 71.247 105.477902) + (xy 71.244907 105.470092) + (xy 71.237098 105.468) + (xy 70.958934 105.468) + (xy 70.951613 105.468721) + (xy 70.906936 105.477607) + (xy 70.893511 105.483168) + (xy 70.842813 105.517043) + (xy 70.832543 105.527313) + (xy 70.798668 105.578011) + (xy 70.793107 105.591436) + (xy 70.784221 105.636113) + (xy 70.7835 105.643434) + (xy 70.7835 105.971598) + (xy 69.610556 105.971598) + (xy 69.614037 105.949618) + (xy 69.6145 105.943746) + (xy 69.6145 105.800902) + (xy 69.612407 105.793092) + (xy 69.604598 105.791) + (xy 69.110902 105.791) + (xy 69.103092 105.793092) + (xy 69.101 105.800902) + (xy 69.101 106.319598) + (xy 68.847 106.319598) + (xy 68.847 105.800902) + (xy 68.844907 105.793092) + (xy 68.837098 105.791) + (xy 68.343402 105.791) + (xy 68.335592 105.793092) + (xy 68.3335 105.800902) + (xy 68.3335 105.943746) + (xy 68.065 105.943746) + (xy 68.064999 105.527098) + (xy 68.3335 105.527098) + (xy 68.335592 105.534907) + (xy 68.343402 105.537) + (xy 68.837098 105.537) + (xy 68.844907 105.534907) + (xy 68.847 105.527098) + (xy 69.101 105.527098) + (xy 69.103092 105.534907) + (xy 69.110902 105.537) + (xy 69.604598 105.537) + (xy 69.612407 105.534907) + (xy 69.6145 105.527098) + (xy 69.6145 105.384254) + (xy 69.614037 105.378381) + (xy 69.600015 105.289848) + (xy 69.596402 105.278728) + (xy 69.542023 105.172005) + (xy 69.535148 105.162543) + (xy 69.450456 105.077851) + (xy 69.440994 105.070976) + (xy 69.334271 105.016597) + (xy 69.323151 105.012984) + (xy 69.234618 104.998962) + (xy 69.228746 104.9985) + (xy 69.110902 104.9985) + (xy 69.103092 105.000592) + (xy 69.101 105.008402) + (xy 69.101 105.527098) + (xy 68.847 105.527098) + (xy 68.847 105.008402) + (xy 68.844907 105.000592) + (xy 68.837098 104.9985) + (xy 68.719254 104.9985) + (xy 68.713381 104.998962) + (xy 68.624848 105.012984) + (xy 68.613728 105.016597) + (xy 68.507005 105.070976) + (xy 68.497543 105.077851) + (xy 68.412851 105.162543) + (xy 68.405976 105.172005) + (xy 68.351597 105.278728) + (xy 68.347984 105.289848) + (xy 68.333962 105.378381) + (xy 68.3335 105.384254) + (xy 68.3335 105.527098) + (xy 68.064999 105.527098) + (xy 68.064999 105.381264) + (xy 68.049571 105.283847) + (xy 67.989746 105.166434) + (xy 67.896566 105.073254) + (xy 67.891289 105.070565) + (xy 67.784426 105.016115) + (xy 67.784422 105.016113) + (xy 67.779153 105.013429) + (xy 67.773311 105.012503) + (xy 67.773306 105.012502) + (xy 67.684655 104.998462) + (xy 67.684652 104.998461) + (xy 67.681737 104.998) + (xy 67.678783 104.998) + (xy 67.169218 104.998) + (xy 67.169205 104.998) + (xy 67.166264 104.998001) + (xy 67.16335 104.998462) + (xy 67.163343 104.998463) + (xy 67.074692 105.012503) + (xy 67.07469 105.012503) + (xy 67.068847 105.013429) + (xy 67.063577 105.016113) + (xy 67.063574 105.016115) + (xy 66.95671 105.070565) + (xy 66.956706 105.070567) + (xy 66.951434 105.073254) + (xy 66.947247 105.07744) + (xy 66.947244 105.077443) + (xy 66.862443 105.162244) + (xy 66.86244 105.162247) + (xy 66.858254 105.166434) + (xy 66.855567 105.171706) + (xy 66.855565 105.17171) + (xy 66.801115 105.278573) + (xy 66.801112 105.278579) + (xy 66.798429 105.283847) + (xy 66.797504 105.289686) + (xy 66.797502 105.289693) + (xy 66.792861 105.319) + (xy 66.783 105.381263) + (xy 66.783 105.384215) + (xy 66.783 105.384216) + (xy 66.783 105.943781) + (xy 66.783 105.943793) + (xy 66.783001 105.946736) + (xy 66.783462 105.94965) + (xy 66.783463 105.949656) + (xy 66.795443 106.025298) + (xy 66.798429 106.044153) + (xy 66.801114 106.049423) + (xy 66.801115 106.049425) + (xy 66.808304 106.063534) + (xy 66.8165 106.097674) + (xy 66.8165 106.9218) + (xy 66.806425 106.9594) + (xy 66.7789 106.986925) + (xy 66.7413 106.997) + (xy 63.6772 106.997) + (xy 63.6396 106.986925) + (xy 63.612075 106.9594) + (xy 63.602 106.9218) + (xy 63.602 106.880884) + (xy 63.602 106.877188) + (xy 63.590918 106.821475) + (xy 63.581464 106.807327) + (xy 63.552817 106.764454) + (xy 63.548703 106.758297) + (xy 63.542545 106.754182) + (xy 63.491683 106.720196) + (xy 63.49168 106.720194) + (xy 63.485525 106.716082) + (xy 63.478261 106.714637) + (xy 63.459602 106.710925) + (xy 63.429812 106.705) + (xy 61.792188 106.705) + (xy 61.788563 106.70572) + (xy 61.788563 106.705721) + (xy 61.743738 106.714637) + (xy 61.743736 106.714637) + (xy 61.736475 106.716082) + (xy 61.730321 106.720193) + (xy 61.730316 106.720196) + (xy 61.679454 106.754182) + (xy 61.679451 106.754184) + (xy 61.673297 106.758297) + (xy 61.669184 106.764451) + (xy 61.669182 106.764454) + (xy 61.635196 106.815316) + (xy 61.635193 106.815321) + (xy 61.631082 106.821475) + (xy 61.629637 106.828736) + (xy 61.629637 106.828738) + (xy 61.628465 106.834632) + (xy 61.62 106.877188) + (xy 61.62 106.880884) + (xy 61.62 107.0488) + (xy 61.609925 107.0864) + (xy 61.5824 107.113925) + (xy 61.5448 107.124) + (xy 60.621424 107.124) + (xy 60.611608 107.123357) + (xy 60.583884 107.119707) + (xy 60.579 107.119064) + (xy 60.574116 107.119707) + (xy 60.434558 107.13808) + (xy 60.434554 107.138081) + (xy 60.429678 107.138723) + (xy 60.42513 107.140606) + (xy 60.425129 107.140607) + (xy 60.29508 107.194474) + (xy 60.295072 107.194478) + (xy 60.290532 107.196359) + (xy 60.286627 107.199354) + (xy 60.286624 107.199357) + (xy 60.211169 107.257257) + (xy 60.174951 107.285047) + (xy 60.174947 107.28505) + (xy 60.171045 107.288045) + (xy 60.168049 107.291948) + (xy 60.168045 107.291953) + (xy 60.151022 107.314137) + (xy 60.144538 107.32153) + (xy 59.31553 108.150538) + (xy 59.308137 108.157022) + (xy 59.285953 108.174045) + (xy 59.285948 108.174049) + (xy 59.282045 108.177045) + (xy 59.279049 108.180948) + (xy 59.279046 108.180952) + (xy 59.259025 108.207044) + (xy 59.259024 108.207046) + (xy 59.22355 108.253277) + (xy 59.193357 108.292624) + (xy 59.193354 108.292627) + (xy 59.190359 108.296532) + (xy 59.188478 108.301072) + (xy 59.188474 108.30108) + (xy 59.151884 108.389418) + (xy 59.132723 108.435678) + (xy 59.132081 108.440554) + (xy 59.13208 108.440558) + (xy 59.121827 108.518436) + (xy 59.118 108.547508) + (xy 59.118 108.547514) + (xy 59.113065 108.585) + (xy 59.113708 108.589884) + (xy 59.117357 108.617602) + (xy 59.118 108.627417) + (xy 59.118 109.459922) + (xy 59.112276 109.4887) + (xy 59.095974 109.513096) + (xy 58.586096 110.022974) + (xy 58.5617 110.039276) + (xy 58.532922 110.045) + (xy 57.314492 110.045) + (xy 56.171492 110.045) + (xy 55.541424 110.045) + (xy 55.531608 110.044357) + (xy 55.503884 110.040707) + (xy 55.499 110.040064) + (xy 55.494116 110.040707) + (xy 55.367649 110.057357) + (xy 55.357833 110.058) + (xy 54.478346 110.058) + (xy 54.444206 110.049804) + (xy 54.360426 110.007115) + (xy 54.360422 110.007113) + (xy 54.355153 110.004429) + (xy 54.349311 110.003503) + (xy 54.349306 110.003502) + (xy 54.260655 109.989462) + (xy 54.260652 109.989461) + (xy 54.257737 109.989) + (xy 54.254783 109.989) + (xy 53.695218 109.989) + (xy 53.695205 109.989) + (xy 53.692264 109.989001) + (xy 53.68935 109.989462) + (xy 53.689343 109.989463) + (xy 53.600692 110.003503) + (xy 53.60069 110.003503) + (xy 53.594847 110.004429) + (xy 53.589577 110.007113) + (xy 53.589574 110.007115) + (xy 53.48271 110.061565) + (xy 53.482706 110.061567) + (xy 53.477434 110.064254) + (xy 53.473247 110.06844) + (xy 53.473244 110.068443) + (xy 53.38844 110.153247) + (xy 53.388437 110.15325) + (xy 53.386486 110.155201) + (xy 53.38648 110.155207) + (xy 53.384254 110.157434) + (xy 53.384078 110.157258) + (xy 53.361195 110.176804) + (xy 53.327055 110.185) + (xy 52.971945 110.185) + (xy 52.937805 110.176804) + (xy 52.914921 110.157258) + (xy 52.914746 110.157434) + (xy 52.821566 110.064254) + (xy 52.793772 110.050092) + (xy 52.709426 110.007115) + (xy 52.709422 110.007113) + (xy 52.704153 110.004429) + (xy 52.698311 110.003503) + (xy 52.698306 110.003502) + (xy 52.609655 109.989462) + (xy 52.609652 109.989461) + (xy 52.606737 109.989) + (xy 52.603783 109.989) + (xy 52.044218 109.989) + (xy 52.044205 109.989) + (xy 52.041264 109.989001) + (xy 52.03835 109.989462) + (xy 52.038343 109.989463) + (xy 51.949692 110.003503) + (xy 51.94969 110.003503) + (xy 51.943847 110.004429) + (xy 51.938577 110.007113) + (xy 51.938574 110.007115) + (xy 51.83171 110.061565) + (xy 51.831706 110.061567) + (xy 51.826434 110.064254) + (xy 51.822247 110.06844) + (xy 51.822244 110.068443) + (xy 51.73744 110.153247) + (xy 51.737437 110.15325) + (xy 51.735486 110.155201) + (xy 51.73548 110.155207) + (xy 51.733254 110.157434) + (xy 51.733078 110.157258) + (xy 51.710195 110.176804) + (xy 51.676055 110.185) + (xy 51.451198 110.185) + (xy 51.442779 110.184527) + (xy 51.41077 110.18092) + (xy 51.410765 110.18092) + (xy 51.405173 110.18029) + (xy 51.399639 110.181336) + (xy 51.399636 110.181337) + (xy 51.348867 110.190942) + (xy 51.346098 110.191413) + (xy 51.294918 110.199128) + (xy 51.294916 110.199128) + (xy 51.289353 110.199967) + (xy 51.284282 110.202408) + (xy 51.281984 110.203117) + (xy 51.281566 110.20322) + (xy 51.281143 110.203396) + (xy 51.278897 110.204181) + (xy 51.273366 110.205229) + (xy 51.26839 110.207858) + (xy 51.268386 110.20786) + (xy 51.251288 110.216896) + (xy 51.211582 110.225469) + (xy 51.17321 110.21214) + (xy 51.147369 110.180799) + (xy 51.141598 110.14059) + (xy 51.145178 110.113395) + (xy 51.1455 110.110952) + (xy 51.1455 109.731048) + (xy 51.138961 109.681381) + (xy 51.08814 109.572393) + (xy 51.003107 109.48736) + (xy 50.977731 109.475527) + (xy 50.899332 109.438969) + (xy 50.899327 109.438967) + (xy 50.894119 109.436539) + (xy 50.888417 109.435788) + (xy 50.888416 109.435788) + (xy 50.846885 109.43032) + (xy 50.84688 109.430319) + (xy 50.844452 109.43) + (xy 49.739548 109.43) + (xy 49.73712 109.430319) + (xy 49.737114 109.43032) + (xy 49.695583 109.435788) + (xy 49.695581 109.435788) + (xy 49.689881 109.436539) + (xy 49.684668 109.438969) + (xy 49.684667 109.43897) + (xy 49.620363 109.468955) + (xy 49.588583 109.476) + (xy 49.366207 109.476) + (xy 49.357788 109.475527) + (xy 49.32577 109.471919) + (xy 49.325765 109.471919) + (xy 49.320173 109.471289) + (xy 49.314639 109.472335) + (xy 49.314636 109.472336) + (xy 49.263837 109.481947) + (xy 49.261067 109.482418) + (xy 49.209924 109.490127) + (xy 49.209922 109.490127) + (xy 49.204353 109.490967) + (xy 49.199279 109.493409) + (xy 49.196993 109.494115) + (xy 49.196563 109.494221) + (xy 49.196138 109.494398) + (xy 49.193901 109.49518) + (xy 49.188366 109.496228) + (xy 49.183391 109.498857) + (xy 49.183383 109.49886) + (xy 49.137653 109.523028) + (xy 49.135147 109.524293) + (xy 49.088565 109.546727) + (xy 49.088562 109.546728) + (xy 49.083491 109.549171) + (xy 49.079363 109.552999) + (xy 49.077392 109.554344) + (xy 49.077007 109.554575) + (xy 49.07667 109.554855) + (xy 49.074738 109.55628) + (xy 49.069765 109.55891) + (xy 49.065785 109.562889) + (xy 49.065782 109.562892) + (xy 49.029213 109.59946) + (xy 49.027191 109.601408) + (xy 48.989281 109.636584) + (xy 48.989276 109.636589) + (xy 48.985156 109.640413) + (xy 48.982343 109.645283) + (xy 48.980856 109.647149) + (xy 48.975239 109.653434) + (xy 48.733371 109.895302) + (xy 48.69487 109.915882) + (xy 48.651421 109.911603) + (xy 48.617673 109.883906) + (xy 48.604999 109.842127) + (xy 48.604999 109.733559) + (xy 48.604678 109.728663) + (xy 48.599223 109.68722) + (xy 48.596038 109.676294) + (xy 48.550506 109.57865) + (xy 48.543068 109.568028) + (xy 48.467471 109.492431) + (xy 48.456849 109.484993) + (xy 48.359201 109.439459) + (xy 48.348284 109.436277) + (xy 48.306836 109.43082) + (xy 48.301943 109.4305) + (xy 47.888902 109.4305) + (xy 47.881092 109.432592) + (xy 47.879 109.440402) + (xy 47.879 109.9728) + (xy 47.868925 110.0104) + (xy 47.8414 110.037925) + (xy 47.8038 110.048) + (xy 46.908903 110.048) + (xy 46.901093 110.050092) + (xy 46.899001 110.057902) + (xy 46.899001 110.108441) + (xy 46.899321 110.113336) + (xy 46.904776 110.154779) + (xy 46.907961 110.165705) + (xy 46.953493 110.263349) + (xy 46.960931 110.273971) + (xy 47.029432 110.342472) + (xy 47.048896 110.376183) + (xy 47.048896 110.415109) + (xy 47.029433 110.448819) + (xy 46.95586 110.522393) + (xy 46.955339 110.523509) + (xy 46.931399 110.544504) + (xy 46.896677 110.553) + (xy 46.62617 110.553) + (xy 46.619616 110.552714) + (xy 46.58741 110.549896) + (xy 46.587408 110.549896) + (xy 46.580857 110.549323) + (xy 46.574507 110.551024) + (xy 46.5745 110.551025) + (xy 46.543271 110.559393) + (xy 46.53687 110.560812) + (xy 46.505038 110.566425) + (xy 46.505034 110.566426) + (xy 46.49856 110.567568) + (xy 46.492864 110.570856) + (xy 46.48668 110.573107) + (xy 46.486677 110.5731) + (xy 46.484846 110.573858) + (xy 46.48485 110.573865) + (xy 46.478882 110.576647) + (xy 46.472534 110.578349) + (xy 46.467152 110.582116) + (xy 46.467148 110.582119) + (xy 46.44067 110.600659) + (xy 46.435141 110.604181) + (xy 46.407136 110.62035) + (xy 46.40713 110.620354) + (xy 46.40144 110.62364) + (xy 46.397213 110.628676) + (xy 46.397212 110.628678) + (xy 46.376416 110.65346) + (xy 46.371985 110.658294) + (xy 45.888288 111.14199) + (xy 45.883454 111.146421) + (xy 45.858678 111.167211) + (xy 45.858673 111.167215) + (xy 45.85364 111.17144) + (xy 45.850355 111.177129) + (xy 45.850352 111.177133) + (xy 45.834189 111.205128) + (xy 45.830667 111.210655) + (xy 45.812122 111.237142) + (xy 45.812119 111.237147) + (xy 45.808348 111.242534) + (xy 45.806644 111.248888) + (xy 45.803867 111.254846) + (xy 45.80386 111.254842) + (xy 45.803099 111.256678) + (xy 45.803106 111.256681) + (xy 45.800854 111.262866) + (xy 45.797568 111.26856) + (xy 45.796426 111.275032) + (xy 45.796425 111.275037) + (xy 45.790813 111.306865) + (xy 45.789394 111.313266) + (xy 45.781025 111.344499) + (xy 45.781024 111.344507) + (xy 45.779323 111.350857) + (xy 45.779896 111.357408) + (xy 45.779896 111.35741) + (xy 45.782714 111.389616) + (xy 45.783 111.39617) + (xy 45.783 114.79083) + (xy 45.782714 114.797384) + (xy 45.779897 114.829587) + (xy 45.779323 114.836143) + (xy 44.594182 114.836143) + (xy 44.594182 112.754479) + (xy 44.594182 109.784098) + (xy 46.899 109.784098) + (xy 46.901092 109.791907) + (xy 46.908902 109.794) + (xy 47.615098 109.794) + (xy 47.622907 109.791907) + (xy 47.625 109.784098) + (xy 47.625 109.440403) + (xy 47.622907 109.432593) + (xy 47.615098 109.430501) + (xy 47.202059 109.430501) + (xy 47.197163 109.430821) + (xy 47.15572 109.436276) + (xy 47.144794 109.439461) + (xy 47.04715 109.484993) + (xy 47.036528 109.492431) + (xy 46.960931 109.568028) + (xy 46.953493 109.57865) + (xy 46.907959 109.676298) + (xy 46.904777 109.687215) + (xy 46.89932 109.728663) + (xy 46.899 109.733557) + (xy 46.899 109.784098) + (xy 44.594182 109.784098) + (xy 44.594182 109.753298) + (xy 44.594182 109.731224) + (xy 44.588281 109.718971) + (xy 44.582719 109.703076) + (xy 44.579693 109.689816) + (xy 44.571209 109.679177) + (xy 44.562252 109.664921) + (xy 44.560028 109.660304) + (xy 44.556352 109.65267) + (xy 44.549729 109.647389) + (xy 44.549728 109.647387) + (xy 44.545719 109.644191) + (xy 44.533808 109.63228) + (xy 44.530612 109.628272) + (xy 44.525331 109.621649) + (xy 44.517696 109.617972) + (xy 44.517694 109.61797) + (xy 44.513071 109.615743) + (xy 44.498822 109.60679) + (xy 44.494807 109.603589) + (xy 44.494808 109.603589) + (xy 44.488185 109.598308) + (xy 44.479928 109.596423) + (xy 44.479925 109.596422) + (xy 44.474917 109.595279) + (xy 44.45903 109.58972) + (xy 44.446777 109.583819) + (xy 44.424703 109.583819) + (xy 41.423521 109.583819) + (xy 38.444414 109.583819) + (xy 38.357224 109.583819) + (xy 38.349591 109.587494) + (xy 38.349585 109.587496) + (xy 38.344968 109.58972) + (xy 38.329079 109.59528) + (xy 38.324078 109.596421) + (xy 38.324073 109.596423) + (xy 38.315816 109.598308) + (xy 38.309193 109.603588) + (xy 38.309189 109.603591) + (xy 38.305175 109.606792) + (xy 38.290927 109.615745) + (xy 38.286302 109.617972) + (xy 38.286298 109.617974) + (xy 38.27867 109.621649) + (xy 38.273391 109.628268) + (xy 38.273389 109.62827) + (xy 38.270188 109.632285) + (xy 38.258285 109.644188) + (xy 38.25427 109.647389) + (xy 38.254268 109.647391) + (xy 38.247649 109.65267) + (xy 38.243974 109.660298) + (xy 38.243972 109.660302) + (xy 38.241745 109.664927) + (xy 38.232792 109.679175) + (xy 38.229591 109.683189) + (xy 38.229588 109.683193) + (xy 38.224308 109.689816) + (xy 38.222423 109.698073) + (xy 38.222421 109.698078) + (xy 38.22128 109.703079) + (xy 38.21572 109.718968) + (xy 38.213496 109.723585) + (xy 38.213494 109.723591) + (xy 38.209819 109.731224) + (xy 38.209819 109.753298) + (xy 38.209819 110.121377) + (xy 38.209819 110.143451) + (xy 38.209819 112.754479) + (xy 38.209819 115.733587) + (xy 38.209819 115.820777) + (xy 32 115.820777) + (xy 32 114.007405) + (xy 32 114) + (xy 30 112) + (xy 25.0752 112) + (xy 25.0376 111.989925) + (xy 25.010075 111.9624) + (xy 25 111.9248) + (xy 25 109.334746) + (xy 51.6585 109.334746) + (xy 51.658962 109.340618) + (xy 51.672984 109.429151) + (xy 51.676597 109.440271) + (xy 51.730976 109.546994) + (xy 51.737851 109.556456) + (xy 51.822543 109.641148) + (xy 51.832005 109.648023) + (xy 51.938728 109.702402) + (xy 51.949848 109.706015) + (xy 52.038381 109.720037) + (xy 52.044254 109.7205) + (xy 52.187098 109.7205) + (xy 52.194907 109.718407) + (xy 52.197 109.710598) + (xy 52.451 109.710598) + (xy 52.453092 109.718407) + (xy 52.460902 109.7205) + (xy 52.603746 109.7205) + (xy 52.609618 109.720037) + (xy 52.698151 109.706015) + (xy 52.709271 109.702402) + (xy 52.815994 109.648023) + (xy 52.825456 109.641148) + (xy 52.910148 109.556456) + (xy 52.917023 109.546994) + (xy 52.971402 109.440271) + (xy 52.975015 109.429151) + (xy 52.989037 109.340618) + (xy 52.9895 109.334746) + (xy 53.3095 109.334746) + (xy 53.309962 109.340618) + (xy 53.323984 109.429151) + (xy 53.327597 109.440271) + (xy 53.381976 109.546994) + (xy 53.388851 109.556456) + (xy 53.473543 109.641148) + (xy 53.483005 109.648023) + (xy 53.589728 109.702402) + (xy 53.600848 109.706015) + (xy 53.689381 109.720037) + (xy 53.695254 109.7205) + (xy 53.838098 109.7205) + (xy 53.845907 109.718407) + (xy 53.848 109.710598) + (xy 54.102 109.710598) + (xy 54.104092 109.718407) + (xy 54.111902 109.7205) + (xy 54.254746 109.7205) + (xy 54.260618 109.720037) + (xy 54.349151 109.706015) + (xy 54.360271 109.702402) + (xy 54.466994 109.648023) + (xy 54.476456 109.641148) + (xy 54.561148 109.556456) + (xy 54.568023 109.546994) + (xy 54.622402 109.440271) + (xy 54.626015 109.429151) + (xy 54.640037 109.340618) + (xy 54.6405 109.334746) + (xy 54.6405 109.216902) + (xy 54.638407 109.209092) + (xy 54.630598 109.207) + (xy 54.111902 109.207) + (xy 54.104092 109.209092) + (xy 54.102 109.216902) + (xy 54.102 109.710598) + (xy 53.848 109.710598) + (xy 53.848 109.216902) + (xy 53.845907 109.209092) + (xy 53.838098 109.207) + (xy 53.319402 109.207) + (xy 53.311592 109.209092) + (xy 53.3095 109.216902) + (xy 53.3095 109.334746) + (xy 52.9895 109.334746) + (xy 52.9895 109.216902) + (xy 52.987407 109.209092) + (xy 52.979598 109.207) + (xy 52.460902 109.207) + (xy 52.453092 109.209092) + (xy 52.451 109.216902) + (xy 52.451 109.710598) + (xy 52.197 109.710598) + (xy 52.197 109.216902) + (xy 52.194907 109.209092) + (xy 52.187098 109.207) + (xy 51.668402 109.207) + (xy 51.660592 109.209092) + (xy 51.6585 109.216902) + (xy 51.6585 109.334746) + (xy 25 109.334746) + (xy 25 108.943098) + (xy 51.6585 108.943098) + (xy 51.660592 108.950907) + (xy 51.668402 108.953) + (xy 52.187098 108.953) + (xy 52.194907 108.950907) + (xy 52.197 108.943098) + (xy 52.451 108.943098) + (xy 52.453092 108.950907) + (xy 52.460902 108.953) + (xy 52.979598 108.953) + (xy 52.987407 108.950907) + (xy 52.9895 108.943098) + (xy 53.3095 108.943098) + (xy 53.311592 108.950907) + (xy 53.319402 108.953) + (xy 53.838098 108.953) + (xy 53.845907 108.950907) + (xy 53.848 108.943098) + (xy 54.102 108.943098) + (xy 54.104092 108.950907) + (xy 54.111902 108.953) + (xy 54.630598 108.953) + (xy 54.638407 108.950907) + (xy 54.6405 108.943098) + (xy 54.6405 108.825254) + (xy 54.640037 108.819381) + (xy 54.626015 108.730848) + (xy 54.622402 108.719728) + (xy 54.568023 108.613005) + (xy 54.561148 108.603543) + (xy 54.476456 108.518851) + (xy 54.466994 108.511976) + (xy 54.360271 108.457597) + (xy 54.349151 108.453984) + (xy 54.260618 108.439962) + (xy 54.254746 108.4395) + (xy 54.111902 108.4395) + (xy 54.104092 108.441592) + (xy 54.102 108.449402) + (xy 54.102 108.943098) + (xy 53.848 108.943098) + (xy 53.848 108.449402) + (xy 53.845907 108.441592) + (xy 53.838098 108.4395) + (xy 53.695254 108.4395) + (xy 53.689381 108.439962) + (xy 53.600848 108.453984) + (xy 53.589728 108.457597) + (xy 53.483005 108.511976) + (xy 53.473543 108.518851) + (xy 53.388851 108.603543) + (xy 53.381976 108.613005) + (xy 53.327597 108.719728) + (xy 53.323984 108.730848) + (xy 53.309962 108.819381) + (xy 53.3095 108.825254) + (xy 53.3095 108.943098) + (xy 52.9895 108.943098) + (xy 52.9895 108.825254) + (xy 52.989037 108.819381) + (xy 52.975015 108.730848) + (xy 52.971402 108.719728) + (xy 52.917023 108.613005) + (xy 52.910148 108.603543) + (xy 52.825456 108.518851) + (xy 52.815994 108.511976) + (xy 52.709271 108.457597) + (xy 52.698151 108.453984) + (xy 52.609618 108.439962) + (xy 52.603746 108.4395) + (xy 52.460902 108.4395) + (xy 52.453092 108.441592) + (xy 52.451 108.449402) + (xy 52.451 108.943098) + (xy 52.197 108.943098) + (xy 52.197 108.449402) + (xy 52.194907 108.441592) + (xy 52.187098 108.4395) + (xy 52.044254 108.4395) + (xy 52.038381 108.439962) + (xy 51.949848 108.453984) + (xy 51.938728 108.457597) + (xy 51.832005 108.511976) + (xy 51.822543 108.518851) + (xy 51.737851 108.603543) + (xy 51.730976 108.613005) + (xy 51.676597 108.719728) + (xy 51.672984 108.730848) + (xy 51.658962 108.819381) + (xy 51.6585 108.825254) + (xy 51.6585 108.943098) + (xy 25 108.943098) + (xy 25 106.630095) + (xy 29.575241 106.630095) + (xy 29.579977 106.636939) + (xy 29.628778 106.676988) + (xy 29.634886 106.68107) + (xy 29.809134 106.774207) + (xy 29.815926 106.77702) + (xy 30.004991 106.834372) + (xy 30.012201 106.835807) + (xy 30.208825 106.855173) + (xy 30.216175 106.855173) + (xy 30.412798 106.835807) + (xy 30.420008 106.834372) + (xy 30.609073 106.77702) + (xy 30.615865 106.774207) + (xy 30.790113 106.68107) + (xy 30.796221 106.676988) + (xy 30.84502 106.636939) + (xy 30.849757 106.630096) + (xy 30.845711 106.622816) + (xy 30.686013 106.463118) + (xy 31.7115 106.463118) + (xy 31.711662 106.464853) + (xy 31.711663 106.464859) + (xy 31.713795 106.4876) + (xy 31.714294 106.492913) + (xy 31.715802 106.497223) + (xy 31.715803 106.497227) + (xy 31.75634 106.613076) + (xy 31.756341 106.613078) + (xy 31.758201 106.618393) + (xy 31.761543 106.622921) + (xy 31.761544 106.622923) + (xy 31.829233 106.714637) + (xy 31.837144 106.725356) + (xy 31.944107 106.804299) + (xy 32.069587 106.848206) + (xy 32.099382 106.851) + (xy 33.403864 106.851) + (xy 33.405618 106.851) + (xy 33.435413 106.848206) + (xy 33.560893 106.804299) + (xy 33.667856 106.725356) + (xy 33.746799 106.618393) + (xy 33.790706 106.492913) + (xy 33.7935 106.463118) + (xy 33.7935 105.537) + (xy 38.869102 105.537) + (xy 38.869867 105.542321) + (xy 38.888626 105.672797) + (xy 38.888627 105.672802) + (xy 38.889392 105.678119) + (xy 38.891624 105.683008) + (xy 38.891626 105.683012) + (xy 38.946382 105.802911) + (xy 38.946383 105.802913) + (xy 38.948618 105.807806) + (xy 38.952138 105.811869) + (xy 38.95214 105.811871) + (xy 38.974755 105.83797) + (xy 39.041982 105.915553) + (xy 39.046504 105.918459) + (xy 39.046505 105.91846) + (xy 39.157397 105.989727) + (xy 39.161919 105.992633) + (xy 39.298715 106.0328) + (xy 39.435904 106.0328) + (xy 39.441285 106.0328) + (xy 39.578081 105.992633) + (xy 39.582606 105.989724) + (xy 39.58464 105.988796) + (xy 39.61588 105.982) + (xy 46.99812 105.982) + (xy 47.02936 105.988796) + (xy 47.031394 105.989724) + (xy 47.035919 105.992633) + (xy 47.172715 106.0328) + (xy 47.309904 106.0328) + (xy 47.315285 106.0328) + (xy 47.452081 105.992633) + (xy 47.470854 105.980568) + (xy 62.009268 105.980568) + (xy 62.014005 105.987412) + (xy 62.055187 106.02121) + (xy 62.061307 106.025299) + (xy 62.226855 106.113787) + (xy 62.233656 106.116604) + (xy 62.413293 106.171096) + (xy 62.420503 106.17253) + (xy 62.607324 106.190931) + (xy 62.614676 106.190931) + (xy 62.801496 106.17253) + (xy 62.808706 106.171096) + (xy 62.988343 106.116604) + (xy 62.995144 106.113787) + (xy 63.160694 106.025298) + (xy 63.166811 106.021211) + (xy 63.207994 105.987412) + (xy 63.21273 105.980568) + (xy 63.208685 105.97329) + (xy 62.618 105.382605) + (xy 62.611 105.378563) + (xy 62.603999 105.382605) + (xy 62.013313 105.97329) + (xy 62.009268 105.980568) + (xy 47.470854 105.980568) + (xy 47.572018 105.915553) + (xy 47.665382 105.807806) + (xy 47.724608 105.678119) + (xy 47.744898 105.537) + (xy 47.724608 105.395881) + (xy 47.665382 105.266194) + (xy 47.572018 105.158447) + (xy 47.567496 105.155541) + (xy 47.567494 105.155539) + (xy 47.553915 105.146812) + (xy 48.077 105.146812) + (xy 48.08007 105.162244) + (xy 48.085391 105.188999) + (xy 48.088082 105.202525) + (xy 48.092194 105.20868) + (xy 48.092196 105.208683) + (xy 48.123276 105.255196) + (xy 48.130297 105.265703) + (xy 48.136454 105.269817) + (xy 48.187316 105.303803) + (xy 48.187317 105.303803) + (xy 48.193475 105.307918) + (xy 48.249188 105.319) + (xy 49.283116 105.319) + (xy 49.286812 105.319) + (xy 49.342525 105.307918) + (xy 49.405703 105.265703) + (xy 49.447918 105.202525) + (xy 49.448485 105.199676) + (xy 61.616069 105.199676) + (xy 61.634469 105.386496) + (xy 61.635903 105.393706) + (xy 61.690395 105.573343) + (xy 61.693212 105.580144) + (xy 61.7817 105.745692) + (xy 61.785789 105.751812) + (xy 61.819586 105.792993) + (xy 61.826429 105.79773) + (xy 61.833709 105.793684) + (xy 62.424394 105.203) + (xy 62.428436 105.196) + (xy 62.793563 105.196) + (xy 62.797605 105.203) + (xy 63.38829 105.793685) + (xy 63.395568 105.79773) + (xy 63.402412 105.792994) + (xy 63.436211 105.751811) + (xy 63.440298 105.745694) + (xy 63.528787 105.580144) + (xy 63.531604 105.573343) + (xy 63.586096 105.393706) + (xy 63.58753 105.386496) + (xy 63.605931 105.199676) + (xy 63.605931 105.192324) + (xy 63.58753 105.005503) + (xy 63.586096 104.998293) + (xy 63.531604 104.818656) + (xy 63.528787 104.811855) + (xy 63.440299 104.646307) + (xy 63.43621 104.640187) + (xy 63.402412 104.599005) + (xy 63.395568 104.594268) + (xy 63.38829 104.598313) + (xy 62.797605 105.188999) + (xy 62.793563 105.196) + (xy 62.428436 105.196) + (xy 62.424394 105.188999) + (xy 61.833709 104.598314) + (xy 61.82643 104.594268) + (xy 61.819587 104.599004) + (xy 61.785789 104.640187) + (xy 61.7817 104.646307) + (xy 61.693212 104.811855) + (xy 61.690395 104.818656) + (xy 61.635903 104.998293) + (xy 61.634469 105.005503) + (xy 61.616069 105.192324) + (xy 61.616069 105.199676) + (xy 49.448485 105.199676) + (xy 49.459 105.146812) + (xy 49.459 104.597473) + (xy 49.464724 104.568695) + (xy 49.481026 104.544299) + (xy 49.613895 104.41143) + (xy 62.009268 104.41143) + (xy 62.013314 104.418709) + (xy 62.603999 105.009394) + (xy 62.611 105.013436) + (xy 62.618 105.009394) + (xy 63.208684 104.418709) + (xy 63.21273 104.411429) + (xy 63.207993 104.404586) + (xy 63.166812 104.370789) + (xy 63.160692 104.3667) + (xy 62.995144 104.278212) + (xy 62.988343 104.275395) + (xy 62.808706 104.220903) + (xy 62.801496 104.219469) + (xy 62.614676 104.201069) + (xy 62.607324 104.201069) + (xy 62.420503 104.219469) + (xy 62.413293 104.220903) + (xy 62.233656 104.275395) + (xy 62.226855 104.278212) + (xy 62.061307 104.3667) + (xy 62.055187 104.370789) + (xy 62.014004 104.404587) + (xy 62.009268 104.41143) + (xy 49.613895 104.41143) + (xy 49.8633 104.162026) + (xy 49.887696 104.145724) + (xy 49.916474 104.14) + (xy 50.058894 104.14) + (xy 50.087672 104.145724) + (xy 50.112068 104.162026) + (xy 50.165311 104.215269) + (xy 50.206806 104.236412) + (xy 50.269448 104.26833) + (xy 50.275668 104.271499) + (xy 50.281513 104.272424) + (xy 50.281514 104.272425) + (xy 50.29273 104.274201) + (xy 50.367226 104.286) + (xy 50.97582 104.286) + (xy 50.978774 104.286) + (xy 51.070332 104.271499) + (xy 51.180689 104.215269) + (xy 51.268269 104.127689) + (xy 51.324499 104.017332) + (xy 51.339 103.925774) + (xy 51.339 103.899746) + (xy 51.6585 103.899746) + (xy 51.658962 103.905618) + (xy 51.672984 103.994151) + (xy 51.676597 104.005271) + (xy 51.730976 104.111994) + (xy 51.737851 104.121456) + (xy 51.822543 104.206148) + (xy 51.832005 104.213023) + (xy 51.938728 104.267402) + (xy 51.949848 104.271015) + (xy 52.038381 104.285037) + (xy 52.044254 104.2855) + (xy 52.187098 104.2855) + (xy 52.194907 104.283407) + (xy 52.197 104.275598) + (xy 52.451 104.275598) + (xy 52.453092 104.283407) + (xy 52.460902 104.2855) + (xy 52.603746 104.2855) + (xy 52.609618 104.285037) + (xy 52.698151 104.271015) + (xy 52.709271 104.267402) + (xy 52.815994 104.213023) + (xy 52.825456 104.206148) + (xy 52.910148 104.121456) + (xy 52.917023 104.111994) + (xy 52.971402 104.005271) + (xy 52.975015 103.994151) + (xy 52.986319 103.922779) + (xy 53.309501 103.922779) + (xy 53.309963 103.928654) + (xy 53.323057 104.011328) + (xy 53.326669 104.022447) + (xy 53.377452 104.122114) + (xy 53.38433 104.13158) + (xy 53.463419 104.210669) + (xy 53.472885 104.217547) + (xy 53.572551 104.26833) + (xy 53.583671 104.271943) + (xy 53.666346 104.285037) + (xy 53.672219 104.2855) + (xy 53.838098 104.2855) + (xy 53.845907 104.283407) + (xy 53.848 104.275598) + (xy 53.848 104.275597) + (xy 54.102 104.275597) + (xy 54.104092 104.283406) + (xy 54.111902 104.285499) + (xy 54.277779 104.285499) + (xy 54.283654 104.285036) + (xy 54.366328 104.271942) + (xy 54.377447 104.26833) + (xy 54.477114 104.217547) + (xy 54.48658 104.210669) + (xy 54.565669 104.13158) + (xy 54.572547 104.122114) + (xy 54.62333 104.022448) + (xy 54.626943 104.011328) + (xy 54.640037 103.928653) + (xy 54.6405 103.922781) + (xy 54.6405 103.922779) + (xy 54.960501 103.922779) + (xy 54.960963 103.928654) + (xy 54.974057 104.011328) + (xy 54.977669 104.022447) + (xy 55.028452 104.122114) + (xy 55.03533 104.13158) + (xy 55.114419 104.210669) + (xy 55.123885 104.217547) + (xy 55.223551 104.26833) + (xy 55.234671 104.271943) + (xy 55.317346 104.285037) + (xy 55.323219 104.2855) + (xy 55.489098 104.2855) + (xy 55.496907 104.283407) + (xy 55.499 104.275598) + (xy 55.499 104.275597) + (xy 55.753 104.275597) + (xy 55.755092 104.283406) + (xy 55.762902 104.285499) + (xy 55.928779 104.285499) + (xy 55.934654 104.285036) + (xy 56.017328 104.271942) + (xy 56.028447 104.26833) + (xy 56.128114 104.217547) + (xy 56.13758 104.210669) + (xy 56.216669 104.13158) + (xy 56.223547 104.122114) + (xy 56.27433 104.022448) + (xy 56.277943 104.011328) + (xy 56.291037 103.928653) + (xy 56.2915 103.922781) + (xy 56.2915 103.831902) + (xy 56.289407 103.824092) + (xy 56.281598 103.822) + (xy 55.762902 103.822) + (xy 55.755092 103.824092) + (xy 55.753 103.831902) + (xy 55.753 104.275597) + (xy 55.499 104.275597) + (xy 55.499 103.831902) + (xy 55.496907 103.824092) + (xy 55.489098 103.822) + (xy 54.970403 103.822) + (xy 54.962593 103.824092) + (xy 54.960501 103.831902) + (xy 54.960501 103.922779) + (xy 54.6405 103.922779) + (xy 54.6405 103.831902) + (xy 54.638407 103.824092) + (xy 54.630598 103.822) + (xy 54.111902 103.822) + (xy 54.104092 103.824092) + (xy 54.102 103.831902) + (xy 54.102 104.275597) + (xy 53.848 104.275597) + (xy 53.848 103.831902) + (xy 53.845907 103.824092) + (xy 53.838098 103.822) + (xy 53.319403 103.822) + (xy 53.311593 103.824092) + (xy 53.309501 103.831902) + (xy 53.309501 103.922779) + (xy 52.986319 103.922779) + (xy 52.989037 103.905618) + (xy 52.9895 103.899746) + (xy 52.9895 103.781902) + (xy 52.987407 103.774092) + (xy 52.979598 103.772) + (xy 52.460902 103.772) + (xy 52.453092 103.774092) + (xy 52.451 103.781902) + (xy 52.451 104.275598) + (xy 52.197 104.275598) + (xy 52.197 103.781902) + (xy 52.194907 103.774092) + (xy 52.187098 103.772) + (xy 51.668402 103.772) + (xy 51.660592 103.774092) + (xy 51.6585 103.781902) + (xy 51.6585 103.899746) + (xy 51.339 103.899746) + (xy 51.339 103.558098) + (xy 53.3095 103.558098) + (xy 53.311592 103.565907) + (xy 53.319402 103.568) + (xy 53.838098 103.568) + (xy 53.845907 103.565907) + (xy 53.848 103.558098) + (xy 54.102 103.558098) + (xy 54.104092 103.565907) + (xy 54.111902 103.568) + (xy 54.630597 103.568) + (xy 54.638406 103.565907) + (xy 54.640499 103.558098) + (xy 54.9605 103.558098) + (xy 54.962592 103.565907) + (xy 54.970402 103.568) + (xy 55.489098 103.568) + (xy 55.496907 103.565907) + (xy 55.499 103.558098) + (xy 55.753 103.558098) + (xy 55.755092 103.565907) + (xy 55.762902 103.568) + (xy 56.281597 103.568) + (xy 56.289406 103.565907) + (xy 56.291499 103.558098) + (xy 56.291499 103.467221) + (xy 56.291036 103.461345) + (xy 56.277942 103.378671) + (xy 56.27433 103.367552) + (xy 56.223547 103.267885) + (xy 56.216669 103.258419) + (xy 56.13758 103.17933) + (xy 56.128114 103.172452) + (xy 56.028448 103.121669) + (xy 56.017328 103.118056) + (xy 55.934653 103.104962) + (xy 55.928781 103.1045) + (xy 55.762902 103.1045) + (xy 55.755092 103.106592) + (xy 55.753 103.114402) + (xy 55.753 103.558098) + (xy 55.499 103.558098) + (xy 55.499 103.114403) + (xy 55.496907 103.106593) + (xy 55.489098 103.104501) + (xy 55.323221 103.104501) + (xy 55.317345 103.104963) + (xy 55.234671 103.118057) + (xy 55.223552 103.121669) + (xy 55.123885 103.172452) + (xy 55.114419 103.17933) + (xy 55.03533 103.258419) + (xy 55.028452 103.267885) + (xy 54.977669 103.367551) + (xy 54.974056 103.378671) + (xy 54.960962 103.461346) + (xy 54.9605 103.467219) + (xy 54.9605 103.558098) + (xy 54.640499 103.558098) + (xy 54.640499 103.467221) + (xy 54.640036 103.461345) + (xy 54.626942 103.378671) + (xy 54.62333 103.367552) + (xy 54.572547 103.267885) + (xy 54.565669 103.258419) + (xy 54.48658 103.17933) + (xy 54.477114 103.172452) + (xy 54.377448 103.121669) + (xy 54.366328 103.118056) + (xy 54.283653 103.104962) + (xy 54.277781 103.1045) + (xy 54.111902 103.1045) + (xy 54.104092 103.106592) + (xy 54.102 103.114402) + (xy 54.102 103.558098) + (xy 53.848 103.558098) + (xy 53.848 103.114403) + (xy 53.845907 103.106593) + (xy 53.838098 103.104501) + (xy 53.672221 103.104501) + (xy 53.666345 103.104963) + (xy 53.583671 103.118057) + (xy 53.572552 103.121669) + (xy 53.472885 103.172452) + (xy 53.463419 103.17933) + (xy 53.38433 103.258419) + (xy 53.377452 103.267885) + (xy 53.326669 103.367551) + (xy 53.323056 103.378671) + (xy 53.309962 103.461346) + (xy 53.3095 103.467219) + (xy 53.3095 103.558098) + (xy 51.339 103.558098) + (xy 51.339 103.508098) + (xy 51.6585 103.508098) + (xy 51.660592 103.515907) + (xy 51.668402 103.518) + (xy 52.187098 103.518) + (xy 52.194907 103.515907) + (xy 52.197 103.508098) + (xy 52.451 103.508098) + (xy 52.453092 103.515907) + (xy 52.460902 103.518) + (xy 52.979598 103.518) + (xy 52.987407 103.515907) + (xy 52.9895 103.508098) + (xy 52.9895 103.390254) + (xy 52.989037 103.384381) + (xy 52.975015 103.295848) + (xy 52.971402 103.284728) + (xy 52.917023 103.178005) + (xy 52.910148 103.168543) + (xy 52.825456 103.083851) + (xy 52.815994 103.076976) + (xy 52.709271 103.022597) + (xy 52.698151 103.018984) + (xy 52.609618 103.004962) + (xy 52.603746 103.0045) + (xy 52.460902 103.0045) + (xy 52.453092 103.006592) + (xy 52.451 103.014402) + (xy 52.451 103.508098) + (xy 52.197 103.508098) + (xy 52.197 103.014402) + (xy 52.194907 103.006592) + (xy 52.187098 103.0045) + (xy 52.044254 103.0045) + (xy 52.038381 103.004962) + (xy 51.949848 103.018984) + (xy 51.938728 103.022597) + (xy 51.832005 103.076976) + (xy 51.822543 103.083851) + (xy 51.737851 103.168543) + (xy 51.730976 103.178005) + (xy 51.676597 103.284728) + (xy 51.672984 103.295848) + (xy 51.658962 103.384381) + (xy 51.6585 103.390254) + (xy 51.6585 103.508098) + (xy 51.339 103.508098) + (xy 51.339 103.464226) + (xy 51.324499 103.372668) + (xy 51.305647 103.33567) + (xy 51.270957 103.267587) + (xy 51.268269 103.262311) + (xy 51.180689 103.174731) + (xy 51.175412 103.172042) + (xy 51.075605 103.121187) + (xy 51.0756 103.121185) + (xy 51.070332 103.118501) + (xy 51.06449 103.117575) + (xy 51.064485 103.117574) + (xy 50.981692 103.104462) + (xy 50.98169 103.104461) + (xy 50.978774 103.104) + (xy 50.367226 103.104) + (xy 50.36431 103.104461) + (xy 50.364307 103.104462) + (xy 50.281514 103.117574) + (xy 50.281507 103.117576) + (xy 50.275668 103.118501) + (xy 50.2704 103.121184) + (xy 50.270394 103.121187) + (xy 50.170587 103.172042) + (xy 50.170583 103.172044) + (xy 50.165311 103.174731) + (xy 50.161124 103.178917) + (xy 50.161121 103.17892) + (xy 50.112068 103.227974) + (xy 50.087672 103.244276) + (xy 50.058894 103.25) + (xy 49.730207 103.25) + (xy 49.721788 103.249527) + (xy 49.68977 103.245919) + (xy 49.689765 103.245919) + (xy 49.684173 103.245289) + (xy 49.678639 103.246335) + (xy 49.678636 103.246336) + (xy 49.627837 103.255947) + (xy 49.625067 103.256418) + (xy 49.573924 103.264127) + (xy 49.573922 103.264127) + (xy 49.568353 103.264967) + (xy 49.563279 103.267409) + (xy 49.560993 103.268115) + (xy 49.560563 103.268221) + (xy 49.560138 103.268398) + (xy 49.557901 103.26918) + (xy 49.552366 103.270228) + (xy 49.547391 103.272857) + (xy 49.547383 103.27286) + (xy 49.501653 103.297028) + (xy 49.499147 103.298293) + (xy 49.452565 103.320727) + (xy 49.452562 103.320728) + (xy 49.447491 103.323171) + (xy 49.443363 103.326999) + (xy 49.441392 103.328344) + (xy 49.441007 103.328575) + (xy 49.44067 103.328855) + (xy 49.438738 103.33028) + (xy 49.433765 103.33291) + (xy 49.429785 103.336889) + (xy 49.429782 103.336892) + (xy 49.393213 103.37346) + (xy 49.391191 103.375408) + (xy 49.353281 103.410584) + (xy 49.353276 103.410589) + (xy 49.349156 103.414413) + (xy 49.346343 103.419283) + (xy 49.344856 103.421149) + (xy 49.339239 103.427434) + (xy 48.851698 103.914976) + (xy 48.827305 103.931276) + (xy 48.798527 103.937) + (xy 48.249188 103.937) + (xy 48.245563 103.93772) + (xy 48.245563 103.937721) + (xy 48.200738 103.946637) + (xy 48.200736 103.946637) + (xy 48.193475 103.948082) + (xy 48.187321 103.952193) + (xy 48.187316 103.952196) + (xy 48.136454 103.986182) + (xy 48.136451 103.986184) + (xy 48.130297 103.990297) + (xy 48.126184 103.996451) + (xy 48.126182 103.996454) + (xy 48.092196 104.047316) + (xy 48.092193 104.047321) + (xy 48.088082 104.053475) + (xy 48.086637 104.060736) + (xy 48.086637 104.060738) + (xy 48.079436 104.096939) + (xy 48.077 104.109188) + (xy 48.077 105.146812) + (xy 47.553915 105.146812) + (xy 47.456602 105.084272) + (xy 47.456599 105.08427) + (xy 47.452081 105.081367) + (xy 47.446925 105.079853) + (xy 47.446923 105.079852) + (xy 47.320447 105.042715) + (xy 47.320442 105.042714) + (xy 47.315285 105.0412) + (xy 47.172715 105.0412) + (xy 47.167558 105.042714) + (xy 47.167552 105.042715) + (xy 47.041079 105.079851) + (xy 47.041073 105.079853) + (xy 47.035919 105.081367) + (xy 47.031394 105.084274) + (xy 47.02936 105.085204) + (xy 46.99812 105.092) + (xy 39.61588 105.092) + (xy 39.58464 105.085204) + (xy 39.582605 105.084274) + (xy 39.578081 105.081367) + (xy 39.572923 105.079852) + (xy 39.57292 105.079851) + (xy 39.446447 105.042715) + (xy 39.446442 105.042714) + (xy 39.441285 105.0412) + (xy 39.298715 105.0412) + (xy 39.293558 105.042714) + (xy 39.293552 105.042715) + (xy 39.167076 105.079852) + (xy 39.167071 105.079854) + (xy 39.161919 105.081367) + (xy 39.157403 105.084269) + (xy 39.157397 105.084272) + (xy 39.046505 105.155539) + (xy 39.046499 105.155543) + (xy 39.041982 105.158447) + (xy 39.038461 105.162509) + (xy 39.03846 105.162511) + (xy 38.95214 105.262128) + (xy 38.952136 105.262133) + (xy 38.948618 105.266194) + (xy 38.946385 105.271082) + (xy 38.946382 105.271088) + (xy 38.891626 105.390987) + (xy 38.891624 105.390993) + (xy 38.889392 105.395881) + (xy 38.888627 105.401195) + (xy 38.888626 105.401202) + (xy 38.871151 105.522748) + (xy 38.869102 105.537) + (xy 33.7935 105.537) + (xy 33.7935 105.156882) + (xy 33.790706 105.127087) + (xy 33.746799 105.001607) + (xy 33.667856 104.894644) + (xy 33.663328 104.891302) + (xy 33.565423 104.819044) + (xy 33.565421 104.819043) + (xy 33.560893 104.815701) + (xy 33.555578 104.813841) + (xy 33.555576 104.81384) + (xy 33.439727 104.773303) + (xy 33.439723 104.773302) + (xy 33.435413 104.771794) + (xy 33.430865 104.771367) + (xy 33.430863 104.771367) + (xy 33.407359 104.769163) + (xy 33.407353 104.769162) + (xy 33.405618 104.769) + (xy 32.099382 104.769) + (xy 32.097647 104.769162) + (xy 32.09764 104.769163) + (xy 32.074136 104.771367) + (xy 32.074132 104.771367) + (xy 32.069587 104.771794) + (xy 32.065278 104.773301) + (xy 32.065272 104.773303) + (xy 31.949423 104.81384) + (xy 31.949418 104.813842) + (xy 31.944107 104.815701) + (xy 31.939581 104.819041) + (xy 31.939576 104.819044) + (xy 31.841671 104.891302) + (xy 31.841667 104.891305) + (xy 31.837144 104.894644) + (xy 31.833805 104.899167) + (xy 31.833802 104.899171) + (xy 31.761544 104.997076) + (xy 31.761541 104.997081) + (xy 31.758201 105.001607) + (xy 31.756342 105.006918) + (xy 31.75634 105.006923) + (xy 31.715803 105.122772) + (xy 31.715801 105.122778) + (xy 31.714294 105.127087) + (xy 31.713867 105.131632) + (xy 31.713867 105.131636) + (xy 31.712791 105.143116) + (xy 31.7115 105.156882) + (xy 31.7115 106.463118) + (xy 30.686013 106.463118) + (xy 30.2195 105.996605) + (xy 30.2125 105.992563) + (xy 30.205499 105.996605) + (xy 29.579287 106.622816) + (xy 29.575241 106.630095) + (xy 25 106.630095) + (xy 25 105.813675) + (xy 29.167327 105.813675) + (xy 29.186692 106.010298) + (xy 29.188127 106.017508) + (xy 29.245479 106.206573) + (xy 29.248292 106.213365) + (xy 29.341429 106.387613) + (xy 29.345511 106.393722) + (xy 29.385559 106.442521) + (xy 29.392403 106.447257) + (xy 29.399682 106.443211) + (xy 30.025894 105.817) + (xy 30.029936 105.81) + (xy 30.395063 105.81) + (xy 30.399105 105.817) + (xy 31.025316 106.443211) + (xy 31.032596 106.447257) + (xy 31.039439 106.44252) + (xy 31.079488 106.393721) + (xy 31.08357 106.387613) + (xy 31.176707 106.213365) + (xy 31.17952 106.206573) + (xy 31.236872 106.017508) + (xy 31.238307 106.010298) + (xy 31.257673 105.813675) + (xy 31.257673 105.806325) + (xy 31.238307 105.609701) + (xy 31.236872 105.602491) + (xy 31.17952 105.413426) + (xy 31.176707 105.406634) + (xy 31.08357 105.232386) + (xy 31.079488 105.226278) + (xy 31.039439 105.177477) + (xy 31.032595 105.172741) + (xy 31.025316 105.176787) + (xy 30.399105 105.802999) + (xy 30.395063 105.81) + (xy 30.029936 105.81) + (xy 30.025894 105.802999) + (xy 29.399682 105.176787) + (xy 29.392403 105.172742) + (xy 29.385558 105.177479) + (xy 29.345508 105.226281) + (xy 29.341431 105.232383) + (xy 29.248292 105.406634) + (xy 29.245479 105.413426) + (xy 29.188127 105.602491) + (xy 29.186692 105.609701) + (xy 29.167327 105.806325) + (xy 29.167327 105.813675) + (xy 25 105.813675) + (xy 25 104.989903) + (xy 29.575242 104.989903) + (xy 29.579287 104.997182) + (xy 30.205499 105.623394) + (xy 30.2125 105.627436) + (xy 30.2195 105.623394) + (xy 30.845711 104.997182) + (xy 30.849757 104.989903) + (xy 30.845021 104.983059) + (xy 30.796222 104.943011) + (xy 30.790113 104.938929) + (xy 30.615865 104.845792) + (xy 30.609073 104.842979) + (xy 30.420008 104.785627) + (xy 30.412798 104.784192) + (xy 30.216175 104.764827) + (xy 30.208825 104.764827) + (xy 30.012201 104.784192) + (xy 30.004991 104.785627) + (xy 29.815926 104.842979) + (xy 29.809134 104.845792) + (xy 29.634883 104.938931) + (xy 29.628781 104.943008) + (xy 29.579979 104.983058) + (xy 29.575242 104.989903) + (xy 25 104.989903) + (xy 25 104.090095) + (xy 29.575241 104.090095) + (xy 29.579977 104.096939) + (xy 29.628778 104.136988) + (xy 29.634886 104.14107) + (xy 29.809134 104.234207) + (xy 29.815926 104.23702) + (xy 30.004991 104.294372) + (xy 30.012201 104.295807) + (xy 30.208825 104.315173) + (xy 30.216175 104.315173) + (xy 30.412798 104.295807) + (xy 30.420008 104.294372) + (xy 30.609073 104.23702) + (xy 30.615865 104.234207) + (xy 30.790113 104.14107) + (xy 30.796221 104.136988) + (xy 30.84502 104.096939) + (xy 30.849757 104.090096) + (xy 30.845711 104.082816) + (xy 30.2195 103.456605) + (xy 30.2125 103.452563) + (xy 30.205499 103.456605) + (xy 29.579287 104.082816) + (xy 29.575241 104.090095) + (xy 25 104.090095) + (xy 25 103.273675) + (xy 29.167327 103.273675) + (xy 29.186692 103.470298) + (xy 29.188127 103.477508) + (xy 29.245479 103.666573) + (xy 29.248292 103.673365) + (xy 29.341429 103.847613) + (xy 29.345511 103.853722) + (xy 29.385559 103.902521) + (xy 29.392403 103.907257) + (xy 29.399682 103.903211) + (xy 30.025894 103.277) + (xy 30.029936 103.27) + (xy 30.395063 103.27) + (xy 30.399105 103.277) + (xy 31.025316 103.903211) + (xy 31.032596 103.907257) + (xy 31.039439 103.90252) + (xy 31.079488 103.853721) + (xy 31.08357 103.847613) + (xy 31.176707 103.673365) + (xy 31.17952 103.666573) + (xy 31.236872 103.477508) + (xy 31.238307 103.470298) + (xy 31.257673 103.273675) + (xy 31.257673 103.27) + (xy 31.706463 103.27) + (xy 31.706825 103.273675) + (xy 31.706825 103.273676) + (xy 31.725308 103.461346) + (xy 31.726562 103.474072) + (xy 31.727632 103.477601) + (xy 31.727633 103.477603) + (xy 31.785016 103.666769) + (xy 31.785018 103.666774) + (xy 31.786088 103.670301) + (xy 31.882752 103.851147) + (xy 31.885096 103.854003) + (xy 31.885098 103.854006) + (xy 32.010496 104.006804) + (xy 32.01284 104.00966) + (xy 32.015695 104.012003) + (xy 32.137534 104.111994) + (xy 32.171353 104.139748) + (xy 32.352199 104.236412) + (xy 32.548428 104.295938) + (xy 32.732346 104.314052) + (xy 32.743727 104.315173) + (xy 32.7525 104.316037) + (xy 32.761273 104.315173) + (xy 32.772654 104.314052) + (xy 32.956572 104.295938) + (xy 33.152801 104.236412) + (xy 33.333647 104.139748) + (xy 33.49216 104.00966) + (xy 33.622248 103.851147) + (xy 33.718912 103.670301) + (xy 33.778438 103.474072) + (xy 33.798537 103.27) + (xy 33.797847 103.262999) + (xy 33.795923 103.243462) + (xy 33.778438 103.065928) + (xy 33.718912 102.869699) + (xy 33.622248 102.688853) + (xy 33.617591 102.683179) + (xy 33.494503 102.533195) + (xy 33.49216 102.53034) + (xy 33.472576 102.514268) + (xy 33.336506 102.402598) + (xy 33.336503 102.402596) + (xy 33.333647 102.400252) + (xy 33.152801 102.303588) + (xy 33.149274 102.302518) + (xy 33.149269 102.302516) + (xy 32.960103 102.245133) + (xy 32.960101 102.245132) + (xy 32.956572 102.244062) + (xy 32.952901 102.2437) + (xy 32.952899 102.2437) + (xy 32.756176 102.224325) + (xy 32.7525 102.223963) + (xy 32.748824 102.224325) + (xy 32.5521 102.2437) + (xy 32.552096 102.2437) + (xy 32.548428 102.244062) + (xy 32.5449 102.245132) + (xy 32.544896 102.245133) + (xy 32.35573 102.302516) + (xy 32.355722 102.302519) + (xy 32.352199 102.303588) + (xy 32.348947 102.305325) + (xy 32.348945 102.305327) + (xy 32.174611 102.39851) + (xy 32.174606 102.398512) + (xy 32.171353 102.400252) + (xy 32.1685 102.402593) + (xy 32.168493 102.402598) + (xy 32.015695 102.527996) + (xy 32.015689 102.528001) + (xy 32.01284 102.53034) + (xy 32.010501 102.533189) + (xy 32.010496 102.533195) + (xy 31.885098 102.685993) + (xy 31.885093 102.686) + (xy 31.882752 102.688853) + (xy 31.881012 102.692106) + (xy 31.88101 102.692111) + (xy 31.791601 102.859384) + (xy 31.786088 102.869699) + (xy 31.785019 102.873222) + (xy 31.785016 102.87323) + (xy 31.728346 103.060047) + (xy 31.726562 103.065928) + (xy 31.7262 103.069596) + (xy 31.7262 103.0696) + (xy 31.707041 103.264127) + (xy 31.706463 103.27) + (xy 31.257673 103.27) + (xy 31.257673 103.266325) + (xy 31.238307 103.069701) + (xy 31.236872 103.062491) + (xy 31.17952 102.873426) + (xy 31.176707 102.866634) + (xy 31.08357 102.692386) + (xy 31.079488 102.686278) + (xy 31.039439 102.637477) + (xy 31.032595 102.632741) + (xy 31.025316 102.636787) + (xy 30.399105 103.262999) + (xy 30.395063 103.27) + (xy 30.029936 103.27) + (xy 30.025894 103.262999) + (xy 29.399682 102.636787) + (xy 29.392403 102.632742) + (xy 29.385558 102.637479) + (xy 29.345508 102.686281) + (xy 29.341431 102.692383) + (xy 29.248292 102.866634) + (xy 29.245479 102.873426) + (xy 29.188127 103.062491) + (xy 29.186692 103.069701) + (xy 29.167327 103.266325) + (xy 29.167327 103.273675) + (xy 25 103.273675) + (xy 25 102.449903) + (xy 29.575242 102.449903) + (xy 29.579287 102.457182) + (xy 30.205499 103.083394) + (xy 30.2125 103.087436) + (xy 30.2195 103.083394) + (xy 30.845711 102.457182) + (xy 30.849757 102.449903) + (xy 30.845021 102.443059) + (xy 30.796222 102.403011) + (xy 30.790113 102.398929) + (xy 30.615865 102.305792) + (xy 30.609073 102.302979) + (xy 30.420008 102.245627) + (xy 30.412798 102.244192) + (xy 30.216175 102.224827) + (xy 30.208825 102.224827) + (xy 30.012201 102.244192) + (xy 30.004991 102.245627) + (xy 29.815926 102.302979) + (xy 29.809134 102.305792) + (xy 29.634883 102.398931) + (xy 29.628781 102.403008) + (xy 29.579979 102.443058) + (xy 29.575242 102.449903) + (xy 25 102.449903) + (xy 25 101.550095) + (xy 29.575241 101.550095) + (xy 29.579977 101.556939) + (xy 29.628778 101.596988) + (xy 29.634886 101.60107) + (xy 29.809134 101.694207) + (xy 29.815926 101.69702) + (xy 30.004991 101.754372) + (xy 30.012201 101.755807) + (xy 30.208825 101.775173) + (xy 30.216175 101.775173) + (xy 30.412798 101.755807) + (xy 30.420008 101.754372) + (xy 30.609073 101.69702) + (xy 30.615865 101.694207) + (xy 30.790113 101.60107) + (xy 30.796221 101.596988) + (xy 30.84502 101.556939) + (xy 30.849757 101.550096) + (xy 30.845711 101.542816) + (xy 30.2195 100.916605) + (xy 30.2125 100.912563) + (xy 30.205499 100.916605) + (xy 29.579287 101.542816) + (xy 29.575241 101.550095) + (xy 25 101.550095) + (xy 25 100.733675) + (xy 29.167327 100.733675) + (xy 29.186692 100.930298) + (xy 29.188127 100.937508) + (xy 29.245479 101.126573) + (xy 29.248292 101.133365) + (xy 29.341429 101.307613) + (xy 29.345511 101.313722) + (xy 29.385559 101.362521) + (xy 29.392403 101.367257) + (xy 29.399682 101.363211) + (xy 30.025894 100.737) + (xy 30.029936 100.73) + (xy 30.395063 100.73) + (xy 30.399105 100.737) + (xy 31.025316 101.363211) + (xy 31.032596 101.367257) + (xy 31.039439 101.36252) + (xy 31.079488 101.313721) + (xy 31.08357 101.307613) + (xy 31.176707 101.133365) + (xy 31.17952 101.126573) + (xy 31.236872 100.937508) + (xy 31.238307 100.930298) + (xy 31.257673 100.733675) + (xy 31.257673 100.73) + (xy 31.706463 100.73) + (xy 31.706825 100.733675) + (xy 31.706825 100.733676) + (xy 31.725689 100.925215) + (xy 31.726562 100.934072) + (xy 31.727632 100.937601) + (xy 31.727633 100.937603) + (xy 31.785016 101.126769) + (xy 31.785018 101.126774) + (xy 31.786088 101.130301) + (xy 31.882752 101.311147) + (xy 31.885096 101.314003) + (xy 31.885098 101.314006) + (xy 31.998508 101.452196) + (xy 32.01284 101.46966) + (xy 32.015695 101.472003) + (xy 32.122533 101.559683) + (xy 32.171353 101.599748) + (xy 32.352199 101.696412) + (xy 32.548428 101.755938) + (xy 32.735297 101.774342) + (xy 32.743727 101.775173) + (xy 32.7525 101.776037) + (xy 32.761273 101.775173) + (xy 32.768039 101.774506) + (xy 32.956572 101.755938) + (xy 33.152801 101.696412) + (xy 33.333647 101.599748) + (xy 33.49216 101.46966) + (xy 33.596146 101.342952) + (xy 37.123 101.342952) + (xy 37.123319 101.34538) + (xy 37.12332 101.345385) + (xy 37.126845 101.372159) + (xy 37.129539 101.392619) + (xy 37.131967 101.397827) + (xy 37.131969 101.397832) + (xy 37.164975 101.468614) + (xy 37.18036 101.501607) + (xy 37.265393 101.58664) + (xy 37.320446 101.612311) + (xy 37.369167 101.63503) + (xy 37.369168 101.63503) + (xy 37.374381 101.637461) + (xy 37.424048 101.644) + (xy 37.5313 101.644) + (xy 37.5689 101.654075) + (xy 37.596425 101.6816) + (xy 37.6065 101.7192) + (xy 37.6065 103.554293) + (xy 37.606027 103.562712) + (xy 37.602419 103.594729) + (xy 37.602419 103.594733) + (xy 37.601789 103.600327) + (xy 37.602835 103.60586) + (xy 37.602836 103.605862) + (xy 37.612447 103.65666) + (xy 37.612918 103.659431) + (xy 37.618279 103.695) + (xy 37.621467 103.716147) + (xy 37.623911 103.721222) + (xy 37.62461 103.723488) + (xy 37.624721 103.723935) + (xy 37.624894 103.724353) + (xy 37.625681 103.726602) + (xy 37.626728 103.732134) + (xy 37.629359 103.737112) + (xy 37.653522 103.782832) + (xy 37.654781 103.785325) + (xy 37.679671 103.837009) + (xy 37.6835 103.841136) + (xy 37.68484 103.843101) + (xy 37.685075 103.843492) + (xy 37.685363 103.843839) + (xy 37.686778 103.845756) + (xy 37.68941 103.850735) + (xy 37.693394 103.854719) + (xy 37.729958 103.891283) + (xy 37.731909 103.893308) + (xy 37.741098 103.903211) + (xy 37.770913 103.935344) + (xy 37.775791 103.93816) + (xy 37.777648 103.939641) + (xy 37.783935 103.94526) + (xy 38.272682 104.434007) + (xy 38.278301 104.440294) + (xy 38.286191 104.450187) + (xy 38.301905 104.469892) + (xy 38.306559 104.473065) + (xy 38.349266 104.502183) + (xy 38.351559 104.50381) + (xy 38.375474 104.52146) + (xy 38.397716 104.537875) + (xy 38.403034 104.539735) + (xy 38.405135 104.540846) + (xy 38.405524 104.541081) + (xy 38.405957 104.54126) + (xy 38.408085 104.542285) + (xy 38.412741 104.545459) + (xy 38.467533 104.56236) + (xy 38.470184 104.563232) + (xy 38.519015 104.58032) + (xy 38.519018 104.58032) + (xy 38.524335 104.582181) + (xy 38.529964 104.582391) + (xy 38.532293 104.582832) + (xy 38.532737 104.582942) + (xy 38.533205 104.582986) + (xy 38.535538 104.583337) + (xy 38.540927 104.585) + (xy 38.598293 104.585) + (xy 38.601103 104.585052) + (xy 38.658386 104.587196) + (xy 38.663827 104.585738) + (xy 38.666181 104.585473) + (xy 38.674599 104.585) + (xy 40.26712 104.585) + (xy 40.29836 104.591796) + (xy 40.300394 104.592724) + (xy 40.304919 104.595633) + (xy 40.441715 104.6358) + (xy 40.578904 104.6358) + (xy 40.584285 104.6358) + (xy 40.721081 104.595633) + (xy 40.841018 104.518553) + (xy 40.934382 104.410806) + (xy 40.993608 104.281119) + (xy 41.01155 104.156332) + (xy 41.013133 104.145321) + (xy 41.013898 104.14) + (xy 40.993608 103.998881) + (xy 40.934382 103.869194) + (xy 40.921221 103.854006) + (xy 40.861722 103.785341) + (xy 40.841018 103.761447) + (xy 40.836496 103.758541) + (xy 40.836494 103.758539) + (xy 40.725602 103.687272) + (xy 40.725599 103.68727) + (xy 40.721081 103.684367) + (xy 40.715925 103.682853) + (xy 40.715923 103.682852) + (xy 40.589447 103.645715) + (xy 40.589442 103.645714) + (xy 40.584285 103.6442) + (xy 40.441715 103.6442) + (xy 40.436558 103.645714) + (xy 40.436552 103.645715) + (xy 40.310079 103.682851) + (xy 40.310073 103.682853) + (xy 40.304919 103.684367) + (xy 40.300394 103.687274) + (xy 40.29836 103.688204) + (xy 40.26712 103.695) + (xy 38.823473 103.695) + (xy 38.794695 103.689276) + (xy 38.770299 103.672974) + (xy 38.518526 103.421201) + (xy 38.502224 103.396805) + (xy 38.4965 103.368027) + (xy 38.4965 101.7192) + (xy 38.506575 101.6816) + (xy 38.5341 101.654075) + (xy 38.5717 101.644) + (xy 38.676495 101.644) + (xy 38.678952 101.644) + (xy 38.728619 101.637461) + (xy 38.837607 101.58664) + (xy 38.92264 101.501607) + (xy 38.973461 101.392619) + (xy 38.98 101.342952) + (xy 38.98 100.963048) + (xy 38.973461 100.913381) + (xy 38.968163 100.90202) + (xy 38.955435 100.874724) + (xy 38.92264 100.804393) + (xy 38.837607 100.71936) + (xy 38.819012 100.710689) + (xy 38.733832 100.670969) + (xy 38.733827 100.670967) + (xy 38.728619 100.668539) + (xy 38.722917 100.667788) + (xy 38.722916 100.667788) + (xy 38.681385 100.66232) + (xy 38.68138 100.662319) + (xy 38.678952 100.662) + (xy 37.424048 100.662) + (xy 37.42162 100.662319) + (xy 37.421614 100.66232) + (xy 37.380083 100.667788) + (xy 37.380081 100.667788) + (xy 37.374381 100.668539) + (xy 37.369174 100.670966) + (xy 37.369167 100.670969) + (xy 37.271354 100.71658) + (xy 37.271352 100.716581) + (xy 37.265393 100.71936) + (xy 37.260743 100.724009) + (xy 37.26074 100.724012) + (xy 37.185012 100.79974) + (xy 37.185009 100.799743) + (xy 37.18036 100.804393) + (xy 37.177581 100.810352) + (xy 37.17758 100.810354) + (xy 37.131969 100.908167) + (xy 37.131966 100.908174) + (xy 37.129539 100.913381) + (xy 37.128788 100.919081) + (xy 37.128788 100.919083) + (xy 37.123543 100.958926) + (xy 37.123 100.963048) + (xy 37.123 101.342952) + (xy 33.596146 101.342952) + (xy 33.622248 101.311147) + (xy 33.718912 101.130301) + (xy 33.778438 100.934072) + (xy 33.797901 100.736462) + (xy 33.798175 100.733676) + (xy 33.798175 100.733675) + (xy 33.798537 100.73) + (xy 33.798087 100.725436) + (xy 33.796115 100.705409) + (xy 33.778438 100.525928) + (xy 33.718912 100.329699) + (xy 33.622248 100.148853) + (xy 33.601793 100.123929) + (xy 33.494503 99.993195) + (xy 33.49216 99.99034) + (xy 33.48265 99.982535) + (xy 33.336506 99.862598) + (xy 33.336503 99.862596) + (xy 33.333647 99.860252) + (xy 33.152801 99.763588) + (xy 33.149274 99.762518) + (xy 33.149269 99.762516) + (xy 32.960103 99.705133) + (xy 32.960101 99.705132) + (xy 32.956572 99.704062) + (xy 32.952901 99.7037) + (xy 32.952899 99.7037) + (xy 32.756176 99.684325) + (xy 32.7525 99.683963) + (xy 32.748824 99.684325) + (xy 32.5521 99.7037) + (xy 32.552096 99.7037) + (xy 32.548428 99.704062) + (xy 32.5449 99.705132) + (xy 32.544896 99.705133) + (xy 32.35573 99.762516) + (xy 32.355722 99.762519) + (xy 32.352199 99.763588) + (xy 32.348947 99.765325) + (xy 32.348945 99.765327) + (xy 32.174611 99.85851) + (xy 32.174606 99.858512) + (xy 32.171353 99.860252) + (xy 32.1685 99.862593) + (xy 32.168493 99.862598) + (xy 32.015695 99.987996) + (xy 32.015689 99.988001) + (xy 32.01284 99.99034) + (xy 32.010501 99.993189) + (xy 32.010496 99.993195) + (xy 31.885098 100.145993) + (xy 31.885093 100.146) + (xy 31.882752 100.148853) + (xy 31.881012 100.152106) + (xy 31.88101 100.152111) + (xy 31.788428 100.325321) + (xy 31.786088 100.329699) + (xy 31.785019 100.333222) + (xy 31.785016 100.33323) + (xy 31.728042 100.521048) + (xy 31.726562 100.525928) + (xy 31.7262 100.529596) + (xy 31.7262 100.5296) + (xy 31.706825 100.726324) + (xy 31.706463 100.73) + (xy 31.257673 100.73) + (xy 31.257673 100.726325) + (xy 31.238307 100.529701) + (xy 31.236872 100.522491) + (xy 31.17952 100.333426) + (xy 31.176707 100.326634) + (xy 31.08357 100.152386) + (xy 31.079488 100.146278) + (xy 31.039439 100.097477) + (xy 31.032595 100.092741) + (xy 31.025316 100.096787) + (xy 30.399105 100.722999) + (xy 30.395063 100.73) + (xy 30.029936 100.73) + (xy 30.025894 100.722999) + (xy 29.399682 100.096787) + (xy 29.392403 100.092742) + (xy 29.385558 100.097479) + (xy 29.345508 100.146281) + (xy 29.341431 100.152383) + (xy 29.248292 100.326634) + (xy 29.245479 100.333426) + (xy 29.188127 100.522491) + (xy 29.186692 100.529701) + (xy 29.167327 100.726325) + (xy 29.167327 100.733675) + (xy 25 100.733675) + (xy 25 99.909903) + (xy 29.575242 99.909903) + (xy 29.579287 99.917182) + (xy 30.205499 100.543394) + (xy 30.2125 100.547436) + (xy 30.2195 100.543394) + (xy 30.845711 99.917182) + (xy 30.849757 99.909903) + (xy 30.845021 99.903059) + (xy 30.796222 99.863011) + (xy 30.790113 99.858929) + (xy 30.615865 99.765792) + (xy 30.609073 99.762979) + (xy 30.420008 99.705627) + (xy 30.412798 99.704192) + (xy 30.216175 99.684827) + (xy 30.208825 99.684827) + (xy 30.012201 99.704192) + (xy 30.004991 99.705627) + (xy 29.815926 99.762979) + (xy 29.809134 99.765792) + (xy 29.634883 99.858931) + (xy 29.628781 99.863008) + (xy 29.579979 99.903058) + (xy 29.575242 99.909903) + (xy 25 99.909903) + (xy 25 99.442952) + (xy 37.123 99.442952) + (xy 37.123319 99.44538) + (xy 37.12332 99.445385) + (xy 37.126228 99.467474) + (xy 37.129539 99.492619) + (xy 37.131967 99.497827) + (xy 37.131969 99.497832) + (xy 37.171976 99.583628) + (xy 37.18036 99.601607) + (xy 37.265393 99.68664) + (xy 37.326982 99.715359) + (xy 37.369167 99.73503) + (xy 37.369168 99.73503) + (xy 37.374381 99.737461) + (xy 37.424048 99.744) + (xy 38.676495 99.744) + (xy 38.678952 99.744) + (xy 38.728619 99.737461) + (xy 38.798136 99.705045) + (xy 38.829917 99.698) + (xy 39.020793 99.698) + (xy 39.029211 99.698472) + (xy 39.036792 99.699327) + (xy 39.037671 99.699426) + (xy 39.076137 99.715359) + (xy 39.100231 99.749315) + (xy 39.102566 99.790886) + (xy 39.082426 99.827326) + (xy 39.060012 99.84974) + (xy 39.060009 99.849743) + (xy 39.05536 99.854393) + (xy 39.052581 99.860352) + (xy 39.05258 99.860354) + (xy 39.006969 99.958167) + (xy 39.006966 99.958174) + (xy 39.004539 99.963381) + (xy 39.003788 99.969081) + (xy 39.003788 99.969083) + (xy 38.998439 100.009716) + (xy 38.998 100.013048) + (xy 38.998 100.392952) + (xy 38.998319 100.39538) + (xy 38.99832 100.395385) + (xy 39.003611 100.435571) + (xy 39.004539 100.442619) + (xy 39.006967 100.447827) + (xy 39.006969 100.447832) + (xy 39.043007 100.525116) + (xy 39.05536 100.551607) + (xy 39.140393 100.63664) + (xy 39.207191 100.667788) + (xy 39.244167 100.68503) + (xy 39.244168 100.68503) + (xy 39.249381 100.687461) + (xy 39.299048 100.694) + (xy 40.551495 100.694) + (xy 40.553952 100.694) + (xy 40.603619 100.687461) + (xy 40.673136 100.655045) + (xy 40.704917 100.648) + (xy 40.962391 100.648) + (xy 40.979123 100.649885) + (xy 40.98737 100.651768) + (xy 41.034846 100.64821) + (xy 41.040467 100.648) + (xy 41.502706 100.648) + (xy 41.541997 100.659081) + (xy 41.569709 100.689059) + (xy 41.57804 100.705409) + (xy 41.578042 100.705412) + (xy 41.580731 100.710689) + (xy 41.668311 100.798269) + (xy 41.724899 100.827102) + (xy 41.77149 100.850842) + (xy 41.778668 100.854499) + (xy 41.784513 100.855424) + (xy 41.784514 100.855425) + (xy 41.79573 100.857201) + (xy 41.870226 100.869) + (xy 42.32882 100.869) + (xy 42.331774 100.869) + (xy 42.363872 100.863916) + (xy 42.409776 100.871186) + (xy 42.44264 100.90405) + (xy 42.44991 100.949954) + (xy 42.42881 100.991364) + (xy 42.000201 101.419974) + (xy 41.975805 101.436276) + (xy 41.947027 101.442) + (xy 41.870226 101.442) + (xy 41.86731 101.442461) + (xy 41.867307 101.442462) + (xy 41.784514 101.455574) + (xy 41.784507 101.455576) + (xy 41.778668 101.456501) + (xy 41.7734 101.459184) + (xy 41.773394 101.459187) + (xy 41.673587 101.510042) + (xy 41.673583 101.510044) + (xy 41.668311 101.512731) + (xy 41.664124 101.516917) + (xy 41.664121 101.51692) + (xy 41.58492 101.596121) + (xy 41.584917 101.596124) + (xy 41.580731 101.600311) + (xy 41.578044 101.605583) + (xy 41.578042 101.605587) + (xy 41.527187 101.705394) + (xy 41.527184 101.7054) + (xy 41.524501 101.710668) + (xy 41.523576 101.716507) + (xy 41.523574 101.716514) + (xy 41.510462 101.799307) + (xy 41.51 101.802226) + (xy 41.51 102.413774) + (xy 41.510461 102.41669) + (xy 41.510462 102.416692) + (xy 41.523574 102.499485) + (xy 41.523575 102.49949) + (xy 41.524501 102.505332) + (xy 41.527185 102.5106) + (xy 41.527187 102.510605) + (xy 41.578042 102.610412) + (xy 41.580731 102.615689) + (xy 41.584919 102.619877) + (xy 41.58492 102.619878) + (xy 41.633974 102.668932) + (xy 41.650276 102.693328) + (xy 41.656 102.722106) + (xy 41.656 103.144894) + (xy 41.650276 103.173672) + (xy 41.633974 103.198068) + (xy 41.58492 103.247121) + (xy 41.584917 103.247124) + (xy 41.580731 103.251311) + (xy 41.578044 103.256583) + (xy 41.578042 103.256587) + (xy 41.527187 103.356394) + (xy 41.527184 103.3564) + (xy 41.524501 103.361668) + (xy 41.523576 103.367507) + (xy 41.523574 103.367514) + (xy 41.510462 103.450307) + (xy 41.51 103.453226) + (xy 41.51 104.064774) + (xy 41.510461 104.06769) + (xy 41.510462 104.067692) + (xy 41.523574 104.150485) + (xy 41.523575 104.15049) + (xy 41.524501 104.156332) + (xy 41.527185 104.1616) + (xy 41.527187 104.161605) + (xy 41.575402 104.25623) + (xy 41.580731 104.266689) + (xy 41.668311 104.354269) + (xy 41.692708 104.3667) + (xy 41.769663 104.405911) + (xy 41.778668 104.410499) + (xy 41.784513 104.411424) + (xy 41.784514 104.411425) + (xy 41.784546 104.41143) + (xy 41.870226 104.425) + (xy 42.32882 104.425) + (xy 42.331774 104.425) + (xy 42.423332 104.410499) + (xy 42.533689 104.354269) + (xy 42.621269 104.266689) + (xy 42.677499 104.156332) + (xy 42.692 104.064774) + (xy 42.692 103.453226) + (xy 42.677499 103.361668) + (xy 42.660519 103.328344) + (xy 42.634358 103.277) + (xy 42.621269 103.251311) + (xy 42.568026 103.198068) + (xy 42.551724 103.173672) + (xy 42.546 103.144894) + (xy 42.546 102.722106) + (xy 42.551724 102.693328) + (xy 42.568026 102.668932) + (xy 42.590146 102.646812) + (xy 42.621269 102.615689) + (xy 42.677499 102.505332) + (xy 42.692 102.413774) + (xy 42.692 102.017973) + (xy 42.697724 101.989195) + (xy 42.714022 101.964802) + (xy 43.053772 101.625052) + (xy 43.098104 101.603549) + (xy 43.146234 101.614109) + (xy 43.177495 101.652198) + (xy 43.178465 101.701463) + (xy 43.177188 101.705394) + (xy 43.174501 101.710668) + (xy 43.173575 101.716509) + (xy 43.173574 101.716515) + (xy 43.160462 101.799307) + (xy 43.16 101.802226) + (xy 43.16 102.413774) + (xy 43.160461 102.41669) + (xy 43.160462 102.416692) + (xy 43.173574 102.499485) + (xy 43.173575 102.49949) + (xy 43.174501 102.505332) + (xy 43.177185 102.5106) + (xy 43.177187 102.510605) + (xy 43.228042 102.610412) + (xy 43.230731 102.615689) + (xy 43.234919 102.619877) + (xy 43.23492 102.619878) + (xy 43.283974 102.668932) + (xy 43.300276 102.693328) + (xy 43.306 102.722106) + (xy 43.306 103.144894) + (xy 43.300276 103.173672) + (xy 43.283974 103.198068) + (xy 43.23492 103.247121) + (xy 43.234917 103.247124) + (xy 43.230731 103.251311) + (xy 43.228044 103.256583) + (xy 43.228042 103.256587) + (xy 43.177187 103.356394) + (xy 43.177184 103.3564) + (xy 43.174501 103.361668) + (xy 43.173576 103.367507) + (xy 43.173574 103.367514) + (xy 43.160462 103.450307) + (xy 43.16 103.453226) + (xy 43.16 104.064774) + (xy 43.160461 104.06769) + (xy 43.160462 104.067692) + (xy 43.173574 104.150485) + (xy 43.173575 104.15049) + (xy 43.174501 104.156332) + (xy 43.177185 104.1616) + (xy 43.177187 104.161605) + (xy 43.225402 104.25623) + (xy 43.230731 104.266689) + (xy 43.318311 104.354269) + (xy 43.342708 104.3667) + (xy 43.419663 104.405911) + (xy 43.428668 104.410499) + (xy 43.434513 104.411424) + (xy 43.434514 104.411425) + (xy 43.434546 104.41143) + (xy 43.520226 104.425) + (xy 43.97882 104.425) + (xy 43.981774 104.425) + (xy 44.073332 104.410499) + (xy 44.183689 104.354269) + (xy 44.271269 104.266689) + (xy 44.327499 104.156332) + (xy 44.342 104.064774) + (xy 44.342 103.453226) + (xy 44.327499 103.361668) + (xy 44.310519 103.328344) + (xy 44.284358 103.277) + (xy 44.271269 103.251311) + (xy 44.218026 103.198068) + (xy 44.201724 103.173672) + (xy 44.196 103.144894) + (xy 44.196 102.722106) + (xy 44.201724 102.693328) + (xy 44.218026 102.668932) + (xy 44.240146 102.646812) + (xy 44.271269 102.615689) + (xy 44.276397 102.605625) + (xy 44.282291 102.594059) + (xy 44.310003 102.564081) + (xy 44.349294 102.553) + (xy 44.677706 102.553) + (xy 44.716997 102.564081) + (xy 44.744709 102.594059) + (xy 44.75304 102.610409) + (xy 44.753042 102.610412) + (xy 44.755731 102.615689) + (xy 44.75992 102.619878) + (xy 44.808974 102.668932) + (xy 44.825276 102.693328) + (xy 44.831 102.722106) + (xy 44.831 103.144894) + (xy 44.825276 103.173672) + (xy 44.808974 103.198068) + (xy 44.75992 103.247121) + (xy 44.759917 103.247124) + (xy 44.755731 103.251311) + (xy 44.753044 103.256583) + (xy 44.753042 103.256587) + (xy 44.702187 103.356394) + (xy 44.702184 103.3564) + (xy 44.699501 103.361668) + (xy 44.698576 103.367507) + (xy 44.698574 103.367514) + (xy 44.685462 103.450307) + (xy 44.685 103.453226) + (xy 44.685 104.064774) + (xy 44.685461 104.06769) + (xy 44.685462 104.067692) + (xy 44.698574 104.150485) + (xy 44.698575 104.15049) + (xy 44.699501 104.156332) + (xy 44.702185 104.1616) + (xy 44.702187 104.161605) + (xy 44.750402 104.25623) + (xy 44.755731 104.266689) + (xy 44.843311 104.354269) + (xy 44.867708 104.3667) + (xy 44.944663 104.405911) + (xy 44.953668 104.410499) + (xy 44.959513 104.411424) + (xy 44.959514 104.411425) + (xy 44.959546 104.41143) + (xy 45.045226 104.425) + (xy 45.50382 104.425) + (xy 45.506774 104.425) + (xy 45.598332 104.410499) + (xy 45.708689 104.354269) + (xy 45.796269 104.266689) + (xy 45.852499 104.156332) + (xy 45.867 104.064774) + (xy 45.867 103.453226) + (xy 45.852499 103.361668) + (xy 45.835519 103.328344) + (xy 45.809358 103.277) + (xy 45.796269 103.251311) + (xy 45.743026 103.198068) + (xy 45.726724 103.173672) + (xy 45.721 103.144894) + (xy 45.721 102.722106) + (xy 45.726724 102.693328) + (xy 45.743026 102.668932) + (xy 45.765146 102.646812) + (xy 45.796269 102.615689) + (xy 45.852499 102.505332) + (xy 45.867 102.413774) + (xy 45.867 101.802226) + (xy 45.852499 101.710668) + (xy 45.838401 101.683) + (xy 45.80729 101.621941) + (xy 45.796269 101.600311) + (xy 45.708689 101.512731) + (xy 45.703412 101.510042) + (xy 45.603605 101.459187) + (xy 45.6036 101.459185) + (xy 45.598332 101.456501) + (xy 45.59249 101.455575) + (xy 45.592485 101.455574) + (xy 45.509692 101.442462) + (xy 45.50969 101.442461) + (xy 45.506774 101.442) + (xy 45.045226 101.442) + (xy 45.04231 101.442461) + (xy 45.042307 101.442462) + (xy 44.959514 101.455574) + (xy 44.959507 101.455576) + (xy 44.953668 101.456501) + (xy 44.9484 101.459184) + (xy 44.948394 101.459187) + (xy 44.848587 101.510042) + (xy 44.848583 101.510044) + (xy 44.843311 101.512731) + (xy 44.839124 101.516917) + (xy 44.839121 101.51692) + (xy 44.75992 101.596121) + (xy 44.759917 101.596124) + (xy 44.755731 101.600311) + (xy 44.753043 101.605584) + (xy 44.75304 101.60559) + (xy 44.744709 101.621941) + (xy 44.716997 101.651919) + (xy 44.677706 101.663) + (xy 44.349294 101.663) + (xy 44.310003 101.651919) + (xy 44.282291 101.621941) + (xy 44.273959 101.60559) + (xy 44.273957 101.605587) + (xy 44.271269 101.600311) + (xy 44.183689 101.512731) + (xy 44.178412 101.510042) + (xy 44.078605 101.459187) + (xy 44.0786 101.459185) + (xy 44.073332 101.456501) + (xy 44.06749 101.455575) + (xy 44.067485 101.455574) + (xy 43.984692 101.442462) + (xy 43.98469 101.442461) + (xy 43.981774 101.442) + (xy 43.520226 101.442) + (xy 43.51731 101.442461) + (xy 43.517307 101.442462) + (xy 43.434515 101.455574) + (xy 43.434509 101.455575) + (xy 43.428668 101.456501) + (xy 43.423397 101.459186) + (xy 43.419463 101.460465) + (xy 43.370198 101.459495) + (xy 43.332109 101.428234) + (xy 43.321549 101.380104) + (xy 43.343053 101.335771) + (xy 43.787799 100.891025) + (xy 43.812195 100.874724) + (xy 43.840973 100.869) + (xy 43.97882 100.869) + (xy 43.981774 100.869) + (xy 44.073332 100.854499) + (xy 44.183689 100.798269) + (xy 44.271269 100.710689) + (xy 44.280435 100.692698) + (xy 44.306954 100.663465) + (xy 44.339912 100.653164) + (xy 44.339827 100.652711) + (xy 44.370261 100.646952) + (xy 45.381 100.646952) + (xy 45.381319 100.64938) + (xy 45.38132 100.649385) + (xy 45.386432 100.688211) + (xy 45.387539 100.696619) + (xy 45.389967 100.701827) + (xy 45.389969 100.701832) + (xy 45.420421 100.767136) + (xy 45.43836 100.805607) + (xy 45.523393 100.89064) + (xy 45.586902 100.920254) + (xy 45.627167 100.93903) + (xy 45.627168 100.93903) + (xy 45.632381 100.941461) + (xy 45.682048 100.948) + (xy 47.409495 100.948) + (xy 47.411952 100.948) + (xy 47.461619 100.941461) + (xy 47.523592 100.912563) + (xy 47.531137 100.909045) + (xy 47.562917 100.902) + (xy 48.171527 100.902) + (xy 48.200305 100.907724) + (xy 48.224701 100.924026) + (xy 48.300974 101.000299) + (xy 48.317276 101.024695) + (xy 48.323 101.053473) + (xy 48.323 101.361937) + (xy 48.31412 101.397386) + (xy 48.289578 101.424464) + (xy 48.255169 101.436775) + (xy 48.252882 101.437) + (xy 48.249188 101.437) + (xy 48.245572 101.437719) + (xy 48.245564 101.43772) + (xy 48.200738 101.446637) + (xy 48.200736 101.446637) + (xy 48.193475 101.448082) + (xy 48.187321 101.452193) + (xy 48.187316 101.452196) + (xy 48.136454 101.486182) + (xy 48.136451 101.486184) + (xy 48.130297 101.490297) + (xy 48.126184 101.496451) + (xy 48.126182 101.496454) + (xy 48.092196 101.547316) + (xy 48.092193 101.547321) + (xy 48.088082 101.553475) + (xy 48.086637 101.560736) + (xy 48.086637 101.560738) + (xy 48.07772 101.605564) + (xy 48.077719 101.605572) + (xy 48.077 101.609188) + (xy 48.077 101.612882) + (xy 48.076775 101.615169) + (xy 48.064464 101.649578) + (xy 48.037386 101.67412) + (xy 48.001937 101.683) + (xy 47.534484 101.683) + (xy 47.495192 101.671919) + (xy 47.46748 101.64194) + (xy 47.45729 101.621941) + (xy 47.446269 101.600311) + (xy 47.358689 101.512731) + (xy 47.353412 101.510042) + (xy 47.253605 101.459187) + (xy 47.2536 101.459185) + (xy 47.248332 101.456501) + (xy 47.24249 101.455575) + (xy 47.242485 101.455574) + (xy 47.159692 101.442462) + (xy 47.15969 101.442461) + (xy 47.156774 101.442) + (xy 46.695226 101.442) + (xy 46.69231 101.442461) + (xy 46.692307 101.442462) + (xy 46.609514 101.455574) + (xy 46.609507 101.455576) + (xy 46.603668 101.456501) + (xy 46.5984 101.459184) + (xy 46.598394 101.459187) + (xy 46.498587 101.510042) + (xy 46.498583 101.510044) + (xy 46.493311 101.512731) + (xy 46.489124 101.516917) + (xy 46.489121 101.51692) + (xy 46.40992 101.596121) + (xy 46.409917 101.596124) + (xy 46.405731 101.600311) + (xy 46.403044 101.605583) + (xy 46.403042 101.605587) + (xy 46.352187 101.705394) + (xy 46.352184 101.7054) + (xy 46.349501 101.710668) + (xy 46.348576 101.716507) + (xy 46.348574 101.716514) + (xy 46.335462 101.799307) + (xy 46.335 101.802226) + (xy 46.335 102.413774) + (xy 46.335461 102.41669) + (xy 46.335462 102.416692) + (xy 46.348574 102.499485) + (xy 46.348575 102.49949) + (xy 46.349501 102.505332) + (xy 46.352185 102.5106) + (xy 46.352187 102.510605) + (xy 46.403042 102.610412) + (xy 46.405731 102.615689) + (xy 46.409919 102.619877) + (xy 46.40992 102.619878) + (xy 46.458974 102.668932) + (xy 46.475276 102.693328) + (xy 46.481 102.722106) + (xy 46.481 103.144894) + (xy 46.475276 103.173672) + (xy 46.458974 103.198068) + (xy 46.40992 103.247121) + (xy 46.409917 103.247124) + (xy 46.405731 103.251311) + (xy 46.403044 103.256583) + (xy 46.403042 103.256587) + (xy 46.352187 103.356394) + (xy 46.352184 103.3564) + (xy 46.349501 103.361668) + (xy 46.348576 103.367507) + (xy 46.348574 103.367514) + (xy 46.335462 103.450307) + (xy 46.335 103.453226) + (xy 46.335 104.064774) + (xy 46.335461 104.06769) + (xy 46.335462 104.067692) + (xy 46.348574 104.150485) + (xy 46.348575 104.15049) + (xy 46.349501 104.156332) + (xy 46.352185 104.1616) + (xy 46.352187 104.161605) + (xy 46.400402 104.25623) + (xy 46.405731 104.266689) + (xy 46.493311 104.354269) + (xy 46.517708 104.3667) + (xy 46.594663 104.405911) + (xy 46.603668 104.410499) + (xy 46.609513 104.411424) + (xy 46.609514 104.411425) + (xy 46.609546 104.41143) + (xy 46.695226 104.425) + (xy 47.15382 104.425) + (xy 47.156774 104.425) + (xy 47.248332 104.410499) + (xy 47.358689 104.354269) + (xy 47.446269 104.266689) + (xy 47.502499 104.156332) + (xy 47.517 104.064774) + (xy 47.517 103.453226) + (xy 47.502499 103.361668) + (xy 47.485519 103.328344) + (xy 47.459358 103.277) + (xy 47.446269 103.251311) + (xy 47.393026 103.198068) + (xy 47.376724 103.173672) + (xy 47.371 103.144894) + (xy 47.371 102.722106) + (xy 47.376724 102.693328) + (xy 47.393026 102.668932) + (xy 47.415146 102.646812) + (xy 47.446269 102.615689) + (xy 47.448958 102.61041) + (xy 47.452436 102.605625) + (xy 47.453907 102.606694) + (xy 47.474811 102.584082) + (xy 47.514103 102.573) + (xy 48.001937 102.573) + (xy 48.037386 102.58188) + (xy 48.064464 102.606422) + (xy 48.076775 102.640831) + (xy 48.077 102.643116) + (xy 48.077 102.646812) + (xy 48.077719 102.650428) + (xy 48.07772 102.650435) + (xy 48.086357 102.693851) + (xy 48.088082 102.702525) + (xy 48.092194 102.70868) + (xy 48.092196 102.708683) + (xy 48.121005 102.751797) + (xy 48.130297 102.765703) + (xy 48.136454 102.769817) + (xy 48.187316 102.803803) + (xy 48.187317 102.803803) + (xy 48.193475 102.807918) + (xy 48.249188 102.819) + (xy 49.283116 102.819) + (xy 49.286812 102.819) + (xy 49.342525 102.807918) + (xy 49.405703 102.765703) + (xy 49.447918 102.702525) + (xy 49.459 102.646812) + (xy 49.459 101.641873) + (xy 49.471673 101.600094) + (xy 49.505422 101.572397) + (xy 49.548871 101.568118) + (xy 49.587374 101.588699) + (xy 49.984974 101.986299) + (xy 50.001276 102.010695) + (xy 50.007 102.039473) + (xy 50.007 102.275774) + (xy 50.007461 102.27869) + (xy 50.007462 102.278692) + (xy 50.020574 102.361485) + (xy 50.020575 102.36149) + (xy 50.021501 102.367332) + (xy 50.024185 102.3726) + (xy 50.024187 102.372605) + (xy 50.075042 102.472412) + (xy 50.077731 102.477689) + (xy 50.165311 102.565269) + (xy 50.221814 102.594059) + (xy 50.264875 102.616) + (xy 50.275668 102.621499) + (xy 50.281513 102.622424) + (xy 50.281514 102.622425) + (xy 50.29273 102.624201) + (xy 50.367226 102.636) + (xy 50.97582 102.636) + (xy 50.978774 102.636) + (xy 51.070332 102.621499) + (xy 51.180689 102.565269) + (xy 51.233932 102.512025) + (xy 51.258328 102.495724) + (xy 51.287106 102.49) + (xy 51.647649 102.49) + (xy 51.686941 102.501081) + (xy 51.714652 102.53106) + (xy 51.730561 102.562284) + (xy 51.730566 102.562291) + (xy 51.733254 102.567566) + (xy 51.826434 102.660746) + (xy 51.877454 102.686742) + (xy 51.920515 102.708683) + (xy 51.943847 102.720571) + (xy 51.949692 102.721496) + (xy 51.949693 102.721497) + (xy 51.960571 102.723219) + (xy 52.041263 102.736) + (xy 52.606736 102.735999) + (xy 52.704153 102.720571) + (xy 52.821566 102.660746) + (xy 52.914746 102.567566) + (xy 52.917435 102.562287) + (xy 52.917438 102.562284) + (xy 52.933348 102.53106) + (xy 52.961059 102.501081) + (xy 53.000351 102.49) + (xy 53.360894 102.49) + (xy 53.389672 102.495724) + (xy 53.414067 102.512025) + (xy 53.467311 102.565269) + (xy 53.523814 102.594059) + (xy 53.566875 102.616) + (xy 53.577668 102.621499) + (xy 53.583513 102.622424) + (xy 53.583514 102.622425) + (xy 53.59473 102.624201) + (xy 53.669226 102.636) + (xy 54.27782 102.636) + (xy 54.280774 102.636) + (xy 54.372332 102.621499) + (xy 54.482689 102.565269) + (xy 54.570269 102.477689) + (xy 54.626499 102.367332) + (xy 54.641 102.275774) + (xy 54.96 102.275774) + (xy 54.960461 102.27869) + (xy 54.960462 102.278692) + (xy 54.973574 102.361485) + (xy 54.973575 102.36149) + (xy 54.974501 102.367332) + (xy 54.977185 102.3726) + (xy 54.977187 102.372605) + (xy 55.028042 102.472412) + (xy 55.030731 102.477689) + (xy 55.118311 102.565269) + (xy 55.174814 102.594059) + (xy 55.217875 102.616) + (xy 55.228668 102.621499) + (xy 55.234513 102.622424) + (xy 55.234514 102.622425) + (xy 55.24573 102.624201) + (xy 55.320226 102.636) + (xy 55.874527 102.636) + (xy 55.903305 102.641724) + (xy 55.927701 102.658026) + (xy 57.238234 103.968559) + (xy 57.257313 104.005999) + (xy 57.257747 104.005859) + (xy 57.258636 104.008595) + (xy 57.259333 104.009963) + (xy 57.259573 104.01148) + (xy 57.259575 104.011485) + (xy 57.260501 104.017332) + (xy 57.263187 104.022604) + (xy 57.263188 104.022606) + (xy 57.287124 104.069583) + (xy 57.316731 104.127689) + (xy 57.404311 104.215269) + (xy 57.445806 104.236412) + (xy 57.508448 104.26833) + (xy 57.514668 104.271499) + (xy 57.520513 104.272424) + (xy 57.520514 104.272425) + (xy 57.53173 104.274201) + (xy 57.606226 104.286) + (xy 58.21482 104.286) + (xy 58.217774 104.286) + (xy 58.309332 104.271499) + (xy 58.419689 104.215269) + (xy 58.507269 104.127689) + (xy 58.563499 104.017332) + (xy 58.578 103.925774) + (xy 58.578 103.464226) + (xy 58.563499 103.372668) + (xy 58.544647 103.33567) + (xy 58.509957 103.267587) + (xy 58.507269 103.262311) + (xy 58.419689 103.174731) + (xy 58.414412 103.172042) + (xy 58.314605 103.121187) + (xy 58.3146 103.121185) + (xy 58.309332 103.118501) + (xy 58.30349 103.117575) + (xy 58.303485 103.117574) + (xy 58.220692 103.104462) + (xy 58.22069 103.104461) + (xy 58.217774 103.104) + (xy 58.21482 103.104) + (xy 57.663473 103.104) + (xy 57.634695 103.098276) + (xy 57.610299 103.081974) + (xy 56.299764 101.771439) + (xy 56.280689 101.733999) + (xy 56.280253 101.734141) + (xy 56.279357 101.731385) + (xy 56.278664 101.730024) + (xy 56.277499 101.722668) + (xy 56.274363 101.716514) + (xy 56.241864 101.652731) + (xy 56.221269 101.612311) + (xy 56.217082 101.608124) + (xy 56.214066 101.603973) + (xy 56.200628 101.571535) + (xy 56.203382 101.536532) + (xy 56.221726 101.506597) + (xy 56.535014 101.193309) + (xy 56.541283 101.187706) + (xy 56.570892 101.164095) + (xy 56.603182 101.116731) + (xy 56.604811 101.114437) + (xy 56.635525 101.072823) + (xy 56.635525 101.072822) + (xy 56.638875 101.068284) + (xy 56.640737 101.062959) + (xy 56.641843 101.060868) + (xy 56.64208 101.060474) + (xy 56.642264 101.060031) + (xy 56.64328 101.05792) + (xy 56.646459 101.053259) + (xy 56.663383 100.998389) + (xy 56.664227 100.995825) + (xy 56.680047 100.950619) + (xy 56.682237 100.944361) + (xy 56.709701 100.907869) + (xy 56.753216 100.894) + (xy 56.756116 100.894) + (xy 56.759812 100.894) + (xy 56.815525 100.882918) + (xy 56.878703 100.840703) + (xy 56.920918 100.777525) + (xy 56.932 100.721812) + (xy 56.932 99.684188) + (xy 56.920918 99.628475) + (xy 56.915283 99.620042) + (xy 56.882817 99.571454) + (xy 56.878703 99.565297) + (xy 56.870831 99.560037) + (xy 56.821683 99.527196) + (xy 56.82168 99.527194) + (xy 56.815525 99.523082) + (xy 56.808261 99.521637) + (xy 56.763437 99.512721) + (xy 56.763436 99.51272) + (xy 56.759812 99.512) + (xy 56.756117 99.512) + (xy 56.755305 99.51192) + (xy 56.718589 99.498001) + (xy 56.693893 99.467474) + (xy 56.687951 99.428664) + (xy 56.690711 99.404173) + (xy 56.68005 99.34783) + (xy 56.679579 99.345056) + (xy 56.675328 99.316852) + (xy 56.671033 99.288353) + (xy 56.668585 99.283271) + (xy 56.66789 99.281017) + (xy 56.667778 99.280566) + (xy 56.667777 99.280562) + (xy 56.667599 99.280132) + (xy 56.666819 99.277903) + (xy 56.665772 99.272366) + (xy 56.663139 99.267384) + (xy 56.663138 99.267381) + (xy 56.646381 99.235675) + (xy 56.638966 99.221646) + (xy 56.637707 99.219151) + (xy 56.635643 99.214866) + (xy 56.616323 99.174746) + (xy 57.2465 99.174746) + (xy 57.246962 99.180618) + (xy 57.260984 99.269151) + (xy 57.264597 99.280271) + (xy 57.318976 99.386994) + (xy 57.325851 99.396456) + (xy 57.410543 99.481148) + (xy 57.420005 99.488023) + (xy 57.526728 99.542402) + (xy 57.537848 99.546015) + (xy 57.626381 99.560037) + (xy 57.632254 99.5605) + (xy 57.775098 99.5605) + (xy 57.782907 99.558407) + (xy 57.785 99.550598) + (xy 57.785 99.056902) + (xy 57.782907 99.049092) + (xy 57.775098 99.047) + (xy 57.256402 99.047) + (xy 57.248592 99.049092) + (xy 57.2465 99.056902) + (xy 57.2465 99.174746) + (xy 56.616323 99.174746) + (xy 56.612829 99.167491) + (xy 56.608995 99.163359) + (xy 56.607659 99.161399) + (xy 56.607423 99.161007) + (xy 56.607129 99.160652) + (xy 56.605724 99.158749) + (xy 56.603091 99.153766) + (xy 56.56254 99.113215) + (xy 56.560589 99.11119) + (xy 56.546851 99.096384) + (xy 56.521587 99.069156) + (xy 56.516707 99.066338) + (xy 56.514852 99.064859) + (xy 56.508565 99.05924) + (xy 56.412315 98.96299) + (xy 56.392851 98.929279) + (xy 56.392852 98.890352) + (xy 56.412312 98.856645) + (xy 56.463269 98.805689) + (xy 56.47478 98.783098) + (xy 57.2465 98.783098) + (xy 57.248592 98.790907) + (xy 57.256402 98.793) + (xy 57.775098 98.793) + (xy 57.782907 98.790907) + (xy 57.785 98.783098) + (xy 57.785 98.289402) + (xy 57.782907 98.281592) + (xy 57.775098 98.2795) + (xy 57.632254 98.2795) + (xy 57.626381 98.279962) + (xy 57.537848 98.293984) + (xy 57.526728 98.297597) + (xy 57.420005 98.351976) + (xy 57.410543 98.358851) + (xy 57.325851 98.443543) + (xy 57.318976 98.453005) + (xy 57.264597 98.559728) + (xy 57.260984 98.570848) + (xy 57.246962 98.659381) + (xy 57.2465 98.665254) + (xy 57.2465 98.783098) + (xy 56.47478 98.783098) + (xy 56.519499 98.695332) + (xy 56.534 98.603774) + (xy 56.534 97.992226) + (xy 56.521026 97.910307) + (xy 56.520425 97.906514) + (xy 56.520424 97.906513) + (xy 56.519499 97.900668) + (xy 56.516797 97.895366) + (xy 56.473745 97.810871) + (xy 56.463269 97.790311) + (xy 56.375689 97.702731) + (xy 56.370412 97.700042) + (xy 56.270605 97.649187) + (xy 56.2706 97.649185) + (xy 56.265332 97.646501) + (xy 56.25949 97.645575) + (xy 56.259485 97.645574) + (xy 56.176692 97.632462) + (xy 56.17669 97.632461) + (xy 56.173774 97.632) + (xy 55.712226 97.632) + (xy 55.70931 97.632461) + (xy 55.709307 97.632462) + (xy 55.626514 97.645574) + (xy 55.626507 97.645576) + (xy 55.620668 97.646501) + (xy 55.6154 97.649184) + (xy 55.615394 97.649187) + (xy 55.515587 97.700042) + (xy 55.515583 97.700044) + (xy 55.510311 97.702731) + (xy 55.506124 97.706917) + (xy 55.506121 97.70692) + (xy 55.42692 97.786121) + (xy 55.426917 97.786124) + (xy 55.422731 97.790311) + (xy 55.420044 97.795583) + (xy 55.420042 97.795587) + (xy 55.369187 97.895394) + (xy 55.369184 97.8954) + (xy 55.366501 97.900668) + (xy 55.365576 97.906507) + (xy 55.365574 97.906514) + (xy 55.352997 97.985928) + (xy 55.352 97.992226) + (xy 55.352 98.603774) + (xy 55.352461 98.60669) + (xy 55.352462 98.606692) + (xy 55.365574 98.689485) + (xy 55.365575 98.68949) + (xy 55.366501 98.695332) + (xy 55.369185 98.7006) + (xy 55.369187 98.700605) + (xy 55.420042 98.800412) + (xy 55.422731 98.805689) + (xy 55.42692 98.809878) + (xy 55.475974 98.858932) + (xy 55.492276 98.883328) + (xy 55.498 98.912106) + (xy 55.498 99.093793) + (xy 55.497527 99.102212) + (xy 55.493919 99.134229) + (xy 55.493919 99.134233) + (xy 55.493289 99.139827) + (xy 55.494335 99.14536) + (xy 55.494336 99.145362) + (xy 55.503947 99.19616) + (xy 55.504418 99.198931) + (xy 55.511344 99.244884) + (xy 55.512967 99.255647) + (xy 55.515411 99.260722) + (xy 55.51611 99.262988) + (xy 55.516221 99.263435) + (xy 55.516394 99.263853) + (xy 55.517181 99.266102) + (xy 55.518228 99.271634) + (xy 55.525745 99.285857) + (xy 55.545022 99.322332) + (xy 55.546281 99.324825) + (xy 55.571171 99.376509) + (xy 55.575 99.380636) + (xy 55.57634 99.382601) + (xy 55.576575 99.382992) + (xy 55.576863 99.383339) + (xy 55.578278 99.385256) + (xy 55.58091 99.390235) + (xy 55.584894 99.394219) + (xy 55.621458 99.430783) + (xy 55.623408 99.432807) + (xy 55.631594 99.441629) + (xy 55.650567 99.479949) + (xy 55.645583 99.522417) + (xy 55.618253 99.555303) + (xy 55.609453 99.561183) + (xy 55.609451 99.561184) + (xy 55.603297 99.565297) + (xy 55.599184 99.571451) + (xy 55.599182 99.571454) + (xy 55.565196 99.622316) + (xy 55.565193 99.622321) + (xy 55.561082 99.628475) + (xy 55.559637 99.635736) + (xy 55.559637 99.635738) + (xy 55.550721 99.680562) + (xy 55.55 99.684188) + (xy 55.55 100.721812) + (xy 55.550898 100.726325) + (xy 55.559015 100.767136) + (xy 55.561082 100.777525) + (xy 55.579293 100.804779) + (xy 55.591605 100.853928) + (xy 55.569941 100.899732) + (xy 55.331995 101.137678) + (xy 55.32571 101.143296) + (xy 55.300515 101.163389) + (xy 55.30051 101.163394) + (xy 55.296108 101.166905) + (xy 55.292935 101.171558) + (xy 55.292931 101.171563) + (xy 55.26381 101.214275) + (xy 55.262206 101.216536) + (xy 55.228125 101.262716) + (xy 55.226264 101.26803) + (xy 55.225144 101.270151) + (xy 55.224919 101.270524) + (xy 55.224745 101.270945) + (xy 55.223714 101.273085) + (xy 55.220541 101.277741) + (xy 55.21888 101.283123) + (xy 55.21888 101.283125) + (xy 55.203638 101.332535) + (xy 55.202759 101.335204) + (xy 55.185679 101.384015) + (xy 55.185677 101.384024) + (xy 55.183819 101.389335) + (xy 55.183608 101.39496) + (xy 55.183164 101.397308) + (xy 55.183057 101.397739) + (xy 55.183015 101.398187) + (xy 55.182659 101.400543) + (xy 55.181 101.405927) + (xy 55.181 101.411561) + (xy 55.181 101.446707) + (xy 55.169919 101.485999) + (xy 55.139941 101.513709) + (xy 55.118311 101.524731) + (xy 55.114126 101.528915) + (xy 55.114123 101.528918) + (xy 55.03492 101.608121) + (xy 55.034917 101.608124) + (xy 55.030731 101.612311) + (xy 55.028044 101.617583) + (xy 55.028042 101.617587) + (xy 54.977187 101.717394) + (xy 54.977184 101.7174) + (xy 54.974501 101.722668) + (xy 54.973576 101.728507) + (xy 54.973574 101.728514) + (xy 54.960462 101.811307) + (xy 54.96 101.814226) + (xy 54.96 102.275774) + (xy 54.641 102.275774) + (xy 54.641 101.814226) + (xy 54.62788 101.731385) + (xy 54.627425 101.728514) + (xy 54.627424 101.728513) + (xy 54.626499 101.722668) + (xy 54.623363 101.716514) + (xy 54.590864 101.652731) + (xy 54.570269 101.612311) + (xy 54.482689 101.524731) + (xy 54.468545 101.517524) + (xy 54.377605 101.471187) + (xy 54.3776 101.471185) + (xy 54.372332 101.468501) + (xy 54.36649 101.467575) + (xy 54.366485 101.467574) + (xy 54.283692 101.454462) + (xy 54.28369 101.454461) + (xy 54.280774 101.454) + (xy 53.669226 101.454) + (xy 53.66631 101.454461) + (xy 53.666307 101.454462) + (xy 53.583514 101.467574) + (xy 53.583507 101.467576) + (xy 53.577668 101.468501) + (xy 53.5724 101.471184) + (xy 53.572394 101.471187) + (xy 53.472587 101.522042) + (xy 53.472583 101.522044) + (xy 53.467311 101.524731) + (xy 53.463124 101.528917) + (xy 53.463121 101.52892) + (xy 53.414068 101.577974) + (xy 53.389672 101.594276) + (xy 53.360894 101.6) + (xy 52.92346 101.6) + (xy 52.894682 101.594276) + (xy 52.870286 101.577974) + (xy 52.825755 101.533443) + (xy 52.821566 101.529254) + (xy 52.816289 101.526565) + (xy 52.709426 101.472115) + (xy 52.709422 101.472113) + (xy 52.704153 101.469429) + (xy 52.698311 101.468503) + (xy 52.698306 101.468502) + (xy 52.609655 101.454462) + (xy 52.609652 101.454461) + (xy 52.606737 101.454) + (xy 52.603783 101.454) + (xy 52.044218 101.454) + (xy 52.044205 101.454) + (xy 52.041264 101.454001) + (xy 52.03835 101.454462) + (xy 52.038343 101.454463) + (xy 51.949692 101.468503) + (xy 51.94969 101.468503) + (xy 51.943847 101.469429) + (xy 51.938577 101.472113) + (xy 51.938574 101.472115) + (xy 51.83171 101.526565) + (xy 51.831706 101.526567) + (xy 51.826434 101.529254) + (xy 51.822247 101.53344) + (xy 51.822244 101.533443) + (xy 51.777714 101.577974) + (xy 51.753318 101.594276) + (xy 51.72454 101.6) + (xy 51.287106 101.6) + (xy 51.258328 101.594276) + (xy 51.233932 101.577974) + (xy 51.184878 101.52892) + (xy 51.180689 101.524731) + (xy 51.166545 101.517524) + (xy 51.075605 101.471187) + (xy 51.0756 101.471185) + (xy 51.070332 101.468501) + (xy 51.06449 101.467575) + (xy 51.064485 101.467574) + (xy 50.981692 101.454462) + (xy 50.98169 101.454461) + (xy 50.978774 101.454) + (xy 50.97582 101.454) + (xy 50.742473 101.454) + (xy 50.713695 101.448276) + (xy 50.689299 101.431974) + (xy 50.124026 100.866701) + (xy 50.107724 100.842305) + (xy 50.102 100.813527) + (xy 50.102 100.646952) + (xy 50.331 100.646952) + (xy 50.331319 100.64938) + (xy 50.33132 100.649385) + (xy 50.336432 100.688211) + (xy 50.337539 100.696619) + (xy 50.339967 100.701827) + (xy 50.339969 100.701832) + (xy 50.370421 100.767136) + (xy 50.38836 100.805607) + (xy 50.473393 100.89064) + (xy 50.536902 100.920254) + (xy 50.577167 100.93903) + (xy 50.577168 100.93903) + (xy 50.582381 100.941461) + (xy 50.632048 100.948) + (xy 52.359495 100.948) + (xy 52.361952 100.948) + (xy 52.411619 100.941461) + (xy 52.473592 100.912563) + (xy 52.481137 100.909045) + (xy 52.512917 100.902) + (xy 52.675793 100.902) + (xy 52.684212 100.902473) + (xy 52.721827 100.906711) + (xy 52.778177 100.896048) + (xy 52.780933 100.89558) + (xy 52.837647 100.887033) + (xy 52.842731 100.884583) + (xy 52.844984 100.883889) + (xy 52.845436 100.883777) + (xy 52.845878 100.883594) + (xy 52.848087 100.88282) + (xy 52.853634 100.881772) + (xy 52.904348 100.854967) + (xy 52.906825 100.853718) + (xy 52.958509 100.828829) + (xy 52.962641 100.824993) + (xy 52.964594 100.823663) + (xy 52.964991 100.823423) + (xy 52.965355 100.823122) + (xy 52.967246 100.821726) + (xy 52.972235 100.81909) + (xy 52.977346 100.813977) + (xy 52.978797 100.813202) + (xy 52.980759 100.811755) + (xy 52.98097 100.81204) + (xy 53.015849 100.793394) + (xy 53.0593 100.797671) + (xy 53.093051 100.825369) + (xy 53.096996 100.831274) + (xy 53.103297 100.840703) + (xy 53.109454 100.844817) + (xy 53.160316 100.878803) + (xy 53.160317 100.878803) + (xy 53.166475 100.882918) + (xy 53.222188 100.894) + (xy 54.256116 100.894) + (xy 54.259812 100.894) + (xy 54.315525 100.882918) + (xy 54.378703 100.840703) + (xy 54.420918 100.777525) + (xy 54.432 100.721812) + (xy 54.432 99.684188) + (xy 54.420918 99.628475) + (xy 54.415283 99.620042) + (xy 54.382817 99.571454) + (xy 54.378703 99.565297) + (xy 54.370831 99.560037) + (xy 54.321683 99.527196) + (xy 54.32168 99.527194) + (xy 54.315525 99.523082) + (xy 54.308261 99.521637) + (xy 54.289602 99.517925) + (xy 54.259812 99.512) + (xy 53.222188 99.512) + (xy 53.218563 99.51272) + (xy 53.218563 99.512721) + (xy 53.173738 99.521637) + (xy 53.173736 99.521637) + (xy 53.166475 99.523082) + (xy 53.160321 99.527193) + (xy 53.160316 99.527196) + (xy 53.109454 99.561182) + (xy 53.109451 99.561184) + (xy 53.103297 99.565297) + (xy 53.099184 99.571451) + (xy 53.099182 99.571454) + (xy 53.065196 99.622316) + (xy 53.065193 99.622321) + (xy 53.061082 99.628475) + (xy 53.059637 99.635736) + (xy 53.059637 99.635738) + (xy 53.050721 99.680562) + (xy 53.05 99.684188) + (xy 53.05 99.687882) + (xy 53.04992 99.688694) + (xy 53.036002 99.72541) + (xy 53.005476 99.750105) + (xy 52.966663 99.756048) + (xy 52.947771 99.753919) + (xy 52.947766 99.753919) + (xy 52.942173 99.753289) + (xy 52.936639 99.754335) + (xy 52.936636 99.754336) + (xy 52.885837 99.763947) + (xy 52.883067 99.764418) + (xy 52.831924 99.772127) + (xy 52.831922 99.772127) + (xy 52.826353 99.772967) + (xy 52.821279 99.775409) + (xy 52.818993 99.776115) + (xy 52.818563 99.776221) + (xy 52.818138 99.776398) + (xy 52.815901 99.77718) + (xy 52.810366 99.778228) + (xy 52.805391 99.780857) + (xy 52.805383 99.78086) + (xy 52.759653 99.805028) + (xy 52.757147 99.806293) + (xy 52.710565 99.828727) + (xy 52.710562 99.828728) + (xy 52.705491 99.831171) + (xy 52.701363 99.834999) + (xy 52.699392 99.836344) + (xy 52.699007 99.836575) + (xy 52.69867 99.836855) + (xy 52.696738 99.83828) + (xy 52.691765 99.84091) + (xy 52.687785 99.844889) + (xy 52.687782 99.844892) + (xy 52.651213 99.88146) + (xy 52.649191 99.883408) + (xy 52.611284 99.918582) + (xy 52.611281 99.918584) + (xy 52.607156 99.922413) + (xy 52.604341 99.927287) + (xy 52.602859 99.929146) + (xy 52.597243 99.93543) + (xy 52.550139 99.982535) + (xy 52.510023 100.003418) + (xy 52.465184 99.997516) + (xy 52.421492 99.977143) + (xy 52.411619 99.972539) + (xy 52.405917 99.971788) + (xy 52.405916 99.971788) + (xy 52.364385 99.96632) + (xy 52.36438 99.966319) + (xy 52.361952 99.966) + (xy 50.632048 99.966) + (xy 50.62962 99.966319) + (xy 50.629614 99.96632) + (xy 50.588083 99.971788) + (xy 50.588081 99.971788) + (xy 50.582381 99.972539) + (xy 50.577174 99.974966) + (xy 50.577167 99.974969) + (xy 50.479354 100.02058) + (xy 50.479352 100.020581) + (xy 50.473393 100.02336) + (xy 50.468743 100.028009) + (xy 50.46874 100.028012) + (xy 50.393012 100.10374) + (xy 50.393009 100.103743) + (xy 50.38836 100.108393) + (xy 50.385581 100.114352) + (xy 50.38558 100.114354) + (xy 50.339969 100.212167) + (xy 50.339966 100.212174) + (xy 50.337539 100.217381) + (xy 50.336788 100.223081) + (xy 50.336788 100.223083) + (xy 50.331905 100.260175) + (xy 50.331 100.267048) + (xy 50.331 100.646952) + (xy 50.102 100.646952) + (xy 50.102 99.376952) + (xy 50.331 99.376952) + (xy 50.331319 99.37938) + (xy 50.33132 99.379385) + (xy 50.33649 99.41865) + (xy 50.337539 99.426619) + (xy 50.339967 99.431827) + (xy 50.339969 99.431832) + (xy 50.377315 99.51192) + (xy 50.38836 99.535607) + (xy 50.473393 99.62064) + (xy 50.528815 99.646483) + (xy 50.577167 99.66903) + (xy 50.577168 99.66903) + (xy 50.582381 99.671461) + (xy 50.632048 99.678) + (xy 52.359495 99.678) + (xy 52.361952 99.678) + (xy 52.411619 99.671461) + (xy 52.481136 99.639045) + (xy 52.512917 99.632) + (xy 52.548793 99.632) + (xy 52.557212 99.632473) + (xy 52.594827 99.636711) + (xy 52.651177 99.626048) + (xy 52.653933 99.62558) + (xy 52.710647 99.617033) + (xy 52.715731 99.614583) + (xy 52.717984 99.613889) + (xy 52.718436 99.613777) + (xy 52.718878 99.613594) + (xy 52.721087 99.61282) + (xy 52.726634 99.611772) + (xy 52.777348 99.584967) + (xy 52.779825 99.583718) + (xy 52.831509 99.558829) + (xy 52.835641 99.554993) + (xy 52.837594 99.553663) + (xy 52.837991 99.553423) + (xy 52.838355 99.553122) + (xy 52.840246 99.551726) + (xy 52.845235 99.54909) + (xy 52.885822 99.508501) + (xy 52.887766 99.506628) + (xy 52.929844 99.467587) + (xy 52.932664 99.4627) + (xy 52.934137 99.460854) + (xy 52.939742 99.454581) + (xy 53.629301 98.765023) + (xy 53.653695 98.748724) + (xy 53.682473 98.743) + (xy 53.694706 98.743) + (xy 53.733997 98.754081) + (xy 53.761709 98.784059) + (xy 53.77004 98.800409) + (xy 53.770042 98.800412) + (xy 53.772731 98.805689) + (xy 53.860311 98.893269) + (xy 53.900368 98.913679) + (xy 53.960134 98.944132) + (xy 53.970668 98.949499) + (xy 53.976513 98.950424) + (xy 53.976514 98.950425) + (xy 53.98773 98.952201) + (xy 54.062226 98.964) + (xy 54.52082 98.964) + (xy 54.523774 98.964) + (xy 54.615332 98.949499) + (xy 54.725689 98.893269) + (xy 54.813269 98.805689) + (xy 54.869499 98.695332) + (xy 54.884 98.603774) + (xy 54.884 97.992226) + (xy 54.871026 97.910307) + (xy 54.870425 97.906514) + (xy 54.870424 97.906513) + (xy 54.869499 97.900668) + (xy 54.866797 97.895366) + (xy 54.823745 97.810871) + (xy 54.813269 97.790311) + (xy 54.725689 97.702731) + (xy 54.720412 97.700042) + (xy 54.620605 97.649187) + (xy 54.6206 97.649185) + (xy 54.615332 97.646501) + (xy 54.60949 97.645575) + (xy 54.609485 97.645574) + (xy 54.526692 97.632462) + (xy 54.52669 97.632461) + (xy 54.523774 97.632) + (xy 54.062226 97.632) + (xy 54.05931 97.632461) + (xy 54.059307 97.632462) + (xy 53.976514 97.645574) + (xy 53.976507 97.645576) + (xy 53.970668 97.646501) + (xy 53.9654 97.649184) + (xy 53.965394 97.649187) + (xy 53.865587 97.700042) + (xy 53.865583 97.700044) + (xy 53.860311 97.702731) + (xy 53.856124 97.706917) + (xy 53.856121 97.70692) + (xy 53.77692 97.786121) + (xy 53.776917 97.786124) + (xy 53.772731 97.790311) + (xy 53.770043 97.795584) + (xy 53.77004 97.79559) + (xy 53.761709 97.811941) + (xy 53.733997 97.841919) + (xy 53.694706 97.853) + (xy 53.496207 97.853) + (xy 53.487788 97.852527) + (xy 53.45577 97.848919) + (xy 53.455765 97.848919) + (xy 53.450173 97.848289) + (xy 53.444639 97.849335) + (xy 53.444636 97.849336) + (xy 53.393837 97.858947) + (xy 53.391067 97.859418) + (xy 53.339924 97.867127) + (xy 53.339922 97.867127) + (xy 53.334353 97.867967) + (xy 53.329279 97.870409) + (xy 53.326993 97.871115) + (xy 53.326563 97.871221) + (xy 53.326138 97.871398) + (xy 53.323901 97.87218) + (xy 53.318366 97.873228) + (xy 53.313391 97.875857) + (xy 53.313383 97.87586) + (xy 53.267653 97.900028) + (xy 53.265147 97.901293) + (xy 53.218565 97.923727) + (xy 53.218562 97.923728) + (xy 53.213491 97.926171) + (xy 53.209363 97.929999) + (xy 53.207392 97.931344) + (xy 53.207007 97.931575) + (xy 53.20667 97.931855) + (xy 53.204738 97.93328) + (xy 53.199765 97.93591) + (xy 53.195785 97.939889) + (xy 53.195782 97.939892) + (xy 53.159213 97.97646) + (xy 53.157191 97.978408) + (xy 53.119281 98.013584) + (xy 53.119276 98.013589) + (xy 53.115156 98.017413) + (xy 53.112343 98.022283) + (xy 53.110856 98.024149) + (xy 53.105239 98.030434) + (xy 52.456855 98.678818) + (xy 52.427854 98.696853) + (xy 52.393866 98.700201) + (xy 52.364387 98.69632) + (xy 52.364378 98.696319) + (xy 52.361952 98.696) + (xy 50.632048 98.696) + (xy 50.62962 98.696319) + (xy 50.629614 98.69632) + (xy 50.588083 98.701788) + (xy 50.588081 98.701788) + (xy 50.582381 98.702539) + (xy 50.577174 98.704966) + (xy 50.577167 98.704969) + (xy 50.479354 98.75058) + (xy 50.479352 98.750581) + (xy 50.473393 98.75336) + (xy 50.468743 98.758009) + (xy 50.46874 98.758012) + (xy 50.393012 98.83374) + (xy 50.393009 98.833743) + (xy 50.38836 98.838393) + (xy 50.385581 98.844352) + (xy 50.38558 98.844354) + (xy 50.339969 98.942167) + (xy 50.339966 98.942174) + (xy 50.337539 98.947381) + (xy 50.336788 98.953081) + (xy 50.336788 98.953083) + (xy 50.331725 98.991545) + (xy 50.331 98.997048) + (xy 50.331 99.376952) + (xy 50.102 99.376952) + (xy 50.102 98.640473) + (xy 50.107724 98.611695) + (xy 50.124026 98.587299) + (xy 50.327299 98.384026) + (xy 50.351695 98.367724) + (xy 50.380473 98.362) + (xy 50.481083 98.362) + (xy 50.512863 98.369045) + (xy 50.582381 98.401461) + (xy 50.632048 98.408) + (xy 52.359495 98.408) + (xy 52.361952 98.408) + (xy 52.411619 98.401461) + (xy 52.520607 98.35064) + (xy 52.60564 98.265607) + (xy 52.656461 98.156619) + (xy 52.663 98.106952) + (xy 52.663 97.727048) + (xy 52.656461 97.677381) + (xy 52.652948 97.669848) + (xy 52.626152 97.612383) + (xy 52.60564 97.568393) + (xy 52.520607 97.48336) + (xy 52.495231 97.471527) + (xy 52.416832 97.434969) + (xy 52.416827 97.434967) + (xy 52.411619 97.432539) + (xy 52.405917 97.431788) + (xy 52.405916 97.431788) + (xy 52.364385 97.42632) + (xy 52.36438 97.426319) + (xy 52.361952 97.426) + (xy 50.632048 97.426) + (xy 50.62962 97.426319) + (xy 50.629614 97.42632) + (xy 50.588083 97.431788) + (xy 50.588081 97.431788) + (xy 50.582381 97.432539) + (xy 50.577168 97.434969) + (xy 50.577167 97.43497) + (xy 50.512863 97.464955) + (xy 50.481083 97.472) + (xy 50.194198 97.472) + (xy 50.185779 97.471527) + (xy 50.15377 97.46792) + (xy 50.153765 97.46792) + (xy 50.148173 97.46729) + (xy 50.142639 97.468336) + (xy 50.142636 97.468337) + (xy 50.091867 97.477942) + (xy 50.089098 97.478413) + (xy 50.037918 97.486128) + (xy 50.037916 97.486128) + (xy 50.032353 97.486967) + (xy 50.027282 97.489408) + (xy 50.024984 97.490117) + (xy 50.024566 97.49022) + (xy 50.024143 97.490396) + (xy 50.021897 97.491181) + (xy 50.016366 97.492229) + (xy 50.011392 97.494857) + (xy 50.011388 97.494859) + (xy 49.965677 97.519017) + (xy 49.963171 97.520282) + (xy 49.916564 97.542727) + (xy 49.916559 97.542729) + (xy 49.911491 97.545171) + (xy 49.907364 97.548999) + (xy 49.905392 97.550344) + (xy 49.905007 97.550575) + (xy 49.90467 97.550855) + (xy 49.902738 97.55228) + (xy 49.897765 97.55491) + (xy 49.893785 97.558889) + (xy 49.893782 97.558892) + (xy 49.857213 97.59546) + (xy 49.855191 97.597408) + (xy 49.817281 97.632584) + (xy 49.817276 97.632589) + (xy 49.813156 97.636413) + (xy 49.810343 97.641283) + (xy 49.808856 97.643149) + (xy 49.803239 97.649434) + (xy 49.362995 98.089678) + (xy 49.35671 98.095296) + (xy 49.331515 98.115389) + (xy 49.33151 98.115394) + (xy 49.327108 98.118905) + (xy 49.323935 98.123558) + (xy 49.323931 98.123563) + (xy 49.29481 98.166275) + (xy 49.293206 98.168536) + (xy 49.259125 98.214716) + (xy 49.257264 98.22003) + (xy 49.256144 98.222151) + (xy 49.255919 98.222524) + (xy 49.255745 98.222945) + (xy 49.254714 98.225085) + (xy 49.251541 98.229741) + (xy 49.24988 98.235123) + (xy 49.24988 98.235125) + (xy 49.234638 98.284535) + (xy 49.233759 98.287204) + (xy 49.216679 98.336015) + (xy 49.216677 98.336024) + (xy 49.214819 98.341335) + (xy 49.214608 98.34696) + (xy 49.214164 98.349308) + (xy 49.214057 98.349739) + (xy 49.214015 98.350187) + (xy 49.213659 98.352543) + (xy 49.212 98.357927) + (xy 49.212 98.363561) + (xy 49.212 98.415293) + (xy 49.211947 98.418104) + (xy 49.210014 98.469755) + (xy 49.210014 98.469759) + (xy 49.209804 98.475386) + (xy 49.211261 98.480826) + (xy 49.211527 98.483181) + (xy 49.212 98.491599) + (xy 49.212 100.470667) + (xy 49.198933 100.513029) + (xy 49.164274 100.540669) + (xy 49.120067 100.543982) + (xy 49.081675 100.521816) + (xy 49.05242 100.490287) + (xy 49.048587 100.486156) + (xy 49.043707 100.483338) + (xy 49.041852 100.481859) + (xy 49.035565 100.47624) + (xy 48.722321 100.162996) + (xy 48.716701 100.156708) + (xy 48.696611 100.131516) + (xy 48.696608 100.131513) + (xy 48.693095 100.127108) + (xy 48.688438 100.123932) + (xy 48.688435 100.12393) + (xy 48.645731 100.094814) + (xy 48.64344 100.093188) + (xy 48.601822 100.062473) + (xy 48.601816 100.06247) + (xy 48.597284 100.059125) + (xy 48.591965 100.057263) + (xy 48.589862 100.056152) + (xy 48.589476 100.055919) + (xy 48.589052 100.055744) + (xy 48.586913 100.054714) + (xy 48.582259 100.051541) + (xy 48.576876 100.04988) + (xy 48.576875 100.04988) + (xy 48.527471 100.03464) + (xy 48.524802 100.033761) + (xy 48.475988 100.016681) + (xy 48.475984 100.01668) + (xy 48.470665 100.014819) + (xy 48.465031 100.014607) + (xy 48.462702 100.014167) + (xy 48.462256 100.014056) + (xy 48.461817 100.014015) + (xy 48.459451 100.013658) + (xy 48.454073 100.012) + (xy 48.448441 100.012) + (xy 48.396707 100.012) + (xy 48.393896 100.011947) + (xy 48.342244 100.010014) + (xy 48.342239 100.010014) + (xy 48.336614 100.009804) + (xy 48.331173 100.011261) + (xy 48.328819 100.011527) + (xy 48.320401 100.012) + (xy 47.562917 100.012) + (xy 47.531137 100.004955) + (xy 47.471492 99.977143) + (xy 47.461619 99.972539) + (xy 47.455917 99.971788) + (xy 47.455916 99.971788) + (xy 47.414385 99.96632) + (xy 47.41438 99.966319) + (xy 47.411952 99.966) + (xy 45.682048 99.966) + (xy 45.67962 99.966319) + (xy 45.679614 99.96632) + (xy 45.638083 99.971788) + (xy 45.638081 99.971788) + (xy 45.632381 99.972539) + (xy 45.627174 99.974966) + (xy 45.627167 99.974969) + (xy 45.529354 100.02058) + (xy 45.529352 100.020581) + (xy 45.523393 100.02336) + (xy 45.518743 100.028009) + (xy 45.51874 100.028012) + (xy 45.443012 100.10374) + (xy 45.443009 100.103743) + (xy 45.43836 100.108393) + (xy 45.435581 100.114352) + (xy 45.43558 100.114354) + (xy 45.389969 100.212167) + (xy 45.389966 100.212174) + (xy 45.387539 100.217381) + (xy 45.386788 100.223081) + (xy 45.386788 100.223083) + (xy 45.381905 100.260175) + (xy 45.381 100.267048) + (xy 45.381 100.646952) + (xy 44.370261 100.646952) + (xy 44.396177 100.642048) + (xy 44.398933 100.64158) + (xy 44.455647 100.633033) + (xy 44.460731 100.630583) + (xy 44.462984 100.629889) + (xy 44.463436 100.629777) + (xy 44.463878 100.629594) + (xy 44.466087 100.62882) + (xy 44.471634 100.627772) + (xy 44.522348 100.600967) + (xy 44.524825 100.599718) + (xy 44.576509 100.574829) + (xy 44.580641 100.570993) + (xy 44.582594 100.569663) + (xy 44.582991 100.569423) + (xy 44.583355 100.569122) + (xy 44.585246 100.567726) + (xy 44.590235 100.56509) + (xy 44.630822 100.524501) + (xy 44.632766 100.522628) + (xy 44.674844 100.483587) + (xy 44.677664 100.4787) + (xy 44.679137 100.476854) + (xy 44.68475 100.470573) + (xy 45.493862 99.661462) + (xy 45.533975 99.640581) + (xy 45.578814 99.646483) + (xy 45.632381 99.671461) + (xy 45.682048 99.678) + (xy 47.409495 99.678) + (xy 47.411952 99.678) + (xy 47.461619 99.671461) + (xy 47.570607 99.62064) + (xy 47.65564 99.535607) + (xy 47.706461 99.426619) + (xy 47.713 99.376952) + (xy 47.713 98.997048) + (xy 47.706461 98.947381) + (xy 47.702422 98.93872) + (xy 47.682482 98.895957) + (xy 47.65564 98.838393) + (xy 47.570607 98.75336) + (xy 47.556431 98.746749) + (xy 47.466832 98.704969) + (xy 47.466827 98.704967) + (xy 47.461619 98.702539) + (xy 47.455917 98.701788) + (xy 47.455916 98.701788) + (xy 47.414385 98.69632) + (xy 47.41438 98.696319) + (xy 47.411952 98.696) + (xy 45.682048 98.696) + (xy 45.67962 98.696319) + (xy 45.679614 98.69632) + (xy 45.638083 98.701788) + (xy 45.638081 98.701788) + (xy 45.632381 98.702539) + (xy 45.627168 98.704969) + (xy 45.627167 98.70497) + (xy 45.562863 98.734955) + (xy 45.531083 98.742) + (xy 45.368207 98.742) + (xy 45.359788 98.741527) + (xy 45.32777 98.737919) + (xy 45.327765 98.737919) + (xy 45.322173 98.737289) + (xy 45.316639 98.738335) + (xy 45.316636 98.738336) + (xy 45.265837 98.747947) + (xy 45.263067 98.748418) + (xy 45.211924 98.756127) + (xy 45.211922 98.756127) + (xy 45.206353 98.756967) + (xy 45.201279 98.759409) + (xy 45.198993 98.760115) + (xy 45.198563 98.760221) + (xy 45.198138 98.760398) + (xy 45.195901 98.76118) + (xy 45.190366 98.762228) + (xy 45.185391 98.764857) + (xy 45.185383 98.76486) + (xy 45.139653 98.789028) + (xy 45.137147 98.790293) + (xy 45.090565 98.812727) + (xy 45.090562 98.812728) + (xy 45.085491 98.815171) + (xy 45.081363 98.818999) + (xy 45.079392 98.820344) + (xy 45.079007 98.820575) + (xy 45.07867 98.820855) + (xy 45.076738 98.82228) + (xy 45.071765 98.82491) + (xy 45.067785 98.828889) + (xy 45.067782 98.828892) + (xy 45.031213 98.86546) + (xy 45.029191 98.867408) + (xy 44.991281 98.902584) + (xy 44.991276 98.902589) + (xy 44.987156 98.906413) + (xy 44.984343 98.911283) + (xy 44.982856 98.913149) + (xy 44.977239 98.919434) + (xy 44.289403 99.60727) + (xy 44.259467 99.625616) + (xy 44.224464 99.62837) + (xy 44.192026 99.614933) + (xy 44.187875 99.611917) + (xy 44.183689 99.607731) + (xy 44.137745 99.584321) + (xy 44.078605 99.554187) + (xy 44.0786 99.554185) + (xy 44.073332 99.551501) + (xy 44.06749 99.550575) + (xy 44.067485 99.550574) + (xy 43.984692 99.537462) + (xy 43.98469 99.537461) + (xy 43.981774 99.537) + (xy 43.520226 99.537) + (xy 43.51731 99.537461) + (xy 43.517307 99.537462) + (xy 43.434514 99.550574) + (xy 43.434507 99.550576) + (xy 43.428668 99.551501) + (xy 43.4234 99.554184) + (xy 43.423394 99.554187) + (xy 43.323587 99.605042) + (xy 43.323583 99.605044) + (xy 43.318311 99.607731) + (xy 43.314124 99.611917) + (xy 43.314121 99.61192) + (xy 43.23492 99.691121) + (xy 43.234917 99.691124) + (xy 43.230731 99.695311) + (xy 43.228044 99.700583) + (xy 43.228042 99.700587) + (xy 43.177187 99.800394) + (xy 43.177184 99.8004) + (xy 43.174501 99.805668) + (xy 43.173576 99.811507) + (xy 43.173574 99.811514) + (xy 43.161461 99.888) + (xy 43.16 99.897226) + (xy 43.16 99.90018) + (xy 43.16 100.229027) + (xy 43.154276 100.257805) + (xy 43.137976 100.282198) + (xy 42.972343 100.447832) + (xy 42.814364 100.605811) + (xy 42.772954 100.62691) + (xy 42.72705 100.61964) + (xy 42.694186 100.586776) + (xy 42.686916 100.540872) + (xy 42.688585 100.530336) + (xy 42.692 100.508774) + (xy 42.692 99.897226) + (xy 42.677499 99.805668) + (xy 42.674151 99.799098) + (xy 42.631484 99.715359) + (xy 42.621269 99.695311) + (xy 42.568026 99.642068) + (xy 42.551724 99.617672) + (xy 42.546 99.588894) + (xy 42.546 99.039106) + (xy 42.551724 99.010328) + (xy 42.568026 98.985932) + (xy 42.590968 98.96299) + (xy 42.621269 98.932689) + (xy 42.677499 98.822332) + (xy 42.692 98.730774) + (xy 42.692 98.727779) + (xy 43.160501 98.727779) + (xy 43.160963 98.733654) + (xy 43.174057 98.816328) + (xy 43.177669 98.827447) + (xy 43.228452 98.927114) + (xy 43.23533 98.93658) + (xy 43.314419 99.015669) + (xy 43.323885 99.022547) + (xy 43.423551 99.07333) + (xy 43.434671 99.076943) + (xy 43.517346 99.090037) + (xy 43.523219 99.0905) + (xy 43.614098 99.0905) + (xy 43.621907 99.088407) + (xy 43.624 99.080598) + (xy 43.624 99.080597) + (xy 43.878 99.080597) + (xy 43.880092 99.088406) + (xy 43.887902 99.090499) + (xy 43.978779 99.090499) + (xy 43.984654 99.090036) + (xy 44.067328 99.076942) + (xy 44.078447 99.07333) + (xy 44.178114 99.022547) + (xy 44.18758 99.015669) + (xy 44.266669 98.93658) + (xy 44.273547 98.927114) + (xy 44.32433 98.827448) + (xy 44.327943 98.816328) + (xy 44.341037 98.733653) + (xy 44.3415 98.727781) + (xy 44.3415 98.561902) + (xy 44.339407 98.554092) + (xy 44.331598 98.552) + (xy 43.887902 98.552) + (xy 43.880092 98.554092) + (xy 43.878 98.561902) + (xy 43.878 99.080597) + (xy 43.624 99.080597) + (xy 43.624 98.561902) + (xy 43.621907 98.554092) + (xy 43.614098 98.552) + (xy 43.170403 98.552) + (xy 43.162593 98.554092) + (xy 43.160501 98.561902) + (xy 43.160501 98.727779) + (xy 42.692 98.727779) + (xy 42.692 98.288098) + (xy 43.1605 98.288098) + (xy 43.162592 98.295907) + (xy 43.170402 98.298) + (xy 43.614098 98.298) + (xy 43.621907 98.295907) + (xy 43.624 98.288098) + (xy 43.878 98.288098) + (xy 43.880092 98.295907) + (xy 43.887902 98.298) + (xy 44.331597 98.298) + (xy 44.339406 98.295907) + (xy 44.341499 98.288098) + (xy 44.341499 98.122221) + (xy 44.341036 98.116345) + (xy 44.339151 98.104441) + (xy 45.381501 98.104441) + (xy 45.381821 98.109336) + (xy 45.387276 98.150779) + (xy 45.390461 98.161705) + (xy 45.435993 98.259349) + (xy 45.443431 98.269971) + (xy 45.519028 98.345568) + (xy 45.52965 98.353006) + (xy 45.627298 98.39854) + (xy 45.638215 98.401722) + (xy 45.679663 98.407179) + (xy 45.684557 98.4075) + (xy 46.410098 98.4075) + (xy 46.417907 98.405407) + (xy 46.42 98.397598) + (xy 46.42 98.397597) + (xy 46.674 98.397597) + (xy 46.676092 98.405406) + (xy 46.683902 98.407499) + (xy 47.409441 98.407499) + (xy 47.414336 98.407178) + (xy 47.455779 98.401723) + (xy 47.466705 98.398538) + (xy 47.564349 98.353006) + (xy 47.574971 98.345568) + (xy 47.650568 98.269971) + (xy 47.658006 98.259349) + (xy 47.70354 98.161701) + (xy 47.706722 98.150784) + (xy 47.712179 98.109336) + (xy 47.7125 98.104443) + (xy 47.7125 98.053902) + (xy 47.710407 98.046092) + (xy 47.702598 98.044) + (xy 46.683902 98.044) + (xy 46.676092 98.046092) + (xy 46.674 98.053902) + (xy 46.674 98.397597) + (xy 46.42 98.397597) + (xy 46.42 98.053902) + (xy 46.417907 98.046092) + (xy 46.410098 98.044) + (xy 45.391403 98.044) + (xy 45.383593 98.046092) + (xy 45.381501 98.053902) + (xy 45.381501 98.104441) + (xy 44.339151 98.104441) + (xy 44.327942 98.033671) + (xy 44.32433 98.022552) + (xy 44.273547 97.922885) + (xy 44.266669 97.913419) + (xy 44.18758 97.83433) + (xy 44.178114 97.827452) + (xy 44.085178 97.780098) + (xy 45.3815 97.780098) + (xy 45.383592 97.787907) + (xy 45.391402 97.79) + (xy 46.410098 97.79) + (xy 46.417907 97.787907) + (xy 46.42 97.780098) + (xy 46.674 97.780098) + (xy 46.676092 97.787907) + (xy 46.683902 97.79) + (xy 47.702597 97.79) + (xy 47.710406 97.787907) + (xy 47.712499 97.780098) + (xy 47.712499 97.729559) + (xy 47.712178 97.724663) + (xy 47.706723 97.68322) + (xy 47.703538 97.672294) + (xy 47.658006 97.57465) + (xy 47.650568 97.564028) + (xy 47.574971 97.488431) + (xy 47.564349 97.480993) + (xy 47.466701 97.435459) + (xy 47.455784 97.432277) + (xy 47.414336 97.42682) + (xy 47.409443 97.4265) + (xy 46.683902 97.4265) + (xy 46.676092 97.428592) + (xy 46.674 97.436402) + (xy 46.674 97.780098) + (xy 46.42 97.780098) + (xy 46.42 97.436403) + (xy 46.417907 97.428593) + (xy 46.410098 97.426501) + (xy 45.684559 97.426501) + (xy 45.679663 97.426821) + (xy 45.63822 97.432276) + (xy 45.627294 97.435461) + (xy 45.52965 97.480993) + (xy 45.519028 97.488431) + (xy 45.443431 97.564028) + (xy 45.435993 97.57465) + (xy 45.390459 97.672298) + (xy 45.387277 97.683215) + (xy 45.38182 97.724663) + (xy 45.3815 97.729557) + (xy 45.3815 97.780098) + (xy 44.085178 97.780098) + (xy 44.078448 97.776669) + (xy 44.067328 97.773056) + (xy 43.984653 97.759962) + (xy 43.978781 97.7595) + (xy 43.887902 97.7595) + (xy 43.880092 97.761592) + (xy 43.878 97.769402) + (xy 43.878 98.288098) + (xy 43.624 98.288098) + (xy 43.624 97.769403) + (xy 43.621907 97.761593) + (xy 43.614098 97.759501) + (xy 43.523221 97.759501) + (xy 43.517345 97.759963) + (xy 43.434671 97.773057) + (xy 43.423552 97.776669) + (xy 43.323885 97.827452) + (xy 43.314419 97.83433) + (xy 43.23533 97.913419) + (xy 43.228452 97.922885) + (xy 43.177669 98.022551) + (xy 43.174056 98.033671) + (xy 43.160962 98.116346) + (xy 43.1605 98.122219) + (xy 43.1605 98.288098) + (xy 42.692 98.288098) + (xy 42.692 98.119226) + (xy 42.677499 98.027668) + (xy 42.660945 97.99518) + (xy 42.638679 97.95148) + (xy 42.621269 97.917311) + (xy 42.533689 97.829731) + (xy 42.528412 97.827042) + (xy 42.428605 97.776187) + (xy 42.4286 97.776185) + (xy 42.423332 97.773501) + (xy 42.41749 97.772575) + (xy 42.417485 97.772574) + (xy 42.334692 97.759462) + (xy 42.33469 97.759461) + (xy 42.331774 97.759) + (xy 41.870226 97.759) + (xy 41.86731 97.759461) + (xy 41.867307 97.759462) + (xy 41.784514 97.772574) + (xy 41.784507 97.772576) + (xy 41.778668 97.773501) + (xy 41.7734 97.776184) + (xy 41.773394 97.776187) + (xy 41.673587 97.827042) + (xy 41.673583 97.827044) + (xy 41.668311 97.829731) + (xy 41.664124 97.833917) + (xy 41.664121 97.83392) + (xy 41.584918 97.913123) + (xy 41.584915 97.913126) + (xy 41.580731 97.917311) + (xy 41.578515 97.921659) + (xy 41.547317 97.946394) + (xy 41.50722 97.95148) + (xy 41.470282 97.935074) + (xy 41.447172 97.901914) + (xy 41.446819 97.900905) + (xy 41.445771 97.895366) + (xy 41.418974 97.844663) + (xy 41.417715 97.842168) + (xy 41.417522 97.841767) + (xy 41.392829 97.790491) + (xy 41.388995 97.786358) + (xy 41.387661 97.784402) + (xy 41.387426 97.784012) + (xy 41.387132 97.783657) + (xy 41.385725 97.78175) + (xy 41.38309 97.776765) + (xy 41.34254 97.736215) + (xy 41.340589 97.73419) + (xy 41.30542 97.696287) + (xy 41.301587 97.692156) + (xy 41.296707 97.689338) + (xy 41.294852 97.687859) + (xy 41.288565 97.68224) + (xy 40.848321 97.241996) + (xy 40.842701 97.235708) + (xy 40.822611 97.210516) + (xy 40.822608 97.210513) + (xy 40.819095 97.206108) + (xy 40.814438 97.202932) + (xy 40.814435 97.20293) + (xy 40.771731 97.173814) + (xy 40.76944 97.172188) + (xy 40.727822 97.141473) + (xy 40.727816 97.14147) + (xy 40.723284 97.138125) + (xy 40.717965 97.136263) + (xy 40.715862 97.135152) + (xy 40.715476 97.134919) + (xy 40.715052 97.134744) + (xy 40.712913 97.133714) + (xy 40.708259 97.130541) + (xy 40.702876 97.12888) + (xy 40.702875 97.12888) + (xy 40.653471 97.11364) + (xy 40.650802 97.112761) + (xy 40.601988 97.095681) + (xy 40.601984 97.09568) + (xy 40.596665 97.093819) + (xy 40.591031 97.093607) + (xy 40.588702 97.093167) + (xy 40.588256 97.093056) + (xy 40.587817 97.093015) + (xy 40.585451 97.092658) + (xy 40.580073 97.091) + (xy 40.574441 97.091) + (xy 40.522707 97.091) + (xy 40.519896 97.090947) + (xy 40.468244 97.089014) + (xy 40.468239 97.089014) + (xy 40.462614 97.088804) + (xy 40.457173 97.090261) + (xy 40.454819 97.090527) + (xy 40.446401 97.091) + (xy 40.402613 97.091) + (xy 40.363322 97.079919) + (xy 40.33561 97.049942) + (xy 40.332435 97.043711) + (xy 40.332434 97.04371) + (xy 40.329746 97.038434) + (xy 40.236566 96.945254) + (xy 40.231289 96.942565) + (xy 40.200243 96.926746) + (xy 41.5105 96.926746) + (xy 41.510962 96.932618) + (xy 41.524984 97.021151) + (xy 41.528597 97.032271) + (xy 41.582976 97.138994) + (xy 41.589851 97.148456) + (xy 41.674543 97.233148) + (xy 41.684005 97.240023) + (xy 41.790728 97.294402) + (xy 41.801848 97.298015) + (xy 41.890381 97.312037) + (xy 41.896254 97.3125) + (xy 42.014098 97.3125) + (xy 42.021907 97.310407) + (xy 42.024 97.302598) + (xy 42.278 97.302598) + (xy 42.280092 97.310407) + (xy 42.287902 97.3125) + (xy 42.405746 97.3125) + (xy 42.411618 97.312037) + (xy 42.500151 97.298015) + (xy 42.511271 97.294402) + (xy 42.617994 97.240023) + (xy 42.627456 97.233148) + (xy 42.712148 97.148456) + (xy 42.719023 97.138994) + (xy 42.773402 97.032271) + (xy 42.777015 97.021151) + (xy 42.791037 96.932618) + (xy 42.791496 96.926793) + (xy 43.06 96.926793) + (xy 43.060001 96.929736) + (xy 43.060462 96.93265) + (xy 43.060463 96.932656) + (xy 43.07387 97.017312) + (xy 43.075429 97.027153) + (xy 43.078114 97.032423) + (xy 43.078115 97.032425) + (xy 43.132564 97.139288) + (xy 43.135254 97.144566) + (xy 43.228434 97.237746) + (xy 43.345847 97.297571) + (xy 43.351692 97.298496) + (xy 43.351693 97.298497) + (xy 43.362571 97.300219) + (xy 43.443263 97.313) + (xy 43.958736 97.312999) + (xy 44.056153 97.297571) + (xy 44.173566 97.237746) + (xy 44.266746 97.144566) + (xy 44.271543 97.135152) + (xy 44.27261 97.133058) + (xy 44.300322 97.103081) + (xy 44.339613 97.092) + (xy 44.58512 97.092) + (xy 44.61636 97.098796) + (xy 44.618394 97.099724) + (xy 44.622919 97.102633) + (xy 44.759715 97.1428) + (xy 44.896904 97.1428) + (xy 44.902285 97.1428) + (xy 45.039081 97.102633) + (xy 45.043606 97.099724) + (xy 45.04564 97.098796) + (xy 45.07688 97.092) + (xy 45.531083 97.092) + (xy 45.562863 97.099045) + (xy 45.570558 97.102633) + (xy 45.632381 97.131461) + (xy 45.682048 97.138) + (xy 47.409495 97.138) + (xy 47.411952 97.138) + (xy 47.461619 97.131461) + (xy 47.570607 97.08064) + (xy 47.65564 96.995607) + (xy 47.706461 96.886619) + (xy 47.713 96.836952) + (xy 50.331 96.836952) + (xy 50.331319 96.83938) + (xy 50.33132 96.839385) + (xy 50.333054 96.852556) + (xy 50.337539 96.886619) + (xy 50.339967 96.891827) + (xy 50.339969 96.891832) + (xy 50.37241 96.961402) + (xy 50.38836 96.995607) + (xy 50.473393 97.08064) + (xy 50.521519 97.103081) + (xy 50.577167 97.12903) + (xy 50.577168 97.12903) + (xy 50.582381 97.131461) + (xy 50.632048 97.138) + (xy 52.359495 97.138) + (xy 52.361952 97.138) + (xy 52.411619 97.131461) + (xy 52.473563 97.102576) + (xy 52.481137 97.099045) + (xy 52.512917 97.092) + (xy 52.96712 97.092) + (xy 52.99836 97.098796) + (xy 53.000394 97.099724) + (xy 53.004919 97.102633) + (xy 53.141715 97.1428) + (xy 53.278904 97.1428) + (xy 53.284285 97.1428) + (xy 53.421081 97.102633) + (xy 53.425606 97.099724) + (xy 53.42764 97.098796) + (xy 53.45888 97.092) + (xy 53.704387 97.092) + (xy 53.743678 97.103081) + (xy 53.77139 97.133058) + (xy 53.774564 97.139288) + (xy 53.774565 97.139289) + (xy 53.777254 97.144566) + (xy 53.870434 97.237746) + (xy 53.987847 97.297571) + (xy 53.993692 97.298496) + (xy 53.993693 97.298497) + (xy 54.004571 97.300219) + (xy 54.085263 97.313) + (xy 54.600736 97.312999) + (xy 54.698153 97.297571) + (xy 54.815566 97.237746) + (xy 54.908746 97.144566) + (xy 54.968571 97.027153) + (xy 54.984 96.929737) + (xy 54.984 96.926746) + (xy 55.2525 96.926746) + (xy 55.252962 96.932618) + (xy 55.266984 97.021151) + (xy 55.270597 97.032271) + (xy 55.324976 97.138994) + (xy 55.331851 97.148456) + (xy 55.416543 97.233148) + (xy 55.426005 97.240023) + (xy 55.532728 97.294402) + (xy 55.543848 97.298015) + (xy 55.632381 97.312037) + (xy 55.638254 97.3125) + (xy 55.756098 97.3125) + (xy 55.763907 97.310407) + (xy 55.766 97.302598) + (xy 56.02 97.302598) + (xy 56.022092 97.310407) + (xy 56.029902 97.3125) + (xy 56.147746 97.3125) + (xy 56.153618 97.312037) + (xy 56.242151 97.298015) + (xy 56.253271 97.294402) + (xy 56.359994 97.240023) + (xy 56.369456 97.233148) + (xy 56.454148 97.148456) + (xy 56.461023 97.138994) + (xy 56.515402 97.032271) + (xy 56.519015 97.021151) + (xy 56.533037 96.932618) + (xy 56.5335 96.926746) + (xy 56.5335 96.783902) + (xy 56.531407 96.776092) + (xy 56.523598 96.774) + (xy 56.029902 96.774) + (xy 56.022092 96.776092) + (xy 56.02 96.783902) + (xy 56.02 97.302598) + (xy 55.766 97.302598) + (xy 55.766 96.783902) + (xy 55.763907 96.776092) + (xy 55.756098 96.774) + (xy 55.262402 96.774) + (xy 55.254592 96.776092) + (xy 55.2525 96.783902) + (xy 55.2525 96.926746) + (xy 54.984 96.926746) + (xy 54.983999 96.510098) + (xy 55.2525 96.510098) + (xy 55.254592 96.517907) + (xy 55.262402 96.52) + (xy 55.756098 96.52) + (xy 55.763907 96.517907) + (xy 55.766 96.510098) + (xy 56.02 96.510098) + (xy 56.022092 96.517907) + (xy 56.029902 96.52) + (xy 56.523598 96.52) + (xy 56.531407 96.517907) + (xy 56.5335 96.510098) + (xy 56.5335 96.367254) + (xy 56.533037 96.361381) + (xy 56.519015 96.272848) + (xy 56.515402 96.261728) + (xy 56.461023 96.155005) + (xy 56.454148 96.145543) + (xy 56.369456 96.060851) + (xy 56.359994 96.053976) + (xy 56.253271 95.999597) + (xy 56.242151 95.995984) + (xy 56.153618 95.981962) + (xy 56.147746 95.9815) + (xy 56.029902 95.9815) + (xy 56.022092 95.983592) + (xy 56.02 95.991402) + (xy 56.02 96.510098) + (xy 55.766 96.510098) + (xy 55.766 95.991402) + (xy 55.763907 95.983592) + (xy 55.756098 95.9815) + (xy 55.638254 95.9815) + (xy 55.632381 95.981962) + (xy 55.543848 95.995984) + (xy 55.532728 95.999597) + (xy 55.426005 96.053976) + (xy 55.416543 96.060851) + (xy 55.331851 96.145543) + (xy 55.324976 96.155005) + (xy 55.270597 96.261728) + (xy 55.266984 96.272848) + (xy 55.252962 96.361381) + (xy 55.2525 96.367254) + (xy 55.2525 96.510098) + (xy 54.983999 96.510098) + (xy 54.983999 96.364264) + (xy 54.968571 96.266847) + (xy 54.908746 96.149434) + (xy 54.815566 96.056254) + (xy 54.810289 96.053565) + (xy 54.703426 95.999115) + (xy 54.703422 95.999113) + (xy 54.698153 95.996429) + (xy 54.692311 95.995503) + (xy 54.692306 95.995502) + (xy 54.603655 95.981462) + (xy 54.603652 95.981461) + (xy 54.600737 95.981) + (xy 54.597783 95.981) + (xy 54.088218 95.981) + (xy 54.088205 95.981) + (xy 54.085264 95.981001) + (xy 54.08235 95.981462) + (xy 54.082343 95.981463) + (xy 53.993692 95.995503) + (xy 53.99369 95.995503) + (xy 53.987847 95.996429) + (xy 53.982577 95.999113) + (xy 53.982574 95.999115) + (xy 53.87571 96.053565) + (xy 53.875706 96.053567) + (xy 53.870434 96.056254) + (xy 53.866247 96.06044) + (xy 53.866244 96.060443) + (xy 53.781443 96.145244) + (xy 53.78144 96.145247) + (xy 53.777254 96.149434) + (xy 53.774568 96.154705) + (xy 53.774564 96.154711) + (xy 53.77139 96.160942) + (xy 53.743678 96.190919) + (xy 53.704387 96.202) + (xy 53.45888 96.202) + (xy 53.42764 96.195204) + (xy 53.425605 96.194274) + (xy 53.421081 96.191367) + (xy 53.415923 96.189852) + (xy 53.41592 96.189851) + (xy 53.289447 96.152715) + (xy 53.289442 96.152714) + (xy 53.284285 96.1512) + (xy 53.141715 96.1512) + (xy 53.136558 96.152714) + (xy 53.136552 96.152715) + (xy 53.010079 96.189851) + (xy 53.010073 96.189853) + (xy 53.004919 96.191367) + (xy 53.000394 96.194274) + (xy 52.99836 96.195204) + (xy 52.96712 96.202) + (xy 52.512917 96.202) + (xy 52.481137 96.194955) + (xy 52.432899 96.172462) + (xy 52.411619 96.162539) + (xy 52.405917 96.161788) + (xy 52.405916 96.161788) + (xy 52.364385 96.15632) + (xy 52.36438 96.156319) + (xy 52.361952 96.156) + (xy 50.632048 96.156) + (xy 50.62962 96.156319) + (xy 50.629614 96.15632) + (xy 50.588083 96.161788) + (xy 50.588081 96.161788) + (xy 50.582381 96.162539) + (xy 50.577174 96.164966) + (xy 50.577167 96.164969) + (xy 50.479354 96.21058) + (xy 50.479352 96.210581) + (xy 50.473393 96.21336) + (xy 50.468743 96.218009) + (xy 50.46874 96.218012) + (xy 50.393012 96.29374) + (xy 50.393009 96.293743) + (xy 50.38836 96.298393) + (xy 50.385581 96.304352) + (xy 50.38558 96.304354) + (xy 50.339969 96.402167) + (xy 50.339966 96.402174) + (xy 50.337539 96.407381) + (xy 50.336788 96.413081) + (xy 50.336788 96.413083) + (xy 50.333786 96.43589) + (xy 50.331 96.457048) + (xy 50.331 96.836952) + (xy 47.713 96.836952) + (xy 47.713 96.457048) + (xy 47.706461 96.407381) + (xy 47.703889 96.401866) + (xy 47.684994 96.361344) + (xy 47.65564 96.298393) + (xy 47.570607 96.21336) + (xy 47.549404 96.203473) + (xy 47.466832 96.164969) + (xy 47.466827 96.164967) + (xy 47.461619 96.162539) + (xy 47.455917 96.161788) + (xy 47.455916 96.161788) + (xy 47.414385 96.15632) + (xy 47.41438 96.156319) + (xy 47.411952 96.156) + (xy 45.682048 96.156) + (xy 45.67962 96.156319) + (xy 45.679614 96.15632) + (xy 45.638083 96.161788) + (xy 45.638081 96.161788) + (xy 45.632381 96.162539) + (xy 45.627168 96.164969) + (xy 45.627167 96.16497) + (xy 45.562863 96.194955) + (xy 45.531083 96.202) + (xy 45.07688 96.202) + (xy 45.04564 96.195204) + (xy 45.043605 96.194274) + (xy 45.039081 96.191367) + (xy 45.033923 96.189852) + (xy 45.03392 96.189851) + (xy 44.907447 96.152715) + (xy 44.907442 96.152714) + (xy 44.902285 96.1512) + (xy 44.759715 96.1512) + (xy 44.754558 96.152714) + (xy 44.754552 96.152715) + (xy 44.628079 96.189851) + (xy 44.628073 96.189853) + (xy 44.622919 96.191367) + (xy 44.618394 96.194274) + (xy 44.61636 96.195204) + (xy 44.58512 96.202) + (xy 44.339613 96.202) + (xy 44.300322 96.190919) + (xy 44.27261 96.160942) + (xy 44.269435 96.154711) + (xy 44.269434 96.154709) + (xy 44.266746 96.149434) + (xy 44.173566 96.056254) + (xy 44.168289 96.053565) + (xy 44.061426 95.999115) + (xy 44.061422 95.999113) + (xy 44.056153 95.996429) + (xy 44.050311 95.995503) + (xy 44.050306 95.995502) + (xy 43.961655 95.981462) + (xy 43.961652 95.981461) + (xy 43.958737 95.981) + (xy 43.955783 95.981) + (xy 43.446218 95.981) + (xy 43.446205 95.981) + (xy 43.443264 95.981001) + (xy 43.44035 95.981462) + (xy 43.440343 95.981463) + (xy 43.351692 95.995503) + (xy 43.35169 95.995503) + (xy 43.345847 95.996429) + (xy 43.340577 95.999113) + (xy 43.340574 95.999115) + (xy 43.23371 96.053565) + (xy 43.233706 96.053567) + (xy 43.228434 96.056254) + (xy 43.224247 96.06044) + (xy 43.224244 96.060443) + (xy 43.139443 96.145244) + (xy 43.13944 96.145247) + (xy 43.135254 96.149434) + (xy 43.132567 96.154706) + (xy 43.132565 96.15471) + (xy 43.078115 96.261573) + (xy 43.078112 96.261579) + (xy 43.075429 96.266847) + (xy 43.074504 96.272686) + (xy 43.074502 96.272693) + (xy 43.061767 96.353106) + (xy 43.06 96.364263) + (xy 43.06 96.367215) + (xy 43.06 96.367216) + (xy 43.06 96.926781) + (xy 43.06 96.926793) + (xy 42.791496 96.926793) + (xy 42.7915 96.926746) + (xy 42.7915 96.783902) + (xy 42.789407 96.776092) + (xy 42.781598 96.774) + (xy 42.287902 96.774) + (xy 42.280092 96.776092) + (xy 42.278 96.783902) + (xy 42.278 97.302598) + (xy 42.024 97.302598) + (xy 42.024 96.783902) + (xy 42.021907 96.776092) + (xy 42.014098 96.774) + (xy 41.520402 96.774) + (xy 41.512592 96.776092) + (xy 41.5105 96.783902) + (xy 41.5105 96.926746) + (xy 40.200243 96.926746) + (xy 40.124426 96.888115) + (xy 40.124422 96.888113) + (xy 40.119153 96.885429) + (xy 40.113311 96.884503) + (xy 40.113306 96.884502) + (xy 40.024655 96.870462) + (xy 40.024652 96.870461) + (xy 40.021737 96.87) + (xy 40.018783 96.87) + (xy 39.509218 96.87) + (xy 39.509205 96.87) + (xy 39.506264 96.870001) + (xy 39.50335 96.870462) + (xy 39.503343 96.870463) + (xy 39.414692 96.884503) + (xy 39.41469 96.884503) + (xy 39.408847 96.885429) + (xy 39.403577 96.888113) + (xy 39.403574 96.888115) + (xy 39.29671 96.942565) + (xy 39.296706 96.942567) + (xy 39.291434 96.945254) + (xy 39.287247 96.94944) + (xy 39.287244 96.949443) + (xy 39.202443 97.034244) + (xy 39.20244 97.034247) + (xy 39.198254 97.038434) + (xy 39.195567 97.043706) + (xy 39.195565 97.04371) + (xy 39.141115 97.150573) + (xy 39.141112 97.150579) + (xy 39.138429 97.155847) + (xy 39.137504 97.161686) + (xy 39.137502 97.161693) + (xy 39.124784 97.241996) + (xy 39.123 97.253263) + (xy 39.123 97.256215) + (xy 39.123 97.256216) + (xy 39.123 97.815781) + (xy 39.123 97.815793) + (xy 39.123001 97.818736) + (xy 39.123462 97.82165) + (xy 39.123463 97.821656) + (xy 39.136174 97.901914) + (xy 39.138429 97.916153) + (xy 39.141114 97.921423) + (xy 39.141115 97.921425) + (xy 39.194996 98.027173) + (xy 39.198254 98.033566) + (xy 39.291434 98.126746) + (xy 39.331842 98.147335) + (xy 39.401836 98.182999) + (xy 39.408847 98.186571) + (xy 39.414692 98.187496) + (xy 39.414693 98.187497) + (xy 39.425571 98.189219) + (xy 39.506263 98.202) + (xy 40.021736 98.201999) + (xy 40.119153 98.186571) + (xy 40.236566 98.126746) + (xy 40.302322 98.060989) + (xy 40.336029 98.041528) + (xy 40.374956 98.041528) + (xy 40.408667 98.060992) + (xy 40.553974 98.206299) + (xy 40.570276 98.230695) + (xy 40.576 98.259473) + (xy 40.576 99.6368) + (xy 40.565925 99.6744) + (xy 40.5384 99.701925) + (xy 40.5008 99.712) + (xy 39.401873 99.712) + (xy 39.360095 99.699327) + (xy 39.332398 99.66558) + (xy 39.328117 99.622132) + (xy 39.348696 99.583628) + (xy 39.351548 99.580776) + (xy 39.357821 99.574502) + (xy 39.359766 99.572628) + (xy 39.401844 99.533587) + (xy 39.404664 99.5287) + (xy 39.406137 99.526854) + (xy 39.41175 99.520573) + (xy 39.515826 99.416497) + (xy 39.54781 99.39752) + (xy 39.578081 99.388633) + (xy 39.698018 99.311553) + (xy 39.791382 99.203806) + (xy 39.850608 99.074119) + (xy 39.867794 98.954587) + (xy 39.870133 98.938321) + (xy 39.870898 98.933) + (xy 39.868947 98.919434) + (xy 39.854986 98.822332) + (xy 39.850608 98.791881) + (xy 39.791382 98.662194) + (xy 39.781558 98.650857) + (xy 39.738201 98.60082) + (xy 39.698018 98.554447) + (xy 39.693496 98.551541) + (xy 39.693494 98.551539) + (xy 39.582602 98.480272) + (xy 39.582599 98.48027) + (xy 39.578081 98.477367) + (xy 39.572925 98.475853) + (xy 39.572923 98.475852) + (xy 39.446447 98.438715) + (xy 39.446442 98.438714) + (xy 39.441285 98.4372) + (xy 39.298715 98.4372) + (xy 39.293558 98.438714) + (xy 39.293552 98.438715) + (xy 39.167076 98.475852) + (xy 39.167071 98.475854) + (xy 39.161919 98.477367) + (xy 39.157403 98.480269) + (xy 39.157397 98.480272) + (xy 39.046505 98.551539) + (xy 39.046499 98.551543) + (xy 39.041982 98.554447) + (xy 39.038461 98.558509) + (xy 39.03846 98.558511) + (xy 38.952763 98.65741) + (xy 38.948618 98.662194) + (xy 38.946386 98.66708) + (xy 38.946381 98.667089) + (xy 38.902106 98.764039) + (xy 38.874358 98.796062) + (xy 38.833702 98.808) + (xy 38.829917 98.808) + (xy 38.798137 98.800955) + (xy 38.759841 98.783098) + (xy 38.728619 98.768539) + (xy 38.722917 98.767788) + (xy 38.722916 98.767788) + (xy 38.681385 98.76232) + (xy 38.68138 98.762319) + (xy 38.678952 98.762) + (xy 37.424048 98.762) + (xy 37.42162 98.762319) + (xy 37.421614 98.76232) + (xy 37.380083 98.767788) + (xy 37.380081 98.767788) + (xy 37.374381 98.768539) + (xy 37.369174 98.770966) + (xy 37.369167 98.770969) + (xy 37.271354 98.81658) + (xy 37.271352 98.816581) + (xy 37.265393 98.81936) + (xy 37.260743 98.824009) + (xy 37.26074 98.824012) + (xy 37.185012 98.89974) + (xy 37.185009 98.899743) + (xy 37.18036 98.904393) + (xy 37.177581 98.910352) + (xy 37.17758 98.910354) + (xy 37.131969 99.008167) + (xy 37.131966 99.008174) + (xy 37.129539 99.013381) + (xy 37.128788 99.019081) + (xy 37.128788 99.019083) + (xy 37.123777 99.057147) + (xy 37.123 99.063048) + (xy 37.123 99.442952) + (xy 25 99.442952) + (xy 25 99.010095) + (xy 29.575241 99.010095) + (xy 29.579977 99.016939) + (xy 29.628778 99.056988) + (xy 29.634886 99.06107) + (xy 29.809134 99.154207) + (xy 29.815926 99.15702) + (xy 30.004991 99.214372) + (xy 30.012201 99.215807) + (xy 30.208825 99.235173) + (xy 30.216175 99.235173) + (xy 30.412798 99.215807) + (xy 30.420008 99.214372) + (xy 30.609073 99.15702) + (xy 30.615865 99.154207) + (xy 30.790113 99.06107) + (xy 30.796221 99.056988) + (xy 30.84502 99.016939) + (xy 30.849757 99.010096) + (xy 30.845711 99.002816) + (xy 30.2195 98.376605) + (xy 30.2125 98.372563) + (xy 30.205499 98.376605) + (xy 29.579287 99.002816) + (xy 29.575241 99.010095) + (xy 25 99.010095) + (xy 25 98.193675) + (xy 29.167327 98.193675) + (xy 29.186692 98.390298) + (xy 29.188127 98.397508) + (xy 29.245479 98.586573) + (xy 29.248292 98.593365) + (xy 29.341429 98.767613) + (xy 29.345511 98.773722) + (xy 29.385559 98.822521) + (xy 29.392403 98.827257) + (xy 29.399682 98.823211) + (xy 30.025894 98.197) + (xy 30.029936 98.19) + (xy 30.395063 98.19) + (xy 30.399105 98.197) + (xy 31.025316 98.823211) + (xy 31.032596 98.827257) + (xy 31.039439 98.82252) + (xy 31.079488 98.773721) + (xy 31.08357 98.767613) + (xy 31.176707 98.593365) + (xy 31.17952 98.586573) + (xy 31.236872 98.397508) + (xy 31.238307 98.390298) + (xy 31.257673 98.193675) + (xy 31.257673 98.19) + (xy 31.706463 98.19) + (xy 31.706825 98.193675) + (xy 31.706825 98.193676) + (xy 31.725572 98.384026) + (xy 31.726562 98.394072) + (xy 31.727632 98.397598) + (xy 31.727633 98.397603) + (xy 31.785016 98.586769) + (xy 31.785018 98.586774) + (xy 31.786088 98.590301) + (xy 31.882752 98.771147) + (xy 31.885096 98.774003) + (xy 31.885098 98.774006) + (xy 31.996996 98.910354) + (xy 32.01284 98.92966) + (xy 32.023825 98.938675) + (xy 32.168188 99.057151) + (xy 32.171353 99.059748) + (xy 32.352199 99.156412) + (xy 32.548428 99.215938) + (xy 32.726132 99.23344) + (xy 32.743727 99.235173) + (xy 32.7525 99.236037) + (xy 32.761273 99.235173) + (xy 32.778868 99.23344) + (xy 32.956572 99.215938) + (xy 33.152801 99.156412) + (xy 33.333647 99.059748) + (xy 33.49216 98.92966) + (xy 33.622248 98.771147) + (xy 33.718912 98.590301) + (xy 33.778438 98.394072) + (xy 33.798537 98.19) + (xy 33.797847 98.182999) + (xy 33.793925 98.143177) + (xy 33.778438 97.985928) + (xy 33.718912 97.789699) + (xy 33.622248 97.608853) + (xy 33.593935 97.574354) + (xy 33.506803 97.468182) + (xy 33.49216 97.45034) + (xy 33.475178 97.436403) + (xy 33.336506 97.322598) + (xy 33.336503 97.322596) + (xy 33.333647 97.320252) + (xy 33.152801 97.223588) + (xy 33.149274 97.222518) + (xy 33.149269 97.222516) + (xy 32.960103 97.165133) + (xy 32.960101 97.165132) + (xy 32.956572 97.164062) + (xy 32.952901 97.1637) + (xy 32.952899 97.1637) + (xy 32.756176 97.144325) + (xy 32.7525 97.143963) + (xy 32.748824 97.144325) + (xy 32.5521 97.1637) + (xy 32.552096 97.1637) + (xy 32.548428 97.164062) + (xy 32.5449 97.165132) + (xy 32.544896 97.165133) + (xy 32.35573 97.222516) + (xy 32.355722 97.222519) + (xy 32.352199 97.223588) + (xy 32.348947 97.225325) + (xy 32.348945 97.225327) + (xy 32.174611 97.31851) + (xy 32.174606 97.318512) + (xy 32.171353 97.320252) + (xy 32.1685 97.322593) + (xy 32.168493 97.322598) + (xy 32.015695 97.447996) + (xy 32.015689 97.448001) + (xy 32.01284 97.45034) + (xy 32.010501 97.453189) + (xy 32.010496 97.453195) + (xy 31.885098 97.605993) + (xy 31.885093 97.606) + (xy 31.882752 97.608853) + (xy 31.881012 97.612106) + (xy 31.88101 97.612111) + (xy 31.78899 97.784269) + (xy 31.786088 97.789699) + (xy 31.785019 97.793222) + (xy 31.785016 97.79323) + (xy 31.729744 97.975438) + (xy 31.726562 97.985928) + (xy 31.7262 97.989596) + (xy 31.7262 97.9896) + (xy 31.707065 98.183884) + (xy 31.706463 98.19) + (xy 31.257673 98.19) + (xy 31.257673 98.186325) + (xy 31.238307 97.989701) + (xy 31.236872 97.982491) + (xy 31.17952 97.793426) + (xy 31.176707 97.786634) + (xy 31.08357 97.612386) + (xy 31.079488 97.606278) + (xy 31.039439 97.557477) + (xy 31.032595 97.552741) + (xy 31.025316 97.556787) + (xy 30.399105 98.182999) + (xy 30.395063 98.19) + (xy 30.029936 98.19) + (xy 30.025894 98.182999) + (xy 29.399682 97.556787) + (xy 29.392403 97.552742) + (xy 29.385558 97.557479) + (xy 29.345508 97.606281) + (xy 29.341431 97.612383) + (xy 29.248292 97.786634) + (xy 29.245479 97.793426) + (xy 29.188127 97.982491) + (xy 29.186692 97.989701) + (xy 29.167327 98.186325) + (xy 29.167327 98.193675) + (xy 25 98.193675) + (xy 25 97.369903) + (xy 29.575242 97.369903) + (xy 29.579287 97.377182) + (xy 30.205499 98.003394) + (xy 30.2125 98.007436) + (xy 30.2195 98.003394) + (xy 30.845711 97.377182) + (xy 30.849757 97.369903) + (xy 30.845021 97.363059) + (xy 30.796222 97.323011) + (xy 30.790113 97.318929) + (xy 30.615865 97.225792) + (xy 30.609073 97.222979) + (xy 30.420008 97.165627) + (xy 30.412798 97.164192) + (xy 30.216175 97.144827) + (xy 30.208825 97.144827) + (xy 30.012201 97.164192) + (xy 30.004991 97.165627) + (xy 29.815926 97.222979) + (xy 29.809134 97.225792) + (xy 29.634883 97.318931) + (xy 29.628781 97.323008) + (xy 29.579979 97.363058) + (xy 29.575242 97.369903) + (xy 25 97.369903) + (xy 25 87.83) + (xy 30.112566 87.83) + (xy 30.112798 87.832948) + (xy 30.131238 88.067257) + (xy 30.13227 88.080363) + (xy 30.132957 88.083226) + (xy 30.132959 88.083236) + (xy 30.179987 88.279119) + (xy 30.190897 88.324561) + (xy 30.192028 88.327293) + (xy 30.192029 88.327294) + (xy 30.262182 88.49666) + (xy 30.287003 88.556582) + (xy 30.28854 88.55909) + (xy 30.288542 88.559094) + (xy 30.405346 88.749701) + (xy 30.418222 88.770712) + (xy 30.420136 88.772953) + (xy 30.420139 88.772957) + (xy 30.566155 88.94392) + (xy 30.581322 88.961678) + (xy 30.635558 89.008) + (xy 30.732846 89.091092) + (xy 30.772288 89.124778) + (xy 30.986418 89.255997) + (xy 31.218439 89.352103) + (xy 31.462637 89.41073) + (xy 31.650308 89.4255) + (xy 31.774212 89.4255) + (xy 31.775692 89.4255) + (xy 31.963363 89.41073) + (xy 32.207561 89.352103) + (xy 32.439582 89.255997) + (xy 32.653712 89.124778) + (xy 32.844678 88.961678) + (xy 33.007778 88.770712) + (xy 33.138997 88.556582) + (xy 33.235103 88.324561) + (xy 33.29373 88.080363) + (xy 33.313434 87.83) + (xy 33.29373 87.579637) + (xy 33.235103 87.335439) + (xy 33.138997 87.103418) + (xy 33.007778 86.889288) + (xy 33.004551 86.88551) + (xy 32.873555 86.732133) + (xy 32.844678 86.698322) + (xy 32.76995 86.634498) + (xy 32.655957 86.537139) + (xy 32.655953 86.537136) + (xy 32.653712 86.535222) + (xy 32.606026 86.506) + (xy 32.442094 86.405542) + (xy 32.44209 86.40554) + (xy 32.439582 86.404003) + (xy 32.411497 86.39237) + (xy 32.210294 86.309029) + (xy 32.210293 86.309028) + (xy 32.207561 86.307897) + (xy 32.204683 86.307206) + (xy 32.20468 86.307205) + (xy 31.966236 86.249959) + (xy 31.966226 86.249957) + (xy 31.963363 86.24927) + (xy 31.960416 86.249038) + (xy 31.777169 86.234616) + (xy 31.777162 86.234615) + (xy 31.775692 86.2345) + (xy 31.650308 86.2345) + (xy 31.648838 86.234615) + (xy 31.64883 86.234616) + (xy 31.465583 86.249038) + (xy 31.465581 86.249038) + (xy 31.462637 86.24927) + (xy 31.459775 86.249957) + (xy 31.459763 86.249959) + (xy 31.221319 86.307205) + (xy 31.221312 86.307207) + (xy 31.218439 86.307897) + (xy 31.21571 86.309027) + (xy 31.215705 86.309029) + (xy 30.98914 86.402875) + (xy 30.989134 86.402877) + (xy 30.986418 86.404003) + (xy 30.983914 86.405537) + (xy 30.983905 86.405542) + (xy 30.774803 86.53368) + (xy 30.774795 86.533685) + (xy 30.772288 86.535222) + (xy 30.770051 86.537131) + (xy 30.770042 86.537139) + (xy 30.583562 86.696408) + (xy 30.583556 86.696413) + (xy 30.581322 86.698322) + (xy 30.579413 86.700556) + (xy 30.579408 86.700562) + (xy 30.420139 86.887042) + (xy 30.420131 86.887051) + (xy 30.418222 86.889288) + (xy 30.416685 86.891795) + (xy 30.41668 86.891803) + (xy 30.288542 87.100905) + (xy 30.288537 87.100914) + (xy 30.287003 87.103418) + (xy 30.285877 87.106134) + (xy 30.285875 87.10614) + (xy 30.193332 87.32956) + (xy 30.190897 87.335439) + (xy 30.190207 87.338312) + (xy 30.190205 87.338319) + (xy 30.132959 87.576763) + (xy 30.132957 87.576775) + (xy 30.13227 87.579637) + (xy 30.132038 87.582581) + (xy 30.132038 87.582583) + (xy 30.115202 87.796501) + (xy 30.112566 87.83) + (xy 25 87.83) + (xy 25 79.710095) + (xy 29.555741 79.710095) + (xy 29.560477 79.716939) + (xy 29.609278 79.756988) + (xy 29.615386 79.76107) + (xy 29.789634 79.854207) + (xy 29.796426 79.85702) + (xy 29.985491 79.914372) + (xy 29.992701 79.915807) + (xy 30.189325 79.935173) + (xy 30.196675 79.935173) + (xy 30.393298 79.915807) + (xy 30.400508 79.914372) + (xy 30.589573 79.85702) + (xy 30.596365 79.854207) + (xy 30.770613 79.76107) + (xy 30.776721 79.756988) + (xy 30.82552 79.716939) + (xy 30.830257 79.710096) + (xy 30.826211 79.702816) + (xy 30.666513 79.543118) + (xy 31.692 79.543118) + (xy 31.692162 79.544853) + (xy 31.692163 79.544859) + (xy 31.693733 79.561607) + (xy 31.694794 79.572913) + (xy 31.696302 79.577223) + (xy 31.696303 79.577227) + (xy 31.73684 79.693076) + (xy 31.736841 79.693078) + (xy 31.738701 79.698393) + (xy 31.742043 79.702921) + (xy 31.742044 79.702923) + (xy 31.810199 79.795269) + (xy 31.817644 79.805356) + (xy 31.924607 79.884299) + (xy 32.050087 79.928206) + (xy 32.079882 79.931) + (xy 32.2763 79.931) + (xy 32.3139 79.941075) + (xy 32.341425 79.9686) + (xy 32.3515 80.0062) + (xy 32.3515 81.025955) + (xy 32.351494 81.026) + (xy 32.351488 81.026) + (xy 32.351488 81.191281) + (xy 32.35163 81.192908) + (xy 32.351631 81.192923) + (xy 32.380156 81.518954) + (xy 32.380299 81.520585) + (xy 32.38058 81.522181) + (xy 32.380582 81.522193) + (xy 32.437418 81.844522) + (xy 32.43742 81.844533) + (xy 32.437701 81.846124) + (xy 32.438117 81.847679) + (xy 32.438121 81.847694) + (xy 32.499702 82.077511) + (xy 32.523258 82.165422) + (xy 32.523816 82.166957) + (xy 32.523818 82.166961) + (xy 32.635756 82.474506) + (xy 32.635762 82.47452) + (xy 32.636318 82.476048) + (xy 32.679024 82.56763) + (xy 32.770585 82.763982) + (xy 32.776021 82.775638) + (xy 32.850726 82.905029) + (xy 32.940284 83.060148) + (xy 32.941303 83.061912) + (xy 33.130907 83.332691) + (xy 33.131958 83.333943) + (xy 33.131963 83.33395) + (xy 33.25276 83.477907) + (xy 33.34339 83.585914) + (xy 33.344554 83.587078) + (xy 33.344555 83.587079) + (xy 33.460262 83.702785) + (xy 33.460262 83.702786) + (xy 33.460263 83.702787) + (xy 33.460262 83.702785) + (xy 33.480515 83.723037) + (xy 33.480517 83.723039) + (xy 33.61494 83.857463) + (xy 33.617485 83.860136) + (xy 33.82241 84.086237) + (xy 33.827079 84.091927) + (xy 34.007249 84.334857) + (xy 34.007763 84.33555) + (xy 34.011861 84.341684) + (xy 34.031814 84.374973) + (xy 34.167785 84.601829) + (xy 34.171264 84.608337) + (xy 34.300943 84.882521) + (xy 34.303767 84.889339) + (xy 34.383033 85.110871) + (xy 34.404712 85.171461) + (xy 34.405947 85.174911) + (xy 34.408089 85.181973) + (xy 34.481783 85.476179) + (xy 34.483223 85.483417) + (xy 34.527727 85.78344) + (xy 34.52845 85.790784) + (xy 34.543409 86.095289) + (xy 34.5435 86.098979) + (xy 34.5435 93.757611) + (xy 34.543508 93.757659) + (xy 34.543512 93.757756) + (xy 34.543512 93.903296) + (xy 34.543654 93.904923) + (xy 34.543655 93.904938) + (xy 34.573398 94.244907) + (xy 34.574416 94.256539) + (xy 34.574697 94.258135) + (xy 34.574699 94.258147) + (xy 34.635707 94.604143) + (xy 34.635709 94.604154) + (xy 34.63599 94.605745) + (xy 34.636405 94.607295) + (xy 34.63641 94.607316) + (xy 34.725818 94.940993) + (xy 34.727764 94.948255) + (xy 34.72832 94.949784) + (xy 34.728324 94.949795) + (xy 34.7966 95.137381) + (xy 34.849041 95.281463) + (xy 34.902844 95.396846) + (xy 34.997808 95.6005) + (xy 34.998897 95.602834) + (xy 34.999717 95.604255) + (xy 34.999719 95.604258) + (xy 35.17163 95.90202) + (xy 35.176192 95.909921) + (xy 35.17714 95.911275) + (xy 35.177142 95.911278) + (xy 35.37745 96.197352) + (xy 35.379576 96.200387) + (xy 35.38063 96.201643) + (xy 35.380633 96.201647) + (xy 35.604942 96.468972) + (xy 35.607502 96.472022) + (xy 35.608666 96.473186) + (xy 35.687854 96.552375) + (xy 35.685545 96.554683) + (xy 35.685546 96.554685) + (xy 35.687855 96.552377) + (xy 35.732868 96.59739) + (xy 35.771652 96.636175) + (xy 35.771659 96.636181) + (xy 36.698889 97.563412) + (xy 36.720149 97.605883) + (xy 36.729625 97.67179) + (xy 36.729626 97.671795) + (xy 36.730392 97.677119) + (xy 36.735297 97.687859) + (xy 36.787382 97.801911) + (xy 36.787383 97.801913) + (xy 36.789618 97.806806) + (xy 36.793138 97.810869) + (xy 36.79314 97.810871) + (xy 36.82136 97.843438) + (xy 36.882982 97.914553) + (xy 36.887504 97.917459) + (xy 36.887505 97.91746) + (xy 36.982341 97.978408) + (xy 37.002919 97.991633) + (xy 37.139715 98.0318) + (xy 37.276904 98.0318) + (xy 37.282285 98.0318) + (xy 37.419081 97.991633) + (xy 37.44428 97.975437) + (xy 37.484937 97.9635) + (xy 37.566471 97.9635) + (xy 37.605763 97.974582) + (xy 37.633475 98.00456) + (xy 37.644996 98.027173) + (xy 37.648254 98.033566) + (xy 37.741434 98.126746) + (xy 37.781842 98.147335) + (xy 37.851836 98.182999) + (xy 37.858847 98.186571) + (xy 37.864692 98.187496) + (xy 37.864693 98.187497) + (xy 37.875571 98.189219) + (xy 37.956263 98.202) + (xy 38.471736 98.201999) + (xy 38.569153 98.186571) + (xy 38.686566 98.126746) + (xy 38.779746 98.033566) + (xy 38.839571 97.916153) + (xy 38.855 97.818737) + (xy 38.854999 97.253264) + (xy 38.839571 97.155847) + (xy 38.779746 97.038434) + (xy 38.686566 96.945254) + (xy 38.681289 96.942565) + (xy 38.574426 96.888115) + (xy 38.574422 96.888113) + (xy 38.569153 96.885429) + (xy 38.563311 96.884503) + (xy 38.563306 96.884502) + (xy 38.474655 96.870462) + (xy 38.474652 96.870461) + (xy 38.471737 96.87) + (xy 38.468783 96.87) + (xy 37.959218 96.87) + (xy 37.959205 96.87) + (xy 37.956264 96.870001) + (xy 37.95335 96.870462) + (xy 37.953343 96.870463) + (xy 37.864692 96.884503) + (xy 37.86469 96.884503) + (xy 37.858847 96.885429) + (xy 37.853577 96.888113) + (xy 37.853574 96.888115) + (xy 37.74671 96.942565) + (xy 37.746706 96.942567) + (xy 37.741434 96.945254) + (xy 37.737247 96.94944) + (xy 37.737244 96.949443) + (xy 37.652443 97.034244) + (xy 37.65244 97.034247) + (xy 37.648254 97.038434) + (xy 37.645567 97.043706) + (xy 37.645565 97.04371) + (xy 37.613362 97.106913) + (xy 37.585191 97.137171) + (xy 37.545284 97.147965) + (xy 37.505701 97.136035) + (xy 37.423602 97.083272) + (xy 37.423599 97.08327) + (xy 37.419081 97.080367) + (xy 37.413925 97.078853) + (xy 37.413923 97.078852) + (xy 37.287447 97.041715) + (xy 37.287442 97.041714) + (xy 37.282285 97.0402) + (xy 37.276905 97.0402) + (xy 37.275771 97.040037) + (xy 37.233299 97.018776) + (xy 36.724621 96.510098) + (xy 41.5105 96.510098) + (xy 41.512592 96.517907) + (xy 41.520402 96.52) + (xy 42.014098 96.52) + (xy 42.021907 96.517907) + (xy 42.024 96.510098) + (xy 42.278 96.510098) + (xy 42.280092 96.517907) + (xy 42.287902 96.52) + (xy 42.781598 96.52) + (xy 42.789407 96.517907) + (xy 42.7915 96.510098) + (xy 42.7915 96.367254) + (xy 42.791037 96.361381) + (xy 42.777015 96.272848) + (xy 42.773402 96.261728) + (xy 42.719023 96.155005) + (xy 42.712148 96.145543) + (xy 42.627456 96.060851) + (xy 42.617994 96.053976) + (xy 42.511271 95.999597) + (xy 42.500151 95.995984) + (xy 42.411618 95.981962) + (xy 42.405746 95.9815) + (xy 42.287902 95.9815) + (xy 42.280092 95.983592) + (xy 42.278 95.991402) + (xy 42.278 96.510098) + (xy 42.024 96.510098) + (xy 42.024 95.991402) + (xy 42.021907 95.983592) + (xy 42.014098 95.9815) + (xy 41.896254 95.9815) + (xy 41.890381 95.981962) + (xy 41.801848 95.995984) + (xy 41.790728 95.999597) + (xy 41.684005 96.053976) + (xy 41.674543 96.060851) + (xy 41.589851 96.145543) + (xy 41.582976 96.155005) + (xy 41.528597 96.261728) + (xy 41.524984 96.272848) + (xy 41.510962 96.361381) + (xy 41.5105 96.367254) + (xy 41.5105 96.510098) + (xy 36.724621 96.510098) + (xy 36.273721 96.059198) + (xy 36.271175 96.056525) + (xy 36.057538 95.820809) + (xy 36.052857 95.815105) + (xy 36.049343 95.810367) + (xy 35.864474 95.561098) + (xy 35.860384 95.554977) + (xy 35.85826 95.551434) + (xy 35.697796 95.28371) + (xy 35.694322 95.277209) + (xy 35.692955 95.274319) + (xy 35.599877 95.077519) + (xy 35.559116 94.991336) + (xy 35.556292 94.984518) + (xy 35.530663 94.912891) + (xy 35.449749 94.686751) + (xy 35.447616 94.679717) + (xy 35.370774 94.372942) + (xy 35.369335 94.365709) + (xy 35.32293 94.052876) + (xy 35.32221 94.045555) + (xy 35.306591 93.727608) + (xy 35.3065 93.723918) + (xy 35.3065 86.097453) + (xy 35.306508 86.097393) + (xy 35.306513 86.097408) + (xy 35.306513 85.925867) + (xy 35.276612 85.584092) + (xy 35.217038 85.246223) + (xy 35.216066 85.242597) + (xy 35.189942 85.145101) + (xy 35.128242 84.914832) + (xy 35.010902 84.592441) + (xy 34.86591 84.281504) + (xy 34.69437 83.984387) + (xy 34.497587 83.703352) + (xy 34.277058 83.440536) + (xy 34.200779 83.364257) + (xy 34.200777 83.364254) + (xy 34.001095 83.164572) + (xy 33.99855 83.1619) + (xy 33.979582 83.140972) + (xy 33.803054 82.946207) + (xy 33.798386 82.94052) + (xy 33.626079 82.708194) + (xy 33.621989 82.702072) + (xy 33.473285 82.45398) + (xy 33.469809 82.447475) + (xy 33.34614 82.186) + (xy 33.343328 82.179211) + (xy 33.245879 81.906865) + (xy 33.24374 81.899811) + (xy 33.243624 81.899349) + (xy 33.173463 81.61925) + (xy 33.172024 81.612017) + (xy 33.170737 81.603339) + (xy 33.129583 81.325902) + (xy 33.128862 81.318577) + (xy 33.114591 81.028096) + (xy 33.1145 81.024406) + (xy 33.1145 80.0062) + (xy 33.124575 79.9686) + (xy 33.1521 79.941075) + (xy 33.1897 79.931) + (xy 33.384364 79.931) + (xy 33.386118 79.931) + (xy 33.415913 79.928206) + (xy 33.541393 79.884299) + (xy 33.648356 79.805356) + (xy 33.727299 79.698393) + (xy 33.771206 79.572913) + (xy 33.774 79.543118) + (xy 33.774 78.236882) + (xy 33.771206 78.207087) + (xy 33.727299 78.081607) + (xy 33.715298 78.065347) + (xy 33.691734 78.033419) + (xy 33.648356 77.974644) + (xy 33.613831 77.949163) + (xy 33.545923 77.899044) + (xy 33.545921 77.899043) + (xy 33.541393 77.895701) + (xy 33.536078 77.893841) + (xy 33.536076 77.89384) + (xy 33.420227 77.853303) + (xy 33.420223 77.853302) + (xy 33.415913 77.851794) + (xy 33.411365 77.851367) + (xy 33.411363 77.851367) + (xy 33.387859 77.849163) + (xy 33.387853 77.849162) + (xy 33.386118 77.849) + (xy 32.079882 77.849) + (xy 32.078147 77.849162) + (xy 32.07814 77.849163) + (xy 32.054636 77.851367) + (xy 32.054632 77.851367) + (xy 32.050087 77.851794) + (xy 32.045778 77.853301) + (xy 32.045772 77.853303) + (xy 31.929923 77.89384) + (xy 31.929918 77.893842) + (xy 31.924607 77.895701) + (xy 31.920081 77.899041) + (xy 31.920076 77.899044) + (xy 31.822171 77.971302) + (xy 31.822167 77.971305) + (xy 31.817644 77.974644) + (xy 31.814305 77.979167) + (xy 31.814302 77.979171) + (xy 31.742044 78.077076) + (xy 31.742041 78.077081) + (xy 31.738701 78.081607) + (xy 31.736842 78.086918) + (xy 31.73684 78.086923) + (xy 31.696303 78.202772) + (xy 31.696301 78.202778) + (xy 31.694794 78.207087) + (xy 31.694367 78.211632) + (xy 31.694367 78.211636) + (xy 31.692246 78.234257) + (xy 31.692 78.236882) + (xy 31.692 79.543118) + (xy 30.666513 79.543118) + (xy 30.2 79.076605) + (xy 30.193 79.072563) + (xy 30.185999 79.076605) + (xy 29.559787 79.702816) + (xy 29.555741 79.710095) + (xy 25 79.710095) + (xy 25 78.893675) + (xy 29.147827 78.893675) + (xy 29.167192 79.090298) + (xy 29.168627 79.097508) + (xy 29.225979 79.286573) + (xy 29.228792 79.293365) + (xy 29.321929 79.467613) + (xy 29.326011 79.473722) + (xy 29.366059 79.522521) + (xy 29.372903 79.527257) + (xy 29.380182 79.523211) + (xy 30.006394 78.897) + (xy 30.010436 78.89) + (xy 30.375563 78.89) + (xy 30.379605 78.897) + (xy 31.005816 79.523211) + (xy 31.013096 79.527257) + (xy 31.019939 79.52252) + (xy 31.059988 79.473721) + (xy 31.06407 79.467613) + (xy 31.157207 79.293365) + (xy 31.16002 79.286573) + (xy 31.217372 79.097508) + (xy 31.218807 79.090298) + (xy 31.238173 78.893675) + (xy 31.238173 78.886325) + (xy 31.218807 78.689701) + (xy 31.217372 78.682491) + (xy 31.16002 78.493426) + (xy 31.157207 78.486634) + (xy 31.06407 78.312386) + (xy 31.059988 78.306278) + (xy 31.019939 78.257477) + (xy 31.013095 78.252741) + (xy 31.005816 78.256787) + (xy 30.379605 78.882999) + (xy 30.375563 78.89) + (xy 30.010436 78.89) + (xy 30.006394 78.882999) + (xy 29.380182 78.256787) + (xy 29.372903 78.252742) + (xy 29.366058 78.257479) + (xy 29.326008 78.306281) + (xy 29.321931 78.312383) + (xy 29.228792 78.486634) + (xy 29.225979 78.493426) + (xy 29.168627 78.682491) + (xy 29.167192 78.689701) + (xy 29.147827 78.886325) + (xy 29.147827 78.893675) + (xy 25 78.893675) + (xy 25 78.069903) + (xy 29.555742 78.069903) + (xy 29.559787 78.077182) + (xy 30.185999 78.703394) + (xy 30.193 78.707436) + (xy 30.2 78.703394) + (xy 30.826211 78.077182) + (xy 30.830257 78.069903) + (xy 30.825521 78.063059) + (xy 30.776722 78.023011) + (xy 30.770613 78.018929) + (xy 30.596365 77.925792) + (xy 30.589573 77.922979) + (xy 30.400508 77.865627) + (xy 30.393298 77.864192) + (xy 30.196675 77.844827) + (xy 30.189325 77.844827) + (xy 29.992701 77.864192) + (xy 29.985491 77.865627) + (xy 29.796426 77.922979) + (xy 29.789634 77.925792) + (xy 29.615383 78.018931) + (xy 29.609281 78.023008) + (xy 29.560479 78.063058) + (xy 29.555742 78.069903) + (xy 25 78.069903) + (xy 25 77.170095) + (xy 29.555741 77.170095) + (xy 29.560477 77.176939) + (xy 29.609278 77.216988) + (xy 29.615386 77.22107) + (xy 29.789634 77.314207) + (xy 29.796426 77.31702) + (xy 29.985491 77.374372) + (xy 29.992701 77.375807) + (xy 30.189325 77.395173) + (xy 30.196675 77.395173) + (xy 30.393298 77.375807) + (xy 30.400508 77.374372) + (xy 30.589573 77.31702) + (xy 30.596365 77.314207) + (xy 30.770613 77.22107) + (xy 30.776721 77.216988) + (xy 30.82552 77.176939) + (xy 30.830257 77.170096) + (xy 30.826211 77.162816) + (xy 30.2 76.536605) + (xy 30.193 76.532563) + (xy 30.185999 76.536605) + (xy 29.559787 77.162816) + (xy 29.555741 77.170095) + (xy 25 77.170095) + (xy 25 76.353675) + (xy 29.147827 76.353675) + (xy 29.167192 76.550298) + (xy 29.168627 76.557508) + (xy 29.225979 76.746573) + (xy 29.228789 76.753358) + (xy 29.321929 76.927613) + (xy 29.326011 76.933722) + (xy 29.366059 76.982521) + (xy 29.372903 76.987257) + (xy 29.380182 76.983211) + (xy 30.006394 76.357) + (xy 30.010436 76.35) + (xy 30.375563 76.35) + (xy 30.379605 76.357) + (xy 31.005816 76.983211) + (xy 31.013096 76.987257) + (xy 31.019939 76.98252) + (xy 31.059988 76.933721) + (xy 31.06407 76.927613) + (xy 31.157211 76.753358) + (xy 31.16002 76.746573) + (xy 31.217372 76.557508) + (xy 31.218807 76.550298) + (xy 31.238173 76.353675) + (xy 31.238173 76.35) + (xy 31.686963 76.35) + (xy 31.687325 76.353675) + (xy 31.687325 76.353676) + (xy 31.706438 76.547742) + (xy 31.707062 76.554072) + (xy 31.708132 76.557601) + (xy 31.708133 76.557603) + (xy 31.765516 76.746769) + (xy 31.765518 76.746774) + (xy 31.766588 76.750301) + (xy 31.863252 76.931147) + (xy 31.865596 76.934003) + (xy 31.865598 76.934006) + (xy 31.987973 77.08312) + (xy 31.99334 77.08966) + (xy 31.996195 77.092003) + (xy 32.147378 77.216076) + (xy 32.151853 77.219748) + (xy 32.332699 77.316412) + (xy 32.528928 77.375938) + (xy 32.715364 77.3943) + (xy 32.724227 77.395173) + (xy 32.733 77.396037) + (xy 32.741773 77.395173) + (xy 32.750636 77.3943) + (xy 32.937072 77.375938) + (xy 33.133301 77.316412) + (xy 33.314147 77.219748) + (xy 33.43342 77.121862) + (xy 33.466452 77.10624) + (xy 33.502952 77.108033) + (xy 33.534297 77.126821) + (xy 33.637492 77.230016) + (xy 33.640856 77.233607) + (xy 33.752668 77.361104) + (xy 33.758656 77.368908) + (xy 33.851503 77.507862) + (xy 33.856422 77.516382) + (xy 33.930331 77.66626) + (xy 33.934095 77.675347) + (xy 33.98781 77.833588) + (xy 33.990356 77.843089) + (xy 34.003284 77.908083) + (xy 34.022643 78.005412) + (xy 34.022957 78.006988) + (xy 34.024241 78.016742) + (xy 34.035338 78.186095) + (xy 34.035499 78.191012) + (xy 34.035499 78.215984) + (xy 34.035499 78.243267) + (xy 34.0355 78.24327) + (xy 34.0355 81.111705) + (xy 34.035502 81.111717) + (xy 34.035503 81.111741) + (xy 34.035503 81.233438) + (xy 34.035681 81.235247) + (xy 34.035682 81.235264) + (xy 34.065381 81.536811) + (xy 34.065383 81.536826) + (xy 34.065563 81.538651) + (xy 34.06592 81.540448) + (xy 34.065923 81.540465) + (xy 34.125036 81.837644) + (xy 34.125395 81.839448) + (xy 34.125925 81.841195) + (xy 34.125928 81.841207) + (xy 34.213887 82.131169) + (xy 34.21389 82.131178) + (xy 34.214422 82.132931) + (xy 34.331787 82.416276) + (xy 34.332655 82.417901) + (xy 34.332657 82.417904) + (xy 34.381167 82.50866) + (xy 34.476359 82.686752) + (xy 34.477374 82.688271) + (xy 34.645145 82.93936) + (xy 34.646746 82.941755) + (xy 34.841308 83.17883) + (xy 34.842622 83.180144) + (xy 34.842623 83.180145) + (xy 34.948422 83.285944) + (xy 34.950968 83.288617) + (xy 35.134152 83.49073) + (xy 35.14162 83.498969) + (xy 35.1463 83.504672) + (xy 35.159009 83.521809) + (xy 35.314293 83.731187) + (xy 35.318393 83.737322) + (xy 35.463387 83.979228) + (xy 35.466866 83.985737) + (xy 35.587445 84.240682) + (xy 35.590269 84.2475) + (xy 35.685281 84.513038) + (xy 35.687423 84.5201) + (xy 35.755948 84.793666) + (xy 35.757388 84.800904) + (xy 35.798771 85.079881) + (xy 35.799494 85.087225) + (xy 35.813409 85.370459) + (xy 35.8135 85.374149) + (xy 35.8135 93.695981) + (xy 35.813507 93.696025) + (xy 35.813511 93.696132) + (xy 35.813511 93.75374) + (xy 35.813511 93.810917) + (xy 35.813689 93.812725) + (xy 35.81369 93.812744) + (xy 35.842055 94.100767) + (xy 35.842056 94.100777) + (xy 35.842237 94.10261) + (xy 35.842596 94.104418) + (xy 35.842598 94.104427) + (xy 35.899054 94.388265) + (xy 35.899056 94.388276) + (xy 35.899416 94.390082) + (xy 35.899953 94.391852) + (xy 35.983962 94.668801) + (xy 35.983965 94.668812) + (xy 35.984498 94.670566) + (xy 35.9852 94.672262) + (xy 35.985203 94.672269) + (xy 36.095958 94.939661) + (xy 36.095963 94.939672) + (xy 36.096662 94.941359) + (xy 36.097523 94.94297) + (xy 36.097525 94.942974) + (xy 36.149273 95.039789) + (xy 36.234829 95.199854) + (xy 36.235844 95.201373) + (xy 36.396272 95.441473) + (xy 36.397668 95.443561) + (xy 36.583611 95.670133) + (xy 36.584926 95.671448) + (xy 36.642224 95.728746) + (xy 36.642225 95.728748) + (xy 36.698889 95.785412) + (xy 36.720149 95.827883) + (xy 36.729625 95.89379) + (xy 36.729626 95.893795) + (xy 36.730392 95.899119) + (xy 36.732627 95.904012) + (xy 36.732628 95.904015) + (xy 36.787382 96.023911) + (xy 36.787383 96.023913) + (xy 36.789618 96.028806) + (xy 36.793138 96.032869) + (xy 36.79314 96.032871) + (xy 36.82165 96.065773) + (xy 36.882982 96.136553) + (xy 36.887504 96.139459) + (xy 36.887505 96.13946) + (xy 36.998397 96.210727) + (xy 37.002919 96.213633) + (xy 37.139715 96.2538) + (xy 37.276904 96.2538) + (xy 37.282285 96.2538) + (xy 37.419081 96.213633) + (xy 37.44428 96.197437) + (xy 37.484937 96.1855) + (xy 37.566471 96.1855) + (xy 37.605763 96.196582) + (xy 37.633475 96.22656) + (xy 37.645564 96.250288) + (xy 37.648254 96.255566) + (xy 37.741434 96.348746) + (xy 37.777758 96.367254) + (xy 37.852466 96.40532) + (xy 37.858847 96.408571) + (xy 37.864692 96.409496) + (xy 37.864693 96.409497) + (xy 37.875571 96.411219) + (xy 37.956263 96.424) + (xy 38.471736 96.423999) + (xy 38.569153 96.408571) + (xy 38.686566 96.348746) + (xy 38.779746 96.255566) + (xy 38.839571 96.138153) + (xy 38.855 96.040737) + (xy 38.854999 95.475264) + (xy 38.839571 95.377847) + (xy 38.779746 95.260434) + (xy 38.686566 95.167254) + (xy 38.675413 95.161571) + (xy 38.574426 95.110115) + (xy 38.574422 95.110113) + (xy 38.569153 95.107429) + (xy 38.563311 95.106503) + (xy 38.563306 95.106502) + (xy 38.474655 95.092462) + (xy 38.474652 95.092461) + (xy 38.471737 95.092) + (xy 38.468783 95.092) + (xy 37.959218 95.092) + (xy 37.959205 95.092) + (xy 37.956264 95.092001) + (xy 37.95335 95.092462) + (xy 37.953343 95.092463) + (xy 37.864692 95.106503) + (xy 37.86469 95.106503) + (xy 37.858847 95.107429) + (xy 37.853577 95.110113) + (xy 37.853574 95.110115) + (xy 37.74671 95.164565) + (xy 37.746706 95.164567) + (xy 37.741434 95.167254) + (xy 37.737247 95.17144) + (xy 37.737244 95.171443) + (xy 37.652443 95.256244) + (xy 37.65244 95.256247) + (xy 37.648254 95.260434) + (xy 37.645567 95.265706) + (xy 37.645565 95.26571) + (xy 37.613362 95.328913) + (xy 37.585191 95.359171) + (xy 37.545284 95.369965) + (xy 37.505701 95.358035) + (xy 37.423602 95.305272) + (xy 37.423599 95.30527) + (xy 37.419081 95.302367) + (xy 37.413925 95.300853) + (xy 37.413923 95.300852) + (xy 37.287447 95.263715) + (xy 37.287442 95.263714) + (xy 37.282285 95.2622) + (xy 37.276905 95.2622) + (xy 37.275771 95.262037) + (xy 37.233299 95.240776) + (xy 37.228247 95.235724) + (xy 37.225349 95.232659) + (xy 37.186784 95.189505) + (xy 37.063679 95.051749) + (xy 37.058421 95.045156) + (xy 37.050757 95.034354) + (xy 36.919237 94.848993) + (xy 36.914754 94.841858) + (xy 36.798407 94.631342) + (xy 36.794748 94.623744) + (xy 36.792889 94.619257) + (xy 36.74684 94.508081) + (xy 36.702708 94.401535) + (xy 36.699923 94.393576) + (xy 36.681418 94.329344) + (xy 36.653073 94.230952) + (xy 37.123 94.230952) + (xy 37.123319 94.23338) + (xy 37.12332 94.233385) + (xy 37.127922 94.268335) + (xy 37.129539 94.280619) + (xy 37.131967 94.285827) + (xy 37.131969 94.285832) + (xy 37.168405 94.36397) + (xy 37.18036 94.389607) + (xy 37.265393 94.47464) + (xy 37.330491 94.504995) + (xy 37.369167 94.52303) + (xy 37.369168 94.52303) + (xy 37.374381 94.525461) + (xy 37.424048 94.532) + (xy 38.676495 94.532) + (xy 38.678952 94.532) + (xy 38.728619 94.525461) + (xy 38.790563 94.496576) + (xy 38.798137 94.493045) + (xy 38.829917 94.486) + (xy 38.833703 94.486) + (xy 38.874359 94.497938) + (xy 38.902106 94.52996) + (xy 38.906984 94.54064) + (xy 38.946382 94.626911) + (xy 38.946383 94.626913) + (xy 38.948618 94.631806) + (xy 38.952138 94.635869) + (xy 38.95214 94.635871) + (xy 38.981605 94.669875) + (xy 39.041982 94.739553) + (xy 39.046504 94.742459) + (xy 39.046505 94.74246) + (xy 39.157397 94.813727) + (xy 39.161919 94.816633) + (xy 39.298715 94.8568) + (xy 39.435904 94.8568) + (xy 39.441285 94.8568) + (xy 39.578081 94.816633) + (xy 39.698018 94.739553) + (xy 39.791382 94.631806) + (xy 39.850608 94.502119) + (xy 39.870898 94.361) + (xy 39.850608 94.219881) + (xy 39.791382 94.090194) + (xy 39.77898 94.075882) + (xy 39.759056 94.052888) + (xy 39.698018 93.982447) + (xy 39.693496 93.979541) + (xy 39.693494 93.979539) + (xy 39.582602 93.908272) + (xy 39.582599 93.90827) + (xy 39.578081 93.905367) + (xy 39.54781 93.896478) + (xy 39.515824 93.877499) + (xy 39.385321 93.746996) + (xy 39.379701 93.740708) + (xy 39.359608 93.715512) + (xy 39.359604 93.715508) + (xy 39.356095 93.711108) + (xy 39.355065 93.710406) + (xy 39.334008 93.673934) + (xy 39.33732 93.629727) + (xy 39.36496 93.595067) + (xy 39.407322 93.582) + (xy 40.5008 93.582) + (xy 40.5384 93.592075) + (xy 40.565925 93.6196) + (xy 40.576 93.6572) + (xy 40.576 95.034526) + (xy 40.570276 95.063304) + (xy 40.553974 95.087701) + (xy 40.408666 95.233007) + (xy 40.374955 95.25247) + (xy 40.336029 95.25247) + (xy 40.302318 95.233006) + (xy 40.240755 95.171443) + (xy 40.240754 95.171442) + (xy 40.236566 95.167254) + (xy 40.225413 95.161571) + (xy 40.124426 95.110115) + (xy 40.124422 95.110113) + (xy 40.119153 95.107429) + (xy 40.113311 95.106503) + (xy 40.113306 95.106502) + (xy 40.024655 95.092462) + (xy 40.024652 95.092461) + (xy 40.021737 95.092) + (xy 40.018783 95.092) + (xy 39.509218 95.092) + (xy 39.509205 95.092) + (xy 39.506264 95.092001) + (xy 39.50335 95.092462) + (xy 39.503343 95.092463) + (xy 39.414692 95.106503) + (xy 39.41469 95.106503) + (xy 39.408847 95.107429) + (xy 39.403577 95.110113) + (xy 39.403574 95.110115) + (xy 39.29671 95.164565) + (xy 39.296706 95.164567) + (xy 39.291434 95.167254) + (xy 39.287247 95.17144) + (xy 39.287244 95.171443) + (xy 39.202443 95.256244) + (xy 39.20244 95.256247) + (xy 39.198254 95.260434) + (xy 39.195567 95.265706) + (xy 39.195565 95.26571) + (xy 39.141115 95.372573) + (xy 39.141112 95.372579) + (xy 39.138429 95.377847) + (xy 39.137504 95.383686) + (xy 39.137502 95.383693) + (xy 39.123462 95.472343) + (xy 39.123 95.475263) + (xy 39.123 95.478215) + (xy 39.123 95.478216) + (xy 39.123 96.037781) + (xy 39.123 96.037793) + (xy 39.123001 96.040736) + (xy 39.123462 96.04365) + (xy 39.123463 96.043656) + (xy 39.136321 96.124843) + (xy 39.138429 96.138153) + (xy 39.141114 96.143423) + (xy 39.141115 96.143425) + (xy 39.195564 96.250288) + (xy 39.198254 96.255566) + (xy 39.291434 96.348746) + (xy 39.327758 96.367254) + (xy 39.402466 96.40532) + (xy 39.408847 96.408571) + (xy 39.414692 96.409496) + (xy 39.414693 96.409497) + (xy 39.425571 96.411219) + (xy 39.506263 96.424) + (xy 40.021736 96.423999) + (xy 40.119153 96.408571) + (xy 40.236566 96.348746) + (xy 40.329746 96.255566) + (xy 40.335609 96.244058) + (xy 40.363322 96.214081) + (xy 40.402613 96.203) + (xy 40.483793 96.203) + (xy 40.492212 96.203473) + (xy 40.529827 96.207711) + (xy 40.586177 96.197048) + (xy 40.588933 96.19658) + (xy 40.645647 96.188033) + (xy 40.650731 96.185583) + (xy 40.652984 96.184889) + (xy 40.653436 96.184777) + (xy 40.653878 96.184594) + (xy 40.656087 96.18382) + (xy 40.661634 96.182772) + (xy 40.712348 96.155967) + (xy 40.714825 96.154718) + (xy 40.766509 96.129829) + (xy 40.770641 96.125993) + (xy 40.772594 96.124663) + (xy 40.772991 96.124423) + (xy 40.773355 96.124122) + (xy 40.775246 96.122726) + (xy 40.780235 96.12009) + (xy 40.820822 96.079501) + (xy 40.822766 96.077628) + (xy 40.864844 96.038587) + (xy 40.867664 96.0337) + (xy 40.869137 96.031854) + (xy 40.87475 96.025573) + (xy 41.315014 95.585309) + (xy 41.321283 95.579706) + (xy 41.340426 95.564441) + (xy 45.381501 95.564441) + (xy 45.381821 95.569336) + (xy 45.387276 95.610779) + (xy 45.390461 95.621705) + (xy 45.435993 95.719349) + (xy 45.443431 95.729971) + (xy 45.519028 95.805568) + (xy 45.52965 95.813006) + (xy 45.627298 95.85854) + (xy 45.638215 95.861722) + (xy 45.679663 95.867179) + (xy 45.684557 95.8675) + (xy 46.410098 95.8675) + (xy 46.417907 95.865407) + (xy 46.42 95.857598) + (xy 46.42 95.857597) + (xy 46.674 95.857597) + (xy 46.676092 95.865406) + (xy 46.683902 95.867499) + (xy 47.409441 95.867499) + (xy 47.414336 95.867178) + (xy 47.455779 95.861723) + (xy 47.466705 95.858538) + (xy 47.564349 95.813006) + (xy 47.574971 95.805568) + (xy 47.650568 95.729971) + (xy 47.658006 95.719349) + (xy 47.70354 95.621701) + (xy 47.706722 95.610784) + (xy 47.712179 95.569336) + (xy 47.7125 95.564443) + (xy 47.7125 95.513902) + (xy 47.710407 95.506092) + (xy 47.702598 95.504) + (xy 46.683902 95.504) + (xy 46.676092 95.506092) + (xy 46.674 95.513902) + (xy 46.674 95.857597) + (xy 46.42 95.857597) + (xy 46.42 95.513902) + (xy 46.417907 95.506092) + (xy 46.410098 95.504) + (xy 45.391403 95.504) + (xy 45.383593 95.506092) + (xy 45.381501 95.513902) + (xy 45.381501 95.564441) + (xy 41.340426 95.564441) + (xy 41.350892 95.556095) + (xy 41.36156 95.540448) + (xy 41.38319 95.508723) + (xy 41.384818 95.506428) + (xy 41.38661 95.504) + (xy 41.418874 95.460284) + (xy 41.420737 95.454958) + (xy 41.421836 95.452879) + (xy 41.422078 95.452476) + (xy 41.422257 95.452045) + (xy 41.423279 95.449921) + (xy 41.426459 95.445259) + (xy 41.442309 95.393875) + (xy 41.443306 95.390643) + (xy 41.465687 95.356177) + (xy 41.502845 95.338624) + (xy 41.543681 95.343224) + (xy 41.576002 95.368605) + (xy 41.578043 95.371415) + (xy 41.580731 95.376689) + (xy 41.668311 95.464269) + (xy 41.703226 95.482059) + (xy 41.772448 95.51733) + (xy 41.778668 95.520499) + (xy 41.784513 95.521424) + (xy 41.784514 95.521425) + (xy 41.79573 95.523201) + (xy 41.870226 95.535) + (xy 42.32882 95.535) + (xy 42.331774 95.535) + (xy 42.423332 95.520499) + (xy 42.533689 95.464269) + (xy 42.621269 95.376689) + (xy 42.677499 95.266332) + (xy 42.692 95.174774) + (xy 42.692 95.171779) + (xy 43.160501 95.171779) + (xy 43.160963 95.177654) + (xy 43.174057 95.260328) + (xy 43.177669 95.271447) + (xy 43.228452 95.371114) + (xy 43.23533 95.38058) + (xy 43.314419 95.459669) + (xy 43.323885 95.466547) + (xy 43.423551 95.51733) + (xy 43.434671 95.520943) + (xy 43.517346 95.534037) + (xy 43.523219 95.5345) + (xy 43.614098 95.5345) + (xy 43.621907 95.532407) + (xy 43.624 95.524598) + (xy 43.624 95.524597) + (xy 43.878 95.524597) + (xy 43.880092 95.532406) + (xy 43.887902 95.534499) + (xy 43.978779 95.534499) + (xy 43.984654 95.534036) + (xy 44.067328 95.520942) + (xy 44.078447 95.51733) + (xy 44.178114 95.466547) + (xy 44.18758 95.459669) + (xy 44.266669 95.38058) + (xy 44.273547 95.371114) + (xy 44.32433 95.271448) + (xy 44.327943 95.260328) + (xy 44.331147 95.240098) + (xy 45.3815 95.240098) + (xy 45.383592 95.247907) + (xy 45.391402 95.25) + (xy 46.410098 95.25) + (xy 46.417907 95.247907) + (xy 46.42 95.240098) + (xy 46.674 95.240098) + (xy 46.676092 95.247907) + (xy 46.683902 95.25) + (xy 47.702597 95.25) + (xy 47.710406 95.247907) + (xy 47.712499 95.240098) + (xy 47.712499 95.189559) + (xy 47.712178 95.184663) + (xy 47.706723 95.14322) + (xy 47.703538 95.132294) + (xy 47.658006 95.03465) + (xy 47.650568 95.024028) + (xy 47.574971 94.948431) + (xy 47.564349 94.940993) + (xy 47.466701 94.895459) + (xy 47.455784 94.892277) + (xy 47.414336 94.88682) + (xy 47.409443 94.8865) + (xy 46.683902 94.8865) + (xy 46.676092 94.888592) + (xy 46.674 94.896402) + (xy 46.674 95.240098) + (xy 46.42 95.240098) + (xy 46.42 94.896403) + (xy 46.417907 94.888593) + (xy 46.410098 94.886501) + (xy 45.684559 94.886501) + (xy 45.679663 94.886821) + (xy 45.63822 94.892276) + (xy 45.627294 94.895461) + (xy 45.52965 94.940993) + (xy 45.519028 94.948431) + (xy 45.443431 95.024028) + (xy 45.435993 95.03465) + (xy 45.390459 95.132298) + (xy 45.387277 95.143215) + (xy 45.38182 95.184663) + (xy 45.3815 95.189557) + (xy 45.3815 95.240098) + (xy 44.331147 95.240098) + (xy 44.341037 95.177653) + (xy 44.3415 95.171781) + (xy 44.3415 95.005902) + (xy 44.339407 94.998092) + (xy 44.331598 94.996) + (xy 43.887902 94.996) + (xy 43.880092 94.998092) + (xy 43.878 95.005902) + (xy 43.878 95.524597) + (xy 43.624 95.524597) + (xy 43.624 95.005902) + (xy 43.621907 94.998092) + (xy 43.614098 94.996) + (xy 43.170403 94.996) + (xy 43.162593 94.998092) + (xy 43.160501 95.005902) + (xy 43.160501 95.171779) + (xy 42.692 95.171779) + (xy 42.692 94.732098) + (xy 43.1605 94.732098) + (xy 43.162592 94.739907) + (xy 43.170402 94.742) + (xy 43.614098 94.742) + (xy 43.621907 94.739907) + (xy 43.624 94.732098) + (xy 43.878 94.732098) + (xy 43.880092 94.739907) + (xy 43.887902 94.742) + (xy 44.331597 94.742) + (xy 44.339406 94.739907) + (xy 44.341499 94.732098) + (xy 44.341499 94.566221) + (xy 44.341036 94.560345) + (xy 44.327942 94.477671) + (xy 44.32433 94.466552) + (xy 44.273547 94.366885) + (xy 44.266669 94.357419) + (xy 44.18758 94.27833) + (xy 44.178114 94.271452) + (xy 44.078448 94.220669) + (xy 44.067328 94.217056) + (xy 43.984653 94.203962) + (xy 43.978781 94.2035) + (xy 43.887902 94.2035) + (xy 43.880092 94.205592) + (xy 43.878 94.213402) + (xy 43.878 94.732098) + (xy 43.624 94.732098) + (xy 43.624 94.213403) + (xy 43.621907 94.205593) + (xy 43.614098 94.203501) + (xy 43.523221 94.203501) + (xy 43.517345 94.203963) + (xy 43.434671 94.217057) + (xy 43.423552 94.220669) + (xy 43.323885 94.271452) + (xy 43.314419 94.27833) + (xy 43.23533 94.357419) + (xy 43.228452 94.366885) + (xy 43.177669 94.466551) + (xy 43.174056 94.477671) + (xy 43.160962 94.560346) + (xy 43.1605 94.566219) + (xy 43.1605 94.732098) + (xy 42.692 94.732098) + (xy 42.692 94.563226) + (xy 42.677499 94.471668) + (xy 42.672086 94.461045) + (xy 42.644699 94.407294) + (xy 42.621269 94.361311) + (xy 42.568026 94.308068) + (xy 42.551724 94.283672) + (xy 42.546 94.254894) + (xy 42.546 93.705106) + (xy 42.551724 93.676328) + (xy 42.568026 93.651932) + (xy 42.592551 93.627407) + (xy 42.621269 93.598689) + (xy 42.677499 93.488332) + (xy 42.692 93.396774) + (xy 42.692 92.785226) + (xy 42.686822 92.752532) + (xy 42.694092 92.706629) + (xy 42.726956 92.673765) + (xy 42.77286 92.666495) + (xy 42.81427 92.687595) + (xy 43.137974 93.011299) + (xy 43.154276 93.035695) + (xy 43.16 93.064473) + (xy 43.16 93.396774) + (xy 43.160461 93.39969) + (xy 43.160462 93.399692) + (xy 43.173574 93.482485) + (xy 43.173575 93.48249) + (xy 43.174501 93.488332) + (xy 43.177185 93.4936) + (xy 43.177187 93.493605) + (xy 43.225771 93.588955) + (xy 43.230731 93.598689) + (xy 43.318311 93.686269) + (xy 43.369739 93.712473) + (xy 43.416831 93.736468) + (xy 43.428668 93.742499) + (xy 43.434513 93.743424) + (xy 43.434514 93.743425) + (xy 43.443285 93.744814) + (xy 43.520226 93.757) + (xy 43.97882 93.757) + (xy 43.981774 93.757) + (xy 44.073332 93.742499) + (xy 44.183689 93.686269) + (xy 44.187875 93.682082) + (xy 44.192027 93.679066) + (xy 44.224465 93.665629) + (xy 44.259467 93.668383) + (xy 44.289404 93.686729) + (xy 45.003682 94.401007) + (xy 45.009301 94.407294) + (xy 45.032905 94.436892) + (xy 45.039752 94.44156) + (xy 45.080266 94.469183) + (xy 45.082559 94.47081) + (xy 45.124182 94.501529) + (xy 45.128716 94.504875) + (xy 45.134034 94.506735) + (xy 45.136135 94.507846) + (xy 45.136524 94.508081) + (xy 45.136957 94.50826) + (xy 45.139085 94.509285) + (xy 45.143741 94.512459) + (xy 45.198533 94.52936) + (xy 45.201184 94.530232) + (xy 45.250015 94.54732) + (xy 45.250018 94.54732) + (xy 45.255335 94.549181) + (xy 45.260964 94.549391) + (xy 45.263293 94.549832) + (xy 45.263737 94.549942) + (xy 45.264205 94.549986) + (xy 45.266538 94.550337) + (xy 45.271927 94.552) + (xy 45.329293 94.552) + (xy 45.332103 94.552052) + (xy 45.389386 94.554196) + (xy 45.394827 94.552738) + (xy 45.397181 94.552473) + (xy 45.405599 94.552) + (xy 45.531083 94.552) + (xy 45.562863 94.559045) + (xy 45.565651 94.560345) + (xy 45.632381 94.591461) + (xy 45.682048 94.598) + (xy 47.409495 94.598) + (xy 47.411952 94.598) + (xy 47.461619 94.591461) + (xy 47.570607 94.54064) + (xy 47.65564 94.455607) + (xy 47.706461 94.346619) + (xy 47.713 94.296952) + (xy 47.713 93.917048) + (xy 47.706461 93.867381) + (xy 47.703889 93.861866) + (xy 47.684302 93.81986) + (xy 47.65564 93.758393) + (xy 47.570607 93.67336) + (xy 47.554028 93.665629) + (xy 47.466832 93.624969) + (xy 47.466827 93.624967) + (xy 47.461619 93.622539) + (xy 47.455917 93.621788) + (xy 47.455916 93.621788) + (xy 47.414385 93.61632) + (xy 47.41438 93.616319) + (xy 47.411952 93.616) + (xy 45.682048 93.616) + (xy 45.67962 93.616319) + (xy 45.679614 93.61632) + (xy 45.638083 93.621788) + (xy 45.638081 93.621788) + (xy 45.632381 93.622539) + (xy 45.627173 93.624967) + (xy 45.627164 93.62497) + (xy 45.578813 93.647516) + (xy 45.533975 93.653418) + (xy 45.49386 93.632535) + (xy 44.888277 93.026952) + (xy 45.381 93.026952) + (xy 45.381319 93.02938) + (xy 45.38132 93.029385) + (xy 45.38594 93.064473) + (xy 45.387539 93.076619) + (xy 45.389967 93.081827) + (xy 45.389969 93.081832) + (xy 45.427877 93.163125) + (xy 45.43836 93.185607) + (xy 45.523393 93.27064) + (xy 45.583269 93.29856) + (xy 45.627167 93.31903) + (xy 45.627168 93.31903) + (xy 45.632381 93.321461) + (xy 45.682048 93.328) + (xy 47.409495 93.328) + (xy 47.411952 93.328) + (xy 47.461619 93.321461) + (xy 47.531136 93.289045) + (xy 47.562917 93.282) + (xy 48.357793 93.282) + (xy 48.366212 93.282473) + (xy 48.403827 93.286711) + (xy 48.460177 93.276048) + (xy 48.462933 93.27558) + (xy 48.519647 93.267033) + (xy 48.524731 93.264583) + (xy 48.526984 93.263889) + (xy 48.527436 93.263777) + (xy 48.527878 93.263594) + (xy 48.530087 93.26282) + (xy 48.535634 93.261772) + (xy 48.586348 93.234967) + (xy 48.588825 93.233718) + (xy 48.640509 93.208829) + (xy 48.644641 93.204993) + (xy 48.646594 93.203663) + (xy 48.646991 93.203423) + (xy 48.647355 93.203122) + (xy 48.649246 93.201726) + (xy 48.654235 93.19909) + (xy 48.694822 93.158501) + (xy 48.696766 93.156628) + (xy 48.738844 93.117587) + (xy 48.741664 93.1127) + (xy 48.743137 93.110854) + (xy 48.74875 93.104573) + (xy 49.062014 92.791309) + (xy 49.068295 92.785697) + (xy 49.089916 92.768456) + (xy 49.128382 92.752524) + (xy 49.169429 92.759499) + (xy 49.200474 92.787243) + (xy 49.212 92.827251) + (xy 49.212 94.839793) + (xy 49.211527 94.848212) + (xy 49.207919 94.880229) + (xy 49.207919 94.880233) + (xy 49.207289 94.885827) + (xy 49.208335 94.89136) + (xy 49.208336 94.891362) + (xy 49.217947 94.94216) + (xy 49.218418 94.944931) + (xy 49.224909 94.987998) + (xy 49.226967 95.001647) + (xy 49.229411 95.006722) + (xy 49.23011 95.008988) + (xy 49.230221 95.009435) + (xy 49.230394 95.009853) + (xy 49.231181 95.012102) + (xy 49.232228 95.017634) + (xy 49.241221 95.03465) + (xy 49.259022 95.068332) + (xy 49.260281 95.070825) + (xy 49.285171 95.122509) + (xy 49.289 95.126636) + (xy 49.29034 95.128601) + (xy 49.290575 95.128992) + (xy 49.290863 95.129339) + (xy 49.292278 95.131256) + (xy 49.29491 95.136235) + (xy 49.298893 95.140218) + (xy 49.298894 95.140219) + (xy 49.335458 95.176783) + (xy 49.337409 95.178808) + (xy 49.339021 95.180545) + (xy 49.376413 95.220844) + (xy 49.381291 95.22366) + (xy 49.383148 95.225141) + (xy 49.389435 95.23076) + (xy 49.829682 95.671007) + (xy 49.835301 95.677294) + (xy 49.858905 95.706892) + (xy 49.906291 95.7392) + (xy 49.908568 95.740817) + (xy 49.950176 95.771524) + (xy 49.950178 95.771525) + (xy 49.954716 95.774874) + (xy 49.960039 95.776736) + (xy 49.962129 95.777841) + (xy 49.962528 95.778081) + (xy 49.962949 95.778256) + (xy 49.965085 95.779284) + (xy 49.969741 95.782459) + (xy 50.024551 95.799366) + (xy 50.02722 95.800244) + (xy 50.081335 95.81918) + (xy 50.086973 95.81939) + (xy 50.089274 95.819826) + (xy 50.089737 95.819941) + (xy 50.090188 95.819983) + (xy 50.092536 95.820337) + (xy 50.097927 95.822) + (xy 50.155303 95.822) + (xy 50.158115 95.822053) + (xy 50.215386 95.824196) + (xy 50.220831 95.822736) + (xy 50.223173 95.822473) + (xy 50.231593 95.822) + (xy 50.481083 95.822) + (xy 50.512863 95.829045) + (xy 50.582381 95.861461) + (xy 50.632048 95.868) + (xy 52.359495 95.868) + (xy 52.361952 95.868) + (xy 52.411619 95.861461) + (xy 52.520607 95.81064) + (xy 52.60564 95.725607) + (xy 52.656461 95.616619) + (xy 52.663 95.566952) + (xy 52.663 95.187048) + (xy 52.656461 95.137381) + (xy 52.652732 95.129385) + (xy 52.624842 95.069573) + (xy 52.60564 95.028393) + (xy 52.520607 94.94336) + (xy 52.499003 94.933286) + (xy 52.416832 94.894969) + (xy 52.416827 94.894967) + (xy 52.411619 94.892539) + (xy 52.405917 94.891788) + (xy 52.405916 94.891788) + (xy 52.364385 94.88632) + (xy 52.36438 94.886319) + (xy 52.361952 94.886) + (xy 50.632048 94.886) + (xy 50.62962 94.886319) + (xy 50.629614 94.88632) + (xy 50.588083 94.891788) + (xy 50.588081 94.891788) + (xy 50.582381 94.892539) + (xy 50.577168 94.894969) + (xy 50.577167 94.89497) + (xy 50.512863 94.924955) + (xy 50.481083 94.932) + (xy 50.380473 94.932) + (xy 50.351695 94.926276) + (xy 50.327299 94.909974) + (xy 50.124026 94.706701) + (xy 50.107724 94.682305) + (xy 50.102 94.653527) + (xy 50.102 94.296952) + (xy 50.331 94.296952) + (xy 50.331319 94.29938) + (xy 50.33132 94.299385) + (xy 50.336788 94.340916) + (xy 50.337539 94.346619) + (xy 50.339967 94.351827) + (xy 50.339969 94.351832) + (xy 50.380551 94.43886) + (xy 50.38836 94.455607) + (xy 50.473393 94.54064) + (xy 50.544206 94.57366) + (xy 50.577167 94.58903) + (xy 50.577168 94.58903) + (xy 50.582381 94.591461) + (xy 50.632048 94.598) + (xy 52.359495 94.598) + (xy 52.361952 94.598) + (xy 52.393866 94.593798) + (xy 52.427854 94.597146) + (xy 52.456856 94.615181) + (xy 53.131682 95.290007) + (xy 53.137301 95.296294) + (xy 53.140936 95.300852) + (xy 53.160905 95.325892) + (xy 53.172306 95.333665) + (xy 53.208266 95.358183) + (xy 53.210559 95.35981) + (xy 53.248058 95.387485) + (xy 53.256716 95.393875) + (xy 53.262034 95.395735) + (xy 53.264135 95.396846) + (xy 53.264524 95.397081) + (xy 53.264957 95.39726) + (xy 53.267085 95.398285) + (xy 53.271741 95.401459) + (xy 53.326533 95.41836) + (xy 53.329184 95.419232) + (xy 53.378015 95.43632) + (xy 53.378018 95.43632) + (xy 53.383335 95.438181) + (xy 53.388964 95.438391) + (xy 53.391293 95.438832) + (xy 53.391737 95.438942) + (xy 53.392205 95.438986) + (xy 53.394538 95.439337) + (xy 53.399927 95.441) + (xy 53.457293 95.441) + (xy 53.460103 95.441052) + (xy 53.517386 95.443196) + (xy 53.522827 95.441738) + (xy 53.525181 95.441473) + (xy 53.533599 95.441) + (xy 53.694706 95.441) + (xy 53.733997 95.452081) + (xy 53.761709 95.482059) + (xy 53.77004 95.498409) + (xy 53.770042 95.498412) + (xy 53.772731 95.503689) + (xy 53.860311 95.591269) + (xy 53.910063 95.616619) + (xy 53.933484 95.628553) + (xy 53.970668 95.647499) + (xy 53.976513 95.648424) + (xy 53.976514 95.648425) + (xy 53.985935 95.649917) + (xy 54.062226 95.662) + (xy 54.52082 95.662) + (xy 54.523774 95.662) + (xy 54.615332 95.647499) + (xy 54.725689 95.591269) + (xy 54.813269 95.503689) + (xy 54.869499 95.393332) + (xy 54.884 95.301774) + (xy 54.884 94.690226) + (xy 54.87062 94.605745) + (xy 54.870425 94.604514) + (xy 54.870424 94.604513) + (xy 54.869499 94.598668) + (xy 54.852945 94.56618) + (xy 54.834491 94.529961) + (xy 54.813269 94.488311) + (xy 54.725689 94.400731) + (xy 54.719611 94.397634) + (xy 54.620605 94.347187) + (xy 54.6206 94.347185) + (xy 54.615332 94.344501) + (xy 54.60949 94.343575) + (xy 54.609485 94.343574) + (xy 54.526692 94.330462) + (xy 54.52669 94.330461) + (xy 54.523774 94.33) + (xy 54.062226 94.33) + (xy 54.05931 94.330461) + (xy 54.059307 94.330462) + (xy 53.976514 94.343574) + (xy 53.976507 94.343576) + (xy 53.970668 94.344501) + (xy 53.9654 94.347184) + (xy 53.965394 94.347187) + (xy 53.865587 94.398042) + (xy 53.865583 94.398044) + (xy 53.860311 94.400731) + (xy 53.856124 94.404917) + (xy 53.856121 94.40492) + (xy 53.77692 94.484121) + (xy 53.776917 94.484124) + (xy 53.772731 94.488311) + (xy 53.770043 94.493584) + (xy 53.77004 94.49359) + (xy 53.761709 94.509941) + (xy 53.733997 94.539919) + (xy 53.694706 94.551) + (xy 53.682473 94.551) + (xy 53.653695 94.545276) + (xy 53.629299 94.528974) + (xy 52.913321 93.812996) + (xy 52.907701 93.806708) + (xy 52.887611 93.781516) + (xy 52.887608 93.781513) + (xy 52.884095 93.777108) + (xy 52.879438 93.773932) + (xy 52.879435 93.77393) + (xy 52.836731 93.744814) + (xy 52.83444 93.743188) + (xy 52.792822 93.712473) + (xy 52.792816 93.71247) + (xy 52.788284 93.709125) + (xy 52.782965 93.707263) + (xy 52.780862 93.706152) + (xy 52.780476 93.705919) + (xy 52.780052 93.705744) + (xy 52.777913 93.704714) + (xy 52.773259 93.701541) + (xy 52.767876 93.69988) + (xy 52.767875 93.69988) + (xy 52.718471 93.68464) + (xy 52.715802 93.683761) + (xy 52.666988 93.666681) + (xy 52.666984 93.66668) + (xy 52.661665 93.664819) + (xy 52.656031 93.664607) + (xy 52.653702 93.664167) + (xy 52.653256 93.664056) + (xy 52.652817 93.664015) + (xy 52.650451 93.663658) + (xy 52.645073 93.662) + (xy 52.639441 93.662) + (xy 52.587707 93.662) + (xy 52.584896 93.661947) + (xy 52.533247 93.660014) + (xy 52.533242 93.660014) + (xy 52.527614 93.659804) + (xy 52.522172 93.661261) + (xy 52.521036 93.66139) + (xy 52.480841 93.654817) + (xy 52.427034 93.629727) + (xy 52.411619 93.622539) + (xy 52.405917 93.621788) + (xy 52.405916 93.621788) + (xy 52.364385 93.61632) + (xy 52.36438 93.616319) + (xy 52.361952 93.616) + (xy 50.632048 93.616) + (xy 50.62962 93.616319) + (xy 50.629614 93.61632) + (xy 50.588083 93.621788) + (xy 50.588081 93.621788) + (xy 50.582381 93.622539) + (xy 50.577174 93.624966) + (xy 50.577167 93.624969) + (xy 50.479354 93.67058) + (xy 50.479352 93.670581) + (xy 50.473393 93.67336) + (xy 50.468743 93.678009) + (xy 50.46874 93.678012) + (xy 50.393012 93.75374) + (xy 50.393009 93.753743) + (xy 50.38836 93.758393) + (xy 50.385581 93.764352) + (xy 50.38558 93.764354) + (xy 50.339969 93.862167) + (xy 50.339966 93.862174) + (xy 50.337539 93.867381) + (xy 50.336788 93.873081) + (xy 50.336788 93.873083) + (xy 50.331327 93.914566) + (xy 50.331 93.917048) + (xy 50.331 94.296952) + (xy 50.102 94.296952) + (xy 50.102 93.026952) + (xy 50.331 93.026952) + (xy 50.331319 93.02938) + (xy 50.33132 93.029385) + (xy 50.33594 93.064473) + (xy 50.337539 93.076619) + (xy 50.339967 93.081827) + (xy 50.339969 93.081832) + (xy 50.377877 93.163125) + (xy 50.38836 93.185607) + (xy 50.473393 93.27064) + (xy 50.533269 93.29856) + (xy 50.577167 93.31903) + (xy 50.577168 93.31903) + (xy 50.582381 93.321461) + (xy 50.632048 93.328) + (xy 52.359495 93.328) + (xy 52.361952 93.328) + (xy 52.411619 93.321461) + (xy 52.429445 93.313149) + (xy 52.460731 93.29856) + (xy 52.465183 93.296483) + (xy 52.510022 93.29058) + (xy 52.550138 93.311464) + (xy 52.623685 93.385011) + (xy 52.629304 93.391298) + (xy 52.652905 93.420892) + (xy 52.70029 93.453198) + (xy 52.702543 93.454797) + (xy 52.748716 93.488875) + (xy 52.754035 93.490736) + (xy 52.756137 93.491847) + (xy 52.756525 93.492081) + (xy 52.756957 93.49226) + (xy 52.759085 93.493285) + (xy 52.763741 93.496459) + (xy 52.818533 93.51336) + (xy 52.821184 93.514232) + (xy 52.870015 93.53132) + (xy 52.870018 93.53132) + (xy 52.875335 93.533181) + (xy 52.880964 93.533391) + (xy 52.883293 93.533832) + (xy 52.883737 93.533942) + (xy 52.884205 93.533986) + (xy 52.886538 93.534337) + (xy 52.891927 93.536) + (xy 52.949293 93.536) + (xy 52.952052 93.536051) + (xy 52.977847 93.537016) + (xy 53.01212 93.546744) + (xy 53.038072 93.571163) + (xy 53.049869 93.604788) + (xy 53.05 93.606116) + (xy 53.05 93.609812) + (xy 53.05072 93.613435) + (xy 53.050721 93.613438) + (xy 53.054188 93.630869) + (xy 53.061082 93.665525) + (xy 53.065194 93.67168) + (xy 53.065196 93.671683) + (xy 53.089256 93.70769) + (xy 53.103297 93.728703) + (xy 53.113607 93.735592) + (xy 53.160316 93.766803) + (xy 53.160317 93.766803) + (xy 53.166475 93.770918) + (xy 53.222188 93.782) + (xy 54.256116 93.782) + (xy 54.259812 93.782) + (xy 54.315525 93.770918) + (xy 54.378703 93.728703) + (xy 54.420918 93.665525) + (xy 54.432 93.609812) + (xy 54.432 92.572188) + (xy 54.420918 92.516475) + (xy 54.416801 92.510314) + (xy 54.382817 92.459454) + (xy 54.378703 92.453297) + (xy 54.372545 92.449182) + (xy 54.321683 92.415196) + (xy 54.32168 92.415194) + (xy 54.315525 92.411082) + (xy 54.308261 92.409637) + (xy 54.274763 92.402974) + (xy 54.259812 92.4) + (xy 53.222188 92.4) + (xy 53.218563 92.40072) + (xy 53.218563 92.400721) + (xy 53.173738 92.409637) + (xy 53.173736 92.409637) + (xy 53.166475 92.411082) + (xy 53.160321 92.415193) + (xy 53.160316 92.415196) + (xy 53.109454 92.449182) + (xy 53.109451 92.449184) + (xy 53.103297 92.453297) + (xy 53.099184 92.459451) + (xy 53.099181 92.459455) + (xy 53.091906 92.470343) + (xy 53.062428 92.496111) + (xy 53.023993 92.503568) + (xy 52.987018 92.490692) + (xy 52.96373 92.474813) + (xy 52.96144 92.473188) + (xy 52.919822 92.442473) + (xy 52.919816 92.44247) + (xy 52.915284 92.439125) + (xy 52.909965 92.437263) + (xy 52.907862 92.436152) + (xy 52.907476 92.435919) + (xy 52.907052 92.435744) + (xy 52.904913 92.434714) + (xy 52.900259 92.431541) + (xy 52.894876 92.42988) + (xy 52.894875 92.42988) + (xy 52.845471 92.41464) + (xy 52.842802 92.413761) + (xy 52.793988 92.396681) + (xy 52.793984 92.39668) + (xy 52.788665 92.394819) + (xy 52.783031 92.394607) + (xy 52.780702 92.394167) + (xy 52.780256 92.394056) + (xy 52.779817 92.394015) + (xy 52.777451 92.393658) + (xy 52.772073 92.392) + (xy 52.766441 92.392) + (xy 52.714707 92.392) + (xy 52.711896 92.391947) + (xy 52.660244 92.390014) + (xy 52.660239 92.390014) + (xy 52.654614 92.389804) + (xy 52.649173 92.391261) + (xy 52.646819 92.391527) + (xy 52.638401 92.392) + (xy 52.512917 92.392) + (xy 52.481137 92.384955) + (xy 52.429361 92.360812) + (xy 52.411619 92.352539) + (xy 52.405917 92.351788) + (xy 52.405916 92.351788) + (xy 52.364385 92.34632) + (xy 52.36438 92.346319) + (xy 52.361952 92.346) + (xy 50.632048 92.346) + (xy 50.62962 92.346319) + (xy 50.629614 92.34632) + (xy 50.588083 92.351788) + (xy 50.588081 92.351788) + (xy 50.582381 92.352539) + (xy 50.577174 92.354966) + (xy 50.577167 92.354969) + (xy 50.479354 92.40058) + (xy 50.479352 92.400581) + (xy 50.473393 92.40336) + (xy 50.468743 92.408009) + (xy 50.46874 92.408012) + (xy 50.393012 92.48374) + (xy 50.393009 92.483743) + (xy 50.38836 92.488393) + (xy 50.385581 92.494352) + (xy 50.38558 92.494354) + (xy 50.339969 92.592167) + (xy 50.339966 92.592174) + (xy 50.337539 92.597381) + (xy 50.336788 92.603081) + (xy 50.336788 92.603083) + (xy 50.331469 92.643487) + (xy 50.331 92.647048) + (xy 50.331 93.026952) + (xy 50.102 93.026952) + (xy 50.102 92.480473) + (xy 50.107724 92.451695) + (xy 50.124026 92.427299) + (xy 50.689299 91.862026) + (xy 50.713695 91.845724) + (xy 50.742473 91.84) + (xy 50.97582 91.84) + (xy 50.978774 91.84) + (xy 51.070332 91.825499) + (xy 51.180689 91.769269) + (xy 51.233932 91.716026) + (xy 51.258328 91.699724) + (xy 51.287106 91.694) + (xy 51.72454 91.694) + (xy 51.753318 91.699724) + (xy 51.777714 91.716026) + (xy 51.826434 91.764746) + (xy 51.868707 91.786285) + (xy 51.934143 91.819627) + (xy 51.943847 91.824571) + (xy 51.949692 91.825496) + (xy 51.949693 91.825497) + (xy 51.949706 91.825499) + (xy 52.041263 91.84) + (xy 52.606736 91.839999) + (xy 52.704153 91.824571) + (xy 52.821566 91.764746) + (xy 52.870286 91.716026) + (xy 52.894682 91.699724) + (xy 52.92346 91.694) + (xy 53.360894 91.694) + (xy 53.389672 91.699724) + (xy 53.414068 91.716026) + (xy 53.467311 91.769269) + (xy 53.500707 91.786285) + (xy 53.566143 91.819627) + (xy 53.577668 91.825499) + (xy 53.583513 91.826424) + (xy 53.583514 91.826425) + (xy 53.592733 91.827885) + (xy 53.669226 91.84) + (xy 54.27782 91.84) + (xy 54.280774 91.84) + (xy 54.372332 91.825499) + (xy 54.482689 91.769269) + (xy 54.570269 91.681689) + (xy 54.626499 91.571332) + (xy 54.641 91.479774) + (xy 54.96 91.479774) + (xy 54.960461 91.48269) + (xy 54.960462 91.482692) + (xy 54.973574 91.565485) + (xy 54.973575 91.56549) + (xy 54.974501 91.571332) + (xy 54.977185 91.5766) + (xy 54.977187 91.576605) + (xy 55.02386 91.668204) + (xy 55.030731 91.681689) + (xy 55.118311 91.769269) + (xy 55.123585 91.771956) + (xy 55.123589 91.771959) + (xy 55.1363 91.778435) + (xy 55.165531 91.804951) + (xy 55.175836 91.837912) + (xy 55.176289 91.837827) + (xy 55.17676 91.84032) + (xy 55.177334 91.843354) + (xy 55.177335 91.843359) + (xy 55.186947 91.89416) + (xy 55.187418 91.896931) + (xy 55.1942 91.941928) + (xy 55.195967 91.953647) + (xy 55.198411 91.958722) + (xy 55.19911 91.960988) + (xy 55.199221 91.961435) + (xy 55.199394 91.961853) + (xy 55.200181 91.964102) + (xy 55.201228 91.969634) + (xy 55.206178 91.979) + (xy 55.228022 92.020332) + (xy 55.229281 92.022825) + (xy 55.254171 92.074509) + (xy 55.258 92.078636) + (xy 55.25934 92.080601) + (xy 55.259575 92.080992) + (xy 55.259863 92.081339) + (xy 55.261278 92.083256) + (xy 55.26391 92.088235) + (xy 55.267893 92.092218) + (xy 55.267894 92.092219) + (xy 55.304458 92.128783) + (xy 55.306409 92.130808) + (xy 55.341579 92.168712) + (xy 55.345413 92.172844) + (xy 55.350291 92.17566) + (xy 55.352148 92.177141) + (xy 55.358435 92.18276) + (xy 55.569941 92.394266) + (xy 55.591605 92.440068) + (xy 55.579294 92.489217) + (xy 55.565197 92.510314) + (xy 55.565194 92.51032) + (xy 55.561082 92.516475) + (xy 55.559637 92.523736) + (xy 55.559637 92.523738) + (xy 55.550945 92.567437) + (xy 55.55 92.572188) + (xy 55.55 93.609812) + (xy 55.561082 93.665525) + (xy 55.565194 93.67168) + (xy 55.565196 93.671683) + (xy 55.589256 93.70769) + (xy 55.603297 93.728703) + (xy 55.613607 93.735592) + (xy 55.616009 93.737197) + (xy 55.644732 93.773561) + (xy 55.646684 93.81986) + (xy 55.621122 93.858512) + (xy 55.617518 93.861385) + (xy 55.617507 93.861396) + (xy 55.613108 93.864905) + (xy 55.609935 93.869558) + (xy 55.609931 93.869563) + (xy 55.58081 93.912275) + (xy 55.579206 93.914536) + (xy 55.545125 93.960716) + (xy 55.543264 93.96603) + (xy 55.542144 93.968151) + (xy 55.541919 93.968524) + (xy 55.541745 93.968945) + (xy 55.540714 93.971085) + (xy 55.537541 93.975741) + (xy 55.53588 93.981123) + (xy 55.53588 93.981125) + (xy 55.520638 94.030535) + (xy 55.519759 94.033204) + (xy 55.502679 94.082015) + (xy 55.502677 94.082024) + (xy 55.500819 94.087335) + (xy 55.500608 94.09296) + (xy 55.500164 94.095308) + (xy 55.500057 94.095739) + (xy 55.500015 94.096187) + (xy 55.499659 94.098543) + (xy 55.498 94.103927) + (xy 55.498 94.109561) + (xy 55.498 94.161293) + (xy 55.497947 94.164104) + (xy 55.496014 94.215755) + (xy 55.496014 94.215759) + (xy 55.495804 94.221386) + (xy 55.497261 94.226826) + (xy 55.497527 94.229181) + (xy 55.498 94.237599) + (xy 55.498 94.381894) + (xy 55.492276 94.410672) + (xy 55.475974 94.435068) + (xy 55.42692 94.484121) + (xy 55.426917 94.484124) + (xy 55.422731 94.488311) + (xy 55.420044 94.493583) + (xy 55.420042 94.493587) + (xy 55.369187 94.593394) + (xy 55.369184 94.5934) + (xy 55.366501 94.598668) + (xy 55.365576 94.604507) + (xy 55.365574 94.604514) + (xy 55.352879 94.684675) + (xy 55.352 94.690226) + (xy 55.352 95.301774) + (xy 55.352461 95.30469) + (xy 55.352462 95.304692) + (xy 55.365574 95.387485) + (xy 55.365575 95.38749) + (xy 55.366501 95.393332) + (xy 55.369185 95.3986) + (xy 55.369187 95.398605) + (xy 55.420042 95.498412) + (xy 55.422731 95.503689) + (xy 55.510311 95.591269) + (xy 55.560063 95.616619) + (xy 55.583484 95.628553) + (xy 55.620668 95.647499) + (xy 55.626513 95.648424) + (xy 55.626514 95.648425) + (xy 55.635935 95.649917) + (xy 55.712226 95.662) + (xy 56.17082 95.662) + (xy 56.173774 95.662) + (xy 56.265332 95.647499) + (xy 56.375689 95.591269) + (xy 56.463269 95.503689) + (xy 56.519499 95.393332) + (xy 56.534 95.301774) + (xy 56.534 94.690226) + (xy 56.524263 94.628746) + (xy 57.2465 94.628746) + (xy 57.246962 94.634618) + (xy 57.260984 94.723151) + (xy 57.264597 94.734271) + (xy 57.318976 94.840994) + (xy 57.325851 94.850456) + (xy 57.410543 94.935148) + (xy 57.420005 94.942023) + (xy 57.526728 94.996402) + (xy 57.537848 95.000015) + (xy 57.626381 95.014037) + (xy 57.632254 95.0145) + (xy 57.775098 95.0145) + (xy 57.782907 95.012407) + (xy 57.785 95.004598) + (xy 57.785 94.510902) + (xy 57.782907 94.503092) + (xy 57.775098 94.501) + (xy 57.256402 94.501) + (xy 57.248592 94.503092) + (xy 57.2465 94.510902) + (xy 57.2465 94.628746) + (xy 56.524263 94.628746) + (xy 56.52062 94.605745) + (xy 56.520425 94.604514) + (xy 56.520424 94.604513) + (xy 56.519499 94.598668) + (xy 56.502945 94.56618) + (xy 56.484491 94.529961) + (xy 56.463269 94.488311) + (xy 56.412314 94.437356) + (xy 56.392851 94.403646) + (xy 56.392851 94.36472) + (xy 56.412313 94.33101) + (xy 56.506225 94.237098) + (xy 57.2465 94.237098) + (xy 57.248592 94.244907) + (xy 57.256402 94.247) + (xy 57.775098 94.247) + (xy 57.782907 94.244907) + (xy 57.785 94.237098) + (xy 57.785 93.743402) + (xy 57.782907 93.735592) + (xy 57.775098 93.7335) + (xy 57.632254 93.7335) + (xy 57.626381 93.733962) + (xy 57.537848 93.747984) + (xy 57.526728 93.751597) + (xy 57.420005 93.805976) + (xy 57.410543 93.812851) + (xy 57.325851 93.897543) + (xy 57.318976 93.907005) + (xy 57.264597 94.013728) + (xy 57.260984 94.024848) + (xy 57.246962 94.113381) + (xy 57.2465 94.119254) + (xy 57.2465 94.237098) + (xy 56.506225 94.237098) + (xy 56.535011 94.208312) + (xy 56.541296 94.202695) + (xy 56.570892 94.179095) + (xy 56.603214 94.131684) + (xy 56.604794 94.129458) + (xy 56.638875 94.083283) + (xy 56.640739 94.077953) + (xy 56.641834 94.075882) + (xy 56.642077 94.075478) + (xy 56.64208 94.075472) + (xy 56.64226 94.075039) + (xy 56.64328 94.072919) + (xy 56.646459 94.068259) + (xy 56.66338 94.013399) + (xy 56.664224 94.010835) + (xy 56.683181 93.956665) + (xy 56.683391 93.951027) + (xy 56.683831 93.948705) + (xy 56.683942 93.948257) + (xy 56.683987 93.947779) + (xy 56.684335 93.945466) + (xy 56.686 93.940073) + (xy 56.686 93.882724) + (xy 56.686053 93.879914) + (xy 56.686252 93.874589) + (xy 56.687016 93.854155) + (xy 56.696747 93.819877) + (xy 56.721168 93.793925) + (xy 56.754795 93.78213) + (xy 56.756115 93.782) + (xy 56.759812 93.782) + (xy 56.815525 93.770918) + (xy 56.878703 93.728703) + (xy 56.920918 93.665525) + (xy 56.932 93.609812) + (xy 56.932 92.572188) + (xy 56.920918 92.516475) + (xy 56.916801 92.510314) + (xy 56.882817 92.459454) + (xy 56.878703 92.453297) + (xy 56.872545 92.449182) + (xy 56.821683 92.415196) + (xy 56.82168 92.415194) + (xy 56.815525 92.411082) + (xy 56.808261 92.409637) + (xy 56.774763 92.402974) + (xy 56.759812 92.4) + (xy 56.756116 92.4) + (xy 56.750314 92.4) + (xy 56.716006 92.391718) + (xy 56.689256 92.368697) + (xy 56.675954 92.336006) + (xy 56.675821 92.335123) + (xy 56.671033 92.303353) + (xy 56.668585 92.29827) + (xy 56.66789 92.296017) + (xy 56.667778 92.295566) + (xy 56.667776 92.295561) + (xy 56.667598 92.29513) + (xy 56.666819 92.292905) + (xy 56.665772 92.287366) + (xy 56.663138 92.282382) + (xy 56.663137 92.282379) + (xy 56.638972 92.236656) + (xy 56.637704 92.234145) + (xy 56.628913 92.21589) + (xy 56.612829 92.182491) + (xy 56.608995 92.178359) + (xy 56.607661 92.176402) + (xy 56.607426 92.176012) + (xy 56.607132 92.175657) + (xy 56.605725 92.17375) + (xy 56.60309 92.168765) + (xy 56.56254 92.128215) + (xy 56.560589 92.12619) + (xy 56.52542 92.088287) + (xy 56.521587 92.084156) + (xy 56.516707 92.081338) + (xy 56.514852 92.079859) + (xy 56.508565 92.07424) + (xy 56.221729 91.787404) + (xy 56.203383 91.757467) + (xy 56.200629 91.722465) + (xy 56.214066 91.690027) + (xy 56.217082 91.685875) + (xy 56.221269 91.681689) + (xy 56.277499 91.571332) + (xy 56.292 91.479774) + (xy 56.292 91.434473) + (xy 56.297724 91.405695) + (xy 56.314026 91.381299) + (xy 56.599162 91.096163) + (xy 57.492028 90.203295) + (xy 57.521962 90.184951) + (xy 57.55696 90.182197) + (xy 57.606226 90.19) + (xy 58.21482 90.19) + (xy 58.217774 90.19) + (xy 58.309332 90.175499) + (xy 58.419689 90.119269) + (xy 58.481626 90.057332) + (xy 58.520129 90.036751) + (xy 58.563578 90.04103) + (xy 58.597327 90.068727) + (xy 58.61 90.110506) + (xy 58.61 90.737494) + (xy 58.597327 90.779273) + (xy 58.563578 90.80697) + (xy 58.520129 90.811249) + (xy 58.481626 90.790668) + (xy 58.423878 90.73292) + (xy 58.419689 90.728731) + (xy 58.414412 90.726042) + (xy 58.314605 90.675187) + (xy 58.3146 90.675185) + (xy 58.309332 90.672501) + (xy 58.30349 90.671575) + (xy 58.303485 90.671574) + (xy 58.220692 90.658462) + (xy 58.22069 90.658461) + (xy 58.217774 90.658) + (xy 57.606226 90.658) + (xy 57.60331 90.658461) + (xy 57.603307 90.658462) + (xy 57.520514 90.671574) + (xy 57.520507 90.671576) + (xy 57.514668 90.672501) + (xy 57.5094 90.675184) + (xy 57.509394 90.675187) + (xy 57.409587 90.726042) + (xy 57.409583 90.726044) + (xy 57.404311 90.728731) + (xy 57.400124 90.732917) + (xy 57.400121 90.73292) + (xy 57.32092 90.812121) + (xy 57.320917 90.812124) + (xy 57.316731 90.816311) + (xy 57.314044 90.821583) + (xy 57.314042 90.821587) + (xy 57.263187 90.921394) + (xy 57.263184 90.9214) + (xy 57.260501 90.926668) + (xy 57.259576 90.932507) + (xy 57.259574 90.932514) + (xy 57.248745 91.000893) + (xy 57.246 91.018226) + (xy 57.246 91.479774) + (xy 57.246461 91.48269) + (xy 57.246462 91.482692) + (xy 57.259574 91.565485) + (xy 57.259575 91.56549) + (xy 57.260501 91.571332) + (xy 57.263185 91.5766) + (xy 57.263187 91.576605) + (xy 57.30986 91.668204) + (xy 57.316731 91.681689) + (xy 57.404311 91.769269) + (xy 57.409589 91.771958) + (xy 57.40959 91.771959) + (xy 57.425941 91.780291) + (xy 57.455919 91.808003) + (xy 57.467 91.847294) + (xy 57.467 92.185387) + (xy 57.455919 92.224678) + (xy 57.425942 92.25239) + (xy 57.419711 92.255564) + (xy 57.419705 92.255568) + (xy 57.414434 92.258254) + (xy 57.410247 92.26244) + (xy 57.410244 92.262443) + (xy 57.325443 92.347244) + (xy 57.32544 92.347247) + (xy 57.321254 92.351434) + (xy 57.318567 92.356706) + (xy 57.318565 92.35671) + (xy 57.264115 92.463573) + (xy 57.264112 92.463579) + (xy 57.261429 92.468847) + (xy 57.260504 92.474686) + (xy 57.260502 92.474693) + (xy 57.247639 92.555912) + (xy 57.246 92.566263) + (xy 57.246 92.569215) + (xy 57.246 92.569216) + (xy 57.246 93.078781) + (xy 57.246 93.078793) + (xy 57.246001 93.081736) + (xy 57.246462 93.08465) + (xy 57.246463 93.084656) + (xy 57.258892 93.163133) + (xy 57.261429 93.179153) + (xy 57.264114 93.184423) + (xy 57.264115 93.184425) + (xy 57.316232 93.286711) + (xy 57.321254 93.296566) + (xy 57.414434 93.389746) + (xy 57.457867 93.411876) + (xy 57.521421 93.444259) + (xy 57.531847 93.449571) + (xy 57.537692 93.450496) + (xy 57.537693 93.450497) + (xy 57.548571 93.452219) + (xy 57.629263 93.465) + (xy 58.194736 93.464999) + (xy 58.292153 93.449571) + (xy 58.409566 93.389746) + (xy 58.481626 93.317686) + (xy 58.520129 93.297105) + (xy 58.563578 93.301384) + (xy 58.597327 93.329081) + (xy 58.61 93.37086) + (xy 58.61 93.827847) + (xy 58.597327 93.869626) + (xy 58.563578 93.897323) + (xy 58.520129 93.901602) + (xy 58.481626 93.881021) + (xy 58.413456 93.812851) + (xy 58.403994 93.805976) + (xy 58.297271 93.751597) + (xy 58.286151 93.747984) + (xy 58.197618 93.733962) + (xy 58.191746 93.7335) + (xy 58.048902 93.7335) + (xy 58.041092 93.735592) + (xy 58.039 93.743402) + (xy 58.039 95.004598) + (xy 58.041092 95.012407) + (xy 58.048902 95.0145) + (xy 58.191746 95.0145) + (xy 58.197618 95.014037) + (xy 58.286151 95.000015) + (xy 58.297271 94.996402) + (xy 58.403994 94.942023) + (xy 58.413456 94.935148) + (xy 58.481626 94.866979) + (xy 58.520129 94.846398) + (xy 58.563578 94.850677) + (xy 58.597327 94.878374) + (xy 58.61 94.920153) + (xy 58.61 98.373847) + (xy 58.597327 98.415626) + (xy 58.563578 98.443323) + (xy 58.520129 98.447602) + (xy 58.481626 98.427021) + (xy 58.413456 98.358851) + (xy 58.403994 98.351976) + (xy 58.297271 98.297597) + (xy 58.286151 98.293984) + (xy 58.197618 98.279962) + (xy 58.191746 98.2795) + (xy 58.048902 98.2795) + (xy 58.041092 98.281592) + (xy 58.039 98.289402) + (xy 58.039 99.550598) + (xy 58.041092 99.558407) + (xy 58.048902 99.5605) + (xy 58.191746 99.5605) + (xy 58.197618 99.560037) + (xy 58.286151 99.546015) + (xy 58.297271 99.542402) + (xy 58.403994 99.488023) + (xy 58.413456 99.481148) + (xy 58.481626 99.412979) + (xy 58.520129 99.392398) + (xy 58.563578 99.396677) + (xy 58.597327 99.424374) + (xy 58.61 99.466153) + (xy 58.61 99.92314) + (xy 58.597327 99.964919) + (xy 58.563578 99.992616) + (xy 58.520129 99.996895) + (xy 58.481626 99.976314) + (xy 58.413755 99.908443) + (xy 58.413754 99.908442) + (xy 58.409566 99.904254) + (xy 58.40297 99.900893) + (xy 58.297426 99.847115) + (xy 58.297422 99.847113) + (xy 58.292153 99.844429) + (xy 58.286311 99.843503) + (xy 58.286306 99.843502) + (xy 58.197655 99.829462) + (xy 58.197652 99.829461) + (xy 58.194737 99.829) + (xy 58.191783 99.829) + (xy 57.632218 99.829) + (xy 57.632205 99.829) + (xy 57.629264 99.829001) + (xy 57.62635 99.829462) + (xy 57.626343 99.829463) + (xy 57.537692 99.843503) + (xy 57.53769 99.843503) + (xy 57.531847 99.844429) + (xy 57.526577 99.847113) + (xy 57.526574 99.847115) + (xy 57.41971 99.901565) + (xy 57.419706 99.901567) + (xy 57.414434 99.904254) + (xy 57.410247 99.90844) + (xy 57.410244 99.908443) + (xy 57.325443 99.993244) + (xy 57.32544 99.993247) + (xy 57.321254 99.997434) + (xy 57.318567 100.002706) + (xy 57.318565 100.00271) + (xy 57.264115 100.109573) + (xy 57.264112 100.109579) + (xy 57.261429 100.114847) + (xy 57.260504 100.120686) + (xy 57.260502 100.120693) + (xy 57.248416 100.197006) + (xy 57.246 100.212263) + (xy 57.246 100.215215) + (xy 57.246 100.215216) + (xy 57.246 100.724781) + (xy 57.246 100.724793) + (xy 57.246001 100.727736) + (xy 57.246462 100.73065) + (xy 57.246463 100.730656) + (xy 57.25894 100.809436) + (xy 57.261429 100.825153) + (xy 57.264114 100.830423) + (xy 57.264115 100.830425) + (xy 57.316474 100.933186) + (xy 57.321254 100.942566) + (xy 57.414434 101.035746) + (xy 57.41971 101.038434) + (xy 57.419711 101.038435) + (xy 57.425942 101.04161) + (xy 57.455919 101.069322) + (xy 57.467 101.108613) + (xy 57.467 101.446706) + (xy 57.455919 101.485997) + (xy 57.425941 101.513709) + (xy 57.40959 101.52204) + (xy 57.409584 101.522043) + (xy 57.404311 101.524731) + (xy 57.400124 101.528917) + (xy 57.400121 101.52892) + (xy 57.32092 101.608121) + (xy 57.320917 101.608124) + (xy 57.316731 101.612311) + (xy 57.314044 101.617583) + (xy 57.314042 101.617587) + (xy 57.263187 101.717394) + (xy 57.263184 101.7174) + (xy 57.260501 101.722668) + (xy 57.259576 101.728507) + (xy 57.259574 101.728514) + (xy 57.246462 101.811307) + (xy 57.246 101.814226) + (xy 57.246 102.275774) + (xy 57.246461 102.27869) + (xy 57.246462 102.278692) + (xy 57.259574 102.361485) + (xy 57.259575 102.36149) + (xy 57.260501 102.367332) + (xy 57.263185 102.3726) + (xy 57.263187 102.372605) + (xy 57.314042 102.472412) + (xy 57.316731 102.477689) + (xy 57.404311 102.565269) + (xy 57.460814 102.594059) + (xy 57.503875 102.616) + (xy 57.514668 102.621499) + (xy 57.520513 102.622424) + (xy 57.520514 102.622425) + (xy 57.53173 102.624201) + (xy 57.606226 102.636) + (xy 58.21482 102.636) + (xy 58.217774 102.636) + (xy 58.309332 102.621499) + (xy 58.419689 102.565269) + (xy 58.507269 102.477689) + (xy 58.563499 102.367332) + (xy 58.578 102.275774) + (xy 58.578 101.814226) + (xy 58.56488 101.731385) + (xy 58.564425 101.728514) + (xy 58.564424 101.728513) + (xy 58.563499 101.722668) + (xy 58.560363 101.716514) + (xy 58.527864 101.652731) + (xy 58.507269 101.612311) + (xy 58.419689 101.524731) + (xy 58.414412 101.522042) + (xy 58.414409 101.52204) + (xy 58.398059 101.513709) + (xy 58.368081 101.485997) + (xy 58.357 101.446706) + (xy 58.357 101.108613) + (xy 58.368081 101.069322) + (xy 58.398058 101.04161) + (xy 58.401246 101.039984) + (xy 58.409566 101.035746) + (xy 58.502746 100.942566) + (xy 58.56058 100.829059) + (xy 58.588292 100.799081) + (xy 58.627584 100.788) + (xy 58.64383 100.788) + (xy 58.650383 100.788285) + (xy 58.689143 100.791677) + (xy 58.726728 100.781605) + (xy 58.733121 100.780187) + (xy 58.77144 100.773432) + (xy 58.77714 100.77014) + (xy 58.783321 100.767891) + (xy 58.783324 100.767901) + (xy 58.785151 100.767145) + (xy 58.785147 100.767136) + (xy 58.79111 100.764354) + (xy 58.797466 100.762652) + (xy 58.82936 100.740319) + (xy 58.834853 100.73682) + (xy 58.86856 100.71736) + (xy 58.893583 100.687537) + (xy 58.897994 100.682724) + (xy 59.140724 100.439994) + (xy 59.145537 100.435583) + (xy 59.17536 100.41056) + (xy 59.19482 100.376853) + (xy 59.198319 100.37136) + (xy 59.220652 100.339466) + (xy 59.222354 100.33311) + (xy 59.225136 100.327147) + (xy 59.225145 100.327151) + (xy 59.225901 100.325324) + (xy 59.225891 100.325321) + (xy 59.22814 100.31914) + (xy 59.231432 100.31344) + (xy 59.238187 100.275121) + (xy 59.239605 100.268728) + (xy 59.249677 100.231143) + (xy 59.246285 100.192383) + (xy 59.246 100.18583) + (xy 59.246 91.983869) + (xy 59.251724 91.955091) + (xy 59.268025 91.930695) + (xy 59.33128 91.86744) + (xy 59.648724 91.549993) + (xy 59.653537 91.545583) + (xy 59.68336 91.52056) + (xy 59.702813 91.486865) + (xy 59.70634 91.481328) + (xy 59.707428 91.479774) + (xy 59.728651 91.449466) + (xy 59.730354 91.443109) + (xy 59.733134 91.437148) + (xy 59.733144 91.437152) + (xy 59.733901 91.435324) + (xy 59.733891 91.435321) + (xy 59.73614 91.42914) + (xy 59.739432 91.42344) + (xy 59.746189 91.385112) + (xy 59.747605 91.378724) + (xy 59.757677 91.341143) + (xy 59.754285 91.302383) + (xy 59.754 91.29583) + (xy 59.754 83.855869) + (xy 59.759724 83.827091) + (xy 59.776025 83.802695) + (xy 59.83668 83.74204) + (xy 60.156724 83.421993) + (xy 60.161537 83.417583) + (xy 60.19136 83.39256) + (xy 60.20977 83.360671) + (xy 60.210813 83.358865) + (xy 60.21434 83.353328) + (xy 60.222238 83.342049) + (xy 60.236651 83.321466) + (xy 60.238354 83.315109) + (xy 60.241134 83.309148) + (xy 60.241144 83.309152) + (xy 60.241901 83.307324) + (xy 60.241891 83.307321) + (xy 60.24414 83.30114) + (xy 60.247432 83.29544) + (xy 60.254189 83.257112) + (xy 60.255605 83.250724) + (xy 60.265677 83.213143) + (xy 60.262286 83.174379) + (xy 60.262 83.16783) + (xy 60.262 74.838869) + (xy 60.267724 74.810091) + (xy 60.284025 74.785695) + (xy 60.34663 74.72309) + (xy 60.664724 74.404993) + (xy 60.669537 74.400583) + (xy 60.69936 74.37556) + (xy 60.718813 74.341865) + (xy 60.72234 74.336328) + (xy 60.744651 74.304466) + (xy 60.746354 74.298109) + (xy 60.749134 74.292148) + (xy 60.749144 74.292152) + (xy 60.749901 74.290324) + (xy 60.749891 74.290321) + (xy 60.75214 74.28414) + (xy 60.755432 74.27844) + (xy 60.762189 74.240112) + (xy 60.763605 74.233724) + (xy 60.773677 74.196143) + (xy 60.770285 74.157383) + (xy 60.77 74.15083) + (xy 60.77 66.456869) + (xy 60.775724 66.428091) + (xy 60.792025 66.403695) + (xy 60.828983 66.366735) + (xy 61.172724 66.022993) + (xy 61.177537 66.018583) + (xy 61.20736 65.99356) + (xy 61.226813 65.959865) + (xy 61.23034 65.954328) + (xy 61.230772 65.953711) + (xy 61.252651 65.922466) + (xy 61.254354 65.916109) + (xy 61.257134 65.910148) + (xy 61.257144 65.910152) + (xy 61.257901 65.908324) + (xy 61.257891 65.908321) + (xy 61.26014 65.90214) + (xy 61.263432 65.89644) + (xy 61.270189 65.858112) + (xy 61.271605 65.851724) + (xy 61.281677 65.814143) + (xy 61.278285 65.775383) + (xy 61.278 65.76883) + (xy 61.278 57.566868) + (xy 61.283724 57.53809) + (xy 61.300026 57.513694) + (xy 61.486247 57.327473) + (xy 62.061725 56.751993) + (xy 62.066537 56.747583) + (xy 62.09636 56.72256) + (xy 62.11582 56.688853) + (xy 62.119319 56.68336) + (xy 62.141652 56.651466) + (xy 62.143354 56.64511) + (xy 62.146136 56.639147) + (xy 62.146145 56.639151) + (xy 62.146901 56.637324) + (xy 62.146891 56.637321) + (xy 62.14914 56.63114) + (xy 62.152432 56.62544) + (xy 62.159187 56.587121) + (xy 62.160605 56.580728) + (xy 62.170677 56.543143) + (xy 62.167285 56.504383) + (xy 62.167 56.49783) + (xy 62.167 52.615163) + (xy 62.171741 52.588883) + (xy 62.185368 52.565917) + (xy 62.264621 52.474454) + (xy 62.270382 52.467806) + (xy 62.329608 52.338119) + (xy 62.349898 52.197) + (xy 62.329608 52.055881) + (xy 62.270382 51.926194) + (xy 62.2647 51.919637) + (xy 62.215212 51.862525) + (xy 62.177018 51.818447) + (xy 62.172496 51.815541) + (xy 62.172494 51.815539) + (xy 62.061602 51.744272) + (xy 62.061599 51.74427) + (xy 62.057081 51.741367) + (xy 62.051925 51.739853) + (xy 62.051923 51.739852) + (xy 61.925447 51.702715) + (xy 61.925442 51.702714) + (xy 61.920285 51.7012) + (xy 61.777715 51.7012) + (xy 61.772558 51.702714) + (xy 61.772552 51.702715) + (xy 61.646076 51.739852) + (xy 61.646071 51.739854) + (xy 61.640919 51.741367) + (xy 61.636403 51.744269) + (xy 61.636397 51.744272) + (xy 61.525505 51.815539) + (xy 61.525499 51.815543) + (xy 61.520982 51.818447) + (xy 61.517461 51.822509) + (xy 61.51746 51.822511) + (xy 61.43114 51.922128) + (xy 61.431136 51.922133) + (xy 61.427618 51.926194) + (xy 61.425385 51.931082) + (xy 61.425382 51.931088) + (xy 61.370626 52.050987) + (xy 61.370624 52.050993) + (xy 61.368392 52.055881) + (xy 61.367627 52.061195) + (xy 61.367626 52.061202) + (xy 61.352408 52.167052) + (xy 61.348102 52.197) + (xy 61.348867 52.202321) + (xy 61.367626 52.332797) + (xy 61.367627 52.332802) + (xy 61.368392 52.338119) + (xy 61.370624 52.343008) + (xy 61.370626 52.343012) + (xy 61.425382 52.462911) + (xy 61.425383 52.462913) + (xy 61.427618 52.467806) + (xy 61.431138 52.471869) + (xy 61.43114 52.471871) + (xy 61.450721 52.494468) + (xy 61.468897 52.538349) + (xy 61.457151 52.58437) + (xy 61.420169 52.614173) + (xy 61.372703 52.615868) + (xy 61.290447 52.591715) + (xy 61.290442 52.591714) + (xy 61.285285 52.5902) + (xy 61.142715 52.5902) + (xy 61.137559 52.591713) + (xy 61.137551 52.591715) + (xy 61.055296 52.615868) + (xy 61.00783 52.614172) + (xy 60.970847 52.584369) + (xy 60.959102 52.538348) + (xy 60.977279 52.494468) + (xy 61.000382 52.467806) + (xy 61.059608 52.338119) + (xy 61.079898 52.197) + (xy 61.059608 52.055881) + (xy 61.000382 51.926194) + (xy 60.9947 51.919637) + (xy 60.945212 51.862525) + (xy 60.907018 51.818447) + (xy 60.902496 51.815541) + (xy 60.902494 51.815539) + (xy 60.791602 51.744272) + (xy 60.791599 51.74427) + (xy 60.787081 51.741367) + (xy 60.781925 51.739853) + (xy 60.781923 51.739852) + (xy 60.655447 51.702715) + (xy 60.655442 51.702714) + (xy 60.650285 51.7012) + (xy 60.507715 51.7012) + (xy 60.502558 51.702714) + (xy 60.502552 51.702715) + (xy 60.376083 51.73985) + (xy 60.376078 51.739851) + (xy 60.370919 51.741367) + (xy 60.367743 51.743407) + (xy 60.319472 51.748018) + (xy 60.278089 51.721423) + (xy 60.262 51.674937) + (xy 60.262 48.422869) + (xy 60.267724 48.394091) + (xy 60.284025 48.369695) + (xy 60.344142 48.309578) + (xy 60.664724 47.988993) + (xy 60.669537 47.984583) + (xy 60.69936 47.95956) + (xy 60.718813 47.925865) + (xy 60.72234 47.920328) + (xy 60.726849 47.913889) + (xy 60.744651 47.888466) + (xy 60.746354 47.882109) + (xy 60.749134 47.876148) + (xy 60.749144 47.876152) + (xy 60.749901 47.874324) + (xy 60.749891 47.874321) + (xy 60.75214 47.86814) + (xy 60.755432 47.86244) + (xy 60.762189 47.824112) + (xy 60.763605 47.817724) + (xy 60.773677 47.780143) + (xy 60.770285 47.741383) + (xy 60.77 47.73483) + (xy 60.77 44.739869) + (xy 60.775724 44.711091) + (xy 60.792025 44.686695) + (xy 60.86724 44.61148) + (xy 60.947625 44.531093) + (xy 60.986129 44.510513) + (xy 61.029577 44.514792) + (xy 61.063326 44.542489) + (xy 61.076 44.584267) + (xy 61.076 44.694498) + (xy 61.076 44.694507) + (xy 61.076001 44.698196) + (xy 61.076721 44.701819) + (xy 61.076722 44.701822) + (xy 61.089676 44.766952) + (xy 61.091434 44.775788) + (xy 61.095548 44.781946) + (xy 61.09555 44.781949) + (xy 61.1111 44.80522) + (xy 61.123774 44.846998) + (xy 61.111101 44.888777) + (xy 61.095549 44.912052) + (xy 61.095547 44.912055) + (xy 61.091434 44.918212) + (xy 61.089989 44.925472) + (xy 61.089988 44.925477) + (xy 61.080565 44.972852) + (xy 61.076 44.995803) + (xy 61.076 44.999497) + (xy 61.076 44.999498) + (xy 61.076 45.194498) + (xy 61.076 45.194507) + (xy 61.076001 45.198196) + (xy 61.076721 45.201819) + (xy 61.076722 45.201822) + (xy 61.089988 45.268521) + (xy 61.089989 45.268523) + (xy 61.091434 45.275788) + (xy 61.095547 45.281944) + (xy 61.09555 45.28195) + (xy 61.1111 45.305222) + (xy 61.123773 45.347) + (xy 61.1111 45.388778) + (xy 61.095548 45.412052) + (xy 61.095544 45.412059) + (xy 61.091434 45.418212) + (xy 61.089989 45.425473) + (xy 61.089989 45.425475) + (xy 61.078585 45.482806) + (xy 61.076 45.495803) + (xy 61.076 45.499497) + (xy 61.076 45.499498) + (xy 61.076 45.694498) + (xy 61.076 45.694507) + (xy 61.076001 45.698196) + (xy 61.076721 45.701819) + (xy 61.076722 45.701822) + (xy 61.089988 45.768521) + (xy 61.089989 45.768523) + (xy 61.091434 45.775788) + (xy 61.095547 45.781944) + (xy 61.09555 45.78195) + (xy 61.1111 45.805222) + (xy 61.123773 45.847) + (xy 61.1111 45.888778) + (xy 61.095548 45.912052) + (xy 61.095544 45.912059) + (xy 61.091434 45.918212) + (xy 61.089989 45.925473) + (xy 61.089989 45.925475) + (xy 61.077992 45.98579) + (xy 61.076 45.995803) + (xy 61.076 45.999497) + (xy 61.076 45.999498) + (xy 61.076 46.194498) + (xy 61.076 46.194507) + (xy 61.076001 46.198196) + (xy 61.076721 46.201819) + (xy 61.076722 46.201822) + (xy 61.089988 46.268521) + (xy 61.089989 46.268523) + (xy 61.091434 46.275788) + (xy 61.095547 46.281944) + (xy 61.09555 46.28195) + (xy 61.1111 46.305222) + (xy 61.123773 46.347) + (xy 61.1111 46.388778) + (xy 61.095548 46.412052) + (xy 61.095544 46.412059) + (xy 61.091434 46.418212) + (xy 61.089989 46.425473) + (xy 61.089989 46.425475) + (xy 61.077353 46.489) + (xy 61.076 46.495803) + (xy 61.076 46.499497) + (xy 61.076 46.499498) + (xy 61.076 46.694498) + (xy 61.076 46.694507) + (xy 61.076001 46.698196) + (xy 61.076721 46.701819) + (xy 61.076722 46.701822) + (xy 61.089988 46.768521) + (xy 61.089989 46.768523) + (xy 61.091434 46.775788) + (xy 61.095547 46.781944) + (xy 61.09555 46.78195) + (xy 61.1111 46.805222) + (xy 61.123773 46.847) + (xy 61.1111 46.888778) + (xy 61.095548 46.912052) + (xy 61.095544 46.912059) + (xy 61.091434 46.918212) + (xy 61.089989 46.925473) + (xy 61.089989 46.925475) + (xy 61.077631 46.987601) + (xy 61.076 46.995803) + (xy 61.076 46.999497) + (xy 61.076 46.999498) + (xy 61.076 47.194498) + (xy 61.076 47.194507) + (xy 61.076001 47.198196) + (xy 61.076721 47.201819) + (xy 61.076722 47.201822) + (xy 61.089988 47.268521) + (xy 61.089989 47.268523) + (xy 61.091434 47.275788) + (xy 61.095547 47.281944) + (xy 61.09555 47.28195) + (xy 61.1111 47.305222) + (xy 61.123773 47.347) + (xy 61.1111 47.388778) + (xy 61.095548 47.412052) + (xy 61.095544 47.412059) + (xy 61.091434 47.418212) + (xy 61.089989 47.425473) + (xy 61.089989 47.425475) + (xy 61.08373 47.45694) + (xy 61.076 47.495803) + (xy 61.076 47.499497) + (xy 61.076 47.499498) + (xy 61.076 47.694498) + (xy 61.076 47.694507) + (xy 61.076001 47.698196) + (xy 61.076721 47.701819) + (xy 61.076722 47.701822) + (xy 61.089988 47.768521) + (xy 61.089989 47.768523) + (xy 61.091434 47.775788) + (xy 61.095547 47.781943) + (xy 61.09555 47.78195) + (xy 61.1111 47.805222) + (xy 61.123773 47.847) + (xy 61.1111 47.888778) + (xy 61.095548 47.912052) + (xy 61.095544 47.912059) + (xy 61.091434 47.918212) + (xy 61.089989 47.925473) + (xy 61.089989 47.925475) + (xy 61.07713 47.99012) + (xy 61.076 47.995803) + (xy 61.076 47.999497) + (xy 61.076 47.999498) + (xy 61.076 48.194498) + (xy 61.076 48.194507) + (xy 61.076001 48.198196) + (xy 61.076721 48.201819) + (xy 61.076722 48.201822) + (xy 61.089988 48.268521) + (xy 61.089989 48.268523) + (xy 61.091434 48.275788) + (xy 61.095547 48.281944) + (xy 61.09555 48.28195) + (xy 61.1111 48.305222) + (xy 61.123773 48.347) + (xy 61.1111 48.388778) + (xy 61.095548 48.412052) + (xy 61.095544 48.412059) + (xy 61.091434 48.418212) + (xy 61.089989 48.425473) + (xy 61.089989 48.425475) + (xy 61.080292 48.474226) + (xy 61.076 48.495803) + (xy 61.076 48.499497) + (xy 61.076 48.499498) + (xy 61.076 48.694498) + (xy 61.076 48.694507) + (xy 61.076001 48.698196) + (xy 61.076721 48.701815) + (xy 61.076722 48.701822) + (xy 61.089988 48.768521) + (xy 61.089989 48.768523) + (xy 61.091434 48.775788) + (xy 61.150225 48.863775) + (xy 61.238212 48.922566) + (xy 61.315803 48.938) + (xy 62.693196 48.937999) + (xy 62.770788 48.922566) + (xy 62.858775 48.863775) + (xy 62.917566 48.775788) + (xy 62.933 48.698197) + (xy 62.932999 48.495804) + (xy 62.917566 48.418212) + (xy 62.897897 48.388776) + (xy 62.885225 48.346998) + (xy 62.897898 48.305221) + (xy 62.917566 48.275788) + (xy 62.933 48.198197) + (xy 62.932999 47.995804) + (xy 62.917566 47.918212) + (xy 62.897898 47.888777) + (xy 62.885225 47.847) + (xy 62.897898 47.805222) + (xy 62.917566 47.775788) + (xy 62.933 47.698197) + (xy 62.932999 47.495804) + (xy 62.933131 47.495804) + (xy 62.940202 47.45694) + (xy 62.967936 47.42634) + (xy 63.007647 47.415) + (xy 63.190132 47.415) + (xy 63.21891 47.420724) + (xy 63.243306 47.437026) + (xy 63.516995 47.710715) + (xy 63.521427 47.715551) + (xy 63.541872 47.739917) + (xy 63.54644 47.74536) + (xy 63.580134 47.764813) + (xy 63.58566 47.768334) + (xy 63.597656 47.776734) + (xy 63.617534 47.790652) + (xy 63.623886 47.792353) + (xy 63.629852 47.795136) + (xy 63.629848 47.795144) + (xy 63.631678 47.795902) + (xy 63.631682 47.795893) + (xy 63.637861 47.798142) + (xy 63.64356 47.801432) + (xy 63.681882 47.808188) + (xy 63.688275 47.809606) + (xy 63.725857 47.819677) + (xy 63.76462 47.816286) + (xy 63.771174 47.816) + (xy 65.257624 47.816) + (xy 65.305959 47.833591) + (xy 65.33168 47.878135) + (xy 65.322755 47.928791) + (xy 65.29295 47.953808) + (xy 65.294546 47.956575) + (xy 65.292795 47.957586) + (xy 65.290812 47.958731) + (xy 65.283455 47.961777) + (xy 65.283358 47.96186) + (xy 65.282699 47.9621) + (xy 65.282696 47.962092) + (xy 65.280842 47.96286) + (xy 65.280846 47.962867) + (xy 65.274888 47.965644) + (xy 65.268534 47.967348) + (xy 65.263147 47.971119) + (xy 65.263142 47.971122) + (xy 65.236655 47.989667) + (xy 65.231128 47.993189) + (xy 65.203133 48.009352) + (xy 65.203129 48.009355) + (xy 65.19744 48.01264) + (xy 65.193215 48.017673) + (xy 65.193211 48.017678) + (xy 65.172421 48.042454) + (xy 65.16799 48.047288) + (xy 64.704288 48.51099) + (xy 64.699454 48.515421) + (xy 64.674678 48.536211) + (xy 64.674673 48.536215) + (xy 64.66964 48.54044) + (xy 64.666355 48.546129) + (xy 64.666352 48.546133) + (xy 64.650189 48.574128) + (xy 64.646667 48.579655) + (xy 64.628122 48.606142) + (xy 64.628119 48.606147) + (xy 64.624348 48.611534) + (xy 64.622644 48.617888) + (xy 64.619867 48.623846) + (xy 64.61986 48.623842) + (xy 64.619099 48.625678) + (xy 64.619106 48.625681) + (xy 64.616854 48.631866) + (xy 64.613568 48.63756) + (xy 64.612426 48.644032) + (xy 64.612425 48.644037) + (xy 64.606813 48.675865) + (xy 64.605394 48.682266) + (xy 64.597025 48.713499) + (xy 64.597024 48.713507) + (xy 64.595323 48.719857) + (xy 64.595896 48.726408) + (xy 64.595896 48.72641) + (xy 64.598714 48.758616) + (xy 64.599 48.76517) + (xy 64.599 49.006352) + (xy 64.58766 49.046063) + (xy 64.557059 49.073797) + (xy 64.518197 49.080868) + (xy 64.518197 49.081) + (xy 64.517471 49.081) + (xy 64.51747 49.081) + (xy 64.514498 49.081) + (xy 64.319501 49.081) + (xy 64.319491 49.081) + (xy 64.315804 49.081001) + (xy 64.312181 49.081721) + (xy 64.312177 49.081722) + (xy 64.245478 49.094988) + (xy 64.245474 49.094989) + (xy 64.238212 49.096434) + (xy 64.232055 49.100547) + (xy 64.23205 49.10055) + (xy 64.208776 49.116101) + (xy 64.166998 49.128773) + (xy 64.12522 49.116099) + (xy 64.101948 49.100549) + (xy 64.101944 49.100547) + (xy 64.095788 49.096434) + (xy 64.018197 49.081) + (xy 64.014501 49.081) + (xy 63.819501 49.081) + (xy 63.819491 49.081) + (xy 63.815804 49.081001) + (xy 63.812181 49.081721) + (xy 63.812177 49.081722) + (xy 63.745478 49.094988) + (xy 63.745474 49.094989) + (xy 63.738212 49.096434) + (xy 63.732055 49.100547) + (xy 63.73205 49.10055) + (xy 63.708776 49.116101) + (xy 63.666998 49.128773) + (xy 63.62522 49.116099) + (xy 63.601948 49.100549) + (xy 63.601944 49.100547) + (xy 63.595788 49.096434) + (xy 63.518197 49.081) + (xy 63.514501 49.081) + (xy 63.319501 49.081) + (xy 63.319491 49.081) + (xy 63.315804 49.081001) + (xy 63.312181 49.081721) + (xy 63.312177 49.081722) + (xy 63.245478 49.094988) + (xy 63.245474 49.094989) + (xy 63.238212 49.096434) + (xy 63.232055 49.100547) + (xy 63.232052 49.100549) + (xy 63.156378 49.151113) + (xy 63.156375 49.151115) + (xy 63.150225 49.155225) + (xy 63.146115 49.161375) + (xy 63.146113 49.161378) + (xy 63.095547 49.237055) + (xy 63.095545 49.237058) + (xy 63.091434 49.243212) + (xy 63.089989 49.250473) + (xy 63.089989 49.250475) + (xy 63.081026 49.295537) + (xy 63.076 49.320803) + (xy 63.076 49.324497) + (xy 63.076 49.324498) + (xy 63.076 50.694499) + (xy 63.076 50.694509) + (xy 63.076001 50.698196) + (xy 63.076721 50.701819) + (xy 63.076722 50.701822) + (xy 63.089988 50.768521) + (xy 63.089989 50.768523) + (xy 63.091434 50.775788) + (xy 63.095548 50.781945) + (xy 63.095549 50.781947) + (xy 63.122048 50.821605) + (xy 63.150225 50.863775) + (xy 63.238212 50.922566) + (xy 63.315803 50.938) + (xy 63.518196 50.937999) + (xy 63.595788 50.922566) + (xy 63.625222 50.902898) + (xy 63.667 50.890225) + (xy 63.708777 50.902898) + (xy 63.738212 50.922566) + (xy 63.815803 50.938) + (xy 64.018196 50.937999) + (xy 64.095788 50.922566) + (xy 64.125222 50.902898) + (xy 64.167 50.890225) + (xy 64.208777 50.902898) + (xy 64.238212 50.922566) + (xy 64.315803 50.938) + (xy 64.518196 50.937999) + (xy 64.595788 50.922566) + (xy 64.625222 50.902898) + (xy 64.667 50.890225) + (xy 64.708777 50.902898) + (xy 64.738212 50.922566) + (xy 64.815803 50.938) + (xy 65.018196 50.937999) + (xy 65.018196 50.938131) + (xy 65.05706 50.945202) + (xy 65.08766 50.972936) + (xy 65.099 51.012647) + (xy 65.099 51.651837) + (xy 65.094259 51.678117) + (xy 65.080632 51.701083) + (xy 64.99914 51.795128) + (xy 64.999136 51.795133) + (xy 64.995618 51.799194) + (xy 64.993385 51.804082) + (xy 64.993382 51.804088) + (xy 64.938626 51.923987) + (xy 64.938624 51.923993) + (xy 64.936392 51.928881) + (xy 64.935627 51.934195) + (xy 64.935626 51.934202) + (xy 64.925898 52.001865) + (xy 64.916102 52.07) + (xy 64.916867 52.075321) + (xy 64.935626 52.205797) + (xy 64.935627 52.205802) + (xy 64.936392 52.211119) + (xy 64.938624 52.216008) + (xy 64.938626 52.216012) + (xy 64.993382 52.335911) + (xy 64.993383 52.335913) + (xy 64.995618 52.340806) + (xy 64.999138 52.344869) + (xy 64.99914 52.344871) + (xy 65.080632 52.438917) + (xy 65.094259 52.461883) + (xy 65.099 52.488163) + (xy 65.099 54.943132) + (xy 65.093276 54.97191) + (xy 65.076974 54.996306) + (xy 62.144288 57.92899) + (xy 62.139454 57.933421) + (xy 62.114678 57.954211) + (xy 62.114673 57.954215) + (xy 62.10964 57.95844) + (xy 62.106355 57.964129) + (xy 62.106352 57.964133) + (xy 62.090189 57.992128) + (xy 62.086667 57.997655) + (xy 62.068122 58.024142) + (xy 62.068119 58.024147) + (xy 62.064348 58.029534) + (xy 62.062644 58.035888) + (xy 62.059867 58.041846) + (xy 62.05986 58.041842) + (xy 62.059099 58.043678) + (xy 62.059106 58.043681) + (xy 62.056854 58.049866) + (xy 62.053568 58.05556) + (xy 62.052426 58.062032) + (xy 62.052425 58.062037) + (xy 62.046813 58.093865) + (xy 62.045394 58.100266) + (xy 62.037025 58.131499) + (xy 62.037024 58.131507) + (xy 62.035323 58.137857) + (xy 62.035896 58.144408) + (xy 62.035896 58.14441) + (xy 62.038714 58.176616) + (xy 62.039 58.18317) + (xy 62.039 66.258132) + (xy 62.033276 66.28691) + (xy 62.016974 66.311307) + (xy 61.636282 66.691996) + (xy 61.631448 66.696426) + (xy 61.606678 66.717211) + (xy 61.606673 66.717215) + (xy 61.60164 66.72144) + (xy 61.598355 66.727129) + (xy 61.598352 66.727133) + (xy 61.582189 66.755128) + (xy 61.578667 66.760655) + (xy 61.560122 66.787142) + (xy 61.560119 66.787147) + (xy 61.556348 66.792534) + (xy 61.554644 66.798888) + (xy 61.551867 66.804846) + (xy 61.55186 66.804842) + (xy 61.551099 66.806678) + (xy 61.551106 66.806681) + (xy 61.548854 66.812866) + (xy 61.545568 66.81856) + (xy 61.544426 66.825032) + (xy 61.544425 66.825037) + (xy 61.538813 66.856865) + (xy 61.537394 66.863266) + (xy 61.529025 66.894499) + (xy 61.529024 66.894507) + (xy 61.527323 66.900857) + (xy 61.527896 66.907408) + (xy 61.527896 66.90741) + (xy 61.530714 66.939616) + (xy 61.531 66.94617) + (xy 61.531 78.704132) + (xy 61.525276 78.73291) + (xy 61.508974 78.757307) + (xy 61.128282 79.137996) + (xy 61.123448 79.142426) + (xy 61.098678 79.163211) + (xy 61.098673 79.163215) + (xy 61.09364 79.16744) + (xy 61.090355 79.173129) + (xy 61.090352 79.173133) + (xy 61.074189 79.201128) + (xy 61.070667 79.206655) + (xy 61.052122 79.233142) + (xy 61.052119 79.233147) + (xy 61.048348 79.238534) + (xy 61.046644 79.244888) + (xy 61.043867 79.250846) + (xy 61.04386 79.250842) + (xy 61.043099 79.252678) + (xy 61.043106 79.252681) + (xy 61.040854 79.258866) + (xy 61.037568 79.26456) + (xy 61.036426 79.271032) + (xy 61.036425 79.271037) + (xy 61.030813 79.302865) + (xy 61.029394 79.309266) + (xy 61.021025 79.340499) + (xy 61.021024 79.340507) + (xy 61.019323 79.346857) + (xy 61.019896 79.353408) + (xy 61.019896 79.35341) + (xy 61.022714 79.385616) + (xy 61.023 79.39217) + (xy 61.023 91.151489) + (xy 61.017276 91.180267) + (xy 61.002768 91.201977) + (xy 60.999297 91.204297) + (xy 60.995184 91.210451) + (xy 60.995182 91.210454) + (xy 60.961196 91.261316) + (xy 60.961193 91.261321) + (xy 60.957082 91.267475) + (xy 60.955637 91.274736) + (xy 60.955637 91.274738) + (xy 60.946968 91.31832) + (xy 60.946 91.323188) + (xy 60.946 92.360812) + (xy 60.948915 92.375467) + (xy 60.954386 92.402974) + (xy 60.957082 92.416525) + (xy 60.961194 92.42268) + (xy 60.961196 92.422683) + (xy 60.995182 92.473545) + (xy 60.999297 92.479703) + (xy 61.005454 92.483817) + (xy 61.056316 92.517803) + (xy 61.056317 92.517803) + (xy 61.062475 92.521918) + (xy 61.118188 92.533) + (xy 61.552116 92.533) + (xy 61.555812 92.533) + (xy 61.611525 92.521918) + (xy 61.620221 92.516107) + (xy 61.662 92.503433) + (xy 61.703778 92.516107) + (xy 61.712475 92.521918) + (xy 61.768188 92.533) + (xy 62.202116 92.533) + (xy 62.205812 92.533) + (xy 62.261525 92.521918) + (xy 62.270221 92.516107) + (xy 62.312 92.503433) + (xy 62.353778 92.516107) + (xy 62.362475 92.521918) + (xy 62.418188 92.533) + (xy 62.852116 92.533) + (xy 62.855812 92.533) + (xy 62.911525 92.521918) + (xy 62.920221 92.516107) + (xy 62.962 92.503433) + (xy 63.003778 92.516107) + (xy 63.012475 92.521918) + (xy 63.068188 92.533) + (xy 63.502116 92.533) + (xy 63.505812 92.533) + (xy 63.529129 92.528362) + (xy 63.572578 92.532641) + (xy 63.606327 92.560338) + (xy 63.619 92.602117) + (xy 63.619 93.182136) + (xy 63.607063 93.222792) + (xy 63.57504 93.25054) + (xy 63.533099 93.256571) + (xy 63.494556 93.23897) + (xy 63.472781 93.205089) + (xy 63.472608 93.203881) + (xy 63.451896 93.158529) + (xy 63.415617 93.079088) + (xy 63.413382 93.074194) + (xy 63.407453 93.067352) + (xy 63.369546 93.023605) + (xy 63.320018 92.966447) + (xy 63.315496 92.963541) + (xy 63.315494 92.963539) + (xy 63.204602 92.892272) + (xy 63.204599 92.89227) + (xy 63.200081 92.889367) + (xy 63.194925 92.887853) + (xy 63.194923 92.887852) + (xy 63.068447 92.850715) + (xy 63.068442 92.850714) + (xy 63.063285 92.8492) + (xy 62.920715 92.8492) + (xy 62.915558 92.850714) + (xy 62.915552 92.850715) + (xy 62.789076 92.887852) + (xy 62.789071 92.887854) + (xy 62.783919 92.889367) + (xy 62.779403 92.892269) + (xy 62.779397 92.892272) + (xy 62.668505 92.963539) + (xy 62.668499 92.963543) + (xy 62.663982 92.966447) + (xy 62.660461 92.970509) + (xy 62.66046 92.970511) + (xy 62.57414 93.070128) + (xy 62.574136 93.070133) + (xy 62.570618 93.074194) + (xy 62.568385 93.079082) + (xy 62.568382 93.079088) + (xy 62.513626 93.198987) + (xy 62.513624 93.198993) + (xy 62.511392 93.203881) + (xy 62.510627 93.209195) + (xy 62.510626 93.209202) + (xy 62.493391 93.329081) + (xy 62.491102 93.345) + (xy 62.491867 93.350321) + (xy 62.510626 93.480797) + (xy 62.510627 93.480802) + (xy 62.511392 93.486119) + (xy 62.513624 93.491008) + (xy 62.513626 93.491012) + (xy 62.568382 93.610911) + (xy 62.568383 93.610913) + (xy 62.570618 93.615806) + (xy 62.574138 93.619869) + (xy 62.57414 93.619871) + (xy 62.655632 93.713917) + (xy 62.669259 93.736883) + (xy 62.674 93.763163) + (xy 62.674 94.071131) + (xy 62.668276 94.099909) + (xy 62.651974 94.124306) + (xy 62.604356 94.171923) + (xy 62.5632 94.192981) + (xy 62.517502 94.185984) + (xy 62.484533 94.153575) + (xy 62.478409 94.117702) + (xy 62.476133 94.117702) + (xy 62.476133 94.112321) + (xy 62.476898 94.107) + (xy 62.475878 94.099909) + (xy 62.457965 93.975321) + (xy 62.456608 93.965881) + (xy 62.430508 93.908731) + (xy 62.399617 93.841088) + (xy 62.397382 93.836194) + (xy 62.383228 93.81986) + (xy 62.35624 93.788714) + (xy 62.304018 93.728447) + (xy 62.299496 93.725541) + (xy 62.299494 93.725539) + (xy 62.188602 93.654272) + (xy 62.188599 93.65427) + (xy 62.184081 93.651367) + (xy 62.178925 93.649853) + (xy 62.178923 93.649852) + (xy 62.052447 93.612715) + (xy 62.052442 93.612714) + (xy 62.047285 93.6112) + (xy 61.904715 93.6112) + (xy 61.899558 93.612714) + (xy 61.899552 93.612715) + (xy 61.773076 93.649852) + (xy 61.773071 93.649854) + (xy 61.767919 93.651367) + (xy 61.763403 93.654269) + (xy 61.763397 93.654272) + (xy 61.652505 93.725539) + (xy 61.652499 93.725543) + (xy 61.647982 93.728447) + (xy 61.644461 93.732509) + (xy 61.64446 93.732511) + (xy 61.55814 93.832128) + (xy 61.558136 93.832133) + (xy 61.554618 93.836194) + (xy 61.552385 93.841082) + (xy 61.552382 93.841088) + (xy 61.497626 93.960987) + (xy 61.497624 93.960993) + (xy 61.495392 93.965881) + (xy 61.494627 93.971195) + (xy 61.494626 93.971202) + (xy 61.475998 94.100767) + (xy 61.475102 94.107) + (xy 61.475867 94.112321) + (xy 61.475867 94.112324) + (xy 61.476178 94.114488) + (xy 61.473094 94.148937) + (xy 61.454917 94.178362) + (xy 61.124282 94.508996) + (xy 61.119448 94.513426) + (xy 61.094678 94.534211) + (xy 61.094673 94.534215) + (xy 61.08964 94.53844) + (xy 61.086355 94.544129) + (xy 61.086352 94.544133) + (xy 61.070189 94.572128) + (xy 61.066667 94.577655) + (xy 61.048122 94.604142) + (xy 61.048119 94.604147) + (xy 61.044348 94.609534) + (xy 61.042644 94.615888) + (xy 61.039867 94.621846) + (xy 61.03986 94.621842) + (xy 61.039099 94.623678) + (xy 61.039106 94.623681) + (xy 61.036854 94.629866) + (xy 61.033568 94.63556) + (xy 61.032426 94.642032) + (xy 61.032425 94.642037) + (xy 61.026813 94.673865) + (xy 61.025394 94.680266) + (xy 61.017025 94.711499) + (xy 61.017024 94.711507) + (xy 61.015323 94.717857) + (xy 61.015896 94.724408) + (xy 61.015896 94.72441) + (xy 61.018714 94.756616) + (xy 61.019 94.76317) + (xy 61.019 96.955489) + (xy 61.013276 96.984267) + (xy 61.00037 97.003579) + (xy 60.999297 97.004297) + (xy 60.995184 97.010451) + (xy 60.995182 97.010454) + (xy 60.961196 97.061316) + (xy 60.961193 97.061321) + (xy 60.957082 97.067475) + (xy 60.955637 97.074736) + (xy 60.955637 97.074738) + (xy 60.949787 97.104148) + (xy 60.946 97.123188) + (xy 60.946 98.160812) + (xy 60.949476 98.178286) + (xy 60.9541 98.201536) + (xy 60.957082 98.216525) + (xy 60.961194 98.22268) + (xy 60.961196 98.222683) + (xy 60.995182 98.273545) + (xy 60.999297 98.279703) + (xy 61.007224 98.285) + (xy 61.056316 98.317803) + (xy 61.056317 98.317803) + (xy 61.062475 98.321918) + (xy 61.118188 98.333) + (xy 61.552116 98.333) + (xy 61.555812 98.333) + (xy 61.611525 98.321918) + (xy 61.620221 98.316107) + (xy 61.662 98.303433) + (xy 61.703778 98.316107) + (xy 61.712475 98.321918) + (xy 61.768188 98.333) + (xy 62.202116 98.333) + (xy 62.205812 98.333) + (xy 62.261525 98.321918) + (xy 62.270221 98.316107) + (xy 62.312 98.303433) + (xy 62.353778 98.316107) + (xy 62.362475 98.321918) + (xy 62.418188 98.333) + (xy 62.852116 98.333) + (xy 62.855812 98.333) + (xy 62.879129 98.328362) + (xy 62.922578 98.332641) + (xy 62.956327 98.360338) + (xy 62.969 98.402117) + (xy 62.969 98.82983) + (xy 62.968714 98.836384) + (xy 62.966 98.867408) + (xy 62.965323 98.875143) + (xy 62.967024 98.881493) + (xy 62.967025 98.881498) + (xy 62.975394 98.912731) + (xy 62.976813 98.919133) + (xy 62.982425 98.950961) + (xy 62.982426 98.950963) + (xy 62.983568 98.95744) + (xy 62.986856 98.963136) + (xy 62.989107 98.969319) + (xy 62.989098 98.969321) + (xy 62.989857 98.971153) + (xy 62.989865 98.97115) + (xy 62.992644 98.977111) + (xy 62.994348 98.983466) + (xy 63.005025 98.998715) + (xy 63.016662 99.015335) + (xy 63.020185 99.020866) + (xy 63.036346 99.048857) + (xy 63.03635 99.048861) + (xy 63.03964 99.05456) + (xy 63.040278 99.055095) + (xy 63.050464 99.072738) + (xy 63.055 99.098459) + (xy 63.055 102.85283) + (xy 63.054714 102.859384) + (xy 63.051948 102.891003) + (xy 63.051323 102.898143) + (xy 63.053024 102.904493) + (xy 63.053025 102.904498) + (xy 63.061394 102.935731) + (xy 63.062813 102.942133) + (xy 63.068425 102.973961) + (xy 63.068426 102.973963) + (xy 63.069568 102.98044) + (xy 63.072856 102.986136) + (xy 63.075107 102.992319) + (xy 63.075098 102.992321) + (xy 63.075857 102.994153) + (xy 63.075865 102.99415) + (xy 63.078644 103.000111) + (xy 63.080348 103.006466) + (xy 63.09138 103.022222) + (xy 63.102662 103.038335) + (xy 63.106185 103.043866) + (xy 63.122348 103.071861) + (xy 63.122353 103.071867) + (xy 63.12564 103.07756) + (xy 63.13741 103.087436) + (xy 63.155448 103.102572) + (xy 63.160284 103.107004) + (xy 64.405995 104.352715) + (xy 64.410427 104.357551) + (xy 64.43544 104.38736) + (xy 64.469134 104.406813) + (xy 64.474658 104.410332) + (xy 64.481443 104.415083) + (xy 64.495605 104.425) + (xy 64.506534 104.432652) + (xy 64.512886 104.434353) + (xy 64.518852 104.437136) + (xy 64.518848 104.437144) + (xy 64.520678 104.437902) + (xy 64.520682 104.437893) + (xy 64.526861 104.440142) + (xy 64.53256 104.443432) + (xy 64.570882 104.450188) + (xy 64.577275 104.451606) + (xy 64.614857 104.461677) + (xy 64.653616 104.458285) + (xy 64.66017 104.458) + (xy 71.084132 104.458) + (xy 71.11291 104.463724) + (xy 71.137306 104.480026) + (xy 71.795974 105.138694) + (xy 71.812276 105.16309) + (xy 71.818 105.191868) + (xy 71.818 105.3928) + (xy 71.807925 105.4304) + (xy 71.7804 105.457925) + (xy 71.7428 105.468) + (xy 71.510902 105.468) + (xy 71.503092 105.470092) + (xy 71.501 105.477902) + (xy 71.501 106.739098) + (xy 71.503092 106.746907) + (xy 71.510902 106.749) + (xy 71.7428 106.749) + (xy 71.7804 106.759075) + (xy 71.807925 106.7866) + (xy 71.818 106.8242) + (xy 71.818 106.834632) + (xy 71.812276 106.86341) + (xy 71.795974 106.887806) + (xy 71.587306 107.096474) + (xy 71.56291 107.112776) + (xy 71.534132 107.1185) + (xy 70.955188 107.1185) + (xy 70.951563 107.11922) + (xy 70.951563 107.119221) + (xy 70.906738 107.128137) + (xy 70.906736 107.128137) + (xy 70.899475 107.129582) + (xy 70.893321 107.133693) + (xy 70.893316 107.133696) + (xy 70.842454 107.167682) + (xy 70.842451 107.167684) + (xy 70.836297 107.171797) + (xy 70.832184 107.177951) + (xy 70.832182 107.177954) + (xy 70.798196 107.228816) + (xy 70.798193 107.228821) + (xy 70.794082 107.234975) + (xy 70.783 107.290688) + (xy 70.783 108.228312) + (xy 70.794082 108.284025) + (xy 70.798194 108.29018) + (xy 70.798196 108.290183) + (xy 70.827105 108.333447) + (xy 70.836297 108.347203) + (xy 70.842454 108.351317) + (xy 70.893316 108.385303) + (xy 70.893317 108.385303) + (xy 70.899475 108.389418) + (xy 70.955188 108.4005) + (xy 71.362189 108.4005) + (xy 71.408674 108.416589) + (xy 71.435269 108.457971) + (xy 71.430593 108.506939) + (xy 71.403626 108.565987) + (xy 71.403624 108.565993) + (xy 71.401392 108.570881) + (xy 71.400627 108.576195) + (xy 71.400626 108.576202) + (xy 71.386881 108.671803) + (xy 71.381102 108.712) + (xy 71.381867 108.717321) + (xy 71.400626 108.847797) + (xy 71.400627 108.847802) + (xy 71.401392 108.853119) + (xy 71.403624 108.858008) + (xy 71.403626 108.858012) + (xy 71.458382 108.977911) + (xy 71.458383 108.977913) + (xy 71.460618 108.982806) + (xy 71.553982 109.090553) + (xy 71.673919 109.167633) + (xy 71.810715 109.2078) + (xy 71.947904 109.2078) + (xy 71.953285 109.2078) + (xy 72.090081 109.167633) + (xy 72.210018 109.090553) + (xy 72.303382 108.982806) + (xy 72.321597 108.942918) + (xy 72.349344 108.910899) + (xy 72.39 108.898961) + (xy 72.430656 108.910899) + (xy 72.458402 108.942918) + (xy 72.476618 108.982806) + (xy 72.569982 109.090553) + (xy 72.689919 109.167633) + (xy 72.826715 109.2078) + (xy 72.963904 109.2078) + (xy 72.969285 109.2078) + (xy 73.106081 109.167633) + (xy 73.226018 109.090553) + (xy 73.319382 108.982806) + (xy 73.378608 108.853119) + (xy 73.398898 108.712) + (xy 73.378608 108.570881) + (xy 73.364944 108.540961) + (xy 73.349407 108.506939) + (xy 73.344731 108.457971) + (xy 73.371326 108.416589) + (xy 73.417811 108.4005) + (xy 73.821116 108.4005) + (xy 73.824812 108.4005) + (xy 73.880525 108.389418) + (xy 73.943703 108.347203) + (xy 73.985918 108.284025) + (xy 73.997 108.228312) + (xy 73.997 107.290688) + (xy 73.985918 107.234975) + (xy 73.943703 107.171797) + (xy 73.923073 107.158012) + (xy 73.886683 107.133696) + (xy 73.88668 107.133694) + (xy 73.880525 107.129582) + (xy 73.873261 107.128137) + (xy 73.84923 107.123357) + (xy 73.824812 107.1185) + (xy 73.821116 107.1185) + (xy 73.245868 107.1185) + (xy 73.21709 107.112776) + (xy 73.192694 107.096474) + (xy 73.178558 107.082338) + (xy 74.302 107.082338) + (xy 74.302001 107.084782) + (xy 74.30232 107.087207) + (xy 74.302321 107.087218) + (xy 74.307595 107.127283) + (xy 74.307596 107.127286) + (xy 74.308347 107.132991) + (xy 74.310779 107.138206) + (xy 74.31078 107.138209) + (xy 74.354895 107.232815) + (xy 74.354896 107.232817) + (xy 74.357678 107.238782) + (xy 74.362333 107.243437) + (xy 74.407536 107.28864) + (xy 74.426516 107.320627) + (xy 74.427844 107.357798) + (xy 74.411195 107.391058) + (xy 74.385143 107.421124) + (xy 74.38514 107.421129) + (xy 74.381618 107.425194) + (xy 74.379385 107.430082) + (xy 74.379382 107.430088) + (xy 74.324626 107.549987) + (xy 74.324624 107.549993) + (xy 74.322392 107.554881) + (xy 74.321627 107.560195) + (xy 74.321626 107.560202) + (xy 74.302867 107.690679) + (xy 74.302102 107.696) + (xy 74.302867 107.701321) + (xy 74.321626 107.831797) + (xy 74.321627 107.831802) + (xy 74.322392 107.837119) + (xy 74.324624 107.842008) + (xy 74.324626 107.842012) + (xy 74.379382 107.961911) + (xy 74.379383 107.961913) + (xy 74.381618 107.966806) + (xy 74.474982 108.074553) + (xy 74.479504 108.077459) + (xy 74.479505 108.07746) + (xy 74.590397 108.148727) + (xy 74.594919 108.151633) + (xy 74.731715 108.1918) + (xy 74.868904 108.1918) + (xy 74.874285 108.1918) + (xy 75.011081 108.151633) + (xy 75.131018 108.074553) + (xy 75.224382 107.966806) + (xy 75.283608 107.837119) + (xy 75.303898 107.696) + (xy 75.283608 107.554881) + (xy 75.224382 107.425194) + (xy 75.206872 107.404987) + (xy 75.194804 107.391059) + (xy 75.178155 107.357798) + (xy 75.179483 107.320627) + (xy 75.19846 107.288643) + (xy 75.248322 107.238782) + (xy 75.297653 107.132991) + (xy 75.304 107.084783) + (xy 75.303999 106.727218) + (xy 75.297653 106.679009) + (xy 75.248322 106.573218) + (xy 75.165782 106.490678) + (xy 75.159815 106.487895) + (xy 75.159393 106.4876) + (xy 75.131144 106.449653) + (xy 75.131144 106.402347) + (xy 75.159393 106.3644) + (xy 75.159815 106.364104) + (xy 75.165782 106.361322) + (xy 75.241078 106.286026) + (xy 75.265474 106.269724) + (xy 75.294252 106.264) + (xy 75.933132 106.264) + (xy 75.96191 106.269724) + (xy 75.986306 106.286026) + (xy 76.279974 106.579694) + (xy 76.296276 106.60409) + (xy 76.302 106.632868) + (xy 76.302 108.061812) + (xy 76.313082 108.117525) + (xy 76.317194 108.12368) + (xy 76.317196 108.123683) + (xy 76.343828 108.163539) + (xy 76.355297 108.180703) + (xy 76.361454 108.184817) + (xy 76.412316 108.218803) + (xy 76.412317 108.218803) + (xy 76.418475 108.222918) + (xy 76.474188 108.234) + (xy 78.208116 108.234) + (xy 78.211812 108.234) + (xy 78.267525 108.222918) + (xy 78.330703 108.180703) + (xy 78.372918 108.117525) + (xy 78.384 108.061812) + (xy 78.384 106.324188) + (xy 78.372918 106.268475) + (xy 78.350884 106.2355) + (xy 78.334817 106.211454) + (xy 78.330703 106.205297) + (xy 78.324545 106.201182) + (xy 78.273683 106.167196) + (xy 78.27368 106.167194) + (xy 78.267525 106.163082) + (xy 78.260261 106.161637) + (xy 78.231891 106.155994) + (xy 78.211812 106.152) + (xy 78.208116 106.152) + (xy 76.782868 106.152) + (xy 76.75409 106.146276) + (xy 76.729694 106.129974) + (xy 76.333004 105.733284) + (xy 76.328572 105.728448) + (xy 76.307787 105.703678) + (xy 76.30356 105.69864) + (xy 76.297867 105.695353) + (xy 76.297861 105.695348) + (xy 76.269866 105.679185) + (xy 76.264335 105.675662) + (xy 76.258844 105.671818) + (xy 76.232466 105.653348) + (xy 76.226111 105.651644) + (xy 76.22015 105.648865) + (xy 76.220153 105.648857) + (xy 76.218321 105.648098) + (xy 76.218319 105.648107) + (xy 76.212136 105.645856) + (xy 76.20644 105.642568) + (xy 76.199963 105.641426) + (xy 76.199961 105.641425) + (xy 76.168133 105.635813) + (xy 76.161731 105.634394) + (xy 76.130498 105.626025) + (xy 76.130493 105.626024) + (xy 76.124143 105.624323) + (xy 76.117591 105.624896) + (xy 76.117589 105.624896) + (xy 76.085384 105.627714) + (xy 76.07883 105.628) + (xy 75.294252 105.628) + (xy 75.265474 105.622276) + (xy 75.241078 105.605974) + (xy 75.170437 105.535333) + (xy 75.165782 105.530678) + (xy 75.159817 105.527896) + (xy 75.159815 105.527895) + (xy 75.091598 105.496085) + (xy 75.059991 105.481347) + (xy 75.054279 105.480595) + (xy 75.014216 105.47532) + (xy 75.014211 105.475319) + (xy 75.011783 105.475) + (xy 75.009325 105.475) + (xy 74.596676 105.475) + (xy 74.59666 105.475) + (xy 74.594218 105.475001) + (xy 74.591793 105.47532) + (xy 74.591781 105.475321) + (xy 74.551716 105.480595) + (xy 74.551711 105.480596) + (xy 74.546009 105.481347) + (xy 74.540793 105.483778) + (xy 74.54079 105.48378) + (xy 74.446184 105.527895) + (xy 74.446179 105.527898) + (xy 74.440218 105.530678) + (xy 74.435565 105.53533) + (xy 74.435562 105.535333) + (xy 74.362333 105.608562) + (xy 74.36233 105.608565) + (xy 74.357678 105.613218) + (xy 74.354898 105.619179) + (xy 74.354895 105.619184) + (xy 74.31766 105.699037) + (xy 74.308347 105.719009) + (xy 74.307596 105.724711) + (xy 74.307596 105.724712) + (xy 74.304834 105.745694) + (xy 74.302 105.767217) + (xy 74.302 105.769673) + (xy 74.302 105.769674) + (xy 74.302 106.122323) + (xy 74.302 106.122338) + (xy 74.302001 106.124782) + (xy 74.30232 106.127207) + (xy 74.302321 106.127218) + (xy 74.307595 106.167283) + (xy 74.307596 106.167286) + (xy 74.308347 106.172991) + (xy 74.310779 106.178207) + (xy 74.31078 106.178209) + (xy 74.354895 106.272815) + (xy 74.354896 106.272817) + (xy 74.357678 106.278782) + (xy 74.440218 106.361322) + (xy 74.446176 106.3641) + (xy 74.446607 106.364402) + (xy 74.474855 106.402347) + (xy 74.474855 106.449653) + (xy 74.446607 106.487598) + (xy 74.446176 106.487899) + (xy 74.440218 106.490678) + (xy 74.43557 106.495325) + (xy 74.435567 106.495328) + (xy 74.362333 106.568562) + (xy 74.36233 106.568565) + (xy 74.357678 106.573218) + (xy 74.354898 106.579179) + (xy 74.354895 106.579184) + (xy 74.310779 106.673793) + (xy 74.308347 106.679009) + (xy 74.307596 106.684711) + (xy 74.307596 106.684712) + (xy 74.302321 106.724781) + (xy 74.302 106.727217) + (xy 74.302 106.729673) + (xy 74.302 106.729674) + (xy 74.302 107.082323) + (xy 74.302 107.082338) + (xy 73.178558 107.082338) + (xy 72.984026 106.887806) + (xy 72.967724 106.86341) + (xy 72.962 106.834632) + (xy 72.962 106.8242) + (xy 72.972075 106.7866) + (xy 72.9996 106.759075) + (xy 73.0372 106.749) + (xy 73.269098 106.749) + (xy 73.276907 106.746907) + (xy 73.279 106.739098) + (xy 73.533 106.739098) + (xy 73.535092 106.746907) + (xy 73.542902 106.749) + (xy 73.821066 106.749) + (xy 73.828386 106.748278) + (xy 73.873063 106.739392) + (xy 73.886488 106.733831) + (xy 73.937186 106.699956) + (xy 73.947456 106.689686) + (xy 73.981331 106.638988) + (xy 73.986892 106.625563) + (xy 73.995778 106.580886) + (xy 73.9965 106.573566) + (xy 73.9965 106.245402) + (xy 73.994407 106.237592) + (xy 73.986598 106.2355) + (xy 73.542902 106.2355) + (xy 73.535092 106.237592) + (xy 73.533 106.245402) + (xy 73.533 106.739098) + (xy 73.279 106.739098) + (xy 73.279 105.971598) + (xy 73.533 105.971598) + (xy 73.535092 105.979407) + (xy 73.542902 105.9815) + (xy 73.986598 105.9815) + (xy 73.994407 105.979407) + (xy 73.9965 105.971598) + (xy 73.9965 105.643434) + (xy 73.995778 105.636113) + (xy 73.986892 105.591436) + (xy 73.981331 105.578011) + (xy 73.947456 105.527313) + (xy 73.937186 105.517043) + (xy 73.886488 105.483168) + (xy 73.873063 105.477607) + (xy 73.828386 105.468721) + (xy 73.821066 105.468) + (xy 73.542902 105.468) + (xy 73.535092 105.470092) + (xy 73.533 105.477902) + (xy 73.533 105.971598) + (xy 73.279 105.971598) + (xy 73.279 105.477902) + (xy 73.276907 105.470092) + (xy 73.269098 105.468) + (xy 73.0372 105.468) + (xy 72.9996 105.457925) + (xy 72.972075 105.4304) + (xy 72.962 105.3928) + (xy 72.962 104.79217) + (xy 72.962286 104.785616) + (xy 72.963495 104.771794) + (xy 72.965677 104.746857) + (xy 72.955606 104.709275) + (xy 72.954187 104.702875) + (xy 72.947432 104.66456) + (xy 72.944142 104.658861) + (xy 72.941893 104.652682) + (xy 72.941902 104.652678) + (xy 72.941144 104.650848) + (xy 72.941136 104.650852) + (xy 72.938353 104.644886) + (xy 72.936652 104.638534) + (xy 72.914332 104.606658) + (xy 72.910809 104.601127) + (xy 72.909583 104.599004) + (xy 72.89136 104.56744) + (xy 72.885296 104.562352) + (xy 72.861551 104.542427) + (xy 72.856715 104.537995) + (xy 71.738004 103.419284) + (xy 71.733572 103.414448) + (xy 71.72554 103.404876) + (xy 71.70856 103.38464) + (xy 71.702867 103.381353) + (xy 71.702861 103.381348) + (xy 71.674866 103.365185) + (xy 71.669335 103.361662) + (xy 71.661811 103.356394) + (xy 71.637466 103.339348) + (xy 71.631111 103.337644) + (xy 71.62515 103.334865) + (xy 71.625153 103.334857) + (xy 71.623321 103.334098) + (xy 71.623319 103.334107) + (xy 71.617136 103.331856) + (xy 71.61144 103.328568) + (xy 71.604963 103.327426) + (xy 71.604961 103.327425) + (xy 71.573133 103.321813) + (xy 71.566731 103.320394) + (xy 71.535498 103.312025) + (xy 71.535493 103.312024) + (xy 71.529143 103.310323) + (xy 71.522591 103.310896) + (xy 71.522589 103.310896) + (xy 71.490384 103.313714) + (xy 71.48383 103.314) + (xy 65.059868 103.314) + (xy 65.03109 103.308276) + (xy 65.006694 103.291974) + (xy 64.221026 102.506306) + (xy 64.204724 102.48191) + (xy 64.199 102.453132) + (xy 64.199 101.367266) + (xy 65.7935 101.367266) + (xy 65.79382 101.372159) + (xy 65.799086 101.412156) + (xy 65.802268 101.423073) + (xy 65.846311 101.517524) + (xy 65.853749 101.528146) + (xy 65.926853 101.60125) + (xy 65.937475 101.608688) + (xy 66.031926 101.652731) + (xy 66.042843 101.655913) + (xy 66.08284 101.661179) + (xy 66.087734 101.6615) + (xy 66.157098 101.6615) + (xy 66.164907 101.659407) + (xy 66.167 101.651598) + (xy 66.167 101.327902) + (xy 66.164907 101.320092) + (xy 66.157098 101.318) + (xy 65.803402 101.318) + (xy 65.795592 101.320092) + (xy 65.7935 101.327902) + (xy 65.7935 101.367266) + (xy 64.199 101.367266) + (xy 64.199 99.136952) + (xy 64.2126 99.093819) + (xy 64.221858 99.080597) + (xy 64.229652 99.069466) + (xy 64.231354 99.063111) + (xy 64.234136 99.057147) + (xy 64.234145 99.057151) + (xy 64.234901 99.055324) + (xy 64.234891 99.055321) + (xy 64.23714 99.04914) + (xy 64.240432 99.04344) + (xy 64.247187 99.005121) + (xy 64.248605 98.998728) + (xy 64.258677 98.961143) + (xy 64.255285 98.922383) + (xy 64.255 98.91583) + (xy 64.255 98.402117) + (xy 64.267673 98.360338) + (xy 64.301422 98.332641) + (xy 64.344871 98.328362) + (xy 64.368188 98.333) + (xy 64.802116 98.333) + (xy 64.805812 98.333) + (xy 64.861525 98.321918) + (xy 64.870221 98.316107) + (xy 64.912 98.303433) + (xy 64.953778 98.316107) + (xy 64.962475 98.321918) + (xy 65.018188 98.333) + (xy 65.452116 98.333) + (xy 65.455812 98.333) + (xy 65.511525 98.321918) + (xy 65.520667 98.315809) + (xy 65.562444 98.303133) + (xy 65.604226 98.315805) + (xy 65.606511 98.317332) + (xy 65.619934 98.322891) + (xy 65.664613 98.331778) + (xy 65.671934 98.3325) + (xy 65.750098 98.3325) + (xy 65.757907 98.330407) + (xy 65.76 98.322598) + (xy 65.76 96.961402) + (xy 65.757907 96.953592) + (xy 65.750098 96.9515) + (xy 65.671934 96.9515) + (xy 65.664613 96.952221) + (xy 65.644871 96.956148) + (xy 65.601422 96.951869) + (xy 65.567673 96.924172) + (xy 65.555 96.882393) + (xy 65.555 95.453868) + (xy 65.560724 95.42509) + (xy 65.577026 95.400694) + (xy 66.022694 94.955026) + (xy 66.04709 94.938724) + (xy 66.075868 94.933) + (xy 67.35633 94.933) + (xy 67.362883 94.933285) + (xy 67.401643 94.936677) + (xy 67.439228 94.926605) + (xy 67.445621 94.925187) + (xy 67.48394 94.918432) + (xy 67.48964 94.91514) + (xy 67.495821 94.912891) + (xy 67.495824 94.912901) + (xy 67.497651 94.912145) + (xy 67.497647 94.912136) + (xy 67.50361 94.909354) + (xy 67.509966 94.907652) + (xy 67.54186 94.885319) + (xy 67.547353 94.88182) + (xy 67.58106 94.86236) + (xy 67.606083 94.832537) + (xy 67.610494 94.827724) + (xy 68.514626 93.923591) + (xy 68.553129 93.903011) + (xy 68.596578 93.90729) + (xy 68.630327 93.934987) + (xy 68.643 93.976766) + (xy 68.643 94.092921) + (xy 68.637276 94.121699) + (xy 68.620976 94.146092) + (xy 68.472575 94.294494) + (xy 68.33253 94.434539) + (xy 68.325137 94.441022) + (xy 68.302953 94.458045) + (xy 68.302948 94.458049) + (xy 68.299045 94.461045) + (xy 68.296049 94.464948) + (xy 68.296046 94.464952) + (xy 68.276025 94.491044) + (xy 68.276024 94.491046) + (xy 68.23002 94.551) + (xy 68.210357 94.576624) + (xy 68.210354 94.576627) + (xy 68.207359 94.580532) + (xy 68.205478 94.585072) + (xy 68.205474 94.58508) + (xy 68.153111 94.711499) + (xy 68.149723 94.719678) + (xy 68.149081 94.724554) + (xy 68.14908 94.724558) + (xy 68.140089 94.792853) + (xy 68.135 94.831508) + (xy 68.135 94.831514) + (xy 68.130065 94.869) + (xy 68.130708 94.873884) + (xy 68.134357 94.901602) + (xy 68.135 94.911417) + (xy 68.135 95.967759) + (xy 68.121688 96.010477) + (xy 68.086106 96.062025) + (xy 68.086102 96.062031) + (xy 68.08352 96.065773) + (xy 68.081906 96.070026) + (xy 68.081905 96.07003) + (xy 68.050515 96.1528) + (xy 68.019106 96.190489) + (xy 67.971138 96.200786) + (xy 67.927028 96.179308) + (xy 67.293004 95.545284) + (xy 67.288572 95.540448) + (xy 67.284929 95.536106) + (xy 67.26356 95.51064) + (xy 67.257867 95.507353) + (xy 67.257861 95.507348) + (xy 67.229866 95.491185) + (xy 67.224335 95.487662) + (xy 67.206628 95.475264) + (xy 67.192466 95.465348) + (xy 67.186111 95.463644) + (xy 67.18015 95.460865) + (xy 67.180153 95.460857) + (xy 67.178321 95.460098) + (xy 67.178319 95.460107) + (xy 67.172136 95.457856) + (xy 67.16644 95.454568) + (xy 67.159963 95.453426) + (xy 67.159961 95.453425) + (xy 67.128133 95.447813) + (xy 67.121731 95.446394) + (xy 67.090498 95.438025) + (xy 67.090493 95.438024) + (xy 67.084143 95.436323) + (xy 67.07946 95.436732) + (xy 67.053461 95.429265) + (xy 67.030823 95.411535) + (xy 67.012719 95.390643) + (xy 67.003018 95.379447) + (xy 66.998496 95.376541) + (xy 66.998494 95.376539) + (xy 66.887602 95.305272) + (xy 66.887599 95.30527) + (xy 66.883081 95.302367) + (xy 66.877925 95.300853) + (xy 66.877923 95.300852) + (xy 66.751447 95.263715) + (xy 66.751442 95.263714) + (xy 66.746285 95.2622) + (xy 66.603715 95.2622) + (xy 66.598558 95.263714) + (xy 66.598552 95.263715) + (xy 66.472076 95.300852) + (xy 66.472071 95.300854) + (xy 66.466919 95.302367) + (xy 66.462403 95.305269) + (xy 66.462397 95.305272) + (xy 66.351505 95.376539) + (xy 66.351499 95.376543) + (xy 66.346982 95.379447) + (xy 66.343461 95.383509) + (xy 66.34346 95.383511) + (xy 66.25714 95.483128) + (xy 66.257136 95.483133) + (xy 66.253618 95.487194) + (xy 66.251385 95.492082) + (xy 66.251382 95.492088) + (xy 66.196626 95.611987) + (xy 66.196624 95.611993) + (xy 66.194392 95.616881) + (xy 66.193627 95.622195) + (xy 66.193626 95.622202) + (xy 66.176192 95.743462) + (xy 66.174102 95.758) + (xy 66.174867 95.763321) + (xy 66.193626 95.893797) + (xy 66.193627 95.893802) + (xy 66.194392 95.899119) + (xy 66.196624 95.904008) + (xy 66.196626 95.904012) + (xy 66.251382 96.023911) + (xy 66.251383 96.023913) + (xy 66.253618 96.028806) + (xy 66.257138 96.032869) + (xy 66.25714 96.032871) + (xy 66.28565 96.065773) + (xy 66.346982 96.136553) + (xy 66.351504 96.139459) + (xy 66.351505 96.13946) + (xy 66.462397 96.210727) + (xy 66.466919 96.213633) + (xy 66.603715 96.2538) + (xy 66.740904 96.2538) + (xy 66.746285 96.2538) + (xy 66.883081 96.213633) + (xy 66.940967 96.17643) + (xy 66.989662 96.164923) + (xy 67.034798 96.186518) + (xy 67.477974 96.629694) + (xy 67.494276 96.65409) + (xy 67.5 96.682868) + (xy 67.5 96.878104) + (xy 67.487326 96.919884) + (xy 67.453575 96.947581) + (xy 67.413163 96.951558) + (xy 67.413112 96.952083) + (xy 67.410475 96.951823) + (xy 67.410124 96.951857) + (xy 67.409857 96.951804) + (xy 67.409434 96.95172) + (xy 67.409429 96.951719) + (xy 67.405812 96.951) + (xy 66.968188 96.951) + (xy 66.964563 96.95172) + (xy 66.964563 96.951721) + (xy 66.919738 96.960637) + (xy 66.919736 96.960637) + (xy 66.912475 96.962082) + (xy 66.906321 96.966193) + (xy 66.906313 96.966197) + (xy 66.903776 96.967893) + (xy 66.862 96.980565) + (xy 66.820224 96.967893) + (xy 66.817686 96.966197) + (xy 66.817679 96.966194) + (xy 66.811525 96.962082) + (xy 66.804261 96.960637) + (xy 66.77838 96.955489) + (xy 66.755812 96.951) + (xy 66.318188 96.951) + (xy 66.314563 96.95172) + (xy 66.314563 96.951721) + (xy 66.269738 96.960637) + (xy 66.269736 96.960637) + (xy 66.262475 96.962082) + (xy 66.256322 96.966193) + (xy 66.256313 96.966197) + (xy 66.253324 96.968195) + (xy 66.211549 96.980866) + (xy 66.169774 96.968195) + (xy 66.16749 96.966669) + (xy 66.154063 96.961107) + (xy 66.109386 96.952221) + (xy 66.102066 96.9515) + (xy 66.023902 96.9515) + (xy 66.016092 96.953592) + (xy 66.014 96.961402) + (xy 66.014 98.322598) + (xy 66.016092 98.330407) + (xy 66.023902 98.3325) + (xy 66.102066 98.3325) + (xy 66.109386 98.331778) + (xy 66.129129 98.327852) + (xy 66.172578 98.332131) + (xy 66.206327 98.359828) + (xy 66.219 98.401607) + (xy 66.219 98.908131) + (xy 66.213276 98.936909) + (xy 66.196974 98.961306) + (xy 66.081282 99.076996) + (xy 66.076448 99.081426) + (xy 66.051678 99.102211) + (xy 66.051673 99.102215) + (xy 66.04664 99.10644) + (xy 66.043355 99.112129) + (xy 66.043352 99.112133) + (xy 66.027189 99.140128) + (xy 66.023667 99.145655) + (xy 66.005122 99.172142) + (xy 66.005119 99.172147) + (xy 66.001348 99.177534) + (xy 65.999644 99.183888) + (xy 65.996867 99.189846) + (xy 65.99686 99.189842) + (xy 65.996099 99.191678) + (xy 65.996106 99.191681) + (xy 65.993854 99.197866) + (xy 65.990568 99.20356) + (xy 65.989426 99.210032) + (xy 65.989425 99.210037) + (xy 65.983813 99.241865) + (xy 65.982394 99.248266) + (xy 65.974025 99.279499) + (xy 65.974024 99.279507) + (xy 65.972323 99.285857) + (xy 65.972896 99.292408) + (xy 65.972896 99.29241) + (xy 65.975714 99.324616) + (xy 65.976 99.33117) + (xy 65.976 99.746888) + (xy 65.964228 99.787285) + (xy 65.941339 99.807365) + (xy 65.942571 99.809124) + (xy 65.937183 99.812896) + (xy 65.931218 99.815678) + (xy 65.926565 99.82033) + (xy 65.926562 99.820333) + (xy 65.853333 99.893562) + (xy 65.85333 99.893565) + (xy 65.848678 99.898218) + (xy 65.845898 99.904179) + (xy 65.845895 99.904184) + (xy 65.801779 99.998793) + (xy 65.799347 100.004009) + (xy 65.798596 100.009711) + (xy 65.798596 100.009712) + (xy 65.793321 100.049781) + (xy 65.793 100.052217) + (xy 65.793 100.054673) + (xy 65.793 100.054674) + (xy 65.793 100.407323) + (xy 65.793 100.407338) + (xy 65.793001 100.409782) + (xy 65.79332 100.412207) + (xy 65.793321 100.412218) + (xy 65.798595 100.452283) + (xy 65.798596 100.452286) + (xy 65.799347 100.457991) + (xy 65.801779 100.463206) + (xy 65.80178 100.463209) + (xy 65.845895 100.557815) + (xy 65.845896 100.557817) + (xy 65.848678 100.563782) + (xy 65.931218 100.646322) + (xy 65.937185 100.649104) + (xy 65.938047 100.649708) + (xy 65.966297 100.687653) + (xy 65.966299 100.73496) + (xy 65.938052 100.772907) + (xy 65.926854 100.780748) + (xy 65.853749 100.853853) + (xy 65.846311 100.864475) + (xy 65.802268 100.958926) + (xy 65.799086 100.969843) + (xy 65.79382 101.00984) + (xy 65.7935 101.014734) + (xy 65.7935 101.054098) + (xy 65.795592 101.061907) + (xy 65.803402 101.064) + (xy 66.3458 101.064) + (xy 66.3834 101.074075) + (xy 66.410925 101.1016) + (xy 66.421 101.1392) + (xy 66.421 101.651598) + (xy 66.423092 101.659407) + (xy 66.430902 101.6615) + (xy 66.500266 101.6615) + (xy 66.505159 101.661179) + (xy 66.545156 101.655913) + (xy 66.556073 101.652731) + (xy 66.650524 101.608688) + (xy 66.661146 101.60125) + (xy 66.73425 101.528146) + (xy 66.741688 101.517524) + (xy 66.785731 101.423073) + (xy 66.788913 101.412156) + (xy 66.790943 101.396742) + (xy 66.808317 101.357719) + (xy 66.844142 101.334454) + (xy 66.886858 101.334454) + (xy 66.922683 101.357719) + (xy 66.940057 101.396742) + (xy 66.942086 101.412156) + (xy 66.945268 101.423073) + (xy 66.989311 101.517524) + (xy 66.996749 101.528146) + (xy 67.069853 101.60125) + (xy 67.080475 101.608688) + (xy 67.174926 101.652731) + (xy 67.185843 101.655913) + (xy 67.22584 101.661179) + (xy 67.230734 101.6615) + (xy 67.300098 101.6615) + (xy 67.307907 101.659407) + (xy 67.31 101.651598) + (xy 67.31 101.1392) + (xy 67.320075 101.1016) + (xy 67.3476 101.074075) + (xy 67.3852 101.064) + (xy 67.4888 101.064) + (xy 67.5264 101.074075) + (xy 67.553925 101.1016) + (xy 67.564 101.1392) + (xy 67.564 101.651598) + (xy 67.566092 101.659407) + (xy 67.573902 101.6615) + (xy 67.643266 101.6615) + (xy 67.648159 101.661179) + (xy 67.688156 101.655913) + (xy 67.699073 101.652731) + (xy 67.793524 101.608688) + (xy 67.804146 101.60125) + (xy 67.87725 101.528146) + (xy 67.884688 101.517524) + (xy 67.928731 101.423073) + (xy 67.931913 101.412156) + (xy 67.937179 101.372159) + (xy 67.9375 101.367266) + (xy 67.9375 101.297571) + (xy 67.950173 101.255792) + (xy 67.983922 101.228095) + (xy 68.027371 101.223816) + (xy 68.065874 101.244397) + (xy 68.190183 101.368706) + (xy 68.209082 101.407023) + (xy 68.209985 101.406761) + (xy 68.211475 101.411875) + (xy 68.211565 101.412056) + (xy 68.211595 101.412284) + (xy 68.211596 101.412288) + (xy 68.212347 101.417991) + (xy 68.221106 101.436775) + (xy 68.258895 101.517815) + (xy 68.258896 101.517817) + (xy 68.261678 101.523782) + (xy 68.344218 101.606322) + (xy 68.450009 101.655653) + (xy 68.498217 101.662) + (xy 68.915782 101.661999) + (xy 68.963991 101.655653) + (xy 69.069782 101.606322) + (xy 69.076616 101.599487) + (xy 69.110328 101.580023) + (xy 69.149254 101.580023) + (xy 69.182965 101.599487) + (xy 69.305743 101.722265) + (xy 69.315525 101.73431) + (xy 69.32444 101.747956) + (xy 69.352304 101.769643) + (xy 69.35929 101.775813) + (xy 69.361591 101.778114) + (xy 69.36412 101.779919) + (xy 69.364124 101.779923) + (xy 69.37962 101.790986) + (xy 69.382113 101.792845) + (xy 69.419994 101.822329) + (xy 69.419998 101.822331) + (xy 69.424915 101.826158) + (xy 69.430704 101.828145) + (xy 69.431255 101.828489) + (xy 69.433547 101.829669) + (xy 69.434147 101.829917) + (xy 69.43913 101.833475) + (xy 69.467071 101.841793) + (xy 69.491104 101.848948) + (xy 69.494065 101.849897) + (xy 69.504023 101.853315) + (xy 69.545339 101.8675) + (xy 69.551459 101.8675) + (xy 69.552087 101.867645) + (xy 69.554648 101.868018) + (xy 69.555293 101.868058) + (xy 69.561159 101.869805) + (xy 69.615336 101.867564) + (xy 69.618445 101.8675) + (xy 69.67477 101.8675) + (xy 69.714062 101.878581) + (xy 69.741773 101.908559) + (xy 69.764563 101.953286) + (xy 69.764565 101.953289) + (xy 69.767254 101.958566) + (xy 69.860434 102.051746) + (xy 69.865709 102.054434) + (xy 69.865715 102.054438) + (xy 69.93544 102.089965) + (xy 69.965419 102.117676) + (xy 69.9765 102.156968) + (xy 69.9765 102.27112) + (xy 69.971758 102.2974) + (xy 69.958132 102.320366) + (xy 69.94014 102.341128) + (xy 69.940136 102.341133) + (xy 69.936618 102.345194) + (xy 69.934385 102.350082) + (xy 69.934382 102.350088) + (xy 69.879626 102.469987) + (xy 69.879624 102.469993) + (xy 69.877392 102.474881) + (xy 69.876627 102.480195) + (xy 69.876626 102.480202) + (xy 69.858594 102.605625) + (xy 69.857102 102.616) + (xy 69.857867 102.621321) + (xy 69.876626 102.751797) + (xy 69.876627 102.751802) + (xy 69.877392 102.757119) + (xy 69.879624 102.762008) + (xy 69.879626 102.762012) + (xy 69.934382 102.881911) + (xy 69.934383 102.881913) + (xy 69.936618 102.886806) + (xy 69.940138 102.890869) + (xy 69.94014 102.890871) + (xy 69.951948 102.904498) + (xy 70.029982 102.994553) + (xy 70.034504 102.997459) + (xy 70.034505 102.99746) + (xy 70.145397 103.068727) + (xy 70.149919 103.071633) + (xy 70.286715 103.1118) + (xy 70.423904 103.1118) + (xy 70.429285 103.1118) + (xy 70.566081 103.071633) + (xy 70.686018 102.994553) + (xy 70.715999 102.959954) + (xy 70.741592 102.940795) + (xy 70.772831 102.934) + (xy 72.862132 102.934) + (xy 72.89091 102.939724) + (xy 72.915306 102.956026) + (xy 74.824995 104.865715) + (xy 74.829427 104.870551) + (xy 74.849643 104.894644) + (xy 74.85444 104.90036) + (xy 74.888134 104.919813) + (xy 74.893658 104.923332) + (xy 74.925534 104.945652) + (xy 74.931886 104.947353) + (xy 74.937852 104.950136) + (xy 74.937848 104.950144) + (xy 74.939678 104.950902) + (xy 74.939682 104.950893) + (xy 74.945861 104.953142) + (xy 74.95156 104.956432) + (xy 74.989882 104.963188) + (xy 74.996275 104.964606) + (xy 75.033857 104.974677) + (xy 75.072616 104.971285) + (xy 75.07917 104.971) + (xy 76.29585 104.971) + (xy 76.340647 104.985799) + (xy 76.367812 105.024371) + (xy 76.375515 105.049767) + (xy 76.375518 105.049775) + (xy 76.376588 105.053301) + (xy 76.473252 105.234147) + (xy 76.475596 105.237003) + (xy 76.475598 105.237006) + (xy 76.595088 105.382605) + (xy 76.60334 105.39266) + (xy 76.636136 105.419575) + (xy 76.713624 105.483168) + (xy 76.761853 105.522748) + (xy 76.942699 105.619412) + (xy 77.138928 105.678938) + (xy 77.343 105.699037) + (xy 77.547072 105.678938) + (xy 77.743301 105.619412) + (xy 77.924147 105.522748) + (xy 78.08266 105.39266) + (xy 78.212748 105.234147) + (xy 78.309412 105.053301) + (xy 78.368938 104.857072) + (xy 78.389037 104.653) + (xy 78.368938 104.448928) + (xy 78.328918 104.317) + (xy 88.094566 104.317) + (xy 88.11427 104.567363) + (xy 88.114957 104.570226) + (xy 88.114959 104.570236) + (xy 88.172205 104.80868) + (xy 88.172897 104.811561) + (xy 88.174028 104.814293) + (xy 88.174029 104.814294) + (xy 88.261045 105.024371) + (xy 88.269003 105.043582) + (xy 88.27054 105.04609) + (xy 88.270542 105.046094) + (xy 88.366403 105.202525) + (xy 88.400222 105.257712) + (xy 88.402136 105.259953) + (xy 88.402139 105.259957) + (xy 88.517479 105.395003) + (xy 88.563322 105.448678) + (xy 88.565562 105.450591) + (xy 88.750522 105.608562) + (xy 88.754288 105.611778) + (xy 88.968418 105.742997) + (xy 89.200439 105.839103) + (xy 89.444637 105.89773) + (xy 89.632308 105.9125) + (xy 89.756212 105.9125) + (xy 89.757692 105.9125) + (xy 89.945363 105.89773) + (xy 90.189561 105.839103) + (xy 90.421582 105.742997) + (xy 90.635712 105.611778) + (xy 90.826678 105.448678) + (xy 90.989778 105.257712) + (xy 91.120997 105.043582) + (xy 91.217103 104.811561) + (xy 91.27573 104.567363) + (xy 91.295434 104.317) + (xy 91.27573 104.066637) + (xy 91.217103 103.822439) + (xy 91.120997 103.590418) + (xy 90.989778 103.376288) + (xy 90.982722 103.368027) + (xy 90.828591 103.187562) + (xy 90.826678 103.185322) + (xy 90.818111 103.178005) + (xy 90.637957 103.024139) + (xy 90.637953 103.024136) + (xy 90.635712 103.022222) + (xy 90.610001 103.006466) + (xy 90.424094 102.892542) + (xy 90.42409 102.89254) + (xy 90.421582 102.891003) + (xy 90.39665 102.880676) + (xy 90.387775 102.877) + (xy 92.768389 102.877) + (xy 92.768751 102.880675) + (xy 92.768751 102.880676) + (xy 92.786369 103.059563) + (xy 92.786789 103.063821) + (xy 92.787859 103.06735) + (xy 92.78786 103.067352) + (xy 92.801343 103.1118) + (xy 92.841283 103.243462) + (xy 92.843019 103.246711) + (xy 92.843023 103.246719) + (xy 92.919437 103.389678) + (xy 92.929776 103.40902) + (xy 93.048867 103.554133) + (xy 93.19398 103.673224) + (xy 93.23472 103.695) + (xy 93.35628 103.759976) + (xy 93.356283 103.759977) + (xy 93.359538 103.761717) + (xy 93.539179 103.816211) + (xy 93.698495 103.831902) + (xy 93.717227 103.833747) + (xy 93.726 103.834611) + (xy 93.734773 103.833747) + (xy 93.753505 103.831902) + (xy 93.912821 103.816211) + (xy 94.092462 103.761717) + (xy 94.25802 103.673224) + (xy 94.305121 103.634569) + (xy 95.651268 103.634569) + (xy 95.656004 103.641412) + (xy 95.691401 103.670461) + (xy 95.697521 103.67455) + (xy 95.856467 103.759508) + (xy 95.863268 103.762326) + (xy 96.035742 103.814645) + (xy 96.042952 103.81608) + (xy 96.222325 103.833747) + (xy 96.229675 103.833747) + (xy 96.409047 103.81608) + (xy 96.416257 103.814645) + (xy 96.588731 103.762326) + (xy 96.595532 103.759508) + (xy 96.75448 103.674549) + (xy 96.760597 103.670462) + (xy 96.795993 103.641412) + (xy 96.80073 103.634568) + (xy 96.796685 103.62729) + (xy 96.233 103.063605) + (xy 96.226 103.059563) + (xy 96.218999 103.063605) + (xy 95.655314 103.627289) + (xy 95.651268 103.634569) + (xy 94.305121 103.634569) + (xy 94.403133 103.554133) + (xy 94.522224 103.40902) + (xy 94.610717 103.243462) + (xy 94.665211 103.063821) + (xy 94.683249 102.880675) + (xy 95.269253 102.880675) + (xy 95.286919 103.060047) + (xy 95.288354 103.067257) + (xy 95.340673 103.239731) + (xy 95.343491 103.246532) + (xy 95.428449 103.405478) + (xy 95.432538 103.411598) + (xy 95.461586 103.446994) + (xy 95.46843 103.45173) + (xy 95.475709 103.447684) + (xy 96.039394 102.884) + (xy 96.043436 102.877) + (xy 96.408563 102.877) + (xy 96.412605 102.884) + (xy 96.97629 103.447685) + (xy 96.983568 103.45173) + (xy 96.990412 103.446993) + (xy 97.019462 103.411597) + (xy 97.023549 103.40548) + (xy 97.108508 103.246532) + (xy 97.111326 103.239731) + (xy 97.163645 103.067257) + (xy 97.16508 103.060047) + (xy 97.182747 102.880675) + (xy 97.182747 102.873325) + (xy 97.18242 102.87) + (xy 97.848389 102.87) + (xy 97.848751 102.873676) + (xy 97.861829 103.006466) + (xy 97.866789 103.056821) + (xy 97.867859 103.06035) + (xy 97.86786 103.060352) + (xy 97.881393 103.104963) + (xy 97.921283 103.236462) + (xy 97.923019 103.239711) + (xy 97.923023 103.239719) + (xy 98.008034 103.398761) + (xy 98.009776 103.40202) + (xy 98.025977 103.421761) + (xy 98.10324 103.515907) + (xy 98.128867 103.547133) + (xy 98.27398 103.666224) + (xy 98.315332 103.688327) + (xy 98.43628 103.752976) + (xy 98.436283 103.752977) + (xy 98.439538 103.754717) + (xy 98.619179 103.809211) + (xy 98.806 103.827611) + (xy 98.992821 103.809211) + (xy 99.172462 103.754717) + (xy 99.33802 103.666224) + (xy 99.483133 103.547133) + (xy 99.602224 103.40202) + (xy 99.690717 103.236462) + (xy 99.745211 103.056821) + (xy 99.763611 102.87) + (xy 100.348389 102.87) + (xy 100.348751 102.873676) + (xy 100.361829 103.006466) + (xy 100.366789 103.056821) + (xy 100.367859 103.06035) + (xy 100.36786 103.060352) + (xy 100.381393 103.104963) + (xy 100.421283 103.236462) + (xy 100.423019 103.239711) + (xy 100.423023 103.239719) + (xy 100.508034 103.398761) + (xy 100.509776 103.40202) + (xy 100.525977 103.421761) + (xy 100.60324 103.515907) + (xy 100.628867 103.547133) + (xy 100.77398 103.666224) + (xy 100.815332 103.688327) + (xy 100.93628 103.752976) + (xy 100.936283 103.752977) + (xy 100.939538 103.754717) + (xy 101.119179 103.809211) + (xy 101.306 103.827611) + (xy 101.492821 103.809211) + (xy 101.672462 103.754717) + (xy 101.83802 103.666224) + (xy 101.983133 103.547133) + (xy 102.102224 103.40202) + (xy 102.190717 103.236462) + (xy 102.245211 103.056821) + (xy 102.263611 102.87) + (xy 102.245211 102.683179) + (xy 102.190717 102.503538) + (xy 102.18654 102.495724) + (xy 102.121305 102.373678) + (xy 102.102224 102.33798) + (xy 101.983133 102.192867) + (xy 101.83802 102.073776) + (xy 101.820715 102.064526) + (xy 101.675719 101.987023) + (xy 101.675711 101.987019) + (xy 101.672462 101.985283) + (xy 101.521056 101.939354) + (xy 101.496352 101.93186) + (xy 101.49635 101.931859) + (xy 101.492821 101.930789) + (xy 101.48915 101.930427) + (xy 101.489148 101.930427) + (xy 101.309676 101.912751) + (xy 101.306 101.912389) + (xy 101.302324 101.912751) + (xy 101.122851 101.930427) + (xy 101.122847 101.930427) + (xy 101.119179 101.930789) + (xy 101.115651 101.931859) + (xy 101.115647 101.93186) + (xy 100.943068 101.984212) + (xy 100.943066 101.984212) + (xy 100.939538 101.985283) + (xy 100.936292 101.987018) + (xy 100.93628 101.987023) + (xy 100.777238 102.072034) + (xy 100.777233 102.072036) + (xy 100.77398 102.073776) + (xy 100.771127 102.076117) + (xy 100.771123 102.07612) + (xy 100.631722 102.190523) + (xy 100.631716 102.190528) + (xy 100.628867 102.192867) + (xy 100.626528 102.195716) + (xy 100.626523 102.195722) + (xy 100.51212 102.335123) + (xy 100.512117 102.335127) + (xy 100.509776 102.33798) + (xy 100.508036 102.341233) + (xy 100.508034 102.341238) + (xy 100.423023 102.50028) + (xy 100.423018 102.500292) + (xy 100.421283 102.503538) + (xy 100.420212 102.507066) + (xy 100.420212 102.507068) + (xy 100.371111 102.668932) + (xy 100.366789 102.683179) + (xy 100.366427 102.686847) + (xy 100.366427 102.686851) + (xy 100.349435 102.859384) + (xy 100.348389 102.87) + (xy 99.763611 102.87) + (xy 99.745211 102.683179) + (xy 99.690717 102.503538) + (xy 99.68654 102.495724) + (xy 99.621305 102.373678) + (xy 99.602224 102.33798) + (xy 99.483133 102.192867) + (xy 99.33802 102.073776) + (xy 99.320715 102.064526) + (xy 99.175719 101.987023) + (xy 99.175711 101.987019) + (xy 99.172462 101.985283) + (xy 99.021056 101.939354) + (xy 98.996352 101.93186) + (xy 98.99635 101.931859) + (xy 98.992821 101.930789) + (xy 98.98915 101.930427) + (xy 98.989148 101.930427) + (xy 98.809676 101.912751) + (xy 98.806 101.912389) + (xy 98.802324 101.912751) + (xy 98.622851 101.930427) + (xy 98.622847 101.930427) + (xy 98.619179 101.930789) + (xy 98.615651 101.931859) + (xy 98.615647 101.93186) + (xy 98.443068 101.984212) + (xy 98.443066 101.984212) + (xy 98.439538 101.985283) + (xy 98.436292 101.987018) + (xy 98.43628 101.987023) + (xy 98.277238 102.072034) + (xy 98.277233 102.072036) + (xy 98.27398 102.073776) + (xy 98.271127 102.076117) + (xy 98.271123 102.07612) + (xy 98.131722 102.190523) + (xy 98.131716 102.190528) + (xy 98.128867 102.192867) + (xy 98.126528 102.195716) + (xy 98.126523 102.195722) + (xy 98.01212 102.335123) + (xy 98.012117 102.335127) + (xy 98.009776 102.33798) + (xy 98.008036 102.341233) + (xy 98.008034 102.341238) + (xy 97.923023 102.50028) + (xy 97.923018 102.500292) + (xy 97.921283 102.503538) + (xy 97.920212 102.507066) + (xy 97.920212 102.507068) + (xy 97.871111 102.668932) + (xy 97.866789 102.683179) + (xy 97.866427 102.686847) + (xy 97.866427 102.686851) + (xy 97.849435 102.859384) + (xy 97.848389 102.87) + (xy 97.18242 102.87) + (xy 97.16508 102.693952) + (xy 97.163645 102.686742) + (xy 97.111326 102.514268) + (xy 97.108508 102.507467) + (xy 97.02355 102.348521) + (xy 97.019461 102.342401) + (xy 96.990412 102.307004) + (xy 96.983569 102.302268) + (xy 96.976289 102.306314) + (xy 96.412605 102.869999) + (xy 96.408563 102.877) + (xy 96.043436 102.877) + (xy 96.039394 102.869999) + (xy 95.475709 102.306314) + (xy 95.46843 102.302269) + (xy 95.461585 102.307006) + (xy 95.432538 102.3424) + (xy 95.428448 102.348523) + (xy 95.343491 102.507467) + (xy 95.340673 102.514268) + (xy 95.288354 102.686742) + (xy 95.286919 102.693952) + (xy 95.269253 102.873325) + (xy 95.269253 102.880675) + (xy 94.683249 102.880675) + (xy 94.683611 102.877) + (xy 94.682921 102.869999) + (xy 94.68123 102.85283) + (xy 94.665211 102.690179) + (xy 94.610717 102.510538) + (xy 94.608862 102.507068) + (xy 94.553241 102.403008) + (xy 94.522224 102.34498) + (xy 94.519153 102.341238) + (xy 94.405476 102.202722) + (xy 94.403133 102.199867) + (xy 94.394603 102.192867) + (xy 94.30512 102.11943) + (xy 95.651269 102.11943) + (xy 95.655314 102.126709) + (xy 96.218999 102.690394) + (xy 96.226 102.694436) + (xy 96.233 102.690394) + (xy 96.796684 102.126709) + (xy 96.80073 102.11943) + (xy 96.795994 102.112586) + (xy 96.760598 102.083538) + (xy 96.754478 102.079449) + (xy 96.595532 101.994491) + (xy 96.588731 101.991673) + (xy 96.416257 101.939354) + (xy 96.409047 101.937919) + (xy 96.229675 101.920253) + (xy 96.222325 101.920253) + (xy 96.042952 101.937919) + (xy 96.035742 101.939354) + (xy 95.863268 101.991673) + (xy 95.856467 101.994491) + (xy 95.697523 102.079448) + (xy 95.6914 102.083538) + (xy 95.656006 102.112585) + (xy 95.651269 102.11943) + (xy 94.30512 102.11943) + (xy 94.294708 102.110885) + (xy 94.25802 102.080776) + (xy 94.227619 102.064526) + (xy 94.095719 101.994023) + (xy 94.095711 101.994019) + (xy 94.092462 101.992283) + (xy 93.912821 101.937789) + (xy 93.90915 101.937427) + (xy 93.909148 101.937427) + (xy 93.729676 101.919751) + (xy 93.726 101.919389) + (xy 93.722324 101.919751) + (xy 93.542851 101.937427) + (xy 93.542847 101.937427) + (xy 93.539179 101.937789) + (xy 93.535651 101.938859) + (xy 93.535647 101.93886) + (xy 93.363068 101.991212) + (xy 93.363066 101.991212) + (xy 93.359538 101.992283) + (xy 93.356292 101.994018) + (xy 93.35628 101.994023) + (xy 93.197238 102.079034) + (xy 93.197233 102.079036) + (xy 93.19398 102.080776) + (xy 93.191127 102.083117) + (xy 93.191123 102.08312) + (xy 93.051722 102.197523) + (xy 93.051716 102.197528) + (xy 93.048867 102.199867) + (xy 93.046528 102.202716) + (xy 93.046523 102.202722) + (xy 92.932121 102.342122) + (xy 92.929776 102.34498) + (xy 92.928036 102.348233) + (xy 92.928034 102.348238) + (xy 92.843023 102.50728) + (xy 92.843018 102.507292) + (xy 92.841283 102.510538) + (xy 92.840212 102.514066) + (xy 92.840212 102.514068) + (xy 92.788059 102.685993) + (xy 92.786789 102.690179) + (xy 92.786427 102.693847) + (xy 92.786427 102.693851) + (xy 92.769078 102.87) + (xy 92.768389 102.877) + (xy 90.387775 102.877) + (xy 90.192294 102.796029) + (xy 90.192293 102.796028) + (xy 90.189561 102.794897) + (xy 90.186683 102.794206) + (xy 90.18668 102.794205) + (xy 89.948236 102.736959) + (xy 89.948226 102.736957) + (xy 89.945363 102.73627) + (xy 89.942416 102.736038) + (xy 89.759169 102.721616) + (xy 89.759162 102.721615) + (xy 89.757692 102.7215) + (xy 89.632308 102.7215) + (xy 89.630838 102.721615) + (xy 89.63083 102.721616) + (xy 89.447583 102.736038) + (xy 89.447581 102.736038) + (xy 89.444637 102.73627) + (xy 89.441775 102.736957) + (xy 89.441763 102.736959) + (xy 89.203319 102.794205) + (xy 89.203312 102.794207) + (xy 89.200439 102.794897) + (xy 89.19771 102.796027) + (xy 89.197705 102.796029) + (xy 88.97114 102.889875) + (xy 88.971134 102.889877) + (xy 88.968418 102.891003) + (xy 88.965914 102.892537) + (xy 88.965905 102.892542) + (xy 88.756803 103.02068) + (xy 88.756795 103.020685) + (xy 88.754288 103.022222) + (xy 88.752051 103.024131) + (xy 88.752042 103.024139) + (xy 88.565562 103.183408) + (xy 88.565556 103.183413) + (xy 88.563322 103.185322) + (xy 88.561413 103.187556) + (xy 88.561408 103.187562) + (xy 88.402139 103.374042) + (xy 88.402131 103.374051) + (xy 88.400222 103.376288) + (xy 88.398685 103.378795) + (xy 88.39868 103.378803) + (xy 88.270542 103.587905) + (xy 88.270537 103.587914) + (xy 88.269003 103.590418) + (xy 88.267877 103.593134) + (xy 88.267875 103.59314) + (xy 88.175327 103.816572) + (xy 88.172897 103.822439) + (xy 88.172207 103.825312) + (xy 88.172205 103.825319) + (xy 88.114959 104.063763) + (xy 88.114957 104.063775) + (xy 88.11427 104.066637) + (xy 88.094566 104.317) + (xy 78.328918 104.317) + (xy 78.309412 104.252699) + (xy 78.212748 104.071853) + (xy 78.206938 104.064774) + (xy 78.085003 103.916195) + (xy 78.08266 103.91334) + (xy 78.057002 103.892283) + (xy 77.927006 103.785598) + (xy 77.927003 103.785596) + (xy 77.924147 103.783252) + (xy 77.743301 103.686588) + (xy 77.739774 103.685518) + (xy 77.739769 103.685516) + (xy 77.550603 103.628133) + (xy 77.550601 103.628132) + (xy 77.547072 103.627062) + (xy 77.543401 103.6267) + (xy 77.543399 103.6267) + (xy 77.346676 103.607325) + (xy 77.343 103.606963) + (xy 77.339324 103.607325) + (xy 77.1426 103.6267) + (xy 77.142596 103.6267) + (xy 77.138928 103.627062) + (xy 77.1354 103.628132) + (xy 77.135396 103.628133) + (xy 76.94623 103.685516) + (xy 76.946222 103.685519) + (xy 76.942699 103.686588) + (xy 76.939447 103.688325) + (xy 76.939445 103.688327) + (xy 76.765111 103.78151) + (xy 76.765106 103.781512) + (xy 76.761853 103.783252) + (xy 76.759 103.785593) + (xy 76.758993 103.785598) + (xy 76.606195 103.910996) + (xy 76.606189 103.911001) + (xy 76.60334 103.91334) + (xy 76.601001 103.916189) + (xy 76.600996 103.916195) + (xy 76.475598 104.068993) + (xy 76.475593 104.069) + (xy 76.473252 104.071853) + (xy 76.471512 104.075106) + (xy 76.47151 104.075111) + (xy 76.384721 104.237483) + (xy 76.376588 104.252699) + (xy 76.375519 104.25622) + (xy 76.375515 104.256232) + (xy 76.367812 104.281629) + (xy 76.340647 104.320201) + (xy 76.29585 104.335) + (xy 75.224868 104.335) + (xy 75.19609 104.329276) + (xy 75.171694 104.312974) + (xy 73.262004 102.403284) + (xy 73.257572 102.398448) + (xy 73.236787 102.373678) + (xy 73.23256 102.36864) + (xy 73.226867 102.365353) + (xy 73.226861 102.365348) + (xy 73.198866 102.349185) + (xy 73.193335 102.345662) + (xy 73.178283 102.335123) + (xy 73.161466 102.323348) + (xy 73.155111 102.321644) + (xy 73.14915 102.318865) + (xy 73.149153 102.318857) + (xy 73.147321 102.318098) + (xy 73.147319 102.318107) + (xy 73.141136 102.315856) + (xy 73.13544 102.312568) + (xy 73.128963 102.311426) + (xy 73.128961 102.311425) + (xy 73.097133 102.305813) + (xy 73.090731 102.304394) + (xy 73.059498 102.296025) + (xy 73.059493 102.296024) + (xy 73.053143 102.294323) + (xy 73.046591 102.294896) + (xy 73.046589 102.294896) + (xy 73.014384 102.297714) + (xy 73.00783 102.298) + (xy 72.880304 102.298) + (xy 72.83771 102.284774) + (xy 72.810099 102.249749) + (xy 72.807182 102.205245) + (xy 72.829985 102.166916) + (xy 72.870488 102.148243) + (xy 72.891619 102.145461) + (xy 73.000607 102.09464) + (xy 73.08564 102.009607) + (xy 73.136461 101.900619) + (xy 73.143 101.850952) + (xy 73.143 101.471048) + (xy 73.136461 101.421381) + (xy 73.132159 101.412156) + (xy 73.109336 101.363211) + (xy 73.08564 101.312393) + (xy 73.000607 101.22736) + (xy 72.972546 101.214275) + (xy 72.896832 101.178969) + (xy 72.896827 101.178967) + (xy 72.891619 101.176539) + (xy 72.885917 101.175788) + (xy 72.885916 101.175788) + (xy 72.844385 101.17032) + (xy 72.84438 101.170319) + (xy 72.841952 101.17) + (xy 71.587048 101.17) + (xy 71.58462 101.170319) + (xy 71.584614 101.17032) + (xy 71.543083 101.175788) + (xy 71.543081 101.175788) + (xy 71.537381 101.176539) + (xy 71.532174 101.178966) + (xy 71.532167 101.178969) + (xy 71.434354 101.22458) + (xy 71.434352 101.224581) + (xy 71.428393 101.22736) + (xy 71.423743 101.232009) + (xy 71.42374 101.232012) + (xy 71.398279 101.257474) + (xy 71.373883 101.273776) + (xy 71.345105 101.2795) + (xy 71.096341 101.2795) + (xy 71.062201 101.271304) + (xy 71.035503 101.248501) + (xy 71.022067 101.216063) + (xy 71.014822 101.17032) + (xy 71.008571 101.130847) + (xy 70.948746 101.013434) + (xy 70.855566 100.920254) + (xy 70.850289 100.917565) + (xy 70.743426 100.863115) + (xy 70.743422 100.863113) + (xy 70.738153 100.860429) + (xy 70.732311 100.859503) + (xy 70.732306 100.859502) + (xy 70.643655 100.845462) + (xy 70.643652 100.845461) + (xy 70.640737 100.845) + (xy 70.637783 100.845) + (xy 70.078218 100.845) + (xy 70.078205 100.845) + (xy 70.075264 100.845001) + (xy 70.07235 100.845462) + (xy 70.072343 100.845463) + (xy 69.983692 100.859503) + (xy 69.98369 100.859503) + (xy 69.977847 100.860429) + (xy 69.972577 100.863113) + (xy 69.972574 100.863115) + (xy 69.86571 100.917565) + (xy 69.865706 100.917567) + (xy 69.860434 100.920254) + (xy 69.856247 100.92444) + (xy 69.856247 100.924441) + (xy 69.774779 101.005909) + (xy 69.741068 101.025372) + (xy 69.702142 101.025372) + (xy 69.668431 101.005908) + (xy 69.617252 100.954729) + (xy 69.607474 100.942689) + (xy 69.59856 100.929044) + (xy 69.593649 100.925221) + (xy 69.593643 100.925215) + (xy 69.57069 100.907351) + (xy 69.563705 100.901182) + (xy 69.563614 100.901091) + (xy 69.563613 100.90109) + (xy 69.561409 100.898886) + (xy 69.558874 100.897076) + (xy 69.558867 100.89707) + (xy 69.543354 100.885994) + (xy 69.540863 100.884137) + (xy 69.503001 100.854668) + (xy 69.503 100.854667) + (xy 69.498085 100.850842) + (xy 69.492296 100.848854) + (xy 69.491741 100.848507) + (xy 69.489457 100.847331) + (xy 69.488848 100.847079) + (xy 69.48387 100.843525) + (xy 69.477906 100.841749) + (xy 69.477899 100.841746) + (xy 69.431892 100.828049) + (xy 69.428934 100.827102) + (xy 69.405595 100.81909) + (xy 69.377661 100.8095) + (xy 69.371543 100.8095) + (xy 69.370905 100.809352) + (xy 69.368351 100.80898) + (xy 69.367703 100.80894) + (xy 69.361841 100.807195) + (xy 69.355618 100.807452) + (xy 69.355616 100.807452) + (xy 69.307663 100.809436) + (xy 69.304555 100.8095) + (xy 69.134752 100.8095) + (xy 69.105974 100.803776) + (xy 69.081578 100.787474) + (xy 69.074437 100.780333) + (xy 69.069782 100.775678) + (xy 69.063815 100.772895) + (xy 69.063393 100.7726) + (xy 69.035144 100.734653) + (xy 69.035144 100.687347) + (xy 69.063393 100.6494) + (xy 69.063815 100.649104) + (xy 69.069782 100.646322) + (xy 69.152322 100.563782) + (xy 69.201653 100.457991) + (xy 69.208 100.409783) + (xy 69.207999 100.190746) + (xy 69.6925 100.190746) + (xy 69.692962 100.196618) + (xy 69.706984 100.285151) + (xy 69.710597 100.296271) + (xy 69.764976 100.402994) + (xy 69.771851 100.412456) + (xy 69.856543 100.497148) + (xy 69.866005 100.504023) + (xy 69.972728 100.558402) + (xy 69.983848 100.562015) + (xy 70.072381 100.576037) + (xy 70.078254 100.5765) + (xy 70.221098 100.5765) + (xy 70.228907 100.574407) + (xy 70.231 100.566598) + (xy 70.485 100.566598) + (xy 70.487092 100.574407) + (xy 70.494902 100.5765) + (xy 70.637746 100.5765) + (xy 70.643618 100.576037) + (xy 70.732151 100.562015) + (xy 70.743271 100.558402) + (xy 70.849994 100.504023) + (xy 70.859456 100.497148) + (xy 70.944148 100.412456) + (xy 70.951023 100.402994) + (xy 71.005402 100.296271) + (xy 71.009015 100.285151) + (xy 71.023037 100.196618) + (xy 71.0235 100.190746) + (xy 71.0235 100.072902) + (xy 71.021407 100.065092) + (xy 71.013598 100.063) + (xy 70.494902 100.063) + (xy 70.487092 100.065092) + (xy 70.485 100.072902) + (xy 70.485 100.566598) + (xy 70.231 100.566598) + (xy 70.231 100.072902) + (xy 70.228907 100.065092) + (xy 70.221098 100.063) + (xy 69.702402 100.063) + (xy 69.694592 100.065092) + (xy 69.6925 100.072902) + (xy 69.6925 100.190746) + (xy 69.207999 100.190746) + (xy 69.207999 100.052218) + (xy 69.201653 100.004009) + (xy 69.175741 99.948441) + (xy 71.286501 99.948441) + (xy 71.286821 99.953336) + (xy 71.292276 99.994779) + (xy 71.295461 100.005705) + (xy 71.340993 100.103349) + (xy 71.348431 100.113971) + (xy 71.424028 100.189568) + (xy 71.43465 100.197006) + (xy 71.532298 100.24254) + (xy 71.543215 100.245722) + (xy 71.584663 100.251179) + (xy 71.589557 100.2515) + (xy 72.077598 100.2515) + (xy 72.085407 100.249407) + (xy 72.0875 100.241598) + (xy 72.0875 100.241597) + (xy 72.3415 100.241597) + (xy 72.343592 100.249406) + (xy 72.351402 100.251499) + (xy 72.839441 100.251499) + (xy 72.844336 100.251178) + (xy 72.885779 100.245723) + (xy 72.896705 100.242538) + (xy 72.994349 100.197006) + (xy 73.004971 100.189568) + (xy 73.080568 100.113971) + (xy 73.088006 100.103349) + (xy 73.13354 100.005701) + (xy 73.136722 99.994784) + (xy 73.142179 99.953336) + (xy 73.1425 99.948443) + (xy 73.1425 99.897902) + (xy 73.140407 99.890092) + (xy 73.132598 99.888) + (xy 72.351402 99.888) + (xy 72.343592 99.890092) + (xy 72.3415 99.897902) + (xy 72.3415 100.241597) + (xy 72.0875 100.241597) + (xy 72.0875 99.897902) + (xy 72.085407 99.890092) + (xy 72.077598 99.888) + (xy 71.296403 99.888) + (xy 71.288593 99.890092) + (xy 71.286501 99.897902) + (xy 71.286501 99.948441) + (xy 69.175741 99.948441) + (xy 69.152322 99.898218) + (xy 69.069782 99.815678) + (xy 69.063815 99.812896) + (xy 69.058429 99.809124) + (xy 69.05966 99.807365) + (xy 69.050237 99.799098) + (xy 69.6925 99.799098) + (xy 69.694592 99.806907) + (xy 69.702402 99.809) + (xy 70.221098 99.809) + (xy 70.228907 99.806907) + (xy 70.231 99.799098) + (xy 70.485 99.799098) + (xy 70.487092 99.806907) + (xy 70.494902 99.809) + (xy 71.013598 99.809) + (xy 71.021407 99.806907) + (xy 71.0235 99.799098) + (xy 71.0235 99.681254) + (xy 71.023037 99.675381) + (xy 71.014915 99.624098) + (xy 71.2865 99.624098) + (xy 71.288592 99.631907) + (xy 71.296402 99.634) + (xy 72.077598 99.634) + (xy 72.085407 99.631907) + (xy 72.0875 99.624098) + (xy 72.3415 99.624098) + (xy 72.343592 99.631907) + (xy 72.351402 99.634) + (xy 73.132597 99.634) + (xy 73.140406 99.631907) + (xy 73.142499 99.624098) + (xy 73.142499 99.573559) + (xy 73.142178 99.568663) + (xy 73.136723 99.52722) + (xy 73.133538 99.516294) + (xy 73.088006 99.41865) + (xy 73.080568 99.408028) + (xy 73.004971 99.332431) + (xy 72.994349 99.324993) + (xy 72.896701 99.279459) + (xy 72.885784 99.276277) + (xy 72.844336 99.27082) + (xy 72.839443 99.2705) + (xy 72.351402 99.2705) + (xy 72.343592 99.272592) + (xy 72.3415 99.280402) + (xy 72.3415 99.624098) + (xy 72.0875 99.624098) + (xy 72.0875 99.280403) + (xy 72.085407 99.272593) + (xy 72.077598 99.270501) + (xy 71.589559 99.270501) + (xy 71.584663 99.270821) + (xy 71.54322 99.276276) + (xy 71.532294 99.279461) + (xy 71.43465 99.324993) + (xy 71.424028 99.332431) + (xy 71.348431 99.408028) + (xy 71.340993 99.41865) + (xy 71.295459 99.516298) + (xy 71.292277 99.527215) + (xy 71.28682 99.568663) + (xy 71.2865 99.573557) + (xy 71.2865 99.624098) + (xy 71.014915 99.624098) + (xy 71.009015 99.586848) + (xy 71.005402 99.575728) + (xy 70.951023 99.469005) + (xy 70.944148 99.459543) + (xy 70.859456 99.374851) + (xy 70.849994 99.367976) + (xy 70.743271 99.313597) + (xy 70.732151 99.309984) + (xy 70.643618 99.295962) + (xy 70.637746 99.2955) + (xy 70.494902 99.2955) + (xy 70.487092 99.297592) + (xy 70.485 99.305402) + (xy 70.485 99.799098) + (xy 70.231 99.799098) + (xy 70.231 99.305402) + (xy 70.228907 99.297592) + (xy 70.221098 99.2955) + (xy 70.078254 99.2955) + (xy 70.072381 99.295962) + (xy 69.983848 99.309984) + (xy 69.972728 99.313597) + (xy 69.866005 99.367976) + (xy 69.856543 99.374851) + (xy 69.771851 99.459543) + (xy 69.764976 99.469005) + (xy 69.710597 99.575728) + (xy 69.706984 99.586848) + (xy 69.692962 99.675381) + (xy 69.6925 99.681254) + (xy 69.6925 99.799098) + (xy 69.050237 99.799098) + (xy 69.036772 99.787285) + (xy 69.025 99.746888) + (xy 69.025 99.58517) + (xy 69.025286 99.578616) + (xy 69.025802 99.57272) + (xy 69.028677 99.539857) + (xy 69.018606 99.502275) + (xy 69.017187 99.495875) + (xy 69.010432 99.45756) + (xy 69.007142 99.451861) + (xy 69.004893 99.445682) + (xy 69.004902 99.445678) + (xy 69.004144 99.443848) + (xy 69.004136 99.443852) + (xy 69.001353 99.437886) + (xy 68.999652 99.431534) + (xy 68.99438 99.424005) + (xy 68.977334 99.39966) + (xy 68.973809 99.394127) + (xy 68.972688 99.392186) + (xy 68.95436 99.36044) + (xy 68.924551 99.335427) + (xy 68.919715 99.330995) + (xy 68.158026 98.569306) + (xy 68.141724 98.54491) + (xy 68.136 98.516132) + (xy 68.136 98.51208) + (xy 68.14805 98.47125) + (xy 68.180337 98.443505) + (xy 68.222515 98.437736) + (xy 68.261065 98.455791) + (xy 68.307006 98.496491) + (xy 68.457311 98.575377) + (xy 68.622126 98.616) + (xy 68.787323 98.616) + (xy 68.791874 98.616) + (xy 68.956689 98.575377) + (xy 69.106994 98.496491) + (xy 69.234052 98.383927) + (xy 69.275592 98.323746) + (xy 71.7365 98.323746) + (xy 71.736962 98.329618) + (xy 71.750984 98.418151) + (xy 71.754597 98.429271) + (xy 71.808976 98.535994) + (xy 71.815851 98.545456) + (xy 71.900543 98.630148) + (xy 71.910005 98.637023) + (xy 72.016728 98.691402) + (xy 72.027848 98.695015) + (xy 72.116381 98.709037) + (xy 72.122254 98.7095) + (xy 72.240098 98.7095) + (xy 72.247907 98.707407) + (xy 72.25 98.699598) + (xy 72.504 98.699598) + (xy 72.506092 98.707407) + (xy 72.513902 98.7095) + (xy 72.631746 98.7095) + (xy 72.637618 98.709037) + (xy 72.726151 98.695015) + (xy 72.737271 98.691402) + (xy 72.843994 98.637023) + (xy 72.853456 98.630148) + (xy 72.938148 98.545456) + (xy 72.945023 98.535994) + (xy 72.999402 98.429271) + (xy 73.003015 98.418151) + (xy 73.017037 98.329618) + (xy 73.0175 98.323746) + (xy 73.0175 98.180902) + (xy 73.015407 98.173092) + (xy 73.007598 98.171) + (xy 72.513902 98.171) + (xy 72.506092 98.173092) + (xy 72.504 98.180902) + (xy 72.504 98.699598) + (xy 72.25 98.699598) + (xy 72.25 98.180902) + (xy 72.247907 98.173092) + (xy 72.240098 98.171) + (xy 71.746402 98.171) + (xy 71.738592 98.173092) + (xy 71.7365 98.180902) + (xy 71.7365 98.323746) + (xy 69.275592 98.323746) + (xy 69.33048 98.244227) + (xy 69.390673 98.08551) + (xy 69.406 97.959282) + (xy 69.406 97.907098) + (xy 71.7365 97.907098) + (xy 71.738592 97.914907) + (xy 71.746402 97.917) + (xy 72.240098 97.917) + (xy 72.247907 97.914907) + (xy 72.25 97.907098) + (xy 72.504 97.907098) + (xy 72.506092 97.914907) + (xy 72.513902 97.917) + (xy 73.007598 97.917) + (xy 73.015407 97.914907) + (xy 73.0175 97.907098) + (xy 73.0175 97.764254) + (xy 73.017037 97.758381) + (xy 73.003015 97.669848) + (xy 72.999402 97.658728) + (xy 72.945023 97.552005) + (xy 72.938148 97.542543) + (xy 72.853456 97.457851) + (xy 72.843994 97.450976) + (xy 72.737271 97.396597) + (xy 72.726151 97.392984) + (xy 72.637618 97.378962) + (xy 72.631746 97.3785) + (xy 72.513902 97.3785) + (xy 72.506092 97.380592) + (xy 72.504 97.388402) + (xy 72.504 97.907098) + (xy 72.25 97.907098) + (xy 72.25 97.388402) + (xy 72.247907 97.380592) + (xy 72.240098 97.3785) + (xy 72.122254 97.3785) + (xy 72.116381 97.378962) + (xy 72.027848 97.392984) + (xy 72.016728 97.396597) + (xy 71.910005 97.450976) + (xy 71.900543 97.457851) + (xy 71.815851 97.542543) + (xy 71.808976 97.552005) + (xy 71.754597 97.658728) + (xy 71.750984 97.669848) + (xy 71.736962 97.758381) + (xy 71.7365 97.764254) + (xy 71.7365 97.907098) + (xy 69.406 97.907098) + (xy 69.406 96.8497) + (xy 69.416075 96.8121) + (xy 69.4436 96.784575) + (xy 69.4812 96.7745) + (xy 73.08983 96.7745) + (xy 73.118608 96.780224) + (xy 73.143004 96.796526) + (xy 73.523474 97.176996) + (xy 73.539776 97.201392) + (xy 73.5455 97.23017) + (xy 73.5455 97.36077) + (xy 73.534419 97.400062) + (xy 73.504441 97.427773) + (xy 73.459713 97.450563) + (xy 73.459707 97.450566) + (xy 73.454434 97.453254) + (xy 73.450247 97.45744) + (xy 73.450244 97.457443) + (xy 73.365443 97.542244) + (xy 73.36544 97.542247) + (xy 73.361254 97.546434) + (xy 73.358567 97.551706) + (xy 73.358565 97.55171) + (xy 73.304115 97.658573) + (xy 73.304112 97.658579) + (xy 73.301429 97.663847) + (xy 73.300504 97.669686) + (xy 73.300502 97.669693) + (xy 73.290125 97.735216) + (xy 73.286 97.761263) + (xy 73.286 97.764215) + (xy 73.286 97.764216) + (xy 73.286 98.323781) + (xy 73.286 98.323793) + (xy 73.286001 98.326736) + (xy 73.286462 98.32965) + (xy 73.286463 98.329656) + (xy 73.300471 98.418104) + (xy 73.301429 98.424153) + (xy 73.304114 98.429423) + (xy 73.304115 98.429425) + (xy 73.348294 98.516132) + (xy 73.361254 98.541566) + (xy 73.454434 98.634746) + (xy 73.459712 98.637435) + (xy 73.459713 98.637436) + (xy 73.504441 98.660227) + (xy 73.534419 98.687938) + (xy 73.5455 98.72723) + (xy 73.5455 100.1448) + (xy 73.535425 100.1824) + (xy 73.5079 100.209925) + (xy 73.4703 100.22) + (xy 73.462048 100.22) + (xy 73.45962 100.220319) + (xy 73.459614 100.22032) + (xy 73.418083 100.225788) + (xy 73.418081 100.225788) + (xy 73.412381 100.226539) + (xy 73.407174 100.228966) + (xy 73.407167 100.228969) + (xy 73.309354 100.27458) + (xy 73.309352 100.274581) + (xy 73.303393 100.27736) + (xy 73.298743 100.282009) + (xy 73.29874 100.282012) + (xy 73.223012 100.35774) + (xy 73.223009 100.357743) + (xy 73.21836 100.362393) + (xy 73.215581 100.368352) + (xy 73.21558 100.368354) + (xy 73.169969 100.466167) + (xy 73.169966 100.466174) + (xy 73.167539 100.471381) + (xy 73.166788 100.477081) + (xy 73.166788 100.477083) + (xy 73.162056 100.513029) + (xy 73.161 100.521048) + (xy 73.161 100.900952) + (xy 73.161319 100.90338) + (xy 73.16132 100.903385) + (xy 73.165784 100.937289) + (xy 73.167539 100.950619) + (xy 73.169967 100.955827) + (xy 73.169969 100.955832) + (xy 73.209968 101.04161) + (xy 73.21836 101.059607) + (xy 73.303393 101.14464) + (xy 73.370191 101.175788) + (xy 73.407167 101.19303) + (xy 73.407168 101.19303) + (xy 73.412381 101.195461) + (xy 73.462048 101.202) + (xy 74.714495 101.202) + (xy 74.716952 101.202) + (xy 74.766619 101.195461) + (xy 74.875607 101.14464) + (xy 74.96064 101.059607) + (xy 75.011461 100.950619) + (xy 75.018 100.900952) + (xy 75.018 100.521048) + (xy 75.011461 100.471381) + (xy 75.00765 100.463209) + (xy 74.982737 100.409782) + (xy 74.96064 100.362393) + (xy 74.875607 100.27736) + (xy 74.857067 100.268715) + (xy 74.771832 100.228969) + (xy 74.771827 100.228967) + (xy 74.766619 100.226539) + (xy 74.760917 100.225788) + (xy 74.760916 100.225788) + (xy 74.719385 100.22032) + (xy 74.71938 100.220319) + (xy 74.716952 100.22) + (xy 74.714495 100.22) + (xy 74.3837 100.22) + (xy 74.3461 100.209925) + (xy 74.318575 100.1824) + (xy 74.3085 100.1448) + (xy 74.3085 98.72723) + (xy 74.319581 98.687938) + (xy 74.349559 98.660227) + (xy 74.388326 98.640473) + (xy 74.399566 98.634746) + (xy 74.492746 98.541566) + (xy 74.552571 98.424153) + (xy 74.568 98.326737) + (xy 74.567999 97.761264) + (xy 74.552571 97.663847) + (xy 74.492746 97.546434) + (xy 74.399566 97.453254) + (xy 74.394289 97.450565) + (xy 74.394286 97.450563) + (xy 74.349559 97.427773) + (xy 74.319581 97.400062) + (xy 74.3085 97.36077) + (xy 74.3085 97.088364) + (xy 74.310101 97.072932) + (xy 74.312165 97.063086) + (xy 74.313445 97.056983) + (xy 74.309076 97.02194) + (xy 74.3085 97.012639) + (xy 74.3085 97.012499) + (xy 74.3085 97.009389) + (xy 74.304853 96.987541) + (xy 74.304405 96.984464) + (xy 74.304374 96.984212) + (xy 74.297696 96.930639) + (xy 74.295007 96.92514) + (xy 74.294864 96.924519) + (xy 74.294073 96.922048) + (xy 74.293824 96.921448) + (xy 74.292818 96.915414) + (xy 74.267007 96.86772) + (xy 74.265586 96.864959) + (xy 74.259323 96.852148) + (xy 74.241776 96.816254) + (xy 74.237448 96.811926) + (xy 74.237103 96.811373) + (xy 74.235564 96.809309) + (xy 74.235132 96.80882) + (xy 74.23222 96.803438) + (xy 74.224712 96.796526) + (xy 74.192314 96.766701) + (xy 74.190072 96.764549) + (xy 73.693397 96.267874) + (xy 73.672816 96.229371) + (xy 73.677095 96.185922) + (xy 73.704792 96.152173) + (xy 73.746571 96.1395) + (xy 75.419113 96.1395) + (xy 75.425322 96.139756) + (xy 75.46994 96.143454) + (xy 75.51335 96.132459) + (xy 75.519409 96.131189) + (xy 75.563586 96.123818) + (xy 75.569503 96.120615) + (xy 75.586835 96.113851) + (xy 75.593366 96.112198) + (xy 75.630028 96.088245) + (xy 75.671159 96.076) + (xy 79.974132 96.076) + (xy 80.00291 96.081724) + (xy 80.027306 96.098026) + (xy 80.460974 96.531694) + (xy 80.477276 96.55609) + (xy 80.483 96.584868) + (xy 80.483 97.77283) + (xy 80.482714 97.779384) + (xy 80.481503 97.79323) + (xy 80.479323 97.818143) + (xy 80.481025 97.824496) + (xy 80.481599 97.831052) + (xy 80.481589 97.831052) + (xy 80.483 97.841767) + (xy 80.483 98.627233) + (xy 80.481589 98.637947) + (xy 80.481599 98.637948) + (xy 80.481025 98.644503) + (xy 80.479323 98.650857) + (xy 80.479896 98.657408) + (xy 80.479896 98.65741) + (xy 80.482714 98.689616) + (xy 80.483 98.69617) + (xy 80.483 99.42383) + (xy 80.482714 99.430384) + (xy 80.480599 99.454563) + (xy 80.479323 99.469143) + (xy 80.481025 99.475496) + (xy 80.481599 99.482052) + (xy 80.481589 99.482052) + (xy 80.483 99.492767) + (xy 80.483 99.93183) + (xy 80.482714 99.938384) + (xy 80.480309 99.965875) + (xy 80.479323 99.977143) + (xy 80.481024 99.983493) + (xy 80.481025 99.983498) + (xy 80.489394 100.014731) + (xy 80.490813 100.021133) + (xy 80.496425 100.052961) + (xy 80.496426 100.052963) + (xy 80.497568 100.05944) + (xy 80.500856 100.065136) + (xy 80.503107 100.071319) + (xy 80.503098 100.071321) + (xy 80.503857 100.073153) + (xy 80.503865 100.07315) + (xy 80.506644 100.079111) + (xy 80.508348 100.085466) + (xy 80.521143 100.10374) + (xy 80.530662 100.117335) + (xy 80.534185 100.122866) + (xy 80.550348 100.150861) + (xy 80.550353 100.150867) + (xy 80.55364 100.15656) + (xy 80.564542 100.165708) + (xy 80.583448 100.181572) + (xy 80.588284 100.186004) + (xy 80.874985 100.472705) + (xy 80.879417 100.47754) + (xy 80.900211 100.502321) + (xy 80.90444 100.50736) + (xy 80.93815 100.526822) + (xy 80.943664 100.530335) + (xy 80.975534 100.552651) + (xy 80.981888 100.554353) + (xy 80.987853 100.557135) + (xy 80.987848 100.557143) + (xy 80.989675 100.5579) + (xy 80.989679 100.557892) + (xy 80.995862 100.560142) + (xy 81.00156 100.563432) + (xy 81.039885 100.570189) + (xy 81.04627 100.571604) + (xy 81.083857 100.581677) + (xy 81.122616 100.578285) + (xy 81.12917 100.578) + (xy 81.562528 100.578) + (xy 81.597977 100.586879) + (xy 81.625053 100.61142) + (xy 81.630546 100.61964) + (xy 81.643761 100.639419) + (xy 81.649297 100.647703) + (xy 81.655454 100.651817) + (xy 81.706316 100.685803) + (xy 81.706317 100.685803) + (xy 81.712475 100.689918) + (xy 81.768188 100.701) + (xy 82.602116 100.701) + (xy 82.605812 100.701) + (xy 82.661525 100.689918) + (xy 82.724703 100.647703) + (xy 82.766918 100.584525) + (xy 82.778 100.528812) + (xy 82.778 99.991188) + (xy 82.766918 99.935475) + (xy 82.727695 99.876775) + (xy 82.715023 99.835) + (xy 82.727695 99.793224) + (xy 82.766918 99.734525) + (xy 82.778 99.678812) + (xy 82.778 99.241188) + (xy 82.766918 99.185475) + (xy 82.760843 99.176384) + (xy 82.728817 99.128454) + (xy 82.724703 99.122297) + (xy 82.718545 99.118182) + (xy 82.713537 99.113174) + (xy 82.694073 99.079463) + (xy 82.694073 99.040537) + (xy 82.713537 99.006826) + (xy 82.718544 99.001817) + (xy 82.724703 98.997703) + (xy 82.766918 98.934525) + (xy 82.778 98.878812) + (xy 82.778 98.441188) + (xy 82.766918 98.385475) + (xy 82.727695 98.326775) + (xy 82.715023 98.285) + (xy 82.727695 98.243224) + (xy 82.766918 98.184525) + (xy 82.778 98.128812) + (xy 82.778 97.591188) + (xy 82.766918 97.535475) + (xy 82.755668 97.518639) + (xy 82.728817 97.478454) + (xy 82.724703 97.472297) + (xy 82.718545 97.468182) + (xy 82.667683 97.434196) + (xy 82.66768 97.434194) + (xy 82.661525 97.430082) + (xy 82.654261 97.428637) + (xy 82.635602 97.424925) + (xy 82.605812 97.419) + (xy 81.768188 97.419) + (xy 81.764563 97.41972) + (xy 81.764563 97.419721) + (xy 81.719738 97.428637) + (xy 81.719736 97.428637) + (xy 81.712475 97.430082) + (xy 81.706321 97.434193) + (xy 81.706316 97.434196) + (xy 81.655454 97.468182) + (xy 81.655451 97.468184) + (xy 81.649297 97.472297) + (xy 81.645184 97.478451) + (xy 81.645182 97.478454) + (xy 81.63571 97.492631) + (xy 81.626064 97.507068) + (xy 81.625054 97.508579) + (xy 81.597977 97.533121) + (xy 81.562528 97.542) + (xy 81.1942 97.542) + (xy 81.1566 97.531925) + (xy 81.129075 97.5044) + (xy 81.119 97.4668) + (xy 81.119 96.545746) + (xy 81.6715 96.545746) + (xy 81.671962 96.551618) + (xy 81.685984 96.640151) + (xy 81.689597 96.651271) + (xy 81.743976 96.757994) + (xy 81.750851 96.767456) + (xy 81.835543 96.852148) + (xy 81.845005 96.859023) + (xy 81.951728 96.913402) + (xy 81.962848 96.917015) + (xy 82.051381 96.931037) + (xy 82.057254 96.9315) + (xy 82.175098 96.9315) + (xy 82.182907 96.929407) + (xy 82.185 96.921598) + (xy 82.439 96.921598) + (xy 82.441092 96.929407) + (xy 82.448902 96.9315) + (xy 82.566746 96.9315) + (xy 82.572618 96.931037) + (xy 82.661151 96.917015) + (xy 82.672271 96.913402) + (xy 82.778994 96.859023) + (xy 82.788456 96.852148) + (xy 82.873148 96.767456) + (xy 82.880023 96.757994) + (xy 82.934402 96.651271) + (xy 82.938015 96.640151) + (xy 82.952037 96.551618) + (xy 82.952496 96.545793) + (xy 83.221 96.545793) + (xy 83.221001 96.548736) + (xy 83.221462 96.55165) + (xy 83.221463 96.551656) + (xy 83.232035 96.61841) + (xy 83.236429 96.646153) + (xy 83.239114 96.651423) + (xy 83.239115 96.651425) + (xy 83.271198 96.714392) + (xy 83.296254 96.763566) + (xy 83.389434 96.856746) + (xy 83.448063 96.886619) + (xy 83.499663 96.912911) + (xy 83.506847 96.916571) + (xy 83.512692 96.917496) + (xy 83.512693 96.917497) + (xy 83.517801 96.918306) + (xy 83.604263 96.932) + (xy 84.119736 96.931999) + (xy 84.217153 96.916571) + (xy 84.334566 96.856746) + (xy 84.427746 96.763566) + (xy 84.432004 96.755208) + (xy 84.457154 96.726871) + (xy 84.49293 96.714392) + (xy 84.528315 96.720602) + (xy 84.529919 96.721633) + (xy 84.619986 96.748079) + (xy 84.659001 96.775167) + (xy 84.674 96.820233) + (xy 84.674 97.447835) + (xy 84.659201 97.492631) + (xy 84.62063 97.519797) + (xy 84.573466 97.518639) + (xy 84.536274 97.489614) + (xy 84.528817 97.478454) + (xy 84.524703 97.472297) + (xy 84.518545 97.468182) + (xy 84.467683 97.434196) + (xy 84.46768 97.434194) + (xy 84.461525 97.430082) + (xy 84.454261 97.428637) + (xy 84.435602 97.424925) + (xy 84.405812 97.419) + (xy 83.568188 97.419) + (xy 83.564563 97.41972) + (xy 83.564563 97.419721) + (xy 83.519738 97.428637) + (xy 83.519736 97.428637) + (xy 83.512475 97.430082) + (xy 83.506321 97.434193) + (xy 83.506316 97.434196) + (xy 83.455454 97.468182) + (xy 83.455451 97.468184) + (xy 83.449297 97.472297) + (xy 83.445184 97.478451) + (xy 83.445182 97.478454) + (xy 83.411196 97.529316) + (xy 83.411193 97.529321) + (xy 83.407082 97.535475) + (xy 83.405637 97.542736) + (xy 83.405637 97.542738) + (xy 83.398005 97.58111) + (xy 83.396 97.591188) + (xy 83.396 98.128812) + (xy 83.407082 98.184525) + (xy 83.424184 98.210119) + (xy 83.446302 98.243221) + (xy 83.458976 98.285) + (xy 83.446302 98.326779) + (xy 83.413009 98.376605) + (xy 83.407082 98.385475) + (xy 83.405637 98.392736) + (xy 83.405637 98.392738) + (xy 83.400551 98.418307) + (xy 83.396 98.441188) + (xy 83.396 98.878812) + (xy 83.398876 98.893269) + (xy 83.404891 98.923513) + (xy 83.407082 98.934525) + (xy 83.411194 98.94068) + (xy 83.411196 98.940683) + (xy 83.443384 98.988854) + (xy 83.449297 98.997703) + (xy 83.455454 99.001817) + (xy 83.460463 99.006826) + (xy 83.479927 99.040537) + (xy 83.479927 99.079463) + (xy 83.460463 99.113174) + (xy 83.455453 99.118183) + (xy 83.449297 99.122297) + (xy 83.445184 99.128451) + (xy 83.445182 99.128454) + (xy 83.411196 99.179316) + (xy 83.411193 99.179321) + (xy 83.407082 99.185475) + (xy 83.405637 99.192736) + (xy 83.405637 99.192738) + (xy 83.399884 99.221663) + (xy 83.396 99.241188) + (xy 83.396 99.678812) + (xy 83.398796 99.692867) + (xy 83.402601 99.712) + (xy 83.407082 99.734525) + (xy 83.421651 99.756329) + (xy 83.446302 99.793221) + (xy 83.458976 99.835) + (xy 83.446302 99.876779) + (xy 83.412864 99.926822) + (xy 83.407082 99.935475) + (xy 83.405637 99.942736) + (xy 83.405637 99.942738) + (xy 83.399226 99.974969) + (xy 83.396 99.991188) + (xy 83.396 100.528812) + (xy 83.399348 100.545645) + (xy 83.403113 100.564574) + (xy 83.407082 100.584525) + (xy 83.411194 100.59068) + (xy 83.411196 100.590683) + (xy 83.445182 100.641545) + (xy 83.449297 100.647703) + (xy 83.455454 100.651817) + (xy 83.506316 100.685803) + (xy 83.506317 100.685803) + (xy 83.512475 100.689918) + (xy 83.568188 100.701) + (xy 84.402116 100.701) + (xy 84.405812 100.701) + (xy 84.461525 100.689918) + (xy 84.524703 100.647703) + (xy 84.548946 100.61142) + (xy 84.576023 100.586879) + (xy 84.611472 100.578) + (xy 85.42583 100.578) + (xy 85.432383 100.578285) + (xy 85.471143 100.581677) + (xy 85.508728 100.571605) + (xy 85.515121 100.570187) + (xy 85.55344 100.563432) + (xy 85.55914 100.56014) + (xy 85.565321 100.557891) + (xy 85.565324 100.557901) + (xy 85.567151 100.557145) + (xy 85.567147 100.557136) + (xy 85.57311 100.554354) + (xy 85.579466 100.552652) + (xy 85.61136 100.530319) + (xy 85.616853 100.52682) + (xy 85.65056 100.50736) + (xy 85.675583 100.477537) + (xy 85.679994 100.472724) + (xy 86.728724 99.423994) + (xy 86.733537 99.419583) + (xy 86.76336 99.39456) + (xy 86.78282 99.360853) + (xy 86.786319 99.35536) + (xy 86.808652 99.323466) + (xy 86.810354 99.31711) + (xy 86.813136 99.311147) + (xy 86.813145 99.311151) + (xy 86.813901 99.309324) + (xy 86.813891 99.309321) + (xy 86.81614 99.30314) + (xy 86.819432 99.29744) + (xy 86.826187 99.259121) + (xy 86.827605 99.252728) + (xy 86.837677 99.215143) + (xy 86.834285 99.176383) + (xy 86.834 99.16983) + (xy 86.834 94.759174) + (xy 86.834286 94.752621) + (xy 86.835398 94.739907) + (xy 86.837677 94.713857) + (xy 86.827606 94.676275) + (xy 86.826187 94.669875) + (xy 86.825998 94.668801) + (xy 86.819432 94.63156) + (xy 86.816142 94.625861) + (xy 86.813893 94.619682) + (xy 86.813902 94.619678) + (xy 86.813144 94.617848) + (xy 86.813136 94.617852) + (xy 86.810353 94.611886) + (xy 86.808652 94.605534) + (xy 86.803844 94.598668) + (xy 86.786334 94.57366) + (xy 86.782809 94.568127) + (xy 86.781707 94.566219) + (xy 86.76336 94.53444) + (xy 86.758022 94.529961) + (xy 86.733551 94.509427) + (xy 86.728715 94.504995) + (xy 86.213088 93.989368) + (xy 86.196786 93.964972) + (xy 86.191062 93.936194) + (xy 86.191062 93.116109) + (xy 86.191348 93.109555) + (xy 86.193773 93.081832) + (xy 86.194739 93.070796) + (xy 86.184669 93.033214) + (xy 86.183251 93.026823) + (xy 86.176494 92.988498) + (xy 86.173203 92.982798) + (xy 86.170955 92.976621) + (xy 86.170965 92.976617) + (xy 86.170206 92.974786) + (xy 86.170198 92.97479) + (xy 86.167415 92.968824) + (xy 86.165714 92.962472) + (xy 86.143394 92.930596) + (xy 86.139871 92.925065) + (xy 86.132043 92.911507) + (xy 86.120422 92.891378) + (xy 86.09062 92.866371) + (xy 86.085783 92.861939) + (xy 85.840025 92.61618) + (xy 85.823724 92.591784) + (xy 85.818 92.563006) + (xy 85.818 92.092174) + (xy 85.818286 92.085621) + (xy 85.818801 92.079734) + (xy 85.821677 92.046857) + (xy 85.811606 92.009275) + (xy 85.810187 92.002875) + (xy 85.809291 91.997793) + (xy 85.803432 91.96456) + (xy 85.800142 91.958861) + (xy 85.797893 91.952682) + (xy 85.797902 91.952678) + (xy 85.797144 91.950848) + (xy 85.797136 91.950852) + (xy 85.794353 91.944886) + (xy 85.792652 91.938534) + (xy 85.770332 91.906658) + (xy 85.766809 91.901127) + (xy 85.766687 91.900916) + (xy 85.752846 91.876943) + (xy 85.750651 91.87314) + (xy 85.75065 91.873139) + (xy 85.74736 91.86744) + (xy 85.735186 91.857225) + (xy 85.717551 91.842427) + (xy 85.712715 91.837995) + (xy 85.259081 91.384361) + (xy 85.240902 91.354931) + (xy 85.237822 91.32048) + (xy 85.238898 91.313) + (xy 85.218608 91.171881) + (xy 85.159382 91.042194) + (xy 85.151635 91.033254) + (xy 85.103409 90.977598) + (xy 85.066018 90.934447) + (xy 85.061496 90.931541) + (xy 85.061494 90.931539) + (xy 84.950602 90.860272) + (xy 84.950599 90.86027) + (xy 84.946081 90.857367) + (xy 84.940925 90.855853) + (xy 84.940923 90.855852) + (xy 84.814447 90.818715) + (xy 84.814442 90.818714) + (xy 84.809285 90.8172) + (xy 84.666715 90.8172) + (xy 84.661558 90.818714) + (xy 84.661552 90.818715) + (xy 84.535075 90.855852) + (xy 84.535068 90.855854) + (xy 84.529919 90.857367) + (xy 84.528315 90.858397) + (xy 84.492927 90.864607) + (xy 84.457154 90.852128) + (xy 84.432005 90.823792) + (xy 84.430436 90.820712) + (xy 84.430433 90.820708) + (xy 84.427746 90.815434) + (xy 84.334566 90.722254) + (xy 84.329289 90.719565) + (xy 84.222426 90.665115) + (xy 84.222422 90.665113) + (xy 84.217153 90.662429) + (xy 84.211311 90.661503) + (xy 84.211306 90.661502) + (xy 84.122655 90.647462) + (xy 84.122652 90.647461) + (xy 84.119737 90.647) + (xy 84.116783 90.647) + (xy 83.607218 90.647) + (xy 83.607205 90.647) + (xy 83.604264 90.647001) + (xy 83.60135 90.647462) + (xy 83.601343 90.647463) + (xy 83.512692 90.661503) + (xy 83.51269 90.661503) + (xy 83.506847 90.662429) + (xy 83.501577 90.665113) + (xy 83.501574 90.665115) + (xy 83.39471 90.719565) + (xy 83.394706 90.719567) + (xy 83.389434 90.722254) + (xy 83.385247 90.72644) + (xy 83.385244 90.726443) + (xy 83.300443 90.811244) + (xy 83.30044 90.811247) + (xy 83.296254 90.815434) + (xy 83.293567 90.820706) + (xy 83.293565 90.82071) + (xy 83.239115 90.927573) + (xy 83.239112 90.927579) + (xy 83.236429 90.932847) + (xy 83.235504 90.938686) + (xy 83.235502 90.938693) + (xy 83.221462 91.027344) + (xy 83.221 91.030263) + (xy 83.221 91.033215) + (xy 83.221 91.033216) + (xy 83.221 91.592781) + (xy 83.221 91.592793) + (xy 83.221001 91.595736) + (xy 83.221462 91.59865) + (xy 83.221463 91.598656) + (xy 83.233778 91.676412) + (xy 83.236429 91.693153) + (xy 83.239114 91.698423) + (xy 83.239115 91.698425) + (xy 83.290569 91.79941) + (xy 83.296254 91.810566) + (xy 83.389434 91.903746) + (xy 83.409824 91.914135) + (xy 83.496835 91.95847) + (xy 83.506847 91.963571) + (xy 83.512692 91.964496) + (xy 83.512693 91.964497) + (xy 83.523571 91.966219) + (xy 83.604263 91.979) + (xy 84.119736 91.978999) + (xy 84.217153 91.963571) + (xy 84.334566 91.903746) + (xy 84.427746 91.810566) + (xy 84.432004 91.802208) + (xy 84.457154 91.773871) + (xy 84.49293 91.761392) + (xy 84.528315 91.767602) + (xy 84.529919 91.768633) + (xy 84.666715 91.8088) + (xy 84.752932 91.8088) + (xy 84.78171 91.814524) + (xy 84.806106 91.830826) + (xy 85.159974 92.184694) + (xy 85.176276 92.20909) + (xy 85.182 92.237868) + (xy 85.182 92.522293) + (xy 85.170077 92.562927) + (xy 85.138088 92.590675) + (xy 85.096178 92.596739) + (xy 85.067229 92.583562) + (xy 85.066018 92.585447) + (xy 84.950602 92.511272) + (xy 84.950599 92.51127) + (xy 84.946081 92.508367) + (xy 84.940925 92.506853) + (xy 84.940923 92.506852) + (xy 84.814447 92.469715) + (xy 84.814442 92.469714) + (xy 84.809285 92.4682) + (xy 84.666715 92.4682) + (xy 84.661558 92.469714) + (xy 84.661552 92.469715) + (xy 84.535075 92.506852) + (xy 84.535068 92.506854) + (xy 84.529919 92.508367) + (xy 84.528315 92.509397) + (xy 84.492927 92.515607) + (xy 84.457154 92.503128) + (xy 84.432005 92.474792) + (xy 84.430436 92.471712) + (xy 84.430433 92.471708) + (xy 84.427746 92.466434) + (xy 84.334566 92.373254) + (xy 84.328129 92.369974) + (xy 84.222426 92.316115) + (xy 84.222422 92.316113) + (xy 84.217153 92.313429) + (xy 84.211311 92.312503) + (xy 84.211306 92.312502) + (xy 84.122655 92.298462) + (xy 84.122652 92.298461) + (xy 84.119737 92.298) + (xy 84.116783 92.298) + (xy 83.607218 92.298) + (xy 83.607205 92.298) + (xy 83.604264 92.298001) + (xy 83.60135 92.298462) + (xy 83.601343 92.298463) + (xy 83.512692 92.312503) + (xy 83.51269 92.312503) + (xy 83.506847 92.313429) + (xy 83.501577 92.316113) + (xy 83.501574 92.316115) + (xy 83.39471 92.370565) + (xy 83.394706 92.370567) + (xy 83.389434 92.373254) + (xy 83.385247 92.37744) + (xy 83.385244 92.377443) + (xy 83.300443 92.462244) + (xy 83.30044 92.462247) + (xy 83.296254 92.466434) + (xy 83.293567 92.471706) + (xy 83.293565 92.47171) + (xy 83.239115 92.578573) + (xy 83.239112 92.578579) + (xy 83.236429 92.583847) + (xy 83.235504 92.589686) + (xy 83.235502 92.589693) + (xy 83.221462 92.678344) + (xy 83.221 92.681263) + (xy 83.221 92.684215) + (xy 83.221 92.684216) + (xy 83.221 93.243781) + (xy 83.221 93.243793) + (xy 83.221001 93.246736) + (xy 83.221462 93.24965) + (xy 83.221463 93.249656) + (xy 83.2344 93.331342) + (xy 83.236429 93.344153) + (xy 83.239114 93.349423) + (xy 83.239115 93.349425) + (xy 83.292812 93.454812) + (xy 83.296254 93.461566) + (xy 83.389434 93.554746) + (xy 83.442923 93.582) + (xy 83.499663 93.610911) + (xy 83.506847 93.614571) + (xy 83.512692 93.615496) + (xy 83.512693 93.615497) + (xy 83.51789 93.61632) + (xy 83.604263 93.63) + (xy 84.119736 93.629999) + (xy 84.217153 93.614571) + (xy 84.334566 93.554746) + (xy 84.427746 93.461566) + (xy 84.432004 93.453208) + (xy 84.457154 93.424871) + (xy 84.49293 93.412392) + (xy 84.528315 93.418602) + (xy 84.529919 93.419633) + (xy 84.666715 93.4598) + (xy 84.752932 93.4598) + (xy 84.78171 93.465524) + (xy 84.806106 93.481826) + (xy 85.007574 93.683294) + (xy 85.023876 93.70769) + (xy 85.0296 93.736468) + (xy 85.0296 94.083435) + (xy 85.015656 94.127055) + (xy 84.978995 94.154499) + (xy 84.933214 94.155589) + (xy 84.928238 94.154128) + (xy 84.91056 94.148937) + (xy 84.814447 94.120715) + (xy 84.814442 94.120714) + (xy 84.809285 94.1192) + (xy 84.666715 94.1192) + (xy 84.661558 94.120714) + (xy 84.661552 94.120715) + (xy 84.535075 94.157852) + (xy 84.535068 94.157854) + (xy 84.529919 94.159367) + (xy 84.528315 94.160397) + (xy 84.492927 94.166607) + (xy 84.457154 94.154128) + (xy 84.432005 94.125792) + (xy 84.430436 94.122712) + (xy 84.430433 94.122708) + (xy 84.427746 94.117434) + (xy 84.334566 94.024254) + (xy 84.329289 94.021565) + (xy 84.222426 93.967115) + (xy 84.222422 93.967113) + (xy 84.217153 93.964429) + (xy 84.211311 93.963503) + (xy 84.211306 93.963502) + (xy 84.122655 93.949462) + (xy 84.122652 93.949461) + (xy 84.119737 93.949) + (xy 84.116783 93.949) + (xy 83.607218 93.949) + (xy 83.607205 93.949) + (xy 83.604264 93.949001) + (xy 83.60135 93.949462) + (xy 83.601343 93.949463) + (xy 83.512692 93.963503) + (xy 83.51269 93.963503) + (xy 83.506847 93.964429) + (xy 83.501577 93.967113) + (xy 83.501574 93.967115) + (xy 83.39471 94.021565) + (xy 83.394706 94.021567) + (xy 83.389434 94.024254) + (xy 83.385247 94.02844) + (xy 83.385244 94.028443) + (xy 83.300443 94.113244) + (xy 83.30044 94.113247) + (xy 83.296254 94.117434) + (xy 83.293567 94.122706) + (xy 83.293565 94.12271) + (xy 83.239115 94.229573) + (xy 83.239112 94.229579) + (xy 83.236429 94.234847) + (xy 83.235504 94.240686) + (xy 83.235502 94.240693) + (xy 83.224832 94.308068) + (xy 83.221 94.332263) + (xy 83.221 94.335215) + (xy 83.221 94.335216) + (xy 83.221 94.894781) + (xy 83.221 94.894793) + (xy 83.221001 94.897736) + (xy 83.221462 94.90065) + (xy 83.221463 94.900656) + (xy 83.234745 94.984518) + (xy 83.236429 94.995153) + (xy 83.239114 95.000423) + (xy 83.239115 95.000425) + (xy 83.285775 95.092001) + (xy 83.296254 95.112566) + (xy 83.389434 95.205746) + (xy 83.438527 95.23076) + (xy 83.492578 95.258301) + (xy 83.506847 95.265571) + (xy 83.512692 95.266496) + (xy 83.512693 95.266497) + (xy 83.515156 95.266887) + (xy 83.604263 95.281) + (xy 84.119736 95.280999) + (xy 84.217153 95.265571) + (xy 84.334566 95.205746) + (xy 84.427746 95.112566) + (xy 84.432004 95.104208) + (xy 84.457154 95.075871) + (xy 84.49293 95.063392) + (xy 84.528315 95.069602) + (xy 84.529919 95.070633) + (xy 84.666715 95.1108) + (xy 84.752932 95.1108) + (xy 84.78171 95.116524) + (xy 84.806106 95.132826) + (xy 85.159974 95.486694) + (xy 85.176276 95.51109) + (xy 85.182 95.539868) + (xy 85.182 95.824293) + (xy 85.170077 95.864927) + (xy 85.138088 95.892675) + (xy 85.096178 95.898739) + (xy 85.067229 95.885562) + (xy 85.066018 95.887447) + (xy 84.950602 95.813272) + (xy 84.950599 95.81327) + (xy 84.946081 95.810367) + (xy 84.940925 95.808853) + (xy 84.940923 95.808852) + (xy 84.814447 95.771715) + (xy 84.814442 95.771714) + (xy 84.809285 95.7702) + (xy 84.666715 95.7702) + (xy 84.661558 95.771714) + (xy 84.661552 95.771715) + (xy 84.535075 95.808852) + (xy 84.535068 95.808854) + (xy 84.529919 95.810367) + (xy 84.528315 95.811397) + (xy 84.492927 95.817607) + (xy 84.457154 95.805128) + (xy 84.432005 95.776792) + (xy 84.430436 95.773712) + (xy 84.430433 95.773708) + (xy 84.427746 95.768434) + (xy 84.334566 95.675254) + (xy 84.329289 95.672565) + (xy 84.222426 95.618115) + (xy 84.222422 95.618113) + (xy 84.217153 95.615429) + (xy 84.211311 95.614503) + (xy 84.211306 95.614502) + (xy 84.122655 95.600462) + (xy 84.122652 95.600461) + (xy 84.119737 95.6) + (xy 84.116783 95.6) + (xy 83.607218 95.6) + (xy 83.607205 95.6) + (xy 83.604264 95.600001) + (xy 83.60135 95.600462) + (xy 83.601343 95.600463) + (xy 83.512692 95.614503) + (xy 83.51269 95.614503) + (xy 83.506847 95.615429) + (xy 83.501577 95.618113) + (xy 83.501574 95.618115) + (xy 83.39471 95.672565) + (xy 83.394706 95.672567) + (xy 83.389434 95.675254) + (xy 83.385247 95.67944) + (xy 83.385244 95.679443) + (xy 83.300443 95.764244) + (xy 83.30044 95.764247) + (xy 83.296254 95.768434) + (xy 83.293567 95.773706) + (xy 83.293565 95.77371) + (xy 83.239115 95.880573) + (xy 83.239112 95.880579) + (xy 83.236429 95.885847) + (xy 83.235504 95.891686) + (xy 83.235502 95.891693) + (xy 83.222483 95.9739) + (xy 83.221 95.983263) + (xy 83.221 95.986215) + (xy 83.221 95.986216) + (xy 83.221 96.545781) + (xy 83.221 96.545793) + (xy 82.952496 96.545793) + (xy 82.9525 96.545746) + (xy 82.9525 96.402902) + (xy 82.950407 96.395092) + (xy 82.942598 96.393) + (xy 82.448902 96.393) + (xy 82.441092 96.395092) + (xy 82.439 96.402902) + (xy 82.439 96.921598) + (xy 82.185 96.921598) + (xy 82.185 96.402902) + (xy 82.182907 96.395092) + (xy 82.175098 96.393) + (xy 81.681402 96.393) + (xy 81.673592 96.395092) + (xy 81.6715 96.402902) + (xy 81.6715 96.545746) + (xy 81.119 96.545746) + (xy 81.119 96.439174) + (xy 81.119286 96.432621) + (xy 81.12004 96.423999) + (xy 81.122677 96.393857) + (xy 81.112606 96.356275) + (xy 81.111187 96.349875) + (xy 81.110988 96.348746) + (xy 81.104432 96.31156) + (xy 81.101142 96.305861) + (xy 81.098893 96.299682) + (xy 81.098902 96.299678) + (xy 81.098144 96.297848) + (xy 81.098136 96.297852) + (xy 81.095353 96.291886) + (xy 81.093652 96.285534) + (xy 81.084769 96.272848) + (xy 81.071334 96.25366) + (xy 81.067809 96.248127) + (xy 81.067776 96.24807) + (xy 81.04836 96.21444) + (xy 81.034726 96.203) + (xy 81.018551 96.189427) + (xy 81.013715 96.184995) + (xy 80.957818 96.129098) + (xy 81.6715 96.129098) + (xy 81.673592 96.136907) + (xy 81.681402 96.139) + (xy 82.175098 96.139) + (xy 82.182907 96.136907) + (xy 82.185 96.129098) + (xy 82.439 96.129098) + (xy 82.441092 96.136907) + (xy 82.448902 96.139) + (xy 82.942598 96.139) + (xy 82.950407 96.136907) + (xy 82.9525 96.129098) + (xy 82.9525 95.986254) + (xy 82.952037 95.980381) + (xy 82.938015 95.891848) + (xy 82.934402 95.880728) + (xy 82.880023 95.774005) + (xy 82.873148 95.764543) + (xy 82.788456 95.679851) + (xy 82.778994 95.672976) + (xy 82.672271 95.618597) + (xy 82.661151 95.614984) + (xy 82.572618 95.600962) + (xy 82.566746 95.6005) + (xy 82.448902 95.6005) + (xy 82.441092 95.602592) + (xy 82.439 95.610402) + (xy 82.439 96.129098) + (xy 82.185 96.129098) + (xy 82.185 95.610402) + (xy 82.182907 95.602592) + (xy 82.175098 95.6005) + (xy 82.057254 95.6005) + (xy 82.051381 95.600962) + (xy 81.962848 95.614984) + (xy 81.951728 95.618597) + (xy 81.845005 95.672976) + (xy 81.835543 95.679851) + (xy 81.750851 95.764543) + (xy 81.743976 95.774005) + (xy 81.689597 95.880728) + (xy 81.685984 95.891848) + (xy 81.671962 95.980381) + (xy 81.6715 95.986254) + (xy 81.6715 96.129098) + (xy 80.957818 96.129098) + (xy 80.374004 95.545284) + (xy 80.369572 95.540448) + (xy 80.365929 95.536106) + (xy 80.34456 95.51064) + (xy 80.338867 95.507353) + (xy 80.338861 95.507348) + (xy 80.310866 95.491185) + (xy 80.305335 95.487662) + (xy 80.287628 95.475264) + (xy 80.273466 95.465348) + (xy 80.267111 95.463644) + (xy 80.26115 95.460865) + (xy 80.261153 95.460857) + (xy 80.259321 95.460098) + (xy 80.259319 95.460107) + (xy 80.253136 95.457856) + (xy 80.24744 95.454568) + (xy 80.240963 95.453426) + (xy 80.240961 95.453425) + (xy 80.209133 95.447813) + (xy 80.202731 95.446394) + (xy 80.171498 95.438025) + (xy 80.171493 95.438024) + (xy 80.165143 95.436323) + (xy 80.158591 95.436896) + (xy 80.158589 95.436896) + (xy 80.126384 95.439714) + (xy 80.11983 95.44) + (xy 76.714548 95.44) + (xy 76.667478 95.423447) + (xy 76.64113 95.381076) + (xy 76.647103 95.331539) + (xy 76.682768 95.296645) + (xy 76.687267 95.294547) + (xy 76.736607 95.27154) + (xy 76.82164 95.186507) + (xy 76.872461 95.077519) + (xy 76.879 95.027852) + (xy 76.879 94.894746) + (xy 81.6715 94.894746) + (xy 81.671962 94.900618) + (xy 81.685984 94.989151) + (xy 81.689597 95.000271) + (xy 81.743976 95.106994) + (xy 81.750851 95.116456) + (xy 81.835543 95.201148) + (xy 81.845005 95.208023) + (xy 81.951728 95.262402) + (xy 81.962848 95.266015) + (xy 82.051381 95.280037) + (xy 82.057254 95.2805) + (xy 82.175098 95.2805) + (xy 82.182907 95.278407) + (xy 82.185 95.270598) + (xy 82.439 95.270598) + (xy 82.441092 95.278407) + (xy 82.448902 95.2805) + (xy 82.566746 95.2805) + (xy 82.572618 95.280037) + (xy 82.661151 95.266015) + (xy 82.672271 95.262402) + (xy 82.778994 95.208023) + (xy 82.788456 95.201148) + (xy 82.873148 95.116456) + (xy 82.880023 95.106994) + (xy 82.934402 95.000271) + (xy 82.938015 94.989151) + (xy 82.952037 94.900618) + (xy 82.9525 94.894746) + (xy 82.9525 94.751902) + (xy 82.950407 94.744092) + (xy 82.942598 94.742) + (xy 82.448902 94.742) + (xy 82.441092 94.744092) + (xy 82.439 94.751902) + (xy 82.439 95.270598) + (xy 82.185 95.270598) + (xy 82.185 94.751902) + (xy 82.182907 94.744092) + (xy 82.175098 94.742) + (xy 81.681402 94.742) + (xy 81.673592 94.744092) + (xy 81.6715 94.751902) + (xy 81.6715 94.894746) + (xy 76.879 94.894746) + (xy 76.879 94.478098) + (xy 81.6715 94.478098) + (xy 81.673592 94.485907) + (xy 81.681402 94.488) + (xy 82.175098 94.488) + (xy 82.182907 94.485907) + (xy 82.185 94.478098) + (xy 82.439 94.478098) + (xy 82.441092 94.485907) + (xy 82.448902 94.488) + (xy 82.942598 94.488) + (xy 82.950407 94.485907) + (xy 82.9525 94.478098) + (xy 82.9525 94.335254) + (xy 82.952037 94.329381) + (xy 82.938015 94.240848) + (xy 82.934402 94.229728) + (xy 82.880023 94.123005) + (xy 82.873148 94.113543) + (xy 82.788456 94.028851) + (xy 82.778994 94.021976) + (xy 82.672271 93.967597) + (xy 82.661151 93.963984) + (xy 82.572618 93.949962) + (xy 82.566746 93.9495) + (xy 82.448902 93.9495) + (xy 82.441092 93.951592) + (xy 82.439 93.959402) + (xy 82.439 94.478098) + (xy 82.185 94.478098) + (xy 82.185 93.959402) + (xy 82.182907 93.951592) + (xy 82.175098 93.9495) + (xy 82.057254 93.9495) + (xy 82.051381 93.949962) + (xy 81.962848 93.963984) + (xy 81.951728 93.967597) + (xy 81.845005 94.021976) + (xy 81.835543 94.028851) + (xy 81.750851 94.113543) + (xy 81.743976 94.123005) + (xy 81.689597 94.229728) + (xy 81.685984 94.240848) + (xy 81.671962 94.329381) + (xy 81.6715 94.335254) + (xy 81.6715 94.478098) + (xy 76.879 94.478098) + (xy 76.879 94.035868) + (xy 76.884724 94.00709) + (xy 76.901023 93.982696) + (xy 77.555735 93.327983) + (xy 77.560537 93.323583) + (xy 77.59036 93.29856) + (xy 77.60982 93.264853) + (xy 77.613319 93.25936) + (xy 77.624252 93.243746) + (xy 81.6715 93.243746) + (xy 81.671962 93.249618) + (xy 81.685984 93.338151) + (xy 81.689597 93.349271) + (xy 81.743976 93.455994) + (xy 81.750851 93.465456) + (xy 81.835543 93.550148) + (xy 81.845005 93.557023) + (xy 81.951728 93.611402) + (xy 81.962848 93.615015) + (xy 82.051381 93.629037) + (xy 82.057254 93.6295) + (xy 82.175098 93.6295) + (xy 82.182907 93.627407) + (xy 82.185 93.619598) + (xy 82.439 93.619598) + (xy 82.441092 93.627407) + (xy 82.448902 93.6295) + (xy 82.566746 93.6295) + (xy 82.572618 93.629037) + (xy 82.661151 93.615015) + (xy 82.672271 93.611402) + (xy 82.778994 93.557023) + (xy 82.788456 93.550148) + (xy 82.873148 93.465456) + (xy 82.880023 93.455994) + (xy 82.934402 93.349271) + (xy 82.938015 93.338151) + (xy 82.952037 93.249618) + (xy 82.9525 93.243746) + (xy 82.9525 93.100902) + (xy 82.950407 93.093092) + (xy 82.942598 93.091) + (xy 82.448902 93.091) + (xy 82.441092 93.093092) + (xy 82.439 93.100902) + (xy 82.439 93.619598) + (xy 82.185 93.619598) + (xy 82.185 93.100902) + (xy 82.182907 93.093092) + (xy 82.175098 93.091) + (xy 81.681402 93.091) + (xy 81.673592 93.093092) + (xy 81.6715 93.100902) + (xy 81.6715 93.243746) + (xy 77.624252 93.243746) + (xy 77.635652 93.227466) + (xy 77.637354 93.22111) + (xy 77.640136 93.215147) + (xy 77.640145 93.215151) + (xy 77.640901 93.213324) + (xy 77.640891 93.213321) + (xy 77.64314 93.20714) + (xy 77.646432 93.20144) + (xy 77.653187 93.163121) + (xy 77.654605 93.156728) + (xy 77.664677 93.119143) + (xy 77.661285 93.080383) + (xy 77.661 93.07383) + (xy 77.661 92.827098) + (xy 81.6715 92.827098) + (xy 81.673592 92.834907) + (xy 81.681402 92.837) + (xy 82.175098 92.837) + (xy 82.182907 92.834907) + (xy 82.185 92.827098) + (xy 82.439 92.827098) + (xy 82.441092 92.834907) + (xy 82.448902 92.837) + (xy 82.942598 92.837) + (xy 82.950407 92.834907) + (xy 82.9525 92.827098) + (xy 82.9525 92.684254) + (xy 82.952037 92.678381) + (xy 82.938015 92.589848) + (xy 82.934402 92.578728) + (xy 82.880023 92.472005) + (xy 82.873148 92.462543) + (xy 82.788456 92.377851) + (xy 82.778994 92.370976) + (xy 82.672271 92.316597) + (xy 82.661151 92.312984) + (xy 82.572618 92.298962) + (xy 82.566746 92.2985) + (xy 82.448902 92.2985) + (xy 82.441092 92.300592) + (xy 82.439 92.308402) + (xy 82.439 92.827098) + (xy 82.185 92.827098) + (xy 82.185 92.308402) + (xy 82.182907 92.300592) + (xy 82.175098 92.2985) + (xy 82.057254 92.2985) + (xy 82.051381 92.298962) + (xy 81.962848 92.312984) + (xy 81.951728 92.316597) + (xy 81.845005 92.370976) + (xy 81.835543 92.377851) + (xy 81.750851 92.462543) + (xy 81.743976 92.472005) + (xy 81.689597 92.578728) + (xy 81.685984 92.589848) + (xy 81.671962 92.678381) + (xy 81.6715 92.684254) + (xy 81.6715 92.827098) + (xy 77.661 92.827098) + (xy 77.661 91.592746) + (xy 81.6715 91.592746) + (xy 81.671962 91.598618) + (xy 81.685984 91.687151) + (xy 81.689597 91.698271) + (xy 81.743976 91.804994) + (xy 81.750851 91.814456) + (xy 81.835543 91.899148) + (xy 81.845005 91.906023) + (xy 81.951728 91.960402) + (xy 81.962848 91.964015) + (xy 82.051381 91.978037) + (xy 82.057254 91.9785) + (xy 82.175098 91.9785) + (xy 82.182907 91.976407) + (xy 82.185 91.968598) + (xy 82.439 91.968598) + (xy 82.441092 91.976407) + (xy 82.448902 91.9785) + (xy 82.566746 91.9785) + (xy 82.572618 91.978037) + (xy 82.661151 91.964015) + (xy 82.672271 91.960402) + (xy 82.778994 91.906023) + (xy 82.788456 91.899148) + (xy 82.873148 91.814456) + (xy 82.880023 91.804994) + (xy 82.934402 91.698271) + (xy 82.938015 91.687151) + (xy 82.952037 91.598618) + (xy 82.9525 91.592746) + (xy 82.9525 91.449902) + (xy 82.950407 91.442092) + (xy 82.942598 91.44) + (xy 82.448902 91.44) + (xy 82.441092 91.442092) + (xy 82.439 91.449902) + (xy 82.439 91.968598) + (xy 82.185 91.968598) + (xy 82.185 91.449902) + (xy 82.182907 91.442092) + (xy 82.175098 91.44) + (xy 81.681402 91.44) + (xy 81.673592 91.442092) + (xy 81.6715 91.449902) + (xy 81.6715 91.592746) + (xy 77.661 91.592746) + (xy 77.661 91.176098) + (xy 81.6715 91.176098) + (xy 81.673592 91.183907) + (xy 81.681402 91.186) + (xy 82.175098 91.186) + (xy 82.182907 91.183907) + (xy 82.185 91.176098) + (xy 82.439 91.176098) + (xy 82.441092 91.183907) + (xy 82.448902 91.186) + (xy 82.942598 91.186) + (xy 82.950407 91.183907) + (xy 82.9525 91.176098) + (xy 82.9525 91.033254) + (xy 82.952037 91.027381) + (xy 82.938015 90.938848) + (xy 82.934402 90.927728) + (xy 82.880023 90.821005) + (xy 82.873148 90.811543) + (xy 82.788456 90.726851) + (xy 82.778994 90.719976) + (xy 82.672271 90.665597) + (xy 82.661151 90.661984) + (xy 82.572618 90.647962) + (xy 82.566746 90.6475) + (xy 82.448902 90.6475) + (xy 82.441092 90.649592) + (xy 82.439 90.657402) + (xy 82.439 91.176098) + (xy 82.185 91.176098) + (xy 82.185 90.657402) + (xy 82.182907 90.649592) + (xy 82.175098 90.6475) + (xy 82.057254 90.6475) + (xy 82.051381 90.647962) + (xy 81.962848 90.661984) + (xy 81.951728 90.665597) + (xy 81.845005 90.719976) + (xy 81.835543 90.726851) + (xy 81.750851 90.811543) + (xy 81.743976 90.821005) + (xy 81.689597 90.927728) + (xy 81.685984 90.938848) + (xy 81.671962 91.027381) + (xy 81.6715 91.033254) + (xy 81.6715 91.176098) + (xy 77.661 91.176098) + (xy 77.661 91.096163) + (xy 77.665741 91.069883) + (xy 77.679368 91.046917) + (xy 77.739433 90.977598) + (xy 77.764382 90.948806) + (xy 77.823608 90.819119) + (xy 77.843898 90.678) + (xy 77.823608 90.536881) + (xy 77.764382 90.407194) + (xy 77.758978 90.400957) + (xy 77.679368 90.309083) + (xy 77.665741 90.286117) + (xy 77.661 90.259837) + (xy 77.661 90.129823) + (xy 77.669496 90.095101) + (xy 77.69049 90.07116) + (xy 77.691607 90.07064) + (xy 77.77664 89.985607) + (xy 77.827461 89.876619) + (xy 77.834 89.826952) + (xy 78.122 89.826952) + (xy 78.122319 89.82938) + (xy 78.12232 89.829385) + (xy 78.12484 89.848523) + (xy 78.128539 89.876619) + (xy 78.130967 89.881827) + (xy 78.130969 89.881832) + (xy 78.170159 89.965875) + (xy 78.17936 89.985607) + (xy 78.264393 90.07064) + (xy 78.328526 90.100545) + (xy 78.368167 90.11903) + (xy 78.368168 90.11903) + (xy 78.373381 90.121461) + (xy 78.423048 90.128) + (xy 78.800495 90.128) + (xy 78.802952 90.128) + (xy 78.852619 90.121461) + (xy 78.961607 90.07064) + (xy 79.04664 89.985607) + (xy 79.097461 89.876619) + (xy 79.104 89.826952) + (xy 79.104 89.824441) + (xy 79.392501 89.824441) + (xy 79.392821 89.829336) + (xy 79.398276 89.870779) + (xy 79.401461 89.881705) + (xy 79.446993 89.979349) + (xy 79.454431 89.989971) + (xy 79.530028 90.065568) + (xy 79.54065 90.073006) + (xy 79.638298 90.11854) + (xy 79.649215 90.121722) + (xy 79.690663 90.127179) + (xy 79.695557 90.1275) + (xy 79.746098 90.1275) + (xy 79.753907 90.125407) + (xy 79.756 90.117598) + (xy 79.756 90.117597) + (xy 80.01 90.117597) + (xy 80.012092 90.125406) + (xy 80.019902 90.127499) + (xy 80.070441 90.127499) + (xy 80.075336 90.127178) + (xy 80.116779 90.121723) + (xy 80.127705 90.118538) + (xy 80.225349 90.073006) + (xy 80.235971 90.065568) + (xy 80.311568 89.989971) + (xy 80.319006 89.979349) + (xy 80.348546 89.916) + (xy 80.681102 89.916) + (xy 80.681867 89.921321) + (xy 80.700626 90.051797) + (xy 80.700627 90.051802) + (xy 80.701392 90.057119) + (xy 80.703624 90.062008) + (xy 80.703626 90.062012) + (xy 80.758382 90.181911) + (xy 80.758383 90.181913) + (xy 80.760618 90.186806) + (xy 80.764138 90.190869) + (xy 80.76414 90.190871) + (xy 80.780844 90.210148) + (xy 80.853982 90.294553) + (xy 80.858504 90.297459) + (xy 80.858505 90.29746) + (xy 80.965658 90.366324) + (xy 80.973919 90.371633) + (xy 81.110715 90.4118) + (xy 81.247904 90.4118) + (xy 81.253285 90.4118) + (xy 81.390081 90.371633) + (xy 81.510018 90.294553) + (xy 81.603382 90.186806) + (xy 81.605742 90.181637) + (xy 81.605986 90.181338) + (xy 81.608525 90.177388) + (xy 81.608973 90.177676) + (xy 81.6298 90.152142) + (xy 81.665221 90.138205) + (xy 81.702929 90.143399) + (xy 81.706313 90.144801) + (xy 81.712475 90.148918) + (xy 81.768188 90.16) + (xy 82.602116 90.16) + (xy 82.605812 90.16) + (xy 82.661525 90.148918) + (xy 82.724703 90.106703) + (xy 82.766918 90.043525) + (xy 82.778 89.987812) + (xy 83.396 89.987812) + (xy 83.401222 90.014065) + (xy 83.402671 90.021352) + (xy 83.407082 90.043525) + (xy 83.411194 90.04968) + (xy 83.411196 90.049683) + (xy 83.443752 90.098405) + (xy 83.449297 90.106703) + (xy 83.455454 90.110817) + (xy 83.506316 90.144803) + (xy 83.506317 90.144803) + (xy 83.512475 90.148918) + (xy 83.568188 90.16) + (xy 84.402116 90.16) + (xy 84.405812 90.16) + (xy 84.461525 90.148918) + (xy 84.524703 90.106703) + (xy 84.548946 90.07042) + (xy 84.576023 90.045879) + (xy 84.611472 90.037) + (xy 85.267132 90.037) + (xy 85.29591 90.042724) + (xy 85.320306 90.059026) + (xy 85.794974 90.533694) + (xy 85.811276 90.55809) + (xy 85.817 90.586868) + (xy 85.817 91.16883) + (xy 85.816714 91.175384) + (xy 85.81532 91.191321) + (xy 85.813323 91.214143) + (xy 85.815024 91.220493) + (xy 85.815025 91.220498) + (xy 85.823394 91.251731) + (xy 85.824813 91.258133) + (xy 85.830425 91.289961) + (xy 85.830426 91.289963) + (xy 85.831568 91.29644) + (xy 85.834856 91.302136) + (xy 85.837107 91.308319) + (xy 85.837098 91.308321) + (xy 85.837857 91.310153) + (xy 85.837865 91.31015) + (xy 85.840644 91.316111) + (xy 85.842348 91.322466) + (xy 85.85818 91.345077) + (xy 85.864662 91.354335) + (xy 85.868185 91.359866) + (xy 85.884348 91.387861) + (xy 85.884353 91.387867) + (xy 85.88764 91.39356) + (xy 85.906433 91.409329) + (xy 85.917448 91.418572) + (xy 85.922284 91.423004) + (xy 86.810974 92.311694) + (xy 86.827276 92.33609) + (xy 86.833 92.364868) + (xy 86.833 93.83583) + (xy 86.832714 93.842384) + (xy 86.830293 93.87006) + (xy 86.829323 93.881143) + (xy 86.831024 93.887493) + (xy 86.831025 93.887498) + (xy 86.839394 93.918731) + (xy 86.840813 93.925133) + (xy 86.846288 93.956185) + (xy 86.847568 93.96344) + (xy 86.850857 93.969136) + (xy 86.853108 93.975321) + (xy 86.853099 93.975324) + (xy 86.853857 93.977153) + (xy 86.853865 93.97715) + (xy 86.856645 93.983112) + (xy 86.858348 93.989466) + (xy 86.86212 93.994853) + (xy 86.880662 94.021335) + (xy 86.884185 94.026866) + (xy 86.900348 94.054861) + (xy 86.900353 94.054867) + (xy 86.90364 94.06056) + (xy 86.9219 94.075882) + (xy 86.933448 94.085572) + (xy 86.938284 94.090004) + (xy 87.709692 94.861412) + (xy 87.730904 94.903551) + (xy 87.72284 94.950033) + (xy 87.710327 94.973443) + (xy 87.710322 94.973454) + (xy 87.708588 94.976699) + (xy 87.707519 94.980222) + (xy 87.707516 94.98023) + (xy 87.650783 95.167254) + (xy 87.649062 95.172928) + (xy 87.6487 95.176596) + (xy 87.6487 95.1766) + (xy 87.629576 95.370776) + (xy 87.628963 95.377) + (xy 87.629325 95.380675) + (xy 87.629325 95.380676) + (xy 87.64771 95.567352) + (xy 87.649062 95.581072) + (xy 87.650132 95.584601) + (xy 87.650133 95.584603) + (xy 87.707516 95.773769) + (xy 87.707518 95.773774) + (xy 87.708588 95.777301) + (xy 87.805252 95.958147) + (xy 87.807596 95.961003) + (xy 87.807598 95.961006) + (xy 87.931678 96.112198) + (xy 87.93534 96.11666) + (xy 87.944799 96.124423) + (xy 88.054485 96.21444) + (xy 88.093853 96.246748) + (xy 88.274699 96.343412) + (xy 88.470928 96.402938) + (xy 88.657797 96.421342) + (xy 88.666227 96.422173) + (xy 88.675 96.423037) + (xy 88.683773 96.422173) + (xy 88.690539 96.421506) + (xy 88.879072 96.402938) + (xy 89.075301 96.343412) + (xy 89.256147 96.246748) + (xy 89.41466 96.11666) + (xy 89.46467 96.055721) + (xy 89.502743 96.030953) + (xy 89.548134 96.032625) + (xy 89.584282 96.060128) + (xy 89.598 96.103429) + (xy 89.598 97.01083) + (xy 89.597714 97.017384) + (xy 89.595411 97.043711) + (xy 89.594323 97.056143) + (xy 89.596024 97.062493) + (xy 89.596025 97.062498) + (xy 89.604394 97.093731) + (xy 89.605813 97.100133) + (xy 89.611425 97.131961) + (xy 89.611426 97.131963) + (xy 89.612568 97.13844) + (xy 89.615856 97.144136) + (xy 89.618107 97.150319) + (xy 89.618098 97.150321) + (xy 89.618857 97.152153) + (xy 89.618865 97.15215) + (xy 89.621644 97.158111) + (xy 89.623348 97.164466) + (xy 89.641593 97.190523) + (xy 89.645662 97.196335) + (xy 89.649185 97.201866) + (xy 89.665348 97.229861) + (xy 89.665353 97.229867) + (xy 89.66864 97.23556) + (xy 89.686258 97.250343) + (xy 89.698448 97.260572) + (xy 89.703284 97.265004) + (xy 90.527995 98.089715) + (xy 90.532427 98.094551) + (xy 90.552862 98.118905) + (xy 90.55744 98.12436) + (xy 90.591144 98.143819) + (xy 90.596646 98.147323) + (xy 90.628534 98.169651) + (xy 90.63489 98.171354) + (xy 90.640852 98.174134) + (xy 90.640847 98.174143) + (xy 90.642675 98.1749) + (xy 90.642679 98.174892) + (xy 90.648862 98.177142) + (xy 90.65456 98.180432) + (xy 90.692885 98.187189) + (xy 90.69927 98.188604) + (xy 90.736857 98.198677) + (xy 90.775616 98.195285) + (xy 90.78217 98.195) + (xy 92.771354 98.195) + (xy 92.81313 98.207672) + (xy 92.840565 98.241097) + (xy 92.841283 98.243462) + (xy 92.843026 98.246724) + (xy 92.843027 98.246725) + (xy 92.902466 98.357927) + (xy 92.929776 98.40902) + (xy 92.936068 98.416687) + (xy 93.038553 98.541566) + (xy 93.048867 98.554133) + (xy 93.19398 98.673224) + (xy 93.257932 98.707407) + (xy 93.35628 98.759976) + (xy 93.356283 98.759977) + (xy 93.359538 98.761717) + (xy 93.539179 98.816211) + (xy 93.726 98.834611) + (xy 93.912821 98.816211) + (xy 94.092462 98.761717) + (xy 94.25802 98.673224) + (xy 94.403133 98.554133) + (xy 94.522224 98.40902) + (xy 94.53648 98.382348) + (xy 94.572326 98.349049) + (xy 94.621072 98.344852) + (xy 94.662084 98.371533) + (xy 94.678 98.417798) + (xy 94.678 98.944132) + (xy 94.672276 98.97291) + (xy 94.655976 98.997303) + (xy 94.295252 99.358027) + (xy 94.176176 99.477103) + (xy 94.137676 99.497682) + (xy 94.094638 99.493446) + (xy 94.092462 99.492283) + (xy 94.088937 99.491213) + (xy 94.088933 99.491212) + (xy 93.916352 99.43886) + (xy 93.91635 99.438859) + (xy 93.912821 99.437789) + (xy 93.90915 99.437427) + (xy 93.909148 99.437427) + (xy 93.729676 99.419751) + (xy 93.726 99.419389) + (xy 93.722324 99.419751) + (xy 93.542851 99.437427) + (xy 93.542847 99.437427) + (xy 93.539179 99.437789) + (xy 93.535651 99.438859) + (xy 93.535647 99.43886) + (xy 93.363068 99.491212) + (xy 93.363066 99.491212) + (xy 93.359538 99.492283) + (xy 93.356292 99.494018) + (xy 93.35628 99.494023) + (xy 93.197238 99.579034) + (xy 93.197233 99.579036) + (xy 93.19398 99.580776) + (xy 93.191127 99.583117) + (xy 93.191123 99.58312) + (xy 93.051722 99.697523) + (xy 93.051716 99.697528) + (xy 93.048867 99.699867) + (xy 93.046528 99.702716) + (xy 93.046523 99.702722) + (xy 92.93212 99.842123) + (xy 92.932117 99.842127) + (xy 92.929776 99.84498) + (xy 92.910476 99.881086) + (xy 92.843023 100.00728) + (xy 92.843018 100.007292) + (xy 92.841283 100.010538) + (xy 92.840212 100.014066) + (xy 92.840212 100.014068) + (xy 92.788761 100.183679) + (xy 92.786789 100.190179) + (xy 92.786427 100.193847) + (xy 92.786427 100.193851) + (xy 92.769078 100.37) + (xy 92.768389 100.377) + (xy 92.768751 100.380676) + (xy 92.78613 100.557136) + (xy 92.786789 100.563821) + (xy 92.787859 100.56735) + (xy 92.78786 100.567352) + (xy 92.806667 100.629349) + (xy 92.841283 100.743462) + (xy 92.843019 100.746711) + (xy 92.843023 100.746719) + (xy 92.925538 100.901091) + (xy 92.929776 100.90902) + (xy 92.95878 100.944361) + (xy 93.030338 101.031556) + (xy 93.048867 101.054133) + (xy 93.19398 101.173224) + (xy 93.247816 101.202) + (xy 93.35628 101.259976) + (xy 93.356283 101.259977) + (xy 93.359538 101.261717) + (xy 93.539179 101.316211) + (xy 93.726 101.334611) + (xy 93.912821 101.316211) + (xy 94.092462 101.261717) + (xy 94.25802 101.173224) + (xy 94.403133 101.054133) + (xy 94.522224 100.90902) + (xy 94.610717 100.743462) + (xy 94.665211 100.563821) + (xy 94.683611 100.377) + (xy 94.665211 100.190179) + (xy 94.610717 100.010538) + (xy 94.609554 100.008362) + (xy 94.605315 99.965327) + (xy 94.625894 99.926824) + (xy 95.208724 99.343994) + (xy 95.213537 99.339583) + (xy 95.24336 99.31456) + (xy 95.26282 99.280853) + (xy 95.266319 99.27536) + (xy 95.288652 99.243466) + (xy 95.290354 99.23711) + (xy 95.293136 99.231147) + (xy 95.293145 99.231151) + (xy 95.293901 99.229324) + (xy 95.293891 99.229321) + (xy 95.29614 99.22314) + (xy 95.299432 99.21744) + (xy 95.306187 99.179121) + (xy 95.307605 99.172728) + (xy 95.317677 99.135143) + (xy 95.314285 99.096383) + (xy 95.314 99.08983) + (xy 95.314 98.478116) + (xy 95.327718 98.434815) + (xy 95.363866 98.407312) + (xy 95.409257 98.40564) + (xy 95.44733 98.43041) + (xy 95.540778 98.544277) + (xy 95.548867 98.554133) + (xy 95.69398 98.673224) + (xy 95.757932 98.707407) + (xy 95.85628 98.759976) + (xy 95.856283 98.759977) + (xy 95.859538 98.761717) + (xy 96.039179 98.816211) + (xy 96.226 98.834611) + (xy 96.412821 98.816211) + (xy 96.592462 98.761717) + (xy 96.75802 98.673224) + (xy 96.903133 98.554133) + (xy 97.022224 98.40902) + (xy 97.070981 98.317802) + (xy 97.07648 98.307515) + (xy 97.112326 98.274215) + (xy 97.161072 98.270018) + (xy 97.202084 98.296699) + (xy 97.218 98.342964) + (xy 97.218 98.904132) + (xy 97.212276 98.93291) + (xy 97.195976 98.957303) + (xy 96.805449 99.34783) + (xy 96.676176 99.477103) + (xy 96.637676 99.497682) + (xy 96.594638 99.493446) + (xy 96.592462 99.492283) + (xy 96.588937 99.491213) + (xy 96.588933 99.491212) + (xy 96.416352 99.43886) + (xy 96.41635 99.438859) + (xy 96.412821 99.437789) + (xy 96.40915 99.437427) + (xy 96.409148 99.437427) + (xy 96.229676 99.419751) + (xy 96.226 99.419389) + (xy 96.222324 99.419751) + (xy 96.042851 99.437427) + (xy 96.042847 99.437427) + (xy 96.039179 99.437789) + (xy 96.035651 99.438859) + (xy 96.035647 99.43886) + (xy 95.863068 99.491212) + (xy 95.863066 99.491212) + (xy 95.859538 99.492283) + (xy 95.856292 99.494018) + (xy 95.85628 99.494023) + (xy 95.697238 99.579034) + (xy 95.697233 99.579036) + (xy 95.69398 99.580776) + (xy 95.691127 99.583117) + (xy 95.691123 99.58312) + (xy 95.551722 99.697523) + (xy 95.551716 99.697528) + (xy 95.548867 99.699867) + (xy 95.546528 99.702716) + (xy 95.546523 99.702722) + (xy 95.43212 99.842123) + (xy 95.432117 99.842127) + (xy 95.429776 99.84498) + (xy 95.410476 99.881086) + (xy 95.343023 100.00728) + (xy 95.343018 100.007292) + (xy 95.341283 100.010538) + (xy 95.340212 100.014066) + (xy 95.340212 100.014068) + (xy 95.288761 100.183679) + (xy 95.286789 100.190179) + (xy 95.286427 100.193847) + (xy 95.286427 100.193851) + (xy 95.269078 100.37) + (xy 95.268389 100.377) + (xy 95.268751 100.380676) + (xy 95.28613 100.557136) + (xy 95.286789 100.563821) + (xy 95.287859 100.56735) + (xy 95.28786 100.567352) + (xy 95.306667 100.629349) + (xy 95.341283 100.743462) + (xy 95.343019 100.746711) + (xy 95.343023 100.746719) + (xy 95.425538 100.901091) + (xy 95.429776 100.90902) + (xy 95.45878 100.944361) + (xy 95.530338 101.031556) + (xy 95.548867 101.054133) + (xy 95.69398 101.173224) + (xy 95.747816 101.202) + (xy 95.85628 101.259976) + (xy 95.856283 101.259977) + (xy 95.859538 101.261717) + (xy 96.039179 101.316211) + (xy 96.226 101.334611) + (xy 96.412821 101.316211) + (xy 96.592462 101.261717) + (xy 96.75802 101.173224) + (xy 96.903133 101.054133) + (xy 97.022224 100.90902) + (xy 97.110717 100.743462) + (xy 97.165211 100.563821) + (xy 97.183611 100.377) + (xy 97.182922 100.37) + (xy 97.848389 100.37) + (xy 97.848751 100.373676) + (xy 97.866006 100.548877) + (xy 97.866789 100.556821) + (xy 97.867859 100.56035) + (xy 97.86786 100.560352) + (xy 97.870844 100.570188) + (xy 97.921283 100.736462) + (xy 97.923019 100.739711) + (xy 97.923023 100.739719) + (xy 98.005103 100.893278) + (xy 98.009776 100.90202) + (xy 98.057863 100.960614) + (xy 98.095034 101.005908) + (xy 98.128867 101.047133) + (xy 98.27398 101.166224) + (xy 98.340912 101.202) + (xy 98.43628 101.252976) + (xy 98.436283 101.252977) + (xy 98.439538 101.254717) + (xy 98.619179 101.309211) + (xy 98.806 101.327611) + (xy 98.992821 101.309211) + (xy 99.172462 101.254717) + (xy 99.33802 101.166224) + (xy 99.483133 101.047133) + (xy 99.602224 100.90202) + (xy 99.690717 100.736462) + (xy 99.745211 100.556821) + (xy 99.763611 100.37) + (xy 100.348389 100.37) + (xy 100.348751 100.373676) + (xy 100.366006 100.548877) + (xy 100.366789 100.556821) + (xy 100.367859 100.56035) + (xy 100.36786 100.560352) + (xy 100.370844 100.570188) + (xy 100.421283 100.736462) + (xy 100.423019 100.739711) + (xy 100.423023 100.739719) + (xy 100.505103 100.893278) + (xy 100.509776 100.90202) + (xy 100.557863 100.960614) + (xy 100.595034 101.005908) + (xy 100.628867 101.047133) + (xy 100.77398 101.166224) + (xy 100.840912 101.202) + (xy 100.93628 101.252976) + (xy 100.936283 101.252977) + (xy 100.939538 101.254717) + (xy 101.119179 101.309211) + (xy 101.306 101.327611) + (xy 101.492821 101.309211) + (xy 101.672462 101.254717) + (xy 101.83802 101.166224) + (xy 101.983133 101.047133) + (xy 102.102224 100.90202) + (xy 102.190717 100.736462) + (xy 102.245211 100.556821) + (xy 102.263611 100.37) + (xy 102.245211 100.183179) + (xy 102.190717 100.003538) + (xy 102.188179 99.99879) + (xy 102.139887 99.908443) + (xy 102.102224 99.83798) + (xy 101.983133 99.692867) + (xy 101.975545 99.68664) + (xy 101.891752 99.617873) + (xy 101.83802 99.573776) + (xy 101.814631 99.561274) + (xy 101.675719 99.487023) + (xy 101.675711 99.487019) + (xy 101.672462 99.485283) + (xy 101.549861 99.448092) + (xy 101.496352 99.43186) + (xy 101.49635 99.431859) + (xy 101.492821 99.430789) + (xy 101.48915 99.430427) + (xy 101.489148 99.430427) + (xy 101.309676 99.412751) + (xy 101.306 99.412389) + (xy 101.302324 99.412751) + (xy 101.122851 99.430427) + (xy 101.122847 99.430427) + (xy 101.119179 99.430789) + (xy 101.115651 99.431859) + (xy 101.115647 99.43186) + (xy 100.943068 99.484212) + (xy 100.943066 99.484212) + (xy 100.939538 99.485283) + (xy 100.936292 99.487018) + (xy 100.93628 99.487023) + (xy 100.777238 99.572034) + (xy 100.777233 99.572036) + (xy 100.77398 99.573776) + (xy 100.771127 99.576117) + (xy 100.771123 99.57612) + (xy 100.631722 99.690523) + (xy 100.631716 99.690528) + (xy 100.628867 99.692867) + (xy 100.626528 99.695716) + (xy 100.626523 99.695722) + (xy 100.51212 99.835123) + (xy 100.512117 99.835127) + (xy 100.509776 99.83798) + (xy 100.508036 99.841233) + (xy 100.508034 99.841238) + (xy 100.423023 100.00028) + (xy 100.423018 100.000292) + (xy 100.421283 100.003538) + (xy 100.420212 100.007066) + (xy 100.420212 100.007068) + (xy 100.372089 100.165708) + (xy 100.366789 100.183179) + (xy 100.366427 100.186847) + (xy 100.366427 100.186851) + (xy 100.352609 100.327151) + (xy 100.348389 100.37) + (xy 99.763611 100.37) + (xy 99.745211 100.183179) + (xy 99.690717 100.003538) + (xy 99.688179 99.99879) + (xy 99.639887 99.908443) + (xy 99.602224 99.83798) + (xy 99.483133 99.692867) + (xy 99.475545 99.68664) + (xy 99.391752 99.617873) + (xy 99.33802 99.573776) + (xy 99.314631 99.561274) + (xy 99.175719 99.487023) + (xy 99.175711 99.487019) + (xy 99.172462 99.485283) + (xy 99.049861 99.448092) + (xy 98.996352 99.43186) + (xy 98.99635 99.431859) + (xy 98.992821 99.430789) + (xy 98.98915 99.430427) + (xy 98.989148 99.430427) + (xy 98.809676 99.412751) + (xy 98.806 99.412389) + (xy 98.802324 99.412751) + (xy 98.622851 99.430427) + (xy 98.622847 99.430427) + (xy 98.619179 99.430789) + (xy 98.615651 99.431859) + (xy 98.615647 99.43186) + (xy 98.443068 99.484212) + (xy 98.443066 99.484212) + (xy 98.439538 99.485283) + (xy 98.436292 99.487018) + (xy 98.43628 99.487023) + (xy 98.277238 99.572034) + (xy 98.277233 99.572036) + (xy 98.27398 99.573776) + (xy 98.271127 99.576117) + (xy 98.271123 99.57612) + (xy 98.131722 99.690523) + (xy 98.131716 99.690528) + (xy 98.128867 99.692867) + (xy 98.126528 99.695716) + (xy 98.126523 99.695722) + (xy 98.01212 99.835123) + (xy 98.012117 99.835127) + (xy 98.009776 99.83798) + (xy 98.008036 99.841233) + (xy 98.008034 99.841238) + (xy 97.923023 100.00028) + (xy 97.923018 100.000292) + (xy 97.921283 100.003538) + (xy 97.920212 100.007066) + (xy 97.920212 100.007068) + (xy 97.872089 100.165708) + (xy 97.866789 100.183179) + (xy 97.866427 100.186847) + (xy 97.866427 100.186851) + (xy 97.852609 100.327151) + (xy 97.848389 100.37) + (xy 97.182922 100.37) + (xy 97.165211 100.190179) + (xy 97.110717 100.010538) + (xy 97.109554 100.008362) + (xy 97.105315 99.965327) + (xy 97.125894 99.926824) + (xy 97.748724 99.303994) + (xy 97.753537 99.299583) + (xy 97.78336 99.27456) + (xy 97.80282 99.240853) + (xy 97.806319 99.23536) + (xy 97.828652 99.203466) + (xy 97.830354 99.19711) + (xy 97.833136 99.191147) + (xy 97.833145 99.191151) + (xy 97.833901 99.189324) + (xy 97.833891 99.189321) + (xy 97.83614 99.18314) + (xy 97.839432 99.17744) + (xy 97.846187 99.139121) + (xy 97.847605 99.132728) + (xy 97.857677 99.095143) + (xy 97.854286 99.056379) + (xy 97.854 99.049826) + (xy 97.854 98.410798) + (xy 97.869916 98.364533) + (xy 97.910928 98.337852) + (xy 97.959674 98.342049) + (xy 97.995519 98.375348) + (xy 98.009776 98.40202) + (xy 98.065365 98.469755) + (xy 98.119967 98.536289) + (xy 98.128867 98.547133) + (xy 98.27398 98.666224) + (xy 98.346468 98.70497) + (xy 98.43628 98.752976) + (xy 98.436283 98.752977) + (xy 98.439538 98.754717) + (xy 98.619179 98.809211) + (xy 98.806 98.827611) + (xy 98.992821 98.809211) + (xy 99.172462 98.754717) + (xy 99.33802 98.666224) + (xy 99.483133 98.547133) + (xy 99.602224 98.40202) + (xy 99.690717 98.236462) + (xy 99.745211 98.056821) + (xy 99.763611 97.87) + (xy 100.348389 97.87) + (xy 100.348751 97.873676) + (xy 100.364498 98.033566) + (xy 100.366789 98.056821) + (xy 100.367859 98.06035) + (xy 100.36786 98.060352) + (xy 100.385747 98.119317) + (xy 100.421283 98.236462) + (xy 100.423019 98.239711) + (xy 100.423023 98.239719) + (xy 100.500105 98.383927) + (xy 100.509776 98.40202) + (xy 100.565365 98.469755) + (xy 100.619967 98.536289) + (xy 100.628867 98.547133) + (xy 100.77398 98.666224) + (xy 100.846468 98.70497) + (xy 100.93628 98.752976) + (xy 100.936283 98.752977) + (xy 100.939538 98.754717) + (xy 101.119179 98.809211) + (xy 101.306 98.827611) + (xy 101.492821 98.809211) + (xy 101.672462 98.754717) + (xy 101.83802 98.666224) + (xy 101.983133 98.547133) + (xy 102.102224 98.40202) + (xy 102.190717 98.236462) + (xy 102.245211 98.056821) + (xy 102.263611 97.87) + (xy 102.245211 97.683179) + (xy 102.190717 97.503538) + (xy 102.184672 97.492229) + (xy 102.140264 97.409148) + (xy 102.102224 97.33798) + (xy 101.983133 97.192867) + (xy 101.931803 97.150742) + (xy 101.905346 97.129029) + (xy 101.83802 97.073776) + (xy 101.818021 97.063086) + (xy 101.675719 96.987023) + (xy 101.675711 96.987019) + (xy 101.672462 96.985283) + (xy 101.559447 96.951) + (xy 101.496352 96.93186) + (xy 101.49635 96.931859) + (xy 101.492821 96.930789) + (xy 101.48915 96.930427) + (xy 101.489148 96.930427) + (xy 101.309676 96.912751) + (xy 101.306 96.912389) + (xy 101.302324 96.912751) + (xy 101.122851 96.930427) + (xy 101.122847 96.930427) + (xy 101.119179 96.930789) + (xy 101.115651 96.931859) + (xy 101.115647 96.93186) + (xy 100.943068 96.984212) + (xy 100.943066 96.984212) + (xy 100.939538 96.985283) + (xy 100.936292 96.987018) + (xy 100.93628 96.987023) + (xy 100.777238 97.072034) + (xy 100.777233 97.072036) + (xy 100.77398 97.073776) + (xy 100.771127 97.076117) + (xy 100.771123 97.07612) + (xy 100.631722 97.190523) + (xy 100.631716 97.190528) + (xy 100.628867 97.192867) + (xy 100.626528 97.195716) + (xy 100.626523 97.195722) + (xy 100.51212 97.335123) + (xy 100.512117 97.335127) + (xy 100.509776 97.33798) + (xy 100.508036 97.341233) + (xy 100.508034 97.341238) + (xy 100.423023 97.50028) + (xy 100.423018 97.500292) + (xy 100.421283 97.503538) + (xy 100.420212 97.507066) + (xy 100.420212 97.507068) + (xy 100.368548 97.677381) + (xy 100.366789 97.683179) + (xy 100.366427 97.686847) + (xy 100.366427 97.686851) + (xy 100.351902 97.83433) + (xy 100.348389 97.87) + (xy 99.763611 97.87) + (xy 99.745211 97.683179) + (xy 99.690717 97.503538) + (xy 99.684672 97.492229) + (xy 99.640264 97.409148) + (xy 99.602224 97.33798) + (xy 99.483133 97.192867) + (xy 99.431803 97.150742) + (xy 99.405346 97.129029) + (xy 99.33802 97.073776) + (xy 99.318021 97.063086) + (xy 99.175719 96.987023) + (xy 99.175711 96.987019) + (xy 99.172462 96.985283) + (xy 99.059447 96.951) + (xy 98.996352 96.93186) + (xy 98.99635 96.931859) + (xy 98.992821 96.930789) + (xy 98.98915 96.930427) + (xy 98.989148 96.930427) + (xy 98.809676 96.912751) + (xy 98.806 96.912389) + (xy 98.802324 96.912751) + (xy 98.622851 96.930427) + (xy 98.622847 96.930427) + (xy 98.619179 96.930789) + (xy 98.615651 96.931859) + (xy 98.615647 96.93186) + (xy 98.443068 96.984212) + (xy 98.443066 96.984212) + (xy 98.439538 96.985283) + (xy 98.436292 96.987018) + (xy 98.43628 96.987023) + (xy 98.277238 97.072034) + (xy 98.277233 97.072036) + (xy 98.27398 97.073776) + (xy 98.271127 97.076117) + (xy 98.271123 97.07612) + (xy 98.131722 97.190523) + (xy 98.131716 97.190528) + (xy 98.128867 97.192867) + (xy 98.126528 97.195716) + (xy 98.126523 97.195722) + (xy 98.01212 97.335123) + (xy 98.012117 97.335127) + (xy 98.009776 97.33798) + (xy 98.008036 97.341233) + (xy 98.008034 97.341238) + (xy 97.99552 97.364651) + (xy 97.959674 97.397951) + (xy 97.910928 97.402148) + (xy 97.869916 97.375467) + (xy 97.854 97.329202) + (xy 97.854 96.802868) + (xy 97.859724 96.77409) + (xy 97.876023 96.749696) + (xy 98.355825 96.269893) + (xy 98.394326 96.249315) + (xy 98.437362 96.253554) + (xy 98.439538 96.254717) + (xy 98.619179 96.309211) + (xy 98.806 96.327611) + (xy 98.992821 96.309211) + (xy 99.172462 96.254717) + (xy 99.33802 96.166224) + (xy 99.483133 96.047133) + (xy 99.602224 95.90202) + (xy 99.690717 95.736462) + (xy 99.745211 95.556821) + (xy 99.763611 95.37) + (xy 100.348389 95.37) + (xy 100.348751 95.373676) + (xy 100.365652 95.545284) + (xy 100.366789 95.556821) + (xy 100.367859 95.56035) + (xy 100.36786 95.560352) + (xy 100.38651 95.621832) + (xy 100.421283 95.736462) + (xy 100.423019 95.739711) + (xy 100.423023 95.739719) + (xy 100.504256 95.891693) + (xy 100.509776 95.90202) + (xy 100.558315 95.961165) + (xy 100.626013 96.043656) + (xy 100.628867 96.047133) + (xy 100.77398 96.166224) + (xy 100.849636 96.206663) + (xy 100.93628 96.252976) + (xy 100.936283 96.252977) + (xy 100.939538 96.254717) + (xy 101.119179 96.309211) + (xy 101.306 96.327611) + (xy 101.492821 96.309211) + (xy 101.672462 96.254717) + (xy 101.83802 96.166224) + (xy 101.983133 96.047133) + (xy 102.102224 95.90202) + (xy 102.190717 95.736462) + (xy 102.245211 95.556821) + (xy 102.263611 95.37) + (xy 102.245211 95.183179) + (xy 102.190717 95.003538) + (xy 102.186728 94.996076) + (xy 102.140115 94.908869) + (xy 102.102224 94.83798) + (xy 101.983133 94.692867) + (xy 101.953808 94.668801) + (xy 101.898906 94.623744) + (xy 101.83802 94.573776) + (xy 101.820071 94.564182) + (xy 101.675719 94.487023) + (xy 101.675711 94.487019) + (xy 101.672462 94.485283) + (xy 101.55498 94.449645) + (xy 101.496352 94.43186) + (xy 101.49635 94.431859) + (xy 101.492821 94.430789) + (xy 101.48915 94.430427) + (xy 101.489148 94.430427) + (xy 101.309676 94.412751) + (xy 101.306 94.412389) + (xy 101.302324 94.412751) + (xy 101.122851 94.430427) + (xy 101.122847 94.430427) + (xy 101.119179 94.430789) + (xy 101.115651 94.431859) + (xy 101.115647 94.43186) + (xy 100.943068 94.484212) + (xy 100.943066 94.484212) + (xy 100.939538 94.485283) + (xy 100.936292 94.487018) + (xy 100.93628 94.487023) + (xy 100.777238 94.572034) + (xy 100.777233 94.572036) + (xy 100.77398 94.573776) + (xy 100.771127 94.576117) + (xy 100.771123 94.57612) + (xy 100.631722 94.690523) + (xy 100.631716 94.690528) + (xy 100.628867 94.692867) + (xy 100.626528 94.695716) + (xy 100.626523 94.695722) + (xy 100.51212 94.835123) + (xy 100.512117 94.835127) + (xy 100.509776 94.83798) + (xy 100.508036 94.841233) + (xy 100.508034 94.841238) + (xy 100.423023 95.00028) + (xy 100.423018 95.000292) + (xy 100.421283 95.003538) + (xy 100.420213 95.007065) + (xy 100.420212 95.007068) + (xy 100.368426 95.177783) + (xy 100.366789 95.183179) + (xy 100.366427 95.186847) + (xy 100.366427 95.186851) + (xy 100.349396 95.359771) + (xy 100.348389 95.37) + (xy 99.763611 95.37) + (xy 99.745211 95.183179) + (xy 99.690717 95.003538) + (xy 99.686728 94.996076) + (xy 99.640115 94.908869) + (xy 99.602224 94.83798) + (xy 99.483133 94.692867) + (xy 99.453808 94.668801) + (xy 99.398906 94.623744) + (xy 99.33802 94.573776) + (xy 99.320071 94.564182) + (xy 99.175719 94.487023) + (xy 99.175711 94.487019) + (xy 99.172462 94.485283) + (xy 99.05498 94.449645) + (xy 98.996352 94.43186) + (xy 98.99635 94.431859) + (xy 98.992821 94.430789) + (xy 98.98915 94.430427) + (xy 98.989148 94.430427) + (xy 98.809676 94.412751) + (xy 98.806 94.412389) + (xy 98.802324 94.412751) + (xy 98.622851 94.430427) + (xy 98.622847 94.430427) + (xy 98.619179 94.430789) + (xy 98.615651 94.431859) + (xy 98.615647 94.43186) + (xy 98.443065 94.484213) + (xy 98.439538 94.485283) + (xy 98.437363 94.486445) + (xy 98.394325 94.490684) + (xy 98.355823 94.470103) + (xy 97.876026 93.990306) + (xy 97.859724 93.96591) + (xy 97.854 93.937132) + (xy 97.854 93.410798) + (xy 97.869916 93.364533) + (xy 97.910928 93.337852) + (xy 97.959674 93.342049) + (xy 97.995519 93.375348) + (xy 98.009776 93.40202) + (xy 98.061082 93.464537) + (xy 98.121532 93.538196) + (xy 98.128867 93.547133) + (xy 98.27398 93.666224) + (xy 98.329934 93.696132) + (xy 98.43628 93.752976) + (xy 98.436283 93.752977) + (xy 98.439538 93.754717) + (xy 98.619179 93.809211) + (xy 98.806 93.827611) + (xy 98.992821 93.809211) + (xy 99.172462 93.754717) + (xy 99.33802 93.666224) + (xy 99.483133 93.547133) + (xy 99.602224 93.40202) + (xy 99.61648 93.375348) + (xy 99.652326 93.342049) + (xy 99.701072 93.337852) + (xy 99.742084 93.364533) + (xy 99.758 93.410798) + (xy 99.758 93.688837) + (xy 99.753259 93.715117) + (xy 99.739632 93.738083) + (xy 99.65814 93.832128) + (xy 99.658136 93.832133) + (xy 99.654618 93.836194) + (xy 99.652385 93.841082) + (xy 99.652382 93.841088) + (xy 99.597626 93.960987) + (xy 99.597624 93.960993) + (xy 99.595392 93.965881) + (xy 99.594627 93.971195) + (xy 99.594626 93.971202) + (xy 99.575998 94.100767) + (xy 99.575102 94.107) + (xy 99.575867 94.112321) + (xy 99.594626 94.242797) + (xy 99.594627 94.242802) + (xy 99.595392 94.248119) + (xy 99.597624 94.253008) + (xy 99.597626 94.253012) + (xy 99.652382 94.372911) + (xy 99.652383 94.372913) + (xy 99.654618 94.377806) + (xy 99.658138 94.381869) + (xy 99.65814 94.381871) + (xy 99.684898 94.412751) + (xy 99.747982 94.485553) + (xy 99.752504 94.488459) + (xy 99.752505 94.48846) + (xy 99.854791 94.554196) + (xy 99.867919 94.562633) + (xy 100.004715 94.6028) + (xy 100.141904 94.6028) + (xy 100.147285 94.6028) + (xy 100.284081 94.562633) + (xy 100.404018 94.485553) + (xy 100.497382 94.377806) + (xy 100.556608 94.248119) + (xy 100.576898 94.107) + (xy 100.575878 94.099909) + (xy 100.557965 93.975321) + (xy 100.556608 93.965881) + (xy 100.530508 93.908731) + (xy 100.499617 93.841088) + (xy 100.497382 93.836194) + (xy 100.483243 93.819877) + (xy 100.412368 93.738083) + (xy 100.398741 93.715117) + (xy 100.394 93.688837) + (xy 100.394 93.471116) + (xy 100.407718 93.427815) + (xy 100.443866 93.400312) + (xy 100.489257 93.39864) + (xy 100.52733 93.42341) + (xy 100.626523 93.544277) + (xy 100.628867 93.547133) + (xy 100.77398 93.666224) + (xy 100.829934 93.696132) + (xy 100.93628 93.752976) + (xy 100.936283 93.752977) + (xy 100.939538 93.754717) + (xy 101.119179 93.809211) + (xy 101.306 93.827611) + (xy 101.492821 93.809211) + (xy 101.672462 93.754717) + (xy 101.83802 93.666224) + (xy 101.983133 93.547133) + (xy 102.102224 93.40202) + (xy 102.190717 93.236462) + (xy 102.245211 93.056821) + (xy 102.263611 92.87) + (xy 102.245211 92.683179) + (xy 102.190717 92.503538) + (xy 102.188783 92.49992) + (xy 102.13576 92.400721) + (xy 102.102224 92.33798) + (xy 101.983133 92.192867) + (xy 101.979415 92.189816) + (xy 101.849406 92.08312) + (xy 101.83802 92.073776) + (xy 101.830471 92.069741) + (xy 101.675719 91.987023) + (xy 101.675711 91.987019) + (xy 101.672462 91.985283) + (xy 101.492821 91.930789) + (xy 101.48915 91.930427) + (xy 101.489148 91.930427) + (xy 101.309676 91.912751) + (xy 101.306 91.912389) + (xy 101.302324 91.912751) + (xy 101.122851 91.930427) + (xy 101.122847 91.930427) + (xy 101.119179 91.930789) + (xy 101.115651 91.931859) + (xy 101.115647 91.93186) + (xy 100.943068 91.984212) + (xy 100.943066 91.984212) + (xy 100.939538 91.985283) + (xy 100.936292 91.987018) + (xy 100.93628 91.987023) + (xy 100.777238 92.072034) + (xy 100.777233 92.072036) + (xy 100.77398 92.073776) + (xy 100.771127 92.076117) + (xy 100.771123 92.07612) + (xy 100.631722 92.190523) + (xy 100.631716 92.190528) + (xy 100.628867 92.192867) + (xy 100.626528 92.195716) + (xy 100.626523 92.195722) + (xy 100.52733 92.31659) + (xy 100.489257 92.34136) + (xy 100.443866 92.339688) + (xy 100.407718 92.312185) + (xy 100.394 92.268884) + (xy 100.394 91.762868) + (xy 100.399724 91.73409) + (xy 100.416023 91.709696) + (xy 100.855825 91.269893) + (xy 100.894326 91.249315) + (xy 100.937362 91.253554) + (xy 100.939538 91.254717) + (xy 101.119179 91.309211) + (xy 101.289781 91.326013) + (xy 101.301004 91.327119) + (xy 101.306 91.327611) + (xy 101.310996 91.327119) + (xy 101.320679 91.326165) + (xy 101.492821 91.309211) + (xy 101.672462 91.254717) + (xy 101.83802 91.166224) + (xy 101.983133 91.047133) + (xy 102.102224 90.90202) + (xy 102.190717 90.736462) + (xy 102.245211 90.556821) + (xy 102.26256 90.380675) + (xy 102.263249 90.373676) + (xy 102.263611 90.37) + (xy 102.245211 90.183179) + (xy 102.190717 90.003538) + (xy 102.188869 90.000081) + (xy 102.125663 89.881832) + (xy 102.102224 89.83798) + (xy 101.983133 89.692867) + (xy 101.951226 89.666682) + (xy 101.849406 89.58312) + (xy 101.83802 89.573776) + (xy 101.807271 89.55734) + (xy 101.675719 89.487023) + (xy 101.675711 89.487019) + (xy 101.672462 89.485283) + (xy 101.55174 89.448662) + (xy 101.496352 89.43186) + (xy 101.49635 89.431859) + (xy 101.492821 89.430789) + (xy 101.48915 89.430427) + (xy 101.489148 89.430427) + (xy 101.309676 89.412751) + (xy 101.306 89.412389) + (xy 101.302324 89.412751) + (xy 101.122851 89.430427) + (xy 101.122847 89.430427) + (xy 101.119179 89.430789) + (xy 101.115651 89.431859) + (xy 101.115647 89.43186) + (xy 100.943068 89.484212) + (xy 100.943066 89.484212) + (xy 100.939538 89.485283) + (xy 100.936292 89.487018) + (xy 100.93628 89.487023) + (xy 100.777238 89.572034) + (xy 100.777233 89.572036) + (xy 100.77398 89.573776) + (xy 100.771127 89.576117) + (xy 100.771123 89.57612) + (xy 100.631722 89.690523) + (xy 100.631716 89.690528) + (xy 100.628867 89.692867) + (xy 100.626528 89.695716) + (xy 100.626523 89.695722) + (xy 100.51212 89.835123) + (xy 100.512117 89.835127) + (xy 100.509776 89.83798) + (xy 100.508036 89.841233) + (xy 100.508034 89.841238) + (xy 100.423023 90.00028) + (xy 100.423018 90.000292) + (xy 100.421283 90.003538) + (xy 100.420212 90.007066) + (xy 100.420212 90.007068) + (xy 100.367876 90.179597) + (xy 100.366789 90.183179) + (xy 100.366427 90.186847) + (xy 100.366427 90.186851) + (xy 100.350446 90.349115) + (xy 100.348389 90.37) + (xy 100.348751 90.373676) + (xy 100.364823 90.536866) + (xy 100.366789 90.556821) + (xy 100.367859 90.56035) + (xy 100.36786 90.560352) + (xy 100.420211 90.732931) + (xy 100.421283 90.736462) + (xy 100.422446 90.738638) + (xy 100.426682 90.781676) + (xy 100.406102 90.820176) + (xy 99.863288 91.36299) + (xy 99.858454 91.367421) + (xy 99.833678 91.388211) + (xy 99.833673 91.388215) + (xy 99.82864 91.39244) + (xy 99.825355 91.398129) + (xy 99.825352 91.398133) + (xy 99.809189 91.426128) + (xy 99.805667 91.431655) + (xy 99.787122 91.458142) + (xy 99.787119 91.458147) + (xy 99.783348 91.463534) + (xy 99.781644 91.469888) + (xy 99.778867 91.475846) + (xy 99.77886 91.475842) + (xy 99.778099 91.477678) + (xy 99.778106 91.477681) + (xy 99.775854 91.483866) + (xy 99.772568 91.48956) + (xy 99.771426 91.496032) + (xy 99.771425 91.496037) + (xy 99.765813 91.527865) + (xy 99.764394 91.534266) + (xy 99.756025 91.565499) + (xy 99.756024 91.565507) + (xy 99.754323 91.571857) + (xy 99.754896 91.578408) + (xy 99.754896 91.57841) + (xy 99.757714 91.610616) + (xy 99.758 91.61717) + (xy 99.758 92.329202) + (xy 99.742084 92.375467) + (xy 99.701072 92.402148) + (xy 99.652326 92.397951) + (xy 99.61648 92.364651) + (xy 99.610006 92.352539) + (xy 99.602224 92.33798) + (xy 99.483133 92.192867) + (xy 99.479415 92.189816) + (xy 99.349406 92.08312) + (xy 99.33802 92.073776) + (xy 99.330471 92.069741) + (xy 99.175719 91.987023) + (xy 99.175711 91.987019) + (xy 99.172462 91.985283) + (xy 98.992821 91.930789) + (xy 98.98915 91.930427) + (xy 98.989148 91.930427) + (xy 98.809676 91.912751) + (xy 98.806 91.912389) + (xy 98.802324 91.912751) + (xy 98.622851 91.930427) + (xy 98.622847 91.930427) + (xy 98.619179 91.930789) + (xy 98.615651 91.931859) + (xy 98.615647 91.93186) + (xy 98.443068 91.984212) + (xy 98.443066 91.984212) + (xy 98.439538 91.985283) + (xy 98.436292 91.987018) + (xy 98.43628 91.987023) + (xy 98.277238 92.072034) + (xy 98.277233 92.072036) + (xy 98.27398 92.073776) + (xy 98.271127 92.076117) + (xy 98.271123 92.07612) + (xy 98.131722 92.190523) + (xy 98.131716 92.190528) + (xy 98.128867 92.192867) + (xy 98.126528 92.195716) + (xy 98.126523 92.195722) + (xy 98.01212 92.335123) + (xy 98.012117 92.335127) + (xy 98.009776 92.33798) + (xy 98.008036 92.341233) + (xy 98.008034 92.341238) + (xy 97.99552 92.364651) + (xy 97.959674 92.397951) + (xy 97.910928 92.402148) + (xy 97.869916 92.375467) + (xy 97.854 92.329202) + (xy 97.854 92.219174) + (xy 97.854286 92.212621) + (xy 97.854432 92.210949) + (xy 97.857677 92.173857) + (xy 97.847606 92.136275) + (xy 97.846187 92.129875) + (xy 97.846171 92.129783) + (xy 97.839432 92.09156) + (xy 97.836142 92.085861) + (xy 97.833893 92.079682) + (xy 97.833902 92.079678) + (xy 97.833144 92.077848) + (xy 97.833136 92.077852) + (xy 97.830353 92.071886) + (xy 97.828652 92.065534) + (xy 97.821077 92.054716) + (xy 97.806334 92.03366) + (xy 97.802809 92.028127) + (xy 97.801881 92.02652) + (xy 97.78336 91.99444) + (xy 97.772447 91.985283) + (xy 97.753551 91.969427) + (xy 97.748715 91.964995) + (xy 97.138004 91.354284) + (xy 97.133572 91.349448) + (xy 97.131854 91.347401) + (xy 97.10856 91.31964) + (xy 97.102867 91.316353) + (xy 97.102861 91.316348) + (xy 97.074866 91.300185) + (xy 97.069335 91.296662) + (xy 97.050258 91.283305) + (xy 97.037466 91.274348) + (xy 97.031111 91.272644) + (xy 97.02515 91.269865) + (xy 97.025153 91.269857) + (xy 97.023321 91.269098) + (xy 97.023319 91.269107) + (xy 97.017136 91.266856) + (xy 97.01144 91.263568) + (xy 97.004963 91.262426) + (xy 97.004961 91.262425) + (xy 96.973133 91.256813) + (xy 96.966731 91.255394) + (xy 96.935498 91.247025) + (xy 96.935493 91.247024) + (xy 96.929143 91.245323) + (xy 96.922591 91.245896) + (xy 96.922589 91.245896) + (xy 96.890384 91.248714) + (xy 96.88383 91.249) + (xy 96.865031 91.249) + (xy 96.826107 91.238143) + (xy 96.798423 91.208706) + (xy 96.789972 91.169189) + (xy 96.801125 91.136982) + (xy 96.801202 91.135417) + (xy 96.796685 91.12729) + (xy 96.233 90.563605) + (xy 96.226 90.559563) + (xy 96.218999 90.563605) + (xy 95.655314 91.127289) + (xy 95.650796 91.135419) + (xy 95.650873 91.136983) + (xy 95.662026 91.16919) + (xy 95.653575 91.208706) + (xy 95.625891 91.238143) + (xy 95.586967 91.249) + (xy 94.375856 91.249) + (xy 94.332555 91.235282) + (xy 94.305052 91.199134) + (xy 94.30338 91.153743) + (xy 94.32815 91.11567) + (xy 94.369319 91.081883) + (xy 94.403133 91.054133) + (xy 94.522224 90.90902) + (xy 94.610717 90.743462) + (xy 94.665211 90.563821) + (xy 94.683249 90.380675) + (xy 95.269253 90.380675) + (xy 95.286919 90.560047) + (xy 95.288354 90.567257) + (xy 95.340673 90.739731) + (xy 95.343491 90.746532) + (xy 95.428449 90.905478) + (xy 95.432538 90.911598) + (xy 95.461586 90.946994) + (xy 95.46843 90.95173) + (xy 95.475709 90.947684) + (xy 96.039394 90.384) + (xy 96.043436 90.377) + (xy 96.408563 90.377) + (xy 96.412605 90.384) + (xy 96.97629 90.947685) + (xy 96.983568 90.95173) + (xy 96.990412 90.946993) + (xy 97.019462 90.911597) + (xy 97.023549 90.90548) + (xy 97.108508 90.746532) + (xy 97.111326 90.739731) + (xy 97.163645 90.567257) + (xy 97.16508 90.560047) + (xy 97.182747 90.380675) + (xy 97.182747 90.373325) + (xy 97.18242 90.37) + (xy 97.848389 90.37) + (xy 97.848751 90.373676) + (xy 97.864823 90.536866) + (xy 97.866789 90.556821) + (xy 97.867859 90.56035) + (xy 97.86786 90.560352) + (xy 97.880091 90.600672) + (xy 97.921283 90.736462) + (xy 97.923019 90.739711) + (xy 97.923023 90.739719) + (xy 98.006819 90.896488) + (xy 98.009776 90.90202) + (xy 98.050572 90.95173) + (xy 98.125015 91.04244) + (xy 98.128867 91.047133) + (xy 98.27398 91.166224) + (xy 98.329328 91.195808) + (xy 98.43628 91.252976) + (xy 98.436283 91.252977) + (xy 98.439538 91.254717) + (xy 98.619179 91.309211) + (xy 98.789781 91.326013) + (xy 98.801004 91.327119) + (xy 98.806 91.327611) + (xy 98.810996 91.327119) + (xy 98.820679 91.326165) + (xy 98.992821 91.309211) + (xy 99.172462 91.254717) + (xy 99.33802 91.166224) + (xy 99.483133 91.047133) + (xy 99.602224 90.90202) + (xy 99.690717 90.736462) + (xy 99.745211 90.556821) + (xy 99.76256 90.380675) + (xy 99.763249 90.373676) + (xy 99.763611 90.37) + (xy 99.745211 90.183179) + (xy 99.690717 90.003538) + (xy 99.688869 90.000081) + (xy 99.625663 89.881832) + (xy 99.602224 89.83798) + (xy 99.483133 89.692867) + (xy 99.451226 89.666682) + (xy 99.349406 89.58312) + (xy 99.33802 89.573776) + (xy 99.307271 89.55734) + (xy 99.175719 89.487023) + (xy 99.175711 89.487019) + (xy 99.172462 89.485283) + (xy 99.05174 89.448662) + (xy 98.996352 89.43186) + (xy 98.99635 89.431859) + (xy 98.992821 89.430789) + (xy 98.98915 89.430427) + (xy 98.989148 89.430427) + (xy 98.809676 89.412751) + (xy 98.806 89.412389) + (xy 98.802324 89.412751) + (xy 98.622851 89.430427) + (xy 98.622847 89.430427) + (xy 98.619179 89.430789) + (xy 98.615651 89.431859) + (xy 98.615647 89.43186) + (xy 98.443068 89.484212) + (xy 98.443066 89.484212) + (xy 98.439538 89.485283) + (xy 98.436292 89.487018) + (xy 98.43628 89.487023) + (xy 98.277238 89.572034) + (xy 98.277233 89.572036) + (xy 98.27398 89.573776) + (xy 98.271127 89.576117) + (xy 98.271123 89.57612) + (xy 98.131722 89.690523) + (xy 98.131716 89.690528) + (xy 98.128867 89.692867) + (xy 98.126528 89.695716) + (xy 98.126523 89.695722) + (xy 98.01212 89.835123) + (xy 98.012117 89.835127) + (xy 98.009776 89.83798) + (xy 98.008036 89.841233) + (xy 98.008034 89.841238) + (xy 97.923023 90.00028) + (xy 97.923018 90.000292) + (xy 97.921283 90.003538) + (xy 97.920212 90.007066) + (xy 97.920212 90.007068) + (xy 97.867876 90.179597) + (xy 97.866789 90.183179) + (xy 97.866427 90.186847) + (xy 97.866427 90.186851) + (xy 97.850446 90.349115) + (xy 97.848389 90.37) + (xy 97.18242 90.37) + (xy 97.16508 90.193952) + (xy 97.163645 90.186742) + (xy 97.111326 90.014268) + (xy 97.108508 90.007467) + (xy 97.02355 89.848521) + (xy 97.019461 89.842401) + (xy 96.990412 89.807004) + (xy 96.983569 89.802268) + (xy 96.976289 89.806314) + (xy 96.412605 90.369999) + (xy 96.408563 90.377) + (xy 96.043436 90.377) + (xy 96.039394 90.369999) + (xy 95.475709 89.806314) + (xy 95.46843 89.802269) + (xy 95.461585 89.807006) + (xy 95.432538 89.8424) + (xy 95.428448 89.848523) + (xy 95.343491 90.007467) + (xy 95.340673 90.014268) + (xy 95.288354 90.186742) + (xy 95.286919 90.193952) + (xy 95.269253 90.373325) + (xy 95.269253 90.380675) + (xy 94.683249 90.380675) + (xy 94.683611 90.377) + (xy 94.682921 90.369999) + (xy 94.680541 90.34583) + (xy 94.665211 90.190179) + (xy 94.610717 90.010538) + (xy 94.608862 90.007068) + (xy 94.553635 89.903746) + (xy 94.522224 89.84498) + (xy 94.403133 89.699867) + (xy 94.394603 89.692867) + (xy 94.30512 89.61943) + (xy 95.651269 89.61943) + (xy 95.655314 89.626709) + (xy 96.218999 90.190394) + (xy 96.226 90.194436) + (xy 96.233 90.190394) + (xy 96.796684 89.626709) + (xy 96.80073 89.61943) + (xy 96.795994 89.612586) + (xy 96.760598 89.583538) + (xy 96.754478 89.579449) + (xy 96.595532 89.494491) + (xy 96.588731 89.491673) + (xy 96.416257 89.439354) + (xy 96.409047 89.437919) + (xy 96.229675 89.420253) + (xy 96.222325 89.420253) + (xy 96.042952 89.437919) + (xy 96.035742 89.439354) + (xy 95.863268 89.491673) + (xy 95.856467 89.494491) + (xy 95.697523 89.579448) + (xy 95.6914 89.583538) + (xy 95.656006 89.612585) + (xy 95.651269 89.61943) + (xy 94.30512 89.61943) + (xy 94.25802 89.580776) + (xy 94.214175 89.55734) + (xy 94.095719 89.494023) + (xy 94.095711 89.494019) + (xy 94.092462 89.492283) + (xy 93.912821 89.437789) + (xy 93.90915 89.437427) + (xy 93.909148 89.437427) + (xy 93.729676 89.419751) + (xy 93.726 89.419389) + (xy 93.722324 89.419751) + (xy 93.542851 89.437427) + (xy 93.542847 89.437427) + (xy 93.539179 89.437789) + (xy 93.535651 89.438859) + (xy 93.535647 89.43886) + (xy 93.363065 89.491213) + (xy 93.359538 89.492283) + (xy 93.357363 89.493445) + (xy 93.314325 89.497684) + (xy 93.275823 89.477103) + (xy 92.613004 88.814284) + (xy 92.608572 88.809448) + (xy 92.607474 88.808139) + (xy 92.58356 88.77964) + (xy 92.577867 88.776353) + (xy 92.577861 88.776348) + (xy 92.549866 88.760185) + (xy 92.544335 88.756662) + (xy 92.526552 88.744211) + (xy 92.512466 88.734348) + (xy 92.506111 88.732644) + (xy 92.50015 88.729865) + (xy 92.500153 88.729857) + (xy 92.498321 88.729098) + (xy 92.498319 88.729107) + (xy 92.492136 88.726856) + (xy 92.48644 88.723568) + (xy 92.479963 88.722426) + (xy 92.479961 88.722425) + (xy 92.448133 88.716813) + (xy 92.441731 88.715394) + (xy 92.410498 88.707025) + (xy 92.410493 88.707024) + (xy 92.404143 88.705323) + (xy 92.397591 88.705896) + (xy 92.397589 88.705896) + (xy 92.365384 88.708714) + (xy 92.35883 88.709) + (xy 91.904466 88.709) + (xy 91.865542 88.698143) + (xy 91.837858 88.668706) + (xy 91.830557 88.634569) + (xy 93.151268 88.634569) + (xy 93.156004 88.641412) + (xy 93.191401 88.670461) + (xy 93.197521 88.67455) + (xy 93.356467 88.759508) + (xy 93.363268 88.762326) + (xy 93.535742 88.814645) + (xy 93.542952 88.81608) + (xy 93.722325 88.833747) + (xy 93.729675 88.833747) + (xy 93.909047 88.81608) + (xy 93.916257 88.814645) + (xy 94.088731 88.762326) + (xy 94.095532 88.759508) + (xy 94.25448 88.674549) + (xy 94.260597 88.670462) + (xy 94.295993 88.641412) + (xy 94.300729 88.634569) + (xy 95.651268 88.634569) + (xy 95.656004 88.641412) + (xy 95.691401 88.670461) + (xy 95.697521 88.67455) + (xy 95.856467 88.759508) + (xy 95.863268 88.762326) + (xy 96.035742 88.814645) + (xy 96.042952 88.81608) + (xy 96.222325 88.833747) + (xy 96.229675 88.833747) + (xy 96.409047 88.81608) + (xy 96.416257 88.814645) + (xy 96.588731 88.762326) + (xy 96.595532 88.759508) + (xy 96.75448 88.674549) + (xy 96.760597 88.670462) + (xy 96.795993 88.641412) + (xy 96.80073 88.634568) + (xy 96.796685 88.62729) + (xy 96.233 88.063605) + (xy 96.226 88.059563) + (xy 96.218999 88.063605) + (xy 95.655314 88.627289) + (xy 95.651268 88.634569) + (xy 94.300729 88.634569) + (xy 94.30073 88.634568) + (xy 94.296685 88.62729) + (xy 93.733 88.063605) + (xy 93.726 88.059563) + (xy 93.718999 88.063605) + (xy 93.155314 88.627289) + (xy 93.151268 88.634569) + (xy 91.830557 88.634569) + (xy 91.829407 88.62919) + (xy 91.842631 88.591005) + (xy 91.852257 88.577096) + (xy 91.848211 88.569816) + (xy 91.222 87.943605) + (xy 91.215 87.939563) + (xy 91.207999 87.943605) + (xy 90.581787 88.569816) + (xy 90.577741 88.577095) + (xy 90.587368 88.591005) + (xy 90.600592 88.62919) + (xy 90.592141 88.668706) + (xy 90.564457 88.698143) + (xy 90.525533 88.709) + (xy 90.107868 88.709) + (xy 90.07909 88.703276) + (xy 90.054694 88.686974) + (xy 89.640306 88.272586) + (xy 89.619094 88.230445) + (xy 89.62716 88.183962) + (xy 89.641412 88.157301) + (xy 89.700938 87.961072) + (xy 89.720675 87.760675) + (xy 90.169827 87.760675) + (xy 90.189192 87.957298) + (xy 90.190627 87.964508) + (xy 90.247979 88.153573) + (xy 90.250792 88.160365) + (xy 90.343929 88.334613) + (xy 90.348011 88.340722) + (xy 90.388059 88.389521) + (xy 90.394903 88.394257) + (xy 90.402182 88.390211) + (xy 91.028394 87.764) + (xy 91.032436 87.757) + (xy 91.397563 87.757) + (xy 91.401605 87.764) + (xy 92.027816 88.390211) + (xy 92.035096 88.394257) + (xy 92.041939 88.38952) + (xy 92.081988 88.340721) + (xy 92.08607 88.334613) + (xy 92.179207 88.160365) + (xy 92.18202 88.153573) + (xy 92.239372 87.964508) + (xy 92.240807 87.957298) + (xy 92.248354 87.880675) + (xy 92.769253 87.880675) + (xy 92.786919 88.060047) + (xy 92.788354 88.067257) + (xy 92.840673 88.239731) + (xy 92.843491 88.246532) + (xy 92.928449 88.405478) + (xy 92.932538 88.411598) + (xy 92.961586 88.446994) + (xy 92.96843 88.45173) + (xy 92.975709 88.447684) + (xy 93.539394 87.884) + (xy 93.543436 87.877) + (xy 93.908563 87.877) + (xy 93.912605 87.884) + (xy 94.47629 88.447685) + (xy 94.483568 88.45173) + (xy 94.490412 88.446993) + (xy 94.519462 88.411597) + (xy 94.523549 88.40548) + (xy 94.608508 88.246532) + (xy 94.611326 88.239731) + (xy 94.663645 88.067257) + (xy 94.66508 88.060047) + (xy 94.682747 87.880675) + (xy 95.269253 87.880675) + (xy 95.286919 88.060047) + (xy 95.288354 88.067257) + (xy 95.340673 88.239731) + (xy 95.343491 88.246532) + (xy 95.428449 88.405478) + (xy 95.432538 88.411598) + (xy 95.461586 88.446994) + (xy 95.46843 88.45173) + (xy 95.475709 88.447684) + (xy 96.039394 87.884) + (xy 96.043436 87.877) + (xy 96.408563 87.877) + (xy 96.412605 87.884) + (xy 96.97629 88.447685) + (xy 96.983568 88.45173) + (xy 96.990412 88.446993) + (xy 97.019462 88.411597) + (xy 97.023549 88.40548) + (xy 97.108508 88.246532) + (xy 97.111326 88.239731) + (xy 97.163645 88.067257) + (xy 97.16508 88.060047) + (xy 97.182747 87.880675) + (xy 97.182747 87.873325) + (xy 97.16508 87.693952) + (xy 97.163645 87.686742) + (xy 97.111326 87.514268) + (xy 97.108508 87.507467) + (xy 97.02355 87.348521) + (xy 97.019461 87.342401) + (xy 96.990412 87.307004) + (xy 96.983569 87.302268) + (xy 96.976289 87.306314) + (xy 96.412605 87.869999) + (xy 96.408563 87.877) + (xy 96.043436 87.877) + (xy 96.039394 87.869999) + (xy 95.475709 87.306314) + (xy 95.46843 87.302269) + (xy 95.461585 87.307006) + (xy 95.432538 87.3424) + (xy 95.428448 87.348523) + (xy 95.343491 87.507467) + (xy 95.340673 87.514268) + (xy 95.288354 87.686742) + (xy 95.286919 87.693952) + (xy 95.269253 87.873325) + (xy 95.269253 87.880675) + (xy 94.682747 87.880675) + (xy 94.682747 87.873325) + (xy 94.66508 87.693952) + (xy 94.663645 87.686742) + (xy 94.611326 87.514268) + (xy 94.608508 87.507467) + (xy 94.52355 87.348521) + (xy 94.519461 87.342401) + (xy 94.490412 87.307004) + (xy 94.483569 87.302268) + (xy 94.476289 87.306314) + (xy 93.912605 87.869999) + (xy 93.908563 87.877) + (xy 93.543436 87.877) + (xy 93.539394 87.869999) + (xy 92.975709 87.306314) + (xy 92.96843 87.302269) + (xy 92.961585 87.307006) + (xy 92.932538 87.3424) + (xy 92.928448 87.348523) + (xy 92.843491 87.507467) + (xy 92.840673 87.514268) + (xy 92.788354 87.686742) + (xy 92.786919 87.693952) + (xy 92.769253 87.873325) + (xy 92.769253 87.880675) + (xy 92.248354 87.880675) + (xy 92.260173 87.760675) + (xy 92.260173 87.753325) + (xy 92.240807 87.556701) + (xy 92.239372 87.549491) + (xy 92.18202 87.360426) + (xy 92.179207 87.353634) + (xy 92.08607 87.179386) + (xy 92.081988 87.173278) + (xy 92.041939 87.124477) + (xy 92.035095 87.119741) + (xy 92.027816 87.123787) + (xy 91.401605 87.749999) + (xy 91.397563 87.757) + (xy 91.032436 87.757) + (xy 91.028394 87.749999) + (xy 90.402182 87.123787) + (xy 90.394903 87.119742) + (xy 90.388058 87.124479) + (xy 90.348008 87.173281) + (xy 90.343931 87.179383) + (xy 90.250792 87.353634) + (xy 90.247979 87.360426) + (xy 90.190627 87.549491) + (xy 90.189192 87.556701) + (xy 90.169827 87.753325) + (xy 90.169827 87.760675) + (xy 89.720675 87.760675) + (xy 89.721037 87.757) + (xy 89.720347 87.749999) + (xy 89.715642 87.70222) + (xy 89.700938 87.552928) + (xy 89.641412 87.356699) + (xy 89.544748 87.175853) + (xy 89.523648 87.150143) + (xy 89.417003 87.020195) + (xy 89.41466 87.01734) + (xy 89.411108 87.014425) + (xy 89.316647 86.936903) + (xy 90.577742 86.936903) + (xy 90.581787 86.944182) + (xy 91.207999 87.570394) + (xy 91.215 87.574436) + (xy 91.222 87.570394) + (xy 91.672963 87.11943) + (xy 93.151269 87.11943) + (xy 93.155314 87.126709) + (xy 93.718999 87.690394) + (xy 93.726 87.694436) + (xy 93.733 87.690394) + (xy 94.296684 87.126709) + (xy 94.30073 87.11943) + (xy 95.651269 87.11943) + (xy 95.655314 87.126709) + (xy 96.218999 87.690394) + (xy 96.226 87.694436) + (xy 96.233 87.690394) + (xy 96.796684 87.126709) + (xy 96.80073 87.11943) + (xy 96.795994 87.112586) + (xy 96.760598 87.083538) + (xy 96.754478 87.079449) + (xy 96.595532 86.994491) + (xy 96.588731 86.991673) + (xy 96.416257 86.939354) + (xy 96.409047 86.937919) + (xy 96.229675 86.920253) + (xy 96.222325 86.920253) + (xy 96.042952 86.937919) + (xy 96.035742 86.939354) + (xy 95.863268 86.991673) + (xy 95.856467 86.994491) + (xy 95.697523 87.079448) + (xy 95.6914 87.083538) + (xy 95.656006 87.112585) + (xy 95.651269 87.11943) + (xy 94.30073 87.11943) + (xy 94.295994 87.112586) + (xy 94.260598 87.083538) + (xy 94.254478 87.079449) + (xy 94.095532 86.994491) + (xy 94.088731 86.991673) + (xy 93.916257 86.939354) + (xy 93.909047 86.937919) + (xy 93.729675 86.920253) + (xy 93.722325 86.920253) + (xy 93.542952 86.937919) + (xy 93.535742 86.939354) + (xy 93.363268 86.991673) + (xy 93.356467 86.994491) + (xy 93.197523 87.079448) + (xy 93.1914 87.083538) + (xy 93.156006 87.112585) + (xy 93.151269 87.11943) + (xy 91.672963 87.11943) + (xy 91.848211 86.944182) + (xy 91.852257 86.936903) + (xy 91.847521 86.930059) + (xy 91.798722 86.890011) + (xy 91.792613 86.885929) + (xy 91.618365 86.792792) + (xy 91.611573 86.789979) + (xy 91.422508 86.732627) + (xy 91.415298 86.731192) + (xy 91.218675 86.711827) + (xy 91.211325 86.711827) + (xy 91.014701 86.731192) + (xy 91.007491 86.732627) + (xy 90.818426 86.789979) + (xy 90.811634 86.792792) + (xy 90.637383 86.885931) + (xy 90.631281 86.890008) + (xy 90.582479 86.930058) + (xy 90.577742 86.936903) + (xy 89.316647 86.936903) + (xy 89.259006 86.889598) + (xy 89.259003 86.889596) + (xy 89.256147 86.887252) + (xy 89.075301 86.790588) + (xy 89.071774 86.789518) + (xy 89.071769 86.789516) + (xy 88.882603 86.732133) + (xy 88.882601 86.732132) + (xy 88.879072 86.731062) + (xy 88.875401 86.7307) + (xy 88.875399 86.7307) + (xy 88.678676 86.711325) + (xy 88.675 86.710963) + (xy 88.671324 86.711325) + (xy 88.4746 86.7307) + (xy 88.474596 86.7307) + (xy 88.470928 86.731062) + (xy 88.4674 86.732132) + (xy 88.467396 86.732133) + (xy 88.27823 86.789516) + (xy 88.278222 86.789519) + (xy 88.274699 86.790588) + (xy 88.271447 86.792325) + (xy 88.271445 86.792327) + (xy 88.097111 86.88551) + (xy 88.097106 86.885512) + (xy 88.093853 86.887252) + (xy 88.091 86.889593) + (xy 88.090993 86.889598) + (xy 87.938195 87.014996) + (xy 87.938189 87.015001) + (xy 87.93534 87.01734) + (xy 87.933001 87.020189) + (xy 87.932996 87.020195) + (xy 87.807598 87.172993) + (xy 87.807593 87.173) + (xy 87.805252 87.175853) + (xy 87.803512 87.179106) + (xy 87.80351 87.179111) + (xy 87.718593 87.33798) + (xy 87.708588 87.356699) + (xy 87.707519 87.36022) + (xy 87.707515 87.360232) + (xy 87.699812 87.385629) + (xy 87.672647 87.424201) + (xy 87.62785 87.439) + (xy 87.186868 87.439) + (xy 87.15809 87.433276) + (xy 87.133694 87.416974) + (xy 86.823004 87.106284) + (xy 86.818572 87.101448) + (xy 86.818116 87.100905) + (xy 86.79356 87.07164) + (xy 86.787867 87.068353) + (xy 86.787861 87.068348) + (xy 86.759866 87.052185) + (xy 86.754335 87.048662) + (xy 86.748844 87.044818) + (xy 86.722466 87.026348) + (xy 86.716111 87.024644) + (xy 86.71015 87.021865) + (xy 86.710153 87.021857) + (xy 86.708321 87.021098) + (xy 86.708319 87.021107) + (xy 86.702136 87.018856) + (xy 86.69644 87.015568) + (xy 86.689963 87.014426) + (xy 86.689961 87.014425) + (xy 86.658133 87.008813) + (xy 86.651731 87.007394) + (xy 86.620498 86.999025) + (xy 86.620493 86.999024) + (xy 86.614143 86.997323) + (xy 86.607591 86.997896) + (xy 86.607589 86.997896) + (xy 86.575384 87.000714) + (xy 86.56883 87.001) + (xy 84.611472 87.001) + (xy 84.576023 86.992121) + (xy 84.548946 86.967579) + (xy 84.530499 86.939972) + (xy 84.524703 86.931297) + (xy 84.508175 86.920253) + (xy 84.467683 86.893196) + (xy 84.46768 86.893194) + (xy 84.461525 86.889082) + (xy 84.454261 86.887637) + (xy 84.415419 86.879911) + (xy 84.405812 86.878) + (xy 83.568188 86.878) + (xy 83.564563 86.87872) + (xy 83.564563 86.878721) + (xy 83.519738 86.887637) + (xy 83.519736 86.887637) + (xy 83.512475 86.889082) + (xy 83.506321 86.893193) + (xy 83.506316 86.893196) + (xy 83.455454 86.927182) + (xy 83.455451 86.927184) + (xy 83.449297 86.931297) + (xy 83.445184 86.937451) + (xy 83.445182 86.937454) + (xy 83.411196 86.988316) + (xy 83.411193 86.988321) + (xy 83.407082 86.994475) + (xy 83.405637 87.001736) + (xy 83.405637 87.001738) + (xy 83.399585 87.032163) + (xy 83.396 87.050188) + (xy 83.396 87.587812) + (xy 83.407082 87.643525) + (xy 83.446302 87.702222) + (xy 83.458976 87.743998) + (xy 83.446303 87.785777) + (xy 83.407082 87.844475) + (xy 83.405637 87.851736) + (xy 83.405637 87.851738) + (xy 83.40097 87.875202) + (xy 83.396 87.900188) + (xy 83.396 88.337812) + (xy 83.407082 88.393525) + (xy 83.411194 88.39968) + (xy 83.411196 88.399683) + (xy 83.443271 88.447685) + (xy 83.449297 88.456703) + (xy 83.455454 88.460817) + (xy 83.460463 88.465826) + (xy 83.479927 88.499537) + (xy 83.479927 88.538463) + (xy 83.460463 88.572174) + (xy 83.455453 88.577183) + (xy 83.449297 88.581297) + (xy 83.445184 88.587451) + (xy 83.445182 88.587454) + (xy 83.411196 88.638316) + (xy 83.411193 88.638321) + (xy 83.407082 88.644475) + (xy 83.405637 88.651736) + (xy 83.405637 88.651738) + (xy 83.4011 88.674549) + (xy 83.396 88.700188) + (xy 83.396 89.137812) + (xy 83.39922 89.154) + (xy 83.40479 89.182005) + (xy 83.407082 89.193525) + (xy 83.446302 89.252222) + (xy 83.458976 89.293998) + (xy 83.446303 89.335777) + (xy 83.407082 89.394475) + (xy 83.405637 89.401736) + (xy 83.405637 89.401738) + (xy 83.399931 89.430427) + (xy 83.396 89.450188) + (xy 83.396 89.987812) + (xy 82.778 89.987812) + (xy 82.778 89.450188) + (xy 82.766918 89.394475) + (xy 82.727695 89.335775) + (xy 82.715023 89.294) + (xy 82.727695 89.252224) + (xy 82.766918 89.193525) + (xy 82.778 89.137812) + (xy 82.778 88.700188) + (xy 82.766918 88.644475) + (xy 82.760298 88.634568) + (xy 82.728817 88.587454) + (xy 82.724703 88.581297) + (xy 82.718545 88.577182) + (xy 82.713537 88.572174) + (xy 82.694073 88.538463) + (xy 82.694073 88.499537) + (xy 82.713537 88.465826) + (xy 82.718544 88.460817) + (xy 82.724703 88.456703) + (xy 82.766918 88.393525) + (xy 82.778 88.337812) + (xy 82.778 87.900188) + (xy 82.766918 87.844475) + (xy 82.727695 87.785775) + (xy 82.715023 87.744) + (xy 82.727695 87.702224) + (xy 82.766918 87.643525) + (xy 82.778 87.587812) + (xy 82.778 87.050188) + (xy 82.766918 86.994475) + (xy 82.762763 86.988257) + (xy 82.728817 86.937454) + (xy 82.724703 86.931297) + (xy 82.708175 86.920253) + (xy 82.667683 86.893196) + (xy 82.66768 86.893194) + (xy 82.661525 86.889082) + (xy 82.654261 86.887637) + (xy 82.615419 86.879911) + (xy 82.605812 86.878) + (xy 81.768188 86.878) + (xy 81.764563 86.87872) + (xy 81.764563 86.878721) + (xy 81.719738 86.887637) + (xy 81.719736 86.887637) + (xy 81.712475 86.889082) + (xy 81.649646 86.931064) + (xy 81.615906 86.943306) + (xy 81.580334 86.938515) + (xy 81.551035 86.917783) + (xy 81.546361 86.912389) + (xy 81.510018 86.870447) + (xy 81.505496 86.867541) + (xy 81.505494 86.867539) + (xy 81.394602 86.796272) + (xy 81.394599 86.79627) + (xy 81.390081 86.793367) + (xy 81.384925 86.791853) + (xy 81.384923 86.791852) + (xy 81.258447 86.754715) + (xy 81.258442 86.754714) + (xy 81.253285 86.7532) + (xy 81.110715 86.7532) + (xy 81.105558 86.754714) + (xy 81.105552 86.754715) + (xy 80.979076 86.791852) + (xy 80.979071 86.791854) + (xy 80.973919 86.793367) + (xy 80.969403 86.796269) + (xy 80.969397 86.796272) + (xy 80.858505 86.867539) + (xy 80.858499 86.867543) + (xy 80.853982 86.870447) + (xy 80.850461 86.874509) + (xy 80.85046 86.874511) + (xy 80.76414 86.974128) + (xy 80.764136 86.974133) + (xy 80.760618 86.978194) + (xy 80.758385 86.983082) + (xy 80.758382 86.983088) + (xy 80.703626 87.102987) + (xy 80.703624 87.102993) + (xy 80.701392 87.107881) + (xy 80.700627 87.113195) + (xy 80.700626 87.113202) + (xy 80.684415 87.225957) + (xy 80.681102 87.249) + (xy 80.681867 87.254321) + (xy 80.700626 87.384797) + (xy 80.700627 87.384802) + (xy 80.701392 87.390119) + (xy 80.703624 87.395008) + (xy 80.703626 87.395012) + (xy 80.758382 87.514911) + (xy 80.758383 87.514913) + (xy 80.760618 87.519806) + (xy 80.764138 87.523869) + (xy 80.76414 87.523871) + (xy 80.790119 87.553852) + (xy 80.853982 87.627553) + (xy 80.858506 87.63046) + (xy 80.862571 87.633983) + (xy 80.861803 87.634869) + (xy 80.888567 87.668907) + (xy 80.888567 87.718093) + (xy 80.861803 87.75213) + (xy 80.862571 87.753017) + (xy 80.858504 87.75654) + (xy 80.853982 87.759447) + (xy 80.850461 87.763509) + (xy 80.85046 87.763511) + (xy 80.76414 87.863128) + (xy 80.764136 87.863133) + (xy 80.760618 87.867194) + (xy 80.758385 87.872082) + (xy 80.758382 87.872088) + (xy 80.703626 87.991987) + (xy 80.703624 87.991993) + (xy 80.701392 87.996881) + (xy 80.700627 88.002195) + (xy 80.700626 88.002202) + (xy 80.682486 88.128371) + (xy 80.681102 88.138) + (xy 80.681867 88.143321) + (xy 80.700626 88.273797) + (xy 80.700627 88.273802) + (xy 80.701392 88.279119) + (xy 80.703624 88.284008) + (xy 80.703626 88.284012) + (xy 80.758382 88.403911) + (xy 80.758383 88.403913) + (xy 80.760618 88.408806) + (xy 80.853982 88.516553) + (xy 80.858506 88.51946) + (xy 80.862571 88.522983) + (xy 80.861803 88.523869) + (xy 80.888567 88.557907) + (xy 80.888567 88.607093) + (xy 80.861803 88.64113) + (xy 80.862571 88.642017) + (xy 80.858504 88.64554) + (xy 80.853982 88.648447) + (xy 80.850461 88.652509) + (xy 80.85046 88.652511) + (xy 80.76414 88.752128) + (xy 80.764136 88.752133) + (xy 80.760618 88.756194) + (xy 80.758385 88.761082) + (xy 80.758382 88.761088) + (xy 80.703626 88.880987) + (xy 80.703624 88.880993) + (xy 80.701392 88.885881) + (xy 80.700627 88.891195) + (xy 80.700626 88.891202) + (xy 80.683834 89.008) + (xy 80.681102 89.027) + (xy 80.681867 89.032321) + (xy 80.700626 89.162797) + (xy 80.700627 89.162802) + (xy 80.701392 89.168119) + (xy 80.703624 89.173008) + (xy 80.703626 89.173012) + (xy 80.758382 89.292911) + (xy 80.758383 89.292913) + (xy 80.760618 89.297806) + (xy 80.764138 89.301869) + (xy 80.76414 89.301871) + (xy 80.790531 89.332327) + (xy 80.853982 89.405553) + (xy 80.858506 89.40846) + (xy 80.862571 89.411983) + (xy 80.861803 89.412869) + (xy 80.888567 89.446907) + (xy 80.888567 89.496093) + (xy 80.861803 89.53013) + (xy 80.862571 89.531017) + (xy 80.858504 89.53454) + (xy 80.853982 89.537447) + (xy 80.850461 89.541509) + (xy 80.85046 89.541511) + (xy 80.76414 89.641128) + (xy 80.764136 89.641133) + (xy 80.760618 89.645194) + (xy 80.758385 89.650082) + (xy 80.758382 89.650088) + (xy 80.703626 89.769987) + (xy 80.703624 89.769993) + (xy 80.701392 89.774881) + (xy 80.700627 89.780195) + (xy 80.700626 89.780202) + (xy 80.684407 89.893012) + (xy 80.681102 89.916) + (xy 80.348546 89.916) + (xy 80.36454 89.881701) + (xy 80.367722 89.870784) + (xy 80.373179 89.829336) + (xy 80.3735 89.824443) + (xy 80.3735 89.098902) + (xy 80.371407 89.091092) + (xy 80.363598 89.089) + (xy 80.019902 89.089) + (xy 80.012092 89.091092) + (xy 80.01 89.098902) + (xy 80.01 90.117597) + (xy 79.756 90.117597) + (xy 79.756 89.098902) + (xy 79.753907 89.091092) + (xy 79.746098 89.089) + (xy 79.402403 89.089) + (xy 79.394593 89.091092) + (xy 79.392501 89.098902) + (xy 79.392501 89.824441) + (xy 79.104 89.824441) + (xy 79.104 88.825098) + (xy 79.3925 88.825098) + (xy 79.394592 88.832907) + (xy 79.402402 88.835) + (xy 79.746098 88.835) + (xy 79.753907 88.832907) + (xy 79.756 88.825098) + (xy 80.01 88.825098) + (xy 80.012092 88.832907) + (xy 80.019902 88.835) + (xy 80.363597 88.835) + (xy 80.371406 88.832907) + (xy 80.373499 88.825098) + (xy 80.373499 88.099559) + (xy 80.373178 88.094663) + (xy 80.367723 88.05322) + (xy 80.364538 88.042294) + (xy 80.319006 87.94465) + (xy 80.311568 87.934028) + (xy 80.235971 87.858431) + (xy 80.225349 87.850993) + (xy 80.127701 87.805459) + (xy 80.116784 87.802277) + (xy 80.075336 87.79682) + (xy 80.070443 87.7965) + (xy 80.019902 87.7965) + (xy 80.012092 87.798592) + (xy 80.01 87.806402) + (xy 80.01 88.825098) + (xy 79.756 88.825098) + (xy 79.756 87.806403) + (xy 79.753907 87.798593) + (xy 79.746098 87.796501) + (xy 79.695559 87.796501) + (xy 79.690663 87.796821) + (xy 79.64922 87.802276) + (xy 79.638294 87.805461) + (xy 79.54065 87.850993) + (xy 79.530028 87.858431) + (xy 79.454431 87.934028) + (xy 79.446993 87.94465) + (xy 79.401459 88.042298) + (xy 79.398277 88.053215) + (xy 79.39282 88.094663) + (xy 79.3925 88.099557) + (xy 79.3925 88.825098) + (xy 79.104 88.825098) + (xy 79.104 88.097048) + (xy 79.097461 88.047381) + (xy 79.04664 87.938393) + (xy 78.961607 87.85336) + (xy 78.917833 87.832948) + (xy 78.857832 87.804969) + (xy 78.857827 87.804967) + (xy 78.852619 87.802539) + (xy 78.846917 87.801788) + (xy 78.846916 87.801788) + (xy 78.805385 87.79632) + (xy 78.80538 87.796319) + (xy 78.802952 87.796) + (xy 78.423048 87.796) + (xy 78.42062 87.796319) + (xy 78.420614 87.79632) + (xy 78.379083 87.801788) + (xy 78.379081 87.801788) + (xy 78.373381 87.802539) + (xy 78.368174 87.804966) + (xy 78.368167 87.804969) + (xy 78.270354 87.85058) + (xy 78.270352 87.850581) + (xy 78.264393 87.85336) + (xy 78.259743 87.858009) + (xy 78.25974 87.858012) + (xy 78.184012 87.93374) + (xy 78.184009 87.933743) + (xy 78.17936 87.938393) + (xy 78.176581 87.944352) + (xy 78.17658 87.944354) + (xy 78.130969 88.042167) + (xy 78.130966 88.042174) + (xy 78.128539 88.047381) + (xy 78.127788 88.053081) + (xy 78.127788 88.053083) + (xy 78.122734 88.091475) + (xy 78.122 88.097048) + (xy 78.122 89.826952) + (xy 77.834 89.826952) + (xy 77.834 88.097048) + (xy 77.827461 88.047381) + (xy 77.77664 87.938393) + (xy 77.691607 87.85336) + (xy 77.647833 87.832948) + (xy 77.587832 87.804969) + (xy 77.587827 87.804967) + (xy 77.582619 87.802539) + (xy 77.576917 87.801788) + (xy 77.576916 87.801788) + (xy 77.535385 87.79632) + (xy 77.53538 87.796319) + (xy 77.532952 87.796) + (xy 77.153048 87.796) + (xy 77.15062 87.796319) + (xy 77.150614 87.79632) + (xy 77.109083 87.801788) + (xy 77.109081 87.801788) + (xy 77.103381 87.802539) + (xy 77.098174 87.804966) + (xy 77.098167 87.804969) + (xy 77.000354 87.85058) + (xy 77.000352 87.850581) + (xy 76.994393 87.85336) + (xy 76.989743 87.858009) + (xy 76.98974 87.858012) + (xy 76.914012 87.93374) + (xy 76.914009 87.933743) + (xy 76.90936 87.938393) + (xy 76.906581 87.944352) + (xy 76.90658 87.944354) + (xy 76.860969 88.042167) + (xy 76.860966 88.042174) + (xy 76.858539 88.047381) + (xy 76.857788 88.053081) + (xy 76.857788 88.053083) + (xy 76.852734 88.091475) + (xy 76.852 88.097048) + (xy 76.852 89.826952) + (xy 76.852319 89.82938) + (xy 76.85232 89.829385) + (xy 76.85484 89.848523) + (xy 76.858539 89.876619) + (xy 76.860967 89.881827) + (xy 76.860969 89.881832) + (xy 76.900159 89.965875) + (xy 76.90936 89.985607) + (xy 76.994393 90.07064) + (xy 76.995509 90.07116) + (xy 77.016504 90.095101) + (xy 77.025 90.129823) + (xy 77.025 90.259837) + (xy 77.020259 90.286117) + (xy 77.006632 90.309083) + (xy 76.922332 90.40637) + (xy 76.886686 90.429278) + (xy 76.844314 90.429278) + (xy 76.808668 90.40637) + (xy 76.795474 90.391143) + (xy 76.716018 90.299447) + (xy 76.711496 90.296541) + (xy 76.711494 90.296539) + (xy 76.600602 90.225272) + (xy 76.600599 90.22527) + (xy 76.596081 90.222367) + (xy 76.486459 90.190179) + (xy 76.465528 90.184033) + (xy 76.424438 90.154029) + (xy 76.411856 90.10473) + (xy 76.433539 90.058707) + (xy 76.50664 89.985607) + (xy 76.557461 89.876619) + (xy 76.564 89.826952) + (xy 76.564 88.097048) + (xy 76.557461 88.047381) + (xy 76.50664 87.938393) + (xy 76.421607 87.85336) + (xy 76.377833 87.832948) + (xy 76.317832 87.804969) + (xy 76.317827 87.804967) + (xy 76.312619 87.802539) + (xy 76.306917 87.801788) + (xy 76.306916 87.801788) + (xy 76.265385 87.79632) + (xy 76.26538 87.796319) + (xy 76.262952 87.796) + (xy 75.883048 87.796) + (xy 75.88062 87.796319) + (xy 75.880614 87.79632) + (xy 75.839083 87.801788) + (xy 75.839081 87.801788) + (xy 75.833381 87.802539) + (xy 75.828174 87.804966) + (xy 75.828167 87.804969) + (xy 75.730354 87.85058) + (xy 75.730352 87.850581) + (xy 75.724393 87.85336) + (xy 75.719743 87.858009) + (xy 75.71974 87.858012) + (xy 75.644012 87.93374) + (xy 75.644009 87.933743) + (xy 75.63936 87.938393) + (xy 75.636581 87.944352) + (xy 75.63658 87.944354) + (xy 75.590969 88.042167) + (xy 75.590966 88.042174) + (xy 75.588539 88.047381) + (xy 75.587788 88.053081) + (xy 75.587788 88.053083) + (xy 75.582734 88.091475) + (xy 75.582 88.097048) + (xy 75.582 89.826952) + (xy 75.582319 89.82938) + (xy 75.58232 89.829385) + (xy 75.58484 89.848523) + (xy 75.588539 89.876619) + (xy 75.590967 89.881827) + (xy 75.590969 89.881832) + (xy 75.630159 89.965875) + (xy 75.63936 89.985607) + (xy 75.724393 90.07064) + (xy 75.725509 90.07116) + (xy 75.746504 90.095101) + (xy 75.755 90.129823) + (xy 75.755 90.34583) + (xy 75.754714 90.352384) + (xy 75.752239 90.380676) + (xy 75.751323 90.391143) + (xy 75.753024 90.397493) + (xy 75.753025 90.397498) + (xy 75.761394 90.428731) + (xy 75.762813 90.435133) + (xy 75.768425 90.466961) + (xy 75.768426 90.466963) + (xy 75.769568 90.47344) + (xy 75.772856 90.479136) + (xy 75.775107 90.485319) + (xy 75.775098 90.485321) + (xy 75.775857 90.487153) + (xy 75.775865 90.48715) + (xy 75.778644 90.493111) + (xy 75.780348 90.499466) + (xy 75.797654 90.524182) + (xy 75.802662 90.531335) + (xy 75.806185 90.536866) + (xy 75.822348 90.564861) + (xy 75.822353 90.564867) + (xy 75.82564 90.57056) + (xy 75.855448 90.595572) + (xy 75.860284 90.600004) + (xy 75.866917 90.606637) + (xy 75.885094 90.63606) + (xy 75.888178 90.670507) + (xy 75.887867 90.672671) + (xy 75.887867 90.672679) + (xy 75.887102 90.678) + (xy 75.887867 90.683321) + (xy 75.906626 90.813797) + (xy 75.906627 90.813802) + (xy 75.907392 90.819119) + (xy 75.909624 90.824008) + (xy 75.909626 90.824012) + (xy 75.964382 90.943911) + (xy 75.964383 90.943913) + (xy 75.966618 90.948806) + (xy 75.970138 90.952869) + (xy 75.97014 90.952871) + (xy 76.051632 91.046917) + (xy 76.065259 91.069883) + (xy 76.07 91.096163) + (xy 76.07 91.345077) + (xy 76.061504 91.379799) + (xy 76.040509 91.403739) + (xy 76.039393 91.40426) + (xy 76.034745 91.408907) + (xy 76.034745 91.408908) + (xy 75.96582 91.477833) + (xy 75.932109 91.497296) + (xy 75.893183 91.497296) + (xy 75.859472 91.477832) + (xy 75.790971 91.409331) + (xy 75.780349 91.401893) + (xy 75.682701 91.356359) + (xy 75.671784 91.353177) + (xy 75.630336 91.34772) + (xy 75.625443 91.3474) + (xy 75.574902 91.3474) + (xy 75.567092 91.349492) + (xy 75.565 91.357302) + (xy 75.565 93.043497) + (xy 75.567092 93.051306) + (xy 75.574902 93.053399) + (xy 75.625441 93.053399) + (xy 75.630336 93.053078) + (xy 75.671779 93.047623) + (xy 75.682705 93.044438) + (xy 75.780349 92.998906) + (xy 75.790968 92.99147) + (xy 75.859471 92.922967) + (xy 75.893182 92.903503) + (xy 75.932109 92.903503) + (xy 75.96582 92.922967) + (xy 76.039393 92.99654) + (xy 76.088767 93.019563) + (xy 76.143167 93.04493) + (xy 76.143168 93.04493) + (xy 76.148381 93.047361) + (xy 76.198048 93.0539) + (xy 76.575495 93.0539) + (xy 76.577952 93.0539) + (xy 76.627619 93.047361) + (xy 76.736607 92.99654) + (xy 76.82164 92.911507) + (xy 76.872461 92.802519) + (xy 76.875243 92.781387) + (xy 76.893916 92.740885) + (xy 76.932245 92.718082) + (xy 76.976749 92.720999) + (xy 77.011774 92.74861) + (xy 77.025 92.791204) + (xy 77.025 92.928132) + (xy 77.019276 92.95691) + (xy 77.002974 92.981306) + (xy 76.384406 93.599874) + (xy 76.36001 93.616176) + (xy 76.331232 93.6219) + (xy 76.198048 93.6219) + (xy 76.19562 93.622219) + (xy 76.195614 93.62222) + (xy 76.154083 93.627688) + (xy 76.154081 93.627688) + (xy 76.148381 93.628439) + (xy 76.143174 93.630866) + (xy 76.143167 93.630869) + (xy 76.045354 93.67648) + (xy 76.045352 93.676481) + (xy 76.039393 93.67926) + (xy 76.034743 93.683909) + (xy 76.03474 93.683912) + (xy 75.966174 93.752479) + (xy 75.932463 93.771943) + (xy 75.893537 93.771943) + (xy 75.859826 93.752479) + (xy 75.791259 93.683912) + (xy 75.791258 93.683911) + (xy 75.786607 93.67926) + (xy 75.763281 93.668383) + (xy 75.682832 93.630869) + (xy 75.682827 93.630867) + (xy 75.677619 93.628439) + (xy 75.671917 93.627688) + (xy 75.671916 93.627688) + (xy 75.630385 93.62222) + (xy 75.63038 93.622219) + (xy 75.627952 93.6219) + (xy 75.248048 93.6219) + (xy 75.24562 93.622219) + (xy 75.245614 93.62222) + (xy 75.204083 93.627688) + (xy 75.204081 93.627688) + (xy 75.198381 93.628439) + (xy 75.193174 93.630866) + (xy 75.193167 93.630869) + (xy 75.095354 93.67648) + (xy 75.095352 93.676481) + (xy 75.089393 93.67926) + (xy 75.084743 93.683909) + (xy 75.08474 93.683912) + (xy 75.016174 93.752479) + (xy 74.982463 93.771943) + (xy 74.943537 93.771943) + (xy 74.909826 93.752479) + (xy 74.841259 93.683912) + (xy 74.841258 93.683911) + (xy 74.836607 93.67926) + (xy 74.813281 93.668383) + (xy 74.732832 93.630869) + (xy 74.732827 93.630867) + (xy 74.727619 93.628439) + (xy 74.721917 93.627688) + (xy 74.721916 93.627688) + (xy 74.680385 93.62222) + (xy 74.68038 93.622219) + (xy 74.677952 93.6219) + (xy 74.675495 93.6219) + (xy 74.544768 93.6219) + (xy 74.51599 93.616176) + (xy 74.491594 93.599874) + (xy 73.873026 92.981306) + (xy 73.856724 92.95691) + (xy 73.851 92.928132) + (xy 73.851 92.791204) + (xy 73.864226 92.74861) + (xy 73.899251 92.720999) + (xy 73.943755 92.718082) + (xy 73.982084 92.740885) + (xy 74.000756 92.781387) + (xy 74.003539 92.802519) + (xy 74.005967 92.807727) + (xy 74.005969 92.807732) + (xy 74.043 92.887146) + (xy 74.05436 92.911507) + (xy 74.139393 92.99654) + (xy 74.188767 93.019563) + (xy 74.243167 93.04493) + (xy 74.243168 93.04493) + (xy 74.248381 93.047361) + (xy 74.298048 93.0539) + (xy 74.675495 93.0539) + (xy 74.677952 93.0539) + (xy 74.727619 93.047361) + (xy 74.836607 92.99654) + (xy 74.910182 92.922964) + (xy 74.943889 92.903503) + (xy 74.982816 92.903503) + (xy 75.016527 92.922967) + (xy 75.085028 92.991468) + (xy 75.09565 92.998906) + (xy 75.193298 93.04444) + (xy 75.204215 93.047622) + (xy 75.245663 93.053079) + (xy 75.250557 93.0534) + (xy 75.301098 93.0534) + (xy 75.308907 93.051307) + (xy 75.311 93.043498) + (xy 75.311 91.357303) + (xy 75.308907 91.349493) + (xy 75.301098 91.347401) + (xy 75.250559 91.347401) + (xy 75.245663 91.347721) + (xy 75.20422 91.353176) + (xy 75.193294 91.356361) + (xy 75.09565 91.401893) + (xy 75.085031 91.409329) + (xy 75.016527 91.477833) + (xy 74.982816 91.497296) + (xy 74.94389 91.497296) + (xy 74.910179 91.477832) + (xy 74.841257 91.40891) + (xy 74.841256 91.408909) + (xy 74.836607 91.40426) + (xy 74.83549 91.403739) + (xy 74.814496 91.379799) + (xy 74.806 91.345077) + (xy 74.806 91.096163) + (xy 74.810741 91.069883) + (xy 74.824368 91.046917) + (xy 74.884433 90.977598) + (xy 74.909382 90.948806) + (xy 74.968608 90.819119) + (xy 74.988898 90.678) + (xy 74.988133 90.672679) + (xy 74.988133 90.672674) + (xy 74.979525 90.61281) + (xy 74.982607 90.578359) + (xy 75.000783 90.548935) + (xy 75.015724 90.533994) + (xy 75.020537 90.529583) + (xy 75.05036 90.50456) + (xy 75.06982 90.470853) + (xy 75.073319 90.46536) + (xy 75.095652 90.433466) + (xy 75.097354 90.42711) + (xy 75.100136 90.421147) + (xy 75.100145 90.421151) + (xy 75.100901 90.419324) + (xy 75.100891 90.419321) + (xy 75.10314 90.41314) + (xy 75.106432 90.40744) + (xy 75.113187 90.369121) + (xy 75.114605 90.362728) + (xy 75.124677 90.325143) + (xy 75.121285 90.286383) + (xy 75.121 90.27983) + (xy 75.121 90.129823) + (xy 75.129496 90.095101) + (xy 75.15049 90.07116) + (xy 75.151607 90.07064) + (xy 75.23664 89.985607) + (xy 75.287461 89.876619) + (xy 75.294 89.826952) + (xy 75.294 88.097048) + (xy 75.287461 88.047381) + (xy 75.23664 87.938393) + (xy 75.151607 87.85336) + (xy 75.107833 87.832948) + (xy 75.047832 87.804969) + (xy 75.047827 87.804967) + (xy 75.042619 87.802539) + (xy 75.036917 87.801788) + (xy 75.036916 87.801788) + (xy 74.995385 87.79632) + (xy 74.99538 87.796319) + (xy 74.992952 87.796) + (xy 74.613048 87.796) + (xy 74.61062 87.796319) + (xy 74.610614 87.79632) + (xy 74.569083 87.801788) + (xy 74.569081 87.801788) + (xy 74.563381 87.802539) + (xy 74.558174 87.804966) + (xy 74.558167 87.804969) + (xy 74.460354 87.85058) + (xy 74.460352 87.850581) + (xy 74.454393 87.85336) + (xy 74.449743 87.858009) + (xy 74.44974 87.858012) + (xy 74.374012 87.93374) + (xy 74.374009 87.933743) + (xy 74.36936 87.938393) + (xy 74.366581 87.944352) + (xy 74.36658 87.944354) + (xy 74.320969 88.042167) + (xy 74.320966 88.042174) + (xy 74.318539 88.047381) + (xy 74.317788 88.053081) + (xy 74.317788 88.053083) + (xy 74.312734 88.091475) + (xy 74.312 88.097048) + (xy 74.312 89.826952) + (xy 74.312319 89.82938) + (xy 74.31232 89.829385) + (xy 74.31484 89.848523) + (xy 74.318539 89.876619) + (xy 74.320967 89.881827) + (xy 74.320969 89.881832) + (xy 74.360159 89.965875) + (xy 74.36936 89.985607) + (xy 74.374011 89.990258) + (xy 74.374012 89.990259) + (xy 74.442458 90.058705) + (xy 74.464143 90.104731) + (xy 74.451561 90.154029) + (xy 74.410471 90.184033) + (xy 74.300104 90.21644) + (xy 74.279919 90.222367) + (xy 74.275403 90.225269) + (xy 74.275397 90.225272) + (xy 74.164505 90.296539) + (xy 74.164499 90.296543) + (xy 74.159982 90.299447) + (xy 74.156461 90.303509) + (xy 74.15646 90.303511) + (xy 74.067332 90.40637) + (xy 74.031686 90.429278) + (xy 73.989314 90.429278) + (xy 73.953668 90.40637) + (xy 73.869368 90.309083) + (xy 73.855741 90.286117) + (xy 73.851 90.259837) + (xy 73.851 90.129823) + (xy 73.859496 90.095101) + (xy 73.88049 90.07116) + (xy 73.881607 90.07064) + (xy 73.96664 89.985607) + (xy 74.017461 89.876619) + (xy 74.024 89.826952) + (xy 74.024 88.097048) + (xy 74.017461 88.047381) + (xy 73.96664 87.938393) + (xy 73.881607 87.85336) + (xy 73.837833 87.832948) + (xy 73.777832 87.804969) + (xy 73.777827 87.804967) + (xy 73.772619 87.802539) + (xy 73.766917 87.801788) + (xy 73.766916 87.801788) + (xy 73.725385 87.79632) + (xy 73.72538 87.796319) + (xy 73.722952 87.796) + (xy 73.343048 87.796) + (xy 73.34062 87.796319) + (xy 73.340614 87.79632) + (xy 73.299083 87.801788) + (xy 73.299081 87.801788) + (xy 73.293381 87.802539) + (xy 73.288174 87.804966) + (xy 73.288167 87.804969) + (xy 73.190354 87.85058) + (xy 73.190352 87.850581) + (xy 73.184393 87.85336) + (xy 73.179743 87.858009) + (xy 73.17974 87.858012) + (xy 73.104012 87.93374) + (xy 73.104009 87.933743) + (xy 73.09936 87.938393) + (xy 73.096581 87.944352) + (xy 73.09658 87.944354) + (xy 73.050969 88.042167) + (xy 73.050966 88.042174) + (xy 73.048539 88.047381) + (xy 73.047788 88.053081) + (xy 73.047788 88.053083) + (xy 73.042734 88.091475) + (xy 73.042 88.097048) + (xy 73.042 89.826952) + (xy 73.042319 89.82938) + (xy 73.04232 89.829385) + (xy 73.04484 89.848523) + (xy 73.048539 89.876619) + (xy 73.050967 89.881827) + (xy 73.050969 89.881832) + (xy 73.090159 89.965875) + (xy 73.09936 89.985607) + (xy 73.184393 90.07064) + (xy 73.185509 90.07116) + (xy 73.206504 90.095101) + (xy 73.215 90.129823) + (xy 73.215 90.259837) + (xy 73.210259 90.286117) + (xy 73.196632 90.309083) + (xy 73.11514 90.403128) + (xy 73.115136 90.403133) + (xy 73.111618 90.407194) + (xy 73.109385 90.412082) + (xy 73.109382 90.412088) + (xy 73.054626 90.531987) + (xy 73.054624 90.531993) + (xy 73.052392 90.536881) + (xy 73.051627 90.542195) + (xy 73.051626 90.542202) + (xy 73.033885 90.665597) + (xy 73.032102 90.678) + (xy 73.032867 90.683321) + (xy 73.051626 90.813797) + (xy 73.051627 90.813802) + (xy 73.052392 90.819119) + (xy 73.054624 90.824008) + (xy 73.054626 90.824012) + (xy 73.109382 90.943911) + (xy 73.109383 90.943913) + (xy 73.111618 90.948806) + (xy 73.115138 90.952869) + (xy 73.11514 90.952871) + (xy 73.196632 91.046917) + (xy 73.210259 91.069883) + (xy 73.215 91.096163) + (xy 73.215 93.07383) + (xy 73.214714 93.080384) + (xy 73.211897 93.112587) + (xy 73.211323 93.119143) + (xy 73.213024 93.125493) + (xy 73.213025 93.125498) + (xy 73.221394 93.156731) + (xy 73.222813 93.163133) + (xy 73.228425 93.194961) + (xy 73.228426 93.194963) + (xy 73.229568 93.20144) + (xy 73.232856 93.207136) + (xy 73.235107 93.213319) + (xy 73.235098 93.213321) + (xy 73.235857 93.215153) + (xy 73.235865 93.21515) + (xy 73.238644 93.221111) + (xy 73.240348 93.227466) + (xy 73.255885 93.249656) + (xy 73.262662 93.259335) + (xy 73.266185 93.264866) + (xy 73.282348 93.292861) + (xy 73.282353 93.292867) + (xy 73.28564 93.29856) + (xy 73.310034 93.319029) + (xy 73.315448 93.323572) + (xy 73.320284 93.328004) + (xy 73.974974 93.982694) + (xy 73.991276 94.00709) + (xy 73.997 94.035868) + (xy 73.997 95.027852) + (xy 73.997319 95.03028) + (xy 73.99732 95.030285) + (xy 74.002282 95.067972) + (xy 74.003539 95.077519) + (xy 74.005967 95.082727) + (xy 74.005969 95.082732) + (xy 74.032776 95.140219) + (xy 74.05436 95.186507) + (xy 74.059012 95.191159) + (xy 74.115979 95.248126) + (xy 74.13656 95.286629) + (xy 74.132281 95.330078) + (xy 74.104584 95.363827) + (xy 74.062805 95.3765) + (xy 71.004371 95.3765) + (xy 70.975593 95.370776) + (xy 70.951196 95.354474) + (xy 70.804745 95.208023) + (xy 70.65421 95.057487) + (xy 70.63295 95.015015) + (xy 70.629231 94.989151) + (xy 70.622708 94.943781) + (xy 70.563482 94.814094) + (xy 70.548905 94.797272) + (xy 70.521229 94.765332) + (xy 70.503867 94.745295) + (xy 70.490241 94.722331) + (xy 70.4855 94.696051) + (xy 70.4855 93.641445) + (xy 70.498173 93.599666) + (xy 70.531922 93.571969) + (xy 70.575371 93.56769) + (xy 70.613874 93.588271) + (xy 70.625853 93.60025) + (xy 70.636475 93.607688) + (xy 70.730926 93.651731) + (xy 70.741843 93.654913) + (xy 70.78184 93.660179) + (xy 70.786734 93.6605) + (xy 70.856098 93.6605) + (xy 70.863907 93.658407) + (xy 70.866 93.650598) + (xy 71.12 93.650598) + (xy 71.122092 93.658407) + (xy 71.129902 93.6605) + (xy 71.199266 93.6605) + (xy 71.204159 93.660179) + (xy 71.244156 93.654913) + (xy 71.255073 93.651731) + (xy 71.349524 93.607688) + (xy 71.360146 93.60025) + (xy 71.43325 93.527146) + (xy 71.440688 93.516524) + (xy 71.484731 93.422073) + (xy 71.487913 93.411156) + (xy 71.493179 93.371159) + (xy 71.4935 93.366266) + (xy 71.7625 93.366266) + (xy 71.76282 93.371159) + (xy 71.768086 93.411156) + (xy 71.771268 93.422073) + (xy 71.815311 93.516524) + (xy 71.822749 93.527146) + (xy 71.895853 93.60025) + (xy 71.906475 93.607688) + (xy 72.000926 93.651731) + (xy 72.011843 93.654913) + (xy 72.05184 93.660179) + (xy 72.056734 93.6605) + (xy 72.126098 93.6605) + (xy 72.133907 93.658407) + (xy 72.136 93.650598) + (xy 72.39 93.650598) + (xy 72.392092 93.658407) + (xy 72.399902 93.6605) + (xy 72.469266 93.6605) + (xy 72.474159 93.660179) + (xy 72.514156 93.654913) + (xy 72.525073 93.651731) + (xy 72.619524 93.607688) + (xy 72.630146 93.60025) + (xy 72.70325 93.527146) + (xy 72.710688 93.516524) + (xy 72.754731 93.422073) + (xy 72.757913 93.411156) + (xy 72.763179 93.371159) + (xy 72.7635 93.366266) + (xy 72.7635 93.326902) + (xy 72.761407 93.319092) + (xy 72.753598 93.317) + (xy 72.399902 93.317) + (xy 72.392092 93.319092) + (xy 72.39 93.326902) + (xy 72.39 93.650598) + (xy 72.136 93.650598) + (xy 72.136 93.326902) + (xy 72.133907 93.319092) + (xy 72.126098 93.317) + (xy 71.772402 93.317) + (xy 71.764592 93.319092) + (xy 71.7625 93.326902) + (xy 71.7625 93.366266) + (xy 71.4935 93.366266) + (xy 71.4935 93.326902) + (xy 71.491407 93.319092) + (xy 71.483598 93.317) + (xy 71.129902 93.317) + (xy 71.122092 93.319092) + (xy 71.12 93.326902) + (xy 71.12 93.650598) + (xy 70.866 93.650598) + (xy 70.866 93.1382) + (xy 70.876075 93.1006) + (xy 70.9036 93.073075) + (xy 70.9412 93.063) + (xy 71.483598 93.063) + (xy 71.491407 93.060907) + (xy 71.4935 93.053098) + (xy 71.4935 93.013734) + (xy 71.493179 93.00884) + (xy 71.487913 92.968843) + (xy 71.484731 92.957926) + (xy 71.440688 92.863475) + (xy 71.43325 92.852853) + (xy 71.360145 92.779748) + (xy 71.348949 92.771908) + (xy 71.3207 92.73396) + (xy 71.320702 92.686653) + (xy 71.348953 92.648707) + (xy 71.34981 92.648106) + (xy 71.355782 92.645322) + (xy 71.438322 92.562782) + (xy 71.487653 92.456991) + (xy 71.494 92.408783) + (xy 71.494 92.406338) + (xy 71.762 92.406338) + (xy 71.762001 92.408782) + (xy 71.76232 92.411207) + (xy 71.762321 92.411218) + (xy 71.767595 92.451283) + (xy 71.767596 92.451286) + (xy 71.768347 92.456991) + (xy 71.770779 92.462206) + (xy 71.77078 92.462209) + (xy 71.814895 92.556815) + (xy 71.814896 92.556817) + (xy 71.817678 92.562782) + (xy 71.900218 92.645322) + (xy 71.906185 92.648104) + (xy 71.907047 92.648708) + (xy 71.935297 92.686653) + (xy 71.935299 92.73396) + (xy 71.907052 92.771907) + (xy 71.895854 92.779748) + (xy 71.822749 92.852853) + (xy 71.815311 92.863475) + (xy 71.771268 92.957926) + (xy 71.768086 92.968843) + (xy 71.76282 93.00884) + (xy 71.7625 93.013734) + (xy 71.7625 93.053098) + (xy 71.764592 93.060907) + (xy 71.772402 93.063) + (xy 72.753598 93.063) + (xy 72.761407 93.060907) + (xy 72.7635 93.053098) + (xy 72.7635 93.013734) + (xy 72.763179 93.00884) + (xy 72.757913 92.968843) + (xy 72.754731 92.957926) + (xy 72.710688 92.863475) + (xy 72.70325 92.852853) + (xy 72.630145 92.779748) + (xy 72.618949 92.771908) + (xy 72.5907 92.73396) + (xy 72.590702 92.686653) + (xy 72.618953 92.648707) + (xy 72.61981 92.648106) + (xy 72.625782 92.645322) + (xy 72.708322 92.562782) + (xy 72.757653 92.456991) + (xy 72.764 92.408783) + (xy 72.763999 92.051218) + (xy 72.757653 92.003009) + (xy 72.708322 91.897218) + (xy 72.625782 91.814678) + (xy 72.619815 91.811896) + (xy 72.614429 91.808124) + (xy 72.61566 91.806365) + (xy 72.592772 91.786285) + (xy 72.581 91.745888) + (xy 72.581 90.842163) + (xy 72.585741 90.815883) + (xy 72.599368 90.792917) + (xy 72.644354 90.741) + (xy 72.684382 90.694806) + (xy 72.743608 90.565119) + (xy 72.763898 90.424) + (xy 72.743608 90.282881) + (xy 72.684382 90.153194) + (xy 72.658119 90.122885) + (xy 72.641472 90.089627) + (xy 72.642799 90.052455) + (xy 72.661778 90.020468) + (xy 72.69664 89.985607) + (xy 72.747461 89.876619) + (xy 72.754 89.826952) + (xy 72.754 88.097048) + (xy 72.747461 88.047381) + (xy 72.69664 87.938393) + (xy 72.611607 87.85336) + (xy 72.567833 87.832948) + (xy 72.507832 87.804969) + (xy 72.507827 87.804967) + (xy 72.502619 87.802539) + (xy 72.496917 87.801788) + (xy 72.496916 87.801788) + (xy 72.455385 87.79632) + (xy 72.45538 87.796319) + (xy 72.452952 87.796) + (xy 72.073048 87.796) + (xy 72.07062 87.796319) + (xy 72.070614 87.79632) + (xy 72.029083 87.801788) + (xy 72.029081 87.801788) + (xy 72.023381 87.802539) + (xy 72.018174 87.804966) + (xy 72.018167 87.804969) + (xy 71.920354 87.85058) + (xy 71.920352 87.850581) + (xy 71.914393 87.85336) + (xy 71.909743 87.858009) + (xy 71.90974 87.858012) + (xy 71.834012 87.93374) + (xy 71.834009 87.933743) + (xy 71.82936 87.938393) + (xy 71.826581 87.944352) + (xy 71.82658 87.944354) + (xy 71.780969 88.042167) + (xy 71.780966 88.042174) + (xy 71.778539 88.047381) + (xy 71.777788 88.053081) + (xy 71.777788 88.053083) + (xy 71.772734 88.091475) + (xy 71.772 88.097048) + (xy 71.772 89.826952) + (xy 71.772319 89.82938) + (xy 71.77232 89.829385) + (xy 71.77484 89.848523) + (xy 71.778539 89.876619) + (xy 71.780967 89.881827) + (xy 71.780969 89.881832) + (xy 71.820159 89.965875) + (xy 71.82936 89.985607) + (xy 71.834011 89.990258) + (xy 71.834012 89.990259) + (xy 71.86422 90.020467) + (xy 71.8832 90.052454) + (xy 71.884528 90.089625) + (xy 71.867879 90.122885) + (xy 71.845143 90.149124) + (xy 71.84514 90.149129) + (xy 71.841618 90.153194) + (xy 71.839385 90.158082) + (xy 71.839382 90.158088) + (xy 71.784626 90.277987) + (xy 71.784624 90.277993) + (xy 71.782392 90.282881) + (xy 71.781627 90.288195) + (xy 71.781626 90.288202) + (xy 71.768658 90.378402) + (xy 71.762102 90.424) + (xy 71.762867 90.429321) + (xy 71.781626 90.559797) + (xy 71.781627 90.559802) + (xy 71.782392 90.565119) + (xy 71.784624 90.570008) + (xy 71.784626 90.570012) + (xy 71.839382 90.689911) + (xy 71.839383 90.689913) + (xy 71.841618 90.694806) + (xy 71.845138 90.698869) + (xy 71.84514 90.698871) + (xy 71.926632 90.792917) + (xy 71.940259 90.815883) + (xy 71.945 90.842163) + (xy 71.945 91.745888) + (xy 71.933228 91.786285) + (xy 71.910339 91.806365) + (xy 71.911571 91.808124) + (xy 71.906183 91.811896) + (xy 71.900218 91.814678) + (xy 71.895565 91.81933) + (xy 71.895562 91.819333) + (xy 71.822333 91.892562) + (xy 71.82233 91.892565) + (xy 71.817678 91.897218) + (xy 71.814898 91.903179) + (xy 71.814895 91.903184) + (xy 71.770779 91.997793) + (xy 71.768347 92.003009) + (xy 71.767596 92.008711) + (xy 71.767596 92.008712) + (xy 71.762321 92.048781) + (xy 71.762 92.051217) + (xy 71.762 92.053673) + (xy 71.762 92.053674) + (xy 71.762 92.406323) + (xy 71.762 92.406338) + (xy 71.494 92.406338) + (xy 71.493999 92.051218) + (xy 71.487653 92.003009) + (xy 71.438322 91.897218) + (xy 71.355782 91.814678) + (xy 71.349815 91.811896) + (xy 71.344429 91.808124) + (xy 71.34566 91.806365) + (xy 71.322772 91.786285) + (xy 71.311 91.745888) + (xy 71.311 91.604163) + (xy 71.315741 91.577883) + (xy 71.329368 91.554917) + (xy 71.386 91.48956) + (xy 71.414382 91.456806) + (xy 71.473608 91.327119) + (xy 71.493898 91.186) + (xy 71.486625 91.135419) + (xy 71.474373 91.050202) + (xy 71.473608 91.044881) + (xy 71.414382 90.915194) + (xy 71.405963 90.905478) + (xy 71.329368 90.817083) + (xy 71.315741 90.794117) + (xy 71.311 90.767837) + (xy 71.311 90.129823) + (xy 71.319496 90.095101) + (xy 71.34049 90.07116) + (xy 71.341607 90.07064) + (xy 71.42664 89.985607) + (xy 71.477461 89.876619) + (xy 71.484 89.826952) + (xy 71.484 88.097048) + (xy 71.477461 88.047381) + (xy 71.42664 87.938393) + (xy 71.341607 87.85336) + (xy 71.297833 87.832948) + (xy 71.237832 87.804969) + (xy 71.237827 87.804967) + (xy 71.232619 87.802539) + (xy 71.226917 87.801788) + (xy 71.226916 87.801788) + (xy 71.185385 87.79632) + (xy 71.18538 87.796319) + (xy 71.182952 87.796) + (xy 70.803048 87.796) + (xy 70.80062 87.796319) + (xy 70.800614 87.79632) + (xy 70.759083 87.801788) + (xy 70.759081 87.801788) + (xy 70.753381 87.802539) + (xy 70.748174 87.804966) + (xy 70.748167 87.804969) + (xy 70.650354 87.85058) + (xy 70.650352 87.850581) + (xy 70.644393 87.85336) + (xy 70.639743 87.858009) + (xy 70.63974 87.858012) + (xy 70.613874 87.883879) + (xy 70.575371 87.90446) + (xy 70.531922 87.900181) + (xy 70.498173 87.872484) + (xy 70.4855 87.830705) + (xy 70.4855 86.995) + (xy 73.921102 86.995) + (xy 73.921867 87.000321) + (xy 73.940626 87.130797) + (xy 73.940627 87.130802) + (xy 73.941392 87.136119) + (xy 73.943624 87.141008) + (xy 73.943626 87.141012) + (xy 73.998382 87.260911) + (xy 73.998383 87.260913) + (xy 74.000618 87.265806) + (xy 74.004138 87.269869) + (xy 74.00414 87.269871) + (xy 74.036318 87.307006) + (xy 74.093982 87.373553) + (xy 74.098504 87.376459) + (xy 74.098505 87.37646) + (xy 74.184507 87.431731) + (xy 74.213919 87.450633) + (xy 74.350715 87.4908) + (xy 74.487904 87.4908) + (xy 74.493285 87.4908) + (xy 74.630081 87.450633) + (xy 74.750018 87.373553) + (xy 74.777012 87.342401) + (xy 74.779999 87.338954) + (xy 74.805592 87.319795) + (xy 74.836831 87.313) + (xy 78.72283 87.313) + (xy 78.729383 87.313285) + (xy 78.768143 87.316677) + (xy 78.805728 87.306605) + (xy 78.812121 87.305187) + (xy 78.85044 87.298432) + (xy 78.85614 87.29514) + (xy 78.862321 87.292891) + (xy 78.862324 87.292901) + (xy 78.864151 87.292145) + (xy 78.864147 87.292136) + (xy 78.87011 87.289354) + (xy 78.876466 87.287652) + (xy 78.90836 87.265319) + (xy 78.913853 87.26182) + (xy 78.94756 87.24236) + (xy 78.972583 87.212537) + (xy 78.976994 87.207724) + (xy 80.095724 86.088994) + (xy 80.100537 86.084583) + (xy 80.13036 86.05956) + (xy 80.14982 86.025853) + (xy 80.153319 86.02036) + (xy 80.175652 85.988466) + (xy 80.177354 85.98211) + (xy 80.180136 85.976147) + (xy 80.180145 85.976151) + (xy 80.180901 85.974324) + (xy 80.180891 85.974321) + (xy 80.18314 85.96814) + (xy 80.186432 85.96244) + (xy 80.193187 85.924121) + (xy 80.194605 85.917728) + (xy 80.204677 85.880143) + (xy 80.201285 85.841383) + (xy 80.201 85.83483) + (xy 80.201 85.725) + (xy 80.681102 85.725) + (xy 80.681867 85.730321) + (xy 80.700626 85.860797) + (xy 80.700627 85.860802) + (xy 80.701392 85.866119) + (xy 80.703624 85.871008) + (xy 80.703626 85.871012) + (xy 80.758382 85.990911) + (xy 80.758383 85.990913) + (xy 80.760618 85.995806) + (xy 80.764138 85.999869) + (xy 80.76414 85.999871) + (xy 80.790088 86.029816) + (xy 80.853982 86.103553) + (xy 80.858504 86.106459) + (xy 80.858505 86.10646) + (xy 80.969397 86.177727) + (xy 80.973919 86.180633) + (xy 81.110715 86.2208) + (xy 81.247904 86.2208) + (xy 81.253285 86.2208) + (xy 81.390081 86.180633) + (xy 81.510018 86.103553) + (xy 81.551037 86.056214) + (xy 81.580334 86.035484) + (xy 81.615906 86.030693) + (xy 81.649644 86.042934) + (xy 81.712475 86.084918) + (xy 81.768188 86.096) + (xy 82.602116 86.096) + (xy 82.605812 86.096) + (xy 82.661525 86.084918) + (xy 82.724703 86.042703) + (xy 82.766918 85.979525) + (xy 82.778 85.923812) + (xy 83.396 85.923812) + (xy 83.407082 85.979525) + (xy 83.411194 85.98568) + (xy 83.411196 85.985683) + (xy 83.43805 86.025871) + (xy 83.449297 86.042703) + (xy 83.455454 86.046817) + (xy 83.506316 86.080803) + (xy 83.506317 86.080803) + (xy 83.512475 86.084918) + (xy 83.568188 86.096) + (xy 84.402116 86.096) + (xy 84.405812 86.096) + (xy 84.461525 86.084918) + (xy 84.524703 86.042703) + (xy 84.548946 86.00642) + (xy 84.576023 85.981879) + (xy 84.611472 85.973) + (xy 86.56883 85.973) + (xy 86.575383 85.973285) + (xy 86.614143 85.976677) + (xy 86.651728 85.966605) + (xy 86.658121 85.965187) + (xy 86.69644 85.958432) + (xy 86.70214 85.95514) + (xy 86.708321 85.952891) + (xy 86.708324 85.952901) + (xy 86.710151 85.952145) + (xy 86.710147 85.952136) + (xy 86.71611 85.949354) + (xy 86.722466 85.947652) + (xy 86.75436 85.925319) + (xy 86.759853 85.92182) + (xy 86.79356 85.90236) + (xy 86.818578 85.872543) + (xy 86.822988 85.86773) + (xy 87.133694 85.557025) + (xy 87.158091 85.540724) + (xy 87.186869 85.535) + (xy 87.62785 85.535) + (xy 87.672647 85.549799) + (xy 87.699812 85.588371) + (xy 87.707515 85.613767) + (xy 87.707518 85.613775) + (xy 87.708588 85.617301) + (xy 87.805252 85.798147) + (xy 87.807596 85.801003) + (xy 87.807598 85.801006) + (xy 87.932247 85.952891) + (xy 87.93534 85.95666) + (xy 87.958942 85.97603) + (xy 88.079195 86.074719) + (xy 88.093853 86.086748) + (xy 88.274699 86.183412) + (xy 88.470928 86.242938) + (xy 88.643921 86.259976) + (xy 88.666227 86.262173) + (xy 88.675 86.263037) + (xy 88.683773 86.262173) + (xy 88.706079 86.259976) + (xy 88.879072 86.242938) + (xy 89.075301 86.183412) + (xy 89.256147 86.086748) + (xy 89.316649 86.037095) + (xy 90.577741 86.037095) + (xy 90.582477 86.043939) + (xy 90.631278 86.083988) + (xy 90.637386 86.08807) + (xy 90.811634 86.181207) + (xy 90.818426 86.18402) + (xy 91.007491 86.241372) + (xy 91.014701 86.242807) + (xy 91.211325 86.262173) + (xy 91.218675 86.262173) + (xy 91.415298 86.242807) + (xy 91.422508 86.241372) + (xy 91.611573 86.18402) + (xy 91.618365 86.181207) + (xy 91.792613 86.08807) + (xy 91.798721 86.083988) + (xy 91.84752 86.043939) + (xy 91.852257 86.037096) + (xy 91.848211 86.029816) + (xy 91.222 85.403605) + (xy 91.215 85.399563) + (xy 91.207999 85.403605) + (xy 90.581787 86.029816) + (xy 90.577741 86.037095) + (xy 89.316649 86.037095) + (xy 89.41466 85.95666) + (xy 89.544748 85.798147) + (xy 89.641412 85.617301) + (xy 89.700938 85.421072) + (xy 89.720675 85.220675) + (xy 90.169827 85.220675) + (xy 90.189192 85.417298) + (xy 90.190627 85.424508) + (xy 90.247979 85.613573) + (xy 90.250792 85.620365) + (xy 90.343929 85.794613) + (xy 90.348011 85.800722) + (xy 90.388059 85.849521) + (xy 90.394903 85.854257) + (xy 90.402182 85.850211) + (xy 91.028394 85.224) + (xy 91.032436 85.217) + (xy 91.397563 85.217) + (xy 91.401605 85.224) + (xy 92.027816 85.850211) + (xy 92.035096 85.854257) + (xy 92.041939 85.84952) + (xy 92.081988 85.800721) + (xy 92.08607 85.794613) + (xy 92.179207 85.620365) + (xy 92.18202 85.613573) + (xy 92.239372 85.424508) + (xy 92.240807 85.417298) + (xy 92.260173 85.220675) + (xy 92.260173 85.213325) + (xy 92.240807 85.016701) + (xy 92.239372 85.009491) + (xy 92.18202 84.820426) + (xy 92.179207 84.813634) + (xy 92.08607 84.639386) + (xy 92.081988 84.633278) + (xy 92.041939 84.584477) + (xy 92.035095 84.579741) + (xy 92.027816 84.583787) + (xy 91.401605 85.209999) + (xy 91.397563 85.217) + (xy 91.032436 85.217) + (xy 91.028394 85.209999) + (xy 90.402182 84.583787) + (xy 90.394903 84.579742) + (xy 90.388058 84.584479) + (xy 90.348008 84.633281) + (xy 90.343931 84.639383) + (xy 90.250792 84.813634) + (xy 90.247979 84.820426) + (xy 90.190627 85.009491) + (xy 90.189192 85.016701) + (xy 90.169827 85.213325) + (xy 90.169827 85.220675) + (xy 89.720675 85.220675) + (xy 89.721037 85.217) + (xy 89.720347 85.209999) + (xy 89.718068 85.186851) + (xy 89.700938 85.012928) + (xy 89.641412 84.816699) + (xy 89.544748 84.635853) + (xy 89.540302 84.630436) + (xy 89.417003 84.480195) + (xy 89.41466 84.47734) + (xy 89.411245 84.474537) + (xy 89.259006 84.349598) + (xy 89.259003 84.349596) + (xy 89.256147 84.347252) + (xy 89.075301 84.250588) + (xy 89.071774 84.249518) + (xy 89.071769 84.249516) + (xy 88.882603 84.192133) + (xy 88.882601 84.192132) + (xy 88.879072 84.191062) + (xy 88.875401 84.1907) + (xy 88.875399 84.1907) + (xy 88.678676 84.171325) + (xy 88.675 84.170963) + (xy 88.671324 84.171325) + (xy 88.4746 84.1907) + (xy 88.474596 84.1907) + (xy 88.470928 84.191062) + (xy 88.4674 84.192132) + (xy 88.467396 84.192133) + (xy 88.27823 84.249516) + (xy 88.278222 84.249519) + (xy 88.274699 84.250588) + (xy 88.271447 84.252325) + (xy 88.271445 84.252327) + (xy 88.097111 84.34551) + (xy 88.097106 84.345512) + (xy 88.093853 84.347252) + (xy 88.091 84.349593) + (xy 88.090993 84.349598) + (xy 87.938195 84.474996) + (xy 87.938191 84.475) + (xy 87.93534 84.47734) + (xy 87.933001 84.480189) + (xy 87.932996 84.480195) + (xy 87.807598 84.632993) + (xy 87.807593 84.633) + (xy 87.805252 84.635853) + (xy 87.803512 84.639106) + (xy 87.80351 84.639111) + (xy 87.710327 84.813445) + (xy 87.708588 84.816699) + (xy 87.707519 84.82022) + (xy 87.707515 84.820232) + (xy 87.699812 84.845629) + (xy 87.672647 84.884201) + (xy 87.62785 84.899) + (xy 87.084267 84.899) + (xy 87.042488 84.886327) + (xy 87.014791 84.852578) + (xy 87.010512 84.809129) + (xy 87.031093 84.770626) + (xy 87.594894 84.206825) + (xy 88.159414 83.642304) + (xy 88.201552 83.621094) + (xy 88.248035 83.629159) + (xy 88.274699 83.643412) + (xy 88.470928 83.702938) + (xy 88.675 83.723037) + (xy 88.879072 83.702938) + (xy 89.075301 83.643412) + (xy 89.101962 83.62916) + (xy 89.148445 83.621094) + (xy 89.190586 83.642306) + (xy 89.682595 84.134315) + (xy 89.687027 84.139151) + (xy 89.71204 84.16896) + (xy 89.745734 84.188413) + (xy 89.75126 84.191934) + (xy 89.775911 84.209195) + (xy 89.783134 84.214252) + (xy 89.789486 84.215953) + (xy 89.795452 84.218736) + (xy 89.795448 84.218744) + (xy 89.797278 84.219502) + (xy 89.797282 84.219493) + (xy 89.803461 84.221742) + (xy 89.80916 84.225032) + (xy 89.847482 84.231788) + (xy 89.853875 84.233206) + (xy 89.891457 84.243277) + (xy 89.930216 84.239885) + (xy 89.93677 84.2396) + (xy 90.555644 84.2396) + (xy 90.598945 84.253318) + (xy 90.626448 84.289466) + (xy 90.62812 84.334857) + (xy 90.60335 84.372931) + (xy 90.582479 84.390058) + (xy 90.577742 84.396903) + (xy 90.581787 84.404182) + (xy 91.207999 85.030394) + (xy 91.215 85.034436) + (xy 91.222 85.030394) + (xy 91.848211 84.404182) + (xy 91.852257 84.396903) + (xy 91.847519 84.390058) + (xy 91.826649 84.37293) + (xy 91.801879 84.334857) + (xy 91.803551 84.289466) + (xy 91.831054 84.253318) + (xy 91.874355 84.2396) + (xy 92.091969 84.2396) + (xy 92.123208 84.246395) + (xy 92.148801 84.265554) + (xy 92.154864 84.272551) + (xy 92.178782 84.300153) + (xy 92.183304 84.303059) + (xy 92.183305 84.30306) + (xy 92.292025 84.372931) + (xy 92.298719 84.377233) + (xy 92.435515 84.4174) + (xy 92.572704 84.4174) + (xy 92.578085 84.4174) + (xy 92.714881 84.377233) + (xy 92.819157 84.310217) + (xy 92.86785 84.298711) + (xy 92.912986 84.320306) + (xy 92.930195 84.337515) + (xy 92.934627 84.342351) + (xy 92.94812 84.358432) + (xy 92.95964 84.37216) + (xy 92.993334 84.391613) + (xy 92.998858 84.395132) + (xy 93.030734 84.417452) + (xy 93.037086 84.419153) + (xy 93.043052 84.421936) + (xy 93.043048 84.421944) + (xy 93.044878 84.422702) + (xy 93.044882 84.422693) + (xy 93.051061 84.424942) + (xy 93.05676 84.428232) + (xy 93.095082 84.434988) + (xy 93.101475 84.436406) + (xy 93.139057 84.446477) + (xy 93.145613 84.445903) + (xy 93.152167 84.446477) + (xy 93.151972 84.448696) + (xy 93.189281 84.457931) + (xy 93.219475 84.496183) + (xy 93.219877 84.544913) + (xy 93.193222 84.579852) + (xy 93.19398 84.580776) + (xy 93.051722 84.697523) + (xy 93.051716 84.697528) + (xy 93.048867 84.699867) + (xy 93.046528 84.702716) + (xy 93.046523 84.702722) + (xy 92.93212 84.842123) + (xy 92.932117 84.842127) + (xy 92.929776 84.84498) + (xy 92.928036 84.848233) + (xy 92.928034 84.848238) + (xy 92.843023 85.00728) + (xy 92.843018 85.007292) + (xy 92.841283 85.010538) + (xy 92.840212 85.014066) + (xy 92.840212 85.014068) + (xy 92.788156 85.185673) + (xy 92.786789 85.190179) + (xy 92.786427 85.193847) + (xy 92.786427 85.193851) + (xy 92.772224 85.338057) + (xy 92.768389 85.377) + (xy 92.768751 85.380676) + (xy 92.786119 85.557025) + (xy 92.786789 85.563821) + (xy 92.787859 85.56735) + (xy 92.78786 85.567352) + (xy 92.808203 85.634413) + (xy 92.841283 85.743462) + (xy 92.843019 85.746711) + (xy 92.843023 85.746719) + (xy 92.911778 85.875349) + (xy 92.929776 85.90902) + (xy 92.980737 85.971116) + (xy 93.040626 86.044092) + (xy 93.048867 86.054133) + (xy 93.19398 86.173224) + (xy 93.270242 86.213987) + (xy 93.35628 86.259976) + (xy 93.356283 86.259977) + (xy 93.359538 86.261717) + (xy 93.539179 86.316211) + (xy 93.726 86.334611) + (xy 93.912821 86.316211) + (xy 94.092462 86.261717) + (xy 94.25802 86.173224) + (xy 94.403133 86.054133) + (xy 94.522224 85.90902) + (xy 94.610717 85.743462) + (xy 94.665211 85.563821) + (xy 94.683611 85.377) + (xy 94.665211 85.190179) + (xy 94.610717 85.010538) + (xy 94.608862 85.007068) + (xy 94.545008 84.887606) + (xy 94.522224 84.84498) + (xy 94.403133 84.699867) + (xy 94.397058 84.694881) + (xy 94.260881 84.583123) + (xy 94.260874 84.583118) + (xy 94.25802 84.580776) + (xy 94.256592 84.580013) + (xy 94.227969 84.543333) + (xy 94.226811 84.49617) + (xy 94.253977 84.457599) + (xy 94.298773 84.4428) + (xy 95.653227 84.4428) + (xy 95.698023 84.457599) + (xy 95.725189 84.49617) + (xy 95.724031 84.543333) + (xy 95.695407 84.580013) + (xy 95.69398 84.580776) + (xy 95.691129 84.583115) + (xy 95.691118 84.583123) + (xy 95.551722 84.697523) + (xy 95.551716 84.697528) + (xy 95.548867 84.699867) + (xy 95.546528 84.702716) + (xy 95.546523 84.702722) + (xy 95.43212 84.842123) + (xy 95.432117 84.842127) + (xy 95.429776 84.84498) + (xy 95.428036 84.848233) + (xy 95.428034 84.848238) + (xy 95.343023 85.00728) + (xy 95.343018 85.007292) + (xy 95.341283 85.010538) + (xy 95.340212 85.014066) + (xy 95.340212 85.014068) + (xy 95.288156 85.185673) + (xy 95.286789 85.190179) + (xy 95.286427 85.193847) + (xy 95.286427 85.193851) + (xy 95.272224 85.338057) + (xy 95.268389 85.377) + (xy 95.268751 85.380676) + (xy 95.286119 85.557025) + (xy 95.286789 85.563821) + (xy 95.287859 85.56735) + (xy 95.28786 85.567352) + (xy 95.308203 85.634413) + (xy 95.341283 85.743462) + (xy 95.343019 85.746711) + (xy 95.343023 85.746719) + (xy 95.411778 85.875349) + (xy 95.429776 85.90902) + (xy 95.480737 85.971116) + (xy 95.540626 86.044092) + (xy 95.548867 86.054133) + (xy 95.69398 86.173224) + (xy 95.770242 86.213987) + (xy 95.85628 86.259976) + (xy 95.856283 86.259977) + (xy 95.859538 86.261717) + (xy 96.039179 86.316211) + (xy 96.226 86.334611) + (xy 96.412821 86.316211) + (xy 96.592462 86.261717) + (xy 96.75802 86.173224) + (xy 96.903133 86.054133) + (xy 97.022224 85.90902) + (xy 97.076479 85.807515) + (xy 97.112326 85.774215) + (xy 97.161072 85.770018) + (xy 97.202084 85.796699) + (xy 97.218 85.842964) + (xy 97.218 86.58283) + (xy 97.217714 86.589384) + (xy 97.214991 86.620511) + (xy 97.214323 86.628143) + (xy 97.216024 86.634493) + (xy 97.216025 86.634498) + (xy 97.224394 86.665731) + (xy 97.225813 86.672133) + (xy 97.231425 86.703961) + (xy 97.231426 86.703963) + (xy 97.232568 86.71044) + (xy 97.235856 86.716136) + (xy 97.238107 86.722319) + (xy 97.238098 86.722321) + (xy 97.238857 86.724153) + (xy 97.238865 86.72415) + (xy 97.241644 86.730111) + (xy 97.243348 86.736466) + (xy 97.260302 86.760679) + (xy 97.265662 86.768335) + (xy 97.269185 86.773866) + (xy 97.285348 86.801861) + (xy 97.285353 86.801867) + (xy 97.28864 86.80756) + (xy 97.300454 86.817473) + (xy 97.318448 86.832572) + (xy 97.323284 86.837004) + (xy 97.906103 87.419823) + (xy 97.926684 87.458325) + (xy 97.922445 87.501363) + (xy 97.921283 87.503538) + (xy 97.920213 87.507064) + (xy 97.920213 87.507065) + (xy 97.870659 87.670422) + (xy 97.866789 87.683179) + (xy 97.866427 87.686847) + (xy 97.866427 87.686851) + (xy 97.852259 87.830705) + (xy 97.848389 87.87) + (xy 97.848751 87.873676) + (xy 97.865358 88.042298) + (xy 97.866789 88.056821) + (xy 97.867859 88.06035) + (xy 97.86786 88.060352) + (xy 97.880269 88.101257) + (xy 97.921283 88.236462) + (xy 97.923019 88.239711) + (xy 97.923023 88.239719) + (xy 98.00063 88.384909) + (xy 98.009776 88.40202) + (xy 98.128867 88.547133) + (xy 98.27398 88.666224) + (xy 98.330673 88.696527) + (xy 98.43628 88.752976) + (xy 98.436283 88.752977) + (xy 98.439538 88.754717) + (xy 98.619179 88.809211) + (xy 98.806 88.827611) + (xy 98.992821 88.809211) + (xy 99.172462 88.754717) + (xy 99.33802 88.666224) + (xy 99.483133 88.547133) + (xy 99.602224 88.40202) + (xy 99.690717 88.236462) + (xy 99.745211 88.056821) + (xy 99.763611 87.87) + (xy 99.745211 87.683179) + (xy 99.690717 87.503538) + (xy 99.684062 87.491088) + (xy 99.617635 87.366812) + (xy 99.602224 87.33798) + (xy 99.483133 87.192867) + (xy 99.458916 87.172993) + (xy 99.385309 87.112585) + (xy 99.33802 87.073776) + (xy 99.300805 87.053884) + (xy 99.175719 86.987023) + (xy 99.175711 86.987019) + (xy 99.172462 86.985283) + (xy 99.051404 86.94856) + (xy 98.996352 86.93186) + (xy 98.99635 86.931859) + (xy 98.992821 86.930789) + (xy 98.98915 86.930427) + (xy 98.989148 86.930427) + (xy 98.809676 86.912751) + (xy 98.806 86.912389) + (xy 98.802324 86.912751) + (xy 98.622851 86.930427) + (xy 98.622847 86.930427) + (xy 98.619179 86.930789) + (xy 98.615651 86.931859) + (xy 98.615647 86.93186) + (xy 98.443065 86.984213) + (xy 98.439538 86.985283) + (xy 98.437363 86.986445) + (xy 98.394325 86.990684) + (xy 98.355823 86.970103) + (xy 97.876026 86.490306) + (xy 97.859724 86.46591) + (xy 97.854 86.437132) + (xy 97.854 85.910798) + (xy 97.869916 85.864533) + (xy 97.910928 85.837852) + (xy 97.959674 85.842049) + (xy 97.995519 85.875348) + (xy 98.009776 85.90202) + (xy 98.051525 85.952891) + (xy 98.125422 86.042936) + (xy 98.128867 86.047133) + (xy 98.27398 86.166224) + (xy 98.315766 86.188559) + (xy 98.43628 86.252976) + (xy 98.436283 86.252977) + (xy 98.439538 86.254717) + (xy 98.619179 86.309211) + (xy 98.806 86.327611) + (xy 98.992821 86.309211) + (xy 99.172462 86.254717) + (xy 99.33802 86.166224) + (xy 99.483133 86.047133) + (xy 99.602224 85.90202) + (xy 99.61648 85.875348) + (xy 99.652326 85.842049) + (xy 99.701072 85.837852) + (xy 99.742084 85.864533) + (xy 99.758 85.910798) + (xy 99.758 86.62283) + (xy 99.757714 86.629384) + (xy 99.75501 86.660294) + (xy 99.754323 86.668143) + (xy 99.756024 86.674493) + (xy 99.756025 86.674498) + (xy 99.764394 86.705731) + (xy 99.765813 86.712133) + (xy 99.771425 86.743961) + (xy 99.771426 86.743963) + (xy 99.772568 86.75044) + (xy 99.775856 86.756136) + (xy 99.778107 86.762319) + (xy 99.778098 86.762321) + (xy 99.778857 86.764153) + (xy 99.778865 86.76415) + (xy 99.781644 86.770111) + (xy 99.783348 86.776466) + (xy 99.79281 86.789979) + (xy 99.805662 86.808335) + (xy 99.809185 86.813866) + (xy 99.825348 86.841861) + (xy 99.825353 86.841867) + (xy 99.82864 86.84756) + (xy 99.847428 86.863325) + (xy 99.858448 86.872572) + (xy 99.863284 86.877004) + (xy 100.406103 87.419823) + (xy 100.426684 87.458325) + (xy 100.422445 87.501363) + (xy 100.421283 87.503538) + (xy 100.420213 87.507064) + (xy 100.420213 87.507065) + (xy 100.370659 87.670422) + (xy 100.366789 87.683179) + (xy 100.366427 87.686847) + (xy 100.366427 87.686851) + (xy 100.352259 87.830705) + (xy 100.348389 87.87) + (xy 100.348751 87.873676) + (xy 100.365358 88.042298) + (xy 100.366789 88.056821) + (xy 100.367859 88.06035) + (xy 100.36786 88.060352) + (xy 100.380269 88.101257) + (xy 100.421283 88.236462) + (xy 100.423019 88.239711) + (xy 100.423023 88.239719) + (xy 100.50063 88.384909) + (xy 100.509776 88.40202) + (xy 100.628867 88.547133) + (xy 100.77398 88.666224) + (xy 100.830673 88.696527) + (xy 100.93628 88.752976) + (xy 100.936283 88.752977) + (xy 100.939538 88.754717) + (xy 101.119179 88.809211) + (xy 101.306 88.827611) + (xy 101.492821 88.809211) + (xy 101.672462 88.754717) + (xy 101.83802 88.666224) + (xy 101.983133 88.547133) + (xy 102.102224 88.40202) + (xy 102.190717 88.236462) + (xy 102.245211 88.056821) + (xy 102.263611 87.87) + (xy 102.245211 87.683179) + (xy 102.190717 87.503538) + (xy 102.184062 87.491088) + (xy 102.117635 87.366812) + (xy 102.102224 87.33798) + (xy 101.983133 87.192867) + (xy 101.958916 87.172993) + (xy 101.885309 87.112585) + (xy 101.83802 87.073776) + (xy 101.800805 87.053884) + (xy 101.675719 86.987023) + (xy 101.675711 86.987019) + (xy 101.672462 86.985283) + (xy 101.551404 86.94856) + (xy 101.496352 86.93186) + (xy 101.49635 86.931859) + (xy 101.492821 86.930789) + (xy 101.48915 86.930427) + (xy 101.489148 86.930427) + (xy 101.309676 86.912751) + (xy 101.306 86.912389) + (xy 101.302324 86.912751) + (xy 101.122851 86.930427) + (xy 101.122847 86.930427) + (xy 101.119179 86.930789) + (xy 101.115651 86.931859) + (xy 101.115647 86.93186) + (xy 100.943065 86.984213) + (xy 100.939538 86.985283) + (xy 100.937363 86.986445) + (xy 100.894325 86.990684) + (xy 100.855823 86.970103) + (xy 100.416026 86.530306) + (xy 100.399724 86.50591) + (xy 100.394 86.477132) + (xy 100.394 85.971116) + (xy 100.407718 85.927815) + (xy 100.443866 85.900312) + (xy 100.489257 85.89864) + (xy 100.52733 85.92341) + (xy 100.626246 86.043939) + (xy 100.628867 86.047133) + (xy 100.77398 86.166224) + (xy 100.815766 86.188559) + (xy 100.93628 86.252976) + (xy 100.936283 86.252977) + (xy 100.939538 86.254717) + (xy 101.119179 86.309211) + (xy 101.306 86.327611) + (xy 101.492821 86.309211) + (xy 101.672462 86.254717) + (xy 101.83802 86.166224) + (xy 101.983133 86.047133) + (xy 102.102224 85.90202) + (xy 102.190717 85.736462) + (xy 102.245211 85.556821) + (xy 102.263611 85.37) + (xy 102.245211 85.183179) + (xy 102.190717 85.003538) + (xy 102.177892 84.979545) + (xy 102.146423 84.92067) + (xy 102.102224 84.83798) + (xy 101.983133 84.692867) + (xy 101.949793 84.665506) + (xy 101.907528 84.63082) + (xy 101.83802 84.573776) + (xy 101.824988 84.56681) + (xy 101.675719 84.487023) + (xy 101.675711 84.487019) + (xy 101.672462 84.485283) + (xy 101.544537 84.446477) + (xy 101.496352 84.43186) + (xy 101.49635 84.431859) + (xy 101.492821 84.430789) + (xy 101.48915 84.430427) + (xy 101.489148 84.430427) + (xy 101.309676 84.412751) + (xy 101.306 84.412389) + (xy 101.302324 84.412751) + (xy 101.122851 84.430427) + (xy 101.122847 84.430427) + (xy 101.119179 84.430789) + (xy 101.115651 84.431859) + (xy 101.115647 84.43186) + (xy 100.943068 84.484212) + (xy 100.943066 84.484212) + (xy 100.939538 84.485283) + (xy 100.936292 84.487018) + (xy 100.93628 84.487023) + (xy 100.777238 84.572034) + (xy 100.777233 84.572036) + (xy 100.77398 84.573776) + (xy 100.771127 84.576117) + (xy 100.771123 84.57612) + (xy 100.631722 84.690523) + (xy 100.631716 84.690528) + (xy 100.628867 84.692867) + (xy 100.626528 84.695716) + (xy 100.626523 84.695722) + (xy 100.52733 84.81659) + (xy 100.489257 84.84136) + (xy 100.443866 84.839688) + (xy 100.407718 84.812185) + (xy 100.394 84.768884) + (xy 100.394 83.471116) + (xy 100.407718 83.427815) + (xy 100.443866 83.400312) + (xy 100.489257 83.39864) + (xy 100.52733 83.42341) + (xy 100.626523 83.544277) + (xy 100.628867 83.547133) + (xy 100.77398 83.666224) + (xy 100.848736 83.706182) + (xy 100.93628 83.752976) + (xy 100.936283 83.752977) + (xy 100.939538 83.754717) + (xy 101.119179 83.809211) + (xy 101.276647 83.82472) + (xy 101.29876 83.826898) + (xy 101.306 83.827611) + (xy 101.31324 83.826898) + (xy 101.335353 83.82472) + (xy 101.492821 83.809211) + (xy 101.672462 83.754717) + (xy 101.83802 83.666224) + (xy 101.983133 83.547133) + (xy 102.102224 83.40202) + (xy 102.190717 83.236462) + (xy 102.245211 83.056821) + (xy 102.263611 82.87) + (xy 102.262939 82.863182) + (xy 102.259045 82.823637) + (xy 102.245211 82.683179) + (xy 102.190717 82.503538) + (xy 102.183691 82.490394) + (xy 102.128496 82.387132) + (xy 102.102224 82.33798) + (xy 101.983133 82.192867) + (xy 101.975155 82.18632) + (xy 101.895621 82.121048) + (xy 101.83802 82.073776) + (xy 101.806528 82.056943) + (xy 101.675719 81.987023) + (xy 101.675711 81.987019) + (xy 101.672462 81.985283) + (xy 101.545002 81.946618) + (xy 101.496352 81.93186) + (xy 101.49635 81.931859) + (xy 101.492821 81.930789) + (xy 101.48915 81.930427) + (xy 101.489148 81.930427) + (xy 101.309676 81.912751) + (xy 101.306 81.912389) + (xy 101.302324 81.912751) + (xy 101.122851 81.930427) + (xy 101.122847 81.930427) + (xy 101.119179 81.930789) + (xy 101.115651 81.931859) + (xy 101.115647 81.93186) + (xy 100.943068 81.984212) + (xy 100.943066 81.984212) + (xy 100.939538 81.985283) + (xy 100.936292 81.987018) + (xy 100.93628 81.987023) + (xy 100.777238 82.072034) + (xy 100.777233 82.072036) + (xy 100.77398 82.073776) + (xy 100.771127 82.076117) + (xy 100.771123 82.07612) + (xy 100.631722 82.190523) + (xy 100.631716 82.190528) + (xy 100.628867 82.192867) + (xy 100.626528 82.195716) + (xy 100.626523 82.195722) + (xy 100.52733 82.31659) + (xy 100.489257 82.34136) + (xy 100.443866 82.339688) + (xy 100.407718 82.312185) + (xy 100.394 82.268884) + (xy 100.394 82.262374) + (xy 100.394286 82.255821) + (xy 100.39619 82.234056) + (xy 100.397677 82.217057) + (xy 100.387606 82.179475) + (xy 100.386187 82.173075) + (xy 100.384838 82.165422) + (xy 100.379432 82.13476) + (xy 100.376142 82.129061) + (xy 100.373893 82.122882) + (xy 100.373902 82.122878) + (xy 100.373144 82.121048) + (xy 100.373136 82.121052) + (xy 100.370353 82.115086) + (xy 100.368652 82.108734) + (xy 100.362165 82.09947) + (xy 100.346334 82.07686) + (xy 100.342809 82.071327) + (xy 100.340377 82.067115) + (xy 100.32336 82.03764) + (xy 100.316059 82.031514) + (xy 100.293551 82.012627) + (xy 100.288715 82.008195) + (xy 99.703404 81.422884) + (xy 99.698972 81.418048) + (xy 99.679705 81.395087) + (xy 99.67396 81.38824) + (xy 99.668267 81.384953) + (xy 99.668261 81.384948) + (xy 99.640266 81.368785) + (xy 99.634735 81.365262) + (xy 99.621717 81.356147) + (xy 99.602866 81.342948) + (xy 99.596511 81.341244) + (xy 99.59055 81.338465) + (xy 99.590553 81.338457) + (xy 99.588721 81.337698) + (xy 99.588719 81.337707) + (xy 99.582536 81.335456) + (xy 99.57684 81.332168) + (xy 99.570363 81.331026) + (xy 99.570361 81.331025) + (xy 99.538533 81.325413) + (xy 99.532131 81.323994) + (xy 99.500898 81.315625) + (xy 99.500893 81.315624) + (xy 99.494543 81.313923) + (xy 99.487991 81.314496) + (xy 99.487989 81.314496) + (xy 99.455784 81.317314) + (xy 99.44923 81.3176) + (xy 99.353971 81.3176) + (xy 99.307706 81.301684) + (xy 99.281025 81.260672) + (xy 99.285222 81.211926) + (xy 99.318521 81.17608) + (xy 99.334483 81.167547) + (xy 99.340597 81.163462) + (xy 99.375993 81.134412) + (xy 99.380729 81.127569) + (xy 100.731268 81.127569) + (xy 100.736004 81.134412) + (xy 100.771401 81.163461) + (xy 100.777521 81.16755) + (xy 100.936467 81.252508) + (xy 100.943268 81.255326) + (xy 101.115742 81.307645) + (xy 101.122952 81.30908) + (xy 101.302325 81.326747) + (xy 101.309675 81.326747) + (xy 101.489047 81.30908) + (xy 101.496257 81.307645) + (xy 101.668731 81.255326) + (xy 101.675532 81.252508) + (xy 101.83448 81.167549) + (xy 101.840597 81.163462) + (xy 101.875993 81.134412) + (xy 101.88073 81.127568) + (xy 101.876685 81.12029) + (xy 101.313 80.556605) + (xy 101.306 80.552563) + (xy 101.298999 80.556605) + (xy 100.735314 81.120289) + (xy 100.731268 81.127569) + (xy 99.380729 81.127569) + (xy 99.38073 81.127568) + (xy 99.376685 81.12029) + (xy 98.813 80.556605) + (xy 98.806 80.552563) + (xy 98.798999 80.556605) + (xy 98.235314 81.120289) + (xy 98.231268 81.127569) + (xy 98.236004 81.134412) + (xy 98.271401 81.163461) + (xy 98.277517 81.167548) + (xy 98.293479 81.17608) + (xy 98.326778 81.211926) + (xy 98.330975 81.260672) + (xy 98.304294 81.301684) + (xy 98.258029 81.3176) + (xy 96.787067 81.3176) + (xy 96.740802 81.301684) + (xy 96.714121 81.260673) + (xy 96.718318 81.211927) + (xy 96.751616 81.17608) + (xy 96.754487 81.174545) + (xy 96.760597 81.170462) + (xy 96.795993 81.141412) + (xy 96.80073 81.134568) + (xy 96.796685 81.12729) + (xy 96.233 80.563605) + (xy 96.226 80.559563) + (xy 96.218999 80.563605) + (xy 95.655314 81.127289) + (xy 95.651268 81.134569) + (xy 95.656004 81.141412) + (xy 95.691401 81.170461) + (xy 95.697514 81.174546) + (xy 95.700384 81.17608) + (xy 95.733682 81.211927) + (xy 95.737879 81.260673) + (xy 95.711198 81.301684) + (xy 95.664933 81.3176) + (xy 94.287067 81.3176) + (xy 94.240802 81.301684) + (xy 94.214121 81.260673) + (xy 94.218318 81.211927) + (xy 94.251616 81.17608) + (xy 94.254487 81.174545) + (xy 94.260597 81.170462) + (xy 94.295993 81.141412) + (xy 94.30073 81.134568) + (xy 94.296685 81.12729) + (xy 93.733 80.563605) + (xy 93.726 80.559563) + (xy 93.718999 80.563605) + (xy 93.155314 81.127289) + (xy 93.151268 81.134569) + (xy 93.156004 81.141412) + (xy 93.191401 81.170461) + (xy 93.197514 81.174546) + (xy 93.200384 81.17608) + (xy 93.233682 81.211927) + (xy 93.237879 81.260673) + (xy 93.211198 81.301684) + (xy 93.164933 81.3176) + (xy 92.545268 81.3176) + (xy 92.51649 81.311876) + (xy 92.492094 81.295574) + (xy 92.427604 81.231084) + (xy 92.423172 81.226248) + (xy 92.406231 81.206059) + (xy 92.39816 81.19644) + (xy 92.392467 81.193153) + (xy 92.392461 81.193148) + (xy 92.364466 81.176985) + (xy 92.358935 81.173462) + (xy 92.342373 81.161866) + (xy 92.327066 81.151148) + (xy 92.320711 81.149444) + (xy 92.31475 81.146665) + (xy 92.314753 81.146657) + (xy 92.312921 81.145898) + (xy 92.312919 81.145907) + (xy 92.306736 81.143656) + (xy 92.30104 81.140368) + (xy 92.294563 81.139226) + (xy 92.294561 81.139225) + (xy 92.262733 81.133613) + (xy 92.256331 81.132194) + (xy 92.225098 81.123825) + (xy 92.225093 81.123824) + (xy 92.218743 81.122123) + (xy 92.212191 81.122696) + (xy 92.212189 81.122696) + (xy 92.179984 81.125514) + (xy 92.17343 81.1258) + (xy 91.860464 81.1258) + (xy 91.817163 81.112083) + (xy 91.78966 81.075935) + (xy 91.787988 81.030544) + (xy 91.812757 80.99247) + (xy 91.84752 80.963939) + (xy 91.852257 80.957096) + (xy 91.848211 80.949816) + (xy 91.222 80.323605) + (xy 91.215 80.319563) + (xy 91.207999 80.323605) + (xy 90.581787 80.949816) + (xy 90.577741 80.957095) + (xy 90.582479 80.96394) + (xy 90.617242 80.99247) + (xy 90.642012 81.030543) + (xy 90.64034 81.075934) + (xy 90.612837 81.112082) + (xy 90.569536 81.1258) + (xy 90.144668 81.1258) + (xy 90.11589 81.120076) + (xy 90.091494 81.103774) + (xy 89.640306 80.652586) + (xy 89.619094 80.610445) + (xy 89.627161 80.563961) + (xy 89.641412 80.537301) + (xy 89.700938 80.341072) + (xy 89.720134 80.146171) + (xy 89.720675 80.140676) + (xy 89.720675 80.140675) + (xy 90.169827 80.140675) + (xy 90.189192 80.337298) + (xy 90.190627 80.344508) + (xy 90.247979 80.533573) + (xy 90.250792 80.540365) + (xy 90.343929 80.714613) + (xy 90.348011 80.720722) + (xy 90.388059 80.769521) + (xy 90.394903 80.774257) + (xy 90.402182 80.770211) + (xy 91.028394 80.144) + (xy 91.032436 80.137) + (xy 91.397563 80.137) + (xy 91.401605 80.144) + (xy 92.027816 80.770211) + (xy 92.035096 80.774257) + (xy 92.041939 80.76952) + (xy 92.081988 80.720721) + (xy 92.08607 80.714613) + (xy 92.179207 80.540365) + (xy 92.18202 80.533573) + (xy 92.228401 80.380675) + (xy 92.769253 80.380675) + (xy 92.786919 80.560047) + (xy 92.788354 80.567257) + (xy 92.840673 80.739731) + (xy 92.843491 80.746532) + (xy 92.928449 80.905478) + (xy 92.932538 80.911598) + (xy 92.961586 80.946994) + (xy 92.96843 80.95173) + (xy 92.975709 80.947684) + (xy 93.539394 80.384) + (xy 93.543435 80.377) + (xy 93.908563 80.377) + (xy 93.912605 80.384) + (xy 94.47629 80.947685) + (xy 94.483568 80.95173) + (xy 94.490412 80.946993) + (xy 94.519462 80.911597) + (xy 94.523549 80.90548) + (xy 94.608508 80.746532) + (xy 94.611326 80.739731) + (xy 94.663645 80.567257) + (xy 94.66508 80.560047) + (xy 94.682747 80.380675) + (xy 95.269253 80.380675) + (xy 95.286919 80.560047) + (xy 95.288354 80.567257) + (xy 95.340673 80.739731) + (xy 95.343491 80.746532) + (xy 95.428449 80.905478) + (xy 95.432538 80.911598) + (xy 95.461586 80.946994) + (xy 95.46843 80.95173) + (xy 95.475709 80.947684) + (xy 96.039394 80.384) + (xy 96.043435 80.377) + (xy 96.408563 80.377) + (xy 96.412605 80.384) + (xy 96.97629 80.947685) + (xy 96.983568 80.95173) + (xy 96.990412 80.946993) + (xy 97.019462 80.911597) + (xy 97.023549 80.90548) + (xy 97.108508 80.746532) + (xy 97.111326 80.739731) + (xy 97.163645 80.567257) + (xy 97.16508 80.560047) + (xy 97.182747 80.380675) + (xy 97.182747 80.373675) + (xy 97.849253 80.373675) + (xy 97.866919 80.553047) + (xy 97.868354 80.560257) + (xy 97.920673 80.732731) + (xy 97.923491 80.739532) + (xy 98.008449 80.898478) + (xy 98.012538 80.904598) + (xy 98.041586 80.939994) + (xy 98.04843 80.94473) + (xy 98.055709 80.940684) + (xy 98.619394 80.377) + (xy 98.623435 80.37) + (xy 98.988563 80.37) + (xy 98.992605 80.377) + (xy 99.55629 80.940685) + (xy 99.563568 80.94473) + (xy 99.570412 80.939993) + (xy 99.599462 80.904597) + (xy 99.603549 80.89848) + (xy 99.688508 80.739532) + (xy 99.691326 80.732731) + (xy 99.743645 80.560257) + (xy 99.74508 80.553047) + (xy 99.762747 80.373675) + (xy 100.349253 80.373675) + (xy 100.366919 80.553047) + (xy 100.368354 80.560257) + (xy 100.420673 80.732731) + (xy 100.423491 80.739532) + (xy 100.508449 80.898478) + (xy 100.512538 80.904598) + (xy 100.541586 80.939994) + (xy 100.54843 80.94473) + (xy 100.555709 80.940684) + (xy 101.119394 80.377) + (xy 101.123435 80.37) + (xy 101.488563 80.37) + (xy 101.492605 80.377) + (xy 102.05629 80.940685) + (xy 102.063568 80.94473) + (xy 102.070412 80.939993) + (xy 102.099462 80.904597) + (xy 102.103549 80.89848) + (xy 102.188508 80.739532) + (xy 102.191326 80.732731) + (xy 102.243645 80.560257) + (xy 102.24508 80.553047) + (xy 102.262747 80.373675) + (xy 102.262747 80.366325) + (xy 102.24508 80.186952) + (xy 102.243645 80.179742) + (xy 102.191326 80.007268) + (xy 102.188508 80.000467) + (xy 102.10355 79.841521) + (xy 102.099461 79.835401) + (xy 102.070412 79.800004) + (xy 102.063569 79.795268) + (xy 102.056289 79.799314) + (xy 101.492605 80.362999) + (xy 101.488563 80.37) + (xy 101.123435 80.37) + (xy 101.123436 80.369999) + (xy 101.119394 80.362999) + (xy 100.555709 79.799314) + (xy 100.54843 79.795269) + (xy 100.541585 79.800006) + (xy 100.512538 79.8354) + (xy 100.508448 79.841523) + (xy 100.423491 80.000467) + (xy 100.420673 80.007268) + (xy 100.368354 80.179742) + (xy 100.366919 80.186952) + (xy 100.349253 80.366325) + (xy 100.349253 80.373675) + (xy 99.762747 80.373675) + (xy 99.762747 80.366325) + (xy 99.74508 80.186952) + (xy 99.743645 80.179742) + (xy 99.691326 80.007268) + (xy 99.688508 80.000467) + (xy 99.60355 79.841521) + (xy 99.599461 79.835401) + (xy 99.570412 79.800004) + (xy 99.563569 79.795268) + (xy 99.556289 79.799314) + (xy 98.992605 80.362999) + (xy 98.988563 80.37) + (xy 98.623435 80.37) + (xy 98.623436 80.369999) + (xy 98.619394 80.362999) + (xy 98.055709 79.799314) + (xy 98.04843 79.795269) + (xy 98.041585 79.800006) + (xy 98.012538 79.8354) + (xy 98.008448 79.841523) + (xy 97.923491 80.000467) + (xy 97.920673 80.007268) + (xy 97.868354 80.179742) + (xy 97.866919 80.186952) + (xy 97.849253 80.366325) + (xy 97.849253 80.373675) + (xy 97.182747 80.373675) + (xy 97.182747 80.373325) + (xy 97.16508 80.193952) + (xy 97.163645 80.186742) + (xy 97.111326 80.014268) + (xy 97.108508 80.007467) + (xy 97.02355 79.848521) + (xy 97.019461 79.842401) + (xy 96.990412 79.807004) + (xy 96.983569 79.802268) + (xy 96.976289 79.806314) + (xy 96.412605 80.369999) + (xy 96.408563 80.377) + (xy 96.043435 80.377) + (xy 96.043436 80.376999) + (xy 96.039394 80.369999) + (xy 95.475709 79.806314) + (xy 95.46843 79.802269) + (xy 95.461585 79.807006) + (xy 95.432538 79.8424) + (xy 95.428448 79.848523) + (xy 95.343491 80.007467) + (xy 95.340673 80.014268) + (xy 95.288354 80.186742) + (xy 95.286919 80.193952) + (xy 95.269253 80.373325) + (xy 95.269253 80.380675) + (xy 94.682747 80.380675) + (xy 94.682747 80.373325) + (xy 94.66508 80.193952) + (xy 94.663645 80.186742) + (xy 94.611326 80.014268) + (xy 94.608508 80.007467) + (xy 94.52355 79.848521) + (xy 94.519461 79.842401) + (xy 94.490412 79.807004) + (xy 94.483569 79.802268) + (xy 94.476289 79.806314) + (xy 93.912605 80.369999) + (xy 93.908563 80.377) + (xy 93.543435 80.377) + (xy 93.543436 80.376999) + (xy 93.539394 80.369999) + (xy 92.975709 79.806314) + (xy 92.96843 79.802269) + (xy 92.961585 79.807006) + (xy 92.932538 79.8424) + (xy 92.928448 79.848523) + (xy 92.843491 80.007467) + (xy 92.840673 80.014268) + (xy 92.788354 80.186742) + (xy 92.786919 80.193952) + (xy 92.769253 80.373325) + (xy 92.769253 80.380675) + (xy 92.228401 80.380675) + (xy 92.239372 80.344508) + (xy 92.240807 80.337298) + (xy 92.260173 80.140675) + (xy 92.260173 80.133325) + (xy 92.240807 79.936701) + (xy 92.239372 79.929491) + (xy 92.18202 79.740426) + (xy 92.179207 79.733634) + (xy 92.118164 79.61943) + (xy 93.151269 79.61943) + (xy 93.155314 79.626709) + (xy 93.718999 80.190394) + (xy 93.726 80.194436) + (xy 93.733 80.190394) + (xy 94.296684 79.626709) + (xy 94.30073 79.61943) + (xy 95.651269 79.61943) + (xy 95.655314 79.626709) + (xy 96.218999 80.190394) + (xy 96.226 80.194436) + (xy 96.233 80.190394) + (xy 96.796684 79.626709) + (xy 96.80073 79.61943) + (xy 96.795994 79.612586) + (xy 96.795804 79.61243) + (xy 98.231269 79.61243) + (xy 98.235314 79.619709) + (xy 98.798999 80.183394) + (xy 98.806 80.187436) + (xy 98.813 80.183394) + (xy 99.376684 79.619709) + (xy 99.38073 79.61243) + (xy 100.731269 79.61243) + (xy 100.735314 79.619709) + (xy 101.298999 80.183394) + (xy 101.306 80.187436) + (xy 101.313 80.183394) + (xy 101.876684 79.619709) + (xy 101.88073 79.61243) + (xy 101.875994 79.605586) + (xy 101.840598 79.576538) + (xy 101.834478 79.572449) + (xy 101.675532 79.487491) + (xy 101.668731 79.484673) + (xy 101.496257 79.432354) + (xy 101.489047 79.430919) + (xy 101.309675 79.413253) + (xy 101.302325 79.413253) + (xy 101.122952 79.430919) + (xy 101.115742 79.432354) + (xy 100.943268 79.484673) + (xy 100.936467 79.487491) + (xy 100.777523 79.572448) + (xy 100.7714 79.576538) + (xy 100.736006 79.605585) + (xy 100.731269 79.61243) + (xy 99.38073 79.61243) + (xy 99.375994 79.605586) + (xy 99.340598 79.576538) + (xy 99.334478 79.572449) + (xy 99.175532 79.487491) + (xy 99.168731 79.484673) + (xy 98.996257 79.432354) + (xy 98.989047 79.430919) + (xy 98.809675 79.413253) + (xy 98.802325 79.413253) + (xy 98.622952 79.430919) + (xy 98.615742 79.432354) + (xy 98.443268 79.484673) + (xy 98.436467 79.487491) + (xy 98.277523 79.572448) + (xy 98.2714 79.576538) + (xy 98.236006 79.605585) + (xy 98.231269 79.61243) + (xy 96.795804 79.61243) + (xy 96.760598 79.583538) + (xy 96.754478 79.579449) + (xy 96.595532 79.494491) + (xy 96.588731 79.491673) + (xy 96.416257 79.439354) + (xy 96.409047 79.437919) + (xy 96.229675 79.420253) + (xy 96.222325 79.420253) + (xy 96.042952 79.437919) + (xy 96.035742 79.439354) + (xy 95.863268 79.491673) + (xy 95.856467 79.494491) + (xy 95.697523 79.579448) + (xy 95.6914 79.583538) + (xy 95.656006 79.612585) + (xy 95.651269 79.61943) + (xy 94.30073 79.61943) + (xy 94.295994 79.612586) + (xy 94.260598 79.583538) + (xy 94.254478 79.579449) + (xy 94.095532 79.494491) + (xy 94.088731 79.491673) + (xy 93.916257 79.439354) + (xy 93.909047 79.437919) + (xy 93.729675 79.420253) + (xy 93.722325 79.420253) + (xy 93.542952 79.437919) + (xy 93.535742 79.439354) + (xy 93.363268 79.491673) + (xy 93.356467 79.494491) + (xy 93.197523 79.579448) + (xy 93.1914 79.583538) + (xy 93.156006 79.612585) + (xy 93.151269 79.61943) + (xy 92.118164 79.61943) + (xy 92.08607 79.559386) + (xy 92.081988 79.553278) + (xy 92.041939 79.504477) + (xy 92.035095 79.499741) + (xy 92.027816 79.503787) + (xy 91.401605 80.129999) + (xy 91.397563 80.137) + (xy 91.032436 80.137) + (xy 91.028394 80.129999) + (xy 90.402182 79.503787) + (xy 90.394903 79.499742) + (xy 90.388058 79.504479) + (xy 90.348008 79.553281) + (xy 90.343931 79.559383) + (xy 90.250792 79.733634) + (xy 90.247979 79.740426) + (xy 90.190627 79.929491) + (xy 90.189192 79.936701) + (xy 90.169827 80.133325) + (xy 90.169827 80.140675) + (xy 89.720675 80.140675) + (xy 89.721037 80.137) + (xy 89.720347 80.129999) + (xy 89.716518 80.091115) + (xy 89.700938 79.932928) + (xy 89.641412 79.736699) + (xy 89.544748 79.555853) + (xy 89.539011 79.548863) + (xy 89.417003 79.400195) + (xy 89.41466 79.39734) + (xy 89.408382 79.392188) + (xy 89.316647 79.316903) + (xy 90.577742 79.316903) + (xy 90.581787 79.324182) + (xy 91.207999 79.950394) + (xy 91.215 79.954436) + (xy 91.222 79.950394) + (xy 91.848211 79.324182) + (xy 91.852257 79.316903) + (xy 91.847521 79.310059) + (xy 91.798722 79.270011) + (xy 91.792613 79.265929) + (xy 91.618365 79.172792) + (xy 91.611573 79.169979) + (xy 91.422508 79.112627) + (xy 91.415298 79.111192) + (xy 91.218675 79.091827) + (xy 91.211325 79.091827) + (xy 91.014701 79.111192) + (xy 91.007491 79.112627) + (xy 90.818426 79.169979) + (xy 90.811634 79.172792) + (xy 90.637383 79.265931) + (xy 90.631281 79.270008) + (xy 90.582479 79.310058) + (xy 90.577742 79.316903) + (xy 89.316647 79.316903) + (xy 89.259006 79.269598) + (xy 89.259003 79.269596) + (xy 89.256147 79.267252) + (xy 89.075301 79.170588) + (xy 89.071774 79.169518) + (xy 89.071769 79.169516) + (xy 88.882603 79.112133) + (xy 88.882601 79.112132) + (xy 88.879072 79.111062) + (xy 88.875401 79.1107) + (xy 88.875399 79.1107) + (xy 88.678676 79.091325) + (xy 88.675 79.090963) + (xy 88.671324 79.091325) + (xy 88.4746 79.1107) + (xy 88.474596 79.1107) + (xy 88.470928 79.111062) + (xy 88.4674 79.112132) + (xy 88.467396 79.112133) + (xy 88.27823 79.169516) + (xy 88.278222 79.169519) + (xy 88.274699 79.170588) + (xy 88.271447 79.172325) + (xy 88.271445 79.172327) + (xy 88.097111 79.26551) + (xy 88.097106 79.265512) + (xy 88.093853 79.267252) + (xy 88.091 79.269593) + (xy 88.090993 79.269598) + (xy 87.938195 79.394996) + (xy 87.938189 79.395001) + (xy 87.93534 79.39734) + (xy 87.933001 79.400189) + (xy 87.932996 79.400195) + (xy 87.807598 79.552993) + (xy 87.807593 79.553) + (xy 87.805252 79.555853) + (xy 87.803512 79.559106) + (xy 87.80351 79.559111) + (xy 87.712053 79.730216) + (xy 87.708588 79.736699) + (xy 87.707519 79.740222) + (xy 87.707516 79.74023) + (xy 87.650494 79.928206) + (xy 87.649062 79.932928) + (xy 87.6487 79.936596) + (xy 87.6487 79.9366) + (xy 87.629622 80.130306) + (xy 87.628963 80.137) + (xy 87.629325 80.140675) + (xy 87.629325 80.140676) + (xy 87.648596 80.336346) + (xy 87.649062 80.341072) + (xy 87.650132 80.344601) + (xy 87.650133 80.344603) + (xy 87.662084 80.384) + (xy 87.708588 80.537301) + (xy 87.722839 80.563963) + (xy 87.730905 80.610445) + (xy 87.709693 80.652585) + (xy 87.597372 80.764906) + (xy 87.558871 80.785486) + (xy 87.515422 80.781207) + (xy 87.481674 80.75351) + (xy 87.469 80.711731) + (xy 87.469 79.283868) + (xy 87.474724 79.25509) + (xy 87.491026 79.230694) + (xy 88.061694 78.660026) + (xy 88.08609 78.643724) + (xy 88.114868 78.638) + (xy 89.326364 78.638) + (xy 89.328118 78.638) + (xy 89.357913 78.635206) + (xy 89.483393 78.591299) + (xy 89.590356 78.512356) + (xy 89.660662 78.417095) + (xy 90.577741 78.417095) + (xy 90.582477 78.423939) + (xy 90.631278 78.463988) + (xy 90.637386 78.46807) + (xy 90.811634 78.561207) + (xy 90.818426 78.56402) + (xy 91.007491 78.621372) + (xy 91.014701 78.622807) + (xy 91.211325 78.642173) + (xy 91.218675 78.642173) + (xy 91.415298 78.622807) + (xy 91.422508 78.621372) + (xy 91.611573 78.56402) + (xy 91.618365 78.561207) + (xy 91.792613 78.46807) + (xy 91.798721 78.463988) + (xy 91.84752 78.423939) + (xy 91.852257 78.417096) + (xy 91.848211 78.409816) + (xy 91.222 77.783605) + (xy 91.215 77.779563) + (xy 91.207999 77.783605) + (xy 90.581787 78.409816) + (xy 90.577741 78.417095) + (xy 89.660662 78.417095) + (xy 89.669299 78.405393) + (xy 89.713206 78.279913) + (xy 89.716 78.250118) + (xy 89.716 77.600675) + (xy 90.169827 77.600675) + (xy 90.189192 77.797298) + (xy 90.190627 77.804508) + (xy 90.247979 77.993573) + (xy 90.250792 78.000365) + (xy 90.343929 78.174613) + (xy 90.348011 78.180722) + (xy 90.388059 78.229521) + (xy 90.394903 78.234257) + (xy 90.402182 78.230211) + (xy 91.028394 77.604) + (xy 91.032436 77.597) + (xy 91.397563 77.597) + (xy 91.401605 77.604) + (xy 92.027816 78.230211) + (xy 92.035096 78.234257) + (xy 92.041939 78.22952) + (xy 92.081988 78.180721) + (xy 92.08607 78.174613) + (xy 92.179207 78.000365) + (xy 92.18202 77.993573) + (xy 92.217382 77.877) + (xy 92.768389 77.877) + (xy 92.768751 77.880676) + (xy 92.786099 78.056821) + (xy 92.786789 78.063821) + (xy 92.787859 78.06735) + (xy 92.78786 78.067352) + (xy 92.793337 78.085406) + (xy 92.841283 78.243462) + (xy 92.843019 78.246711) + (xy 92.843023 78.246719) + (xy 92.928034 78.405761) + (xy 92.929776 78.40902) + (xy 92.949751 78.43336) + (xy 93.014581 78.512356) + (xy 93.048867 78.554133) + (xy 93.19398 78.673224) + (xy 93.250424 78.703394) + (xy 93.35628 78.759976) + (xy 93.356283 78.759977) + (xy 93.359538 78.761717) + (xy 93.539179 78.816211) + (xy 93.726 78.834611) + (xy 93.912821 78.816211) + (xy 94.092462 78.761717) + (xy 94.25802 78.673224) + (xy 94.403133 78.554133) + (xy 94.522224 78.40902) + (xy 94.610717 78.243462) + (xy 94.665211 78.063821) + (xy 94.683611 77.877) + (xy 95.268389 77.877) + (xy 95.268751 77.880676) + (xy 95.286099 78.056821) + (xy 95.286789 78.063821) + (xy 95.287859 78.06735) + (xy 95.28786 78.067352) + (xy 95.293337 78.085406) + (xy 95.341283 78.243462) + (xy 95.343019 78.246711) + (xy 95.343023 78.246719) + (xy 95.428034 78.405761) + (xy 95.429776 78.40902) + (xy 95.449751 78.43336) + (xy 95.514581 78.512356) + (xy 95.548867 78.554133) + (xy 95.69398 78.673224) + (xy 95.750424 78.703394) + (xy 95.85628 78.759976) + (xy 95.856283 78.759977) + (xy 95.859538 78.761717) + (xy 96.039179 78.816211) + (xy 96.226 78.834611) + (xy 96.412821 78.816211) + (xy 96.592462 78.761717) + (xy 96.75802 78.673224) + (xy 96.903133 78.554133) + (xy 97.022224 78.40902) + (xy 97.110717 78.243462) + (xy 97.165211 78.063821) + (xy 97.183611 77.877) + (xy 97.182922 77.87) + (xy 97.848389 77.87) + (xy 97.848751 77.873676) + (xy 97.865908 78.047883) + (xy 97.866789 78.056821) + (xy 97.867859 78.06035) + (xy 97.86786 78.060352) + (xy 97.885687 78.119119) + (xy 97.921283 78.236462) + (xy 97.923019 78.239711) + (xy 97.923023 78.239719) + (xy 98.008034 78.398761) + (xy 98.009776 78.40202) + (xy 98.03 78.426663) + (xy 98.094279 78.504988) + (xy 98.128867 78.547133) + (xy 98.27398 78.666224) + (xy 98.34352 78.703394) + (xy 98.43628 78.752976) + (xy 98.436283 78.752977) + (xy 98.439538 78.754717) + (xy 98.619179 78.809211) + (xy 98.806 78.827611) + (xy 98.992821 78.809211) + (xy 99.172462 78.754717) + (xy 99.33802 78.666224) + (xy 99.483133 78.547133) + (xy 99.602224 78.40202) + (xy 99.690717 78.236462) + (xy 99.745211 78.056821) + (xy 99.763611 77.87) + (xy 100.348389 77.87) + (xy 100.348751 77.873676) + (xy 100.365908 78.047883) + (xy 100.366789 78.056821) + (xy 100.367859 78.06035) + (xy 100.36786 78.060352) + (xy 100.385687 78.119119) + (xy 100.421283 78.236462) + (xy 100.423019 78.239711) + (xy 100.423023 78.239719) + (xy 100.508034 78.398761) + (xy 100.509776 78.40202) + (xy 100.53 78.426663) + (xy 100.594279 78.504988) + (xy 100.628867 78.547133) + (xy 100.77398 78.666224) + (xy 100.84352 78.703394) + (xy 100.93628 78.752976) + (xy 100.936283 78.752977) + (xy 100.939538 78.754717) + (xy 101.119179 78.809211) + (xy 101.306 78.827611) + (xy 101.492821 78.809211) + (xy 101.672462 78.754717) + (xy 101.83802 78.666224) + (xy 101.983133 78.547133) + (xy 102.102224 78.40202) + (xy 102.190717 78.236462) + (xy 102.245211 78.056821) + (xy 102.263611 77.87) + (xy 102.26309 77.864715) + (xy 102.261132 77.844827) + (xy 102.245211 77.683179) + (xy 102.190717 77.503538) + (xy 102.184254 77.491447) + (xy 102.140455 77.409505) + (xy 102.102224 77.33798) + (xy 101.983133 77.192867) + (xy 101.966907 77.179551) + (xy 101.879762 77.108033) + (xy 101.83802 77.073776) + (xy 101.781045 77.043322) + (xy 101.675719 76.987023) + (xy 101.675711 76.987019) + (xy 101.672462 76.985283) + (xy 101.541765 76.945636) + (xy 101.496352 76.93186) + (xy 101.49635 76.931859) + (xy 101.492821 76.930789) + (xy 101.48915 76.930427) + (xy 101.489148 76.930427) + (xy 101.309676 76.912751) + (xy 101.306 76.912389) + (xy 101.302324 76.912751) + (xy 101.122851 76.930427) + (xy 101.122847 76.930427) + (xy 101.119179 76.930789) + (xy 101.115651 76.931859) + (xy 101.115647 76.93186) + (xy 100.943068 76.984212) + (xy 100.943066 76.984212) + (xy 100.939538 76.985283) + (xy 100.936292 76.987018) + (xy 100.93628 76.987023) + (xy 100.777238 77.072034) + (xy 100.777233 77.072036) + (xy 100.77398 77.073776) + (xy 100.771127 77.076117) + (xy 100.771123 77.07612) + (xy 100.631722 77.190523) + (xy 100.631716 77.190528) + (xy 100.628867 77.192867) + (xy 100.626528 77.195716) + (xy 100.626523 77.195722) + (xy 100.51212 77.335123) + (xy 100.512117 77.335127) + (xy 100.509776 77.33798) + (xy 100.508036 77.341233) + (xy 100.508034 77.341238) + (xy 100.423023 77.50028) + (xy 100.423018 77.500292) + (xy 100.421283 77.503538) + (xy 100.420212 77.507066) + (xy 100.420212 77.507068) + (xy 100.369165 77.675347) + (xy 100.366789 77.683179) + (xy 100.366427 77.686847) + (xy 100.366427 77.686851) + (xy 100.3489 77.864812) + (xy 100.348389 77.87) + (xy 99.763611 77.87) + (xy 99.76309 77.864715) + (xy 99.761132 77.844827) + (xy 99.745211 77.683179) + (xy 99.690717 77.503538) + (xy 99.684254 77.491447) + (xy 99.640455 77.409505) + (xy 99.602224 77.33798) + (xy 99.483133 77.192867) + (xy 99.466907 77.179551) + (xy 99.379762 77.108033) + (xy 99.33802 77.073776) + (xy 99.281045 77.043322) + (xy 99.175719 76.987023) + (xy 99.175711 76.987019) + (xy 99.172462 76.985283) + (xy 99.041765 76.945636) + (xy 98.996352 76.93186) + (xy 98.99635 76.931859) + (xy 98.992821 76.930789) + (xy 98.98915 76.930427) + (xy 98.989148 76.930427) + (xy 98.809676 76.912751) + (xy 98.806 76.912389) + (xy 98.802324 76.912751) + (xy 98.622851 76.930427) + (xy 98.622847 76.930427) + (xy 98.619179 76.930789) + (xy 98.615651 76.931859) + (xy 98.615647 76.93186) + (xy 98.443068 76.984212) + (xy 98.443066 76.984212) + (xy 98.439538 76.985283) + (xy 98.436292 76.987018) + (xy 98.43628 76.987023) + (xy 98.277238 77.072034) + (xy 98.277233 77.072036) + (xy 98.27398 77.073776) + (xy 98.271127 77.076117) + (xy 98.271123 77.07612) + (xy 98.131722 77.190523) + (xy 98.131716 77.190528) + (xy 98.128867 77.192867) + (xy 98.126528 77.195716) + (xy 98.126523 77.195722) + (xy 98.01212 77.335123) + (xy 98.012117 77.335127) + (xy 98.009776 77.33798) + (xy 98.008036 77.341233) + (xy 98.008034 77.341238) + (xy 97.923023 77.50028) + (xy 97.923018 77.500292) + (xy 97.921283 77.503538) + (xy 97.920212 77.507066) + (xy 97.920212 77.507068) + (xy 97.869165 77.675347) + (xy 97.866789 77.683179) + (xy 97.866427 77.686847) + (xy 97.866427 77.686851) + (xy 97.8489 77.864812) + (xy 97.848389 77.87) + (xy 97.182922 77.87) + (xy 97.165211 77.690179) + (xy 97.110717 77.510538) + (xy 97.108862 77.507068) + (xy 97.059349 77.414436) + (xy 97.022224 77.34498) + (xy 96.903133 77.199867) + (xy 96.899895 77.19721) + (xy 96.800281 77.115459) + (xy 96.75802 77.080776) + (xy 96.754761 77.079034) + (xy 96.595719 76.994023) + (xy 96.595711 76.994019) + (xy 96.592462 76.992283) + (xy 96.471166 76.955488) + (xy 96.416352 76.93886) + (xy 96.41635 76.938859) + (xy 96.412821 76.937789) + (xy 96.40915 76.937427) + (xy 96.409148 76.937427) + (xy 96.229676 76.919751) + (xy 96.226 76.919389) + (xy 96.222324 76.919751) + (xy 96.042851 76.937427) + (xy 96.042847 76.937427) + (xy 96.039179 76.937789) + (xy 96.035651 76.938859) + (xy 96.035647 76.93886) + (xy 95.863068 76.991212) + (xy 95.863066 76.991212) + (xy 95.859538 76.992283) + (xy 95.856292 76.994018) + (xy 95.85628 76.994023) + (xy 95.697238 77.079034) + (xy 95.697233 77.079036) + (xy 95.69398 77.080776) + (xy 95.691127 77.083117) + (xy 95.691123 77.08312) + (xy 95.551722 77.197523) + (xy 95.551716 77.197528) + (xy 95.548867 77.199867) + (xy 95.546528 77.202716) + (xy 95.546523 77.202722) + (xy 95.43212 77.342123) + (xy 95.432117 77.342127) + (xy 95.429776 77.34498) + (xy 95.428036 77.348233) + (xy 95.428034 77.348238) + (xy 95.343023 77.50728) + (xy 95.343018 77.507292) + (xy 95.341283 77.510538) + (xy 95.340212 77.514066) + (xy 95.340212 77.514068) + (xy 95.287891 77.686547) + (xy 95.286789 77.690179) + (xy 95.286427 77.693847) + (xy 95.286427 77.693851) + (xy 95.269168 77.869091) + (xy 95.268389 77.877) + (xy 94.683611 77.877) + (xy 94.665211 77.690179) + (xy 94.610717 77.510538) + (xy 94.608862 77.507068) + (xy 94.559349 77.414436) + (xy 94.522224 77.34498) + (xy 94.403133 77.199867) + (xy 94.399895 77.19721) + (xy 94.300281 77.115459) + (xy 94.25802 77.080776) + (xy 94.254761 77.079034) + (xy 94.095719 76.994023) + (xy 94.095711 76.994019) + (xy 94.092462 76.992283) + (xy 93.971166 76.955488) + (xy 93.916352 76.93886) + (xy 93.91635 76.938859) + (xy 93.912821 76.937789) + (xy 93.90915 76.937427) + (xy 93.909148 76.937427) + (xy 93.729676 76.919751) + (xy 93.726 76.919389) + (xy 93.722324 76.919751) + (xy 93.542851 76.937427) + (xy 93.542847 76.937427) + (xy 93.539179 76.937789) + (xy 93.535651 76.938859) + (xy 93.535647 76.93886) + (xy 93.363068 76.991212) + (xy 93.363066 76.991212) + (xy 93.359538 76.992283) + (xy 93.356292 76.994018) + (xy 93.35628 76.994023) + (xy 93.197238 77.079034) + (xy 93.197233 77.079036) + (xy 93.19398 77.080776) + (xy 93.191127 77.083117) + (xy 93.191123 77.08312) + (xy 93.051722 77.197523) + (xy 93.051716 77.197528) + (xy 93.048867 77.199867) + (xy 93.046528 77.202716) + (xy 93.046523 77.202722) + (xy 92.93212 77.342123) + (xy 92.932117 77.342127) + (xy 92.929776 77.34498) + (xy 92.928036 77.348233) + (xy 92.928034 77.348238) + (xy 92.843023 77.50728) + (xy 92.843018 77.507292) + (xy 92.841283 77.510538) + (xy 92.840212 77.514066) + (xy 92.840212 77.514068) + (xy 92.787891 77.686547) + (xy 92.786789 77.690179) + (xy 92.786427 77.693847) + (xy 92.786427 77.693851) + (xy 92.769168 77.869091) + (xy 92.768389 77.877) + (xy 92.217382 77.877) + (xy 92.239372 77.804508) + (xy 92.240807 77.797298) + (xy 92.260173 77.600675) + (xy 92.260173 77.593325) + (xy 92.240807 77.396701) + (xy 92.239372 77.389491) + (xy 92.18202 77.200426) + (xy 92.179207 77.193634) + (xy 92.08607 77.019386) + (xy 92.081988 77.013278) + (xy 92.041939 76.964477) + (xy 92.035095 76.959741) + (xy 92.027816 76.963787) + (xy 91.401605 77.589999) + (xy 91.397563 77.597) + (xy 91.032436 77.597) + (xy 91.028394 77.589999) + (xy 90.402182 76.963787) + (xy 90.394903 76.959742) + (xy 90.388058 76.964479) + (xy 90.348008 77.013281) + (xy 90.343931 77.019383) + (xy 90.250792 77.193634) + (xy 90.247979 77.200426) + (xy 90.190627 77.389491) + (xy 90.189192 77.396701) + (xy 90.169827 77.593325) + (xy 90.169827 77.600675) + (xy 89.716 77.600675) + (xy 89.716 76.943882) + (xy 89.713206 76.914087) + (xy 89.669299 76.788607) + (xy 89.660661 76.776903) + (xy 90.577742 76.776903) + (xy 90.581787 76.784182) + (xy 91.207999 77.410394) + (xy 91.215 77.414436) + (xy 91.222 77.410394) + (xy 91.848211 76.784182) + (xy 91.852257 76.776903) + (xy 91.847521 76.770059) + (xy 91.798722 76.730011) + (xy 91.792613 76.725929) + (xy 91.618365 76.632792) + (xy 91.611573 76.629979) + (xy 91.422508 76.572627) + (xy 91.415298 76.571192) + (xy 91.218675 76.551827) + (xy 91.211325 76.551827) + (xy 91.014701 76.571192) + (xy 91.007491 76.572627) + (xy 90.818426 76.629979) + (xy 90.811634 76.632792) + (xy 90.637383 76.725931) + (xy 90.631281 76.730008) + (xy 90.582479 76.770058) + (xy 90.577742 76.776903) + (xy 89.660661 76.776903) + (xy 89.657081 76.772053) + (xy 89.629085 76.73412) + (xy 89.590356 76.681644) + (xy 89.574098 76.669645) + (xy 89.487923 76.606044) + (xy 89.487921 76.606043) + (xy 89.483393 76.602701) + (xy 89.478078 76.600841) + (xy 89.478076 76.60084) + (xy 89.362227 76.560303) + (xy 89.362223 76.560302) + (xy 89.357913 76.558794) + (xy 89.353365 76.558367) + (xy 89.353363 76.558367) + (xy 89.329859 76.556163) + (xy 89.329853 76.556162) + (xy 89.328118 76.556) + (xy 88.021882 76.556) + (xy 88.020147 76.556162) + (xy 88.02014 76.556163) + (xy 87.996636 76.558367) + (xy 87.996632 76.558367) + (xy 87.992087 76.558794) + (xy 87.987778 76.560301) + (xy 87.987772 76.560303) + (xy 87.871923 76.60084) + (xy 87.871918 76.600842) + (xy 87.866607 76.602701) + (xy 87.862081 76.606041) + (xy 87.862076 76.606044) + (xy 87.764171 76.678302) + (xy 87.764167 76.678305) + (xy 87.759644 76.681644) + (xy 87.756305 76.686167) + (xy 87.756302 76.686171) + (xy 87.684044 76.784076) + (xy 87.684041 76.784081) + (xy 87.680701 76.788607) + (xy 87.678842 76.793918) + (xy 87.67884 76.793923) + (xy 87.638303 76.909772) + (xy 87.638301 76.909778) + (xy 87.636794 76.914087) + (xy 87.636367 76.918632) + (xy 87.636367 76.918636) + (xy 87.634605 76.937427) + (xy 87.634 76.943882) + (xy 87.634 76.945636) + (xy 87.634 78.157132) + (xy 87.628276 78.18591) + (xy 87.611976 78.210303) + (xy 87.099584 78.722695) + (xy 86.938288 78.883991) + (xy 86.933454 78.888421) + (xy 86.908678 78.909211) + (xy 86.908673 78.909215) + (xy 86.90364 78.91344) + (xy 86.900355 78.919129) + (xy 86.900352 78.919133) + (xy 86.884189 78.947128) + (xy 86.880667 78.952655) + (xy 86.862122 78.979142) + (xy 86.862119 78.979147) + (xy 86.858348 78.984534) + (xy 86.856644 78.990888) + (xy 86.853867 78.996846) + (xy 86.85386 78.996842) + (xy 86.853099 78.998678) + (xy 86.853106 78.998681) + (xy 86.850854 79.004866) + (xy 86.847568 79.01056) + (xy 86.846426 79.017032) + (xy 86.846425 79.017037) + (xy 86.840813 79.048865) + (xy 86.839394 79.055266) + (xy 86.831025 79.086499) + (xy 86.831024 79.086507) + (xy 86.829323 79.092857) + (xy 86.829896 79.099408) + (xy 86.829896 79.09941) + (xy 86.832714 79.131616) + (xy 86.833 79.13817) + (xy 86.833 80.609132) + (xy 86.827276 80.63791) + (xy 86.810974 80.662306) + (xy 85.922288 81.55099) + (xy 85.917454 81.555421) + (xy 85.892678 81.576211) + (xy 85.892673 81.576215) + (xy 85.88764 81.58044) + (xy 85.884355 81.586129) + (xy 85.884352 81.586133) + (xy 85.868189 81.614128) + (xy 85.864667 81.619655) + (xy 85.846122 81.646142) + (xy 85.846119 81.646147) + (xy 85.842348 81.651534) + (xy 85.840644 81.657888) + (xy 85.837867 81.663846) + (xy 85.83786 81.663842) + (xy 85.837099 81.665678) + (xy 85.837106 81.665681) + (xy 85.834854 81.671866) + (xy 85.831568 81.67756) + (xy 85.830426 81.684032) + (xy 85.830425 81.684037) + (xy 85.824813 81.715865) + (xy 85.823394 81.722266) + (xy 85.815025 81.753499) + (xy 85.815024 81.753507) + (xy 85.813323 81.759857) + (xy 85.813896 81.766408) + (xy 85.813896 81.76641) + (xy 85.816714 81.798616) + (xy 85.817 81.80517) + (xy 85.817 82.387132) + (xy 85.811276 82.41591) + (xy 85.794974 82.440306) + (xy 85.320306 82.914974) + (xy 85.29591 82.931276) + (xy 85.267132 82.937) + (xy 84.611472 82.937) + (xy 84.576023 82.928121) + (xy 84.548946 82.903579) + (xy 84.539263 82.889088) + (xy 84.524703 82.867297) + (xy 84.517289 82.862343) + (xy 84.467683 82.829196) + (xy 84.46768 82.829194) + (xy 84.461525 82.825082) + (xy 84.454261 82.823637) + (xy 84.434513 82.819709) + (xy 84.405812 82.814) + (xy 83.568188 82.814) + (xy 83.564563 82.81472) + (xy 83.564563 82.814721) + (xy 83.519738 82.823637) + (xy 83.519736 82.823637) + (xy 83.512475 82.825082) + (xy 83.506321 82.829193) + (xy 83.506316 82.829196) + (xy 83.455454 82.863182) + (xy 83.455451 82.863184) + (xy 83.449297 82.867297) + (xy 83.445184 82.873451) + (xy 83.445182 82.873454) + (xy 83.411196 82.924316) + (xy 83.411193 82.924321) + (xy 83.407082 82.930475) + (xy 83.405637 82.937736) + (xy 83.405637 82.937738) + (xy 83.396721 82.982563) + (xy 83.396 82.986188) + (xy 83.396 83.523812) + (xy 83.407082 83.579525) + (xy 83.427001 83.609335) + (xy 83.446302 83.638221) + (xy 83.458976 83.68) + (xy 83.446302 83.721779) + (xy 83.415875 83.767316) + (xy 83.407082 83.780475) + (xy 83.405637 83.787736) + (xy 83.405637 83.787738) + (xy 83.397778 83.827249) + (xy 83.396 83.836188) + (xy 83.396 84.273812) + (xy 83.407082 84.329525) + (xy 83.411194 84.33568) + (xy 83.411196 84.335683) + (xy 83.445182 84.386545) + (xy 83.449297 84.392703) + (xy 83.455454 84.396817) + (xy 83.460463 84.401826) + (xy 83.479927 84.435537) + (xy 83.479927 84.474463) + (xy 83.460463 84.508174) + (xy 83.455453 84.513183) + (xy 83.449297 84.517297) + (xy 83.445184 84.523451) + (xy 83.445182 84.523454) + (xy 83.411196 84.574316) + (xy 83.411193 84.574321) + (xy 83.407082 84.580475) + (xy 83.405637 84.587736) + (xy 83.405637 84.587738) + (xy 83.400796 84.612078) + (xy 83.396 84.636188) + (xy 83.396 85.073812) + (xy 83.398668 85.087225) + (xy 83.404389 85.115989) + (xy 83.407082 85.129525) + (xy 83.411197 85.135683) + (xy 83.446302 85.188221) + (xy 83.458976 85.23) + (xy 83.446302 85.271779) + (xy 83.411409 85.324) + (xy 83.407082 85.330475) + (xy 83.405637 85.337736) + (xy 83.405637 85.337738) + (xy 83.39871 85.372564) + (xy 83.396 85.386188) + (xy 83.396 85.923812) + (xy 82.778 85.923812) + (xy 82.778 85.386188) + (xy 82.766918 85.330475) + (xy 82.727695 85.271775) + (xy 82.715023 85.23) + (xy 82.727695 85.188224) + (xy 82.766918 85.129525) + (xy 82.778 85.073812) + (xy 82.778 84.636188) + (xy 82.766918 84.580475) + (xy 82.759977 84.570088) + (xy 82.728817 84.523454) + (xy 82.724703 84.517297) + (xy 82.718545 84.513182) + (xy 82.713537 84.508174) + (xy 82.694073 84.474463) + (xy 82.694073 84.435537) + (xy 82.713537 84.401826) + (xy 82.718544 84.396817) + (xy 82.724703 84.392703) + (xy 82.766918 84.329525) + (xy 82.778 84.273812) + (xy 82.778 83.836188) + (xy 82.766918 83.780475) + (xy 82.727695 83.721775) + (xy 82.715023 83.68) + (xy 82.727695 83.638224) + (xy 82.766918 83.579525) + (xy 82.778 83.523812) + (xy 82.778 82.986188) + (xy 82.766918 82.930475) + (xy 82.761578 82.922484) + (xy 82.728817 82.873454) + (xy 82.724703 82.867297) + (xy 82.717289 82.862343) + (xy 82.667683 82.829196) + (xy 82.66768 82.829194) + (xy 82.661525 82.825082) + (xy 82.654261 82.823637) + (xy 82.634513 82.819709) + (xy 82.605812 82.814) + (xy 81.768188 82.814) + (xy 81.764563 82.81472) + (xy 81.764563 82.814721) + (xy 81.719735 82.823637) + (xy 81.71973 82.823638) + (xy 81.712475 82.825082) + (xy 81.706322 82.829193) + (xy 81.702924 82.830601) + (xy 81.665219 82.835793) + (xy 81.629801 82.821857) + (xy 81.608974 82.796325) + (xy 81.608526 82.796613) + (xy 81.605989 82.792665) + (xy 81.605743 82.792364) + (xy 81.603382 82.787194) + (xy 81.510018 82.679447) + (xy 81.505496 82.676541) + (xy 81.505494 82.676539) + (xy 81.394602 82.605272) + (xy 81.394599 82.60527) + (xy 81.390081 82.602367) + (xy 81.384925 82.600853) + (xy 81.384923 82.600852) + (xy 81.258447 82.563715) + (xy 81.258442 82.563714) + (xy 81.253285 82.5622) + (xy 81.110715 82.5622) + (xy 81.105558 82.563714) + (xy 81.105552 82.563715) + (xy 80.979076 82.600852) + (xy 80.979071 82.600854) + (xy 80.973919 82.602367) + (xy 80.969403 82.605269) + (xy 80.969397 82.605272) + (xy 80.858505 82.676539) + (xy 80.858499 82.676543) + (xy 80.853982 82.679447) + (xy 80.850461 82.683509) + (xy 80.85046 82.683511) + (xy 80.76414 82.783128) + (xy 80.764136 82.783133) + (xy 80.760618 82.787194) + (xy 80.758385 82.792082) + (xy 80.758382 82.792088) + (xy 80.703626 82.911987) + (xy 80.703624 82.911993) + (xy 80.701392 82.916881) + (xy 80.700627 82.922195) + (xy 80.700626 82.922202) + (xy 80.684667 83.033202) + (xy 80.681102 83.058) + (xy 80.681867 83.063321) + (xy 80.700626 83.193797) + (xy 80.700627 83.193802) + (xy 80.701392 83.199119) + (xy 80.703624 83.204008) + (xy 80.703626 83.204012) + (xy 80.758382 83.323911) + (xy 80.758383 83.323913) + (xy 80.760618 83.328806) + (xy 80.764138 83.332869) + (xy 80.76414 83.332871) + (xy 80.788229 83.360671) + (xy 80.853982 83.436553) + (xy 80.858506 83.43946) + (xy 80.862571 83.442983) + (xy 80.861803 83.443869) + (xy 80.888567 83.477907) + (xy 80.888567 83.527093) + (xy 80.861803 83.56113) + (xy 80.862571 83.562017) + (xy 80.858504 83.56554) + (xy 80.853982 83.568447) + (xy 80.850461 83.572509) + (xy 80.85046 83.572511) + (xy 80.76414 83.672128) + (xy 80.764136 83.672133) + (xy 80.760618 83.676194) + (xy 80.758385 83.681082) + (xy 80.758382 83.681088) + (xy 80.703626 83.800987) + (xy 80.703624 83.800993) + (xy 80.701392 83.805881) + (xy 80.700627 83.811195) + (xy 80.700626 83.811202) + (xy 80.682483 83.937394) + (xy 80.681102 83.947) + (xy 80.681867 83.952321) + (xy 80.700626 84.082797) + (xy 80.700627 84.082802) + (xy 80.701392 84.088119) + (xy 80.703624 84.093008) + (xy 80.703626 84.093012) + (xy 80.758382 84.212911) + (xy 80.758383 84.212913) + (xy 80.760618 84.217806) + (xy 80.764138 84.221869) + (xy 80.76414 84.221871) + (xy 80.791754 84.253739) + (xy 80.853982 84.325553) + (xy 80.858506 84.32846) + (xy 80.86257 84.331982) + (xy 80.861801 84.332869) + (xy 80.888565 84.366896) + (xy 80.88857 84.416085) + (xy 80.861804 84.450132) + (xy 80.862571 84.451017) + (xy 80.858504 84.45454) + (xy 80.853982 84.457447) + (xy 80.850461 84.461509) + (xy 80.85046 84.461511) + (xy 80.76414 84.561128) + (xy 80.764136 84.561133) + (xy 80.760618 84.565194) + (xy 80.758385 84.570082) + (xy 80.758382 84.570088) + (xy 80.703626 84.689987) + (xy 80.703624 84.689993) + (xy 80.701392 84.694881) + (xy 80.700627 84.700195) + (xy 80.700626 84.700202) + (xy 80.683893 84.81659) + (xy 80.681102 84.836) + (xy 80.681867 84.841321) + (xy 80.700626 84.971797) + (xy 80.700627 84.971802) + (xy 80.701392 84.977119) + (xy 80.703624 84.982008) + (xy 80.703626 84.982012) + (xy 80.758382 85.101911) + (xy 80.758383 85.101913) + (xy 80.760618 85.106806) + (xy 80.764138 85.110869) + (xy 80.76414 85.110871) + (xy 80.772605 85.12064) + (xy 80.853982 85.214553) + (xy 80.858506 85.21746) + (xy 80.86257 85.220982) + (xy 80.861801 85.221869) + (xy 80.888565 85.255896) + (xy 80.88857 85.305085) + (xy 80.861804 85.339132) + (xy 80.862571 85.340017) + (xy 80.858504 85.34354) + (xy 80.853982 85.346447) + (xy 80.850461 85.350509) + (xy 80.85046 85.350511) + (xy 80.76414 85.450128) + (xy 80.764136 85.450133) + (xy 80.760618 85.454194) + (xy 80.758385 85.459082) + (xy 80.758382 85.459088) + (xy 80.703626 85.578987) + (xy 80.703624 85.578993) + (xy 80.701392 85.583881) + (xy 80.700627 85.589195) + (xy 80.700626 85.589202) + (xy 80.686534 85.687219) + (xy 80.681102 85.725) + (xy 80.201 85.725) + (xy 80.201 85.179823) + (xy 80.209496 85.145101) + (xy 80.23049 85.12116) + (xy 80.231607 85.12064) + (xy 80.31664 85.035607) + (xy 80.367461 84.926619) + (xy 80.374 84.876952) + (xy 80.374 83.147048) + (xy 80.367461 83.097381) + (xy 80.364572 83.091186) + (xy 80.346835 83.053148) + (xy 80.31664 82.988393) + (xy 80.231607 82.90336) + (xy 80.191382 82.884603) + (xy 80.127832 82.854969) + (xy 80.127827 82.854967) + (xy 80.122619 82.852539) + (xy 80.116917 82.851788) + (xy 80.116916 82.851788) + (xy 80.075385 82.84632) + (xy 80.07538 82.846319) + (xy 80.072952 82.846) + (xy 79.693048 82.846) + (xy 79.69062 82.846319) + (xy 79.690614 82.84632) + (xy 79.649083 82.851788) + (xy 79.649081 82.851788) + (xy 79.643381 82.852539) + (xy 79.638174 82.854966) + (xy 79.638167 82.854969) + (xy 79.540354 82.90058) + (xy 79.540352 82.900581) + (xy 79.534393 82.90336) + (xy 79.529743 82.908009) + (xy 79.52974 82.908012) + (xy 79.454012 82.98374) + (xy 79.454009 82.983743) + (xy 79.44936 82.988393) + (xy 79.446581 82.994352) + (xy 79.44658 82.994354) + (xy 79.400969 83.092167) + (xy 79.400966 83.092174) + (xy 79.398539 83.097381) + (xy 79.397788 83.103081) + (xy 79.397788 83.103083) + (xy 79.3928 83.140972) + (xy 79.392 83.147048) + (xy 79.392 84.876952) + (xy 79.392319 84.87938) + (xy 79.39232 84.879385) + (xy 79.397195 84.916413) + (xy 79.398539 84.926619) + (xy 79.400967 84.931827) + (xy 79.400969 84.931832) + (xy 79.428008 84.989817) + (xy 79.44936 85.035607) + (xy 79.534393 85.12064) + (xy 79.535509 85.12116) + (xy 79.556504 85.145101) + (xy 79.565 85.179823) + (xy 79.565 85.689132) + (xy 79.559276 85.71791) + (xy 79.542974 85.742306) + (xy 78.630306 86.654974) + (xy 78.60591 86.671276) + (xy 78.577132 86.677) + (xy 74.836831 86.677) + (xy 74.805592 86.670205) + (xy 74.779999 86.651046) + (xy 74.765659 86.634498) + (xy 74.750018 86.616447) + (xy 74.745496 86.613541) + (xy 74.745494 86.613539) + (xy 74.634602 86.542272) + (xy 74.634599 86.54227) + (xy 74.630081 86.539367) + (xy 74.624925 86.537853) + (xy 74.624923 86.537852) + (xy 74.498447 86.500715) + (xy 74.498442 86.500714) + (xy 74.493285 86.4992) + (xy 74.350715 86.4992) + (xy 74.345558 86.500714) + (xy 74.345552 86.500715) + (xy 74.219076 86.537852) + (xy 74.219071 86.537854) + (xy 74.213919 86.539367) + (xy 74.209403 86.542269) + (xy 74.209397 86.542272) + (xy 74.098505 86.613539) + (xy 74.098499 86.613543) + (xy 74.093982 86.616447) + (xy 74.090461 86.620509) + (xy 74.09046 86.620511) + (xy 74.00414 86.720128) + (xy 74.004136 86.720133) + (xy 74.000618 86.724194) + (xy 73.998385 86.729082) + (xy 73.998382 86.729088) + (xy 73.943626 86.848987) + (xy 73.943624 86.848993) + (xy 73.941392 86.853881) + (xy 73.940627 86.859195) + (xy 73.940626 86.859202) + (xy 73.922063 86.988316) + (xy 73.921102 86.995) + (xy 70.4855 86.995) + (xy 70.4855 85.143295) + (xy 70.498173 85.101516) + (xy 70.531922 85.073819) + (xy 70.575371 85.06954) + (xy 70.613873 85.09012) + (xy 70.644393 85.12064) + (xy 70.710207 85.151329) + (xy 70.748167 85.16903) + (xy 70.748168 85.16903) + (xy 70.753381 85.171461) + (xy 70.803048 85.178) + (xy 71.180495 85.178) + (xy 71.182952 85.178) + (xy 71.232619 85.171461) + (xy 71.341607 85.12064) + (xy 71.42664 85.035607) + (xy 71.477461 84.926619) + (xy 71.484 84.876952) + (xy 71.484 83.147048) + (xy 71.477461 83.097381) + (xy 71.474572 83.091186) + (xy 71.456835 83.053148) + (xy 71.42664 82.988393) + (xy 71.341607 82.90336) + (xy 71.34049 82.902839) + (xy 71.319496 82.878899) + (xy 71.311 82.844177) + (xy 71.311 81.101112) + (xy 71.322772 81.060715) + (xy 71.34566 81.040634) + (xy 71.344429 81.038876) + (xy 71.349814 81.035104) + (xy 71.355782 81.032322) + (xy 71.438322 80.949782) + (xy 71.487653 80.843991) + (xy 71.494 80.795783) + (xy 71.494 80.793338) + (xy 71.762 80.793338) + (xy 71.762001 80.795782) + (xy 71.76232 80.798207) + (xy 71.762321 80.798218) + (xy 71.767595 80.838283) + (xy 71.767596 80.838286) + (xy 71.768347 80.843991) + (xy 71.770779 80.849206) + (xy 71.77078 80.849209) + (xy 71.814895 80.943815) + (xy 71.814896 80.943817) + (xy 71.817678 80.949782) + (xy 71.900218 81.032322) + (xy 71.906184 81.035104) + (xy 71.911571 81.038876) + (xy 71.910339 81.040634) + (xy 71.933228 81.060715) + (xy 71.945 81.101112) + (xy 71.945 82.844177) + (xy 71.936504 82.878899) + (xy 71.915509 82.902839) + (xy 71.914393 82.90336) + (xy 71.909745 82.908007) + (xy 71.909742 82.90801) + (xy 71.834012 82.98374) + (xy 71.834009 82.983743) + (xy 71.82936 82.988393) + (xy 71.826581 82.994352) + (xy 71.82658 82.994354) + (xy 71.780969 83.092167) + (xy 71.780966 83.092174) + (xy 71.778539 83.097381) + (xy 71.777788 83.103081) + (xy 71.777788 83.103083) + (xy 71.7728 83.140972) + (xy 71.772 83.147048) + (xy 71.772 84.876952) + (xy 71.772319 84.87938) + (xy 71.77232 84.879385) + (xy 71.777195 84.916413) + (xy 71.778539 84.926619) + (xy 71.780967 84.931827) + (xy 71.780969 84.931832) + (xy 71.808008 84.989817) + (xy 71.82936 85.035607) + (xy 71.914393 85.12064) + (xy 71.980207 85.151329) + (xy 72.018167 85.16903) + (xy 72.018168 85.16903) + (xy 72.023381 85.171461) + (xy 72.073048 85.178) + (xy 72.450495 85.178) + (xy 72.452952 85.178) + (xy 72.502619 85.171461) + (xy 72.611607 85.12064) + (xy 72.69664 85.035607) + (xy 72.747461 84.926619) + (xy 72.754 84.876952) + (xy 72.754 83.147048) + (xy 72.747461 83.097381) + (xy 72.744572 83.091186) + (xy 72.726835 83.053148) + (xy 72.69664 82.988393) + (xy 72.611607 82.90336) + (xy 72.61049 82.902839) + (xy 72.589496 82.878899) + (xy 72.581 82.844177) + (xy 72.581 81.101112) + (xy 72.592772 81.060715) + (xy 72.61566 81.040634) + (xy 72.614429 81.038876) + (xy 72.619814 81.035104) + (xy 72.625782 81.032322) + (xy 72.708322 80.949782) + (xy 72.757653 80.843991) + (xy 72.764 80.795783) + (xy 72.763999 80.438218) + (xy 72.757653 80.390009) + (xy 72.708322 80.284218) + (xy 72.625782 80.201678) + (xy 72.619817 80.198896) + (xy 72.618951 80.19829) + (xy 72.590701 80.160343) + (xy 72.590701 80.113036) + (xy 72.618951 80.07509) + (xy 72.630145 80.067251) + (xy 72.70325 79.994146) + (xy 72.710688 79.983524) + (xy 72.754731 79.889073) + (xy 72.757913 79.878156) + (xy 72.763179 79.838159) + (xy 72.7635 79.833266) + (xy 72.7635 79.793902) + (xy 72.761407 79.786092) + (xy 72.753598 79.784) + (xy 71.772402 79.784) + (xy 71.764592 79.786092) + (xy 71.7625 79.793902) + (xy 71.7625 79.833266) + (xy 71.76282 79.838159) + (xy 71.768086 79.878156) + (xy 71.771268 79.889073) + (xy 71.815311 79.983524) + (xy 71.822749 79.994146) + (xy 71.895856 80.067253) + (xy 71.907049 80.075091) + (xy 71.935298 80.113037) + (xy 71.935298 80.160343) + (xy 71.90705 80.198289) + (xy 71.906181 80.198897) + (xy 71.900218 80.201678) + (xy 71.895566 80.206329) + (xy 71.895563 80.206332) + (xy 71.822333 80.279562) + (xy 71.82233 80.279565) + (xy 71.817678 80.284218) + (xy 71.814898 80.290179) + (xy 71.814895 80.290184) + (xy 71.770779 80.384793) + (xy 71.768347 80.390009) + (xy 71.767596 80.395711) + (xy 71.767596 80.395712) + (xy 71.762321 80.435781) + (xy 71.762 80.438217) + (xy 71.762 80.440673) + (xy 71.762 80.440674) + (xy 71.762 80.793323) + (xy 71.762 80.793338) + (xy 71.494 80.793338) + (xy 71.493999 80.438218) + (xy 71.487653 80.390009) + (xy 71.438322 80.284218) + (xy 71.355782 80.201678) + (xy 71.349817 80.198896) + (xy 71.348951 80.19829) + (xy 71.320701 80.160343) + (xy 71.320701 80.113036) + (xy 71.348951 80.07509) + (xy 71.360145 80.067251) + (xy 71.43325 79.994146) + (xy 71.440688 79.983524) + (xy 71.484731 79.889073) + (xy 71.487913 79.878156) + (xy 71.493179 79.838159) + (xy 71.4935 79.833266) + (xy 71.4935 79.793902) + (xy 71.491407 79.786092) + (xy 71.483598 79.784) + (xy 70.9412 79.784) + (xy 70.9036 79.773925) + (xy 70.876075 79.7464) + (xy 70.866 79.7088) + (xy 70.866 79.520098) + (xy 71.12 79.520098) + (xy 71.122092 79.527907) + (xy 71.129902 79.53) + (xy 71.483598 79.53) + (xy 71.491407 79.527907) + (xy 71.4935 79.520098) + (xy 71.7625 79.520098) + (xy 71.764592 79.527907) + (xy 71.772402 79.53) + (xy 72.126098 79.53) + (xy 72.133907 79.527907) + (xy 72.136 79.520098) + (xy 72.39 79.520098) + (xy 72.392092 79.527907) + (xy 72.399902 79.53) + (xy 72.753598 79.53) + (xy 72.761407 79.527907) + (xy 72.7635 79.520098) + (xy 72.7635 79.480734) + (xy 72.763179 79.47584) + (xy 72.757913 79.435843) + (xy 72.754731 79.424926) + (xy 72.710688 79.330475) + (xy 72.70325 79.319853) + (xy 72.630146 79.246749) + (xy 72.619524 79.239311) + (xy 72.525073 79.195268) + (xy 72.514156 79.192086) + (xy 72.474159 79.18682) + (xy 72.469266 79.1865) + (xy 72.399902 79.1865) + (xy 72.392092 79.188592) + (xy 72.39 79.196402) + (xy 72.39 79.520098) + (xy 72.136 79.520098) + (xy 72.136 79.196402) + (xy 72.133907 79.188592) + (xy 72.126098 79.1865) + (xy 72.056734 79.1865) + (xy 72.05184 79.18682) + (xy 72.011843 79.192086) + (xy 72.000926 79.195268) + (xy 71.906475 79.239311) + (xy 71.895853 79.246749) + (xy 71.822749 79.319853) + (xy 71.815311 79.330475) + (xy 71.771268 79.424926) + (xy 71.768086 79.435843) + (xy 71.76282 79.47584) + (xy 71.7625 79.480734) + (xy 71.7625 79.520098) + (xy 71.4935 79.520098) + (xy 71.4935 79.480734) + (xy 71.493179 79.47584) + (xy 71.487913 79.435843) + (xy 71.484731 79.424926) + (xy 71.440688 79.330475) + (xy 71.43325 79.319853) + (xy 71.360146 79.246749) + (xy 71.349524 79.239311) + (xy 71.255073 79.195268) + (xy 71.244156 79.192086) + (xy 71.204159 79.18682) + (xy 71.199266 79.1865) + (xy 71.129902 79.1865) + (xy 71.122092 79.188592) + (xy 71.12 79.196402) + (xy 71.12 79.520098) + (xy 70.866 79.520098) + (xy 70.866 79.196402) + (xy 70.863907 79.188592) + (xy 70.856098 79.1865) + (xy 70.786734 79.1865) + (xy 70.78184 79.18682) + (xy 70.741843 79.192086) + (xy 70.730926 79.195268) + (xy 70.636475 79.239311) + (xy 70.625853 79.246749) + (xy 70.613874 79.258729) + (xy 70.575371 79.27931) + (xy 70.531922 79.275031) + (xy 70.498173 79.247334) + (xy 70.4855 79.205555) + (xy 70.4855 77.811571) + (xy 70.491224 77.782793) + (xy 70.507526 77.758397) + (xy 70.7867 77.479223) + (xy 70.829175 77.457962) + (xy 70.830302 77.4578) + (xy 70.835685 77.4578) + (xy 70.972481 77.417633) + (xy 71.069256 77.355437) + (xy 71.109913 77.3435) + (xy 74.9813 77.3435) + (xy 75.0189 77.353575) + (xy 75.046425 77.3811) + (xy 75.0565 77.4187) + (xy 75.0565 77.697105) + (xy 75.050776 77.725883) + (xy 75.034474 77.750279) + (xy 75.016174 77.768579) + (xy 74.982463 77.788043) + (xy 74.943537 77.788043) + (xy 74.909826 77.768579) + (xy 74.841259 77.700012) + (xy 74.836607 77.69536) + (xy 74.812822 77.684269) + (xy 74.732832 77.646969) + (xy 74.732827 77.646967) + (xy 74.727619 77.644539) + (xy 74.721917 77.643788) + (xy 74.721916 77.643788) + (xy 74.680385 77.63832) + (xy 74.68038 77.638319) + (xy 74.677952 77.638) + (xy 74.298048 77.638) + (xy 74.29562 77.638319) + (xy 74.295614 77.63832) + (xy 74.254083 77.643788) + (xy 74.254081 77.643788) + (xy 74.248381 77.644539) + (xy 74.243174 77.646966) + (xy 74.243167 77.646969) + (xy 74.145354 77.69258) + (xy 74.145352 77.692581) + (xy 74.139393 77.69536) + (xy 74.134743 77.700009) + (xy 74.13474 77.700012) + (xy 74.059012 77.77574) + (xy 74.059009 77.775743) + (xy 74.05436 77.780393) + (xy 74.051581 77.786352) + (xy 74.05158 77.786354) + (xy 74.005969 77.884167) + (xy 74.005966 77.884174) + (xy 74.003539 77.889381) + (xy 74.002788 77.895081) + (xy 74.002788 77.895083) + (xy 73.999116 77.922979) + (xy 73.997 77.939048) + (xy 73.997 77.941505) + (xy 73.997 78.938132) + (xy 73.991276 78.96691) + (xy 73.974976 78.991303) + (xy 73.481606 79.484673) + (xy 73.320288 79.645991) + (xy 73.315454 79.650421) + (xy 73.290678 79.671211) + (xy 73.290673 79.671215) + (xy 73.28564 79.67544) + (xy 73.282355 79.681129) + (xy 73.282352 79.681133) + (xy 73.266189 79.709128) + (xy 73.262667 79.714655) + (xy 73.244122 79.741142) + (xy 73.244121 79.741145) + (xy 73.240348 79.746534) + (xy 73.238644 79.752888) + (xy 73.235867 79.758846) + (xy 73.23586 79.758842) + (xy 73.235099 79.760678) + (xy 73.235106 79.760681) + (xy 73.232854 79.766866) + (xy 73.229568 79.77256) + (xy 73.228426 79.779032) + (xy 73.228425 79.779037) + (xy 73.222813 79.810865) + (xy 73.221394 79.817266) + (xy 73.213025 79.848499) + (xy 73.213024 79.848507) + (xy 73.211323 79.854857) + (xy 73.211896 79.861408) + (xy 73.211896 79.86141) + (xy 73.214714 79.893616) + (xy 73.215 79.90017) + (xy 73.215 81.877837) + (xy 73.210259 81.904117) + (xy 73.196632 81.927083) + (xy 73.11514 82.021128) + (xy 73.115136 82.021133) + (xy 73.111618 82.025194) + (xy 73.109385 82.030082) + (xy 73.109382 82.030088) + (xy 73.054626 82.149987) + (xy 73.054624 82.149993) + (xy 73.052392 82.154881) + (xy 73.051627 82.160195) + (xy 73.051626 82.160202) + (xy 73.034877 82.276699) + (xy 73.032102 82.296) + (xy 73.032867 82.301321) + (xy 73.051626 82.431797) + (xy 73.051627 82.431802) + (xy 73.052392 82.437119) + (xy 73.054624 82.442008) + (xy 73.054626 82.442012) + (xy 73.109382 82.561911) + (xy 73.109383 82.561913) + (xy 73.111618 82.566806) + (xy 73.115138 82.570869) + (xy 73.11514 82.570871) + (xy 73.196632 82.664917) + (xy 73.210259 82.687883) + (xy 73.215 82.714163) + (xy 73.215 82.844177) + (xy 73.206504 82.878899) + (xy 73.185509 82.902839) + (xy 73.184393 82.90336) + (xy 73.179745 82.908007) + (xy 73.179742 82.90801) + (xy 73.104012 82.98374) + (xy 73.104009 82.983743) + (xy 73.09936 82.988393) + (xy 73.096581 82.994352) + (xy 73.09658 82.994354) + (xy 73.050969 83.092167) + (xy 73.050966 83.092174) + (xy 73.048539 83.097381) + (xy 73.047788 83.103081) + (xy 73.047788 83.103083) + (xy 73.0428 83.140972) + (xy 73.042 83.147048) + (xy 73.042 84.876952) + (xy 73.042319 84.87938) + (xy 73.04232 84.879385) + (xy 73.047195 84.916413) + (xy 73.048539 84.926619) + (xy 73.050967 84.931827) + (xy 73.050969 84.931832) + (xy 73.078008 84.989817) + (xy 73.09936 85.035607) + (xy 73.184393 85.12064) + (xy 73.250207 85.151329) + (xy 73.288167 85.16903) + (xy 73.288168 85.16903) + (xy 73.293381 85.171461) + (xy 73.343048 85.178) + (xy 73.720495 85.178) + (xy 73.722952 85.178) + (xy 73.772619 85.171461) + (xy 73.881607 85.12064) + (xy 73.96664 85.035607) + (xy 74.017461 84.926619) + (xy 74.024 84.876952) + (xy 74.024 83.147048) + (xy 74.017461 83.097381) + (xy 74.014572 83.091186) + (xy 73.996835 83.053148) + (xy 73.96664 82.988393) + (xy 73.881607 82.90336) + (xy 73.88049 82.902839) + (xy 73.859496 82.878899) + (xy 73.851 82.844177) + (xy 73.851 82.714163) + (xy 73.855741 82.687884) + (xy 73.869367 82.664918) + (xy 73.888793 82.642499) + (xy 73.95367 82.567627) + (xy 73.989312 82.544721) + (xy 74.031685 82.544721) + (xy 74.067331 82.567629) + (xy 74.159982 82.674553) + (xy 74.164504 82.677459) + (xy 74.164505 82.67746) + (xy 74.267328 82.743541) + (xy 74.279919 82.751633) + (xy 74.41047 82.789966) + (xy 74.451561 82.81997) + (xy 74.464144 82.869268) + (xy 74.442459 82.915294) + (xy 74.36936 82.988393) + (xy 74.366581 82.994352) + (xy 74.36658 82.994354) + (xy 74.320969 83.092167) + (xy 74.320966 83.092174) + (xy 74.318539 83.097381) + (xy 74.317788 83.103081) + (xy 74.317788 83.103083) + (xy 74.3128 83.140972) + (xy 74.312 83.147048) + (xy 74.312 84.876952) + (xy 74.312319 84.87938) + (xy 74.31232 84.879385) + (xy 74.317195 84.916413) + (xy 74.318539 84.926619) + (xy 74.320967 84.931827) + (xy 74.320969 84.931832) + (xy 74.348008 84.989817) + (xy 74.36936 85.035607) + (xy 74.454393 85.12064) + (xy 74.520207 85.151329) + (xy 74.558167 85.16903) + (xy 74.558168 85.16903) + (xy 74.563381 85.171461) + (xy 74.613048 85.178) + (xy 74.990495 85.178) + (xy 74.992952 85.178) + (xy 75.042619 85.171461) + (xy 75.151607 85.12064) + (xy 75.23664 85.035607) + (xy 75.287461 84.926619) + (xy 75.294 84.876952) + (xy 75.294 83.147048) + (xy 75.287461 83.097381) + (xy 75.284572 83.091186) + (xy 75.266835 83.053148) + (xy 75.23664 82.988393) + (xy 75.151607 82.90336) + (xy 75.15049 82.902839) + (xy 75.129496 82.878899) + (xy 75.121 82.844177) + (xy 75.121 82.69417) + (xy 75.121286 82.687616) + (xy 75.122001 82.679447) + (xy 75.124677 82.648857) + (xy 75.114606 82.611275) + (xy 75.113187 82.604875) + (xy 75.106432 82.56656) + (xy 75.103142 82.560861) + (xy 75.100893 82.554682) + (xy 75.100902 82.554678) + (xy 75.100144 82.552848) + (xy 75.100136 82.552852) + (xy 75.097353 82.546886) + (xy 75.095652 82.540534) + (xy 75.073332 82.508658) + (xy 75.069809 82.503127) + (xy 75.068165 82.50028) + (xy 75.05036 82.46944) + (xy 75.03194 82.453984) + (xy 75.020551 82.444427) + (xy 75.015715 82.439995) + (xy 75.000785 82.425065) + (xy 74.982607 82.395638) + (xy 74.979525 82.361188) + (xy 74.988133 82.301326) + (xy 74.988133 82.301321) + (xy 74.988898 82.296) + (xy 74.985142 82.26988) + (xy 74.969373 82.160202) + (xy 74.968608 82.154881) + (xy 74.950078 82.114307) + (xy 74.911617 82.030088) + (xy 74.909382 82.025194) + (xy 74.894652 82.008195) + (xy 74.824368 81.927083) + (xy 74.810741 81.904117) + (xy 74.806 81.877837) + (xy 74.806 81.621823) + (xy 74.814496 81.587101) + (xy 74.83549 81.56316) + (xy 74.836607 81.56264) + (xy 74.910182 81.489064) + (xy 74.943889 81.469603) + (xy 74.982816 81.469603) + (xy 75.016527 81.489067) + (xy 75.085028 81.557568) + (xy 75.09565 81.565006) + (xy 75.193298 81.61054) + (xy 75.204215 81.613722) + (xy 75.245663 81.619179) + (xy 75.250557 81.6195) + (xy 75.301098 81.6195) + (xy 75.308907 81.617407) + (xy 75.311 81.609598) + (xy 75.311 79.923403) + (xy 75.308907 79.915593) + (xy 75.301098 79.913501) + (xy 75.250559 79.913501) + (xy 75.245663 79.913821) + (xy 75.20422 79.919276) + (xy 75.193294 79.922461) + (xy 75.09565 79.967993) + (xy 75.085031 79.975429) + (xy 75.016527 80.043933) + (xy 74.982816 80.063396) + (xy 74.94389 80.063396) + (xy 74.910179 80.043932) + (xy 74.841259 79.975012) + (xy 74.841258 79.975011) + (xy 74.836607 79.97036) + (xy 74.822431 79.963749) + (xy 74.732832 79.921969) + (xy 74.732827 79.921967) + (xy 74.727619 79.919539) + (xy 74.721917 79.918788) + (xy 74.721916 79.918788) + (xy 74.680385 79.91332) + (xy 74.68038 79.913319) + (xy 74.677952 79.913) + (xy 74.298048 79.913) + (xy 74.29562 79.913319) + (xy 74.295614 79.91332) + (xy 74.254083 79.918788) + (xy 74.254081 79.918788) + (xy 74.248381 79.919539) + (xy 74.243174 79.921966) + (xy 74.243167 79.921969) + (xy 74.145354 79.96758) + (xy 74.145352 79.967581) + (xy 74.139393 79.97036) + (xy 74.134743 79.975009) + (xy 74.13474 79.975012) + (xy 74.059012 80.05074) + (xy 74.059009 80.050743) + (xy 74.05436 80.055393) + (xy 74.051581 80.061352) + (xy 74.05158 80.061354) + (xy 74.005969 80.159167) + (xy 74.005966 80.159174) + (xy 74.003539 80.164381) + (xy 74.002788 80.170081) + (xy 74.002788 80.170083) + (xy 74.000757 80.185512) + (xy 73.982084 80.226015) + (xy 73.943755 80.248818) + (xy 73.899251 80.245901) + (xy 73.864226 80.21829) + (xy 73.851 80.175696) + (xy 73.851 80.045868) + (xy 73.856724 80.01709) + (xy 73.873026 79.992694) + (xy 74.498694 79.367026) + (xy 74.52309 79.350724) + (xy 74.551868 79.345) + (xy 74.675495 79.345) + (xy 74.677952 79.345) + (xy 74.727619 79.338461) + (xy 74.836607 79.28764) + (xy 74.909825 79.214421) + (xy 74.943537 79.194957) + (xy 74.982463 79.194957) + (xy 75.016174 79.214421) + (xy 75.089393 79.28764) + (xy 75.158475 79.319853) + (xy 75.193167 79.33603) + (xy 75.193168 79.33603) + (xy 75.198381 79.338461) + (xy 75.248048 79.345) + (xy 75.625495 79.345) + (xy 75.627952 79.345) + (xy 75.677619 79.338461) + (xy 75.786607 79.28764) + (xy 75.859825 79.214421) + (xy 75.893537 79.194957) + (xy 75.932463 79.194957) + (xy 75.966174 79.214421) + (xy 76.039393 79.28764) + (xy 76.108475 79.319853) + (xy 76.143167 79.33603) + (xy 76.143168 79.33603) + (xy 76.148381 79.338461) + (xy 76.198048 79.345) + (xy 76.324132 79.345) + (xy 76.35291 79.350724) + (xy 76.377306 79.367026) + (xy 77.002974 79.992694) + (xy 77.019276 80.01709) + (xy 77.025 80.045868) + (xy 77.025 80.175696) + (xy 77.011774 80.21829) + (xy 76.976749 80.245901) + (xy 76.932245 80.248818) + (xy 76.893916 80.226015) + (xy 76.875243 80.185512) + (xy 76.874483 80.179742) + (xy 76.872461 80.164381) + (xy 76.86389 80.146001) + (xy 76.84728 80.11038) + (xy 76.82164 80.055393) + (xy 76.736607 79.97036) + (xy 76.722431 79.963749) + (xy 76.632832 79.921969) + (xy 76.632827 79.921967) + (xy 76.627619 79.919539) + (xy 76.621917 79.918788) + (xy 76.621916 79.918788) + (xy 76.580385 79.91332) + (xy 76.58038 79.913319) + (xy 76.577952 79.913) + (xy 76.198048 79.913) + (xy 76.19562 79.913319) + (xy 76.195614 79.91332) + (xy 76.154083 79.918788) + (xy 76.154081 79.918788) + (xy 76.148381 79.919539) + (xy 76.143174 79.921966) + (xy 76.143167 79.921969) + (xy 76.045354 79.96758) + (xy 76.045352 79.967581) + (xy 76.039393 79.97036) + (xy 76.034743 79.97501) + (xy 75.96582 80.043933) + (xy 75.932109 80.063396) + (xy 75.893183 80.063396) + (xy 75.859472 80.043932) + (xy 75.790971 79.975431) + (xy 75.780349 79.967993) + (xy 75.682701 79.922459) + (xy 75.671784 79.919277) + (xy 75.630336 79.91382) + (xy 75.625443 79.9135) + (xy 75.574902 79.9135) + (xy 75.567092 79.915592) + (xy 75.565 79.923402) + (xy 75.565 81.609597) + (xy 75.567092 81.617406) + (xy 75.574902 81.619499) + (xy 75.625441 81.619499) + (xy 75.630336 81.619178) + (xy 75.671779 81.613723) + (xy 75.682705 81.610538) + (xy 75.780349 81.565006) + (xy 75.790968 81.55757) + (xy 75.859471 81.489067) + (xy 75.893182 81.469603) + (xy 75.932109 81.469603) + (xy 75.965819 81.489066) + (xy 76.039393 81.56264) + (xy 76.040509 81.56316) + (xy 76.061504 81.587101) + (xy 76.07 81.621823) + (xy 76.07 81.877837) + (xy 76.065259 81.904117) + (xy 76.051632 81.927083) + (xy 75.97014 82.021128) + (xy 75.970136 82.021133) + (xy 75.966618 82.025194) + (xy 75.964385 82.030082) + (xy 75.964382 82.030088) + (xy 75.909626 82.149987) + (xy 75.909624 82.149993) + (xy 75.907392 82.154881) + (xy 75.906627 82.160195) + (xy 75.906626 82.160202) + (xy 75.889877 82.276699) + (xy 75.887102 82.296) + (xy 75.887867 82.301321) + (xy 75.887867 82.301324) + (xy 75.888178 82.303487) + (xy 75.885094 82.337936) + (xy 75.866917 82.367361) + (xy 75.860288 82.37399) + (xy 75.855454 82.378421) + (xy 75.830678 82.399211) + (xy 75.830673 82.399215) + (xy 75.82564 82.40344) + (xy 75.822355 82.409129) + (xy 75.822352 82.409133) + (xy 75.806189 82.437128) + (xy 75.802667 82.442655) + (xy 75.784122 82.469142) + (xy 75.784119 82.469147) + (xy 75.780348 82.474534) + (xy 75.778644 82.480888) + (xy 75.775867 82.486846) + (xy 75.77586 82.486842) + (xy 75.775099 82.488678) + (xy 75.775106 82.488681) + (xy 75.772854 82.494866) + (xy 75.769568 82.50056) + (xy 75.768426 82.507032) + (xy 75.768425 82.507037) + (xy 75.762813 82.538865) + (xy 75.761394 82.545266) + (xy 75.753025 82.576499) + (xy 75.753024 82.576507) + (xy 75.751323 82.582857) + (xy 75.751896 82.589408) + (xy 75.751896 82.58941) + (xy 75.754714 82.621616) + (xy 75.755 82.62817) + (xy 75.755 82.844177) + (xy 75.746504 82.878899) + (xy 75.725509 82.902839) + (xy 75.724393 82.90336) + (xy 75.719745 82.908007) + (xy 75.719742 82.90801) + (xy 75.644012 82.98374) + (xy 75.644009 82.983743) + (xy 75.63936 82.988393) + (xy 75.636581 82.994352) + (xy 75.63658 82.994354) + (xy 75.590969 83.092167) + (xy 75.590966 83.092174) + (xy 75.588539 83.097381) + (xy 75.587788 83.103081) + (xy 75.587788 83.103083) + (xy 75.5828 83.140972) + (xy 75.582 83.147048) + (xy 75.582 84.876952) + (xy 75.582319 84.87938) + (xy 75.58232 84.879385) + (xy 75.587195 84.916413) + (xy 75.588539 84.926619) + (xy 75.590967 84.931827) + (xy 75.590969 84.931832) + (xy 75.618008 84.989817) + (xy 75.63936 85.035607) + (xy 75.724393 85.12064) + (xy 75.790207 85.151329) + (xy 75.828167 85.16903) + (xy 75.828168 85.16903) + (xy 75.833381 85.171461) + (xy 75.883048 85.178) + (xy 76.260495 85.178) + (xy 76.262952 85.178) + (xy 76.312619 85.171461) + (xy 76.421607 85.12064) + (xy 76.50664 85.035607) + (xy 76.557461 84.926619) + (xy 76.564 84.876952) + (xy 76.564 83.147048) + (xy 76.557461 83.097381) + (xy 76.554572 83.091186) + (xy 76.536835 83.053148) + (xy 76.50664 82.988393) + (xy 76.433541 82.915294) + (xy 76.411856 82.869268) + (xy 76.424438 82.81997) + (xy 76.465527 82.789966) + (xy 76.596081 82.751633) + (xy 76.716018 82.674553) + (xy 76.80867 82.567627) + (xy 76.844312 82.544721) + (xy 76.886685 82.544721) + (xy 76.922331 82.567629) + (xy 77.006632 82.664917) + (xy 77.020259 82.687883) + (xy 77.025 82.714163) + (xy 77.025 82.844177) + (xy 77.016504 82.878899) + (xy 76.995509 82.902839) + (xy 76.994393 82.90336) + (xy 76.989745 82.908007) + (xy 76.989742 82.90801) + (xy 76.914012 82.98374) + (xy 76.914009 82.983743) + (xy 76.90936 82.988393) + (xy 76.906581 82.994352) + (xy 76.90658 82.994354) + (xy 76.860969 83.092167) + (xy 76.860966 83.092174) + (xy 76.858539 83.097381) + (xy 76.857788 83.103081) + (xy 76.857788 83.103083) + (xy 76.8528 83.140972) + (xy 76.852 83.147048) + (xy 76.852 84.876952) + (xy 76.852319 84.87938) + (xy 76.85232 84.879385) + (xy 76.857195 84.916413) + (xy 76.858539 84.926619) + (xy 76.860967 84.931827) + (xy 76.860969 84.931832) + (xy 76.888008 84.989817) + (xy 76.90936 85.035607) + (xy 76.994393 85.12064) + (xy 77.060207 85.151329) + (xy 77.098167 85.16903) + (xy 77.098168 85.16903) + (xy 77.103381 85.171461) + (xy 77.153048 85.178) + (xy 77.530495 85.178) + (xy 77.532952 85.178) + (xy 77.582619 85.171461) + (xy 77.691607 85.12064) + (xy 77.77664 85.035607) + (xy 77.827461 84.926619) + (xy 77.834 84.876952) + (xy 77.834 83.147048) + (xy 77.827461 83.097381) + (xy 77.824572 83.091186) + (xy 77.806835 83.053148) + (xy 77.77664 82.988393) + (xy 77.691607 82.90336) + (xy 77.69049 82.902839) + (xy 77.669496 82.878899) + (xy 77.661 82.844177) + (xy 77.661 82.714163) + (xy 77.665741 82.687883) + (xy 77.679368 82.664917) + (xy 77.714056 82.624885) + (xy 77.764382 82.566806) + (xy 77.823608 82.437119) + (xy 77.843898 82.296) + (xy 77.840142 82.26988) + (xy 77.824373 82.160202) + (xy 77.823608 82.154881) + (xy 77.805078 82.114307) + (xy 77.766617 82.030088) + (xy 77.764382 82.025194) + (xy 77.749652 82.008195) + (xy 77.679368 81.927083) + (xy 77.665741 81.904117) + (xy 77.661 81.877837) + (xy 77.661 80.793338) + (xy 78.112 80.793338) + (xy 78.112001 80.795782) + (xy 78.11232 80.798207) + (xy 78.112321 80.798218) + (xy 78.117595 80.838283) + (xy 78.117596 80.838286) + (xy 78.118347 80.843991) + (xy 78.120779 80.849206) + (xy 78.12078 80.849209) + (xy 78.164895 80.943815) + (xy 78.164896 80.943817) + (xy 78.167678 80.949782) + (xy 78.250218 81.032322) + (xy 78.256184 81.035104) + (xy 78.261571 81.038876) + (xy 78.260339 81.040634) + (xy 78.283228 81.060715) + (xy 78.295 81.101112) + (xy 78.295 82.844177) + (xy 78.286504 82.878899) + (xy 78.265509 82.902839) + (xy 78.264393 82.90336) + (xy 78.259745 82.908007) + (xy 78.259742 82.90801) + (xy 78.184012 82.98374) + (xy 78.184009 82.983743) + (xy 78.17936 82.988393) + (xy 78.176581 82.994352) + (xy 78.17658 82.994354) + (xy 78.130969 83.092167) + (xy 78.130966 83.092174) + (xy 78.128539 83.097381) + (xy 78.127788 83.103081) + (xy 78.127788 83.103083) + (xy 78.1228 83.140972) + (xy 78.122 83.147048) + (xy 78.122 84.876952) + (xy 78.122319 84.87938) + (xy 78.12232 84.879385) + (xy 78.127195 84.916413) + (xy 78.128539 84.926619) + (xy 78.130967 84.931827) + (xy 78.130969 84.931832) + (xy 78.158008 84.989817) + (xy 78.17936 85.035607) + (xy 78.264393 85.12064) + (xy 78.330207 85.151329) + (xy 78.368167 85.16903) + (xy 78.368168 85.16903) + (xy 78.373381 85.171461) + (xy 78.423048 85.178) + (xy 78.800495 85.178) + (xy 78.802952 85.178) + (xy 78.852619 85.171461) + (xy 78.961607 85.12064) + (xy 79.04664 85.035607) + (xy 79.097461 84.926619) + (xy 79.104 84.876952) + (xy 79.104 83.147048) + (xy 79.097461 83.097381) + (xy 79.094572 83.091186) + (xy 79.076835 83.053148) + (xy 79.04664 82.988393) + (xy 78.961607 82.90336) + (xy 78.96049 82.902839) + (xy 78.939496 82.878899) + (xy 78.931 82.844177) + (xy 78.931 81.940746) + (xy 81.6715 81.940746) + (xy 81.671962 81.946618) + (xy 81.685984 82.035151) + (xy 81.689597 82.046271) + (xy 81.743976 82.152994) + (xy 81.750851 82.162456) + (xy 81.835543 82.247148) + (xy 81.845005 82.254023) + (xy 81.951728 82.308402) + (xy 81.962848 82.312015) + (xy 82.051381 82.326037) + (xy 82.057254 82.3265) + (xy 82.175098 82.3265) + (xy 82.182907 82.324407) + (xy 82.185 82.316598) + (xy 82.439 82.316598) + (xy 82.441092 82.324407) + (xy 82.448902 82.3265) + (xy 82.566746 82.3265) + (xy 82.572618 82.326037) + (xy 82.661151 82.312015) + (xy 82.672271 82.308402) + (xy 82.778994 82.254023) + (xy 82.788456 82.247148) + (xy 82.873148 82.162456) + (xy 82.880023 82.152994) + (xy 82.934402 82.046271) + (xy 82.938015 82.035151) + (xy 82.952037 81.946618) + (xy 82.952496 81.940793) + (xy 83.221 81.940793) + (xy 83.221001 81.943736) + (xy 83.221462 81.94665) + (xy 83.221463 81.946656) + (xy 83.234902 82.031514) + (xy 83.236429 82.041153) + (xy 83.239114 82.046423) + (xy 83.239115 82.046425) + (xy 83.292752 82.151694) + (xy 83.296254 82.158566) + (xy 83.389434 82.251746) + (xy 83.506847 82.311571) + (xy 83.512692 82.312496) + (xy 83.512693 82.312497) + (xy 83.517056 82.313188) + (xy 83.604263 82.327) + (xy 84.119736 82.326999) + (xy 84.217153 82.311571) + (xy 84.334566 82.251746) + (xy 84.427746 82.158566) + (xy 84.432004 82.150208) + (xy 84.457154 82.121871) + (xy 84.49293 82.109392) + (xy 84.528315 82.115602) + (xy 84.529919 82.116633) + (xy 84.666715 82.1568) + (xy 84.803904 82.1568) + (xy 84.809285 82.1568) + (xy 84.946081 82.116633) + (xy 85.066018 82.039553) + (xy 85.159382 81.931806) + (xy 85.218608 81.802119) + (xy 85.238898 81.661) + (xy 85.237821 81.653513) + (xy 85.240902 81.619066) + (xy 85.259079 81.589639) + (xy 85.839724 81.008994) + (xy 85.844537 81.004583) + (xy 85.87436 80.97956) + (xy 85.89382 80.945853) + (xy 85.897319 80.94036) + (xy 85.919652 80.908466) + (xy 85.921354 80.90211) + (xy 85.924136 80.896147) + (xy 85.924145 80.896151) + (xy 85.924901 80.894324) + (xy 85.924891 80.894321) + (xy 85.92714 80.88814) + (xy 85.930432 80.88244) + (xy 85.937187 80.844121) + (xy 85.938605 80.837728) + (xy 85.948677 80.800143) + (xy 85.945285 80.761383) + (xy 85.945 80.75483) + (xy 85.945 79.918869) + (xy 85.950724 79.890091) + (xy 85.967025 79.865695) + (xy 86.027364 79.805356) + (xy 86.22073 79.611988) + (xy 86.225543 79.607578) + (xy 86.25536 79.58256) + (xy 86.274818 79.548856) + (xy 86.278333 79.543338) + (xy 86.300651 79.511466) + (xy 86.302354 79.505107) + (xy 86.305134 79.499147) + (xy 86.305144 79.499151) + (xy 86.305901 79.497324) + (xy 86.305891 79.497321) + (xy 86.30814 79.49114) + (xy 86.311432 79.48544) + (xy 86.318189 79.447112) + (xy 86.319605 79.440724) + (xy 86.329677 79.403143) + (xy 86.326285 79.364383) + (xy 86.326 79.35783) + (xy 86.326 78.775869) + (xy 86.331724 78.747091) + (xy 86.348025 78.722695) + (xy 86.410694 78.660026) + (xy 86.728724 78.341993) + (xy 86.733537 78.337583) + (xy 86.76336 78.31256) + (xy 86.782813 78.278865) + (xy 86.78634 78.273328) + (xy 86.808651 78.241466) + (xy 86.810354 78.235109) + (xy 86.813134 78.229148) + (xy 86.813144 78.229152) + (xy 86.813901 78.227324) + (xy 86.813891 78.227321) + (xy 86.81614 78.22114) + (xy 86.819432 78.21544) + (xy 86.826189 78.177112) + (xy 86.827605 78.170724) + (xy 86.837677 78.133143) + (xy 86.834285 78.094383) + (xy 86.834 78.08783) + (xy 86.834 75.377) + (xy 92.768389 75.377) + (xy 92.768751 75.380676) + (xy 92.786099 75.556821) + (xy 92.786789 75.563821) + (xy 92.787859 75.56735) + (xy 92.78786 75.567352) + (xy 92.801191 75.611298) + (xy 92.841283 75.743462) + (xy 92.843019 75.746711) + (xy 92.843023 75.746719) + (xy 92.922992 75.896328) + (xy 92.929776 75.90902) + (xy 92.974406 75.963402) + (xy 93.03891 76.042001) + (xy 93.048867 76.054133) + (xy 93.19398 76.173224) + (xy 93.263595 76.210434) + (xy 93.35628 76.259976) + (xy 93.356283 76.259977) + (xy 93.359538 76.261717) + (xy 93.539179 76.316211) + (xy 93.726 76.334611) + (xy 93.912821 76.316211) + (xy 94.092462 76.261717) + (xy 94.25802 76.173224) + (xy 94.403133 76.054133) + (xy 94.522224 75.90902) + (xy 94.610717 75.743462) + (xy 94.665211 75.563821) + (xy 94.683611 75.377) + (xy 95.268389 75.377) + (xy 95.268751 75.380676) + (xy 95.286099 75.556821) + (xy 95.286789 75.563821) + (xy 95.287859 75.56735) + (xy 95.28786 75.567352) + (xy 95.301191 75.611298) + (xy 95.341283 75.743462) + (xy 95.343019 75.746711) + (xy 95.343023 75.746719) + (xy 95.422992 75.896328) + (xy 95.429776 75.90902) + (xy 95.474406 75.963402) + (xy 95.53891 76.042001) + (xy 95.548867 76.054133) + (xy 95.69398 76.173224) + (xy 95.763595 76.210434) + (xy 95.85628 76.259976) + (xy 95.856283 76.259977) + (xy 95.859538 76.261717) + (xy 96.039179 76.316211) + (xy 96.226 76.334611) + (xy 96.412821 76.316211) + (xy 96.592462 76.261717) + (xy 96.75802 76.173224) + (xy 96.903133 76.054133) + (xy 97.022224 75.90902) + (xy 97.110717 75.743462) + (xy 97.165211 75.563821) + (xy 97.183611 75.377) + (xy 97.182922 75.37) + (xy 97.848389 75.37) + (xy 97.848751 75.373676) + (xy 97.866026 75.549081) + (xy 97.866789 75.556821) + (xy 97.867859 75.56035) + (xy 97.86786 75.560352) + (xy 97.877115 75.59086) + (xy 97.921283 75.736462) + (xy 97.923019 75.739711) + (xy 97.923023 75.739719) + (xy 97.996509 75.8772) + (xy 98.009776 75.90202) + (xy 98.052404 75.953962) + (xy 98.125157 76.042613) + (xy 98.128867 76.047133) + (xy 98.27398 76.166224) + (xy 98.356691 76.210434) + (xy 98.43628 76.252976) + (xy 98.436283 76.252977) + (xy 98.439538 76.254717) + (xy 98.619179 76.309211) + (xy 98.806 76.327611) + (xy 98.992821 76.309211) + (xy 99.172462 76.254717) + (xy 99.33802 76.166224) + (xy 99.483133 76.047133) + (xy 99.602224 75.90202) + (xy 99.690717 75.736462) + (xy 99.745211 75.556821) + (xy 99.763611 75.37) + (xy 100.348389 75.37) + (xy 100.348751 75.373676) + (xy 100.366026 75.549081) + (xy 100.366789 75.556821) + (xy 100.367859 75.56035) + (xy 100.36786 75.560352) + (xy 100.377115 75.59086) + (xy 100.421283 75.736462) + (xy 100.423019 75.739711) + (xy 100.423023 75.739719) + (xy 100.496509 75.8772) + (xy 100.509776 75.90202) + (xy 100.552404 75.953962) + (xy 100.625157 76.042613) + (xy 100.628867 76.047133) + (xy 100.77398 76.166224) + (xy 100.856691 76.210434) + (xy 100.93628 76.252976) + (xy 100.936283 76.252977) + (xy 100.939538 76.254717) + (xy 101.119179 76.309211) + (xy 101.306 76.327611) + (xy 101.492821 76.309211) + (xy 101.672462 76.254717) + (xy 101.83802 76.166224) + (xy 101.983133 76.047133) + (xy 102.102224 75.90202) + (xy 102.190717 75.736462) + (xy 102.245211 75.556821) + (xy 102.263611 75.37) + (xy 102.245211 75.183179) + (xy 102.190717 75.003538) + (xy 102.182655 74.988456) + (xy 102.129082 74.888227) + (xy 102.102224 74.83798) + (xy 101.983133 74.692867) + (xy 101.980057 74.690343) + (xy 101.884596 74.612) + (xy 101.83802 74.573776) + (xy 101.800498 74.55372) + (xy 101.675719 74.487023) + (xy 101.675711 74.487019) + (xy 101.672462 74.485283) + (xy 101.569815 74.454145) + (xy 101.496352 74.43186) + (xy 101.49635 74.431859) + (xy 101.492821 74.430789) + (xy 101.48915 74.430427) + (xy 101.489148 74.430427) + (xy 101.309676 74.412751) + (xy 101.306 74.412389) + (xy 101.302324 74.412751) + (xy 101.122851 74.430427) + (xy 101.122847 74.430427) + (xy 101.119179 74.430789) + (xy 101.115651 74.431859) + (xy 101.115647 74.43186) + (xy 100.943068 74.484212) + (xy 100.943066 74.484212) + (xy 100.939538 74.485283) + (xy 100.936292 74.487018) + (xy 100.93628 74.487023) + (xy 100.777238 74.572034) + (xy 100.777233 74.572036) + (xy 100.77398 74.573776) + (xy 100.771127 74.576117) + (xy 100.771123 74.57612) + (xy 100.631722 74.690523) + (xy 100.631716 74.690528) + (xy 100.628867 74.692867) + (xy 100.626528 74.695716) + (xy 100.626523 74.695722) + (xy 100.51212 74.835123) + (xy 100.512117 74.835127) + (xy 100.509776 74.83798) + (xy 100.508036 74.841233) + (xy 100.508034 74.841238) + (xy 100.423023 75.00028) + (xy 100.423018 75.000292) + (xy 100.421283 75.003538) + (xy 100.420212 75.007066) + (xy 100.420212 75.007068) + (xy 100.386375 75.118614) + (xy 100.366789 75.183179) + (xy 100.366427 75.186847) + (xy 100.366427 75.186851) + (xy 100.356178 75.290916) + (xy 100.348389 75.37) + (xy 99.763611 75.37) + (xy 99.745211 75.183179) + (xy 99.690717 75.003538) + (xy 99.682655 74.988456) + (xy 99.629082 74.888227) + (xy 99.602224 74.83798) + (xy 99.483133 74.692867) + (xy 99.480057 74.690343) + (xy 99.384596 74.612) + (xy 99.33802 74.573776) + (xy 99.300498 74.55372) + (xy 99.175719 74.487023) + (xy 99.175711 74.487019) + (xy 99.172462 74.485283) + (xy 99.069815 74.454145) + (xy 98.996352 74.43186) + (xy 98.99635 74.431859) + (xy 98.992821 74.430789) + (xy 98.98915 74.430427) + (xy 98.989148 74.430427) + (xy 98.809676 74.412751) + (xy 98.806 74.412389) + (xy 98.802324 74.412751) + (xy 98.622851 74.430427) + (xy 98.622847 74.430427) + (xy 98.619179 74.430789) + (xy 98.615651 74.431859) + (xy 98.615647 74.43186) + (xy 98.443068 74.484212) + (xy 98.443066 74.484212) + (xy 98.439538 74.485283) + (xy 98.436292 74.487018) + (xy 98.43628 74.487023) + (xy 98.277238 74.572034) + (xy 98.277233 74.572036) + (xy 98.27398 74.573776) + (xy 98.271127 74.576117) + (xy 98.271123 74.57612) + (xy 98.131722 74.690523) + (xy 98.131716 74.690528) + (xy 98.128867 74.692867) + (xy 98.126528 74.695716) + (xy 98.126523 74.695722) + (xy 98.01212 74.835123) + (xy 98.012117 74.835127) + (xy 98.009776 74.83798) + (xy 98.008036 74.841233) + (xy 98.008034 74.841238) + (xy 97.923023 75.00028) + (xy 97.923018 75.000292) + (xy 97.921283 75.003538) + (xy 97.920212 75.007066) + (xy 97.920212 75.007068) + (xy 97.886375 75.118614) + (xy 97.866789 75.183179) + (xy 97.866427 75.186847) + (xy 97.866427 75.186851) + (xy 97.856178 75.290916) + (xy 97.848389 75.37) + (xy 97.182922 75.37) + (xy 97.165211 75.190179) + (xy 97.110717 75.010538) + (xy 97.108862 75.007068) + (xy 97.056841 74.909744) + (xy 97.022224 74.84498) + (xy 96.903133 74.699867) + (xy 96.896828 74.694693) + (xy 96.80177 74.616681) + (xy 96.75802 74.580776) + (xy 96.741205 74.571788) + (xy 96.595719 74.494023) + (xy 96.595711 74.494019) + (xy 96.592462 74.492283) + (xy 96.502641 74.465035) + (xy 96.416352 74.43886) + (xy 96.41635 74.438859) + (xy 96.412821 74.437789) + (xy 96.40915 74.437427) + (xy 96.409148 74.437427) + (xy 96.229676 74.419751) + (xy 96.226 74.419389) + (xy 96.222324 74.419751) + (xy 96.042851 74.437427) + (xy 96.042847 74.437427) + (xy 96.039179 74.437789) + (xy 96.035651 74.438859) + (xy 96.035647 74.43886) + (xy 95.863068 74.491212) + (xy 95.863066 74.491212) + (xy 95.859538 74.492283) + (xy 95.856292 74.494018) + (xy 95.85628 74.494023) + (xy 95.697238 74.579034) + (xy 95.697233 74.579036) + (xy 95.69398 74.580776) + (xy 95.691127 74.583117) + (xy 95.691123 74.58312) + (xy 95.551722 74.697523) + (xy 95.551716 74.697528) + (xy 95.548867 74.699867) + (xy 95.546528 74.702716) + (xy 95.546523 74.702722) + (xy 95.43212 74.842123) + (xy 95.432117 74.842127) + (xy 95.429776 74.84498) + (xy 95.428036 74.848233) + (xy 95.428034 74.848238) + (xy 95.343023 75.00728) + (xy 95.343018 75.007292) + (xy 95.341283 75.010538) + (xy 95.340212 75.014066) + (xy 95.340212 75.014068) + (xy 95.289984 75.179647) + (xy 95.286789 75.190179) + (xy 95.286427 75.193847) + (xy 95.286427 75.193851) + (xy 95.272934 75.330854) + (xy 95.268389 75.377) + (xy 94.683611 75.377) + (xy 94.665211 75.190179) + (xy 94.610717 75.010538) + (xy 94.608862 75.007068) + (xy 94.556841 74.909744) + (xy 94.522224 74.84498) + (xy 94.403133 74.699867) + (xy 94.396828 74.694693) + (xy 94.30177 74.616681) + (xy 94.25802 74.580776) + (xy 94.241205 74.571788) + (xy 94.095719 74.494023) + (xy 94.095711 74.494019) + (xy 94.092462 74.492283) + (xy 94.002641 74.465035) + (xy 93.916352 74.43886) + (xy 93.91635 74.438859) + (xy 93.912821 74.437789) + (xy 93.90915 74.437427) + (xy 93.909148 74.437427) + (xy 93.729676 74.419751) + (xy 93.726 74.419389) + (xy 93.722324 74.419751) + (xy 93.542851 74.437427) + (xy 93.542847 74.437427) + (xy 93.539179 74.437789) + (xy 93.535651 74.438859) + (xy 93.535647 74.43886) + (xy 93.363068 74.491212) + (xy 93.363066 74.491212) + (xy 93.359538 74.492283) + (xy 93.356292 74.494018) + (xy 93.35628 74.494023) + (xy 93.197238 74.579034) + (xy 93.197233 74.579036) + (xy 93.19398 74.580776) + (xy 93.191127 74.583117) + (xy 93.191123 74.58312) + (xy 93.051722 74.697523) + (xy 93.051716 74.697528) + (xy 93.048867 74.699867) + (xy 93.046528 74.702716) + (xy 93.046523 74.702722) + (xy 92.93212 74.842123) + (xy 92.932117 74.842127) + (xy 92.929776 74.84498) + (xy 92.928036 74.848233) + (xy 92.928034 74.848238) + (xy 92.843023 75.00728) + (xy 92.843018 75.007292) + (xy 92.841283 75.010538) + (xy 92.840212 75.014066) + (xy 92.840212 75.014068) + (xy 92.789984 75.179647) + (xy 92.786789 75.190179) + (xy 92.786427 75.193847) + (xy 92.786427 75.193851) + (xy 92.772934 75.330854) + (xy 92.768389 75.377) + (xy 86.834 75.377) + (xy 86.834 73.67717) + (xy 86.834286 73.670616) + (xy 86.835698 73.654473) + (xy 86.837677 73.631857) + (xy 86.827606 73.594275) + (xy 86.826187 73.587875) + (xy 86.820651 73.556476) + (xy 86.819432 73.54956) + (xy 86.816142 73.543861) + (xy 86.813893 73.537682) + (xy 86.813902 73.537678) + (xy 86.813144 73.535848) + (xy 86.813136 73.535852) + (xy 86.810353 73.529886) + (xy 86.808652 73.523534) + (xy 86.786332 73.491658) + (xy 86.782809 73.486127) + (xy 86.766651 73.45814) + (xy 86.76665 73.458139) + (xy 86.76336 73.45244) + (xy 86.733551 73.427427) + (xy 86.728715 73.422995) + (xy 86.18272 72.877) + (xy 92.768389 72.877) + (xy 92.768751 72.880676) + (xy 92.786099 73.056821) + (xy 92.786789 73.063821) + (xy 92.787859 73.06735) + (xy 92.78786 73.067352) + (xy 92.810321 73.141394) + (xy 92.841283 73.243462) + (xy 92.843019 73.246711) + (xy 92.843023 73.246719) + (xy 92.924292 73.398761) + (xy 92.929776 73.40902) + (xy 93.048867 73.554133) + (xy 93.19398 73.673224) + (xy 93.260575 73.70882) + (xy 93.35628 73.759976) + (xy 93.356283 73.759977) + (xy 93.359538 73.761717) + (xy 93.539179 73.816211) + (xy 93.726 73.834611) + (xy 93.912821 73.816211) + (xy 94.092462 73.761717) + (xy 94.25802 73.673224) + (xy 94.403133 73.554133) + (xy 94.522224 73.40902) + (xy 94.610717 73.243462) + (xy 94.665211 73.063821) + (xy 94.683611 72.877) + (xy 95.268389 72.877) + (xy 95.268751 72.880676) + (xy 95.286099 73.056821) + (xy 95.286789 73.063821) + (xy 95.287859 73.06735) + (xy 95.28786 73.067352) + (xy 95.310321 73.141394) + (xy 95.341283 73.243462) + (xy 95.343019 73.246711) + (xy 95.343023 73.246719) + (xy 95.424292 73.398761) + (xy 95.429776 73.40902) + (xy 95.548867 73.554133) + (xy 95.69398 73.673224) + (xy 95.760575 73.70882) + (xy 95.85628 73.759976) + (xy 95.856283 73.759977) + (xy 95.859538 73.761717) + (xy 96.039179 73.816211) + (xy 96.226 73.834611) + (xy 96.412821 73.816211) + (xy 96.592462 73.761717) + (xy 96.75802 73.673224) + (xy 96.903133 73.554133) + (xy 97.022224 73.40902) + (xy 97.110717 73.243462) + (xy 97.165211 73.063821) + (xy 97.183611 72.877) + (xy 97.182922 72.87) + (xy 97.848389 72.87) + (xy 97.848751 72.873676) + (xy 97.865593 73.044683) + (xy 97.866789 73.056821) + (xy 97.867859 73.06035) + (xy 97.86786 73.060352) + (xy 97.885078 73.117111) + (xy 97.921283 73.236462) + (xy 97.923019 73.239711) + (xy 97.923023 73.239719) + (xy 97.953346 73.296448) + (xy 98.009776 73.40202) + (xy 98.051155 73.45244) + (xy 98.113395 73.528281) + (xy 98.128867 73.547133) + (xy 98.27398 73.666224) + (xy 98.342207 73.702692) + (xy 98.43628 73.752976) + (xy 98.436283 73.752977) + (xy 98.439538 73.754717) + (xy 98.619179 73.809211) + (xy 98.806 73.827611) + (xy 98.992821 73.809211) + (xy 99.172462 73.754717) + (xy 99.33802 73.666224) + (xy 99.483133 73.547133) + (xy 99.602224 73.40202) + (xy 99.690717 73.236462) + (xy 99.745211 73.056821) + (xy 99.763611 72.87) + (xy 100.348389 72.87) + (xy 100.348751 72.873676) + (xy 100.365593 73.044683) + (xy 100.366789 73.056821) + (xy 100.367859 73.06035) + (xy 100.36786 73.060352) + (xy 100.385078 73.117111) + (xy 100.421283 73.236462) + (xy 100.423019 73.239711) + (xy 100.423023 73.239719) + (xy 100.453346 73.296448) + (xy 100.509776 73.40202) + (xy 100.551155 73.45244) + (xy 100.613395 73.528281) + (xy 100.628867 73.547133) + (xy 100.77398 73.666224) + (xy 100.842207 73.702692) + (xy 100.93628 73.752976) + (xy 100.936283 73.752977) + (xy 100.939538 73.754717) + (xy 101.119179 73.809211) + (xy 101.306 73.827611) + (xy 101.492821 73.809211) + (xy 101.672462 73.754717) + (xy 101.83802 73.666224) + (xy 101.983133 73.547133) + (xy 102.102224 73.40202) + (xy 102.190717 73.236462) + (xy 102.245211 73.056821) + (xy 102.263611 72.87) + (xy 102.245211 72.683179) + (xy 102.190717 72.503538) + (xy 102.188272 72.498964) + (xy 102.133464 72.396425) + (xy 102.102224 72.33798) + (xy 101.983133 72.192867) + (xy 101.83802 72.073776) + (xy 101.793116 72.049774) + (xy 101.675719 71.987023) + (xy 101.675711 71.987019) + (xy 101.672462 71.985283) + (xy 101.549861 71.948092) + (xy 101.496352 71.93186) + (xy 101.49635 71.931859) + (xy 101.492821 71.930789) + (xy 101.48915 71.930427) + (xy 101.489148 71.930427) + (xy 101.309676 71.912751) + (xy 101.306 71.912389) + (xy 101.302324 71.912751) + (xy 101.122851 71.930427) + (xy 101.122847 71.930427) + (xy 101.119179 71.930789) + (xy 101.115651 71.931859) + (xy 101.115647 71.93186) + (xy 100.943068 71.984212) + (xy 100.943066 71.984212) + (xy 100.939538 71.985283) + (xy 100.936292 71.987018) + (xy 100.93628 71.987023) + (xy 100.777238 72.072034) + (xy 100.777233 72.072036) + (xy 100.77398 72.073776) + (xy 100.771127 72.076117) + (xy 100.771123 72.07612) + (xy 100.631722 72.190523) + (xy 100.631716 72.190528) + (xy 100.628867 72.192867) + (xy 100.626528 72.195716) + (xy 100.626523 72.195722) + (xy 100.51212 72.335123) + (xy 100.512117 72.335127) + (xy 100.509776 72.33798) + (xy 100.508036 72.341233) + (xy 100.508034 72.341238) + (xy 100.423023 72.50028) + (xy 100.423018 72.500292) + (xy 100.421283 72.503538) + (xy 100.420212 72.507066) + (xy 100.420212 72.507068) + (xy 100.41916 72.510538) + (xy 100.366789 72.683179) + (xy 100.366427 72.686847) + (xy 100.366427 72.686851) + (xy 100.350819 72.845327) + (xy 100.348389 72.87) + (xy 99.763611 72.87) + (xy 99.745211 72.683179) + (xy 99.690717 72.503538) + (xy 99.688272 72.498964) + (xy 99.633464 72.396425) + (xy 99.602224 72.33798) + (xy 99.483133 72.192867) + (xy 99.33802 72.073776) + (xy 99.293116 72.049774) + (xy 99.175719 71.987023) + (xy 99.175711 71.987019) + (xy 99.172462 71.985283) + (xy 99.049861 71.948092) + (xy 98.996352 71.93186) + (xy 98.99635 71.931859) + (xy 98.992821 71.930789) + (xy 98.98915 71.930427) + (xy 98.989148 71.930427) + (xy 98.809676 71.912751) + (xy 98.806 71.912389) + (xy 98.802324 71.912751) + (xy 98.622851 71.930427) + (xy 98.622847 71.930427) + (xy 98.619179 71.930789) + (xy 98.615651 71.931859) + (xy 98.615647 71.93186) + (xy 98.443068 71.984212) + (xy 98.443066 71.984212) + (xy 98.439538 71.985283) + (xy 98.436292 71.987018) + (xy 98.43628 71.987023) + (xy 98.277238 72.072034) + (xy 98.277233 72.072036) + (xy 98.27398 72.073776) + (xy 98.271127 72.076117) + (xy 98.271123 72.07612) + (xy 98.131722 72.190523) + (xy 98.131716 72.190528) + (xy 98.128867 72.192867) + (xy 98.126528 72.195716) + (xy 98.126523 72.195722) + (xy 98.01212 72.335123) + (xy 98.012117 72.335127) + (xy 98.009776 72.33798) + (xy 98.008036 72.341233) + (xy 98.008034 72.341238) + (xy 97.923023 72.50028) + (xy 97.923018 72.500292) + (xy 97.921283 72.503538) + (xy 97.920212 72.507066) + (xy 97.920212 72.507068) + (xy 97.91916 72.510538) + (xy 97.866789 72.683179) + (xy 97.866427 72.686847) + (xy 97.866427 72.686851) + (xy 97.850819 72.845327) + (xy 97.848389 72.87) + (xy 97.182922 72.87) + (xy 97.165211 72.690179) + (xy 97.110717 72.510538) + (xy 97.108862 72.507068) + (xy 97.065059 72.425119) + (xy 97.022224 72.34498) + (xy 96.903133 72.199867) + (xy 96.894603 72.192867) + (xy 96.760876 72.08312) + (xy 96.75802 72.080776) + (xy 96.741665 72.072034) + (xy 96.595719 71.994023) + (xy 96.595711 71.994019) + (xy 96.592462 71.992283) + (xy 96.412821 71.937789) + (xy 96.40915 71.937427) + (xy 96.409148 71.937427) + (xy 96.229676 71.919751) + (xy 96.226 71.919389) + (xy 96.222324 71.919751) + (xy 96.042851 71.937427) + (xy 96.042847 71.937427) + (xy 96.039179 71.937789) + (xy 96.035651 71.938859) + (xy 96.035647 71.93886) + (xy 95.863068 71.991212) + (xy 95.863066 71.991212) + (xy 95.859538 71.992283) + (xy 95.856292 71.994018) + (xy 95.85628 71.994023) + (xy 95.697238 72.079034) + (xy 95.697233 72.079036) + (xy 95.69398 72.080776) + (xy 95.691127 72.083117) + (xy 95.691123 72.08312) + (xy 95.551722 72.197523) + (xy 95.551716 72.197528) + (xy 95.548867 72.199867) + (xy 95.546528 72.202716) + (xy 95.546523 72.202722) + (xy 95.43212 72.342123) + (xy 95.432117 72.342127) + (xy 95.429776 72.34498) + (xy 95.428036 72.348233) + (xy 95.428034 72.348238) + (xy 95.343023 72.50728) + (xy 95.343018 72.507292) + (xy 95.341283 72.510538) + (xy 95.340212 72.514066) + (xy 95.340212 72.514068) + (xy 95.289984 72.679647) + (xy 95.286789 72.690179) + (xy 95.286427 72.693847) + (xy 95.286427 72.693851) + (xy 95.270937 72.851128) + (xy 95.268389 72.877) + (xy 94.683611 72.877) + (xy 94.665211 72.690179) + (xy 94.610717 72.510538) + (xy 94.608862 72.507068) + (xy 94.565059 72.425119) + (xy 94.522224 72.34498) + (xy 94.403133 72.199867) + (xy 94.394603 72.192867) + (xy 94.260876 72.08312) + (xy 94.25802 72.080776) + (xy 94.241665 72.072034) + (xy 94.095719 71.994023) + (xy 94.095711 71.994019) + (xy 94.092462 71.992283) + (xy 93.912821 71.937789) + (xy 93.90915 71.937427) + (xy 93.909148 71.937427) + (xy 93.729676 71.919751) + (xy 93.726 71.919389) + (xy 93.722324 71.919751) + (xy 93.542851 71.937427) + (xy 93.542847 71.937427) + (xy 93.539179 71.937789) + (xy 93.535651 71.938859) + (xy 93.535647 71.93886) + (xy 93.363068 71.991212) + (xy 93.363066 71.991212) + (xy 93.359538 71.992283) + (xy 93.356292 71.994018) + (xy 93.35628 71.994023) + (xy 93.197238 72.079034) + (xy 93.197233 72.079036) + (xy 93.19398 72.080776) + (xy 93.191127 72.083117) + (xy 93.191123 72.08312) + (xy 93.051722 72.197523) + (xy 93.051716 72.197528) + (xy 93.048867 72.199867) + (xy 93.046528 72.202716) + (xy 93.046523 72.202722) + (xy 92.93212 72.342123) + (xy 92.932117 72.342127) + (xy 92.929776 72.34498) + (xy 92.928036 72.348233) + (xy 92.928034 72.348238) + (xy 92.843023 72.50728) + (xy 92.843018 72.507292) + (xy 92.841283 72.510538) + (xy 92.840212 72.514066) + (xy 92.840212 72.514068) + (xy 92.789984 72.679647) + (xy 92.786789 72.690179) + (xy 92.786427 72.693847) + (xy 92.786427 72.693851) + (xy 92.770937 72.851128) + (xy 92.768389 72.877) + (xy 86.18272 72.877) + (xy 85.807004 72.501284) + (xy 85.802572 72.496448) + (xy 85.781787 72.471678) + (xy 85.77756 72.46664) + (xy 85.771867 72.463353) + (xy 85.771861 72.463348) + (xy 85.743866 72.447185) + (xy 85.738335 72.443662) + (xy 85.719034 72.430148) + (xy 85.706466 72.421348) + (xy 85.700111 72.419644) + (xy 85.69415 72.416865) + (xy 85.694153 72.416857) + (xy 85.692321 72.416098) + (xy 85.692319 72.416107) + (xy 85.686136 72.413856) + (xy 85.68044 72.410568) + (xy 85.673963 72.409426) + (xy 85.673961 72.409425) + (xy 85.642133 72.403813) + (xy 85.635731 72.402394) + (xy 85.604498 72.394025) + (xy 85.604493 72.394024) + (xy 85.598143 72.392323) + (xy 85.591591 72.392896) + (xy 85.591589 72.392896) + (xy 85.559384 72.395714) + (xy 85.55283 72.396) + (xy 84.611472 72.396) + (xy 84.576023 72.387121) + (xy 84.548946 72.362579) + (xy 84.528817 72.332454) + (xy 84.524703 72.326297) + (xy 84.518545 72.322182) + (xy 84.467683 72.288196) + (xy 84.46768 72.288194) + (xy 84.461525 72.284082) + (xy 84.454261 72.282637) + (xy 84.42759 72.277332) + (xy 84.405812 72.273) + (xy 83.568188 72.273) + (xy 83.564563 72.27372) + (xy 83.564563 72.273721) + (xy 83.519738 72.282637) + (xy 83.519736 72.282637) + (xy 83.512475 72.284082) + (xy 83.506321 72.288193) + (xy 83.506316 72.288196) + (xy 83.455454 72.322182) + (xy 83.455451 72.322184) + (xy 83.449297 72.326297) + (xy 83.445184 72.332451) + (xy 83.445182 72.332454) + (xy 83.411196 72.383316) + (xy 83.411193 72.383321) + (xy 83.407082 72.389475) + (xy 83.405637 72.396736) + (xy 83.405637 72.396738) + (xy 83.398992 72.430148) + (xy 83.396 72.445188) + (xy 83.396 72.982812) + (xy 83.397529 72.990499) + (xy 83.404783 73.02697) + (xy 83.407082 73.038525) + (xy 83.411197 73.044683) + (xy 83.446302 73.097221) + (xy 83.458976 73.139) + (xy 83.446302 73.180779) + (xy 83.411455 73.232931) + (xy 83.407082 73.239475) + (xy 83.405637 73.246736) + (xy 83.405637 73.246738) + (xy 83.400676 73.271678) + (xy 83.396 73.295188) + (xy 83.396 73.732812) + (xy 83.407082 73.788525) + (xy 83.411194 73.79468) + (xy 83.411196 73.794683) + (xy 83.445182 73.845545) + (xy 83.449297 73.851703) + (xy 83.455454 73.855817) + (xy 83.460463 73.860826) + (xy 83.479927 73.894537) + (xy 83.479927 73.933463) + (xy 83.460463 73.967174) + (xy 83.455453 73.972183) + (xy 83.449297 73.976297) + (xy 83.445184 73.982451) + (xy 83.445182 73.982454) + (xy 83.411196 74.033316) + (xy 83.411193 74.033321) + (xy 83.407082 74.039475) + (xy 83.405637 74.046736) + (xy 83.405637 74.046738) + (xy 83.401548 74.067294) + (xy 83.396 74.095188) + (xy 83.396 74.532812) + (xy 83.396721 74.536436) + (xy 83.404385 74.574969) + (xy 83.407082 74.588525) + (xy 83.425896 74.616681) + (xy 83.446302 74.647221) + (xy 83.458976 74.689) + (xy 83.446302 74.730779) + (xy 83.412029 74.782072) + (xy 83.407082 74.789475) + (xy 83.405637 74.796736) + (xy 83.405637 74.796738) + (xy 83.399226 74.82897) + (xy 83.396 74.845188) + (xy 83.396 75.382812) + (xy 83.407082 75.438525) + (xy 83.411194 75.44468) + (xy 83.411196 75.444683) + (xy 83.445182 75.495545) + (xy 83.449297 75.501703) + (xy 83.455454 75.505817) + (xy 83.506316 75.539803) + (xy 83.506317 75.539803) + (xy 83.512475 75.543918) + (xy 83.568188 75.555) + (xy 84.402116 75.555) + (xy 84.405812 75.555) + (xy 84.461525 75.543918) + (xy 84.524703 75.501703) + (xy 84.536274 75.484385) + (xy 84.573466 75.455361) + (xy 84.62063 75.454203) + (xy 84.659201 75.481369) + (xy 84.674 75.526165) + (xy 84.674 76.153767) + (xy 84.659001 76.198833) + (xy 84.619986 76.225921) + (xy 84.535075 76.250852) + (xy 84.535068 76.250854) + (xy 84.529919 76.252367) + (xy 84.528315 76.253397) + (xy 84.492927 76.259607) + (xy 84.457154 76.247128) + (xy 84.432005 76.218792) + (xy 84.430436 76.215712) + (xy 84.430433 76.215708) + (xy 84.427746 76.210434) + (xy 84.334566 76.117254) + (xy 84.329289 76.114565) + (xy 84.222426 76.060115) + (xy 84.222422 76.060113) + (xy 84.217153 76.057429) + (xy 84.211311 76.056503) + (xy 84.211306 76.056502) + (xy 84.122655 76.042462) + (xy 84.122652 76.042461) + (xy 84.119737 76.042) + (xy 84.116783 76.042) + (xy 83.607218 76.042) + (xy 83.607205 76.042) + (xy 83.604264 76.042001) + (xy 83.60135 76.042462) + (xy 83.601343 76.042463) + (xy 83.512692 76.056503) + (xy 83.51269 76.056503) + (xy 83.506847 76.057429) + (xy 83.501577 76.060113) + (xy 83.501574 76.060115) + (xy 83.39471 76.114565) + (xy 83.394706 76.114567) + (xy 83.389434 76.117254) + (xy 83.385247 76.12144) + (xy 83.385244 76.121443) + (xy 83.300443 76.206244) + (xy 83.30044 76.206247) + (xy 83.296254 76.210434) + (xy 83.293567 76.215706) + (xy 83.293565 76.21571) + (xy 83.239115 76.322573) + (xy 83.239112 76.322579) + (xy 83.236429 76.327847) + (xy 83.235504 76.333686) + (xy 83.235502 76.333693) + (xy 83.22239 76.416485) + (xy 83.221 76.425263) + (xy 83.221 76.428215) + (xy 83.221 76.428216) + (xy 83.221 76.987781) + (xy 83.221 76.987793) + (xy 83.221001 76.990736) + (xy 83.221462 76.99365) + (xy 83.221463 76.993656) + (xy 83.235503 77.082307) + (xy 83.236429 77.088153) + (xy 83.239114 77.093423) + (xy 83.239115 77.093425) + (xy 83.289783 77.192867) + (xy 83.296254 77.205566) + (xy 83.389434 77.298746) + (xy 83.450171 77.329693) + (xy 83.497041 77.353575) + (xy 83.506847 77.358571) + (xy 83.512692 77.359496) + (xy 83.512693 77.359497) + (xy 83.517252 77.360219) + (xy 83.604263 77.374) + (xy 84.119736 77.373999) + (xy 84.217153 77.358571) + (xy 84.334566 77.298746) + (xy 84.427746 77.205566) + (xy 84.432004 77.197208) + (xy 84.457154 77.168871) + (xy 84.49293 77.156392) + (xy 84.528315 77.162602) + (xy 84.529919 77.163633) + (xy 84.666715 77.2038) + (xy 84.803904 77.2038) + (xy 84.809285 77.2038) + (xy 84.946081 77.163633) + (xy 85.066018 77.086553) + (xy 85.067229 77.088437) + (xy 85.096178 77.075261) + (xy 85.138088 77.081325) + (xy 85.170077 77.109073) + (xy 85.182 77.149707) + (xy 85.182 77.434132) + (xy 85.176276 77.46291) + (xy 85.159974 77.487306) + (xy 84.806106 77.841174) + (xy 84.78171 77.857476) + (xy 84.752932 77.8632) + (xy 84.666715 77.8632) + (xy 84.661558 77.864714) + (xy 84.661552 77.864715) + (xy 84.535075 77.901852) + (xy 84.535068 77.901854) + (xy 84.529919 77.903367) + (xy 84.528315 77.904397) + (xy 84.492927 77.910607) + (xy 84.457154 77.898128) + (xy 84.432005 77.869792) + (xy 84.430436 77.866712) + (xy 84.430433 77.866708) + (xy 84.427746 77.861434) + (xy 84.334566 77.768254) + (xy 84.308554 77.755) + (xy 84.222426 77.711115) + (xy 84.222422 77.711113) + (xy 84.217153 77.708429) + (xy 84.211311 77.707503) + (xy 84.211306 77.707502) + (xy 84.122655 77.693462) + (xy 84.122652 77.693461) + (xy 84.119737 77.693) + (xy 84.116783 77.693) + (xy 83.607218 77.693) + (xy 83.607205 77.693) + (xy 83.604264 77.693001) + (xy 83.60135 77.693462) + (xy 83.601343 77.693463) + (xy 83.512692 77.707503) + (xy 83.51269 77.707503) + (xy 83.506847 77.708429) + (xy 83.501577 77.711113) + (xy 83.501574 77.711115) + (xy 83.39471 77.765565) + (xy 83.394706 77.765567) + (xy 83.389434 77.768254) + (xy 83.385247 77.77244) + (xy 83.385244 77.772443) + (xy 83.300443 77.857244) + (xy 83.30044 77.857247) + (xy 83.296254 77.861434) + (xy 83.293567 77.866706) + (xy 83.293565 77.86671) + (xy 83.239115 77.973573) + (xy 83.239112 77.973579) + (xy 83.236429 77.978847) + (xy 83.235504 77.984686) + (xy 83.235502 77.984693) + (xy 83.222007 78.069903) + (xy 83.221 78.076263) + (xy 83.221 78.079215) + (xy 83.221 78.079216) + (xy 83.221 78.638781) + (xy 83.221 78.638793) + (xy 83.221001 78.641736) + (xy 83.221462 78.64465) + (xy 83.221463 78.644656) + (xy 83.23544 78.73291) + (xy 83.236429 78.739153) + (xy 83.239114 78.744423) + (xy 83.239115 78.744425) + (xy 83.2815 78.827611) + (xy 83.296254 78.856566) + (xy 83.389434 78.949746) + (xy 83.506847 79.009571) + (xy 83.512692 79.010496) + (xy 83.512693 79.010497) + (xy 83.513091 79.01056) + (xy 83.604263 79.025) + (xy 84.119736 79.024999) + (xy 84.217153 79.009571) + (xy 84.334566 78.949746) + (xy 84.427746 78.856566) + (xy 84.432004 78.848208) + (xy 84.457154 78.819871) + (xy 84.49293 78.807392) + (xy 84.528315 78.813602) + (xy 84.529919 78.814633) + (xy 84.666715 78.8548) + (xy 84.803904 78.8548) + (xy 84.809285 78.8548) + (xy 84.946081 78.814633) + (xy 85.066018 78.737553) + (xy 85.067229 78.739437) + (xy 85.096178 78.726261) + (xy 85.138088 78.732325) + (xy 85.170077 78.760073) + (xy 85.182 78.800707) + (xy 85.182 79.085132) + (xy 85.176276 79.11391) + (xy 85.159974 79.138306) + (xy 84.806106 79.492174) + (xy 84.78171 79.508476) + (xy 84.752932 79.5142) + (xy 84.666715 79.5142) + (xy 84.661558 79.515714) + (xy 84.661552 79.515715) + (xy 84.535075 79.552852) + (xy 84.535068 79.552854) + (xy 84.529919 79.554367) + (xy 84.528315 79.555397) + (xy 84.492927 79.561607) + (xy 84.457154 79.549128) + (xy 84.432005 79.520792) + (xy 84.430436 79.517712) + (xy 84.430433 79.517708) + (xy 84.427746 79.512434) + (xy 84.334566 79.419254) + (xy 84.329289 79.416565) + (xy 84.222426 79.362115) + (xy 84.222422 79.362113) + (xy 84.217153 79.359429) + (xy 84.211311 79.358503) + (xy 84.211306 79.358502) + (xy 84.122655 79.344462) + (xy 84.122652 79.344461) + (xy 84.119737 79.344) + (xy 84.116783 79.344) + (xy 83.607218 79.344) + (xy 83.607205 79.344) + (xy 83.604264 79.344001) + (xy 83.60135 79.344462) + (xy 83.601343 79.344463) + (xy 83.512692 79.358503) + (xy 83.51269 79.358503) + (xy 83.506847 79.359429) + (xy 83.501577 79.362113) + (xy 83.501574 79.362115) + (xy 83.39471 79.416565) + (xy 83.394706 79.416567) + (xy 83.389434 79.419254) + (xy 83.385247 79.42344) + (xy 83.385244 79.423443) + (xy 83.300443 79.508244) + (xy 83.30044 79.508247) + (xy 83.296254 79.512434) + (xy 83.293567 79.517706) + (xy 83.293565 79.51771) + (xy 83.239115 79.624573) + (xy 83.239112 79.624579) + (xy 83.236429 79.629847) + (xy 83.235504 79.635686) + (xy 83.235502 79.635693) + (xy 83.222635 79.716939) + (xy 83.221 79.727263) + (xy 83.221 79.730215) + (xy 83.221 79.730216) + (xy 83.221 80.289781) + (xy 83.221 80.289793) + (xy 83.221001 80.292736) + (xy 83.221462 80.29565) + (xy 83.221463 80.295656) + (xy 83.235478 80.384151) + (xy 83.236429 80.390153) + (xy 83.239114 80.395423) + (xy 83.239115 80.395425) + (xy 83.292379 80.499962) + (xy 83.296254 80.507566) + (xy 83.389434 80.600746) + (xy 83.435324 80.624128) + (xy 83.491175 80.652586) + (xy 83.506847 80.660571) + (xy 83.512692 80.661496) + (xy 83.512693 80.661497) + (xy 83.517801 80.662306) + (xy 83.604263 80.676) + (xy 84.119736 80.675999) + (xy 84.217153 80.660571) + (xy 84.334566 80.600746) + (xy 84.427746 80.507566) + (xy 84.432004 80.499208) + (xy 84.457154 80.470871) + (xy 84.49293 80.458392) + (xy 84.528315 80.464602) + (xy 84.529919 80.465633) + (xy 84.666715 80.5058) + (xy 84.803904 80.5058) + (xy 84.809285 80.5058) + (xy 84.946081 80.465633) + (xy 85.066018 80.388553) + (xy 85.159382 80.280806) + (xy 85.165396 80.267636) + (xy 85.200139 80.23163) + (xy 85.249785 80.225395) + (xy 85.292354 80.25169) + (xy 85.309 80.298876) + (xy 85.309 80.609132) + (xy 85.303276 80.63791) + (xy 85.286974 80.662306) + (xy 84.806106 81.143174) + (xy 84.78171 81.159476) + (xy 84.752932 81.1652) + (xy 84.666715 81.1652) + (xy 84.661558 81.166714) + (xy 84.661552 81.166715) + (xy 84.535075 81.203852) + (xy 84.535068 81.203854) + (xy 84.529919 81.205367) + (xy 84.528315 81.206397) + (xy 84.492927 81.212607) + (xy 84.457154 81.200128) + (xy 84.432005 81.171792) + (xy 84.430436 81.168712) + (xy 84.430433 81.168708) + (xy 84.427746 81.163434) + (xy 84.334566 81.070254) + (xy 84.322987 81.064354) + (xy 84.222426 81.013115) + (xy 84.222422 81.013113) + (xy 84.217153 81.010429) + (xy 84.211311 81.009503) + (xy 84.211306 81.009502) + (xy 84.122655 80.995462) + (xy 84.122652 80.995461) + (xy 84.119737 80.995) + (xy 84.116783 80.995) + (xy 83.607218 80.995) + (xy 83.607205 80.995) + (xy 83.604264 80.995001) + (xy 83.60135 80.995462) + (xy 83.601343 80.995463) + (xy 83.512692 81.009503) + (xy 83.51269 81.009503) + (xy 83.506847 81.010429) + (xy 83.501577 81.013113) + (xy 83.501574 81.013115) + (xy 83.39471 81.067565) + (xy 83.394706 81.067567) + (xy 83.389434 81.070254) + (xy 83.385247 81.07444) + (xy 83.385244 81.074443) + (xy 83.300443 81.159244) + (xy 83.30044 81.159247) + (xy 83.296254 81.163434) + (xy 83.293567 81.168706) + (xy 83.293565 81.16871) + (xy 83.239115 81.275573) + (xy 83.239112 81.275579) + (xy 83.236429 81.280847) + (xy 83.235504 81.286686) + (xy 83.235502 81.286693) + (xy 83.221462 81.375344) + (xy 83.221 81.378263) + (xy 83.221 81.381215) + (xy 83.221 81.381216) + (xy 83.221 81.940781) + (xy 83.221 81.940793) + (xy 82.952496 81.940793) + (xy 82.9525 81.940746) + (xy 82.9525 81.797902) + (xy 82.950407 81.790092) + (xy 82.942598 81.788) + (xy 82.448902 81.788) + (xy 82.441092 81.790092) + (xy 82.439 81.797902) + (xy 82.439 82.316598) + (xy 82.185 82.316598) + (xy 82.185 81.797902) + (xy 82.182907 81.790092) + (xy 82.175098 81.788) + (xy 81.681402 81.788) + (xy 81.673592 81.790092) + (xy 81.6715 81.797902) + (xy 81.6715 81.940746) + (xy 78.931 81.940746) + (xy 78.931 81.524098) + (xy 81.6715 81.524098) + (xy 81.673592 81.531907) + (xy 81.681402 81.534) + (xy 82.175098 81.534) + (xy 82.182907 81.531907) + (xy 82.185 81.524098) + (xy 82.439 81.524098) + (xy 82.441092 81.531907) + (xy 82.448902 81.534) + (xy 82.942598 81.534) + (xy 82.950407 81.531907) + (xy 82.9525 81.524098) + (xy 82.9525 81.381254) + (xy 82.952037 81.375381) + (xy 82.938015 81.286848) + (xy 82.934402 81.275728) + (xy 82.880023 81.169005) + (xy 82.873148 81.159543) + (xy 82.788456 81.074851) + (xy 82.778994 81.067976) + (xy 82.672271 81.013597) + (xy 82.661151 81.009984) + (xy 82.572618 80.995962) + (xy 82.566746 80.9955) + (xy 82.448902 80.9955) + (xy 82.441092 80.997592) + (xy 82.439 81.005402) + (xy 82.439 81.524098) + (xy 82.185 81.524098) + (xy 82.185 81.005402) + (xy 82.182907 80.997592) + (xy 82.175098 80.9955) + (xy 82.057254 80.9955) + (xy 82.051381 80.995962) + (xy 81.962848 81.009984) + (xy 81.951728 81.013597) + (xy 81.845005 81.067976) + (xy 81.835543 81.074851) + (xy 81.750851 81.159543) + (xy 81.743976 81.169005) + (xy 81.689597 81.275728) + (xy 81.685984 81.286848) + (xy 81.671962 81.375381) + (xy 81.6715 81.381254) + (xy 81.6715 81.524098) + (xy 78.931 81.524098) + (xy 78.931 81.101112) + (xy 78.942772 81.060715) + (xy 78.96566 81.040634) + (xy 78.964429 81.038876) + (xy 78.969814 81.035104) + (xy 78.975782 81.032322) + (xy 79.058322 80.949782) + (xy 79.107653 80.843991) + (xy 79.114 80.795783) + (xy 79.113999 80.438218) + (xy 79.107653 80.390009) + (xy 79.0609 80.289746) + (xy 81.6715 80.289746) + (xy 81.671962 80.295618) + (xy 81.685984 80.384151) + (xy 81.689597 80.395271) + (xy 81.743976 80.501994) + (xy 81.750851 80.511456) + (xy 81.835543 80.596148) + (xy 81.845005 80.603023) + (xy 81.951728 80.657402) + (xy 81.962848 80.661015) + (xy 82.051381 80.675037) + (xy 82.057254 80.6755) + (xy 82.175098 80.6755) + (xy 82.182907 80.673407) + (xy 82.185 80.665598) + (xy 82.439 80.665598) + (xy 82.441092 80.673407) + (xy 82.448902 80.6755) + (xy 82.566746 80.6755) + (xy 82.572618 80.675037) + (xy 82.661151 80.661015) + (xy 82.672271 80.657402) + (xy 82.778994 80.603023) + (xy 82.788456 80.596148) + (xy 82.873148 80.511456) + (xy 82.880023 80.501994) + (xy 82.934402 80.395271) + (xy 82.938015 80.384151) + (xy 82.952037 80.295618) + (xy 82.9525 80.289746) + (xy 82.9525 80.146902) + (xy 82.950407 80.139092) + (xy 82.942598 80.137) + (xy 82.448902 80.137) + (xy 82.441092 80.139092) + (xy 82.439 80.146902) + (xy 82.439 80.665598) + (xy 82.185 80.665598) + (xy 82.185 80.146902) + (xy 82.182907 80.139092) + (xy 82.175098 80.137) + (xy 81.681402 80.137) + (xy 81.673592 80.139092) + (xy 81.6715 80.146902) + (xy 81.6715 80.289746) + (xy 79.0609 80.289746) + (xy 79.058322 80.284218) + (xy 78.975782 80.201678) + (xy 78.969817 80.198896) + (xy 78.968951 80.19829) + (xy 78.940701 80.160343) + (xy 78.940701 80.113036) + (xy 78.968951 80.07509) + (xy 78.980145 80.067251) + (xy 79.05325 79.994146) + (xy 79.060688 79.983524) + (xy 79.104731 79.889073) + (xy 79.107913 79.878156) + (xy 79.108579 79.873098) + (xy 81.6715 79.873098) + (xy 81.673592 79.880907) + (xy 81.681402 79.883) + (xy 82.175098 79.883) + (xy 82.182907 79.880907) + (xy 82.185 79.873098) + (xy 82.439 79.873098) + (xy 82.441092 79.880907) + (xy 82.448902 79.883) + (xy 82.942598 79.883) + (xy 82.950407 79.880907) + (xy 82.9525 79.873098) + (xy 82.9525 79.730254) + (xy 82.952037 79.724381) + (xy 82.938015 79.635848) + (xy 82.934402 79.624728) + (xy 82.880023 79.518005) + (xy 82.873148 79.508543) + (xy 82.788456 79.423851) + (xy 82.778994 79.416976) + (xy 82.672271 79.362597) + (xy 82.661151 79.358984) + (xy 82.572618 79.344962) + (xy 82.566746 79.3445) + (xy 82.448902 79.3445) + (xy 82.441092 79.346592) + (xy 82.439 79.354402) + (xy 82.439 79.873098) + (xy 82.185 79.873098) + (xy 82.185 79.354402) + (xy 82.182907 79.346592) + (xy 82.175098 79.3445) + (xy 82.057254 79.3445) + (xy 82.051381 79.344962) + (xy 81.962848 79.358984) + (xy 81.951728 79.362597) + (xy 81.845005 79.416976) + (xy 81.835543 79.423851) + (xy 81.750851 79.508543) + (xy 81.743976 79.518005) + (xy 81.689597 79.624728) + (xy 81.685984 79.635848) + (xy 81.671962 79.724381) + (xy 81.6715 79.730254) + (xy 81.6715 79.873098) + (xy 79.108579 79.873098) + (xy 79.113179 79.838159) + (xy 79.1135 79.833266) + (xy 79.1135 79.793902) + (xy 79.111407 79.786092) + (xy 79.103598 79.784) + (xy 78.122402 79.784) + (xy 78.114592 79.786092) + (xy 78.1125 79.793902) + (xy 78.1125 79.833266) + (xy 78.11282 79.838159) + (xy 78.118086 79.878156) + (xy 78.121268 79.889073) + (xy 78.165311 79.983524) + (xy 78.172749 79.994146) + (xy 78.245856 80.067253) + (xy 78.257049 80.075091) + (xy 78.285298 80.113037) + (xy 78.285298 80.160343) + (xy 78.25705 80.198289) + (xy 78.256181 80.198897) + (xy 78.250218 80.201678) + (xy 78.245566 80.206329) + (xy 78.245563 80.206332) + (xy 78.172333 80.279562) + (xy 78.17233 80.279565) + (xy 78.167678 80.284218) + (xy 78.164898 80.290179) + (xy 78.164895 80.290184) + (xy 78.120779 80.384793) + (xy 78.118347 80.390009) + (xy 78.117596 80.395711) + (xy 78.117596 80.395712) + (xy 78.112321 80.435781) + (xy 78.112 80.438217) + (xy 78.112 80.440673) + (xy 78.112 80.440674) + (xy 78.112 80.793323) + (xy 78.112 80.793338) + (xy 77.661 80.793338) + (xy 77.661 79.90017) + (xy 77.661286 79.893616) + (xy 77.662619 79.878376) + (xy 77.664677 79.854857) + (xy 77.654604 79.817266) + (xy 77.653187 79.810875) + (xy 77.646432 79.77256) + (xy 77.643142 79.766861) + (xy 77.640893 79.760682) + (xy 77.640902 79.760678) + (xy 77.640144 79.758848) + (xy 77.640136 79.758852) + (xy 77.637353 79.752886) + (xy 77.635652 79.746534) + (xy 77.631375 79.740426) + (xy 77.613334 79.71466) + (xy 77.609809 79.709127) + (xy 77.60962 79.7088) + (xy 77.59036 79.67544) + (xy 77.560544 79.650421) + (xy 77.555715 79.645995) + (xy 77.429818 79.520098) + (xy 78.1125 79.520098) + (xy 78.114592 79.527907) + (xy 78.122402 79.53) + (xy 78.476098 79.53) + (xy 78.483907 79.527907) + (xy 78.486 79.520098) + (xy 78.74 79.520098) + (xy 78.742092 79.527907) + (xy 78.749902 79.53) + (xy 79.103598 79.53) + (xy 79.111407 79.527907) + (xy 79.1135 79.520098) + (xy 79.1135 79.480734) + (xy 79.113179 79.47584) + (xy 79.107913 79.435843) + (xy 79.104731 79.424926) + (xy 79.060688 79.330475) + (xy 79.05325 79.319853) + (xy 78.980146 79.246749) + (xy 78.969524 79.239311) + (xy 78.875073 79.195268) + (xy 78.864156 79.192086) + (xy 78.824159 79.18682) + (xy 78.819266 79.1865) + (xy 78.749902 79.1865) + (xy 78.742092 79.188592) + (xy 78.74 79.196402) + (xy 78.74 79.520098) + (xy 78.486 79.520098) + (xy 78.486 79.196402) + (xy 78.483907 79.188592) + (xy 78.476098 79.1865) + (xy 78.406734 79.1865) + (xy 78.40184 79.18682) + (xy 78.361843 79.192086) + (xy 78.350926 79.195268) + (xy 78.256475 79.239311) + (xy 78.245853 79.246749) + (xy 78.172749 79.319853) + (xy 78.165311 79.330475) + (xy 78.121268 79.424926) + (xy 78.118086 79.435843) + (xy 78.11282 79.47584) + (xy 78.1125 79.480734) + (xy 78.1125 79.520098) + (xy 77.429818 79.520098) + (xy 76.901026 78.991306) + (xy 76.884724 78.96691) + (xy 76.879 78.938132) + (xy 76.879 78.638746) + (xy 81.6715 78.638746) + (xy 81.671962 78.644618) + (xy 81.685984 78.733151) + (xy 81.689597 78.744271) + (xy 81.743976 78.850994) + (xy 81.750851 78.860456) + (xy 81.835543 78.945148) + (xy 81.845005 78.952023) + (xy 81.951728 79.006402) + (xy 81.962848 79.010015) + (xy 82.051381 79.024037) + (xy 82.057254 79.0245) + (xy 82.175098 79.0245) + (xy 82.182907 79.022407) + (xy 82.185 79.014598) + (xy 82.439 79.014598) + (xy 82.441092 79.022407) + (xy 82.448902 79.0245) + (xy 82.566746 79.0245) + (xy 82.572618 79.024037) + (xy 82.661151 79.010015) + (xy 82.672271 79.006402) + (xy 82.778994 78.952023) + (xy 82.788456 78.945148) + (xy 82.873148 78.860456) + (xy 82.880023 78.850994) + (xy 82.934402 78.744271) + (xy 82.938015 78.733151) + (xy 82.952037 78.644618) + (xy 82.9525 78.638746) + (xy 82.9525 78.495902) + (xy 82.950407 78.488092) + (xy 82.942598 78.486) + (xy 82.448902 78.486) + (xy 82.441092 78.488092) + (xy 82.439 78.495902) + (xy 82.439 79.014598) + (xy 82.185 79.014598) + (xy 82.185 78.495902) + (xy 82.182907 78.488092) + (xy 82.175098 78.486) + (xy 81.681402 78.486) + (xy 81.673592 78.488092) + (xy 81.6715 78.495902) + (xy 81.6715 78.638746) + (xy 76.879 78.638746) + (xy 76.879 78.222098) + (xy 81.6715 78.222098) + (xy 81.673592 78.229907) + (xy 81.681402 78.232) + (xy 82.175098 78.232) + (xy 82.182907 78.229907) + (xy 82.185 78.222098) + (xy 82.439 78.222098) + (xy 82.441092 78.229907) + (xy 82.448902 78.232) + (xy 82.942598 78.232) + (xy 82.950407 78.229907) + (xy 82.9525 78.222098) + (xy 82.9525 78.079254) + (xy 82.952037 78.073381) + (xy 82.938015 77.984848) + (xy 82.934402 77.973728) + (xy 82.880023 77.867005) + (xy 82.873148 77.857543) + (xy 82.788456 77.772851) + (xy 82.778994 77.765976) + (xy 82.672271 77.711597) + (xy 82.661151 77.707984) + (xy 82.572618 77.693962) + (xy 82.566746 77.6935) + (xy 82.448902 77.6935) + (xy 82.441092 77.695592) + (xy 82.439 77.703402) + (xy 82.439 78.222098) + (xy 82.185 78.222098) + (xy 82.185 77.703402) + (xy 82.182907 77.695592) + (xy 82.175098 77.6935) + (xy 82.057254 77.6935) + (xy 82.051381 77.693962) + (xy 81.962848 77.707984) + (xy 81.951728 77.711597) + (xy 81.845005 77.765976) + (xy 81.835543 77.772851) + (xy 81.750851 77.857543) + (xy 81.743976 77.867005) + (xy 81.689597 77.973728) + (xy 81.685984 77.984848) + (xy 81.671962 78.073381) + (xy 81.6715 78.079254) + (xy 81.6715 78.222098) + (xy 76.879 78.222098) + (xy 76.879 77.941505) + (xy 76.879 77.939048) + (xy 76.872461 77.889381) + (xy 76.869019 77.882) + (xy 76.853631 77.849) + (xy 76.82164 77.780393) + (xy 76.736607 77.69536) + (xy 76.712822 77.684269) + (xy 76.632832 77.646969) + (xy 76.632827 77.646967) + (xy 76.627619 77.644539) + (xy 76.621917 77.643788) + (xy 76.621916 77.643788) + (xy 76.580385 77.63832) + (xy 76.58038 77.638319) + (xy 76.577952 77.638) + (xy 76.198048 77.638) + (xy 76.19562 77.638319) + (xy 76.195614 77.63832) + (xy 76.154083 77.643788) + (xy 76.154081 77.643788) + (xy 76.148381 77.644539) + (xy 76.143174 77.646966) + (xy 76.143167 77.646969) + (xy 76.045354 77.69258) + (xy 76.045352 77.692581) + (xy 76.039393 77.69536) + (xy 76.034743 77.700009) + (xy 76.03474 77.700012) + (xy 75.966174 77.768579) + (xy 75.932463 77.788043) + (xy 75.893537 77.788043) + (xy 75.859826 77.768579) + (xy 75.841526 77.750279) + (xy 75.825224 77.725883) + (xy 75.8195 77.697105) + (xy 75.8195 77.3552) + (xy 75.829575 77.3176) + (xy 75.8571 77.290075) + (xy 75.8947 77.28) + (xy 80.24683 77.28) + (xy 80.253383 77.280285) + (xy 80.292143 77.283677) + (xy 80.329728 77.273605) + (xy 80.336121 77.272187) + (xy 80.37444 77.265432) + (xy 80.38014 77.26214) + (xy 80.386321 77.259891) + (xy 80.386324 77.259901) + (xy 80.388151 77.259145) + (xy 80.388147 77.259136) + (xy 80.39411 77.256354) + (xy 80.400466 77.254652) + (xy 80.43236 77.232319) + (xy 80.437853 77.22882) + (xy 80.47156 77.20936) + (xy 80.496583 77.179537) + (xy 80.500994 77.174724) + (xy 80.687972 76.987746) + (xy 81.6715 76.987746) + (xy 81.671962 76.993618) + (xy 81.685984 77.082151) + (xy 81.689597 77.093271) + (xy 81.743976 77.199994) + (xy 81.750851 77.209456) + (xy 81.835543 77.294148) + (xy 81.845005 77.301023) + (xy 81.951728 77.355402) + (xy 81.962848 77.359015) + (xy 82.051381 77.373037) + (xy 82.057254 77.3735) + (xy 82.175098 77.3735) + (xy 82.182907 77.371407) + (xy 82.185 77.363598) + (xy 82.439 77.363598) + (xy 82.441092 77.371407) + (xy 82.448902 77.3735) + (xy 82.566746 77.3735) + (xy 82.572618 77.373037) + (xy 82.661151 77.359015) + (xy 82.672271 77.355402) + (xy 82.778994 77.301023) + (xy 82.788456 77.294148) + (xy 82.873148 77.209456) + (xy 82.880023 77.199994) + (xy 82.934402 77.093271) + (xy 82.938015 77.082151) + (xy 82.952037 76.993618) + (xy 82.9525 76.987746) + (xy 82.9525 76.844902) + (xy 82.950407 76.837092) + (xy 82.942598 76.835) + (xy 82.448902 76.835) + (xy 82.441092 76.837092) + (xy 82.439 76.844902) + (xy 82.439 77.363598) + (xy 82.185 77.363598) + (xy 82.185 76.844902) + (xy 82.182907 76.837092) + (xy 82.175098 76.835) + (xy 81.681402 76.835) + (xy 81.673592 76.837092) + (xy 81.6715 76.844902) + (xy 81.6715 76.987746) + (xy 80.687972 76.987746) + (xy 81.013724 76.661994) + (xy 81.018537 76.657583) + (xy 81.04836 76.63256) + (xy 81.06782 76.598853) + (xy 81.071319 76.59336) + (xy 81.086907 76.571098) + (xy 81.6715 76.571098) + (xy 81.673592 76.578907) + (xy 81.681402 76.581) + (xy 82.175098 76.581) + (xy 82.182907 76.578907) + (xy 82.185 76.571098) + (xy 82.439 76.571098) + (xy 82.441092 76.578907) + (xy 82.448902 76.581) + (xy 82.942598 76.581) + (xy 82.950407 76.578907) + (xy 82.9525 76.571098) + (xy 82.9525 76.428254) + (xy 82.952037 76.422381) + (xy 82.938015 76.333848) + (xy 82.934402 76.322728) + (xy 82.880023 76.216005) + (xy 82.873148 76.206543) + (xy 82.788456 76.121851) + (xy 82.778994 76.114976) + (xy 82.672271 76.060597) + (xy 82.661151 76.056984) + (xy 82.572618 76.042962) + (xy 82.566746 76.0425) + (xy 82.448902 76.0425) + (xy 82.441092 76.044592) + (xy 82.439 76.052402) + (xy 82.439 76.571098) + (xy 82.185 76.571098) + (xy 82.185 76.052402) + (xy 82.182907 76.044592) + (xy 82.175098 76.0425) + (xy 82.057254 76.0425) + (xy 82.051381 76.042962) + (xy 81.962848 76.056984) + (xy 81.951728 76.060597) + (xy 81.845005 76.114976) + (xy 81.835543 76.121851) + (xy 81.750851 76.206543) + (xy 81.743976 76.216005) + (xy 81.689597 76.322728) + (xy 81.685984 76.333848) + (xy 81.671962 76.422381) + (xy 81.6715 76.428254) + (xy 81.6715 76.571098) + (xy 81.086907 76.571098) + (xy 81.093652 76.561466) + (xy 81.095354 76.55511) + (xy 81.098136 76.549147) + (xy 81.098145 76.549151) + (xy 81.098901 76.547324) + (xy 81.098891 76.547321) + (xy 81.10114 76.54114) + (xy 81.104432 76.53544) + (xy 81.111187 76.497121) + (xy 81.112605 76.490728) + (xy 81.122677 76.453143) + (xy 81.119286 76.414379) + (xy 81.119 76.407826) + (xy 81.119 75.5072) + (xy 81.129075 75.4696) + (xy 81.1566 75.442075) + (xy 81.1942 75.432) + (xy 81.562528 75.432) + (xy 81.597977 75.440879) + (xy 81.625054 75.465421) + (xy 81.643761 75.493419) + (xy 81.649297 75.501703) + (xy 81.655454 75.505817) + (xy 81.706316 75.539803) + (xy 81.706317 75.539803) + (xy 81.712475 75.543918) + (xy 81.768188 75.555) + (xy 82.602116 75.555) + (xy 82.605812 75.555) + (xy 82.661525 75.543918) + (xy 82.724703 75.501703) + (xy 82.766918 75.438525) + (xy 82.778 75.382812) + (xy 82.778 74.845188) + (xy 82.766918 74.789475) + (xy 82.727695 74.730775) + (xy 82.715023 74.689) + (xy 82.727695 74.647224) + (xy 82.766918 74.588525) + (xy 82.778 74.532812) + (xy 82.778 74.095188) + (xy 82.766918 74.039475) + (xy 82.759128 74.027817) + (xy 82.728817 73.982454) + (xy 82.724703 73.976297) + (xy 82.718545 73.972182) + (xy 82.713537 73.967174) + (xy 82.694073 73.933463) + (xy 82.694073 73.894537) + (xy 82.713537 73.860826) + (xy 82.718544 73.855817) + (xy 82.724703 73.851703) + (xy 82.766918 73.788525) + (xy 82.778 73.732812) + (xy 82.778 73.295188) + (xy 82.766918 73.239475) + (xy 82.727695 73.180775) + (xy 82.715023 73.139) + (xy 82.727695 73.097224) + (xy 82.766918 73.038525) + (xy 82.778 72.982812) + (xy 82.778 72.445188) + (xy 82.766918 72.389475) + (xy 82.754176 72.370406) + (xy 82.728817 72.332454) + (xy 82.724703 72.326297) + (xy 82.718545 72.322182) + (xy 82.667683 72.288196) + (xy 82.66768 72.288194) + (xy 82.661525 72.284082) + (xy 82.654261 72.282637) + (xy 82.62759 72.277332) + (xy 82.605812 72.273) + (xy 81.768188 72.273) + (xy 81.764563 72.27372) + (xy 81.764563 72.273721) + (xy 81.719738 72.282637) + (xy 81.719736 72.282637) + (xy 81.712475 72.284082) + (xy 81.706321 72.288193) + (xy 81.706316 72.288196) + (xy 81.655454 72.322182) + (xy 81.655451 72.322184) + (xy 81.649297 72.326297) + (xy 81.645184 72.332451) + (xy 81.645182 72.332454) + (xy 81.625054 72.362579) + (xy 81.597977 72.387121) + (xy 81.562528 72.396) + (xy 81.12917 72.396) + (xy 81.122616 72.395714) + (xy 81.09041 72.392896) + (xy 81.090408 72.392896) + (xy 81.083857 72.392323) + (xy 81.077507 72.394024) + (xy 81.0775 72.394025) + (xy 81.046271 72.402393) + (xy 81.03987 72.403812) + (xy 81.008038 72.409425) + (xy 81.008034 72.409426) + (xy 81.00156 72.410568) + (xy 80.995864 72.413856) + (xy 80.98968 72.416107) + (xy 80.989677 72.4161) + (xy 80.987846 72.416858) + (xy 80.98785 72.416865) + (xy 80.981882 72.419647) + (xy 80.975534 72.421349) + (xy 80.970152 72.425116) + (xy 80.970148 72.425119) + (xy 80.94367 72.443659) + (xy 80.938141 72.447181) + (xy 80.910136 72.46335) + (xy 80.91013 72.463354) + (xy 80.90444 72.46664) + (xy 80.900215 72.471674) + (xy 80.900211 72.471678) + (xy 80.879416 72.496459) + (xy 80.874986 72.501292) + (xy 80.588288 72.78799) + (xy 80.583454 72.792421) + (xy 80.558678 72.813211) + (xy 80.558673 72.813215) + (xy 80.55364 72.81744) + (xy 80.550355 72.823129) + (xy 80.550352 72.823133) + (xy 80.534189 72.851128) + (xy 80.530667 72.856655) + (xy 80.512122 72.883142) + (xy 80.512119 72.883147) + (xy 80.508348 72.888534) + (xy 80.506644 72.894888) + (xy 80.503867 72.900846) + (xy 80.50386 72.900842) + (xy 80.503099 72.902678) + (xy 80.503106 72.902681) + (xy 80.500854 72.908866) + (xy 80.497568 72.91456) + (xy 80.496426 72.921032) + (xy 80.496425 72.921037) + (xy 80.490813 72.952865) + (xy 80.489394 72.959266) + (xy 80.481025 72.990499) + (xy 80.481024 72.990507) + (xy 80.479323 72.996857) + (xy 80.479896 73.003408) + (xy 80.479896 73.00341) + (xy 80.482714 73.035616) + (xy 80.483 73.04217) + (xy 80.483 73.481233) + (xy 80.481589 73.491947) + (xy 80.481599 73.491948) + (xy 80.481025 73.498503) + (xy 80.479323 73.504857) + (xy 80.479896 73.511408) + (xy 80.479896 73.51141) + (xy 80.482714 73.543616) + (xy 80.483 73.55017) + (xy 80.483 74.281233) + (xy 80.481589 74.291947) + (xy 80.481599 74.291948) + (xy 80.481025 74.298503) + (xy 80.479323 74.304857) + (xy 80.479896 74.311408) + (xy 80.479896 74.31141) + (xy 80.482714 74.343616) + (xy 80.483 74.35017) + (xy 80.483 75.132233) + (xy 80.481589 75.142947) + (xy 80.481599 75.142948) + (xy 80.481025 75.149503) + (xy 80.479323 75.155857) + (xy 80.479896 75.162408) + (xy 80.479896 75.16241) + (xy 80.482714 75.194616) + (xy 80.483 75.20117) + (xy 80.483 76.262132) + (xy 80.477276 76.29091) + (xy 80.460974 76.315306) + (xy 80.154306 76.621974) + (xy 80.12991 76.638276) + (xy 80.101132 76.644) + (xy 75.678525 76.644) + (xy 75.648318 76.637666) + (xy 75.64338 76.6355) + (xy 75.627397 76.625976) + (xy 75.626999 76.625666) + (xy 75.626996 76.625664) + (xy 75.622085 76.621842) + (xy 75.616197 76.61982) + (xy 75.616196 76.61982) + (xy 75.579739 76.607304) + (xy 75.573964 76.605051) + (xy 75.532948 76.58706) + (xy 75.526741 76.586545) + (xy 75.52674 76.586545) + (xy 75.526308 76.586509) + (xy 75.526228 76.586502) + (xy 75.508031 76.582686) + (xy 75.507812 76.582611) + (xy 75.50755 76.582521) + (xy 75.507547 76.58252) + (xy 75.501661 76.5805) + (xy 75.495433 76.5805) + (xy 75.456887 76.5805) + (xy 75.450677 76.580243) + (xy 75.412269 76.57706) + (xy 75.412266 76.57706) + (xy 75.40606 76.576546) + (xy 75.400024 76.578074) + (xy 75.400017 76.578075) + (xy 75.39953 76.578199) + (xy 75.381071 76.5805) + (xy 71.109913 76.5805) + (xy 71.069256 76.568562) + (xy 71.066595 76.566852) + (xy 71.035882 76.547113) + (xy 70.977002 76.509272) + (xy 70.976999 76.50927) + (xy 70.972481 76.506367) + (xy 70.967325 76.504853) + (xy 70.967323 76.504852) + (xy 70.840847 76.467715) + (xy 70.840842 76.467714) + (xy 70.835685 76.4662) + (xy 70.693115 76.4662) + (xy 70.687958 76.467714) + (xy 70.687952 76.467715) + (xy 70.561476 76.504852) + (xy 70.561471 76.504854) + (xy 70.556319 76.506367) + (xy 70.551803 76.509269) + (xy 70.551797 76.509272) + (xy 70.440905 76.580539) + (xy 70.440899 76.580543) + (xy 70.436382 76.583447) + (xy 70.432861 76.587509) + (xy 70.43286 76.587511) + (xy 70.34654 76.687128) + (xy 70.346536 76.687133) + (xy 70.343018 76.691194) + (xy 70.340785 76.696082) + (xy 70.340782 76.696088) + (xy 70.286026 76.815987) + (xy 70.286024 76.815993) + (xy 70.283792 76.820881) + (xy 70.283026 76.826202) + (xy 70.283025 76.826209) + (xy 70.273548 76.892116) + (xy 70.252289 76.934586) + (xy 69.915372 77.271503) + (xy 69.876871 77.292083) + (xy 69.833422 77.287804) + (xy 69.799674 77.260107) + (xy 69.787 77.218328) + (xy 69.787 70.377) + (xy 92.768389 70.377) + (xy 92.768751 70.380676) + (xy 92.786099 70.556821) + (xy 92.786789 70.563821) + (xy 92.787859 70.56735) + (xy 92.78786 70.567352) + (xy 92.809133 70.637479) + (xy 92.841283 70.743462) + (xy 92.843019 70.746711) + (xy 92.843023 70.746719) + (xy 92.924292 70.898761) + (xy 92.929776 70.90902) + (xy 93.048867 71.054133) + (xy 93.19398 71.173224) + (xy 93.276758 71.21747) + (xy 93.35628 71.259976) + (xy 93.356283 71.259977) + (xy 93.359538 71.261717) + (xy 93.539179 71.316211) + (xy 93.726 71.334611) + (xy 93.912821 71.316211) + (xy 94.092462 71.261717) + (xy 94.25802 71.173224) + (xy 94.403133 71.054133) + (xy 94.522224 70.90902) + (xy 94.610717 70.743462) + (xy 94.665211 70.563821) + (xy 94.683611 70.377) + (xy 95.268389 70.377) + (xy 95.268751 70.380676) + (xy 95.286099 70.556821) + (xy 95.286789 70.563821) + (xy 95.287859 70.56735) + (xy 95.28786 70.567352) + (xy 95.309133 70.637479) + (xy 95.341283 70.743462) + (xy 95.343019 70.746711) + (xy 95.343023 70.746719) + (xy 95.424292 70.898761) + (xy 95.429776 70.90902) + (xy 95.548867 71.054133) + (xy 95.69398 71.173224) + (xy 95.776758 71.21747) + (xy 95.85628 71.259976) + (xy 95.856283 71.259977) + (xy 95.859538 71.261717) + (xy 96.039179 71.316211) + (xy 96.226 71.334611) + (xy 96.412821 71.316211) + (xy 96.592462 71.261717) + (xy 96.75802 71.173224) + (xy 96.903133 71.054133) + (xy 97.022224 70.90902) + (xy 97.110717 70.743462) + (xy 97.165211 70.563821) + (xy 97.183611 70.377) + (xy 97.182922 70.37) + (xy 97.848389 70.37) + (xy 97.848751 70.373676) + (xy 97.856975 70.457182) + (xy 97.866789 70.556821) + (xy 97.867859 70.56035) + (xy 97.86786 70.560352) + (xy 97.889819 70.632741) + (xy 97.921283 70.736462) + (xy 97.923019 70.739711) + (xy 97.923023 70.739719) + (xy 97.990862 70.866634) + (xy 98.009776 70.90202) + (xy 98.128867 71.047133) + (xy 98.27398 71.166224) + (xy 98.356758 71.21047) + (xy 98.43628 71.252976) + (xy 98.436283 71.252977) + (xy 98.439538 71.254717) + (xy 98.619179 71.309211) + (xy 98.806 71.327611) + (xy 98.992821 71.309211) + (xy 99.172462 71.254717) + (xy 99.33802 71.166224) + (xy 99.483133 71.047133) + (xy 99.602224 70.90202) + (xy 99.690717 70.736462) + (xy 99.745211 70.556821) + (xy 99.763611 70.37) + (xy 100.348389 70.37) + (xy 100.348751 70.373676) + (xy 100.356975 70.457182) + (xy 100.366789 70.556821) + (xy 100.367859 70.56035) + (xy 100.36786 70.560352) + (xy 100.389819 70.632741) + (xy 100.421283 70.736462) + (xy 100.423019 70.739711) + (xy 100.423023 70.739719) + (xy 100.490862 70.866634) + (xy 100.509776 70.90202) + (xy 100.628867 71.047133) + (xy 100.77398 71.166224) + (xy 100.856758 71.21047) + (xy 100.93628 71.252976) + (xy 100.936283 71.252977) + (xy 100.939538 71.254717) + (xy 101.119179 71.309211) + (xy 101.306 71.327611) + (xy 101.492821 71.309211) + (xy 101.672462 71.254717) + (xy 101.83802 71.166224) + (xy 101.983133 71.047133) + (xy 102.102224 70.90202) + (xy 102.190717 70.736462) + (xy 102.245211 70.556821) + (xy 102.263611 70.37) + (xy 102.245211 70.183179) + (xy 102.190717 70.003538) + (xy 102.179376 69.982321) + (xy 102.107707 69.848238) + (xy 102.102224 69.83798) + (xy 101.983133 69.692867) + (xy 101.83802 69.573776) + (xy 101.834761 69.572034) + (xy 101.675719 69.487023) + (xy 101.675711 69.487019) + (xy 101.672462 69.485283) + (xy 101.582641 69.458035) + (xy 101.496352 69.43186) + (xy 101.49635 69.431859) + (xy 101.492821 69.430789) + (xy 101.48915 69.430427) + (xy 101.489148 69.430427) + (xy 101.309676 69.412751) + (xy 101.306 69.412389) + (xy 101.302324 69.412751) + (xy 101.122851 69.430427) + (xy 101.122847 69.430427) + (xy 101.119179 69.430789) + (xy 101.115651 69.431859) + (xy 101.115647 69.43186) + (xy 100.943068 69.484212) + (xy 100.943066 69.484212) + (xy 100.939538 69.485283) + (xy 100.936292 69.487018) + (xy 100.93628 69.487023) + (xy 100.777238 69.572034) + (xy 100.777233 69.572036) + (xy 100.77398 69.573776) + (xy 100.771127 69.576117) + (xy 100.771123 69.57612) + (xy 100.631722 69.690523) + (xy 100.631716 69.690528) + (xy 100.628867 69.692867) + (xy 100.626528 69.695716) + (xy 100.626523 69.695722) + (xy 100.51212 69.835123) + (xy 100.512117 69.835127) + (xy 100.509776 69.83798) + (xy 100.508036 69.841233) + (xy 100.508034 69.841238) + (xy 100.423023 70.00028) + (xy 100.423018 70.000292) + (xy 100.421283 70.003538) + (xy 100.420212 70.007066) + (xy 100.420212 70.007068) + (xy 100.385041 70.123012) + (xy 100.366789 70.183179) + (xy 100.366427 70.186847) + (xy 100.366427 70.186851) + (xy 100.354713 70.305792) + (xy 100.348389 70.37) + (xy 99.763611 70.37) + (xy 99.745211 70.183179) + (xy 99.690717 70.003538) + (xy 99.679376 69.982321) + (xy 99.607707 69.848238) + (xy 99.602224 69.83798) + (xy 99.483133 69.692867) + (xy 99.33802 69.573776) + (xy 99.334761 69.572034) + (xy 99.175719 69.487023) + (xy 99.175711 69.487019) + (xy 99.172462 69.485283) + (xy 99.082641 69.458035) + (xy 98.996352 69.43186) + (xy 98.99635 69.431859) + (xy 98.992821 69.430789) + (xy 98.98915 69.430427) + (xy 98.989148 69.430427) + (xy 98.809676 69.412751) + (xy 98.806 69.412389) + (xy 98.802324 69.412751) + (xy 98.622851 69.430427) + (xy 98.622847 69.430427) + (xy 98.619179 69.430789) + (xy 98.615651 69.431859) + (xy 98.615647 69.43186) + (xy 98.443068 69.484212) + (xy 98.443066 69.484212) + (xy 98.439538 69.485283) + (xy 98.436292 69.487018) + (xy 98.43628 69.487023) + (xy 98.277238 69.572034) + (xy 98.277233 69.572036) + (xy 98.27398 69.573776) + (xy 98.271127 69.576117) + (xy 98.271123 69.57612) + (xy 98.131722 69.690523) + (xy 98.131716 69.690528) + (xy 98.128867 69.692867) + (xy 98.126528 69.695716) + (xy 98.126523 69.695722) + (xy 98.01212 69.835123) + (xy 98.012117 69.835127) + (xy 98.009776 69.83798) + (xy 98.008036 69.841233) + (xy 98.008034 69.841238) + (xy 97.923023 70.00028) + (xy 97.923018 70.000292) + (xy 97.921283 70.003538) + (xy 97.920212 70.007066) + (xy 97.920212 70.007068) + (xy 97.885041 70.123012) + (xy 97.866789 70.183179) + (xy 97.866427 70.186847) + (xy 97.866427 70.186851) + (xy 97.854713 70.305792) + (xy 97.848389 70.37) + (xy 97.182922 70.37) + (xy 97.165211 70.190179) + (xy 97.110717 70.010538) + (xy 97.108862 70.007068) + (xy 97.023965 69.848238) + (xy 97.022224 69.84498) + (xy 96.903133 69.699867) + (xy 96.894603 69.692867) + (xy 96.779552 69.598447) + (xy 96.75802 69.580776) + (xy 96.741665 69.572034) + (xy 96.595719 69.494023) + (xy 96.595711 69.494019) + (xy 96.592462 69.492283) + (xy 96.412821 69.437789) + (xy 96.40915 69.437427) + (xy 96.409148 69.437427) + (xy 96.229676 69.419751) + (xy 96.226 69.419389) + (xy 96.222324 69.419751) + (xy 96.042851 69.437427) + (xy 96.042847 69.437427) + (xy 96.039179 69.437789) + (xy 96.035651 69.438859) + (xy 96.035647 69.43886) + (xy 95.863068 69.491212) + (xy 95.863066 69.491212) + (xy 95.859538 69.492283) + (xy 95.856292 69.494018) + (xy 95.85628 69.494023) + (xy 95.697238 69.579034) + (xy 95.697233 69.579036) + (xy 95.69398 69.580776) + (xy 95.691129 69.583116) + (xy 95.691123 69.58312) + (xy 95.551722 69.697523) + (xy 95.551716 69.697528) + (xy 95.548867 69.699867) + (xy 95.546528 69.702716) + (xy 95.546523 69.702722) + (xy 95.43212 69.842123) + (xy 95.432117 69.842127) + (xy 95.429776 69.84498) + (xy 95.428036 69.848233) + (xy 95.428034 69.848238) + (xy 95.343023 70.00728) + (xy 95.343018 70.007292) + (xy 95.341283 70.010538) + (xy 95.340212 70.014066) + (xy 95.340212 70.014068) + (xy 95.289984 70.179647) + (xy 95.286789 70.190179) + (xy 95.286427 70.193847) + (xy 95.286427 70.193851) + (xy 95.274127 70.318738) + (xy 95.268389 70.377) + (xy 94.683611 70.377) + (xy 94.665211 70.190179) + (xy 94.610717 70.010538) + (xy 94.608862 70.007068) + (xy 94.523965 69.848238) + (xy 94.522224 69.84498) + (xy 94.403133 69.699867) + (xy 94.394603 69.692867) + (xy 94.279552 69.598447) + (xy 94.25802 69.580776) + (xy 94.241665 69.572034) + (xy 94.095719 69.494023) + (xy 94.095711 69.494019) + (xy 94.092462 69.492283) + (xy 93.912821 69.437789) + (xy 93.90915 69.437427) + (xy 93.909148 69.437427) + (xy 93.729676 69.419751) + (xy 93.726 69.419389) + (xy 93.722324 69.419751) + (xy 93.542851 69.437427) + (xy 93.542847 69.437427) + (xy 93.539179 69.437789) + (xy 93.535651 69.438859) + (xy 93.535647 69.43886) + (xy 93.363068 69.491212) + (xy 93.363066 69.491212) + (xy 93.359538 69.492283) + (xy 93.356292 69.494018) + (xy 93.35628 69.494023) + (xy 93.197238 69.579034) + (xy 93.197233 69.579036) + (xy 93.19398 69.580776) + (xy 93.191129 69.583116) + (xy 93.191123 69.58312) + (xy 93.051722 69.697523) + (xy 93.051716 69.697528) + (xy 93.048867 69.699867) + (xy 93.046528 69.702716) + (xy 93.046523 69.702722) + (xy 92.93212 69.842123) + (xy 92.932117 69.842127) + (xy 92.929776 69.84498) + (xy 92.928036 69.848233) + (xy 92.928034 69.848238) + (xy 92.843023 70.00728) + (xy 92.843018 70.007292) + (xy 92.841283 70.010538) + (xy 92.840212 70.014066) + (xy 92.840212 70.014068) + (xy 92.789984 70.179647) + (xy 92.786789 70.190179) + (xy 92.786427 70.193847) + (xy 92.786427 70.193851) + (xy 92.774127 70.318738) + (xy 92.768389 70.377) + (xy 69.787 70.377) + (xy 69.787 68.657) + (xy 88.094566 68.657) + (xy 88.094798 68.659948) + (xy 88.110899 68.864537) + (xy 88.11427 68.907363) + (xy 88.114957 68.910226) + (xy 88.114959 68.910236) + (xy 88.168574 69.133554) + (xy 88.172897 69.151561) + (xy 88.174028 69.154293) + (xy 88.174029 69.154294) + (xy 88.238999 69.311147) + (xy 88.269003 69.383582) + (xy 88.27054 69.38609) + (xy 88.270542 69.386094) + (xy 88.39128 69.58312) + (xy 88.400222 69.597712) + (xy 88.402136 69.599953) + (xy 88.402139 69.599957) + (xy 88.513286 69.730093) + (xy 88.563322 69.788678) + (xy 88.754288 69.951778) + (xy 88.968418 70.082997) + (xy 89.200439 70.179103) + (xy 89.444637 70.23773) + (xy 89.632308 70.2525) + (xy 89.756212 70.2525) + (xy 89.757692 70.2525) + (xy 89.945363 70.23773) + (xy 90.189561 70.179103) + (xy 90.421582 70.082997) + (xy 90.635712 69.951778) + (xy 90.826678 69.788678) + (xy 90.989778 69.597712) + (xy 91.120997 69.383582) + (xy 91.217103 69.151561) + (xy 91.27573 68.907363) + (xy 91.295434 68.657) + (xy 91.293669 68.634569) + (xy 93.151268 68.634569) + (xy 93.156004 68.641412) + (xy 93.191401 68.670461) + (xy 93.197521 68.67455) + (xy 93.356467 68.759508) + (xy 93.363268 68.762326) + (xy 93.535742 68.814645) + (xy 93.542952 68.81608) + (xy 93.722325 68.833747) + (xy 93.729675 68.833747) + (xy 93.909047 68.81608) + (xy 93.916257 68.814645) + (xy 94.088731 68.762326) + (xy 94.095532 68.759508) + (xy 94.25448 68.674549) + (xy 94.260597 68.670462) + (xy 94.295993 68.641412) + (xy 94.300729 68.634569) + (xy 95.651268 68.634569) + (xy 95.656004 68.641412) + (xy 95.691401 68.670461) + (xy 95.697521 68.67455) + (xy 95.856467 68.759508) + (xy 95.863268 68.762326) + (xy 96.035742 68.814645) + (xy 96.042952 68.81608) + (xy 96.222325 68.833747) + (xy 96.229675 68.833747) + (xy 96.409047 68.81608) + (xy 96.416257 68.814645) + (xy 96.588731 68.762326) + (xy 96.595532 68.759508) + (xy 96.75448 68.674549) + (xy 96.760597 68.670462) + (xy 96.795993 68.641412) + (xy 96.80073 68.634568) + (xy 96.796685 68.62729) + (xy 96.233 68.063605) + (xy 96.226 68.059563) + (xy 96.218999 68.063605) + (xy 95.655314 68.627289) + (xy 95.651268 68.634569) + (xy 94.300729 68.634569) + (xy 94.30073 68.634568) + (xy 94.296685 68.62729) + (xy 93.733 68.063605) + (xy 93.726 68.059563) + (xy 93.718999 68.063605) + (xy 93.155314 68.627289) + (xy 93.151268 68.634569) + (xy 91.293669 68.634569) + (xy 91.27573 68.406637) + (xy 91.217103 68.162439) + (xy 91.120997 67.930418) + (xy 91.090514 67.880675) + (xy 92.769253 67.880675) + (xy 92.786919 68.060047) + (xy 92.788354 68.067257) + (xy 92.840673 68.239731) + (xy 92.843491 68.246532) + (xy 92.928449 68.405478) + (xy 92.932538 68.411598) + (xy 92.961586 68.446994) + (xy 92.96843 68.45173) + (xy 92.975709 68.447684) + (xy 93.539394 67.884) + (xy 93.543436 67.877) + (xy 93.908563 67.877) + (xy 93.912605 67.884) + (xy 94.47629 68.447685) + (xy 94.483568 68.45173) + (xy 94.490412 68.446993) + (xy 94.519462 68.411597) + (xy 94.523549 68.40548) + (xy 94.608508 68.246532) + (xy 94.611326 68.239731) + (xy 94.663645 68.067257) + (xy 94.66508 68.060047) + (xy 94.682747 67.880675) + (xy 95.269253 67.880675) + (xy 95.286919 68.060047) + (xy 95.288354 68.067257) + (xy 95.340673 68.239731) + (xy 95.343491 68.246532) + (xy 95.428449 68.405478) + (xy 95.432538 68.411598) + (xy 95.461586 68.446994) + (xy 95.46843 68.45173) + (xy 95.475709 68.447684) + (xy 96.039394 67.884) + (xy 96.043436 67.877) + (xy 96.408563 67.877) + (xy 96.412605 67.884) + (xy 96.97629 68.447685) + (xy 96.983568 68.45173) + (xy 96.990412 68.446993) + (xy 97.019462 68.411597) + (xy 97.023549 68.40548) + (xy 97.108508 68.246532) + (xy 97.111326 68.239731) + (xy 97.163645 68.067257) + (xy 97.16508 68.060047) + (xy 97.182747 67.880675) + (xy 97.182747 67.873325) + (xy 97.18242 67.87) + (xy 97.848389 67.87) + (xy 97.848751 67.873676) + (xy 97.865709 68.045862) + (xy 97.866789 68.056821) + (xy 97.921283 68.236462) + (xy 97.923019 68.239711) + (xy 97.923023 68.239719) + (xy 98.002326 68.388082) + (xy 98.009776 68.40202) + (xy 98.029322 68.425837) + (xy 98.111464 68.525928) + (xy 98.128867 68.547133) + (xy 98.27398 68.666224) + (xy 98.289557 68.67455) + (xy 98.43628 68.752976) + (xy 98.436283 68.752977) + (xy 98.439538 68.754717) + (xy 98.619179 68.809211) + (xy 98.806 68.827611) + (xy 98.992821 68.809211) + (xy 99.172462 68.754717) + (xy 99.33802 68.666224) + (xy 99.483133 68.547133) + (xy 99.602224 68.40202) + (xy 99.690717 68.236462) + (xy 99.745211 68.056821) + (xy 99.763611 67.87) + (xy 100.348389 67.87) + (xy 100.348751 67.873676) + (xy 100.365709 68.045862) + (xy 100.366789 68.056821) + (xy 100.421283 68.236462) + (xy 100.423019 68.239711) + (xy 100.423023 68.239719) + (xy 100.502326 68.388082) + (xy 100.509776 68.40202) + (xy 100.529322 68.425837) + (xy 100.611464 68.525928) + (xy 100.628867 68.547133) + (xy 100.77398 68.666224) + (xy 100.789557 68.67455) + (xy 100.93628 68.752976) + (xy 100.936283 68.752977) + (xy 100.939538 68.754717) + (xy 101.119179 68.809211) + (xy 101.306 68.827611) + (xy 101.492821 68.809211) + (xy 101.672462 68.754717) + (xy 101.83802 68.666224) + (xy 101.983133 68.547133) + (xy 102.102224 68.40202) + (xy 102.190717 68.236462) + (xy 102.245211 68.056821) + (xy 102.263611 67.87) + (xy 102.245211 67.683179) + (xy 102.190717 67.503538) + (xy 102.168833 67.462597) + (xy 102.116206 67.364139) + (xy 102.102224 67.33798) + (xy 101.983133 67.192867) + (xy 101.96258 67.176) + (xy 101.867569 67.098026) + (xy 101.83802 67.073776) + (xy 101.816784 67.062425) + (xy 101.675719 66.987023) + (xy 101.675711 66.987019) + (xy 101.672462 66.985283) + (xy 101.543525 66.94617) + (xy 101.496352 66.93186) + (xy 101.49635 66.931859) + (xy 101.492821 66.930789) + (xy 101.48915 66.930427) + (xy 101.489148 66.930427) + (xy 101.309676 66.912751) + (xy 101.306 66.912389) + (xy 101.302324 66.912751) + (xy 101.122851 66.930427) + (xy 101.122847 66.930427) + (xy 101.119179 66.930789) + (xy 101.115651 66.931859) + (xy 101.115647 66.93186) + (xy 100.943068 66.984212) + (xy 100.943066 66.984212) + (xy 100.939538 66.985283) + (xy 100.936292 66.987018) + (xy 100.93628 66.987023) + (xy 100.777238 67.072034) + (xy 100.777233 67.072036) + (xy 100.77398 67.073776) + (xy 100.771127 67.076117) + (xy 100.771123 67.07612) + (xy 100.631722 67.190523) + (xy 100.631716 67.190528) + (xy 100.628867 67.192867) + (xy 100.626528 67.195716) + (xy 100.626523 67.195722) + (xy 100.51212 67.335123) + (xy 100.512117 67.335127) + (xy 100.509776 67.33798) + (xy 100.508036 67.341233) + (xy 100.508034 67.341238) + (xy 100.423023 67.50028) + (xy 100.423018 67.500292) + (xy 100.421283 67.503538) + (xy 100.420212 67.507066) + (xy 100.420212 67.507068) + (xy 100.372221 67.665273) + (xy 100.366789 67.683179) + (xy 100.366427 67.686847) + (xy 100.366427 67.686851) + (xy 100.351658 67.836805) + (xy 100.348389 67.87) + (xy 99.763611 67.87) + (xy 99.745211 67.683179) + (xy 99.690717 67.503538) + (xy 99.668833 67.462597) + (xy 99.616206 67.364139) + (xy 99.602224 67.33798) + (xy 99.483133 67.192867) + (xy 99.46258 67.176) + (xy 99.367569 67.098026) + (xy 99.33802 67.073776) + (xy 99.316784 67.062425) + (xy 99.175719 66.987023) + (xy 99.175711 66.987019) + (xy 99.172462 66.985283) + (xy 99.043525 66.94617) + (xy 98.996352 66.93186) + (xy 98.99635 66.931859) + (xy 98.992821 66.930789) + (xy 98.98915 66.930427) + (xy 98.989148 66.930427) + (xy 98.809676 66.912751) + (xy 98.806 66.912389) + (xy 98.802324 66.912751) + (xy 98.622851 66.930427) + (xy 98.622847 66.930427) + (xy 98.619179 66.930789) + (xy 98.615651 66.931859) + (xy 98.615647 66.93186) + (xy 98.443068 66.984212) + (xy 98.443066 66.984212) + (xy 98.439538 66.985283) + (xy 98.436292 66.987018) + (xy 98.43628 66.987023) + (xy 98.277238 67.072034) + (xy 98.277233 67.072036) + (xy 98.27398 67.073776) + (xy 98.271127 67.076117) + (xy 98.271123 67.07612) + (xy 98.131722 67.190523) + (xy 98.131716 67.190528) + (xy 98.128867 67.192867) + (xy 98.126528 67.195716) + (xy 98.126523 67.195722) + (xy 98.01212 67.335123) + (xy 98.012117 67.335127) + (xy 98.009776 67.33798) + (xy 98.008036 67.341233) + (xy 98.008034 67.341238) + (xy 97.923023 67.50028) + (xy 97.923018 67.500292) + (xy 97.921283 67.503538) + (xy 97.920212 67.507066) + (xy 97.920212 67.507068) + (xy 97.872221 67.665273) + (xy 97.866789 67.683179) + (xy 97.866427 67.686847) + (xy 97.866427 67.686851) + (xy 97.851658 67.836805) + (xy 97.848389 67.87) + (xy 97.18242 67.87) + (xy 97.16508 67.693952) + (xy 97.163645 67.686742) + (xy 97.111326 67.514268) + (xy 97.108508 67.507467) + (xy 97.02355 67.348521) + (xy 97.019461 67.342401) + (xy 96.990412 67.307004) + (xy 96.983569 67.302268) + (xy 96.976289 67.306314) + (xy 96.412605 67.869999) + (xy 96.408563 67.877) + (xy 96.043436 67.877) + (xy 96.039394 67.869999) + (xy 95.475709 67.306314) + (xy 95.46843 67.302269) + (xy 95.461585 67.307006) + (xy 95.432538 67.3424) + (xy 95.428448 67.348523) + (xy 95.343491 67.507467) + (xy 95.340673 67.514268) + (xy 95.288354 67.686742) + (xy 95.286919 67.693952) + (xy 95.269253 67.873325) + (xy 95.269253 67.880675) + (xy 94.682747 67.880675) + (xy 94.682747 67.873325) + (xy 94.66508 67.693952) + (xy 94.663645 67.686742) + (xy 94.611326 67.514268) + (xy 94.608508 67.507467) + (xy 94.52355 67.348521) + (xy 94.519461 67.342401) + (xy 94.490412 67.307004) + (xy 94.483569 67.302268) + (xy 94.476289 67.306314) + (xy 93.912605 67.869999) + (xy 93.908563 67.877) + (xy 93.543436 67.877) + (xy 93.539394 67.869999) + (xy 92.975709 67.306314) + (xy 92.96843 67.302269) + (xy 92.961585 67.307006) + (xy 92.932538 67.3424) + (xy 92.928448 67.348523) + (xy 92.843491 67.507467) + (xy 92.840673 67.514268) + (xy 92.788354 67.686742) + (xy 92.786919 67.693952) + (xy 92.769253 67.873325) + (xy 92.769253 67.880675) + (xy 91.090514 67.880675) + (xy 90.989778 67.716288) + (xy 90.984602 67.710228) + (xy 90.857721 67.561669) + (xy 90.826678 67.525322) + (xy 90.734497 67.446592) + (xy 90.637957 67.364139) + (xy 90.637953 67.364136) + (xy 90.635712 67.362222) + (xy 90.633196 67.36068) + (xy 90.424094 67.232542) + (xy 90.42409 67.23254) + (xy 90.421582 67.231003) + (xy 90.386083 67.216299) + (xy 90.192294 67.136029) + (xy 90.192293 67.136028) + (xy 90.189561 67.134897) + (xy 90.186683 67.134206) + (xy 90.18668 67.134205) + (xy 90.125138 67.11943) + (xy 93.151269 67.11943) + (xy 93.155314 67.126709) + (xy 93.718999 67.690394) + (xy 93.725999 67.694436) + (xy 93.733 67.690394) + (xy 94.296684 67.126709) + (xy 94.30073 67.11943) + (xy 95.651269 67.11943) + (xy 95.655314 67.126709) + (xy 96.218999 67.690394) + (xy 96.225999 67.694436) + (xy 96.233 67.690394) + (xy 96.796684 67.126709) + (xy 96.80073 67.11943) + (xy 96.795994 67.112586) + (xy 96.760598 67.083538) + (xy 96.754478 67.079449) + (xy 96.595532 66.994491) + (xy 96.588731 66.991673) + (xy 96.416257 66.939354) + (xy 96.409047 66.937919) + (xy 96.229675 66.920253) + (xy 96.222325 66.920253) + (xy 96.042952 66.937919) + (xy 96.035742 66.939354) + (xy 95.863268 66.991673) + (xy 95.856467 66.994491) + (xy 95.697523 67.079448) + (xy 95.6914 67.083538) + (xy 95.656006 67.112585) + (xy 95.651269 67.11943) + (xy 94.30073 67.11943) + (xy 94.295994 67.112586) + (xy 94.260598 67.083538) + (xy 94.254478 67.079449) + (xy 94.095532 66.994491) + (xy 94.088731 66.991673) + (xy 93.916257 66.939354) + (xy 93.909047 66.937919) + (xy 93.729675 66.920253) + (xy 93.722325 66.920253) + (xy 93.542952 66.937919) + (xy 93.535742 66.939354) + (xy 93.363268 66.991673) + (xy 93.356467 66.994491) + (xy 93.197523 67.079448) + (xy 93.1914 67.083538) + (xy 93.156006 67.112585) + (xy 93.151269 67.11943) + (xy 90.125138 67.11943) + (xy 89.948236 67.076959) + (xy 89.948226 67.076957) + (xy 89.945363 67.07627) + (xy 89.942416 67.076038) + (xy 89.759169 67.061616) + (xy 89.759162 67.061615) + (xy 89.757692 67.0615) + (xy 89.632308 67.0615) + (xy 89.630838 67.061615) + (xy 89.63083 67.061616) + (xy 89.447583 67.076038) + (xy 89.447581 67.076038) + (xy 89.444637 67.07627) + (xy 89.441775 67.076957) + (xy 89.441763 67.076959) + (xy 89.203319 67.134205) + (xy 89.203312 67.134207) + (xy 89.200439 67.134897) + (xy 89.19771 67.136027) + (xy 89.197705 67.136029) + (xy 88.97114 67.229875) + (xy 88.971134 67.229877) + (xy 88.968418 67.231003) + (xy 88.965914 67.232537) + (xy 88.965905 67.232542) + (xy 88.756803 67.36068) + (xy 88.756795 67.360685) + (xy 88.754288 67.362222) + (xy 88.752051 67.364131) + (xy 88.752042 67.364139) + (xy 88.565562 67.523408) + (xy 88.565556 67.523413) + (xy 88.563322 67.525322) + (xy 88.561413 67.527556) + (xy 88.561408 67.527562) + (xy 88.402139 67.714042) + (xy 88.402131 67.714051) + (xy 88.400222 67.716288) + (xy 88.398685 67.718795) + (xy 88.39868 67.718803) + (xy 88.270542 67.927905) + (xy 88.270537 67.927914) + (xy 88.269003 67.930418) + (xy 88.267877 67.933134) + (xy 88.267875 67.93314) + (xy 88.177175 68.152111) + (xy 88.172897 68.162439) + (xy 88.172207 68.165312) + (xy 88.172205 68.165319) + (xy 88.114959 68.403763) + (xy 88.114957 68.403775) + (xy 88.11427 68.406637) + (xy 88.114038 68.409581) + (xy 88.114038 68.409583) + (xy 88.099801 68.590485) + (xy 88.094566 68.657) + (xy 69.787 68.657) + (xy 69.787 65.377) + (xy 92.768389 65.377) + (xy 92.768751 65.380676) + (xy 92.786099 65.556821) + (xy 92.786789 65.563821) + (xy 92.787859 65.56735) + (xy 92.78786 65.567352) + (xy 92.801438 65.612111) + (xy 92.841283 65.743462) + (xy 92.843019 65.746711) + (xy 92.843023 65.746719) + (xy 92.921995 65.894463) + (xy 92.929776 65.90902) + (xy 92.969168 65.957019) + (xy 93.041834 66.045564) + (xy 93.048867 66.054133) + (xy 93.19398 66.173224) + (xy 93.238462 66.197) + (xy 93.35628 66.259976) + (xy 93.356283 66.259977) + (xy 93.359538 66.261717) + (xy 93.539179 66.316211) + (xy 93.726 66.334611) + (xy 93.912821 66.316211) + (xy 94.092462 66.261717) + (xy 94.25802 66.173224) + (xy 94.403133 66.054133) + (xy 94.522224 65.90902) + (xy 94.610717 65.743462) + (xy 94.665211 65.563821) + (xy 94.683611 65.377) + (xy 95.268389 65.377) + (xy 95.268751 65.380676) + (xy 95.286099 65.556821) + (xy 95.286789 65.563821) + (xy 95.287859 65.56735) + (xy 95.28786 65.567352) + (xy 95.301438 65.612111) + (xy 95.341283 65.743462) + (xy 95.343019 65.746711) + (xy 95.343023 65.746719) + (xy 95.421995 65.894463) + (xy 95.429776 65.90902) + (xy 95.469168 65.957019) + (xy 95.541834 66.045564) + (xy 95.548867 66.054133) + (xy 95.69398 66.173224) + (xy 95.738462 66.197) + (xy 95.85628 66.259976) + (xy 95.856283 66.259977) + (xy 95.859538 66.261717) + (xy 96.039179 66.316211) + (xy 96.226 66.334611) + (xy 96.412821 66.316211) + (xy 96.592462 66.261717) + (xy 96.75802 66.173224) + (xy 96.903133 66.054133) + (xy 97.022224 65.90902) + (xy 97.110717 65.743462) + (xy 97.165211 65.563821) + (xy 97.183611 65.377) + (xy 97.182922 65.37) + (xy 97.848389 65.37) + (xy 97.848751 65.373676) + (xy 97.86598 65.548613) + (xy 97.866789 65.556821) + (xy 97.867859 65.56035) + (xy 97.86786 65.560352) + (xy 97.88121 65.60436) + (xy 97.921283 65.736462) + (xy 97.923019 65.739711) + (xy 97.923023 65.739719) + (xy 98.006793 65.89644) + (xy 98.009776 65.90202) + (xy 98.035476 65.933335) + (xy 98.12545 66.04297) + (xy 98.128867 66.047133) + (xy 98.27398 66.166224) + (xy 98.318462 66.19) + (xy 98.43628 66.252976) + (xy 98.436283 66.252977) + (xy 98.439538 66.254717) + (xy 98.619179 66.309211) + (xy 98.806 66.327611) + (xy 98.992821 66.309211) + (xy 99.172462 66.254717) + (xy 99.33802 66.166224) + (xy 99.483133 66.047133) + (xy 99.602224 65.90202) + (xy 99.690717 65.736462) + (xy 99.745211 65.556821) + (xy 99.763611 65.37) + (xy 100.348389 65.37) + (xy 100.348751 65.373676) + (xy 100.36598 65.548613) + (xy 100.366789 65.556821) + (xy 100.367859 65.56035) + (xy 100.36786 65.560352) + (xy 100.38121 65.60436) + (xy 100.421283 65.736462) + (xy 100.423019 65.739711) + (xy 100.423023 65.739719) + (xy 100.506793 65.89644) + (xy 100.509776 65.90202) + (xy 100.535476 65.933335) + (xy 100.62545 66.04297) + (xy 100.628867 66.047133) + (xy 100.77398 66.166224) + (xy 100.818462 66.19) + (xy 100.93628 66.252976) + (xy 100.936283 66.252977) + (xy 100.939538 66.254717) + (xy 101.119179 66.309211) + (xy 101.306 66.327611) + (xy 101.492821 66.309211) + (xy 101.672462 66.254717) + (xy 101.83802 66.166224) + (xy 101.983133 66.047133) + (xy 102.102224 65.90202) + (xy 102.190717 65.736462) + (xy 102.245211 65.556821) + (xy 102.263611 65.37) + (xy 102.245211 65.183179) + (xy 102.190717 65.003538) + (xy 102.186826 64.996259) + (xy 102.136562 64.902221) + (xy 102.102224 64.83798) + (xy 101.983133 64.692867) + (xy 101.83802 64.573776) + (xy 101.813544 64.560693) + (xy 101.675719 64.487023) + (xy 101.675711 64.487019) + (xy 101.672462 64.485283) + (xy 101.562569 64.451947) + (xy 101.496352 64.43186) + (xy 101.49635 64.431859) + (xy 101.492821 64.430789) + (xy 101.48915 64.430427) + (xy 101.489148 64.430427) + (xy 101.309676 64.412751) + (xy 101.306 64.412389) + (xy 101.302324 64.412751) + (xy 101.122851 64.430427) + (xy 101.122847 64.430427) + (xy 101.119179 64.430789) + (xy 101.115651 64.431859) + (xy 101.115647 64.43186) + (xy 100.943068 64.484212) + (xy 100.943066 64.484212) + (xy 100.939538 64.485283) + (xy 100.936292 64.487018) + (xy 100.93628 64.487023) + (xy 100.777238 64.572034) + (xy 100.777233 64.572036) + (xy 100.77398 64.573776) + (xy 100.771127 64.576117) + (xy 100.771123 64.57612) + (xy 100.631722 64.690523) + (xy 100.631716 64.690528) + (xy 100.628867 64.692867) + (xy 100.626528 64.695716) + (xy 100.626523 64.695722) + (xy 100.51212 64.835123) + (xy 100.512117 64.835127) + (xy 100.509776 64.83798) + (xy 100.508036 64.841233) + (xy 100.508034 64.841238) + (xy 100.423023 65.00028) + (xy 100.423018 65.000292) + (xy 100.421283 65.003538) + (xy 100.420212 65.007066) + (xy 100.420212 65.007068) + (xy 100.370588 65.170656) + (xy 100.366789 65.183179) + (xy 100.366427 65.186847) + (xy 100.366427 65.186851) + (xy 100.352006 65.333278) + (xy 100.348389 65.37) + (xy 99.763611 65.37) + (xy 99.745211 65.183179) + (xy 99.690717 65.003538) + (xy 99.686826 64.996259) + (xy 99.636562 64.902221) + (xy 99.602224 64.83798) + (xy 99.483133 64.692867) + (xy 99.33802 64.573776) + (xy 99.313544 64.560693) + (xy 99.175719 64.487023) + (xy 99.175711 64.487019) + (xy 99.172462 64.485283) + (xy 99.062569 64.451947) + (xy 98.996352 64.43186) + (xy 98.99635 64.431859) + (xy 98.992821 64.430789) + (xy 98.98915 64.430427) + (xy 98.989148 64.430427) + (xy 98.809676 64.412751) + (xy 98.806 64.412389) + (xy 98.802324 64.412751) + (xy 98.622851 64.430427) + (xy 98.622847 64.430427) + (xy 98.619179 64.430789) + (xy 98.615651 64.431859) + (xy 98.615647 64.43186) + (xy 98.443068 64.484212) + (xy 98.443066 64.484212) + (xy 98.439538 64.485283) + (xy 98.436292 64.487018) + (xy 98.43628 64.487023) + (xy 98.277238 64.572034) + (xy 98.277233 64.572036) + (xy 98.27398 64.573776) + (xy 98.271127 64.576117) + (xy 98.271123 64.57612) + (xy 98.131722 64.690523) + (xy 98.131716 64.690528) + (xy 98.128867 64.692867) + (xy 98.126528 64.695716) + (xy 98.126523 64.695722) + (xy 98.01212 64.835123) + (xy 98.012117 64.835127) + (xy 98.009776 64.83798) + (xy 98.008036 64.841233) + (xy 98.008034 64.841238) + (xy 97.923023 65.00028) + (xy 97.923018 65.000292) + (xy 97.921283 65.003538) + (xy 97.920212 65.007066) + (xy 97.920212 65.007068) + (xy 97.870588 65.170656) + (xy 97.866789 65.183179) + (xy 97.866427 65.186847) + (xy 97.866427 65.186851) + (xy 97.852006 65.333278) + (xy 97.848389 65.37) + (xy 97.182922 65.37) + (xy 97.165211 65.190179) + (xy 97.110717 65.010538) + (xy 97.108862 65.007068) + (xy 97.065614 64.926156) + (xy 97.022224 64.84498) + (xy 96.903133 64.699867) + (xy 96.897413 64.695173) + (xy 96.802748 64.617483) + (xy 96.75802 64.580776) + (xy 96.732449 64.567108) + (xy 96.595719 64.494023) + (xy 96.595711 64.494019) + (xy 96.592462 64.492283) + (xy 96.466446 64.454056) + (xy 96.416352 64.43886) + (xy 96.41635 64.438859) + (xy 96.412821 64.437789) + (xy 96.40915 64.437427) + (xy 96.409148 64.437427) + (xy 96.229676 64.419751) + (xy 96.226 64.419389) + (xy 96.222324 64.419751) + (xy 96.042851 64.437427) + (xy 96.042847 64.437427) + (xy 96.039179 64.437789) + (xy 96.035651 64.438859) + (xy 96.035647 64.43886) + (xy 95.863068 64.491212) + (xy 95.863066 64.491212) + (xy 95.859538 64.492283) + (xy 95.856292 64.494018) + (xy 95.85628 64.494023) + (xy 95.697238 64.579034) + (xy 95.697233 64.579036) + (xy 95.69398 64.580776) + (xy 95.691127 64.583117) + (xy 95.691123 64.58312) + (xy 95.551722 64.697523) + (xy 95.551716 64.697528) + (xy 95.548867 64.699867) + (xy 95.546528 64.702716) + (xy 95.546523 64.702722) + (xy 95.43212 64.842123) + (xy 95.432117 64.842127) + (xy 95.429776 64.84498) + (xy 95.428036 64.848233) + (xy 95.428034 64.848238) + (xy 95.343023 65.00728) + (xy 95.343018 65.007292) + (xy 95.341283 65.010538) + (xy 95.340212 65.014066) + (xy 95.340212 65.014068) + (xy 95.289984 65.179647) + (xy 95.286789 65.190179) + (xy 95.286427 65.193847) + (xy 95.286427 65.193851) + (xy 95.271634 65.34405) + (xy 95.268389 65.377) + (xy 94.683611 65.377) + (xy 94.665211 65.190179) + (xy 94.610717 65.010538) + (xy 94.608862 65.007068) + (xy 94.565614 64.926156) + (xy 94.522224 64.84498) + (xy 94.403133 64.699867) + (xy 94.397413 64.695173) + (xy 94.302748 64.617483) + (xy 94.25802 64.580776) + (xy 94.232449 64.567108) + (xy 94.095719 64.494023) + (xy 94.095711 64.494019) + (xy 94.092462 64.492283) + (xy 93.966446 64.454056) + (xy 93.916352 64.43886) + (xy 93.91635 64.438859) + (xy 93.912821 64.437789) + (xy 93.90915 64.437427) + (xy 93.909148 64.437427) + (xy 93.729676 64.419751) + (xy 93.726 64.419389) + (xy 93.722324 64.419751) + (xy 93.542851 64.437427) + (xy 93.542847 64.437427) + (xy 93.539179 64.437789) + (xy 93.535651 64.438859) + (xy 93.535647 64.43886) + (xy 93.363068 64.491212) + (xy 93.363066 64.491212) + (xy 93.359538 64.492283) + (xy 93.356292 64.494018) + (xy 93.35628 64.494023) + (xy 93.197238 64.579034) + (xy 93.197233 64.579036) + (xy 93.19398 64.580776) + (xy 93.191127 64.583117) + (xy 93.191123 64.58312) + (xy 93.051722 64.697523) + (xy 93.051716 64.697528) + (xy 93.048867 64.699867) + (xy 93.046528 64.702716) + (xy 93.046523 64.702722) + (xy 92.93212 64.842123) + (xy 92.932117 64.842127) + (xy 92.929776 64.84498) + (xy 92.928036 64.848233) + (xy 92.928034 64.848238) + (xy 92.843023 65.00728) + (xy 92.843018 65.007292) + (xy 92.841283 65.010538) + (xy 92.840212 65.014066) + (xy 92.840212 65.014068) + (xy 92.789984 65.179647) + (xy 92.786789 65.190179) + (xy 92.786427 65.193847) + (xy 92.786427 65.193851) + (xy 92.771634 65.34405) + (xy 92.768389 65.377) + (xy 69.787 65.377) + (xy 69.787 62.877) + (xy 92.768389 62.877) + (xy 92.768751 62.880676) + (xy 92.786099 63.056821) + (xy 92.786789 63.063821) + (xy 92.787859 63.06735) + (xy 92.78786 63.067352) + (xy 92.812744 63.149381) + (xy 92.841283 63.243462) + (xy 92.843019 63.246711) + (xy 92.843023 63.246719) + (xy 92.91821 63.387381) + (xy 92.929776 63.40902) + (xy 92.952778 63.437048) + (xy 93.038429 63.541415) + (xy 93.048867 63.554133) + (xy 93.19398 63.673224) + (xy 93.26584 63.711634) + (xy 93.35628 63.759976) + (xy 93.356283 63.759977) + (xy 93.359538 63.761717) + (xy 93.539179 63.816211) + (xy 93.703531 63.832398) + (xy 93.722019 63.834219) + (xy 93.726 63.834611) + (xy 93.729981 63.834219) + (xy 93.748469 63.832398) + (xy 93.912821 63.816211) + (xy 94.092462 63.761717) + (xy 94.25802 63.673224) + (xy 94.403133 63.554133) + (xy 94.522224 63.40902) + (xy 94.610717 63.243462) + (xy 94.665211 63.063821) + (xy 94.683611 62.877) + (xy 95.268389 62.877) + (xy 95.268751 62.880676) + (xy 95.286099 63.056821) + (xy 95.286789 63.063821) + (xy 95.287859 63.06735) + (xy 95.28786 63.067352) + (xy 95.312744 63.149381) + (xy 95.341283 63.243462) + (xy 95.343019 63.246711) + (xy 95.343023 63.246719) + (xy 95.41821 63.387381) + (xy 95.429776 63.40902) + (xy 95.452778 63.437048) + (xy 95.538429 63.541415) + (xy 95.548867 63.554133) + (xy 95.69398 63.673224) + (xy 95.76584 63.711634) + (xy 95.85628 63.759976) + (xy 95.856283 63.759977) + (xy 95.859538 63.761717) + (xy 96.039179 63.816211) + (xy 96.203531 63.832398) + (xy 96.222019 63.834219) + (xy 96.226 63.834611) + (xy 96.229981 63.834219) + (xy 96.248469 63.832398) + (xy 96.412821 63.816211) + (xy 96.592462 63.761717) + (xy 96.75802 63.673224) + (xy 96.903133 63.554133) + (xy 97.022224 63.40902) + (xy 97.110717 63.243462) + (xy 97.165211 63.063821) + (xy 97.183611 62.877) + (xy 97.182922 62.87) + (xy 97.848389 62.87) + (xy 97.848751 62.873676) + (xy 97.86605 63.049325) + (xy 97.866789 63.056821) + (xy 97.867859 63.06035) + (xy 97.86786 63.060352) + (xy 97.880553 63.102194) + (xy 97.921283 63.236462) + (xy 97.923019 63.239711) + (xy 97.923023 63.239719) + (xy 98.001647 63.386812) + (xy 98.009776 63.40202) + (xy 98.042912 63.442396) + (xy 98.124173 63.541414) + (xy 98.128867 63.547133) + (xy 98.27398 63.666224) + (xy 98.34276 63.702988) + (xy 98.43628 63.752976) + (xy 98.436283 63.752977) + (xy 98.439538 63.754717) + (xy 98.619179 63.809211) + (xy 98.806 63.827611) + (xy 98.992821 63.809211) + (xy 99.172462 63.754717) + (xy 99.33802 63.666224) + (xy 99.483133 63.547133) + (xy 99.602224 63.40202) + (xy 99.690717 63.236462) + (xy 99.745211 63.056821) + (xy 99.763611 62.87) + (xy 100.348389 62.87) + (xy 100.348751 62.873676) + (xy 100.36605 63.049325) + (xy 100.366789 63.056821) + (xy 100.367859 63.06035) + (xy 100.36786 63.060352) + (xy 100.380553 63.102194) + (xy 100.421283 63.236462) + (xy 100.423019 63.239711) + (xy 100.423023 63.239719) + (xy 100.501647 63.386812) + (xy 100.509776 63.40202) + (xy 100.542912 63.442396) + (xy 100.624173 63.541414) + (xy 100.628867 63.547133) + (xy 100.77398 63.666224) + (xy 100.84276 63.702988) + (xy 100.93628 63.752976) + (xy 100.936283 63.752977) + (xy 100.939538 63.754717) + (xy 101.119179 63.809211) + (xy 101.306 63.827611) + (xy 101.492821 63.809211) + (xy 101.672462 63.754717) + (xy 101.83802 63.666224) + (xy 101.983133 63.547133) + (xy 102.102224 63.40202) + (xy 102.190717 63.236462) + (xy 102.245211 63.056821) + (xy 102.263611 62.87) + (xy 102.245211 62.683179) + (xy 102.190717 62.503538) + (xy 102.185566 62.493902) + (xy 102.140443 62.409482) + (xy 102.102224 62.33798) + (xy 101.983133 62.192867) + (xy 101.962842 62.176215) + (xy 101.849406 62.08312) + (xy 101.83802 62.073776) + (xy 101.834697 62.072) + (xy 101.675719 61.987023) + (xy 101.675711 61.987019) + (xy 101.672462 61.985283) + (xy 101.521834 61.93959) + (xy 101.496352 61.93186) + (xy 101.49635 61.931859) + (xy 101.492821 61.930789) + (xy 101.48915 61.930427) + (xy 101.489148 61.930427) + (xy 101.309676 61.912751) + (xy 101.306 61.912389) + (xy 101.302324 61.912751) + (xy 101.122851 61.930427) + (xy 101.122847 61.930427) + (xy 101.119179 61.930789) + (xy 101.115651 61.931859) + (xy 101.115647 61.93186) + (xy 100.943068 61.984212) + (xy 100.943066 61.984212) + (xy 100.939538 61.985283) + (xy 100.936292 61.987018) + (xy 100.93628 61.987023) + (xy 100.777238 62.072034) + (xy 100.777233 62.072036) + (xy 100.77398 62.073776) + (xy 100.771127 62.076117) + (xy 100.771123 62.07612) + (xy 100.631722 62.190523) + (xy 100.631716 62.190528) + (xy 100.628867 62.192867) + (xy 100.626528 62.195716) + (xy 100.626523 62.195722) + (xy 100.51212 62.335123) + (xy 100.512117 62.335127) + (xy 100.509776 62.33798) + (xy 100.508036 62.341233) + (xy 100.508034 62.341238) + (xy 100.423023 62.50028) + (xy 100.423018 62.500292) + (xy 100.421283 62.503538) + (xy 100.420212 62.507066) + (xy 100.420212 62.507068) + (xy 100.373055 62.662524) + (xy 100.366789 62.683179) + (xy 100.366427 62.686847) + (xy 100.366427 62.686851) + (xy 100.353012 62.823058) + (xy 100.348389 62.87) + (xy 99.763611 62.87) + (xy 99.745211 62.683179) + (xy 99.690717 62.503538) + (xy 99.685566 62.493902) + (xy 99.640443 62.409482) + (xy 99.602224 62.33798) + (xy 99.483133 62.192867) + (xy 99.462842 62.176215) + (xy 99.349406 62.08312) + (xy 99.33802 62.073776) + (xy 99.334697 62.072) + (xy 99.175719 61.987023) + (xy 99.175711 61.987019) + (xy 99.172462 61.985283) + (xy 99.021834 61.93959) + (xy 98.996352 61.93186) + (xy 98.99635 61.931859) + (xy 98.992821 61.930789) + (xy 98.98915 61.930427) + (xy 98.989148 61.930427) + (xy 98.809676 61.912751) + (xy 98.806 61.912389) + (xy 98.802324 61.912751) + (xy 98.622851 61.930427) + (xy 98.622847 61.930427) + (xy 98.619179 61.930789) + (xy 98.615651 61.931859) + (xy 98.615647 61.93186) + (xy 98.443068 61.984212) + (xy 98.443066 61.984212) + (xy 98.439538 61.985283) + (xy 98.436292 61.987018) + (xy 98.43628 61.987023) + (xy 98.277238 62.072034) + (xy 98.277233 62.072036) + (xy 98.27398 62.073776) + (xy 98.271127 62.076117) + (xy 98.271123 62.07612) + (xy 98.131722 62.190523) + (xy 98.131716 62.190528) + (xy 98.128867 62.192867) + (xy 98.126528 62.195716) + (xy 98.126523 62.195722) + (xy 98.01212 62.335123) + (xy 98.012117 62.335127) + (xy 98.009776 62.33798) + (xy 98.008036 62.341233) + (xy 98.008034 62.341238) + (xy 97.923023 62.50028) + (xy 97.923018 62.500292) + (xy 97.921283 62.503538) + (xy 97.920212 62.507066) + (xy 97.920212 62.507068) + (xy 97.873055 62.662524) + (xy 97.866789 62.683179) + (xy 97.866427 62.686847) + (xy 97.866427 62.686851) + (xy 97.853012 62.823058) + (xy 97.848389 62.87) + (xy 97.182922 62.87) + (xy 97.165211 62.690179) + (xy 97.110717 62.510538) + (xy 97.108862 62.507068) + (xy 97.054351 62.405085) + (xy 97.022224 62.34498) + (xy 96.903133 62.199867) + (xy 96.894603 62.192867) + (xy 96.761657 62.083761) + (xy 96.75802 62.080776) + (xy 96.750993 62.07702) + (xy 96.595719 61.994023) + (xy 96.595711 61.994019) + (xy 96.592462 61.992283) + (xy 96.412821 61.937789) + (xy 96.40915 61.937427) + (xy 96.409148 61.937427) + (xy 96.229676 61.919751) + (xy 96.226 61.919389) + (xy 96.222324 61.919751) + (xy 96.042851 61.937427) + (xy 96.042847 61.937427) + (xy 96.039179 61.937789) + (xy 96.035651 61.938859) + (xy 96.035647 61.93886) + (xy 95.863068 61.991212) + (xy 95.863066 61.991212) + (xy 95.859538 61.992283) + (xy 95.856292 61.994018) + (xy 95.85628 61.994023) + (xy 95.697238 62.079034) + (xy 95.697233 62.079036) + (xy 95.69398 62.080776) + (xy 95.691127 62.083117) + (xy 95.691123 62.08312) + (xy 95.551722 62.197523) + (xy 95.551716 62.197528) + (xy 95.548867 62.199867) + (xy 95.546528 62.202716) + (xy 95.546523 62.202722) + (xy 95.43212 62.342123) + (xy 95.432117 62.342127) + (xy 95.429776 62.34498) + (xy 95.428036 62.348233) + (xy 95.428034 62.348238) + (xy 95.343023 62.50728) + (xy 95.343018 62.507292) + (xy 95.341283 62.510538) + (xy 95.340212 62.514066) + (xy 95.340212 62.514068) + (xy 95.28812 62.685792) + (xy 95.286789 62.690179) + (xy 95.286427 62.693847) + (xy 95.286427 62.693851) + (xy 95.271294 62.8475) + (xy 95.268389 62.877) + (xy 94.683611 62.877) + (xy 94.665211 62.690179) + (xy 94.610717 62.510538) + (xy 94.608862 62.507068) + (xy 94.554351 62.405085) + (xy 94.522224 62.34498) + (xy 94.403133 62.199867) + (xy 94.394603 62.192867) + (xy 94.261657 62.083761) + (xy 94.25802 62.080776) + (xy 94.250993 62.07702) + (xy 94.095719 61.994023) + (xy 94.095711 61.994019) + (xy 94.092462 61.992283) + (xy 93.912821 61.937789) + (xy 93.90915 61.937427) + (xy 93.909148 61.937427) + (xy 93.729676 61.919751) + (xy 93.726 61.919389) + (xy 93.722324 61.919751) + (xy 93.542851 61.937427) + (xy 93.542847 61.937427) + (xy 93.539179 61.937789) + (xy 93.535651 61.938859) + (xy 93.535647 61.93886) + (xy 93.363068 61.991212) + (xy 93.363066 61.991212) + (xy 93.359538 61.992283) + (xy 93.356292 61.994018) + (xy 93.35628 61.994023) + (xy 93.197238 62.079034) + (xy 93.197233 62.079036) + (xy 93.19398 62.080776) + (xy 93.191127 62.083117) + (xy 93.191123 62.08312) + (xy 93.051722 62.197523) + (xy 93.051716 62.197528) + (xy 93.048867 62.199867) + (xy 93.046528 62.202716) + (xy 93.046523 62.202722) + (xy 92.93212 62.342123) + (xy 92.932117 62.342127) + (xy 92.929776 62.34498) + (xy 92.928036 62.348233) + (xy 92.928034 62.348238) + (xy 92.843023 62.50728) + (xy 92.843018 62.507292) + (xy 92.841283 62.510538) + (xy 92.840212 62.514066) + (xy 92.840212 62.514068) + (xy 92.78812 62.685792) + (xy 92.786789 62.690179) + (xy 92.786427 62.693847) + (xy 92.786427 62.693851) + (xy 92.771294 62.8475) + (xy 92.768389 62.877) + (xy 69.787 62.877) + (xy 69.787 61.863078) + (xy 69.792724 61.8343) + (xy 69.809026 61.809904) + (xy 70.484361 61.134569) + (xy 93.151268 61.134569) + (xy 93.156004 61.141412) + (xy 93.191401 61.170461) + (xy 93.197521 61.17455) + (xy 93.356467 61.259508) + (xy 93.363268 61.262326) + (xy 93.535742 61.314645) + (xy 93.542952 61.31608) + (xy 93.722325 61.333747) + (xy 93.729675 61.333747) + (xy 93.909047 61.31608) + (xy 93.916257 61.314645) + (xy 94.088731 61.262326) + (xy 94.095532 61.259508) + (xy 94.25448 61.174549) + (xy 94.260597 61.170462) + (xy 94.295993 61.141412) + (xy 94.300729 61.134569) + (xy 95.651268 61.134569) + (xy 95.656004 61.141412) + (xy 95.691401 61.170461) + (xy 95.697521 61.17455) + (xy 95.856467 61.259508) + (xy 95.863268 61.262326) + (xy 96.035742 61.314645) + (xy 96.042952 61.31608) + (xy 96.222325 61.333747) + (xy 96.229675 61.333747) + (xy 96.409047 61.31608) + (xy 96.416257 61.314645) + (xy 96.588731 61.262326) + (xy 96.595532 61.259508) + (xy 96.75448 61.174549) + (xy 96.760597 61.170462) + (xy 96.795993 61.141412) + (xy 96.80073 61.134568) + (xy 96.796685 61.12729) + (xy 96.233 60.563605) + (xy 96.225999 60.559563) + (xy 96.218999 60.563605) + (xy 95.655314 61.127289) + (xy 95.651268 61.134569) + (xy 94.300729 61.134569) + (xy 94.30073 61.134568) + (xy 94.296685 61.12729) + (xy 93.733 60.563605) + (xy 93.725999 60.559563) + (xy 93.718999 60.563605) + (xy 93.155314 61.127289) + (xy 93.151268 61.134569) + (xy 70.484361 61.134569) + (xy 70.572904 61.046026) + (xy 70.5973 61.029724) + (xy 70.626078 61.024) + (xy 76.030583 61.024) + (xy 76.040398 61.024643) + (xy 76.073 61.028935) + (xy 76.077884 61.028292) + (xy 76.077889 61.028292) + (xy 76.103108 61.024971) + (xy 76.11048 61.024) + (xy 76.110491 61.024) + (xy 76.110492 61.024) + (xy 76.222322 61.009277) + (xy 76.361468 60.951641) + (xy 76.368975 60.945881) + (xy 76.450954 60.882976) + (xy 76.450958 60.882972) + (xy 76.475683 60.864) + (xy 76.480955 60.859955) + (xy 76.500984 60.833851) + (xy 76.507456 60.826473) + (xy 76.953254 60.380675) + (xy 92.769253 60.380675) + (xy 92.786919 60.560047) + (xy 92.788354 60.567257) + (xy 92.840673 60.739731) + (xy 92.843491 60.746532) + (xy 92.928449 60.905478) + (xy 92.932538 60.911598) + (xy 92.961586 60.946994) + (xy 92.96843 60.95173) + (xy 92.975709 60.947684) + (xy 93.539394 60.384) + (xy 93.543436 60.376999) + (xy 93.908563 60.376999) + (xy 93.912605 60.384) + (xy 94.47629 60.947685) + (xy 94.483568 60.95173) + (xy 94.490412 60.946993) + (xy 94.519462 60.911597) + (xy 94.523549 60.90548) + (xy 94.608508 60.746532) + (xy 94.611326 60.739731) + (xy 94.663645 60.567257) + (xy 94.66508 60.560047) + (xy 94.682747 60.380675) + (xy 95.269253 60.380675) + (xy 95.286919 60.560047) + (xy 95.288354 60.567257) + (xy 95.340673 60.739731) + (xy 95.343491 60.746532) + (xy 95.428449 60.905478) + (xy 95.432538 60.911598) + (xy 95.461586 60.946994) + (xy 95.46843 60.95173) + (xy 95.475709 60.947684) + (xy 96.039394 60.384) + (xy 96.043436 60.376999) + (xy 96.408563 60.376999) + (xy 96.412605 60.384) + (xy 96.97629 60.947685) + (xy 96.983568 60.95173) + (xy 96.990412 60.946993) + (xy 97.019462 60.911597) + (xy 97.023549 60.90548) + (xy 97.108508 60.746532) + (xy 97.111326 60.739731) + (xy 97.163645 60.567257) + (xy 97.16508 60.560047) + (xy 97.182747 60.380675) + (xy 97.182747 60.373325) + (xy 97.18242 60.37) + (xy 97.848389 60.37) + (xy 97.848751 60.373676) + (xy 97.862923 60.517575) + (xy 97.866789 60.556821) + (xy 97.867859 60.56035) + (xy 97.86786 60.560352) + (xy 97.881395 60.604969) + (xy 97.921283 60.736462) + (xy 97.923019 60.739711) + (xy 97.923023 60.739719) + (xy 97.999596 60.882974) + (xy 98.009776 60.90202) + (xy 98.128867 61.047133) + (xy 98.27398 61.166224) + (xy 98.289557 61.17455) + (xy 98.43628 61.252976) + (xy 98.436283 61.252977) + (xy 98.439538 61.254717) + (xy 98.619179 61.309211) + (xy 98.806 61.327611) + (xy 98.992821 61.309211) + (xy 99.172462 61.254717) + (xy 99.33802 61.166224) + (xy 99.483133 61.047133) + (xy 99.602224 60.90202) + (xy 99.690717 60.736462) + (xy 99.745211 60.556821) + (xy 99.763611 60.37) + (xy 100.348389 60.37) + (xy 100.348751 60.373676) + (xy 100.362923 60.517575) + (xy 100.366789 60.556821) + (xy 100.367859 60.56035) + (xy 100.36786 60.560352) + (xy 100.381395 60.604969) + (xy 100.421283 60.736462) + (xy 100.423019 60.739711) + (xy 100.423023 60.739719) + (xy 100.499596 60.882974) + (xy 100.509776 60.90202) + (xy 100.628867 61.047133) + (xy 100.77398 61.166224) + (xy 100.789557 61.17455) + (xy 100.93628 61.252976) + (xy 100.936283 61.252977) + (xy 100.939538 61.254717) + (xy 101.119179 61.309211) + (xy 101.306 61.327611) + (xy 101.492821 61.309211) + (xy 101.672462 61.254717) + (xy 101.83802 61.166224) + (xy 101.983133 61.047133) + (xy 102.102224 60.90202) + (xy 102.190717 60.736462) + (xy 102.245211 60.556821) + (xy 102.263611 60.37) + (xy 102.245211 60.183179) + (xy 102.190717 60.003538) + (xy 102.188616 59.999608) + (xy 102.135417 59.900079) + (xy 102.102224 59.83798) + (xy 101.983133 59.692867) + (xy 101.958933 59.673007) + (xy 101.878813 59.607254) + (xy 101.83802 59.573776) + (xy 101.793754 59.550115) + (xy 101.675719 59.487023) + (xy 101.675711 59.487019) + (xy 101.672462 59.485283) + (xy 101.552815 59.448988) + (xy 101.496352 59.43186) + (xy 101.49635 59.431859) + (xy 101.492821 59.430789) + (xy 101.48915 59.430427) + (xy 101.489148 59.430427) + (xy 101.309676 59.412751) + (xy 101.306 59.412389) + (xy 101.302324 59.412751) + (xy 101.122851 59.430427) + (xy 101.122847 59.430427) + (xy 101.119179 59.430789) + (xy 101.115651 59.431859) + (xy 101.115647 59.43186) + (xy 100.943068 59.484212) + (xy 100.943066 59.484212) + (xy 100.939538 59.485283) + (xy 100.936292 59.487018) + (xy 100.93628 59.487023) + (xy 100.777238 59.572034) + (xy 100.777233 59.572036) + (xy 100.77398 59.573776) + (xy 100.771127 59.576117) + (xy 100.771123 59.57612) + (xy 100.631722 59.690523) + (xy 100.631716 59.690528) + (xy 100.628867 59.692867) + (xy 100.626528 59.695716) + (xy 100.626523 59.695722) + (xy 100.51212 59.835123) + (xy 100.512117 59.835127) + (xy 100.509776 59.83798) + (xy 100.508036 59.841233) + (xy 100.508034 59.841238) + (xy 100.423023 60.00028) + (xy 100.423018 60.000292) + (xy 100.421283 60.003538) + (xy 100.420212 60.007066) + (xy 100.420212 60.007068) + (xy 100.370609 60.170587) + (xy 100.366789 60.183179) + (xy 100.366427 60.186847) + (xy 100.366427 60.186851) + (xy 100.354527 60.307679) + (xy 100.348389 60.37) + (xy 99.763611 60.37) + (xy 99.745211 60.183179) + (xy 99.690717 60.003538) + (xy 99.688616 59.999608) + (xy 99.635417 59.900079) + (xy 99.602224 59.83798) + (xy 99.483133 59.692867) + (xy 99.458933 59.673007) + (xy 99.378813 59.607254) + (xy 99.33802 59.573776) + (xy 99.293754 59.550115) + (xy 99.175719 59.487023) + (xy 99.175711 59.487019) + (xy 99.172462 59.485283) + (xy 99.052815 59.448988) + (xy 98.996352 59.43186) + (xy 98.99635 59.431859) + (xy 98.992821 59.430789) + (xy 98.98915 59.430427) + (xy 98.989148 59.430427) + (xy 98.809676 59.412751) + (xy 98.806 59.412389) + (xy 98.802324 59.412751) + (xy 98.622851 59.430427) + (xy 98.622847 59.430427) + (xy 98.619179 59.430789) + (xy 98.615651 59.431859) + (xy 98.615647 59.43186) + (xy 98.443068 59.484212) + (xy 98.443066 59.484212) + (xy 98.439538 59.485283) + (xy 98.436292 59.487018) + (xy 98.43628 59.487023) + (xy 98.277238 59.572034) + (xy 98.277233 59.572036) + (xy 98.27398 59.573776) + (xy 98.271127 59.576117) + (xy 98.271123 59.57612) + (xy 98.131722 59.690523) + (xy 98.131716 59.690528) + (xy 98.128867 59.692867) + (xy 98.126528 59.695716) + (xy 98.126523 59.695722) + (xy 98.01212 59.835123) + (xy 98.012117 59.835127) + (xy 98.009776 59.83798) + (xy 98.008036 59.841233) + (xy 98.008034 59.841238) + (xy 97.923023 60.00028) + (xy 97.923018 60.000292) + (xy 97.921283 60.003538) + (xy 97.920212 60.007066) + (xy 97.920212 60.007068) + (xy 97.870609 60.170587) + (xy 97.866789 60.183179) + (xy 97.866427 60.186847) + (xy 97.866427 60.186851) + (xy 97.854527 60.307679) + (xy 97.848389 60.37) + (xy 97.18242 60.37) + (xy 97.16508 60.193952) + (xy 97.163645 60.186742) + (xy 97.111326 60.014268) + (xy 97.108508 60.007467) + (xy 97.02355 59.848521) + (xy 97.019461 59.842401) + (xy 96.990412 59.807004) + (xy 96.983569 59.802268) + (xy 96.976289 59.806314) + (xy 96.412605 60.369999) + (xy 96.408563 60.376999) + (xy 96.043436 60.376999) + (xy 96.039394 60.369999) + (xy 95.475709 59.806314) + (xy 95.46843 59.802269) + (xy 95.461585 59.807006) + (xy 95.432538 59.8424) + (xy 95.428448 59.848523) + (xy 95.343491 60.007467) + (xy 95.340673 60.014268) + (xy 95.288354 60.186742) + (xy 95.286919 60.193952) + (xy 95.269253 60.373325) + (xy 95.269253 60.380675) + (xy 94.682747 60.380675) + (xy 94.682747 60.373325) + (xy 94.66508 60.193952) + (xy 94.663645 60.186742) + (xy 94.611326 60.014268) + (xy 94.608508 60.007467) + (xy 94.52355 59.848521) + (xy 94.519461 59.842401) + (xy 94.490412 59.807004) + (xy 94.483569 59.802268) + (xy 94.476289 59.806314) + (xy 93.912605 60.369999) + (xy 93.908563 60.376999) + (xy 93.543436 60.376999) + (xy 93.539394 60.369999) + (xy 92.975709 59.806314) + (xy 92.96843 59.802269) + (xy 92.961585 59.807006) + (xy 92.932538 59.8424) + (xy 92.928448 59.848523) + (xy 92.843491 60.007467) + (xy 92.840673 60.014268) + (xy 92.788354 60.186742) + (xy 92.786919 60.193952) + (xy 92.769253 60.373325) + (xy 92.769253 60.380675) + (xy 76.953254 60.380675) + (xy 77.446774 59.887154) + (xy 77.486391 59.866362) + (xy 77.552483 59.854251) + (xy 77.707275 59.784584) + (xy 77.80737 59.706166) + (xy 77.894106 59.61943) + (xy 93.151269 59.61943) + (xy 93.155314 59.626709) + (xy 93.718999 60.190394) + (xy 93.726 60.194436) + (xy 93.733 60.190394) + (xy 94.296684 59.626709) + (xy 94.30073 59.61943) + (xy 95.651269 59.61943) + (xy 95.655314 59.626709) + (xy 96.218999 60.190394) + (xy 96.226 60.194436) + (xy 96.233 60.190394) + (xy 96.796684 59.626709) + (xy 96.80073 59.61943) + (xy 96.795994 59.612586) + (xy 96.760598 59.583538) + (xy 96.754478 59.579449) + (xy 96.595532 59.494491) + (xy 96.588731 59.491673) + (xy 96.416257 59.439354) + (xy 96.409047 59.437919) + (xy 96.229675 59.420253) + (xy 96.222325 59.420253) + (xy 96.042952 59.437919) + (xy 96.035742 59.439354) + (xy 95.863268 59.491673) + (xy 95.856467 59.494491) + (xy 95.697523 59.579448) + (xy 95.6914 59.583538) + (xy 95.656006 59.612585) + (xy 95.651269 59.61943) + (xy 94.30073 59.61943) + (xy 94.295994 59.612586) + (xy 94.260598 59.583538) + (xy 94.254478 59.579449) + (xy 94.095532 59.494491) + (xy 94.088731 59.491673) + (xy 93.916257 59.439354) + (xy 93.909047 59.437919) + (xy 93.729675 59.420253) + (xy 93.722325 59.420253) + (xy 93.542952 59.437919) + (xy 93.535742 59.439354) + (xy 93.363268 59.491673) + (xy 93.356467 59.494491) + (xy 93.197523 59.579448) + (xy 93.1914 59.583538) + (xy 93.156006 59.612585) + (xy 93.151269 59.61943) + (xy 77.894106 59.61943) + (xy 78.378865 59.134669) + (xy 78.37887 59.134666) + (xy 79.010165 58.50337) + (xy 79.088584 58.403275) + (xy 79.158251 58.248483) + (xy 79.188849 58.081515) + (xy 79.1786 57.912076) + (xy 79.165489 57.87) + (xy 97.848389 57.87) + (xy 97.848751 57.873676) + (xy 97.866098 58.049812) + (xy 97.866789 58.056821) + (xy 97.867859 58.06035) + (xy 97.86786 58.060352) + (xy 97.868884 58.063727) + (xy 97.921283 58.236462) + (xy 97.923019 58.239711) + (xy 97.923023 58.239719) + (xy 98.006657 58.396185) + (xy 98.009776 58.40202) + (xy 98.025455 58.421125) + (xy 98.114965 58.530194) + (xy 98.128867 58.547133) + (xy 98.27398 58.666224) + (xy 98.312849 58.687) + (xy 98.43628 58.752976) + (xy 98.436283 58.752977) + (xy 98.439538 58.754717) + (xy 98.619179 58.809211) + (xy 98.806 58.827611) + (xy 98.992821 58.809211) + (xy 99.172462 58.754717) + (xy 99.33802 58.666224) + (xy 99.483133 58.547133) + (xy 99.602224 58.40202) + (xy 99.690717 58.236462) + (xy 99.745211 58.056821) + (xy 99.763611 57.87) + (xy 100.348389 57.87) + (xy 100.348751 57.873676) + (xy 100.366098 58.049812) + (xy 100.366789 58.056821) + (xy 100.367859 58.06035) + (xy 100.36786 58.060352) + (xy 100.368884 58.063727) + (xy 100.421283 58.236462) + (xy 100.423019 58.239711) + (xy 100.423023 58.239719) + (xy 100.506657 58.396185) + (xy 100.509776 58.40202) + (xy 100.525455 58.421125) + (xy 100.614965 58.530194) + (xy 100.628867 58.547133) + (xy 100.77398 58.666224) + (xy 100.812849 58.687) + (xy 100.93628 58.752976) + (xy 100.936283 58.752977) + (xy 100.939538 58.754717) + (xy 101.119179 58.809211) + (xy 101.306 58.827611) + (xy 101.492821 58.809211) + (xy 101.672462 58.754717) + (xy 101.83802 58.666224) + (xy 101.983133 58.547133) + (xy 102.102224 58.40202) + (xy 102.190717 58.236462) + (xy 102.245211 58.056821) + (xy 102.263611 57.87) + (xy 102.245211 57.683179) + (xy 102.190717 57.503538) + (xy 102.179399 57.482364) + (xy 102.134975 57.399253) + (xy 102.102224 57.33798) + (xy 101.983133 57.192867) + (xy 101.97037 57.182393) + (xy 101.855962 57.088501) + (xy 101.83802 57.073776) + (xy 101.811839 57.059782) + (xy 101.675719 56.987023) + (xy 101.675711 56.987019) + (xy 101.672462 56.985283) + (xy 101.577496 56.956475) + (xy 101.496352 56.93186) + (xy 101.49635 56.931859) + (xy 101.492821 56.930789) + (xy 101.48915 56.930427) + (xy 101.489148 56.930427) + (xy 101.309676 56.912751) + (xy 101.306 56.912389) + (xy 101.302324 56.912751) + (xy 101.122851 56.930427) + (xy 101.122847 56.930427) + (xy 101.119179 56.930789) + (xy 101.115651 56.931859) + (xy 101.115647 56.93186) + (xy 100.943068 56.984212) + (xy 100.943066 56.984212) + (xy 100.939538 56.985283) + (xy 100.936292 56.987018) + (xy 100.93628 56.987023) + (xy 100.777238 57.072034) + (xy 100.777233 57.072036) + (xy 100.77398 57.073776) + (xy 100.771127 57.076117) + (xy 100.771123 57.07612) + (xy 100.631722 57.190523) + (xy 100.631716 57.190528) + (xy 100.628867 57.192867) + (xy 100.626528 57.195716) + (xy 100.626523 57.195722) + (xy 100.51212 57.335123) + (xy 100.512117 57.335127) + (xy 100.509776 57.33798) + (xy 100.508036 57.341233) + (xy 100.508034 57.341238) + (xy 100.423023 57.50028) + (xy 100.423018 57.500292) + (xy 100.421283 57.503538) + (xy 100.420212 57.507066) + (xy 100.420212 57.507068) + (xy 100.369662 57.673709) + (xy 100.366789 57.683179) + (xy 100.366427 57.686847) + (xy 100.366427 57.686851) + (xy 100.352354 57.829746) + (xy 100.348389 57.87) + (xy 99.763611 57.87) + (xy 99.745211 57.683179) + (xy 99.690717 57.503538) + (xy 99.679399 57.482364) + (xy 99.634975 57.399253) + (xy 99.602224 57.33798) + (xy 99.483133 57.192867) + (xy 99.47037 57.182393) + (xy 99.355962 57.088501) + (xy 99.33802 57.073776) + (xy 99.311839 57.059782) + (xy 99.175719 56.987023) + (xy 99.175711 56.987019) + (xy 99.172462 56.985283) + (xy 99.077496 56.956475) + (xy 98.996352 56.93186) + (xy 98.99635 56.931859) + (xy 98.992821 56.930789) + (xy 98.98915 56.930427) + (xy 98.989148 56.930427) + (xy 98.809676 56.912751) + (xy 98.806 56.912389) + (xy 98.802324 56.912751) + (xy 98.622851 56.930427) + (xy 98.622847 56.930427) + (xy 98.619179 56.930789) + (xy 98.615651 56.931859) + (xy 98.615647 56.93186) + (xy 98.443068 56.984212) + (xy 98.443066 56.984212) + (xy 98.439538 56.985283) + (xy 98.436292 56.987018) + (xy 98.43628 56.987023) + (xy 98.277238 57.072034) + (xy 98.277233 57.072036) + (xy 98.27398 57.073776) + (xy 98.271127 57.076117) + (xy 98.271123 57.07612) + (xy 98.131722 57.190523) + (xy 98.131716 57.190528) + (xy 98.128867 57.192867) + (xy 98.126528 57.195716) + (xy 98.126523 57.195722) + (xy 98.01212 57.335123) + (xy 98.012117 57.335127) + (xy 98.009776 57.33798) + (xy 98.008036 57.341233) + (xy 98.008034 57.341238) + (xy 97.923023 57.50028) + (xy 97.923018 57.500292) + (xy 97.921283 57.503538) + (xy 97.920212 57.507066) + (xy 97.920212 57.507068) + (xy 97.869662 57.673709) + (xy 97.866789 57.683179) + (xy 97.866427 57.686847) + (xy 97.866427 57.686851) + (xy 97.852354 57.829746) + (xy 97.848389 57.87) + (xy 79.165489 57.87) + (xy 79.1281 57.750014) + (xy 79.040283 57.604747) + (xy 78.920253 57.484717) + (xy 78.901408 57.473325) + (xy 78.778878 57.399253) + (xy 78.778879 57.399253) + (xy 78.774986 57.3969) + (xy 78.612924 57.3464) + (xy 78.608388 57.346125) + (xy 78.608385 57.346125) + (xy 78.539622 57.341966) + (xy 78.499595 57.327473) + (xy 78.47385 57.293569) + (xy 78.470638 57.25112) + (xy 78.490987 57.213731) + (xy 79.577149 56.127569) + (xy 98.231268 56.127569) + (xy 98.236004 56.134412) + (xy 98.271401 56.163461) + (xy 98.277521 56.16755) + (xy 98.436467 56.252508) + (xy 98.443268 56.255326) + (xy 98.615742 56.307645) + (xy 98.622952 56.30908) + (xy 98.802325 56.326747) + (xy 98.809675 56.326747) + (xy 98.989047 56.30908) + (xy 98.996257 56.307645) + (xy 99.168731 56.255326) + (xy 99.175532 56.252508) + (xy 99.33448 56.167549) + (xy 99.340597 56.163462) + (xy 99.375993 56.134412) + (xy 99.380729 56.127569) + (xy 100.731268 56.127569) + (xy 100.736004 56.134412) + (xy 100.771401 56.163461) + (xy 100.777521 56.16755) + (xy 100.936467 56.252508) + (xy 100.943268 56.255326) + (xy 101.115742 56.307645) + (xy 101.122952 56.30908) + (xy 101.302325 56.326747) + (xy 101.309675 56.326747) + (xy 101.489047 56.30908) + (xy 101.496257 56.307645) + (xy 101.668731 56.255326) + (xy 101.675532 56.252508) + (xy 101.83448 56.167549) + (xy 101.840597 56.163462) + (xy 101.875993 56.134412) + (xy 101.88073 56.127568) + (xy 101.876685 56.12029) + (xy 101.313 55.556605) + (xy 101.305999 55.552563) + (xy 101.298999 55.556605) + (xy 100.735314 56.120289) + (xy 100.731268 56.127569) + (xy 99.380729 56.127569) + (xy 99.38073 56.127568) + (xy 99.376685 56.12029) + (xy 98.813 55.556605) + (xy 98.805999 55.552563) + (xy 98.798999 55.556605) + (xy 98.235314 56.120289) + (xy 98.231268 56.127569) + (xy 79.577149 56.127569) + (xy 80.331043 55.373675) + (xy 97.849253 55.373675) + (xy 97.866919 55.553047) + (xy 97.868354 55.560257) + (xy 97.920673 55.732731) + (xy 97.923491 55.739532) + (xy 98.008449 55.898478) + (xy 98.012538 55.904598) + (xy 98.041586 55.939994) + (xy 98.04843 55.94473) + (xy 98.055709 55.940684) + (xy 98.619394 55.377) + (xy 98.623436 55.37) + (xy 98.988563 55.37) + (xy 98.992605 55.377) + (xy 99.55629 55.940685) + (xy 99.563568 55.94473) + (xy 99.570412 55.939993) + (xy 99.599462 55.904597) + (xy 99.603549 55.89848) + (xy 99.688508 55.739532) + (xy 99.691326 55.732731) + (xy 99.743645 55.560257) + (xy 99.74508 55.553047) + (xy 99.762747 55.373675) + (xy 100.349253 55.373675) + (xy 100.366919 55.553047) + (xy 100.368354 55.560257) + (xy 100.420673 55.732731) + (xy 100.423491 55.739532) + (xy 100.508449 55.898478) + (xy 100.512538 55.904598) + (xy 100.541586 55.939994) + (xy 100.54843 55.94473) + (xy 100.555709 55.940684) + (xy 101.119394 55.377) + (xy 101.123436 55.37) + (xy 101.488563 55.37) + (xy 101.492605 55.377) + (xy 102.05629 55.940685) + (xy 102.063568 55.94473) + (xy 102.070412 55.939993) + (xy 102.099462 55.904597) + (xy 102.103549 55.89848) + (xy 102.188508 55.739532) + (xy 102.191326 55.732731) + (xy 102.243645 55.560257) + (xy 102.24508 55.553047) + (xy 102.262747 55.373675) + (xy 102.262747 55.366325) + (xy 102.24508 55.186952) + (xy 102.243645 55.179742) + (xy 102.191326 55.007268) + (xy 102.188508 55.000467) + (xy 102.10355 54.841521) + (xy 102.099461 54.835401) + (xy 102.070412 54.800004) + (xy 102.063569 54.795268) + (xy 102.056289 54.799314) + (xy 101.492605 55.362999) + (xy 101.488563 55.37) + (xy 101.123436 55.37) + (xy 101.119394 55.362999) + (xy 100.555709 54.799314) + (xy 100.54843 54.795269) + (xy 100.541585 54.800006) + (xy 100.512538 54.8354) + (xy 100.508448 54.841523) + (xy 100.423491 55.000467) + (xy 100.420673 55.007268) + (xy 100.368354 55.179742) + (xy 100.366919 55.186952) + (xy 100.349253 55.366325) + (xy 100.349253 55.373675) + (xy 99.762747 55.373675) + (xy 99.762747 55.366325) + (xy 99.74508 55.186952) + (xy 99.743645 55.179742) + (xy 99.691326 55.007268) + (xy 99.688508 55.000467) + (xy 99.60355 54.841521) + (xy 99.599461 54.835401) + (xy 99.570412 54.800004) + (xy 99.563569 54.795268) + (xy 99.556289 54.799314) + (xy 98.992605 55.362999) + (xy 98.988563 55.37) + (xy 98.623436 55.37) + (xy 98.619394 55.362999) + (xy 98.055709 54.799314) + (xy 98.04843 54.795269) + (xy 98.041585 54.800006) + (xy 98.012538 54.8354) + (xy 98.008448 54.841523) + (xy 97.923491 55.000467) + (xy 97.920673 55.007268) + (xy 97.868354 55.179742) + (xy 97.866919 55.186952) + (xy 97.849253 55.366325) + (xy 97.849253 55.373675) + (xy 80.331043 55.373675) + (xy 81.092288 54.61243) + (xy 98.231269 54.61243) + (xy 98.235314 54.619709) + (xy 98.798999 55.183394) + (xy 98.806 55.187436) + (xy 98.813 55.183394) + (xy 99.376684 54.619709) + (xy 99.38073 54.61243) + (xy 100.731269 54.61243) + (xy 100.735314 54.619709) + (xy 101.298999 55.183394) + (xy 101.306 55.187436) + (xy 101.313 55.183394) + (xy 101.876684 54.619709) + (xy 101.88073 54.61243) + (xy 101.875994 54.605586) + (xy 101.840598 54.576538) + (xy 101.834478 54.572449) + (xy 101.675532 54.487491) + (xy 101.668731 54.484673) + (xy 101.496257 54.432354) + (xy 101.489047 54.430919) + (xy 101.309675 54.413253) + (xy 101.302325 54.413253) + (xy 101.122952 54.430919) + (xy 101.115742 54.432354) + (xy 100.943268 54.484673) + (xy 100.936467 54.487491) + (xy 100.777523 54.572448) + (xy 100.7714 54.576538) + (xy 100.736006 54.605585) + (xy 100.731269 54.61243) + (xy 99.38073 54.61243) + (xy 99.375994 54.605586) + (xy 99.340598 54.576538) + (xy 99.334478 54.572449) + (xy 99.175532 54.487491) + (xy 99.168731 54.484673) + (xy 98.996257 54.432354) + (xy 98.989047 54.430919) + (xy 98.809675 54.413253) + (xy 98.802325 54.413253) + (xy 98.622952 54.430919) + (xy 98.615742 54.432354) + (xy 98.443268 54.484673) + (xy 98.436467 54.487491) + (xy 98.277523 54.572448) + (xy 98.2714 54.576538) + (xy 98.236006 54.605585) + (xy 98.231269 54.61243) + (xy 81.092288 54.61243) + (xy 84.159724 51.544994) + (xy 84.164537 51.540583) + (xy 84.19436 51.51556) + (xy 84.21382 51.481853) + (xy 84.217319 51.47636) + (xy 84.239652 51.444466) + (xy 84.241354 51.43811) + (xy 84.244136 51.432147) + (xy 84.244145 51.432151) + (xy 84.244901 51.430324) + (xy 84.244891 51.430321) + (xy 84.24714 51.42414) + (xy 84.250432 51.41844) + (xy 84.257187 51.380121) + (xy 84.258605 51.373728) + (xy 84.268677 51.336143) + (xy 84.265285 51.297383) + (xy 84.265 51.29083) + (xy 84.265 49.248368) + (xy 84.270724 49.21959) + (xy 84.287026 49.195194) + (xy 84.825194 48.657026) + (xy 84.84959 48.640724) + (xy 84.878368 48.635) + (xy 85.470528 48.635) + (xy 85.505977 48.643879) + (xy 85.533054 48.668421) + (xy 85.552949 48.698197) + (xy 85.557297 48.704703) + (xy 85.563454 48.708817) + (xy 85.614316 48.742803) + (xy 85.614317 48.742803) + (xy 85.620475 48.746918) + (xy 85.676188 48.758) + (xy 86.510116 48.758) + (xy 86.513812 48.758) + (xy 86.569525 48.746918) + (xy 86.632703 48.704703) + (xy 86.674918 48.641525) + (xy 86.686 48.585812) + (xy 87.304 48.585812) + (xy 87.304721 48.589436) + (xy 87.313227 48.632202) + (xy 87.315082 48.641525) + (xy 87.319194 48.64768) + (xy 87.319196 48.647683) + (xy 87.353182 48.698545) + (xy 87.357297 48.704703) + (xy 87.363454 48.708817) + (xy 87.414316 48.742803) + (xy 87.414317 48.742803) + (xy 87.420475 48.746918) + (xy 87.476188 48.758) + (xy 88.310116 48.758) + (xy 88.313812 48.758) + (xy 88.369525 48.746918) + (xy 88.432703 48.704703) + (xy 88.456946 48.66842) + (xy 88.484023 48.643879) + (xy 88.519472 48.635) + (xy 94.8143 48.635) + (xy 94.853592 48.646081) + (xy 94.881304 48.67606) + (xy 94.906958 48.72641) + (xy 94.924123 48.760097) + (xy 95.015903 48.851877) + (xy 95.131552 48.910803) + (xy 95.2275 48.926) + (xy 95.726546 48.926) + (xy 95.7295 48.926) + (xy 95.825448 48.910803) + (xy 95.941097 48.851877) + (xy 96.032877 48.760097) + (xy 96.091803 48.644448) + (xy 96.107 48.5485) + (xy 96.107 48.545502) + (xy 96.4255 48.545502) + (xy 96.425962 48.551374) + (xy 96.439752 48.638445) + (xy 96.443365 48.649565) + (xy 96.496844 48.754522) + (xy 96.503722 48.763988) + (xy 96.587011 48.847277) + (xy 96.596477 48.854155) + (xy 96.701434 48.907634) + (xy 96.712554 48.911247) + (xy 96.799625 48.925037) + (xy 96.805498 48.9255) + (xy 96.916598 48.9255) + (xy 96.924407 48.923407) + (xy 96.9265 48.915598) + (xy 97.1805 48.915598) + (xy 97.182592 48.923407) + (xy 97.190402 48.9255) + (xy 97.301502 48.9255) + (xy 97.307374 48.925037) + (xy 97.394445 48.911247) + (xy 97.405565 48.907634) + (xy 97.510522 48.854155) + (xy 97.519988 48.847277) + (xy 97.603277 48.763988) + (xy 97.610155 48.754522) + (xy 97.663634 48.649565) + (xy 97.667247 48.638445) + (xy 97.681037 48.551374) + (xy 97.6815 48.545502) + (xy 97.6815 48.396902) + (xy 97.679407 48.389092) + (xy 97.671598 48.387) + (xy 97.190402 48.387) + (xy 97.182592 48.389092) + (xy 97.1805 48.396902) + (xy 97.1805 48.915598) + (xy 96.9265 48.915598) + (xy 96.9265 48.396902) + (xy 96.924407 48.389092) + (xy 96.916598 48.387) + (xy 96.435402 48.387) + (xy 96.427592 48.389092) + (xy 96.4255 48.396902) + (xy 96.4255 48.545502) + (xy 96.107 48.545502) + (xy 96.107 48.123098) + (xy 96.4255 48.123098) + (xy 96.427592 48.130907) + (xy 96.435402 48.133) + (xy 96.916598 48.133) + (xy 96.924407 48.130907) + (xy 96.9265 48.123098) + (xy 97.1805 48.123098) + (xy 97.182592 48.130907) + (xy 97.190402 48.133) + (xy 97.671598 48.133) + (xy 97.679407 48.130907) + (xy 97.6815 48.123098) + (xy 97.6815 47.974498) + (xy 97.681037 47.968625) + (xy 97.667247 47.881554) + (xy 97.663634 47.870434) + (xy 97.610155 47.765477) + (xy 97.603277 47.756011) + (xy 97.519988 47.672722) + (xy 97.510522 47.665844) + (xy 97.405565 47.612365) + (xy 97.394445 47.608752) + (xy 97.307374 47.594962) + (xy 97.301502 47.5945) + (xy 97.190402 47.5945) + (xy 97.182592 47.596592) + (xy 97.1805 47.604402) + (xy 97.1805 48.123098) + (xy 96.9265 48.123098) + (xy 96.9265 47.604402) + (xy 96.924407 47.596592) + (xy 96.916598 47.5945) + (xy 96.805498 47.5945) + (xy 96.799625 47.594962) + (xy 96.712554 47.608752) + (xy 96.701434 47.612365) + (xy 96.596477 47.665844) + (xy 96.587011 47.672722) + (xy 96.503722 47.756011) + (xy 96.496844 47.765477) + (xy 96.443365 47.870434) + (xy 96.439752 47.881554) + (xy 96.425962 47.968625) + (xy 96.4255 47.974498) + (xy 96.4255 48.123098) + (xy 96.107 48.123098) + (xy 96.107 47.9715) + (xy 96.091803 47.875552) + (xy 96.085943 47.864052) + (xy 96.054987 47.803296) + (xy 96.032877 47.759903) + (xy 95.941097 47.668123) + (xy 95.93582 47.665434) + (xy 95.830721 47.611883) + (xy 95.830717 47.611881) + (xy 95.825448 47.609197) + (xy 95.819606 47.608271) + (xy 95.819601 47.60827) + (xy 95.732418 47.594462) + (xy 95.732415 47.594461) + (xy 95.7295 47.594) + (xy 95.2275 47.594) + (xy 95.224585 47.594461) + (xy 95.224581 47.594462) + (xy 95.137392 47.608271) + (xy 95.137385 47.608272) + (xy 95.131552 47.609197) + (xy 95.126434 47.611804) + (xy 95.077249 47.610835) + (xy 95.039161 47.579574) + (xy 95.028602 47.531444) + (xy 95.050104 47.487114) + (xy 95.240196 47.297023) + (xy 95.26459 47.280724) + (xy 95.293368 47.275) + (xy 95.726546 47.275) + (xy 95.7295 47.275) + (xy 95.825448 47.259803) + (xy 95.941097 47.200877) + (xy 96.032877 47.109097) + (xy 96.091803 46.993448) + (xy 96.107 46.8975) + (xy 96.107 46.894502) + (xy 96.4255 46.894502) + (xy 96.425962 46.900374) + (xy 96.439752 46.987445) + (xy 96.443365 46.998565) + (xy 96.496844 47.103522) + (xy 96.503722 47.112988) + (xy 96.587011 47.196277) + (xy 96.596477 47.203155) + (xy 96.701434 47.256634) + (xy 96.712554 47.260247) + (xy 96.799625 47.274037) + (xy 96.805498 47.2745) + (xy 96.916598 47.2745) + (xy 96.924407 47.272407) + (xy 96.9265 47.264598) + (xy 97.1805 47.264598) + (xy 97.182592 47.272407) + (xy 97.190402 47.2745) + (xy 97.301502 47.2745) + (xy 97.307374 47.274037) + (xy 97.394445 47.260247) + (xy 97.405565 47.256634) + (xy 97.510522 47.203155) + (xy 97.519988 47.196277) + (xy 97.603277 47.112988) + (xy 97.610155 47.103522) + (xy 97.663634 46.998565) + (xy 97.667247 46.987445) + (xy 97.681037 46.900374) + (xy 97.6815 46.894502) + (xy 97.6815 46.745902) + (xy 97.679407 46.738092) + (xy 97.671598 46.736) + (xy 97.190402 46.736) + (xy 97.182592 46.738092) + (xy 97.1805 46.745902) + (xy 97.1805 47.264598) + (xy 96.9265 47.264598) + (xy 96.9265 46.745902) + (xy 96.924407 46.738092) + (xy 96.916598 46.736) + (xy 96.435402 46.736) + (xy 96.427592 46.738092) + (xy 96.4255 46.745902) + (xy 96.4255 46.894502) + (xy 96.107 46.894502) + (xy 96.107 46.472098) + (xy 96.4255 46.472098) + (xy 96.427592 46.479907) + (xy 96.435402 46.482) + (xy 96.916598 46.482) + (xy 96.924407 46.479907) + (xy 96.9265 46.472098) + (xy 97.1805 46.472098) + (xy 97.182592 46.479907) + (xy 97.190402 46.482) + (xy 97.671598 46.482) + (xy 97.679407 46.479907) + (xy 97.6815 46.472098) + (xy 97.6815 46.323498) + (xy 97.681037 46.317625) + (xy 97.667247 46.230554) + (xy 97.663634 46.219434) + (xy 97.610155 46.114477) + (xy 97.603277 46.105011) + (xy 97.519988 46.021722) + (xy 97.510522 46.014844) + (xy 97.405565 45.961365) + (xy 97.394445 45.957752) + (xy 97.307374 45.943962) + (xy 97.301502 45.9435) + (xy 97.190402 45.9435) + (xy 97.182592 45.945592) + (xy 97.1805 45.953402) + (xy 97.1805 46.472098) + (xy 96.9265 46.472098) + (xy 96.9265 45.953402) + (xy 96.924407 45.945592) + (xy 96.916598 45.9435) + (xy 96.805498 45.9435) + (xy 96.799625 45.943962) + (xy 96.712554 45.957752) + (xy 96.701434 45.961365) + (xy 96.596477 46.014844) + (xy 96.587011 46.021722) + (xy 96.503722 46.105011) + (xy 96.496844 46.114477) + (xy 96.443365 46.219434) + (xy 96.439752 46.230554) + (xy 96.425962 46.317625) + (xy 96.4255 46.323498) + (xy 96.4255 46.472098) + (xy 96.107 46.472098) + (xy 96.107 46.3205) + (xy 96.091803 46.224552) + (xy 96.08709 46.215303) + (xy 96.057894 46.158001) + (xy 96.032877 46.108903) + (xy 95.941097 46.017123) + (xy 95.93582 46.014434) + (xy 95.830721 45.960883) + (xy 95.830717 45.960881) + (xy 95.825448 45.958197) + (xy 95.819606 45.957271) + (xy 95.819601 45.95727) + (xy 95.732418 45.943462) + (xy 95.732415 45.943461) + (xy 95.7295 45.943) + (xy 95.2275 45.943) + (xy 95.224585 45.943461) + (xy 95.224581 45.943462) + (xy 95.137397 45.957271) + (xy 95.137395 45.957271) + (xy 95.131552 45.958197) + (xy 95.126434 45.960804) + (xy 95.077251 45.959836) + (xy 95.039162 45.928575) + (xy 95.028603 45.880445) + (xy 95.050106 45.836113) + (xy 95.240196 45.646023) + (xy 95.26459 45.629724) + (xy 95.293368 45.624) + (xy 95.726546 45.624) + (xy 95.7295 45.624) + (xy 95.825448 45.608803) + (xy 95.941097 45.549877) + (xy 96.032877 45.458097) + (xy 96.091803 45.342448) + (xy 96.107 45.2465) + (xy 96.107 45.243502) + (xy 96.4255 45.243502) + (xy 96.425962 45.249374) + (xy 96.439752 45.336445) + (xy 96.443365 45.347565) + (xy 96.496844 45.452522) + (xy 96.503722 45.461988) + (xy 96.587011 45.545277) + (xy 96.596477 45.552155) + (xy 96.701434 45.605634) + (xy 96.712554 45.609247) + (xy 96.799625 45.623037) + (xy 96.805498 45.6235) + (xy 96.916598 45.6235) + (xy 96.924407 45.621407) + (xy 96.9265 45.613598) + (xy 97.1805 45.613598) + (xy 97.182592 45.621407) + (xy 97.190402 45.6235) + (xy 97.301502 45.6235) + (xy 97.307374 45.623037) + (xy 97.394445 45.609247) + (xy 97.405565 45.605634) + (xy 97.510522 45.552155) + (xy 97.519988 45.545277) + (xy 97.603277 45.461988) + (xy 97.610155 45.452522) + (xy 97.663634 45.347565) + (xy 97.667247 45.336445) + (xy 97.681037 45.249374) + (xy 97.6815 45.243502) + (xy 97.6815 45.094902) + (xy 97.679407 45.087092) + (xy 97.671598 45.085) + (xy 97.190402 45.085) + (xy 97.182592 45.087092) + (xy 97.1805 45.094902) + (xy 97.1805 45.613598) + (xy 96.9265 45.613598) + (xy 96.9265 45.094902) + (xy 96.924407 45.087092) + (xy 96.916598 45.085) + (xy 96.435402 45.085) + (xy 96.427592 45.087092) + (xy 96.4255 45.094902) + (xy 96.4255 45.243502) + (xy 96.107 45.243502) + (xy 96.107 44.821098) + (xy 96.4255 44.821098) + (xy 96.427592 44.828907) + (xy 96.435402 44.831) + (xy 96.916598 44.831) + (xy 96.924407 44.828907) + (xy 96.9265 44.821098) + (xy 97.1805 44.821098) + (xy 97.182592 44.828907) + (xy 97.190402 44.831) + (xy 97.671598 44.831) + (xy 97.679407 44.828907) + (xy 97.6815 44.821098) + (xy 97.6815 44.672498) + (xy 97.681037 44.666625) + (xy 97.667247 44.579554) + (xy 97.663634 44.568434) + (xy 97.610155 44.463477) + (xy 97.603277 44.454011) + (xy 97.519988 44.370722) + (xy 97.510522 44.363844) + (xy 97.405565 44.310365) + (xy 97.394445 44.306752) + (xy 97.307374 44.292962) + (xy 97.301502 44.2925) + (xy 97.190402 44.2925) + (xy 97.182592 44.294592) + (xy 97.1805 44.302402) + (xy 97.1805 44.821098) + (xy 96.9265 44.821098) + (xy 96.9265 44.302402) + (xy 96.924407 44.294592) + (xy 96.916598 44.2925) + (xy 96.805498 44.2925) + (xy 96.799625 44.292962) + (xy 96.712554 44.306752) + (xy 96.701434 44.310365) + (xy 96.596477 44.363844) + (xy 96.587011 44.370722) + (xy 96.503722 44.454011) + (xy 96.496844 44.463477) + (xy 96.443365 44.568434) + (xy 96.439752 44.579554) + (xy 96.425962 44.666625) + (xy 96.4255 44.672498) + (xy 96.4255 44.821098) + (xy 96.107 44.821098) + (xy 96.107 44.6695) + (xy 96.091803 44.573552) + (xy 96.085243 44.560678) + (xy 96.05127 44.494001) + (xy 96.032877 44.457903) + (xy 95.941097 44.366123) + (xy 95.93444 44.362731) + (xy 95.830721 44.309883) + (xy 95.830717 44.309881) + (xy 95.825448 44.307197) + (xy 95.819606 44.306271) + (xy 95.819601 44.30627) + (xy 95.732418 44.292462) + (xy 95.732415 44.292461) + (xy 95.7295 44.292) + (xy 95.2275 44.292) + (xy 95.224585 44.292461) + (xy 95.224581 44.292462) + (xy 95.137397 44.306271) + (xy 95.137395 44.306271) + (xy 95.131552 44.307197) + (xy 95.126434 44.309804) + (xy 95.077251 44.308836) + (xy 95.039162 44.277575) + (xy 95.028603 44.229445) + (xy 95.050106 44.185113) + (xy 95.240196 43.995023) + (xy 95.26459 43.978724) + (xy 95.293368 43.973) + (xy 95.726546 43.973) + (xy 95.7295 43.973) + (xy 95.825448 43.957803) + (xy 95.941097 43.898877) + (xy 96.032877 43.807097) + (xy 96.091803 43.691448) + (xy 96.107 43.5955) + (xy 96.107 43.592502) + (xy 96.4255 43.592502) + (xy 96.425962 43.598374) + (xy 96.439752 43.685445) + (xy 96.443365 43.696565) + (xy 96.496844 43.801522) + (xy 96.503722 43.810988) + (xy 96.587011 43.894277) + (xy 96.596477 43.901155) + (xy 96.701434 43.954634) + (xy 96.712554 43.958247) + (xy 96.799625 43.972037) + (xy 96.805498 43.9725) + (xy 96.916598 43.9725) + (xy 96.924407 43.970407) + (xy 96.9265 43.962598) + (xy 97.1805 43.962598) + (xy 97.182592 43.970407) + (xy 97.190402 43.9725) + (xy 97.301502 43.9725) + (xy 97.307374 43.972037) + (xy 97.394445 43.958247) + (xy 97.405565 43.954634) + (xy 97.510522 43.901155) + (xy 97.519988 43.894277) + (xy 97.603277 43.810988) + (xy 97.610155 43.801522) + (xy 97.663634 43.696565) + (xy 97.667247 43.685445) + (xy 97.681037 43.598374) + (xy 97.6815 43.592502) + (xy 97.6815 43.443902) + (xy 97.679407 43.436092) + (xy 97.671598 43.434) + (xy 97.190402 43.434) + (xy 97.182592 43.436092) + (xy 97.1805 43.443902) + (xy 97.1805 43.962598) + (xy 96.9265 43.962598) + (xy 96.9265 43.443902) + (xy 96.924407 43.436092) + (xy 96.916598 43.434) + (xy 96.435402 43.434) + (xy 96.427592 43.436092) + (xy 96.4255 43.443902) + (xy 96.4255 43.592502) + (xy 96.107 43.592502) + (xy 96.107 43.170098) + (xy 96.4255 43.170098) + (xy 96.427592 43.177907) + (xy 96.435402 43.18) + (xy 96.916598 43.18) + (xy 96.924407 43.177907) + (xy 96.9265 43.170098) + (xy 97.1805 43.170098) + (xy 97.182592 43.177907) + (xy 97.190402 43.18) + (xy 97.671598 43.18) + (xy 97.679407 43.177907) + (xy 97.6815 43.170098) + (xy 97.6815 43.021498) + (xy 97.681037 43.015625) + (xy 97.667247 42.928554) + (xy 97.663634 42.917434) + (xy 97.610155 42.812477) + (xy 97.603277 42.803011) + (xy 97.519988 42.719722) + (xy 97.510522 42.712844) + (xy 97.405565 42.659365) + (xy 97.394445 42.655752) + (xy 97.307374 42.641962) + (xy 97.301502 42.6415) + (xy 97.190402 42.6415) + (xy 97.182592 42.643592) + (xy 97.1805 42.651402) + (xy 97.1805 43.170098) + (xy 96.9265 43.170098) + (xy 96.9265 42.651402) + (xy 96.924407 42.643592) + (xy 96.916598 42.6415) + (xy 96.805498 42.6415) + (xy 96.799625 42.641962) + (xy 96.712554 42.655752) + (xy 96.701434 42.659365) + (xy 96.596477 42.712844) + (xy 96.587011 42.719722) + (xy 96.503722 42.803011) + (xy 96.496844 42.812477) + (xy 96.443365 42.917434) + (xy 96.439752 42.928554) + (xy 96.425962 43.015625) + (xy 96.4255 43.021498) + (xy 96.4255 43.170098) + (xy 96.107 43.170098) + (xy 96.107 43.0185) + (xy 96.091803 42.922552) + (xy 96.088243 42.915566) + (xy 96.058188 42.856579) + (xy 96.032877 42.806903) + (xy 95.941097 42.715123) + (xy 95.91859 42.703655) + (xy 95.830721 42.658883) + (xy 95.830717 42.658881) + (xy 95.825448 42.656197) + (xy 95.819606 42.655271) + (xy 95.819601 42.65527) + (xy 95.732418 42.641462) + (xy 95.732415 42.641461) + (xy 95.7295 42.641) + (xy 95.2275 42.641) + (xy 95.224585 42.641461) + (xy 95.224581 42.641462) + (xy 95.137398 42.65527) + (xy 95.137391 42.655272) + (xy 95.131552 42.656197) + (xy 95.126284 42.65888) + (xy 95.126278 42.658883) + (xy 95.021179 42.712434) + (xy 95.021175 42.712436) + (xy 95.015903 42.715123) + (xy 95.011716 42.719309) + (xy 95.011713 42.719312) + (xy 94.928312 42.802713) + (xy 94.928309 42.802716) + (xy 94.924123 42.806903) + (xy 94.921436 42.812175) + (xy 94.921434 42.812179) + (xy 94.867883 42.917278) + (xy 94.86788 42.917284) + (xy 94.865197 42.922552) + (xy 94.864272 42.928391) + (xy 94.86427 42.928398) + (xy 94.851545 43.008746) + (xy 94.85 43.0185) + (xy 94.85 43.021454) + (xy 94.85 43.454632) + (xy 94.844276 43.48341) + (xy 94.827974 43.507806) + (xy 92.758806 45.576974) + (xy 92.73441 45.593276) + (xy 92.705632 45.599) + (xy 88.519472 45.599) + (xy 88.484023 45.590121) + (xy 88.456946 45.565579) + (xy 88.453044 45.55974) + (xy 88.432703 45.529297) + (xy 88.426545 45.525182) + (xy 88.375683 45.491196) + (xy 88.37568 45.491194) + (xy 88.369525 45.487082) + (xy 88.362261 45.485637) + (xy 88.323419 45.477911) + (xy 88.313812 45.476) + (xy 87.476188 45.476) + (xy 87.472563 45.47672) + (xy 87.472563 45.476721) + (xy 87.427738 45.485637) + (xy 87.427736 45.485637) + (xy 87.420475 45.487082) + (xy 87.414321 45.491193) + (xy 87.414316 45.491196) + (xy 87.363454 45.525182) + (xy 87.363451 45.525184) + (xy 87.357297 45.529297) + (xy 87.353184 45.535451) + (xy 87.353182 45.535454) + (xy 87.319196 45.586316) + (xy 87.319193 45.586321) + (xy 87.315082 45.592475) + (xy 87.313637 45.599736) + (xy 87.313637 45.599738) + (xy 87.309327 45.621407) + (xy 87.304 45.648188) + (xy 87.304 46.185812) + (xy 87.306309 46.19742) + (xy 87.312867 46.230392) + (xy 87.315082 46.241525) + (xy 87.333531 46.269135) + (xy 87.354302 46.300221) + (xy 87.366976 46.342) + (xy 87.354302 46.383779) + (xy 87.319261 46.436221) + (xy 87.315082 46.442475) + (xy 87.313637 46.449736) + (xy 87.313637 46.449738) + (xy 87.305396 46.491171) + (xy 87.304 46.498188) + (xy 87.304 46.935812) + (xy 87.315082 46.991525) + (xy 87.319194 46.99768) + (xy 87.319196 46.997683) + (xy 87.349054 47.042367) + (xy 87.357297 47.054703) + (xy 87.363454 47.058817) + (xy 87.368463 47.063826) + (xy 87.387927 47.097537) + (xy 87.387927 47.136463) + (xy 87.368463 47.170174) + (xy 87.363453 47.175183) + (xy 87.357297 47.179297) + (xy 87.353184 47.185451) + (xy 87.353182 47.185454) + (xy 87.319196 47.236316) + (xy 87.319193 47.236321) + (xy 87.315082 47.242475) + (xy 87.313637 47.249736) + (xy 87.313637 47.249738) + (xy 87.307841 47.278879) + (xy 87.304 47.298188) + (xy 87.304 47.735812) + (xy 87.315082 47.791525) + (xy 87.330695 47.814891) + (xy 87.354302 47.850221) + (xy 87.366976 47.892) + (xy 87.354302 47.933779) + (xy 87.331048 47.968581) + (xy 87.315082 47.992475) + (xy 87.313637 47.999736) + (xy 87.313637 47.999738) + (xy 87.30483 48.044015) + (xy 87.304 48.048188) + (xy 87.304 48.585812) + (xy 86.686 48.585812) + (xy 86.686 48.048188) + (xy 86.674918 47.992475) + (xy 86.635695 47.933775) + (xy 86.623023 47.892) + (xy 86.635695 47.850224) + (xy 86.674918 47.791525) + (xy 86.686 47.735812) + (xy 86.686 47.298188) + (xy 86.674918 47.242475) + (xy 86.670058 47.235202) + (xy 86.639331 47.189216) + (xy 86.632703 47.179297) + (xy 86.626545 47.175182) + (xy 86.621537 47.170174) + (xy 86.602073 47.136463) + (xy 86.602073 47.097537) + (xy 86.621537 47.063826) + (xy 86.626544 47.058817) + (xy 86.632703 47.054703) + (xy 86.674918 46.991525) + (xy 86.686 46.935812) + (xy 86.686 46.498188) + (xy 86.674918 46.442475) + (xy 86.635695 46.383775) + (xy 86.623023 46.342) + (xy 86.635695 46.300224) + (xy 86.674918 46.241525) + (xy 86.686 46.185812) + (xy 86.686 45.648188) + (xy 86.674918 45.592475) + (xy 86.669732 45.584714) + (xy 86.636817 45.535454) + (xy 86.632703 45.529297) + (xy 86.626545 45.525182) + (xy 86.575683 45.491196) + (xy 86.57568 45.491194) + (xy 86.569525 45.487082) + (xy 86.562261 45.485637) + (xy 86.523419 45.477911) + (xy 86.513812 45.476) + (xy 85.676188 45.476) + (xy 85.672563 45.47672) + (xy 85.672563 45.476721) + (xy 85.627738 45.485637) + (xy 85.627736 45.485637) + (xy 85.620475 45.487082) + (xy 85.614321 45.491193) + (xy 85.614316 45.491196) + (xy 85.563454 45.525182) + (xy 85.563451 45.525184) + (xy 85.557297 45.529297) + (xy 85.553184 45.535451) + (xy 85.553182 45.535454) + (xy 85.533054 45.565579) + (xy 85.505977 45.590121) + (xy 85.470528 45.599) + (xy 84.445267 45.599) + (xy 84.403488 45.586327) + (xy 84.375791 45.552578) + (xy 84.371512 45.509129) + (xy 84.392093 45.470626) + (xy 84.755118 45.107602) + (xy 85.269693 44.593026) + (xy 85.29409 44.576724) + (xy 85.322868 44.571) + (xy 85.470528 44.571) + (xy 85.505977 44.579879) + (xy 85.533053 44.60442) + (xy 85.557297 44.640703) + (xy 85.563454 44.644817) + (xy 85.614316 44.678803) + (xy 85.614317 44.678803) + (xy 85.620475 44.682918) + (xy 85.676188 44.694) + (xy 86.510116 44.694) + (xy 86.513812 44.694) + (xy 86.569525 44.682918) + (xy 86.632703 44.640703) + (xy 86.674918 44.577525) + (xy 86.686 44.521812) + (xy 87.304 44.521812) + (xy 87.315082 44.577525) + (xy 87.319194 44.58368) + (xy 87.319196 44.583683) + (xy 87.33777 44.61148) + (xy 87.357297 44.640703) + (xy 87.363454 44.644817) + (xy 87.414316 44.678803) + (xy 87.414317 44.678803) + (xy 87.420475 44.682918) + (xy 87.476188 44.694) + (xy 88.310116 44.694) + (xy 88.313812 44.694) + (xy 88.369525 44.682918) + (xy 88.432703 44.640703) + (xy 88.456946 44.60442) + (xy 88.484023 44.579879) + (xy 88.519472 44.571) + (xy 92.33083 44.571) + (xy 92.337383 44.571285) + (xy 92.376143 44.574677) + (xy 92.413728 44.564605) + (xy 92.420121 44.563187) + (xy 92.45844 44.556432) + (xy 92.46414 44.55314) + (xy 92.470321 44.550891) + (xy 92.470324 44.550901) + (xy 92.472151 44.550145) + (xy 92.472147 44.550136) + (xy 92.47811 44.547354) + (xy 92.484466 44.545652) + (xy 92.51636 44.523319) + (xy 92.521853 44.51982) + (xy 92.55556 44.50036) + (xy 92.580583 44.470537) + (xy 92.584994 44.465724) + (xy 95.214693 41.836026) + (xy 95.23909 41.819724) + (xy 95.267868 41.814) + (xy 95.701046 41.814) + (xy 95.704 41.814) + (xy 95.799948 41.798803) + (xy 95.915597 41.739877) + (xy 96.007377 41.648097) + (xy 96.066303 41.532448) + (xy 96.0815 41.4365) + (xy 96.0815 41.433502) + (xy 96.4 41.433502) + (xy 96.400462 41.439374) + (xy 96.414252 41.526445) + (xy 96.417865 41.537565) + (xy 96.471344 41.642522) + (xy 96.478222 41.651988) + (xy 96.561511 41.735277) + (xy 96.570977 41.742155) + (xy 96.675934 41.795634) + (xy 96.687054 41.799247) + (xy 96.774125 41.813037) + (xy 96.779998 41.8135) + (xy 96.891098 41.8135) + (xy 96.898907 41.811407) + (xy 96.901 41.803598) + (xy 97.155 41.803598) + (xy 97.157092 41.811407) + (xy 97.164902 41.8135) + (xy 97.276002 41.8135) + (xy 97.281874 41.813037) + (xy 97.368945 41.799247) + (xy 97.380065 41.795634) + (xy 97.485022 41.742155) + (xy 97.494488 41.735277) + (xy 97.577777 41.651988) + (xy 97.584655 41.642522) + (xy 97.638134 41.537565) + (xy 97.641747 41.526445) + (xy 97.655537 41.439374) + (xy 97.656 41.433502) + (xy 97.656 41.284902) + (xy 97.653907 41.277092) + (xy 97.646098 41.275) + (xy 97.164902 41.275) + (xy 97.157092 41.277092) + (xy 97.155 41.284902) + (xy 97.155 41.803598) + (xy 96.901 41.803598) + (xy 96.901 41.284902) + (xy 96.898907 41.277092) + (xy 96.891098 41.275) + (xy 96.409902 41.275) + (xy 96.402092 41.277092) + (xy 96.4 41.284902) + (xy 96.4 41.433502) + (xy 96.0815 41.433502) + (xy 96.0815 41.011098) + (xy 96.4 41.011098) + (xy 96.402092 41.018907) + (xy 96.409902 41.021) + (xy 96.891098 41.021) + (xy 96.898907 41.018907) + (xy 96.901 41.011098) + (xy 97.155 41.011098) + (xy 97.157092 41.018907) + (xy 97.164902 41.021) + (xy 97.646098 41.021) + (xy 97.653907 41.018907) + (xy 97.656 41.011098) + (xy 97.656 40.862498) + (xy 97.655537 40.856625) + (xy 97.641747 40.769554) + (xy 97.638134 40.758434) + (xy 97.584655 40.653477) + (xy 97.577777 40.644011) + (xy 97.494488 40.560722) + (xy 97.485022 40.553844) + (xy 97.380065 40.500365) + (xy 97.368945 40.496752) + (xy 97.281874 40.482962) + (xy 97.276002 40.4825) + (xy 97.164902 40.4825) + (xy 97.157092 40.484592) + (xy 97.155 40.492402) + (xy 97.155 41.011098) + (xy 96.901 41.011098) + (xy 96.901 40.492402) + (xy 96.898907 40.484592) + (xy 96.891098 40.4825) + (xy 96.779998 40.4825) + (xy 96.774125 40.482962) + (xy 96.687054 40.496752) + (xy 96.675934 40.500365) + (xy 96.570977 40.553844) + (xy 96.561511 40.560722) + (xy 96.478222 40.644011) + (xy 96.471344 40.653477) + (xy 96.417865 40.758434) + (xy 96.414252 40.769554) + (xy 96.400462 40.856625) + (xy 96.4 40.862498) + (xy 96.4 41.011098) + (xy 96.0815 41.011098) + (xy 96.0815 40.8595) + (xy 96.066303 40.763552) + (xy 96.062822 40.756721) + (xy 96.029779 40.691869) + (xy 96.007377 40.647903) + (xy 95.915597 40.556123) + (xy 95.905684 40.551072) + (xy 95.805221 40.499883) + (xy 95.805217 40.499881) + (xy 95.799948 40.497197) + (xy 95.794106 40.496271) + (xy 95.794101 40.49627) + (xy 95.706918 40.482462) + (xy 95.706915 40.482461) + (xy 95.704 40.482) + (xy 95.202 40.482) + (xy 95.199085 40.482461) + (xy 95.199081 40.482462) + (xy 95.111897 40.496271) + (xy 95.111895 40.496271) + (xy 95.106052 40.497197) + (xy 95.100934 40.499804) + (xy 95.051751 40.498836) + (xy 95.013662 40.467575) + (xy 95.003103 40.419445) + (xy 95.024606 40.375113) + (xy 95.214696 40.185022) + (xy 95.23909 40.168724) + (xy 95.267868 40.163) + (xy 95.701046 40.163) + (xy 95.704 40.163) + (xy 95.799948 40.147803) + (xy 95.915597 40.088877) + (xy 96.007377 39.997097) + (xy 96.066303 39.881448) + (xy 96.0815 39.7855) + (xy 96.0815 39.782502) + (xy 96.4 39.782502) + (xy 96.400462 39.788374) + (xy 96.414252 39.875445) + (xy 96.417865 39.886565) + (xy 96.471344 39.991522) + (xy 96.478222 40.000988) + (xy 96.561511 40.084277) + (xy 96.570977 40.091155) + (xy 96.675934 40.144634) + (xy 96.687054 40.148247) + (xy 96.774125 40.162037) + (xy 96.779998 40.1625) + (xy 96.891098 40.1625) + (xy 96.898907 40.160407) + (xy 96.901 40.152598) + (xy 97.155 40.152598) + (xy 97.157092 40.160407) + (xy 97.164902 40.1625) + (xy 97.276002 40.1625) + (xy 97.281874 40.162037) + (xy 97.368945 40.148247) + (xy 97.380065 40.144634) + (xy 97.485022 40.091155) + (xy 97.494488 40.084277) + (xy 97.577777 40.000988) + (xy 97.584655 39.991522) + (xy 97.638134 39.886565) + (xy 97.641747 39.875445) + (xy 97.655537 39.788374) + (xy 97.656 39.782502) + (xy 97.656 39.633902) + (xy 97.653907 39.626092) + (xy 97.646098 39.624) + (xy 97.164902 39.624) + (xy 97.157092 39.626092) + (xy 97.155 39.633902) + (xy 97.155 40.152598) + (xy 96.901 40.152598) + (xy 96.901 39.633902) + (xy 96.898907 39.626092) + (xy 96.891098 39.624) + (xy 96.409902 39.624) + (xy 96.402092 39.626092) + (xy 96.4 39.633902) + (xy 96.4 39.782502) + (xy 96.0815 39.782502) + (xy 96.0815 39.360098) + (xy 96.4 39.360098) + (xy 96.402092 39.367907) + (xy 96.409902 39.37) + (xy 96.891098 39.37) + (xy 96.898907 39.367907) + (xy 96.901 39.360098) + (xy 97.155 39.360098) + (xy 97.157092 39.367907) + (xy 97.164902 39.37) + (xy 97.646098 39.37) + (xy 97.653907 39.367907) + (xy 97.656 39.360098) + (xy 97.656 39.211498) + (xy 97.655537 39.205625) + (xy 97.641747 39.118554) + (xy 97.638134 39.107434) + (xy 97.584655 39.002477) + (xy 97.577777 38.993011) + (xy 97.494488 38.909722) + (xy 97.485022 38.902844) + (xy 97.380065 38.849365) + (xy 97.368945 38.845752) + (xy 97.281874 38.831962) + (xy 97.276002 38.8315) + (xy 97.164902 38.8315) + (xy 97.157092 38.833592) + (xy 97.155 38.841402) + (xy 97.155 39.360098) + (xy 96.901 39.360098) + (xy 96.901 38.841402) + (xy 96.898907 38.833592) + (xy 96.891098 38.8315) + (xy 96.779998 38.8315) + (xy 96.774125 38.831962) + (xy 96.687054 38.845752) + (xy 96.675934 38.849365) + (xy 96.570977 38.902844) + (xy 96.561511 38.909722) + (xy 96.478222 38.993011) + (xy 96.471344 39.002477) + (xy 96.417865 39.107434) + (xy 96.414252 39.118554) + (xy 96.400462 39.205625) + (xy 96.4 39.211498) + (xy 96.4 39.360098) + (xy 96.0815 39.360098) + (xy 96.0815 39.2085) + (xy 96.066303 39.112552) + (xy 96.061617 39.103356) + (xy 96.032534 39.046276) + (xy 96.007377 38.996903) + (xy 95.915597 38.905123) + (xy 95.89898 38.896656) + (xy 95.805221 38.848883) + (xy 95.805217 38.848881) + (xy 95.799948 38.846197) + (xy 95.794106 38.845271) + (xy 95.794101 38.84527) + (xy 95.706918 38.831462) + (xy 95.706915 38.831461) + (xy 95.704 38.831) + (xy 95.202 38.831) + (xy 95.199085 38.831461) + (xy 95.199081 38.831462) + (xy 95.111897 38.845271) + (xy 95.111895 38.845271) + (xy 95.106052 38.846197) + (xy 95.100934 38.848804) + (xy 95.051751 38.847836) + (xy 95.013662 38.816575) + (xy 95.003103 38.768445) + (xy 95.024606 38.724113) + (xy 95.214696 38.534022) + (xy 95.23909 38.517724) + (xy 95.267868 38.512) + (xy 95.701046 38.512) + (xy 95.704 38.512) + (xy 95.799948 38.496803) + (xy 95.915597 38.437877) + (xy 96.007377 38.346097) + (xy 96.066303 38.230448) + (xy 96.0815 38.1345) + (xy 96.0815 38.131502) + (xy 96.4 38.131502) + (xy 96.400462 38.137374) + (xy 96.414252 38.224445) + (xy 96.417865 38.235565) + (xy 96.471344 38.340522) + (xy 96.478222 38.349988) + (xy 96.561511 38.433277) + (xy 96.570977 38.440155) + (xy 96.675934 38.493634) + (xy 96.687054 38.497247) + (xy 96.774125 38.511037) + (xy 96.779998 38.5115) + (xy 96.891098 38.5115) + (xy 96.898907 38.509407) + (xy 96.901 38.501598) + (xy 97.155 38.501598) + (xy 97.157092 38.509407) + (xy 97.164902 38.5115) + (xy 97.276002 38.5115) + (xy 97.281874 38.511037) + (xy 97.368945 38.497247) + (xy 97.380065 38.493634) + (xy 97.485022 38.440155) + (xy 97.494488 38.433277) + (xy 97.577777 38.349988) + (xy 97.584655 38.340522) + (xy 97.638134 38.235565) + (xy 97.641747 38.224445) + (xy 97.655537 38.137374) + (xy 97.656 38.131502) + (xy 97.656 37.982902) + (xy 97.653907 37.975092) + (xy 97.646098 37.973) + (xy 97.164902 37.973) + (xy 97.157092 37.975092) + (xy 97.155 37.982902) + (xy 97.155 38.501598) + (xy 96.901 38.501598) + (xy 96.901 37.982902) + (xy 96.898907 37.975092) + (xy 96.891098 37.973) + (xy 96.409902 37.973) + (xy 96.402092 37.975092) + (xy 96.4 37.982902) + (xy 96.4 38.131502) + (xy 96.0815 38.131502) + (xy 96.0815 37.709098) + (xy 96.4 37.709098) + (xy 96.402092 37.716907) + (xy 96.409902 37.719) + (xy 96.891098 37.719) + (xy 96.898907 37.716907) + (xy 96.901 37.709098) + (xy 97.155 37.709098) + (xy 97.157092 37.716907) + (xy 97.164902 37.719) + (xy 97.646098 37.719) + (xy 97.653907 37.716907) + (xy 97.656 37.709098) + (xy 97.656 37.560498) + (xy 97.655537 37.554625) + (xy 97.641747 37.467554) + (xy 97.638134 37.456434) + (xy 97.584655 37.351477) + (xy 97.577777 37.342011) + (xy 97.494488 37.258722) + (xy 97.485022 37.251844) + (xy 97.380065 37.198365) + (xy 97.368945 37.194752) + (xy 97.281874 37.180962) + (xy 97.276002 37.1805) + (xy 97.164902 37.1805) + (xy 97.157092 37.182592) + (xy 97.155 37.190402) + (xy 97.155 37.709098) + (xy 96.901 37.709098) + (xy 96.901 37.190402) + (xy 96.898907 37.182592) + (xy 96.891098 37.1805) + (xy 96.779998 37.1805) + (xy 96.774125 37.180962) + (xy 96.687054 37.194752) + (xy 96.675934 37.198365) + (xy 96.570977 37.251844) + (xy 96.561511 37.258722) + (xy 96.478222 37.342011) + (xy 96.471344 37.351477) + (xy 96.417865 37.456434) + (xy 96.414252 37.467554) + (xy 96.400462 37.554625) + (xy 96.4 37.560498) + (xy 96.4 37.709098) + (xy 96.0815 37.709098) + (xy 96.0815 37.5575) + (xy 96.066303 37.461552) + (xy 96.007377 37.345903) + (xy 95.915597 37.254123) + (xy 95.91032 37.251434) + (xy 95.805221 37.197883) + (xy 95.805217 37.197881) + (xy 95.799948 37.195197) + (xy 95.794106 37.194271) + (xy 95.794101 37.19427) + (xy 95.706918 37.180462) + (xy 95.706915 37.180461) + (xy 95.704 37.18) + (xy 95.202 37.18) + (xy 95.199085 37.180461) + (xy 95.199081 37.180462) + (xy 95.111897 37.194271) + (xy 95.111895 37.194271) + (xy 95.106052 37.195197) + (xy 95.100934 37.197804) + (xy 95.051751 37.196836) + (xy 95.013662 37.165575) + (xy 95.003103 37.117445) + (xy 95.024606 37.073113) + (xy 95.214697 36.883022) + (xy 95.23909 36.866724) + (xy 95.267868 36.861) + (xy 95.701046 36.861) + (xy 95.704 36.861) + (xy 95.799948 36.845803) + (xy 95.915597 36.786877) + (xy 96.007377 36.695097) + (xy 96.066303 36.579448) + (xy 96.0815 36.4835) + (xy 96.0815 36.480502) + (xy 96.4 36.480502) + (xy 96.400462 36.486374) + (xy 96.414252 36.573445) + (xy 96.417865 36.584565) + (xy 96.471344 36.689522) + (xy 96.478222 36.698988) + (xy 96.561511 36.782277) + (xy 96.570977 36.789155) + (xy 96.675934 36.842634) + (xy 96.687054 36.846247) + (xy 96.774125 36.860037) + (xy 96.779998 36.8605) + (xy 96.891098 36.8605) + (xy 96.898907 36.858407) + (xy 96.901 36.850598) + (xy 97.155 36.850598) + (xy 97.157092 36.858407) + (xy 97.164902 36.8605) + (xy 97.276002 36.8605) + (xy 97.281874 36.860037) + (xy 97.368945 36.846247) + (xy 97.380065 36.842634) + (xy 97.485022 36.789155) + (xy 97.494488 36.782277) + (xy 97.577777 36.698988) + (xy 97.584655 36.689522) + (xy 97.638134 36.584565) + (xy 97.641747 36.573445) + (xy 97.655537 36.486374) + (xy 97.656 36.480502) + (xy 97.656 36.331902) + (xy 97.653907 36.324092) + (xy 97.646098 36.322) + (xy 97.164902 36.322) + (xy 97.157092 36.324092) + (xy 97.155 36.331902) + (xy 97.155 36.850598) + (xy 96.901 36.850598) + (xy 96.901 36.331902) + (xy 96.898907 36.324092) + (xy 96.891098 36.322) + (xy 96.409902 36.322) + (xy 96.402092 36.324092) + (xy 96.4 36.331902) + (xy 96.4 36.480502) + (xy 96.0815 36.480502) + (xy 96.0815 36.058098) + (xy 96.4 36.058098) + (xy 96.402092 36.065907) + (xy 96.409902 36.068) + (xy 96.891098 36.068) + (xy 96.898907 36.065907) + (xy 96.901 36.058098) + (xy 97.155 36.058098) + (xy 97.157092 36.065907) + (xy 97.164902 36.068) + (xy 97.646098 36.068) + (xy 97.653907 36.065907) + (xy 97.656 36.058098) + (xy 97.656 35.909498) + (xy 97.655537 35.903625) + (xy 97.641747 35.816554) + (xy 97.638134 35.805434) + (xy 97.584655 35.700477) + (xy 97.577777 35.691011) + (xy 97.494488 35.607722) + (xy 97.485022 35.600844) + (xy 97.380065 35.547365) + (xy 97.368945 35.543752) + (xy 97.281874 35.529962) + (xy 97.276002 35.5295) + (xy 97.164902 35.5295) + (xy 97.157092 35.531592) + (xy 97.155 35.539402) + (xy 97.155 36.058098) + (xy 96.901 36.058098) + (xy 96.901 35.539402) + (xy 96.898907 35.531592) + (xy 96.891098 35.5295) + (xy 96.779998 35.5295) + (xy 96.774125 35.529962) + (xy 96.687054 35.543752) + (xy 96.675934 35.547365) + (xy 96.570977 35.600844) + (xy 96.561511 35.607722) + (xy 96.478222 35.691011) + (xy 96.471344 35.700477) + (xy 96.417865 35.805434) + (xy 96.414252 35.816554) + (xy 96.400462 35.903625) + (xy 96.4 35.909498) + (xy 96.4 36.058098) + (xy 96.0815 36.058098) + (xy 96.0815 35.9065) + (xy 96.066303 35.810552) + (xy 96.041827 35.762516) + (xy 96.028338 35.736042) + (xy 96.007377 35.694903) + (xy 95.915597 35.603123) + (xy 95.90894 35.599731) + (xy 95.805221 35.546883) + (xy 95.805217 35.546881) + (xy 95.799948 35.544197) + (xy 95.794106 35.543271) + (xy 95.794101 35.54327) + (xy 95.706918 35.529462) + (xy 95.706915 35.529461) + (xy 95.704 35.529) + (xy 95.202 35.529) + (xy 95.199085 35.529461) + (xy 95.199081 35.529462) + (xy 95.111898 35.54327) + (xy 95.111891 35.543272) + (xy 95.106052 35.544197) + (xy 95.100784 35.54688) + (xy 95.100778 35.546883) + (xy 94.995679 35.600434) + (xy 94.995675 35.600436) + (xy 94.990403 35.603123) + (xy 94.986216 35.607309) + (xy 94.986213 35.607312) + (xy 94.902812 35.690713) + (xy 94.902809 35.690716) + (xy 94.898623 35.694903) + (xy 94.895936 35.700175) + (xy 94.895934 35.700179) + (xy 94.842383 35.805278) + (xy 94.84238 35.805284) + (xy 94.839697 35.810552) + (xy 94.838772 35.816391) + (xy 94.83877 35.816398) + (xy 94.826019 35.89691) + (xy 94.8245 35.9065) + (xy 94.8245 35.909454) + (xy 94.8245 36.342632) + (xy 94.818776 36.37141) + (xy 94.802474 36.395806) + (xy 94.255564 36.942715) + (xy 94.216738 36.96336) + (xy 94.173005 36.958762) + (xy 94.13932 36.930495) + (xy 94.127202 36.888224) + (xy 94.139322 36.850926) + (xy 94.139096 36.850821) + (xy 94.139958 36.848972) + (xy 94.140792 36.846404) + (xy 94.145651 36.839466) + (xy 94.147353 36.833111) + (xy 94.150134 36.827148) + (xy 94.150144 36.827152) + (xy 94.150901 36.825324) + (xy 94.150891 36.825321) + (xy 94.15314 36.81914) + (xy 94.156432 36.81344) + (xy 94.163189 36.775112) + (xy 94.164605 36.768724) + (xy 94.174677 36.731143) + (xy 94.171285 36.692383) + (xy 94.171 36.68583) + (xy 94.171 35.925868) + (xy 94.176724 35.89709) + (xy 94.193026 35.872694) + (xy 95.214694 34.851026) + (xy 95.23909 34.834724) + (xy 95.267868 34.829) + (xy 95.701046 34.829) + (xy 95.704 34.829) + (xy 95.799948 34.813803) + (xy 95.915597 34.754877) + (xy 96.007377 34.663097) + (xy 96.066303 34.547448) + (xy 96.0815 34.4515) + (xy 96.0815 34.448502) + (xy 96.4 34.448502) + (xy 96.400462 34.454374) + (xy 96.414252 34.541445) + (xy 96.417865 34.552565) + (xy 96.471344 34.657522) + (xy 96.478222 34.666988) + (xy 96.561511 34.750277) + (xy 96.570977 34.757155) + (xy 96.675934 34.810634) + (xy 96.687054 34.814247) + (xy 96.774125 34.828037) + (xy 96.779998 34.8285) + (xy 96.891098 34.8285) + (xy 96.898907 34.826407) + (xy 96.901 34.818598) + (xy 97.155 34.818598) + (xy 97.157092 34.826407) + (xy 97.164902 34.8285) + (xy 97.276002 34.8285) + (xy 97.281874 34.828037) + (xy 97.368945 34.814247) + (xy 97.380065 34.810634) + (xy 97.485022 34.757155) + (xy 97.494488 34.750277) + (xy 97.577777 34.666988) + (xy 97.584655 34.657522) + (xy 97.638134 34.552565) + (xy 97.641747 34.541445) + (xy 97.655537 34.454374) + (xy 97.656 34.448502) + (xy 97.656 34.299902) + (xy 97.653907 34.292092) + (xy 97.646098 34.29) + (xy 97.164902 34.29) + (xy 97.157092 34.292092) + (xy 97.155 34.299902) + (xy 97.155 34.818598) + (xy 96.901 34.818598) + (xy 96.901 34.299902) + (xy 96.898907 34.292092) + (xy 96.891098 34.29) + (xy 96.409902 34.29) + (xy 96.402092 34.292092) + (xy 96.4 34.299902) + (xy 96.4 34.448502) + (xy 96.0815 34.448502) + (xy 96.0815 34.026098) + (xy 96.4 34.026098) + (xy 96.402092 34.033907) + (xy 96.409902 34.036) + (xy 96.891098 34.036) + (xy 96.898907 34.033907) + (xy 96.901 34.026098) + (xy 97.155 34.026098) + (xy 97.157092 34.033907) + (xy 97.164902 34.036) + (xy 97.646098 34.036) + (xy 97.653907 34.033907) + (xy 97.656 34.026098) + (xy 97.656 33.877498) + (xy 97.655537 33.871625) + (xy 97.641747 33.784554) + (xy 97.638134 33.773434) + (xy 97.584655 33.668477) + (xy 97.577777 33.659011) + (xy 97.494488 33.575722) + (xy 97.485022 33.568844) + (xy 97.380065 33.515365) + (xy 97.368945 33.511752) + (xy 97.281874 33.497962) + (xy 97.276002 33.4975) + (xy 97.164902 33.4975) + (xy 97.157092 33.499592) + (xy 97.155 33.507402) + (xy 97.155 34.026098) + (xy 96.901 34.026098) + (xy 96.901 33.507402) + (xy 96.898907 33.499592) + (xy 96.891098 33.4975) + (xy 96.779998 33.4975) + (xy 96.774125 33.497962) + (xy 96.687054 33.511752) + (xy 96.675934 33.515365) + (xy 96.570977 33.568844) + (xy 96.561511 33.575722) + (xy 96.478222 33.659011) + (xy 96.471344 33.668477) + (xy 96.417865 33.773434) + (xy 96.414252 33.784554) + (xy 96.400462 33.871625) + (xy 96.4 33.877498) + (xy 96.4 34.026098) + (xy 96.0815 34.026098) + (xy 96.0815 33.8745) + (xy 96.066303 33.778552) + (xy 96.007377 33.662903) + (xy 95.915597 33.571123) + (xy 95.91032 33.568434) + (xy 95.805221 33.514883) + (xy 95.805217 33.514881) + (xy 95.799948 33.512197) + (xy 95.794106 33.511271) + (xy 95.794101 33.51127) + (xy 95.706918 33.497462) + (xy 95.706915 33.497461) + (xy 95.704 33.497) + (xy 95.202 33.497) + (xy 95.199085 33.497461) + (xy 95.199081 33.497462) + (xy 95.111894 33.511271) + (xy 95.111889 33.511272) + (xy 95.106052 33.512197) + (xy 95.100934 33.514804) + (xy 95.05175 33.513837) + (xy 95.013661 33.482576) + (xy 95.003101 33.434446) + (xy 95.024604 33.390115) + (xy 95.214696 33.200022) + (xy 95.239089 33.183724) + (xy 95.267867 33.178) + (xy 95.701046 33.178) + (xy 95.704 33.178) + (xy 95.799948 33.162803) + (xy 95.915597 33.103877) + (xy 96.007377 33.012097) + (xy 96.066303 32.896448) + (xy 96.0815 32.8005) + (xy 96.0815 32.797502) + (xy 96.4 32.797502) + (xy 96.400462 32.803374) + (xy 96.414252 32.890445) + (xy 96.417865 32.901565) + (xy 96.471344 33.006522) + (xy 96.478222 33.015988) + (xy 96.561511 33.099277) + (xy 96.570977 33.106155) + (xy 96.675934 33.159634) + (xy 96.687054 33.163247) + (xy 96.774125 33.177037) + (xy 96.779998 33.1775) + (xy 96.891098 33.1775) + (xy 96.898907 33.175407) + (xy 96.901 33.167598) + (xy 97.155 33.167598) + (xy 97.157092 33.175407) + (xy 97.164902 33.1775) + (xy 97.276002 33.1775) + (xy 97.281874 33.177037) + (xy 97.368945 33.163247) + (xy 97.380065 33.159634) + (xy 97.485022 33.106155) + (xy 97.494488 33.099277) + (xy 97.577777 33.015988) + (xy 97.584655 33.006522) + (xy 97.638134 32.901565) + (xy 97.641747 32.890445) + (xy 97.655537 32.803374) + (xy 97.656 32.797502) + (xy 97.656 32.648902) + (xy 97.653907 32.641092) + (xy 97.646098 32.639) + (xy 97.164902 32.639) + (xy 97.157092 32.641092) + (xy 97.155 32.648902) + (xy 97.155 33.167598) + (xy 96.901 33.167598) + (xy 96.901 32.648902) + (xy 96.898907 32.641092) + (xy 96.891098 32.639) + (xy 96.409902 32.639) + (xy 96.402092 32.641092) + (xy 96.4 32.648902) + (xy 96.4 32.797502) + (xy 96.0815 32.797502) + (xy 96.0815 32.375098) + (xy 96.4 32.375098) + (xy 96.402092 32.382907) + (xy 96.409902 32.385) + (xy 96.891098 32.385) + (xy 96.898907 32.382907) + (xy 96.901 32.375098) + (xy 97.155 32.375098) + (xy 97.157092 32.382907) + (xy 97.164902 32.385) + (xy 97.646098 32.385) + (xy 97.653907 32.382907) + (xy 97.656 32.375098) + (xy 97.656 32.226498) + (xy 97.655537 32.220625) + (xy 97.641747 32.133554) + (xy 97.638134 32.122434) + (xy 97.584655 32.017477) + (xy 97.577777 32.008011) + (xy 97.494488 31.924722) + (xy 97.485022 31.917844) + (xy 97.380065 31.864365) + (xy 97.368945 31.860752) + (xy 97.281874 31.846962) + (xy 97.276002 31.8465) + (xy 97.164902 31.8465) + (xy 97.157092 31.848592) + (xy 97.155 31.856402) + (xy 97.155 32.375098) + (xy 96.901 32.375098) + (xy 96.901 31.856402) + (xy 96.898907 31.848592) + (xy 96.891098 31.8465) + (xy 96.779998 31.8465) + (xy 96.774125 31.846962) + (xy 96.687054 31.860752) + (xy 96.675934 31.864365) + (xy 96.570977 31.917844) + (xy 96.561511 31.924722) + (xy 96.478222 32.008011) + (xy 96.471344 32.017477) + (xy 96.417865 32.122434) + (xy 96.414252 32.133554) + (xy 96.400462 32.220625) + (xy 96.4 32.226498) + (xy 96.4 32.375098) + (xy 96.0815 32.375098) + (xy 96.0815 32.2235) + (xy 96.066303 32.127552) + (xy 96.041238 32.07836) + (xy 96.010065 32.017179) + (xy 96.007377 32.011903) + (xy 95.915597 31.920123) + (xy 95.91032 31.917434) + (xy 95.805221 31.863883) + (xy 95.805217 31.863881) + (xy 95.799948 31.861197) + (xy 95.794106 31.860271) + (xy 95.794101 31.86027) + (xy 95.706918 31.846462) + (xy 95.706915 31.846461) + (xy 95.704 31.846) + (xy 95.202 31.846) + (xy 95.199085 31.846461) + (xy 95.199081 31.846462) + (xy 95.111897 31.860271) + (xy 95.111895 31.860271) + (xy 95.106052 31.861197) + (xy 95.100934 31.863804) + (xy 95.051751 31.862836) + (xy 95.013662 31.831575) + (xy 95.003103 31.783445) + (xy 95.024606 31.739113) + (xy 95.214697 31.549022) + (xy 95.23909 31.532724) + (xy 95.267868 31.527) + (xy 95.701046 31.527) + (xy 95.704 31.527) + (xy 95.799948 31.511803) + (xy 95.915597 31.452877) + (xy 96.007377 31.361097) + (xy 96.066303 31.245448) + (xy 96.0815 31.1495) + (xy 96.0815 31.146502) + (xy 96.4 31.146502) + (xy 96.400462 31.152374) + (xy 96.414252 31.239445) + (xy 96.417865 31.250565) + (xy 96.471344 31.355522) + (xy 96.478222 31.364988) + (xy 96.561511 31.448277) + (xy 96.570977 31.455155) + (xy 96.675934 31.508634) + (xy 96.687054 31.512247) + (xy 96.774125 31.526037) + (xy 96.779998 31.5265) + (xy 96.891098 31.5265) + (xy 96.898907 31.524407) + (xy 96.901 31.516598) + (xy 97.155 31.516598) + (xy 97.157092 31.524407) + (xy 97.164902 31.5265) + (xy 97.276002 31.5265) + (xy 97.281874 31.526037) + (xy 97.368945 31.512247) + (xy 97.380065 31.508634) + (xy 97.485022 31.455155) + (xy 97.494488 31.448277) + (xy 97.577777 31.364988) + (xy 97.584655 31.355522) + (xy 97.638134 31.250565) + (xy 97.641747 31.239445) + (xy 97.655537 31.152374) + (xy 97.656 31.146502) + (xy 97.656 30.997902) + (xy 97.653907 30.990092) + (xy 97.646098 30.988) + (xy 97.164902 30.988) + (xy 97.157092 30.990092) + (xy 97.155 30.997902) + (xy 97.155 31.516598) + (xy 96.901 31.516598) + (xy 96.901 30.997902) + (xy 96.898907 30.990092) + (xy 96.891098 30.988) + (xy 96.409902 30.988) + (xy 96.402092 30.990092) + (xy 96.4 30.997902) + (xy 96.4 31.146502) + (xy 96.0815 31.146502) + (xy 96.0815 30.724098) + (xy 96.4 30.724098) + (xy 96.402092 30.731907) + (xy 96.409902 30.734) + (xy 96.891098 30.734) + (xy 96.898907 30.731907) + (xy 96.901 30.724098) + (xy 97.155 30.724098) + (xy 97.157092 30.731907) + (xy 97.164902 30.734) + (xy 97.646098 30.734) + (xy 97.653907 30.731907) + (xy 97.656 30.724098) + (xy 97.656 30.575498) + (xy 97.655537 30.569625) + (xy 97.641747 30.482554) + (xy 97.638134 30.471434) + (xy 97.584655 30.366477) + (xy 97.577777 30.357011) + (xy 97.494488 30.273722) + (xy 97.485022 30.266844) + (xy 97.380065 30.213365) + (xy 97.368945 30.209752) + (xy 97.281874 30.195962) + (xy 97.276002 30.1955) + (xy 97.164902 30.1955) + (xy 97.157092 30.197592) + (xy 97.155 30.205402) + (xy 97.155 30.724098) + (xy 96.901 30.724098) + (xy 96.901 30.205402) + (xy 96.898907 30.197592) + (xy 96.891098 30.1955) + (xy 96.779998 30.1955) + (xy 96.774125 30.195962) + (xy 96.687054 30.209752) + (xy 96.675934 30.213365) + (xy 96.570977 30.266844) + (xy 96.561511 30.273722) + (xy 96.478222 30.357011) + (xy 96.471344 30.366477) + (xy 96.417865 30.471434) + (xy 96.414252 30.482554) + (xy 96.400462 30.569625) + (xy 96.4 30.575498) + (xy 96.4 30.724098) + (xy 96.0815 30.724098) + (xy 96.0815 30.5725) + (xy 96.066303 30.476552) + (xy 96.049152 30.442892) + (xy 96.010065 30.366179) + (xy 96.007377 30.360903) + (xy 95.915597 30.269123) + (xy 95.880814 30.2514) + (xy 95.805221 30.212883) + (xy 95.805217 30.212881) + (xy 95.799948 30.210197) + (xy 95.794106 30.209271) + (xy 95.794101 30.20927) + (xy 95.706918 30.195462) + (xy 95.706915 30.195461) + (xy 95.704 30.195) + (xy 95.202 30.195) + (xy 95.199085 30.195461) + (xy 95.199081 30.195462) + (xy 95.111897 30.209271) + (xy 95.111895 30.209271) + (xy 95.106052 30.210197) + (xy 95.100934 30.212804) + (xy 95.051751 30.211836) + (xy 95.013662 30.180575) + (xy 95.003103 30.132445) + (xy 95.024606 30.088113) + (xy 95.214697 29.898022) + (xy 95.23909 29.881724) + (xy 95.267868 29.876) + (xy 95.701046 29.876) + (xy 95.704 29.876) + (xy 95.799948 29.860803) + (xy 95.915597 29.801877) + (xy 96.007377 29.710097) + (xy 96.066303 29.594448) + (xy 96.0815 29.4985) + (xy 96.0815 29.495502) + (xy 96.4 29.495502) + (xy 96.400462 29.501374) + (xy 96.414252 29.588445) + (xy 96.417865 29.599565) + (xy 96.471344 29.704522) + (xy 96.478222 29.713988) + (xy 96.561511 29.797277) + (xy 96.570977 29.804155) + (xy 96.675934 29.857634) + (xy 96.687054 29.861247) + (xy 96.774125 29.875037) + (xy 96.779998 29.8755) + (xy 96.891098 29.8755) + (xy 96.898907 29.873407) + (xy 96.901 29.865598) + (xy 97.155 29.865598) + (xy 97.157092 29.873407) + (xy 97.164902 29.8755) + (xy 97.276002 29.8755) + (xy 97.281874 29.875037) + (xy 97.368945 29.861247) + (xy 97.380065 29.857634) + (xy 97.485022 29.804155) + (xy 97.494488 29.797277) + (xy 97.577777 29.713988) + (xy 97.584655 29.704522) + (xy 97.638134 29.599565) + (xy 97.641747 29.588445) + (xy 97.655537 29.501374) + (xy 97.656 29.495502) + (xy 97.656 29.346902) + (xy 97.653907 29.339092) + (xy 97.646098 29.337) + (xy 97.164902 29.337) + (xy 97.157092 29.339092) + (xy 97.155 29.346902) + (xy 97.155 29.865598) + (xy 96.901 29.865598) + (xy 96.901 29.346902) + (xy 96.898907 29.339092) + (xy 96.891098 29.337) + (xy 96.409902 29.337) + (xy 96.402092 29.339092) + (xy 96.4 29.346902) + (xy 96.4 29.495502) + (xy 96.0815 29.495502) + (xy 96.0815 29.073098) + (xy 96.4 29.073098) + (xy 96.402092 29.080907) + (xy 96.409902 29.083) + (xy 96.891098 29.083) + (xy 96.898907 29.080907) + (xy 96.901 29.073098) + (xy 97.155 29.073098) + (xy 97.157092 29.080907) + (xy 97.164902 29.083) + (xy 97.646098 29.083) + (xy 97.653907 29.080907) + (xy 97.656 29.073098) + (xy 97.656 28.924498) + (xy 97.655537 28.918625) + (xy 97.641747 28.831554) + (xy 97.638134 28.820434) + (xy 97.584655 28.715477) + (xy 97.577777 28.706011) + (xy 97.494488 28.622722) + (xy 97.485022 28.615844) + (xy 97.380065 28.562365) + (xy 97.368945 28.558752) + (xy 97.281874 28.544962) + (xy 97.276002 28.5445) + (xy 97.164902 28.5445) + (xy 97.157092 28.546592) + (xy 97.155 28.554402) + (xy 97.155 29.073098) + (xy 96.901 29.073098) + (xy 96.901 28.554402) + (xy 96.898907 28.546592) + (xy 96.891098 28.5445) + (xy 96.779998 28.5445) + (xy 96.774125 28.544962) + (xy 96.687054 28.558752) + (xy 96.675934 28.562365) + (xy 96.570977 28.615844) + (xy 96.561511 28.622722) + (xy 96.478222 28.706011) + (xy 96.471344 28.715477) + (xy 96.417865 28.820434) + (xy 96.414252 28.831554) + (xy 96.400462 28.918625) + (xy 96.4 28.924498) + (xy 96.4 29.073098) + (xy 96.0815 29.073098) + (xy 96.0815 28.9215) + (xy 96.066303 28.825552) + (xy 96.007377 28.709903) + (xy 95.915597 28.618123) + (xy 95.91032 28.615434) + (xy 95.805221 28.561883) + (xy 95.805217 28.561881) + (xy 95.799948 28.559197) + (xy 95.794106 28.558271) + (xy 95.794101 28.55827) + (xy 95.706918 28.544462) + (xy 95.706915 28.544461) + (xy 95.704 28.544) + (xy 95.202 28.544) + (xy 95.199085 28.544461) + (xy 95.199081 28.544462) + (xy 95.111898 28.55827) + (xy 95.111891 28.558272) + (xy 95.106052 28.559197) + (xy 95.100784 28.56188) + (xy 95.100778 28.561883) + (xy 94.995679 28.615434) + (xy 94.995675 28.615436) + (xy 94.990403 28.618123) + (xy 94.986216 28.622309) + (xy 94.986213 28.622312) + (xy 94.902812 28.705713) + (xy 94.902809 28.705716) + (xy 94.898623 28.709903) + (xy 94.895936 28.715175) + (xy 94.895934 28.715179) + (xy 94.842383 28.820278) + (xy 94.84238 28.820284) + (xy 94.839697 28.825552) + (xy 94.838772 28.831391) + (xy 94.83877 28.831398) + (xy 94.824962 28.918581) + (xy 94.8245 28.9215) + (xy 94.8245 28.924454) + (xy 94.8245 29.357632) + (xy 94.818776 29.38641) + (xy 94.802474 29.410806) + (xy 91.354288 32.85899) + (xy 91.349454 32.863421) + (xy 91.324678 32.884211) + (xy 91.324673 32.884215) + (xy 91.31964 32.88844) + (xy 91.316355 32.894129) + (xy 91.316352 32.894133) + (xy 91.300189 32.922128) + (xy 91.296667 32.927655) + (xy 91.278122 32.954142) + (xy 91.278119 32.954147) + (xy 91.274348 32.959534) + (xy 91.272644 32.965888) + (xy 91.269867 32.971846) + (xy 91.26986 32.971842) + (xy 91.269099 32.973678) + (xy 91.269106 32.973681) + (xy 91.266854 32.979866) + (xy 91.263568 32.98556) + (xy 91.262426 32.992032) + (xy 91.262425 32.992037) + (xy 91.256813 33.023865) + (xy 91.255394 33.030266) + (xy 91.247025 33.061499) + (xy 91.247024 33.061507) + (xy 91.245323 33.067857) + (xy 91.245896 33.074408) + (xy 91.245896 33.07441) + (xy 91.248714 33.106616) + (xy 91.249 33.11317) + (xy 91.249 35.651132) + (xy 91.243276 35.67991) + (xy 91.226974 35.704306) + (xy 89.482306 37.448974) + (xy 89.45791 37.465276) + (xy 89.429132 37.471) + (xy 88.530472 37.471) + (xy 88.495023 37.462121) + (xy 88.467946 37.437579) + (xy 88.458164 37.42294) + (xy 88.443703 37.401297) + (xy 88.437545 37.397182) + (xy 88.386683 37.363196) + (xy 88.38668 37.363194) + (xy 88.380525 37.359082) + (xy 88.373261 37.357637) + (xy 88.340794 37.351179) + (xy 88.324812 37.348) + (xy 87.487188 37.348) + (xy 87.483563 37.34872) + (xy 87.483563 37.348721) + (xy 87.438738 37.357637) + (xy 87.438736 37.357637) + (xy 87.431475 37.359082) + (xy 87.425321 37.363193) + (xy 87.425316 37.363196) + (xy 87.374454 37.397182) + (xy 87.374451 37.397184) + (xy 87.368297 37.401297) + (xy 87.364184 37.407451) + (xy 87.364182 37.407454) + (xy 87.330196 37.458316) + (xy 87.330193 37.458321) + (xy 87.326082 37.464475) + (xy 87.324637 37.471736) + (xy 87.324637 37.471738) + (xy 87.315721 37.516563) + (xy 87.315 37.520188) + (xy 87.315 38.057812) + (xy 87.326082 38.113525) + (xy 87.339494 38.133597) + (xy 87.365302 38.172221) + (xy 87.377976 38.214) + (xy 87.365302 38.255779) + (xy 87.332195 38.305327) + (xy 87.326082 38.314475) + (xy 87.324637 38.321736) + (xy 87.324637 38.321738) + (xy 87.315972 38.3653) + (xy 87.315 38.370188) + (xy 87.315 38.807812) + (xy 87.315721 38.811436) + (xy 87.323169 38.848883) + (xy 87.326082 38.863525) + (xy 87.330194 38.86968) + (xy 87.330196 38.869683) + (xy 87.357968 38.911245) + (xy 87.368297 38.926703) + (xy 87.374454 38.930817) + (xy 87.379463 38.935826) + (xy 87.398927 38.969537) + (xy 87.398927 39.008463) + (xy 87.379463 39.042174) + (xy 87.374453 39.047183) + (xy 87.368297 39.051297) + (xy 87.364184 39.057451) + (xy 87.364182 39.057454) + (xy 87.330196 39.108316) + (xy 87.330193 39.108321) + (xy 87.326082 39.114475) + (xy 87.324637 39.121736) + (xy 87.324637 39.121738) + (xy 87.31589 39.165714) + (xy 87.315 39.170188) + (xy 87.315 39.607812) + (xy 87.315721 39.611436) + (xy 87.324516 39.655655) + (xy 87.326082 39.663525) + (xy 87.348988 39.697806) + (xy 87.365302 39.722221) + (xy 87.377976 39.764) + (xy 87.365302 39.805779) + (xy 87.333268 39.853721) + (xy 87.326082 39.864475) + (xy 87.324637 39.871736) + (xy 87.324637 39.871738) + (xy 87.320267 39.893709) + (xy 87.315 39.920188) + (xy 87.315 40.457812) + (xy 87.326082 40.513525) + (xy 87.330194 40.51968) + (xy 87.330196 40.519683) + (xy 87.360722 40.565367) + (xy 87.368297 40.576703) + (xy 87.374454 40.580817) + (xy 87.425316 40.614803) + (xy 87.425317 40.614803) + (xy 87.431475 40.618918) + (xy 87.487188 40.63) + (xy 88.321116 40.63) + (xy 88.324812 40.63) + (xy 88.380525 40.618918) + (xy 88.443703 40.576703) + (xy 88.467946 40.54042) + (xy 88.495023 40.515879) + (xy 88.530472 40.507) + (xy 90.34983 40.507) + (xy 90.356383 40.507285) + (xy 90.395143 40.510677) + (xy 90.432728 40.500605) + (xy 90.439121 40.499187) + (xy 90.47744 40.492432) + (xy 90.48314 40.48914) + (xy 90.489321 40.486891) + (xy 90.489324 40.486901) + (xy 90.491151 40.486145) + (xy 90.491147 40.486136) + (xy 90.497109 40.483354) + (xy 90.503466 40.481652) + (xy 90.510405 40.476792) + (xy 90.512972 40.475958) + (xy 90.514818 40.475098) + (xy 90.514923 40.475324) + (xy 90.552223 40.463203) + (xy 90.594494 40.475321) + (xy 90.622761 40.509006) + (xy 90.627359 40.552739) + (xy 90.606714 40.591565) + (xy 89.685306 41.512974) + (xy 89.66091 41.529276) + (xy 89.632132 41.535) + (xy 88.519472 41.535) + (xy 88.484023 41.526121) + (xy 88.456946 41.501579) + (xy 88.436817 41.471454) + (xy 88.432703 41.465297) + (xy 88.426545 41.461182) + (xy 88.375683 41.427196) + (xy 88.37568 41.427194) + (xy 88.369525 41.423082) + (xy 88.362261 41.421637) + (xy 88.343602 41.417925) + (xy 88.313812 41.412) + (xy 87.476188 41.412) + (xy 87.472563 41.41272) + (xy 87.472563 41.412721) + (xy 87.427738 41.421637) + (xy 87.427736 41.421637) + (xy 87.420475 41.423082) + (xy 87.414321 41.427193) + (xy 87.414316 41.427196) + (xy 87.363454 41.461182) + (xy 87.363451 41.461184) + (xy 87.357297 41.465297) + (xy 87.353184 41.471451) + (xy 87.353182 41.471454) + (xy 87.319196 41.522316) + (xy 87.319193 41.522321) + (xy 87.315082 41.528475) + (xy 87.313637 41.535736) + (xy 87.313637 41.535738) + (xy 87.308742 41.560348) + (xy 87.304 41.584188) + (xy 87.304 42.121812) + (xy 87.315082 42.177525) + (xy 87.325026 42.192407) + (xy 87.354302 42.236221) + (xy 87.366976 42.278) + (xy 87.354302 42.319779) + (xy 87.32108 42.369499) + (xy 87.315082 42.378475) + (xy 87.313637 42.385736) + (xy 87.313637 42.385738) + (xy 87.310804 42.399982) + (xy 87.304 42.434188) + (xy 87.304 42.871812) + (xy 87.304721 42.875436) + (xy 87.313229 42.918212) + (xy 87.315082 42.927525) + (xy 87.319194 42.93368) + (xy 87.319196 42.933683) + (xy 87.347956 42.976724) + (xy 87.357297 42.990703) + (xy 87.363454 42.994817) + (xy 87.368463 42.999826) + (xy 87.387927 43.033537) + (xy 87.387927 43.072463) + (xy 87.368463 43.106174) + (xy 87.363453 43.111183) + (xy 87.357297 43.115297) + (xy 87.353184 43.121451) + (xy 87.353182 43.121454) + (xy 87.319196 43.172316) + (xy 87.319193 43.172321) + (xy 87.315082 43.178475) + (xy 87.313637 43.185736) + (xy 87.313637 43.185738) + (xy 87.311895 43.194498) + (xy 87.304 43.234188) + (xy 87.304 43.671812) + (xy 87.305889 43.681307) + (xy 87.311584 43.709942) + (xy 87.315082 43.727525) + (xy 87.333896 43.755681) + (xy 87.354302 43.786221) + (xy 87.366976 43.828) + (xy 87.354302 43.869779) + (xy 87.32194 43.918212) + (xy 87.315082 43.928475) + (xy 87.313637 43.935736) + (xy 87.313637 43.935738) + (xy 87.306226 43.972999) + (xy 87.304 43.984188) + (xy 87.304 44.521812) + (xy 86.686 44.521812) + (xy 86.686 43.984188) + (xy 86.674918 43.928475) + (xy 86.635695 43.869775) + (xy 86.623023 43.828) + (xy 86.635695 43.786224) + (xy 86.674918 43.727525) + (xy 86.686 43.671812) + (xy 86.686 43.234188) + (xy 86.674918 43.178475) + (xy 86.667977 43.168088) + (xy 86.636817 43.121454) + (xy 86.632703 43.115297) + (xy 86.626545 43.111182) + (xy 86.621537 43.106174) + (xy 86.602073 43.072463) + (xy 86.602073 43.033537) + (xy 86.621537 42.999826) + (xy 86.626544 42.994817) + (xy 86.632703 42.990703) + (xy 86.674918 42.927525) + (xy 86.686 42.871812) + (xy 86.686 42.434188) + (xy 86.674918 42.378475) + (xy 86.635696 42.319776) + (xy 86.623023 42.277998) + (xy 86.635696 42.236223) + (xy 86.674918 42.177525) + (xy 86.686 42.121812) + (xy 86.686 41.584188) + (xy 86.674918 41.528475) + (xy 86.66456 41.512974) + (xy 86.636817 41.471454) + (xy 86.632703 41.465297) + (xy 86.626545 41.461182) + (xy 86.575683 41.427196) + (xy 86.57568 41.427194) + (xy 86.569525 41.423082) + (xy 86.562261 41.421637) + (xy 86.543602 41.417925) + (xy 86.513812 41.412) + (xy 85.676188 41.412) + (xy 85.672563 41.41272) + (xy 85.672563 41.412721) + (xy 85.627738 41.421637) + (xy 85.627736 41.421637) + (xy 85.620475 41.423082) + (xy 85.614321 41.427193) + (xy 85.614316 41.427196) + (xy 85.563454 41.461182) + (xy 85.563451 41.461184) + (xy 85.557297 41.465297) + (xy 85.553184 41.471451) + (xy 85.553182 41.471454) + (xy 85.533054 41.501579) + (xy 85.505977 41.526121) + (xy 85.470528 41.535) + (xy 84.91017 41.535) + (xy 84.903616 41.534714) + (xy 84.87141 41.531896) + (xy 84.871408 41.531896) + (xy 84.864857 41.531323) + (xy 84.858507 41.533024) + (xy 84.858499 41.533025) + (xy 84.827266 41.541394) + (xy 84.820865 41.542813) + (xy 84.789037 41.548425) + (xy 84.789032 41.548426) + (xy 84.78256 41.549568) + (xy 84.776866 41.552854) + (xy 84.770681 41.555106) + (xy 84.770678 41.555099) + (xy 84.768842 41.55586) + (xy 84.768846 41.555867) + (xy 84.762888 41.558644) + (xy 84.756534 41.560348) + (xy 84.751147 41.564119) + (xy 84.751142 41.564122) + (xy 84.724655 41.582667) + (xy 84.719128 41.586189) + (xy 84.691133 41.602352) + (xy 84.691129 41.602355) + (xy 84.68544 41.60564) + (xy 84.681215 41.610673) + (xy 84.681211 41.610678) + (xy 84.660421 41.635454) + (xy 84.65599 41.640288) + (xy 80.916306 45.379974) + (xy 80.89191 45.396276) + (xy 80.863132 45.402) + (xy 80.705267 45.402) + (xy 80.663488 45.389327) + (xy 80.635791 45.355578) + (xy 80.631512 45.312129) + (xy 80.652093 45.273626) + (xy 85.396694 40.529026) + (xy 85.42109 40.512724) + (xy 85.449868 40.507) + (xy 85.481528 40.507) + (xy 85.516977 40.515879) + (xy 85.544053 40.54042) + (xy 85.568297 40.576703) + (xy 85.574454 40.580817) + (xy 85.625316 40.614803) + (xy 85.625317 40.614803) + (xy 85.631475 40.618918) + (xy 85.687188 40.63) + (xy 86.521116 40.63) + (xy 86.524812 40.63) + (xy 86.580525 40.618918) + (xy 86.643703 40.576703) + (xy 86.685918 40.513525) + (xy 86.697 40.457812) + (xy 86.697 39.920188) + (xy 86.685918 39.864475) + (xy 86.646695 39.805775) + (xy 86.634023 39.764) + (xy 86.646695 39.722224) + (xy 86.685918 39.663525) + (xy 86.697 39.607812) + (xy 86.697 39.170188) + (xy 86.685918 39.114475) + (xy 86.681213 39.107434) + (xy 86.647817 39.057454) + (xy 86.643703 39.051297) + (xy 86.637545 39.047182) + (xy 86.632537 39.042174) + (xy 86.613073 39.008463) + (xy 86.613073 38.969537) + (xy 86.632537 38.935826) + (xy 86.637544 38.930817) + (xy 86.643703 38.926703) + (xy 86.685918 38.863525) + (xy 86.697 38.807812) + (xy 86.697 38.370188) + (xy 86.685918 38.314475) + (xy 86.646695 38.255775) + (xy 86.634023 38.214) + (xy 86.646695 38.172224) + (xy 86.685918 38.113525) + (xy 86.697 38.057812) + (xy 86.697 37.520188) + (xy 86.685918 37.464475) + (xy 86.679262 37.454514) + (xy 86.647817 37.407454) + (xy 86.643703 37.401297) + (xy 86.637545 37.397182) + (xy 86.586683 37.363196) + (xy 86.58668 37.363194) + (xy 86.580525 37.359082) + (xy 86.573261 37.357637) + (xy 86.540794 37.351179) + (xy 86.524812 37.348) + (xy 85.687188 37.348) + (xy 85.683563 37.34872) + (xy 85.683563 37.348721) + (xy 85.638738 37.357637) + (xy 85.638736 37.357637) + (xy 85.631475 37.359082) + (xy 85.625321 37.363193) + (xy 85.625316 37.363196) + (xy 85.574454 37.397182) + (xy 85.574451 37.397184) + (xy 85.568297 37.401297) + (xy 85.564184 37.407451) + (xy 85.564182 37.407454) + (xy 85.544054 37.437579) + (xy 85.516977 37.462121) + (xy 85.481528 37.471) + (xy 85.03717 37.471) + (xy 85.030616 37.470714) + (xy 84.99841 37.467896) + (xy 84.998408 37.467896) + (xy 84.991857 37.467323) + (xy 84.985507 37.469024) + (xy 84.985499 37.469025) + (xy 84.954266 37.477394) + (xy 84.947865 37.478813) + (xy 84.916037 37.484425) + (xy 84.916032 37.484426) + (xy 84.90956 37.485568) + (xy 84.903866 37.488854) + (xy 84.897681 37.491106) + (xy 84.897678 37.491099) + (xy 84.895842 37.49186) + (xy 84.895846 37.491867) + (xy 84.889888 37.494644) + (xy 84.883534 37.496348) + (xy 84.878147 37.500119) + (xy 84.878142 37.500122) + (xy 84.851655 37.518667) + (xy 84.846128 37.522189) + (xy 84.818133 37.538352) + (xy 84.818129 37.538355) + (xy 84.81244 37.54164) + (xy 84.808215 37.546673) + (xy 84.808211 37.546678) + (xy 84.787421 37.571454) + (xy 84.78299 37.576288) + (xy 79.810524 42.548754) + (xy 79.775948 42.568444) + (xy 79.736166 42.567734) + (xy 79.705452 42.558716) + (xy 79.705444 42.558714) + (xy 79.700285 42.5572) + (xy 79.557715 42.5572) + (xy 79.552558 42.558714) + (xy 79.552552 42.558715) + (xy 79.426076 42.595852) + (xy 79.426071 42.595854) + (xy 79.420919 42.597367) + (xy 79.416403 42.600269) + (xy 79.416397 42.600272) + (xy 79.305505 42.671539) + (xy 79.305499 42.671543) + (xy 79.300982 42.674447) + (xy 79.297462 42.678509) + (xy 79.29746 42.678511) + (xy 79.232875 42.753046) + (xy 79.207282 42.772204) + (xy 79.176043 42.779) + (xy 71.125236 42.779) + (xy 71.099427 42.773865) + (xy 71.095788 42.771434) + (xy 71.088528 42.769989) + (xy 71.088526 42.769989) + (xy 71.036253 42.759591) + (xy 71.018197 42.756) + (xy 71.014501 42.756) + (xy 69.6445 42.756) + (xy 69.644489 42.756) + (xy 69.640804 42.756001) + (xy 69.637181 42.756721) + (xy 69.637177 42.756722) + (xy 69.570478 42.769988) + (xy 69.570474 42.769989) + (xy 69.563212 42.771434) + (xy 69.557055 42.775547) + (xy 69.557052 42.775549) + (xy 69.481378 42.826113) + (xy 69.481375 42.826115) + (xy 69.475225 42.830225) + (xy 69.471115 42.836375) + (xy 69.471113 42.836378) + (xy 69.420547 42.912055) + (xy 69.420545 42.912058) + (xy 69.416434 42.918212) + (xy 69.414989 42.925473) + (xy 69.414989 42.925475) + (xy 69.409367 42.95374) + (xy 69.401 42.995803) + (xy 69.401 42.999497) + (xy 69.401 42.999498) + (xy 69.401 43.194498) + (xy 69.401 43.194507) + (xy 69.401001 43.198196) + (xy 69.401721 43.201819) + (xy 69.401722 43.201822) + (xy 69.408159 43.234188) + (xy 69.416434 43.275788) + (xy 69.420548 43.281946) + (xy 69.42055 43.281949) + (xy 69.4361 43.30522) + (xy 69.448774 43.346998) + (xy 69.436101 43.388777) + (xy 69.420549 43.412052) + (xy 69.420547 43.412055) + (xy 69.416434 43.418212) + (xy 69.414989 43.425472) + (xy 69.414988 43.425477) + (xy 69.408935 43.455911) + (xy 69.401 43.495803) + (xy 69.401 43.499497) + (xy 69.401 43.499498) + (xy 69.401 43.694498) + (xy 69.401 43.694507) + (xy 69.401001 43.698196) + (xy 69.401721 43.701819) + (xy 69.401722 43.701822) + (xy 69.414988 43.768521) + (xy 69.414989 43.768523) + (xy 69.416434 43.775788) + (xy 69.420547 43.781944) + (xy 69.42055 43.78195) + (xy 69.4361 43.805222) + (xy 69.448773 43.847) + (xy 69.4361 43.888778) + (xy 69.420548 43.912052) + (xy 69.420544 43.912059) + (xy 69.416434 43.918212) + (xy 69.414989 43.925473) + (xy 69.414989 43.925475) + (xy 69.403426 43.983605) + (xy 69.401 43.995803) + (xy 69.401 43.999497) + (xy 69.401 43.999498) + (xy 69.401 44.194498) + (xy 69.401 44.194507) + (xy 69.401001 44.198196) + (xy 69.401721 44.201819) + (xy 69.401722 44.201822) + (xy 69.414988 44.268521) + (xy 69.414989 44.268523) + (xy 69.416434 44.275788) + (xy 69.420547 44.281944) + (xy 69.42055 44.28195) + (xy 69.4361 44.305222) + (xy 69.448773 44.347) + (xy 69.4361 44.388778) + (xy 69.420548 44.412052) + (xy 69.420544 44.412059) + (xy 69.416434 44.418212) + (xy 69.414989 44.425473) + (xy 69.414989 44.425475) + (xy 69.403814 44.481655) + (xy 69.401 44.495803) + (xy 69.401 44.499497) + (xy 69.401 44.499498) + (xy 69.401 44.694498) + (xy 69.401 44.694507) + (xy 69.401001 44.698196) + (xy 69.401721 44.701819) + (xy 69.401722 44.701822) + (xy 69.414676 44.766952) + (xy 69.416434 44.775788) + (xy 69.420548 44.781946) + (xy 69.42055 44.781949) + (xy 69.4361 44.80522) + (xy 69.448774 44.846998) + (xy 69.436101 44.888777) + (xy 69.420549 44.912052) + (xy 69.420547 44.912055) + (xy 69.416434 44.918212) + (xy 69.414989 44.925472) + (xy 69.414988 44.925477) + (xy 69.405565 44.972852) + (xy 69.401 44.995803) + (xy 69.401 44.999497) + (xy 69.401 44.999498) + (xy 69.401 45.194498) + (xy 69.401 45.194507) + (xy 69.401001 45.198196) + (xy 69.401721 45.201819) + (xy 69.401722 45.201822) + (xy 69.414988 45.268521) + (xy 69.414989 45.268523) + (xy 69.416434 45.275788) + (xy 69.420547 45.281944) + (xy 69.42055 45.28195) + (xy 69.4361 45.305222) + (xy 69.448773 45.347) + (xy 69.4361 45.388778) + (xy 69.420548 45.412052) + (xy 69.420544 45.412059) + (xy 69.416434 45.418212) + (xy 69.414989 45.425473) + (xy 69.414989 45.425475) + (xy 69.403585 45.482806) + (xy 69.401 45.495803) + (xy 69.401 45.499497) + (xy 69.401 45.499498) + (xy 69.401 45.694498) + (xy 69.401 45.694507) + (xy 69.401001 45.698196) + (xy 69.401721 45.701819) + (xy 69.401722 45.701822) + (xy 69.414988 45.768521) + (xy 69.414989 45.768523) + (xy 69.416434 45.775788) + (xy 69.420547 45.781944) + (xy 69.42055 45.78195) + (xy 69.4361 45.805222) + (xy 69.448773 45.847) + (xy 69.4361 45.888778) + (xy 69.420548 45.912052) + (xy 69.420544 45.912059) + (xy 69.416434 45.918212) + (xy 69.414989 45.925473) + (xy 69.414989 45.925475) + (xy 69.402992 45.98579) + (xy 69.401 45.995803) + (xy 69.401 45.999497) + (xy 69.401 45.999498) + (xy 69.401 46.194498) + (xy 69.401 46.194507) + (xy 69.401001 46.198196) + (xy 69.401721 46.201819) + (xy 69.401722 46.201822) + (xy 69.414988 46.268521) + (xy 69.414989 46.268523) + (xy 69.416434 46.275788) + (xy 69.420547 46.281944) + (xy 69.42055 46.28195) + (xy 69.4361 46.305222) + (xy 69.448773 46.347) + (xy 69.4361 46.388778) + (xy 69.420548 46.412052) + (xy 69.420544 46.412059) + (xy 69.416434 46.418212) + (xy 69.414989 46.425473) + (xy 69.414989 46.425475) + (xy 69.402353 46.489) + (xy 69.401 46.495803) + (xy 69.401 46.499497) + (xy 69.401 46.499498) + (xy 69.401 46.694498) + (xy 69.401 46.694507) + (xy 69.401001 46.698196) + (xy 69.401721 46.701819) + (xy 69.401722 46.701822) + (xy 69.414988 46.768521) + (xy 69.414989 46.768523) + (xy 69.416434 46.775788) + (xy 69.420547 46.781944) + (xy 69.42055 46.78195) + (xy 69.4361 46.805222) + (xy 69.448773 46.847) + (xy 69.4361 46.888778) + (xy 69.420548 46.912052) + (xy 69.420544 46.912059) + (xy 69.416434 46.918212) + (xy 69.414989 46.925473) + (xy 69.414989 46.925475) + (xy 69.402631 46.987601) + (xy 69.401 46.995803) + (xy 69.401 46.999497) + (xy 69.401 46.999498) + (xy 69.401 47.194498) + (xy 69.401 47.194507) + (xy 69.401001 47.198196) + (xy 69.401721 47.201819) + (xy 69.401722 47.201822) + (xy 69.414988 47.268521) + (xy 69.414989 47.268523) + (xy 69.416434 47.275788) + (xy 69.420547 47.281944) + (xy 69.42055 47.28195) + (xy 69.4361 47.305222) + (xy 69.448773 47.347) + (xy 69.4361 47.388778) + (xy 69.420548 47.412052) + (xy 69.420544 47.412059) + (xy 69.416434 47.418212) + (xy 69.414989 47.425473) + (xy 69.414989 47.425475) + (xy 69.40873 47.45694) + (xy 69.401 47.495803) + (xy 69.401 47.499497) + (xy 69.401 47.499498) + (xy 69.401 47.694498) + (xy 69.401 47.694507) + (xy 69.401001 47.698196) + (xy 69.401721 47.701819) + (xy 69.401722 47.701822) + (xy 69.414988 47.768521) + (xy 69.414989 47.768523) + (xy 69.416434 47.775788) + (xy 69.420547 47.781943) + (xy 69.42055 47.78195) + (xy 69.4361 47.805222) + (xy 69.448773 47.847) + (xy 69.4361 47.888778) + (xy 69.420548 47.912052) + (xy 69.420544 47.912059) + (xy 69.416434 47.918212) + (xy 69.414989 47.925473) + (xy 69.414989 47.925475) + (xy 69.40213 47.99012) + (xy 69.401 47.995803) + (xy 69.401 47.999497) + (xy 69.401 47.999498) + (xy 69.401 48.194498) + (xy 69.401 48.194507) + (xy 69.401001 48.198196) + (xy 69.401721 48.201819) + (xy 69.401722 48.201822) + (xy 69.414988 48.268521) + (xy 69.414989 48.268523) + (xy 69.416434 48.275788) + (xy 69.420547 48.281944) + (xy 69.42055 48.28195) + (xy 69.4361 48.305222) + (xy 69.448773 48.347) + (xy 69.4361 48.388778) + (xy 69.420548 48.412052) + (xy 69.420544 48.412059) + (xy 69.416434 48.418212) + (xy 69.414989 48.425473) + (xy 69.414989 48.425475) + (xy 69.405292 48.474226) + (xy 69.401 48.495803) + (xy 69.401 48.499497) + (xy 69.401 48.499498) + (xy 69.401 48.694498) + (xy 69.401 48.694507) + (xy 69.401001 48.698196) + (xy 69.401721 48.701815) + (xy 69.401722 48.701822) + (xy 69.414988 48.768521) + (xy 69.414989 48.768523) + (xy 69.416434 48.775788) + (xy 69.475225 48.863775) + (xy 69.563212 48.922566) + (xy 69.640803 48.938) + (xy 71.018196 48.937999) + (xy 71.095788 48.922566) + (xy 71.183775 48.863775) + (xy 71.242566 48.775788) + (xy 71.258 48.698197) + (xy 71.257999 48.495804) + (xy 71.242566 48.418212) + (xy 71.222897 48.388776) + (xy 71.210225 48.346998) + (xy 71.222898 48.305221) + (xy 71.242566 48.275788) + (xy 71.258 48.198197) + (xy 71.257999 47.995804) + (xy 71.242566 47.918212) + (xy 71.222898 47.888777) + (xy 71.210225 47.847) + (xy 71.222898 47.805222) + (xy 71.242566 47.775788) + (xy 71.258 47.698197) + (xy 71.257999 47.495804) + (xy 71.242566 47.418212) + (xy 71.222897 47.388776) + (xy 71.210225 47.346998) + (xy 71.222898 47.305221) + (xy 71.242566 47.275788) + (xy 71.258 47.198197) + (xy 71.257999 46.995804) + (xy 71.242566 46.918212) + (xy 71.222897 46.888776) + (xy 71.210225 46.846998) + (xy 71.222898 46.805221) + (xy 71.242566 46.775788) + (xy 71.258 46.698197) + (xy 71.257999 46.495804) + (xy 71.258131 46.495804) + (xy 71.265202 46.45694) + (xy 71.292936 46.42634) + (xy 71.332647 46.415) + (xy 71.703493 46.415) + (xy 71.744149 46.426938) + (xy 71.771897 46.458961) + (xy 71.777928 46.500902) + (xy 71.760325 46.539446) + (xy 71.71814 46.588128) + (xy 71.718136 46.588133) + (xy 71.714618 46.592194) + (xy 71.712385 46.597082) + (xy 71.712382 46.597088) + (xy 71.657626 46.716987) + (xy 71.657624 46.716993) + (xy 71.655392 46.721881) + (xy 71.654627 46.727195) + (xy 71.654626 46.727202) + (xy 71.638081 46.842281) + (xy 71.635102 46.863) + (xy 71.635867 46.868321) + (xy 71.654626 46.998797) + (xy 71.654627 46.998802) + (xy 71.655392 47.004119) + (xy 71.657624 47.009008) + (xy 71.657626 47.009012) + (xy 71.712382 47.128911) + (xy 71.712383 47.128913) + (xy 71.714618 47.133806) + (xy 71.718138 47.137869) + (xy 71.71814 47.137871) + (xy 71.799632 47.231917) + (xy 71.813259 47.254883) + (xy 71.818 47.281163) + (xy 71.818 50.510132) + (xy 71.812276 50.53891) + (xy 71.795974 50.563306) + (xy 71.137306 51.221974) + (xy 71.11291 51.238276) + (xy 71.084132 51.244) + (xy 69.504868 51.244) + (xy 69.47609 51.238276) + (xy 69.451694 51.221974) + (xy 69.257026 51.027306) + (xy 69.240724 51.00291) + (xy 69.235 50.974132) + (xy 69.235 50.805236) + (xy 69.240134 50.779427) + (xy 69.242566 50.775788) + (xy 69.258 50.698197) + (xy 69.257999 49.320804) + (xy 69.242566 49.243212) + (xy 69.183775 49.155225) + (xy 69.17151 49.14703) + (xy 69.101944 49.100547) + (xy 69.101942 49.100546) + (xy 69.095788 49.096434) + (xy 69.018197 49.081) + (xy 69.014501 49.081) + (xy 68.819501 49.081) + (xy 68.819491 49.081) + (xy 68.815804 49.081001) + (xy 68.812181 49.081721) + (xy 68.812177 49.081722) + (xy 68.745478 49.094988) + (xy 68.745474 49.094989) + (xy 68.738212 49.096434) + (xy 68.732055 49.100547) + (xy 68.73205 49.10055) + (xy 68.708776 49.116101) + (xy 68.666998 49.128773) + (xy 68.62522 49.116099) + (xy 68.601948 49.100549) + (xy 68.601944 49.100547) + (xy 68.595788 49.096434) + (xy 68.518197 49.081) + (xy 68.514501 49.081) + (xy 68.319501 49.081) + (xy 68.319491 49.081) + (xy 68.315804 49.081001) + (xy 68.312181 49.081721) + (xy 68.312177 49.081722) + (xy 68.245478 49.094988) + (xy 68.245474 49.094989) + (xy 68.238212 49.096434) + (xy 68.232055 49.100547) + (xy 68.23205 49.10055) + (xy 68.208776 49.116101) + (xy 68.166998 49.128773) + (xy 68.12522 49.116099) + (xy 68.101948 49.100549) + (xy 68.101944 49.100547) + (xy 68.095788 49.096434) + (xy 68.018197 49.081) + (xy 68.014501 49.081) + (xy 67.819501 49.081) + (xy 67.819491 49.081) + (xy 67.815804 49.081001) + (xy 67.812181 49.081721) + (xy 67.812177 49.081722) + (xy 67.745478 49.094988) + (xy 67.745474 49.094989) + (xy 67.738212 49.096434) + (xy 67.732055 49.100547) + (xy 67.73205 49.10055) + (xy 67.708776 49.116101) + (xy 67.666998 49.128773) + (xy 67.62522 49.116099) + (xy 67.601948 49.100549) + (xy 67.601944 49.100547) + (xy 67.595788 49.096434) + (xy 67.518197 49.081) + (xy 67.514501 49.081) + (xy 67.319501 49.081) + (xy 67.319491 49.081) + (xy 67.315804 49.081001) + (xy 67.312181 49.081721) + (xy 67.312177 49.081722) + (xy 67.245478 49.094988) + (xy 67.245474 49.094989) + (xy 67.238212 49.096434) + (xy 67.232055 49.100547) + (xy 67.23205 49.10055) + (xy 67.208776 49.116101) + (xy 67.166998 49.128773) + (xy 67.12522 49.116099) + (xy 67.101948 49.100549) + (xy 67.101944 49.100547) + (xy 67.095788 49.096434) + (xy 67.018197 49.081) + (xy 67.014501 49.081) + (xy 66.819501 49.081) + (xy 66.819491 49.081) + (xy 66.815804 49.081001) + (xy 66.812181 49.081721) + (xy 66.812177 49.081722) + (xy 66.745478 49.094988) + (xy 66.745474 49.094989) + (xy 66.738212 49.096434) + (xy 66.732055 49.100547) + (xy 66.73205 49.10055) + (xy 66.708776 49.116101) + (xy 66.666998 49.128773) + (xy 66.62522 49.116099) + (xy 66.601948 49.100549) + (xy 66.601944 49.100547) + (xy 66.595788 49.096434) + (xy 66.518197 49.081) + (xy 66.514501 49.081) + (xy 66.319501 49.081) + (xy 66.319491 49.081) + (xy 66.315804 49.081001) + (xy 66.312181 49.081721) + (xy 66.312177 49.081722) + (xy 66.245478 49.094988) + (xy 66.245474 49.094989) + (xy 66.238212 49.096434) + (xy 66.232055 49.100547) + (xy 66.23205 49.10055) + (xy 66.208776 49.116101) + (xy 66.166998 49.128773) + (xy 66.12522 49.116099) + (xy 66.101948 49.100549) + (xy 66.101944 49.100547) + (xy 66.095788 49.096434) + (xy 66.018197 49.081) + (xy 66.014501 49.081) + (xy 65.819501 49.081) + (xy 65.819491 49.081) + (xy 65.815804 49.081001) + (xy 65.812181 49.081721) + (xy 65.812177 49.081722) + (xy 65.745478 49.094988) + (xy 65.745474 49.094989) + (xy 65.738212 49.096434) + (xy 65.732055 49.100547) + (xy 65.73205 49.10055) + (xy 65.708776 49.116101) + (xy 65.666998 49.128773) + (xy 65.62522 49.116099) + (xy 65.601948 49.100549) + (xy 65.601944 49.100547) + (xy 65.595788 49.096434) + (xy 65.518197 49.081) + (xy 65.514501 49.081) + (xy 65.319501 49.081) + (xy 65.319491 49.081) + (xy 65.316532 49.081) + (xy 65.316527 49.081) + (xy 65.315804 49.081001) + (xy 65.315804 49.080869) + (xy 65.27694 49.073798) + (xy 65.24634 49.046064) + (xy 65.235 49.006353) + (xy 65.235 48.910868) + (xy 65.240724 48.88209) + (xy 65.257026 48.857694) + (xy 65.514694 48.600026) + (xy 65.53909 48.583724) + (xy 65.567868 48.578) + (xy 68.165169 48.578) + (xy 68.196408 48.584795) + (xy 68.222001 48.603954) + (xy 68.237002 48.621266) + (xy 68.251982 48.638553) + (xy 68.256504 48.641459) + (xy 68.256505 48.64146) + (xy 68.339033 48.694498) + (xy 68.371919 48.715633) + (xy 68.508715 48.7558) + (xy 68.645904 48.7558) + (xy 68.651285 48.7558) + (xy 68.788081 48.715633) + (xy 68.908018 48.638553) + (xy 69.001382 48.530806) + (xy 69.060608 48.401119) + (xy 69.080898 48.26) + (xy 69.060608 48.118881) + (xy 69.001382 47.989194) + (xy 68.985722 47.971122) + (xy 68.953364 47.933779) + (xy 68.908018 47.881447) + (xy 68.903496 47.878541) + (xy 68.903494 47.878539) + (xy 68.792602 47.807272) + (xy 68.792599 47.80727) + (xy 68.788081 47.804367) + (xy 68.782925 47.802853) + (xy 68.782923 47.802852) + (xy 68.656447 47.765715) + (xy 68.656442 47.765714) + (xy 68.651285 47.7642) + (xy 68.508715 47.7642) + (xy 68.503552 47.765715) + (xy 68.498231 47.766481) + (xy 68.49807 47.765361) + (xy 68.462385 47.765358) + (xy 68.426742 47.742448) + (xy 68.409142 47.703905) + (xy 68.415172 47.66197) + (xy 68.425608 47.639119) + (xy 68.445898 47.498) + (xy 68.425608 47.356881) + (xy 68.366382 47.227194) + (xy 68.353584 47.212425) + (xy 68.318289 47.171692) + (xy 68.273018 47.119447) + (xy 68.268496 47.116541) + (xy 68.268494 47.116539) + (xy 68.157602 47.045272) + (xy 68.157599 47.04527) + (xy 68.153081 47.042367) + (xy 68.147925 47.040853) + (xy 68.147923 47.040852) + (xy 68.021447 47.003715) + (xy 68.021442 47.003714) + (xy 68.016285 47.0022) + (xy 67.873715 47.0022) + (xy 67.868558 47.003714) + (xy 67.868552 47.003715) + (xy 67.742076 47.040852) + (xy 67.742071 47.040854) + (xy 67.736919 47.042367) + (xy 67.732403 47.045269) + (xy 67.732397 47.045272) + (xy 67.621505 47.116539) + (xy 67.621499 47.116543) + (xy 67.616982 47.119447) + (xy 67.613461 47.123509) + (xy 67.61346 47.123511) + (xy 67.587001 47.154046) + (xy 67.561408 47.173205) + (xy 67.530169 47.18) + (xy 63.916868 47.18) + (xy 63.88809 47.174276) + (xy 63.863694 47.157974) + (xy 63.749094 47.043374) + (xy 63.728513 47.004871) + (xy 63.732792 46.961422) + (xy 63.760489 46.927673) + (xy 63.802268 46.915) + (xy 65.65383 46.915) + (xy 65.660383 46.915285) + (xy 65.699143 46.918677) + (xy 65.736728 46.908605) + (xy 65.743121 46.907187) + (xy 65.78144 46.900432) + (xy 65.78714 46.89714) + (xy 65.793321 46.894891) + (xy 65.793324 46.894901) + (xy 65.795151 46.894145) + (xy 65.795147 46.894136) + (xy 65.80111 46.891354) + (xy 65.807466 46.889652) + (xy 65.83936 46.867319) + (xy 65.844853 46.86382) + (xy 65.87856 46.84436) + (xy 65.903583 46.814537) + (xy 65.907994 46.809724) + (xy 67.649724 45.067994) + (xy 67.654537 45.063583) + (xy 67.68436 45.03856) + (xy 67.70382 45.004853) + (xy 67.707319 44.99936) + (xy 67.729652 44.967466) + (xy 67.731354 44.96111) + (xy 67.734136 44.955147) + (xy 67.734145 44.955151) + (xy 67.734901 44.953324) + (xy 67.734891 44.953321) + (xy 67.73714 44.94714) + (xy 67.740432 44.94144) + (xy 67.747187 44.903121) + (xy 67.748605 44.896728) + (xy 67.758677 44.859143) + (xy 67.755285 44.820383) + (xy 67.755 44.81383) + (xy 67.755 43.852163) + (xy 67.759741 43.825883) + (xy 67.773368 43.802917) + (xy 67.804565 43.766914) + (xy 67.858382 43.704806) + (xy 67.917608 43.575119) + (xy 67.937898 43.434) + (xy 67.917608 43.292881) + (xy 67.858382 43.163194) + (xy 67.765018 43.055447) + (xy 67.760496 43.052541) + (xy 67.760494 43.052539) + (xy 67.649602 42.981272) + (xy 67.649599 42.98127) + (xy 67.645081 42.978367) + (xy 67.639925 42.976853) + (xy 67.639923 42.976852) + (xy 67.513447 42.939715) + (xy 67.513442 42.939714) + (xy 67.508285 42.9382) + (xy 67.365715 42.9382) + (xy 67.360558 42.939714) + (xy 67.360552 42.939715) + (xy 67.234076 42.976852) + (xy 67.234071 42.976854) + (xy 67.228919 42.978367) + (xy 67.224403 42.981269) + (xy 67.224397 42.981272) + (xy 67.113505 43.052539) + (xy 67.113499 43.052543) + (xy 67.108982 43.055447) + (xy 67.105461 43.059509) + (xy 67.10546 43.059511) + (xy 67.01914 43.159128) + (xy 67.019136 43.159133) + (xy 67.015618 43.163194) + (xy 67.013385 43.168082) + (xy 67.013382 43.168088) + (xy 66.958626 43.287987) + (xy 66.958624 43.287993) + (xy 66.956392 43.292881) + (xy 66.955627 43.298195) + (xy 66.955626 43.298202) + (xy 66.942604 43.388777) + (xy 66.936102 43.434) + (xy 66.936867 43.439321) + (xy 66.955626 43.569797) + (xy 66.955627 43.569802) + (xy 66.956392 43.575119) + (xy 66.958624 43.580007) + (xy 66.958625 43.580009) + (xy 66.961702 43.586746) + (xy 66.97666 43.6195) + (xy 66.982691 43.66144) + (xy 66.965089 43.699983) + (xy 66.929443 43.722892) + (xy 66.887071 43.722892) + (xy 66.81495 43.701716) + (xy 66.814946 43.701715) + (xy 66.809785 43.7002) + (xy 66.667215 43.7002) + (xy 66.662058 43.701714) + (xy 66.662052 43.701715) + (xy 66.535576 43.738852) + (xy 66.535571 43.738854) + (xy 66.530419 43.740367) + (xy 66.525903 43.743269) + (xy 66.525897 43.743272) + (xy 66.415005 43.814539) + (xy 66.414999 43.814543) + (xy 66.410482 43.817447) + (xy 66.406961 43.821509) + (xy 66.40696 43.821511) + (xy 66.32064 43.921128) + (xy 66.320636 43.921133) + (xy 66.317118 43.925194) + (xy 66.314885 43.930082) + (xy 66.314882 43.930088) + (xy 66.260126 44.049987) + (xy 66.260124 44.049993) + (xy 66.257892 44.054881) + (xy 66.257127 44.060195) + (xy 66.257126 44.060202) + (xy 66.244441 44.148431) + (xy 66.237602 44.196) + (xy 66.238367 44.201321) + (xy 66.257126 44.331797) + (xy 66.257127 44.331802) + (xy 66.257892 44.337119) + (xy 66.260124 44.342008) + (xy 66.260126 44.342012) + (xy 66.314882 44.461911) + (xy 66.314883 44.461913) + (xy 66.317118 44.466806) + (xy 66.320638 44.470869) + (xy 66.32064 44.470871) + (xy 66.397707 44.55981) + (xy 66.414356 44.593071) + (xy 66.413029 44.630242) + (xy 66.394049 44.66223) + (xy 65.299306 45.756974) + (xy 65.27491 45.773276) + (xy 65.246132 45.779) + (xy 64.806898 45.779) + (xy 64.761832 45.764001) + (xy 64.734744 45.724987) + (xy 64.736439 45.677521) + (xy 64.766241 45.640538) + (xy 64.844018 45.590553) + (xy 64.937382 45.482806) + (xy 64.996608 45.353119) + (xy 65.016898 45.212) + (xy 64.996608 45.070881) + (xy 64.937382 44.941194) + (xy 64.844018 44.833447) + (xy 64.839496 44.830541) + (xy 64.839494 44.830539) + (xy 64.762044 44.780764) + (xy 64.734296 44.74874) + (xy 64.728267 44.706799) + (xy 64.745867 44.668258) + (xy 64.810382 44.593806) + (xy 64.869608 44.464119) + (xy 64.886992 44.343215) + (xy 64.889133 44.328321) + (xy 64.889898 44.323) + (xy 64.887947 44.309434) + (xy 64.874357 44.21491) + (xy 64.869608 44.181881) + (xy 64.810382 44.052194) + (xy 64.785692 44.023701) + (xy 64.761519 43.995804) + (xy 64.717018 43.944447) + (xy 64.712496 43.941541) + (xy 64.712494 43.941539) + (xy 64.601602 43.870272) + (xy 64.601599 43.87027) + (xy 64.597081 43.867367) + (xy 64.591925 43.865853) + (xy 64.591923 43.865852) + (xy 64.465447 43.828715) + (xy 64.465442 43.828714) + (xy 64.460285 43.8272) + (xy 64.317715 43.8272) + (xy 64.312552 43.828715) + (xy 64.307231 43.829481) + (xy 64.30707 43.828361) + (xy 64.271385 43.828358) + (xy 64.235742 43.805448) + (xy 64.218142 43.766905) + (xy 64.224172 43.72497) + (xy 64.234608 43.702119) + (xy 64.254898 43.561) + (xy 64.234608 43.419881) + (xy 64.175382 43.290194) + (xy 64.082018 43.182447) + (xy 64.077496 43.179541) + (xy 64.077494 43.179539) + (xy 63.966602 43.108272) + (xy 63.966599 43.10827) + (xy 63.962081 43.105367) + (xy 63.956925 43.103853) + (xy 63.956923 43.103852) + (xy 63.830447 43.066715) + (xy 63.830442 43.066714) + (xy 63.825285 43.0652) + (xy 63.682715 43.0652) + (xy 63.677558 43.066714) + (xy 63.677552 43.066715) + (xy 63.551076 43.103852) + (xy 63.551071 43.103854) + (xy 63.545919 43.105367) + (xy 63.541403 43.108269) + (xy 63.541397 43.108272) + (xy 63.430505 43.179539) + (xy 63.430499 43.179543) + (xy 63.425982 43.182447) + (xy 63.422461 43.186509) + (xy 63.42246 43.186511) + (xy 63.33614 43.286128) + (xy 63.336136 43.286133) + (xy 63.332618 43.290194) + (xy 63.330385 43.295082) + (xy 63.330382 43.295088) + (xy 63.275626 43.414987) + (xy 63.275624 43.414993) + (xy 63.273392 43.419881) + (xy 63.272627 43.425195) + (xy 63.272626 43.425202) + (xy 63.25442 43.551832) + (xy 63.253102 43.561) + (xy 63.253867 43.566321) + (xy 63.272626 43.696797) + (xy 63.272627 43.696802) + (xy 63.273392 43.702119) + (xy 63.275624 43.707008) + (xy 63.275626 43.707012) + (xy 63.330382 43.826911) + (xy 63.330383 43.826913) + (xy 63.332618 43.831806) + (xy 63.336138 43.835869) + (xy 63.33614 43.835871) + (xy 63.383727 43.890788) + (xy 63.400376 43.924049) + (xy 63.399049 43.96122) + (xy 63.38007 43.993208) + (xy 63.116306 44.256974) + (xy 63.091909 44.273276) + (xy 63.063131 44.279) + (xy 63.007648 44.279) + (xy 62.967937 44.26766) + (xy 62.940203 44.237059) + (xy 62.933132 44.198197) + (xy 62.933 44.198197) + (xy 62.932999 43.995804) + (xy 62.917566 43.918212) + (xy 62.897897 43.888776) + (xy 62.885225 43.846998) + (xy 62.897898 43.805221) + (xy 62.917566 43.775788) + (xy 62.933 43.698197) + (xy 62.932999 43.495804) + (xy 62.917566 43.418212) + (xy 62.897899 43.388778) + (xy 62.885226 43.346998) + (xy 62.8979 43.305219) + (xy 62.902589 43.298202) + (xy 62.917566 43.275788) + (xy 62.933 43.198197) + (xy 62.932999 42.995804) + (xy 62.917566 42.918212) + (xy 62.858775 42.830225) + (xy 62.835554 42.814709) + (xy 62.776944 42.775547) + (xy 62.776942 42.775546) + (xy 62.770788 42.771434) + (xy 62.693197 42.756) + (xy 62.689501 42.756) + (xy 61.3195 42.756) + (xy 61.319489 42.756) + (xy 61.315804 42.756001) + (xy 61.312181 42.756721) + (xy 61.312177 42.756722) + (xy 61.245476 42.769989) + (xy 61.245475 42.769989) + (xy 61.238212 42.771434) + (xy 61.234571 42.773866) + (xy 61.208764 42.779) + (xy 60.425174 42.779) + (xy 60.418621 42.778714) + (xy 60.38641 42.775896) + (xy 60.386408 42.775896) + (xy 60.379857 42.775323) + (xy 60.373507 42.777024) + (xy 60.373499 42.777025) + (xy 60.342266 42.785394) + (xy 60.335865 42.786813) + (xy 60.304037 42.792425) + (xy 60.304032 42.792426) + (xy 60.29756 42.793568) + (xy 60.291866 42.796854) + (xy 60.285681 42.799106) + (xy 60.285678 42.799099) + (xy 60.283842 42.79986) + (xy 60.283846 42.799867) + (xy 60.277888 42.802644) + (xy 60.271534 42.804348) + (xy 60.266147 42.808119) + (xy 60.266142 42.808122) + (xy 60.239655 42.826667) + (xy 60.234128 42.830189) + (xy 60.206133 42.846352) + (xy 60.206129 42.846355) + (xy 60.20044 42.84964) + (xy 60.196215 42.854673) + (xy 60.196211 42.854678) + (xy 60.175421 42.879454) + (xy 60.17099 42.884288) + (xy 59.374374 43.680906) + (xy 59.335871 43.701487) + (xy 59.292422 43.697208) + (xy 59.258673 43.669511) + (xy 59.246 43.627732) + (xy 59.246 40.675869) + (xy 59.251724 40.647091) + (xy 59.268025 40.622695) + (xy 59.545693 40.345026) + (xy 59.57009 40.328724) + (xy 59.598868 40.323) + (xy 62.702132 40.323) + (xy 62.73091 40.328724) + (xy 62.755306 40.345026) + (xy 63.076974 40.666694) + (xy 63.093276 40.69109) + (xy 63.099 40.719868) + (xy 63.099 40.888764) + (xy 63.093865 40.914572) + (xy 63.091434 40.918212) + (xy 63.08999 40.925469) + (xy 63.089989 40.925473) + (xy 63.078519 40.983141) + (xy 63.076 40.995803) + (xy 63.076 40.999497) + (xy 63.076 40.999498) + (xy 63.076 42.369499) + (xy 63.076 42.369509) + (xy 63.076001 42.373196) + (xy 63.076721 42.376819) + (xy 63.076722 42.376822) + (xy 63.089988 42.443521) + (xy 63.089989 42.443523) + (xy 63.091434 42.450788) + (xy 63.095548 42.456945) + (xy 63.095549 42.456947) + (xy 63.138831 42.521723) + (xy 63.150225 42.538775) + (xy 63.238212 42.597566) + (xy 63.315803 42.613) + (xy 63.518196 42.612999) + (xy 63.595788 42.597566) + (xy 63.625222 42.577898) + (xy 63.667 42.565225) + (xy 63.708777 42.577898) + (xy 63.738212 42.597566) + (xy 63.815803 42.613) + (xy 64.018196 42.612999) + (xy 64.095788 42.597566) + (xy 64.125222 42.577898) + (xy 64.167 42.565225) + (xy 64.208777 42.577898) + (xy 64.238212 42.597566) + (xy 64.315803 42.613) + (xy 64.518196 42.612999) + (xy 64.595788 42.597566) + (xy 64.625222 42.577898) + (xy 64.667 42.565225) + (xy 64.708777 42.577898) + (xy 64.738212 42.597566) + (xy 64.815803 42.613) + (xy 65.018196 42.612999) + (xy 65.095788 42.597566) + (xy 65.125222 42.577898) + (xy 65.167 42.565225) + (xy 65.208777 42.577898) + (xy 65.238212 42.597566) + (xy 65.315803 42.613) + (xy 65.518196 42.612999) + (xy 65.595788 42.597566) + (xy 65.625671 42.577598) + (xy 65.667447 42.564925) + (xy 65.709226 42.577598) + (xy 65.732247 42.59298) + (xy 65.74567 42.598539) + (xy 65.779059 42.605181) + (xy 65.787528 42.604347) + (xy 65.79 42.596202) + (xy 65.79 40.772797) + (xy 65.787529 40.764653) + (xy 65.779059 40.763819) + (xy 65.745671 40.77046) + (xy 65.732248 40.776019) + (xy 65.709228 40.791401) + (xy 65.667449 40.804074) + (xy 65.625671 40.791401) + (xy 65.601944 40.775547) + (xy 65.601942 40.775546) + (xy 65.595788 40.771434) + (xy 65.585552 40.769398) + (xy 65.536531 40.759647) + (xy 65.518197 40.756) + (xy 65.514501 40.756) + (xy 65.319501 40.756) + (xy 65.319491 40.756) + (xy 65.315804 40.756001) + (xy 65.312181 40.756721) + (xy 65.312177 40.756722) + (xy 65.245476 40.769989) + (xy 65.245475 40.769989) + (xy 65.238212 40.771434) + (xy 65.232057 40.775546) + (xy 65.232053 40.775548) + (xy 65.208777 40.791101) + (xy 65.166998 40.803774) + (xy 65.12522 40.7911) + (xy 65.117029 40.785627) + (xy 65.095788 40.771434) + (xy 65.085552 40.769398) + (xy 65.036531 40.759647) + (xy 65.018197 40.756) + (xy 65.014501 40.756) + (xy 64.819501 40.756) + (xy 64.819491 40.756) + (xy 64.816532 40.756) + (xy 64.816527 40.756) + (xy 64.815804 40.756001) + (xy 64.815804 40.755869) + (xy 64.77694 40.748798) + (xy 64.74634 40.721064) + (xy 64.735 40.681353) + (xy 64.735 38.027252) + (xy 64.740724 37.998474) + (xy 64.757026 37.974078) + (xy 64.793309 37.937795) + (xy 64.834322 37.896782) + (xy 64.883653 37.790991) + (xy 64.89 37.742783) + (xy 64.89 37.740338) + (xy 65.666 37.740338) + (xy 65.666001 37.742782) + (xy 65.66632 37.745207) + (xy 65.666321 37.745218) + (xy 65.671595 37.785283) + (xy 65.671596 37.785286) + (xy 65.672347 37.790991) + (xy 65.674779 37.796206) + (xy 65.67478 37.796209) + (xy 65.718895 37.890815) + (xy 65.718896 37.890817) + (xy 65.721678 37.896782) + (xy 65.804218 37.979322) + (xy 65.810184 37.982104) + (xy 65.815571 37.985876) + (xy 65.814339 37.987634) + (xy 65.837228 38.007715) + (xy 65.849 38.048112) + (xy 65.849 38.84483) + (xy 65.848714 38.851384) + (xy 65.846066 38.881652) + (xy 65.845323 38.890143) + (xy 65.847024 38.896493) + (xy 65.847025 38.896498) + (xy 65.855394 38.927731) + (xy 65.856813 38.934133) + (xy 65.862425 38.965961) + (xy 65.862426 38.965963) + (xy 65.863568 38.97244) + (xy 65.866856 38.978136) + (xy 65.869107 38.984319) + (xy 65.869098 38.984321) + (xy 65.869857 38.986153) + (xy 65.869865 38.98615) + (xy 65.872644 38.992111) + (xy 65.874348 38.998466) + (xy 65.881342 39.008455) + (xy 65.896662 39.030335) + (xy 65.900185 39.035866) + (xy 65.916348 39.063861) + (xy 65.916353 39.063867) + (xy 65.91964 39.06956) + (xy 65.940944 39.087436) + (xy 65.949448 39.094572) + (xy 65.954284 39.099004) + (xy 66.076974 39.221694) + (xy 66.093276 39.24609) + (xy 66.099 39.274868) + (xy 66.099 40.691321) + (xy 66.090121 40.726769) + (xy 66.06558 40.753847) + (xy 66.053207 40.758274) + (xy 66.046814 40.76352) + (xy 66.044 40.772798) + (xy 66.044 42.596203) + (xy 66.04647 42.604346) + (xy 66.05494 42.60518) + (xy 66.088325 42.59854) + (xy 66.101751 42.592979) + (xy 66.124769 42.577599) + (xy 66.166549 42.564925) + (xy 66.208328 42.577599) + (xy 66.232051 42.59345) + (xy 66.232053 42.593451) + (xy 66.238212 42.597566) + (xy 66.315803 42.613) + (xy 66.518196 42.612999) + (xy 66.595788 42.597566) + (xy 66.625222 42.577898) + (xy 66.667 42.565225) + (xy 66.708777 42.577898) + (xy 66.738212 42.597566) + (xy 66.815803 42.613) + (xy 67.018196 42.612999) + (xy 67.095788 42.597566) + (xy 67.125222 42.577898) + (xy 67.167 42.565225) + (xy 67.208777 42.577898) + (xy 67.238212 42.597566) + (xy 67.315803 42.613) + (xy 67.518196 42.612999) + (xy 67.595788 42.597566) + (xy 67.625222 42.577898) + (xy 67.667 42.565225) + (xy 67.708777 42.577898) + (xy 67.738212 42.597566) + (xy 67.815803 42.613) + (xy 68.018196 42.612999) + (xy 68.095788 42.597566) + (xy 68.125222 42.577898) + (xy 68.167 42.565225) + (xy 68.208777 42.577898) + (xy 68.238212 42.597566) + (xy 68.315803 42.613) + (xy 68.518196 42.612999) + (xy 68.595788 42.597566) + (xy 68.625222 42.577898) + (xy 68.667 42.565225) + (xy 68.708777 42.577898) + (xy 68.738212 42.597566) + (xy 68.815803 42.613) + (xy 69.018196 42.612999) + (xy 69.095788 42.597566) + (xy 69.183775 42.538775) + (xy 69.242566 42.450788) + (xy 69.258 42.373197) + (xy 69.257999 40.995804) + (xy 69.242566 40.918212) + (xy 69.183775 40.830225) + (xy 69.177621 40.826113) + (xy 69.101944 40.775547) + (xy 69.101942 40.775546) + (xy 69.095788 40.771434) + (xy 69.085552 40.769398) + (xy 69.036531 40.759647) + (xy 69.018197 40.756) + (xy 69.014501 40.756) + (xy 68.819501 40.756) + (xy 68.819491 40.756) + (xy 68.816532 40.756) + (xy 68.816527 40.756) + (xy 68.815804 40.756001) + (xy 68.815804 40.755869) + (xy 68.77694 40.748798) + (xy 68.74634 40.721064) + (xy 68.735 40.681353) + (xy 68.735 39.441868) + (xy 68.740724 39.41309) + (xy 68.757026 39.388694) + (xy 69.070694 39.075026) + (xy 69.09509 39.058724) + (xy 69.123868 39.053) + (xy 69.204704 39.053) + (xy 69.210085 39.053) + (xy 69.346881 39.012833) + (xy 69.466818 38.935753) + (xy 69.560182 38.828006) + (xy 69.619408 38.698319) + (xy 69.639698 38.5572) + (xy 69.63572 38.529536) + (xy 69.6231 38.441757) + (xy 69.619408 38.416081) + (xy 69.560182 38.286394) + (xy 69.466818 38.178647) + (xy 69.462296 38.175741) + (xy 69.462294 38.175739) + (xy 69.351402 38.104472) + (xy 69.351399 38.10447) + (xy 69.346881 38.101567) + (xy 69.341725 38.100053) + (xy 69.341723 38.100052) + (xy 69.317207 38.092854) + (xy 69.281561 38.069946) + (xy 69.263958 38.031402) + (xy 69.269989 37.989461) + (xy 69.297737 37.957438) + (xy 69.338393 37.9455) + (xy 70.084636 37.9455) + (xy 70.100068 37.947101) + (xy 70.107563 37.948672) + (xy 70.116017 37.950445) + (xy 70.15105 37.946077) + (xy 70.160352 37.9455) + (xy 70.160501 37.9455) + (xy 70.163611 37.9455) + (xy 70.185499 37.941847) + (xy 70.188506 37.941408) + (xy 70.24236 37.934696) + (xy 70.247858 37.932007) + (xy 70.248483 37.931863) + (xy 70.250955 37.93107) + (xy 70.251546 37.930825) + (xy 70.257586 37.929818) + (xy 70.305321 37.903984) + (xy 70.307999 37.902605) + (xy 70.356746 37.878776) + (xy 70.361073 37.874447) + (xy 70.361617 37.874108) + (xy 70.363696 37.872558) + (xy 70.364176 37.872133) + (xy 70.369562 37.86922) + (xy 70.406322 37.829286) + (xy 70.408427 37.827093) + (xy 71.9653 36.270222) + (xy 72.007775 36.248962) + (xy 72.008902 36.2488) + (xy 72.014285 36.2488) + (xy 72.019445 36.247284) + (xy 72.024773 36.246519) + (xy 72.02497 36.247892) + (xy 72.063558 36.248766) + (xy 72.100191 36.27601) + (xy 72.114315 36.319424) + (xy 72.103656 36.353598) + (xy 72.10536 36.354393) + (xy 72.056969 36.458167) + (xy 72.056966 36.458174) + (xy 72.054539 36.463381) + (xy 72.053788 36.469081) + (xy 72.053788 36.469083) + (xy 72.049232 36.503692) + (xy 72.048 36.513048) + (xy 72.048 36.892952) + (xy 72.048319 36.89538) + (xy 72.04832 36.895385) + (xy 72.053062 36.931402) + (xy 72.054539 36.942619) + (xy 72.056967 36.947827) + (xy 72.056969 36.947832) + (xy 72.087941 37.014251) + (xy 72.10536 37.051607) + (xy 72.190393 37.13664) + (xy 72.258238 37.168276) + (xy 72.294167 37.18503) + (xy 72.294168 37.18503) + (xy 72.299381 37.187461) + (xy 72.349048 37.194) + (xy 72.4563 37.194) + (xy 72.4939 37.204075) + (xy 72.521425 37.2316) + (xy 72.5315 37.2692) + (xy 72.5315 37.768293) + (xy 72.531027 37.776712) + (xy 72.527419 37.808729) + (xy 72.527419 37.808733) + (xy 72.526789 37.814327) + (xy 72.527835 37.81986) + (xy 72.527836 37.819862) + (xy 72.537447 37.87066) + (xy 72.537918 37.873431) + (xy 72.544112 37.914527) + (xy 72.546467 37.930147) + (xy 72.548911 37.935222) + (xy 72.54961 37.937488) + (xy 72.549721 37.937935) + (xy 72.549894 37.938353) + (xy 72.550681 37.940602) + (xy 72.551728 37.946134) + (xy 72.554359 37.951112) + (xy 72.578522 37.996832) + (xy 72.579781 37.999325) + (xy 72.604671 38.051009) + (xy 72.6085 38.055136) + (xy 72.60984 38.057101) + (xy 72.610075 38.057492) + (xy 72.610363 38.057839) + (xy 72.611778 38.059756) + (xy 72.61441 38.064735) + (xy 72.618393 38.068718) + (xy 72.618394 38.068719) + (xy 72.654959 38.105284) + (xy 72.656884 38.107281) + (xy 72.673927 38.125649) + (xy 72.688802 38.149323) + (xy 72.694 38.176796) + (xy 72.694 38.722055) + (xy 72.685804 38.756195) + (xy 72.666258 38.779078) + (xy 72.666434 38.779254) + (xy 72.664207 38.78148) + (xy 72.664201 38.781486) + (xy 72.66225 38.783437) + (xy 72.662247 38.78344) + (xy 72.577443 38.868244) + (xy 72.57744 38.868247) + (xy 72.573254 38.872434) + (xy 72.570567 38.877706) + (xy 72.570565 38.87771) + (xy 72.516115 38.984573) + (xy 72.516112 38.984579) + (xy 72.513429 38.989847) + (xy 72.512504 38.995686) + (xy 72.512502 38.995693) + (xy 72.498462 39.084343) + (xy 72.498 39.087263) + (xy 72.498 39.090215) + (xy 72.498 39.090216) + (xy 72.498 39.649781) + (xy 72.498 39.649793) + (xy 72.498001 39.652736) + (xy 72.498462 39.65565) + (xy 72.498463 39.655656) + (xy 72.511628 39.738781) + (xy 72.513429 39.750153) + (xy 72.516114 39.755423) + (xy 72.516115 39.755425) + (xy 72.566199 39.853721) + (xy 72.573254 39.867566) + (xy 72.664207 39.958519) + (xy 72.666434 39.960746) + (xy 72.666258 39.960921) + (xy 72.685804 39.983805) + (xy 72.694 40.017945) + (xy 72.694 40.597793) + (xy 72.693527 40.606212) + (xy 72.689919 40.638229) + (xy 72.689919 40.638233) + (xy 72.689289 40.643827) + (xy 72.690335 40.64936) + (xy 72.690336 40.649362) + (xy 72.699947 40.70016) + (xy 72.700418 40.702931) + (xy 72.708092 40.753847) + (xy 72.708967 40.759647) + (xy 72.711411 40.764722) + (xy 72.71211 40.766988) + (xy 72.712221 40.767435) + (xy 72.712394 40.767853) + (xy 72.713181 40.770102) + (xy 72.714228 40.775634) + (xy 72.727802 40.801318) + (xy 72.741022 40.826332) + (xy 72.742281 40.828825) + (xy 72.767171 40.880509) + (xy 72.771 40.884636) + (xy 72.77234 40.886601) + (xy 72.772575 40.886992) + (xy 72.772863 40.887339) + (xy 72.774278 40.889256) + (xy 72.77691 40.894235) + (xy 72.780894 40.898218) + (xy 72.780894 40.898219) + (xy 72.817458 40.934783) + (xy 72.819409 40.936808) + (xy 72.858413 40.978844) + (xy 72.863291 40.98166) + (xy 72.865148 40.983141) + (xy 72.871435 40.98876) + (xy 73.451682 41.569007) + (xy 73.457301 41.575294) + (xy 73.465005 41.584955) + (xy 73.480905 41.604892) + (xy 73.528308 41.63721) + (xy 73.530544 41.638798) + (xy 73.576716 41.672875) + (xy 73.582035 41.674736) + (xy 73.584137 41.675847) + (xy 73.584525 41.676081) + (xy 73.584957 41.67626) + (xy 73.587085 41.677284) + (xy 73.591741 41.680459) + (xy 73.646544 41.697363) + (xy 73.649191 41.698234) + (xy 73.703335 41.71718) + (xy 73.708973 41.71739) + (xy 73.711274 41.717826) + (xy 73.711737 41.717941) + (xy 73.712188 41.717983) + (xy 73.714536 41.718337) + (xy 73.719927 41.72) + (xy 73.777303 41.72) + (xy 73.780115 41.720053) + (xy 73.837386 41.722196) + (xy 73.842831 41.720736) + (xy 73.845173 41.720473) + (xy 73.853593 41.72) + (xy 76.145393 41.72) + (xy 76.153812 41.720473) + (xy 76.191427 41.724711) + (xy 76.247777 41.714048) + (xy 76.250533 41.71358) + (xy 76.307247 41.705033) + (xy 76.312331 41.702583) + (xy 76.314584 41.701889) + (xy 76.315036 41.701777) + (xy 76.315478 41.701594) + (xy 76.317687 41.70082) + (xy 76.323234 41.699772) + (xy 76.373948 41.672967) + (xy 76.376425 41.671718) + (xy 76.428109 41.646829) + (xy 76.432241 41.642993) + (xy 76.434194 41.641663) + (xy 76.434591 41.641423) + (xy 76.434955 41.641122) + (xy 76.436846 41.639726) + (xy 76.441835 41.63709) + (xy 76.482422 41.596501) + (xy 76.484366 41.594628) + (xy 76.526444 41.555587) + (xy 76.529264 41.5507) + (xy 76.530737 41.548854) + (xy 76.53635 41.542573) + (xy 77.225214 40.853709) + (xy 77.231483 40.848106) + (xy 77.261092 40.824495) + (xy 77.293415 40.777085) + (xy 77.294973 40.774889) + (xy 77.329075 40.728684) + (xy 77.330936 40.723363) + (xy 77.332045 40.721266) + (xy 77.332279 40.720877) + (xy 77.332464 40.720431) + (xy 77.33348 40.71832) + (xy 77.336659 40.713659) + (xy 77.353579 40.658802) + (xy 77.354423 40.656238) + (xy 77.37124 40.608182) + (xy 77.371518 40.607389) + (xy 77.371518 40.607388) + (xy 77.373381 40.602065) + (xy 77.373591 40.596428) + (xy 77.374031 40.594106) + (xy 77.374143 40.593654) + (xy 77.374187 40.593187) + (xy 77.374537 40.590861) + (xy 77.3762 40.585473) + (xy 77.3762 40.528107) + (xy 77.376253 40.525296) + (xy 77.377009 40.505093) + (xy 77.378396 40.468014) + (xy 77.376938 40.462572) + (xy 77.376673 40.460219) + (xy 77.3762 40.451801) + (xy 77.3762 39.780463) + (xy 77.38508 39.745014) + (xy 77.409622 39.717936) + (xy 77.444031 39.705625) + (xy 77.446315 39.7054) + (xy 77.450012 39.7054) + (xy 77.505725 39.694318) + (xy 77.568903 39.652103) + (xy 77.611118 39.588925) + (xy 77.6222 39.533212) + (xy 78.7402 39.533212) + (xy 78.751282 39.588925) + (xy 78.755394 39.59508) + (xy 78.755396 39.595083) + (xy 78.788505 39.644632) + (xy 78.793497 39.652103) + (xy 78.799654 39.656217) + (xy 78.850516 39.690203) + (xy 78.850517 39.690203) + (xy 78.856675 39.694318) + (xy 78.912388 39.7054) + (xy 79.946316 39.7054) + (xy 79.950012 39.7054) + (xy 80.005725 39.694318) + (xy 80.068903 39.652103) + (xy 80.090474 39.619819) + (xy 80.117552 39.595279) + (xy 80.153 39.5864) + (xy 80.6328 39.5864) + (xy 80.6704 39.596475) + (xy 80.697925 39.624) + (xy 80.708 39.6616) + (xy 80.708 39.966292) + (xy 80.708319 39.96872) + (xy 80.70832 39.968725) + (xy 80.720296 40.059692) + (xy 80.722723 40.078122) + (xy 80.728291 40.091565) + (xy 80.778474 40.212719) + (xy 80.778476 40.212723) + (xy 80.780359 40.217268) + (xy 80.872045 40.336755) + (xy 80.991532 40.428441) + (xy 80.996079 40.430324) + (xy 80.99608 40.430325) + (xy 81.01065 40.43636) + (xy 81.130678 40.486077) + (xy 81.28 40.505736) + (xy 81.429322 40.486077) + (xy 81.568468 40.428441) + (xy 81.687955 40.336755) + (xy 81.779641 40.217268) + (xy 81.837277 40.078122) + (xy 81.852 39.966292) + (xy 81.852 39.361617) + (xy 81.852643 39.351802) + (xy 81.856292 39.324084) + (xy 81.856935 39.3192) + (xy 81.852 39.281714) + (xy 81.852 39.281708) + (xy 81.837277 39.169878) + (xy 81.779641 39.030732) + (xy 81.763028 39.009082) + (xy 81.710976 38.941246) + (xy 81.710974 38.941244) + (xy 81.703641 38.931688) + (xy 81.698262 38.924678) + (xy 81.687955 38.911245) + (xy 81.676472 38.902434) + (xy 81.661861 38.891222) + (xy 81.654466 38.884736) + (xy 81.409662 38.639932) + (xy 81.403176 38.632537) + (xy 81.383155 38.606445) + (xy 81.352017 38.582552) + (xy 81.263668 38.514759) + (xy 81.259123 38.512876) + (xy 81.259119 38.512874) + (xy 81.15034 38.467817) + (xy 81.124522 38.457123) + (xy 81.119643 38.45648) + (xy 81.119641 38.45648) + (xy 81.012702 38.442401) + (xy 81.012694 38.4424) + (xy 81.012692 38.4424) + (xy 81.01269 38.4424) + (xy 81.012679 38.442399) + (xy 80.980084 38.438108) + (xy 80.9752 38.437465) + (xy 80.970316 38.438108) + (xy 80.942598 38.441757) + (xy 80.932783 38.4424) + (xy 80.153 38.4424) + (xy 80.117552 38.433521) + (xy 80.090474 38.40898) + (xy 80.088939 38.406683) + (xy 80.068903 38.376697) + (xy 80.059162 38.370188) + (xy 80.011883 38.338596) + (xy 80.01188 38.338594) + (xy 80.005725 38.334482) + (xy 79.998461 38.333037) + (xy 79.974163 38.328204) + (xy 79.950012 38.3234) + (xy 78.912388 38.3234) + (xy 78.908763 38.32412) + (xy 78.908763 38.324121) + (xy 78.863938 38.333037) + (xy 78.863936 38.333037) + (xy 78.856675 38.334482) + (xy 78.850521 38.338593) + (xy 78.850516 38.338596) + (xy 78.799654 38.372582) + (xy 78.799651 38.372584) + (xy 78.793497 38.376697) + (xy 78.789384 38.382851) + (xy 78.789382 38.382854) + (xy 78.755396 38.433716) + (xy 78.755393 38.433721) + (xy 78.751282 38.439875) + (xy 78.749837 38.447136) + (xy 78.749837 38.447138) + (xy 78.749287 38.449903) + (xy 78.7402 38.495588) + (xy 78.7402 39.533212) + (xy 77.6222 39.533212) + (xy 77.6222 38.495588) + (xy 77.611118 38.439875) + (xy 77.606983 38.433687) + (xy 77.573017 38.382854) + (xy 77.568903 38.376697) + (xy 77.559162 38.370188) + (xy 77.511883 38.338596) + (xy 77.51188 38.338594) + (xy 77.505725 38.334482) + (xy 77.498464 38.333037) + (xy 77.49846 38.333036) + (xy 77.487531 38.330863) + (xy 77.44407 38.304815) + (xy 77.427 38.257108) + (xy 77.427 37.739692) + (xy 77.44407 37.691985) + (xy 77.487531 37.665937) + (xy 77.49846 37.663763) + (xy 77.498459 37.663763) + (xy 77.505725 37.662318) + (xy 77.568903 37.620103) + (xy 77.611118 37.556925) + (xy 77.6222 37.501212) + (xy 77.6222 36.463588) + (xy 77.611118 36.407875) + (xy 77.596501 36.386) + (xy 77.573017 36.350854) + (xy 77.568903 36.344697) + (xy 77.562745 36.340582) + (xy 77.511883 36.306596) + (xy 77.51188 36.306594) + (xy 77.505725 36.302482) + (xy 77.498461 36.301037) + (xy 77.479802 36.297325) + (xy 77.450012 36.2914) + (xy 76.412388 36.2914) + (xy 76.408763 36.29212) + (xy 76.408763 36.292121) + (xy 76.363938 36.301037) + (xy 76.363936 36.301037) + (xy 76.356675 36.302482) + (xy 76.350521 36.306593) + (xy 76.350516 36.306596) + (xy 76.299654 36.340582) + (xy 76.299651 36.340584) + (xy 76.293497 36.344697) + (xy 76.289384 36.350851) + (xy 76.289382 36.350854) + (xy 76.255396 36.401716) + (xy 76.255393 36.401721) + (xy 76.251282 36.407875) + (xy 76.249837 36.415136) + (xy 76.249837 36.415138) + (xy 76.245433 36.437281) + (xy 76.2402 36.463588) + (xy 76.2402 37.501212) + (xy 76.240921 37.504836) + (xy 76.248475 37.542816) + (xy 76.251282 37.556925) + (xy 76.255394 37.56308) + (xy 76.255396 37.563083) + (xy 76.289382 37.613945) + (xy 76.293497 37.620103) + (xy 76.299654 37.624217) + (xy 76.350516 37.658203) + (xy 76.350517 37.658203) + (xy 76.356675 37.662318) + (xy 76.412388 37.6734) + (xy 76.4618 37.6734) + (xy 76.4994 37.683475) + (xy 76.526925 37.711) + (xy 76.537 37.7486) + (xy 76.537 38.2482) + (xy 76.526925 38.2858) + (xy 76.4994 38.313325) + (xy 76.4618 38.3234) + (xy 76.412388 38.3234) + (xy 76.408763 38.32412) + (xy 76.408763 38.324121) + (xy 76.363938 38.333037) + (xy 76.363936 38.333037) + (xy 76.356675 38.334482) + (xy 76.350521 38.338593) + (xy 76.350516 38.338596) + (xy 76.299654 38.372582) + (xy 76.299651 38.372584) + (xy 76.293497 38.376697) + (xy 76.289384 38.382851) + (xy 76.289382 38.382854) + (xy 76.255396 38.433716) + (xy 76.255393 38.433721) + (xy 76.251282 38.439875) + (xy 76.249837 38.447136) + (xy 76.249837 38.447138) + (xy 76.249287 38.449903) + (xy 76.2402 38.495588) + (xy 76.2402 39.533212) + (xy 76.251282 39.588925) + (xy 76.255394 39.59508) + (xy 76.255396 39.595083) + (xy 76.288505 39.644632) + (xy 76.293497 39.652103) + (xy 76.299654 39.656217) + (xy 76.350516 39.690203) + (xy 76.350517 39.690203) + (xy 76.356675 39.694318) + (xy 76.412388 39.7054) + (xy 76.416085 39.7054) + (xy 76.418369 39.705625) + (xy 76.452778 39.717936) + (xy 76.47732 39.745014) + (xy 76.4862 39.780463) + (xy 76.4862 40.302927) + (xy 76.480476 40.331705) + (xy 76.464174 40.356101) + (xy 76.012301 40.807974) + (xy 75.987905 40.824276) + (xy 75.959127 40.83) + (xy 74.002473 40.83) + (xy 73.973695 40.824276) + (xy 73.949299 40.807974) + (xy 73.606026 40.464701) + (xy 73.589724 40.440305) + (xy 73.584 40.411527) + (xy 73.584 40.017945) + (xy 73.592196 39.983805) + (xy 73.611741 39.960921) + (xy 73.611566 39.960746) + (xy 73.611565 39.960746) + (xy 73.704746 39.867566) + (xy 73.764571 39.750153) + (xy 73.78 39.652737) + (xy 73.78 39.649746) + (xy 74.0485 39.649746) + (xy 74.048962 39.655618) + (xy 74.062984 39.744151) + (xy 74.066597 39.755271) + (xy 74.120976 39.861994) + (xy 74.127851 39.871456) + (xy 74.212543 39.956148) + (xy 74.222005 39.963023) + (xy 74.328728 40.017402) + (xy 74.339848 40.021015) + (xy 74.428381 40.035037) + (xy 74.434254 40.0355) + (xy 74.552098 40.0355) + (xy 74.559907 40.033407) + (xy 74.562 40.025598) + (xy 74.816 40.025598) + (xy 74.818092 40.033407) + (xy 74.825902 40.0355) + (xy 74.943746 40.0355) + (xy 74.949618 40.035037) + (xy 75.038151 40.021015) + (xy 75.049271 40.017402) + (xy 75.155994 39.963023) + (xy 75.165456 39.956148) + (xy 75.250148 39.871456) + (xy 75.257023 39.861994) + (xy 75.311402 39.755271) + (xy 75.315015 39.744151) + (xy 75.329037 39.655618) + (xy 75.3295 39.649746) + (xy 75.3295 39.506902) + (xy 75.327407 39.499092) + (xy 75.319598 39.497) + (xy 74.825902 39.497) + (xy 74.818092 39.499092) + (xy 74.816 39.506902) + (xy 74.816 40.025598) + (xy 74.562 40.025598) + (xy 74.562 39.506902) + (xy 74.559907 39.499092) + (xy 74.552098 39.497) + (xy 74.058402 39.497) + (xy 74.050592 39.499092) + (xy 74.0485 39.506902) + (xy 74.0485 39.649746) + (xy 73.78 39.649746) + (xy 73.779999 39.233098) + (xy 74.0485 39.233098) + (xy 74.050592 39.240907) + (xy 74.058402 39.243) + (xy 74.552098 39.243) + (xy 74.559907 39.240907) + (xy 74.562 39.233098) + (xy 74.816 39.233098) + (xy 74.818092 39.240907) + (xy 74.825902 39.243) + (xy 75.319598 39.243) + (xy 75.327407 39.240907) + (xy 75.3295 39.233098) + (xy 75.3295 39.090254) + (xy 75.329037 39.084381) + (xy 75.315015 38.995848) + (xy 75.311402 38.984728) + (xy 75.257023 38.878005) + (xy 75.250148 38.868543) + (xy 75.165456 38.783851) + (xy 75.155994 38.776976) + (xy 75.049271 38.722597) + (xy 75.038151 38.718984) + (xy 74.949618 38.704962) + (xy 74.943746 38.7045) + (xy 74.825902 38.7045) + (xy 74.818092 38.706592) + (xy 74.816 38.714402) + (xy 74.816 39.233098) + (xy 74.562 39.233098) + (xy 74.562 38.714402) + (xy 74.559907 38.706592) + (xy 74.552098 38.7045) + (xy 74.434254 38.7045) + (xy 74.428381 38.704962) + (xy 74.339848 38.718984) + (xy 74.328728 38.722597) + (xy 74.222005 38.776976) + (xy 74.212543 38.783851) + (xy 74.127851 38.868543) + (xy 74.120976 38.878005) + (xy 74.066597 38.984728) + (xy 74.062984 38.995848) + (xy 74.048962 39.084381) + (xy 74.0485 39.090254) + (xy 74.0485 39.233098) + (xy 73.779999 39.233098) + (xy 73.779999 39.087264) + (xy 73.764571 38.989847) + (xy 73.704746 38.872434) + (xy 73.611566 38.779254) + (xy 73.611741 38.779078) + (xy 73.592196 38.756195) + (xy 73.584 38.722055) + (xy 73.584 37.989207) + (xy 73.584473 37.980788) + (xy 73.587804 37.951224) + (xy 73.588711 37.943173) + (xy 73.57805 37.88683) + (xy 73.577579 37.884056) + (xy 73.575343 37.86922) + (xy 73.571006 37.840441) + (xy 73.923501 37.840441) + (xy 73.923821 37.845336) + (xy 73.929276 37.886779) + (xy 73.932461 37.897705) + (xy 73.977993 37.995349) + (xy 73.985431 38.005971) + (xy 74.061028 38.081568) + (xy 74.07165 38.089006) + (xy 74.169298 38.13454) + (xy 74.180215 38.137722) + (xy 74.221663 38.143179) + (xy 74.226557 38.1435) + (xy 74.714598 38.1435) + (xy 74.722407 38.141407) + (xy 74.7245 38.133598) + (xy 74.7245 38.133597) + (xy 74.9785 38.133597) + (xy 74.980592 38.141406) + (xy 74.988402 38.143499) + (xy 75.476441 38.143499) + (xy 75.481336 38.143178) + (xy 75.522779 38.137723) + (xy 75.533705 38.134538) + (xy 75.631349 38.089006) + (xy 75.641971 38.081568) + (xy 75.717568 38.005971) + (xy 75.725006 37.995349) + (xy 75.77054 37.897701) + (xy 75.773722 37.886784) + (xy 75.779179 37.845336) + (xy 75.7795 37.840443) + (xy 75.7795 37.789902) + (xy 75.777407 37.782092) + (xy 75.769598 37.78) + (xy 74.988402 37.78) + (xy 74.980592 37.782092) + (xy 74.9785 37.789902) + (xy 74.9785 38.133597) + (xy 74.7245 38.133597) + (xy 74.7245 37.789902) + (xy 74.722407 37.782092) + (xy 74.714598 37.78) + (xy 73.933403 37.78) + (xy 73.925593 37.782092) + (xy 73.923501 37.789902) + (xy 73.923501 37.840441) + (xy 73.571006 37.840441) + (xy 73.569033 37.827353) + (xy 73.566585 37.822271) + (xy 73.56589 37.820017) + (xy 73.565778 37.819566) + (xy 73.565777 37.819562) + (xy 73.565599 37.819132) + (xy 73.564819 37.816904) + (xy 73.563772 37.811366) + (xy 73.536972 37.760657) + (xy 73.535705 37.758147) + (xy 73.513272 37.711564) + (xy 73.513271 37.711563) + (xy 73.510829 37.706491) + (xy 73.506998 37.702362) + (xy 73.505666 37.700408) + (xy 73.505427 37.700012) + (xy 73.505137 37.699662) + (xy 73.503725 37.697749) + (xy 73.501091 37.692765) + (xy 73.460528 37.652203) + (xy 73.458577 37.650178) + (xy 73.441574 37.631853) + (xy 73.426698 37.608178) + (xy 73.4215 37.580704) + (xy 73.4215 37.516098) + (xy 73.9235 37.516098) + (xy 73.925592 37.523907) + (xy 73.933402 37.526) + (xy 74.714598 37.526) + (xy 74.722407 37.523907) + (xy 74.7245 37.516098) + (xy 74.9785 37.516098) + (xy 74.980592 37.523907) + (xy 74.988402 37.526) + (xy 75.769597 37.526) + (xy 75.777406 37.523907) + (xy 75.779499 37.516098) + (xy 75.779499 37.465559) + (xy 75.779178 37.460663) + (xy 75.773723 37.41922) + (xy 75.770538 37.408294) + (xy 75.725006 37.31065) + (xy 75.717568 37.300028) + (xy 75.641971 37.224431) + (xy 75.631349 37.216993) + (xy 75.533701 37.171459) + (xy 75.522784 37.168277) + (xy 75.481336 37.16282) + (xy 75.476443 37.1625) + (xy 74.988402 37.1625) + (xy 74.980592 37.164592) + (xy 74.9785 37.172402) + (xy 74.9785 37.516098) + (xy 74.7245 37.516098) + (xy 74.7245 37.172403) + (xy 74.722407 37.164593) + (xy 74.714598 37.162501) + (xy 74.226559 37.162501) + (xy 74.221663 37.162821) + (xy 74.18022 37.168276) + (xy 74.169294 37.171461) + (xy 74.07165 37.216993) + (xy 74.061028 37.224431) + (xy 73.985431 37.300028) + (xy 73.977993 37.31065) + (xy 73.932459 37.408298) + (xy 73.929277 37.419215) + (xy 73.92382 37.460663) + (xy 73.9235 37.465557) + (xy 73.9235 37.516098) + (xy 73.4215 37.516098) + (xy 73.4215 37.2692) + (xy 73.431575 37.2316) + (xy 73.4591 37.204075) + (xy 73.4967 37.194) + (xy 73.601495 37.194) + (xy 73.603952 37.194) + (xy 73.653619 37.187461) + (xy 73.762607 37.13664) + (xy 73.84764 37.051607) + (xy 73.898461 36.942619) + (xy 73.905 36.892952) + (xy 73.905 36.513048) + (xy 73.898461 36.463381) + (xy 73.84764 36.354393) + (xy 73.762607 36.26936) + (xy 73.761564 36.268874) + (xy 73.735309 36.23387) + (xy 73.7348 36.187085) + (xy 73.762053 36.149055) + (xy 73.806519 36.1345) + (xy 73.982105 36.1345) + (xy 74.010883 36.140224) + (xy 74.035279 36.156526) + (xy 74.065393 36.18664) + (xy 74.119779 36.212) + (xy 74.169167 36.23503) + (xy 74.169168 36.23503) + (xy 74.174381 36.237461) + (xy 74.224048 36.244) + (xy 75.476495 36.244) + (xy 75.478952 36.244) + (xy 75.528619 36.237461) + (xy 75.637607 36.18664) + (xy 75.72264 36.101607) + (xy 75.773461 35.992619) + (xy 75.78 35.942952) + (xy 75.78 35.563048) + (xy 75.773461 35.513381) + (xy 75.72264 35.404393) + (xy 75.637607 35.31936) + (xy 75.623431 35.312749) + (xy 75.533832 35.270969) + (xy 75.533827 35.270967) + (xy 75.528619 35.268539) + (xy 75.522917 35.267788) + (xy 75.522916 35.267788) + (xy 75.481385 35.26232) + (xy 75.48138 35.262319) + (xy 75.478952 35.262) + (xy 75.476495 35.262) + (xy 75.0822 35.262) + (xy 75.0446 35.251925) + (xy 75.017075 35.2244) + (xy 75.007 35.1868) + (xy 75.007 34.751584) + (xy 75.018081 34.712292) + (xy 75.048059 34.68458) + (xy 75.161566 34.626746) + (xy 75.254746 34.533566) + (xy 75.314571 34.416153) + (xy 75.33 34.318737) + (xy 75.329999 33.753264) + (xy 75.314571 33.655847) + (xy 75.254746 33.538434) + (xy 75.161566 33.445254) + (xy 75.138287 33.433393) + (xy 75.13406 33.431239) + (xy 75.104081 33.403527) + (xy 75.093 33.364235) + (xy 75.093 32.368252) + (xy 75.098724 32.339474) + (xy 75.115026 32.315078) + (xy 75.135656 32.294448) + (xy 75.190322 32.239782) + (xy 75.193104 32.233814) + (xy 75.196876 32.228429) + (xy 75.198634 32.22966) + (xy 75.218715 32.206772) + (xy 75.259112 32.195) + (xy 75.4258 32.195) + (xy 75.4634 32.205075) + (xy 75.490925 32.2326) + (xy 75.501 32.2702) + (xy 75.501 34.70463) + (xy 75.500714 34.711184) + (xy 75.498409 34.737534) + (xy 75.497323 34.749943) + (xy 75.499024 34.756293) + (xy 75.499025 34.756298) + (xy 75.507394 34.787531) + (xy 75.508813 34.793933) + (xy 75.514425 34.825761) + (xy 75.514426 34.825763) + (xy 75.515568 34.83224) + (xy 75.518856 34.837936) + (xy 75.521107 34.844119) + (xy 75.521098 34.844121) + (xy 75.521857 34.845953) + (xy 75.521865 34.84595) + (xy 75.524644 34.851911) + (xy 75.526348 34.858266) + (xy 75.544166 34.883713) + (xy 75.548662 34.890135) + (xy 75.552185 34.895666) + (xy 75.568348 34.923661) + (xy 75.568353 34.923667) + (xy 75.57164 34.92936) + (xy 75.601448 34.954372) + (xy 75.606284 34.958804) + (xy 75.912195 35.264715) + (xy 75.916627 35.269551) + (xy 75.94164 35.29936) + (xy 75.975344 35.318819) + (xy 75.980846 35.322323) + (xy 76.012734 35.344651) + (xy 76.01909 35.346354) + (xy 76.025052 35.349134) + (xy 76.025047 35.349143) + (xy 76.026875 35.3499) + (xy 76.026879 35.349892) + (xy 76.033062 35.352142) + (xy 76.03876 35.355432) + (xy 76.077085 35.362189) + (xy 76.08347 35.363604) + (xy 76.121057 35.373677) + (xy 76.159816 35.370285) + (xy 76.16637 35.37) + (xy 76.240177 35.37) + (xy 76.274899 35.378496) + (xy 76.298839 35.39949) + (xy 76.29936 35.400607) + (xy 76.384393 35.48564) + (xy 76.443885 35.513381) + (xy 76.488167 35.53403) + (xy 76.488168 35.53403) + (xy 76.493381 35.536461) + (xy 76.543048 35.543) + (xy 78.270495 35.543) + (xy 78.272952 35.543) + (xy 78.322619 35.536461) + (xy 78.431607 35.48564) + (xy 78.51664 35.400607) + (xy 78.567461 35.291619) + (xy 78.574 35.241952) + (xy 78.574 34.862048) + (xy 78.567461 34.812381) + (xy 78.555873 34.787531) + (xy 78.541709 34.757155) + (xy 78.51664 34.703393) + (xy 78.431607 34.61836) + (xy 78.393859 34.600758) + (xy 78.327832 34.569969) + (xy 78.327827 34.569967) + (xy 78.322619 34.567539) + (xy 78.316917 34.566788) + (xy 78.316916 34.566788) + (xy 78.275385 34.56132) + (xy 78.27538 34.561319) + (xy 78.272952 34.561) + (xy 76.543048 34.561) + (xy 76.54062 34.561319) + (xy 76.540614 34.56132) + (xy 76.499083 34.566788) + (xy 76.499081 34.566788) + (xy 76.493381 34.567539) + (xy 76.488174 34.569966) + (xy 76.488167 34.569969) + (xy 76.390354 34.61558) + (xy 76.390352 34.615581) + (xy 76.384393 34.61836) + (xy 76.379743 34.62301) + (xy 76.32801 34.674743) + (xy 76.294299 34.694206) + (xy 76.255373 34.694206) + (xy 76.221662 34.674742) + (xy 76.159026 34.612106) + (xy 76.142724 34.58771) + (xy 76.137 34.558932) + (xy 76.137 34.12163) + (xy 76.153553 34.07456) + (xy 76.195924 34.048212) + (xy 76.24546 34.054185) + (xy 76.280355 34.08985) + (xy 76.29936 34.130607) + (xy 76.384393 34.21564) + (xy 76.434805 34.239147) + (xy 76.488167 34.26403) + (xy 76.488168 34.26403) + (xy 76.493381 34.266461) + (xy 76.543048 34.273) + (xy 78.270495 34.273) + (xy 78.272952 34.273) + (xy 78.322619 34.266461) + (xy 78.431607 34.21564) + (xy 78.4643 34.182946) + (xy 78.509435 34.161352) + (xy 78.558129 34.172858) + (xy 78.658919 34.237633) + (xy 78.795715 34.2778) + (xy 78.932904 34.2778) + (xy 78.938285 34.2778) + (xy 79.075081 34.237633) + (xy 79.195018 34.160553) + (xy 79.288382 34.052806) + (xy 79.347608 33.923119) + (xy 79.367898 33.782) + (xy 79.347608 33.640881) + (xy 79.288382 33.511194) + (xy 79.284107 33.506261) + (xy 79.235651 33.45034) + (xy 79.195018 33.403447) + (xy 79.190494 33.400539) + (xy 79.186429 33.397017) + (xy 79.187197 33.39613) + (xy 79.160433 33.362096) + (xy 79.160433 33.312904) + (xy 79.187197 33.278869) + (xy 79.186429 33.277983) + (xy 79.190492 33.274461) + (xy 79.195018 33.271553) + (xy 79.288382 33.163806) + (xy 79.347608 33.034119) + (xy 79.367898 32.893) + (xy 79.347608 32.751881) + (xy 79.288382 32.622194) + (xy 79.195018 32.514447) + (xy 79.190496 32.511541) + (xy 79.190494 32.511539) + (xy 79.079602 32.440272) + (xy 79.079599 32.44027) + (xy 79.075081 32.437367) + (xy 79.069925 32.435853) + (xy 79.069923 32.435852) + (xy 78.943447 32.398715) + (xy 78.943442 32.398714) + (xy 78.938285 32.3972) + (xy 78.932904 32.3972) + (xy 78.852068 32.3972) + (xy 78.82329 32.391476) + (xy 78.798894 32.375174) + (xy 78.723004 32.299284) + (xy 78.718572 32.294448) + (xy 78.704951 32.278215) + (xy 78.69356 32.26464) + (xy 78.687867 32.261353) + (xy 78.687861 32.261348) + (xy 78.659866 32.245185) + (xy 78.654335 32.241662) + (xy 78.641392 32.2326) + (xy 78.622466 32.219348) + (xy 78.616111 32.217644) + (xy 78.61015 32.214865) + (xy 78.610153 32.214857) + (xy 78.608321 32.214098) + (xy 78.608319 32.214107) + (xy 78.602136 32.211856) + (xy 78.59644 32.208568) + (xy 78.589963 32.207426) + (xy 78.589961 32.207425) + (xy 78.570569 32.204006) + (xy 78.543223 32.193372) + (xy 78.522029 32.173082) + (xy 78.519419 32.169354) + (xy 78.51664 32.163393) + (xy 78.431607 32.07836) + (xy 78.417431 32.071749) + (xy 78.327832 32.029969) + (xy 78.327827 32.029967) + (xy 78.322619 32.027539) + (xy 78.316917 32.026788) + (xy 78.316916 32.026788) + (xy 78.275385 32.02132) + (xy 78.27538 32.021319) + (xy 78.272952 32.021) + (xy 76.543048 32.021) + (xy 76.54062 32.021319) + (xy 76.540614 32.02132) + (xy 76.499083 32.026788) + (xy 76.499081 32.026788) + (xy 76.493381 32.027539) + (xy 76.488174 32.029966) + (xy 76.488167 32.029969) + (xy 76.390354 32.07558) + (xy 76.390352 32.075581) + (xy 76.384393 32.07836) + (xy 76.379743 32.083009) + (xy 76.37974 32.083012) + (xy 76.304012 32.15874) + (xy 76.304009 32.158743) + (xy 76.29936 32.163393) + (xy 76.296581 32.169352) + (xy 76.29658 32.169354) + (xy 76.280355 32.20415) + (xy 76.24546 32.239815) + (xy 76.195924 32.245788) + (xy 76.153553 32.21944) + (xy 76.137 32.17237) + (xy 76.137 31.735068) + (xy 76.142724 31.70629) + (xy 76.159022 31.681897) + (xy 76.221665 31.619254) + (xy 76.255372 31.599793) + (xy 76.294299 31.599793) + (xy 76.32801 31.619257) + (xy 76.384393 31.67564) + (xy 76.430591 31.697182) + (xy 76.488167 31.72403) + (xy 76.488168 31.72403) + (xy 76.493381 31.726461) + (xy 76.543048 31.733) + (xy 78.270495 31.733) + (xy 78.272952 31.733) + (xy 78.322619 31.726461) + (xy 78.431607 31.67564) + (xy 78.51664 31.590607) + (xy 78.567461 31.481619) + (xy 78.574 31.431952) + (xy 78.574 31.052048) + (xy 78.567461 31.002381) + (xy 78.563851 30.99464) + (xy 78.550545 30.966104) + (xy 78.51664 30.893393) + (xy 78.431607 30.80836) + (xy 78.390672 30.789272) + (xy 78.327832 30.759969) + (xy 78.327827 30.759967) + (xy 78.322619 30.757539) + (xy 78.316917 30.756788) + (xy 78.316916 30.756788) + (xy 78.275385 30.75132) + (xy 78.27538 30.751319) + (xy 78.272952 30.751) + (xy 76.543048 30.751) + (xy 76.54062 30.751319) + (xy 76.540614 30.75132) + (xy 76.499083 30.756788) + (xy 76.499081 30.756788) + (xy 76.493381 30.757539) + (xy 76.488174 30.759966) + (xy 76.488167 30.759969) + (xy 76.390354 30.80558) + (xy 76.390352 30.805581) + (xy 76.384393 30.80836) + (xy 76.379743 30.813009) + (xy 76.37974 30.813012) + (xy 76.30401 30.888742) + (xy 76.304007 30.888745) + (xy 76.29936 30.893393) + (xy 76.298839 30.894509) + (xy 76.274899 30.915504) + (xy 76.240177 30.924) + (xy 76.16637 30.924) + (xy 76.159816 30.923714) + (xy 76.12761 30.920896) + (xy 76.127608 30.920896) + (xy 76.121057 30.920323) + (xy 76.114707 30.922024) + (xy 76.1147 30.922025) + (xy 76.083471 30.930393) + (xy 76.07707 30.931812) + (xy 76.045238 30.937425) + (xy 76.045234 30.937426) + (xy 76.03876 30.938568) + (xy 76.033064 30.941856) + (xy 76.02688 30.944107) + (xy 76.026877 30.9441) + (xy 76.025045 30.944858) + (xy 76.025049 30.944866) + (xy 76.019084 30.947646) + (xy 76.012734 30.949349) + (xy 76.007349 30.953118) + (xy 76.007343 30.953122) + (xy 75.980855 30.971668) + (xy 75.975327 30.975189) + (xy 75.94164 30.99464) + (xy 75.937415 30.999674) + (xy 75.93741 30.999679) + (xy 75.916621 31.024454) + (xy 75.91219 31.029288) + (xy 75.606288 31.33519) + (xy 75.601454 31.339621) + (xy 75.576678 31.360411) + (xy 75.576673 31.360415) + (xy 75.57164 31.36464) + (xy 75.568355 31.370329) + (xy 75.568352 31.370333) + (xy 75.552189 31.398328) + (xy 75.548667 31.403855) + (xy 75.530122 31.430342) + (xy 75.530119 31.430347) + (xy 75.526348 31.435734) + (xy 75.524644 31.442088) + (xy 75.521867 31.448046) + (xy 75.52186 31.448042) + (xy 75.521099 31.449878) + (xy 75.521106 31.449881) + (xy 75.518854 31.456065) + (xy 75.515568 31.46176) + (xy 75.509378 31.496861) + (xy 75.48366 31.541407) + (xy 75.435322 31.559) + (xy 75.259112 31.559) + (xy 75.218715 31.547228) + (xy 75.198634 31.524339) + (xy 75.196876 31.525571) + (xy 75.193104 31.520184) + (xy 75.190322 31.514218) + (xy 75.107782 31.431678) + (xy 75.101817 31.428896) + (xy 75.101815 31.428895) + (xy 75.033598 31.397085) + (xy 75.001991 31.382347) + (xy 74.996279 31.381595) + (xy 74.956216 31.37632) + (xy 74.956211 31.376319) + (xy 74.953783 31.376) + (xy 74.951325 31.376) + (xy 74.598676 31.376) + (xy 74.59866 31.376) + (xy 74.596218 31.376001) + (xy 74.593793 31.37632) + (xy 74.593781 31.376321) + (xy 74.553716 31.381595) + (xy 74.553711 31.381596) + (xy 74.548009 31.382347) + (xy 74.542793 31.384778) + (xy 74.54279 31.38478) + (xy 74.448184 31.428895) + (xy 74.448179 31.428898) + (xy 74.442218 31.431678) + (xy 74.437565 31.43633) + (xy 74.437562 31.436333) + (xy 74.364332 31.509563) + (xy 74.364329 31.509566) + (xy 74.359678 31.514218) + (xy 74.356897 31.520181) + (xy 74.356289 31.52105) + (xy 74.318343 31.549298) + (xy 74.271037 31.549298) + (xy 74.233091 31.521049) + (xy 74.225253 31.509856) + (xy 74.152146 31.436749) + (xy 74.141524 31.429311) + (xy 74.047073 31.385268) + (xy 74.036156 31.382086) + (xy 73.996159 31.37682) + (xy 73.991266 31.3765) + (xy 73.951902 31.3765) + (xy 73.944092 31.378592) + (xy 73.942 31.386402) + (xy 73.942 32.367598) + (xy 73.944092 32.375407) + (xy 73.951902 32.3775) + (xy 73.991266 32.3775) + (xy 73.996159 32.377179) + (xy 74.036156 32.371913) + (xy 74.047073 32.368731) + (xy 74.141524 32.324688) + (xy 74.152146 32.31725) + (xy 74.225251 32.244145) + (xy 74.23309 32.232951) + (xy 74.271036 32.204701) + (xy 74.318343 32.204701) + (xy 74.35629 32.232951) + (xy 74.356896 32.233817) + (xy 74.359678 32.239782) + (xy 74.36433 32.244434) + (xy 74.364331 32.244435) + (xy 74.434974 32.315078) + (xy 74.451276 32.339474) + (xy 74.457 32.368252) + (xy 74.457 33.301698) + (xy 74.448803 33.335838) + (xy 74.426001 33.362537) + (xy 74.393564 33.375971) + (xy 74.369258 33.37982) + (xy 74.339692 33.384503) + (xy 74.33969 33.384503) + (xy 74.333847 33.385429) + (xy 74.328577 33.388113) + (xy 74.328574 33.388115) + (xy 74.22171 33.442565) + (xy 74.221706 33.442567) + (xy 74.216434 33.445254) + (xy 74.212247 33.44944) + (xy 74.212244 33.449443) + (xy 74.127443 33.534244) + (xy 74.12744 33.534247) + (xy 74.123254 33.538434) + (xy 74.120567 33.543706) + (xy 74.120565 33.54371) + (xy 74.066115 33.650573) + (xy 74.066112 33.650579) + (xy 74.063429 33.655847) + (xy 74.062504 33.661686) + (xy 74.062502 33.661693) + (xy 74.049672 33.742704) + (xy 74.048 33.753263) + (xy 74.048 33.756215) + (xy 74.048 33.756216) + (xy 74.048 34.315781) + (xy 74.048 34.315793) + (xy 74.048001 34.318736) + (xy 74.048462 34.32165) + (xy 74.048463 34.321656) + (xy 74.060491 34.397603) + (xy 74.063429 34.416153) + (xy 74.066114 34.421423) + (xy 74.066115 34.421425) + (xy 74.09526 34.478626) + (xy 74.123254 34.533566) + (xy 74.216434 34.626746) + (xy 74.32994 34.68458) + (xy 74.359919 34.712292) + (xy 74.371 34.751584) + (xy 74.371 35.1868) + (xy 74.360925 35.2244) + (xy 74.3334 35.251925) + (xy 74.2958 35.262) + (xy 74.224048 35.262) + (xy 74.22162 35.262319) + (xy 74.221614 35.26232) + (xy 74.180083 35.267788) + (xy 74.180081 35.267788) + (xy 74.174381 35.268539) + (xy 74.169174 35.270966) + (xy 74.169167 35.270969) + (xy 74.071354 35.31658) + (xy 74.071352 35.316581) + (xy 74.065393 35.31936) + (xy 74.060743 35.324009) + (xy 74.06074 35.324012) + (xy 74.035279 35.349474) + (xy 74.010883 35.365776) + (xy 73.982105 35.3715) + (xy 72.288513 35.3715) + (xy 72.247856 35.359562) + (xy 72.232159 35.349474) + (xy 72.192541 35.324012) + (xy 72.155602 35.300272) + (xy 72.155599 35.30027) + (xy 72.151081 35.297367) + (xy 72.145925 35.295853) + (xy 72.145923 35.295852) + (xy 72.019447 35.258715) + (xy 72.019442 35.258714) + (xy 72.014285 35.2572) + (xy 71.871715 35.2572) + (xy 71.866558 35.258714) + (xy 71.866552 35.258715) + (xy 71.740076 35.295852) + (xy 71.740071 35.295854) + (xy 71.734919 35.297367) + (xy 71.730403 35.300269) + (xy 71.730397 35.300272) + (xy 71.619505 35.371539) + (xy 71.619499 35.371543) + (xy 71.614982 35.374447) + (xy 71.611461 35.378509) + (xy 71.61146 35.378511) + (xy 71.52514 35.478128) + (xy 71.525136 35.478133) + (xy 71.521618 35.482194) + (xy 71.519385 35.487082) + (xy 71.519382 35.487088) + (xy 71.464626 35.606987) + (xy 71.464624 35.606993) + (xy 71.462392 35.611881) + (xy 71.461626 35.617202) + (xy 71.461625 35.617209) + (xy 71.452148 35.683116) + (xy 71.430888 35.725587) + (xy 69.996003 37.160474) + (xy 69.971607 37.176776) + (xy 69.942829 37.1825) + (xy 68.880752 37.1825) + (xy 68.851974 37.176776) + (xy 68.827578 37.160474) + (xy 68.820435 37.153331) + (xy 68.815782 37.148678) + (xy 68.809817 37.145896) + (xy 68.808951 37.14529) + (xy 68.780701 37.107343) + (xy 68.780701 37.060036) + (xy 68.808951 37.02209) + (xy 68.820145 37.014251) + (xy 68.89325 36.941146) + (xy 68.900688 36.930524) + (xy 68.944731 36.836073) + (xy 68.947913 36.825156) + (xy 68.953179 36.785159) + (xy 68.9535 36.780266) + (xy 68.9535 36.740902) + (xy 68.951407 36.733092) + (xy 68.943598 36.731) + (xy 68.4012 36.731) + (xy 68.3636 36.720925) + (xy 68.336075 36.6934) + (xy 68.326 36.6558) + (xy 68.326 36.467098) + (xy 68.58 36.467098) + (xy 68.582092 36.474907) + (xy 68.589902 36.477) + (xy 68.943598 36.477) + (xy 68.951407 36.474907) + (xy 68.9535 36.467098) + (xy 68.9535 36.427734) + (xy 68.953179 36.42284) + (xy 68.947913 36.382843) + (xy 68.944731 36.371926) + (xy 68.900688 36.277475) + (xy 68.89325 36.266853) + (xy 68.820146 36.193749) + (xy 68.809524 36.186311) + (xy 68.715073 36.142268) + (xy 68.704156 36.139086) + (xy 68.664159 36.13382) + (xy 68.659266 36.1335) + (xy 68.589902 36.1335) + (xy 68.582092 36.135592) + (xy 68.58 36.143402) + (xy 68.58 36.467098) + (xy 68.326 36.467098) + (xy 68.326 36.143402) + (xy 68.323907 36.135592) + (xy 68.316098 36.1335) + (xy 68.246734 36.1335) + (xy 68.24184 36.13382) + (xy 68.201843 36.139086) + (xy 68.190926 36.142268) + (xy 68.096475 36.186311) + (xy 68.085853 36.193749) + (xy 68.012749 36.266853) + (xy 68.005311 36.277475) + (xy 67.961268 36.371926) + (xy 67.958086 36.382842) + (xy 67.956057 36.398258) + (xy 67.938682 36.437281) + (xy 67.902858 36.460545) + (xy 67.860142 36.460545) + (xy 67.824318 36.437281) + (xy 67.806943 36.398258) + (xy 67.804913 36.382842) + (xy 67.801731 36.371926) + (xy 67.757688 36.277475) + (xy 67.75025 36.266853) + (xy 67.677146 36.193749) + (xy 67.666524 36.186311) + (xy 67.572073 36.142268) + (xy 67.561156 36.139086) + (xy 67.521159 36.13382) + (xy 67.516266 36.1335) + (xy 67.446902 36.1335) + (xy 67.439092 36.135592) + (xy 67.437 36.143402) + (xy 67.437 36.6558) + (xy 67.426925 36.6934) + (xy 67.3994 36.720925) + (xy 67.3618 36.731) + (xy 67.2582 36.731) + (xy 67.2206 36.720925) + (xy 67.193075 36.6934) + (xy 67.183 36.6558) + (xy 67.183 36.143402) + (xy 67.180907 36.135592) + (xy 67.173098 36.1335) + (xy 67.103734 36.1335) + (xy 67.09884 36.13382) + (xy 67.058843 36.139086) + (xy 67.047926 36.142268) + (xy 66.953475 36.186311) + (xy 66.942853 36.193749) + (xy 66.869749 36.266853) + (xy 66.862311 36.277475) + (xy 66.818268 36.371926) + (xy 66.815086 36.382842) + (xy 66.813057 36.398258) + (xy 66.795682 36.437281) + (xy 66.759858 36.460545) + (xy 66.717142 36.460545) + (xy 66.681318 36.437281) + (xy 66.663943 36.398258) + (xy 66.661913 36.382842) + (xy 66.658731 36.371926) + (xy 66.614688 36.277475) + (xy 66.60725 36.266853) + (xy 66.534146 36.193749) + (xy 66.523524 36.186311) + (xy 66.429073 36.142268) + (xy 66.418156 36.139086) + (xy 66.378159 36.13382) + (xy 66.373266 36.1335) + (xy 66.303902 36.1335) + (xy 66.296092 36.135592) + (xy 66.294 36.143402) + (xy 66.294 36.6558) + (xy 66.283925 36.6934) + (xy 66.2564 36.720925) + (xy 66.2188 36.731) + (xy 65.676402 36.731) + (xy 65.668592 36.733092) + (xy 65.6665 36.740902) + (xy 65.6665 36.780266) + (xy 65.66682 36.785159) + (xy 65.672086 36.825156) + (xy 65.675268 36.836073) + (xy 65.719311 36.930524) + (xy 65.726749 36.941146) + (xy 65.799856 37.014253) + (xy 65.811049 37.022091) + (xy 65.839298 37.060037) + (xy 65.839298 37.107343) + (xy 65.81105 37.145289) + (xy 65.810181 37.145897) + (xy 65.804218 37.148678) + (xy 65.799566 37.153329) + (xy 65.799563 37.153332) + (xy 65.726333 37.226562) + (xy 65.72633 37.226565) + (xy 65.721678 37.231218) + (xy 65.718898 37.237179) + (xy 65.718895 37.237184) + (xy 65.674779 37.331793) + (xy 65.672347 37.337009) + (xy 65.671596 37.342711) + (xy 65.671596 37.342712) + (xy 65.666321 37.382781) + (xy 65.666 37.385217) + (xy 65.666 37.387673) + (xy 65.666 37.387674) + (xy 65.666 37.740323) + (xy 65.666 37.740338) + (xy 64.89 37.740338) + (xy 64.889999 37.385218) + (xy 64.883653 37.337009) + (xy 64.834322 37.231218) + (xy 64.751782 37.148678) + (xy 64.745817 37.145896) + (xy 64.744951 37.14529) + (xy 64.716701 37.107343) + (xy 64.716701 37.060036) + (xy 64.744951 37.02209) + (xy 64.756145 37.014251) + (xy 64.82925 36.941146) + (xy 64.836688 36.930524) + (xy 64.880731 36.836073) + (xy 64.883913 36.825156) + (xy 64.889179 36.785159) + (xy 64.8895 36.780266) + (xy 64.8895 36.740902) + (xy 64.887407 36.733092) + (xy 64.879598 36.731) + (xy 63.898402 36.731) + (xy 63.890592 36.733092) + (xy 63.8885 36.740902) + (xy 63.8885 36.780266) + (xy 63.88882 36.785159) + (xy 63.894086 36.825156) + (xy 63.897268 36.836073) + (xy 63.941311 36.930524) + (xy 63.948749 36.941146) + (xy 64.021856 37.014253) + (xy 64.033049 37.022091) + (xy 64.061298 37.060037) + (xy 64.061298 37.107343) + (xy 64.03305 37.145289) + (xy 64.032181 37.145897) + (xy 64.026218 37.148678) + (xy 64.021566 37.153329) + (xy 64.021563 37.153332) + (xy 63.948333 37.226562) + (xy 63.94833 37.226565) + (xy 63.943678 37.231218) + (xy 63.940898 37.237179) + (xy 63.940895 37.237184) + (xy 63.896779 37.331793) + (xy 63.894347 37.337009) + (xy 63.893596 37.342711) + (xy 63.893596 37.342712) + (xy 63.888321 37.382781) + (xy 63.888 37.385217) + (xy 63.888 37.387673) + (xy 63.888 37.387674) + (xy 63.888 37.740323) + (xy 63.888 37.740338) + (xy 63.888001 37.742782) + (xy 63.88832 37.745207) + (xy 63.888321 37.745218) + (xy 63.893595 37.785283) + (xy 63.893596 37.785286) + (xy 63.894347 37.790991) + (xy 63.896779 37.796206) + (xy 63.89678 37.796209) + (xy 63.940895 37.890815) + (xy 63.940896 37.890817) + (xy 63.943678 37.896782) + (xy 64.026218 37.979322) + (xy 64.055584 37.993015) + (xy 64.087223 38.020763) + (xy 64.099 38.061168) + (xy 64.099 39.845732) + (xy 64.086327 39.887511) + (xy 64.052578 39.915208) + (xy 64.009129 39.919487) + (xy 63.970626 39.898906) + (xy 63.343004 39.271284) + (xy 63.338572 39.266448) + (xy 63.329064 39.255117) + (xy 63.31356 39.23664) + (xy 63.307867 39.233353) + (xy 63.307861 39.233348) + (xy 63.279866 39.217185) + (xy 63.274335 39.213662) + (xy 63.262856 39.205625) + (xy 63.242466 39.191348) + (xy 63.236111 39.189644) + (xy 63.23015 39.186865) + (xy 63.230153 39.186857) + (xy 63.228321 39.186098) + (xy 63.228319 39.186107) + (xy 63.222136 39.183856) + (xy 63.21644 39.180568) + (xy 63.209963 39.179426) + (xy 63.209961 39.179425) + (xy 63.178133 39.173813) + (xy 63.171731 39.172394) + (xy 63.140498 39.164025) + (xy 63.140493 39.164024) + (xy 63.134143 39.162323) + (xy 63.127591 39.162896) + (xy 63.127589 39.162896) + (xy 63.095384 39.165714) + (xy 63.08883 39.166) + (xy 58.627584 39.166) + (xy 58.588292 39.154919) + (xy 58.56058 39.12494) + (xy 58.559883 39.123573) + (xy 58.502746 39.011434) + (xy 58.409566 38.918254) + (xy 58.404291 38.915566) + (xy 58.404288 38.915564) + (xy 58.398058 38.91239) + (xy 58.368081 38.884678) + (xy 58.357 38.845387) + (xy 58.357 38.507294) + (xy 58.368081 38.468003) + (xy 58.398059 38.440291) + (xy 58.411823 38.433277) + (xy 58.419689 38.429269) + (xy 58.507269 38.341689) + (xy 58.563499 38.231332) + (xy 58.578 38.139774) + (xy 58.578 37.678226) + (xy 58.565199 37.597401) + (xy 58.564425 37.592514) + (xy 58.564424 37.592513) + (xy 58.563499 37.586668) + (xy 58.557023 37.573959) + (xy 58.532587 37.526) + (xy 58.507269 37.476311) + (xy 58.419689 37.388731) + (xy 58.414412 37.386042) + (xy 58.314605 37.335187) + (xy 58.3146 37.335185) + (xy 58.309332 37.332501) + (xy 58.30349 37.331575) + (xy 58.303485 37.331574) + (xy 58.220692 37.318462) + (xy 58.22069 37.318461) + (xy 58.217774 37.318) + (xy 57.606226 37.318) + (xy 57.60331 37.318461) + (xy 57.603307 37.318462) + (xy 57.520514 37.331574) + (xy 57.520507 37.331576) + (xy 57.514668 37.332501) + (xy 57.5094 37.335184) + (xy 57.509394 37.335187) + (xy 57.409587 37.386042) + (xy 57.409583 37.386044) + (xy 57.404311 37.388731) + (xy 57.400124 37.392917) + (xy 57.400121 37.39292) + (xy 57.32092 37.472121) + (xy 57.320917 37.472124) + (xy 57.316731 37.476311) + (xy 57.314044 37.481583) + (xy 57.314042 37.481587) + (xy 57.263187 37.581394) + (xy 57.263184 37.5814) + (xy 57.260501 37.586668) + (xy 57.259576 37.592507) + (xy 57.259574 37.592514) + (xy 57.246764 37.6734) + (xy 57.246 37.678226) + (xy 57.246 38.139774) + (xy 57.246461 38.14269) + (xy 57.246462 38.142692) + (xy 57.259574 38.225485) + (xy 57.259575 38.22549) + (xy 57.260501 38.231332) + (xy 57.263185 38.2366) + (xy 57.263187 38.236605) + (xy 57.313059 38.334482) + (xy 57.316731 38.341689) + (xy 57.404311 38.429269) + (xy 57.409589 38.431958) + (xy 57.40959 38.431959) + (xy 57.425941 38.440291) + (xy 57.455919 38.468003) + (xy 57.467 38.507294) + (xy 57.467 38.845387) + (xy 57.455919 38.884678) + (xy 57.425942 38.91239) + (xy 57.419711 38.915564) + (xy 57.419705 38.915568) + (xy 57.414434 38.918254) + (xy 57.410247 38.92244) + (xy 57.410244 38.922443) + (xy 57.325443 39.007244) + (xy 57.32544 39.007247) + (xy 57.321254 39.011434) + (xy 57.318567 39.016706) + (xy 57.318565 39.01671) + (xy 57.264115 39.123573) + (xy 57.264112 39.123579) + (xy 57.261429 39.128847) + (xy 57.260504 39.134686) + (xy 57.260502 39.134693) + (xy 57.246462 39.223344) + (xy 57.246 39.226263) + (xy 57.246 39.229215) + (xy 57.246 39.229216) + (xy 57.246 39.738781) + (xy 57.246 39.738793) + (xy 57.246001 39.741736) + (xy 57.246462 39.74465) + (xy 57.246463 39.744656) + (xy 57.2573 39.813081) + (xy 57.261429 39.839153) + (xy 57.264114 39.844423) + (xy 57.264115 39.844425) + (xy 57.316232 39.946711) + (xy 57.321254 39.956566) + (xy 57.414434 40.049746) + (xy 57.466908 40.076483) + (xy 57.521421 40.104259) + (xy 57.531847 40.109571) + (xy 57.537692 40.110496) + (xy 57.537693 40.110497) + (xy 57.548571 40.112219) + (xy 57.629263 40.125) + (xy 58.194736 40.124999) + (xy 58.292153 40.109571) + (xy 58.409566 40.049746) + (xy 58.502746 39.956566) + (xy 58.56058 39.843059) + (xy 58.588292 39.813081) + (xy 58.627584 39.802) + (xy 59.007731 39.802) + (xy 59.04951 39.814674) + (xy 59.077207 39.848422) + (xy 59.081486 39.891871) + (xy 59.060905 39.930375) + (xy 58.715282 40.275996) + (xy 58.710448 40.280426) + (xy 58.685678 40.301211) + (xy 58.685673 40.301215) + (xy 58.68064 40.30544) + (xy 58.677355 40.311129) + (xy 58.677352 40.311133) + (xy 58.661189 40.339128) + (xy 58.657667 40.344655) + (xy 58.639122 40.371142) + (xy 58.639119 40.371147) + (xy 58.635348 40.376534) + (xy 58.633644 40.382888) + (xy 58.630867 40.388846) + (xy 58.63086 40.388842) + (xy 58.630099 40.390678) + (xy 58.630106 40.390681) + (xy 58.627854 40.396866) + (xy 58.624568 40.40256) + (xy 58.623426 40.409032) + (xy 58.623425 40.409037) + (xy 58.617813 40.440865) + (xy 58.616394 40.447266) + (xy 58.608025 40.478499) + (xy 58.608024 40.478507) + (xy 58.606323 40.484857) + (xy 58.606896 40.491408) + (xy 58.606882 40.491571) + (xy 58.591628 40.530795) + (xy 58.557687 40.55568) + (xy 58.515691 40.558432) + (xy 58.478794 40.538189) + (xy 58.413456 40.472851) + (xy 58.403994 40.465976) + (xy 58.297271 40.411597) + (xy 58.286151 40.407984) + (xy 58.197618 40.393962) + (xy 58.191746 40.3935) + (xy 58.048902 40.3935) + (xy 58.041092 40.395592) + (xy 58.039 40.403402) + (xy 58.039 41.664598) + (xy 58.041092 41.672407) + (xy 58.048902 41.6745) + (xy 58.191746 41.6745) + (xy 58.197618 41.674037) + (xy 58.286151 41.660015) + (xy 58.297271 41.656402) + (xy 58.403994 41.602023) + (xy 58.413456 41.595148) + (xy 58.481626 41.526979) + (xy 58.520129 41.506398) + (xy 58.563578 41.510677) + (xy 58.597327 41.538374) + (xy 58.61 41.580153) + (xy 58.61 45.033847) + (xy 58.597327 45.075626) + (xy 58.563578 45.103323) + (xy 58.520129 45.107602) + (xy 58.481626 45.087021) + (xy 58.413456 45.018851) + (xy 58.403994 45.011976) + (xy 58.297271 44.957597) + (xy 58.286151 44.953984) + (xy 58.197618 44.939962) + (xy 58.191746 44.9395) + (xy 58.048902 44.9395) + (xy 58.041092 44.941592) + (xy 58.039 44.949402) + (xy 58.039 46.210598) + (xy 58.041092 46.218407) + (xy 58.048902 46.2205) + (xy 58.191746 46.2205) + (xy 58.197618 46.220037) + (xy 58.286151 46.206015) + (xy 58.297271 46.202402) + (xy 58.403994 46.148023) + (xy 58.413456 46.141148) + (xy 58.481626 46.072979) + (xy 58.520129 46.052398) + (xy 58.563578 46.056677) + (xy 58.597327 46.084374) + (xy 58.61 46.126153) + (xy 58.61 46.58314) + (xy 58.597327 46.624919) + (xy 58.563578 46.652616) + (xy 58.520129 46.656895) + (xy 58.481626 46.636314) + (xy 58.413755 46.568443) + (xy 58.409566 46.564254) + (xy 58.404289 46.561565) + (xy 58.297426 46.507115) + (xy 58.297422 46.507113) + (xy 58.292153 46.504429) + (xy 58.286311 46.503503) + (xy 58.286306 46.503502) + (xy 58.197655 46.489462) + (xy 58.197652 46.489461) + (xy 58.194737 46.489) + (xy 58.191783 46.489) + (xy 57.632218 46.489) + (xy 57.632205 46.489) + (xy 57.629264 46.489001) + (xy 57.62635 46.489462) + (xy 57.626343 46.489463) + (xy 57.537692 46.503503) + (xy 57.53769 46.503503) + (xy 57.531847 46.504429) + (xy 57.526577 46.507113) + (xy 57.526574 46.507115) + (xy 57.41971 46.561565) + (xy 57.419706 46.561567) + (xy 57.414434 46.564254) + (xy 57.410247 46.56844) + (xy 57.410244 46.568443) + (xy 57.325443 46.653244) + (xy 57.32544 46.653247) + (xy 57.321254 46.657434) + (xy 57.318567 46.662706) + (xy 57.318565 46.66271) + (xy 57.264115 46.769573) + (xy 57.264112 46.769579) + (xy 57.261429 46.774847) + (xy 57.260504 46.780686) + (xy 57.260502 46.780693) + (xy 57.24678 46.867336) + (xy 57.246 46.872263) + (xy 57.246 46.875215) + (xy 57.246 46.875216) + (xy 57.246 47.384781) + (xy 57.246 47.384793) + (xy 57.246001 47.387736) + (xy 57.246462 47.39065) + (xy 57.246463 47.390656) + (xy 57.253238 47.433432) + (xy 57.261429 47.485153) + (xy 57.264114 47.490423) + (xy 57.264115 47.490425) + (xy 57.317379 47.594962) + (xy 57.321254 47.602566) + (xy 57.414434 47.695746) + (xy 57.41971 47.698434) + (xy 57.419711 47.698435) + (xy 57.425942 47.70161) + (xy 57.455919 47.729322) + (xy 57.467 47.768613) + (xy 57.467 48.106706) + (xy 57.455919 48.145997) + (xy 57.425941 48.173709) + (xy 57.40959 48.18204) + (xy 57.409584 48.182043) + (xy 57.404311 48.184731) + (xy 57.400124 48.188917) + (xy 57.400121 48.18892) + (xy 57.32092 48.268121) + (xy 57.320917 48.268124) + (xy 57.316731 48.272311) + (xy 57.314044 48.277583) + (xy 57.314042 48.277587) + (xy 57.263187 48.377394) + (xy 57.263184 48.3774) + (xy 57.260501 48.382668) + (xy 57.259576 48.388507) + (xy 57.259574 48.388514) + (xy 57.246462 48.471307) + (xy 57.246 48.474226) + (xy 57.246 48.935774) + (xy 57.246461 48.93869) + (xy 57.246462 48.938692) + (xy 57.259574 49.021485) + (xy 57.259575 49.02149) + (xy 57.260501 49.027332) + (xy 57.263185 49.0326) + (xy 57.263187 49.032605) + (xy 57.312188 49.128773) + (xy 57.316731 49.137689) + (xy 57.404311 49.225269) + (xy 57.449645 49.248368) + (xy 57.492908 49.270412) + (xy 57.514668 49.281499) + (xy 57.520513 49.282424) + (xy 57.520514 49.282425) + (xy 57.524713 49.28309) + (xy 57.606226 49.296) + (xy 58.21482 49.296) + (xy 58.217774 49.296) + (xy 58.309332 49.281499) + (xy 58.419689 49.225269) + (xy 58.481626 49.163332) + (xy 58.520129 49.142751) + (xy 58.563578 49.14703) + (xy 58.597327 49.174727) + (xy 58.61 49.216506) + (xy 58.61 49.843494) + (xy 58.597327 49.885273) + (xy 58.563578 49.91297) + (xy 58.520129 49.917249) + (xy 58.481626 49.896668) + (xy 58.423878 49.83892) + (xy 58.419689 49.834731) + (xy 58.414412 49.832042) + (xy 58.314605 49.781187) + (xy 58.3146 49.781185) + (xy 58.309332 49.778501) + (xy 58.30349 49.777575) + (xy 58.303485 49.777574) + (xy 58.220692 49.764462) + (xy 58.22069 49.764461) + (xy 58.217774 49.764) + (xy 58.21482 49.764) + (xy 57.663473 49.764) + (xy 57.634695 49.758276) + (xy 57.610299 49.741974) + (xy 56.299764 48.431439) + (xy 56.280689 48.393999) + (xy 56.280253 48.394141) + (xy 56.279357 48.391385) + (xy 56.278664 48.390024) + (xy 56.277499 48.382668) + (xy 56.274363 48.376514) + (xy 56.241679 48.312367) + (xy 56.221269 48.272311) + (xy 56.217082 48.268124) + (xy 56.214066 48.263973) + (xy 56.200628 48.231535) + (xy 56.203382 48.196532) + (xy 56.221726 48.166597) + (xy 56.535014 47.853309) + (xy 56.541283 47.847706) + (xy 56.570892 47.824095) + (xy 56.603182 47.776731) + (xy 56.604811 47.774437) + (xy 56.635525 47.732823) + (xy 56.635525 47.732822) + (xy 56.638875 47.728284) + (xy 56.640737 47.722959) + (xy 56.641843 47.720868) + (xy 56.64208 47.720474) + (xy 56.642264 47.720031) + (xy 56.64328 47.71792) + (xy 56.646459 47.713259) + (xy 56.663383 47.658389) + (xy 56.664227 47.655825) + (xy 56.679436 47.612365) + (xy 56.682237 47.604361) + (xy 56.709701 47.567869) + (xy 56.753216 47.554) + (xy 56.756116 47.554) + (xy 56.759812 47.554) + (xy 56.815525 47.542918) + (xy 56.878703 47.500703) + (xy 56.920918 47.437525) + (xy 56.932 47.381812) + (xy 56.932 46.344188) + (xy 56.920918 46.288475) + (xy 56.916606 46.282022) + (xy 56.882817 46.231454) + (xy 56.878703 46.225297) + (xy 56.871524 46.2205) + (xy 56.821683 46.187196) + (xy 56.82168 46.187194) + (xy 56.815525 46.183082) + (xy 56.808261 46.181637) + (xy 56.763437 46.172721) + (xy 56.763436 46.17272) + (xy 56.759812 46.172) + (xy 56.756117 46.172) + (xy 56.755305 46.17192) + (xy 56.718589 46.158001) + (xy 56.693893 46.127474) + (xy 56.687951 46.088664) + (xy 56.690711 46.064173) + (xy 56.68005 46.00783) + (xy 56.679579 46.005056) + (xy 56.674968 45.97446) + (xy 56.671033 45.948353) + (xy 56.668585 45.943271) + (xy 56.66789 45.941017) + (xy 56.667778 45.940566) + (xy 56.667777 45.940562) + (xy 56.667599 45.940132) + (xy 56.666819 45.937903) + (xy 56.665772 45.932366) + (xy 56.663139 45.927384) + (xy 56.663138 45.927381) + (xy 56.648827 45.900304) + (xy 56.638966 45.881646) + (xy 56.637707 45.879151) + (xy 56.63471 45.872928) + (xy 56.616323 45.834746) + (xy 57.2465 45.834746) + (xy 57.246962 45.840618) + (xy 57.260984 45.929151) + (xy 57.264597 45.940271) + (xy 57.318976 46.046994) + (xy 57.325851 46.056456) + (xy 57.410543 46.141148) + (xy 57.420005 46.148023) + (xy 57.526728 46.202402) + (xy 57.537848 46.206015) + (xy 57.626381 46.220037) + (xy 57.632254 46.2205) + (xy 57.775098 46.2205) + (xy 57.782907 46.218407) + (xy 57.785 46.210598) + (xy 57.785 45.716902) + (xy 57.782907 45.709092) + (xy 57.775098 45.707) + (xy 57.256402 45.707) + (xy 57.248592 45.709092) + (xy 57.2465 45.716902) + (xy 57.2465 45.834746) + (xy 56.616323 45.834746) + (xy 56.612829 45.827491) + (xy 56.608995 45.823359) + (xy 56.607659 45.821399) + (xy 56.607423 45.821007) + (xy 56.607129 45.820652) + (xy 56.605724 45.818749) + (xy 56.603091 45.813766) + (xy 56.56254 45.773215) + (xy 56.560589 45.77119) + (xy 56.52542 45.733287) + (xy 56.521587 45.729156) + (xy 56.516707 45.726338) + (xy 56.514852 45.724859) + (xy 56.508565 45.71924) + (xy 56.412315 45.62299) + (xy 56.392851 45.589279) + (xy 56.392852 45.550352) + (xy 56.412312 45.516645) + (xy 56.463269 45.465689) + (xy 56.47478 45.443098) + (xy 57.2465 45.443098) + (xy 57.248592 45.450907) + (xy 57.256402 45.453) + (xy 57.775098 45.453) + (xy 57.782907 45.450907) + (xy 57.785 45.443098) + (xy 57.785 44.949402) + (xy 57.782907 44.941592) + (xy 57.775098 44.9395) + (xy 57.632254 44.9395) + (xy 57.626381 44.939962) + (xy 57.537848 44.953984) + (xy 57.526728 44.957597) + (xy 57.420005 45.011976) + (xy 57.410543 45.018851) + (xy 57.325851 45.103543) + (xy 57.318976 45.113005) + (xy 57.264597 45.219728) + (xy 57.260984 45.230848) + (xy 57.246962 45.319381) + (xy 57.2465 45.325254) + (xy 57.2465 45.443098) + (xy 56.47478 45.443098) + (xy 56.519499 45.355332) + (xy 56.534 45.263774) + (xy 56.534 44.652226) + (xy 56.521026 44.570307) + (xy 56.520425 44.566514) + (xy 56.520424 44.566513) + (xy 56.519499 44.560668) + (xy 56.516797 44.555366) + (xy 56.473582 44.470551) + (xy 56.463269 44.450311) + (xy 56.375689 44.362731) + (xy 56.370412 44.360042) + (xy 56.270605 44.309187) + (xy 56.2706 44.309185) + (xy 56.265332 44.306501) + (xy 56.25949 44.305575) + (xy 56.259485 44.305574) + (xy 56.176692 44.292462) + (xy 56.17669 44.292461) + (xy 56.173774 44.292) + (xy 55.712226 44.292) + (xy 55.70931 44.292461) + (xy 55.709307 44.292462) + (xy 55.626514 44.305574) + (xy 55.626507 44.305576) + (xy 55.620668 44.306501) + (xy 55.6154 44.309184) + (xy 55.615394 44.309187) + (xy 55.515587 44.360042) + (xy 55.515583 44.360044) + (xy 55.510311 44.362731) + (xy 55.506124 44.366917) + (xy 55.506121 44.36692) + (xy 55.42692 44.446121) + (xy 55.426917 44.446124) + (xy 55.422731 44.450311) + (xy 55.420044 44.455583) + (xy 55.420042 44.455587) + (xy 55.369187 44.555394) + (xy 55.369184 44.5554) + (xy 55.366501 44.560668) + (xy 55.365576 44.566507) + (xy 55.365574 44.566514) + (xy 55.352462 44.649307) + (xy 55.352 44.652226) + (xy 55.352 45.263774) + (xy 55.352461 45.26669) + (xy 55.352462 45.266692) + (xy 55.365574 45.349485) + (xy 55.365575 45.34949) + (xy 55.366501 45.355332) + (xy 55.369185 45.3606) + (xy 55.369187 45.360605) + (xy 55.420042 45.460412) + (xy 55.422731 45.465689) + (xy 55.42692 45.469878) + (xy 55.475974 45.518932) + (xy 55.492276 45.543328) + (xy 55.498 45.572106) + (xy 55.498 45.753793) + (xy 55.497527 45.762212) + (xy 55.493919 45.794229) + (xy 55.493919 45.794233) + (xy 55.493289 45.799827) + (xy 55.494335 45.80536) + (xy 55.494336 45.805362) + (xy 55.503947 45.85616) + (xy 55.504418 45.858931) + (xy 55.507844 45.881663) + (xy 55.512967 45.915647) + (xy 55.515411 45.920722) + (xy 55.51611 45.922988) + (xy 55.516221 45.923435) + (xy 55.516394 45.923853) + (xy 55.517181 45.926102) + (xy 55.518228 45.931634) + (xy 55.53001 45.953928) + (xy 55.545022 45.982332) + (xy 55.546281 45.984825) + (xy 55.571171 46.036509) + (xy 55.575 46.040636) + (xy 55.57634 46.042601) + (xy 55.576575 46.042992) + (xy 55.576863 46.043339) + (xy 55.578278 46.045256) + (xy 55.58091 46.050235) + (xy 55.584894 46.054219) + (xy 55.621458 46.090783) + (xy 55.623408 46.092807) + (xy 55.631594 46.101629) + (xy 55.650567 46.139949) + (xy 55.645583 46.182417) + (xy 55.618253 46.215303) + (xy 55.609453 46.221183) + (xy 55.609451 46.221184) + (xy 55.603297 46.225297) + (xy 55.599184 46.231451) + (xy 55.599182 46.231454) + (xy 55.565196 46.282316) + (xy 55.565193 46.282321) + (xy 55.561082 46.288475) + (xy 55.559637 46.295736) + (xy 55.559637 46.295738) + (xy 55.550721 46.340563) + (xy 55.55 46.344188) + (xy 55.55 47.381812) + (xy 55.550721 47.385436) + (xy 55.556601 47.415) + (xy 55.561082 47.437525) + (xy 55.579293 47.464779) + (xy 55.591605 47.513928) + (xy 55.569941 47.559732) + (xy 55.331995 47.797678) + (xy 55.32571 47.803296) + (xy 55.300515 47.823389) + (xy 55.30051 47.823394) + (xy 55.296108 47.826905) + (xy 55.292935 47.831558) + (xy 55.292931 47.831563) + (xy 55.26381 47.874275) + (xy 55.262206 47.876536) + (xy 55.228125 47.922716) + (xy 55.226264 47.92803) + (xy 55.225144 47.930151) + (xy 55.224919 47.930524) + (xy 55.224745 47.930945) + (xy 55.223714 47.933085) + (xy 55.220541 47.937741) + (xy 55.21888 47.943123) + (xy 55.21888 47.943125) + (xy 55.203638 47.992535) + (xy 55.202759 47.995204) + (xy 55.185679 48.044015) + (xy 55.185677 48.044024) + (xy 55.183819 48.049335) + (xy 55.183608 48.05496) + (xy 55.183164 48.057308) + (xy 55.183057 48.057739) + (xy 55.183015 48.058187) + (xy 55.182659 48.060543) + (xy 55.181 48.065927) + (xy 55.181 48.071561) + (xy 55.181 48.106707) + (xy 55.169919 48.145999) + (xy 55.139941 48.173709) + (xy 55.118311 48.184731) + (xy 55.114126 48.188915) + (xy 55.114123 48.188918) + (xy 55.03492 48.268121) + (xy 55.034917 48.268124) + (xy 55.030731 48.272311) + (xy 55.028044 48.277583) + (xy 55.028042 48.277587) + (xy 54.977187 48.377394) + (xy 54.977184 48.3774) + (xy 54.974501 48.382668) + (xy 54.973576 48.388507) + (xy 54.973574 48.388514) + (xy 54.960462 48.471307) + (xy 54.96 48.474226) + (xy 54.96 48.935774) + (xy 54.960461 48.93869) + (xy 54.960462 48.938692) + (xy 54.973574 49.021485) + (xy 54.973575 49.02149) + (xy 54.974501 49.027332) + (xy 54.977185 49.0326) + (xy 54.977187 49.032605) + (xy 55.026188 49.128773) + (xy 55.030731 49.137689) + (xy 55.118311 49.225269) + (xy 55.163645 49.248368) + (xy 55.206908 49.270412) + (xy 55.228668 49.281499) + (xy 55.234513 49.282424) + (xy 55.234514 49.282425) + (xy 55.238713 49.28309) + (xy 55.320226 49.296) + (xy 55.874527 49.296) + (xy 55.903305 49.301724) + (xy 55.927701 49.318026) + (xy 57.238234 50.628559) + (xy 57.257313 50.665999) + (xy 57.257747 50.665859) + (xy 57.258636 50.668595) + (xy 57.259333 50.669963) + (xy 57.259573 50.67148) + (xy 57.259575 50.671485) + (xy 57.260501 50.677332) + (xy 57.263187 50.682604) + (xy 57.263188 50.682606) + (xy 57.283169 50.72182) + (xy 57.316731 50.787689) + (xy 57.404311 50.875269) + (xy 57.428718 50.887705) + (xy 57.508448 50.92833) + (xy 57.514668 50.931499) + (xy 57.520513 50.932424) + (xy 57.520514 50.932425) + (xy 57.53173 50.934201) + (xy 57.606226 50.946) + (xy 58.21482 50.946) + (xy 58.217774 50.946) + (xy 58.309332 50.931499) + (xy 58.419689 50.875269) + (xy 58.481626 50.813331) + (xy 58.520129 50.792751) + (xy 58.563578 50.79703) + (xy 58.597327 50.824727) + (xy 58.61 50.866506) + (xy 58.61 53.527494) + (xy 58.597327 53.569273) + (xy 58.563578 53.59697) + (xy 58.520129 53.601249) + (xy 58.481626 53.580668) + (xy 58.423878 53.52292) + (xy 58.423877 53.522919) + (xy 58.419689 53.518731) + (xy 58.414412 53.516042) + (xy 58.314605 53.465187) + (xy 58.3146 53.465185) + (xy 58.309332 53.462501) + (xy 58.30349 53.461575) + (xy 58.303485 53.461574) + (xy 58.220692 53.448462) + (xy 58.22069 53.448461) + (xy 58.217774 53.448) + (xy 57.606226 53.448) + (xy 57.60331 53.448461) + (xy 57.603307 53.448462) + (xy 57.520514 53.461574) + (xy 57.520507 53.461576) + (xy 57.514668 53.462501) + (xy 57.5094 53.465184) + (xy 57.509394 53.465187) + (xy 57.409587 53.516042) + (xy 57.409583 53.516044) + (xy 57.404311 53.518731) + (xy 57.400124 53.522917) + (xy 57.400121 53.52292) + (xy 57.320917 53.602124) + (xy 57.320914 53.602127) + (xy 57.316731 53.606311) + (xy 57.316112 53.607525) + (xy 57.292796 53.627741) + (xy 57.267655 53.641028) + (xy 57.265146 53.642294) + (xy 57.218567 53.664726) + (xy 57.218564 53.664727) + (xy 57.213491 53.667171) + (xy 57.209363 53.671) + (xy 57.207392 53.672344) + (xy 57.207007 53.672575) + (xy 57.20667 53.672855) + (xy 57.204738 53.67428) + (xy 57.199765 53.67691) + (xy 57.195785 53.680889) + (xy 57.195782 53.680892) + (xy 57.159213 53.71746) + (xy 57.157191 53.719408) + (xy 57.119281 53.754584) + (xy 57.119276 53.754589) + (xy 57.115156 53.758413) + (xy 57.112343 53.763283) + (xy 57.110856 53.765149) + (xy 57.105239 53.771434) + (xy 56.365 54.511674) + (xy 56.32823 54.531889) + (xy 56.286353 54.529254) + (xy 56.252406 54.50459) + (xy 56.23696 54.465576) + (xy 56.244823 54.424359) + (xy 56.274329 54.36645) + (xy 56.277943 54.355328) + (xy 56.291037 54.272653) + (xy 56.2915 54.266781) + (xy 56.2915 54.175902) + (xy 56.289407 54.168092) + (xy 56.281598 54.166) + (xy 55.762902 54.166) + (xy 55.755092 54.168092) + (xy 55.753 54.175902) + (xy 55.753 54.619597) + (xy 55.755092 54.627406) + (xy 55.762902 54.629499) + (xy 55.928779 54.629499) + (xy 55.934654 54.629036) + (xy 56.017328 54.615942) + (xy 56.028449 54.612329) + (xy 56.086359 54.582823) + (xy 56.127576 54.57496) + (xy 56.16659 54.590406) + (xy 56.191254 54.624353) + (xy 56.193889 54.66623) + (xy 56.173675 54.702999) + (xy 55.800698 55.075976) + (xy 55.776305 55.092276) + (xy 55.747527 55.098) + (xy 55.320226 55.098) + (xy 55.31731 55.098461) + (xy 55.317307 55.098462) + (xy 55.234514 55.111574) + (xy 55.234507 55.111576) + (xy 55.228668 55.112501) + (xy 55.2234 55.115184) + (xy 55.223394 55.115187) + (xy 55.123587 55.166042) + (xy 55.123583 55.166044) + (xy 55.118311 55.168731) + (xy 55.114124 55.172917) + (xy 55.114121 55.17292) + (xy 55.03492 55.252121) + (xy 55.034917 55.252124) + (xy 55.030731 55.256311) + (xy 55.028044 55.261583) + (xy 55.028042 55.261587) + (xy 54.977187 55.361394) + (xy 54.977184 55.3614) + (xy 54.974501 55.366668) + (xy 54.973576 55.372507) + (xy 54.973574 55.372514) + (xy 54.960462 55.455307) + (xy 54.96 55.458226) + (xy 54.96 55.919774) + (xy 54.960461 55.92269) + (xy 54.960462 55.922692) + (xy 54.973574 56.005485) + (xy 54.973575 56.00549) + (xy 54.974501 56.011332) + (xy 54.977185 56.0166) + (xy 54.977187 56.016605) + (xy 55.019155 56.09897) + (xy 55.030731 56.121689) + (xy 55.118311 56.209269) + (xy 55.123585 56.211956) + (xy 55.123589 56.211959) + (xy 55.1363 56.218435) + (xy 55.165531 56.244951) + (xy 55.175836 56.277912) + (xy 55.176289 56.277827) + (xy 55.176612 56.279537) + (xy 55.177334 56.283354) + (xy 55.177335 56.283359) + (xy 55.186947 56.33416) + (xy 55.187418 56.336931) + (xy 55.192713 56.372063) + (xy 55.195967 56.393647) + (xy 55.198411 56.398722) + (xy 55.19911 56.400988) + (xy 55.199221 56.401435) + (xy 55.199394 56.401853) + (xy 55.200181 56.404102) + (xy 55.201228 56.409634) + (xy 55.203859 56.414612) + (xy 55.228022 56.460332) + (xy 55.229281 56.462825) + (xy 55.254171 56.514509) + (xy 55.258 56.518636) + (xy 55.25934 56.520601) + (xy 55.259575 56.520992) + (xy 55.259863 56.521339) + (xy 55.261278 56.523256) + (xy 55.26391 56.528235) + (xy 55.267893 56.532218) + (xy 55.267894 56.532219) + (xy 55.304458 56.568783) + (xy 55.306409 56.570808) + (xy 55.345413 56.612844) + (xy 55.350291 56.61566) + (xy 55.352148 56.617141) + (xy 55.358435 56.62276) + (xy 55.569941 56.834266) + (xy 55.591605 56.880068) + (xy 55.579294 56.929217) + (xy 55.565197 56.950314) + (xy 55.565194 56.95032) + (xy 55.561082 56.956475) + (xy 55.559637 56.963736) + (xy 55.559637 56.963738) + (xy 55.550721 57.008563) + (xy 55.55 57.012188) + (xy 55.55 58.049812) + (xy 55.561082 58.105525) + (xy 55.565194 58.11168) + (xy 55.565196 58.111683) + (xy 55.599055 58.162355) + (xy 55.603297 58.168703) + (xy 55.613607 58.175592) + (xy 55.616009 58.177197) + (xy 55.644732 58.213561) + (xy 55.646684 58.25986) + (xy 55.621122 58.298512) + (xy 55.617518 58.301385) + (xy 55.617507 58.301396) + (xy 55.613108 58.304905) + (xy 55.609935 58.309558) + (xy 55.609931 58.309563) + (xy 55.58081 58.352275) + (xy 55.579206 58.354536) + (xy 55.545125 58.400716) + (xy 55.543264 58.40603) + (xy 55.542144 58.408151) + (xy 55.541919 58.408524) + (xy 55.541745 58.408945) + (xy 55.540714 58.411085) + (xy 55.537541 58.415741) + (xy 55.53588 58.421123) + (xy 55.53588 58.421125) + (xy 55.520638 58.470535) + (xy 55.519759 58.473204) + (xy 55.502679 58.522015) + (xy 55.502677 58.522024) + (xy 55.500819 58.527335) + (xy 55.500608 58.53296) + (xy 55.500164 58.535308) + (xy 55.500057 58.535739) + (xy 55.500015 58.536187) + (xy 55.499659 58.538543) + (xy 55.498 58.543927) + (xy 55.498 58.549561) + (xy 55.498 58.601293) + (xy 55.497947 58.604104) + (xy 55.496014 58.655755) + (xy 55.496014 58.655759) + (xy 55.495804 58.661386) + (xy 55.497261 58.666826) + (xy 55.497527 58.669181) + (xy 55.498 58.677599) + (xy 55.498 58.821894) + (xy 55.492276 58.850672) + (xy 55.475974 58.875068) + (xy 55.42692 58.924121) + (xy 55.426917 58.924124) + (xy 55.422731 58.928311) + (xy 55.420044 58.933583) + (xy 55.420042 58.933587) + (xy 55.369187 59.033394) + (xy 55.369184 59.0334) + (xy 55.366501 59.038668) + (xy 55.365576 59.044507) + (xy 55.365574 59.044514) + (xy 55.352879 59.124675) + (xy 55.352 59.130226) + (xy 55.352 59.741774) + (xy 55.352461 59.74469) + (xy 55.352462 59.744692) + (xy 55.365574 59.827485) + (xy 55.365575 59.82749) + (xy 55.366501 59.833332) + (xy 55.369185 59.8386) + (xy 55.369187 59.838605) + (xy 55.420042 59.938412) + (xy 55.422731 59.943689) + (xy 55.510311 60.031269) + (xy 55.548611 60.050784) + (xy 55.614177 60.084192) + (xy 55.620668 60.087499) + (xy 55.626513 60.088424) + (xy 55.626514 60.088425) + (xy 55.626767 60.088465) + (xy 55.712226 60.102) + (xy 56.17082 60.102) + (xy 56.173774 60.102) + (xy 56.265332 60.087499) + (xy 56.375689 60.031269) + (xy 56.463269 59.943689) + (xy 56.519499 59.833332) + (xy 56.534 59.741774) + (xy 56.534 59.130226) + (xy 56.524263 59.068746) + (xy 57.2465 59.068746) + (xy 57.246962 59.074618) + (xy 57.260984 59.163151) + (xy 57.264597 59.174271) + (xy 57.318976 59.280994) + (xy 57.325851 59.290456) + (xy 57.410543 59.375148) + (xy 57.420005 59.382023) + (xy 57.526728 59.436402) + (xy 57.537848 59.440015) + (xy 57.626381 59.454037) + (xy 57.632254 59.4545) + (xy 57.775098 59.4545) + (xy 57.782907 59.452407) + (xy 57.785 59.444598) + (xy 57.785 58.950902) + (xy 57.782907 58.943092) + (xy 57.775098 58.941) + (xy 57.256402 58.941) + (xy 57.248592 58.943092) + (xy 57.2465 58.950902) + (xy 57.2465 59.068746) + (xy 56.524263 59.068746) + (xy 56.519499 59.038668) + (xy 56.502945 59.00618) + (xy 56.484491 58.969961) + (xy 56.463269 58.928311) + (xy 56.412315 58.877357) + (xy 56.392851 58.843646) + (xy 56.392851 58.80472) + (xy 56.412313 58.77101) + (xy 56.506225 58.677098) + (xy 57.2465 58.677098) + (xy 57.248592 58.684907) + (xy 57.256402 58.687) + (xy 57.775098 58.687) + (xy 57.782907 58.684907) + (xy 57.785 58.677098) + (xy 57.785 58.183402) + (xy 57.782907 58.175592) + (xy 57.775098 58.1735) + (xy 57.632254 58.1735) + (xy 57.626381 58.173962) + (xy 57.537848 58.187984) + (xy 57.526728 58.191597) + (xy 57.420005 58.245976) + (xy 57.410543 58.252851) + (xy 57.325851 58.337543) + (xy 57.318976 58.347005) + (xy 57.264597 58.453728) + (xy 57.260984 58.464848) + (xy 57.246962 58.553381) + (xy 57.2465 58.559254) + (xy 57.2465 58.677098) + (xy 56.506225 58.677098) + (xy 56.535011 58.648312) + (xy 56.541296 58.642695) + (xy 56.570892 58.619095) + (xy 56.603214 58.571684) + (xy 56.604794 58.569458) + (xy 56.638875 58.523283) + (xy 56.640739 58.517953) + (xy 56.641834 58.515882) + (xy 56.642077 58.515478) + (xy 56.64208 58.515472) + (xy 56.64226 58.515039) + (xy 56.64328 58.512919) + (xy 56.646459 58.508259) + (xy 56.66338 58.453399) + (xy 56.664224 58.450835) + (xy 56.683181 58.396665) + (xy 56.683391 58.391027) + (xy 56.683831 58.388705) + (xy 56.683942 58.388257) + (xy 56.683987 58.387779) + (xy 56.684335 58.385466) + (xy 56.686 58.380073) + (xy 56.686 58.322724) + (xy 56.686053 58.319914) + (xy 56.686171 58.316745) + (xy 56.687016 58.294155) + (xy 56.696747 58.259877) + (xy 56.721168 58.233925) + (xy 56.754795 58.22213) + (xy 56.756115 58.222) + (xy 56.759812 58.222) + (xy 56.815525 58.210918) + (xy 56.878703 58.168703) + (xy 56.920918 58.105525) + (xy 56.932 58.049812) + (xy 56.932 57.012188) + (xy 56.920918 56.956475) + (xy 56.916801 56.950314) + (xy 56.882817 56.899454) + (xy 56.878703 56.893297) + (xy 56.863311 56.883012) + (xy 56.821683 56.855196) + (xy 56.82168 56.855194) + (xy 56.815525 56.851082) + (xy 56.808261 56.849637) + (xy 56.774763 56.842974) + (xy 56.759812 56.84) + (xy 56.756116 56.84) + (xy 56.750314 56.84) + (xy 56.716006 56.831718) + (xy 56.689256 56.808697) + (xy 56.675954 56.776006) + (xy 56.671873 56.748929) + (xy 56.671033 56.743353) + (xy 56.668585 56.73827) + (xy 56.66789 56.736017) + (xy 56.667778 56.735566) + (xy 56.667776 56.735561) + (xy 56.667598 56.73513) + (xy 56.666819 56.732905) + (xy 56.665772 56.727366) + (xy 56.663138 56.722382) + (xy 56.663137 56.722379) + (xy 56.638972 56.676656) + (xy 56.637704 56.674145) + (xy 56.629376 56.656852) + (xy 56.612829 56.622491) + (xy 56.608995 56.618359) + (xy 56.607661 56.616402) + (xy 56.607426 56.616012) + (xy 56.607132 56.615657) + (xy 56.605725 56.61375) + (xy 56.60309 56.608765) + (xy 56.56254 56.568215) + (xy 56.560589 56.56619) + (xy 56.52542 56.528287) + (xy 56.521587 56.524156) + (xy 56.516707 56.521338) + (xy 56.514852 56.519859) + (xy 56.508565 56.51424) + (xy 56.221729 56.227404) + (xy 56.203383 56.197467) + (xy 56.200629 56.162465) + (xy 56.214066 56.130027) + (xy 56.217082 56.125875) + (xy 56.221269 56.121689) + (xy 56.277499 56.011332) + (xy 56.292 55.919774) + (xy 56.292 55.874473) + (xy 56.297724 55.845695) + (xy 56.314026 55.821299) + (xy 56.582762 55.552563) + (xy 57.492028 54.643295) + (xy 57.521962 54.624951) + (xy 57.55696 54.622197) + (xy 57.606226 54.63) + (xy 58.21482 54.63) + (xy 58.217774 54.63) + (xy 58.309332 54.615499) + (xy 58.419689 54.559269) + (xy 58.481626 54.497332) + (xy 58.520129 54.476751) + (xy 58.563578 54.48103) + (xy 58.597327 54.508727) + (xy 58.61 54.550506) + (xy 58.61 55.177494) + (xy 58.597327 55.219273) + (xy 58.563578 55.24697) + (xy 58.520129 55.251249) + (xy 58.481626 55.230668) + (xy 58.423878 55.17292) + (xy 58.419689 55.168731) + (xy 58.406958 55.162244) + (xy 58.314605 55.115187) + (xy 58.3146 55.115185) + (xy 58.309332 55.112501) + (xy 58.30349 55.111575) + (xy 58.303485 55.111574) + (xy 58.220692 55.098462) + (xy 58.22069 55.098461) + (xy 58.217774 55.098) + (xy 57.606226 55.098) + (xy 57.60331 55.098461) + (xy 57.603307 55.098462) + (xy 57.520514 55.111574) + (xy 57.520507 55.111576) + (xy 57.514668 55.112501) + (xy 57.5094 55.115184) + (xy 57.509394 55.115187) + (xy 57.409587 55.166042) + (xy 57.409583 55.166044) + (xy 57.404311 55.168731) + (xy 57.400124 55.172917) + (xy 57.400121 55.17292) + (xy 57.32092 55.252121) + (xy 57.320917 55.252124) + (xy 57.316731 55.256311) + (xy 57.314044 55.261583) + (xy 57.314042 55.261587) + (xy 57.263187 55.361394) + (xy 57.263184 55.3614) + (xy 57.260501 55.366668) + (xy 57.259576 55.372507) + (xy 57.259574 55.372514) + (xy 57.246462 55.455307) + (xy 57.246 55.458226) + (xy 57.246 55.919774) + (xy 57.246461 55.92269) + (xy 57.246462 55.922692) + (xy 57.259574 56.005485) + (xy 57.259575 56.00549) + (xy 57.260501 56.011332) + (xy 57.263185 56.0166) + (xy 57.263187 56.016605) + (xy 57.305155 56.09897) + (xy 57.316731 56.121689) + (xy 57.404311 56.209269) + (xy 57.409589 56.211958) + (xy 57.40959 56.211959) + (xy 57.425941 56.220291) + (xy 57.455919 56.248003) + (xy 57.467 56.287294) + (xy 57.467 56.625387) + (xy 57.455919 56.664678) + (xy 57.425942 56.69239) + (xy 57.419711 56.695564) + (xy 57.419705 56.695568) + (xy 57.414434 56.698254) + (xy 57.410247 56.70244) + (xy 57.410244 56.702443) + (xy 57.325443 56.787244) + (xy 57.32544 56.787247) + (xy 57.321254 56.791434) + (xy 57.318567 56.796706) + (xy 57.318565 56.79671) + (xy 57.264115 56.903573) + (xy 57.264112 56.903579) + (xy 57.261429 56.908847) + (xy 57.260504 56.914686) + (xy 57.260502 56.914693) + (xy 57.247639 56.995912) + (xy 57.246 57.006263) + (xy 57.246 57.009215) + (xy 57.246 57.009216) + (xy 57.246 57.518781) + (xy 57.246 57.518793) + (xy 57.246001 57.521736) + (xy 57.246462 57.52465) + (xy 57.246463 57.524656) + (xy 57.259764 57.608638) + (xy 57.261429 57.619153) + (xy 57.264114 57.624423) + (xy 57.264115 57.624425) + (xy 57.316232 57.726711) + (xy 57.321254 57.736566) + (xy 57.414434 57.829746) + (xy 57.433954 57.839692) + (xy 57.521421 57.884259) + (xy 57.531847 57.889571) + (xy 57.537692 57.890496) + (xy 57.537693 57.890497) + (xy 57.548571 57.892219) + (xy 57.629263 57.905) + (xy 58.194736 57.904999) + (xy 58.292153 57.889571) + (xy 58.409566 57.829746) + (xy 58.481625 57.757686) + (xy 58.520129 57.737105) + (xy 58.563578 57.741384) + (xy 58.597327 57.769081) + (xy 58.61 57.81086) + (xy 58.61 58.267847) + (xy 58.597327 58.309626) + (xy 58.563578 58.337323) + (xy 58.520129 58.341602) + (xy 58.481626 58.321021) + (xy 58.413456 58.252851) + (xy 58.403994 58.245976) + (xy 58.297271 58.191597) + (xy 58.286151 58.187984) + (xy 58.197618 58.173962) + (xy 58.191746 58.1735) + (xy 58.048902 58.1735) + (xy 58.041092 58.175592) + (xy 58.039 58.183402) + (xy 58.039 59.444598) + (xy 58.041092 59.452407) + (xy 58.048902 59.4545) + (xy 58.191746 59.4545) + (xy 58.197618 59.454037) + (xy 58.286151 59.440015) + (xy 58.297271 59.436402) + (xy 58.403994 59.382023) + (xy 58.413456 59.375148) + (xy 58.481626 59.306979) + (xy 58.520129 59.286398) + (xy 58.563578 59.290677) + (xy 58.597327 59.318374) + (xy 58.61 59.360153) + (xy 58.61 62.813847) + (xy 58.597327 62.855626) + (xy 58.563578 62.883323) + (xy 58.520129 62.887602) + (xy 58.481626 62.867021) + (xy 58.413456 62.798851) + (xy 58.403994 62.791976) + (xy 58.297271 62.737597) + (xy 58.286151 62.733984) + (xy 58.197618 62.719962) + (xy 58.191746 62.7195) + (xy 58.048902 62.7195) + (xy 58.041092 62.721592) + (xy 58.039 62.729402) + (xy 58.039 63.990598) + (xy 58.041092 63.998407) + (xy 58.048902 64.0005) + (xy 58.191746 64.0005) + (xy 58.197618 64.000037) + (xy 58.286151 63.986015) + (xy 58.297271 63.982402) + (xy 58.403994 63.928023) + (xy 58.413456 63.921148) + (xy 58.481626 63.852979) + (xy 58.520129 63.832398) + (xy 58.563578 63.836677) + (xy 58.597327 63.864374) + (xy 58.61 63.906153) + (xy 58.61 64.353131) + (xy 58.604274 64.381912) + (xy 58.587969 64.406311) + (xy 58.582964 64.411315) + (xy 58.549253 64.430774) + (xy 58.510329 64.430772) + (xy 58.476621 64.411309) + (xy 58.413755 64.348443) + (xy 58.409566 64.344254) + (xy 58.404289 64.341565) + (xy 58.297426 64.287115) + (xy 58.297422 64.287113) + (xy 58.292153 64.284429) + (xy 58.286311 64.283503) + (xy 58.286306 64.283502) + (xy 58.197655 64.269462) + (xy 58.197652 64.269461) + (xy 58.194737 64.269) + (xy 58.191783 64.269) + (xy 57.632218 64.269) + (xy 57.632205 64.269) + (xy 57.629264 64.269001) + (xy 57.62635 64.269462) + (xy 57.626343 64.269463) + (xy 57.537692 64.283503) + (xy 57.53769 64.283503) + (xy 57.531847 64.284429) + (xy 57.526577 64.287113) + (xy 57.526574 64.287115) + (xy 57.41971 64.341565) + (xy 57.419706 64.341567) + (xy 57.414434 64.344254) + (xy 57.410247 64.34844) + (xy 57.410244 64.348443) + (xy 57.325443 64.433244) + (xy 57.32544 64.433247) + (xy 57.321254 64.437434) + (xy 57.318567 64.442706) + (xy 57.318565 64.44271) + (xy 57.264115 64.549573) + (xy 57.264112 64.549579) + (xy 57.261429 64.554847) + (xy 57.260504 64.560686) + (xy 57.260502 64.560693) + (xy 57.247626 64.641994) + (xy 57.246 64.652263) + (xy 57.246 64.655215) + (xy 57.246 64.655216) + (xy 57.246 65.164781) + (xy 57.246 65.164793) + (xy 57.246001 65.167736) + (xy 57.246462 65.17065) + (xy 57.246463 65.170656) + (xy 57.257171 65.238269) + (xy 57.261429 65.265153) + (xy 57.264114 65.270423) + (xy 57.264115 65.270425) + (xy 57.31851 65.377182) + (xy 57.321254 65.382566) + (xy 57.414434 65.475746) + (xy 57.41971 65.478434) + (xy 57.419711 65.478435) + (xy 57.425942 65.48161) + (xy 57.455919 65.509322) + (xy 57.467 65.548613) + (xy 57.467 65.886706) + (xy 57.455919 65.925997) + (xy 57.425941 65.953709) + (xy 57.40959 65.96204) + (xy 57.409584 65.962043) + (xy 57.404311 65.964731) + (xy 57.400124 65.968917) + (xy 57.400121 65.96892) + (xy 57.32092 66.048121) + (xy 57.320917 66.048124) + (xy 57.316731 66.052311) + (xy 57.314044 66.057583) + (xy 57.314042 66.057587) + (xy 57.263187 66.157394) + (xy 57.263184 66.1574) + (xy 57.260501 66.162668) + (xy 57.259576 66.168507) + (xy 57.259574 66.168514) + (xy 57.246462 66.251307) + (xy 57.246 66.254226) + (xy 57.246 66.715774) + (xy 57.246461 66.71869) + (xy 57.246462 66.718692) + (xy 57.259574 66.801485) + (xy 57.259575 66.80149) + (xy 57.260501 66.807332) + (xy 57.263185 66.8126) + (xy 57.263187 66.812605) + (xy 57.314042 66.912412) + (xy 57.316731 66.917689) + (xy 57.404311 67.005269) + (xy 57.460814 67.034059) + (xy 57.505814 67.056988) + (xy 57.514668 67.061499) + (xy 57.520513 67.062424) + (xy 57.520514 67.062425) + (xy 57.53173 67.064201) + (xy 57.606226 67.076) + (xy 58.21482 67.076) + (xy 58.217774 67.076) + (xy 58.309332 67.061499) + (xy 58.419689 67.005269) + (xy 58.481626 66.943332) + (xy 58.520129 66.922751) + (xy 58.563578 66.92703) + (xy 58.597327 66.954727) + (xy 58.61 66.996506) + (xy 58.61 67.623494) + (xy 58.597327 67.665273) + (xy 58.563578 67.69297) + (xy 58.520129 67.697249) + (xy 58.481626 67.676668) + (xy 58.423878 67.61892) + (xy 58.419689 67.614731) + (xy 58.414412 67.612042) + (xy 58.314605 67.561187) + (xy 58.3146 67.561185) + (xy 58.309332 67.558501) + (xy 58.30349 67.557575) + (xy 58.303485 67.557574) + (xy 58.220692 67.544462) + (xy 58.22069 67.544461) + (xy 58.217774 67.544) + (xy 58.21482 67.544) + (xy 57.663473 67.544) + (xy 57.634695 67.538276) + (xy 57.610299 67.521974) + (xy 56.299764 66.211439) + (xy 56.280689 66.173999) + (xy 56.280253 66.174141) + (xy 56.279357 66.171385) + (xy 56.278664 66.170024) + (xy 56.277499 66.162668) + (xy 56.274363 66.156514) + (xy 56.242549 66.094075) + (xy 56.221269 66.052311) + (xy 56.217082 66.048124) + (xy 56.214066 66.043973) + (xy 56.200628 66.011535) + (xy 56.203382 65.976532) + (xy 56.221726 65.946597) + (xy 56.535014 65.633309) + (xy 56.541283 65.627706) + (xy 56.570892 65.604095) + (xy 56.603182 65.556731) + (xy 56.604811 65.554437) + (xy 56.635525 65.512823) + (xy 56.635525 65.512822) + (xy 56.638875 65.508284) + (xy 56.640737 65.502959) + (xy 56.641843 65.500868) + (xy 56.64208 65.500474) + (xy 56.642264 65.500031) + (xy 56.64328 65.49792) + (xy 56.646459 65.493259) + (xy 56.663383 65.438389) + (xy 56.664227 65.435825) + (xy 56.679342 65.392634) + (xy 56.682237 65.384361) + (xy 56.709701 65.347869) + (xy 56.753216 65.334) + (xy 56.756116 65.334) + (xy 56.759812 65.334) + (xy 56.815525 65.322918) + (xy 56.878703 65.280703) + (xy 56.920918 65.217525) + (xy 56.932 65.161812) + (xy 56.932 64.124188) + (xy 56.920918 64.068475) + (xy 56.915283 64.060042) + (xy 56.882817 64.011454) + (xy 56.878703 64.005297) + (xy 56.870831 64.000037) + (xy 56.821683 63.967196) + (xy 56.82168 63.967194) + (xy 56.815525 63.963082) + (xy 56.808261 63.961637) + (xy 56.763437 63.952721) + (xy 56.763436 63.95272) + (xy 56.759812 63.952) + (xy 56.756117 63.952) + (xy 56.755305 63.95192) + (xy 56.718589 63.938001) + (xy 56.693893 63.907474) + (xy 56.687951 63.868664) + (xy 56.690711 63.844173) + (xy 56.68005 63.78783) + (xy 56.679579 63.785056) + (xy 56.674744 63.752976) + (xy 56.671033 63.728353) + (xy 56.668585 63.723271) + (xy 56.66789 63.721017) + (xy 56.667778 63.720566) + (xy 56.667777 63.720562) + (xy 56.667599 63.720132) + (xy 56.666819 63.717903) + (xy 56.665772 63.712366) + (xy 56.663139 63.707384) + (xy 56.663138 63.707381) + (xy 56.648827 63.680304) + (xy 56.638966 63.661646) + (xy 56.637707 63.659151) + (xy 56.636671 63.657) + (xy 56.616323 63.614746) + (xy 57.2465 63.614746) + (xy 57.246962 63.620618) + (xy 57.260984 63.709151) + (xy 57.264597 63.720271) + (xy 57.318976 63.826994) + (xy 57.325851 63.836456) + (xy 57.410543 63.921148) + (xy 57.420005 63.928023) + (xy 57.526728 63.982402) + (xy 57.537848 63.986015) + (xy 57.626381 64.000037) + (xy 57.632254 64.0005) + (xy 57.775098 64.0005) + (xy 57.782907 63.998407) + (xy 57.785 63.990598) + (xy 57.785 63.496902) + (xy 57.782907 63.489092) + (xy 57.775098 63.487) + (xy 57.256402 63.487) + (xy 57.248592 63.489092) + (xy 57.2465 63.496902) + (xy 57.2465 63.614746) + (xy 56.616323 63.614746) + (xy 56.612829 63.607491) + (xy 56.608995 63.603359) + (xy 56.607659 63.601399) + (xy 56.607423 63.601007) + (xy 56.607129 63.600652) + (xy 56.605724 63.598749) + (xy 56.603091 63.593766) + (xy 56.562539 63.553214) + (xy 56.560589 63.55119) + (xy 56.52542 63.513287) + (xy 56.521587 63.509156) + (xy 56.516707 63.506338) + (xy 56.514852 63.504859) + (xy 56.508565 63.49924) + (xy 56.412315 63.40299) + (xy 56.392851 63.369279) + (xy 56.392852 63.330352) + (xy 56.412312 63.296645) + (xy 56.463269 63.245689) + (xy 56.47478 63.223098) + (xy 57.2465 63.223098) + (xy 57.248592 63.230907) + (xy 57.256402 63.233) + (xy 57.775098 63.233) + (xy 57.782907 63.230907) + (xy 57.785 63.223098) + (xy 57.785 62.729402) + (xy 57.782907 62.721592) + (xy 57.775098 62.7195) + (xy 57.632254 62.7195) + (xy 57.626381 62.719962) + (xy 57.537848 62.733984) + (xy 57.526728 62.737597) + (xy 57.420005 62.791976) + (xy 57.410543 62.798851) + (xy 57.325851 62.883543) + (xy 57.318976 62.893005) + (xy 57.264597 62.999728) + (xy 57.260984 63.010848) + (xy 57.246962 63.099381) + (xy 57.2465 63.105254) + (xy 57.2465 63.223098) + (xy 56.47478 63.223098) + (xy 56.519499 63.135332) + (xy 56.534 63.043774) + (xy 56.534 62.432226) + (xy 56.521026 62.350307) + (xy 56.520425 62.346514) + (xy 56.520424 62.346513) + (xy 56.519499 62.340668) + (xy 56.516797 62.335366) + (xy 56.465957 62.235587) + (xy 56.463269 62.230311) + (xy 56.375689 62.142731) + (xy 56.369146 62.139397) + (xy 56.270605 62.089187) + (xy 56.2706 62.089185) + (xy 56.265332 62.086501) + (xy 56.25949 62.085575) + (xy 56.259485 62.085574) + (xy 56.176692 62.072462) + (xy 56.17669 62.072461) + (xy 56.173774 62.072) + (xy 55.712226 62.072) + (xy 55.70931 62.072461) + (xy 55.709307 62.072462) + (xy 55.626514 62.085574) + (xy 55.626507 62.085576) + (xy 55.620668 62.086501) + (xy 55.6154 62.089184) + (xy 55.615394 62.089187) + (xy 55.515587 62.140042) + (xy 55.515583 62.140044) + (xy 55.510311 62.142731) + (xy 55.506124 62.146917) + (xy 55.506121 62.14692) + (xy 55.42692 62.226121) + (xy 55.426917 62.226124) + (xy 55.422731 62.230311) + (xy 55.420044 62.235583) + (xy 55.420042 62.235587) + (xy 55.369187 62.335394) + (xy 55.369184 62.3354) + (xy 55.366501 62.340668) + (xy 55.365576 62.346507) + (xy 55.365574 62.346514) + (xy 55.352462 62.429307) + (xy 55.352 62.432226) + (xy 55.352 63.043774) + (xy 55.352461 63.04669) + (xy 55.352462 63.046692) + (xy 55.365574 63.129485) + (xy 55.365575 63.12949) + (xy 55.366501 63.135332) + (xy 55.369185 63.1406) + (xy 55.369187 63.140605) + (xy 55.420042 63.240412) + (xy 55.422731 63.245689) + (xy 55.426919 63.249877) + (xy 55.42692 63.249878) + (xy 55.475974 63.298932) + (xy 55.492276 63.323328) + (xy 55.498 63.352106) + (xy 55.498 63.533793) + (xy 55.497527 63.542212) + (xy 55.493919 63.574229) + (xy 55.493919 63.574233) + (xy 55.493289 63.579827) + (xy 55.494335 63.58536) + (xy 55.494336 63.585362) + (xy 55.503947 63.63616) + (xy 55.504418 63.638931) + (xy 55.509849 63.674965) + (xy 55.512967 63.695647) + (xy 55.515411 63.700722) + (xy 55.51611 63.702988) + (xy 55.516221 63.703435) + (xy 55.516394 63.703853) + (xy 55.517181 63.706102) + (xy 55.518228 63.711634) + (xy 55.522949 63.720566) + (xy 55.545022 63.762332) + (xy 55.546281 63.764825) + (xy 55.571171 63.816509) + (xy 55.575 63.820636) + (xy 55.57634 63.822601) + (xy 55.576575 63.822992) + (xy 55.576863 63.823339) + (xy 55.578278 63.825256) + (xy 55.58091 63.830235) + (xy 55.584893 63.834218) + (xy 55.584894 63.834219) + (xy 55.621458 63.870783) + (xy 55.623408 63.872807) + (xy 55.631594 63.881629) + (xy 55.650567 63.919949) + (xy 55.645583 63.962417) + (xy 55.618253 63.995303) + (xy 55.609453 64.001183) + (xy 55.609451 64.001184) + (xy 55.603297 64.005297) + (xy 55.599184 64.011451) + (xy 55.599182 64.011454) + (xy 55.565196 64.062316) + (xy 55.565193 64.062321) + (xy 55.561082 64.068475) + (xy 55.559637 64.075736) + (xy 55.559637 64.075738) + (xy 55.550721 64.120562) + (xy 55.55 64.124188) + (xy 55.55 65.161812) + (xy 55.561082 65.217525) + (xy 55.579293 65.244779) + (xy 55.591605 65.293928) + (xy 55.569941 65.339732) + (xy 55.331995 65.577678) + (xy 55.32571 65.583296) + (xy 55.300515 65.603389) + (xy 55.30051 65.603394) + (xy 55.296108 65.606905) + (xy 55.292935 65.611558) + (xy 55.292931 65.611563) + (xy 55.26381 65.654275) + (xy 55.262206 65.656536) + (xy 55.228125 65.702716) + (xy 55.226264 65.70803) + (xy 55.225144 65.710151) + (xy 55.224919 65.710524) + (xy 55.224745 65.710945) + (xy 55.223714 65.713085) + (xy 55.220541 65.717741) + (xy 55.21888 65.723123) + (xy 55.21888 65.723125) + (xy 55.203638 65.772535) + (xy 55.202759 65.775204) + (xy 55.185679 65.824015) + (xy 55.185677 65.824024) + (xy 55.183819 65.829335) + (xy 55.183608 65.83496) + (xy 55.183164 65.837308) + (xy 55.183057 65.837739) + (xy 55.183015 65.838187) + (xy 55.182659 65.840543) + (xy 55.181 65.845927) + (xy 55.181 65.851561) + (xy 55.181 65.886707) + (xy 55.169919 65.925999) + (xy 55.139941 65.953709) + (xy 55.118311 65.964731) + (xy 55.114126 65.968915) + (xy 55.114123 65.968918) + (xy 55.03492 66.048121) + (xy 55.034917 66.048124) + (xy 55.030731 66.052311) + (xy 55.028044 66.057583) + (xy 55.028042 66.057587) + (xy 54.977187 66.157394) + (xy 54.977184 66.1574) + (xy 54.974501 66.162668) + (xy 54.973576 66.168507) + (xy 54.973574 66.168514) + (xy 54.960462 66.251307) + (xy 54.96 66.254226) + (xy 54.96 66.715774) + (xy 54.960461 66.71869) + (xy 54.960462 66.718692) + (xy 54.973574 66.801485) + (xy 54.973575 66.80149) + (xy 54.974501 66.807332) + (xy 54.977185 66.8126) + (xy 54.977187 66.812605) + (xy 55.028042 66.912412) + (xy 55.030731 66.917689) + (xy 55.118311 67.005269) + (xy 55.174814 67.034059) + (xy 55.219814 67.056988) + (xy 55.228668 67.061499) + (xy 55.234513 67.062424) + (xy 55.234514 67.062425) + (xy 55.24573 67.064201) + (xy 55.320226 67.076) + (xy 55.874527 67.076) + (xy 55.903305 67.081724) + (xy 55.927701 67.098026) + (xy 57.238234 68.408559) + (xy 57.257313 68.445999) + (xy 57.257747 68.445859) + (xy 57.258636 68.448595) + (xy 57.259333 68.449963) + (xy 57.259573 68.45148) + (xy 57.259575 68.451485) + (xy 57.260501 68.457332) + (xy 57.263187 68.462604) + (xy 57.263188 68.462606) + (xy 57.307304 68.549188) + (xy 57.316731 68.567689) + (xy 57.404311 68.655269) + (xy 57.429228 68.667965) + (xy 57.508448 68.70833) + (xy 57.514668 68.711499) + (xy 57.520513 68.712424) + (xy 57.520514 68.712425) + (xy 57.53173 68.714201) + (xy 57.606226 68.726) + (xy 58.21482 68.726) + (xy 58.217774 68.726) + (xy 58.309332 68.711499) + (xy 58.419689 68.655269) + (xy 58.481625 68.593332) + (xy 58.520129 68.572751) + (xy 58.563578 68.57703) + (xy 58.597327 68.604727) + (xy 58.61 68.646506) + (xy 58.61 71.307494) + (xy 58.597327 71.349273) + (xy 58.563578 71.37697) + (xy 58.520129 71.381249) + (xy 58.481626 71.360668) + (xy 58.423878 71.30292) + (xy 58.423877 71.302919) + (xy 58.419689 71.298731) + (xy 58.414412 71.296042) + (xy 58.314605 71.245187) + (xy 58.3146 71.245185) + (xy 58.309332 71.242501) + (xy 58.30349 71.241575) + (xy 58.303485 71.241574) + (xy 58.220692 71.228462) + (xy 58.22069 71.228461) + (xy 58.217774 71.228) + (xy 57.606226 71.228) + (xy 57.60331 71.228461) + (xy 57.603307 71.228462) + (xy 57.520514 71.241574) + (xy 57.520507 71.241576) + (xy 57.514668 71.242501) + (xy 57.5094 71.245184) + (xy 57.509394 71.245187) + (xy 57.409587 71.296042) + (xy 57.409583 71.296044) + (xy 57.404311 71.298731) + (xy 57.400124 71.302917) + (xy 57.400121 71.30292) + (xy 57.320917 71.382124) + (xy 57.320914 71.382127) + (xy 57.316731 71.386311) + (xy 57.316112 71.387525) + (xy 57.292796 71.407741) + (xy 57.267655 71.421028) + (xy 57.265146 71.422294) + (xy 57.218567 71.444726) + (xy 57.218564 71.444727) + (xy 57.213491 71.447171) + (xy 57.209363 71.451) + (xy 57.207392 71.452344) + (xy 57.207007 71.452575) + (xy 57.20667 71.452855) + (xy 57.204738 71.45428) + (xy 57.199765 71.45691) + (xy 57.195785 71.460889) + (xy 57.195782 71.460892) + (xy 57.159213 71.49746) + (xy 57.157191 71.499408) + (xy 57.119281 71.534584) + (xy 57.119276 71.534589) + (xy 57.115156 71.538413) + (xy 57.112343 71.543283) + (xy 57.110856 71.545149) + (xy 57.105239 71.551434) + (xy 56.365 72.291674) + (xy 56.32823 72.311889) + (xy 56.286353 72.309254) + (xy 56.252406 72.28459) + (xy 56.23696 72.245576) + (xy 56.244823 72.204359) + (xy 56.274329 72.14645) + (xy 56.277943 72.135328) + (xy 56.291037 72.052653) + (xy 56.2915 72.046781) + (xy 56.2915 71.955902) + (xy 56.289407 71.948092) + (xy 56.281598 71.946) + (xy 55.762902 71.946) + (xy 55.755092 71.948092) + (xy 55.753 71.955902) + (xy 55.753 72.399597) + (xy 55.755092 72.407406) + (xy 55.762902 72.409499) + (xy 55.928779 72.409499) + (xy 55.934654 72.409036) + (xy 56.017328 72.395942) + (xy 56.028449 72.392329) + (xy 56.086359 72.362823) + (xy 56.127576 72.35496) + (xy 56.16659 72.370406) + (xy 56.191254 72.404353) + (xy 56.193889 72.44623) + (xy 56.173675 72.482999) + (xy 55.800698 72.855976) + (xy 55.776305 72.872276) + (xy 55.747527 72.878) + (xy 55.320226 72.878) + (xy 55.31731 72.878461) + (xy 55.317307 72.878462) + (xy 55.234514 72.891574) + (xy 55.234507 72.891576) + (xy 55.228668 72.892501) + (xy 55.2234 72.895184) + (xy 55.223394 72.895187) + (xy 55.123587 72.946042) + (xy 55.123583 72.946044) + (xy 55.118311 72.948731) + (xy 55.114124 72.952917) + (xy 55.114121 72.95292) + (xy 55.03492 73.032121) + (xy 55.034917 73.032124) + (xy 55.030731 73.036311) + (xy 55.028044 73.041583) + (xy 55.028042 73.041587) + (xy 54.977187 73.141394) + (xy 54.977184 73.1414) + (xy 54.974501 73.146668) + (xy 54.973576 73.152507) + (xy 54.973574 73.152514) + (xy 54.960777 73.233319) + (xy 54.96 73.238226) + (xy 54.96 73.699774) + (xy 54.960461 73.70269) + (xy 54.960462 73.702692) + (xy 54.973574 73.785485) + (xy 54.973575 73.78549) + (xy 54.974501 73.791332) + (xy 54.977185 73.7966) + (xy 54.977187 73.796605) + (xy 55.019155 73.87897) + (xy 55.030731 73.901689) + (xy 55.118311 73.989269) + (xy 55.123585 73.991956) + (xy 55.123589 73.991959) + (xy 55.1363 73.998435) + (xy 55.165531 74.024951) + (xy 55.175836 74.057912) + (xy 55.176289 74.057827) + (xy 55.176612 74.059537) + (xy 55.177334 74.063354) + (xy 55.177335 74.063359) + (xy 55.186947 74.11416) + (xy 55.187418 74.116931) + (xy 55.194253 74.16228) + (xy 55.195967 74.173647) + (xy 55.198411 74.178722) + (xy 55.19911 74.180988) + (xy 55.199221 74.181435) + (xy 55.199394 74.181853) + (xy 55.200181 74.184102) + (xy 55.201228 74.189634) + (xy 55.203859 74.194612) + (xy 55.228022 74.240332) + (xy 55.229281 74.242825) + (xy 55.254171 74.294509) + (xy 55.258 74.298636) + (xy 55.25934 74.300601) + (xy 55.259575 74.300992) + (xy 55.259863 74.301339) + (xy 55.261278 74.303256) + (xy 55.26391 74.308235) + (xy 55.267893 74.312218) + (xy 55.267894 74.312219) + (xy 55.304458 74.348783) + (xy 55.306409 74.350808) + (xy 55.345413 74.392844) + (xy 55.350291 74.39566) + (xy 55.352148 74.397141) + (xy 55.358435 74.40276) + (xy 55.569941 74.614266) + (xy 55.591605 74.660068) + (xy 55.579294 74.709217) + (xy 55.565197 74.730314) + (xy 55.565194 74.73032) + (xy 55.561082 74.736475) + (xy 55.559637 74.743736) + (xy 55.559637 74.743738) + (xy 55.550721 74.788563) + (xy 55.55 74.792188) + (xy 55.55 75.829812) + (xy 55.561082 75.885525) + (xy 55.565194 75.89168) + (xy 55.565196 75.891683) + (xy 55.594052 75.934867) + (xy 55.603297 75.948703) + (xy 55.613607 75.955592) + (xy 55.616009 75.957197) + (xy 55.644732 75.993561) + (xy 55.646684 76.03986) + (xy 55.621122 76.078512) + (xy 55.617518 76.081385) + (xy 55.617507 76.081396) + (xy 55.613108 76.084905) + (xy 55.609935 76.089558) + (xy 55.609931 76.089563) + (xy 55.58081 76.132275) + (xy 55.579206 76.134536) + (xy 55.545125 76.180716) + (xy 55.543264 76.18603) + (xy 55.542144 76.188151) + (xy 55.541919 76.188524) + (xy 55.541745 76.188945) + (xy 55.540714 76.191085) + (xy 55.537541 76.195741) + (xy 55.53588 76.201123) + (xy 55.53588 76.201125) + (xy 55.520638 76.250535) + (xy 55.519759 76.253204) + (xy 55.502679 76.302015) + (xy 55.502677 76.302024) + (xy 55.500819 76.307335) + (xy 55.500608 76.31296) + (xy 55.500164 76.315308) + (xy 55.500057 76.315739) + (xy 55.500015 76.316187) + (xy 55.499659 76.318543) + (xy 55.498 76.323927) + (xy 55.498 76.329561) + (xy 55.498 76.381293) + (xy 55.497947 76.384104) + (xy 55.496014 76.435755) + (xy 55.496014 76.435759) + (xy 55.495804 76.441386) + (xy 55.497261 76.446826) + (xy 55.497527 76.449181) + (xy 55.498 76.457599) + (xy 55.498 76.601894) + (xy 55.492276 76.630672) + (xy 55.475974 76.655068) + (xy 55.42692 76.704121) + (xy 55.426917 76.704124) + (xy 55.422731 76.708311) + (xy 55.420044 76.713583) + (xy 55.420042 76.713587) + (xy 55.369187 76.813394) + (xy 55.369184 76.8134) + (xy 55.366501 76.818668) + (xy 55.365576 76.824507) + (xy 55.365574 76.824514) + (xy 55.352879 76.904675) + (xy 55.352 76.910226) + (xy 55.352 77.521774) + (xy 55.352461 77.52469) + (xy 55.352462 77.524692) + (xy 55.365574 77.607485) + (xy 55.365575 77.60749) + (xy 55.366501 77.613332) + (xy 55.369185 77.6186) + (xy 55.369187 77.618605) + (xy 55.420042 77.718412) + (xy 55.422731 77.723689) + (xy 55.510311 77.811269) + (xy 55.548611 77.830784) + (xy 55.614177 77.864192) + (xy 55.620668 77.867499) + (xy 55.626513 77.868424) + (xy 55.626514 77.868425) + (xy 55.635146 77.869792) + (xy 55.712226 77.882) + (xy 56.17082 77.882) + (xy 56.173774 77.882) + (xy 56.265332 77.867499) + (xy 56.375689 77.811269) + (xy 56.463269 77.723689) + (xy 56.519499 77.613332) + (xy 56.534 77.521774) + (xy 56.534 76.910226) + (xy 56.524263 76.848746) + (xy 57.2465 76.848746) + (xy 57.246962 76.854618) + (xy 57.260984 76.943151) + (xy 57.264597 76.954271) + (xy 57.318976 77.060994) + (xy 57.325851 77.070456) + (xy 57.410543 77.155148) + (xy 57.420005 77.162023) + (xy 57.526728 77.216402) + (xy 57.537848 77.220015) + (xy 57.626381 77.234037) + (xy 57.632254 77.2345) + (xy 57.775098 77.2345) + (xy 57.782907 77.232407) + (xy 57.785 77.224598) + (xy 57.785 76.730902) + (xy 57.782907 76.723092) + (xy 57.775098 76.721) + (xy 57.256402 76.721) + (xy 57.248592 76.723092) + (xy 57.2465 76.730902) + (xy 57.2465 76.848746) + (xy 56.524263 76.848746) + (xy 56.519499 76.818668) + (xy 56.514971 76.809782) + (xy 56.484491 76.749961) + (xy 56.463269 76.708311) + (xy 56.412315 76.657357) + (xy 56.392851 76.623646) + (xy 56.392851 76.58472) + (xy 56.412313 76.55101) + (xy 56.506225 76.457098) + (xy 57.2465 76.457098) + (xy 57.248592 76.464907) + (xy 57.256402 76.467) + (xy 57.775098 76.467) + (xy 57.782907 76.464907) + (xy 57.785 76.457098) + (xy 57.785 75.963402) + (xy 57.782907 75.955592) + (xy 57.775098 75.9535) + (xy 57.632254 75.9535) + (xy 57.626381 75.953962) + (xy 57.537848 75.967984) + (xy 57.526728 75.971597) + (xy 57.420005 76.025976) + (xy 57.410543 76.032851) + (xy 57.325851 76.117543) + (xy 57.318976 76.127005) + (xy 57.264597 76.233728) + (xy 57.260984 76.244848) + (xy 57.246962 76.333381) + (xy 57.2465 76.339254) + (xy 57.2465 76.457098) + (xy 56.506225 76.457098) + (xy 56.535011 76.428312) + (xy 56.541296 76.422695) + (xy 56.570892 76.399095) + (xy 56.603214 76.351684) + (xy 56.604794 76.349458) + (xy 56.638875 76.303283) + (xy 56.640739 76.297953) + (xy 56.641834 76.295882) + (xy 56.642077 76.295478) + (xy 56.64208 76.295472) + (xy 56.64226 76.295039) + (xy 56.64328 76.292919) + (xy 56.646459 76.288259) + (xy 56.66338 76.233399) + (xy 56.664224 76.230835) + (xy 56.683181 76.176665) + (xy 56.683391 76.171027) + (xy 56.683831 76.168705) + (xy 56.683942 76.168257) + (xy 56.683987 76.167779) + (xy 56.684335 76.165466) + (xy 56.686 76.160073) + (xy 56.686 76.102724) + (xy 56.686053 76.099914) + (xy 56.686171 76.096745) + (xy 56.687016 76.074155) + (xy 56.696747 76.039877) + (xy 56.721168 76.013925) + (xy 56.754795 76.00213) + (xy 56.756115 76.002) + (xy 56.759812 76.002) + (xy 56.815525 75.990918) + (xy 56.878703 75.948703) + (xy 56.920918 75.885525) + (xy 56.932 75.829812) + (xy 56.932 74.792188) + (xy 56.920918 74.736475) + (xy 56.916801 74.730314) + (xy 56.883566 74.680575) + (xy 56.878703 74.673297) + (xy 56.863311 74.663012) + (xy 56.821683 74.635196) + (xy 56.82168 74.635194) + (xy 56.815525 74.631082) + (xy 56.808261 74.629637) + (xy 56.773969 74.622816) + (xy 56.759812 74.62) + (xy 56.756116 74.62) + (xy 56.750314 74.62) + (xy 56.716006 74.611718) + (xy 56.689256 74.588697) + (xy 56.675954 74.556006) + (xy 56.671033 74.523353) + (xy 56.668585 74.51827) + (xy 56.66789 74.516017) + (xy 56.667778 74.515566) + (xy 56.667776 74.515561) + (xy 56.667598 74.51513) + (xy 56.666819 74.512905) + (xy 56.665772 74.507366) + (xy 56.663138 74.502382) + (xy 56.663137 74.502379) + (xy 56.638972 74.456656) + (xy 56.637704 74.454145) + (xy 56.633145 74.444678) + (xy 56.612829 74.402491) + (xy 56.608995 74.398359) + (xy 56.607661 74.396402) + (xy 56.607426 74.396012) + (xy 56.607132 74.395657) + (xy 56.605725 74.39375) + (xy 56.60309 74.388765) + (xy 56.56254 74.348215) + (xy 56.560589 74.34619) + (xy 56.52542 74.308287) + (xy 56.521587 74.304156) + (xy 56.516707 74.301338) + (xy 56.514852 74.299859) + (xy 56.508565 74.29424) + (xy 56.221729 74.007404) + (xy 56.203383 73.977467) + (xy 56.200629 73.942465) + (xy 56.214066 73.910027) + (xy 56.217082 73.905875) + (xy 56.221269 73.901689) + (xy 56.277499 73.791332) + (xy 56.292 73.699774) + (xy 56.292 73.654473) + (xy 56.297724 73.625695) + (xy 56.314026 73.601299) + (xy 56.516564 73.398761) + (xy 57.492028 72.423295) + (xy 57.521962 72.404951) + (xy 57.55696 72.402197) + (xy 57.606226 72.41) + (xy 58.21482 72.41) + (xy 58.217774 72.41) + (xy 58.309332 72.395499) + (xy 58.419689 72.339269) + (xy 58.481626 72.277332) + (xy 58.520129 72.256751) + (xy 58.563578 72.26103) + (xy 58.597327 72.288727) + (xy 58.61 72.330506) + (xy 58.61 72.957494) + (xy 58.597327 72.999273) + (xy 58.563578 73.02697) + (xy 58.520129 73.031249) + (xy 58.481626 73.010668) + (xy 58.423878 72.95292) + (xy 58.419689 72.948731) + (xy 58.408463 72.943011) + (xy 58.314605 72.895187) + (xy 58.3146 72.895185) + (xy 58.309332 72.892501) + (xy 58.30349 72.891575) + (xy 58.303485 72.891574) + (xy 58.220692 72.878462) + (xy 58.22069 72.878461) + (xy 58.217774 72.878) + (xy 57.606226 72.878) + (xy 57.60331 72.878461) + (xy 57.603307 72.878462) + (xy 57.520514 72.891574) + (xy 57.520507 72.891576) + (xy 57.514668 72.892501) + (xy 57.5094 72.895184) + (xy 57.509394 72.895187) + (xy 57.409587 72.946042) + (xy 57.409583 72.946044) + (xy 57.404311 72.948731) + (xy 57.400124 72.952917) + (xy 57.400121 72.95292) + (xy 57.32092 73.032121) + (xy 57.320917 73.032124) + (xy 57.316731 73.036311) + (xy 57.314044 73.041583) + (xy 57.314042 73.041587) + (xy 57.263187 73.141394) + (xy 57.263184 73.1414) + (xy 57.260501 73.146668) + (xy 57.259576 73.152507) + (xy 57.259574 73.152514) + (xy 57.246777 73.233319) + (xy 57.246 73.238226) + (xy 57.246 73.699774) + (xy 57.246461 73.70269) + (xy 57.246462 73.702692) + (xy 57.259574 73.785485) + (xy 57.259575 73.78549) + (xy 57.260501 73.791332) + (xy 57.263185 73.7966) + (xy 57.263187 73.796605) + (xy 57.305155 73.87897) + (xy 57.316731 73.901689) + (xy 57.404311 73.989269) + (xy 57.409589 73.991958) + (xy 57.40959 73.991959) + (xy 57.425941 74.000291) + (xy 57.455919 74.028003) + (xy 57.467 74.067294) + (xy 57.467 74.405387) + (xy 57.455919 74.444678) + (xy 57.425942 74.47239) + (xy 57.419711 74.475564) + (xy 57.419705 74.475568) + (xy 57.414434 74.478254) + (xy 57.410247 74.48244) + (xy 57.410244 74.482443) + (xy 57.325443 74.567244) + (xy 57.32544 74.567247) + (xy 57.321254 74.571434) + (xy 57.318567 74.576706) + (xy 57.318565 74.57671) + (xy 57.264115 74.683573) + (xy 57.264112 74.683579) + (xy 57.261429 74.688847) + (xy 57.260504 74.694686) + (xy 57.260502 74.694693) + (xy 57.246466 74.783319) + (xy 57.246 74.786263) + (xy 57.246 74.789215) + (xy 57.246 74.789216) + (xy 57.246 75.298781) + (xy 57.246 75.298793) + (xy 57.246001 75.301736) + (xy 57.246462 75.30465) + (xy 57.246463 75.304656) + (xy 57.258964 75.383588) + (xy 57.261429 75.399153) + (xy 57.264114 75.404423) + (xy 57.264115 75.404425) + (xy 57.316232 75.506711) + (xy 57.321254 75.516566) + (xy 57.414434 75.609746) + (xy 57.433954 75.619692) + (xy 57.521421 75.664259) + (xy 57.531847 75.669571) + (xy 57.537692 75.670496) + (xy 57.537693 75.670497) + (xy 57.548571 75.672219) + (xy 57.629263 75.685) + (xy 58.194736 75.684999) + (xy 58.292153 75.669571) + (xy 58.409566 75.609746) + (xy 58.481626 75.537685) + (xy 58.520129 75.517105) + (xy 58.563578 75.521384) + (xy 58.597327 75.549081) + (xy 58.61 75.59086) + (xy 58.61 76.047847) + (xy 58.597327 76.089626) + (xy 58.563578 76.117323) + (xy 58.520129 76.121602) + (xy 58.481626 76.101021) + (xy 58.413456 76.032851) + (xy 58.403994 76.025976) + (xy 58.297271 75.971597) + (xy 58.286151 75.967984) + (xy 58.197618 75.953962) + (xy 58.191746 75.9535) + (xy 58.048902 75.9535) + (xy 58.041092 75.955592) + (xy 58.039 75.963402) + (xy 58.039 77.224598) + (xy 58.041092 77.232407) + (xy 58.048902 77.2345) + (xy 58.191746 77.2345) + (xy 58.197618 77.234037) + (xy 58.286151 77.220015) + (xy 58.297271 77.216402) + (xy 58.403994 77.162023) + (xy 58.413456 77.155148) + (xy 58.481626 77.086979) + (xy 58.520129 77.066398) + (xy 58.563578 77.070677) + (xy 58.597327 77.098374) + (xy 58.61 77.140153) + (xy 58.61 80.593847) + (xy 58.597327 80.635626) + (xy 58.563578 80.663323) + (xy 58.520129 80.667602) + (xy 58.481626 80.647021) + (xy 58.413456 80.578851) + (xy 58.403994 80.571976) + (xy 58.297271 80.517597) + (xy 58.286151 80.513984) + (xy 58.197618 80.499962) + (xy 58.191746 80.4995) + (xy 58.048902 80.4995) + (xy 58.041092 80.501592) + (xy 58.039 80.509402) + (xy 58.039 81.770598) + (xy 58.041092 81.778407) + (xy 58.048902 81.7805) + (xy 58.191746 81.7805) + (xy 58.197618 81.780037) + (xy 58.286151 81.766015) + (xy 58.297271 81.762402) + (xy 58.403994 81.708023) + (xy 58.413456 81.701148) + (xy 58.481626 81.632979) + (xy 58.520129 81.612398) + (xy 58.563578 81.616677) + (xy 58.597327 81.644374) + (xy 58.61 81.686153) + (xy 58.61 82.14314) + (xy 58.597327 82.184919) + (xy 58.563578 82.212616) + (xy 58.520129 82.216895) + (xy 58.481626 82.196314) + (xy 58.413755 82.128443) + (xy 58.409566 82.124254) + (xy 58.403274 82.121048) + (xy 58.297426 82.067115) + (xy 58.297422 82.067113) + (xy 58.292153 82.064429) + (xy 58.286311 82.063503) + (xy 58.286306 82.063502) + (xy 58.197655 82.049462) + (xy 58.197652 82.049461) + (xy 58.194737 82.049) + (xy 58.191783 82.049) + (xy 57.632218 82.049) + (xy 57.632205 82.049) + (xy 57.629264 82.049001) + (xy 57.62635 82.049462) + (xy 57.626343 82.049463) + (xy 57.537692 82.063503) + (xy 57.53769 82.063503) + (xy 57.531847 82.064429) + (xy 57.526577 82.067113) + (xy 57.526574 82.067115) + (xy 57.41971 82.121565) + (xy 57.419706 82.121567) + (xy 57.414434 82.124254) + (xy 57.410247 82.12844) + (xy 57.410244 82.128443) + (xy 57.325443 82.213244) + (xy 57.32544 82.213247) + (xy 57.321254 82.217434) + (xy 57.318567 82.222706) + (xy 57.318565 82.22271) + (xy 57.264115 82.329573) + (xy 57.264112 82.329579) + (xy 57.261429 82.334847) + (xy 57.260504 82.340686) + (xy 57.260502 82.340693) + (xy 57.24714 82.425065) + (xy 57.246 82.432263) + (xy 57.246 82.435215) + (xy 57.246 82.435216) + (xy 57.246 82.944781) + (xy 57.246 82.944793) + (xy 57.246001 82.947736) + (xy 57.246462 82.95065) + (xy 57.246463 82.950656) + (xy 57.257171 83.018269) + (xy 57.261429 83.045153) + (xy 57.264114 83.050423) + (xy 57.264115 83.050425) + (xy 57.316474 83.153186) + (xy 57.321254 83.162566) + (xy 57.414434 83.255746) + (xy 57.41971 83.258434) + (xy 57.419711 83.258435) + (xy 57.425942 83.26161) + (xy 57.455919 83.289322) + (xy 57.467 83.328613) + (xy 57.467 83.666706) + (xy 57.455919 83.705997) + (xy 57.425941 83.733709) + (xy 57.40959 83.74204) + (xy 57.409584 83.742043) + (xy 57.404311 83.744731) + (xy 57.400124 83.748917) + (xy 57.400121 83.74892) + (xy 57.32092 83.828121) + (xy 57.320917 83.828124) + (xy 57.316731 83.832311) + (xy 57.314044 83.837583) + (xy 57.314042 83.837587) + (xy 57.263187 83.937394) + (xy 57.263184 83.9374) + (xy 57.260501 83.942668) + (xy 57.259576 83.948507) + (xy 57.259574 83.948514) + (xy 57.246462 84.031307) + (xy 57.246 84.034226) + (xy 57.246 84.495774) + (xy 57.246461 84.49869) + (xy 57.246462 84.498692) + (xy 57.259574 84.581485) + (xy 57.259575 84.58149) + (xy 57.260501 84.587332) + (xy 57.263185 84.5926) + (xy 57.263187 84.592605) + (xy 57.314042 84.692412) + (xy 57.316731 84.697689) + (xy 57.404311 84.785269) + (xy 57.451139 84.809129) + (xy 57.507761 84.83798) + (xy 57.514668 84.841499) + (xy 57.520513 84.842424) + (xy 57.520514 84.842425) + (xy 57.53173 84.844201) + (xy 57.606226 84.856) + (xy 58.21482 84.856) + (xy 58.217774 84.856) + (xy 58.309332 84.841499) + (xy 58.419689 84.785269) + (xy 58.481626 84.723332) + (xy 58.520129 84.702751) + (xy 58.563578 84.70703) + (xy 58.597327 84.734727) + (xy 58.61 84.776506) + (xy 58.61 85.403494) + (xy 58.597327 85.445273) + (xy 58.563578 85.47297) + (xy 58.520129 85.477249) + (xy 58.481626 85.456668) + (xy 58.423878 85.39892) + (xy 58.419689 85.394731) + (xy 58.414412 85.392042) + (xy 58.314605 85.341187) + (xy 58.3146 85.341185) + (xy 58.309332 85.338501) + (xy 58.30349 85.337575) + (xy 58.303485 85.337574) + (xy 58.220692 85.324462) + (xy 58.22069 85.324461) + (xy 58.217774 85.324) + (xy 58.21482 85.324) + (xy 57.663473 85.324) + (xy 57.634695 85.318276) + (xy 57.610299 85.301974) + (xy 56.299764 83.991439) + (xy 56.280689 83.953999) + (xy 56.280253 83.954141) + (xy 56.279357 83.951385) + (xy 56.278664 83.950024) + (xy 56.277499 83.942668) + (xy 56.274363 83.936514) + (xy 56.242549 83.874075) + (xy 56.221269 83.832311) + (xy 56.217082 83.828124) + (xy 56.214066 83.823973) + (xy 56.200628 83.791535) + (xy 56.203382 83.756532) + (xy 56.221726 83.726597) + (xy 56.535014 83.413309) + (xy 56.541283 83.407706) + (xy 56.570892 83.384095) + (xy 56.603182 83.336731) + (xy 56.604811 83.334437) + (xy 56.635525 83.292823) + (xy 56.635525 83.292822) + (xy 56.638875 83.288284) + (xy 56.640737 83.282959) + (xy 56.641843 83.280868) + (xy 56.64208 83.280474) + (xy 56.642264 83.280031) + (xy 56.64328 83.27792) + (xy 56.646459 83.273259) + (xy 56.663383 83.218389) + (xy 56.664227 83.215825) + (xy 56.676549 83.180614) + (xy 56.682237 83.164361) + (xy 56.709701 83.127869) + (xy 56.753216 83.114) + (xy 56.756116 83.114) + (xy 56.759812 83.114) + (xy 56.815525 83.102918) + (xy 56.878703 83.060703) + (xy 56.920918 82.997525) + (xy 56.932 82.941812) + (xy 56.932 81.904188) + (xy 56.920918 81.848475) + (xy 56.915283 81.840042) + (xy 56.882817 81.791454) + (xy 56.878703 81.785297) + (xy 56.870831 81.780037) + (xy 56.821683 81.747196) + (xy 56.82168 81.747194) + (xy 56.815525 81.743082) + (xy 56.808261 81.741637) + (xy 56.763437 81.732721) + (xy 56.763436 81.73272) + (xy 56.759812 81.732) + (xy 56.756117 81.732) + (xy 56.755305 81.73192) + (xy 56.718589 81.718001) + (xy 56.693893 81.687474) + (xy 56.687951 81.648664) + (xy 56.690711 81.624173) + (xy 56.68005 81.56783) + (xy 56.679579 81.565056) + (xy 56.674583 81.531907) + (xy 56.671033 81.508353) + (xy 56.668585 81.503271) + (xy 56.66789 81.501017) + (xy 56.667778 81.500566) + (xy 56.667777 81.500562) + (xy 56.667599 81.500132) + (xy 56.666819 81.497903) + (xy 56.665772 81.492366) + (xy 56.663139 81.487384) + (xy 56.663138 81.487381) + (xy 56.646071 81.455089) + (xy 56.638966 81.441646) + (xy 56.637707 81.439151) + (xy 56.630317 81.423806) + (xy 56.616323 81.394746) + (xy 57.2465 81.394746) + (xy 57.246962 81.400618) + (xy 57.260984 81.489151) + (xy 57.264597 81.500271) + (xy 57.318976 81.606994) + (xy 57.325851 81.616456) + (xy 57.410543 81.701148) + (xy 57.420005 81.708023) + (xy 57.526728 81.762402) + (xy 57.537848 81.766015) + (xy 57.626381 81.780037) + (xy 57.632254 81.7805) + (xy 57.775098 81.7805) + (xy 57.782907 81.778407) + (xy 57.785 81.770598) + (xy 57.785 81.276902) + (xy 57.782907 81.269092) + (xy 57.775098 81.267) + (xy 57.256402 81.267) + (xy 57.248592 81.269092) + (xy 57.2465 81.276902) + (xy 57.2465 81.394746) + (xy 56.616323 81.394746) + (xy 56.612829 81.387491) + (xy 56.608995 81.383359) + (xy 56.607659 81.381399) + (xy 56.607423 81.381007) + (xy 56.607129 81.380652) + (xy 56.605724 81.378749) + (xy 56.603091 81.373766) + (xy 56.56254 81.333215) + (xy 56.560589 81.33119) + (xy 56.545099 81.314496) + (xy 56.521587 81.289156) + (xy 56.516707 81.286338) + (xy 56.514852 81.284859) + (xy 56.508565 81.27924) + (xy 56.412315 81.18299) + (xy 56.392851 81.149279) + (xy 56.392852 81.110352) + (xy 56.412312 81.076645) + (xy 56.463269 81.025689) + (xy 56.47478 81.003098) + (xy 57.2465 81.003098) + (xy 57.248592 81.010907) + (xy 57.256402 81.013) + (xy 57.775098 81.013) + (xy 57.782907 81.010907) + (xy 57.785 81.003098) + (xy 57.785 80.509402) + (xy 57.782907 80.501592) + (xy 57.775098 80.4995) + (xy 57.632254 80.4995) + (xy 57.626381 80.499962) + (xy 57.537848 80.513984) + (xy 57.526728 80.517597) + (xy 57.420005 80.571976) + (xy 57.410543 80.578851) + (xy 57.325851 80.663543) + (xy 57.318976 80.673005) + (xy 57.264597 80.779728) + (xy 57.260984 80.790848) + (xy 57.246962 80.879381) + (xy 57.2465 80.885254) + (xy 57.2465 81.003098) + (xy 56.47478 81.003098) + (xy 56.519499 80.915332) + (xy 56.534 80.823774) + (xy 56.534 80.212226) + (xy 56.521504 80.133325) + (xy 56.520425 80.126514) + (xy 56.520424 80.126513) + (xy 56.519499 80.120668) + (xy 56.516797 80.115366) + (xy 56.486773 80.05644) + (xy 56.463269 80.010311) + (xy 56.375689 79.922731) + (xy 56.370412 79.920042) + (xy 56.270605 79.869187) + (xy 56.2706 79.869185) + (xy 56.265332 79.866501) + (xy 56.25949 79.865575) + (xy 56.259485 79.865574) + (xy 56.176692 79.852462) + (xy 56.17669 79.852461) + (xy 56.173774 79.852) + (xy 55.712226 79.852) + (xy 55.70931 79.852461) + (xy 55.709307 79.852462) + (xy 55.626514 79.865574) + (xy 55.626507 79.865576) + (xy 55.620668 79.866501) + (xy 55.6154 79.869184) + (xy 55.615394 79.869187) + (xy 55.515587 79.920042) + (xy 55.515583 79.920044) + (xy 55.510311 79.922731) + (xy 55.506124 79.926917) + (xy 55.506121 79.92692) + (xy 55.42692 80.006121) + (xy 55.426917 80.006124) + (xy 55.422731 80.010311) + (xy 55.420044 80.015583) + (xy 55.420042 80.015587) + (xy 55.369187 80.115394) + (xy 55.369184 80.1154) + (xy 55.366501 80.120668) + (xy 55.365576 80.126507) + (xy 55.365574 80.126514) + (xy 55.352933 80.206332) + (xy 55.352 80.212226) + (xy 55.352 80.823774) + (xy 55.352461 80.82669) + (xy 55.352462 80.826692) + (xy 55.365574 80.909485) + (xy 55.365575 80.90949) + (xy 55.366501 80.915332) + (xy 55.369185 80.9206) + (xy 55.369187 80.920605) + (xy 55.420042 81.020412) + (xy 55.422731 81.025689) + (xy 55.42692 81.029878) + (xy 55.475974 81.078932) + (xy 55.492276 81.103328) + (xy 55.498 81.132106) + (xy 55.498 81.313793) + (xy 55.497527 81.322212) + (xy 55.493919 81.354229) + (xy 55.493919 81.354233) + (xy 55.493289 81.359827) + (xy 55.494335 81.36536) + (xy 55.494336 81.365362) + (xy 55.503947 81.41616) + (xy 55.504418 81.418931) + (xy 55.507844 81.441663) + (xy 55.512967 81.475647) + (xy 55.515411 81.480722) + (xy 55.51611 81.482988) + (xy 55.516221 81.483435) + (xy 55.516394 81.483853) + (xy 55.517181 81.486102) + (xy 55.518228 81.491634) + (xy 55.522949 81.500566) + (xy 55.545022 81.542332) + (xy 55.546281 81.544825) + (xy 55.571171 81.596509) + (xy 55.575 81.600636) + (xy 55.57634 81.602601) + (xy 55.576575 81.602992) + (xy 55.576863 81.603339) + (xy 55.578278 81.605256) + (xy 55.58091 81.610235) + (xy 55.584894 81.614219) + (xy 55.621458 81.650783) + (xy 55.623408 81.652807) + (xy 55.631594 81.661629) + (xy 55.650567 81.699949) + (xy 55.645583 81.742417) + (xy 55.618253 81.775303) + (xy 55.609453 81.781183) + (xy 55.609451 81.781184) + (xy 55.603297 81.785297) + (xy 55.599184 81.791451) + (xy 55.599182 81.791454) + (xy 55.565196 81.842316) + (xy 55.565193 81.842321) + (xy 55.561082 81.848475) + (xy 55.559637 81.855736) + (xy 55.559637 81.855738) + (xy 55.550871 81.899811) + (xy 55.55 81.904188) + (xy 55.55 82.941812) + (xy 55.550721 82.945436) + (xy 55.559265 82.988393) + (xy 55.561082 82.997525) + (xy 55.579293 83.024779) + (xy 55.591605 83.073928) + (xy 55.569941 83.119732) + (xy 55.331995 83.357678) + (xy 55.32571 83.363296) + (xy 55.300515 83.383389) + (xy 55.30051 83.383394) + (xy 55.296108 83.386905) + (xy 55.292935 83.391558) + (xy 55.292931 83.391563) + (xy 55.26381 83.434275) + (xy 55.262206 83.436536) + (xy 55.228125 83.482716) + (xy 55.226264 83.48803) + (xy 55.225144 83.490151) + (xy 55.224919 83.490524) + (xy 55.224745 83.490945) + (xy 55.223714 83.493085) + (xy 55.220541 83.497741) + (xy 55.21888 83.503123) + (xy 55.21888 83.503125) + (xy 55.203638 83.552535) + (xy 55.202759 83.555204) + (xy 55.185679 83.604015) + (xy 55.185677 83.604024) + (xy 55.183819 83.609335) + (xy 55.183608 83.61496) + (xy 55.183164 83.617308) + (xy 55.183057 83.617739) + (xy 55.183015 83.618187) + (xy 55.182659 83.620543) + (xy 55.181 83.625927) + (xy 55.181 83.631561) + (xy 55.181 83.666707) + (xy 55.169919 83.705999) + (xy 55.139941 83.733709) + (xy 55.118311 83.744731) + (xy 55.114126 83.748915) + (xy 55.114123 83.748918) + (xy 55.03492 83.828121) + (xy 55.034917 83.828124) + (xy 55.030731 83.832311) + (xy 55.028044 83.837583) + (xy 55.028042 83.837587) + (xy 54.977187 83.937394) + (xy 54.977184 83.9374) + (xy 54.974501 83.942668) + (xy 54.973576 83.948507) + (xy 54.973574 83.948514) + (xy 54.960462 84.031307) + (xy 54.96 84.034226) + (xy 54.96 84.495774) + (xy 54.960461 84.49869) + (xy 54.960462 84.498692) + (xy 54.973574 84.581485) + (xy 54.973575 84.58149) + (xy 54.974501 84.587332) + (xy 54.977185 84.5926) + (xy 54.977187 84.592605) + (xy 55.028042 84.692412) + (xy 55.030731 84.697689) + (xy 55.118311 84.785269) + (xy 55.165139 84.809129) + (xy 55.221761 84.83798) + (xy 55.228668 84.841499) + (xy 55.234513 84.842424) + (xy 55.234514 84.842425) + (xy 55.24573 84.844201) + (xy 55.320226 84.856) + (xy 55.874527 84.856) + (xy 55.903305 84.861724) + (xy 55.927701 84.878026) + (xy 57.238234 86.188559) + (xy 57.257313 86.225999) + (xy 57.257747 86.225859) + (xy 57.258636 86.228595) + (xy 57.259333 86.229963) + (xy 57.259573 86.23148) + (xy 57.259575 86.231485) + (xy 57.260501 86.237332) + (xy 57.263187 86.242604) + (xy 57.263188 86.242606) + (xy 57.307304 86.329188) + (xy 57.316731 86.347689) + (xy 57.404311 86.435269) + (xy 57.461311 86.464312) + (xy 57.508448 86.48833) + (xy 57.514668 86.491499) + (xy 57.520513 86.492424) + (xy 57.520514 86.492425) + (xy 57.53173 86.494201) + (xy 57.606226 86.506) + (xy 58.21482 86.506) + (xy 58.217774 86.506) + (xy 58.309332 86.491499) + (xy 58.419689 86.435269) + (xy 58.481626 86.373332) + (xy 58.520129 86.352751) + (xy 58.563578 86.35703) + (xy 58.597327 86.384727) + (xy 58.61 86.426506) + (xy 58.61 89.087494) + (xy 58.597327 89.129273) + (xy 58.563578 89.15697) + (xy 58.520129 89.161249) + (xy 58.481626 89.140668) + (xy 58.423878 89.08292) + (xy 58.423877 89.082919) + (xy 58.419689 89.078731) + (xy 58.411142 89.074376) + (xy 58.314605 89.025187) + (xy 58.3146 89.025185) + (xy 58.309332 89.022501) + (xy 58.30349 89.021575) + (xy 58.303485 89.021574) + (xy 58.220692 89.008462) + (xy 58.22069 89.008461) + (xy 58.217774 89.008) + (xy 57.606226 89.008) + (xy 57.60331 89.008461) + (xy 57.603307 89.008462) + (xy 57.520514 89.021574) + (xy 57.520507 89.021576) + (xy 57.514668 89.022501) + (xy 57.5094 89.025184) + (xy 57.509394 89.025187) + (xy 57.409587 89.076042) + (xy 57.409583 89.076044) + (xy 57.404311 89.078731) + (xy 57.400124 89.082917) + (xy 57.400121 89.08292) + (xy 57.320917 89.162124) + (xy 57.320914 89.162127) + (xy 57.316731 89.166311) + (xy 57.316112 89.167525) + (xy 57.292796 89.187741) + (xy 57.267655 89.201028) + (xy 57.265146 89.202294) + (xy 57.218567 89.224726) + (xy 57.218564 89.224727) + (xy 57.213491 89.227171) + (xy 57.209363 89.231) + (xy 57.207392 89.232344) + (xy 57.207007 89.232575) + (xy 57.20667 89.232855) + (xy 57.204738 89.23428) + (xy 57.199765 89.23691) + (xy 57.195785 89.240889) + (xy 57.195782 89.240892) + (xy 57.159213 89.27746) + (xy 57.157191 89.279408) + (xy 57.119281 89.314584) + (xy 57.119276 89.314589) + (xy 57.115156 89.318413) + (xy 57.112343 89.323283) + (xy 57.110856 89.325149) + (xy 57.105239 89.331434) + (xy 56.365 90.071674) + (xy 56.32823 90.091889) + (xy 56.286353 90.089254) + (xy 56.252406 90.06459) + (xy 56.23696 90.025576) + (xy 56.244823 89.984359) + (xy 56.274329 89.92645) + (xy 56.277943 89.915328) + (xy 56.291037 89.832653) + (xy 56.2915 89.826781) + (xy 56.2915 89.735902) + (xy 56.289407 89.728092) + (xy 56.281598 89.726) + (xy 55.762902 89.726) + (xy 55.755092 89.728092) + (xy 55.753 89.735902) + (xy 55.753 90.179597) + (xy 55.755092 90.187406) + (xy 55.762902 90.189499) + (xy 55.928779 90.189499) + (xy 55.934654 90.189036) + (xy 56.017328 90.175942) + (xy 56.028449 90.172329) + (xy 56.086359 90.142823) + (xy 56.127576 90.13496) + (xy 56.16659 90.150406) + (xy 56.191254 90.184353) + (xy 56.193889 90.22623) + (xy 56.173675 90.262999) + (xy 55.800698 90.635976) + (xy 55.776305 90.652276) + (xy 55.747527 90.658) + (xy 55.320226 90.658) + (xy 55.31731 90.658461) + (xy 55.317307 90.658462) + (xy 55.234514 90.671574) + (xy 55.234507 90.671576) + (xy 55.228668 90.672501) + (xy 55.2234 90.675184) + (xy 55.223394 90.675187) + (xy 55.123587 90.726042) + (xy 55.123583 90.726044) + (xy 55.118311 90.728731) + (xy 55.114124 90.732917) + (xy 55.114121 90.73292) + (xy 55.03492 90.812121) + (xy 55.034917 90.812124) + (xy 55.030731 90.816311) + (xy 55.028044 90.821583) + (xy 55.028042 90.821587) + (xy 54.977187 90.921394) + (xy 54.977184 90.9214) + (xy 54.974501 90.926668) + (xy 54.973576 90.932507) + (xy 54.973574 90.932514) + (xy 54.962745 91.000893) + (xy 54.96 91.018226) + (xy 54.96 91.479774) + (xy 54.641 91.479774) + (xy 54.641 91.018226) + (xy 54.626499 90.926668) + (xy 54.623146 90.920088) + (xy 54.574081 90.823792) + (xy 54.570269 90.816311) + (xy 54.482689 90.728731) + (xy 54.477412 90.726042) + (xy 54.377605 90.675187) + (xy 54.3776 90.675185) + (xy 54.372332 90.672501) + (xy 54.36649 90.671575) + (xy 54.366485 90.671574) + (xy 54.283692 90.658462) + (xy 54.28369 90.658461) + (xy 54.280774 90.658) + (xy 53.669226 90.658) + (xy 53.66631 90.658461) + (xy 53.666307 90.658462) + (xy 53.583514 90.671574) + (xy 53.583507 90.671576) + (xy 53.577668 90.672501) + (xy 53.5724 90.675184) + (xy 53.572394 90.675187) + (xy 53.472587 90.726042) + (xy 53.472583 90.726044) + (xy 53.467311 90.728731) + (xy 53.463124 90.732917) + (xy 53.463121 90.73292) + (xy 53.414068 90.781974) + (xy 53.389672 90.798276) + (xy 53.360894 90.804) + (xy 53.000351 90.804) + (xy 52.961059 90.792919) + (xy 52.933348 90.76294) + (xy 52.917438 90.731715) + (xy 52.917434 90.731709) + (xy 52.914746 90.726434) + (xy 52.821566 90.633254) + (xy 52.816289 90.630565) + (xy 52.709426 90.576115) + (xy 52.709422 90.576113) + (xy 52.704153 90.573429) + (xy 52.698311 90.572503) + (xy 52.698306 90.572502) + (xy 52.609655 90.558462) + (xy 52.609652 90.558461) + (xy 52.606737 90.558) + (xy 52.603783 90.558) + (xy 52.044218 90.558) + (xy 52.044205 90.558) + (xy 52.041264 90.558001) + (xy 52.03835 90.558462) + (xy 52.038343 90.558463) + (xy 51.949692 90.572503) + (xy 51.94969 90.572503) + (xy 51.943847 90.573429) + (xy 51.938577 90.576113) + (xy 51.938574 90.576115) + (xy 51.83171 90.630565) + (xy 51.831706 90.630567) + (xy 51.826434 90.633254) + (xy 51.822247 90.63744) + (xy 51.822244 90.637443) + (xy 51.737443 90.722244) + (xy 51.73744 90.722247) + (xy 51.733254 90.726434) + (xy 51.730568 90.731704) + (xy 51.730561 90.731715) + (xy 51.714652 90.76294) + (xy 51.686941 90.792919) + (xy 51.647649 90.804) + (xy 51.287106 90.804) + (xy 51.258328 90.798276) + (xy 51.233932 90.781974) + (xy 51.184878 90.73292) + (xy 51.180689 90.728731) + (xy 51.175412 90.726042) + (xy 51.075605 90.675187) + (xy 51.0756 90.675185) + (xy 51.070332 90.672501) + (xy 51.06449 90.671575) + (xy 51.064485 90.671574) + (xy 50.981692 90.658462) + (xy 50.98169 90.658461) + (xy 50.978774 90.658) + (xy 50.367226 90.658) + (xy 50.36431 90.658461) + (xy 50.364307 90.658462) + (xy 50.281514 90.671574) + (xy 50.281507 90.671576) + (xy 50.275668 90.672501) + (xy 50.2704 90.675184) + (xy 50.270394 90.675187) + (xy 50.170587 90.726042) + (xy 50.170583 90.726044) + (xy 50.165311 90.728731) + (xy 50.161124 90.732917) + (xy 50.161121 90.73292) + (xy 50.08192 90.812121) + (xy 50.081917 90.812124) + (xy 50.077731 90.816311) + (xy 50.075044 90.821583) + (xy 50.075042 90.821587) + (xy 50.024187 90.921394) + (xy 50.024184 90.9214) + (xy 50.021501 90.926668) + (xy 50.020576 90.932507) + (xy 50.020574 90.932514) + (xy 50.009745 91.000893) + (xy 50.007 91.018226) + (xy 50.007 91.02118) + (xy 50.007 91.254527) + (xy 50.001276 91.283305) + (xy 49.984974 91.307701) + (xy 49.587374 91.7053) + (xy 49.548871 91.725881) + (xy 49.505422 91.721602) + (xy 49.471673 91.693905) + (xy 49.459 91.652126) + (xy 49.459 90.650884) + (xy 49.459 90.647188) + (xy 49.447918 90.591475) + (xy 49.436767 90.574787) + (xy 49.409817 90.534454) + (xy 49.405703 90.528297) + (xy 49.376505 90.508787) + (xy 49.348683 90.490196) + (xy 49.34868 90.490194) + (xy 49.342525 90.486082) + (xy 49.335261 90.484637) + (xy 49.309752 90.479563) + (xy 49.286812 90.475) + (xy 48.249188 90.475) + (xy 48.245563 90.47572) + (xy 48.245563 90.475721) + (xy 48.200738 90.484637) + (xy 48.200736 90.484637) + (xy 48.193475 90.486082) + (xy 48.187321 90.490193) + (xy 48.187316 90.490196) + (xy 48.136454 90.524182) + (xy 48.136451 90.524184) + (xy 48.130297 90.528297) + (xy 48.126184 90.534451) + (xy 48.126182 90.534454) + (xy 48.092196 90.585316) + (xy 48.092193 90.585321) + (xy 48.088082 90.591475) + (xy 48.086637 90.598736) + (xy 48.086637 90.598738) + (xy 48.07772 90.643564) + (xy 48.077719 90.643572) + (xy 48.077 90.647188) + (xy 48.077 90.650882) + (xy 48.076775 90.653169) + (xy 48.064464 90.687578) + (xy 48.037386 90.71212) + (xy 48.001937 90.721) + (xy 47.514103 90.721) + (xy 47.474811 90.709918) + (xy 47.453907 90.687305) + (xy 47.452436 90.688375) + (xy 47.448957 90.683587) + (xy 47.446269 90.678311) + (xy 47.393026 90.625068) + (xy 47.376724 90.600672) + (xy 47.371 90.571894) + (xy 47.371 90.149106) + (xy 47.376724 90.120328) + (xy 47.393026 90.095932) + (xy 47.417284 90.071674) + (xy 47.446269 90.042689) + (xy 47.502499 89.932332) + (xy 47.517 89.840774) + (xy 47.517 89.229226) + (xy 47.509966 89.184812) + (xy 48.077 89.184812) + (xy 48.088082 89.240525) + (xy 48.092194 89.24668) + (xy 48.092196 89.246683) + (xy 48.126041 89.297334) + (xy 48.130297 89.303703) + (xy 48.136454 89.307817) + (xy 48.187316 89.341803) + (xy 48.187317 89.341803) + (xy 48.193475 89.345918) + (xy 48.249188 89.357) + (xy 48.798527 89.357) + (xy 48.827305 89.362724) + (xy 48.8517 89.379025) + (xy 49.113802 89.641128) + (xy 49.365686 89.893012) + (xy 49.371305 89.899299) + (xy 49.391389 89.924484) + (xy 49.391391 89.924486) + (xy 49.394905 89.928892) + (xy 49.44229 89.961198) + (xy 49.444543 89.962797) + (xy 49.490716 89.996875) + (xy 49.496035 89.998736) + (xy 49.498137 89.999847) + (xy 49.498525 90.000081) + (xy 49.498957 90.00026) + (xy 49.501085 90.001285) + (xy 49.505741 90.004459) + (xy 49.560533 90.02136) + (xy 49.563184 90.022232) + (xy 49.612015 90.03932) + (xy 49.612018 90.03932) + (xy 49.617335 90.041181) + (xy 49.622964 90.041391) + (xy 49.625293 90.041832) + (xy 49.625737 90.041942) + (xy 49.626205 90.041986) + (xy 49.628538 90.042337) + (xy 49.633927 90.044) + (xy 49.691293 90.044) + (xy 49.694103 90.044052) + (xy 49.751386 90.046196) + (xy 49.756831 90.044736) + (xy 49.759173 90.044473) + (xy 49.767593 90.044) + (xy 50.058894 90.044) + (xy 50.087672 90.049724) + (xy 50.112067 90.066025) + (xy 50.165311 90.119269) + (xy 50.196106 90.13496) + (xy 50.269448 90.17233) + (xy 50.275668 90.175499) + (xy 50.281513 90.176424) + (xy 50.281514 90.176425) + (xy 50.287595 90.177388) + (xy 50.367226 90.19) + (xy 50.97582 90.19) + (xy 50.978774 90.19) + (xy 51.070332 90.175499) + (xy 51.180689 90.119269) + (xy 51.268269 90.031689) + (xy 51.324499 89.921332) + (xy 51.327284 89.903746) + (xy 51.6585 89.903746) + (xy 51.658962 89.909618) + (xy 51.672984 89.998151) + (xy 51.676597 90.009271) + (xy 51.730976 90.115994) + (xy 51.737851 90.125456) + (xy 51.822543 90.210148) + (xy 51.832005 90.217023) + (xy 51.938728 90.271402) + (xy 51.949848 90.275015) + (xy 52.038381 90.289037) + (xy 52.044254 90.2895) + (xy 52.187098 90.2895) + (xy 52.194907 90.287407) + (xy 52.197 90.279598) + (xy 52.451 90.279598) + (xy 52.453092 90.287407) + (xy 52.460902 90.2895) + (xy 52.603746 90.2895) + (xy 52.609618 90.289037) + (xy 52.698151 90.275015) + (xy 52.709271 90.271402) + (xy 52.815994 90.217023) + (xy 52.825456 90.210148) + (xy 52.910148 90.125456) + (xy 52.917023 90.115994) + (xy 52.971402 90.009271) + (xy 52.975015 89.998151) + (xy 52.989037 89.909618) + (xy 52.9895 89.903746) + (xy 52.9895 89.826779) + (xy 53.309501 89.826779) + (xy 53.309963 89.832654) + (xy 53.323057 89.915328) + (xy 53.326669 89.926447) + (xy 53.377452 90.026114) + (xy 53.38433 90.03558) + (xy 53.463419 90.114669) + (xy 53.472885 90.121547) + (xy 53.572551 90.17233) + (xy 53.583671 90.175943) + (xy 53.666346 90.189037) + (xy 53.672219 90.1895) + (xy 53.838098 90.1895) + (xy 53.845907 90.187407) + (xy 53.848 90.179598) + (xy 53.848 90.179597) + (xy 54.102 90.179597) + (xy 54.104092 90.187406) + (xy 54.111902 90.189499) + (xy 54.277779 90.189499) + (xy 54.283654 90.189036) + (xy 54.366328 90.175942) + (xy 54.377447 90.17233) + (xy 54.477114 90.121547) + (xy 54.48658 90.114669) + (xy 54.565669 90.03558) + (xy 54.572547 90.026114) + (xy 54.62333 89.926448) + (xy 54.626943 89.915328) + (xy 54.640037 89.832653) + (xy 54.6405 89.826781) + (xy 54.6405 89.826779) + (xy 54.960501 89.826779) + (xy 54.960963 89.832654) + (xy 54.974057 89.915328) + (xy 54.977669 89.926447) + (xy 55.028452 90.026114) + (xy 55.03533 90.03558) + (xy 55.114419 90.114669) + (xy 55.123885 90.121547) + (xy 55.223551 90.17233) + (xy 55.234671 90.175943) + (xy 55.317346 90.189037) + (xy 55.323219 90.1895) + (xy 55.489098 90.1895) + (xy 55.496907 90.187407) + (xy 55.499 90.179598) + (xy 55.499 89.735902) + (xy 55.496907 89.728092) + (xy 55.489098 89.726) + (xy 54.970403 89.726) + (xy 54.962593 89.728092) + (xy 54.960501 89.735902) + (xy 54.960501 89.826779) + (xy 54.6405 89.826779) + (xy 54.6405 89.735902) + (xy 54.638407 89.728092) + (xy 54.630598 89.726) + (xy 54.111902 89.726) + (xy 54.104092 89.728092) + (xy 54.102 89.735902) + (xy 54.102 90.179597) + (xy 53.848 90.179597) + (xy 53.848 89.735902) + (xy 53.845907 89.728092) + (xy 53.838098 89.726) + (xy 53.319403 89.726) + (xy 53.311593 89.728092) + (xy 53.309501 89.735902) + (xy 53.309501 89.826779) + (xy 52.9895 89.826779) + (xy 52.9895 89.785902) + (xy 52.987407 89.778092) + (xy 52.979598 89.776) + (xy 52.460902 89.776) + (xy 52.453092 89.778092) + (xy 52.451 89.785902) + (xy 52.451 90.279598) + (xy 52.197 90.279598) + (xy 52.197 89.785902) + (xy 52.194907 89.778092) + (xy 52.187098 89.776) + (xy 51.668402 89.776) + (xy 51.660592 89.778092) + (xy 51.6585 89.785902) + (xy 51.6585 89.903746) + (xy 51.327284 89.903746) + (xy 51.339 89.829774) + (xy 51.339 89.512098) + (xy 51.6585 89.512098) + (xy 51.660592 89.519907) + (xy 51.668402 89.522) + (xy 52.187098 89.522) + (xy 52.194907 89.519907) + (xy 52.197 89.512098) + (xy 52.451 89.512098) + (xy 52.453092 89.519907) + (xy 52.460902 89.522) + (xy 52.979598 89.522) + (xy 52.987407 89.519907) + (xy 52.9895 89.512098) + (xy 52.9895 89.462098) + (xy 53.3095 89.462098) + (xy 53.311592 89.469907) + (xy 53.319402 89.472) + (xy 53.838098 89.472) + (xy 53.845907 89.469907) + (xy 53.848 89.462098) + (xy 54.102 89.462098) + (xy 54.104092 89.469907) + (xy 54.111902 89.472) + (xy 54.630597 89.472) + (xy 54.638406 89.469907) + (xy 54.640499 89.462098) + (xy 54.9605 89.462098) + (xy 54.962592 89.469907) + (xy 54.970402 89.472) + (xy 55.489098 89.472) + (xy 55.496907 89.469907) + (xy 55.499 89.462098) + (xy 55.753 89.462098) + (xy 55.755092 89.469907) + (xy 55.762902 89.472) + (xy 56.281597 89.472) + (xy 56.289406 89.469907) + (xy 56.291499 89.462098) + (xy 56.291499 89.371221) + (xy 56.291036 89.365345) + (xy 56.277942 89.282671) + (xy 56.27433 89.271552) + (xy 56.223547 89.171885) + (xy 56.216669 89.162419) + (xy 56.13758 89.08333) + (xy 56.128114 89.076452) + (xy 56.028448 89.025669) + (xy 56.017328 89.022056) + (xy 55.934653 89.008962) + (xy 55.928781 89.0085) + (xy 55.762902 89.0085) + (xy 55.755092 89.010592) + (xy 55.753 89.018402) + (xy 55.753 89.462098) + (xy 55.499 89.462098) + (xy 55.499 89.018403) + (xy 55.496907 89.010593) + (xy 55.489098 89.008501) + (xy 55.323221 89.008501) + (xy 55.317345 89.008963) + (xy 55.234671 89.022057) + (xy 55.223552 89.025669) + (xy 55.123885 89.076452) + (xy 55.114419 89.08333) + (xy 55.03533 89.162419) + (xy 55.028452 89.171885) + (xy 54.977669 89.271551) + (xy 54.974056 89.282671) + (xy 54.960962 89.365346) + (xy 54.9605 89.371219) + (xy 54.9605 89.462098) + (xy 54.640499 89.462098) + (xy 54.640499 89.371221) + (xy 54.640036 89.365345) + (xy 54.626942 89.282671) + (xy 54.62333 89.271552) + (xy 54.572547 89.171885) + (xy 54.565669 89.162419) + (xy 54.48658 89.08333) + (xy 54.477114 89.076452) + (xy 54.377448 89.025669) + (xy 54.366328 89.022056) + (xy 54.283653 89.008962) + (xy 54.277781 89.0085) + (xy 54.111902 89.0085) + (xy 54.104092 89.010592) + (xy 54.102 89.018402) + (xy 54.102 89.462098) + (xy 53.848 89.462098) + (xy 53.848 89.018403) + (xy 53.845907 89.010593) + (xy 53.838098 89.008501) + (xy 53.672221 89.008501) + (xy 53.666345 89.008963) + (xy 53.583671 89.022057) + (xy 53.572552 89.025669) + (xy 53.472885 89.076452) + (xy 53.463419 89.08333) + (xy 53.38433 89.162419) + (xy 53.377452 89.171885) + (xy 53.326669 89.271551) + (xy 53.323056 89.282671) + (xy 53.309962 89.365346) + (xy 53.3095 89.371219) + (xy 53.3095 89.462098) + (xy 52.9895 89.462098) + (xy 52.9895 89.394254) + (xy 52.989037 89.388381) + (xy 52.975015 89.299848) + (xy 52.971402 89.288728) + (xy 52.917023 89.182005) + (xy 52.910148 89.172543) + (xy 52.825456 89.087851) + (xy 52.815994 89.080976) + (xy 52.709271 89.026597) + (xy 52.698151 89.022984) + (xy 52.609618 89.008962) + (xy 52.603746 89.0085) + (xy 52.460902 89.0085) + (xy 52.453092 89.010592) + (xy 52.451 89.018402) + (xy 52.451 89.512098) + (xy 52.197 89.512098) + (xy 52.197 89.018402) + (xy 52.194907 89.010592) + (xy 52.187098 89.0085) + (xy 52.044254 89.0085) + (xy 52.038381 89.008962) + (xy 51.949848 89.022984) + (xy 51.938728 89.026597) + (xy 51.832005 89.080976) + (xy 51.822543 89.087851) + (xy 51.737851 89.172543) + (xy 51.730976 89.182005) + (xy 51.676597 89.288728) + (xy 51.672984 89.299848) + (xy 51.658962 89.388381) + (xy 51.6585 89.394254) + (xy 51.6585 89.512098) + (xy 51.339 89.512098) + (xy 51.339 89.368226) + (xy 51.324499 89.276668) + (xy 51.320753 89.269317) + (xy 51.279188 89.187741) + (xy 51.268269 89.166311) + (xy 51.180689 89.078731) + (xy 51.172142 89.074376) + (xy 51.075605 89.025187) + (xy 51.0756 89.025185) + (xy 51.070332 89.022501) + (xy 51.06449 89.021575) + (xy 51.064485 89.021574) + (xy 50.981692 89.008462) + (xy 50.98169 89.008461) + (xy 50.978774 89.008) + (xy 50.367226 89.008) + (xy 50.36431 89.008461) + (xy 50.364307 89.008462) + (xy 50.281514 89.021574) + (xy 50.281507 89.021576) + (xy 50.275668 89.022501) + (xy 50.2704 89.025184) + (xy 50.270394 89.025187) + (xy 50.170587 89.076042) + (xy 50.170583 89.076044) + (xy 50.165311 89.078731) + (xy 50.161124 89.082917) + (xy 50.161121 89.08292) + (xy 50.112068 89.131974) + (xy 50.087672 89.148276) + (xy 50.058894 89.154) + (xy 49.916473 89.154) + (xy 49.887695 89.148276) + (xy 49.863299 89.131974) + (xy 49.481026 88.749701) + (xy 49.464724 88.725305) + (xy 49.459 88.696527) + (xy 49.459 88.150884) + (xy 49.459 88.147188) + (xy 49.447918 88.091475) + (xy 49.439366 88.078677) + (xy 49.409817 88.034454) + (xy 49.405703 88.028297) + (xy 49.399545 88.024182) + (xy 49.348683 87.990196) + (xy 49.34868 87.990194) + (xy 49.342525 87.986082) + (xy 49.335261 87.984637) + (xy 49.316602 87.980925) + (xy 49.286812 87.975) + (xy 48.249188 87.975) + (xy 48.245563 87.97572) + (xy 48.245563 87.975721) + (xy 48.200738 87.984637) + (xy 48.200736 87.984637) + (xy 48.193475 87.986082) + (xy 48.187321 87.990193) + (xy 48.187316 87.990196) + (xy 48.136454 88.024182) + (xy 48.136451 88.024184) + (xy 48.130297 88.028297) + (xy 48.126184 88.034451) + (xy 48.126182 88.034454) + (xy 48.092196 88.085316) + (xy 48.092193 88.085321) + (xy 48.088082 88.091475) + (xy 48.086637 88.098736) + (xy 48.086637 88.098738) + (xy 48.086474 88.099557) + (xy 48.077 88.147188) + (xy 48.077 89.184812) + (xy 47.509966 89.184812) + (xy 47.502499 89.137668) + (xy 47.496716 89.126319) + (xy 47.448957 89.032587) + (xy 47.446269 89.027311) + (xy 47.358689 88.939731) + (xy 47.348246 88.93441) + (xy 47.253605 88.886187) + (xy 47.2536 88.886185) + (xy 47.248332 88.883501) + (xy 47.24249 88.882575) + (xy 47.242485 88.882574) + (xy 47.159692 88.869462) + (xy 47.15969 88.869461) + (xy 47.156774 88.869) + (xy 46.695226 88.869) + (xy 46.69231 88.869461) + (xy 46.692307 88.869462) + (xy 46.609514 88.882574) + (xy 46.609507 88.882576) + (xy 46.603668 88.883501) + (xy 46.5984 88.886184) + (xy 46.598394 88.886187) + (xy 46.498587 88.937042) + (xy 46.498583 88.937044) + (xy 46.493311 88.939731) + (xy 46.489124 88.943917) + (xy 46.489121 88.94392) + (xy 46.40992 89.023121) + (xy 46.409917 89.023124) + (xy 46.405731 89.027311) + (xy 46.403044 89.032583) + (xy 46.403042 89.032587) + (xy 46.352187 89.132394) + (xy 46.352184 89.1324) + (xy 46.349501 89.137668) + (xy 46.348576 89.143507) + (xy 46.348574 89.143514) + (xy 46.335462 89.226307) + (xy 46.335 89.229226) + (xy 46.335 89.840774) + (xy 46.335461 89.84369) + (xy 46.335462 89.843692) + (xy 46.348574 89.926485) + (xy 46.348575 89.92649) + (xy 46.349501 89.932332) + (xy 46.352185 89.9376) + (xy 46.352187 89.937605) + (xy 46.402456 90.036261) + (xy 46.405731 90.042689) + (xy 46.40992 90.046878) + (xy 46.458974 90.095932) + (xy 46.475276 90.120328) + (xy 46.481 90.149106) + (xy 46.481 90.571894) + (xy 46.475276 90.600672) + (xy 46.458974 90.625068) + (xy 46.40992 90.674121) + (xy 46.409917 90.674124) + (xy 46.405731 90.678311) + (xy 46.403044 90.683583) + (xy 46.403042 90.683587) + (xy 46.352187 90.783394) + (xy 46.352184 90.7834) + (xy 46.349501 90.788668) + (xy 46.348576 90.794507) + (xy 46.348574 90.794514) + (xy 46.336026 90.873746) + (xy 46.335 90.880226) + (xy 46.335 91.491774) + (xy 46.335461 91.49469) + (xy 46.335462 91.494692) + (xy 46.348574 91.577485) + (xy 46.348575 91.57749) + (xy 46.349501 91.583332) + (xy 46.352185 91.5886) + (xy 46.352187 91.588605) + (xy 46.403042 91.688412) + (xy 46.405731 91.693689) + (xy 46.493311 91.781269) + (xy 46.526842 91.798354) + (xy 46.590571 91.830826) + (xy 46.603668 91.837499) + (xy 46.609513 91.838424) + (xy 46.609514 91.838425) + (xy 46.619453 91.839999) + (xy 46.695226 91.852) + (xy 47.15382 91.852) + (xy 47.156774 91.852) + (xy 47.248332 91.837499) + (xy 47.358689 91.781269) + (xy 47.446269 91.693689) + (xy 47.467479 91.65206) + (xy 47.495192 91.622081) + (xy 47.534484 91.611) + (xy 48.001937 91.611) + (xy 48.037386 91.61988) + (xy 48.064464 91.644422) + (xy 48.076775 91.678831) + (xy 48.077 91.681118) + (xy 48.077 91.684812) + (xy 48.077719 91.688428) + (xy 48.07772 91.688435) + (xy 48.086637 91.733261) + (xy 48.088082 91.740525) + (xy 48.092194 91.74668) + (xy 48.092196 91.746683) + (xy 48.123677 91.793796) + (xy 48.130297 91.803703) + (xy 48.136454 91.807817) + (xy 48.187316 91.841803) + (xy 48.187317 91.841803) + (xy 48.193475 91.845918) + (xy 48.249188 91.857) + (xy 48.252885 91.857) + (xy 48.255169 91.857225) + (xy 48.289578 91.869536) + (xy 48.31412 91.896614) + (xy 48.323 91.932063) + (xy 48.323 92.240527) + (xy 48.317276 92.269305) + (xy 48.300974 92.293701) + (xy 48.224701 92.369974) + (xy 48.200305 92.386276) + (xy 48.171527 92.392) + (xy 47.562917 92.392) + (xy 47.531137 92.384955) + (xy 47.479361 92.360812) + (xy 47.461619 92.352539) + (xy 47.455917 92.351788) + (xy 47.455916 92.351788) + (xy 47.414385 92.34632) + (xy 47.41438 92.346319) + (xy 47.411952 92.346) + (xy 45.682048 92.346) + (xy 45.67962 92.346319) + (xy 45.679614 92.34632) + (xy 45.638083 92.351788) + (xy 45.638081 92.351788) + (xy 45.632381 92.352539) + (xy 45.627174 92.354966) + (xy 45.627167 92.354969) + (xy 45.529354 92.40058) + (xy 45.529352 92.400581) + (xy 45.523393 92.40336) + (xy 45.518743 92.408009) + (xy 45.51874 92.408012) + (xy 45.443012 92.48374) + (xy 45.443009 92.483743) + (xy 45.43836 92.488393) + (xy 45.435581 92.494352) + (xy 45.43558 92.494354) + (xy 45.389969 92.592167) + (xy 45.389966 92.592174) + (xy 45.387539 92.597381) + (xy 45.386788 92.603081) + (xy 45.386788 92.603083) + (xy 45.381469 92.643487) + (xy 45.381 92.647048) + (xy 45.381 93.026952) + (xy 44.888277 93.026952) + (xy 44.658321 92.796996) + (xy 44.652701 92.790708) + (xy 44.632611 92.765516) + (xy 44.632608 92.765513) + (xy 44.629095 92.761108) + (xy 44.624438 92.757932) + (xy 44.624435 92.75793) + (xy 44.581731 92.728814) + (xy 44.57944 92.727188) + (xy 44.537822 92.696473) + (xy 44.537816 92.69647) + (xy 44.533284 92.693125) + (xy 44.527965 92.691263) + (xy 44.525862 92.690152) + (xy 44.525476 92.689919) + (xy 44.525052 92.689744) + (xy 44.522913 92.688714) + (xy 44.518259 92.685541) + (xy 44.512876 92.68388) + (xy 44.512875 92.68388) + (xy 44.463471 92.66864) + (xy 44.460802 92.667761) + (xy 44.411988 92.650681) + (xy 44.411984 92.65068) + (xy 44.406665 92.648819) + (xy 44.401031 92.648607) + (xy 44.398702 92.648167) + (xy 44.398256 92.648056) + (xy 44.397817 92.648015) + (xy 44.395451 92.647658) + (xy 44.390073 92.646) + (xy 44.384441 92.646) + (xy 44.349293 92.646) + (xy 44.31 92.634918) + (xy 44.282289 92.604939) + (xy 44.273958 92.588589) + (xy 44.271269 92.583311) + (xy 44.183689 92.495731) + (xy 44.178412 92.493042) + (xy 44.078605 92.442187) + (xy 44.0786 92.442185) + (xy 44.073332 92.439501) + (xy 44.06749 92.438575) + (xy 44.067485 92.438574) + (xy 43.984692 92.425462) + (xy 43.98469 92.425461) + (xy 43.981774 92.425) + (xy 43.97882 92.425) + (xy 43.841473 92.425) + (xy 43.812695 92.419276) + (xy 43.788299 92.402974) + (xy 43.343795 91.95847) + (xy 43.32229 91.914135) + (xy 43.33285 91.866005) + (xy 43.37094 91.834744) + (xy 43.420206 91.833776) + (xy 43.423394 91.834812) + (xy 43.428668 91.837499) + (xy 43.434513 91.838424) + (xy 43.434514 91.838425) + (xy 43.444453 91.839999) + (xy 43.520226 91.852) + (xy 43.97882 91.852) + (xy 43.981774 91.852) + (xy 44.073332 91.837499) + (xy 44.183689 91.781269) + (xy 44.271269 91.693689) + (xy 44.276859 91.682718) + (xy 44.282291 91.672059) + (xy 44.310003 91.642081) + (xy 44.349294 91.631) + (xy 44.677706 91.631) + (xy 44.716997 91.642081) + (xy 44.744709 91.672059) + (xy 44.75304 91.688409) + (xy 44.753042 91.688412) + (xy 44.755731 91.693689) + (xy 44.843311 91.781269) + (xy 44.876842 91.798354) + (xy 44.940571 91.830826) + (xy 44.953668 91.837499) + (xy 44.959513 91.838424) + (xy 44.959514 91.838425) + (xy 44.969453 91.839999) + (xy 45.045226 91.852) + (xy 45.50382 91.852) + (xy 45.506774 91.852) + (xy 45.598332 91.837499) + (xy 45.708689 91.781269) + (xy 45.796269 91.693689) + (xy 45.852499 91.583332) + (xy 45.867 91.491774) + (xy 45.867 90.880226) + (xy 45.852499 90.788668) + (xy 45.848936 90.781676) + (xy 45.805945 90.697301) + (xy 45.796269 90.678311) + (xy 45.743026 90.625068) + (xy 45.726724 90.600672) + (xy 45.721 90.571894) + (xy 45.721 90.149106) + (xy 45.726724 90.120328) + (xy 45.743026 90.095932) + (xy 45.767284 90.071674) + (xy 45.796269 90.042689) + (xy 45.852499 89.932332) + (xy 45.867 89.840774) + (xy 45.867 89.229226) + (xy 45.852499 89.137668) + (xy 45.846716 89.126319) + (xy 45.798957 89.032587) + (xy 45.796269 89.027311) + (xy 45.708689 88.939731) + (xy 45.698246 88.93441) + (xy 45.603605 88.886187) + (xy 45.6036 88.886185) + (xy 45.598332 88.883501) + (xy 45.59249 88.882575) + (xy 45.592485 88.882574) + (xy 45.509692 88.869462) + (xy 45.50969 88.869461) + (xy 45.506774 88.869) + (xy 45.045226 88.869) + (xy 45.04231 88.869461) + (xy 45.042307 88.869462) + (xy 44.959514 88.882574) + (xy 44.959507 88.882576) + (xy 44.953668 88.883501) + (xy 44.9484 88.886184) + (xy 44.948394 88.886187) + (xy 44.848587 88.937042) + (xy 44.848583 88.937044) + (xy 44.843311 88.939731) + (xy 44.839124 88.943917) + (xy 44.839121 88.94392) + (xy 44.75992 89.023121) + (xy 44.759917 89.023124) + (xy 44.755731 89.027311) + (xy 44.753044 89.032583) + (xy 44.753042 89.032587) + (xy 44.702187 89.132394) + (xy 44.702184 89.1324) + (xy 44.699501 89.137668) + (xy 44.698576 89.143507) + (xy 44.698574 89.143514) + (xy 44.685462 89.226307) + (xy 44.685 89.229226) + (xy 44.685 89.840774) + (xy 44.685461 89.84369) + (xy 44.685462 89.843692) + (xy 44.698574 89.926485) + (xy 44.698575 89.92649) + (xy 44.699501 89.932332) + (xy 44.702185 89.9376) + (xy 44.702187 89.937605) + (xy 44.752456 90.036261) + (xy 44.755731 90.042689) + (xy 44.75992 90.046878) + (xy 44.808974 90.095932) + (xy 44.825276 90.120328) + (xy 44.831 90.149106) + (xy 44.831 90.571894) + (xy 44.825276 90.600672) + (xy 44.808974 90.625068) + (xy 44.75992 90.674121) + (xy 44.759917 90.674124) + (xy 44.755731 90.678311) + (xy 44.753043 90.683584) + (xy 44.75304 90.68359) + (xy 44.744709 90.699941) + (xy 44.716997 90.729919) + (xy 44.677706 90.741) + (xy 44.349294 90.741) + (xy 44.310003 90.729919) + (xy 44.282291 90.699941) + (xy 44.273959 90.68359) + (xy 44.273957 90.683587) + (xy 44.271269 90.678311) + (xy 44.218026 90.625068) + (xy 44.201724 90.600672) + (xy 44.196 90.571894) + (xy 44.196 90.149106) + (xy 44.201724 90.120328) + (xy 44.218026 90.095932) + (xy 44.242284 90.071674) + (xy 44.271269 90.042689) + (xy 44.327499 89.932332) + (xy 44.342 89.840774) + (xy 44.342 89.229226) + (xy 44.327499 89.137668) + (xy 44.321716 89.126319) + (xy 44.273957 89.032587) + (xy 44.271269 89.027311) + (xy 44.183689 88.939731) + (xy 44.173246 88.93441) + (xy 44.078605 88.886187) + (xy 44.0786 88.886185) + (xy 44.073332 88.883501) + (xy 44.06749 88.882575) + (xy 44.067485 88.882574) + (xy 43.984692 88.869462) + (xy 43.98469 88.869461) + (xy 43.981774 88.869) + (xy 43.520226 88.869) + (xy 43.51731 88.869461) + (xy 43.517307 88.869462) + (xy 43.434514 88.882574) + (xy 43.434507 88.882576) + (xy 43.428668 88.883501) + (xy 43.4234 88.886184) + (xy 43.423394 88.886187) + (xy 43.323587 88.937042) + (xy 43.323583 88.937044) + (xy 43.318311 88.939731) + (xy 43.314124 88.943917) + (xy 43.314121 88.94392) + (xy 43.23492 89.023121) + (xy 43.234917 89.023124) + (xy 43.230731 89.027311) + (xy 43.228044 89.032583) + (xy 43.228042 89.032587) + (xy 43.177187 89.132394) + (xy 43.177184 89.1324) + (xy 43.174501 89.137668) + (xy 43.173576 89.143507) + (xy 43.173574 89.143514) + (xy 43.160462 89.226307) + (xy 43.16 89.229226) + (xy 43.16 89.840774) + (xy 43.160461 89.84369) + (xy 43.160462 89.843692) + (xy 43.173574 89.926485) + (xy 43.173575 89.92649) + (xy 43.174501 89.932332) + (xy 43.177185 89.9376) + (xy 43.177187 89.937605) + (xy 43.227456 90.036261) + (xy 43.230731 90.042689) + (xy 43.23492 90.046878) + (xy 43.283974 90.095932) + (xy 43.300276 90.120328) + (xy 43.306 90.149106) + (xy 43.306 90.571894) + (xy 43.300276 90.600672) + (xy 43.283974 90.625068) + (xy 43.23492 90.674121) + (xy 43.234917 90.674124) + (xy 43.230731 90.678311) + (xy 43.228044 90.683583) + (xy 43.228042 90.683587) + (xy 43.177187 90.783394) + (xy 43.177184 90.7834) + (xy 43.174501 90.788668) + (xy 43.173576 90.794507) + (xy 43.173574 90.794514) + (xy 43.161026 90.873746) + (xy 43.16 90.880226) + (xy 43.16 91.491774) + (xy 43.160461 91.49469) + (xy 43.160462 91.494692) + (xy 43.173575 91.57749) + (xy 43.173576 91.577494) + (xy 43.174501 91.583332) + (xy 43.177184 91.588598) + (xy 43.178223 91.591795) + (xy 43.177254 91.64106) + (xy 43.145994 91.679149) + (xy 43.097863 91.689709) + (xy 43.053529 91.668204) + (xy 42.714026 91.328701) + (xy 42.697724 91.304305) + (xy 42.692 91.275527) + (xy 42.692 90.88318) + (xy 42.692 90.880226) + (xy 42.677499 90.788668) + (xy 42.673936 90.781676) + (xy 42.630945 90.697301) + (xy 42.621269 90.678311) + (xy 42.568026 90.625068) + (xy 42.551724 90.600672) + (xy 42.546 90.571894) + (xy 42.546 90.149106) + (xy 42.551724 90.120328) + (xy 42.568026 90.095932) + (xy 42.592284 90.071674) + (xy 42.621269 90.042689) + (xy 42.677499 89.932332) + (xy 42.692 89.840774) + (xy 42.692 89.229226) + (xy 42.677499 89.137668) + (xy 42.671716 89.126319) + (xy 42.623957 89.032587) + (xy 42.621269 89.027311) + (xy 42.533689 88.939731) + (xy 42.523246 88.93441) + (xy 42.428605 88.886187) + (xy 42.4286 88.886185) + (xy 42.423332 88.883501) + (xy 42.41749 88.882575) + (xy 42.417485 88.882574) + (xy 42.334692 88.869462) + (xy 42.33469 88.869461) + (xy 42.331774 88.869) + (xy 41.870226 88.869) + (xy 41.86731 88.869461) + (xy 41.867307 88.869462) + (xy 41.784514 88.882574) + (xy 41.784507 88.882576) + (xy 41.778668 88.883501) + (xy 41.7734 88.886184) + (xy 41.773394 88.886187) + (xy 41.673587 88.937042) + (xy 41.673583 88.937044) + (xy 41.668311 88.939731) + (xy 41.664124 88.943917) + (xy 41.664121 88.94392) + (xy 41.58492 89.023121) + (xy 41.584917 89.023124) + (xy 41.580731 89.027311) + (xy 41.578044 89.032583) + (xy 41.578042 89.032587) + (xy 41.527187 89.132394) + (xy 41.527184 89.1324) + (xy 41.524501 89.137668) + (xy 41.523576 89.143507) + (xy 41.523574 89.143514) + (xy 41.510462 89.226307) + (xy 41.51 89.229226) + (xy 41.51 89.840774) + (xy 41.510461 89.84369) + (xy 41.510462 89.843692) + (xy 41.523574 89.926485) + (xy 41.523575 89.92649) + (xy 41.524501 89.932332) + (xy 41.527185 89.9376) + (xy 41.527187 89.937605) + (xy 41.577456 90.036261) + (xy 41.580731 90.042689) + (xy 41.58492 90.046878) + (xy 41.633974 90.095932) + (xy 41.650276 90.120328) + (xy 41.656 90.149106) + (xy 41.656 90.571894) + (xy 41.650276 90.600672) + (xy 41.633974 90.625068) + (xy 41.58492 90.674121) + (xy 41.584917 90.674124) + (xy 41.580731 90.678311) + (xy 41.578044 90.683583) + (xy 41.578042 90.683587) + (xy 41.527187 90.783394) + (xy 41.527184 90.7834) + (xy 41.524501 90.788668) + (xy 41.523576 90.794507) + (xy 41.523574 90.794514) + (xy 41.511026 90.873746) + (xy 41.51 90.880226) + (xy 41.51 91.491774) + (xy 41.510461 91.49469) + (xy 41.510462 91.494692) + (xy 41.523574 91.577485) + (xy 41.523575 91.57749) + (xy 41.524501 91.583332) + (xy 41.527185 91.5886) + (xy 41.527187 91.588605) + (xy 41.578042 91.688412) + (xy 41.580731 91.693689) + (xy 41.668311 91.781269) + (xy 41.701842 91.798354) + (xy 41.765571 91.830826) + (xy 41.778668 91.837499) + (xy 41.784513 91.838424) + (xy 41.784514 91.838425) + (xy 41.794453 91.839999) + (xy 41.870226 91.852) + (xy 41.947527 91.852) + (xy 41.976305 91.857724) + (xy 42.000701 91.874026) + (xy 42.429404 92.302729) + (xy 42.450504 92.344139) + (xy 42.443234 92.390042) + (xy 42.410371 92.422906) + (xy 42.364468 92.430177) + (xy 42.334697 92.425462) + (xy 42.334685 92.425461) + (xy 42.331774 92.425) + (xy 41.870226 92.425) + (xy 41.86731 92.425461) + (xy 41.867307 92.425462) + (xy 41.784514 92.438574) + (xy 41.784507 92.438576) + (xy 41.778668 92.439501) + (xy 41.7734 92.442184) + (xy 41.773394 92.442187) + (xy 41.673587 92.493042) + (xy 41.673583 92.493044) + (xy 41.668311 92.495731) + (xy 41.664124 92.499917) + (xy 41.664121 92.49992) + (xy 41.58492 92.579121) + (xy 41.584917 92.579124) + (xy 41.580731 92.583311) + (xy 41.578043 92.588584) + (xy 41.57804 92.58859) + (xy 41.569709 92.604941) + (xy 41.541997 92.634919) + (xy 41.502706 92.646) + (xy 41.079609 92.646) + (xy 41.062876 92.644114) + (xy 41.05463 92.642232) + (xy 41.049009 92.642653) + (xy 41.049007 92.642653) + (xy 41.007153 92.64579) + (xy 41.001533 92.646) + (xy 40.704917 92.646) + (xy 40.673137 92.638955) + (xy 40.638983 92.623029) + (xy 40.603619 92.606539) + (xy 40.597917 92.605788) + (xy 40.597916 92.605788) + (xy 40.556385 92.60032) + (xy 40.55638 92.600319) + (xy 40.553952 92.6) + (xy 39.401873 92.6) + (xy 39.360095 92.587327) + (xy 39.332398 92.55358) + (xy 39.328117 92.510132) + (xy 39.348696 92.471628) + (xy 39.352124 92.4682) + (xy 39.357821 92.462502) + (xy 39.359766 92.460628) + (xy 39.401844 92.421587) + (xy 39.404664 92.4167) + (xy 39.406137 92.414854) + (xy 39.41175 92.408573) + (xy 39.664014 92.156309) + (xy 39.670283 92.150706) + (xy 39.699892 92.127095) + (xy 39.732182 92.079731) + (xy 39.733811 92.077437) + (xy 39.764525 92.035823) + (xy 39.764525 92.035822) + (xy 39.767875 92.031284) + (xy 39.769737 92.025959) + (xy 39.770843 92.023868) + (xy 39.77108 92.023474) + (xy 39.771264 92.023031) + (xy 39.77228 92.02092) + (xy 39.775459 92.016259) + (xy 39.792383 91.961389) + (xy 39.793227 91.958825) + (xy 39.81218 91.904665) + (xy 39.81239 91.899027) + (xy 39.812827 91.896722) + (xy 39.812941 91.89626) + (xy 39.812984 91.895807) + (xy 39.813337 91.893461) + (xy 39.815 91.888073) + (xy 39.815 91.830697) + (xy 39.815053 91.827885) + (xy 39.815898 91.80529) + (xy 39.817196 91.770614) + (xy 39.815736 91.765168) + (xy 39.815473 91.762827) + (xy 39.815 91.754407) + (xy 39.815 88.2772) + (xy 39.825075 88.2396) + (xy 39.8526 88.212075) + (xy 39.8902 88.202) + (xy 46.99812 88.202) + (xy 47.02936 88.208796) + (xy 47.031394 88.209724) + (xy 47.035919 88.212633) + (xy 47.172715 88.2528) + (xy 47.309904 88.2528) + (xy 47.315285 88.2528) + (xy 47.452081 88.212633) + (xy 47.572018 88.135553) + (xy 47.665382 88.027806) + (xy 47.724608 87.898119) + (xy 47.744898 87.757) + (xy 47.724608 87.615881) + (xy 47.665382 87.486194) + (xy 47.572018 87.378447) + (xy 47.567496 87.375541) + (xy 47.567494 87.375539) + (xy 47.553915 87.366812) + (xy 48.077 87.366812) + (xy 48.088082 87.422525) + (xy 48.092194 87.42868) + (xy 48.092196 87.428683) + (xy 48.126182 87.479545) + (xy 48.130297 87.485703) + (xy 48.136454 87.489817) + (xy 48.187316 87.523803) + (xy 48.187317 87.523803) + (xy 48.193475 87.527918) + (xy 48.249188 87.539) + (xy 49.283116 87.539) + (xy 49.286812 87.539) + (xy 49.342525 87.527918) + (xy 49.405703 87.485703) + (xy 49.447918 87.422525) + (xy 49.459 87.366812) + (xy 49.459 86.817473) + (xy 49.464724 86.788695) + (xy 49.481026 86.764299) + (xy 49.8633 86.382026) + (xy 49.887696 86.365724) + (xy 49.916474 86.36) + (xy 50.058894 86.36) + (xy 50.087672 86.365724) + (xy 50.112068 86.382026) + (xy 50.165311 86.435269) + (xy 50.222311 86.464312) + (xy 50.269448 86.48833) + (xy 50.275668 86.491499) + (xy 50.281513 86.492424) + (xy 50.281514 86.492425) + (xy 50.29273 86.494201) + (xy 50.367226 86.506) + (xy 50.97582 86.506) + (xy 50.978774 86.506) + (xy 51.070332 86.491499) + (xy 51.180689 86.435269) + (xy 51.268269 86.347689) + (xy 51.324499 86.237332) + (xy 51.339 86.145774) + (xy 51.339 86.119746) + (xy 51.6585 86.119746) + (xy 51.658962 86.125618) + (xy 51.672984 86.214151) + (xy 51.676597 86.225271) + (xy 51.730976 86.331994) + (xy 51.737851 86.341456) + (xy 51.822543 86.426148) + (xy 51.832005 86.433023) + (xy 51.938728 86.487402) + (xy 51.949848 86.491015) + (xy 52.038381 86.505037) + (xy 52.044254 86.5055) + (xy 52.187098 86.5055) + (xy 52.194907 86.503407) + (xy 52.197 86.495598) + (xy 52.451 86.495598) + (xy 52.453092 86.503407) + (xy 52.460902 86.5055) + (xy 52.603746 86.5055) + (xy 52.609618 86.505037) + (xy 52.698151 86.491015) + (xy 52.709271 86.487402) + (xy 52.815994 86.433023) + (xy 52.825456 86.426148) + (xy 52.910148 86.341456) + (xy 52.917023 86.331994) + (xy 52.971402 86.225271) + (xy 52.975015 86.214151) + (xy 52.986319 86.142779) + (xy 53.309501 86.142779) + (xy 53.309963 86.148654) + (xy 53.323057 86.231328) + (xy 53.326669 86.242447) + (xy 53.377452 86.342114) + (xy 53.38433 86.35158) + (xy 53.463419 86.430669) + (xy 53.472885 86.437547) + (xy 53.572551 86.48833) + (xy 53.583671 86.491943) + (xy 53.666346 86.505037) + (xy 53.672219 86.5055) + (xy 53.838098 86.5055) + (xy 53.845907 86.503407) + (xy 53.848 86.495598) + (xy 53.848 86.495597) + (xy 54.102 86.495597) + (xy 54.104092 86.503406) + (xy 54.111902 86.505499) + (xy 54.277779 86.505499) + (xy 54.283654 86.505036) + (xy 54.366328 86.491942) + (xy 54.377447 86.48833) + (xy 54.477114 86.437547) + (xy 54.48658 86.430669) + (xy 54.565669 86.35158) + (xy 54.572547 86.342114) + (xy 54.62333 86.242448) + (xy 54.626943 86.231328) + (xy 54.640037 86.148653) + (xy 54.6405 86.142781) + (xy 54.6405 86.142779) + (xy 54.960501 86.142779) + (xy 54.960963 86.148654) + (xy 54.974057 86.231328) + (xy 54.977669 86.242447) + (xy 55.028452 86.342114) + (xy 55.03533 86.35158) + (xy 55.114419 86.430669) + (xy 55.123885 86.437547) + (xy 55.223551 86.48833) + (xy 55.234671 86.491943) + (xy 55.317346 86.505037) + (xy 55.323219 86.5055) + (xy 55.489098 86.5055) + (xy 55.496907 86.503407) + (xy 55.499 86.495598) + (xy 55.499 86.495597) + (xy 55.753 86.495597) + (xy 55.755092 86.503406) + (xy 55.762902 86.505499) + (xy 55.928779 86.505499) + (xy 55.934654 86.505036) + (xy 56.017328 86.491942) + (xy 56.028447 86.48833) + (xy 56.128114 86.437547) + (xy 56.13758 86.430669) + (xy 56.216669 86.35158) + (xy 56.223547 86.342114) + (xy 56.27433 86.242448) + (xy 56.277943 86.231328) + (xy 56.291037 86.148653) + (xy 56.2915 86.142781) + (xy 56.2915 86.051902) + (xy 56.289407 86.044092) + (xy 56.281598 86.042) + (xy 55.762902 86.042) + (xy 55.755092 86.044092) + (xy 55.753 86.051902) + (xy 55.753 86.495597) + (xy 55.499 86.495597) + (xy 55.499 86.051902) + (xy 55.496907 86.044092) + (xy 55.489098 86.042) + (xy 54.970403 86.042) + (xy 54.962593 86.044092) + (xy 54.960501 86.051902) + (xy 54.960501 86.142779) + (xy 54.6405 86.142779) + (xy 54.6405 86.051902) + (xy 54.638407 86.044092) + (xy 54.630598 86.042) + (xy 54.111902 86.042) + (xy 54.104092 86.044092) + (xy 54.102 86.051902) + (xy 54.102 86.495597) + (xy 53.848 86.495597) + (xy 53.848 86.051902) + (xy 53.845907 86.044092) + (xy 53.838098 86.042) + (xy 53.319403 86.042) + (xy 53.311593 86.044092) + (xy 53.309501 86.051902) + (xy 53.309501 86.142779) + (xy 52.986319 86.142779) + (xy 52.989037 86.125618) + (xy 52.9895 86.119746) + (xy 52.9895 86.001902) + (xy 52.987407 85.994092) + (xy 52.979598 85.992) + (xy 52.460902 85.992) + (xy 52.453092 85.994092) + (xy 52.451 86.001902) + (xy 52.451 86.495598) + (xy 52.197 86.495598) + (xy 52.197 86.001902) + (xy 52.194907 85.994092) + (xy 52.187098 85.992) + (xy 51.668402 85.992) + (xy 51.660592 85.994092) + (xy 51.6585 86.001902) + (xy 51.6585 86.119746) + (xy 51.339 86.119746) + (xy 51.339 85.778098) + (xy 53.3095 85.778098) + (xy 53.311592 85.785907) + (xy 53.319402 85.788) + (xy 53.838098 85.788) + (xy 53.845907 85.785907) + (xy 53.848 85.778098) + (xy 54.102 85.778098) + (xy 54.104092 85.785907) + (xy 54.111902 85.788) + (xy 54.630597 85.788) + (xy 54.638406 85.785907) + (xy 54.640499 85.778098) + (xy 54.9605 85.778098) + (xy 54.962592 85.785907) + (xy 54.970402 85.788) + (xy 55.489098 85.788) + (xy 55.496907 85.785907) + (xy 55.499 85.778098) + (xy 55.753 85.778098) + (xy 55.755092 85.785907) + (xy 55.762902 85.788) + (xy 56.281597 85.788) + (xy 56.289406 85.785907) + (xy 56.291499 85.778098) + (xy 56.291499 85.687221) + (xy 56.291036 85.681345) + (xy 56.277942 85.598671) + (xy 56.27433 85.587552) + (xy 56.223547 85.487885) + (xy 56.216669 85.478419) + (xy 56.13758 85.39933) + (xy 56.128114 85.392452) + (xy 56.028448 85.341669) + (xy 56.017328 85.338056) + (xy 55.934653 85.324962) + (xy 55.928781 85.3245) + (xy 55.762902 85.3245) + (xy 55.755092 85.326592) + (xy 55.753 85.334402) + (xy 55.753 85.778098) + (xy 55.499 85.778098) + (xy 55.499 85.334403) + (xy 55.496907 85.326593) + (xy 55.489098 85.324501) + (xy 55.323221 85.324501) + (xy 55.317345 85.324963) + (xy 55.234671 85.338057) + (xy 55.223552 85.341669) + (xy 55.123885 85.392452) + (xy 55.114419 85.39933) + (xy 55.03533 85.478419) + (xy 55.028452 85.487885) + (xy 54.977669 85.587551) + (xy 54.974056 85.598671) + (xy 54.960962 85.681346) + (xy 54.9605 85.687219) + (xy 54.9605 85.778098) + (xy 54.640499 85.778098) + (xy 54.640499 85.687221) + (xy 54.640036 85.681345) + (xy 54.626942 85.598671) + (xy 54.62333 85.587552) + (xy 54.572547 85.487885) + (xy 54.565669 85.478419) + (xy 54.48658 85.39933) + (xy 54.477114 85.392452) + (xy 54.377448 85.341669) + (xy 54.366328 85.338056) + (xy 54.283653 85.324962) + (xy 54.277781 85.3245) + (xy 54.111902 85.3245) + (xy 54.104092 85.326592) + (xy 54.102 85.334402) + (xy 54.102 85.778098) + (xy 53.848 85.778098) + (xy 53.848 85.334403) + (xy 53.845907 85.326593) + (xy 53.838098 85.324501) + (xy 53.672221 85.324501) + (xy 53.666345 85.324963) + (xy 53.583671 85.338057) + (xy 53.572552 85.341669) + (xy 53.472885 85.392452) + (xy 53.463419 85.39933) + (xy 53.38433 85.478419) + (xy 53.377452 85.487885) + (xy 53.326669 85.587551) + (xy 53.323056 85.598671) + (xy 53.309962 85.681346) + (xy 53.3095 85.687219) + (xy 53.3095 85.778098) + (xy 51.339 85.778098) + (xy 51.339 85.728098) + (xy 51.6585 85.728098) + (xy 51.660592 85.735907) + (xy 51.668402 85.738) + (xy 52.187098 85.738) + (xy 52.194907 85.735907) + (xy 52.197 85.728098) + (xy 52.451 85.728098) + (xy 52.453092 85.735907) + (xy 52.460902 85.738) + (xy 52.979598 85.738) + (xy 52.987407 85.735907) + (xy 52.9895 85.728098) + (xy 52.9895 85.610254) + (xy 52.989037 85.604381) + (xy 52.975015 85.515848) + (xy 52.971402 85.504728) + (xy 52.917023 85.398005) + (xy 52.910148 85.388543) + (xy 52.825456 85.303851) + (xy 52.815994 85.296976) + (xy 52.709271 85.242597) + (xy 52.698151 85.238984) + (xy 52.609618 85.224962) + (xy 52.603746 85.2245) + (xy 52.460902 85.2245) + (xy 52.453092 85.226592) + (xy 52.451 85.234402) + (xy 52.451 85.728098) + (xy 52.197 85.728098) + (xy 52.197 85.234402) + (xy 52.194907 85.226592) + (xy 52.187098 85.2245) + (xy 52.044254 85.2245) + (xy 52.038381 85.224962) + (xy 51.949848 85.238984) + (xy 51.938728 85.242597) + (xy 51.832005 85.296976) + (xy 51.822543 85.303851) + (xy 51.737851 85.388543) + (xy 51.730976 85.398005) + (xy 51.676597 85.504728) + (xy 51.672984 85.515848) + (xy 51.658962 85.604381) + (xy 51.6585 85.610254) + (xy 51.6585 85.728098) + (xy 51.339 85.728098) + (xy 51.339 85.684226) + (xy 51.324499 85.592668) + (xy 51.320959 85.585721) + (xy 51.270957 85.487587) + (xy 51.268269 85.482311) + (xy 51.180689 85.394731) + (xy 51.175412 85.392042) + (xy 51.075605 85.341187) + (xy 51.0756 85.341185) + (xy 51.070332 85.338501) + (xy 51.06449 85.337575) + (xy 51.064485 85.337574) + (xy 50.981692 85.324462) + (xy 50.98169 85.324461) + (xy 50.978774 85.324) + (xy 50.367226 85.324) + (xy 50.36431 85.324461) + (xy 50.364307 85.324462) + (xy 50.281514 85.337574) + (xy 50.281507 85.337576) + (xy 50.275668 85.338501) + (xy 50.2704 85.341184) + (xy 50.270394 85.341187) + (xy 50.170587 85.392042) + (xy 50.170583 85.392044) + (xy 50.165311 85.394731) + (xy 50.161124 85.398917) + (xy 50.161121 85.39892) + (xy 50.112068 85.447974) + (xy 50.087672 85.464276) + (xy 50.058894 85.47) + (xy 49.730207 85.47) + (xy 49.721788 85.469527) + (xy 49.68977 85.465919) + (xy 49.689765 85.465919) + (xy 49.684173 85.465289) + (xy 49.678639 85.466335) + (xy 49.678636 85.466336) + (xy 49.627837 85.475947) + (xy 49.625067 85.476418) + (xy 49.573924 85.484127) + (xy 49.573922 85.484127) + (xy 49.568353 85.484967) + (xy 49.563279 85.487409) + (xy 49.560993 85.488115) + (xy 49.560563 85.488221) + (xy 49.560138 85.488398) + (xy 49.557901 85.48918) + (xy 49.552366 85.490228) + (xy 49.547391 85.492857) + (xy 49.547383 85.49286) + (xy 49.501653 85.517028) + (xy 49.499147 85.518293) + (xy 49.452565 85.540727) + (xy 49.452562 85.540728) + (xy 49.447491 85.543171) + (xy 49.443363 85.546999) + (xy 49.441392 85.548344) + (xy 49.441007 85.548575) + (xy 49.44067 85.548855) + (xy 49.438738 85.55028) + (xy 49.433765 85.55291) + (xy 49.429785 85.556889) + (xy 49.429782 85.556892) + (xy 49.393213 85.59346) + (xy 49.391191 85.595408) + (xy 49.353281 85.630584) + (xy 49.353276 85.630589) + (xy 49.349156 85.634413) + (xy 49.346343 85.639283) + (xy 49.344856 85.641149) + (xy 49.339239 85.647434) + (xy 48.851698 86.134976) + (xy 48.827305 86.151276) + (xy 48.798527 86.157) + (xy 48.249188 86.157) + (xy 48.245563 86.15772) + (xy 48.245563 86.157721) + (xy 48.200738 86.166637) + (xy 48.200736 86.166637) + (xy 48.193475 86.168082) + (xy 48.187321 86.172193) + (xy 48.187316 86.172196) + (xy 48.136454 86.206182) + (xy 48.136451 86.206184) + (xy 48.130297 86.210297) + (xy 48.126184 86.216451) + (xy 48.126182 86.216454) + (xy 48.092196 86.267316) + (xy 48.092193 86.267321) + (xy 48.088082 86.273475) + (xy 48.086637 86.280736) + (xy 48.086637 86.280738) + (xy 48.079581 86.316211) + (xy 48.077 86.329188) + (xy 48.077 87.366812) + (xy 47.553915 87.366812) + (xy 47.456602 87.304272) + (xy 47.456599 87.30427) + (xy 47.452081 87.301367) + (xy 47.446925 87.299853) + (xy 47.446923 87.299852) + (xy 47.320447 87.262715) + (xy 47.320442 87.262714) + (xy 47.315285 87.2612) + (xy 47.172715 87.2612) + (xy 47.167558 87.262714) + (xy 47.167552 87.262715) + (xy 47.041079 87.299851) + (xy 47.041073 87.299853) + (xy 47.035919 87.301367) + (xy 47.031394 87.304274) + (xy 47.02936 87.305204) + (xy 46.99812 87.312) + (xy 39.61588 87.312) + (xy 39.58464 87.305204) + (xy 39.582605 87.304274) + (xy 39.578081 87.301367) + (xy 39.572923 87.299852) + (xy 39.57292 87.299851) + (xy 39.446447 87.262715) + (xy 39.446442 87.262714) + (xy 39.441285 87.2612) + (xy 39.298715 87.2612) + (xy 39.293558 87.262714) + (xy 39.293552 87.262715) + (xy 39.167076 87.299852) + (xy 39.167071 87.299854) + (xy 39.161919 87.301367) + (xy 39.157403 87.304269) + (xy 39.157397 87.304272) + (xy 39.046505 87.375539) + (xy 39.046499 87.375543) + (xy 39.041982 87.378447) + (xy 39.038461 87.382509) + (xy 39.03846 87.382511) + (xy 38.95214 87.482128) + (xy 38.952136 87.482133) + (xy 38.948618 87.486194) + (xy 38.946385 87.491082) + (xy 38.946382 87.491088) + (xy 38.891626 87.610987) + (xy 38.891624 87.610993) + (xy 38.889392 87.615881) + (xy 38.888627 87.621195) + (xy 38.888626 87.621202) + (xy 38.872103 87.736128) + (xy 38.869102 87.757) + (xy 38.869867 87.762321) + (xy 38.888626 87.892797) + (xy 38.888627 87.892802) + (xy 38.889392 87.898119) + (xy 38.891625 87.903008) + (xy 38.891626 87.903012) + (xy 38.918204 87.961209) + (xy 38.925 87.992448) + (xy 38.925 91.605527) + (xy 38.919276 91.634305) + (xy 38.902974 91.658701) + (xy 38.887701 91.673974) + (xy 38.863305 91.690276) + (xy 38.834527 91.696) + (xy 38.829917 91.696) + (xy 38.798137 91.688955) + (xy 38.733832 91.65897) + (xy 38.733833 91.65897) + (xy 38.728619 91.656539) + (xy 38.722917 91.655788) + (xy 38.722916 91.655788) + (xy 38.681385 91.65032) + (xy 38.68138 91.650319) + (xy 38.678952 91.65) + (xy 37.424048 91.65) + (xy 37.42162 91.650319) + (xy 37.421614 91.65032) + (xy 37.380083 91.655788) + (xy 37.380081 91.655788) + (xy 37.374381 91.656539) + (xy 37.369174 91.658966) + (xy 37.369167 91.658969) + (xy 37.271354 91.70458) + (xy 37.271352 91.704581) + (xy 37.265393 91.70736) + (xy 37.260743 91.712009) + (xy 37.26074 91.712012) + (xy 37.185012 91.78774) + (xy 37.185009 91.787743) + (xy 37.18036 91.792393) + (xy 37.177581 91.798352) + (xy 37.17758 91.798354) + (xy 37.131969 91.896167) + (xy 37.131966 91.896174) + (xy 37.129539 91.901381) + (xy 37.128788 91.907081) + (xy 37.128788 91.907083) + (xy 37.124201 91.941928) + (xy 37.123 91.951048) + (xy 37.123 92.330952) + (xy 37.123319 92.33338) + (xy 37.12332 92.333385) + (xy 37.128215 92.370565) + (xy 37.129539 92.380619) + (xy 37.131967 92.385827) + (xy 37.131969 92.385832) + (xy 37.165151 92.456991) + (xy 37.18036 92.489607) + (xy 37.265393 92.57464) + (xy 37.326982 92.603359) + (xy 37.369167 92.62303) + (xy 37.369168 92.62303) + (xy 37.374381 92.625461) + (xy 37.424048 92.632) + (xy 38.676495 92.632) + (xy 38.678952 92.632) + (xy 38.728619 92.625461) + (xy 38.795756 92.594155) + (xy 38.798137 92.593045) + (xy 38.829917 92.586) + (xy 39.020793 92.586) + (xy 39.029211 92.586472) + (xy 39.036792 92.587327) + (xy 39.037671 92.587426) + (xy 39.076137 92.603359) + (xy 39.100231 92.637315) + (xy 39.102566 92.678886) + (xy 39.082426 92.715326) + (xy 39.060012 92.73774) + (xy 39.060009 92.737743) + (xy 39.05536 92.742393) + (xy 39.052581 92.748352) + (xy 39.05258 92.748354) + (xy 39.006969 92.846167) + (xy 39.006966 92.846174) + (xy 39.004539 92.851381) + (xy 39.003788 92.857081) + (xy 39.003788 92.857083) + (xy 38.998523 92.897078) + (xy 38.998 92.901048) + (xy 38.998 93.280952) + (xy 38.998319 93.28338) + (xy 38.99832 93.283385) + (xy 39.001497 93.307515) + (xy 39.004539 93.330619) + (xy 39.006967 93.335827) + (xy 39.006969 93.335832) + (xy 39.044577 93.416483) + (xy 39.05536 93.439607) + (xy 39.060012 93.444259) + (xy 39.082232 93.466479) + (xy 39.102947 93.505672) + (xy 39.097984 93.549724) + (xy 39.069068 93.583326) + (xy 39.026248 93.5948) + (xy 39.005245 93.594014) + (xy 39.00524 93.594014) + (xy 38.999614 93.593804) + (xy 38.994173 93.595261) + (xy 38.991819 93.595527) + (xy 38.983401 93.596) + (xy 38.829917 93.596) + (xy 38.798137 93.588955) + (xy 38.733832 93.55897) + (xy 38.733833 93.55897) + (xy 38.728619 93.556539) + (xy 38.722917 93.555788) + (xy 38.722916 93.555788) + (xy 38.681385 93.55032) + (xy 38.68138 93.550319) + (xy 38.678952 93.55) + (xy 37.424048 93.55) + (xy 37.42162 93.550319) + (xy 37.421614 93.55032) + (xy 37.380083 93.555788) + (xy 37.380081 93.555788) + (xy 37.374381 93.556539) + (xy 37.369174 93.558966) + (xy 37.369167 93.558969) + (xy 37.271354 93.60458) + (xy 37.271352 93.604581) + (xy 37.265393 93.60736) + (xy 37.260743 93.612009) + (xy 37.26074 93.612012) + (xy 37.185012 93.68774) + (xy 37.185009 93.687743) + (xy 37.18036 93.692393) + (xy 37.177581 93.698352) + (xy 37.17758 93.698354) + (xy 37.131969 93.796167) + (xy 37.131966 93.796174) + (xy 37.129539 93.801381) + (xy 37.128788 93.807081) + (xy 37.128788 93.807083) + (xy 37.124141 93.842384) + (xy 37.123 93.851048) + (xy 37.123 94.230952) + (xy 36.653073 94.230952) + (xy 36.63334 94.162456) + (xy 36.631464 94.154238) + (xy 36.631445 94.154128) + (xy 36.591176 93.917109) + (xy 36.590233 93.908731) + (xy 36.589974 93.904127) + (xy 36.576617 93.666224) + (xy 36.5765 93.662027) + (xy 36.5765 93.64032) + (xy 36.576501 93.609523) + (xy 36.5765 93.60952) + (xy 36.5765 85.372634) + (xy 36.576508 85.372581) + (xy 36.576514 85.372594) + (xy 36.576513 85.21052) + (xy 36.548261 84.887606) + (xy 36.491973 84.568382) + (xy 36.485684 84.544913) + (xy 36.459903 84.448696) + (xy 36.408077 84.255279) + (xy 36.297212 83.95068) + (xy 36.160221 83.656902) + (xy 36.105979 83.562952) + (xy 37.123 83.562952) + (xy 37.123319 83.56538) + (xy 37.12332 83.565385) + (xy 37.128406 83.604015) + (xy 37.129539 83.612619) + (xy 37.131967 83.617827) + (xy 37.131969 83.617832) + (xy 37.165355 83.689429) + (xy 37.18036 83.721607) + (xy 37.265393 83.80664) + (xy 37.32876 83.836188) + (xy 37.369167 83.85503) + (xy 37.369168 83.85503) + (xy 37.374381 83.857461) + (xy 37.424048 83.864) + (xy 37.5313 83.864) + (xy 37.5689 83.874075) + (xy 37.596425 83.9016) + (xy 37.6065 83.9392) + (xy 37.6065 85.774293) + (xy 37.606027 85.782712) + (xy 37.602419 85.814729) + (xy 37.602419 85.814733) + (xy 37.601789 85.820327) + (xy 37.602835 85.82586) + (xy 37.602836 85.825862) + (xy 37.612447 85.87666) + (xy 37.612918 85.879431) + (xy 37.619607 85.923812) + (xy 37.621467 85.936147) + (xy 37.623911 85.941222) + (xy 37.62461 85.943488) + (xy 37.624721 85.943935) + (xy 37.624894 85.944353) + (xy 37.625681 85.946602) + (xy 37.626728 85.952134) + (xy 37.632175 85.96244) + (xy 37.653522 86.002832) + (xy 37.654781 86.005325) + (xy 37.679671 86.057009) + (xy 37.6835 86.061136) + (xy 37.68484 86.063101) + (xy 37.685075 86.063492) + (xy 37.685363 86.063839) + (xy 37.686778 86.065756) + (xy 37.68941 86.070735) + (xy 37.693394 86.074719) + (xy 37.729958 86.111283) + (xy 37.731909 86.113308) + (xy 37.770913 86.155344) + (xy 37.775791 86.15816) + (xy 37.777648 86.159641) + (xy 37.783935 86.16526) + (xy 38.272682 86.654007) + (xy 38.278301 86.660294) + (xy 38.291624 86.677) + (xy 38.301905 86.689892) + (xy 38.306559 86.693065) + (xy 38.349266 86.722183) + (xy 38.351559 86.72381) + (xy 38.393182 86.754529) + (xy 38.397716 86.757875) + (xy 38.403034 86.759735) + (xy 38.405135 86.760846) + (xy 38.405524 86.761081) + (xy 38.405957 86.76126) + (xy 38.408085 86.762285) + (xy 38.412741 86.765459) + (xy 38.467533 86.78236) + (xy 38.470184 86.783232) + (xy 38.519015 86.80032) + (xy 38.519018 86.80032) + (xy 38.524335 86.802181) + (xy 38.529964 86.802391) + (xy 38.532293 86.802832) + (xy 38.532737 86.802942) + (xy 38.533205 86.802986) + (xy 38.535538 86.803337) + (xy 38.540927 86.805) + (xy 38.598293 86.805) + (xy 38.601103 86.805052) + (xy 38.658386 86.807196) + (xy 38.663827 86.805738) + (xy 38.666181 86.805473) + (xy 38.674599 86.805) + (xy 40.26712 86.805) + (xy 40.29836 86.811796) + (xy 40.300394 86.812724) + (xy 40.304919 86.815633) + (xy 40.441715 86.8558) + (xy 40.578904 86.8558) + (xy 40.584285 86.8558) + (xy 40.721081 86.815633) + (xy 40.841018 86.738553) + (xy 40.934382 86.630806) + (xy 40.993608 86.501119) + (xy 41.012128 86.37231) + (xy 41.013133 86.365321) + (xy 41.013898 86.36) + (xy 41.006647 86.309572) + (xy 40.994373 86.224202) + (xy 40.993608 86.218881) + (xy 40.934382 86.089194) + (xy 40.906031 86.056476) + (xy 40.879512 86.025871) + (xy 40.841018 85.981447) + (xy 40.836496 85.978541) + (xy 40.836494 85.978539) + (xy 40.725602 85.907272) + (xy 40.725599 85.90727) + (xy 40.721081 85.904367) + (xy 40.715925 85.902853) + (xy 40.715923 85.902852) + (xy 40.589447 85.865715) + (xy 40.589442 85.865714) + (xy 40.584285 85.8642) + (xy 40.441715 85.8642) + (xy 40.436558 85.865714) + (xy 40.436552 85.865715) + (xy 40.310079 85.902851) + (xy 40.310073 85.902853) + (xy 40.304919 85.904367) + (xy 40.300394 85.907274) + (xy 40.29836 85.908204) + (xy 40.26712 85.915) + (xy 38.823473 85.915) + (xy 38.794695 85.909276) + (xy 38.770299 85.892974) + (xy 38.518526 85.641201) + (xy 38.502224 85.616805) + (xy 38.4965 85.588027) + (xy 38.4965 83.9392) + (xy 38.506575 83.9016) + (xy 38.5341 83.874075) + (xy 38.5717 83.864) + (xy 38.676495 83.864) + (xy 38.678952 83.864) + (xy 38.728619 83.857461) + (xy 38.837607 83.80664) + (xy 38.92264 83.721607) + (xy 38.973461 83.612619) + (xy 38.98 83.562952) + (xy 38.98 83.183048) + (xy 38.973461 83.133381) + (xy 38.967096 83.119732) + (xy 38.954243 83.092167) + (xy 38.92264 83.024393) + (xy 38.837607 82.93936) + (xy 38.823431 82.932749) + (xy 38.733832 82.890969) + (xy 38.733827 82.890967) + (xy 38.728619 82.888539) + (xy 38.722917 82.887788) + (xy 38.722916 82.887788) + (xy 38.681385 82.88232) + (xy 38.68138 82.882319) + (xy 38.678952 82.882) + (xy 37.424048 82.882) + (xy 37.42162 82.882319) + (xy 37.421614 82.88232) + (xy 37.380083 82.887788) + (xy 37.380081 82.887788) + (xy 37.374381 82.888539) + (xy 37.369174 82.890966) + (xy 37.369167 82.890969) + (xy 37.271354 82.93658) + (xy 37.271352 82.936581) + (xy 37.265393 82.93936) + (xy 37.260743 82.944009) + (xy 37.26074 82.944012) + (xy 37.185012 83.01974) + (xy 37.185009 83.019743) + (xy 37.18036 83.024393) + (xy 37.177581 83.030352) + (xy 37.17758 83.030354) + (xy 37.131969 83.128167) + (xy 37.131966 83.128174) + (xy 37.129539 83.133381) + (xy 37.128788 83.139081) + (xy 37.128788 83.139083) + (xy 37.123745 83.177392) + (xy 37.123 83.183048) + (xy 37.123 83.562952) + (xy 36.105979 83.562952) + (xy 35.998147 83.376181) + (xy 35.812223 83.110655) + (xy 35.806093 83.103349) + (xy 35.604915 82.863595) + (xy 35.604909 82.863589) + (xy 35.603864 82.862343) + (xy 35.490738 82.749216) + (xy 35.487849 82.746159) + (xy 35.451276 82.705234) + (xy 35.315846 82.553686) + (xy 35.310588 82.547093) + (xy 35.162431 82.338286) + (xy 35.157944 82.331146) + (xy 35.157075 82.329573) + (xy 35.034094 82.107055) + (xy 35.030442 82.09947) + (xy 35.030407 82.099386) + (xy 34.932461 81.862924) + (xy 34.929677 81.854965) + (xy 34.926668 81.844522) + (xy 34.879517 81.680854) + (xy 34.87436 81.662952) + (xy 37.123 81.662952) + (xy 37.123319 81.66538) + (xy 37.12332 81.665385) + (xy 37.126228 81.687474) + (xy 37.129539 81.712619) + (xy 37.131967 81.717827) + (xy 37.131969 81.717832) + (xy 37.1663 81.791454) + (xy 37.18036 81.821607) + (xy 37.265393 81.90664) + (xy 37.326204 81.934996) + (xy 37.369167 81.95503) + (xy 37.369168 81.95503) + (xy 37.374381 81.957461) + (xy 37.424048 81.964) + (xy 38.676495 81.964) + (xy 38.678952 81.964) + (xy 38.728619 81.957461) + (xy 38.798136 81.925045) + (xy 38.829917 81.918) + (xy 39.020793 81.918) + (xy 39.029211 81.918472) + (xy 39.036171 81.919257) + (xy 39.037671 81.919426) + (xy 39.076137 81.935359) + (xy 39.100231 81.969315) + (xy 39.102566 82.010886) + (xy 39.082426 82.047326) + (xy 39.060012 82.06974) + (xy 39.060009 82.069743) + (xy 39.05536 82.074393) + (xy 39.052581 82.080352) + (xy 39.05258 82.080354) + (xy 39.006969 82.178167) + (xy 39.006966 82.178174) + (xy 39.004539 82.183381) + (xy 39.003788 82.189081) + (xy 39.003788 82.189083) + (xy 38.999268 82.223418) + (xy 38.998 82.233048) + (xy 38.998 82.612952) + (xy 38.998319 82.61538) + (xy 38.99832 82.615385) + (xy 39.000572 82.632489) + (xy 39.004539 82.662619) + (xy 39.006967 82.667827) + (xy 39.006969 82.667832) + (xy 39.043494 82.746159) + (xy 39.05536 82.771607) + (xy 39.140393 82.85664) + (xy 39.200157 82.884508) + (xy 39.244167 82.90503) + (xy 39.244168 82.90503) + (xy 39.249381 82.907461) + (xy 39.299048 82.914) + (xy 40.551495 82.914) + (xy 40.553952 82.914) + (xy 40.603619 82.907461) + (xy 40.665563 82.878576) + (xy 40.673137 82.875045) + (xy 40.704917 82.868) + (xy 40.962391 82.868) + (xy 40.979123 82.869885) + (xy 40.98737 82.871768) + (xy 41.034846 82.86821) + (xy 41.040467 82.868) + (xy 41.502706 82.868) + (xy 41.541997 82.879081) + (xy 41.569709 82.909059) + (xy 41.57804 82.925409) + (xy 41.578042 82.925412) + (xy 41.580731 82.930689) + (xy 41.668311 83.018269) + (xy 41.725311 83.047312) + (xy 41.753964 83.061912) + (xy 41.778668 83.074499) + (xy 41.784513 83.075424) + (xy 41.784514 83.075425) + (xy 41.79573 83.077201) + (xy 41.870226 83.089) + (xy 42.32882 83.089) + (xy 42.331774 83.089) + (xy 42.363872 83.083916) + (xy 42.409776 83.091186) + (xy 42.44264 83.12405) + (xy 42.44991 83.169954) + (xy 42.42881 83.211364) + (xy 42.000201 83.639974) + (xy 41.975805 83.656276) + (xy 41.947027 83.662) + (xy 41.870226 83.662) + (xy 41.86731 83.662461) + (xy 41.867307 83.662462) + (xy 41.784514 83.675574) + (xy 41.784507 83.675576) + (xy 41.778668 83.676501) + (xy 41.7734 83.679184) + (xy 41.773394 83.679187) + (xy 41.673587 83.730042) + (xy 41.673583 83.730044) + (xy 41.668311 83.732731) + (xy 41.664124 83.736917) + (xy 41.664121 83.73692) + (xy 41.58492 83.816121) + (xy 41.584917 83.816124) + (xy 41.580731 83.820311) + (xy 41.578044 83.825583) + (xy 41.578042 83.825587) + (xy 41.527187 83.925394) + (xy 41.527184 83.9254) + (xy 41.524501 83.930668) + (xy 41.523576 83.936507) + (xy 41.523574 83.936514) + (xy 41.510462 84.019307) + (xy 41.51 84.022226) + (xy 41.51 84.633774) + (xy 41.510461 84.63669) + (xy 41.510462 84.636692) + (xy 41.523574 84.719485) + (xy 41.523575 84.71949) + (xy 41.524501 84.725332) + (xy 41.527185 84.7306) + (xy 41.527187 84.730605) + (xy 41.578042 84.830412) + (xy 41.580731 84.835689) + (xy 41.58492 84.839878) + (xy 41.633974 84.888932) + (xy 41.650276 84.913328) + (xy 41.656 84.942106) + (xy 41.656 85.364894) + (xy 41.650276 85.393672) + (xy 41.633974 85.418068) + (xy 41.58492 85.467121) + (xy 41.584917 85.467124) + (xy 41.580731 85.471311) + (xy 41.578044 85.476583) + (xy 41.578042 85.476587) + (xy 41.527187 85.576394) + (xy 41.527184 85.5764) + (xy 41.524501 85.581668) + (xy 41.523576 85.587507) + (xy 41.523574 85.587514) + (xy 41.510462 85.670307) + (xy 41.51 85.673226) + (xy 41.51 86.284774) + (xy 41.510461 86.28769) + (xy 41.510462 86.287692) + (xy 41.523574 86.370485) + (xy 41.523575 86.37049) + (xy 41.524501 86.376332) + (xy 41.527185 86.3816) + (xy 41.527187 86.381605) + (xy 41.578042 86.481412) + (xy 41.580731 86.486689) + (xy 41.668311 86.574269) + (xy 41.675891 86.578131) + (xy 41.769663 86.625911) + (xy 41.778668 86.630499) + (xy 41.784513 86.631424) + (xy 41.784514 86.631425) + (xy 41.79573 86.633201) + (xy 41.870226 86.645) + (xy 42.32882 86.645) + (xy 42.331774 86.645) + (xy 42.423332 86.630499) + (xy 42.533689 86.574269) + (xy 42.621269 86.486689) + (xy 42.677499 86.376332) + (xy 42.692 86.284774) + (xy 42.692 85.673226) + (xy 42.677499 85.581668) + (xy 42.668405 85.563821) + (xy 42.625577 85.479766) + (xy 42.621269 85.471311) + (xy 42.568026 85.418068) + (xy 42.551724 85.393672) + (xy 42.546 85.364894) + (xy 42.546 84.942106) + (xy 42.551724 84.913328) + (xy 42.568026 84.888932) + (xy 42.592307 84.864651) + (xy 42.621269 84.835689) + (xy 42.677499 84.725332) + (xy 42.692 84.633774) + (xy 42.692 84.237973) + (xy 42.697724 84.209195) + (xy 42.714022 84.184802) + (xy 43.053772 83.845052) + (xy 43.098104 83.823549) + (xy 43.146234 83.834109) + (xy 43.177495 83.872198) + (xy 43.178465 83.921463) + (xy 43.177188 83.925394) + (xy 43.174501 83.930668) + (xy 43.173575 83.936509) + (xy 43.173574 83.936515) + (xy 43.164876 83.991439) + (xy 43.16 84.022226) + (xy 43.16 84.633774) + (xy 43.160461 84.63669) + (xy 43.160462 84.636692) + (xy 43.173574 84.719485) + (xy 43.173575 84.71949) + (xy 43.174501 84.725332) + (xy 43.177185 84.7306) + (xy 43.177187 84.730605) + (xy 43.228042 84.830412) + (xy 43.230731 84.835689) + (xy 43.23492 84.839878) + (xy 43.283974 84.888932) + (xy 43.300276 84.913328) + (xy 43.306 84.942106) + (xy 43.306 85.364894) + (xy 43.300276 85.393672) + (xy 43.283974 85.418068) + (xy 43.23492 85.467121) + (xy 43.234917 85.467124) + (xy 43.230731 85.471311) + (xy 43.228044 85.476583) + (xy 43.228042 85.476587) + (xy 43.177187 85.576394) + (xy 43.177184 85.5764) + (xy 43.174501 85.581668) + (xy 43.173576 85.587507) + (xy 43.173574 85.587514) + (xy 43.160462 85.670307) + (xy 43.16 85.673226) + (xy 43.16 86.284774) + (xy 43.160461 86.28769) + (xy 43.160462 86.287692) + (xy 43.173574 86.370485) + (xy 43.173575 86.37049) + (xy 43.174501 86.376332) + (xy 43.177185 86.3816) + (xy 43.177187 86.381605) + (xy 43.228042 86.481412) + (xy 43.230731 86.486689) + (xy 43.318311 86.574269) + (xy 43.325891 86.578131) + (xy 43.419663 86.625911) + (xy 43.428668 86.630499) + (xy 43.434513 86.631424) + (xy 43.434514 86.631425) + (xy 43.44573 86.633201) + (xy 43.520226 86.645) + (xy 43.97882 86.645) + (xy 43.981774 86.645) + (xy 44.073332 86.630499) + (xy 44.183689 86.574269) + (xy 44.271269 86.486689) + (xy 44.327499 86.376332) + (xy 44.342 86.284774) + (xy 44.342 85.673226) + (xy 44.327499 85.581668) + (xy 44.318405 85.563821) + (xy 44.275577 85.479766) + (xy 44.271269 85.471311) + (xy 44.218026 85.418068) + (xy 44.201724 85.393672) + (xy 44.196 85.364894) + (xy 44.196 84.942106) + (xy 44.201724 84.913328) + (xy 44.218026 84.888932) + (xy 44.242307 84.864651) + (xy 44.271269 84.835689) + (xy 44.279146 84.82023) + (xy 44.282291 84.814059) + (xy 44.310003 84.784081) + (xy 44.349294 84.773) + (xy 44.677706 84.773) + (xy 44.716997 84.784081) + (xy 44.744709 84.814059) + (xy 44.75304 84.830409) + (xy 44.753042 84.830412) + (xy 44.755731 84.835689) + (xy 44.75992 84.839878) + (xy 44.808974 84.888932) + (xy 44.825276 84.913328) + (xy 44.831 84.942106) + (xy 44.831 85.364894) + (xy 44.825276 85.393672) + (xy 44.808974 85.418068) + (xy 44.75992 85.467121) + (xy 44.759917 85.467124) + (xy 44.755731 85.471311) + (xy 44.753044 85.476583) + (xy 44.753042 85.476587) + (xy 44.702187 85.576394) + (xy 44.702184 85.5764) + (xy 44.699501 85.581668) + (xy 44.698576 85.587507) + (xy 44.698574 85.587514) + (xy 44.685462 85.670307) + (xy 44.685 85.673226) + (xy 44.685 86.284774) + (xy 44.685461 86.28769) + (xy 44.685462 86.287692) + (xy 44.698574 86.370485) + (xy 44.698575 86.37049) + (xy 44.699501 86.376332) + (xy 44.702185 86.3816) + (xy 44.702187 86.381605) + (xy 44.753042 86.481412) + (xy 44.755731 86.486689) + (xy 44.843311 86.574269) + (xy 44.850891 86.578131) + (xy 44.944663 86.625911) + (xy 44.953668 86.630499) + (xy 44.959513 86.631424) + (xy 44.959514 86.631425) + (xy 44.97073 86.633201) + (xy 45.045226 86.645) + (xy 45.50382 86.645) + (xy 45.506774 86.645) + (xy 45.598332 86.630499) + (xy 45.708689 86.574269) + (xy 45.796269 86.486689) + (xy 45.852499 86.376332) + (xy 45.867 86.284774) + (xy 45.867 85.673226) + (xy 45.852499 85.581668) + (xy 45.843405 85.563821) + (xy 45.800577 85.479766) + (xy 45.796269 85.471311) + (xy 45.743026 85.418068) + (xy 45.726724 85.393672) + (xy 45.721 85.364894) + (xy 45.721 84.942106) + (xy 45.726724 84.913328) + (xy 45.743026 84.888932) + (xy 45.767307 84.864651) + (xy 45.796269 84.835689) + (xy 45.852499 84.725332) + (xy 45.867 84.633774) + (xy 45.867 84.022226) + (xy 45.852499 83.930668) + (xy 45.838401 83.903) + (xy 45.806242 83.839884) + (xy 45.796269 83.820311) + (xy 45.708689 83.732731) + (xy 45.703412 83.730042) + (xy 45.603605 83.679187) + (xy 45.6036 83.679185) + (xy 45.598332 83.676501) + (xy 45.59249 83.675575) + (xy 45.592485 83.675574) + (xy 45.509692 83.662462) + (xy 45.50969 83.662461) + (xy 45.506774 83.662) + (xy 45.045226 83.662) + (xy 45.04231 83.662461) + (xy 45.042307 83.662462) + (xy 44.959514 83.675574) + (xy 44.959507 83.675576) + (xy 44.953668 83.676501) + (xy 44.9484 83.679184) + (xy 44.948394 83.679187) + (xy 44.848587 83.730042) + (xy 44.848583 83.730044) + (xy 44.843311 83.732731) + (xy 44.839124 83.736917) + (xy 44.839121 83.73692) + (xy 44.75992 83.816121) + (xy 44.759917 83.816124) + (xy 44.755731 83.820311) + (xy 44.753043 83.825584) + (xy 44.75304 83.82559) + (xy 44.744709 83.841941) + (xy 44.716997 83.871919) + (xy 44.677706 83.883) + (xy 44.349294 83.883) + (xy 44.310003 83.871919) + (xy 44.282291 83.841941) + (xy 44.273959 83.82559) + (xy 44.273957 83.825587) + (xy 44.271269 83.820311) + (xy 44.183689 83.732731) + (xy 44.178412 83.730042) + (xy 44.078605 83.679187) + (xy 44.0786 83.679185) + (xy 44.073332 83.676501) + (xy 44.06749 83.675575) + (xy 44.067485 83.675574) + (xy 43.984692 83.662462) + (xy 43.98469 83.662461) + (xy 43.981774 83.662) + (xy 43.520226 83.662) + (xy 43.51731 83.662461) + (xy 43.517307 83.662462) + (xy 43.434515 83.675574) + (xy 43.434509 83.675575) + (xy 43.428668 83.676501) + (xy 43.423397 83.679186) + (xy 43.419463 83.680465) + (xy 43.370198 83.679495) + (xy 43.332109 83.648234) + (xy 43.321549 83.600104) + (xy 43.343053 83.555771) + (xy 43.787799 83.111025) + (xy 43.812195 83.094724) + (xy 43.840973 83.089) + (xy 43.97882 83.089) + (xy 43.981774 83.089) + (xy 44.073332 83.074499) + (xy 44.183689 83.018269) + (xy 44.271269 82.930689) + (xy 44.280435 82.912698) + (xy 44.306954 82.883465) + (xy 44.339912 82.873164) + (xy 44.339827 82.872711) + (xy 44.370261 82.866952) + (xy 45.381 82.866952) + (xy 45.381319 82.86938) + (xy 45.38132 82.869385) + (xy 45.386406 82.908012) + (xy 45.387539 82.916619) + (xy 45.389967 82.921827) + (xy 45.389969 82.921832) + (xy 45.421007 82.988393) + (xy 45.43836 83.025607) + (xy 45.523393 83.11064) + (xy 45.594991 83.144026) + (xy 45.627167 83.15903) + (xy 45.627168 83.15903) + (xy 45.632381 83.161461) + (xy 45.682048 83.168) + (xy 47.409495 83.168) + (xy 47.411952 83.168) + (xy 47.461619 83.161461) + (xy 47.531136 83.129045) + (xy 47.562917 83.122) + (xy 48.171527 83.122) + (xy 48.200305 83.127724) + (xy 48.224701 83.144026) + (xy 48.300974 83.220299) + (xy 48.317276 83.244695) + (xy 48.323 83.273473) + (xy 48.323 83.581937) + (xy 48.31412 83.617386) + (xy 48.289578 83.644464) + (xy 48.255169 83.656775) + (xy 48.252882 83.657) + (xy 48.249188 83.657) + (xy 48.245572 83.657719) + (xy 48.245564 83.65772) + (xy 48.200738 83.666637) + (xy 48.200736 83.666637) + (xy 48.193475 83.668082) + (xy 48.187321 83.672193) + (xy 48.187316 83.672196) + (xy 48.136454 83.706182) + (xy 48.136451 83.706184) + (xy 48.130297 83.710297) + (xy 48.126184 83.716451) + (xy 48.126182 83.716454) + (xy 48.092196 83.767316) + (xy 48.092193 83.767321) + (xy 48.088082 83.773475) + (xy 48.086637 83.780736) + (xy 48.086637 83.780738) + (xy 48.07772 83.825564) + (xy 48.077719 83.825572) + (xy 48.077 83.829188) + (xy 48.077 83.832882) + (xy 48.076775 83.835169) + (xy 48.064464 83.869578) + (xy 48.037386 83.89412) + (xy 48.001937 83.903) + (xy 47.534484 83.903) + (xy 47.495192 83.891919) + (xy 47.46748 83.86194) + (xy 47.456242 83.839884) + (xy 47.446269 83.820311) + (xy 47.358689 83.732731) + (xy 47.353412 83.730042) + (xy 47.253605 83.679187) + (xy 47.2536 83.679185) + (xy 47.248332 83.676501) + (xy 47.24249 83.675575) + (xy 47.242485 83.675574) + (xy 47.159692 83.662462) + (xy 47.15969 83.662461) + (xy 47.156774 83.662) + (xy 46.695226 83.662) + (xy 46.69231 83.662461) + (xy 46.692307 83.662462) + (xy 46.609514 83.675574) + (xy 46.609507 83.675576) + (xy 46.603668 83.676501) + (xy 46.5984 83.679184) + (xy 46.598394 83.679187) + (xy 46.498587 83.730042) + (xy 46.498583 83.730044) + (xy 46.493311 83.732731) + (xy 46.489124 83.736917) + (xy 46.489121 83.73692) + (xy 46.40992 83.816121) + (xy 46.409917 83.816124) + (xy 46.405731 83.820311) + (xy 46.403044 83.825583) + (xy 46.403042 83.825587) + (xy 46.352187 83.925394) + (xy 46.352184 83.9254) + (xy 46.349501 83.930668) + (xy 46.348576 83.936507) + (xy 46.348574 83.936514) + (xy 46.335462 84.019307) + (xy 46.335 84.022226) + (xy 46.335 84.633774) + (xy 46.335461 84.63669) + (xy 46.335462 84.636692) + (xy 46.348574 84.719485) + (xy 46.348575 84.71949) + (xy 46.349501 84.725332) + (xy 46.352185 84.7306) + (xy 46.352187 84.730605) + (xy 46.403042 84.830412) + (xy 46.405731 84.835689) + (xy 46.40992 84.839878) + (xy 46.458974 84.888932) + (xy 46.475276 84.913328) + (xy 46.481 84.942106) + (xy 46.481 85.364894) + (xy 46.475276 85.393672) + (xy 46.458974 85.418068) + (xy 46.40992 85.467121) + (xy 46.409917 85.467124) + (xy 46.405731 85.471311) + (xy 46.403044 85.476583) + (xy 46.403042 85.476587) + (xy 46.352187 85.576394) + (xy 46.352184 85.5764) + (xy 46.349501 85.581668) + (xy 46.348576 85.587507) + (xy 46.348574 85.587514) + (xy 46.335462 85.670307) + (xy 46.335 85.673226) + (xy 46.335 86.284774) + (xy 46.335461 86.28769) + (xy 46.335462 86.287692) + (xy 46.348574 86.370485) + (xy 46.348575 86.37049) + (xy 46.349501 86.376332) + (xy 46.352185 86.3816) + (xy 46.352187 86.381605) + (xy 46.403042 86.481412) + (xy 46.405731 86.486689) + (xy 46.493311 86.574269) + (xy 46.500891 86.578131) + (xy 46.594663 86.625911) + (xy 46.603668 86.630499) + (xy 46.609513 86.631424) + (xy 46.609514 86.631425) + (xy 46.62073 86.633201) + (xy 46.695226 86.645) + (xy 47.15382 86.645) + (xy 47.156774 86.645) + (xy 47.248332 86.630499) + (xy 47.358689 86.574269) + (xy 47.446269 86.486689) + (xy 47.502499 86.376332) + (xy 47.517 86.284774) + (xy 47.517 85.673226) + (xy 47.502499 85.581668) + (xy 47.493405 85.563821) + (xy 47.450577 85.479766) + (xy 47.446269 85.471311) + (xy 47.393026 85.418068) + (xy 47.376724 85.393672) + (xy 47.371 85.364894) + (xy 47.371 84.942106) + (xy 47.376724 84.913328) + (xy 47.393026 84.888932) + (xy 47.417307 84.864651) + (xy 47.446269 84.835689) + (xy 47.448958 84.83041) + (xy 47.452436 84.825625) + (xy 47.453907 84.826694) + (xy 47.474811 84.804082) + (xy 47.514103 84.793) + (xy 48.001937 84.793) + (xy 48.037386 84.80188) + (xy 48.064464 84.826422) + (xy 48.076775 84.860831) + (xy 48.077 84.863116) + (xy 48.077 84.866812) + (xy 48.077719 84.870428) + (xy 48.07772 84.870435) + (xy 48.0863 84.913568) + (xy 48.088082 84.922525) + (xy 48.092194 84.92868) + (xy 48.092196 84.928683) + (xy 48.113247 84.960187) + (xy 48.130297 84.985703) + (xy 48.136454 84.989817) + (xy 48.187316 85.023803) + (xy 48.187317 85.023803) + (xy 48.193475 85.027918) + (xy 48.249188 85.039) + (xy 49.283116 85.039) + (xy 49.286812 85.039) + (xy 49.342525 85.027918) + (xy 49.405703 84.985703) + (xy 49.447918 84.922525) + (xy 49.459 84.866812) + (xy 49.459 83.861873) + (xy 49.471673 83.820094) + (xy 49.505422 83.792397) + (xy 49.548871 83.788118) + (xy 49.587374 83.808699) + (xy 49.984974 84.206299) + (xy 50.001276 84.230695) + (xy 50.007 84.259473) + (xy 50.007 84.495774) + (xy 50.007461 84.49869) + (xy 50.007462 84.498692) + (xy 50.020574 84.581485) + (xy 50.020575 84.58149) + (xy 50.021501 84.587332) + (xy 50.024185 84.5926) + (xy 50.024187 84.592605) + (xy 50.075042 84.692412) + (xy 50.077731 84.697689) + (xy 50.165311 84.785269) + (xy 50.212139 84.809129) + (xy 50.268761 84.83798) + (xy 50.275668 84.841499) + (xy 50.281513 84.842424) + (xy 50.281514 84.842425) + (xy 50.29273 84.844201) + (xy 50.367226 84.856) + (xy 50.97582 84.856) + (xy 50.978774 84.856) + (xy 51.070332 84.841499) + (xy 51.180689 84.785269) + (xy 51.233931 84.732026) + (xy 51.258328 84.715724) + (xy 51.287106 84.71) + (xy 51.647649 84.71) + (xy 51.686941 84.721081) + (xy 51.714652 84.75106) + (xy 51.730561 84.782284) + (xy 51.730566 84.782291) + (xy 51.733254 84.787566) + (xy 51.826434 84.880746) + (xy 51.868438 84.902148) + (xy 51.926695 84.931832) + (xy 51.943847 84.940571) + (xy 51.949692 84.941496) + (xy 51.949693 84.941497) + (xy 51.959183 84.943) + (xy 52.041263 84.956) + (xy 52.606736 84.955999) + (xy 52.704153 84.940571) + (xy 52.821566 84.880746) + (xy 52.914746 84.787566) + (xy 52.917435 84.782287) + (xy 52.917438 84.782284) + (xy 52.933348 84.75106) + (xy 52.961059 84.721081) + (xy 53.000351 84.71) + (xy 53.360894 84.71) + (xy 53.389672 84.715724) + (xy 53.414068 84.732026) + (xy 53.467311 84.785269) + (xy 53.514139 84.809129) + (xy 53.570761 84.83798) + (xy 53.577668 84.841499) + (xy 53.583513 84.842424) + (xy 53.583514 84.842425) + (xy 53.59473 84.844201) + (xy 53.669226 84.856) + (xy 54.27782 84.856) + (xy 54.280774 84.856) + (xy 54.372332 84.841499) + (xy 54.482689 84.785269) + (xy 54.570269 84.697689) + (xy 54.626499 84.587332) + (xy 54.641 84.495774) + (xy 54.641 84.034226) + (xy 54.627768 83.95068) + (xy 54.627425 83.948514) + (xy 54.627424 83.948513) + (xy 54.626499 83.942668) + (xy 54.623363 83.936514) + (xy 54.591549 83.874075) + (xy 54.570269 83.832311) + (xy 54.482689 83.744731) + (xy 54.477408 83.74204) + (xy 54.377605 83.691187) + (xy 54.3776 83.691185) + (xy 54.372332 83.688501) + (xy 54.36649 83.687575) + (xy 54.366485 83.687574) + (xy 54.283692 83.674462) + (xy 54.28369 83.674461) + (xy 54.280774 83.674) + (xy 53.669226 83.674) + (xy 53.66631 83.674461) + (xy 53.666307 83.674462) + (xy 53.583514 83.687574) + (xy 53.583507 83.687576) + (xy 53.577668 83.688501) + (xy 53.5724 83.691184) + (xy 53.572394 83.691187) + (xy 53.472587 83.742042) + (xy 53.472583 83.742044) + (xy 53.467311 83.744731) + (xy 53.463124 83.748917) + (xy 53.463121 83.74892) + (xy 53.414068 83.797974) + (xy 53.389672 83.814276) + (xy 53.360894 83.82) + (xy 52.92346 83.82) + (xy 52.894682 83.814276) + (xy 52.870286 83.797974) + (xy 52.825755 83.753443) + (xy 52.821566 83.749254) + (xy 52.816289 83.746565) + (xy 52.709426 83.692115) + (xy 52.709422 83.692113) + (xy 52.704153 83.689429) + (xy 52.698311 83.688503) + (xy 52.698306 83.688502) + (xy 52.609655 83.674462) + (xy 52.609652 83.674461) + (xy 52.606737 83.674) + (xy 52.603783 83.674) + (xy 52.044218 83.674) + (xy 52.044205 83.674) + (xy 52.041264 83.674001) + (xy 52.03835 83.674462) + (xy 52.038343 83.674463) + (xy 51.949692 83.688503) + (xy 51.94969 83.688503) + (xy 51.943847 83.689429) + (xy 51.938577 83.692113) + (xy 51.938574 83.692115) + (xy 51.83171 83.746565) + (xy 51.831706 83.746567) + (xy 51.826434 83.749254) + (xy 51.822247 83.75344) + (xy 51.822244 83.753443) + (xy 51.777714 83.797974) + (xy 51.753318 83.814276) + (xy 51.72454 83.82) + (xy 51.287106 83.82) + (xy 51.258328 83.814276) + (xy 51.233932 83.797974) + (xy 51.184878 83.74892) + (xy 51.184877 83.748919) + (xy 51.180689 83.744731) + (xy 51.175408 83.74204) + (xy 51.075605 83.691187) + (xy 51.0756 83.691185) + (xy 51.070332 83.688501) + (xy 51.06449 83.687575) + (xy 51.064485 83.687574) + (xy 50.981692 83.674462) + (xy 50.98169 83.674461) + (xy 50.978774 83.674) + (xy 50.97582 83.674) + (xy 50.742473 83.674) + (xy 50.713695 83.668276) + (xy 50.689299 83.651974) + (xy 50.124026 83.086701) + (xy 50.107724 83.062305) + (xy 50.102 83.033527) + (xy 50.102 82.866952) + (xy 50.331 82.866952) + (xy 50.331319 82.86938) + (xy 50.33132 82.869385) + (xy 50.336406 82.908012) + (xy 50.337539 82.916619) + (xy 50.339967 82.921827) + (xy 50.339969 82.921832) + (xy 50.371007 82.988393) + (xy 50.38836 83.025607) + (xy 50.473393 83.11064) + (xy 50.544991 83.144026) + (xy 50.577167 83.15903) + (xy 50.577168 83.15903) + (xy 50.582381 83.161461) + (xy 50.632048 83.168) + (xy 52.359495 83.168) + (xy 52.361952 83.168) + (xy 52.411619 83.161461) + (xy 52.481136 83.129045) + (xy 52.512917 83.122) + (xy 52.675793 83.122) + (xy 52.684212 83.122473) + (xy 52.721827 83.126711) + (xy 52.778177 83.116048) + (xy 52.780933 83.11558) + (xy 52.837647 83.107033) + (xy 52.842731 83.104583) + (xy 52.844984 83.103889) + (xy 52.845436 83.103777) + (xy 52.845878 83.103594) + (xy 52.848087 83.10282) + (xy 52.853634 83.101772) + (xy 52.904348 83.074967) + (xy 52.906825 83.073718) + (xy 52.958509 83.048829) + (xy 52.962641 83.044993) + (xy 52.964594 83.043663) + (xy 52.964991 83.043423) + (xy 52.965355 83.043122) + (xy 52.967246 83.041726) + (xy 52.972235 83.03909) + (xy 52.977346 83.033977) + (xy 52.978797 83.033202) + (xy 52.980759 83.031755) + (xy 52.98097 83.03204) + (xy 53.015849 83.013394) + (xy 53.0593 83.017671) + (xy 53.093051 83.045369) + (xy 53.096996 83.051274) + (xy 53.103297 83.060703) + (xy 53.109454 83.064817) + (xy 53.160316 83.098803) + (xy 53.160317 83.098803) + (xy 53.166475 83.102918) + (xy 53.222188 83.114) + (xy 54.256116 83.114) + (xy 54.259812 83.114) + (xy 54.315525 83.102918) + (xy 54.378703 83.060703) + (xy 54.420918 82.997525) + (xy 54.432 82.941812) + (xy 54.432 81.904188) + (xy 54.420918 81.848475) + (xy 54.415283 81.840042) + (xy 54.382817 81.791454) + (xy 54.378703 81.785297) + (xy 54.370831 81.780037) + (xy 54.321683 81.747196) + (xy 54.32168 81.747194) + (xy 54.315525 81.743082) + (xy 54.308261 81.741637) + (xy 54.289602 81.737925) + (xy 54.259812 81.732) + (xy 53.222188 81.732) + (xy 53.218563 81.73272) + (xy 53.218563 81.732721) + (xy 53.173738 81.741637) + (xy 53.173736 81.741637) + (xy 53.166475 81.743082) + (xy 53.160321 81.747193) + (xy 53.160316 81.747196) + (xy 53.109454 81.781182) + (xy 53.109451 81.781184) + (xy 53.103297 81.785297) + (xy 53.099184 81.791451) + (xy 53.099182 81.791454) + (xy 53.065196 81.842316) + (xy 53.065193 81.842321) + (xy 53.061082 81.848475) + (xy 53.059637 81.855736) + (xy 53.059637 81.855738) + (xy 53.050721 81.900562) + (xy 53.05 81.904188) + (xy 53.05 81.907882) + (xy 53.04992 81.908694) + (xy 53.036002 81.94541) + (xy 53.005476 81.970105) + (xy 52.966663 81.976048) + (xy 52.947771 81.973919) + (xy 52.947766 81.973919) + (xy 52.942173 81.973289) + (xy 52.936639 81.974335) + (xy 52.936636 81.974336) + (xy 52.885837 81.983947) + (xy 52.883067 81.984418) + (xy 52.831924 81.992127) + (xy 52.831922 81.992127) + (xy 52.826353 81.992967) + (xy 52.821279 81.995409) + (xy 52.818993 81.996115) + (xy 52.818563 81.996221) + (xy 52.818138 81.996398) + (xy 52.815901 81.99718) + (xy 52.810366 81.998228) + (xy 52.805391 82.000857) + (xy 52.805383 82.00086) + (xy 52.759653 82.025028) + (xy 52.757147 82.026293) + (xy 52.710565 82.048727) + (xy 52.710562 82.048728) + (xy 52.705491 82.051171) + (xy 52.701363 82.054999) + (xy 52.699392 82.056344) + (xy 52.699007 82.056575) + (xy 52.69867 82.056855) + (xy 52.696738 82.05828) + (xy 52.691765 82.06091) + (xy 52.687785 82.064889) + (xy 52.687782 82.064892) + (xy 52.651213 82.10146) + (xy 52.649191 82.103408) + (xy 52.611284 82.138582) + (xy 52.611281 82.138584) + (xy 52.607156 82.142413) + (xy 52.604341 82.147287) + (xy 52.602859 82.149146) + (xy 52.597243 82.15543) + (xy 52.550139 82.202535) + (xy 52.510023 82.223418) + (xy 52.465184 82.217516) + (xy 52.422307 82.197523) + (xy 52.411619 82.192539) + (xy 52.405917 82.191788) + (xy 52.405916 82.191788) + (xy 52.364385 82.18632) + (xy 52.36438 82.186319) + (xy 52.361952 82.186) + (xy 50.632048 82.186) + (xy 50.62962 82.186319) + (xy 50.629614 82.18632) + (xy 50.588083 82.191788) + (xy 50.588081 82.191788) + (xy 50.582381 82.192539) + (xy 50.577174 82.194966) + (xy 50.577167 82.194969) + (xy 50.479354 82.24058) + (xy 50.479352 82.240581) + (xy 50.473393 82.24336) + (xy 50.468743 82.248009) + (xy 50.46874 82.248012) + (xy 50.393012 82.32374) + (xy 50.393009 82.323743) + (xy 50.38836 82.328393) + (xy 50.385581 82.334352) + (xy 50.38558 82.334354) + (xy 50.339969 82.432167) + (xy 50.339966 82.432174) + (xy 50.337539 82.437381) + (xy 50.336788 82.443081) + (xy 50.336788 82.443083) + (xy 50.331905 82.480175) + (xy 50.331 82.487048) + (xy 50.331 82.866952) + (xy 50.102 82.866952) + (xy 50.102 81.596952) + (xy 50.331 81.596952) + (xy 50.331319 81.59938) + (xy 50.33132 81.599385) + (xy 50.336788 81.640916) + (xy 50.337539 81.646619) + (xy 50.339967 81.651827) + (xy 50.339969 81.651832) + (xy 50.377315 81.73192) + (xy 50.38836 81.755607) + (xy 50.473393 81.84064) + (xy 50.52388 81.864182) + (xy 50.577167 81.88903) + (xy 50.577168 81.88903) + (xy 50.582381 81.891461) + (xy 50.632048 81.898) + (xy 52.359495 81.898) + (xy 52.361952 81.898) + (xy 52.411619 81.891461) + (xy 52.481136 81.859045) + (xy 52.512917 81.852) + (xy 52.548793 81.852) + (xy 52.557212 81.852473) + (xy 52.594827 81.856711) + (xy 52.651177 81.846048) + (xy 52.653933 81.84558) + (xy 52.710647 81.837033) + (xy 52.715731 81.834583) + (xy 52.717984 81.833889) + (xy 52.718436 81.833777) + (xy 52.718878 81.833594) + (xy 52.721087 81.83282) + (xy 52.726634 81.831772) + (xy 52.777348 81.804967) + (xy 52.779825 81.803718) + (xy 52.831509 81.778829) + (xy 52.835641 81.774993) + (xy 52.837594 81.773663) + (xy 52.837991 81.773423) + (xy 52.838355 81.773122) + (xy 52.840246 81.771726) + (xy 52.845235 81.76909) + (xy 52.885822 81.728501) + (xy 52.887766 81.726628) + (xy 52.929844 81.687587) + (xy 52.932664 81.6827) + (xy 52.934137 81.680854) + (xy 52.939742 81.674581) + (xy 53.629301 80.985023) + (xy 53.653695 80.968724) + (xy 53.682473 80.963) + (xy 53.694706 80.963) + (xy 53.733997 80.974081) + (xy 53.761709 81.004059) + (xy 53.77004 81.020409) + (xy 53.770042 81.020412) + (xy 53.772731 81.025689) + (xy 53.860311 81.113269) + (xy 53.915544 81.141412) + (xy 53.96223 81.1652) + (xy 53.970668 81.169499) + (xy 53.976513 81.170424) + (xy 53.976514 81.170425) + (xy 53.976748 81.170462) + (xy 54.062226 81.184) + (xy 54.52082 81.184) + (xy 54.523774 81.184) + (xy 54.615332 81.169499) + (xy 54.725689 81.113269) + (xy 54.813269 81.025689) + (xy 54.869499 80.915332) + (xy 54.884 80.823774) + (xy 54.884 80.212226) + (xy 54.871504 80.133325) + (xy 54.870425 80.126514) + (xy 54.870424 80.126513) + (xy 54.869499 80.120668) + (xy 54.866797 80.115366) + (xy 54.836773 80.05644) + (xy 54.813269 80.010311) + (xy 54.725689 79.922731) + (xy 54.720412 79.920042) + (xy 54.620605 79.869187) + (xy 54.6206 79.869185) + (xy 54.615332 79.866501) + (xy 54.60949 79.865575) + (xy 54.609485 79.865574) + (xy 54.526692 79.852462) + (xy 54.52669 79.852461) + (xy 54.523774 79.852) + (xy 54.062226 79.852) + (xy 54.05931 79.852461) + (xy 54.059307 79.852462) + (xy 53.976514 79.865574) + (xy 53.976507 79.865576) + (xy 53.970668 79.866501) + (xy 53.9654 79.869184) + (xy 53.965394 79.869187) + (xy 53.865587 79.920042) + (xy 53.865583 79.920044) + (xy 53.860311 79.922731) + (xy 53.856124 79.926917) + (xy 53.856121 79.92692) + (xy 53.77692 80.006121) + (xy 53.776917 80.006124) + (xy 53.772731 80.010311) + (xy 53.770043 80.015584) + (xy 53.77004 80.01559) + (xy 53.761709 80.031941) + (xy 53.733997 80.061919) + (xy 53.694706 80.073) + (xy 53.496207 80.073) + (xy 53.487788 80.072527) + (xy 53.45577 80.068919) + (xy 53.455765 80.068919) + (xy 53.450173 80.068289) + (xy 53.444639 80.069335) + (xy 53.444636 80.069336) + (xy 53.393837 80.078947) + (xy 53.391067 80.079418) + (xy 53.339924 80.087127) + (xy 53.339922 80.087127) + (xy 53.334353 80.087967) + (xy 53.329279 80.090409) + (xy 53.326993 80.091115) + (xy 53.326563 80.091221) + (xy 53.326138 80.091398) + (xy 53.323901 80.09218) + (xy 53.318366 80.093228) + (xy 53.313391 80.095857) + (xy 53.313383 80.09586) + (xy 53.267653 80.120028) + (xy 53.265147 80.121293) + (xy 53.218565 80.143727) + (xy 53.218562 80.143728) + (xy 53.213491 80.146171) + (xy 53.209363 80.149999) + (xy 53.207392 80.151344) + (xy 53.207007 80.151575) + (xy 53.20667 80.151855) + (xy 53.204738 80.15328) + (xy 53.199765 80.15591) + (xy 53.195785 80.159889) + (xy 53.195782 80.159892) + (xy 53.159213 80.19646) + (xy 53.157191 80.198408) + (xy 53.119281 80.233584) + (xy 53.119276 80.233589) + (xy 53.115156 80.237413) + (xy 53.112343 80.242283) + (xy 53.110856 80.244149) + (xy 53.105239 80.250434) + (xy 52.456855 80.898818) + (xy 52.427854 80.916853) + (xy 52.393866 80.920201) + (xy 52.364387 80.91632) + (xy 52.364378 80.916319) + (xy 52.361952 80.916) + (xy 50.632048 80.916) + (xy 50.62962 80.916319) + (xy 50.629614 80.91632) + (xy 50.588083 80.921788) + (xy 50.588081 80.921788) + (xy 50.582381 80.922539) + (xy 50.577174 80.924966) + (xy 50.577167 80.924969) + (xy 50.479354 80.97058) + (xy 50.479352 80.970581) + (xy 50.473393 80.97336) + (xy 50.468743 80.978009) + (xy 50.46874 80.978012) + (xy 50.393012 81.05374) + (xy 50.393009 81.053743) + (xy 50.38836 81.058393) + (xy 50.385581 81.064352) + (xy 50.38558 81.064354) + (xy 50.339969 81.162167) + (xy 50.339966 81.162174) + (xy 50.337539 81.167381) + (xy 50.336788 81.173081) + (xy 50.336788 81.173083) + (xy 50.331585 81.212607) + (xy 50.331 81.217048) + (xy 50.331 81.596952) + (xy 50.102 81.596952) + (xy 50.102 80.860473) + (xy 50.107724 80.831695) + (xy 50.124026 80.807299) + (xy 50.327299 80.604026) + (xy 50.351695 80.587724) + (xy 50.380473 80.582) + (xy 50.481083 80.582) + (xy 50.512863 80.589045) + (xy 50.582381 80.621461) + (xy 50.632048 80.628) + (xy 52.359495 80.628) + (xy 52.361952 80.628) + (xy 52.411619 80.621461) + (xy 52.520607 80.57064) + (xy 52.60564 80.485607) + (xy 52.656461 80.376619) + (xy 52.663 80.326952) + (xy 52.663 79.947048) + (xy 52.656461 79.897381) + (xy 52.653821 79.89172) + (xy 52.6353 79.852) + (xy 52.60564 79.788393) + (xy 52.520607 79.70336) + (xy 52.506431 79.696749) + (xy 52.416832 79.654969) + (xy 52.416827 79.654967) + (xy 52.411619 79.652539) + (xy 52.405917 79.651788) + (xy 52.405916 79.651788) + (xy 52.364385 79.64632) + (xy 52.36438 79.646319) + (xy 52.361952 79.646) + (xy 50.632048 79.646) + (xy 50.62962 79.646319) + (xy 50.629614 79.64632) + (xy 50.588083 79.651788) + (xy 50.588081 79.651788) + (xy 50.582381 79.652539) + (xy 50.577168 79.654969) + (xy 50.577167 79.65497) + (xy 50.512863 79.684955) + (xy 50.481083 79.692) + (xy 50.194198 79.692) + (xy 50.185779 79.691527) + (xy 50.15377 79.68792) + (xy 50.153765 79.68792) + (xy 50.148173 79.68729) + (xy 50.142639 79.688336) + (xy 50.142636 79.688337) + (xy 50.091867 79.697942) + (xy 50.089098 79.698413) + (xy 50.037918 79.706128) + (xy 50.037916 79.706128) + (xy 50.032353 79.706967) + (xy 50.027282 79.709408) + (xy 50.024984 79.710117) + (xy 50.024566 79.71022) + (xy 50.024143 79.710396) + (xy 50.021897 79.711181) + (xy 50.016366 79.712229) + (xy 50.011392 79.714857) + (xy 50.011388 79.714859) + (xy 49.965677 79.739017) + (xy 49.963171 79.740282) + (xy 49.916564 79.762727) + (xy 49.916559 79.762729) + (xy 49.911491 79.765171) + (xy 49.907364 79.768999) + (xy 49.905392 79.770344) + (xy 49.905007 79.770575) + (xy 49.90467 79.770855) + (xy 49.902738 79.77228) + (xy 49.897765 79.77491) + (xy 49.893785 79.778889) + (xy 49.893782 79.778892) + (xy 49.857213 79.81546) + (xy 49.855191 79.817408) + (xy 49.817281 79.852584) + (xy 49.817276 79.852589) + (xy 49.813156 79.856413) + (xy 49.810343 79.861283) + (xy 49.808856 79.863149) + (xy 49.803239 79.869434) + (xy 49.362995 80.309678) + (xy 49.35671 80.315296) + (xy 49.331515 80.335389) + (xy 49.33151 80.335394) + (xy 49.327108 80.338905) + (xy 49.323935 80.343558) + (xy 49.323931 80.343563) + (xy 49.29481 80.386275) + (xy 49.293206 80.388536) + (xy 49.259125 80.434716) + (xy 49.257264 80.44003) + (xy 49.256144 80.442151) + (xy 49.255919 80.442524) + (xy 49.255745 80.442945) + (xy 49.254714 80.445085) + (xy 49.251541 80.449741) + (xy 49.24988 80.455123) + (xy 49.24988 80.455125) + (xy 49.234638 80.504535) + (xy 49.233759 80.507204) + (xy 49.216679 80.556015) + (xy 49.216677 80.556024) + (xy 49.214819 80.561335) + (xy 49.214608 80.56696) + (xy 49.214164 80.569308) + (xy 49.214057 80.569739) + (xy 49.214015 80.570187) + (xy 49.213659 80.572543) + (xy 49.212 80.577927) + (xy 49.212 80.583561) + (xy 49.212 80.635293) + (xy 49.211947 80.638104) + (xy 49.210014 80.689755) + (xy 49.210014 80.689759) + (xy 49.209804 80.695386) + (xy 49.211261 80.700826) + (xy 49.211527 80.703181) + (xy 49.212 80.711599) + (xy 49.212 82.690667) + (xy 49.198933 82.733029) + (xy 49.164274 82.760669) + (xy 49.120067 82.763982) + (xy 49.081675 82.741816) + (xy 49.05242 82.710287) + (xy 49.048587 82.706156) + (xy 49.043707 82.703338) + (xy 49.041852 82.701859) + (xy 49.035565 82.69624) + (xy 48.722321 82.382996) + (xy 48.716701 82.376708) + (xy 48.696611 82.351516) + (xy 48.696608 82.351513) + (xy 48.693095 82.347108) + (xy 48.688438 82.343932) + (xy 48.688435 82.34393) + (xy 48.645731 82.314814) + (xy 48.64344 82.313188) + (xy 48.601822 82.282473) + (xy 48.601816 82.28247) + (xy 48.597284 82.279125) + (xy 48.591965 82.277263) + (xy 48.589862 82.276152) + (xy 48.589476 82.275919) + (xy 48.589052 82.275744) + (xy 48.586913 82.274714) + (xy 48.582259 82.271541) + (xy 48.576876 82.26988) + (xy 48.576875 82.26988) + (xy 48.527471 82.25464) + (xy 48.524802 82.253761) + (xy 48.475988 82.236681) + (xy 48.475984 82.23668) + (xy 48.470665 82.234819) + (xy 48.465031 82.234607) + (xy 48.462702 82.234167) + (xy 48.462256 82.234056) + (xy 48.461817 82.234015) + (xy 48.459451 82.233658) + (xy 48.454073 82.232) + (xy 48.448441 82.232) + (xy 48.396707 82.232) + (xy 48.393896 82.231947) + (xy 48.342244 82.230014) + (xy 48.342239 82.230014) + (xy 48.336614 82.229804) + (xy 48.331173 82.231261) + (xy 48.328819 82.231527) + (xy 48.320401 82.232) + (xy 47.562917 82.232) + (xy 47.531137 82.224955) + (xy 47.472307 82.197523) + (xy 47.461619 82.192539) + (xy 47.455917 82.191788) + (xy 47.455916 82.191788) + (xy 47.414385 82.18632) + (xy 47.41438 82.186319) + (xy 47.411952 82.186) + (xy 45.682048 82.186) + (xy 45.67962 82.186319) + (xy 45.679614 82.18632) + (xy 45.638083 82.191788) + (xy 45.638081 82.191788) + (xy 45.632381 82.192539) + (xy 45.627174 82.194966) + (xy 45.627167 82.194969) + (xy 45.529354 82.24058) + (xy 45.529352 82.240581) + (xy 45.523393 82.24336) + (xy 45.518743 82.248009) + (xy 45.51874 82.248012) + (xy 45.443012 82.32374) + (xy 45.443009 82.323743) + (xy 45.43836 82.328393) + (xy 45.435581 82.334352) + (xy 45.43558 82.334354) + (xy 45.389969 82.432167) + (xy 45.389966 82.432174) + (xy 45.387539 82.437381) + (xy 45.386788 82.443081) + (xy 45.386788 82.443083) + (xy 45.381905 82.480175) + (xy 45.381 82.487048) + (xy 45.381 82.866952) + (xy 44.370261 82.866952) + (xy 44.396177 82.862048) + (xy 44.398933 82.86158) + (xy 44.455647 82.853033) + (xy 44.460731 82.850583) + (xy 44.462984 82.849889) + (xy 44.463436 82.849777) + (xy 44.463878 82.849594) + (xy 44.466087 82.84882) + (xy 44.471634 82.847772) + (xy 44.522348 82.820967) + (xy 44.524825 82.819718) + (xy 44.576509 82.794829) + (xy 44.580641 82.790993) + (xy 44.582594 82.789663) + (xy 44.582991 82.789423) + (xy 44.583355 82.789122) + (xy 44.585246 82.787726) + (xy 44.590235 82.78509) + (xy 44.630822 82.744501) + (xy 44.632766 82.742628) + (xy 44.674844 82.703587) + (xy 44.677664 82.6987) + (xy 44.679137 82.696854) + (xy 44.68475 82.690573) + (xy 45.493862 81.881462) + (xy 45.533975 81.860581) + (xy 45.578814 81.866483) + (xy 45.632381 81.891461) + (xy 45.682048 81.898) + (xy 47.409495 81.898) + (xy 47.411952 81.898) + (xy 47.461619 81.891461) + (xy 47.570607 81.84064) + (xy 47.65564 81.755607) + (xy 47.706461 81.646619) + (xy 47.713 81.596952) + (xy 47.713 81.217048) + (xy 47.706461 81.167381) + (xy 47.703889 81.161866) + (xy 47.685357 81.122123) + (xy 47.65564 81.058393) + (xy 47.570607 80.97336) + (xy 47.550403 80.963939) + (xy 47.466832 80.924969) + (xy 47.466827 80.924967) + (xy 47.461619 80.922539) + (xy 47.455917 80.921788) + (xy 47.455916 80.921788) + (xy 47.414385 80.91632) + (xy 47.41438 80.916319) + (xy 47.411952 80.916) + (xy 45.682048 80.916) + (xy 45.67962 80.916319) + (xy 45.679614 80.91632) + (xy 45.638083 80.921788) + (xy 45.638081 80.921788) + (xy 45.632381 80.922539) + (xy 45.627168 80.924969) + (xy 45.627167 80.92497) + (xy 45.562863 80.954955) + (xy 45.531083 80.962) + (xy 45.368207 80.962) + (xy 45.359788 80.961527) + (xy 45.32777 80.957919) + (xy 45.327765 80.957919) + (xy 45.322173 80.957289) + (xy 45.316639 80.958335) + (xy 45.316636 80.958336) + (xy 45.265837 80.967947) + (xy 45.263067 80.968418) + (xy 45.211924 80.976127) + (xy 45.211922 80.976127) + (xy 45.206353 80.976967) + (xy 45.201279 80.979409) + (xy 45.198993 80.980115) + (xy 45.198563 80.980221) + (xy 45.198138 80.980398) + (xy 45.195901 80.98118) + (xy 45.190366 80.982228) + (xy 45.185391 80.984857) + (xy 45.185383 80.98486) + (xy 45.139653 81.009028) + (xy 45.137147 81.010293) + (xy 45.090565 81.032727) + (xy 45.090562 81.032728) + (xy 45.085491 81.035171) + (xy 45.081363 81.038999) + (xy 45.079392 81.040344) + (xy 45.079007 81.040575) + (xy 45.07867 81.040855) + (xy 45.076738 81.04228) + (xy 45.071765 81.04491) + (xy 45.067785 81.048889) + (xy 45.067782 81.048892) + (xy 45.031213 81.08546) + (xy 45.029191 81.087408) + (xy 44.991281 81.122584) + (xy 44.991276 81.122589) + (xy 44.987156 81.126413) + (xy 44.984343 81.131283) + (xy 44.982856 81.133149) + (xy 44.977239 81.139434) + (xy 44.289403 81.82727) + (xy 44.259467 81.845616) + (xy 44.224464 81.84837) + (xy 44.192026 81.834933) + (xy 44.187875 81.831917) + (xy 44.183689 81.827731) + (xy 44.137745 81.804321) + (xy 44.078605 81.774187) + (xy 44.0786 81.774185) + (xy 44.073332 81.771501) + (xy 44.06749 81.770575) + (xy 44.067485 81.770574) + (xy 43.984692 81.757462) + (xy 43.98469 81.757461) + (xy 43.981774 81.757) + (xy 43.520226 81.757) + (xy 43.51731 81.757461) + (xy 43.517307 81.757462) + (xy 43.434514 81.770574) + (xy 43.434507 81.770576) + (xy 43.428668 81.771501) + (xy 43.4234 81.774184) + (xy 43.423394 81.774187) + (xy 43.323587 81.825042) + (xy 43.323583 81.825044) + (xy 43.318311 81.827731) + (xy 43.314124 81.831917) + (xy 43.314121 81.83192) + (xy 43.23492 81.911121) + (xy 43.234917 81.911124) + (xy 43.230731 81.915311) + (xy 43.228044 81.920583) + (xy 43.228042 81.920587) + (xy 43.177187 82.020394) + (xy 43.177184 82.0204) + (xy 43.174501 82.025668) + (xy 43.173576 82.031507) + (xy 43.173574 82.031514) + (xy 43.160554 82.113727) + (xy 43.16 82.117226) + (xy 43.16 82.12018) + (xy 43.16 82.449027) + (xy 43.154276 82.477805) + (xy 43.137976 82.502198) + (xy 42.975258 82.664917) + (xy 42.814364 82.825811) + (xy 42.772954 82.84691) + (xy 42.72705 82.83964) + (xy 42.694186 82.806776) + (xy 42.686916 82.760872) + (xy 42.686948 82.760669) + (xy 42.692 82.728774) + (xy 42.692 82.117226) + (xy 42.677499 82.025668) + (xy 42.666186 82.003466) + (xy 42.633937 81.940173) + (xy 42.621269 81.915311) + (xy 42.568026 81.862068) + (xy 42.551724 81.837672) + (xy 42.546 81.808894) + (xy 42.546 81.259106) + (xy 42.551724 81.230328) + (xy 42.568026 81.205932) + (xy 42.591283 81.182675) + (xy 42.621269 81.152689) + (xy 42.677499 81.042332) + (xy 42.692 80.950774) + (xy 42.692 80.947779) + (xy 43.160501 80.947779) + (xy 43.160963 80.953654) + (xy 43.174057 81.036328) + (xy 43.177669 81.047447) + (xy 43.228452 81.147114) + (xy 43.23533 81.15658) + (xy 43.314419 81.235669) + (xy 43.323885 81.242547) + (xy 43.423551 81.29333) + (xy 43.434671 81.296943) + (xy 43.517346 81.310037) + (xy 43.523219 81.3105) + (xy 43.614098 81.3105) + (xy 43.621907 81.308407) + (xy 43.624 81.300598) + (xy 43.624 81.300597) + (xy 43.878 81.300597) + (xy 43.880092 81.308406) + (xy 43.887902 81.310499) + (xy 43.978779 81.310499) + (xy 43.984654 81.310036) + (xy 44.067328 81.296942) + (xy 44.078447 81.29333) + (xy 44.178114 81.242547) + (xy 44.18758 81.235669) + (xy 44.266669 81.15658) + (xy 44.273547 81.147114) + (xy 44.32433 81.047448) + (xy 44.327943 81.036328) + (xy 44.341037 80.953653) + (xy 44.3415 80.947781) + (xy 44.3415 80.781902) + (xy 44.339407 80.774092) + (xy 44.331598 80.772) + (xy 43.887902 80.772) + (xy 43.880092 80.774092) + (xy 43.878 80.781902) + (xy 43.878 81.300597) + (xy 43.624 81.300597) + (xy 43.624 80.781902) + (xy 43.621907 80.774092) + (xy 43.614098 80.772) + (xy 43.170403 80.772) + (xy 43.162593 80.774092) + (xy 43.160501 80.781902) + (xy 43.160501 80.947779) + (xy 42.692 80.947779) + (xy 42.692 80.508098) + (xy 43.1605 80.508098) + (xy 43.162592 80.515907) + (xy 43.170402 80.518) + (xy 43.614098 80.518) + (xy 43.621907 80.515907) + (xy 43.624 80.508098) + (xy 43.878 80.508098) + (xy 43.880092 80.515907) + (xy 43.887902 80.518) + (xy 44.331597 80.518) + (xy 44.339406 80.515907) + (xy 44.341499 80.508098) + (xy 44.341499 80.342221) + (xy 44.341036 80.336345) + (xy 44.339151 80.324441) + (xy 45.381501 80.324441) + (xy 45.381821 80.329336) + (xy 45.387276 80.370779) + (xy 45.390461 80.381705) + (xy 45.435993 80.479349) + (xy 45.443431 80.489971) + (xy 45.519028 80.565568) + (xy 45.52965 80.573006) + (xy 45.627298 80.61854) + (xy 45.638215 80.621722) + (xy 45.679663 80.627179) + (xy 45.684557 80.6275) + (xy 46.410098 80.6275) + (xy 46.417907 80.625407) + (xy 46.42 80.617598) + (xy 46.42 80.617597) + (xy 46.674 80.617597) + (xy 46.676092 80.625406) + (xy 46.683902 80.627499) + (xy 47.409441 80.627499) + (xy 47.414336 80.627178) + (xy 47.455779 80.621723) + (xy 47.466705 80.618538) + (xy 47.564349 80.573006) + (xy 47.574971 80.565568) + (xy 47.650568 80.489971) + (xy 47.658006 80.479349) + (xy 47.70354 80.381701) + (xy 47.706722 80.370784) + (xy 47.712179 80.329336) + (xy 47.7125 80.324443) + (xy 47.7125 80.273902) + (xy 47.710407 80.266092) + (xy 47.702598 80.264) + (xy 46.683902 80.264) + (xy 46.676092 80.266092) + (xy 46.674 80.273902) + (xy 46.674 80.617597) + (xy 46.42 80.617597) + (xy 46.42 80.273902) + (xy 46.417907 80.266092) + (xy 46.410098 80.264) + (xy 45.391403 80.264) + (xy 45.383593 80.266092) + (xy 45.381501 80.273902) + (xy 45.381501 80.324441) + (xy 44.339151 80.324441) + (xy 44.327942 80.253671) + (xy 44.32433 80.242552) + (xy 44.273547 80.142885) + (xy 44.266669 80.133419) + (xy 44.18758 80.05433) + (xy 44.178114 80.047452) + (xy 44.085178 80.000098) + (xy 45.3815 80.000098) + (xy 45.383592 80.007907) + (xy 45.391402 80.01) + (xy 46.410098 80.01) + (xy 46.417907 80.007907) + (xy 46.42 80.000098) + (xy 46.674 80.000098) + (xy 46.676092 80.007907) + (xy 46.683902 80.01) + (xy 47.702597 80.01) + (xy 47.710406 80.007907) + (xy 47.712499 80.000098) + (xy 47.712499 79.949559) + (xy 47.712178 79.944663) + (xy 47.706723 79.90322) + (xy 47.703538 79.892294) + (xy 47.658006 79.79465) + (xy 47.650568 79.784028) + (xy 47.574971 79.708431) + (xy 47.564349 79.700993) + (xy 47.466701 79.655459) + (xy 47.455784 79.652277) + (xy 47.414336 79.64682) + (xy 47.409443 79.6465) + (xy 46.683902 79.6465) + (xy 46.676092 79.648592) + (xy 46.674 79.656402) + (xy 46.674 80.000098) + (xy 46.42 80.000098) + (xy 46.42 79.656403) + (xy 46.417907 79.648593) + (xy 46.410098 79.646501) + (xy 45.684559 79.646501) + (xy 45.679663 79.646821) + (xy 45.63822 79.652276) + (xy 45.627294 79.655461) + (xy 45.52965 79.700993) + (xy 45.519028 79.708431) + (xy 45.443431 79.784028) + (xy 45.435993 79.79465) + (xy 45.390459 79.892298) + (xy 45.387277 79.903215) + (xy 45.38182 79.944663) + (xy 45.3815 79.949557) + (xy 45.3815 80.000098) + (xy 44.085178 80.000098) + (xy 44.078448 79.996669) + (xy 44.067328 79.993056) + (xy 43.984653 79.979962) + (xy 43.978781 79.9795) + (xy 43.887902 79.9795) + (xy 43.880092 79.981592) + (xy 43.878 79.989402) + (xy 43.878 80.508098) + (xy 43.624 80.508098) + (xy 43.624 79.989403) + (xy 43.621907 79.981593) + (xy 43.614098 79.979501) + (xy 43.523221 79.979501) + (xy 43.517345 79.979963) + (xy 43.434671 79.993057) + (xy 43.423552 79.996669) + (xy 43.323885 80.047452) + (xy 43.314419 80.05433) + (xy 43.23533 80.133419) + (xy 43.228452 80.142885) + (xy 43.177669 80.242551) + (xy 43.174056 80.253671) + (xy 43.160962 80.336346) + (xy 43.1605 80.342219) + (xy 43.1605 80.508098) + (xy 42.692 80.508098) + (xy 42.692 80.339226) + (xy 42.677499 80.247668) + (xy 42.668241 80.229499) + (xy 42.637967 80.170083) + (xy 42.621269 80.137311) + (xy 42.533689 80.049731) + (xy 42.528412 80.047042) + (xy 42.428605 79.996187) + (xy 42.4286 79.996185) + (xy 42.423332 79.993501) + (xy 42.41749 79.992575) + (xy 42.417485 79.992574) + (xy 42.334692 79.979462) + (xy 42.33469 79.979461) + (xy 42.331774 79.979) + (xy 41.870226 79.979) + (xy 41.86731 79.979461) + (xy 41.867307 79.979462) + (xy 41.784514 79.992574) + (xy 41.784507 79.992576) + (xy 41.778668 79.993501) + (xy 41.7734 79.996184) + (xy 41.773394 79.996187) + (xy 41.673587 80.047042) + (xy 41.673583 80.047044) + (xy 41.668311 80.049731) + (xy 41.664124 80.053917) + (xy 41.664121 80.05392) + (xy 41.584918 80.133123) + (xy 41.584915 80.133126) + (xy 41.580731 80.137311) + (xy 41.578515 80.141659) + (xy 41.547317 80.166394) + (xy 41.50722 80.17148) + (xy 41.470282 80.155074) + (xy 41.447172 80.121914) + (xy 41.446819 80.120905) + (xy 41.445771 80.115366) + (xy 41.418974 80.064663) + (xy 41.417715 80.062168) + (xy 41.392829 80.010491) + (xy 41.388995 80.006358) + (xy 41.387661 80.004402) + (xy 41.387426 80.004012) + (xy 41.387132 80.003657) + (xy 41.385725 80.00175) + (xy 41.38309 79.996765) + (xy 41.34254 79.956215) + (xy 41.340589 79.95419) + (xy 41.30542 79.916287) + (xy 41.301587 79.912156) + (xy 41.296707 79.909338) + (xy 41.294852 79.907859) + (xy 41.288565 79.90224) + (xy 40.848321 79.461996) + (xy 40.842701 79.455708) + (xy 40.822611 79.430516) + (xy 40.822608 79.430513) + (xy 40.819095 79.426108) + (xy 40.814438 79.422932) + (xy 40.814435 79.42293) + (xy 40.771731 79.393814) + (xy 40.76944 79.392188) + (xy 40.727822 79.361473) + (xy 40.727816 79.36147) + (xy 40.723284 79.358125) + (xy 40.717965 79.356263) + (xy 40.715862 79.355152) + (xy 40.715476 79.354919) + (xy 40.715052 79.354744) + (xy 40.712913 79.353714) + (xy 40.708259 79.350541) + (xy 40.702876 79.34888) + (xy 40.702875 79.34888) + (xy 40.653471 79.33364) + (xy 40.650802 79.332761) + (xy 40.601988 79.315681) + (xy 40.601984 79.31568) + (xy 40.596665 79.313819) + (xy 40.591031 79.313607) + (xy 40.588702 79.313167) + (xy 40.588256 79.313056) + (xy 40.587817 79.313015) + (xy 40.585451 79.312658) + (xy 40.580073 79.311) + (xy 40.574441 79.311) + (xy 40.522707 79.311) + (xy 40.519896 79.310947) + (xy 40.468244 79.309014) + (xy 40.468239 79.309014) + (xy 40.462614 79.308804) + (xy 40.457173 79.310261) + (xy 40.454819 79.310527) + (xy 40.446401 79.311) + (xy 40.402613 79.311) + (xy 40.363322 79.299919) + (xy 40.33561 79.269942) + (xy 40.332435 79.263711) + (xy 40.332434 79.26371) + (xy 40.329746 79.258434) + (xy 40.236566 79.165254) + (xy 40.231289 79.162565) + (xy 40.200243 79.146746) + (xy 41.5105 79.146746) + (xy 41.510962 79.152618) + (xy 41.524984 79.241151) + (xy 41.528597 79.252271) + (xy 41.582976 79.358994) + (xy 41.589851 79.368456) + (xy 41.674543 79.453148) + (xy 41.684005 79.460023) + (xy 41.790728 79.514402) + (xy 41.801848 79.518015) + (xy 41.890381 79.532037) + (xy 41.896254 79.5325) + (xy 42.014098 79.5325) + (xy 42.021907 79.530407) + (xy 42.024 79.522598) + (xy 42.278 79.522598) + (xy 42.280092 79.530407) + (xy 42.287902 79.5325) + (xy 42.405746 79.5325) + (xy 42.411618 79.532037) + (xy 42.500151 79.518015) + (xy 42.511271 79.514402) + (xy 42.617994 79.460023) + (xy 42.627456 79.453148) + (xy 42.712148 79.368456) + (xy 42.719023 79.358994) + (xy 42.773402 79.252271) + (xy 42.777015 79.241151) + (xy 42.791037 79.152618) + (xy 42.791496 79.146793) + (xy 43.06 79.146793) + (xy 43.060001 79.149736) + (xy 43.060462 79.15265) + (xy 43.060463 79.152656) + (xy 43.06814 79.201128) + (xy 43.075429 79.247153) + (xy 43.078114 79.252423) + (xy 43.078115 79.252425) + (xy 43.132564 79.359288) + (xy 43.135254 79.364566) + (xy 43.228434 79.457746) + (xy 43.286812 79.487491) + (xy 43.328128 79.508543) + (xy 43.345847 79.517571) + (xy 43.351692 79.518496) + (xy 43.351693 79.518497) + (xy 43.361802 79.520098) + (xy 43.443263 79.533) + (xy 43.958736 79.532999) + (xy 44.056153 79.517571) + (xy 44.173566 79.457746) + (xy 44.266746 79.364566) + (xy 44.271543 79.355152) + (xy 44.27261 79.353058) + (xy 44.300322 79.323081) + (xy 44.339613 79.312) + (xy 44.58512 79.312) + (xy 44.61636 79.318796) + (xy 44.618394 79.319724) + (xy 44.622919 79.322633) + (xy 44.759715 79.3628) + (xy 44.896904 79.3628) + (xy 44.902285 79.3628) + (xy 45.039081 79.322633) + (xy 45.043606 79.319724) + (xy 45.04564 79.318796) + (xy 45.07688 79.312) + (xy 45.531083 79.312) + (xy 45.562863 79.319045) + (xy 45.632381 79.351461) + (xy 45.682048 79.358) + (xy 47.409495 79.358) + (xy 47.411952 79.358) + (xy 47.461619 79.351461) + (xy 47.570607 79.30064) + (xy 47.65564 79.215607) + (xy 47.706461 79.106619) + (xy 47.713 79.056952) + (xy 50.331 79.056952) + (xy 50.331319 79.05938) + (xy 50.33132 79.059385) + (xy 50.335727 79.092857) + (xy 50.337539 79.106619) + (xy 50.339967 79.111827) + (xy 50.339969 79.111832) + (xy 50.368395 79.172792) + (xy 50.38836 79.215607) + (xy 50.473393 79.30064) + (xy 50.537376 79.330475) + (xy 50.577167 79.34903) + (xy 50.577168 79.34903) + (xy 50.582381 79.351461) + (xy 50.632048 79.358) + (xy 52.359495 79.358) + (xy 52.361952 79.358) + (xy 52.411619 79.351461) + (xy 52.481136 79.319045) + (xy 52.512917 79.312) + (xy 52.96712 79.312) + (xy 52.99836 79.318796) + (xy 53.000394 79.319724) + (xy 53.004919 79.322633) + (xy 53.141715 79.3628) + (xy 53.278904 79.3628) + (xy 53.284285 79.3628) + (xy 53.421081 79.322633) + (xy 53.425606 79.319724) + (xy 53.42764 79.318796) + (xy 53.45888 79.312) + (xy 53.704387 79.312) + (xy 53.743678 79.323081) + (xy 53.77139 79.353058) + (xy 53.774564 79.359288) + (xy 53.774565 79.359289) + (xy 53.777254 79.364566) + (xy 53.870434 79.457746) + (xy 53.928812 79.487491) + (xy 53.970128 79.508543) + (xy 53.987847 79.517571) + (xy 53.993692 79.518496) + (xy 53.993693 79.518497) + (xy 54.003802 79.520098) + (xy 54.085263 79.533) + (xy 54.600736 79.532999) + (xy 54.698153 79.517571) + (xy 54.815566 79.457746) + (xy 54.908746 79.364566) + (xy 54.968571 79.247153) + (xy 54.984 79.149737) + (xy 54.984 79.146746) + (xy 55.2525 79.146746) + (xy 55.252962 79.152618) + (xy 55.266984 79.241151) + (xy 55.270597 79.252271) + (xy 55.324976 79.358994) + (xy 55.331851 79.368456) + (xy 55.416543 79.453148) + (xy 55.426005 79.460023) + (xy 55.532728 79.514402) + (xy 55.543848 79.518015) + (xy 55.632381 79.532037) + (xy 55.638254 79.5325) + (xy 55.756098 79.5325) + (xy 55.763907 79.530407) + (xy 55.766 79.522598) + (xy 56.02 79.522598) + (xy 56.022092 79.530407) + (xy 56.029902 79.5325) + (xy 56.147746 79.5325) + (xy 56.153618 79.532037) + (xy 56.242151 79.518015) + (xy 56.253271 79.514402) + (xy 56.359994 79.460023) + (xy 56.369456 79.453148) + (xy 56.454148 79.368456) + (xy 56.461023 79.358994) + (xy 56.515402 79.252271) + (xy 56.519015 79.241151) + (xy 56.533037 79.152618) + (xy 56.5335 79.146746) + (xy 56.5335 79.003902) + (xy 56.531407 78.996092) + (xy 56.523598 78.994) + (xy 56.029902 78.994) + (xy 56.022092 78.996092) + (xy 56.02 79.003902) + (xy 56.02 79.522598) + (xy 55.766 79.522598) + (xy 55.766 79.003902) + (xy 55.763907 78.996092) + (xy 55.756098 78.994) + (xy 55.262402 78.994) + (xy 55.254592 78.996092) + (xy 55.2525 79.003902) + (xy 55.2525 79.146746) + (xy 54.984 79.146746) + (xy 54.983999 78.730098) + (xy 55.2525 78.730098) + (xy 55.254592 78.737907) + (xy 55.262402 78.74) + (xy 55.756098 78.74) + (xy 55.763907 78.737907) + (xy 55.766 78.730098) + (xy 56.02 78.730098) + (xy 56.022092 78.737907) + (xy 56.029902 78.74) + (xy 56.523598 78.74) + (xy 56.531407 78.737907) + (xy 56.5335 78.730098) + (xy 56.5335 78.587254) + (xy 56.533037 78.581381) + (xy 56.519015 78.492848) + (xy 56.515402 78.481728) + (xy 56.461023 78.375005) + (xy 56.454148 78.365543) + (xy 56.369456 78.280851) + (xy 56.359994 78.273976) + (xy 56.253271 78.219597) + (xy 56.242151 78.215984) + (xy 56.153618 78.201962) + (xy 56.147746 78.2015) + (xy 56.029902 78.2015) + (xy 56.022092 78.203592) + (xy 56.02 78.211402) + (xy 56.02 78.730098) + (xy 55.766 78.730098) + (xy 55.766 78.211402) + (xy 55.763907 78.203592) + (xy 55.756098 78.2015) + (xy 55.638254 78.2015) + (xy 55.632381 78.201962) + (xy 55.543848 78.215984) + (xy 55.532728 78.219597) + (xy 55.426005 78.273976) + (xy 55.416543 78.280851) + (xy 55.331851 78.365543) + (xy 55.324976 78.375005) + (xy 55.270597 78.481728) + (xy 55.266984 78.492848) + (xy 55.252962 78.581381) + (xy 55.2525 78.587254) + (xy 55.2525 78.730098) + (xy 54.983999 78.730098) + (xy 54.983999 78.584264) + (xy 54.968571 78.486847) + (xy 54.908746 78.369434) + (xy 54.815566 78.276254) + (xy 54.810289 78.273565) + (xy 54.703426 78.219115) + (xy 54.703422 78.219113) + (xy 54.698153 78.216429) + (xy 54.692311 78.215503) + (xy 54.692306 78.215502) + (xy 54.603655 78.201462) + (xy 54.603652 78.201461) + (xy 54.600737 78.201) + (xy 54.597783 78.201) + (xy 54.088218 78.201) + (xy 54.088205 78.201) + (xy 54.085264 78.201001) + (xy 54.08235 78.201462) + (xy 54.082343 78.201463) + (xy 53.993692 78.215503) + (xy 53.99369 78.215503) + (xy 53.987847 78.216429) + (xy 53.982577 78.219113) + (xy 53.982574 78.219115) + (xy 53.87571 78.273565) + (xy 53.875706 78.273567) + (xy 53.870434 78.276254) + (xy 53.866247 78.28044) + (xy 53.866244 78.280443) + (xy 53.781443 78.365244) + (xy 53.78144 78.365247) + (xy 53.777254 78.369434) + (xy 53.774568 78.374705) + (xy 53.774564 78.374711) + (xy 53.77139 78.380942) + (xy 53.743678 78.410919) + (xy 53.704387 78.422) + (xy 53.45888 78.422) + (xy 53.42764 78.415204) + (xy 53.425605 78.414274) + (xy 53.421081 78.411367) + (xy 53.415923 78.409852) + (xy 53.41592 78.409851) + (xy 53.289447 78.372715) + (xy 53.289442 78.372714) + (xy 53.284285 78.3712) + (xy 53.141715 78.3712) + (xy 53.136558 78.372714) + (xy 53.136552 78.372715) + (xy 53.010079 78.409851) + (xy 53.010073 78.409853) + (xy 53.004919 78.411367) + (xy 53.000394 78.414274) + (xy 52.99836 78.415204) + (xy 52.96712 78.422) + (xy 52.512917 78.422) + (xy 52.481137 78.414955) + (xy 52.416832 78.38497) + (xy 52.416833 78.38497) + (xy 52.411619 78.382539) + (xy 52.405917 78.381788) + (xy 52.405916 78.381788) + (xy 52.364385 78.37632) + (xy 52.36438 78.376319) + (xy 52.361952 78.376) + (xy 50.632048 78.376) + (xy 50.62962 78.376319) + (xy 50.629614 78.37632) + (xy 50.588083 78.381788) + (xy 50.588081 78.381788) + (xy 50.582381 78.382539) + (xy 50.577174 78.384966) + (xy 50.577167 78.384969) + (xy 50.479354 78.43058) + (xy 50.479352 78.430581) + (xy 50.473393 78.43336) + (xy 50.468743 78.438009) + (xy 50.46874 78.438012) + (xy 50.393012 78.51374) + (xy 50.393009 78.513743) + (xy 50.38836 78.518393) + (xy 50.385581 78.524352) + (xy 50.38558 78.524354) + (xy 50.339969 78.622167) + (xy 50.339966 78.622174) + (xy 50.337539 78.627381) + (xy 50.336788 78.633081) + (xy 50.336788 78.633083) + (xy 50.332196 78.667965) + (xy 50.331 78.677048) + (xy 50.331 79.056952) + (xy 47.713 79.056952) + (xy 47.713 78.677048) + (xy 47.706461 78.627381) + (xy 47.65564 78.518393) + (xy 47.570607 78.43336) + (xy 47.549404 78.423473) + (xy 47.466832 78.384969) + (xy 47.466827 78.384967) + (xy 47.461619 78.382539) + (xy 47.455917 78.381788) + (xy 47.455916 78.381788) + (xy 47.414385 78.37632) + (xy 47.41438 78.376319) + (xy 47.411952 78.376) + (xy 45.682048 78.376) + (xy 45.67962 78.376319) + (xy 45.679614 78.37632) + (xy 45.638083 78.381788) + (xy 45.638081 78.381788) + (xy 45.632381 78.382539) + (xy 45.627168 78.384969) + (xy 45.627167 78.38497) + (xy 45.562863 78.414955) + (xy 45.531083 78.422) + (xy 45.07688 78.422) + (xy 45.04564 78.415204) + (xy 45.043605 78.414274) + (xy 45.039081 78.411367) + (xy 45.033923 78.409852) + (xy 45.03392 78.409851) + (xy 44.907447 78.372715) + (xy 44.907442 78.372714) + (xy 44.902285 78.3712) + (xy 44.759715 78.3712) + (xy 44.754558 78.372714) + (xy 44.754552 78.372715) + (xy 44.628079 78.409851) + (xy 44.628073 78.409853) + (xy 44.622919 78.411367) + (xy 44.618394 78.414274) + (xy 44.61636 78.415204) + (xy 44.58512 78.422) + (xy 44.339613 78.422) + (xy 44.300322 78.410919) + (xy 44.27261 78.380942) + (xy 44.269435 78.374711) + (xy 44.269434 78.374709) + (xy 44.266746 78.369434) + (xy 44.173566 78.276254) + (xy 44.168289 78.273565) + (xy 44.061426 78.219115) + (xy 44.061422 78.219113) + (xy 44.056153 78.216429) + (xy 44.050311 78.215503) + (xy 44.050306 78.215502) + (xy 43.961655 78.201462) + (xy 43.961652 78.201461) + (xy 43.958737 78.201) + (xy 43.955783 78.201) + (xy 43.446218 78.201) + (xy 43.446205 78.201) + (xy 43.443264 78.201001) + (xy 43.44035 78.201462) + (xy 43.440343 78.201463) + (xy 43.351692 78.215503) + (xy 43.35169 78.215503) + (xy 43.345847 78.216429) + (xy 43.340577 78.219113) + (xy 43.340574 78.219115) + (xy 43.23371 78.273565) + (xy 43.233706 78.273567) + (xy 43.228434 78.276254) + (xy 43.224247 78.28044) + (xy 43.224244 78.280443) + (xy 43.139443 78.365244) + (xy 43.13944 78.365247) + (xy 43.135254 78.369434) + (xy 43.132567 78.374706) + (xy 43.132565 78.37471) + (xy 43.078115 78.481573) + (xy 43.078112 78.481579) + (xy 43.075429 78.486847) + (xy 43.074504 78.492686) + (xy 43.074502 78.492693) + (xy 43.060631 78.580279) + (xy 43.06 78.584263) + (xy 43.06 78.587215) + (xy 43.06 78.587216) + (xy 43.06 79.146781) + (xy 43.06 79.146793) + (xy 42.791496 79.146793) + (xy 42.7915 79.146746) + (xy 42.7915 79.003902) + (xy 42.789407 78.996092) + (xy 42.781598 78.994) + (xy 42.287902 78.994) + (xy 42.280092 78.996092) + (xy 42.278 79.003902) + (xy 42.278 79.522598) + (xy 42.024 79.522598) + (xy 42.024 79.003902) + (xy 42.021907 78.996092) + (xy 42.014098 78.994) + (xy 41.520402 78.994) + (xy 41.512592 78.996092) + (xy 41.5105 79.003902) + (xy 41.5105 79.146746) + (xy 40.200243 79.146746) + (xy 40.124426 79.108115) + (xy 40.124422 79.108113) + (xy 40.119153 79.105429) + (xy 40.113311 79.104503) + (xy 40.113306 79.104502) + (xy 40.024655 79.090462) + (xy 40.024652 79.090461) + (xy 40.021737 79.09) + (xy 40.018783 79.09) + (xy 39.509218 79.09) + (xy 39.509205 79.09) + (xy 39.506264 79.090001) + (xy 39.50335 79.090462) + (xy 39.503343 79.090463) + (xy 39.414692 79.104503) + (xy 39.41469 79.104503) + (xy 39.408847 79.105429) + (xy 39.403577 79.108113) + (xy 39.403574 79.108115) + (xy 39.29671 79.162565) + (xy 39.296706 79.162567) + (xy 39.291434 79.165254) + (xy 39.287247 79.16944) + (xy 39.287244 79.169443) + (xy 39.202443 79.254244) + (xy 39.20244 79.254247) + (xy 39.198254 79.258434) + (xy 39.195567 79.263706) + (xy 39.195565 79.26371) + (xy 39.141115 79.370573) + (xy 39.141112 79.370579) + (xy 39.138429 79.375847) + (xy 39.137504 79.381686) + (xy 39.137502 79.381693) + (xy 39.124784 79.461996) + (xy 39.123 79.473263) + (xy 39.123 79.476215) + (xy 39.123 79.476216) + (xy 39.123 80.035781) + (xy 39.123 80.035793) + (xy 39.123001 80.038736) + (xy 39.123462 80.04165) + (xy 39.123463 80.041656) + (xy 39.136174 80.121914) + (xy 39.138429 80.136153) + (xy 39.141114 80.141423) + (xy 39.141115 80.141425) + (xy 39.194996 80.247173) + (xy 39.198254 80.253566) + (xy 39.291434 80.346746) + (xy 39.338601 80.370779) + (xy 39.386971 80.395425) + (xy 39.408847 80.406571) + (xy 39.414692 80.407496) + (xy 39.414693 80.407497) + (xy 39.425571 80.409219) + (xy 39.506263 80.422) + (xy 40.021736 80.421999) + (xy 40.119153 80.406571) + (xy 40.236566 80.346746) + (xy 40.302322 80.280989) + (xy 40.336029 80.261528) + (xy 40.374956 80.261528) + (xy 40.408667 80.280992) + (xy 40.553974 80.426299) + (xy 40.570276 80.450695) + (xy 40.576 80.479473) + (xy 40.576 81.8568) + (xy 40.565925 81.8944) + (xy 40.5384 81.921925) + (xy 40.5008 81.932) + (xy 39.401873 81.932) + (xy 39.360095 81.919327) + (xy 39.332398 81.88558) + (xy 39.328117 81.842132) + (xy 39.348696 81.803628) + (xy 39.350772 81.801552) + (xy 39.357821 81.794502) + (xy 39.359766 81.792628) + (xy 39.401844 81.753587) + (xy 39.404664 81.7487) + (xy 39.406137 81.746854) + (xy 39.41175 81.740573) + (xy 39.515826 81.636497) + (xy 39.54781 81.61752) + (xy 39.578081 81.608633) + (xy 39.698018 81.531553) + (xy 39.791382 81.423806) + (xy 39.850608 81.294119) + (xy 39.867956 81.173462) + (xy 39.870133 81.158321) + (xy 39.870898 81.153) + (xy 39.868947 81.139434) + (xy 39.854986 81.042332) + (xy 39.850608 81.011881) + (xy 39.791382 80.882194) + (xy 39.698018 80.774447) + (xy 39.693496 80.771541) + (xy 39.693494 80.771539) + (xy 39.582602 80.700272) + (xy 39.582599 80.70027) + (xy 39.578081 80.697367) + (xy 39.572925 80.695853) + (xy 39.572923 80.695852) + (xy 39.446447 80.658715) + (xy 39.446442 80.658714) + (xy 39.441285 80.6572) + (xy 39.298715 80.6572) + (xy 39.293558 80.658714) + (xy 39.293552 80.658715) + (xy 39.167076 80.695852) + (xy 39.167071 80.695854) + (xy 39.161919 80.697367) + (xy 39.157403 80.700269) + (xy 39.157397 80.700272) + (xy 39.046505 80.771539) + (xy 39.046499 80.771543) + (xy 39.041982 80.774447) + (xy 39.038461 80.778509) + (xy 39.03846 80.778511) + (xy 38.981721 80.843991) + (xy 38.948618 80.882194) + (xy 38.946386 80.88708) + (xy 38.946381 80.887089) + (xy 38.902106 80.984039) + (xy 38.874358 81.016062) + (xy 38.833702 81.028) + (xy 38.829917 81.028) + (xy 38.798137 81.020955) + (xy 38.767521 81.006679) + (xy 38.728619 80.988539) + (xy 38.722917 80.987788) + (xy 38.722916 80.987788) + (xy 38.681385 80.98232) + (xy 38.68138 80.982319) + (xy 38.678952 80.982) + (xy 37.424048 80.982) + (xy 37.42162 80.982319) + (xy 37.421614 80.98232) + (xy 37.380083 80.987788) + (xy 37.380081 80.987788) + (xy 37.374381 80.988539) + (xy 37.369174 80.990966) + (xy 37.369167 80.990969) + (xy 37.271354 81.03658) + (xy 37.271352 81.036581) + (xy 37.265393 81.03936) + (xy 37.260743 81.044009) + (xy 37.26074 81.044012) + (xy 37.185012 81.11974) + (xy 37.185009 81.119743) + (xy 37.18036 81.124393) + (xy 37.177581 81.130352) + (xy 37.17758 81.130354) + (xy 37.131969 81.228167) + (xy 37.131966 81.228174) + (xy 37.129539 81.233381) + (xy 37.128788 81.239081) + (xy 37.128788 81.239083) + (xy 37.123341 81.28046) + (xy 37.123 81.283048) + (xy 37.123 81.662952) + (xy 34.87436 81.662952) + (xy 34.858802 81.60895) + (xy 34.856925 81.600728) + (xy 34.852759 81.576211) + (xy 34.814039 81.348313) + (xy 34.813095 81.339933) + (xy 34.812969 81.337698) + (xy 34.798617 81.082142) + (xy 34.7985 81.077927) + (xy 34.7985 78.156915) + (xy 34.7985 78.156809) + (xy 34.798494 78.156774) + (xy 34.798491 78.156701) + (xy 34.798491 78.11379) + (xy 34.798492 78.069597) + (xy 34.771886 77.833436) + (xy 34.719004 77.601738) + (xy 34.640513 77.377419) + (xy 34.564101 77.218745) + (xy 34.538317 77.165202) + (xy 34.538316 77.1652) + (xy 34.5374 77.163298) + (xy 34.479202 77.070677) + (xy 34.412079 76.96385) + (xy 34.412074 76.963843) + (xy 34.41096 76.96207) + (xy 34.409103 76.959742) + (xy 34.302615 76.826209) + (xy 34.262785 76.776263) + (xy 34.223779 76.737257) + (xy 34.223777 76.737254) + (xy 33.943271 76.456748) + (xy 33.943218 76.456695) + (xy 33.943198 76.456681) + (xy 33.943172 76.456657) + (xy 33.886522 76.400005) + (xy 33.886521 76.400004) + (xy 33.884783 76.398266) + (xy 33.882833 76.39677) + (xy 33.88283 76.396767) + (xy 33.821882 76.35) + (xy 33.801396 76.33428) + (xy 33.781444 76.31115) + (xy 33.772338 76.281993) + (xy 33.758938 76.145928) + (xy 33.699412 75.949699) + (xy 33.602748 75.768853) + (xy 33.576165 75.736462) + (xy 33.475003 75.613195) + (xy 33.47266 75.61034) + (xy 33.420279 75.567352) + (xy 33.317006 75.482598) + (xy 33.317003 75.482596) + (xy 33.314147 75.480252) + (xy 33.133301 75.383588) + (xy 33.129774 75.382518) + (xy 33.129769 75.382516) + (xy 32.940603 75.325133) + (xy 32.940601 75.325132) + (xy 32.937072 75.324062) + (xy 32.933401 75.3237) + (xy 32.933399 75.3237) + (xy 32.736676 75.304325) + (xy 32.733 75.303963) + (xy 32.729324 75.304325) + (xy 32.5326 75.3237) + (xy 32.532596 75.3237) + (xy 32.528928 75.324062) + (xy 32.5254 75.325132) + (xy 32.525396 75.325133) + (xy 32.33623 75.382516) + (xy 32.336222 75.382519) + (xy 32.332699 75.383588) + (xy 32.329447 75.385325) + (xy 32.329445 75.385327) + (xy 32.155111 75.47851) + (xy 32.155106 75.478512) + (xy 32.151853 75.480252) + (xy 32.149 75.482593) + (xy 32.148993 75.482598) + (xy 31.996195 75.607996) + (xy 31.996191 75.608) + (xy 31.99334 75.61034) + (xy 31.991001 75.613189) + (xy 31.990996 75.613195) + (xy 31.865598 75.765993) + (xy 31.865593 75.766) + (xy 31.863252 75.768853) + (xy 31.861512 75.772106) + (xy 31.86151 75.772111) + (xy 31.774516 75.934867) + (xy 31.766588 75.949699) + (xy 31.765519 75.953222) + (xy 31.765516 75.95323) + (xy 31.70901 76.139505) + (xy 31.707062 76.145928) + (xy 31.7067 76.149596) + (xy 31.7067 76.1496) + (xy 31.687381 76.345755) + (xy 31.686963 76.35) + (xy 31.238173 76.35) + (xy 31.238173 76.346325) + (xy 31.218807 76.149701) + (xy 31.217372 76.142491) + (xy 31.16002 75.953426) + (xy 31.157207 75.946634) + (xy 31.06407 75.772386) + (xy 31.059988 75.766278) + (xy 31.019939 75.717477) + (xy 31.013095 75.712741) + (xy 31.005816 75.716787) + (xy 30.379605 76.342999) + (xy 30.375563 76.35) + (xy 30.010436 76.35) + (xy 30.006394 76.342999) + (xy 29.380182 75.716787) + (xy 29.372903 75.712742) + (xy 29.366058 75.717479) + (xy 29.326008 75.766281) + (xy 29.321931 75.772383) + (xy 29.228792 75.946634) + (xy 29.225979 75.953426) + (xy 29.168627 76.142491) + (xy 29.167192 76.149701) + (xy 29.147827 76.346325) + (xy 29.147827 76.353675) + (xy 25 76.353675) + (xy 25 75.529903) + (xy 29.555742 75.529903) + (xy 29.559787 75.537182) + (xy 30.185999 76.163394) + (xy 30.192999 76.167436) + (xy 30.2 76.163394) + (xy 30.826211 75.537182) + (xy 30.830257 75.529903) + (xy 30.825521 75.523059) + (xy 30.776722 75.483011) + (xy 30.770613 75.478929) + (xy 30.596365 75.385792) + (xy 30.589573 75.382979) + (xy 30.400508 75.325627) + (xy 30.393298 75.324192) + (xy 30.196675 75.304827) + (xy 30.189325 75.304827) + (xy 29.992701 75.324192) + (xy 29.985491 75.325627) + (xy 29.796426 75.382979) + (xy 29.789634 75.385792) + (xy 29.615383 75.478931) + (xy 29.609281 75.483008) + (xy 29.560479 75.523058) + (xy 29.555742 75.529903) + (xy 25 75.529903) + (xy 25 74.630095) + (xy 29.555741 74.630095) + (xy 29.560477 74.636939) + (xy 29.609278 74.676988) + (xy 29.615386 74.68107) + (xy 29.789634 74.774207) + (xy 29.796426 74.77702) + (xy 29.985491 74.834372) + (xy 29.992701 74.835807) + (xy 30.189325 74.855173) + (xy 30.196675 74.855173) + (xy 30.393298 74.835807) + (xy 30.400508 74.834372) + (xy 30.589573 74.77702) + (xy 30.596365 74.774207) + (xy 30.770613 74.68107) + (xy 30.776721 74.676988) + (xy 30.82552 74.636939) + (xy 30.830257 74.630096) + (xy 30.826211 74.622816) + (xy 30.2 73.996605) + (xy 30.193 73.992563) + (xy 30.185999 73.996605) + (xy 29.559787 74.622816) + (xy 29.555741 74.630095) + (xy 25 74.630095) + (xy 25 73.813675) + (xy 29.147827 73.813675) + (xy 29.167192 74.010298) + (xy 29.168627 74.017508) + (xy 29.225979 74.206573) + (xy 29.228792 74.213365) + (xy 29.321929 74.387613) + (xy 29.326011 74.393722) + (xy 29.366059 74.442521) + (xy 29.372903 74.447257) + (xy 29.380182 74.443211) + (xy 30.006394 73.817) + (xy 30.010436 73.81) + (xy 30.375563 73.81) + (xy 30.379605 73.817) + (xy 31.005816 74.443211) + (xy 31.013096 74.447257) + (xy 31.019939 74.44252) + (xy 31.059988 74.393721) + (xy 31.06407 74.387613) + (xy 31.157207 74.213365) + (xy 31.16002 74.206573) + (xy 31.217372 74.017508) + (xy 31.218807 74.010298) + (xy 31.238173 73.813675) + (xy 31.238173 73.81) + (xy 31.686963 73.81) + (xy 31.687325 73.813675) + (xy 31.687325 73.813676) + (xy 31.705704 74.000291) + (xy 31.707062 74.014072) + (xy 31.708132 74.017601) + (xy 31.708133 74.017603) + (xy 31.765516 74.206769) + (xy 31.765518 74.206774) + (xy 31.766588 74.210301) + (xy 31.863252 74.391147) + (xy 31.865596 74.394003) + (xy 31.865598 74.394006) + (xy 31.97648 74.529116) + (xy 31.99334 74.54966) + (xy 31.996195 74.552003) + (xy 32.142108 74.671751) + (xy 32.151853 74.679748) + (xy 32.332699 74.776412) + (xy 32.528928 74.835938) + (xy 32.715797 74.854342) + (xy 32.724227 74.855173) + (xy 32.733 74.856037) + (xy 32.741773 74.855173) + (xy 32.748539 74.854506) + (xy 32.937072 74.835938) + (xy 33.110571 74.783306) + (xy 33.150671 74.782323) + (xy 33.185573 74.802095) + (xy 34.625229 76.24175) + (xy 34.625237 76.241759) + (xy 34.625239 76.241762) + (xy 34.625243 76.241766) + (xy 34.625244 76.241767) + (xy 34.662272 76.278793) + (xy 34.665635 76.282384) + (xy 34.694361 76.315139) + (xy 34.774873 76.406943) + (xy 34.780861 76.414747) + (xy 34.87153 76.55044) + (xy 34.876448 76.558958) + (xy 34.923846 76.655068) + (xy 34.948037 76.704121) + (xy 34.948625 76.705312) + (xy 34.952389 76.714399) + (xy 34.960148 76.737255) + (xy 35.004846 76.868931) + (xy 35.007392 76.878432) + (xy 35.03923 77.038487) + (xy 35.040514 77.048239) + (xy 35.048365 77.168012) + (xy 35.050278 77.19721) + (xy 35.05133 77.213252) + (xy 35.051491 77.218171) + (xy 35.051491 77.340737) + (xy 35.051727 77.342838) + (xy 35.051728 77.342842) + (xy 35.079187 77.586552) + (xy 35.079188 77.586562) + (xy 35.079423 77.588641) + (xy 35.079888 77.590678) + (xy 35.079889 77.590684) + (xy 35.134467 77.829802) + (xy 35.134937 77.83186) + (xy 35.135632 77.833848) + (xy 35.135635 77.833856) + (xy 35.207709 78.039826) + (xy 35.217334 78.067333) + (xy 35.218242 78.06922) + (xy 35.218244 78.069223) + (xy 35.236607 78.107354) + (xy 35.325578 78.2921) + (xy 35.326698 78.293882) + (xy 35.3267 78.293886) + (xy 35.35415 78.337571) + (xy 35.458308 78.503334) + (xy 35.613854 78.698379) + (xy 35.681122 78.765645) + (xy 36.324724 79.409246) + (xy 36.69889 79.783413) + (xy 36.720149 79.825883) + (xy 36.729625 79.89179) + (xy 36.729626 79.891795) + (xy 36.730392 79.897119) + (xy 36.732628 79.902015) + (xy 36.787382 80.021911) + (xy 36.787383 80.021913) + (xy 36.789618 80.026806) + (xy 36.793138 80.030869) + (xy 36.79314 80.030871) + (xy 36.834799 80.078947) + (xy 36.882982 80.134553) + (xy 36.887504 80.137459) + (xy 36.887505 80.13746) + (xy 36.998397 80.208727) + (xy 37.002919 80.211633) + (xy 37.139715 80.2518) + (xy 37.276904 80.2518) + (xy 37.282285 80.2518) + (xy 37.419081 80.211633) + (xy 37.44428 80.195437) + (xy 37.484937 80.1835) + (xy 37.566471 80.1835) + (xy 37.605763 80.194582) + (xy 37.633475 80.22456) + (xy 37.644996 80.247173) + (xy 37.648254 80.253566) + (xy 37.741434 80.346746) + (xy 37.788601 80.370779) + (xy 37.836971 80.395425) + (xy 37.858847 80.406571) + (xy 37.864692 80.407496) + (xy 37.864693 80.407497) + (xy 37.875571 80.409219) + (xy 37.956263 80.422) + (xy 38.471736 80.421999) + (xy 38.569153 80.406571) + (xy 38.686566 80.346746) + (xy 38.779746 80.253566) + (xy 38.839571 80.136153) + (xy 38.855 80.038737) + (xy 38.854999 79.473264) + (xy 38.839571 79.375847) + (xy 38.779746 79.258434) + (xy 38.686566 79.165254) + (xy 38.681289 79.162565) + (xy 38.574426 79.108115) + (xy 38.574422 79.108113) + (xy 38.569153 79.105429) + (xy 38.563311 79.104503) + (xy 38.563306 79.104502) + (xy 38.474655 79.090462) + (xy 38.474652 79.090461) + (xy 38.471737 79.09) + (xy 38.468783 79.09) + (xy 37.959218 79.09) + (xy 37.959205 79.09) + (xy 37.956264 79.090001) + (xy 37.95335 79.090462) + (xy 37.953343 79.090463) + (xy 37.864692 79.104503) + (xy 37.86469 79.104503) + (xy 37.858847 79.105429) + (xy 37.853577 79.108113) + (xy 37.853574 79.108115) + (xy 37.74671 79.162565) + (xy 37.746706 79.162567) + (xy 37.741434 79.165254) + (xy 37.737247 79.16944) + (xy 37.737244 79.169443) + (xy 37.652443 79.254244) + (xy 37.65244 79.254247) + (xy 37.648254 79.258434) + (xy 37.645567 79.263706) + (xy 37.645565 79.26371) + (xy 37.613362 79.326913) + (xy 37.585191 79.357171) + (xy 37.545284 79.367965) + (xy 37.505701 79.356035) + (xy 37.423602 79.303272) + (xy 37.423599 79.30327) + (xy 37.419081 79.300367) + (xy 37.413925 79.298853) + (xy 37.413923 79.298852) + (xy 37.287447 79.261715) + (xy 37.287442 79.261714) + (xy 37.282285 79.2602) + (xy 37.276905 79.2602) + (xy 37.275771 79.260037) + (xy 37.233298 79.238776) + (xy 37.067085 79.072563) + (xy 36.886909 78.892386) + (xy 36.886908 78.892385) + (xy 36.724621 78.730098) + (xy 41.5105 78.730098) + (xy 41.512592 78.737907) + (xy 41.520402 78.74) + (xy 42.014098 78.74) + (xy 42.021907 78.737907) + (xy 42.024 78.730098) + (xy 42.278 78.730098) + (xy 42.280092 78.737907) + (xy 42.287902 78.74) + (xy 42.781598 78.74) + (xy 42.789407 78.737907) + (xy 42.7915 78.730098) + (xy 42.7915 78.587254) + (xy 42.791037 78.581381) + (xy 42.777015 78.492848) + (xy 42.773402 78.481728) + (xy 42.719023 78.375005) + (xy 42.712148 78.365543) + (xy 42.627456 78.280851) + (xy 42.617994 78.273976) + (xy 42.511271 78.219597) + (xy 42.500151 78.215984) + (xy 42.411618 78.201962) + (xy 42.405746 78.2015) + (xy 42.287902 78.2015) + (xy 42.280092 78.203592) + (xy 42.278 78.211402) + (xy 42.278 78.730098) + (xy 42.024 78.730098) + (xy 42.024 78.211402) + (xy 42.021907 78.203592) + (xy 42.014098 78.2015) + (xy 41.896254 78.2015) + (xy 41.890381 78.201962) + (xy 41.801848 78.215984) + (xy 41.790728 78.219597) + (xy 41.684005 78.273976) + (xy 41.674543 78.280851) + (xy 41.589851 78.365543) + (xy 41.582976 78.375005) + (xy 41.528597 78.481728) + (xy 41.524984 78.492848) + (xy 41.510962 78.581381) + (xy 41.5105 78.587254) + (xy 41.5105 78.730098) + (xy 36.724621 78.730098) + (xy 36.243328 78.248806) + (xy 36.239969 78.24522) + (xy 36.119061 78.107354) + (xy 36.113073 78.099551) + (xy 36.051223 78.006988) + (xy 36.012582 77.94916) + (xy 36.00767 77.940653) + (xy 35.927658 77.778407) + (xy 35.923901 77.769334) + (xy 35.923534 77.768254) + (xy 35.882363 77.646969) + (xy 35.86576 77.598057) + (xy 35.863214 77.588556) + (xy 35.855359 77.549065) + (xy 35.827925 77.411149) + (xy 35.826644 77.401413) + (xy 35.814671 77.218745) + (xy 35.81451 77.213827) + (xy 35.81451 77.100973) + (xy 35.81451 77.098856) + (xy 35.788278 76.86604) + (xy 35.736143 76.637626) + (xy 35.658761 76.416485) + (xy 35.557105 76.205399) + (xy 35.55525 76.202447) + (xy 35.492589 76.102724) + (xy 35.432454 76.007022) + (xy 35.286375 75.82385) + (xy 35.231377 75.768853) + (xy 33.725094 74.262571) + (xy 33.705323 74.22767) + (xy 33.706306 74.187571) + (xy 33.758938 74.014072) + (xy 33.779037 73.81) + (xy 33.778347 73.802999) + (xy 33.776772 73.787) + (xy 33.758938 73.605928) + (xy 33.699412 73.409699) + (xy 33.602748 73.228853) + (xy 33.574165 73.194025) + (xy 33.475003 73.073195) + (xy 33.47266 73.07034) + (xy 33.469019 73.067352) + (xy 33.317006 72.942598) + (xy 33.317003 72.942596) + (xy 33.314147 72.940252) + (xy 33.133301 72.843588) + (xy 33.129774 72.842518) + (xy 33.129769 72.842516) + (xy 32.940603 72.785133) + (xy 32.940601 72.785132) + (xy 32.937072 72.784062) + (xy 32.933401 72.7837) + (xy 32.933399 72.7837) + (xy 32.736676 72.764325) + (xy 32.733 72.763963) + (xy 32.729324 72.764325) + (xy 32.5326 72.7837) + (xy 32.532596 72.7837) + (xy 32.528928 72.784062) + (xy 32.5254 72.785132) + (xy 32.525396 72.785133) + (xy 32.33623 72.842516) + (xy 32.336222 72.842519) + (xy 32.332699 72.843588) + (xy 32.329447 72.845325) + (xy 32.329445 72.845327) + (xy 32.155111 72.93851) + (xy 32.155106 72.938512) + (xy 32.151853 72.940252) + (xy 32.149 72.942593) + (xy 32.148993 72.942598) + (xy 31.996195 73.067996) + (xy 31.996189 73.068001) + (xy 31.99334 73.07034) + (xy 31.991001 73.073189) + (xy 31.990996 73.073195) + (xy 31.865598 73.225993) + (xy 31.865593 73.226) + (xy 31.863252 73.228853) + (xy 31.861512 73.232106) + (xy 31.86151 73.232111) + (xy 31.769166 73.404876) + (xy 31.766588 73.409699) + (xy 31.765519 73.413222) + (xy 31.765516 73.41323) + (xy 31.708466 73.601299) + (xy 31.707062 73.605928) + (xy 31.7067 73.609596) + (xy 31.7067 73.6096) + (xy 31.68762 73.803332) + (xy 31.686963 73.81) + (xy 31.238173 73.81) + (xy 31.238173 73.806325) + (xy 31.218807 73.609701) + (xy 31.217372 73.602491) + (xy 31.16002 73.413426) + (xy 31.157207 73.406634) + (xy 31.06407 73.232386) + (xy 31.059988 73.226278) + (xy 31.019939 73.177477) + (xy 31.013095 73.172741) + (xy 31.005816 73.176787) + (xy 30.379605 73.802999) + (xy 30.375563 73.81) + (xy 30.010436 73.81) + (xy 30.006394 73.802999) + (xy 29.380182 73.176787) + (xy 29.372903 73.172742) + (xy 29.366058 73.177479) + (xy 29.326008 73.226281) + (xy 29.321931 73.232383) + (xy 29.228792 73.406634) + (xy 29.225979 73.413426) + (xy 29.168627 73.602491) + (xy 29.167192 73.609701) + (xy 29.147827 73.806325) + (xy 29.147827 73.813675) + (xy 25 73.813675) + (xy 25 72.989903) + (xy 29.555742 72.989903) + (xy 29.559787 72.997182) + (xy 30.185999 73.623394) + (xy 30.192999 73.627436) + (xy 30.2 73.623394) + (xy 30.826211 72.997182) + (xy 30.830257 72.989903) + (xy 30.825521 72.983059) + (xy 30.776722 72.943011) + (xy 30.770613 72.938929) + (xy 30.596365 72.845792) + (xy 30.589573 72.842979) + (xy 30.400508 72.785627) + (xy 30.393298 72.784192) + (xy 30.196675 72.764827) + (xy 30.189325 72.764827) + (xy 29.992701 72.784192) + (xy 29.985491 72.785627) + (xy 29.796426 72.842979) + (xy 29.789634 72.845792) + (xy 29.615383 72.938931) + (xy 29.609281 72.943008) + (xy 29.560479 72.983058) + (xy 29.555742 72.989903) + (xy 25 72.989903) + (xy 25 72.090095) + (xy 29.555741 72.090095) + (xy 29.560477 72.096939) + (xy 29.609278 72.136988) + (xy 29.615386 72.14107) + (xy 29.789634 72.234207) + (xy 29.796426 72.23702) + (xy 29.985491 72.294372) + (xy 29.992701 72.295807) + (xy 30.189325 72.315173) + (xy 30.196675 72.315173) + (xy 30.393298 72.295807) + (xy 30.400508 72.294372) + (xy 30.589573 72.23702) + (xy 30.596365 72.234207) + (xy 30.770613 72.14107) + (xy 30.776721 72.136988) + (xy 30.82552 72.096939) + (xy 30.830257 72.090096) + (xy 30.826211 72.082816) + (xy 30.2 71.456605) + (xy 30.193 71.452563) + (xy 30.185999 71.456605) + (xy 29.559787 72.082816) + (xy 29.555741 72.090095) + (xy 25 72.090095) + (xy 25 71.273675) + (xy 29.147827 71.273675) + (xy 29.167192 71.470298) + (xy 29.168627 71.477508) + (xy 29.225979 71.666573) + (xy 29.228792 71.673365) + (xy 29.321929 71.847613) + (xy 29.326011 71.853722) + (xy 29.366059 71.902521) + (xy 29.372903 71.907257) + (xy 29.380182 71.903211) + (xy 30.006394 71.277) + (xy 30.010436 71.27) + (xy 30.375563 71.27) + (xy 30.379605 71.277) + (xy 31.005816 71.903211) + (xy 31.013096 71.907257) + (xy 31.019939 71.90252) + (xy 31.059988 71.853721) + (xy 31.06407 71.847613) + (xy 31.157207 71.673365) + (xy 31.16002 71.666573) + (xy 31.217372 71.477508) + (xy 31.218807 71.470298) + (xy 31.238173 71.273675) + (xy 31.238173 71.27) + (xy 31.686963 71.27) + (xy 31.687325 71.273675) + (xy 31.687325 71.273676) + (xy 31.705371 71.45691) + (xy 31.707062 71.474072) + (xy 31.708132 71.477601) + (xy 31.708133 71.477603) + (xy 31.765516 71.666769) + (xy 31.765518 71.666774) + (xy 31.766588 71.670301) + (xy 31.863252 71.851147) + (xy 31.865596 71.854003) + (xy 31.865598 71.854006) + (xy 31.983846 71.998092) + (xy 31.99334 72.00966) + (xy 31.996195 72.012003) + (xy 32.146658 72.135485) + (xy 32.151853 72.139748) + (xy 32.332699 72.236412) + (xy 32.528928 72.295938) + (xy 32.715797 72.314342) + (xy 32.724227 72.315173) + (xy 32.733 72.316037) + (xy 32.741773 72.315173) + (xy 32.748539 72.314506) + (xy 32.937072 72.295938) + (xy 33.110571 72.243306) + (xy 33.150671 72.242323) + (xy 33.185572 72.262094) + (xy 34.758087 73.834611) + (xy 35.282027 74.358551) + (xy 35.319311 74.395835) + (xy 35.322209 74.398899) + (xy 35.327666 74.405005) + (xy 35.497385 74.594916) + (xy 35.508502 74.607355) + (xy 35.513759 74.613947) + (xy 35.673353 74.838869) + (xy 35.67431 74.840217) + (xy 35.678794 74.847354) + (xy 35.713595 74.91032) + (xy 35.813002 75.09018) + (xy 35.816661 75.097778) + (xy 35.922836 75.354102) + (xy 35.925621 75.362062) + (xy 36.002427 75.62866) + (xy 36.004303 75.636881) + (xy 36.050776 75.910391) + (xy 36.051721 75.918771) + (xy 36.067382 76.197632) + (xy 36.0675 76.201849) + (xy 36.0675 76.529191) + (xy 36.067505 76.529225) + (xy 36.067508 76.529296) + (xy 36.067508 76.616403) + (xy 36.067744 76.618504) + (xy 36.067745 76.618509) + (xy 36.093683 76.848746) + (xy 36.094114 76.852564) + (xy 36.094581 76.85461) + (xy 36.146528 77.082215) + (xy 36.146531 77.082228) + (xy 36.146996 77.084262) + (xy 36.147688 77.086242) + (xy 36.14769 77.086246) + (xy 36.224788 77.306585) + (xy 36.224791 77.306594) + (xy 36.225487 77.308581) + (xy 36.226402 77.310482) + (xy 36.226405 77.310488) + (xy 36.327682 77.520797) + (xy 36.327686 77.520805) + (xy 36.3286 77.522702) + (xy 36.329721 77.524486) + (xy 36.45392 77.722149) + (xy 36.453928 77.72216) + (xy 36.45504 77.72393) + (xy 36.456349 77.725572) + (xy 36.456353 77.725577) + (xy 36.577108 77.877) + (xy 36.603215 77.909737) + (xy 36.604713 77.911235) + (xy 36.642224 77.948746) + (xy 36.642225 77.948748) + (xy 36.698889 78.005412) + (xy 36.720149 78.047883) + (xy 36.729625 78.11379) + (xy 36.729626 78.113795) + (xy 36.730392 78.119119) + (xy 36.732628 78.124015) + (xy 36.787382 78.243911) + (xy 36.787383 78.243913) + (xy 36.789618 78.248806) + (xy 36.793138 78.252869) + (xy 36.79314 78.252871) + (xy 36.827133 78.2921) + (xy 36.882982 78.356553) + (xy 36.887504 78.359459) + (xy 36.887505 78.35946) + (xy 36.998397 78.430727) + (xy 37.002919 78.433633) + (xy 37.139715 78.4738) + (xy 37.276904 78.4738) + (xy 37.282285 78.4738) + (xy 37.419081 78.433633) + (xy 37.44428 78.417437) + (xy 37.484937 78.4055) + (xy 37.566471 78.4055) + (xy 37.605763 78.416582) + (xy 37.633475 78.44656) + (xy 37.645564 78.470288) + (xy 37.648254 78.475566) + (xy 37.741434 78.568746) + (xy 37.777758 78.587254) + (xy 37.847534 78.622807) + (xy 37.858847 78.628571) + (xy 37.864692 78.629496) + (xy 37.864693 78.629497) + (xy 37.875571 78.631219) + (xy 37.956263 78.644) + (xy 38.471736 78.643999) + (xy 38.569153 78.628571) + (xy 38.686566 78.568746) + (xy 38.779746 78.475566) + (xy 38.839571 78.358153) + (xy 38.855 78.260737) + (xy 38.854999 77.695264) + (xy 38.839571 77.597847) + (xy 38.779746 77.480434) + (xy 38.686566 77.387254) + (xy 38.681289 77.384565) + (xy 38.574426 77.330115) + (xy 38.574422 77.330113) + (xy 38.569153 77.327429) + (xy 38.563311 77.326503) + (xy 38.563306 77.326502) + (xy 38.474655 77.312462) + (xy 38.474652 77.312461) + (xy 38.471737 77.312) + (xy 38.468783 77.312) + (xy 37.959218 77.312) + (xy 37.959205 77.312) + (xy 37.956264 77.312001) + (xy 37.95335 77.312462) + (xy 37.953343 77.312463) + (xy 37.864692 77.326503) + (xy 37.86469 77.326503) + (xy 37.858847 77.327429) + (xy 37.853577 77.330113) + (xy 37.853574 77.330115) + (xy 37.74671 77.384565) + (xy 37.746706 77.384567) + (xy 37.741434 77.387254) + (xy 37.737247 77.39144) + (xy 37.737244 77.391443) + (xy 37.652443 77.476244) + (xy 37.65244 77.476247) + (xy 37.648254 77.480434) + (xy 37.645567 77.485706) + (xy 37.645565 77.48571) + (xy 37.613362 77.548913) + (xy 37.585191 77.579171) + (xy 37.545284 77.589965) + (xy 37.505701 77.578035) + (xy 37.423602 77.525272) + (xy 37.423599 77.52527) + (xy 37.419081 77.522367) + (xy 37.413925 77.520853) + (xy 37.413923 77.520852) + (xy 37.287447 77.483715) + (xy 37.287442 77.483714) + (xy 37.282285 77.4822) + (xy 37.276905 77.4822) + (xy 37.275771 77.482037) + (xy 37.233299 77.460776) + (xy 37.228514 77.455991) + (xy 37.22515 77.4524) + (xy 37.113331 77.324895) + (xy 37.107343 77.317091) + (xy 37.014496 77.178137) + (xy 37.009577 77.169617) + (xy 37.008992 77.168431) + (xy 36.982629 77.11497) + (xy 36.935668 77.019739) + (xy 36.931904 77.010652) + (xy 36.89766 76.909772) + (xy 36.878188 76.852408) + (xy 36.875643 76.84291) + (xy 36.87407 76.835) + (xy 36.84304 76.678997) + (xy 36.841759 76.669267) + (xy 36.83066 76.499903) + (xy 36.8305 76.494986) + (xy 36.8305 76.474894) + (xy 36.830501 76.450952) + (xy 37.123 76.450952) + (xy 37.123319 76.45338) + (xy 37.12332 76.453385) + (xy 37.125113 76.467) + (xy 37.129539 76.500619) + (xy 37.131967 76.505827) + (xy 37.131969 76.505832) + (xy 37.16773 76.582521) + (xy 37.18036 76.609607) + (xy 37.265393 76.69464) + (xy 37.332494 76.725929) + (xy 37.369167 76.74303) + (xy 37.369168 76.74303) + (xy 37.374381 76.745461) + (xy 37.424048 76.752) + (xy 38.676495 76.752) + (xy 38.678952 76.752) + (xy 38.728619 76.745461) + (xy 38.796968 76.71359) + (xy 38.798137 76.713045) + (xy 38.829917 76.706) + (xy 38.833703 76.706) + (xy 38.874359 76.717938) + (xy 38.902106 76.74996) + (xy 38.909101 76.765276) + (xy 38.946382 76.846911) + (xy 38.946383 76.846913) + (xy 38.948618 76.851806) + (xy 38.952138 76.855869) + (xy 38.95214 76.855871) + (xy 38.960952 76.86604) + (xy 39.041982 76.959553) + (xy 39.046504 76.962459) + (xy 39.046505 76.96246) + (xy 39.135632 77.019739) + (xy 39.161919 77.036633) + (xy 39.298715 77.0768) + (xy 39.435904 77.0768) + (xy 39.441285 77.0768) + (xy 39.578081 77.036633) + (xy 39.698018 76.959553) + (xy 39.791382 76.851806) + (xy 39.850608 76.722119) + (xy 39.870898 76.581) + (xy 39.850608 76.439881) + (xy 39.791382 76.310194) + (xy 39.77898 76.295882) + (xy 39.749376 76.261717) + (xy 39.698018 76.202447) + (xy 39.693496 76.199541) + (xy 39.693494 76.199539) + (xy 39.582602 76.128272) + (xy 39.582599 76.12827) + (xy 39.578081 76.125367) + (xy 39.54781 76.116478) + (xy 39.515824 76.097499) + (xy 39.385321 75.966996) + (xy 39.379701 75.960708) + (xy 39.359608 75.935512) + (xy 39.359604 75.935508) + (xy 39.356095 75.931108) + (xy 39.355065 75.930406) + (xy 39.334008 75.893934) + (xy 39.33732 75.849727) + (xy 39.36496 75.815067) + (xy 39.407322 75.802) + (xy 40.5008 75.802) + (xy 40.5384 75.812075) + (xy 40.565925 75.8396) + (xy 40.576 75.8772) + (xy 40.576 77.254526) + (xy 40.570276 77.283304) + (xy 40.553974 77.307701) + (xy 40.408666 77.453007) + (xy 40.374955 77.47247) + (xy 40.336029 77.47247) + (xy 40.302318 77.453006) + (xy 40.240755 77.391443) + (xy 40.236566 77.387254) + (xy 40.231289 77.384565) + (xy 40.124426 77.330115) + (xy 40.124422 77.330113) + (xy 40.119153 77.327429) + (xy 40.113311 77.326503) + (xy 40.113306 77.326502) + (xy 40.024655 77.312462) + (xy 40.024652 77.312461) + (xy 40.021737 77.312) + (xy 40.018783 77.312) + (xy 39.509218 77.312) + (xy 39.509205 77.312) + (xy 39.506264 77.312001) + (xy 39.50335 77.312462) + (xy 39.503343 77.312463) + (xy 39.414692 77.326503) + (xy 39.41469 77.326503) + (xy 39.408847 77.327429) + (xy 39.403577 77.330113) + (xy 39.403574 77.330115) + (xy 39.29671 77.384565) + (xy 39.296706 77.384567) + (xy 39.291434 77.387254) + (xy 39.287247 77.39144) + (xy 39.287244 77.391443) + (xy 39.202443 77.476244) + (xy 39.20244 77.476247) + (xy 39.198254 77.480434) + (xy 39.195567 77.485706) + (xy 39.195565 77.48571) + (xy 39.141115 77.592573) + (xy 39.141112 77.592579) + (xy 39.138429 77.597847) + (xy 39.137504 77.603686) + (xy 39.137502 77.603693) + (xy 39.123805 77.690179) + (xy 39.123 77.695263) + (xy 39.123 77.698215) + (xy 39.123 77.698216) + (xy 39.123 78.257781) + (xy 39.123 78.257793) + (xy 39.123001 78.260736) + (xy 39.123462 78.26365) + (xy 39.123463 78.263656) + (xy 39.137111 78.349829) + (xy 39.138429 78.358153) + (xy 39.141114 78.363423) + (xy 39.141115 78.363425) + (xy 39.195564 78.470288) + (xy 39.198254 78.475566) + (xy 39.291434 78.568746) + (xy 39.327758 78.587254) + (xy 39.397534 78.622807) + (xy 39.408847 78.628571) + (xy 39.414692 78.629496) + (xy 39.414693 78.629497) + (xy 39.425571 78.631219) + (xy 39.506263 78.644) + (xy 40.021736 78.643999) + (xy 40.119153 78.628571) + (xy 40.236566 78.568746) + (xy 40.329746 78.475566) + (xy 40.335609 78.464058) + (xy 40.363322 78.434081) + (xy 40.402613 78.423) + (xy 40.483793 78.423) + (xy 40.492212 78.423473) + (xy 40.529827 78.427711) + (xy 40.586177 78.417048) + (xy 40.588933 78.41658) + (xy 40.645647 78.408033) + (xy 40.650731 78.405583) + (xy 40.652984 78.404889) + (xy 40.653436 78.404777) + (xy 40.653878 78.404594) + (xy 40.656087 78.40382) + (xy 40.661634 78.402772) + (xy 40.712348 78.375967) + (xy 40.714825 78.374718) + (xy 40.766509 78.349829) + (xy 40.770641 78.345993) + (xy 40.772594 78.344663) + (xy 40.772991 78.344423) + (xy 40.773355 78.344122) + (xy 40.775246 78.342726) + (xy 40.780235 78.34009) + (xy 40.820822 78.299501) + (xy 40.822766 78.297628) + (xy 40.864844 78.258587) + (xy 40.867664 78.2537) + (xy 40.869137 78.251854) + (xy 40.87475 78.245573) + (xy 41.315014 77.805309) + (xy 41.321283 77.799706) + (xy 41.340426 77.784441) + (xy 45.381501 77.784441) + (xy 45.381821 77.789336) + (xy 45.387276 77.830779) + (xy 45.390461 77.841705) + (xy 45.435993 77.939349) + (xy 45.443431 77.949971) + (xy 45.519028 78.025568) + (xy 45.52965 78.033006) + (xy 45.627298 78.07854) + (xy 45.638215 78.081722) + (xy 45.679663 78.087179) + (xy 45.684557 78.0875) + (xy 46.410098 78.0875) + (xy 46.417907 78.085407) + (xy 46.42 78.077598) + (xy 46.42 78.077597) + (xy 46.674 78.077597) + (xy 46.676092 78.085406) + (xy 46.683902 78.087499) + (xy 47.409441 78.087499) + (xy 47.414336 78.087178) + (xy 47.455779 78.081723) + (xy 47.466705 78.078538) + (xy 47.564349 78.033006) + (xy 47.574971 78.025568) + (xy 47.650568 77.949971) + (xy 47.658006 77.939349) + (xy 47.70354 77.841701) + (xy 47.706722 77.830784) + (xy 47.712179 77.789336) + (xy 47.7125 77.784443) + (xy 47.7125 77.733902) + (xy 47.710407 77.726092) + (xy 47.702598 77.724) + (xy 46.683902 77.724) + (xy 46.676092 77.726092) + (xy 46.674 77.733902) + (xy 46.674 78.077597) + (xy 46.42 78.077597) + (xy 46.42 77.733902) + (xy 46.417907 77.726092) + (xy 46.410098 77.724) + (xy 45.391403 77.724) + (xy 45.383593 77.726092) + (xy 45.381501 77.733902) + (xy 45.381501 77.784441) + (xy 41.340426 77.784441) + (xy 41.350892 77.776095) + (xy 41.355502 77.769334) + (xy 41.38319 77.728723) + (xy 41.384818 77.726428) + (xy 41.386662 77.72393) + (xy 41.418874 77.680284) + (xy 41.420737 77.674958) + (xy 41.421836 77.672879) + (xy 41.422078 77.672476) + (xy 41.422257 77.672045) + (xy 41.423279 77.669921) + (xy 41.426459 77.665259) + (xy 41.442309 77.613875) + (xy 41.443306 77.610643) + (xy 41.465687 77.576177) + (xy 41.502845 77.558624) + (xy 41.543681 77.563224) + (xy 41.576002 77.588605) + (xy 41.578043 77.591415) + (xy 41.580731 77.596689) + (xy 41.668311 77.684269) + (xy 41.720999 77.711115) + (xy 41.772448 77.73733) + (xy 41.778668 77.740499) + (xy 41.784513 77.741424) + (xy 41.784514 77.741425) + (xy 41.79573 77.743201) + (xy 41.870226 77.755) + (xy 42.32882 77.755) + (xy 42.331774 77.755) + (xy 42.423332 77.740499) + (xy 42.533689 77.684269) + (xy 42.621269 77.596689) + (xy 42.677499 77.486332) + (xy 42.692 77.394774) + (xy 42.692 77.391779) + (xy 43.160501 77.391779) + (xy 43.160963 77.397654) + (xy 43.174057 77.480328) + (xy 43.177669 77.491447) + (xy 43.228452 77.591114) + (xy 43.23533 77.60058) + (xy 43.314419 77.679669) + (xy 43.323885 77.686547) + (xy 43.423551 77.73733) + (xy 43.434671 77.740943) + (xy 43.517346 77.754037) + (xy 43.523219 77.7545) + (xy 43.614098 77.7545) + (xy 43.621907 77.752407) + (xy 43.624 77.744598) + (xy 43.624 77.744597) + (xy 43.878 77.744597) + (xy 43.880092 77.752406) + (xy 43.887902 77.754499) + (xy 43.978779 77.754499) + (xy 43.984654 77.754036) + (xy 44.067328 77.740942) + (xy 44.078447 77.73733) + (xy 44.178114 77.686547) + (xy 44.18758 77.679669) + (xy 44.266669 77.60058) + (xy 44.273547 77.591114) + (xy 44.32433 77.491448) + (xy 44.327943 77.480328) + (xy 44.331147 77.460098) + (xy 45.3815 77.460098) + (xy 45.383592 77.467907) + (xy 45.391402 77.47) + (xy 46.410098 77.47) + (xy 46.417907 77.467907) + (xy 46.42 77.460098) + (xy 46.674 77.460098) + (xy 46.676092 77.467907) + (xy 46.683902 77.47) + (xy 47.702597 77.47) + (xy 47.710406 77.467907) + (xy 47.712499 77.460098) + (xy 47.712499 77.409559) + (xy 47.712178 77.404663) + (xy 47.706723 77.36322) + (xy 47.703538 77.352294) + (xy 47.658006 77.25465) + (xy 47.650568 77.244028) + (xy 47.574971 77.168431) + (xy 47.564349 77.160993) + (xy 47.466701 77.115459) + (xy 47.455784 77.112277) + (xy 47.414336 77.10682) + (xy 47.409443 77.1065) + (xy 46.683902 77.1065) + (xy 46.676092 77.108592) + (xy 46.674 77.116402) + (xy 46.674 77.460098) + (xy 46.42 77.460098) + (xy 46.42 77.116403) + (xy 46.417907 77.108593) + (xy 46.410098 77.106501) + (xy 45.684559 77.106501) + (xy 45.679663 77.106821) + (xy 45.63822 77.112276) + (xy 45.627294 77.115461) + (xy 45.52965 77.160993) + (xy 45.519028 77.168431) + (xy 45.443431 77.244028) + (xy 45.435993 77.25465) + (xy 45.390459 77.352298) + (xy 45.387277 77.363215) + (xy 45.38182 77.404663) + (xy 45.3815 77.409557) + (xy 45.3815 77.460098) + (xy 44.331147 77.460098) + (xy 44.341037 77.397653) + (xy 44.3415 77.391781) + (xy 44.3415 77.225902) + (xy 44.339407 77.218092) + (xy 44.331598 77.216) + (xy 43.887902 77.216) + (xy 43.880092 77.218092) + (xy 43.878 77.225902) + (xy 43.878 77.744597) + (xy 43.624 77.744597) + (xy 43.624 77.225902) + (xy 43.621907 77.218092) + (xy 43.614098 77.216) + (xy 43.170403 77.216) + (xy 43.162593 77.218092) + (xy 43.160501 77.225902) + (xy 43.160501 77.391779) + (xy 42.692 77.391779) + (xy 42.692 76.952098) + (xy 43.1605 76.952098) + (xy 43.162592 76.959907) + (xy 43.170402 76.962) + (xy 43.614098 76.962) + (xy 43.621907 76.959907) + (xy 43.624 76.952098) + (xy 43.878 76.952098) + (xy 43.880092 76.959907) + (xy 43.887902 76.962) + (xy 44.331597 76.962) + (xy 44.339406 76.959907) + (xy 44.341499 76.952098) + (xy 44.341499 76.786221) + (xy 44.341036 76.780345) + (xy 44.327942 76.697671) + (xy 44.32433 76.686552) + (xy 44.273547 76.586885) + (xy 44.266669 76.577419) + (xy 44.18758 76.49833) + (xy 44.178114 76.491452) + (xy 44.078448 76.440669) + (xy 44.067328 76.437056) + (xy 43.984653 76.423962) + (xy 43.978781 76.4235) + (xy 43.887902 76.4235) + (xy 43.880092 76.425592) + (xy 43.878 76.433402) + (xy 43.878 76.952098) + (xy 43.624 76.952098) + (xy 43.624 76.433403) + (xy 43.621907 76.425593) + (xy 43.614098 76.423501) + (xy 43.523221 76.423501) + (xy 43.517345 76.423963) + (xy 43.434671 76.437057) + (xy 43.423552 76.440669) + (xy 43.323885 76.491452) + (xy 43.314419 76.49833) + (xy 43.23533 76.577419) + (xy 43.228452 76.586885) + (xy 43.177669 76.686551) + (xy 43.174056 76.697671) + (xy 43.160962 76.780346) + (xy 43.1605 76.786219) + (xy 43.1605 76.952098) + (xy 42.692 76.952098) + (xy 42.692 76.783226) + (xy 42.677499 76.691668) + (xy 42.672391 76.681644) + (xy 42.638057 76.614259) + (xy 42.621269 76.581311) + (xy 42.568026 76.528068) + (xy 42.551724 76.503672) + (xy 42.546 76.474894) + (xy 42.546 75.925106) + (xy 42.551724 75.896328) + (xy 42.568026 75.871932) + (xy 42.590231 75.849727) + (xy 42.621269 75.818689) + (xy 42.677499 75.708332) + (xy 42.692 75.616774) + (xy 42.692 75.005226) + (xy 42.686822 74.972532) + (xy 42.694092 74.926629) + (xy 42.726956 74.893765) + (xy 42.77286 74.886495) + (xy 42.81427 74.907595) + (xy 43.137974 75.231299) + (xy 43.154276 75.255695) + (xy 43.16 75.284473) + (xy 43.16 75.616774) + (xy 43.160461 75.61969) + (xy 43.160462 75.619692) + (xy 43.173574 75.702485) + (xy 43.173575 75.70249) + (xy 43.174501 75.708332) + (xy 43.177185 75.7136) + (xy 43.177187 75.713605) + (xy 43.220748 75.799097) + (xy 43.230731 75.818689) + (xy 43.318311 75.906269) + (xy 43.369739 75.932473) + (xy 43.411006 75.9535) + (xy 43.428668 75.962499) + (xy 43.434513 75.963424) + (xy 43.434514 75.963425) + (xy 43.443285 75.964814) + (xy 43.520226 75.977) + (xy 43.97882 75.977) + (xy 43.981774 75.977) + (xy 44.073332 75.962499) + (xy 44.183689 75.906269) + (xy 44.187875 75.902082) + (xy 44.192027 75.899066) + (xy 44.224465 75.885629) + (xy 44.259467 75.888383) + (xy 44.289404 75.906729) + (xy 45.003682 76.621007) + (xy 45.009301 76.627294) + (xy 45.018002 76.638205) + (xy 45.032905 76.656892) + (xy 45.037559 76.660065) + (xy 45.080266 76.689183) + (xy 45.082559 76.69081) + (xy 45.124182 76.721529) + (xy 45.128716 76.724875) + (xy 45.134034 76.726735) + (xy 45.136135 76.727846) + (xy 45.136524 76.728081) + (xy 45.136957 76.72826) + (xy 45.139085 76.729285) + (xy 45.143741 76.732459) + (xy 45.198533 76.74936) + (xy 45.201184 76.750232) + (xy 45.250015 76.76732) + (xy 45.250018 76.76732) + (xy 45.255335 76.769181) + (xy 45.260964 76.769391) + (xy 45.263293 76.769832) + (xy 45.263737 76.769942) + (xy 45.264205 76.769986) + (xy 45.266538 76.770337) + (xy 45.271927 76.772) + (xy 45.329293 76.772) + (xy 45.332103 76.772052) + (xy 45.389386 76.774196) + (xy 45.394827 76.772738) + (xy 45.397181 76.772473) + (xy 45.405599 76.772) + (xy 45.531083 76.772) + (xy 45.562863 76.779045) + (xy 45.565651 76.780345) + (xy 45.632381 76.811461) + (xy 45.682048 76.818) + (xy 47.409495 76.818) + (xy 47.411952 76.818) + (xy 47.461619 76.811461) + (xy 47.570607 76.76064) + (xy 47.65564 76.675607) + (xy 47.706461 76.566619) + (xy 47.713 76.516952) + (xy 47.713 76.137048) + (xy 47.706461 76.087381) + (xy 47.702325 76.078512) + (xy 47.687693 76.047133) + (xy 47.65564 75.978393) + (xy 47.570607 75.89336) + (xy 47.554028 75.885629) + (xy 47.466832 75.844969) + (xy 47.466827 75.844967) + (xy 47.461619 75.842539) + (xy 47.455917 75.841788) + (xy 47.455916 75.841788) + (xy 47.414385 75.83632) + (xy 47.41438 75.836319) + (xy 47.411952 75.836) + (xy 45.682048 75.836) + (xy 45.67962 75.836319) + (xy 45.679614 75.83632) + (xy 45.638083 75.841788) + (xy 45.638081 75.841788) + (xy 45.632381 75.842539) + (xy 45.627173 75.844967) + (xy 45.627164 75.84497) + (xy 45.578813 75.867516) + (xy 45.533975 75.873418) + (xy 45.49386 75.852535) + (xy 44.888277 75.246952) + (xy 45.381 75.246952) + (xy 45.387539 75.296619) + (xy 45.389967 75.301827) + (xy 45.389969 75.301832) + (xy 45.428903 75.385327) + (xy 45.43836 75.405607) + (xy 45.523393 75.49064) + (xy 45.587976 75.520755) + (xy 45.627167 75.53903) + (xy 45.627168 75.53903) + (xy 45.632381 75.541461) + (xy 45.682048 75.548) + (xy 47.409495 75.548) + (xy 47.411952 75.548) + (xy 47.461619 75.541461) + (xy 47.531136 75.509045) + (xy 47.562917 75.502) + (xy 48.357793 75.502) + (xy 48.366212 75.502473) + (xy 48.403827 75.506711) + (xy 48.460177 75.496048) + (xy 48.462933 75.49558) + (xy 48.519647 75.487033) + (xy 48.524731 75.484583) + (xy 48.526984 75.483889) + (xy 48.527436 75.483777) + (xy 48.527878 75.483594) + (xy 48.530087 75.48282) + (xy 48.535634 75.481772) + (xy 48.586348 75.454967) + (xy 48.588825 75.453718) + (xy 48.640509 75.428829) + (xy 48.644641 75.424993) + (xy 48.646594 75.423663) + (xy 48.646991 75.423423) + (xy 48.647355 75.423122) + (xy 48.649246 75.421726) + (xy 48.654235 75.41909) + (xy 48.694822 75.378501) + (xy 48.696766 75.376628) + (xy 48.738844 75.337587) + (xy 48.741664 75.3327) + (xy 48.743137 75.330854) + (xy 48.74875 75.324573) + (xy 49.062014 75.011309) + (xy 49.068295 75.005697) + (xy 49.071003 75.003538) + (xy 49.075088 75.00028) + (xy 49.089916 74.988456) + (xy 49.128382 74.972524) + (xy 49.169429 74.979499) + (xy 49.200474 75.007243) + (xy 49.212 75.047251) + (xy 49.212 77.059793) + (xy 49.211527 77.068212) + (xy 49.207919 77.100229) + (xy 49.207919 77.100233) + (xy 49.207289 77.105827) + (xy 49.208335 77.11136) + (xy 49.208336 77.111362) + (xy 49.217947 77.16216) + (xy 49.218418 77.164931) + (xy 49.226092 77.215847) + (xy 49.226967 77.221647) + (xy 49.229411 77.226722) + (xy 49.23011 77.228988) + (xy 49.230221 77.229435) + (xy 49.230394 77.229853) + (xy 49.231181 77.232102) + (xy 49.232228 77.237634) + (xy 49.241221 77.25465) + (xy 49.259022 77.288332) + (xy 49.260281 77.290825) + (xy 49.285171 77.342509) + (xy 49.289 77.346636) + (xy 49.29034 77.348601) + (xy 49.290575 77.348992) + (xy 49.290863 77.349339) + (xy 49.292278 77.351256) + (xy 49.29491 77.356235) + (xy 49.298894 77.360219) + (xy 49.335458 77.396783) + (xy 49.337409 77.398808) + (xy 49.376413 77.440844) + (xy 49.381291 77.44366) + (xy 49.383148 77.445141) + (xy 49.389435 77.45076) + (xy 49.829682 77.891007) + (xy 49.835301 77.897294) + (xy 49.858905 77.926892) + (xy 49.906291 77.9592) + (xy 49.908568 77.960817) + (xy 49.950176 77.991524) + (xy 49.950178 77.991525) + (xy 49.954716 77.994874) + (xy 49.960039 77.996736) + (xy 49.962129 77.997841) + (xy 49.962528 77.998081) + (xy 49.962949 77.998256) + (xy 49.965085 77.999284) + (xy 49.969741 78.002459) + (xy 50.000104 78.011825) + (xy 50.024551 78.019366) + (xy 50.02722 78.020244) + (xy 50.081335 78.03918) + (xy 50.086973 78.03939) + (xy 50.089274 78.039826) + (xy 50.089737 78.039941) + (xy 50.090188 78.039983) + (xy 50.092536 78.040337) + (xy 50.097927 78.042) + (xy 50.155303 78.042) + (xy 50.158115 78.042053) + (xy 50.215386 78.044196) + (xy 50.220831 78.042736) + (xy 50.223173 78.042473) + (xy 50.231593 78.042) + (xy 50.481083 78.042) + (xy 50.512863 78.049045) + (xy 50.582381 78.081461) + (xy 50.632048 78.088) + (xy 52.359495 78.088) + (xy 52.361952 78.088) + (xy 52.411619 78.081461) + (xy 52.520607 78.03064) + (xy 52.60564 77.945607) + (xy 52.656461 77.836619) + (xy 52.663 77.786952) + (xy 52.663 77.407048) + (xy 52.656461 77.357381) + (xy 52.650678 77.34498) + (xy 52.634595 77.310488) + (xy 52.60564 77.248393) + (xy 52.520607 77.16336) + (xy 52.470839 77.140153) + (xy 52.416832 77.114969) + (xy 52.416827 77.114967) + (xy 52.411619 77.112539) + (xy 52.405917 77.111788) + (xy 52.405916 77.111788) + (xy 52.364385 77.10632) + (xy 52.36438 77.106319) + (xy 52.361952 77.106) + (xy 50.632048 77.106) + (xy 50.62962 77.106319) + (xy 50.629614 77.10632) + (xy 50.588083 77.111788) + (xy 50.588081 77.111788) + (xy 50.582381 77.112539) + (xy 50.577168 77.114969) + (xy 50.577167 77.11497) + (xy 50.512863 77.144955) + (xy 50.481083 77.152) + (xy 50.380473 77.152) + (xy 50.351695 77.146276) + (xy 50.327299 77.129974) + (xy 50.124026 76.926701) + (xy 50.107724 76.902305) + (xy 50.102 76.873527) + (xy 50.102 76.516952) + (xy 50.331 76.516952) + (xy 50.331319 76.51938) + (xy 50.33132 76.519385) + (xy 50.336509 76.558794) + (xy 50.337539 76.566619) + (xy 50.339967 76.571827) + (xy 50.339969 76.571832) + (xy 50.373622 76.644) + (xy 50.38836 76.675607) + (xy 50.473393 76.76064) + (xy 50.528253 76.786221) + (xy 50.577167 76.80903) + (xy 50.577168 76.80903) + (xy 50.582381 76.811461) + (xy 50.632048 76.818) + (xy 52.359495 76.818) + (xy 52.361952 76.818) + (xy 52.393866 76.813798) + (xy 52.427854 76.817146) + (xy 52.456856 76.835181) + (xy 53.131682 77.510007) + (xy 53.137301 77.516294) + (xy 53.140892 77.520797) + (xy 53.160905 77.545892) + (xy 53.165559 77.549065) + (xy 53.208266 77.578183) + (xy 53.210559 77.57981) + (xy 53.248058 77.607485) + (xy 53.256716 77.613875) + (xy 53.262034 77.615735) + (xy 53.264135 77.616846) + (xy 53.264524 77.617081) + (xy 53.264957 77.61726) + (xy 53.267085 77.618285) + (xy 53.271741 77.621459) + (xy 53.326533 77.63836) + (xy 53.329184 77.639232) + (xy 53.378015 77.65632) + (xy 53.378018 77.65632) + (xy 53.383335 77.658181) + (xy 53.388964 77.658391) + (xy 53.391293 77.658832) + (xy 53.391737 77.658942) + (xy 53.392205 77.658986) + (xy 53.394538 77.659337) + (xy 53.399927 77.661) + (xy 53.457293 77.661) + (xy 53.460103 77.661052) + (xy 53.517386 77.663196) + (xy 53.522827 77.661738) + (xy 53.525181 77.661473) + (xy 53.533599 77.661) + (xy 53.694706 77.661) + (xy 53.733997 77.672081) + (xy 53.761709 77.702059) + (xy 53.77004 77.718409) + (xy 53.770042 77.718412) + (xy 53.772731 77.723689) + (xy 53.860311 77.811269) + (xy 53.898611 77.830784) + (xy 53.964177 77.864192) + (xy 53.970668 77.867499) + (xy 53.976513 77.868424) + (xy 53.976514 77.868425) + (xy 53.985146 77.869792) + (xy 54.062226 77.882) + (xy 54.52082 77.882) + (xy 54.523774 77.882) + (xy 54.615332 77.867499) + (xy 54.725689 77.811269) + (xy 54.813269 77.723689) + (xy 54.869499 77.613332) + (xy 54.884 77.521774) + (xy 54.884 76.910226) + (xy 54.869499 76.818668) + (xy 54.864971 76.809782) + (xy 54.834491 76.749961) + (xy 54.813269 76.708311) + (xy 54.725689 76.620731) + (xy 54.717195 76.616403) + (xy 54.620605 76.567187) + (xy 54.6206 76.567185) + (xy 54.615332 76.564501) + (xy 54.60949 76.563575) + (xy 54.609485 76.563574) + (xy 54.526692 76.550462) + (xy 54.52669 76.550461) + (xy 54.523774 76.55) + (xy 54.062226 76.55) + (xy 54.05931 76.550461) + (xy 54.059307 76.550462) + (xy 53.976514 76.563574) + (xy 53.976507 76.563576) + (xy 53.970668 76.564501) + (xy 53.9654 76.567184) + (xy 53.965394 76.567187) + (xy 53.865587 76.618042) + (xy 53.865583 76.618044) + (xy 53.860311 76.620731) + (xy 53.856124 76.624917) + (xy 53.856121 76.62492) + (xy 53.77692 76.704121) + (xy 53.776917 76.704124) + (xy 53.772731 76.708311) + (xy 53.770043 76.713584) + (xy 53.77004 76.71359) + (xy 53.761709 76.729941) + (xy 53.733997 76.759919) + (xy 53.694706 76.771) + (xy 53.682473 76.771) + (xy 53.653695 76.765276) + (xy 53.629299 76.748974) + (xy 52.913321 76.032996) + (xy 52.907701 76.026708) + (xy 52.887611 76.001516) + (xy 52.887608 76.001513) + (xy 52.884095 75.997108) + (xy 52.879438 75.993932) + (xy 52.879435 75.99393) + (xy 52.836731 75.964814) + (xy 52.83444 75.963188) + (xy 52.792822 75.932473) + (xy 52.792816 75.93247) + (xy 52.788284 75.929125) + (xy 52.782965 75.927263) + (xy 52.780862 75.926152) + (xy 52.780476 75.925919) + (xy 52.780052 75.925744) + (xy 52.777913 75.924714) + (xy 52.773259 75.921541) + (xy 52.767876 75.91988) + (xy 52.767875 75.91988) + (xy 52.718471 75.90464) + (xy 52.715802 75.903761) + (xy 52.666988 75.886681) + (xy 52.666984 75.88668) + (xy 52.661665 75.884819) + (xy 52.656031 75.884607) + (xy 52.653702 75.884167) + (xy 52.653256 75.884056) + (xy 52.652817 75.884015) + (xy 52.650451 75.883658) + (xy 52.645073 75.882) + (xy 52.639441 75.882) + (xy 52.587707 75.882) + (xy 52.584896 75.881947) + (xy 52.533247 75.880014) + (xy 52.533242 75.880014) + (xy 52.527614 75.879804) + (xy 52.522172 75.881261) + (xy 52.521036 75.88139) + (xy 52.480841 75.874817) + (xy 52.439502 75.855541) + (xy 52.411619 75.842539) + (xy 52.405917 75.841788) + (xy 52.405916 75.841788) + (xy 52.364385 75.83632) + (xy 52.36438 75.836319) + (xy 52.361952 75.836) + (xy 50.632048 75.836) + (xy 50.62962 75.836319) + (xy 50.629614 75.83632) + (xy 50.588083 75.841788) + (xy 50.588081 75.841788) + (xy 50.582381 75.842539) + (xy 50.577174 75.844966) + (xy 50.577167 75.844969) + (xy 50.479354 75.89058) + (xy 50.479352 75.890581) + (xy 50.473393 75.89336) + (xy 50.468743 75.898009) + (xy 50.46874 75.898012) + (xy 50.393012 75.97374) + (xy 50.393009 75.973743) + (xy 50.38836 75.978393) + (xy 50.385581 75.984352) + (xy 50.38558 75.984354) + (xy 50.339969 76.082167) + (xy 50.339966 76.082174) + (xy 50.337539 76.087381) + (xy 50.336788 76.093081) + (xy 50.336788 76.093083) + (xy 50.331327 76.134566) + (xy 50.331 76.137048) + (xy 50.331 76.516952) + (xy 50.102 76.516952) + (xy 50.102 75.246952) + (xy 50.331 75.246952) + (xy 50.337539 75.296619) + (xy 50.339967 75.301827) + (xy 50.339969 75.301832) + (xy 50.378903 75.385327) + (xy 50.38836 75.405607) + (xy 50.473393 75.49064) + (xy 50.537976 75.520755) + (xy 50.577167 75.53903) + (xy 50.577168 75.53903) + (xy 50.582381 75.541461) + (xy 50.632048 75.548) + (xy 52.359495 75.548) + (xy 52.361952 75.548) + (xy 52.411619 75.541461) + (xy 52.465183 75.516483) + (xy 52.510022 75.51058) + (xy 52.550138 75.531464) + (xy 52.623685 75.605011) + (xy 52.629304 75.611298) + (xy 52.652905 75.640892) + (xy 52.70029 75.673198) + (xy 52.702543 75.674797) + (xy 52.748716 75.708875) + (xy 52.754035 75.710736) + (xy 52.756137 75.711847) + (xy 52.756525 75.712081) + (xy 52.756957 75.71226) + (xy 52.759085 75.713285) + (xy 52.763741 75.716459) + (xy 52.818533 75.73336) + (xy 52.821184 75.734232) + (xy 52.870015 75.75132) + (xy 52.870018 75.75132) + (xy 52.875335 75.753181) + (xy 52.880964 75.753391) + (xy 52.883293 75.753832) + (xy 52.883737 75.753942) + (xy 52.884205 75.753986) + (xy 52.886538 75.754337) + (xy 52.891927 75.756) + (xy 52.949293 75.756) + (xy 52.952052 75.756051) + (xy 52.977847 75.757016) + (xy 53.01212 75.766744) + (xy 53.038072 75.791163) + (xy 53.049869 75.824788) + (xy 53.05 75.826116) + (xy 53.05 75.829812) + (xy 53.05072 75.833435) + (xy 53.050721 75.833438) + (xy 53.052768 75.843727) + (xy 53.061082 75.885525) + (xy 53.065194 75.89168) + (xy 53.065196 75.891683) + (xy 53.094052 75.934867) + (xy 53.103297 75.948703) + (xy 53.113607 75.955592) + (xy 53.160316 75.986803) + (xy 53.160317 75.986803) + (xy 53.166475 75.990918) + (xy 53.222188 76.002) + (xy 54.256116 76.002) + (xy 54.259812 76.002) + (xy 54.315525 75.990918) + (xy 54.378703 75.948703) + (xy 54.420918 75.885525) + (xy 54.432 75.829812) + (xy 54.432 74.792188) + (xy 54.420918 74.736475) + (xy 54.416801 74.730314) + (xy 54.383566 74.680575) + (xy 54.378703 74.673297) + (xy 54.363311 74.663012) + (xy 54.321683 74.635196) + (xy 54.32168 74.635194) + (xy 54.315525 74.631082) + (xy 54.308261 74.629637) + (xy 54.273969 74.622816) + (xy 54.259812 74.62) + (xy 53.222188 74.62) + (xy 53.218563 74.62072) + (xy 53.218563 74.620721) + (xy 53.173738 74.629637) + (xy 53.173736 74.629637) + (xy 53.166475 74.631082) + (xy 53.160321 74.635193) + (xy 53.160316 74.635196) + (xy 53.109454 74.669182) + (xy 53.109451 74.669184) + (xy 53.103297 74.673297) + (xy 53.099184 74.679451) + (xy 53.099181 74.679455) + (xy 53.091906 74.690343) + (xy 53.062428 74.716111) + (xy 53.023993 74.723568) + (xy 52.987018 74.710692) + (xy 52.96373 74.694813) + (xy 52.96144 74.693188) + (xy 52.919822 74.662473) + (xy 52.919816 74.66247) + (xy 52.915284 74.659125) + (xy 52.909965 74.657263) + (xy 52.907862 74.656152) + (xy 52.907476 74.655919) + (xy 52.907052 74.655744) + (xy 52.904913 74.654714) + (xy 52.900259 74.651541) + (xy 52.894876 74.64988) + (xy 52.894875 74.64988) + (xy 52.845471 74.63464) + (xy 52.842802 74.633761) + (xy 52.793988 74.616681) + (xy 52.793984 74.61668) + (xy 52.788665 74.614819) + (xy 52.783031 74.614607) + (xy 52.780702 74.614167) + (xy 52.780256 74.614056) + (xy 52.779817 74.614015) + (xy 52.777451 74.613658) + (xy 52.772073 74.612) + (xy 52.766441 74.612) + (xy 52.714707 74.612) + (xy 52.711896 74.611947) + (xy 52.660244 74.610014) + (xy 52.660239 74.610014) + (xy 52.654614 74.609804) + (xy 52.649173 74.611261) + (xy 52.646819 74.611527) + (xy 52.638401 74.612) + (xy 52.512917 74.612) + (xy 52.481137 74.604955) + (xy 52.430324 74.581261) + (xy 52.411619 74.572539) + (xy 52.405917 74.571788) + (xy 52.405916 74.571788) + (xy 52.364385 74.56632) + (xy 52.36438 74.566319) + (xy 52.361952 74.566) + (xy 50.632048 74.566) + (xy 50.62962 74.566319) + (xy 50.629614 74.56632) + (xy 50.588083 74.571788) + (xy 50.588081 74.571788) + (xy 50.582381 74.572539) + (xy 50.577174 74.574966) + (xy 50.577167 74.574969) + (xy 50.479354 74.62058) + (xy 50.479352 74.620581) + (xy 50.473393 74.62336) + (xy 50.468743 74.628009) + (xy 50.46874 74.628012) + (xy 50.393012 74.70374) + (xy 50.393009 74.703743) + (xy 50.38836 74.708393) + (xy 50.385581 74.714352) + (xy 50.38558 74.714354) + (xy 50.339969 74.812167) + (xy 50.339966 74.812174) + (xy 50.337539 74.817381) + (xy 50.336788 74.823081) + (xy 50.336788 74.823083) + (xy 50.331469 74.863487) + (xy 50.331 74.867048) + (xy 50.331 75.246952) + (xy 50.102 75.246952) + (xy 50.102 74.700473) + (xy 50.107724 74.671695) + (xy 50.124026 74.647299) + (xy 50.689299 74.082026) + (xy 50.713695 74.065724) + (xy 50.742473 74.06) + (xy 50.97582 74.06) + (xy 50.978774 74.06) + (xy 51.070332 74.045499) + (xy 51.180689 73.989269) + (xy 51.233932 73.936026) + (xy 51.258328 73.919724) + (xy 51.287106 73.914) + (xy 51.72454 73.914) + (xy 51.753318 73.919724) + (xy 51.777714 73.936026) + (xy 51.826434 73.984746) + (xy 51.880694 74.012393) + (xy 51.933845 74.039475) + (xy 51.943847 74.044571) + (xy 51.949692 74.045496) + (xy 51.949693 74.045497) + (xy 51.949706 74.045499) + (xy 52.041263 74.06) + (xy 52.606736 74.059999) + (xy 52.704153 74.044571) + (xy 52.821566 73.984746) + (xy 52.870286 73.936026) + (xy 52.894682 73.919724) + (xy 52.92346 73.914) + (xy 53.360894 73.914) + (xy 53.389672 73.919724) + (xy 53.414068 73.936026) + (xy 53.467311 73.989269) + (xy 53.512694 74.012393) + (xy 53.554915 74.033906) + (xy 53.577668 74.045499) + (xy 53.583513 74.046424) + (xy 53.583514 74.046425) + (xy 53.592733 74.047885) + (xy 53.669226 74.06) + (xy 54.27782 74.06) + (xy 54.280774 74.06) + (xy 54.372332 74.045499) + (xy 54.482689 73.989269) + (xy 54.570269 73.901689) + (xy 54.626499 73.791332) + (xy 54.641 73.699774) + (xy 54.641 73.238226) + (xy 54.628091 73.15672) + (xy 54.627425 73.152514) + (xy 54.627424 73.152513) + (xy 54.626499 73.146668) + (xy 54.602835 73.100226) + (xy 54.584286 73.063821) + (xy 54.570269 73.036311) + (xy 54.482689 72.948731) + (xy 54.471463 72.943011) + (xy 54.377605 72.895187) + (xy 54.3776 72.895185) + (xy 54.372332 72.892501) + (xy 54.36649 72.891575) + (xy 54.366485 72.891574) + (xy 54.283692 72.878462) + (xy 54.28369 72.878461) + (xy 54.280774 72.878) + (xy 53.669226 72.878) + (xy 53.66631 72.878461) + (xy 53.666307 72.878462) + (xy 53.583514 72.891574) + (xy 53.583507 72.891576) + (xy 53.577668 72.892501) + (xy 53.5724 72.895184) + (xy 53.572394 72.895187) + (xy 53.472587 72.946042) + (xy 53.472583 72.946044) + (xy 53.467311 72.948731) + (xy 53.463124 72.952917) + (xy 53.463121 72.95292) + (xy 53.414068 73.001974) + (xy 53.389672 73.018276) + (xy 53.360894 73.024) + (xy 53.000351 73.024) + (xy 52.961059 73.012919) + (xy 52.933348 72.98294) + (xy 52.917438 72.951715) + (xy 52.917434 72.951709) + (xy 52.914746 72.946434) + (xy 52.821566 72.853254) + (xy 52.816289 72.850565) + (xy 52.709426 72.796115) + (xy 52.709422 72.796113) + (xy 52.704153 72.793429) + (xy 52.698311 72.792503) + (xy 52.698306 72.792502) + (xy 52.609655 72.778462) + (xy 52.609652 72.778461) + (xy 52.606737 72.778) + (xy 52.603783 72.778) + (xy 52.044218 72.778) + (xy 52.044205 72.778) + (xy 52.041264 72.778001) + (xy 52.03835 72.778462) + (xy 52.038343 72.778463) + (xy 51.949692 72.792503) + (xy 51.94969 72.792503) + (xy 51.943847 72.793429) + (xy 51.938577 72.796113) + (xy 51.938574 72.796115) + (xy 51.83171 72.850565) + (xy 51.831706 72.850567) + (xy 51.826434 72.853254) + (xy 51.822247 72.85744) + (xy 51.822244 72.857443) + (xy 51.737443 72.942244) + (xy 51.73744 72.942247) + (xy 51.733254 72.946434) + (xy 51.730568 72.951704) + (xy 51.730561 72.951715) + (xy 51.714652 72.98294) + (xy 51.686941 73.012919) + (xy 51.647649 73.024) + (xy 51.287106 73.024) + (xy 51.258328 73.018276) + (xy 51.233932 73.001974) + (xy 51.184878 72.95292) + (xy 51.180689 72.948731) + (xy 51.169463 72.943011) + (xy 51.075605 72.895187) + (xy 51.0756 72.895185) + (xy 51.070332 72.892501) + (xy 51.06449 72.891575) + (xy 51.064485 72.891574) + (xy 50.981692 72.878462) + (xy 50.98169 72.878461) + (xy 50.978774 72.878) + (xy 50.367226 72.878) + (xy 50.36431 72.878461) + (xy 50.364307 72.878462) + (xy 50.281514 72.891574) + (xy 50.281507 72.891576) + (xy 50.275668 72.892501) + (xy 50.2704 72.895184) + (xy 50.270394 72.895187) + (xy 50.170587 72.946042) + (xy 50.170583 72.946044) + (xy 50.165311 72.948731) + (xy 50.161124 72.952917) + (xy 50.161121 72.95292) + (xy 50.08192 73.032121) + (xy 50.081917 73.032124) + (xy 50.077731 73.036311) + (xy 50.075044 73.041583) + (xy 50.075042 73.041587) + (xy 50.024187 73.141394) + (xy 50.024184 73.1414) + (xy 50.021501 73.146668) + (xy 50.020576 73.152507) + (xy 50.020574 73.152514) + (xy 50.007777 73.233319) + (xy 50.007 73.238226) + (xy 50.007 73.24118) + (xy 50.007 73.474527) + (xy 50.001276 73.503305) + (xy 49.984974 73.527701) + (xy 49.587374 73.9253) + (xy 49.548871 73.945881) + (xy 49.505422 73.941602) + (xy 49.471673 73.913905) + (xy 49.459 73.872126) + (xy 49.459 72.870884) + (xy 49.459 72.867188) + (xy 49.447918 72.811475) + (xy 49.43524 72.792502) + (xy 49.409817 72.754454) + (xy 49.405703 72.748297) + (xy 49.399545 72.744182) + (xy 49.348683 72.710196) + (xy 49.34868 72.710194) + (xy 49.342525 72.706082) + (xy 49.335261 72.704637) + (xy 49.316602 72.700925) + (xy 49.286812 72.695) + (xy 48.249188 72.695) + (xy 48.245563 72.69572) + (xy 48.245563 72.695721) + (xy 48.200738 72.704637) + (xy 48.200736 72.704637) + (xy 48.193475 72.706082) + (xy 48.187321 72.710193) + (xy 48.187316 72.710196) + (xy 48.136454 72.744182) + (xy 48.136451 72.744184) + (xy 48.130297 72.748297) + (xy 48.126184 72.754451) + (xy 48.126182 72.754454) + (xy 48.092196 72.805316) + (xy 48.092193 72.805321) + (xy 48.088082 72.811475) + (xy 48.086637 72.818736) + (xy 48.086637 72.818738) + (xy 48.07772 72.863564) + (xy 48.077719 72.863572) + (xy 48.077 72.867188) + (xy 48.077 72.870882) + (xy 48.076775 72.873169) + (xy 48.064464 72.907578) + (xy 48.037386 72.93212) + (xy 48.001937 72.941) + (xy 47.514103 72.941) + (xy 47.474811 72.929918) + (xy 47.453907 72.907305) + (xy 47.452436 72.908375) + (xy 47.448957 72.903587) + (xy 47.446269 72.898311) + (xy 47.393026 72.845068) + (xy 47.376724 72.820672) + (xy 47.371 72.791894) + (xy 47.371 72.369106) + (xy 47.376724 72.340328) + (xy 47.393026 72.315932) + (xy 47.417284 72.291674) + (xy 47.446269 72.262689) + (xy 47.502499 72.152332) + (xy 47.517 72.060774) + (xy 47.517 71.449226) + (xy 47.509966 71.404812) + (xy 48.077 71.404812) + (xy 48.088082 71.460525) + (xy 48.092194 71.46668) + (xy 48.092196 71.466683) + (xy 48.126182 71.517545) + (xy 48.130297 71.523703) + (xy 48.136454 71.527817) + (xy 48.187316 71.561803) + (xy 48.187317 71.561803) + (xy 48.193475 71.565918) + (xy 48.249188 71.577) + (xy 48.798527 71.577) + (xy 48.827305 71.582724) + (xy 48.8517 71.599025) + (xy 49.155194 71.90252) + (xy 49.365686 72.113012) + (xy 49.371305 72.119299) + (xy 49.391389 72.144484) + (xy 49.391391 72.144486) + (xy 49.394905 72.148892) + (xy 49.44229 72.181198) + (xy 49.444543 72.182797) + (xy 49.490716 72.216875) + (xy 49.496035 72.218736) + (xy 49.498137 72.219847) + (xy 49.498525 72.220081) + (xy 49.498957 72.22026) + (xy 49.501085 72.221285) + (xy 49.505741 72.224459) + (xy 49.560533 72.24136) + (xy 49.563184 72.242232) + (xy 49.612015 72.25932) + (xy 49.612018 72.25932) + (xy 49.617335 72.261181) + (xy 49.622964 72.261391) + (xy 49.625293 72.261832) + (xy 49.625737 72.261942) + (xy 49.626205 72.261986) + (xy 49.628538 72.262337) + (xy 49.633927 72.264) + (xy 49.691293 72.264) + (xy 49.694103 72.264052) + (xy 49.751386 72.266196) + (xy 49.756831 72.264736) + (xy 49.759173 72.264473) + (xy 49.767593 72.264) + (xy 50.058894 72.264) + (xy 50.087672 72.269724) + (xy 50.112068 72.286026) + (xy 50.165311 72.339269) + (xy 50.177454 72.345456) + (xy 50.269448 72.39233) + (xy 50.275668 72.395499) + (xy 50.281513 72.396424) + (xy 50.281514 72.396425) + (xy 50.29273 72.398201) + (xy 50.367226 72.41) + (xy 50.97582 72.41) + (xy 50.978774 72.41) + (xy 51.070332 72.395499) + (xy 51.180689 72.339269) + (xy 51.268269 72.251689) + (xy 51.324499 72.141332) + (xy 51.327284 72.123746) + (xy 51.6585 72.123746) + (xy 51.658962 72.129618) + (xy 51.672984 72.218151) + (xy 51.676597 72.229271) + (xy 51.730976 72.335994) + (xy 51.737851 72.345456) + (xy 51.822543 72.430148) + (xy 51.832005 72.437023) + (xy 51.938728 72.491402) + (xy 51.949848 72.495015) + (xy 52.038381 72.509037) + (xy 52.044254 72.5095) + (xy 52.187098 72.5095) + (xy 52.194907 72.507407) + (xy 52.197 72.499598) + (xy 52.451 72.499598) + (xy 52.453092 72.507407) + (xy 52.460902 72.5095) + (xy 52.603746 72.5095) + (xy 52.609618 72.509037) + (xy 52.698151 72.495015) + (xy 52.709271 72.491402) + (xy 52.815994 72.437023) + (xy 52.825456 72.430148) + (xy 52.910148 72.345456) + (xy 52.917023 72.335994) + (xy 52.971402 72.229271) + (xy 52.975015 72.218151) + (xy 52.989037 72.129618) + (xy 52.9895 72.123746) + (xy 52.9895 72.046779) + (xy 53.309501 72.046779) + (xy 53.309963 72.052654) + (xy 53.323057 72.135328) + (xy 53.326669 72.146447) + (xy 53.377452 72.246114) + (xy 53.38433 72.25558) + (xy 53.463419 72.334669) + (xy 53.472885 72.341547) + (xy 53.572551 72.39233) + (xy 53.583671 72.395943) + (xy 53.666346 72.409037) + (xy 53.672219 72.4095) + (xy 53.838098 72.4095) + (xy 53.845907 72.407407) + (xy 53.848 72.399598) + (xy 53.848 72.399597) + (xy 54.102 72.399597) + (xy 54.104092 72.407406) + (xy 54.111902 72.409499) + (xy 54.277779 72.409499) + (xy 54.283654 72.409036) + (xy 54.366328 72.395942) + (xy 54.377447 72.39233) + (xy 54.477114 72.341547) + (xy 54.48658 72.334669) + (xy 54.565669 72.25558) + (xy 54.572547 72.246114) + (xy 54.62333 72.146448) + (xy 54.626943 72.135328) + (xy 54.640037 72.052653) + (xy 54.6405 72.046781) + (xy 54.6405 72.046779) + (xy 54.960501 72.046779) + (xy 54.960963 72.052654) + (xy 54.974057 72.135328) + (xy 54.977669 72.146447) + (xy 55.028452 72.246114) + (xy 55.03533 72.25558) + (xy 55.114419 72.334669) + (xy 55.123885 72.341547) + (xy 55.223551 72.39233) + (xy 55.234671 72.395943) + (xy 55.317346 72.409037) + (xy 55.323219 72.4095) + (xy 55.489098 72.4095) + (xy 55.496907 72.407407) + (xy 55.499 72.399598) + (xy 55.499 71.955902) + (xy 55.496907 71.948092) + (xy 55.489098 71.946) + (xy 54.970403 71.946) + (xy 54.962593 71.948092) + (xy 54.960501 71.955902) + (xy 54.960501 72.046779) + (xy 54.6405 72.046779) + (xy 54.6405 71.955902) + (xy 54.638407 71.948092) + (xy 54.630598 71.946) + (xy 54.111902 71.946) + (xy 54.104092 71.948092) + (xy 54.102 71.955902) + (xy 54.102 72.399597) + (xy 53.848 72.399597) + (xy 53.848 71.955902) + (xy 53.845907 71.948092) + (xy 53.838098 71.946) + (xy 53.319403 71.946) + (xy 53.311593 71.948092) + (xy 53.309501 71.955902) + (xy 53.309501 72.046779) + (xy 52.9895 72.046779) + (xy 52.9895 72.005902) + (xy 52.987407 71.998092) + (xy 52.979598 71.996) + (xy 52.460902 71.996) + (xy 52.453092 71.998092) + (xy 52.451 72.005902) + (xy 52.451 72.499598) + (xy 52.197 72.499598) + (xy 52.197 72.005902) + (xy 52.194907 71.998092) + (xy 52.187098 71.996) + (xy 51.668402 71.996) + (xy 51.660592 71.998092) + (xy 51.6585 72.005902) + (xy 51.6585 72.123746) + (xy 51.327284 72.123746) + (xy 51.339 72.049774) + (xy 51.339 71.732098) + (xy 51.6585 71.732098) + (xy 51.660592 71.739907) + (xy 51.668402 71.742) + (xy 52.187098 71.742) + (xy 52.194907 71.739907) + (xy 52.197 71.732098) + (xy 52.451 71.732098) + (xy 52.453092 71.739907) + (xy 52.460902 71.742) + (xy 52.979598 71.742) + (xy 52.987407 71.739907) + (xy 52.9895 71.732098) + (xy 52.9895 71.682098) + (xy 53.3095 71.682098) + (xy 53.311592 71.689907) + (xy 53.319402 71.692) + (xy 53.838098 71.692) + (xy 53.845907 71.689907) + (xy 53.848 71.682098) + (xy 54.102 71.682098) + (xy 54.104092 71.689907) + (xy 54.111902 71.692) + (xy 54.630597 71.692) + (xy 54.638406 71.689907) + (xy 54.640499 71.682098) + (xy 54.9605 71.682098) + (xy 54.962592 71.689907) + (xy 54.970402 71.692) + (xy 55.489098 71.692) + (xy 55.496907 71.689907) + (xy 55.499 71.682098) + (xy 55.753 71.682098) + (xy 55.755092 71.689907) + (xy 55.762902 71.692) + (xy 56.281597 71.692) + (xy 56.289406 71.689907) + (xy 56.291499 71.682098) + (xy 56.291499 71.591221) + (xy 56.291036 71.585345) + (xy 56.277942 71.502671) + (xy 56.27433 71.491552) + (xy 56.223547 71.391885) + (xy 56.216669 71.382419) + (xy 56.13758 71.30333) + (xy 56.128114 71.296452) + (xy 56.028448 71.245669) + (xy 56.017328 71.242056) + (xy 55.934653 71.228962) + (xy 55.928781 71.2285) + (xy 55.762902 71.2285) + (xy 55.755092 71.230592) + (xy 55.753 71.238402) + (xy 55.753 71.682098) + (xy 55.499 71.682098) + (xy 55.499 71.238403) + (xy 55.496907 71.230593) + (xy 55.489098 71.228501) + (xy 55.323221 71.228501) + (xy 55.317345 71.228963) + (xy 55.234671 71.242057) + (xy 55.223552 71.245669) + (xy 55.123885 71.296452) + (xy 55.114419 71.30333) + (xy 55.03533 71.382419) + (xy 55.028452 71.391885) + (xy 54.977669 71.491551) + (xy 54.974056 71.502671) + (xy 54.960962 71.585346) + (xy 54.9605 71.591219) + (xy 54.9605 71.682098) + (xy 54.640499 71.682098) + (xy 54.640499 71.591221) + (xy 54.640036 71.585345) + (xy 54.626942 71.502671) + (xy 54.62333 71.491552) + (xy 54.572547 71.391885) + (xy 54.565669 71.382419) + (xy 54.48658 71.30333) + (xy 54.477114 71.296452) + (xy 54.377448 71.245669) + (xy 54.366328 71.242056) + (xy 54.283653 71.228962) + (xy 54.277781 71.2285) + (xy 54.111902 71.2285) + (xy 54.104092 71.230592) + (xy 54.102 71.238402) + (xy 54.102 71.682098) + (xy 53.848 71.682098) + (xy 53.848 71.238403) + (xy 53.845907 71.230593) + (xy 53.838098 71.228501) + (xy 53.672221 71.228501) + (xy 53.666345 71.228963) + (xy 53.583671 71.242057) + (xy 53.572552 71.245669) + (xy 53.472885 71.296452) + (xy 53.463419 71.30333) + (xy 53.38433 71.382419) + (xy 53.377452 71.391885) + (xy 53.326669 71.491551) + (xy 53.323056 71.502671) + (xy 53.309962 71.585346) + (xy 53.3095 71.591219) + (xy 53.3095 71.682098) + (xy 52.9895 71.682098) + (xy 52.9895 71.614254) + (xy 52.989037 71.608381) + (xy 52.975015 71.519848) + (xy 52.971402 71.508728) + (xy 52.917023 71.402005) + (xy 52.910148 71.392543) + (xy 52.825456 71.307851) + (xy 52.815994 71.300976) + (xy 52.709271 71.246597) + (xy 52.698151 71.242984) + (xy 52.609618 71.228962) + (xy 52.603746 71.2285) + (xy 52.460902 71.2285) + (xy 52.453092 71.230592) + (xy 52.451 71.238402) + (xy 52.451 71.732098) + (xy 52.197 71.732098) + (xy 52.197 71.238402) + (xy 52.194907 71.230592) + (xy 52.187098 71.2285) + (xy 52.044254 71.2285) + (xy 52.038381 71.228962) + (xy 51.949848 71.242984) + (xy 51.938728 71.246597) + (xy 51.832005 71.300976) + (xy 51.822543 71.307851) + (xy 51.737851 71.392543) + (xy 51.730976 71.402005) + (xy 51.676597 71.508728) + (xy 51.672984 71.519848) + (xy 51.658962 71.608381) + (xy 51.6585 71.614254) + (xy 51.6585 71.732098) + (xy 51.339 71.732098) + (xy 51.339 71.588226) + (xy 51.324499 71.496668) + (xy 51.314736 71.477508) + (xy 51.277696 71.404812) + (xy 51.268269 71.386311) + (xy 51.180689 71.298731) + (xy 51.175412 71.296042) + (xy 51.075605 71.245187) + (xy 51.0756 71.245185) + (xy 51.070332 71.242501) + (xy 51.06449 71.241575) + (xy 51.064485 71.241574) + (xy 50.981692 71.228462) + (xy 50.98169 71.228461) + (xy 50.978774 71.228) + (xy 50.367226 71.228) + (xy 50.36431 71.228461) + (xy 50.364307 71.228462) + (xy 50.281514 71.241574) + (xy 50.281507 71.241576) + (xy 50.275668 71.242501) + (xy 50.2704 71.245184) + (xy 50.270394 71.245187) + (xy 50.170587 71.296042) + (xy 50.170583 71.296044) + (xy 50.165311 71.298731) + (xy 50.161124 71.302917) + (xy 50.161121 71.30292) + (xy 50.112068 71.351974) + (xy 50.087672 71.368276) + (xy 50.058894 71.374) + (xy 49.916473 71.374) + (xy 49.887695 71.368276) + (xy 49.863299 71.351974) + (xy 49.481026 70.969701) + (xy 49.464724 70.945305) + (xy 49.459 70.916527) + (xy 49.459 70.370884) + (xy 49.459 70.367188) + (xy 49.447918 70.311475) + (xy 49.405703 70.248297) + (xy 49.399365 70.244062) + (xy 49.348683 70.210196) + (xy 49.34868 70.210194) + (xy 49.342525 70.206082) + (xy 49.335261 70.204637) + (xy 49.316602 70.200925) + (xy 49.286812 70.195) + (xy 48.249188 70.195) + (xy 48.245563 70.19572) + (xy 48.245563 70.195721) + (xy 48.200738 70.204637) + (xy 48.200736 70.204637) + (xy 48.193475 70.206082) + (xy 48.187321 70.210193) + (xy 48.187316 70.210196) + (xy 48.136454 70.244182) + (xy 48.136451 70.244184) + (xy 48.130297 70.248297) + (xy 48.126184 70.254451) + (xy 48.126182 70.254454) + (xy 48.092196 70.305316) + (xy 48.092193 70.305321) + (xy 48.088082 70.311475) + (xy 48.077 70.367188) + (xy 48.077 71.404812) + (xy 47.509966 71.404812) + (xy 47.502499 71.357668) + (xy 47.490566 71.334249) + (xy 47.455957 71.266325) + (xy 47.446269 71.247311) + (xy 47.358689 71.159731) + (xy 47.353412 71.157042) + (xy 47.253605 71.106187) + (xy 47.2536 71.106185) + (xy 47.248332 71.103501) + (xy 47.24249 71.102575) + (xy 47.242485 71.102574) + (xy 47.159692 71.089462) + (xy 47.15969 71.089461) + (xy 47.156774 71.089) + (xy 46.695226 71.089) + (xy 46.69231 71.089461) + (xy 46.692307 71.089462) + (xy 46.609514 71.102574) + (xy 46.609507 71.102576) + (xy 46.603668 71.103501) + (xy 46.5984 71.106184) + (xy 46.598394 71.106187) + (xy 46.498587 71.157042) + (xy 46.498583 71.157044) + (xy 46.493311 71.159731) + (xy 46.489124 71.163917) + (xy 46.489121 71.16392) + (xy 46.40992 71.243121) + (xy 46.409917 71.243124) + (xy 46.405731 71.247311) + (xy 46.403044 71.252583) + (xy 46.403042 71.252587) + (xy 46.352187 71.352394) + (xy 46.352184 71.3524) + (xy 46.349501 71.357668) + (xy 46.348576 71.363507) + (xy 46.348574 71.363514) + (xy 46.335462 71.446307) + (xy 46.335 71.449226) + (xy 46.335 72.060774) + (xy 46.335461 72.06369) + (xy 46.335462 72.063692) + (xy 46.348574 72.146485) + (xy 46.348575 72.14649) + (xy 46.349501 72.152332) + (xy 46.352185 72.1576) + (xy 46.352187 72.157605) + (xy 46.402705 72.256751) + (xy 46.405731 72.262689) + (xy 46.40992 72.266878) + (xy 46.458974 72.315932) + (xy 46.475276 72.340328) + (xy 46.481 72.369106) + (xy 46.481 72.791894) + (xy 46.475276 72.820672) + (xy 46.458974 72.845068) + (xy 46.40992 72.894121) + (xy 46.409917 72.894124) + (xy 46.405731 72.898311) + (xy 46.403044 72.903583) + (xy 46.403042 72.903587) + (xy 46.352187 73.003394) + (xy 46.352184 73.0034) + (xy 46.349501 73.008668) + (xy 46.348576 73.014507) + (xy 46.348574 73.014514) + (xy 46.339733 73.07034) + (xy 46.335 73.100226) + (xy 46.335 73.711774) + (xy 46.335461 73.71469) + (xy 46.335462 73.714692) + (xy 46.348574 73.797485) + (xy 46.348575 73.79749) + (xy 46.349501 73.803332) + (xy 46.352185 73.8086) + (xy 46.352187 73.808605) + (xy 46.403042 73.908412) + (xy 46.405731 73.913689) + (xy 46.493311 74.001269) + (xy 46.525368 74.017603) + (xy 46.597756 74.054487) + (xy 46.603668 74.057499) + (xy 46.609513 74.058424) + (xy 46.609514 74.058425) + (xy 46.619453 74.059999) + (xy 46.695226 74.072) + (xy 47.15382 74.072) + (xy 47.156774 74.072) + (xy 47.248332 74.057499) + (xy 47.358689 74.001269) + (xy 47.446269 73.913689) + (xy 47.467479 73.87206) + (xy 47.495192 73.842081) + (xy 47.534484 73.831) + (xy 48.001937 73.831) + (xy 48.037386 73.83988) + (xy 48.064464 73.864422) + (xy 48.076775 73.898831) + (xy 48.077 73.901118) + (xy 48.077 73.904812) + (xy 48.077719 73.908428) + (xy 48.07772 73.908435) + (xy 48.085169 73.945881) + (xy 48.088082 73.960525) + (xy 48.092194 73.96668) + (xy 48.092196 73.966683) + (xy 48.126182 74.017545) + (xy 48.130297 74.023703) + (xy 48.136454 74.027817) + (xy 48.187316 74.061803) + (xy 48.187317 74.061803) + (xy 48.193475 74.065918) + (xy 48.249188 74.077) + (xy 48.252885 74.077) + (xy 48.255169 74.077225) + (xy 48.289578 74.089536) + (xy 48.31412 74.116614) + (xy 48.323 74.152063) + (xy 48.323 74.460527) + (xy 48.317276 74.489305) + (xy 48.300974 74.513701) + (xy 48.224701 74.589974) + (xy 48.200305 74.606276) + (xy 48.171527 74.612) + (xy 47.562917 74.612) + (xy 47.531137 74.604955) + (xy 47.480324 74.581261) + (xy 47.461619 74.572539) + (xy 47.455917 74.571788) + (xy 47.455916 74.571788) + (xy 47.414385 74.56632) + (xy 47.41438 74.566319) + (xy 47.411952 74.566) + (xy 45.682048 74.566) + (xy 45.67962 74.566319) + (xy 45.679614 74.56632) + (xy 45.638083 74.571788) + (xy 45.638081 74.571788) + (xy 45.632381 74.572539) + (xy 45.627174 74.574966) + (xy 45.627167 74.574969) + (xy 45.529354 74.62058) + (xy 45.529352 74.620581) + (xy 45.523393 74.62336) + (xy 45.518743 74.628009) + (xy 45.51874 74.628012) + (xy 45.443012 74.70374) + (xy 45.443009 74.703743) + (xy 45.43836 74.708393) + (xy 45.435581 74.714352) + (xy 45.43558 74.714354) + (xy 45.389969 74.812167) + (xy 45.389966 74.812174) + (xy 45.387539 74.817381) + (xy 45.386788 74.823081) + (xy 45.386788 74.823083) + (xy 45.381469 74.863487) + (xy 45.381 74.867048) + (xy 45.381 75.246952) + (xy 44.888277 75.246952) + (xy 44.658321 75.016996) + (xy 44.652701 75.010708) + (xy 44.632611 74.985516) + (xy 44.632608 74.985513) + (xy 44.629095 74.981108) + (xy 44.624438 74.977932) + (xy 44.624435 74.97793) + (xy 44.581731 74.948814) + (xy 44.57944 74.947188) + (xy 44.537822 74.916473) + (xy 44.537816 74.91647) + (xy 44.533284 74.913125) + (xy 44.527965 74.911263) + (xy 44.525862 74.910152) + (xy 44.525476 74.909919) + (xy 44.525052 74.909744) + (xy 44.522913 74.908714) + (xy 44.518259 74.905541) + (xy 44.512876 74.90388) + (xy 44.512875 74.90388) + (xy 44.463471 74.88864) + (xy 44.460802 74.887761) + (xy 44.411988 74.870681) + (xy 44.411984 74.87068) + (xy 44.406665 74.868819) + (xy 44.401031 74.868607) + (xy 44.398702 74.868167) + (xy 44.398256 74.868056) + (xy 44.397817 74.868015) + (xy 44.395451 74.867658) + (xy 44.390073 74.866) + (xy 44.384441 74.866) + (xy 44.349293 74.866) + (xy 44.31 74.854918) + (xy 44.282289 74.824939) + (xy 44.275039 74.810711) + (xy 44.271269 74.803311) + (xy 44.183689 74.715731) + (xy 44.178412 74.713042) + (xy 44.078605 74.662187) + (xy 44.0786 74.662185) + (xy 44.073332 74.659501) + (xy 44.06749 74.658575) + (xy 44.067485 74.658574) + (xy 43.984692 74.645462) + (xy 43.98469 74.645461) + (xy 43.981774 74.645) + (xy 43.97882 74.645) + (xy 43.841473 74.645) + (xy 43.812695 74.639276) + (xy 43.788299 74.622974) + (xy 43.343795 74.17847) + (xy 43.32229 74.134135) + (xy 43.33285 74.086005) + (xy 43.37094 74.054744) + (xy 43.420206 74.053776) + (xy 43.423394 74.054812) + (xy 43.428668 74.057499) + (xy 43.434513 74.058424) + (xy 43.434514 74.058425) + (xy 43.444453 74.059999) + (xy 43.520226 74.072) + (xy 43.97882 74.072) + (xy 43.981774 74.072) + (xy 44.073332 74.057499) + (xy 44.183689 74.001269) + (xy 44.271269 73.913689) + (xy 44.27628 73.903854) + (xy 44.282291 73.892059) + (xy 44.310003 73.862081) + (xy 44.349294 73.851) + (xy 44.677706 73.851) + (xy 44.716997 73.862081) + (xy 44.744709 73.892059) + (xy 44.75304 73.908409) + (xy 44.753042 73.908412) + (xy 44.755731 73.913689) + (xy 44.843311 74.001269) + (xy 44.875368 74.017603) + (xy 44.947756 74.054487) + (xy 44.953668 74.057499) + (xy 44.959513 74.058424) + (xy 44.959514 74.058425) + (xy 44.969453 74.059999) + (xy 45.045226 74.072) + (xy 45.50382 74.072) + (xy 45.506774 74.072) + (xy 45.598332 74.057499) + (xy 45.708689 74.001269) + (xy 45.796269 73.913689) + (xy 45.852499 73.803332) + (xy 45.867 73.711774) + (xy 45.867 73.100226) + (xy 45.852499 73.008668) + (xy 45.843241 72.990499) + (xy 45.816965 72.938929) + (xy 45.796269 72.898311) + (xy 45.743026 72.845068) + (xy 45.726724 72.820672) + (xy 45.721 72.791894) + (xy 45.721 72.369106) + (xy 45.726724 72.340328) + (xy 45.743026 72.315932) + (xy 45.767284 72.291674) + (xy 45.796269 72.262689) + (xy 45.852499 72.152332) + (xy 45.867 72.060774) + (xy 45.867 71.449226) + (xy 45.852499 71.357668) + (xy 45.840566 71.334249) + (xy 45.805957 71.266325) + (xy 45.796269 71.247311) + (xy 45.708689 71.159731) + (xy 45.703412 71.157042) + (xy 45.603605 71.106187) + (xy 45.6036 71.106185) + (xy 45.598332 71.103501) + (xy 45.59249 71.102575) + (xy 45.592485 71.102574) + (xy 45.509692 71.089462) + (xy 45.50969 71.089461) + (xy 45.506774 71.089) + (xy 45.045226 71.089) + (xy 45.04231 71.089461) + (xy 45.042307 71.089462) + (xy 44.959514 71.102574) + (xy 44.959507 71.102576) + (xy 44.953668 71.103501) + (xy 44.9484 71.106184) + (xy 44.948394 71.106187) + (xy 44.848587 71.157042) + (xy 44.848583 71.157044) + (xy 44.843311 71.159731) + (xy 44.839124 71.163917) + (xy 44.839121 71.16392) + (xy 44.75992 71.243121) + (xy 44.759917 71.243124) + (xy 44.755731 71.247311) + (xy 44.753044 71.252583) + (xy 44.753042 71.252587) + (xy 44.702187 71.352394) + (xy 44.702184 71.3524) + (xy 44.699501 71.357668) + (xy 44.698576 71.363507) + (xy 44.698574 71.363514) + (xy 44.685462 71.446307) + (xy 44.685 71.449226) + (xy 44.685 72.060774) + (xy 44.685461 72.06369) + (xy 44.685462 72.063692) + (xy 44.698574 72.146485) + (xy 44.698575 72.14649) + (xy 44.699501 72.152332) + (xy 44.702185 72.1576) + (xy 44.702187 72.157605) + (xy 44.752705 72.256751) + (xy 44.755731 72.262689) + (xy 44.75992 72.266878) + (xy 44.808974 72.315932) + (xy 44.825276 72.340328) + (xy 44.831 72.369106) + (xy 44.831 72.791894) + (xy 44.825276 72.820672) + (xy 44.808974 72.845068) + (xy 44.75992 72.894121) + (xy 44.759917 72.894124) + (xy 44.755731 72.898311) + (xy 44.753043 72.903584) + (xy 44.75304 72.90359) + (xy 44.744709 72.919941) + (xy 44.716997 72.949919) + (xy 44.677706 72.961) + (xy 44.349294 72.961) + (xy 44.310003 72.949919) + (xy 44.282291 72.919941) + (xy 44.273959 72.90359) + (xy 44.273957 72.903587) + (xy 44.271269 72.898311) + (xy 44.218026 72.845068) + (xy 44.201724 72.820672) + (xy 44.196 72.791894) + (xy 44.196 72.369106) + (xy 44.201724 72.340328) + (xy 44.218026 72.315932) + (xy 44.242284 72.291674) + (xy 44.271269 72.262689) + (xy 44.327499 72.152332) + (xy 44.342 72.060774) + (xy 44.342 71.449226) + (xy 44.327499 71.357668) + (xy 44.315566 71.334249) + (xy 44.280957 71.266325) + (xy 44.271269 71.247311) + (xy 44.183689 71.159731) + (xy 44.178412 71.157042) + (xy 44.078605 71.106187) + (xy 44.0786 71.106185) + (xy 44.073332 71.103501) + (xy 44.06749 71.102575) + (xy 44.067485 71.102574) + (xy 43.984692 71.089462) + (xy 43.98469 71.089461) + (xy 43.981774 71.089) + (xy 43.520226 71.089) + (xy 43.51731 71.089461) + (xy 43.517307 71.089462) + (xy 43.434514 71.102574) + (xy 43.434507 71.102576) + (xy 43.428668 71.103501) + (xy 43.4234 71.106184) + (xy 43.423394 71.106187) + (xy 43.323587 71.157042) + (xy 43.323583 71.157044) + (xy 43.318311 71.159731) + (xy 43.314124 71.163917) + (xy 43.314121 71.16392) + (xy 43.23492 71.243121) + (xy 43.234917 71.243124) + (xy 43.230731 71.247311) + (xy 43.228044 71.252583) + (xy 43.228042 71.252587) + (xy 43.177187 71.352394) + (xy 43.177184 71.3524) + (xy 43.174501 71.357668) + (xy 43.173576 71.363507) + (xy 43.173574 71.363514) + (xy 43.160462 71.446307) + (xy 43.16 71.449226) + (xy 43.16 72.060774) + (xy 43.160461 72.06369) + (xy 43.160462 72.063692) + (xy 43.173574 72.146485) + (xy 43.173575 72.14649) + (xy 43.174501 72.152332) + (xy 43.177185 72.1576) + (xy 43.177187 72.157605) + (xy 43.227705 72.256751) + (xy 43.230731 72.262689) + (xy 43.23492 72.266878) + (xy 43.283974 72.315932) + (xy 43.300276 72.340328) + (xy 43.306 72.369106) + (xy 43.306 72.791894) + (xy 43.300276 72.820672) + (xy 43.283974 72.845068) + (xy 43.23492 72.894121) + (xy 43.234917 72.894124) + (xy 43.230731 72.898311) + (xy 43.228044 72.903583) + (xy 43.228042 72.903587) + (xy 43.177187 73.003394) + (xy 43.177184 73.0034) + (xy 43.174501 73.008668) + (xy 43.173576 73.014507) + (xy 43.173574 73.014514) + (xy 43.164733 73.07034) + (xy 43.16 73.100226) + (xy 43.16 73.711774) + (xy 43.160461 73.71469) + (xy 43.160462 73.714692) + (xy 43.173575 73.79749) + (xy 43.173576 73.797494) + (xy 43.174501 73.803332) + (xy 43.177184 73.808598) + (xy 43.178223 73.811795) + (xy 43.177254 73.86106) + (xy 43.145994 73.899149) + (xy 43.097863 73.909709) + (xy 43.053529 73.888204) + (xy 42.714026 73.548701) + (xy 42.697724 73.524305) + (xy 42.692 73.495527) + (xy 42.692 73.10318) + (xy 42.692 73.100226) + (xy 42.677499 73.008668) + (xy 42.668241 72.990499) + (xy 42.641965 72.938929) + (xy 42.621269 72.898311) + (xy 42.568026 72.845068) + (xy 42.551724 72.820672) + (xy 42.546 72.791894) + (xy 42.546 72.369106) + (xy 42.551724 72.340328) + (xy 42.568026 72.315932) + (xy 42.592284 72.291674) + (xy 42.621269 72.262689) + (xy 42.677499 72.152332) + (xy 42.692 72.060774) + (xy 42.692 71.449226) + (xy 42.677499 71.357668) + (xy 42.665566 71.334249) + (xy 42.630957 71.266325) + (xy 42.621269 71.247311) + (xy 42.533689 71.159731) + (xy 42.528412 71.157042) + (xy 42.428605 71.106187) + (xy 42.4286 71.106185) + (xy 42.423332 71.103501) + (xy 42.41749 71.102575) + (xy 42.417485 71.102574) + (xy 42.334692 71.089462) + (xy 42.33469 71.089461) + (xy 42.331774 71.089) + (xy 41.870226 71.089) + (xy 41.86731 71.089461) + (xy 41.867307 71.089462) + (xy 41.784514 71.102574) + (xy 41.784507 71.102576) + (xy 41.778668 71.103501) + (xy 41.7734 71.106184) + (xy 41.773394 71.106187) + (xy 41.673587 71.157042) + (xy 41.673583 71.157044) + (xy 41.668311 71.159731) + (xy 41.664124 71.163917) + (xy 41.664121 71.16392) + (xy 41.58492 71.243121) + (xy 41.584917 71.243124) + (xy 41.580731 71.247311) + (xy 41.578044 71.252583) + (xy 41.578042 71.252587) + (xy 41.527187 71.352394) + (xy 41.527184 71.3524) + (xy 41.524501 71.357668) + (xy 41.523576 71.363507) + (xy 41.523574 71.363514) + (xy 41.510462 71.446307) + (xy 41.51 71.449226) + (xy 41.51 72.060774) + (xy 41.510461 72.06369) + (xy 41.510462 72.063692) + (xy 41.523574 72.146485) + (xy 41.523575 72.14649) + (xy 41.524501 72.152332) + (xy 41.527185 72.1576) + (xy 41.527187 72.157605) + (xy 41.577705 72.256751) + (xy 41.580731 72.262689) + (xy 41.58492 72.266878) + (xy 41.633974 72.315932) + (xy 41.650276 72.340328) + (xy 41.656 72.369106) + (xy 41.656 72.791894) + (xy 41.650276 72.820672) + (xy 41.633974 72.845068) + (xy 41.58492 72.894121) + (xy 41.584917 72.894124) + (xy 41.580731 72.898311) + (xy 41.578044 72.903583) + (xy 41.578042 72.903587) + (xy 41.527187 73.003394) + (xy 41.527184 73.0034) + (xy 41.524501 73.008668) + (xy 41.523576 73.014507) + (xy 41.523574 73.014514) + (xy 41.514733 73.07034) + (xy 41.51 73.100226) + (xy 41.51 73.711774) + (xy 41.510461 73.71469) + (xy 41.510462 73.714692) + (xy 41.523574 73.797485) + (xy 41.523575 73.79749) + (xy 41.524501 73.803332) + (xy 41.527185 73.8086) + (xy 41.527187 73.808605) + (xy 41.578042 73.908412) + (xy 41.580731 73.913689) + (xy 41.668311 74.001269) + (xy 41.700368 74.017603) + (xy 41.772756 74.054487) + (xy 41.778668 74.057499) + (xy 41.784513 74.058424) + (xy 41.784514 74.058425) + (xy 41.794453 74.059999) + (xy 41.870226 74.072) + (xy 41.947527 74.072) + (xy 41.976305 74.077724) + (xy 42.000701 74.094026) + (xy 42.429404 74.522729) + (xy 42.450504 74.564139) + (xy 42.443234 74.610042) + (xy 42.410371 74.642906) + (xy 42.364468 74.650177) + (xy 42.334697 74.645462) + (xy 42.334685 74.645461) + (xy 42.331774 74.645) + (xy 41.870226 74.645) + (xy 41.86731 74.645461) + (xy 41.867307 74.645462) + (xy 41.784514 74.658574) + (xy 41.784507 74.658576) + (xy 41.778668 74.659501) + (xy 41.7734 74.662184) + (xy 41.773394 74.662187) + (xy 41.673587 74.713042) + (xy 41.673583 74.713044) + (xy 41.668311 74.715731) + (xy 41.664124 74.719917) + (xy 41.664121 74.71992) + (xy 41.58492 74.799121) + (xy 41.584917 74.799124) + (xy 41.580731 74.803311) + (xy 41.578043 74.808584) + (xy 41.57804 74.80859) + (xy 41.569709 74.824941) + (xy 41.541997 74.854919) + (xy 41.502706 74.866) + (xy 41.079609 74.866) + (xy 41.062876 74.864114) + (xy 41.05463 74.862232) + (xy 41.049009 74.862653) + (xy 41.049007 74.862653) + (xy 41.007153 74.86579) + (xy 41.001533 74.866) + (xy 40.704917 74.866) + (xy 40.673137 74.858955) + (xy 40.62455 74.836299) + (xy 40.603619 74.826539) + (xy 40.597917 74.825788) + (xy 40.597916 74.825788) + (xy 40.556385 74.82032) + (xy 40.55638 74.820319) + (xy 40.553952 74.82) + (xy 39.401873 74.82) + (xy 39.360095 74.807327) + (xy 39.332398 74.77358) + (xy 39.328117 74.730132) + (xy 39.348696 74.691628) + (xy 39.351477 74.688847) + (xy 39.357821 74.682502) + (xy 39.359766 74.680628) + (xy 39.401844 74.641587) + (xy 39.404664 74.6367) + (xy 39.406137 74.634854) + (xy 39.41175 74.628573) + (xy 39.664014 74.376309) + (xy 39.670283 74.370706) + (xy 39.699892 74.347095) + (xy 39.732182 74.299731) + (xy 39.733811 74.297437) + (xy 39.764525 74.255823) + (xy 39.764525 74.255822) + (xy 39.767875 74.251284) + (xy 39.769737 74.245959) + (xy 39.770843 74.243868) + (xy 39.77108 74.243474) + (xy 39.771264 74.243031) + (xy 39.77228 74.24092) + (xy 39.775459 74.236259) + (xy 39.792383 74.181389) + (xy 39.793227 74.178825) + (xy 39.81218 74.124665) + (xy 39.81239 74.119027) + (xy 39.812827 74.116722) + (xy 39.812941 74.11626) + (xy 39.812984 74.115807) + (xy 39.813337 74.113461) + (xy 39.815 74.108073) + (xy 39.815 74.050697) + (xy 39.815053 74.047885) + (xy 39.815804 74.027817) + (xy 39.817196 73.990614) + (xy 39.815736 73.985168) + (xy 39.815473 73.982827) + (xy 39.815 73.974407) + (xy 39.815 70.4972) + (xy 39.825075 70.4596) + (xy 39.8526 70.432075) + (xy 39.8902 70.422) + (xy 46.99812 70.422) + (xy 47.02936 70.428796) + (xy 47.031394 70.429724) + (xy 47.035919 70.432633) + (xy 47.172715 70.4728) + (xy 47.309904 70.4728) + (xy 47.315285 70.4728) + (xy 47.452081 70.432633) + (xy 47.572018 70.355553) + (xy 47.665382 70.247806) + (xy 47.724608 70.118119) + (xy 47.744898 69.977) + (xy 47.724608 69.835881) + (xy 47.665382 69.706194) + (xy 47.657868 69.697523) + (xy 47.610212 69.642525) + (xy 47.572018 69.598447) + (xy 47.567496 69.595541) + (xy 47.567494 69.595539) + (xy 47.553915 69.586812) + (xy 48.077 69.586812) + (xy 48.088082 69.642525) + (xy 48.092194 69.64868) + (xy 48.092196 69.648683) + (xy 48.124089 69.696412) + (xy 48.130297 69.705703) + (xy 48.136454 69.709817) + (xy 48.187316 69.743803) + (xy 48.187317 69.743803) + (xy 48.193475 69.747918) + (xy 48.249188 69.759) + (xy 49.283116 69.759) + (xy 49.286812 69.759) + (xy 49.342525 69.747918) + (xy 49.405703 69.705703) + (xy 49.447918 69.642525) + (xy 49.459 69.586812) + (xy 49.459 69.037473) + (xy 49.464724 69.008695) + (xy 49.481026 68.984299) + (xy 49.8633 68.602026) + (xy 49.887696 68.585724) + (xy 49.916474 68.58) + (xy 50.058894 68.58) + (xy 50.087672 68.585724) + (xy 50.112068 68.602026) + (xy 50.165311 68.655269) + (xy 50.190228 68.667965) + (xy 50.269448 68.70833) + (xy 50.275668 68.711499) + (xy 50.281513 68.712424) + (xy 50.281514 68.712425) + (xy 50.29273 68.714201) + (xy 50.367226 68.726) + (xy 50.97582 68.726) + (xy 50.978774 68.726) + (xy 51.070332 68.711499) + (xy 51.180689 68.655269) + (xy 51.268269 68.567689) + (xy 51.324499 68.457332) + (xy 51.339 68.365774) + (xy 51.339 68.339746) + (xy 51.6585 68.339746) + (xy 51.658962 68.345618) + (xy 51.672984 68.434151) + (xy 51.676597 68.445271) + (xy 51.730976 68.551994) + (xy 51.737851 68.561456) + (xy 51.822543 68.646148) + (xy 51.832005 68.653023) + (xy 51.938728 68.707402) + (xy 51.949848 68.711015) + (xy 52.038381 68.725037) + (xy 52.044254 68.7255) + (xy 52.187098 68.7255) + (xy 52.194907 68.723407) + (xy 52.197 68.715598) + (xy 52.451 68.715598) + (xy 52.453092 68.723407) + (xy 52.460902 68.7255) + (xy 52.603746 68.7255) + (xy 52.609618 68.725037) + (xy 52.698151 68.711015) + (xy 52.709271 68.707402) + (xy 52.815994 68.653023) + (xy 52.825456 68.646148) + (xy 52.910148 68.561456) + (xy 52.917023 68.551994) + (xy 52.971402 68.445271) + (xy 52.975015 68.434151) + (xy 52.986319 68.362779) + (xy 53.309501 68.362779) + (xy 53.309963 68.368654) + (xy 53.323057 68.451328) + (xy 53.326669 68.462447) + (xy 53.377452 68.562114) + (xy 53.38433 68.57158) + (xy 53.463419 68.650669) + (xy 53.472885 68.657547) + (xy 53.572551 68.70833) + (xy 53.583671 68.711943) + (xy 53.666346 68.725037) + (xy 53.672219 68.7255) + (xy 53.838098 68.7255) + (xy 53.845907 68.723407) + (xy 53.848 68.715598) + (xy 53.848 68.715597) + (xy 54.102 68.715597) + (xy 54.104092 68.723406) + (xy 54.111902 68.725499) + (xy 54.277779 68.725499) + (xy 54.283654 68.725036) + (xy 54.366328 68.711942) + (xy 54.377447 68.70833) + (xy 54.477114 68.657547) + (xy 54.48658 68.650669) + (xy 54.565669 68.57158) + (xy 54.572547 68.562114) + (xy 54.62333 68.462448) + (xy 54.626943 68.451328) + (xy 54.640037 68.368653) + (xy 54.6405 68.362781) + (xy 54.6405 68.362779) + (xy 54.960501 68.362779) + (xy 54.960963 68.368654) + (xy 54.974057 68.451328) + (xy 54.977669 68.462447) + (xy 55.028452 68.562114) + (xy 55.03533 68.57158) + (xy 55.114419 68.650669) + (xy 55.123885 68.657547) + (xy 55.223551 68.70833) + (xy 55.234671 68.711943) + (xy 55.317346 68.725037) + (xy 55.323219 68.7255) + (xy 55.489098 68.7255) + (xy 55.496907 68.723407) + (xy 55.499 68.715598) + (xy 55.499 68.715597) + (xy 55.753 68.715597) + (xy 55.755092 68.723406) + (xy 55.762902 68.725499) + (xy 55.928779 68.725499) + (xy 55.934654 68.725036) + (xy 56.017328 68.711942) + (xy 56.028447 68.70833) + (xy 56.128114 68.657547) + (xy 56.13758 68.650669) + (xy 56.216669 68.57158) + (xy 56.223547 68.562114) + (xy 56.27433 68.462448) + (xy 56.277943 68.451328) + (xy 56.291037 68.368653) + (xy 56.2915 68.362781) + (xy 56.2915 68.271902) + (xy 56.289407 68.264092) + (xy 56.281598 68.262) + (xy 55.762902 68.262) + (xy 55.755092 68.264092) + (xy 55.753 68.271902) + (xy 55.753 68.715597) + (xy 55.499 68.715597) + (xy 55.499 68.271902) + (xy 55.496907 68.264092) + (xy 55.489098 68.262) + (xy 54.970403 68.262) + (xy 54.962593 68.264092) + (xy 54.960501 68.271902) + (xy 54.960501 68.362779) + (xy 54.6405 68.362779) + (xy 54.6405 68.271902) + (xy 54.638407 68.264092) + (xy 54.630598 68.262) + (xy 54.111902 68.262) + (xy 54.104092 68.264092) + (xy 54.102 68.271902) + (xy 54.102 68.715597) + (xy 53.848 68.715597) + (xy 53.848 68.271902) + (xy 53.845907 68.264092) + (xy 53.838098 68.262) + (xy 53.319403 68.262) + (xy 53.311593 68.264092) + (xy 53.309501 68.271902) + (xy 53.309501 68.362779) + (xy 52.986319 68.362779) + (xy 52.989037 68.345618) + (xy 52.9895 68.339746) + (xy 52.9895 68.221902) + (xy 52.987407 68.214092) + (xy 52.979598 68.212) + (xy 52.460902 68.212) + (xy 52.453092 68.214092) + (xy 52.451 68.221902) + (xy 52.451 68.715598) + (xy 52.197 68.715598) + (xy 52.197 68.221902) + (xy 52.194907 68.214092) + (xy 52.187098 68.212) + (xy 51.668402 68.212) + (xy 51.660592 68.214092) + (xy 51.6585 68.221902) + (xy 51.6585 68.339746) + (xy 51.339 68.339746) + (xy 51.339 67.998098) + (xy 53.3095 67.998098) + (xy 53.311592 68.005907) + (xy 53.319402 68.008) + (xy 53.838098 68.008) + (xy 53.845907 68.005907) + (xy 53.848 67.998098) + (xy 54.102 67.998098) + (xy 54.104092 68.005907) + (xy 54.111902 68.008) + (xy 54.630597 68.008) + (xy 54.638406 68.005907) + (xy 54.640499 67.998098) + (xy 54.9605 67.998098) + (xy 54.962592 68.005907) + (xy 54.970402 68.008) + (xy 55.489098 68.008) + (xy 55.496907 68.005907) + (xy 55.499 67.998098) + (xy 55.753 67.998098) + (xy 55.755092 68.005907) + (xy 55.762902 68.008) + (xy 56.281597 68.008) + (xy 56.289406 68.005907) + (xy 56.291499 67.998098) + (xy 56.291499 67.907221) + (xy 56.291036 67.901345) + (xy 56.277942 67.818671) + (xy 56.27433 67.807552) + (xy 56.223547 67.707885) + (xy 56.216669 67.698419) + (xy 56.13758 67.61933) + (xy 56.128114 67.612452) + (xy 56.028448 67.561669) + (xy 56.017328 67.558056) + (xy 55.934653 67.544962) + (xy 55.928781 67.5445) + (xy 55.762902 67.5445) + (xy 55.755092 67.546592) + (xy 55.753 67.554402) + (xy 55.753 67.998098) + (xy 55.499 67.998098) + (xy 55.499 67.554403) + (xy 55.496907 67.546593) + (xy 55.489098 67.544501) + (xy 55.323221 67.544501) + (xy 55.317345 67.544963) + (xy 55.234671 67.558057) + (xy 55.223552 67.561669) + (xy 55.123885 67.612452) + (xy 55.114419 67.61933) + (xy 55.03533 67.698419) + (xy 55.028452 67.707885) + (xy 54.977669 67.807551) + (xy 54.974056 67.818671) + (xy 54.960962 67.901346) + (xy 54.9605 67.907219) + (xy 54.9605 67.998098) + (xy 54.640499 67.998098) + (xy 54.640499 67.907221) + (xy 54.640036 67.901345) + (xy 54.626942 67.818671) + (xy 54.62333 67.807552) + (xy 54.572547 67.707885) + (xy 54.565669 67.698419) + (xy 54.48658 67.61933) + (xy 54.477114 67.612452) + (xy 54.377448 67.561669) + (xy 54.366328 67.558056) + (xy 54.283653 67.544962) + (xy 54.277781 67.5445) + (xy 54.111902 67.5445) + (xy 54.104092 67.546592) + (xy 54.102 67.554402) + (xy 54.102 67.998098) + (xy 53.848 67.998098) + (xy 53.848 67.554403) + (xy 53.845907 67.546593) + (xy 53.838098 67.544501) + (xy 53.672221 67.544501) + (xy 53.666345 67.544963) + (xy 53.583671 67.558057) + (xy 53.572552 67.561669) + (xy 53.472885 67.612452) + (xy 53.463419 67.61933) + (xy 53.38433 67.698419) + (xy 53.377452 67.707885) + (xy 53.326669 67.807551) + (xy 53.323056 67.818671) + (xy 53.309962 67.901346) + (xy 53.3095 67.907219) + (xy 53.3095 67.998098) + (xy 51.339 67.998098) + (xy 51.339 67.948098) + (xy 51.6585 67.948098) + (xy 51.660592 67.955907) + (xy 51.668402 67.958) + (xy 52.187098 67.958) + (xy 52.194907 67.955907) + (xy 52.197 67.948098) + (xy 52.451 67.948098) + (xy 52.453092 67.955907) + (xy 52.460902 67.958) + (xy 52.979598 67.958) + (xy 52.987407 67.955907) + (xy 52.9895 67.948098) + (xy 52.9895 67.830254) + (xy 52.989037 67.824381) + (xy 52.975015 67.735848) + (xy 52.971402 67.724728) + (xy 52.917023 67.618005) + (xy 52.910148 67.608543) + (xy 52.825456 67.523851) + (xy 52.815994 67.516976) + (xy 52.709271 67.462597) + (xy 52.698151 67.458984) + (xy 52.609618 67.444962) + (xy 52.603746 67.4445) + (xy 52.460902 67.4445) + (xy 52.453092 67.446592) + (xy 52.451 67.454402) + (xy 52.451 67.948098) + (xy 52.197 67.948098) + (xy 52.197 67.454402) + (xy 52.194907 67.446592) + (xy 52.187098 67.4445) + (xy 52.044254 67.4445) + (xy 52.038381 67.444962) + (xy 51.949848 67.458984) + (xy 51.938728 67.462597) + (xy 51.832005 67.516976) + (xy 51.822543 67.523851) + (xy 51.737851 67.608543) + (xy 51.730976 67.618005) + (xy 51.676597 67.724728) + (xy 51.672984 67.735848) + (xy 51.658962 67.824381) + (xy 51.6585 67.830254) + (xy 51.6585 67.948098) + (xy 51.339 67.948098) + (xy 51.339 67.904226) + (xy 51.324499 67.812668) + (xy 51.268269 67.702311) + (xy 51.180689 67.614731) + (xy 51.175412 67.612042) + (xy 51.075605 67.561187) + (xy 51.0756 67.561185) + (xy 51.070332 67.558501) + (xy 51.06449 67.557575) + (xy 51.064485 67.557574) + (xy 50.981692 67.544462) + (xy 50.98169 67.544461) + (xy 50.978774 67.544) + (xy 50.367226 67.544) + (xy 50.36431 67.544461) + (xy 50.364307 67.544462) + (xy 50.281514 67.557574) + (xy 50.281507 67.557576) + (xy 50.275668 67.558501) + (xy 50.2704 67.561184) + (xy 50.270394 67.561187) + (xy 50.170587 67.612042) + (xy 50.170583 67.612044) + (xy 50.165311 67.614731) + (xy 50.161124 67.618917) + (xy 50.161121 67.61892) + (xy 50.112068 67.667974) + (xy 50.087672 67.684276) + (xy 50.058894 67.69) + (xy 49.730207 67.69) + (xy 49.721788 67.689527) + (xy 49.68977 67.685919) + (xy 49.689765 67.685919) + (xy 49.684173 67.685289) + (xy 49.678639 67.686335) + (xy 49.678636 67.686336) + (xy 49.627837 67.695947) + (xy 49.625067 67.696418) + (xy 49.573924 67.704127) + (xy 49.573922 67.704127) + (xy 49.568353 67.704967) + (xy 49.563279 67.707409) + (xy 49.560993 67.708115) + (xy 49.560563 67.708221) + (xy 49.560138 67.708398) + (xy 49.557901 67.70918) + (xy 49.552366 67.710228) + (xy 49.547391 67.712857) + (xy 49.547383 67.71286) + (xy 49.501653 67.737028) + (xy 49.499147 67.738293) + (xy 49.452565 67.760727) + (xy 49.452562 67.760728) + (xy 49.447491 67.763171) + (xy 49.443363 67.766999) + (xy 49.441392 67.768344) + (xy 49.441007 67.768575) + (xy 49.44067 67.768855) + (xy 49.438738 67.77028) + (xy 49.433765 67.77291) + (xy 49.429785 67.776889) + (xy 49.429782 67.776892) + (xy 49.393213 67.81346) + (xy 49.391191 67.815408) + (xy 49.353281 67.850584) + (xy 49.353276 67.850589) + (xy 49.349156 67.854413) + (xy 49.346343 67.859283) + (xy 49.344856 67.861149) + (xy 49.339239 67.867434) + (xy 48.851698 68.354976) + (xy 48.827305 68.371276) + (xy 48.798527 68.377) + (xy 48.249188 68.377) + (xy 48.245563 68.37772) + (xy 48.245563 68.377721) + (xy 48.200738 68.386637) + (xy 48.200736 68.386637) + (xy 48.193475 68.388082) + (xy 48.187321 68.392193) + (xy 48.187316 68.392196) + (xy 48.136454 68.426182) + (xy 48.136451 68.426184) + (xy 48.130297 68.430297) + (xy 48.126184 68.436451) + (xy 48.126182 68.436454) + (xy 48.092196 68.487316) + (xy 48.092193 68.487321) + (xy 48.088082 68.493475) + (xy 48.077 68.549188) + (xy 48.077 69.586812) + (xy 47.553915 69.586812) + (xy 47.456602 69.524272) + (xy 47.456599 69.52427) + (xy 47.452081 69.521367) + (xy 47.446925 69.519853) + (xy 47.446923 69.519852) + (xy 47.320447 69.482715) + (xy 47.320442 69.482714) + (xy 47.315285 69.4812) + (xy 47.172715 69.4812) + (xy 47.167558 69.482714) + (xy 47.167552 69.482715) + (xy 47.041079 69.519851) + (xy 47.041073 69.519853) + (xy 47.035919 69.521367) + (xy 47.031394 69.524274) + (xy 47.02936 69.525204) + (xy 46.99812 69.532) + (xy 39.61588 69.532) + (xy 39.58464 69.525204) + (xy 39.582605 69.524274) + (xy 39.578081 69.521367) + (xy 39.572923 69.519852) + (xy 39.57292 69.519851) + (xy 39.446447 69.482715) + (xy 39.446442 69.482714) + (xy 39.441285 69.4812) + (xy 39.298715 69.4812) + (xy 39.293558 69.482714) + (xy 39.293552 69.482715) + (xy 39.167076 69.519852) + (xy 39.167071 69.519854) + (xy 39.161919 69.521367) + (xy 39.157403 69.524269) + (xy 39.157397 69.524272) + (xy 39.046505 69.595539) + (xy 39.046499 69.595543) + (xy 39.041982 69.598447) + (xy 39.038461 69.602509) + (xy 39.03846 69.602511) + (xy 38.95214 69.702128) + (xy 38.952136 69.702133) + (xy 38.948618 69.706194) + (xy 38.946385 69.711082) + (xy 38.946382 69.711088) + (xy 38.891626 69.830987) + (xy 38.891624 69.830993) + (xy 38.889392 69.835881) + (xy 38.888627 69.841195) + (xy 38.888626 69.841202) + (xy 38.873004 69.94986) + (xy 38.869102 69.977) + (xy 38.869867 69.982321) + (xy 38.888626 70.112797) + (xy 38.888627 70.112802) + (xy 38.889392 70.118119) + (xy 38.891625 70.123008) + (xy 38.891626 70.123012) + (xy 38.918204 70.181209) + (xy 38.925 70.212448) + (xy 38.925 73.825527) + (xy 38.919276 73.854305) + (xy 38.902974 73.878701) + (xy 38.887701 73.893974) + (xy 38.863305 73.910276) + (xy 38.834527 73.916) + (xy 38.829917 73.916) + (xy 38.798137 73.908955) + (xy 38.733832 73.87897) + (xy 38.733833 73.87897) + (xy 38.728619 73.876539) + (xy 38.722917 73.875788) + (xy 38.722916 73.875788) + (xy 38.681385 73.87032) + (xy 38.68138 73.870319) + (xy 38.678952 73.87) + (xy 37.424048 73.87) + (xy 37.42162 73.870319) + (xy 37.421614 73.87032) + (xy 37.380083 73.875788) + (xy 37.380081 73.875788) + (xy 37.374381 73.876539) + (xy 37.369174 73.878966) + (xy 37.369167 73.878969) + (xy 37.271354 73.92458) + (xy 37.271352 73.924581) + (xy 37.265393 73.92736) + (xy 37.260743 73.932009) + (xy 37.26074 73.932012) + (xy 37.185012 74.00774) + (xy 37.185009 74.007743) + (xy 37.18036 74.012393) + (xy 37.177581 74.018352) + (xy 37.17758 74.018354) + (xy 37.131969 74.116167) + (xy 37.131966 74.116174) + (xy 37.129539 74.121381) + (xy 37.128788 74.127081) + (xy 37.128788 74.127083) + (xy 37.1255 74.152063) + (xy 37.123 74.171048) + (xy 37.123 74.550952) + (xy 37.123319 74.55338) + (xy 37.12332 74.553385) + (xy 37.128757 74.59468) + (xy 37.129539 74.600619) + (xy 37.131967 74.605827) + (xy 37.131969 74.605832) + (xy 37.167273 74.681541) + (xy 37.18036 74.709607) + (xy 37.265393 74.79464) + (xy 37.326982 74.823359) + (xy 37.369167 74.84303) + (xy 37.369168 74.84303) + (xy 37.374381 74.845461) + (xy 37.424048 74.852) + (xy 38.676495 74.852) + (xy 38.678952 74.852) + (xy 38.728619 74.845461) + (xy 38.798136 74.813045) + (xy 38.829917 74.806) + (xy 39.020793 74.806) + (xy 39.029211 74.806472) + (xy 39.036792 74.807327) + (xy 39.037671 74.807426) + (xy 39.076137 74.823359) + (xy 39.100231 74.857315) + (xy 39.102566 74.898886) + (xy 39.082426 74.935326) + (xy 39.060012 74.95774) + (xy 39.060009 74.957743) + (xy 39.05536 74.962393) + (xy 39.052581 74.968352) + (xy 39.05258 74.968354) + (xy 39.006969 75.066167) + (xy 39.006966 75.066174) + (xy 39.004539 75.071381) + (xy 39.003788 75.077081) + (xy 39.003788 75.077083) + (xy 39.001064 75.097778) + (xy 38.998 75.121048) + (xy 38.998 75.500952) + (xy 38.998319 75.50338) + (xy 38.99832 75.503385) + (xy 39.002017 75.531464) + (xy 39.004539 75.550619) + (xy 39.006967 75.555827) + (xy 39.006969 75.555832) + (xy 39.040929 75.62866) + (xy 39.05536 75.659607) + (xy 39.060012 75.664259) + (xy 39.082232 75.686479) + (xy 39.102947 75.725672) + (xy 39.097984 75.769724) + (xy 39.069068 75.803326) + (xy 39.026248 75.8148) + (xy 39.005245 75.814014) + (xy 39.00524 75.814014) + (xy 38.999614 75.813804) + (xy 38.994173 75.815261) + (xy 38.991819 75.815527) + (xy 38.983401 75.816) + (xy 38.829917 75.816) + (xy 38.798137 75.808955) + (xy 38.733832 75.77897) + (xy 38.733833 75.77897) + (xy 38.728619 75.776539) + (xy 38.722917 75.775788) + (xy 38.722916 75.775788) + (xy 38.681385 75.77032) + (xy 38.68138 75.770319) + (xy 38.678952 75.77) + (xy 37.424048 75.77) + (xy 37.42162 75.770319) + (xy 37.421614 75.77032) + (xy 37.380083 75.775788) + (xy 37.380081 75.775788) + (xy 37.374381 75.776539) + (xy 37.369174 75.778966) + (xy 37.369167 75.778969) + (xy 37.271354 75.82458) + (xy 37.271352 75.824581) + (xy 37.265393 75.82736) + (xy 37.260743 75.832009) + (xy 37.26074 75.832012) + (xy 37.185012 75.90774) + (xy 37.185009 75.907743) + (xy 37.18036 75.912393) + (xy 37.177581 75.918352) + (xy 37.17758 75.918354) + (xy 37.131969 76.016167) + (xy 37.131966 76.016174) + (xy 37.129539 76.021381) + (xy 37.128788 76.027081) + (xy 37.128788 76.027083) + (xy 37.12463 76.058671) + (xy 37.123 76.071048) + (xy 37.123 76.450952) + (xy 36.830501 76.450952) + (xy 36.830501 76.442733) + (xy 36.8305 76.44273) + (xy 36.8305 76.200056) + (xy 36.830507 76.2) + (xy 36.830515 76.2) + (xy 36.830515 76.037274) + (xy 36.798615 75.713388) + (xy 36.735121 75.394189) + (xy 36.640646 75.082751) + (xy 36.516098 74.782072) + (xy 36.362678 74.49505) + (xy 36.181864 74.224448) + (xy 35.975396 73.972872) + (xy 35.956839 73.954316) + (xy 35.904211 73.901689) + (xy 33.725095 71.722572) + (xy 33.705323 71.68767) + (xy 33.706306 71.647571) + (xy 33.758938 71.474072) + (xy 33.779037 71.27) + (xy 33.778347 71.262999) + (xy 33.769677 71.174965) + (xy 33.758938 71.065928) + (xy 33.699412 70.869699) + (xy 33.602748 70.688853) + (xy 33.47266 70.53034) + (xy 33.366308 70.443059) + (xy 33.317006 70.402598) + (xy 33.317003 70.402596) + (xy 33.314147 70.400252) + (xy 33.133301 70.303588) + (xy 33.129774 70.302518) + (xy 33.129769 70.302516) + (xy 32.940603 70.245133) + (xy 32.940601 70.245132) + (xy 32.937072 70.244062) + (xy 32.933401 70.2437) + (xy 32.933399 70.2437) + (xy 32.736676 70.224325) + (xy 32.733 70.223963) + (xy 32.729324 70.224325) + (xy 32.5326 70.2437) + (xy 32.532596 70.2437) + (xy 32.528928 70.244062) + (xy 32.5254 70.245132) + (xy 32.525396 70.245133) + (xy 32.33623 70.302516) + (xy 32.336222 70.302519) + (xy 32.332699 70.303588) + (xy 32.329447 70.305325) + (xy 32.329445 70.305327) + (xy 32.155111 70.39851) + (xy 32.155106 70.398512) + (xy 32.151853 70.400252) + (xy 32.149 70.402593) + (xy 32.148993 70.402598) + (xy 31.996195 70.527996) + (xy 31.996189 70.528001) + (xy 31.99334 70.53034) + (xy 31.991001 70.533189) + (xy 31.990996 70.533195) + (xy 31.865598 70.685993) + (xy 31.865593 70.686) + (xy 31.863252 70.688853) + (xy 31.861512 70.692106) + (xy 31.86151 70.692111) + (xy 31.832322 70.746719) + (xy 31.766588 70.869699) + (xy 31.765519 70.873222) + (xy 31.765516 70.87323) + (xy 31.711506 71.051277) + (xy 31.707062 71.065928) + (xy 31.7067 71.069596) + (xy 31.7067 71.0696) + (xy 31.687325 71.266324) + (xy 31.686963 71.27) + (xy 31.238173 71.27) + (xy 31.238173 71.266325) + (xy 31.218807 71.069701) + (xy 31.217372 71.062491) + (xy 31.16002 70.873426) + (xy 31.157207 70.866634) + (xy 31.06407 70.692386) + (xy 31.059988 70.686278) + (xy 31.019939 70.637477) + (xy 31.013095 70.632741) + (xy 31.005816 70.636787) + (xy 30.379605 71.262999) + (xy 30.375563 71.27) + (xy 30.010436 71.27) + (xy 30.006394 71.262999) + (xy 29.380182 70.636787) + (xy 29.372903 70.632742) + (xy 29.366058 70.637479) + (xy 29.326008 70.686281) + (xy 29.321931 70.692383) + (xy 29.228792 70.866634) + (xy 29.225979 70.873426) + (xy 29.168627 71.062491) + (xy 29.167192 71.069701) + (xy 29.147827 71.266325) + (xy 29.147827 71.273675) + (xy 25 71.273675) + (xy 25 70.449903) + (xy 29.555742 70.449903) + (xy 29.559787 70.457182) + (xy 30.185999 71.083394) + (xy 30.193 71.087436) + (xy 30.2 71.083394) + (xy 30.826211 70.457182) + (xy 30.830257 70.449903) + (xy 30.825521 70.443059) + (xy 30.776722 70.403011) + (xy 30.770613 70.398929) + (xy 30.596365 70.305792) + (xy 30.589573 70.302979) + (xy 30.400508 70.245627) + (xy 30.393298 70.244192) + (xy 30.196675 70.224827) + (xy 30.189325 70.224827) + (xy 29.992701 70.244192) + (xy 29.985491 70.245627) + (xy 29.796426 70.302979) + (xy 29.789634 70.305792) + (xy 29.615383 70.398931) + (xy 29.609281 70.403008) + (xy 29.560479 70.443058) + (xy 29.555742 70.449903) + (xy 25 70.449903) + (xy 25 69.550095) + (xy 29.555741 69.550095) + (xy 29.560477 69.556939) + (xy 29.609278 69.596988) + (xy 29.615386 69.60107) + (xy 29.789634 69.694207) + (xy 29.796426 69.69702) + (xy 29.985491 69.754372) + (xy 29.992701 69.755807) + (xy 30.189325 69.775173) + (xy 30.196675 69.775173) + (xy 30.393298 69.755807) + (xy 30.400508 69.754372) + (xy 30.589573 69.69702) + (xy 30.596365 69.694207) + (xy 30.770613 69.60107) + (xy 30.776721 69.596988) + (xy 30.82552 69.556939) + (xy 30.830257 69.550096) + (xy 30.826211 69.542816) + (xy 30.2 68.916605) + (xy 30.193 68.912563) + (xy 30.185999 68.916605) + (xy 29.559787 69.542816) + (xy 29.555741 69.550095) + (xy 25 69.550095) + (xy 25 68.733675) + (xy 29.147827 68.733675) + (xy 29.167192 68.930298) + (xy 29.168627 68.937508) + (xy 29.225979 69.126573) + (xy 29.228792 69.133365) + (xy 29.321929 69.307613) + (xy 29.326011 69.313722) + (xy 29.366059 69.362521) + (xy 29.372903 69.367257) + (xy 29.380182 69.363211) + (xy 30.006394 68.737) + (xy 30.010436 68.73) + (xy 30.375563 68.73) + (xy 30.379605 68.737) + (xy 31.005816 69.363211) + (xy 31.013096 69.367257) + (xy 31.019939 69.36252) + (xy 31.059988 69.313721) + (xy 31.06407 69.307613) + (xy 31.157207 69.133365) + (xy 31.16002 69.126573) + (xy 31.217372 68.937508) + (xy 31.218807 68.930298) + (xy 31.238173 68.733675) + (xy 31.238173 68.73) + (xy 31.686963 68.73) + (xy 31.687325 68.733675) + (xy 31.687325 68.733676) + (xy 31.705341 68.916605) + (xy 31.707062 68.934072) + (xy 31.708132 68.937601) + (xy 31.708133 68.937603) + (xy 31.765516 69.126769) + (xy 31.765518 69.126774) + (xy 31.766588 69.130301) + (xy 31.863252 69.311147) + (xy 31.865596 69.314003) + (xy 31.865598 69.314006) + (xy 31.9093 69.367257) + (xy 31.99334 69.46966) + (xy 31.996195 69.472003) + (xy 32.128735 69.580776) + (xy 32.151853 69.599748) + (xy 32.332699 69.696412) + (xy 32.528928 69.755938) + (xy 32.715797 69.774342) + (xy 32.724227 69.775173) + (xy 32.733 69.776037) + (xy 32.741773 69.775173) + (xy 32.748539 69.774506) + (xy 32.937072 69.755938) + (xy 33.133301 69.696412) + (xy 33.314147 69.599748) + (xy 33.47266 69.46966) + (xy 33.602748 69.311147) + (xy 33.699412 69.130301) + (xy 33.758938 68.934072) + (xy 33.779037 68.73) + (xy 33.778347 68.722999) + (xy 33.772525 68.663879) + (xy 33.758938 68.525928) + (xy 33.706306 68.352428) + (xy 33.705323 68.312327) + (xy 33.725093 68.277427) + (xy 35.882686 66.119836) + (xy 35.882725 66.119779) + (xy 35.882787 66.119712) + (xy 35.975385 66.027118) + (xy 36.175771 65.782952) + (xy 37.123 65.782952) + (xy 37.123319 65.78538) + (xy 37.12332 65.785385) + (xy 37.127891 65.820104) + (xy 37.129539 65.832619) + (xy 37.131967 65.837827) + (xy 37.131969 65.837832) + (xy 37.166175 65.911187) + (xy 37.18036 65.941607) + (xy 37.265393 66.02664) + (xy 37.320446 66.052311) + (xy 37.369167 66.07503) + (xy 37.369168 66.07503) + (xy 37.374381 66.077461) + (xy 37.424048 66.084) + (xy 37.5313 66.084) + (xy 37.5689 66.094075) + (xy 37.596425 66.1216) + (xy 37.6065 66.1592) + (xy 37.6065 67.994293) + (xy 37.606027 68.002712) + (xy 37.602419 68.034729) + (xy 37.602419 68.034733) + (xy 37.601789 68.040327) + (xy 37.602835 68.04586) + (xy 37.602836 68.045862) + (xy 37.612447 68.09666) + (xy 37.612918 68.099431) + (xy 37.620367 68.148853) + (xy 37.621467 68.156147) + (xy 37.623911 68.161222) + (xy 37.62461 68.163488) + (xy 37.624721 68.163935) + (xy 37.624894 68.164353) + (xy 37.625681 68.166602) + (xy 37.626728 68.172134) + (xy 37.629359 68.177112) + (xy 37.653522 68.222832) + (xy 37.654781 68.225325) + (xy 37.679671 68.277009) + (xy 37.6835 68.281136) + (xy 37.68484 68.283101) + (xy 37.685075 68.283492) + (xy 37.685363 68.283839) + (xy 37.686778 68.285756) + (xy 37.68941 68.290735) + (xy 37.693394 68.294719) + (xy 37.729958 68.331283) + (xy 37.731909 68.333308) + (xy 37.737883 68.339746) + (xy 37.770913 68.375344) + (xy 37.775791 68.37816) + (xy 37.777648 68.379641) + (xy 37.783935 68.38526) + (xy 38.272682 68.874007) + (xy 38.278301 68.880294) + (xy 38.301905 68.909892) + (xy 38.306559 68.913065) + (xy 38.349266 68.942183) + (xy 38.351559 68.94381) + (xy 38.375474 68.96146) + (xy 38.397716 68.977875) + (xy 38.403034 68.979735) + (xy 38.405135 68.980846) + (xy 38.405524 68.981081) + (xy 38.405957 68.98126) + (xy 38.408085 68.982285) + (xy 38.412741 68.985459) + (xy 38.467533 69.00236) + (xy 38.470184 69.003232) + (xy 38.519015 69.02032) + (xy 38.519018 69.02032) + (xy 38.524335 69.022181) + (xy 38.529964 69.022391) + (xy 38.532293 69.022832) + (xy 38.532737 69.022942) + (xy 38.533205 69.022986) + (xy 38.535538 69.023337) + (xy 38.540927 69.025) + (xy 38.598293 69.025) + (xy 38.601103 69.025052) + (xy 38.658386 69.027196) + (xy 38.663827 69.025738) + (xy 38.666181 69.025473) + (xy 38.674599 69.025) + (xy 40.26712 69.025) + (xy 40.29836 69.031796) + (xy 40.300394 69.032724) + (xy 40.304919 69.035633) + (xy 40.441715 69.0758) + (xy 40.578904 69.0758) + (xy 40.584285 69.0758) + (xy 40.721081 69.035633) + (xy 40.841018 68.958553) + (xy 40.934382 68.850806) + (xy 40.993608 68.721119) + (xy 41.011981 68.593332) + (xy 41.013133 68.585321) + (xy 41.013898 68.58) + (xy 40.993608 68.438881) + (xy 40.934382 68.309194) + (xy 40.841018 68.201447) + (xy 40.836496 68.198541) + (xy 40.836494 68.198539) + (xy 40.725602 68.127272) + (xy 40.725599 68.12727) + (xy 40.721081 68.124367) + (xy 40.715925 68.122853) + (xy 40.715923 68.122852) + (xy 40.589447 68.085715) + (xy 40.589442 68.085714) + (xy 40.584285 68.0842) + (xy 40.441715 68.0842) + (xy 40.436558 68.085714) + (xy 40.436552 68.085715) + (xy 40.310079 68.122851) + (xy 40.310073 68.122853) + (xy 40.304919 68.124367) + (xy 40.300394 68.127274) + (xy 40.29836 68.128204) + (xy 40.26712 68.135) + (xy 38.823473 68.135) + (xy 38.794695 68.129276) + (xy 38.770299 68.112974) + (xy 38.518526 67.861201) + (xy 38.502224 67.836805) + (xy 38.4965 67.808027) + (xy 38.4965 66.1592) + (xy 38.506575 66.1216) + (xy 38.5341 66.094075) + (xy 38.5717 66.084) + (xy 38.676495 66.084) + (xy 38.678952 66.084) + (xy 38.728619 66.077461) + (xy 38.837607 66.02664) + (xy 38.92264 65.941607) + (xy 38.973461 65.832619) + (xy 38.98 65.782952) + (xy 38.98 65.403048) + (xy 38.973461 65.353381) + (xy 38.967096 65.339732) + (xy 38.955435 65.314724) + (xy 38.92264 65.244393) + (xy 38.837607 65.15936) + (xy 38.819012 65.150689) + (xy 38.733832 65.110969) + (xy 38.733827 65.110967) + (xy 38.728619 65.108539) + (xy 38.722917 65.107788) + (xy 38.722916 65.107788) + (xy 38.681385 65.10232) + (xy 38.68138 65.102319) + (xy 38.678952 65.102) + (xy 37.424048 65.102) + (xy 37.42162 65.102319) + (xy 37.421614 65.10232) + (xy 37.380083 65.107788) + (xy 37.380081 65.107788) + (xy 37.374381 65.108539) + (xy 37.369174 65.110966) + (xy 37.369167 65.110969) + (xy 37.271354 65.15658) + (xy 37.271352 65.156581) + (xy 37.265393 65.15936) + (xy 37.260743 65.164009) + (xy 37.26074 65.164012) + (xy 37.185012 65.23974) + (xy 37.185009 65.239743) + (xy 37.18036 65.244393) + (xy 37.177581 65.250352) + (xy 37.17758 65.250354) + (xy 37.131969 65.348167) + (xy 37.131966 65.348174) + (xy 37.129539 65.353381) + (xy 37.128788 65.359081) + (xy 37.128788 65.359083) + (xy 37.124786 65.389485) + (xy 37.123 65.403048) + (xy 37.123 65.782952) + (xy 36.175771 65.782952) + (xy 36.181852 65.775543) + (xy 36.362666 65.504942) + (xy 36.516085 65.217921) + (xy 36.640631 64.917244) + (xy 36.735106 64.605807) + (xy 36.7986 64.28661) + (xy 36.8305 63.962726) + (xy 36.8305 63.882952) + (xy 37.123 63.882952) + (xy 37.123319 63.88538) + (xy 37.12332 63.885385) + (xy 37.126228 63.907474) + (xy 37.129539 63.932619) + (xy 37.131967 63.937827) + (xy 37.131969 63.937832) + (xy 37.1663 64.011454) + (xy 37.18036 64.041607) + (xy 37.265393 64.12664) + (xy 37.326982 64.155359) + (xy 37.369167 64.17503) + (xy 37.369168 64.17503) + (xy 37.374381 64.177461) + (xy 37.424048 64.184) + (xy 38.676495 64.184) + (xy 38.678952 64.184) + (xy 38.728619 64.177461) + (xy 38.798136 64.145045) + (xy 38.829917 64.138) + (xy 39.020793 64.138) + (xy 39.029211 64.138472) + (xy 39.036792 64.139327) + (xy 39.037671 64.139426) + (xy 39.076137 64.155359) + (xy 39.100231 64.189315) + (xy 39.102566 64.230886) + (xy 39.082426 64.267326) + (xy 39.060012 64.28974) + (xy 39.060009 64.289743) + (xy 39.05536 64.294393) + (xy 39.052581 64.300352) + (xy 39.05258 64.300354) + (xy 39.006969 64.398167) + (xy 39.006966 64.398174) + (xy 39.004539 64.403381) + (xy 39.003788 64.409081) + (xy 39.003788 64.409083) + (xy 38.999268 64.443418) + (xy 38.998 64.453048) + (xy 38.998 64.832952) + (xy 38.998319 64.83538) + (xy 38.99832 64.835385) + (xy 39.003788 64.876916) + (xy 39.004539 64.882619) + (xy 39.006967 64.887827) + (xy 39.006969 64.887832) + (xy 39.044919 64.969216) + (xy 39.05536 64.991607) + (xy 39.140393 65.07664) + (xy 39.207191 65.107788) + (xy 39.244167 65.12503) + (xy 39.244168 65.12503) + (xy 39.249381 65.127461) + (xy 39.299048 65.134) + (xy 40.551495 65.134) + (xy 40.553952 65.134) + (xy 40.603619 65.127461) + (xy 40.673136 65.095045) + (xy 40.704917 65.088) + (xy 40.962391 65.088) + (xy 40.979123 65.089885) + (xy 40.98737 65.091768) + (xy 41.034846 65.08821) + (xy 41.040467 65.088) + (xy 41.502706 65.088) + (xy 41.541997 65.099081) + (xy 41.569709 65.129059) + (xy 41.57804 65.145409) + (xy 41.578042 65.145412) + (xy 41.580731 65.150689) + (xy 41.668311 65.238269) + (xy 41.778668 65.294499) + (xy 41.784513 65.295424) + (xy 41.784514 65.295425) + (xy 41.79573 65.297201) + (xy 41.870226 65.309) + (xy 42.32882 65.309) + (xy 42.331774 65.309) + (xy 42.363872 65.303916) + (xy 42.409776 65.311186) + (xy 42.44264 65.34405) + (xy 42.44991 65.389954) + (xy 42.42881 65.431364) + (xy 42.000201 65.859974) + (xy 41.975805 65.876276) + (xy 41.947027 65.882) + (xy 41.870226 65.882) + (xy 41.86731 65.882461) + (xy 41.867307 65.882462) + (xy 41.784514 65.895574) + (xy 41.784507 65.895576) + (xy 41.778668 65.896501) + (xy 41.7734 65.899184) + (xy 41.773394 65.899187) + (xy 41.673587 65.950042) + (xy 41.673583 65.950044) + (xy 41.668311 65.952731) + (xy 41.664124 65.956917) + (xy 41.664121 65.95692) + (xy 41.58492 66.036121) + (xy 41.584917 66.036124) + (xy 41.580731 66.040311) + (xy 41.578044 66.045583) + (xy 41.578042 66.045587) + (xy 41.527187 66.145394) + (xy 41.527184 66.1454) + (xy 41.524501 66.150668) + (xy 41.523576 66.156507) + (xy 41.523574 66.156514) + (xy 41.510462 66.239307) + (xy 41.51 66.242226) + (xy 41.51 66.853774) + (xy 41.510461 66.85669) + (xy 41.510462 66.856692) + (xy 41.523574 66.939485) + (xy 41.523575 66.93949) + (xy 41.524501 66.945332) + (xy 41.527185 66.9506) + (xy 41.527187 66.950605) + (xy 41.578042 67.050412) + (xy 41.580731 67.055689) + (xy 41.584919 67.059877) + (xy 41.58492 67.059878) + (xy 41.633974 67.108932) + (xy 41.650276 67.133328) + (xy 41.656 67.162106) + (xy 41.656 67.584894) + (xy 41.650276 67.613672) + (xy 41.633974 67.638068) + (xy 41.58492 67.687121) + (xy 41.584917 67.687124) + (xy 41.580731 67.691311) + (xy 41.578044 67.696583) + (xy 41.578042 67.696587) + (xy 41.527187 67.796394) + (xy 41.527184 67.7964) + (xy 41.524501 67.801668) + (xy 41.523576 67.807507) + (xy 41.523574 67.807514) + (xy 41.511461 67.884) + (xy 41.51 67.893226) + (xy 41.51 68.504774) + (xy 41.510461 68.50769) + (xy 41.510462 68.507692) + (xy 41.523574 68.590485) + (xy 41.523575 68.59049) + (xy 41.524501 68.596332) + (xy 41.527185 68.6016) + (xy 41.527187 68.601605) + (xy 41.564355 68.67455) + (xy 41.580731 68.706689) + (xy 41.668311 68.794269) + (xy 41.697636 68.809211) + (xy 41.769663 68.845911) + (xy 41.778668 68.850499) + (xy 41.784513 68.851424) + (xy 41.784514 68.851425) + (xy 41.79573 68.853201) + (xy 41.870226 68.865) + (xy 42.32882 68.865) + (xy 42.331774 68.865) + (xy 42.423332 68.850499) + (xy 42.533689 68.794269) + (xy 42.621269 68.706689) + (xy 42.677499 68.596332) + (xy 42.692 68.504774) + (xy 42.692 67.893226) + (xy 42.677499 67.801668) + (xy 42.660519 67.768344) + (xy 42.628563 67.705627) + (xy 42.621269 67.691311) + (xy 42.568026 67.638068) + (xy 42.551724 67.613672) + (xy 42.546 67.584894) + (xy 42.546 67.162106) + (xy 42.551724 67.133328) + (xy 42.568026 67.108932) + (xy 42.590146 67.086812) + (xy 42.621269 67.055689) + (xy 42.677499 66.945332) + (xy 42.692 66.853774) + (xy 42.692 66.457973) + (xy 42.697724 66.429195) + (xy 42.714022 66.404802) + (xy 43.053772 66.065052) + (xy 43.098104 66.043549) + (xy 43.146234 66.054109) + (xy 43.177495 66.092198) + (xy 43.178465 66.141463) + (xy 43.177188 66.145394) + (xy 43.174501 66.150668) + (xy 43.173575 66.156509) + (xy 43.173574 66.156515) + (xy 43.164876 66.211439) + (xy 43.16 66.242226) + (xy 43.16 66.853774) + (xy 43.160461 66.85669) + (xy 43.160462 66.856692) + (xy 43.173574 66.939485) + (xy 43.173575 66.93949) + (xy 43.174501 66.945332) + (xy 43.177185 66.9506) + (xy 43.177187 66.950605) + (xy 43.228042 67.050412) + (xy 43.230731 67.055689) + (xy 43.234919 67.059877) + (xy 43.23492 67.059878) + (xy 43.283974 67.108932) + (xy 43.300276 67.133328) + (xy 43.306 67.162106) + (xy 43.306 67.584894) + (xy 43.300276 67.613672) + (xy 43.283974 67.638068) + (xy 43.23492 67.687121) + (xy 43.234917 67.687124) + (xy 43.230731 67.691311) + (xy 43.228044 67.696583) + (xy 43.228042 67.696587) + (xy 43.177187 67.796394) + (xy 43.177184 67.7964) + (xy 43.174501 67.801668) + (xy 43.173576 67.807507) + (xy 43.173574 67.807514) + (xy 43.161461 67.884) + (xy 43.16 67.893226) + (xy 43.16 68.504774) + (xy 43.160461 68.50769) + (xy 43.160462 68.507692) + (xy 43.173574 68.590485) + (xy 43.173575 68.59049) + (xy 43.174501 68.596332) + (xy 43.177185 68.6016) + (xy 43.177187 68.601605) + (xy 43.214355 68.67455) + (xy 43.230731 68.706689) + (xy 43.318311 68.794269) + (xy 43.347636 68.809211) + (xy 43.419663 68.845911) + (xy 43.428668 68.850499) + (xy 43.434513 68.851424) + (xy 43.434514 68.851425) + (xy 43.44573 68.853201) + (xy 43.520226 68.865) + (xy 43.97882 68.865) + (xy 43.981774 68.865) + (xy 44.073332 68.850499) + (xy 44.183689 68.794269) + (xy 44.271269 68.706689) + (xy 44.327499 68.596332) + (xy 44.342 68.504774) + (xy 44.342 67.893226) + (xy 44.327499 67.801668) + (xy 44.310519 67.768344) + (xy 44.278563 67.705627) + (xy 44.271269 67.691311) + (xy 44.218026 67.638068) + (xy 44.201724 67.613672) + (xy 44.196 67.584894) + (xy 44.196 67.162106) + (xy 44.201724 67.133328) + (xy 44.218026 67.108932) + (xy 44.240146 67.086812) + (xy 44.271269 67.055689) + (xy 44.276397 67.045625) + (xy 44.282291 67.034059) + (xy 44.310003 67.004081) + (xy 44.349294 66.993) + (xy 44.677706 66.993) + (xy 44.716997 67.004081) + (xy 44.744709 67.034059) + (xy 44.75304 67.050409) + (xy 44.753042 67.050412) + (xy 44.755731 67.055689) + (xy 44.75992 67.059878) + (xy 44.808974 67.108932) + (xy 44.825276 67.133328) + (xy 44.831 67.162106) + (xy 44.831 67.584894) + (xy 44.825276 67.613672) + (xy 44.808974 67.638068) + (xy 44.75992 67.687121) + (xy 44.759917 67.687124) + (xy 44.755731 67.691311) + (xy 44.753044 67.696583) + (xy 44.753042 67.696587) + (xy 44.702187 67.796394) + (xy 44.702184 67.7964) + (xy 44.699501 67.801668) + (xy 44.698576 67.807507) + (xy 44.698574 67.807514) + (xy 44.686461 67.884) + (xy 44.685 67.893226) + (xy 44.685 68.504774) + (xy 44.685461 68.50769) + (xy 44.685462 68.507692) + (xy 44.698574 68.590485) + (xy 44.698575 68.59049) + (xy 44.699501 68.596332) + (xy 44.702185 68.6016) + (xy 44.702187 68.601605) + (xy 44.739355 68.67455) + (xy 44.755731 68.706689) + (xy 44.843311 68.794269) + (xy 44.872636 68.809211) + (xy 44.944663 68.845911) + (xy 44.953668 68.850499) + (xy 44.959513 68.851424) + (xy 44.959514 68.851425) + (xy 44.97073 68.853201) + (xy 45.045226 68.865) + (xy 45.50382 68.865) + (xy 45.506774 68.865) + (xy 45.598332 68.850499) + (xy 45.708689 68.794269) + (xy 45.796269 68.706689) + (xy 45.852499 68.596332) + (xy 45.867 68.504774) + (xy 45.867 67.893226) + (xy 45.852499 67.801668) + (xy 45.835519 67.768344) + (xy 45.803563 67.705627) + (xy 45.796269 67.691311) + (xy 45.743026 67.638068) + (xy 45.726724 67.613672) + (xy 45.721 67.584894) + (xy 45.721 67.162106) + (xy 45.726724 67.133328) + (xy 45.743026 67.108932) + (xy 45.765146 67.086812) + (xy 45.796269 67.055689) + (xy 45.852499 66.945332) + (xy 45.867 66.853774) + (xy 45.867 66.242226) + (xy 45.852499 66.150668) + (xy 45.838401 66.123) + (xy 45.80729 66.061941) + (xy 45.796269 66.040311) + (xy 45.708689 65.952731) + (xy 45.703412 65.950042) + (xy 45.603605 65.899187) + (xy 45.6036 65.899185) + (xy 45.598332 65.896501) + (xy 45.59249 65.895575) + (xy 45.592485 65.895574) + (xy 45.509692 65.882462) + (xy 45.50969 65.882461) + (xy 45.506774 65.882) + (xy 45.045226 65.882) + (xy 45.04231 65.882461) + (xy 45.042307 65.882462) + (xy 44.959514 65.895574) + (xy 44.959507 65.895576) + (xy 44.953668 65.896501) + (xy 44.9484 65.899184) + (xy 44.948394 65.899187) + (xy 44.848587 65.950042) + (xy 44.848583 65.950044) + (xy 44.843311 65.952731) + (xy 44.839124 65.956917) + (xy 44.839121 65.95692) + (xy 44.75992 66.036121) + (xy 44.759917 66.036124) + (xy 44.755731 66.040311) + (xy 44.753043 66.045584) + (xy 44.75304 66.04559) + (xy 44.744709 66.061941) + (xy 44.716997 66.091919) + (xy 44.677706 66.103) + (xy 44.349294 66.103) + (xy 44.310003 66.091919) + (xy 44.282291 66.061941) + (xy 44.273959 66.04559) + (xy 44.273957 66.045587) + (xy 44.271269 66.040311) + (xy 44.183689 65.952731) + (xy 44.178412 65.950042) + (xy 44.078605 65.899187) + (xy 44.0786 65.899185) + (xy 44.073332 65.896501) + (xy 44.06749 65.895575) + (xy 44.067485 65.895574) + (xy 43.984692 65.882462) + (xy 43.98469 65.882461) + (xy 43.981774 65.882) + (xy 43.520226 65.882) + (xy 43.51731 65.882461) + (xy 43.517307 65.882462) + (xy 43.434515 65.895574) + (xy 43.434509 65.895575) + (xy 43.428668 65.896501) + (xy 43.423397 65.899186) + (xy 43.419463 65.900465) + (xy 43.370198 65.899495) + (xy 43.332109 65.868234) + (xy 43.321549 65.820104) + (xy 43.343053 65.775771) + (xy 43.787799 65.331025) + (xy 43.812195 65.314724) + (xy 43.840973 65.309) + (xy 43.97882 65.309) + (xy 43.981774 65.309) + (xy 44.073332 65.294499) + (xy 44.183689 65.238269) + (xy 44.271269 65.150689) + (xy 44.280435 65.132698) + (xy 44.306954 65.103465) + (xy 44.339912 65.093164) + (xy 44.339827 65.092711) + (xy 44.370261 65.086952) + (xy 45.381 65.086952) + (xy 45.381319 65.08938) + (xy 45.38132 65.089385) + (xy 45.386333 65.127461) + (xy 45.387539 65.136619) + (xy 45.389967 65.141827) + (xy 45.389969 65.141832) + (xy 45.431546 65.230993) + (xy 45.43836 65.245607) + (xy 45.523393 65.33064) + (xy 45.592915 65.363058) + (xy 45.627167 65.37903) + (xy 45.627168 65.37903) + (xy 45.632381 65.381461) + (xy 45.682048 65.388) + (xy 47.409495 65.388) + (xy 47.411952 65.388) + (xy 47.461619 65.381461) + (xy 47.531136 65.349045) + (xy 47.562917 65.342) + (xy 48.171527 65.342) + (xy 48.200305 65.347724) + (xy 48.224701 65.364026) + (xy 48.300974 65.440299) + (xy 48.317276 65.464695) + (xy 48.323 65.493473) + (xy 48.323 65.801937) + (xy 48.31412 65.837386) + (xy 48.289578 65.864464) + (xy 48.255169 65.876775) + (xy 48.252882 65.877) + (xy 48.249188 65.877) + (xy 48.245572 65.877719) + (xy 48.245564 65.87772) + (xy 48.200738 65.886637) + (xy 48.200736 65.886637) + (xy 48.193475 65.888082) + (xy 48.187321 65.892193) + (xy 48.187316 65.892196) + (xy 48.136454 65.926182) + (xy 48.136451 65.926184) + (xy 48.130297 65.930297) + (xy 48.126184 65.936451) + (xy 48.126182 65.936454) + (xy 48.092196 65.987316) + (xy 48.092193 65.987321) + (xy 48.088082 65.993475) + (xy 48.086637 66.000736) + (xy 48.086637 66.000738) + (xy 48.07772 66.045564) + (xy 48.077719 66.045572) + (xy 48.077 66.049188) + (xy 48.077 66.052882) + (xy 48.076775 66.055169) + (xy 48.064464 66.089578) + (xy 48.037386 66.11412) + (xy 48.001937 66.123) + (xy 47.534484 66.123) + (xy 47.495192 66.111919) + (xy 47.46748 66.08194) + (xy 47.45729 66.061941) + (xy 47.446269 66.040311) + (xy 47.358689 65.952731) + (xy 47.353412 65.950042) + (xy 47.253605 65.899187) + (xy 47.2536 65.899185) + (xy 47.248332 65.896501) + (xy 47.24249 65.895575) + (xy 47.242485 65.895574) + (xy 47.159692 65.882462) + (xy 47.15969 65.882461) + (xy 47.156774 65.882) + (xy 46.695226 65.882) + (xy 46.69231 65.882461) + (xy 46.692307 65.882462) + (xy 46.609514 65.895574) + (xy 46.609507 65.895576) + (xy 46.603668 65.896501) + (xy 46.5984 65.899184) + (xy 46.598394 65.899187) + (xy 46.498587 65.950042) + (xy 46.498583 65.950044) + (xy 46.493311 65.952731) + (xy 46.489124 65.956917) + (xy 46.489121 65.95692) + (xy 46.40992 66.036121) + (xy 46.409917 66.036124) + (xy 46.405731 66.040311) + (xy 46.403044 66.045583) + (xy 46.403042 66.045587) + (xy 46.352187 66.145394) + (xy 46.352184 66.1454) + (xy 46.349501 66.150668) + (xy 46.348576 66.156507) + (xy 46.348574 66.156514) + (xy 46.335462 66.239307) + (xy 46.335 66.242226) + (xy 46.335 66.853774) + (xy 46.335461 66.85669) + (xy 46.335462 66.856692) + (xy 46.348574 66.939485) + (xy 46.348575 66.93949) + (xy 46.349501 66.945332) + (xy 46.352185 66.9506) + (xy 46.352187 66.950605) + (xy 46.403042 67.050412) + (xy 46.405731 67.055689) + (xy 46.409919 67.059877) + (xy 46.40992 67.059878) + (xy 46.458974 67.108932) + (xy 46.475276 67.133328) + (xy 46.481 67.162106) + (xy 46.481 67.584894) + (xy 46.475276 67.613672) + (xy 46.458974 67.638068) + (xy 46.40992 67.687121) + (xy 46.409917 67.687124) + (xy 46.405731 67.691311) + (xy 46.403044 67.696583) + (xy 46.403042 67.696587) + (xy 46.352187 67.796394) + (xy 46.352184 67.7964) + (xy 46.349501 67.801668) + (xy 46.348576 67.807507) + (xy 46.348574 67.807514) + (xy 46.336461 67.884) + (xy 46.335 67.893226) + (xy 46.335 68.504774) + (xy 46.335461 68.50769) + (xy 46.335462 68.507692) + (xy 46.348574 68.590485) + (xy 46.348575 68.59049) + (xy 46.349501 68.596332) + (xy 46.352185 68.6016) + (xy 46.352187 68.601605) + (xy 46.389355 68.67455) + (xy 46.405731 68.706689) + (xy 46.493311 68.794269) + (xy 46.522636 68.809211) + (xy 46.594663 68.845911) + (xy 46.603668 68.850499) + (xy 46.609513 68.851424) + (xy 46.609514 68.851425) + (xy 46.62073 68.853201) + (xy 46.695226 68.865) + (xy 47.15382 68.865) + (xy 47.156774 68.865) + (xy 47.248332 68.850499) + (xy 47.358689 68.794269) + (xy 47.446269 68.706689) + (xy 47.502499 68.596332) + (xy 47.517 68.504774) + (xy 47.517 67.893226) + (xy 47.502499 67.801668) + (xy 47.485519 67.768344) + (xy 47.453563 67.705627) + (xy 47.446269 67.691311) + (xy 47.393026 67.638068) + (xy 47.376724 67.613672) + (xy 47.371 67.584894) + (xy 47.371 67.162106) + (xy 47.376724 67.133328) + (xy 47.393026 67.108932) + (xy 47.415146 67.086812) + (xy 47.446269 67.055689) + (xy 47.448958 67.05041) + (xy 47.452436 67.045625) + (xy 47.453907 67.046694) + (xy 47.474811 67.024082) + (xy 47.514103 67.013) + (xy 48.001937 67.013) + (xy 48.037386 67.02188) + (xy 48.064464 67.046422) + (xy 48.076775 67.080831) + (xy 48.077 67.083116) + (xy 48.077 67.086812) + (xy 48.077719 67.090428) + (xy 48.07772 67.090435) + (xy 48.086427 67.134205) + (xy 48.088082 67.142525) + (xy 48.092194 67.14868) + (xy 48.092196 67.148683) + (xy 48.126182 67.199545) + (xy 48.130297 67.205703) + (xy 48.136454 67.209817) + (xy 48.187316 67.243803) + (xy 48.187317 67.243803) + (xy 48.193475 67.247918) + (xy 48.249188 67.259) + (xy 49.283116 67.259) + (xy 49.286812 67.259) + (xy 49.342525 67.247918) + (xy 49.405703 67.205703) + (xy 49.447918 67.142525) + (xy 49.459 67.086812) + (xy 49.459 66.081873) + (xy 49.471673 66.040094) + (xy 49.505422 66.012397) + (xy 49.548871 66.008118) + (xy 49.587374 66.028699) + (xy 49.984974 66.426299) + (xy 50.001276 66.450695) + (xy 50.007 66.479473) + (xy 50.007 66.715774) + (xy 50.007461 66.71869) + (xy 50.007462 66.718692) + (xy 50.020574 66.801485) + (xy 50.020575 66.80149) + (xy 50.021501 66.807332) + (xy 50.024185 66.8126) + (xy 50.024187 66.812605) + (xy 50.075042 66.912412) + (xy 50.077731 66.917689) + (xy 50.165311 67.005269) + (xy 50.221814 67.034059) + (xy 50.266814 67.056988) + (xy 50.275668 67.061499) + (xy 50.281513 67.062424) + (xy 50.281514 67.062425) + (xy 50.29273 67.064201) + (xy 50.367226 67.076) + (xy 50.97582 67.076) + (xy 50.978774 67.076) + (xy 51.070332 67.061499) + (xy 51.180689 67.005269) + (xy 51.233932 66.952025) + (xy 51.258328 66.935724) + (xy 51.287106 66.93) + (xy 51.647649 66.93) + (xy 51.686941 66.941081) + (xy 51.714652 66.97106) + (xy 51.730561 67.002284) + (xy 51.730566 67.002291) + (xy 51.733254 67.007566) + (xy 51.826434 67.100746) + (xy 51.877389 67.126709) + (xy 51.936877 67.15702) + (xy 51.943847 67.160571) + (xy 51.949692 67.161496) + (xy 51.949693 67.161497) + (xy 51.960571 67.163219) + (xy 52.041263 67.176) + (xy 52.606736 67.175999) + (xy 52.704153 67.160571) + (xy 52.821566 67.100746) + (xy 52.914746 67.007566) + (xy 52.917435 67.002287) + (xy 52.917438 67.002284) + (xy 52.933348 66.97106) + (xy 52.961059 66.941081) + (xy 53.000351 66.93) + (xy 53.360894 66.93) + (xy 53.389672 66.935724) + (xy 53.414068 66.952026) + (xy 53.467311 67.005269) + (xy 53.523814 67.034059) + (xy 53.568814 67.056988) + (xy 53.577668 67.061499) + (xy 53.583513 67.062424) + (xy 53.583514 67.062425) + (xy 53.59473 67.064201) + (xy 53.669226 67.076) + (xy 54.27782 67.076) + (xy 54.280774 67.076) + (xy 54.372332 67.061499) + (xy 54.482689 67.005269) + (xy 54.570269 66.917689) + (xy 54.626499 66.807332) + (xy 54.641 66.715774) + (xy 54.641 66.254226) + (xy 54.62788 66.171385) + (xy 54.627425 66.168514) + (xy 54.627424 66.168513) + (xy 54.626499 66.162668) + (xy 54.623363 66.156514) + (xy 54.591549 66.094075) + (xy 54.570269 66.052311) + (xy 54.482689 65.964731) + (xy 54.473139 65.959865) + (xy 54.377605 65.911187) + (xy 54.3776 65.911185) + (xy 54.372332 65.908501) + (xy 54.36649 65.907575) + (xy 54.366485 65.907574) + (xy 54.283692 65.894462) + (xy 54.28369 65.894461) + (xy 54.280774 65.894) + (xy 53.669226 65.894) + (xy 53.66631 65.894461) + (xy 53.666307 65.894462) + (xy 53.583514 65.907574) + (xy 53.583507 65.907576) + (xy 53.577668 65.908501) + (xy 53.5724 65.911184) + (xy 53.572394 65.911187) + (xy 53.472587 65.962042) + (xy 53.472583 65.962044) + (xy 53.467311 65.964731) + (xy 53.463124 65.968917) + (xy 53.463121 65.96892) + (xy 53.414068 66.017974) + (xy 53.389672 66.034276) + (xy 53.360894 66.04) + (xy 52.92346 66.04) + (xy 52.894682 66.034276) + (xy 52.870286 66.017974) + (xy 52.825755 65.973443) + (xy 52.821566 65.969254) + (xy 52.816289 65.966565) + (xy 52.709426 65.912115) + (xy 52.709422 65.912113) + (xy 52.704153 65.909429) + (xy 52.698311 65.908503) + (xy 52.698306 65.908502) + (xy 52.609655 65.894462) + (xy 52.609652 65.894461) + (xy 52.606737 65.894) + (xy 52.603783 65.894) + (xy 52.044218 65.894) + (xy 52.044205 65.894) + (xy 52.041264 65.894001) + (xy 52.03835 65.894462) + (xy 52.038343 65.894463) + (xy 51.949692 65.908503) + (xy 51.94969 65.908503) + (xy 51.943847 65.909429) + (xy 51.938577 65.912113) + (xy 51.938574 65.912115) + (xy 51.83171 65.966565) + (xy 51.831706 65.966567) + (xy 51.826434 65.969254) + (xy 51.822247 65.97344) + (xy 51.822244 65.973443) + (xy 51.777714 66.017974) + (xy 51.753318 66.034276) + (xy 51.72454 66.04) + (xy 51.287106 66.04) + (xy 51.258328 66.034276) + (xy 51.233932 66.017974) + (xy 51.184878 65.96892) + (xy 51.184877 65.968919) + (xy 51.180689 65.964731) + (xy 51.171139 65.959865) + (xy 51.075605 65.911187) + (xy 51.0756 65.911185) + (xy 51.070332 65.908501) + (xy 51.06449 65.907575) + (xy 51.064485 65.907574) + (xy 50.981692 65.894462) + (xy 50.98169 65.894461) + (xy 50.978774 65.894) + (xy 50.97582 65.894) + (xy 50.742473 65.894) + (xy 50.713695 65.888276) + (xy 50.689299 65.871974) + (xy 50.124026 65.306701) + (xy 50.107724 65.282305) + (xy 50.102 65.253527) + (xy 50.102 65.086952) + (xy 50.331 65.086952) + (xy 50.331319 65.08938) + (xy 50.33132 65.089385) + (xy 50.336333 65.127461) + (xy 50.337539 65.136619) + (xy 50.339967 65.141827) + (xy 50.339969 65.141832) + (xy 50.381546 65.230993) + (xy 50.38836 65.245607) + (xy 50.473393 65.33064) + (xy 50.542915 65.363058) + (xy 50.577167 65.37903) + (xy 50.577168 65.37903) + (xy 50.582381 65.381461) + (xy 50.632048 65.388) + (xy 52.359495 65.388) + (xy 52.361952 65.388) + (xy 52.411619 65.381461) + (xy 52.481136 65.349045) + (xy 52.512917 65.342) + (xy 52.675793 65.342) + (xy 52.684212 65.342473) + (xy 52.721827 65.346711) + (xy 52.778177 65.336048) + (xy 52.780933 65.33558) + (xy 52.837647 65.327033) + (xy 52.842731 65.324583) + (xy 52.844984 65.323889) + (xy 52.845436 65.323777) + (xy 52.845878 65.323594) + (xy 52.848087 65.32282) + (xy 52.853634 65.321772) + (xy 52.904348 65.294967) + (xy 52.906825 65.293718) + (xy 52.958509 65.268829) + (xy 52.962641 65.264993) + (xy 52.964594 65.263663) + (xy 52.964991 65.263423) + (xy 52.965355 65.263122) + (xy 52.967246 65.261726) + (xy 52.972235 65.25909) + (xy 52.977346 65.253977) + (xy 52.978797 65.253202) + (xy 52.980759 65.251755) + (xy 52.98097 65.25204) + (xy 53.015849 65.233394) + (xy 53.0593 65.237671) + (xy 53.093051 65.265369) + (xy 53.096996 65.271274) + (xy 53.103297 65.280703) + (xy 53.109454 65.284817) + (xy 53.160316 65.318803) + (xy 53.160317 65.318803) + (xy 53.166475 65.322918) + (xy 53.222188 65.334) + (xy 54.256116 65.334) + (xy 54.259812 65.334) + (xy 54.315525 65.322918) + (xy 54.378703 65.280703) + (xy 54.420918 65.217525) + (xy 54.432 65.161812) + (xy 54.432 64.124188) + (xy 54.420918 64.068475) + (xy 54.415283 64.060042) + (xy 54.382817 64.011454) + (xy 54.378703 64.005297) + (xy 54.370831 64.000037) + (xy 54.321683 63.967196) + (xy 54.32168 63.967194) + (xy 54.315525 63.963082) + (xy 54.308261 63.961637) + (xy 54.289602 63.957925) + (xy 54.259812 63.952) + (xy 53.222188 63.952) + (xy 53.218563 63.95272) + (xy 53.218563 63.952721) + (xy 53.173738 63.961637) + (xy 53.173736 63.961637) + (xy 53.166475 63.963082) + (xy 53.160321 63.967193) + (xy 53.160316 63.967196) + (xy 53.109454 64.001182) + (xy 53.109451 64.001184) + (xy 53.103297 64.005297) + (xy 53.099184 64.011451) + (xy 53.099182 64.011454) + (xy 53.065196 64.062316) + (xy 53.065193 64.062321) + (xy 53.061082 64.068475) + (xy 53.059637 64.075736) + (xy 53.059637 64.075738) + (xy 53.050721 64.120562) + (xy 53.05 64.124188) + (xy 53.05 64.127882) + (xy 53.04992 64.128694) + (xy 53.036002 64.16541) + (xy 53.005476 64.190105) + (xy 52.966663 64.196048) + (xy 52.947771 64.193919) + (xy 52.947766 64.193919) + (xy 52.942173 64.193289) + (xy 52.936639 64.194335) + (xy 52.936636 64.194336) + (xy 52.885837 64.203947) + (xy 52.883067 64.204418) + (xy 52.831924 64.212127) + (xy 52.831922 64.212127) + (xy 52.826353 64.212967) + (xy 52.821279 64.215409) + (xy 52.818993 64.216115) + (xy 52.818563 64.216221) + (xy 52.818138 64.216398) + (xy 52.815901 64.21718) + (xy 52.810366 64.218228) + (xy 52.805391 64.220857) + (xy 52.805383 64.22086) + (xy 52.759653 64.245028) + (xy 52.757147 64.246293) + (xy 52.710565 64.268727) + (xy 52.710562 64.268728) + (xy 52.705491 64.271171) + (xy 52.701363 64.274999) + (xy 52.699392 64.276344) + (xy 52.699007 64.276575) + (xy 52.69867 64.276855) + (xy 52.696738 64.27828) + (xy 52.691765 64.28091) + (xy 52.687785 64.284889) + (xy 52.687782 64.284892) + (xy 52.651213 64.32146) + (xy 52.649191 64.323408) + (xy 52.611284 64.358582) + (xy 52.611281 64.358584) + (xy 52.607156 64.362413) + (xy 52.604341 64.367287) + (xy 52.602859 64.369146) + (xy 52.597243 64.37543) + (xy 52.550139 64.422535) + (xy 52.510023 64.443418) + (xy 52.465184 64.437516) + (xy 52.416832 64.41497) + (xy 52.416833 64.41497) + (xy 52.411619 64.412539) + (xy 52.405917 64.411788) + (xy 52.405916 64.411788) + (xy 52.364385 64.40632) + (xy 52.36438 64.406319) + (xy 52.361952 64.406) + (xy 50.632048 64.406) + (xy 50.62962 64.406319) + (xy 50.629614 64.40632) + (xy 50.588083 64.411788) + (xy 50.588081 64.411788) + (xy 50.582381 64.412539) + (xy 50.577174 64.414966) + (xy 50.577167 64.414969) + (xy 50.479354 64.46058) + (xy 50.479352 64.460581) + (xy 50.473393 64.46336) + (xy 50.468743 64.468009) + (xy 50.46874 64.468012) + (xy 50.393012 64.54374) + (xy 50.393009 64.543743) + (xy 50.38836 64.548393) + (xy 50.385581 64.554352) + (xy 50.38558 64.554354) + (xy 50.339969 64.652167) + (xy 50.339966 64.652174) + (xy 50.337539 64.657381) + (xy 50.336788 64.663081) + (xy 50.336788 64.663083) + (xy 50.33157 64.702722) + (xy 50.331 64.707048) + (xy 50.331 65.086952) + (xy 50.102 65.086952) + (xy 50.102 63.816952) + (xy 50.331 63.816952) + (xy 50.331319 63.81938) + (xy 50.33132 63.819385) + (xy 50.336339 63.857508) + (xy 50.337539 63.866619) + (xy 50.339967 63.871827) + (xy 50.339969 63.871832) + (xy 50.377315 63.95192) + (xy 50.38836 63.975607) + (xy 50.473393 64.06064) + (xy 50.528815 64.086483) + (xy 50.577167 64.10903) + (xy 50.577168 64.10903) + (xy 50.582381 64.111461) + (xy 50.632048 64.118) + (xy 52.359495 64.118) + (xy 52.361952 64.118) + (xy 52.411619 64.111461) + (xy 52.474654 64.082068) + (xy 52.481137 64.079045) + (xy 52.512917 64.072) + (xy 52.548793 64.072) + (xy 52.557212 64.072473) + (xy 52.594827 64.076711) + (xy 52.651177 64.066048) + (xy 52.653933 64.06558) + (xy 52.710647 64.057033) + (xy 52.715731 64.054583) + (xy 52.717984 64.053889) + (xy 52.718436 64.053777) + (xy 52.718878 64.053594) + (xy 52.721087 64.05282) + (xy 52.726634 64.051772) + (xy 52.777348 64.024967) + (xy 52.779825 64.023718) + (xy 52.831509 63.998829) + (xy 52.835641 63.994993) + (xy 52.837594 63.993663) + (xy 52.837991 63.993423) + (xy 52.838355 63.993122) + (xy 52.840246 63.991726) + (xy 52.845235 63.98909) + (xy 52.885822 63.948501) + (xy 52.887766 63.946628) + (xy 52.929844 63.907587) + (xy 52.932664 63.9027) + (xy 52.934137 63.900854) + (xy 52.939742 63.894581) + (xy 53.629301 63.205023) + (xy 53.653695 63.188724) + (xy 53.682473 63.183) + (xy 53.694706 63.183) + (xy 53.733997 63.194081) + (xy 53.761709 63.224059) + (xy 53.77004 63.240409) + (xy 53.770042 63.240412) + (xy 53.772731 63.245689) + (xy 53.860311 63.333269) + (xy 53.900529 63.353761) + (xy 53.949424 63.378675) + (xy 53.970668 63.389499) + (xy 53.976513 63.390424) + (xy 53.976514 63.390425) + (xy 53.98773 63.392201) + (xy 54.062226 63.404) + (xy 54.52082 63.404) + (xy 54.523774 63.404) + (xy 54.615332 63.389499) + (xy 54.725689 63.333269) + (xy 54.813269 63.245689) + (xy 54.869499 63.135332) + (xy 54.884 63.043774) + (xy 54.884 62.432226) + (xy 54.871026 62.350307) + (xy 54.870425 62.346514) + (xy 54.870424 62.346513) + (xy 54.869499 62.340668) + (xy 54.866797 62.335366) + (xy 54.815957 62.235587) + (xy 54.813269 62.230311) + (xy 54.725689 62.142731) + (xy 54.719146 62.139397) + (xy 54.620605 62.089187) + (xy 54.6206 62.089185) + (xy 54.615332 62.086501) + (xy 54.60949 62.085575) + (xy 54.609485 62.085574) + (xy 54.526692 62.072462) + (xy 54.52669 62.072461) + (xy 54.523774 62.072) + (xy 54.062226 62.072) + (xy 54.05931 62.072461) + (xy 54.059307 62.072462) + (xy 53.976514 62.085574) + (xy 53.976507 62.085576) + (xy 53.970668 62.086501) + (xy 53.9654 62.089184) + (xy 53.965394 62.089187) + (xy 53.865587 62.140042) + (xy 53.865583 62.140044) + (xy 53.860311 62.142731) + (xy 53.856124 62.146917) + (xy 53.856121 62.14692) + (xy 53.77692 62.226121) + (xy 53.776917 62.226124) + (xy 53.772731 62.230311) + (xy 53.770043 62.235584) + (xy 53.77004 62.23559) + (xy 53.761709 62.251941) + (xy 53.733997 62.281919) + (xy 53.694706 62.293) + (xy 53.496207 62.293) + (xy 53.487788 62.292527) + (xy 53.45577 62.288919) + (xy 53.455765 62.288919) + (xy 53.450173 62.288289) + (xy 53.444639 62.289335) + (xy 53.444636 62.289336) + (xy 53.393837 62.298947) + (xy 53.391067 62.299418) + (xy 53.339924 62.307127) + (xy 53.339922 62.307127) + (xy 53.334353 62.307967) + (xy 53.329279 62.310409) + (xy 53.326993 62.311115) + (xy 53.326563 62.311221) + (xy 53.326138 62.311398) + (xy 53.323901 62.31218) + (xy 53.318366 62.313228) + (xy 53.313391 62.315857) + (xy 53.313383 62.31586) + (xy 53.267653 62.340028) + (xy 53.265147 62.341293) + (xy 53.218565 62.363727) + (xy 53.218562 62.363728) + (xy 53.213491 62.366171) + (xy 53.209363 62.369999) + (xy 53.207392 62.371344) + (xy 53.207007 62.371575) + (xy 53.20667 62.371855) + (xy 53.204738 62.37328) + (xy 53.199765 62.37591) + (xy 53.195785 62.379889) + (xy 53.195782 62.379892) + (xy 53.159213 62.41646) + (xy 53.157191 62.418408) + (xy 53.119281 62.453584) + (xy 53.119276 62.453589) + (xy 53.115156 62.457413) + (xy 53.112343 62.462283) + (xy 53.110856 62.464149) + (xy 53.105239 62.470434) + (xy 52.456855 63.118818) + (xy 52.427854 63.136853) + (xy 52.393866 63.140201) + (xy 52.364387 63.13632) + (xy 52.364378 63.136319) + (xy 52.361952 63.136) + (xy 50.632048 63.136) + (xy 50.62962 63.136319) + (xy 50.629614 63.13632) + (xy 50.588083 63.141788) + (xy 50.588081 63.141788) + (xy 50.582381 63.142539) + (xy 50.577174 63.144966) + (xy 50.577167 63.144969) + (xy 50.479354 63.19058) + (xy 50.479352 63.190581) + (xy 50.473393 63.19336) + (xy 50.468743 63.198009) + (xy 50.46874 63.198012) + (xy 50.393012 63.27374) + (xy 50.393009 63.273743) + (xy 50.38836 63.278393) + (xy 50.385581 63.284352) + (xy 50.38558 63.284354) + (xy 50.339969 63.382167) + (xy 50.339966 63.382174) + (xy 50.337539 63.387381) + (xy 50.336788 63.393081) + (xy 50.336788 63.393083) + (xy 50.335236 63.404876) + (xy 50.331 63.437048) + (xy 50.331 63.816952) + (xy 50.102 63.816952) + (xy 50.102 63.080473) + (xy 50.107724 63.051695) + (xy 50.124026 63.027299) + (xy 50.327299 62.824026) + (xy 50.351695 62.807724) + (xy 50.380473 62.802) + (xy 50.481083 62.802) + (xy 50.512863 62.809045) + (xy 50.582381 62.841461) + (xy 50.632048 62.848) + (xy 52.359495 62.848) + (xy 52.361952 62.848) + (xy 52.411619 62.841461) + (xy 52.520607 62.79064) + (xy 52.60564 62.705607) + (xy 52.656461 62.596619) + (xy 52.663 62.546952) + (xy 52.663 62.167048) + (xy 52.656461 62.117381) + (xy 52.60564 62.008393) + (xy 52.520607 61.92336) + (xy 52.495231 61.911527) + (xy 52.416832 61.874969) + (xy 52.416827 61.874967) + (xy 52.411619 61.872539) + (xy 52.405917 61.871788) + (xy 52.405916 61.871788) + (xy 52.364385 61.86632) + (xy 52.36438 61.866319) + (xy 52.361952 61.866) + (xy 50.632048 61.866) + (xy 50.62962 61.866319) + (xy 50.629614 61.86632) + (xy 50.588083 61.871788) + (xy 50.588081 61.871788) + (xy 50.582381 61.872539) + (xy 50.577168 61.874969) + (xy 50.577167 61.87497) + (xy 50.512863 61.904955) + (xy 50.481083 61.912) + (xy 50.194198 61.912) + (xy 50.185779 61.911527) + (xy 50.15377 61.90792) + (xy 50.153765 61.90792) + (xy 50.148173 61.90729) + (xy 50.142639 61.908336) + (xy 50.142636 61.908337) + (xy 50.091867 61.917942) + (xy 50.089098 61.918413) + (xy 50.037918 61.926128) + (xy 50.037916 61.926128) + (xy 50.032353 61.926967) + (xy 50.027282 61.929408) + (xy 50.024984 61.930117) + (xy 50.024566 61.93022) + (xy 50.024143 61.930396) + (xy 50.021897 61.931181) + (xy 50.016366 61.932229) + (xy 50.011392 61.934857) + (xy 50.011388 61.934859) + (xy 49.965677 61.959017) + (xy 49.963171 61.960282) + (xy 49.916564 61.982727) + (xy 49.916559 61.982729) + (xy 49.911491 61.985171) + (xy 49.907364 61.988999) + (xy 49.905392 61.990344) + (xy 49.905007 61.990575) + (xy 49.90467 61.990855) + (xy 49.902738 61.99228) + (xy 49.897765 61.99491) + (xy 49.893785 61.998889) + (xy 49.893782 61.998892) + (xy 49.857213 62.03546) + (xy 49.855191 62.037408) + (xy 49.817281 62.072584) + (xy 49.817276 62.072589) + (xy 49.813156 62.076413) + (xy 49.810343 62.081283) + (xy 49.808856 62.083149) + (xy 49.803239 62.089434) + (xy 49.362995 62.529678) + (xy 49.35671 62.535296) + (xy 49.331515 62.555389) + (xy 49.33151 62.555394) + (xy 49.327108 62.558905) + (xy 49.323935 62.563558) + (xy 49.323931 62.563563) + (xy 49.29481 62.606275) + (xy 49.293206 62.608536) + (xy 49.259125 62.654716) + (xy 49.257264 62.66003) + (xy 49.256144 62.662151) + (xy 49.255919 62.662524) + (xy 49.255745 62.662945) + (xy 49.254714 62.665085) + (xy 49.251541 62.669741) + (xy 49.24988 62.675123) + (xy 49.24988 62.675125) + (xy 49.234638 62.724535) + (xy 49.233759 62.727204) + (xy 49.216679 62.776015) + (xy 49.216677 62.776024) + (xy 49.214819 62.781335) + (xy 49.214608 62.78696) + (xy 49.214164 62.789308) + (xy 49.214057 62.789739) + (xy 49.214015 62.790187) + (xy 49.213659 62.792543) + (xy 49.212 62.797927) + (xy 49.212 62.803561) + (xy 49.212 62.855293) + (xy 49.211947 62.858104) + (xy 49.210014 62.909755) + (xy 49.210014 62.909759) + (xy 49.209804 62.915386) + (xy 49.211261 62.920826) + (xy 49.211527 62.923181) + (xy 49.212 62.931599) + (xy 49.212 64.910667) + (xy 49.198933 64.953029) + (xy 49.164274 64.980669) + (xy 49.120067 64.983982) + (xy 49.081675 64.961816) + (xy 49.05242 64.930287) + (xy 49.048587 64.926156) + (xy 49.043707 64.923338) + (xy 49.041852 64.921859) + (xy 49.035565 64.91624) + (xy 48.722321 64.602996) + (xy 48.716701 64.596708) + (xy 48.696611 64.571516) + (xy 48.696608 64.571513) + (xy 48.693095 64.567108) + (xy 48.688438 64.563932) + (xy 48.688435 64.56393) + (xy 48.645731 64.534814) + (xy 48.64344 64.533188) + (xy 48.601822 64.502473) + (xy 48.601816 64.50247) + (xy 48.597284 64.499125) + (xy 48.591965 64.497263) + (xy 48.589862 64.496152) + (xy 48.589476 64.495919) + (xy 48.589052 64.495744) + (xy 48.586913 64.494714) + (xy 48.582259 64.491541) + (xy 48.576876 64.48988) + (xy 48.576875 64.48988) + (xy 48.527471 64.47464) + (xy 48.524802 64.473761) + (xy 48.475988 64.456681) + (xy 48.475984 64.45668) + (xy 48.470665 64.454819) + (xy 48.465031 64.454607) + (xy 48.462702 64.454167) + (xy 48.462256 64.454056) + (xy 48.461817 64.454015) + (xy 48.459451 64.453658) + (xy 48.454073 64.452) + (xy 48.448441 64.452) + (xy 48.396707 64.452) + (xy 48.393896 64.451947) + (xy 48.342244 64.450014) + (xy 48.342239 64.450014) + (xy 48.336614 64.449804) + (xy 48.331173 64.451261) + (xy 48.328819 64.451527) + (xy 48.320401 64.452) + (xy 47.562917 64.452) + (xy 47.531137 64.444955) + (xy 47.466832 64.41497) + (xy 47.466833 64.41497) + (xy 47.461619 64.412539) + (xy 47.455917 64.411788) + (xy 47.455916 64.411788) + (xy 47.414385 64.40632) + (xy 47.41438 64.406319) + (xy 47.411952 64.406) + (xy 45.682048 64.406) + (xy 45.67962 64.406319) + (xy 45.679614 64.40632) + (xy 45.638083 64.411788) + (xy 45.638081 64.411788) + (xy 45.632381 64.412539) + (xy 45.627174 64.414966) + (xy 45.627167 64.414969) + (xy 45.529354 64.46058) + (xy 45.529352 64.460581) + (xy 45.523393 64.46336) + (xy 45.518743 64.468009) + (xy 45.51874 64.468012) + (xy 45.443012 64.54374) + (xy 45.443009 64.543743) + (xy 45.43836 64.548393) + (xy 45.435581 64.554352) + (xy 45.43558 64.554354) + (xy 45.389969 64.652167) + (xy 45.389966 64.652174) + (xy 45.387539 64.657381) + (xy 45.386788 64.663081) + (xy 45.386788 64.663083) + (xy 45.38157 64.702722) + (xy 45.381 64.707048) + (xy 45.381 65.086952) + (xy 44.370261 65.086952) + (xy 44.396177 65.082048) + (xy 44.398933 65.08158) + (xy 44.455647 65.073033) + (xy 44.460731 65.070583) + (xy 44.462984 65.069889) + (xy 44.463436 65.069777) + (xy 44.463878 65.069594) + (xy 44.466087 65.06882) + (xy 44.471634 65.067772) + (xy 44.522348 65.040967) + (xy 44.524825 65.039718) + (xy 44.576509 65.014829) + (xy 44.580641 65.010993) + (xy 44.582594 65.009663) + (xy 44.582991 65.009423) + (xy 44.583355 65.009122) + (xy 44.585246 65.007726) + (xy 44.590235 65.00509) + (xy 44.630822 64.964501) + (xy 44.632766 64.962628) + (xy 44.674844 64.923587) + (xy 44.677664 64.9187) + (xy 44.679137 64.916854) + (xy 44.68475 64.910573) + (xy 45.493862 64.101462) + (xy 45.533975 64.080581) + (xy 45.578814 64.086483) + (xy 45.632381 64.111461) + (xy 45.682048 64.118) + (xy 47.409495 64.118) + (xy 47.411952 64.118) + (xy 47.461619 64.111461) + (xy 47.570607 64.06064) + (xy 47.65564 63.975607) + (xy 47.706461 63.866619) + (xy 47.713 63.816952) + (xy 47.713 63.437048) + (xy 47.706461 63.387381) + (xy 47.702401 63.378675) + (xy 47.682482 63.335957) + (xy 47.65564 63.278393) + (xy 47.570607 63.19336) + (xy 47.556431 63.186749) + (xy 47.466832 63.144969) + (xy 47.466827 63.144967) + (xy 47.461619 63.142539) + (xy 47.455917 63.141788) + (xy 47.455916 63.141788) + (xy 47.414385 63.13632) + (xy 47.41438 63.136319) + (xy 47.411952 63.136) + (xy 45.682048 63.136) + (xy 45.67962 63.136319) + (xy 45.679614 63.13632) + (xy 45.638083 63.141788) + (xy 45.638081 63.141788) + (xy 45.632381 63.142539) + (xy 45.627168 63.144969) + (xy 45.627167 63.14497) + (xy 45.562863 63.174955) + (xy 45.531083 63.182) + (xy 45.368207 63.182) + (xy 45.359788 63.181527) + (xy 45.32777 63.177919) + (xy 45.327765 63.177919) + (xy 45.322173 63.177289) + (xy 45.316639 63.178335) + (xy 45.316636 63.178336) + (xy 45.265837 63.187947) + (xy 45.263067 63.188418) + (xy 45.211924 63.196127) + (xy 45.211922 63.196127) + (xy 45.206353 63.196967) + (xy 45.201279 63.199409) + (xy 45.198993 63.200115) + (xy 45.198563 63.200221) + (xy 45.198138 63.200398) + (xy 45.195901 63.20118) + (xy 45.190366 63.202228) + (xy 45.185391 63.204857) + (xy 45.185383 63.20486) + (xy 45.139653 63.229028) + (xy 45.137147 63.230293) + (xy 45.090565 63.252727) + (xy 45.090562 63.252728) + (xy 45.085491 63.255171) + (xy 45.081363 63.258999) + (xy 45.079392 63.260344) + (xy 45.079007 63.260575) + (xy 45.07867 63.260855) + (xy 45.076738 63.26228) + (xy 45.071765 63.26491) + (xy 45.067785 63.268889) + (xy 45.067782 63.268892) + (xy 45.031213 63.30546) + (xy 45.029191 63.307408) + (xy 44.991281 63.342584) + (xy 44.991276 63.342589) + (xy 44.987156 63.346413) + (xy 44.984343 63.351283) + (xy 44.982856 63.353149) + (xy 44.977239 63.359434) + (xy 44.289403 64.04727) + (xy 44.259467 64.065616) + (xy 44.224464 64.06837) + (xy 44.192026 64.054933) + (xy 44.187875 64.051917) + (xy 44.183689 64.047731) + (xy 44.137745 64.024321) + (xy 44.078605 63.994187) + (xy 44.0786 63.994185) + (xy 44.073332 63.991501) + (xy 44.06749 63.990575) + (xy 44.067485 63.990574) + (xy 43.984692 63.977462) + (xy 43.98469 63.977461) + (xy 43.981774 63.977) + (xy 43.520226 63.977) + (xy 43.51731 63.977461) + (xy 43.517307 63.977462) + (xy 43.434514 63.990574) + (xy 43.434507 63.990576) + (xy 43.428668 63.991501) + (xy 43.4234 63.994184) + (xy 43.423394 63.994187) + (xy 43.323587 64.045042) + (xy 43.323583 64.045044) + (xy 43.318311 64.047731) + (xy 43.314124 64.051917) + (xy 43.314121 64.05192) + (xy 43.23492 64.131121) + (xy 43.234917 64.131124) + (xy 43.230731 64.135311) + (xy 43.228044 64.140583) + (xy 43.228042 64.140587) + (xy 43.177187 64.240394) + (xy 43.177184 64.2404) + (xy 43.174501 64.245668) + (xy 43.173576 64.251507) + (xy 43.173574 64.251514) + (xy 43.160462 64.334307) + (xy 43.16 64.337226) + (xy 43.16 64.34018) + (xy 43.16 64.669027) + (xy 43.154276 64.697805) + (xy 43.137976 64.722198) + (xy 42.972343 64.887832) + (xy 42.814364 65.045811) + (xy 42.772954 65.06691) + (xy 42.72705 65.05964) + (xy 42.694186 65.026776) + (xy 42.686916 64.980872) + (xy 42.688762 64.969216) + (xy 42.692 64.948774) + (xy 42.692 64.337226) + (xy 42.677499 64.245668) + (xy 42.672892 64.236627) + (xy 42.642746 64.177461) + (xy 42.621269 64.135311) + (xy 42.568026 64.082068) + (xy 42.551724 64.057672) + (xy 42.546 64.028894) + (xy 42.546 63.479106) + (xy 42.551724 63.450328) + (xy 42.568026 63.425932) + (xy 42.591938 63.40202) + (xy 42.621269 63.372689) + (xy 42.677499 63.262332) + (xy 42.692 63.170774) + (xy 42.692 63.167779) + (xy 43.160501 63.167779) + (xy 43.160963 63.173654) + (xy 43.174057 63.256328) + (xy 43.177669 63.267447) + (xy 43.228452 63.367114) + (xy 43.23533 63.37658) + (xy 43.314419 63.455669) + (xy 43.323885 63.462547) + (xy 43.423551 63.51333) + (xy 43.434671 63.516943) + (xy 43.517346 63.530037) + (xy 43.523219 63.5305) + (xy 43.614098 63.5305) + (xy 43.621907 63.528407) + (xy 43.624 63.520598) + (xy 43.624 63.520597) + (xy 43.878 63.520597) + (xy 43.880092 63.528406) + (xy 43.887902 63.530499) + (xy 43.978779 63.530499) + (xy 43.984654 63.530036) + (xy 44.067328 63.516942) + (xy 44.078447 63.51333) + (xy 44.178114 63.462547) + (xy 44.18758 63.455669) + (xy 44.266669 63.37658) + (xy 44.273547 63.367114) + (xy 44.32433 63.267448) + (xy 44.327943 63.256328) + (xy 44.341037 63.173653) + (xy 44.3415 63.167781) + (xy 44.3415 63.001902) + (xy 44.339407 62.994092) + (xy 44.331598 62.992) + (xy 43.887902 62.992) + (xy 43.880092 62.994092) + (xy 43.878 63.001902) + (xy 43.878 63.520597) + (xy 43.624 63.520597) + (xy 43.624 63.001902) + (xy 43.621907 62.994092) + (xy 43.614098 62.992) + (xy 43.170403 62.992) + (xy 43.162593 62.994092) + (xy 43.160501 63.001902) + (xy 43.160501 63.167779) + (xy 42.692 63.167779) + (xy 42.692 62.728098) + (xy 43.1605 62.728098) + (xy 43.162592 62.735907) + (xy 43.170402 62.738) + (xy 43.614098 62.738) + (xy 43.621907 62.735907) + (xy 43.624 62.728098) + (xy 43.878 62.728098) + (xy 43.880092 62.735907) + (xy 43.887902 62.738) + (xy 44.331597 62.738) + (xy 44.339406 62.735907) + (xy 44.341499 62.728098) + (xy 44.341499 62.562221) + (xy 44.341036 62.556345) + (xy 44.339151 62.544441) + (xy 45.381501 62.544441) + (xy 45.381821 62.549336) + (xy 45.387276 62.590779) + (xy 45.390461 62.601705) + (xy 45.435993 62.699349) + (xy 45.443431 62.709971) + (xy 45.519028 62.785568) + (xy 45.52965 62.793006) + (xy 45.627298 62.83854) + (xy 45.638215 62.841722) + (xy 45.679663 62.847179) + (xy 45.684557 62.8475) + (xy 46.410098 62.8475) + (xy 46.417907 62.845407) + (xy 46.42 62.837598) + (xy 46.42 62.837597) + (xy 46.674 62.837597) + (xy 46.676092 62.845406) + (xy 46.683902 62.847499) + (xy 47.409441 62.847499) + (xy 47.414336 62.847178) + (xy 47.455779 62.841723) + (xy 47.466705 62.838538) + (xy 47.564349 62.793006) + (xy 47.574971 62.785568) + (xy 47.650568 62.709971) + (xy 47.658006 62.699349) + (xy 47.70354 62.601701) + (xy 47.706722 62.590784) + (xy 47.712179 62.549336) + (xy 47.7125 62.544443) + (xy 47.7125 62.493902) + (xy 47.710407 62.486092) + (xy 47.702598 62.484) + (xy 46.683902 62.484) + (xy 46.676092 62.486092) + (xy 46.674 62.493902) + (xy 46.674 62.837597) + (xy 46.42 62.837597) + (xy 46.42 62.493902) + (xy 46.417907 62.486092) + (xy 46.410098 62.484) + (xy 45.391403 62.484) + (xy 45.383593 62.486092) + (xy 45.381501 62.493902) + (xy 45.381501 62.544441) + (xy 44.339151 62.544441) + (xy 44.327942 62.473671) + (xy 44.32433 62.462552) + (xy 44.273547 62.362885) + (xy 44.266669 62.353419) + (xy 44.18758 62.27433) + (xy 44.178114 62.267452) + (xy 44.085178 62.220098) + (xy 45.3815 62.220098) + (xy 45.383592 62.227907) + (xy 45.391402 62.23) + (xy 46.410098 62.23) + (xy 46.417907 62.227907) + (xy 46.42 62.220098) + (xy 46.674 62.220098) + (xy 46.676092 62.227907) + (xy 46.683902 62.23) + (xy 47.702597 62.23) + (xy 47.710406 62.227907) + (xy 47.712499 62.220098) + (xy 47.712499 62.169559) + (xy 47.712178 62.164663) + (xy 47.706723 62.12322) + (xy 47.703538 62.112294) + (xy 47.658006 62.01465) + (xy 47.650568 62.004028) + (xy 47.574971 61.928431) + (xy 47.564349 61.920993) + (xy 47.466701 61.875459) + (xy 47.455784 61.872277) + (xy 47.414336 61.86682) + (xy 47.409443 61.8665) + (xy 46.683902 61.8665) + (xy 46.676092 61.868592) + (xy 46.674 61.876402) + (xy 46.674 62.220098) + (xy 46.42 62.220098) + (xy 46.42 61.876403) + (xy 46.417907 61.868593) + (xy 46.410098 61.866501) + (xy 45.684559 61.866501) + (xy 45.679663 61.866821) + (xy 45.63822 61.872276) + (xy 45.627294 61.875461) + (xy 45.52965 61.920993) + (xy 45.519028 61.928431) + (xy 45.443431 62.004028) + (xy 45.435993 62.01465) + (xy 45.390459 62.112298) + (xy 45.387277 62.123215) + (xy 45.38182 62.164663) + (xy 45.3815 62.169557) + (xy 45.3815 62.220098) + (xy 44.085178 62.220098) + (xy 44.078448 62.216669) + (xy 44.067328 62.213056) + (xy 43.984653 62.199962) + (xy 43.978781 62.1995) + (xy 43.887902 62.1995) + (xy 43.880092 62.201592) + (xy 43.878 62.209402) + (xy 43.878 62.728098) + (xy 43.624 62.728098) + (xy 43.624 62.209403) + (xy 43.621907 62.201593) + (xy 43.614098 62.199501) + (xy 43.523221 62.199501) + (xy 43.517345 62.199963) + (xy 43.434671 62.213057) + (xy 43.423552 62.216669) + (xy 43.323885 62.267452) + (xy 43.314419 62.27433) + (xy 43.23533 62.353419) + (xy 43.228452 62.362885) + (xy 43.177669 62.462551) + (xy 43.174056 62.473671) + (xy 43.160962 62.556346) + (xy 43.1605 62.562219) + (xy 43.1605 62.728098) + (xy 42.692 62.728098) + (xy 42.692 62.559226) + (xy 42.677499 62.467668) + (xy 42.660945 62.43518) + (xy 42.642136 62.398264) + (xy 42.621269 62.357311) + (xy 42.533689 62.269731) + (xy 42.528412 62.267042) + (xy 42.428605 62.216187) + (xy 42.4286 62.216185) + (xy 42.423332 62.213501) + (xy 42.41749 62.212575) + (xy 42.417485 62.212574) + (xy 42.334692 62.199462) + (xy 42.33469 62.199461) + (xy 42.331774 62.199) + (xy 41.870226 62.199) + (xy 41.86731 62.199461) + (xy 41.867307 62.199462) + (xy 41.784514 62.212574) + (xy 41.784507 62.212576) + (xy 41.778668 62.213501) + (xy 41.7734 62.216184) + (xy 41.773394 62.216187) + (xy 41.673587 62.267042) + (xy 41.673583 62.267044) + (xy 41.668311 62.269731) + (xy 41.664124 62.273917) + (xy 41.664121 62.27392) + (xy 41.584918 62.353123) + (xy 41.584915 62.353126) + (xy 41.580731 62.357311) + (xy 41.578515 62.361659) + (xy 41.547317 62.386394) + (xy 41.50722 62.39148) + (xy 41.470282 62.375074) + (xy 41.447172 62.341914) + (xy 41.446819 62.340905) + (xy 41.445771 62.335366) + (xy 41.418974 62.284663) + (xy 41.417715 62.282168) + (xy 41.417595 62.281919) + (xy 41.392829 62.230491) + (xy 41.388995 62.226358) + (xy 41.387661 62.224402) + (xy 41.387426 62.224012) + (xy 41.387132 62.223657) + (xy 41.385725 62.22175) + (xy 41.38309 62.216765) + (xy 41.342539 62.176214) + (xy 41.340589 62.17419) + (xy 41.30542 62.136287) + (xy 41.301587 62.132156) + (xy 41.296707 62.129338) + (xy 41.294852 62.127859) + (xy 41.288565 62.12224) + (xy 40.848321 61.681996) + (xy 40.842701 61.675708) + (xy 40.822611 61.650516) + (xy 40.822608 61.650513) + (xy 40.819095 61.646108) + (xy 40.814438 61.642932) + (xy 40.814435 61.64293) + (xy 40.771731 61.613814) + (xy 40.76944 61.612188) + (xy 40.727822 61.581473) + (xy 40.727816 61.58147) + (xy 40.723284 61.578125) + (xy 40.717965 61.576263) + (xy 40.715862 61.575152) + (xy 40.715476 61.574919) + (xy 40.715052 61.574744) + (xy 40.712913 61.573714) + (xy 40.708259 61.570541) + (xy 40.702876 61.56888) + (xy 40.702875 61.56888) + (xy 40.653471 61.55364) + (xy 40.650802 61.552761) + (xy 40.601988 61.535681) + (xy 40.601984 61.53568) + (xy 40.596665 61.533819) + (xy 40.591031 61.533607) + (xy 40.588702 61.533167) + (xy 40.588256 61.533056) + (xy 40.587817 61.533015) + (xy 40.585451 61.532658) + (xy 40.580073 61.531) + (xy 40.574441 61.531) + (xy 40.522707 61.531) + (xy 40.519896 61.530947) + (xy 40.468244 61.529014) + (xy 40.468239 61.529014) + (xy 40.462614 61.528804) + (xy 40.457173 61.530261) + (xy 40.454819 61.530527) + (xy 40.446401 61.531) + (xy 40.402613 61.531) + (xy 40.363322 61.519919) + (xy 40.33561 61.489942) + (xy 40.332435 61.483711) + (xy 40.332434 61.48371) + (xy 40.329746 61.478434) + (xy 40.236566 61.385254) + (xy 40.231289 61.382565) + (xy 40.200243 61.366746) + (xy 41.5105 61.366746) + (xy 41.510962 61.372618) + (xy 41.524984 61.461151) + (xy 41.528597 61.472271) + (xy 41.582976 61.578994) + (xy 41.589851 61.588456) + (xy 41.674543 61.673148) + (xy 41.684005 61.680023) + (xy 41.790728 61.734402) + (xy 41.801848 61.738015) + (xy 41.890381 61.752037) + (xy 41.896254 61.7525) + (xy 42.014098 61.7525) + (xy 42.021907 61.750407) + (xy 42.024 61.742598) + (xy 42.278 61.742598) + (xy 42.280092 61.750407) + (xy 42.287902 61.7525) + (xy 42.405746 61.7525) + (xy 42.411618 61.752037) + (xy 42.500151 61.738015) + (xy 42.511271 61.734402) + (xy 42.617994 61.680023) + (xy 42.627456 61.673148) + (xy 42.712148 61.588456) + (xy 42.719023 61.578994) + (xy 42.773402 61.472271) + (xy 42.777015 61.461151) + (xy 42.791037 61.372618) + (xy 42.791496 61.366793) + (xy 43.06 61.366793) + (xy 43.060001 61.369736) + (xy 43.060462 61.37265) + (xy 43.060463 61.372656) + (xy 43.063122 61.389443) + (xy 43.075429 61.467153) + (xy 43.078114 61.472423) + (xy 43.078115 61.472425) + (xy 43.132564 61.579288) + (xy 43.135254 61.584566) + (xy 43.228434 61.677746) + (xy 43.345847 61.737571) + (xy 43.351692 61.738496) + (xy 43.351693 61.738497) + (xy 43.362571 61.740219) + (xy 43.443263 61.753) + (xy 43.958736 61.752999) + (xy 44.056153 61.737571) + (xy 44.173566 61.677746) + (xy 44.266746 61.584566) + (xy 44.271543 61.575152) + (xy 44.27261 61.573058) + (xy 44.300322 61.543081) + (xy 44.339613 61.532) + (xy 44.58512 61.532) + (xy 44.61636 61.538796) + (xy 44.618394 61.539724) + (xy 44.622919 61.542633) + (xy 44.759715 61.5828) + (xy 44.896904 61.5828) + (xy 44.902285 61.5828) + (xy 45.039081 61.542633) + (xy 45.043606 61.539724) + (xy 45.04564 61.538796) + (xy 45.07688 61.532) + (xy 45.531083 61.532) + (xy 45.562863 61.539045) + (xy 45.632381 61.571461) + (xy 45.682048 61.578) + (xy 47.409495 61.578) + (xy 47.411952 61.578) + (xy 47.461619 61.571461) + (xy 47.570607 61.52064) + (xy 47.65564 61.435607) + (xy 47.706461 61.326619) + (xy 47.713 61.276952) + (xy 50.331 61.276952) + (xy 50.331319 61.27938) + (xy 50.33132 61.279385) + (xy 50.336151 61.31608) + (xy 50.337539 61.326619) + (xy 50.339967 61.331827) + (xy 50.339969 61.331832) + (xy 50.381749 61.421431) + (xy 50.38836 61.435607) + (xy 50.473393 61.52064) + (xy 50.521519 61.543081) + (xy 50.577167 61.56903) + (xy 50.577168 61.56903) + (xy 50.582381 61.571461) + (xy 50.632048 61.578) + (xy 52.359495 61.578) + (xy 52.361952 61.578) + (xy 52.411619 61.571461) + (xy 52.481136 61.539045) + (xy 52.512917 61.532) + (xy 52.96712 61.532) + (xy 52.99836 61.538796) + (xy 53.000394 61.539724) + (xy 53.004919 61.542633) + (xy 53.141715 61.5828) + (xy 53.278904 61.5828) + (xy 53.284285 61.5828) + (xy 53.421081 61.542633) + (xy 53.425606 61.539724) + (xy 53.42764 61.538796) + (xy 53.45888 61.532) + (xy 53.704387 61.532) + (xy 53.743678 61.543081) + (xy 53.77139 61.573058) + (xy 53.774564 61.579288) + (xy 53.774565 61.579289) + (xy 53.777254 61.584566) + (xy 53.870434 61.677746) + (xy 53.987847 61.737571) + (xy 53.993692 61.738496) + (xy 53.993693 61.738497) + (xy 54.004571 61.740219) + (xy 54.085263 61.753) + (xy 54.600736 61.752999) + (xy 54.698153 61.737571) + (xy 54.815566 61.677746) + (xy 54.908746 61.584566) + (xy 54.968571 61.467153) + (xy 54.984 61.369737) + (xy 54.984 61.366746) + (xy 55.2525 61.366746) + (xy 55.252962 61.372618) + (xy 55.266984 61.461151) + (xy 55.270597 61.472271) + (xy 55.324976 61.578994) + (xy 55.331851 61.588456) + (xy 55.416543 61.673148) + (xy 55.426005 61.680023) + (xy 55.532728 61.734402) + (xy 55.543848 61.738015) + (xy 55.632381 61.752037) + (xy 55.638254 61.7525) + (xy 55.756098 61.7525) + (xy 55.763907 61.750407) + (xy 55.766 61.742598) + (xy 56.02 61.742598) + (xy 56.022092 61.750407) + (xy 56.029902 61.7525) + (xy 56.147746 61.7525) + (xy 56.153618 61.752037) + (xy 56.242151 61.738015) + (xy 56.253271 61.734402) + (xy 56.359994 61.680023) + (xy 56.369456 61.673148) + (xy 56.454148 61.588456) + (xy 56.461023 61.578994) + (xy 56.515402 61.472271) + (xy 56.519015 61.461151) + (xy 56.533037 61.372618) + (xy 56.5335 61.366746) + (xy 56.5335 61.223902) + (xy 56.531407 61.216092) + (xy 56.523598 61.214) + (xy 56.029902 61.214) + (xy 56.022092 61.216092) + (xy 56.02 61.223902) + (xy 56.02 61.742598) + (xy 55.766 61.742598) + (xy 55.766 61.223902) + (xy 55.763907 61.216092) + (xy 55.756098 61.214) + (xy 55.262402 61.214) + (xy 55.254592 61.216092) + (xy 55.2525 61.223902) + (xy 55.2525 61.366746) + (xy 54.984 61.366746) + (xy 54.983999 60.950098) + (xy 55.2525 60.950098) + (xy 55.254592 60.957907) + (xy 55.262402 60.96) + (xy 55.756098 60.96) + (xy 55.763907 60.957907) + (xy 55.766 60.950098) + (xy 56.02 60.950098) + (xy 56.022092 60.957907) + (xy 56.029902 60.96) + (xy 56.523598 60.96) + (xy 56.531407 60.957907) + (xy 56.5335 60.950098) + (xy 56.5335 60.807254) + (xy 56.533037 60.801381) + (xy 56.519015 60.712848) + (xy 56.515402 60.701728) + (xy 56.461023 60.595005) + (xy 56.454148 60.585543) + (xy 56.369456 60.500851) + (xy 56.359994 60.493976) + (xy 56.253271 60.439597) + (xy 56.242151 60.435984) + (xy 56.153618 60.421962) + (xy 56.147746 60.4215) + (xy 56.029902 60.4215) + (xy 56.022092 60.423592) + (xy 56.02 60.431402) + (xy 56.02 60.950098) + (xy 55.766 60.950098) + (xy 55.766 60.431402) + (xy 55.763907 60.423592) + (xy 55.756098 60.4215) + (xy 55.638254 60.4215) + (xy 55.632381 60.421962) + (xy 55.543848 60.435984) + (xy 55.532728 60.439597) + (xy 55.426005 60.493976) + (xy 55.416543 60.500851) + (xy 55.331851 60.585543) + (xy 55.324976 60.595005) + (xy 55.270597 60.701728) + (xy 55.266984 60.712848) + (xy 55.252962 60.801381) + (xy 55.2525 60.807254) + (xy 55.2525 60.950098) + (xy 54.983999 60.950098) + (xy 54.983999 60.804264) + (xy 54.968571 60.706847) + (xy 54.908746 60.589434) + (xy 54.815566 60.496254) + (xy 54.810289 60.493565) + (xy 54.703426 60.439115) + (xy 54.703422 60.439113) + (xy 54.698153 60.436429) + (xy 54.692311 60.435503) + (xy 54.692306 60.435502) + (xy 54.603655 60.421462) + (xy 54.603652 60.421461) + (xy 54.600737 60.421) + (xy 54.597783 60.421) + (xy 54.088218 60.421) + (xy 54.088205 60.421) + (xy 54.085264 60.421001) + (xy 54.08235 60.421462) + (xy 54.082343 60.421463) + (xy 53.993692 60.435503) + (xy 53.99369 60.435503) + (xy 53.987847 60.436429) + (xy 53.982577 60.439113) + (xy 53.982574 60.439115) + (xy 53.87571 60.493565) + (xy 53.875706 60.493567) + (xy 53.870434 60.496254) + (xy 53.866247 60.50044) + (xy 53.866244 60.500443) + (xy 53.781443 60.585244) + (xy 53.78144 60.585247) + (xy 53.777254 60.589434) + (xy 53.774568 60.594705) + (xy 53.774564 60.594711) + (xy 53.77139 60.600942) + (xy 53.743678 60.630919) + (xy 53.704387 60.642) + (xy 53.45888 60.642) + (xy 53.42764 60.635204) + (xy 53.425605 60.634274) + (xy 53.421081 60.631367) + (xy 53.415923 60.629852) + (xy 53.41592 60.629851) + (xy 53.289447 60.592715) + (xy 53.289442 60.592714) + (xy 53.284285 60.5912) + (xy 53.141715 60.5912) + (xy 53.136558 60.592714) + (xy 53.136552 60.592715) + (xy 53.010079 60.629851) + (xy 53.010073 60.629853) + (xy 53.004919 60.631367) + (xy 53.000394 60.634274) + (xy 52.99836 60.635204) + (xy 52.96712 60.642) + (xy 52.512917 60.642) + (xy 52.481137 60.634955) + (xy 52.416832 60.60497) + (xy 52.416833 60.60497) + (xy 52.411619 60.602539) + (xy 52.405917 60.601788) + (xy 52.405916 60.601788) + (xy 52.364385 60.59632) + (xy 52.36438 60.596319) + (xy 52.361952 60.596) + (xy 50.632048 60.596) + (xy 50.62962 60.596319) + (xy 50.629614 60.59632) + (xy 50.588083 60.601788) + (xy 50.588081 60.601788) + (xy 50.582381 60.602539) + (xy 50.577174 60.604966) + (xy 50.577167 60.604969) + (xy 50.479354 60.65058) + (xy 50.479352 60.650581) + (xy 50.473393 60.65336) + (xy 50.468743 60.658009) + (xy 50.46874 60.658012) + (xy 50.393012 60.73374) + (xy 50.393009 60.733743) + (xy 50.38836 60.738393) + (xy 50.385581 60.744352) + (xy 50.38558 60.744354) + (xy 50.339969 60.842167) + (xy 50.339966 60.842174) + (xy 50.337539 60.847381) + (xy 50.336788 60.853081) + (xy 50.336788 60.853083) + (xy 50.332853 60.882976) + (xy 50.331 60.897048) + (xy 50.331 61.276952) + (xy 47.713 61.276952) + (xy 47.713 60.897048) + (xy 47.706461 60.847381) + (xy 47.65564 60.738393) + (xy 47.570607 60.65336) + (xy 47.549404 60.643473) + (xy 47.466832 60.604969) + (xy 47.466827 60.604967) + (xy 47.461619 60.602539) + (xy 47.455917 60.601788) + (xy 47.455916 60.601788) + (xy 47.414385 60.59632) + (xy 47.41438 60.596319) + (xy 47.411952 60.596) + (xy 45.682048 60.596) + (xy 45.67962 60.596319) + (xy 45.679614 60.59632) + (xy 45.638083 60.601788) + (xy 45.638081 60.601788) + (xy 45.632381 60.602539) + (xy 45.627168 60.604969) + (xy 45.627167 60.60497) + (xy 45.562863 60.634955) + (xy 45.531083 60.642) + (xy 45.07688 60.642) + (xy 45.04564 60.635204) + (xy 45.043605 60.634274) + (xy 45.039081 60.631367) + (xy 45.033923 60.629852) + (xy 45.03392 60.629851) + (xy 44.907447 60.592715) + (xy 44.907442 60.592714) + (xy 44.902285 60.5912) + (xy 44.759715 60.5912) + (xy 44.754558 60.592714) + (xy 44.754552 60.592715) + (xy 44.628079 60.629851) + (xy 44.628073 60.629853) + (xy 44.622919 60.631367) + (xy 44.618394 60.634274) + (xy 44.61636 60.635204) + (xy 44.58512 60.642) + (xy 44.339613 60.642) + (xy 44.300322 60.630919) + (xy 44.27261 60.600942) + (xy 44.269435 60.594711) + (xy 44.269434 60.594709) + (xy 44.266746 60.589434) + (xy 44.173566 60.496254) + (xy 44.168289 60.493565) + (xy 44.061426 60.439115) + (xy 44.061422 60.439113) + (xy 44.056153 60.436429) + (xy 44.050311 60.435503) + (xy 44.050306 60.435502) + (xy 43.961655 60.421462) + (xy 43.961652 60.421461) + (xy 43.958737 60.421) + (xy 43.955783 60.421) + (xy 43.446218 60.421) + (xy 43.446205 60.421) + (xy 43.443264 60.421001) + (xy 43.44035 60.421462) + (xy 43.440343 60.421463) + (xy 43.351692 60.435503) + (xy 43.35169 60.435503) + (xy 43.345847 60.436429) + (xy 43.340577 60.439113) + (xy 43.340574 60.439115) + (xy 43.23371 60.493565) + (xy 43.233706 60.493567) + (xy 43.228434 60.496254) + (xy 43.224247 60.50044) + (xy 43.224244 60.500443) + (xy 43.139443 60.585244) + (xy 43.13944 60.585247) + (xy 43.135254 60.589434) + (xy 43.132567 60.594706) + (xy 43.132565 60.59471) + (xy 43.078115 60.701573) + (xy 43.078112 60.701579) + (xy 43.075429 60.706847) + (xy 43.074504 60.712686) + (xy 43.074502 60.712693) + (xy 43.060462 60.801343) + (xy 43.06 60.804263) + (xy 43.06 60.807215) + (xy 43.06 60.807216) + (xy 43.06 61.366781) + (xy 43.06 61.366793) + (xy 42.791496 61.366793) + (xy 42.7915 61.366746) + (xy 42.7915 61.223902) + (xy 42.789407 61.216092) + (xy 42.781598 61.214) + (xy 42.287902 61.214) + (xy 42.280092 61.216092) + (xy 42.278 61.223902) + (xy 42.278 61.742598) + (xy 42.024 61.742598) + (xy 42.024 61.223902) + (xy 42.021907 61.216092) + (xy 42.014098 61.214) + (xy 41.520402 61.214) + (xy 41.512592 61.216092) + (xy 41.5105 61.223902) + (xy 41.5105 61.366746) + (xy 40.200243 61.366746) + (xy 40.124426 61.328115) + (xy 40.124422 61.328113) + (xy 40.119153 61.325429) + (xy 40.113311 61.324503) + (xy 40.113306 61.324502) + (xy 40.024655 61.310462) + (xy 40.024652 61.310461) + (xy 40.021737 61.31) + (xy 40.018783 61.31) + (xy 39.509218 61.31) + (xy 39.509205 61.31) + (xy 39.506264 61.310001) + (xy 39.50335 61.310462) + (xy 39.503343 61.310463) + (xy 39.414692 61.324503) + (xy 39.41469 61.324503) + (xy 39.408847 61.325429) + (xy 39.403577 61.328113) + (xy 39.403574 61.328115) + (xy 39.29671 61.382565) + (xy 39.296706 61.382567) + (xy 39.291434 61.385254) + (xy 39.287247 61.38944) + (xy 39.287244 61.389443) + (xy 39.202443 61.474244) + (xy 39.20244 61.474247) + (xy 39.198254 61.478434) + (xy 39.195567 61.483706) + (xy 39.195565 61.48371) + (xy 39.141115 61.590573) + (xy 39.141112 61.590579) + (xy 39.138429 61.595847) + (xy 39.137504 61.601686) + (xy 39.137502 61.601693) + (xy 39.124784 61.681996) + (xy 39.123 61.693263) + (xy 39.123 61.696215) + (xy 39.123 61.696216) + (xy 39.123 62.255781) + (xy 39.123 62.255793) + (xy 39.123001 62.258736) + (xy 39.123462 62.26165) + (xy 39.123463 62.261656) + (xy 39.136902 62.346514) + (xy 39.138429 62.356153) + (xy 39.141114 62.361423) + (xy 39.141115 62.361425) + (xy 39.195563 62.468286) + (xy 39.198254 62.473566) + (xy 39.291434 62.566746) + (xy 39.306348 62.574345) + (xy 39.397114 62.620593) + (xy 39.408847 62.626571) + (xy 39.414692 62.627496) + (xy 39.414693 62.627497) + (xy 39.425571 62.629219) + (xy 39.506263 62.642) + (xy 40.021736 62.641999) + (xy 40.119153 62.626571) + (xy 40.236566 62.566746) + (xy 40.302322 62.500989) + (xy 40.336029 62.481528) + (xy 40.374956 62.481528) + (xy 40.408667 62.500992) + (xy 40.553974 62.646299) + (xy 40.570276 62.670695) + (xy 40.576 62.699473) + (xy 40.576 64.0768) + (xy 40.565925 64.1144) + (xy 40.5384 64.141925) + (xy 40.5008 64.152) + (xy 39.401873 64.152) + (xy 39.360095 64.139327) + (xy 39.332398 64.10558) + (xy 39.328117 64.062132) + (xy 39.348696 64.023628) + (xy 39.357821 64.014502) + (xy 39.359766 64.012628) + (xy 39.401844 63.973587) + (xy 39.404664 63.9687) + (xy 39.406137 63.966854) + (xy 39.41175 63.960573) + (xy 39.515826 63.856497) + (xy 39.54781 63.83752) + (xy 39.578081 63.828633) + (xy 39.698018 63.751553) + (xy 39.791382 63.643806) + (xy 39.850608 63.514119) + (xy 39.867343 63.397727) + (xy 39.870133 63.378321) + (xy 39.870898 63.373) + (xy 39.868947 63.359434) + (xy 39.854986 63.262332) + (xy 39.850608 63.231881) + (xy 39.791382 63.102194) + (xy 39.774975 63.08326) + (xy 39.734158 63.036155) + (xy 39.698018 62.994447) + (xy 39.693496 62.991541) + (xy 39.693494 62.991539) + (xy 39.582602 62.920272) + (xy 39.582599 62.92027) + (xy 39.578081 62.917367) + (xy 39.572925 62.915853) + (xy 39.572923 62.915852) + (xy 39.446447 62.878715) + (xy 39.446442 62.878714) + (xy 39.441285 62.8772) + (xy 39.298715 62.8772) + (xy 39.293558 62.878714) + (xy 39.293552 62.878715) + (xy 39.167076 62.915852) + (xy 39.167071 62.915854) + (xy 39.161919 62.917367) + (xy 39.157403 62.920269) + (xy 39.157397 62.920272) + (xy 39.046505 62.991539) + (xy 39.046499 62.991543) + (xy 39.041982 62.994447) + (xy 39.038461 62.998509) + (xy 39.03846 62.998511) + (xy 38.963285 63.085267) + (xy 38.948618 63.102194) + (xy 38.946386 63.10708) + (xy 38.946381 63.107089) + (xy 38.902106 63.204039) + (xy 38.874358 63.236062) + (xy 38.833702 63.248) + (xy 38.829917 63.248) + (xy 38.798137 63.240955) + (xy 38.759841 63.223098) + (xy 38.728619 63.208539) + (xy 38.722917 63.207788) + (xy 38.722916 63.207788) + (xy 38.681385 63.20232) + (xy 38.68138 63.202319) + (xy 38.678952 63.202) + (xy 37.424048 63.202) + (xy 37.42162 63.202319) + (xy 37.421614 63.20232) + (xy 37.380083 63.207788) + (xy 37.380081 63.207788) + (xy 37.374381 63.208539) + (xy 37.369174 63.210966) + (xy 37.369167 63.210969) + (xy 37.271354 63.25658) + (xy 37.271352 63.256581) + (xy 37.265393 63.25936) + (xy 37.260743 63.264009) + (xy 37.26074 63.264012) + (xy 37.185012 63.33974) + (xy 37.185009 63.339743) + (xy 37.18036 63.344393) + (xy 37.177581 63.350352) + (xy 37.17758 63.350354) + (xy 37.131969 63.448167) + (xy 37.131966 63.448174) + (xy 37.129539 63.453381) + (xy 37.128788 63.459081) + (xy 37.128788 63.459083) + (xy 37.125113 63.487) + (xy 37.123 63.503048) + (xy 37.123 63.882952) + (xy 36.8305 63.882952) + (xy 36.8305 63.802101) + (xy 36.830618 63.797899) + (xy 36.835104 63.718014) + (xy 36.843986 63.559848) + (xy 36.844928 63.551489) + (xy 36.884509 63.318534) + (xy 36.886385 63.310316) + (xy 36.9518 63.083254) + (xy 36.954584 63.075301) + (xy 36.960776 63.060352) + (xy 37.045013 62.856983) + (xy 37.048658 62.849413) + (xy 37.162975 62.642572) + (xy 37.167444 62.63546) + (xy 37.268803 62.492608) + (xy 37.308945 62.463971) + (xy 37.419081 62.431633) + (xy 37.5057 62.375964) + (xy 37.545282 62.364034) + (xy 37.585189 62.374828) + (xy 37.61336 62.405085) + (xy 37.645563 62.468286) + (xy 37.645565 62.468289) + (xy 37.648254 62.473566) + (xy 37.741434 62.566746) + (xy 37.756348 62.574345) + (xy 37.847114 62.620593) + (xy 37.858847 62.626571) + (xy 37.864692 62.627496) + (xy 37.864693 62.627497) + (xy 37.875571 62.629219) + (xy 37.956263 62.642) + (xy 38.471736 62.641999) + (xy 38.569153 62.626571) + (xy 38.686566 62.566746) + (xy 38.779746 62.473566) + (xy 38.839571 62.356153) + (xy 38.855 62.258737) + (xy 38.854999 61.693264) + (xy 38.839571 61.595847) + (xy 38.779746 61.478434) + (xy 38.686566 61.385254) + (xy 38.681289 61.382565) + (xy 38.574426 61.328115) + (xy 38.574422 61.328113) + (xy 38.569153 61.325429) + (xy 38.563311 61.324503) + (xy 38.563306 61.324502) + (xy 38.474655 61.310462) + (xy 38.474652 61.310461) + (xy 38.471737 61.31) + (xy 38.468783 61.31) + (xy 37.959218 61.31) + (xy 37.959205 61.31) + (xy 37.956264 61.310001) + (xy 37.95335 61.310462) + (xy 37.953343 61.310463) + (xy 37.864692 61.324503) + (xy 37.86469 61.324503) + (xy 37.858847 61.325429) + (xy 37.853577 61.328113) + (xy 37.853574 61.328115) + (xy 37.74671 61.382565) + (xy 37.746706 61.382567) + (xy 37.741434 61.385254) + (xy 37.737247 61.38944) + (xy 37.737244 61.389443) + (xy 37.652443 61.474244) + (xy 37.65244 61.474247) + (xy 37.648254 61.478434) + (xy 37.645567 61.483707) + (xy 37.645563 61.483713) + (xy 37.61336 61.546914) + (xy 37.585189 61.577171) + (xy 37.545282 61.587965) + (xy 37.5057 61.576035) + (xy 37.504587 61.57532) + (xy 37.460388 61.546914) + (xy 37.423602 61.523272) + (xy 37.423599 61.52327) + (xy 37.419081 61.520367) + (xy 37.413925 61.518853) + (xy 37.413923 61.518852) + (xy 37.287447 61.481715) + (xy 37.287442 61.481714) + (xy 37.282285 61.4802) + (xy 37.139715 61.4802) + (xy 37.134558 61.481714) + (xy 37.134552 61.481715) + (xy 37.008076 61.518852) + (xy 37.008071 61.518854) + (xy 37.002919 61.520367) + (xy 36.998403 61.523269) + (xy 36.998397 61.523272) + (xy 36.887505 61.594539) + (xy 36.887499 61.594543) + (xy 36.882982 61.597447) + (xy 36.879461 61.601509) + (xy 36.87946 61.601511) + (xy 36.79314 61.701128) + (xy 36.793136 61.701133) + (xy 36.789618 61.705194) + (xy 36.787385 61.710082) + (xy 36.787382 61.710088) + (xy 36.732627 61.829986) + (xy 36.730392 61.834881) + (xy 36.729627 61.840198) + (xy 36.729624 61.84021) + (xy 36.715335 61.93959) + (xy 36.699032 61.976592) + (xy 36.645451 62.041882) + (xy 36.645438 62.041899) + (xy 36.644278 62.043313) + (xy 36.643268 62.044824) + (xy 36.643258 62.044838) + (xy 36.484523 62.282402) + (xy 36.484511 62.282421) + (xy 36.483498 62.283938) + (xy 36.482628 62.285565) + (xy 36.482623 62.285574) + (xy 36.347952 62.537525) + (xy 36.347944 62.537541) + (xy 36.347078 62.539162) + (xy 36.346377 62.540853) + (xy 36.34637 62.540869) + (xy 36.2431 62.790187) + (xy 36.236331 62.806529) + (xy 36.235801 62.808275) + (xy 36.235796 62.80829) + (xy 36.152857 63.081704) + (xy 36.152852 63.08172) + (xy 36.152324 63.083464) + (xy 36.151966 63.085259) + (xy 36.151965 63.085267) + (xy 36.096226 63.365484) + (xy 36.096222 63.365504) + (xy 36.095866 63.367299) + (xy 36.095686 63.36912) + (xy 36.095684 63.369138) + (xy 36.067679 63.653475) + (xy 36.067678 63.653494) + (xy 36.0675 63.655302) + (xy 36.0675 63.657138) + (xy 36.0675 63.797884) + (xy 36.067382 63.802101) + (xy 36.051706 64.081226) + (xy 36.050761 64.089606) + (xy 36.004289 64.363115) + (xy 36.002413 64.371336) + (xy 35.925607 64.637932) + (xy 35.922822 64.645892) + (xy 35.816645 64.902221) + (xy 35.812985 64.909819) + (xy 35.678787 65.152626) + (xy 35.674301 65.159767) + (xy 35.513748 65.386041) + (xy 35.50849 65.392634) + (xy 35.322013 65.601296) + (xy 35.319115 65.60436) + (xy 35.282028 65.641448) + (xy 35.282026 65.64145) + (xy 33.185572 67.737903) + (xy 33.15067 67.757675) + (xy 33.110569 67.756691) + (xy 32.940606 67.705133) + (xy 32.940596 67.705131) + (xy 32.937072 67.704062) + (xy 32.933401 67.7037) + (xy 32.933399 67.7037) + (xy 32.736676 67.684325) + (xy 32.733 67.683963) + (xy 32.729324 67.684325) + (xy 32.5326 67.7037) + (xy 32.532596 67.7037) + (xy 32.528928 67.704062) + (xy 32.5254 67.705132) + (xy 32.525396 67.705133) + (xy 32.33623 67.762516) + (xy 32.336222 67.762519) + (xy 32.332699 67.763588) + (xy 32.329447 67.765325) + (xy 32.329445 67.765327) + (xy 32.155111 67.85851) + (xy 32.155106 67.858512) + (xy 32.151853 67.860252) + (xy 32.149 67.862593) + (xy 32.148993 67.862598) + (xy 31.996195 67.987996) + (xy 31.996189 67.988001) + (xy 31.99334 67.99034) + (xy 31.991001 67.993189) + (xy 31.990996 67.993195) + (xy 31.865598 68.145993) + (xy 31.865593 68.146) + (xy 31.863252 68.148853) + (xy 31.861512 68.152106) + (xy 31.86151 68.152111) + (xy 31.77585 68.312371) + (xy 31.766588 68.329699) + (xy 31.765519 68.333222) + (xy 31.765516 68.33323) + (xy 31.708133 68.522396) + (xy 31.707062 68.525928) + (xy 31.7067 68.529596) + (xy 31.7067 68.5296) + (xy 31.687612 68.723406) + (xy 31.686963 68.73) + (xy 31.238173 68.73) + (xy 31.238173 68.726325) + (xy 31.218807 68.529701) + (xy 31.217372 68.522491) + (xy 31.16002 68.333426) + (xy 31.157207 68.326634) + (xy 31.06407 68.152386) + (xy 31.059988 68.146278) + (xy 31.019939 68.097477) + (xy 31.013095 68.092741) + (xy 31.005816 68.096787) + (xy 30.379605 68.722999) + (xy 30.375563 68.73) + (xy 30.010436 68.73) + (xy 30.006394 68.722999) + (xy 29.380182 68.096787) + (xy 29.372903 68.092742) + (xy 29.366058 68.097479) + (xy 29.326008 68.146281) + (xy 29.321931 68.152383) + (xy 29.228792 68.326634) + (xy 29.225979 68.333426) + (xy 29.168627 68.522491) + (xy 29.167192 68.529701) + (xy 29.147827 68.726325) + (xy 29.147827 68.733675) + (xy 25 68.733675) + (xy 25 67.909903) + (xy 29.555742 67.909903) + (xy 29.559787 67.917182) + (xy 30.185999 68.543394) + (xy 30.192999 68.547436) + (xy 30.2 68.543394) + (xy 30.826211 67.917182) + (xy 30.830257 67.909903) + (xy 30.825521 67.903059) + (xy 30.776722 67.863011) + (xy 30.770613 67.858929) + (xy 30.596365 67.765792) + (xy 30.589573 67.762979) + (xy 30.400508 67.705627) + (xy 30.393298 67.704192) + (xy 30.196675 67.684827) + (xy 30.189325 67.684827) + (xy 29.992701 67.704192) + (xy 29.985491 67.705627) + (xy 29.796426 67.762979) + (xy 29.789634 67.765792) + (xy 29.615383 67.858931) + (xy 29.609281 67.863008) + (xy 29.560479 67.903058) + (xy 29.555742 67.909903) + (xy 25 67.909903) + (xy 25 67.010095) + (xy 29.555741 67.010095) + (xy 29.560477 67.016939) + (xy 29.609278 67.056988) + (xy 29.615386 67.06107) + (xy 29.789634 67.154207) + (xy 29.796426 67.15702) + (xy 29.985491 67.214372) + (xy 29.992701 67.215807) + (xy 30.189325 67.235173) + (xy 30.196675 67.235173) + (xy 30.393298 67.215807) + (xy 30.400508 67.214372) + (xy 30.589573 67.15702) + (xy 30.596365 67.154207) + (xy 30.770613 67.06107) + (xy 30.776721 67.056988) + (xy 30.82552 67.016939) + (xy 30.830257 67.010096) + (xy 30.826211 67.002816) + (xy 30.2 66.376605) + (xy 30.192999 66.372563) + (xy 30.185999 66.376605) + (xy 29.559787 67.002816) + (xy 29.555741 67.010095) + (xy 25 67.010095) + (xy 25 66.193675) + (xy 29.147827 66.193675) + (xy 29.167192 66.390298) + (xy 29.168627 66.397508) + (xy 29.225979 66.586573) + (xy 29.228792 66.593365) + (xy 29.321929 66.767613) + (xy 29.326011 66.773722) + (xy 29.366059 66.822521) + (xy 29.372903 66.827257) + (xy 29.380182 66.823211) + (xy 30.006394 66.197) + (xy 30.010436 66.19) + (xy 30.375563 66.19) + (xy 30.379605 66.197) + (xy 31.005816 66.823211) + (xy 31.013096 66.827257) + (xy 31.019939 66.82252) + (xy 31.059988 66.773721) + (xy 31.06407 66.767613) + (xy 31.157207 66.593365) + (xy 31.16002 66.586573) + (xy 31.217372 66.397508) + (xy 31.218807 66.390298) + (xy 31.238173 66.193675) + (xy 31.238173 66.19) + (xy 31.686963 66.19) + (xy 31.687325 66.193675) + (xy 31.687325 66.193676) + (xy 31.705341 66.376605) + (xy 31.707062 66.394072) + (xy 31.708132 66.397601) + (xy 31.708133 66.397603) + (xy 31.765516 66.586769) + (xy 31.765518 66.586774) + (xy 31.766588 66.590301) + (xy 31.863252 66.771147) + (xy 31.865596 66.774003) + (xy 31.865598 66.774006) + (xy 31.938852 66.863266) + (xy 31.99334 66.92966) + (xy 31.996195 66.932003) + (xy 32.135946 67.046694) + (xy 32.151853 67.059748) + (xy 32.332699 67.156412) + (xy 32.528928 67.215938) + (xy 32.715797 67.234342) + (xy 32.724227 67.235173) + (xy 32.733 67.236037) + (xy 32.741773 67.235173) + (xy 32.748539 67.234506) + (xy 32.937072 67.215938) + (xy 33.133301 67.156412) + (xy 33.314147 67.059748) + (xy 33.47266 66.92966) + (xy 33.602748 66.771147) + (xy 33.699412 66.590301) + (xy 33.758938 66.394072) + (xy 33.779037 66.19) + (xy 33.778347 66.182999) + (xy 33.776345 66.162668) + (xy 33.758938 65.985928) + (xy 33.706306 65.812428) + (xy 33.705323 65.772327) + (xy 33.725093 65.737427) + (xy 35.225896 64.236627) + (xy 35.225923 64.236587) + (xy 35.225958 64.236549) + (xy 35.286367 64.176144) + (xy 35.432445 63.992972) + (xy 35.557096 63.794596) + (xy 35.658751 63.583511) + (xy 35.736133 63.362372) + (xy 35.788268 63.133958) + (xy 35.8145 62.901144) + (xy 35.8145 62.786457) + (xy 35.814661 62.781544) + (xy 35.817515 62.738) + (xy 35.827603 62.584088) + (xy 35.828884 62.574355) + (xy 35.86701 62.382683) + (xy 35.869549 62.373207) + (xy 35.932367 62.188151) + (xy 35.936118 62.179092) + (xy 36.022557 62.003811) + (xy 36.027463 61.995313) + (xy 36.096432 61.892095) + (xy 36.136031 61.832831) + (xy 36.142013 61.825033) + (xy 36.272432 61.676316) + (xy 36.275784 61.672739) + (xy 36.312888 61.635634) + (xy 36.312887 61.635634) + (xy 36.312891 61.635631) + (xy 36.31289 61.635631) + (xy 36.998424 60.950098) + (xy 41.5105 60.950098) + (xy 41.512592 60.957907) + (xy 41.520402 60.96) + (xy 42.014098 60.96) + (xy 42.021907 60.957907) + (xy 42.024 60.950098) + (xy 42.278 60.950098) + (xy 42.280092 60.957907) + (xy 42.287902 60.96) + (xy 42.781598 60.96) + (xy 42.789407 60.957907) + (xy 42.7915 60.950098) + (xy 42.7915 60.807254) + (xy 42.791037 60.801381) + (xy 42.777015 60.712848) + (xy 42.773402 60.701728) + (xy 42.719023 60.595005) + (xy 42.712148 60.585543) + (xy 42.627456 60.500851) + (xy 42.617994 60.493976) + (xy 42.511271 60.439597) + (xy 42.500151 60.435984) + (xy 42.411618 60.421962) + (xy 42.405746 60.4215) + (xy 42.287902 60.4215) + (xy 42.280092 60.423592) + (xy 42.278 60.431402) + (xy 42.278 60.950098) + (xy 42.024 60.950098) + (xy 42.024 60.431402) + (xy 42.021907 60.423592) + (xy 42.014098 60.4215) + (xy 41.896254 60.4215) + (xy 41.890381 60.421962) + (xy 41.801848 60.435984) + (xy 41.790728 60.439597) + (xy 41.684005 60.493976) + (xy 41.674543 60.500851) + (xy 41.589851 60.585543) + (xy 41.582976 60.595005) + (xy 41.528597 60.701728) + (xy 41.524984 60.712848) + (xy 41.510962 60.801381) + (xy 41.5105 60.807254) + (xy 41.5105 60.950098) + (xy 36.998424 60.950098) + (xy 37.2333 60.715222) + (xy 37.275775 60.693962) + (xy 37.276902 60.6938) + (xy 37.282285 60.6938) + (xy 37.419081 60.653633) + (xy 37.5057 60.597964) + (xy 37.545282 60.586034) + (xy 37.585189 60.596828) + (xy 37.61336 60.627085) + (xy 37.645563 60.690286) + (xy 37.645565 60.690289) + (xy 37.648254 60.695566) + (xy 37.741434 60.788746) + (xy 37.777758 60.807254) + (xy 37.815461 60.826465) + (xy 37.858847 60.848571) + (xy 37.864692 60.849496) + (xy 37.864693 60.849497) + (xy 37.875571 60.851219) + (xy 37.956263 60.864) + (xy 38.471736 60.863999) + (xy 38.569153 60.848571) + (xy 38.686566 60.788746) + (xy 38.779746 60.695566) + (xy 38.839571 60.578153) + (xy 38.855 60.480737) + (xy 38.854999 59.915264) + (xy 38.839571 59.817847) + (xy 38.779746 59.700434) + (xy 38.686566 59.607254) + (xy 38.681289 59.604565) + (xy 38.574426 59.550115) + (xy 38.574422 59.550113) + (xy 38.569153 59.547429) + (xy 38.563311 59.546503) + (xy 38.563306 59.546502) + (xy 38.474655 59.532462) + (xy 38.474652 59.532461) + (xy 38.471737 59.532) + (xy 38.468783 59.532) + (xy 37.959218 59.532) + (xy 37.959205 59.532) + (xy 37.956264 59.532001) + (xy 37.95335 59.532462) + (xy 37.953343 59.532463) + (xy 37.864692 59.546503) + (xy 37.86469 59.546503) + (xy 37.858847 59.547429) + (xy 37.853577 59.550113) + (xy 37.853574 59.550115) + (xy 37.74671 59.604565) + (xy 37.746706 59.604567) + (xy 37.741434 59.607254) + (xy 37.737247 59.61144) + (xy 37.737244 59.611443) + (xy 37.652443 59.696244) + (xy 37.65244 59.696247) + (xy 37.648254 59.700434) + (xy 37.645567 59.705707) + (xy 37.645563 59.705713) + (xy 37.61336 59.768914) + (xy 37.585189 59.799171) + (xy 37.545282 59.809965) + (xy 37.5057 59.798035) + (xy 37.482654 59.783224) + (xy 37.455686 59.765892) + (xy 37.423602 59.745272) + (xy 37.423599 59.74527) + (xy 37.419081 59.742367) + (xy 37.413925 59.740853) + (xy 37.413923 59.740852) + (xy 37.287447 59.703715) + (xy 37.287442 59.703714) + (xy 37.282285 59.7022) + (xy 37.139715 59.7022) + (xy 37.134558 59.703714) + (xy 37.134552 59.703715) + (xy 37.008076 59.740852) + (xy 37.008071 59.740854) + (xy 37.002919 59.742367) + (xy 36.998403 59.745269) + (xy 36.998397 59.745272) + (xy 36.887505 59.816539) + (xy 36.887499 59.816543) + (xy 36.882982 59.819447) + (xy 36.879461 59.823509) + (xy 36.87946 59.823511) + (xy 36.79314 59.923128) + (xy 36.793136 59.923133) + (xy 36.789618 59.927194) + (xy 36.787385 59.932082) + (xy 36.787382 59.932088) + (xy 36.732626 60.051987) + (xy 36.732624 60.051993) + (xy 36.730392 60.056881) + (xy 36.729626 60.062202) + (xy 36.729625 60.062209) + (xy 36.720148 60.128116) + (xy 36.698888 60.170587) + (xy 35.734592 61.134884) + (xy 35.734577 61.134894) + (xy 35.734571 61.134899) + (xy 35.734567 61.134903) + (xy 35.643462 61.226009) + (xy 35.643453 61.226018) + (xy 35.641966 61.227506) + (xy 35.640656 61.229148) + (xy 35.640645 61.229161) + (xy 35.479962 61.430652) + (xy 35.47995 61.430668) + (xy 35.478646 61.432304) + (xy 35.477528 61.434081) + (xy 35.477521 61.434093) + (xy 35.340406 61.652313) + (xy 35.340399 61.652324) + (xy 35.339284 61.6541) + (xy 35.338372 61.655991) + (xy 35.338369 61.655999) + (xy 35.226545 61.888206) + (xy 35.226541 61.888213) + (xy 35.225631 61.890105) + (xy 35.224938 61.892084) + (xy 35.224934 61.892095) + (xy 35.13981 62.135366) + (xy 35.139807 62.135375) + (xy 35.139116 62.137351) + (xy 35.138652 62.13938) + (xy 35.138648 62.139397) + (xy 35.083758 62.379892) + (xy 35.080828 62.392729) + (xy 35.080593 62.394807) + (xy 35.080591 62.394824) + (xy 35.052742 62.642) + (xy 35.0515 62.653027) + (xy 35.0515 62.655144) + (xy 35.0515 62.781538) + (xy 35.051339 62.786455) + (xy 35.051065 62.79064) + (xy 35.040504 62.951758) + (xy 35.03922 62.96151) + (xy 35.007383 63.121562) + (xy 35.004837 63.131063) + (xy 34.952382 63.285589) + (xy 34.948617 63.294678) + (xy 34.876436 63.441042) + (xy 34.871518 63.449561) + (xy 34.780853 63.585247) + (xy 34.774865 63.59305) + (xy 34.66553 63.71772) + (xy 34.662166 63.721312) + (xy 34.62524 63.758237) + (xy 34.625226 63.758251) + (xy 33.185572 65.197904) + (xy 33.15067 65.217676) + (xy 33.110568 65.216692) + (xy 32.940603 65.165133) + (xy 32.940601 65.165132) + (xy 32.937072 65.164062) + (xy 32.933401 65.1637) + (xy 32.933399 65.1637) + (xy 32.736676 65.144325) + (xy 32.733 65.143963) + (xy 32.729324 65.144325) + (xy 32.5326 65.1637) + (xy 32.532596 65.1637) + (xy 32.528928 65.164062) + (xy 32.5254 65.165132) + (xy 32.525396 65.165133) + (xy 32.33623 65.222516) + (xy 32.336222 65.222519) + (xy 32.332699 65.223588) + (xy 32.329447 65.225325) + (xy 32.329445 65.225327) + (xy 32.155111 65.31851) + (xy 32.155106 65.318512) + (xy 32.151853 65.320252) + (xy 32.149 65.322593) + (xy 32.148993 65.322598) + (xy 31.996195 65.447996) + (xy 31.996189 65.448001) + (xy 31.99334 65.45034) + (xy 31.991001 65.453189) + (xy 31.990996 65.453195) + (xy 31.865598 65.605993) + (xy 31.865593 65.606) + (xy 31.863252 65.608853) + (xy 31.861512 65.612106) + (xy 31.86151 65.612111) + (xy 31.770194 65.782952) + (xy 31.766588 65.789699) + (xy 31.765519 65.793222) + (xy 31.765516 65.79323) + (xy 31.709912 65.976532) + (xy 31.707062 65.985928) + (xy 31.7067 65.989596) + (xy 31.7067 65.9896) + (xy 31.687325 66.186324) + (xy 31.686963 66.19) + (xy 31.238173 66.19) + (xy 31.238173 66.186325) + (xy 31.218807 65.989701) + (xy 31.217372 65.982491) + (xy 31.16002 65.793426) + (xy 31.157207 65.786634) + (xy 31.06407 65.612386) + (xy 31.059988 65.606278) + (xy 31.019939 65.557477) + (xy 31.013095 65.552741) + (xy 31.005816 65.556787) + (xy 30.379605 66.182999) + (xy 30.375563 66.19) + (xy 30.010436 66.19) + (xy 30.006394 66.182999) + (xy 29.380182 65.556787) + (xy 29.372903 65.552742) + (xy 29.366058 65.557479) + (xy 29.326008 65.606281) + (xy 29.321931 65.612383) + (xy 29.228792 65.786634) + (xy 29.225979 65.793426) + (xy 29.168627 65.982491) + (xy 29.167192 65.989701) + (xy 29.147827 66.186325) + (xy 29.147827 66.193675) + (xy 25 66.193675) + (xy 25 65.369903) + (xy 29.555742 65.369903) + (xy 29.559787 65.377182) + (xy 30.185999 66.003394) + (xy 30.193 66.007436) + (xy 30.2 66.003394) + (xy 30.826211 65.377182) + (xy 30.830257 65.369903) + (xy 30.825521 65.363059) + (xy 30.776722 65.323011) + (xy 30.770613 65.318929) + (xy 30.596365 65.225792) + (xy 30.589573 65.222979) + (xy 30.400508 65.165627) + (xy 30.393298 65.164192) + (xy 30.196675 65.144827) + (xy 30.189325 65.144827) + (xy 29.992701 65.164192) + (xy 29.985491 65.165627) + (xy 29.796426 65.222979) + (xy 29.789634 65.225792) + (xy 29.615383 65.318931) + (xy 29.609281 65.323008) + (xy 29.560479 65.363058) + (xy 29.555742 65.369903) + (xy 25 65.369903) + (xy 25 64.470095) + (xy 29.555741 64.470095) + (xy 29.560477 64.476939) + (xy 29.609278 64.516988) + (xy 29.615386 64.52107) + (xy 29.789634 64.614207) + (xy 29.796426 64.61702) + (xy 29.985491 64.674372) + (xy 29.992701 64.675807) + (xy 30.189325 64.695173) + (xy 30.196675 64.695173) + (xy 30.393298 64.675807) + (xy 30.400508 64.674372) + (xy 30.589573 64.61702) + (xy 30.596365 64.614207) + (xy 30.770613 64.52107) + (xy 30.776721 64.516988) + (xy 30.82552 64.476939) + (xy 30.830257 64.470096) + (xy 30.826211 64.462816) + (xy 30.2 63.836605) + (xy 30.192999 63.832563) + (xy 30.185999 63.836605) + (xy 29.559787 64.462816) + (xy 29.555741 64.470095) + (xy 25 64.470095) + (xy 25 63.653675) + (xy 29.147827 63.653675) + (xy 29.167192 63.850298) + (xy 29.168627 63.857508) + (xy 29.225979 64.046573) + (xy 29.228792 64.053365) + (xy 29.321929 64.227613) + (xy 29.326011 64.233722) + (xy 29.366059 64.282521) + (xy 29.372903 64.287257) + (xy 29.380182 64.283211) + (xy 30.006394 63.657) + (xy 30.010436 63.65) + (xy 30.375563 63.65) + (xy 30.379605 63.657) + (xy 31.005816 64.283211) + (xy 31.013096 64.287257) + (xy 31.019939 64.28252) + (xy 31.059988 64.233721) + (xy 31.06407 64.227613) + (xy 31.157207 64.053365) + (xy 31.16002 64.046573) + (xy 31.217372 63.857508) + (xy 31.218807 63.850298) + (xy 31.238173 63.653675) + (xy 31.238173 63.65) + (xy 31.686963 63.65) + (xy 31.687325 63.653675) + (xy 31.687325 63.653676) + (xy 31.705431 63.837518) + (xy 31.707062 63.854072) + (xy 31.708132 63.857601) + (xy 31.708133 63.857603) + (xy 31.765516 64.046769) + (xy 31.765518 64.046774) + (xy 31.766588 64.050301) + (xy 31.833256 64.175029) + (xy 31.855368 64.216398) + (xy 31.863252 64.231147) + (xy 31.865596 64.234003) + (xy 31.865598 64.234006) + (xy 31.977009 64.369761) + (xy 31.99334 64.38966) + (xy 31.996195 64.392003) + (xy 32.117482 64.491541) + (xy 32.151853 64.519748) + (xy 32.332699 64.616412) + (xy 32.528928 64.675938) + (xy 32.700814 64.692867) + (xy 32.724227 64.695173) + (xy 32.733 64.696037) + (xy 32.741773 64.695173) + (xy 32.748539 64.694506) + (xy 32.937072 64.675938) + (xy 33.133301 64.616412) + (xy 33.314147 64.519748) + (xy 33.47266 64.38966) + (xy 33.602748 64.231147) + (xy 33.699412 64.050301) + (xy 33.758938 63.854072) + (xy 33.772338 63.71801) + (xy 33.781443 63.688855) + (xy 33.801394 63.665725) + (xy 33.884786 63.601737) + (xy 33.945108 63.541414) + (xy 33.96557 63.52095) + (xy 33.965572 63.520949) + (xy 33.965573 63.52095) + (xy 34.004358 63.482164) + (xy 34.004358 63.482162) + (xy 34.178744 63.307777) + (xy 34.178763 63.307763) + (xy 34.178767 63.307767) + (xy 34.262791 63.223743) + (xy 34.410967 63.037936) + (xy 34.537407 62.836706) + (xy 34.640522 62.622584) + (xy 34.719013 62.398264) + (xy 34.771895 62.166566) + (xy 34.798501 61.930404) + (xy 34.7985 61.811576) + (xy 34.7985 61.785237) + (xy 34.7985 58.92202) + (xy 34.798618 58.917804) + (xy 34.807214 58.764735) + (xy 34.81248 58.670952) + (xy 37.123 58.670952) + (xy 37.123319 58.67338) + (xy 37.12332 58.673385) + (xy 37.12438 58.681433) + (xy 37.129539 58.720619) + (xy 37.131967 58.725827) + (xy 37.131969 58.725832) + (xy 37.168405 58.80397) + (xy 37.18036 58.829607) + (xy 37.265393 58.91464) + (xy 37.334816 58.947012) + (xy 37.369167 58.96303) + (xy 37.369168 58.96303) + (xy 37.374381 58.965461) + (xy 37.424048 58.972) + (xy 38.676495 58.972) + (xy 38.678952 58.972) + (xy 38.728619 58.965461) + (xy 38.796968 58.93359) + (xy 38.798137 58.933045) + (xy 38.829917 58.926) + (xy 38.833703 58.926) + (xy 38.874359 58.937938) + (xy 38.902106 58.96996) + (xy 38.906984 58.98064) + (xy 38.946382 59.066911) + (xy 38.946383 59.066913) + (xy 38.948618 59.071806) + (xy 39.041982 59.179553) + (xy 39.161919 59.256633) + (xy 39.298715 59.2968) + (xy 39.435904 59.2968) + (xy 39.441285 59.2968) + (xy 39.578081 59.256633) + (xy 39.698018 59.179553) + (xy 39.791382 59.071806) + (xy 39.850608 58.942119) + (xy 39.870898 58.801) + (xy 39.850608 58.659881) + (xy 39.791382 58.530194) + (xy 39.77898 58.515882) + (xy 39.760325 58.494352) + (xy 39.698018 58.422447) + (xy 39.693496 58.419541) + (xy 39.693494 58.419539) + (xy 39.582602 58.348272) + (xy 39.582599 58.34827) + (xy 39.578081 58.345367) + (xy 39.54781 58.336478) + (xy 39.515824 58.317499) + (xy 39.385321 58.186996) + (xy 39.379701 58.180708) + (xy 39.359608 58.155512) + (xy 39.359604 58.155508) + (xy 39.356095 58.151108) + (xy 39.355065 58.150406) + (xy 39.334008 58.113934) + (xy 39.33732 58.069727) + (xy 39.36496 58.035067) + (xy 39.407322 58.022) + (xy 40.5008 58.022) + (xy 40.5384 58.032075) + (xy 40.565925 58.0596) + (xy 40.576 58.0972) + (xy 40.576 59.474526) + (xy 40.570276 59.503304) + (xy 40.553974 59.527701) + (xy 40.408666 59.673007) + (xy 40.374955 59.69247) + (xy 40.336029 59.69247) + (xy 40.302318 59.673006) + (xy 40.240755 59.611443) + (xy 40.236566 59.607254) + (xy 40.231289 59.604565) + (xy 40.124426 59.550115) + (xy 40.124422 59.550113) + (xy 40.119153 59.547429) + (xy 40.113311 59.546503) + (xy 40.113306 59.546502) + (xy 40.024655 59.532462) + (xy 40.024652 59.532461) + (xy 40.021737 59.532) + (xy 40.018783 59.532) + (xy 39.509218 59.532) + (xy 39.509205 59.532) + (xy 39.506264 59.532001) + (xy 39.50335 59.532462) + (xy 39.503343 59.532463) + (xy 39.414692 59.546503) + (xy 39.41469 59.546503) + (xy 39.408847 59.547429) + (xy 39.403577 59.550113) + (xy 39.403574 59.550115) + (xy 39.29671 59.604565) + (xy 39.296706 59.604567) + (xy 39.291434 59.607254) + (xy 39.287247 59.61144) + (xy 39.287244 59.611443) + (xy 39.202443 59.696244) + (xy 39.20244 59.696247) + (xy 39.198254 59.700434) + (xy 39.195567 59.705706) + (xy 39.195565 59.70571) + (xy 39.141115 59.812573) + (xy 39.141112 59.812579) + (xy 39.138429 59.817847) + (xy 39.137504 59.823686) + (xy 39.137502 59.823693) + (xy 39.123462 59.912343) + (xy 39.123 59.915263) + (xy 39.123 59.918215) + (xy 39.123 59.918216) + (xy 39.123 60.477781) + (xy 39.123 60.477793) + (xy 39.123001 60.480736) + (xy 39.123462 60.48365) + (xy 39.123463 60.483656) + (xy 39.136703 60.567257) + (xy 39.138429 60.578153) + (xy 39.141114 60.583423) + (xy 39.141115 60.583425) + (xy 39.195564 60.690288) + (xy 39.198254 60.695566) + (xy 39.291434 60.788746) + (xy 39.327758 60.807254) + (xy 39.365461 60.826465) + (xy 39.408847 60.848571) + (xy 39.414692 60.849496) + (xy 39.414693 60.849497) + (xy 39.425571 60.851219) + (xy 39.506263 60.864) + (xy 40.021736 60.863999) + (xy 40.119153 60.848571) + (xy 40.236566 60.788746) + (xy 40.329746 60.695566) + (xy 40.335609 60.684058) + (xy 40.363322 60.654081) + (xy 40.402613 60.643) + (xy 40.483793 60.643) + (xy 40.492212 60.643473) + (xy 40.529827 60.647711) + (xy 40.586177 60.637048) + (xy 40.588933 60.63658) + (xy 40.645647 60.628033) + (xy 40.650731 60.625583) + (xy 40.652984 60.624889) + (xy 40.653436 60.624777) + (xy 40.653878 60.624594) + (xy 40.656087 60.62382) + (xy 40.661634 60.622772) + (xy 40.712348 60.595967) + (xy 40.714825 60.594718) + (xy 40.766509 60.569829) + (xy 40.770641 60.565993) + (xy 40.772594 60.564663) + (xy 40.772991 60.564423) + (xy 40.773355 60.564122) + (xy 40.775246 60.562726) + (xy 40.780235 60.56009) + (xy 40.820822 60.519501) + (xy 40.822766 60.517628) + (xy 40.864844 60.478587) + (xy 40.867664 60.4737) + (xy 40.869137 60.471854) + (xy 40.87475 60.465573) + (xy 41.315014 60.025309) + (xy 41.321283 60.019706) + (xy 41.340426 60.004441) + (xy 45.381501 60.004441) + (xy 45.381821 60.009336) + (xy 45.387276 60.050779) + (xy 45.390461 60.061705) + (xy 45.435993 60.159349) + (xy 45.443431 60.169971) + (xy 45.519028 60.245568) + (xy 45.52965 60.253006) + (xy 45.627298 60.29854) + (xy 45.638215 60.301722) + (xy 45.679663 60.307179) + (xy 45.684557 60.3075) + (xy 46.410098 60.3075) + (xy 46.417907 60.305407) + (xy 46.42 60.297598) + (xy 46.42 60.297597) + (xy 46.674 60.297597) + (xy 46.676092 60.305406) + (xy 46.683902 60.307499) + (xy 47.409441 60.307499) + (xy 47.414336 60.307178) + (xy 47.455779 60.301723) + (xy 47.466705 60.298538) + (xy 47.564349 60.253006) + (xy 47.574971 60.245568) + (xy 47.650568 60.169971) + (xy 47.658006 60.159349) + (xy 47.70354 60.061701) + (xy 47.706722 60.050784) + (xy 47.712179 60.009336) + (xy 47.7125 60.004443) + (xy 47.7125 59.953902) + (xy 47.710407 59.946092) + (xy 47.702598 59.944) + (xy 46.683902 59.944) + (xy 46.676092 59.946092) + (xy 46.674 59.953902) + (xy 46.674 60.297597) + (xy 46.42 60.297597) + (xy 46.42 59.953902) + (xy 46.417907 59.946092) + (xy 46.410098 59.944) + (xy 45.391403 59.944) + (xy 45.383593 59.946092) + (xy 45.381501 59.953902) + (xy 45.381501 60.004441) + (xy 41.340426 60.004441) + (xy 41.350892 59.996095) + (xy 41.35407 59.991434) + (xy 41.38319 59.948723) + (xy 41.384818 59.946428) + (xy 41.38661 59.944) + (xy 41.418874 59.900284) + (xy 41.420737 59.894958) + (xy 41.421836 59.892879) + (xy 41.422078 59.892476) + (xy 41.422257 59.892045) + (xy 41.423279 59.889921) + (xy 41.426459 59.885259) + (xy 41.442309 59.833875) + (xy 41.443306 59.830643) + (xy 41.465687 59.796177) + (xy 41.502845 59.778624) + (xy 41.543681 59.783224) + (xy 41.576002 59.808605) + (xy 41.578043 59.811415) + (xy 41.580731 59.816689) + (xy 41.668311 59.904269) + (xy 41.703226 59.922059) + (xy 41.772448 59.95733) + (xy 41.778668 59.960499) + (xy 41.784513 59.961424) + (xy 41.784514 59.961425) + (xy 41.79573 59.963201) + (xy 41.870226 59.975) + (xy 42.32882 59.975) + (xy 42.331774 59.975) + (xy 42.423332 59.960499) + (xy 42.533689 59.904269) + (xy 42.621269 59.816689) + (xy 42.677499 59.706332) + (xy 42.692 59.614774) + (xy 42.692 59.611779) + (xy 43.160501 59.611779) + (xy 43.160963 59.617654) + (xy 43.174057 59.700328) + (xy 43.177669 59.711447) + (xy 43.228452 59.811114) + (xy 43.23533 59.82058) + (xy 43.314419 59.899669) + (xy 43.323885 59.906547) + (xy 43.423551 59.95733) + (xy 43.434671 59.960943) + (xy 43.517346 59.974037) + (xy 43.523219 59.9745) + (xy 43.614098 59.9745) + (xy 43.621907 59.972407) + (xy 43.624 59.964598) + (xy 43.624 59.964597) + (xy 43.878 59.964597) + (xy 43.880092 59.972406) + (xy 43.887902 59.974499) + (xy 43.978779 59.974499) + (xy 43.984654 59.974036) + (xy 44.067328 59.960942) + (xy 44.078447 59.95733) + (xy 44.178114 59.906547) + (xy 44.18758 59.899669) + (xy 44.266669 59.82058) + (xy 44.273547 59.811114) + (xy 44.32433 59.711448) + (xy 44.327943 59.700328) + (xy 44.331147 59.680098) + (xy 45.3815 59.680098) + (xy 45.383592 59.687907) + (xy 45.391402 59.69) + (xy 46.410098 59.69) + (xy 46.417907 59.687907) + (xy 46.42 59.680098) + (xy 46.674 59.680098) + (xy 46.676092 59.687907) + (xy 46.683902 59.69) + (xy 47.702597 59.69) + (xy 47.710406 59.687907) + (xy 47.712499 59.680098) + (xy 47.712499 59.629559) + (xy 47.712178 59.624663) + (xy 47.706723 59.58322) + (xy 47.703538 59.572294) + (xy 47.658006 59.47465) + (xy 47.650568 59.464028) + (xy 47.574971 59.388431) + (xy 47.564349 59.380993) + (xy 47.466701 59.335459) + (xy 47.455784 59.332277) + (xy 47.414336 59.32682) + (xy 47.409443 59.3265) + (xy 46.683902 59.3265) + (xy 46.676092 59.328592) + (xy 46.674 59.336402) + (xy 46.674 59.680098) + (xy 46.42 59.680098) + (xy 46.42 59.336403) + (xy 46.417907 59.328593) + (xy 46.410098 59.326501) + (xy 45.684559 59.326501) + (xy 45.679663 59.326821) + (xy 45.63822 59.332276) + (xy 45.627294 59.335461) + (xy 45.52965 59.380993) + (xy 45.519028 59.388431) + (xy 45.443431 59.464028) + (xy 45.435993 59.47465) + (xy 45.390459 59.572298) + (xy 45.387277 59.583215) + (xy 45.38182 59.624663) + (xy 45.3815 59.629557) + (xy 45.3815 59.680098) + (xy 44.331147 59.680098) + (xy 44.341037 59.617653) + (xy 44.3415 59.611781) + (xy 44.3415 59.445902) + (xy 44.339407 59.438092) + (xy 44.331598 59.436) + (xy 43.887902 59.436) + (xy 43.880092 59.438092) + (xy 43.878 59.445902) + (xy 43.878 59.964597) + (xy 43.624 59.964597) + (xy 43.624 59.445902) + (xy 43.621907 59.438092) + (xy 43.614098 59.436) + (xy 43.170403 59.436) + (xy 43.162593 59.438092) + (xy 43.160501 59.445902) + (xy 43.160501 59.611779) + (xy 42.692 59.611779) + (xy 42.692 59.172098) + (xy 43.1605 59.172098) + (xy 43.162592 59.179907) + (xy 43.170402 59.182) + (xy 43.614098 59.182) + (xy 43.621907 59.179907) + (xy 43.624 59.172098) + (xy 43.878 59.172098) + (xy 43.880092 59.179907) + (xy 43.887902 59.182) + (xy 44.331597 59.182) + (xy 44.339406 59.179907) + (xy 44.341499 59.172098) + (xy 44.341499 59.006221) + (xy 44.341036 59.000345) + (xy 44.327942 58.917671) + (xy 44.32433 58.906552) + (xy 44.273547 58.806885) + (xy 44.266669 58.797419) + (xy 44.18758 58.71833) + (xy 44.178114 58.711452) + (xy 44.078448 58.660669) + (xy 44.067328 58.657056) + (xy 43.984653 58.643962) + (xy 43.978781 58.6435) + (xy 43.887902 58.6435) + (xy 43.880092 58.645592) + (xy 43.878 58.653402) + (xy 43.878 59.172098) + (xy 43.624 59.172098) + (xy 43.624 58.653403) + (xy 43.621907 58.645593) + (xy 43.614098 58.643501) + (xy 43.523221 58.643501) + (xy 43.517345 58.643963) + (xy 43.434671 58.657057) + (xy 43.423552 58.660669) + (xy 43.323885 58.711452) + (xy 43.314419 58.71833) + (xy 43.23533 58.797419) + (xy 43.228452 58.806885) + (xy 43.177669 58.906551) + (xy 43.174056 58.917671) + (xy 43.160962 59.000346) + (xy 43.1605 59.006219) + (xy 43.1605 59.172098) + (xy 42.692 59.172098) + (xy 42.692 59.003226) + (xy 42.677499 58.911668) + (xy 42.669315 58.895607) + (xy 42.638057 58.834259) + (xy 42.621269 58.801311) + (xy 42.568025 58.748067) + (xy 42.551724 58.723672) + (xy 42.546 58.694894) + (xy 42.546 58.145106) + (xy 42.551724 58.116328) + (xy 42.568026 58.091932) + (xy 42.590231 58.069727) + (xy 42.621269 58.038689) + (xy 42.677499 57.928332) + (xy 42.692 57.836774) + (xy 42.692 57.225226) + (xy 42.686822 57.192532) + (xy 42.694092 57.146629) + (xy 42.726956 57.113765) + (xy 42.77286 57.106495) + (xy 42.81427 57.127595) + (xy 43.137974 57.451299) + (xy 43.154276 57.475695) + (xy 43.16 57.504473) + (xy 43.16 57.836774) + (xy 43.160461 57.83969) + (xy 43.160462 57.839692) + (xy 43.173574 57.922485) + (xy 43.173575 57.92249) + (xy 43.174501 57.928332) + (xy 43.177185 57.9336) + (xy 43.177187 57.933605) + (xy 43.220748 58.019097) + (xy 43.230731 58.038689) + (xy 43.318311 58.126269) + (xy 43.369739 58.152473) + (xy 43.411006 58.1735) + (xy 43.428668 58.182499) + (xy 43.434513 58.183424) + (xy 43.434514 58.183425) + (xy 43.443285 58.184814) + (xy 43.520226 58.197) + (xy 43.97882 58.197) + (xy 43.981774 58.197) + (xy 44.073332 58.182499) + (xy 44.183689 58.126269) + (xy 44.187875 58.122082) + (xy 44.192027 58.119066) + (xy 44.224465 58.105629) + (xy 44.259467 58.108383) + (xy 44.289404 58.126729) + (xy 45.003682 58.841007) + (xy 45.009301 58.847294) + (xy 45.032905 58.876892) + (xy 45.037559 58.880065) + (xy 45.080266 58.909183) + (xy 45.082559 58.91081) + (xy 45.124182 58.941529) + (xy 45.128716 58.944875) + (xy 45.134034 58.946735) + (xy 45.136135 58.947846) + (xy 45.136524 58.948081) + (xy 45.136957 58.94826) + (xy 45.139085 58.949285) + (xy 45.143741 58.952459) + (xy 45.198533 58.96936) + (xy 45.201184 58.970232) + (xy 45.250015 58.98732) + (xy 45.250018 58.98732) + (xy 45.255335 58.989181) + (xy 45.260964 58.989391) + (xy 45.263293 58.989832) + (xy 45.263737 58.989942) + (xy 45.264205 58.989986) + (xy 45.266538 58.990337) + (xy 45.271927 58.992) + (xy 45.329293 58.992) + (xy 45.332103 58.992052) + (xy 45.389386 58.994196) + (xy 45.394827 58.992738) + (xy 45.397181 58.992473) + (xy 45.405599 58.992) + (xy 45.531083 58.992) + (xy 45.562863 58.999045) + (xy 45.565651 59.000345) + (xy 45.632381 59.031461) + (xy 45.682048 59.038) + (xy 47.409495 59.038) + (xy 47.411952 59.038) + (xy 47.461619 59.031461) + (xy 47.570607 58.98064) + (xy 47.65564 58.895607) + (xy 47.706461 58.786619) + (xy 47.713 58.736952) + (xy 47.713 58.357048) + (xy 47.706461 58.307381) + (xy 47.702325 58.298512) + (xy 47.684302 58.25986) + (xy 47.65564 58.198393) + (xy 47.570607 58.11336) + (xy 47.554028 58.105629) + (xy 47.466832 58.064969) + (xy 47.466827 58.064967) + (xy 47.461619 58.062539) + (xy 47.455917 58.061788) + (xy 47.455916 58.061788) + (xy 47.414385 58.05632) + (xy 47.41438 58.056319) + (xy 47.411952 58.056) + (xy 45.682048 58.056) + (xy 45.67962 58.056319) + (xy 45.679614 58.05632) + (xy 45.638083 58.061788) + (xy 45.638081 58.061788) + (xy 45.632381 58.062539) + (xy 45.627173 58.064967) + (xy 45.627164 58.06497) + (xy 45.578813 58.087516) + (xy 45.533975 58.093418) + (xy 45.49386 58.072535) + (xy 44.888277 57.466952) + (xy 45.381 57.466952) + (xy 45.381319 57.46938) + (xy 45.38132 57.469385) + (xy 45.386788 57.510916) + (xy 45.387539 57.516619) + (xy 45.389967 57.521827) + (xy 45.389969 57.521832) + (xy 45.427132 57.601528) + (xy 45.43836 57.625607) + (xy 45.523393 57.71064) + (xy 45.587976 57.740755) + (xy 45.627167 57.75903) + (xy 45.627168 57.75903) + (xy 45.632381 57.761461) + (xy 45.682048 57.768) + (xy 47.409495 57.768) + (xy 47.411952 57.768) + (xy 47.461619 57.761461) + (xy 47.531136 57.729045) + (xy 47.562917 57.722) + (xy 48.357793 57.722) + (xy 48.366212 57.722473) + (xy 48.403827 57.726711) + (xy 48.460177 57.716048) + (xy 48.462933 57.71558) + (xy 48.519647 57.707033) + (xy 48.524731 57.704583) + (xy 48.526984 57.703889) + (xy 48.527436 57.703777) + (xy 48.527878 57.703594) + (xy 48.530087 57.70282) + (xy 48.535634 57.701772) + (xy 48.586348 57.674967) + (xy 48.588825 57.673718) + (xy 48.640509 57.648829) + (xy 48.644641 57.644993) + (xy 48.646594 57.643663) + (xy 48.646991 57.643423) + (xy 48.647355 57.643122) + (xy 48.649246 57.641726) + (xy 48.654235 57.63909) + (xy 48.694822 57.598501) + (xy 48.696766 57.596628) + (xy 48.738844 57.557587) + (xy 48.741664 57.5527) + (xy 48.743137 57.550854) + (xy 48.74875 57.544573) + (xy 49.062014 57.231309) + (xy 49.068295 57.225697) + (xy 49.089916 57.208456) + (xy 49.128382 57.192524) + (xy 49.169429 57.199499) + (xy 49.200474 57.227243) + (xy 49.212 57.267251) + (xy 49.212 59.279793) + (xy 49.211527 59.288212) + (xy 49.207919 59.320229) + (xy 49.207919 59.320233) + (xy 49.207289 59.325827) + (xy 49.208335 59.33136) + (xy 49.208336 59.331362) + (xy 49.217947 59.38216) + (xy 49.218418 59.384931) + (xy 49.222611 59.412751) + (xy 49.226967 59.441647) + (xy 49.229411 59.446722) + (xy 49.23011 59.448988) + (xy 49.230221 59.449435) + (xy 49.230394 59.449853) + (xy 49.231181 59.452102) + (xy 49.232228 59.457634) + (xy 49.241221 59.47465) + (xy 49.259022 59.508332) + (xy 49.260281 59.510825) + (xy 49.285171 59.562509) + (xy 49.289 59.566636) + (xy 49.29034 59.568601) + (xy 49.290575 59.568992) + (xy 49.290863 59.569339) + (xy 49.292278 59.571256) + (xy 49.29491 59.576235) + (xy 49.298894 59.580219) + (xy 49.335458 59.616783) + (xy 49.337409 59.618808) + (xy 49.376413 59.660844) + (xy 49.381291 59.66366) + (xy 49.383148 59.665141) + (xy 49.389435 59.67076) + (xy 49.829682 60.111007) + (xy 49.835301 60.117294) + (xy 49.858905 60.146892) + (xy 49.906291 60.1792) + (xy 49.908568 60.180817) + (xy 49.950176 60.211524) + (xy 49.950178 60.211525) + (xy 49.954716 60.214874) + (xy 49.960039 60.216736) + (xy 49.962129 60.217841) + (xy 49.962528 60.218081) + (xy 49.962949 60.218256) + (xy 49.965085 60.219284) + (xy 49.969741 60.222459) + (xy 50.021776 60.23851) + (xy 50.024551 60.239366) + (xy 50.02722 60.240244) + (xy 50.081335 60.25918) + (xy 50.086973 60.25939) + (xy 50.089274 60.259826) + (xy 50.089737 60.259941) + (xy 50.090188 60.259983) + (xy 50.092536 60.260337) + (xy 50.097927 60.262) + (xy 50.155303 60.262) + (xy 50.158115 60.262053) + (xy 50.215386 60.264196) + (xy 50.220831 60.262736) + (xy 50.223173 60.262473) + (xy 50.231593 60.262) + (xy 50.481083 60.262) + (xy 50.512863 60.269045) + (xy 50.582381 60.301461) + (xy 50.632048 60.308) + (xy 52.359495 60.308) + (xy 52.361952 60.308) + (xy 52.411619 60.301461) + (xy 52.520607 60.25064) + (xy 52.60564 60.165607) + (xy 52.656461 60.056619) + (xy 52.663 60.006952) + (xy 52.663 59.627048) + (xy 52.656461 59.577381) + (xy 52.60564 59.468393) + (xy 52.520607 59.38336) + (xy 52.470839 59.360153) + (xy 52.416832 59.334969) + (xy 52.416827 59.334967) + (xy 52.411619 59.332539) + (xy 52.405917 59.331788) + (xy 52.405916 59.331788) + (xy 52.364385 59.32632) + (xy 52.36438 59.326319) + (xy 52.361952 59.326) + (xy 50.632048 59.326) + (xy 50.62962 59.326319) + (xy 50.629614 59.32632) + (xy 50.588083 59.331788) + (xy 50.588081 59.331788) + (xy 50.582381 59.332539) + (xy 50.577168 59.334969) + (xy 50.577167 59.33497) + (xy 50.512863 59.364955) + (xy 50.481083 59.372) + (xy 50.380473 59.372) + (xy 50.351695 59.366276) + (xy 50.327299 59.349974) + (xy 50.124026 59.146701) + (xy 50.107724 59.122305) + (xy 50.102 59.093527) + (xy 50.102 58.736952) + (xy 50.331 58.736952) + (xy 50.331319 58.73938) + (xy 50.33132 58.739385) + (xy 50.334658 58.764735) + (xy 50.337539 58.786619) + (xy 50.339967 58.791827) + (xy 50.339969 58.791832) + (xy 50.377579 58.872487) + (xy 50.38836 58.895607) + (xy 50.473393 58.98064) + (xy 50.528253 59.006221) + (xy 50.577167 59.02903) + (xy 50.577168 59.02903) + (xy 50.582381 59.031461) + (xy 50.632048 59.038) + (xy 52.359495 59.038) + (xy 52.361952 59.038) + (xy 52.393866 59.033798) + (xy 52.427854 59.037146) + (xy 52.456856 59.055181) + (xy 53.131682 59.730007) + (xy 53.137301 59.736294) + (xy 53.140936 59.740852) + (xy 53.160905 59.765892) + (xy 53.165559 59.769065) + (xy 53.208266 59.798183) + (xy 53.210559 59.79981) + (xy 53.248058 59.827485) + (xy 53.256716 59.833875) + (xy 53.262034 59.835735) + (xy 53.264135 59.836846) + (xy 53.264524 59.837081) + (xy 53.264957 59.83726) + (xy 53.267085 59.838285) + (xy 53.271741 59.841459) + (xy 53.326533 59.85836) + (xy 53.329184 59.859232) + (xy 53.378015 59.87632) + (xy 53.378018 59.87632) + (xy 53.383335 59.878181) + (xy 53.388964 59.878391) + (xy 53.391293 59.878832) + (xy 53.391737 59.878942) + (xy 53.392205 59.878986) + (xy 53.394538 59.879337) + (xy 53.399927 59.881) + (xy 53.457293 59.881) + (xy 53.460103 59.881052) + (xy 53.517386 59.883196) + (xy 53.522827 59.881738) + (xy 53.525181 59.881473) + (xy 53.533599 59.881) + (xy 53.694706 59.881) + (xy 53.733997 59.892081) + (xy 53.761709 59.922059) + (xy 53.77004 59.938409) + (xy 53.770042 59.938412) + (xy 53.772731 59.943689) + (xy 53.860311 60.031269) + (xy 53.898611 60.050784) + (xy 53.964177 60.084192) + (xy 53.970668 60.087499) + (xy 53.976513 60.088424) + (xy 53.976514 60.088425) + (xy 53.976767 60.088465) + (xy 54.062226 60.102) + (xy 54.52082 60.102) + (xy 54.523774 60.102) + (xy 54.615332 60.087499) + (xy 54.725689 60.031269) + (xy 54.813269 59.943689) + (xy 54.869499 59.833332) + (xy 54.884 59.741774) + (xy 54.884 59.130226) + (xy 54.869499 59.038668) + (xy 54.852945 59.00618) + (xy 54.834491 58.969961) + (xy 54.813269 58.928311) + (xy 54.725689 58.840731) + (xy 54.720412 58.838042) + (xy 54.620605 58.787187) + (xy 54.6206 58.787185) + (xy 54.615332 58.784501) + (xy 54.60949 58.783575) + (xy 54.609485 58.783574) + (xy 54.526692 58.770462) + (xy 54.52669 58.770461) + (xy 54.523774 58.77) + (xy 54.062226 58.77) + (xy 54.05931 58.770461) + (xy 54.059307 58.770462) + (xy 53.976514 58.783574) + (xy 53.976507 58.783576) + (xy 53.970668 58.784501) + (xy 53.9654 58.787184) + (xy 53.965394 58.787187) + (xy 53.865587 58.838042) + (xy 53.865583 58.838044) + (xy 53.860311 58.840731) + (xy 53.856124 58.844917) + (xy 53.856121 58.84492) + (xy 53.77692 58.924121) + (xy 53.776917 58.924124) + (xy 53.772731 58.928311) + (xy 53.770043 58.933584) + (xy 53.77004 58.93359) + (xy 53.761709 58.949941) + (xy 53.733997 58.979919) + (xy 53.694706 58.991) + (xy 53.682473 58.991) + (xy 53.653695 58.985276) + (xy 53.629299 58.968974) + (xy 52.913321 58.252996) + (xy 52.907701 58.246708) + (xy 52.887611 58.221516) + (xy 52.887608 58.221513) + (xy 52.884095 58.217108) + (xy 52.879438 58.213932) + (xy 52.879435 58.21393) + (xy 52.836731 58.184814) + (xy 52.83444 58.183188) + (xy 52.792822 58.152473) + (xy 52.792816 58.15247) + (xy 52.788284 58.149125) + (xy 52.782965 58.147263) + (xy 52.780862 58.146152) + (xy 52.780476 58.145919) + (xy 52.780052 58.145744) + (xy 52.777913 58.144714) + (xy 52.773259 58.141541) + (xy 52.767876 58.13988) + (xy 52.767875 58.13988) + (xy 52.718471 58.12464) + (xy 52.715802 58.123761) + (xy 52.666988 58.106681) + (xy 52.666984 58.10668) + (xy 52.661665 58.104819) + (xy 52.656031 58.104607) + (xy 52.653702 58.104167) + (xy 52.653256 58.104056) + (xy 52.652817 58.104015) + (xy 52.650451 58.103658) + (xy 52.645073 58.102) + (xy 52.639441 58.102) + (xy 52.587707 58.102) + (xy 52.584896 58.101947) + (xy 52.533247 58.100014) + (xy 52.533242 58.100014) + (xy 52.527614 58.099804) + (xy 52.522172 58.101261) + (xy 52.521036 58.10139) + (xy 52.480841 58.094817) + (xy 52.416832 58.06497) + (xy 52.416833 58.06497) + (xy 52.411619 58.062539) + (xy 52.405917 58.061788) + (xy 52.405916 58.061788) + (xy 52.364385 58.05632) + (xy 52.36438 58.056319) + (xy 52.361952 58.056) + (xy 50.632048 58.056) + (xy 50.62962 58.056319) + (xy 50.629614 58.05632) + (xy 50.588083 58.061788) + (xy 50.588081 58.061788) + (xy 50.582381 58.062539) + (xy 50.577174 58.064966) + (xy 50.577167 58.064969) + (xy 50.479354 58.11058) + (xy 50.479352 58.110581) + (xy 50.473393 58.11336) + (xy 50.468743 58.118009) + (xy 50.46874 58.118012) + (xy 50.393012 58.19374) + (xy 50.393009 58.193743) + (xy 50.38836 58.198393) + (xy 50.385581 58.204352) + (xy 50.38558 58.204354) + (xy 50.339969 58.302167) + (xy 50.339966 58.302174) + (xy 50.337539 58.307381) + (xy 50.336788 58.313081) + (xy 50.336788 58.313083) + (xy 50.331327 58.354566) + (xy 50.331 58.357048) + (xy 50.331 58.736952) + (xy 50.102 58.736952) + (xy 50.102 57.466952) + (xy 50.331 57.466952) + (xy 50.331319 57.46938) + (xy 50.33132 57.469385) + (xy 50.336788 57.510916) + (xy 50.337539 57.516619) + (xy 50.339967 57.521827) + (xy 50.339969 57.521832) + (xy 50.377132 57.601528) + (xy 50.38836 57.625607) + (xy 50.473393 57.71064) + (xy 50.537976 57.740755) + (xy 50.577167 57.75903) + (xy 50.577168 57.75903) + (xy 50.582381 57.761461) + (xy 50.632048 57.768) + (xy 52.359495 57.768) + (xy 52.361952 57.768) + (xy 52.411619 57.761461) + (xy 52.465183 57.736483) + (xy 52.510022 57.73058) + (xy 52.550138 57.751464) + (xy 52.623685 57.825011) + (xy 52.629304 57.831298) + (xy 52.652905 57.860892) + (xy 52.70029 57.893198) + (xy 52.702543 57.894797) + (xy 52.748716 57.928875) + (xy 52.754035 57.930736) + (xy 52.756137 57.931847) + (xy 52.756525 57.932081) + (xy 52.756957 57.93226) + (xy 52.759085 57.933285) + (xy 52.763741 57.936459) + (xy 52.818533 57.95336) + (xy 52.821184 57.954232) + (xy 52.870015 57.97132) + (xy 52.870018 57.97132) + (xy 52.875335 57.973181) + (xy 52.880964 57.973391) + (xy 52.883293 57.973832) + (xy 52.883737 57.973942) + (xy 52.884205 57.973986) + (xy 52.886538 57.974337) + (xy 52.891927 57.976) + (xy 52.949293 57.976) + (xy 52.952052 57.976051) + (xy 52.977847 57.977016) + (xy 53.01212 57.986744) + (xy 53.038072 58.011163) + (xy 53.049869 58.044788) + (xy 53.05 58.046116) + (xy 53.05 58.049812) + (xy 53.05072 58.053435) + (xy 53.050721 58.053438) + (xy 53.056068 58.08032) + (xy 53.061082 58.105525) + (xy 53.065194 58.11168) + (xy 53.065196 58.111683) + (xy 53.099055 58.162355) + (xy 53.103297 58.168703) + (xy 53.113607 58.175592) + (xy 53.160316 58.206803) + (xy 53.160317 58.206803) + (xy 53.166475 58.210918) + (xy 53.222188 58.222) + (xy 54.256116 58.222) + (xy 54.259812 58.222) + (xy 54.315525 58.210918) + (xy 54.378703 58.168703) + (xy 54.420918 58.105525) + (xy 54.432 58.049812) + (xy 54.432 57.012188) + (xy 54.420918 56.956475) + (xy 54.416801 56.950314) + (xy 54.382817 56.899454) + (xy 54.378703 56.893297) + (xy 54.363311 56.883012) + (xy 54.321683 56.855196) + (xy 54.32168 56.855194) + (xy 54.315525 56.851082) + (xy 54.308261 56.849637) + (xy 54.274763 56.842974) + (xy 54.259812 56.84) + (xy 53.222188 56.84) + (xy 53.218563 56.84072) + (xy 53.218563 56.840721) + (xy 53.173738 56.849637) + (xy 53.173736 56.849637) + (xy 53.166475 56.851082) + (xy 53.160321 56.855193) + (xy 53.160316 56.855196) + (xy 53.109454 56.889182) + (xy 53.109451 56.889184) + (xy 53.103297 56.893297) + (xy 53.099184 56.899451) + (xy 53.099181 56.899455) + (xy 53.091906 56.910343) + (xy 53.062428 56.936111) + (xy 53.023993 56.943568) + (xy 52.987018 56.930692) + (xy 52.96373 56.914813) + (xy 52.96144 56.913188) + (xy 52.919822 56.882473) + (xy 52.919816 56.88247) + (xy 52.915284 56.879125) + (xy 52.909965 56.877263) + (xy 52.907862 56.876152) + (xy 52.907476 56.875919) + (xy 52.907052 56.875744) + (xy 52.904913 56.874714) + (xy 52.900259 56.871541) + (xy 52.894876 56.86988) + (xy 52.894875 56.86988) + (xy 52.845471 56.85464) + (xy 52.842802 56.853761) + (xy 52.793988 56.836681) + (xy 52.793984 56.83668) + (xy 52.788665 56.834819) + (xy 52.783031 56.834607) + (xy 52.780702 56.834167) + (xy 52.780256 56.834056) + (xy 52.779817 56.834015) + (xy 52.777451 56.833658) + (xy 52.772073 56.832) + (xy 52.766441 56.832) + (xy 52.714707 56.832) + (xy 52.711896 56.831947) + (xy 52.660244 56.830014) + (xy 52.660239 56.830014) + (xy 52.654614 56.829804) + (xy 52.649173 56.831261) + (xy 52.646819 56.831527) + (xy 52.638401 56.832) + (xy 52.512917 56.832) + (xy 52.481137 56.824955) + (xy 52.416832 56.79497) + (xy 52.416833 56.79497) + (xy 52.411619 56.792539) + (xy 52.405917 56.791788) + (xy 52.405916 56.791788) + (xy 52.364385 56.78632) + (xy 52.36438 56.786319) + (xy 52.361952 56.786) + (xy 50.632048 56.786) + (xy 50.62962 56.786319) + (xy 50.629614 56.78632) + (xy 50.588083 56.791788) + (xy 50.588081 56.791788) + (xy 50.582381 56.792539) + (xy 50.577174 56.794966) + (xy 50.577167 56.794969) + (xy 50.479354 56.84058) + (xy 50.479352 56.840581) + (xy 50.473393 56.84336) + (xy 50.468743 56.848009) + (xy 50.46874 56.848012) + (xy 50.393012 56.92374) + (xy 50.393009 56.923743) + (xy 50.38836 56.928393) + (xy 50.385581 56.934352) + (xy 50.38558 56.934354) + (xy 50.339969 57.032167) + (xy 50.339966 57.032174) + (xy 50.337539 57.037381) + (xy 50.336788 57.043081) + (xy 50.336788 57.043083) + (xy 50.331469 57.083487) + (xy 50.331 57.087048) + (xy 50.331 57.466952) + (xy 50.102 57.466952) + (xy 50.102 56.920473) + (xy 50.107724 56.891695) + (xy 50.124026 56.867299) + (xy 50.689299 56.302026) + (xy 50.713695 56.285724) + (xy 50.742473 56.28) + (xy 50.97582 56.28) + (xy 50.978774 56.28) + (xy 51.070332 56.265499) + (xy 51.180689 56.209269) + (xy 51.233931 56.156026) + (xy 51.258328 56.139724) + (xy 51.287106 56.134) + (xy 51.72454 56.134) + (xy 51.753318 56.139724) + (xy 51.777714 56.156026) + (xy 51.826434 56.204746) + (xy 51.849006 56.216247) + (xy 51.925702 56.255326) + (xy 51.943847 56.264571) + (xy 51.949692 56.265496) + (xy 51.949693 56.265497) + (xy 51.949706 56.265499) + (xy 52.041263 56.28) + (xy 52.606736 56.279999) + (xy 52.704153 56.264571) + (xy 52.821566 56.204746) + (xy 52.870285 56.156026) + (xy 52.894682 56.139724) + (xy 52.92346 56.134) + (xy 53.360894 56.134) + (xy 53.389672 56.139724) + (xy 53.414068 56.156026) + (xy 53.467311 56.209269) + (xy 53.577668 56.265499) + (xy 53.583513 56.266424) + (xy 53.583514 56.266425) + (xy 53.592733 56.267885) + (xy 53.669226 56.28) + (xy 54.27782 56.28) + (xy 54.280774 56.28) + (xy 54.372332 56.265499) + (xy 54.482689 56.209269) + (xy 54.570269 56.121689) + (xy 54.626499 56.011332) + (xy 54.641 55.919774) + (xy 54.641 55.458226) + (xy 54.626499 55.366668) + (xy 54.602835 55.320226) + (xy 54.572957 55.261587) + (xy 54.570269 55.256311) + (xy 54.482689 55.168731) + (xy 54.469958 55.162244) + (xy 54.377605 55.115187) + (xy 54.3776 55.115185) + (xy 54.372332 55.112501) + (xy 54.36649 55.111575) + (xy 54.366485 55.111574) + (xy 54.283692 55.098462) + (xy 54.28369 55.098461) + (xy 54.280774 55.098) + (xy 53.669226 55.098) + (xy 53.66631 55.098461) + (xy 53.666307 55.098462) + (xy 53.583514 55.111574) + (xy 53.583507 55.111576) + (xy 53.577668 55.112501) + (xy 53.5724 55.115184) + (xy 53.572394 55.115187) + (xy 53.472587 55.166042) + (xy 53.472583 55.166044) + (xy 53.467311 55.168731) + (xy 53.463124 55.172917) + (xy 53.463121 55.17292) + (xy 53.414068 55.221974) + (xy 53.389672 55.238276) + (xy 53.360894 55.244) + (xy 53.000351 55.244) + (xy 52.961059 55.232919) + (xy 52.933348 55.20294) + (xy 52.917438 55.171715) + (xy 52.917434 55.171709) + (xy 52.914746 55.166434) + (xy 52.821566 55.073254) + (xy 52.816289 55.070565) + (xy 52.709426 55.016115) + (xy 52.709422 55.016113) + (xy 52.704153 55.013429) + (xy 52.698311 55.012503) + (xy 52.698306 55.012502) + (xy 52.609655 54.998462) + (xy 52.609652 54.998461) + (xy 52.606737 54.998) + (xy 52.603783 54.998) + (xy 52.044218 54.998) + (xy 52.044205 54.998) + (xy 52.041264 54.998001) + (xy 52.03835 54.998462) + (xy 52.038343 54.998463) + (xy 51.949692 55.012503) + (xy 51.94969 55.012503) + (xy 51.943847 55.013429) + (xy 51.938577 55.016113) + (xy 51.938574 55.016115) + (xy 51.83171 55.070565) + (xy 51.831706 55.070567) + (xy 51.826434 55.073254) + (xy 51.822247 55.07744) + (xy 51.822244 55.077443) + (xy 51.737443 55.162244) + (xy 51.73744 55.162247) + (xy 51.733254 55.166434) + (xy 51.730568 55.171704) + (xy 51.730561 55.171715) + (xy 51.714652 55.20294) + (xy 51.686941 55.232919) + (xy 51.647649 55.244) + (xy 51.287106 55.244) + (xy 51.258328 55.238276) + (xy 51.233932 55.221974) + (xy 51.184878 55.17292) + (xy 51.180689 55.168731) + (xy 51.167958 55.162244) + (xy 51.075605 55.115187) + (xy 51.0756 55.115185) + (xy 51.070332 55.112501) + (xy 51.06449 55.111575) + (xy 51.064485 55.111574) + (xy 50.981692 55.098462) + (xy 50.98169 55.098461) + (xy 50.978774 55.098) + (xy 50.367226 55.098) + (xy 50.36431 55.098461) + (xy 50.364307 55.098462) + (xy 50.281514 55.111574) + (xy 50.281507 55.111576) + (xy 50.275668 55.112501) + (xy 50.2704 55.115184) + (xy 50.270394 55.115187) + (xy 50.170587 55.166042) + (xy 50.170583 55.166044) + (xy 50.165311 55.168731) + (xy 50.161124 55.172917) + (xy 50.161121 55.17292) + (xy 50.08192 55.252121) + (xy 50.081917 55.252124) + (xy 50.077731 55.256311) + (xy 50.075044 55.261583) + (xy 50.075042 55.261587) + (xy 50.024187 55.361394) + (xy 50.024184 55.3614) + (xy 50.021501 55.366668) + (xy 50.020576 55.372507) + (xy 50.020574 55.372514) + (xy 50.007462 55.455307) + (xy 50.007 55.458226) + (xy 50.007 55.46118) + (xy 50.007 55.694527) + (xy 50.001276 55.723305) + (xy 49.984974 55.747701) + (xy 49.587374 56.1453) + (xy 49.548871 56.165881) + (xy 49.505422 56.161602) + (xy 49.471673 56.133905) + (xy 49.459 56.092126) + (xy 49.459 55.090884) + (xy 49.459 55.087188) + (xy 49.447918 55.031475) + (xy 49.43524 55.012502) + (xy 49.409817 54.974454) + (xy 49.405703 54.968297) + (xy 49.368042 54.943132) + (xy 49.348683 54.930196) + (xy 49.34868 54.930194) + (xy 49.342525 54.926082) + (xy 49.335261 54.924637) + (xy 49.312668 54.920143) + (xy 49.286812 54.915) + (xy 48.249188 54.915) + (xy 48.245563 54.91572) + (xy 48.245563 54.915721) + (xy 48.200738 54.924637) + (xy 48.200736 54.924637) + (xy 48.193475 54.926082) + (xy 48.187321 54.930193) + (xy 48.187316 54.930196) + (xy 48.136454 54.964182) + (xy 48.136451 54.964184) + (xy 48.130297 54.968297) + (xy 48.126184 54.974451) + (xy 48.126182 54.974454) + (xy 48.092196 55.025316) + (xy 48.092193 55.025321) + (xy 48.088082 55.031475) + (xy 48.086637 55.038736) + (xy 48.086637 55.038738) + (xy 48.07772 55.083564) + (xy 48.077719 55.083572) + (xy 48.077 55.087188) + (xy 48.077 55.090882) + (xy 48.076775 55.093169) + (xy 48.064464 55.127578) + (xy 48.037386 55.15212) + (xy 48.001937 55.161) + (xy 47.514103 55.161) + (xy 47.474811 55.149918) + (xy 47.453907 55.127305) + (xy 47.452436 55.128375) + (xy 47.448957 55.123587) + (xy 47.446269 55.118311) + (xy 47.393025 55.065067) + (xy 47.376724 55.040672) + (xy 47.371 55.011894) + (xy 47.371 54.589106) + (xy 47.376724 54.560328) + (xy 47.393026 54.535932) + (xy 47.417284 54.511674) + (xy 47.446269 54.482689) + (xy 47.502499 54.372332) + (xy 47.517 54.280774) + (xy 47.517 53.669226) + (xy 47.509966 53.624812) + (xy 48.077 53.624812) + (xy 48.088082 53.680525) + (xy 48.092194 53.68668) + (xy 48.092196 53.686683) + (xy 48.126182 53.737545) + (xy 48.130297 53.743703) + (xy 48.136454 53.747817) + (xy 48.187316 53.781803) + (xy 48.187317 53.781803) + (xy 48.193475 53.785918) + (xy 48.249188 53.797) + (xy 48.798527 53.797) + (xy 48.827305 53.802724) + (xy 48.8517 53.819025) + (xy 49.198674 54.166) + (xy 49.365686 54.333012) + (xy 49.371305 54.339299) + (xy 49.391389 54.364484) + (xy 49.391391 54.364486) + (xy 49.394905 54.368892) + (xy 49.44229 54.401198) + (xy 49.444543 54.402797) + (xy 49.490716 54.436875) + (xy 49.496035 54.438736) + (xy 49.498137 54.439847) + (xy 49.498525 54.440081) + (xy 49.498957 54.44026) + (xy 49.501085 54.441285) + (xy 49.505741 54.444459) + (xy 49.560533 54.46136) + (xy 49.563184 54.462232) + (xy 49.612015 54.47932) + (xy 49.612018 54.47932) + (xy 49.617335 54.481181) + (xy 49.622964 54.481391) + (xy 49.625293 54.481832) + (xy 49.625737 54.481942) + (xy 49.626205 54.481986) + (xy 49.628538 54.482337) + (xy 49.633927 54.484) + (xy 49.691293 54.484) + (xy 49.694103 54.484052) + (xy 49.751386 54.486196) + (xy 49.756831 54.484736) + (xy 49.759173 54.484473) + (xy 49.767593 54.484) + (xy 50.058894 54.484) + (xy 50.087672 54.489724) + (xy 50.112068 54.506026) + (xy 50.165311 54.559269) + (xy 50.177454 54.565456) + (xy 50.269644 54.61243) + (xy 50.275668 54.615499) + (xy 50.281513 54.616424) + (xy 50.281514 54.616425) + (xy 50.29273 54.618201) + (xy 50.367226 54.63) + (xy 50.97582 54.63) + (xy 50.978774 54.63) + (xy 51.070332 54.615499) + (xy 51.180689 54.559269) + (xy 51.268269 54.471689) + (xy 51.324499 54.361332) + (xy 51.327284 54.343746) + (xy 51.6585 54.343746) + (xy 51.658962 54.349618) + (xy 51.672984 54.438151) + (xy 51.676597 54.449271) + (xy 51.730976 54.555994) + (xy 51.737851 54.565456) + (xy 51.822543 54.650148) + (xy 51.832005 54.657023) + (xy 51.938728 54.711402) + (xy 51.949848 54.715015) + (xy 52.038381 54.729037) + (xy 52.044254 54.7295) + (xy 52.187098 54.7295) + (xy 52.194907 54.727407) + (xy 52.197 54.719598) + (xy 52.451 54.719598) + (xy 52.453092 54.727407) + (xy 52.460902 54.7295) + (xy 52.603746 54.7295) + (xy 52.609618 54.729037) + (xy 52.698151 54.715015) + (xy 52.709271 54.711402) + (xy 52.815994 54.657023) + (xy 52.825456 54.650148) + (xy 52.910148 54.565456) + (xy 52.917023 54.555994) + (xy 52.971402 54.449271) + (xy 52.975015 54.438151) + (xy 52.989037 54.349618) + (xy 52.9895 54.343746) + (xy 52.9895 54.266779) + (xy 53.309501 54.266779) + (xy 53.309963 54.272654) + (xy 53.323057 54.355328) + (xy 53.326669 54.366447) + (xy 53.377452 54.466114) + (xy 53.38433 54.47558) + (xy 53.463419 54.554669) + (xy 53.472885 54.561547) + (xy 53.572551 54.61233) + (xy 53.583671 54.615943) + (xy 53.666346 54.629037) + (xy 53.672219 54.6295) + (xy 53.838098 54.6295) + (xy 53.845907 54.627407) + (xy 53.848 54.619598) + (xy 53.848 54.619597) + (xy 54.102 54.619597) + (xy 54.104092 54.627406) + (xy 54.111902 54.629499) + (xy 54.277779 54.629499) + (xy 54.283654 54.629036) + (xy 54.366328 54.615942) + (xy 54.377447 54.61233) + (xy 54.477114 54.561547) + (xy 54.48658 54.554669) + (xy 54.565669 54.47558) + (xy 54.572547 54.466114) + (xy 54.62333 54.366448) + (xy 54.626943 54.355328) + (xy 54.640037 54.272653) + (xy 54.6405 54.266781) + (xy 54.6405 54.266779) + (xy 54.960501 54.266779) + (xy 54.960963 54.272654) + (xy 54.974057 54.355328) + (xy 54.977669 54.366447) + (xy 55.028452 54.466114) + (xy 55.03533 54.47558) + (xy 55.114419 54.554669) + (xy 55.123885 54.561547) + (xy 55.223551 54.61233) + (xy 55.234671 54.615943) + (xy 55.317346 54.629037) + (xy 55.323219 54.6295) + (xy 55.489098 54.6295) + (xy 55.496907 54.627407) + (xy 55.499 54.619598) + (xy 55.499 54.175902) + (xy 55.496907 54.168092) + (xy 55.489098 54.166) + (xy 54.970403 54.166) + (xy 54.962593 54.168092) + (xy 54.960501 54.175902) + (xy 54.960501 54.266779) + (xy 54.6405 54.266779) + (xy 54.6405 54.175902) + (xy 54.638407 54.168092) + (xy 54.630598 54.166) + (xy 54.111902 54.166) + (xy 54.104092 54.168092) + (xy 54.102 54.175902) + (xy 54.102 54.619597) + (xy 53.848 54.619597) + (xy 53.848 54.175902) + (xy 53.845907 54.168092) + (xy 53.838098 54.166) + (xy 53.319403 54.166) + (xy 53.311593 54.168092) + (xy 53.309501 54.175902) + (xy 53.309501 54.266779) + (xy 52.9895 54.266779) + (xy 52.9895 54.225902) + (xy 52.987407 54.218092) + (xy 52.979598 54.216) + (xy 52.460902 54.216) + (xy 52.453092 54.218092) + (xy 52.451 54.225902) + (xy 52.451 54.719598) + (xy 52.197 54.719598) + (xy 52.197 54.225902) + (xy 52.194907 54.218092) + (xy 52.187098 54.216) + (xy 51.668402 54.216) + (xy 51.660592 54.218092) + (xy 51.6585 54.225902) + (xy 51.6585 54.343746) + (xy 51.327284 54.343746) + (xy 51.339 54.269774) + (xy 51.339 53.952098) + (xy 51.6585 53.952098) + (xy 51.660592 53.959907) + (xy 51.668402 53.962) + (xy 52.187098 53.962) + (xy 52.194907 53.959907) + (xy 52.197 53.952098) + (xy 52.451 53.952098) + (xy 52.453092 53.959907) + (xy 52.460902 53.962) + (xy 52.979598 53.962) + (xy 52.987407 53.959907) + (xy 52.9895 53.952098) + (xy 52.9895 53.902098) + (xy 53.3095 53.902098) + (xy 53.311592 53.909907) + (xy 53.319402 53.912) + (xy 53.838098 53.912) + (xy 53.845907 53.909907) + (xy 53.848 53.902098) + (xy 54.102 53.902098) + (xy 54.104092 53.909907) + (xy 54.111902 53.912) + (xy 54.630597 53.912) + (xy 54.638406 53.909907) + (xy 54.640499 53.902098) + (xy 54.9605 53.902098) + (xy 54.962592 53.909907) + (xy 54.970402 53.912) + (xy 55.489098 53.912) + (xy 55.496907 53.909907) + (xy 55.499 53.902098) + (xy 55.753 53.902098) + (xy 55.755092 53.909907) + (xy 55.762902 53.912) + (xy 56.281597 53.912) + (xy 56.289406 53.909907) + (xy 56.291499 53.902098) + (xy 56.291499 53.811221) + (xy 56.291036 53.805345) + (xy 56.277942 53.722671) + (xy 56.27433 53.711552) + (xy 56.223547 53.611885) + (xy 56.216669 53.602419) + (xy 56.13758 53.52333) + (xy 56.128114 53.516452) + (xy 56.028448 53.465669) + (xy 56.017328 53.462056) + (xy 55.934653 53.448962) + (xy 55.928781 53.4485) + (xy 55.762902 53.4485) + (xy 55.755092 53.450592) + (xy 55.753 53.458402) + (xy 55.753 53.902098) + (xy 55.499 53.902098) + (xy 55.499 53.458403) + (xy 55.496907 53.450593) + (xy 55.489098 53.448501) + (xy 55.323221 53.448501) + (xy 55.317345 53.448963) + (xy 55.234671 53.462057) + (xy 55.223552 53.465669) + (xy 55.123885 53.516452) + (xy 55.114419 53.52333) + (xy 55.03533 53.602419) + (xy 55.028452 53.611885) + (xy 54.977669 53.711551) + (xy 54.974056 53.722671) + (xy 54.960962 53.805346) + (xy 54.9605 53.811219) + (xy 54.9605 53.902098) + (xy 54.640499 53.902098) + (xy 54.640499 53.811221) + (xy 54.640036 53.805345) + (xy 54.626942 53.722671) + (xy 54.62333 53.711552) + (xy 54.572547 53.611885) + (xy 54.565669 53.602419) + (xy 54.48658 53.52333) + (xy 54.477114 53.516452) + (xy 54.377448 53.465669) + (xy 54.366328 53.462056) + (xy 54.283653 53.448962) + (xy 54.277781 53.4485) + (xy 54.111902 53.4485) + (xy 54.104092 53.450592) + (xy 54.102 53.458402) + (xy 54.102 53.902098) + (xy 53.848 53.902098) + (xy 53.848 53.458403) + (xy 53.845907 53.450593) + (xy 53.838098 53.448501) + (xy 53.672221 53.448501) + (xy 53.666345 53.448963) + (xy 53.583671 53.462057) + (xy 53.572552 53.465669) + (xy 53.472885 53.516452) + (xy 53.463419 53.52333) + (xy 53.38433 53.602419) + (xy 53.377452 53.611885) + (xy 53.326669 53.711551) + (xy 53.323056 53.722671) + (xy 53.309962 53.805346) + (xy 53.3095 53.811219) + (xy 53.3095 53.902098) + (xy 52.9895 53.902098) + (xy 52.9895 53.834254) + (xy 52.989037 53.828381) + (xy 52.975015 53.739848) + (xy 52.971402 53.728728) + (xy 52.917023 53.622005) + (xy 52.910148 53.612543) + (xy 52.825456 53.527851) + (xy 52.815994 53.520976) + (xy 52.709271 53.466597) + (xy 52.698151 53.462984) + (xy 52.609618 53.448962) + (xy 52.603746 53.4485) + (xy 52.460902 53.4485) + (xy 52.453092 53.450592) + (xy 52.451 53.458402) + (xy 52.451 53.952098) + (xy 52.197 53.952098) + (xy 52.197 53.458402) + (xy 52.194907 53.450592) + (xy 52.187098 53.4485) + (xy 52.044254 53.4485) + (xy 52.038381 53.448962) + (xy 51.949848 53.462984) + (xy 51.938728 53.466597) + (xy 51.832005 53.520976) + (xy 51.822543 53.527851) + (xy 51.737851 53.612543) + (xy 51.730976 53.622005) + (xy 51.676597 53.728728) + (xy 51.672984 53.739848) + (xy 51.658962 53.828381) + (xy 51.6585 53.834254) + (xy 51.6585 53.952098) + (xy 51.339 53.952098) + (xy 51.339 53.808226) + (xy 51.324499 53.716668) + (xy 51.311982 53.692103) + (xy 51.277696 53.624812) + (xy 51.268269 53.606311) + (xy 51.180689 53.518731) + (xy 51.175412 53.516042) + (xy 51.075605 53.465187) + (xy 51.0756 53.465185) + (xy 51.070332 53.462501) + (xy 51.06449 53.461575) + (xy 51.064485 53.461574) + (xy 50.981692 53.448462) + (xy 50.98169 53.448461) + (xy 50.978774 53.448) + (xy 50.367226 53.448) + (xy 50.36431 53.448461) + (xy 50.364307 53.448462) + (xy 50.281514 53.461574) + (xy 50.281507 53.461576) + (xy 50.275668 53.462501) + (xy 50.2704 53.465184) + (xy 50.270394 53.465187) + (xy 50.170587 53.516042) + (xy 50.170583 53.516044) + (xy 50.165311 53.518731) + (xy 50.161124 53.522917) + (xy 50.161121 53.52292) + (xy 50.112068 53.571974) + (xy 50.087672 53.588276) + (xy 50.058894 53.594) + (xy 49.916473 53.594) + (xy 49.887695 53.588276) + (xy 49.863299 53.571974) + (xy 49.481026 53.189701) + (xy 49.464724 53.165305) + (xy 49.459 53.136527) + (xy 49.459 52.590884) + (xy 49.459 52.587188) + (xy 49.447918 52.531475) + (xy 49.405703 52.468297) + (xy 49.399545 52.464182) + (xy 49.348683 52.430196) + (xy 49.34868 52.430194) + (xy 49.342525 52.426082) + (xy 49.335261 52.424637) + (xy 49.298958 52.417416) + (xy 49.286812 52.415) + (xy 48.249188 52.415) + (xy 48.245563 52.41572) + (xy 48.245563 52.415721) + (xy 48.200738 52.424637) + (xy 48.200736 52.424637) + (xy 48.193475 52.426082) + (xy 48.187321 52.430193) + (xy 48.187316 52.430196) + (xy 48.136454 52.464182) + (xy 48.136451 52.464184) + (xy 48.130297 52.468297) + (xy 48.126184 52.474451) + (xy 48.126182 52.474454) + (xy 48.092196 52.525316) + (xy 48.092193 52.525321) + (xy 48.088082 52.531475) + (xy 48.086637 52.538736) + (xy 48.086637 52.538738) + (xy 48.081231 52.565917) + (xy 48.077 52.587188) + (xy 48.077 53.624812) + (xy 47.509966 53.624812) + (xy 47.502499 53.577668) + (xy 47.446269 53.467311) + (xy 47.358689 53.379731) + (xy 47.353412 53.377042) + (xy 47.253605 53.326187) + (xy 47.2536 53.326185) + (xy 47.248332 53.323501) + (xy 47.24249 53.322575) + (xy 47.242485 53.322574) + (xy 47.159692 53.309462) + (xy 47.15969 53.309461) + (xy 47.156774 53.309) + (xy 46.695226 53.309) + (xy 46.69231 53.309461) + (xy 46.692307 53.309462) + (xy 46.609514 53.322574) + (xy 46.609507 53.322576) + (xy 46.603668 53.323501) + (xy 46.5984 53.326184) + (xy 46.598394 53.326187) + (xy 46.498587 53.377042) + (xy 46.498583 53.377044) + (xy 46.493311 53.379731) + (xy 46.489124 53.383917) + (xy 46.489121 53.38392) + (xy 46.40992 53.463121) + (xy 46.409917 53.463124) + (xy 46.405731 53.467311) + (xy 46.403044 53.472583) + (xy 46.403042 53.472587) + (xy 46.352187 53.572394) + (xy 46.352184 53.5724) + (xy 46.349501 53.577668) + (xy 46.348576 53.583507) + (xy 46.348574 53.583514) + (xy 46.335462 53.666307) + (xy 46.335 53.669226) + (xy 46.335 54.280774) + (xy 46.335461 54.28369) + (xy 46.335462 54.283692) + (xy 46.348574 54.366485) + (xy 46.348575 54.36649) + (xy 46.349501 54.372332) + (xy 46.352185 54.3776) + (xy 46.352187 54.377605) + (xy 46.402705 54.476751) + (xy 46.405731 54.482689) + (xy 46.409919 54.486877) + (xy 46.40992 54.486878) + (xy 46.458974 54.535932) + (xy 46.475276 54.560328) + (xy 46.481 54.589106) + (xy 46.481 55.011894) + (xy 46.475276 55.040672) + (xy 46.458974 55.065068) + (xy 46.40992 55.114121) + (xy 46.409917 55.114124) + (xy 46.405731 55.118311) + (xy 46.403044 55.123583) + (xy 46.403042 55.123587) + (xy 46.352187 55.223394) + (xy 46.352184 55.2234) + (xy 46.349501 55.228668) + (xy 46.348576 55.234507) + (xy 46.348574 55.234514) + (xy 46.335462 55.317307) + (xy 46.335 55.320226) + (xy 46.335 55.931774) + (xy 46.335461 55.93469) + (xy 46.335462 55.934692) + (xy 46.348574 56.017485) + (xy 46.348575 56.01749) + (xy 46.349501 56.023332) + (xy 46.352185 56.0286) + (xy 46.352187 56.028605) + (xy 46.403042 56.128412) + (xy 46.405731 56.133689) + (xy 46.493311 56.221269) + (xy 46.526842 56.238354) + (xy 46.587578 56.269301) + (xy 46.603668 56.277499) + (xy 46.609513 56.278424) + (xy 46.609514 56.278425) + (xy 46.619453 56.279999) + (xy 46.695226 56.292) + (xy 47.15382 56.292) + (xy 47.156774 56.292) + (xy 47.248332 56.277499) + (xy 47.358689 56.221269) + (xy 47.446269 56.133689) + (xy 47.467479 56.09206) + (xy 47.495192 56.062081) + (xy 47.534484 56.051) + (xy 48.001937 56.051) + (xy 48.037386 56.05988) + (xy 48.064464 56.084422) + (xy 48.076775 56.118831) + (xy 48.077 56.121118) + (xy 48.077 56.124812) + (xy 48.077719 56.128428) + (xy 48.07772 56.128435) + (xy 48.084688 56.163461) + (xy 48.088082 56.180525) + (xy 48.092194 56.18668) + (xy 48.092196 56.186683) + (xy 48.126182 56.237545) + (xy 48.130297 56.243703) + (xy 48.136454 56.247817) + (xy 48.187316 56.281803) + (xy 48.187317 56.281803) + (xy 48.193475 56.285918) + (xy 48.249188 56.297) + (xy 48.252885 56.297) + (xy 48.255169 56.297225) + (xy 48.289578 56.309536) + (xy 48.31412 56.336614) + (xy 48.323 56.372063) + (xy 48.323 56.680527) + (xy 48.317276 56.709305) + (xy 48.300974 56.733701) + (xy 48.224701 56.809974) + (xy 48.200305 56.826276) + (xy 48.171527 56.832) + (xy 47.562917 56.832) + (xy 47.531137 56.824955) + (xy 47.466832 56.79497) + (xy 47.466833 56.79497) + (xy 47.461619 56.792539) + (xy 47.455917 56.791788) + (xy 47.455916 56.791788) + (xy 47.414385 56.78632) + (xy 47.41438 56.786319) + (xy 47.411952 56.786) + (xy 45.682048 56.786) + (xy 45.67962 56.786319) + (xy 45.679614 56.78632) + (xy 45.638083 56.791788) + (xy 45.638081 56.791788) + (xy 45.632381 56.792539) + (xy 45.627174 56.794966) + (xy 45.627167 56.794969) + (xy 45.529354 56.84058) + (xy 45.529352 56.840581) + (xy 45.523393 56.84336) + (xy 45.518743 56.848009) + (xy 45.51874 56.848012) + (xy 45.443012 56.92374) + (xy 45.443009 56.923743) + (xy 45.43836 56.928393) + (xy 45.435581 56.934352) + (xy 45.43558 56.934354) + (xy 45.389969 57.032167) + (xy 45.389966 57.032174) + (xy 45.387539 57.037381) + (xy 45.386788 57.043081) + (xy 45.386788 57.043083) + (xy 45.381469 57.083487) + (xy 45.381 57.087048) + (xy 45.381 57.466952) + (xy 44.888277 57.466952) + (xy 44.658321 57.236996) + (xy 44.652701 57.230708) + (xy 44.632611 57.205516) + (xy 44.632608 57.205513) + (xy 44.629095 57.201108) + (xy 44.624438 57.197932) + (xy 44.624435 57.19793) + (xy 44.581731 57.168814) + (xy 44.57944 57.167188) + (xy 44.537822 57.136473) + (xy 44.537816 57.13647) + (xy 44.533284 57.133125) + (xy 44.527965 57.131263) + (xy 44.525862 57.130152) + (xy 44.525476 57.129919) + (xy 44.525052 57.129744) + (xy 44.522913 57.128714) + (xy 44.518259 57.125541) + (xy 44.512876 57.12388) + (xy 44.512875 57.12388) + (xy 44.463471 57.10864) + (xy 44.460802 57.107761) + (xy 44.411988 57.090681) + (xy 44.411984 57.09068) + (xy 44.406665 57.088819) + (xy 44.401031 57.088607) + (xy 44.398702 57.088167) + (xy 44.398256 57.088056) + (xy 44.397817 57.088015) + (xy 44.395451 57.087658) + (xy 44.390073 57.086) + (xy 44.384441 57.086) + (xy 44.349293 57.086) + (xy 44.31 57.074918) + (xy 44.282289 57.044939) + (xy 44.273958 57.028589) + (xy 44.271269 57.023311) + (xy 44.183689 56.935731) + (xy 44.17399 56.930789) + (xy 44.078605 56.882187) + (xy 44.0786 56.882185) + (xy 44.073332 56.879501) + (xy 44.06749 56.878575) + (xy 44.067485 56.878574) + (xy 43.984692 56.865462) + (xy 43.98469 56.865461) + (xy 43.981774 56.865) + (xy 43.97882 56.865) + (xy 43.841473 56.865) + (xy 43.812695 56.859276) + (xy 43.788299 56.842974) + (xy 43.343795 56.39847) + (xy 43.32229 56.354135) + (xy 43.33285 56.306005) + (xy 43.37094 56.274744) + (xy 43.420206 56.273776) + (xy 43.423394 56.274812) + (xy 43.428668 56.277499) + (xy 43.434513 56.278424) + (xy 43.434514 56.278425) + (xy 43.444453 56.279999) + (xy 43.520226 56.292) + (xy 43.97882 56.292) + (xy 43.981774 56.292) + (xy 44.073332 56.277499) + (xy 44.183689 56.221269) + (xy 44.271269 56.133689) + (xy 44.27628 56.123854) + (xy 44.282291 56.112059) + (xy 44.310003 56.082081) + (xy 44.349294 56.071) + (xy 44.677706 56.071) + (xy 44.716997 56.082081) + (xy 44.744709 56.112059) + (xy 44.75304 56.128409) + (xy 44.753042 56.128412) + (xy 44.755731 56.133689) + (xy 44.843311 56.221269) + (xy 44.876842 56.238354) + (xy 44.937578 56.269301) + (xy 44.953668 56.277499) + (xy 44.959513 56.278424) + (xy 44.959514 56.278425) + (xy 44.969453 56.279999) + (xy 45.045226 56.292) + (xy 45.50382 56.292) + (xy 45.506774 56.292) + (xy 45.598332 56.277499) + (xy 45.708689 56.221269) + (xy 45.796269 56.133689) + (xy 45.852499 56.023332) + (xy 45.867 55.931774) + (xy 45.867 55.320226) + (xy 45.852499 55.228668) + (xy 45.841129 55.206354) + (xy 45.800991 55.127578) + (xy 45.796269 55.118311) + (xy 45.743025 55.065067) + (xy 45.726724 55.040672) + (xy 45.721 55.011894) + (xy 45.721 54.589106) + (xy 45.726724 54.560328) + (xy 45.743026 54.535932) + (xy 45.767284 54.511674) + (xy 45.796269 54.482689) + (xy 45.852499 54.372332) + (xy 45.867 54.280774) + (xy 45.867 53.669226) + (xy 45.852499 53.577668) + (xy 45.796269 53.467311) + (xy 45.708689 53.379731) + (xy 45.703412 53.377042) + (xy 45.603605 53.326187) + (xy 45.6036 53.326185) + (xy 45.598332 53.323501) + (xy 45.59249 53.322575) + (xy 45.592485 53.322574) + (xy 45.509692 53.309462) + (xy 45.50969 53.309461) + (xy 45.506774 53.309) + (xy 45.045226 53.309) + (xy 45.04231 53.309461) + (xy 45.042307 53.309462) + (xy 44.959514 53.322574) + (xy 44.959507 53.322576) + (xy 44.953668 53.323501) + (xy 44.9484 53.326184) + (xy 44.948394 53.326187) + (xy 44.848587 53.377042) + (xy 44.848583 53.377044) + (xy 44.843311 53.379731) + (xy 44.839124 53.383917) + (xy 44.839121 53.38392) + (xy 44.75992 53.463121) + (xy 44.759917 53.463124) + (xy 44.755731 53.467311) + (xy 44.753044 53.472583) + (xy 44.753042 53.472587) + (xy 44.702187 53.572394) + (xy 44.702184 53.5724) + (xy 44.699501 53.577668) + (xy 44.698576 53.583507) + (xy 44.698574 53.583514) + (xy 44.685462 53.666307) + (xy 44.685 53.669226) + (xy 44.685 54.280774) + (xy 44.685461 54.28369) + (xy 44.685462 54.283692) + (xy 44.698574 54.366485) + (xy 44.698575 54.36649) + (xy 44.699501 54.372332) + (xy 44.702185 54.3776) + (xy 44.702187 54.377605) + (xy 44.752705 54.476751) + (xy 44.755731 54.482689) + (xy 44.759919 54.486877) + (xy 44.75992 54.486878) + (xy 44.808974 54.535932) + (xy 44.825276 54.560328) + (xy 44.831 54.589106) + (xy 44.831 55.011894) + (xy 44.825276 55.040672) + (xy 44.808974 55.065068) + (xy 44.75992 55.114121) + (xy 44.759917 55.114124) + (xy 44.755731 55.118311) + (xy 44.753043 55.123584) + (xy 44.75304 55.12359) + (xy 44.744709 55.139941) + (xy 44.716997 55.169919) + (xy 44.677706 55.181) + (xy 44.349294 55.181) + (xy 44.310003 55.169919) + (xy 44.282291 55.139941) + (xy 44.273959 55.12359) + (xy 44.273957 55.123587) + (xy 44.271269 55.118311) + (xy 44.218025 55.065067) + (xy 44.201724 55.040672) + (xy 44.196 55.011894) + (xy 44.196 54.589106) + (xy 44.201724 54.560328) + (xy 44.218026 54.535932) + (xy 44.242284 54.511674) + (xy 44.271269 54.482689) + (xy 44.327499 54.372332) + (xy 44.342 54.280774) + (xy 44.342 53.669226) + (xy 44.327499 53.577668) + (xy 44.271269 53.467311) + (xy 44.183689 53.379731) + (xy 44.178412 53.377042) + (xy 44.078605 53.326187) + (xy 44.0786 53.326185) + (xy 44.073332 53.323501) + (xy 44.06749 53.322575) + (xy 44.067485 53.322574) + (xy 43.984692 53.309462) + (xy 43.98469 53.309461) + (xy 43.981774 53.309) + (xy 43.520226 53.309) + (xy 43.51731 53.309461) + (xy 43.517307 53.309462) + (xy 43.434514 53.322574) + (xy 43.434507 53.322576) + (xy 43.428668 53.323501) + (xy 43.4234 53.326184) + (xy 43.423394 53.326187) + (xy 43.323587 53.377042) + (xy 43.323583 53.377044) + (xy 43.318311 53.379731) + (xy 43.314124 53.383917) + (xy 43.314121 53.38392) + (xy 43.23492 53.463121) + (xy 43.234917 53.463124) + (xy 43.230731 53.467311) + (xy 43.228044 53.472583) + (xy 43.228042 53.472587) + (xy 43.177187 53.572394) + (xy 43.177184 53.5724) + (xy 43.174501 53.577668) + (xy 43.173576 53.583507) + (xy 43.173574 53.583514) + (xy 43.160462 53.666307) + (xy 43.16 53.669226) + (xy 43.16 54.280774) + (xy 43.160461 54.28369) + (xy 43.160462 54.283692) + (xy 43.173574 54.366485) + (xy 43.173575 54.36649) + (xy 43.174501 54.372332) + (xy 43.177185 54.3776) + (xy 43.177187 54.377605) + (xy 43.227705 54.476751) + (xy 43.230731 54.482689) + (xy 43.234919 54.486877) + (xy 43.23492 54.486878) + (xy 43.283974 54.535932) + (xy 43.300276 54.560328) + (xy 43.306 54.589106) + (xy 43.306 55.011894) + (xy 43.300276 55.040672) + (xy 43.283974 55.065068) + (xy 43.23492 55.114121) + (xy 43.234917 55.114124) + (xy 43.230731 55.118311) + (xy 43.228044 55.123583) + (xy 43.228042 55.123587) + (xy 43.177187 55.223394) + (xy 43.177184 55.2234) + (xy 43.174501 55.228668) + (xy 43.173576 55.234507) + (xy 43.173574 55.234514) + (xy 43.160462 55.317307) + (xy 43.16 55.320226) + (xy 43.16 55.931774) + (xy 43.160461 55.93469) + (xy 43.160462 55.934692) + (xy 43.173575 56.01749) + (xy 43.173576 56.017494) + (xy 43.174501 56.023332) + (xy 43.177184 56.028598) + (xy 43.178223 56.031795) + (xy 43.177254 56.08106) + (xy 43.145994 56.119149) + (xy 43.097863 56.129709) + (xy 43.053529 56.108204) + (xy 42.714026 55.768701) + (xy 42.697724 55.744305) + (xy 42.692 55.715527) + (xy 42.692 55.32318) + (xy 42.692 55.320226) + (xy 42.677499 55.228668) + (xy 42.666129 55.206354) + (xy 42.625991 55.127578) + (xy 42.621269 55.118311) + (xy 42.568025 55.065067) + (xy 42.551724 55.040672) + (xy 42.546 55.011894) + (xy 42.546 54.589106) + (xy 42.551724 54.560328) + (xy 42.568026 54.535932) + (xy 42.592284 54.511674) + (xy 42.621269 54.482689) + (xy 42.677499 54.372332) + (xy 42.692 54.280774) + (xy 42.692 53.669226) + (xy 42.677499 53.577668) + (xy 42.621269 53.467311) + (xy 42.533689 53.379731) + (xy 42.528412 53.377042) + (xy 42.428605 53.326187) + (xy 42.4286 53.326185) + (xy 42.423332 53.323501) + (xy 42.41749 53.322575) + (xy 42.417485 53.322574) + (xy 42.334692 53.309462) + (xy 42.33469 53.309461) + (xy 42.331774 53.309) + (xy 41.870226 53.309) + (xy 41.86731 53.309461) + (xy 41.867307 53.309462) + (xy 41.784514 53.322574) + (xy 41.784507 53.322576) + (xy 41.778668 53.323501) + (xy 41.7734 53.326184) + (xy 41.773394 53.326187) + (xy 41.673587 53.377042) + (xy 41.673583 53.377044) + (xy 41.668311 53.379731) + (xy 41.664124 53.383917) + (xy 41.664121 53.38392) + (xy 41.58492 53.463121) + (xy 41.584917 53.463124) + (xy 41.580731 53.467311) + (xy 41.578044 53.472583) + (xy 41.578042 53.472587) + (xy 41.527187 53.572394) + (xy 41.527184 53.5724) + (xy 41.524501 53.577668) + (xy 41.523576 53.583507) + (xy 41.523574 53.583514) + (xy 41.510462 53.666307) + (xy 41.51 53.669226) + (xy 41.51 54.280774) + (xy 41.510461 54.28369) + (xy 41.510462 54.283692) + (xy 41.523574 54.366485) + (xy 41.523575 54.36649) + (xy 41.524501 54.372332) + (xy 41.527185 54.3776) + (xy 41.527187 54.377605) + (xy 41.577705 54.476751) + (xy 41.580731 54.482689) + (xy 41.584919 54.486877) + (xy 41.58492 54.486878) + (xy 41.633974 54.535932) + (xy 41.650276 54.560328) + (xy 41.656 54.589106) + (xy 41.656 55.011894) + (xy 41.650276 55.040672) + (xy 41.633974 55.065068) + (xy 41.58492 55.114121) + (xy 41.584917 55.114124) + (xy 41.580731 55.118311) + (xy 41.578044 55.123583) + (xy 41.578042 55.123587) + (xy 41.527187 55.223394) + (xy 41.527184 55.2234) + (xy 41.524501 55.228668) + (xy 41.523576 55.234507) + (xy 41.523574 55.234514) + (xy 41.510462 55.317307) + (xy 41.51 55.320226) + (xy 41.51 55.931774) + (xy 41.510461 55.93469) + (xy 41.510462 55.934692) + (xy 41.523574 56.017485) + (xy 41.523575 56.01749) + (xy 41.524501 56.023332) + (xy 41.527185 56.0286) + (xy 41.527187 56.028605) + (xy 41.578042 56.128412) + (xy 41.580731 56.133689) + (xy 41.668311 56.221269) + (xy 41.701842 56.238354) + (xy 41.762578 56.269301) + (xy 41.778668 56.277499) + (xy 41.784513 56.278424) + (xy 41.784514 56.278425) + (xy 41.794453 56.279999) + (xy 41.870226 56.292) + (xy 41.947527 56.292) + (xy 41.976305 56.297724) + (xy 42.000701 56.314026) + (xy 42.429404 56.742729) + (xy 42.450504 56.784139) + (xy 42.443234 56.830042) + (xy 42.410371 56.862906) + (xy 42.364468 56.870177) + (xy 42.334697 56.865462) + (xy 42.334685 56.865461) + (xy 42.331774 56.865) + (xy 41.870226 56.865) + (xy 41.86731 56.865461) + (xy 41.867307 56.865462) + (xy 41.784514 56.878574) + (xy 41.784507 56.878576) + (xy 41.778668 56.879501) + (xy 41.7734 56.882184) + (xy 41.773394 56.882187) + (xy 41.673587 56.933042) + (xy 41.673583 56.933044) + (xy 41.668311 56.935731) + (xy 41.664124 56.939917) + (xy 41.664121 56.93992) + (xy 41.58492 57.019121) + (xy 41.584917 57.019124) + (xy 41.580731 57.023311) + (xy 41.578043 57.028584) + (xy 41.57804 57.02859) + (xy 41.569709 57.044941) + (xy 41.541997 57.074919) + (xy 41.502706 57.086) + (xy 41.079609 57.086) + (xy 41.062876 57.084114) + (xy 41.05463 57.082232) + (xy 41.049009 57.082653) + (xy 41.049007 57.082653) + (xy 41.007153 57.08579) + (xy 41.001533 57.086) + (xy 40.704917 57.086) + (xy 40.673137 57.078955) + (xy 40.628719 57.058243) + (xy 40.603619 57.046539) + (xy 40.597917 57.045788) + (xy 40.597916 57.045788) + (xy 40.556385 57.04032) + (xy 40.55638 57.040319) + (xy 40.553952 57.04) + (xy 39.401873 57.04) + (xy 39.360095 57.027327) + (xy 39.332398 56.99358) + (xy 39.328117 56.950132) + (xy 39.348696 56.911628) + (xy 39.351477 56.908847) + (xy 39.357821 56.902502) + (xy 39.359766 56.900628) + (xy 39.401844 56.861587) + (xy 39.404664 56.8567) + (xy 39.406137 56.854854) + (xy 39.41175 56.848573) + (xy 39.664014 56.596309) + (xy 39.670283 56.590706) + (xy 39.699892 56.567095) + (xy 39.732182 56.519731) + (xy 39.733811 56.517437) + (xy 39.764525 56.475823) + (xy 39.764525 56.475822) + (xy 39.767875 56.471284) + (xy 39.769737 56.465959) + (xy 39.770843 56.463868) + (xy 39.77108 56.463474) + (xy 39.771264 56.463031) + (xy 39.77228 56.46092) + (xy 39.775459 56.456259) + (xy 39.792383 56.401389) + (xy 39.793227 56.398825) + (xy 39.81218 56.344665) + (xy 39.81239 56.339027) + (xy 39.812827 56.336722) + (xy 39.812941 56.33626) + (xy 39.812984 56.335807) + (xy 39.813337 56.333461) + (xy 39.815 56.328073) + (xy 39.815 56.270697) + (xy 39.815053 56.267885) + (xy 39.815804 56.247817) + (xy 39.817196 56.210614) + (xy 39.815736 56.205168) + (xy 39.815473 56.202827) + (xy 39.815 56.194407) + (xy 39.815 52.7172) + (xy 39.825075 52.6796) + (xy 39.8526 52.652075) + (xy 39.8902 52.642) + (xy 46.99812 52.642) + (xy 47.02936 52.648796) + (xy 47.031394 52.649724) + (xy 47.035919 52.652633) + (xy 47.172715 52.6928) + (xy 47.309904 52.6928) + (xy 47.315285 52.6928) + (xy 47.452081 52.652633) + (xy 47.572018 52.575553) + (xy 47.665382 52.467806) + (xy 47.724608 52.338119) + (xy 47.744898 52.197) + (xy 47.724608 52.055881) + (xy 47.665382 51.926194) + (xy 47.6597 51.919637) + (xy 47.610212 51.862525) + (xy 47.572018 51.818447) + (xy 47.567496 51.815541) + (xy 47.567494 51.815539) + (xy 47.553915 51.806812) + (xy 48.077 51.806812) + (xy 48.088082 51.862525) + (xy 48.092194 51.86868) + (xy 48.092196 51.868683) + (xy 48.124323 51.916763) + (xy 48.130297 51.925703) + (xy 48.136454 51.929817) + (xy 48.187316 51.963803) + (xy 48.187317 51.963803) + (xy 48.193475 51.967918) + (xy 48.249188 51.979) + (xy 49.283116 51.979) + (xy 49.286812 51.979) + (xy 49.342525 51.967918) + (xy 49.405703 51.925703) + (xy 49.447918 51.862525) + (xy 49.459 51.806812) + (xy 49.459 51.257473) + (xy 49.464724 51.228695) + (xy 49.481026 51.204299) + (xy 49.8633 50.822026) + (xy 49.887696 50.805724) + (xy 49.916474 50.8) + (xy 50.058894 50.8) + (xy 50.087672 50.805724) + (xy 50.112068 50.822026) + (xy 50.165311 50.875269) + (xy 50.189718 50.887705) + (xy 50.269448 50.92833) + (xy 50.275668 50.931499) + (xy 50.281513 50.932424) + (xy 50.281514 50.932425) + (xy 50.29273 50.934201) + (xy 50.367226 50.946) + (xy 50.97582 50.946) + (xy 50.978774 50.946) + (xy 51.070332 50.931499) + (xy 51.180689 50.875269) + (xy 51.268269 50.787689) + (xy 51.324499 50.677332) + (xy 51.339 50.585774) + (xy 51.339 50.559746) + (xy 51.6585 50.559746) + (xy 51.658962 50.565618) + (xy 51.672984 50.654151) + (xy 51.676597 50.665271) + (xy 51.730976 50.771994) + (xy 51.737851 50.781456) + (xy 51.822543 50.866148) + (xy 51.832005 50.873023) + (xy 51.938728 50.927402) + (xy 51.949848 50.931015) + (xy 52.038381 50.945037) + (xy 52.044254 50.9455) + (xy 52.187098 50.9455) + (xy 52.194907 50.943407) + (xy 52.197 50.935598) + (xy 52.451 50.935598) + (xy 52.453092 50.943407) + (xy 52.460902 50.9455) + (xy 52.603746 50.9455) + (xy 52.609618 50.945037) + (xy 52.698151 50.931015) + (xy 52.709271 50.927402) + (xy 52.815994 50.873023) + (xy 52.825456 50.866148) + (xy 52.910148 50.781456) + (xy 52.917023 50.771994) + (xy 52.971402 50.665271) + (xy 52.975015 50.654151) + (xy 52.986319 50.582779) + (xy 53.309501 50.582779) + (xy 53.309963 50.588654) + (xy 53.323057 50.671328) + (xy 53.326669 50.682447) + (xy 53.377452 50.782114) + (xy 53.38433 50.79158) + (xy 53.463419 50.870669) + (xy 53.472885 50.877547) + (xy 53.572551 50.92833) + (xy 53.583671 50.931943) + (xy 53.666346 50.945037) + (xy 53.672219 50.9455) + (xy 53.838098 50.9455) + (xy 53.845907 50.943407) + (xy 53.848 50.935598) + (xy 53.848 50.935597) + (xy 54.102 50.935597) + (xy 54.104092 50.943406) + (xy 54.111902 50.945499) + (xy 54.277779 50.945499) + (xy 54.283654 50.945036) + (xy 54.366328 50.931942) + (xy 54.377447 50.92833) + (xy 54.477114 50.877547) + (xy 54.48658 50.870669) + (xy 54.565669 50.79158) + (xy 54.572547 50.782114) + (xy 54.62333 50.682448) + (xy 54.626943 50.671328) + (xy 54.640037 50.588653) + (xy 54.6405 50.582781) + (xy 54.6405 50.582779) + (xy 54.960501 50.582779) + (xy 54.960963 50.588654) + (xy 54.974057 50.671328) + (xy 54.977669 50.682447) + (xy 55.028452 50.782114) + (xy 55.03533 50.79158) + (xy 55.114419 50.870669) + (xy 55.123885 50.877547) + (xy 55.223551 50.92833) + (xy 55.234671 50.931943) + (xy 55.317346 50.945037) + (xy 55.323219 50.9455) + (xy 55.489098 50.9455) + (xy 55.496907 50.943407) + (xy 55.499 50.935598) + (xy 55.499 50.935597) + (xy 55.753 50.935597) + (xy 55.755092 50.943406) + (xy 55.762902 50.945499) + (xy 55.928779 50.945499) + (xy 55.934654 50.945036) + (xy 56.017328 50.931942) + (xy 56.028447 50.92833) + (xy 56.128114 50.877547) + (xy 56.13758 50.870669) + (xy 56.216669 50.79158) + (xy 56.223547 50.782114) + (xy 56.27433 50.682448) + (xy 56.277943 50.671328) + (xy 56.291037 50.588653) + (xy 56.2915 50.582781) + (xy 56.2915 50.491902) + (xy 56.289407 50.484092) + (xy 56.281598 50.482) + (xy 55.762902 50.482) + (xy 55.755092 50.484092) + (xy 55.753 50.491902) + (xy 55.753 50.935597) + (xy 55.499 50.935597) + (xy 55.499 50.491902) + (xy 55.496907 50.484092) + (xy 55.489098 50.482) + (xy 54.970403 50.482) + (xy 54.962593 50.484092) + (xy 54.960501 50.491902) + (xy 54.960501 50.582779) + (xy 54.6405 50.582779) + (xy 54.6405 50.491902) + (xy 54.638407 50.484092) + (xy 54.630598 50.482) + (xy 54.111902 50.482) + (xy 54.104092 50.484092) + (xy 54.102 50.491902) + (xy 54.102 50.935597) + (xy 53.848 50.935597) + (xy 53.848 50.491902) + (xy 53.845907 50.484092) + (xy 53.838098 50.482) + (xy 53.319403 50.482) + (xy 53.311593 50.484092) + (xy 53.309501 50.491902) + (xy 53.309501 50.582779) + (xy 52.986319 50.582779) + (xy 52.989037 50.565618) + (xy 52.9895 50.559746) + (xy 52.9895 50.441902) + (xy 52.987407 50.434092) + (xy 52.979598 50.432) + (xy 52.460902 50.432) + (xy 52.453092 50.434092) + (xy 52.451 50.441902) + (xy 52.451 50.935598) + (xy 52.197 50.935598) + (xy 52.197 50.441902) + (xy 52.194907 50.434092) + (xy 52.187098 50.432) + (xy 51.668402 50.432) + (xy 51.660592 50.434092) + (xy 51.6585 50.441902) + (xy 51.6585 50.559746) + (xy 51.339 50.559746) + (xy 51.339 50.218098) + (xy 53.3095 50.218098) + (xy 53.311592 50.225907) + (xy 53.319402 50.228) + (xy 53.838098 50.228) + (xy 53.845907 50.225907) + (xy 53.848 50.218098) + (xy 54.102 50.218098) + (xy 54.104092 50.225907) + (xy 54.111902 50.228) + (xy 54.630597 50.228) + (xy 54.638406 50.225907) + (xy 54.640499 50.218098) + (xy 54.9605 50.218098) + (xy 54.962592 50.225907) + (xy 54.970402 50.228) + (xy 55.489098 50.228) + (xy 55.496907 50.225907) + (xy 55.499 50.218098) + (xy 55.753 50.218098) + (xy 55.755092 50.225907) + (xy 55.762902 50.228) + (xy 56.281597 50.228) + (xy 56.289406 50.225907) + (xy 56.291499 50.218098) + (xy 56.291499 50.127221) + (xy 56.291036 50.121345) + (xy 56.277942 50.038671) + (xy 56.27433 50.027552) + (xy 56.223547 49.927885) + (xy 56.216669 49.918419) + (xy 56.13758 49.83933) + (xy 56.128114 49.832452) + (xy 56.028448 49.781669) + (xy 56.017328 49.778056) + (xy 55.934653 49.764962) + (xy 55.928781 49.7645) + (xy 55.762902 49.7645) + (xy 55.755092 49.766592) + (xy 55.753 49.774402) + (xy 55.753 50.218098) + (xy 55.499 50.218098) + (xy 55.499 49.774403) + (xy 55.496907 49.766593) + (xy 55.489098 49.764501) + (xy 55.323221 49.764501) + (xy 55.317345 49.764963) + (xy 55.234671 49.778057) + (xy 55.223552 49.781669) + (xy 55.123885 49.832452) + (xy 55.114419 49.83933) + (xy 55.03533 49.918419) + (xy 55.028452 49.927885) + (xy 54.977669 50.027551) + (xy 54.974056 50.038671) + (xy 54.960962 50.121346) + (xy 54.9605 50.127219) + (xy 54.9605 50.218098) + (xy 54.640499 50.218098) + (xy 54.640499 50.127221) + (xy 54.640036 50.121345) + (xy 54.626942 50.038671) + (xy 54.62333 50.027552) + (xy 54.572547 49.927885) + (xy 54.565669 49.918419) + (xy 54.48658 49.83933) + (xy 54.477114 49.832452) + (xy 54.377448 49.781669) + (xy 54.366328 49.778056) + (xy 54.283653 49.764962) + (xy 54.277781 49.7645) + (xy 54.111902 49.7645) + (xy 54.104092 49.766592) + (xy 54.102 49.774402) + (xy 54.102 50.218098) + (xy 53.848 50.218098) + (xy 53.848 49.774403) + (xy 53.845907 49.766593) + (xy 53.838098 49.764501) + (xy 53.672221 49.764501) + (xy 53.666345 49.764963) + (xy 53.583671 49.778057) + (xy 53.572552 49.781669) + (xy 53.472885 49.832452) + (xy 53.463419 49.83933) + (xy 53.38433 49.918419) + (xy 53.377452 49.927885) + (xy 53.326669 50.027551) + (xy 53.323056 50.038671) + (xy 53.309962 50.121346) + (xy 53.3095 50.127219) + (xy 53.3095 50.218098) + (xy 51.339 50.218098) + (xy 51.339 50.168098) + (xy 51.6585 50.168098) + (xy 51.660592 50.175907) + (xy 51.668402 50.178) + (xy 52.187098 50.178) + (xy 52.194907 50.175907) + (xy 52.197 50.168098) + (xy 52.451 50.168098) + (xy 52.453092 50.175907) + (xy 52.460902 50.178) + (xy 52.979598 50.178) + (xy 52.987407 50.175907) + (xy 52.9895 50.168098) + (xy 52.9895 50.050254) + (xy 52.989037 50.044381) + (xy 52.975015 49.955848) + (xy 52.971402 49.944728) + (xy 52.917023 49.838005) + (xy 52.910148 49.828543) + (xy 52.825456 49.743851) + (xy 52.815994 49.736976) + (xy 52.709271 49.682597) + (xy 52.698151 49.678984) + (xy 52.609618 49.664962) + (xy 52.603746 49.6645) + (xy 52.460902 49.6645) + (xy 52.453092 49.666592) + (xy 52.451 49.674402) + (xy 52.451 50.168098) + (xy 52.197 50.168098) + (xy 52.197 49.674402) + (xy 52.194907 49.666592) + (xy 52.187098 49.6645) + (xy 52.044254 49.6645) + (xy 52.038381 49.664962) + (xy 51.949848 49.678984) + (xy 51.938728 49.682597) + (xy 51.832005 49.736976) + (xy 51.822543 49.743851) + (xy 51.737851 49.828543) + (xy 51.730976 49.838005) + (xy 51.676597 49.944728) + (xy 51.672984 49.955848) + (xy 51.658962 50.044381) + (xy 51.6585 50.050254) + (xy 51.6585 50.168098) + (xy 51.339 50.168098) + (xy 51.339 50.124226) + (xy 51.324499 50.032668) + (xy 51.268269 49.922311) + (xy 51.180689 49.834731) + (xy 51.175412 49.832042) + (xy 51.075605 49.781187) + (xy 51.0756 49.781185) + (xy 51.070332 49.778501) + (xy 51.06449 49.777575) + (xy 51.064485 49.777574) + (xy 50.981692 49.764462) + (xy 50.98169 49.764461) + (xy 50.978774 49.764) + (xy 50.367226 49.764) + (xy 50.36431 49.764461) + (xy 50.364307 49.764462) + (xy 50.281514 49.777574) + (xy 50.281507 49.777576) + (xy 50.275668 49.778501) + (xy 50.2704 49.781184) + (xy 50.270394 49.781187) + (xy 50.170587 49.832042) + (xy 50.170583 49.832044) + (xy 50.165311 49.834731) + (xy 50.161124 49.838917) + (xy 50.161121 49.83892) + (xy 50.112068 49.887974) + (xy 50.087672 49.904276) + (xy 50.058894 49.91) + (xy 49.730207 49.91) + (xy 49.721788 49.909527) + (xy 49.68977 49.905919) + (xy 49.689765 49.905919) + (xy 49.684173 49.905289) + (xy 49.678639 49.906335) + (xy 49.678636 49.906336) + (xy 49.627837 49.915947) + (xy 49.625067 49.916418) + (xy 49.573924 49.924127) + (xy 49.573922 49.924127) + (xy 49.568353 49.924967) + (xy 49.563279 49.927409) + (xy 49.560993 49.928115) + (xy 49.560563 49.928221) + (xy 49.560138 49.928398) + (xy 49.557901 49.92918) + (xy 49.552366 49.930228) + (xy 49.547391 49.932857) + (xy 49.547383 49.93286) + (xy 49.501653 49.957028) + (xy 49.499147 49.958293) + (xy 49.452565 49.980727) + (xy 49.452562 49.980728) + (xy 49.447491 49.983171) + (xy 49.443363 49.986999) + (xy 49.441392 49.988344) + (xy 49.441007 49.988575) + (xy 49.44067 49.988855) + (xy 49.438738 49.99028) + (xy 49.433765 49.99291) + (xy 49.429785 49.996889) + (xy 49.429782 49.996892) + (xy 49.393213 50.03346) + (xy 49.391191 50.035408) + (xy 49.353281 50.070584) + (xy 49.353276 50.070589) + (xy 49.349156 50.074413) + (xy 49.346343 50.079283) + (xy 49.344856 50.081149) + (xy 49.339239 50.087434) + (xy 48.851698 50.574976) + (xy 48.827305 50.591276) + (xy 48.798527 50.597) + (xy 48.249188 50.597) + (xy 48.245563 50.59772) + (xy 48.245563 50.597721) + (xy 48.200738 50.606637) + (xy 48.200736 50.606637) + (xy 48.193475 50.608082) + (xy 48.187321 50.612193) + (xy 48.187316 50.612196) + (xy 48.136454 50.646182) + (xy 48.136451 50.646184) + (xy 48.130297 50.650297) + (xy 48.126184 50.656451) + (xy 48.126182 50.656454) + (xy 48.092196 50.707316) + (xy 48.092193 50.707321) + (xy 48.088082 50.713475) + (xy 48.086637 50.720736) + (xy 48.086637 50.720738) + (xy 48.081703 50.745542) + (xy 48.077 50.769188) + (xy 48.077 51.806812) + (xy 47.553915 51.806812) + (xy 47.456602 51.744272) + (xy 47.456599 51.74427) + (xy 47.452081 51.741367) + (xy 47.446925 51.739853) + (xy 47.446923 51.739852) + (xy 47.320447 51.702715) + (xy 47.320442 51.702714) + (xy 47.315285 51.7012) + (xy 47.172715 51.7012) + (xy 47.167558 51.702714) + (xy 47.167552 51.702715) + (xy 47.041079 51.739851) + (xy 47.041073 51.739853) + (xy 47.035919 51.741367) + (xy 47.031394 51.744274) + (xy 47.02936 51.745204) + (xy 46.99812 51.752) + (xy 39.61588 51.752) + (xy 39.58464 51.745204) + (xy 39.582605 51.744274) + (xy 39.578081 51.741367) + (xy 39.572923 51.739852) + (xy 39.57292 51.739851) + (xy 39.446447 51.702715) + (xy 39.446442 51.702714) + (xy 39.441285 51.7012) + (xy 39.298715 51.7012) + (xy 39.293558 51.702714) + (xy 39.293552 51.702715) + (xy 39.167076 51.739852) + (xy 39.167071 51.739854) + (xy 39.161919 51.741367) + (xy 39.157403 51.744269) + (xy 39.157397 51.744272) + (xy 39.046505 51.815539) + (xy 39.046499 51.815543) + (xy 39.041982 51.818447) + (xy 39.038461 51.822509) + (xy 39.03846 51.822511) + (xy 38.95214 51.922128) + (xy 38.952136 51.922133) + (xy 38.948618 51.926194) + (xy 38.946385 51.931082) + (xy 38.946382 51.931088) + (xy 38.891626 52.050987) + (xy 38.891624 52.050993) + (xy 38.889392 52.055881) + (xy 38.888627 52.061195) + (xy 38.888626 52.061202) + (xy 38.873408 52.167052) + (xy 38.869102 52.197) + (xy 38.869867 52.202321) + (xy 38.888626 52.332797) + (xy 38.888627 52.332802) + (xy 38.889392 52.338119) + (xy 38.891625 52.343008) + (xy 38.891626 52.343012) + (xy 38.918204 52.401209) + (xy 38.925 52.432448) + (xy 38.925 56.045527) + (xy 38.919276 56.074305) + (xy 38.902974 56.098701) + (xy 38.887701 56.113974) + (xy 38.863305 56.130276) + (xy 38.834527 56.136) + (xy 38.829917 56.136) + (xy 38.798137 56.128955) + (xy 38.733832 56.09897) + (xy 38.733833 56.09897) + (xy 38.728619 56.096539) + (xy 38.722917 56.095788) + (xy 38.722916 56.095788) + (xy 38.681385 56.09032) + (xy 38.68138 56.090319) + (xy 38.678952 56.09) + (xy 37.424048 56.09) + (xy 37.42162 56.090319) + (xy 37.421614 56.09032) + (xy 37.380083 56.095788) + (xy 37.380081 56.095788) + (xy 37.374381 56.096539) + (xy 37.369174 56.098966) + (xy 37.369167 56.098969) + (xy 37.271354 56.14458) + (xy 37.271352 56.144581) + (xy 37.265393 56.14736) + (xy 37.260743 56.152009) + (xy 37.26074 56.152012) + (xy 37.185012 56.22774) + (xy 37.185009 56.227743) + (xy 37.18036 56.232393) + (xy 37.177581 56.238352) + (xy 37.17758 56.238354) + (xy 37.131969 56.336167) + (xy 37.131966 56.336174) + (xy 37.129539 56.341381) + (xy 37.128788 56.347081) + (xy 37.128788 56.347083) + (xy 37.1255 56.372063) + (xy 37.123 56.391048) + (xy 37.123 56.770952) + (xy 37.123319 56.77338) + (xy 37.12332 56.773385) + (xy 37.128788 56.814916) + (xy 37.129539 56.820619) + (xy 37.131967 56.825827) + (xy 37.131969 56.825832) + (xy 37.1663 56.899454) + (xy 37.18036 56.929607) + (xy 37.265393 57.01464) + (xy 37.326982 57.043359) + (xy 37.369167 57.06303) + (xy 37.369168 57.06303) + (xy 37.374381 57.065461) + (xy 37.424048 57.072) + (xy 38.676495 57.072) + (xy 38.678952 57.072) + (xy 38.728619 57.065461) + (xy 38.798136 57.033045) + (xy 38.829917 57.026) + (xy 39.020793 57.026) + (xy 39.029211 57.026472) + (xy 39.036792 57.027327) + (xy 39.037671 57.027426) + (xy 39.076137 57.043359) + (xy 39.100231 57.077315) + (xy 39.102566 57.118886) + (xy 39.082426 57.155326) + (xy 39.060012 57.17774) + (xy 39.060009 57.177743) + (xy 39.05536 57.182393) + (xy 39.052581 57.188352) + (xy 39.05258 57.188354) + (xy 39.006969 57.286167) + (xy 39.006966 57.286174) + (xy 39.004539 57.291381) + (xy 39.003788 57.297081) + (xy 39.003788 57.297083) + (xy 38.998404 57.33798) + (xy 38.998 57.341048) + (xy 38.998 57.720952) + (xy 38.998319 57.72338) + (xy 38.99832 57.723385) + (xy 39.001826 57.750014) + (xy 39.004539 57.770619) + (xy 39.006967 57.775827) + (xy 39.006969 57.775832) + (xy 39.044577 57.856483) + (xy 39.05536 57.879607) + (xy 39.060012 57.884259) + (xy 39.082232 57.906479) + (xy 39.102947 57.945672) + (xy 39.097984 57.989724) + (xy 39.069068 58.023326) + (xy 39.026248 58.0348) + (xy 39.005245 58.034014) + (xy 39.00524 58.034014) + (xy 38.999614 58.033804) + (xy 38.994173 58.035261) + (xy 38.991819 58.035527) + (xy 38.983401 58.036) + (xy 38.829917 58.036) + (xy 38.798137 58.028955) + (xy 38.733832 57.99897) + (xy 38.733833 57.99897) + (xy 38.728619 57.996539) + (xy 38.722917 57.995788) + (xy 38.722916 57.995788) + (xy 38.681385 57.99032) + (xy 38.68138 57.990319) + (xy 38.678952 57.99) + (xy 37.424048 57.99) + (xy 37.42162 57.990319) + (xy 37.421614 57.99032) + (xy 37.380083 57.995788) + (xy 37.380081 57.995788) + (xy 37.374381 57.996539) + (xy 37.369174 57.998966) + (xy 37.369167 57.998969) + (xy 37.271354 58.04458) + (xy 37.271352 58.044581) + (xy 37.265393 58.04736) + (xy 37.260743 58.052009) + (xy 37.26074 58.052012) + (xy 37.185012 58.12774) + (xy 37.185009 58.127743) + (xy 37.18036 58.132393) + (xy 37.177581 58.138352) + (xy 37.17758 58.138354) + (xy 37.131969 58.236167) + (xy 37.131966 58.236174) + (xy 37.129539 58.241381) + (xy 37.128788 58.247081) + (xy 37.128788 58.247083) + (xy 37.12463 58.278671) + (xy 37.123 58.291048) + (xy 37.123 58.670952) + (xy 34.81248 58.670952) + (xy 34.813092 58.660062) + (xy 34.814036 58.651685) + (xy 34.815348 58.643962) + (xy 34.856922 58.399266) + (xy 34.858799 58.391048) + (xy 34.863586 58.374433) + (xy 34.929676 58.145027) + (xy 34.93246 58.137074) + (xy 34.949963 58.094817) + (xy 35.030442 57.900521) + (xy 35.034087 57.892951) + (xy 35.157952 57.668834) + (xy 35.162421 57.661722) + (xy 35.310592 57.452895) + (xy 35.315835 57.44632) + (xy 35.48783 57.253856) + (xy 35.490676 57.250845) + (xy 35.528047 57.213475) + (xy 35.528049 57.213469) + (xy 35.603862 57.137657) + (xy 35.812218 56.889348) + (xy 35.998139 56.623825) + (xy 36.160212 56.343108) + (xy 36.297201 56.049333) + (xy 36.408065 55.744738) + (xy 36.49196 55.431638) + (xy 36.548248 55.112419) + (xy 36.576499 54.789508) + (xy 36.5765 54.627436) + (xy 36.5765 54.572584) + (xy 36.5765 54.572583) + (xy 36.5765 48.002952) + (xy 37.123 48.002952) + (xy 37.123319 48.00538) + (xy 37.12332 48.005385) + (xy 37.128547 48.045086) + (xy 37.129539 48.052619) + (xy 37.131967 48.057827) + (xy 37.131969 48.057832) + (xy 37.171435 48.142466) + (xy 37.18036 48.161607) + (xy 37.265393 48.24664) + (xy 37.320208 48.2722) + (xy 37.369167 48.29503) + (xy 37.369168 48.29503) + (xy 37.374381 48.297461) + (xy 37.424048 48.304) + (xy 37.5313 48.304) + (xy 37.5689 48.314075) + (xy 37.596425 48.3416) + (xy 37.6065 48.3792) + (xy 37.6065 50.214293) + (xy 37.606027 50.222712) + (xy 37.602419 50.254729) + (xy 37.602419 50.254733) + (xy 37.601789 50.260327) + (xy 37.602835 50.26586) + (xy 37.602836 50.265862) + (xy 37.612447 50.31666) + (xy 37.612918 50.319431) + (xy 37.618279 50.355) + (xy 37.621467 50.376147) + (xy 37.623911 50.381222) + (xy 37.62461 50.383488) + (xy 37.624721 50.383935) + (xy 37.624894 50.384353) + (xy 37.625681 50.386602) + (xy 37.626728 50.392134) + (xy 37.629359 50.397112) + (xy 37.653522 50.442832) + (xy 37.654781 50.445325) + (xy 37.679671 50.497009) + (xy 37.6835 50.501136) + (xy 37.68484 50.503101) + (xy 37.685075 50.503492) + (xy 37.685363 50.503839) + (xy 37.686778 50.505756) + (xy 37.68941 50.510735) + (xy 37.693393 50.514718) + (xy 37.693394 50.514719) + (xy 37.729958 50.551283) + (xy 37.731909 50.553308) + (xy 37.770913 50.595344) + (xy 37.775791 50.59816) + (xy 37.777648 50.599641) + (xy 37.783935 50.60526) + (xy 38.272682 51.094007) + (xy 38.278301 51.100294) + (xy 38.301905 51.129892) + (xy 38.306559 51.133065) + (xy 38.349266 51.162183) + (xy 38.351559 51.16381) + (xy 38.389597 51.191883) + (xy 38.397716 51.197875) + (xy 38.403034 51.199735) + (xy 38.405135 51.200846) + (xy 38.405524 51.201081) + (xy 38.405957 51.20126) + (xy 38.408085 51.202285) + (xy 38.412741 51.205459) + (xy 38.467533 51.22236) + (xy 38.470184 51.223232) + (xy 38.519015 51.24032) + (xy 38.519018 51.24032) + (xy 38.524335 51.242181) + (xy 38.529964 51.242391) + (xy 38.532293 51.242832) + (xy 38.532737 51.242942) + (xy 38.533205 51.242986) + (xy 38.535538 51.243337) + (xy 38.540927 51.245) + (xy 38.598293 51.245) + (xy 38.601103 51.245052) + (xy 38.658386 51.247196) + (xy 38.663827 51.245738) + (xy 38.666181 51.245473) + (xy 38.674599 51.245) + (xy 40.26712 51.245) + (xy 40.29836 51.251796) + (xy 40.300394 51.252724) + (xy 40.304919 51.255633) + (xy 40.441715 51.2958) + (xy 40.578904 51.2958) + (xy 40.584285 51.2958) + (xy 40.721081 51.255633) + (xy 40.841018 51.178553) + (xy 40.934382 51.070806) + (xy 40.993608 50.941119) + (xy 41.011981 50.813332) + (xy 41.013133 50.805321) + (xy 41.013898 50.8) + (xy 40.993608 50.658881) + (xy 40.934382 50.529194) + (xy 40.841018 50.421447) + (xy 40.836496 50.418541) + (xy 40.836494 50.418539) + (xy 40.725602 50.347272) + (xy 40.725599 50.34727) + (xy 40.721081 50.344367) + (xy 40.715925 50.342853) + (xy 40.715923 50.342852) + (xy 40.589447 50.305715) + (xy 40.589442 50.305714) + (xy 40.584285 50.3042) + (xy 40.441715 50.3042) + (xy 40.436558 50.305714) + (xy 40.436552 50.305715) + (xy 40.310079 50.342851) + (xy 40.310073 50.342853) + (xy 40.304919 50.344367) + (xy 40.300394 50.347274) + (xy 40.29836 50.348204) + (xy 40.26712 50.355) + (xy 38.823473 50.355) + (xy 38.794695 50.349276) + (xy 38.770299 50.332974) + (xy 38.518526 50.081201) + (xy 38.502224 50.056805) + (xy 38.4965 50.028027) + (xy 38.4965 48.3792) + (xy 38.506575 48.3416) + (xy 38.5341 48.314075) + (xy 38.5717 48.304) + (xy 38.676495 48.304) + (xy 38.678952 48.304) + (xy 38.728619 48.297461) + (xy 38.837607 48.24664) + (xy 38.92264 48.161607) + (xy 38.973461 48.052619) + (xy 38.98 48.002952) + (xy 38.98 47.623048) + (xy 38.973461 47.573381) + (xy 38.967096 47.559732) + (xy 38.953906 47.531444) + (xy 38.92264 47.464393) + (xy 38.837607 47.37936) + (xy 38.814431 47.368553) + (xy 38.733832 47.330969) + (xy 38.733827 47.330967) + (xy 38.728619 47.328539) + (xy 38.722917 47.327788) + (xy 38.722916 47.327788) + (xy 38.681385 47.32232) + (xy 38.68138 47.322319) + (xy 38.678952 47.322) + (xy 37.424048 47.322) + (xy 37.42162 47.322319) + (xy 37.421614 47.32232) + (xy 37.380083 47.327788) + (xy 37.380081 47.327788) + (xy 37.374381 47.328539) + (xy 37.369174 47.330966) + (xy 37.369167 47.330969) + (xy 37.271354 47.37658) + (xy 37.271352 47.376581) + (xy 37.265393 47.37936) + (xy 37.260743 47.384009) + (xy 37.26074 47.384012) + (xy 37.185012 47.45974) + (xy 37.185009 47.459743) + (xy 37.18036 47.464393) + (xy 37.177581 47.470352) + (xy 37.17758 47.470354) + (xy 37.131969 47.568167) + (xy 37.131966 47.568174) + (xy 37.129539 47.573381) + (xy 37.128788 47.579081) + (xy 37.128788 47.579083) + (xy 37.124824 47.609197) + (xy 37.123 47.623048) + (xy 37.123 48.002952) + (xy 36.5765 48.002952) + (xy 36.5765 46.39048) + (xy 36.576501 46.390477) + (xy 36.5765 46.337738) + (xy 36.576618 46.333523) + (xy 36.576734 46.331461) + (xy 36.589563 46.102952) + (xy 37.123 46.102952) + (xy 37.123319 46.10538) + (xy 37.12332 46.105385) + (xy 37.12716 46.134551) + (xy 37.129539 46.152619) + (xy 37.131967 46.157827) + (xy 37.131969 46.157832) + (xy 37.168873 46.236973) + (xy 37.18036 46.261607) + (xy 37.265393 46.34664) + (xy 37.338104 46.380545) + (xy 37.369167 46.39503) + (xy 37.369168 46.39503) + (xy 37.374381 46.397461) + (xy 37.424048 46.404) + (xy 38.676495 46.404) + (xy 38.678952 46.404) + (xy 38.728619 46.397461) + (xy 38.798136 46.365045) + (xy 38.829917 46.358) + (xy 39.020793 46.358) + (xy 39.029211 46.358472) + (xy 39.0361 46.359249) + (xy 39.037671 46.359426) + (xy 39.076137 46.375359) + (xy 39.100231 46.409315) + (xy 39.102566 46.450886) + (xy 39.082426 46.487326) + (xy 39.060012 46.50974) + (xy 39.060009 46.509743) + (xy 39.05536 46.514393) + (xy 39.052581 46.520352) + (xy 39.05258 46.520354) + (xy 39.006969 46.618167) + (xy 39.006966 46.618174) + (xy 39.004539 46.623381) + (xy 39.003788 46.629081) + (xy 39.003788 46.629083) + (xy 38.998892 46.666275) + (xy 38.998 46.673048) + (xy 38.998 47.052952) + (xy 38.998319 47.05538) + (xy 38.99832 47.055385) + (xy 39.000844 47.074554) + (xy 39.004539 47.102619) + (xy 39.006967 47.107827) + (xy 39.006969 47.107832) + (xy 39.043165 47.185454) + (xy 39.05536 47.211607) + (xy 39.140393 47.29664) + (xy 39.207191 47.327788) + (xy 39.244167 47.34503) + (xy 39.244168 47.34503) + (xy 39.249381 47.347461) + (xy 39.299048 47.354) + (xy 40.551495 47.354) + (xy 40.553952 47.354) + (xy 40.603619 47.347461) + (xy 40.673136 47.315045) + (xy 40.704917 47.308) + (xy 40.953927 47.308) + (xy 40.962391 47.308) + (xy 40.979123 47.309885) + (xy 40.98737 47.311768) + (xy 41.034846 47.30821) + (xy 41.040467 47.308) + (xy 41.054346 47.308) + (xy 41.502706 47.308) + (xy 41.541997 47.319081) + (xy 41.569709 47.349059) + (xy 41.57804 47.365409) + (xy 41.578042 47.365412) + (xy 41.580731 47.370689) + (xy 41.668311 47.458269) + (xy 41.778668 47.514499) + (xy 41.784513 47.515424) + (xy 41.784514 47.515425) + (xy 41.794535 47.517012) + (xy 41.870226 47.529) + (xy 42.32882 47.529) + (xy 42.331774 47.529) + (xy 42.363872 47.523916) + (xy 42.409776 47.531186) + (xy 42.44264 47.56405) + (xy 42.44991 47.609954) + (xy 42.42881 47.651364) + (xy 42.000201 48.079974) + (xy 41.975805 48.096276) + (xy 41.947027 48.102) + (xy 41.870226 48.102) + (xy 41.86731 48.102461) + (xy 41.867307 48.102462) + (xy 41.784514 48.115574) + (xy 41.784507 48.115576) + (xy 41.778668 48.116501) + (xy 41.7734 48.119184) + (xy 41.773394 48.119187) + (xy 41.673587 48.170042) + (xy 41.673583 48.170044) + (xy 41.668311 48.172731) + (xy 41.664124 48.176917) + (xy 41.664121 48.17692) + (xy 41.58492 48.256121) + (xy 41.584917 48.256124) + (xy 41.580731 48.260311) + (xy 41.578044 48.265583) + (xy 41.578042 48.265587) + (xy 41.527187 48.365394) + (xy 41.527184 48.3654) + (xy 41.524501 48.370668) + (xy 41.523576 48.376507) + (xy 41.523574 48.376514) + (xy 41.511936 48.45) + (xy 41.51 48.462226) + (xy 41.51 49.073774) + (xy 41.510461 49.07669) + (xy 41.510462 49.076692) + (xy 41.523574 49.159485) + (xy 41.523575 49.15949) + (xy 41.524501 49.165332) + (xy 41.527185 49.1706) + (xy 41.527187 49.170605) + (xy 41.578042 49.270412) + (xy 41.580731 49.275689) + (xy 41.58492 49.279878) + (xy 41.633974 49.328932) + (xy 41.650276 49.353328) + (xy 41.656 49.382106) + (xy 41.656 49.804894) + (xy 41.650276 49.833672) + (xy 41.633974 49.858068) + (xy 41.58492 49.907121) + (xy 41.584917 49.907124) + (xy 41.580731 49.911311) + (xy 41.578044 49.916583) + (xy 41.578042 49.916587) + (xy 41.527187 50.016394) + (xy 41.527184 50.0164) + (xy 41.524501 50.021668) + (xy 41.523576 50.027507) + (xy 41.523574 50.027514) + (xy 41.510462 50.110307) + (xy 41.51 50.113226) + (xy 41.51 50.724774) + (xy 41.510461 50.72769) + (xy 41.510462 50.727692) + (xy 41.523574 50.810485) + (xy 41.523575 50.81049) + (xy 41.524501 50.816332) + (xy 41.527185 50.8216) + (xy 41.527187 50.821605) + (xy 41.57548 50.916384) + (xy 41.580731 50.926689) + (xy 41.668311 51.014269) + (xy 41.719914 51.040562) + (xy 41.769663 51.065911) + (xy 41.778668 51.070499) + (xy 41.784513 51.071424) + (xy 41.784514 51.071425) + (xy 41.79573 51.073201) + (xy 41.870226 51.085) + (xy 42.32882 51.085) + (xy 42.331774 51.085) + (xy 42.423332 51.070499) + (xy 42.533689 51.014269) + (xy 42.621269 50.926689) + (xy 42.677499 50.816332) + (xy 42.692 50.724774) + (xy 42.692 50.113226) + (xy 42.677499 50.021668) + (xy 42.660519 49.988344) + (xy 42.626874 49.922311) + (xy 42.621269 49.911311) + (xy 42.568026 49.858068) + (xy 42.551724 49.833672) + (xy 42.546 49.804894) + (xy 42.546 49.382106) + (xy 42.551724 49.353328) + (xy 42.568026 49.328932) + (xy 42.590146 49.306812) + (xy 42.621269 49.275689) + (xy 42.677499 49.165332) + (xy 42.692 49.073774) + (xy 42.692 48.677973) + (xy 42.697724 48.649195) + (xy 42.714022 48.624802) + (xy 43.053772 48.285052) + (xy 43.098104 48.263549) + (xy 43.146234 48.274109) + (xy 43.177495 48.312198) + (xy 43.178465 48.361463) + (xy 43.177188 48.365394) + (xy 43.174501 48.370668) + (xy 43.173575 48.376509) + (xy 43.173574 48.376515) + (xy 43.162843 48.444276) + (xy 43.16 48.462226) + (xy 43.16 49.073774) + (xy 43.160461 49.07669) + (xy 43.160462 49.076692) + (xy 43.173574 49.159485) + (xy 43.173575 49.15949) + (xy 43.174501 49.165332) + (xy 43.177185 49.1706) + (xy 43.177187 49.170605) + (xy 43.228042 49.270412) + (xy 43.230731 49.275689) + (xy 43.23492 49.279878) + (xy 43.283974 49.328932) + (xy 43.300276 49.353328) + (xy 43.306 49.382106) + (xy 43.306 49.804894) + (xy 43.300276 49.833672) + (xy 43.283974 49.858068) + (xy 43.23492 49.907121) + (xy 43.234917 49.907124) + (xy 43.230731 49.911311) + (xy 43.228044 49.916583) + (xy 43.228042 49.916587) + (xy 43.177187 50.016394) + (xy 43.177184 50.0164) + (xy 43.174501 50.021668) + (xy 43.173576 50.027507) + (xy 43.173574 50.027514) + (xy 43.160462 50.110307) + (xy 43.16 50.113226) + (xy 43.16 50.724774) + (xy 43.160461 50.72769) + (xy 43.160462 50.727692) + (xy 43.173574 50.810485) + (xy 43.173575 50.81049) + (xy 43.174501 50.816332) + (xy 43.177185 50.8216) + (xy 43.177187 50.821605) + (xy 43.22548 50.916384) + (xy 43.230731 50.926689) + (xy 43.318311 51.014269) + (xy 43.369914 51.040562) + (xy 43.419663 51.065911) + (xy 43.428668 51.070499) + (xy 43.434513 51.071424) + (xy 43.434514 51.071425) + (xy 43.44573 51.073201) + (xy 43.520226 51.085) + (xy 43.97882 51.085) + (xy 43.981774 51.085) + (xy 44.073332 51.070499) + (xy 44.183689 51.014269) + (xy 44.271269 50.926689) + (xy 44.327499 50.816332) + (xy 44.342 50.724774) + (xy 44.342 50.113226) + (xy 44.327499 50.021668) + (xy 44.310519 49.988344) + (xy 44.276874 49.922311) + (xy 44.271269 49.911311) + (xy 44.218026 49.858068) + (xy 44.201724 49.833672) + (xy 44.196 49.804894) + (xy 44.196 49.382106) + (xy 44.201724 49.353328) + (xy 44.218026 49.328932) + (xy 44.240146 49.306812) + (xy 44.271269 49.275689) + (xy 44.279674 49.259194) + (xy 44.282291 49.254059) + (xy 44.310003 49.224081) + (xy 44.349294 49.213) + (xy 44.677706 49.213) + (xy 44.716997 49.224081) + (xy 44.744709 49.254059) + (xy 44.75304 49.270409) + (xy 44.753042 49.270412) + (xy 44.755731 49.275689) + (xy 44.75992 49.279878) + (xy 44.808974 49.328932) + (xy 44.825276 49.353328) + (xy 44.831 49.382106) + (xy 44.831 49.804894) + (xy 44.825276 49.833672) + (xy 44.808974 49.858068) + (xy 44.75992 49.907121) + (xy 44.759917 49.907124) + (xy 44.755731 49.911311) + (xy 44.753044 49.916583) + (xy 44.753042 49.916587) + (xy 44.702187 50.016394) + (xy 44.702184 50.0164) + (xy 44.699501 50.021668) + (xy 44.698576 50.027507) + (xy 44.698574 50.027514) + (xy 44.685462 50.110307) + (xy 44.685 50.113226) + (xy 44.685 50.724774) + (xy 44.685461 50.72769) + (xy 44.685462 50.727692) + (xy 44.698574 50.810485) + (xy 44.698575 50.81049) + (xy 44.699501 50.816332) + (xy 44.702185 50.8216) + (xy 44.702187 50.821605) + (xy 44.75048 50.916384) + (xy 44.755731 50.926689) + (xy 44.843311 51.014269) + (xy 44.894914 51.040562) + (xy 44.944663 51.065911) + (xy 44.953668 51.070499) + (xy 44.959513 51.071424) + (xy 44.959514 51.071425) + (xy 44.97073 51.073201) + (xy 45.045226 51.085) + (xy 45.50382 51.085) + (xy 45.506774 51.085) + (xy 45.598332 51.070499) + (xy 45.708689 51.014269) + (xy 45.796269 50.926689) + (xy 45.852499 50.816332) + (xy 45.867 50.724774) + (xy 45.867 50.113226) + (xy 45.852499 50.021668) + (xy 45.835519 49.988344) + (xy 45.801874 49.922311) + (xy 45.796269 49.911311) + (xy 45.743026 49.858068) + (xy 45.726724 49.833672) + (xy 45.721 49.804894) + (xy 45.721 49.382106) + (xy 45.726724 49.353328) + (xy 45.743026 49.328932) + (xy 45.765146 49.306812) + (xy 45.796269 49.275689) + (xy 45.852499 49.165332) + (xy 45.867 49.073774) + (xy 45.867 48.462226) + (xy 45.852499 48.370668) + (xy 45.840439 48.347) + (xy 45.808876 48.285054) + (xy 45.796269 48.260311) + (xy 45.708689 48.172731) + (xy 45.703412 48.170042) + (xy 45.603605 48.119187) + (xy 45.6036 48.119185) + (xy 45.598332 48.116501) + (xy 45.59249 48.115575) + (xy 45.592485 48.115574) + (xy 45.509692 48.102462) + (xy 45.50969 48.102461) + (xy 45.506774 48.102) + (xy 45.045226 48.102) + (xy 45.04231 48.102461) + (xy 45.042307 48.102462) + (xy 44.959514 48.115574) + (xy 44.959507 48.115576) + (xy 44.953668 48.116501) + (xy 44.9484 48.119184) + (xy 44.948394 48.119187) + (xy 44.848587 48.170042) + (xy 44.848583 48.170044) + (xy 44.843311 48.172731) + (xy 44.839124 48.176917) + (xy 44.839121 48.17692) + (xy 44.75992 48.256121) + (xy 44.759917 48.256124) + (xy 44.755731 48.260311) + (xy 44.753043 48.265584) + (xy 44.75304 48.26559) + (xy 44.744709 48.281941) + (xy 44.716997 48.311919) + (xy 44.677706 48.323) + (xy 44.349294 48.323) + (xy 44.310003 48.311919) + (xy 44.282291 48.281941) + (xy 44.273959 48.26559) + (xy 44.273957 48.265587) + (xy 44.271269 48.260311) + (xy 44.183689 48.172731) + (xy 44.178412 48.170042) + (xy 44.078605 48.119187) + (xy 44.0786 48.119185) + (xy 44.073332 48.116501) + (xy 44.06749 48.115575) + (xy 44.067485 48.115574) + (xy 43.984692 48.102462) + (xy 43.98469 48.102461) + (xy 43.981774 48.102) + (xy 43.520226 48.102) + (xy 43.51731 48.102461) + (xy 43.517307 48.102462) + (xy 43.434515 48.115574) + (xy 43.434509 48.115575) + (xy 43.428668 48.116501) + (xy 43.423397 48.119186) + (xy 43.419463 48.120465) + (xy 43.370198 48.119495) + (xy 43.332109 48.088234) + (xy 43.321549 48.040104) + (xy 43.343053 47.995771) + (xy 43.787799 47.551025) + (xy 43.812195 47.534724) + (xy 43.840973 47.529) + (xy 43.97882 47.529) + (xy 43.981774 47.529) + (xy 44.073332 47.514499) + (xy 44.183689 47.458269) + (xy 44.271269 47.370689) + (xy 44.280435 47.352698) + (xy 44.306954 47.323465) + (xy 44.339912 47.313164) + (xy 44.339827 47.312711) + (xy 44.370261 47.306952) + (xy 45.381 47.306952) + (xy 45.381319 47.30938) + (xy 45.38132 47.309385) + (xy 45.386333 47.347461) + (xy 45.387539 47.356619) + (xy 45.389967 47.361827) + (xy 45.389969 47.361832) + (xy 45.42005 47.42634) + (xy 45.43836 47.465607) + (xy 45.523393 47.55064) + (xy 45.594991 47.584026) + (xy 45.627167 47.59903) + (xy 45.627168 47.59903) + (xy 45.632381 47.601461) + (xy 45.682048 47.608) + (xy 47.409495 47.608) + (xy 47.411952 47.608) + (xy 47.461619 47.601461) + (xy 47.531136 47.569045) + (xy 47.562917 47.562) + (xy 48.171527 47.562) + (xy 48.200305 47.567724) + (xy 48.224701 47.584026) + (xy 48.300974 47.660299) + (xy 48.317276 47.684695) + (xy 48.323 47.713473) + (xy 48.323 48.021937) + (xy 48.31412 48.057386) + (xy 48.289578 48.084464) + (xy 48.255169 48.096775) + (xy 48.252882 48.097) + (xy 48.249188 48.097) + (xy 48.245572 48.097719) + (xy 48.245564 48.09772) + (xy 48.200738 48.106637) + (xy 48.200736 48.106637) + (xy 48.193475 48.108082) + (xy 48.187321 48.112193) + (xy 48.187316 48.112196) + (xy 48.136454 48.146182) + (xy 48.136451 48.146184) + (xy 48.130297 48.150297) + (xy 48.126184 48.156451) + (xy 48.126182 48.156454) + (xy 48.092196 48.207316) + (xy 48.092193 48.207321) + (xy 48.088082 48.213475) + (xy 48.086637 48.220736) + (xy 48.086637 48.220738) + (xy 48.07772 48.265564) + (xy 48.077719 48.265572) + (xy 48.077 48.269188) + (xy 48.077 48.272882) + (xy 48.076775 48.275169) + (xy 48.064464 48.309578) + (xy 48.037386 48.33412) + (xy 48.001937 48.343) + (xy 47.534484 48.343) + (xy 47.495192 48.331919) + (xy 47.46748 48.30194) + (xy 47.458876 48.285054) + (xy 47.446269 48.260311) + (xy 47.358689 48.172731) + (xy 47.353412 48.170042) + (xy 47.253605 48.119187) + (xy 47.2536 48.119185) + (xy 47.248332 48.116501) + (xy 47.24249 48.115575) + (xy 47.242485 48.115574) + (xy 47.159692 48.102462) + (xy 47.15969 48.102461) + (xy 47.156774 48.102) + (xy 46.695226 48.102) + (xy 46.69231 48.102461) + (xy 46.692307 48.102462) + (xy 46.609514 48.115574) + (xy 46.609507 48.115576) + (xy 46.603668 48.116501) + (xy 46.5984 48.119184) + (xy 46.598394 48.119187) + (xy 46.498587 48.170042) + (xy 46.498583 48.170044) + (xy 46.493311 48.172731) + (xy 46.489124 48.176917) + (xy 46.489121 48.17692) + (xy 46.40992 48.256121) + (xy 46.409917 48.256124) + (xy 46.405731 48.260311) + (xy 46.403044 48.265583) + (xy 46.403042 48.265587) + (xy 46.352187 48.365394) + (xy 46.352184 48.3654) + (xy 46.349501 48.370668) + (xy 46.348576 48.376507) + (xy 46.348574 48.376514) + (xy 46.336936 48.45) + (xy 46.335 48.462226) + (xy 46.335 49.073774) + (xy 46.335461 49.07669) + (xy 46.335462 49.076692) + (xy 46.348574 49.159485) + (xy 46.348575 49.15949) + (xy 46.349501 49.165332) + (xy 46.352185 49.1706) + (xy 46.352187 49.170605) + (xy 46.403042 49.270412) + (xy 46.405731 49.275689) + (xy 46.40992 49.279878) + (xy 46.458974 49.328932) + (xy 46.475276 49.353328) + (xy 46.481 49.382106) + (xy 46.481 49.804894) + (xy 46.475276 49.833672) + (xy 46.458974 49.858068) + (xy 46.40992 49.907121) + (xy 46.409917 49.907124) + (xy 46.405731 49.911311) + (xy 46.403044 49.916583) + (xy 46.403042 49.916587) + (xy 46.352187 50.016394) + (xy 46.352184 50.0164) + (xy 46.349501 50.021668) + (xy 46.348576 50.027507) + (xy 46.348574 50.027514) + (xy 46.335462 50.110307) + (xy 46.335 50.113226) + (xy 46.335 50.724774) + (xy 46.335461 50.72769) + (xy 46.335462 50.727692) + (xy 46.348574 50.810485) + (xy 46.348575 50.81049) + (xy 46.349501 50.816332) + (xy 46.352185 50.8216) + (xy 46.352187 50.821605) + (xy 46.40048 50.916384) + (xy 46.405731 50.926689) + (xy 46.493311 51.014269) + (xy 46.544914 51.040562) + (xy 46.594663 51.065911) + (xy 46.603668 51.070499) + (xy 46.609513 51.071424) + (xy 46.609514 51.071425) + (xy 46.62073 51.073201) + (xy 46.695226 51.085) + (xy 47.15382 51.085) + (xy 47.156774 51.085) + (xy 47.248332 51.070499) + (xy 47.358689 51.014269) + (xy 47.446269 50.926689) + (xy 47.502499 50.816332) + (xy 47.517 50.724774) + (xy 47.517 50.113226) + (xy 47.502499 50.021668) + (xy 47.485519 49.988344) + (xy 47.451874 49.922311) + (xy 47.446269 49.911311) + (xy 47.393026 49.858068) + (xy 47.376724 49.833672) + (xy 47.371 49.804894) + (xy 47.371 49.382106) + (xy 47.376724 49.353328) + (xy 47.393026 49.328932) + (xy 47.415146 49.306812) + (xy 47.446269 49.275689) + (xy 47.448958 49.27041) + (xy 47.452436 49.265625) + (xy 47.453907 49.266694) + (xy 47.474811 49.244082) + (xy 47.514103 49.233) + (xy 48.001937 49.233) + (xy 48.037386 49.24188) + (xy 48.064464 49.266422) + (xy 48.076775 49.300831) + (xy 48.077 49.303116) + (xy 48.077 49.306812) + (xy 48.077719 49.310428) + (xy 48.07772 49.310435) + (xy 48.086637 49.355261) + (xy 48.088082 49.362525) + (xy 48.092194 49.36868) + (xy 48.092196 49.368683) + (xy 48.126182 49.419545) + (xy 48.130297 49.425703) + (xy 48.136454 49.429817) + (xy 48.187316 49.463803) + (xy 48.187317 49.463803) + (xy 48.193475 49.467918) + (xy 48.249188 49.479) + (xy 49.283116 49.479) + (xy 49.286812 49.479) + (xy 49.342525 49.467918) + (xy 49.405703 49.425703) + (xy 49.447918 49.362525) + (xy 49.459 49.306812) + (xy 49.459 48.301873) + (xy 49.471673 48.260094) + (xy 49.505422 48.232397) + (xy 49.548871 48.228118) + (xy 49.587374 48.248699) + (xy 49.984974 48.646299) + (xy 50.001276 48.670695) + (xy 50.007 48.699473) + (xy 50.007 48.935774) + (xy 50.007461 48.93869) + (xy 50.007462 48.938692) + (xy 50.020574 49.021485) + (xy 50.020575 49.02149) + (xy 50.021501 49.027332) + (xy 50.024185 49.0326) + (xy 50.024187 49.032605) + (xy 50.073188 49.128773) + (xy 50.077731 49.137689) + (xy 50.165311 49.225269) + (xy 50.210645 49.248368) + (xy 50.253908 49.270412) + (xy 50.275668 49.281499) + (xy 50.281513 49.282424) + (xy 50.281514 49.282425) + (xy 50.285713 49.28309) + (xy 50.367226 49.296) + (xy 50.97582 49.296) + (xy 50.978774 49.296) + (xy 51.070332 49.281499) + (xy 51.180689 49.225269) + (xy 51.233932 49.172025) + (xy 51.258328 49.155724) + (xy 51.287106 49.15) + (xy 51.647649 49.15) + (xy 51.686941 49.161081) + (xy 51.714652 49.19106) + (xy 51.730561 49.222284) + (xy 51.730566 49.222291) + (xy 51.733254 49.227566) + (xy 51.826434 49.320746) + (xy 51.833798 49.324498) + (xy 51.920515 49.368683) + (xy 51.943847 49.380571) + (xy 51.949692 49.381496) + (xy 51.949693 49.381497) + (xy 51.960571 49.383219) + (xy 52.041263 49.396) + (xy 52.606736 49.395999) + (xy 52.704153 49.380571) + (xy 52.821566 49.320746) + (xy 52.914746 49.227566) + (xy 52.917435 49.222287) + (xy 52.917438 49.222284) + (xy 52.933348 49.19106) + (xy 52.961059 49.161081) + (xy 53.000351 49.15) + (xy 53.360894 49.15) + (xy 53.389672 49.155724) + (xy 53.414067 49.172025) + (xy 53.467311 49.225269) + (xy 53.512645 49.248368) + (xy 53.555908 49.270412) + (xy 53.577668 49.281499) + (xy 53.583513 49.282424) + (xy 53.583514 49.282425) + (xy 53.587713 49.28309) + (xy 53.669226 49.296) + (xy 54.27782 49.296) + (xy 54.280774 49.296) + (xy 54.372332 49.281499) + (xy 54.482689 49.225269) + (xy 54.570269 49.137689) + (xy 54.626499 49.027332) + (xy 54.641 48.935774) + (xy 54.641 48.474226) + (xy 54.62788 48.391385) + (xy 54.627425 48.388514) + (xy 54.627424 48.388513) + (xy 54.626499 48.382668) + (xy 54.623363 48.376514) + (xy 54.590679 48.312367) + (xy 54.570269 48.272311) + (xy 54.482689 48.184731) + (xy 54.473151 48.179871) + (xy 54.377605 48.131187) + (xy 54.3776 48.131185) + (xy 54.372332 48.128501) + (xy 54.36649 48.127575) + (xy 54.366485 48.127574) + (xy 54.283692 48.114462) + (xy 54.28369 48.114461) + (xy 54.280774 48.114) + (xy 53.669226 48.114) + (xy 53.66631 48.114461) + (xy 53.666307 48.114462) + (xy 53.583514 48.127574) + (xy 53.583507 48.127576) + (xy 53.577668 48.128501) + (xy 53.5724 48.131184) + (xy 53.572394 48.131187) + (xy 53.472587 48.182042) + (xy 53.472583 48.182044) + (xy 53.467311 48.184731) + (xy 53.463124 48.188917) + (xy 53.463121 48.18892) + (xy 53.414068 48.237974) + (xy 53.389672 48.254276) + (xy 53.360894 48.26) + (xy 52.92346 48.26) + (xy 52.894682 48.254276) + (xy 52.870286 48.237974) + (xy 52.825755 48.193443) + (xy 52.821566 48.189254) + (xy 52.816289 48.186565) + (xy 52.709426 48.132115) + (xy 52.709422 48.132113) + (xy 52.704153 48.129429) + (xy 52.698311 48.128503) + (xy 52.698306 48.128502) + (xy 52.609655 48.114462) + (xy 52.609652 48.114461) + (xy 52.606737 48.114) + (xy 52.603783 48.114) + (xy 52.044218 48.114) + (xy 52.044205 48.114) + (xy 52.041264 48.114001) + (xy 52.03835 48.114462) + (xy 52.038343 48.114463) + (xy 51.949692 48.128503) + (xy 51.94969 48.128503) + (xy 51.943847 48.129429) + (xy 51.938577 48.132113) + (xy 51.938574 48.132115) + (xy 51.83171 48.186565) + (xy 51.831706 48.186567) + (xy 51.826434 48.189254) + (xy 51.822247 48.19344) + (xy 51.822244 48.193443) + (xy 51.777714 48.237974) + (xy 51.753318 48.254276) + (xy 51.72454 48.26) + (xy 51.287106 48.26) + (xy 51.258328 48.254276) + (xy 51.233932 48.237974) + (xy 51.184878 48.18892) + (xy 51.184877 48.188919) + (xy 51.180689 48.184731) + (xy 51.171151 48.179871) + (xy 51.075605 48.131187) + (xy 51.0756 48.131185) + (xy 51.070332 48.128501) + (xy 51.06449 48.127575) + (xy 51.064485 48.127574) + (xy 50.981692 48.114462) + (xy 50.98169 48.114461) + (xy 50.978774 48.114) + (xy 50.97582 48.114) + (xy 50.742473 48.114) + (xy 50.713695 48.108276) + (xy 50.689299 48.091974) + (xy 50.124026 47.526701) + (xy 50.107724 47.502305) + (xy 50.102 47.473527) + (xy 50.102 47.306952) + (xy 50.331 47.306952) + (xy 50.331319 47.30938) + (xy 50.33132 47.309385) + (xy 50.336333 47.347461) + (xy 50.337539 47.356619) + (xy 50.339967 47.361827) + (xy 50.339969 47.361832) + (xy 50.37005 47.42634) + (xy 50.38836 47.465607) + (xy 50.473393 47.55064) + (xy 50.544991 47.584026) + (xy 50.577167 47.59903) + (xy 50.577168 47.59903) + (xy 50.582381 47.601461) + (xy 50.632048 47.608) + (xy 52.359495 47.608) + (xy 52.361952 47.608) + (xy 52.411619 47.601461) + (xy 52.481136 47.569045) + (xy 52.512917 47.562) + (xy 52.802793 47.562) + (xy 52.811212 47.562473) + (xy 52.848827 47.566711) + (xy 52.905177 47.556048) + (xy 52.907933 47.55558) + (xy 52.964647 47.547033) + (xy 52.969731 47.544583) + (xy 52.971984 47.543889) + (xy 52.972436 47.543777) + (xy 52.972878 47.543594) + (xy 52.975087 47.54282) + (xy 52.980634 47.541772) + (xy 53.031349 47.514967) + (xy 53.033782 47.513738) + (xy 53.046826 47.507456) + (xy 53.084719 47.500196) + (xy 53.121229 47.512685) + (xy 53.160316 47.538803) + (xy 53.160317 47.538803) + (xy 53.166475 47.542918) + (xy 53.222188 47.554) + (xy 54.256116 47.554) + (xy 54.259812 47.554) + (xy 54.315525 47.542918) + (xy 54.378703 47.500703) + (xy 54.420918 47.437525) + (xy 54.432 47.381812) + (xy 54.432 46.344188) + (xy 54.420918 46.288475) + (xy 54.416606 46.282022) + (xy 54.382817 46.231454) + (xy 54.378703 46.225297) + (xy 54.371524 46.2205) + (xy 54.321683 46.187196) + (xy 54.32168 46.187194) + (xy 54.315525 46.183082) + (xy 54.308261 46.181637) + (xy 54.289602 46.177925) + (xy 54.259812 46.172) + (xy 53.222188 46.172) + (xy 53.218563 46.17272) + (xy 53.218563 46.172721) + (xy 53.173738 46.181637) + (xy 53.173736 46.181637) + (xy 53.166475 46.183082) + (xy 53.160321 46.187193) + (xy 53.160316 46.187196) + (xy 53.109454 46.221182) + (xy 53.109451 46.221184) + (xy 53.103297 46.225297) + (xy 53.099184 46.231451) + (xy 53.099182 46.231454) + (xy 53.065196 46.282316) + (xy 53.065193 46.282321) + (xy 53.061082 46.288475) + (xy 53.059637 46.295736) + (xy 53.059637 46.295738) + (xy 53.050721 46.340563) + (xy 53.05 46.344188) + (xy 53.05 46.347884) + (xy 53.05 46.353685) + (xy 53.041718 46.387992) + (xy 53.018698 46.414743) + (xy 52.986008 46.428044) + (xy 52.977283 46.42936) + (xy 52.958924 46.432127) + (xy 52.958922 46.432127) + (xy 52.953353 46.432967) + (xy 52.948279 46.435409) + (xy 52.945993 46.436115) + (xy 52.945563 46.436221) + (xy 52.945138 46.436398) + (xy 52.942901 46.43718) + (xy 52.937366 46.438228) + (xy 52.932391 46.440857) + (xy 52.932383 46.44086) + (xy 52.886653 46.465028) + (xy 52.884147 46.466293) + (xy 52.837565 46.488727) + (xy 52.837562 46.488728) + (xy 52.832491 46.491171) + (xy 52.828363 46.494999) + (xy 52.826392 46.496344) + (xy 52.826007 46.496575) + (xy 52.82567 46.496855) + (xy 52.823738 46.49828) + (xy 52.818765 46.50091) + (xy 52.814785 46.504889) + (xy 52.814782 46.504892) + (xy 52.778213 46.54146) + (xy 52.776191 46.543408) + (xy 52.738284 46.578582) + (xy 52.738281 46.578584) + (xy 52.734156 46.582413) + (xy 52.731341 46.587287) + (xy 52.729859 46.589146) + (xy 52.724243 46.595429) + (xy 52.669701 46.649973) + (xy 52.645304 46.666275) + (xy 52.616526 46.672) + (xy 52.512917 46.672) + (xy 52.481137 46.664955) + (xy 52.449007 46.649973) + (xy 52.411619 46.632539) + (xy 52.405917 46.631788) + (xy 52.405916 46.631788) + (xy 52.364385 46.62632) + (xy 52.36438 46.626319) + (xy 52.361952 46.626) + (xy 50.632048 46.626) + (xy 50.62962 46.626319) + (xy 50.629614 46.62632) + (xy 50.588083 46.631788) + (xy 50.588081 46.631788) + (xy 50.582381 46.632539) + (xy 50.577174 46.634966) + (xy 50.577167 46.634969) + (xy 50.479354 46.68058) + (xy 50.479352 46.680581) + (xy 50.473393 46.68336) + (xy 50.468743 46.688009) + (xy 50.46874 46.688012) + (xy 50.393012 46.76374) + (xy 50.393009 46.763743) + (xy 50.38836 46.768393) + (xy 50.385581 46.774352) + (xy 50.38558 46.774354) + (xy 50.339969 46.872167) + (xy 50.339966 46.872174) + (xy 50.337539 46.877381) + (xy 50.336788 46.883081) + (xy 50.336788 46.883083) + (xy 50.331905 46.920175) + (xy 50.331 46.927048) + (xy 50.331 47.306952) + (xy 50.102 47.306952) + (xy 50.102 46.036952) + (xy 50.331 46.036952) + (xy 50.331319 46.03938) + (xy 50.33132 46.039385) + (xy 50.336788 46.080916) + (xy 50.337539 46.086619) + (xy 50.339967 46.091827) + (xy 50.339969 46.091832) + (xy 50.377315 46.17192) + (xy 50.38836 46.195607) + (xy 50.473393 46.28064) + (xy 50.528815 46.306483) + (xy 50.577167 46.32903) + (xy 50.577168 46.32903) + (xy 50.582381 46.331461) + (xy 50.632048 46.338) + (xy 52.359495 46.338) + (xy 52.361952 46.338) + (xy 52.411619 46.331461) + (xy 52.481136 46.299045) + (xy 52.512917 46.292) + (xy 52.548793 46.292) + (xy 52.557212 46.292473) + (xy 52.594827 46.296711) + (xy 52.651177 46.286048) + (xy 52.653933 46.28558) + (xy 52.710647 46.277033) + (xy 52.715731 46.274583) + (xy 52.717984 46.273889) + (xy 52.718436 46.273777) + (xy 52.718878 46.273594) + (xy 52.721087 46.27282) + (xy 52.726634 46.271772) + (xy 52.777348 46.244967) + (xy 52.779825 46.243718) + (xy 52.831509 46.218829) + (xy 52.835641 46.214993) + (xy 52.837594 46.213663) + (xy 52.837991 46.213423) + (xy 52.838355 46.213122) + (xy 52.840246 46.211726) + (xy 52.845235 46.20909) + (xy 52.885822 46.168501) + (xy 52.887766 46.166628) + (xy 52.929844 46.127587) + (xy 52.932664 46.1227) + (xy 52.934137 46.120854) + (xy 52.939742 46.114581) + (xy 53.629301 45.425023) + (xy 53.653695 45.408724) + (xy 53.682473 45.403) + (xy 53.694706 45.403) + (xy 53.733997 45.414081) + (xy 53.761709 45.444059) + (xy 53.77004 45.460409) + (xy 53.770042 45.460412) + (xy 53.772731 45.465689) + (xy 53.860311 45.553269) + (xy 53.911662 45.579434) + (xy 53.964275 45.606242) + (xy 53.970668 45.609499) + (xy 53.976513 45.610424) + (xy 53.976514 45.610425) + (xy 53.98773 45.612201) + (xy 54.062226 45.624) + (xy 54.52082 45.624) + (xy 54.523774 45.624) + (xy 54.615332 45.609499) + (xy 54.725689 45.553269) + (xy 54.813269 45.465689) + (xy 54.869499 45.355332) + (xy 54.884 45.263774) + (xy 54.884 44.652226) + (xy 54.871026 44.570307) + (xy 54.870425 44.566514) + (xy 54.870424 44.566513) + (xy 54.869499 44.560668) + (xy 54.866797 44.555366) + (xy 54.823582 44.470551) + (xy 54.813269 44.450311) + (xy 54.725689 44.362731) + (xy 54.720412 44.360042) + (xy 54.620605 44.309187) + (xy 54.6206 44.309185) + (xy 54.615332 44.306501) + (xy 54.60949 44.305575) + (xy 54.609485 44.305574) + (xy 54.526692 44.292462) + (xy 54.52669 44.292461) + (xy 54.523774 44.292) + (xy 54.062226 44.292) + (xy 54.05931 44.292461) + (xy 54.059307 44.292462) + (xy 53.976514 44.305574) + (xy 53.976507 44.305576) + (xy 53.970668 44.306501) + (xy 53.9654 44.309184) + (xy 53.965394 44.309187) + (xy 53.865587 44.360042) + (xy 53.865583 44.360044) + (xy 53.860311 44.362731) + (xy 53.856124 44.366917) + (xy 53.856121 44.36692) + (xy 53.77692 44.446121) + (xy 53.776917 44.446124) + (xy 53.772731 44.450311) + (xy 53.770043 44.455584) + (xy 53.77004 44.45559) + (xy 53.761709 44.471941) + (xy 53.733997 44.501919) + (xy 53.694706 44.513) + (xy 53.496207 44.513) + (xy 53.487788 44.512527) + (xy 53.45577 44.508919) + (xy 53.455765 44.508919) + (xy 53.450173 44.508289) + (xy 53.444639 44.509335) + (xy 53.444636 44.509336) + (xy 53.393837 44.518947) + (xy 53.391067 44.519418) + (xy 53.339924 44.527127) + (xy 53.339922 44.527127) + (xy 53.334353 44.527967) + (xy 53.329279 44.530409) + (xy 53.326993 44.531115) + (xy 53.326563 44.531221) + (xy 53.326138 44.531398) + (xy 53.323901 44.53218) + (xy 53.318366 44.533228) + (xy 53.313391 44.535857) + (xy 53.313383 44.53586) + (xy 53.267653 44.560028) + (xy 53.265147 44.561293) + (xy 53.218565 44.583727) + (xy 53.218562 44.583728) + (xy 53.213491 44.586171) + (xy 53.209363 44.589999) + (xy 53.207392 44.591344) + (xy 53.207007 44.591575) + (xy 53.20667 44.591855) + (xy 53.204738 44.59328) + (xy 53.199765 44.59591) + (xy 53.195785 44.599889) + (xy 53.195782 44.599892) + (xy 53.159213 44.63646) + (xy 53.157191 44.638408) + (xy 53.119281 44.673584) + (xy 53.119276 44.673589) + (xy 53.115156 44.677413) + (xy 53.112343 44.682283) + (xy 53.110856 44.684149) + (xy 53.105239 44.690434) + (xy 52.456855 45.338818) + (xy 52.427854 45.356853) + (xy 52.393866 45.360201) + (xy 52.364387 45.35632) + (xy 52.364378 45.356319) + (xy 52.361952 45.356) + (xy 50.632048 45.356) + (xy 50.62962 45.356319) + (xy 50.629614 45.35632) + (xy 50.588083 45.361788) + (xy 50.588081 45.361788) + (xy 50.582381 45.362539) + (xy 50.577174 45.364966) + (xy 50.577167 45.364969) + (xy 50.479354 45.41058) + (xy 50.479352 45.410581) + (xy 50.473393 45.41336) + (xy 50.468743 45.418009) + (xy 50.46874 45.418012) + (xy 50.393012 45.49374) + (xy 50.393009 45.493743) + (xy 50.38836 45.498393) + (xy 50.385581 45.504352) + (xy 50.38558 45.504354) + (xy 50.339969 45.602167) + (xy 50.339966 45.602174) + (xy 50.337539 45.607381) + (xy 50.336788 45.613081) + (xy 50.336788 45.613083) + (xy 50.33168 45.651884) + (xy 50.331 45.657048) + (xy 50.331 46.036952) + (xy 50.102 46.036952) + (xy 50.102 45.300473) + (xy 50.107724 45.271695) + (xy 50.124026 45.247299) + (xy 50.327299 45.044026) + (xy 50.351695 45.027724) + (xy 50.380473 45.022) + (xy 50.481083 45.022) + (xy 50.512863 45.029045) + (xy 50.582381 45.061461) + (xy 50.632048 45.068) + (xy 52.359495 45.068) + (xy 52.361952 45.068) + (xy 52.411619 45.061461) + (xy 52.520607 45.01064) + (xy 52.60564 44.925607) + (xy 52.656461 44.816619) + (xy 52.663 44.766952) + (xy 52.663 44.387048) + (xy 52.656461 44.337381) + (xy 52.652236 44.328321) + (xy 52.637358 44.296413) + (xy 52.60564 44.228393) + (xy 52.520607 44.14336) + (xy 52.495231 44.131527) + (xy 52.416832 44.094969) + (xy 52.416827 44.094967) + (xy 52.411619 44.092539) + (xy 52.405917 44.091788) + (xy 52.405916 44.091788) + (xy 52.364385 44.08632) + (xy 52.36438 44.086319) + (xy 52.361952 44.086) + (xy 50.632048 44.086) + (xy 50.62962 44.086319) + (xy 50.629614 44.08632) + (xy 50.588083 44.091788) + (xy 50.588081 44.091788) + (xy 50.582381 44.092539) + (xy 50.577168 44.094969) + (xy 50.577167 44.09497) + (xy 50.512863 44.124955) + (xy 50.481083 44.132) + (xy 50.194198 44.132) + (xy 50.185779 44.131527) + (xy 50.15377 44.12792) + (xy 50.153765 44.12792) + (xy 50.148173 44.12729) + (xy 50.142639 44.128336) + (xy 50.142636 44.128337) + (xy 50.091867 44.137942) + (xy 50.089098 44.138413) + (xy 50.037918 44.146128) + (xy 50.037916 44.146128) + (xy 50.032353 44.146967) + (xy 50.027282 44.149408) + (xy 50.024984 44.150117) + (xy 50.024566 44.15022) + (xy 50.024143 44.150396) + (xy 50.021897 44.151181) + (xy 50.016366 44.152229) + (xy 50.011392 44.154857) + (xy 50.011388 44.154859) + (xy 49.965677 44.179017) + (xy 49.963171 44.180282) + (xy 49.916564 44.202727) + (xy 49.916559 44.202729) + (xy 49.911491 44.205171) + (xy 49.907364 44.208999) + (xy 49.905392 44.210344) + (xy 49.905007 44.210575) + (xy 49.90467 44.210855) + (xy 49.902738 44.21228) + (xy 49.897765 44.21491) + (xy 49.893785 44.218889) + (xy 49.893782 44.218892) + (xy 49.857213 44.25546) + (xy 49.855191 44.257408) + (xy 49.817281 44.292584) + (xy 49.817276 44.292589) + (xy 49.813156 44.296413) + (xy 49.810343 44.301283) + (xy 49.808856 44.303149) + (xy 49.803239 44.309434) + (xy 49.362995 44.749678) + (xy 49.35671 44.755296) + (xy 49.331515 44.775389) + (xy 49.33151 44.775394) + (xy 49.327108 44.778905) + (xy 49.323935 44.783558) + (xy 49.323931 44.783563) + (xy 49.29481 44.826275) + (xy 49.293206 44.828536) + (xy 49.259125 44.874716) + (xy 49.257264 44.88003) + (xy 49.256144 44.882151) + (xy 49.255919 44.882524) + (xy 49.255745 44.882945) + (xy 49.254714 44.885085) + (xy 49.251541 44.889741) + (xy 49.24988 44.895123) + (xy 49.24988 44.895125) + (xy 49.234638 44.944535) + (xy 49.233759 44.947204) + (xy 49.216679 44.996015) + (xy 49.216677 44.996024) + (xy 49.214819 45.001335) + (xy 49.214608 45.00696) + (xy 49.214164 45.009308) + (xy 49.214057 45.009739) + (xy 49.214015 45.010187) + (xy 49.213659 45.012543) + (xy 49.212 45.017927) + (xy 49.212 45.023561) + (xy 49.212 45.075293) + (xy 49.211947 45.078104) + (xy 49.210014 45.129755) + (xy 49.210014 45.129759) + (xy 49.209804 45.135386) + (xy 49.211261 45.140826) + (xy 49.211527 45.143181) + (xy 49.212 45.151599) + (xy 49.212 47.130667) + (xy 49.198933 47.173029) + (xy 49.164274 47.200669) + (xy 49.120067 47.203982) + (xy 49.081675 47.181816) + (xy 49.05242 47.150287) + (xy 49.048587 47.146156) + (xy 49.043707 47.143338) + (xy 49.041852 47.141859) + (xy 49.035565 47.13624) + (xy 48.722321 46.822996) + (xy 48.716701 46.816708) + (xy 48.696611 46.791516) + (xy 48.696608 46.791513) + (xy 48.693095 46.787108) + (xy 48.688438 46.783932) + (xy 48.688435 46.78393) + (xy 48.645731 46.754814) + (xy 48.64344 46.753188) + (xy 48.601822 46.722473) + (xy 48.601816 46.72247) + (xy 48.597284 46.719125) + (xy 48.591965 46.717263) + (xy 48.589862 46.716152) + (xy 48.589476 46.715919) + (xy 48.589052 46.715744) + (xy 48.586913 46.714714) + (xy 48.582259 46.711541) + (xy 48.576876 46.70988) + (xy 48.576875 46.70988) + (xy 48.527471 46.69464) + (xy 48.524802 46.693761) + (xy 48.475988 46.676681) + (xy 48.475984 46.67668) + (xy 48.470665 46.674819) + (xy 48.465031 46.674607) + (xy 48.462702 46.674167) + (xy 48.462256 46.674056) + (xy 48.461817 46.674015) + (xy 48.459451 46.673658) + (xy 48.454073 46.672) + (xy 48.448441 46.672) + (xy 48.396707 46.672) + (xy 48.393896 46.671947) + (xy 48.342244 46.670014) + (xy 48.342239 46.670014) + (xy 48.336614 46.669804) + (xy 48.331173 46.671261) + (xy 48.328819 46.671527) + (xy 48.320401 46.672) + (xy 47.562917 46.672) + (xy 47.531137 46.664955) + (xy 47.499007 46.649973) + (xy 47.461619 46.632539) + (xy 47.455917 46.631788) + (xy 47.455916 46.631788) + (xy 47.414385 46.62632) + (xy 47.41438 46.626319) + (xy 47.411952 46.626) + (xy 45.682048 46.626) + (xy 45.67962 46.626319) + (xy 45.679614 46.62632) + (xy 45.638083 46.631788) + (xy 45.638081 46.631788) + (xy 45.632381 46.632539) + (xy 45.627174 46.634966) + (xy 45.627167 46.634969) + (xy 45.529354 46.68058) + (xy 45.529352 46.680581) + (xy 45.523393 46.68336) + (xy 45.518743 46.688009) + (xy 45.51874 46.688012) + (xy 45.443012 46.76374) + (xy 45.443009 46.763743) + (xy 45.43836 46.768393) + (xy 45.435581 46.774352) + (xy 45.43558 46.774354) + (xy 45.389969 46.872167) + (xy 45.389966 46.872174) + (xy 45.387539 46.877381) + (xy 45.386788 46.883081) + (xy 45.386788 46.883083) + (xy 45.381905 46.920175) + (xy 45.381 46.927048) + (xy 45.381 47.306952) + (xy 44.370261 47.306952) + (xy 44.396177 47.302048) + (xy 44.398933 47.30158) + (xy 44.455647 47.293033) + (xy 44.460731 47.290583) + (xy 44.462984 47.289889) + (xy 44.463436 47.289777) + (xy 44.463878 47.289594) + (xy 44.466087 47.28882) + (xy 44.471634 47.287772) + (xy 44.522348 47.260967) + (xy 44.524825 47.259718) + (xy 44.576509 47.234829) + (xy 44.580641 47.230993) + (xy 44.582594 47.229663) + (xy 44.582991 47.229423) + (xy 44.583355 47.229122) + (xy 44.585246 47.227726) + (xy 44.590235 47.22509) + (xy 44.630822 47.184501) + (xy 44.632766 47.182628) + (xy 44.674844 47.143587) + (xy 44.677664 47.1387) + (xy 44.679137 47.136854) + (xy 44.68475 47.130573) + (xy 45.493862 46.321462) + (xy 45.533975 46.300581) + (xy 45.578814 46.306483) + (xy 45.632381 46.331461) + (xy 45.682048 46.338) + (xy 47.409495 46.338) + (xy 47.411952 46.338) + (xy 47.461619 46.331461) + (xy 47.570607 46.28064) + (xy 47.65564 46.195607) + (xy 47.706461 46.086619) + (xy 47.713 46.036952) + (xy 47.713 45.657048) + (xy 47.706461 45.607381) + (xy 47.702401 45.598675) + (xy 47.682482 45.555957) + (xy 47.65564 45.498393) + (xy 47.570607 45.41336) + (xy 47.556431 45.406749) + (xy 47.466832 45.364969) + (xy 47.466827 45.364967) + (xy 47.461619 45.362539) + (xy 47.455917 45.361788) + (xy 47.455916 45.361788) + (xy 47.414385 45.35632) + (xy 47.41438 45.356319) + (xy 47.411952 45.356) + (xy 45.682048 45.356) + (xy 45.67962 45.356319) + (xy 45.679614 45.35632) + (xy 45.638083 45.361788) + (xy 45.638081 45.361788) + (xy 45.632381 45.362539) + (xy 45.627168 45.364969) + (xy 45.627167 45.36497) + (xy 45.562863 45.394955) + (xy 45.531083 45.402) + (xy 45.368207 45.402) + (xy 45.359788 45.401527) + (xy 45.32777 45.397919) + (xy 45.327765 45.397919) + (xy 45.322173 45.397289) + (xy 45.316639 45.398335) + (xy 45.316636 45.398336) + (xy 45.265837 45.407947) + (xy 45.263067 45.408418) + (xy 45.211924 45.416127) + (xy 45.211922 45.416127) + (xy 45.206353 45.416967) + (xy 45.201279 45.419409) + (xy 45.198993 45.420115) + (xy 45.198563 45.420221) + (xy 45.198138 45.420398) + (xy 45.195901 45.42118) + (xy 45.190366 45.422228) + (xy 45.185391 45.424857) + (xy 45.185383 45.42486) + (xy 45.139653 45.449028) + (xy 45.137147 45.450293) + (xy 45.090565 45.472727) + (xy 45.090562 45.472728) + (xy 45.085491 45.475171) + (xy 45.081363 45.478999) + (xy 45.079392 45.480344) + (xy 45.079007 45.480575) + (xy 45.07867 45.480855) + (xy 45.076738 45.48228) + (xy 45.071765 45.48491) + (xy 45.067785 45.488889) + (xy 45.067782 45.488892) + (xy 45.031213 45.52546) + (xy 45.029191 45.527408) + (xy 44.991281 45.562584) + (xy 44.991276 45.562589) + (xy 44.987156 45.566413) + (xy 44.984343 45.571283) + (xy 44.982856 45.573149) + (xy 44.977239 45.579434) + (xy 44.289403 46.26727) + (xy 44.259467 46.285616) + (xy 44.224464 46.28837) + (xy 44.192026 46.274933) + (xy 44.187875 46.271917) + (xy 44.183689 46.267731) + (xy 44.136879 46.24388) + (xy 44.078605 46.214187) + (xy 44.0786 46.214185) + (xy 44.073332 46.211501) + (xy 44.06749 46.210575) + (xy 44.067485 46.210574) + (xy 43.984692 46.197462) + (xy 43.98469 46.197461) + (xy 43.981774 46.197) + (xy 43.520226 46.197) + (xy 43.51731 46.197461) + (xy 43.517307 46.197462) + (xy 43.434514 46.210574) + (xy 43.434507 46.210576) + (xy 43.428668 46.211501) + (xy 43.4234 46.214184) + (xy 43.423394 46.214187) + (xy 43.323587 46.265042) + (xy 43.323583 46.265044) + (xy 43.318311 46.267731) + (xy 43.314124 46.271917) + (xy 43.314121 46.27192) + (xy 43.23492 46.351121) + (xy 43.234917 46.351124) + (xy 43.230731 46.355311) + (xy 43.228044 46.360583) + (xy 43.228042 46.360587) + (xy 43.177187 46.460394) + (xy 43.177184 46.4604) + (xy 43.174501 46.465668) + (xy 43.173576 46.471507) + (xy 43.173574 46.471514) + (xy 43.161677 46.546637) + (xy 43.16 46.557226) + (xy 43.16 46.56018) + (xy 43.16 46.889027) + (xy 43.154276 46.917805) + (xy 43.137976 46.942198) + (xy 42.975087 47.105088) + (xy 42.814364 47.265811) + (xy 42.772954 47.28691) + (xy 42.72705 47.27964) + (xy 42.694186 47.246776) + (xy 42.686916 47.200872) + (xy 42.686948 47.200669) + (xy 42.692 47.168774) + (xy 42.692 46.557226) + (xy 42.677499 46.465668) + (xy 42.656374 46.424209) + (xy 42.640613 46.393276) + (xy 42.621269 46.355311) + (xy 42.568026 46.302068) + (xy 42.551724 46.277672) + (xy 42.546 46.248894) + (xy 42.546 45.699106) + (xy 42.551724 45.670328) + (xy 42.568026 45.645932) + (xy 42.592551 45.621407) + (xy 42.621269 45.592689) + (xy 42.677499 45.482332) + (xy 42.692 45.390774) + (xy 42.692 45.387779) + (xy 43.160501 45.387779) + (xy 43.160963 45.393654) + (xy 43.174057 45.476328) + (xy 43.177669 45.487447) + (xy 43.228452 45.587114) + (xy 43.23533 45.59658) + (xy 43.314419 45.675669) + (xy 43.323885 45.682547) + (xy 43.423551 45.73333) + (xy 43.434671 45.736943) + (xy 43.517346 45.750037) + (xy 43.523219 45.7505) + (xy 43.614098 45.7505) + (xy 43.621907 45.748407) + (xy 43.624 45.740598) + (xy 43.624 45.740597) + (xy 43.878 45.740597) + (xy 43.880092 45.748406) + (xy 43.887902 45.750499) + (xy 43.978779 45.750499) + (xy 43.984654 45.750036) + (xy 44.067328 45.736942) + (xy 44.078447 45.73333) + (xy 44.178114 45.682547) + (xy 44.18758 45.675669) + (xy 44.266669 45.59658) + (xy 44.273547 45.587114) + (xy 44.32433 45.487448) + (xy 44.327943 45.476328) + (xy 44.341037 45.393653) + (xy 44.3415 45.387781) + (xy 44.3415 45.221902) + (xy 44.339407 45.214092) + (xy 44.331598 45.212) + (xy 43.887902 45.212) + (xy 43.880092 45.214092) + (xy 43.878 45.221902) + (xy 43.878 45.740597) + (xy 43.624 45.740597) + (xy 43.624 45.221902) + (xy 43.621907 45.214092) + (xy 43.614098 45.212) + (xy 43.170403 45.212) + (xy 43.162593 45.214092) + (xy 43.160501 45.221902) + (xy 43.160501 45.387779) + (xy 42.692 45.387779) + (xy 42.692 44.948098) + (xy 43.1605 44.948098) + (xy 43.162592 44.955907) + (xy 43.170402 44.958) + (xy 43.614098 44.958) + (xy 43.621907 44.955907) + (xy 43.624 44.948098) + (xy 43.878 44.948098) + (xy 43.880092 44.955907) + (xy 43.887902 44.958) + (xy 44.331597 44.958) + (xy 44.339406 44.955907) + (xy 44.341499 44.948098) + (xy 44.341499 44.782221) + (xy 44.341036 44.776345) + (xy 44.339151 44.764441) + (xy 45.381501 44.764441) + (xy 45.381821 44.769336) + (xy 45.387276 44.810779) + (xy 45.390461 44.821705) + (xy 45.435993 44.919349) + (xy 45.443431 44.929971) + (xy 45.519028 45.005568) + (xy 45.52965 45.013006) + (xy 45.627298 45.05854) + (xy 45.638215 45.061722) + (xy 45.679663 45.067179) + (xy 45.684557 45.0675) + (xy 46.410098 45.0675) + (xy 46.417907 45.065407) + (xy 46.42 45.057598) + (xy 46.42 45.057597) + (xy 46.674 45.057597) + (xy 46.676092 45.065406) + (xy 46.683902 45.067499) + (xy 47.409441 45.067499) + (xy 47.414336 45.067178) + (xy 47.455779 45.061723) + (xy 47.466705 45.058538) + (xy 47.564349 45.013006) + (xy 47.574971 45.005568) + (xy 47.650568 44.929971) + (xy 47.658006 44.919349) + (xy 47.70354 44.821701) + (xy 47.706722 44.810784) + (xy 47.712179 44.769336) + (xy 47.7125 44.764443) + (xy 47.7125 44.713902) + (xy 47.710407 44.706092) + (xy 47.702598 44.704) + (xy 46.683902 44.704) + (xy 46.676092 44.706092) + (xy 46.674 44.713902) + (xy 46.674 45.057597) + (xy 46.42 45.057597) + (xy 46.42 44.713902) + (xy 46.417907 44.706092) + (xy 46.410098 44.704) + (xy 45.391403 44.704) + (xy 45.383593 44.706092) + (xy 45.381501 44.713902) + (xy 45.381501 44.764441) + (xy 44.339151 44.764441) + (xy 44.327942 44.693671) + (xy 44.32433 44.682552) + (xy 44.273547 44.582885) + (xy 44.266669 44.573419) + (xy 44.18758 44.49433) + (xy 44.178114 44.487452) + (xy 44.085178 44.440098) + (xy 45.3815 44.440098) + (xy 45.383592 44.447907) + (xy 45.391402 44.45) + (xy 46.410098 44.45) + (xy 46.417907 44.447907) + (xy 46.42 44.440098) + (xy 46.674 44.440098) + (xy 46.676092 44.447907) + (xy 46.683902 44.45) + (xy 47.702597 44.45) + (xy 47.710406 44.447907) + (xy 47.712499 44.440098) + (xy 47.712499 44.389559) + (xy 47.712178 44.384663) + (xy 47.706723 44.34322) + (xy 47.703538 44.332294) + (xy 47.658006 44.23465) + (xy 47.650568 44.224028) + (xy 47.574971 44.148431) + (xy 47.564349 44.140993) + (xy 47.466701 44.095459) + (xy 47.455784 44.092277) + (xy 47.414336 44.08682) + (xy 47.409443 44.0865) + (xy 46.683902 44.0865) + (xy 46.676092 44.088592) + (xy 46.674 44.096402) + (xy 46.674 44.440098) + (xy 46.42 44.440098) + (xy 46.42 44.096403) + (xy 46.417907 44.088593) + (xy 46.410098 44.086501) + (xy 45.684559 44.086501) + (xy 45.679663 44.086821) + (xy 45.63822 44.092276) + (xy 45.627294 44.095461) + (xy 45.52965 44.140993) + (xy 45.519028 44.148431) + (xy 45.443431 44.224028) + (xy 45.435993 44.23465) + (xy 45.390459 44.332298) + (xy 45.387277 44.343215) + (xy 45.38182 44.384663) + (xy 45.3815 44.389557) + (xy 45.3815 44.440098) + (xy 44.085178 44.440098) + (xy 44.078448 44.436669) + (xy 44.067328 44.433056) + (xy 43.984653 44.419962) + (xy 43.978781 44.4195) + (xy 43.887902 44.4195) + (xy 43.880092 44.421592) + (xy 43.878 44.429402) + (xy 43.878 44.948098) + (xy 43.624 44.948098) + (xy 43.624 44.429403) + (xy 43.621907 44.421593) + (xy 43.614098 44.419501) + (xy 43.523221 44.419501) + (xy 43.517345 44.419963) + (xy 43.434671 44.433057) + (xy 43.423552 44.436669) + (xy 43.323885 44.487452) + (xy 43.314419 44.49433) + (xy 43.23533 44.573419) + (xy 43.228452 44.582885) + (xy 43.177669 44.682551) + (xy 43.174056 44.693671) + (xy 43.160962 44.776346) + (xy 43.1605 44.782219) + (xy 43.1605 44.948098) + (xy 42.692 44.948098) + (xy 42.692 44.779226) + (xy 42.677499 44.687668) + (xy 42.669769 44.672498) + (xy 42.638679 44.61148) + (xy 42.621269 44.577311) + (xy 42.533689 44.489731) + (xy 42.528412 44.487042) + (xy 42.428605 44.436187) + (xy 42.4286 44.436185) + (xy 42.423332 44.433501) + (xy 42.41749 44.432575) + (xy 42.417485 44.432574) + (xy 42.334692 44.419462) + (xy 42.33469 44.419461) + (xy 42.331774 44.419) + (xy 41.870226 44.419) + (xy 41.86731 44.419461) + (xy 41.867307 44.419462) + (xy 41.784514 44.432574) + (xy 41.784507 44.432576) + (xy 41.778668 44.433501) + (xy 41.7734 44.436184) + (xy 41.773394 44.436187) + (xy 41.673587 44.487042) + (xy 41.673583 44.487044) + (xy 41.668311 44.489731) + (xy 41.664124 44.493917) + (xy 41.664121 44.49392) + (xy 41.584918 44.573123) + (xy 41.584915 44.573126) + (xy 41.580731 44.577311) + (xy 41.578515 44.581659) + (xy 41.547317 44.606394) + (xy 41.50722 44.61148) + (xy 41.470282 44.595074) + (xy 41.447172 44.561914) + (xy 41.446819 44.560905) + (xy 41.445771 44.555366) + (xy 41.44258 44.549329) + (xy 41.432943 44.531094) + (xy 41.418974 44.504663) + (xy 41.417715 44.502168) + (xy 41.417595 44.501919) + (xy 41.392829 44.450491) + (xy 41.388995 44.446358) + (xy 41.387661 44.444402) + (xy 41.387426 44.444012) + (xy 41.387132 44.443657) + (xy 41.385725 44.44175) + (xy 41.38309 44.436765) + (xy 41.34254 44.396215) + (xy 41.340589 44.39419) + (xy 41.30542 44.356287) + (xy 41.301587 44.352156) + (xy 41.296707 44.349338) + (xy 41.294852 44.347859) + (xy 41.288565 44.34224) + (xy 40.848321 43.901996) + (xy 40.842701 43.895708) + (xy 40.822611 43.870516) + (xy 40.822608 43.870513) + (xy 40.819095 43.866108) + (xy 40.814438 43.862932) + (xy 40.814435 43.86293) + (xy 40.771731 43.833814) + (xy 40.76944 43.832188) + (xy 40.727822 43.801473) + (xy 40.727816 43.80147) + (xy 40.723284 43.798125) + (xy 40.717965 43.796263) + (xy 40.715862 43.795152) + (xy 40.715476 43.794919) + (xy 40.715052 43.794744) + (xy 40.712913 43.793714) + (xy 40.708259 43.790541) + (xy 40.702876 43.78888) + (xy 40.702875 43.78888) + (xy 40.653471 43.77364) + (xy 40.650802 43.772761) + (xy 40.601988 43.755681) + (xy 40.601984 43.75568) + (xy 40.596665 43.753819) + (xy 40.591031 43.753607) + (xy 40.588702 43.753167) + (xy 40.588256 43.753056) + (xy 40.587817 43.753015) + (xy 40.585451 43.752658) + (xy 40.580073 43.751) + (xy 40.574441 43.751) + (xy 40.522707 43.751) + (xy 40.519896 43.750947) + (xy 40.468244 43.749014) + (xy 40.468239 43.749014) + (xy 40.462614 43.748804) + (xy 40.457173 43.750261) + (xy 40.454819 43.750527) + (xy 40.446401 43.751) + (xy 40.402613 43.751) + (xy 40.363322 43.739919) + (xy 40.33561 43.709942) + (xy 40.332435 43.703711) + (xy 40.332434 43.70371) + (xy 40.329746 43.698434) + (xy 40.236566 43.605254) + (xy 40.22315 43.598418) + (xy 40.200243 43.586746) + (xy 41.5105 43.586746) + (xy 41.510962 43.592618) + (xy 41.524984 43.681151) + (xy 41.528597 43.692271) + (xy 41.582976 43.798994) + (xy 41.589851 43.808456) + (xy 41.674543 43.893148) + (xy 41.684005 43.900023) + (xy 41.790728 43.954402) + (xy 41.801848 43.958015) + (xy 41.890381 43.972037) + (xy 41.896254 43.9725) + (xy 42.014098 43.9725) + (xy 42.021907 43.970407) + (xy 42.024 43.962598) + (xy 42.278 43.962598) + (xy 42.280092 43.970407) + (xy 42.287902 43.9725) + (xy 42.405746 43.9725) + (xy 42.411618 43.972037) + (xy 42.500151 43.958015) + (xy 42.511271 43.954402) + (xy 42.617994 43.900023) + (xy 42.627456 43.893148) + (xy 42.712148 43.808456) + (xy 42.719023 43.798994) + (xy 42.773402 43.692271) + (xy 42.777015 43.681151) + (xy 42.791037 43.592618) + (xy 42.791496 43.586793) + (xy 43.06 43.586793) + (xy 43.060001 43.589736) + (xy 43.060462 43.59265) + (xy 43.060463 43.592656) + (xy 43.074478 43.681151) + (xy 43.075429 43.687153) + (xy 43.078114 43.692423) + (xy 43.078115 43.692425) + (xy 43.132564 43.799288) + (xy 43.135254 43.804566) + (xy 43.228434 43.897746) + (xy 43.282304 43.925194) + (xy 43.340082 43.954634) + (xy 43.345847 43.957571) + (xy 43.351692 43.958496) + (xy 43.351693 43.958497) + (xy 43.353158 43.958729) + (xy 43.443263 43.973) + (xy 43.958736 43.972999) + (xy 44.056153 43.957571) + (xy 44.173566 43.897746) + (xy 44.266746 43.804566) + (xy 44.271543 43.795152) + (xy 44.27261 43.793058) + (xy 44.300322 43.763081) + (xy 44.339613 43.752) + (xy 44.58512 43.752) + (xy 44.61636 43.758796) + (xy 44.618394 43.759724) + (xy 44.622919 43.762633) + (xy 44.759715 43.8028) + (xy 44.896904 43.8028) + (xy 44.902285 43.8028) + (xy 45.039081 43.762633) + (xy 45.043606 43.759724) + (xy 45.04564 43.758796) + (xy 45.07688 43.752) + (xy 45.531083 43.752) + (xy 45.562863 43.759045) + (xy 45.632381 43.791461) + (xy 45.682048 43.798) + (xy 47.409495 43.798) + (xy 47.411952 43.798) + (xy 47.461619 43.791461) + (xy 47.570607 43.74064) + (xy 47.65564 43.655607) + (xy 47.706461 43.546619) + (xy 47.713 43.496952) + (xy 50.331 43.496952) + (xy 50.331319 43.49938) + (xy 50.33132 43.499385) + (xy 50.332087 43.50521) + (xy 50.337539 43.546619) + (xy 50.339967 43.551827) + (xy 50.339969 43.551832) + (xy 50.367252 43.61034) + (xy 50.38836 43.655607) + (xy 50.473393 43.74064) + (xy 50.539115 43.771286) + (xy 50.577167 43.78903) + (xy 50.577168 43.78903) + (xy 50.582381 43.791461) + (xy 50.632048 43.798) + (xy 52.359495 43.798) + (xy 52.361952 43.798) + (xy 52.411619 43.791461) + (xy 52.481136 43.759045) + (xy 52.512917 43.752) + (xy 52.96712 43.752) + (xy 52.99836 43.758796) + (xy 53.000394 43.759724) + (xy 53.004919 43.762633) + (xy 53.141715 43.8028) + (xy 53.278904 43.8028) + (xy 53.284285 43.8028) + (xy 53.421081 43.762633) + (xy 53.425606 43.759724) + (xy 53.42764 43.758796) + (xy 53.45888 43.752) + (xy 53.704387 43.752) + (xy 53.743678 43.763081) + (xy 53.77139 43.793058) + (xy 53.774564 43.799288) + (xy 53.774565 43.799289) + (xy 53.777254 43.804566) + (xy 53.870434 43.897746) + (xy 53.924304 43.925194) + (xy 53.982082 43.954634) + (xy 53.987847 43.957571) + (xy 53.993692 43.958496) + (xy 53.993693 43.958497) + (xy 53.995158 43.958729) + (xy 54.085263 43.973) + (xy 54.600736 43.972999) + (xy 54.698153 43.957571) + (xy 54.815566 43.897746) + (xy 54.908746 43.804566) + (xy 54.968571 43.687153) + (xy 54.984 43.589737) + (xy 54.984 43.586746) + (xy 55.2525 43.586746) + (xy 55.252962 43.592618) + (xy 55.266984 43.681151) + (xy 55.270597 43.692271) + (xy 55.324976 43.798994) + (xy 55.331851 43.808456) + (xy 55.416543 43.893148) + (xy 55.426005 43.900023) + (xy 55.532728 43.954402) + (xy 55.543848 43.958015) + (xy 55.632381 43.972037) + (xy 55.638254 43.9725) + (xy 55.756098 43.9725) + (xy 55.763907 43.970407) + (xy 55.766 43.962598) + (xy 56.02 43.962598) + (xy 56.022092 43.970407) + (xy 56.029902 43.9725) + (xy 56.147746 43.9725) + (xy 56.153618 43.972037) + (xy 56.242151 43.958015) + (xy 56.253271 43.954402) + (xy 56.359994 43.900023) + (xy 56.369456 43.893148) + (xy 56.454148 43.808456) + (xy 56.461023 43.798994) + (xy 56.515402 43.692271) + (xy 56.519015 43.681151) + (xy 56.533037 43.592618) + (xy 56.5335 43.586746) + (xy 56.5335 43.443902) + (xy 56.531407 43.436092) + (xy 56.523598 43.434) + (xy 56.029902 43.434) + (xy 56.022092 43.436092) + (xy 56.02 43.443902) + (xy 56.02 43.962598) + (xy 55.766 43.962598) + (xy 55.766 43.443902) + (xy 55.763907 43.436092) + (xy 55.756098 43.434) + (xy 55.262402 43.434) + (xy 55.254592 43.436092) + (xy 55.2525 43.443902) + (xy 55.2525 43.586746) + (xy 54.984 43.586746) + (xy 54.983999 43.170098) + (xy 55.2525 43.170098) + (xy 55.254592 43.177907) + (xy 55.262402 43.18) + (xy 55.756098 43.18) + (xy 55.763907 43.177907) + (xy 55.766 43.170098) + (xy 56.02 43.170098) + (xy 56.022092 43.177907) + (xy 56.029902 43.18) + (xy 56.523598 43.18) + (xy 56.531407 43.177907) + (xy 56.5335 43.170098) + (xy 56.5335 43.027254) + (xy 56.533037 43.021381) + (xy 56.519015 42.932848) + (xy 56.515402 42.921728) + (xy 56.461023 42.815005) + (xy 56.454148 42.805543) + (xy 56.369456 42.720851) + (xy 56.359994 42.713976) + (xy 56.253271 42.659597) + (xy 56.242151 42.655984) + (xy 56.153618 42.641962) + (xy 56.147746 42.6415) + (xy 56.029902 42.6415) + (xy 56.022092 42.643592) + (xy 56.02 42.651402) + (xy 56.02 43.170098) + (xy 55.766 43.170098) + (xy 55.766 42.651402) + (xy 55.763907 42.643592) + (xy 55.756098 42.6415) + (xy 55.638254 42.6415) + (xy 55.632381 42.641962) + (xy 55.543848 42.655984) + (xy 55.532728 42.659597) + (xy 55.426005 42.713976) + (xy 55.416543 42.720851) + (xy 55.331851 42.805543) + (xy 55.324976 42.815005) + (xy 55.270597 42.921728) + (xy 55.266984 42.932848) + (xy 55.252962 43.021381) + (xy 55.2525 43.027254) + (xy 55.2525 43.170098) + (xy 54.983999 43.170098) + (xy 54.983999 43.024264) + (xy 54.968571 42.926847) + (xy 54.908746 42.809434) + (xy 54.815566 42.716254) + (xy 54.808069 42.712434) + (xy 54.703426 42.659115) + (xy 54.703422 42.659113) + (xy 54.698153 42.656429) + (xy 54.692311 42.655503) + (xy 54.692306 42.655502) + (xy 54.603655 42.641462) + (xy 54.603652 42.641461) + (xy 54.600737 42.641) + (xy 54.597783 42.641) + (xy 54.088218 42.641) + (xy 54.088205 42.641) + (xy 54.085264 42.641001) + (xy 54.08235 42.641462) + (xy 54.082343 42.641463) + (xy 53.993692 42.655503) + (xy 53.99369 42.655503) + (xy 53.987847 42.656429) + (xy 53.982577 42.659113) + (xy 53.982574 42.659115) + (xy 53.87571 42.713565) + (xy 53.875706 42.713567) + (xy 53.870434 42.716254) + (xy 53.866247 42.72044) + (xy 53.866244 42.720443) + (xy 53.781443 42.805244) + (xy 53.78144 42.805247) + (xy 53.777254 42.809434) + (xy 53.774568 42.814705) + (xy 53.774564 42.814711) + (xy 53.77139 42.820942) + (xy 53.743678 42.850919) + (xy 53.704387 42.862) + (xy 53.45888 42.862) + (xy 53.42764 42.855204) + (xy 53.425605 42.854274) + (xy 53.421081 42.851367) + (xy 53.415923 42.849852) + (xy 53.41592 42.849851) + (xy 53.289447 42.812715) + (xy 53.289442 42.812714) + (xy 53.284285 42.8112) + (xy 53.141715 42.8112) + (xy 53.136558 42.812714) + (xy 53.136552 42.812715) + (xy 53.010079 42.849851) + (xy 53.010073 42.849853) + (xy 53.004919 42.851367) + (xy 53.000394 42.854274) + (xy 52.99836 42.855204) + (xy 52.96712 42.862) + (xy 52.512917 42.862) + (xy 52.481137 42.854955) + (xy 52.424503 42.828547) + (xy 52.411619 42.822539) + (xy 52.405917 42.821788) + (xy 52.405916 42.821788) + (xy 52.364385 42.81632) + (xy 52.36438 42.816319) + (xy 52.361952 42.816) + (xy 50.632048 42.816) + (xy 50.62962 42.816319) + (xy 50.629614 42.81632) + (xy 50.588083 42.821788) + (xy 50.588081 42.821788) + (xy 50.582381 42.822539) + (xy 50.577174 42.824966) + (xy 50.577167 42.824969) + (xy 50.479354 42.87058) + (xy 50.479352 42.870581) + (xy 50.473393 42.87336) + (xy 50.468743 42.878009) + (xy 50.46874 42.878012) + (xy 50.393012 42.95374) + (xy 50.393009 42.953743) + (xy 50.38836 42.958393) + (xy 50.385581 42.964352) + (xy 50.38558 42.964354) + (xy 50.339969 43.062167) + (xy 50.339966 43.062174) + (xy 50.337539 43.067381) + (xy 50.336788 43.073081) + (xy 50.336788 43.073083) + (xy 50.331537 43.112971) + (xy 50.331 43.117048) + (xy 50.331 43.496952) + (xy 47.713 43.496952) + (xy 47.713 43.117048) + (xy 47.706461 43.067381) + (xy 47.695558 43.044) + (xy 47.684994 43.021344) + (xy 47.65564 42.958393) + (xy 47.570607 42.87336) + (xy 47.549404 42.863473) + (xy 47.466832 42.824969) + (xy 47.466827 42.824967) + (xy 47.461619 42.822539) + (xy 47.455917 42.821788) + (xy 47.455916 42.821788) + (xy 47.414385 42.81632) + (xy 47.41438 42.816319) + (xy 47.411952 42.816) + (xy 45.682048 42.816) + (xy 45.67962 42.816319) + (xy 45.679614 42.81632) + (xy 45.638083 42.821788) + (xy 45.638081 42.821788) + (xy 45.632381 42.822539) + (xy 45.627168 42.824969) + (xy 45.627167 42.82497) + (xy 45.562863 42.854955) + (xy 45.531083 42.862) + (xy 45.07688 42.862) + (xy 45.04564 42.855204) + (xy 45.043605 42.854274) + (xy 45.039081 42.851367) + (xy 45.033923 42.849852) + (xy 45.03392 42.849851) + (xy 44.907447 42.812715) + (xy 44.907442 42.812714) + (xy 44.902285 42.8112) + (xy 44.759715 42.8112) + (xy 44.754558 42.812714) + (xy 44.754552 42.812715) + (xy 44.628079 42.849851) + (xy 44.628073 42.849853) + (xy 44.622919 42.851367) + (xy 44.618394 42.854274) + (xy 44.61636 42.855204) + (xy 44.58512 42.862) + (xy 44.339613 42.862) + (xy 44.300322 42.850919) + (xy 44.27261 42.820942) + (xy 44.269435 42.814711) + (xy 44.269434 42.814709) + (xy 44.266746 42.809434) + (xy 44.173566 42.716254) + (xy 44.166069 42.712434) + (xy 44.061426 42.659115) + (xy 44.061422 42.659113) + (xy 44.056153 42.656429) + (xy 44.050311 42.655503) + (xy 44.050306 42.655502) + (xy 43.961655 42.641462) + (xy 43.961652 42.641461) + (xy 43.958737 42.641) + (xy 43.955783 42.641) + (xy 43.446218 42.641) + (xy 43.446205 42.641) + (xy 43.443264 42.641001) + (xy 43.44035 42.641462) + (xy 43.440343 42.641463) + (xy 43.351692 42.655503) + (xy 43.35169 42.655503) + (xy 43.345847 42.656429) + (xy 43.340577 42.659113) + (xy 43.340574 42.659115) + (xy 43.23371 42.713565) + (xy 43.233706 42.713567) + (xy 43.228434 42.716254) + (xy 43.224247 42.72044) + (xy 43.224244 42.720443) + (xy 43.139443 42.805244) + (xy 43.13944 42.805247) + (xy 43.135254 42.809434) + (xy 43.132567 42.814706) + (xy 43.132565 42.81471) + (xy 43.078115 42.921573) + (xy 43.078112 42.921579) + (xy 43.075429 42.926847) + (xy 43.074504 42.932686) + (xy 43.074502 42.932693) + (xy 43.060462 43.021343) + (xy 43.06 43.024263) + (xy 43.06 43.027215) + (xy 43.06 43.027216) + (xy 43.06 43.586781) + (xy 43.06 43.586793) + (xy 42.791496 43.586793) + (xy 42.7915 43.586746) + (xy 42.7915 43.443902) + (xy 42.789407 43.436092) + (xy 42.781598 43.434) + (xy 42.287902 43.434) + (xy 42.280092 43.436092) + (xy 42.278 43.443902) + (xy 42.278 43.962598) + (xy 42.024 43.962598) + (xy 42.024 43.443902) + (xy 42.021907 43.436092) + (xy 42.014098 43.434) + (xy 41.520402 43.434) + (xy 41.512592 43.436092) + (xy 41.5105 43.443902) + (xy 41.5105 43.586746) + (xy 40.200243 43.586746) + (xy 40.124426 43.548115) + (xy 40.124422 43.548113) + (xy 40.119153 43.545429) + (xy 40.113311 43.544503) + (xy 40.113306 43.544502) + (xy 40.024655 43.530462) + (xy 40.024652 43.530461) + (xy 40.021737 43.53) + (xy 40.018783 43.53) + (xy 39.509218 43.53) + (xy 39.509205 43.53) + (xy 39.506264 43.530001) + (xy 39.50335 43.530462) + (xy 39.503343 43.530463) + (xy 39.414692 43.544503) + (xy 39.41469 43.544503) + (xy 39.408847 43.545429) + (xy 39.403577 43.548113) + (xy 39.403574 43.548115) + (xy 39.29671 43.602565) + (xy 39.296706 43.602567) + (xy 39.291434 43.605254) + (xy 39.287247 43.60944) + (xy 39.287244 43.609443) + (xy 39.202443 43.694244) + (xy 39.20244 43.694247) + (xy 39.198254 43.698434) + (xy 39.195567 43.703706) + (xy 39.195565 43.70371) + (xy 39.141115 43.810573) + (xy 39.141112 43.810579) + (xy 39.138429 43.815847) + (xy 39.137504 43.821686) + (xy 39.137502 43.821693) + (xy 39.124784 43.901996) + (xy 39.123 43.913263) + (xy 39.123 43.916215) + (xy 39.123 43.916216) + (xy 39.123 44.475781) + (xy 39.123 44.475793) + (xy 39.123001 44.478736) + (xy 39.123462 44.48165) + (xy 39.123463 44.481656) + (xy 39.137219 44.568513) + (xy 39.138429 44.576153) + (xy 39.141114 44.581423) + (xy 39.141115 44.581425) + (xy 39.195563 44.688286) + (xy 39.198254 44.693566) + (xy 39.291434 44.786746) + (xy 39.327691 44.80522) + (xy 39.391065 44.837511) + (xy 39.408847 44.846571) + (xy 39.414692 44.847496) + (xy 39.414693 44.847497) + (xy 39.425571 44.849219) + (xy 39.506263 44.862) + (xy 40.021736 44.861999) + (xy 40.119153 44.846571) + (xy 40.236566 44.786746) + (xy 40.302322 44.720989) + (xy 40.336029 44.701528) + (xy 40.374956 44.701528) + (xy 40.408667 44.720992) + (xy 40.553974 44.866299) + (xy 40.570276 44.890695) + (xy 40.576 44.919473) + (xy 40.576 46.2968) + (xy 40.565925 46.3344) + (xy 40.5384 46.361925) + (xy 40.5008 46.372) + (xy 39.401873 46.372) + (xy 39.360095 46.359327) + (xy 39.332398 46.32558) + (xy 39.328117 46.282132) + (xy 39.348696 46.243628) + (xy 39.352124 46.2402) + (xy 39.357821 46.234502) + (xy 39.359766 46.232628) + (xy 39.401844 46.193587) + (xy 39.404664 46.1887) + (xy 39.406137 46.186854) + (xy 39.41175 46.180573) + (xy 39.515826 46.076497) + (xy 39.54781 46.05752) + (xy 39.578081 46.048633) + (xy 39.698018 45.971553) + (xy 39.791382 45.863806) + (xy 39.850608 45.734119) + (xy 39.867941 45.613568) + (xy 39.870133 45.598321) + (xy 39.870898 45.593) + (xy 39.868947 45.579434) + (xy 39.854986 45.482332) + (xy 39.850608 45.451881) + (xy 39.791382 45.322194) + (xy 39.698018 45.214447) + (xy 39.693496 45.211541) + (xy 39.693494 45.211539) + (xy 39.582602 45.140272) + (xy 39.582599 45.14027) + (xy 39.578081 45.137367) + (xy 39.572925 45.135853) + (xy 39.572923 45.135852) + (xy 39.446447 45.098715) + (xy 39.446442 45.098714) + (xy 39.441285 45.0972) + (xy 39.298715 45.0972) + (xy 39.293558 45.098714) + (xy 39.293552 45.098715) + (xy 39.167076 45.135852) + (xy 39.167071 45.135854) + (xy 39.161919 45.137367) + (xy 39.157403 45.140269) + (xy 39.157397 45.140272) + (xy 39.046505 45.211539) + (xy 39.046499 45.211543) + (xy 39.041982 45.214447) + (xy 39.038461 45.218509) + (xy 39.03846 45.218511) + (xy 38.967439 45.300473) + (xy 38.948618 45.322194) + (xy 38.946386 45.32708) + (xy 38.946381 45.327089) + (xy 38.902106 45.424039) + (xy 38.874358 45.456062) + (xy 38.833702 45.468) + (xy 38.829917 45.468) + (xy 38.798137 45.460955) + (xy 38.759841 45.443098) + (xy 38.728619 45.428539) + (xy 38.722917 45.427788) + (xy 38.722916 45.427788) + (xy 38.681385 45.42232) + (xy 38.68138 45.422319) + (xy 38.678952 45.422) + (xy 37.424048 45.422) + (xy 37.42162 45.422319) + (xy 37.421614 45.42232) + (xy 37.380083 45.427788) + (xy 37.380081 45.427788) + (xy 37.374381 45.428539) + (xy 37.369174 45.430966) + (xy 37.369167 45.430969) + (xy 37.271354 45.47658) + (xy 37.271352 45.476581) + (xy 37.265393 45.47936) + (xy 37.260743 45.484009) + (xy 37.26074 45.484012) + (xy 37.185012 45.55974) + (xy 37.185009 45.559743) + (xy 37.18036 45.564393) + (xy 37.177581 45.570352) + (xy 37.17758 45.570354) + (xy 37.131969 45.668167) + (xy 37.131966 45.668174) + (xy 37.129539 45.673381) + (xy 37.128788 45.679081) + (xy 37.128788 45.679083) + (xy 37.125008 45.7078) + (xy 37.123 45.723048) + (xy 37.123 46.102952) + (xy 36.589563 46.102952) + (xy 36.590918 46.078826) + (xy 36.591862 46.070451) + (xy 36.592929 46.064173) + (xy 36.634237 45.821029) + (xy 36.636109 45.812833) + (xy 36.706142 45.569732) + (xy 36.708925 45.561779) + (xy 36.711337 45.555957) + (xy 36.805735 45.328053) + (xy 36.809393 45.320458) + (xy 36.813996 45.312129) + (xy 36.931764 45.099036) + (xy 36.936237 45.091917) + (xy 37.08264 44.885576) + (xy 37.087879 44.879006) + (xy 37.233717 44.715809) + (xy 37.254254 44.699645) + (xy 37.278131 44.6918) + (xy 37.282285 44.6918) + (xy 37.419081 44.651633) + (xy 37.5057 44.595964) + (xy 37.545282 44.584034) + (xy 37.585189 44.594828) + (xy 37.61336 44.625085) + (xy 37.645563 44.688286) + (xy 37.645565 44.688289) + (xy 37.648254 44.693566) + (xy 37.741434 44.786746) + (xy 37.777691 44.80522) + (xy 37.841065 44.837511) + (xy 37.858847 44.846571) + (xy 37.864692 44.847496) + (xy 37.864693 44.847497) + (xy 37.875571 44.849219) + (xy 37.956263 44.862) + (xy 38.471736 44.861999) + (xy 38.569153 44.846571) + (xy 38.686566 44.786746) + (xy 38.779746 44.693566) + (xy 38.839571 44.576153) + (xy 38.855 44.478737) + (xy 38.854999 43.913264) + (xy 38.839571 43.815847) + (xy 38.779746 43.698434) + (xy 38.686566 43.605254) + (xy 38.67315 43.598418) + (xy 38.574426 43.548115) + (xy 38.574422 43.548113) + (xy 38.569153 43.545429) + (xy 38.563311 43.544503) + (xy 38.563306 43.544502) + (xy 38.474655 43.530462) + (xy 38.474652 43.530461) + (xy 38.471737 43.53) + (xy 38.468783 43.53) + (xy 37.959218 43.53) + (xy 37.959205 43.53) + (xy 37.956264 43.530001) + (xy 37.95335 43.530462) + (xy 37.953343 43.530463) + (xy 37.864692 43.544503) + (xy 37.86469 43.544503) + (xy 37.858847 43.545429) + (xy 37.853577 43.548113) + (xy 37.853574 43.548115) + (xy 37.74671 43.602565) + (xy 37.746706 43.602567) + (xy 37.741434 43.605254) + (xy 37.737247 43.60944) + (xy 37.737244 43.609443) + (xy 37.652443 43.694244) + (xy 37.65244 43.694247) + (xy 37.648254 43.698434) + (xy 37.645567 43.703707) + (xy 37.645563 43.703713) + (xy 37.61336 43.766914) + (xy 37.585189 43.797171) + (xy 37.545282 43.807965) + (xy 37.5057 43.796035) + (xy 37.504587 43.79532) + (xy 37.466746 43.771) + (xy 37.423602 43.743272) + (xy 37.423599 43.74327) + (xy 37.419081 43.740367) + (xy 37.413925 43.738853) + (xy 37.413923 43.738852) + (xy 37.287447 43.701715) + (xy 37.287442 43.701714) + (xy 37.282285 43.7002) + (xy 37.139715 43.7002) + (xy 37.134558 43.701714) + (xy 37.134552 43.701715) + (xy 37.008076 43.738852) + (xy 37.008071 43.738854) + (xy 37.002919 43.740367) + (xy 36.998403 43.743269) + (xy 36.998397 43.743272) + (xy 36.887505 43.814539) + (xy 36.887499 43.814543) + (xy 36.882982 43.817447) + (xy 36.879461 43.821509) + (xy 36.87946 43.821511) + (xy 36.79314 43.921128) + (xy 36.793136 43.921133) + (xy 36.789618 43.925194) + (xy 36.787385 43.930082) + (xy 36.787382 43.930088) + (xy 36.732626 44.049987) + (xy 36.732624 44.049993) + (xy 36.730392 44.054881) + (xy 36.720317 44.124955) + (xy 36.720156 44.126072) + (xy 36.698896 44.168543) + (xy 36.613564 44.253877) + (xy 36.613554 44.253887) + (xy 36.612259 44.255183) + (xy 36.611104 44.256589) + (xy 36.611088 44.256608) + (xy 36.420566 44.488766) + (xy 36.420555 44.488779) + (xy 36.419396 44.490193) + (xy 36.418376 44.491719) + (xy 36.418369 44.491729) + (xy 36.251517 44.741447) + (xy 36.251511 44.741456) + (xy 36.250496 44.742976) + (xy 36.249634 44.744588) + (xy 36.249629 44.744597) + (xy 36.108061 45.009459) + (xy 36.108053 45.009474) + (xy 36.107187 45.011096) + (xy 36.106484 45.012791) + (xy 36.106476 45.01281) + (xy 35.991554 45.290268) + (xy 35.991548 45.290282) + (xy 35.990849 45.291972) + (xy 35.990319 45.293719) + (xy 35.990313 45.293736) + (xy 35.904398 45.576974) + (xy 35.902601 45.582898) + (xy 35.902242 45.584698) + (xy 35.902239 45.584714) + (xy 35.843654 45.879255) + (xy 35.843652 45.879267) + (xy 35.843293 45.881073) + (xy 35.843113 45.882899) + (xy 35.843111 45.882914) + (xy 35.813677 46.181798) + (xy 35.813675 46.181818) + (xy 35.813498 46.183626) + (xy 35.813498 46.185452) + (xy 35.813498 46.185462) + (xy 35.8135 46.298928) + (xy 35.8135 54.625596) + (xy 35.813409 54.629286) + (xy 35.79948 54.912799) + (xy 35.798757 54.920143) + (xy 35.757375 55.199116) + (xy 35.755935 55.206354) + (xy 35.687411 55.479916) + (xy 35.685269 55.486978) + (xy 35.590259 55.752512) + (xy 35.587435 55.75933) + (xy 35.466857 56.014271) + (xy 35.463378 56.02078) + (xy 35.318386 56.262682) + (xy 35.314286 56.268817) + (xy 35.146292 56.495333) + (xy 35.14161 56.501038) + (xy 34.950975 56.71137) + (xy 34.94843 56.714043) + (xy 34.841306 56.821168) + (xy 34.840133 56.822596) + (xy 34.840126 56.822605) + (xy 34.647919 57.05681) + (xy 34.647909 57.056823) + (xy 34.646744 57.058243) + (xy 34.645721 57.059772) + (xy 34.645715 57.059782) + (xy 34.477386 57.311703) + (xy 34.477377 57.311717) + (xy 34.476356 57.313246) + (xy 34.475492 57.314861) + (xy 34.475485 57.314874) + (xy 34.332654 57.582094) + (xy 34.332648 57.582105) + (xy 34.331784 57.583723) + (xy 34.331079 57.585422) + (xy 34.331077 57.585429) + (xy 34.227875 57.834582) + (xy 34.214419 57.867068) + (xy 34.213889 57.868814) + (xy 34.213884 57.868829) + (xy 34.125925 58.158792) + (xy 34.12592 58.158808) + (xy 34.125392 58.160552) + (xy 34.125034 58.162347) + (xy 34.125033 58.162355) + (xy 34.06592 58.459534) + (xy 34.065916 58.459554) + (xy 34.06556 58.461349) + (xy 34.06538 58.46317) + (xy 34.065378 58.463188) + (xy 34.035679 58.764735) + (xy 34.035678 58.764753) + (xy 34.0355 58.766562) + (xy 34.0355 58.856245) + (xy 34.0355 61.75673) + (xy 34.035499 61.756733) + (xy 34.035499 61.756737) + (xy 34.035499 61.756738) + (xy 34.035499 61.809123) + (xy 34.035338 61.81404) + (xy 34.024249 61.983258) + (xy 34.022965 61.993011) + (xy 33.990365 62.156911) + (xy 33.987819 62.166412) + (xy 33.934105 62.324654) + (xy 33.930341 62.333743) + (xy 33.856429 62.483621) + (xy 33.851511 62.49214) + (xy 33.758664 62.631096) + (xy 33.752675 62.6389) + (xy 33.640955 62.766293) + (xy 33.637591 62.769884) + (xy 33.534297 62.873178) + (xy 33.502952 62.891966) + (xy 33.466452 62.893759) + (xy 33.433417 62.878134) + (xy 33.317006 62.782598) + (xy 33.317003 62.782596) + (xy 33.314147 62.780252) + (xy 33.133301 62.683588) + (xy 33.129774 62.682518) + (xy 33.129769 62.682516) + (xy 32.940603 62.625133) + (xy 32.940601 62.625132) + (xy 32.937072 62.624062) + (xy 32.933401 62.6237) + (xy 32.933399 62.6237) + (xy 32.736676 62.604325) + (xy 32.733 62.603963) + (xy 32.729324 62.604325) + (xy 32.5326 62.6237) + (xy 32.532596 62.6237) + (xy 32.528928 62.624062) + (xy 32.5254 62.625132) + (xy 32.525396 62.625133) + (xy 32.33623 62.682516) + (xy 32.336222 62.682519) + (xy 32.332699 62.683588) + (xy 32.329447 62.685325) + (xy 32.329445 62.685327) + (xy 32.155111 62.77851) + (xy 32.155106 62.778512) + (xy 32.151853 62.780252) + (xy 32.149 62.782593) + (xy 32.148993 62.782598) + (xy 31.996195 62.907996) + (xy 31.996189 62.908001) + (xy 31.99334 62.91034) + (xy 31.991001 62.913189) + (xy 31.990996 62.913195) + (xy 31.865598 63.065993) + (xy 31.865593 63.066) + (xy 31.863252 63.068853) + (xy 31.861512 63.072106) + (xy 31.86151 63.072111) + (xy 31.768731 63.245689) + (xy 31.766588 63.249699) + (xy 31.765519 63.253222) + (xy 31.765516 63.25323) + (xy 31.70901 63.439505) + (xy 31.707062 63.445928) + (xy 31.7067 63.449596) + (xy 31.7067 63.4496) + (xy 31.687573 63.643806) + (xy 31.686963 63.65) + (xy 31.238173 63.65) + (xy 31.238173 63.646325) + (xy 31.218807 63.449701) + (xy 31.217372 63.442491) + (xy 31.16002 63.253426) + (xy 31.157207 63.246634) + (xy 31.06407 63.072386) + (xy 31.059988 63.066278) + (xy 31.019939 63.017477) + (xy 31.013095 63.012741) + (xy 31.005816 63.016787) + (xy 30.379605 63.642999) + (xy 30.375563 63.65) + (xy 30.010436 63.65) + (xy 30.006394 63.642999) + (xy 29.380182 63.016787) + (xy 29.372903 63.012742) + (xy 29.366058 63.017479) + (xy 29.326008 63.066281) + (xy 29.321931 63.072383) + (xy 29.228792 63.246634) + (xy 29.225979 63.253426) + (xy 29.168627 63.442491) + (xy 29.167192 63.449701) + (xy 29.147827 63.646325) + (xy 29.147827 63.653675) + (xy 25 63.653675) + (xy 25 62.829903) + (xy 29.555742 62.829903) + (xy 29.559787 62.837182) + (xy 30.185999 63.463394) + (xy 30.193 63.467436) + (xy 30.2 63.463394) + (xy 30.826211 62.837182) + (xy 30.830257 62.829903) + (xy 30.825521 62.823059) + (xy 30.776722 62.783011) + (xy 30.770613 62.778929) + (xy 30.596365 62.685792) + (xy 30.589573 62.682979) + (xy 30.400508 62.625627) + (xy 30.393298 62.624192) + (xy 30.196675 62.604827) + (xy 30.189325 62.604827) + (xy 29.992701 62.624192) + (xy 29.985491 62.625627) + (xy 29.796426 62.682979) + (xy 29.789634 62.685792) + (xy 29.615383 62.778931) + (xy 29.609281 62.783008) + (xy 29.560479 62.823058) + (xy 29.555742 62.829903) + (xy 25 62.829903) + (xy 25 61.930095) + (xy 29.555741 61.930095) + (xy 29.560477 61.936939) + (xy 29.609278 61.976988) + (xy 29.615386 61.98107) + (xy 29.789634 62.074207) + (xy 29.796426 62.07702) + (xy 29.985491 62.134372) + (xy 29.992701 62.135807) + (xy 30.189325 62.155173) + (xy 30.196675 62.155173) + (xy 30.393298 62.135807) + (xy 30.400508 62.134372) + (xy 30.589573 62.07702) + (xy 30.596365 62.074207) + (xy 30.770613 61.98107) + (xy 30.776721 61.976988) + (xy 30.82552 61.936939) + (xy 30.830257 61.930096) + (xy 30.826211 61.922816) + (xy 30.2 61.296605) + (xy 30.193 61.292563) + (xy 30.185999 61.296605) + (xy 29.559787 61.922816) + (xy 29.555741 61.930095) + (xy 25 61.930095) + (xy 25 61.113675) + (xy 29.147827 61.113675) + (xy 29.167192 61.310298) + (xy 29.168627 61.317508) + (xy 29.225979 61.506573) + (xy 29.228792 61.513365) + (xy 29.321929 61.687613) + (xy 29.326011 61.693722) + (xy 29.366059 61.742521) + (xy 29.372903 61.747257) + (xy 29.380182 61.743211) + (xy 30.006394 61.117) + (xy 30.010436 61.11) + (xy 30.375563 61.11) + (xy 30.379605 61.117) + (xy 31.005816 61.743211) + (xy 31.013096 61.747257) + (xy 31.019939 61.74252) + (xy 31.059988 61.693721) + (xy 31.06407 61.687613) + (xy 31.157207 61.513365) + (xy 31.16002 61.506573) + (xy 31.217372 61.317508) + (xy 31.218807 61.310298) + (xy 31.238173 61.113675) + (xy 31.238173 61.11) + (xy 31.686963 61.11) + (xy 31.687325 61.113675) + (xy 31.687325 61.113676) + (xy 31.706477 61.308139) + (xy 31.707062 61.314072) + (xy 31.708132 61.317601) + (xy 31.708133 61.317603) + (xy 31.765516 61.506769) + (xy 31.765518 61.506774) + (xy 31.766588 61.510301) + (xy 31.863252 61.691147) + (xy 31.865596 61.694003) + (xy 31.865598 61.694006) + (xy 31.990996 61.846804) + (xy 31.99334 61.84966) + (xy 31.996195 61.852003) + (xy 32.128133 61.960282) + (xy 32.151853 61.979748) + (xy 32.332699 62.076412) + (xy 32.528928 62.135938) + (xy 32.715797 62.154342) + (xy 32.724227 62.155173) + (xy 32.733 62.156037) + (xy 32.741773 62.155173) + (xy 32.748539 62.154506) + (xy 32.937072 62.135938) + (xy 33.133301 62.076412) + (xy 33.314147 61.979748) + (xy 33.47266 61.84966) + (xy 33.602748 61.691147) + (xy 33.699412 61.510301) + (xy 33.758938 61.314072) + (xy 33.779037 61.11) + (xy 33.778347 61.102999) + (xy 33.772564 61.044277) + (xy 33.758938 60.905928) + (xy 33.699412 60.709699) + (xy 33.602748 60.528853) + (xy 33.593492 60.517575) + (xy 33.475003 60.373195) + (xy 33.47266 60.37034) + (xy 33.469804 60.367996) + (xy 33.317006 60.242598) + (xy 33.317003 60.242596) + (xy 33.314147 60.240252) + (xy 33.15425 60.154785) + (xy 33.125199 60.127126) + (xy 33.1145 60.088465) + (xy 33.1145 58.975838) + (xy 33.114591 58.972148) + (xy 33.116512 58.933045) + (xy 33.128873 58.681421) + (xy 33.129593 58.6741) + (xy 33.172037 58.387975) + (xy 33.173474 58.380755) + (xy 33.243757 58.100171) + (xy 33.245887 58.093148) + (xy 33.343337 57.820796) + (xy 33.34615 57.814005) + (xy 33.469832 57.552506) + (xy 33.47329 57.546036) + (xy 33.622005 57.297924) + (xy 33.626082 57.291822) + (xy 33.798404 57.059476) + (xy 33.803055 57.053808) + (xy 33.998733 56.837914) + (xy 34.001218 56.835304) + (xy 34.038566 56.797957) + (xy 34.038566 56.797955) + (xy 34.155754 56.680767) + (xy 34.155761 56.680761) + (xy 34.155764 56.680764) + (xy 34.277059 56.559468) + (xy 34.497585 56.296656) + (xy 34.694365 56.015624) + (xy 34.865903 55.718511) + (xy 35.010893 55.407578) + (xy 35.128232 55.085192) + (xy 35.217026 54.753806) + (xy 35.2766 54.415941) + (xy 35.3065 54.07417) + (xy 35.3065 53.902632) + (xy 35.3065 53.847781) + (xy 35.3065 46.051249) + (xy 35.306591 46.047558) + (xy 35.309134 45.995803) + (xy 35.320126 45.772117) + (xy 35.320849 45.764783) + (xy 35.321231 45.762212) + (xy 35.361049 45.493799) + (xy 35.362489 45.486566) + (xy 35.364955 45.476721) + (xy 35.429056 45.220829) + (xy 35.431189 45.213795) + (xy 35.52349 44.955844) + (xy 35.526303 44.949053) + (xy 35.643443 44.701389) + (xy 35.646911 44.694902) + (xy 35.787756 44.459924) + (xy 35.791846 44.453803) + (xy 35.955045 44.23376) + (xy 35.959712 44.228073) + (xy 36.14497 44.023678) + (xy 36.147474 44.021048) + (xy 36.184925 43.983599) + (xy 36.184927 43.983594) + (xy 36.998423 43.170098) + (xy 41.5105 43.170098) + (xy 41.512592 43.177907) + (xy 41.520402 43.18) + (xy 42.014098 43.18) + (xy 42.021907 43.177907) + (xy 42.024 43.170098) + (xy 42.278 43.170098) + (xy 42.280092 43.177907) + (xy 42.287902 43.18) + (xy 42.781598 43.18) + (xy 42.789407 43.177907) + (xy 42.7915 43.170098) + (xy 42.7915 43.027254) + (xy 42.791037 43.021381) + (xy 42.777015 42.932848) + (xy 42.773402 42.921728) + (xy 42.719023 42.815005) + (xy 42.712148 42.805543) + (xy 42.627456 42.720851) + (xy 42.617994 42.713976) + (xy 42.511271 42.659597) + (xy 42.500151 42.655984) + (xy 42.411618 42.641962) + (xy 42.405746 42.6415) + (xy 42.287902 42.6415) + (xy 42.280092 42.643592) + (xy 42.278 42.651402) + (xy 42.278 43.170098) + (xy 42.024 43.170098) + (xy 42.024 42.651402) + (xy 42.021907 42.643592) + (xy 42.014098 42.6415) + (xy 41.896254 42.6415) + (xy 41.890381 42.641962) + (xy 41.801848 42.655984) + (xy 41.790728 42.659597) + (xy 41.684005 42.713976) + (xy 41.674543 42.720851) + (xy 41.589851 42.805543) + (xy 41.582976 42.815005) + (xy 41.528597 42.921728) + (xy 41.524984 42.932848) + (xy 41.510962 43.021381) + (xy 41.5105 43.027254) + (xy 41.5105 43.170098) + (xy 36.998423 43.170098) + (xy 37.233298 42.935223) + (xy 37.27577 42.913963) + (xy 37.276904 42.9138) + (xy 37.282285 42.9138) + (xy 37.419081 42.873633) + (xy 37.5057 42.817964) + (xy 37.545282 42.806034) + (xy 37.585189 42.816828) + (xy 37.61336 42.847085) + (xy 37.645563 42.910286) + (xy 37.645565 42.910289) + (xy 37.648254 42.915566) + (xy 37.741434 43.008746) + (xy 37.777758 43.027254) + (xy 37.84595 43.062) + (xy 37.858847 43.068571) + (xy 37.864692 43.069496) + (xy 37.864693 43.069497) + (xy 37.875571 43.071219) + (xy 37.956263 43.084) + (xy 38.471736 43.083999) + (xy 38.569153 43.068571) + (xy 38.686566 43.008746) + (xy 38.779746 42.915566) + (xy 38.839571 42.798153) + (xy 38.855 42.700737) + (xy 38.854999 42.135264) + (xy 38.839571 42.037847) + (xy 38.779746 41.920434) + (xy 38.686566 41.827254) + (xy 38.671788 41.819724) + (xy 38.574426 41.770115) + (xy 38.574422 41.770113) + (xy 38.569153 41.767429) + (xy 38.563311 41.766503) + (xy 38.563306 41.766502) + (xy 38.474655 41.752462) + (xy 38.474652 41.752461) + (xy 38.471737 41.752) + (xy 38.468783 41.752) + (xy 37.959218 41.752) + (xy 37.959205 41.752) + (xy 37.956264 41.752001) + (xy 37.95335 41.752462) + (xy 37.953343 41.752463) + (xy 37.864692 41.766503) + (xy 37.86469 41.766503) + (xy 37.858847 41.767429) + (xy 37.853577 41.770113) + (xy 37.853574 41.770115) + (xy 37.74671 41.824565) + (xy 37.746706 41.824567) + (xy 37.741434 41.827254) + (xy 37.737247 41.83144) + (xy 37.737244 41.831443) + (xy 37.652443 41.916244) + (xy 37.65244 41.916247) + (xy 37.648254 41.920434) + (xy 37.645567 41.925707) + (xy 37.645563 41.925713) + (xy 37.61336 41.988914) + (xy 37.585189 42.019171) + (xy 37.545282 42.029965) + (xy 37.5057 42.018035) + (xy 37.493661 42.010298) + (xy 37.455686 41.985892) + (xy 37.423602 41.965272) + (xy 37.423599 41.96527) + (xy 37.419081 41.962367) + (xy 37.413925 41.960853) + (xy 37.413923 41.960852) + (xy 37.287447 41.923715) + (xy 37.287442 41.923714) + (xy 37.282285 41.9222) + (xy 37.139715 41.9222) + (xy 37.134558 41.923714) + (xy 37.134552 41.923715) + (xy 37.008076 41.960852) + (xy 37.008071 41.960854) + (xy 37.002919 41.962367) + (xy 36.998403 41.965269) + (xy 36.998397 41.965272) + (xy 36.887505 42.036539) + (xy 36.887499 42.036543) + (xy 36.882982 42.039447) + (xy 36.879461 42.043509) + (xy 36.87946 42.043511) + (xy 36.79314 42.143128) + (xy 36.793136 42.143133) + (xy 36.789618 42.147194) + (xy 36.787385 42.152082) + (xy 36.787382 42.152088) + (xy 36.733176 42.270784) + (xy 36.730392 42.276881) + (xy 36.729626 42.282203) + (xy 36.729625 42.282209) + (xy 36.720149 42.348115) + (xy 36.698889 42.390586) + (xy 35.584309 43.505167) + (xy 35.58429 43.505186) + (xy 35.584267 43.50521) + (xy 35.584262 43.505215) + (xy 35.584253 43.505226) + (xy 35.48187 43.607607) + (xy 35.48186 43.607617) + (xy 35.480565 43.608913) + (xy 35.479402 43.61033) + (xy 35.479393 43.61034) + (xy 35.255482 43.883168) + (xy 35.255473 43.883178) + (xy 35.254315 43.884591) + (xy 35.253305 43.886102) + (xy 35.253292 43.88612) + (xy 35.057195 44.179592) + (xy 35.057189 44.179601) + (xy 35.056176 44.181118) + (xy 35.05532 44.182718) + (xy 35.05531 44.182736) + (xy 34.88893 44.494001) + (xy 34.888922 44.494017) + (xy 34.888056 44.495638) + (xy 34.887346 44.49735) + (xy 34.887345 44.497354) + (xy 34.752281 44.823415) + (xy 34.752277 44.823423) + (xy 34.751574 44.825123) + (xy 34.751043 44.826871) + (xy 34.751038 44.826887) + (xy 34.652533 45.151599) + (xy 34.648044 45.166398) + (xy 34.647687 45.168189) + (xy 34.647686 45.168196) + (xy 34.582517 45.495803) + (xy 34.578464 45.516178) + (xy 34.578283 45.518014) + (xy 34.578283 45.518015) + (xy 34.543682 45.869268) + (xy 34.543681 45.869283) + (xy 34.543503 45.871093) + (xy 34.543502 45.872908) + (xy 34.543502 45.872928) + (xy 34.543501 45.95727) + (xy 34.543501 45.98579) + (xy 34.5435 45.985794) + (xy 34.5435 46.023432) + (xy 34.5435 46.04941) + (xy 34.5435 46.04945) + (xy 34.543499 46.104301) + (xy 34.5435 46.104304) + (xy 34.5435 53.900796) + (xy 34.543409 53.904486) + (xy 34.528437 54.20925) + (xy 34.527714 54.216594) + (xy 34.483211 54.516612) + (xy 34.481771 54.52385) + (xy 34.408078 54.818051) + (xy 34.405936 54.825113) + (xy 34.303758 55.110679) + (xy 34.300934 55.117497) + (xy 34.171257 55.391677) + (xy 34.167778 55.398185) + (xy 34.011859 55.658322) + (xy 34.007759 55.664459) + (xy 33.827079 55.908078) + (xy 33.822397 55.913782) + (xy 33.617537 56.139809) + (xy 33.614993 56.142482) + (xy 33.437999 56.319477) + (xy 33.437987 56.319489) + (xy 33.437907 56.31957) + (xy 33.437884 56.3196) + (xy 33.437808 56.319684) + (xy 33.344575 56.412916) + (xy 33.344552 56.41294) + (xy 33.343399 56.414094) + (xy 33.342353 56.41534) + (xy 33.342337 56.415358) + (xy 33.131973 56.666057) + (xy 33.131959 56.666074) + (xy 33.130917 56.667317) + (xy 33.129979 56.668655) + (xy 33.129974 56.668663) + (xy 32.942968 56.935731) + (xy 32.941313 56.938095) + (xy 32.940495 56.939511) + (xy 32.940484 56.939529) + (xy 32.776852 57.222944) + (xy 32.776841 57.222964) + (xy 32.776031 57.224368) + (xy 32.775342 57.225845) + (xy 32.775335 57.225859) + (xy 32.637364 57.521737) + (xy 32.636329 57.523957) + (xy 32.635776 57.525476) + (xy 32.635767 57.525498) + (xy 32.523829 57.833042) + (xy 32.523825 57.833052) + (xy 32.523269 57.834582) + (xy 32.522847 57.836155) + (xy 32.522845 57.836163) + (xy 32.438133 58.152307) + (xy 32.438129 58.152326) + (xy 32.437713 58.153878) + (xy 32.437433 58.155463) + (xy 32.43743 58.155479) + (xy 32.380594 58.477808) + (xy 32.380591 58.477823) + (xy 32.380311 58.479417) + (xy 32.380169 58.481038) + (xy 32.380168 58.481047) + (xy 32.351643 58.807077) + (xy 32.351642 58.807093) + (xy 32.3515 58.80872) + (xy 32.3515 58.810371) + (xy 32.3515 60.088465) + (xy 32.340801 60.127126) + (xy 32.311749 60.154786) + (xy 32.155111 60.23851) + (xy 32.155106 60.238512) + (xy 32.151853 60.240252) + (xy 32.149 60.242593) + (xy 32.148993 60.242598) + (xy 31.996195 60.367996) + (xy 31.996189 60.368001) + (xy 31.99334 60.37034) + (xy 31.991001 60.373189) + (xy 31.990996 60.373195) + (xy 31.865598 60.525993) + (xy 31.865593 60.526) + (xy 31.863252 60.528853) + (xy 31.861512 60.532106) + (xy 31.86151 60.532111) + (xy 31.768327 60.706445) + (xy 31.766588 60.709699) + (xy 31.765519 60.713222) + (xy 31.765516 60.71323) + (xy 31.709236 60.898761) + (xy 31.707062 60.905928) + (xy 31.7067 60.909596) + (xy 31.7067 60.9096) + (xy 31.687325 61.106324) + (xy 31.686963 61.11) + (xy 31.238173 61.11) + (xy 31.238173 61.106325) + (xy 31.218807 60.909701) + (xy 31.217372 60.902491) + (xy 31.16002 60.713426) + (xy 31.157207 60.706634) + (xy 31.06407 60.532386) + (xy 31.059988 60.526278) + (xy 31.019939 60.477477) + (xy 31.013095 60.472741) + (xy 31.005816 60.476787) + (xy 30.379605 61.102999) + (xy 30.375563 61.11) + (xy 30.010436 61.11) + (xy 30.006394 61.102999) + (xy 29.380182 60.476787) + (xy 29.372903 60.472742) + (xy 29.366058 60.477479) + (xy 29.326008 60.526281) + (xy 29.321931 60.532383) + (xy 29.228792 60.706634) + (xy 29.225979 60.713426) + (xy 29.168627 60.902491) + (xy 29.167192 60.909701) + (xy 29.147827 61.106325) + (xy 29.147827 61.113675) + (xy 25 61.113675) + (xy 25 60.289903) + (xy 29.555742 60.289903) + (xy 29.559787 60.297182) + (xy 30.185999 60.923394) + (xy 30.193 60.927436) + (xy 30.2 60.923394) + (xy 30.826211 60.297182) + (xy 30.830257 60.289903) + (xy 30.825521 60.283059) + (xy 30.776722 60.243011) + (xy 30.770613 60.238929) + (xy 30.596365 60.145792) + (xy 30.589573 60.142979) + (xy 30.400508 60.085627) + (xy 30.393298 60.084192) + (xy 30.196675 60.064827) + (xy 30.189325 60.064827) + (xy 29.992701 60.084192) + (xy 29.985491 60.085627) + (xy 29.796426 60.142979) + (xy 29.789634 60.145792) + (xy 29.615383 60.238931) + (xy 29.609281 60.243008) + (xy 29.560479 60.283058) + (xy 29.555742 60.289903) + (xy 25 60.289903) + (xy 25 52.17) + (xy 30.112566 52.17) + (xy 30.112798 52.172948) + (xy 30.130762 52.401209) + (xy 30.13227 52.420363) + (xy 30.132957 52.423226) + (xy 30.132959 52.423236) + (xy 30.188397 52.654148) + (xy 30.190897 52.664561) + (xy 30.287003 52.896582) + (xy 30.28854 52.89909) + (xy 30.288542 52.899094) + (xy 30.41668 53.108196) + (xy 30.418222 53.110712) + (xy 30.420136 53.112953) + (xy 30.420139 53.112957) + (xy 30.517102 53.226486) + (xy 30.581322 53.301678) + (xy 30.618724 53.333622) + (xy 30.768536 53.461574) + (xy 30.772288 53.464778) + (xy 30.986418 53.595997) + (xy 31.218439 53.692103) + (xy 31.462637 53.75073) + (xy 31.650308 53.7655) + (xy 31.774212 53.7655) + (xy 31.775692 53.7655) + (xy 31.963363 53.75073) + (xy 32.207561 53.692103) + (xy 32.439582 53.595997) + (xy 32.653712 53.464778) + (xy 32.844678 53.301678) + (xy 33.007778 53.110712) + (xy 33.138997 52.896582) + (xy 33.235103 52.664561) + (xy 33.29373 52.420363) + (xy 33.313434 52.17) + (xy 33.29373 51.919637) + (xy 33.235103 51.675439) + (xy 33.138997 51.443418) + (xy 33.007778 51.229288) + (xy 33.005247 51.226325) + (xy 32.875894 51.074871) + (xy 32.844678 51.038322) + (xy 32.819663 51.016957) + (xy 32.655957 50.877139) + (xy 32.655953 50.877136) + (xy 32.653712 50.875222) + (xy 32.650124 50.873023) + (xy 32.442094 50.745542) + (xy 32.44209 50.74554) + (xy 32.439582 50.744003) + (xy 32.386027 50.72182) + (xy 32.210294 50.649029) + (xy 32.210293 50.649028) + (xy 32.207561 50.647897) + (xy 32.204683 50.647206) + (xy 32.20468 50.647205) + (xy 31.966236 50.589959) + (xy 31.966226 50.589957) + (xy 31.963363 50.58927) + (xy 31.960416 50.589038) + (xy 31.777169 50.574616) + (xy 31.777162 50.574615) + (xy 31.775692 50.5745) + (xy 31.650308 50.5745) + (xy 31.648838 50.574615) + (xy 31.64883 50.574616) + (xy 31.465583 50.589038) + (xy 31.465581 50.589038) + (xy 31.462637 50.58927) + (xy 31.459775 50.589957) + (xy 31.459763 50.589959) + (xy 31.221319 50.647205) + (xy 31.221312 50.647207) + (xy 31.218439 50.647897) + (xy 31.21571 50.649027) + (xy 31.215705 50.649029) + (xy 30.98914 50.742875) + (xy 30.989134 50.742877) + (xy 30.986418 50.744003) + (xy 30.983914 50.745537) + (xy 30.983905 50.745542) + (xy 30.774803 50.87368) + (xy 30.774795 50.873685) + (xy 30.772288 50.875222) + (xy 30.770051 50.877131) + (xy 30.770042 50.877139) + (xy 30.583562 51.036408) + (xy 30.583556 51.036413) + (xy 30.581322 51.038322) + (xy 30.579413 51.040556) + (xy 30.579408 51.040562) + (xy 30.420139 51.227042) + (xy 30.420131 51.227051) + (xy 30.418222 51.229288) + (xy 30.416685 51.231795) + (xy 30.41668 51.231803) + (xy 30.288542 51.440905) + (xy 30.288537 51.440914) + (xy 30.287003 51.443418) + (xy 30.285877 51.446134) + (xy 30.285875 51.44614) + (xy 30.200673 51.651837) + (xy 30.190897 51.675439) + (xy 30.190207 51.678312) + (xy 30.190205 51.678319) + (xy 30.132959 51.916763) + (xy 30.132957 51.916775) + (xy 30.13227 51.919637) + (xy 30.132038 51.922581) + (xy 30.132038 51.922583) + (xy 30.121547 52.055881) + (xy 30.112566 52.17) + (xy 25 52.17) + (xy 25 42.630095) + (xy 29.575241 42.630095) + (xy 29.579977 42.636939) + (xy 29.628778 42.676988) + (xy 29.634886 42.68107) + (xy 29.809134 42.774207) + (xy 29.815926 42.77702) + (xy 30.004991 42.834372) + (xy 30.012201 42.835807) + (xy 30.208825 42.855173) + (xy 30.216175 42.855173) + (xy 30.412798 42.835807) + (xy 30.420008 42.834372) + (xy 30.609073 42.77702) + (xy 30.615865 42.774207) + (xy 30.790113 42.68107) + (xy 30.796221 42.676988) + (xy 30.84502 42.636939) + (xy 30.849757 42.630096) + (xy 30.845711 42.622816) + (xy 30.686013 42.463118) + (xy 31.7115 42.463118) + (xy 31.711662 42.464853) + (xy 31.711663 42.464859) + (xy 31.713476 42.484196) + (xy 31.714294 42.492913) + (xy 31.715802 42.497223) + (xy 31.715803 42.497227) + (xy 31.75634 42.613076) + (xy 31.756341 42.613078) + (xy 31.758201 42.618393) + (xy 31.761543 42.622921) + (xy 31.761544 42.622923) + (xy 31.830426 42.716254) + (xy 31.837144 42.725356) + (xy 31.841671 42.728697) + (xy 31.935779 42.798153) + (xy 31.944107 42.804299) + (xy 32.069587 42.848206) + (xy 32.099382 42.851) + (xy 33.403864 42.851) + (xy 33.405618 42.851) + (xy 33.435413 42.848206) + (xy 33.560893 42.804299) + (xy 33.667856 42.725356) + (xy 33.746799 42.618393) + (xy 33.790706 42.492913) + (xy 33.7935 42.463118) + (xy 33.7935 41.156882) + (xy 33.790706 41.127087) + (xy 33.746799 41.001607) + (xy 33.667856 40.894644) + (xy 33.662854 40.890952) + (xy 37.123 40.890952) + (xy 37.123319 40.89338) + (xy 37.12332 40.893385) + (xy 37.128788 40.934916) + (xy 37.129539 40.940619) + (xy 37.131967 40.945827) + (xy 37.131969 40.945832) + (xy 37.168405 41.02397) + (xy 37.18036 41.049607) + (xy 37.265393 41.13464) + (xy 37.334816 41.167012) + (xy 37.369167 41.18303) + (xy 37.369168 41.18303) + (xy 37.374381 41.185461) + (xy 37.424048 41.192) + (xy 38.676495 41.192) + (xy 38.678952 41.192) + (xy 38.728619 41.185461) + (xy 38.796968 41.15359) + (xy 38.798137 41.153045) + (xy 38.829917 41.146) + (xy 38.833703 41.146) + (xy 38.874359 41.157938) + (xy 38.902106 41.18996) + (xy 38.906984 41.20064) + (xy 38.946382 41.286911) + (xy 38.946383 41.286913) + (xy 38.948618 41.291806) + (xy 39.041982 41.399553) + (xy 39.046504 41.402459) + (xy 39.046505 41.40246) + (xy 39.104012 41.439418) + (xy 39.161919 41.476633) + (xy 39.298715 41.5168) + (xy 39.435904 41.5168) + (xy 39.441285 41.5168) + (xy 39.578081 41.476633) + (xy 39.698018 41.399553) + (xy 39.791382 41.291806) + (xy 39.850608 41.162119) + (xy 39.870898 41.021) + (xy 39.850608 40.879881) + (xy 39.791382 40.750194) + (xy 39.77898 40.735882) + (xy 39.748027 40.70016) + (xy 39.698018 40.642447) + (xy 39.693496 40.639541) + (xy 39.693494 40.639539) + (xy 39.582602 40.568272) + (xy 39.582599 40.56827) + (xy 39.578081 40.565367) + (xy 39.54781 40.556478) + (xy 39.515824 40.537499) + (xy 39.385321 40.406996) + (xy 39.379701 40.400708) + (xy 39.359608 40.375512) + (xy 39.359604 40.375508) + (xy 39.356095 40.371108) + (xy 39.355065 40.370406) + (xy 39.334008 40.333934) + (xy 39.33732 40.289727) + (xy 39.36496 40.255067) + (xy 39.407322 40.242) + (xy 40.5008 40.242) + (xy 40.5384 40.252075) + (xy 40.565925 40.2796) + (xy 40.576 40.3172) + (xy 40.576 41.694526) + (xy 40.570276 41.723304) + (xy 40.553974 41.747701) + (xy 40.408666 41.893007) + (xy 40.374955 41.91247) + (xy 40.336029 41.91247) + (xy 40.302318 41.893006) + (xy 40.240755 41.831443) + (xy 40.236566 41.827254) + (xy 40.221788 41.819724) + (xy 40.124426 41.770115) + (xy 40.124422 41.770113) + (xy 40.119153 41.767429) + (xy 40.113311 41.766503) + (xy 40.113306 41.766502) + (xy 40.024655 41.752462) + (xy 40.024652 41.752461) + (xy 40.021737 41.752) + (xy 40.018783 41.752) + (xy 39.509218 41.752) + (xy 39.509205 41.752) + (xy 39.506264 41.752001) + (xy 39.50335 41.752462) + (xy 39.503343 41.752463) + (xy 39.414692 41.766503) + (xy 39.41469 41.766503) + (xy 39.408847 41.767429) + (xy 39.403577 41.770113) + (xy 39.403574 41.770115) + (xy 39.29671 41.824565) + (xy 39.296706 41.824567) + (xy 39.291434 41.827254) + (xy 39.287247 41.83144) + (xy 39.287244 41.831443) + (xy 39.202443 41.916244) + (xy 39.20244 41.916247) + (xy 39.198254 41.920434) + (xy 39.195567 41.925706) + (xy 39.195565 41.92571) + (xy 39.141115 42.032573) + (xy 39.141112 42.032579) + (xy 39.138429 42.037847) + (xy 39.137504 42.043686) + (xy 39.137502 42.043693) + (xy 39.123462 42.132343) + (xy 39.123 42.135263) + (xy 39.123 42.138215) + (xy 39.123 42.138216) + (xy 39.123 42.697781) + (xy 39.123 42.697793) + (xy 39.123001 42.700736) + (xy 39.123462 42.70365) + (xy 39.123463 42.703656) + (xy 39.136633 42.786813) + (xy 39.138429 42.798153) + (xy 39.141114 42.803423) + (xy 39.141115 42.803425) + (xy 39.195564 42.910288) + (xy 39.198254 42.915566) + (xy 39.291434 43.008746) + (xy 39.327758 43.027254) + (xy 39.39595 43.062) + (xy 39.408847 43.068571) + (xy 39.414692 43.069496) + (xy 39.414693 43.069497) + (xy 39.425571 43.071219) + (xy 39.506263 43.084) + (xy 40.021736 43.083999) + (xy 40.119153 43.068571) + (xy 40.236566 43.008746) + (xy 40.329746 42.915566) + (xy 40.335609 42.904058) + (xy 40.363322 42.874081) + (xy 40.402613 42.863) + (xy 40.483793 42.863) + (xy 40.492212 42.863473) + (xy 40.529827 42.867711) + (xy 40.586177 42.857048) + (xy 40.588933 42.85658) + (xy 40.645647 42.848033) + (xy 40.650731 42.845583) + (xy 40.652984 42.844889) + (xy 40.653436 42.844777) + (xy 40.653878 42.844594) + (xy 40.656087 42.84382) + (xy 40.661634 42.842772) + (xy 40.712348 42.815967) + (xy 40.714825 42.814718) + (xy 40.766509 42.789829) + (xy 40.770641 42.785993) + (xy 40.772594 42.784663) + (xy 40.772991 42.784423) + (xy 40.773355 42.784122) + (xy 40.775246 42.782726) + (xy 40.780235 42.78009) + (xy 40.820822 42.739501) + (xy 40.822766 42.737628) + (xy 40.864844 42.698587) + (xy 40.867664 42.6937) + (xy 40.869137 42.691854) + (xy 40.87475 42.685573) + (xy 41.315014 42.245309) + (xy 41.321283 42.239706) + (xy 41.340426 42.224441) + (xy 45.381501 42.224441) + (xy 45.381821 42.229336) + (xy 45.387276 42.270779) + (xy 45.390461 42.281705) + (xy 45.435993 42.379349) + (xy 45.443431 42.389971) + (xy 45.519028 42.465568) + (xy 45.52965 42.473006) + (xy 45.627298 42.51854) + (xy 45.638215 42.521722) + (xy 45.679663 42.527179) + (xy 45.684557 42.5275) + (xy 46.410098 42.5275) + (xy 46.417907 42.525407) + (xy 46.42 42.517598) + (xy 46.42 42.517597) + (xy 46.674 42.517597) + (xy 46.676092 42.525406) + (xy 46.683902 42.527499) + (xy 47.409441 42.527499) + (xy 47.414336 42.527178) + (xy 47.455779 42.521723) + (xy 47.466705 42.518538) + (xy 47.564349 42.473006) + (xy 47.574971 42.465568) + (xy 47.650568 42.389971) + (xy 47.658006 42.379349) + (xy 47.70354 42.281701) + (xy 47.706722 42.270784) + (xy 47.712179 42.229336) + (xy 47.7125 42.224443) + (xy 47.7125 42.173902) + (xy 47.710407 42.166092) + (xy 47.702598 42.164) + (xy 46.683902 42.164) + (xy 46.676092 42.166092) + (xy 46.674 42.173902) + (xy 46.674 42.517597) + (xy 46.42 42.517597) + (xy 46.42 42.173902) + (xy 46.417907 42.166092) + (xy 46.410098 42.164) + (xy 45.391403 42.164) + (xy 45.383593 42.166092) + (xy 45.381501 42.173902) + (xy 45.381501 42.224441) + (xy 41.340426 42.224441) + (xy 41.350892 42.216095) + (xy 41.358851 42.204422) + (xy 41.38319 42.168723) + (xy 41.384818 42.166428) + (xy 41.386789 42.163757) + (xy 41.418874 42.120284) + (xy 41.420737 42.114958) + (xy 41.421836 42.112879) + (xy 41.422078 42.112476) + (xy 41.422257 42.112045) + (xy 41.423279 42.109921) + (xy 41.426459 42.105259) + (xy 41.442309 42.053875) + (xy 41.443306 42.050643) + (xy 41.465687 42.016177) + (xy 41.502845 41.998624) + (xy 41.543681 42.003224) + (xy 41.576002 42.028605) + (xy 41.578043 42.031415) + (xy 41.580731 42.036689) + (xy 41.668311 42.124269) + (xy 41.703226 42.142059) + (xy 41.772448 42.17733) + (xy 41.778668 42.180499) + (xy 41.784513 42.181424) + (xy 41.784514 42.181425) + (xy 41.79573 42.183201) + (xy 41.870226 42.195) + (xy 42.32882 42.195) + (xy 42.331774 42.195) + (xy 42.423332 42.180499) + (xy 42.533689 42.124269) + (xy 42.621269 42.036689) + (xy 42.677499 41.926332) + (xy 42.692 41.834774) + (xy 42.692 41.831779) + (xy 43.160501 41.831779) + (xy 43.160963 41.837654) + (xy 43.174057 41.920328) + (xy 43.177669 41.931447) + (xy 43.228452 42.031114) + (xy 43.23533 42.04058) + (xy 43.314419 42.119669) + (xy 43.323885 42.126547) + (xy 43.423551 42.17733) + (xy 43.434671 42.180943) + (xy 43.517346 42.194037) + (xy 43.523219 42.1945) + (xy 43.614098 42.1945) + (xy 43.621907 42.192407) + (xy 43.624 42.184598) + (xy 43.624 42.184597) + (xy 43.878 42.184597) + (xy 43.880092 42.192406) + (xy 43.887902 42.194499) + (xy 43.978779 42.194499) + (xy 43.984654 42.194036) + (xy 44.067328 42.180942) + (xy 44.078447 42.17733) + (xy 44.178114 42.126547) + (xy 44.18758 42.119669) + (xy 44.266669 42.04058) + (xy 44.273547 42.031114) + (xy 44.32433 41.931448) + (xy 44.327943 41.920328) + (xy 44.331147 41.900098) + (xy 45.3815 41.900098) + (xy 45.383592 41.907907) + (xy 45.391402 41.91) + (xy 46.410098 41.91) + (xy 46.417907 41.907907) + (xy 46.42 41.900098) + (xy 46.674 41.900098) + (xy 46.676092 41.907907) + (xy 46.683902 41.91) + (xy 47.702597 41.91) + (xy 47.710406 41.907907) + (xy 47.712499 41.900098) + (xy 47.712499 41.849559) + (xy 47.712178 41.844663) + (xy 47.706723 41.80322) + (xy 47.703538 41.792294) + (xy 47.658006 41.69465) + (xy 47.650568 41.684028) + (xy 47.574971 41.608431) + (xy 47.564349 41.600993) + (xy 47.466701 41.555459) + (xy 47.455784 41.552277) + (xy 47.414336 41.54682) + (xy 47.409443 41.5465) + (xy 46.683902 41.5465) + (xy 46.676092 41.548592) + (xy 46.674 41.556402) + (xy 46.674 41.900098) + (xy 46.42 41.900098) + (xy 46.42 41.556403) + (xy 46.417907 41.548593) + (xy 46.410098 41.546501) + (xy 45.684559 41.546501) + (xy 45.679663 41.546821) + (xy 45.63822 41.552276) + (xy 45.627294 41.555461) + (xy 45.52965 41.600993) + (xy 45.519028 41.608431) + (xy 45.443431 41.684028) + (xy 45.435993 41.69465) + (xy 45.390459 41.792298) + (xy 45.387277 41.803215) + (xy 45.38182 41.844663) + (xy 45.3815 41.849557) + (xy 45.3815 41.900098) + (xy 44.331147 41.900098) + (xy 44.341037 41.837653) + (xy 44.3415 41.831781) + (xy 44.3415 41.665902) + (xy 44.339407 41.658092) + (xy 44.331598 41.656) + (xy 43.887902 41.656) + (xy 43.880092 41.658092) + (xy 43.878 41.665902) + (xy 43.878 42.184597) + (xy 43.624 42.184597) + (xy 43.624 41.665902) + (xy 43.621907 41.658092) + (xy 43.614098 41.656) + (xy 43.170403 41.656) + (xy 43.162593 41.658092) + (xy 43.160501 41.665902) + (xy 43.160501 41.831779) + (xy 42.692 41.831779) + (xy 42.692 41.392098) + (xy 43.1605 41.392098) + (xy 43.162592 41.399907) + (xy 43.170402 41.402) + (xy 43.614098 41.402) + (xy 43.621907 41.399907) + (xy 43.624 41.392098) + (xy 43.878 41.392098) + (xy 43.880092 41.399907) + (xy 43.887902 41.402) + (xy 44.331597 41.402) + (xy 44.339406 41.399907) + (xy 44.341499 41.392098) + (xy 44.341499 41.226221) + (xy 44.341036 41.220345) + (xy 44.327942 41.137671) + (xy 44.32433 41.126552) + (xy 44.273547 41.026885) + (xy 44.266669 41.017419) + (xy 44.18758 40.93833) + (xy 44.178114 40.931452) + (xy 44.078448 40.880669) + (xy 44.067328 40.877056) + (xy 43.984653 40.863962) + (xy 43.978781 40.8635) + (xy 43.887902 40.8635) + (xy 43.880092 40.865592) + (xy 43.878 40.873402) + (xy 43.878 41.392098) + (xy 43.624 41.392098) + (xy 43.624 40.873403) + (xy 43.621907 40.865593) + (xy 43.614098 40.863501) + (xy 43.523221 40.863501) + (xy 43.517345 40.863963) + (xy 43.434671 40.877057) + (xy 43.423552 40.880669) + (xy 43.323885 40.931452) + (xy 43.314419 40.93833) + (xy 43.23533 41.017419) + (xy 43.228452 41.026885) + (xy 43.177669 41.126551) + (xy 43.174056 41.137671) + (xy 43.160962 41.220346) + (xy 43.1605 41.226219) + (xy 43.1605 41.392098) + (xy 42.692 41.392098) + (xy 42.692 41.223226) + (xy 42.677499 41.131668) + (xy 42.669315 41.115607) + (xy 42.638057 41.054259) + (xy 42.621269 41.021311) + (xy 42.568025 40.968067) + (xy 42.551724 40.943672) + (xy 42.546 40.914894) + (xy 42.546 40.365106) + (xy 42.551724 40.336328) + (xy 42.568026 40.311932) + (xy 42.590231 40.289727) + (xy 42.621269 40.258689) + (xy 42.677499 40.148332) + (xy 42.692 40.056774) + (xy 42.692 39.445226) + (xy 42.686822 39.412532) + (xy 42.694092 39.366629) + (xy 42.726956 39.333765) + (xy 42.77286 39.326495) + (xy 42.81427 39.347595) + (xy 43.137974 39.671299) + (xy 43.154276 39.695695) + (xy 43.16 39.724473) + (xy 43.16 40.056774) + (xy 43.160461 40.05969) + (xy 43.160462 40.059692) + (xy 43.173574 40.142485) + (xy 43.173575 40.14249) + (xy 43.174501 40.148332) + (xy 43.177185 40.1536) + (xy 43.177187 40.153605) + (xy 43.21938 40.236412) + (xy 43.230731 40.258689) + (xy 43.318311 40.346269) + (xy 43.369739 40.372473) + (xy 43.411006 40.3935) + (xy 43.428668 40.402499) + (xy 43.434513 40.403424) + (xy 43.434514 40.403425) + (xy 43.443285 40.404814) + (xy 43.520226 40.417) + (xy 43.97882 40.417) + (xy 43.981774 40.417) + (xy 44.073332 40.402499) + (xy 44.183689 40.346269) + (xy 44.187875 40.342082) + (xy 44.192027 40.339066) + (xy 44.224465 40.325629) + (xy 44.259467 40.328383) + (xy 44.289404 40.346729) + (xy 45.003682 41.061007) + (xy 45.009301 41.067294) + (xy 45.032905 41.096892) + (xy 45.037559 41.100065) + (xy 45.080266 41.129183) + (xy 45.082559 41.13081) + (xy 45.124182 41.161529) + (xy 45.128716 41.164875) + (xy 45.134034 41.166735) + (xy 45.136135 41.167846) + (xy 45.136524 41.168081) + (xy 45.136957 41.16826) + (xy 45.139085 41.169285) + (xy 45.143741 41.172459) + (xy 45.198533 41.18936) + (xy 45.201184 41.190232) + (xy 45.250015 41.20732) + (xy 45.250018 41.20732) + (xy 45.255335 41.209181) + (xy 45.260964 41.209391) + (xy 45.263293 41.209832) + (xy 45.263737 41.209942) + (xy 45.264205 41.209986) + (xy 45.266538 41.210337) + (xy 45.271927 41.212) + (xy 45.329293 41.212) + (xy 45.332103 41.212052) + (xy 45.389386 41.214196) + (xy 45.394827 41.212738) + (xy 45.397181 41.212473) + (xy 45.405599 41.212) + (xy 45.531083 41.212) + (xy 45.562863 41.219045) + (xy 45.565651 41.220345) + (xy 45.632381 41.251461) + (xy 45.682048 41.258) + (xy 47.409495 41.258) + (xy 47.411952 41.258) + (xy 47.461619 41.251461) + (xy 47.570607 41.20064) + (xy 47.65564 41.115607) + (xy 47.706461 41.006619) + (xy 47.713 40.956952) + (xy 47.713 40.577048) + (xy 47.706461 40.527381) + (xy 47.702871 40.519683) + (xy 47.686632 40.484857) + (xy 47.65564 40.418393) + (xy 47.570607 40.33336) + (xy 47.554028 40.325629) + (xy 47.466832 40.284969) + (xy 47.466827 40.284967) + (xy 47.461619 40.282539) + (xy 47.455917 40.281788) + (xy 47.455916 40.281788) + (xy 47.414385 40.27632) + (xy 47.41438 40.276319) + (xy 47.411952 40.276) + (xy 45.682048 40.276) + (xy 45.67962 40.276319) + (xy 45.679614 40.27632) + (xy 45.638083 40.281788) + (xy 45.638081 40.281788) + (xy 45.632381 40.282539) + (xy 45.627173 40.284967) + (xy 45.627164 40.28497) + (xy 45.578813 40.307516) + (xy 45.533975 40.313418) + (xy 45.49386 40.292535) + (xy 44.888277 39.686952) + (xy 45.381 39.686952) + (xy 45.381319 39.68938) + (xy 45.38132 39.689385) + (xy 45.384393 39.712724) + (xy 45.387539 39.736619) + (xy 45.389967 39.741827) + (xy 45.389969 39.741832) + (xy 45.428274 39.823978) + (xy 45.43836 39.845607) + (xy 45.523393 39.93064) + (xy 45.567676 39.951289) + (xy 45.627167 39.97903) + (xy 45.627168 39.97903) + (xy 45.632381 39.981461) + (xy 45.682048 39.988) + (xy 47.409495 39.988) + (xy 47.411952 39.988) + (xy 47.461619 39.981461) + (xy 47.531136 39.949045) + (xy 47.562917 39.942) + (xy 48.357793 39.942) + (xy 48.366212 39.942473) + (xy 48.403827 39.946711) + (xy 48.460177 39.936048) + (xy 48.462933 39.93558) + (xy 48.519647 39.927033) + (xy 48.524731 39.924583) + (xy 48.526984 39.923889) + (xy 48.527436 39.923777) + (xy 48.527878 39.923594) + (xy 48.530087 39.92282) + (xy 48.535634 39.921772) + (xy 48.586348 39.894967) + (xy 48.588825 39.893718) + (xy 48.640509 39.868829) + (xy 48.644641 39.864993) + (xy 48.646594 39.863663) + (xy 48.646991 39.863423) + (xy 48.647355 39.863122) + (xy 48.649246 39.861726) + (xy 48.654235 39.85909) + (xy 48.694822 39.818501) + (xy 48.696766 39.816628) + (xy 48.738844 39.777587) + (xy 48.741664 39.7727) + (xy 48.743137 39.770854) + (xy 48.74875 39.764573) + (xy 49.062014 39.451309) + (xy 49.068295 39.445697) + (xy 49.089916 39.428456) + (xy 49.128382 39.412524) + (xy 49.169429 39.419499) + (xy 49.200474 39.447243) + (xy 49.212 39.487251) + (xy 49.212 41.499793) + (xy 49.211527 41.508212) + (xy 49.207919 41.540229) + (xy 49.207919 41.540233) + (xy 49.207289 41.545827) + (xy 49.208335 41.55136) + (xy 49.208336 41.551362) + (xy 49.217947 41.60216) + (xy 49.218418 41.604931) + (xy 49.224924 41.648097) + (xy 49.226967 41.661647) + (xy 49.229411 41.666722) + (xy 49.23011 41.668988) + (xy 49.230221 41.669435) + (xy 49.230394 41.669853) + (xy 49.231181 41.672102) + (xy 49.232228 41.677634) + (xy 49.241221 41.69465) + (xy 49.259022 41.728332) + (xy 49.260281 41.730825) + (xy 49.285171 41.782509) + (xy 49.289 41.786636) + (xy 49.29034 41.788601) + (xy 49.290575 41.788992) + (xy 49.290863 41.789339) + (xy 49.292278 41.791256) + (xy 49.29491 41.796235) + (xy 49.298893 41.800218) + (xy 49.298894 41.800219) + (xy 49.335458 41.836783) + (xy 49.337409 41.838808) + (xy 49.376413 41.880844) + (xy 49.381291 41.88366) + (xy 49.383148 41.885141) + (xy 49.389435 41.89076) + (xy 49.829682 42.331007) + (xy 49.835301 42.337294) + (xy 49.858905 42.366892) + (xy 49.906291 42.3992) + (xy 49.908568 42.400817) + (xy 49.950176 42.431524) + (xy 49.950178 42.431525) + (xy 49.954716 42.434874) + (xy 49.960039 42.436736) + (xy 49.962129 42.437841) + (xy 49.962528 42.438081) + (xy 49.962949 42.438256) + (xy 49.965085 42.439284) + (xy 49.969741 42.442459) + (xy 50.016699 42.456944) + (xy 50.024551 42.459366) + (xy 50.02722 42.460244) + (xy 50.081335 42.47918) + (xy 50.086973 42.47939) + (xy 50.089274 42.479826) + (xy 50.089737 42.479941) + (xy 50.090188 42.479983) + (xy 50.092536 42.480337) + (xy 50.097927 42.482) + (xy 50.155303 42.482) + (xy 50.158115 42.482053) + (xy 50.215386 42.484196) + (xy 50.220831 42.482736) + (xy 50.223173 42.482473) + (xy 50.231593 42.482) + (xy 50.481083 42.482) + (xy 50.512863 42.489045) + (xy 50.582381 42.521461) + (xy 50.632048 42.528) + (xy 52.359495 42.528) + (xy 52.361952 42.528) + (xy 52.411619 42.521461) + (xy 52.520607 42.47064) + (xy 52.60564 42.385607) + (xy 52.656461 42.276619) + (xy 52.663 42.226952) + (xy 52.663 41.847048) + (xy 52.656461 41.797381) + (xy 52.60564 41.688393) + (xy 52.520607 41.60336) + (xy 52.470839 41.580153) + (xy 52.416832 41.554969) + (xy 52.416827 41.554967) + (xy 52.411619 41.552539) + (xy 52.405917 41.551788) + (xy 52.405916 41.551788) + (xy 52.364385 41.54632) + (xy 52.36438 41.546319) + (xy 52.361952 41.546) + (xy 50.632048 41.546) + (xy 50.62962 41.546319) + (xy 50.629614 41.54632) + (xy 50.588083 41.551788) + (xy 50.588081 41.551788) + (xy 50.582381 41.552539) + (xy 50.577168 41.554969) + (xy 50.577167 41.55497) + (xy 50.512863 41.584955) + (xy 50.481083 41.592) + (xy 50.380473 41.592) + (xy 50.351695 41.586276) + (xy 50.327299 41.569974) + (xy 50.124026 41.366701) + (xy 50.107724 41.342305) + (xy 50.102 41.313527) + (xy 50.102 40.956952) + (xy 50.331 40.956952) + (xy 50.331319 40.95938) + (xy 50.33132 40.959385) + (xy 50.336601 40.999498) + (xy 50.337539 41.006619) + (xy 50.339967 41.011827) + (xy 50.339969 41.011832) + (xy 50.367407 41.070672) + (xy 50.38836 41.115607) + (xy 50.473393 41.20064) + (xy 50.541467 41.232383) + (xy 50.577167 41.24903) + (xy 50.577168 41.24903) + (xy 50.582381 41.251461) + (xy 50.632048 41.258) + (xy 52.359495 41.258) + (xy 52.361952 41.258) + (xy 52.393866 41.253798) + (xy 52.427854 41.257146) + (xy 52.456856 41.275181) + (xy 53.131682 41.950007) + (xy 53.137301 41.956294) + (xy 53.140936 41.960852) + (xy 53.160905 41.985892) + (xy 53.165559 41.989065) + (xy 53.208266 42.018183) + (xy 53.210559 42.01981) + (xy 53.248058 42.047485) + (xy 53.256716 42.053875) + (xy 53.262034 42.055735) + (xy 53.264135 42.056846) + (xy 53.264524 42.057081) + (xy 53.264957 42.05726) + (xy 53.267085 42.058285) + (xy 53.271741 42.061459) + (xy 53.326533 42.07836) + (xy 53.329184 42.079232) + (xy 53.378015 42.09632) + (xy 53.378018 42.09632) + (xy 53.383335 42.098181) + (xy 53.388964 42.098391) + (xy 53.391293 42.098832) + (xy 53.391737 42.098942) + (xy 53.392205 42.098986) + (xy 53.394538 42.099337) + (xy 53.399927 42.101) + (xy 53.457293 42.101) + (xy 53.460103 42.101052) + (xy 53.517386 42.103196) + (xy 53.522827 42.101738) + (xy 53.525181 42.101473) + (xy 53.533599 42.101) + (xy 53.694706 42.101) + (xy 53.733997 42.112081) + (xy 53.761709 42.142059) + (xy 53.77004 42.158409) + (xy 53.770042 42.158412) + (xy 53.772731 42.163689) + (xy 53.860311 42.251269) + (xy 53.898611 42.270784) + (xy 53.933533 42.288578) + (xy 53.970668 42.307499) + (xy 53.976513 42.308424) + (xy 53.976514 42.308425) + (xy 53.98773 42.310201) + (xy 54.062226 42.322) + (xy 54.52082 42.322) + (xy 54.523774 42.322) + (xy 54.615332 42.307499) + (xy 54.725689 42.251269) + (xy 54.813269 42.163689) + (xy 54.869499 42.053332) + (xy 54.884 41.961774) + (xy 54.884 41.350226) + (xy 54.869499 41.258668) + (xy 54.852945 41.22618) + (xy 54.834491 41.189961) + (xy 54.813269 41.148311) + (xy 54.725689 41.060731) + (xy 54.720412 41.058042) + (xy 54.620605 41.007187) + (xy 54.6206 41.007185) + (xy 54.615332 41.004501) + (xy 54.60949 41.003575) + (xy 54.609485 41.003574) + (xy 54.526692 40.990462) + (xy 54.52669 40.990461) + (xy 54.523774 40.99) + (xy 54.062226 40.99) + (xy 54.05931 40.990461) + (xy 54.059307 40.990462) + (xy 53.976514 41.003574) + (xy 53.976507 41.003576) + (xy 53.970668 41.004501) + (xy 53.9654 41.007184) + (xy 53.965394 41.007187) + (xy 53.865587 41.058042) + (xy 53.865583 41.058044) + (xy 53.860311 41.060731) + (xy 53.856124 41.064917) + (xy 53.856121 41.06492) + (xy 53.77692 41.144121) + (xy 53.776917 41.144124) + (xy 53.772731 41.148311) + (xy 53.770043 41.153584) + (xy 53.77004 41.15359) + (xy 53.761709 41.169941) + (xy 53.733997 41.199919) + (xy 53.694706 41.211) + (xy 53.682473 41.211) + (xy 53.653695 41.205276) + (xy 53.629299 41.188974) + (xy 52.913321 40.472996) + (xy 52.907701 40.466708) + (xy 52.887611 40.441516) + (xy 52.887608 40.441513) + (xy 52.884095 40.437108) + (xy 52.879438 40.433932) + (xy 52.879435 40.43393) + (xy 52.836731 40.404814) + (xy 52.83444 40.403188) + (xy 52.792822 40.372473) + (xy 52.792816 40.37247) + (xy 52.788284 40.369125) + (xy 52.782965 40.367263) + (xy 52.780862 40.366152) + (xy 52.780476 40.365919) + (xy 52.780052 40.365744) + (xy 52.777913 40.364714) + (xy 52.773259 40.361541) + (xy 52.767876 40.35988) + (xy 52.767875 40.35988) + (xy 52.718471 40.34464) + (xy 52.715802 40.343761) + (xy 52.666988 40.326681) + (xy 52.666984 40.32668) + (xy 52.661665 40.324819) + (xy 52.656031 40.324607) + (xy 52.653702 40.324167) + (xy 52.653256 40.324056) + (xy 52.652817 40.324015) + (xy 52.650451 40.323658) + (xy 52.645073 40.322) + (xy 52.639441 40.322) + (xy 52.587707 40.322) + (xy 52.584896 40.321947) + (xy 52.533247 40.320014) + (xy 52.533242 40.320014) + (xy 52.527614 40.319804) + (xy 52.522172 40.321261) + (xy 52.521036 40.32139) + (xy 52.480841 40.314817) + (xy 52.416832 40.28497) + (xy 52.416833 40.28497) + (xy 52.411619 40.282539) + (xy 52.405917 40.281788) + (xy 52.405916 40.281788) + (xy 52.364385 40.27632) + (xy 52.36438 40.276319) + (xy 52.361952 40.276) + (xy 50.632048 40.276) + (xy 50.62962 40.276319) + (xy 50.629614 40.27632) + (xy 50.588083 40.281788) + (xy 50.588081 40.281788) + (xy 50.582381 40.282539) + (xy 50.577174 40.284966) + (xy 50.577167 40.284969) + (xy 50.479354 40.33058) + (xy 50.479352 40.330581) + (xy 50.473393 40.33336) + (xy 50.468743 40.338009) + (xy 50.46874 40.338012) + (xy 50.393012 40.41374) + (xy 50.393009 40.413743) + (xy 50.38836 40.418393) + (xy 50.385581 40.424352) + (xy 50.38558 40.424354) + (xy 50.339969 40.522167) + (xy 50.339966 40.522174) + (xy 50.337539 40.527381) + (xy 50.336788 40.533081) + (xy 50.336788 40.533083) + (xy 50.331327 40.574566) + (xy 50.331 40.577048) + (xy 50.331 40.956952) + (xy 50.102 40.956952) + (xy 50.102 39.686952) + (xy 50.331 39.686952) + (xy 50.331319 39.68938) + (xy 50.33132 39.689385) + (xy 50.334393 39.712724) + (xy 50.337539 39.736619) + (xy 50.339967 39.741827) + (xy 50.339969 39.741832) + (xy 50.378274 39.823978) + (xy 50.38836 39.845607) + (xy 50.473393 39.93064) + (xy 50.517676 39.951289) + (xy 50.577167 39.97903) + (xy 50.577168 39.97903) + (xy 50.582381 39.981461) + (xy 50.632048 39.988) + (xy 52.359495 39.988) + (xy 52.361952 39.988) + (xy 52.411619 39.981461) + (xy 52.481136 39.949045) + (xy 52.512917 39.942) + (xy 52.616526 39.942) + (xy 52.645304 39.947724) + (xy 52.6697 39.964026) + (xy 52.750685 40.045011) + (xy 52.756304 40.051298) + (xy 52.779905 40.080892) + (xy 52.82729 40.113198) + (xy 52.829543 40.114797) + (xy 52.875716 40.148875) + (xy 52.881035 40.150736) + (xy 52.883137 40.151847) + (xy 52.883525 40.152081) + (xy 52.883957 40.15226) + (xy 52.886085 40.153285) + (xy 52.890741 40.156459) + (xy 52.945533 40.17336) + (xy 52.948145 40.174218) + (xy 52.999638 40.192237) + (xy 53.036131 40.219702) + (xy 53.05 40.263217) + (xy 53.05 40.269812) + (xy 53.061082 40.325525) + (xy 53.065194 40.33168) + (xy 53.065196 40.331683) + (xy 53.099182 40.382545) + (xy 53.103297 40.388703) + (xy 53.113607 40.395592) + (xy 53.160316 40.426803) + (xy 53.160317 40.426803) + (xy 53.166475 40.430918) + (xy 53.222188 40.442) + (xy 54.256116 40.442) + (xy 54.259812 40.442) + (xy 54.315525 40.430918) + (xy 54.378703 40.388703) + (xy 54.420918 40.325525) + (xy 54.432 40.269812) + (xy 54.432 39.232188) + (xy 54.420918 39.176475) + (xy 54.416801 39.170314) + (xy 54.382817 39.119454) + (xy 54.378703 39.113297) + (xy 54.371249 39.108316) + (xy 54.321683 39.075196) + (xy 54.32168 39.075194) + (xy 54.315525 39.071082) + (xy 54.308261 39.069637) + (xy 54.286326 39.065274) + (xy 54.259812 39.06) + (xy 53.222188 39.06) + (xy 53.218563 39.06072) + (xy 53.218563 39.060721) + (xy 53.173738 39.069637) + (xy 53.173736 39.069637) + (xy 53.166475 39.071082) + (xy 53.160317 39.075196) + (xy 53.160316 39.075197) + (xy 53.124678 39.09901) + (xy 53.086763 39.111585) + (xy 53.047757 39.102968) + (xy 53.046819 39.102472) + (xy 53.042284 39.099125) + (xy 53.036964 39.097263) + (xy 53.03486 39.096151) + (xy 53.034475 39.095919) + (xy 53.034052 39.095744) + (xy 53.031913 39.094714) + (xy 53.027259 39.091541) + (xy 53.021876 39.08988) + (xy 53.021875 39.08988) + (xy 52.972471 39.07464) + (xy 52.969802 39.073761) + (xy 52.920988 39.056681) + (xy 52.920984 39.05668) + (xy 52.915665 39.054819) + (xy 52.910031 39.054607) + (xy 52.907702 39.054167) + (xy 52.907256 39.054056) + (xy 52.906817 39.054015) + (xy 52.904451 39.053658) + (xy 52.899073 39.052) + (xy 52.893441 39.052) + (xy 52.841707 39.052) + (xy 52.838896 39.051947) + (xy 52.787244 39.050014) + (xy 52.787239 39.050014) + (xy 52.781614 39.049804) + (xy 52.776173 39.051261) + (xy 52.773819 39.051527) + (xy 52.765401 39.052) + (xy 52.512917 39.052) + (xy 52.481137 39.044955) + (xy 52.416832 39.01497) + (xy 52.416833 39.01497) + (xy 52.411619 39.012539) + (xy 52.405917 39.011788) + (xy 52.405916 39.011788) + (xy 52.364385 39.00632) + (xy 52.36438 39.006319) + (xy 52.361952 39.006) + (xy 50.632048 39.006) + (xy 50.62962 39.006319) + (xy 50.629614 39.00632) + (xy 50.588083 39.011788) + (xy 50.588081 39.011788) + (xy 50.582381 39.012539) + (xy 50.577174 39.014966) + (xy 50.577167 39.014969) + (xy 50.479354 39.06058) + (xy 50.479352 39.060581) + (xy 50.473393 39.06336) + (xy 50.468743 39.068009) + (xy 50.46874 39.068012) + (xy 50.393012 39.14374) + (xy 50.393009 39.143743) + (xy 50.38836 39.148393) + (xy 50.385581 39.154352) + (xy 50.38558 39.154354) + (xy 50.339969 39.252167) + (xy 50.339966 39.252174) + (xy 50.337539 39.257381) + (xy 50.336788 39.263081) + (xy 50.336788 39.263083) + (xy 50.331469 39.303487) + (xy 50.331 39.307048) + (xy 50.331 39.686952) + (xy 50.102 39.686952) + (xy 50.102 39.140473) + (xy 50.107724 39.111695) + (xy 50.124026 39.087299) + (xy 50.689299 38.522026) + (xy 50.713695 38.505724) + (xy 50.742473 38.5) + (xy 50.97582 38.5) + (xy 50.978774 38.5) + (xy 51.070332 38.485499) + (xy 51.180689 38.429269) + (xy 51.233931 38.376026) + (xy 51.258328 38.359724) + (xy 51.287106 38.354) + (xy 51.72454 38.354) + (xy 51.753318 38.359724) + (xy 51.777713 38.376025) + (xy 51.826434 38.424746) + (xy 51.858862 38.441269) + (xy 51.936838 38.481) + (xy 51.943847 38.484571) + (xy 51.949692 38.485496) + (xy 51.949693 38.485497) + (xy 51.949706 38.485499) + (xy 52.041263 38.5) + (xy 52.606736 38.499999) + (xy 52.704153 38.484571) + (xy 52.821566 38.424746) + (xy 52.870285 38.376026) + (xy 52.894682 38.359724) + (xy 52.92346 38.354) + (xy 53.360894 38.354) + (xy 53.389672 38.359724) + (xy 53.414067 38.376025) + (xy 53.467311 38.429269) + (xy 53.577668 38.485499) + (xy 53.583513 38.486424) + (xy 53.583514 38.486425) + (xy 53.59473 38.488201) + (xy 53.669226 38.5) + (xy 54.27782 38.5) + (xy 54.280774 38.5) + (xy 54.372332 38.485499) + (xy 54.482689 38.429269) + (xy 54.570269 38.341689) + (xy 54.626499 38.231332) + (xy 54.641 38.139774) + (xy 54.96 38.139774) + (xy 54.960461 38.14269) + (xy 54.960462 38.142692) + (xy 54.973574 38.225485) + (xy 54.973575 38.22549) + (xy 54.974501 38.231332) + (xy 54.977185 38.2366) + (xy 54.977187 38.236605) + (xy 55.027059 38.334482) + (xy 55.030731 38.341689) + (xy 55.118311 38.429269) + (xy 55.123585 38.431956) + (xy 55.123589 38.431959) + (xy 55.1363 38.438435) + (xy 55.165531 38.464951) + (xy 55.175836 38.497912) + (xy 55.176289 38.497827) + (xy 55.176612 38.499537) + (xy 55.177334 38.503354) + (xy 55.177335 38.503359) + (xy 55.186947 38.55416) + (xy 55.187418 38.556931) + (xy 55.194429 38.603447) + (xy 55.195967 38.613647) + (xy 55.198411 38.618722) + (xy 55.19911 38.620988) + (xy 55.199221 38.621435) + (xy 55.199394 38.621853) + (xy 55.200181 38.624102) + (xy 55.201228 38.629634) + (xy 55.203859 38.634612) + (xy 55.228022 38.680332) + (xy 55.229281 38.682825) + (xy 55.254171 38.734509) + (xy 55.258 38.738636) + (xy 55.25934 38.740601) + (xy 55.259575 38.740992) + (xy 55.259863 38.741339) + (xy 55.261278 38.743256) + (xy 55.26391 38.748235) + (xy 55.267894 38.752219) + (xy 55.304458 38.788783) + (xy 55.306409 38.790808) + (xy 55.345413 38.832844) + (xy 55.350291 38.83566) + (xy 55.352148 38.837141) + (xy 55.358435 38.84276) + (xy 55.569941 39.054266) + (xy 55.591605 39.100068) + (xy 55.579294 39.149217) + (xy 55.565197 39.170314) + (xy 55.565194 39.17032) + (xy 55.561082 39.176475) + (xy 55.559637 39.183736) + (xy 55.559637 39.183738) + (xy 55.550721 39.228563) + (xy 55.55 39.232188) + (xy 55.55 40.269812) + (xy 55.561082 40.325525) + (xy 55.565194 40.33168) + (xy 55.565196 40.331683) + (xy 55.599182 40.382545) + (xy 55.603297 40.388703) + (xy 55.613607 40.395592) + (xy 55.616009 40.397197) + (xy 55.644732 40.433561) + (xy 55.646684 40.47986) + (xy 55.621122 40.518512) + (xy 55.617518 40.521385) + (xy 55.617507 40.521396) + (xy 55.613108 40.524905) + (xy 55.609935 40.529558) + (xy 55.609931 40.529563) + (xy 55.58081 40.572275) + (xy 55.579206 40.574536) + (xy 55.545125 40.620716) + (xy 55.543264 40.62603) + (xy 55.542144 40.628151) + (xy 55.541919 40.628524) + (xy 55.541745 40.628945) + (xy 55.540714 40.631085) + (xy 55.537541 40.635741) + (xy 55.53588 40.641123) + (xy 55.53588 40.641125) + (xy 55.520638 40.690535) + (xy 55.519759 40.693204) + (xy 55.502679 40.742015) + (xy 55.502677 40.742024) + (xy 55.500819 40.747335) + (xy 55.500608 40.75296) + (xy 55.500164 40.755308) + (xy 55.500057 40.755739) + (xy 55.500015 40.756187) + (xy 55.499659 40.758543) + (xy 55.498 40.763927) + (xy 55.498 40.769561) + (xy 55.498 40.821293) + (xy 55.497947 40.824104) + (xy 55.496014 40.875755) + (xy 55.496014 40.875759) + (xy 55.495804 40.881386) + (xy 55.497261 40.886826) + (xy 55.497527 40.889181) + (xy 55.498 40.897599) + (xy 55.498 41.041894) + (xy 55.492276 41.070672) + (xy 55.475974 41.095068) + (xy 55.42692 41.144121) + (xy 55.426917 41.144124) + (xy 55.422731 41.148311) + (xy 55.420044 41.153583) + (xy 55.420042 41.153587) + (xy 55.369187 41.253394) + (xy 55.369184 41.2534) + (xy 55.366501 41.258668) + (xy 55.365576 41.264507) + (xy 55.365574 41.264514) + (xy 55.352879 41.344675) + (xy 55.352 41.350226) + (xy 55.352 41.961774) + (xy 55.352461 41.96469) + (xy 55.352462 41.964692) + (xy 55.365574 42.047485) + (xy 55.365575 42.04749) + (xy 55.366501 42.053332) + (xy 55.369185 42.0586) + (xy 55.369187 42.058605) + (xy 55.420042 42.158412) + (xy 55.422731 42.163689) + (xy 55.510311 42.251269) + (xy 55.548611 42.270784) + (xy 55.583533 42.288578) + (xy 55.620668 42.307499) + (xy 55.626513 42.308424) + (xy 55.626514 42.308425) + (xy 55.63773 42.310201) + (xy 55.712226 42.322) + (xy 56.17082 42.322) + (xy 56.173774 42.322) + (xy 56.265332 42.307499) + (xy 56.375689 42.251269) + (xy 56.463269 42.163689) + (xy 56.519499 42.053332) + (xy 56.534 41.961774) + (xy 56.534 41.350226) + (xy 56.524263 41.288746) + (xy 57.2465 41.288746) + (xy 57.246962 41.294618) + (xy 57.260984 41.383151) + (xy 57.264597 41.394271) + (xy 57.318976 41.500994) + (xy 57.325851 41.510456) + (xy 57.410543 41.595148) + (xy 57.420005 41.602023) + (xy 57.526728 41.656402) + (xy 57.537848 41.660015) + (xy 57.626381 41.674037) + (xy 57.632254 41.6745) + (xy 57.775098 41.6745) + (xy 57.782907 41.672407) + (xy 57.785 41.664598) + (xy 57.785 41.170902) + (xy 57.782907 41.163092) + (xy 57.775098 41.161) + (xy 57.256402 41.161) + (xy 57.248592 41.163092) + (xy 57.2465 41.170902) + (xy 57.2465 41.288746) + (xy 56.524263 41.288746) + (xy 56.519499 41.258668) + (xy 56.502945 41.22618) + (xy 56.484491 41.189961) + (xy 56.463269 41.148311) + (xy 56.412315 41.097357) + (xy 56.392851 41.063646) + (xy 56.392851 41.02472) + (xy 56.412313 40.99101) + (xy 56.506225 40.897098) + (xy 57.2465 40.897098) + (xy 57.248592 40.904907) + (xy 57.256402 40.907) + (xy 57.775098 40.907) + (xy 57.782907 40.904907) + (xy 57.785 40.897098) + (xy 57.785 40.403402) + (xy 57.782907 40.395592) + (xy 57.775098 40.3935) + (xy 57.632254 40.3935) + (xy 57.626381 40.393962) + (xy 57.537848 40.407984) + (xy 57.526728 40.411597) + (xy 57.420005 40.465976) + (xy 57.410543 40.472851) + (xy 57.325851 40.557543) + (xy 57.318976 40.567005) + (xy 57.264597 40.673728) + (xy 57.260984 40.684848) + (xy 57.246962 40.773381) + (xy 57.2465 40.779254) + (xy 57.2465 40.897098) + (xy 56.506225 40.897098) + (xy 56.535011 40.868312) + (xy 56.541296 40.862695) + (xy 56.570892 40.839095) + (xy 56.603214 40.791684) + (xy 56.604794 40.789458) + (xy 56.638875 40.743283) + (xy 56.640739 40.737953) + (xy 56.641834 40.735882) + (xy 56.642077 40.735478) + (xy 56.64208 40.735472) + (xy 56.64226 40.735039) + (xy 56.64328 40.732919) + (xy 56.646459 40.728259) + (xy 56.66338 40.673399) + (xy 56.664224 40.670835) + (xy 56.683181 40.616665) + (xy 56.683391 40.611027) + (xy 56.683831 40.608705) + (xy 56.683942 40.608257) + (xy 56.683987 40.607779) + (xy 56.684335 40.605466) + (xy 56.686 40.600073) + (xy 56.686 40.542724) + (xy 56.686053 40.539914) + (xy 56.686171 40.536745) + (xy 56.687016 40.514155) + (xy 56.696747 40.479877) + (xy 56.721168 40.453925) + (xy 56.754795 40.44213) + (xy 56.756115 40.442) + (xy 56.759812 40.442) + (xy 56.815525 40.430918) + (xy 56.878703 40.388703) + (xy 56.920918 40.325525) + (xy 56.932 40.269812) + (xy 56.932 39.232188) + (xy 56.920918 39.176475) + (xy 56.916801 39.170314) + (xy 56.882817 39.119454) + (xy 56.878703 39.113297) + (xy 56.871249 39.108316) + (xy 56.821683 39.075196) + (xy 56.82168 39.075194) + (xy 56.815525 39.071082) + (xy 56.808261 39.069637) + (xy 56.786326 39.065274) + (xy 56.759812 39.06) + (xy 56.756116 39.06) + (xy 56.750314 39.06) + (xy 56.716006 39.051718) + (xy 56.689256 39.028697) + (xy 56.675954 38.996006) + (xy 56.674469 38.98615) + (xy 56.671033 38.963353) + (xy 56.668585 38.95827) + (xy 56.66789 38.956017) + (xy 56.667778 38.955566) + (xy 56.667776 38.955561) + (xy 56.667598 38.95513) + (xy 56.666819 38.952905) + (xy 56.665772 38.947366) + (xy 56.663138 38.942382) + (xy 56.663137 38.942379) + (xy 56.638972 38.896656) + (xy 56.637704 38.894145) + (xy 56.634853 38.888225) + (xy 56.612829 38.842491) + (xy 56.608995 38.838359) + (xy 56.607661 38.836402) + (xy 56.607426 38.836012) + (xy 56.607132 38.835657) + (xy 56.605725 38.83375) + (xy 56.60309 38.828765) + (xy 56.56254 38.788215) + (xy 56.560589 38.78619) + (xy 56.52542 38.748287) + (xy 56.521587 38.744156) + (xy 56.516707 38.741338) + (xy 56.514852 38.739859) + (xy 56.508565 38.73424) + (xy 56.221729 38.447404) + (xy 56.203383 38.417467) + (xy 56.200629 38.382465) + (xy 56.214066 38.350027) + (xy 56.217082 38.345875) + (xy 56.221269 38.341689) + (xy 56.277499 38.231332) + (xy 56.292 38.139774) + (xy 56.292 38.094473) + (xy 56.297724 38.065695) + (xy 56.314026 38.041299) + (xy 56.606725 37.7486) + (xy 57.492028 36.863295) + (xy 57.521962 36.844951) + (xy 57.55696 36.842197) + (xy 57.606226 36.85) + (xy 58.21482 36.85) + (xy 58.217774 36.85) + (xy 58.309332 36.835499) + (xy 58.419689 36.779269) + (xy 58.507269 36.691689) + (xy 58.563499 36.581332) + (xy 58.578 36.489774) + (xy 58.578 36.467098) + (xy 63.8885 36.467098) + (xy 63.890592 36.474907) + (xy 63.898402 36.477) + (xy 64.252098 36.477) + (xy 64.259907 36.474907) + (xy 64.262 36.467098) + (xy 64.516 36.467098) + (xy 64.518092 36.474907) + (xy 64.525902 36.477) + (xy 64.879598 36.477) + (xy 64.887407 36.474907) + (xy 64.8895 36.467098) + (xy 65.6665 36.467098) + (xy 65.668592 36.474907) + (xy 65.676402 36.477) + (xy 66.030098 36.477) + (xy 66.037907 36.474907) + (xy 66.04 36.467098) + (xy 66.04 36.143402) + (xy 66.037907 36.135592) + (xy 66.030098 36.1335) + (xy 65.960734 36.1335) + (xy 65.95584 36.13382) + (xy 65.915843 36.139086) + (xy 65.904926 36.142268) + (xy 65.810475 36.186311) + (xy 65.799853 36.193749) + (xy 65.726749 36.266853) + (xy 65.719311 36.277475) + (xy 65.675268 36.371926) + (xy 65.672086 36.382843) + (xy 65.66682 36.42284) + (xy 65.6665 36.427734) + (xy 65.6665 36.467098) + (xy 64.8895 36.467098) + (xy 64.8895 36.427734) + (xy 64.889179 36.42284) + (xy 64.883913 36.382843) + (xy 64.880731 36.371926) + (xy 64.836688 36.277475) + (xy 64.82925 36.266853) + (xy 64.756146 36.193749) + (xy 64.745524 36.186311) + (xy 64.651073 36.142268) + (xy 64.640156 36.139086) + (xy 64.600159 36.13382) + (xy 64.595266 36.1335) + (xy 64.525902 36.1335) + (xy 64.518092 36.135592) + (xy 64.516 36.143402) + (xy 64.516 36.467098) + (xy 64.262 36.467098) + (xy 64.262 36.143402) + (xy 64.259907 36.135592) + (xy 64.252098 36.1335) + (xy 64.182734 36.1335) + (xy 64.17784 36.13382) + (xy 64.137843 36.139086) + (xy 64.126926 36.142268) + (xy 64.032475 36.186311) + (xy 64.021853 36.193749) + (xy 63.948749 36.266853) + (xy 63.941311 36.277475) + (xy 63.897268 36.371926) + (xy 63.894086 36.382843) + (xy 63.88882 36.42284) + (xy 63.8885 36.427734) + (xy 63.8885 36.467098) + (xy 58.578 36.467098) + (xy 58.578 36.028226) + (xy 58.563499 35.936668) + (xy 58.557268 35.92444) + (xy 58.515336 35.842143) + (xy 58.507269 35.826311) + (xy 58.419689 35.738731) + (xy 58.393893 35.725587) + (xy 58.314605 35.685187) + (xy 58.3146 35.685185) + (xy 58.309332 35.682501) + (xy 58.30349 35.681575) + (xy 58.303485 35.681574) + (xy 58.220692 35.668462) + (xy 58.22069 35.668461) + (xy 58.217774 35.668) + (xy 57.606226 35.668) + (xy 57.60331 35.668461) + (xy 57.603307 35.668462) + (xy 57.520514 35.681574) + (xy 57.520507 35.681576) + (xy 57.514668 35.682501) + (xy 57.5094 35.685184) + (xy 57.509394 35.685187) + (xy 57.409587 35.736042) + (xy 57.409583 35.736044) + (xy 57.404311 35.738731) + (xy 57.400124 35.742917) + (xy 57.400121 35.74292) + (xy 57.320917 35.822124) + (xy 57.320914 35.822127) + (xy 57.316731 35.826311) + (xy 57.316112 35.827525) + (xy 57.292796 35.847741) + (xy 57.267655 35.861028) + (xy 57.265146 35.862294) + (xy 57.218567 35.884726) + (xy 57.218564 35.884727) + (xy 57.213491 35.887171) + (xy 57.209363 35.891) + (xy 57.207392 35.892344) + (xy 57.207007 35.892575) + (xy 57.20667 35.892855) + (xy 57.204738 35.89428) + (xy 57.199765 35.89691) + (xy 57.195785 35.900889) + (xy 57.195782 35.900892) + (xy 57.159213 35.93746) + (xy 57.157191 35.939408) + (xy 57.119281 35.974584) + (xy 57.119276 35.974589) + (xy 57.115156 35.978413) + (xy 57.112343 35.983283) + (xy 57.110856 35.985149) + (xy 57.105239 35.991434) + (xy 56.365 36.731674) + (xy 56.32823 36.751889) + (xy 56.286353 36.749254) + (xy 56.252406 36.72459) + (xy 56.23696 36.685576) + (xy 56.244823 36.644359) + (xy 56.274329 36.58645) + (xy 56.277943 36.575328) + (xy 56.291037 36.492653) + (xy 56.2915 36.486781) + (xy 56.2915 36.395902) + (xy 56.289407 36.388092) + (xy 56.281598 36.386) + (xy 55.762902 36.386) + (xy 55.755092 36.388092) + (xy 55.753 36.395902) + (xy 55.753 36.839597) + (xy 55.755092 36.847406) + (xy 55.762902 36.849499) + (xy 55.928779 36.849499) + (xy 55.934654 36.849036) + (xy 56.017328 36.835942) + (xy 56.028449 36.832329) + (xy 56.086359 36.802823) + (xy 56.127576 36.79496) + (xy 56.16659 36.810406) + (xy 56.191254 36.844353) + (xy 56.193889 36.88623) + (xy 56.173675 36.922999) + (xy 55.800698 37.295976) + (xy 55.776305 37.312276) + (xy 55.747527 37.318) + (xy 55.320226 37.318) + (xy 55.31731 37.318461) + (xy 55.317307 37.318462) + (xy 55.234514 37.331574) + (xy 55.234507 37.331576) + (xy 55.228668 37.332501) + (xy 55.2234 37.335184) + (xy 55.223394 37.335187) + (xy 55.123587 37.386042) + (xy 55.123583 37.386044) + (xy 55.118311 37.388731) + (xy 55.114124 37.392917) + (xy 55.114121 37.39292) + (xy 55.03492 37.472121) + (xy 55.034917 37.472124) + (xy 55.030731 37.476311) + (xy 55.028044 37.481583) + (xy 55.028042 37.481587) + (xy 54.977187 37.581394) + (xy 54.977184 37.5814) + (xy 54.974501 37.586668) + (xy 54.973576 37.592507) + (xy 54.973574 37.592514) + (xy 54.960764 37.6734) + (xy 54.96 37.678226) + (xy 54.96 38.139774) + (xy 54.641 38.139774) + (xy 54.641 37.678226) + (xy 54.628199 37.597401) + (xy 54.627425 37.592514) + (xy 54.627424 37.592513) + (xy 54.626499 37.586668) + (xy 54.620023 37.573959) + (xy 54.595587 37.526) + (xy 54.570269 37.476311) + (xy 54.482689 37.388731) + (xy 54.477412 37.386042) + (xy 54.377605 37.335187) + (xy 54.3776 37.335185) + (xy 54.372332 37.332501) + (xy 54.36649 37.331575) + (xy 54.366485 37.331574) + (xy 54.283692 37.318462) + (xy 54.28369 37.318461) + (xy 54.280774 37.318) + (xy 53.669226 37.318) + (xy 53.66631 37.318461) + (xy 53.666307 37.318462) + (xy 53.583514 37.331574) + (xy 53.583507 37.331576) + (xy 53.577668 37.332501) + (xy 53.5724 37.335184) + (xy 53.572394 37.335187) + (xy 53.472587 37.386042) + (xy 53.472583 37.386044) + (xy 53.467311 37.388731) + (xy 53.463124 37.392917) + (xy 53.463121 37.39292) + (xy 53.414068 37.441974) + (xy 53.389672 37.458276) + (xy 53.360894 37.464) + (xy 53.000351 37.464) + (xy 52.961059 37.452919) + (xy 52.933348 37.42294) + (xy 52.917438 37.391715) + (xy 52.917434 37.391709) + (xy 52.914746 37.386434) + (xy 52.821566 37.293254) + (xy 52.816289 37.290565) + (xy 52.709426 37.236115) + (xy 52.709422 37.236113) + (xy 52.704153 37.233429) + (xy 52.698311 37.232503) + (xy 52.698306 37.232502) + (xy 52.609655 37.218462) + (xy 52.609652 37.218461) + (xy 52.606737 37.218) + (xy 52.603783 37.218) + (xy 52.044218 37.218) + (xy 52.044205 37.218) + (xy 52.041264 37.218001) + (xy 52.03835 37.218462) + (xy 52.038343 37.218463) + (xy 51.949692 37.232503) + (xy 51.94969 37.232503) + (xy 51.943847 37.233429) + (xy 51.938577 37.236113) + (xy 51.938574 37.236115) + (xy 51.83171 37.290565) + (xy 51.831706 37.290567) + (xy 51.826434 37.293254) + (xy 51.822247 37.29744) + (xy 51.822244 37.297443) + (xy 51.737443 37.382244) + (xy 51.73744 37.382247) + (xy 51.733254 37.386434) + (xy 51.730568 37.391704) + (xy 51.730561 37.391715) + (xy 51.714652 37.42294) + (xy 51.686941 37.452919) + (xy 51.647649 37.464) + (xy 51.287106 37.464) + (xy 51.258328 37.458276) + (xy 51.233932 37.441974) + (xy 51.184878 37.39292) + (xy 51.180689 37.388731) + (xy 51.175412 37.386042) + (xy 51.075605 37.335187) + (xy 51.0756 37.335185) + (xy 51.070332 37.332501) + (xy 51.06449 37.331575) + (xy 51.064485 37.331574) + (xy 50.981692 37.318462) + (xy 50.98169 37.318461) + (xy 50.978774 37.318) + (xy 50.367226 37.318) + (xy 50.36431 37.318461) + (xy 50.364307 37.318462) + (xy 50.281514 37.331574) + (xy 50.281507 37.331576) + (xy 50.275668 37.332501) + (xy 50.2704 37.335184) + (xy 50.270394 37.335187) + (xy 50.170587 37.386042) + (xy 50.170583 37.386044) + (xy 50.165311 37.388731) + (xy 50.161124 37.392917) + (xy 50.161121 37.39292) + (xy 50.08192 37.472121) + (xy 50.081917 37.472124) + (xy 50.077731 37.476311) + (xy 50.075044 37.481583) + (xy 50.075042 37.481587) + (xy 50.024187 37.581394) + (xy 50.024184 37.5814) + (xy 50.021501 37.586668) + (xy 50.020576 37.592507) + (xy 50.020574 37.592514) + (xy 50.007764 37.6734) + (xy 50.007 37.678226) + (xy 50.007 37.68118) + (xy 50.007 37.914527) + (xy 50.001276 37.943305) + (xy 49.984974 37.967701) + (xy 49.587374 38.3653) + (xy 49.548871 38.385881) + (xy 49.505422 38.381602) + (xy 49.471673 38.353905) + (xy 49.459 38.312126) + (xy 49.459 37.310884) + (xy 49.459 37.307188) + (xy 49.447918 37.251475) + (xy 49.43524 37.232502) + (xy 49.411409 37.196836) + (xy 49.405703 37.188297) + (xy 49.397165 37.182592) + (xy 49.348683 37.150196) + (xy 49.34868 37.150194) + (xy 49.342525 37.146082) + (xy 49.335261 37.144637) + (xy 49.309028 37.139419) + (xy 49.286812 37.135) + (xy 48.249188 37.135) + (xy 48.245563 37.13572) + (xy 48.245563 37.135721) + (xy 48.200738 37.144637) + (xy 48.200736 37.144637) + (xy 48.193475 37.146082) + (xy 48.187321 37.150193) + (xy 48.187316 37.150196) + (xy 48.136454 37.184182) + (xy 48.136451 37.184184) + (xy 48.130297 37.188297) + (xy 48.126184 37.194451) + (xy 48.126182 37.194454) + (xy 48.092196 37.245316) + (xy 48.092193 37.245321) + (xy 48.088082 37.251475) + (xy 48.086637 37.258736) + (xy 48.086637 37.258738) + (xy 48.07772 37.303564) + (xy 48.077719 37.303572) + (xy 48.077 37.307188) + (xy 48.077 37.310882) + (xy 48.076775 37.313169) + (xy 48.064464 37.347578) + (xy 48.037386 37.37212) + (xy 48.001937 37.381) + (xy 47.514103 37.381) + (xy 47.474811 37.369918) + (xy 47.453907 37.347305) + (xy 47.452436 37.348375) + (xy 47.448957 37.343587) + (xy 47.446269 37.338311) + (xy 47.393026 37.285068) + (xy 47.376724 37.260672) + (xy 47.371 37.231894) + (xy 47.371 36.809106) + (xy 47.376724 36.780328) + (xy 47.393026 36.755932) + (xy 47.417284 36.731674) + (xy 47.446269 36.702689) + (xy 47.502499 36.592332) + (xy 47.517 36.500774) + (xy 47.517 35.889226) + (xy 47.509966 35.844812) + (xy 48.077 35.844812) + (xy 48.080071 35.860252) + (xy 48.085454 35.887316) + (xy 48.088082 35.900525) + (xy 48.092194 35.90668) + (xy 48.092196 35.906683) + (xy 48.121452 35.950466) + (xy 48.130297 35.963703) + (xy 48.136454 35.967817) + (xy 48.187316 36.001803) + (xy 48.187317 36.001803) + (xy 48.193475 36.005918) + (xy 48.249188 36.017) + (xy 48.798527 36.017) + (xy 48.827305 36.022724) + (xy 48.8517 36.039025) + (xy 49.113711 36.301037) + (xy 49.365686 36.553012) + (xy 49.371305 36.559299) + (xy 49.391389 36.584484) + (xy 49.391391 36.584486) + (xy 49.394905 36.588892) + (xy 49.44229 36.621198) + (xy 49.444543 36.622797) + (xy 49.490716 36.656875) + (xy 49.496035 36.658736) + (xy 49.498137 36.659847) + (xy 49.498525 36.660081) + (xy 49.498957 36.66026) + (xy 49.501085 36.661285) + (xy 49.505741 36.664459) + (xy 49.560533 36.68136) + (xy 49.563184 36.682232) + (xy 49.612015 36.69932) + (xy 49.612018 36.69932) + (xy 49.617335 36.701181) + (xy 49.622964 36.701391) + (xy 49.625293 36.701832) + (xy 49.625737 36.701942) + (xy 49.626205 36.701986) + (xy 49.628538 36.702337) + (xy 49.633927 36.704) + (xy 49.691293 36.704) + (xy 49.694103 36.704052) + (xy 49.751386 36.706196) + (xy 49.756831 36.704736) + (xy 49.759173 36.704473) + (xy 49.767593 36.704) + (xy 50.058894 36.704) + (xy 50.087672 36.709724) + (xy 50.112068 36.726026) + (xy 50.165311 36.779269) + (xy 50.185518 36.789565) + (xy 50.269448 36.83233) + (xy 50.275668 36.835499) + (xy 50.281513 36.836424) + (xy 50.281514 36.836425) + (xy 50.29273 36.838201) + (xy 50.367226 36.85) + (xy 50.97582 36.85) + (xy 50.978774 36.85) + (xy 51.070332 36.835499) + (xy 51.180689 36.779269) + (xy 51.268269 36.691689) + (xy 51.324499 36.581332) + (xy 51.327284 36.563746) + (xy 51.6585 36.563746) + (xy 51.658962 36.569618) + (xy 51.672984 36.658151) + (xy 51.676597 36.669271) + (xy 51.730976 36.775994) + (xy 51.737851 36.785456) + (xy 51.822543 36.870148) + (xy 51.832005 36.877023) + (xy 51.938728 36.931402) + (xy 51.949848 36.935015) + (xy 52.038381 36.949037) + (xy 52.044254 36.9495) + (xy 52.187098 36.9495) + (xy 52.194907 36.947407) + (xy 52.197 36.939598) + (xy 52.451 36.939598) + (xy 52.453092 36.947407) + (xy 52.460902 36.9495) + (xy 52.603746 36.9495) + (xy 52.609618 36.949037) + (xy 52.698151 36.935015) + (xy 52.709271 36.931402) + (xy 52.815994 36.877023) + (xy 52.825456 36.870148) + (xy 52.910148 36.785456) + (xy 52.917023 36.775994) + (xy 52.971402 36.669271) + (xy 52.975015 36.658151) + (xy 52.989037 36.569618) + (xy 52.9895 36.563746) + (xy 52.9895 36.486779) + (xy 53.309501 36.486779) + (xy 53.309963 36.492654) + (xy 53.323057 36.575328) + (xy 53.326669 36.586447) + (xy 53.377452 36.686114) + (xy 53.38433 36.69558) + (xy 53.463419 36.774669) + (xy 53.472885 36.781547) + (xy 53.572551 36.83233) + (xy 53.583671 36.835943) + (xy 53.666346 36.849037) + (xy 53.672219 36.8495) + (xy 53.838098 36.8495) + (xy 53.845907 36.847407) + (xy 53.848 36.839598) + (xy 53.848 36.839597) + (xy 54.102 36.839597) + (xy 54.104092 36.847406) + (xy 54.111902 36.849499) + (xy 54.277779 36.849499) + (xy 54.283654 36.849036) + (xy 54.366328 36.835942) + (xy 54.377447 36.83233) + (xy 54.477114 36.781547) + (xy 54.48658 36.774669) + (xy 54.565669 36.69558) + (xy 54.572547 36.686114) + (xy 54.62333 36.586448) + (xy 54.626943 36.575328) + (xy 54.640037 36.492653) + (xy 54.6405 36.486781) + (xy 54.6405 36.486779) + (xy 54.960501 36.486779) + (xy 54.960963 36.492654) + (xy 54.974057 36.575328) + (xy 54.977669 36.586447) + (xy 55.028452 36.686114) + (xy 55.03533 36.69558) + (xy 55.114419 36.774669) + (xy 55.123885 36.781547) + (xy 55.223551 36.83233) + (xy 55.234671 36.835943) + (xy 55.317346 36.849037) + (xy 55.323219 36.8495) + (xy 55.489098 36.8495) + (xy 55.496907 36.847407) + (xy 55.499 36.839598) + (xy 55.499 36.395902) + (xy 55.496907 36.388092) + (xy 55.489098 36.386) + (xy 54.970403 36.386) + (xy 54.962593 36.388092) + (xy 54.960501 36.395902) + (xy 54.960501 36.486779) + (xy 54.6405 36.486779) + (xy 54.6405 36.395902) + (xy 54.638407 36.388092) + (xy 54.630598 36.386) + (xy 54.111902 36.386) + (xy 54.104092 36.388092) + (xy 54.102 36.395902) + (xy 54.102 36.839597) + (xy 53.848 36.839597) + (xy 53.848 36.395902) + (xy 53.845907 36.388092) + (xy 53.838098 36.386) + (xy 53.319403 36.386) + (xy 53.311593 36.388092) + (xy 53.309501 36.395902) + (xy 53.309501 36.486779) + (xy 52.9895 36.486779) + (xy 52.9895 36.445902) + (xy 52.987407 36.438092) + (xy 52.979598 36.436) + (xy 52.460902 36.436) + (xy 52.453092 36.438092) + (xy 52.451 36.445902) + (xy 52.451 36.939598) + (xy 52.197 36.939598) + (xy 52.197 36.445902) + (xy 52.194907 36.438092) + (xy 52.187098 36.436) + (xy 51.668402 36.436) + (xy 51.660592 36.438092) + (xy 51.6585 36.445902) + (xy 51.6585 36.563746) + (xy 51.327284 36.563746) + (xy 51.339 36.489774) + (xy 51.339 36.172098) + (xy 51.6585 36.172098) + (xy 51.660592 36.179907) + (xy 51.668402 36.182) + (xy 52.187098 36.182) + (xy 52.194907 36.179907) + (xy 52.197 36.172098) + (xy 52.451 36.172098) + (xy 52.453092 36.179907) + (xy 52.460902 36.182) + (xy 52.979598 36.182) + (xy 52.987407 36.179907) + (xy 52.9895 36.172098) + (xy 52.9895 36.122098) + (xy 53.3095 36.122098) + (xy 53.311592 36.129907) + (xy 53.319402 36.132) + (xy 53.838098 36.132) + (xy 53.845907 36.129907) + (xy 53.848 36.122098) + (xy 54.102 36.122098) + (xy 54.104092 36.129907) + (xy 54.111902 36.132) + (xy 54.630597 36.132) + (xy 54.638406 36.129907) + (xy 54.640499 36.122098) + (xy 54.9605 36.122098) + (xy 54.962592 36.129907) + (xy 54.970402 36.132) + (xy 55.489098 36.132) + (xy 55.496907 36.129907) + (xy 55.499 36.122098) + (xy 55.753 36.122098) + (xy 55.755092 36.129907) + (xy 55.762902 36.132) + (xy 56.281597 36.132) + (xy 56.289406 36.129907) + (xy 56.291499 36.122098) + (xy 56.291499 36.031221) + (xy 56.291036 36.025345) + (xy 56.277942 35.942671) + (xy 56.27433 35.931552) + (xy 56.223547 35.831885) + (xy 56.216669 35.822419) + (xy 56.13758 35.74333) + (xy 56.128114 35.736452) + (xy 56.028448 35.685669) + (xy 56.017328 35.682056) + (xy 55.934653 35.668962) + (xy 55.928781 35.6685) + (xy 55.762902 35.6685) + (xy 55.755092 35.670592) + (xy 55.753 35.678402) + (xy 55.753 36.122098) + (xy 55.499 36.122098) + (xy 55.499 35.678403) + (xy 55.496907 35.670593) + (xy 55.489098 35.668501) + (xy 55.323221 35.668501) + (xy 55.317345 35.668963) + (xy 55.234671 35.682057) + (xy 55.223552 35.685669) + (xy 55.123885 35.736452) + (xy 55.114419 35.74333) + (xy 55.03533 35.822419) + (xy 55.028452 35.831885) + (xy 54.977669 35.931551) + (xy 54.974056 35.942671) + (xy 54.960962 36.025346) + (xy 54.9605 36.031219) + (xy 54.9605 36.122098) + (xy 54.640499 36.122098) + (xy 54.640499 36.031221) + (xy 54.640036 36.025345) + (xy 54.626942 35.942671) + (xy 54.62333 35.931552) + (xy 54.572547 35.831885) + (xy 54.565669 35.822419) + (xy 54.48658 35.74333) + (xy 54.477114 35.736452) + (xy 54.377448 35.685669) + (xy 54.366328 35.682056) + (xy 54.283653 35.668962) + (xy 54.277781 35.6685) + (xy 54.111902 35.6685) + (xy 54.104092 35.670592) + (xy 54.102 35.678402) + (xy 54.102 36.122098) + (xy 53.848 36.122098) + (xy 53.848 35.678403) + (xy 53.845907 35.670593) + (xy 53.838098 35.668501) + (xy 53.672221 35.668501) + (xy 53.666345 35.668963) + (xy 53.583671 35.682057) + (xy 53.572552 35.685669) + (xy 53.472885 35.736452) + (xy 53.463419 35.74333) + (xy 53.38433 35.822419) + (xy 53.377452 35.831885) + (xy 53.326669 35.931551) + (xy 53.323056 35.942671) + (xy 53.309962 36.025346) + (xy 53.3095 36.031219) + (xy 53.3095 36.122098) + (xy 52.9895 36.122098) + (xy 52.9895 36.054254) + (xy 52.989037 36.048381) + (xy 52.975015 35.959848) + (xy 52.971402 35.948728) + (xy 52.917023 35.842005) + (xy 52.910148 35.832543) + (xy 52.825456 35.747851) + (xy 52.815994 35.740976) + (xy 52.709271 35.686597) + (xy 52.698151 35.682984) + (xy 52.609618 35.668962) + (xy 52.603746 35.6685) + (xy 52.460902 35.6685) + (xy 52.453092 35.670592) + (xy 52.451 35.678402) + (xy 52.451 36.172098) + (xy 52.197 36.172098) + (xy 52.197 35.678402) + (xy 52.194907 35.670592) + (xy 52.187098 35.6685) + (xy 52.044254 35.6685) + (xy 52.038381 35.668962) + (xy 51.949848 35.682984) + (xy 51.938728 35.686597) + (xy 51.832005 35.740976) + (xy 51.822543 35.747851) + (xy 51.737851 35.832543) + (xy 51.730976 35.842005) + (xy 51.676597 35.948728) + (xy 51.672984 35.959848) + (xy 51.658962 36.048381) + (xy 51.6585 36.054254) + (xy 51.6585 36.172098) + (xy 51.339 36.172098) + (xy 51.339 36.028226) + (xy 51.324499 35.936668) + (xy 51.318268 35.92444) + (xy 51.276336 35.842143) + (xy 51.268269 35.826311) + (xy 51.180689 35.738731) + (xy 51.154893 35.725587) + (xy 51.075605 35.685187) + (xy 51.0756 35.685185) + (xy 51.070332 35.682501) + (xy 51.06449 35.681575) + (xy 51.064485 35.681574) + (xy 50.981692 35.668462) + (xy 50.98169 35.668461) + (xy 50.978774 35.668) + (xy 50.367226 35.668) + (xy 50.36431 35.668461) + (xy 50.364307 35.668462) + (xy 50.281514 35.681574) + (xy 50.281507 35.681576) + (xy 50.275668 35.682501) + (xy 50.2704 35.685184) + (xy 50.270394 35.685187) + (xy 50.170587 35.736042) + (xy 50.170583 35.736044) + (xy 50.165311 35.738731) + (xy 50.161124 35.742917) + (xy 50.161121 35.74292) + (xy 50.112068 35.791974) + (xy 50.087672 35.808276) + (xy 50.058894 35.814) + (xy 49.916473 35.814) + (xy 49.887695 35.808276) + (xy 49.863299 35.791974) + (xy 49.481026 35.409701) + (xy 49.464724 35.385305) + (xy 49.459 35.356527) + (xy 49.459 34.810884) + (xy 49.459 34.807188) + (xy 49.447918 34.751475) + (xy 49.436241 34.734) + (xy 49.409817 34.694454) + (xy 49.405703 34.688297) + (xy 49.399545 34.684182) + (xy 49.348683 34.650196) + (xy 49.34868 34.650194) + (xy 49.342525 34.646082) + (xy 49.335261 34.644637) + (xy 49.296816 34.63699) + (xy 49.286812 34.635) + (xy 48.249188 34.635) + (xy 48.245563 34.63572) + (xy 48.245563 34.635721) + (xy 48.200738 34.644637) + (xy 48.200736 34.644637) + (xy 48.193475 34.646082) + (xy 48.187321 34.650193) + (xy 48.187316 34.650196) + (xy 48.136454 34.684182) + (xy 48.136451 34.684184) + (xy 48.130297 34.688297) + (xy 48.126184 34.694451) + (xy 48.126182 34.694454) + (xy 48.092196 34.745316) + (xy 48.092193 34.745321) + (xy 48.088082 34.751475) + (xy 48.086637 34.758736) + (xy 48.086637 34.758738) + (xy 48.077721 34.803563) + (xy 48.077 34.807188) + (xy 48.077 35.844812) + (xy 47.509966 35.844812) + (xy 47.502499 35.797668) + (xy 47.491909 35.776885) + (xy 47.465772 35.725587) + (xy 47.446269 35.687311) + (xy 47.358689 35.599731) + (xy 47.348727 35.594655) + (xy 47.253605 35.546187) + (xy 47.2536 35.546185) + (xy 47.248332 35.543501) + (xy 47.24249 35.542575) + (xy 47.242485 35.542574) + (xy 47.159692 35.529462) + (xy 47.15969 35.529461) + (xy 47.156774 35.529) + (xy 46.695226 35.529) + (xy 46.69231 35.529461) + (xy 46.692307 35.529462) + (xy 46.609514 35.542574) + (xy 46.609507 35.542576) + (xy 46.603668 35.543501) + (xy 46.5984 35.546184) + (xy 46.598394 35.546187) + (xy 46.498587 35.597042) + (xy 46.498583 35.597044) + (xy 46.493311 35.599731) + (xy 46.489124 35.603917) + (xy 46.489121 35.60392) + (xy 46.40992 35.683121) + (xy 46.409917 35.683124) + (xy 46.405731 35.687311) + (xy 46.403044 35.692583) + (xy 46.403042 35.692587) + (xy 46.352187 35.792394) + (xy 46.352184 35.7924) + (xy 46.349501 35.797668) + (xy 46.348576 35.803507) + (xy 46.348574 35.803514) + (xy 46.335462 35.886307) + (xy 46.335 35.889226) + (xy 46.335 36.500774) + (xy 46.335461 36.50369) + (xy 46.335462 36.503692) + (xy 46.348574 36.586485) + (xy 46.348575 36.58649) + (xy 46.349501 36.592332) + (xy 46.352185 36.5976) + (xy 46.352187 36.597605) + (xy 46.403042 36.697412) + (xy 46.405731 36.702689) + (xy 46.40992 36.706878) + (xy 46.458974 36.755932) + (xy 46.475276 36.780328) + (xy 46.481 36.809106) + (xy 46.481 37.231894) + (xy 46.475276 37.260672) + (xy 46.458974 37.285068) + (xy 46.40992 37.334121) + (xy 46.409917 37.334124) + (xy 46.405731 37.338311) + (xy 46.403044 37.343583) + (xy 46.403042 37.343587) + (xy 46.352187 37.443394) + (xy 46.352184 37.4434) + (xy 46.349501 37.448668) + (xy 46.348576 37.454507) + (xy 46.348574 37.454514) + (xy 46.337253 37.526) + (xy 46.335 37.540226) + (xy 46.335 38.151774) + (xy 46.335461 38.15469) + (xy 46.335462 38.154692) + (xy 46.348574 38.237485) + (xy 46.348575 38.23749) + (xy 46.349501 38.243332) + (xy 46.352185 38.2486) + (xy 46.352187 38.248605) + (xy 46.403042 38.348412) + (xy 46.405731 38.353689) + (xy 46.493311 38.441269) + (xy 46.526842 38.458354) + (xy 46.597028 38.494116) + (xy 46.603668 38.497499) + (xy 46.609513 38.498424) + (xy 46.609514 38.498425) + (xy 46.619453 38.499999) + (xy 46.695226 38.512) + (xy 47.15382 38.512) + (xy 47.156774 38.512) + (xy 47.248332 38.497499) + (xy 47.358689 38.441269) + (xy 47.446269 38.353689) + (xy 47.467479 38.31206) + (xy 47.495192 38.282081) + (xy 47.534484 38.271) + (xy 48.001937 38.271) + (xy 48.037386 38.27988) + (xy 48.064464 38.304422) + (xy 48.076775 38.338831) + (xy 48.077 38.341118) + (xy 48.077 38.344812) + (xy 48.077719 38.348428) + (xy 48.07772 38.348435) + (xy 48.084567 38.382854) + (xy 48.088082 38.400525) + (xy 48.092194 38.40668) + (xy 48.092196 38.406683) + (xy 48.126182 38.457545) + (xy 48.130297 38.463703) + (xy 48.136454 38.467817) + (xy 48.187316 38.501803) + (xy 48.187317 38.501803) + (xy 48.193475 38.505918) + (xy 48.249188 38.517) + (xy 48.252885 38.517) + (xy 48.255169 38.517225) + (xy 48.289578 38.529536) + (xy 48.31412 38.556614) + (xy 48.323 38.592063) + (xy 48.323 38.900527) + (xy 48.317276 38.929305) + (xy 48.300974 38.953701) + (xy 48.224701 39.029974) + (xy 48.200305 39.046276) + (xy 48.171527 39.052) + (xy 47.562917 39.052) + (xy 47.531137 39.044955) + (xy 47.466832 39.01497) + (xy 47.466833 39.01497) + (xy 47.461619 39.012539) + (xy 47.455917 39.011788) + (xy 47.455916 39.011788) + (xy 47.414385 39.00632) + (xy 47.41438 39.006319) + (xy 47.411952 39.006) + (xy 45.682048 39.006) + (xy 45.67962 39.006319) + (xy 45.679614 39.00632) + (xy 45.638083 39.011788) + (xy 45.638081 39.011788) + (xy 45.632381 39.012539) + (xy 45.627174 39.014966) + (xy 45.627167 39.014969) + (xy 45.529354 39.06058) + (xy 45.529352 39.060581) + (xy 45.523393 39.06336) + (xy 45.518743 39.068009) + (xy 45.51874 39.068012) + (xy 45.443012 39.14374) + (xy 45.443009 39.143743) + (xy 45.43836 39.148393) + (xy 45.435581 39.154352) + (xy 45.43558 39.154354) + (xy 45.389969 39.252167) + (xy 45.389966 39.252174) + (xy 45.387539 39.257381) + (xy 45.386788 39.263081) + (xy 45.386788 39.263083) + (xy 45.381469 39.303487) + (xy 45.381 39.307048) + (xy 45.381 39.686952) + (xy 44.888277 39.686952) + (xy 44.658321 39.456996) + (xy 44.652701 39.450708) + (xy 44.632611 39.425516) + (xy 44.632608 39.425513) + (xy 44.629095 39.421108) + (xy 44.624438 39.417932) + (xy 44.624435 39.41793) + (xy 44.581731 39.388814) + (xy 44.57944 39.387188) + (xy 44.537822 39.356473) + (xy 44.537816 39.35647) + (xy 44.533284 39.353125) + (xy 44.527965 39.351263) + (xy 44.525862 39.350152) + (xy 44.525476 39.349919) + (xy 44.525052 39.349744) + (xy 44.522913 39.348714) + (xy 44.518259 39.345541) + (xy 44.512876 39.34388) + (xy 44.512875 39.34388) + (xy 44.463471 39.32864) + (xy 44.460802 39.327761) + (xy 44.411988 39.310681) + (xy 44.411984 39.31068) + (xy 44.406665 39.308819) + (xy 44.401031 39.308607) + (xy 44.398702 39.308167) + (xy 44.398256 39.308056) + (xy 44.397817 39.308015) + (xy 44.395451 39.307658) + (xy 44.390073 39.306) + (xy 44.384441 39.306) + (xy 44.349293 39.306) + (xy 44.31 39.294918) + (xy 44.282289 39.264939) + (xy 44.273958 39.248589) + (xy 44.271269 39.243311) + (xy 44.183689 39.155731) + (xy 44.178412 39.153042) + (xy 44.078605 39.102187) + (xy 44.0786 39.102185) + (xy 44.073332 39.099501) + (xy 44.06749 39.098575) + (xy 44.067485 39.098574) + (xy 43.984692 39.085462) + (xy 43.98469 39.085461) + (xy 43.981774 39.085) + (xy 43.97882 39.085) + (xy 43.841473 39.085) + (xy 43.812695 39.079276) + (xy 43.788299 39.062974) + (xy 43.343795 38.61847) + (xy 43.32229 38.574135) + (xy 43.33285 38.526005) + (xy 43.37094 38.494744) + (xy 43.420206 38.493776) + (xy 43.423394 38.494812) + (xy 43.428668 38.497499) + (xy 43.434513 38.498424) + (xy 43.434514 38.498425) + (xy 43.444453 38.499999) + (xy 43.520226 38.512) + (xy 43.97882 38.512) + (xy 43.981774 38.512) + (xy 44.073332 38.497499) + (xy 44.183689 38.441269) + (xy 44.271269 38.353689) + (xy 44.27628 38.343854) + (xy 44.282291 38.332059) + (xy 44.310003 38.302081) + (xy 44.349294 38.291) + (xy 44.677706 38.291) + (xy 44.716997 38.302081) + (xy 44.744709 38.332059) + (xy 44.75304 38.348409) + (xy 44.753042 38.348412) + (xy 44.755731 38.353689) + (xy 44.843311 38.441269) + (xy 44.876842 38.458354) + (xy 44.947028 38.494116) + (xy 44.953668 38.497499) + (xy 44.959513 38.498424) + (xy 44.959514 38.498425) + (xy 44.969453 38.499999) + (xy 45.045226 38.512) + (xy 45.50382 38.512) + (xy 45.506774 38.512) + (xy 45.598332 38.497499) + (xy 45.708689 38.441269) + (xy 45.796269 38.353689) + (xy 45.852499 38.243332) + (xy 45.867 38.151774) + (xy 45.867 37.540226) + (xy 45.852499 37.448668) + (xy 45.837494 37.41922) + (xy 45.811018 37.367257) + (xy 45.796269 37.338311) + (xy 45.743026 37.285068) + (xy 45.726724 37.260672) + (xy 45.721 37.231894) + (xy 45.721 36.809106) + (xy 45.726724 36.780328) + (xy 45.743026 36.755932) + (xy 45.767284 36.731674) + (xy 45.796269 36.702689) + (xy 45.852499 36.592332) + (xy 45.867 36.500774) + (xy 45.867 35.889226) + (xy 45.852499 35.797668) + (xy 45.841909 35.776885) + (xy 45.815772 35.725587) + (xy 45.796269 35.687311) + (xy 45.708689 35.599731) + (xy 45.698727 35.594655) + (xy 45.603605 35.546187) + (xy 45.6036 35.546185) + (xy 45.598332 35.543501) + (xy 45.59249 35.542575) + (xy 45.592485 35.542574) + (xy 45.509692 35.529462) + (xy 45.50969 35.529461) + (xy 45.506774 35.529) + (xy 45.045226 35.529) + (xy 45.04231 35.529461) + (xy 45.042307 35.529462) + (xy 44.959514 35.542574) + (xy 44.959507 35.542576) + (xy 44.953668 35.543501) + (xy 44.9484 35.546184) + (xy 44.948394 35.546187) + (xy 44.848587 35.597042) + (xy 44.848583 35.597044) + (xy 44.843311 35.599731) + (xy 44.839124 35.603917) + (xy 44.839121 35.60392) + (xy 44.75992 35.683121) + (xy 44.759917 35.683124) + (xy 44.755731 35.687311) + (xy 44.753044 35.692583) + (xy 44.753042 35.692587) + (xy 44.702187 35.792394) + (xy 44.702184 35.7924) + (xy 44.699501 35.797668) + (xy 44.698576 35.803507) + (xy 44.698574 35.803514) + (xy 44.685462 35.886307) + (xy 44.685 35.889226) + (xy 44.685 36.500774) + (xy 44.685461 36.50369) + (xy 44.685462 36.503692) + (xy 44.698574 36.586485) + (xy 44.698575 36.58649) + (xy 44.699501 36.592332) + (xy 44.702185 36.5976) + (xy 44.702187 36.597605) + (xy 44.753042 36.697412) + (xy 44.755731 36.702689) + (xy 44.75992 36.706878) + (xy 44.808974 36.755932) + (xy 44.825276 36.780328) + (xy 44.831 36.809106) + (xy 44.831 37.231894) + (xy 44.825276 37.260672) + (xy 44.808974 37.285068) + (xy 44.75992 37.334121) + (xy 44.759917 37.334124) + (xy 44.755731 37.338311) + (xy 44.753043 37.343584) + (xy 44.75304 37.34359) + (xy 44.744709 37.359941) + (xy 44.716997 37.389919) + (xy 44.677706 37.401) + (xy 44.349294 37.401) + (xy 44.310003 37.389919) + (xy 44.282291 37.359941) + (xy 44.273959 37.34359) + (xy 44.273957 37.343587) + (xy 44.271269 37.338311) + (xy 44.218026 37.285068) + (xy 44.201724 37.260672) + (xy 44.196 37.231894) + (xy 44.196 36.809106) + (xy 44.201724 36.780328) + (xy 44.218026 36.755932) + (xy 44.242284 36.731674) + (xy 44.271269 36.702689) + (xy 44.327499 36.592332) + (xy 44.342 36.500774) + (xy 44.342 35.889226) + (xy 44.327499 35.797668) + (xy 44.316909 35.776885) + (xy 44.290772 35.725587) + (xy 44.271269 35.687311) + (xy 44.183689 35.599731) + (xy 44.173727 35.594655) + (xy 44.078605 35.546187) + (xy 44.0786 35.546185) + (xy 44.073332 35.543501) + (xy 44.06749 35.542575) + (xy 44.067485 35.542574) + (xy 43.984692 35.529462) + (xy 43.98469 35.529461) + (xy 43.981774 35.529) + (xy 43.520226 35.529) + (xy 43.51731 35.529461) + (xy 43.517307 35.529462) + (xy 43.434514 35.542574) + (xy 43.434507 35.542576) + (xy 43.428668 35.543501) + (xy 43.4234 35.546184) + (xy 43.423394 35.546187) + (xy 43.323587 35.597042) + (xy 43.323583 35.597044) + (xy 43.318311 35.599731) + (xy 43.314124 35.603917) + (xy 43.314121 35.60392) + (xy 43.23492 35.683121) + (xy 43.234917 35.683124) + (xy 43.230731 35.687311) + (xy 43.228044 35.692583) + (xy 43.228042 35.692587) + (xy 43.177187 35.792394) + (xy 43.177184 35.7924) + (xy 43.174501 35.797668) + (xy 43.173576 35.803507) + (xy 43.173574 35.803514) + (xy 43.160462 35.886307) + (xy 43.16 35.889226) + (xy 43.16 36.500774) + (xy 43.160461 36.50369) + (xy 43.160462 36.503692) + (xy 43.173574 36.586485) + (xy 43.173575 36.58649) + (xy 43.174501 36.592332) + (xy 43.177185 36.5976) + (xy 43.177187 36.597605) + (xy 43.228042 36.697412) + (xy 43.230731 36.702689) + (xy 43.23492 36.706878) + (xy 43.283974 36.755932) + (xy 43.300276 36.780328) + (xy 43.306 36.809106) + (xy 43.306 37.231894) + (xy 43.300276 37.260672) + (xy 43.283974 37.285068) + (xy 43.23492 37.334121) + (xy 43.234917 37.334124) + (xy 43.230731 37.338311) + (xy 43.228044 37.343583) + (xy 43.228042 37.343587) + (xy 43.177187 37.443394) + (xy 43.177184 37.4434) + (xy 43.174501 37.448668) + (xy 43.173576 37.454507) + (xy 43.173574 37.454514) + (xy 43.162253 37.526) + (xy 43.16 37.540226) + (xy 43.16 38.151774) + (xy 43.160461 38.15469) + (xy 43.160462 38.154692) + (xy 43.173575 38.23749) + (xy 43.173576 38.237494) + (xy 43.174501 38.243332) + (xy 43.177184 38.248598) + (xy 43.178223 38.251795) + (xy 43.177254 38.30106) + (xy 43.145994 38.339149) + (xy 43.097863 38.349709) + (xy 43.053529 38.328204) + (xy 42.714026 37.988701) + (xy 42.697724 37.964305) + (xy 42.692 37.935527) + (xy 42.692 37.54318) + (xy 42.692 37.540226) + (xy 42.677499 37.448668) + (xy 42.662494 37.41922) + (xy 42.636018 37.367257) + (xy 42.621269 37.338311) + (xy 42.568026 37.285068) + (xy 42.551724 37.260672) + (xy 42.546 37.231894) + (xy 42.546 36.809106) + (xy 42.551724 36.780328) + (xy 42.568026 36.755932) + (xy 42.592284 36.731674) + (xy 42.621269 36.702689) + (xy 42.677499 36.592332) + (xy 42.692 36.500774) + (xy 42.692 35.889226) + (xy 42.677499 35.797668) + (xy 42.666909 35.776885) + (xy 42.640772 35.725587) + (xy 42.621269 35.687311) + (xy 42.533689 35.599731) + (xy 42.523727 35.594655) + (xy 42.428605 35.546187) + (xy 42.4286 35.546185) + (xy 42.423332 35.543501) + (xy 42.41749 35.542575) + (xy 42.417485 35.542574) + (xy 42.334692 35.529462) + (xy 42.33469 35.529461) + (xy 42.331774 35.529) + (xy 41.870226 35.529) + (xy 41.86731 35.529461) + (xy 41.867307 35.529462) + (xy 41.784514 35.542574) + (xy 41.784507 35.542576) + (xy 41.778668 35.543501) + (xy 41.7734 35.546184) + (xy 41.773394 35.546187) + (xy 41.673587 35.597042) + (xy 41.673583 35.597044) + (xy 41.668311 35.599731) + (xy 41.664124 35.603917) + (xy 41.664121 35.60392) + (xy 41.58492 35.683121) + (xy 41.584917 35.683124) + (xy 41.580731 35.687311) + (xy 41.578044 35.692583) + (xy 41.578042 35.692587) + (xy 41.527187 35.792394) + (xy 41.527184 35.7924) + (xy 41.524501 35.797668) + (xy 41.523576 35.803507) + (xy 41.523574 35.803514) + (xy 41.510462 35.886307) + (xy 41.51 35.889226) + (xy 41.51 36.500774) + (xy 41.510461 36.50369) + (xy 41.510462 36.503692) + (xy 41.523574 36.586485) + (xy 41.523575 36.58649) + (xy 41.524501 36.592332) + (xy 41.527185 36.5976) + (xy 41.527187 36.597605) + (xy 41.578042 36.697412) + (xy 41.580731 36.702689) + (xy 41.58492 36.706878) + (xy 41.633974 36.755932) + (xy 41.650276 36.780328) + (xy 41.656 36.809106) + (xy 41.656 37.231894) + (xy 41.650276 37.260672) + (xy 41.633974 37.285068) + (xy 41.58492 37.334121) + (xy 41.584917 37.334124) + (xy 41.580731 37.338311) + (xy 41.578044 37.343583) + (xy 41.578042 37.343587) + (xy 41.527187 37.443394) + (xy 41.527184 37.4434) + (xy 41.524501 37.448668) + (xy 41.523576 37.454507) + (xy 41.523574 37.454514) + (xy 41.512253 37.526) + (xy 41.51 37.540226) + (xy 41.51 38.151774) + (xy 41.510461 38.15469) + (xy 41.510462 38.154692) + (xy 41.523574 38.237485) + (xy 41.523575 38.23749) + (xy 41.524501 38.243332) + (xy 41.527185 38.2486) + (xy 41.527187 38.248605) + (xy 41.578042 38.348412) + (xy 41.580731 38.353689) + (xy 41.668311 38.441269) + (xy 41.701842 38.458354) + (xy 41.772028 38.494116) + (xy 41.778668 38.497499) + (xy 41.784513 38.498424) + (xy 41.784514 38.498425) + (xy 41.794453 38.499999) + (xy 41.870226 38.512) + (xy 41.947527 38.512) + (xy 41.976305 38.517724) + (xy 42.000701 38.534026) + (xy 42.429404 38.962729) + (xy 42.450504 39.004139) + (xy 42.443234 39.050042) + (xy 42.410371 39.082906) + (xy 42.364468 39.090177) + (xy 42.334697 39.085462) + (xy 42.334685 39.085461) + (xy 42.331774 39.085) + (xy 41.870226 39.085) + (xy 41.86731 39.085461) + (xy 41.867307 39.085462) + (xy 41.784514 39.098574) + (xy 41.784507 39.098576) + (xy 41.778668 39.099501) + (xy 41.7734 39.102184) + (xy 41.773394 39.102187) + (xy 41.673587 39.153042) + (xy 41.673583 39.153044) + (xy 41.668311 39.155731) + (xy 41.664124 39.159917) + (xy 41.664121 39.15992) + (xy 41.58492 39.239121) + (xy 41.584917 39.239124) + (xy 41.580731 39.243311) + (xy 41.578043 39.248584) + (xy 41.57804 39.24859) + (xy 41.569709 39.264941) + (xy 41.541997 39.294919) + (xy 41.502706 39.306) + (xy 41.079609 39.306) + (xy 41.062876 39.304114) + (xy 41.05463 39.302232) + (xy 41.049009 39.302653) + (xy 41.049007 39.302653) + (xy 41.007153 39.30579) + (xy 41.001533 39.306) + (xy 40.704917 39.306) + (xy 40.673137 39.298955) + (xy 40.638983 39.283029) + (xy 40.603619 39.266539) + (xy 40.597917 39.265788) + (xy 40.597916 39.265788) + (xy 40.556385 39.26032) + (xy 40.55638 39.260319) + (xy 40.553952 39.26) + (xy 39.401873 39.26) + (xy 39.360095 39.247327) + (xy 39.332398 39.21358) + (xy 39.328117 39.170132) + (xy 39.348696 39.131628) + (xy 39.351477 39.128847) + (xy 39.357821 39.122502) + (xy 39.359766 39.120628) + (xy 39.401844 39.081587) + (xy 39.404664 39.0767) + (xy 39.406137 39.074854) + (xy 39.41175 39.068573) + (xy 39.515826 38.964497) + (xy 39.54781 38.94552) + (xy 39.578081 38.936633) + (xy 39.698018 38.859553) + (xy 39.791382 38.751806) + (xy 39.850608 38.622119) + (xy 39.869061 38.493776) + (xy 39.870133 38.486321) + (xy 39.870898 38.481) + (xy 39.86859 38.464951) + (xy 39.854973 38.370238) + (xy 39.850608 38.339881) + (xy 39.791382 38.210194) + (xy 39.698018 38.102447) + (xy 39.693496 38.099541) + (xy 39.693494 38.099539) + (xy 39.582602 38.028272) + (xy 39.582599 38.02827) + (xy 39.578081 38.025367) + (xy 39.572925 38.023853) + (xy 39.572923 38.023852) + (xy 39.446447 37.986715) + (xy 39.446442 37.986714) + (xy 39.441285 37.9852) + (xy 39.298715 37.9852) + (xy 39.293558 37.986714) + (xy 39.293552 37.986715) + (xy 39.167076 38.023852) + (xy 39.167071 38.023854) + (xy 39.161919 38.025367) + (xy 39.157403 38.028269) + (xy 39.157397 38.028272) + (xy 39.046505 38.099539) + (xy 39.046499 38.099543) + (xy 39.041982 38.102447) + (xy 39.038461 38.106509) + (xy 39.03846 38.106511) + (xy 38.975954 38.178647) + (xy 38.948618 38.210194) + (xy 38.946386 38.21508) + (xy 38.946381 38.215089) + (xy 38.902106 38.312039) + (xy 38.874358 38.344062) + (xy 38.833702 38.356) + (xy 38.829917 38.356) + (xy 38.798137 38.348955) + (xy 38.761902 38.332059) + (xy 38.728619 38.316539) + (xy 38.722917 38.315788) + (xy 38.722916 38.315788) + (xy 38.681385 38.31032) + (xy 38.68138 38.310319) + (xy 38.678952 38.31) + (xy 37.424048 38.31) + (xy 37.42162 38.310319) + (xy 37.421614 38.31032) + (xy 37.380083 38.315788) + (xy 37.380081 38.315788) + (xy 37.374381 38.316539) + (xy 37.369174 38.318966) + (xy 37.369167 38.318969) + (xy 37.271354 38.36458) + (xy 37.271352 38.364581) + (xy 37.265393 38.36736) + (xy 37.260743 38.372009) + (xy 37.26074 38.372012) + (xy 37.185012 38.44774) + (xy 37.185009 38.447743) + (xy 37.18036 38.452393) + (xy 37.177581 38.458352) + (xy 37.17758 38.458354) + (xy 37.131969 38.556167) + (xy 37.131966 38.556174) + (xy 37.129539 38.561381) + (xy 37.128788 38.567081) + (xy 37.128788 38.567083) + (xy 37.124001 38.603447) + (xy 37.123 38.611048) + (xy 37.123 38.990952) + (xy 37.123319 38.99338) + (xy 37.12332 38.993385) + (xy 37.128185 39.030335) + (xy 37.129539 39.040619) + (xy 37.131967 39.045827) + (xy 37.131969 39.045832) + (xy 37.166822 39.120575) + (xy 37.18036 39.149607) + (xy 37.265393 39.23464) + (xy 37.326982 39.263359) + (xy 37.369167 39.28303) + (xy 37.369168 39.28303) + (xy 37.374381 39.285461) + (xy 37.424048 39.292) + (xy 38.676495 39.292) + (xy 38.678952 39.292) + (xy 38.728619 39.285461) + (xy 38.798136 39.253045) + (xy 38.829917 39.246) + (xy 39.020793 39.246) + (xy 39.029211 39.246472) + (xy 39.036792 39.247327) + (xy 39.037671 39.247426) + (xy 39.076137 39.263359) + (xy 39.100231 39.297315) + (xy 39.102566 39.338886) + (xy 39.082426 39.375326) + (xy 39.060012 39.39774) + (xy 39.060009 39.397743) + (xy 39.05536 39.402393) + (xy 39.052581 39.408352) + (xy 39.05258 39.408354) + (xy 39.006969 39.506167) + (xy 39.006966 39.506174) + (xy 39.004539 39.511381) + (xy 39.003788 39.517081) + (xy 39.003788 39.517083) + (xy 39.001188 39.536836) + (xy 38.998 39.561048) + (xy 38.998 39.940952) + (xy 38.998319 39.94338) + (xy 38.99832 39.943385) + (xy 39.002455 39.974792) + (xy 39.004539 39.990619) + (xy 39.006967 39.995827) + (xy 39.006969 39.995832) + (xy 39.046633 40.080892) + (xy 39.05536 40.099607) + (xy 39.060012 40.104259) + (xy 39.082232 40.126479) + (xy 39.102947 40.165672) + (xy 39.097984 40.209724) + (xy 39.069068 40.243326) + (xy 39.026248 40.2548) + (xy 39.005245 40.254014) + (xy 39.00524 40.254014) + (xy 38.999614 40.253804) + (xy 38.994173 40.255261) + (xy 38.991819 40.255527) + (xy 38.983401 40.256) + (xy 38.829917 40.256) + (xy 38.798137 40.248955) + (xy 38.733832 40.21897) + (xy 38.733833 40.21897) + (xy 38.728619 40.216539) + (xy 38.722917 40.215788) + (xy 38.722916 40.215788) + (xy 38.681385 40.21032) + (xy 38.68138 40.210319) + (xy 38.678952 40.21) + (xy 37.424048 40.21) + (xy 37.42162 40.210319) + (xy 37.421614 40.21032) + (xy 37.380083 40.215788) + (xy 37.380081 40.215788) + (xy 37.374381 40.216539) + (xy 37.369174 40.218966) + (xy 37.369167 40.218969) + (xy 37.271354 40.26458) + (xy 37.271352 40.264581) + (xy 37.265393 40.26736) + (xy 37.260743 40.272009) + (xy 37.26074 40.272012) + (xy 37.185012 40.34774) + (xy 37.185009 40.347743) + (xy 37.18036 40.352393) + (xy 37.177581 40.358352) + (xy 37.17758 40.358354) + (xy 37.131969 40.456167) + (xy 37.131966 40.456174) + (xy 37.129539 40.461381) + (xy 37.128788 40.467081) + (xy 37.128788 40.467083) + (xy 37.124487 40.499757) + (xy 37.123 40.511048) + (xy 37.123 40.890952) + (xy 33.662854 40.890952) + (xy 33.565423 40.819044) + (xy 33.565421 40.819043) + (xy 33.560893 40.815701) + (xy 33.555578 40.813841) + (xy 33.555576 40.81384) + (xy 33.439727 40.773303) + (xy 33.439723 40.773302) + (xy 33.435413 40.771794) + (xy 33.430865 40.771367) + (xy 33.430863 40.771367) + (xy 33.407359 40.769163) + (xy 33.407353 40.769162) + (xy 33.405618 40.769) + (xy 32.099382 40.769) + (xy 32.097647 40.769162) + (xy 32.09764 40.769163) + (xy 32.074136 40.771367) + (xy 32.074132 40.771367) + (xy 32.069587 40.771794) + (xy 32.065278 40.773301) + (xy 32.065272 40.773303) + (xy 31.949423 40.81384) + (xy 31.949418 40.813842) + (xy 31.944107 40.815701) + (xy 31.939581 40.819041) + (xy 31.939576 40.819044) + (xy 31.841671 40.891302) + (xy 31.841667 40.891305) + (xy 31.837144 40.894644) + (xy 31.833805 40.899167) + (xy 31.833802 40.899171) + (xy 31.761544 40.997076) + (xy 31.761541 40.997081) + (xy 31.758201 41.001607) + (xy 31.756342 41.006918) + (xy 31.75634 41.006923) + (xy 31.715803 41.122772) + (xy 31.715801 41.122778) + (xy 31.714294 41.127087) + (xy 31.713867 41.131632) + (xy 31.713867 41.131636) + (xy 31.711663 41.15514) + (xy 31.7115 41.156882) + (xy 31.7115 42.463118) + (xy 30.686013 42.463118) + (xy 30.2195 41.996605) + (xy 30.2125 41.992563) + (xy 30.205499 41.996605) + (xy 29.579287 42.622816) + (xy 29.575241 42.630095) + (xy 25 42.630095) + (xy 25 41.813675) + (xy 29.167327 41.813675) + (xy 29.186692 42.010298) + (xy 29.188127 42.017508) + (xy 29.245479 42.206573) + (xy 29.248292 42.213365) + (xy 29.341429 42.387613) + (xy 29.345511 42.393722) + (xy 29.385559 42.442521) + (xy 29.392403 42.447257) + (xy 29.399682 42.443211) + (xy 30.025894 41.817) + (xy 30.029936 41.809999) + (xy 30.395063 41.809999) + (xy 30.399105 41.817) + (xy 31.025316 42.443211) + (xy 31.032596 42.447257) + (xy 31.039439 42.44252) + (xy 31.079488 42.393721) + (xy 31.08357 42.387613) + (xy 31.176707 42.213365) + (xy 31.17952 42.206573) + (xy 31.236872 42.017508) + (xy 31.238307 42.010298) + (xy 31.257673 41.813675) + (xy 31.257673 41.806325) + (xy 31.238307 41.609701) + (xy 31.236872 41.602491) + (xy 31.17952 41.413426) + (xy 31.176707 41.406634) + (xy 31.08357 41.232386) + (xy 31.079488 41.226278) + (xy 31.039439 41.177477) + (xy 31.032595 41.172741) + (xy 31.025316 41.176787) + (xy 30.399105 41.802999) + (xy 30.395063 41.809999) + (xy 30.029936 41.809999) + (xy 30.025894 41.802999) + (xy 29.399682 41.176787) + (xy 29.392403 41.172742) + (xy 29.385558 41.177479) + (xy 29.345508 41.226281) + (xy 29.341431 41.232383) + (xy 29.248292 41.406634) + (xy 29.245479 41.413426) + (xy 29.188127 41.602491) + (xy 29.186692 41.609701) + (xy 29.167327 41.806325) + (xy 29.167327 41.813675) + (xy 25 41.813675) + (xy 25 40.989903) + (xy 29.575242 40.989903) + (xy 29.579287 40.997182) + (xy 30.205499 41.623394) + (xy 30.2125 41.627436) + (xy 30.2195 41.623394) + (xy 30.845711 40.997182) + (xy 30.849757 40.989903) + (xy 30.845021 40.983059) + (xy 30.796222 40.943011) + (xy 30.790113 40.938929) + (xy 30.615865 40.845792) + (xy 30.609073 40.842979) + (xy 30.420008 40.785627) + (xy 30.412798 40.784192) + (xy 30.216175 40.764827) + (xy 30.208825 40.764827) + (xy 30.012201 40.784192) + (xy 30.004991 40.785627) + (xy 29.815926 40.842979) + (xy 29.809134 40.845792) + (xy 29.634883 40.938931) + (xy 29.628781 40.943008) + (xy 29.579979 40.983058) + (xy 29.575242 40.989903) + (xy 25 40.989903) + (xy 25 40.090095) + (xy 29.575241 40.090095) + (xy 29.579977 40.096939) + (xy 29.628778 40.136988) + (xy 29.634886 40.14107) + (xy 29.809134 40.234207) + (xy 29.815926 40.23702) + (xy 30.004991 40.294372) + (xy 30.012201 40.295807) + (xy 30.208825 40.315173) + (xy 30.216175 40.315173) + (xy 30.412798 40.295807) + (xy 30.420008 40.294372) + (xy 30.609073 40.23702) + (xy 30.615865 40.234207) + (xy 30.790113 40.14107) + (xy 30.796221 40.136988) + (xy 30.84502 40.096939) + (xy 30.849757 40.090096) + (xy 30.845711 40.082816) + (xy 30.2195 39.456605) + (xy 30.2125 39.452563) + (xy 30.205499 39.456605) + (xy 29.579287 40.082816) + (xy 29.575241 40.090095) + (xy 25 40.090095) + (xy 25 39.273675) + (xy 29.167327 39.273675) + (xy 29.186692 39.470298) + (xy 29.188127 39.477508) + (xy 29.245479 39.666573) + (xy 29.248292 39.673365) + (xy 29.341429 39.847613) + (xy 29.345511 39.853722) + (xy 29.385559 39.902521) + (xy 29.392403 39.907257) + (xy 29.399682 39.903211) + (xy 30.025894 39.277) + (xy 30.029936 39.27) + (xy 30.395063 39.27) + (xy 30.399105 39.277) + (xy 31.025316 39.903211) + (xy 31.032596 39.907257) + (xy 31.039439 39.90252) + (xy 31.079488 39.853721) + (xy 31.08357 39.847613) + (xy 31.176707 39.673365) + (xy 31.17952 39.666573) + (xy 31.236872 39.477508) + (xy 31.238307 39.470298) + (xy 31.257673 39.273675) + (xy 31.257673 39.27) + (xy 31.706463 39.27) + (xy 31.706825 39.273675) + (xy 31.706825 39.273676) + (xy 31.724841 39.456605) + (xy 31.726562 39.474072) + (xy 31.727632 39.477601) + (xy 31.727633 39.477603) + (xy 31.785016 39.666769) + (xy 31.785018 39.666774) + (xy 31.786088 39.670301) + (xy 31.882752 39.851147) + (xy 31.885096 39.854003) + (xy 31.885098 39.854006) + (xy 32.010496 40.006804) + (xy 32.01284 40.00966) + (xy 32.015695 40.012003) + (xy 32.155184 40.126479) + (xy 32.171353 40.139748) + (xy 32.352199 40.236412) + (xy 32.548428 40.295938) + (xy 32.735297 40.314342) + (xy 32.743727 40.315173) + (xy 32.7525 40.316037) + (xy 32.761273 40.315173) + (xy 32.768039 40.314506) + (xy 32.956572 40.295938) + (xy 33.152801 40.236412) + (xy 33.333647 40.139748) + (xy 33.49216 40.00966) + (xy 33.622248 39.851147) + (xy 33.718912 39.670301) + (xy 33.778438 39.474072) + (xy 33.798537 39.27) + (xy 33.797847 39.262999) + (xy 33.794927 39.233348) + (xy 33.778438 39.065928) + (xy 33.718912 38.869699) + (xy 33.622248 38.688853) + (xy 33.616273 38.681573) + (xy 33.494503 38.533195) + (xy 33.49216 38.53034) + (xy 33.486878 38.526005) + (xy 33.336506 38.402598) + (xy 33.336503 38.402596) + (xy 33.333647 38.400252) + (xy 33.152801 38.303588) + (xy 33.149274 38.302518) + (xy 33.149269 38.302516) + (xy 32.960103 38.245133) + (xy 32.960101 38.245132) + (xy 32.956572 38.244062) + (xy 32.952901 38.2437) + (xy 32.952899 38.2437) + (xy 32.756176 38.224325) + (xy 32.7525 38.223963) + (xy 32.748824 38.224325) + (xy 32.5521 38.2437) + (xy 32.552096 38.2437) + (xy 32.548428 38.244062) + (xy 32.5449 38.245132) + (xy 32.544896 38.245133) + (xy 32.35573 38.302516) + (xy 32.355722 38.302519) + (xy 32.352199 38.303588) + (xy 32.348947 38.305325) + (xy 32.348945 38.305327) + (xy 32.174611 38.39851) + (xy 32.174606 38.398512) + (xy 32.171353 38.400252) + (xy 32.1685 38.402593) + (xy 32.168493 38.402598) + (xy 32.015695 38.527996) + (xy 32.015689 38.528001) + (xy 32.01284 38.53034) + (xy 32.010501 38.533189) + (xy 32.010496 38.533195) + (xy 31.885098 38.685993) + (xy 31.885093 38.686) + (xy 31.882752 38.688853) + (xy 31.881012 38.692106) + (xy 31.88101 38.692111) + (xy 31.792634 38.857452) + (xy 31.786088 38.869699) + (xy 31.785019 38.873222) + (xy 31.785016 38.87323) + (xy 31.727633 39.062396) + (xy 31.726562 39.065928) + (xy 31.7262 39.069596) + (xy 31.7262 39.0696) + (xy 31.707144 39.263083) + (xy 31.706463 39.27) + (xy 31.257673 39.27) + (xy 31.257673 39.266325) + (xy 31.238307 39.069701) + (xy 31.236872 39.062491) + (xy 31.17952 38.873426) + (xy 31.176707 38.866634) + (xy 31.08357 38.692386) + (xy 31.079488 38.686278) + (xy 31.039439 38.637477) + (xy 31.032595 38.632741) + (xy 31.025316 38.636787) + (xy 30.399105 39.262999) + (xy 30.395063 39.27) + (xy 30.029936 39.27) + (xy 30.025894 39.262999) + (xy 29.399682 38.636787) + (xy 29.392403 38.632742) + (xy 29.385558 38.637479) + (xy 29.345508 38.686281) + (xy 29.341431 38.692383) + (xy 29.248292 38.866634) + (xy 29.245479 38.873426) + (xy 29.188127 39.062491) + (xy 29.186692 39.069701) + (xy 29.167327 39.266325) + (xy 29.167327 39.273675) + (xy 25 39.273675) + (xy 25 38.449903) + (xy 29.575242 38.449903) + (xy 29.579287 38.457182) + (xy 30.205499 39.083394) + (xy 30.2125 39.087436) + (xy 30.2195 39.083394) + (xy 30.845711 38.457182) + (xy 30.849757 38.449903) + (xy 30.845021 38.443059) + (xy 30.796222 38.403011) + (xy 30.790113 38.398929) + (xy 30.615865 38.305792) + (xy 30.609073 38.302979) + (xy 30.420008 38.245627) + (xy 30.412798 38.244192) + (xy 30.216175 38.224827) + (xy 30.208825 38.224827) + (xy 30.012201 38.244192) + (xy 30.004991 38.245627) + (xy 29.815926 38.302979) + (xy 29.809134 38.305792) + (xy 29.634883 38.398931) + (xy 29.628781 38.403008) + (xy 29.579979 38.443058) + (xy 29.575242 38.449903) + (xy 25 38.449903) + (xy 25 37.550095) + (xy 29.575241 37.550095) + (xy 29.579977 37.556939) + (xy 29.628778 37.596988) + (xy 29.634886 37.60107) + (xy 29.809134 37.694207) + (xy 29.815926 37.69702) + (xy 30.004991 37.754372) + (xy 30.012201 37.755807) + (xy 30.208825 37.775173) + (xy 30.216175 37.775173) + (xy 30.412798 37.755807) + (xy 30.420008 37.754372) + (xy 30.609073 37.69702) + (xy 30.615865 37.694207) + (xy 30.790113 37.60107) + (xy 30.796221 37.596988) + (xy 30.84502 37.556939) + (xy 30.849757 37.550096) + (xy 30.845711 37.542816) + (xy 30.2195 36.916605) + (xy 30.212499 36.912563) + (xy 30.205499 36.916605) + (xy 29.579287 37.542816) + (xy 29.575241 37.550095) + (xy 25 37.550095) + (xy 25 36.733675) + (xy 29.167327 36.733675) + (xy 29.186692 36.930298) + (xy 29.188127 36.937508) + (xy 29.245479 37.126573) + (xy 29.248292 37.133365) + (xy 29.341429 37.307613) + (xy 29.345511 37.313722) + (xy 29.385559 37.362521) + (xy 29.392403 37.367257) + (xy 29.399682 37.363211) + (xy 30.025894 36.737) + (xy 30.029936 36.729999) + (xy 30.395063 36.729999) + (xy 30.399105 36.737) + (xy 31.025316 37.363211) + (xy 31.032596 37.367257) + (xy 31.039439 37.36252) + (xy 31.079488 37.313721) + (xy 31.08357 37.307613) + (xy 31.176707 37.133365) + (xy 31.17952 37.126573) + (xy 31.236872 36.937508) + (xy 31.238307 36.930298) + (xy 31.257673 36.733675) + (xy 31.257673 36.73) + (xy 31.706463 36.73) + (xy 31.706825 36.733675) + (xy 31.706825 36.733676) + (xy 31.725471 36.923) + (xy 31.726562 36.934072) + (xy 31.727632 36.937601) + (xy 31.727633 36.937603) + (xy 31.785016 37.126769) + (xy 31.785018 37.126774) + (xy 31.786088 37.130301) + (xy 31.882752 37.311147) + (xy 31.885096 37.314003) + (xy 31.885098 37.314006) + (xy 31.971441 37.419215) + (xy 32.01284 37.46966) + (xy 32.015695 37.472003) + (xy 32.148988 37.581394) + (xy 32.171353 37.599748) + (xy 32.352199 37.696412) + (xy 32.548428 37.755938) + (xy 32.71673 37.772514) + (xy 32.743727 37.775173) + (xy 32.7525 37.776037) + (xy 32.761273 37.775173) + (xy 32.768039 37.774506) + (xy 32.956572 37.755938) + (xy 33.152801 37.696412) + (xy 33.333647 37.599748) + (xy 33.49216 37.46966) + (xy 33.622248 37.311147) + (xy 33.718912 37.130301) + (xy 33.778438 36.934072) + (xy 33.798537 36.73) + (xy 33.797847 36.722999) + (xy 33.791646 36.660032) + (xy 33.778438 36.525928) + (xy 33.718912 36.329699) + (xy 33.622248 36.148853) + (xy 33.617774 36.143402) + (xy 33.50613 36.007362) + (xy 33.49216 35.99034) + (xy 33.487988 35.986916) + (xy 33.336506 35.862598) + (xy 33.336503 35.862596) + (xy 33.333647 35.860252) + (xy 33.152801 35.763588) + (xy 33.149274 35.762518) + (xy 33.149269 35.762516) + (xy 32.960103 35.705133) + (xy 32.960101 35.705132) + (xy 32.956572 35.704062) + (xy 32.952901 35.7037) + (xy 32.952899 35.7037) + (xy 32.756176 35.684325) + (xy 32.7525 35.683963) + (xy 32.748824 35.684325) + (xy 32.5521 35.7037) + (xy 32.552096 35.7037) + (xy 32.548428 35.704062) + (xy 32.5449 35.705132) + (xy 32.544896 35.705133) + (xy 32.35573 35.762516) + (xy 32.355722 35.762519) + (xy 32.352199 35.763588) + (xy 32.348947 35.765325) + (xy 32.348945 35.765327) + (xy 32.174611 35.85851) + (xy 32.174606 35.858512) + (xy 32.171353 35.860252) + (xy 32.1685 35.862593) + (xy 32.168493 35.862598) + (xy 32.015695 35.987996) + (xy 32.015689 35.988001) + (xy 32.01284 35.99034) + (xy 32.010501 35.993189) + (xy 32.010496 35.993195) + (xy 31.885098 36.145993) + (xy 31.885093 36.146) + (xy 31.882752 36.148853) + (xy 31.881012 36.152106) + (xy 31.88101 36.152111) + (xy 31.792726 36.31728) + (xy 31.786088 36.329699) + (xy 31.785019 36.333222) + (xy 31.785016 36.33323) + (xy 31.728999 36.517893) + (xy 31.726562 36.525928) + (xy 31.7262 36.529596) + (xy 31.7262 36.5296) + (xy 31.706996 36.724587) + (xy 31.706463 36.73) + (xy 31.257673 36.73) + (xy 31.257673 36.726325) + (xy 31.238307 36.529701) + (xy 31.236872 36.522491) + (xy 31.17952 36.333426) + (xy 31.176707 36.326634) + (xy 31.08357 36.152386) + (xy 31.079488 36.146278) + (xy 31.039439 36.097477) + (xy 31.032595 36.092741) + (xy 31.025316 36.096787) + (xy 30.399105 36.722999) + (xy 30.395063 36.729999) + (xy 30.029936 36.729999) + (xy 30.025894 36.722999) + (xy 29.399682 36.096787) + (xy 29.392403 36.092742) + (xy 29.385558 36.097479) + (xy 29.345508 36.146281) + (xy 29.341431 36.152383) + (xy 29.248292 36.326634) + (xy 29.245479 36.333426) + (xy 29.188127 36.522491) + (xy 29.186692 36.529701) + (xy 29.167327 36.726325) + (xy 29.167327 36.733675) + (xy 25 36.733675) + (xy 25 35.909903) + (xy 29.575242 35.909903) + (xy 29.579287 35.917182) + (xy 30.205499 36.543394) + (xy 30.2125 36.547436) + (xy 30.2195 36.543394) + (xy 30.845711 35.917182) + (xy 30.849757 35.909903) + (xy 30.845021 35.903059) + (xy 30.796222 35.863011) + (xy 30.790113 35.858929) + (xy 30.615865 35.765792) + (xy 30.609073 35.762979) + (xy 30.420008 35.705627) + (xy 30.412798 35.704192) + (xy 30.216175 35.684827) + (xy 30.208825 35.684827) + (xy 30.012201 35.704192) + (xy 30.004991 35.705627) + (xy 29.815926 35.762979) + (xy 29.809134 35.765792) + (xy 29.634883 35.858931) + (xy 29.628781 35.863008) + (xy 29.579979 35.903058) + (xy 29.575242 35.909903) + (xy 25 35.909903) + (xy 25 35.010095) + (xy 29.575241 35.010095) + (xy 29.579977 35.016939) + (xy 29.628778 35.056988) + (xy 29.634886 35.06107) + (xy 29.809134 35.154207) + (xy 29.815926 35.15702) + (xy 30.004991 35.214372) + (xy 30.012201 35.215807) + (xy 30.208825 35.235173) + (xy 30.216175 35.235173) + (xy 30.412798 35.215807) + (xy 30.420008 35.214372) + (xy 30.609073 35.15702) + (xy 30.615865 35.154207) + (xy 30.790113 35.06107) + (xy 30.796221 35.056988) + (xy 30.84502 35.016939) + (xy 30.849757 35.010096) + (xy 30.845711 35.002816) + (xy 30.2195 34.376605) + (xy 30.2125 34.372563) + (xy 30.205499 34.376605) + (xy 29.579287 35.002816) + (xy 29.575241 35.010095) + (xy 25 35.010095) + (xy 25 34.193675) + (xy 29.167327 34.193675) + (xy 29.186692 34.390298) + (xy 29.188127 34.397508) + (xy 29.245479 34.586573) + (xy 29.248292 34.593365) + (xy 29.341429 34.767613) + (xy 29.345511 34.773722) + (xy 29.385559 34.822521) + (xy 29.392403 34.827257) + (xy 29.399682 34.823211) + (xy 30.025894 34.197) + (xy 30.029936 34.19) + (xy 30.395063 34.19) + (xy 30.399105 34.197) + (xy 31.025316 34.823211) + (xy 31.032596 34.827257) + (xy 31.039439 34.82252) + (xy 31.079488 34.773721) + (xy 31.08357 34.767613) + (xy 31.176707 34.593365) + (xy 31.17952 34.586573) + (xy 31.236872 34.397508) + (xy 31.238307 34.390298) + (xy 31.257673 34.193675) + (xy 31.257673 34.19) + (xy 31.706463 34.19) + (xy 31.706825 34.193675) + (xy 31.706825 34.193676) + (xy 31.724841 34.376605) + (xy 31.726562 34.394072) + (xy 31.727632 34.397601) + (xy 31.727633 34.397603) + (xy 31.785016 34.586769) + (xy 31.785018 34.586774) + (xy 31.786088 34.590301) + (xy 31.882752 34.771147) + (xy 31.885096 34.774003) + (xy 31.885098 34.774006) + (xy 32.010496 34.926804) + (xy 32.01284 34.92966) + (xy 32.015695 34.932003) + (xy 32.144962 35.03809) + (xy 32.171353 35.059748) + (xy 32.352199 35.156412) + (xy 32.548428 35.215938) + (xy 32.735297 35.234342) + (xy 32.743869 35.235187) + (xy 32.7525 35.236037) + (xy 32.761131 35.235187) + (xy 32.768039 35.234506) + (xy 32.956572 35.215938) + (xy 33.152801 35.156412) + (xy 33.333647 35.059748) + (xy 33.49216 34.92966) + (xy 33.622248 34.771147) + (xy 33.718912 34.590301) + (xy 33.778438 34.394072) + (xy 33.798537 34.19) + (xy 33.797847 34.182999) + (xy 33.793767 34.141572) + (xy 33.778438 33.985928) + (xy 33.718912 33.789699) + (xy 33.622248 33.608853) + (xy 33.599239 33.580817) + (xy 33.494503 33.453195) + (xy 33.49216 33.45034) + (xy 33.489304 33.447996) + (xy 33.336506 33.322598) + (xy 33.336503 33.322596) + (xy 33.333647 33.320252) + (xy 33.152801 33.223588) + (xy 33.149274 33.222518) + (xy 33.149269 33.222516) + (xy 32.960103 33.165133) + (xy 32.960101 33.165132) + (xy 32.956572 33.164062) + (xy 32.952901 33.1637) + (xy 32.952899 33.1637) + (xy 32.756176 33.144325) + (xy 32.7525 33.143963) + (xy 32.748824 33.144325) + (xy 32.5521 33.1637) + (xy 32.552096 33.1637) + (xy 32.548428 33.164062) + (xy 32.5449 33.165132) + (xy 32.544896 33.165133) + (xy 32.35573 33.222516) + (xy 32.355722 33.222519) + (xy 32.352199 33.223588) + (xy 32.348947 33.225325) + (xy 32.348945 33.225327) + (xy 32.174611 33.31851) + (xy 32.174606 33.318512) + (xy 32.171353 33.320252) + (xy 32.1685 33.322593) + (xy 32.168493 33.322598) + (xy 32.015695 33.447996) + (xy 32.015689 33.448001) + (xy 32.01284 33.45034) + (xy 32.010501 33.453189) + (xy 32.010496 33.453195) + (xy 31.885098 33.605993) + (xy 31.885093 33.606) + (xy 31.882752 33.608853) + (xy 31.881012 33.612106) + (xy 31.88101 33.612111) + (xy 31.788921 33.784398) + (xy 31.786088 33.789699) + (xy 31.785019 33.793222) + (xy 31.785016 33.79323) + (xy 31.727633 33.982396) + (xy 31.726562 33.985928) + (xy 31.7262 33.989596) + (xy 31.7262 33.9896) + (xy 31.706825 34.186324) + (xy 31.706463 34.19) + (xy 31.257673 34.19) + (xy 31.257673 34.186325) + (xy 31.238307 33.989701) + (xy 31.236872 33.982491) + (xy 31.17952 33.793426) + (xy 31.176707 33.786634) + (xy 31.08357 33.612386) + (xy 31.079488 33.606278) + (xy 31.039439 33.557477) + (xy 31.032595 33.552741) + (xy 31.025316 33.556787) + (xy 30.399105 34.182999) + (xy 30.395063 34.19) + (xy 30.029936 34.19) + (xy 30.025894 34.182999) + (xy 29.399682 33.556787) + (xy 29.392403 33.552742) + (xy 29.385558 33.557479) + (xy 29.345508 33.606281) + (xy 29.341431 33.612383) + (xy 29.248292 33.786634) + (xy 29.245479 33.793426) + (xy 29.188127 33.982491) + (xy 29.186692 33.989701) + (xy 29.167327 34.186325) + (xy 29.167327 34.193675) + (xy 25 34.193675) + (xy 25 33.369903) + (xy 29.575242 33.369903) + (xy 29.579287 33.377182) + (xy 30.205499 34.003394) + (xy 30.2125 34.007436) + (xy 30.2195 34.003394) + (xy 30.845711 33.377182) + (xy 30.849757 33.369903) + (xy 30.845021 33.363059) + (xy 30.796222 33.323011) + (xy 30.790113 33.318929) + (xy 30.615865 33.225792) + (xy 30.609073 33.222979) + (xy 30.420008 33.165627) + (xy 30.412798 33.164192) + (xy 30.216175 33.144827) + (xy 30.208825 33.144827) + (xy 30.012201 33.164192) + (xy 30.004991 33.165627) + (xy 29.815926 33.222979) + (xy 29.809134 33.225792) + (xy 29.634883 33.318931) + (xy 29.628781 33.323008) + (xy 29.579979 33.363058) + (xy 29.575242 33.369903) + (xy 25 33.369903) + (xy 25 28.0752) + (xy 25.010075 28.0376) + (xy 25.0376 28.010075) + (xy 25.0752 28) + (xy 29.992595 28) + (xy 30 28) + (xy 30.949 27.051) + (xy 57.023 27.051) + (xy 57.023 30.607) + (xy 57.6458 30.607) + (xy 57.6834 30.617075) + (xy 57.710925 30.6446) + (xy 57.721 30.6822) + (xy 57.721 30.71683) + (xy 57.720714 30.723383) + (xy 57.717323 30.762143) + (xy 57.719024 30.768493) + (xy 57.719025 30.768498) + (xy 57.727394 30.799731) + (xy 57.728813 30.806133) + (xy 57.734425 30.837961) + (xy 57.734426 30.837963) + (xy 57.735568 30.84444) + (xy 57.738856 30.850136) + (xy 57.741107 30.856319) + (xy 57.741098 30.856321) + (xy 57.741857 30.858153) + (xy 57.741865 30.85815) + (xy 57.744644 30.864111) + (xy 57.746348 30.870466) + (xy 57.750121 30.875854) + (xy 57.768662 30.902335) + (xy 57.772185 30.907866) + (xy 57.788348 30.935861) + (xy 57.788353 30.935867) + (xy 57.79164 30.94156) + (xy 57.796678 30.945787) + (xy 57.821448 30.966572) + (xy 57.826284 30.971004) + (xy 58.025917 31.170637) + (xy 58.206974 31.351693) + (xy 58.223276 31.376089) + (xy 58.229 31.404867) + (xy 58.229 31.5728) + (xy 58.218925 31.6104) + (xy 58.1914 31.637925) + (xy 58.155548 31.647531) + (xy 58.155559 31.647638) + (xy 58.154913 31.647701) + (xy 58.1538 31.648) + (xy 58.148188 31.648) + (xy 58.144563 31.64872) + (xy 58.144563 31.648721) + (xy 58.099738 31.657637) + (xy 58.099736 31.657637) + (xy 58.092475 31.659082) + (xy 58.086321 31.663193) + (xy 58.086316 31.663196) + (xy 58.035454 31.697182) + (xy 58.035451 31.697184) + (xy 58.029297 31.701297) + (xy 58.025184 31.707451) + (xy 58.025182 31.707454) + (xy 57.991196 31.758316) + (xy 57.991193 31.758321) + (xy 57.987082 31.764475) + (xy 57.985637 31.771736) + (xy 57.985637 31.771738) + (xy 57.97711 31.814606) + (xy 57.976 31.820188) + (xy 57.976 33.457812) + (xy 57.976721 33.461436) + (xy 57.98431 33.499592) + (xy 57.987082 33.513525) + (xy 57.991194 33.51968) + (xy 57.991196 33.519683) + (xy 58.025182 33.570545) + (xy 58.029297 33.576703) + (xy 58.035454 33.580817) + (xy 58.086316 33.614803) + (xy 58.086317 33.614803) + (xy 58.092475 33.618918) + (xy 58.148188 33.63) + (xy 58.1538 33.63) + (xy 58.154913 33.630298) + (xy 58.155559 33.630362) + (xy 58.155548 33.630468) + (xy 58.1914 33.640075) + (xy 58.218925 33.6676) + (xy 58.229 33.7052) + (xy 58.229 33.89183) + (xy 58.228714 33.898384) + (xy 58.226122 33.928012) + (xy 58.225323 33.937143) + (xy 58.227024 33.943493) + (xy 58.227025 33.943498) + (xy 58.235394 33.974731) + (xy 58.236813 33.981133) + (xy 58.242425 34.012961) + (xy 58.242426 34.012963) + (xy 58.243568 34.01944) + (xy 58.246856 34.025136) + (xy 58.249107 34.031319) + (xy 58.249098 34.031321) + (xy 58.249857 34.033153) + (xy 58.249865 34.03315) + (xy 58.252644 34.039111) + (xy 58.254348 34.045466) + (xy 58.260453 34.054185) + (xy 58.276662 34.077335) + (xy 58.280185 34.082866) + (xy 58.296348 34.110861) + (xy 58.296353 34.110867) + (xy 58.29964 34.11656) + (xy 58.329448 34.141572) + (xy 58.334284 34.146004) + (xy 59.325995 35.137715) + (xy 59.330427 35.142551) + (xy 59.342956 35.157483) + (xy 59.35544 35.17236) + (xy 59.389134 35.191813) + (xy 59.394658 35.195332) + (xy 59.426534 35.217652) + (xy 59.432886 35.219353) + (xy 59.438852 35.222136) + (xy 59.438848 35.222144) + (xy 59.440678 35.222902) + (xy 59.440682 35.222893) + (xy 59.446861 35.225142) + (xy 59.45256 35.228432) + (xy 59.490882 35.235188) + (xy 59.497275 35.236606) + (xy 59.534857 35.246677) + (xy 59.573616 35.243285) + (xy 59.58017 35.243) + (xy 67.174569 35.243) + (xy 67.205808 35.249795) + (xy 67.231401 35.268954) + (xy 67.246099 35.285916) + (xy 67.261382 35.303553) + (xy 67.265904 35.306459) + (xy 67.265905 35.30646) + (xy 67.376797 35.377727) + (xy 67.381319 35.380633) + (xy 67.518115 35.4208) + (xy 67.655304 35.4208) + (xy 67.660685 35.4208) + (xy 67.797481 35.380633) + (xy 67.917418 35.303553) + (xy 68.010782 35.195806) + (xy 68.070008 35.066119) + (xy 68.090298 34.925) + (xy 68.078807 34.84508) + (xy 68.088117 34.796779) + (xy 68.125293 34.764566) + (xy 68.174426 34.762225) + (xy 68.254715 34.7858) + (xy 68.391904 34.7858) + (xy 68.397285 34.7858) + (xy 68.534081 34.745633) + (xy 68.654018 34.668553) + (xy 68.747382 34.560806) + (xy 68.806608 34.431119) + (xy 68.823196 34.315746) + (xy 72.4985 34.315746) + (xy 72.498962 34.321618) + (xy 72.512984 34.410151) + (xy 72.516597 34.421271) + (xy 72.570976 34.527994) + (xy 72.577851 34.537456) + (xy 72.662543 34.622148) + (xy 72.672005 34.629023) + (xy 72.778728 34.683402) + (xy 72.789848 34.687015) + (xy 72.878381 34.701037) + (xy 72.884254 34.7015) + (xy 73.002098 34.7015) + (xy 73.009907 34.699407) + (xy 73.012 34.691598) + (xy 73.266 34.691598) + (xy 73.268092 34.699407) + (xy 73.275902 34.7015) + (xy 73.393746 34.7015) + (xy 73.399618 34.701037) + (xy 73.488151 34.687015) + (xy 73.499271 34.683402) + (xy 73.605994 34.629023) + (xy 73.615456 34.622148) + (xy 73.700148 34.537456) + (xy 73.707023 34.527994) + (xy 73.761402 34.421271) + (xy 73.765015 34.410151) + (xy 73.779037 34.321618) + (xy 73.7795 34.315746) + (xy 73.7795 34.172902) + (xy 73.777407 34.165092) + (xy 73.769598 34.163) + (xy 73.275902 34.163) + (xy 73.268092 34.165092) + (xy 73.266 34.172902) + (xy 73.266 34.691598) + (xy 73.012 34.691598) + (xy 73.012 34.172902) + (xy 73.009907 34.165092) + (xy 73.002098 34.163) + (xy 72.508402 34.163) + (xy 72.500592 34.165092) + (xy 72.4985 34.172902) + (xy 72.4985 34.315746) + (xy 68.823196 34.315746) + (xy 68.826898 34.29) + (xy 68.806608 34.148881) + (xy 68.747382 34.019194) + (xy 68.721738 33.9896) + (xy 68.693366 33.956857) + (xy 68.654018 33.911447) + (xy 68.649496 33.908541) + (xy 68.649494 33.908539) + (xy 68.634804 33.899098) + (xy 72.4985 33.899098) + (xy 72.500592 33.906907) + (xy 72.508402 33.909) + (xy 73.002098 33.909) + (xy 73.009907 33.906907) + (xy 73.012 33.899098) + (xy 73.266 33.899098) + (xy 73.268092 33.906907) + (xy 73.275902 33.909) + (xy 73.769598 33.909) + (xy 73.777407 33.906907) + (xy 73.7795 33.899098) + (xy 73.7795 33.756254) + (xy 73.779037 33.750381) + (xy 73.765015 33.661848) + (xy 73.761402 33.650728) + (xy 73.707023 33.544005) + (xy 73.700148 33.534543) + (xy 73.615456 33.449851) + (xy 73.605994 33.442976) + (xy 73.499271 33.388597) + (xy 73.488151 33.384984) + (xy 73.399618 33.370962) + (xy 73.393746 33.3705) + (xy 73.275902 33.3705) + (xy 73.268092 33.372592) + (xy 73.266 33.380402) + (xy 73.266 33.899098) + (xy 73.012 33.899098) + (xy 73.012 33.380402) + (xy 73.009907 33.372592) + (xy 73.002098 33.3705) + (xy 72.884254 33.3705) + (xy 72.878381 33.370962) + (xy 72.789848 33.384984) + (xy 72.778728 33.388597) + (xy 72.672005 33.442976) + (xy 72.662543 33.449851) + (xy 72.577851 33.534543) + (xy 72.570976 33.544005) + (xy 72.516597 33.650728) + (xy 72.512984 33.661848) + (xy 72.498962 33.750381) + (xy 72.4985 33.756254) + (xy 72.4985 33.899098) + (xy 68.634804 33.899098) + (xy 68.538602 33.837272) + (xy 68.538599 33.83727) + (xy 68.534081 33.834367) + (xy 68.528925 33.832853) + (xy 68.528923 33.832852) + (xy 68.402447 33.795715) + (xy 68.402442 33.795714) + (xy 68.397285 33.7942) + (xy 68.254715 33.7942) + (xy 68.249559 33.795713) + (xy 68.249551 33.795715) + (xy 68.147908 33.825561) + (xy 68.098773 33.82322) + (xy 68.061597 33.791006) + (xy 68.052288 33.742704) + (xy 68.064133 33.660326) + (xy 68.064133 33.660321) + (xy 68.064898 33.655) + (xy 68.064133 33.649679) + (xy 68.064133 33.649674) + (xy 68.052288 33.567295) + (xy 68.061597 33.518992) + (xy 68.098773 33.486779) + (xy 68.147906 33.484438) + (xy 68.254715 33.5158) + (xy 68.391904 33.5158) + (xy 68.397285 33.5158) + (xy 68.534081 33.475633) + (xy 68.654018 33.398553) + (xy 68.747382 33.290806) + (xy 68.806608 33.161119) + (xy 68.826898 33.02) + (xy 68.822877 32.992037) + (xy 68.807373 32.884202) + (xy 68.806608 32.878881) + (xy 68.747382 32.749194) + (xy 68.654018 32.641447) + (xy 68.649496 32.638541) + (xy 68.649494 32.638539) + (xy 68.538602 32.567272) + (xy 68.538599 32.56727) + (xy 68.534081 32.564367) + (xy 68.528925 32.562853) + (xy 68.528923 32.562852) + (xy 68.402447 32.525715) + (xy 68.402442 32.525714) + (xy 68.397285 32.5242) + (xy 68.254715 32.5242) + (xy 68.249558 32.525714) + (xy 68.249552 32.525715) + (xy 68.123076 32.562852) + (xy 68.123071 32.562854) + (xy 68.117919 32.564367) + (xy 68.113403 32.567269) + (xy 68.113397 32.567272) + (xy 68.002505 32.638539) + (xy 68.002499 32.638543) + (xy 67.997982 32.641447) + (xy 67.994461 32.645509) + (xy 67.99446 32.645511) + (xy 67.968001 32.676046) + (xy 67.942408 32.695205) + (xy 67.911169 32.702) + (xy 64.803831 32.702) + (xy 64.772592 32.695205) + (xy 64.746999 32.676046) + (xy 64.732776 32.659633) + (xy 64.717018 32.641447) + (xy 64.712496 32.638541) + (xy 64.712494 32.638539) + (xy 64.601602 32.567272) + (xy 64.601599 32.56727) + (xy 64.597081 32.564367) + (xy 64.591925 32.562853) + (xy 64.591923 32.562852) + (xy 64.465447 32.525715) + (xy 64.465442 32.525714) + (xy 64.460285 32.5242) + (xy 64.317715 32.5242) + (xy 64.312558 32.525714) + (xy 64.312552 32.525715) + (xy 64.186076 32.562852) + (xy 64.186071 32.562854) + (xy 64.180919 32.564367) + (xy 64.176403 32.567269) + (xy 64.176397 32.567272) + (xy 64.065505 32.638539) + (xy 64.065499 32.638543) + (xy 64.060982 32.641447) + (xy 64.057461 32.645509) + (xy 64.05746 32.645511) + (xy 63.97114 32.745128) + (xy 63.971136 32.745133) + (xy 63.967618 32.749194) + (xy 63.965385 32.754082) + (xy 63.965382 32.754088) + (xy 63.910626 32.873987) + (xy 63.910624 32.873993) + (xy 63.908392 32.878881) + (xy 63.907627 32.884195) + (xy 63.907626 32.884202) + (xy 63.889997 33.00682) + (xy 63.888102 33.02) + (xy 63.888867 33.025321) + (xy 63.895765 33.073298) + (xy 63.889734 33.115239) + (xy 63.861986 33.147262) + (xy 63.82133 33.1592) + (xy 63.682715 33.1592) + (xy 63.677558 33.160714) + (xy 63.677552 33.160715) + (xy 63.551076 33.197852) + (xy 63.551071 33.197854) + (xy 63.545919 33.199367) + (xy 63.541403 33.202269) + (xy 63.541397 33.202272) + (xy 63.430505 33.273539) + (xy 63.430499 33.273543) + (xy 63.425982 33.276447) + (xy 63.422461 33.280509) + (xy 63.42246 33.280511) + (xy 63.33614 33.380128) + (xy 63.336136 33.380133) + (xy 63.332618 33.384194) + (xy 63.330385 33.389082) + (xy 63.330382 33.389088) + (xy 63.275626 33.508987) + (xy 63.275624 33.508993) + (xy 63.273392 33.513881) + (xy 63.272627 33.519195) + (xy 63.272626 33.519202) + (xy 63.256644 33.630362) + (xy 63.253102 33.655) + (xy 63.253867 33.660321) + (xy 63.272626 33.790797) + (xy 63.272627 33.790802) + (xy 63.273392 33.796119) + (xy 63.275624 33.801008) + (xy 63.275626 33.801012) + (xy 63.305105 33.865561) + (xy 63.309781 33.914529) + (xy 63.283187 33.955911) + (xy 63.236701 33.972) + (xy 60.360868 33.972) + (xy 60.33209 33.966276) + (xy 60.307694 33.949974) + (xy 60.157026 33.799306) + (xy 60.140724 33.77491) + (xy 60.135 33.746132) + (xy 60.135 33.7052) + (xy 60.145075 33.6676) + (xy 60.1726 33.640075) + (xy 60.208451 33.630468) + (xy 60.208441 33.630362) + (xy 60.209086 33.630298) + (xy 60.2102 33.63) + (xy 60.212116 33.63) + (xy 60.215812 33.63) + (xy 60.271525 33.618918) + (xy 60.334703 33.576703) + (xy 60.376918 33.513525) + (xy 60.378362 33.506261) + (xy 60.381198 33.499417) + (xy 60.382403 33.499916) + (xy 60.404293 33.463394) + (xy 60.452 33.446324) + (xy 60.499707 33.463394) + (xy 60.521596 33.499916) + (xy 60.522802 33.499417) + (xy 60.525637 33.506261) + (xy 60.527082 33.513525) + (xy 60.531194 33.51968) + (xy 60.531196 33.519683) + (xy 60.565182 33.570545) + (xy 60.569297 33.576703) + (xy 60.575454 33.580817) + (xy 60.626316 33.614803) + (xy 60.626317 33.614803) + (xy 60.632475 33.618918) + (xy 60.688188 33.63) + (xy 61.482116 33.63) + (xy 61.485812 33.63) + (xy 61.541525 33.618918) + (xy 61.604703 33.576703) + (xy 61.646918 33.513525) + (xy 61.648362 33.506261) + (xy 61.651198 33.499417) + (xy 61.652403 33.499916) + (xy 61.674293 33.463394) + (xy 61.722 33.446324) + (xy 61.769707 33.463394) + (xy 61.791596 33.499916) + (xy 61.792802 33.499417) + (xy 61.795637 33.506261) + (xy 61.797082 33.513525) + (xy 61.801194 33.51968) + (xy 61.801196 33.519683) + (xy 61.835182 33.570545) + (xy 61.839297 33.576703) + (xy 61.845454 33.580817) + (xy 61.896316 33.614803) + (xy 61.896317 33.614803) + (xy 61.902475 33.618918) + (xy 61.958188 33.63) + (xy 62.752116 33.63) + (xy 62.755812 33.63) + (xy 62.811525 33.618918) + (xy 62.874703 33.576703) + (xy 62.916918 33.513525) + (xy 62.928 33.457812) + (xy 62.928 32.410746) + (xy 70.2125 32.410746) + (xy 70.212962 32.416618) + (xy 70.226984 32.505151) + (xy 70.230597 32.516271) + (xy 70.284976 32.622994) + (xy 70.291851 32.632456) + (xy 70.376543 32.717148) + (xy 70.386005 32.724023) + (xy 70.492728 32.778402) + (xy 70.503848 32.782015) + (xy 70.592381 32.796037) + (xy 70.598254 32.7965) + (xy 70.716098 32.7965) + (xy 70.723907 32.794407) + (xy 70.726 32.786598) + (xy 70.98 32.786598) + (xy 70.982092 32.794407) + (xy 70.989902 32.7965) + (xy 71.107746 32.7965) + (xy 71.113618 32.796037) + (xy 71.202151 32.782015) + (xy 71.213271 32.778402) + (xy 71.319994 32.724023) + (xy 71.329456 32.717148) + (xy 71.414148 32.632456) + (xy 71.421023 32.622994) + (xy 71.475402 32.516271) + (xy 71.479015 32.505151) + (xy 71.493037 32.416618) + (xy 71.4935 32.410746) + (xy 71.4935 32.267902) + (xy 71.491407 32.260092) + (xy 71.483598 32.258) + (xy 70.989902 32.258) + (xy 70.982092 32.260092) + (xy 70.98 32.267902) + (xy 70.98 32.786598) + (xy 70.726 32.786598) + (xy 70.726 32.267902) + (xy 70.723907 32.260092) + (xy 70.716098 32.258) + (xy 70.222402 32.258) + (xy 70.214592 32.260092) + (xy 70.2125 32.267902) + (xy 70.2125 32.410746) + (xy 62.928 32.410746) + (xy 62.928 31.994098) + (xy 70.2125 31.994098) + (xy 70.214592 32.001907) + (xy 70.222402 32.004) + (xy 70.716098 32.004) + (xy 70.723907 32.001907) + (xy 70.726 31.994098) + (xy 70.98 31.994098) + (xy 70.982092 32.001907) + (xy 70.989902 32.004) + (xy 71.483598 32.004) + (xy 71.491407 32.001907) + (xy 71.4935 31.994098) + (xy 71.4935 31.851254) + (xy 71.493037 31.845381) + (xy 71.479015 31.756848) + (xy 71.475402 31.745728) + (xy 71.421023 31.639005) + (xy 71.414148 31.629543) + (xy 71.329456 31.544851) + (xy 71.319994 31.537976) + (xy 71.213271 31.483597) + (xy 71.202151 31.479984) + (xy 71.113618 31.465962) + (xy 71.107746 31.4655) + (xy 70.989902 31.4655) + (xy 70.982092 31.467592) + (xy 70.98 31.475402) + (xy 70.98 31.994098) + (xy 70.726 31.994098) + (xy 70.726 31.475402) + (xy 70.723907 31.467592) + (xy 70.716098 31.4655) + (xy 70.598254 31.4655) + (xy 70.592381 31.465962) + (xy 70.503848 31.479984) + (xy 70.492728 31.483597) + (xy 70.386005 31.537976) + (xy 70.376543 31.544851) + (xy 70.291851 31.629543) + (xy 70.284976 31.639005) + (xy 70.230597 31.745728) + (xy 70.226984 31.756848) + (xy 70.212962 31.845381) + (xy 70.2125 31.851254) + (xy 70.2125 31.994098) + (xy 62.928 31.994098) + (xy 62.928 31.820188) + (xy 62.916918 31.764475) + (xy 62.911718 31.756693) + (xy 62.878817 31.707454) + (xy 62.874703 31.701297) + (xy 62.868545 31.697182) + (xy 62.817683 31.663196) + (xy 62.81768 31.663194) + (xy 62.811525 31.659082) + (xy 62.804261 31.657637) + (xy 62.802013 31.65719) + (xy 62.799481 31.655657) + (xy 62.797417 31.654802) + (xy 62.797547 31.654486) + (xy 62.75813 31.63062) + (xy 62.741497 31.582092) + (xy 62.759853 31.534189) + (xy 62.778382 31.512806) + (xy 62.837608 31.383119) + (xy 62.857898 31.242) + (xy 62.856821 31.234513) + (xy 62.859902 31.200066) + (xy 62.878079 31.170639) + (xy 63.204724 30.843994) + (xy 63.209537 30.839583) + (xy 63.23936 30.81456) + (xy 63.25882 30.780853) + (xy 63.262319 30.77536) + (xy 63.284652 30.743466) + (xy 63.286354 30.73711) + (xy 63.289136 30.731147) + (xy 63.289145 30.731151) + (xy 63.289901 30.729324) + (xy 63.289891 30.729321) + (xy 63.29214 30.72314) + (xy 63.295432 30.71744) + (xy 63.302187 30.679121) + (xy 63.303603 30.672733) + (xy 63.306283 30.662731) + (xy 63.333143 30.622539) + (xy 63.37892 30.607) + (xy 63.871098 30.607) + (xy 63.881 30.607) + (xy 63.881 27.162491) + (xy 65.9895 27.162491) + (xy 65.989773 27.167016) + (xy 66.004093 27.284949) + (xy 66.006253 27.293712) + (xy 66.062488 27.441992) + (xy 66.066687 27.449993) + (xy 66.156773 27.580505) + (xy 66.162762 27.587265) + (xy 66.281468 27.692429) + (xy 66.288897 27.697557) + (xy 66.429319 27.771256) + (xy 66.43776 27.774457) + (xy 66.541886 27.800122) + (xy 66.550448 27.799604) + (xy 66.553 27.791416) + (xy 66.807 27.791416) + (xy 66.809551 27.799604) + (xy 66.818113 27.800122) + (xy 66.922239 27.774457) + (xy 66.93068 27.771256) + (xy 67.071102 27.697557) + (xy 67.078531 27.692429) + (xy 67.134433 27.642905) + (xy 67.172985 27.624849) + (xy 67.215163 27.630618) + (xy 67.24745 27.658363) + (xy 67.2595 27.699193) + (xy 67.2595 28.228066) + (xy 67.260221 28.235386) + (xy 67.269107 28.280063) + (xy 67.274668 28.293488) + (xy 67.308543 28.344186) + (xy 67.318813 28.354456) + (xy 67.369511 28.388331) + (xy 67.382936 28.393892) + (xy 67.427613 28.402778) + (xy 67.434934 28.4035) + (xy 67.613098 28.4035) + (xy 67.620907 28.401407) + (xy 67.623 28.393598) + (xy 67.623 27.624902) + (xy 67.620907 27.617092) + (xy 67.613098 27.615) + (xy 67.2947 27.615) + (xy 67.2571 27.604925) + (xy 67.229575 27.5774) + (xy 67.2195 27.5398) + (xy 67.2195 27.4362) + (xy 67.229575 27.3986) + (xy 67.2571 27.371075) + (xy 67.2947 27.361) + (xy 67.613098 27.361) + (xy 67.620907 27.358907) + (xy 67.623 27.351098) + (xy 67.623 26.582399) + (xy 67.620907 26.574592) + (xy 67.6131 26.5725) + (xy 67.4457 26.5725) + (xy 67.4081 26.562425) + (xy 67.380575 26.5349) + (xy 67.3705 26.4973) + (xy 67.3705 26.043) + (xy 67.529534 26.043) + (xy 67.530177 26.047884) + (xy 67.543594 26.1498) + (xy 67.549313 26.193236) + (xy 67.551197 26.197784) + (xy 67.605417 26.328684) + (xy 67.605419 26.328688) + (xy 67.607302 26.333233) + (xy 67.6103 26.33714) + (xy 67.686233 26.436098) + (xy 67.696629 26.449646) + (xy 67.696631 26.449649) + (xy 67.699549 26.453451) + (xy 67.698792 26.454031) + (xy 67.707086 26.470848) + (xy 67.735446 26.480996) + (xy 67.819767 26.545698) + (xy 67.824318 26.547583) + (xy 67.830577 26.550176) + (xy 67.864326 26.577873) + (xy 67.877 26.619652) + (xy 67.877 28.393598) + (xy 67.879092 28.401407) + (xy 67.886902 28.4035) + (xy 68.0298 28.4035) + (xy 68.0674 28.413575) + (xy 68.094925 28.4411) + (xy 68.105 28.4787) + (xy 68.105 30.039793) + (xy 68.104527 30.048212) + (xy 68.100919 30.080229) + (xy 68.100919 30.080233) + (xy 68.100289 30.085827) + (xy 68.101335 30.09136) + (xy 68.101336 30.091362) + (xy 68.110947 30.14216) + (xy 68.111418 30.144931) + (xy 68.119034 30.195462) + (xy 68.119967 30.201647) + (xy 68.122411 30.206722) + (xy 68.12311 30.208988) + (xy 68.123221 30.209435) + (xy 68.123394 30.209853) + (xy 68.124181 30.212102) + (xy 68.125228 30.217634) + (xy 68.132462 30.231321) + (xy 68.152022 30.268332) + (xy 68.153281 30.270825) + (xy 68.178171 30.322509) + (xy 68.182 30.326636) + (xy 68.18334 30.328601) + (xy 68.183575 30.328992) + (xy 68.183863 30.329339) + (xy 68.185278 30.331256) + (xy 68.18791 30.336235) + (xy 68.191894 30.340219) + (xy 68.228458 30.376783) + (xy 68.230409 30.378808) + (xy 68.269413 30.420844) + (xy 68.274291 30.42366) + (xy 68.276148 30.425141) + (xy 68.282435 30.43076) + (xy 68.879682 31.028007) + (xy 68.885301 31.034294) + (xy 68.89946 31.052048) + (xy 68.908905 31.063892) + (xy 68.915122 31.068131) + (xy 68.956266 31.096183) + (xy 68.958559 31.09781) + (xy 68.988191 31.119679) + (xy 69.004716 31.131875) + (xy 69.010034 31.133735) + (xy 69.012135 31.134846) + (xy 69.012524 31.135081) + (xy 69.012957 31.13526) + (xy 69.015085 31.136285) + (xy 69.019741 31.139459) + (xy 69.074533 31.15636) + (xy 69.077176 31.157229) + (xy 69.082313 31.159027) + (xy 69.126015 31.17432) + (xy 69.126018 31.17432) + (xy 69.131335 31.176181) + (xy 69.136964 31.176391) + (xy 69.139293 31.176832) + (xy 69.139737 31.176942) + (xy 69.140205 31.176986) + (xy 69.142538 31.177337) + (xy 69.147927 31.179) + (xy 69.205293 31.179) + (xy 69.208103 31.179052) + (xy 69.265386 31.181196) + (xy 69.270827 31.179738) + (xy 69.273181 31.179473) + (xy 69.281599 31.179) + (xy 71.8828 31.179) + (xy 71.9204 31.189075) + (xy 71.947925 31.2166) + (xy 71.958 31.2542) + (xy 71.958 31.483055) + (xy 71.949804 31.517195) + (xy 71.930258 31.540078) + (xy 71.930434 31.540254) + (xy 71.928207 31.54248) + (xy 71.928201 31.542486) + (xy 71.92625 31.544437) + (xy 71.926247 31.54444) + (xy 71.841443 31.629244) + (xy 71.84144 31.629247) + (xy 71.837254 31.633434) + (xy 71.834567 31.638706) + (xy 71.834565 31.63871) + (xy 71.780115 31.745573) + (xy 71.780112 31.745579) + (xy 71.777429 31.750847) + (xy 71.776504 31.756686) + (xy 71.776502 31.756693) + (xy 71.766329 31.820928) + (xy 71.762 31.848263) + (xy 71.762 31.851215) + (xy 71.762 31.851216) + (xy 71.762 32.410781) + (xy 71.762 32.410793) + (xy 71.762001 32.413736) + (xy 71.762462 32.41665) + (xy 71.762463 32.416656) + (xy 71.776478 32.505151) + (xy 71.777429 32.511153) + (xy 71.780114 32.516423) + (xy 71.780115 32.516425) + (xy 71.831935 32.618128) + (xy 71.837254 32.628566) + (xy 71.930434 32.721746) + (xy 71.976324 32.745128) + (xy 72.041254 32.778212) + (xy 72.047847 32.781571) + (xy 72.053692 32.782496) + (xy 72.053693 32.782497) + (xy 72.064351 32.784185) + (xy 72.145263 32.797) + (xy 72.660736 32.796999) + (xy 72.758153 32.781571) + (xy 72.875566 32.721746) + (xy 72.968746 32.628566) + (xy 73.028571 32.511153) + (xy 73.044 32.413737) + (xy 73.043999 32.083266) + (xy 73.3445 32.083266) + (xy 73.34482 32.088159) + (xy 73.350086 32.128156) + (xy 73.353268 32.139073) + (xy 73.397311 32.233524) + (xy 73.404749 32.244146) + (xy 73.477853 32.31725) + (xy 73.488475 32.324688) + (xy 73.582926 32.368731) + (xy 73.593843 32.371913) + (xy 73.63384 32.377179) + (xy 73.638734 32.3775) + (xy 73.678098 32.3775) + (xy 73.685907 32.375407) + (xy 73.688 32.367598) + (xy 73.688 32.013902) + (xy 73.685907 32.006092) + (xy 73.678098 32.004) + (xy 73.354402 32.004) + (xy 73.346592 32.006092) + (xy 73.3445 32.013902) + (xy 73.3445 32.083266) + (xy 73.043999 32.083266) + (xy 73.043999 31.848264) + (xy 73.028571 31.750847) + (xy 73.023094 31.740098) + (xy 73.3445 31.740098) + (xy 73.346592 31.747907) + (xy 73.354402 31.75) + (xy 73.678098 31.75) + (xy 73.685907 31.747907) + (xy 73.688 31.740098) + (xy 73.688 31.386402) + (xy 73.685907 31.378592) + (xy 73.678098 31.3765) + (xy 73.638734 31.3765) + (xy 73.63384 31.37682) + (xy 73.593843 31.382086) + (xy 73.582926 31.385268) + (xy 73.488475 31.429311) + (xy 73.477853 31.436749) + (xy 73.404749 31.509853) + (xy 73.397311 31.520475) + (xy 73.353268 31.614926) + (xy 73.350086 31.625843) + (xy 73.34482 31.66584) + (xy 73.3445 31.670734) + (xy 73.3445 31.740098) + (xy 73.023094 31.740098) + (xy 72.968746 31.633434) + (xy 72.875566 31.540254) + (xy 72.875566 31.540253) + (xy 72.875741 31.540078) + (xy 72.856196 31.517195) + (xy 72.848 31.483055) + (xy 72.848 31.2542) + (xy 72.858075 31.2166) + (xy 72.8856 31.189075) + (xy 72.9232 31.179) + (xy 73.338927 31.179) + (xy 73.376793 31.179) + (xy 73.385212 31.179473) + (xy 73.422827 31.183711) + (xy 73.440796 31.18031) + (xy 73.454777 31.179) + (xy 74.900793 31.179) + (xy 74.909212 31.179473) + (xy 74.946827 31.183711) + (xy 75.003177 31.173048) + (xy 75.005933 31.17258) + (xy 75.062647 31.164033) + (xy 75.067731 31.161583) + (xy 75.069984 31.160889) + (xy 75.070436 31.160777) + (xy 75.070878 31.160594) + (xy 75.073087 31.15982) + (xy 75.078634 31.158772) + (xy 75.129348 31.131967) + (xy 75.131825 31.130718) + (xy 75.183509 31.105829) + (xy 75.187641 31.101993) + (xy 75.189594 31.100663) + (xy 75.189991 31.100423) + (xy 75.190355 31.100122) + (xy 75.192246 31.098726) + (xy 75.197235 31.09609) + (xy 75.237822 31.055501) + (xy 75.239766 31.053628) + (xy 75.281844 31.014587) + (xy 75.284664 31.0097) + (xy 75.286137 31.007854) + (xy 75.291742 31.001581) + (xy 75.727301 30.566023) + (xy 75.751695 30.549724) + (xy 75.780473 30.544) + (xy 78.504527 30.544) + (xy 78.533305 30.549724) + (xy 78.557701 30.566026) + (xy 79.542974 31.551299) + (xy 79.559276 31.575695) + (xy 79.565 31.604473) + (xy 79.565 36.188127) + (xy 79.559276 36.216905) + (xy 79.542974 36.241301) + (xy 79.514901 36.269374) + (xy 79.490505 36.285676) + (xy 79.461727 36.2914) + (xy 78.912388 36.2914) + (xy 78.908763 36.29212) + (xy 78.908763 36.292121) + (xy 78.863938 36.301037) + (xy 78.863936 36.301037) + (xy 78.856675 36.302482) + (xy 78.850521 36.306593) + (xy 78.850516 36.306596) + (xy 78.799654 36.340582) + (xy 78.799651 36.340584) + (xy 78.793497 36.344697) + (xy 78.789384 36.350851) + (xy 78.789382 36.350854) + (xy 78.755396 36.401716) + (xy 78.755393 36.401721) + (xy 78.751282 36.407875) + (xy 78.749837 36.415136) + (xy 78.749837 36.415138) + (xy 78.745433 36.437281) + (xy 78.7402 36.463588) + (xy 78.7402 37.501212) + (xy 78.740921 37.504836) + (xy 78.748475 37.542816) + (xy 78.751282 37.556925) + (xy 78.755394 37.56308) + (xy 78.755396 37.563083) + (xy 78.789382 37.613945) + (xy 78.793497 37.620103) + (xy 78.799654 37.624217) + (xy 78.850516 37.658203) + (xy 78.850517 37.658203) + (xy 78.856675 37.662318) + (xy 78.912388 37.6734) + (xy 79.946316 37.6734) + (xy 79.950012 37.6734) + (xy 80.005725 37.662318) + (xy 80.068903 37.620103) + (xy 80.111118 37.556925) + (xy 80.1222 37.501212) + (xy 80.1222 37.338) + (xy 82.049102 37.338) + (xy 82.049867 37.343321) + (xy 82.068626 37.473797) + (xy 82.068627 37.473802) + (xy 82.069392 37.479119) + (xy 82.071624 37.484008) + (xy 82.071626 37.484012) + (xy 82.126382 37.603911) + (xy 82.126383 37.603913) + (xy 82.128618 37.608806) + (xy 82.132138 37.612869) + (xy 82.13214 37.612871) + (xy 82.138407 37.620103) + (xy 82.221982 37.716553) + (xy 82.226504 37.719459) + (xy 82.226505 37.71946) + (xy 82.337397 37.790727) + (xy 82.341919 37.793633) + (xy 82.478715 37.8338) + (xy 82.615904 37.8338) + (xy 82.621285 37.8338) + (xy 82.758081 37.793633) + (xy 82.878018 37.716553) + (xy 82.971382 37.608806) + (xy 83.030608 37.479119) + (xy 83.047065 37.364657) + (xy 83.064668 37.326114) + (xy 83.100314 37.303206) + (xy 83.142686 37.303206) + (xy 83.178332 37.326114) + (xy 83.195934 37.364657) + (xy 83.196691 37.369918) + (xy 83.211626 37.473797) + (xy 83.211627 37.473802) + (xy 83.212392 37.479119) + (xy 83.214624 37.484008) + (xy 83.214626 37.484012) + (xy 83.269382 37.603911) + (xy 83.269383 37.603913) + (xy 83.271618 37.608806) + (xy 83.275138 37.612869) + (xy 83.27514 37.612871) + (xy 83.281407 37.620103) + (xy 83.364982 37.716553) + (xy 83.369504 37.719459) + (xy 83.369505 37.71946) + (xy 83.480397 37.790727) + (xy 83.484919 37.793633) + (xy 83.621715 37.8338) + (xy 83.758904 37.8338) + (xy 83.764285 37.8338) + (xy 83.901081 37.793633) + (xy 84.021018 37.716553) + (xy 84.106533 37.617861) + (xy 84.125762 37.601985) + (xy 84.15456 37.58536) + (xy 84.179583 37.555537) + (xy 84.183994 37.550724) + (xy 91.652724 30.081994) + (xy 91.657537 30.077583) + (xy 91.68736 30.05256) + (xy 91.70682 30.018853) + (xy 91.710319 30.01336) + (xy 91.732652 29.981466) + (xy 91.734354 29.97511) + (xy 91.737136 29.969147) + (xy 91.737145 29.969151) + (xy 91.737901 29.967324) + (xy 91.737891 29.967321) + (xy 91.74014 29.96114) + (xy 91.743432 29.95544) + (xy 91.750187 29.917121) + (xy 91.751605 29.910728) + (xy 91.761677 29.873143) + (xy 91.758285 29.834383) + (xy 91.758 29.82783) + (xy 91.758 26.56017) + (xy 91.758286 26.553616) + (xy 91.760347 26.53006) + (xy 91.761677 26.514857) + (xy 91.751606 26.477275) + (xy 91.750187 26.470875) + (xy 91.743432 26.43256) + (xy 91.740142 26.426861) + (xy 91.737893 26.420682) + (xy 91.737902 26.420678) + (xy 91.737144 26.418848) + (xy 91.737136 26.418852) + (xy 91.734353 26.412886) + (xy 91.732652 26.406534) + (xy 91.710332 26.374658) + (xy 91.706809 26.369127) + (xy 91.690651 26.34114) + (xy 91.69065 26.341139) + (xy 91.68736 26.33544) + (xy 91.657551 26.310427) + (xy 91.652715 26.305995) + (xy 90.788004 25.441284) + (xy 90.783572 25.436448) + (xy 90.762787 25.411678) + (xy 90.75856 25.40664) + (xy 90.752867 25.403353) + (xy 90.752861 25.403348) + (xy 90.724866 25.387185) + (xy 90.719335 25.383662) + (xy 90.700534 25.370498) + (xy 90.687466 25.361348) + (xy 90.681111 25.359644) + (xy 90.67515 25.356865) + (xy 90.675153 25.356857) + (xy 90.673321 25.356098) + (xy 90.673319 25.356107) + (xy 90.667136 25.353856) + (xy 90.66144 25.350568) + (xy 90.654963 25.349426) + (xy 90.654961 25.349425) + (xy 90.623133 25.343813) + (xy 90.616731 25.342394) + (xy 90.585498 25.334025) + (xy 90.585493 25.334024) + (xy 90.579143 25.332323) + (xy 90.572591 25.332896) + (xy 90.572589 25.332896) + (xy 90.540384 25.335714) + (xy 90.53383 25.336) + (xy 89.824868 25.336) + (xy 89.79609 25.330276) + (xy 89.771694 25.313974) + (xy 89.729746 25.272026) + (xy 89.708452 25.229318) + (xy 89.717149 25.182394) + (xy 89.752334 25.150153) + (xy 89.775787 25.139711) + (xy 89.775787 25.13971) + (xy 89.779385 25.138109) + (xy 89.926659 25.031108) + (xy 90.048468 24.895826) + (xy 90.139488 24.738174) + (xy 90.195742 24.565043) + (xy 90.21477 24.384) + (xy 90.195742 24.202957) + (xy 90.142179 24.038107) + (xy 90.140706 24.033574) + (xy 90.140705 24.033572) + (xy 90.139488 24.029826) + (xy 90.048468 23.872174) + (xy 89.926659 23.736892) + (xy 89.779385 23.629891) + (xy 89.775791 23.628291) + (xy 89.775788 23.628289) + (xy 89.61668 23.55745) + (xy 89.616676 23.557448) + (xy 89.613083 23.555849) + (xy 89.609232 23.55503) + (xy 89.609231 23.55503) + (xy 89.43887 23.518818) + (xy 89.438866 23.518817) + (xy 89.43502 23.518) + (xy 89.25298 23.518) + (xy 89.249134 23.518817) + (xy 89.249129 23.518818) + (xy 89.078768 23.55503) + (xy 89.078764 23.555031) + (xy 89.074917 23.555849) + (xy 89.071326 23.557447) + (xy 89.071319 23.55745) + (xy 88.912211 23.628289) + (xy 88.912203 23.628293) + (xy 88.908615 23.629891) + (xy 88.905431 23.632204) + (xy 88.905428 23.632206) + (xy 88.825623 23.690188) + (xy 88.761341 23.736892) + (xy 88.758706 23.739817) + (xy 88.758703 23.739821) + (xy 88.642171 23.869242) + (xy 88.642166 23.869247) + (xy 88.639532 23.872174) + (xy 88.637562 23.875584) + (xy 88.637559 23.87559) + (xy 88.550482 24.026413) + (xy 88.548512 24.029826) + (xy 88.547297 24.033564) + (xy 88.547293 24.033574) + (xy 88.493475 24.199209) + (xy 88.493473 24.199216) + (xy 88.492258 24.202957) + (xy 88.491846 24.206871) + (xy 88.491846 24.206874) + (xy 88.486798 24.254907) + (xy 88.47323 24.384) + (xy 88.473642 24.38792) + (xy 88.491834 24.561015) + (xy 88.492258 24.565043) + (xy 88.493474 24.568785) + (xy 88.493475 24.56879) + (xy 88.547293 24.734425) + (xy 88.547296 24.734432) + (xy 88.548512 24.738174) + (xy 88.558535 24.755534) + (xy 88.636114 24.889907) + (xy 88.639532 24.895826) + (xy 88.761341 25.031108) + (xy 88.908615 25.138109) + (xy 88.912208 25.139708) + (xy 88.912212 25.139711) + (xy 88.981386 25.170509) + (xy 89.013868 25.198251) + (xy 89.026 25.239208) + (xy 89.026 25.31883) + (xy 89.025714 25.325384) + (xy 89.02296 25.356867) + (xy 89.022323 25.364143) + (xy 89.024024 25.370493) + (xy 89.024025 25.370498) + (xy 89.032394 25.401731) + (xy 89.033813 25.408133) + (xy 89.039425 25.439961) + (xy 89.039426 25.439963) + (xy 89.040568 25.44644) + (xy 89.043856 25.452136) + (xy 89.046107 25.458319) + (xy 89.046098 25.458321) + (xy 89.046857 25.460153) + (xy 89.046865 25.46015) + (xy 89.049644 25.466111) + (xy 89.051348 25.472466) + (xy 89.058243 25.482313) + (xy 89.073662 25.504335) + (xy 89.077185 25.509866) + (xy 89.093348 25.537861) + (xy 89.093353 25.537867) + (xy 89.09664 25.54356) + (xy 89.101678 25.547787) + (xy 89.126448 25.568572) + (xy 89.131284 25.573004) + (xy 89.273906 25.715626) + (xy 89.294487 25.754129) + (xy 89.290208 25.797578) + (xy 89.262511 25.831327) + (xy 89.220732 25.844) + (xy 86.014868 25.844) + (xy 85.98609 25.838276) + (xy 85.961693 25.821974) + (xy 85.684025 25.544305) + (xy 85.667724 25.519909) + (xy 85.662 25.491131) + (xy 85.662 25.239208) + (xy 85.674132 25.198251) + (xy 85.706614 25.170509) + (xy 85.775787 25.139711) + (xy 85.775787 25.13971) + (xy 85.779385 25.138109) + (xy 85.926659 25.031108) + (xy 86.048468 24.895826) + (xy 86.139488 24.738174) + (xy 86.195742 24.565043) + (xy 86.200318 24.521509) + (xy 86.488185 24.521509) + (xy 86.492337 24.561015) + (xy 86.493969 24.568691) + (xy 86.547755 24.734223) + (xy 86.550941 24.741379) + (xy 86.637966 24.892113) + (xy 86.642578 24.898461) + (xy 86.759042 25.027806) + (xy 86.764863 25.033048) + (xy 86.905683 25.13536) + (xy 86.912458 25.139272) + (xy 87.071474 25.21007) + (xy 87.078926 25.212492) + (xy 87.206006 25.239504) + (xy 87.214506 25.23876) + (xy 87.217 25.230603) + (xy 87.471 25.230603) + (xy 87.473493 25.23876) + (xy 87.481993 25.239504) + (xy 87.609073 25.212492) + (xy 87.616525 25.21007) + (xy 87.775541 25.139272) + (xy 87.782316 25.13536) + (xy 87.923136 25.033048) + (xy 87.928957 25.027806) + (xy 88.045421 24.898461) + (xy 88.050033 24.892113) + (xy 88.137058 24.741379) + (xy 88.140244 24.734223) + (xy 88.19403 24.568691) + (xy 88.195662 24.561015) + (xy 88.199814 24.521509) + (xy 88.198366 24.513298) + (xy 88.19035 24.511) + (xy 87.480902 24.511) + (xy 87.473092 24.513092) + (xy 87.471 24.520902) + (xy 87.471 25.230603) + (xy 87.217 25.230603) + (xy 87.217 24.520902) + (xy 87.214907 24.513092) + (xy 87.207098 24.511) + (xy 86.49765 24.511) + (xy 86.489633 24.513298) + (xy 86.488185 24.521509) + (xy 86.200318 24.521509) + (xy 86.21477 24.384) + (xy 86.200317 24.24649) + (xy 86.488185 24.24649) + (xy 86.489633 24.254701) + (xy 86.49765 24.257) + (xy 87.207098 24.257) + (xy 87.214907 24.254907) + (xy 87.217 24.247098) + (xy 87.471 24.247098) + (xy 87.473092 24.254907) + (xy 87.480902 24.257) + (xy 88.19035 24.257) + (xy 88.198366 24.254701) + (xy 88.199814 24.24649) + (xy 88.195662 24.206984) + (xy 88.19403 24.199308) + (xy 88.140244 24.033776) + (xy 88.137058 24.02662) + (xy 88.050033 23.875886) + (xy 88.045421 23.869538) + (xy 87.928957 23.740193) + (xy 87.923136 23.734951) + (xy 87.782316 23.632639) + (xy 87.775541 23.628727) + (xy 87.616525 23.557929) + (xy 87.609073 23.555507) + (xy 87.481993 23.528495) + (xy 87.473493 23.529239) + (xy 87.471 23.537397) + (xy 87.471 24.247098) + (xy 87.217 24.247098) + (xy 87.217 23.537397) + (xy 87.214506 23.529239) + (xy 87.206006 23.528495) + (xy 87.078926 23.555507) + (xy 87.071474 23.557928) + (xy 86.912461 23.628726) + (xy 86.90568 23.632642) + (xy 86.764868 23.734948) + (xy 86.75904 23.740195) + (xy 86.642578 23.869538) + (xy 86.637966 23.875886) + (xy 86.550941 24.02662) + (xy 86.547755 24.033776) + (xy 86.493969 24.199308) + (xy 86.492337 24.206984) + (xy 86.488185 24.24649) + (xy 86.200317 24.24649) + (xy 86.195742 24.202957) + (xy 86.142179 24.038107) + (xy 86.140706 24.033574) + (xy 86.140705 24.033572) + (xy 86.139488 24.029826) + (xy 86.048468 23.872174) + (xy 85.926659 23.736892) + (xy 85.779385 23.629891) + (xy 85.775791 23.628291) + (xy 85.775788 23.628289) + (xy 85.61668 23.55745) + (xy 85.616676 23.557448) + (xy 85.613083 23.555849) + (xy 85.609232 23.55503) + (xy 85.609231 23.55503) + (xy 85.43887 23.518818) + (xy 85.438866 23.518817) + (xy 85.43502 23.518) + (xy 85.25298 23.518) + (xy 85.249134 23.518817) + (xy 85.249129 23.518818) + (xy 85.078768 23.55503) + (xy 85.078764 23.555031) + (xy 85.074917 23.555849) + (xy 85.071326 23.557447) + (xy 85.071319 23.55745) + (xy 84.912211 23.628289) + (xy 84.912203 23.628293) + (xy 84.908615 23.629891) + (xy 84.905431 23.632204) + (xy 84.905428 23.632206) + (xy 84.825623 23.690188) + (xy 84.761341 23.736892) + (xy 84.758706 23.739817) + (xy 84.758703 23.739821) + (xy 84.642171 23.869242) + (xy 84.642166 23.869247) + (xy 84.639532 23.872174) + (xy 84.637562 23.875584) + (xy 84.637559 23.87559) + (xy 84.550482 24.026413) + (xy 84.548512 24.029826) + (xy 84.547297 24.033564) + (xy 84.547293 24.033574) + (xy 84.493475 24.199209) + (xy 84.493473 24.199216) + (xy 84.492258 24.202957) + (xy 84.491846 24.206871) + (xy 84.491846 24.206874) + (xy 84.486798 24.254907) + (xy 84.47323 24.384) + (xy 84.473642 24.38792) + (xy 84.491834 24.561015) + (xy 84.492258 24.565043) + (xy 84.493474 24.568785) + (xy 84.493475 24.56879) + (xy 84.547293 24.734425) + (xy 84.547296 24.734432) + (xy 84.548512 24.738174) + (xy 84.558535 24.755534) + (xy 84.636114 24.889907) + (xy 84.639532 24.895826) + (xy 84.761341 25.031108) + (xy 84.908615 25.138109) + (xy 84.912208 25.139708) + (xy 84.912212 25.139711) + (xy 84.981386 25.170509) + (xy 85.013868 25.198251) + (xy 85.026 25.239208) + (xy 85.026 25.63683) + (xy 85.025714 25.643384) + (xy 85.02432 25.659322) + (xy 85.022323 25.682143) + (xy 85.024024 25.688493) + (xy 85.024025 25.688498) + (xy 85.032394 25.719731) + (xy 85.033813 25.726133) + (xy 85.039425 25.757961) + (xy 85.039426 25.757963) + (xy 85.040568 25.76444) + (xy 85.043856 25.770136) + (xy 85.046107 25.776319) + (xy 85.046098 25.776321) + (xy 85.046857 25.778153) + (xy 85.046865 25.77815) + (xy 85.049644 25.784111) + (xy 85.051348 25.790466) + (xy 85.055121 25.795854) + (xy 85.073662 25.822335) + (xy 85.077185 25.827866) + (xy 85.093348 25.855861) + (xy 85.093353 25.855867) + (xy 85.09664 25.86156) + (xy 85.101678 25.865787) + (xy 85.126448 25.886572) + (xy 85.131284 25.891004) + (xy 85.61499 26.374709) + (xy 85.619421 26.379544) + (xy 85.64444 26.40936) + (xy 85.67815 26.428822) + (xy 85.683664 26.432335) + (xy 85.715534 26.454651) + (xy 85.721888 26.456353) + (xy 85.727853 26.459135) + (xy 85.727848 26.459143) + (xy 85.729675 26.4599) + (xy 85.729679 26.459892) + (xy 85.735862 26.462142) + (xy 85.74156 26.465432) + (xy 85.779885 26.472189) + (xy 85.78627 26.473604) + (xy 85.823857 26.483677) + (xy 85.862616 26.480285) + (xy 85.86917 26.48) + (xy 90.134132 26.48) + (xy 90.16291 26.485724) + (xy 90.187306 26.502026) + (xy 90.591974 26.906694) + (xy 90.608276 26.93109) + (xy 90.614 26.959868) + (xy 90.614 29.428132) + (xy 90.608276 29.45691) + (xy 90.591974 29.481306) + (xy 83.964306 36.108974) + (xy 83.93991 36.125276) + (xy 83.911132 36.131) + (xy 83.45617 36.131) + (xy 83.449616 36.130714) + (xy 83.41741 36.127896) + (xy 83.417408 36.127896) + (xy 83.410857 36.127323) + (xy 83.404507 36.129024) + (xy 83.404499 36.129025) + (xy 83.373266 36.137394) + (xy 83.366865 36.138813) + (xy 83.335037 36.144425) + (xy 83.335032 36.144426) + (xy 83.32856 36.145568) + (xy 83.322866 36.148854) + (xy 83.316681 36.151106) + (xy 83.316678 36.151099) + (xy 83.314842 36.15186) + (xy 83.314846 36.151867) + (xy 83.308888 36.154644) + (xy 83.302534 36.156348) + (xy 83.297147 36.160119) + (xy 83.297142 36.160122) + (xy 83.270655 36.178667) + (xy 83.265128 36.182189) + (xy 83.237133 36.198352) + (xy 83.237129 36.198355) + (xy 83.23144 36.20164) + (xy 83.227215 36.206673) + (xy 83.227211 36.206678) + (xy 83.206421 36.231454) + (xy 83.20199 36.236288) + (xy 82.618103 36.820176) + (xy 82.59371 36.836476) + (xy 82.564932 36.8422) + (xy 82.478715 36.8422) + (xy 82.473558 36.843714) + (xy 82.473552 36.843715) + (xy 82.347076 36.880852) + (xy 82.347071 36.880854) + (xy 82.341919 36.882367) + (xy 82.337403 36.885269) + (xy 82.337397 36.885272) + (xy 82.226505 36.956539) + (xy 82.226499 36.956543) + (xy 82.221982 36.959447) + (xy 82.218461 36.963509) + (xy 82.21846 36.963511) + (xy 82.13214 37.063128) + (xy 82.132136 37.063133) + (xy 82.128618 37.067194) + (xy 82.126385 37.072082) + (xy 82.126382 37.072088) + (xy 82.071626 37.191987) + (xy 82.071624 37.191993) + (xy 82.069392 37.196881) + (xy 82.068627 37.202195) + (xy 82.068626 37.202202) + (xy 82.051911 37.318462) + (xy 82.049102 37.338) + (xy 80.1222 37.338) + (xy 80.1222 36.951874) + (xy 80.127924 36.923096) + (xy 80.144225 36.8987) + (xy 80.30401 36.738914) + (xy 80.310299 36.733294) + (xy 80.312996 36.731143) + (xy 80.339892 36.709695) + (xy 80.372215 36.662285) + (xy 80.373779 36.660081) + (xy 80.407875 36.613884) + (xy 80.409736 36.608563) + (xy 80.410845 36.606466) + (xy 80.411079 36.606077) + (xy 80.411264 36.605631) + (xy 80.41228 36.60352) + (xy 80.415459 36.598859) + (xy 80.432379 36.544002) + (xy 80.433223 36.541438) + (xy 80.452181 36.487265) + (xy 80.452391 36.481628) + (xy 80.452831 36.479306) + (xy 80.452943 36.478854) + (xy 80.452987 36.478387) + (xy 80.453337 36.476061) + (xy 80.455 36.470673) + (xy 80.455 36.413307) + (xy 80.455053 36.410496) + (xy 80.455599 36.395902) + (xy 80.457196 36.353214) + (xy 80.455738 36.347772) + (xy 80.455473 36.345419) + (xy 80.455 36.337001) + (xy 80.455 32.699441) + (xy 81.192501 32.699441) + (xy 81.192821 32.704336) + (xy 81.198276 32.745779) + (xy 81.201461 32.756705) + (xy 81.246993 32.854349) + (xy 81.254431 32.864971) + (xy 81.330028 32.940568) + (xy 81.34065 32.948006) + (xy 81.438298 32.99354) + (xy 81.449215 32.996722) + (xy 81.490663 33.002179) + (xy 81.495557 33.0025) + (xy 82.221098 33.0025) + (xy 82.228907 33.000407) + (xy 82.231 32.992598) + (xy 82.231 32.992597) + (xy 82.485 32.992597) + (xy 82.487092 33.000406) + (xy 82.494902 33.002499) + (xy 83.220441 33.002499) + (xy 83.225336 33.002178) + (xy 83.266779 32.996723) + (xy 83.277705 32.993538) + (xy 83.375349 32.948006) + (xy 83.385971 32.940568) + (xy 83.461568 32.864971) + (xy 83.469006 32.854349) + (xy 83.51454 32.756701) + (xy 83.517722 32.745784) + (xy 83.523179 32.704336) + (xy 83.5235 32.699443) + (xy 83.5235 32.648902) + (xy 83.521407 32.641092) + (xy 83.513598 32.639) + (xy 82.494902 32.639) + (xy 82.487092 32.641092) + (xy 82.485 32.648902) + (xy 82.485 32.992597) + (xy 82.231 32.992597) + (xy 82.231 32.648902) + (xy 82.228907 32.641092) + (xy 82.221098 32.639) + (xy 81.202403 32.639) + (xy 81.194593 32.641092) + (xy 81.192501 32.648902) + (xy 81.192501 32.699441) + (xy 80.455 32.699441) + (xy 80.455 32.375098) + (xy 81.1925 32.375098) + (xy 81.194592 32.382907) + (xy 81.202402 32.385) + (xy 82.221098 32.385) + (xy 82.228907 32.382907) + (xy 82.231 32.375098) + (xy 82.485 32.375098) + (xy 82.487092 32.382907) + (xy 82.494902 32.385) + (xy 83.513597 32.385) + (xy 83.521406 32.382907) + (xy 83.523499 32.375098) + (xy 83.523499 32.324559) + (xy 83.523178 32.319663) + (xy 83.517723 32.27822) + (xy 83.514538 32.267294) + (xy 83.469006 32.16965) + (xy 83.461568 32.159028) + (xy 83.385971 32.083431) + (xy 83.375349 32.075993) + (xy 83.277701 32.030459) + (xy 83.266784 32.027277) + (xy 83.225336 32.02182) + (xy 83.220443 32.0215) + (xy 82.494902 32.0215) + (xy 82.487092 32.023592) + (xy 82.485 32.031402) + (xy 82.485 32.375098) + (xy 82.231 32.375098) + (xy 82.231 32.031403) + (xy 82.228907 32.023593) + (xy 82.221098 32.021501) + (xy 81.495559 32.021501) + (xy 81.490663 32.021821) + (xy 81.44922 32.027276) + (xy 81.438294 32.030461) + (xy 81.34065 32.075993) + (xy 81.330028 32.083431) + (xy 81.254431 32.159028) + (xy 81.246993 32.16965) + (xy 81.201459 32.267298) + (xy 81.198277 32.278215) + (xy 81.19282 32.319663) + (xy 81.1925 32.324557) + (xy 81.1925 32.375098) + (xy 80.455 32.375098) + (xy 80.455 31.431952) + (xy 81.192 31.431952) + (xy 81.192319 31.43438) + (xy 81.19232 31.434385) + (xy 81.19772 31.475402) + (xy 81.198539 31.481619) + (xy 81.200967 31.486827) + (xy 81.200969 31.486832) + (xy 81.234622 31.559) + (xy 81.24936 31.590607) + (xy 81.334393 31.67564) + (xy 81.380591 31.697182) + (xy 81.438167 31.72403) + (xy 81.438168 31.72403) + (xy 81.443381 31.726461) + (xy 81.493048 31.733) + (xy 83.220495 31.733) + (xy 83.222952 31.733) + (xy 83.272619 31.726461) + (xy 83.381607 31.67564) + (xy 83.46664 31.590607) + (xy 83.517461 31.481619) + (xy 83.524 31.431952) + (xy 83.524 31.052048) + (xy 83.517461 31.002381) + (xy 83.513851 30.99464) + (xy 83.500545 30.966104) + (xy 83.46664 30.893393) + (xy 83.381607 30.80836) + (xy 83.340672 30.789272) + (xy 83.277832 30.759969) + (xy 83.277827 30.759967) + (xy 83.272619 30.757539) + (xy 83.266917 30.756788) + (xy 83.266916 30.756788) + (xy 83.225385 30.75132) + (xy 83.22538 30.751319) + (xy 83.222952 30.751) + (xy 81.493048 30.751) + (xy 81.49062 30.751319) + (xy 81.490614 30.75132) + (xy 81.449083 30.756788) + (xy 81.449081 30.756788) + (xy 81.443381 30.757539) + (xy 81.438174 30.759966) + (xy 81.438167 30.759969) + (xy 81.340354 30.80558) + (xy 81.340352 30.805581) + (xy 81.334393 30.80836) + (xy 81.329743 30.813009) + (xy 81.32974 30.813012) + (xy 81.254012 30.88874) + (xy 81.254011 30.888742) + (xy 81.24936 30.893393) + (xy 81.246581 30.899352) + (xy 81.24658 30.899354) + (xy 81.200969 30.997167) + (xy 81.200966 30.997174) + (xy 81.198539 31.002381) + (xy 81.197788 31.008081) + (xy 81.197788 31.008083) + (xy 81.193417 31.041287) + (xy 81.192 31.052048) + (xy 81.192 31.431952) + (xy 80.455 31.431952) + (xy 80.455 31.418198) + (xy 80.455473 31.409779) + (xy 80.458107 31.386402) + (xy 80.45971 31.372173) + (xy 80.449054 31.315856) + (xy 80.448583 31.313082) + (xy 80.444505 31.286027) + (xy 80.440033 31.256353) + (xy 80.437587 31.251274) + (xy 80.436885 31.248997) + (xy 80.436778 31.248566) + (xy 80.436596 31.248126) + (xy 80.435819 31.245905) + (xy 80.434771 31.240366) + (xy 80.407974 31.189663) + (xy 80.406715 31.187168) + (xy 80.381829 31.135491) + (xy 80.377995 31.131358) + (xy 80.376661 31.129402) + (xy 80.376426 31.129012) + (xy 80.376132 31.128657) + (xy 80.374725 31.12675) + (xy 80.37209 31.121765) + (xy 80.331539 31.081214) + (xy 80.329589 31.07919) + (xy 80.29442 31.041287) + (xy 80.290587 31.037156) + (xy 80.285707 31.034338) + (xy 80.283852 31.032859) + (xy 80.277565 31.02724) + (xy 79.055321 29.804996) + (xy 79.049701 29.798708) + (xy 79.029611 29.773516) + (xy 79.029608 29.773513) + (xy 79.026095 29.769108) + (xy 79.021438 29.765932) + (xy 79.021435 29.76593) + (xy 78.978731 29.736814) + (xy 78.97644 29.735188) + (xy 78.934822 29.704473) + (xy 78.934816 29.70447) + (xy 78.930284 29.701125) + (xy 78.924965 29.699263) + (xy 78.922862 29.698152) + (xy 78.922476 29.697919) + (xy 78.922052 29.697744) + (xy 78.919913 29.696714) + (xy 78.915259 29.693541) + (xy 78.909876 29.69188) + (xy 78.909875 29.69188) + (xy 78.860471 29.67664) + (xy 78.857802 29.675761) + (xy 78.808988 29.658681) + (xy 78.808984 29.65868) + (xy 78.803665 29.656819) + (xy 78.798031 29.656607) + (xy 78.795702 29.656167) + (xy 78.795256 29.656056) + (xy 78.794817 29.656015) + (xy 78.792451 29.655658) + (xy 78.787073 29.654) + (xy 78.781441 29.654) + (xy 78.729707 29.654) + (xy 78.726896 29.653947) + (xy 78.675244 29.652014) + (xy 78.675239 29.652014) + (xy 78.669614 29.651804) + (xy 78.664173 29.653261) + (xy 78.661819 29.653527) + (xy 78.653401 29.654) + (xy 75.594207 29.654) + (xy 75.585788 29.653527) + (xy 75.55377 29.649919) + (xy 75.553765 29.649919) + (xy 75.548173 29.649289) + (xy 75.542639 29.650335) + (xy 75.542636 29.650336) + (xy 75.491837 29.659947) + (xy 75.489067 29.660418) + (xy 75.437924 29.668127) + (xy 75.437922 29.668127) + (xy 75.432353 29.668967) + (xy 75.427279 29.671409) + (xy 75.424993 29.672115) + (xy 75.424561 29.672222) + (xy 75.424139 29.672397) + (xy 75.421898 29.67318) + (xy 75.416366 29.674228) + (xy 75.411388 29.676858) + (xy 75.411387 29.676859) + (xy 75.36566 29.701025) + (xy 75.363154 29.70229) + (xy 75.316565 29.724727) + (xy 75.316563 29.724728) + (xy 75.311491 29.727171) + (xy 75.307363 29.731) + (xy 75.305395 29.732342) + (xy 75.305007 29.732575) + (xy 75.30467 29.732855) + (xy 75.30274 29.734279) + (xy 75.297766 29.736909) + (xy 75.293787 29.740887) + (xy 75.293784 29.74089) + (xy 75.257213 29.77746) + (xy 75.255191 29.779408) + (xy 75.217281 29.814584) + (xy 75.217276 29.814589) + (xy 75.213156 29.818413) + (xy 75.210343 29.823283) + (xy 75.208856 29.825149) + (xy 75.203239 29.831434) + (xy 74.767698 30.266976) + (xy 74.743305 30.283276) + (xy 74.714527 30.289) + (xy 73.9702 30.289) + (xy 73.9326 30.278925) + (xy 73.905075 30.2514) + (xy 73.895 30.2138) + (xy 73.895 28.4787) + (xy 73.905075 28.4411) + (xy 73.9326 28.413575) + (xy 73.9702 28.4035) + (xy 74.113098 28.4035) + (xy 74.120907 28.401407) + (xy 74.123 28.393598) + (xy 74.377 28.393598) + (xy 74.379092 28.401407) + (xy 74.386902 28.4035) + (xy 74.565066 28.4035) + (xy 74.572386 28.402778) + (xy 74.617063 28.393892) + (xy 74.630488 28.388331) + (xy 74.681186 28.354456) + (xy 74.691456 28.344186) + (xy 74.725331 28.293488) + (xy 74.730892 28.280063) + (xy 74.739778 28.235386) + (xy 74.740232 28.230779) + (xy 78.074501 28.230779) + (xy 78.074963 28.236654) + (xy 78.088057 28.319328) + (xy 78.091669 28.330447) + (xy 78.142452 28.430114) + (xy 78.14933 28.43958) + (xy 78.228419 28.518669) + (xy 78.237885 28.525547) + (xy 78.337551 28.57633) + (xy 78.348671 28.579943) + (xy 78.431346 28.593037) + (xy 78.437219 28.5935) + (xy 78.603098 28.5935) + (xy 78.610907 28.591407) + (xy 78.613 28.583598) + (xy 78.613 28.583597) + (xy 78.867 28.583597) + (xy 78.869092 28.591406) + (xy 78.876902 28.593499) + (xy 79.042779 28.593499) + (xy 79.048654 28.593036) + (xy 79.131328 28.579942) + (xy 79.142447 28.57633) + (xy 79.242114 28.525547) + (xy 79.25158 28.518669) + (xy 79.330669 28.43958) + (xy 79.337547 28.430114) + (xy 79.38833 28.330448) + (xy 79.391943 28.319328) + (xy 79.405037 28.236653) + (xy 79.4055 28.230781) + (xy 79.4055 28.230779) + (xy 79.852501 28.230779) + (xy 79.852963 28.236654) + (xy 79.866057 28.319328) + (xy 79.869669 28.330447) + (xy 79.920452 28.430114) + (xy 79.92733 28.43958) + (xy 80.006419 28.518669) + (xy 80.015885 28.525547) + (xy 80.115551 28.57633) + (xy 80.126671 28.579943) + (xy 80.209346 28.593037) + (xy 80.215218 28.593499) + (xy 80.334753 28.593499) + (xy 80.37541 28.605436) + (xy 80.403158 28.637459) + (xy 80.409189 28.6794) + (xy 80.391587 28.717944) + (xy 80.355942 28.740852) + (xy 80.31508 28.752851) + (xy 80.315076 28.752852) + (xy 80.309919 28.754367) + (xy 80.305403 28.757269) + (xy 80.305397 28.757272) + (xy 80.194505 28.828539) + (xy 80.194499 28.828543) + (xy 80.189982 28.831447) + (xy 80.186461 28.835509) + (xy 80.18646 28.835511) + (xy 80.10014 28.935128) + (xy 80.100136 28.935133) + (xy 80.096618 28.939194) + (xy 80.094385 28.944082) + (xy 80.094382 28.944088) + (xy 80.039626 29.063987) + (xy 80.039624 29.063993) + (xy 80.037392 29.068881) + (xy 80.036627 29.074195) + (xy 80.036626 29.074202) + (xy 80.018833 29.197961) + (xy 80.017102 29.21) + (xy 80.017867 29.215321) + (xy 80.036626 29.345797) + (xy 80.036627 29.345802) + (xy 80.037392 29.351119) + (xy 80.039624 29.356008) + (xy 80.039626 29.356012) + (xy 80.094382 29.475911) + (xy 80.094383 29.475913) + (xy 80.096618 29.480806) + (xy 80.100138 29.484869) + (xy 80.10014 29.484871) + (xy 80.14269 29.533976) + (xy 80.189982 29.588553) + (xy 80.194504 29.591459) + (xy 80.194505 29.59146) + (xy 80.292966 29.654738) + (xy 80.323373 29.693405) + (xy 80.323373 29.742595) + (xy 80.292966 29.781262) + (xy 80.194505 29.844539) + (xy 80.194499 29.844543) + (xy 80.189982 29.847447) + (xy 80.186461 29.851509) + (xy 80.18646 29.851511) + (xy 80.10014 29.951128) + (xy 80.100136 29.951133) + (xy 80.096618 29.955194) + (xy 80.094385 29.960082) + (xy 80.094382 29.960088) + (xy 80.039626 30.079987) + (xy 80.039624 30.079993) + (xy 80.037392 30.084881) + (xy 80.036627 30.090195) + (xy 80.036626 30.090202) + (xy 80.019374 30.210197) + (xy 80.017102 30.226) + (xy 80.017867 30.231321) + (xy 80.036626 30.361797) + (xy 80.036627 30.361802) + (xy 80.037392 30.367119) + (xy 80.039624 30.372008) + (xy 80.039626 30.372012) + (xy 80.094382 30.491911) + (xy 80.094383 30.491913) + (xy 80.096618 30.496806) + (xy 80.189982 30.604553) + (xy 80.194504 30.607459) + (xy 80.194505 30.60746) + (xy 80.305397 30.678727) + (xy 80.309919 30.681633) + (xy 80.446715 30.7218) + (xy 80.583904 30.7218) + (xy 80.589285 30.7218) + (xy 80.726081 30.681633) + (xy 80.846018 30.604553) + (xy 80.939382 30.496806) + (xy 80.998608 30.367119) + (xy 80.999502 30.360903) + (xy 81.000424 30.354496) + (xy 81.013603 30.321579) + (xy 81.0404 30.298359) + (xy 81.074858 30.29) + (xy 84.038132 30.29) + (xy 84.06691 30.295724) + (xy 84.091306 30.312026) + (xy 84.495974 30.716694) + (xy 84.512276 30.74109) + (xy 84.518 30.769868) + (xy 84.518 33.238132) + (xy 84.512276 33.26691) + (xy 84.495974 33.291306) + (xy 83.964306 33.822974) + (xy 83.93991 33.839276) + (xy 83.911132 33.845) + (xy 83.601868 33.845) + (xy 83.57309 33.839276) + (xy 83.548694 33.822974) + (xy 83.546026 33.820306) + (xy 83.529724 33.79591) + (xy 83.524 33.767132) + (xy 83.524 33.594505) + (xy 83.524 33.592048) + (xy 83.517461 33.542381) + (xy 83.504863 33.515365) + (xy 83.49766 33.499916) + (xy 83.46664 33.433393) + (xy 83.381607 33.34836) + (xy 83.364399 33.340336) + (xy 83.277832 33.299969) + (xy 83.277827 33.299967) + (xy 83.272619 33.297539) + (xy 83.266917 33.296788) + (xy 83.266916 33.296788) + (xy 83.225385 33.29132) + (xy 83.22538 33.291319) + (xy 83.222952 33.291) + (xy 81.493048 33.291) + (xy 81.49062 33.291319) + (xy 81.490614 33.29132) + (xy 81.449083 33.296788) + (xy 81.449081 33.296788) + (xy 81.443381 33.297539) + (xy 81.438174 33.299966) + (xy 81.438167 33.299969) + (xy 81.340354 33.34558) + (xy 81.340352 33.345581) + (xy 81.334393 33.34836) + (xy 81.329743 33.353009) + (xy 81.32974 33.353012) + (xy 81.254012 33.42874) + (xy 81.254009 33.428743) + (xy 81.24936 33.433393) + (xy 81.246581 33.439352) + (xy 81.24658 33.439354) + (xy 81.200969 33.537167) + (xy 81.200966 33.537174) + (xy 81.198539 33.542381) + (xy 81.197788 33.548081) + (xy 81.197788 33.548083) + (xy 81.193479 33.580817) + (xy 81.192 33.592048) + (xy 81.192 33.971952) + (xy 81.192319 33.97438) + (xy 81.19232 33.974385) + (xy 81.196672 34.007436) + (xy 81.198539 34.021619) + (xy 81.200967 34.026827) + (xy 81.200969 34.026832) + (xy 81.227098 34.082866) + (xy 81.24936 34.130607) + (xy 81.334393 34.21564) + (xy 81.384805 34.239147) + (xy 81.438167 34.26403) + (xy 81.438168 34.26403) + (xy 81.443381 34.266461) + (xy 81.493048 34.273) + (xy 83.068132 34.273) + (xy 83.09691 34.278724) + (xy 83.121306 34.295026) + (xy 83.190105 34.363825) + (xy 83.209569 34.397536) + (xy 83.209569 34.436462) + (xy 83.190105 34.470173) + (xy 83.15524 34.50504) + (xy 83.121306 34.538974) + (xy 83.096909 34.555276) + (xy 83.068131 34.561) + (xy 81.493048 34.561) + (xy 81.49062 34.561319) + (xy 81.490614 34.56132) + (xy 81.449083 34.566788) + (xy 81.449081 34.566788) + (xy 81.443381 34.567539) + (xy 81.438174 34.569966) + (xy 81.438167 34.569969) + (xy 81.340354 34.61558) + (xy 81.340352 34.615581) + (xy 81.334393 34.61836) + (xy 81.329743 34.623009) + (xy 81.32974 34.623012) + (xy 81.254012 34.69874) + (xy 81.254009 34.698743) + (xy 81.24936 34.703393) + (xy 81.246581 34.709352) + (xy 81.24658 34.709354) + (xy 81.200969 34.807167) + (xy 81.200966 34.807174) + (xy 81.198539 34.812381) + (xy 81.197788 34.818081) + (xy 81.197788 34.818083) + (xy 81.192498 34.858266) + (xy 81.192 34.862048) + (xy 81.192 35.241952) + (xy 81.192319 35.24438) + (xy 81.19232 35.244385) + (xy 81.19582 35.270969) + (xy 81.198539 35.291619) + (xy 81.200967 35.296827) + (xy 81.200969 35.296832) + (xy 81.237162 35.374447) + (xy 81.24936 35.400607) + (xy 81.334393 35.48564) + (xy 81.393885 35.513381) + (xy 81.438167 35.53403) + (xy 81.438168 35.53403) + (xy 81.443381 35.536461) + (xy 81.493048 35.543) + (xy 83.220495 35.543) + (xy 83.222952 35.543) + (xy 83.272619 35.536461) + (xy 83.381607 35.48564) + (xy 83.46664 35.400607) + (xy 83.517461 35.291619) + (xy 83.524 35.241952) + (xy 83.524 35.066868) + (xy 83.529724 35.03809) + (xy 83.546026 35.013694) + (xy 83.548694 35.011026) + (xy 83.57309 34.994724) + (xy 83.601868 34.989) + (xy 84.31083 34.989) + (xy 84.317383 34.989285) + (xy 84.356143 34.992677) + (xy 84.393728 34.982605) + (xy 84.400121 34.981187) + (xy 84.43844 34.974432) + (xy 84.44414 34.97114) + (xy 84.450321 34.968891) + (xy 84.450324 34.968901) + (xy 84.452151 34.968145) + (xy 84.452147 34.968136) + (xy 84.45811 34.965354) + (xy 84.464466 34.963652) + (xy 84.49636 34.941319) + (xy 84.501853 34.93782) + (xy 84.53556 34.91836) + (xy 84.560583 34.888537) + (xy 84.564994 34.883724) + (xy 85.556724 33.891994) + (xy 85.561537 33.887583) + (xy 85.59136 33.86256) + (xy 85.61082 33.828853) + (xy 85.614319 33.82336) + (xy 85.636652 33.791466) + (xy 85.638354 33.78511) + (xy 85.641136 33.779147) + (xy 85.641145 33.779151) + (xy 85.641901 33.777324) + (xy 85.641891 33.777321) + (xy 85.64414 33.77114) + (xy 85.647432 33.76544) + (xy 85.654187 33.727121) + (xy 85.655605 33.720728) + (xy 85.665677 33.683143) + (xy 85.662285 33.644383) + (xy 85.662 33.63783) + (xy 85.662 30.518044) + (xy 85.672527 30.479672) + (xy 85.701161 30.452042) + (xy 85.739885 30.442892) + (xy 85.777856 30.454781) + (xy 85.834419 30.491133) + (xy 85.971215 30.5313) + (xy 86.108404 30.5313) + (xy 86.113785 30.5313) + (xy 86.250581 30.491133) + (xy 86.370518 30.414053) + (xy 86.463882 30.306306) + (xy 86.523108 30.176619) + (xy 86.543398 30.0355) + (xy 86.523108 29.894381) + (xy 86.463882 29.764694) + (xy 86.370518 29.656947) + (xy 86.365996 29.654041) + (xy 86.365994 29.654039) + (xy 86.255102 29.582772) + (xy 86.255099 29.58277) + (xy 86.250581 29.579867) + (xy 86.245425 29.578353) + (xy 86.245423 29.578352) + (xy 86.118947 29.541215) + (xy 86.118942 29.541214) + (xy 86.113785 29.5397) + (xy 86.108404 29.5397) + (xy 86.027568 29.5397) + (xy 85.99879 29.533976) + (xy 85.974394 29.517674) + (xy 85.684026 29.227306) + (xy 85.667724 29.20291) + (xy 85.662 29.174132) + (xy 85.662 28.414208) + (xy 85.674132 28.373251) + (xy 85.706614 28.345509) + (xy 85.775787 28.314711) + (xy 85.775787 28.31471) + (xy 85.779385 28.313109) + (xy 85.926659 28.206108) + (xy 86.048468 28.070826) + (xy 86.139488 27.913174) + (xy 86.195742 27.740043) + (xy 86.200318 27.696509) + (xy 86.488185 27.696509) + (xy 86.492337 27.736015) + (xy 86.493969 27.743691) + (xy 86.547755 27.909223) + (xy 86.550941 27.916379) + (xy 86.637966 28.067113) + (xy 86.642578 28.073461) + (xy 86.759042 28.202806) + (xy 86.764863 28.208048) + (xy 86.905683 28.31036) + (xy 86.912458 28.314272) + (xy 87.071474 28.38507) + (xy 87.078926 28.387492) + (xy 87.206006 28.414504) + (xy 87.214506 28.41376) + (xy 87.217 28.405603) + (xy 87.471 28.405603) + (xy 87.473493 28.41376) + (xy 87.481993 28.414504) + (xy 87.609073 28.387492) + (xy 87.616525 28.38507) + (xy 87.775541 28.314272) + (xy 87.782316 28.31036) + (xy 87.923136 28.208048) + (xy 87.928957 28.202806) + (xy 88.045421 28.073461) + (xy 88.050033 28.067113) + (xy 88.137058 27.916379) + (xy 88.140244 27.909223) + (xy 88.19403 27.743691) + (xy 88.195662 27.736015) + (xy 88.199814 27.696509) + (xy 88.198366 27.688298) + (xy 88.19035 27.686) + (xy 87.480902 27.686) + (xy 87.473092 27.688092) + (xy 87.471 27.695902) + (xy 87.471 28.405603) + (xy 87.217 28.405603) + (xy 87.217 27.695902) + (xy 87.214907 27.688092) + (xy 87.207098 27.686) + (xy 86.49765 27.686) + (xy 86.489633 27.688298) + (xy 86.488185 27.696509) + (xy 86.200318 27.696509) + (xy 86.21477 27.559) + (xy 88.47323 27.559) + (xy 88.473642 27.56292) + (xy 88.491834 27.736015) + (xy 88.492258 27.740043) + (xy 88.493474 27.743785) + (xy 88.493475 27.74379) + (xy 88.547293 27.909425) + (xy 88.547296 27.909432) + (xy 88.548512 27.913174) + (xy 88.550482 27.916586) + (xy 88.604457 28.010075) + (xy 88.639532 28.070826) + (xy 88.761341 28.206108) + (xy 88.908615 28.313109) + (xy 89.074917 28.387151) + (xy 89.25298 28.425) + (xy 89.431082 28.425) + (xy 89.43502 28.425) + (xy 89.613083 28.387151) + (xy 89.779385 28.313109) + (xy 89.926659 28.206108) + (xy 90.048468 28.070826) + (xy 90.139488 27.913174) + (xy 90.195742 27.740043) + (xy 90.21477 27.559) + (xy 90.195742 27.377957) + (xy 90.165522 27.284949) + (xy 90.140706 27.208574) + (xy 90.140705 27.208572) + (xy 90.139488 27.204826) + (xy 90.048468 27.047174) + (xy 89.926659 26.911892) + (xy 89.779385 26.804891) + (xy 89.775791 26.803291) + (xy 89.775788 26.803289) + (xy 89.61668 26.73245) + (xy 89.616676 26.732448) + (xy 89.613083 26.730849) + (xy 89.609232 26.73003) + (xy 89.609231 26.73003) + (xy 89.43887 26.693818) + (xy 89.438866 26.693817) + (xy 89.43502 26.693) + (xy 89.25298 26.693) + (xy 89.249134 26.693817) + (xy 89.249129 26.693818) + (xy 89.078768 26.73003) + (xy 89.078764 26.730031) + (xy 89.074917 26.730849) + (xy 89.071326 26.732447) + (xy 89.071319 26.73245) + (xy 88.912211 26.803289) + (xy 88.912203 26.803293) + (xy 88.908615 26.804891) + (xy 88.905431 26.807204) + (xy 88.905428 26.807206) + (xy 88.810801 26.875957) + (xy 88.761341 26.911892) + (xy 88.758706 26.914817) + (xy 88.758703 26.914821) + (xy 88.642171 27.044242) + (xy 88.642166 27.044247) + (xy 88.639532 27.047174) + (xy 88.637562 27.050584) + (xy 88.637559 27.05059) + (xy 88.550482 27.201413) + (xy 88.548512 27.204826) + (xy 88.547297 27.208564) + (xy 88.547293 27.208574) + (xy 88.493475 27.374209) + (xy 88.493473 27.374216) + (xy 88.492258 27.377957) + (xy 88.491846 27.381871) + (xy 88.491846 27.381874) + (xy 88.480763 27.48733) + (xy 88.47323 27.559) + (xy 86.21477 27.559) + (xy 86.200317 27.42149) + (xy 86.488185 27.42149) + (xy 86.489633 27.429701) + (xy 86.49765 27.432) + (xy 87.207098 27.432) + (xy 87.214907 27.429907) + (xy 87.217 27.422098) + (xy 87.471 27.422098) + (xy 87.473092 27.429907) + (xy 87.480902 27.432) + (xy 88.19035 27.432) + (xy 88.198366 27.429701) + (xy 88.199814 27.42149) + (xy 88.195662 27.381984) + (xy 88.19403 27.374308) + (xy 88.140244 27.208776) + (xy 88.137058 27.20162) + (xy 88.050033 27.050886) + (xy 88.045421 27.044538) + (xy 87.928957 26.915193) + (xy 87.923136 26.909951) + (xy 87.782316 26.807639) + (xy 87.775541 26.803727) + (xy 87.616525 26.732929) + (xy 87.609073 26.730507) + (xy 87.481993 26.703495) + (xy 87.473493 26.704239) + (xy 87.471 26.712397) + (xy 87.471 27.422098) + (xy 87.217 27.422098) + (xy 87.217 26.712397) + (xy 87.214506 26.704239) + (xy 87.206006 26.703495) + (xy 87.078926 26.730507) + (xy 87.071474 26.732928) + (xy 86.912461 26.803726) + (xy 86.90568 26.807642) + (xy 86.764868 26.909948) + (xy 86.75904 26.915195) + (xy 86.642578 27.044538) + (xy 86.637966 27.050886) + (xy 86.550941 27.20162) + (xy 86.547755 27.208776) + (xy 86.493969 27.374308) + (xy 86.492337 27.381984) + (xy 86.488185 27.42149) + (xy 86.200317 27.42149) + (xy 86.195742 27.377957) + (xy 86.165522 27.284949) + (xy 86.140706 27.208574) + (xy 86.140705 27.208572) + (xy 86.139488 27.204826) + (xy 86.048468 27.047174) + (xy 85.926659 26.911892) + (xy 85.779385 26.804891) + (xy 85.775791 26.803291) + (xy 85.775788 26.803289) + (xy 85.61668 26.73245) + (xy 85.616676 26.732448) + (xy 85.613083 26.730849) + (xy 85.609232 26.73003) + (xy 85.609231 26.73003) + (xy 85.43887 26.693818) + (xy 85.438866 26.693817) + (xy 85.43502 26.693) + (xy 85.25298 26.693) + (xy 85.249134 26.693817) + (xy 85.249129 26.693818) + (xy 85.078768 26.73003) + (xy 85.078764 26.730031) + (xy 85.074917 26.730849) + (xy 85.071326 26.732447) + (xy 85.071319 26.73245) + (xy 84.912211 26.803289) + (xy 84.912203 26.803293) + (xy 84.908615 26.804891) + (xy 84.905431 26.807204) + (xy 84.905428 26.807206) + (xy 84.810801 26.875957) + (xy 84.761341 26.911892) + (xy 84.758706 26.914817) + (xy 84.758703 26.914821) + (xy 84.642171 27.044242) + (xy 84.642166 27.044247) + (xy 84.639532 27.047174) + (xy 84.637562 27.050584) + (xy 84.637559 27.05059) + (xy 84.550482 27.201413) + (xy 84.548512 27.204826) + (xy 84.547297 27.208564) + (xy 84.547293 27.208574) + (xy 84.493475 27.374209) + (xy 84.493473 27.374216) + (xy 84.492258 27.377957) + (xy 84.491846 27.381871) + (xy 84.491846 27.381874) + (xy 84.480763 27.48733) + (xy 84.47323 27.559) + (xy 84.473642 27.56292) + (xy 84.491834 27.736015) + (xy 84.492258 27.740043) + (xy 84.493474 27.743785) + (xy 84.493475 27.74379) + (xy 84.547293 27.909425) + (xy 84.547296 27.909432) + (xy 84.548512 27.913174) + (xy 84.550482 27.916586) + (xy 84.604457 28.010075) + (xy 84.639532 28.070826) + (xy 84.761341 28.206108) + (xy 84.908615 28.313109) + (xy 84.912208 28.314708) + (xy 84.912212 28.314711) + (xy 84.981386 28.345509) + (xy 85.013868 28.373251) + (xy 85.026 28.414208) + (xy 85.026 29.31983) + (xy 85.025714 29.326384) + (xy 85.023122 29.356012) + (xy 85.022323 29.365143) + (xy 85.024024 29.371492) + (xy 85.024025 29.371499) + (xy 85.028915 29.389747) + (xy 85.025752 29.437987) + (xy 84.993877 29.474334) + (xy 84.946461 29.483766) + (xy 84.903103 29.462383) + (xy 84.692004 29.251284) + (xy 84.687572 29.246448) + (xy 84.66256 29.21664) + (xy 84.656867 29.213353) + (xy 84.656861 29.213348) + (xy 84.628866 29.197185) + (xy 84.623335 29.193662) + (xy 84.617844 29.189818) + (xy 84.591466 29.171348) + (xy 84.585111 29.169644) + (xy 84.57915 29.166865) + (xy 84.579153 29.166857) + (xy 84.577321 29.166098) + (xy 84.577319 29.166107) + (xy 84.571136 29.163856) + (xy 84.56544 29.160568) + (xy 84.558963 29.159426) + (xy 84.558961 29.159425) + (xy 84.527133 29.153813) + (xy 84.520731 29.152394) + (xy 84.489498 29.144025) + (xy 84.489493 29.144024) + (xy 84.483143 29.142323) + (xy 84.476591 29.142896) + (xy 84.476589 29.142896) + (xy 84.444384 29.145714) + (xy 84.43783 29.146) + (xy 81.074858 29.146) + (xy 81.0404 29.137641) + (xy 81.013603 29.114421) + (xy 81.000424 29.081504) + (xy 80.999374 29.074208) + (xy 80.999373 29.074207) + (xy 80.998608 29.068881) + (xy 80.939382 28.939194) + (xy 80.928441 28.926568) + (xy 80.887961 28.879852) + (xy 80.846018 28.831447) + (xy 80.841496 28.828541) + (xy 80.841494 28.828539) + (xy 80.730602 28.757272) + (xy 80.730599 28.75727) + (xy 80.726081 28.754367) + (xy 80.720925 28.752853) + (xy 80.720923 28.752852) + (xy 80.680057 28.740853) + (xy 80.644411 28.717944) + (xy 80.626808 28.679401) + (xy 80.632839 28.63746) + (xy 80.660587 28.605437) + (xy 80.701243 28.593499) + (xy 80.820779 28.593499) + (xy 80.826654 28.593036) + (xy 80.909328 28.579942) + (xy 80.920447 28.57633) + (xy 81.020114 28.525547) + (xy 81.02958 28.518669) + (xy 81.108669 28.43958) + (xy 81.115547 28.430114) + (xy 81.16633 28.330448) + (xy 81.169943 28.319328) + (xy 81.180478 28.252812) + (xy 82.478 28.252812) + (xy 82.489082 28.308525) + (xy 82.493194 28.31468) + (xy 82.493196 28.314683) + (xy 82.527182 28.365545) + (xy 82.531297 28.371703) + (xy 82.537454 28.375817) + (xy 82.588316 28.409803) + (xy 82.588317 28.409803) + (xy 82.594475 28.413918) + (xy 82.650188 28.425) + (xy 84.034116 28.425) + (xy 84.037812 28.425) + (xy 84.093525 28.413918) + (xy 84.156703 28.371703) + (xy 84.198918 28.308525) + (xy 84.21 28.252812) + (xy 84.21 26.865188) + (xy 84.198918 26.809475) + (xy 84.185823 26.789878) + (xy 84.160817 26.752454) + (xy 84.156703 26.746297) + (xy 84.136697 26.732929) + (xy 84.099683 26.708196) + (xy 84.09968 26.708194) + (xy 84.093525 26.704082) + (xy 84.086261 26.702637) + (xy 84.041924 26.693818) + (xy 84.037812 26.693) + (xy 82.650188 26.693) + (xy 82.646563 26.69372) + (xy 82.646563 26.693721) + (xy 82.601738 26.702637) + (xy 82.601736 26.702637) + (xy 82.594475 26.704082) + (xy 82.588321 26.708193) + (xy 82.588316 26.708196) + (xy 82.537454 26.742182) + (xy 82.537451 26.742184) + (xy 82.531297 26.746297) + (xy 82.527184 26.752451) + (xy 82.527182 26.752454) + (xy 82.493196 26.803316) + (xy 82.493193 26.803321) + (xy 82.489082 26.809475) + (xy 82.478 26.865188) + (xy 82.478 28.252812) + (xy 81.180478 28.252812) + (xy 81.183037 28.236653) + (xy 81.1835 28.230781) + (xy 81.1835 28.139902) + (xy 81.181407 28.132092) + (xy 81.173598 28.13) + (xy 79.862403 28.13) + (xy 79.854593 28.132092) + (xy 79.852501 28.139902) + (xy 79.852501 28.230779) + (xy 79.4055 28.230779) + (xy 79.4055 28.139902) + (xy 79.403407 28.132092) + (xy 79.395598 28.13) + (xy 78.876902 28.13) + (xy 78.869092 28.132092) + (xy 78.867 28.139902) + (xy 78.867 28.583597) + (xy 78.613 28.583597) + (xy 78.613 28.139902) + (xy 78.610907 28.132092) + (xy 78.603098 28.13) + (xy 78.084403 28.13) + (xy 78.076593 28.132092) + (xy 78.074501 28.139902) + (xy 78.074501 28.230779) + (xy 74.740232 28.230779) + (xy 74.7405 28.228066) + (xy 74.7405 27.866098) + (xy 78.0745 27.866098) + (xy 78.076592 27.873907) + (xy 78.084402 27.876) + (xy 78.603098 27.876) + (xy 78.610907 27.873907) + (xy 78.613 27.866098) + (xy 78.867 27.866098) + (xy 78.869092 27.873907) + (xy 78.876902 27.876) + (xy 79.395597 27.876) + (xy 79.403406 27.873907) + (xy 79.405499 27.866098) + (xy 79.8525 27.866098) + (xy 79.854592 27.873907) + (xy 79.862402 27.876) + (xy 80.381098 27.876) + (xy 80.388907 27.873907) + (xy 80.391 27.866098) + (xy 80.645 27.866098) + (xy 80.647092 27.873907) + (xy 80.654902 27.876) + (xy 81.173597 27.876) + (xy 81.181406 27.873907) + (xy 81.183499 27.866098) + (xy 81.183499 27.775221) + (xy 81.183036 27.769345) + (xy 81.169942 27.686671) + (xy 81.16633 27.675552) + (xy 81.115547 27.575885) + (xy 81.108669 27.566419) + (xy 81.02958 27.48733) + (xy 81.020114 27.480452) + (xy 80.920448 27.429669) + (xy 80.909328 27.426056) + (xy 80.826653 27.412962) + (xy 80.820781 27.4125) + (xy 80.654902 27.4125) + (xy 80.647092 27.414592) + (xy 80.645 27.422402) + (xy 80.645 27.866098) + (xy 80.391 27.866098) + (xy 80.391 27.422403) + (xy 80.388907 27.414593) + (xy 80.381098 27.412501) + (xy 80.215221 27.412501) + (xy 80.209345 27.412963) + (xy 80.126671 27.426057) + (xy 80.115552 27.429669) + (xy 80.015885 27.480452) + (xy 80.006419 27.48733) + (xy 79.92733 27.566419) + (xy 79.920452 27.575885) + (xy 79.869669 27.675551) + (xy 79.866056 27.686671) + (xy 79.852962 27.769346) + (xy 79.8525 27.775219) + (xy 79.8525 27.866098) + (xy 79.405499 27.866098) + (xy 79.405499 27.775221) + (xy 79.405036 27.769345) + (xy 79.391942 27.686671) + (xy 79.38833 27.675552) + (xy 79.337547 27.575885) + (xy 79.330669 27.566419) + (xy 79.25158 27.48733) + (xy 79.242114 27.480452) + (xy 79.142448 27.429669) + (xy 79.131328 27.426056) + (xy 79.048653 27.412962) + (xy 79.042781 27.4125) + (xy 78.876902 27.4125) + (xy 78.869092 27.414592) + (xy 78.867 27.422402) + (xy 78.867 27.866098) + (xy 78.613 27.866098) + (xy 78.613 27.422403) + (xy 78.610907 27.414593) + (xy 78.603098 27.412501) + (xy 78.437221 27.412501) + (xy 78.431345 27.412963) + (xy 78.348671 27.426057) + (xy 78.337552 27.429669) + (xy 78.237885 27.480452) + (xy 78.228419 27.48733) + (xy 78.14933 27.566419) + (xy 78.142452 27.575885) + (xy 78.091669 27.675551) + (xy 78.088056 27.686671) + (xy 78.074962 27.769346) + (xy 78.0745 27.775219) + (xy 78.0745 27.866098) + (xy 74.7405 27.866098) + (xy 74.7405 27.699193) + (xy 74.75255 27.658363) + (xy 74.784837 27.630618) + (xy 74.827015 27.624849) + (xy 74.865567 27.642905) + (xy 74.921468 27.692429) + (xy 74.928897 27.697557) + (xy 75.069319 27.771256) + (xy 75.07776 27.774457) + (xy 75.181886 27.800122) + (xy 75.190448 27.799604) + (xy 75.193 27.791416) + (xy 75.447 27.791416) + (xy 75.449551 27.799604) + (xy 75.458113 27.800122) + (xy 75.562239 27.774457) + (xy 75.57068 27.771256) + (xy 75.711102 27.697557) + (xy 75.718531 27.692429) + (xy 75.837237 27.587265) + (xy 75.843226 27.580505) + (xy 75.933312 27.449993) + (xy 75.937511 27.441992) + (xy 75.993746 27.293712) + (xy 75.995906 27.284949) + (xy 76.010226 27.167016) + (xy 76.0105 27.162491) + (xy 76.0105 26.709902) + (xy 76.008407 26.702092) + (xy 76.000598 26.7) + (xy 75.456902 26.7) + (xy 75.449092 26.702092) + (xy 75.447 26.709902) + (xy 75.447 27.791416) + (xy 75.193 27.791416) + (xy 75.193 26.436098) + (xy 75.447 26.436098) + (xy 75.449092 26.443907) + (xy 75.456902 26.446) + (xy 76.000598 26.446) + (xy 76.008407 26.443907) + (xy 76.0105 26.436098) + (xy 76.0105 25.983509) + (xy 76.010226 25.978983) + (xy 75.995906 25.86105) + (xy 75.993746 25.852287) + (xy 75.937511 25.704007) + (xy 75.933312 25.696006) + (xy 75.843226 25.565494) + (xy 75.837237 25.558734) + (xy 75.718531 25.45357) + (xy 75.711102 25.448442) + (xy 75.57068 25.374743) + (xy 75.562239 25.371542) + (xy 75.458113 25.345877) + (xy 75.449551 25.346395) + (xy 75.447 25.354584) + (xy 75.447 26.436098) + (xy 75.193 26.436098) + (xy 75.193 25.354584) + (xy 75.190448 25.346395) + (xy 75.181886 25.345877) + (xy 75.07776 25.371542) + (xy 75.069319 25.374743) + (xy 74.928897 25.448442) + (xy 74.921468 25.45357) + (xy 74.802762 25.558734) + (xy 74.796773 25.565494) + (xy 74.706687 25.696006) + (xy 74.702488 25.704007) + (xy 74.646253 25.852287) + (xy 74.644093 25.86105) + (xy 74.629773 25.978983) + (xy 74.6295 25.983509) + (xy 74.6295 26.4973) + (xy 74.619425 26.5349) + (xy 74.5919 26.562425) + (xy 74.5543 26.5725) + (xy 74.386899 26.5725) + (xy 74.379092 26.574591) + (xy 74.377 26.5824) + (xy 74.377 28.393598) + (xy 74.123 28.393598) + (xy 74.123 27.624902) + (xy 74.120907 27.617092) + (xy 74.113098 27.615) + (xy 74.0162 27.615) + (xy 73.9786 27.604925) + (xy 73.951075 27.5774) + (xy 73.941 27.5398) + (xy 73.941 27.4362) + (xy 73.951075 27.3986) + (xy 73.9786 27.371075) + (xy 74.0162 27.361) + (xy 74.113098 27.361) + (xy 74.120907 27.358907) + (xy 74.123 27.351098) + (xy 74.123 26.619652) + (xy 74.135674 26.577873) + (xy 74.169423 26.550176) + (xy 74.171854 26.549168) + (xy 74.180233 26.545698) + (xy 74.264554 26.480995) + (xy 74.292912 26.470848) + (xy 74.301208 26.454032) + (xy 74.300451 26.453451) + (xy 74.30045 26.453451) + (xy 74.392698 26.333233) + (xy 74.450687 26.193236) + (xy 74.470466 26.043) + (xy 74.450687 25.892764) + (xy 74.39592 25.760546) + (xy 74.394582 25.757315) + (xy 74.394581 25.757314) + (xy 74.392698 25.752767) + (xy 74.300451 25.632549) + (xy 74.180233 25.540302) + (xy 74.175688 25.538419) + (xy 74.175684 25.538417) + (xy 74.044784 25.484197) + (xy 74.040236 25.482313) + (xy 74.035357 25.48167) + (xy 74.035355 25.48167) + (xy 73.930153 25.46782) + (xy 73.930148 25.467819) + (xy 73.92772 25.4675) + (xy 73.85228 25.4675) + (xy 73.849852 25.467819) + (xy 73.849846 25.46782) + (xy 73.744644 25.48167) + (xy 73.74464 25.481671) + (xy 73.739764 25.482313) + (xy 73.735216 25.484196) + (xy 73.735215 25.484197) + (xy 73.604315 25.538417) + (xy 73.604307 25.538421) + (xy 73.599767 25.540302) + (xy 73.595862 25.543297) + (xy 73.595859 25.5433) + (xy 73.483455 25.629551) + (xy 73.483451 25.629554) + (xy 73.479549 25.632549) + (xy 73.476554 25.636451) + (xy 73.476551 25.636455) + (xy 73.3903 25.748859) + (xy 73.390297 25.748862) + (xy 73.387302 25.752767) + (xy 73.385421 25.757307) + (xy 73.385417 25.757315) + (xy 73.331878 25.886572) + (xy 73.329313 25.892764) + (xy 73.328671 25.89764) + (xy 73.32867 25.897644) + (xy 73.317962 25.978983) + (xy 73.309534 26.043) + (xy 73.310177 26.047884) + (xy 73.323594 26.1498) + (xy 73.329313 26.193236) + (xy 73.331197 26.197784) + (xy 73.385417 26.328684) + (xy 73.385419 26.328688) + (xy 73.387302 26.333233) + (xy 73.3903 26.33714) + (xy 73.477684 26.451021) + (xy 73.492862 26.489429) + (xy 73.485469 26.53006) + (xy 73.457735 26.56066) + (xy 73.418024 26.572) + (xy 73.131188 26.572) + (xy 73.127563 26.57272) + (xy 73.127563 26.572721) + (xy 73.082738 26.581637) + (xy 73.082736 26.581637) + (xy 73.075475 26.583082) + (xy 73.069321 26.587193) + (xy 73.069313 26.587197) + (xy 73.066776 26.588893) + (xy 73.025 26.601565) + (xy 72.983224 26.588893) + (xy 72.980686 26.587197) + (xy 72.980679 26.587194) + (xy 72.974525 26.583082) + (xy 72.967261 26.581637) + (xy 72.948338 26.577873) + (xy 72.918812 26.572) + (xy 72.6432 26.572) + (xy 72.6056 26.561925) + (xy 72.578075 26.5344) + (xy 72.568 26.4968) + (xy 72.568 25.321868) + (xy 72.573724 25.29309) + (xy 72.590026 25.268694) + (xy 72.880694 24.978026) + (xy 72.90509 24.961724) + (xy 72.933868 24.956) + (xy 77.942132 24.956) + (xy 77.97091 24.961724) + (xy 77.995306 24.978026) + (xy 78.399974 25.382694) + (xy 78.416276 25.40709) + (xy 78.422 25.435868) + (xy 78.422 25.699709) + (xy 78.413804 25.733849) + (xy 78.391002 25.760546) + (xy 78.358565 25.773983) + (xy 78.348514 25.775575) + (xy 78.348513 25.775575) + (xy 78.342668 25.776501) + (xy 78.3374 25.779184) + (xy 78.337394 25.779187) + (xy 78.237587 25.830042) + (xy 78.237583 25.830044) + (xy 78.232311 25.832731) + (xy 78.228124 25.836917) + (xy 78.228121 25.83692) + (xy 78.14892 25.916121) + (xy 78.148917 25.916124) + (xy 78.144731 25.920311) + (xy 78.142044 25.925583) + (xy 78.142042 25.925587) + (xy 78.091187 26.025394) + (xy 78.091184 26.0254) + (xy 78.088501 26.030668) + (xy 78.087576 26.036507) + (xy 78.087574 26.036514) + (xy 78.074462 26.119307) + (xy 78.074 26.122226) + (xy 78.074 26.583774) + (xy 78.074461 26.58669) + (xy 78.074462 26.586692) + (xy 78.087574 26.669485) + (xy 78.087575 26.66949) + (xy 78.088501 26.675332) + (xy 78.091185 26.6806) + (xy 78.091187 26.680605) + (xy 78.142042 26.780412) + (xy 78.144731 26.785689) + (xy 78.232311 26.873269) + (xy 78.289311 26.902312) + (xy 78.308112 26.911892) + (xy 78.342668 26.929499) + (xy 78.348513 26.930424) + (xy 78.348514 26.930425) + (xy 78.352713 26.93109) + (xy 78.434226 26.944) + (xy 79.04282 26.944) + (xy 79.045774 26.944) + (xy 79.137332 26.929499) + (xy 79.247689 26.873269) + (xy 79.335269 26.785689) + (xy 79.391499 26.675332) + (xy 79.406 26.583774) + (xy 79.406 26.122226) + (xy 79.391499 26.030668) + (xy 79.380345 26.008778) + (xy 79.337957 25.925587) + (xy 79.335269 25.920311) + (xy 79.247689 25.832731) + (xy 79.238141 25.827866) + (xy 79.142605 25.779187) + (xy 79.1426 25.779185) + (xy 79.137332 25.776501) + (xy 79.124913 25.774534) + (xy 79.121435 25.773983) + (xy 79.088998 25.760546) + (xy 79.066196 25.733849) + (xy 79.058 25.699709) + (xy 79.058 25.290174) + (xy 79.058286 25.283621) + (xy 79.058432 25.281949) + (xy 79.061677 25.244857) + (xy 79.051606 25.207275) + (xy 79.050187 25.200875) + (xy 79.049745 25.198367) + (xy 79.043432 25.16256) + (xy 79.040142 25.156861) + (xy 79.037893 25.150682) + (xy 79.037902 25.150678) + (xy 79.037144 25.148848) + (xy 79.037136 25.148852) + (xy 79.034353 25.142886) + (xy 79.032652 25.136534) + (xy 79.010332 25.104658) + (xy 79.006809 25.099127) + (xy 79.003425 25.093266) + (xy 78.98736 25.06544) + (xy 78.974962 25.055037) + (xy 78.957551 25.040427) + (xy 78.952715 25.035995) + (xy 78.493094 24.576374) + (xy 78.472513 24.537871) + (xy 78.476792 24.494422) + (xy 78.504489 24.460673) + (xy 78.546268 24.448) + (xy 79.593132 24.448) + (xy 79.62191 24.453724) + (xy 79.646306 24.470026) + (xy 80.177974 25.001694) + (xy 80.194276 25.02609) + (xy 80.2 25.054868) + (xy 80.2 25.699709) + (xy 80.191804 25.733849) + (xy 80.169002 25.760546) + (xy 80.136565 25.773983) + (xy 80.126514 25.775575) + (xy 80.126513 25.775575) + (xy 80.120668 25.776501) + (xy 80.1154 25.779184) + (xy 80.115394 25.779187) + (xy 80.015587 25.830042) + (xy 80.015583 25.830044) + (xy 80.010311 25.832731) + (xy 80.006124 25.836917) + (xy 80.006121 25.83692) + (xy 79.92692 25.916121) + (xy 79.926917 25.916124) + (xy 79.922731 25.920311) + (xy 79.920044 25.925583) + (xy 79.920042 25.925587) + (xy 79.869187 26.025394) + (xy 79.869184 26.0254) + (xy 79.866501 26.030668) + (xy 79.865576 26.036507) + (xy 79.865574 26.036514) + (xy 79.852462 26.119307) + (xy 79.852 26.122226) + (xy 79.852 26.583774) + (xy 79.852461 26.58669) + (xy 79.852462 26.586692) + (xy 79.865574 26.669485) + (xy 79.865575 26.66949) + (xy 79.866501 26.675332) + (xy 79.869185 26.6806) + (xy 79.869187 26.680605) + (xy 79.920042 26.780412) + (xy 79.922731 26.785689) + (xy 80.010311 26.873269) + (xy 80.067311 26.902312) + (xy 80.086112 26.911892) + (xy 80.120668 26.929499) + (xy 80.126513 26.930424) + (xy 80.126514 26.930425) + (xy 80.130713 26.93109) + (xy 80.212226 26.944) + (xy 80.82082 26.944) + (xy 80.823774 26.944) + (xy 80.915332 26.929499) + (xy 81.025689 26.873269) + (xy 81.113269 26.785689) + (xy 81.169499 26.675332) + (xy 81.184 26.583774) + (xy 81.184 26.122226) + (xy 81.169499 26.030668) + (xy 81.158345 26.008778) + (xy 81.115957 25.925587) + (xy 81.113269 25.920311) + (xy 81.025689 25.832731) + (xy 81.016141 25.827866) + (xy 80.920605 25.779187) + (xy 80.9206 25.779185) + (xy 80.915332 25.776501) + (xy 80.902913 25.774534) + (xy 80.899435 25.773983) + (xy 80.866998 25.760546) + (xy 80.844196 25.733849) + (xy 80.836 25.699709) + (xy 80.836 25.077812) + (xy 82.478 25.077812) + (xy 82.489082 25.133525) + (xy 82.493194 25.13968) + (xy 82.493196 25.139683) + (xy 82.527182 25.190545) + (xy 82.531297 25.196703) + (xy 82.537454 25.200817) + (xy 82.588316 25.234803) + (xy 82.588317 25.234803) + (xy 82.594475 25.238918) + (xy 82.650188 25.25) + (xy 84.034116 25.25) + (xy 84.037812 25.25) + (xy 84.093525 25.238918) + (xy 84.156703 25.196703) + (xy 84.198918 25.133525) + (xy 84.21 25.077812) + (xy 84.21 23.690188) + (xy 84.198918 23.634475) + (xy 84.156703 23.571297) + (xy 84.136697 23.557929) + (xy 84.099683 23.533196) + (xy 84.09968 23.533194) + (xy 84.093525 23.529082) + (xy 84.086261 23.527637) + (xy 84.041924 23.518818) + (xy 84.037812 23.518) + (xy 82.650188 23.518) + (xy 82.646563 23.51872) + (xy 82.646563 23.518721) + (xy 82.601738 23.527637) + (xy 82.601736 23.527637) + (xy 82.594475 23.529082) + (xy 82.588321 23.533193) + (xy 82.588316 23.533196) + (xy 82.537454 23.567182) + (xy 82.537451 23.567184) + (xy 82.531297 23.571297) + (xy 82.527184 23.577451) + (xy 82.527182 23.577454) + (xy 82.493196 23.628316) + (xy 82.493193 23.628321) + (xy 82.489082 23.634475) + (xy 82.478 23.690188) + (xy 82.478 25.077812) + (xy 80.836 25.077812) + (xy 80.836 24.909174) + (xy 80.836286 24.902621) + (xy 80.838081 24.882098) + (xy 80.839677 24.863857) + (xy 80.829606 24.826275) + (xy 80.828187 24.819875) + (xy 80.821432 24.78156) + (xy 80.818142 24.775861) + (xy 80.815893 24.769682) + (xy 80.815902 24.769678) + (xy 80.815144 24.767848) + (xy 80.815136 24.767852) + (xy 80.812353 24.761886) + (xy 80.810652 24.755534) + (xy 80.802495 24.743885) + (xy 80.788334 24.72366) + (xy 80.784809 24.718127) + (xy 80.768651 24.69014) + (xy 80.76865 24.690139) + (xy 80.76536 24.68444) + (xy 80.735551 24.659427) + (xy 80.730715 24.654995) + (xy 79.993004 23.917284) + (xy 79.988572 23.912448) + (xy 79.967787 23.887678) + (xy 79.96356 23.88264) + (xy 79.957867 23.879353) + (xy 79.957861 23.879348) + (xy 79.929866 23.863185) + (xy 79.924335 23.859662) + (xy 79.918844 23.855818) + (xy 79.892466 23.837348) + (xy 79.886111 23.835644) + (xy 79.88015 23.832865) + (xy 79.880153 23.832857) + (xy 79.878321 23.832098) + (xy 79.878319 23.832107) + (xy 79.872136 23.829856) + (xy 79.86644 23.826568) + (xy 79.859963 23.825426) + (xy 79.859961 23.825425) + (xy 79.828133 23.819813) + (xy 79.821731 23.818394) + (xy 79.790498 23.810025) + (xy 79.790493 23.810024) + (xy 79.784143 23.808323) + (xy 79.777591 23.808896) + (xy 79.777589 23.808896) + (xy 79.745384 23.811714) + (xy 79.73883 23.812) + (xy 69.86717 23.812) + (xy 69.860616 23.811714) + (xy 69.82841 23.808896) + (xy 69.828408 23.808896) + (xy 69.821857 23.808323) + (xy 69.815507 23.810024) + (xy 69.815499 23.810025) + (xy 69.784266 23.818394) + (xy 69.777865 23.819813) + (xy 69.746037 23.825425) + (xy 69.746032 23.825426) + (xy 69.73956 23.826568) + (xy 69.733866 23.829854) + (xy 69.727681 23.832106) + (xy 69.727678 23.832099) + (xy 69.725842 23.83286) + (xy 69.725846 23.832867) + (xy 69.719888 23.835644) + (xy 69.713534 23.837348) + (xy 69.708147 23.841119) + (xy 69.708142 23.841122) + (xy 69.681655 23.859667) + (xy 69.676128 23.863189) + (xy 69.648133 23.879352) + (xy 69.648129 23.879355) + (xy 69.64244 23.88264) + (xy 69.638215 23.887673) + (xy 69.638211 23.887678) + (xy 69.617421 23.912454) + (xy 69.61299 23.917288) + (xy 69.037288 24.49299) + (xy 69.032454 24.497421) + (xy 69.007678 24.518211) + (xy 69.007673 24.518215) + (xy 69.00264 24.52244) + (xy 68.999355 24.528129) + (xy 68.999352 24.528133) + (xy 68.983189 24.556128) + (xy 68.979667 24.561655) + (xy 68.961122 24.588142) + (xy 68.961119 24.588147) + (xy 68.957348 24.593534) + (xy 68.955644 24.599888) + (xy 68.952867 24.605846) + (xy 68.95286 24.605842) + (xy 68.952099 24.607678) + (xy 68.952106 24.607681) + (xy 68.949854 24.613866) + (xy 68.946568 24.61956) + (xy 68.945426 24.626032) + (xy 68.945425 24.626037) + (xy 68.939813 24.657865) + (xy 68.938394 24.664266) + (xy 68.930025 24.695499) + (xy 68.930024 24.695507) + (xy 68.928323 24.701857) + (xy 68.928896 24.708408) + (xy 68.928896 24.70841) + (xy 68.931714 24.740616) + (xy 68.932 24.74717) + (xy 68.932 26.4968) + (xy 68.921925 26.5344) + (xy 68.8944 26.561925) + (xy 68.8568 26.572) + (xy 68.581976 26.572) + (xy 68.542265 26.56066) + (xy 68.514531 26.53006) + (xy 68.507138 26.489429) + (xy 68.522316 26.451021) + (xy 68.580872 26.374709) + (xy 68.612698 26.333233) + (xy 68.670687 26.193236) + (xy 68.690466 26.043) + (xy 68.670687 25.892764) + (xy 68.61592 25.760546) + (xy 68.614582 25.757315) + (xy 68.614581 25.757314) + (xy 68.612698 25.752767) + (xy 68.520451 25.632549) + (xy 68.400233 25.540302) + (xy 68.395688 25.538419) + (xy 68.395684 25.538417) + (xy 68.264784 25.484197) + (xy 68.260236 25.482313) + (xy 68.255357 25.48167) + (xy 68.255355 25.48167) + (xy 68.150153 25.46782) + (xy 68.150148 25.467819) + (xy 68.14772 25.4675) + (xy 68.07228 25.4675) + (xy 68.069852 25.467819) + (xy 68.069846 25.46782) + (xy 67.964644 25.48167) + (xy 67.96464 25.481671) + (xy 67.959764 25.482313) + (xy 67.955216 25.484196) + (xy 67.955215 25.484197) + (xy 67.824315 25.538417) + (xy 67.824307 25.538421) + (xy 67.819767 25.540302) + (xy 67.815862 25.543297) + (xy 67.815859 25.5433) + (xy 67.703455 25.629551) + (xy 67.703451 25.629554) + (xy 67.699549 25.632549) + (xy 67.696554 25.636451) + (xy 67.696551 25.636455) + (xy 67.6103 25.748859) + (xy 67.610297 25.748862) + (xy 67.607302 25.752767) + (xy 67.605421 25.757307) + (xy 67.605417 25.757315) + (xy 67.551878 25.886572) + (xy 67.549313 25.892764) + (xy 67.548671 25.89764) + (xy 67.54867 25.897644) + (xy 67.537962 25.978983) + (xy 67.529534 26.043) + (xy 67.3705 26.043) + (xy 67.3705 25.983509) + (xy 67.370226 25.978983) + (xy 67.355906 25.86105) + (xy 67.353746 25.852287) + (xy 67.297511 25.704007) + (xy 67.293312 25.696006) + (xy 67.203226 25.565494) + (xy 67.197237 25.558734) + (xy 67.078531 25.45357) + (xy 67.071102 25.448442) + (xy 66.93068 25.374743) + (xy 66.922239 25.371542) + (xy 66.818113 25.345877) + (xy 66.809551 25.346395) + (xy 66.807 25.354584) + (xy 66.807 27.791416) + (xy 66.553 27.791416) + (xy 66.553 26.709902) + (xy 66.550907 26.702092) + (xy 66.543098 26.7) + (xy 65.999402 26.7) + (xy 65.991592 26.702092) + (xy 65.9895 26.709902) + (xy 65.9895 27.162491) + (xy 63.881 27.162491) + (xy 63.881 27.051) + (xy 57.023 27.051) + (xy 30.949 27.051) + (xy 31.563902 26.436098) + (xy 65.9895 26.436098) + (xy 65.991592 26.443907) + (xy 65.999402 26.446) + (xy 66.543098 26.446) + (xy 66.550907 26.443907) + (xy 66.553 26.436098) + (xy 66.553 25.354584) + (xy 66.550448 25.346395) + (xy 66.541886 25.345877) + (xy 66.43776 25.371542) + (xy 66.429319 25.374743) + (xy 66.288897 25.448442) + (xy 66.281468 25.45357) + (xy 66.162762 25.558734) + (xy 66.156773 25.565494) + (xy 66.066687 25.696006) + (xy 66.062488 25.704007) + (xy 66.006253 25.852287) + (xy 66.004093 25.86105) + (xy 65.989773 25.978983) + (xy 65.9895 25.983509) + (xy 65.9895 26.436098) + (xy 31.563902 26.436098) + (xy 32 26) + (xy 32 25.834066) + (xy 57.9765 25.834066) + (xy 57.977221 25.841386) + (xy 57.986107 25.886063) + (xy 57.991668 25.899488) + (xy 58.025543 25.950186) + (xy 58.035813 25.960456) + (xy 58.086511 25.994331) + (xy 58.099936 25.999892) + (xy 58.144613 26.008778) + (xy 58.151934 26.0095) + (xy 58.410098 26.0095) + (xy 58.417907 26.007407) + (xy 58.42 25.999598) + (xy 58.674 25.999598) + (xy 58.676092 26.007407) + (xy 58.683902 26.0095) + (xy 58.942066 26.0095) + (xy 58.949386 26.008778) + (xy 58.994063 25.999892) + (xy 59.007488 25.994331) + (xy 59.058186 25.960456) + (xy 59.068456 25.950186) + (xy 59.102331 25.899488) + (xy 59.107892 25.886062) + (xy 59.108245 25.884291) + (xy 59.109479 25.882231) + (xy 59.110726 25.879222) + (xy 59.111172 25.879406) + (xy 59.134293 25.84083) + (xy 59.182 25.82376) + (xy 59.229707 25.84083) + (xy 59.252827 25.879406) + (xy 59.253274 25.879222) + (xy 59.25452 25.882231) + (xy 59.255755 25.884291) + (xy 59.256107 25.886062) + (xy 59.261668 25.899488) + (xy 59.295543 25.950186) + (xy 59.305813 25.960456) + (xy 59.356511 25.994331) + (xy 59.369936 25.999892) + (xy 59.414613 26.008778) + (xy 59.421934 26.0095) + (xy 59.680098 26.0095) + (xy 59.687907 26.007407) + (xy 59.69 25.999598) + (xy 59.944 25.999598) + (xy 59.946092 26.007407) + (xy 59.953902 26.0095) + (xy 60.212066 26.0095) + (xy 60.219386 26.008778) + (xy 60.264063 25.999892) + (xy 60.277488 25.994331) + (xy 60.328186 25.960456) + (xy 60.338456 25.950186) + (xy 60.372331 25.899488) + (xy 60.377892 25.886062) + (xy 60.378245 25.884291) + (xy 60.379479 25.882231) + (xy 60.380726 25.879222) + (xy 60.381172 25.879406) + (xy 60.404293 25.84083) + (xy 60.452 25.82376) + (xy 60.499707 25.84083) + (xy 60.522827 25.879406) + (xy 60.523274 25.879222) + (xy 60.52452 25.882231) + (xy 60.525755 25.884291) + (xy 60.526107 25.886062) + (xy 60.531668 25.899488) + (xy 60.565543 25.950186) + (xy 60.575813 25.960456) + (xy 60.626511 25.994331) + (xy 60.639936 25.999892) + (xy 60.684613 26.008778) + (xy 60.691934 26.0095) + (xy 60.950098 26.0095) + (xy 60.957907 26.007407) + (xy 60.96 25.999598) + (xy 61.214 25.999598) + (xy 61.216092 26.007407) + (xy 61.223902 26.0095) + (xy 61.482066 26.0095) + (xy 61.489386 26.008778) + (xy 61.534063 25.999892) + (xy 61.547488 25.994331) + (xy 61.598186 25.960456) + (xy 61.608456 25.950186) + (xy 61.642331 25.899488) + (xy 61.647892 25.886062) + (xy 61.648245 25.884291) + (xy 61.649479 25.882231) + (xy 61.650726 25.879222) + (xy 61.651172 25.879406) + (xy 61.674293 25.84083) + (xy 61.722 25.82376) + (xy 61.769707 25.84083) + (xy 61.792827 25.879406) + (xy 61.793274 25.879222) + (xy 61.79452 25.882231) + (xy 61.795755 25.884291) + (xy 61.796107 25.886062) + (xy 61.801668 25.899488) + (xy 61.835543 25.950186) + (xy 61.845813 25.960456) + (xy 61.896511 25.994331) + (xy 61.909936 25.999892) + (xy 61.954613 26.008778) + (xy 61.961934 26.0095) + (xy 62.220098 26.0095) + (xy 62.227907 26.007407) + (xy 62.23 25.999598) + (xy 62.484 25.999598) + (xy 62.486092 26.007407) + (xy 62.493902 26.0095) + (xy 62.752066 26.0095) + (xy 62.759386 26.008778) + (xy 62.804063 25.999892) + (xy 62.817488 25.994331) + (xy 62.868186 25.960456) + (xy 62.878456 25.950186) + (xy 62.912331 25.899488) + (xy 62.917892 25.886063) + (xy 62.926778 25.841386) + (xy 62.9275 25.834066) + (xy 62.9275 25.155902) + (xy 62.925407 25.148092) + (xy 62.917598 25.146) + (xy 62.493902 25.146) + (xy 62.486092 25.148092) + (xy 62.484 25.155902) + (xy 62.484 25.999598) + (xy 62.23 25.999598) + (xy 62.23 24.882098) + (xy 62.484 24.882098) + (xy 62.486092 24.889907) + (xy 62.493902 24.892) + (xy 62.917598 24.892) + (xy 62.925407 24.889907) + (xy 62.9275 24.882098) + (xy 62.9275 24.203934) + (xy 62.926778 24.196613) + (xy 62.917892 24.151936) + (xy 62.912331 24.138511) + (xy 62.878456 24.087813) + (xy 62.868186 24.077543) + (xy 62.817488 24.043668) + (xy 62.804063 24.038107) + (xy 62.759386 24.029221) + (xy 62.752066 24.0285) + (xy 62.493902 24.0285) + (xy 62.486092 24.030592) + (xy 62.484 24.038402) + (xy 62.484 24.882098) + (xy 62.23 24.882098) + (xy 62.23 24.038402) + (xy 62.227907 24.030592) + (xy 62.220098 24.0285) + (xy 61.961934 24.0285) + (xy 61.954613 24.029221) + (xy 61.909936 24.038107) + (xy 61.896511 24.043668) + (xy 61.845813 24.077543) + (xy 61.835543 24.087813) + (xy 61.801668 24.138511) + (xy 61.796107 24.151936) + (xy 61.795755 24.15371) + (xy 61.794519 24.155771) + (xy 61.793274 24.158778) + (xy 61.792828 24.158593) + (xy 61.769706 24.197169) + (xy 61.722 24.214239) + (xy 61.674294 24.197169) + (xy 61.651171 24.158593) + (xy 61.650726 24.158778) + (xy 61.64948 24.155771) + (xy 61.648245 24.15371) + (xy 61.647892 24.151936) + (xy 61.642331 24.138511) + (xy 61.608456 24.087813) + (xy 61.598186 24.077543) + (xy 61.547488 24.043668) + (xy 61.534063 24.038107) + (xy 61.489386 24.029221) + (xy 61.482066 24.0285) + (xy 61.223902 24.0285) + (xy 61.216092 24.030592) + (xy 61.214 24.038402) + (xy 61.214 25.999598) + (xy 60.96 25.999598) + (xy 60.96 24.038402) + (xy 60.957907 24.030592) + (xy 60.950098 24.0285) + (xy 60.691934 24.0285) + (xy 60.684613 24.029221) + (xy 60.639936 24.038107) + (xy 60.626511 24.043668) + (xy 60.575813 24.077543) + (xy 60.565543 24.087813) + (xy 60.531668 24.138511) + (xy 60.526107 24.151936) + (xy 60.525755 24.15371) + (xy 60.524519 24.155771) + (xy 60.523274 24.158778) + (xy 60.522828 24.158593) + (xy 60.499706 24.197169) + (xy 60.452 24.214239) + (xy 60.404294 24.197169) + (xy 60.381171 24.158593) + (xy 60.380726 24.158778) + (xy 60.37948 24.155771) + (xy 60.378245 24.15371) + (xy 60.377892 24.151936) + (xy 60.372331 24.138511) + (xy 60.338456 24.087813) + (xy 60.328186 24.077543) + (xy 60.277488 24.043668) + (xy 60.264063 24.038107) + (xy 60.219386 24.029221) + (xy 60.212066 24.0285) + (xy 59.953902 24.0285) + (xy 59.946092 24.030592) + (xy 59.944 24.038402) + (xy 59.944 25.999598) + (xy 59.69 25.999598) + (xy 59.69 24.038402) + (xy 59.687907 24.030592) + (xy 59.680098 24.0285) + (xy 59.421934 24.0285) + (xy 59.414613 24.029221) + (xy 59.369936 24.038107) + (xy 59.356511 24.043668) + (xy 59.305813 24.077543) + (xy 59.295543 24.087813) + (xy 59.261668 24.138511) + (xy 59.256107 24.151936) + (xy 59.255755 24.15371) + (xy 59.254519 24.155771) + (xy 59.253274 24.158778) + (xy 59.252828 24.158593) + (xy 59.229706 24.197169) + (xy 59.182 24.214239) + (xy 59.134294 24.197169) + (xy 59.111171 24.158593) + (xy 59.110726 24.158778) + (xy 59.10948 24.155771) + (xy 59.108245 24.15371) + (xy 59.107892 24.151936) + (xy 59.102331 24.138511) + (xy 59.068456 24.087813) + (xy 59.058186 24.077543) + (xy 59.007488 24.043668) + (xy 58.994063 24.038107) + (xy 58.949386 24.029221) + (xy 58.942066 24.0285) + (xy 58.683902 24.0285) + (xy 58.676092 24.030592) + (xy 58.674 24.038402) + (xy 58.674 25.999598) + (xy 58.42 25.999598) + (xy 58.42 25.155902) + (xy 58.417907 25.148092) + (xy 58.410098 25.146) + (xy 57.986402 25.146) + (xy 57.978592 25.148092) + (xy 57.9765 25.155902) + (xy 57.9765 25.834066) + (xy 32 25.834066) + (xy 32 24.882098) + (xy 57.9765 24.882098) + (xy 57.978592 24.889907) + (xy 57.986402 24.892) + (xy 58.410098 24.892) + (xy 58.417907 24.889907) + (xy 58.42 24.882098) + (xy 58.42 24.038402) + (xy 58.417907 24.030592) + (xy 58.410098 24.0285) + (xy 58.151934 24.0285) + (xy 58.144613 24.029221) + (xy 58.099936 24.038107) + (xy 58.086511 24.043668) + (xy 58.035813 24.077543) + (xy 58.025543 24.087813) + (xy 57.991668 24.138511) + (xy 57.986107 24.151936) + (xy 57.977221 24.196613) + (xy 57.9765 24.203934) + (xy 57.9765 24.882098) + (xy 32 24.882098) + (xy 32 22.732491) + (xy 65.9895 22.732491) + (xy 65.989773 22.737016) + (xy 66.004093 22.854949) + (xy 66.006253 22.863712) + (xy 66.062488 23.011992) + (xy 66.066687 23.019993) + (xy 66.156773 23.150505) + (xy 66.162762 23.157265) + (xy 66.281468 23.262429) + (xy 66.288897 23.267557) + (xy 66.429319 23.341256) + (xy 66.43776 23.344457) + (xy 66.541886 23.370122) + (xy 66.550448 23.369604) + (xy 66.553 23.361416) + (xy 66.807 23.361416) + (xy 66.809551 23.369604) + (xy 66.818113 23.370122) + (xy 66.922239 23.344457) + (xy 66.93068 23.341256) + (xy 67.071102 23.267557) + (xy 67.078531 23.262429) + (xy 67.197237 23.157265) + (xy 67.203226 23.150505) + (xy 67.293312 23.019993) + (xy 67.297511 23.011992) + (xy 67.353746 22.863712) + (xy 67.355906 22.854949) + (xy 67.370226 22.737016) + (xy 67.3705 22.732491) + (xy 74.6295 22.732491) + (xy 74.629773 22.737016) + (xy 74.644093 22.854949) + (xy 74.646253 22.863712) + (xy 74.702488 23.011992) + (xy 74.706687 23.019993) + (xy 74.796773 23.150505) + (xy 74.802762 23.157265) + (xy 74.921468 23.262429) + (xy 74.928897 23.267557) + (xy 75.069319 23.341256) + (xy 75.07776 23.344457) + (xy 75.181886 23.370122) + (xy 75.190448 23.369604) + (xy 75.193 23.361416) + (xy 75.447 23.361416) + (xy 75.449551 23.369604) + (xy 75.458113 23.370122) + (xy 75.562239 23.344457) + (xy 75.57068 23.341256) + (xy 75.711102 23.267557) + (xy 75.718531 23.262429) + (xy 75.837237 23.157265) + (xy 75.843226 23.150505) + (xy 75.933312 23.019993) + (xy 75.937511 23.011992) + (xy 75.993746 22.863712) + (xy 75.995906 22.854949) + (xy 76.010226 22.737016) + (xy 76.0105 22.732491) + (xy 76.0105 22.529902) + (xy 76.008407 22.522092) + (xy 76.000598 22.52) + (xy 75.456902 22.52) + (xy 75.449092 22.522092) + (xy 75.447 22.529902) + (xy 75.447 23.361416) + (xy 75.193 23.361416) + (xy 75.193 22.529902) + (xy 75.190907 22.522092) + (xy 75.183098 22.52) + (xy 74.639402 22.52) + (xy 74.631592 22.522092) + (xy 74.6295 22.529902) + (xy 74.6295 22.732491) + (xy 67.3705 22.732491) + (xy 67.3705 22.529902) + (xy 67.368407 22.522092) + (xy 67.360598 22.52) + (xy 66.816902 22.52) + (xy 66.809092 22.522092) + (xy 66.807 22.529902) + (xy 66.807 23.361416) + (xy 66.553 23.361416) + (xy 66.553 22.529902) + (xy 66.550907 22.522092) + (xy 66.543098 22.52) + (xy 65.999402 22.52) + (xy 65.991592 22.522092) + (xy 65.9895 22.529902) + (xy 65.9895 22.732491) + (xy 32 22.732491) + (xy 32 22.256098) + (xy 65.9895 22.256098) + (xy 65.991592 22.263907) + (xy 65.999402 22.266) + (xy 66.543098 22.266) + (xy 66.550907 22.263907) + (xy 66.553 22.256098) + (xy 66.807 22.256098) + (xy 66.809092 22.263907) + (xy 66.816902 22.266) + (xy 67.360598 22.266) + (xy 67.368407 22.263907) + (xy 67.3705 22.256098) + (xy 74.6295 22.256098) + (xy 74.631592 22.263907) + (xy 74.639402 22.266) + (xy 75.183098 22.266) + (xy 75.190907 22.263907) + (xy 75.193 22.256098) + (xy 75.447 22.256098) + (xy 75.449092 22.263907) + (xy 75.456902 22.266) + (xy 76.000598 22.266) + (xy 76.008407 22.263907) + (xy 76.0105 22.256098) + (xy 76.0105 22.053509) + (xy 76.010226 22.048983) + (xy 75.995906 21.93105) + (xy 75.993746 21.922287) + (xy 75.937511 21.774007) + (xy 75.933312 21.766006) + (xy 75.843226 21.635494) + (xy 75.837237 21.628734) + (xy 75.718531 21.52357) + (xy 75.711102 21.518442) + (xy 75.57068 21.444743) + (xy 75.562239 21.441542) + (xy 75.458113 21.415877) + (xy 75.449551 21.416395) + (xy 75.447 21.424584) + (xy 75.447 22.256098) + (xy 75.193 22.256098) + (xy 75.193 21.424584) + (xy 75.190448 21.416395) + (xy 75.181886 21.415877) + (xy 75.07776 21.441542) + (xy 75.069319 21.444743) + (xy 74.928897 21.518442) + (xy 74.921468 21.52357) + (xy 74.802762 21.628734) + (xy 74.796773 21.635494) + (xy 74.706687 21.766006) + (xy 74.702488 21.774007) + (xy 74.646253 21.922287) + (xy 74.644093 21.93105) + (xy 74.629773 22.048983) + (xy 74.6295 22.053509) + (xy 74.6295 22.256098) + (xy 67.3705 22.256098) + (xy 67.3705 22.053509) + (xy 67.370226 22.048983) + (xy 67.355906 21.93105) + (xy 67.353746 21.922287) + (xy 67.297511 21.774007) + (xy 67.293312 21.766006) + (xy 67.203226 21.635494) + (xy 67.197237 21.628734) + (xy 67.078531 21.52357) + (xy 67.071102 21.518442) + (xy 66.93068 21.444743) + (xy 66.922239 21.441542) + (xy 66.818113 21.415877) + (xy 66.809551 21.416395) + (xy 66.807 21.424584) + (xy 66.807 22.256098) + (xy 66.553 22.256098) + (xy 66.553 21.424584) + (xy 66.550448 21.416395) + (xy 66.541886 21.415877) + (xy 66.43776 21.441542) + (xy 66.429319 21.444743) + (xy 66.288897 21.518442) + (xy 66.281468 21.52357) + (xy 66.162762 21.628734) + (xy 66.156773 21.635494) + (xy 66.066687 21.766006) + (xy 66.062488 21.774007) + (xy 66.006253 21.922287) + (xy 66.004093 21.93105) + (xy 65.989773 22.048983) + (xy 65.9895 22.053509) + (xy 65.9895 22.256098) + (xy 32 22.256098) + (xy 32 21.0752) + (xy 32.010075 21.0376) + (xy 32.0376 21.010075) + (xy 32.0752 21) + (xy 100.9248 21) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 94.662084 85.871533) + (xy 94.678 85.917798) + (xy 94.678 87.337261) + (xy 94.662084 87.383526) + (xy 94.621072 87.410207) + (xy 94.572326 87.40601) + (xy 94.53648 87.37271) + (xy 94.52355 87.348521) + (xy 94.519461 87.342401) + (xy 94.490412 87.307004) + (xy 94.483569 87.302268) + (xy 94.476289 87.306314) + (xy 93.912605 87.869999) + (xy 93.908563 87.877) + (xy 93.912605 87.884) + (xy 94.47629 88.447685) + (xy 94.483568 88.45173) + (xy 94.490412 88.446993) + (xy 94.519462 88.411597) + (xy 94.523549 88.40548) + (xy 94.53648 88.38129) + (xy 94.572326 88.34799) + (xy 94.621072 88.343793) + (xy 94.662084 88.370474) + (xy 94.678 88.416739) + (xy 94.678 88.944132) + (xy 94.672276 88.97291) + (xy 94.655976 88.997303) + (xy 94.295854 89.357425) + (xy 94.176176 89.477103) + (xy 94.137676 89.497682) + (xy 94.094638 89.493446) + (xy 94.092462 89.492283) + (xy 94.088937 89.491213) + (xy 94.088933 89.491212) + (xy 93.916352 89.43886) + (xy 93.91635 89.438859) + (xy 93.912821 89.437789) + (xy 93.90915 89.437427) + (xy 93.909148 89.437427) + (xy 93.729676 89.419751) + (xy 93.726 89.419389) + (xy 93.722324 89.419751) + (xy 93.542851 89.437427) + (xy 93.542847 89.437427) + (xy 93.539179 89.437789) + (xy 93.535651 89.438859) + (xy 93.535647 89.43886) + (xy 93.363068 89.491212) + (xy 93.363066 89.491212) + (xy 93.359538 89.492283) + (xy 93.356292 89.494018) + (xy 93.35628 89.494023) + (xy 93.197238 89.579034) + (xy 93.197233 89.579036) + (xy 93.19398 89.580776) + (xy 93.191127 89.583117) + (xy 93.191123 89.58312) + (xy 93.051722 89.697523) + (xy 93.051716 89.697528) + (xy 93.048867 89.699867) + (xy 92.958127 89.810432) + (xy 92.920057 89.835201) + (xy 92.874666 89.833529) + (xy 92.838518 89.806026) + (xy 92.8248 89.762725) + (xy 92.8248 88.634569) + (xy 93.151268 88.634569) + (xy 93.156004 88.641412) + (xy 93.191401 88.670461) + (xy 93.197521 88.67455) + (xy 93.356467 88.759508) + (xy 93.363268 88.762326) + (xy 93.535742 88.814645) + (xy 93.542952 88.81608) + (xy 93.722325 88.833747) + (xy 93.729675 88.833747) + (xy 93.909047 88.81608) + (xy 93.916257 88.814645) + (xy 94.088731 88.762326) + (xy 94.095532 88.759508) + (xy 94.25448 88.674549) + (xy 94.260597 88.670462) + (xy 94.295993 88.641412) + (xy 94.30073 88.634568) + (xy 94.296685 88.62729) + (xy 93.733 88.063605) + (xy 93.726 88.059563) + (xy 93.718999 88.063605) + (xy 93.155314 88.627289) + (xy 93.151268 88.634569) + (xy 92.8248 88.634569) + (xy 92.8248 88.490489) + (xy 92.838517 88.447188) + (xy 92.874665 88.419685) + (xy 92.920056 88.418013) + (xy 92.95813 88.442782) + (xy 92.961586 88.446993) + (xy 92.96843 88.45173) + (xy 92.975709 88.447684) + (xy 93.539394 87.884) + (xy 93.543436 87.877) + (xy 93.539394 87.869999) + (xy 92.975709 87.306314) + (xy 92.96843 87.302269) + (xy 92.961584 87.307007) + (xy 92.95813 87.311217) + (xy 92.920057 87.335986) + (xy 92.874666 87.334314) + (xy 92.838518 87.306811) + (xy 92.8248 87.26351) + (xy 92.8248 87.11943) + (xy 93.151269 87.11943) + (xy 93.155314 87.126709) + (xy 93.718999 87.690394) + (xy 93.726 87.694436) + (xy 93.733 87.690394) + (xy 94.296684 87.126709) + (xy 94.30073 87.11943) + (xy 94.295994 87.112586) + (xy 94.260598 87.083538) + (xy 94.254478 87.079449) + (xy 94.095532 86.994491) + (xy 94.088731 86.991673) + (xy 93.916257 86.939354) + (xy 93.909047 86.937919) + (xy 93.729675 86.920253) + (xy 93.722325 86.920253) + (xy 93.542952 86.937919) + (xy 93.535742 86.939354) + (xy 93.363268 86.991673) + (xy 93.356467 86.994491) + (xy 93.197523 87.079448) + (xy 93.1914 87.083538) + (xy 93.156006 87.112585) + (xy 93.151269 87.11943) + (xy 92.8248 87.11943) + (xy 92.8248 85.991275) + (xy 92.838518 85.947974) + (xy 92.874666 85.920471) + (xy 92.920057 85.918799) + (xy 92.958127 85.943567) + (xy 93.048867 86.054133) + (xy 93.19398 86.173224) + (xy 93.236286 86.195837) + (xy 93.35628 86.259976) + (xy 93.356283 86.259977) + (xy 93.359538 86.261717) + (xy 93.539179 86.316211) + (xy 93.726 86.334611) + (xy 93.912821 86.316211) + (xy 94.092462 86.261717) + (xy 94.25802 86.173224) + (xy 94.403133 86.054133) + (xy 94.522224 85.90902) + (xy 94.53648 85.882348) + (xy 94.572326 85.849049) + (xy 94.621072 85.844852) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 100.9624 21.010075) + (xy 100.989925 21.0376) + (xy 101 21.0752) + (xy 101 26) + (xy 103 28) + (xy 103.007405 28) + (xy 107.9248 28) + (xy 107.9624 28.010075) + (xy 107.989925 28.0376) + (xy 108 28.0752) + (xy 108 111.9248) + (xy 107.989925 111.9624) + (xy 107.9624 111.989925) + (xy 107.9248 112) + (xy 103 112) + (xy 102.994764 112.005235) + (xy 102.994761 112.005238) + (xy 101.005238 113.994761) + (xy 101.005235 113.994764) + (xy 101 114) + (xy 101 114.007405) + (xy 101 118.9248) + (xy 100.989925 118.9624) + (xy 100.9624 118.989925) + (xy 100.9248 119) + (xy 32.0752 119) + (xy 32.0376 118.989925) + (xy 32.010075 118.9624) + (xy 32 118.9248) + (xy 32 117.975491) + (xy 65.9825 117.975491) + (xy 65.982773 117.980016) + (xy 65.997093 118.097949) + (xy 65.999253 118.106712) + (xy 66.055488 118.254992) + (xy 66.059687 118.262993) + (xy 66.149773 118.393505) + (xy 66.155762 118.400265) + (xy 66.274468 118.505429) + (xy 66.281897 118.510557) + (xy 66.422319 118.584256) + (xy 66.43076 118.587457) + (xy 66.534886 118.613122) + (xy 66.543448 118.612604) + (xy 66.546 118.604416) + (xy 66.8 118.604416) + (xy 66.802551 118.612604) + (xy 66.811113 118.613122) + (xy 66.915239 118.587457) + (xy 66.92368 118.584256) + (xy 67.064102 118.510557) + (xy 67.071531 118.505429) + (xy 67.190237 118.400265) + (xy 67.196226 118.393505) + (xy 67.286312 118.262993) + (xy 67.290511 118.254992) + (xy 67.346746 118.106712) + (xy 67.348906 118.097949) + (xy 67.363226 117.980016) + (xy 67.3635 117.975491) + (xy 74.6225 117.975491) + (xy 74.622773 117.980016) + (xy 74.637093 118.097949) + (xy 74.639253 118.106712) + (xy 74.695488 118.254992) + (xy 74.699687 118.262993) + (xy 74.789773 118.393505) + (xy 74.795762 118.400265) + (xy 74.914468 118.505429) + (xy 74.921897 118.510557) + (xy 75.062319 118.584256) + (xy 75.07076 118.587457) + (xy 75.174886 118.613122) + (xy 75.183448 118.612604) + (xy 75.186 118.604416) + (xy 75.44 118.604416) + (xy 75.442551 118.612604) + (xy 75.451113 118.613122) + (xy 75.555239 118.587457) + (xy 75.56368 118.584256) + (xy 75.704102 118.510557) + (xy 75.711531 118.505429) + (xy 75.830237 118.400265) + (xy 75.836226 118.393505) + (xy 75.926312 118.262993) + (xy 75.930511 118.254992) + (xy 75.986746 118.106712) + (xy 75.988906 118.097949) + (xy 76.003226 117.980016) + (xy 76.0035 117.975491) + (xy 76.0035 117.772902) + (xy 76.001407 117.765092) + (xy 75.993598 117.763) + (xy 75.449902 117.763) + (xy 75.442092 117.765092) + (xy 75.44 117.772902) + (xy 75.44 118.604416) + (xy 75.186 118.604416) + (xy 75.186 117.772902) + (xy 75.183907 117.765092) + (xy 75.176098 117.763) + (xy 74.632402 117.763) + (xy 74.624592 117.765092) + (xy 74.6225 117.772902) + (xy 74.6225 117.975491) + (xy 67.3635 117.975491) + (xy 67.3635 117.772902) + (xy 67.361407 117.765092) + (xy 67.353598 117.763) + (xy 66.809902 117.763) + (xy 66.802092 117.765092) + (xy 66.8 117.772902) + (xy 66.8 118.604416) + (xy 66.546 118.604416) + (xy 66.546 117.772902) + (xy 66.543907 117.765092) + (xy 66.536098 117.763) + (xy 65.992402 117.763) + (xy 65.984592 117.765092) + (xy 65.9825 117.772902) + (xy 65.9825 117.975491) + (xy 32 117.975491) + (xy 32 117.499098) + (xy 65.9825 117.499098) + (xy 65.984592 117.506907) + (xy 65.992402 117.509) + (xy 66.536098 117.509) + (xy 66.543907 117.506907) + (xy 66.546 117.499098) + (xy 66.8 117.499098) + (xy 66.802092 117.506907) + (xy 66.809902 117.509) + (xy 67.353598 117.509) + (xy 67.361407 117.506907) + (xy 67.3635 117.499098) + (xy 74.6225 117.499098) + (xy 74.624592 117.506907) + (xy 74.632402 117.509) + (xy 75.176098 117.509) + (xy 75.183907 117.506907) + (xy 75.186 117.499098) + (xy 75.44 117.499098) + (xy 75.442092 117.506907) + (xy 75.449902 117.509) + (xy 75.993598 117.509) + (xy 76.001407 117.506907) + (xy 76.0035 117.499098) + (xy 76.0035 117.296509) + (xy 76.003226 117.291983) + (xy 75.988906 117.17405) + (xy 75.986746 117.165287) + (xy 75.930511 117.017007) + (xy 75.926312 117.009006) + (xy 75.836226 116.878494) + (xy 75.830237 116.871734) + (xy 75.711531 116.76657) + (xy 75.704102 116.761442) + (xy 75.56368 116.687743) + (xy 75.555239 116.684542) + (xy 75.451113 116.658877) + (xy 75.442551 116.659395) + (xy 75.44 116.667584) + (xy 75.44 117.499098) + (xy 75.186 117.499098) + (xy 75.186 116.667584) + (xy 75.183448 116.659395) + (xy 75.174886 116.658877) + (xy 75.07076 116.684542) + (xy 75.062319 116.687743) + (xy 74.921897 116.761442) + (xy 74.914468 116.76657) + (xy 74.795762 116.871734) + (xy 74.789773 116.878494) + (xy 74.699687 117.009006) + (xy 74.695488 117.017007) + (xy 74.639253 117.165287) + (xy 74.637093 117.17405) + (xy 74.622773 117.291983) + (xy 74.6225 117.296509) + (xy 74.6225 117.499098) + (xy 67.3635 117.499098) + (xy 67.3635 117.296509) + (xy 67.363226 117.291983) + (xy 67.348906 117.17405) + (xy 67.346746 117.165287) + (xy 67.290511 117.017007) + (xy 67.286312 117.009006) + (xy 67.196226 116.878494) + (xy 67.190237 116.871734) + (xy 67.071531 116.76657) + (xy 67.064102 116.761442) + (xy 66.92368 116.687743) + (xy 66.915239 116.684542) + (xy 66.811113 116.658877) + (xy 66.802551 116.659395) + (xy 66.8 116.667584) + (xy 66.8 117.499098) + (xy 66.546 117.499098) + (xy 66.546 116.667584) + (xy 66.543448 116.659395) + (xy 66.534886 116.658877) + (xy 66.43076 116.684542) + (xy 66.422319 116.687743) + (xy 66.281897 116.761442) + (xy 66.274468 116.76657) + (xy 66.155762 116.871734) + (xy 66.149773 116.878494) + (xy 66.059687 117.009006) + (xy 66.055488 117.017007) + (xy 65.999253 117.165287) + (xy 65.997093 117.17405) + (xy 65.982773 117.291983) + (xy 65.9825 117.296509) + (xy 65.9825 117.499098) + (xy 32 117.499098) + (xy 32 116.625287) + (xy 61.865406 116.625287) + (xy 61.869779 116.632228) + (xy 61.887919 116.648765) + (xy 61.893446 116.652939) + (xy 62.075118 116.765426) + (xy 62.081317 116.768513) + (xy 62.280563 116.845701) + (xy 62.287227 116.847598) + (xy 62.497274 116.886862) + (xy 62.504155 116.8875) + (xy 62.717845 116.8875) + (xy 62.724725 116.886862) + (xy 62.934772 116.847598) + (xy 62.941436 116.845701) + (xy 63.140682 116.768513) + (xy 63.146881 116.765426) + (xy 63.328554 116.652939) + (xy 63.334079 116.648766) + (xy 63.35222 116.632228) + (xy 63.356592 116.625287) + (xy 63.352544 116.618149) + (xy 62.618 115.883605) + (xy 62.611 115.879563) + (xy 62.603999 115.883605) + (xy 61.869454 116.618149) + (xy 61.865406 116.625287) + (xy 32 116.625287) + (xy 32 115.700464) + (xy 61.415721 115.700464) + (xy 61.435435 115.913221) + (xy 61.43671 115.920043) + (xy 61.495181 116.125547) + (xy 61.497689 116.132019) + (xy 61.59293 116.323291) + (xy 61.596574 116.329175) + (xy 61.677262 116.436023) + (xy 61.684011 116.441038) + (xy 61.691391 116.437002) + (xy 62.424394 115.704) + (xy 62.428436 115.697) + (xy 62.793563 115.697) + (xy 62.797605 115.704) + (xy 63.530607 116.437002) + (xy 63.537987 116.441039) + (xy 63.544734 116.436026) + (xy 63.625427 116.329172) + (xy 63.629069 116.323291) + (xy 63.72431 116.132019) + (xy 63.726818 116.125547) + (xy 63.785289 115.920043) + (xy 63.786564 115.913221) + (xy 63.806279 115.700464) + (xy 63.806279 115.693536) + (xy 63.786564 115.480778) + (xy 63.785289 115.473956) + (xy 63.726818 115.268452) + (xy 63.72431 115.26198) + (xy 63.629069 115.070708) + (xy 63.625425 115.064824) + (xy 63.544736 114.957975) + (xy 63.537987 114.95296) + (xy 63.530607 114.956996) + (xy 62.797605 115.689999) + (xy 62.793563 115.697) + (xy 62.428436 115.697) + (xy 62.424394 115.689999) + (xy 61.691391 114.956996) + (xy 61.684011 114.95296) + (xy 61.677263 114.957975) + (xy 61.596574 115.064824) + (xy 61.59293 115.070708) + (xy 61.497689 115.26198) + (xy 61.495181 115.268452) + (xy 61.43671 115.473956) + (xy 61.435435 115.480778) + (xy 61.415721 115.693536) + (xy 61.415721 115.700464) + (xy 32 115.700464) + (xy 32 114.768712) + (xy 61.865406 114.768712) + (xy 61.869454 114.775849) + (xy 62.603999 115.510394) + (xy 62.611 115.514436) + (xy 62.618 115.510394) + (xy 63.352544 114.775849) + (xy 63.356592 114.768711) + (xy 63.352221 114.761771) + (xy 63.33408 114.745234) + (xy 63.328553 114.74106) + (xy 63.146881 114.628573) + (xy 63.140682 114.625486) + (xy 62.941436 114.548298) + (xy 62.934772 114.546401) + (xy 62.724725 114.507137) + (xy 62.717845 114.5065) + (xy 62.504155 114.5065) + (xy 62.497274 114.507137) + (xy 62.287227 114.546401) + (xy 62.280563 114.548298) + (xy 62.081317 114.625486) + (xy 62.075118 114.628573) + (xy 61.89344 114.741063) + (xy 61.887924 114.745229) + (xy 61.869779 114.761769) + (xy 61.865406 114.768712) + (xy 32 114.768712) + (xy 32 114.045491) + (xy 65.9825 114.045491) + (xy 65.982773 114.050016) + (xy 65.997093 114.167949) + (xy 65.999253 114.176712) + (xy 66.055488 114.324992) + (xy 66.059687 114.332993) + (xy 66.149773 114.463505) + (xy 66.155762 114.470265) + (xy 66.274468 114.575429) + (xy 66.281897 114.580557) + (xy 66.422319 114.654256) + (xy 66.43076 114.657457) + (xy 66.534886 114.683122) + (xy 66.543448 114.682604) + (xy 66.546 114.674416) + (xy 66.8 114.674416) + (xy 66.802551 114.682604) + (xy 66.811113 114.683122) + (xy 66.915239 114.657457) + (xy 66.92368 114.654256) + (xy 67.064102 114.580557) + (xy 67.071531 114.575429) + (xy 67.190237 114.470265) + (xy 67.196226 114.463505) + (xy 67.286312 114.332993) + (xy 67.290511 114.324992) + (xy 67.346746 114.176712) + (xy 67.348906 114.167949) + (xy 67.363226 114.050016) + (xy 67.3635 114.045491) + (xy 67.3635 113.986) + (xy 67.522534 113.986) + (xy 67.542313 114.136236) + (xy 67.544197 114.140784) + (xy 67.598417 114.271684) + (xy 67.598419 114.271688) + (xy 67.600302 114.276233) + (xy 67.692549 114.396451) + (xy 67.812767 114.488698) + (xy 67.952764 114.546687) + (xy 68.06528 114.5615) + (xy 68.138263 114.5615) + (xy 68.14072 114.5615) + (xy 68.253236 114.546687) + (xy 68.393233 114.488698) + (xy 68.513451 114.396451) + (xy 68.605698 114.276233) + (xy 68.663687 114.136236) + (xy 68.675567 114.046) + (xy 70.492102 114.046) + (xy 70.492867 114.051321) + (xy 70.511626 114.181797) + (xy 70.511627 114.181802) + (xy 70.512392 114.187119) + (xy 70.514624 114.192008) + (xy 70.514626 114.192012) + (xy 70.569382 114.311911) + (xy 70.569383 114.311913) + (xy 70.571618 114.316806) + (xy 70.664982 114.424553) + (xy 70.669504 114.427459) + (xy 70.669505 114.42746) + (xy 70.780397 114.498727) + (xy 70.784919 114.501633) + (xy 70.921715 114.5418) + (xy 71.058904 114.5418) + (xy 71.064285 114.5418) + (xy 71.201081 114.501633) + (xy 71.321018 114.424553) + (xy 71.414382 114.316806) + (xy 71.473608 114.187119) + (xy 71.493898 114.046) + (xy 71.485271 113.986) + (xy 73.302534 113.986) + (xy 73.322313 114.136236) + (xy 73.324197 114.140784) + (xy 73.378417 114.271684) + (xy 73.378419 114.271688) + (xy 73.380302 114.276233) + (xy 73.472549 114.396451) + (xy 73.592767 114.488698) + (xy 73.732764 114.546687) + (xy 73.84528 114.5615) + (xy 73.918263 114.5615) + (xy 73.92072 114.5615) + (xy 74.033236 114.546687) + (xy 74.173233 114.488698) + (xy 74.293451 114.396451) + (xy 74.385698 114.276233) + (xy 74.443687 114.136236) + (xy 74.455634 114.045491) + (xy 74.6225 114.045491) + (xy 74.622773 114.050016) + (xy 74.637093 114.167949) + (xy 74.639253 114.176712) + (xy 74.695488 114.324992) + (xy 74.699687 114.332993) + (xy 74.789773 114.463505) + (xy 74.795762 114.470265) + (xy 74.914468 114.575429) + (xy 74.921897 114.580557) + (xy 75.062319 114.654256) + (xy 75.07076 114.657457) + (xy 75.174886 114.683122) + (xy 75.183448 114.682604) + (xy 75.186 114.674416) + (xy 75.44 114.674416) + (xy 75.442551 114.682604) + (xy 75.451113 114.683122) + (xy 75.555239 114.657457) + (xy 75.56368 114.654256) + (xy 75.704102 114.580557) + (xy 75.711531 114.575429) + (xy 75.830237 114.470265) + (xy 75.836226 114.463505) + (xy 75.926312 114.332993) + (xy 75.930511 114.324992) + (xy 75.986746 114.176712) + (xy 75.988906 114.167949) + (xy 76.003226 114.050016) + (xy 76.0035 114.045491) + (xy 76.0035 113.592902) + (xy 76.001407 113.585092) + (xy 75.993598 113.583) + (xy 75.449902 113.583) + (xy 75.442092 113.585092) + (xy 75.44 113.592902) + (xy 75.44 114.674416) + (xy 75.186 114.674416) + (xy 75.186 113.592902) + (xy 75.183907 113.585092) + (xy 75.176098 113.583) + (xy 74.632402 113.583) + (xy 74.624592 113.585092) + (xy 74.6225 113.592902) + (xy 74.6225 114.045491) + (xy 74.455634 114.045491) + (xy 74.463466 113.986) + (xy 74.443687 113.835764) + (xy 74.385698 113.695767) + (xy 74.293451 113.575549) + (xy 74.173233 113.483302) + (xy 74.168688 113.481419) + (xy 74.168684 113.481417) + (xy 74.037784 113.427197) + (xy 74.033236 113.425313) + (xy 74.028357 113.42467) + (xy 74.028355 113.42467) + (xy 73.923153 113.41082) + (xy 73.923148 113.410819) + (xy 73.92072 113.4105) + (xy 73.84528 113.4105) + (xy 73.842852 113.410819) + (xy 73.842846 113.41082) + (xy 73.737644 113.42467) + (xy 73.73764 113.424671) + (xy 73.732764 113.425313) + (xy 73.728216 113.427196) + (xy 73.728215 113.427197) + (xy 73.597315 113.481417) + (xy 73.597307 113.481421) + (xy 73.592767 113.483302) + (xy 73.588862 113.486297) + (xy 73.588859 113.4863) + (xy 73.476455 113.572551) + (xy 73.476451 113.572554) + (xy 73.472549 113.575549) + (xy 73.469554 113.579451) + (xy 73.469551 113.579455) + (xy 73.3833 113.691859) + (xy 73.383297 113.691862) + (xy 73.380302 113.695767) + (xy 73.378421 113.700307) + (xy 73.378417 113.700315) + (xy 73.324197 113.831215) + (xy 73.322313 113.835764) + (xy 73.321671 113.84064) + (xy 73.32167 113.840644) + (xy 73.312513 113.910202) + (xy 73.302534 113.986) + (xy 71.485271 113.986) + (xy 71.473608 113.904881) + (xy 71.414382 113.775194) + (xy 71.36049 113.713) + (xy 71.329368 113.677083) + (xy 71.315741 113.654117) + (xy 71.311 113.627837) + (xy 71.311 113.573868) + (xy 71.316724 113.54509) + (xy 71.333026 113.520694) + (xy 71.534622 113.319098) + (xy 74.6225 113.319098) + (xy 74.624592 113.326907) + (xy 74.632402 113.329) + (xy 75.176098 113.329) + (xy 75.183907 113.326907) + (xy 75.186 113.319098) + (xy 75.44 113.319098) + (xy 75.442092 113.326907) + (xy 75.449902 113.329) + (xy 75.993598 113.329) + (xy 76.001407 113.326907) + (xy 76.0035 113.319098) + (xy 76.0035 112.866509) + (xy 76.003226 112.861983) + (xy 75.988906 112.74405) + (xy 75.986746 112.735287) + (xy 75.930511 112.587007) + (xy 75.926312 112.579006) + (xy 75.836226 112.448494) + (xy 75.830237 112.441734) + (xy 75.711531 112.33657) + (xy 75.704102 112.331442) + (xy 75.56368 112.257743) + (xy 75.555239 112.254542) + (xy 75.451113 112.228877) + (xy 75.442551 112.229395) + (xy 75.44 112.237584) + (xy 75.44 113.319098) + (xy 75.186 113.319098) + (xy 75.186 112.237584) + (xy 75.183448 112.229395) + (xy 75.174886 112.228877) + (xy 75.07076 112.254542) + (xy 75.062319 112.257743) + (xy 74.921897 112.331442) + (xy 74.914468 112.33657) + (xy 74.795762 112.441734) + (xy 74.789773 112.448494) + (xy 74.699687 112.579006) + (xy 74.695488 112.587007) + (xy 74.639253 112.735287) + (xy 74.637093 112.74405) + (xy 74.622773 112.861983) + (xy 74.6225 112.866509) + (xy 74.6225 113.319098) + (xy 71.534622 113.319098) + (xy 71.705164 113.148556) + (xy 72.856724 111.996994) + (xy 72.861537 111.992583) + (xy 72.89136 111.96756) + (xy 72.91082 111.933853) + (xy 72.914319 111.92836) + (xy 72.936652 111.896466) + (xy 72.938354 111.89011) + (xy 72.941136 111.884147) + (xy 72.941145 111.884151) + (xy 72.941901 111.882324) + (xy 72.941891 111.882321) + (xy 72.94414 111.87614) + (xy 72.947432 111.87044) + (xy 72.954187 111.832121) + (xy 72.955605 111.825728) + (xy 72.965677 111.788143) + (xy 72.962286 111.749379) + (xy 72.962 111.742826) + (xy 72.962 109.266233) + (xy 72.976999 109.221167) + (xy 73.016014 109.194079) + (xy 73.106081 109.167633) + (xy 73.226018 109.090553) + (xy 73.319382 108.982806) + (xy 73.378608 108.853119) + (xy 73.398898 108.712) + (xy 73.378608 108.570881) + (xy 73.319382 108.441194) + (xy 73.226018 108.333447) + (xy 73.221496 108.330541) + (xy 73.221494 108.330539) + (xy 73.110602 108.259272) + (xy 73.110599 108.25927) + (xy 73.106081 108.256367) + (xy 73.100925 108.254853) + (xy 73.100923 108.254852) + (xy 72.974447 108.217715) + (xy 72.974442 108.217714) + (xy 72.969285 108.2162) + (xy 72.826715 108.2162) + (xy 72.821558 108.217714) + (xy 72.821552 108.217715) + (xy 72.695076 108.254852) + (xy 72.695071 108.254854) + (xy 72.689919 108.256367) + (xy 72.685403 108.259269) + (xy 72.685397 108.259272) + (xy 72.574505 108.330539) + (xy 72.574499 108.330543) + (xy 72.569982 108.333447) + (xy 72.566461 108.337509) + (xy 72.56646 108.337511) + (xy 72.48014 108.437128) + (xy 72.480136 108.437133) + (xy 72.476618 108.441194) + (xy 72.474385 108.446082) + (xy 72.474382 108.446088) + (xy 72.458404 108.481077) + (xy 72.430656 108.5131) + (xy 72.39 108.525038) + (xy 72.349344 108.5131) + (xy 72.321596 108.481077) + (xy 72.305617 108.446088) + (xy 72.303382 108.441194) + (xy 72.295935 108.4326) + (xy 72.218368 108.343083) + (xy 72.204741 108.320117) + (xy 72.2 108.293837) + (xy 72.2 108.239868) + (xy 72.205724 108.21109) + (xy 72.222026 108.186694) + (xy 72.372694 108.036026) + (xy 72.39709 108.019724) + (xy 72.425868 108.014) + (xy 74.388169 108.014) + (xy 74.419408 108.020795) + (xy 74.445001 108.039954) + (xy 74.452716 108.048857) + (xy 74.474982 108.074553) + (xy 74.479504 108.077459) + (xy 74.479505 108.07746) + (xy 74.590397 108.148727) + (xy 74.594919 108.151633) + (xy 74.731715 108.1918) + (xy 74.868904 108.1918) + (xy 74.874285 108.1918) + (xy 75.011081 108.151633) + (xy 75.131018 108.074553) + (xy 75.142058 108.061812) + (xy 76.302 108.061812) + (xy 76.313082 108.117525) + (xy 76.317194 108.12368) + (xy 76.317196 108.123683) + (xy 76.336884 108.153147) + (xy 76.355297 108.180703) + (xy 76.361454 108.184817) + (xy 76.412316 108.218803) + (xy 76.412317 108.218803) + (xy 76.418475 108.222918) + (xy 76.474188 108.234) + (xy 78.208116 108.234) + (xy 78.211812 108.234) + (xy 78.267525 108.222918) + (xy 78.330703 108.180703) + (xy 78.372918 108.117525) + (xy 78.384 108.061812) + (xy 78.384 106.324188) + (xy 78.372918 106.268475) + (xy 78.330703 106.205297) + (xy 78.324545 106.201182) + (xy 78.273683 106.167196) + (xy 78.27368 106.167194) + (xy 78.267525 106.163082) + (xy 78.260261 106.161637) + (xy 78.241602 106.157925) + (xy 78.211812 106.152) + (xy 76.474188 106.152) + (xy 76.470563 106.15272) + (xy 76.470563 106.152721) + (xy 76.425738 106.161637) + (xy 76.425736 106.161637) + (xy 76.418475 106.163082) + (xy 76.412321 106.167193) + (xy 76.412316 106.167196) + (xy 76.361454 106.201182) + (xy 76.361451 106.201184) + (xy 76.355297 106.205297) + (xy 76.351184 106.211451) + (xy 76.351182 106.211454) + (xy 76.317196 106.262316) + (xy 76.317193 106.262321) + (xy 76.313082 106.268475) + (xy 76.302 106.324188) + (xy 76.302 108.061812) + (xy 75.142058 108.061812) + (xy 75.224382 107.966806) + (xy 75.283608 107.837119) + (xy 75.303898 107.696) + (xy 75.283608 107.554881) + (xy 75.224382 107.425194) + (xy 75.208722 107.407122) + (xy 75.18324 107.377714) + (xy 75.131018 107.317447) + (xy 75.126496 107.314541) + (xy 75.126494 107.314539) + (xy 75.015602 107.243272) + (xy 75.015599 107.24327) + (xy 75.011081 107.240367) + (xy 75.005925 107.238853) + (xy 75.005923 107.238852) + (xy 74.879447 107.201715) + (xy 74.879442 107.201714) + (xy 74.874285 107.2002) + (xy 74.731715 107.2002) + (xy 74.726558 107.201714) + (xy 74.726552 107.201715) + (xy 74.600076 107.238852) + (xy 74.600071 107.238854) + (xy 74.594919 107.240367) + (xy 74.590403 107.243269) + (xy 74.590397 107.243272) + (xy 74.479505 107.314539) + (xy 74.479499 107.314543) + (xy 74.474982 107.317447) + (xy 74.471461 107.321509) + (xy 74.47146 107.321511) + (xy 74.445001 107.352046) + (xy 74.419408 107.371205) + (xy 74.388169 107.378) + (xy 72.28017 107.378) + (xy 72.273616 107.377714) + (xy 72.24141 107.374896) + (xy 72.241408 107.374896) + (xy 72.234857 107.374323) + (xy 72.228507 107.376024) + (xy 72.2285 107.376025) + (xy 72.197271 107.384393) + (xy 72.19087 107.385812) + (xy 72.159038 107.391425) + (xy 72.159034 107.391426) + (xy 72.15256 107.392568) + (xy 72.146864 107.395856) + (xy 72.14068 107.398107) + (xy 72.140677 107.3981) + (xy 72.138845 107.398858) + (xy 72.138849 107.398866) + (xy 72.132884 107.401646) + (xy 72.126534 107.403349) + (xy 72.121149 107.407118) + (xy 72.121143 107.407122) + (xy 72.094655 107.425668) + (xy 72.089127 107.429189) + (xy 72.05544 107.44864) + (xy 72.051215 107.453674) + (xy 72.05121 107.453679) + (xy 72.030421 107.478454) + (xy 72.02599 107.483288) + (xy 71.669288 107.83999) + (xy 71.664454 107.844421) + (xy 71.639678 107.865211) + (xy 71.639673 107.865215) + (xy 71.63464 107.86944) + (xy 71.631355 107.875129) + (xy 71.631352 107.875133) + (xy 71.615189 107.903128) + (xy 71.611667 107.908655) + (xy 71.593122 107.935142) + (xy 71.593119 107.935147) + (xy 71.589348 107.940534) + (xy 71.587644 107.946888) + (xy 71.584867 107.952846) + (xy 71.58486 107.952842) + (xy 71.584099 107.954678) + (xy 71.584106 107.954681) + (xy 71.581854 107.960866) + (xy 71.578568 107.96656) + (xy 71.577426 107.973032) + (xy 71.577425 107.973037) + (xy 71.571813 108.004865) + (xy 71.570394 108.011266) + (xy 71.562025 108.042499) + (xy 71.562024 108.042507) + (xy 71.560323 108.048857) + (xy 71.560896 108.055408) + (xy 71.560896 108.05541) + (xy 71.563714 108.087616) + (xy 71.564 108.09417) + (xy 71.564 108.293837) + (xy 71.559259 108.320117) + (xy 71.545632 108.343083) + (xy 71.46414 108.437128) + (xy 71.464136 108.437133) + (xy 71.460618 108.441194) + (xy 71.458385 108.446082) + (xy 71.458382 108.446088) + (xy 71.403626 108.565987) + (xy 71.403624 108.565993) + (xy 71.401392 108.570881) + (xy 71.400627 108.576195) + (xy 71.400626 108.576202) + (xy 71.386881 108.671803) + (xy 71.381102 108.712) + (xy 71.381867 108.717321) + (xy 71.400626 108.847797) + (xy 71.400627 108.847802) + (xy 71.401392 108.853119) + (xy 71.403624 108.858008) + (xy 71.403626 108.858012) + (xy 71.458382 108.977911) + (xy 71.458383 108.977913) + (xy 71.460618 108.982806) + (xy 71.553982 109.090553) + (xy 71.673919 109.167633) + (xy 71.763986 109.194079) + (xy 71.803001 109.221167) + (xy 71.818 109.266233) + (xy 71.818 111.343132) + (xy 71.812276 111.37191) + (xy 71.795974 111.396307) + (xy 71.554173 111.638106) + (xy 71.520462 111.657569) + (xy 71.481536 111.657569) + (xy 71.447825 111.638105) + (xy 71.333026 111.523306) + (xy 71.316724 111.49891) + (xy 71.311 111.470132) + (xy 71.311 111.162163) + (xy 71.315741 111.135883) + (xy 71.329368 111.112917) + (xy 71.393434 111.038981) + (xy 71.414382 111.014806) + (xy 71.473608 110.885119) + (xy 71.493898 110.744) + (xy 71.473608 110.602881) + (xy 71.414382 110.473194) + (xy 71.409602 110.467678) + (xy 71.359602 110.409975) + (xy 71.321018 110.365447) + (xy 71.316496 110.362541) + (xy 71.316494 110.362539) + (xy 71.205602 110.291272) + (xy 71.205599 110.29127) + (xy 71.201081 110.288367) + (xy 71.195925 110.286853) + (xy 71.195923 110.286852) + (xy 71.069447 110.249715) + (xy 71.069442 110.249714) + (xy 71.064285 110.2482) + (xy 70.921715 110.2482) + (xy 70.916558 110.249714) + (xy 70.916552 110.249715) + (xy 70.790076 110.286852) + (xy 70.790071 110.286854) + (xy 70.784919 110.288367) + (xy 70.780403 110.291269) + (xy 70.780397 110.291272) + (xy 70.669505 110.362539) + (xy 70.669499 110.362543) + (xy 70.664982 110.365447) + (xy 70.661461 110.369509) + (xy 70.66146 110.369511) + (xy 70.57514 110.469128) + (xy 70.575136 110.469133) + (xy 70.571618 110.473194) + (xy 70.569385 110.478082) + (xy 70.569382 110.478088) + (xy 70.514626 110.597987) + (xy 70.514624 110.597993) + (xy 70.512392 110.602881) + (xy 70.511627 110.608195) + (xy 70.511626 110.608202) + (xy 70.496789 110.711398) + (xy 70.492102 110.744) + (xy 70.492867 110.749321) + (xy 70.511626 110.879797) + (xy 70.511627 110.879802) + (xy 70.512392 110.885119) + (xy 70.514624 110.890008) + (xy 70.514626 110.890012) + (xy 70.569382 111.009911) + (xy 70.569383 111.009913) + (xy 70.571618 111.014806) + (xy 70.575138 111.018869) + (xy 70.57514 111.018871) + (xy 70.656632 111.112917) + (xy 70.670259 111.135883) + (xy 70.675 111.162163) + (xy 70.675 111.61583) + (xy 70.674714 111.622384) + (xy 70.672792 111.644357) + (xy 70.671323 111.661143) + (xy 70.673024 111.667493) + (xy 70.673025 111.667498) + (xy 70.681394 111.698731) + (xy 70.682813 111.705133) + (xy 70.688425 111.736961) + (xy 70.688426 111.736963) + (xy 70.689568 111.74344) + (xy 70.692856 111.749136) + (xy 70.695107 111.755319) + (xy 70.695098 111.755321) + (xy 70.695857 111.757153) + (xy 70.695865 111.75715) + (xy 70.698644 111.763111) + (xy 70.700348 111.769466) + (xy 70.704121 111.774854) + (xy 70.722662 111.801335) + (xy 70.726185 111.806866) + (xy 70.742348 111.834861) + (xy 70.742353 111.834867) + (xy 70.74564 111.84056) + (xy 70.759908 111.852532) + (xy 70.775448 111.865572) + (xy 70.780284 111.870004) + (xy 71.136995 112.226715) + (xy 71.141427 112.231551) + (xy 71.16644 112.26136) + (xy 71.200144 112.280819) + (xy 71.205646 112.284323) + (xy 71.237534 112.306651) + (xy 71.24389 112.308354) + (xy 71.249852 112.311134) + (xy 71.249847 112.311143) + (xy 71.251675 112.3119) + (xy 71.251679 112.311892) + (xy 71.257862 112.314142) + (xy 71.26356 112.317432) + (xy 71.301885 112.324189) + (xy 71.30827 112.325604) + (xy 71.345857 112.335677) + (xy 71.384616 112.332285) + (xy 71.39117 112.332) + (xy 71.440731 112.332) + (xy 71.48251 112.344673) + (xy 71.510207 112.378422) + (xy 71.514486 112.421871) + (xy 71.493905 112.460374) + (xy 70.780288 113.17399) + (xy 70.775454 113.178421) + (xy 70.750678 113.199211) + (xy 70.750673 113.199215) + (xy 70.74564 113.20344) + (xy 70.742355 113.209129) + (xy 70.742352 113.209133) + (xy 70.726189 113.237128) + (xy 70.722667 113.242655) + (xy 70.704122 113.269142) + (xy 70.704119 113.269147) + (xy 70.700348 113.274534) + (xy 70.698644 113.280888) + (xy 70.695867 113.286846) + (xy 70.69586 113.286842) + (xy 70.695099 113.288678) + (xy 70.695106 113.288681) + (xy 70.692854 113.294866) + (xy 70.689568 113.30056) + (xy 70.688426 113.307032) + (xy 70.688425 113.307037) + (xy 70.682813 113.338865) + (xy 70.681394 113.345266) + (xy 70.673025 113.376499) + (xy 70.673024 113.376507) + (xy 70.671323 113.382857) + (xy 70.671896 113.389408) + (xy 70.671896 113.38941) + (xy 70.674714 113.421616) + (xy 70.675 113.42817) + (xy 70.675 113.627837) + (xy 70.670259 113.654117) + (xy 70.656632 113.677083) + (xy 70.57514 113.771128) + (xy 70.575136 113.771133) + (xy 70.571618 113.775194) + (xy 70.569385 113.780082) + (xy 70.569382 113.780088) + (xy 70.514626 113.899987) + (xy 70.514624 113.899993) + (xy 70.512392 113.904881) + (xy 70.511627 113.910195) + (xy 70.511626 113.910202) + (xy 70.497651 114.007405) + (xy 70.492102 114.046) + (xy 68.675567 114.046) + (xy 68.683466 113.986) + (xy 68.663687 113.835764) + (xy 68.605698 113.695767) + (xy 68.513451 113.575549) + (xy 68.393233 113.483302) + (xy 68.388688 113.481419) + (xy 68.388684 113.481417) + (xy 68.257784 113.427197) + (xy 68.253236 113.425313) + (xy 68.248357 113.42467) + (xy 68.248355 113.42467) + (xy 68.143153 113.41082) + (xy 68.143148 113.410819) + (xy 68.14072 113.4105) + (xy 68.06528 113.4105) + (xy 68.062852 113.410819) + (xy 68.062846 113.41082) + (xy 67.957644 113.42467) + (xy 67.95764 113.424671) + (xy 67.952764 113.425313) + (xy 67.948216 113.427196) + (xy 67.948215 113.427197) + (xy 67.817315 113.481417) + (xy 67.817307 113.481421) + (xy 67.812767 113.483302) + (xy 67.808862 113.486297) + (xy 67.808859 113.4863) + (xy 67.696455 113.572551) + (xy 67.696451 113.572554) + (xy 67.692549 113.575549) + (xy 67.689554 113.579451) + (xy 67.689551 113.579455) + (xy 67.6033 113.691859) + (xy 67.603297 113.691862) + (xy 67.600302 113.695767) + (xy 67.598421 113.700307) + (xy 67.598417 113.700315) + (xy 67.544197 113.831215) + (xy 67.542313 113.835764) + (xy 67.541671 113.84064) + (xy 67.54167 113.840644) + (xy 67.532513 113.910202) + (xy 67.522534 113.986) + (xy 67.3635 113.986) + (xy 67.3635 113.592902) + (xy 67.361407 113.585092) + (xy 67.353598 113.583) + (xy 66.809902 113.583) + (xy 66.802092 113.585092) + (xy 66.8 113.592902) + (xy 66.8 114.674416) + (xy 66.546 114.674416) + (xy 66.546 113.592902) + (xy 66.543907 113.585092) + (xy 66.536098 113.583) + (xy 65.992402 113.583) + (xy 65.984592 113.585092) + (xy 65.9825 113.592902) + (xy 65.9825 114.045491) + (xy 32 114.045491) + (xy 32 114.007405) + (xy 32 114) + (xy 30 112) + (xy 25.0752 112) + (xy 25.0376 111.989925) + (xy 25.010075 111.9624) + (xy 25 111.9248) + (xy 25 106.630095) + (xy 29.575241 106.630095) + (xy 29.579977 106.636939) + (xy 29.628778 106.676988) + (xy 29.634886 106.68107) + (xy 29.809134 106.774207) + (xy 29.815926 106.77702) + (xy 30.004991 106.834372) + (xy 30.012201 106.835807) + (xy 30.208825 106.855173) + (xy 30.216175 106.855173) + (xy 30.412798 106.835807) + (xy 30.420008 106.834372) + (xy 30.609073 106.77702) + (xy 30.615865 106.774207) + (xy 30.790113 106.68107) + (xy 30.796221 106.676988) + (xy 30.84502 106.636939) + (xy 30.849757 106.630096) + (xy 30.845711 106.622816) + (xy 30.686013 106.463118) + (xy 31.7115 106.463118) + (xy 31.714294 106.492913) + (xy 31.715802 106.497223) + (xy 31.715803 106.497227) + (xy 31.75634 106.613076) + (xy 31.756341 106.613078) + (xy 31.758201 106.618393) + (xy 31.761543 106.622921) + (xy 31.761544 106.622923) + (xy 31.829233 106.714637) + (xy 31.837144 106.725356) + (xy 31.944107 106.804299) + (xy 32.069587 106.848206) + (xy 32.099382 106.851) + (xy 33.403864 106.851) + (xy 33.405618 106.851) + (xy 33.435413 106.848206) + (xy 33.560893 106.804299) + (xy 33.667856 106.725356) + (xy 33.746799 106.618393) + (xy 33.790706 106.492913) + (xy 33.7935 106.463118) + (xy 33.7935 106.230529) + (xy 33.810569 106.182823) + (xy 33.854028 106.156774) + (xy 34.160727 106.095764) + (xy 34.47331 106.00094) + (xy 34.775093 105.875934) + (xy 35.063171 105.721951) + (xy 35.33477 105.540473) + (xy 35.587272 105.333248) + (xy 35.657744 105.262776) + (xy 35.657746 105.262776) + (xy 36.001694 104.918827) + (xy 38.285289 104.918827) + (xy 38.286335 104.92436) + (xy 38.286336 104.924362) + (xy 38.295947 104.97516) + (xy 38.296418 104.977931) + (xy 38.30116 105.009394) + (xy 38.304967 105.034647) + (xy 38.307411 105.039722) + (xy 38.30811 105.041988) + (xy 38.308221 105.042435) + (xy 38.308394 105.042853) + (xy 38.309181 105.045102) + (xy 38.310228 105.050634) + (xy 38.312859 105.055612) + (xy 38.337022 105.101332) + (xy 38.338281 105.103825) + (xy 38.363171 105.155509) + (xy 38.367 105.159636) + (xy 38.36834 105.161601) + (xy 38.368575 105.161992) + (xy 38.368863 105.162339) + (xy 38.370278 105.164256) + (xy 38.37291 105.169235) + (xy 38.376894 105.173219) + (xy 38.413458 105.209783) + (xy 38.415409 105.211808) + (xy 38.445858 105.244624) + (xy 38.454413 105.253844) + (xy 38.459291 105.25666) + (xy 38.461148 105.258141) + (xy 38.467435 105.26376) + (xy 38.886183 105.682508) + (xy 38.901413 105.704442) + (xy 38.948618 105.807806) + (xy 38.952138 105.811869) + (xy 38.95214 105.811871) + (xy 38.963043 105.824453) + (xy 39.041982 105.915553) + (xy 39.046504 105.918459) + (xy 39.046505 105.91846) + (xy 39.143146 105.980568) + (xy 39.161919 105.992633) + (xy 39.298715 106.0328) + (xy 39.435904 106.0328) + (xy 39.441285 106.0328) + (xy 39.578081 105.992633) + (xy 39.698018 105.915553) + (xy 39.791382 105.807806) + (xy 39.850608 105.678119) + (xy 39.870898 105.537) + (xy 39.867766 105.51522) + (xy 39.851373 105.401202) + (xy 39.850608 105.395881) + (xy 39.791382 105.266194) + (xy 39.784356 105.258086) + (xy 39.742501 105.209783) + (xy 39.698018 105.158447) + (xy 39.693496 105.155541) + (xy 39.693494 105.155539) + (xy 39.582602 105.084272) + (xy 39.582599 105.08427) + (xy 39.578081 105.081367) + (xy 39.54781 105.072478) + (xy 39.515824 105.053499) + (xy 39.202026 104.739701) + (xy 39.185724 104.715305) + (xy 39.18 104.686527) + (xy 39.18 102.831473) + (xy 39.185724 102.802695) + (xy 39.202023 102.778301) + (xy 39.664023 102.3163) + (xy 39.670291 102.310699) + (xy 39.699892 102.287095) + (xy 39.732214 102.239684) + (xy 39.733803 102.237447) + (xy 39.767875 102.191283) + (xy 39.769739 102.185953) + (xy 39.770834 102.183882) + (xy 39.771077 102.183478) + (xy 39.77108 102.183472) + (xy 39.77126 102.183039) + (xy 39.77228 102.180919) + (xy 39.775459 102.176259) + (xy 39.79238 102.121399) + (xy 39.793224 102.118835) + (xy 39.812181 102.064665) + (xy 39.812391 102.059027) + (xy 39.812831 102.056705) + (xy 39.812942 102.056257) + (xy 39.812987 102.055779) + (xy 39.813335 102.053466) + (xy 39.815 102.048073) + (xy 39.815 101.990724) + (xy 39.815053 101.987912) + (xy 39.81648 101.949762) + (xy 39.817197 101.930613) + (xy 39.815737 101.925167) + (xy 39.815473 101.922817) + (xy 39.815 101.914397) + (xy 39.815 99.168448) + (xy 39.821796 99.137209) + (xy 39.848373 99.079012) + (xy 39.850608 99.074119) + (xy 39.870898 98.933) + (xy 39.850608 98.791881) + (xy 39.791382 98.662194) + (xy 39.698018 98.554447) + (xy 39.693496 98.551541) + (xy 39.693494 98.551539) + (xy 39.582602 98.480272) + (xy 39.582599 98.48027) + (xy 39.578081 98.477367) + (xy 39.572925 98.475853) + (xy 39.572923 98.475852) + (xy 39.446447 98.438715) + (xy 39.446442 98.438714) + (xy 39.441285 98.4372) + (xy 39.298715 98.4372) + (xy 39.293558 98.438714) + (xy 39.293552 98.438715) + (xy 39.167076 98.475852) + (xy 39.167071 98.475854) + (xy 39.161919 98.477367) + (xy 39.157403 98.480269) + (xy 39.157397 98.480272) + (xy 39.046505 98.551539) + (xy 39.046499 98.551543) + (xy 39.041982 98.554447) + (xy 39.038461 98.558509) + (xy 39.03846 98.558511) + (xy 38.95214 98.658128) + (xy 38.952136 98.658133) + (xy 38.948618 98.662194) + (xy 38.946385 98.667082) + (xy 38.946382 98.667088) + (xy 38.891626 98.786987) + (xy 38.891624 98.786993) + (xy 38.889392 98.791881) + (xy 38.888627 98.797195) + (xy 38.888626 98.797202) + (xy 38.869993 98.926804) + (xy 38.869102 98.933) + (xy 38.869867 98.938321) + (xy 38.888626 99.068797) + (xy 38.888627 99.068802) + (xy 38.889392 99.074119) + (xy 38.891625 99.079008) + (xy 38.891626 99.079012) + (xy 38.918204 99.137209) + (xy 38.925 99.168448) + (xy 38.925 101.765527) + (xy 38.919276 101.794305) + (xy 38.902976 101.818698) + (xy 38.5508 102.170874) + (xy 38.440995 102.280679) + (xy 38.43471 102.286296) + (xy 38.409515 102.306389) + (xy 38.40951 102.306394) + (xy 38.405108 102.309905) + (xy 38.401935 102.314558) + (xy 38.401931 102.314563) + (xy 38.37281 102.357275) + (xy 38.371206 102.359536) + (xy 38.337125 102.405716) + (xy 38.335264 102.41103) + (xy 38.334144 102.413151) + (xy 38.333919 102.413524) + (xy 38.333745 102.413945) + (xy 38.332714 102.416085) + (xy 38.329541 102.420741) + (xy 38.32788 102.426123) + (xy 38.32788 102.426125) + (xy 38.312638 102.475535) + (xy 38.311759 102.478204) + (xy 38.294679 102.527015) + (xy 38.294677 102.527024) + (xy 38.292819 102.532335) + (xy 38.292608 102.53796) + (xy 38.292164 102.540308) + (xy 38.292057 102.540739) + (xy 38.292015 102.541187) + (xy 38.291659 102.543543) + (xy 38.29 102.548927) + (xy 38.29 102.554561) + (xy 38.29 102.606293) + (xy 38.289947 102.609104) + (xy 38.288014 102.660755) + (xy 38.288014 102.660759) + (xy 38.287804 102.666386) + (xy 38.289261 102.671826) + (xy 38.289527 102.674181) + (xy 38.29 102.682599) + (xy 38.29 104.872793) + (xy 38.289527 104.881212) + (xy 38.285919 104.913229) + (xy 38.285919 104.913233) + (xy 38.285289 104.918827) + (xy 36.001694 104.918827) + (xy 36.252752 104.667769) + (xy 36.252757 104.667767) + (xy 36.291503 104.629019) + (xy 36.291547 104.628986) + (xy 36.291553 104.628992) + (xy 36.400662 104.51988) + (xy 36.596438 104.28132) + (xy 36.76789 104.024718) + (xy 36.913365 103.752548) + (xy 37.031463 103.467429) + (xy 37.121046 103.172108) + (xy 37.181252 102.869428) + (xy 37.2115 102.562305) + (xy 37.2115 102.408) + (xy 37.2115 102.353149) + (xy 37.2115 98.556664) + (xy 37.211501 98.556661) + (xy 37.2115 98.504759) + (xy 37.211732 98.498861) + (xy 37.213543 98.475852) + (xy 37.222353 98.363887) + (xy 37.224196 98.352252) + (xy 37.255112 98.223472) + (xy 37.258749 98.212275) + (xy 37.309435 98.089906) + (xy 37.314781 98.079415) + (xy 37.342358 98.034413) + (xy 37.360766 98.013994) + (xy 37.385289 98.001555) + (xy 37.413921 97.993148) + (xy 37.41392 97.993148) + (xy 37.419081 97.991633) + (xy 37.539018 97.914553) + (xy 37.632382 97.806806) + (xy 37.691608 97.677119) + (xy 37.711898 97.536) + (xy 37.691608 97.394881) + (xy 37.632382 97.265194) + (xy 37.539018 97.157447) + (xy 37.534496 97.154541) + (xy 37.534494 97.154539) + (xy 37.423602 97.083272) + (xy 37.423599 97.08327) + (xy 37.419081 97.080367) + (xy 37.413925 97.078853) + (xy 37.413923 97.078852) + (xy 37.287447 97.041715) + (xy 37.287442 97.041714) + (xy 37.282285 97.0402) + (xy 37.139715 97.0402) + (xy 37.134558 97.041714) + (xy 37.134552 97.041715) + (xy 37.008076 97.078852) + (xy 37.008071 97.078854) + (xy 37.002919 97.080367) + (xy 36.998403 97.083269) + (xy 36.998397 97.083272) + (xy 36.887505 97.154539) + (xy 36.887499 97.154543) + (xy 36.882982 97.157447) + (xy 36.879461 97.161509) + (xy 36.87946 97.161511) + (xy 36.79314 97.261128) + (xy 36.793136 97.261133) + (xy 36.789618 97.265194) + (xy 36.787385 97.270082) + (xy 36.787382 97.270088) + (xy 36.732626 97.389987) + (xy 36.732624 97.389993) + (xy 36.730392 97.394881) + (xy 36.729627 97.400195) + (xy 36.729626 97.400202) + (xy 36.715238 97.50028) + (xy 36.710102 97.536) + (xy 36.710867 97.541321) + (xy 36.710867 97.541324) + (xy 36.713525 97.559816) + (xy 36.704216 97.608113) + (xy 36.61875 97.756148) + (xy 36.617813 97.758408) + (xy 36.617808 97.75842) + (xy 36.535296 97.957625) + (xy 36.535291 97.957638) + (xy 36.534358 97.959892) + (xy 36.533727 97.962243) + (xy 36.533723 97.962258) + (xy 36.499518 98.08992) + (xy 36.477282 98.172909) + (xy 36.476963 98.175331) + (xy 36.476961 98.175342) + (xy 36.448819 98.389118) + (xy 36.448818 98.389126) + (xy 36.448499 98.391553) + (xy 36.448499 98.394009) + (xy 36.448499 98.39401) + (xy 36.4485 98.449429) + (xy 36.4485 102.405885) + (xy 36.448382 102.410102) + (xy 36.433784 102.670029) + (xy 36.43284 102.678408) + (xy 36.389587 102.932985) + (xy 36.38771 102.941207) + (xy 36.316227 103.189332) + (xy 36.313442 103.197291) + (xy 36.214627 103.435857) + (xy 36.210968 103.443455) + (xy 36.086066 103.669454) + (xy 36.08158 103.676594) + (xy 35.932158 103.88719) + (xy 35.9269 103.893784) + (xy 35.75361 104.087699) + (xy 35.750715 104.090761) + (xy 35.73511 104.106368) + (xy 35.735106 104.106372) + (xy 35.164723 104.676752) + (xy 35.161658 104.679649) + (xy 34.952198 104.866835) + (xy 34.945605 104.872093) + (xy 34.718221 105.033431) + (xy 34.711081 105.037918) + (xy 34.467052 105.17279) + (xy 34.459455 105.176448) + (xy 34.201878 105.283143) + (xy 34.193918 105.285929) + (xy 33.925995 105.363119) + (xy 33.917775 105.364995) + (xy 33.909616 105.366381) + (xy 33.881296 105.371193) + (xy 33.83863 105.365983) + (xy 33.805786 105.33825) + (xy 33.7935 105.297057) + (xy 33.7935 105.158636) + (xy 33.7935 105.156882) + (xy 33.790706 105.127087) + (xy 33.746799 105.001607) + (xy 33.667856 104.894644) + (xy 33.663328 104.891302) + (xy 33.565423 104.819044) + (xy 33.565421 104.819043) + (xy 33.560893 104.815701) + (xy 33.555578 104.813841) + (xy 33.555576 104.81384) + (xy 33.439727 104.773303) + (xy 33.439723 104.773302) + (xy 33.435413 104.771794) + (xy 33.430865 104.771367) + (xy 33.430863 104.771367) + (xy 33.407359 104.769163) + (xy 33.407353 104.769162) + (xy 33.405618 104.769) + (xy 32.099382 104.769) + (xy 32.097647 104.769162) + (xy 32.09764 104.769163) + (xy 32.074136 104.771367) + (xy 32.074132 104.771367) + (xy 32.069587 104.771794) + (xy 32.065278 104.773301) + (xy 32.065272 104.773303) + (xy 31.949423 104.81384) + (xy 31.949418 104.813842) + (xy 31.944107 104.815701) + (xy 31.939581 104.819041) + (xy 31.939576 104.819044) + (xy 31.841671 104.891302) + (xy 31.841667 104.891305) + (xy 31.837144 104.894644) + (xy 31.833805 104.899167) + (xy 31.833802 104.899171) + (xy 31.761544 104.997076) + (xy 31.761541 104.997081) + (xy 31.758201 105.001607) + (xy 31.756342 105.006918) + (xy 31.75634 105.006923) + (xy 31.715803 105.122772) + (xy 31.715801 105.122778) + (xy 31.714294 105.127087) + (xy 31.713867 105.131632) + (xy 31.713867 105.131636) + (xy 31.712104 105.150436) + (xy 31.7115 105.156882) + (xy 31.7115 106.463118) + (xy 30.686013 106.463118) + (xy 30.2195 105.996605) + (xy 30.2125 105.992563) + (xy 30.205499 105.996605) + (xy 29.579287 106.622816) + (xy 29.575241 106.630095) + (xy 25 106.630095) + (xy 25 105.813675) + (xy 29.167327 105.813675) + (xy 29.186692 106.010298) + (xy 29.188127 106.017508) + (xy 29.245479 106.206573) + (xy 29.248292 106.213365) + (xy 29.341429 106.387613) + (xy 29.345511 106.393722) + (xy 29.385559 106.442521) + (xy 29.392403 106.447257) + (xy 29.399682 106.443211) + (xy 30.025894 105.817) + (xy 30.029936 105.81) + (xy 30.395063 105.81) + (xy 30.399105 105.817) + (xy 31.025316 106.443211) + (xy 31.032596 106.447257) + (xy 31.039439 106.44252) + (xy 31.079488 106.393721) + (xy 31.08357 106.387613) + (xy 31.176707 106.213365) + (xy 31.17952 106.206573) + (xy 31.236872 106.017508) + (xy 31.238307 106.010298) + (xy 31.257673 105.813675) + (xy 31.257673 105.806325) + (xy 31.238307 105.609701) + (xy 31.236872 105.602491) + (xy 31.17952 105.413426) + (xy 31.176707 105.406634) + (xy 31.08357 105.232386) + (xy 31.079488 105.226278) + (xy 31.039439 105.177477) + (xy 31.032595 105.172741) + (xy 31.025316 105.176787) + (xy 30.399105 105.802999) + (xy 30.395063 105.81) + (xy 30.029936 105.81) + (xy 30.025894 105.802999) + (xy 29.399682 105.176787) + (xy 29.392403 105.172742) + (xy 29.385558 105.177479) + (xy 29.345508 105.226281) + (xy 29.341431 105.232383) + (xy 29.248292 105.406634) + (xy 29.245479 105.413426) + (xy 29.188127 105.602491) + (xy 29.186692 105.609701) + (xy 29.167327 105.806325) + (xy 29.167327 105.813675) + (xy 25 105.813675) + (xy 25 104.989903) + (xy 29.575242 104.989903) + (xy 29.579287 104.997182) + (xy 30.205499 105.623394) + (xy 30.2125 105.627436) + (xy 30.2195 105.623394) + (xy 30.845711 104.997182) + (xy 30.849757 104.989903) + (xy 30.845021 104.983059) + (xy 30.796222 104.943011) + (xy 30.790113 104.938929) + (xy 30.615865 104.845792) + (xy 30.609073 104.842979) + (xy 30.420008 104.785627) + (xy 30.412798 104.784192) + (xy 30.216175 104.764827) + (xy 30.208825 104.764827) + (xy 30.012201 104.784192) + (xy 30.004991 104.785627) + (xy 29.815926 104.842979) + (xy 29.809134 104.845792) + (xy 29.634883 104.938931) + (xy 29.628781 104.943008) + (xy 29.579979 104.983058) + (xy 29.575242 104.989903) + (xy 25 104.989903) + (xy 25 104.090095) + (xy 29.575241 104.090095) + (xy 29.579977 104.096939) + (xy 29.628778 104.136988) + (xy 29.634886 104.14107) + (xy 29.809134 104.234207) + (xy 29.815926 104.23702) + (xy 30.004991 104.294372) + (xy 30.012201 104.295807) + (xy 30.208825 104.315173) + (xy 30.216175 104.315173) + (xy 30.412798 104.295807) + (xy 30.420008 104.294372) + (xy 30.609073 104.23702) + (xy 30.615865 104.234207) + (xy 30.790113 104.14107) + (xy 30.796221 104.136988) + (xy 30.84502 104.096939) + (xy 30.849757 104.090096) + (xy 30.845711 104.082816) + (xy 30.2195 103.456605) + (xy 30.2125 103.452563) + (xy 30.205499 103.456605) + (xy 29.579287 104.082816) + (xy 29.575241 104.090095) + (xy 25 104.090095) + (xy 25 103.273675) + (xy 29.167327 103.273675) + (xy 29.186692 103.470298) + (xy 29.188127 103.477508) + (xy 29.245479 103.666573) + (xy 29.248292 103.673365) + (xy 29.341429 103.847613) + (xy 29.345511 103.853722) + (xy 29.385559 103.902521) + (xy 29.392403 103.907257) + (xy 29.399682 103.903211) + (xy 30.025894 103.277) + (xy 30.029936 103.27) + (xy 30.395063 103.27) + (xy 30.399105 103.277) + (xy 31.025316 103.903211) + (xy 31.032596 103.907257) + (xy 31.039439 103.90252) + (xy 31.079488 103.853721) + (xy 31.08357 103.847613) + (xy 31.176707 103.673365) + (xy 31.17952 103.666573) + (xy 31.236872 103.477508) + (xy 31.238307 103.470298) + (xy 31.257673 103.273675) + (xy 31.257673 103.27) + (xy 31.706463 103.27) + (xy 31.706825 103.273675) + (xy 31.706825 103.273676) + (xy 31.725907 103.467429) + (xy 31.726562 103.474072) + (xy 31.727632 103.477601) + (xy 31.727633 103.477603) + (xy 31.785016 103.666769) + (xy 31.785018 103.666774) + (xy 31.786088 103.670301) + (xy 31.882752 103.851147) + (xy 31.885096 103.854003) + (xy 31.885098 103.854006) + (xy 32.003994 103.998881) + (xy 32.01284 104.00966) + (xy 32.015695 104.012003) + (xy 32.11085 104.090095) + (xy 32.171353 104.139748) + (xy 32.352199 104.236412) + (xy 32.548428 104.295938) + (xy 32.732346 104.314052) + (xy 32.743727 104.315173) + (xy 32.7525 104.316037) + (xy 32.761273 104.315173) + (xy 32.772654 104.314052) + (xy 32.956572 104.295938) + (xy 33.152801 104.236412) + (xy 33.333647 104.139748) + (xy 33.49216 104.00966) + (xy 33.622248 103.851147) + (xy 33.718912 103.670301) + (xy 33.734509 103.618883) + (xy 33.75597 103.584993) + (xy 33.791799 103.566958) + (xy 33.816778 103.561991) + (xy 34.108979 103.473356) + (xy 34.391084 103.356507) + (xy 34.660378 103.212569) + (xy 34.914266 103.042928) + (xy 35.150304 102.849218) + (xy 35.258261 102.741261) + (xy 35.297047 102.702475) + (xy 35.512246 102.487275) + (xy 35.512262 102.487262) + (xy 35.512266 102.487266) + (xy 35.600284 102.399249) + (xy 35.751835 102.201743) + (xy 35.87631 101.986145) + (xy 35.971578 101.756144) + (xy 36.036009 101.515675) + (xy 36.068501 101.268854) + (xy 36.0685 101.144379) + (xy 36.0685 101.130301) + (xy 36.0685 98.504283) + (xy 36.068501 98.50428) + (xy 36.0685 98.451541) + (xy 36.068618 98.447326) + (xy 36.083583 98.180791) + (xy 36.084527 98.172415) + (xy 36.102977 98.063821) + (xy 36.128889 97.911303) + (xy 36.130761 97.903107) + (xy 36.204076 97.648612) + (xy 36.206855 97.640669) + (xy 36.308214 97.395964) + (xy 36.311862 97.388392) + (xy 36.439972 97.156589) + (xy 36.444457 97.149453) + (xy 36.597716 96.933453) + (xy 36.602963 96.926875) + (xy 36.611068 96.917806) + (xy 36.780688 96.727999) + (xy 36.783568 96.724952) + (xy 37.233298 96.275223) + (xy 37.27577 96.253963) + (xy 37.276904 96.2538) + (xy 37.282285 96.2538) + (xy 37.419081 96.213633) + (xy 37.539018 96.136553) + (xy 37.632382 96.028806) + (xy 37.691608 95.899119) + (xy 37.711898 95.758) + (xy 37.691608 95.616881) + (xy 37.632382 95.487194) + (xy 37.539018 95.379447) + (xy 37.534496 95.376541) + (xy 37.534494 95.376539) + (xy 37.423602 95.305272) + (xy 37.423599 95.30527) + (xy 37.419081 95.302367) + (xy 37.413925 95.300853) + (xy 37.413923 95.300852) + (xy 37.287447 95.263715) + (xy 37.287442 95.263714) + (xy 37.282285 95.2622) + (xy 37.139715 95.2622) + (xy 37.134558 95.263714) + (xy 37.134552 95.263715) + (xy 37.008076 95.300852) + (xy 37.008071 95.300854) + (xy 37.002919 95.302367) + (xy 36.998403 95.305269) + (xy 36.998397 95.305272) + (xy 36.887505 95.376539) + (xy 36.887499 95.376543) + (xy 36.882982 95.379447) + (xy 36.879461 95.383509) + (xy 36.87946 95.383511) + (xy 36.79314 95.483128) + (xy 36.793136 95.483133) + (xy 36.789618 95.487194) + (xy 36.787385 95.492082) + (xy 36.787382 95.492088) + (xy 36.737131 95.602124) + (xy 36.730392 95.616881) + (xy 36.729627 95.622202) + (xy 36.729625 95.622209) + (xy 36.720149 95.688115) + (xy 36.698889 95.730586) + (xy 36.242772 96.186703) + (xy 36.242732 96.186732) + (xy 36.242729 96.186729) + (xy 36.2427 96.186757) + (xy 36.242696 96.186761) + (xy 36.132873 96.296585) + (xy 36.132863 96.296595) + (xy 36.13157 96.297889) + (xy 36.130409 96.299303) + (xy 36.130396 96.299318) + (xy 35.933287 96.539497) + (xy 35.932112 96.540929) + (xy 35.931098 96.542446) + (xy 35.931088 96.54246) + (xy 35.758453 96.800829) + (xy 35.758447 96.800838) + (xy 35.757438 96.802349) + (xy 35.756579 96.803955) + (xy 35.756576 96.803961) + (xy 35.610092 97.078015) + (xy 35.610086 97.078027) + (xy 35.609229 97.079631) + (xy 35.608533 97.081309) + (xy 35.608525 97.081328) + (xy 35.489618 97.368402) + (xy 35.489612 97.368416) + (xy 35.488913 97.370106) + (xy 35.488382 97.371853) + (xy 35.488377 97.37187) + (xy 35.417272 97.606278) + (xy 35.397647 97.670975) + (xy 35.397288 97.672775) + (xy 35.397285 97.672791) + (xy 35.336673 97.977523) + (xy 35.336671 97.977534) + (xy 35.336312 97.979341) + (xy 35.336131 97.981171) + (xy 35.33613 97.981183) + (xy 35.305677 98.290406) + (xy 35.305675 98.290426) + (xy 35.305498 98.292234) + (xy 35.3055 98.417822) + (xy 35.3055 101.089533) + (xy 35.305499 101.089536) + (xy 35.305499 101.08954) + (xy 35.305499 101.089541) + (xy 35.305499 101.141436) + (xy 35.305267 101.147335) + (xy 35.291978 101.316215) + (xy 35.290132 101.32787) + (xy 35.25128 101.489709) + (xy 35.247634 101.500933) + (xy 35.183941 101.654703) + (xy 35.178584 101.665217) + (xy 35.091616 101.807137) + (xy 35.084679 101.816684) + (xy 34.974722 101.945426) + (xy 34.970714 101.949762) + (xy 34.720223 102.200252) + (xy 34.717158 102.203149) + (xy 34.525829 102.374132) + (xy 34.519236 102.37939) + (xy 34.311678 102.526658) + (xy 34.304537 102.531145) + (xy 34.081798 102.654247) + (xy 34.0742 102.657906) + (xy 33.839076 102.755295) + (xy 33.831116 102.75808) + (xy 33.740642 102.784144) + (xy 33.69056 102.781155) + (xy 33.653506 102.747333) + (xy 33.622248 102.688853) + (xy 33.49216 102.53034) + (xy 33.489304 102.527996) + (xy 33.336506 102.402598) + (xy 33.336503 102.402596) + (xy 33.333647 102.400252) + (xy 33.152801 102.303588) + (xy 33.149274 102.302518) + (xy 33.149269 102.302516) + (xy 32.960103 102.245133) + (xy 32.960101 102.245132) + (xy 32.956572 102.244062) + (xy 32.952901 102.2437) + (xy 32.952899 102.2437) + (xy 32.756176 102.224325) + (xy 32.7525 102.223963) + (xy 32.748824 102.224325) + (xy 32.5521 102.2437) + (xy 32.552096 102.2437) + (xy 32.548428 102.244062) + (xy 32.5449 102.245132) + (xy 32.544896 102.245133) + (xy 32.35573 102.302516) + (xy 32.355722 102.302519) + (xy 32.352199 102.303588) + (xy 32.348947 102.305325) + (xy 32.348945 102.305327) + (xy 32.174611 102.39851) + (xy 32.174606 102.398512) + (xy 32.171353 102.400252) + (xy 32.1685 102.402593) + (xy 32.168493 102.402598) + (xy 32.015695 102.527996) + (xy 32.015689 102.528001) + (xy 32.01284 102.53034) + (xy 32.010501 102.533189) + (xy 32.010496 102.533195) + (xy 31.885098 102.685993) + (xy 31.885093 102.686) + (xy 31.882752 102.688853) + (xy 31.881012 102.692106) + (xy 31.88101 102.692111) + (xy 31.831818 102.784144) + (xy 31.786088 102.869699) + (xy 31.785019 102.873222) + (xy 31.785016 102.87323) + (xy 31.728346 103.060047) + (xy 31.726562 103.065928) + (xy 31.7262 103.069596) + (xy 31.7262 103.0696) + (xy 31.706825 103.266324) + (xy 31.706463 103.27) + (xy 31.257673 103.27) + (xy 31.257673 103.266325) + (xy 31.238307 103.069701) + (xy 31.236872 103.062491) + (xy 31.17952 102.873426) + (xy 31.176707 102.866634) + (xy 31.08357 102.692386) + (xy 31.079488 102.686278) + (xy 31.039439 102.637477) + (xy 31.032595 102.632741) + (xy 31.025316 102.636787) + (xy 30.399105 103.262999) + (xy 30.395063 103.27) + (xy 30.029936 103.27) + (xy 30.025894 103.262999) + (xy 29.399682 102.636787) + (xy 29.392403 102.632742) + (xy 29.385558 102.637479) + (xy 29.345508 102.686281) + (xy 29.341431 102.692383) + (xy 29.248292 102.866634) + (xy 29.245479 102.873426) + (xy 29.188127 103.062491) + (xy 29.186692 103.069701) + (xy 29.167327 103.266325) + (xy 29.167327 103.273675) + (xy 25 103.273675) + (xy 25 102.449903) + (xy 29.575242 102.449903) + (xy 29.579287 102.457182) + (xy 30.205499 103.083394) + (xy 30.2125 103.087436) + (xy 30.2195 103.083394) + (xy 30.845711 102.457182) + (xy 30.849757 102.449903) + (xy 30.845021 102.443059) + (xy 30.796222 102.403011) + (xy 30.790113 102.398929) + (xy 30.615865 102.305792) + (xy 30.609073 102.302979) + (xy 30.420008 102.245627) + (xy 30.412798 102.244192) + (xy 30.216175 102.224827) + (xy 30.208825 102.224827) + (xy 30.012201 102.244192) + (xy 30.004991 102.245627) + (xy 29.815926 102.302979) + (xy 29.809134 102.305792) + (xy 29.634883 102.398931) + (xy 29.628781 102.403008) + (xy 29.579979 102.443058) + (xy 29.575242 102.449903) + (xy 25 102.449903) + (xy 25 101.550095) + (xy 29.575241 101.550095) + (xy 29.579977 101.556939) + (xy 29.628778 101.596988) + (xy 29.634886 101.60107) + (xy 29.809134 101.694207) + (xy 29.815926 101.69702) + (xy 30.004991 101.754372) + (xy 30.012201 101.755807) + (xy 30.208825 101.775173) + (xy 30.216175 101.775173) + (xy 30.412798 101.755807) + (xy 30.420008 101.754372) + (xy 30.609073 101.69702) + (xy 30.615865 101.694207) + (xy 30.790113 101.60107) + (xy 30.796221 101.596988) + (xy 30.84502 101.556939) + (xy 30.849757 101.550096) + (xy 30.845711 101.542816) + (xy 30.2195 100.916605) + (xy 30.2125 100.912563) + (xy 30.205499 100.916605) + (xy 29.579287 101.542816) + (xy 29.575241 101.550095) + (xy 25 101.550095) + (xy 25 100.733675) + (xy 29.167327 100.733675) + (xy 29.186692 100.930298) + (xy 29.188127 100.937508) + (xy 29.245479 101.126573) + (xy 29.248292 101.133365) + (xy 29.341429 101.307613) + (xy 29.345511 101.313722) + (xy 29.385559 101.362521) + (xy 29.392403 101.367257) + (xy 29.399682 101.363211) + (xy 30.025894 100.737) + (xy 30.029936 100.73) + (xy 30.395063 100.73) + (xy 30.399105 100.737) + (xy 31.025316 101.363211) + (xy 31.032596 101.367257) + (xy 31.039439 101.36252) + (xy 31.079488 101.313721) + (xy 31.08357 101.307613) + (xy 31.176707 101.133365) + (xy 31.17952 101.126573) + (xy 31.236872 100.937508) + (xy 31.238307 100.930298) + (xy 31.257673 100.733675) + (xy 31.257673 100.73) + (xy 31.706463 100.73) + (xy 31.706825 100.733675) + (xy 31.706825 100.733676) + (xy 31.724841 100.916605) + (xy 31.726562 100.934072) + (xy 31.727632 100.937601) + (xy 31.727633 100.937603) + (xy 31.785016 101.126769) + (xy 31.785018 101.126774) + (xy 31.786088 101.130301) + (xy 31.882752 101.311147) + (xy 31.885096 101.314003) + (xy 31.885098 101.314006) + (xy 31.9288 101.367257) + (xy 32.01284 101.46966) + (xy 32.015695 101.472003) + (xy 32.11085 101.550095) + (xy 32.171353 101.599748) + (xy 32.352199 101.696412) + (xy 32.548428 101.755938) + (xy 32.735297 101.774342) + (xy 32.743727 101.775173) + (xy 32.7525 101.776037) + (xy 32.761273 101.775173) + (xy 32.768039 101.774506) + (xy 32.956572 101.755938) + (xy 33.152801 101.696412) + (xy 33.333647 101.599748) + (xy 33.49216 101.46966) + (xy 33.622248 101.311147) + (xy 33.718912 101.130301) + (xy 33.778438 100.934072) + (xy 33.780681 100.911294) + (xy 33.793885 100.875579) + (xy 33.822889 100.850913) + (xy 33.875967 100.825353) + (xy 34.096499 100.686783) + (xy 34.30013 100.524392) + (xy 34.374656 100.449864) + (xy 34.392202 100.432321) + (xy 34.392769 100.432888) + (xy 34.392784 100.432877) + (xy 34.392215 100.432308) + (xy 34.431001 100.393522) + (xy 34.431051 100.393429) + (xy 34.431173 100.393288) + (xy 34.476558 100.347908) + (xy 34.621863 100.158561) + (xy 34.741208 99.951867) + (xy 34.832554 99.731364) + (xy 34.894336 99.500824) + (xy 34.925497 99.264192) + (xy 34.925498 99.208508) + (xy 34.9255 99.208504) + (xy 34.9255 99.144832) + (xy 34.925502 99.090003) + (xy 34.9255 99.089996) + (xy 34.9255 96.949115) + (xy 34.925618 96.944899) + (xy 34.934148 96.793012) + (xy 34.939733 96.693552) + (xy 34.940677 96.685175) + (xy 34.965886 96.536806) + (xy 34.982491 96.43907) + (xy 34.984368 96.430852) + (xy 35.053472 96.190984) + (xy 35.056256 96.183031) + (xy 35.070573 96.148466) + (xy 35.151787 95.952395) + (xy 35.155432 95.944825) + (xy 35.276199 95.726314) + (xy 35.280668 95.719202) + (xy 35.425133 95.515598) + (xy 35.430376 95.509023) + (xy 35.59811 95.321328) + (xy 35.600991 95.318282) + (xy 35.638316 95.280956) + (xy 35.638315 95.280956) + (xy 35.638319 95.280953) + (xy 35.638318 95.280953) + (xy 35.740989 95.178284) + (xy 35.740996 95.178274) + (xy 35.84922 95.070051) + (xy 36.086633 94.787113) + (xy 36.298483 94.48456) + (xy 36.369821 94.361) + (xy 38.869102 94.361) + (xy 38.869867 94.366321) + (xy 38.888626 94.496797) + (xy 38.888627 94.496802) + (xy 38.889392 94.502119) + (xy 38.891624 94.507008) + (xy 38.891626 94.507012) + (xy 38.946382 94.626911) + (xy 38.946383 94.626913) + (xy 38.948618 94.631806) + (xy 38.952138 94.635869) + (xy 38.95214 94.635871) + (xy 38.975162 94.662439) + (xy 39.041982 94.739553) + (xy 39.046504 94.742459) + (xy 39.046505 94.74246) + (xy 39.154998 94.812185) + (xy 39.161919 94.816633) + (xy 39.298715 94.8568) + (xy 39.435904 94.8568) + (xy 39.441285 94.8568) + (xy 39.578081 94.816633) + (xy 39.698018 94.739553) + (xy 39.791382 94.631806) + (xy 39.850608 94.502119) + (xy 39.870898 94.361) + (xy 39.850608 94.219881) + (xy 39.822972 94.159367) + (xy 39.821796 94.156791) + (xy 39.815 94.125552) + (xy 39.815 91.020473) + (xy 39.820724 90.991695) + (xy 39.837026 90.967299) + (xy 40.802299 90.002026) + (xy 40.826695 89.985724) + (xy 40.855473 89.98) + (xy 45.1998 89.98) + (xy 45.2374 89.990075) + (xy 45.264925 90.0176) + (xy 45.275 90.0552) + (xy 45.275 96.1268) + (xy 45.264925 96.1644) + (xy 45.2374 96.191925) + (xy 45.1998 96.202) + (xy 45.07688 96.202) + (xy 45.04564 96.195204) + (xy 45.043605 96.194274) + (xy 45.039081 96.191367) + (xy 45.033923 96.189852) + (xy 45.03392 96.189851) + (xy 44.907447 96.152715) + (xy 44.907442 96.152714) + (xy 44.902285 96.1512) + (xy 44.759715 96.1512) + (xy 44.754558 96.152714) + (xy 44.754552 96.152715) + (xy 44.628076 96.189852) + (xy 44.628071 96.189854) + (xy 44.622919 96.191367) + (xy 44.618403 96.194269) + (xy 44.618397 96.194272) + (xy 44.507505 96.265539) + (xy 44.507499 96.265543) + (xy 44.502982 96.268447) + (xy 44.499461 96.272509) + (xy 44.49946 96.272511) + (xy 44.41314 96.372128) + (xy 44.413136 96.372133) + (xy 44.409618 96.376194) + (xy 44.407385 96.381082) + (xy 44.407382 96.381088) + (xy 44.352626 96.500987) + (xy 44.352624 96.500993) + (xy 44.350392 96.505881) + (xy 44.349627 96.511195) + (xy 44.349626 96.511202) + (xy 44.331038 96.640488) + (xy 44.330102 96.647) + (xy 44.330867 96.652321) + (xy 44.349626 96.782797) + (xy 44.349627 96.782802) + (xy 44.350392 96.788119) + (xy 44.352624 96.793008) + (xy 44.352626 96.793012) + (xy 44.407382 96.912911) + (xy 44.407383 96.912913) + (xy 44.409618 96.917806) + (xy 44.413138 96.921869) + (xy 44.41314 96.921871) + (xy 44.437889 96.950432) + (xy 44.502982 97.025553) + (xy 44.507504 97.028459) + (xy 44.507505 97.02846) + (xy 44.618397 97.099727) + (xy 44.622919 97.102633) + (xy 44.759715 97.1428) + (xy 44.896904 97.1428) + (xy 44.902285 97.1428) + (xy 45.039081 97.102633) + (xy 45.043606 97.099724) + (xy 45.04564 97.098796) + (xy 45.07688 97.092) + (xy 45.1998 97.092) + (xy 45.2374 97.102075) + (xy 45.264925 97.1296) + (xy 45.275 97.1672) + (xy 45.275 103.6198) + (xy 45.264925 103.6574) + (xy 45.2374 103.684925) + (xy 45.1998 103.695) + (xy 40.75888 103.695) + (xy 40.72764 103.688204) + (xy 40.725605 103.687274) + (xy 40.721081 103.684367) + (xy 40.715923 103.682852) + (xy 40.71592 103.682851) + (xy 40.589447 103.645715) + (xy 40.589442 103.645714) + (xy 40.584285 103.6442) + (xy 40.441715 103.6442) + (xy 40.436558 103.645714) + (xy 40.436552 103.645715) + (xy 40.310076 103.682852) + (xy 40.310071 103.682854) + (xy 40.304919 103.684367) + (xy 40.300403 103.687269) + (xy 40.300397 103.687272) + (xy 40.189505 103.758539) + (xy 40.189499 103.758543) + (xy 40.184982 103.761447) + (xy 40.181461 103.765509) + (xy 40.18146 103.765511) + (xy 40.09514 103.865128) + (xy 40.095136 103.865133) + (xy 40.091618 103.869194) + (xy 40.089385 103.874082) + (xy 40.089382 103.874088) + (xy 40.034626 103.993987) + (xy 40.034624 103.993993) + (xy 40.032392 103.998881) + (xy 40.031627 104.004195) + (xy 40.031626 104.004202) + (xy 40.016937 104.10637) + (xy 40.012102 104.14) + (xy 40.012867 104.145321) + (xy 40.031626 104.275797) + (xy 40.031627 104.275802) + (xy 40.032392 104.281119) + (xy 40.034624 104.286008) + (xy 40.034626 104.286012) + (xy 40.089382 104.405911) + (xy 40.089383 104.405913) + (xy 40.091618 104.410806) + (xy 40.095138 104.414869) + (xy 40.09514 104.414871) + (xy 40.124651 104.448928) + (xy 40.184982 104.518553) + (xy 40.189504 104.521459) + (xy 40.189505 104.52146) + (xy 40.300397 104.592727) + (xy 40.304919 104.595633) + (xy 40.441715 104.6358) + (xy 40.578904 104.6358) + (xy 40.584285 104.6358) + (xy 40.721081 104.595633) + (xy 40.725606 104.592724) + (xy 40.72764 104.591796) + (xy 40.75888 104.585) + (xy 45.1998 104.585) + (xy 45.2374 104.595075) + (xy 45.264925 104.6226) + (xy 45.275 104.6602) + (xy 45.275 106.764583) + (xy 45.274356 106.774398) + (xy 45.270065 106.807) + (xy 45.275 106.844486) + (xy 45.275 106.844492) + (xy 45.286784 106.934) + (xy 45.289723 106.956322) + (xy 45.291607 106.96087) + (xy 45.345474 107.090919) + (xy 45.345476 107.090923) + (xy 45.347359 107.095468) + (xy 45.401136 107.165552) + (xy 45.439045 107.214955) + (xy 45.452769 107.225486) + (xy 45.465137 107.234976) + (xy 45.472532 107.241462) + (xy 46.555536 108.324466) + (xy 46.562022 108.331861) + (xy 46.569869 108.342088) + (xy 46.582045 108.357955) + (xy 46.612044 108.380974) + (xy 46.612046 108.380976) + (xy 46.690524 108.441194) + (xy 46.701532 108.449641) + (xy 46.840678 108.507277) + (xy 46.952508 108.522) + (xy 46.952507 108.522) + (xy 46.952522 108.522001) + (xy 46.985111 108.526292) + (xy 46.985116 108.526292) + (xy 46.99 108.526935) + (xy 46.994884 108.526292) + (xy 47.00441 108.525038) + (xy 47.022601 108.522643) + (xy 47.032417 108.522) + (xy 49.995583 108.522) + (xy 50.005398 108.522643) + (xy 50.038 108.526935) + (xy 50.042884 108.526292) + (xy 50.042889 108.526292) + (xy 50.068108 108.522971) + (xy 50.07548 108.522) + (xy 50.075491 108.522) + (xy 50.075492 108.522) + (xy 50.187322 108.507277) + (xy 50.326468 108.449641) + (xy 50.337476 108.441194) + (xy 50.415954 108.380976) + (xy 50.415958 108.380972) + (xy 50.442045 108.360955) + (xy 50.442044 108.360955) + (xy 50.445955 108.357955) + (xy 50.465984 108.331851) + (xy 50.472455 108.324473) + (xy 51.268903 107.528026) + (xy 51.2933 107.511724) + (xy 51.322078 107.506) + (xy 55.992922 107.506) + (xy 56.0217 107.511724) + (xy 56.046096 107.528026) + (xy 56.428974 107.910904) + (xy 56.445276 107.9353) + (xy 56.451 107.964078) + (xy 56.451 109.713922) + (xy 56.445276 109.7427) + (xy 56.428974 109.767096) + (xy 56.173096 110.022974) + (xy 56.1487 110.039276) + (xy 56.119922 110.045) + (xy 54.826508 110.045) + (xy 54.82408 110.045319) + (xy 54.824074 110.04532) + (xy 54.719558 110.05908) + (xy 54.719554 110.059081) + (xy 54.714678 110.059723) + (xy 54.71013 110.061606) + (xy 54.710129 110.061607) + (xy 54.58008 110.115474) + (xy 54.580072 110.115478) + (xy 54.575532 110.117359) + (xy 54.571627 110.120354) + (xy 54.571624 110.120357) + (xy 54.459951 110.206047) + (xy 54.459947 110.20605) + (xy 54.456045 110.209045) + (xy 54.45305 110.212947) + (xy 54.453047 110.212951) + (xy 54.367357 110.324624) + (xy 54.367354 110.324627) + (xy 54.364359 110.328532) + (xy 54.362478 110.333072) + (xy 54.362474 110.33308) + (xy 54.308607 110.463129) + (xy 54.306723 110.467678) + (xy 54.306081 110.472554) + (xy 54.30608 110.472558) + (xy 54.293643 110.567027) + (xy 54.287064 110.617) + (xy 54.287707 110.621884) + (xy 54.304484 110.749321) + (xy 54.306723 110.766322) + (xy 54.308607 110.77087) + (xy 54.362474 110.900919) + (xy 54.362476 110.900923) + (xy 54.364359 110.905468) + (xy 54.456045 111.024955) + (xy 54.575532 111.116641) + (xy 54.714678 111.174277) + (xy 54.826508 111.189) + (xy 56.345583 111.189) + (xy 56.355398 111.189643) + (xy 56.388 111.193935) + (xy 56.392884 111.193292) + (xy 56.392889 111.193292) + (xy 56.418108 111.189971) + (xy 56.42548 111.189) + (xy 56.425491 111.189) + (xy 56.425492 111.189) + (xy 56.537322 111.174277) + (xy 56.676468 111.116641) + (xy 56.795955 111.024955) + (xy 56.815984 110.998851) + (xy 56.822455 110.991473) + (xy 57.397473 110.416455) + (xy 57.404851 110.409984) + (xy 57.430955 110.389955) + (xy 57.459139 110.353224) + (xy 57.496971 110.327041) + (xy 57.542972 110.327794) + (xy 57.579926 110.355201) + (xy 57.594 110.399003) + (xy 57.594 110.475921) + (xy 57.588276 110.504699) + (xy 57.571974 110.529094) + (xy 57.534045 110.567024) + (xy 57.534042 110.567027) + (xy 56.554096 111.546974) + (xy 56.5297 111.563276) + (xy 56.500922 111.569) + (xy 54.826508 111.569) + (xy 54.82408 111.569319) + (xy 54.824074 111.56932) + (xy 54.719558 111.58308) + (xy 54.719554 111.583081) + (xy 54.714678 111.583723) + (xy 54.71013 111.585606) + (xy 54.710129 111.585607) + (xy 54.58008 111.639474) + (xy 54.580072 111.639478) + (xy 54.575532 111.641359) + (xy 54.571627 111.644354) + (xy 54.571624 111.644357) + (xy 54.459951 111.730047) + (xy 54.459947 111.73005) + (xy 54.456045 111.733045) + (xy 54.45305 111.736947) + (xy 54.453047 111.736951) + (xy 54.367357 111.848624) + (xy 54.367354 111.848627) + (xy 54.364359 111.852532) + (xy 54.362478 111.857072) + (xy 54.362474 111.85708) + (xy 54.31885 111.9624) + (xy 54.306723 111.991678) + (xy 54.306081 111.996554) + (xy 54.30608 111.996558) + (xy 54.2942 112.086799) + (xy 54.287064 112.141) + (xy 54.287707 112.145884) + (xy 54.305934 112.284335) + (xy 54.306723 112.290322) + (xy 54.308607 112.29487) + (xy 54.362474 112.424919) + (xy 54.362476 112.424923) + (xy 54.364359 112.429468) + (xy 54.456045 112.548955) + (xy 54.575532 112.640641) + (xy 54.714678 112.698277) + (xy 54.826508 112.713) + (xy 56.726583 112.713) + (xy 56.736398 112.713643) + (xy 56.769 112.717935) + (xy 56.773884 112.717292) + (xy 56.773889 112.717292) + (xy 56.799108 112.713971) + (xy 56.80648 112.713) + (xy 56.806491 112.713) + (xy 56.806492 112.713) + (xy 56.918322 112.698277) + (xy 57.057468 112.640641) + (xy 57.176955 112.548955) + (xy 57.196984 112.522851) + (xy 57.203455 112.515473) + (xy 57.948628 111.7703) + (xy 57.982339 111.750837) + (xy 58.021265 111.750837) + (xy 58.054976 111.770301) + (xy 58.301363 112.016688) + (xy 58.320974 112.050958) + (xy 58.320518 112.090441) + (xy 58.265037 112.285441) + (xy 58.260264 112.302217) + (xy 58.259943 112.30567) + (xy 58.259943 112.305676) + (xy 58.240683 112.513518) + (xy 58.239898 112.522) + (xy 58.240219 112.525464) + (xy 58.257994 112.717292) + (xy 58.260264 112.741783) + (xy 58.320668 112.954082) + (xy 58.322221 112.9572) + (xy 58.417504 113.148556) + (xy 58.417508 113.148563) + (xy 58.419054 113.151667) + (xy 58.421147 113.154439) + (xy 58.421148 113.15444) + (xy 58.437671 113.17632) + (xy 58.55207 113.327809) + (xy 58.715188 113.47651) + (xy 58.902851 113.592707) + (xy 59.108671 113.672442) + (xy 59.325638 113.713) + (xy 59.542891 113.713) + (xy 59.546362 113.713) + (xy 59.763329 113.672442) + (xy 59.969149 113.592707) + (xy 60.156812 113.47651) + (xy 60.31993 113.327809) + (xy 60.452946 113.151667) + (xy 60.551332 112.954082) + (xy 60.611736 112.741783) + (xy 60.632102 112.522) + (xy 61.414898 112.522) + (xy 61.415219 112.525464) + (xy 61.432994 112.717292) + (xy 61.435264 112.741783) + (xy 61.495668 112.954082) + (xy 61.497221 112.9572) + (xy 61.592504 113.148556) + (xy 61.592508 113.148563) + (xy 61.594054 113.151667) + (xy 61.596147 113.154439) + (xy 61.596148 113.15444) + (xy 61.612671 113.17632) + (xy 61.72707 113.327809) + (xy 61.890188 113.47651) + (xy 62.077851 113.592707) + (xy 62.283671 113.672442) + (xy 62.500638 113.713) + (xy 62.717891 113.713) + (xy 62.721362 113.713) + (xy 62.938329 113.672442) + (xy 63.144149 113.592707) + (xy 63.331812 113.47651) + (xy 63.49493 113.327809) + (xy 63.501508 113.319098) + (xy 65.9825 113.319098) + (xy 65.984592 113.326907) + (xy 65.992402 113.329) + (xy 66.536098 113.329) + (xy 66.543907 113.326907) + (xy 66.546 113.319098) + (xy 66.8 113.319098) + (xy 66.802092 113.326907) + (xy 66.809902 113.329) + (xy 67.353598 113.329) + (xy 67.361407 113.326907) + (xy 67.3635 113.319098) + (xy 67.3635 112.866509) + (xy 67.363226 112.861983) + (xy 67.348906 112.74405) + (xy 67.346746 112.735287) + (xy 67.290511 112.587007) + (xy 67.286312 112.579006) + (xy 67.196226 112.448494) + (xy 67.190237 112.441734) + (xy 67.071531 112.33657) + (xy 67.064102 112.331442) + (xy 66.92368 112.257743) + (xy 66.915239 112.254542) + (xy 66.811113 112.228877) + (xy 66.802551 112.229395) + (xy 66.8 112.237584) + (xy 66.8 113.319098) + (xy 66.546 113.319098) + (xy 66.546 112.237584) + (xy 66.543448 112.229395) + (xy 66.534886 112.228877) + (xy 66.43076 112.254542) + (xy 66.422319 112.257743) + (xy 66.281897 112.331442) + (xy 66.274468 112.33657) + (xy 66.155762 112.441734) + (xy 66.149773 112.448494) + (xy 66.059687 112.579006) + (xy 66.055488 112.587007) + (xy 65.999253 112.735287) + (xy 65.997093 112.74405) + (xy 65.982773 112.861983) + (xy 65.9825 112.866509) + (xy 65.9825 113.319098) + (xy 63.501508 113.319098) + (xy 63.627946 113.151667) + (xy 63.726332 112.954082) + (xy 63.786736 112.741783) + (xy 63.807102 112.522) + (xy 63.786736 112.302217) + (xy 63.726332 112.089918) + (xy 63.64863 111.933871) + (xy 63.629495 111.895443) + (xy 63.629492 111.895439) + (xy 63.627946 111.892333) + (xy 63.49493 111.716191) + (xy 63.331812 111.56749) + (xy 63.328852 111.565657) + (xy 63.147105 111.453123) + (xy 63.147102 111.453121) + (xy 63.144149 111.451293) + (xy 63.140911 111.450038) + (xy 63.140906 111.450036) + (xy 62.941574 111.372815) + (xy 62.941572 111.372814) + (xy 62.938329 111.371558) + (xy 62.934919 111.37092) + (xy 62.93491 111.370918) + (xy 62.724771 111.331637) + (xy 62.724768 111.331636) + (xy 62.721362 111.331) + (xy 62.500638 111.331) + (xy 62.497232 111.331636) + (xy 62.497228 111.331637) + (xy 62.287089 111.370918) + (xy 62.287078 111.370921) + (xy 62.283671 111.371558) + (xy 62.280429 111.372813) + (xy 62.280425 111.372815) + (xy 62.081093 111.450036) + (xy 62.081083 111.45004) + (xy 62.077851 111.451293) + (xy 62.074901 111.453119) + (xy 62.074894 111.453123) + (xy 61.893147 111.565657) + (xy 61.89314 111.565661) + (xy 61.890188 111.56749) + (xy 61.887623 111.569827) + (xy 61.887618 111.569832) + (xy 61.729635 111.713852) + (xy 61.729631 111.713856) + (xy 61.72707 111.716191) + (xy 61.72498 111.718958) + (xy 61.724976 111.718963) + (xy 61.596148 111.889559) + (xy 61.596144 111.889565) + (xy 61.594054 111.892333) + (xy 61.592511 111.895431) + (xy 61.592504 111.895443) + (xy 61.532132 112.016688) + (xy 61.495668 112.089918) + (xy 61.494715 112.093267) + (xy 61.494714 112.09327) + (xy 61.440352 112.284335) + (xy 61.435264 112.302217) + (xy 61.434943 112.30567) + (xy 61.434943 112.305676) + (xy 61.415683 112.513518) + (xy 61.414898 112.522) + (xy 60.632102 112.522) + (xy 60.611736 112.302217) + (xy 60.551332 112.089918) + (xy 60.47363 111.933871) + (xy 60.454495 111.895443) + (xy 60.454492 111.895439) + (xy 60.452946 111.892333) + (xy 60.31993 111.716191) + (xy 60.156812 111.56749) + (xy 60.153852 111.565657) + (xy 59.972105 111.453123) + (xy 59.972102 111.453121) + (xy 59.969149 111.451293) + (xy 59.965911 111.450038) + (xy 59.965906 111.450036) + (xy 59.766574 111.372815) + (xy 59.766572 111.372814) + (xy 59.763329 111.371558) + (xy 59.759919 111.37092) + (xy 59.75991 111.370918) + (xy 59.549771 111.331637) + (xy 59.549768 111.331636) + (xy 59.546362 111.331) + (xy 59.325638 111.331) + (xy 59.322232 111.331636) + (xy 59.322228 111.331637) + (xy 59.112089 111.370918) + (xy 59.112078 111.370921) + (xy 59.108671 111.371558) + (xy 59.105429 111.372813) + (xy 59.105425 111.372815) + (xy 59.014684 111.407968) + (xy 58.971997 111.411427) + (xy 58.934345 111.39102) + (xy 58.673085 111.12976) + (xy 58.651702 111.086399) + (xy 58.661137 111.038981) + (xy 58.662637 111.036382) + (xy 58.665641 111.032468) + (xy 58.723277 110.893322) + (xy 58.738 110.781492) + (xy 58.738 110.781486) + (xy 58.742935 110.744) + (xy 58.738643 110.711398) + (xy 58.738 110.701583) + (xy 58.738 108.514812) + (xy 61.62 108.514812) + (xy 61.631082 108.570525) + (xy 61.635194 108.57668) + (xy 61.635196 108.576683) + (xy 61.669182 108.627545) + (xy 61.673297 108.633703) + (xy 61.679454 108.637817) + (xy 61.730316 108.671803) + (xy 61.730317 108.671803) + (xy 61.736475 108.675918) + (xy 61.792188 108.687) + (xy 63.426116 108.687) + (xy 63.429812 108.687) + (xy 63.485525 108.675918) + (xy 63.548703 108.633703) + (xy 63.590918 108.570525) + (xy 63.602 108.514812) + (xy 63.602 108.4702) + (xy 63.612075 108.4326) + (xy 63.6396 108.405075) + (xy 63.6772 108.395) + (xy 66.397607 108.395) + (xy 66.402146 108.395136) + (xy 66.463515 108.398849) + (xy 66.523996 108.387764) + (xy 66.528462 108.387084) + (xy 66.58951 108.379673) + (xy 66.597353 108.376698) + (xy 66.603084 108.374525) + (xy 66.616201 108.370868) + (xy 66.617448 108.370639) + (xy 66.630483 108.368251) + (xy 66.653359 108.357955) + (xy 66.686552 108.343016) + (xy 66.690717 108.341289) + (xy 66.748227 108.31948) + (xy 66.760182 108.311227) + (xy 66.772035 108.304541) + (xy 66.785275 108.298584) + (xy 66.833694 108.260649) + (xy 66.837321 108.257982) + (xy 66.863564 108.239868) + (xy 66.887927 108.223052) + (xy 66.928723 108.177001) + (xy 66.931788 108.173746) + (xy 69.184737 105.920796) + (xy 69.187992 105.917731) + (xy 69.234052 105.876927) + (xy 69.268979 105.826325) + (xy 69.271673 105.822663) + (xy 69.309584 105.774275) + (xy 69.315541 105.761035) + (xy 69.322227 105.749182) + (xy 69.33048 105.737227) + (xy 69.352289 105.679717) + (xy 69.354016 105.675552) + (xy 69.370045 105.639936) + (xy 69.379251 105.619483) + (xy 69.381867 105.605201) + (xy 69.385525 105.592084) + (xy 69.389059 105.582765) + (xy 69.390673 105.57851) + (xy 69.398084 105.517462) + (xy 69.398764 105.512996) + (xy 69.409849 105.452515) + (xy 69.406136 105.391147) + (xy 69.406 105.386608) + (xy 69.406 104.653) + (xy 76.296963 104.653) + (xy 76.297325 104.656676) + (xy 76.313316 104.819044) + (xy 76.317062 104.857072) + (xy 76.318132 104.860601) + (xy 76.318133 104.860603) + (xy 76.375516 105.049769) + (xy 76.375518 105.049774) + (xy 76.376588 105.053301) + (xy 76.473252 105.234147) + (xy 76.475596 105.237003) + (xy 76.475598 105.237006) + (xy 76.522665 105.294357) + (xy 76.60334 105.39266) + (xy 76.632426 105.41653) + (xy 76.755426 105.517474) + (xy 76.761853 105.522748) + (xy 76.942699 105.619412) + (xy 77.138928 105.678938) + (xy 77.343 105.699037) + (xy 77.547072 105.678938) + (xy 77.743301 105.619412) + (xy 77.924147 105.522748) + (xy 78.08266 105.39266) + (xy 78.212748 105.234147) + (xy 78.309412 105.053301) + (xy 78.368938 104.857072) + (xy 78.389037 104.653) + (xy 78.368938 104.448928) + (xy 78.328918 104.317) + (xy 88.094566 104.317) + (xy 88.11427 104.567363) + (xy 88.114957 104.570226) + (xy 88.114959 104.570236) + (xy 88.172205 104.80868) + (xy 88.172897 104.811561) + (xy 88.174028 104.814293) + (xy 88.174029 104.814294) + (xy 88.249783 104.997182) + (xy 88.269003 105.043582) + (xy 88.27054 105.04609) + (xy 88.270542 105.046094) + (xy 88.39868 105.255196) + (xy 88.400222 105.257712) + (xy 88.402136 105.259953) + (xy 88.402139 105.259957) + (xy 88.517479 105.395003) + (xy 88.563322 105.448678) + (xy 88.565562 105.450591) + (xy 88.710048 105.573994) + (xy 88.754288 105.611778) + (xy 88.968418 105.742997) + (xy 89.200439 105.839103) + (xy 89.444637 105.89773) + (xy 89.632308 105.9125) + (xy 89.756212 105.9125) + (xy 89.757692 105.9125) + (xy 89.945363 105.89773) + (xy 90.189561 105.839103) + (xy 90.421582 105.742997) + (xy 90.635712 105.611778) + (xy 90.826678 105.448678) + (xy 90.989778 105.257712) + (xy 91.120997 105.043582) + (xy 91.217103 104.811561) + (xy 91.27573 104.567363) + (xy 91.295434 104.317) + (xy 91.27573 104.066637) + (xy 91.217103 103.822439) + (xy 91.120997 103.590418) + (xy 90.989778 103.376288) + (xy 90.972883 103.356507) + (xy 90.828591 103.187562) + (xy 90.826678 103.185322) + (xy 90.712068 103.087436) + (xy 90.637957 103.024139) + (xy 90.637953 103.024136) + (xy 90.635712 103.022222) + (xy 90.595304 102.99746) + (xy 90.424094 102.892542) + (xy 90.42409 102.89254) + (xy 90.421582 102.891003) + (xy 90.39665 102.880676) + (xy 90.387775 102.877) + (xy 92.768389 102.877) + (xy 92.768751 102.880675) + (xy 92.768751 102.880676) + (xy 92.786369 103.059563) + (xy 92.786789 103.063821) + (xy 92.787859 103.06735) + (xy 92.78786 103.067352) + (xy 92.801343 103.1118) + (xy 92.841283 103.243462) + (xy 92.843019 103.246711) + (xy 92.843023 103.246719) + (xy 92.924292 103.398761) + (xy 92.929776 103.40902) + (xy 93.048867 103.554133) + (xy 93.19398 103.673224) + (xy 93.222236 103.688327) + (xy 93.35628 103.759976) + (xy 93.356283 103.759977) + (xy 93.359538 103.761717) + (xy 93.539179 103.816211) + (xy 93.709781 103.833013) + (xy 93.717227 103.833747) + (xy 93.726 103.834611) + (xy 93.734773 103.833747) + (xy 93.740679 103.833165) + (xy 93.912821 103.816211) + (xy 94.092462 103.761717) + (xy 94.25802 103.673224) + (xy 94.305121 103.634569) + (xy 95.651268 103.634569) + (xy 95.656004 103.641412) + (xy 95.691401 103.670461) + (xy 95.697521 103.67455) + (xy 95.856467 103.759508) + (xy 95.863268 103.762326) + (xy 96.035742 103.814645) + (xy 96.042952 103.81608) + (xy 96.222325 103.833747) + (xy 96.229675 103.833747) + (xy 96.409047 103.81608) + (xy 96.416257 103.814645) + (xy 96.588731 103.762326) + (xy 96.595532 103.759508) + (xy 96.75448 103.674549) + (xy 96.760597 103.670462) + (xy 96.795993 103.641412) + (xy 96.80073 103.634568) + (xy 96.796685 103.62729) + (xy 96.233 103.063605) + (xy 96.226 103.059563) + (xy 96.218999 103.063605) + (xy 95.655314 103.627289) + (xy 95.651268 103.634569) + (xy 94.305121 103.634569) + (xy 94.403133 103.554133) + (xy 94.522224 103.40902) + (xy 94.610717 103.243462) + (xy 94.665211 103.063821) + (xy 94.683249 102.880675) + (xy 95.269253 102.880675) + (xy 95.286919 103.060047) + (xy 95.288354 103.067257) + (xy 95.340673 103.239731) + (xy 95.343491 103.246532) + (xy 95.428449 103.405478) + (xy 95.432538 103.411598) + (xy 95.461586 103.446994) + (xy 95.46843 103.45173) + (xy 95.475709 103.447684) + (xy 96.039394 102.884) + (xy 96.043436 102.877) + (xy 96.408563 102.877) + (xy 96.412605 102.884) + (xy 96.97629 103.447685) + (xy 96.983568 103.45173) + (xy 96.990412 103.446993) + (xy 97.019462 103.411597) + (xy 97.023549 103.40548) + (xy 97.108508 103.246532) + (xy 97.111326 103.239731) + (xy 97.163645 103.067257) + (xy 97.16508 103.060047) + (xy 97.182747 102.880675) + (xy 97.182747 102.873325) + (xy 97.18242 102.87) + (xy 97.848389 102.87) + (xy 97.848751 102.873676) + (xy 97.86542 103.042928) + (xy 97.866789 103.056821) + (xy 97.867859 103.06035) + (xy 97.86786 103.060352) + (xy 97.870696 103.069701) + (xy 97.921283 103.236462) + (xy 97.923019 103.239711) + (xy 97.923023 103.239719) + (xy 97.985824 103.35721) + (xy 98.009776 103.40202) + (xy 98.128867 103.547133) + (xy 98.27398 103.666224) + (xy 98.315332 103.688327) + (xy 98.43628 103.752976) + (xy 98.436283 103.752977) + (xy 98.439538 103.754717) + (xy 98.619179 103.809211) + (xy 98.806 103.827611) + (xy 98.992821 103.809211) + (xy 99.172462 103.754717) + (xy 99.33802 103.666224) + (xy 99.483133 103.547133) + (xy 99.602224 103.40202) + (xy 99.690717 103.236462) + (xy 99.745211 103.056821) + (xy 99.763611 102.87) + (xy 100.348389 102.87) + (xy 100.348751 102.873676) + (xy 100.36542 103.042928) + (xy 100.366789 103.056821) + (xy 100.367859 103.06035) + (xy 100.36786 103.060352) + (xy 100.370696 103.069701) + (xy 100.421283 103.236462) + (xy 100.423019 103.239711) + (xy 100.423023 103.239719) + (xy 100.485824 103.35721) + (xy 100.509776 103.40202) + (xy 100.628867 103.547133) + (xy 100.77398 103.666224) + (xy 100.815332 103.688327) + (xy 100.93628 103.752976) + (xy 100.936283 103.752977) + (xy 100.939538 103.754717) + (xy 101.119179 103.809211) + (xy 101.306 103.827611) + (xy 101.492821 103.809211) + (xy 101.672462 103.754717) + (xy 101.83802 103.666224) + (xy 101.983133 103.547133) + (xy 102.102224 103.40202) + (xy 102.190717 103.236462) + (xy 102.245211 103.056821) + (xy 102.263611 102.87) + (xy 102.245211 102.683179) + (xy 102.190717 102.503538) + (xy 102.182019 102.487266) + (xy 102.123053 102.376948) + (xy 102.102224 102.33798) + (xy 101.983133 102.192867) + (xy 101.971692 102.183478) + (xy 101.849406 102.08312) + (xy 101.83802 102.073776) + (xy 101.806083 102.056705) + (xy 101.675719 101.987023) + (xy 101.675711 101.987019) + (xy 101.672462 101.985283) + (xy 101.521056 101.939354) + (xy 101.496352 101.93186) + (xy 101.49635 101.931859) + (xy 101.492821 101.930789) + (xy 101.48915 101.930427) + (xy 101.489148 101.930427) + (xy 101.309676 101.912751) + (xy 101.306 101.912389) + (xy 101.302324 101.912751) + (xy 101.122851 101.930427) + (xy 101.122847 101.930427) + (xy 101.119179 101.930789) + (xy 101.115651 101.931859) + (xy 101.115647 101.93186) + (xy 100.943068 101.984212) + (xy 100.943066 101.984212) + (xy 100.939538 101.985283) + (xy 100.936292 101.987018) + (xy 100.93628 101.987023) + (xy 100.777238 102.072034) + (xy 100.777233 102.072036) + (xy 100.77398 102.073776) + (xy 100.771127 102.076117) + (xy 100.771123 102.07612) + (xy 100.631722 102.190523) + (xy 100.631716 102.190528) + (xy 100.628867 102.192867) + (xy 100.626528 102.195716) + (xy 100.626523 102.195722) + (xy 100.51212 102.335123) + (xy 100.512117 102.335127) + (xy 100.509776 102.33798) + (xy 100.508036 102.341233) + (xy 100.508034 102.341238) + (xy 100.423023 102.50028) + (xy 100.423018 102.500292) + (xy 100.421283 102.503538) + (xy 100.420212 102.507066) + (xy 100.420212 102.507068) + (xy 100.369397 102.674582) + (xy 100.366789 102.683179) + (xy 100.366427 102.686847) + (xy 100.366427 102.686851) + (xy 100.350565 102.847909) + (xy 100.348389 102.87) + (xy 99.763611 102.87) + (xy 99.745211 102.683179) + (xy 99.690717 102.503538) + (xy 99.682019 102.487266) + (xy 99.623053 102.376948) + (xy 99.602224 102.33798) + (xy 99.483133 102.192867) + (xy 99.471692 102.183478) + (xy 99.349406 102.08312) + (xy 99.33802 102.073776) + (xy 99.306083 102.056705) + (xy 99.175719 101.987023) + (xy 99.175711 101.987019) + (xy 99.172462 101.985283) + (xy 99.021056 101.939354) + (xy 98.996352 101.93186) + (xy 98.99635 101.931859) + (xy 98.992821 101.930789) + (xy 98.98915 101.930427) + (xy 98.989148 101.930427) + (xy 98.809676 101.912751) + (xy 98.806 101.912389) + (xy 98.802324 101.912751) + (xy 98.622851 101.930427) + (xy 98.622847 101.930427) + (xy 98.619179 101.930789) + (xy 98.615651 101.931859) + (xy 98.615647 101.93186) + (xy 98.443068 101.984212) + (xy 98.443066 101.984212) + (xy 98.439538 101.985283) + (xy 98.436292 101.987018) + (xy 98.43628 101.987023) + (xy 98.277238 102.072034) + (xy 98.277233 102.072036) + (xy 98.27398 102.073776) + (xy 98.271127 102.076117) + (xy 98.271123 102.07612) + (xy 98.131722 102.190523) + (xy 98.131716 102.190528) + (xy 98.128867 102.192867) + (xy 98.126528 102.195716) + (xy 98.126523 102.195722) + (xy 98.01212 102.335123) + (xy 98.012117 102.335127) + (xy 98.009776 102.33798) + (xy 98.008036 102.341233) + (xy 98.008034 102.341238) + (xy 97.923023 102.50028) + (xy 97.923018 102.500292) + (xy 97.921283 102.503538) + (xy 97.920212 102.507066) + (xy 97.920212 102.507068) + (xy 97.869397 102.674582) + (xy 97.866789 102.683179) + (xy 97.866427 102.686847) + (xy 97.866427 102.686851) + (xy 97.850565 102.847909) + (xy 97.848389 102.87) + (xy 97.18242 102.87) + (xy 97.16508 102.693952) + (xy 97.163645 102.686742) + (xy 97.111326 102.514268) + (xy 97.108508 102.507467) + (xy 97.02355 102.348521) + (xy 97.019461 102.342401) + (xy 96.990412 102.307004) + (xy 96.983569 102.302268) + (xy 96.976289 102.306314) + (xy 96.412605 102.869999) + (xy 96.408563 102.877) + (xy 96.043436 102.877) + (xy 96.039394 102.869999) + (xy 95.475709 102.306314) + (xy 95.46843 102.302269) + (xy 95.461585 102.307006) + (xy 95.432538 102.3424) + (xy 95.428448 102.348523) + (xy 95.343491 102.507467) + (xy 95.340673 102.514268) + (xy 95.288354 102.686742) + (xy 95.286919 102.693952) + (xy 95.269253 102.873325) + (xy 95.269253 102.880675) + (xy 94.683249 102.880675) + (xy 94.683611 102.877) + (xy 94.682921 102.869999) + (xy 94.679127 102.831473) + (xy 94.665211 102.690179) + (xy 94.610717 102.510538) + (xy 94.608862 102.507068) + (xy 94.558662 102.413151) + (xy 94.522224 102.34498) + (xy 94.519153 102.341238) + (xy 94.405476 102.202722) + (xy 94.403133 102.199867) + (xy 94.394603 102.192867) + (xy 94.30512 102.11943) + (xy 95.651269 102.11943) + (xy 95.655314 102.126709) + (xy 96.218999 102.690394) + (xy 96.226 102.694436) + (xy 96.233 102.690394) + (xy 96.796684 102.126709) + (xy 96.80073 102.11943) + (xy 96.795994 102.112586) + (xy 96.760598 102.083538) + (xy 96.754478 102.079449) + (xy 96.595532 101.994491) + (xy 96.588731 101.991673) + (xy 96.416257 101.939354) + (xy 96.409047 101.937919) + (xy 96.229675 101.920253) + (xy 96.222325 101.920253) + (xy 96.042952 101.937919) + (xy 96.035742 101.939354) + (xy 95.863268 101.991673) + (xy 95.856467 101.994491) + (xy 95.697523 102.079448) + (xy 95.6914 102.083538) + (xy 95.656006 102.112585) + (xy 95.651269 102.11943) + (xy 94.30512 102.11943) + (xy 94.279953 102.098776) + (xy 94.25802 102.080776) + (xy 94.212987 102.056705) + (xy 94.095719 101.994023) + (xy 94.095711 101.994019) + (xy 94.092462 101.992283) + (xy 94.002641 101.965036) + (xy 93.916352 101.93886) + (xy 93.91635 101.938859) + (xy 93.912821 101.937789) + (xy 93.90915 101.937427) + (xy 93.909148 101.937427) + (xy 93.729676 101.919751) + (xy 93.726 101.919389) + (xy 93.722324 101.919751) + (xy 93.542851 101.937427) + (xy 93.542847 101.937427) + (xy 93.539179 101.937789) + (xy 93.535651 101.938859) + (xy 93.535647 101.93886) + (xy 93.363068 101.991212) + (xy 93.363066 101.991212) + (xy 93.359538 101.992283) + (xy 93.356292 101.994018) + (xy 93.35628 101.994023) + (xy 93.197238 102.079034) + (xy 93.197233 102.079036) + (xy 93.19398 102.080776) + (xy 93.191127 102.083117) + (xy 93.191123 102.08312) + (xy 93.051722 102.197523) + (xy 93.051716 102.197528) + (xy 93.048867 102.199867) + (xy 93.046528 102.202716) + (xy 93.046523 102.202722) + (xy 92.932121 102.342122) + (xy 92.929776 102.34498) + (xy 92.928036 102.348233) + (xy 92.928034 102.348238) + (xy 92.843023 102.50728) + (xy 92.843018 102.507292) + (xy 92.841283 102.510538) + (xy 92.840212 102.514066) + (xy 92.840212 102.514068) + (xy 92.788058 102.685996) + (xy 92.786789 102.690179) + (xy 92.786427 102.693847) + (xy 92.786427 102.693851) + (xy 92.769078 102.87) + (xy 92.768389 102.877) + (xy 90.387775 102.877) + (xy 90.192294 102.796029) + (xy 90.192293 102.796028) + (xy 90.189561 102.794897) + (xy 90.186683 102.794206) + (xy 90.18668 102.794205) + (xy 89.948236 102.736959) + (xy 89.948226 102.736957) + (xy 89.945363 102.73627) + (xy 89.942416 102.736038) + (xy 89.759169 102.721616) + (xy 89.759162 102.721615) + (xy 89.757692 102.7215) + (xy 89.632308 102.7215) + (xy 89.630838 102.721615) + (xy 89.63083 102.721616) + (xy 89.447583 102.736038) + (xy 89.447581 102.736038) + (xy 89.444637 102.73627) + (xy 89.441775 102.736957) + (xy 89.441763 102.736959) + (xy 89.203319 102.794205) + (xy 89.203312 102.794207) + (xy 89.200439 102.794897) + (xy 89.19771 102.796027) + (xy 89.197705 102.796029) + (xy 88.97114 102.889875) + (xy 88.971134 102.889877) + (xy 88.968418 102.891003) + (xy 88.965914 102.892537) + (xy 88.965905 102.892542) + (xy 88.756803 103.02068) + (xy 88.756795 103.020685) + (xy 88.754288 103.022222) + (xy 88.752051 103.024131) + (xy 88.752042 103.024139) + (xy 88.565562 103.183408) + (xy 88.565556 103.183413) + (xy 88.563322 103.185322) + (xy 88.561413 103.187556) + (xy 88.561408 103.187562) + (xy 88.402139 103.374042) + (xy 88.402131 103.374051) + (xy 88.400222 103.376288) + (xy 88.398685 103.378795) + (xy 88.39868 103.378803) + (xy 88.270542 103.587905) + (xy 88.270537 103.587914) + (xy 88.269003 103.590418) + (xy 88.267877 103.593134) + (xy 88.267875 103.59314) + (xy 88.175327 103.816572) + (xy 88.172897 103.822439) + (xy 88.172207 103.825312) + (xy 88.172205 103.825319) + (xy 88.114959 104.063763) + (xy 88.114957 104.063775) + (xy 88.11427 104.066637) + (xy 88.094566 104.317) + (xy 78.328918 104.317) + (xy 78.309412 104.252699) + (xy 78.212748 104.071853) + (xy 78.16363 104.012003) + (xy 78.085003 103.916195) + (xy 78.08266 103.91334) + (xy 78.028868 103.869194) + (xy 77.927006 103.785598) + (xy 77.927003 103.785596) + (xy 77.924147 103.783252) + (xy 77.743301 103.686588) + (xy 77.739774 103.685518) + (xy 77.739769 103.685516) + (xy 77.550603 103.628133) + (xy 77.550601 103.628132) + (xy 77.547072 103.627062) + (xy 77.543401 103.6267) + (xy 77.543399 103.6267) + (xy 77.346676 103.607325) + (xy 77.343 103.606963) + (xy 77.339324 103.607325) + (xy 77.1426 103.6267) + (xy 77.142596 103.6267) + (xy 77.138928 103.627062) + (xy 77.1354 103.628132) + (xy 77.135396 103.628133) + (xy 76.94623 103.685516) + (xy 76.946222 103.685519) + (xy 76.942699 103.686588) + (xy 76.939447 103.688325) + (xy 76.939445 103.688327) + (xy 76.765111 103.78151) + (xy 76.765106 103.781512) + (xy 76.761853 103.783252) + (xy 76.759 103.785593) + (xy 76.758993 103.785598) + (xy 76.606195 103.910996) + (xy 76.606189 103.911001) + (xy 76.60334 103.91334) + (xy 76.601001 103.916189) + (xy 76.600996 103.916195) + (xy 76.475598 104.068993) + (xy 76.475593 104.069) + (xy 76.473252 104.071853) + (xy 76.471512 104.075106) + (xy 76.47151 104.075111) + (xy 76.384721 104.237483) + (xy 76.376588 104.252699) + (xy 76.375519 104.256222) + (xy 76.375516 104.25623) + (xy 76.318133 104.445396) + (xy 76.317062 104.448928) + (xy 76.3167 104.452596) + (xy 76.3167 104.4526) + (xy 76.299324 104.629023) + (xy 76.296963 104.653) + (xy 69.406 104.653) + (xy 69.406 102.38507) + (xy 69.418674 102.343291) + (xy 69.452422 102.315594) + (xy 69.495871 102.311315) + (xy 69.534372 102.331894) + (xy 69.84589 102.643413) + (xy 69.867149 102.685883) + (xy 69.876625 102.75179) + (xy 69.876626 102.751795) + (xy 69.877392 102.757119) + (xy 69.879627 102.762012) + (xy 69.879628 102.762015) + (xy 69.934382 102.881911) + (xy 69.934383 102.881913) + (xy 69.936618 102.886806) + (xy 69.940138 102.890869) + (xy 69.94014 102.890871) + (xy 69.941588 102.892542) + (xy 70.029982 102.994553) + (xy 70.034504 102.997459) + (xy 70.034505 102.99746) + (xy 70.145397 103.068727) + (xy 70.149919 103.071633) + (xy 70.286715 103.1118) + (xy 70.423904 103.1118) + (xy 70.429285 103.1118) + (xy 70.566081 103.071633) + (xy 70.686018 102.994553) + (xy 70.779382 102.886806) + (xy 70.838608 102.757119) + (xy 70.858898 102.616) + (xy 70.857906 102.609104) + (xy 70.839373 102.480202) + (xy 70.838608 102.474881) + (xy 70.779382 102.345194) + (xy 70.770655 102.335123) + (xy 70.732085 102.290611) + (xy 70.686018 102.237447) + (xy 70.681496 102.234541) + (xy 70.681494 102.234539) + (xy 70.570602 102.163272) + (xy 70.570599 102.16327) + (xy 70.566081 102.160367) + (xy 70.560925 102.158853) + (xy 70.560923 102.158852) + (xy 70.434447 102.121715) + (xy 70.434442 102.121714) + (xy 70.429285 102.1202) + (xy 70.423905 102.1202) + (xy 70.422771 102.120037) + (xy 70.380299 102.098776) + (xy 70.126526 101.845003) + (xy 70.110224 101.820607) + (xy 70.1045 101.791829) + (xy 70.1045 100.377) + (xy 92.768389 100.377) + (xy 92.768751 100.380676) + (xy 92.786099 100.556821) + (xy 92.786789 100.563821) + (xy 92.841283 100.743462) + (xy 92.843019 100.746711) + (xy 92.843023 100.746719) + (xy 92.911901 100.875579) + (xy 92.929776 100.90902) + (xy 93.048867 101.054133) + (xy 93.19398 101.173224) + (xy 93.276759 101.21747) + (xy 93.35628 101.259976) + (xy 93.356283 101.259977) + (xy 93.359538 101.261717) + (xy 93.539179 101.316211) + (xy 93.726 101.334611) + (xy 93.912821 101.316211) + (xy 94.092462 101.261717) + (xy 94.25802 101.173224) + (xy 94.403133 101.054133) + (xy 94.522224 100.90902) + (xy 94.610717 100.743462) + (xy 94.665211 100.563821) + (xy 94.683611 100.377) + (xy 94.665211 100.190179) + (xy 94.610717 100.010538) + (xy 94.608862 100.007068) + (xy 94.54568 99.888863) + (xy 94.522224 99.84498) + (xy 94.403133 99.699867) + (xy 94.394603 99.692867) + (xy 94.260876 99.58312) + (xy 94.25802 99.580776) + (xy 94.241665 99.572034) + (xy 94.095719 99.494023) + (xy 94.095711 99.494019) + (xy 94.092462 99.492283) + (xy 93.971048 99.455452) + (xy 93.916352 99.43886) + (xy 93.91635 99.438859) + (xy 93.912821 99.437789) + (xy 93.90915 99.437427) + (xy 93.909148 99.437427) + (xy 93.729676 99.419751) + (xy 93.726 99.419389) + (xy 93.722324 99.419751) + (xy 93.542851 99.437427) + (xy 93.542847 99.437427) + (xy 93.539179 99.437789) + (xy 93.535651 99.438859) + (xy 93.535647 99.43886) + (xy 93.363068 99.491212) + (xy 93.363066 99.491212) + (xy 93.359538 99.492283) + (xy 93.356292 99.494018) + (xy 93.35628 99.494023) + (xy 93.197238 99.579034) + (xy 93.197233 99.579036) + (xy 93.19398 99.580776) + (xy 93.191127 99.583117) + (xy 93.191123 99.58312) + (xy 93.051722 99.697523) + (xy 93.051716 99.697528) + (xy 93.048867 99.699867) + (xy 93.046528 99.702716) + (xy 93.046523 99.702722) + (xy 92.93212 99.842123) + (xy 92.932117 99.842127) + (xy 92.929776 99.84498) + (xy 92.928036 99.848233) + (xy 92.928034 99.848238) + (xy 92.843023 100.00728) + (xy 92.843018 100.007292) + (xy 92.841283 100.010538) + (xy 92.840212 100.014066) + (xy 92.840212 100.014068) + (xy 92.789984 100.179647) + (xy 92.786789 100.190179) + (xy 92.786427 100.193847) + (xy 92.786427 100.193851) + (xy 92.771446 100.345962) + (xy 92.768389 100.377) + (xy 70.1045 100.377) + (xy 70.1045 95.69317) + (xy 70.110224 95.664393) + (xy 70.126522 95.639999) + (xy 70.1644 95.602121) + (xy 70.20687 95.580863) + (xy 70.208004 95.5807) + (xy 70.213385 95.5807) + (xy 70.350181 95.540533) + (xy 70.470118 95.463453) + (xy 70.563482 95.355706) + (xy 70.622708 95.226019) + (xy 70.642998 95.0849) + (xy 70.622708 94.943781) + (xy 70.563482 94.814094) + (xy 70.550737 94.799386) + (xy 70.500841 94.741803) + (xy 70.470118 94.706347) + (xy 70.465596 94.703441) + (xy 70.465594 94.703439) + (xy 70.354702 94.632172) + (xy 70.354699 94.63217) + (xy 70.350181 94.629267) + (xy 70.345025 94.627753) + (xy 70.345023 94.627752) + (xy 70.218547 94.590615) + (xy 70.218542 94.590614) + (xy 70.213385 94.5891) + (xy 70.070815 94.5891) + (xy 70.065658 94.590614) + (xy 70.065652 94.590615) + (xy 69.939176 94.627752) + (xy 69.939171 94.627754) + (xy 69.934019 94.629267) + (xy 69.929503 94.632169) + (xy 69.929497 94.632172) + (xy 69.818605 94.703439) + (xy 69.818599 94.703443) + (xy 69.814082 94.706347) + (xy 69.810561 94.710409) + (xy 69.81056 94.710411) + (xy 69.72424 94.810028) + (xy 69.724236 94.810033) + (xy 69.720718 94.814094) + (xy 69.718485 94.818982) + (xy 69.718482 94.818988) + (xy 69.665514 94.934973) + (xy 69.661492 94.943781) + (xy 69.660727 94.949102) + (xy 69.660725 94.949109) + (xy 69.651249 95.015015) + (xy 69.629989 95.057486) + (xy 69.486731 95.200744) + (xy 69.474692 95.210522) + (xy 69.466264 95.216028) + (xy 69.466258 95.216032) + (xy 69.461044 95.21944) + (xy 69.457217 95.224355) + (xy 69.457211 95.224362) + (xy 69.439355 95.247303) + (xy 69.433211 95.254263) + (xy 69.433098 95.254375) + (xy 69.433078 95.254398) + (xy 69.430886 95.256591) + (xy 69.429084 95.259114) + (xy 69.429082 95.259117) + (xy 69.418008 95.274627) + (xy 69.416154 95.277113) + (xy 69.386665 95.315002) + (xy 69.386663 95.315005) + (xy 69.382842 95.319915) + (xy 69.380855 95.325699) + (xy 69.380502 95.326265) + (xy 69.379335 95.328533) + (xy 69.37908 95.329149) + (xy 69.375525 95.33413) + (xy 69.373749 95.340094) + (xy 69.373745 95.340103) + (xy 69.360052 95.386097) + (xy 69.359105 95.389056) + (xy 69.343521 95.43445) + (xy 69.34352 95.434453) + (xy 69.3415 95.440339) + (xy 69.3415 95.446454) + (xy 69.341353 95.447087) + (xy 69.340981 95.449645) + (xy 69.34094 95.450295) + (xy 69.339195 95.456159) + (xy 69.339452 95.46238) + (xy 69.339452 95.462383) + (xy 69.341436 95.510337) + (xy 69.3415 95.513445) + (xy 69.3415 95.854176) + (xy 69.32945 95.895006) + (xy 69.297163 95.922751) + (xy 69.254985 95.92852) + (xy 69.216433 95.910464) + (xy 69.211124 95.905761) + (xy 69.106994 95.813509) + (xy 69.027362 95.771715) + (xy 68.960719 95.736738) + (xy 68.960718 95.736737) + (xy 68.956689 95.734623) + (xy 68.952271 95.733534) + (xy 68.796291 95.695088) + (xy 68.796285 95.695087) + (xy 68.791874 95.694) + (xy 68.622126 95.694) + (xy 68.617715 95.695087) + (xy 68.617708 95.695088) + (xy 68.461728 95.733534) + (xy 68.461725 95.733534) + (xy 68.457311 95.734623) + (xy 68.453284 95.736736) + (xy 68.45328 95.736738) + (xy 68.311033 95.811395) + (xy 68.31103 95.811396) + (xy 68.307006 95.813509) + (xy 68.303607 95.81652) + (xy 68.303603 95.816523) + (xy 68.183354 95.923054) + (xy 68.183347 95.923061) + (xy 68.179948 95.926073) + (xy 68.177364 95.929816) + (xy 68.17736 95.929821) + (xy 68.086106 96.062025) + (xy 68.086102 96.062031) + (xy 68.08352 96.065773) + (xy 68.081906 96.070026) + (xy 68.081905 96.07003) + (xy 68.024939 96.220238) + (xy 68.024937 96.220242) + (xy 68.023327 96.22449) + (xy 68.022779 96.228998) + (xy 68.022779 96.229001) + (xy 68.008273 96.348464) + (xy 68.008272 96.348475) + (xy 68.008 96.350718) + (xy 68.008 96.35299) + (xy 68.008 105.089317) + (xy 68.002276 105.118095) + (xy 67.985974 105.142491) + (xy 66.15349 106.974974) + (xy 66.129094 106.991276) + (xy 66.100316 106.997) + (xy 63.6772 106.997) + (xy 63.6396 106.986925) + (xy 63.612075 106.9594) + (xy 63.602 106.9218) + (xy 63.602 106.880884) + (xy 63.602 106.877188) + (xy 63.590918 106.821475) + (xy 63.584509 106.811884) + (xy 63.552817 106.764454) + (xy 63.548703 106.758297) + (xy 63.541578 106.753536) + (xy 63.491683 106.720196) + (xy 63.49168 106.720194) + (xy 63.485525 106.716082) + (xy 63.478261 106.714637) + (xy 63.459602 106.710925) + (xy 63.429812 106.705) + (xy 61.792188 106.705) + (xy 61.788563 106.70572) + (xy 61.788563 106.705721) + (xy 61.743738 106.714637) + (xy 61.743736 106.714637) + (xy 61.736475 106.716082) + (xy 61.730321 106.720193) + (xy 61.730316 106.720196) + (xy 61.679454 106.754182) + (xy 61.679451 106.754184) + (xy 61.673297 106.758297) + (xy 61.669184 106.764451) + (xy 61.669182 106.764454) + (xy 61.635196 106.815316) + (xy 61.635193 106.815321) + (xy 61.631082 106.821475) + (xy 61.629637 106.828736) + (xy 61.629637 106.828738) + (xy 61.626065 106.846696) + (xy 61.62 106.877188) + (xy 61.62 108.514812) + (xy 58.738 108.514812) + (xy 58.738 107.230417) + (xy 58.738643 107.220602) + (xy 58.742292 107.192884) + (xy 58.742935 107.188) + (xy 58.738 107.150514) + (xy 58.738 107.150508) + (xy 58.723277 107.038678) + (xy 58.665641 106.899532) + (xy 58.623407 106.844492) + (xy 58.596976 106.810046) + (xy 58.59877 106.808668) + (xy 58.598769 106.808666) + (xy 58.596974 106.810044) + (xy 58.573955 106.780045) + (xy 58.547861 106.760022) + (xy 58.540466 106.753536) + (xy 57.767498 105.980568) + (xy 62.009268 105.980568) + (xy 62.014005 105.987412) + (xy 62.055187 106.02121) + (xy 62.061307 106.025299) + (xy 62.226855 106.113787) + (xy 62.233656 106.116604) + (xy 62.413293 106.171096) + (xy 62.420503 106.17253) + (xy 62.607324 106.190931) + (xy 62.614676 106.190931) + (xy 62.801496 106.17253) + (xy 62.808706 106.171096) + (xy 62.988343 106.116604) + (xy 62.995144 106.113787) + (xy 63.160694 106.025298) + (xy 63.166811 106.021211) + (xy 63.207994 105.987412) + (xy 63.21273 105.980568) + (xy 63.208685 105.97329) + (xy 62.618 105.382605) + (xy 62.611 105.378563) + (xy 62.603999 105.382605) + (xy 62.013313 105.97329) + (xy 62.009268 105.980568) + (xy 57.767498 105.980568) + (xy 57.203462 105.416532) + (xy 57.196976 105.409137) + (xy 57.184333 105.39266) + (xy 57.176955 105.383045) + (xy 57.16151 105.371194) + (xy 57.121826 105.340743) + (xy 57.061375 105.294357) + (xy 57.057468 105.291359) + (xy 57.052923 105.289476) + (xy 57.052919 105.289474) + (xy 56.92287 105.235607) + (xy 56.922871 105.235607) + (xy 56.918322 105.233723) + (xy 56.913443 105.23308) + (xy 56.913441 105.23308) + (xy 56.806502 105.219001) + (xy 56.806494 105.219) + (xy 56.806492 105.219) + (xy 56.80649 105.219) + (xy 56.806479 105.218999) + (xy 56.773884 105.214708) + (xy 56.769 105.214065) + (xy 56.764116 105.214708) + (xy 56.736398 105.218357) + (xy 56.726583 105.219) + (xy 50.588424 105.219) + (xy 50.578608 105.218357) + (xy 50.550884 105.214707) + (xy 50.546 105.214064) + (xy 50.541116 105.214707) + (xy 50.401558 105.23308) + (xy 50.401554 105.233081) + (xy 50.396678 105.233723) + (xy 50.39213 105.235606) + (xy 50.392129 105.235607) + (xy 50.26208 105.289474) + (xy 50.262072 105.289478) + (xy 50.257532 105.291359) + (xy 50.253627 105.294354) + (xy 50.253624 105.294357) + (xy 50.193174 105.340743) + (xy 50.141951 105.380047) + (xy 50.141947 105.38005) + (xy 50.138045 105.383045) + (xy 50.135049 105.386948) + (xy 50.135045 105.386953) + (xy 50.118022 105.409137) + (xy 50.111538 105.41653) + (xy 49.315096 106.212974) + (xy 49.2907 106.229276) + (xy 49.261922 106.235) + (xy 47.893078 106.235) + (xy 47.8643 106.229276) + (xy 47.839904 106.212974) + (xy 47.663823 106.036893) + (xy 47.645277 106.006332) + (xy 47.64294 105.97066) + (xy 47.657335 105.937942) + (xy 47.743641 105.825468) + (xy 47.801277 105.686322) + (xy 47.820936 105.537) + (xy 47.801277 105.387678) + (xy 47.747621 105.258141) + (xy 47.745525 105.25308) + (xy 47.745524 105.253079) + (xy 47.743641 105.248532) + (xy 47.706152 105.199676) + (xy 61.616069 105.199676) + (xy 61.634469 105.386496) + (xy 61.635903 105.393706) + (xy 61.690395 105.573343) + (xy 61.693212 105.580144) + (xy 61.7817 105.745692) + (xy 61.785789 105.751812) + (xy 61.819586 105.792993) + (xy 61.826429 105.79773) + (xy 61.833709 105.793684) + (xy 62.424394 105.203) + (xy 62.428436 105.196) + (xy 62.793563 105.196) + (xy 62.797605 105.203) + (xy 63.38829 105.793685) + (xy 63.395568 105.79773) + (xy 63.402412 105.792994) + (xy 63.436211 105.751811) + (xy 63.440298 105.745694) + (xy 63.528787 105.580144) + (xy 63.531604 105.573343) + (xy 63.586096 105.393706) + (xy 63.58753 105.386496) + (xy 63.605931 105.199676) + (xy 63.605931 105.192324) + (xy 63.58753 105.005503) + (xy 63.586096 104.998293) + (xy 63.531604 104.818656) + (xy 63.528787 104.811855) + (xy 63.440299 104.646307) + (xy 63.43621 104.640187) + (xy 63.402412 104.599005) + (xy 63.395568 104.594268) + (xy 63.38829 104.598313) + (xy 62.797605 105.188999) + (xy 62.793563 105.196) + (xy 62.428436 105.196) + (xy 62.424394 105.188999) + (xy 61.833709 104.598314) + (xy 61.82643 104.594268) + (xy 61.819587 104.599004) + (xy 61.785789 104.640187) + (xy 61.7817 104.646307) + (xy 61.693212 104.811855) + (xy 61.690395 104.818656) + (xy 61.635903 104.998293) + (xy 61.634469 105.005503) + (xy 61.616069 105.192324) + (xy 61.616069 105.199676) + (xy 47.706152 105.199676) + (xy 47.651955 105.129045) + (xy 47.59142 105.082594) + (xy 47.569755 105.056196) + (xy 47.562 105.022936) + (xy 47.562 104.41143) + (xy 62.009268 104.41143) + (xy 62.013314 104.418709) + (xy 62.603999 105.009394) + (xy 62.611 105.013436) + (xy 62.618 105.009394) + (xy 63.208684 104.418709) + (xy 63.21273 104.411429) + (xy 63.207993 104.404586) + (xy 63.166812 104.370789) + (xy 63.160692 104.3667) + (xy 62.995144 104.278212) + (xy 62.988343 104.275395) + (xy 62.808706 104.220903) + (xy 62.801496 104.219469) + (xy 62.614676 104.201069) + (xy 62.607324 104.201069) + (xy 62.420503 104.219469) + (xy 62.413293 104.220903) + (xy 62.233656 104.275395) + (xy 62.226855 104.278212) + (xy 62.061307 104.3667) + (xy 62.055187 104.370789) + (xy 62.014004 104.404587) + (xy 62.009268 104.41143) + (xy 47.562 104.41143) + (xy 47.562 97.1672) + (xy 47.572075 97.1296) + (xy 47.5996 97.102075) + (xy 47.6372 97.092) + (xy 52.96712 97.092) + (xy 52.99836 97.098796) + (xy 53.000394 97.099724) + (xy 53.004919 97.102633) + (xy 53.141715 97.1428) + (xy 53.278904 97.1428) + (xy 53.284285 97.1428) + (xy 53.421081 97.102633) + (xy 53.541018 97.025553) + (xy 53.634382 96.917806) + (xy 53.693608 96.788119) + (xy 53.713898 96.647) + (xy 53.693608 96.505881) + (xy 53.634382 96.376194) + (xy 53.614275 96.35299) + (xy 53.57634 96.309211) + (xy 53.541018 96.268447) + (xy 53.536496 96.265541) + (xy 53.536494 96.265539) + (xy 53.425602 96.194272) + (xy 53.425599 96.19427) + (xy 53.421081 96.191367) + (xy 53.415925 96.189853) + (xy 53.415923 96.189852) + (xy 53.289447 96.152715) + (xy 53.289442 96.152714) + (xy 53.284285 96.1512) + (xy 53.141715 96.1512) + (xy 53.136558 96.152714) + (xy 53.136552 96.152715) + (xy 53.010079 96.189851) + (xy 53.010073 96.189853) + (xy 53.004919 96.191367) + (xy 53.000394 96.194274) + (xy 52.99836 96.195204) + (xy 52.96712 96.202) + (xy 47.6372 96.202) + (xy 47.5996 96.191925) + (xy 47.572075 96.1644) + (xy 47.562 96.1268) + (xy 47.562 94.107) + (xy 61.475102 94.107) + (xy 61.475867 94.112321) + (xy 61.494626 94.242797) + (xy 61.494627 94.242802) + (xy 61.495392 94.248119) + (xy 61.497624 94.253008) + (xy 61.497626 94.253012) + (xy 61.552382 94.372911) + (xy 61.552383 94.372913) + (xy 61.554618 94.377806) + (xy 61.558138 94.381869) + (xy 61.55814 94.381871) + (xy 61.584898 94.412751) + (xy 61.647982 94.485553) + (xy 61.652504 94.488459) + (xy 61.652505 94.48846) + (xy 61.759003 94.556903) + (xy 61.767919 94.562633) + (xy 61.904715 94.6028) + (xy 62.041904 94.6028) + (xy 62.047285 94.6028) + (xy 62.184081 94.562633) + (xy 62.304018 94.485553) + (xy 62.333999 94.450954) + (xy 62.359592 94.431795) + (xy 62.390831 94.425) + (xy 63.185732 94.425) + (xy 63.227511 94.437673) + (xy 63.255208 94.471422) + (xy 63.259487 94.514871) + (xy 63.238906 94.553374) + (xy 63.060106 94.732174) + (xy 63.03571 94.748476) + (xy 63.006932 94.7542) + (xy 62.920715 94.7542) + (xy 62.915558 94.755714) + (xy 62.915552 94.755715) + (xy 62.789076 94.792852) + (xy 62.789071 94.792854) + (xy 62.783919 94.794367) + (xy 62.779403 94.797269) + (xy 62.779397 94.797272) + (xy 62.668505 94.868539) + (xy 62.668499 94.868543) + (xy 62.663982 94.871447) + (xy 62.660461 94.875509) + (xy 62.66046 94.875511) + (xy 62.57414 94.975128) + (xy 62.574136 94.975133) + (xy 62.570618 94.979194) + (xy 62.568385 94.984082) + (xy 62.568382 94.984088) + (xy 62.513626 95.103987) + (xy 62.513624 95.103993) + (xy 62.511392 95.108881) + (xy 62.510627 95.114195) + (xy 62.510626 95.114202) + (xy 62.497131 95.208068) + (xy 62.491102 95.25) + (xy 62.491867 95.255321) + (xy 62.510626 95.385797) + (xy 62.510627 95.385802) + (xy 62.511392 95.391119) + (xy 62.513624 95.396008) + (xy 62.513626 95.396012) + (xy 62.568382 95.515911) + (xy 62.568383 95.515913) + (xy 62.570618 95.520806) + (xy 62.574138 95.524869) + (xy 62.57414 95.524871) + (xy 62.598643 95.553148) + (xy 62.663982 95.628553) + (xy 62.668504 95.631459) + (xy 62.668505 95.63146) + (xy 62.765818 95.694) + (xy 62.783919 95.705633) + (xy 62.920715 95.7458) + (xy 63.057904 95.7458) + (xy 63.063285 95.7458) + (xy 63.200081 95.705633) + (xy 63.2682 95.661854) + (xy 63.308855 95.649917) + (xy 63.349512 95.661854) + (xy 63.37726 95.693877) + (xy 63.383291 95.735819) + (xy 63.380102 95.758) + (xy 63.380867 95.763321) + (xy 63.399626 95.893797) + (xy 63.399627 95.893802) + (xy 63.400392 95.899119) + (xy 63.402624 95.904008) + (xy 63.402626 95.904012) + (xy 63.457382 96.023911) + (xy 63.457383 96.023913) + (xy 63.459618 96.028806) + (xy 63.463138 96.032869) + (xy 63.46314 96.032871) + (xy 63.49165 96.065773) + (xy 63.552982 96.136553) + (xy 63.557504 96.139459) + (xy 63.557505 96.13946) + (xy 63.654818 96.202) + (xy 63.672919 96.213633) + (xy 63.809715 96.2538) + (xy 63.946904 96.2538) + (xy 63.952285 96.2538) + (xy 64.089081 96.213633) + (xy 64.209018 96.136553) + (xy 64.238999 96.101954) + (xy 64.264592 96.082795) + (xy 64.295831 96.076) + (xy 66.260169 96.076) + (xy 66.291408 96.082795) + (xy 66.317001 96.101954) + (xy 66.346982 96.136553) + (xy 66.351504 96.139459) + (xy 66.351505 96.13946) + (xy 66.448818 96.202) + (xy 66.466919 96.213633) + (xy 66.603715 96.2538) + (xy 66.740904 96.2538) + (xy 66.746285 96.2538) + (xy 66.883081 96.213633) + (xy 67.003018 96.136553) + (xy 67.096382 96.028806) + (xy 67.155608 95.899119) + (xy 67.175898 95.758) + (xy 67.155608 95.616881) + (xy 67.096382 95.487194) + (xy 67.003018 95.379447) + (xy 66.998496 95.376541) + (xy 66.998494 95.376539) + (xy 66.887602 95.305272) + (xy 66.887599 95.30527) + (xy 66.883081 95.302367) + (xy 66.877925 95.300853) + (xy 66.877923 95.300852) + (xy 66.751447 95.263715) + (xy 66.751442 95.263714) + (xy 66.746285 95.2622) + (xy 66.603715 95.2622) + (xy 66.598558 95.263714) + (xy 66.598552 95.263715) + (xy 66.472076 95.300852) + (xy 66.472071 95.300854) + (xy 66.466919 95.302367) + (xy 66.462403 95.305269) + (xy 66.462397 95.305272) + (xy 66.351505 95.376539) + (xy 66.351499 95.376543) + (xy 66.346982 95.379447) + (xy 66.343461 95.383509) + (xy 66.34346 95.383511) + (xy 66.317001 95.414046) + (xy 66.291408 95.433205) + (xy 66.260169 95.44) + (xy 64.295831 95.44) + (xy 64.264592 95.433205) + (xy 64.238999 95.414046) + (xy 64.217344 95.389056) + (xy 64.209018 95.379447) + (xy 64.204496 95.376541) + (xy 64.204494 95.376539) + (xy 64.093602 95.305272) + (xy 64.093599 95.30527) + (xy 64.089081 95.302367) + (xy 64.083925 95.300853) + (xy 64.083923 95.300852) + (xy 63.957447 95.263715) + (xy 63.957442 95.263714) + (xy 63.952285 95.2622) + (xy 63.809715 95.2622) + (xy 63.804558 95.263714) + (xy 63.804552 95.263715) + (xy 63.678076 95.300852) + (xy 63.678071 95.300854) + (xy 63.672919 95.302367) + (xy 63.668402 95.305269) + (xy 63.668393 95.305274) + (xy 63.604799 95.346144) + (xy 63.564142 95.358082) + (xy 63.523485 95.346143) + (xy 63.495738 95.314119) + (xy 63.489709 95.272177) + (xy 63.490926 95.263715) + (xy 63.492898 95.25) + (xy 63.491822 95.242518) + (xy 63.494902 95.208068) + (xy 63.513079 95.178639) + (xy 63.736694 94.955025) + (xy 63.761091 94.938724) + (xy 63.789869 94.933) + (xy 66.02283 94.933) + (xy 66.029383 94.933285) + (xy 66.068143 94.936677) + (xy 66.105728 94.926605) + (xy 66.112121 94.925187) + (xy 66.15044 94.918432) + (xy 66.15614 94.91514) + (xy 66.162321 94.912891) + (xy 66.162324 94.912901) + (xy 66.164151 94.912145) + (xy 66.164147 94.912136) + (xy 66.17011 94.909354) + (xy 66.176466 94.907652) + (xy 66.20836 94.885319) + (xy 66.213853 94.88182) + (xy 66.24756 94.86236) + (xy 66.272583 94.832537) + (xy 66.276994 94.827724) + (xy 69.578693 91.526026) + (xy 69.60309 91.509724) + (xy 69.631868 91.504) + (xy 70.578169 91.504) + (xy 70.609408 91.510795) + (xy 70.635001 91.529954) + (xy 70.664982 91.564553) + (xy 70.784919 91.641633) + (xy 70.921715 91.6818) + (xy 71.058904 91.6818) + (xy 71.064285 91.6818) + (xy 71.201081 91.641633) + (xy 71.321018 91.564553) + (xy 71.414382 91.456806) + (xy 71.473608 91.327119) + (xy 71.493898 91.186) + (xy 71.473608 91.044881) + (xy 71.414382 90.915194) + (xy 71.37214 90.866445) + (xy 71.354538 90.827902) + (xy 71.360569 90.785961) + (xy 71.388317 90.753938) + (xy 71.428973 90.742) + (xy 71.848169 90.742) + (xy 71.879408 90.748795) + (xy 71.905001 90.767954) + (xy 71.934982 90.802553) + (xy 71.939504 90.805459) + (xy 71.939505 90.80546) + (xy 72.036818 90.868) + (xy 72.054919 90.879633) + (xy 72.191715 90.9198) + (xy 72.328904 90.9198) + (xy 72.334285 90.9198) + (xy 72.471081 90.879633) + (xy 72.591018 90.802553) + (xy 72.684382 90.694806) + (xy 72.692057 90.678) + (xy 73.032102 90.678) + (xy 73.032867 90.683321) + (xy 73.051626 90.813797) + (xy 73.051627 90.813802) + (xy 73.052392 90.819119) + (xy 73.054624 90.824008) + (xy 73.054626 90.824012) + (xy 73.109382 90.943911) + (xy 73.109383 90.943913) + (xy 73.111618 90.948806) + (xy 73.115138 90.952869) + (xy 73.11514 90.952871) + (xy 73.127642 90.967299) + (xy 73.204982 91.056553) + (xy 73.209504 91.059459) + (xy 73.209505 91.05946) + (xy 73.315049 91.12729) + (xy 73.324919 91.133633) + (xy 73.461715 91.1738) + (xy 73.598904 91.1738) + (xy 73.604285 91.1738) + (xy 73.741081 91.133633) + (xy 73.861018 91.056553) + (xy 73.953667 90.94963) + (xy 73.989314 90.926721) + (xy 74.031686 90.926721) + (xy 74.067332 90.94963) + (xy 74.156457 91.052486) + (xy 74.15646 91.052489) + (xy 74.159982 91.056553) + (xy 74.164504 91.059459) + (xy 74.164505 91.05946) + (xy 74.270049 91.12729) + (xy 74.279919 91.133633) + (xy 74.416715 91.1738) + (xy 74.553904 91.1738) + (xy 74.559285 91.1738) + (xy 74.696081 91.133633) + (xy 74.816018 91.056553) + (xy 74.909382 90.948806) + (xy 74.968608 90.819119) + (xy 74.988898 90.678) + (xy 74.987821 90.670513) + (xy 74.990902 90.636066) + (xy 75.009079 90.606639) + (xy 77.137693 88.478025) + (xy 77.162089 88.461724) + (xy 77.190867 88.456) + (xy 80.767169 88.456) + (xy 80.798408 88.462795) + (xy 80.824001 88.481954) + (xy 80.853982 88.516553) + (xy 80.858506 88.51946) + (xy 80.862571 88.522983) + (xy 80.861803 88.523869) + (xy 80.888567 88.557907) + (xy 80.888567 88.607093) + (xy 80.861803 88.64113) + (xy 80.862571 88.642017) + (xy 80.858504 88.64554) + (xy 80.853982 88.648447) + (xy 80.850461 88.652509) + (xy 80.85046 88.652511) + (xy 80.824001 88.683046) + (xy 80.798408 88.702205) + (xy 80.767169 88.709) + (xy 78.056174 88.709) + (xy 78.049621 88.708714) + (xy 78.01741 88.705896) + (xy 78.017408 88.705896) + (xy 78.010857 88.705323) + (xy 78.004507 88.707024) + (xy 78.004499 88.707025) + (xy 77.973266 88.715394) + (xy 77.966865 88.716813) + (xy 77.935037 88.722425) + (xy 77.935032 88.722426) + (xy 77.92856 88.723568) + (xy 77.922866 88.726854) + (xy 77.916681 88.729106) + (xy 77.916678 88.729099) + (xy 77.914842 88.72986) + (xy 77.914846 88.729867) + (xy 77.908888 88.732644) + (xy 77.902534 88.734348) + (xy 77.897147 88.738119) + (xy 77.897142 88.738122) + (xy 77.870655 88.756667) + (xy 77.865128 88.760189) + (xy 77.837133 88.776352) + (xy 77.837129 88.776355) + (xy 77.83144 88.77964) + (xy 77.827215 88.784673) + (xy 77.827211 88.784678) + (xy 77.806421 88.809454) + (xy 77.80199 88.814288) + (xy 76.456106 90.160174) + (xy 76.43171 90.176476) + (xy 76.402932 90.1822) + (xy 76.316715 90.1822) + (xy 76.311558 90.183714) + (xy 76.311552 90.183715) + (xy 76.185076 90.220852) + (xy 76.185071 90.220854) + (xy 76.179919 90.222367) + (xy 76.175403 90.225269) + (xy 76.175397 90.225272) + (xy 76.064505 90.296539) + (xy 76.064499 90.296543) + (xy 76.059982 90.299447) + (xy 76.056461 90.303509) + (xy 76.05646 90.303511) + (xy 75.97014 90.403128) + (xy 75.970136 90.403133) + (xy 75.966618 90.407194) + (xy 75.964385 90.412082) + (xy 75.964382 90.412088) + (xy 75.909626 90.531987) + (xy 75.909624 90.531993) + (xy 75.907392 90.536881) + (xy 75.906627 90.542195) + (xy 75.906626 90.542202) + (xy 75.896916 90.609741) + (xy 75.887102 90.678) + (xy 75.887867 90.683321) + (xy 75.906626 90.813797) + (xy 75.906627 90.813802) + (xy 75.907392 90.819119) + (xy 75.909624 90.824008) + (xy 75.909626 90.824012) + (xy 75.964382 90.943911) + (xy 75.964383 90.943913) + (xy 75.966618 90.948806) + (xy 75.970138 90.952869) + (xy 75.97014 90.952871) + (xy 75.982642 90.967299) + (xy 76.059982 91.056553) + (xy 76.064504 91.059459) + (xy 76.064505 91.05946) + (xy 76.170049 91.12729) + (xy 76.179919 91.133633) + (xy 76.316715 91.1738) + (xy 76.453904 91.1738) + (xy 76.459285 91.1738) + (xy 76.596081 91.133633) + (xy 76.716018 91.056553) + (xy 76.808667 90.94963) + (xy 76.844314 90.926721) + (xy 76.886686 90.926721) + (xy 76.922332 90.94963) + (xy 77.011457 91.052486) + (xy 77.01146 91.052489) + (xy 77.014982 91.056553) + (xy 77.019504 91.059459) + (xy 77.019505 91.05946) + (xy 77.125049 91.12729) + (xy 77.134919 91.133633) + (xy 77.271715 91.1738) + (xy 77.408904 91.1738) + (xy 77.414285 91.1738) + (xy 77.551081 91.133633) + (xy 77.671018 91.056553) + (xy 77.764382 90.948806) + (xy 77.823608 90.819119) + (xy 77.843898 90.678) + (xy 77.842821 90.670513) + (xy 77.845902 90.636066) + (xy 77.864077 90.606641) + (xy 78.214696 90.256023) + (xy 78.23909 90.239724) + (xy 78.267868 90.234) + (xy 80.767169 90.234) + (xy 80.798408 90.240795) + (xy 80.824001 90.259954) + (xy 80.853982 90.294553) + (xy 80.858504 90.297459) + (xy 80.858505 90.29746) + (xy 80.965658 90.366324) + (xy 80.973919 90.371633) + (xy 81.110715 90.4118) + (xy 81.247904 90.4118) + (xy 81.253285 90.4118) + (xy 81.390081 90.371633) + (xy 81.510018 90.294553) + (xy 81.539999 90.259954) + (xy 81.565592 90.240795) + (xy 81.596831 90.234) + (xy 84.448132 90.234) + (xy 84.47691 90.239724) + (xy 84.501306 90.256026) + (xy 84.651974 90.406694) + (xy 84.668276 90.43109) + (xy 84.674 90.459868) + (xy 84.674 90.758767) + (xy 84.659001 90.803833) + (xy 84.619986 90.830921) + (xy 84.535076 90.855852) + (xy 84.535071 90.855854) + (xy 84.529919 90.857367) + (xy 84.525403 90.860269) + (xy 84.525397 90.860272) + (xy 84.414505 90.931539) + (xy 84.414499 90.931543) + (xy 84.409982 90.934447) + (xy 84.406461 90.938509) + (xy 84.40646 90.938511) + (xy 84.32014 91.038128) + (xy 84.320136 91.038133) + (xy 84.316618 91.042194) + (xy 84.314385 91.047082) + (xy 84.314382 91.047088) + (xy 84.259626 91.166987) + (xy 84.259624 91.166993) + (xy 84.257392 91.171881) + (xy 84.256627 91.177195) + (xy 84.256626 91.177202) + (xy 84.242094 91.278281) + (xy 84.237102 91.313) + (xy 84.237867 91.318321) + (xy 84.256626 91.448797) + (xy 84.256627 91.448802) + (xy 84.257392 91.454119) + (xy 84.259624 91.459008) + (xy 84.259626 91.459012) + (xy 84.314382 91.578911) + (xy 84.314383 91.578913) + (xy 84.316618 91.583806) + (xy 84.409982 91.691553) + (xy 84.414504 91.694459) + (xy 84.414505 91.69446) + (xy 84.50825 91.754707) + (xy 84.529919 91.768633) + (xy 84.666715 91.8088) + (xy 84.803904 91.8088) + (xy 84.809285 91.8088) + (xy 84.946081 91.768633) + (xy 85.066018 91.691553) + (xy 85.067229 91.693437) + (xy 85.096178 91.680261) + (xy 85.138088 91.686325) + (xy 85.170077 91.714073) + (xy 85.182 91.754707) + (xy 85.182 92.039132) + (xy 85.176276 92.06791) + (xy 85.159974 92.092306) + (xy 84.806106 92.446174) + (xy 84.78171 92.462476) + (xy 84.752932 92.4682) + (xy 84.666715 92.4682) + (xy 84.661558 92.469714) + (xy 84.661552 92.469715) + (xy 84.535076 92.506852) + (xy 84.535071 92.506854) + (xy 84.529919 92.508367) + (xy 84.525403 92.511269) + (xy 84.525397 92.511272) + (xy 84.414505 92.582539) + (xy 84.414499 92.582543) + (xy 84.409982 92.585447) + (xy 84.406461 92.589509) + (xy 84.40646 92.589511) + (xy 84.32014 92.689128) + (xy 84.320136 92.689133) + (xy 84.316618 92.693194) + (xy 84.314385 92.698082) + (xy 84.314382 92.698088) + (xy 84.259626 92.817987) + (xy 84.259624 92.817993) + (xy 84.257392 92.822881) + (xy 84.256627 92.828195) + (xy 84.256626 92.828202) + (xy 84.243535 92.919255) + (xy 84.237102 92.964) + (xy 84.237867 92.969321) + (xy 84.256626 93.099797) + (xy 84.256627 93.099802) + (xy 84.257392 93.105119) + (xy 84.259624 93.110008) + (xy 84.259626 93.110012) + (xy 84.314382 93.229911) + (xy 84.314383 93.229913) + (xy 84.316618 93.234806) + (xy 84.320138 93.238869) + (xy 84.32014 93.238871) + (xy 84.327192 93.247009) + (xy 84.409982 93.342553) + (xy 84.414504 93.345459) + (xy 84.414505 93.34546) + (xy 84.506957 93.404876) + (xy 84.529919 93.419633) + (xy 84.666715 93.4598) + (xy 84.803904 93.4598) + (xy 84.809285 93.4598) + (xy 84.946081 93.419633) + (xy 85.066018 93.342553) + (xy 85.159382 93.234806) + (xy 85.218608 93.105119) + (xy 85.238898 92.964) + (xy 85.237821 92.956513) + (xy 85.240902 92.922066) + (xy 85.259077 92.892641) + (xy 85.561627 92.590092) + (xy 85.600129 92.569513) + (xy 85.643578 92.573792) + (xy 85.677327 92.601489) + (xy 85.69 92.643268) + (xy 85.69 93.182132) + (xy 85.684276 93.21091) + (xy 85.667974 93.235306) + (xy 84.806106 94.097174) + (xy 84.78171 94.113476) + (xy 84.752932 94.1192) + (xy 84.666715 94.1192) + (xy 84.661558 94.120714) + (xy 84.661552 94.120715) + (xy 84.535076 94.157852) + (xy 84.535071 94.157854) + (xy 84.529919 94.159367) + (xy 84.525403 94.162269) + (xy 84.525397 94.162272) + (xy 84.414505 94.233539) + (xy 84.414499 94.233543) + (xy 84.409982 94.236447) + (xy 84.406461 94.240509) + (xy 84.40646 94.240511) + (xy 84.32014 94.340128) + (xy 84.320136 94.340133) + (xy 84.316618 94.344194) + (xy 84.314385 94.349082) + (xy 84.314382 94.349088) + (xy 84.259626 94.468987) + (xy 84.259624 94.468993) + (xy 84.257392 94.473881) + (xy 84.256627 94.479195) + (xy 84.256626 94.479202) + (xy 84.241602 94.583703) + (xy 84.237102 94.615) + (xy 84.237867 94.620321) + (xy 84.256626 94.750797) + (xy 84.256627 94.750802) + (xy 84.257392 94.756119) + (xy 84.259624 94.761008) + (xy 84.259626 94.761012) + (xy 84.314382 94.880911) + (xy 84.314383 94.880913) + (xy 84.316618 94.885806) + (xy 84.320138 94.889869) + (xy 84.32014 94.889871) + (xy 84.332278 94.903879) + (xy 84.409982 94.993553) + (xy 84.414504 94.996459) + (xy 84.414505 94.99646) + (xy 84.509462 95.057486) + (xy 84.529919 95.070633) + (xy 84.666715 95.1108) + (xy 84.803904 95.1108) + (xy 84.809285 95.1108) + (xy 84.946081 95.070633) + (xy 85.066018 94.993553) + (xy 85.159382 94.885806) + (xy 85.218608 94.756119) + (xy 85.238898 94.615) + (xy 85.237821 94.607513) + (xy 85.240902 94.573066) + (xy 85.259079 94.543639) + (xy 86.069625 93.733094) + (xy 86.108129 93.712513) + (xy 86.151578 93.716792) + (xy 86.185327 93.744489) + (xy 86.198 93.786268) + (xy 86.198 94.325132) + (xy 86.192276 94.35391) + (xy 86.175974 94.378306) + (xy 84.806106 95.748174) + (xy 84.78171 95.764476) + (xy 84.752932 95.7702) + (xy 84.666715 95.7702) + (xy 84.661558 95.771714) + (xy 84.661552 95.771715) + (xy 84.535076 95.808852) + (xy 84.535071 95.808854) + (xy 84.529919 95.810367) + (xy 84.525403 95.813269) + (xy 84.525397 95.813272) + (xy 84.414505 95.884539) + (xy 84.414499 95.884543) + (xy 84.409982 95.887447) + (xy 84.406461 95.891509) + (xy 84.40646 95.891511) + (xy 84.32014 95.991128) + (xy 84.320136 95.991133) + (xy 84.316618 95.995194) + (xy 84.314385 96.000082) + (xy 84.314382 96.000088) + (xy 84.259626 96.119987) + (xy 84.259624 96.119993) + (xy 84.257392 96.124881) + (xy 84.256627 96.130195) + (xy 84.256626 96.130202) + (xy 84.238856 96.2538) + (xy 84.237102 96.266) + (xy 84.237867 96.271321) + (xy 84.256626 96.401797) + (xy 84.256627 96.401802) + (xy 84.257392 96.407119) + (xy 84.259624 96.412008) + (xy 84.259626 96.412012) + (xy 84.314382 96.531911) + (xy 84.314383 96.531913) + (xy 84.316618 96.536806) + (xy 84.320138 96.540869) + (xy 84.32014 96.540871) + (xy 84.321517 96.54246) + (xy 84.409982 96.644553) + (xy 84.529919 96.721633) + (xy 84.666715 96.7618) + (xy 84.803904 96.7618) + (xy 84.809285 96.7618) + (xy 84.946081 96.721633) + (xy 85.066018 96.644553) + (xy 85.159382 96.536806) + (xy 85.218608 96.407119) + (xy 85.238898 96.266) + (xy 85.237821 96.258513) + (xy 85.240902 96.224066) + (xy 85.259079 96.194639) + (xy 86.076718 95.377) + (xy 87.628963 95.377) + (xy 87.629325 95.380675) + (xy 87.629325 95.380676) + (xy 87.64771 95.567352) + (xy 87.649062 95.581072) + (xy 87.650132 95.584601) + (xy 87.650133 95.584603) + (xy 87.707516 95.773769) + (xy 87.707518 95.773774) + (xy 87.708588 95.777301) + (xy 87.805252 95.958147) + (xy 87.807596 95.961003) + (xy 87.807598 95.961006) + (xy 87.885948 96.056476) + (xy 87.93534 96.11666) + (xy 87.938195 96.119003) + (xy 88.062789 96.221255) + (xy 88.093853 96.246748) + (xy 88.274699 96.343412) + (xy 88.470928 96.402938) + (xy 88.675 96.423037) + (xy 88.879072 96.402938) + (xy 89.075301 96.343412) + (xy 89.256147 96.246748) + (xy 89.41466 96.11666) + (xy 89.515471 95.99382) + (xy 89.553543 95.969052) + (xy 89.598934 95.970724) + (xy 89.635082 95.998227) + (xy 89.6488 96.041528) + (xy 89.6488 96.22343) + (xy 89.648514 96.229984) + (xy 89.645738 96.261717) + (xy 89.645123 96.268743) + (xy 89.646824 96.275093) + (xy 89.646825 96.275098) + (xy 89.655194 96.306331) + (xy 89.656613 96.312733) + (xy 89.662225 96.344561) + (xy 89.662226 96.344563) + (xy 89.663368 96.35104) + (xy 89.666656 96.356736) + (xy 89.668907 96.362919) + (xy 89.668898 96.362921) + (xy 89.669657 96.364753) + (xy 89.669665 96.36475) + (xy 89.672444 96.370711) + (xy 89.674148 96.377066) + (xy 89.677921 96.382454) + (xy 89.696462 96.408935) + (xy 89.699985 96.414466) + (xy 89.716148 96.442461) + (xy 89.716153 96.442467) + (xy 89.71944 96.44816) + (xy 89.724478 96.452387) + (xy 89.749248 96.473172) + (xy 89.754084 96.477604) + (xy 90.136195 96.859715) + (xy 90.140627 96.864551) + (xy 90.16564 96.89436) + (xy 90.199344 96.913819) + (xy 90.204846 96.917323) + (xy 90.236734 96.939651) + (xy 90.24309 96.941354) + (xy 90.249052 96.944134) + (xy 90.249047 96.944143) + (xy 90.250875 96.9449) + (xy 90.250879 96.944892) + (xy 90.257062 96.947142) + (xy 90.26276 96.950432) + (xy 90.301085 96.957189) + (xy 90.30747 96.958604) + (xy 90.345057 96.968677) + (xy 90.383816 96.965285) + (xy 90.39037 96.965) + (xy 93.124884 96.965) + (xy 93.168185 96.978718) + (xy 93.195688 97.014866) + (xy 93.19736 97.060257) + (xy 93.17259 97.09833) + (xy 93.051722 97.197523) + (xy 93.051716 97.197528) + (xy 93.048867 97.199867) + (xy 93.046528 97.202716) + (xy 93.046523 97.202722) + (xy 92.93212 97.342123) + (xy 92.932117 97.342127) + (xy 92.929776 97.34498) + (xy 92.928036 97.348233) + (xy 92.928034 97.348238) + (xy 92.843023 97.50728) + (xy 92.843018 97.507292) + (xy 92.841283 97.510538) + (xy 92.840212 97.514066) + (xy 92.840212 97.514068) + (xy 92.789984 97.679647) + (xy 92.786789 97.690179) + (xy 92.786427 97.693847) + (xy 92.786427 97.693851) + (xy 92.775302 97.806806) + (xy 92.768389 97.877) + (xy 92.768751 97.880676) + (xy 92.786099 98.056821) + (xy 92.786789 98.063821) + (xy 92.841283 98.243462) + (xy 92.843019 98.246711) + (xy 92.843023 98.246719) + (xy 92.886029 98.327176) + (xy 92.929776 98.40902) + (xy 92.93212 98.411876) + (xy 93.008348 98.504761) + (xy 93.048867 98.554133) + (xy 93.19398 98.673224) + (xy 93.276759 98.71747) + (xy 93.35628 98.759976) + (xy 93.356283 98.759977) + (xy 93.359538 98.761717) + (xy 93.539179 98.816211) + (xy 93.726 98.834611) + (xy 93.912821 98.816211) + (xy 94.092462 98.761717) + (xy 94.094632 98.760556) + (xy 94.137668 98.756314) + (xy 94.176176 98.776896) + (xy 94.798995 99.399715) + (xy 94.803427 99.404551) + (xy 94.815877 99.419389) + (xy 94.82844 99.43436) + (xy 94.862134 99.453813) + (xy 94.867658 99.457332) + (xy 94.899534 99.479652) + (xy 94.905886 99.481353) + (xy 94.911852 99.484136) + (xy 94.911848 99.484144) + (xy 94.913678 99.484902) + (xy 94.913682 99.484893) + (xy 94.919861 99.487142) + (xy 94.92556 99.490432) + (xy 94.963882 99.497188) + (xy 94.970275 99.498606) + (xy 95.007857 99.508677) + (xy 95.04662 99.505286) + (xy 95.053174 99.505) + (xy 95.576144 99.505) + (xy 95.619445 99.518718) + (xy 95.646948 99.554866) + (xy 95.64862 99.600257) + (xy 95.62385 99.63833) + (xy 95.551722 99.697523) + (xy 95.551716 99.697528) + (xy 95.548867 99.699867) + (xy 95.546528 99.702716) + (xy 95.546523 99.702722) + (xy 95.43212 99.842123) + (xy 95.432117 99.842127) + (xy 95.429776 99.84498) + (xy 95.428036 99.848233) + (xy 95.428034 99.848238) + (xy 95.343023 100.00728) + (xy 95.343018 100.007292) + (xy 95.341283 100.010538) + (xy 95.340212 100.014066) + (xy 95.340212 100.014068) + (xy 95.289984 100.179647) + (xy 95.286789 100.190179) + (xy 95.286427 100.193847) + (xy 95.286427 100.193851) + (xy 95.271446 100.345962) + (xy 95.268389 100.377) + (xy 95.268751 100.380676) + (xy 95.286099 100.556821) + (xy 95.286789 100.563821) + (xy 95.341283 100.743462) + (xy 95.343019 100.746711) + (xy 95.343023 100.746719) + (xy 95.411901 100.875579) + (xy 95.429776 100.90902) + (xy 95.548867 101.054133) + (xy 95.69398 101.173224) + (xy 95.776759 101.21747) + (xy 95.85628 101.259976) + (xy 95.856283 101.259977) + (xy 95.859538 101.261717) + (xy 96.039179 101.316211) + (xy 96.226 101.334611) + (xy 96.412821 101.316211) + (xy 96.592462 101.261717) + (xy 96.75802 101.173224) + (xy 96.903133 101.054133) + (xy 97.022224 100.90902) + (xy 97.110717 100.743462) + (xy 97.165211 100.563821) + (xy 97.183611 100.377) + (xy 97.182922 100.37) + (xy 97.848389 100.37) + (xy 97.848751 100.373676) + (xy 97.865864 100.547436) + (xy 97.866789 100.556821) + (xy 97.867859 100.56035) + (xy 97.86786 100.560352) + (xy 97.894036 100.646641) + (xy 97.921283 100.736462) + (xy 97.923019 100.739711) + (xy 97.923023 100.739719) + (xy 97.982457 100.85091) + (xy 98.009776 100.90202) + (xy 98.128867 101.047133) + (xy 98.27398 101.166224) + (xy 98.356759 101.21047) + (xy 98.43628 101.252976) + (xy 98.436283 101.252977) + (xy 98.439538 101.254717) + (xy 98.619179 101.309211) + (xy 98.806 101.327611) + (xy 98.992821 101.309211) + (xy 99.172462 101.254717) + (xy 99.33802 101.166224) + (xy 99.483133 101.047133) + (xy 99.602224 100.90202) + (xy 99.690717 100.736462) + (xy 99.745211 100.556821) + (xy 99.763611 100.37) + (xy 100.348389 100.37) + (xy 100.348751 100.373676) + (xy 100.365864 100.547436) + (xy 100.366789 100.556821) + (xy 100.367859 100.56035) + (xy 100.36786 100.560352) + (xy 100.394036 100.646641) + (xy 100.421283 100.736462) + (xy 100.423019 100.739711) + (xy 100.423023 100.739719) + (xy 100.482457 100.85091) + (xy 100.509776 100.90202) + (xy 100.628867 101.047133) + (xy 100.77398 101.166224) + (xy 100.856759 101.21047) + (xy 100.93628 101.252976) + (xy 100.936283 101.252977) + (xy 100.939538 101.254717) + (xy 101.119179 101.309211) + (xy 101.306 101.327611) + (xy 101.492821 101.309211) + (xy 101.672462 101.254717) + (xy 101.83802 101.166224) + (xy 101.983133 101.047133) + (xy 102.102224 100.90202) + (xy 102.190717 100.736462) + (xy 102.245211 100.556821) + (xy 102.263611 100.37) + (xy 102.245211 100.183179) + (xy 102.190717 100.003538) + (xy 102.183662 99.99034) + (xy 102.133536 99.89656) + (xy 102.102224 99.83798) + (xy 101.983133 99.692867) + (xy 101.972283 99.683963) + (xy 101.849406 99.58312) + (xy 101.83802 99.573776) + (xy 101.802642 99.554866) + (xy 101.675719 99.487023) + (xy 101.675711 99.487019) + (xy 101.672462 99.485283) + (xy 101.568707 99.453809) + (xy 101.496352 99.43186) + (xy 101.49635 99.431859) + (xy 101.492821 99.430789) + (xy 101.48915 99.430427) + (xy 101.489148 99.430427) + (xy 101.309676 99.412751) + (xy 101.306 99.412389) + (xy 101.302324 99.412751) + (xy 101.122851 99.430427) + (xy 101.122847 99.430427) + (xy 101.119179 99.430789) + (xy 101.115651 99.431859) + (xy 101.115647 99.43186) + (xy 100.943068 99.484212) + (xy 100.943066 99.484212) + (xy 100.939538 99.485283) + (xy 100.936292 99.487018) + (xy 100.93628 99.487023) + (xy 100.777238 99.572034) + (xy 100.777233 99.572036) + (xy 100.77398 99.573776) + (xy 100.771127 99.576117) + (xy 100.771123 99.57612) + (xy 100.631722 99.690523) + (xy 100.631716 99.690528) + (xy 100.628867 99.692867) + (xy 100.626528 99.695716) + (xy 100.626523 99.695722) + (xy 100.51212 99.835123) + (xy 100.512117 99.835127) + (xy 100.509776 99.83798) + (xy 100.508036 99.841233) + (xy 100.508034 99.841238) + (xy 100.423023 100.00028) + (xy 100.423018 100.000292) + (xy 100.421283 100.003538) + (xy 100.420212 100.007066) + (xy 100.420212 100.007068) + (xy 100.374257 100.158561) + (xy 100.366789 100.183179) + (xy 100.366427 100.186847) + (xy 100.366427 100.186851) + (xy 100.350565 100.347908) + (xy 100.348389 100.37) + (xy 99.763611 100.37) + (xy 99.745211 100.183179) + (xy 99.690717 100.003538) + (xy 99.683662 99.99034) + (xy 99.633536 99.89656) + (xy 99.602224 99.83798) + (xy 99.483133 99.692867) + (xy 99.472283 99.683963) + (xy 99.349406 99.58312) + (xy 99.33802 99.573776) + (xy 99.302642 99.554866) + (xy 99.175719 99.487023) + (xy 99.175711 99.487019) + (xy 99.172462 99.485283) + (xy 99.068707 99.453809) + (xy 98.996352 99.43186) + (xy 98.99635 99.431859) + (xy 98.992821 99.430789) + (xy 98.98915 99.430427) + (xy 98.989148 99.430427) + (xy 98.809676 99.412751) + (xy 98.806 99.412389) + (xy 98.802324 99.412751) + (xy 98.622851 99.430427) + (xy 98.622847 99.430427) + (xy 98.619179 99.430789) + (xy 98.615651 99.431859) + (xy 98.615647 99.43186) + (xy 98.443068 99.484212) + (xy 98.443066 99.484212) + (xy 98.439538 99.485283) + (xy 98.436292 99.487018) + (xy 98.43628 99.487023) + (xy 98.277238 99.572034) + (xy 98.277233 99.572036) + (xy 98.27398 99.573776) + (xy 98.271127 99.576117) + (xy 98.271123 99.57612) + (xy 98.131722 99.690523) + (xy 98.131716 99.690528) + (xy 98.128867 99.692867) + (xy 98.126528 99.695716) + (xy 98.126523 99.695722) + (xy 98.01212 99.835123) + (xy 98.012117 99.835127) + (xy 98.009776 99.83798) + (xy 98.008036 99.841233) + (xy 98.008034 99.841238) + (xy 97.923023 100.00028) + (xy 97.923018 100.000292) + (xy 97.921283 100.003538) + (xy 97.920212 100.007066) + (xy 97.920212 100.007068) + (xy 97.874257 100.158561) + (xy 97.866789 100.183179) + (xy 97.866427 100.186847) + (xy 97.866427 100.186851) + (xy 97.850565 100.347908) + (xy 97.848389 100.37) + (xy 97.182922 100.37) + (xy 97.165211 100.190179) + (xy 97.110717 100.010538) + (xy 97.108862 100.007068) + (xy 97.04568 99.888863) + (xy 97.022224 99.84498) + (xy 96.903133 99.699867) + (xy 96.894603 99.692867) + (xy 96.82815 99.63833) + (xy 96.80338 99.600257) + (xy 96.805052 99.554866) + (xy 96.832555 99.518718) + (xy 96.875856 99.505) + (xy 97.47183 99.505) + (xy 97.478383 99.505285) + (xy 97.517143 99.508677) + (xy 97.554728 99.498605) + (xy 97.561121 99.497187) + (xy 97.59944 99.490432) + (xy 97.60514 99.48714) + (xy 97.611321 99.484891) + (xy 97.611324 99.484901) + (xy 97.613151 99.484145) + (xy 97.613147 99.484136) + (xy 97.61911 99.481354) + (xy 97.625466 99.479652) + (xy 97.65736 99.457319) + (xy 97.662853 99.45382) + (xy 97.69656 99.43436) + (xy 97.721583 99.404537) + (xy 97.725994 99.399724) + (xy 98.355824 98.769894) + (xy 98.394327 98.749315) + (xy 98.437362 98.753554) + (xy 98.439538 98.754717) + (xy 98.619179 98.809211) + (xy 98.806 98.827611) + (xy 98.992821 98.809211) + (xy 99.172462 98.754717) + (xy 99.33802 98.666224) + (xy 99.483133 98.547133) + (xy 99.602224 98.40202) + (xy 99.690717 98.236462) + (xy 99.745211 98.056821) + (xy 99.763611 97.87) + (xy 100.348389 97.87) + (xy 100.348751 97.873676) + (xy 100.360368 97.991633) + (xy 100.366789 98.056821) + (xy 100.367859 98.06035) + (xy 100.36786 98.060352) + (xy 100.394035 98.146641) + (xy 100.421283 98.236462) + (xy 100.423019 98.239711) + (xy 100.423023 98.239719) + (xy 100.505528 98.394072) + (xy 100.509776 98.40202) + (xy 100.628867 98.547133) + (xy 100.77398 98.666224) + (xy 100.856758 98.71047) + (xy 100.93628 98.752976) + (xy 100.936283 98.752977) + (xy 100.939538 98.754717) + (xy 101.119179 98.809211) + (xy 101.306 98.827611) + (xy 101.492821 98.809211) + (xy 101.672462 98.754717) + (xy 101.83802 98.666224) + (xy 101.983133 98.547133) + (xy 102.102224 98.40202) + (xy 102.190717 98.236462) + (xy 102.245211 98.056821) + (xy 102.263611 97.87) + (xy 102.245211 97.683179) + (xy 102.190717 97.503538) + (xy 102.102224 97.33798) + (xy 101.983133 97.192867) + (xy 101.83802 97.073776) + (xy 101.812728 97.060257) + (xy 101.675719 96.987023) + (xy 101.675711 96.987019) + (xy 101.672462 96.985283) + (xy 101.539342 96.944901) + (xy 101.496352 96.93186) + (xy 101.49635 96.931859) + (xy 101.492821 96.930789) + (xy 101.48915 96.930427) + (xy 101.489148 96.930427) + (xy 101.309676 96.912751) + (xy 101.306 96.912389) + (xy 101.302324 96.912751) + (xy 101.122851 96.930427) + (xy 101.122847 96.930427) + (xy 101.119179 96.930789) + (xy 101.115651 96.931859) + (xy 101.115647 96.93186) + (xy 100.943068 96.984212) + (xy 100.943066 96.984212) + (xy 100.939538 96.985283) + (xy 100.936292 96.987018) + (xy 100.93628 96.987023) + (xy 100.777238 97.072034) + (xy 100.777233 97.072036) + (xy 100.77398 97.073776) + (xy 100.771127 97.076117) + (xy 100.771123 97.07612) + (xy 100.631722 97.190523) + (xy 100.631716 97.190528) + (xy 100.628867 97.192867) + (xy 100.626528 97.195716) + (xy 100.626523 97.195722) + (xy 100.51212 97.335123) + (xy 100.512117 97.335127) + (xy 100.509776 97.33798) + (xy 100.508036 97.341233) + (xy 100.508034 97.341238) + (xy 100.423023 97.50028) + (xy 100.423018 97.500292) + (xy 100.421283 97.503538) + (xy 100.420212 97.507066) + (xy 100.420212 97.507068) + (xy 100.370242 97.671797) + (xy 100.366789 97.683179) + (xy 100.366427 97.686847) + (xy 100.366427 97.686851) + (xy 100.348751 97.866324) + (xy 100.348389 97.87) + (xy 99.763611 97.87) + (xy 99.745211 97.683179) + (xy 99.690717 97.503538) + (xy 99.602224 97.33798) + (xy 99.483133 97.192867) + (xy 99.367938 97.098329) + (xy 99.343169 97.060257) + (xy 99.344841 97.014866) + (xy 99.372344 96.978718) + (xy 99.415645 96.965) + (xy 99.42383 96.965) + (xy 99.430383 96.965285) + (xy 99.469143 96.968677) + (xy 99.506728 96.958605) + (xy 99.513121 96.957187) + (xy 99.55144 96.950432) + (xy 99.55714 96.94714) + (xy 99.563321 96.944891) + (xy 99.563324 96.944901) + (xy 99.565151 96.944145) + (xy 99.565147 96.944136) + (xy 99.57111 96.941354) + (xy 99.577466 96.939652) + (xy 99.60936 96.917319) + (xy 99.614853 96.91382) + (xy 99.64856 96.89436) + (xy 99.673583 96.864537) + (xy 99.677994 96.859724) + (xy 100.288724 96.248994) + (xy 100.293537 96.244583) + (xy 100.32336 96.21956) + (xy 100.34282 96.185853) + (xy 100.346319 96.18036) + (xy 100.368652 96.148466) + (xy 100.370354 96.14211) + (xy 100.373136 96.136147) + (xy 100.373145 96.136151) + (xy 100.373901 96.134324) + (xy 100.373891 96.134321) + (xy 100.37614 96.12814) + (xy 100.379432 96.12244) + (xy 100.386187 96.084121) + (xy 100.387605 96.077728) + (xy 100.397677 96.040143) + (xy 100.394286 96.001379) + (xy 100.394 95.994826) + (xy 100.394 95.971116) + (xy 100.407718 95.927815) + (xy 100.443866 95.900312) + (xy 100.489257 95.89864) + (xy 100.52733 95.92341) + (xy 100.582905 95.991128) + (xy 100.628867 96.047133) + (xy 100.77398 96.166224) + (xy 100.840912 96.202) + (xy 100.93628 96.252976) + (xy 100.936283 96.252977) + (xy 100.939538 96.254717) + (xy 101.119179 96.309211) + (xy 101.306 96.327611) + (xy 101.492821 96.309211) + (xy 101.672462 96.254717) + (xy 101.83802 96.166224) + (xy 101.983133 96.047133) + (xy 102.102224 95.90202) + (xy 102.190717 95.736462) + (xy 102.245211 95.556821) + (xy 102.263611 95.37) + (xy 102.245211 95.183179) + (xy 102.190717 95.003538) + (xy 102.178363 94.980426) + (xy 102.128246 94.886663) + (xy 102.102224 94.83798) + (xy 101.983133 94.692867) + (xy 101.83802 94.573776) + (xy 101.820071 94.564182) + (xy 101.675719 94.487023) + (xy 101.675711 94.487019) + (xy 101.672462 94.485283) + (xy 101.582641 94.458036) + (xy 101.496352 94.43186) + (xy 101.49635 94.431859) + (xy 101.492821 94.430789) + (xy 101.48915 94.430427) + (xy 101.489148 94.430427) + (xy 101.309676 94.412751) + (xy 101.306 94.412389) + (xy 101.302324 94.412751) + (xy 101.122851 94.430427) + (xy 101.122847 94.430427) + (xy 101.119179 94.430789) + (xy 101.115651 94.431859) + (xy 101.115647 94.43186) + (xy 100.943068 94.484212) + (xy 100.943066 94.484212) + (xy 100.939538 94.485283) + (xy 100.936292 94.487018) + (xy 100.93628 94.487023) + (xy 100.777238 94.572034) + (xy 100.777233 94.572036) + (xy 100.77398 94.573776) + (xy 100.771127 94.576117) + (xy 100.771123 94.57612) + (xy 100.631722 94.690523) + (xy 100.631716 94.690528) + (xy 100.628867 94.692867) + (xy 100.626528 94.695716) + (xy 100.626523 94.695722) + (xy 100.52733 94.81659) + (xy 100.489257 94.84136) + (xy 100.443866 94.839688) + (xy 100.407718 94.812185) + (xy 100.394 94.768884) + (xy 100.394 94.525163) + (xy 100.398741 94.498883) + (xy 100.412368 94.475917) + (xy 100.445406 94.437789) + (xy 100.497382 94.377806) + (xy 100.556608 94.248119) + (xy 100.576898 94.107) + (xy 100.556608 93.965881) + (xy 100.497382 93.836194) + (xy 100.490635 93.828408) + (xy 100.456488 93.789) + (xy 100.404018 93.728447) + (xy 100.399496 93.725541) + (xy 100.399494 93.725539) + (xy 100.288602 93.654272) + (xy 100.288599 93.65427) + (xy 100.284081 93.651367) + (xy 100.278925 93.649853) + (xy 100.278923 93.649852) + (xy 100.152447 93.612715) + (xy 100.152442 93.612714) + (xy 100.147285 93.6112) + (xy 100.004715 93.6112) + (xy 99.999558 93.612714) + (xy 99.999552 93.612715) + (xy 99.873076 93.649852) + (xy 99.873071 93.649854) + (xy 99.867919 93.651367) + (xy 99.863403 93.654269) + (xy 99.863397 93.654272) + (xy 99.752505 93.725539) + (xy 99.752499 93.725543) + (xy 99.747982 93.728447) + (xy 99.744461 93.732509) + (xy 99.74446 93.732511) + (xy 99.65814 93.832128) + (xy 99.658136 93.832133) + (xy 99.654618 93.836194) + (xy 99.652385 93.841082) + (xy 99.652382 93.841088) + (xy 99.597626 93.960987) + (xy 99.597624 93.960993) + (xy 99.595392 93.965881) + (xy 99.594627 93.971195) + (xy 99.594626 93.971202) + (xy 99.576515 94.097174) + (xy 99.575102 94.107) + (xy 99.575867 94.112321) + (xy 99.594626 94.242797) + (xy 99.594627 94.242802) + (xy 99.595392 94.248119) + (xy 99.597624 94.253008) + (xy 99.597626 94.253012) + (xy 99.652382 94.372911) + (xy 99.652383 94.372913) + (xy 99.654618 94.377806) + (xy 99.658138 94.381869) + (xy 99.65814 94.381871) + (xy 99.739632 94.475917) + (xy 99.753259 94.498883) + (xy 99.758 94.525163) + (xy 99.758 94.829202) + (xy 99.742084 94.875467) + (xy 99.701072 94.902148) + (xy 99.652326 94.897951) + (xy 99.61648 94.864651) + (xy 99.612562 94.857321) + (xy 99.602224 94.83798) + (xy 99.483133 94.692867) + (xy 99.33802 94.573776) + (xy 99.320071 94.564182) + (xy 99.175719 94.487023) + (xy 99.175711 94.487019) + (xy 99.172462 94.485283) + (xy 99.082641 94.458036) + (xy 98.996352 94.43186) + (xy 98.99635 94.431859) + (xy 98.992821 94.430789) + (xy 98.98915 94.430427) + (xy 98.989148 94.430427) + (xy 98.809676 94.412751) + (xy 98.806 94.412389) + (xy 98.802324 94.412751) + (xy 98.622851 94.430427) + (xy 98.622847 94.430427) + (xy 98.619179 94.430789) + (xy 98.615651 94.431859) + (xy 98.615647 94.43186) + (xy 98.443068 94.484212) + (xy 98.443066 94.484212) + (xy 98.439538 94.485283) + (xy 98.436292 94.487018) + (xy 98.43628 94.487023) + (xy 98.277238 94.572034) + (xy 98.277233 94.572036) + (xy 98.27398 94.573776) + (xy 98.271127 94.576117) + (xy 98.271123 94.57612) + (xy 98.131722 94.690523) + (xy 98.131716 94.690528) + (xy 98.128867 94.692867) + (xy 98.126528 94.695716) + (xy 98.126523 94.695722) + (xy 98.01212 94.835123) + (xy 98.012117 94.835127) + (xy 98.009776 94.83798) + (xy 98.008036 94.841233) + (xy 98.008034 94.841238) + (xy 97.923023 95.00028) + (xy 97.923018 95.000292) + (xy 97.921283 95.003538) + (xy 97.920212 95.007066) + (xy 97.920212 95.007068) + (xy 97.868167 95.178637) + (xy 97.866789 95.183179) + (xy 97.866427 95.186847) + (xy 97.866427 95.186851) + (xy 97.850279 95.350811) + (xy 97.848389 95.37) + (xy 97.848751 95.373676) + (xy 97.864898 95.537627) + (xy 97.866789 95.556821) + (xy 97.867859 95.56035) + (xy 97.86786 95.560352) + (xy 97.875188 95.584508) + (xy 97.921283 95.736462) + (xy 97.923019 95.739711) + (xy 97.923023 95.739719) + (xy 98.004159 95.891511) + (xy 98.009776 95.90202) + (xy 98.128867 96.047133) + (xy 98.27398 96.166224) + (xy 98.305416 96.183027) + (xy 98.313747 96.18748) + (xy 98.347047 96.223326) + (xy 98.351244 96.272072) + (xy 98.324563 96.313084) + (xy 98.278298 96.329) + (xy 96.766798 96.329) + (xy 96.720533 96.313084) + (xy 96.693852 96.272072) + (xy 96.698049 96.223326) + (xy 96.731349 96.18748) + (xy 96.739672 96.183031) + (xy 96.75802 96.173224) + (xy 96.903133 96.054133) + (xy 97.022224 95.90902) + (xy 97.110717 95.743462) + (xy 97.165211 95.563821) + (xy 97.183611 95.377) + (xy 97.182921 95.369999) + (xy 97.177418 95.314119) + (xy 97.165211 95.190179) + (xy 97.110717 95.010538) + (xy 97.109554 95.008362) + (xy 97.105315 94.965327) + (xy 97.125894 94.926824) + (xy 97.697924 94.354794) + (xy 97.702737 94.350383) + (xy 97.73256 94.32536) + (xy 97.75202 94.291653) + (xy 97.755519 94.28616) + (xy 97.777852 94.254266) + (xy 97.779554 94.24791) + (xy 97.782336 94.241947) + (xy 97.782345 94.241951) + (xy 97.783101 94.240124) + (xy 97.783091 94.240121) + (xy 97.78534 94.23394) + (xy 97.788632 94.22824) + (xy 97.795387 94.189921) + (xy 97.796805 94.183528) + (xy 97.806877 94.145943) + (xy 97.803486 94.107179) + (xy 97.8032 94.100626) + (xy 97.8032 93.315758) + (xy 97.819116 93.269493) + (xy 97.860128 93.242812) + (xy 97.908874 93.247009) + (xy 97.944719 93.280308) + (xy 98.009776 93.40202) + (xy 98.039893 93.438718) + (xy 98.122814 93.539758) + (xy 98.128867 93.547133) + (xy 98.27398 93.666224) + (xy 98.342966 93.703098) + (xy 98.43628 93.752976) + (xy 98.436283 93.752977) + (xy 98.439538 93.754717) + (xy 98.619179 93.809211) + (xy 98.806 93.827611) + (xy 98.992821 93.809211) + (xy 99.172462 93.754717) + (xy 99.33802 93.666224) + (xy 99.483133 93.547133) + (xy 99.602224 93.40202) + (xy 99.690717 93.236462) + (xy 99.745211 93.056821) + (xy 99.763611 92.87) + (xy 100.348389 92.87) + (xy 100.348751 92.873676) + (xy 100.365585 93.044603) + (xy 100.366789 93.056821) + (xy 100.367859 93.06035) + (xy 100.36786 93.060352) + (xy 100.370826 93.070128) + (xy 100.421283 93.236462) + (xy 100.423019 93.239711) + (xy 100.423023 93.239719) + (xy 100.50428 93.391737) + (xy 100.509776 93.40202) + (xy 100.539893 93.438718) + (xy 100.622814 93.539758) + (xy 100.628867 93.547133) + (xy 100.77398 93.666224) + (xy 100.842966 93.703098) + (xy 100.93628 93.752976) + (xy 100.936283 93.752977) + (xy 100.939538 93.754717) + (xy 101.119179 93.809211) + (xy 101.306 93.827611) + (xy 101.492821 93.809211) + (xy 101.672462 93.754717) + (xy 101.83802 93.666224) + (xy 101.983133 93.547133) + (xy 102.102224 93.40202) + (xy 102.190717 93.236462) + (xy 102.245211 93.056821) + (xy 102.263611 92.87) + (xy 102.245211 92.683179) + (xy 102.190717 92.503538) + (xy 102.185079 92.492991) + (xy 102.129465 92.388944) + (xy 102.102224 92.33798) + (xy 101.983133 92.192867) + (xy 101.83802 92.073776) + (xy 101.834761 92.072034) + (xy 101.675719 91.987023) + (xy 101.675711 91.987019) + (xy 101.672462 91.985283) + (xy 101.582641 91.958035) + (xy 101.496352 91.93186) + (xy 101.49635 91.931859) + (xy 101.492821 91.930789) + (xy 101.48915 91.930427) + (xy 101.489148 91.930427) + (xy 101.309676 91.912751) + (xy 101.306 91.912389) + (xy 101.302324 91.912751) + (xy 101.122851 91.930427) + (xy 101.122847 91.930427) + (xy 101.119179 91.930789) + (xy 101.115651 91.931859) + (xy 101.115647 91.93186) + (xy 100.943068 91.984212) + (xy 100.943066 91.984212) + (xy 100.939538 91.985283) + (xy 100.936292 91.987018) + (xy 100.93628 91.987023) + (xy 100.777238 92.072034) + (xy 100.777233 92.072036) + (xy 100.77398 92.073776) + (xy 100.771127 92.076117) + (xy 100.771123 92.07612) + (xy 100.631722 92.190523) + (xy 100.631716 92.190528) + (xy 100.628867 92.192867) + (xy 100.626528 92.195716) + (xy 100.626523 92.195722) + (xy 100.51212 92.335123) + (xy 100.512117 92.335127) + (xy 100.509776 92.33798) + (xy 100.508036 92.341233) + (xy 100.508034 92.341238) + (xy 100.423023 92.50028) + (xy 100.423018 92.500292) + (xy 100.421283 92.503538) + (xy 100.420212 92.507066) + (xy 100.420212 92.507068) + (xy 100.372884 92.663087) + (xy 100.366789 92.683179) + (xy 100.366427 92.686847) + (xy 100.366427 92.686851) + (xy 100.353512 92.817987) + (xy 100.348389 92.87) + (xy 99.763611 92.87) + (xy 99.745211 92.683179) + (xy 99.690717 92.503538) + (xy 99.685079 92.492991) + (xy 99.629465 92.388944) + (xy 99.602224 92.33798) + (xy 99.483133 92.192867) + (xy 99.33802 92.073776) + (xy 99.334761 92.072034) + (xy 99.175719 91.987023) + (xy 99.175711 91.987019) + (xy 99.172462 91.985283) + (xy 99.082641 91.958035) + (xy 98.996352 91.93186) + (xy 98.99635 91.931859) + (xy 98.992821 91.930789) + (xy 98.98915 91.930427) + (xy 98.989148 91.930427) + (xy 98.809676 91.912751) + (xy 98.806 91.912389) + (xy 98.802324 91.912751) + (xy 98.622851 91.930427) + (xy 98.622847 91.930427) + (xy 98.619179 91.930789) + (xy 98.615651 91.931859) + (xy 98.615647 91.93186) + (xy 98.443068 91.984212) + (xy 98.443066 91.984212) + (xy 98.439538 91.985283) + (xy 98.436292 91.987018) + (xy 98.43628 91.987023) + (xy 98.277238 92.072034) + (xy 98.277233 92.072036) + (xy 98.27398 92.073776) + (xy 98.271127 92.076117) + (xy 98.271123 92.07612) + (xy 98.131722 92.190523) + (xy 98.131716 92.190528) + (xy 98.128867 92.192867) + (xy 98.126528 92.195716) + (xy 98.126523 92.195722) + (xy 98.01212 92.335123) + (xy 98.012117 92.335127) + (xy 98.009776 92.33798) + (xy 98.008036 92.341233) + (xy 98.008034 92.341238) + (xy 97.94472 92.459691) + (xy 97.908874 92.492991) + (xy 97.860128 92.497188) + (xy 97.819116 92.470507) + (xy 97.8032 92.424242) + (xy 97.8032 90.815758) + (xy 97.819116 90.769493) + (xy 97.860128 90.742812) + (xy 97.908874 90.747009) + (xy 97.944719 90.780308) + (xy 98.009776 90.90202) + (xy 98.128867 91.047133) + (xy 98.27398 91.166224) + (xy 98.320933 91.191321) + (xy 98.43628 91.252976) + (xy 98.436283 91.252977) + (xy 98.439538 91.254717) + (xy 98.619179 91.309211) + (xy 98.789781 91.326013) + (xy 98.801004 91.327119) + (xy 98.806 91.327611) + (xy 98.810996 91.327119) + (xy 98.820679 91.326165) + (xy 98.992821 91.309211) + (xy 99.172462 91.254717) + (xy 99.33802 91.166224) + (xy 99.483133 91.047133) + (xy 99.602224 90.90202) + (xy 99.690717 90.736462) + (xy 99.745211 90.556821) + (xy 99.763611 90.37) + (xy 100.348389 90.37) + (xy 100.348751 90.373676) + (xy 100.361543 90.503563) + (xy 100.366789 90.556821) + (xy 100.367859 90.56035) + (xy 100.36786 90.560352) + (xy 100.37079 90.570012) + (xy 100.421283 90.736462) + (xy 100.423019 90.739711) + (xy 100.423023 90.739719) + (xy 100.503738 90.890724) + (xy 100.509776 90.90202) + (xy 100.628867 91.047133) + (xy 100.77398 91.166224) + (xy 100.820933 91.191321) + (xy 100.93628 91.252976) + (xy 100.936283 91.252977) + (xy 100.939538 91.254717) + (xy 101.119179 91.309211) + (xy 101.289781 91.326013) + (xy 101.301004 91.327119) + (xy 101.306 91.327611) + (xy 101.310996 91.327119) + (xy 101.320679 91.326165) + (xy 101.492821 91.309211) + (xy 101.672462 91.254717) + (xy 101.83802 91.166224) + (xy 101.983133 91.047133) + (xy 102.102224 90.90202) + (xy 102.190717 90.736462) + (xy 102.245211 90.556821) + (xy 102.263611 90.37) + (xy 102.245211 90.183179) + (xy 102.190717 90.003538) + (xy 102.181195 89.985724) + (xy 102.13003 89.890002) + (xy 102.102224 89.83798) + (xy 101.983133 89.692867) + (xy 101.967671 89.680178) + (xy 101.897058 89.622227) + (xy 101.83802 89.573776) + (xy 101.807271 89.55734) + (xy 101.675719 89.487023) + (xy 101.675711 89.487019) + (xy 101.672462 89.485283) + (xy 101.559925 89.451145) + (xy 101.496352 89.43186) + (xy 101.49635 89.431859) + (xy 101.492821 89.430789) + (xy 101.48915 89.430427) + (xy 101.489148 89.430427) + (xy 101.309676 89.412751) + (xy 101.306 89.412389) + (xy 101.302324 89.412751) + (xy 101.122851 89.430427) + (xy 101.122847 89.430427) + (xy 101.119179 89.430789) + (xy 101.115651 89.431859) + (xy 101.115647 89.43186) + (xy 100.943068 89.484212) + (xy 100.943066 89.484212) + (xy 100.939538 89.485283) + (xy 100.936292 89.487018) + (xy 100.93628 89.487023) + (xy 100.777238 89.572034) + (xy 100.777233 89.572036) + (xy 100.77398 89.573776) + (xy 100.771127 89.576117) + (xy 100.771123 89.57612) + (xy 100.631722 89.690523) + (xy 100.631716 89.690528) + (xy 100.628867 89.692867) + (xy 100.626528 89.695716) + (xy 100.626523 89.695722) + (xy 100.51212 89.835123) + (xy 100.512117 89.835127) + (xy 100.509776 89.83798) + (xy 100.508036 89.841233) + (xy 100.508034 89.841238) + (xy 100.423023 90.00028) + (xy 100.423018 90.000292) + (xy 100.421283 90.003538) + (xy 100.420212 90.007066) + (xy 100.420212 90.007068) + (xy 100.373768 90.160174) + (xy 100.366789 90.183179) + (xy 100.366427 90.186847) + (xy 100.366427 90.186851) + (xy 100.354889 90.304) + (xy 100.348389 90.37) + (xy 99.763611 90.37) + (xy 99.745211 90.183179) + (xy 99.690717 90.003538) + (xy 99.681195 89.985724) + (xy 99.63003 89.890002) + (xy 99.602224 89.83798) + (xy 99.483133 89.692867) + (xy 99.473129 89.684657) + (xy 99.376469 89.60533) + (xy 99.351699 89.567257) + (xy 99.353371 89.521866) + (xy 99.380874 89.485718) + (xy 99.424175 89.472) + (xy 100.00483 89.472) + (xy 100.011383 89.472285) + (xy 100.050143 89.475677) + (xy 100.087728 89.465605) + (xy 100.094121 89.464187) + (xy 100.13244 89.457432) + (xy 100.13814 89.45414) + (xy 100.144321 89.451891) + (xy 100.144324 89.451901) + (xy 100.146151 89.451145) + (xy 100.146147 89.451136) + (xy 100.15211 89.448354) + (xy 100.158466 89.446652) + (xy 100.19036 89.424319) + (xy 100.195853 89.42082) + (xy 100.22956 89.40136) + (xy 100.254583 89.371537) + (xy 100.258994 89.366724) + (xy 100.855824 88.769894) + (xy 100.894327 88.749315) + (xy 100.937362 88.753554) + (xy 100.939538 88.754717) + (xy 101.119179 88.809211) + (xy 101.306 88.827611) + (xy 101.492821 88.809211) + (xy 101.672462 88.754717) + (xy 101.83802 88.666224) + (xy 101.983133 88.547133) + (xy 102.102224 88.40202) + (xy 102.190717 88.236462) + (xy 102.245211 88.056821) + (xy 102.263611 87.87) + (xy 102.245211 87.683179) + (xy 102.190717 87.503538) + (xy 102.184062 87.491088) + (xy 102.12554 87.381601) + (xy 102.102224 87.33798) + (xy 101.983133 87.192867) + (xy 101.958916 87.172993) + (xy 101.859457 87.091369) + (xy 101.83802 87.073776) + (xy 101.798113 87.052445) + (xy 101.675719 86.987023) + (xy 101.675711 86.987019) + (xy 101.672462 86.985283) + (xy 101.55977 86.951098) + (xy 101.496352 86.93186) + (xy 101.49635 86.931859) + (xy 101.492821 86.930789) + (xy 101.48915 86.930427) + (xy 101.489148 86.930427) + (xy 101.309676 86.912751) + (xy 101.306 86.912389) + (xy 101.302324 86.912751) + (xy 101.122851 86.930427) + (xy 101.122847 86.930427) + (xy 101.119179 86.930789) + (xy 101.115651 86.931859) + (xy 101.115647 86.93186) + (xy 100.943068 86.984212) + (xy 100.943066 86.984212) + (xy 100.939538 86.985283) + (xy 100.936292 86.987018) + (xy 100.93628 86.987023) + (xy 100.777238 87.072034) + (xy 100.777233 87.072036) + (xy 100.77398 87.073776) + (xy 100.771127 87.076117) + (xy 100.771123 87.07612) + (xy 100.631722 87.190523) + (xy 100.631716 87.190528) + (xy 100.628867 87.192867) + (xy 100.626528 87.195716) + (xy 100.626523 87.195722) + (xy 100.51212 87.335123) + (xy 100.512117 87.335127) + (xy 100.509776 87.33798) + (xy 100.508036 87.341233) + (xy 100.508034 87.341238) + (xy 100.423023 87.50028) + (xy 100.423018 87.500292) + (xy 100.421283 87.503538) + (xy 100.420212 87.507066) + (xy 100.420212 87.507068) + (xy 100.372456 87.664498) + (xy 100.366789 87.683179) + (xy 100.366427 87.686847) + (xy 100.366427 87.686851) + (xy 100.351179 87.84167) + (xy 100.348389 87.87) + (xy 100.348751 87.873676) + (xy 100.366055 88.049375) + (xy 100.366789 88.056821) + (xy 100.367859 88.06035) + (xy 100.36786 88.060352) + (xy 100.420211 88.232931) + (xy 100.421283 88.236462) + (xy 100.422446 88.238638) + (xy 100.426682 88.281676) + (xy 100.406102 88.320176) + (xy 99.912303 88.813976) + (xy 99.88791 88.830276) + (xy 99.859132 88.836) + (xy 99.320606 88.836) + (xy 99.274341 88.820084) + (xy 99.24766 88.779072) + (xy 99.251857 88.730326) + (xy 99.285157 88.69448) + (xy 99.306548 88.683046) + (xy 99.33802 88.666224) + (xy 99.483133 88.547133) + (xy 99.602224 88.40202) + (xy 99.690717 88.236462) + (xy 99.745211 88.056821) + (xy 99.763611 87.87) + (xy 99.745211 87.683179) + (xy 99.690717 87.503538) + (xy 99.684062 87.491088) + (xy 99.62554 87.381601) + (xy 99.602224 87.33798) + (xy 99.483133 87.192867) + (xy 99.458916 87.172993) + (xy 99.359457 87.091369) + (xy 99.33802 87.073776) + (xy 99.298113 87.052445) + (xy 99.175719 86.987023) + (xy 99.175711 86.987019) + (xy 99.172462 86.985283) + (xy 99.05977 86.951098) + (xy 98.996352 86.93186) + (xy 98.99635 86.931859) + (xy 98.992821 86.930789) + (xy 98.98915 86.930427) + (xy 98.989148 86.930427) + (xy 98.809676 86.912751) + (xy 98.806 86.912389) + (xy 98.802324 86.912751) + (xy 98.622851 86.930427) + (xy 98.622847 86.930427) + (xy 98.619179 86.930789) + (xy 98.615651 86.931859) + (xy 98.615647 86.93186) + (xy 98.443068 86.984212) + (xy 98.443066 86.984212) + (xy 98.439538 86.985283) + (xy 98.436292 86.987018) + (xy 98.43628 86.987023) + (xy 98.277238 87.072034) + (xy 98.277233 87.072036) + (xy 98.27398 87.073776) + (xy 98.271127 87.076117) + (xy 98.271123 87.07612) + (xy 98.131722 87.190523) + (xy 98.131716 87.190528) + (xy 98.128867 87.192867) + (xy 98.126528 87.195716) + (xy 98.126523 87.195722) + (xy 98.01212 87.335123) + (xy 98.012117 87.335127) + (xy 98.009776 87.33798) + (xy 98.008036 87.341233) + (xy 98.008034 87.341238) + (xy 97.923023 87.50028) + (xy 97.923018 87.500292) + (xy 97.921283 87.503538) + (xy 97.920212 87.507066) + (xy 97.920212 87.507068) + (xy 97.872456 87.664498) + (xy 97.866789 87.683179) + (xy 97.866427 87.686847) + (xy 97.866427 87.686851) + (xy 97.851179 87.84167) + (xy 97.848389 87.87) + (xy 97.848751 87.873676) + (xy 97.866055 88.049375) + (xy 97.866789 88.056821) + (xy 97.921283 88.236462) + (xy 97.923019 88.239711) + (xy 97.923023 88.239719) + (xy 98.000939 88.385488) + (xy 98.009776 88.40202) + (xy 98.128867 88.547133) + (xy 98.27398 88.666224) + (xy 98.289557 88.67455) + (xy 98.326843 88.69448) + (xy 98.360143 88.730326) + (xy 98.36434 88.779072) + (xy 98.337659 88.820084) + (xy 98.291394 88.836) + (xy 98.061174 88.836) + (xy 98.054621 88.835714) + (xy 98.02241 88.832896) + (xy 98.022408 88.832896) + (xy 98.015857 88.832323) + (xy 98.009507 88.834024) + (xy 98.009499 88.834025) + (xy 97.978266 88.842394) + (xy 97.971865 88.843813) + (xy 97.940037 88.849425) + (xy 97.940032 88.849426) + (xy 97.93356 88.850568) + (xy 97.927866 88.853854) + (xy 97.921681 88.856106) + (xy 97.921678 88.856099) + (xy 97.919842 88.85686) + (xy 97.919846 88.856867) + (xy 97.913888 88.859644) + (xy 97.907534 88.861348) + (xy 97.902147 88.865119) + (xy 97.902142 88.865122) + (xy 97.875655 88.883667) + (xy 97.870128 88.887189) + (xy 97.842133 88.903352) + (xy 97.842129 88.903355) + (xy 97.83644 88.90664) + (xy 97.832215 88.911673) + (xy 97.832211 88.911678) + (xy 97.811421 88.936454) + (xy 97.80699 88.941288) + (xy 97.272488 89.47579) + (xy 97.267654 89.480221) + (xy 97.242878 89.501011) + (xy 97.242873 89.501015) + (xy 97.23784 89.50524) + (xy 97.234555 89.510929) + (xy 97.234552 89.510933) + (xy 97.218389 89.538928) + (xy 97.214867 89.544455) + (xy 97.196322 89.570942) + (xy 97.196319 89.570947) + (xy 97.192548 89.576334) + (xy 97.190844 89.582688) + (xy 97.188067 89.588646) + (xy 97.18806 89.588642) + (xy 97.187299 89.590478) + (xy 97.187306 89.590481) + (xy 97.185054 89.596666) + (xy 97.181768 89.60236) + (xy 97.180626 89.608832) + (xy 97.180625 89.608837) + (xy 97.175013 89.640665) + (xy 97.173594 89.647066) + (xy 97.165225 89.678299) + (xy 97.165224 89.678307) + (xy 97.163523 89.684657) + (xy 97.164096 89.691208) + (xy 97.164096 89.69121) + (xy 97.166914 89.723416) + (xy 97.1672 89.72997) + (xy 97.1672 89.817056) + (xy 97.151284 89.863322) + (xy 97.110272 89.890002) + (xy 97.061525 89.885804) + (xy 97.025679 89.852505) + (xy 97.023545 89.848513) + (xy 97.019461 89.842401) + (xy 96.990412 89.807004) + (xy 96.983569 89.802268) + (xy 96.976289 89.806314) + (xy 96.412605 90.369999) + (xy 96.408563 90.377) + (xy 96.412605 90.384) + (xy 96.97629 90.947685) + (xy 96.983568 90.95173) + (xy 96.990412 90.946993) + (xy 97.019462 90.911597) + (xy 97.023544 90.905487) + (xy 97.025679 90.901495) + (xy 97.061525 90.868196) + (xy 97.110272 90.863998) + (xy 97.151284 90.890678) + (xy 97.1672 90.936944) + (xy 97.1672 92.315997) + (xy 97.151283 92.362263) + (xy 97.110271 92.388944) + (xy 97.061525 92.384745) + (xy 97.02568 92.351446) + (xy 97.022224 92.34498) + (xy 96.903133 92.199867) + (xy 96.894603 92.192867) + (xy 96.760876 92.08312) + (xy 96.75802 92.080776) + (xy 96.741665 92.072034) + (xy 96.595719 91.994023) + (xy 96.595711 91.994019) + (xy 96.592462 91.992283) + (xy 96.412821 91.937789) + (xy 96.40915 91.937427) + (xy 96.409148 91.937427) + (xy 96.229676 91.919751) + (xy 96.226 91.919389) + (xy 96.222324 91.919751) + (xy 96.042851 91.937427) + (xy 96.042847 91.937427) + (xy 96.039179 91.937789) + (xy 96.035651 91.938859) + (xy 96.035647 91.93886) + (xy 95.863068 91.991212) + (xy 95.863066 91.991212) + (xy 95.859538 91.992283) + (xy 95.856292 91.994018) + (xy 95.85628 91.994023) + (xy 95.697238 92.079034) + (xy 95.697233 92.079036) + (xy 95.69398 92.080776) + (xy 95.691127 92.083117) + (xy 95.691123 92.08312) + (xy 95.551722 92.197523) + (xy 95.551716 92.197528) + (xy 95.548867 92.199867) + (xy 95.546528 92.202716) + (xy 95.546523 92.202722) + (xy 95.43212 92.342123) + (xy 95.432117 92.342127) + (xy 95.429776 92.34498) + (xy 95.428036 92.348233) + (xy 95.428034 92.348238) + (xy 95.343023 92.50728) + (xy 95.343018 92.507292) + (xy 95.341283 92.510538) + (xy 95.340212 92.514066) + (xy 95.340212 92.514068) + (xy 95.289984 92.679647) + (xy 95.286789 92.690179) + (xy 95.286427 92.693847) + (xy 95.286427 92.693851) + (xy 95.271639 92.844) + (xy 95.268389 92.877) + (xy 95.268751 92.880676) + (xy 95.286099 93.056821) + (xy 95.286789 93.063821) + (xy 95.287859 93.06735) + (xy 95.28786 93.067352) + (xy 95.314036 93.153641) + (xy 95.341283 93.243462) + (xy 95.343019 93.246711) + (xy 95.343023 93.246719) + (xy 95.408521 93.369255) + (xy 95.429776 93.40902) + (xy 95.548867 93.554133) + (xy 95.69398 93.673224) + (xy 95.74987 93.703098) + (xy 95.85628 93.759976) + (xy 95.856283 93.759977) + (xy 95.859538 93.761717) + (xy 96.039179 93.816211) + (xy 96.226 93.834611) + (xy 96.412821 93.816211) + (xy 96.592462 93.761717) + (xy 96.75802 93.673224) + (xy 96.903133 93.554133) + (xy 97.022224 93.40902) + (xy 97.02568 93.402553) + (xy 97.061525 93.369255) + (xy 97.110271 93.365056) + (xy 97.151283 93.391737) + (xy 97.1672 93.438003) + (xy 97.1672 93.954932) + (xy 97.161476 93.98371) + (xy 97.145176 94.008103) + (xy 96.792279 94.361) + (xy 96.676176 94.477103) + (xy 96.637676 94.497682) + (xy 96.594638 94.493446) + (xy 96.592462 94.492283) + (xy 96.588937 94.491213) + (xy 96.588933 94.491212) + (xy 96.416352 94.43886) + (xy 96.41635 94.438859) + (xy 96.412821 94.437789) + (xy 96.40915 94.437427) + (xy 96.409148 94.437427) + (xy 96.229676 94.419751) + (xy 96.226 94.419389) + (xy 96.222324 94.419751) + (xy 96.042851 94.437427) + (xy 96.042847 94.437427) + (xy 96.039179 94.437789) + (xy 96.035651 94.438859) + (xy 96.035647 94.43886) + (xy 95.863068 94.491212) + (xy 95.863066 94.491212) + (xy 95.859538 94.492283) + (xy 95.856292 94.494018) + (xy 95.85628 94.494023) + (xy 95.697238 94.579034) + (xy 95.697233 94.579036) + (xy 95.69398 94.580776) + (xy 95.691127 94.583117) + (xy 95.691123 94.58312) + (xy 95.551722 94.697523) + (xy 95.551716 94.697528) + (xy 95.548867 94.699867) + (xy 95.546528 94.702716) + (xy 95.546523 94.702722) + (xy 95.43212 94.842123) + (xy 95.432117 94.842127) + (xy 95.429776 94.84498) + (xy 95.428036 94.848233) + (xy 95.428034 94.848238) + (xy 95.343023 95.00728) + (xy 95.343018 95.007292) + (xy 95.341283 95.010538) + (xy 95.340213 95.014065) + (xy 95.340212 95.014068) + (xy 95.289984 95.179647) + (xy 95.286789 95.190179) + (xy 95.286427 95.193847) + (xy 95.286427 95.193851) + (xy 95.269078 95.37) + (xy 95.268389 95.377) + (xy 95.268751 95.380675) + (xy 95.268751 95.380676) + (xy 95.286099 95.556821) + (xy 95.286789 95.563821) + (xy 95.341283 95.743462) + (xy 95.343019 95.746711) + (xy 95.343023 95.746719) + (xy 95.418245 95.887447) + (xy 95.429776 95.90902) + (xy 95.548867 96.054133) + (xy 95.69398 96.173224) + (xy 95.71232 96.183027) + (xy 95.720651 96.18748) + (xy 95.753951 96.223326) + (xy 95.758148 96.272072) + (xy 95.731467 96.313084) + (xy 95.685202 96.329) + (xy 95.410831 96.329) + (xy 95.379592 96.322205) + (xy 95.353999 96.303046) + (xy 95.329781 96.275098) + (xy 95.324018 96.268447) + (xy 95.319496 96.265541) + (xy 95.319494 96.265539) + (xy 95.208602 96.194272) + (xy 95.208599 96.19427) + (xy 95.204081 96.191367) + (xy 95.198925 96.189853) + (xy 95.198923 96.189852) + (xy 95.072447 96.152715) + (xy 95.072442 96.152714) + (xy 95.067285 96.1512) + (xy 94.924715 96.1512) + (xy 94.919558 96.152714) + (xy 94.919552 96.152715) + (xy 94.793076 96.189852) + (xy 94.793071 96.189854) + (xy 94.787919 96.191367) + (xy 94.783403 96.194269) + (xy 94.783397 96.194272) + (xy 94.672505 96.265539) + (xy 94.672499 96.265543) + (xy 94.667982 96.268447) + (xy 94.664461 96.272509) + (xy 94.66446 96.272511) + (xy 94.638001 96.303046) + (xy 94.612408 96.322205) + (xy 94.581169 96.329) + (xy 94.266798 96.329) + (xy 94.220533 96.313084) + (xy 94.193852 96.272072) + (xy 94.198049 96.223326) + (xy 94.231349 96.18748) + (xy 94.239672 96.183031) + (xy 94.25802 96.173224) + (xy 94.403133 96.054133) + (xy 94.522224 95.90902) + (xy 94.610717 95.743462) + (xy 94.665211 95.563821) + (xy 94.683611 95.377) + (xy 94.682921 95.369999) + (xy 94.677418 95.314119) + (xy 94.665211 95.190179) + (xy 94.610717 95.010538) + (xy 94.608862 95.007068) + (xy 94.544046 94.885806) + (xy 94.522224 94.84498) + (xy 94.403133 94.699867) + (xy 94.394603 94.692867) + (xy 94.268163 94.5891) + (xy 94.25802 94.580776) + (xy 94.226975 94.564182) + (xy 94.095719 94.494023) + (xy 94.095711 94.494019) + (xy 94.092462 94.492283) + (xy 93.912821 94.437789) + (xy 93.90915 94.437427) + (xy 93.909148 94.437427) + (xy 93.729676 94.419751) + (xy 93.726 94.419389) + (xy 93.722324 94.419751) + (xy 93.542851 94.437427) + (xy 93.542847 94.437427) + (xy 93.539179 94.437789) + (xy 93.535651 94.438859) + (xy 93.535647 94.43886) + (xy 93.363065 94.491213) + (xy 93.359538 94.492283) + (xy 93.357363 94.493445) + (xy 93.314325 94.497684) + (xy 93.275823 94.477103) + (xy 92.846826 94.048106) + (xy 92.830524 94.02371) + (xy 92.8248 93.994932) + (xy 92.8248 93.491275) + (xy 92.838518 93.447974) + (xy 92.874666 93.420471) + (xy 92.920057 93.418799) + (xy 92.958127 93.443567) + (xy 93.048867 93.554133) + (xy 93.19398 93.673224) + (xy 93.24987 93.703098) + (xy 93.35628 93.759976) + (xy 93.356283 93.759977) + (xy 93.359538 93.761717) + (xy 93.539179 93.816211) + (xy 93.726 93.834611) + (xy 93.912821 93.816211) + (xy 94.092462 93.761717) + (xy 94.25802 93.673224) + (xy 94.403133 93.554133) + (xy 94.522224 93.40902) + (xy 94.610717 93.243462) + (xy 94.665211 93.063821) + (xy 94.683611 92.877) + (xy 94.665211 92.690179) + (xy 94.610717 92.510538) + (xy 94.608862 92.507068) + (xy 94.531462 92.362263) + (xy 94.522224 92.34498) + (xy 94.403133 92.199867) + (xy 94.394603 92.192867) + (xy 94.260876 92.08312) + (xy 94.25802 92.080776) + (xy 94.241665 92.072034) + (xy 94.095719 91.994023) + (xy 94.095711 91.994019) + (xy 94.092462 91.992283) + (xy 93.912821 91.937789) + (xy 93.90915 91.937427) + (xy 93.909148 91.937427) + (xy 93.729676 91.919751) + (xy 93.726 91.919389) + (xy 93.722324 91.919751) + (xy 93.542851 91.937427) + (xy 93.542847 91.937427) + (xy 93.539179 91.937789) + (xy 93.535651 91.938859) + (xy 93.535647 91.93886) + (xy 93.363068 91.991212) + (xy 93.363066 91.991212) + (xy 93.359538 91.992283) + (xy 93.356292 91.994018) + (xy 93.35628 91.994023) + (xy 93.197238 92.079034) + (xy 93.197233 92.079036) + (xy 93.19398 92.080776) + (xy 93.191127 92.083117) + (xy 93.191123 92.08312) + (xy 93.051722 92.197523) + (xy 93.051716 92.197528) + (xy 93.048867 92.199867) + (xy 92.958127 92.310432) + (xy 92.920057 92.335201) + (xy 92.874666 92.333529) + (xy 92.838518 92.306026) + (xy 92.8248 92.262725) + (xy 92.8248 90.991275) + (xy 92.838518 90.947974) + (xy 92.874666 90.920471) + (xy 92.920057 90.918799) + (xy 92.958127 90.943567) + (xy 93.048867 91.054133) + (xy 93.19398 91.173224) + (xy 93.227837 91.191321) + (xy 93.35628 91.259976) + (xy 93.356283 91.259977) + (xy 93.359538 91.261717) + (xy 93.539179 91.316211) + (xy 93.699612 91.332012) + (xy 93.717227 91.333747) + (xy 93.726 91.334611) + (xy 93.734773 91.333747) + (xy 93.752388 91.332012) + (xy 93.912821 91.316211) + (xy 94.092462 91.261717) + (xy 94.25802 91.173224) + (xy 94.305121 91.134569) + (xy 95.651268 91.134569) + (xy 95.656004 91.141412) + (xy 95.691401 91.170461) + (xy 95.697521 91.17455) + (xy 95.856467 91.259508) + (xy 95.863268 91.262326) + (xy 96.035742 91.314645) + (xy 96.042952 91.31608) + (xy 96.222325 91.333747) + (xy 96.229675 91.333747) + (xy 96.409047 91.31608) + (xy 96.416257 91.314645) + (xy 96.588731 91.262326) + (xy 96.595532 91.259508) + (xy 96.75448 91.174549) + (xy 96.760597 91.170462) + (xy 96.795993 91.141412) + (xy 96.80073 91.134568) + (xy 96.796685 91.12729) + (xy 96.233 90.563605) + (xy 96.226 90.559563) + (xy 96.218999 90.563605) + (xy 95.655314 91.127289) + (xy 95.651268 91.134569) + (xy 94.305121 91.134569) + (xy 94.403133 91.054133) + (xy 94.522224 90.90902) + (xy 94.610717 90.743462) + (xy 94.665211 90.563821) + (xy 94.683249 90.380675) + (xy 95.269253 90.380675) + (xy 95.286919 90.560047) + (xy 95.288354 90.567257) + (xy 95.340673 90.739731) + (xy 95.343491 90.746532) + (xy 95.428449 90.905478) + (xy 95.432538 90.911598) + (xy 95.461586 90.946994) + (xy 95.46843 90.95173) + (xy 95.475709 90.947684) + (xy 96.039394 90.384) + (xy 96.043436 90.377) + (xy 96.039394 90.369999) + (xy 95.475709 89.806314) + (xy 95.46843 89.802269) + (xy 95.461585 89.807006) + (xy 95.432538 89.8424) + (xy 95.428448 89.848523) + (xy 95.343491 90.007467) + (xy 95.340673 90.014268) + (xy 95.288354 90.186742) + (xy 95.286919 90.193952) + (xy 95.269253 90.373325) + (xy 95.269253 90.380675) + (xy 94.683249 90.380675) + (xy 94.683611 90.377) + (xy 94.682921 90.369999) + (xy 94.675732 90.297) + (xy 94.665211 90.190179) + (xy 94.610717 90.010538) + (xy 94.609554 90.008362) + (xy 94.605315 89.965327) + (xy 94.625894 89.926824) + (xy 94.933288 89.61943) + (xy 95.651269 89.61943) + (xy 95.655314 89.626709) + (xy 96.218999 90.190394) + (xy 96.226 90.194436) + (xy 96.233 90.190394) + (xy 96.796684 89.626709) + (xy 96.80073 89.61943) + (xy 96.795994 89.612586) + (xy 96.760598 89.583538) + (xy 96.754478 89.579449) + (xy 96.595532 89.494491) + (xy 96.588731 89.491673) + (xy 96.416257 89.439354) + (xy 96.409047 89.437919) + (xy 96.229675 89.420253) + (xy 96.222325 89.420253) + (xy 96.042952 89.437919) + (xy 96.035742 89.439354) + (xy 95.863268 89.491673) + (xy 95.856467 89.494491) + (xy 95.697523 89.579448) + (xy 95.6914 89.583538) + (xy 95.656006 89.612585) + (xy 95.651269 89.61943) + (xy 94.933288 89.61943) + (xy 95.208724 89.343994) + (xy 95.213537 89.339583) + (xy 95.24336 89.31456) + (xy 95.26282 89.280853) + (xy 95.266319 89.27536) + (xy 95.288652 89.243466) + (xy 95.290354 89.23711) + (xy 95.293136 89.231147) + (xy 95.293145 89.231151) + (xy 95.293901 89.229324) + (xy 95.293891 89.229321) + (xy 95.29614 89.22314) + (xy 95.299432 89.21744) + (xy 95.306187 89.179121) + (xy 95.307605 89.172728) + (xy 95.317677 89.135143) + (xy 95.314285 89.096383) + (xy 95.314 89.08983) + (xy 95.314 88.634569) + (xy 95.651268 88.634569) + (xy 95.656004 88.641412) + (xy 95.691401 88.670461) + (xy 95.697521 88.67455) + (xy 95.856467 88.759508) + (xy 95.863268 88.762326) + (xy 96.035742 88.814645) + (xy 96.042952 88.81608) + (xy 96.222325 88.833747) + (xy 96.229675 88.833747) + (xy 96.409047 88.81608) + (xy 96.416257 88.814645) + (xy 96.588731 88.762326) + (xy 96.595532 88.759508) + (xy 96.75448 88.674549) + (xy 96.760597 88.670462) + (xy 96.795993 88.641412) + (xy 96.80073 88.634568) + (xy 96.796685 88.62729) + (xy 96.233 88.063605) + (xy 96.226 88.059563) + (xy 96.218999 88.063605) + (xy 95.655314 88.627289) + (xy 95.651268 88.634569) + (xy 95.314 88.634569) + (xy 95.314 88.477329) + (xy 95.327718 88.434028) + (xy 95.363866 88.406525) + (xy 95.409257 88.404853) + (xy 95.44733 88.429622) + (xy 95.461587 88.446994) + (xy 95.46843 88.45173) + (xy 95.475709 88.447684) + (xy 96.039394 87.884) + (xy 96.043436 87.877) + (xy 96.408563 87.877) + (xy 96.412605 87.884) + (xy 96.97629 88.447685) + (xy 96.983568 88.45173) + (xy 96.990412 88.446993) + (xy 97.019462 88.411597) + (xy 97.023549 88.40548) + (xy 97.108508 88.246532) + (xy 97.111326 88.239731) + (xy 97.163645 88.067257) + (xy 97.16508 88.060047) + (xy 97.182747 87.880675) + (xy 97.182747 87.873325) + (xy 97.16508 87.693952) + (xy 97.163645 87.686742) + (xy 97.111326 87.514268) + (xy 97.108508 87.507467) + (xy 97.02355 87.348521) + (xy 97.019461 87.342401) + (xy 96.990412 87.307004) + (xy 96.983569 87.302268) + (xy 96.976289 87.306314) + (xy 96.412605 87.869999) + (xy 96.408563 87.877) + (xy 96.043436 87.877) + (xy 96.039394 87.869999) + (xy 95.475709 87.306314) + (xy 95.46843 87.302269) + (xy 95.461583 87.307008) + (xy 95.44733 87.324376) + (xy 95.409257 87.349146) + (xy 95.363866 87.347474) + (xy 95.327718 87.319971) + (xy 95.314 87.27667) + (xy 95.314 87.11943) + (xy 95.651269 87.11943) + (xy 95.655314 87.126709) + (xy 96.218999 87.690394) + (xy 96.226 87.694436) + (xy 96.233 87.690394) + (xy 96.796684 87.126709) + (xy 96.80073 87.11943) + (xy 96.795994 87.112586) + (xy 96.760598 87.083538) + (xy 96.754478 87.079449) + (xy 96.595532 86.994491) + (xy 96.588731 86.991673) + (xy 96.416257 86.939354) + (xy 96.409047 86.937919) + (xy 96.229675 86.920253) + (xy 96.222325 86.920253) + (xy 96.042952 86.937919) + (xy 96.035742 86.939354) + (xy 95.863268 86.991673) + (xy 95.856467 86.994491) + (xy 95.697523 87.079448) + (xy 95.6914 87.083538) + (xy 95.656006 87.112585) + (xy 95.651269 87.11943) + (xy 95.314 87.11943) + (xy 95.314 85.978116) + (xy 95.327718 85.934815) + (xy 95.363866 85.907312) + (xy 95.409257 85.90564) + (xy 95.44733 85.93041) + (xy 95.542277 86.046103) + (xy 95.548867 86.054133) + (xy 95.69398 86.173224) + (xy 95.736286 86.195837) + (xy 95.85628 86.259976) + (xy 95.856283 86.259977) + (xy 95.859538 86.261717) + (xy 96.039179 86.316211) + (xy 96.226 86.334611) + (xy 96.412821 86.316211) + (xy 96.592462 86.261717) + (xy 96.75802 86.173224) + (xy 96.903133 86.054133) + (xy 97.022224 85.90902) + (xy 97.110717 85.743462) + (xy 97.165211 85.563821) + (xy 97.183611 85.377) + (xy 97.182922 85.37) + (xy 97.848389 85.37) + (xy 97.866789 85.556821) + (xy 97.867859 85.56035) + (xy 97.86786 85.560352) + (xy 97.884005 85.613573) + (xy 97.921283 85.736462) + (xy 97.923019 85.739711) + (xy 97.923023 85.739719) + (xy 98.008034 85.898761) + (xy 98.009776 85.90202) + (xy 98.03907 85.937715) + (xy 98.114457 86.029575) + (xy 98.128867 86.047133) + (xy 98.27398 86.166224) + (xy 98.308142 86.184484) + (xy 98.43628 86.252976) + (xy 98.436283 86.252977) + (xy 98.439538 86.254717) + (xy 98.619179 86.309211) + (xy 98.806 86.327611) + (xy 98.992821 86.309211) + (xy 99.172462 86.254717) + (xy 99.33802 86.166224) + (xy 99.483133 86.047133) + (xy 99.602224 85.90202) + (xy 99.690717 85.736462) + (xy 99.745211 85.556821) + (xy 99.763611 85.37) + (xy 100.348389 85.37) + (xy 100.366789 85.556821) + (xy 100.367859 85.56035) + (xy 100.36786 85.560352) + (xy 100.384005 85.613573) + (xy 100.421283 85.736462) + (xy 100.423019 85.739711) + (xy 100.423023 85.739719) + (xy 100.508034 85.898761) + (xy 100.509776 85.90202) + (xy 100.53907 85.937715) + (xy 100.614457 86.029575) + (xy 100.628867 86.047133) + (xy 100.77398 86.166224) + (xy 100.808142 86.184484) + (xy 100.93628 86.252976) + (xy 100.936283 86.252977) + (xy 100.939538 86.254717) + (xy 101.119179 86.309211) + (xy 101.306 86.327611) + (xy 101.492821 86.309211) + (xy 101.672462 86.254717) + (xy 101.83802 86.166224) + (xy 101.983133 86.047133) + (xy 102.102224 85.90202) + (xy 102.190717 85.736462) + (xy 102.245211 85.556821) + (xy 102.263611 85.37) + (xy 102.245211 85.183179) + (xy 102.190717 85.003538) + (xy 102.102224 84.83798) + (xy 101.983133 84.692867) + (xy 101.949793 84.665506) + (xy 101.849406 84.58312) + (xy 101.83802 84.573776) + (xy 101.799634 84.553258) + (xy 101.675719 84.487023) + (xy 101.675711 84.487019) + (xy 101.672462 84.485283) + (xy 101.53892 84.444773) + (xy 101.496352 84.43186) + (xy 101.49635 84.431859) + (xy 101.492821 84.430789) + (xy 101.48915 84.430427) + (xy 101.489148 84.430427) + (xy 101.309676 84.412751) + (xy 101.306 84.412389) + (xy 101.302324 84.412751) + (xy 101.122851 84.430427) + (xy 101.122847 84.430427) + (xy 101.119179 84.430789) + (xy 101.115651 84.431859) + (xy 101.115647 84.43186) + (xy 100.943068 84.484212) + (xy 100.943066 84.484212) + (xy 100.939538 84.485283) + (xy 100.936292 84.487018) + (xy 100.93628 84.487023) + (xy 100.777238 84.572034) + (xy 100.777233 84.572036) + (xy 100.77398 84.573776) + (xy 100.771127 84.576117) + (xy 100.771123 84.57612) + (xy 100.631722 84.690523) + (xy 100.631716 84.690528) + (xy 100.628867 84.692867) + (xy 100.626528 84.695716) + (xy 100.626523 84.695722) + (xy 100.51212 84.835123) + (xy 100.512117 84.835127) + (xy 100.509776 84.83798) + (xy 100.508036 84.841233) + (xy 100.508034 84.841238) + (xy 100.423023 85.00028) + (xy 100.423018 85.000292) + (xy 100.421283 85.003538) + (xy 100.420212 85.007066) + (xy 100.420212 85.007068) + (xy 100.370368 85.171381) + (xy 100.366789 85.183179) + (xy 100.366427 85.186847) + (xy 100.366427 85.186851) + (xy 100.351429 85.33913) + (xy 100.348389 85.37) + (xy 99.763611 85.37) + (xy 99.745211 85.183179) + (xy 99.690717 85.003538) + (xy 99.602224 84.83798) + (xy 99.483133 84.692867) + (xy 99.449793 84.665506) + (xy 99.349406 84.58312) + (xy 99.33802 84.573776) + (xy 99.299634 84.553258) + (xy 99.175719 84.487023) + (xy 99.175711 84.487019) + (xy 99.172462 84.485283) + (xy 99.03892 84.444773) + (xy 98.996352 84.43186) + (xy 98.99635 84.431859) + (xy 98.992821 84.430789) + (xy 98.98915 84.430427) + (xy 98.989148 84.430427) + (xy 98.809676 84.412751) + (xy 98.806 84.412389) + (xy 98.802324 84.412751) + (xy 98.622851 84.430427) + (xy 98.622847 84.430427) + (xy 98.619179 84.430789) + (xy 98.615651 84.431859) + (xy 98.615647 84.43186) + (xy 98.443068 84.484212) + (xy 98.443066 84.484212) + (xy 98.439538 84.485283) + (xy 98.436292 84.487018) + (xy 98.43628 84.487023) + (xy 98.277238 84.572034) + (xy 98.277233 84.572036) + (xy 98.27398 84.573776) + (xy 98.271127 84.576117) + (xy 98.271123 84.57612) + (xy 98.131722 84.690523) + (xy 98.131716 84.690528) + (xy 98.128867 84.692867) + (xy 98.126528 84.695716) + (xy 98.126523 84.695722) + (xy 98.01212 84.835123) + (xy 98.012117 84.835127) + (xy 98.009776 84.83798) + (xy 98.008036 84.841233) + (xy 98.008034 84.841238) + (xy 97.923023 85.00028) + (xy 97.923018 85.000292) + (xy 97.921283 85.003538) + (xy 97.920212 85.007066) + (xy 97.920212 85.007068) + (xy 97.870368 85.171381) + (xy 97.866789 85.183179) + (xy 97.866427 85.186847) + (xy 97.866427 85.186851) + (xy 97.851429 85.33913) + (xy 97.848389 85.37) + (xy 97.182922 85.37) + (xy 97.165211 85.190179) + (xy 97.110717 85.010538) + (xy 97.108862 85.007068) + (xy 97.048737 84.894582) + (xy 97.022224 84.84498) + (xy 96.903133 84.699867) + (xy 96.898082 84.695722) + (xy 96.760881 84.583123) + (xy 96.760874 84.583118) + (xy 96.75802 84.580776) + (xy 96.756592 84.580013) + (xy 96.727969 84.543333) + (xy 96.726811 84.49617) + (xy 96.753977 84.457599) + (xy 96.798773 84.4428) + (xy 97.53403 84.4428) + (xy 97.540583 84.443085) + (xy 97.579343 84.446477) + (xy 97.616928 84.436405) + (xy 97.623321 84.434987) + (xy 97.66164 84.428232) + (xy 97.66734 84.42494) + (xy 97.673521 84.422691) + (xy 97.673524 84.422701) + (xy 97.675351 84.421945) + (xy 97.675347 84.421936) + (xy 97.68131 84.419154) + (xy 97.687666 84.417452) + (xy 97.71956 84.395119) + (xy 97.725053 84.39162) + (xy 97.75876 84.37216) + (xy 97.783783 84.342337) + (xy 97.788194 84.337524) + (xy 98.355824 83.769894) + (xy 98.394327 83.749315) + (xy 98.437362 83.753554) + (xy 98.439538 83.754717) + (xy 98.619179 83.809211) + (xy 98.789781 83.826013) + (xy 98.79877 83.826899) + (xy 98.806 83.827611) + (xy 98.992821 83.809211) + (xy 99.172462 83.754717) + (xy 99.33802 83.666224) + (xy 99.483133 83.547133) + (xy 99.602224 83.40202) + (xy 99.690717 83.236462) + (xy 99.745211 83.056821) + (xy 99.763611 82.87) + (xy 100.348389 82.87) + (xy 100.366789 83.056821) + (xy 100.367859 83.06035) + (xy 100.36786 83.060352) + (xy 100.373931 83.080365) + (xy 100.421283 83.236462) + (xy 100.423019 83.239711) + (xy 100.423023 83.239719) + (xy 100.488081 83.361432) + (xy 100.509776 83.40202) + (xy 100.628867 83.547133) + (xy 100.77398 83.666224) + (xy 100.839737 83.701372) + (xy 100.93628 83.752976) + (xy 100.936283 83.752977) + (xy 100.939538 83.754717) + (xy 101.119179 83.809211) + (xy 101.289781 83.826013) + (xy 101.29877 83.826899) + (xy 101.306 83.827611) + (xy 101.492821 83.809211) + (xy 101.672462 83.754717) + (xy 101.83802 83.666224) + (xy 101.983133 83.547133) + (xy 102.102224 83.40202) + (xy 102.190717 83.236462) + (xy 102.245211 83.056821) + (xy 102.263611 82.87) + (xy 102.245211 82.683179) + (xy 102.190717 82.503538) + (xy 102.183691 82.490394) + (xy 102.14647 82.420759) + (xy 102.102224 82.33798) + (xy 101.983133 82.192867) + (xy 101.930883 82.149987) + (xy 101.890241 82.116633) + (xy 101.83802 82.073776) + (xy 101.834761 82.072034) + (xy 101.675719 81.987023) + (xy 101.675711 81.987019) + (xy 101.672462 81.985283) + (xy 101.523828 81.940195) + (xy 101.496352 81.93186) + (xy 101.49635 81.931859) + (xy 101.492821 81.930789) + (xy 101.48915 81.930427) + (xy 101.489148 81.930427) + (xy 101.309676 81.912751) + (xy 101.306 81.912389) + (xy 101.302324 81.912751) + (xy 101.122851 81.930427) + (xy 101.122847 81.930427) + (xy 101.119179 81.930789) + (xy 101.115651 81.931859) + (xy 101.115647 81.93186) + (xy 100.943068 81.984212) + (xy 100.943066 81.984212) + (xy 100.939538 81.985283) + (xy 100.936292 81.987018) + (xy 100.93628 81.987023) + (xy 100.777238 82.072034) + (xy 100.777233 82.072036) + (xy 100.77398 82.073776) + (xy 100.771127 82.076117) + (xy 100.771123 82.07612) + (xy 100.631722 82.190523) + (xy 100.631716 82.190528) + (xy 100.628867 82.192867) + (xy 100.626528 82.195716) + (xy 100.626523 82.195722) + (xy 100.51212 82.335123) + (xy 100.512117 82.335127) + (xy 100.509776 82.33798) + (xy 100.508036 82.341233) + (xy 100.508034 82.341238) + (xy 100.423023 82.50028) + (xy 100.423018 82.500292) + (xy 100.421283 82.503538) + (xy 100.420212 82.507066) + (xy 100.420212 82.507068) + (xy 100.368524 82.67746) + (xy 100.366789 82.683179) + (xy 100.366427 82.686847) + (xy 100.366427 82.686851) + (xy 100.349417 82.859563) + (xy 100.348389 82.87) + (xy 99.763611 82.87) + (xy 99.745211 82.683179) + (xy 99.690717 82.503538) + (xy 99.683691 82.490394) + (xy 99.64647 82.420759) + (xy 99.602224 82.33798) + (xy 99.483133 82.192867) + (xy 99.430883 82.149987) + (xy 99.390241 82.116633) + (xy 99.33802 82.073776) + (xy 99.334761 82.072034) + (xy 99.175719 81.987023) + (xy 99.175711 81.987019) + (xy 99.172462 81.985283) + (xy 99.023828 81.940195) + (xy 98.996352 81.93186) + (xy 98.99635 81.931859) + (xy 98.992821 81.930789) + (xy 98.98915 81.930427) + (xy 98.989148 81.930427) + (xy 98.809676 81.912751) + (xy 98.806 81.912389) + (xy 98.802324 81.912751) + (xy 98.622851 81.930427) + (xy 98.622847 81.930427) + (xy 98.619179 81.930789) + (xy 98.615651 81.931859) + (xy 98.615647 81.93186) + (xy 98.443068 81.984212) + (xy 98.443066 81.984212) + (xy 98.439538 81.985283) + (xy 98.436292 81.987018) + (xy 98.43628 81.987023) + (xy 98.277238 82.072034) + (xy 98.277233 82.072036) + (xy 98.27398 82.073776) + (xy 98.271127 82.076117) + (xy 98.271123 82.07612) + (xy 98.131722 82.190523) + (xy 98.131716 82.190528) + (xy 98.128867 82.192867) + (xy 98.126528 82.195716) + (xy 98.126523 82.195722) + (xy 98.01212 82.335123) + (xy 98.012117 82.335127) + (xy 98.009776 82.33798) + (xy 98.008036 82.341233) + (xy 98.008034 82.341238) + (xy 97.923023 82.50028) + (xy 97.923018 82.500292) + (xy 97.921283 82.503538) + (xy 97.920212 82.507066) + (xy 97.920212 82.507068) + (xy 97.868524 82.67746) + (xy 97.866789 82.683179) + (xy 97.866427 82.686847) + (xy 97.866427 82.686851) + (xy 97.849417 82.859563) + (xy 97.848389 82.87) + (xy 97.866789 83.056821) + (xy 97.867859 83.06035) + (xy 97.86786 83.060352) + (xy 97.920211 83.232931) + (xy 97.921283 83.236462) + (xy 97.922446 83.238638) + (xy 97.926682 83.281676) + (xy 97.906102 83.320176) + (xy 97.441503 83.784776) + (xy 97.41711 83.801076) + (xy 97.388332 83.8068) + (xy 96.805358 83.8068) + (xy 96.760565 83.792004) + (xy 96.733398 83.753437) + (xy 96.73455 83.706277) + (xy 96.759206 83.67467) + (xy 96.75802 83.673224) + (xy 96.764428 83.667965) + (xy 96.903133 83.554133) + (xy 97.022224 83.40902) + (xy 97.110717 83.243462) + (xy 97.165211 83.063821) + (xy 97.183611 82.877) + (xy 97.165211 82.690179) + (xy 97.110717 82.510538) + (xy 97.108862 82.507068) + (xy 97.023965 82.348238) + (xy 97.022224 82.34498) + (xy 96.903133 82.199867) + (xy 96.896471 82.1944) + (xy 96.760876 82.08312) + (xy 96.75802 82.080776) + (xy 96.741665 82.072034) + (xy 96.595719 81.994023) + (xy 96.595711 81.994019) + (xy 96.592462 81.992283) + (xy 96.502641 81.965035) + (xy 96.416352 81.93886) + (xy 96.41635 81.938859) + (xy 96.412821 81.937789) + (xy 96.40915 81.937427) + (xy 96.409148 81.937427) + (xy 96.229676 81.919751) + (xy 96.226 81.919389) + (xy 96.222324 81.919751) + (xy 96.042851 81.937427) + (xy 96.042847 81.937427) + (xy 96.039179 81.937789) + (xy 96.035651 81.938859) + (xy 96.035647 81.93886) + (xy 95.863068 81.991212) + (xy 95.863066 81.991212) + (xy 95.859538 81.992283) + (xy 95.856292 81.994018) + (xy 95.85628 81.994023) + (xy 95.697238 82.079034) + (xy 95.697233 82.079036) + (xy 95.69398 82.080776) + (xy 95.691127 82.083117) + (xy 95.691123 82.08312) + (xy 95.551722 82.197523) + (xy 95.551716 82.197528) + (xy 95.548867 82.199867) + (xy 95.546528 82.202716) + (xy 95.546523 82.202722) + (xy 95.43212 82.342123) + (xy 95.432117 82.342127) + (xy 95.429776 82.34498) + (xy 95.428036 82.348233) + (xy 95.428034 82.348238) + (xy 95.343023 82.50728) + (xy 95.343018 82.507292) + (xy 95.341283 82.510538) + (xy 95.340212 82.514066) + (xy 95.340212 82.514068) + (xy 95.288812 82.683511) + (xy 95.286789 82.690179) + (xy 95.286427 82.693847) + (xy 95.286427 82.693851) + (xy 95.274611 82.813826) + (xy 95.268389 82.877) + (xy 95.268751 82.880676) + (xy 95.286099 83.056821) + (xy 95.286789 83.063821) + (xy 95.341283 83.243462) + (xy 95.343019 83.246711) + (xy 95.343023 83.246719) + (xy 95.408255 83.368757) + (xy 95.429776 83.40902) + (xy 95.548867 83.554133) + (xy 95.551722 83.556476) + (xy 95.69398 83.673224) + (xy 95.692793 83.67467) + (xy 95.71745 83.706277) + (xy 95.718602 83.753437) + (xy 95.691435 83.792004) + (xy 95.646642 83.8068) + (xy 95.622774 83.8068) + (xy 95.616221 83.806514) + (xy 95.58401 83.803696) + (xy 95.584008 83.803696) + (xy 95.577457 83.803123) + (xy 95.571107 83.804824) + (xy 95.571099 83.804825) + (xy 95.539866 83.813194) + (xy 95.533465 83.814613) + (xy 95.501637 83.820225) + (xy 95.501632 83.820226) + (xy 95.49516 83.821368) + (xy 95.489466 83.824654) + (xy 95.483281 83.826906) + (xy 95.483278 83.826899) + (xy 95.481442 83.82766) + (xy 95.481446 83.827667) + (xy 95.475488 83.830444) + (xy 95.469134 83.832148) + (xy 95.463747 83.835919) + (xy 95.463742 83.835922) + (xy 95.437255 83.854467) + (xy 95.431728 83.857989) + (xy 95.403733 83.874152) + (xy 95.403729 83.874155) + (xy 95.39804 83.87744) + (xy 95.393815 83.882473) + (xy 95.393811 83.882478) + (xy 95.373021 83.907254) + (xy 95.36859 83.912088) + (xy 94.783288 84.49739) + (xy 94.778454 84.501821) + (xy 94.753678 84.522611) + (xy 94.753673 84.522615) + (xy 94.74864 84.52684) + (xy 94.745355 84.532529) + (xy 94.745352 84.532533) + (xy 94.729189 84.560528) + (xy 94.725667 84.566055) + (xy 94.707122 84.592542) + (xy 94.707119 84.592547) + (xy 94.703348 84.597934) + (xy 94.701644 84.604288) + (xy 94.698867 84.610246) + (xy 94.69886 84.610242) + (xy 94.698099 84.612078) + (xy 94.698106 84.612081) + (xy 94.695854 84.618266) + (xy 94.692568 84.62396) + (xy 94.691426 84.630432) + (xy 94.691425 84.630437) + (xy 94.685813 84.662265) + (xy 94.684394 84.668666) + (xy 94.676025 84.699899) + (xy 94.676024 84.699907) + (xy 94.674323 84.706257) + (xy 94.674896 84.712808) + (xy 94.674896 84.71281) + (xy 94.677714 84.745016) + (xy 94.678 84.75157) + (xy 94.678 84.836202) + (xy 94.662084 84.882467) + (xy 94.621072 84.909148) + (xy 94.572326 84.904951) + (xy 94.53648 84.871651) + (xy 94.523965 84.848238) + (xy 94.522224 84.84498) + (xy 94.403133 84.699867) + (xy 94.397854 84.695535) + (xy 94.260876 84.58312) + (xy 94.25802 84.580776) + (xy 94.206538 84.553258) + (xy 94.095719 84.494023) + (xy 94.095711 84.494019) + (xy 94.092462 84.492283) + (xy 93.977535 84.45742) + (xy 93.916352 84.43886) + (xy 93.91635 84.438859) + (xy 93.912821 84.437789) + (xy 93.90915 84.437427) + (xy 93.909148 84.437427) + (xy 93.729676 84.419751) + (xy 93.726 84.419389) + (xy 93.722324 84.419751) + (xy 93.542851 84.437427) + (xy 93.542847 84.437427) + (xy 93.539179 84.437789) + (xy 93.535651 84.438859) + (xy 93.535647 84.43886) + (xy 93.363068 84.491212) + (xy 93.363066 84.491212) + (xy 93.359538 84.492283) + (xy 93.356292 84.494018) + (xy 93.35628 84.494023) + (xy 93.197238 84.579034) + (xy 93.197233 84.579036) + (xy 93.19398 84.580776) + (xy 93.191127 84.583117) + (xy 93.191123 84.58312) + (xy 93.051722 84.697523) + (xy 93.051716 84.697528) + (xy 93.048867 84.699867) + (xy 92.958127 84.810432) + (xy 92.920057 84.835201) + (xy 92.874666 84.833529) + (xy 92.838518 84.806026) + (xy 92.8248 84.762725) + (xy 92.8248 84.339763) + (xy 92.829541 84.313483) + (xy 92.843168 84.290517) + (xy 92.871555 84.257757) + (xy 92.928182 84.192406) + (xy 92.987408 84.062719) + (xy 93.007698 83.9216) + (xy 93.002538 83.885715) + (xy 92.988173 83.785802) + (xy 92.987408 83.780481) + (xy 92.928182 83.650794) + (xy 92.922713 83.644483) + (xy 92.856827 83.568447) + (xy 92.834818 83.543047) + (xy 92.830296 83.540141) + (xy 92.830294 83.540139) + (xy 92.719402 83.468872) + (xy 92.719399 83.46887) + (xy 92.714881 83.465967) + (xy 92.709725 83.464453) + (xy 92.709723 83.464452) + (xy 92.583247 83.427315) + (xy 92.583242 83.427314) + (xy 92.578085 83.4258) + (xy 92.435515 83.4258) + (xy 92.430358 83.427314) + (xy 92.430352 83.427315) + (xy 92.303876 83.464452) + (xy 92.303871 83.464454) + (xy 92.298719 83.465967) + (xy 92.294203 83.468869) + (xy 92.294197 83.468872) + (xy 92.183305 83.540139) + (xy 92.183299 83.540143) + (xy 92.178782 83.543047) + (xy 92.175261 83.547109) + (xy 92.17526 83.547111) + (xy 92.08894 83.646728) + (xy 92.088936 83.646733) + (xy 92.085418 83.650794) + (xy 92.083185 83.655682) + (xy 92.083182 83.655688) + (xy 92.028426 83.775587) + (xy 92.028424 83.775593) + (xy 92.026192 83.780481) + (xy 92.025427 83.785795) + (xy 92.025426 83.785802) + (xy 92.01014 83.892125) + (xy 92.005902 83.9216) + (xy 92.006667 83.926921) + (xy 92.025426 84.057397) + (xy 92.025427 84.057402) + (xy 92.026192 84.062719) + (xy 92.028424 84.067608) + (xy 92.028426 84.067612) + (xy 92.083182 84.187511) + (xy 92.083183 84.187513) + (xy 92.085418 84.192406) + (xy 92.088938 84.196469) + (xy 92.08894 84.196471) + (xy 92.170432 84.290517) + (xy 92.184059 84.313483) + (xy 92.1888 84.339763) + (xy 92.1888 84.553258) + (xy 92.175082 84.596559) + (xy 92.138934 84.624062) + (xy 92.093544 84.625734) + (xy 92.05547 84.600965) + (xy 92.041939 84.584478) + (xy 92.035095 84.579741) + (xy 92.027816 84.583787) + (xy 91.401605 85.209999) + (xy 91.397563 85.217) + (xy 91.401605 85.224) + (xy 92.027816 85.850211) + (xy 92.035096 85.854257) + (xy 92.041939 85.84952) + (xy 92.05547 85.833034) + (xy 92.093544 85.808265) + (xy 92.138934 85.809937) + (xy 92.175082 85.83744) + (xy 92.1888 85.880741) + (xy 92.1888 87.093258) + (xy 92.175082 87.136559) + (xy 92.138934 87.164062) + (xy 92.093544 87.165734) + (xy 92.05547 87.140965) + (xy 92.041939 87.124478) + (xy 92.035095 87.119741) + (xy 92.027816 87.123787) + (xy 91.401605 87.749999) + (xy 91.397563 87.757) + (xy 91.401605 87.764) + (xy 92.027816 88.390211) + (xy 92.035096 88.394257) + (xy 92.041939 88.38952) + (xy 92.05547 88.373034) + (xy 92.093544 88.348265) + (xy 92.138934 88.349937) + (xy 92.175082 88.37744) + (xy 92.1888 88.420741) + (xy 92.1888 89.633258) + (xy 92.175082 89.676559) + (xy 92.138934 89.704062) + (xy 92.093544 89.705734) + (xy 92.05547 89.680965) + (xy 92.041939 89.664478) + (xy 92.035095 89.659741) + (xy 92.027816 89.663787) + (xy 91.401605 90.289999) + (xy 91.397563 90.296999) + (xy 91.401605 90.304) + (xy 92.027816 90.930211) + (xy 92.035096 90.934257) + (xy 92.041939 90.92952) + (xy 92.05547 90.913034) + (xy 92.093544 90.888265) + (xy 92.138934 90.889937) + (xy 92.175082 90.91744) + (xy 92.1888 90.960741) + (xy 92.1888 92.173258) + (xy 92.175082 92.216559) + (xy 92.138934 92.244062) + (xy 92.093544 92.245734) + (xy 92.05547 92.220965) + (xy 92.041939 92.204478) + (xy 92.035095 92.199741) + (xy 92.027816 92.203787) + (xy 91.401605 92.829999) + (xy 91.397563 92.837) + (xy 91.401605 92.844) + (xy 92.027816 93.470211) + (xy 92.035096 93.474257) + (xy 92.041939 93.46952) + (xy 92.05547 93.453034) + (xy 92.093544 93.428265) + (xy 92.138934 93.429937) + (xy 92.175082 93.45744) + (xy 92.1888 93.500741) + (xy 92.1888 94.14063) + (xy 92.188514 94.147184) + (xy 92.186858 94.166117) + (xy 92.185123 94.185943) + (xy 92.186824 94.192293) + (xy 92.186825 94.192298) + (xy 92.195194 94.223531) + (xy 92.196613 94.229933) + (xy 92.202225 94.261761) + (xy 92.202226 94.261763) + (xy 92.203368 94.26824) + (xy 92.206656 94.273936) + (xy 92.208907 94.280119) + (xy 92.208898 94.280121) + (xy 92.209657 94.281953) + (xy 92.209665 94.28195) + (xy 92.212444 94.287911) + (xy 92.214148 94.294266) + (xy 92.217921 94.299654) + (xy 92.236462 94.326135) + (xy 92.239985 94.331666) + (xy 92.256148 94.359661) + (xy 92.256153 94.359667) + (xy 92.25944 94.36536) + (xy 92.279117 94.381871) + (xy 92.289248 94.390372) + (xy 92.294084 94.394804) + (xy 92.826103 94.926823) + (xy 92.846684 94.965325) + (xy 92.842445 95.008363) + (xy 92.841283 95.010538) + (xy 92.840213 95.014064) + (xy 92.840213 95.014065) + (xy 92.789984 95.179647) + (xy 92.786789 95.190179) + (xy 92.786427 95.193847) + (xy 92.786427 95.193851) + (xy 92.769078 95.37) + (xy 92.768389 95.377) + (xy 92.768751 95.380675) + (xy 92.768751 95.380676) + (xy 92.786099 95.556821) + (xy 92.786789 95.563821) + (xy 92.841283 95.743462) + (xy 92.843019 95.746711) + (xy 92.843023 95.746719) + (xy 92.918245 95.887447) + (xy 92.929776 95.90902) + (xy 93.048867 96.054133) + (xy 93.19398 96.173224) + (xy 93.21232 96.183027) + (xy 93.220651 96.18748) + (xy 93.253951 96.223326) + (xy 93.258148 96.272072) + (xy 93.231467 96.313084) + (xy 93.185202 96.329) + (xy 91.904466 96.329) + (xy 91.865542 96.318143) + (xy 91.837858 96.288706) + (xy 91.829407 96.24919) + (xy 91.842631 96.211005) + (xy 91.852257 96.197096) + (xy 91.848211 96.189816) + (xy 91.035395 95.377) + (xy 91.397563 95.377) + (xy 91.401605 95.384) + (xy 92.027816 96.010211) + (xy 92.035096 96.014257) + (xy 92.041939 96.00952) + (xy 92.081988 95.960721) + (xy 92.08607 95.954613) + (xy 92.179207 95.780365) + (xy 92.18202 95.773573) + (xy 92.239372 95.584508) + (xy 92.240807 95.577298) + (xy 92.260173 95.380675) + (xy 92.260173 95.373325) + (xy 92.240807 95.176701) + (xy 92.239372 95.169491) + (xy 92.18202 94.980426) + (xy 92.179207 94.973634) + (xy 92.08607 94.799386) + (xy 92.081988 94.793278) + (xy 92.041939 94.744477) + (xy 92.035095 94.739741) + (xy 92.027816 94.743787) + (xy 91.401605 95.369999) + (xy 91.397563 95.377) + (xy 91.035395 95.377) + (xy 90.402182 94.743787) + (xy 90.394052 94.739269) + (xy 90.387453 94.739593) + (xy 90.364611 94.747504) + (xy 90.325094 94.739053) + (xy 90.295657 94.711369) + (xy 90.2848 94.672445) + (xy 90.2848 94.556903) + (xy 90.577742 94.556903) + (xy 90.581787 94.564182) + (xy 91.207999 95.190394) + (xy 91.215 95.194436) + (xy 91.222 95.190394) + (xy 91.848211 94.564182) + (xy 91.852257 94.556903) + (xy 91.847521 94.550059) + (xy 91.798722 94.510011) + (xy 91.792613 94.505929) + (xy 91.618365 94.412792) + (xy 91.611573 94.409979) + (xy 91.422508 94.352627) + (xy 91.415298 94.351192) + (xy 91.218675 94.331827) + (xy 91.211325 94.331827) + (xy 91.014701 94.351192) + (xy 91.007491 94.352627) + (xy 90.818426 94.409979) + (xy 90.811634 94.412792) + (xy 90.637383 94.505931) + (xy 90.631281 94.510008) + (xy 90.582479 94.550058) + (xy 90.577742 94.556903) + (xy 90.2848 94.556903) + (xy 90.2848 93.657095) + (xy 90.577741 93.657095) + (xy 90.582477 93.663939) + (xy 90.631278 93.703988) + (xy 90.637386 93.70807) + (xy 90.811634 93.801207) + (xy 90.818426 93.80402) + (xy 91.007491 93.861372) + (xy 91.014701 93.862807) + (xy 91.211325 93.882173) + (xy 91.218675 93.882173) + (xy 91.415298 93.862807) + (xy 91.422508 93.861372) + (xy 91.611573 93.80402) + (xy 91.618365 93.801207) + (xy 91.792613 93.70807) + (xy 91.798721 93.703988) + (xy 91.84752 93.663939) + (xy 91.852257 93.657096) + (xy 91.848211 93.649816) + (xy 91.222 93.023605) + (xy 91.215 93.019563) + (xy 91.207999 93.023605) + (xy 90.581787 93.649816) + (xy 90.577741 93.657095) + (xy 90.2848 93.657095) + (xy 90.2848 93.541554) + (xy 90.295657 93.50263) + (xy 90.325094 93.474946) + (xy 90.364611 93.466495) + (xy 90.387453 93.474405) + (xy 90.394052 93.474729) + (xy 90.402182 93.470211) + (xy 91.028394 92.844) + (xy 91.032436 92.837) + (xy 91.028394 92.829999) + (xy 90.402182 92.203787) + (xy 90.394052 92.199269) + (xy 90.387453 92.199593) + (xy 90.364611 92.207504) + (xy 90.325094 92.199053) + (xy 90.295657 92.171369) + (xy 90.2848 92.132445) + (xy 90.2848 92.016903) + (xy 90.577742 92.016903) + (xy 90.581787 92.024182) + (xy 91.207999 92.650394) + (xy 91.215 92.654436) + (xy 91.222 92.650394) + (xy 91.848211 92.024182) + (xy 91.852257 92.016903) + (xy 91.847521 92.010059) + (xy 91.798722 91.970011) + (xy 91.792613 91.965929) + (xy 91.618365 91.872792) + (xy 91.611573 91.869979) + (xy 91.422508 91.812627) + (xy 91.415298 91.811192) + (xy 91.218675 91.791827) + (xy 91.211325 91.791827) + (xy 91.014701 91.811192) + (xy 91.007491 91.812627) + (xy 90.818426 91.869979) + (xy 90.811634 91.872792) + (xy 90.637383 91.965931) + (xy 90.631281 91.970008) + (xy 90.582479 92.010058) + (xy 90.577742 92.016903) + (xy 90.2848 92.016903) + (xy 90.2848 91.117095) + (xy 90.577741 91.117095) + (xy 90.582477 91.123939) + (xy 90.631278 91.163988) + (xy 90.637386 91.16807) + (xy 90.811634 91.261207) + (xy 90.818426 91.26402) + (xy 91.007491 91.321372) + (xy 91.014701 91.322807) + (xy 91.211325 91.342173) + (xy 91.218675 91.342173) + (xy 91.415298 91.322807) + (xy 91.422508 91.321372) + (xy 91.611573 91.26402) + (xy 91.618365 91.261207) + (xy 91.792613 91.16807) + (xy 91.798721 91.163988) + (xy 91.84752 91.123939) + (xy 91.852257 91.117096) + (xy 91.848211 91.109816) + (xy 91.222 90.483605) + (xy 91.215 90.479563) + (xy 91.207999 90.483605) + (xy 90.581787 91.109816) + (xy 90.577741 91.117095) + (xy 90.2848 91.117095) + (xy 90.2848 91.001554) + (xy 90.295657 90.96263) + (xy 90.325094 90.934946) + (xy 90.364611 90.926495) + (xy 90.387453 90.934405) + (xy 90.394052 90.934729) + (xy 90.402182 90.930211) + (xy 91.028394 90.304) + (xy 91.032436 90.297) + (xy 91.028394 90.289999) + (xy 90.402182 89.663787) + (xy 90.394052 89.659269) + (xy 90.387453 89.659593) + (xy 90.364611 89.667504) + (xy 90.325094 89.659053) + (xy 90.295657 89.631369) + (xy 90.2848 89.592445) + (xy 90.2848 89.476903) + (xy 90.577742 89.476903) + (xy 90.581787 89.484182) + (xy 91.207999 90.110394) + (xy 91.215 90.114436) + (xy 91.222 90.110394) + (xy 91.848211 89.484182) + (xy 91.852257 89.476903) + (xy 91.847521 89.470059) + (xy 91.798722 89.430011) + (xy 91.792613 89.425929) + (xy 91.618365 89.332792) + (xy 91.611573 89.329979) + (xy 91.422508 89.272627) + (xy 91.415298 89.271192) + (xy 91.218675 89.251827) + (xy 91.211325 89.251827) + (xy 91.014701 89.271192) + (xy 91.007491 89.272627) + (xy 90.818426 89.329979) + (xy 90.811634 89.332792) + (xy 90.637383 89.425931) + (xy 90.631281 89.430008) + (xy 90.582479 89.470058) + (xy 90.577742 89.476903) + (xy 90.2848 89.476903) + (xy 90.2848 88.577095) + (xy 90.577741 88.577095) + (xy 90.582477 88.583939) + (xy 90.631278 88.623988) + (xy 90.637386 88.62807) + (xy 90.811634 88.721207) + (xy 90.818426 88.72402) + (xy 91.007491 88.781372) + (xy 91.014701 88.782807) + (xy 91.211325 88.802173) + (xy 91.218675 88.802173) + (xy 91.415298 88.782807) + (xy 91.422508 88.781372) + (xy 91.611573 88.72402) + (xy 91.618365 88.721207) + (xy 91.792613 88.62807) + (xy 91.798721 88.623988) + (xy 91.84752 88.583939) + (xy 91.852257 88.577096) + (xy 91.848211 88.569816) + (xy 91.222 87.943605) + (xy 91.215 87.939563) + (xy 91.207999 87.943605) + (xy 90.581787 88.569816) + (xy 90.577741 88.577095) + (xy 90.2848 88.577095) + (xy 90.2848 88.461554) + (xy 90.295657 88.42263) + (xy 90.325094 88.394946) + (xy 90.364611 88.386495) + (xy 90.387453 88.394405) + (xy 90.394052 88.394729) + (xy 90.402182 88.390211) + (xy 91.028394 87.764) + (xy 91.032436 87.757) + (xy 91.028394 87.749999) + (xy 90.402182 87.123787) + (xy 90.394052 87.119269) + (xy 90.387453 87.119593) + (xy 90.364611 87.127504) + (xy 90.325094 87.119053) + (xy 90.295657 87.091369) + (xy 90.2848 87.052445) + (xy 90.2848 86.936903) + (xy 90.577742 86.936903) + (xy 90.581787 86.944182) + (xy 91.207999 87.570394) + (xy 91.215 87.574436) + (xy 91.222 87.570394) + (xy 91.848211 86.944182) + (xy 91.852257 86.936903) + (xy 91.847521 86.930059) + (xy 91.798722 86.890011) + (xy 91.792613 86.885929) + (xy 91.618365 86.792792) + (xy 91.611573 86.789979) + (xy 91.422508 86.732627) + (xy 91.415298 86.731192) + (xy 91.218675 86.711827) + (xy 91.211325 86.711827) + (xy 91.014701 86.731192) + (xy 91.007491 86.732627) + (xy 90.818426 86.789979) + (xy 90.811634 86.792792) + (xy 90.637383 86.885931) + (xy 90.631281 86.890008) + (xy 90.582479 86.930058) + (xy 90.577742 86.936903) + (xy 90.2848 86.936903) + (xy 90.2848 86.52597) + (xy 90.285086 86.519416) + (xy 90.288477 86.480657) + (xy 90.278406 86.443075) + (xy 90.276987 86.436675) + (xy 90.270232 86.39836) + (xy 90.266942 86.392661) + (xy 90.264693 86.386482) + (xy 90.264702 86.386478) + (xy 90.263944 86.384648) + (xy 90.263936 86.384652) + (xy 90.261153 86.378686) + (xy 90.259452 86.372334) + (xy 90.237132 86.340458) + (xy 90.233609 86.334927) + (xy 90.217451 86.30694) + (xy 90.21745 86.306939) + (xy 90.21416 86.30124) + (xy 90.184351 86.276227) + (xy 90.179515 86.271795) + (xy 89.944815 86.037095) + (xy 90.577741 86.037095) + (xy 90.582477 86.043939) + (xy 90.631278 86.083988) + (xy 90.637386 86.08807) + (xy 90.811634 86.181207) + (xy 90.818426 86.18402) + (xy 91.007491 86.241372) + (xy 91.014701 86.242807) + (xy 91.211325 86.262173) + (xy 91.218675 86.262173) + (xy 91.415298 86.242807) + (xy 91.422508 86.241372) + (xy 91.611573 86.18402) + (xy 91.618365 86.181207) + (xy 91.792613 86.08807) + (xy 91.798721 86.083988) + (xy 91.84752 86.043939) + (xy 91.852257 86.037096) + (xy 91.848211 86.029816) + (xy 91.222 85.403605) + (xy 91.215 85.399563) + (xy 91.207999 85.403605) + (xy 90.581787 86.029816) + (xy 90.577741 86.037095) + (xy 89.944815 86.037095) + (xy 89.640306 85.732586) + (xy 89.619094 85.690445) + (xy 89.62716 85.643962) + (xy 89.641412 85.617301) + (xy 89.700938 85.421072) + (xy 89.720675 85.220675) + (xy 90.169827 85.220675) + (xy 90.189192 85.417298) + (xy 90.190627 85.424508) + (xy 90.247979 85.613573) + (xy 90.250792 85.620365) + (xy 90.343929 85.794613) + (xy 90.348011 85.800722) + (xy 90.388059 85.849521) + (xy 90.394903 85.854257) + (xy 90.402182 85.850211) + (xy 91.028394 85.224) + (xy 91.032436 85.217) + (xy 91.028394 85.209999) + (xy 90.402182 84.583787) + (xy 90.394903 84.579742) + (xy 90.388058 84.584479) + (xy 90.348008 84.633281) + (xy 90.343931 84.639383) + (xy 90.250792 84.813634) + (xy 90.247979 84.820426) + (xy 90.190627 85.009491) + (xy 90.189192 85.016701) + (xy 90.169827 85.213325) + (xy 90.169827 85.220675) + (xy 89.720675 85.220675) + (xy 89.721037 85.217) + (xy 89.720347 85.209999) + (xy 89.718068 85.186851) + (xy 89.700938 85.012928) + (xy 89.641412 84.816699) + (xy 89.544748 84.635853) + (xy 89.535071 84.624062) + (xy 89.417003 84.480195) + (xy 89.41466 84.47734) + (xy 89.395372 84.461511) + (xy 89.316647 84.396903) + (xy 90.577742 84.396903) + (xy 90.581787 84.404182) + (xy 91.207999 85.030394) + (xy 91.215 85.034436) + (xy 91.222 85.030394) + (xy 91.848211 84.404182) + (xy 91.852257 84.396903) + (xy 91.847521 84.390059) + (xy 91.798722 84.350011) + (xy 91.792613 84.345929) + (xy 91.618365 84.252792) + (xy 91.611573 84.249979) + (xy 91.422508 84.192627) + (xy 91.415298 84.191192) + (xy 91.218675 84.171827) + (xy 91.211325 84.171827) + (xy 91.014701 84.191192) + (xy 91.007491 84.192627) + (xy 90.818426 84.249979) + (xy 90.811634 84.252792) + (xy 90.637383 84.345931) + (xy 90.631281 84.350008) + (xy 90.582479 84.390058) + (xy 90.577742 84.396903) + (xy 89.316647 84.396903) + (xy 89.259006 84.349598) + (xy 89.259003 84.349596) + (xy 89.256147 84.347252) + (xy 89.075301 84.250588) + (xy 89.071774 84.249518) + (xy 89.071769 84.249516) + (xy 88.882603 84.192133) + (xy 88.882601 84.192132) + (xy 88.879072 84.191062) + (xy 88.875401 84.1907) + (xy 88.875399 84.1907) + (xy 88.678676 84.171325) + (xy 88.675 84.170963) + (xy 88.671324 84.171325) + (xy 88.4746 84.1907) + (xy 88.474596 84.1907) + (xy 88.470928 84.191062) + (xy 88.4674 84.192132) + (xy 88.467396 84.192133) + (xy 88.27823 84.249516) + (xy 88.278222 84.249519) + (xy 88.274699 84.250588) + (xy 88.271447 84.252325) + (xy 88.271445 84.252327) + (xy 88.097111 84.34551) + (xy 88.097106 84.345512) + (xy 88.093853 84.347252) + (xy 88.091 84.349593) + (xy 88.090993 84.349598) + (xy 87.938195 84.474996) + (xy 87.938189 84.475001) + (xy 87.93534 84.47734) + (xy 87.933001 84.480189) + (xy 87.932996 84.480195) + (xy 87.807598 84.632993) + (xy 87.807593 84.633) + (xy 87.805252 84.635853) + (xy 87.803512 84.639106) + (xy 87.80351 84.639111) + (xy 87.731111 84.774561) + (xy 87.708588 84.816699) + (xy 87.707519 84.820222) + (xy 87.707516 84.82023) + (xy 87.650775 85.00728) + (xy 87.649062 85.012928) + (xy 87.6487 85.016596) + (xy 87.6487 85.0166) + (xy 87.629604 85.21049) + (xy 87.628963 85.217) + (xy 87.629325 85.220675) + (xy 87.629325 85.220676) + (xy 87.647341 85.403605) + (xy 87.649062 85.421072) + (xy 87.650132 85.424601) + (xy 87.650133 85.424603) + (xy 87.707516 85.613769) + (xy 87.707518 85.613774) + (xy 87.708588 85.617301) + (xy 87.805252 85.798147) + (xy 87.807596 85.801003) + (xy 87.807598 85.801006) + (xy 87.932996 85.953804) + (xy 87.93534 85.95666) + (xy 87.954471 85.97236) + (xy 88.048825 86.049795) + (xy 88.093853 86.086748) + (xy 88.274699 86.183412) + (xy 88.470928 86.242938) + (xy 88.643921 86.259976) + (xy 88.666227 86.262173) + (xy 88.675 86.263037) + (xy 88.683773 86.262173) + (xy 88.706079 86.259976) + (xy 88.879072 86.242938) + (xy 89.075301 86.183412) + (xy 89.101962 86.16916) + (xy 89.148445 86.161094) + (xy 89.190586 86.182306) + (xy 89.626774 86.618494) + (xy 89.643076 86.64289) + (xy 89.6488 86.671668) + (xy 89.6488 87.092472) + (xy 89.635082 87.135773) + (xy 89.598934 87.163276) + (xy 89.553543 87.164948) + (xy 89.515471 87.140179) + (xy 89.41466 87.01734) + (xy 89.396562 87.002487) + (xy 89.259006 86.889598) + (xy 89.259003 86.889596) + (xy 89.256147 86.887252) + (xy 89.075301 86.790588) + (xy 89.071774 86.789518) + (xy 89.071769 86.789516) + (xy 88.882603 86.732133) + (xy 88.882601 86.732132) + (xy 88.879072 86.731062) + (xy 88.875401 86.7307) + (xy 88.875399 86.7307) + (xy 88.678676 86.711325) + (xy 88.675 86.710963) + (xy 88.671324 86.711325) + (xy 88.4746 86.7307) + (xy 88.474596 86.7307) + (xy 88.470928 86.731062) + (xy 88.4674 86.732132) + (xy 88.467396 86.732133) + (xy 88.27823 86.789516) + (xy 88.278222 86.789519) + (xy 88.274699 86.790588) + (xy 88.271447 86.792325) + (xy 88.271445 86.792327) + (xy 88.097111 86.88551) + (xy 88.097106 86.885512) + (xy 88.093853 86.887252) + (xy 88.091 86.889593) + (xy 88.090993 86.889598) + (xy 87.938195 87.014996) + (xy 87.938189 87.015001) + (xy 87.93534 87.01734) + (xy 87.933001 87.020189) + (xy 87.932996 87.020195) + (xy 87.807598 87.172993) + (xy 87.807593 87.173) + (xy 87.805252 87.175853) + (xy 87.803512 87.179106) + (xy 87.80351 87.179111) + (xy 87.713519 87.347474) + (xy 87.708588 87.356699) + (xy 87.707519 87.360222) + (xy 87.707516 87.36023) + (xy 87.660047 87.516715) + (xy 87.649062 87.552928) + (xy 87.6487 87.556596) + (xy 87.6487 87.5566) + (xy 87.629382 87.752745) + (xy 87.628963 87.757) + (xy 87.629325 87.760676) + (xy 87.647341 87.943605) + (xy 87.649062 87.961072) + (xy 87.650132 87.964601) + (xy 87.650133 87.964603) + (xy 87.707516 88.153769) + (xy 87.707518 88.153774) + (xy 87.708588 88.157301) + (xy 87.805252 88.338147) + (xy 87.807596 88.341003) + (xy 87.807598 88.341006) + (xy 87.932996 88.493804) + (xy 87.93534 88.49666) + (xy 87.938195 88.499003) + (xy 88.039936 88.5825) + (xy 88.093853 88.626748) + (xy 88.274699 88.723412) + (xy 88.470928 88.782938) + (xy 88.657797 88.801342) + (xy 88.666227 88.802173) + (xy 88.675 88.803037) + (xy 88.683773 88.802173) + (xy 88.690539 88.801506) + (xy 88.879072 88.782938) + (xy 89.075301 88.723412) + (xy 89.256147 88.626748) + (xy 89.41466 88.49666) + (xy 89.515471 88.37382) + (xy 89.553543 88.349052) + (xy 89.598934 88.350724) + (xy 89.635082 88.378227) + (xy 89.6488 88.421528) + (xy 89.6488 89.632472) + (xy 89.635082 89.675773) + (xy 89.598934 89.703276) + (xy 89.553543 89.704948) + (xy 89.515471 89.680179) + (xy 89.41466 89.55734) + (xy 89.382585 89.531017) + (xy 89.259006 89.429598) + (xy 89.259003 89.429596) + (xy 89.256147 89.427252) + (xy 89.075301 89.330588) + (xy 89.071774 89.329518) + (xy 89.071769 89.329516) + (xy 88.882603 89.272133) + (xy 88.882601 89.272132) + (xy 88.879072 89.271062) + (xy 88.875401 89.2707) + (xy 88.875399 89.2707) + (xy 88.678676 89.251325) + (xy 88.675 89.250963) + (xy 88.671324 89.251325) + (xy 88.4746 89.2707) + (xy 88.474596 89.2707) + (xy 88.470928 89.271062) + (xy 88.4674 89.272132) + (xy 88.467396 89.272133) + (xy 88.27823 89.329516) + (xy 88.278222 89.329519) + (xy 88.274699 89.330588) + (xy 88.271447 89.332325) + (xy 88.271445 89.332327) + (xy 88.097111 89.42551) + (xy 88.097106 89.425512) + (xy 88.093853 89.427252) + (xy 88.091 89.429593) + (xy 88.090993 89.429598) + (xy 87.938195 89.554996) + (xy 87.938189 89.555001) + (xy 87.93534 89.55734) + (xy 87.933001 89.560189) + (xy 87.932996 89.560195) + (xy 87.807598 89.712993) + (xy 87.807593 89.713) + (xy 87.805252 89.715853) + (xy 87.803512 89.719106) + (xy 87.80351 89.719111) + (xy 87.710327 89.893445) + (xy 87.708588 89.896699) + (xy 87.707519 89.900222) + (xy 87.707516 89.90023) + (xy 87.650133 90.089396) + (xy 87.649062 90.092928) + (xy 87.6487 90.096596) + (xy 87.6487 90.0966) + (xy 87.629604 90.290488) + (xy 87.628963 90.297) + (xy 87.629325 90.300676) + (xy 87.647341 90.483605) + (xy 87.649062 90.501072) + (xy 87.650132 90.504601) + (xy 87.650133 90.504603) + (xy 87.707516 90.693769) + (xy 87.707518 90.693774) + (xy 87.708588 90.697301) + (xy 87.805252 90.878147) + (xy 87.807596 90.881003) + (xy 87.807598 90.881006) + (xy 87.898438 90.991695) + (xy 87.93534 91.03666) + (xy 87.938195 91.039003) + (xy 88.03335 91.117095) + (xy 88.093853 91.166748) + (xy 88.274699 91.263412) + (xy 88.470928 91.322938) + (xy 88.657797 91.341342) + (xy 88.666227 91.342173) + (xy 88.675 91.343037) + (xy 88.683773 91.342173) + (xy 88.690539 91.341506) + (xy 88.879072 91.322938) + (xy 89.075301 91.263412) + (xy 89.256147 91.166748) + (xy 89.41466 91.03666) + (xy 89.515471 90.91382) + (xy 89.553543 90.889052) + (xy 89.598934 90.890724) + (xy 89.635082 90.918227) + (xy 89.6488 90.961528) + (xy 89.6488 92.172472) + (xy 89.635082 92.215773) + (xy 89.598934 92.243276) + (xy 89.553543 92.244948) + (xy 89.515471 92.220179) + (xy 89.41466 92.09734) + (xy 89.392354 92.079034) + (xy 89.259006 91.969598) + (xy 89.259003 91.969596) + (xy 89.256147 91.967252) + (xy 89.075301 91.870588) + (xy 89.071774 91.869518) + (xy 89.071769 91.869516) + (xy 88.882603 91.812133) + (xy 88.882601 91.812132) + (xy 88.879072 91.811062) + (xy 88.875401 91.8107) + (xy 88.875399 91.8107) + (xy 88.678676 91.791325) + (xy 88.675 91.790963) + (xy 88.671324 91.791325) + (xy 88.4746 91.8107) + (xy 88.474596 91.8107) + (xy 88.470928 91.811062) + (xy 88.4674 91.812132) + (xy 88.467396 91.812133) + (xy 88.27823 91.869516) + (xy 88.278222 91.869519) + (xy 88.274699 91.870588) + (xy 88.271447 91.872325) + (xy 88.271445 91.872327) + (xy 88.097111 91.96551) + (xy 88.097106 91.965512) + (xy 88.093853 91.967252) + (xy 88.091 91.969593) + (xy 88.090993 91.969598) + (xy 87.938195 92.094996) + (xy 87.938189 92.095001) + (xy 87.93534 92.09734) + (xy 87.933001 92.100189) + (xy 87.932996 92.100195) + (xy 87.807598 92.252993) + (xy 87.807593 92.253) + (xy 87.805252 92.255853) + (xy 87.803512 92.259106) + (xy 87.80351 92.259111) + (xy 87.715246 92.424242) + (xy 87.708588 92.436699) + (xy 87.707519 92.440222) + (xy 87.707516 92.44023) + (xy 87.658599 92.601489) + (xy 87.649062 92.632928) + (xy 87.6487 92.636596) + (xy 87.6487 92.6366) + (xy 87.629325 92.833324) + (xy 87.628963 92.837) + (xy 87.629325 92.840676) + (xy 87.647341 93.023605) + (xy 87.649062 93.041072) + (xy 87.650132 93.044601) + (xy 87.650133 93.044603) + (xy 87.707516 93.233769) + (xy 87.707518 93.233774) + (xy 87.708588 93.237301) + (xy 87.805252 93.418147) + (xy 87.807596 93.421003) + (xy 87.807598 93.421006) + (xy 87.918775 93.556476) + (xy 87.93534 93.57666) + (xy 87.938195 93.579003) + (xy 88.03335 93.657095) + (xy 88.093853 93.706748) + (xy 88.274699 93.803412) + (xy 88.470928 93.862938) + (xy 88.657797 93.881342) + (xy 88.666227 93.882173) + (xy 88.675 93.883037) + (xy 88.683773 93.882173) + (xy 88.690539 93.881506) + (xy 88.879072 93.862938) + (xy 89.075301 93.803412) + (xy 89.256147 93.706748) + (xy 89.41466 93.57666) + (xy 89.515471 93.45382) + (xy 89.553543 93.429052) + (xy 89.598934 93.430724) + (xy 89.635082 93.458227) + (xy 89.6488 93.501528) + (xy 89.6488 94.712472) + (xy 89.635082 94.755773) + (xy 89.598934 94.783276) + (xy 89.553543 94.784948) + (xy 89.515471 94.760179) + (xy 89.41466 94.63734) + (xy 89.398973 94.624466) + (xy 89.259006 94.509598) + (xy 89.259003 94.509596) + (xy 89.256147 94.507252) + (xy 89.238246 94.497684) + (xy 89.197523 94.475917) + (xy 89.075301 94.410588) + (xy 89.071774 94.409518) + (xy 89.071769 94.409516) + (xy 88.882603 94.352133) + (xy 88.882601 94.352132) + (xy 88.879072 94.351062) + (xy 88.875401 94.3507) + (xy 88.875399 94.3507) + (xy 88.678676 94.331325) + (xy 88.675 94.330963) + (xy 88.671324 94.331325) + (xy 88.4746 94.3507) + (xy 88.474596 94.3507) + (xy 88.470928 94.351062) + (xy 88.4674 94.352132) + (xy 88.467396 94.352133) + (xy 88.27823 94.409516) + (xy 88.278222 94.409519) + (xy 88.274699 94.410588) + (xy 88.271447 94.412325) + (xy 88.271445 94.412327) + (xy 88.097111 94.50551) + (xy 88.097106 94.505512) + (xy 88.093853 94.507252) + (xy 88.091 94.509593) + (xy 88.090993 94.509598) + (xy 87.938195 94.634996) + (xy 87.938189 94.635001) + (xy 87.93534 94.63734) + (xy 87.933001 94.640189) + (xy 87.932996 94.640195) + (xy 87.807598 94.792993) + (xy 87.807593 94.793) + (xy 87.805252 94.795853) + (xy 87.803512 94.799106) + (xy 87.80351 94.799111) + (xy 87.710327 94.973445) + (xy 87.708588 94.976699) + (xy 87.707519 94.980222) + (xy 87.707516 94.98023) + (xy 87.664835 95.120931) + (xy 87.649062 95.172928) + (xy 87.6487 95.176596) + (xy 87.6487 95.1766) + (xy 87.629652 95.37) + (xy 87.628963 95.377) + (xy 86.076718 95.377) + (xy 86.728724 94.724994) + (xy 86.733537 94.720583) + (xy 86.76336 94.69556) + (xy 86.78282 94.661853) + (xy 86.786319 94.65636) + (xy 86.808652 94.624466) + (xy 86.810354 94.61811) + (xy 86.813136 94.612147) + (xy 86.813145 94.612151) + (xy 86.813901 94.610324) + (xy 86.813891 94.610321) + (xy 86.81614 94.60414) + (xy 86.819432 94.59844) + (xy 86.826187 94.560121) + (xy 86.827605 94.553728) + (xy 86.837677 94.516143) + (xy 86.834286 94.477379) + (xy 86.834 94.470826) + (xy 86.834 88.40917) + (xy 86.834286 88.402616) + (xy 86.835017 88.394257) + (xy 86.837677 88.363857) + (xy 86.827606 88.326275) + (xy 86.826187 88.319875) + (xy 86.819432 88.28156) + (xy 86.816142 88.275861) + (xy 86.813893 88.269682) + (xy 86.813902 88.269678) + (xy 86.813144 88.267848) + (xy 86.813136 88.267852) + (xy 86.810353 88.261886) + (xy 86.808652 88.255534) + (xy 86.797578 88.239719) + (xy 86.786334 88.22366) + (xy 86.782809 88.218127) + (xy 86.780511 88.214147) + (xy 86.76336 88.18444) + (xy 86.733551 88.159427) + (xy 86.728715 88.154995) + (xy 85.610004 87.036284) + (xy 85.605572 87.031448) + (xy 85.58056 87.00164) + (xy 85.574867 86.998353) + (xy 85.574861 86.998348) + (xy 85.546866 86.982185) + (xy 85.541335 86.978662) + (xy 85.535844 86.974818) + (xy 85.509466 86.956348) + (xy 85.503111 86.954644) + (xy 85.49715 86.951865) + (xy 85.497153 86.951857) + (xy 85.495321 86.951098) + (xy 85.495319 86.951107) + (xy 85.489136 86.948856) + (xy 85.48344 86.945568) + (xy 85.476963 86.944426) + (xy 85.476961 86.944425) + (xy 85.445133 86.938813) + (xy 85.438731 86.937394) + (xy 85.407498 86.929025) + (xy 85.407493 86.929024) + (xy 85.401143 86.927323) + (xy 85.394591 86.927896) + (xy 85.394589 86.927896) + (xy 85.362384 86.930714) + (xy 85.35583 86.931) + (xy 81.596831 86.931) + (xy 81.565592 86.924205) + (xy 81.539999 86.905046) + (xy 81.518469 86.8802) + (xy 81.510018 86.870447) + (xy 81.505496 86.867541) + (xy 81.505494 86.867539) + (xy 81.394602 86.796272) + (xy 81.394599 86.79627) + (xy 81.390081 86.793367) + (xy 81.384925 86.791853) + (xy 81.384923 86.791852) + (xy 81.258447 86.754715) + (xy 81.258442 86.754714) + (xy 81.253285 86.7532) + (xy 81.110715 86.7532) + (xy 81.105558 86.754714) + (xy 81.105552 86.754715) + (xy 80.979076 86.791852) + (xy 80.979071 86.791854) + (xy 80.973919 86.793367) + (xy 80.969403 86.796269) + (xy 80.969397 86.796272) + (xy 80.858505 86.867539) + (xy 80.858499 86.867543) + (xy 80.853982 86.870447) + (xy 80.850461 86.874509) + (xy 80.85046 86.874511) + (xy 80.824001 86.905046) + (xy 80.798408 86.924205) + (xy 80.767169 86.931) + (xy 76.97917 86.931) + (xy 76.972616 86.930714) + (xy 76.94041 86.927896) + (xy 76.940408 86.927896) + (xy 76.933857 86.927323) + (xy 76.927507 86.929024) + (xy 76.9275 86.929025) + (xy 76.896271 86.937393) + (xy 76.88987 86.938812) + (xy 76.858038 86.944425) + (xy 76.858034 86.944426) + (xy 76.85156 86.945568) + (xy 76.845864 86.948856) + (xy 76.83968 86.951107) + (xy 76.839677 86.9511) + (xy 76.837845 86.951858) + (xy 76.837849 86.951866) + (xy 76.831884 86.954646) + (xy 76.825534 86.956349) + (xy 76.820149 86.960118) + (xy 76.820143 86.960122) + (xy 76.793655 86.978668) + (xy 76.788127 86.98219) + (xy 76.760142 86.998348) + (xy 76.75444 87.00164) + (xy 76.750215 87.006674) + (xy 76.75021 87.006679) + (xy 76.729421 87.031454) + (xy 76.72499 87.036288) + (xy 73.601106 90.160174) + (xy 73.57671 90.176476) + (xy 73.547932 90.1822) + (xy 73.461715 90.1822) + (xy 73.456558 90.183714) + (xy 73.456552 90.183715) + (xy 73.330076 90.220852) + (xy 73.330071 90.220854) + (xy 73.324919 90.222367) + (xy 73.320403 90.225269) + (xy 73.320397 90.225272) + (xy 73.209505 90.296539) + (xy 73.209499 90.296543) + (xy 73.204982 90.299447) + (xy 73.201461 90.303509) + (xy 73.20146 90.303511) + (xy 73.11514 90.403128) + (xy 73.115136 90.403133) + (xy 73.111618 90.407194) + (xy 73.109385 90.412082) + (xy 73.109382 90.412088) + (xy 73.054626 90.531987) + (xy 73.054624 90.531993) + (xy 73.052392 90.536881) + (xy 73.051627 90.542195) + (xy 73.051626 90.542202) + (xy 73.041916 90.609741) + (xy 73.032102 90.678) + (xy 72.692057 90.678) + (xy 72.743608 90.565119) + (xy 72.763898 90.424) + (xy 72.743608 90.282881) + (xy 72.684382 90.153194) + (xy 72.591018 90.045447) + (xy 72.586496 90.042541) + (xy 72.586494 90.042539) + (xy 72.475602 89.971272) + (xy 72.475599 89.97127) + (xy 72.471081 89.968367) + (xy 72.465925 89.966853) + (xy 72.465923 89.966852) + (xy 72.339447 89.929715) + (xy 72.339442 89.929714) + (xy 72.334285 89.9282) + (xy 72.191715 89.9282) + (xy 72.186559 89.929713) + (xy 72.186551 89.929715) + (xy 72.115964 89.950442) + (xy 72.067245 89.948266) + (xy 72.030105 89.91666) + (xy 72.020164 89.868916) + (xy 72.041603 89.825116) + (xy 74.353893 87.512826) + (xy 74.37829 87.496524) + (xy 74.407068 87.4908) + (xy 74.487904 87.4908) + (xy 74.493285 87.4908) + (xy 74.630081 87.450633) + (xy 74.750018 87.373553) + (xy 74.843382 87.265806) + (xy 74.902608 87.136119) + (xy 74.922898 86.995) + (xy 74.921055 86.982185) + (xy 74.903373 86.859202) + (xy 74.902608 86.853881) + (xy 74.843382 86.724194) + (xy 74.750018 86.616447) + (xy 74.745496 86.613541) + (xy 74.745494 86.613539) + (xy 74.634602 86.542272) + (xy 74.634599 86.54227) + (xy 74.630081 86.539367) + (xy 74.624925 86.537853) + (xy 74.624923 86.537852) + (xy 74.498447 86.500715) + (xy 74.498442 86.500714) + (xy 74.493285 86.4992) + (xy 74.350715 86.4992) + (xy 74.345558 86.500714) + (xy 74.345552 86.500715) + (xy 74.219076 86.537852) + (xy 74.219071 86.537854) + (xy 74.213919 86.539367) + (xy 74.209403 86.542269) + (xy 74.209397 86.542272) + (xy 74.098505 86.613539) + (xy 74.098499 86.613543) + (xy 74.093982 86.616447) + (xy 74.090461 86.620509) + (xy 74.09046 86.620511) + (xy 74.00414 86.720128) + (xy 74.004136 86.720133) + (xy 74.000618 86.724194) + (xy 73.998385 86.729082) + (xy 73.998382 86.729088) + (xy 73.943626 86.848987) + (xy 73.943624 86.848993) + (xy 73.941392 86.853881) + (xy 73.940627 86.859195) + (xy 73.940626 86.859202) + (xy 73.922944 86.98219) + (xy 73.921102 86.995) + (xy 73.921867 87.000321) + (xy 73.921867 87.000324) + (xy 73.922178 87.002487) + (xy 73.919094 87.036936) + (xy 73.900917 87.066361) + (xy 71.645306 89.321974) + (xy 71.62091 89.338276) + (xy 71.592132 89.344) + (xy 69.486174 89.344) + (xy 69.479621 89.343714) + (xy 69.44741 89.340896) + (xy 69.447408 89.340896) + (xy 69.440857 89.340323) + (xy 69.434507 89.342024) + (xy 69.434499 89.342025) + (xy 69.403266 89.350394) + (xy 69.396865 89.351813) + (xy 69.365037 89.357425) + (xy 69.365032 89.357426) + (xy 69.35856 89.358568) + (xy 69.352866 89.361854) + (xy 69.346681 89.364106) + (xy 69.346678 89.364099) + (xy 69.344842 89.36486) + (xy 69.344846 89.364867) + (xy 69.338888 89.367644) + (xy 69.332534 89.369348) + (xy 69.327147 89.373119) + (xy 69.327142 89.373122) + (xy 69.300655 89.391667) + (xy 69.295128 89.395189) + (xy 69.267133 89.411352) + (xy 69.267129 89.411355) + (xy 69.26144 89.41464) + (xy 69.257215 89.419673) + (xy 69.257211 89.419678) + (xy 69.236421 89.444454) + (xy 69.23199 89.449288) + (xy 65.422306 93.258974) + (xy 65.39791 93.275276) + (xy 65.369132 93.281) + (xy 63.548858 93.281) + (xy 63.5144 93.272641) + (xy 63.487603 93.249421) + (xy 63.474424 93.216504) + (xy 63.473374 93.209208) + (xy 63.473373 93.209207) + (xy 63.472608 93.203881) + (xy 63.413382 93.074194) + (xy 63.407453 93.067352) + (xy 63.369546 93.023605) + (xy 63.320018 92.966447) + (xy 63.315496 92.963541) + (xy 63.315494 92.963539) + (xy 63.204602 92.892272) + (xy 63.204599 92.89227) + (xy 63.200081 92.889367) + (xy 63.194925 92.887853) + (xy 63.194923 92.887852) + (xy 63.068447 92.850715) + (xy 63.068442 92.850714) + (xy 63.063285 92.8492) + (xy 62.920715 92.8492) + (xy 62.915558 92.850714) + (xy 62.915552 92.850715) + (xy 62.789076 92.887852) + (xy 62.789071 92.887854) + (xy 62.783919 92.889367) + (xy 62.779403 92.892269) + (xy 62.779397 92.892272) + (xy 62.668505 92.963539) + (xy 62.668499 92.963543) + (xy 62.663982 92.966447) + (xy 62.660461 92.970509) + (xy 62.66046 92.970511) + (xy 62.57414 93.070128) + (xy 62.574136 93.070133) + (xy 62.570618 93.074194) + (xy 62.568385 93.079082) + (xy 62.568382 93.079088) + (xy 62.513626 93.198987) + (xy 62.513624 93.198993) + (xy 62.511392 93.203881) + (xy 62.510627 93.209195) + (xy 62.510626 93.209202) + (xy 62.495306 93.315758) + (xy 62.491102 93.345) + (xy 62.491867 93.350321) + (xy 62.510626 93.480797) + (xy 62.510627 93.480802) + (xy 62.511392 93.486119) + (xy 62.513624 93.491008) + (xy 62.513626 93.491012) + (xy 62.568382 93.610911) + (xy 62.568383 93.610913) + (xy 62.570618 93.615806) + (xy 62.606395 93.657095) + (xy 62.612859 93.664554) + (xy 62.630462 93.703098) + (xy 62.624431 93.745039) + (xy 62.596683 93.777062) + (xy 62.556027 93.789) + (xy 62.390831 93.789) + (xy 62.359592 93.782205) + (xy 62.333999 93.763046) + (xy 62.318395 93.745039) + (xy 62.304018 93.728447) + (xy 62.299496 93.725541) + (xy 62.299494 93.725539) + (xy 62.188602 93.654272) + (xy 62.188599 93.65427) + (xy 62.184081 93.651367) + (xy 62.178925 93.649853) + (xy 62.178923 93.649852) + (xy 62.052447 93.612715) + (xy 62.052442 93.612714) + (xy 62.047285 93.6112) + (xy 61.904715 93.6112) + (xy 61.899558 93.612714) + (xy 61.899552 93.612715) + (xy 61.773076 93.649852) + (xy 61.773071 93.649854) + (xy 61.767919 93.651367) + (xy 61.763403 93.654269) + (xy 61.763397 93.654272) + (xy 61.652505 93.725539) + (xy 61.652499 93.725543) + (xy 61.647982 93.728447) + (xy 61.644461 93.732509) + (xy 61.64446 93.732511) + (xy 61.55814 93.832128) + (xy 61.558136 93.832133) + (xy 61.554618 93.836194) + (xy 61.552385 93.841082) + (xy 61.552382 93.841088) + (xy 61.497626 93.960987) + (xy 61.497624 93.960993) + (xy 61.495392 93.965881) + (xy 61.494627 93.971195) + (xy 61.494626 93.971202) + (xy 61.476515 94.097174) + (xy 61.475102 94.107) + (xy 47.562 94.107) + (xy 47.562 88.271064) + (xy 47.569755 88.237804) + (xy 47.59142 88.211405) + (xy 47.651955 88.164955) + (xy 47.743641 88.045468) + (xy 47.801277 87.906322) + (xy 47.820936 87.757) + (xy 47.801277 87.607678) + (xy 47.747621 87.478141) + (xy 47.745525 87.47308) + (xy 47.745524 87.473079) + (xy 47.743641 87.468532) + (xy 47.651955 87.349045) + (xy 47.59142 87.302594) + (xy 47.569755 87.276196) + (xy 47.562 87.242936) + (xy 47.562 86.614) + (xy 62.745102 86.614) + (xy 62.745867 86.619321) + (xy 62.764626 86.749797) + (xy 62.764627 86.749802) + (xy 62.765392 86.755119) + (xy 62.767624 86.760008) + (xy 62.767626 86.760012) + (xy 62.822382 86.879911) + (xy 62.822383 86.879913) + (xy 62.824618 86.884806) + (xy 62.828138 86.888869) + (xy 62.82814 86.888871) + (xy 62.855333 86.920253) + (xy 62.917982 86.992553) + (xy 62.922504 86.995459) + (xy 62.922505 86.99546) + (xy 63.011174 87.052445) + (xy 63.037919 87.069633) + (xy 63.174715 87.1098) + (xy 63.311904 87.1098) + (xy 63.317285 87.1098) + (xy 63.454081 87.069633) + (xy 63.457256 87.067592) + (xy 63.505528 87.062982) + (xy 63.546911 87.089577) + (xy 63.563 87.136063) + (xy 63.563 87.44) + (xy 63.552925 87.4776) + (xy 63.5254 87.505125) + (xy 63.4878 87.5152) + (xy 63.428715 87.5152) + (xy 63.423558 87.516714) + (xy 63.423552 87.516715) + (xy 63.297076 87.553852) + (xy 63.297071 87.553854) + (xy 63.291919 87.555367) + (xy 63.287403 87.558269) + (xy 63.287397 87.558272) + (xy 63.176505 87.629539) + (xy 63.176499 87.629543) + (xy 63.171982 87.632447) + (xy 63.168461 87.636509) + (xy 63.16846 87.636511) + (xy 63.08214 87.736128) + (xy 63.082136 87.736133) + (xy 63.078618 87.740194) + (xy 63.076385 87.745082) + (xy 63.076382 87.745088) + (xy 63.021626 87.864987) + (xy 63.021624 87.864993) + (xy 63.019392 87.869881) + (xy 63.018627 87.875195) + (xy 63.018626 87.875202) + (xy 63.005773 87.964603) + (xy 62.999102 88.011) + (xy 62.999867 88.016321) + (xy 63.018626 88.146797) + (xy 63.018627 88.146802) + (xy 63.019392 88.152119) + (xy 63.021624 88.157008) + (xy 63.021626 88.157012) + (xy 63.076382 88.276911) + (xy 63.076383 88.276913) + (xy 63.078618 88.281806) + (xy 63.171982 88.389553) + (xy 63.176504 88.392459) + (xy 63.176505 88.39246) + (xy 63.285947 88.462795) + (xy 63.291919 88.466633) + (xy 63.428715 88.5068) + (xy 63.565904 88.5068) + (xy 63.571285 88.5068) + (xy 63.708081 88.466633) + (xy 63.828018 88.389553) + (xy 63.921382 88.281806) + (xy 63.980608 88.152119) + (xy 64.000898 88.011) + (xy 63.999821 88.003513) + (xy 64.002902 87.969066) + (xy 64.021079 87.939639) + (xy 64.093724 87.866994) + (xy 64.098537 87.862583) + (xy 64.12836 87.83756) + (xy 64.147818 87.803856) + (xy 64.151333 87.798338) + (xy 64.173651 87.766466) + (xy 64.175354 87.760107) + (xy 64.178134 87.754147) + (xy 64.178144 87.754151) + (xy 64.178901 87.752324) + (xy 64.178891 87.752321) + (xy 64.18114 87.74614) + (xy 64.184432 87.74044) + (xy 64.191189 87.702112) + (xy 64.192605 87.695724) + (xy 64.202677 87.658143) + (xy 64.199285 87.619383) + (xy 64.199 87.61283) + (xy 64.199 82.296) + (xy 73.032102 82.296) + (xy 73.032867 82.30132) + (xy 73.032867 82.301321) + (xy 73.051626 82.431797) + (xy 73.051627 82.431802) + (xy 73.052392 82.437119) + (xy 73.054624 82.442008) + (xy 73.054626 82.442012) + (xy 73.109382 82.561911) + (xy 73.109383 82.561913) + (xy 73.111618 82.566806) + (xy 73.204982 82.674553) + (xy 73.209504 82.677459) + (xy 73.209505 82.67746) + (xy 73.229296 82.690179) + (xy 73.324919 82.751633) + (xy 73.461715 82.7918) + (xy 73.547932 82.7918) + (xy 73.57671 82.797524) + (xy 73.601106 82.813826) + (xy 76.724995 85.937715) + (xy 76.729427 85.942551) + (xy 76.75444 85.97236) + (xy 76.788144 85.991819) + (xy 76.793646 85.995323) + (xy 76.825534 86.017651) + (xy 76.83189 86.019354) + (xy 76.837852 86.022134) + (xy 76.837847 86.022143) + (xy 76.839675 86.0229) + (xy 76.839679 86.022892) + (xy 76.845862 86.025142) + (xy 76.85156 86.028432) + (xy 76.889885 86.035189) + (xy 76.89627 86.036604) + (xy 76.933857 86.046677) + (xy 76.972616 86.043285) + (xy 76.97917 86.043) + (xy 80.767169 86.043) + (xy 80.798408 86.049795) + (xy 80.824001 86.068954) + (xy 80.838016 86.085128) + (xy 80.853982 86.103553) + (xy 80.858504 86.106459) + (xy 80.858505 86.10646) + (xy 80.969397 86.177727) + (xy 80.973919 86.180633) + (xy 81.110715 86.2208) + (xy 81.247904 86.2208) + (xy 81.253285 86.2208) + (xy 81.390081 86.180633) + (xy 81.510018 86.103553) + (xy 81.539999 86.068954) + (xy 81.565592 86.049795) + (xy 81.596831 86.043) + (xy 84.72083 86.043) + (xy 84.727383 86.043285) + (xy 84.766143 86.046677) + (xy 84.803728 86.036605) + (xy 84.810121 86.035187) + (xy 84.84844 86.028432) + (xy 84.85414 86.02514) + (xy 84.860321 86.022891) + (xy 84.860324 86.022901) + (xy 84.862151 86.022145) + (xy 84.862147 86.022136) + (xy 84.86811 86.019354) + (xy 84.874466 86.017652) + (xy 84.90636 85.995319) + (xy 84.911853 85.99182) + (xy 84.94556 85.97236) + (xy 84.970583 85.942537) + (xy 84.974994 85.937724) + (xy 86.855724 84.056994) + (xy 86.860537 84.052583) + (xy 86.89036 84.02756) + (xy 86.90982 83.993853) + (xy 86.913319 83.98836) + (xy 86.935652 83.956466) + (xy 86.937354 83.95011) + (xy 86.940136 83.944147) + (xy 86.940145 83.944151) + (xy 86.940901 83.942324) + (xy 86.940891 83.942321) + (xy 86.94314 83.93614) + (xy 86.946432 83.93044) + (xy 86.953187 83.892121) + (xy 86.954605 83.885728) + (xy 86.964677 83.848143) + (xy 86.961286 83.809379) + (xy 86.961 83.802826) + (xy 86.961 82.677) + (xy 87.628963 82.677) + (xy 87.629325 82.680675) + (xy 87.629325 82.680676) + (xy 87.647971 82.87) + (xy 87.649062 82.881072) + (xy 87.650132 82.884601) + (xy 87.650133 82.884603) + (xy 87.707516 83.073769) + (xy 87.707518 83.073774) + (xy 87.708588 83.077301) + (xy 87.805252 83.258147) + (xy 87.807596 83.261003) + (xy 87.807598 83.261006) + (xy 87.920651 83.398761) + (xy 87.93534 83.41666) + (xy 87.954627 83.432488) + (xy 88.044464 83.506216) + (xy 88.093853 83.546748) + (xy 88.274699 83.643412) + (xy 88.470928 83.702938) + (xy 88.657797 83.721342) + (xy 88.666227 83.722173) + (xy 88.675 83.723037) + (xy 88.683773 83.722173) + (xy 88.690539 83.721506) + (xy 88.879072 83.702938) + (xy 89.075301 83.643412) + (xy 89.256147 83.546748) + (xy 89.316649 83.497095) + (xy 90.577741 83.497095) + (xy 90.582477 83.503939) + (xy 90.631278 83.543988) + (xy 90.637386 83.54807) + (xy 90.811634 83.641207) + (xy 90.818426 83.64402) + (xy 91.007491 83.701372) + (xy 91.014701 83.702807) + (xy 91.211325 83.722173) + (xy 91.218675 83.722173) + (xy 91.415298 83.702807) + (xy 91.422508 83.701372) + (xy 91.611573 83.64402) + (xy 91.618365 83.641207) + (xy 91.792613 83.54807) + (xy 91.798721 83.543988) + (xy 91.84752 83.503939) + (xy 91.852257 83.497096) + (xy 91.848211 83.489816) + (xy 91.222 82.863605) + (xy 91.215 82.859563) + (xy 91.207999 82.863605) + (xy 90.581787 83.489816) + (xy 90.577741 83.497095) + (xy 89.316649 83.497095) + (xy 89.41466 83.41666) + (xy 89.544748 83.258147) + (xy 89.641412 83.077301) + (xy 89.700938 82.881072) + (xy 89.720675 82.680675) + (xy 90.169827 82.680675) + (xy 90.189192 82.877298) + (xy 90.190627 82.884508) + (xy 90.247979 83.073573) + (xy 90.250792 83.080365) + (xy 90.343929 83.254613) + (xy 90.348011 83.260722) + (xy 90.388059 83.309521) + (xy 90.394903 83.314257) + (xy 90.402182 83.310211) + (xy 91.028394 82.684) + (xy 91.032436 82.677) + (xy 91.397563 82.677) + (xy 91.401605 82.684) + (xy 92.027816 83.310211) + (xy 92.035096 83.314257) + (xy 92.041939 83.30952) + (xy 92.081988 83.260721) + (xy 92.08607 83.254613) + (xy 92.179207 83.080365) + (xy 92.18202 83.073573) + (xy 92.239372 82.884508) + (xy 92.240807 82.877298) + (xy 92.240836 82.877) + (xy 92.768389 82.877) + (xy 92.768751 82.880676) + (xy 92.786099 83.056821) + (xy 92.786789 83.063821) + (xy 92.841283 83.243462) + (xy 92.843019 83.246711) + (xy 92.843023 83.246719) + (xy 92.908255 83.368757) + (xy 92.929776 83.40902) + (xy 93.048867 83.554133) + (xy 93.19398 83.673224) + (xy 93.246641 83.701372) + (xy 93.35628 83.759976) + (xy 93.356283 83.759977) + (xy 93.359538 83.761717) + (xy 93.539179 83.816211) + (xy 93.726 83.834611) + (xy 93.912821 83.816211) + (xy 94.092462 83.761717) + (xy 94.25802 83.673224) + (xy 94.403133 83.554133) + (xy 94.522224 83.40902) + (xy 94.610717 83.243462) + (xy 94.665211 83.063821) + (xy 94.683611 82.877) + (xy 94.665211 82.690179) + (xy 94.610717 82.510538) + (xy 94.608862 82.507068) + (xy 94.523965 82.348238) + (xy 94.522224 82.34498) + (xy 94.403133 82.199867) + (xy 94.396471 82.1944) + (xy 94.260876 82.08312) + (xy 94.25802 82.080776) + (xy 94.241665 82.072034) + (xy 94.095719 81.994023) + (xy 94.095711 81.994019) + (xy 94.092462 81.992283) + (xy 94.002641 81.965035) + (xy 93.916352 81.93886) + (xy 93.91635 81.938859) + (xy 93.912821 81.937789) + (xy 93.90915 81.937427) + (xy 93.909148 81.937427) + (xy 93.729676 81.919751) + (xy 93.726 81.919389) + (xy 93.722324 81.919751) + (xy 93.542851 81.937427) + (xy 93.542847 81.937427) + (xy 93.539179 81.937789) + (xy 93.535651 81.938859) + (xy 93.535647 81.93886) + (xy 93.363068 81.991212) + (xy 93.363066 81.991212) + (xy 93.359538 81.992283) + (xy 93.356292 81.994018) + (xy 93.35628 81.994023) + (xy 93.197238 82.079034) + (xy 93.197233 82.079036) + (xy 93.19398 82.080776) + (xy 93.191127 82.083117) + (xy 93.191123 82.08312) + (xy 93.051722 82.197523) + (xy 93.051716 82.197528) + (xy 93.048867 82.199867) + (xy 93.046528 82.202716) + (xy 93.046523 82.202722) + (xy 92.93212 82.342123) + (xy 92.932117 82.342127) + (xy 92.929776 82.34498) + (xy 92.928036 82.348233) + (xy 92.928034 82.348238) + (xy 92.843023 82.50728) + (xy 92.843018 82.507292) + (xy 92.841283 82.510538) + (xy 92.840212 82.514066) + (xy 92.840212 82.514068) + (xy 92.788812 82.683511) + (xy 92.786789 82.690179) + (xy 92.786427 82.693847) + (xy 92.786427 82.693851) + (xy 92.774611 82.813826) + (xy 92.768389 82.877) + (xy 92.240836 82.877) + (xy 92.260173 82.680675) + (xy 92.260173 82.673325) + (xy 92.240807 82.476701) + (xy 92.239372 82.469491) + (xy 92.18202 82.280426) + (xy 92.179207 82.273634) + (xy 92.08607 82.099386) + (xy 92.081988 82.093278) + (xy 92.041939 82.044477) + (xy 92.035095 82.039741) + (xy 92.027816 82.043787) + (xy 91.401605 82.669999) + (xy 91.397563 82.677) + (xy 91.032436 82.677) + (xy 91.028394 82.669999) + (xy 90.402182 82.043787) + (xy 90.394903 82.039742) + (xy 90.388058 82.044479) + (xy 90.348008 82.093281) + (xy 90.343931 82.099383) + (xy 90.250792 82.273634) + (xy 90.247979 82.280426) + (xy 90.190627 82.469491) + (xy 90.189192 82.476701) + (xy 90.169827 82.673325) + (xy 90.169827 82.680675) + (xy 89.720675 82.680675) + (xy 89.721037 82.677) + (xy 89.720347 82.669999) + (xy 89.717504 82.641132) + (xy 89.700938 82.472928) + (xy 89.641412 82.276699) + (xy 89.544748 82.095853) + (xy 89.41466 81.93734) + (xy 89.406678 81.930789) + (xy 89.316647 81.856903) + (xy 90.577742 81.856903) + (xy 90.581787 81.864182) + (xy 91.207999 82.490394) + (xy 91.215 82.494436) + (xy 91.222 82.490394) + (xy 91.848211 81.864182) + (xy 91.852257 81.856903) + (xy 91.847521 81.850059) + (xy 91.798722 81.810011) + (xy 91.792613 81.805929) + (xy 91.618365 81.712792) + (xy 91.611573 81.709979) + (xy 91.422508 81.652627) + (xy 91.415298 81.651192) + (xy 91.218675 81.631827) + (xy 91.211325 81.631827) + (xy 91.014701 81.651192) + (xy 91.007491 81.652627) + (xy 90.818426 81.709979) + (xy 90.811634 81.712792) + (xy 90.637383 81.805931) + (xy 90.631281 81.810008) + (xy 90.582479 81.850058) + (xy 90.577742 81.856903) + (xy 89.316647 81.856903) + (xy 89.259006 81.809598) + (xy 89.259003 81.809596) + (xy 89.256147 81.807252) + (xy 89.075301 81.710588) + (xy 89.071774 81.709518) + (xy 89.071769 81.709516) + (xy 88.882603 81.652133) + (xy 88.882601 81.652132) + (xy 88.879072 81.651062) + (xy 88.875401 81.6507) + (xy 88.875399 81.6507) + (xy 88.678676 81.631325) + (xy 88.675 81.630963) + (xy 88.671324 81.631325) + (xy 88.4746 81.6507) + (xy 88.474596 81.6507) + (xy 88.470928 81.651062) + (xy 88.4674 81.652132) + (xy 88.467396 81.652133) + (xy 88.27823 81.709516) + (xy 88.278222 81.709519) + (xy 88.274699 81.710588) + (xy 88.271447 81.712325) + (xy 88.271445 81.712327) + (xy 88.097111 81.80551) + (xy 88.097106 81.805512) + (xy 88.093853 81.807252) + (xy 88.091 81.809593) + (xy 88.090993 81.809598) + (xy 87.938195 81.934996) + (xy 87.938189 81.935001) + (xy 87.93534 81.93734) + (xy 87.933001 81.940189) + (xy 87.932996 81.940195) + (xy 87.807598 82.092993) + (xy 87.807593 82.093) + (xy 87.805252 82.095853) + (xy 87.803512 82.099106) + (xy 87.80351 82.099111) + (xy 87.751871 82.195722) + (xy 87.708588 82.276699) + (xy 87.707519 82.280222) + (xy 87.707516 82.28023) + (xy 87.65844 82.442012) + (xy 87.649062 82.472928) + (xy 87.6487 82.476596) + (xy 87.6487 82.4766) + (xy 87.629604 82.670488) + (xy 87.628963 82.677) + (xy 86.961 82.677) + (xy 86.961 80.137) + (xy 87.628963 80.137) + (xy 87.629325 80.140675) + (xy 87.629325 80.140676) + (xy 87.647341 80.323605) + (xy 87.649062 80.341072) + (xy 87.650132 80.344601) + (xy 87.650133 80.344603) + (xy 87.707516 80.533769) + (xy 87.707518 80.533774) + (xy 87.708588 80.537301) + (xy 87.805252 80.718147) + (xy 87.807596 80.721003) + (xy 87.807598 80.721006) + (xy 87.8513 80.774257) + (xy 87.93534 80.87666) + (xy 87.938195 80.879003) + (xy 88.03335 80.957095) + (xy 88.093853 81.006748) + (xy 88.274699 81.103412) + (xy 88.470928 81.162938) + (xy 88.657797 81.181342) + (xy 88.666227 81.182173) + (xy 88.675 81.183037) + (xy 88.683773 81.182173) + (xy 88.690539 81.181506) + (xy 88.879072 81.162938) + (xy 89.075301 81.103412) + (xy 89.256147 81.006748) + (xy 89.316649 80.957095) + (xy 90.577741 80.957095) + (xy 90.582477 80.963939) + (xy 90.631278 81.003988) + (xy 90.637386 81.00807) + (xy 90.811634 81.101207) + (xy 90.818426 81.10402) + (xy 91.007491 81.161372) + (xy 91.014701 81.162807) + (xy 91.211325 81.182173) + (xy 91.218675 81.182173) + (xy 91.415298 81.162807) + (xy 91.422508 81.161372) + (xy 91.510866 81.134569) + (xy 93.151268 81.134569) + (xy 93.156004 81.141412) + (xy 93.191401 81.170461) + (xy 93.197521 81.17455) + (xy 93.356467 81.259508) + (xy 93.363268 81.262326) + (xy 93.535742 81.314645) + (xy 93.542952 81.31608) + (xy 93.722325 81.333747) + (xy 93.729675 81.333747) + (xy 93.909047 81.31608) + (xy 93.916257 81.314645) + (xy 94.088731 81.262326) + (xy 94.095532 81.259508) + (xy 94.25448 81.174549) + (xy 94.260597 81.170462) + (xy 94.295993 81.141412) + (xy 94.300729 81.134569) + (xy 95.651268 81.134569) + (xy 95.656004 81.141412) + (xy 95.691401 81.170461) + (xy 95.697521 81.17455) + (xy 95.856467 81.259508) + (xy 95.863268 81.262326) + (xy 96.035742 81.314645) + (xy 96.042952 81.31608) + (xy 96.222325 81.333747) + (xy 96.229675 81.333747) + (xy 96.409047 81.31608) + (xy 96.416257 81.314645) + (xy 96.588731 81.262326) + (xy 96.595532 81.259508) + (xy 96.75448 81.174549) + (xy 96.760597 81.170462) + (xy 96.795993 81.141412) + (xy 96.80073 81.134568) + (xy 96.79684 81.127569) + (xy 98.231268 81.127569) + (xy 98.236004 81.134412) + (xy 98.271401 81.163461) + (xy 98.277521 81.16755) + (xy 98.436467 81.252508) + (xy 98.443268 81.255326) + (xy 98.615742 81.307645) + (xy 98.622952 81.30908) + (xy 98.802325 81.326747) + (xy 98.809675 81.326747) + (xy 98.989047 81.30908) + (xy 98.996257 81.307645) + (xy 99.168731 81.255326) + (xy 99.175532 81.252508) + (xy 99.33448 81.167549) + (xy 99.340597 81.163462) + (xy 99.375993 81.134412) + (xy 99.380729 81.127569) + (xy 100.731268 81.127569) + (xy 100.736004 81.134412) + (xy 100.771401 81.163461) + (xy 100.777521 81.16755) + (xy 100.936467 81.252508) + (xy 100.943268 81.255326) + (xy 101.115742 81.307645) + (xy 101.122952 81.30908) + (xy 101.302325 81.326747) + (xy 101.309675 81.326747) + (xy 101.489047 81.30908) + (xy 101.496257 81.307645) + (xy 101.668731 81.255326) + (xy 101.675532 81.252508) + (xy 101.83448 81.167549) + (xy 101.840597 81.163462) + (xy 101.875993 81.134412) + (xy 101.88073 81.127568) + (xy 101.876685 81.12029) + (xy 101.313 80.556605) + (xy 101.306 80.552563) + (xy 101.298999 80.556605) + (xy 100.735314 81.120289) + (xy 100.731268 81.127569) + (xy 99.380729 81.127569) + (xy 99.38073 81.127568) + (xy 99.376685 81.12029) + (xy 98.813 80.556605) + (xy 98.806 80.552563) + (xy 98.798999 80.556605) + (xy 98.235314 81.120289) + (xy 98.231268 81.127569) + (xy 96.79684 81.127569) + (xy 96.796685 81.12729) + (xy 96.233 80.563605) + (xy 96.226 80.559563) + (xy 96.218999 80.563605) + (xy 95.655314 81.127289) + (xy 95.651268 81.134569) + (xy 94.300729 81.134569) + (xy 94.30073 81.134568) + (xy 94.296685 81.12729) + (xy 93.733 80.563605) + (xy 93.726 80.559563) + (xy 93.718999 80.563605) + (xy 93.155314 81.127289) + (xy 93.151268 81.134569) + (xy 91.510866 81.134569) + (xy 91.611573 81.10402) + (xy 91.618365 81.101207) + (xy 91.792613 81.00807) + (xy 91.798721 81.003988) + (xy 91.84752 80.963939) + (xy 91.852257 80.957096) + (xy 91.848211 80.949816) + (xy 91.222 80.323605) + (xy 91.215 80.319563) + (xy 91.207999 80.323605) + (xy 90.581787 80.949816) + (xy 90.577741 80.957095) + (xy 89.316649 80.957095) + (xy 89.41466 80.87666) + (xy 89.544748 80.718147) + (xy 89.641412 80.537301) + (xy 89.700938 80.341072) + (xy 89.720675 80.140675) + (xy 90.169827 80.140675) + (xy 90.189192 80.337298) + (xy 90.190627 80.344508) + (xy 90.247979 80.533573) + (xy 90.250792 80.540365) + (xy 90.343929 80.714613) + (xy 90.348011 80.720722) + (xy 90.388059 80.769521) + (xy 90.394903 80.774257) + (xy 90.402182 80.770211) + (xy 91.028394 80.144) + (xy 91.032436 80.137) + (xy 91.397563 80.137) + (xy 91.401605 80.144) + (xy 92.027816 80.770211) + (xy 92.035096 80.774257) + (xy 92.041939 80.76952) + (xy 92.081988 80.720721) + (xy 92.08607 80.714613) + (xy 92.179207 80.540365) + (xy 92.18202 80.533573) + (xy 92.228401 80.380675) + (xy 92.769253 80.380675) + (xy 92.786919 80.560047) + (xy 92.788354 80.567257) + (xy 92.840673 80.739731) + (xy 92.843491 80.746532) + (xy 92.928449 80.905478) + (xy 92.932538 80.911598) + (xy 92.961586 80.946994) + (xy 92.96843 80.95173) + (xy 92.975709 80.947684) + (xy 93.539394 80.384) + (xy 93.543435 80.377) + (xy 93.908563 80.377) + (xy 93.912605 80.384) + (xy 94.47629 80.947685) + (xy 94.483568 80.95173) + (xy 94.490412 80.946993) + (xy 94.519462 80.911597) + (xy 94.523549 80.90548) + (xy 94.608508 80.746532) + (xy 94.611326 80.739731) + (xy 94.663645 80.567257) + (xy 94.66508 80.560047) + (xy 94.682747 80.380675) + (xy 95.269253 80.380675) + (xy 95.286919 80.560047) + (xy 95.288354 80.567257) + (xy 95.340673 80.739731) + (xy 95.343491 80.746532) + (xy 95.428449 80.905478) + (xy 95.432538 80.911598) + (xy 95.461586 80.946994) + (xy 95.46843 80.95173) + (xy 95.475709 80.947684) + (xy 96.039394 80.384) + (xy 96.043435 80.377) + (xy 96.408563 80.377) + (xy 96.412605 80.384) + (xy 96.97629 80.947685) + (xy 96.983568 80.95173) + (xy 96.990412 80.946993) + (xy 97.019462 80.911597) + (xy 97.023549 80.90548) + (xy 97.108508 80.746532) + (xy 97.111326 80.739731) + (xy 97.163645 80.567257) + (xy 97.16508 80.560047) + (xy 97.182747 80.380675) + (xy 97.182747 80.373675) + (xy 97.849253 80.373675) + (xy 97.866919 80.553047) + (xy 97.868354 80.560257) + (xy 97.920673 80.732731) + (xy 97.923491 80.739532) + (xy 98.008449 80.898478) + (xy 98.012538 80.904598) + (xy 98.041586 80.939994) + (xy 98.04843 80.94473) + (xy 98.055709 80.940684) + (xy 98.619394 80.377) + (xy 98.623435 80.37) + (xy 98.988563 80.37) + (xy 98.992605 80.377) + (xy 99.55629 80.940685) + (xy 99.563568 80.94473) + (xy 99.570412 80.939993) + (xy 99.599462 80.904597) + (xy 99.603549 80.89848) + (xy 99.688508 80.739532) + (xy 99.691326 80.732731) + (xy 99.743645 80.560257) + (xy 99.74508 80.553047) + (xy 99.762747 80.373675) + (xy 100.349253 80.373675) + (xy 100.366919 80.553047) + (xy 100.368354 80.560257) + (xy 100.420673 80.732731) + (xy 100.423491 80.739532) + (xy 100.508449 80.898478) + (xy 100.512538 80.904598) + (xy 100.541586 80.939994) + (xy 100.54843 80.94473) + (xy 100.555709 80.940684) + (xy 101.119394 80.377) + (xy 101.123435 80.37) + (xy 101.488563 80.37) + (xy 101.492605 80.377) + (xy 102.05629 80.940685) + (xy 102.063568 80.94473) + (xy 102.070412 80.939993) + (xy 102.099462 80.904597) + (xy 102.103549 80.89848) + (xy 102.188508 80.739532) + (xy 102.191326 80.732731) + (xy 102.243645 80.560257) + (xy 102.24508 80.553047) + (xy 102.262747 80.373675) + (xy 102.262747 80.366325) + (xy 102.24508 80.186952) + (xy 102.243645 80.179742) + (xy 102.191326 80.007268) + (xy 102.188508 80.000467) + (xy 102.10355 79.841521) + (xy 102.099461 79.835401) + (xy 102.070412 79.800004) + (xy 102.063569 79.795268) + (xy 102.056289 79.799314) + (xy 101.492605 80.362999) + (xy 101.488563 80.37) + (xy 101.123435 80.37) + (xy 101.123436 80.369999) + (xy 101.119394 80.362999) + (xy 100.555709 79.799314) + (xy 100.54843 79.795269) + (xy 100.541585 79.800006) + (xy 100.512538 79.8354) + (xy 100.508448 79.841523) + (xy 100.423491 80.000467) + (xy 100.420673 80.007268) + (xy 100.368354 80.179742) + (xy 100.366919 80.186952) + (xy 100.349253 80.366325) + (xy 100.349253 80.373675) + (xy 99.762747 80.373675) + (xy 99.762747 80.366325) + (xy 99.74508 80.186952) + (xy 99.743645 80.179742) + (xy 99.691326 80.007268) + (xy 99.688508 80.000467) + (xy 99.60355 79.841521) + (xy 99.599461 79.835401) + (xy 99.570412 79.800004) + (xy 99.563569 79.795268) + (xy 99.556289 79.799314) + (xy 98.992605 80.362999) + (xy 98.988563 80.37) + (xy 98.623435 80.37) + (xy 98.623436 80.369999) + (xy 98.619394 80.362999) + (xy 98.055709 79.799314) + (xy 98.04843 79.795269) + (xy 98.041585 79.800006) + (xy 98.012538 79.8354) + (xy 98.008448 79.841523) + (xy 97.923491 80.000467) + (xy 97.920673 80.007268) + (xy 97.868354 80.179742) + (xy 97.866919 80.186952) + (xy 97.849253 80.366325) + (xy 97.849253 80.373675) + (xy 97.182747 80.373675) + (xy 97.182747 80.373325) + (xy 97.16508 80.193952) + (xy 97.163645 80.186742) + (xy 97.111326 80.014268) + (xy 97.108508 80.007467) + (xy 97.02355 79.848521) + (xy 97.019461 79.842401) + (xy 96.990412 79.807004) + (xy 96.983569 79.802268) + (xy 96.976289 79.806314) + (xy 96.412605 80.369999) + (xy 96.408563 80.377) + (xy 96.043435 80.377) + (xy 96.043436 80.376999) + (xy 96.039394 80.369999) + (xy 95.475709 79.806314) + (xy 95.46843 79.802269) + (xy 95.461585 79.807006) + (xy 95.432538 79.8424) + (xy 95.428448 79.848523) + (xy 95.343491 80.007467) + (xy 95.340673 80.014268) + (xy 95.288354 80.186742) + (xy 95.286919 80.193952) + (xy 95.269253 80.373325) + (xy 95.269253 80.380675) + (xy 94.682747 80.380675) + (xy 94.682747 80.373325) + (xy 94.66508 80.193952) + (xy 94.663645 80.186742) + (xy 94.611326 80.014268) + (xy 94.608508 80.007467) + (xy 94.52355 79.848521) + (xy 94.519461 79.842401) + (xy 94.490412 79.807004) + (xy 94.483569 79.802268) + (xy 94.476289 79.806314) + (xy 93.912605 80.369999) + (xy 93.908563 80.377) + (xy 93.543435 80.377) + (xy 93.543436 80.376999) + (xy 93.539394 80.369999) + (xy 92.975709 79.806314) + (xy 92.96843 79.802269) + (xy 92.961585 79.807006) + (xy 92.932538 79.8424) + (xy 92.928448 79.848523) + (xy 92.843491 80.007467) + (xy 92.840673 80.014268) + (xy 92.788354 80.186742) + (xy 92.786919 80.193952) + (xy 92.769253 80.373325) + (xy 92.769253 80.380675) + (xy 92.228401 80.380675) + (xy 92.239372 80.344508) + (xy 92.240807 80.337298) + (xy 92.260173 80.140675) + (xy 92.260173 80.133325) + (xy 92.240807 79.936701) + (xy 92.239372 79.929491) + (xy 92.18202 79.740426) + (xy 92.179207 79.733634) + (xy 92.118164 79.61943) + (xy 93.151269 79.61943) + (xy 93.155314 79.626709) + (xy 93.718999 80.190394) + (xy 93.726 80.194436) + (xy 93.733 80.190394) + (xy 94.296684 79.626709) + (xy 94.30073 79.61943) + (xy 95.651269 79.61943) + (xy 95.655314 79.626709) + (xy 96.218999 80.190394) + (xy 96.226 80.194436) + (xy 96.233 80.190394) + (xy 96.796684 79.626709) + (xy 96.80073 79.61943) + (xy 96.795994 79.612586) + (xy 96.795804 79.61243) + (xy 98.231269 79.61243) + (xy 98.235314 79.619709) + (xy 98.798999 80.183394) + (xy 98.806 80.187436) + (xy 98.813 80.183394) + (xy 99.376684 79.619709) + (xy 99.38073 79.61243) + (xy 100.731269 79.61243) + (xy 100.735314 79.619709) + (xy 101.298999 80.183394) + (xy 101.306 80.187436) + (xy 101.313 80.183394) + (xy 101.876684 79.619709) + (xy 101.88073 79.61243) + (xy 101.875994 79.605586) + (xy 101.840598 79.576538) + (xy 101.834478 79.572449) + (xy 101.675532 79.487491) + (xy 101.668731 79.484673) + (xy 101.496257 79.432354) + (xy 101.489047 79.430919) + (xy 101.309675 79.413253) + (xy 101.302325 79.413253) + (xy 101.122952 79.430919) + (xy 101.115742 79.432354) + (xy 100.943268 79.484673) + (xy 100.936467 79.487491) + (xy 100.777523 79.572448) + (xy 100.7714 79.576538) + (xy 100.736006 79.605585) + (xy 100.731269 79.61243) + (xy 99.38073 79.61243) + (xy 99.375994 79.605586) + (xy 99.340598 79.576538) + (xy 99.334478 79.572449) + (xy 99.175532 79.487491) + (xy 99.168731 79.484673) + (xy 98.996257 79.432354) + (xy 98.989047 79.430919) + (xy 98.809675 79.413253) + (xy 98.802325 79.413253) + (xy 98.622952 79.430919) + (xy 98.615742 79.432354) + (xy 98.443268 79.484673) + (xy 98.436467 79.487491) + (xy 98.277523 79.572448) + (xy 98.2714 79.576538) + (xy 98.236006 79.605585) + (xy 98.231269 79.61243) + (xy 96.795804 79.61243) + (xy 96.760598 79.583538) + (xy 96.754478 79.579449) + (xy 96.595532 79.494491) + (xy 96.588731 79.491673) + (xy 96.416257 79.439354) + (xy 96.409047 79.437919) + (xy 96.229675 79.420253) + (xy 96.222325 79.420253) + (xy 96.042952 79.437919) + (xy 96.035742 79.439354) + (xy 95.863268 79.491673) + (xy 95.856467 79.494491) + (xy 95.697523 79.579448) + (xy 95.6914 79.583538) + (xy 95.656006 79.612585) + (xy 95.651269 79.61943) + (xy 94.30073 79.61943) + (xy 94.295994 79.612586) + (xy 94.260598 79.583538) + (xy 94.254478 79.579449) + (xy 94.095532 79.494491) + (xy 94.088731 79.491673) + (xy 93.916257 79.439354) + (xy 93.909047 79.437919) + (xy 93.729675 79.420253) + (xy 93.722325 79.420253) + (xy 93.542952 79.437919) + (xy 93.535742 79.439354) + (xy 93.363268 79.491673) + (xy 93.356467 79.494491) + (xy 93.197523 79.579448) + (xy 93.1914 79.583538) + (xy 93.156006 79.612585) + (xy 93.151269 79.61943) + (xy 92.118164 79.61943) + (xy 92.08607 79.559386) + (xy 92.081988 79.553278) + (xy 92.041939 79.504477) + (xy 92.035095 79.499741) + (xy 92.027816 79.503787) + (xy 91.401605 80.129999) + (xy 91.397563 80.137) + (xy 91.032436 80.137) + (xy 91.028394 80.129999) + (xy 90.402182 79.503787) + (xy 90.394903 79.499742) + (xy 90.388058 79.504479) + (xy 90.348008 79.553281) + (xy 90.343931 79.559383) + (xy 90.250792 79.733634) + (xy 90.247979 79.740426) + (xy 90.190627 79.929491) + (xy 90.189192 79.936701) + (xy 90.169827 80.133325) + (xy 90.169827 80.140675) + (xy 89.720675 80.140675) + (xy 89.721037 80.137) + (xy 89.720347 80.129999) + (xy 89.715557 80.081361) + (xy 89.700938 79.932928) + (xy 89.641412 79.736699) + (xy 89.544748 79.555853) + (xy 89.539226 79.549125) + (xy 89.417003 79.400195) + (xy 89.41466 79.39734) + (xy 89.403873 79.388487) + (xy 89.316647 79.316903) + (xy 90.577742 79.316903) + (xy 90.581787 79.324182) + (xy 91.207999 79.950394) + (xy 91.215 79.954436) + (xy 91.222 79.950394) + (xy 91.848211 79.324182) + (xy 91.852257 79.316903) + (xy 91.847521 79.310059) + (xy 91.798722 79.270011) + (xy 91.792613 79.265929) + (xy 91.618365 79.172792) + (xy 91.611573 79.169979) + (xy 91.422508 79.112627) + (xy 91.415298 79.111192) + (xy 91.218675 79.091827) + (xy 91.211325 79.091827) + (xy 91.014701 79.111192) + (xy 91.007491 79.112627) + (xy 90.818426 79.169979) + (xy 90.811634 79.172792) + (xy 90.637383 79.265931) + (xy 90.631281 79.270008) + (xy 90.582479 79.310058) + (xy 90.577742 79.316903) + (xy 89.316647 79.316903) + (xy 89.259006 79.269598) + (xy 89.259003 79.269596) + (xy 89.256147 79.267252) + (xy 89.075301 79.170588) + (xy 89.071774 79.169518) + (xy 89.071769 79.169516) + (xy 88.882603 79.112133) + (xy 88.882601 79.112132) + (xy 88.879072 79.111062) + (xy 88.875401 79.1107) + (xy 88.875399 79.1107) + (xy 88.678676 79.091325) + (xy 88.675 79.090963) + (xy 88.671324 79.091325) + (xy 88.4746 79.1107) + (xy 88.474596 79.1107) + (xy 88.470928 79.111062) + (xy 88.4674 79.112132) + (xy 88.467396 79.112133) + (xy 88.27823 79.169516) + (xy 88.278222 79.169519) + (xy 88.274699 79.170588) + (xy 88.271447 79.172325) + (xy 88.271445 79.172327) + (xy 88.097111 79.26551) + (xy 88.097106 79.265512) + (xy 88.093853 79.267252) + (xy 88.091 79.269593) + (xy 88.090993 79.269598) + (xy 87.938195 79.394996) + (xy 87.938189 79.395001) + (xy 87.93534 79.39734) + (xy 87.933001 79.400189) + (xy 87.932996 79.400195) + (xy 87.807598 79.552993) + (xy 87.807593 79.553) + (xy 87.805252 79.555853) + (xy 87.803512 79.559106) + (xy 87.80351 79.559111) + (xy 87.71915 79.716939) + (xy 87.708588 79.736699) + (xy 87.707519 79.740222) + (xy 87.707516 79.74023) + (xy 87.653327 79.918868) + (xy 87.649062 79.932928) + (xy 87.6487 79.936596) + (xy 87.6487 79.9366) + (xy 87.629604 80.130488) + (xy 87.628963 80.137) + (xy 86.961 80.137) + (xy 86.961 78.630174) + (xy 86.961286 78.623621) + (xy 86.963685 78.596194) + (xy 86.964677 78.584857) + (xy 86.954606 78.547275) + (xy 86.953187 78.540875) + (xy 86.952501 78.536984) + (xy 86.946432 78.50256) + (xy 86.943142 78.496861) + (xy 86.940893 78.490682) + (xy 86.940902 78.490678) + (xy 86.940144 78.488848) + (xy 86.940136 78.488852) + (xy 86.937353 78.482886) + (xy 86.935652 78.476534) + (xy 86.926867 78.463988) + (xy 86.913334 78.44466) + (xy 86.909809 78.439127) + (xy 86.907511 78.435147) + (xy 86.89036 78.40544) + (xy 86.884986 78.400931) + (xy 86.860551 78.380427) + (xy 86.855715 78.375995) + (xy 86.729838 78.250118) + (xy 87.634 78.250118) + (xy 87.636794 78.279913) + (xy 87.638302 78.284223) + (xy 87.638303 78.284227) + (xy 87.67884 78.400076) + (xy 87.678841 78.400078) + (xy 87.680701 78.405393) + (xy 87.684043 78.409921) + (xy 87.684044 78.409923) + (xy 87.752414 78.50256) + (xy 87.759644 78.512356) + (xy 87.866607 78.591299) + (xy 87.992087 78.635206) + (xy 88.021882 78.638) + (xy 89.326364 78.638) + (xy 89.328118 78.638) + (xy 89.357913 78.635206) + (xy 89.483393 78.591299) + (xy 89.590356 78.512356) + (xy 89.660662 78.417095) + (xy 90.577741 78.417095) + (xy 90.582477 78.423939) + (xy 90.631278 78.463988) + (xy 90.637386 78.46807) + (xy 90.811634 78.561207) + (xy 90.818426 78.56402) + (xy 91.007491 78.621372) + (xy 91.014701 78.622807) + (xy 91.211325 78.642173) + (xy 91.218675 78.642173) + (xy 91.415298 78.622807) + (xy 91.422508 78.621372) + (xy 91.611573 78.56402) + (xy 91.618365 78.561207) + (xy 91.792613 78.46807) + (xy 91.798721 78.463988) + (xy 91.84752 78.423939) + (xy 91.852257 78.417096) + (xy 91.848211 78.409816) + (xy 91.222 77.783605) + (xy 91.215 77.779563) + (xy 91.207999 77.783605) + (xy 90.581787 78.409816) + (xy 90.577741 78.417095) + (xy 89.660662 78.417095) + (xy 89.669299 78.405393) + (xy 89.713206 78.279913) + (xy 89.716 78.250118) + (xy 89.716 77.600675) + (xy 90.169827 77.600675) + (xy 90.189192 77.797298) + (xy 90.190627 77.804508) + (xy 90.247979 77.993573) + (xy 90.250792 78.000365) + (xy 90.343929 78.174613) + (xy 90.348011 78.180722) + (xy 90.388059 78.229521) + (xy 90.394903 78.234257) + (xy 90.402182 78.230211) + (xy 91.028394 77.604) + (xy 91.032436 77.597) + (xy 91.397563 77.597) + (xy 91.401605 77.604) + (xy 92.027816 78.230211) + (xy 92.035096 78.234257) + (xy 92.041939 78.22952) + (xy 92.081988 78.180721) + (xy 92.08607 78.174613) + (xy 92.179207 78.000365) + (xy 92.18202 77.993573) + (xy 92.217382 77.877) + (xy 92.768389 77.877) + (xy 92.768751 77.880676) + (xy 92.786099 78.056821) + (xy 92.786789 78.063821) + (xy 92.787859 78.06735) + (xy 92.78786 78.067352) + (xy 92.795667 78.093088) + (xy 92.841283 78.243462) + (xy 92.843019 78.246711) + (xy 92.843023 78.246719) + (xy 92.916616 78.3844) + (xy 92.929776 78.40902) + (xy 92.949975 78.433633) + (xy 93.014581 78.512356) + (xy 93.048867 78.554133) + (xy 93.19398 78.673224) + (xy 93.250424 78.703394) + (xy 93.35628 78.759976) + (xy 93.356283 78.759977) + (xy 93.359538 78.761717) + (xy 93.539179 78.816211) + (xy 93.726 78.834611) + (xy 93.912821 78.816211) + (xy 94.092462 78.761717) + (xy 94.25802 78.673224) + (xy 94.403133 78.554133) + (xy 94.522224 78.40902) + (xy 94.610717 78.243462) + (xy 94.665211 78.063821) + (xy 94.683611 77.877) + (xy 95.268389 77.877) + (xy 95.268751 77.880676) + (xy 95.286099 78.056821) + (xy 95.286789 78.063821) + (xy 95.287859 78.06735) + (xy 95.28786 78.067352) + (xy 95.295667 78.093088) + (xy 95.341283 78.243462) + (xy 95.343019 78.246711) + (xy 95.343023 78.246719) + (xy 95.416616 78.3844) + (xy 95.429776 78.40902) + (xy 95.449975 78.433633) + (xy 95.514581 78.512356) + (xy 95.548867 78.554133) + (xy 95.69398 78.673224) + (xy 95.750424 78.703394) + (xy 95.85628 78.759976) + (xy 95.856283 78.759977) + (xy 95.859538 78.761717) + (xy 96.039179 78.816211) + (xy 96.226 78.834611) + (xy 96.412821 78.816211) + (xy 96.592462 78.761717) + (xy 96.75802 78.673224) + (xy 96.903133 78.554133) + (xy 97.022224 78.40902) + (xy 97.110717 78.243462) + (xy 97.165211 78.063821) + (xy 97.183611 77.877) + (xy 97.182922 77.87) + (xy 97.848389 77.87) + (xy 97.848751 77.873676) + (xy 97.861228 78.000365) + (xy 97.866789 78.056821) + (xy 97.867859 78.06035) + (xy 97.86786 78.060352) + (xy 97.884073 78.113797) + (xy 97.921283 78.236462) + (xy 97.923019 78.239711) + (xy 97.923023 78.239719) + (xy 97.961865 78.312386) + (xy 98.009776 78.40202) + (xy 98.033035 78.430361) + (xy 98.111464 78.525928) + (xy 98.128867 78.547133) + (xy 98.27398 78.666224) + (xy 98.34352 78.703394) + (xy 98.43628 78.752976) + (xy 98.436283 78.752977) + (xy 98.439538 78.754717) + (xy 98.619179 78.809211) + (xy 98.806 78.827611) + (xy 98.992821 78.809211) + (xy 99.172462 78.754717) + (xy 99.33802 78.666224) + (xy 99.483133 78.547133) + (xy 99.602224 78.40202) + (xy 99.690717 78.236462) + (xy 99.745211 78.056821) + (xy 99.763611 77.87) + (xy 100.348389 77.87) + (xy 100.348751 77.873676) + (xy 100.361228 78.000365) + (xy 100.366789 78.056821) + (xy 100.367859 78.06035) + (xy 100.36786 78.060352) + (xy 100.384073 78.113797) + (xy 100.421283 78.236462) + (xy 100.423019 78.239711) + (xy 100.423023 78.239719) + (xy 100.461865 78.312386) + (xy 100.509776 78.40202) + (xy 100.533035 78.430361) + (xy 100.611464 78.525928) + (xy 100.628867 78.547133) + (xy 100.77398 78.666224) + (xy 100.84352 78.703394) + (xy 100.93628 78.752976) + (xy 100.936283 78.752977) + (xy 100.939538 78.754717) + (xy 101.119179 78.809211) + (xy 101.306 78.827611) + (xy 101.492821 78.809211) + (xy 101.672462 78.754717) + (xy 101.83802 78.666224) + (xy 101.983133 78.547133) + (xy 102.102224 78.40202) + (xy 102.190717 78.236462) + (xy 102.245211 78.056821) + (xy 102.263611 77.87) + (xy 102.26309 77.864715) + (xy 102.259867 77.831984) + (xy 102.245211 77.683179) + (xy 102.190717 77.503538) + (xy 102.180121 77.483715) + (xy 102.107707 77.348238) + (xy 102.102224 77.33798) + (xy 101.983133 77.192867) + (xy 101.966907 77.179551) + (xy 101.849406 77.08312) + (xy 101.83802 77.073776) + (xy 101.834761 77.072034) + (xy 101.675719 76.987023) + (xy 101.675711 76.987019) + (xy 101.672462 76.985283) + (xy 101.541765 76.945636) + (xy 101.496352 76.93186) + (xy 101.49635 76.931859) + (xy 101.492821 76.930789) + (xy 101.48915 76.930427) + (xy 101.489148 76.930427) + (xy 101.309676 76.912751) + (xy 101.306 76.912389) + (xy 101.302324 76.912751) + (xy 101.122851 76.930427) + (xy 101.122847 76.930427) + (xy 101.119179 76.930789) + (xy 101.115651 76.931859) + (xy 101.115647 76.93186) + (xy 100.943068 76.984212) + (xy 100.943066 76.984212) + (xy 100.939538 76.985283) + (xy 100.936292 76.987018) + (xy 100.93628 76.987023) + (xy 100.777238 77.072034) + (xy 100.777233 77.072036) + (xy 100.77398 77.073776) + (xy 100.771127 77.076117) + (xy 100.771123 77.07612) + (xy 100.631722 77.190523) + (xy 100.631716 77.190528) + (xy 100.628867 77.192867) + (xy 100.626528 77.195716) + (xy 100.626523 77.195722) + (xy 100.51212 77.335123) + (xy 100.512117 77.335127) + (xy 100.509776 77.33798) + (xy 100.508036 77.341233) + (xy 100.508034 77.341238) + (xy 100.423023 77.50028) + (xy 100.423018 77.500292) + (xy 100.421283 77.503538) + (xy 100.420212 77.507066) + (xy 100.420212 77.507068) + (xy 100.391817 77.600675) + (xy 100.366789 77.683179) + (xy 100.366427 77.686847) + (xy 100.366427 77.686851) + (xy 100.34882 77.865627) + (xy 100.348389 77.87) + (xy 99.763611 77.87) + (xy 99.76309 77.864715) + (xy 99.759867 77.831984) + (xy 99.745211 77.683179) + (xy 99.690717 77.503538) + (xy 99.680121 77.483715) + (xy 99.607707 77.348238) + (xy 99.602224 77.33798) + (xy 99.483133 77.192867) + (xy 99.466907 77.179551) + (xy 99.349406 77.08312) + (xy 99.33802 77.073776) + (xy 99.334761 77.072034) + (xy 99.175719 76.987023) + (xy 99.175711 76.987019) + (xy 99.172462 76.985283) + (xy 99.041765 76.945636) + (xy 98.996352 76.93186) + (xy 98.99635 76.931859) + (xy 98.992821 76.930789) + (xy 98.98915 76.930427) + (xy 98.989148 76.930427) + (xy 98.809676 76.912751) + (xy 98.806 76.912389) + (xy 98.802324 76.912751) + (xy 98.622851 76.930427) + (xy 98.622847 76.930427) + (xy 98.619179 76.930789) + (xy 98.615651 76.931859) + (xy 98.615647 76.93186) + (xy 98.443068 76.984212) + (xy 98.443066 76.984212) + (xy 98.439538 76.985283) + (xy 98.436292 76.987018) + (xy 98.43628 76.987023) + (xy 98.277238 77.072034) + (xy 98.277233 77.072036) + (xy 98.27398 77.073776) + (xy 98.271127 77.076117) + (xy 98.271123 77.07612) + (xy 98.131722 77.190523) + (xy 98.131716 77.190528) + (xy 98.128867 77.192867) + (xy 98.126528 77.195716) + (xy 98.126523 77.195722) + (xy 98.01212 77.335123) + (xy 98.012117 77.335127) + (xy 98.009776 77.33798) + (xy 98.008036 77.341233) + (xy 98.008034 77.341238) + (xy 97.923023 77.50028) + (xy 97.923018 77.500292) + (xy 97.921283 77.503538) + (xy 97.920212 77.507066) + (xy 97.920212 77.507068) + (xy 97.891817 77.600675) + (xy 97.866789 77.683179) + (xy 97.866427 77.686847) + (xy 97.866427 77.686851) + (xy 97.84882 77.865627) + (xy 97.848389 77.87) + (xy 97.182922 77.87) + (xy 97.165211 77.690179) + (xy 97.110717 77.510538) + (xy 97.108862 77.507068) + (xy 97.057189 77.410394) + (xy 97.022224 77.34498) + (xy 96.903133 77.199867) + (xy 96.894603 77.192867) + (xy 96.760876 77.08312) + (xy 96.75802 77.080776) + (xy 96.754761 77.079034) + (xy 96.595719 76.994023) + (xy 96.595711 76.994019) + (xy 96.592462 76.992283) + (xy 96.484567 76.959553) + (xy 96.416352 76.93886) + (xy 96.41635 76.938859) + (xy 96.412821 76.937789) + (xy 96.40915 76.937427) + (xy 96.409148 76.937427) + (xy 96.229676 76.919751) + (xy 96.226 76.919389) + (xy 96.222324 76.919751) + (xy 96.042851 76.937427) + (xy 96.042847 76.937427) + (xy 96.039179 76.937789) + (xy 96.035651 76.938859) + (xy 96.035647 76.93886) + (xy 95.863068 76.991212) + (xy 95.863066 76.991212) + (xy 95.859538 76.992283) + (xy 95.856292 76.994018) + (xy 95.85628 76.994023) + (xy 95.697238 77.079034) + (xy 95.697233 77.079036) + (xy 95.69398 77.080776) + (xy 95.691127 77.083117) + (xy 95.691123 77.08312) + (xy 95.551722 77.197523) + (xy 95.551716 77.197528) + (xy 95.548867 77.199867) + (xy 95.546528 77.202716) + (xy 95.546523 77.202722) + (xy 95.43212 77.342123) + (xy 95.432117 77.342127) + (xy 95.429776 77.34498) + (xy 95.428036 77.348233) + (xy 95.428034 77.348238) + (xy 95.343023 77.50728) + (xy 95.343018 77.507292) + (xy 95.341283 77.510538) + (xy 95.340212 77.514066) + (xy 95.340212 77.514068) + (xy 95.289984 77.679647) + (xy 95.286789 77.690179) + (xy 95.286427 77.693847) + (xy 95.286427 77.693851) + (xy 95.270723 77.853303) + (xy 95.268389 77.877) + (xy 94.683611 77.877) + (xy 94.665211 77.690179) + (xy 94.610717 77.510538) + (xy 94.608862 77.507068) + (xy 94.557189 77.410394) + (xy 94.522224 77.34498) + (xy 94.403133 77.199867) + (xy 94.394603 77.192867) + (xy 94.260876 77.08312) + (xy 94.25802 77.080776) + (xy 94.254761 77.079034) + (xy 94.095719 76.994023) + (xy 94.095711 76.994019) + (xy 94.092462 76.992283) + (xy 93.984567 76.959553) + (xy 93.916352 76.93886) + (xy 93.91635 76.938859) + (xy 93.912821 76.937789) + (xy 93.90915 76.937427) + (xy 93.909148 76.937427) + (xy 93.729676 76.919751) + (xy 93.726 76.919389) + (xy 93.722324 76.919751) + (xy 93.542851 76.937427) + (xy 93.542847 76.937427) + (xy 93.539179 76.937789) + (xy 93.535651 76.938859) + (xy 93.535647 76.93886) + (xy 93.363068 76.991212) + (xy 93.363066 76.991212) + (xy 93.359538 76.992283) + (xy 93.356292 76.994018) + (xy 93.35628 76.994023) + (xy 93.197238 77.079034) + (xy 93.197233 77.079036) + (xy 93.19398 77.080776) + (xy 93.191127 77.083117) + (xy 93.191123 77.08312) + (xy 93.051722 77.197523) + (xy 93.051716 77.197528) + (xy 93.048867 77.199867) + (xy 93.046528 77.202716) + (xy 93.046523 77.202722) + (xy 92.93212 77.342123) + (xy 92.932117 77.342127) + (xy 92.929776 77.34498) + (xy 92.928036 77.348233) + (xy 92.928034 77.348238) + (xy 92.843023 77.50728) + (xy 92.843018 77.507292) + (xy 92.841283 77.510538) + (xy 92.840212 77.514066) + (xy 92.840212 77.514068) + (xy 92.789984 77.679647) + (xy 92.786789 77.690179) + (xy 92.786427 77.693847) + (xy 92.786427 77.693851) + (xy 92.770723 77.853303) + (xy 92.768389 77.877) + (xy 92.217382 77.877) + (xy 92.239372 77.804508) + (xy 92.240807 77.797298) + (xy 92.260173 77.600675) + (xy 92.260173 77.593325) + (xy 92.240807 77.396701) + (xy 92.239372 77.389491) + (xy 92.18202 77.200426) + (xy 92.179207 77.193634) + (xy 92.08607 77.019386) + (xy 92.081988 77.013278) + (xy 92.041939 76.964477) + (xy 92.035095 76.959741) + (xy 92.027816 76.963787) + (xy 91.401605 77.589999) + (xy 91.397563 77.597) + (xy 91.032436 77.597) + (xy 91.028394 77.589999) + (xy 90.402182 76.963787) + (xy 90.394903 76.959742) + (xy 90.388058 76.964479) + (xy 90.348008 77.013281) + (xy 90.343931 77.019383) + (xy 90.250792 77.193634) + (xy 90.247979 77.200426) + (xy 90.190627 77.389491) + (xy 90.189192 77.396701) + (xy 90.169827 77.593325) + (xy 90.169827 77.600675) + (xy 89.716 77.600675) + (xy 89.716 76.943882) + (xy 89.713206 76.914087) + (xy 89.669299 76.788607) + (xy 89.660661 76.776903) + (xy 90.577742 76.776903) + (xy 90.581787 76.784182) + (xy 91.207999 77.410394) + (xy 91.215 77.414436) + (xy 91.222 77.410394) + (xy 91.848211 76.784182) + (xy 91.852257 76.776903) + (xy 91.847521 76.770059) + (xy 91.798722 76.730011) + (xy 91.792613 76.725929) + (xy 91.618365 76.632792) + (xy 91.611573 76.629979) + (xy 91.422508 76.572627) + (xy 91.415298 76.571192) + (xy 91.218675 76.551827) + (xy 91.211325 76.551827) + (xy 91.014701 76.571192) + (xy 91.007491 76.572627) + (xy 90.818426 76.629979) + (xy 90.811634 76.632792) + (xy 90.637383 76.725931) + (xy 90.631281 76.730008) + (xy 90.582479 76.770058) + (xy 90.577742 76.776903) + (xy 89.660661 76.776903) + (xy 89.590356 76.681644) + (xy 89.530144 76.637205) + (xy 89.487923 76.606044) + (xy 89.487921 76.606043) + (xy 89.483393 76.602701) + (xy 89.478078 76.600841) + (xy 89.478076 76.60084) + (xy 89.362227 76.560303) + (xy 89.362223 76.560302) + (xy 89.357913 76.558794) + (xy 89.353365 76.558367) + (xy 89.353363 76.558367) + (xy 89.329859 76.556163) + (xy 89.329853 76.556162) + (xy 89.328118 76.556) + (xy 88.021882 76.556) + (xy 88.020147 76.556162) + (xy 88.02014 76.556163) + (xy 87.996636 76.558367) + (xy 87.996632 76.558367) + (xy 87.992087 76.558794) + (xy 87.987778 76.560301) + (xy 87.987772 76.560303) + (xy 87.871923 76.60084) + (xy 87.871918 76.600842) + (xy 87.866607 76.602701) + (xy 87.862081 76.606041) + (xy 87.862076 76.606044) + (xy 87.764171 76.678302) + (xy 87.764167 76.678305) + (xy 87.759644 76.681644) + (xy 87.756305 76.686167) + (xy 87.756302 76.686171) + (xy 87.684044 76.784076) + (xy 87.684041 76.784081) + (xy 87.680701 76.788607) + (xy 87.678842 76.793918) + (xy 87.67884 76.793923) + (xy 87.638303 76.909772) + (xy 87.638301 76.909778) + (xy 87.636794 76.914087) + (xy 87.636367 76.918632) + (xy 87.636367 76.918636) + (xy 87.634926 76.934006) + (xy 87.634 76.943882) + (xy 87.634 78.250118) + (xy 86.729838 78.250118) + (xy 85.259081 76.779361) + (xy 85.240902 76.749931) + (xy 85.237822 76.71548) + (xy 85.238898 76.708) + (xy 85.218608 76.566881) + (xy 85.214327 76.557508) + (xy 85.161617 76.442088) + (xy 85.159382 76.437194) + (xy 85.066018 76.329447) + (xy 85.061496 76.326541) + (xy 85.061494 76.326539) + (xy 84.950602 76.255272) + (xy 84.950599 76.25527) + (xy 84.946081 76.252367) + (xy 84.940925 76.250853) + (xy 84.940923 76.250852) + (xy 84.814447 76.213715) + (xy 84.814442 76.213714) + (xy 84.809285 76.2122) + (xy 84.666715 76.2122) + (xy 84.661558 76.213714) + (xy 84.661552 76.213715) + (xy 84.535076 76.250852) + (xy 84.535071 76.250854) + (xy 84.529919 76.252367) + (xy 84.525403 76.255269) + (xy 84.525397 76.255272) + (xy 84.414505 76.326539) + (xy 84.414499 76.326543) + (xy 84.409982 76.329447) + (xy 84.406461 76.333509) + (xy 84.40646 76.333511) + (xy 84.32014 76.433128) + (xy 84.320136 76.433133) + (xy 84.316618 76.437194) + (xy 84.314385 76.442082) + (xy 84.314382 76.442088) + (xy 84.259626 76.561987) + (xy 84.259624 76.561993) + (xy 84.257392 76.566881) + (xy 84.256627 76.572195) + (xy 84.256626 76.572202) + (xy 84.240103 76.687128) + (xy 84.237102 76.708) + (xy 84.237867 76.71332) + (xy 84.237867 76.713321) + (xy 84.256626 76.843797) + (xy 84.256627 76.843802) + (xy 84.257392 76.849119) + (xy 84.259624 76.854008) + (xy 84.259626 76.854012) + (xy 84.314382 76.973911) + (xy 84.314383 76.973913) + (xy 84.316618 76.978806) + (xy 84.320138 76.982869) + (xy 84.32014 76.982871) + (xy 84.346488 77.013278) + (xy 84.409982 77.086553) + (xy 84.414504 77.089459) + (xy 84.414505 77.08946) + (xy 84.435759 77.103119) + (xy 84.529919 77.163633) + (xy 84.666715 77.2038) + (xy 84.752932 77.2038) + (xy 84.78171 77.209524) + (xy 84.806106 77.225826) + (xy 86.302974 78.722694) + (xy 86.319276 78.74709) + (xy 86.325 78.775868) + (xy 86.325 79.314732) + (xy 86.312327 79.356511) + (xy 86.278578 79.384208) + (xy 86.235129 79.388487) + (xy 86.196626 79.367906) + (xy 85.259081 78.430361) + (xy 85.240902 78.400931) + (xy 85.237822 78.36648) + (xy 85.238898 78.359) + (xy 85.218608 78.217881) + (xy 85.159382 78.088194) + (xy 85.153674 78.081607) + (xy 85.1029 78.023011) + (xy 85.066018 77.980447) + (xy 85.061496 77.977541) + (xy 85.061494 77.977539) + (xy 84.950602 77.906272) + (xy 84.950599 77.90627) + (xy 84.946081 77.903367) + (xy 84.940925 77.901853) + (xy 84.940923 77.901852) + (xy 84.814447 77.864715) + (xy 84.814442 77.864714) + (xy 84.809285 77.8632) + (xy 84.666715 77.8632) + (xy 84.661558 77.864714) + (xy 84.661552 77.864715) + (xy 84.535076 77.901852) + (xy 84.535071 77.901854) + (xy 84.529919 77.903367) + (xy 84.525403 77.906269) + (xy 84.525397 77.906272) + (xy 84.414505 77.977539) + (xy 84.414499 77.977543) + (xy 84.409982 77.980447) + (xy 84.406461 77.984509) + (xy 84.40646 77.984511) + (xy 84.32014 78.084128) + (xy 84.320136 78.084133) + (xy 84.316618 78.088194) + (xy 84.314385 78.093082) + (xy 84.314382 78.093088) + (xy 84.259626 78.212987) + (xy 84.259624 78.212993) + (xy 84.257392 78.217881) + (xy 84.256627 78.223195) + (xy 84.256626 78.223202) + (xy 84.243804 78.312386) + (xy 84.237102 78.359) + (xy 84.237867 78.36432) + (xy 84.237867 78.364321) + (xy 84.256626 78.494797) + (xy 84.256627 78.494802) + (xy 84.257392 78.500119) + (xy 84.259624 78.505008) + (xy 84.259626 78.505012) + (xy 84.314382 78.624911) + (xy 84.314383 78.624913) + (xy 84.316618 78.629806) + (xy 84.320138 78.633869) + (xy 84.32014 78.633871) + (xy 84.349683 78.667965) + (xy 84.409982 78.737553) + (xy 84.414504 78.740459) + (xy 84.414505 78.74046) + (xy 84.43398 78.752976) + (xy 84.529919 78.814633) + (xy 84.666715 78.8548) + (xy 84.752932 78.8548) + (xy 84.78171 78.860524) + (xy 84.806106 78.876826) + (xy 85.794974 79.865694) + (xy 85.811276 79.89009) + (xy 85.817 79.918868) + (xy 85.817 80.457732) + (xy 85.804327 80.499511) + (xy 85.770578 80.527208) + (xy 85.727129 80.531487) + (xy 85.688626 80.510906) + (xy 85.259081 80.081361) + (xy 85.240902 80.051931) + (xy 85.237822 80.01748) + (xy 85.238898 80.01) + (xy 85.218608 79.868881) + (xy 85.159382 79.739194) + (xy 85.1544 79.733445) + (xy 85.11942 79.693076) + (xy 85.066018 79.631447) + (xy 85.061496 79.628541) + (xy 85.061494 79.628539) + (xy 84.950602 79.557272) + (xy 84.950599 79.55727) + (xy 84.946081 79.554367) + (xy 84.940925 79.552853) + (xy 84.940923 79.552852) + (xy 84.814447 79.515715) + (xy 84.814442 79.515714) + (xy 84.809285 79.5142) + (xy 84.666715 79.5142) + (xy 84.661558 79.515714) + (xy 84.661552 79.515715) + (xy 84.535076 79.552852) + (xy 84.535071 79.552854) + (xy 84.529919 79.554367) + (xy 84.525403 79.557269) + (xy 84.525397 79.557272) + (xy 84.414505 79.628539) + (xy 84.414499 79.628543) + (xy 84.409982 79.631447) + (xy 84.406461 79.635509) + (xy 84.40646 79.635511) + (xy 84.32014 79.735128) + (xy 84.320136 79.735133) + (xy 84.316618 79.739194) + (xy 84.314385 79.744082) + (xy 84.314382 79.744088) + (xy 84.259626 79.863987) + (xy 84.259624 79.863993) + (xy 84.257392 79.868881) + (xy 84.256627 79.874195) + (xy 84.256626 79.874202) + (xy 84.245672 79.950394) + (xy 84.237102 80.01) + (xy 84.237867 80.01532) + (xy 84.237867 80.015321) + (xy 84.256626 80.145797) + (xy 84.256627 80.145802) + (xy 84.257392 80.151119) + (xy 84.259624 80.156008) + (xy 84.259626 80.156012) + (xy 84.314382 80.275911) + (xy 84.314383 80.275913) + (xy 84.316618 80.280806) + (xy 84.409982 80.388553) + (xy 84.414504 80.391459) + (xy 84.414505 80.39146) + (xy 84.495273 80.443367) + (xy 84.529919 80.465633) + (xy 84.666715 80.5058) + (xy 84.752932 80.5058) + (xy 84.78171 80.511524) + (xy 84.806106 80.527826) + (xy 85.286974 81.008694) + (xy 85.303276 81.03309) + (xy 85.309 81.061868) + (xy 85.309 81.372124) + (xy 85.292354 81.41931) + (xy 85.249785 81.445605) + (xy 85.200139 81.43937) + (xy 85.165396 81.403363) + (xy 85.159382 81.390194) + (xy 85.066018 81.282447) + (xy 85.061496 81.279541) + (xy 85.061494 81.279539) + (xy 84.950602 81.208272) + (xy 84.950599 81.20827) + (xy 84.946081 81.205367) + (xy 84.940925 81.203853) + (xy 84.940923 81.203852) + (xy 84.814447 81.166715) + (xy 84.814442 81.166714) + (xy 84.809285 81.1652) + (xy 84.666715 81.1652) + (xy 84.661558 81.166714) + (xy 84.661552 81.166715) + (xy 84.535076 81.203852) + (xy 84.535071 81.203854) + (xy 84.529919 81.205367) + (xy 84.525403 81.208269) + (xy 84.525397 81.208272) + (xy 84.414505 81.279539) + (xy 84.414499 81.279543) + (xy 84.409982 81.282447) + (xy 84.406461 81.286509) + (xy 84.40646 81.286511) + (xy 84.32014 81.386128) + (xy 84.320136 81.386133) + (xy 84.316618 81.390194) + (xy 84.314385 81.395082) + (xy 84.314382 81.395088) + (xy 84.259626 81.514987) + (xy 84.259624 81.514993) + (xy 84.257392 81.519881) + (xy 84.256627 81.525195) + (xy 84.256626 81.525202) + (xy 84.241296 81.631827) + (xy 84.237102 81.661) + (xy 84.237867 81.666321) + (xy 84.256626 81.796797) + (xy 84.256627 81.796802) + (xy 84.257392 81.802119) + (xy 84.259624 81.807008) + (xy 84.259626 81.807012) + (xy 84.314382 81.926911) + (xy 84.314383 81.926913) + (xy 84.316618 81.931806) + (xy 84.320138 81.935869) + (xy 84.32014 81.935871) + (xy 84.321802 81.937789) + (xy 84.409982 82.039553) + (xy 84.414504 82.042459) + (xy 84.414505 82.04246) + (xy 84.525397 82.113727) + (xy 84.529919 82.116633) + (xy 84.666715 82.1568) + (xy 84.7258 82.1568) + (xy 84.7634 82.166875) + (xy 84.790925 82.1944) + (xy 84.801 82.232) + (xy 84.801 82.641132) + (xy 84.795276 82.66991) + (xy 84.778974 82.694306) + (xy 84.755306 82.717974) + (xy 84.73091 82.734276) + (xy 84.702132 82.74) + (xy 81.596831 82.74) + (xy 81.565592 82.733205) + (xy 81.539999 82.714046) + (xy 81.526987 82.69903) + (xy 81.510018 82.679447) + (xy 81.505496 82.676541) + (xy 81.505494 82.676539) + (xy 81.394602 82.605272) + (xy 81.394599 82.60527) + (xy 81.390081 82.602367) + (xy 81.384925 82.600853) + (xy 81.384923 82.600852) + (xy 81.258447 82.563715) + (xy 81.258442 82.563714) + (xy 81.253285 82.5622) + (xy 81.110715 82.5622) + (xy 81.105558 82.563714) + (xy 81.105552 82.563715) + (xy 80.979076 82.600852) + (xy 80.979071 82.600854) + (xy 80.973919 82.602367) + (xy 80.969403 82.605269) + (xy 80.969397 82.605272) + (xy 80.858505 82.676539) + (xy 80.858499 82.676543) + (xy 80.853982 82.679447) + (xy 80.850461 82.683509) + (xy 80.85046 82.683511) + (xy 80.824001 82.714046) + (xy 80.798408 82.733205) + (xy 80.767169 82.74) + (xy 78.267868 82.74) + (xy 78.23909 82.734276) + (xy 78.214694 82.717974) + (xy 77.864081 82.367361) + (xy 77.845902 82.337931) + (xy 77.842822 82.30348) + (xy 77.843898 82.296) + (xy 77.823608 82.154881) + (xy 77.764382 82.025194) + (xy 77.671018 81.917447) + (xy 77.666496 81.914541) + (xy 77.666494 81.914539) + (xy 77.555602 81.843272) + (xy 77.555599 81.84327) + (xy 77.551081 81.840367) + (xy 77.545925 81.838853) + (xy 77.545923 81.838852) + (xy 77.419447 81.801715) + (xy 77.419442 81.801714) + (xy 77.414285 81.8002) + (xy 77.271715 81.8002) + (xy 77.266558 81.801714) + (xy 77.266552 81.801715) + (xy 77.140076 81.838852) + (xy 77.140071 81.838854) + (xy 77.134919 81.840367) + (xy 77.130403 81.843269) + (xy 77.130397 81.843272) + (xy 77.019505 81.914539) + (xy 77.019499 81.914543) + (xy 77.014982 81.917447) + (xy 77.011461 81.921509) + (xy 77.01146 81.921511) + (xy 76.922332 82.02437) + (xy 76.886686 82.047278) + (xy 76.844314 82.047278) + (xy 76.808668 82.02437) + (xy 76.776306 81.987023) + (xy 76.716018 81.917447) + (xy 76.711496 81.914541) + (xy 76.711494 81.914539) + (xy 76.600602 81.843272) + (xy 76.600599 81.84327) + (xy 76.596081 81.840367) + (xy 76.590925 81.838853) + (xy 76.590923 81.838852) + (xy 76.464447 81.801715) + (xy 76.464442 81.801714) + (xy 76.459285 81.8002) + (xy 76.316715 81.8002) + (xy 76.311558 81.801714) + (xy 76.311552 81.801715) + (xy 76.185076 81.838852) + (xy 76.185071 81.838854) + (xy 76.179919 81.840367) + (xy 76.175403 81.843269) + (xy 76.175397 81.843272) + (xy 76.064505 81.914539) + (xy 76.064499 81.914543) + (xy 76.059982 81.917447) + (xy 76.056461 81.921509) + (xy 76.05646 81.921511) + (xy 75.97014 82.021128) + (xy 75.970136 82.021133) + (xy 75.966618 82.025194) + (xy 75.964385 82.030082) + (xy 75.964382 82.030088) + (xy 75.909626 82.149987) + (xy 75.909624 82.149993) + (xy 75.907392 82.154881) + (xy 75.906627 82.160195) + (xy 75.906626 82.160202) + (xy 75.890345 82.273445) + (xy 75.887102 82.296) + (xy 75.887867 82.30132) + (xy 75.887867 82.301321) + (xy 75.906626 82.431797) + (xy 75.906627 82.431802) + (xy 75.907392 82.437119) + (xy 75.909624 82.442008) + (xy 75.909626 82.442012) + (xy 75.964382 82.561911) + (xy 75.964383 82.561913) + (xy 75.966618 82.566806) + (xy 76.059982 82.674553) + (xy 76.064504 82.677459) + (xy 76.064505 82.67746) + (xy 76.084296 82.690179) + (xy 76.179919 82.751633) + (xy 76.316715 82.7918) + (xy 76.402932 82.7918) + (xy 76.43171 82.797524) + (xy 76.456106 82.813826) + (xy 77.801995 84.159715) + (xy 77.806427 84.164551) + (xy 77.83144 84.19436) + (xy 77.865134 84.213813) + (xy 77.870658 84.217332) + (xy 77.902534 84.239652) + (xy 77.908886 84.241353) + (xy 77.914852 84.244136) + (xy 77.914848 84.244144) + (xy 77.916678 84.244902) + (xy 77.916682 84.244893) + (xy 77.922861 84.247142) + (xy 77.92856 84.250432) + (xy 77.966882 84.257188) + (xy 77.973275 84.258606) + (xy 78.010857 84.268677) + (xy 78.04962 84.265286) + (xy 78.056174 84.265) + (xy 80.767169 84.265) + (xy 80.798408 84.271795) + (xy 80.824001 84.290954) + (xy 80.837551 84.306591) + (xy 80.853982 84.325553) + (xy 80.858504 84.328459) + (xy 80.86257 84.331982) + (xy 80.861801 84.332869) + (xy 80.888565 84.366896) + (xy 80.88857 84.416085) + (xy 80.861804 84.450132) + (xy 80.862571 84.451017) + (xy 80.858504 84.45454) + (xy 80.853982 84.457447) + (xy 80.850461 84.461509) + (xy 80.85046 84.461511) + (xy 80.824001 84.492046) + (xy 80.798408 84.511205) + (xy 80.767169 84.518) + (xy 77.190867 84.518) + (xy 77.162089 84.512276) + (xy 77.137693 84.495974) + (xy 75.009081 82.367361) + (xy 74.990902 82.337931) + (xy 74.987822 82.30348) + (xy 74.988898 82.296) + (xy 74.968608 82.154881) + (xy 74.909382 82.025194) + (xy 74.816018 81.917447) + (xy 74.811496 81.914541) + (xy 74.811494 81.914539) + (xy 74.700602 81.843272) + (xy 74.700599 81.84327) + (xy 74.696081 81.840367) + (xy 74.690925 81.838853) + (xy 74.690923 81.838852) + (xy 74.564447 81.801715) + (xy 74.564442 81.801714) + (xy 74.559285 81.8002) + (xy 74.416715 81.8002) + (xy 74.411558 81.801714) + (xy 74.411552 81.801715) + (xy 74.285076 81.838852) + (xy 74.285071 81.838854) + (xy 74.279919 81.840367) + (xy 74.275403 81.843269) + (xy 74.275397 81.843272) + (xy 74.164505 81.914539) + (xy 74.164499 81.914543) + (xy 74.159982 81.917447) + (xy 74.156461 81.921509) + (xy 74.15646 81.921511) + (xy 74.067332 82.02437) + (xy 74.031686 82.047278) + (xy 73.989314 82.047278) + (xy 73.953668 82.02437) + (xy 73.921306 81.987023) + (xy 73.861018 81.917447) + (xy 73.856496 81.914541) + (xy 73.856494 81.914539) + (xy 73.745602 81.843272) + (xy 73.745599 81.84327) + (xy 73.741081 81.840367) + (xy 73.735925 81.838853) + (xy 73.735923 81.838852) + (xy 73.609447 81.801715) + (xy 73.609442 81.801714) + (xy 73.604285 81.8002) + (xy 73.461715 81.8002) + (xy 73.456558 81.801714) + (xy 73.456552 81.801715) + (xy 73.330076 81.838852) + (xy 73.330071 81.838854) + (xy 73.324919 81.840367) + (xy 73.320403 81.843269) + (xy 73.320397 81.843272) + (xy 73.209505 81.914539) + (xy 73.209499 81.914543) + (xy 73.204982 81.917447) + (xy 73.201461 81.921509) + (xy 73.20146 81.921511) + (xy 73.11514 82.021128) + (xy 73.115136 82.021133) + (xy 73.111618 82.025194) + (xy 73.109385 82.030082) + (xy 73.109382 82.030088) + (xy 73.054626 82.149987) + (xy 73.054624 82.149993) + (xy 73.052392 82.154881) + (xy 73.051627 82.160195) + (xy 73.051626 82.160202) + (xy 73.035345 82.273445) + (xy 73.032102 82.296) + (xy 64.199 82.296) + (xy 64.199 81.317163) + (xy 64.203741 81.290883) + (xy 64.217368 81.267917) + (xy 64.243409 81.237863) + (xy 64.302382 81.169806) + (xy 64.361608 81.040119) + (xy 64.381898 80.899) + (xy 64.361608 80.757881) + (xy 64.302382 80.628194) + (xy 64.209018 80.520447) + (xy 64.204496 80.517541) + (xy 64.204494 80.517539) + (xy 64.093602 80.446272) + (xy 64.093599 80.44627) + (xy 64.089081 80.443367) + (xy 64.083925 80.441853) + (xy 64.083923 80.441852) + (xy 63.957447 80.404715) + (xy 63.957442 80.404714) + (xy 63.952285 80.4032) + (xy 63.809715 80.4032) + (xy 63.804558 80.404714) + (xy 63.804552 80.404715) + (xy 63.678076 80.441852) + (xy 63.678071 80.441854) + (xy 63.672919 80.443367) + (xy 63.668403 80.446269) + (xy 63.668397 80.446272) + (xy 63.557505 80.517539) + (xy 63.557499 80.517543) + (xy 63.552982 80.520447) + (xy 63.549461 80.524509) + (xy 63.54946 80.524511) + (xy 63.46314 80.624128) + (xy 63.463136 80.624133) + (xy 63.459618 80.628194) + (xy 63.457385 80.633082) + (xy 63.457382 80.633088) + (xy 63.402626 80.752987) + (xy 63.402624 80.752993) + (xy 63.400392 80.757881) + (xy 63.399627 80.763195) + (xy 63.399626 80.763202) + (xy 63.383314 80.87666) + (xy 63.380102 80.899) + (xy 63.380867 80.904321) + (xy 63.399626 81.034797) + (xy 63.399627 81.034802) + (xy 63.400392 81.040119) + (xy 63.402624 81.045007) + (xy 63.402625 81.045009) + (xy 63.406346 81.053158) + (xy 63.410324 81.061868) + (xy 63.410827 81.062968) + (xy 63.416857 81.104908) + (xy 63.399255 81.143451) + (xy 63.36361 81.166359) + (xy 63.32793 81.166359) + (xy 63.327769 81.167481) + (xy 63.322447 81.166715) + (xy 63.317285 81.1652) + (xy 63.174715 81.1652) + (xy 63.169558 81.166714) + (xy 63.169552 81.166715) + (xy 63.043076 81.203852) + (xy 63.043071 81.203854) + (xy 63.037919 81.205367) + (xy 63.033403 81.208269) + (xy 63.033397 81.208272) + (xy 62.922505 81.279539) + (xy 62.922499 81.279543) + (xy 62.917982 81.282447) + (xy 62.914461 81.286509) + (xy 62.91446 81.286511) + (xy 62.82814 81.386128) + (xy 62.828136 81.386133) + (xy 62.824618 81.390194) + (xy 62.822385 81.395082) + (xy 62.822382 81.395088) + (xy 62.767626 81.514987) + (xy 62.767624 81.514993) + (xy 62.765392 81.519881) + (xy 62.764627 81.525195) + (xy 62.764626 81.525202) + (xy 62.749296 81.631827) + (xy 62.745102 81.661) + (xy 62.745867 81.666321) + (xy 62.764626 81.796797) + (xy 62.764627 81.796802) + (xy 62.765392 81.802119) + (xy 62.767624 81.807008) + (xy 62.767626 81.807012) + (xy 62.822382 81.926911) + (xy 62.822383 81.926913) + (xy 62.824618 81.931806) + (xy 62.828138 81.935869) + (xy 62.82814 81.935871) + (xy 62.909632 82.029917) + (xy 62.923259 82.052883) + (xy 62.928 82.079163) + (xy 62.928 86.195837) + (xy 62.923259 86.222117) + (xy 62.909632 86.245083) + (xy 62.82814 86.339128) + (xy 62.828136 86.339133) + (xy 62.824618 86.343194) + (xy 62.822385 86.348082) + (xy 62.822382 86.348088) + (xy 62.767626 86.467987) + (xy 62.767624 86.467993) + (xy 62.765392 86.472881) + (xy 62.764627 86.478195) + (xy 62.764626 86.478202) + (xy 62.745867 86.608679) + (xy 62.745102 86.614) + (xy 47.562 86.614) + (xy 47.562 79.3872) + (xy 47.572075 79.3496) + (xy 47.5996 79.322075) + (xy 47.6372 79.312) + (xy 52.96712 79.312) + (xy 52.99836 79.318796) + (xy 53.000394 79.319724) + (xy 53.004919 79.322633) + (xy 53.141715 79.3628) + (xy 53.278904 79.3628) + (xy 53.284285 79.3628) + (xy 53.421081 79.322633) + (xy 53.541018 79.245553) + (xy 53.634382 79.137806) + (xy 53.693608 79.008119) + (xy 53.713898 78.867) + (xy 53.706647 78.816572) + (xy 53.694373 78.731202) + (xy 53.693608 78.725881) + (xy 53.634382 78.596194) + (xy 53.63014 78.591299) + (xy 53.583076 78.536984) + (xy 53.541018 78.488447) + (xy 53.536496 78.485541) + (xy 53.536494 78.485539) + (xy 53.425602 78.414272) + (xy 53.425599 78.41427) + (xy 53.421081 78.411367) + (xy 53.415925 78.409853) + (xy 53.415923 78.409852) + (xy 53.289447 78.372715) + (xy 53.289442 78.372714) + (xy 53.284285 78.3712) + (xy 53.141715 78.3712) + (xy 53.136558 78.372714) + (xy 53.136552 78.372715) + (xy 53.010079 78.409851) + (xy 53.010073 78.409853) + (xy 53.004919 78.411367) + (xy 53.000394 78.414274) + (xy 52.99836 78.415204) + (xy 52.96712 78.422) + (xy 47.6372 78.422) + (xy 47.5996 78.411925) + (xy 47.572075 78.3844) + (xy 47.562 78.3468) + (xy 47.562 76.3905) + (xy 67.761602 76.3905) + (xy 67.762367 76.39582) + (xy 67.762367 76.395821) + (xy 67.781126 76.526297) + (xy 67.781127 76.526302) + (xy 67.781892 76.531619) + (xy 67.784124 76.536508) + (xy 67.784126 76.536512) + (xy 67.838882 76.656411) + (xy 67.838883 76.656413) + (xy 67.841118 76.661306) + (xy 67.934482 76.769053) + (xy 67.939004 76.771959) + (xy 67.939005 76.77196) + (xy 68.023406 76.826202) + (xy 68.054419 76.846133) + (xy 68.191215 76.8863) + (xy 68.277432 76.8863) + (xy 68.30621 76.892024) + (xy 68.330606 76.908326) + (xy 68.596995 77.174715) + (xy 68.601427 77.179551) + (xy 68.621774 77.2038) + (xy 68.62644 77.20936) + (xy 68.660134 77.228813) + (xy 68.665658 77.232332) + (xy 68.697534 77.254652) + (xy 68.703886 77.256353) + (xy 68.709852 77.259136) + (xy 68.709848 77.259144) + (xy 68.711678 77.259902) + (xy 68.711682 77.259893) + (xy 68.717861 77.262142) + (xy 68.72356 77.265432) + (xy 68.761882 77.272188) + (xy 68.768275 77.273606) + (xy 68.805857 77.283677) + (xy 68.844616 77.280285) + (xy 68.85117 77.28) + (xy 70.349569 77.28) + (xy 70.380808 77.286795) + (xy 70.406401 77.305954) + (xy 70.421402 77.323266) + (xy 70.436382 77.340553) + (xy 70.440904 77.343459) + (xy 70.440905 77.34346) + (xy 70.545055 77.410394) + (xy 70.556319 77.417633) + (xy 70.693115 77.4578) + (xy 70.830304 77.4578) + (xy 70.835685 77.4578) + (xy 70.972481 77.417633) + (xy 71.092418 77.340553) + (xy 71.185782 77.232806) + (xy 71.245008 77.103119) + (xy 71.265298 76.962) + (xy 71.260964 76.93186) + (xy 71.245773 76.826202) + (xy 71.245008 76.820881) + (xy 71.185782 76.691194) + (xy 71.092418 76.583447) + (xy 71.087896 76.580541) + (xy 71.087894 76.580539) + (xy 70.977002 76.509272) + (xy 70.976999 76.50927) + (xy 70.972481 76.506367) + (xy 70.967325 76.504853) + (xy 70.967323 76.504852) + (xy 70.840847 76.467715) + (xy 70.840842 76.467714) + (xy 70.835685 76.4662) + (xy 70.693115 76.4662) + (xy 70.687958 76.467714) + (xy 70.687952 76.467715) + (xy 70.561476 76.504852) + (xy 70.561471 76.504854) + (xy 70.556319 76.506367) + (xy 70.551803 76.509269) + (xy 70.551797 76.509272) + (xy 70.440905 76.580539) + (xy 70.440899 76.580543) + (xy 70.436382 76.583447) + (xy 70.432861 76.587509) + (xy 70.43286 76.587511) + (xy 70.406401 76.618046) + (xy 70.380808 76.637205) + (xy 70.349569 76.644) + (xy 68.996868 76.644) + (xy 68.96809 76.638276) + (xy 68.943694 76.621974) + (xy 68.783581 76.461861) + (xy 68.765402 76.432431) + (xy 68.762322 76.39798) + (xy 68.763398 76.3905) + (xy 68.743108 76.249381) + (xy 68.683882 76.119694) + (xy 68.590518 76.011947) + (xy 68.585996 76.009041) + (xy 68.585994 76.009039) + (xy 68.475102 75.937772) + (xy 68.475099 75.93777) + (xy 68.470581 75.934867) + (xy 68.465425 75.933353) + (xy 68.465423 75.933352) + (xy 68.338947 75.896215) + (xy 68.338942 75.896214) + (xy 68.333785 75.8947) + (xy 68.191215 75.8947) + (xy 68.186058 75.896214) + (xy 68.186052 75.896215) + (xy 68.059576 75.933352) + (xy 68.059571 75.933354) + (xy 68.054419 75.934867) + (xy 68.049903 75.937769) + (xy 68.049897 75.937772) + (xy 67.939005 76.009039) + (xy 67.938999 76.009043) + (xy 67.934482 76.011947) + (xy 67.930961 76.016009) + (xy 67.93096 76.016011) + (xy 67.84464 76.115628) + (xy 67.844636 76.115633) + (xy 67.841118 76.119694) + (xy 67.838885 76.124582) + (xy 67.838882 76.124588) + (xy 67.784126 76.244487) + (xy 67.784124 76.244493) + (xy 67.781892 76.249381) + (xy 67.781127 76.254695) + (xy 67.781126 76.254702) + (xy 67.763573 76.376791) + (xy 67.761602 76.3905) + (xy 47.562 76.3905) + (xy 47.562 75.377) + (xy 92.768389 75.377) + (xy 92.768751 75.380676) + (xy 92.786099 75.556821) + (xy 92.786789 75.563821) + (xy 92.787859 75.56735) + (xy 92.78786 75.567352) + (xy 92.801767 75.613195) + (xy 92.841283 75.743462) + (xy 92.843019 75.746711) + (xy 92.843023 75.746719) + (xy 92.924292 75.898761) + (xy 92.929776 75.90902) + (xy 93.048867 76.054133) + (xy 93.19398 76.173224) + (xy 93.266899 76.2122) + (xy 93.35628 76.259976) + (xy 93.356283 76.259977) + (xy 93.359538 76.261717) + (xy 93.539179 76.316211) + (xy 93.726 76.334611) + (xy 93.912821 76.316211) + (xy 94.092462 76.261717) + (xy 94.25802 76.173224) + (xy 94.403133 76.054133) + (xy 94.522224 75.90902) + (xy 94.610717 75.743462) + (xy 94.665211 75.563821) + (xy 94.683611 75.377) + (xy 95.268389 75.377) + (xy 95.268751 75.380676) + (xy 95.286099 75.556821) + (xy 95.286789 75.563821) + (xy 95.287859 75.56735) + (xy 95.28786 75.567352) + (xy 95.301767 75.613195) + (xy 95.341283 75.743462) + (xy 95.343019 75.746711) + (xy 95.343023 75.746719) + (xy 95.424292 75.898761) + (xy 95.429776 75.90902) + (xy 95.548867 76.054133) + (xy 95.69398 76.173224) + (xy 95.766899 76.2122) + (xy 95.85628 76.259976) + (xy 95.856283 76.259977) + (xy 95.859538 76.261717) + (xy 96.039179 76.316211) + (xy 96.226 76.334611) + (xy 96.412821 76.316211) + (xy 96.592462 76.261717) + (xy 96.75802 76.173224) + (xy 96.903133 76.054133) + (xy 97.022224 75.90902) + (xy 97.110717 75.743462) + (xy 97.165211 75.563821) + (xy 97.183611 75.377) + (xy 97.182922 75.37) + (xy 97.848389 75.37) + (xy 97.848751 75.373676) + (xy 97.863463 75.523058) + (xy 97.866789 75.556821) + (xy 97.867859 75.56035) + (xy 97.86786 75.560352) + (xy 97.882313 75.607996) + (xy 97.921283 75.736462) + (xy 97.923019 75.739711) + (xy 97.923023 75.739719) + (xy 98.005863 75.8947) + (xy 98.009776 75.90202) + (xy 98.128867 76.047133) + (xy 98.27398 76.166224) + (xy 98.356758 76.21047) + (xy 98.43628 76.252976) + (xy 98.436283 76.252977) + (xy 98.439538 76.254717) + (xy 98.619179 76.309211) + (xy 98.789781 76.326013) + (xy 98.795115 76.326539) + (xy 98.806 76.327611) + (xy 98.816885 76.326539) + (xy 98.820679 76.326165) + (xy 98.992821 76.309211) + (xy 99.172462 76.254717) + (xy 99.33802 76.166224) + (xy 99.483133 76.047133) + (xy 99.602224 75.90202) + (xy 99.690717 75.736462) + (xy 99.745211 75.556821) + (xy 99.763611 75.37) + (xy 100.348389 75.37) + (xy 100.348751 75.373676) + (xy 100.363463 75.523058) + (xy 100.366789 75.556821) + (xy 100.367859 75.56035) + (xy 100.36786 75.560352) + (xy 100.382313 75.607996) + (xy 100.421283 75.736462) + (xy 100.423019 75.739711) + (xy 100.423023 75.739719) + (xy 100.505863 75.8947) + (xy 100.509776 75.90202) + (xy 100.628867 76.047133) + (xy 100.77398 76.166224) + (xy 100.856758 76.21047) + (xy 100.93628 76.252976) + (xy 100.936283 76.252977) + (xy 100.939538 76.254717) + (xy 101.119179 76.309211) + (xy 101.289781 76.326013) + (xy 101.295115 76.326539) + (xy 101.306 76.327611) + (xy 101.316885 76.326539) + (xy 101.320679 76.326165) + (xy 101.492821 76.309211) + (xy 101.672462 76.254717) + (xy 101.83802 76.166224) + (xy 101.983133 76.047133) + (xy 102.102224 75.90202) + (xy 102.190717 75.736462) + (xy 102.245211 75.556821) + (xy 102.263611 75.37) + (xy 102.245211 75.183179) + (xy 102.190717 75.003538) + (xy 102.102224 74.83798) + (xy 101.983133 74.692867) + (xy 101.967147 74.679748) + (xy 101.849406 74.58312) + (xy 101.83802 74.573776) + (xy 101.797286 74.552003) + (xy 101.675719 74.487023) + (xy 101.675711 74.487019) + (xy 101.672462 74.485283) + (xy 101.547108 74.447257) + (xy 101.496352 74.43186) + (xy 101.49635 74.431859) + (xy 101.492821 74.430789) + (xy 101.48915 74.430427) + (xy 101.489148 74.430427) + (xy 101.309676 74.412751) + (xy 101.306 74.412389) + (xy 101.302324 74.412751) + (xy 101.122851 74.430427) + (xy 101.122847 74.430427) + (xy 101.119179 74.430789) + (xy 101.115651 74.431859) + (xy 101.115647 74.43186) + (xy 100.943068 74.484212) + (xy 100.943066 74.484212) + (xy 100.939538 74.485283) + (xy 100.936292 74.487018) + (xy 100.93628 74.487023) + (xy 100.777238 74.572034) + (xy 100.777233 74.572036) + (xy 100.77398 74.573776) + (xy 100.771127 74.576117) + (xy 100.771123 74.57612) + (xy 100.631722 74.690523) + (xy 100.631716 74.690528) + (xy 100.628867 74.692867) + (xy 100.626528 74.695716) + (xy 100.626523 74.695722) + (xy 100.51212 74.835123) + (xy 100.512117 74.835127) + (xy 100.509776 74.83798) + (xy 100.508036 74.841233) + (xy 100.508034 74.841238) + (xy 100.423023 75.00028) + (xy 100.423018 75.000292) + (xy 100.421283 75.003538) + (xy 100.420212 75.007066) + (xy 100.420212 75.007068) + (xy 100.41916 75.010538) + (xy 100.366789 75.183179) + (xy 100.366427 75.186847) + (xy 100.366427 75.186851) + (xy 100.365738 75.193851) + (xy 100.348389 75.37) + (xy 99.763611 75.37) + (xy 99.745211 75.183179) + (xy 99.690717 75.003538) + (xy 99.602224 74.83798) + (xy 99.483133 74.692867) + (xy 99.467147 74.679748) + (xy 99.349406 74.58312) + (xy 99.33802 74.573776) + (xy 99.297286 74.552003) + (xy 99.175719 74.487023) + (xy 99.175711 74.487019) + (xy 99.172462 74.485283) + (xy 99.047108 74.447257) + (xy 98.996352 74.43186) + (xy 98.99635 74.431859) + (xy 98.992821 74.430789) + (xy 98.98915 74.430427) + (xy 98.989148 74.430427) + (xy 98.809676 74.412751) + (xy 98.806 74.412389) + (xy 98.802324 74.412751) + (xy 98.622851 74.430427) + (xy 98.622847 74.430427) + (xy 98.619179 74.430789) + (xy 98.615651 74.431859) + (xy 98.615647 74.43186) + (xy 98.443068 74.484212) + (xy 98.443066 74.484212) + (xy 98.439538 74.485283) + (xy 98.436292 74.487018) + (xy 98.43628 74.487023) + (xy 98.277238 74.572034) + (xy 98.277233 74.572036) + (xy 98.27398 74.573776) + (xy 98.271127 74.576117) + (xy 98.271123 74.57612) + (xy 98.131722 74.690523) + (xy 98.131716 74.690528) + (xy 98.128867 74.692867) + (xy 98.126528 74.695716) + (xy 98.126523 74.695722) + (xy 98.01212 74.835123) + (xy 98.012117 74.835127) + (xy 98.009776 74.83798) + (xy 98.008036 74.841233) + (xy 98.008034 74.841238) + (xy 97.923023 75.00028) + (xy 97.923018 75.000292) + (xy 97.921283 75.003538) + (xy 97.920212 75.007066) + (xy 97.920212 75.007068) + (xy 97.91916 75.010538) + (xy 97.866789 75.183179) + (xy 97.866427 75.186847) + (xy 97.866427 75.186851) + (xy 97.865738 75.193851) + (xy 97.848389 75.37) + (xy 97.182922 75.37) + (xy 97.165211 75.190179) + (xy 97.110717 75.010538) + (xy 97.108862 75.007068) + (xy 97.028134 74.856037) + (xy 97.022224 74.84498) + (xy 96.903133 74.699867) + (xy 96.894603 74.692867) + (xy 96.760876 74.58312) + (xy 96.75802 74.580776) + (xy 96.70419 74.552003) + (xy 96.595719 74.494023) + (xy 96.595711 74.494019) + (xy 96.592462 74.492283) + (xy 96.430695 74.443211) + (xy 96.416352 74.43886) + (xy 96.41635 74.438859) + (xy 96.412821 74.437789) + (xy 96.40915 74.437427) + (xy 96.409148 74.437427) + (xy 96.229676 74.419751) + (xy 96.226 74.419389) + (xy 96.222324 74.419751) + (xy 96.042851 74.437427) + (xy 96.042847 74.437427) + (xy 96.039179 74.437789) + (xy 96.035651 74.438859) + (xy 96.035647 74.43886) + (xy 95.863068 74.491212) + (xy 95.863066 74.491212) + (xy 95.859538 74.492283) + (xy 95.856292 74.494018) + (xy 95.85628 74.494023) + (xy 95.697238 74.579034) + (xy 95.697233 74.579036) + (xy 95.69398 74.580776) + (xy 95.691127 74.583117) + (xy 95.691123 74.58312) + (xy 95.551722 74.697523) + (xy 95.551716 74.697528) + (xy 95.548867 74.699867) + (xy 95.546528 74.702716) + (xy 95.546523 74.702722) + (xy 95.43212 74.842123) + (xy 95.432117 74.842127) + (xy 95.429776 74.84498) + (xy 95.428036 74.848233) + (xy 95.428034 74.848238) + (xy 95.343023 75.00728) + (xy 95.343018 75.007292) + (xy 95.341283 75.010538) + (xy 95.340212 75.014066) + (xy 95.340212 75.014068) + (xy 95.289984 75.179647) + (xy 95.286789 75.190179) + (xy 95.286427 75.193847) + (xy 95.286427 75.193851) + (xy 95.273603 75.324062) + (xy 95.268389 75.377) + (xy 94.683611 75.377) + (xy 94.665211 75.190179) + (xy 94.610717 75.010538) + (xy 94.608862 75.007068) + (xy 94.528134 74.856037) + (xy 94.522224 74.84498) + (xy 94.403133 74.699867) + (xy 94.394603 74.692867) + (xy 94.260876 74.58312) + (xy 94.25802 74.580776) + (xy 94.20419 74.552003) + (xy 94.095719 74.494023) + (xy 94.095711 74.494019) + (xy 94.092462 74.492283) + (xy 93.930695 74.443211) + (xy 93.916352 74.43886) + (xy 93.91635 74.438859) + (xy 93.912821 74.437789) + (xy 93.90915 74.437427) + (xy 93.909148 74.437427) + (xy 93.729676 74.419751) + (xy 93.726 74.419389) + (xy 93.722324 74.419751) + (xy 93.542851 74.437427) + (xy 93.542847 74.437427) + (xy 93.539179 74.437789) + (xy 93.535651 74.438859) + (xy 93.535647 74.43886) + (xy 93.363068 74.491212) + (xy 93.363066 74.491212) + (xy 93.359538 74.492283) + (xy 93.356292 74.494018) + (xy 93.35628 74.494023) + (xy 93.197238 74.579034) + (xy 93.197233 74.579036) + (xy 93.19398 74.580776) + (xy 93.191127 74.583117) + (xy 93.191123 74.58312) + (xy 93.051722 74.697523) + (xy 93.051716 74.697528) + (xy 93.048867 74.699867) + (xy 93.046528 74.702716) + (xy 93.046523 74.702722) + (xy 92.93212 74.842123) + (xy 92.932117 74.842127) + (xy 92.929776 74.84498) + (xy 92.928036 74.848233) + (xy 92.928034 74.848238) + (xy 92.843023 75.00728) + (xy 92.843018 75.007292) + (xy 92.841283 75.010538) + (xy 92.840212 75.014066) + (xy 92.840212 75.014068) + (xy 92.789984 75.179647) + (xy 92.786789 75.190179) + (xy 92.786427 75.193847) + (xy 92.786427 75.193851) + (xy 92.773603 75.324062) + (xy 92.768389 75.377) + (xy 47.562 75.377) + (xy 47.562 72.877) + (xy 92.768389 72.877) + (xy 92.768751 72.880676) + (xy 92.786099 73.056821) + (xy 92.786789 73.063821) + (xy 92.787859 73.06735) + (xy 92.78786 73.067352) + (xy 92.790297 73.075386) + (xy 92.841283 73.243462) + (xy 92.843019 73.246711) + (xy 92.843023 73.246719) + (xy 92.924292 73.398761) + (xy 92.929776 73.40902) + (xy 93.048867 73.554133) + (xy 93.19398 73.673224) + (xy 93.276759 73.71747) + (xy 93.35628 73.759976) + (xy 93.356283 73.759977) + (xy 93.359538 73.761717) + (xy 93.539179 73.816211) + (xy 93.726 73.834611) + (xy 93.912821 73.816211) + (xy 94.092462 73.761717) + (xy 94.25802 73.673224) + (xy 94.403133 73.554133) + (xy 94.522224 73.40902) + (xy 94.610717 73.243462) + (xy 94.665211 73.063821) + (xy 94.682606 72.887204) + (xy 94.683249 72.880676) + (xy 94.683611 72.877) + (xy 95.268389 72.877) + (xy 95.268751 72.880676) + (xy 95.286099 73.056821) + (xy 95.286789 73.063821) + (xy 95.287859 73.06735) + (xy 95.28786 73.067352) + (xy 95.290297 73.075386) + (xy 95.341283 73.243462) + (xy 95.343019 73.246711) + (xy 95.343023 73.246719) + (xy 95.424292 73.398761) + (xy 95.429776 73.40902) + (xy 95.548867 73.554133) + (xy 95.69398 73.673224) + (xy 95.776759 73.71747) + (xy 95.85628 73.759976) + (xy 95.856283 73.759977) + (xy 95.859538 73.761717) + (xy 96.039179 73.816211) + (xy 96.226 73.834611) + (xy 96.412821 73.816211) + (xy 96.592462 73.761717) + (xy 96.75802 73.673224) + (xy 96.903133 73.554133) + (xy 97.022224 73.40902) + (xy 97.110717 73.243462) + (xy 97.165211 73.063821) + (xy 97.182606 72.887204) + (xy 97.183249 72.880676) + (xy 97.183611 72.877) + (xy 97.182922 72.87) + (xy 97.848389 72.87) + (xy 97.848751 72.873676) + (xy 97.856286 72.950187) + (xy 97.866789 73.056821) + (xy 97.867859 73.06035) + (xy 97.86786 73.060352) + (xy 97.87089 73.07034) + (xy 97.921283 73.236462) + (xy 97.923019 73.239711) + (xy 97.923023 73.239719) + (xy 98.008034 73.398761) + (xy 98.009776 73.40202) + (xy 98.128867 73.547133) + (xy 98.27398 73.666224) + (xy 98.356758 73.71047) + (xy 98.43628 73.752976) + (xy 98.436283 73.752977) + (xy 98.439538 73.754717) + (xy 98.619179 73.809211) + (xy 98.806 73.827611) + (xy 98.992821 73.809211) + (xy 99.172462 73.754717) + (xy 99.33802 73.666224) + (xy 99.483133 73.547133) + (xy 99.602224 73.40202) + (xy 99.690717 73.236462) + (xy 99.745211 73.056821) + (xy 99.763611 72.87) + (xy 100.348389 72.87) + (xy 100.348751 72.873676) + (xy 100.356286 72.950187) + (xy 100.366789 73.056821) + (xy 100.367859 73.06035) + (xy 100.36786 73.060352) + (xy 100.37089 73.07034) + (xy 100.421283 73.236462) + (xy 100.423019 73.239711) + (xy 100.423023 73.239719) + (xy 100.508034 73.398761) + (xy 100.509776 73.40202) + (xy 100.628867 73.547133) + (xy 100.77398 73.666224) + (xy 100.856758 73.71047) + (xy 100.93628 73.752976) + (xy 100.936283 73.752977) + (xy 100.939538 73.754717) + (xy 101.119179 73.809211) + (xy 101.306 73.827611) + (xy 101.492821 73.809211) + (xy 101.672462 73.754717) + (xy 101.83802 73.666224) + (xy 101.983133 73.547133) + (xy 102.102224 73.40202) + (xy 102.190717 73.236462) + (xy 102.245211 73.056821) + (xy 102.263611 72.87) + (xy 102.245211 72.683179) + (xy 102.190717 72.503538) + (xy 102.102224 72.33798) + (xy 101.983133 72.192867) + (xy 101.83802 72.073776) + (xy 101.834761 72.072034) + (xy 101.675719 71.987023) + (xy 101.675711 71.987019) + (xy 101.672462 71.985283) + (xy 101.582641 71.958035) + (xy 101.496352 71.93186) + (xy 101.49635 71.931859) + (xy 101.492821 71.930789) + (xy 101.48915 71.930427) + (xy 101.489148 71.930427) + (xy 101.309676 71.912751) + (xy 101.306 71.912389) + (xy 101.302324 71.912751) + (xy 101.122851 71.930427) + (xy 101.122847 71.930427) + (xy 101.119179 71.930789) + (xy 101.115651 71.931859) + (xy 101.115647 71.93186) + (xy 100.943068 71.984212) + (xy 100.943066 71.984212) + (xy 100.939538 71.985283) + (xy 100.936292 71.987018) + (xy 100.93628 71.987023) + (xy 100.777238 72.072034) + (xy 100.777233 72.072036) + (xy 100.77398 72.073776) + (xy 100.771127 72.076117) + (xy 100.771123 72.07612) + (xy 100.631722 72.190523) + (xy 100.631716 72.190528) + (xy 100.628867 72.192867) + (xy 100.626528 72.195716) + (xy 100.626523 72.195722) + (xy 100.51212 72.335123) + (xy 100.512117 72.335127) + (xy 100.509776 72.33798) + (xy 100.508036 72.341233) + (xy 100.508034 72.341238) + (xy 100.423023 72.50028) + (xy 100.423018 72.500292) + (xy 100.421283 72.503538) + (xy 100.420212 72.507066) + (xy 100.420212 72.507068) + (xy 100.41916 72.510538) + (xy 100.366789 72.683179) + (xy 100.366427 72.686847) + (xy 100.366427 72.686851) + (xy 100.356699 72.785627) + (xy 100.348389 72.87) + (xy 99.763611 72.87) + (xy 99.745211 72.683179) + (xy 99.690717 72.503538) + (xy 99.602224 72.33798) + (xy 99.483133 72.192867) + (xy 99.33802 72.073776) + (xy 99.334761 72.072034) + (xy 99.175719 71.987023) + (xy 99.175711 71.987019) + (xy 99.172462 71.985283) + (xy 99.082641 71.958035) + (xy 98.996352 71.93186) + (xy 98.99635 71.931859) + (xy 98.992821 71.930789) + (xy 98.98915 71.930427) + (xy 98.989148 71.930427) + (xy 98.809676 71.912751) + (xy 98.806 71.912389) + (xy 98.802324 71.912751) + (xy 98.622851 71.930427) + (xy 98.622847 71.930427) + (xy 98.619179 71.930789) + (xy 98.615651 71.931859) + (xy 98.615647 71.93186) + (xy 98.443068 71.984212) + (xy 98.443066 71.984212) + (xy 98.439538 71.985283) + (xy 98.436292 71.987018) + (xy 98.43628 71.987023) + (xy 98.277238 72.072034) + (xy 98.277233 72.072036) + (xy 98.27398 72.073776) + (xy 98.271127 72.076117) + (xy 98.271123 72.07612) + (xy 98.131722 72.190523) + (xy 98.131716 72.190528) + (xy 98.128867 72.192867) + (xy 98.126528 72.195716) + (xy 98.126523 72.195722) + (xy 98.01212 72.335123) + (xy 98.012117 72.335127) + (xy 98.009776 72.33798) + (xy 98.008036 72.341233) + (xy 98.008034 72.341238) + (xy 97.923023 72.50028) + (xy 97.923018 72.500292) + (xy 97.921283 72.503538) + (xy 97.920212 72.507066) + (xy 97.920212 72.507068) + (xy 97.91916 72.510538) + (xy 97.866789 72.683179) + (xy 97.866427 72.686847) + (xy 97.866427 72.686851) + (xy 97.856699 72.785627) + (xy 97.848389 72.87) + (xy 97.182922 72.87) + (xy 97.165211 72.690179) + (xy 97.110717 72.510538) + (xy 97.108862 72.507068) + (xy 97.023965 72.348238) + (xy 97.022224 72.34498) + (xy 96.903133 72.199867) + (xy 96.894603 72.192867) + (xy 96.760876 72.08312) + (xy 96.75802 72.080776) + (xy 96.741665 72.072034) + (xy 96.595719 71.994023) + (xy 96.595711 71.994019) + (xy 96.592462 71.992283) + (xy 96.412821 71.937789) + (xy 96.40915 71.937427) + (xy 96.409148 71.937427) + (xy 96.229676 71.919751) + (xy 96.226 71.919389) + (xy 96.222324 71.919751) + (xy 96.042851 71.937427) + (xy 96.042847 71.937427) + (xy 96.039179 71.937789) + (xy 96.035651 71.938859) + (xy 96.035647 71.93886) + (xy 95.863068 71.991212) + (xy 95.863066 71.991212) + (xy 95.859538 71.992283) + (xy 95.856292 71.994018) + (xy 95.85628 71.994023) + (xy 95.697238 72.079034) + (xy 95.697233 72.079036) + (xy 95.69398 72.080776) + (xy 95.691127 72.083117) + (xy 95.691123 72.08312) + (xy 95.551722 72.197523) + (xy 95.551716 72.197528) + (xy 95.548867 72.199867) + (xy 95.546528 72.202716) + (xy 95.546523 72.202722) + (xy 95.43212 72.342123) + (xy 95.432117 72.342127) + (xy 95.429776 72.34498) + (xy 95.428036 72.348233) + (xy 95.428034 72.348238) + (xy 95.343023 72.50728) + (xy 95.343018 72.507292) + (xy 95.341283 72.510538) + (xy 95.340212 72.514066) + (xy 95.340212 72.514068) + (xy 95.289984 72.679647) + (xy 95.286789 72.690179) + (xy 95.286427 72.693847) + (xy 95.286427 72.693851) + (xy 95.272513 72.835125) + (xy 95.268389 72.877) + (xy 94.683611 72.877) + (xy 94.665211 72.690179) + (xy 94.610717 72.510538) + (xy 94.608862 72.507068) + (xy 94.523965 72.348238) + (xy 94.522224 72.34498) + (xy 94.403133 72.199867) + (xy 94.394603 72.192867) + (xy 94.260876 72.08312) + (xy 94.25802 72.080776) + (xy 94.241665 72.072034) + (xy 94.095719 71.994023) + (xy 94.095711 71.994019) + (xy 94.092462 71.992283) + (xy 93.912821 71.937789) + (xy 93.90915 71.937427) + (xy 93.909148 71.937427) + (xy 93.729676 71.919751) + (xy 93.726 71.919389) + (xy 93.722324 71.919751) + (xy 93.542851 71.937427) + (xy 93.542847 71.937427) + (xy 93.539179 71.937789) + (xy 93.535651 71.938859) + (xy 93.535647 71.93886) + (xy 93.363068 71.991212) + (xy 93.363066 71.991212) + (xy 93.359538 71.992283) + (xy 93.356292 71.994018) + (xy 93.35628 71.994023) + (xy 93.197238 72.079034) + (xy 93.197233 72.079036) + (xy 93.19398 72.080776) + (xy 93.191127 72.083117) + (xy 93.191123 72.08312) + (xy 93.051722 72.197523) + (xy 93.051716 72.197528) + (xy 93.048867 72.199867) + (xy 93.046528 72.202716) + (xy 93.046523 72.202722) + (xy 92.93212 72.342123) + (xy 92.932117 72.342127) + (xy 92.929776 72.34498) + (xy 92.928036 72.348233) + (xy 92.928034 72.348238) + (xy 92.843023 72.50728) + (xy 92.843018 72.507292) + (xy 92.841283 72.510538) + (xy 92.840212 72.514066) + (xy 92.840212 72.514068) + (xy 92.789984 72.679647) + (xy 92.786789 72.690179) + (xy 92.786427 72.693847) + (xy 92.786427 72.693851) + (xy 92.772513 72.835125) + (xy 92.768389 72.877) + (xy 47.562 72.877) + (xy 47.562 70.491064) + (xy 47.569755 70.457804) + (xy 47.59142 70.431405) + (xy 47.651955 70.384955) + (xy 47.658059 70.377) + (xy 92.768389 70.377) + (xy 92.768751 70.380676) + (xy 92.786099 70.556821) + (xy 92.786789 70.563821) + (xy 92.787859 70.56735) + (xy 92.78786 70.567352) + (xy 92.809133 70.637479) + (xy 92.841283 70.743462) + (xy 92.843019 70.746711) + (xy 92.843023 70.746719) + (xy 92.924292 70.898761) + (xy 92.929776 70.90902) + (xy 93.048867 71.054133) + (xy 93.19398 71.173224) + (xy 93.276758 71.21747) + (xy 93.35628 71.259976) + (xy 93.356283 71.259977) + (xy 93.359538 71.261717) + (xy 93.539179 71.316211) + (xy 93.726 71.334611) + (xy 93.912821 71.316211) + (xy 94.092462 71.261717) + (xy 94.25802 71.173224) + (xy 94.403133 71.054133) + (xy 94.522224 70.90902) + (xy 94.610717 70.743462) + (xy 94.665211 70.563821) + (xy 94.683611 70.377) + (xy 95.268389 70.377) + (xy 95.268751 70.380676) + (xy 95.286099 70.556821) + (xy 95.286789 70.563821) + (xy 95.287859 70.56735) + (xy 95.28786 70.567352) + (xy 95.309133 70.637479) + (xy 95.341283 70.743462) + (xy 95.343019 70.746711) + (xy 95.343023 70.746719) + (xy 95.424292 70.898761) + (xy 95.429776 70.90902) + (xy 95.548867 71.054133) + (xy 95.69398 71.173224) + (xy 95.776758 71.21747) + (xy 95.85628 71.259976) + (xy 95.856283 71.259977) + (xy 95.859538 71.261717) + (xy 96.039179 71.316211) + (xy 96.226 71.334611) + (xy 96.412821 71.316211) + (xy 96.592462 71.261717) + (xy 96.75802 71.173224) + (xy 96.903133 71.054133) + (xy 97.022224 70.90902) + (xy 97.110717 70.743462) + (xy 97.165211 70.563821) + (xy 97.183611 70.377) + (xy 97.182922 70.37) + (xy 97.848389 70.37) + (xy 97.848751 70.373676) + (xy 97.860312 70.491064) + (xy 97.866789 70.556821) + (xy 97.867859 70.56035) + (xy 97.86786 70.560352) + (xy 97.889819 70.632741) + (xy 97.921283 70.736462) + (xy 97.923019 70.739711) + (xy 97.923023 70.739719) + (xy 97.990862 70.866634) + (xy 98.009776 70.90202) + (xy 98.128867 71.047133) + (xy 98.27398 71.166224) + (xy 98.356758 71.21047) + (xy 98.43628 71.252976) + (xy 98.436283 71.252977) + (xy 98.439538 71.254717) + (xy 98.619179 71.309211) + (xy 98.806 71.327611) + (xy 98.992821 71.309211) + (xy 99.172462 71.254717) + (xy 99.33802 71.166224) + (xy 99.483133 71.047133) + (xy 99.602224 70.90202) + (xy 99.690717 70.736462) + (xy 99.745211 70.556821) + (xy 99.763611 70.37) + (xy 100.348389 70.37) + (xy 100.348751 70.373676) + (xy 100.360312 70.491064) + (xy 100.366789 70.556821) + (xy 100.367859 70.56035) + (xy 100.36786 70.560352) + (xy 100.389819 70.632741) + (xy 100.421283 70.736462) + (xy 100.423019 70.739711) + (xy 100.423023 70.739719) + (xy 100.490862 70.866634) + (xy 100.509776 70.90202) + (xy 100.628867 71.047133) + (xy 100.77398 71.166224) + (xy 100.856758 71.21047) + (xy 100.93628 71.252976) + (xy 100.936283 71.252977) + (xy 100.939538 71.254717) + (xy 101.119179 71.309211) + (xy 101.306 71.327611) + (xy 101.492821 71.309211) + (xy 101.672462 71.254717) + (xy 101.83802 71.166224) + (xy 101.983133 71.047133) + (xy 102.102224 70.90202) + (xy 102.190717 70.736462) + (xy 102.245211 70.556821) + (xy 102.263611 70.37) + (xy 102.245211 70.183179) + (xy 102.190717 70.003538) + (xy 102.179376 69.982321) + (xy 102.107707 69.848238) + (xy 102.102224 69.83798) + (xy 101.983133 69.692867) + (xy 101.83802 69.573776) + (xy 101.82356 69.566047) + (xy 101.675719 69.487023) + (xy 101.675711 69.487019) + (xy 101.672462 69.485283) + (xy 101.582641 69.458035) + (xy 101.496352 69.43186) + (xy 101.49635 69.431859) + (xy 101.492821 69.430789) + (xy 101.48915 69.430427) + (xy 101.489148 69.430427) + (xy 101.309676 69.412751) + (xy 101.306 69.412389) + (xy 101.302324 69.412751) + (xy 101.122851 69.430427) + (xy 101.122847 69.430427) + (xy 101.119179 69.430789) + (xy 101.115651 69.431859) + (xy 101.115647 69.43186) + (xy 100.943068 69.484212) + (xy 100.943066 69.484212) + (xy 100.939538 69.485283) + (xy 100.936292 69.487018) + (xy 100.93628 69.487023) + (xy 100.777238 69.572034) + (xy 100.777233 69.572036) + (xy 100.77398 69.573776) + (xy 100.771127 69.576117) + (xy 100.771123 69.57612) + (xy 100.631722 69.690523) + (xy 100.631716 69.690528) + (xy 100.628867 69.692867) + (xy 100.626528 69.695716) + (xy 100.626523 69.695722) + (xy 100.51212 69.835123) + (xy 100.512117 69.835127) + (xy 100.509776 69.83798) + (xy 100.508036 69.841233) + (xy 100.508034 69.841238) + (xy 100.423023 70.00028) + (xy 100.423018 70.000292) + (xy 100.421283 70.003538) + (xy 100.420212 70.007066) + (xy 100.420212 70.007068) + (xy 100.37854 70.144442) + (xy 100.366789 70.183179) + (xy 100.366427 70.186847) + (xy 100.366427 70.186851) + (xy 100.354713 70.305792) + (xy 100.348389 70.37) + (xy 99.763611 70.37) + (xy 99.745211 70.183179) + (xy 99.690717 70.003538) + (xy 99.679376 69.982321) + (xy 99.607707 69.848238) + (xy 99.602224 69.83798) + (xy 99.483133 69.692867) + (xy 99.33802 69.573776) + (xy 99.32356 69.566047) + (xy 99.175719 69.487023) + (xy 99.175711 69.487019) + (xy 99.172462 69.485283) + (xy 99.082641 69.458035) + (xy 98.996352 69.43186) + (xy 98.99635 69.431859) + (xy 98.992821 69.430789) + (xy 98.98915 69.430427) + (xy 98.989148 69.430427) + (xy 98.809676 69.412751) + (xy 98.806 69.412389) + (xy 98.802324 69.412751) + (xy 98.622851 69.430427) + (xy 98.622847 69.430427) + (xy 98.619179 69.430789) + (xy 98.615651 69.431859) + (xy 98.615647 69.43186) + (xy 98.443068 69.484212) + (xy 98.443066 69.484212) + (xy 98.439538 69.485283) + (xy 98.436292 69.487018) + (xy 98.43628 69.487023) + (xy 98.277238 69.572034) + (xy 98.277233 69.572036) + (xy 98.27398 69.573776) + (xy 98.271127 69.576117) + (xy 98.271123 69.57612) + (xy 98.131722 69.690523) + (xy 98.131716 69.690528) + (xy 98.128867 69.692867) + (xy 98.126528 69.695716) + (xy 98.126523 69.695722) + (xy 98.01212 69.835123) + (xy 98.012117 69.835127) + (xy 98.009776 69.83798) + (xy 98.008036 69.841233) + (xy 98.008034 69.841238) + (xy 97.923023 70.00028) + (xy 97.923018 70.000292) + (xy 97.921283 70.003538) + (xy 97.920212 70.007066) + (xy 97.920212 70.007068) + (xy 97.87854 70.144442) + (xy 97.866789 70.183179) + (xy 97.866427 70.186847) + (xy 97.866427 70.186851) + (xy 97.854713 70.305792) + (xy 97.848389 70.37) + (xy 97.182922 70.37) + (xy 97.165211 70.190179) + (xy 97.110717 70.010538) + (xy 97.108862 70.007068) + (xy 97.023965 69.848238) + (xy 97.022224 69.84498) + (xy 96.903133 69.699867) + (xy 96.894603 69.692867) + (xy 96.783872 69.601992) + (xy 96.75802 69.580776) + (xy 96.730464 69.566047) + (xy 96.595719 69.494023) + (xy 96.595711 69.494019) + (xy 96.592462 69.492283) + (xy 96.412821 69.437789) + (xy 96.40915 69.437427) + (xy 96.409148 69.437427) + (xy 96.229676 69.419751) + (xy 96.226 69.419389) + (xy 96.222324 69.419751) + (xy 96.042851 69.437427) + (xy 96.042847 69.437427) + (xy 96.039179 69.437789) + (xy 96.035651 69.438859) + (xy 96.035647 69.43886) + (xy 95.863068 69.491212) + (xy 95.863066 69.491212) + (xy 95.859538 69.492283) + (xy 95.856292 69.494018) + (xy 95.85628 69.494023) + (xy 95.697238 69.579034) + (xy 95.697233 69.579036) + (xy 95.69398 69.580776) + (xy 95.691127 69.583117) + (xy 95.691123 69.58312) + (xy 95.551722 69.697523) + (xy 95.551716 69.697528) + (xy 95.548867 69.699867) + (xy 95.546528 69.702716) + (xy 95.546523 69.702722) + (xy 95.43212 69.842123) + (xy 95.432117 69.842127) + (xy 95.429776 69.84498) + (xy 95.428036 69.848233) + (xy 95.428034 69.848238) + (xy 95.343023 70.00728) + (xy 95.343018 70.007292) + (xy 95.341283 70.010538) + (xy 95.340212 70.014066) + (xy 95.340212 70.014068) + (xy 95.289984 70.179647) + (xy 95.286789 70.190179) + (xy 95.286427 70.193847) + (xy 95.286427 70.193851) + (xy 95.280651 70.2525) + (xy 95.268389 70.377) + (xy 94.683611 70.377) + (xy 94.665211 70.190179) + (xy 94.610717 70.010538) + (xy 94.608862 70.007068) + (xy 94.523965 69.848238) + (xy 94.522224 69.84498) + (xy 94.403133 69.699867) + (xy 94.394603 69.692867) + (xy 94.283872 69.601992) + (xy 94.25802 69.580776) + (xy 94.230464 69.566047) + (xy 94.095719 69.494023) + (xy 94.095711 69.494019) + (xy 94.092462 69.492283) + (xy 93.912821 69.437789) + (xy 93.90915 69.437427) + (xy 93.909148 69.437427) + (xy 93.729676 69.419751) + (xy 93.726 69.419389) + (xy 93.722324 69.419751) + (xy 93.542851 69.437427) + (xy 93.542847 69.437427) + (xy 93.539179 69.437789) + (xy 93.535651 69.438859) + (xy 93.535647 69.43886) + (xy 93.363068 69.491212) + (xy 93.363066 69.491212) + (xy 93.359538 69.492283) + (xy 93.356292 69.494018) + (xy 93.35628 69.494023) + (xy 93.197238 69.579034) + (xy 93.197233 69.579036) + (xy 93.19398 69.580776) + (xy 93.191127 69.583117) + (xy 93.191123 69.58312) + (xy 93.051722 69.697523) + (xy 93.051716 69.697528) + (xy 93.048867 69.699867) + (xy 93.046528 69.702716) + (xy 93.046523 69.702722) + (xy 92.93212 69.842123) + (xy 92.932117 69.842127) + (xy 92.929776 69.84498) + (xy 92.928036 69.848233) + (xy 92.928034 69.848238) + (xy 92.843023 70.00728) + (xy 92.843018 70.007292) + (xy 92.841283 70.010538) + (xy 92.840212 70.014066) + (xy 92.840212 70.014068) + (xy 92.789984 70.179647) + (xy 92.786789 70.190179) + (xy 92.786427 70.193847) + (xy 92.786427 70.193851) + (xy 92.780651 70.2525) + (xy 92.768389 70.377) + (xy 47.658059 70.377) + (xy 47.743641 70.265468) + (xy 47.801277 70.126322) + (xy 47.820936 69.977) + (xy 47.801277 69.827678) + (xy 47.747621 69.698141) + (xy 47.745525 69.69308) + (xy 47.745524 69.693079) + (xy 47.743641 69.688532) + (xy 47.651955 69.569045) + (xy 47.59142 69.522594) + (xy 47.569755 69.496196) + (xy 47.562 69.462936) + (xy 47.562 68.657) + (xy 88.094566 68.657) + (xy 88.11427 68.907363) + (xy 88.114957 68.910226) + (xy 88.114959 68.910236) + (xy 88.168574 69.133554) + (xy 88.172897 69.151561) + (xy 88.174028 69.154293) + (xy 88.174029 69.154294) + (xy 88.243168 69.321212) + (xy 88.269003 69.383582) + (xy 88.27054 69.38609) + (xy 88.270542 69.386094) + (xy 88.39128 69.58312) + (xy 88.400222 69.597712) + (xy 88.402136 69.599953) + (xy 88.402139 69.599957) + (xy 88.485039 69.69702) + (xy 88.563322 69.788678) + (xy 88.754288 69.951778) + (xy 88.968418 70.082997) + (xy 89.200439 70.179103) + (xy 89.444637 70.23773) + (xy 89.632308 70.2525) + (xy 89.756212 70.2525) + (xy 89.757692 70.2525) + (xy 89.945363 70.23773) + (xy 90.189561 70.179103) + (xy 90.421582 70.082997) + (xy 90.635712 69.951778) + (xy 90.826678 69.788678) + (xy 90.989778 69.597712) + (xy 91.120997 69.383582) + (xy 91.217103 69.151561) + (xy 91.27573 68.907363) + (xy 91.295434 68.657) + (xy 91.293669 68.634569) + (xy 93.151268 68.634569) + (xy 93.156004 68.641412) + (xy 93.191401 68.670461) + (xy 93.197521 68.67455) + (xy 93.356467 68.759508) + (xy 93.363268 68.762326) + (xy 93.535742 68.814645) + (xy 93.542952 68.81608) + (xy 93.722325 68.833747) + (xy 93.729675 68.833747) + (xy 93.909047 68.81608) + (xy 93.916257 68.814645) + (xy 94.088731 68.762326) + (xy 94.095532 68.759508) + (xy 94.25448 68.674549) + (xy 94.260597 68.670462) + (xy 94.295993 68.641412) + (xy 94.300729 68.634569) + (xy 95.651268 68.634569) + (xy 95.656004 68.641412) + (xy 95.691401 68.670461) + (xy 95.697521 68.67455) + (xy 95.856467 68.759508) + (xy 95.863268 68.762326) + (xy 96.035742 68.814645) + (xy 96.042952 68.81608) + (xy 96.222325 68.833747) + (xy 96.229675 68.833747) + (xy 96.409047 68.81608) + (xy 96.416257 68.814645) + (xy 96.588731 68.762326) + (xy 96.595532 68.759508) + (xy 96.75448 68.674549) + (xy 96.760597 68.670462) + (xy 96.795993 68.641412) + (xy 96.80073 68.634568) + (xy 96.796685 68.62729) + (xy 96.233 68.063605) + (xy 96.226 68.059563) + (xy 96.218999 68.063605) + (xy 95.655314 68.627289) + (xy 95.651268 68.634569) + (xy 94.300729 68.634569) + (xy 94.30073 68.634568) + (xy 94.296685 68.62729) + (xy 93.733 68.063605) + (xy 93.726 68.059563) + (xy 93.718999 68.063605) + (xy 93.155314 68.627289) + (xy 93.151268 68.634569) + (xy 91.293669 68.634569) + (xy 91.27573 68.406637) + (xy 91.217103 68.162439) + (xy 91.120997 67.930418) + (xy 91.090514 67.880675) + (xy 92.769253 67.880675) + (xy 92.786919 68.060047) + (xy 92.788354 68.067257) + (xy 92.840673 68.239731) + (xy 92.843491 68.246532) + (xy 92.928449 68.405478) + (xy 92.932538 68.411598) + (xy 92.961586 68.446994) + (xy 92.96843 68.45173) + (xy 92.975709 68.447684) + (xy 93.539394 67.884) + (xy 93.543436 67.877) + (xy 93.908563 67.877) + (xy 93.912605 67.884) + (xy 94.47629 68.447685) + (xy 94.483568 68.45173) + (xy 94.490412 68.446993) + (xy 94.519462 68.411597) + (xy 94.523549 68.40548) + (xy 94.608508 68.246532) + (xy 94.611326 68.239731) + (xy 94.663645 68.067257) + (xy 94.66508 68.060047) + (xy 94.682747 67.880675) + (xy 95.269253 67.880675) + (xy 95.286919 68.060047) + (xy 95.288354 68.067257) + (xy 95.340673 68.239731) + (xy 95.343491 68.246532) + (xy 95.428449 68.405478) + (xy 95.432538 68.411598) + (xy 95.461586 68.446994) + (xy 95.46843 68.45173) + (xy 95.475709 68.447684) + (xy 96.039394 67.884) + (xy 96.043436 67.877) + (xy 96.408563 67.877) + (xy 96.412605 67.884) + (xy 96.97629 68.447685) + (xy 96.983568 68.45173) + (xy 96.990412 68.446993) + (xy 97.019462 68.411597) + (xy 97.023549 68.40548) + (xy 97.108508 68.246532) + (xy 97.111326 68.239731) + (xy 97.163645 68.067257) + (xy 97.16508 68.060047) + (xy 97.182747 67.880675) + (xy 97.182747 67.873325) + (xy 97.18242 67.87) + (xy 97.848389 67.87) + (xy 97.848751 67.873676) + (xy 97.854339 67.930418) + (xy 97.866789 68.056821) + (xy 97.921283 68.236462) + (xy 97.923019 68.239711) + (xy 97.923023 68.239719) + (xy 98.008034 68.398761) + (xy 98.009776 68.40202) + (xy 98.036011 68.433987) + (xy 98.111464 68.525928) + (xy 98.128867 68.547133) + (xy 98.27398 68.666224) + (xy 98.289557 68.67455) + (xy 98.43628 68.752976) + (xy 98.436283 68.752977) + (xy 98.439538 68.754717) + (xy 98.619179 68.809211) + (xy 98.806 68.827611) + (xy 98.992821 68.809211) + (xy 99.172462 68.754717) + (xy 99.33802 68.666224) + (xy 99.483133 68.547133) + (xy 99.602224 68.40202) + (xy 99.690717 68.236462) + (xy 99.745211 68.056821) + (xy 99.763611 67.87) + (xy 100.348389 67.87) + (xy 100.348751 67.873676) + (xy 100.354339 67.930418) + (xy 100.366789 68.056821) + (xy 100.421283 68.236462) + (xy 100.423019 68.239711) + (xy 100.423023 68.239719) + (xy 100.508034 68.398761) + (xy 100.509776 68.40202) + (xy 100.536011 68.433987) + (xy 100.611464 68.525928) + (xy 100.628867 68.547133) + (xy 100.77398 68.666224) + (xy 100.789557 68.67455) + (xy 100.93628 68.752976) + (xy 100.936283 68.752977) + (xy 100.939538 68.754717) + (xy 101.119179 68.809211) + (xy 101.306 68.827611) + (xy 101.492821 68.809211) + (xy 101.672462 68.754717) + (xy 101.83802 68.666224) + (xy 101.983133 68.547133) + (xy 102.102224 68.40202) + (xy 102.190717 68.236462) + (xy 102.245211 68.056821) + (xy 102.263611 67.87) + (xy 102.245211 67.683179) + (xy 102.190717 67.503538) + (xy 102.102224 67.33798) + (xy 101.983133 67.192867) + (xy 101.83802 67.073776) + (xy 101.834761 67.072034) + (xy 101.675719 66.987023) + (xy 101.675711 66.987019) + (xy 101.672462 66.985283) + (xy 101.521056 66.939354) + (xy 101.496352 66.93186) + (xy 101.49635 66.931859) + (xy 101.492821 66.930789) + (xy 101.48915 66.930427) + (xy 101.489148 66.930427) + (xy 101.309676 66.912751) + (xy 101.306 66.912389) + (xy 101.302324 66.912751) + (xy 101.122851 66.930427) + (xy 101.122847 66.930427) + (xy 101.119179 66.930789) + (xy 101.115651 66.931859) + (xy 101.115647 66.93186) + (xy 100.943068 66.984212) + (xy 100.943066 66.984212) + (xy 100.939538 66.985283) + (xy 100.936292 66.987018) + (xy 100.93628 66.987023) + (xy 100.777238 67.072034) + (xy 100.777233 67.072036) + (xy 100.77398 67.073776) + (xy 100.771127 67.076117) + (xy 100.771123 67.07612) + (xy 100.631722 67.190523) + (xy 100.631716 67.190528) + (xy 100.628867 67.192867) + (xy 100.626528 67.195716) + (xy 100.626523 67.195722) + (xy 100.51212 67.335123) + (xy 100.512117 67.335127) + (xy 100.509776 67.33798) + (xy 100.508036 67.341233) + (xy 100.508034 67.341238) + (xy 100.423023 67.50028) + (xy 100.423018 67.500292) + (xy 100.421283 67.503538) + (xy 100.366789 67.683179) + (xy 100.366427 67.686847) + (xy 100.366427 67.686851) + (xy 100.358698 67.765327) + (xy 100.348389 67.87) + (xy 99.763611 67.87) + (xy 99.745211 67.683179) + (xy 99.690717 67.503538) + (xy 99.602224 67.33798) + (xy 99.483133 67.192867) + (xy 99.33802 67.073776) + (xy 99.334761 67.072034) + (xy 99.175719 66.987023) + (xy 99.175711 66.987019) + (xy 99.172462 66.985283) + (xy 99.021056 66.939354) + (xy 98.996352 66.93186) + (xy 98.99635 66.931859) + (xy 98.992821 66.930789) + (xy 98.98915 66.930427) + (xy 98.989148 66.930427) + (xy 98.809676 66.912751) + (xy 98.806 66.912389) + (xy 98.802324 66.912751) + (xy 98.622851 66.930427) + (xy 98.622847 66.930427) + (xy 98.619179 66.930789) + (xy 98.615651 66.931859) + (xy 98.615647 66.93186) + (xy 98.443068 66.984212) + (xy 98.443066 66.984212) + (xy 98.439538 66.985283) + (xy 98.436292 66.987018) + (xy 98.43628 66.987023) + (xy 98.277238 67.072034) + (xy 98.277233 67.072036) + (xy 98.27398 67.073776) + (xy 98.271127 67.076117) + (xy 98.271123 67.07612) + (xy 98.131722 67.190523) + (xy 98.131716 67.190528) + (xy 98.128867 67.192867) + (xy 98.126528 67.195716) + (xy 98.126523 67.195722) + (xy 98.01212 67.335123) + (xy 98.012117 67.335127) + (xy 98.009776 67.33798) + (xy 98.008036 67.341233) + (xy 98.008034 67.341238) + (xy 97.923023 67.50028) + (xy 97.923018 67.500292) + (xy 97.921283 67.503538) + (xy 97.866789 67.683179) + (xy 97.866427 67.686847) + (xy 97.866427 67.686851) + (xy 97.858698 67.765327) + (xy 97.848389 67.87) + (xy 97.18242 67.87) + (xy 97.16508 67.693952) + (xy 97.163645 67.686742) + (xy 97.111326 67.514268) + (xy 97.108508 67.507467) + (xy 97.02355 67.348521) + (xy 97.019461 67.342401) + (xy 96.990412 67.307004) + (xy 96.983569 67.302268) + (xy 96.976289 67.306314) + (xy 96.412605 67.869999) + (xy 96.408563 67.877) + (xy 96.043436 67.877) + (xy 96.039394 67.869999) + (xy 95.475709 67.306314) + (xy 95.46843 67.302269) + (xy 95.461585 67.307006) + (xy 95.432538 67.3424) + (xy 95.428448 67.348523) + (xy 95.343491 67.507467) + (xy 95.340673 67.514268) + (xy 95.288354 67.686742) + (xy 95.286919 67.693952) + (xy 95.269253 67.873325) + (xy 95.269253 67.880675) + (xy 94.682747 67.880675) + (xy 94.682747 67.873325) + (xy 94.66508 67.693952) + (xy 94.663645 67.686742) + (xy 94.611326 67.514268) + (xy 94.608508 67.507467) + (xy 94.52355 67.348521) + (xy 94.519461 67.342401) + (xy 94.490412 67.307004) + (xy 94.483569 67.302268) + (xy 94.476289 67.306314) + (xy 93.912605 67.869999) + (xy 93.908563 67.877) + (xy 93.543436 67.877) + (xy 93.539394 67.869999) + (xy 92.975709 67.306314) + (xy 92.96843 67.302269) + (xy 92.961585 67.307006) + (xy 92.932538 67.3424) + (xy 92.928448 67.348523) + (xy 92.843491 67.507467) + (xy 92.840673 67.514268) + (xy 92.788354 67.686742) + (xy 92.786919 67.693952) + (xy 92.769253 67.873325) + (xy 92.769253 67.880675) + (xy 91.090514 67.880675) + (xy 90.989778 67.716288) + (xy 90.970701 67.693952) + (xy 90.828591 67.527562) + (xy 90.826678 67.525322) + (xy 90.635712 67.362222) + (xy 90.633196 67.36068) + (xy 90.424094 67.232542) + (xy 90.42409 67.23254) + (xy 90.421582 67.231003) + (xy 90.386083 67.216299) + (xy 90.192294 67.136029) + (xy 90.192293 67.136028) + (xy 90.189561 67.134897) + (xy 90.186683 67.134206) + (xy 90.18668 67.134205) + (xy 90.125138 67.11943) + (xy 93.151269 67.11943) + (xy 93.155314 67.126709) + (xy 93.718999 67.690394) + (xy 93.725999 67.694436) + (xy 93.733 67.690394) + (xy 94.296684 67.126709) + (xy 94.30073 67.11943) + (xy 95.651269 67.11943) + (xy 95.655314 67.126709) + (xy 96.218999 67.690394) + (xy 96.225999 67.694436) + (xy 96.233 67.690394) + (xy 96.796684 67.126709) + (xy 96.80073 67.11943) + (xy 96.795994 67.112586) + (xy 96.760598 67.083538) + (xy 96.754478 67.079449) + (xy 96.595532 66.994491) + (xy 96.588731 66.991673) + (xy 96.416257 66.939354) + (xy 96.409047 66.937919) + (xy 96.229675 66.920253) + (xy 96.222325 66.920253) + (xy 96.042952 66.937919) + (xy 96.035742 66.939354) + (xy 95.863268 66.991673) + (xy 95.856467 66.994491) + (xy 95.697523 67.079448) + (xy 95.6914 67.083538) + (xy 95.656006 67.112585) + (xy 95.651269 67.11943) + (xy 94.30073 67.11943) + (xy 94.295994 67.112586) + (xy 94.260598 67.083538) + (xy 94.254478 67.079449) + (xy 94.095532 66.994491) + (xy 94.088731 66.991673) + (xy 93.916257 66.939354) + (xy 93.909047 66.937919) + (xy 93.729675 66.920253) + (xy 93.722325 66.920253) + (xy 93.542952 66.937919) + (xy 93.535742 66.939354) + (xy 93.363268 66.991673) + (xy 93.356467 66.994491) + (xy 93.197523 67.079448) + (xy 93.1914 67.083538) + (xy 93.156006 67.112585) + (xy 93.151269 67.11943) + (xy 90.125138 67.11943) + (xy 89.948236 67.076959) + (xy 89.948226 67.076957) + (xy 89.945363 67.07627) + (xy 89.942416 67.076038) + (xy 89.759169 67.061616) + (xy 89.759162 67.061615) + (xy 89.757692 67.0615) + (xy 89.632308 67.0615) + (xy 89.630838 67.061615) + (xy 89.63083 67.061616) + (xy 89.447583 67.076038) + (xy 89.447581 67.076038) + (xy 89.444637 67.07627) + (xy 89.441775 67.076957) + (xy 89.441763 67.076959) + (xy 89.203319 67.134205) + (xy 89.203312 67.134207) + (xy 89.200439 67.134897) + (xy 89.19771 67.136027) + (xy 89.197705 67.136029) + (xy 88.97114 67.229875) + (xy 88.971134 67.229877) + (xy 88.968418 67.231003) + (xy 88.965914 67.232537) + (xy 88.965905 67.232542) + (xy 88.756803 67.36068) + (xy 88.756795 67.360685) + (xy 88.754288 67.362222) + (xy 88.752051 67.364131) + (xy 88.752042 67.364139) + (xy 88.565562 67.523408) + (xy 88.565556 67.523413) + (xy 88.563322 67.525322) + (xy 88.561413 67.527556) + (xy 88.561408 67.527562) + (xy 88.402139 67.714042) + (xy 88.402131 67.714051) + (xy 88.400222 67.716288) + (xy 88.398685 67.718795) + (xy 88.39868 67.718803) + (xy 88.270542 67.927905) + (xy 88.270537 67.927914) + (xy 88.269003 67.930418) + (xy 88.267877 67.933134) + (xy 88.267875 67.93314) + (xy 88.178524 68.148853) + (xy 88.172897 68.162439) + (xy 88.172207 68.165312) + (xy 88.172205 68.165319) + (xy 88.114959 68.403763) + (xy 88.114957 68.403775) + (xy 88.11427 68.406637) + (xy 88.114038 68.409581) + (xy 88.114038 68.409583) + (xy 88.105152 68.522491) + (xy 88.094566 68.657) + (xy 47.562 68.657) + (xy 47.562 65.377) + (xy 92.768389 65.377) + (xy 92.768751 65.380676) + (xy 92.786099 65.556821) + (xy 92.786789 65.563821) + (xy 92.841283 65.743462) + (xy 92.843019 65.746711) + (xy 92.843023 65.746719) + (xy 92.867989 65.793426) + (xy 92.929776 65.90902) + (xy 93.048867 66.054133) + (xy 93.19398 66.173224) + (xy 93.276758 66.21747) + (xy 93.35628 66.259976) + (xy 93.356283 66.259977) + (xy 93.359538 66.261717) + (xy 93.539179 66.316211) + (xy 93.726 66.334611) + (xy 93.912821 66.316211) + (xy 94.092462 66.261717) + (xy 94.25802 66.173224) + (xy 94.403133 66.054133) + (xy 94.522224 65.90902) + (xy 94.610717 65.743462) + (xy 94.665211 65.563821) + (xy 94.683611 65.377) + (xy 95.268389 65.377) + (xy 95.268751 65.380676) + (xy 95.286099 65.556821) + (xy 95.286789 65.563821) + (xy 95.341283 65.743462) + (xy 95.343019 65.746711) + (xy 95.343023 65.746719) + (xy 95.367989 65.793426) + (xy 95.429776 65.90902) + (xy 95.548867 66.054133) + (xy 95.69398 66.173224) + (xy 95.776758 66.21747) + (xy 95.85628 66.259976) + (xy 95.856283 66.259977) + (xy 95.859538 66.261717) + (xy 96.039179 66.316211) + (xy 96.226 66.334611) + (xy 96.412821 66.316211) + (xy 96.592462 66.261717) + (xy 96.75802 66.173224) + (xy 96.903133 66.054133) + (xy 97.022224 65.90902) + (xy 97.110717 65.743462) + (xy 97.165211 65.563821) + (xy 97.183611 65.377) + (xy 97.182922 65.37) + (xy 97.848389 65.37) + (xy 97.866789 65.556821) + (xy 97.867859 65.56035) + (xy 97.86786 65.560352) + (xy 97.881705 65.605993) + (xy 97.921283 65.736462) + (xy 97.923019 65.739711) + (xy 97.923023 65.739719) + (xy 98.008034 65.898761) + (xy 98.009776 65.90202) + (xy 98.01212 65.904876) + (xy 98.096288 66.007436) + (xy 98.128867 66.047133) + (xy 98.27398 66.166224) + (xy 98.356758 66.21047) + (xy 98.43628 66.252976) + (xy 98.436283 66.252977) + (xy 98.439538 66.254717) + (xy 98.619179 66.309211) + (xy 98.806 66.327611) + (xy 98.992821 66.309211) + (xy 99.172462 66.254717) + (xy 99.33802 66.166224) + (xy 99.483133 66.047133) + (xy 99.602224 65.90202) + (xy 99.690717 65.736462) + (xy 99.745211 65.556821) + (xy 99.763611 65.37) + (xy 100.348389 65.37) + (xy 100.366789 65.556821) + (xy 100.367859 65.56035) + (xy 100.36786 65.560352) + (xy 100.381705 65.605993) + (xy 100.421283 65.736462) + (xy 100.423019 65.739711) + (xy 100.423023 65.739719) + (xy 100.508034 65.898761) + (xy 100.509776 65.90202) + (xy 100.51212 65.904876) + (xy 100.596288 66.007436) + (xy 100.628867 66.047133) + (xy 100.77398 66.166224) + (xy 100.856758 66.21047) + (xy 100.93628 66.252976) + (xy 100.936283 66.252977) + (xy 100.939538 66.254717) + (xy 101.119179 66.309211) + (xy 101.306 66.327611) + (xy 101.492821 66.309211) + (xy 101.672462 66.254717) + (xy 101.83802 66.166224) + (xy 101.983133 66.047133) + (xy 102.102224 65.90202) + (xy 102.190717 65.736462) + (xy 102.245211 65.556821) + (xy 102.263611 65.37) + (xy 102.245211 65.183179) + (xy 102.190717 65.003538) + (xy 102.102224 64.83798) + (xy 101.983133 64.692867) + (xy 101.83802 64.573776) + (xy 101.834761 64.572034) + (xy 101.675719 64.487023) + (xy 101.675711 64.487019) + (xy 101.672462 64.485283) + (xy 101.582641 64.458036) + (xy 101.496352 64.43186) + (xy 101.49635 64.431859) + (xy 101.492821 64.430789) + (xy 101.48915 64.430427) + (xy 101.489148 64.430427) + (xy 101.309676 64.412751) + (xy 101.306 64.412389) + (xy 101.302324 64.412751) + (xy 101.122851 64.430427) + (xy 101.122847 64.430427) + (xy 101.119179 64.430789) + (xy 101.115651 64.431859) + (xy 101.115647 64.43186) + (xy 100.943068 64.484212) + (xy 100.943066 64.484212) + (xy 100.939538 64.485283) + (xy 100.936292 64.487018) + (xy 100.93628 64.487023) + (xy 100.777238 64.572034) + (xy 100.777233 64.572036) + (xy 100.77398 64.573776) + (xy 100.771127 64.576117) + (xy 100.771123 64.57612) + (xy 100.631722 64.690523) + (xy 100.631716 64.690528) + (xy 100.628867 64.692867) + (xy 100.626528 64.695716) + (xy 100.626523 64.695722) + (xy 100.51212 64.835123) + (xy 100.512117 64.835127) + (xy 100.509776 64.83798) + (xy 100.508036 64.841233) + (xy 100.508034 64.841238) + (xy 100.423023 65.00028) + (xy 100.423018 65.000292) + (xy 100.421283 65.003538) + (xy 100.420212 65.007066) + (xy 100.420212 65.007068) + (xy 100.372549 65.164192) + (xy 100.366789 65.183179) + (xy 100.366427 65.186847) + (xy 100.366427 65.186851) + (xy 100.362869 65.222979) + (xy 100.348389 65.37) + (xy 99.763611 65.37) + (xy 99.745211 65.183179) + (xy 99.690717 65.003538) + (xy 99.602224 64.83798) + (xy 99.483133 64.692867) + (xy 99.33802 64.573776) + (xy 99.334761 64.572034) + (xy 99.175719 64.487023) + (xy 99.175711 64.487019) + (xy 99.172462 64.485283) + (xy 99.082641 64.458036) + (xy 98.996352 64.43186) + (xy 98.99635 64.431859) + (xy 98.992821 64.430789) + (xy 98.98915 64.430427) + (xy 98.989148 64.430427) + (xy 98.809676 64.412751) + (xy 98.806 64.412389) + (xy 98.802324 64.412751) + (xy 98.622851 64.430427) + (xy 98.622847 64.430427) + (xy 98.619179 64.430789) + (xy 98.615651 64.431859) + (xy 98.615647 64.43186) + (xy 98.443068 64.484212) + (xy 98.443066 64.484212) + (xy 98.439538 64.485283) + (xy 98.436292 64.487018) + (xy 98.43628 64.487023) + (xy 98.277238 64.572034) + (xy 98.277233 64.572036) + (xy 98.27398 64.573776) + (xy 98.271127 64.576117) + (xy 98.271123 64.57612) + (xy 98.131722 64.690523) + (xy 98.131716 64.690528) + (xy 98.128867 64.692867) + (xy 98.126528 64.695716) + (xy 98.126523 64.695722) + (xy 98.01212 64.835123) + (xy 98.012117 64.835127) + (xy 98.009776 64.83798) + (xy 98.008036 64.841233) + (xy 98.008034 64.841238) + (xy 97.923023 65.00028) + (xy 97.923018 65.000292) + (xy 97.921283 65.003538) + (xy 97.920212 65.007066) + (xy 97.920212 65.007068) + (xy 97.872549 65.164192) + (xy 97.866789 65.183179) + (xy 97.866427 65.186847) + (xy 97.866427 65.186851) + (xy 97.862869 65.222979) + (xy 97.848389 65.37) + (xy 97.182922 65.37) + (xy 97.165211 65.190179) + (xy 97.110717 65.010538) + (xy 97.108862 65.007068) + (xy 97.023965 64.848238) + (xy 97.022224 64.84498) + (xy 96.903133 64.699867) + (xy 96.897413 64.695173) + (xy 96.802748 64.617483) + (xy 96.75802 64.580776) + (xy 96.741665 64.572034) + (xy 96.595719 64.494023) + (xy 96.595711 64.494019) + (xy 96.592462 64.492283) + (xy 96.412821 64.437789) + (xy 96.40915 64.437427) + (xy 96.409148 64.437427) + (xy 96.229676 64.419751) + (xy 96.226 64.419389) + (xy 96.222324 64.419751) + (xy 96.042851 64.437427) + (xy 96.042847 64.437427) + (xy 96.039179 64.437789) + (xy 96.035651 64.438859) + (xy 96.035647 64.43886) + (xy 95.863068 64.491212) + (xy 95.863066 64.491212) + (xy 95.859538 64.492283) + (xy 95.856292 64.494018) + (xy 95.85628 64.494023) + (xy 95.697238 64.579034) + (xy 95.697233 64.579036) + (xy 95.69398 64.580776) + (xy 95.691127 64.583117) + (xy 95.691123 64.58312) + (xy 95.551722 64.697523) + (xy 95.551716 64.697528) + (xy 95.548867 64.699867) + (xy 95.546528 64.702716) + (xy 95.546523 64.702722) + (xy 95.43212 64.842123) + (xy 95.432117 64.842127) + (xy 95.429776 64.84498) + (xy 95.428036 64.848233) + (xy 95.428034 64.848238) + (xy 95.343023 65.00728) + (xy 95.343018 65.007292) + (xy 95.341283 65.010538) + (xy 95.340212 65.014066) + (xy 95.340212 65.014068) + (xy 95.289984 65.179647) + (xy 95.286789 65.190179) + (xy 95.286427 65.193847) + (xy 95.286427 65.193851) + (xy 95.283327 65.225327) + (xy 95.268389 65.377) + (xy 94.683611 65.377) + (xy 94.665211 65.190179) + (xy 94.610717 65.010538) + (xy 94.608862 65.007068) + (xy 94.523965 64.848238) + (xy 94.522224 64.84498) + (xy 94.403133 64.699867) + (xy 94.397413 64.695173) + (xy 94.302748 64.617483) + (xy 94.25802 64.580776) + (xy 94.241665 64.572034) + (xy 94.095719 64.494023) + (xy 94.095711 64.494019) + (xy 94.092462 64.492283) + (xy 93.912821 64.437789) + (xy 93.90915 64.437427) + (xy 93.909148 64.437427) + (xy 93.729676 64.419751) + (xy 93.726 64.419389) + (xy 93.722324 64.419751) + (xy 93.542851 64.437427) + (xy 93.542847 64.437427) + (xy 93.539179 64.437789) + (xy 93.535651 64.438859) + (xy 93.535647 64.43886) + (xy 93.363068 64.491212) + (xy 93.363066 64.491212) + (xy 93.359538 64.492283) + (xy 93.356292 64.494018) + (xy 93.35628 64.494023) + (xy 93.197238 64.579034) + (xy 93.197233 64.579036) + (xy 93.19398 64.580776) + (xy 93.191127 64.583117) + (xy 93.191123 64.58312) + (xy 93.051722 64.697523) + (xy 93.051716 64.697528) + (xy 93.048867 64.699867) + (xy 93.046528 64.702716) + (xy 93.046523 64.702722) + (xy 92.93212 64.842123) + (xy 92.932117 64.842127) + (xy 92.929776 64.84498) + (xy 92.928036 64.848233) + (xy 92.928034 64.848238) + (xy 92.843023 65.00728) + (xy 92.843018 65.007292) + (xy 92.841283 65.010538) + (xy 92.840212 65.014066) + (xy 92.840212 65.014068) + (xy 92.789984 65.179647) + (xy 92.786789 65.190179) + (xy 92.786427 65.193847) + (xy 92.786427 65.193851) + (xy 92.783327 65.225327) + (xy 92.768389 65.377) + (xy 47.562 65.377) + (xy 47.562 62.877) + (xy 92.768389 62.877) + (xy 92.768751 62.880676) + (xy 92.786099 63.056821) + (xy 92.786789 63.063821) + (xy 92.841283 63.243462) + (xy 92.843019 63.246711) + (xy 92.843023 63.246719) + (xy 92.910523 63.373) + (xy 92.929776 63.40902) + (xy 93.048867 63.554133) + (xy 93.19398 63.673224) + (xy 93.276759 63.71747) + (xy 93.35628 63.759976) + (xy 93.356283 63.759977) + (xy 93.359538 63.761717) + (xy 93.539179 63.816211) + (xy 93.726 63.834611) + (xy 93.912821 63.816211) + (xy 94.092462 63.761717) + (xy 94.25802 63.673224) + (xy 94.403133 63.554133) + (xy 94.522224 63.40902) + (xy 94.610717 63.243462) + (xy 94.665211 63.063821) + (xy 94.683611 62.877) + (xy 95.268389 62.877) + (xy 95.268751 62.880676) + (xy 95.286099 63.056821) + (xy 95.286789 63.063821) + (xy 95.341283 63.243462) + (xy 95.343019 63.246711) + (xy 95.343023 63.246719) + (xy 95.410523 63.373) + (xy 95.429776 63.40902) + (xy 95.548867 63.554133) + (xy 95.69398 63.673224) + (xy 95.776759 63.71747) + (xy 95.85628 63.759976) + (xy 95.856283 63.759977) + (xy 95.859538 63.761717) + (xy 96.039179 63.816211) + (xy 96.226 63.834611) + (xy 96.412821 63.816211) + (xy 96.592462 63.761717) + (xy 96.75802 63.673224) + (xy 96.903133 63.554133) + (xy 97.022224 63.40902) + (xy 97.110717 63.243462) + (xy 97.165211 63.063821) + (xy 97.183611 62.877) + (xy 97.182922 62.87) + (xy 97.848389 62.87) + (xy 97.848751 62.873676) + (xy 97.862447 63.012742) + (xy 97.866789 63.056821) + (xy 97.867859 63.06035) + (xy 97.86786 63.060352) + (xy 97.870439 63.068853) + (xy 97.921283 63.236462) + (xy 97.923019 63.239711) + (xy 97.923023 63.239719) + (xy 98.008034 63.398761) + (xy 98.009776 63.40202) + (xy 98.01212 63.404876) + (xy 98.097405 63.508797) + (xy 98.128867 63.547133) + (xy 98.27398 63.666224) + (xy 98.356759 63.71047) + (xy 98.43628 63.752976) + (xy 98.436283 63.752977) + (xy 98.439538 63.754717) + (xy 98.619179 63.809211) + (xy 98.806 63.827611) + (xy 98.992821 63.809211) + (xy 99.172462 63.754717) + (xy 99.33802 63.666224) + (xy 99.483133 63.547133) + (xy 99.602224 63.40202) + (xy 99.690717 63.236462) + (xy 99.745211 63.056821) + (xy 99.763611 62.87) + (xy 100.348389 62.87) + (xy 100.348751 62.873676) + (xy 100.362447 63.012742) + (xy 100.366789 63.056821) + (xy 100.367859 63.06035) + (xy 100.36786 63.060352) + (xy 100.370439 63.068853) + (xy 100.421283 63.236462) + (xy 100.423019 63.239711) + (xy 100.423023 63.239719) + (xy 100.508034 63.398761) + (xy 100.509776 63.40202) + (xy 100.51212 63.404876) + (xy 100.597405 63.508797) + (xy 100.628867 63.547133) + (xy 100.77398 63.666224) + (xy 100.856759 63.71047) + (xy 100.93628 63.752976) + (xy 100.936283 63.752977) + (xy 100.939538 63.754717) + (xy 101.119179 63.809211) + (xy 101.306 63.827611) + (xy 101.492821 63.809211) + (xy 101.672462 63.754717) + (xy 101.83802 63.666224) + (xy 101.983133 63.547133) + (xy 102.102224 63.40202) + (xy 102.190717 63.236462) + (xy 102.245211 63.056821) + (xy 102.263611 62.87) + (xy 102.245211 62.683179) + (xy 102.190717 62.503538) + (xy 102.172942 62.470284) + (xy 102.111082 62.354553) + (xy 102.102224 62.33798) + (xy 101.983133 62.192867) + (xy 101.938255 62.156037) + (xy 101.849406 62.08312) + (xy 101.83802 62.073776) + (xy 101.834761 62.072034) + (xy 101.675719 61.987023) + (xy 101.675711 61.987019) + (xy 101.672462 61.985283) + (xy 101.582641 61.958036) + (xy 101.496352 61.93186) + (xy 101.49635 61.931859) + (xy 101.492821 61.930789) + (xy 101.48915 61.930427) + (xy 101.489148 61.930427) + (xy 101.309676 61.912751) + (xy 101.306 61.912389) + (xy 101.302324 61.912751) + (xy 101.122851 61.930427) + (xy 101.122847 61.930427) + (xy 101.119179 61.930789) + (xy 101.115651 61.931859) + (xy 101.115647 61.93186) + (xy 100.943068 61.984212) + (xy 100.943066 61.984212) + (xy 100.939538 61.985283) + (xy 100.936292 61.987018) + (xy 100.93628 61.987023) + (xy 100.777238 62.072034) + (xy 100.777233 62.072036) + (xy 100.77398 62.073776) + (xy 100.771127 62.076117) + (xy 100.771123 62.07612) + (xy 100.631722 62.190523) + (xy 100.631716 62.190528) + (xy 100.628867 62.192867) + (xy 100.626528 62.195716) + (xy 100.626523 62.195722) + (xy 100.51212 62.335123) + (xy 100.512117 62.335127) + (xy 100.509776 62.33798) + (xy 100.508036 62.341233) + (xy 100.508034 62.341238) + (xy 100.423023 62.50028) + (xy 100.423018 62.500292) + (xy 100.421283 62.503538) + (xy 100.420212 62.507066) + (xy 100.420212 62.507068) + (xy 100.384683 62.624192) + (xy 100.366789 62.683179) + (xy 100.366427 62.686847) + (xy 100.366427 62.686851) + (xy 100.353012 62.823058) + (xy 100.348389 62.87) + (xy 99.763611 62.87) + (xy 99.745211 62.683179) + (xy 99.690717 62.503538) + (xy 99.672942 62.470284) + (xy 99.611082 62.354553) + (xy 99.602224 62.33798) + (xy 99.483133 62.192867) + (xy 99.438255 62.156037) + (xy 99.349406 62.08312) + (xy 99.33802 62.073776) + (xy 99.334761 62.072034) + (xy 99.175719 61.987023) + (xy 99.175711 61.987019) + (xy 99.172462 61.985283) + (xy 99.082641 61.958036) + (xy 98.996352 61.93186) + (xy 98.99635 61.931859) + (xy 98.992821 61.930789) + (xy 98.98915 61.930427) + (xy 98.989148 61.930427) + (xy 98.809676 61.912751) + (xy 98.806 61.912389) + (xy 98.802324 61.912751) + (xy 98.622851 61.930427) + (xy 98.622847 61.930427) + (xy 98.619179 61.930789) + (xy 98.615651 61.931859) + (xy 98.615647 61.93186) + (xy 98.443068 61.984212) + (xy 98.443066 61.984212) + (xy 98.439538 61.985283) + (xy 98.436292 61.987018) + (xy 98.43628 61.987023) + (xy 98.277238 62.072034) + (xy 98.277233 62.072036) + (xy 98.27398 62.073776) + (xy 98.271127 62.076117) + (xy 98.271123 62.07612) + (xy 98.131722 62.190523) + (xy 98.131716 62.190528) + (xy 98.128867 62.192867) + (xy 98.126528 62.195716) + (xy 98.126523 62.195722) + (xy 98.01212 62.335123) + (xy 98.012117 62.335127) + (xy 98.009776 62.33798) + (xy 98.008036 62.341233) + (xy 98.008034 62.341238) + (xy 97.923023 62.50028) + (xy 97.923018 62.500292) + (xy 97.921283 62.503538) + (xy 97.920212 62.507066) + (xy 97.920212 62.507068) + (xy 97.884683 62.624192) + (xy 97.866789 62.683179) + (xy 97.866427 62.686847) + (xy 97.866427 62.686851) + (xy 97.853012 62.823058) + (xy 97.848389 62.87) + (xy 97.182922 62.87) + (xy 97.165211 62.690179) + (xy 97.110717 62.510538) + (xy 97.108862 62.507068) + (xy 97.06647 62.427759) + (xy 97.022224 62.34498) + (xy 96.903133 62.199867) + (xy 96.894603 62.192867) + (xy 96.760876 62.08312) + (xy 96.75802 62.080776) + (xy 96.741665 62.072034) + (xy 96.595719 61.994023) + (xy 96.595711 61.994019) + (xy 96.592462 61.992283) + (xy 96.412821 61.937789) + (xy 96.40915 61.937427) + (xy 96.409148 61.937427) + (xy 96.229676 61.919751) + (xy 96.226 61.919389) + (xy 96.222324 61.919751) + (xy 96.042851 61.937427) + (xy 96.042847 61.937427) + (xy 96.039179 61.937789) + (xy 96.035651 61.938859) + (xy 96.035647 61.93886) + (xy 95.863068 61.991212) + (xy 95.863066 61.991212) + (xy 95.859538 61.992283) + (xy 95.856292 61.994018) + (xy 95.85628 61.994023) + (xy 95.697238 62.079034) + (xy 95.697233 62.079036) + (xy 95.69398 62.080776) + (xy 95.691127 62.083117) + (xy 95.691123 62.08312) + (xy 95.551722 62.197523) + (xy 95.551716 62.197528) + (xy 95.548867 62.199867) + (xy 95.546528 62.202716) + (xy 95.546523 62.202722) + (xy 95.43212 62.342123) + (xy 95.432117 62.342127) + (xy 95.429776 62.34498) + (xy 95.428036 62.348233) + (xy 95.428034 62.348238) + (xy 95.343023 62.50728) + (xy 95.343018 62.507292) + (xy 95.341283 62.510538) + (xy 95.340212 62.514066) + (xy 95.340212 62.514068) + (xy 95.28812 62.685792) + (xy 95.286789 62.690179) + (xy 95.286427 62.693847) + (xy 95.286427 62.693851) + (xy 95.272311 62.837182) + (xy 95.268389 62.877) + (xy 94.683611 62.877) + (xy 94.665211 62.690179) + (xy 94.610717 62.510538) + (xy 94.608862 62.507068) + (xy 94.56647 62.427759) + (xy 94.522224 62.34498) + (xy 94.403133 62.199867) + (xy 94.394603 62.192867) + (xy 94.260876 62.08312) + (xy 94.25802 62.080776) + (xy 94.241665 62.072034) + (xy 94.095719 61.994023) + (xy 94.095711 61.994019) + (xy 94.092462 61.992283) + (xy 93.912821 61.937789) + (xy 93.90915 61.937427) + (xy 93.909148 61.937427) + (xy 93.729676 61.919751) + (xy 93.726 61.919389) + (xy 93.722324 61.919751) + (xy 93.542851 61.937427) + (xy 93.542847 61.937427) + (xy 93.539179 61.937789) + (xy 93.535651 61.938859) + (xy 93.535647 61.93886) + (xy 93.363068 61.991212) + (xy 93.363066 61.991212) + (xy 93.359538 61.992283) + (xy 93.356292 61.994018) + (xy 93.35628 61.994023) + (xy 93.197238 62.079034) + (xy 93.197233 62.079036) + (xy 93.19398 62.080776) + (xy 93.191127 62.083117) + (xy 93.191123 62.08312) + (xy 93.051722 62.197523) + (xy 93.051716 62.197528) + (xy 93.048867 62.199867) + (xy 93.046528 62.202716) + (xy 93.046523 62.202722) + (xy 92.93212 62.342123) + (xy 92.932117 62.342127) + (xy 92.929776 62.34498) + (xy 92.928036 62.348233) + (xy 92.928034 62.348238) + (xy 92.843023 62.50728) + (xy 92.843018 62.507292) + (xy 92.841283 62.510538) + (xy 92.840212 62.514066) + (xy 92.840212 62.514068) + (xy 92.78812 62.685792) + (xy 92.786789 62.690179) + (xy 92.786427 62.693847) + (xy 92.786427 62.693851) + (xy 92.772311 62.837182) + (xy 92.768389 62.877) + (xy 47.562 62.877) + (xy 47.562 61.6072) + (xy 47.572075 61.5696) + (xy 47.5996 61.542075) + (xy 47.6372 61.532) + (xy 52.96712 61.532) + (xy 52.99836 61.538796) + (xy 53.000394 61.539724) + (xy 53.004919 61.542633) + (xy 53.141715 61.5828) + (xy 53.278904 61.5828) + (xy 53.284285 61.5828) + (xy 53.421081 61.542633) + (xy 53.541018 61.465553) + (xy 53.634382 61.357806) + (xy 53.693608 61.228119) + (xy 53.707059 61.134569) + (xy 93.151268 61.134569) + (xy 93.156004 61.141412) + (xy 93.191401 61.170461) + (xy 93.197521 61.17455) + (xy 93.356467 61.259508) + (xy 93.363268 61.262326) + (xy 93.535742 61.314645) + (xy 93.542952 61.31608) + (xy 93.722325 61.333747) + (xy 93.729675 61.333747) + (xy 93.909047 61.31608) + (xy 93.916257 61.314645) + (xy 94.088731 61.262326) + (xy 94.095532 61.259508) + (xy 94.25448 61.174549) + (xy 94.260597 61.170462) + (xy 94.295993 61.141412) + (xy 94.300729 61.134569) + (xy 95.651268 61.134569) + (xy 95.656004 61.141412) + (xy 95.691401 61.170461) + (xy 95.697521 61.17455) + (xy 95.856467 61.259508) + (xy 95.863268 61.262326) + (xy 96.035742 61.314645) + (xy 96.042952 61.31608) + (xy 96.222325 61.333747) + (xy 96.229675 61.333747) + (xy 96.409047 61.31608) + (xy 96.416257 61.314645) + (xy 96.588731 61.262326) + (xy 96.595532 61.259508) + (xy 96.75448 61.174549) + (xy 96.760597 61.170462) + (xy 96.795993 61.141412) + (xy 96.80073 61.134568) + (xy 96.796685 61.12729) + (xy 96.233 60.563605) + (xy 96.225999 60.559563) + (xy 96.218999 60.563605) + (xy 95.655314 61.127289) + (xy 95.651268 61.134569) + (xy 94.300729 61.134569) + (xy 94.30073 61.134568) + (xy 94.296685 61.12729) + (xy 93.733 60.563605) + (xy 93.725999 60.559563) + (xy 93.718999 60.563605) + (xy 93.155314 61.127289) + (xy 93.151268 61.134569) + (xy 53.707059 61.134569) + (xy 53.713898 61.087) + (xy 53.693608 60.945881) + (xy 53.677951 60.911598) + (xy 53.636617 60.821088) + (xy 53.634382 60.816194) + (xy 53.541018 60.708447) + (xy 53.536496 60.705541) + (xy 53.536494 60.705539) + (xy 53.425602 60.634272) + (xy 53.425599 60.63427) + (xy 53.421081 60.631367) + (xy 53.415925 60.629853) + (xy 53.415923 60.629852) + (xy 53.289447 60.592715) + (xy 53.289442 60.592714) + (xy 53.284285 60.5912) + (xy 53.141715 60.5912) + (xy 53.136558 60.592714) + (xy 53.136552 60.592715) + (xy 53.010079 60.629851) + (xy 53.010073 60.629853) + (xy 53.004919 60.631367) + (xy 53.000394 60.634274) + (xy 52.99836 60.635204) + (xy 52.96712 60.642) + (xy 47.6372 60.642) + (xy 47.5996 60.631925) + (xy 47.572075 60.6044) + (xy 47.562 60.5668) + (xy 47.562 60.380675) + (xy 92.769253 60.380675) + (xy 92.786919 60.560047) + (xy 92.788354 60.567257) + (xy 92.840673 60.739731) + (xy 92.843491 60.746532) + (xy 92.928449 60.905478) + (xy 92.932538 60.911598) + (xy 92.961586 60.946994) + (xy 92.96843 60.95173) + (xy 92.975709 60.947684) + (xy 93.539394 60.384) + (xy 93.543436 60.376999) + (xy 93.908563 60.376999) + (xy 93.912605 60.384) + (xy 94.47629 60.947685) + (xy 94.483568 60.95173) + (xy 94.490412 60.946993) + (xy 94.519462 60.911597) + (xy 94.523549 60.90548) + (xy 94.608508 60.746532) + (xy 94.611326 60.739731) + (xy 94.663645 60.567257) + (xy 94.66508 60.560047) + (xy 94.682747 60.380675) + (xy 95.269253 60.380675) + (xy 95.286919 60.560047) + (xy 95.288354 60.567257) + (xy 95.340673 60.739731) + (xy 95.343491 60.746532) + (xy 95.428449 60.905478) + (xy 95.432538 60.911598) + (xy 95.461586 60.946994) + (xy 95.46843 60.95173) + (xy 95.475709 60.947684) + (xy 96.039394 60.384) + (xy 96.043436 60.376999) + (xy 96.408563 60.376999) + (xy 96.412605 60.384) + (xy 96.97629 60.947685) + (xy 96.983568 60.95173) + (xy 96.990412 60.946993) + (xy 97.019462 60.911597) + (xy 97.023549 60.90548) + (xy 97.108508 60.746532) + (xy 97.111326 60.739731) + (xy 97.163645 60.567257) + (xy 97.16508 60.560047) + (xy 97.182747 60.380675) + (xy 97.182747 60.373325) + (xy 97.18242 60.37) + (xy 97.848389 60.37) + (xy 97.848751 60.373676) + (xy 97.861058 60.498639) + (xy 97.866789 60.556821) + (xy 97.867859 60.56035) + (xy 97.86786 60.560352) + (xy 97.874753 60.583076) + (xy 97.921283 60.736462) + (xy 97.923019 60.739711) + (xy 97.923023 60.739719) + (xy 98.008034 60.898761) + (xy 98.009776 60.90202) + (xy 98.128867 61.047133) + (xy 98.27398 61.166224) + (xy 98.356758 61.21047) + (xy 98.43628 61.252976) + (xy 98.436283 61.252977) + (xy 98.439538 61.254717) + (xy 98.619179 61.309211) + (xy 98.806 61.327611) + (xy 98.992821 61.309211) + (xy 99.172462 61.254717) + (xy 99.33802 61.166224) + (xy 99.483133 61.047133) + (xy 99.602224 60.90202) + (xy 99.690717 60.736462) + (xy 99.745211 60.556821) + (xy 99.763611 60.37) + (xy 100.348389 60.37) + (xy 100.348751 60.373676) + (xy 100.361058 60.498639) + (xy 100.366789 60.556821) + (xy 100.367859 60.56035) + (xy 100.36786 60.560352) + (xy 100.374753 60.583076) + (xy 100.421283 60.736462) + (xy 100.423019 60.739711) + (xy 100.423023 60.739719) + (xy 100.508034 60.898761) + (xy 100.509776 60.90202) + (xy 100.628867 61.047133) + (xy 100.77398 61.166224) + (xy 100.856758 61.21047) + (xy 100.93628 61.252976) + (xy 100.936283 61.252977) + (xy 100.939538 61.254717) + (xy 101.119179 61.309211) + (xy 101.306 61.327611) + (xy 101.492821 61.309211) + (xy 101.672462 61.254717) + (xy 101.83802 61.166224) + (xy 101.983133 61.047133) + (xy 102.102224 60.90202) + (xy 102.190717 60.736462) + (xy 102.245211 60.556821) + (xy 102.263611 60.37) + (xy 102.245211 60.183179) + (xy 102.190717 60.003538) + (xy 102.102224 59.83798) + (xy 101.983133 59.692867) + (xy 101.971647 59.683441) + (xy 101.849915 59.583538) + (xy 101.83802 59.573776) + (xy 101.808958 59.558242) + (xy 101.675719 59.487023) + (xy 101.675711 59.487019) + (xy 101.672462 59.485283) + (xy 101.521056 59.439354) + (xy 101.496352 59.43186) + (xy 101.49635 59.431859) + (xy 101.492821 59.430789) + (xy 101.48915 59.430427) + (xy 101.489148 59.430427) + (xy 101.309676 59.412751) + (xy 101.306 59.412389) + (xy 101.302324 59.412751) + (xy 101.122851 59.430427) + (xy 101.122847 59.430427) + (xy 101.119179 59.430789) + (xy 101.115651 59.431859) + (xy 101.115647 59.43186) + (xy 100.943068 59.484212) + (xy 100.943066 59.484212) + (xy 100.939538 59.485283) + (xy 100.936292 59.487018) + (xy 100.93628 59.487023) + (xy 100.777238 59.572034) + (xy 100.777233 59.572036) + (xy 100.77398 59.573776) + (xy 100.771127 59.576117) + (xy 100.771123 59.57612) + (xy 100.631722 59.690523) + (xy 100.631716 59.690528) + (xy 100.628867 59.692867) + (xy 100.626528 59.695716) + (xy 100.626523 59.695722) + (xy 100.51212 59.835123) + (xy 100.512117 59.835127) + (xy 100.509776 59.83798) + (xy 100.508036 59.841233) + (xy 100.508034 59.841238) + (xy 100.423023 60.00028) + (xy 100.423018 60.000292) + (xy 100.421283 60.003538) + (xy 100.420212 60.007066) + (xy 100.420212 60.007068) + (xy 100.378589 60.144281) + (xy 100.366789 60.183179) + (xy 100.366427 60.186847) + (xy 100.366427 60.186851) + (xy 100.348751 60.366324) + (xy 100.348389 60.37) + (xy 99.763611 60.37) + (xy 99.745211 60.183179) + (xy 99.690717 60.003538) + (xy 99.602224 59.83798) + (xy 99.483133 59.692867) + (xy 99.471647 59.683441) + (xy 99.349915 59.583538) + (xy 99.33802 59.573776) + (xy 99.308958 59.558242) + (xy 99.175719 59.487023) + (xy 99.175711 59.487019) + (xy 99.172462 59.485283) + (xy 99.021056 59.439354) + (xy 98.996352 59.43186) + (xy 98.99635 59.431859) + (xy 98.992821 59.430789) + (xy 98.98915 59.430427) + (xy 98.989148 59.430427) + (xy 98.809676 59.412751) + (xy 98.806 59.412389) + (xy 98.802324 59.412751) + (xy 98.622851 59.430427) + (xy 98.622847 59.430427) + (xy 98.619179 59.430789) + (xy 98.615651 59.431859) + (xy 98.615647 59.43186) + (xy 98.443068 59.484212) + (xy 98.443066 59.484212) + (xy 98.439538 59.485283) + (xy 98.436292 59.487018) + (xy 98.43628 59.487023) + (xy 98.277238 59.572034) + (xy 98.277233 59.572036) + (xy 98.27398 59.573776) + (xy 98.271127 59.576117) + (xy 98.271123 59.57612) + (xy 98.131722 59.690523) + (xy 98.131716 59.690528) + (xy 98.128867 59.692867) + (xy 98.126528 59.695716) + (xy 98.126523 59.695722) + (xy 98.01212 59.835123) + (xy 98.012117 59.835127) + (xy 98.009776 59.83798) + (xy 98.008036 59.841233) + (xy 98.008034 59.841238) + (xy 97.923023 60.00028) + (xy 97.923018 60.000292) + (xy 97.921283 60.003538) + (xy 97.920212 60.007066) + (xy 97.920212 60.007068) + (xy 97.878589 60.144281) + (xy 97.866789 60.183179) + (xy 97.866427 60.186847) + (xy 97.866427 60.186851) + (xy 97.848751 60.366324) + (xy 97.848389 60.37) + (xy 97.18242 60.37) + (xy 97.16508 60.193952) + (xy 97.163645 60.186742) + (xy 97.111326 60.014268) + (xy 97.108508 60.007467) + (xy 97.02355 59.848521) + (xy 97.019461 59.842401) + (xy 96.990412 59.807004) + (xy 96.983569 59.802268) + (xy 96.976289 59.806314) + (xy 96.412605 60.369999) + (xy 96.408563 60.376999) + (xy 96.043436 60.376999) + (xy 96.039394 60.369999) + (xy 95.475709 59.806314) + (xy 95.46843 59.802269) + (xy 95.461585 59.807006) + (xy 95.432538 59.8424) + (xy 95.428448 59.848523) + (xy 95.343491 60.007467) + (xy 95.340673 60.014268) + (xy 95.288354 60.186742) + (xy 95.286919 60.193952) + (xy 95.269253 60.373325) + (xy 95.269253 60.380675) + (xy 94.682747 60.380675) + (xy 94.682747 60.373325) + (xy 94.66508 60.193952) + (xy 94.663645 60.186742) + (xy 94.611326 60.014268) + (xy 94.608508 60.007467) + (xy 94.52355 59.848521) + (xy 94.519461 59.842401) + (xy 94.490412 59.807004) + (xy 94.483569 59.802268) + (xy 94.476289 59.806314) + (xy 93.912605 60.369999) + (xy 93.908563 60.376999) + (xy 93.543436 60.376999) + (xy 93.539394 60.369999) + (xy 92.975709 59.806314) + (xy 92.96843 59.802269) + (xy 92.961585 59.807006) + (xy 92.932538 59.8424) + (xy 92.928448 59.848523) + (xy 92.843491 60.007467) + (xy 92.840673 60.014268) + (xy 92.788354 60.186742) + (xy 92.786919 60.193952) + (xy 92.769253 60.373325) + (xy 92.769253 60.380675) + (xy 47.562 60.380675) + (xy 47.562 59.139485) + (xy 76.640151 59.139485) + (xy 76.644579 59.212694) + (xy 76.649666 59.2968) + (xy 76.6504 59.308924) + (xy 76.7009 59.470986) + (xy 76.709543 59.485283) + (xy 76.766467 59.579448) + (xy 76.788717 59.616253) + (xy 76.908747 59.736283) + (xy 77.054014 59.8241) + (xy 77.216076 59.8746) + (xy 77.385515 59.884849) + (xy 77.552483 59.854251) + (xy 77.707275 59.784584) + (xy 77.80737 59.706166) + (xy 77.894106 59.61943) + (xy 93.151269 59.61943) + (xy 93.155314 59.626709) + (xy 93.718999 60.190394) + (xy 93.726 60.194436) + (xy 93.733 60.190394) + (xy 94.296684 59.626709) + (xy 94.30073 59.61943) + (xy 95.651269 59.61943) + (xy 95.655314 59.626709) + (xy 96.218999 60.190394) + (xy 96.226 60.194436) + (xy 96.233 60.190394) + (xy 96.796684 59.626709) + (xy 96.80073 59.61943) + (xy 96.795994 59.612586) + (xy 96.760598 59.583538) + (xy 96.754478 59.579449) + (xy 96.595532 59.494491) + (xy 96.588731 59.491673) + (xy 96.416257 59.439354) + (xy 96.409047 59.437919) + (xy 96.229675 59.420253) + (xy 96.222325 59.420253) + (xy 96.042952 59.437919) + (xy 96.035742 59.439354) + (xy 95.863268 59.491673) + (xy 95.856467 59.494491) + (xy 95.697523 59.579448) + (xy 95.6914 59.583538) + (xy 95.656006 59.612585) + (xy 95.651269 59.61943) + (xy 94.30073 59.61943) + (xy 94.295994 59.612586) + (xy 94.260598 59.583538) + (xy 94.254478 59.579449) + (xy 94.095532 59.494491) + (xy 94.088731 59.491673) + (xy 93.916257 59.439354) + (xy 93.909047 59.437919) + (xy 93.729675 59.420253) + (xy 93.722325 59.420253) + (xy 93.542952 59.437919) + (xy 93.535742 59.439354) + (xy 93.363268 59.491673) + (xy 93.356467 59.494491) + (xy 93.197523 59.579448) + (xy 93.1914 59.583538) + (xy 93.156006 59.612585) + (xy 93.151269 59.61943) + (xy 77.894106 59.61943) + (xy 79.010165 58.50337) + (xy 79.088584 58.403275) + (xy 79.158251 58.248483) + (xy 79.170362 58.182391) + (xy 79.191154 58.142774) + (xy 79.463928 57.87) + (xy 97.848389 57.87) + (xy 97.866789 58.056821) + (xy 97.921283 58.236462) + (xy 97.923019 58.239711) + (xy 97.923023 58.239719) + (xy 97.927708 58.248483) + (xy 98.009776 58.40202) + (xy 98.128867 58.547133) + (xy 98.27398 58.666224) + (xy 98.330927 58.696663) + (xy 98.43628 58.752976) + (xy 98.436283 58.752977) + (xy 98.439538 58.754717) + (xy 98.619179 58.809211) + (xy 98.806 58.827611) + (xy 98.992821 58.809211) + (xy 99.172462 58.754717) + (xy 99.33802 58.666224) + (xy 99.483133 58.547133) + (xy 99.602224 58.40202) + (xy 99.690717 58.236462) + (xy 99.745211 58.056821) + (xy 99.763611 57.87) + (xy 100.348389 57.87) + (xy 100.366789 58.056821) + (xy 100.421283 58.236462) + (xy 100.423019 58.239711) + (xy 100.423023 58.239719) + (xy 100.427708 58.248483) + (xy 100.509776 58.40202) + (xy 100.628867 58.547133) + (xy 100.77398 58.666224) + (xy 100.830927 58.696663) + (xy 100.93628 58.752976) + (xy 100.936283 58.752977) + (xy 100.939538 58.754717) + (xy 101.119179 58.809211) + (xy 101.306 58.827611) + (xy 101.492821 58.809211) + (xy 101.672462 58.754717) + (xy 101.83802 58.666224) + (xy 101.983133 58.547133) + (xy 102.102224 58.40202) + (xy 102.190717 58.236462) + (xy 102.245211 58.056821) + (xy 102.263611 57.87) + (xy 102.245211 57.683179) + (xy 102.190717 57.503538) + (xy 102.153841 57.434549) + (xy 102.117163 57.365929) + (xy 102.102224 57.33798) + (xy 101.983133 57.192867) + (xy 101.83802 57.073776) + (xy 101.834761 57.072034) + (xy 101.675719 56.987023) + (xy 101.675711 56.987019) + (xy 101.672462 56.985283) + (xy 101.492821 56.930789) + (xy 101.48915 56.930427) + (xy 101.489148 56.930427) + (xy 101.309676 56.912751) + (xy 101.306 56.912389) + (xy 101.302324 56.912751) + (xy 101.122851 56.930427) + (xy 101.122847 56.930427) + (xy 101.119179 56.930789) + (xy 101.115651 56.931859) + (xy 101.115647 56.93186) + (xy 100.943068 56.984212) + (xy 100.943066 56.984212) + (xy 100.939538 56.985283) + (xy 100.936292 56.987018) + (xy 100.93628 56.987023) + (xy 100.777238 57.072034) + (xy 100.777233 57.072036) + (xy 100.77398 57.073776) + (xy 100.771127 57.076117) + (xy 100.771123 57.07612) + (xy 100.631722 57.190523) + (xy 100.631716 57.190528) + (xy 100.628867 57.192867) + (xy 100.626528 57.195716) + (xy 100.626523 57.195722) + (xy 100.51212 57.335123) + (xy 100.512117 57.335127) + (xy 100.509776 57.33798) + (xy 100.508036 57.341233) + (xy 100.508034 57.341238) + (xy 100.423023 57.50028) + (xy 100.423018 57.500292) + (xy 100.421283 57.503538) + (xy 100.366789 57.683179) + (xy 100.348389 57.87) + (xy 99.763611 57.87) + (xy 99.745211 57.683179) + (xy 99.690717 57.503538) + (xy 99.653841 57.434549) + (xy 99.617163 57.365929) + (xy 99.602224 57.33798) + (xy 99.483133 57.192867) + (xy 99.33802 57.073776) + (xy 99.334761 57.072034) + (xy 99.175719 56.987023) + (xy 99.175711 56.987019) + (xy 99.172462 56.985283) + (xy 98.992821 56.930789) + (xy 98.98915 56.930427) + (xy 98.989148 56.930427) + (xy 98.809676 56.912751) + (xy 98.806 56.912389) + (xy 98.802324 56.912751) + (xy 98.622851 56.930427) + (xy 98.622847 56.930427) + (xy 98.619179 56.930789) + (xy 98.615651 56.931859) + (xy 98.615647 56.93186) + (xy 98.443068 56.984212) + (xy 98.443066 56.984212) + (xy 98.439538 56.985283) + (xy 98.436292 56.987018) + (xy 98.43628 56.987023) + (xy 98.277238 57.072034) + (xy 98.277233 57.072036) + (xy 98.27398 57.073776) + (xy 98.271127 57.076117) + (xy 98.271123 57.07612) + (xy 98.131722 57.190523) + (xy 98.131716 57.190528) + (xy 98.128867 57.192867) + (xy 98.126528 57.195716) + (xy 98.126523 57.195722) + (xy 98.01212 57.335123) + (xy 98.012117 57.335127) + (xy 98.009776 57.33798) + (xy 98.008036 57.341233) + (xy 98.008034 57.341238) + (xy 97.923023 57.50028) + (xy 97.923018 57.500292) + (xy 97.921283 57.503538) + (xy 97.866789 57.683179) + (xy 97.848389 57.87) + (xy 79.463928 57.87) + (xy 81.206359 56.127569) + (xy 98.231268 56.127569) + (xy 98.236004 56.134412) + (xy 98.271401 56.163461) + (xy 98.277521 56.16755) + (xy 98.436467 56.252508) + (xy 98.443268 56.255326) + (xy 98.615742 56.307645) + (xy 98.622952 56.30908) + (xy 98.802325 56.326747) + (xy 98.809675 56.326747) + (xy 98.989047 56.30908) + (xy 98.996257 56.307645) + (xy 99.168731 56.255326) + (xy 99.175532 56.252508) + (xy 99.33448 56.167549) + (xy 99.340597 56.163462) + (xy 99.375993 56.134412) + (xy 99.380729 56.127569) + (xy 100.731268 56.127569) + (xy 100.736004 56.134412) + (xy 100.771401 56.163461) + (xy 100.777521 56.16755) + (xy 100.936467 56.252508) + (xy 100.943268 56.255326) + (xy 101.115742 56.307645) + (xy 101.122952 56.30908) + (xy 101.302325 56.326747) + (xy 101.309675 56.326747) + (xy 101.489047 56.30908) + (xy 101.496257 56.307645) + (xy 101.668731 56.255326) + (xy 101.675532 56.252508) + (xy 101.83448 56.167549) + (xy 101.840597 56.163462) + (xy 101.875993 56.134412) + (xy 101.88073 56.127568) + (xy 101.876685 56.12029) + (xy 101.313 55.556605) + (xy 101.305999 55.552563) + (xy 101.298999 55.556605) + (xy 100.735314 56.120289) + (xy 100.731268 56.127569) + (xy 99.380729 56.127569) + (xy 99.38073 56.127568) + (xy 99.376685 56.12029) + (xy 98.813 55.556605) + (xy 98.805999 55.552563) + (xy 98.798999 55.556605) + (xy 98.235314 56.120289) + (xy 98.231268 56.127569) + (xy 81.206359 56.127569) + (xy 81.654473 55.679455) + (xy 81.661851 55.672984) + (xy 81.687955 55.652955) + (xy 81.779641 55.533468) + (xy 81.837277 55.394322) + (xy 81.839995 55.373675) + (xy 97.849253 55.373675) + (xy 97.866919 55.553047) + (xy 97.868354 55.560257) + (xy 97.920673 55.732731) + (xy 97.923491 55.739532) + (xy 98.008449 55.898478) + (xy 98.012538 55.904598) + (xy 98.041586 55.939994) + (xy 98.04843 55.94473) + (xy 98.055709 55.940684) + (xy 98.619394 55.377) + (xy 98.623436 55.37) + (xy 98.988563 55.37) + (xy 98.992605 55.377) + (xy 99.55629 55.940685) + (xy 99.563568 55.94473) + (xy 99.570412 55.939993) + (xy 99.599462 55.904597) + (xy 99.603549 55.89848) + (xy 99.688508 55.739532) + (xy 99.691326 55.732731) + (xy 99.743645 55.560257) + (xy 99.74508 55.553047) + (xy 99.762747 55.373675) + (xy 100.349253 55.373675) + (xy 100.366919 55.553047) + (xy 100.368354 55.560257) + (xy 100.420673 55.732731) + (xy 100.423491 55.739532) + (xy 100.508449 55.898478) + (xy 100.512538 55.904598) + (xy 100.541586 55.939994) + (xy 100.54843 55.94473) + (xy 100.555709 55.940684) + (xy 101.119394 55.377) + (xy 101.123436 55.37) + (xy 101.488563 55.37) + (xy 101.492605 55.377) + (xy 102.05629 55.940685) + (xy 102.063568 55.94473) + (xy 102.070412 55.939993) + (xy 102.099462 55.904597) + (xy 102.103549 55.89848) + (xy 102.188508 55.739532) + (xy 102.191326 55.732731) + (xy 102.243645 55.560257) + (xy 102.24508 55.553047) + (xy 102.262747 55.373675) + (xy 102.262747 55.366325) + (xy 102.24508 55.186952) + (xy 102.243645 55.179742) + (xy 102.191326 55.007268) + (xy 102.188508 55.000467) + (xy 102.10355 54.841521) + (xy 102.099461 54.835401) + (xy 102.070412 54.800004) + (xy 102.063569 54.795268) + (xy 102.056289 54.799314) + (xy 101.492605 55.362999) + (xy 101.488563 55.37) + (xy 101.123436 55.37) + (xy 101.119394 55.362999) + (xy 100.555709 54.799314) + (xy 100.54843 54.795269) + (xy 100.541585 54.800006) + (xy 100.512538 54.8354) + (xy 100.508448 54.841523) + (xy 100.423491 55.000467) + (xy 100.420673 55.007268) + (xy 100.368354 55.179742) + (xy 100.366919 55.186952) + (xy 100.349253 55.366325) + (xy 100.349253 55.373675) + (xy 99.762747 55.373675) + (xy 99.762747 55.366325) + (xy 99.74508 55.186952) + (xy 99.743645 55.179742) + (xy 99.691326 55.007268) + (xy 99.688508 55.000467) + (xy 99.60355 54.841521) + (xy 99.599461 54.835401) + (xy 99.570412 54.800004) + (xy 99.563569 54.795268) + (xy 99.556289 54.799314) + (xy 98.992605 55.362999) + (xy 98.988563 55.37) + (xy 98.623436 55.37) + (xy 98.619394 55.362999) + (xy 98.055709 54.799314) + (xy 98.04843 54.795269) + (xy 98.041585 54.800006) + (xy 98.012538 54.8354) + (xy 98.008448 54.841523) + (xy 97.923491 55.000467) + (xy 97.920673 55.007268) + (xy 97.868354 55.179742) + (xy 97.866919 55.186952) + (xy 97.849253 55.366325) + (xy 97.849253 55.373675) + (xy 81.839995 55.373675) + (xy 81.852 55.282492) + (xy 81.856936 55.245) + (xy 81.852642 55.212391) + (xy 81.852 55.202576) + (xy 81.852 54.61243) + (xy 98.231269 54.61243) + (xy 98.235314 54.619709) + (xy 98.798999 55.183394) + (xy 98.806 55.187436) + (xy 98.813 55.183394) + (xy 99.376684 54.619709) + (xy 99.38073 54.61243) + (xy 100.731269 54.61243) + (xy 100.735314 54.619709) + (xy 101.298999 55.183394) + (xy 101.306 55.187436) + (xy 101.313 55.183394) + (xy 101.876684 54.619709) + (xy 101.88073 54.61243) + (xy 101.875994 54.605586) + (xy 101.840598 54.576538) + (xy 101.834478 54.572449) + (xy 101.675532 54.487491) + (xy 101.668731 54.484673) + (xy 101.496257 54.432354) + (xy 101.489047 54.430919) + (xy 101.309675 54.413253) + (xy 101.302325 54.413253) + (xy 101.122952 54.430919) + (xy 101.115742 54.432354) + (xy 100.943268 54.484673) + (xy 100.936467 54.487491) + (xy 100.777523 54.572448) + (xy 100.7714 54.576538) + (xy 100.736006 54.605585) + (xy 100.731269 54.61243) + (xy 99.38073 54.61243) + (xy 99.375994 54.605586) + (xy 99.340598 54.576538) + (xy 99.334478 54.572449) + (xy 99.175532 54.487491) + (xy 99.168731 54.484673) + (xy 98.996257 54.432354) + (xy 98.989047 54.430919) + (xy 98.809675 54.413253) + (xy 98.802325 54.413253) + (xy 98.622952 54.430919) + (xy 98.615742 54.432354) + (xy 98.443268 54.484673) + (xy 98.436467 54.487491) + (xy 98.277523 54.572448) + (xy 98.2714 54.576538) + (xy 98.236006 54.605585) + (xy 98.231269 54.61243) + (xy 81.852 54.61243) + (xy 81.852 50.8) + (xy 82.684102 50.8) + (xy 82.684867 50.805321) + (xy 82.703626 50.935797) + (xy 82.703627 50.935802) + (xy 82.704392 50.941119) + (xy 82.706624 50.946008) + (xy 82.706626 50.946012) + (xy 82.761382 51.065911) + (xy 82.761383 51.065913) + (xy 82.763618 51.070806) + (xy 82.856982 51.178553) + (xy 82.861504 51.181459) + (xy 82.861505 51.18146) + (xy 82.972397 51.252727) + (xy 82.976919 51.255633) + (xy 83.113715 51.2958) + (xy 83.250904 51.2958) + (xy 83.256285 51.2958) + (xy 83.393081 51.255633) + (xy 83.513018 51.178553) + (xy 83.606382 51.070806) + (xy 83.665608 50.941119) + (xy 83.685898 50.8) + (xy 83.665608 50.658881) + (xy 83.606382 50.529194) + (xy 83.521368 50.431083) + (xy 83.507741 50.408117) + (xy 83.503 50.381837) + (xy 83.503 48.549868) + (xy 83.508724 48.52109) + (xy 83.525026 48.496694) + (xy 84.767894 47.253826) + (xy 84.79229 47.237524) + (xy 84.821068 47.2318) + (xy 84.901904 47.2318) + (xy 84.907285 47.2318) + (xy 85.044081 47.191633) + (xy 85.164018 47.114553) + (xy 85.257382 47.006806) + (xy 85.316608 46.877119) + (xy 85.336898 46.736) + (xy 85.316608 46.594881) + (xy 85.257382 46.465194) + (xy 85.164018 46.357447) + (xy 85.159496 46.354541) + (xy 85.159494 46.354539) + (xy 85.048602 46.283272) + (xy 85.048599 46.28327) + (xy 85.044081 46.280367) + (xy 85.038925 46.278853) + (xy 85.038923 46.278852) + (xy 84.912447 46.241715) + (xy 84.912442 46.241714) + (xy 84.907285 46.2402) + (xy 84.764715 46.2402) + (xy 84.759558 46.241714) + (xy 84.759552 46.241715) + (xy 84.633076 46.278852) + (xy 84.633071 46.278854) + (xy 84.627919 46.280367) + (xy 84.623403 46.283269) + (xy 84.623397 46.283272) + (xy 84.512505 46.354539) + (xy 84.512499 46.354543) + (xy 84.507982 46.357447) + (xy 84.504461 46.361509) + (xy 84.50446 46.361511) + (xy 84.41814 46.461128) + (xy 84.418136 46.461133) + (xy 84.414618 46.465194) + (xy 84.412385 46.470082) + (xy 84.412382 46.470088) + (xy 84.357626 46.589987) + (xy 84.357624 46.589993) + (xy 84.355392 46.594881) + (xy 84.354627 46.600195) + (xy 84.354626 46.600202) + (xy 84.338994 46.70893) + (xy 84.335102 46.736) + (xy 84.335867 46.741321) + (xy 84.335867 46.741324) + (xy 84.336178 46.743487) + (xy 84.333094 46.777936) + (xy 84.314917 46.807361) + (xy 82.972288 48.14999) + (xy 82.967454 48.154421) + (xy 82.942678 48.175211) + (xy 82.942673 48.175215) + (xy 82.93764 48.17944) + (xy 82.934355 48.185129) + (xy 82.934352 48.185133) + (xy 82.918189 48.213128) + (xy 82.914667 48.218655) + (xy 82.896122 48.245142) + (xy 82.896119 48.245147) + (xy 82.892348 48.250534) + (xy 82.890644 48.256888) + (xy 82.887867 48.262846) + (xy 82.88786 48.262842) + (xy 82.887099 48.264678) + (xy 82.887106 48.264681) + (xy 82.884854 48.270866) + (xy 82.881568 48.27656) + (xy 82.880426 48.283032) + (xy 82.880425 48.283037) + (xy 82.874813 48.314865) + (xy 82.873394 48.321266) + (xy 82.865025 48.352499) + (xy 82.865024 48.352507) + (xy 82.863323 48.358857) + (xy 82.863896 48.365408) + (xy 82.863896 48.36541) + (xy 82.866714 48.397616) + (xy 82.867 48.40417) + (xy 82.867 50.381837) + (xy 82.862259 50.408117) + (xy 82.848632 50.431083) + (xy 82.76714 50.525128) + (xy 82.767136 50.525133) + (xy 82.763618 50.529194) + (xy 82.761385 50.534082) + (xy 82.761382 50.534088) + (xy 82.706626 50.653987) + (xy 82.706624 50.653993) + (xy 82.704392 50.658881) + (xy 82.703627 50.664195) + (xy 82.703626 50.664202) + (xy 82.692315 50.742875) + (xy 82.684102 50.8) + (xy 81.852 50.8) + (xy 81.852 39.284165) + (xy 81.852 39.281708) + (xy 81.837277 39.169878) + (xy 81.779641 39.030732) + (xy 81.687955 38.911245) + (xy 81.568468 38.819559) + (xy 81.563923 38.817676) + (xy 81.563919 38.817674) + (xy 81.43387 38.763807) + (xy 81.433871 38.763807) + (xy 81.429322 38.761923) + (xy 81.424443 38.76128) + (xy 81.424441 38.76128) + (xy 81.284884 38.742907) + (xy 81.28 38.742264) + (xy 81.275116 38.742907) + (xy 81.135558 38.76128) + (xy 81.135554 38.761281) + (xy 81.130678 38.761923) + (xy 81.12613 38.763806) + (xy 81.126129 38.763807) + (xy 80.99608 38.817674) + (xy 80.996072 38.817678) + (xy 80.991532 38.819559) + (xy 80.987627 38.822554) + (xy 80.987624 38.822557) + (xy 80.875951 38.908247) + (xy 80.875947 38.90825) + (xy 80.872045 38.911245) + (xy 80.86905 38.915147) + (xy 80.869047 38.915151) + (xy 80.783357 39.026824) + (xy 80.783354 39.026827) + (xy 80.780359 39.030732) + (xy 80.778478 39.035272) + (xy 80.778474 39.03528) + (xy 80.738928 39.130755) + (xy 80.722723 39.169878) + (xy 80.722081 39.174754) + (xy 80.72208 39.174758) + (xy 80.70832 39.279274) + (xy 80.708 39.281708) + (xy 80.708 39.284165) + (xy 80.708 54.976922) + (xy 80.702276 55.0057) + (xy 80.685974 55.030096) + (xy 78.382226 57.333842) + (xy 78.342609 57.354636) + (xy 78.280989 57.365929) + (xy 78.280985 57.36593) + (xy 78.276517 57.366749) + (xy 78.272373 57.368614) + (xy 78.27237 57.368615) + (xy 78.125873 57.434549) + (xy 78.121725 57.436416) + (xy 78.118144 57.43922) + (xy 78.118143 57.439222) + (xy 78.023422 57.51343) + (xy 78.023411 57.513439) + (xy 78.02163 57.514835) + (xy 78.020025 57.516439) + (xy 78.020017 57.516447) + (xy 76.82044 58.716023) + (xy 76.820432 58.716031) + (xy 76.818834 58.71763) + (xy 76.817444 58.719404) + (xy 76.817438 58.719411) + (xy 76.743219 58.814145) + (xy 76.743213 58.814154) + (xy 76.740416 58.817725) + (xy 76.738551 58.821868) + (xy 76.738549 58.821872) + (xy 76.672614 58.968372) + (xy 76.672612 58.968375) + (xy 76.670749 58.972517) + (xy 76.66993 58.976985) + (xy 76.669929 58.976989) + (xy 76.640971 59.135007) + (xy 76.64097 59.135012) + (xy 76.640151 59.139485) + (xy 47.562 59.139485) + (xy 47.562 52.615163) + (xy 47.566741 52.588883) + (xy 47.580368 52.565917) + (xy 47.617792 52.522727) + (xy 47.665382 52.467806) + (xy 47.724608 52.338119) + (xy 47.744898 52.197) + (xy 60.078102 52.197) + (xy 60.078867 52.202321) + (xy 60.097626 52.332797) + (xy 60.097627 52.332802) + (xy 60.098392 52.338119) + (xy 60.100624 52.343008) + (xy 60.100626 52.343012) + (xy 60.155382 52.462911) + (xy 60.155383 52.462913) + (xy 60.157618 52.467806) + (xy 60.250982 52.575553) + (xy 60.255504 52.578459) + (xy 60.255505 52.57846) + (xy 60.312615 52.615163) + (xy 60.370919 52.652633) + (xy 60.507715 52.6928) + (xy 60.644904 52.6928) + (xy 60.650285 52.6928) + (xy 60.737705 52.667131) + (xy 60.785168 52.668826) + (xy 60.822151 52.698628) + (xy 60.833897 52.744649) + (xy 60.815722 52.78853) + (xy 60.79614 52.811128) + (xy 60.796136 52.811133) + (xy 60.792618 52.815194) + (xy 60.790385 52.820082) + (xy 60.790382 52.820088) + (xy 60.735626 52.939987) + (xy 60.735624 52.939993) + (xy 60.733392 52.944881) + (xy 60.732627 52.950195) + (xy 60.732626 52.950202) + (xy 60.713867 53.080679) + (xy 60.713102 53.086) + (xy 60.713867 53.091321) + (xy 60.732626 53.221797) + (xy 60.732627 53.221802) + (xy 60.733392 53.227119) + (xy 60.735624 53.232008) + (xy 60.735626 53.232012) + (xy 60.790382 53.351911) + (xy 60.790383 53.351913) + (xy 60.792618 53.356806) + (xy 60.885982 53.464553) + (xy 60.890504 53.467459) + (xy 60.890505 53.46746) + (xy 60.997479 53.536209) + (xy 61.005919 53.541633) + (xy 61.142715 53.5818) + (xy 61.279904 53.5818) + (xy 61.285285 53.5818) + (xy 61.422081 53.541633) + (xy 61.542018 53.464553) + (xy 61.635382 53.356806) + (xy 61.694608 53.227119) + (xy 61.714898 53.086) + (xy 61.694608 52.944881) + (xy 61.635382 52.815194) + (xy 61.612277 52.78853) + (xy 61.594102 52.74465) + (xy 61.605848 52.698629) + (xy 61.64283 52.668826) + (xy 61.690294 52.667131) + (xy 61.777715 52.6928) + (xy 61.914904 52.6928) + (xy 61.920285 52.6928) + (xy 62.057081 52.652633) + (xy 62.177018 52.575553) + (xy 62.270382 52.467806) + (xy 62.329608 52.338119) + (xy 62.349898 52.197) + (xy 62.331638 52.07) + (xy 64.916102 52.07) + (xy 64.916867 52.075321) + (xy 64.935626 52.205797) + (xy 64.935627 52.205802) + (xy 64.936392 52.211119) + (xy 64.938624 52.216008) + (xy 64.938626 52.216012) + (xy 64.993382 52.335911) + (xy 64.993383 52.335913) + (xy 64.995618 52.340806) + (xy 65.088982 52.448553) + (xy 65.208919 52.525633) + (xy 65.345715 52.5658) + (xy 65.482904 52.5658) + (xy 65.488285 52.5658) + (xy 65.625081 52.525633) + (xy 65.745018 52.448553) + (xy 65.774999 52.413954) + (xy 65.800592 52.394795) + (xy 65.831831 52.388) + (xy 67.29283 52.388) + (xy 67.299383 52.388285) + (xy 67.338143 52.391677) + (xy 67.375728 52.381605) + (xy 67.382121 52.380187) + (xy 67.42044 52.373432) + (xy 67.42614 52.37014) + (xy 67.432321 52.367891) + (xy 67.432324 52.367901) + (xy 67.434151 52.367145) + (xy 67.434147 52.367136) + (xy 67.44011 52.364354) + (xy 67.446466 52.362652) + (xy 67.47836 52.340319) + (xy 67.483853 52.33682) + (xy 67.51756 52.31736) + (xy 67.542583 52.287537) + (xy 67.546994 52.282724) + (xy 67.903724 51.925994) + (xy 67.908537 51.921583) + (xy 67.93836 51.89656) + (xy 67.957818 51.862856) + (xy 67.961333 51.857338) + (xy 67.983651 51.825466) + (xy 67.985354 51.819107) + (xy 67.988134 51.813147) + (xy 67.988144 51.813151) + (xy 67.988901 51.811324) + (xy 67.988891 51.811321) + (xy 67.99114 51.80514) + (xy 67.994432 51.79944) + (xy 68.001189 51.761112) + (xy 68.002605 51.754724) + (xy 68.012677 51.717143) + (xy 68.009285 51.678383) + (xy 68.009 51.67183) + (xy 68.009 50.37267) + (xy 68.009286 50.366116) + (xy 68.012677 50.327357) + (xy 68.002606 50.289775) + (xy 68.001187 50.283375) + (xy 68.000557 50.2798) + (xy 67.994432 50.24506) + (xy 67.991142 50.239361) + (xy 67.988893 50.233182) + (xy 67.988902 50.233178) + (xy 67.988144 50.231348) + (xy 67.988136 50.231352) + (xy 67.985353 50.225386) + (xy 67.983652 50.219034) + (xy 67.961332 50.187158) + (xy 67.957809 50.181627) + (xy 67.941651 50.15364) + (xy 67.94165 50.153639) + (xy 67.93836 50.14794) + (xy 67.908551 50.122927) + (xy 67.903715 50.118495) + (xy 67.142026 49.356806) + (xy 67.125724 49.33241) + (xy 67.12 49.303632) + (xy 67.12 47.498) + (xy 67.444102 47.498) + (xy 67.444867 47.503321) + (xy 67.463626 47.633797) + (xy 67.463627 47.633802) + (xy 67.464392 47.639119) + (xy 67.466624 47.644008) + (xy 67.466626 47.644012) + (xy 67.521382 47.763911) + (xy 67.521383 47.763913) + (xy 67.523618 47.768806) + (xy 67.616982 47.876553) + (xy 67.621504 47.879459) + (xy 67.621505 47.87946) + (xy 67.732397 47.950727) + (xy 67.736919 47.953633) + (xy 67.873715 47.9938) + (xy 68.010904 47.9938) + (xy 68.016285 47.9938) + (xy 68.021447 47.992284) + (xy 68.026769 47.991519) + (xy 68.02693 47.992641) + (xy 68.062597 47.992636) + (xy 68.098249 48.015541) + (xy 68.115856 48.054086) + (xy 68.109827 48.09603) + (xy 68.101626 48.113987) + (xy 68.101624 48.113993) + (xy 68.099392 48.118881) + (xy 68.098627 48.124195) + (xy 68.098626 48.124202) + (xy 68.081238 48.245142) + (xy 68.079102 48.26) + (xy 68.079867 48.26532) + (xy 68.079867 48.265321) + (xy 68.098626 48.395797) + (xy 68.098627 48.395802) + (xy 68.099392 48.401119) + (xy 68.101624 48.406008) + (xy 68.101626 48.406012) + (xy 68.156382 48.525911) + (xy 68.156383 48.525913) + (xy 68.158618 48.530806) + (xy 68.162138 48.534869) + (xy 68.16214 48.534871) + (xy 68.175135 48.549868) + (xy 68.251982 48.638553) + (xy 68.256504 48.641459) + (xy 68.256505 48.64146) + (xy 68.367397 48.712727) + (xy 68.371919 48.715633) + (xy 68.508715 48.7558) + (xy 68.594932 48.7558) + (xy 68.62371 48.761524) + (xy 68.648106 48.777826) + (xy 69.612995 49.742715) + (xy 69.617427 49.747551) + (xy 69.64244 49.77736) + (xy 69.676134 49.796813) + (xy 69.681658 49.800332) + (xy 69.713534 49.822652) + (xy 69.719886 49.824353) + (xy 69.725852 49.827136) + (xy 69.725848 49.827144) + (xy 69.727678 49.827902) + (xy 69.727682 49.827893) + (xy 69.733861 49.830142) + (xy 69.73956 49.833432) + (xy 69.777882 49.840188) + (xy 69.784275 49.841606) + (xy 69.821857 49.851677) + (xy 69.860616 49.848285) + (xy 69.86717 49.848) + (xy 73.880169 49.848) + (xy 73.911408 49.854795) + (xy 73.937001 49.873954) + (xy 73.966982 49.908553) + (xy 74.086919 49.985633) + (xy 74.223715 50.0258) + (xy 74.360904 50.0258) + (xy 74.366285 50.0258) + (xy 74.503081 49.985633) + (xy 74.623018 49.908553) + (xy 74.624229 49.910437) + (xy 74.653178 49.897261) + (xy 74.695088 49.903325) + (xy 74.727077 49.931073) + (xy 74.739 49.971707) + (xy 74.739 51.016837) + (xy 74.734259 51.043117) + (xy 74.720632 51.066083) + (xy 74.63914 51.160128) + (xy 74.639136 51.160133) + (xy 74.635618 51.164194) + (xy 74.633385 51.169082) + (xy 74.633382 51.169088) + (xy 74.578626 51.288987) + (xy 74.578624 51.288993) + (xy 74.576392 51.293881) + (xy 74.575627 51.299195) + (xy 74.575626 51.299202) + (xy 74.564344 51.377675) + (xy 74.556102 51.435) + (xy 74.556867 51.440321) + (xy 74.575626 51.570797) + (xy 74.575627 51.570802) + (xy 74.576392 51.576119) + (xy 74.578624 51.581008) + (xy 74.578626 51.581012) + (xy 74.633382 51.700911) + (xy 74.633383 51.700913) + (xy 74.635618 51.705806) + (xy 74.639138 51.709869) + (xy 74.63914 51.709871) + (xy 74.682299 51.759679) + (xy 74.728982 51.813553) + (xy 74.733504 51.816459) + (xy 74.733505 51.81646) + (xy 74.816476 51.869783) + (xy 74.848919 51.890633) + (xy 74.985715 51.9308) + (xy 75.122904 51.9308) + (xy 75.128285 51.9308) + (xy 75.265081 51.890633) + (xy 75.385018 51.813553) + (xy 75.478382 51.705806) + (xy 75.537608 51.576119) + (xy 75.557898 51.435) + (xy 75.557133 51.429679) + (xy 75.557133 51.429674) + (xy 75.545288 51.347295) + (xy 75.554597 51.298992) + (xy 75.591773 51.266779) + (xy 75.640906 51.264438) + (xy 75.747715 51.2958) + (xy 75.753096 51.2958) + (xy 75.88633 51.2958) + (xy 75.926986 51.307738) + (xy 75.954734 51.339761) + (xy 75.960765 51.381702) + (xy 75.953102 51.435) + (xy 75.953867 51.440321) + (xy 75.972626 51.570797) + (xy 75.972627 51.570802) + (xy 75.973392 51.576119) + (xy 75.975624 51.581008) + (xy 75.975626 51.581012) + (xy 76.030382 51.700911) + (xy 76.030383 51.700913) + (xy 76.032618 51.705806) + (xy 76.036138 51.709869) + (xy 76.03614 51.709871) + (xy 76.079299 51.759679) + (xy 76.125982 51.813553) + (xy 76.130504 51.816459) + (xy 76.130505 51.81646) + (xy 76.213476 51.869783) + (xy 76.245919 51.890633) + (xy 76.382715 51.9308) + (xy 76.519904 51.9308) + (xy 76.525285 51.9308) + (xy 76.662081 51.890633) + (xy 76.782018 51.813553) + (xy 76.875382 51.705806) + (xy 76.934608 51.576119) + (xy 76.954898 51.435) + (xy 76.947234 51.381702) + (xy 76.953266 51.339761) + (xy 76.981014 51.307738) + (xy 77.02167 51.2958) + (xy 77.15633 51.2958) + (xy 77.196986 51.307738) + (xy 77.224734 51.339761) + (xy 77.230765 51.381702) + (xy 77.223102 51.435) + (xy 77.223867 51.440321) + (xy 77.242626 51.570797) + (xy 77.242627 51.570802) + (xy 77.243392 51.576119) + (xy 77.245624 51.581008) + (xy 77.245626 51.581012) + (xy 77.300382 51.700911) + (xy 77.300383 51.700913) + (xy 77.302618 51.705806) + (xy 77.306138 51.709869) + (xy 77.30614 51.709871) + (xy 77.349299 51.759679) + (xy 77.395982 51.813553) + (xy 77.400504 51.816459) + (xy 77.400505 51.81646) + (xy 77.483476 51.869783) + (xy 77.515919 51.890633) + (xy 77.652715 51.9308) + (xy 77.789904 51.9308) + (xy 77.795285 51.9308) + (xy 77.932081 51.890633) + (xy 78.052018 51.813553) + (xy 78.145382 51.705806) + (xy 78.204608 51.576119) + (xy 78.224898 51.435) + (xy 78.217234 51.381702) + (xy 78.223266 51.339761) + (xy 78.251014 51.307738) + (xy 78.29167 51.2958) + (xy 78.42633 51.2958) + (xy 78.466986 51.307738) + (xy 78.494734 51.339761) + (xy 78.500765 51.381702) + (xy 78.493102 51.435) + (xy 78.493867 51.440321) + (xy 78.512626 51.570797) + (xy 78.512627 51.570802) + (xy 78.513392 51.576119) + (xy 78.515624 51.581008) + (xy 78.515626 51.581012) + (xy 78.570382 51.700911) + (xy 78.570383 51.700913) + (xy 78.572618 51.705806) + (xy 78.576138 51.709869) + (xy 78.57614 51.709871) + (xy 78.619299 51.759679) + (xy 78.665982 51.813553) + (xy 78.670504 51.816459) + (xy 78.670505 51.81646) + (xy 78.753476 51.869783) + (xy 78.785919 51.890633) + (xy 78.922715 51.9308) + (xy 79.059904 51.9308) + (xy 79.065285 51.9308) + (xy 79.202081 51.890633) + (xy 79.322018 51.813553) + (xy 79.415382 51.705806) + (xy 79.474608 51.576119) + (xy 79.494898 51.435) + (xy 79.487234 51.381702) + (xy 79.493266 51.339761) + (xy 79.521014 51.307738) + (xy 79.56167 51.2958) + (xy 79.694904 51.2958) + (xy 79.700285 51.2958) + (xy 79.837081 51.255633) + (xy 79.957018 51.178553) + (xy 80.050382 51.070806) + (xy 80.109608 50.941119) + (xy 80.129898 50.8) + (xy 80.109608 50.658881) + (xy 80.050382 50.529194) + (xy 79.965368 50.431083) + (xy 79.951741 50.408117) + (xy 79.947 50.381837) + (xy 79.947 43.471163) + (xy 79.951741 43.444883) + (xy 79.965368 43.421917) + (xy 80.000075 43.381863) + (xy 80.050382 43.323806) + (xy 80.109608 43.194119) + (xy 80.129898 43.053) + (xy 80.109608 42.911881) + (xy 80.050382 42.782194) + (xy 79.957018 42.674447) + (xy 79.952496 42.671541) + (xy 79.952494 42.671539) + (xy 79.841602 42.600272) + (xy 79.841599 42.60027) + (xy 79.837081 42.597367) + (xy 79.831925 42.595853) + (xy 79.831923 42.595852) + (xy 79.705447 42.558715) + (xy 79.705442 42.558714) + (xy 79.700285 42.5572) + (xy 79.557715 42.5572) + (xy 79.552558 42.558714) + (xy 79.552552 42.558715) + (xy 79.426076 42.595852) + (xy 79.426071 42.595854) + (xy 79.420919 42.597367) + (xy 79.416403 42.600269) + (xy 79.416397 42.600272) + (xy 79.305505 42.671539) + (xy 79.305499 42.671543) + (xy 79.300982 42.674447) + (xy 79.297461 42.678509) + (xy 79.29746 42.678511) + (xy 79.21114 42.778128) + (xy 79.211136 42.778133) + (xy 79.207618 42.782194) + (xy 79.205385 42.787082) + (xy 79.205382 42.787088) + (xy 79.150626 42.906987) + (xy 79.150624 42.906993) + (xy 79.148392 42.911881) + (xy 79.147627 42.917195) + (xy 79.147626 42.917202) + (xy 79.13182 43.027139) + (xy 79.128102 43.053) + (xy 79.128867 43.058321) + (xy 79.147626 43.188797) + (xy 79.147627 43.188802) + (xy 79.148392 43.194119) + (xy 79.150624 43.199007) + (xy 79.150625 43.199009) + (xy 79.158827 43.216968) + (xy 79.164857 43.258908) + (xy 79.147255 43.297451) + (xy 79.11161 43.320359) + (xy 79.07593 43.320359) + (xy 79.075769 43.321481) + (xy 79.070447 43.320715) + (xy 79.065285 43.3192) + (xy 78.922715 43.3192) + (xy 78.917558 43.320714) + (xy 78.917552 43.320715) + (xy 78.791076 43.357852) + (xy 78.791071 43.357854) + (xy 78.785919 43.359367) + (xy 78.781403 43.362269) + (xy 78.781397 43.362272) + (xy 78.670505 43.433539) + (xy 78.670499 43.433543) + (xy 78.665982 43.436447) + (xy 78.662461 43.440509) + (xy 78.66246 43.440511) + (xy 78.57614 43.540128) + (xy 78.576136 43.540133) + (xy 78.572618 43.544194) + (xy 78.570385 43.549082) + (xy 78.570382 43.549088) + (xy 78.515626 43.668987) + (xy 78.515624 43.668993) + (xy 78.513392 43.673881) + (xy 78.512627 43.679195) + (xy 78.512626 43.679202) + (xy 78.493867 43.809679) + (xy 78.493102 43.815) + (xy 78.493867 43.820321) + (xy 78.500765 43.868298) + (xy 78.494734 43.910239) + (xy 78.466986 43.942262) + (xy 78.42633 43.9542) + (xy 78.287715 43.9542) + (xy 78.282558 43.955714) + (xy 78.282552 43.955715) + (xy 78.156076 43.992852) + (xy 78.156071 43.992854) + (xy 78.150919 43.994367) + (xy 78.146403 43.997269) + (xy 78.146397 43.997272) + (xy 78.035505 44.068539) + (xy 78.035499 44.068543) + (xy 78.030982 44.071447) + (xy 78.027461 44.075509) + (xy 78.02746 44.075511) + (xy 77.94114 44.175128) + (xy 77.941136 44.175133) + (xy 77.937618 44.179194) + (xy 77.935385 44.184082) + (xy 77.935382 44.184088) + (xy 77.880626 44.303987) + (xy 77.880624 44.303993) + (xy 77.878392 44.308881) + (xy 77.877627 44.314195) + (xy 77.877626 44.314202) + (xy 77.870361 44.364734) + (xy 77.858102 44.45) + (xy 77.858867 44.455321) + (xy 77.865765 44.503298) + (xy 77.859734 44.545239) + (xy 77.831986 44.577262) + (xy 77.79133 44.5892) + (xy 77.652715 44.5892) + (xy 77.647558 44.590714) + (xy 77.647552 44.590715) + (xy 77.521076 44.627852) + (xy 77.521071 44.627854) + (xy 77.515919 44.629367) + (xy 77.511403 44.632269) + (xy 77.511397 44.632272) + (xy 77.400505 44.703539) + (xy 77.400499 44.703543) + (xy 77.395982 44.706447) + (xy 77.392461 44.710509) + (xy 77.39246 44.710511) + (xy 77.30614 44.810128) + (xy 77.306136 44.810133) + (xy 77.302618 44.814194) + (xy 77.300385 44.819082) + (xy 77.300382 44.819088) + (xy 77.245626 44.938987) + (xy 77.245624 44.938993) + (xy 77.243392 44.943881) + (xy 77.242627 44.949195) + (xy 77.242626 44.949202) + (xy 77.225836 45.065987) + (xy 77.223102 45.085) + (xy 77.223867 45.090321) + (xy 77.230765 45.138298) + (xy 77.224734 45.180239) + (xy 77.196986 45.212262) + (xy 77.15633 45.2242) + (xy 77.017715 45.2242) + (xy 77.012558 45.225714) + (xy 77.012552 45.225715) + (xy 76.886076 45.262852) + (xy 76.886071 45.262854) + (xy 76.880919 45.264367) + (xy 76.876403 45.267269) + (xy 76.876397 45.267272) + (xy 76.765505 45.338539) + (xy 76.765499 45.338543) + (xy 76.760982 45.341447) + (xy 76.757461 45.345509) + (xy 76.75746 45.345511) + (xy 76.67114 45.445128) + (xy 76.671136 45.445133) + (xy 76.667618 45.449194) + (xy 76.665385 45.454082) + (xy 76.665382 45.454088) + (xy 76.610626 45.573987) + (xy 76.610624 45.573993) + (xy 76.608392 45.578881) + (xy 76.607627 45.584195) + (xy 76.607626 45.584202) + (xy 76.590074 45.706284) + (xy 76.588102 45.72) + (xy 76.588867 45.725321) + (xy 76.595765 45.773298) + (xy 76.589734 45.815239) + (xy 76.561986 45.847262) + (xy 76.52133 45.8592) + (xy 76.382715 45.8592) + (xy 76.377558 45.860714) + (xy 76.377552 45.860715) + (xy 76.251076 45.897852) + (xy 76.251071 45.897854) + (xy 76.245919 45.899367) + (xy 76.241403 45.902269) + (xy 76.241397 45.902272) + (xy 76.130505 45.973539) + (xy 76.130499 45.973543) + (xy 76.125982 45.976447) + (xy 76.122461 45.980509) + (xy 76.12246 45.980511) + (xy 76.03614 46.080128) + (xy 76.036136 46.080133) + (xy 76.032618 46.084194) + (xy 76.030385 46.089082) + (xy 76.030382 46.089088) + (xy 75.975626 46.208987) + (xy 75.975624 46.208993) + (xy 75.973392 46.213881) + (xy 75.972627 46.219195) + (xy 75.972626 46.219202) + (xy 75.954515 46.345174) + (xy 75.953102 46.355) + (xy 75.953867 46.360321) + (xy 75.960765 46.408298) + (xy 75.954734 46.450239) + (xy 75.926986 46.482262) + (xy 75.88633 46.4942) + (xy 75.747715 46.4942) + (xy 75.742558 46.495714) + (xy 75.742552 46.495715) + (xy 75.616076 46.532852) + (xy 75.616071 46.532854) + (xy 75.610919 46.534367) + (xy 75.606403 46.537269) + (xy 75.606397 46.537272) + (xy 75.495505 46.608539) + (xy 75.495499 46.608543) + (xy 75.490982 46.611447) + (xy 75.487461 46.615509) + (xy 75.48746 46.615511) + (xy 75.40114 46.715128) + (xy 75.401136 46.715133) + (xy 75.397618 46.719194) + (xy 75.395385 46.724082) + (xy 75.395382 46.724088) + (xy 75.340626 46.843987) + (xy 75.340624 46.843993) + (xy 75.338392 46.848881) + (xy 75.337627 46.854195) + (xy 75.337626 46.854202) + (xy 75.333893 46.88017) + (xy 75.318102 46.99) + (xy 75.318867 46.995321) + (xy 75.337626 47.125797) + (xy 75.337627 47.125802) + (xy 75.338392 47.131119) + (xy 75.340624 47.136008) + (xy 75.340626 47.136012) + (xy 75.395382 47.255911) + (xy 75.395383 47.255913) + (xy 75.397618 47.260806) + (xy 75.401138 47.264869) + (xy 75.40114 47.264871) + (xy 75.482632 47.358917) + (xy 75.496259 47.381883) + (xy 75.501 47.408163) + (xy 75.501 48.326293) + (xy 75.489077 48.366927) + (xy 75.457088 48.394675) + (xy 75.415178 48.400739) + (xy 75.386229 48.387562) + (xy 75.385018 48.389447) + (xy 75.269602 48.315272) + (xy 75.269599 48.31527) + (xy 75.265081 48.312367) + (xy 75.259925 48.310853) + (xy 75.259923 48.310852) + (xy 75.133447 48.273715) + (xy 75.133442 48.273714) + (xy 75.128285 48.2722) + (xy 74.985715 48.2722) + (xy 74.980558 48.273714) + (xy 74.980552 48.273715) + (xy 74.854076 48.310852) + (xy 74.854071 48.310854) + (xy 74.848919 48.312367) + (xy 74.844403 48.315269) + (xy 74.844397 48.315272) + (xy 74.733505 48.386539) + (xy 74.733499 48.386543) + (xy 74.728982 48.389447) + (xy 74.725461 48.393509) + (xy 74.72546 48.393511) + (xy 74.699001 48.424046) + (xy 74.673408 48.443205) + (xy 74.642169 48.45) + (xy 70.393868 48.45) + (xy 70.36509 48.444276) + (xy 70.340694 48.427974) + (xy 69.198004 47.285284) + (xy 69.193572 47.280448) + (xy 69.172787 47.255678) + (xy 69.16856 47.25064) + (xy 69.162867 47.247353) + (xy 69.162861 47.247348) + (xy 69.134866 47.231185) + (xy 69.129335 47.227662) + (xy 69.122859 47.223128) + (xy 69.097466 47.205348) + (xy 69.091111 47.203644) + (xy 69.08515 47.200865) + (xy 69.085153 47.200857) + (xy 69.083321 47.200098) + (xy 69.083319 47.200107) + (xy 69.077136 47.197856) + (xy 69.07144 47.194568) + (xy 69.064963 47.193426) + (xy 69.064961 47.193425) + (xy 69.033133 47.187813) + (xy 69.026731 47.186394) + (xy 68.995498 47.178025) + (xy 68.995493 47.178024) + (xy 68.989143 47.176323) + (xy 68.982591 47.176896) + (xy 68.982589 47.176896) + (xy 68.950384 47.179714) + (xy 68.94383 47.18) + (xy 68.359831 47.18) + (xy 68.328592 47.173205) + (xy 68.302999 47.154046) + (xy 68.283132 47.131119) + (xy 68.273018 47.119447) + (xy 68.268496 47.116541) + (xy 68.268494 47.116539) + (xy 68.157602 47.045272) + (xy 68.157599 47.04527) + (xy 68.153081 47.042367) + (xy 68.147925 47.040853) + (xy 68.147923 47.040852) + (xy 68.021447 47.003715) + (xy 68.021442 47.003714) + (xy 68.016285 47.0022) + (xy 67.873715 47.0022) + (xy 67.868558 47.003714) + (xy 67.868552 47.003715) + (xy 67.742076 47.040852) + (xy 67.742071 47.040854) + (xy 67.736919 47.042367) + (xy 67.732403 47.045269) + (xy 67.732397 47.045272) + (xy 67.621505 47.116539) + (xy 67.621499 47.116543) + (xy 67.616982 47.119447) + (xy 67.613461 47.123509) + (xy 67.61346 47.123511) + (xy 67.52714 47.223128) + (xy 67.527136 47.223133) + (xy 67.523618 47.227194) + (xy 67.521385 47.232082) + (xy 67.521382 47.232088) + (xy 67.466626 47.351987) + (xy 67.466624 47.351993) + (xy 67.464392 47.356881) + (xy 67.463627 47.362195) + (xy 67.463626 47.362202) + (xy 67.444867 47.492679) + (xy 67.444102 47.498) + (xy 67.12 47.498) + (xy 67.12 47.279868) + (xy 67.125724 47.25109) + (xy 67.142026 47.226694) + (xy 67.50572 46.863) + (xy 71.635102 46.863) + (xy 71.635867 46.868321) + (xy 71.654626 46.998797) + (xy 71.654627 46.998802) + (xy 71.655392 47.004119) + (xy 71.657624 47.009008) + (xy 71.657626 47.009012) + (xy 71.712382 47.128911) + (xy 71.712383 47.128913) + (xy 71.714618 47.133806) + (xy 71.807982 47.241553) + (xy 71.812504 47.244459) + (xy 71.812505 47.24446) + (xy 71.923397 47.315727) + (xy 71.927919 47.318633) + (xy 72.064715 47.3588) + (xy 72.201904 47.3588) + (xy 72.207285 47.3588) + (xy 72.304463 47.330266) + (xy 72.346831 47.330266) + (xy 72.382477 47.353174) + (xy 72.400079 47.391717) + (xy 72.416625 47.506791) + (xy 72.416626 47.506797) + (xy 72.417392 47.512119) + (xy 72.419624 47.517008) + (xy 72.419626 47.517012) + (xy 72.474382 47.636911) + (xy 72.474383 47.636913) + (xy 72.476618 47.641806) + (xy 72.569982 47.749553) + (xy 72.574504 47.752459) + (xy 72.574505 47.75246) + (xy 72.673374 47.816) + (xy 72.689919 47.826633) + (xy 72.826715 47.8668) + (xy 72.963904 47.8668) + (xy 72.969285 47.8668) + (xy 73.106081 47.826633) + (xy 73.226018 47.749553) + (xy 73.319382 47.641806) + (xy 73.378608 47.512119) + (xy 73.398898 47.371) + (xy 73.378608 47.229881) + (xy 73.319382 47.100194) + (xy 73.271791 47.045272) + (xy 73.268271 47.041209) + (xy 73.251622 47.007948) + (xy 73.252949 46.970777) + (xy 73.271927 46.938791) + (xy 79.333724 40.876994) + (xy 79.338537 40.872583) + (xy 79.36836 40.84756) + (xy 79.38782 40.813853) + (xy 79.391319 40.80836) + (xy 79.413652 40.776466) + (xy 79.415354 40.77011) + (xy 79.418136 40.764147) + (xy 79.418145 40.764151) + (xy 79.418901 40.762324) + (xy 79.418891 40.762321) + (xy 79.42114 40.75614) + (xy 79.424432 40.75044) + (xy 79.431187 40.712121) + (xy 79.432605 40.705728) + (xy 79.442677 40.668143) + (xy 79.439285 40.629383) + (xy 79.439 40.62283) + (xy 79.439 39.024868) + (xy 79.444724 38.99609) + (xy 79.461026 38.971694) + (xy 80.754693 37.678026) + (xy 80.779089 37.661724) + (xy 80.807867 37.656) + (xy 82.135169 37.656) + (xy 82.166408 37.662795) + (xy 82.192001 37.681954) + (xy 82.205056 37.69702) + (xy 82.221982 37.716553) + (xy 82.226504 37.719459) + (xy 82.226505 37.71946) + (xy 82.337397 37.790727) + (xy 82.341919 37.793633) + (xy 82.478715 37.8338) + (xy 82.615904 37.8338) + (xy 82.621285 37.8338) + (xy 82.758081 37.793633) + (xy 82.878018 37.716553) + (xy 82.971382 37.608806) + (xy 83.030608 37.479119) + (xy 83.047065 37.364657) + (xy 83.064668 37.326114) + (xy 83.100314 37.303206) + (xy 83.142686 37.303206) + (xy 83.178332 37.326114) + (xy 83.195935 37.364658) + (xy 83.211626 37.473797) + (xy 83.211627 37.473802) + (xy 83.212392 37.479119) + (xy 83.214624 37.484008) + (xy 83.214626 37.484012) + (xy 83.269382 37.603911) + (xy 83.269383 37.603913) + (xy 83.271618 37.608806) + (xy 83.275138 37.612869) + (xy 83.27514 37.612871) + (xy 83.312512 37.656) + (xy 83.364982 37.716553) + (xy 83.369504 37.719459) + (xy 83.369505 37.71946) + (xy 83.480397 37.790727) + (xy 83.484919 37.793633) + (xy 83.621715 37.8338) + (xy 83.758904 37.8338) + (xy 83.764285 37.8338) + (xy 83.901081 37.793633) + (xy 84.021018 37.716553) + (xy 84.114382 37.608806) + (xy 84.173608 37.479119) + (xy 84.193898 37.338) + (xy 84.173608 37.196881) + (xy 84.114382 37.067194) + (xy 84.021018 36.959447) + (xy 84.016496 36.956541) + (xy 84.016494 36.956539) + (xy 83.905602 36.885272) + (xy 83.905599 36.88527) + (xy 83.901081 36.882367) + (xy 83.895925 36.880853) + (xy 83.895923 36.880852) + (xy 83.769447 36.843715) + (xy 83.769442 36.843714) + (xy 83.764285 36.8422) + (xy 83.758904 36.8422) + (xy 83.678068 36.8422) + (xy 83.64929 36.836476) + (xy 83.624894 36.820174) + (xy 83.168004 36.363284) + (xy 83.163572 36.358448) + (xy 83.142787 36.333678) + (xy 83.13856 36.32864) + (xy 83.132867 36.325353) + (xy 83.132861 36.325348) + (xy 83.104866 36.309185) + (xy 83.099335 36.305662) + (xy 83.093844 36.301818) + (xy 83.067466 36.283348) + (xy 83.061111 36.281644) + (xy 83.05515 36.278865) + (xy 83.055153 36.278857) + (xy 83.053321 36.278098) + (xy 83.053319 36.278107) + (xy 83.047136 36.275856) + (xy 83.04144 36.272568) + (xy 83.034963 36.271426) + (xy 83.034961 36.271425) + (xy 83.003133 36.265813) + (xy 82.996731 36.264394) + (xy 82.965498 36.256025) + (xy 82.965493 36.256024) + (xy 82.959143 36.254323) + (xy 82.952591 36.254896) + (xy 82.952589 36.254896) + (xy 82.920384 36.257714) + (xy 82.91383 36.258) + (xy 80.66217 36.258) + (xy 80.655616 36.257714) + (xy 80.62341 36.254896) + (xy 80.623408 36.254896) + (xy 80.616857 36.254323) + (xy 80.610507 36.256024) + (xy 80.610499 36.256025) + (xy 80.579266 36.264394) + (xy 80.572865 36.265813) + (xy 80.541037 36.271425) + (xy 80.541032 36.271426) + (xy 80.53456 36.272568) + (xy 80.528866 36.275854) + (xy 80.522681 36.278106) + (xy 80.522678 36.278099) + (xy 80.520842 36.27886) + (xy 80.520846 36.278867) + (xy 80.514888 36.281644) + (xy 80.508534 36.283348) + (xy 80.503147 36.287119) + (xy 80.503142 36.287122) + (xy 80.476655 36.305667) + (xy 80.471128 36.309189) + (xy 80.443133 36.325352) + (xy 80.443129 36.325355) + (xy 80.43744 36.32864) + (xy 80.433215 36.333673) + (xy 80.433211 36.333678) + (xy 80.412421 36.358454) + (xy 80.40799 36.363288) + (xy 78.400288 38.37099) + (xy 78.395454 38.375421) + (xy 78.370678 38.396211) + (xy 78.370673 38.396215) + (xy 78.36564 38.40044) + (xy 78.362355 38.406129) + (xy 78.362352 38.406133) + (xy 78.346189 38.434128) + (xy 78.342667 38.439655) + (xy 78.324122 38.466142) + (xy 78.324119 38.466147) + (xy 78.320348 38.471534) + (xy 78.318644 38.477888) + (xy 78.315867 38.483846) + (xy 78.31586 38.483842) + (xy 78.315099 38.485678) + (xy 78.315106 38.485681) + (xy 78.312854 38.491866) + (xy 78.309568 38.49756) + (xy 78.308426 38.504032) + (xy 78.308425 38.504037) + (xy 78.302813 38.535865) + (xy 78.301394 38.542266) + (xy 78.293025 38.573499) + (xy 78.293024 38.573507) + (xy 78.291323 38.579857) + (xy 78.291896 38.586408) + (xy 78.291896 38.58641) + (xy 78.294714 38.618616) + (xy 78.295 38.62517) + (xy 78.295 40.223132) + (xy 78.289276 40.25191) + (xy 78.272974 40.276306) + (xy 72.204106 46.345174) + (xy 72.17971 46.361476) + (xy 72.150932 46.3672) + (xy 72.064715 46.3672) + (xy 72.059558 46.368714) + (xy 72.059552 46.368715) + (xy 71.933076 46.405852) + (xy 71.933071 46.405854) + (xy 71.927919 46.407367) + (xy 71.923403 46.410269) + (xy 71.923397 46.410272) + (xy 71.812505 46.481539) + (xy 71.812499 46.481543) + (xy 71.807982 46.484447) + (xy 71.804461 46.488509) + (xy 71.80446 46.488511) + (xy 71.71814 46.588128) + (xy 71.718136 46.588133) + (xy 71.714618 46.592194) + (xy 71.712385 46.597082) + (xy 71.712382 46.597088) + (xy 71.657626 46.716987) + (xy 71.657624 46.716993) + (xy 71.655392 46.721881) + (xy 71.654627 46.727195) + (xy 71.654626 46.727202) + (xy 71.639148 46.834857) + (xy 71.635102 46.863) + (xy 67.50572 46.863) + (xy 68.089868 46.278852) + (xy 70.951724 43.416994) + (xy 70.956537 43.412583) + (xy 70.98636 43.38756) + (xy 71.00582 43.353853) + (xy 71.009319 43.34836) + (xy 71.031652 43.316466) + (xy 71.033354 43.31011) + (xy 71.036136 43.304147) + (xy 71.036145 43.304151) + (xy 71.036901 43.302324) + (xy 71.036891 43.302321) + (xy 71.03914 43.29614) + (xy 71.042432 43.29044) + (xy 71.049187 43.252121) + (xy 71.050605 43.245728) + (xy 71.060677 43.208143) + (xy 71.057286 43.169379) + (xy 71.057 43.162826) + (xy 71.057 41.818868) + (xy 71.062724 41.79009) + (xy 71.079026 41.765694) + (xy 71.721948 41.122772) + (xy 73.872724 38.971994) + (xy 73.877537 38.967583) + (xy 73.90736 38.94256) + (xy 73.92682 38.908853) + (xy 73.930319 38.90336) + (xy 73.952652 38.871466) + (xy 73.954354 38.86511) + (xy 73.957136 38.859147) + (xy 73.957145 38.859151) + (xy 73.957901 38.857324) + (xy 73.957891 38.857321) + (xy 73.96014 38.85114) + (xy 73.963432 38.84544) + (xy 73.970187 38.807121) + (xy 73.971605 38.800728) + (xy 73.981677 38.763143) + (xy 73.978286 38.724379) + (xy 73.978 38.717826) + (xy 73.978 36.484868) + (xy 73.983724 36.45609) + (xy 74.000026 36.431694) + (xy 74.785694 35.646026) + (xy 74.81009 35.629724) + (xy 74.838868 35.624) + (xy 77.32583 35.624) + (xy 77.332383 35.624285) + (xy 77.371143 35.627677) + (xy 77.408728 35.617605) + (xy 77.415121 35.616187) + (xy 77.45344 35.609432) + (xy 77.45914 35.60614) + (xy 77.465321 35.603891) + (xy 77.465324 35.603901) + (xy 77.467151 35.603145) + (xy 77.467147 35.603136) + (xy 77.47311 35.600354) + (xy 77.479466 35.598652) + (xy 77.51136 35.576319) + (xy 77.516853 35.57282) + (xy 77.55056 35.55336) + (xy 77.575583 35.523537) + (xy 77.579994 35.518724) + (xy 78.798893 34.299826) + (xy 78.823289 34.283524) + (xy 78.852067 34.2778) + (xy 78.932904 34.2778) + (xy 78.938285 34.2778) + (xy 79.075081 34.237633) + (xy 79.195018 34.160553) + (xy 79.224999 34.125954) + (xy 79.250592 34.106795) + (xy 79.281831 34.1) + (xy 81.00883 34.1) + (xy 81.015383 34.100285) + (xy 81.054143 34.103677) + (xy 81.091728 34.093605) + (xy 81.098121 34.092187) + (xy 81.13644 34.085432) + (xy 81.14214 34.08214) + (xy 81.148321 34.079891) + (xy 81.148324 34.079901) + (xy 81.150151 34.079145) + (xy 81.150147 34.079136) + (xy 81.15611 34.076354) + (xy 81.162466 34.074652) + (xy 81.19436 34.052319) + (xy 81.199853 34.04882) + (xy 81.23356 34.02936) + (xy 81.258583 33.999537) + (xy 81.262994 33.994724) + (xy 85.072693 30.185026) + (xy 85.09709 30.168724) + (xy 85.125868 30.163) + (xy 85.507345 30.163) + (xy 85.548001 30.174938) + (xy 85.575748 30.20696) + (xy 85.582014 30.220679) + (xy 85.618882 30.301411) + (xy 85.618883 30.301413) + (xy 85.621118 30.306306) + (xy 85.714482 30.414053) + (xy 85.834419 30.491133) + (xy 85.971215 30.5313) + (xy 86.108404 30.5313) + (xy 86.113785 30.5313) + (xy 86.250581 30.491133) + (xy 86.370518 30.414053) + (xy 86.463882 30.306306) + (xy 86.523108 30.176619) + (xy 86.543398 30.0355) + (xy 86.523108 29.894381) + (xy 86.463882 29.764694) + (xy 86.464862 29.764246) + (xy 86.455042 29.732886) + (xy 86.464192 29.694161) + (xy 86.491821 29.665527) + (xy 86.530194 29.655) + (xy 88.75583 29.655) + (xy 88.762383 29.655285) + (xy 88.801143 29.658677) + (xy 88.838728 29.648605) + (xy 88.845121 29.647187) + (xy 88.88344 29.640432) + (xy 88.88914 29.63714) + (xy 88.895321 29.634891) + (xy 88.895324 29.634901) + (xy 88.897151 29.634145) + (xy 88.897147 29.634136) + (xy 88.90311 29.631354) + (xy 88.909466 29.629652) + (xy 88.94136 29.607319) + (xy 88.946853 29.60382) + (xy 88.98056 29.58436) + (xy 89.005583 29.554537) + (xy 89.009994 29.549724) + (xy 89.556724 29.002994) + (xy 89.561537 28.998583) + (xy 89.59136 28.97356) + (xy 89.61082 28.939853) + (xy 89.614319 28.93436) + (xy 89.636652 28.902466) + (xy 89.638354 28.89611) + (xy 89.641136 28.890147) + (xy 89.641145 28.890151) + (xy 89.641901 28.888324) + (xy 89.641891 28.888321) + (xy 89.64414 28.88214) + (xy 89.647432 28.87644) + (xy 89.654187 28.838121) + (xy 89.655605 28.831728) + (xy 89.665677 28.794143) + (xy 89.662285 28.755383) + (xy 89.662 28.74883) + (xy 89.662 28.414208) + (xy 89.674132 28.373251) + (xy 89.706614 28.345509) + (xy 89.775787 28.314711) + (xy 89.775787 28.31471) + (xy 89.779385 28.313109) + (xy 89.926659 28.206108) + (xy 90.048468 28.070826) + (xy 90.139488 27.913174) + (xy 90.195742 27.740043) + (xy 90.21477 27.559) + (xy 90.195742 27.377957) + (xy 90.146833 27.227432) + (xy 90.140706 27.208574) + (xy 90.140705 27.208572) + (xy 90.139488 27.204826) + (xy 90.048468 27.047174) + (xy 89.926659 26.911892) + (xy 89.779385 26.804891) + (xy 89.775791 26.803291) + (xy 89.775788 26.803289) + (xy 89.61668 26.73245) + (xy 89.616676 26.732448) + (xy 89.613083 26.730849) + (xy 89.609232 26.73003) + (xy 89.609231 26.73003) + (xy 89.43887 26.693818) + (xy 89.438866 26.693817) + (xy 89.43502 26.693) + (xy 89.25298 26.693) + (xy 89.249134 26.693817) + (xy 89.249129 26.693818) + (xy 89.078768 26.73003) + (xy 89.078764 26.730031) + (xy 89.074917 26.730849) + (xy 89.071326 26.732447) + (xy 89.071319 26.73245) + (xy 88.912211 26.803289) + (xy 88.912203 26.803293) + (xy 88.908615 26.804891) + (xy 88.905431 26.807204) + (xy 88.905428 26.807206) + (xy 88.764531 26.909574) + (xy 88.761341 26.911892) + (xy 88.758706 26.914817) + (xy 88.758703 26.914821) + (xy 88.642171 27.044242) + (xy 88.642166 27.044247) + (xy 88.639532 27.047174) + (xy 88.637562 27.050584) + (xy 88.637559 27.05059) + (xy 88.550482 27.201413) + (xy 88.548512 27.204826) + (xy 88.547297 27.208564) + (xy 88.547293 27.208574) + (xy 88.493475 27.374209) + (xy 88.493473 27.374216) + (xy 88.492258 27.377957) + (xy 88.491846 27.381871) + (xy 88.491846 27.381874) + (xy 88.481697 27.47844) + (xy 88.47323 27.559) + (xy 88.473642 27.56292) + (xy 88.491834 27.736015) + (xy 88.492258 27.740043) + (xy 88.493474 27.743785) + (xy 88.493475 27.74379) + (xy 88.547293 27.909425) + (xy 88.547296 27.909432) + (xy 88.548512 27.913174) + (xy 88.550482 27.916586) + (xy 88.604457 28.010075) + (xy 88.639532 28.070826) + (xy 88.761341 28.206108) + (xy 88.908615 28.313109) + (xy 88.912208 28.314708) + (xy 88.912212 28.314711) + (xy 88.981386 28.345509) + (xy 89.013868 28.373251) + (xy 89.026 28.414208) + (xy 89.026 28.603132) + (xy 89.020276 28.63191) + (xy 89.003974 28.656306) + (xy 88.663306 28.996974) + (xy 88.63891 29.013276) + (xy 88.610132 29.019) + (xy 84.66267 29.019) + (xy 84.656116 29.018714) + (xy 84.62391 29.015896) + (xy 84.623908 29.015896) + (xy 84.617357 29.015323) + (xy 84.611007 29.017024) + (xy 84.611 29.017025) + (xy 84.579771 29.025393) + (xy 84.57337 29.026812) + (xy 84.541538 29.032425) + (xy 84.541534 29.032426) + (xy 84.53506 29.033568) + (xy 84.529364 29.036856) + (xy 84.52318 29.039107) + (xy 84.523177 29.0391) + (xy 84.521346 29.039858) + (xy 84.52135 29.039865) + (xy 84.515382 29.042647) + (xy 84.509034 29.044349) + (xy 84.503652 29.048116) + (xy 84.503648 29.048119) + (xy 84.47717 29.066659) + (xy 84.471641 29.070181) + (xy 84.443636 29.08635) + (xy 84.44363 29.086354) + (xy 84.43794 29.08964) + (xy 84.433713 29.094676) + (xy 84.433712 29.094678) + (xy 84.412916 29.11946) + (xy 84.408485 29.124294) + (xy 83.790374 29.742406) + (xy 83.751871 29.762987) + (xy 83.708422 29.758708) + (xy 83.674673 29.731011) + (xy 83.662 29.689232) + (xy 83.662 28.5002) + (xy 83.672075 28.4626) + (xy 83.6996 28.435075) + (xy 83.7372 28.425) + (xy 84.034116 28.425) + (xy 84.037812 28.425) + (xy 84.093525 28.413918) + (xy 84.156703 28.371703) + (xy 84.198918 28.308525) + (xy 84.21 28.252812) + (xy 84.21 27.559) + (xy 84.47323 27.559) + (xy 84.473642 27.56292) + (xy 84.491834 27.736015) + (xy 84.492258 27.740043) + (xy 84.493474 27.743785) + (xy 84.493475 27.74379) + (xy 84.547293 27.909425) + (xy 84.547296 27.909432) + (xy 84.548512 27.913174) + (xy 84.550482 27.916586) + (xy 84.604457 28.010075) + (xy 84.639532 28.070826) + (xy 84.761341 28.206108) + (xy 84.908615 28.313109) + (xy 85.074917 28.387151) + (xy 85.25298 28.425) + (xy 85.431082 28.425) + (xy 85.43502 28.425) + (xy 85.613083 28.387151) + (xy 85.779385 28.313109) + (xy 85.926659 28.206108) + (xy 86.048468 28.070826) + (xy 86.139488 27.913174) + (xy 86.195742 27.740043) + (xy 86.200318 27.696509) + (xy 86.488185 27.696509) + (xy 86.492337 27.736015) + (xy 86.493969 27.743691) + (xy 86.547755 27.909223) + (xy 86.550941 27.916379) + (xy 86.637966 28.067113) + (xy 86.642578 28.073461) + (xy 86.759042 28.202806) + (xy 86.764863 28.208048) + (xy 86.905683 28.31036) + (xy 86.912458 28.314272) + (xy 87.071474 28.38507) + (xy 87.078926 28.387492) + (xy 87.206006 28.414504) + (xy 87.214506 28.41376) + (xy 87.217 28.405603) + (xy 87.471 28.405603) + (xy 87.473493 28.41376) + (xy 87.481993 28.414504) + (xy 87.609073 28.387492) + (xy 87.616525 28.38507) + (xy 87.775541 28.314272) + (xy 87.782316 28.31036) + (xy 87.923136 28.208048) + (xy 87.928957 28.202806) + (xy 88.045421 28.073461) + (xy 88.050033 28.067113) + (xy 88.137058 27.916379) + (xy 88.140244 27.909223) + (xy 88.19403 27.743691) + (xy 88.195662 27.736015) + (xy 88.199814 27.696509) + (xy 88.198366 27.688298) + (xy 88.19035 27.686) + (xy 87.480902 27.686) + (xy 87.473092 27.688092) + (xy 87.471 27.695902) + (xy 87.471 28.405603) + (xy 87.217 28.405603) + (xy 87.217 27.695902) + (xy 87.214907 27.688092) + (xy 87.207098 27.686) + (xy 86.49765 27.686) + (xy 86.489633 27.688298) + (xy 86.488185 27.696509) + (xy 86.200318 27.696509) + (xy 86.21477 27.559) + (xy 86.200317 27.42149) + (xy 86.488185 27.42149) + (xy 86.489633 27.429701) + (xy 86.49765 27.432) + (xy 87.207098 27.432) + (xy 87.214907 27.429907) + (xy 87.217 27.422098) + (xy 87.471 27.422098) + (xy 87.473092 27.429907) + (xy 87.480902 27.432) + (xy 88.19035 27.432) + (xy 88.198366 27.429701) + (xy 88.199814 27.42149) + (xy 88.195662 27.381984) + (xy 88.19403 27.374308) + (xy 88.140244 27.208776) + (xy 88.137058 27.20162) + (xy 88.050033 27.050886) + (xy 88.045421 27.044538) + (xy 87.928957 26.915193) + (xy 87.923136 26.909951) + (xy 87.782316 26.807639) + (xy 87.775541 26.803727) + (xy 87.616525 26.732929) + (xy 87.609073 26.730507) + (xy 87.481993 26.703495) + (xy 87.473493 26.704239) + (xy 87.471 26.712397) + (xy 87.471 27.422098) + (xy 87.217 27.422098) + (xy 87.217 26.712397) + (xy 87.214506 26.704239) + (xy 87.206006 26.703495) + (xy 87.078926 26.730507) + (xy 87.071474 26.732928) + (xy 86.912461 26.803726) + (xy 86.90568 26.807642) + (xy 86.764868 26.909948) + (xy 86.75904 26.915195) + (xy 86.642578 27.044538) + (xy 86.637966 27.050886) + (xy 86.550941 27.20162) + (xy 86.547755 27.208776) + (xy 86.493969 27.374308) + (xy 86.492337 27.381984) + (xy 86.488185 27.42149) + (xy 86.200317 27.42149) + (xy 86.195742 27.377957) + (xy 86.146833 27.227432) + (xy 86.140706 27.208574) + (xy 86.140705 27.208572) + (xy 86.139488 27.204826) + (xy 86.048468 27.047174) + (xy 85.926659 26.911892) + (xy 85.779385 26.804891) + (xy 85.775791 26.803291) + (xy 85.775788 26.803289) + (xy 85.61668 26.73245) + (xy 85.616676 26.732448) + (xy 85.613083 26.730849) + (xy 85.609232 26.73003) + (xy 85.609231 26.73003) + (xy 85.43887 26.693818) + (xy 85.438866 26.693817) + (xy 85.43502 26.693) + (xy 85.25298 26.693) + (xy 85.249134 26.693817) + (xy 85.249129 26.693818) + (xy 85.078768 26.73003) + (xy 85.078764 26.730031) + (xy 85.074917 26.730849) + (xy 85.071326 26.732447) + (xy 85.071319 26.73245) + (xy 84.912211 26.803289) + (xy 84.912203 26.803293) + (xy 84.908615 26.804891) + (xy 84.905431 26.807204) + (xy 84.905428 26.807206) + (xy 84.764531 26.909574) + (xy 84.761341 26.911892) + (xy 84.758706 26.914817) + (xy 84.758703 26.914821) + (xy 84.642171 27.044242) + (xy 84.642166 27.044247) + (xy 84.639532 27.047174) + (xy 84.637562 27.050584) + (xy 84.637559 27.05059) + (xy 84.550482 27.201413) + (xy 84.548512 27.204826) + (xy 84.547297 27.208564) + (xy 84.547293 27.208574) + (xy 84.493475 27.374209) + (xy 84.493473 27.374216) + (xy 84.492258 27.377957) + (xy 84.491846 27.381871) + (xy 84.491846 27.381874) + (xy 84.481697 27.47844) + (xy 84.47323 27.559) + (xy 84.21 27.559) + (xy 84.21 26.865188) + (xy 84.198918 26.809475) + (xy 84.156703 26.746297) + (xy 84.150545 26.742182) + (xy 84.099683 26.708196) + (xy 84.09968 26.708194) + (xy 84.093525 26.704082) + (xy 84.086261 26.702637) + (xy 84.041924 26.693818) + (xy 84.037812 26.693) + (xy 84.034116 26.693) + (xy 83.8642 26.693) + (xy 83.8266 26.682925) + (xy 83.799075 26.6554) + (xy 83.789 26.6178) + (xy 83.789 25.3252) + (xy 83.799075 25.2876) + (xy 83.8266 25.260075) + (xy 83.8642 25.25) + (xy 84.034116 25.25) + (xy 84.037812 25.25) + (xy 84.093525 25.238918) + (xy 84.156703 25.196703) + (xy 84.198918 25.133525) + (xy 84.21 25.077812) + (xy 84.21 24.384) + (xy 84.47323 24.384) + (xy 84.473642 24.38792) + (xy 84.491834 24.561015) + (xy 84.492258 24.565043) + (xy 84.493474 24.568785) + (xy 84.493475 24.56879) + (xy 84.547293 24.734425) + (xy 84.547296 24.734432) + (xy 84.548512 24.738174) + (xy 84.639532 24.895826) + (xy 84.761341 25.031108) + (xy 84.908615 25.138109) + (xy 85.074917 25.212151) + (xy 85.25298 25.25) + (xy 85.431082 25.25) + (xy 85.43502 25.25) + (xy 85.613083 25.212151) + (xy 85.779385 25.138109) + (xy 85.926659 25.031108) + (xy 86.048468 24.895826) + (xy 86.139488 24.738174) + (xy 86.195742 24.565043) + (xy 86.200318 24.521509) + (xy 86.488185 24.521509) + (xy 86.492337 24.561015) + (xy 86.493969 24.568691) + (xy 86.547755 24.734223) + (xy 86.550941 24.741379) + (xy 86.637966 24.892113) + (xy 86.642578 24.898461) + (xy 86.759042 25.027806) + (xy 86.764863 25.033048) + (xy 86.905683 25.13536) + (xy 86.912458 25.139272) + (xy 87.071474 25.21007) + (xy 87.078926 25.212492) + (xy 87.206006 25.239504) + (xy 87.214506 25.23876) + (xy 87.217 25.230603) + (xy 87.471 25.230603) + (xy 87.473493 25.23876) + (xy 87.481993 25.239504) + (xy 87.609073 25.212492) + (xy 87.616525 25.21007) + (xy 87.775541 25.139272) + (xy 87.782316 25.13536) + (xy 87.923136 25.033048) + (xy 87.928957 25.027806) + (xy 88.045421 24.898461) + (xy 88.050033 24.892113) + (xy 88.137058 24.741379) + (xy 88.140244 24.734223) + (xy 88.19403 24.568691) + (xy 88.195662 24.561015) + (xy 88.199814 24.521509) + (xy 88.198366 24.513298) + (xy 88.19035 24.511) + (xy 87.480902 24.511) + (xy 87.473092 24.513092) + (xy 87.471 24.520902) + (xy 87.471 25.230603) + (xy 87.217 25.230603) + (xy 87.217 24.520902) + (xy 87.214907 24.513092) + (xy 87.207098 24.511) + (xy 86.49765 24.511) + (xy 86.489633 24.513298) + (xy 86.488185 24.521509) + (xy 86.200318 24.521509) + (xy 86.21477 24.384) + (xy 88.47323 24.384) + (xy 88.473642 24.38792) + (xy 88.491834 24.561015) + (xy 88.492258 24.565043) + (xy 88.493474 24.568785) + (xy 88.493475 24.56879) + (xy 88.547293 24.734425) + (xy 88.547296 24.734432) + (xy 88.548512 24.738174) + (xy 88.639532 24.895826) + (xy 88.761341 25.031108) + (xy 88.908615 25.138109) + (xy 89.074917 25.212151) + (xy 89.25298 25.25) + (xy 89.431082 25.25) + (xy 89.43502 25.25) + (xy 89.613083 25.212151) + (xy 89.779385 25.138109) + (xy 89.926659 25.031108) + (xy 90.048468 24.895826) + (xy 90.139488 24.738174) + (xy 90.195742 24.565043) + (xy 90.21477 24.384) + (xy 90.195742 24.202957) + (xy 90.167614 24.116391) + (xy 90.140706 24.033574) + (xy 90.140705 24.033572) + (xy 90.139488 24.029826) + (xy 90.048468 23.872174) + (xy 89.926659 23.736892) + (xy 89.779385 23.629891) + (xy 89.775791 23.628291) + (xy 89.775788 23.628289) + (xy 89.61668 23.55745) + (xy 89.616676 23.557448) + (xy 89.613083 23.555849) + (xy 89.609232 23.55503) + (xy 89.609231 23.55503) + (xy 89.43887 23.518818) + (xy 89.438866 23.518817) + (xy 89.43502 23.518) + (xy 89.25298 23.518) + (xy 89.249134 23.518817) + (xy 89.249129 23.518818) + (xy 89.078768 23.55503) + (xy 89.078764 23.555031) + (xy 89.074917 23.555849) + (xy 89.071326 23.557447) + (xy 89.071319 23.55745) + (xy 88.912211 23.628289) + (xy 88.912203 23.628293) + (xy 88.908615 23.629891) + (xy 88.905431 23.632204) + (xy 88.905428 23.632206) + (xy 88.825623 23.690188) + (xy 88.761341 23.736892) + (xy 88.758706 23.739817) + (xy 88.758703 23.739821) + (xy 88.642171 23.869242) + (xy 88.642166 23.869247) + (xy 88.639532 23.872174) + (xy 88.637562 23.875584) + (xy 88.637559 23.87559) + (xy 88.550482 24.026413) + (xy 88.548512 24.029826) + (xy 88.547297 24.033564) + (xy 88.547293 24.033574) + (xy 88.493475 24.199209) + (xy 88.493473 24.199216) + (xy 88.492258 24.202957) + (xy 88.491846 24.206871) + (xy 88.491846 24.206874) + (xy 88.486798 24.254907) + (xy 88.47323 24.384) + (xy 86.21477 24.384) + (xy 86.200317 24.24649) + (xy 86.488185 24.24649) + (xy 86.489633 24.254701) + (xy 86.49765 24.257) + (xy 87.207098 24.257) + (xy 87.214907 24.254907) + (xy 87.217 24.247098) + (xy 87.471 24.247098) + (xy 87.473092 24.254907) + (xy 87.480902 24.257) + (xy 88.19035 24.257) + (xy 88.198366 24.254701) + (xy 88.199814 24.24649) + (xy 88.195662 24.206984) + (xy 88.19403 24.199308) + (xy 88.140244 24.033776) + (xy 88.137058 24.02662) + (xy 88.050033 23.875886) + (xy 88.045421 23.869538) + (xy 87.928957 23.740193) + (xy 87.923136 23.734951) + (xy 87.782316 23.632639) + (xy 87.775541 23.628727) + (xy 87.616525 23.557929) + (xy 87.609073 23.555507) + (xy 87.481993 23.528495) + (xy 87.473493 23.529239) + (xy 87.471 23.537397) + (xy 87.471 24.247098) + (xy 87.217 24.247098) + (xy 87.217 23.537397) + (xy 87.214506 23.529239) + (xy 87.206006 23.528495) + (xy 87.078926 23.555507) + (xy 87.071474 23.557928) + (xy 86.912461 23.628726) + (xy 86.90568 23.632642) + (xy 86.764868 23.734948) + (xy 86.75904 23.740195) + (xy 86.642578 23.869538) + (xy 86.637966 23.875886) + (xy 86.550941 24.02662) + (xy 86.547755 24.033776) + (xy 86.493969 24.199308) + (xy 86.492337 24.206984) + (xy 86.488185 24.24649) + (xy 86.200317 24.24649) + (xy 86.195742 24.202957) + (xy 86.167614 24.116391) + (xy 86.140706 24.033574) + (xy 86.140705 24.033572) + (xy 86.139488 24.029826) + (xy 86.048468 23.872174) + (xy 85.926659 23.736892) + (xy 85.779385 23.629891) + (xy 85.775791 23.628291) + (xy 85.775788 23.628289) + (xy 85.61668 23.55745) + (xy 85.616676 23.557448) + (xy 85.613083 23.555849) + (xy 85.609232 23.55503) + (xy 85.609231 23.55503) + (xy 85.43887 23.518818) + (xy 85.438866 23.518817) + (xy 85.43502 23.518) + (xy 85.25298 23.518) + (xy 85.249134 23.518817) + (xy 85.249129 23.518818) + (xy 85.078768 23.55503) + (xy 85.078764 23.555031) + (xy 85.074917 23.555849) + (xy 85.071326 23.557447) + (xy 85.071319 23.55745) + (xy 84.912211 23.628289) + (xy 84.912203 23.628293) + (xy 84.908615 23.629891) + (xy 84.905431 23.632204) + (xy 84.905428 23.632206) + (xy 84.825623 23.690188) + (xy 84.761341 23.736892) + (xy 84.758706 23.739817) + (xy 84.758703 23.739821) + (xy 84.642171 23.869242) + (xy 84.642166 23.869247) + (xy 84.639532 23.872174) + (xy 84.637562 23.875584) + (xy 84.637559 23.87559) + (xy 84.550482 24.026413) + (xy 84.548512 24.029826) + (xy 84.547297 24.033564) + (xy 84.547293 24.033574) + (xy 84.493475 24.199209) + (xy 84.493473 24.199216) + (xy 84.492258 24.202957) + (xy 84.491846 24.206871) + (xy 84.491846 24.206874) + (xy 84.486798 24.254907) + (xy 84.47323 24.384) + (xy 84.21 24.384) + (xy 84.21 23.690188) + (xy 84.198918 23.634475) + (xy 84.156703 23.571297) + (xy 84.136697 23.557929) + (xy 84.099683 23.533196) + (xy 84.09968 23.533194) + (xy 84.093525 23.529082) + (xy 84.086261 23.527637) + (xy 84.041924 23.518818) + (xy 84.037812 23.518) + (xy 82.650188 23.518) + (xy 82.646563 23.51872) + (xy 82.646563 23.518721) + (xy 82.601738 23.527637) + (xy 82.601736 23.527637) + (xy 82.594475 23.529082) + (xy 82.588321 23.533193) + (xy 82.588316 23.533196) + (xy 82.537454 23.567182) + (xy 82.537451 23.567184) + (xy 82.531297 23.571297) + (xy 82.527184 23.577451) + (xy 82.527182 23.577454) + (xy 82.493196 23.628316) + (xy 82.493193 23.628321) + (xy 82.489082 23.634475) + (xy 82.478 23.690188) + (xy 82.478 25.077812) + (xy 82.489082 25.133525) + (xy 82.493194 25.13968) + (xy 82.493196 25.139683) + (xy 82.527182 25.190545) + (xy 82.531297 25.196703) + (xy 82.537454 25.200817) + (xy 82.588316 25.234803) + (xy 82.588317 25.234803) + (xy 82.594475 25.238918) + (xy 82.650188 25.25) + (xy 82.8238 25.25) + (xy 82.8614 25.260075) + (xy 82.888925 25.2876) + (xy 82.899 25.3252) + (xy 82.899 26.6178) + (xy 82.888925 26.6554) + (xy 82.8614 26.682925) + (xy 82.8238 26.693) + (xy 82.650188 26.693) + (xy 82.646563 26.69372) + (xy 82.646563 26.693721) + (xy 82.601738 26.702637) + (xy 82.601736 26.702637) + (xy 82.594475 26.704082) + (xy 82.588321 26.708193) + (xy 82.588316 26.708196) + (xy 82.537454 26.742182) + (xy 82.537451 26.742184) + (xy 82.531297 26.746297) + (xy 82.527184 26.752451) + (xy 82.527182 26.752454) + (xy 82.493196 26.803316) + (xy 82.493193 26.803321) + (xy 82.489082 26.809475) + (xy 82.478 26.865188) + (xy 82.478 28.252812) + (xy 82.489082 28.308525) + (xy 82.493194 28.31468) + (xy 82.493196 28.314683) + (xy 82.527182 28.365545) + (xy 82.531297 28.371703) + (xy 82.537454 28.375817) + (xy 82.588316 28.409803) + (xy 82.588317 28.409803) + (xy 82.594475 28.413918) + (xy 82.650188 28.425) + (xy 82.9508 28.425) + (xy 82.9884 28.435075) + (xy 83.015925 28.4626) + (xy 83.026 28.5002) + (xy 83.026 29.650132) + (xy 83.020276 29.67891) + (xy 83.003974 29.703306) + (xy 80.916306 31.790974) + (xy 80.89191 31.807276) + (xy 80.863132 31.813) + (xy 78.12217 31.813) + (xy 78.115616 31.812714) + (xy 78.08341 31.809896) + (xy 78.083408 31.809896) + (xy 78.076857 31.809323) + (xy 78.070507 31.811024) + (xy 78.070499 31.811025) + (xy 78.039266 31.819394) + (xy 78.032865 31.820813) + (xy 78.001037 31.826425) + (xy 78.001032 31.826426) + (xy 77.99456 31.827568) + (xy 77.988866 31.830854) + (xy 77.982681 31.833106) + (xy 77.982678 31.833099) + (xy 77.980842 31.83386) + (xy 77.980846 31.833867) + (xy 77.974888 31.836644) + (xy 77.968534 31.838348) + (xy 77.963147 31.842119) + (xy 77.963142 31.842122) + (xy 77.936655 31.860667) + (xy 77.931128 31.864189) + (xy 77.903133 31.880352) + (xy 77.903129 31.880355) + (xy 77.89744 31.88364) + (xy 77.893215 31.888673) + (xy 77.893211 31.888678) + (xy 77.872421 31.913454) + (xy 77.86799 31.918288) + (xy 75.963306 33.822974) + (xy 75.93891 33.839276) + (xy 75.910132 33.845) + (xy 73.145265 33.845) + (xy 73.138711 33.844714) + (xy 73.106505 33.841896) + (xy 73.106503 33.841896) + (xy 73.099952 33.841323) + (xy 73.093602 33.843024) + (xy 73.093595 33.843025) + (xy 73.062366 33.851393) + (xy 73.055965 33.852812) + (xy 73.024133 33.858425) + (xy 73.024129 33.858426) + (xy 73.017655 33.859568) + (xy 73.011959 33.862856) + (xy 73.005775 33.865107) + (xy 73.005772 33.8651) + (xy 73.003941 33.865858) + (xy 73.003945 33.865865) + (xy 72.997977 33.868647) + (xy 72.991629 33.870349) + (xy 72.986247 33.874116) + (xy 72.986243 33.874119) + (xy 72.959765 33.892659) + (xy 72.954236 33.896181) + (xy 72.926231 33.91235) + (xy 72.926225 33.912354) + (xy 72.920535 33.91564) + (xy 72.916308 33.920676) + (xy 72.916307 33.920678) + (xy 72.895511 33.94546) + (xy 72.89108 33.950294) + (xy 71.730288 35.111085) + (xy 71.725454 35.115516) + (xy 71.700678 35.136306) + (xy 71.700673 35.13631) + (xy 71.69564 35.140535) + (xy 71.692355 35.146224) + (xy 71.692352 35.146228) + (xy 71.676189 35.174223) + (xy 71.672667 35.17975) + (xy 71.654122 35.206237) + (xy 71.654119 35.206242) + (xy 71.650348 35.211629) + (xy 71.648644 35.217983) + (xy 71.645867 35.223941) + (xy 71.64586 35.223937) + (xy 71.645099 35.225773) + (xy 71.645106 35.225776) + (xy 71.642854 35.231961) + (xy 71.639568 35.237655) + (xy 71.638426 35.244127) + (xy 71.638425 35.244132) + (xy 71.632813 35.27596) + (xy 71.631394 35.282361) + (xy 71.623025 35.313594) + (xy 71.623024 35.313602) + (xy 71.621323 35.319952) + (xy 71.621896 35.326503) + (xy 71.621896 35.326505) + (xy 71.622296 35.331073) + (xy 71.61892 35.360808) + (xy 71.604214 35.386872) + (xy 71.525143 35.478124) + (xy 71.525138 35.478131) + (xy 71.521618 35.482194) + (xy 71.519385 35.487082) + (xy 71.519382 35.487088) + (xy 71.464626 35.606987) + (xy 71.464624 35.606993) + (xy 71.462392 35.611881) + (xy 71.461627 35.617195) + (xy 71.461626 35.617202) + (xy 71.448984 35.705133) + (xy 71.442102 35.753) + (xy 71.442867 35.758321) + (xy 71.461626 35.888797) + (xy 71.461627 35.888802) + (xy 71.462392 35.894119) + (xy 71.464624 35.899008) + (xy 71.464626 35.899012) + (xy 71.519382 36.018911) + (xy 71.519383 36.018913) + (xy 71.521618 36.023806) + (xy 71.525138 36.027869) + (xy 71.52514 36.027871) + (xy 71.5683 36.077679) + (xy 71.614982 36.131553) + (xy 71.619504 36.134459) + (xy 71.619505 36.13446) + (xy 71.647398 36.152386) + (xy 71.734919 36.208633) + (xy 71.871715 36.2488) + (xy 72.008904 36.2488) + (xy 72.014285 36.2488) + (xy 72.151081 36.208633) + (xy 72.271018 36.131553) + (xy 72.364382 36.023806) + (xy 72.423608 35.894119) + (xy 72.443898 35.753) + (xy 72.423608 35.611881) + (xy 72.364382 35.482194) + (xy 72.360859 35.478128) + (xy 72.357951 35.473603) + (xy 72.358524 35.473234) + (xy 72.344482 35.44518) + (xy 72.34581 35.40801) + (xy 72.364788 35.376025) + (xy 73.237788 34.503025) + (xy 73.262184 34.486724) + (xy 73.290962 34.481) + (xy 74.107731 34.481) + (xy 74.14951 34.493673) + (xy 74.177207 34.527422) + (xy 74.181486 34.570871) + (xy 74.160905 34.609374) + (xy 72.939288 35.83099) + (xy 72.934454 35.835421) + (xy 72.909678 35.856211) + (xy 72.909673 35.856215) + (xy 72.90464 35.86044) + (xy 72.901355 35.866129) + (xy 72.901352 35.866133) + (xy 72.885189 35.894128) + (xy 72.881667 35.899655) + (xy 72.863122 35.926142) + (xy 72.863119 35.926147) + (xy 72.859348 35.931534) + (xy 72.857644 35.937888) + (xy 72.854867 35.943846) + (xy 72.85486 35.943842) + (xy 72.854099 35.945678) + (xy 72.854106 35.945681) + (xy 72.851854 35.951866) + (xy 72.848568 35.95756) + (xy 72.847426 35.964032) + (xy 72.847425 35.964037) + (xy 72.841813 35.995865) + (xy 72.840394 36.002266) + (xy 72.832025 36.033499) + (xy 72.832024 36.033507) + (xy 72.830323 36.039857) + (xy 72.830896 36.046408) + (xy 72.830896 36.04641) + (xy 72.833714 36.078616) + (xy 72.834 36.08517) + (xy 72.834 38.318132) + (xy 72.828276 38.34691) + (xy 72.811974 38.371306) + (xy 70.018288 41.16499) + (xy 70.013454 41.169421) + (xy 69.988678 41.190211) + (xy 69.988673 41.190215) + (xy 69.98364 41.19444) + (xy 69.980355 41.200129) + (xy 69.980352 41.200133) + (xy 69.964189 41.228128) + (xy 69.960667 41.233655) + (xy 69.942122 41.260142) + (xy 69.942119 41.260147) + (xy 69.938348 41.265534) + (xy 69.936644 41.271888) + (xy 69.933867 41.277846) + (xy 69.93386 41.277842) + (xy 69.933099 41.279678) + (xy 69.933106 41.279681) + (xy 69.930854 41.285866) + (xy 69.927568 41.29156) + (xy 69.926426 41.298032) + (xy 69.926425 41.298037) + (xy 69.920813 41.329865) + (xy 69.919394 41.336266) + (xy 69.911025 41.367499) + (xy 69.911024 41.367507) + (xy 69.909323 41.373857) + (xy 69.909896 41.380408) + (xy 69.909896 41.38041) + (xy 69.912714 41.412616) + (xy 69.913 41.41917) + (xy 69.913 42.763132) + (xy 69.907276 42.79191) + (xy 69.890974 42.816306) + (xy 66.081288 46.62599) + (xy 66.076454 46.630421) + (xy 66.051678 46.651211) + (xy 66.051673 46.651215) + (xy 66.04664 46.65544) + (xy 66.043355 46.661129) + (xy 66.043352 46.661133) + (xy 66.027189 46.689128) + (xy 66.023667 46.694655) + (xy 66.005122 46.721142) + (xy 66.005119 46.721147) + (xy 66.001348 46.726534) + (xy 65.999644 46.732888) + (xy 65.996867 46.738846) + (xy 65.99686 46.738842) + (xy 65.996099 46.740678) + (xy 65.996106 46.740681) + (xy 65.993854 46.746866) + (xy 65.990568 46.75256) + (xy 65.989426 46.759032) + (xy 65.989425 46.759037) + (xy 65.983813 46.790865) + (xy 65.982394 46.797266) + (xy 65.974025 46.828499) + (xy 65.974024 46.828507) + (xy 65.972323 46.834857) + (xy 65.972896 46.841408) + (xy 65.972896 46.84141) + (xy 65.975714 46.873616) + (xy 65.976 46.88017) + (xy 65.976 49.63983) + (xy 65.975714 49.646383) + (xy 65.972323 49.685143) + (xy 65.974024 49.691493) + (xy 65.974025 49.691498) + (xy 65.982394 49.722731) + (xy 65.983813 49.729133) + (xy 65.989425 49.760961) + (xy 65.989426 49.760963) + (xy 65.990568 49.76744) + (xy 65.993856 49.773136) + (xy 65.996107 49.779319) + (xy 65.996098 49.779321) + (xy 65.996857 49.781153) + (xy 65.996865 49.78115) + (xy 65.999644 49.787111) + (xy 66.001348 49.793466) + (xy 66.019142 49.818879) + (xy 66.023662 49.825335) + (xy 66.027185 49.830866) + (xy 66.043348 49.858861) + (xy 66.043353 49.858867) + (xy 66.04664 49.86456) + (xy 66.076448 49.889572) + (xy 66.081284 49.894004) + (xy 66.576974 50.389694) + (xy 66.593276 50.41409) + (xy 66.599 50.442868) + (xy 66.599 50.889837) + (xy 66.594259 50.916117) + (xy 66.580632 50.939083) + (xy 66.49914 51.033128) + (xy 66.499136 51.033133) + (xy 66.495618 51.037194) + (xy 66.493385 51.042082) + (xy 66.493382 51.042088) + (xy 66.438626 51.161987) + (xy 66.438624 51.161993) + (xy 66.436392 51.166881) + (xy 66.435627 51.172195) + (xy 66.435626 51.172202) + (xy 66.421865 51.267915) + (xy 66.416102 51.308) + (xy 66.416867 51.313321) + (xy 66.435626 51.443797) + (xy 66.435627 51.443802) + (xy 66.436392 51.449119) + (xy 66.438624 51.454008) + (xy 66.438626 51.454012) + (xy 66.493382 51.573911) + (xy 66.493383 51.573913) + (xy 66.495618 51.578806) + (xy 66.499138 51.582869) + (xy 66.49914 51.582871) + (xy 66.537859 51.627554) + (xy 66.555462 51.666098) + (xy 66.549431 51.708039) + (xy 66.521683 51.740062) + (xy 66.481027 51.752) + (xy 65.831831 51.752) + (xy 65.800592 51.745205) + (xy 65.774999 51.726046) + (xy 65.754152 51.701988) + (xy 65.745018 51.691447) + (xy 65.740496 51.688541) + (xy 65.740494 51.688539) + (xy 65.629602 51.617272) + (xy 65.629599 51.61727) + (xy 65.625081 51.614367) + (xy 65.619925 51.612853) + (xy 65.619923 51.612852) + (xy 65.493447 51.575715) + (xy 65.493442 51.575714) + (xy 65.488285 51.5742) + (xy 65.345715 51.5742) + (xy 65.340558 51.575714) + (xy 65.340552 51.575715) + (xy 65.214076 51.612852) + (xy 65.214071 51.612854) + (xy 65.208919 51.614367) + (xy 65.204403 51.617269) + (xy 65.204397 51.617272) + (xy 65.093505 51.688539) + (xy 65.093499 51.688543) + (xy 65.088982 51.691447) + (xy 65.085461 51.695509) + (xy 65.08546 51.695511) + (xy 64.99914 51.795128) + (xy 64.999136 51.795133) + (xy 64.995618 51.799194) + (xy 64.993385 51.804082) + (xy 64.993382 51.804088) + (xy 64.938626 51.923987) + (xy 64.938624 51.923993) + (xy 64.936392 51.928881) + (xy 64.935627 51.934195) + (xy 64.935626 51.934202) + (xy 64.918836 52.050987) + (xy 64.916102 52.07) + (xy 62.331638 52.07) + (xy 62.329608 52.055881) + (xy 62.270382 51.926194) + (xy 62.266376 51.921571) + (xy 62.185368 51.828083) + (xy 62.171741 51.805117) + (xy 62.167 51.778837) + (xy 62.167 46.009868) + (xy 62.172724 45.98109) + (xy 62.189026 45.956694) + (xy 62.593694 45.552026) + (xy 62.61809 45.535724) + (xy 62.646868 45.53) + (xy 64.101169 45.53) + (xy 64.132408 45.536795) + (xy 64.158001 45.555954) + (xy 64.187982 45.590553) + (xy 64.192504 45.593459) + (xy 64.192505 45.59346) + (xy 64.303397 45.664727) + (xy 64.307919 45.667633) + (xy 64.444715 45.7078) + (xy 64.581904 45.7078) + (xy 64.587285 45.7078) + (xy 64.724081 45.667633) + (xy 64.844018 45.590553) + (xy 64.937382 45.482806) + (xy 64.996608 45.353119) + (xy 65.015372 45.222616) + (xy 65.016133 45.217321) + (xy 65.016898 45.212) + (xy 65.009557 45.160946) + (xy 64.997373 45.076202) + (xy 64.996608 45.070881) + (xy 64.937382 44.941194) + (xy 64.928674 44.931145) + (xy 64.886116 44.88203) + (xy 64.844018 44.833447) + (xy 64.839496 44.830541) + (xy 64.839494 44.830539) + (xy 64.762044 44.780764) + (xy 64.734296 44.74874) + (xy 64.728267 44.706799) + (xy 64.745867 44.668258) + (xy 64.810382 44.593806) + (xy 64.869608 44.464119) + (xy 64.889898 44.323) + (xy 64.871638 44.196) + (xy 66.237602 44.196) + (xy 66.238367 44.201321) + (xy 66.257126 44.331797) + (xy 66.257127 44.331802) + (xy 66.257892 44.337119) + (xy 66.260124 44.342008) + (xy 66.260126 44.342012) + (xy 66.314882 44.461911) + (xy 66.314883 44.461913) + (xy 66.317118 44.466806) + (xy 66.320638 44.470869) + (xy 66.32064 44.470871) + (xy 66.348739 44.503298) + (xy 66.410482 44.574553) + (xy 66.415004 44.577459) + (xy 66.415005 44.57746) + (xy 66.524447 44.647795) + (xy 66.530419 44.651633) + (xy 66.667215 44.6918) + (xy 66.804404 44.6918) + (xy 66.809785 44.6918) + (xy 66.946581 44.651633) + (xy 67.066518 44.574553) + (xy 67.159882 44.466806) + (xy 67.219108 44.337119) + (xy 67.239398 44.196) + (xy 67.219108 44.054881) + (xy 67.198838 44.010496) + (xy 67.192808 43.96856) + (xy 67.21041 43.930016) + (xy 67.246056 43.907107) + (xy 67.288429 43.907107) + (xy 67.299096 43.910239) + (xy 67.365715 43.9298) + (xy 67.502904 43.9298) + (xy 67.508285 43.9298) + (xy 67.645081 43.889633) + (xy 67.765018 43.812553) + (xy 67.858382 43.704806) + (xy 67.917608 43.575119) + (xy 67.937898 43.434) + (xy 67.935454 43.417005) + (xy 67.918373 43.298202) + (xy 67.917608 43.292881) + (xy 67.858382 43.163194) + (xy 67.854859 43.159128) + (xy 67.773368 43.065083) + (xy 67.759741 43.042117) + (xy 67.755 43.015837) + (xy 67.755 42.199868) + (xy 67.760724 42.17109) + (xy 67.777026 42.146694) + (xy 68.556221 41.367499) + (xy 70.951724 38.971994) + (xy 70.956537 38.967583) + (xy 70.98636 38.94256) + (xy 71.00582 38.908853) + (xy 71.009319 38.90336) + (xy 71.031652 38.871466) + (xy 71.033354 38.86511) + (xy 71.036136 38.859147) + (xy 71.036145 38.859151) + (xy 71.036901 38.857324) + (xy 71.036891 38.857321) + (xy 71.03914 38.85114) + (xy 71.042432 38.84544) + (xy 71.049187 38.807121) + (xy 71.050605 38.800728) + (xy 71.060677 38.763143) + (xy 71.057286 38.724379) + (xy 71.057 38.71783) + (xy 71.057 34.56117) + (xy 71.057286 34.554616) + (xy 71.059276 34.531869) + (xy 71.060677 34.515857) + (xy 71.050604 34.47827) + (xy 71.049188 34.471879) + (xy 71.048633 34.46873) + (xy 71.042432 34.43356) + (xy 71.039142 34.427862) + (xy 71.036892 34.421679) + (xy 71.0369 34.421675) + (xy 71.036143 34.419848) + (xy 71.036135 34.419853) + (xy 71.033353 34.413888) + (xy 71.031651 34.407534) + (xy 71.009335 34.375664) + (xy 71.005822 34.37015) + (xy 70.98636 34.33644) + (xy 70.956544 34.311421) + (xy 70.951709 34.30699) + (xy 69.452004 32.807284) + (xy 69.447572 32.802448) + (xy 69.426787 32.777678) + (xy 69.42256 32.77264) + (xy 69.416867 32.769353) + (xy 69.416861 32.769348) + (xy 69.388866 32.753185) + (xy 69.383335 32.749662) + (xy 69.373764 32.742961) + (xy 69.351466 32.727348) + (xy 69.345111 32.725644) + (xy 69.33915 32.722865) + (xy 69.339153 32.722857) + (xy 69.337321 32.722098) + (xy 69.337319 32.722107) + (xy 69.331136 32.719856) + (xy 69.32544 32.716568) + (xy 69.318963 32.715426) + (xy 69.318961 32.715425) + (xy 69.287133 32.709813) + (xy 69.280731 32.708394) + (xy 69.249498 32.700025) + (xy 69.249493 32.700024) + (xy 69.243143 32.698323) + (xy 69.236591 32.698896) + (xy 69.236589 32.698896) + (xy 69.204384 32.701714) + (xy 69.19783 32.702) + (xy 68.740831 32.702) + (xy 68.709592 32.695205) + (xy 68.683999 32.676046) + (xy 68.670605 32.660589) + (xy 68.654018 32.641447) + (xy 68.649496 32.638541) + (xy 68.649494 32.638539) + (xy 68.538602 32.567272) + (xy 68.538599 32.56727) + (xy 68.534081 32.564367) + (xy 68.528925 32.562853) + (xy 68.528923 32.562852) + (xy 68.402447 32.525715) + (xy 68.402442 32.525714) + (xy 68.397285 32.5242) + (xy 68.254715 32.5242) + (xy 68.249558 32.525714) + (xy 68.249552 32.525715) + (xy 68.123076 32.562852) + (xy 68.123071 32.562854) + (xy 68.117919 32.564367) + (xy 68.113403 32.567269) + (xy 68.113397 32.567272) + (xy 68.002505 32.638539) + (xy 68.002499 32.638543) + (xy 67.997982 32.641447) + (xy 67.994461 32.645509) + (xy 67.99446 32.645511) + (xy 67.90814 32.745128) + (xy 67.908136 32.745133) + (xy 67.904618 32.749194) + (xy 67.902385 32.754082) + (xy 67.902382 32.754088) + (xy 67.847626 32.873987) + (xy 67.847624 32.873993) + (xy 67.845392 32.878881) + (xy 67.844627 32.884195) + (xy 67.844626 32.884202) + (xy 67.825867 33.014679) + (xy 67.825102 33.02) + (xy 67.825867 33.025321) + (xy 67.837712 33.107705) + (xy 67.828402 33.156007) + (xy 67.791226 33.18822) + (xy 67.742091 33.190561) + (xy 67.640447 33.160715) + (xy 67.640442 33.160714) + (xy 67.635285 33.1592) + (xy 67.492715 33.1592) + (xy 67.487558 33.160714) + (xy 67.487552 33.160715) + (xy 67.361076 33.197852) + (xy 67.361071 33.197854) + (xy 67.355919 33.199367) + (xy 67.351403 33.202269) + (xy 67.351397 33.202272) + (xy 67.240505 33.273539) + (xy 67.240499 33.273543) + (xy 67.235982 33.276447) + (xy 67.232461 33.280509) + (xy 67.23246 33.280511) + (xy 67.14614 33.380128) + (xy 67.146136 33.380133) + (xy 67.142618 33.384194) + (xy 67.140385 33.389082) + (xy 67.140382 33.389088) + (xy 67.085626 33.508987) + (xy 67.085624 33.508993) + (xy 67.083392 33.513881) + (xy 67.082627 33.519195) + (xy 67.082626 33.519202) + (xy 67.069229 33.612383) + (xy 67.063102 33.655) + (xy 67.063867 33.660321) + (xy 67.082626 33.790797) + (xy 67.082627 33.790802) + (xy 67.083392 33.796119) + (xy 67.085624 33.801008) + (xy 67.085626 33.801012) + (xy 67.140382 33.920911) + (xy 67.140383 33.920913) + (xy 67.142618 33.925806) + (xy 67.146138 33.929869) + (xy 67.14614 33.929871) + (xy 67.17288 33.96073) + (xy 67.235982 34.033553) + (xy 67.240504 34.036459) + (xy 67.240505 34.03646) + (xy 67.349947 34.106795) + (xy 67.355919 34.110633) + (xy 67.492715 34.1508) + (xy 67.629904 34.1508) + (xy 67.635285 34.1508) + (xy 67.742093 34.119438) + (xy 67.791226 34.121779) + (xy 67.828402 34.153992) + (xy 67.837712 34.202294) + (xy 67.828317 34.267638) + (xy 67.825102 34.29) + (xy 67.825867 34.295321) + (xy 67.836592 34.369918) + (xy 67.827282 34.41822) + (xy 67.790106 34.450433) + (xy 67.740971 34.452774) + (xy 67.665847 34.430715) + (xy 67.665842 34.430714) + (xy 67.660685 34.4292) + (xy 67.518115 34.4292) + (xy 67.512958 34.430714) + (xy 67.512952 34.430715) + (xy 67.386476 34.467852) + (xy 67.386471 34.467854) + (xy 67.381319 34.469367) + (xy 67.376803 34.472269) + (xy 67.376797 34.472272) + (xy 67.265905 34.543539) + (xy 67.265899 34.543543) + (xy 67.261382 34.546447) + (xy 67.257861 34.550509) + (xy 67.25786 34.550511) + (xy 67.17154 34.650128) + (xy 67.171536 34.650133) + (xy 67.168018 34.654194) + (xy 67.165785 34.659082) + (xy 67.165782 34.659088) + (xy 67.111026 34.778987) + (xy 67.111024 34.778993) + (xy 67.108792 34.783881) + (xy 67.108027 34.789195) + (xy 67.108026 34.789202) + (xy 67.098179 34.857695) + (xy 67.088502 34.925) + (xy 67.089267 34.930321) + (xy 67.108026 35.060797) + (xy 67.108027 35.060802) + (xy 67.108792 35.066119) + (xy 67.111024 35.071008) + (xy 67.111026 35.071012) + (xy 67.165782 35.190911) + (xy 67.165783 35.190913) + (xy 67.168018 35.195806) + (xy 67.171538 35.199869) + (xy 67.17154 35.199871) + (xy 67.185775 35.216299) + (xy 67.261382 35.303553) + (xy 67.265904 35.306459) + (xy 67.265905 35.30646) + (xy 67.374146 35.376023) + (xy 67.381319 35.380633) + (xy 67.518115 35.4208) + (xy 67.655304 35.4208) + (xy 67.660685 35.4208) + (xy 67.797481 35.380633) + (xy 67.917418 35.303553) + (xy 67.947399 35.268954) + (xy 67.972992 35.249795) + (xy 68.004231 35.243) + (xy 68.671132 35.243) + (xy 68.69991 35.248724) + (xy 68.724306 35.265026) + (xy 68.874974 35.415694) + (xy 68.891276 35.44009) + (xy 68.897 35.468868) + (xy 68.897 37.302132) + (xy 68.891276 37.33091) + (xy 68.874974 37.355306) + (xy 68.190906 38.039374) + (xy 68.16651 38.055676) + (xy 68.137732 38.0614) + (xy 68.051515 38.0614) + (xy 68.046358 38.062914) + (xy 68.046352 38.062915) + (xy 67.919876 38.100052) + (xy 67.919871 38.100054) + (xy 67.914719 38.101567) + (xy 67.910203 38.104469) + (xy 67.910197 38.104472) + (xy 67.799305 38.175739) + (xy 67.799299 38.175743) + (xy 67.794782 38.178647) + (xy 67.791261 38.182709) + (xy 67.79126 38.182711) + (xy 67.70494 38.282328) + (xy 67.704936 38.282333) + (xy 67.701418 38.286394) + (xy 67.699185 38.291282) + (xy 67.699182 38.291288) + (xy 67.644426 38.411187) + (xy 67.644424 38.411193) + (xy 67.642192 38.416081) + (xy 67.641427 38.421395) + (xy 67.641426 38.421402) + (xy 67.624049 38.542266) + (xy 67.621902 38.5572) + (xy 67.622667 38.562521) + (xy 67.641426 38.692997) + (xy 67.641427 38.693002) + (xy 67.642192 38.698319) + (xy 67.644424 38.703208) + (xy 67.644426 38.703212) + (xy 67.699182 38.823111) + (xy 67.699183 38.823113) + (xy 67.701418 38.828006) + (xy 67.704938 38.832069) + (xy 67.70494 38.832071) + (xy 67.737545 38.869699) + (xy 67.794782 38.935753) + (xy 67.799304 38.938659) + (xy 67.799305 38.93866) + (xy 67.858651 38.9768) + (xy 67.914719 39.012833) + (xy 68.051515 39.053) + (xy 68.188704 39.053) + (xy 68.194085 39.053) + (xy 68.330881 39.012833) + (xy 68.450818 38.935753) + (xy 68.544182 38.828006) + (xy 68.562397 38.788118) + (xy 68.590144 38.756099) + (xy 68.6308 38.744161) + (xy 68.671456 38.756099) + (xy 68.699202 38.788118) + (xy 68.717418 38.828006) + (xy 68.720938 38.832069) + (xy 68.72094 38.832071) + (xy 68.753545 38.869699) + (xy 68.810782 38.935753) + (xy 68.815304 38.938659) + (xy 68.815305 38.93866) + (xy 68.874651 38.9768) + (xy 68.930719 39.012833) + (xy 69.055493 39.04947) + (xy 69.096584 39.079474) + (xy 69.109166 39.128772) + (xy 69.087481 39.174798) + (xy 66.525788 41.73649) + (xy 66.520954 41.740921) + (xy 66.496178 41.761711) + (xy 66.496173 41.761715) + (xy 66.49114 41.76594) + (xy 66.487855 41.771629) + (xy 66.487852 41.771633) + (xy 66.471689 41.799628) + (xy 66.468167 41.805155) + (xy 66.449622 41.831642) + (xy 66.449619 41.831647) + (xy 66.445848 41.837034) + (xy 66.444144 41.843388) + (xy 66.441367 41.849346) + (xy 66.44136 41.849342) + (xy 66.440599 41.851178) + (xy 66.440606 41.851181) + (xy 66.438354 41.857366) + (xy 66.435068 41.86306) + (xy 66.433926 41.869532) + (xy 66.433925 41.869537) + (xy 66.428313 41.901365) + (xy 66.426894 41.907766) + (xy 66.418525 41.938999) + (xy 66.418524 41.939007) + (xy 66.416823 41.945357) + (xy 66.417396 41.951908) + (xy 66.417396 41.95191) + (xy 66.420214 41.984116) + (xy 66.4205 41.99067) + (xy 66.4205 43.777837) + (xy 66.415759 43.804117) + (xy 66.402132 43.827083) + (xy 66.32064 43.921128) + (xy 66.320636 43.921133) + (xy 66.317118 43.925194) + (xy 66.314885 43.930082) + (xy 66.314882 43.930088) + (xy 66.260126 44.049987) + (xy 66.260125 44.049991) + (xy 66.257892 44.054881) + (xy 66.257127 44.060195) + (xy 66.257126 44.060202) + (xy 66.25026 44.107959) + (xy 66.237602 44.196) + (xy 64.871638 44.196) + (xy 64.869608 44.181881) + (xy 64.810382 44.052194) + (xy 64.806393 44.047591) + (xy 64.775763 44.012242) + (xy 64.717018 43.944447) + (xy 64.712496 43.941541) + (xy 64.712494 43.941539) + (xy 64.601602 43.870272) + (xy 64.601599 43.87027) + (xy 64.597081 43.867367) + (xy 64.591925 43.865853) + (xy 64.591923 43.865852) + (xy 64.465447 43.828715) + (xy 64.465442 43.828714) + (xy 64.460285 43.8272) + (xy 64.317715 43.8272) + (xy 64.312552 43.828715) + (xy 64.307231 43.829481) + (xy 64.30707 43.828361) + (xy 64.271385 43.828358) + (xy 64.235742 43.805448) + (xy 64.218142 43.766905) + (xy 64.224172 43.72497) + (xy 64.234608 43.702119) + (xy 64.254898 43.561) + (xy 64.234608 43.419881) + (xy 64.175382 43.290194) + (xy 64.159722 43.272122) + (xy 64.13424 43.242714) + (xy 64.082018 43.182447) + (xy 64.077496 43.179541) + (xy 64.077494 43.179539) + (xy 63.966602 43.108272) + (xy 63.966599 43.10827) + (xy 63.962081 43.105367) + (xy 63.956925 43.103853) + (xy 63.956923 43.103852) + (xy 63.830447 43.066715) + (xy 63.830442 43.066714) + (xy 63.825285 43.0652) + (xy 63.682715 43.0652) + (xy 63.677558 43.066714) + (xy 63.677552 43.066715) + (xy 63.551076 43.103852) + (xy 63.551071 43.103854) + (xy 63.545919 43.105367) + (xy 63.541403 43.108269) + (xy 63.541397 43.108272) + (xy 63.430505 43.179539) + (xy 63.430499 43.179543) + (xy 63.425982 43.182447) + (xy 63.422461 43.186509) + (xy 63.42246 43.186511) + (xy 63.396001 43.217046) + (xy 63.370408 43.236205) + (xy 63.339169 43.243) + (xy 62.247174 43.243) + (xy 62.240621 43.242714) + (xy 62.20841 43.239896) + (xy 62.208408 43.239896) + (xy 62.201857 43.239323) + (xy 62.195507 43.241024) + (xy 62.195499 43.241025) + (xy 62.164266 43.249394) + (xy 62.157865 43.250813) + (xy 62.126037 43.256425) + (xy 62.126032 43.256426) + (xy 62.11956 43.257568) + (xy 62.113866 43.260854) + (xy 62.107681 43.263106) + (xy 62.107678 43.263099) + (xy 62.105842 43.26386) + (xy 62.105846 43.263867) + (xy 62.099888 43.266644) + (xy 62.093534 43.268348) + (xy 62.088147 43.272119) + (xy 62.088142 43.272122) + (xy 62.061655 43.290667) + (xy 62.056128 43.294189) + (xy 62.028133 43.310352) + (xy 62.028129 43.310355) + (xy 62.02244 43.31364) + (xy 62.018215 43.318673) + (xy 62.018211 43.318678) + (xy 61.997421 43.343454) + (xy 61.99299 43.348288) + (xy 60.366288 44.97499) + (xy 60.361454 44.979421) + (xy 60.336678 45.000211) + (xy 60.336673 45.000215) + (xy 60.33164 45.00444) + (xy 60.328355 45.010129) + (xy 60.328352 45.010133) + (xy 60.312189 45.038128) + (xy 60.308667 45.043655) + (xy 60.290122 45.070142) + (xy 60.290119 45.070147) + (xy 60.286348 45.075534) + (xy 60.284644 45.081888) + (xy 60.281867 45.087846) + (xy 60.28186 45.087842) + (xy 60.281099 45.089678) + (xy 60.281106 45.089681) + (xy 60.278854 45.095866) + (xy 60.275568 45.10156) + (xy 60.274426 45.108032) + (xy 60.274425 45.108037) + (xy 60.268813 45.139865) + (xy 60.267394 45.146266) + (xy 60.259025 45.177499) + (xy 60.259024 45.177507) + (xy 60.257323 45.183857) + (xy 60.257896 45.190408) + (xy 60.257896 45.19041) + (xy 60.260714 45.222616) + (xy 60.261 45.22917) + (xy 60.261 51.778837) + (xy 60.256259 51.805117) + (xy 60.242632 51.828083) + (xy 60.16114 51.922128) + (xy 60.161136 51.922133) + (xy 60.157618 51.926194) + (xy 60.155385 51.931082) + (xy 60.155382 51.931088) + (xy 60.100626 52.050987) + (xy 60.100624 52.050993) + (xy 60.098392 52.055881) + (xy 60.097627 52.061195) + (xy 60.097626 52.061202) + (xy 60.082408 52.167052) + (xy 60.078102 52.197) + (xy 47.744898 52.197) + (xy 47.724608 52.055881) + (xy 47.665382 51.926194) + (xy 47.661376 51.921571) + (xy 47.580368 51.828083) + (xy 47.566741 51.805117) + (xy 47.562 51.778837) + (xy 47.562 43.8272) + (xy 47.572075 43.7896) + (xy 47.5996 43.762075) + (xy 47.6372 43.752) + (xy 52.96712 43.752) + (xy 52.99836 43.758796) + (xy 53.000394 43.759724) + (xy 53.004919 43.762633) + (xy 53.141715 43.8028) + (xy 53.278904 43.8028) + (xy 53.284285 43.8028) + (xy 53.421081 43.762633) + (xy 53.541018 43.685553) + (xy 53.634382 43.577806) + (xy 53.693608 43.448119) + (xy 53.713898 43.307) + (xy 53.693608 43.165881) + (xy 53.634382 43.036194) + (xy 53.616742 43.015837) + (xy 53.547889 42.936377) + (xy 53.541018 42.928447) + (xy 53.536496 42.925541) + (xy 53.536494 42.925539) + (xy 53.425602 42.854272) + (xy 53.425599 42.85427) + (xy 53.421081 42.851367) + (xy 53.415925 42.849853) + (xy 53.415923 42.849852) + (xy 53.289447 42.812715) + (xy 53.289442 42.812714) + (xy 53.284285 42.8112) + (xy 53.141715 42.8112) + (xy 53.136558 42.812714) + (xy 53.136552 42.812715) + (xy 53.010079 42.849851) + (xy 53.010073 42.849853) + (xy 53.004919 42.851367) + (xy 53.000394 42.854274) + (xy 52.99836 42.855204) + (xy 52.96712 42.862) + (xy 47.5102 42.862) + (xy 47.4726 42.851925) + (xy 47.445075 42.8244) + (xy 47.435 42.7868) + (xy 47.435 34.319207) + (xy 47.435473 34.310788) + (xy 47.436708 34.299826) + (xy 47.439711 34.273173) + (xy 47.42905 34.21683) + (xy 47.428579 34.214056) + (xy 47.424639 34.187913) + (xy 47.420033 34.157353) + (xy 47.417585 34.152271) + (xy 47.41689 34.150017) + (xy 47.416778 34.149566) + (xy 47.416777 34.149562) + (xy 47.416599 34.149132) + (xy 47.415819 34.146903) + (xy 47.414772 34.141366) + (xy 47.412139 34.136384) + (xy 47.412138 34.136381) + (xy 47.390757 34.095927) + (xy 47.387966 34.090646) + (xy 47.386707 34.088151) + (xy 47.382729 34.079891) + (xy 47.361829 34.036491) + (xy 47.357995 34.032359) + (xy 47.356659 34.030399) + (xy 47.356423 34.030007) + (xy 47.356129 34.029652) + (xy 47.354724 34.027749) + (xy 47.352091 34.022766) + (xy 47.311539 33.982214) + (xy 47.309589 33.98019) + (xy 47.27442 33.942287) + (xy 47.270587 33.938156) + (xy 47.265707 33.935338) + (xy 47.263852 33.933859) + (xy 47.257565 33.92824) + (xy 45.674321 32.344996) + (xy 45.668701 32.338708) + (xy 45.648611 32.313516) + (xy 45.648608 32.313513) + (xy 45.645095 32.309108) + (xy 45.640438 32.305932) + (xy 45.640435 32.30593) + (xy 45.597731 32.276814) + (xy 45.59544 32.275188) + (xy 45.553822 32.244473) + (xy 45.553816 32.24447) + (xy 45.549284 32.241125) + (xy 45.543965 32.239263) + (xy 45.541862 32.238152) + (xy 45.541476 32.237919) + (xy 45.541052 32.237744) + (xy 45.538913 32.236714) + (xy 45.534259 32.233541) + (xy 45.528876 32.23188) + (xy 45.528875 32.23188) + (xy 45.479471 32.21664) + (xy 45.476802 32.215761) + (xy 45.427988 32.198681) + (xy 45.427984 32.19868) + (xy 45.422665 32.196819) + (xy 45.417031 32.196607) + (xy 45.414702 32.196167) + (xy 45.414256 32.196056) + (xy 45.413817 32.196015) + (xy 45.411451 32.195658) + (xy 45.406073 32.194) + (xy 45.400441 32.194) + (xy 45.348707 32.194) + (xy 45.345896 32.193947) + (xy 45.294244 32.192014) + (xy 45.294239 32.192014) + (xy 45.288614 32.191804) + (xy 45.283173 32.193261) + (xy 45.280819 32.193527) + (xy 45.272401 32.194) + (xy 40.923198 32.194) + (xy 40.914779 32.193527) + (xy 40.88277 32.18992) + (xy 40.882765 32.18992) + (xy 40.877173 32.18929) + (xy 40.871639 32.190336) + (xy 40.871636 32.190337) + (xy 40.820867 32.199942) + (xy 40.818098 32.200413) + (xy 40.766918 32.208128) + (xy 40.766916 32.208128) + (xy 40.761353 32.208967) + (xy 40.756282 32.211408) + (xy 40.753984 32.212117) + (xy 40.753566 32.21222) + (xy 40.753143 32.212396) + (xy 40.750897 32.213181) + (xy 40.745366 32.214229) + (xy 40.740392 32.216857) + (xy 40.740388 32.216859) + (xy 40.694677 32.241017) + (xy 40.692171 32.242282) + (xy 40.645564 32.264727) + (xy 40.645559 32.264729) + (xy 40.640491 32.267171) + (xy 40.636364 32.270999) + (xy 40.634392 32.272344) + (xy 40.634007 32.272575) + (xy 40.63367 32.272855) + (xy 40.631738 32.27428) + (xy 40.626765 32.27691) + (xy 40.622785 32.280889) + (xy 40.622782 32.280892) + (xy 40.586213 32.31746) + (xy 40.584191 32.319408) + (xy 40.546281 32.354584) + (xy 40.546276 32.354589) + (xy 40.542156 32.358413) + (xy 40.539343 32.363283) + (xy 40.537856 32.365149) + (xy 40.532239 32.371434) + (xy 39.075995 33.827678) + (xy 39.06971 33.833296) + (xy 39.044515 33.853389) + (xy 39.04451 33.853394) + (xy 39.040108 33.856905) + (xy 39.036935 33.861558) + (xy 39.036931 33.861563) + (xy 39.00781 33.904275) + (xy 39.006206 33.906536) + (xy 38.972125 33.952716) + (xy 38.970264 33.95803) + (xy 38.969144 33.960151) + (xy 38.968919 33.960524) + (xy 38.968745 33.960945) + (xy 38.967714 33.963085) + (xy 38.964541 33.967741) + (xy 38.96288 33.973123) + (xy 38.96288 33.973125) + (xy 38.947638 34.022535) + (xy 38.946759 34.025204) + (xy 38.929679 34.074015) + (xy 38.929677 34.074024) + (xy 38.927819 34.079335) + (xy 38.927608 34.08496) + (xy 38.927164 34.087308) + (xy 38.927057 34.087739) + (xy 38.927015 34.088187) + (xy 38.926659 34.090543) + (xy 38.925 34.095927) + (xy 38.925 34.101561) + (xy 38.925 34.153293) + (xy 38.924947 34.156104) + (xy 38.923014 34.207755) + (xy 38.923014 34.207759) + (xy 38.922804 34.213386) + (xy 38.924261 34.218826) + (xy 38.924527 34.221181) + (xy 38.925 34.229599) + (xy 38.925 38.245552) + (xy 38.918204 38.276791) + (xy 38.891626 38.334987) + (xy 38.891624 38.334993) + (xy 38.889392 38.339881) + (xy 38.888627 38.345195) + (xy 38.888626 38.345202) + (xy 38.871238 38.466142) + (xy 38.869102 38.481) + (xy 38.869867 38.486321) + (xy 38.888626 38.616797) + (xy 38.888627 38.616802) + (xy 38.889392 38.622119) + (xy 38.891624 38.627008) + (xy 38.891626 38.627012) + (xy 38.946382 38.746911) + (xy 38.946383 38.746912) + (xy 38.948618 38.751806) + (xy 38.952138 38.755869) + (xy 38.95214 38.755871) + (xy 38.959017 38.763807) + (xy 39.041982 38.859553) + (xy 39.046504 38.862459) + (xy 39.046505 38.86246) + (xy 39.157397 38.933727) + (xy 39.161919 38.936633) + (xy 39.298715 38.9768) + (xy 39.435904 38.9768) + (xy 39.441285 38.9768) + (xy 39.578081 38.936633) + (xy 39.698018 38.859553) + (xy 39.791382 38.751806) + (xy 39.797396 38.738636) + (xy 39.832139 38.70263) + (xy 39.881785 38.696395) + (xy 39.924354 38.72269) + (xy 39.941 38.769876) + (xy 39.941 39.789527) + (xy 39.935276 39.818305) + (xy 39.918976 39.842698) + (xy 39.391764 40.36991) + (xy 39.224175 40.537499) + (xy 39.19219 40.556477) + (xy 39.167081 40.56385) + (xy 39.167073 40.563853) + (xy 39.161919 40.565367) + (xy 39.157397 40.568272) + (xy 39.157395 40.568274) + (xy 39.046505 40.639539) + (xy 39.046499 40.639543) + (xy 39.041982 40.642447) + (xy 39.038461 40.646509) + (xy 39.03846 40.646511) + (xy 38.95214 40.746128) + (xy 38.952136 40.746133) + (xy 38.948618 40.750194) + (xy 38.946385 40.755082) + (xy 38.946382 40.755088) + (xy 38.891626 40.874987) + (xy 38.891624 40.874993) + (xy 38.889392 40.879881) + (xy 38.888627 40.885195) + (xy 38.888626 40.885202) + (xy 38.87189 41.001607) + (xy 38.869102 41.021) + (xy 38.869867 41.026321) + (xy 38.888626 41.156797) + (xy 38.888627 41.156802) + (xy 38.889392 41.162119) + (xy 38.891624 41.167008) + (xy 38.891626 41.167012) + (xy 38.946382 41.286911) + (xy 38.946383 41.286913) + (xy 38.948618 41.291806) + (xy 38.952138 41.295869) + (xy 38.95214 41.295871) + (xy 38.984405 41.333106) + (xy 39.041982 41.399553) + (xy 39.046504 41.402459) + (xy 39.046505 41.40246) + (xy 39.157397 41.473727) + (xy 39.161919 41.476633) + (xy 39.298715 41.5168) + (xy 39.435904 41.5168) + (xy 39.441285 41.5168) + (xy 39.578081 41.476633) + (xy 39.698018 41.399553) + (xy 39.791382 41.291806) + (xy 39.838587 41.188438) + (xy 39.853814 41.166509) + (xy 40.680014 40.340309) + (xy 40.686283 40.334706) + (xy 40.715892 40.311095) + (xy 40.748215 40.263685) + (xy 40.749773 40.261489) + (xy 40.783875 40.215284) + (xy 40.785736 40.209963) + (xy 40.786845 40.207866) + (xy 40.787079 40.207477) + (xy 40.787264 40.207031) + (xy 40.78828 40.20492) + (xy 40.791459 40.200259) + (xy 40.808379 40.145402) + (xy 40.809223 40.142838) + (xy 40.828181 40.088665) + (xy 40.828391 40.083028) + (xy 40.828831 40.080706) + (xy 40.828943 40.080254) + (xy 40.828987 40.079787) + (xy 40.829337 40.077461) + (xy 40.831 40.072073) + (xy 40.831 40.014707) + (xy 40.831053 40.011896) + (xy 40.831137 40.00966) + (xy 40.833196 39.954614) + (xy 40.831738 39.949172) + (xy 40.831473 39.946819) + (xy 40.831 39.938401) + (xy 40.831 34.886473) + (xy 40.836724 34.857695) + (xy 40.853026 34.833299) + (xy 41.564299 34.122026) + (xy 41.588695 34.105724) + (xy 41.617473 34.1) + (xy 44.742527 34.1) + (xy 44.771305 34.105724) + (xy 44.795701 34.122026) + (xy 45.379974 34.706299) + (xy 45.396276 34.730695) + (xy 45.402 34.759473) + (xy 45.402 42.7868) + (xy 45.391925 42.8244) + (xy 45.3644 42.851925) + (xy 45.3268 42.862) + (xy 45.07688 42.862) + (xy 45.04564 42.855204) + (xy 45.043605 42.854274) + (xy 45.039081 42.851367) + (xy 45.033923 42.849852) + (xy 45.03392 42.849851) + (xy 44.907447 42.812715) + (xy 44.907442 42.812714) + (xy 44.902285 42.8112) + (xy 44.759715 42.8112) + (xy 44.754558 42.812714) + (xy 44.754552 42.812715) + (xy 44.628076 42.849852) + (xy 44.628071 42.849854) + (xy 44.622919 42.851367) + (xy 44.618403 42.854269) + (xy 44.618397 42.854272) + (xy 44.507505 42.925539) + (xy 44.507499 42.925543) + (xy 44.502982 42.928447) + (xy 44.499461 42.932509) + (xy 44.49946 42.932511) + (xy 44.41314 43.032128) + (xy 44.413136 43.032133) + (xy 44.409618 43.036194) + (xy 44.407385 43.041082) + (xy 44.407382 43.041088) + (xy 44.352626 43.160987) + (xy 44.352624 43.160993) + (xy 44.350392 43.165881) + (xy 44.349627 43.171195) + (xy 44.349626 43.171202) + (xy 44.333415 43.283957) + (xy 44.330102 43.307) + (xy 44.330867 43.312321) + (xy 44.349626 43.442797) + (xy 44.349627 43.442802) + (xy 44.350392 43.448119) + (xy 44.352624 43.453008) + (xy 44.352626 43.453012) + (xy 44.407382 43.572911) + (xy 44.407383 43.572913) + (xy 44.409618 43.577806) + (xy 44.502982 43.685553) + (xy 44.507504 43.688459) + (xy 44.507505 43.68846) + (xy 44.618397 43.759727) + (xy 44.622919 43.762633) + (xy 44.759715 43.8028) + (xy 44.896904 43.8028) + (xy 44.902285 43.8028) + (xy 45.039081 43.762633) + (xy 45.043606 43.759724) + (xy 45.04564 43.758796) + (xy 45.07688 43.752) + (xy 45.1998 43.752) + (xy 45.2374 43.762075) + (xy 45.264925 43.7896) + (xy 45.275 43.8272) + (xy 45.275 50.2798) + (xy 45.264925 50.3174) + (xy 45.2374 50.344925) + (xy 45.1998 50.355) + (xy 40.75888 50.355) + (xy 40.72764 50.348204) + (xy 40.725605 50.347274) + (xy 40.721081 50.344367) + (xy 40.715923 50.342852) + (xy 40.71592 50.342851) + (xy 40.589447 50.305715) + (xy 40.589442 50.305714) + (xy 40.584285 50.3042) + (xy 40.441715 50.3042) + (xy 40.436558 50.305714) + (xy 40.436552 50.305715) + (xy 40.310076 50.342852) + (xy 40.310071 50.342854) + (xy 40.304919 50.344367) + (xy 40.300403 50.347269) + (xy 40.300397 50.347272) + (xy 40.189505 50.418539) + (xy 40.189499 50.418543) + (xy 40.184982 50.421447) + (xy 40.181461 50.425509) + (xy 40.18146 50.425511) + (xy 40.09514 50.525128) + (xy 40.095136 50.525133) + (xy 40.091618 50.529194) + (xy 40.089385 50.534082) + (xy 40.089382 50.534088) + (xy 40.034626 50.653987) + (xy 40.034624 50.653993) + (xy 40.032392 50.658881) + (xy 40.031627 50.664195) + (xy 40.031626 50.664202) + (xy 40.020315 50.742875) + (xy 40.012102 50.8) + (xy 40.012867 50.805321) + (xy 40.031626 50.935797) + (xy 40.031627 50.935802) + (xy 40.032392 50.941119) + (xy 40.034624 50.946008) + (xy 40.034626 50.946012) + (xy 40.089382 51.065911) + (xy 40.089383 51.065913) + (xy 40.091618 51.070806) + (xy 40.184982 51.178553) + (xy 40.189504 51.181459) + (xy 40.189505 51.18146) + (xy 40.300397 51.252727) + (xy 40.304919 51.255633) + (xy 40.441715 51.2958) + (xy 40.578904 51.2958) + (xy 40.584285 51.2958) + (xy 40.721081 51.255633) + (xy 40.725606 51.252724) + (xy 40.72764 51.251796) + (xy 40.75888 51.245) + (xy 45.1998 51.245) + (xy 45.2374 51.255075) + (xy 45.264925 51.2826) + (xy 45.275 51.3202) + (xy 45.275 53.4548) + (xy 45.264925 53.4924) + (xy 45.2374 53.519925) + (xy 45.1998 53.53) + (xy 40.669207 53.53) + (xy 40.660788 53.529527) + (xy 40.62877 53.525919) + (xy 40.628765 53.525919) + (xy 40.623173 53.525289) + (xy 40.617639 53.526335) + (xy 40.617636 53.526336) + (xy 40.566837 53.535947) + (xy 40.564067 53.536418) + (xy 40.512924 53.544127) + (xy 40.512922 53.544127) + (xy 40.507353 53.544967) + (xy 40.502279 53.547409) + (xy 40.499993 53.548115) + (xy 40.499563 53.548221) + (xy 40.499138 53.548398) + (xy 40.496901 53.54918) + (xy 40.491366 53.550228) + (xy 40.486391 53.552857) + (xy 40.486383 53.55286) + (xy 40.440653 53.577028) + (xy 40.438147 53.578293) + (xy 40.391565 53.600727) + (xy 40.391562 53.600728) + (xy 40.386491 53.603171) + (xy 40.382363 53.606999) + (xy 40.380392 53.608344) + (xy 40.380007 53.608575) + (xy 40.37967 53.608855) + (xy 40.377738 53.61028) + (xy 40.372765 53.61291) + (xy 40.368785 53.616889) + (xy 40.368782 53.616892) + (xy 40.332213 53.65346) + (xy 40.330191 53.655408) + (xy 40.292281 53.690584) + (xy 40.292276 53.690589) + (xy 40.288156 53.694413) + (xy 40.285343 53.699283) + (xy 40.283856 53.701149) + (xy 40.278239 53.707434) + (xy 39.075995 54.909678) + (xy 39.06971 54.915296) + (xy 39.044515 54.935389) + (xy 39.04451 54.935394) + (xy 39.040108 54.938905) + (xy 39.036935 54.943558) + (xy 39.036931 54.943563) + (xy 39.00781 54.986275) + (xy 39.006206 54.988536) + (xy 38.972125 55.034716) + (xy 38.970264 55.04003) + (xy 38.969144 55.042151) + (xy 38.968919 55.042524) + (xy 38.968745 55.042945) + (xy 38.967714 55.045085) + (xy 38.964541 55.049741) + (xy 38.96288 55.055123) + (xy 38.96288 55.055125) + (xy 38.947638 55.104535) + (xy 38.946759 55.107204) + (xy 38.929679 55.156015) + (xy 38.929677 55.156024) + (xy 38.927819 55.161335) + (xy 38.927608 55.16696) + (xy 38.927164 55.169308) + (xy 38.927057 55.169739) + (xy 38.927015 55.170187) + (xy 38.926659 55.172543) + (xy 38.925 55.177927) + (xy 38.925 55.183561) + (xy 38.925 55.235293) + (xy 38.924947 55.238104) + (xy 38.923014 55.289755) + (xy 38.923014 55.289759) + (xy 38.922804 55.295386) + (xy 38.924261 55.300826) + (xy 38.924527 55.303181) + (xy 38.925 55.311599) + (xy 38.925 58.565552) + (xy 38.918204 58.596791) + (xy 38.891626 58.654987) + (xy 38.891624 58.654993) + (xy 38.889392 58.659881) + (xy 38.888627 58.665195) + (xy 38.888626 58.665202) + (xy 38.869867 58.795679) + (xy 38.869102 58.801) + (xy 38.869867 58.806321) + (xy 38.888626 58.936797) + (xy 38.888627 58.936802) + (xy 38.889392 58.942119) + (xy 38.891624 58.947008) + (xy 38.891626 58.947012) + (xy 38.946382 59.066911) + (xy 38.946383 59.066913) + (xy 38.948618 59.071806) + (xy 38.952138 59.075869) + (xy 38.95214 59.075871) + (xy 38.970421 59.096968) + (xy 39.041982 59.179553) + (xy 39.046504 59.182459) + (xy 39.046505 59.18246) + (xy 39.099596 59.21658) + (xy 39.161919 59.256633) + (xy 39.298715 59.2968) + (xy 39.435904 59.2968) + (xy 39.441285 59.2968) + (xy 39.578081 59.256633) + (xy 39.698018 59.179553) + (xy 39.791382 59.071806) + (xy 39.850608 58.942119) + (xy 39.870898 58.801) + (xy 39.850608 58.659881) + (xy 39.821796 58.596791) + (xy 39.815 58.565552) + (xy 39.815 55.460473) + (xy 39.820724 55.431695) + (xy 39.837026 55.407299) + (xy 40.802299 54.442026) + (xy 40.826695 54.425724) + (xy 40.855473 54.42) + (xy 45.1998 54.42) + (xy 45.2374 54.430075) + (xy 45.264925 54.4576) + (xy 45.275 54.4952) + (xy 45.275 60.5668) + (xy 45.264925 60.6044) + (xy 45.2374 60.631925) + (xy 45.1998 60.642) + (xy 45.07688 60.642) + (xy 45.04564 60.635204) + (xy 45.043605 60.634274) + (xy 45.039081 60.631367) + (xy 45.033923 60.629852) + (xy 45.03392 60.629851) + (xy 44.907447 60.592715) + (xy 44.907442 60.592714) + (xy 44.902285 60.5912) + (xy 44.759715 60.5912) + (xy 44.754558 60.592714) + (xy 44.754552 60.592715) + (xy 44.628076 60.629852) + (xy 44.628071 60.629854) + (xy 44.622919 60.631367) + (xy 44.618403 60.634269) + (xy 44.618397 60.634272) + (xy 44.507505 60.705539) + (xy 44.507499 60.705543) + (xy 44.502982 60.708447) + (xy 44.499461 60.712509) + (xy 44.49946 60.712511) + (xy 44.41314 60.812128) + (xy 44.413136 60.812133) + (xy 44.409618 60.816194) + (xy 44.407385 60.821082) + (xy 44.407382 60.821088) + (xy 44.352626 60.940987) + (xy 44.352624 60.940993) + (xy 44.350392 60.945881) + (xy 44.349627 60.951195) + (xy 44.349626 60.951202) + (xy 44.335834 61.047133) + (xy 44.330102 61.087) + (xy 44.330867 61.092321) + (xy 44.349626 61.222797) + (xy 44.349627 61.222802) + (xy 44.350392 61.228119) + (xy 44.352624 61.233008) + (xy 44.352626 61.233012) + (xy 44.407382 61.352911) + (xy 44.407383 61.352913) + (xy 44.409618 61.357806) + (xy 44.502982 61.465553) + (xy 44.507504 61.468459) + (xy 44.507505 61.46846) + (xy 44.618397 61.539727) + (xy 44.622919 61.542633) + (xy 44.759715 61.5828) + (xy 44.896904 61.5828) + (xy 44.902285 61.5828) + (xy 45.039081 61.542633) + (xy 45.043606 61.539724) + (xy 45.04564 61.538796) + (xy 45.07688 61.532) + (xy 45.1998 61.532) + (xy 45.2374 61.542075) + (xy 45.264925 61.5696) + (xy 45.275 61.6072) + (xy 45.275 68.0598) + (xy 45.264925 68.0974) + (xy 45.2374 68.124925) + (xy 45.1998 68.135) + (xy 40.75888 68.135) + (xy 40.72764 68.128204) + (xy 40.725605 68.127274) + (xy 40.721081 68.124367) + (xy 40.715923 68.122852) + (xy 40.71592 68.122851) + (xy 40.589447 68.085715) + (xy 40.589442 68.085714) + (xy 40.584285 68.0842) + (xy 40.441715 68.0842) + (xy 40.436558 68.085714) + (xy 40.436552 68.085715) + (xy 40.310076 68.122852) + (xy 40.310071 68.122854) + (xy 40.304919 68.124367) + (xy 40.300403 68.127269) + (xy 40.300397 68.127272) + (xy 40.189505 68.198539) + (xy 40.189499 68.198543) + (xy 40.184982 68.201447) + (xy 40.181461 68.205509) + (xy 40.18146 68.205511) + (xy 40.09514 68.305128) + (xy 40.095136 68.305133) + (xy 40.091618 68.309194) + (xy 40.089385 68.314082) + (xy 40.089382 68.314088) + (xy 40.034626 68.433987) + (xy 40.034624 68.433993) + (xy 40.032392 68.438881) + (xy 40.031627 68.444195) + (xy 40.031626 68.444202) + (xy 40.012867 68.574679) + (xy 40.012102 68.58) + (xy 40.012867 68.585321) + (xy 40.031626 68.715797) + (xy 40.031627 68.715802) + (xy 40.032392 68.721119) + (xy 40.034624 68.726008) + (xy 40.034626 68.726012) + (xy 40.089382 68.845911) + (xy 40.089383 68.845913) + (xy 40.091618 68.850806) + (xy 40.184982 68.958553) + (xy 40.189504 68.961459) + (xy 40.189505 68.96146) + (xy 40.300397 69.032727) + (xy 40.304919 69.035633) + (xy 40.441715 69.0758) + (xy 40.578904 69.0758) + (xy 40.584285 69.0758) + (xy 40.721081 69.035633) + (xy 40.725606 69.032724) + (xy 40.72764 69.031796) + (xy 40.75888 69.025) + (xy 45.1998 69.025) + (xy 45.2374 69.035075) + (xy 45.264925 69.0626) + (xy 45.275 69.1002) + (xy 45.275 71.2348) + (xy 45.264925 71.2724) + (xy 45.2374 71.299925) + (xy 45.1998 71.31) + (xy 40.669207 71.31) + (xy 40.660788 71.309527) + (xy 40.62877 71.305919) + (xy 40.628765 71.305919) + (xy 40.623173 71.305289) + (xy 40.617639 71.306335) + (xy 40.617636 71.306336) + (xy 40.566837 71.315947) + (xy 40.564067 71.316418) + (xy 40.512924 71.324127) + (xy 40.512922 71.324127) + (xy 40.507353 71.324967) + (xy 40.502279 71.327409) + (xy 40.499993 71.328115) + (xy 40.499563 71.328221) + (xy 40.499138 71.328398) + (xy 40.496901 71.32918) + (xy 40.491366 71.330228) + (xy 40.486391 71.332857) + (xy 40.486383 71.33286) + (xy 40.440653 71.357028) + (xy 40.438147 71.358293) + (xy 40.391565 71.380727) + (xy 40.391562 71.380728) + (xy 40.386491 71.383171) + (xy 40.382363 71.386999) + (xy 40.380392 71.388344) + (xy 40.380007 71.388575) + (xy 40.37967 71.388855) + (xy 40.377738 71.39028) + (xy 40.372765 71.39291) + (xy 40.368785 71.396889) + (xy 40.368782 71.396892) + (xy 40.332213 71.43346) + (xy 40.330191 71.435408) + (xy 40.292281 71.470584) + (xy 40.292276 71.470589) + (xy 40.288156 71.474413) + (xy 40.285343 71.479283) + (xy 40.283856 71.481149) + (xy 40.278239 71.487434) + (xy 39.075995 72.689678) + (xy 39.06971 72.695296) + (xy 39.044515 72.715389) + (xy 39.04451 72.715394) + (xy 39.040108 72.718905) + (xy 39.036935 72.723558) + (xy 39.036931 72.723563) + (xy 39.00781 72.766275) + (xy 39.006206 72.768536) + (xy 38.972125 72.814716) + (xy 38.970264 72.82003) + (xy 38.969144 72.822151) + (xy 38.968919 72.822524) + (xy 38.968745 72.822945) + (xy 38.967714 72.825085) + (xy 38.964541 72.829741) + (xy 38.96288 72.835123) + (xy 38.96288 72.835125) + (xy 38.947638 72.884535) + (xy 38.946759 72.887204) + (xy 38.929679 72.936015) + (xy 38.929677 72.936024) + (xy 38.927819 72.941335) + (xy 38.927608 72.94696) + (xy 38.927164 72.949308) + (xy 38.927057 72.949739) + (xy 38.927015 72.950187) + (xy 38.926659 72.952543) + (xy 38.925 72.957927) + (xy 38.925 72.963561) + (xy 38.925 73.015293) + (xy 38.924947 73.018104) + (xy 38.923014 73.069755) + (xy 38.923014 73.069759) + (xy 38.922804 73.075386) + (xy 38.924261 73.080826) + (xy 38.924527 73.083181) + (xy 38.925 73.091599) + (xy 38.925 76.345552) + (xy 38.918204 76.376791) + (xy 38.891626 76.434987) + (xy 38.891624 76.434993) + (xy 38.889392 76.439881) + (xy 38.888627 76.445195) + (xy 38.888626 76.445202) + (xy 38.872466 76.557603) + (xy 38.869102 76.581) + (xy 38.869867 76.586321) + (xy 38.888626 76.716797) + (xy 38.888627 76.716802) + (xy 38.889392 76.722119) + (xy 38.891624 76.727008) + (xy 38.891626 76.727012) + (xy 38.946382 76.846911) + (xy 38.946383 76.846913) + (xy 38.948618 76.851806) + (xy 39.041982 76.959553) + (xy 39.046504 76.962459) + (xy 39.046505 76.96246) + (xy 39.157397 77.033727) + (xy 39.161919 77.036633) + (xy 39.298715 77.0768) + (xy 39.435904 77.0768) + (xy 39.441285 77.0768) + (xy 39.578081 77.036633) + (xy 39.698018 76.959553) + (xy 39.791382 76.851806) + (xy 39.850608 76.722119) + (xy 39.870898 76.581) + (xy 39.850608 76.439881) + (xy 39.821796 76.376791) + (xy 39.815 76.345552) + (xy 39.815 73.240473) + (xy 39.820724 73.211695) + (xy 39.837026 73.187299) + (xy 40.802299 72.222026) + (xy 40.826695 72.205724) + (xy 40.855473 72.2) + (xy 45.1998 72.2) + (xy 45.2374 72.210075) + (xy 45.264925 72.2376) + (xy 45.275 72.2752) + (xy 45.275 78.3468) + (xy 45.264925 78.3844) + (xy 45.2374 78.411925) + (xy 45.1998 78.422) + (xy 45.07688 78.422) + (xy 45.04564 78.415204) + (xy 45.043605 78.414274) + (xy 45.039081 78.411367) + (xy 45.033923 78.409852) + (xy 45.03392 78.409851) + (xy 44.907447 78.372715) + (xy 44.907442 78.372714) + (xy 44.902285 78.3712) + (xy 44.759715 78.3712) + (xy 44.754558 78.372714) + (xy 44.754552 78.372715) + (xy 44.628076 78.409852) + (xy 44.628071 78.409854) + (xy 44.622919 78.411367) + (xy 44.618403 78.414269) + (xy 44.618397 78.414272) + (xy 44.507505 78.485539) + (xy 44.507499 78.485543) + (xy 44.502982 78.488447) + (xy 44.499461 78.492509) + (xy 44.49946 78.492511) + (xy 44.41314 78.592128) + (xy 44.413136 78.592133) + (xy 44.409618 78.596194) + (xy 44.407385 78.601082) + (xy 44.407382 78.601088) + (xy 44.352626 78.720987) + (xy 44.352624 78.720993) + (xy 44.350392 78.725881) + (xy 44.349627 78.731195) + (xy 44.349626 78.731202) + (xy 44.335817 78.827249) + (xy 44.330102 78.867) + (xy 44.330867 78.872321) + (xy 44.349626 79.002797) + (xy 44.349627 79.002802) + (xy 44.350392 79.008119) + (xy 44.352624 79.013008) + (xy 44.352626 79.013012) + (xy 44.407382 79.132911) + (xy 44.407383 79.132913) + (xy 44.409618 79.137806) + (xy 44.502982 79.245553) + (xy 44.507504 79.248459) + (xy 44.507505 79.24846) + (xy 44.618397 79.319727) + (xy 44.622919 79.322633) + (xy 44.759715 79.3628) + (xy 44.896904 79.3628) + (xy 44.902285 79.3628) + (xy 45.039081 79.322633) + (xy 45.043606 79.319724) + (xy 45.04564 79.318796) + (xy 45.07688 79.312) + (xy 45.1998 79.312) + (xy 45.2374 79.322075) + (xy 45.264925 79.3496) + (xy 45.275 79.3872) + (xy 45.275 85.8398) + (xy 45.264925 85.8774) + (xy 45.2374 85.904925) + (xy 45.1998 85.915) + (xy 40.75888 85.915) + (xy 40.72764 85.908204) + (xy 40.725605 85.907274) + (xy 40.721081 85.904367) + (xy 40.715923 85.902852) + (xy 40.71592 85.902851) + (xy 40.589447 85.865715) + (xy 40.589442 85.865714) + (xy 40.584285 85.8642) + (xy 40.441715 85.8642) + (xy 40.436558 85.865714) + (xy 40.436552 85.865715) + (xy 40.310076 85.902852) + (xy 40.310071 85.902854) + (xy 40.304919 85.904367) + (xy 40.300403 85.907269) + (xy 40.300397 85.907272) + (xy 40.189505 85.978539) + (xy 40.189499 85.978543) + (xy 40.184982 85.981447) + (xy 40.181461 85.985509) + (xy 40.18146 85.985511) + (xy 40.09514 86.085128) + (xy 40.095136 86.085133) + (xy 40.091618 86.089194) + (xy 40.089385 86.094082) + (xy 40.089382 86.094088) + (xy 40.034626 86.213987) + (xy 40.034624 86.213993) + (xy 40.032392 86.218881) + (xy 40.031627 86.224195) + (xy 40.031626 86.224202) + (xy 40.018552 86.315139) + (xy 40.012102 86.36) + (xy 40.012867 86.365321) + (xy 40.031626 86.495797) + (xy 40.031627 86.495802) + (xy 40.032392 86.501119) + (xy 40.034624 86.506008) + (xy 40.034626 86.506012) + (xy 40.089382 86.625911) + (xy 40.089383 86.625913) + (xy 40.091618 86.630806) + (xy 40.184982 86.738553) + (xy 40.189504 86.741459) + (xy 40.189505 86.74146) + (xy 40.300397 86.812727) + (xy 40.304919 86.815633) + (xy 40.441715 86.8558) + (xy 40.578904 86.8558) + (xy 40.584285 86.8558) + (xy 40.721081 86.815633) + (xy 40.725606 86.812724) + (xy 40.72764 86.811796) + (xy 40.75888 86.805) + (xy 45.1998 86.805) + (xy 45.2374 86.815075) + (xy 45.264925 86.8426) + (xy 45.275 86.8802) + (xy 45.275 89.0148) + (xy 45.264925 89.0524) + (xy 45.2374 89.079925) + (xy 45.1998 89.09) + (xy 40.669207 89.09) + (xy 40.660788 89.089527) + (xy 40.62877 89.085919) + (xy 40.628765 89.085919) + (xy 40.623173 89.085289) + (xy 40.617639 89.086335) + (xy 40.617636 89.086336) + (xy 40.566837 89.095947) + (xy 40.564067 89.096418) + (xy 40.512924 89.104127) + (xy 40.512922 89.104127) + (xy 40.507353 89.104967) + (xy 40.502279 89.107409) + (xy 40.499993 89.108115) + (xy 40.499563 89.108221) + (xy 40.499138 89.108398) + (xy 40.496901 89.10918) + (xy 40.491366 89.110228) + (xy 40.486391 89.112857) + (xy 40.486383 89.11286) + (xy 40.440653 89.137028) + (xy 40.438147 89.138293) + (xy 40.391565 89.160727) + (xy 40.391562 89.160728) + (xy 40.386491 89.163171) + (xy 40.382363 89.166999) + (xy 40.380392 89.168344) + (xy 40.380007 89.168575) + (xy 40.37967 89.168855) + (xy 40.377738 89.17028) + (xy 40.372765 89.17291) + (xy 40.368785 89.176889) + (xy 40.368782 89.176892) + (xy 40.332213 89.21346) + (xy 40.330191 89.215408) + (xy 40.292281 89.250584) + (xy 40.292276 89.250589) + (xy 40.288156 89.254413) + (xy 40.285343 89.259283) + (xy 40.283856 89.261149) + (xy 40.278239 89.267434) + (xy 39.075995 90.469678) + (xy 39.06971 90.475296) + (xy 39.044515 90.495389) + (xy 39.04451 90.495394) + (xy 39.040108 90.498905) + (xy 39.036935 90.503558) + (xy 39.036931 90.503563) + (xy 39.00781 90.546275) + (xy 39.006206 90.548536) + (xy 38.972125 90.594716) + (xy 38.970264 90.60003) + (xy 38.969144 90.602151) + (xy 38.968919 90.602524) + (xy 38.968745 90.602945) + (xy 38.967714 90.605085) + (xy 38.964541 90.609741) + (xy 38.96288 90.615123) + (xy 38.96288 90.615125) + (xy 38.947638 90.664535) + (xy 38.946759 90.667204) + (xy 38.929679 90.716015) + (xy 38.929677 90.716024) + (xy 38.927819 90.721335) + (xy 38.927608 90.72696) + (xy 38.927164 90.729308) + (xy 38.927057 90.729739) + (xy 38.927015 90.730187) + (xy 38.926659 90.732543) + (xy 38.925 90.737927) + (xy 38.925 90.743561) + (xy 38.925 90.795293) + (xy 38.924947 90.798104) + (xy 38.923014 90.849755) + (xy 38.923014 90.849759) + (xy 38.922804 90.855386) + (xy 38.924261 90.860826) + (xy 38.924527 90.863181) + (xy 38.925 90.871599) + (xy 38.925 94.125552) + (xy 38.918204 94.156791) + (xy 38.891626 94.214987) + (xy 38.891624 94.214993) + (xy 38.889392 94.219881) + (xy 38.888627 94.225195) + (xy 38.888626 94.225202) + (xy 38.873296 94.331827) + (xy 38.869102 94.361) + (xy 36.369821 94.361) + (xy 36.483158 94.164694) + (xy 36.639252 93.82995) + (xy 36.765577 93.482875) + (xy 36.861172 93.126112) + (xy 36.925309 92.762374) + (xy 36.9575 92.39443) + (xy 36.9575 92.209755) + (xy 36.9575 92.154904) + (xy 36.9575 92.154903) + (xy 36.9575 87.138827) + (xy 38.285289 87.138827) + (xy 38.286335 87.14436) + (xy 38.286336 87.144362) + (xy 38.295947 87.19516) + (xy 38.296418 87.197931) + (xy 38.304967 87.254647) + (xy 38.307411 87.259722) + (xy 38.30811 87.261988) + (xy 38.308221 87.262435) + (xy 38.308394 87.262853) + (xy 38.309181 87.265102) + (xy 38.310228 87.270634) + (xy 38.312859 87.275612) + (xy 38.337022 87.321332) + (xy 38.338281 87.323825) + (xy 38.363171 87.375509) + (xy 38.367 87.379636) + (xy 38.36834 87.381601) + (xy 38.368575 87.381992) + (xy 38.368863 87.382339) + (xy 38.370278 87.384256) + (xy 38.37291 87.389235) + (xy 38.376894 87.393219) + (xy 38.413458 87.429783) + (xy 38.415409 87.431808) + (xy 38.454413 87.473844) + (xy 38.459291 87.47666) + (xy 38.461148 87.478141) + (xy 38.467435 87.48376) + (xy 38.886183 87.902508) + (xy 38.901413 87.924442) + (xy 38.948618 88.027806) + (xy 38.952138 88.031869) + (xy 38.95214 88.031871) + (xy 38.963922 88.045468) + (xy 39.041982 88.135553) + (xy 39.046504 88.138459) + (xy 39.046505 88.13846) + (xy 39.157397 88.209727) + (xy 39.161919 88.212633) + (xy 39.298715 88.2528) + (xy 39.435904 88.2528) + (xy 39.441285 88.2528) + (xy 39.578081 88.212633) + (xy 39.698018 88.135553) + (xy 39.791382 88.027806) + (xy 39.850608 87.898119) + (xy 39.870898 87.757) + (xy 39.850608 87.615881) + (xy 39.791382 87.486194) + (xy 39.784356 87.478086) + (xy 39.725538 87.410207) + (xy 39.698018 87.378447) + (xy 39.693496 87.375541) + (xy 39.693494 87.375539) + (xy 39.582602 87.304272) + (xy 39.582599 87.30427) + (xy 39.578081 87.301367) + (xy 39.54781 87.292478) + (xy 39.515824 87.273499) + (xy 39.202026 86.959701) + (xy 39.185724 86.935305) + (xy 39.18 86.906527) + (xy 39.18 85.051473) + (xy 39.185724 85.022695) + (xy 39.202023 84.998301) + (xy 39.664023 84.5363) + (xy 39.670291 84.530699) + (xy 39.699892 84.507095) + (xy 39.732214 84.459684) + (xy 39.733803 84.457447) + (xy 39.767875 84.411283) + (xy 39.769739 84.405953) + (xy 39.770834 84.403882) + (xy 39.771077 84.403478) + (xy 39.77108 84.403472) + (xy 39.77126 84.403039) + (xy 39.77228 84.400919) + (xy 39.775459 84.396259) + (xy 39.79238 84.341399) + (xy 39.793224 84.338835) + (xy 39.812181 84.284665) + (xy 39.812391 84.279027) + (xy 39.812831 84.276705) + (xy 39.812942 84.276257) + (xy 39.812987 84.275779) + (xy 39.813335 84.273466) + (xy 39.815 84.268073) + (xy 39.815 84.210724) + (xy 39.815053 84.207912) + (xy 39.816422 84.171325) + (xy 39.817197 84.150613) + (xy 39.815737 84.145167) + (xy 39.815473 84.142817) + (xy 39.815 84.134397) + (xy 39.815 81.388448) + (xy 39.821796 81.357209) + (xy 39.831934 81.33501) + (xy 39.850608 81.294119) + (xy 39.870898 81.153) + (xy 39.850608 81.011881) + (xy 39.791382 80.882194) + (xy 39.779046 80.867958) + (xy 39.760325 80.846352) + (xy 39.698018 80.774447) + (xy 39.693496 80.771541) + (xy 39.693494 80.771539) + (xy 39.582602 80.700272) + (xy 39.582599 80.70027) + (xy 39.578081 80.697367) + (xy 39.572925 80.695853) + (xy 39.572923 80.695852) + (xy 39.446447 80.658715) + (xy 39.446442 80.658714) + (xy 39.441285 80.6572) + (xy 39.298715 80.6572) + (xy 39.293558 80.658714) + (xy 39.293552 80.658715) + (xy 39.167076 80.695852) + (xy 39.167071 80.695854) + (xy 39.161919 80.697367) + (xy 39.157403 80.700269) + (xy 39.157397 80.700272) + (xy 39.046505 80.771539) + (xy 39.046499 80.771543) + (xy 39.041982 80.774447) + (xy 39.038461 80.778509) + (xy 39.03846 80.778511) + (xy 38.95214 80.878128) + (xy 38.952136 80.878133) + (xy 38.948618 80.882194) + (xy 38.946385 80.887082) + (xy 38.946382 80.887088) + (xy 38.891626 81.006987) + (xy 38.891624 81.006993) + (xy 38.889392 81.011881) + (xy 38.888627 81.017195) + (xy 38.888626 81.017202) + (xy 38.871752 81.134568) + (xy 38.869102 81.153) + (xy 38.869867 81.158321) + (xy 38.888626 81.288797) + (xy 38.888627 81.288802) + (xy 38.889392 81.294119) + (xy 38.891625 81.299008) + (xy 38.891626 81.299012) + (xy 38.918204 81.357209) + (xy 38.925 81.388448) + (xy 38.925 83.985527) + (xy 38.919276 84.014305) + (xy 38.902976 84.038698) + (xy 38.551616 84.390058) + (xy 38.440995 84.500679) + (xy 38.43471 84.506296) + (xy 38.409515 84.526389) + (xy 38.40951 84.526394) + (xy 38.405108 84.529905) + (xy 38.401935 84.534558) + (xy 38.401931 84.534563) + (xy 38.37281 84.577275) + (xy 38.371206 84.579536) + (xy 38.337125 84.625716) + (xy 38.335264 84.63103) + (xy 38.334144 84.633151) + (xy 38.333919 84.633524) + (xy 38.333745 84.633945) + (xy 38.332714 84.636085) + (xy 38.329541 84.640741) + (xy 38.32788 84.646123) + (xy 38.32788 84.646125) + (xy 38.312638 84.695535) + (xy 38.311759 84.698204) + (xy 38.294679 84.747015) + (xy 38.294677 84.747024) + (xy 38.292819 84.752335) + (xy 38.292608 84.75796) + (xy 38.292164 84.760308) + (xy 38.292057 84.760739) + (xy 38.292015 84.761187) + (xy 38.291659 84.763543) + (xy 38.29 84.768927) + (xy 38.29 84.774561) + (xy 38.29 84.826293) + (xy 38.289947 84.829104) + (xy 38.288014 84.880755) + (xy 38.288014 84.880759) + (xy 38.287804 84.886386) + (xy 38.289261 84.891826) + (xy 38.289527 84.894181) + (xy 38.29 84.902599) + (xy 38.29 87.092793) + (xy 38.289527 87.101212) + (xy 38.285919 87.133229) + (xy 38.285919 87.133233) + (xy 38.285289 87.138827) + (xy 36.9575 87.138827) + (xy 36.9575 81.337471) + (xy 36.957661 81.332553) + (xy 36.960529 81.288797) + (xy 36.972461 81.106726) + (xy 36.973741 81.097002) + (xy 37.017412 80.877449) + (xy 37.019953 80.867965) + (xy 37.091907 80.655995) + (xy 37.095658 80.646937) + (xy 37.194667 80.446166) + (xy 37.199574 80.437666) + (xy 37.318732 80.259332) + (xy 37.360071 80.228959) + (xy 37.419081 80.211633) + (xy 37.539018 80.134553) + (xy 37.632382 80.026806) + (xy 37.691608 79.897119) + (xy 37.711898 79.756) + (xy 37.691608 79.614881) + (xy 37.632382 79.485194) + (xy 37.622441 79.473722) + (xy 37.591418 79.437919) + (xy 37.539018 79.377447) + (xy 37.534496 79.374541) + (xy 37.534494 79.374539) + (xy 37.423602 79.303272) + (xy 37.423599 79.30327) + (xy 37.419081 79.300367) + (xy 37.413925 79.298853) + (xy 37.413923 79.298852) + (xy 37.287447 79.261715) + (xy 37.287442 79.261714) + (xy 37.282285 79.2602) + (xy 37.139715 79.2602) + (xy 37.134558 79.261714) + (xy 37.134552 79.261715) + (xy 37.008076 79.298852) + (xy 37.008071 79.298854) + (xy 37.002919 79.300367) + (xy 36.998403 79.303269) + (xy 36.998397 79.303272) + (xy 36.887505 79.374539) + (xy 36.887499 79.374543) + (xy 36.882982 79.377447) + (xy 36.879461 79.381509) + (xy 36.87946 79.381511) + (xy 36.79314 79.481128) + (xy 36.793136 79.481133) + (xy 36.789618 79.485194) + (xy 36.787385 79.490082) + (xy 36.787382 79.490088) + (xy 36.732626 79.609987) + (xy 36.732624 79.609993) + (xy 36.730392 79.614881) + (xy 36.729627 79.620195) + (xy 36.729626 79.620202) + (xy 36.717733 79.702923) + (xy 36.710102 79.756) + (xy 36.710867 79.761321) + (xy 36.710867 79.7667) + (xy 36.709858 79.7667) + (xy 36.708527 79.788419) + (xy 36.694751 79.815595) + (xy 36.662758 79.855714) + (xy 36.662753 79.85572) + (xy 36.66145 79.857355) + (xy 36.660345 79.859112) + (xy 36.660334 79.859129) + (xy 36.510217 80.098041) + (xy 36.510211 80.098051) + (xy 36.5091 80.09982) + (xy 36.508193 80.101701) + (xy 36.508187 80.101714) + (xy 36.385769 80.355919) + (xy 36.385765 80.355926) + (xy 36.384855 80.357818) + (xy 36.384162 80.359797) + (xy 36.384158 80.359808) + (xy 36.290973 80.62612) + (xy 36.29097 80.626129) + (xy 36.290279 80.628105) + (xy 36.289815 80.630133) + (xy 36.289811 80.630151) + (xy 36.227172 80.904598) + (xy 36.22656 80.907281) + (xy 36.226325 80.909359) + (xy 36.226323 80.909376) + (xy 36.195588 81.182173) + (xy 36.194499 81.191836) + (xy 36.194499 81.193951) + (xy 36.194499 81.193952) + (xy 36.1945 81.271351) + (xy 36.1945 92.207917) + (xy 36.194409 92.211607) + (xy 36.177987 92.545861) + (xy 36.177264 92.553205) + (xy 36.128428 92.882431) + (xy 36.126988 92.889669) + (xy 36.04612 93.212511) + (xy 36.043978 93.219573) + (xy 35.931853 93.53294) + (xy 35.929029 93.539758) + (xy 35.78673 93.840624) + (xy 35.783251 93.847132) + (xy 35.612146 94.132604) + (xy 35.608046 94.138741) + (xy 35.40978 94.406071) + (xy 35.405098 94.411775) + (xy 35.180331 94.659766) + (xy 35.177786 94.662439) + (xy 35.098796 94.74143) + (xy 35.060013 94.780213) + (xy 35.060005 94.780219) + (xy 34.954877 94.885347) + (xy 34.954867 94.885357) + (xy 34.953562 94.886663) + (xy 34.952389 94.888091) + (xy 34.952382 94.8881) + (xy 34.770862 95.109284) + (xy 34.76256 95.1194) + (xy 34.761546 95.120917) + (xy 34.761536 95.120931) + (xy 34.596315 95.368202) + (xy 34.596303 95.368221) + (xy 34.59529 95.369738) + (xy 34.59442 95.371365) + (xy 34.594415 95.371374) + (xy 34.454237 95.633628) + (xy 34.454229 95.633644) + (xy 34.453363 95.635265) + (xy 34.452662 95.636956) + (xy 34.452655 95.636972) + (xy 34.339372 95.910464) + (xy 34.338146 95.913425) + (xy 34.337616 95.915171) + (xy 34.337611 95.915186) + (xy 34.251281 96.199779) + (xy 34.251276 96.199795) + (xy 34.250748 96.201539) + (xy 34.25039 96.203335) + (xy 34.250389 96.203342) + (xy 34.19237 96.495017) + (xy 34.192366 96.495037) + (xy 34.19201 96.496832) + (xy 34.19183 96.498653) + (xy 34.191828 96.498671) + (xy 34.162679 96.794634) + (xy 34.162678 96.794652) + (xy 34.1625 96.796461) + (xy 34.1625 96.798297) + (xy 34.1625 99.141876) + (xy 34.162268 99.147779) + (xy 34.149936 99.304394) + (xy 34.14809 99.316048) + (xy 34.112102 99.465929) + (xy 34.108455 99.477153) + (xy 34.049464 99.619554) + (xy 34.044106 99.630067) + (xy 33.963561 99.761493) + (xy 33.956624 99.77104) + (xy 33.855984 99.888863) + (xy 33.848387 99.89656) + (xy 33.703384 100.023724) + (xy 33.69558 100.029712) + (xy 33.641742 100.065686) + (xy 33.607334 100.077998) + (xy 33.571185 100.072636) + (xy 33.541832 100.050866) + (xy 33.494504 99.993196) + (xy 33.494503 99.993195) + (xy 33.49216 99.99034) + (xy 33.385808 99.903059) + (xy 33.336506 99.862598) + (xy 33.336503 99.862596) + (xy 33.333647 99.860252) + (xy 33.152801 99.763588) + (xy 33.149274 99.762518) + (xy 33.149269 99.762516) + (xy 32.960103 99.705133) + (xy 32.960101 99.705132) + (xy 32.956572 99.704062) + (xy 32.952901 99.7037) + (xy 32.952899 99.7037) + (xy 32.756176 99.684325) + (xy 32.7525 99.683963) + (xy 32.748824 99.684325) + (xy 32.5521 99.7037) + (xy 32.552096 99.7037) + (xy 32.548428 99.704062) + (xy 32.5449 99.705132) + (xy 32.544896 99.705133) + (xy 32.35573 99.762516) + (xy 32.355722 99.762519) + (xy 32.352199 99.763588) + (xy 32.348947 99.765325) + (xy 32.348945 99.765327) + (xy 32.174611 99.85851) + (xy 32.174606 99.858512) + (xy 32.171353 99.860252) + (xy 32.1685 99.862593) + (xy 32.168493 99.862598) + (xy 32.015695 99.987996) + (xy 32.015689 99.988001) + (xy 32.01284 99.99034) + (xy 32.010501 99.993189) + (xy 32.010496 99.993195) + (xy 31.885098 100.145993) + (xy 31.885093 100.146) + (xy 31.882752 100.148853) + (xy 31.881012 100.152106) + (xy 31.88101 100.152111) + (xy 31.8587 100.193851) + (xy 31.786088 100.329699) + (xy 31.785019 100.333222) + (xy 31.785016 100.33323) + (xy 31.749634 100.449869) + (xy 31.726562 100.525928) + (xy 31.7262 100.529596) + (xy 31.7262 100.5296) + (xy 31.706825 100.726324) + (xy 31.706463 100.73) + (xy 31.257673 100.73) + (xy 31.257673 100.726325) + (xy 31.238307 100.529701) + (xy 31.236872 100.522491) + (xy 31.17952 100.333426) + (xy 31.176707 100.326634) + (xy 31.08357 100.152386) + (xy 31.079488 100.146278) + (xy 31.039439 100.097477) + (xy 31.032595 100.092741) + (xy 31.025316 100.096787) + (xy 30.399105 100.722999) + (xy 30.395063 100.73) + (xy 30.029936 100.73) + (xy 30.025894 100.722999) + (xy 29.399682 100.096787) + (xy 29.392403 100.092742) + (xy 29.385558 100.097479) + (xy 29.345508 100.146281) + (xy 29.341431 100.152383) + (xy 29.248292 100.326634) + (xy 29.245479 100.333426) + (xy 29.188127 100.522491) + (xy 29.186692 100.529701) + (xy 29.167327 100.726325) + (xy 29.167327 100.733675) + (xy 25 100.733675) + (xy 25 99.909903) + (xy 29.575242 99.909903) + (xy 29.579287 99.917182) + (xy 30.205499 100.543394) + (xy 30.2125 100.547436) + (xy 30.2195 100.543394) + (xy 30.845711 99.917182) + (xy 30.849757 99.909903) + (xy 30.845021 99.903059) + (xy 30.796222 99.863011) + (xy 30.790113 99.858929) + (xy 30.615865 99.765792) + (xy 30.609073 99.762979) + (xy 30.420008 99.705627) + (xy 30.412798 99.704192) + (xy 30.216175 99.684827) + (xy 30.208825 99.684827) + (xy 30.012201 99.704192) + (xy 30.004991 99.705627) + (xy 29.815926 99.762979) + (xy 29.809134 99.765792) + (xy 29.634883 99.858931) + (xy 29.628781 99.863008) + (xy 29.579979 99.903058) + (xy 29.575242 99.909903) + (xy 25 99.909903) + (xy 25 99.010095) + (xy 29.575241 99.010095) + (xy 29.579977 99.016939) + (xy 29.628778 99.056988) + (xy 29.634886 99.06107) + (xy 29.809134 99.154207) + (xy 29.815926 99.15702) + (xy 30.004991 99.214372) + (xy 30.012201 99.215807) + (xy 30.208825 99.235173) + (xy 30.216175 99.235173) + (xy 30.412798 99.215807) + (xy 30.420008 99.214372) + (xy 30.609073 99.15702) + (xy 30.615865 99.154207) + (xy 30.790113 99.06107) + (xy 30.796221 99.056988) + (xy 30.84502 99.016939) + (xy 30.849757 99.010096) + (xy 30.845711 99.002816) + (xy 30.2195 98.376605) + (xy 30.2125 98.372563) + (xy 30.205499 98.376605) + (xy 29.579287 99.002816) + (xy 29.575241 99.010095) + (xy 25 99.010095) + (xy 25 98.193675) + (xy 29.167327 98.193675) + (xy 29.186692 98.390298) + (xy 29.188127 98.397508) + (xy 29.245479 98.586573) + (xy 29.248292 98.593365) + (xy 29.341429 98.767613) + (xy 29.345511 98.773722) + (xy 29.385559 98.822521) + (xy 29.392403 98.827257) + (xy 29.399682 98.823211) + (xy 30.025894 98.197) + (xy 30.029936 98.19) + (xy 30.395063 98.19) + (xy 30.399105 98.197) + (xy 31.025316 98.823211) + (xy 31.032596 98.827257) + (xy 31.039439 98.82252) + (xy 31.079488 98.773721) + (xy 31.08357 98.767613) + (xy 31.176707 98.593365) + (xy 31.17952 98.586573) + (xy 31.236872 98.397508) + (xy 31.238307 98.390298) + (xy 31.257673 98.193675) + (xy 31.257673 98.19) + (xy 31.706463 98.19) + (xy 31.706825 98.193675) + (xy 31.706825 98.193676) + (xy 31.724841 98.376605) + (xy 31.726562 98.394072) + (xy 31.727632 98.397601) + (xy 31.727633 98.397603) + (xy 31.785016 98.586769) + (xy 31.785018 98.586774) + (xy 31.786088 98.590301) + (xy 31.882752 98.771147) + (xy 31.885096 98.774003) + (xy 31.885098 98.774006) + (xy 31.934538 98.834249) + (xy 32.01284 98.92966) + (xy 32.045636 98.956575) + (xy 32.11085 99.010095) + (xy 32.171353 99.059748) + (xy 32.352199 99.156412) + (xy 32.548428 99.215938) + (xy 32.735297 99.234342) + (xy 32.743727 99.235173) + (xy 32.7525 99.236037) + (xy 32.761273 99.235173) + (xy 32.768039 99.234506) + (xy 32.956572 99.215938) + (xy 33.152801 99.156412) + (xy 33.333647 99.059748) + (xy 33.49216 98.92966) + (xy 33.622248 98.771147) + (xy 33.718912 98.590301) + (xy 33.778438 98.394072) + (xy 33.798537 98.19) + (xy 33.797847 98.182999) + (xy 33.788141 98.08445) + (xy 33.778438 97.985928) + (xy 33.718912 97.789699) + (xy 33.622248 97.608853) + (xy 33.603143 97.585574) + (xy 33.494503 97.453195) + (xy 33.49216 97.45034) + (xy 33.431067 97.400202) + (xy 33.336506 97.322598) + (xy 33.336503 97.322596) + (xy 33.333647 97.320252) + (xy 33.17375 97.234785) + (xy 33.144699 97.207126) + (xy 33.134 97.168465) + (xy 33.134 96.441115) + (xy 33.134118 96.436899) + (xy 33.136089 96.401797) + (xy 33.148511 96.180606) + (xy 33.149453 96.172244) + (xy 33.192096 95.921276) + (xy 33.193972 95.913058) + (xy 33.194313 95.911876) + (xy 33.264448 95.66843) + (xy 33.267224 95.660497) + (xy 33.364657 95.425278) + (xy 33.368298 95.417719) + (xy 33.491456 95.194884) + (xy 33.495922 95.187777) + (xy 33.643253 94.980138) + (xy 33.648492 94.973568) + (xy 33.819753 94.781933) + (xy 33.822615 94.778906) + (xy 33.859721 94.741803) + (xy 33.859723 94.741798) + (xy 34.62326 93.978262) + (xy 34.623261 93.978261) + (xy 34.623262 93.978262) + (xy 34.748827 93.852698) + (xy 34.977114 93.580636) + (xy 35.18082 93.289714) + (xy 35.358395 92.982144) + (xy 35.508488 92.660268) + (xy 35.629957 92.326536) + (xy 35.721876 91.983487) + (xy 35.783547 91.633731) + (xy 35.8145 91.279932) + (xy 35.8145 91.102357) + (xy 35.8145 91.047505) + (xy 35.8145 81.114085) + (xy 35.814501 81.114082) + (xy 35.8145 81.061095) + (xy 35.814591 81.057407) + (xy 35.81544 81.040119) + (xy 35.827629 80.791943) + (xy 35.828349 80.784628) + (xy 35.867077 80.523531) + (xy 35.868515 80.5163) + (xy 35.87272 80.499511) + (xy 35.932649 80.260249) + (xy 35.934785 80.253209) + (xy 36.023704 80.004689) + (xy 36.026519 79.997893) + (xy 36.139368 79.759286) + (xy 36.142837 79.752795) + (xy 36.278542 79.52638) + (xy 36.282625 79.520268) + (xy 36.43987 79.308243) + (xy 36.444525 79.302571) + (xy 36.623034 79.105612) + (xy 36.625541 79.102979) + (xy 37.233301 78.495221) + (xy 37.275775 78.473962) + (xy 37.276902 78.4738) + (xy 37.282285 78.4738) + (xy 37.419081 78.433633) + (xy 37.539018 78.356553) + (xy 37.632382 78.248806) + (xy 37.691608 78.119119) + (xy 37.711898 77.978) + (xy 37.691608 77.836881) + (xy 37.632382 77.707194) + (xy 37.539018 77.599447) + (xy 37.534496 77.596541) + (xy 37.534494 77.596539) + (xy 37.423602 77.525272) + (xy 37.423599 77.52527) + (xy 37.419081 77.522367) + (xy 37.413925 77.520853) + (xy 37.413923 77.520852) + (xy 37.287447 77.483715) + (xy 37.287442 77.483714) + (xy 37.282285 77.4822) + (xy 37.139715 77.4822) + (xy 37.134558 77.483714) + (xy 37.134552 77.483715) + (xy 37.008076 77.520852) + (xy 37.008071 77.520854) + (xy 37.002919 77.522367) + (xy 36.998403 77.525269) + (xy 36.998397 77.525272) + (xy 36.887505 77.596539) + (xy 36.887499 77.596543) + (xy 36.882982 77.599447) + (xy 36.879461 77.603509) + (xy 36.87946 77.603511) + (xy 36.79314 77.703128) + (xy 36.793136 77.703133) + (xy 36.789618 77.707194) + (xy 36.787385 77.712082) + (xy 36.787382 77.712088) + (xy 36.745176 77.804508) + (xy 36.730392 77.836881) + (xy 36.729627 77.842202) + (xy 36.729625 77.842209) + (xy 36.720149 77.908115) + (xy 36.698889 77.950586) + (xy 36.12355 78.525926) + (xy 36.123548 78.525928) + (xy 36.112493 78.536984) + (xy 36.08475 78.564726) + (xy 36.084737 78.564739) + (xy 35.963496 78.685982) + (xy 35.963486 78.685992) + (xy 35.962191 78.687288) + (xy 35.961036 78.688694) + (xy 35.96102 78.688713) + (xy 35.743472 78.953803) + (xy 35.743461 78.953816) + (xy 35.742302 78.95523) + (xy 35.741284 78.956752) + (xy 35.741274 78.956767) + (xy 35.550755 79.241905) + (xy 35.550749 79.241914) + (xy 35.549734 79.243434) + (xy 35.548872 79.245046) + (xy 35.548867 79.245055) + (xy 35.387217 79.547488) + (xy 35.387209 79.547503) + (xy 35.386343 79.549125) + (xy 35.38564 79.55082) + (xy 35.385632 79.550839) + (xy 35.254407 79.867655) + (xy 35.254401 79.867669) + (xy 35.253702 79.869359) + (xy 35.253171 79.871106) + (xy 35.253166 79.871123) + (xy 35.15632 80.190394) + (xy 35.153087 80.201053) + (xy 35.152728 80.202853) + (xy 35.152725 80.202869) + (xy 35.08583 80.539193) + (xy 35.085828 80.539204) + (xy 35.085469 80.541011) + (xy 35.085289 80.542837) + (xy 35.085287 80.542852) + (xy 35.051678 80.884132) + (xy 35.051676 80.884152) + (xy 35.051499 80.88596) + (xy 35.051499 80.887795) + (xy 35.051499 80.887796) + (xy 35.0515 81.059269) + (xy 35.0515 91.100519) + (xy 35.051409 91.104209) + (xy 35.035771 91.422527) + (xy 35.035048 91.429871) + (xy 34.988553 91.743312) + (xy 34.987113 91.75055) + (xy 34.910123 92.057914) + (xy 34.907981 92.064976) + (xy 34.801232 92.363318) + (xy 34.798408 92.370136) + (xy 34.662932 92.656578) + (xy 34.659453 92.663087) + (xy 34.496547 92.934877) + (xy 34.492447 92.941012) + (xy 34.303695 93.195516) + (xy 34.299013 93.201221) + (xy 34.084997 93.437351) + (xy 34.082452 93.440024) + (xy 33.259203 94.263273) + (xy 33.25919 94.263286) + (xy 33.259063 94.263414) + (xy 33.259027 94.263462) + (xy 33.258945 94.263552) + (xy 33.174756 94.347739) + (xy 33.174746 94.347749) + (xy 33.173451 94.349045) + (xy 33.172288 94.350461) + (xy 33.172279 94.350472) + (xy 32.980867 94.583703) + (xy 32.980858 94.583713) + (xy 32.9797 94.585126) + (xy 32.97869 94.586636) + (xy 32.978677 94.586655) + (xy 32.811041 94.837535) + (xy 32.811035 94.837544) + (xy 32.810022 94.839061) + (xy 32.809166 94.840661) + (xy 32.809156 94.840679) + (xy 32.666919 95.106781) + (xy 32.66691 95.106798) + (xy 32.666052 95.108405) + (xy 32.665354 95.110088) + (xy 32.665344 95.110111) + (xy 32.549884 95.38885) + (xy 32.549877 95.388867) + (xy 32.549175 95.390564) + (xy 32.54864 95.392324) + (xy 32.548639 95.39233) + (xy 32.461054 95.681055) + (xy 32.46105 95.681068) + (xy 32.460519 95.682821) + (xy 32.46016 95.684622) + (xy 32.460158 95.684633) + (xy 32.401295 95.980544) + (xy 32.401291 95.980564) + (xy 32.400935 95.982359) + (xy 32.400755 95.98418) + (xy 32.400753 95.984198) + (xy 32.371179 96.284469) + (xy 32.371178 96.284487) + (xy 32.371 96.286296) + (xy 32.371 96.288132) + (xy 32.371 97.168465) + (xy 32.360301 97.207126) + (xy 32.331249 97.234786) + (xy 32.174611 97.31851) + (xy 32.174606 97.318512) + (xy 32.171353 97.320252) + (xy 32.1685 97.322593) + (xy 32.168493 97.322598) + (xy 32.015695 97.447996) + (xy 32.015689 97.448001) + (xy 32.01284 97.45034) + (xy 32.010501 97.453189) + (xy 32.010496 97.453195) + (xy 31.885098 97.605993) + (xy 31.885093 97.606) + (xy 31.882752 97.608853) + (xy 31.881012 97.612106) + (xy 31.88101 97.612111) + (xy 31.804021 97.756148) + (xy 31.786088 97.789699) + (xy 31.785019 97.793222) + (xy 31.785016 97.79323) + (xy 31.72856 97.979341) + (xy 31.726562 97.985928) + (xy 31.7262 97.989596) + (xy 31.7262 97.9896) + (xy 31.706825 98.186324) + (xy 31.706463 98.19) + (xy 31.257673 98.19) + (xy 31.257673 98.186325) + (xy 31.238307 97.989701) + (xy 31.236872 97.982491) + (xy 31.17952 97.793426) + (xy 31.176707 97.786634) + (xy 31.08357 97.612386) + (xy 31.079488 97.606278) + (xy 31.039439 97.557477) + (xy 31.032595 97.552741) + (xy 31.025316 97.556787) + (xy 30.399105 98.182999) + (xy 30.395063 98.19) + (xy 30.029936 98.19) + (xy 30.025894 98.182999) + (xy 29.399682 97.556787) + (xy 29.392403 97.552742) + (xy 29.385558 97.557479) + (xy 29.345508 97.606281) + (xy 29.341431 97.612383) + (xy 29.248292 97.786634) + (xy 29.245479 97.793426) + (xy 29.188127 97.982491) + (xy 29.186692 97.989701) + (xy 29.167327 98.186325) + (xy 29.167327 98.193675) + (xy 25 98.193675) + (xy 25 97.369903) + (xy 29.575242 97.369903) + (xy 29.579287 97.377182) + (xy 30.205499 98.003394) + (xy 30.2125 98.007436) + (xy 30.2195 98.003394) + (xy 30.845711 97.377182) + (xy 30.849757 97.369903) + (xy 30.845021 97.363059) + (xy 30.796222 97.323011) + (xy 30.790113 97.318929) + (xy 30.615865 97.225792) + (xy 30.609073 97.222979) + (xy 30.420008 97.165627) + (xy 30.412798 97.164192) + (xy 30.216175 97.144827) + (xy 30.208825 97.144827) + (xy 30.012201 97.164192) + (xy 30.004991 97.165627) + (xy 29.815926 97.222979) + (xy 29.809134 97.225792) + (xy 29.634883 97.318931) + (xy 29.628781 97.323008) + (xy 29.579979 97.363058) + (xy 29.575242 97.369903) + (xy 25 97.369903) + (xy 25 87.83) + (xy 30.112566 87.83) + (xy 30.112798 87.832948) + (xy 30.131238 88.067257) + (xy 30.13227 88.080363) + (xy 30.132957 88.083226) + (xy 30.132959 88.083236) + (xy 30.180573 88.28156) + (xy 30.190897 88.324561) + (xy 30.192028 88.327293) + (xy 30.192029 88.327294) + (xy 30.262182 88.49666) + (xy 30.287003 88.556582) + (xy 30.28854 88.55909) + (xy 30.288542 88.559094) + (xy 30.408294 88.754511) + (xy 30.418222 88.770712) + (xy 30.420136 88.772953) + (xy 30.420139 88.772957) + (xy 30.523759 88.89428) + (xy 30.581322 88.961678) + (xy 30.583562 88.963591) + (xy 30.748108 89.104127) + (xy 30.772288 89.124778) + (xy 30.986418 89.255997) + (xy 31.218439 89.352103) + (xy 31.462637 89.41073) + (xy 31.650308 89.4255) + (xy 31.774212 89.4255) + (xy 31.775692 89.4255) + (xy 31.963363 89.41073) + (xy 32.207561 89.352103) + (xy 32.439582 89.255997) + (xy 32.653712 89.124778) + (xy 32.844678 88.961678) + (xy 33.007778 88.770712) + (xy 33.138997 88.556582) + (xy 33.235103 88.324561) + (xy 33.29373 88.080363) + (xy 33.313434 87.83) + (xy 33.29373 87.579637) + (xy 33.235103 87.335439) + (xy 33.138997 87.103418) + (xy 33.007778 86.889288) + (xy 33.004551 86.88551) + (xy 32.873555 86.732133) + (xy 32.844678 86.698322) + (xy 32.779775 86.64289) + (xy 32.655957 86.537139) + (xy 32.655953 86.537136) + (xy 32.653712 86.535222) + (xy 32.638614 86.52597) + (xy 32.442094 86.405542) + (xy 32.44209 86.40554) + (xy 32.439582 86.404003) + (xy 32.397282 86.386482) + (xy 32.210294 86.309029) + (xy 32.210293 86.309028) + (xy 32.207561 86.307897) + (xy 32.204683 86.307206) + (xy 32.20468 86.307205) + (xy 31.966236 86.249959) + (xy 31.966226 86.249957) + (xy 31.963363 86.24927) + (xy 31.960416 86.249038) + (xy 31.777169 86.234616) + (xy 31.777162 86.234615) + (xy 31.775692 86.2345) + (xy 31.650308 86.2345) + (xy 31.648838 86.234615) + (xy 31.64883 86.234616) + (xy 31.465583 86.249038) + (xy 31.465581 86.249038) + (xy 31.462637 86.24927) + (xy 31.459775 86.249957) + (xy 31.459763 86.249959) + (xy 31.221319 86.307205) + (xy 31.221312 86.307207) + (xy 31.218439 86.307897) + (xy 31.21571 86.309027) + (xy 31.215705 86.309029) + (xy 30.98914 86.402875) + (xy 30.989134 86.402877) + (xy 30.986418 86.404003) + (xy 30.983914 86.405537) + (xy 30.983905 86.405542) + (xy 30.774803 86.53368) + (xy 30.774795 86.533685) + (xy 30.772288 86.535222) + (xy 30.770051 86.537131) + (xy 30.770042 86.537139) + (xy 30.583562 86.696408) + (xy 30.583556 86.696413) + (xy 30.581322 86.698322) + (xy 30.579413 86.700556) + (xy 30.579408 86.700562) + (xy 30.420139 86.887042) + (xy 30.420131 86.887051) + (xy 30.418222 86.889288) + (xy 30.416685 86.891795) + (xy 30.41668 86.891803) + (xy 30.288542 87.100905) + (xy 30.288537 87.100914) + (xy 30.287003 87.103418) + (xy 30.285877 87.106134) + (xy 30.285875 87.10614) + (xy 30.202673 87.307008) + (xy 30.190897 87.335439) + (xy 30.190207 87.338312) + (xy 30.190205 87.338319) + (xy 30.132959 87.576763) + (xy 30.132957 87.576775) + (xy 30.13227 87.579637) + (xy 30.132038 87.582581) + (xy 30.132038 87.582583) + (xy 30.118536 87.754147) + (xy 30.112566 87.83) + (xy 25 87.83) + (xy 25 79.710095) + (xy 29.555741 79.710095) + (xy 29.560477 79.716939) + (xy 29.609278 79.756988) + (xy 29.615386 79.76107) + (xy 29.789634 79.854207) + (xy 29.796426 79.85702) + (xy 29.985491 79.914372) + (xy 29.992701 79.915807) + (xy 30.189325 79.935173) + (xy 30.196675 79.935173) + (xy 30.393298 79.915807) + (xy 30.400508 79.914372) + (xy 30.589573 79.85702) + (xy 30.596365 79.854207) + (xy 30.770613 79.76107) + (xy 30.776721 79.756988) + (xy 30.82552 79.716939) + (xy 30.830257 79.710096) + (xy 30.826211 79.702816) + (xy 30.666513 79.543118) + (xy 31.692 79.543118) + (xy 31.692162 79.544853) + (xy 31.692163 79.544859) + (xy 31.693525 79.559386) + (xy 31.694794 79.572913) + (xy 31.696302 79.577223) + (xy 31.696303 79.577227) + (xy 31.73684 79.693076) + (xy 31.736841 79.693078) + (xy 31.738701 79.698393) + (xy 31.742043 79.702921) + (xy 31.742044 79.702923) + (xy 31.810199 79.795269) + (xy 31.817644 79.805356) + (xy 31.822171 79.808697) + (xy 31.903716 79.868881) + (xy 31.924607 79.884299) + (xy 32.050087 79.928206) + (xy 32.079882 79.931) + (xy 33.384364 79.931) + (xy 33.386118 79.931) + (xy 33.415913 79.928206) + (xy 33.541393 79.884299) + (xy 33.648356 79.805356) + (xy 33.727299 79.698393) + (xy 33.771206 79.572913) + (xy 33.774 79.543118) + (xy 33.774 78.236882) + (xy 33.771206 78.207087) + (xy 33.727299 78.081607) + (xy 33.648356 77.974644) + (xy 33.615759 77.950586) + (xy 33.545923 77.899044) + (xy 33.545921 77.899043) + (xy 33.541393 77.895701) + (xy 33.536078 77.893841) + (xy 33.536076 77.89384) + (xy 33.420227 77.853303) + (xy 33.420223 77.853302) + (xy 33.415913 77.851794) + (xy 33.411365 77.851367) + (xy 33.411363 77.851367) + (xy 33.387859 77.849163) + (xy 33.387853 77.849162) + (xy 33.386118 77.849) + (xy 32.079882 77.849) + (xy 32.078147 77.849162) + (xy 32.07814 77.849163) + (xy 32.054636 77.851367) + (xy 32.054632 77.851367) + (xy 32.050087 77.851794) + (xy 32.045778 77.853301) + (xy 32.045772 77.853303) + (xy 31.929923 77.89384) + (xy 31.929918 77.893842) + (xy 31.924607 77.895701) + (xy 31.920081 77.899041) + (xy 31.920076 77.899044) + (xy 31.822171 77.971302) + (xy 31.822167 77.971305) + (xy 31.817644 77.974644) + (xy 31.814305 77.979167) + (xy 31.814302 77.979171) + (xy 31.742044 78.077076) + (xy 31.742041 78.077081) + (xy 31.738701 78.081607) + (xy 31.736842 78.086918) + (xy 31.73684 78.086923) + (xy 31.696303 78.202772) + (xy 31.696301 78.202778) + (xy 31.694794 78.207087) + (xy 31.694367 78.211632) + (xy 31.694367 78.211636) + (xy 31.692246 78.234257) + (xy 31.692 78.236882) + (xy 31.692 79.543118) + (xy 30.666513 79.543118) + (xy 30.2 79.076605) + (xy 30.193 79.072563) + (xy 30.185999 79.076605) + (xy 29.559787 79.702816) + (xy 29.555741 79.710095) + (xy 25 79.710095) + (xy 25 78.893675) + (xy 29.147827 78.893675) + (xy 29.167192 79.090298) + (xy 29.168627 79.097508) + (xy 29.225979 79.286573) + (xy 29.228792 79.293365) + (xy 29.321929 79.467613) + (xy 29.326011 79.473722) + (xy 29.366059 79.522521) + (xy 29.372903 79.527257) + (xy 29.380182 79.523211) + (xy 30.006394 78.897) + (xy 30.010436 78.89) + (xy 30.375563 78.89) + (xy 30.379605 78.897) + (xy 31.005816 79.523211) + (xy 31.013096 79.527257) + (xy 31.019939 79.52252) + (xy 31.059988 79.473721) + (xy 31.06407 79.467613) + (xy 31.157207 79.293365) + (xy 31.16002 79.286573) + (xy 31.217372 79.097508) + (xy 31.218807 79.090298) + (xy 31.238173 78.893675) + (xy 31.238173 78.886325) + (xy 31.218807 78.689701) + (xy 31.217372 78.682491) + (xy 31.16002 78.493426) + (xy 31.157207 78.486634) + (xy 31.06407 78.312386) + (xy 31.059988 78.306278) + (xy 31.019939 78.257477) + (xy 31.013095 78.252741) + (xy 31.005816 78.256787) + (xy 30.379605 78.882999) + (xy 30.375563 78.89) + (xy 30.010436 78.89) + (xy 30.006394 78.882999) + (xy 29.380182 78.256787) + (xy 29.372903 78.252742) + (xy 29.366058 78.257479) + (xy 29.326008 78.306281) + (xy 29.321931 78.312383) + (xy 29.228792 78.486634) + (xy 29.225979 78.493426) + (xy 29.168627 78.682491) + (xy 29.167192 78.689701) + (xy 29.147827 78.886325) + (xy 29.147827 78.893675) + (xy 25 78.893675) + (xy 25 78.069903) + (xy 29.555742 78.069903) + (xy 29.559787 78.077182) + (xy 30.185999 78.703394) + (xy 30.193 78.707436) + (xy 30.2 78.703394) + (xy 30.826211 78.077182) + (xy 30.830257 78.069903) + (xy 30.825521 78.063059) + (xy 30.776722 78.023011) + (xy 30.770613 78.018929) + (xy 30.596365 77.925792) + (xy 30.589573 77.922979) + (xy 30.400508 77.865627) + (xy 30.393298 77.864192) + (xy 30.196675 77.844827) + (xy 30.189325 77.844827) + (xy 29.992701 77.864192) + (xy 29.985491 77.865627) + (xy 29.796426 77.922979) + (xy 29.789634 77.925792) + (xy 29.615383 78.018931) + (xy 29.609281 78.023008) + (xy 29.560479 78.063058) + (xy 29.555742 78.069903) + (xy 25 78.069903) + (xy 25 77.170095) + (xy 29.555741 77.170095) + (xy 29.560477 77.176939) + (xy 29.609278 77.216988) + (xy 29.615386 77.22107) + (xy 29.789634 77.314207) + (xy 29.796426 77.31702) + (xy 29.985491 77.374372) + (xy 29.992701 77.375807) + (xy 30.189325 77.395173) + (xy 30.196675 77.395173) + (xy 30.393298 77.375807) + (xy 30.400508 77.374372) + (xy 30.589573 77.31702) + (xy 30.596365 77.314207) + (xy 30.770613 77.22107) + (xy 30.776721 77.216988) + (xy 30.82552 77.176939) + (xy 30.830257 77.170096) + (xy 30.826211 77.162816) + (xy 30.2 76.536605) + (xy 30.193 76.532563) + (xy 30.185999 76.536605) + (xy 29.559787 77.162816) + (xy 29.555741 77.170095) + (xy 25 77.170095) + (xy 25 76.353675) + (xy 29.147827 76.353675) + (xy 29.167192 76.550298) + (xy 29.168627 76.557508) + (xy 29.225979 76.746573) + (xy 29.228789 76.753358) + (xy 29.321929 76.927613) + (xy 29.326011 76.933722) + (xy 29.366059 76.982521) + (xy 29.372903 76.987257) + (xy 29.380182 76.983211) + (xy 30.006394 76.357) + (xy 30.010436 76.35) + (xy 30.375563 76.35) + (xy 30.379605 76.357) + (xy 31.005816 76.983211) + (xy 31.013096 76.987257) + (xy 31.019939 76.98252) + (xy 31.059988 76.933721) + (xy 31.06407 76.927613) + (xy 31.157211 76.753358) + (xy 31.16002 76.746573) + (xy 31.217372 76.557508) + (xy 31.218807 76.550298) + (xy 31.238173 76.353675) + (xy 31.238173 76.35) + (xy 31.686963 76.35) + (xy 31.687325 76.353675) + (xy 31.687325 76.353676) + (xy 31.705341 76.536605) + (xy 31.707062 76.554072) + (xy 31.708132 76.557601) + (xy 31.708133 76.557603) + (xy 31.765516 76.746769) + (xy 31.765518 76.746774) + (xy 31.766588 76.750301) + (xy 31.863252 76.931147) + (xy 31.865596 76.934003) + (xy 31.865598 76.934006) + (xy 31.906801 76.984212) + (xy 31.99334 77.08966) + (xy 31.996195 77.092003) + (xy 32.09135 77.170095) + (xy 32.151853 77.219748) + (xy 32.332699 77.316412) + (xy 32.528928 77.375938) + (xy 32.715797 77.394342) + (xy 32.724227 77.395173) + (xy 32.733 77.396037) + (xy 32.741773 77.395173) + (xy 32.748539 77.394506) + (xy 32.937072 77.375938) + (xy 33.133301 77.316412) + (xy 33.314147 77.219748) + (xy 33.47266 77.08966) + (xy 33.602748 76.931147) + (xy 33.699412 76.750301) + (xy 33.758938 76.554072) + (xy 33.779037 76.35) + (xy 33.778347 76.342999) + (xy 33.775709 76.316211) + (xy 33.758938 76.145928) + (xy 33.699412 75.949699) + (xy 33.602748 75.768853) + (xy 33.576165 75.736462) + (xy 33.475003 75.613195) + (xy 33.47266 75.61034) + (xy 33.420279 75.567352) + (xy 33.317006 75.482598) + (xy 33.317003 75.482596) + (xy 33.314147 75.480252) + (xy 33.133301 75.383588) + (xy 33.129774 75.382518) + (xy 33.129769 75.382516) + (xy 32.940603 75.325133) + (xy 32.940601 75.325132) + (xy 32.937072 75.324062) + (xy 32.933401 75.3237) + (xy 32.933399 75.3237) + (xy 32.736676 75.304325) + (xy 32.733 75.303963) + (xy 32.729324 75.304325) + (xy 32.5326 75.3237) + (xy 32.532596 75.3237) + (xy 32.528928 75.324062) + (xy 32.5254 75.325132) + (xy 32.525396 75.325133) + (xy 32.33623 75.382516) + (xy 32.336222 75.382519) + (xy 32.332699 75.383588) + (xy 32.329447 75.385325) + (xy 32.329445 75.385327) + (xy 32.155111 75.47851) + (xy 32.155106 75.478512) + (xy 32.151853 75.480252) + (xy 32.149 75.482593) + (xy 32.148993 75.482598) + (xy 31.996195 75.607996) + (xy 31.996189 75.608001) + (xy 31.99334 75.61034) + (xy 31.991001 75.613189) + (xy 31.990996 75.613195) + (xy 31.865598 75.765993) + (xy 31.865593 75.766) + (xy 31.863252 75.768853) + (xy 31.861512 75.772106) + (xy 31.86151 75.772111) + (xy 31.774516 75.934867) + (xy 31.766588 75.949699) + (xy 31.765519 75.953222) + (xy 31.765516 75.95323) + (xy 31.734197 76.056476) + (xy 31.707062 76.145928) + (xy 31.7067 76.149596) + (xy 31.7067 76.1496) + (xy 31.687401 76.345552) + (xy 31.686963 76.35) + (xy 31.238173 76.35) + (xy 31.238173 76.346325) + (xy 31.218807 76.149701) + (xy 31.217372 76.142491) + (xy 31.16002 75.953426) + (xy 31.157207 75.946634) + (xy 31.06407 75.772386) + (xy 31.059988 75.766278) + (xy 31.019939 75.717477) + (xy 31.013095 75.712741) + (xy 31.005816 75.716787) + (xy 30.379605 76.342999) + (xy 30.375563 76.35) + (xy 30.010436 76.35) + (xy 30.006394 76.342999) + (xy 29.380182 75.716787) + (xy 29.372903 75.712742) + (xy 29.366058 75.717479) + (xy 29.326008 75.766281) + (xy 29.321931 75.772383) + (xy 29.228792 75.946634) + (xy 29.225979 75.953426) + (xy 29.168627 76.142491) + (xy 29.167192 76.149701) + (xy 29.147827 76.346325) + (xy 29.147827 76.353675) + (xy 25 76.353675) + (xy 25 75.529903) + (xy 29.555742 75.529903) + (xy 29.559787 75.537182) + (xy 30.185999 76.163394) + (xy 30.192999 76.167436) + (xy 30.2 76.163394) + (xy 30.826211 75.537182) + (xy 30.830257 75.529903) + (xy 30.825521 75.523059) + (xy 30.776722 75.483011) + (xy 30.770613 75.478929) + (xy 30.596365 75.385792) + (xy 30.589573 75.382979) + (xy 30.400508 75.325627) + (xy 30.393298 75.324192) + (xy 30.196675 75.304827) + (xy 30.189325 75.304827) + (xy 29.992701 75.324192) + (xy 29.985491 75.325627) + (xy 29.796426 75.382979) + (xy 29.789634 75.385792) + (xy 29.615383 75.478931) + (xy 29.609281 75.483008) + (xy 29.560479 75.523058) + (xy 29.555742 75.529903) + (xy 25 75.529903) + (xy 25 74.630095) + (xy 29.555741 74.630095) + (xy 29.560477 74.636939) + (xy 29.609278 74.676988) + (xy 29.615386 74.68107) + (xy 29.789634 74.774207) + (xy 29.796426 74.77702) + (xy 29.985491 74.834372) + (xy 29.992701 74.835807) + (xy 30.189325 74.855173) + (xy 30.196675 74.855173) + (xy 30.393298 74.835807) + (xy 30.400508 74.834372) + (xy 30.589573 74.77702) + (xy 30.596365 74.774207) + (xy 30.770613 74.68107) + (xy 30.776721 74.676988) + (xy 30.82552 74.636939) + (xy 30.830257 74.630096) + (xy 30.826211 74.622816) + (xy 30.2 73.996605) + (xy 30.193 73.992563) + (xy 30.185999 73.996605) + (xy 29.559787 74.622816) + (xy 29.555741 74.630095) + (xy 25 74.630095) + (xy 25 73.813675) + (xy 29.147827 73.813675) + (xy 29.167192 74.010298) + (xy 29.168627 74.017508) + (xy 29.225979 74.206573) + (xy 29.228792 74.213365) + (xy 29.321929 74.387613) + (xy 29.326011 74.393722) + (xy 29.366059 74.442521) + (xy 29.372903 74.447257) + (xy 29.380182 74.443211) + (xy 30.006394 73.817) + (xy 30.010436 73.81) + (xy 30.375563 73.81) + (xy 30.379605 73.817) + (xy 31.005816 74.443211) + (xy 31.013096 74.447257) + (xy 31.019939 74.44252) + (xy 31.059988 74.393721) + (xy 31.06407 74.387613) + (xy 31.157207 74.213365) + (xy 31.16002 74.206573) + (xy 31.217372 74.017508) + (xy 31.218807 74.010298) + (xy 31.238173 73.813675) + (xy 31.238173 73.81) + (xy 31.686963 73.81) + (xy 31.687325 73.813675) + (xy 31.687325 73.813676) + (xy 31.705341 73.996605) + (xy 31.707062 74.014072) + (xy 31.708132 74.017601) + (xy 31.708133 74.017603) + (xy 31.765516 74.206769) + (xy 31.765518 74.206774) + (xy 31.766588 74.210301) + (xy 31.863252 74.391147) + (xy 31.865596 74.394003) + (xy 31.865598 74.394006) + (xy 31.9093 74.447257) + (xy 31.99334 74.54966) + (xy 31.996195 74.552003) + (xy 32.09135 74.630095) + (xy 32.151853 74.679748) + (xy 32.332699 74.776412) + (xy 32.528928 74.835938) + (xy 32.715797 74.854342) + (xy 32.724227 74.855173) + (xy 32.733 74.856037) + (xy 32.741773 74.855173) + (xy 32.748539 74.854506) + (xy 32.937072 74.835938) + (xy 33.133301 74.776412) + (xy 33.314147 74.679748) + (xy 33.47266 74.54966) + (xy 33.602748 74.391147) + (xy 33.699412 74.210301) + (xy 33.758938 74.014072) + (xy 33.779037 73.81) + (xy 33.778347 73.802999) + (xy 33.77411 73.759976) + (xy 33.758938 73.605928) + (xy 33.699412 73.409699) + (xy 33.602748 73.228853) + (xy 33.47266 73.07034) + (xy 33.456187 73.056821) + (xy 33.317006 72.942598) + (xy 33.317003 72.942596) + (xy 33.314147 72.940252) + (xy 33.133301 72.843588) + (xy 33.129774 72.842518) + (xy 33.129769 72.842516) + (xy 32.940603 72.785133) + (xy 32.940601 72.785132) + (xy 32.937072 72.784062) + (xy 32.933401 72.7837) + (xy 32.933399 72.7837) + (xy 32.736676 72.764325) + (xy 32.733 72.763963) + (xy 32.729324 72.764325) + (xy 32.5326 72.7837) + (xy 32.532596 72.7837) + (xy 32.528928 72.784062) + (xy 32.5254 72.785132) + (xy 32.525396 72.785133) + (xy 32.33623 72.842516) + (xy 32.336222 72.842519) + (xy 32.332699 72.843588) + (xy 32.329447 72.845325) + (xy 32.329445 72.845327) + (xy 32.155111 72.93851) + (xy 32.155106 72.938512) + (xy 32.151853 72.940252) + (xy 32.149 72.942593) + (xy 32.148993 72.942598) + (xy 31.996195 73.067996) + (xy 31.996189 73.068001) + (xy 31.99334 73.07034) + (xy 31.991001 73.073189) + (xy 31.990996 73.073195) + (xy 31.865598 73.225993) + (xy 31.865593 73.226) + (xy 31.863252 73.228853) + (xy 31.861512 73.232106) + (xy 31.86151 73.232111) + (xy 31.769166 73.404876) + (xy 31.766588 73.409699) + (xy 31.765519 73.413222) + (xy 31.765516 73.41323) + (xy 31.722063 73.556476) + (xy 31.707062 73.605928) + (xy 31.7067 73.609596) + (xy 31.7067 73.6096) + (xy 31.687325 73.806324) + (xy 31.686963 73.81) + (xy 31.238173 73.81) + (xy 31.238173 73.806325) + (xy 31.218807 73.609701) + (xy 31.217372 73.602491) + (xy 31.16002 73.413426) + (xy 31.157207 73.406634) + (xy 31.06407 73.232386) + (xy 31.059988 73.226278) + (xy 31.019939 73.177477) + (xy 31.013095 73.172741) + (xy 31.005816 73.176787) + (xy 30.379605 73.802999) + (xy 30.375563 73.81) + (xy 30.010436 73.81) + (xy 30.006394 73.802999) + (xy 29.380182 73.176787) + (xy 29.372903 73.172742) + (xy 29.366058 73.177479) + (xy 29.326008 73.226281) + (xy 29.321931 73.232383) + (xy 29.228792 73.406634) + (xy 29.225979 73.413426) + (xy 29.168627 73.602491) + (xy 29.167192 73.609701) + (xy 29.147827 73.806325) + (xy 29.147827 73.813675) + (xy 25 73.813675) + (xy 25 72.989903) + (xy 29.555742 72.989903) + (xy 29.559787 72.997182) + (xy 30.185999 73.623394) + (xy 30.192999 73.627436) + (xy 30.2 73.623394) + (xy 30.826211 72.997182) + (xy 30.830257 72.989903) + (xy 30.825521 72.983059) + (xy 30.776722 72.943011) + (xy 30.770613 72.938929) + (xy 30.596365 72.845792) + (xy 30.589573 72.842979) + (xy 30.400508 72.785627) + (xy 30.393298 72.784192) + (xy 30.196675 72.764827) + (xy 30.189325 72.764827) + (xy 29.992701 72.784192) + (xy 29.985491 72.785627) + (xy 29.796426 72.842979) + (xy 29.789634 72.845792) + (xy 29.615383 72.938931) + (xy 29.609281 72.943008) + (xy 29.560479 72.983058) + (xy 29.555742 72.989903) + (xy 25 72.989903) + (xy 25 72.090095) + (xy 29.555741 72.090095) + (xy 29.560477 72.096939) + (xy 29.609278 72.136988) + (xy 29.615386 72.14107) + (xy 29.789634 72.234207) + (xy 29.796426 72.23702) + (xy 29.985491 72.294372) + (xy 29.992701 72.295807) + (xy 30.189325 72.315173) + (xy 30.196675 72.315173) + (xy 30.393298 72.295807) + (xy 30.400508 72.294372) + (xy 30.589573 72.23702) + (xy 30.596365 72.234207) + (xy 30.770613 72.14107) + (xy 30.776721 72.136988) + (xy 30.82552 72.096939) + (xy 30.830257 72.090096) + (xy 30.826211 72.082816) + (xy 30.2 71.456605) + (xy 30.193 71.452563) + (xy 30.185999 71.456605) + (xy 29.559787 72.082816) + (xy 29.555741 72.090095) + (xy 25 72.090095) + (xy 25 71.273675) + (xy 29.147827 71.273675) + (xy 29.167192 71.470298) + (xy 29.168627 71.477508) + (xy 29.225979 71.666573) + (xy 29.228792 71.673365) + (xy 29.321929 71.847613) + (xy 29.326011 71.853722) + (xy 29.366059 71.902521) + (xy 29.372903 71.907257) + (xy 29.380182 71.903211) + (xy 30.006394 71.277) + (xy 30.010436 71.27) + (xy 30.375563 71.27) + (xy 30.379605 71.277) + (xy 31.005816 71.903211) + (xy 31.013096 71.907257) + (xy 31.019939 71.90252) + (xy 31.059988 71.853721) + (xy 31.06407 71.847613) + (xy 31.157207 71.673365) + (xy 31.16002 71.666573) + (xy 31.217372 71.477508) + (xy 31.218807 71.470298) + (xy 31.238173 71.273675) + (xy 31.238173 71.27) + (xy 31.686963 71.27) + (xy 31.687325 71.273675) + (xy 31.687325 71.273676) + (xy 31.705341 71.456605) + (xy 31.707062 71.474072) + (xy 31.708132 71.477601) + (xy 31.708133 71.477603) + (xy 31.765516 71.666769) + (xy 31.765518 71.666774) + (xy 31.766588 71.670301) + (xy 31.863252 71.851147) + (xy 31.865596 71.854003) + (xy 31.865598 71.854006) + (xy 31.928315 71.930427) + (xy 31.99334 72.00966) + (xy 31.996195 72.012003) + (xy 32.09135 72.090095) + (xy 32.151853 72.139748) + (xy 32.332699 72.236412) + (xy 32.528928 72.295938) + (xy 32.715797 72.314342) + (xy 32.724227 72.315173) + (xy 32.733 72.316037) + (xy 32.741773 72.315173) + (xy 32.748539 72.314506) + (xy 32.937072 72.295938) + (xy 33.133301 72.236412) + (xy 33.314147 72.139748) + (xy 33.47266 72.00966) + (xy 33.602748 71.851147) + (xy 33.699412 71.670301) + (xy 33.758938 71.474072) + (xy 33.779037 71.27) + (xy 33.778347 71.262999) + (xy 33.769677 71.174965) + (xy 33.758938 71.065928) + (xy 33.699412 70.869699) + (xy 33.602748 70.688853) + (xy 33.47266 70.53034) + (xy 33.4007 70.471284) + (xy 33.317006 70.402598) + (xy 33.317003 70.402596) + (xy 33.314147 70.400252) + (xy 33.133301 70.303588) + (xy 33.129774 70.302518) + (xy 33.129769 70.302516) + (xy 32.940603 70.245133) + (xy 32.940601 70.245132) + (xy 32.937072 70.244062) + (xy 32.933401 70.2437) + (xy 32.933399 70.2437) + (xy 32.736676 70.224325) + (xy 32.733 70.223963) + (xy 32.729324 70.224325) + (xy 32.5326 70.2437) + (xy 32.532596 70.2437) + (xy 32.528928 70.244062) + (xy 32.5254 70.245132) + (xy 32.525396 70.245133) + (xy 32.33623 70.302516) + (xy 32.336222 70.302519) + (xy 32.332699 70.303588) + (xy 32.329447 70.305325) + (xy 32.329445 70.305327) + (xy 32.155111 70.39851) + (xy 32.155106 70.398512) + (xy 32.151853 70.400252) + (xy 32.149 70.402593) + (xy 32.148993 70.402598) + (xy 31.996195 70.527996) + (xy 31.996189 70.528001) + (xy 31.99334 70.53034) + (xy 31.991001 70.533189) + (xy 31.990996 70.533195) + (xy 31.865598 70.685993) + (xy 31.865593 70.686) + (xy 31.863252 70.688853) + (xy 31.861512 70.692106) + (xy 31.86151 70.692111) + (xy 31.832322 70.746719) + (xy 31.766588 70.869699) + (xy 31.765519 70.873222) + (xy 31.765516 70.87323) + (xy 31.711506 71.051277) + (xy 31.707062 71.065928) + (xy 31.7067 71.069596) + (xy 31.7067 71.0696) + (xy 31.687325 71.266324) + (xy 31.686963 71.27) + (xy 31.238173 71.27) + (xy 31.238173 71.266325) + (xy 31.218807 71.069701) + (xy 31.217372 71.062491) + (xy 31.16002 70.873426) + (xy 31.157207 70.866634) + (xy 31.06407 70.692386) + (xy 31.059988 70.686278) + (xy 31.019939 70.637477) + (xy 31.013095 70.632741) + (xy 31.005816 70.636787) + (xy 30.379605 71.262999) + (xy 30.375563 71.27) + (xy 30.010436 71.27) + (xy 30.006394 71.262999) + (xy 29.380182 70.636787) + (xy 29.372903 70.632742) + (xy 29.366058 70.637479) + (xy 29.326008 70.686281) + (xy 29.321931 70.692383) + (xy 29.228792 70.866634) + (xy 29.225979 70.873426) + (xy 29.168627 71.062491) + (xy 29.167192 71.069701) + (xy 29.147827 71.266325) + (xy 29.147827 71.273675) + (xy 25 71.273675) + (xy 25 70.449903) + (xy 29.555742 70.449903) + (xy 29.559787 70.457182) + (xy 30.185999 71.083394) + (xy 30.193 71.087436) + (xy 30.2 71.083394) + (xy 30.826211 70.457182) + (xy 30.830257 70.449903) + (xy 30.825521 70.443059) + (xy 30.776722 70.403011) + (xy 30.770613 70.398929) + (xy 30.596365 70.305792) + (xy 30.589573 70.302979) + (xy 30.400508 70.245627) + (xy 30.393298 70.244192) + (xy 30.196675 70.224827) + (xy 30.189325 70.224827) + (xy 29.992701 70.244192) + (xy 29.985491 70.245627) + (xy 29.796426 70.302979) + (xy 29.789634 70.305792) + (xy 29.615383 70.398931) + (xy 29.609281 70.403008) + (xy 29.560479 70.443058) + (xy 29.555742 70.449903) + (xy 25 70.449903) + (xy 25 69.550095) + (xy 29.555741 69.550095) + (xy 29.560477 69.556939) + (xy 29.609278 69.596988) + (xy 29.615386 69.60107) + (xy 29.789634 69.694207) + (xy 29.796426 69.69702) + (xy 29.985491 69.754372) + (xy 29.992701 69.755807) + (xy 30.189325 69.775173) + (xy 30.196675 69.775173) + (xy 30.393298 69.755807) + (xy 30.400508 69.754372) + (xy 30.589573 69.69702) + (xy 30.596365 69.694207) + (xy 30.770613 69.60107) + (xy 30.776721 69.596988) + (xy 30.82552 69.556939) + (xy 30.830257 69.550096) + (xy 30.826211 69.542816) + (xy 30.2 68.916605) + (xy 30.193 68.912563) + (xy 30.185999 68.916605) + (xy 29.559787 69.542816) + (xy 29.555741 69.550095) + (xy 25 69.550095) + (xy 25 68.733675) + (xy 29.147827 68.733675) + (xy 29.167192 68.930298) + (xy 29.168627 68.937508) + (xy 29.225979 69.126573) + (xy 29.228792 69.133365) + (xy 29.321929 69.307613) + (xy 29.326011 69.313722) + (xy 29.366059 69.362521) + (xy 29.372903 69.367257) + (xy 29.380182 69.363211) + (xy 30.006394 68.737) + (xy 30.010436 68.73) + (xy 30.375563 68.73) + (xy 30.379605 68.737) + (xy 31.005816 69.363211) + (xy 31.013096 69.367257) + (xy 31.019939 69.36252) + (xy 31.059988 69.313721) + (xy 31.06407 69.307613) + (xy 31.157207 69.133365) + (xy 31.16002 69.126573) + (xy 31.217372 68.937508) + (xy 31.218807 68.930298) + (xy 31.238173 68.733675) + (xy 31.238173 68.73) + (xy 31.686963 68.73) + (xy 31.687325 68.733675) + (xy 31.687325 68.733676) + (xy 31.705341 68.916605) + (xy 31.707062 68.934072) + (xy 31.708132 68.937601) + (xy 31.708133 68.937603) + (xy 31.765516 69.126769) + (xy 31.765518 69.126774) + (xy 31.766588 69.130301) + (xy 31.863252 69.311147) + (xy 31.865596 69.314003) + (xy 31.865598 69.314006) + (xy 31.906924 69.364362) + (xy 31.99334 69.46966) + (xy 31.996195 69.472003) + (xy 32.128735 69.580776) + (xy 32.151853 69.599748) + (xy 32.332699 69.696412) + (xy 32.528928 69.755938) + (xy 32.715797 69.774342) + (xy 32.724227 69.775173) + (xy 32.733 69.776037) + (xy 32.741773 69.775173) + (xy 32.748539 69.774506) + (xy 32.937072 69.755938) + (xy 33.133301 69.696412) + (xy 33.314147 69.599748) + (xy 33.47266 69.46966) + (xy 33.563618 69.358827) + (xy 38.285289 69.358827) + (xy 38.286335 69.36436) + (xy 38.286336 69.364362) + (xy 38.295947 69.41516) + (xy 38.296418 69.417931) + (xy 38.298517 69.43186) + (xy 38.304967 69.474647) + (xy 38.307411 69.479722) + (xy 38.30811 69.481988) + (xy 38.308221 69.482435) + (xy 38.308394 69.482853) + (xy 38.309181 69.485102) + (xy 38.310228 69.490634) + (xy 38.312859 69.495612) + (xy 38.337022 69.541332) + (xy 38.338281 69.543825) + (xy 38.363171 69.595509) + (xy 38.367 69.599636) + (xy 38.36834 69.601601) + (xy 38.368575 69.601992) + (xy 38.368863 69.602339) + (xy 38.370278 69.604256) + (xy 38.37291 69.609235) + (xy 38.376894 69.613219) + (xy 38.413458 69.649783) + (xy 38.415409 69.651808) + (xy 38.454413 69.693844) + (xy 38.459291 69.69666) + (xy 38.461148 69.698141) + (xy 38.467435 69.70376) + (xy 38.886183 70.122508) + (xy 38.901413 70.144442) + (xy 38.948618 70.247806) + (xy 38.952138 70.251869) + (xy 38.95214 70.251871) + (xy 38.963922 70.265468) + (xy 39.041982 70.355553) + (xy 39.046504 70.358459) + (xy 39.046505 70.35846) + (xy 39.092395 70.387952) + (xy 39.161919 70.432633) + (xy 39.298715 70.4728) + (xy 39.435904 70.4728) + (xy 39.441285 70.4728) + (xy 39.578081 70.432633) + (xy 39.698018 70.355553) + (xy 39.791382 70.247806) + (xy 39.850608 70.118119) + (xy 39.870898 69.977) + (xy 39.850608 69.835881) + (xy 39.791382 69.706194) + (xy 39.784356 69.698086) + (xy 39.710818 69.613219) + (xy 39.698018 69.598447) + (xy 39.693496 69.595541) + (xy 39.693494 69.595539) + (xy 39.582602 69.524272) + (xy 39.582599 69.52427) + (xy 39.578081 69.521367) + (xy 39.54781 69.512478) + (xy 39.515824 69.493499) + (xy 39.202026 69.179701) + (xy 39.185724 69.155305) + (xy 39.18 69.126527) + (xy 39.18 67.271473) + (xy 39.185724 67.242695) + (xy 39.202023 67.218301) + (xy 39.664023 66.7563) + (xy 39.670291 66.750699) + (xy 39.699892 66.727095) + (xy 39.732214 66.679684) + (xy 39.733794 66.677458) + (xy 39.767875 66.631283) + (xy 39.769739 66.625953) + (xy 39.770834 66.623882) + (xy 39.771077 66.623478) + (xy 39.77108 66.623472) + (xy 39.77126 66.623039) + (xy 39.77228 66.620919) + (xy 39.775459 66.616259) + (xy 39.79238 66.561399) + (xy 39.793224 66.558835) + (xy 39.812181 66.504665) + (xy 39.812391 66.499027) + (xy 39.812831 66.496705) + (xy 39.812942 66.496257) + (xy 39.812987 66.495779) + (xy 39.813335 66.493466) + (xy 39.815 66.488073) + (xy 39.815 66.430724) + (xy 39.815053 66.427912) + (xy 39.816319 66.394072) + (xy 39.817197 66.370613) + (xy 39.815737 66.365167) + (xy 39.815473 66.362817) + (xy 39.815 66.354397) + (xy 39.815 63.608448) + (xy 39.821796 63.577209) + (xy 39.832334 63.554133) + (xy 39.850608 63.514119) + (xy 39.870898 63.373) + (xy 39.850608 63.231881) + (xy 39.791382 63.102194) + (xy 39.698018 62.994447) + (xy 39.693496 62.991541) + (xy 39.693494 62.991539) + (xy 39.582602 62.920272) + (xy 39.582599 62.92027) + (xy 39.578081 62.917367) + (xy 39.572925 62.915853) + (xy 39.572923 62.915852) + (xy 39.446447 62.878715) + (xy 39.446442 62.878714) + (xy 39.441285 62.8772) + (xy 39.298715 62.8772) + (xy 39.293558 62.878714) + (xy 39.293552 62.878715) + (xy 39.167076 62.915852) + (xy 39.167071 62.915854) + (xy 39.161919 62.917367) + (xy 39.157403 62.920269) + (xy 39.157397 62.920272) + (xy 39.046505 62.991539) + (xy 39.046499 62.991543) + (xy 39.041982 62.994447) + (xy 39.038461 62.998509) + (xy 39.03846 62.998511) + (xy 38.95214 63.098128) + (xy 38.952136 63.098133) + (xy 38.948618 63.102194) + (xy 38.946385 63.107082) + (xy 38.946382 63.107088) + (xy 38.891626 63.226987) + (xy 38.891624 63.226993) + (xy 38.889392 63.231881) + (xy 38.888627 63.237195) + (xy 38.888626 63.237202) + (xy 38.869867 63.367679) + (xy 38.869102 63.373) + (xy 38.869867 63.378321) + (xy 38.888626 63.508797) + (xy 38.888627 63.508802) + (xy 38.889392 63.514119) + (xy 38.891625 63.519008) + (xy 38.891626 63.519012) + (xy 38.918204 63.577209) + (xy 38.925 63.608448) + (xy 38.925 66.205527) + (xy 38.919276 66.234305) + (xy 38.902976 66.258698) + (xy 38.5508 66.610874) + (xy 38.440995 66.720679) + (xy 38.43471 66.726296) + (xy 38.409515 66.746389) + (xy 38.40951 66.746394) + (xy 38.405108 66.749905) + (xy 38.401935 66.754558) + (xy 38.401931 66.754563) + (xy 38.37281 66.797275) + (xy 38.371206 66.799536) + (xy 38.337125 66.845716) + (xy 38.335264 66.85103) + (xy 38.334144 66.853151) + (xy 38.333919 66.853524) + (xy 38.333745 66.853945) + (xy 38.332714 66.856085) + (xy 38.329541 66.860741) + (xy 38.32788 66.866123) + (xy 38.32788 66.866125) + (xy 38.312638 66.915535) + (xy 38.311759 66.918204) + (xy 38.294679 66.967015) + (xy 38.294677 66.967024) + (xy 38.292819 66.972335) + (xy 38.292608 66.97796) + (xy 38.292164 66.980308) + (xy 38.292057 66.980739) + (xy 38.292015 66.981187) + (xy 38.291659 66.983543) + (xy 38.29 66.988927) + (xy 38.29 66.994561) + (xy 38.29 67.046293) + (xy 38.289947 67.049104) + (xy 38.288014 67.100755) + (xy 38.288014 67.100759) + (xy 38.287804 67.106386) + (xy 38.289261 67.111826) + (xy 38.289527 67.114181) + (xy 38.29 67.122599) + (xy 38.29 69.312793) + (xy 38.289527 69.321212) + (xy 38.285919 69.353229) + (xy 38.285919 69.353233) + (xy 38.285289 69.358827) + (xy 33.563618 69.358827) + (xy 33.602748 69.311147) + (xy 33.699412 69.130301) + (xy 33.758938 68.934072) + (xy 33.779037 68.73) + (xy 33.778347 68.722999) + (xy 33.772525 68.663879) + (xy 33.758938 68.525928) + (xy 33.699412 68.329699) + (xy 33.602748 68.148853) + (xy 33.47266 67.99034) + (xy 33.469804 67.987996) + (xy 33.317006 67.862598) + (xy 33.317003 67.862596) + (xy 33.314147 67.860252) + (xy 33.133301 67.763588) + (xy 33.129774 67.762518) + (xy 33.129769 67.762516) + (xy 32.940603 67.705133) + (xy 32.940601 67.705132) + (xy 32.937072 67.704062) + (xy 32.933401 67.7037) + (xy 32.933399 67.7037) + (xy 32.736676 67.684325) + (xy 32.733 67.683963) + (xy 32.729324 67.684325) + (xy 32.5326 67.7037) + (xy 32.532596 67.7037) + (xy 32.528928 67.704062) + (xy 32.5254 67.705132) + (xy 32.525396 67.705133) + (xy 32.33623 67.762516) + (xy 32.336222 67.762519) + (xy 32.332699 67.763588) + (xy 32.329447 67.765325) + (xy 32.329445 67.765327) + (xy 32.155111 67.85851) + (xy 32.155106 67.858512) + (xy 32.151853 67.860252) + (xy 32.149 67.862593) + (xy 32.148993 67.862598) + (xy 31.996195 67.987996) + (xy 31.996189 67.988001) + (xy 31.99334 67.99034) + (xy 31.991001 67.993189) + (xy 31.990996 67.993195) + (xy 31.865598 68.145993) + (xy 31.865593 68.146) + (xy 31.863252 68.148853) + (xy 31.861512 68.152106) + (xy 31.86151 68.152111) + (xy 31.779721 68.305128) + (xy 31.766588 68.329699) + (xy 31.765519 68.333222) + (xy 31.765516 68.33323) + (xy 31.708133 68.522396) + (xy 31.707062 68.525928) + (xy 31.7067 68.529596) + (xy 31.7067 68.5296) + (xy 31.687356 68.726012) + (xy 31.686963 68.73) + (xy 31.238173 68.73) + (xy 31.238173 68.726325) + (xy 31.218807 68.529701) + (xy 31.217372 68.522491) + (xy 31.16002 68.333426) + (xy 31.157207 68.326634) + (xy 31.06407 68.152386) + (xy 31.059988 68.146278) + (xy 31.019939 68.097477) + (xy 31.013095 68.092741) + (xy 31.005816 68.096787) + (xy 30.379605 68.722999) + (xy 30.375563 68.73) + (xy 30.010436 68.73) + (xy 30.006394 68.722999) + (xy 29.380182 68.096787) + (xy 29.372903 68.092742) + (xy 29.366058 68.097479) + (xy 29.326008 68.146281) + (xy 29.321931 68.152383) + (xy 29.228792 68.326634) + (xy 29.225979 68.333426) + (xy 29.168627 68.522491) + (xy 29.167192 68.529701) + (xy 29.147827 68.726325) + (xy 29.147827 68.733675) + (xy 25 68.733675) + (xy 25 67.909903) + (xy 29.555742 67.909903) + (xy 29.559787 67.917182) + (xy 30.185999 68.543394) + (xy 30.192999 68.547436) + (xy 30.2 68.543394) + (xy 30.826211 67.917182) + (xy 30.830257 67.909903) + (xy 30.825521 67.903059) + (xy 30.776722 67.863011) + (xy 30.770613 67.858929) + (xy 30.596365 67.765792) + (xy 30.589573 67.762979) + (xy 30.400508 67.705627) + (xy 30.393298 67.704192) + (xy 30.196675 67.684827) + (xy 30.189325 67.684827) + (xy 29.992701 67.704192) + (xy 29.985491 67.705627) + (xy 29.796426 67.762979) + (xy 29.789634 67.765792) + (xy 29.615383 67.858931) + (xy 29.609281 67.863008) + (xy 29.560479 67.903058) + (xy 29.555742 67.909903) + (xy 25 67.909903) + (xy 25 67.010095) + (xy 29.555741 67.010095) + (xy 29.560477 67.016939) + (xy 29.609278 67.056988) + (xy 29.615386 67.06107) + (xy 29.789634 67.154207) + (xy 29.796426 67.15702) + (xy 29.985491 67.214372) + (xy 29.992701 67.215807) + (xy 30.189325 67.235173) + (xy 30.196675 67.235173) + (xy 30.393298 67.215807) + (xy 30.400508 67.214372) + (xy 30.589573 67.15702) + (xy 30.596365 67.154207) + (xy 30.770613 67.06107) + (xy 30.776721 67.056988) + (xy 30.82552 67.016939) + (xy 30.830257 67.010096) + (xy 30.826211 67.002816) + (xy 30.2 66.376605) + (xy 30.192999 66.372563) + (xy 30.185999 66.376605) + (xy 29.559787 67.002816) + (xy 29.555741 67.010095) + (xy 25 67.010095) + (xy 25 66.193675) + (xy 29.147827 66.193675) + (xy 29.167192 66.390298) + (xy 29.168627 66.397508) + (xy 29.225979 66.586573) + (xy 29.228792 66.593365) + (xy 29.321929 66.767613) + (xy 29.326011 66.773722) + (xy 29.366059 66.822521) + (xy 29.372903 66.827257) + (xy 29.380182 66.823211) + (xy 30.006394 66.197) + (xy 30.010436 66.19) + (xy 30.375563 66.19) + (xy 30.379605 66.197) + (xy 31.005816 66.823211) + (xy 31.013096 66.827257) + (xy 31.019939 66.82252) + (xy 31.059988 66.773721) + (xy 31.06407 66.767613) + (xy 31.157207 66.593365) + (xy 31.16002 66.586573) + (xy 31.217372 66.397508) + (xy 31.218807 66.390298) + (xy 31.238173 66.193675) + (xy 31.238173 66.19) + (xy 31.686963 66.19) + (xy 31.687325 66.193675) + (xy 31.687325 66.193676) + (xy 31.705341 66.376605) + (xy 31.707062 66.394072) + (xy 31.708132 66.397601) + (xy 31.708133 66.397603) + (xy 31.765516 66.586769) + (xy 31.765518 66.586774) + (xy 31.766588 66.590301) + (xy 31.863252 66.771147) + (xy 31.865596 66.774003) + (xy 31.865598 66.774006) + (xy 31.924449 66.845716) + (xy 31.99334 66.92966) + (xy 31.996195 66.932003) + (xy 32.137156 67.047687) + (xy 32.151853 67.059748) + (xy 32.332699 67.156412) + (xy 32.528928 67.215938) + (xy 32.715797 67.234342) + (xy 32.724227 67.235173) + (xy 32.733 67.236037) + (xy 32.741773 67.235173) + (xy 32.748539 67.234506) + (xy 32.937072 67.215938) + (xy 33.133301 67.156412) + (xy 33.314147 67.059748) + (xy 33.47266 66.92966) + (xy 33.602748 66.771147) + (xy 33.699412 66.590301) + (xy 33.758938 66.394072) + (xy 33.779037 66.19) + (xy 33.778347 66.182999) + (xy 33.765374 66.051277) + (xy 33.758938 65.985928) + (xy 33.699412 65.789699) + (xy 33.602748 65.608853) + (xy 33.47266 65.45034) + (xy 33.383295 65.377) + (xy 33.317006 65.322598) + (xy 33.317003 65.322596) + (xy 33.314147 65.320252) + (xy 33.133301 65.223588) + (xy 33.129774 65.222518) + (xy 33.129769 65.222516) + (xy 32.940603 65.165133) + (xy 32.940601 65.165132) + (xy 32.937072 65.164062) + (xy 32.933401 65.1637) + (xy 32.933399 65.1637) + (xy 32.736676 65.144325) + (xy 32.733 65.143963) + (xy 32.729324 65.144325) + (xy 32.5326 65.1637) + (xy 32.532596 65.1637) + (xy 32.528928 65.164062) + (xy 32.5254 65.165132) + (xy 32.525396 65.165133) + (xy 32.33623 65.222516) + (xy 32.336222 65.222519) + (xy 32.332699 65.223588) + (xy 32.329447 65.225325) + (xy 32.329445 65.225327) + (xy 32.155111 65.31851) + (xy 32.155106 65.318512) + (xy 32.151853 65.320252) + (xy 32.149 65.322593) + (xy 32.148993 65.322598) + (xy 31.996195 65.447996) + (xy 31.996189 65.448001) + (xy 31.99334 65.45034) + (xy 31.991001 65.453189) + (xy 31.990996 65.453195) + (xy 31.865598 65.605993) + (xy 31.865593 65.606) + (xy 31.863252 65.608853) + (xy 31.861512 65.612106) + (xy 31.86151 65.612111) + (xy 31.793189 65.739931) + (xy 31.766588 65.789699) + (xy 31.765519 65.793222) + (xy 31.765516 65.79323) + (xy 31.708133 65.982396) + (xy 31.707062 65.985928) + (xy 31.7067 65.989596) + (xy 31.7067 65.9896) + (xy 31.687325 66.186324) + (xy 31.686963 66.19) + (xy 31.238173 66.19) + (xy 31.238173 66.186325) + (xy 31.218807 65.989701) + (xy 31.217372 65.982491) + (xy 31.16002 65.793426) + (xy 31.157207 65.786634) + (xy 31.06407 65.612386) + (xy 31.059988 65.606278) + (xy 31.019939 65.557477) + (xy 31.013095 65.552741) + (xy 31.005816 65.556787) + (xy 30.379605 66.182999) + (xy 30.375563 66.19) + (xy 30.010436 66.19) + (xy 30.006394 66.182999) + (xy 29.380182 65.556787) + (xy 29.372903 65.552742) + (xy 29.366058 65.557479) + (xy 29.326008 65.606281) + (xy 29.321931 65.612383) + (xy 29.228792 65.786634) + (xy 29.225979 65.793426) + (xy 29.168627 65.982491) + (xy 29.167192 65.989701) + (xy 29.147827 66.186325) + (xy 29.147827 66.193675) + (xy 25 66.193675) + (xy 25 65.369903) + (xy 29.555742 65.369903) + (xy 29.559787 65.377182) + (xy 30.185999 66.003394) + (xy 30.193 66.007436) + (xy 30.2 66.003394) + (xy 30.826211 65.377182) + (xy 30.830257 65.369903) + (xy 30.825521 65.363059) + (xy 30.776722 65.323011) + (xy 30.770613 65.318929) + (xy 30.596365 65.225792) + (xy 30.589573 65.222979) + (xy 30.400508 65.165627) + (xy 30.393298 65.164192) + (xy 30.196675 65.144827) + (xy 30.189325 65.144827) + (xy 29.992701 65.164192) + (xy 29.985491 65.165627) + (xy 29.796426 65.222979) + (xy 29.789634 65.225792) + (xy 29.615383 65.318931) + (xy 29.609281 65.323008) + (xy 29.560479 65.363058) + (xy 29.555742 65.369903) + (xy 25 65.369903) + (xy 25 64.470095) + (xy 29.555741 64.470095) + (xy 29.560477 64.476939) + (xy 29.609278 64.516988) + (xy 29.615386 64.52107) + (xy 29.789634 64.614207) + (xy 29.796426 64.61702) + (xy 29.985491 64.674372) + (xy 29.992701 64.675807) + (xy 30.189325 64.695173) + (xy 30.196675 64.695173) + (xy 30.393298 64.675807) + (xy 30.400508 64.674372) + (xy 30.589573 64.61702) + (xy 30.596365 64.614207) + (xy 30.770613 64.52107) + (xy 30.776721 64.516988) + (xy 30.82552 64.476939) + (xy 30.830257 64.470096) + (xy 30.826211 64.462816) + (xy 30.2 63.836605) + (xy 30.192999 63.832563) + (xy 30.185999 63.836605) + (xy 29.559787 64.462816) + (xy 29.555741 64.470095) + (xy 25 64.470095) + (xy 25 63.653675) + (xy 29.147827 63.653675) + (xy 29.167192 63.850298) + (xy 29.168627 63.857508) + (xy 29.225979 64.046573) + (xy 29.228792 64.053365) + (xy 29.321929 64.227613) + (xy 29.326011 64.233722) + (xy 29.366059 64.282521) + (xy 29.372903 64.287257) + (xy 29.380182 64.283211) + (xy 30.006394 63.657) + (xy 30.010436 63.65) + (xy 30.375563 63.65) + (xy 30.379605 63.657) + (xy 31.005816 64.283211) + (xy 31.013096 64.287257) + (xy 31.019939 64.28252) + (xy 31.059988 64.233721) + (xy 31.06407 64.227613) + (xy 31.157207 64.053365) + (xy 31.16002 64.046573) + (xy 31.217372 63.857508) + (xy 31.218807 63.850298) + (xy 31.238173 63.653675) + (xy 31.238173 63.65) + (xy 31.686963 63.65) + (xy 31.687325 63.653675) + (xy 31.687325 63.653676) + (xy 31.705341 63.836605) + (xy 31.707062 63.854072) + (xy 31.708132 63.857601) + (xy 31.708133 63.857603) + (xy 31.765516 64.046769) + (xy 31.765518 64.046774) + (xy 31.766588 64.050301) + (xy 31.863252 64.231147) + (xy 31.865596 64.234003) + (xy 31.865598 64.234006) + (xy 31.9093 64.287257) + (xy 31.99334 64.38966) + (xy 31.996195 64.392003) + (xy 32.09135 64.470095) + (xy 32.151853 64.519748) + (xy 32.332699 64.616412) + (xy 32.528928 64.675938) + (xy 32.700814 64.692867) + (xy 32.724227 64.695173) + (xy 32.733 64.696037) + (xy 32.741773 64.695173) + (xy 32.748539 64.694506) + (xy 32.937072 64.675938) + (xy 33.133301 64.616412) + (xy 33.314147 64.519748) + (xy 33.47266 64.38966) + (xy 33.602748 64.231147) + (xy 33.699412 64.050301) + (xy 33.758938 63.854072) + (xy 33.779037 63.65) + (xy 33.778347 63.642999) + (xy 33.777342 63.632797) + (xy 33.758938 63.445928) + (xy 33.699412 63.249699) + (xy 33.602748 63.068853) + (xy 33.595771 63.060352) + (xy 33.475003 62.913195) + (xy 33.47266 62.91034) + (xy 33.427556 62.873324) + (xy 33.317006 62.782598) + (xy 33.317003 62.782596) + (xy 33.314147 62.780252) + (xy 33.133301 62.683588) + (xy 33.129774 62.682518) + (xy 33.129769 62.682516) + (xy 32.940603 62.625133) + (xy 32.940601 62.625132) + (xy 32.937072 62.624062) + (xy 32.933401 62.6237) + (xy 32.933399 62.6237) + (xy 32.736676 62.604325) + (xy 32.733 62.603963) + (xy 32.729324 62.604325) + (xy 32.5326 62.6237) + (xy 32.532596 62.6237) + (xy 32.528928 62.624062) + (xy 32.5254 62.625132) + (xy 32.525396 62.625133) + (xy 32.33623 62.682516) + (xy 32.336222 62.682519) + (xy 32.332699 62.683588) + (xy 32.329447 62.685325) + (xy 32.329445 62.685327) + (xy 32.155111 62.77851) + (xy 32.155106 62.778512) + (xy 32.151853 62.780252) + (xy 32.149 62.782593) + (xy 32.148993 62.782598) + (xy 31.996195 62.907996) + (xy 31.996189 62.908001) + (xy 31.99334 62.91034) + (xy 31.991001 62.913189) + (xy 31.990996 62.913195) + (xy 31.865598 63.065993) + (xy 31.865593 63.066) + (xy 31.863252 63.068853) + (xy 31.861512 63.072106) + (xy 31.86151 63.072111) + (xy 31.768327 63.246445) + (xy 31.766588 63.249699) + (xy 31.765519 63.253222) + (xy 31.765516 63.25323) + (xy 31.708133 63.442396) + (xy 31.707062 63.445928) + (xy 31.7067 63.449596) + (xy 31.7067 63.4496) + (xy 31.687325 63.646324) + (xy 31.686963 63.65) + (xy 31.238173 63.65) + (xy 31.238173 63.646325) + (xy 31.218807 63.449701) + (xy 31.217372 63.442491) + (xy 31.16002 63.253426) + (xy 31.157207 63.246634) + (xy 31.06407 63.072386) + (xy 31.059988 63.066278) + (xy 31.019939 63.017477) + (xy 31.013095 63.012741) + (xy 31.005816 63.016787) + (xy 30.379605 63.642999) + (xy 30.375563 63.65) + (xy 30.010436 63.65) + (xy 30.006394 63.642999) + (xy 29.380182 63.016787) + (xy 29.372903 63.012742) + (xy 29.366058 63.017479) + (xy 29.326008 63.066281) + (xy 29.321931 63.072383) + (xy 29.228792 63.246634) + (xy 29.225979 63.253426) + (xy 29.168627 63.442491) + (xy 29.167192 63.449701) + (xy 29.147827 63.646325) + (xy 29.147827 63.653675) + (xy 25 63.653675) + (xy 25 62.829903) + (xy 29.555742 62.829903) + (xy 29.559787 62.837182) + (xy 30.185999 63.463394) + (xy 30.193 63.467436) + (xy 30.2 63.463394) + (xy 30.826211 62.837182) + (xy 30.830257 62.829903) + (xy 30.825521 62.823059) + (xy 30.776722 62.783011) + (xy 30.770613 62.778929) + (xy 30.596365 62.685792) + (xy 30.589573 62.682979) + (xy 30.400508 62.625627) + (xy 30.393298 62.624192) + (xy 30.196675 62.604827) + (xy 30.189325 62.604827) + (xy 29.992701 62.624192) + (xy 29.985491 62.625627) + (xy 29.796426 62.682979) + (xy 29.789634 62.685792) + (xy 29.615383 62.778931) + (xy 29.609281 62.783008) + (xy 29.560479 62.823058) + (xy 29.555742 62.829903) + (xy 25 62.829903) + (xy 25 61.930095) + (xy 29.555741 61.930095) + (xy 29.560477 61.936939) + (xy 29.609278 61.976988) + (xy 29.615386 61.98107) + (xy 29.789634 62.074207) + (xy 29.796426 62.07702) + (xy 29.985491 62.134372) + (xy 29.992701 62.135807) + (xy 30.189325 62.155173) + (xy 30.196675 62.155173) + (xy 30.393298 62.135807) + (xy 30.400508 62.134372) + (xy 30.589573 62.07702) + (xy 30.596365 62.074207) + (xy 30.770613 61.98107) + (xy 30.776721 61.976988) + (xy 30.82552 61.936939) + (xy 30.830257 61.930096) + (xy 30.826211 61.922816) + (xy 30.2 61.296605) + (xy 30.193 61.292563) + (xy 30.185999 61.296605) + (xy 29.559787 61.922816) + (xy 29.555741 61.930095) + (xy 25 61.930095) + (xy 25 61.113675) + (xy 29.147827 61.113675) + (xy 29.167192 61.310298) + (xy 29.168627 61.317508) + (xy 29.225979 61.506573) + (xy 29.228792 61.513365) + (xy 29.321929 61.687613) + (xy 29.326011 61.693722) + (xy 29.366059 61.742521) + (xy 29.372903 61.747257) + (xy 29.380182 61.743211) + (xy 30.006394 61.117) + (xy 30.010436 61.11) + (xy 30.375563 61.11) + (xy 30.379605 61.117) + (xy 31.005816 61.743211) + (xy 31.013096 61.747257) + (xy 31.019939 61.74252) + (xy 31.059988 61.693721) + (xy 31.06407 61.687613) + (xy 31.157207 61.513365) + (xy 31.16002 61.506573) + (xy 31.217372 61.317508) + (xy 31.218807 61.310298) + (xy 31.238173 61.113675) + (xy 31.238173 61.11) + (xy 31.686963 61.11) + (xy 31.687325 61.113675) + (xy 31.687325 61.113676) + (xy 31.706477 61.308139) + (xy 31.707062 61.314072) + (xy 31.708132 61.317601) + (xy 31.708133 61.317603) + (xy 31.765516 61.506769) + (xy 31.765518 61.506774) + (xy 31.766588 61.510301) + (xy 31.863252 61.691147) + (xy 31.865596 61.694003) + (xy 31.865598 61.694006) + (xy 31.9093 61.747257) + (xy 31.99334 61.84966) + (xy 31.996195 61.852003) + (xy 32.09135 61.930095) + (xy 32.151853 61.979748) + (xy 32.332699 62.076412) + (xy 32.528928 62.135938) + (xy 32.715797 62.154342) + (xy 32.724227 62.155173) + (xy 32.733 62.156037) + (xy 32.741773 62.155173) + (xy 32.748539 62.154506) + (xy 32.937072 62.135938) + (xy 33.133301 62.076412) + (xy 33.314147 61.979748) + (xy 33.47266 61.84966) + (xy 33.602748 61.691147) + (xy 33.699412 61.510301) + (xy 33.758938 61.314072) + (xy 33.779037 61.11) + (xy 33.778347 61.102999) + (xy 33.763397 60.951202) + (xy 33.758938 60.905928) + (xy 33.699412 60.709699) + (xy 33.602748 60.528853) + (xy 33.47266 60.37034) + (xy 33.469804 60.367996) + (xy 33.317006 60.242598) + (xy 33.317003 60.242596) + (xy 33.314147 60.240252) + (xy 33.133301 60.143588) + (xy 33.129774 60.142518) + (xy 33.129769 60.142516) + (xy 32.940603 60.085133) + (xy 32.940601 60.085132) + (xy 32.937072 60.084062) + (xy 32.933401 60.0837) + (xy 32.933399 60.0837) + (xy 32.736676 60.064325) + (xy 32.733 60.063963) + (xy 32.729324 60.064325) + (xy 32.5326 60.0837) + (xy 32.532596 60.0837) + (xy 32.528928 60.084062) + (xy 32.5254 60.085132) + (xy 32.525396 60.085133) + (xy 32.33623 60.142516) + (xy 32.336222 60.142519) + (xy 32.332699 60.143588) + (xy 32.329447 60.145325) + (xy 32.329445 60.145327) + (xy 32.155111 60.23851) + (xy 32.155106 60.238512) + (xy 32.151853 60.240252) + (xy 32.149 60.242593) + (xy 32.148993 60.242598) + (xy 31.996195 60.367996) + (xy 31.996189 60.368001) + (xy 31.99334 60.37034) + (xy 31.991001 60.373189) + (xy 31.990996 60.373195) + (xy 31.865598 60.525993) + (xy 31.865593 60.526) + (xy 31.863252 60.528853) + (xy 31.861512 60.532106) + (xy 31.86151 60.532111) + (xy 31.768327 60.706445) + (xy 31.766588 60.709699) + (xy 31.765519 60.713222) + (xy 31.765516 60.71323) + (xy 31.723301 60.852395) + (xy 31.707062 60.905928) + (xy 31.7067 60.909596) + (xy 31.7067 60.9096) + (xy 31.68765 61.103028) + (xy 31.686963 61.11) + (xy 31.238173 61.11) + (xy 31.238173 61.106325) + (xy 31.218807 60.909701) + (xy 31.217372 60.902491) + (xy 31.16002 60.713426) + (xy 31.157207 60.706634) + (xy 31.06407 60.532386) + (xy 31.059988 60.526278) + (xy 31.019939 60.477477) + (xy 31.013095 60.472741) + (xy 31.005816 60.476787) + (xy 30.379605 61.102999) + (xy 30.375563 61.11) + (xy 30.010436 61.11) + (xy 30.006394 61.102999) + (xy 29.380182 60.476787) + (xy 29.372903 60.472742) + (xy 29.366058 60.477479) + (xy 29.326008 60.526281) + (xy 29.321931 60.532383) + (xy 29.228792 60.706634) + (xy 29.225979 60.713426) + (xy 29.168627 60.902491) + (xy 29.167192 60.909701) + (xy 29.147827 61.106325) + (xy 29.147827 61.113675) + (xy 25 61.113675) + (xy 25 60.289903) + (xy 29.555742 60.289903) + (xy 29.559787 60.297182) + (xy 30.185999 60.923394) + (xy 30.193 60.927436) + (xy 30.2 60.923394) + (xy 30.826211 60.297182) + (xy 30.830257 60.289903) + (xy 30.825521 60.283059) + (xy 30.776722 60.243011) + (xy 30.770613 60.238929) + (xy 30.596365 60.145792) + (xy 30.589573 60.142979) + (xy 30.400508 60.085627) + (xy 30.393298 60.084192) + (xy 30.196675 60.064827) + (xy 30.189325 60.064827) + (xy 29.992701 60.084192) + (xy 29.985491 60.085627) + (xy 29.796426 60.142979) + (xy 29.789634 60.145792) + (xy 29.615383 60.238931) + (xy 29.609281 60.243008) + (xy 29.560479 60.283058) + (xy 29.555742 60.289903) + (xy 25 60.289903) + (xy 25 52.17) + (xy 30.112566 52.17) + (xy 30.13227 52.420363) + (xy 30.132957 52.423226) + (xy 30.132959 52.423236) + (xy 30.190205 52.66168) + (xy 30.190897 52.664561) + (xy 30.192028 52.667293) + (xy 30.192029 52.667294) + (xy 30.242246 52.78853) + (xy 30.287003 52.896582) + (xy 30.28854 52.89909) + (xy 30.288542 52.899094) + (xy 30.319861 52.950202) + (xy 30.418222 53.110712) + (xy 30.581322 53.301678) + (xy 30.772288 53.464778) + (xy 30.986418 53.595997) + (xy 31.218439 53.692103) + (xy 31.462637 53.75073) + (xy 31.650308 53.7655) + (xy 31.774212 53.7655) + (xy 31.775692 53.7655) + (xy 31.963363 53.75073) + (xy 32.207561 53.692103) + (xy 32.439582 53.595997) + (xy 32.653712 53.464778) + (xy 32.844678 53.301678) + (xy 33.007778 53.110712) + (xy 33.138997 52.896582) + (xy 33.235103 52.664561) + (xy 33.29373 52.420363) + (xy 33.313434 52.17) + (xy 33.29373 51.919637) + (xy 33.235103 51.675439) + (xy 33.138997 51.443418) + (xy 33.007778 51.229288) + (xy 32.960974 51.174488) + (xy 32.846591 51.040562) + (xy 32.844678 51.038322) + (xy 32.728484 50.939083) + (xy 32.655957 50.877139) + (xy 32.655953 50.877136) + (xy 32.653712 50.875222) + (xy 32.522278 50.794679) + (xy 32.442094 50.745542) + (xy 32.44209 50.74554) + (xy 32.439582 50.744003) + (xy 32.207561 50.647897) + (xy 32.204683 50.647206) + (xy 32.20468 50.647205) + (xy 31.966236 50.589959) + (xy 31.966226 50.589957) + (xy 31.963363 50.58927) + (xy 31.960416 50.589038) + (xy 31.777169 50.574616) + (xy 31.777162 50.574615) + (xy 31.775692 50.5745) + (xy 31.650308 50.5745) + (xy 31.648838 50.574615) + (xy 31.64883 50.574616) + (xy 31.465583 50.589038) + (xy 31.465581 50.589038) + (xy 31.462637 50.58927) + (xy 31.459775 50.589957) + (xy 31.459763 50.589959) + (xy 31.221319 50.647205) + (xy 31.221312 50.647207) + (xy 31.218439 50.647897) + (xy 31.21571 50.649027) + (xy 31.215705 50.649029) + (xy 30.98914 50.742875) + (xy 30.989134 50.742877) + (xy 30.986418 50.744003) + (xy 30.983914 50.745537) + (xy 30.983905 50.745542) + (xy 30.774803 50.87368) + (xy 30.774795 50.873685) + (xy 30.772288 50.875222) + (xy 30.770051 50.877131) + (xy 30.770042 50.877139) + (xy 30.583562 51.036408) + (xy 30.583556 51.036413) + (xy 30.581322 51.038322) + (xy 30.579413 51.040556) + (xy 30.579408 51.040562) + (xy 30.420139 51.227042) + (xy 30.420131 51.227051) + (xy 30.418222 51.229288) + (xy 30.416685 51.231795) + (xy 30.41668 51.231803) + (xy 30.288542 51.440905) + (xy 30.288537 51.440914) + (xy 30.287003 51.443418) + (xy 30.285877 51.446134) + (xy 30.285875 51.44614) + (xy 30.192029 51.672705) + (xy 30.190897 51.675439) + (xy 30.190207 51.678312) + (xy 30.190205 51.678319) + (xy 30.132959 51.916763) + (xy 30.132957 51.916775) + (xy 30.13227 51.919637) + (xy 30.132038 51.922581) + (xy 30.132038 51.922583) + (xy 30.121547 52.055881) + (xy 30.112566 52.17) + (xy 25 52.17) + (xy 25 42.630095) + (xy 29.575241 42.630095) + (xy 29.579977 42.636939) + (xy 29.628778 42.676988) + (xy 29.634886 42.68107) + (xy 29.809134 42.774207) + (xy 29.815926 42.77702) + (xy 30.004991 42.834372) + (xy 30.012201 42.835807) + (xy 30.208825 42.855173) + (xy 30.216175 42.855173) + (xy 30.412798 42.835807) + (xy 30.420008 42.834372) + (xy 30.609073 42.77702) + (xy 30.615865 42.774207) + (xy 30.790113 42.68107) + (xy 30.796221 42.676988) + (xy 30.84502 42.636939) + (xy 30.849757 42.630096) + (xy 30.845711 42.622816) + (xy 30.686013 42.463118) + (xy 31.7115 42.463118) + (xy 31.714294 42.492913) + (xy 31.715802 42.497223) + (xy 31.715803 42.497227) + (xy 31.75634 42.613076) + (xy 31.756341 42.613078) + (xy 31.758201 42.618393) + (xy 31.761543 42.622921) + (xy 31.761544 42.622923) + (xy 31.813169 42.692871) + (xy 31.837144 42.725356) + (xy 31.944107 42.804299) + (xy 32.069587 42.848206) + (xy 32.099382 42.851) + (xy 32.2958 42.851) + (xy 32.3334 42.861075) + (xy 32.360925 42.8886) + (xy 32.371 42.9262) + (xy 32.371 43.560944) + (xy 32.370993 43.561) + (xy 32.370985 43.561) + (xy 32.370985 43.713704) + (xy 32.371163 43.715512) + (xy 32.371164 43.71553) + (xy 32.400739 44.015803) + (xy 32.400741 44.015818) + (xy 32.400921 44.017643) + (xy 32.401278 44.01944) + (xy 32.401281 44.019457) + (xy 32.460143 44.315371) + (xy 32.460145 44.315381) + (xy 32.460504 44.317183) + (xy 32.461037 44.31894) + (xy 32.461039 44.318948) + (xy 32.54348 44.590715) + (xy 32.549161 44.609441) + (xy 32.549859 44.611127) + (xy 32.549863 44.611137) + (xy 32.66533 44.889893) + (xy 32.665334 44.889901) + (xy 32.666038 44.891601) + (xy 32.666907 44.893227) + (xy 32.66691 44.893233) + (xy 32.809143 45.159327) + (xy 32.809148 45.159336) + (xy 32.810009 45.160946) + (xy 32.811028 45.162471) + (xy 32.978665 45.413353) + (xy 32.978671 45.413362) + (xy 32.979688 45.414883) + (xy 33.17344 45.650965) + (xy 33.174745 45.65227) + (xy 33.174746 45.652271) + (xy 33.241533 45.719055) + (xy 34.082411 46.559934) + (xy 34.084957 46.562607) + (xy 34.282664 46.780744) + (xy 34.299016 46.798785) + (xy 34.303697 46.80449) + (xy 34.492446 47.058991) + (xy 34.496546 47.065127) + (xy 34.659444 47.336907) + (xy 34.662923 47.343415) + (xy 34.7984 47.629861) + (xy 34.801224 47.636679) + (xy 34.907971 47.935022) + (xy 34.910113 47.942084) + (xy 34.987101 48.249448) + (xy 34.988541 48.256687) + (xy 35.035032 48.570125) + (xy 35.035755 48.577469) + (xy 35.051408 48.896172) + (xy 35.051499 48.899861) + (xy 35.051499 48.940679) + (xy 35.051499 48.95249) + (xy 35.0515 48.952492) + (xy 35.0515 48.952493) + (xy 35.0515 58.885998) + (xy 35.051486 58.886186) + (xy 35.051436 58.886359) + (xy 35.051436 58.886883) + (xy 35.051436 58.886892) + (xy 35.051455 58.90301) + (xy 35.0515 58.94121) + (xy 35.0515 58.972376) + (xy 35.051536 58.972598) + (xy 35.05155 58.972914) + (xy 35.051642 59.071806) + (xy 35.051666 59.096968) + (xy 35.051821 59.098652) + (xy 35.076964 59.371892) + (xy 35.080211 59.407172) + (xy 35.080519 59.408843) + (xy 35.08052 59.408849) + (xy 35.135604 59.707561) + (xy 35.136704 59.713523) + (xy 35.137159 59.715151) + (xy 35.137163 59.715165) + (xy 35.220221 60.011868) + (xy 35.220225 60.011882) + (xy 35.22068 60.013505) + (xy 35.22128 60.015083) + (xy 35.221284 60.015094) + (xy 35.330842 60.30306) + (xy 35.330849 60.303076) + (xy 35.331452 60.304661) + (xy 35.332198 60.306189) + (xy 35.332201 60.306196) + (xy 35.365143 60.373676) + (xy 35.46811 60.5846) + (xy 35.468983 60.586041) + (xy 35.468988 60.58605) + (xy 35.608428 60.816194) + (xy 35.629534 60.851029) + (xy 35.630539 60.852392) + (xy 35.630541 60.852395) + (xy 35.813396 61.100399) + (xy 35.813401 61.100406) + (xy 35.8144 61.10176) + (xy 35.815525 61.103027) + (xy 35.815526 61.103028) + (xy 35.876466 61.171652) + (xy 35.881614 61.179331) + (xy 35.882007 61.179051) + (xy 35.885629 61.184124) + (xy 35.888366 61.189722) + (xy 35.892773 61.194129) + (xy 35.923765 61.225121) + (xy 35.926832 61.228375) + (xy 35.954235 61.259248) + (xy 35.958795 61.262102) + (xy 35.9629 61.265574) + (xy 35.962828 61.265657) + (xy 35.97005 61.271406) + (xy 36.698356 61.999712) + (xy 36.719616 62.042183) + (xy 36.729625 62.111791) + (xy 36.729626 62.111797) + (xy 36.730392 62.117119) + (xy 36.732624 62.122008) + (xy 36.732626 62.122012) + (xy 36.787382 62.241911) + (xy 36.787383 62.241913) + (xy 36.789618 62.246806) + (xy 36.882982 62.354553) + (xy 37.002919 62.431633) + (xy 37.139715 62.4718) + (xy 37.276904 62.4718) + (xy 37.282285 62.4718) + (xy 37.419081 62.431633) + (xy 37.539018 62.354553) + (xy 37.632382 62.246806) + (xy 37.691608 62.117119) + (xy 37.711898 61.976) + (xy 37.691608 61.834881) + (xy 37.632382 61.705194) + (xy 37.622687 61.694006) + (xy 37.547469 61.6072) + (xy 37.539018 61.597447) + (xy 37.534496 61.594541) + (xy 37.534494 61.594539) + (xy 37.423602 61.523272) + (xy 37.423599 61.52327) + (xy 37.419081 61.520367) + (xy 37.413925 61.518853) + (xy 37.413923 61.518852) + (xy 37.287442 61.481714) + (xy 37.28744 61.481713) + (xy 37.282285 61.4802) + (xy 37.278731 61.4802) + (xy 37.236995 61.459307) + (xy 36.870009 61.092321) + (xy 36.487638 60.709949) + (xy 36.482063 60.703718) + (xy 36.42304 60.629851) + (xy 36.318196 60.498638) + (xy 36.31366 60.492315) + (xy 36.304136 60.477477) + (xy 36.16844 60.266059) + (xy 36.164581 60.259301) + (xy 36.04352 60.019243) + (xy 36.04038 60.012123) + (xy 36.037114 60.003538) + (xy 35.94477 59.760817) + (xy 35.942394 59.753446) + (xy 35.873272 59.493615) + (xy 35.871663 59.486001) + (xy 35.829766 59.220434) + (xy 35.828952 59.212694) + (xy 35.814605 58.941905) + (xy 35.8145 58.937926) + (xy 35.8145 48.866258) + (xy 35.8145 48.866032) + (xy 35.814487 48.865957) + (xy 35.814481 48.865805) + (xy 35.814482 48.761524) + (xy 35.814483 48.720072) + (xy 35.783534 48.366273) + (xy 35.721866 48.016517) + (xy 35.629948 47.673468) + (xy 35.618424 47.641806) + (xy 35.509043 47.341276) + (xy 35.509041 47.341273) + (xy 35.508482 47.339735) + (xy 35.473573 47.264871) + (xy 35.359084 47.019344) + (xy 35.359083 47.019342) + (xy 35.358391 47.017858) + (xy 35.180817 46.710288) + (xy 34.977111 46.419365) + (xy 34.748825 46.147304) + (xy 34.623261 46.021739) + (xy 34.584475 45.982953) + (xy 33.859722 45.258199) + (xy 33.859721 45.258197) + (xy 33.839416 45.237894) + (xy 33.839415 45.237893) + (xy 33.822436 45.220913) + (xy 33.81954 45.21785) + (xy 33.64849 45.026451) + (xy 33.643232 45.019858) + (xy 33.495917 44.81224) + (xy 33.491431 44.805099) + (xy 33.368298 44.582313) + (xy 33.364638 44.574715) + (xy 33.362887 44.570488) + (xy 33.267211 44.33951) + (xy 33.264434 44.331571) + (xy 33.193957 44.086945) + (xy 33.192081 44.078724) + (xy 33.169266 43.944447) + (xy 33.149439 43.827759) + (xy 33.148495 43.819385) + (xy 33.148386 43.817447) + (xy 33.134118 43.563368) + (xy 33.134 43.559152) + (xy 33.134 42.9262) + (xy 33.144075 42.8886) + (xy 33.1716 42.861075) + (xy 33.2092 42.851) + (xy 33.403864 42.851) + (xy 33.405618 42.851) + (xy 33.435413 42.848206) + (xy 33.560893 42.804299) + (xy 33.667856 42.725356) + (xy 33.746799 42.618393) + (xy 33.790706 42.492913) + (xy 33.7935 42.463118) + (xy 33.7935 41.156882) + (xy 33.790706 41.127087) + (xy 33.746799 41.001607) + (xy 33.667856 40.894644) + (xy 33.640805 40.874679) + (xy 33.565423 40.819044) + (xy 33.565421 40.819043) + (xy 33.560893 40.815701) + (xy 33.555578 40.813841) + (xy 33.555576 40.81384) + (xy 33.439727 40.773303) + (xy 33.439723 40.773302) + (xy 33.435413 40.771794) + (xy 33.430865 40.771367) + (xy 33.430863 40.771367) + (xy 33.407359 40.769163) + (xy 33.407353 40.769162) + (xy 33.405618 40.769) + (xy 32.099382 40.769) + (xy 32.097647 40.769162) + (xy 32.09764 40.769163) + (xy 32.074136 40.771367) + (xy 32.074132 40.771367) + (xy 32.069587 40.771794) + (xy 32.065278 40.773301) + (xy 32.065272 40.773303) + (xy 31.949423 40.81384) + (xy 31.949418 40.813842) + (xy 31.944107 40.815701) + (xy 31.939581 40.819041) + (xy 31.939576 40.819044) + (xy 31.841671 40.891302) + (xy 31.841667 40.891305) + (xy 31.837144 40.894644) + (xy 31.833805 40.899167) + (xy 31.833802 40.899171) + (xy 31.761544 40.997076) + (xy 31.761541 40.997081) + (xy 31.758201 41.001607) + (xy 31.756342 41.006918) + (xy 31.75634 41.006923) + (xy 31.715803 41.122772) + (xy 31.715801 41.122778) + (xy 31.714294 41.127087) + (xy 31.7115 41.156882) + (xy 31.7115 42.463118) + (xy 30.686013 42.463118) + (xy 30.2195 41.996605) + (xy 30.2125 41.992563) + (xy 30.205499 41.996605) + (xy 29.579287 42.622816) + (xy 29.575241 42.630095) + (xy 25 42.630095) + (xy 25 41.813675) + (xy 29.167327 41.813675) + (xy 29.186692 42.010298) + (xy 29.188127 42.017508) + (xy 29.245479 42.206573) + (xy 29.248292 42.213365) + (xy 29.341429 42.387613) + (xy 29.345511 42.393722) + (xy 29.385559 42.442521) + (xy 29.392403 42.447257) + (xy 29.399682 42.443211) + (xy 30.025894 41.817) + (xy 30.029936 41.809999) + (xy 30.395063 41.809999) + (xy 30.399105 41.817) + (xy 31.025316 42.443211) + (xy 31.032596 42.447257) + (xy 31.039439 42.44252) + (xy 31.079488 42.393721) + (xy 31.08357 42.387613) + (xy 31.176707 42.213365) + (xy 31.17952 42.206573) + (xy 31.236872 42.017508) + (xy 31.238307 42.010298) + (xy 31.257673 41.813675) + (xy 31.257673 41.806325) + (xy 31.238307 41.609701) + (xy 31.236872 41.602491) + (xy 31.17952 41.413426) + (xy 31.176707 41.406634) + (xy 31.08357 41.232386) + (xy 31.079488 41.226278) + (xy 31.039439 41.177477) + (xy 31.032595 41.172741) + (xy 31.025316 41.176787) + (xy 30.399105 41.802999) + (xy 30.395063 41.809999) + (xy 30.029936 41.809999) + (xy 30.025894 41.802999) + (xy 29.399682 41.176787) + (xy 29.392403 41.172742) + (xy 29.385558 41.177479) + (xy 29.345508 41.226281) + (xy 29.341431 41.232383) + (xy 29.248292 41.406634) + (xy 29.245479 41.413426) + (xy 29.188127 41.602491) + (xy 29.186692 41.609701) + (xy 29.167327 41.806325) + (xy 29.167327 41.813675) + (xy 25 41.813675) + (xy 25 40.989903) + (xy 29.575242 40.989903) + (xy 29.579287 40.997182) + (xy 30.205499 41.623394) + (xy 30.2125 41.627436) + (xy 30.2195 41.623394) + (xy 30.845711 40.997182) + (xy 30.849757 40.989903) + (xy 30.845021 40.983059) + (xy 30.796222 40.943011) + (xy 30.790113 40.938929) + (xy 30.615865 40.845792) + (xy 30.609073 40.842979) + (xy 30.420008 40.785627) + (xy 30.412798 40.784192) + (xy 30.216175 40.764827) + (xy 30.208825 40.764827) + (xy 30.012201 40.784192) + (xy 30.004991 40.785627) + (xy 29.815926 40.842979) + (xy 29.809134 40.845792) + (xy 29.634883 40.938931) + (xy 29.628781 40.943008) + (xy 29.579979 40.983058) + (xy 29.575242 40.989903) + (xy 25 40.989903) + (xy 25 40.090095) + (xy 29.575241 40.090095) + (xy 29.579977 40.096939) + (xy 29.628778 40.136988) + (xy 29.634886 40.14107) + (xy 29.809134 40.234207) + (xy 29.815926 40.23702) + (xy 30.004991 40.294372) + (xy 30.012201 40.295807) + (xy 30.208825 40.315173) + (xy 30.216175 40.315173) + (xy 30.412798 40.295807) + (xy 30.420008 40.294372) + (xy 30.609073 40.23702) + (xy 30.615865 40.234207) + (xy 30.790113 40.14107) + (xy 30.796221 40.136988) + (xy 30.84502 40.096939) + (xy 30.849757 40.090096) + (xy 30.845711 40.082816) + (xy 30.2195 39.456605) + (xy 30.2125 39.452563) + (xy 30.205499 39.456605) + (xy 29.579287 40.082816) + (xy 29.575241 40.090095) + (xy 25 40.090095) + (xy 25 39.273675) + (xy 29.167327 39.273675) + (xy 29.186692 39.470298) + (xy 29.188127 39.477508) + (xy 29.245479 39.666573) + (xy 29.248292 39.673365) + (xy 29.341429 39.847613) + (xy 29.345511 39.853722) + (xy 29.385559 39.902521) + (xy 29.392403 39.907257) + (xy 29.399682 39.903211) + (xy 30.025894 39.277) + (xy 30.029936 39.27) + (xy 30.395063 39.27) + (xy 30.399105 39.277) + (xy 31.025316 39.903211) + (xy 31.032596 39.907257) + (xy 31.039439 39.90252) + (xy 31.079488 39.853721) + (xy 31.08357 39.847613) + (xy 31.176707 39.673365) + (xy 31.17952 39.666573) + (xy 31.236872 39.477508) + (xy 31.238307 39.470298) + (xy 31.257673 39.273675) + (xy 31.257673 39.27) + (xy 31.706463 39.27) + (xy 31.706825 39.273675) + (xy 31.706825 39.273676) + (xy 31.724841 39.456605) + (xy 31.726562 39.474072) + (xy 31.727632 39.477601) + (xy 31.727633 39.477603) + (xy 31.785016 39.666769) + (xy 31.785018 39.666774) + (xy 31.786088 39.670301) + (xy 31.882752 39.851147) + (xy 31.885096 39.854003) + (xy 31.885098 39.854006) + (xy 32.010495 40.006803) + (xy 32.01284 40.00966) + (xy 32.015695 40.012003) + (xy 32.11085 40.090095) + (xy 32.171353 40.139748) + (xy 32.352199 40.236412) + (xy 32.548428 40.295938) + (xy 32.735297 40.314342) + (xy 32.743727 40.315173) + (xy 32.7525 40.316037) + (xy 32.761273 40.315173) + (xy 32.768039 40.314506) + (xy 32.956572 40.295938) + (xy 33.152801 40.236412) + (xy 33.333647 40.139748) + (xy 33.49216 40.00966) + (xy 33.541832 39.949132) + (xy 33.571184 39.927364) + (xy 33.607333 39.922002) + (xy 33.641741 39.934314) + (xy 33.695579 39.970288) + (xy 33.703383 39.976276) + (xy 33.848629 40.103654) + (xy 33.856226 40.111351) + (xy 33.95666 40.228932) + (xy 33.963597 40.238478) + (xy 34.044146 40.36991) + (xy 34.049504 40.380425) + (xy 34.108497 40.522832) + (xy 34.112144 40.534054) + (xy 34.148135 40.683945) + (xy 34.149981 40.6956) + (xy 34.159438 40.815701) + (xy 34.161497 40.841863) + (xy 34.162268 40.851648) + (xy 34.1625 40.857551) + (xy 34.1625 43.084611) + (xy 34.162502 43.084623) + (xy 34.162502 43.203539) + (xy 34.16268 43.205348) + (xy 34.162681 43.205365) + (xy 34.19183 43.501327) + (xy 34.191832 43.501342) + (xy 34.192012 43.503167) + (xy 34.192369 43.504964) + (xy 34.192372 43.504981) + (xy 34.250391 43.796656) + (xy 34.25075 43.79846) + (xy 34.25128 43.800207) + (xy 34.251283 43.800219) + (xy 34.337613 44.084812) + (xy 34.337616 44.084821) + (xy 34.338148 44.086574) + (xy 34.338851 44.088271) + (xy 34.452657 44.363026) + (xy 34.452661 44.363034) + (xy 34.453365 44.364734) + (xy 34.454235 44.366362) + (xy 34.454239 44.36637) + (xy 34.569663 44.582313) + (xy 34.595292 44.630261) + (xy 34.596311 44.631786) + (xy 34.596317 44.631796) + (xy 34.740498 44.847578) + (xy 34.762562 44.880599) + (xy 34.841939 44.97732) + (xy 34.943899 45.10156) + (xy 34.953563 45.113335) + (xy 34.954875 45.114647) + (xy 34.954876 45.114648) + (xy 35.014995 45.174766) + (xy 35.014995 45.174767) + (xy 35.060007 45.219779) + (xy 35.06001 45.219783) + (xy 35.098796 45.258569) + (xy 35.098797 45.258569) + (xy 35.177746 45.337519) + (xy 35.18029 45.340192) + (xy 35.405053 45.588179) + (xy 35.409729 45.593876) + (xy 35.607631 45.860715) + (xy 35.607996 45.861207) + (xy 35.612094 45.86734) + (xy 35.633032 45.902272) + (xy 35.783202 46.152815) + (xy 35.786681 46.159324) + (xy 35.928979 46.460191) + (xy 35.931803 46.467009) + (xy 36.043929 46.780376) + (xy 36.046071 46.787438) + (xy 36.126939 47.11028) + (xy 36.128379 47.117518) + (xy 36.177215 47.446744) + (xy 36.177938 47.454088) + (xy 36.194409 47.78934) + (xy 36.1945 47.79303) + (xy 36.1945 58.696599) + (xy 36.194506 58.696641) + (xy 36.19451 58.696728) + (xy 36.19451 58.808163) + (xy 36.194746 58.810264) + (xy 36.194747 58.810268) + (xy 36.226334 59.090621) + (xy 36.226336 59.090635) + (xy 36.226571 59.092717) + (xy 36.227038 59.094763) + (xy 36.227039 59.094769) + (xy 36.289821 59.369845) + (xy 36.289824 59.369858) + (xy 36.290289 59.371892) + (xy 36.290981 59.373872) + (xy 36.290983 59.373876) + (xy 36.376919 59.619471) + (xy 36.384865 59.642178) + (xy 36.385778 59.644075) + (xy 36.385779 59.644076) + (xy 36.496924 59.874874) + (xy 36.509109 59.900175) + (xy 36.510224 59.90195) + (xy 36.510226 59.901953) + (xy 36.579451 60.012123) + (xy 36.661459 60.142638) + (xy 36.662766 60.144278) + (xy 36.662769 60.144281) + (xy 36.698355 60.188904) + (xy 36.713995 60.225088) + (xy 36.729625 60.333791) + (xy 36.729626 60.333797) + (xy 36.730392 60.339119) + (xy 36.732624 60.344008) + (xy 36.732626 60.344012) + (xy 36.787382 60.463911) + (xy 36.787383 60.463913) + (xy 36.789618 60.468806) + (xy 36.793138 60.472869) + (xy 36.79314 60.472871) + (xy 36.836299 60.522679) + (xy 36.882982 60.576553) + (xy 36.887504 60.579459) + (xy 36.887505 60.57946) + (xy 36.968273 60.631367) + (xy 37.002919 60.653633) + (xy 37.139715 60.6938) + (xy 37.276904 60.6938) + (xy 37.282285 60.6938) + (xy 37.419081 60.653633) + (xy 37.539018 60.576553) + (xy 37.632382 60.468806) + (xy 37.691608 60.339119) + (xy 37.711898 60.198) + (xy 37.691608 60.056881) + (xy 37.632382 59.927194) + (xy 37.539018 59.819447) + (xy 37.534496 59.816541) + (xy 37.534494 59.816539) + (xy 37.442158 59.757198) + (xy 37.419081 59.742367) + (xy 37.413922 59.740852) + (xy 37.321848 59.713816) + (xy 37.280508 59.683441) + (xy 37.237737 59.61943) + (xy 37.199587 59.562334) + (xy 37.194671 59.553818) + (xy 37.095671 59.353064) + (xy 37.091915 59.343995) + (xy 37.019965 59.132034) + (xy 37.01742 59.122536) + (xy 36.973753 58.902999) + (xy 36.972472 58.893269) + (xy 36.95766 58.667278) + (xy 36.9575 58.662361) + (xy 36.9575 51.578827) + (xy 38.285289 51.578827) + (xy 38.286335 51.58436) + (xy 38.286336 51.584362) + (xy 38.295947 51.63516) + (xy 38.296418 51.637931) + (xy 38.302515 51.678384) + (xy 38.304967 51.694647) + (xy 38.307411 51.699722) + (xy 38.30811 51.701988) + (xy 38.308221 51.702435) + (xy 38.308394 51.702853) + (xy 38.309181 51.705102) + (xy 38.310228 51.710634) + (xy 38.312859 51.715612) + (xy 38.337022 51.761332) + (xy 38.338281 51.763825) + (xy 38.363171 51.815509) + (xy 38.367 51.819636) + (xy 38.36834 51.821601) + (xy 38.368575 51.821992) + (xy 38.368863 51.822339) + (xy 38.370278 51.824256) + (xy 38.37291 51.829235) + (xy 38.376894 51.833219) + (xy 38.413458 51.869783) + (xy 38.415409 51.871808) + (xy 38.454413 51.913844) + (xy 38.459291 51.91666) + (xy 38.461148 51.918141) + (xy 38.467435 51.92376) + (xy 38.886183 52.342508) + (xy 38.901413 52.364442) + (xy 38.948618 52.467806) + (xy 39.041982 52.575553) + (xy 39.046504 52.578459) + (xy 39.046505 52.57846) + (xy 39.103615 52.615163) + (xy 39.161919 52.652633) + (xy 39.298715 52.6928) + (xy 39.435904 52.6928) + (xy 39.441285 52.6928) + (xy 39.578081 52.652633) + (xy 39.698018 52.575553) + (xy 39.791382 52.467806) + (xy 39.850608 52.338119) + (xy 39.870898 52.197) + (xy 39.850608 52.055881) + (xy 39.791382 51.926194) + (xy 39.7857 51.919637) + (xy 39.708772 51.830858) + (xy 39.698018 51.818447) + (xy 39.693496 51.815541) + (xy 39.693494 51.815539) + (xy 39.582602 51.744272) + (xy 39.582599 51.74427) + (xy 39.578081 51.741367) + (xy 39.54781 51.732478) + (xy 39.515824 51.713499) + (xy 39.202026 51.399701) + (xy 39.185724 51.375305) + (xy 39.18 51.346527) + (xy 39.18 49.491473) + (xy 39.185724 49.462695) + (xy 39.202023 49.438301) + (xy 39.664023 48.9763) + (xy 39.670291 48.970699) + (xy 39.699892 48.947095) + (xy 39.732214 48.899684) + (xy 39.733794 48.897458) + (xy 39.767875 48.851283) + (xy 39.769739 48.845953) + (xy 39.770834 48.843882) + (xy 39.771077 48.843478) + (xy 39.77108 48.843472) + (xy 39.77126 48.843039) + (xy 39.77228 48.840919) + (xy 39.775459 48.836259) + (xy 39.79238 48.781399) + (xy 39.793224 48.778835) + (xy 39.812181 48.724665) + (xy 39.812391 48.719027) + (xy 39.812831 48.716705) + (xy 39.812942 48.716257) + (xy 39.812987 48.715779) + (xy 39.813335 48.713466) + (xy 39.815 48.708073) + (xy 39.815 48.650724) + (xy 39.815053 48.647912) + (xy 39.816986 48.596246) + (xy 39.817197 48.590613) + (xy 39.815737 48.585167) + (xy 39.815473 48.582817) + (xy 39.815 48.574397) + (xy 39.815 45.828448) + (xy 39.821796 45.797209) + (xy 39.848373 45.739012) + (xy 39.850608 45.734119) + (xy 39.870898 45.593) + (xy 39.850608 45.451881) + (xy 39.791382 45.322194) + (xy 39.698018 45.214447) + (xy 39.693496 45.211541) + (xy 39.693494 45.211539) + (xy 39.582602 45.140272) + (xy 39.582599 45.14027) + (xy 39.578081 45.137367) + (xy 39.572925 45.135853) + (xy 39.572923 45.135852) + (xy 39.446447 45.098715) + (xy 39.446442 45.098714) + (xy 39.441285 45.0972) + (xy 39.298715 45.0972) + (xy 39.293558 45.098714) + (xy 39.293552 45.098715) + (xy 39.167076 45.135852) + (xy 39.167071 45.135854) + (xy 39.161919 45.137367) + (xy 39.157403 45.140269) + (xy 39.157397 45.140272) + (xy 39.046505 45.211539) + (xy 39.046499 45.211543) + (xy 39.041982 45.214447) + (xy 39.038461 45.218509) + (xy 39.03846 45.218511) + (xy 38.95214 45.318128) + (xy 38.952136 45.318133) + (xy 38.948618 45.322194) + (xy 38.946385 45.327082) + (xy 38.946382 45.327088) + (xy 38.891626 45.446987) + (xy 38.891624 45.446993) + (xy 38.889392 45.451881) + (xy 38.888627 45.457195) + (xy 38.888626 45.457202) + (xy 38.87816 45.53) + (xy 38.869102 45.593) + (xy 38.869867 45.598321) + (xy 38.888626 45.728797) + (xy 38.888627 45.728802) + (xy 38.889392 45.734119) + (xy 38.891625 45.739008) + (xy 38.891626 45.739012) + (xy 38.918204 45.797209) + (xy 38.925 45.828448) + (xy 38.925 48.425527) + (xy 38.919276 48.454305) + (xy 38.902976 48.478698) + (xy 38.5508 48.830874) + (xy 38.440995 48.940679) + (xy 38.43471 48.946296) + (xy 38.409515 48.966389) + (xy 38.40951 48.966394) + (xy 38.405108 48.969905) + (xy 38.401935 48.974558) + (xy 38.401931 48.974563) + (xy 38.37281 49.017275) + (xy 38.371206 49.019536) + (xy 38.337125 49.065716) + (xy 38.335264 49.07103) + (xy 38.334144 49.073151) + (xy 38.333919 49.073524) + (xy 38.333745 49.073945) + (xy 38.332714 49.076085) + (xy 38.329541 49.080741) + (xy 38.32788 49.086123) + (xy 38.32788 49.086125) + (xy 38.312638 49.135535) + (xy 38.311759 49.138204) + (xy 38.294679 49.187015) + (xy 38.294677 49.187024) + (xy 38.292819 49.192335) + (xy 38.292608 49.19796) + (xy 38.292164 49.200308) + (xy 38.292057 49.200739) + (xy 38.292015 49.201187) + (xy 38.291659 49.203543) + (xy 38.29 49.208927) + (xy 38.29 49.214561) + (xy 38.29 49.266293) + (xy 38.289947 49.269104) + (xy 38.288014 49.320755) + (xy 38.288014 49.320759) + (xy 38.287804 49.326386) + (xy 38.289261 49.331826) + (xy 38.289527 49.334181) + (xy 38.29 49.342599) + (xy 38.29 51.532793) + (xy 38.289527 51.541212) + (xy 38.285919 51.573229) + (xy 38.285919 51.573233) + (xy 38.285289 51.578827) + (xy 36.9575 51.578827) + (xy 36.9575 47.759229) + (xy 36.9575 47.758634) + (xy 36.957467 47.758438) + (xy 36.957451 47.758042) + (xy 36.957451 47.607171) + (xy 36.957451 47.60552) + (xy 36.92526 47.237576) + (xy 36.861123 46.873838) + (xy 36.853124 46.843987) + (xy 36.830362 46.759037) + (xy 36.765528 46.517074) + (xy 36.639203 46.17) + (xy 36.483109 45.835256) + (xy 36.298434 45.51539) + (xy 36.086584 45.212837) + (xy 35.849171 44.929899) + (xy 35.718586 44.799314) + (xy 35.601019 44.681746) + (xy 35.598122 44.678681) + (xy 35.430386 44.490983) + (xy 35.425128 44.48439) + (xy 35.414217 44.469012) + (xy 35.280676 44.280804) + (xy 35.276197 44.273676) + (xy 35.155438 44.05518) + (xy 35.151784 44.047591) + (xy 35.143118 44.02667) + (xy 35.094892 43.910239) + (xy 35.056258 43.816967) + (xy 35.053473 43.809008) + (xy 35.051684 43.8028) + (xy 34.986865 43.577806) + (xy 34.98437 43.569147) + (xy 34.982493 43.560925) + (xy 34.940679 43.314824) + (xy 34.939735 43.306444) + (xy 34.939503 43.302321) + (xy 34.925617 43.055065) + (xy 34.9255 43.05085) + (xy 34.9255 40.910008) + (xy 34.9255 40.910003) + (xy 34.925502 40.909997) + (xy 34.9255 40.855313) + (xy 34.925522 40.855146) + (xy 34.925545 40.855146) + (xy 34.925542 40.735805) + (xy 34.89438 40.499167) + (xy 34.832596 40.268621) + (xy 34.741249 40.048113) + (xy 34.6219 39.841414) + (xy 34.476592 39.652062) + (xy 34.392202 39.567679) + (xy 34.363111 39.538591) + (xy 34.363111 39.53859) + (xy 34.301621 39.477101) + (xy 34.300129 39.475609) + (xy 34.298492 39.474303) + (xy 34.298487 39.474299) + (xy 34.198314 39.394413) + (xy 34.096499 39.313218) + (xy 33.875966 39.174648) + (xy 33.874076 39.173738) + (xy 33.874071 39.173735) + (xy 33.822891 39.149088) + (xy 33.793885 39.124419) + (xy 33.780681 39.088705) + (xy 33.779772 39.079474) + (xy 33.778438 39.065928) + (xy 33.718912 38.869699) + (xy 33.622248 38.688853) + (xy 33.49216 38.53034) + (xy 33.46011 38.504037) + (xy 33.336506 38.402598) + (xy 33.336503 38.402596) + (xy 33.333647 38.400252) + (xy 33.152801 38.303588) + (xy 33.149274 38.302518) + (xy 33.149269 38.302516) + (xy 32.960103 38.245133) + (xy 32.960101 38.245132) + (xy 32.956572 38.244062) + (xy 32.952901 38.2437) + (xy 32.952899 38.2437) + (xy 32.756176 38.224325) + (xy 32.7525 38.223963) + (xy 32.748824 38.224325) + (xy 32.5521 38.2437) + (xy 32.552096 38.2437) + (xy 32.548428 38.244062) + (xy 32.5449 38.245132) + (xy 32.544896 38.245133) + (xy 32.35573 38.302516) + (xy 32.355722 38.302519) + (xy 32.352199 38.303588) + (xy 32.348947 38.305325) + (xy 32.348945 38.305327) + (xy 32.174611 38.39851) + (xy 32.174606 38.398512) + (xy 32.171353 38.400252) + (xy 32.1685 38.402593) + (xy 32.168493 38.402598) + (xy 32.015695 38.527996) + (xy 32.015689 38.528001) + (xy 32.01284 38.53034) + (xy 32.010501 38.533189) + (xy 32.010496 38.533195) + (xy 31.885098 38.685993) + (xy 31.885093 38.686) + (xy 31.882752 38.688853) + (xy 31.881012 38.692106) + (xy 31.88101 38.692111) + (xy 31.791728 38.859147) + (xy 31.786088 38.869699) + (xy 31.785019 38.873222) + (xy 31.785016 38.87323) + (xy 31.727633 39.062396) + (xy 31.726562 39.065928) + (xy 31.7262 39.069596) + (xy 31.7262 39.0696) + (xy 31.706825 39.266324) + (xy 31.706463 39.27) + (xy 31.257673 39.27) + (xy 31.257673 39.266325) + (xy 31.238307 39.069701) + (xy 31.236872 39.062491) + (xy 31.17952 38.873426) + (xy 31.176707 38.866634) + (xy 31.08357 38.692386) + (xy 31.079488 38.686278) + (xy 31.039439 38.637477) + (xy 31.032595 38.632741) + (xy 31.025316 38.636787) + (xy 30.399105 39.262999) + (xy 30.395063 39.27) + (xy 30.029936 39.27) + (xy 30.025894 39.262999) + (xy 29.399682 38.636787) + (xy 29.392403 38.632742) + (xy 29.385558 38.637479) + (xy 29.345508 38.686281) + (xy 29.341431 38.692383) + (xy 29.248292 38.866634) + (xy 29.245479 38.873426) + (xy 29.188127 39.062491) + (xy 29.186692 39.069701) + (xy 29.167327 39.266325) + (xy 29.167327 39.273675) + (xy 25 39.273675) + (xy 25 38.449903) + (xy 29.575242 38.449903) + (xy 29.579287 38.457182) + (xy 30.205499 39.083394) + (xy 30.2125 39.087436) + (xy 30.2195 39.083394) + (xy 30.845711 38.457182) + (xy 30.849757 38.449903) + (xy 30.845021 38.443059) + (xy 30.796222 38.403011) + (xy 30.790113 38.398929) + (xy 30.615865 38.305792) + (xy 30.609073 38.302979) + (xy 30.420008 38.245627) + (xy 30.412798 38.244192) + (xy 30.216175 38.224827) + (xy 30.208825 38.224827) + (xy 30.012201 38.244192) + (xy 30.004991 38.245627) + (xy 29.815926 38.302979) + (xy 29.809134 38.305792) + (xy 29.634883 38.398931) + (xy 29.628781 38.403008) + (xy 29.579979 38.443058) + (xy 29.575242 38.449903) + (xy 25 38.449903) + (xy 25 37.550095) + (xy 29.575241 37.550095) + (xy 29.579977 37.556939) + (xy 29.628778 37.596988) + (xy 29.634886 37.60107) + (xy 29.809134 37.694207) + (xy 29.815926 37.69702) + (xy 30.004991 37.754372) + (xy 30.012201 37.755807) + (xy 30.208825 37.775173) + (xy 30.216175 37.775173) + (xy 30.412798 37.755807) + (xy 30.420008 37.754372) + (xy 30.609073 37.69702) + (xy 30.615865 37.694207) + (xy 30.790113 37.60107) + (xy 30.796221 37.596988) + (xy 30.84502 37.556939) + (xy 30.849757 37.550096) + (xy 30.845711 37.542816) + (xy 30.2195 36.916605) + (xy 30.212499 36.912563) + (xy 30.205499 36.916605) + (xy 29.579287 37.542816) + (xy 29.575241 37.550095) + (xy 25 37.550095) + (xy 25 36.733675) + (xy 29.167327 36.733675) + (xy 29.186692 36.930298) + (xy 29.188127 36.937508) + (xy 29.245479 37.126573) + (xy 29.248292 37.133365) + (xy 29.341429 37.307613) + (xy 29.345511 37.313722) + (xy 29.385559 37.362521) + (xy 29.392403 37.367257) + (xy 29.399682 37.363211) + (xy 30.025894 36.737) + (xy 30.029936 36.729999) + (xy 30.395063 36.729999) + (xy 30.399105 36.737) + (xy 31.025316 37.363211) + (xy 31.032596 37.367257) + (xy 31.039439 37.36252) + (xy 31.079488 37.313721) + (xy 31.08357 37.307613) + (xy 31.176707 37.133365) + (xy 31.17952 37.126573) + (xy 31.236872 36.937508) + (xy 31.238307 36.930298) + (xy 31.257673 36.733675) + (xy 31.257673 36.73) + (xy 31.706463 36.73) + (xy 31.706825 36.733675) + (xy 31.706825 36.733676) + (xy 31.724841 36.916605) + (xy 31.726562 36.934072) + (xy 31.727632 36.937601) + (xy 31.727633 36.937603) + (xy 31.785016 37.126769) + (xy 31.785018 37.126774) + (xy 31.786088 37.130301) + (xy 31.882752 37.311147) + (xy 31.885096 37.314003) + (xy 31.885098 37.314006) + (xy 32.010496 37.466804) + (xy 32.01284 37.46966) + (xy 32.015695 37.472003) + (xy 32.11085 37.550095) + (xy 32.171353 37.599748) + (xy 32.352199 37.696412) + (xy 32.548428 37.755938) + (xy 32.735297 37.774342) + (xy 32.743727 37.775173) + (xy 32.7525 37.776037) + (xy 32.761273 37.775173) + (xy 32.768039 37.774506) + (xy 32.956572 37.755938) + (xy 33.152801 37.696412) + (xy 33.333647 37.599748) + (xy 33.49216 37.46966) + (xy 33.622248 37.311147) + (xy 33.653516 37.252647) + (xy 33.690571 37.218825) + (xy 33.740652 37.215836) + (xy 33.831128 37.241901) + (xy 33.839082 37.244684) + (xy 34.074209 37.342074) + (xy 34.081807 37.345733) + (xy 34.304548 37.468836) + (xy 34.311689 37.473323) + (xy 34.519249 37.620593) + (xy 34.525842 37.625851) + (xy 34.716918 37.796607) + (xy 34.719983 37.799505) + (xy 34.970625 38.050147) + (xy 34.974633 38.054482) + (xy 35.084675 38.183324) + (xy 35.09161 38.192869) + (xy 35.116031 38.23272) + (xy 35.178577 38.334786) + (xy 35.183934 38.345301) + (xy 35.247626 38.49907) + (xy 35.251272 38.510293) + (xy 35.290124 38.672129) + (xy 35.29197 38.683784) + (xy 35.305267 38.852766) + (xy 35.305499 38.858665) + (xy 35.305499 38.903334) + (xy 35.305499 38.910464) + (xy 35.3055 38.910467) + (xy 35.3055 41.715783) + (xy 35.305507 41.715829) + (xy 35.305511 41.715924) + (xy 35.305511 41.820069) + (xy 35.305689 41.821877) + (xy 35.30569 41.821896) + (xy 35.331967 42.088719) + (xy 35.331968 42.088729) + (xy 35.332149 42.090562) + (xy 35.332508 42.09237) + (xy 35.33251 42.092379) + (xy 35.384811 42.355325) + (xy 35.384813 42.355336) + (xy 35.385173 42.357142) + (xy 35.38571 42.358912) + (xy 35.463535 42.615476) + (xy 35.463538 42.615487) + (xy 35.464071 42.617241) + (xy 35.464773 42.618937) + (xy 35.464776 42.618944) + (xy 35.567379 42.866656) + (xy 35.567384 42.866667) + (xy 35.568083 42.868354) + (xy 35.568944 42.869965) + (xy 35.568946 42.869969) + (xy 35.596648 42.921796) + (xy 35.696209 43.108063) + (xy 35.697224 43.109582) + (xy 35.840363 43.323806) + (xy 35.847214 43.334058) + (xy 35.848387 43.335487) + (xy 35.848389 43.33549) + (xy 36.01633 43.540128) + (xy 36.019643 43.544164) + (xy 36.048389 43.572911) + (xy 36.070723 43.595245) + (xy 36.698889 44.223411) + (xy 36.720149 44.265882) + (xy 36.729625 44.33179) + (xy 36.729626 44.331795) + (xy 36.730392 44.337119) + (xy 36.732627 44.342012) + (xy 36.732628 44.342015) + (xy 36.787382 44.461911) + (xy 36.787383 44.461913) + (xy 36.789618 44.466806) + (xy 36.793138 44.470869) + (xy 36.79314 44.470871) + (xy 36.821239 44.503298) + (xy 36.882982 44.574553) + (xy 36.887504 44.577459) + (xy 36.887505 44.57746) + (xy 36.996947 44.647795) + (xy 37.002919 44.651633) + (xy 37.139715 44.6918) + (xy 37.276904 44.6918) + (xy 37.282285 44.6918) + (xy 37.419081 44.651633) + (xy 37.539018 44.574553) + (xy 37.632382 44.466806) + (xy 37.691608 44.337119) + (xy 37.711898 44.196) + (xy 37.691608 44.054881) + (xy 37.632382 43.925194) + (xy 37.616709 43.907107) + (xy 37.55146 43.831806) + (xy 37.539018 43.817447) + (xy 37.534496 43.814541) + (xy 37.534494 43.814539) + (xy 37.423602 43.743272) + (xy 37.423599 43.74327) + (xy 37.419081 43.740367) + (xy 37.413925 43.738853) + (xy 37.413923 43.738852) + (xy 37.287442 43.701714) + (xy 37.28744 43.701713) + (xy 37.282285 43.7002) + (xy 37.276913 43.7002) + (xy 37.275766 43.700035) + (xy 37.233298 43.678775) + (xy 36.656746 43.102223) + (xy 36.653848 43.099158) + (xy 36.623501 43.0652) + (xy 36.508379 42.936377) + (xy 36.503121 42.929784) + (xy 36.378008 42.753452) + (xy 36.373521 42.746311) + (xy 36.305328 42.622923) + (xy 36.268937 42.557079) + (xy 36.265281 42.549487) + (xy 36.243634 42.497227) + (xy 36.182538 42.349725) + (xy 36.179754 42.341767) + (xy 36.162594 42.282202) + (xy 36.119903 42.134011) + (xy 36.11803 42.125808) + (xy 36.081812 41.912636) + (xy 36.080869 41.904259) + (xy 36.078919 41.869537) + (xy 36.068617 41.686063) + (xy 36.0685 41.681847) + (xy 36.068501 41.629325) + (xy 36.0685 41.629322) + (xy 36.0685 38.824006) + (xy 36.068494 38.823974) + (xy 36.068492 38.82391) + (xy 36.068492 38.788122) + (xy 36.068493 38.731146) + (xy 36.036001 38.484326) + (xy 35.97157 38.243859) + (xy 35.876303 38.013859) + (xy 35.751828 37.798261) + (xy 35.600278 37.600756) + (xy 35.512261 37.512739) + (xy 35.473475 37.473953) + (xy 35.258313 37.25879) + (xy 35.258268 37.258731) + (xy 35.258276 37.258724) + (xy 35.150318 37.150767) + (xy 35.148893 37.149597) + (xy 35.148888 37.149593) + (xy 35.038251 37.058796) + (xy 34.914279 36.957055) + (xy 34.912751 36.956034) + (xy 34.912747 36.956031) + (xy 34.661908 36.788428) + (xy 34.660389 36.787413) + (xy 34.391093 36.643474) + (xy 34.389406 36.642775) + (xy 34.389395 36.64277) + (xy 34.110689 36.527329) + (xy 34.110682 36.527326) + (xy 34.108986 36.526624) + (xy 34.107232 36.526092) + (xy 34.107221 36.526088) + (xy 33.818543 36.438522) + (xy 33.818526 36.438517) + (xy 33.816783 36.437989) + (xy 33.814982 36.43763) + (xy 33.814979 36.43763) + (xy 33.791792 36.433018) + (xy 33.755961 36.414982) + (xy 33.734501 36.381092) + (xy 33.718912 36.329699) + (xy 33.622248 36.148853) + (xy 33.49216 35.99034) + (xy 33.489304 35.987996) + (xy 33.336506 35.862598) + (xy 33.336503 35.862596) + (xy 33.333647 35.860252) + (xy 33.152801 35.763588) + (xy 33.149274 35.762518) + (xy 33.149269 35.762516) + (xy 32.960103 35.705133) + (xy 32.960101 35.705132) + (xy 32.956572 35.704062) + (xy 32.952901 35.7037) + (xy 32.952899 35.7037) + (xy 32.756176 35.684325) + (xy 32.7525 35.683963) + (xy 32.748824 35.684325) + (xy 32.5521 35.7037) + (xy 32.552096 35.7037) + (xy 32.548428 35.704062) + (xy 32.5449 35.705132) + (xy 32.544896 35.705133) + (xy 32.35573 35.762516) + (xy 32.355722 35.762519) + (xy 32.352199 35.763588) + (xy 32.348947 35.765325) + (xy 32.348945 35.765327) + (xy 32.174611 35.85851) + (xy 32.174606 35.858512) + (xy 32.171353 35.860252) + (xy 32.1685 35.862593) + (xy 32.168493 35.862598) + (xy 32.015695 35.987996) + (xy 32.015689 35.988001) + (xy 32.01284 35.99034) + (xy 32.010501 35.993189) + (xy 32.010496 35.993195) + (xy 31.885098 36.145993) + (xy 31.885093 36.146) + (xy 31.882752 36.148853) + (xy 31.881012 36.152106) + (xy 31.88101 36.152111) + (xy 31.787829 36.326442) + (xy 31.786088 36.329699) + (xy 31.785019 36.333222) + (xy 31.785016 36.33323) + (xy 31.727633 36.522396) + (xy 31.726562 36.525928) + (xy 31.7262 36.529596) + (xy 31.7262 36.5296) + (xy 31.706825 36.726324) + (xy 31.706463 36.73) + (xy 31.257673 36.73) + (xy 31.257673 36.726325) + (xy 31.238307 36.529701) + (xy 31.236872 36.522491) + (xy 31.17952 36.333426) + (xy 31.176707 36.326634) + (xy 31.08357 36.152386) + (xy 31.079488 36.146278) + (xy 31.039439 36.097477) + (xy 31.032595 36.092741) + (xy 31.025316 36.096787) + (xy 30.399105 36.722999) + (xy 30.395063 36.729999) + (xy 30.029936 36.729999) + (xy 30.025894 36.722999) + (xy 29.399682 36.096787) + (xy 29.392403 36.092742) + (xy 29.385558 36.097479) + (xy 29.345508 36.146281) + (xy 29.341431 36.152383) + (xy 29.248292 36.326634) + (xy 29.245479 36.333426) + (xy 29.188127 36.522491) + (xy 29.186692 36.529701) + (xy 29.167327 36.726325) + (xy 29.167327 36.733675) + (xy 25 36.733675) + (xy 25 35.909903) + (xy 29.575242 35.909903) + (xy 29.579287 35.917182) + (xy 30.205499 36.543394) + (xy 30.2125 36.547436) + (xy 30.2195 36.543394) + (xy 30.845711 35.917182) + (xy 30.849757 35.909903) + (xy 30.845021 35.903059) + (xy 30.796222 35.863011) + (xy 30.790113 35.858929) + (xy 30.615865 35.765792) + (xy 30.609073 35.762979) + (xy 30.420008 35.705627) + (xy 30.412798 35.704192) + (xy 30.216175 35.684827) + (xy 30.208825 35.684827) + (xy 30.012201 35.704192) + (xy 30.004991 35.705627) + (xy 29.815926 35.762979) + (xy 29.809134 35.765792) + (xy 29.634883 35.858931) + (xy 29.628781 35.863008) + (xy 29.579979 35.903058) + (xy 29.575242 35.909903) + (xy 25 35.909903) + (xy 25 35.010095) + (xy 29.575241 35.010095) + (xy 29.579977 35.016939) + (xy 29.628778 35.056988) + (xy 29.634886 35.06107) + (xy 29.809134 35.154207) + (xy 29.815926 35.15702) + (xy 30.004991 35.214372) + (xy 30.012201 35.215807) + (xy 30.208825 35.235173) + (xy 30.216175 35.235173) + (xy 30.412798 35.215807) + (xy 30.420008 35.214372) + (xy 30.609073 35.15702) + (xy 30.615865 35.154207) + (xy 30.790113 35.06107) + (xy 30.796221 35.056988) + (xy 30.84502 35.016939) + (xy 30.849757 35.010096) + (xy 30.845711 35.002816) + (xy 30.2195 34.376605) + (xy 30.2125 34.372563) + (xy 30.205499 34.376605) + (xy 29.579287 35.002816) + (xy 29.575241 35.010095) + (xy 25 35.010095) + (xy 25 34.193675) + (xy 29.167327 34.193675) + (xy 29.186692 34.390298) + (xy 29.188127 34.397508) + (xy 29.245479 34.586573) + (xy 29.248292 34.593365) + (xy 29.341429 34.767613) + (xy 29.345511 34.773722) + (xy 29.385559 34.822521) + (xy 29.392403 34.827257) + (xy 29.399682 34.823211) + (xy 30.025894 34.197) + (xy 30.029936 34.19) + (xy 30.395063 34.19) + (xy 30.399105 34.197) + (xy 31.025316 34.823211) + (xy 31.032596 34.827257) + (xy 31.039439 34.82252) + (xy 31.079488 34.773721) + (xy 31.08357 34.767613) + (xy 31.176707 34.593365) + (xy 31.17952 34.586573) + (xy 31.236872 34.397508) + (xy 31.238307 34.390298) + (xy 31.257673 34.193675) + (xy 31.257673 34.19) + (xy 31.706463 34.19) + (xy 31.706825 34.193675) + (xy 31.706825 34.193676) + (xy 31.726173 34.390129) + (xy 31.726562 34.394072) + (xy 31.727632 34.397601) + (xy 31.727633 34.397603) + (xy 31.785016 34.586769) + (xy 31.785018 34.586774) + (xy 31.786088 34.590301) + (xy 31.882752 34.771147) + (xy 31.885096 34.774003) + (xy 31.885098 34.774006) + (xy 32.010496 34.926804) + (xy 32.01284 34.92966) + (xy 32.015695 34.932003) + (xy 32.11085 35.010095) + (xy 32.171353 35.059748) + (xy 32.352199 35.156412) + (xy 32.548428 35.215938) + (xy 32.735297 35.234342) + (xy 32.743727 35.235173) + (xy 32.7525 35.236037) + (xy 32.761273 35.235173) + (xy 32.768039 35.234506) + (xy 32.956572 35.215938) + (xy 33.152801 35.156412) + (xy 33.333647 35.059748) + (xy 33.49216 34.92966) + (xy 33.622248 34.771147) + (xy 33.688026 34.648082) + (xy 33.721245 34.616009) + (xy 33.766944 34.609394) + (xy 33.91778 34.635024) + (xy 33.92598 34.636895) + (xy 34.154264 34.702665) + (xy 34.193914 34.714089) + (xy 34.20186 34.716869) + (xy 34.459463 34.823574) + (xy 34.467041 34.827225) + (xy 34.71107 34.962098) + (xy 34.71821 34.966584) + (xy 34.945593 35.127921) + (xy 34.952185 35.133178) + (xy 35.15407 35.313594) + (xy 35.161917 35.320606) + (xy 35.164982 35.323504) + (xy 35.732227 35.890749) + (xy 35.750517 35.90904) + (xy 35.753414 35.912104) + (xy 35.908071 36.08517) + (xy 35.926887 36.106225) + (xy 35.932145 36.112819) + (xy 36.081566 36.323413) + (xy 36.086052 36.330553) + (xy 36.210954 36.556551) + (xy 36.214613 36.564149) + (xy 36.313427 36.802713) + (xy 36.316212 36.810672) + (xy 36.387694 37.058796) + (xy 36.389571 37.067018) + (xy 36.432824 37.321593) + (xy 36.433768 37.329972) + (xy 36.448382 37.590183) + (xy 36.4485 37.5944) + (xy 36.4485 41.529796) + (xy 36.448503 41.529816) + (xy 36.448505 41.529872) + (xy 36.448505 41.602491) + (xy 36.448505 41.608446) + (xy 36.448824 41.610873) + (xy 36.448825 41.61088) + (xy 36.476967 41.824655) + (xy 36.476968 41.824663) + (xy 36.477288 41.827089) + (xy 36.477922 41.829458) + (xy 36.477923 41.829459) + (xy 36.533729 42.037738) + (xy 36.533732 42.037748) + (xy 36.534364 42.040105) + (xy 36.535299 42.042363) + (xy 36.535302 42.042371) + (xy 36.603316 42.206573) + (xy 36.618756 42.243849) + (xy 36.619987 42.245982) + (xy 36.619988 42.245983) + (xy 36.700792 42.38594) + (xy 36.709409 42.418099) + (xy 36.710102 42.418) + (xy 36.729626 42.553797) + (xy 36.729627 42.553802) + (xy 36.730392 42.559119) + (xy 36.732624 42.564008) + (xy 36.732626 42.564012) + (xy 36.787382 42.683911) + (xy 36.787383 42.683913) + (xy 36.789618 42.688806) + (xy 36.882982 42.796553) + (xy 36.887504 42.799459) + (xy 36.887505 42.79946) + (xy 36.994705 42.868354) + (xy 37.002919 42.873633) + (xy 37.139715 42.9138) + (xy 37.276904 42.9138) + (xy 37.282285 42.9138) + (xy 37.419081 42.873633) + (xy 37.539018 42.796553) + (xy 37.632382 42.688806) + (xy 37.691608 42.559119) + (xy 37.711898 42.418) + (xy 37.691608 42.276881) + (xy 37.632382 42.147194) + (xy 37.539018 42.039447) + (xy 37.534496 42.036541) + (xy 37.534494 42.036539) + (xy 37.423604 41.965274) + (xy 37.423605 41.965274) + (xy 37.419081 41.962367) + (xy 37.361152 41.945357) + (xy 37.353432 41.94309) + (xy 37.324367 41.92688) + (xy 37.305145 41.899716) + (xy 37.258755 41.78772) + (xy 37.255117 41.776521) + (xy 37.224203 41.647748) + (xy 37.22236 41.636109) + (xy 37.211732 41.501048) + (xy 37.2115 41.495148) + (xy 37.2115 41.473727) + (xy 37.211501 41.443338) + (xy 37.2115 41.443335) + (xy 37.2115 37.560389) + (xy 37.211489 37.560324) + (xy 37.211484 37.560196) + (xy 37.211484 37.439532) + (xy 37.211484 37.437696) + (xy 37.181236 37.130574) + (xy 37.12103 36.827896) + (xy 37.031448 36.532576) + (xy 36.92636 36.278865) + (xy 36.914054 36.249156) + (xy 36.914053 36.249154) + (xy 36.913351 36.247459) + (xy 36.833185 36.097477) + (xy 36.768747 35.976919) + (xy 36.768744 35.976914) + (xy 36.767876 35.97529) + (xy 36.748092 35.945681) + (xy 36.622906 35.758321) + (xy 36.596426 35.71869) + (xy 36.584528 35.704192) + (xy 36.40182 35.481555) + (xy 36.401814 35.481548) + (xy 36.40065 35.48013) + (xy 36.336553 35.416032) + (xy 36.336554 35.416032) + (xy 36.291547 35.371025) + (xy 36.291542 35.371019) + (xy 36.252761 35.332237) + (xy 36.25276 35.332236) + (xy 36.252757 35.332233) + (xy 36.252755 35.332232) + (xy 36.252744 35.332222) + (xy 35.680587 34.760064) + (xy 35.680586 34.760063) + (xy 35.680409 34.759886) + (xy 35.68034 34.759837) + (xy 35.680218 34.759724) + (xy 35.588568 34.668074) + (xy 35.588567 34.668073) + (xy 35.58726 34.666766) + (xy 35.585841 34.665601) + (xy 35.585835 34.665596) + (xy 35.336187 34.460714) + (xy 35.336177 34.460706) + (xy 35.334758 34.459542) + (xy 35.332411 34.457974) + (xy 35.064708 34.279099) + (xy 35.064707 34.279098) + (xy 35.063162 34.278066) + (xy 34.990351 34.239147) + (xy 34.776717 34.124955) + (xy 34.776711 34.124952) + (xy 34.775085 34.124083) + (xy 34.773385 34.123379) + (xy 34.773377 34.123375) + (xy 34.474999 33.99978) + (xy 34.474989 33.999776) + (xy 34.473303 33.999078) + (xy 34.471551 33.998546) + (xy 34.471544 33.998544) + (xy 34.162476 33.904786) + (xy 34.162474 33.904785) + (xy 34.160722 33.904254) + (xy 34.158925 33.903896) + (xy 34.158923 33.903896) + (xy 33.842163 33.840885) + (xy 33.842158 33.840884) + (xy 33.840352 33.840525) + (xy 33.838518 33.840344) + (xy 33.838516 33.840344) + (xy 33.78014 33.834593) + (xy 33.742714 33.820155) + (xy 33.718937 33.789685) + (xy 33.718912 33.789699) + (xy 33.718833 33.789551) + (xy 33.718832 33.78955) + (xy 33.622248 33.608853) + (xy 33.548673 33.519202) + (xy 33.494503 33.453195) + (xy 33.49216 33.45034) + (xy 33.435021 33.403447) + (xy 33.336506 33.322598) + (xy 33.336503 33.322596) + (xy 33.333647 33.320252) + (xy 33.152801 33.223588) + (xy 33.149274 33.222518) + (xy 33.149269 33.222516) + (xy 32.960103 33.165133) + (xy 32.960101 33.165132) + (xy 32.956572 33.164062) + (xy 32.952901 33.1637) + (xy 32.952899 33.1637) + (xy 32.756176 33.144325) + (xy 32.7525 33.143963) + (xy 32.748824 33.144325) + (xy 32.5521 33.1637) + (xy 32.552096 33.1637) + (xy 32.548428 33.164062) + (xy 32.5449 33.165132) + (xy 32.544896 33.165133) + (xy 32.35573 33.222516) + (xy 32.355722 33.222519) + (xy 32.352199 33.223588) + (xy 32.348947 33.225325) + (xy 32.348945 33.225327) + (xy 32.174611 33.31851) + (xy 32.174606 33.318512) + (xy 32.171353 33.320252) + (xy 32.1685 33.322593) + (xy 32.168493 33.322598) + (xy 32.015695 33.447996) + (xy 32.015689 33.448001) + (xy 32.01284 33.45034) + (xy 32.010501 33.453189) + (xy 32.010496 33.453195) + (xy 31.885098 33.605993) + (xy 31.885093 33.606) + (xy 31.882752 33.608853) + (xy 31.881012 33.612106) + (xy 31.88101 33.612111) + (xy 31.793047 33.776679) + (xy 31.786088 33.789699) + (xy 31.785019 33.793222) + (xy 31.785016 33.79323) + (xy 31.727991 33.981216) + (xy 31.726562 33.985928) + (xy 31.7262 33.989596) + (xy 31.7262 33.9896) + (xy 31.706825 34.186324) + (xy 31.706463 34.19) + (xy 31.257673 34.19) + (xy 31.257673 34.186325) + (xy 31.238307 33.989701) + (xy 31.236872 33.982491) + (xy 31.17952 33.793426) + (xy 31.176707 33.786634) + (xy 31.08357 33.612386) + (xy 31.079488 33.606278) + (xy 31.039439 33.557477) + (xy 31.032595 33.552741) + (xy 31.025316 33.556787) + (xy 30.399105 34.182999) + (xy 30.395063 34.19) + (xy 30.029936 34.19) + (xy 30.025894 34.182999) + (xy 29.399682 33.556787) + (xy 29.392403 33.552742) + (xy 29.385558 33.557479) + (xy 29.345508 33.606281) + (xy 29.341431 33.612383) + (xy 29.248292 33.786634) + (xy 29.245479 33.793426) + (xy 29.188127 33.982491) + (xy 29.186692 33.989701) + (xy 29.167327 34.186325) + (xy 29.167327 34.193675) + (xy 25 34.193675) + (xy 25 33.369903) + (xy 29.575242 33.369903) + (xy 29.579287 33.377182) + (xy 30.205499 34.003394) + (xy 30.2125 34.007436) + (xy 30.2195 34.003394) + (xy 30.845711 33.377182) + (xy 30.849757 33.369903) + (xy 30.845021 33.363059) + (xy 30.796222 33.323011) + (xy 30.790113 33.318929) + (xy 30.615865 33.225792) + (xy 30.609073 33.222979) + (xy 30.420008 33.165627) + (xy 30.412798 33.164192) + (xy 30.216175 33.144827) + (xy 30.208825 33.144827) + (xy 30.012201 33.164192) + (xy 30.004991 33.165627) + (xy 29.815926 33.222979) + (xy 29.809134 33.225792) + (xy 29.634883 33.318931) + (xy 29.628781 33.323008) + (xy 29.579979 33.363058) + (xy 29.575242 33.369903) + (xy 25 33.369903) + (xy 25 31.242) + (xy 60.586102 31.242) + (xy 60.586867 31.247321) + (xy 60.605626 31.377797) + (xy 60.605627 31.377802) + (xy 60.606392 31.383119) + (xy 60.608624 31.388008) + (xy 60.608626 31.388012) + (xy 60.663382 31.507911) + (xy 60.663383 31.507913) + (xy 60.665618 31.512806) + (xy 60.669138 31.516869) + (xy 60.66914 31.516871) + (xy 60.750632 31.610917) + (xy 60.764259 31.633883) + (xy 60.769 31.660163) + (xy 60.769 32.62183) + (xy 60.768714 32.628384) + (xy 60.766764 32.650678) + (xy 60.765323 32.667143) + (xy 60.767024 32.673493) + (xy 60.767025 32.673498) + (xy 60.775394 32.704731) + (xy 60.776813 32.711133) + (xy 60.782425 32.742961) + (xy 60.782426 32.742963) + (xy 60.783568 32.74944) + (xy 60.786856 32.755136) + (xy 60.789107 32.761319) + (xy 60.789098 32.761321) + (xy 60.789857 32.763153) + (xy 60.789865 32.76315) + (xy 60.792644 32.769111) + (xy 60.794348 32.775466) + (xy 60.798121 32.780854) + (xy 60.816662 32.807335) + (xy 60.820185 32.812866) + (xy 60.836348 32.840861) + (xy 60.836353 32.840867) + (xy 60.83964 32.84656) + (xy 60.844678 32.850787) + (xy 60.869448 32.871572) + (xy 60.874284 32.876004) + (xy 61.865995 33.867715) + (xy 61.870427 33.872551) + (xy 61.88888 33.894543) + (xy 61.89544 33.90236) + (xy 61.929134 33.921813) + (xy 61.934658 33.925332) + (xy 61.941443 33.930083) + (xy 61.958871 33.942287) + (xy 61.966534 33.947652) + (xy 61.972886 33.949353) + (xy 61.978852 33.952136) + (xy 61.978848 33.952144) + (xy 61.980678 33.952902) + (xy 61.980682 33.952893) + (xy 61.986861 33.955142) + (xy 61.99256 33.958432) + (xy 62.030882 33.965188) + (xy 62.037275 33.966606) + (xy 62.074857 33.976677) + (xy 62.113616 33.973285) + (xy 62.12017 33.973) + (xy 63.339169 33.973) + (xy 63.370408 33.979795) + (xy 63.396001 33.998954) + (xy 63.403351 34.007436) + (xy 63.425982 34.033553) + (xy 63.430504 34.036459) + (xy 63.430505 34.03646) + (xy 63.539947 34.106795) + (xy 63.545919 34.110633) + (xy 63.682715 34.1508) + (xy 63.819904 34.1508) + (xy 63.825285 34.1508) + (xy 63.962081 34.110633) + (xy 64.082018 34.033553) + (xy 64.175382 33.925806) + (xy 64.234608 33.796119) + (xy 64.254898 33.655) + (xy 64.248771 33.612383) + (xy 64.247235 33.601702) + (xy 64.253266 33.559761) + (xy 64.281014 33.527738) + (xy 64.32167 33.5158) + (xy 64.454904 33.5158) + (xy 64.460285 33.5158) + (xy 64.597081 33.475633) + (xy 64.717018 33.398553) + (xy 64.810382 33.290806) + (xy 64.869608 33.161119) + (xy 64.889898 33.02) + (xy 64.869608 32.878881) + (xy 64.810382 32.749194) + (xy 64.717018 32.641447) + (xy 64.712496 32.638541) + (xy 64.712494 32.638539) + (xy 64.601602 32.567272) + (xy 64.601599 32.56727) + (xy 64.597081 32.564367) + (xy 64.591925 32.562853) + (xy 64.591923 32.562852) + (xy 64.465447 32.525715) + (xy 64.465442 32.525714) + (xy 64.460285 32.5242) + (xy 64.317715 32.5242) + (xy 64.312558 32.525714) + (xy 64.312552 32.525715) + (xy 64.186076 32.562852) + (xy 64.186071 32.562854) + (xy 64.180919 32.564367) + (xy 64.176403 32.567269) + (xy 64.176397 32.567272) + (xy 64.065505 32.638539) + (xy 64.065499 32.638543) + (xy 64.060982 32.641447) + (xy 64.057461 32.645509) + (xy 64.05746 32.645511) + (xy 64.031001 32.676046) + (xy 64.005408 32.695205) + (xy 63.974169 32.702) + (xy 63.154868 32.702) + (xy 63.12609 32.696276) + (xy 63.101694 32.679974) + (xy 62.697026 32.275306) + (xy 62.680724 32.25091) + (xy 62.675 32.222132) + (xy 62.675 31.660163) + (xy 62.679741 31.633883) + (xy 62.693368 31.610917) + (xy 62.719409 31.580863) + (xy 62.778382 31.512806) + (xy 62.837608 31.383119) + (xy 62.857898 31.242) + (xy 62.837608 31.100881) + (xy 62.778382 30.971194) + (xy 62.685018 30.863447) + (xy 62.680496 30.860541) + (xy 62.680494 30.860539) + (xy 62.569602 30.789272) + (xy 62.569599 30.78927) + (xy 62.565081 30.786367) + (xy 62.559925 30.784853) + (xy 62.559923 30.784852) + (xy 62.433447 30.747715) + (xy 62.433442 30.747714) + (xy 62.428285 30.7462) + (xy 62.285715 30.7462) + (xy 62.280558 30.747714) + (xy 62.280552 30.747715) + (xy 62.154076 30.784852) + (xy 62.154071 30.784854) + (xy 62.148919 30.786367) + (xy 62.144403 30.789269) + (xy 62.144397 30.789272) + (xy 62.033505 30.860539) + (xy 62.033499 30.860543) + (xy 62.028982 30.863447) + (xy 62.025461 30.867509) + (xy 62.02546 30.867511) + (xy 61.93914 30.967128) + (xy 61.939136 30.967133) + (xy 61.935618 30.971194) + (xy 61.933385 30.976082) + (xy 61.933382 30.976088) + (xy 61.878626 31.095987) + (xy 61.878624 31.095993) + (xy 61.876392 31.100881) + (xy 61.875627 31.106195) + (xy 61.875626 31.106202) + (xy 61.856867 31.236679) + (xy 61.856102 31.242) + (xy 61.856867 31.247321) + (xy 61.875626 31.377797) + (xy 61.875627 31.377802) + (xy 61.876392 31.383119) + (xy 61.878624 31.388008) + (xy 61.878626 31.388012) + (xy 61.933382 31.507911) + (xy 61.933383 31.507913) + (xy 61.935618 31.512806) + (xy 61.939138 31.516869) + (xy 61.93914 31.516871) + (xy 62.020632 31.610917) + (xy 62.034259 31.633883) + (xy 62.039 31.660163) + (xy 62.039 32.36783) + (xy 62.038714 32.374383) + (xy 62.035323 32.413143) + (xy 62.037024 32.419493) + (xy 62.037025 32.419498) + (xy 62.045394 32.450731) + (xy 62.046813 32.457133) + (xy 62.052425 32.488961) + (xy 62.052426 32.488963) + (xy 62.053568 32.49544) + (xy 62.056856 32.501136) + (xy 62.059107 32.507319) + (xy 62.059098 32.507321) + (xy 62.059857 32.509153) + (xy 62.059865 32.50915) + (xy 62.062644 32.515111) + (xy 62.064348 32.521466) + (xy 62.082818 32.547844) + (xy 62.086662 32.553335) + (xy 62.090185 32.558866) + (xy 62.106348 32.586861) + (xy 62.106353 32.586867) + (xy 62.10964 32.59256) + (xy 62.123419 32.604122) + (xy 62.139448 32.617572) + (xy 62.144284 32.622004) + (xy 62.730906 33.208626) + (xy 62.751487 33.247129) + (xy 62.747208 33.290578) + (xy 62.719511 33.324327) + (xy 62.677732 33.337) + (xy 62.265868 33.337) + (xy 62.23709 33.331276) + (xy 62.212694 33.314974) + (xy 61.427026 32.529306) + (xy 61.410724 32.50491) + (xy 61.405 32.476132) + (xy 61.405 31.660163) + (xy 61.409741 31.633883) + (xy 61.423368 31.610917) + (xy 61.449409 31.580863) + (xy 61.508382 31.512806) + (xy 61.567608 31.383119) + (xy 61.587898 31.242) + (xy 61.567608 31.100881) + (xy 61.508382 30.971194) + (xy 61.415018 30.863447) + (xy 61.410496 30.860541) + (xy 61.410494 30.860539) + (xy 61.299602 30.789272) + (xy 61.299599 30.78927) + (xy 61.295081 30.786367) + (xy 61.289925 30.784853) + (xy 61.289923 30.784852) + (xy 61.163447 30.747715) + (xy 61.163442 30.747714) + (xy 61.158285 30.7462) + (xy 61.015715 30.7462) + (xy 61.010558 30.747714) + (xy 61.010552 30.747715) + (xy 60.884076 30.784852) + (xy 60.884071 30.784854) + (xy 60.878919 30.786367) + (xy 60.874403 30.789269) + (xy 60.874397 30.789272) + (xy 60.763505 30.860539) + (xy 60.763499 30.860543) + (xy 60.758982 30.863447) + (xy 60.755461 30.867509) + (xy 60.75546 30.867511) + (xy 60.66914 30.967128) + (xy 60.669136 30.967133) + (xy 60.665618 30.971194) + (xy 60.663385 30.976082) + (xy 60.663382 30.976088) + (xy 60.608626 31.095987) + (xy 60.608624 31.095993) + (xy 60.606392 31.100881) + (xy 60.605627 31.106195) + (xy 60.605626 31.106202) + (xy 60.586867 31.236679) + (xy 60.586102 31.242) + (xy 25 31.242) + (xy 25 28.0752) + (xy 25.010075 28.0376) + (xy 25.0376 28.010075) + (xy 25.0752 28) + (xy 29.992595 28) + (xy 30 28) + (xy 30.837509 27.162491) + (xy 65.9895 27.162491) + (xy 65.989773 27.167016) + (xy 66.004093 27.284949) + (xy 66.006253 27.293712) + (xy 66.062488 27.441992) + (xy 66.066687 27.449993) + (xy 66.156773 27.580505) + (xy 66.162762 27.587265) + (xy 66.281468 27.692429) + (xy 66.288897 27.697557) + (xy 66.429319 27.771256) + (xy 66.43776 27.774457) + (xy 66.541886 27.800122) + (xy 66.550448 27.799604) + (xy 66.553 27.791416) + (xy 66.807 27.791416) + (xy 66.809551 27.799604) + (xy 66.818113 27.800122) + (xy 66.922239 27.774457) + (xy 66.93068 27.771256) + (xy 67.071102 27.697557) + (xy 67.078531 27.692429) + (xy 67.197237 27.587265) + (xy 67.203226 27.580505) + (xy 67.293312 27.449993) + (xy 67.297511 27.441992) + (xy 67.353746 27.293712) + (xy 67.355906 27.284949) + (xy 67.370226 27.167016) + (xy 67.3705 27.162491) + (xy 67.3705 26.709902) + (xy 67.368407 26.702092) + (xy 67.360598 26.7) + (xy 66.816902 26.7) + (xy 66.809092 26.702092) + (xy 66.807 26.709902) + (xy 66.807 27.791416) + (xy 66.553 27.791416) + (xy 66.553 26.709902) + (xy 66.550907 26.702092) + (xy 66.543098 26.7) + (xy 65.999402 26.7) + (xy 65.991592 26.702092) + (xy 65.9895 26.709902) + (xy 65.9895 27.162491) + (xy 30.837509 27.162491) + (xy 31.563902 26.436098) + (xy 65.9895 26.436098) + (xy 65.991592 26.443907) + (xy 65.999402 26.446) + (xy 66.543098 26.446) + (xy 66.550907 26.443907) + (xy 66.553 26.436098) + (xy 66.807 26.436098) + (xy 66.809092 26.443907) + (xy 66.816902 26.446) + (xy 67.360598 26.446) + (xy 67.368407 26.443907) + (xy 67.3705 26.436098) + (xy 67.3705 26.043) + (xy 67.529534 26.043) + (xy 67.549313 26.193236) + (xy 67.551197 26.197784) + (xy 67.605417 26.328684) + (xy 67.605419 26.328688) + (xy 67.607302 26.333233) + (xy 67.6103 26.33714) + (xy 67.686233 26.436098) + (xy 67.699549 26.453451) + (xy 67.819767 26.545698) + (xy 67.959764 26.603687) + (xy 68.07228 26.6185) + (xy 68.145263 26.6185) + (xy 68.14772 26.6185) + (xy 68.260236 26.603687) + (xy 68.400233 26.545698) + (xy 68.520451 26.453451) + (xy 68.612698 26.333233) + (xy 68.670687 26.193236) + (xy 68.690466 26.043) + (xy 68.670687 25.892764) + (xy 68.612698 25.752767) + (xy 68.536911 25.654) + (xy 70.492102 25.654) + (xy 70.492867 25.659321) + (xy 70.511626 25.789797) + (xy 70.511627 25.789802) + (xy 70.512392 25.795119) + (xy 70.514624 25.800008) + (xy 70.514626 25.800012) + (xy 70.569382 25.919911) + (xy 70.569383 25.919913) + (xy 70.571618 25.924806) + (xy 70.575138 25.928869) + (xy 70.57514 25.928871) + (xy 70.656632 26.022917) + (xy 70.670259 26.045883) + (xy 70.675 26.072163) + (xy 70.675 26.65283) + (xy 70.674714 26.659384) + (xy 70.672764 26.681678) + (xy 70.671323 26.698143) + (xy 70.673024 26.704493) + (xy 70.673025 26.704498) + (xy 70.681394 26.735731) + (xy 70.682813 26.742133) + (xy 70.688425 26.773961) + (xy 70.688426 26.773963) + (xy 70.689568 26.78044) + (xy 70.692856 26.786136) + (xy 70.695107 26.792319) + (xy 70.695098 26.792321) + (xy 70.695857 26.794153) + (xy 70.695865 26.79415) + (xy 70.698644 26.800111) + (xy 70.700348 26.806466) + (xy 70.718818 26.832844) + (xy 70.722662 26.838335) + (xy 70.726185 26.843866) + (xy 70.742348 26.871861) + (xy 70.742353 26.871867) + (xy 70.74564 26.87756) + (xy 70.750678 26.881787) + (xy 70.775448 26.902572) + (xy 70.780284 26.907004) + (xy 71.009995 27.136715) + (xy 71.014427 27.141551) + (xy 71.03944 27.17136) + (xy 71.073134 27.190813) + (xy 71.07866 27.194334) + (xy 71.099285 27.208776) + (xy 71.110534 27.216652) + (xy 71.116886 27.218353) + (xy 71.122852 27.221136) + (xy 71.122848 27.221144) + (xy 71.124678 27.221902) + (xy 71.124682 27.221893) + (xy 71.130861 27.224142) + (xy 71.13656 27.227432) + (xy 71.174882 27.234188) + (xy 71.181275 27.235606) + (xy 71.218857 27.245677) + (xy 71.257616 27.242285) + (xy 71.26417 27.242) + (xy 71.31373 27.242) + (xy 71.355509 27.254674) + (xy 71.383206 27.288422) + (xy 71.387485 27.331871) + (xy 71.366904 27.370375) + (xy 71.288282 27.448996) + (xy 71.283448 27.453426) + (xy 71.258678 27.474211) + (xy 71.258673 27.474215) + (xy 71.25364 27.47844) + (xy 71.250355 27.484129) + (xy 71.250352 27.484133) + (xy 71.234189 27.512128) + (xy 71.230667 27.517655) + (xy 71.212122 27.544142) + (xy 71.212119 27.544147) + (xy 71.208348 27.549534) + (xy 71.206644 27.555888) + (xy 71.203867 27.561846) + (xy 71.20386 27.561842) + (xy 71.203099 27.563678) + (xy 71.203106 27.563681) + (xy 71.200854 27.569866) + (xy 71.197568 27.57556) + (xy 71.196426 27.582032) + (xy 71.196425 27.582037) + (xy 71.190813 27.613865) + (xy 71.189394 27.620266) + (xy 71.181025 27.651499) + (xy 71.181024 27.651507) + (xy 71.179323 27.657857) + (xy 71.179896 27.664408) + (xy 71.179896 27.66441) + (xy 71.182714 27.696616) + (xy 71.183 27.70317) + (xy 71.183 28.918837) + (xy 71.178259 28.945117) + (xy 71.164632 28.968083) + (xy 71.08314 29.062128) + (xy 71.083136 29.062133) + (xy 71.079618 29.066194) + (xy 71.077385 29.071082) + (xy 71.077382 29.071088) + (xy 71.022626 29.190987) + (xy 71.022624 29.190993) + (xy 71.020392 29.195881) + (xy 71.019627 29.201195) + (xy 71.019626 29.201202) + (xy 71.000867 29.331679) + (xy 71.000102 29.337) + (xy 71.000867 29.342321) + (xy 71.019626 29.472797) + (xy 71.019627 29.472802) + (xy 71.020392 29.478119) + (xy 71.022624 29.483008) + (xy 71.022626 29.483012) + (xy 71.077382 29.602911) + (xy 71.077383 29.602912) + (xy 71.079618 29.607806) + (xy 71.172982 29.715553) + (xy 71.177504 29.718459) + (xy 71.177505 29.71846) + (xy 71.288397 29.789727) + (xy 71.292919 29.792633) + (xy 71.429715 29.8328) + (xy 71.566904 29.8328) + (xy 71.572285 29.8328) + (xy 71.709081 29.792633) + (xy 71.829018 29.715553) + (xy 71.922382 29.607806) + (xy 71.928396 29.594636) + (xy 71.963139 29.55863) + (xy 72.012785 29.552395) + (xy 72.055354 29.57869) + (xy 72.072 29.625876) + (xy 72.072 30.20883) + (xy 72.071714 30.215384) + (xy 72.07032 30.231321) + (xy 72.068323 30.254143) + (xy 72.070024 30.260493) + (xy 72.070025 30.260498) + (xy 72.078394 30.291731) + (xy 72.079813 30.298133) + (xy 72.085425 30.329961) + (xy 72.085426 30.329963) + (xy 72.086568 30.33644) + (xy 72.089856 30.342136) + (xy 72.092107 30.348319) + (xy 72.092098 30.348321) + (xy 72.092857 30.350153) + (xy 72.092865 30.35015) + (xy 72.095644 30.356111) + (xy 72.097348 30.362466) + (xy 72.101121 30.367854) + (xy 72.119662 30.394335) + (xy 72.123185 30.399866) + (xy 72.139348 30.427861) + (xy 72.139353 30.427867) + (xy 72.14264 30.43356) + (xy 72.147678 30.437787) + (xy 72.172448 30.458572) + (xy 72.177284 30.463004) + (xy 73.295995 31.581715) + (xy 73.300427 31.586551) + (xy 73.320872 31.610917) + (xy 73.32544 31.61636) + (xy 73.359134 31.635813) + (xy 73.364658 31.639332) + (xy 73.396534 31.661652) + (xy 73.402886 31.663353) + (xy 73.408852 31.666136) + (xy 73.408848 31.666144) + (xy 73.410678 31.666902) + (xy 73.410682 31.666893) + (xy 73.416861 31.669142) + (xy 73.42256 31.672432) + (xy 73.460882 31.679188) + (xy 73.467275 31.680606) + (xy 73.504857 31.690677) + (xy 73.543616 31.687285) + (xy 73.55017 31.687) + (xy 76.18283 31.687) + (xy 76.189383 31.687285) + (xy 76.228143 31.690677) + (xy 76.265728 31.680605) + (xy 76.272121 31.679187) + (xy 76.31044 31.672432) + (xy 76.31614 31.66914) + (xy 76.322321 31.666891) + (xy 76.322324 31.666901) + (xy 76.324151 31.666145) + (xy 76.324147 31.666136) + (xy 76.33011 31.663354) + (xy 76.336466 31.661652) + (xy 76.36836 31.639319) + (xy 76.373853 31.63582) + (xy 76.40756 31.61636) + (xy 76.432583 31.586537) + (xy 76.436994 31.581724) + (xy 77.706693 30.312026) + (xy 77.73109 30.295724) + (xy 77.759868 30.29) + (xy 79.961142 30.29) + (xy 79.9956 30.298359) + (xy 80.022397 30.321579) + (xy 80.035576 30.354496) + (xy 80.036625 30.361791) + (xy 80.036626 30.361797) + (xy 80.037392 30.367119) + (xy 80.039624 30.372008) + (xy 80.039626 30.372012) + (xy 80.094382 30.491911) + (xy 80.094383 30.491913) + (xy 80.096618 30.496806) + (xy 80.189982 30.604553) + (xy 80.309919 30.681633) + (xy 80.446715 30.7218) + (xy 80.583904 30.7218) + (xy 80.589285 30.7218) + (xy 80.726081 30.681633) + (xy 80.846018 30.604553) + (xy 80.939382 30.496806) + (xy 80.998608 30.367119) + (xy 81.018898 30.226) + (xy 80.998608 30.084881) + (xy 80.939382 29.955194) + (xy 80.846018 29.847447) + (xy 80.841493 29.844539) + (xy 80.841491 29.844537) + (xy 80.743034 29.781262) + (xy 80.712626 29.742595) + (xy 80.712626 29.693405) + (xy 80.743034 29.654738) + (xy 80.81606 29.607806) + (xy 80.846018 29.588553) + (xy 80.939382 29.480806) + (xy 80.998608 29.351119) + (xy 81.018898 29.21) + (xy 80.998608 29.068881) + (xy 80.939382 28.939194) + (xy 80.921742 28.918837) + (xy 80.895665 28.888742) + (xy 80.846018 28.831447) + (xy 80.841496 28.828541) + (xy 80.841494 28.828539) + (xy 80.730602 28.757272) + (xy 80.730599 28.75727) + (xy 80.726081 28.754367) + (xy 80.720925 28.752853) + (xy 80.720923 28.752852) + (xy 80.594447 28.715715) + (xy 80.594442 28.715714) + (xy 80.589285 28.7142) + (xy 80.446715 28.7142) + (xy 80.441558 28.715714) + (xy 80.441552 28.715715) + (xy 80.315076 28.752852) + (xy 80.315071 28.752854) + (xy 80.309919 28.754367) + (xy 80.305403 28.757269) + (xy 80.305397 28.757272) + (xy 80.194505 28.828539) + (xy 80.194499 28.828543) + (xy 80.189982 28.831447) + (xy 80.186461 28.835509) + (xy 80.18646 28.835511) + (xy 80.10014 28.935128) + (xy 80.100136 28.935133) + (xy 80.096618 28.939194) + (xy 80.094385 28.944082) + (xy 80.094382 28.944088) + (xy 80.039626 29.063987) + (xy 80.039624 29.063993) + (xy 80.037392 29.068881) + (xy 80.036627 29.0742) + (xy 80.036625 29.074208) + (xy 80.035576 29.081504) + (xy 80.022397 29.114421) + (xy 79.9956 29.137641) + (xy 79.961142 29.146) + (xy 77.42367 29.146) + (xy 77.417116 29.145714) + (xy 77.38491 29.142896) + (xy 77.384908 29.142896) + (xy 77.378357 29.142323) + (xy 77.372007 29.144024) + (xy 77.372 29.144025) + (xy 77.340771 29.152393) + (xy 77.33437 29.153812) + (xy 77.302538 29.159425) + (xy 77.302534 29.159426) + (xy 77.29606 29.160568) + (xy 77.290364 29.163856) + (xy 77.28418 29.166107) + (xy 77.284177 29.1661) + (xy 77.282345 29.166858) + (xy 77.282349 29.166866) + (xy 77.276384 29.169646) + (xy 77.270034 29.171349) + (xy 77.264649 29.175118) + (xy 77.264643 29.175122) + (xy 77.238155 29.193668) + (xy 77.232627 29.197189) + (xy 77.19894 29.21664) + (xy 77.194715 29.221674) + (xy 77.19471 29.221679) + (xy 77.173921 29.246454) + (xy 77.16949 29.251288) + (xy 75.899806 30.520974) + (xy 75.87541 30.537276) + (xy 75.846632 30.543) + (xy 73.949868 30.543) + (xy 73.92109 30.537276) + (xy 73.896694 30.520974) + (xy 73.238026 29.862306) + (xy 73.221724 29.83791) + (xy 73.216 29.809132) + (xy 73.216 27.576174) + (xy 73.216286 27.569621) + (xy 73.218043 27.549534) + (xy 73.219677 27.530857) + (xy 73.209606 27.493275) + (xy 73.208187 27.486875) + (xy 73.2067 27.47844) + (xy 73.201432 27.44856) + (xy 73.198142 27.442861) + (xy 73.195893 27.436682) + (xy 73.195902 27.436678) + (xy 73.195144 27.434848) + (xy 73.195136 27.434852) + (xy 73.192353 27.428886) + (xy 73.190652 27.422534) + (xy 73.168332 27.390658) + (xy 73.164809 27.385127) + (xy 73.162994 27.381984) + (xy 73.14536 27.35144) + (xy 73.115551 27.326427) + (xy 73.110715 27.321995) + (xy 72.951211 27.162491) + (xy 74.6295 27.162491) + (xy 74.629773 27.167016) + (xy 74.644093 27.284949) + (xy 74.646253 27.293712) + (xy 74.702488 27.441992) + (xy 74.706687 27.449993) + (xy 74.796773 27.580505) + (xy 74.802762 27.587265) + (xy 74.921468 27.692429) + (xy 74.928897 27.697557) + (xy 75.069319 27.771256) + (xy 75.07776 27.774457) + (xy 75.181886 27.800122) + (xy 75.190448 27.799604) + (xy 75.193 27.791416) + (xy 75.447 27.791416) + (xy 75.449551 27.799604) + (xy 75.458113 27.800122) + (xy 75.562239 27.774457) + (xy 75.57068 27.771256) + (xy 75.711102 27.697557) + (xy 75.718531 27.692429) + (xy 75.837237 27.587265) + (xy 75.843226 27.580505) + (xy 75.933312 27.449993) + (xy 75.937511 27.441992) + (xy 75.993746 27.293712) + (xy 75.995906 27.284949) + (xy 76.010226 27.167016) + (xy 76.0105 27.162491) + (xy 76.0105 26.709902) + (xy 76.008407 26.702092) + (xy 76.000598 26.7) + (xy 75.456902 26.7) + (xy 75.449092 26.702092) + (xy 75.447 26.709902) + (xy 75.447 27.791416) + (xy 75.193 27.791416) + (xy 75.193 26.709902) + (xy 75.190907 26.702092) + (xy 75.183098 26.7) + (xy 74.639402 26.7) + (xy 74.631592 26.702092) + (xy 74.6295 26.709902) + (xy 74.6295 27.162491) + (xy 72.951211 27.162491) + (xy 72.500004 26.711284) + (xy 72.495572 26.706448) + (xy 72.483104 26.691589) + (xy 72.47056 26.67664) + (xy 72.464867 26.673353) + (xy 72.464861 26.673348) + (xy 72.436866 26.657185) + (xy 72.431335 26.653662) + (xy 72.425844 26.649818) + (xy 72.399466 26.631348) + (xy 72.393111 26.629644) + (xy 72.38715 26.626865) + (xy 72.387153 26.626857) + (xy 72.385321 26.626098) + (xy 72.385319 26.626107) + (xy 72.379136 26.623856) + (xy 72.37344 26.620568) + (xy 72.366963 26.619426) + (xy 72.366961 26.619425) + (xy 72.335133 26.613813) + (xy 72.328731 26.612394) + (xy 72.297498 26.604025) + (xy 72.297493 26.604024) + (xy 72.291143 26.602323) + (xy 72.284591 26.602896) + (xy 72.284589 26.602896) + (xy 72.252384 26.605714) + (xy 72.24583 26.606) + (xy 71.409868 26.606) + (xy 71.38109 26.600276) + (xy 71.356694 26.583974) + (xy 71.333026 26.560306) + (xy 71.316724 26.53591) + (xy 71.311 26.507132) + (xy 71.311 26.072163) + (xy 71.315741 26.045883) + (xy 71.317452 26.043) + (xy 73.309534 26.043) + (xy 73.329313 26.193236) + (xy 73.331197 26.197784) + (xy 73.385417 26.328684) + (xy 73.385419 26.328688) + (xy 73.387302 26.333233) + (xy 73.3903 26.33714) + (xy 73.466233 26.436098) + (xy 73.479549 26.453451) + (xy 73.599767 26.545698) + (xy 73.739764 26.603687) + (xy 73.85228 26.6185) + (xy 73.925263 26.6185) + (xy 73.92772 26.6185) + (xy 74.040236 26.603687) + (xy 74.180233 26.545698) + (xy 74.300451 26.453451) + (xy 74.313766 26.436098) + (xy 74.6295 26.436098) + (xy 74.631592 26.443907) + (xy 74.639402 26.446) + (xy 75.183098 26.446) + (xy 75.190907 26.443907) + (xy 75.193 26.436098) + (xy 75.447 26.436098) + (xy 75.449092 26.443907) + (xy 75.456902 26.446) + (xy 76.000598 26.446) + (xy 76.008407 26.443907) + (xy 76.0105 26.436098) + (xy 76.0105 25.983509) + (xy 76.010226 25.978983) + (xy 75.995906 25.86105) + (xy 75.993746 25.852287) + (xy 75.937511 25.704007) + (xy 75.933312 25.696006) + (xy 75.843226 25.565494) + (xy 75.837237 25.558734) + (xy 75.718531 25.45357) + (xy 75.711102 25.448442) + (xy 75.57068 25.374743) + (xy 75.562239 25.371542) + (xy 75.458113 25.345877) + (xy 75.449551 25.346395) + (xy 75.447 25.354584) + (xy 75.447 26.436098) + (xy 75.193 26.436098) + (xy 75.193 25.354584) + (xy 75.190448 25.346395) + (xy 75.181886 25.345877) + (xy 75.07776 25.371542) + (xy 75.069319 25.374743) + (xy 74.928897 25.448442) + (xy 74.921468 25.45357) + (xy 74.802762 25.558734) + (xy 74.796773 25.565494) + (xy 74.706687 25.696006) + (xy 74.702488 25.704007) + (xy 74.646253 25.852287) + (xy 74.644093 25.86105) + (xy 74.629773 25.978983) + (xy 74.6295 25.983509) + (xy 74.6295 26.436098) + (xy 74.313766 26.436098) + (xy 74.392698 26.333233) + (xy 74.450687 26.193236) + (xy 74.470466 26.043) + (xy 74.450687 25.892764) + (xy 74.392698 25.752767) + (xy 74.300451 25.632549) + (xy 74.180233 25.540302) + (xy 74.175688 25.538419) + (xy 74.175684 25.538417) + (xy 74.044784 25.484197) + (xy 74.040236 25.482313) + (xy 74.035357 25.48167) + (xy 74.035355 25.48167) + (xy 73.930153 25.46782) + (xy 73.930148 25.467819) + (xy 73.92772 25.4675) + (xy 73.85228 25.4675) + (xy 73.849852 25.467819) + (xy 73.849846 25.46782) + (xy 73.744644 25.48167) + (xy 73.74464 25.481671) + (xy 73.739764 25.482313) + (xy 73.735216 25.484196) + (xy 73.735215 25.484197) + (xy 73.604315 25.538417) + (xy 73.604307 25.538421) + (xy 73.599767 25.540302) + (xy 73.595862 25.543297) + (xy 73.595859 25.5433) + (xy 73.483455 25.629551) + (xy 73.483451 25.629554) + (xy 73.479549 25.632549) + (xy 73.476554 25.636451) + (xy 73.476551 25.636455) + (xy 73.3903 25.748859) + (xy 73.390297 25.748862) + (xy 73.387302 25.752767) + (xy 73.385421 25.757307) + (xy 73.385417 25.757315) + (xy 73.367732 25.800012) + (xy 73.329313 25.892764) + (xy 73.328671 25.89764) + (xy 73.32867 25.897644) + (xy 73.324559 25.928871) + (xy 73.309534 26.043) + (xy 71.317452 26.043) + (xy 71.329368 26.022917) + (xy 71.367437 25.978983) + (xy 71.414382 25.924806) + (xy 71.473608 25.795119) + (xy 71.493898 25.654) + (xy 71.473608 25.512881) + (xy 71.414382 25.383194) + (xy 71.404285 25.371542) + (xy 71.382046 25.345877) + (xy 71.321018 25.275447) + (xy 71.316496 25.272541) + (xy 71.316494 25.272539) + (xy 71.205602 25.201272) + (xy 71.205599 25.20127) + (xy 71.201081 25.198367) + (xy 71.195925 25.196853) + (xy 71.195923 25.196852) + (xy 71.069447 25.159715) + (xy 71.069442 25.159714) + (xy 71.064285 25.1582) + (xy 70.921715 25.1582) + (xy 70.916558 25.159714) + (xy 70.916552 25.159715) + (xy 70.790076 25.196852) + (xy 70.790071 25.196854) + (xy 70.784919 25.198367) + (xy 70.780403 25.201269) + (xy 70.780397 25.201272) + (xy 70.669505 25.272539) + (xy 70.669499 25.272543) + (xy 70.664982 25.275447) + (xy 70.661461 25.279509) + (xy 70.66146 25.279511) + (xy 70.57514 25.379128) + (xy 70.575136 25.379133) + (xy 70.571618 25.383194) + (xy 70.569385 25.388082) + (xy 70.569382 25.388088) + (xy 70.514626 25.507987) + (xy 70.514624 25.507993) + (xy 70.512392 25.512881) + (xy 70.511627 25.518195) + (xy 70.511626 25.518202) + (xy 70.492867 25.648679) + (xy 70.492102 25.654) + (xy 68.536911 25.654) + (xy 68.520451 25.632549) + (xy 68.400233 25.540302) + (xy 68.395688 25.538419) + (xy 68.395684 25.538417) + (xy 68.264784 25.484197) + (xy 68.260236 25.482313) + (xy 68.255357 25.48167) + (xy 68.255355 25.48167) + (xy 68.150153 25.46782) + (xy 68.150148 25.467819) + (xy 68.14772 25.4675) + (xy 68.07228 25.4675) + (xy 68.069852 25.467819) + (xy 68.069846 25.46782) + (xy 67.964644 25.48167) + (xy 67.96464 25.481671) + (xy 67.959764 25.482313) + (xy 67.955216 25.484196) + (xy 67.955215 25.484197) + (xy 67.824315 25.538417) + (xy 67.824307 25.538421) + (xy 67.819767 25.540302) + (xy 67.815862 25.543297) + (xy 67.815859 25.5433) + (xy 67.703455 25.629551) + (xy 67.703451 25.629554) + (xy 67.699549 25.632549) + (xy 67.696554 25.636451) + (xy 67.696551 25.636455) + (xy 67.6103 25.748859) + (xy 67.610297 25.748862) + (xy 67.607302 25.752767) + (xy 67.605421 25.757307) + (xy 67.605417 25.757315) + (xy 67.587732 25.800012) + (xy 67.549313 25.892764) + (xy 67.548671 25.89764) + (xy 67.54867 25.897644) + (xy 67.544559 25.928871) + (xy 67.529534 26.043) + (xy 67.3705 26.043) + (xy 67.3705 25.983509) + (xy 67.370226 25.978983) + (xy 67.355906 25.86105) + (xy 67.353746 25.852287) + (xy 67.297511 25.704007) + (xy 67.293312 25.696006) + (xy 67.203226 25.565494) + (xy 67.197237 25.558734) + (xy 67.078531 25.45357) + (xy 67.071102 25.448442) + (xy 66.93068 25.374743) + (xy 66.922239 25.371542) + (xy 66.818113 25.345877) + (xy 66.809551 25.346395) + (xy 66.807 25.354584) + (xy 66.807 26.436098) + (xy 66.553 26.436098) + (xy 66.553 25.354584) + (xy 66.550448 25.346395) + (xy 66.541886 25.345877) + (xy 66.43776 25.371542) + (xy 66.429319 25.374743) + (xy 66.288897 25.448442) + (xy 66.281468 25.45357) + (xy 66.162762 25.558734) + (xy 66.156773 25.565494) + (xy 66.066687 25.696006) + (xy 66.062488 25.704007) + (xy 66.006253 25.852287) + (xy 66.004093 25.86105) + (xy 65.989773 25.978983) + (xy 65.9895 25.983509) + (xy 65.9895 26.436098) + (xy 31.563902 26.436098) + (xy 32 26) + (xy 32 22.732491) + (xy 65.9895 22.732491) + (xy 65.989773 22.737016) + (xy 66.004093 22.854949) + (xy 66.006253 22.863712) + (xy 66.062488 23.011992) + (xy 66.066687 23.019993) + (xy 66.156773 23.150505) + (xy 66.162762 23.157265) + (xy 66.281468 23.262429) + (xy 66.288897 23.267557) + (xy 66.429319 23.341256) + (xy 66.43776 23.344457) + (xy 66.541886 23.370122) + (xy 66.550448 23.369604) + (xy 66.553 23.361416) + (xy 66.807 23.361416) + (xy 66.809551 23.369604) + (xy 66.818113 23.370122) + (xy 66.922239 23.344457) + (xy 66.93068 23.341256) + (xy 67.071102 23.267557) + (xy 67.078531 23.262429) + (xy 67.197237 23.157265) + (xy 67.203226 23.150505) + (xy 67.293312 23.019993) + (xy 67.297511 23.011992) + (xy 67.353746 22.863712) + (xy 67.355906 22.854949) + (xy 67.370226 22.737016) + (xy 67.3705 22.732491) + (xy 74.6295 22.732491) + (xy 74.629773 22.737016) + (xy 74.644093 22.854949) + (xy 74.646253 22.863712) + (xy 74.702488 23.011992) + (xy 74.706687 23.019993) + (xy 74.796773 23.150505) + (xy 74.802762 23.157265) + (xy 74.921468 23.262429) + (xy 74.928897 23.267557) + (xy 75.069319 23.341256) + (xy 75.07776 23.344457) + (xy 75.181886 23.370122) + (xy 75.190448 23.369604) + (xy 75.193 23.361416) + (xy 75.447 23.361416) + (xy 75.449551 23.369604) + (xy 75.458113 23.370122) + (xy 75.562239 23.344457) + (xy 75.57068 23.341256) + (xy 75.711102 23.267557) + (xy 75.718531 23.262429) + (xy 75.837237 23.157265) + (xy 75.843226 23.150505) + (xy 75.933312 23.019993) + (xy 75.937511 23.011992) + (xy 75.993746 22.863712) + (xy 75.995906 22.854949) + (xy 76.010226 22.737016) + (xy 76.0105 22.732491) + (xy 76.0105 22.529902) + (xy 76.008407 22.522092) + (xy 76.000598 22.52) + (xy 75.456902 22.52) + (xy 75.449092 22.522092) + (xy 75.447 22.529902) + (xy 75.447 23.361416) + (xy 75.193 23.361416) + (xy 75.193 22.529902) + (xy 75.190907 22.522092) + (xy 75.183098 22.52) + (xy 74.639402 22.52) + (xy 74.631592 22.522092) + (xy 74.6295 22.529902) + (xy 74.6295 22.732491) + (xy 67.3705 22.732491) + (xy 67.3705 22.529902) + (xy 67.368407 22.522092) + (xy 67.360598 22.52) + (xy 66.816902 22.52) + (xy 66.809092 22.522092) + (xy 66.807 22.529902) + (xy 66.807 23.361416) + (xy 66.553 23.361416) + (xy 66.553 22.529902) + (xy 66.550907 22.522092) + (xy 66.543098 22.52) + (xy 65.999402 22.52) + (xy 65.991592 22.522092) + (xy 65.9895 22.529902) + (xy 65.9895 22.732491) + (xy 32 22.732491) + (xy 32 22.256098) + (xy 65.9895 22.256098) + (xy 65.991592 22.263907) + (xy 65.999402 22.266) + (xy 66.543098 22.266) + (xy 66.550907 22.263907) + (xy 66.553 22.256098) + (xy 66.807 22.256098) + (xy 66.809092 22.263907) + (xy 66.816902 22.266) + (xy 67.360598 22.266) + (xy 67.368407 22.263907) + (xy 67.3705 22.256098) + (xy 74.6295 22.256098) + (xy 74.631592 22.263907) + (xy 74.639402 22.266) + (xy 75.183098 22.266) + (xy 75.190907 22.263907) + (xy 75.193 22.256098) + (xy 75.447 22.256098) + (xy 75.449092 22.263907) + (xy 75.456902 22.266) + (xy 76.000598 22.266) + (xy 76.008407 22.263907) + (xy 76.0105 22.256098) + (xy 76.0105 22.053509) + (xy 76.010226 22.048983) + (xy 75.995906 21.93105) + (xy 75.993746 21.922287) + (xy 75.937511 21.774007) + (xy 75.933312 21.766006) + (xy 75.843226 21.635494) + (xy 75.837237 21.628734) + (xy 75.718531 21.52357) + (xy 75.711102 21.518442) + (xy 75.57068 21.444743) + (xy 75.562239 21.441542) + (xy 75.458113 21.415877) + (xy 75.449551 21.416395) + (xy 75.447 21.424584) + (xy 75.447 22.256098) + (xy 75.193 22.256098) + (xy 75.193 21.424584) + (xy 75.190448 21.416395) + (xy 75.181886 21.415877) + (xy 75.07776 21.441542) + (xy 75.069319 21.444743) + (xy 74.928897 21.518442) + (xy 74.921468 21.52357) + (xy 74.802762 21.628734) + (xy 74.796773 21.635494) + (xy 74.706687 21.766006) + (xy 74.702488 21.774007) + (xy 74.646253 21.922287) + (xy 74.644093 21.93105) + (xy 74.629773 22.048983) + (xy 74.6295 22.053509) + (xy 74.6295 22.256098) + (xy 67.3705 22.256098) + (xy 67.3705 22.053509) + (xy 67.370226 22.048983) + (xy 67.355906 21.93105) + (xy 67.353746 21.922287) + (xy 67.297511 21.774007) + (xy 67.293312 21.766006) + (xy 67.203226 21.635494) + (xy 67.197237 21.628734) + (xy 67.078531 21.52357) + (xy 67.071102 21.518442) + (xy 66.93068 21.444743) + (xy 66.922239 21.441542) + (xy 66.818113 21.415877) + (xy 66.809551 21.416395) + (xy 66.807 21.424584) + (xy 66.807 22.256098) + (xy 66.553 22.256098) + (xy 66.553 21.424584) + (xy 66.550448 21.416395) + (xy 66.541886 21.415877) + (xy 66.43776 21.441542) + (xy 66.429319 21.444743) + (xy 66.288897 21.518442) + (xy 66.281468 21.52357) + (xy 66.162762 21.628734) + (xy 66.156773 21.635494) + (xy 66.066687 21.766006) + (xy 66.062488 21.774007) + (xy 66.006253 21.922287) + (xy 66.004093 21.93105) + (xy 65.989773 22.048983) + (xy 65.9895 22.053509) + (xy 65.9895 22.256098) + (xy 32 22.256098) + (xy 32 21.0752) + (xy 32.010075 21.0376) + (xy 32.0376 21.010075) + (xy 32.0752 21) + (xy 100.9248 21) + ) + ) + ) + (zone (net 0) (net_name "") (layers "F&B.Cu") (tstamp 6acedb9f-666e-4893-8594-9bbe47bfec5d) (hatch edge 0.5) + (connect_pads (clearance 0)) + (min_thickness 0.1524) (filled_areas_thickness no) + (keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed) (copperpour not_allowed) (footprints allowed)) + (fill (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 23 19) + (xy 32 19) + (xy 32 26) + (xy 30 28) + (xy 23 28) + ) + ) + ) + (zone (net 0) (net_name "") (layers "F&B.Cu") (tstamp 817b9244-c496-43c6-8f30-dd698056e9c7) (hatch edge 0.5) + (connect_pads (clearance 0)) + (min_thickness 0.1524) (filled_areas_thickness no) + (keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed) (copperpour not_allowed) (footprints allowed)) + (fill (thermal_gap 0.1905) (thermal_bridge_width 0.254)) + (polygon + (pts + (xy 23 121) + (xy 23 112) + (xy 30 112) + (xy 32 114) + (xy 32 121) + ) + ) + ) + (group "" (id 16a80bc2-d73e-424b-b684-79add4460b36) + (members + 3aa38677-8753-4adb-bb4d-40dffa0f9850 + 489a9bd5-2b9d-471f-928b-a88e3d1d73fe + ) + ) +) diff --git a/HW/taiko-io/new_io.kicad_pro b/HW/taiko-io/new_io.kicad_pro new file mode 100644 index 0000000..ae28ca8 --- /dev/null +++ b/HW/taiko-io/new_io.kicad_pro @@ -0,0 +1,534 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "board_outline_line_width": 0.09999999999999999, + "copper_line_width": 0.19999999999999998, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.049999999999999996, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": false, + "text_position": 0, + "units_format": 1 + }, + "fab_line_width": 0.09999999999999999, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.15, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.762, + "height": 1.524, + "width": 1.524 + }, + "silk_line_width": 0.15, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.15, + "silk_text_upright": false, + "zones": { + "45_degree_only": false, + "min_clearance": 0.1905 + } + }, + "diff_pair_dimensions": [ + { + "gap": 0.0, + "via_gap": 0.0, + "width": 0.0 + } + ], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_type_mismatch": "error", + "hole_clearance": "error", + "hole_near_hole": "error", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "ignore", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "error", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "ignore", + "silk_over_copper": "ignore", + "silk_overlap": "ignore", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_dangling": "warning", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "allow_blind_buried_vias": false, + "allow_microvias": false, + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.0, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.19999999999999998, + "min_microvia_drill": 0.09999999999999999, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.7999999999999999, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.19999999999999998, + "min_via_annular_width": 0.049999999999999996, + "min_via_diameter": 0.39999999999999997, + "solder_mask_clearance": 0.0, + "solder_mask_min_width": 0.0, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 5, + "td_on_pad_in_zone": false, + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [ + 0.0, + 0.254, + 0.381, + 0.508, + 0.762, + 1.016, + 1.27 + ], + "via_dimensions": [ + { + "diameter": 0.0, + "drill": 0.0 + }, + { + "diameter": 0.6096, + "drill": 0.3048 + }, + { + "diameter": 0.8128, + "drill": 0.4064 + } + ], + "zones_allow_external_fillets": false, + "zones_use_no_outline": true + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "conflicting_netclasses": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "lib_symbol_issues": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "ignore", + "similar_labels": "warning", + "simulation_model_issue": "error", + "unannotated": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "new_io.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.1778, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.254, + "via_diameter": 0.6096, + "via_drill": 0.3048, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "ngspice": { + "fix_include_paths": true, + "fix_passive_vals": false, + "meta": { + "version": 0 + }, + "model_mode": 0, + "workbook_filename": "" + }, + "page_layout_descr_file": "", + "plot_directory": "", + "spice_adjust_passive_values": false, + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "a6aa5d11-2e46-4aee-ad99-9b7d46a989c1", + "" + ], + [ + "9756da76-9072-42c4-9684-c484c3c1a68e", + "frontend" + ], + [ + "8c28bde5-632b-4f6a-a03f-bbd7b805253a", + "interface" + ], + [ + "59322ffe-8759-4986-b2b5-dae42374a58a", + "smapling" + ], + [ + "0acd3522-6a68-4f9a-ae0a-d0189b3bb895", + "usb mcu" + ] + ], + "text_variables": {} +} diff --git a/HW/taiko-io/new_io.kicad_sch b/HW/taiko-io/new_io.kicad_sch new file mode 100644 index 0000000..c48b2f1 --- /dev/null +++ b/HW/taiko-io/new_io.kicad_sch @@ -0,0 +1,851 @@ +(kicad_sch (version 20230121) (generator eeschema) + + (uuid a6aa5d11-2e46-4aee-ad99-9b7d46a989c1) + + (paper "A4") + + (lib_symbols + ) + + (junction (at 114.3 38.1) (diameter 0) (color 0 0 0 0) + (uuid 273588b8-6d27-4eb5-9b1c-cebad119db23) + ) + (junction (at 124.46 48.26) (diameter 0) (color 0 0 0 0) + (uuid 32d53876-4f70-45ab-8bf0-faccf109f555) + ) + (junction (at 127 50.8) (diameter 0) (color 0 0 0 0) + (uuid 4f9d26a3-c62e-4a2c-8e4b-b3995207738c) + ) + (junction (at 132.08 55.88) (diameter 0) (color 0 0 0 0) + (uuid 5f1b8d9b-156c-4a6c-afba-b75d0ef6c40a) + ) + (junction (at 119.38 43.18) (diameter 0) (color 0 0 0 0) + (uuid 6356853c-0e06-4d4a-9b3e-d0ed5d598ab3) + ) + (junction (at 116.84 40.64) (diameter 0) (color 0 0 0 0) + (uuid 9a6f8108-8020-4fe9-b556-142e1d5547d6) + ) + (junction (at 121.92 45.72) (diameter 0) (color 0 0 0 0) + (uuid dfbb69d5-2454-4032-b1a5-08a3aa941b5d) + ) + (junction (at 129.54 53.34) (diameter 0) (color 0 0 0 0) + (uuid fbfd863c-a85a-478f-b15e-f37961a5beb9) + ) + + (wire (pts (xy 81.28 40.64) (xy 86.36 40.64)) + (stroke (width 0) (type default)) + (uuid 020378ce-73ff-4975-811f-fea3307e4bc4) + ) + (wire (pts (xy 52.07 45.72) (xy 57.15 45.72)) + (stroke (width 0) (type default)) + (uuid 026925b2-bbfa-4dd0-93b5-ad7ec6836f3b) + ) + (wire (pts (xy 181.61 128.27) (xy 52.07 128.27)) + (stroke (width 0) (type default)) + (uuid 027d829d-8f05-4622-aef3-8c5f462cc13e) + ) + (wire (pts (xy 129.54 53.34) (xy 134.62 53.34)) + (stroke (width 0) (type default)) + (uuid 0c0717c7-8ba9-44ee-9816-8d46f1477f4f) + ) + (wire (pts (xy 129.54 53.34) (xy 129.54 93.98)) + (stroke (width 0) (type default)) + (uuid 0da18e49-f073-4237-b755-c1417edb69bb) + ) + (wire (pts (xy 52.07 50.8) (xy 57.15 50.8)) + (stroke (width 0) (type default)) + (uuid 1663962b-a001-4203-9b6d-917ea15f7350) + ) + (wire (pts (xy 179.07 48.26) (xy 162.56 48.26)) + (stroke (width 0) (type default)) + (uuid 1a6e4907-adeb-4034-ae37-a20dfad043d1) + ) + (wire (pts (xy 81.28 38.1) (xy 86.36 38.1)) + (stroke (width 0) (type default)) + (uuid 246d71d4-2a23-49ee-8291-b6db49527216) + ) + (wire (pts (xy 52.07 91.44) (xy 127 91.44)) + (stroke (width 0) (type default)) + (uuid 2cba17a4-e2a6-43b4-b726-160f7e8bf7fd) + ) + (wire (pts (xy 52.07 43.18) (xy 57.15 43.18)) + (stroke (width 0) (type default)) + (uuid 2cf1de0d-63c9-4208-8a80-f67adca0ecd2) + ) + (wire (pts (xy 111.76 43.18) (xy 119.38 43.18)) + (stroke (width 0) (type default)) + (uuid 2f215445-d3fb-43a6-b9ad-1212b43ee252) + ) + (wire (pts (xy 52.07 68.58) (xy 95.25 68.58)) + (stroke (width 0) (type default)) + (uuid 31143b18-765b-4e9d-aa48-002040218960) + ) + (wire (pts (xy 81.28 45.72) (xy 86.36 45.72)) + (stroke (width 0) (type default)) + (uuid 34253dd4-7751-4a13-b137-e2a0b470a6e6) + ) + (wire (pts (xy 153.67 107.95) (xy 52.07 107.95)) + (stroke (width 0) (type default)) + (uuid 37722ab9-5bb7-410c-b388-6270f7deedad) + ) + (wire (pts (xy 100.33 35.56) (xy 100.33 27.94)) + (stroke (width 0) (type default)) + (uuid 3a6b5641-75e1-4b08-8ca0-1dac1e472638) + ) + (wire (pts (xy 52.07 115.57) (xy 168.91 115.57)) + (stroke (width 0) (type default)) + (uuid 3b741d3a-0c8c-4b0a-84ee-eb5685963110) + ) + (wire (pts (xy 151.13 58.42) (xy 151.13 105.41)) + (stroke (width 0) (type default)) + (uuid 3bf857d2-5fb9-4fc6-92f5-b05d58da6f49) + ) + (wire (pts (xy 52.07 63.5) (xy 143.51 63.5)) + (stroke (width 0) (type default)) + (uuid 3e891bb5-575d-4335-b1f2-283f82b6ffa1) + ) + (wire (pts (xy 148.59 102.87) (xy 52.07 102.87)) + (stroke (width 0) (type default)) + (uuid 4296cc50-45d2-49be-84b1-2b10a6dcdfc3) + ) + (wire (pts (xy 184.15 53.34) (xy 162.56 53.34)) + (stroke (width 0) (type default)) + (uuid 43c99c0b-7bb7-4b61-bf61-381a831edb4d) + ) + (wire (pts (xy 52.07 71.12) (xy 97.79 71.12)) + (stroke (width 0) (type default)) + (uuid 44c6880d-f059-461a-9f28-341a892cac93) + ) + (wire (pts (xy 132.08 96.52) (xy 132.08 55.88)) + (stroke (width 0) (type default)) + (uuid 45d702c1-7cd5-4e6c-9ae7-8dd7d33abb92) + ) + (wire (pts (xy 181.61 50.8) (xy 181.61 128.27)) + (stroke (width 0) (type default)) + (uuid 46403b5c-1bba-4b37-8c57-38f253e5f0c2) + ) + (wire (pts (xy 52.07 55.88) (xy 57.15 55.88)) + (stroke (width 0) (type default)) + (uuid 46958d95-e0d9-4c43-9b20-22a217e12185) + ) + (wire (pts (xy 111.76 48.26) (xy 124.46 48.26)) + (stroke (width 0) (type default)) + (uuid 47a96ec5-4c75-4a5c-b907-84efeab1dd8a) + ) + (wire (pts (xy 52.07 88.9) (xy 124.46 88.9)) + (stroke (width 0) (type default)) + (uuid 4913b3e4-c66d-48a2-891f-4f5a59d462da) + ) + (wire (pts (xy 173.99 43.18) (xy 162.56 43.18)) + (stroke (width 0) (type default)) + (uuid 4b0da5b9-49b1-4ae8-bad8-1b7fff22f8da) + ) + (wire (pts (xy 116.84 40.64) (xy 134.62 40.64)) + (stroke (width 0) (type default)) + (uuid 4dc5433c-e471-4412-9dd3-2f1440c0885d) + ) + (wire (pts (xy 81.28 50.8) (xy 86.36 50.8)) + (stroke (width 0) (type default)) + (uuid 4f08b257-7e71-4d86-896a-2f896f473c24) + ) + (wire (pts (xy 52.07 40.64) (xy 57.15 40.64)) + (stroke (width 0) (type default)) + (uuid 4f5fd58b-5d6a-49e7-808f-7955b3f21c30) + ) + (wire (pts (xy 168.91 38.1) (xy 162.56 38.1)) + (stroke (width 0) (type default)) + (uuid 51d3951c-9b77-46be-bf10-51dbf8e4a6df) + ) + (wire (pts (xy 81.28 55.88) (xy 86.36 55.88)) + (stroke (width 0) (type default)) + (uuid 53f5056e-9c98-4757-8302-bf85dd92a71f) + ) + (wire (pts (xy 81.28 43.18) (xy 86.36 43.18)) + (stroke (width 0) (type default)) + (uuid 57b665d1-cb77-4e48-8059-2a6455c0d103) + ) + (wire (pts (xy 52.07 130.81) (xy 184.15 130.81)) + (stroke (width 0) (type default)) + (uuid 61954140-9aa8-4476-807e-5c37fb1b4ae1) + ) + (wire (pts (xy 184.15 130.81) (xy 184.15 53.34)) + (stroke (width 0) (type default)) + (uuid 65b70e19-56b4-47bb-add5-ff2ac522ea2d) + ) + (wire (pts (xy 186.69 55.88) (xy 186.69 133.35)) + (stroke (width 0) (type default)) + (uuid 68398cc8-592b-4859-9bec-f65c04ed7c56) + ) + (wire (pts (xy 81.28 53.34) (xy 86.36 53.34)) + (stroke (width 0) (type default)) + (uuid 6a3dfa27-87ca-47ff-ae65-b7364e31da6a) + ) + (wire (pts (xy 152.4 27.94) (xy 152.4 35.56)) + (stroke (width 0) (type default)) + (uuid 6e8d2858-7c3d-4b13-94a6-db6f1aafa328) + ) + (wire (pts (xy 171.45 40.64) (xy 171.45 118.11)) + (stroke (width 0) (type default)) + (uuid 6e9a3642-e5e1-42b2-8d19-b4d0e1c8870b) + ) + (wire (pts (xy 111.76 50.8) (xy 127 50.8)) + (stroke (width 0) (type default)) + (uuid 6f325c82-8405-4084-a64c-ad2d321f1739) + ) + (wire (pts (xy 52.07 120.65) (xy 173.99 120.65)) + (stroke (width 0) (type default)) + (uuid 7033328b-c0cf-484a-a8d3-6faa488dce5b) + ) + (wire (pts (xy 52.07 66.04) (xy 146.05 66.04)) + (stroke (width 0) (type default)) + (uuid 709e3c68-9e08-4c4c-b28b-d7efc880a215) + ) + (wire (pts (xy 186.69 133.35) (xy 52.07 133.35)) + (stroke (width 0) (type default)) + (uuid 71717f96-a092-419d-87c5-f9674cea11b3) + ) + (wire (pts (xy 173.99 120.65) (xy 173.99 43.18)) + (stroke (width 0) (type default)) + (uuid 755c1e0f-0b4c-4473-bebb-95d1eaad45d2) + ) + (wire (pts (xy 102.87 35.56) (xy 102.87 30.48)) + (stroke (width 0) (type default)) + (uuid 7647fa8c-43a2-4ee2-a056-4093697a0f10) + ) + (wire (pts (xy 162.56 50.8) (xy 181.61 50.8)) + (stroke (width 0) (type default)) + (uuid 765ecaf3-ecad-43a6-9a89-32ea733e4b6d) + ) + (wire (pts (xy 121.92 86.36) (xy 121.92 45.72)) + (stroke (width 0) (type default)) + (uuid 7c8db778-fcaa-4d44-9870-1d708cae90c6) + ) + (wire (pts (xy 52.07 125.73) (xy 179.07 125.73)) + (stroke (width 0) (type default)) + (uuid 7ccfc864-8553-4c69-b242-993c824f7a09) + ) + (wire (pts (xy 168.91 115.57) (xy 168.91 38.1)) + (stroke (width 0) (type default)) + (uuid 7db5e570-5e73-457a-9497-a40c721be3bb) + ) + (wire (pts (xy 151.13 105.41) (xy 52.07 105.41)) + (stroke (width 0) (type default)) + (uuid 80f5e008-a589-446b-b6a3-c55a94f30c1a) + ) + (wire (pts (xy 162.56 40.64) (xy 171.45 40.64)) + (stroke (width 0) (type default)) + (uuid 86c7334a-bf5f-4e4f-94b2-eba1a2aab67e) + ) + (wire (pts (xy 143.51 58.42) (xy 143.51 63.5)) + (stroke (width 0) (type default)) + (uuid 8acc28fd-8dbf-4133-a001-97f86851727b) + ) + (wire (pts (xy 52.07 86.36) (xy 121.92 86.36)) + (stroke (width 0) (type default)) + (uuid 8b7ee522-093a-4c76-a54a-ae20c284842c) + ) + (wire (pts (xy 52.07 93.98) (xy 129.54 93.98)) + (stroke (width 0) (type default)) + (uuid 8f9e9180-c14a-41b4-bebd-2ab5508ef446) + ) + (wire (pts (xy 124.46 48.26) (xy 134.62 48.26)) + (stroke (width 0) (type default)) + (uuid 90b70166-43f2-4a72-8279-eaa963b2ecb1) + ) + (wire (pts (xy 52.07 81.28) (xy 116.84 81.28)) + (stroke (width 0) (type default)) + (uuid 91012a7b-95bb-43ef-b026-c71edf7de798) + ) + (wire (pts (xy 52.07 118.11) (xy 171.45 118.11)) + (stroke (width 0) (type default)) + (uuid 911e29e0-86aa-4c54-a842-71c7e0783eea) + ) + (wire (pts (xy 102.87 30.48) (xy 149.86 30.48)) + (stroke (width 0) (type default)) + (uuid 9128752e-e918-4831-b8f0-789a794b4a72) + ) + (wire (pts (xy 52.07 83.82) (xy 119.38 83.82)) + (stroke (width 0) (type default)) + (uuid 926fb359-6aac-42f9-833b-9ebf1e6af396) + ) + (wire (pts (xy 111.76 40.64) (xy 116.84 40.64)) + (stroke (width 0) (type default)) + (uuid 94e172b2-1ff6-4036-b8cb-3d3b55fd2c97) + ) + (wire (pts (xy 127 50.8) (xy 134.62 50.8)) + (stroke (width 0) (type default)) + (uuid 97b34cbb-7586-49b8-a41f-7ca3497f0928) + ) + (wire (pts (xy 52.07 38.1) (xy 57.15 38.1)) + (stroke (width 0) (type default)) + (uuid 97ec201c-c5a5-4fa2-83dd-a2fdf713c07b) + ) + (wire (pts (xy 162.56 45.72) (xy 176.53 45.72)) + (stroke (width 0) (type default)) + (uuid 98837ad7-2a6d-4fd6-b131-192af3116d84) + ) + (wire (pts (xy 176.53 123.19) (xy 52.07 123.19)) + (stroke (width 0) (type default)) + (uuid 98a1f4b3-7f42-4857-9a88-198426dd3fb6) + ) + (wire (pts (xy 114.3 38.1) (xy 134.62 38.1)) + (stroke (width 0) (type default)) + (uuid 9997e77b-775e-4d4d-b7a7-6c82b6d88704) + ) + (wire (pts (xy 111.76 38.1) (xy 114.3 38.1)) + (stroke (width 0) (type default)) + (uuid a40b32d2-4e53-4a34-9571-11f8477bed02) + ) + (wire (pts (xy 52.07 53.34) (xy 57.15 53.34)) + (stroke (width 0) (type default)) + (uuid a89d4576-ec20-46c7-9254-1fc932cf24a8) + ) + (wire (pts (xy 95.25 58.42) (xy 95.25 68.58)) + (stroke (width 0) (type default)) + (uuid a98a95d3-116e-43fe-9742-593d8b8ea781) + ) + (wire (pts (xy 121.92 45.72) (xy 134.62 45.72)) + (stroke (width 0) (type default)) + (uuid aa69fb69-51b3-4a63-84c0-7ccfaed23dab) + ) + (wire (pts (xy 132.08 55.88) (xy 134.62 55.88)) + (stroke (width 0) (type default)) + (uuid aec5ffdc-4ac1-46e4-aaab-99558957c1cb) + ) + (wire (pts (xy 176.53 45.72) (xy 176.53 123.19)) + (stroke (width 0) (type default)) + (uuid b219107d-076f-4937-a4e5-5cc4f25e223d) + ) + (wire (pts (xy 116.84 81.28) (xy 116.84 40.64)) + (stroke (width 0) (type default)) + (uuid b45eb404-cb7d-4b33-8671-3f858139fcc4) + ) + (wire (pts (xy 52.07 78.74) (xy 114.3 78.74)) + (stroke (width 0) (type default)) + (uuid b6176568-ad90-4616-b6e0-2aeab2fb0283) + ) + (wire (pts (xy 127 91.44) (xy 127 50.8)) + (stroke (width 0) (type default)) + (uuid bc9669fe-b914-4321-bdc9-017a2b6b6032) + ) + (wire (pts (xy 111.76 45.72) (xy 121.92 45.72)) + (stroke (width 0) (type default)) + (uuid bf4ab202-9124-43f7-b32a-77a6a6829ab8) + ) + (wire (pts (xy 124.46 88.9) (xy 124.46 48.26)) + (stroke (width 0) (type default)) + (uuid c43c2d41-63cf-43ec-b5ac-8ec4a077ca95) + ) + (wire (pts (xy 146.05 58.42) (xy 146.05 66.04)) + (stroke (width 0) (type default)) + (uuid c4d02230-ba8d-4367-a6ea-0085c2e797f7) + ) + (wire (pts (xy 97.79 58.42) (xy 97.79 71.12)) + (stroke (width 0) (type default)) + (uuid c8c02ebd-4682-4e0f-a33a-34a0dda03b60) + ) + (wire (pts (xy 111.76 55.88) (xy 132.08 55.88)) + (stroke (width 0) (type default)) + (uuid ccd3e8f8-fd19-45fb-abb5-10b3e65fd122) + ) + (wire (pts (xy 114.3 78.74) (xy 114.3 38.1)) + (stroke (width 0) (type default)) + (uuid cfc15ae8-2116-4f85-9d53-51992fb28a3f) + ) + (wire (pts (xy 101.6 100.33) (xy 52.07 100.33)) + (stroke (width 0) (type default)) + (uuid dbd33cdd-836a-4f6b-86d5-87ae9967c864) + ) + (wire (pts (xy 179.07 125.73) (xy 179.07 48.26)) + (stroke (width 0) (type default)) + (uuid e545fbb4-45ef-4d09-b01e-63540efd7747) + ) + (wire (pts (xy 100.33 27.94) (xy 152.4 27.94)) + (stroke (width 0) (type default)) + (uuid e5ef2e1f-87f6-426b-8df5-b3cbeb036947) + ) + (wire (pts (xy 81.28 48.26) (xy 86.36 48.26)) + (stroke (width 0) (type default)) + (uuid e76c8f82-4217-4ea8-8d48-822751438e13) + ) + (wire (pts (xy 52.07 96.52) (xy 132.08 96.52)) + (stroke (width 0) (type default)) + (uuid e9decad4-e946-4d85-ad30-db8bbbdf71a7) + ) + (wire (pts (xy 149.86 30.48) (xy 149.86 35.56)) + (stroke (width 0) (type default)) + (uuid ebcf8900-7116-45df-9988-ac50e39745e6) + ) + (wire (pts (xy 119.38 83.82) (xy 119.38 43.18)) + (stroke (width 0) (type default)) + (uuid ec3af6a8-7096-4e46-9ded-967dc637a7f2) + ) + (wire (pts (xy 162.56 55.88) (xy 186.69 55.88)) + (stroke (width 0) (type default)) + (uuid f01fdc39-5de5-443a-b2f8-eb67d2674aa5) + ) + (wire (pts (xy 119.38 43.18) (xy 134.62 43.18)) + (stroke (width 0) (type default)) + (uuid f1eb024d-e7f7-4ceb-a867-5bbee58bccbe) + ) + (wire (pts (xy 153.67 58.42) (xy 153.67 107.95)) + (stroke (width 0) (type default)) + (uuid f311f8f5-483b-430d-bf87-625e2c9ae6ea) + ) + (wire (pts (xy 52.07 48.26) (xy 57.15 48.26)) + (stroke (width 0) (type default)) + (uuid f5ba42fb-549e-4b57-b45f-a083d525c752) + ) + (wire (pts (xy 148.59 58.42) (xy 148.59 102.87)) + (stroke (width 0) (type default)) + (uuid f708a443-11ef-494c-8374-d57cb916598d) + ) + (wire (pts (xy 101.6 58.42) (xy 101.6 100.33)) + (stroke (width 0) (type default)) + (uuid f8834582-db32-4256-96b9-74f35d3c1cf9) + ) + (wire (pts (xy 111.76 53.34) (xy 129.54 53.34)) + (stroke (width 0) (type default)) + (uuid fbb397c3-223b-4d4f-b008-6ab4d2474431) + ) + + (sheet (at 134.62 35.56) (size 27.94 22.86) + (stroke (width 0.1524) (type solid)) + (fill (color 240 240 240 1.0000)) + (uuid 0acd3522-6a68-4f9a-ae0a-d0189b3bb895) + (property "Sheetname" "usb mcu" (at 134.62 35.56 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + ) + (property "Sheetfile" "usb_mcu.kicad_sch" (at 134.62 59.0046 0) + (effects (font (size 1.27 1.27)) (justify left top) hide) + ) + (pin "IN1" input (at 134.62 38.1 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 2b87e51c-1772-4278-bf56-9f0131eeb9be) + ) + (pin "IN2" input (at 134.62 40.64 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 3f173942-bda7-4409-95dd-e2b6bb9ab7ab) + ) + (pin "IN3" input (at 134.62 43.18 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 819f165d-65fb-4ec0-8081-a640f570f65d) + ) + (pin "IN4" input (at 134.62 45.72 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b20d563b-f2be-4861-8001-826ed0469b9f) + ) + (pin "IN5" input (at 134.62 48.26 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f56f5a09-4a69-45e4-bc92-0247c66b8392) + ) + (pin "IN6" input (at 134.62 50.8 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 979d3417-0a35-48e5-85c0-48efe0ce2b58) + ) + (pin "IN7" input (at 134.62 53.34 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 273746ce-450b-445e-8700-d734ef14d04a) + ) + (pin "IN8" input (at 134.62 55.88 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5c45d5f7-2a23-4409-bd31-ed86d865d6dd) + ) + (pin "DIN1" input (at 162.56 38.1 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6c2ce73c-b45f-4ebc-b43a-a12dbf9e2998) + ) + (pin "DIN8" input (at 162.56 55.88 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 75098abc-1e70-45fc-886b-77b10e0dbb75) + ) + (pin "DIN7" input (at 162.56 53.34 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 23d10448-fe0b-4111-b490-60d570fdd529) + ) + (pin "DIN5" input (at 162.56 48.26 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 25293715-a5b7-4079-9cb0-f7401bd583bf) + ) + (pin "DIN3" input (at 162.56 43.18 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a59ee6db-9ccb-4837-bb0a-8004699dfbbb) + ) + (pin "DIN2" input (at 162.56 40.64 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid f1598b97-74c1-4e5b-aca1-71473ebeda43) + ) + (pin "DIN6" input (at 162.56 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e86a7eb1-9cb3-43c7-9ff0-e07b538f7e22) + ) + (pin "DIN4" input (at 162.56 45.72 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 2f3bdfc0-7200-4839-b3ee-e44e16e12911) + ) + (pin "USB_DP" bidirectional (at 143.51 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid dd01946c-7be1-4bdb-b550-93130ea5764b) + ) + (pin "USB_DN" bidirectional (at 146.05 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 100b9a5e-159a-444f-9aec-a43ba2f5e162) + ) + (pin "STA1" output (at 148.59 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9115bd13-8d4a-4f0f-ab99-dcd5a50af59d) + ) + (pin "STA2" output (at 151.13 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 6a88cdd9-2e14-4a45-a644-ac3e24f0f991) + ) + (pin "RXD" input (at 149.86 35.56 90) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 5c79088c-b561-433a-a767-97b12f7d2b64) + ) + (pin "TXD" output (at 152.4 35.56 90) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 49906ce5-dd16-4ed7-95f6-ec616afb6b99) + ) + (pin "STA3" output (at 153.67 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 6cbe1e16-1cee-40d2-a2ae-362ef47d5bed) + ) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1" (page "5")) + ) + ) + ) + + (sheet (at 86.36 35.56) (size 25.4 22.86) + (stroke (width 0.1524) (type solid)) + (fill (color 240 240 240 1.0000)) + (uuid 59322ffe-8759-4986-b2b5-dae42374a58a) + (property "Sheetname" "smapling" (at 86.36 35.56 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + ) + (property "Sheetfile" "smapling.kicad_sch" (at 86.36 59.0046 0) + (effects (font (size 1.27 1.27)) (justify left top) hide) + ) + (pin "IN7" input (at 86.36 53.34 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5dbfe041-c380-4b55-aa1f-5c072c050c0c) + ) + (pin "IN8" input (at 86.36 55.88 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 2c462afd-3825-4af0-8d81-130c1fcafd98) + ) + (pin "IN5" input (at 86.36 48.26 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid ee6a2018-1f75-4cf3-b297-e73521f58c1e) + ) + (pin "IN6" input (at 86.36 50.8 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid d0002365-6b1a-4955-87ee-d6f7ec299114) + ) + (pin "IN1" input (at 86.36 38.1 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9a17cc5f-4848-4318-ac69-ac8b3aa412ee) + ) + (pin "IN3" input (at 86.36 43.18 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f991ad40-7807-4a09-93e2-5adcef431f87) + ) + (pin "IN4" input (at 86.36 45.72 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 4fe75eea-7fdf-417e-921d-455062fd35e8) + ) + (pin "IN2" input (at 86.36 40.64 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 606b62c7-603e-4323-bbc5-eee919084bdd) + ) + (pin "OUT7" output (at 111.76 53.34 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d96d248b-2904-40a6-a113-088e42707bc6) + ) + (pin "OUT8" output (at 111.76 55.88 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 94d0dc7a-2f72-4862-bb97-9c8c39f10b42) + ) + (pin "OUT6" output (at 111.76 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 405f2b17-55ac-480f-960a-8f6e511e227b) + ) + (pin "OUT1" output (at 111.76 38.1 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6913ed0b-0494-47d5-a60e-298b99dee7f2) + ) + (pin "OUT5" output (at 111.76 48.26 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a9ce0c7b-ea62-4acc-9e6f-bbac308dca48) + ) + (pin "OUT2" output (at 111.76 40.64 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 07d825fe-949c-4bdc-bfc8-7f31a553fe26) + ) + (pin "OUT4" output (at 111.76 45.72 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b68d1596-6fa1-4778-844e-a596c8de49fc) + ) + (pin "OUT3" output (at 111.76 43.18 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 49bde584-a6b4-4218-8f3e-83f65952668d) + ) + (pin "RXD" input (at 100.33 35.56 90) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 0c75189d-4439-4903-9f0b-6bf37e75bb82) + ) + (pin "TXD" output (at 102.87 35.56 90) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 00ade08a-5b0e-4250-a387-39bf3a43bb45) + ) + (pin "USB_DP" bidirectional (at 95.25 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid e15dede9-11ef-45ca-bb81-d0d9e0225590) + ) + (pin "USB_DN" bidirectional (at 97.79 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 709e0d8a-5c41-4599-9bf4-dcb80e5c3727) + ) + (pin "STA1" output (at 101.6 58.42 270) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c2149c6b-1159-435d-9809-c07e9889aa4e) + ) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1" (page "4")) + ) + ) + ) + + (sheet (at 39.37 35.56) (size 12.7 102.87) + (stroke (width 0.1524) (type solid)) + (fill (color 240 240 240 1.0000)) + (uuid 8c28bde5-632b-4f6a-a03f-bbd7b805253a) + (property "Sheetname" "interface" (at 39.37 35.56 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + ) + (property "Sheetfile" "interface.kicad_sch" (at 39.37 125.0446 0) + (effects (font (size 1.27 1.27)) (justify left top) hide) + ) + (pin "IN1" output (at 52.07 38.1 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 02bb913e-b3e9-412d-ba63-362e9c8d8e52) + ) + (pin "IN6" output (at 52.07 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4eb554c2-8a46-4786-9fb0-7c7b8aba3ee8) + ) + (pin "IN3" output (at 52.07 43.18 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4dc898aa-fe48-449a-ae6f-5bb2159b93fd) + ) + (pin "IN2" output (at 52.07 40.64 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4a95963f-f445-4be3-b443-f97ff9ff8f2f) + ) + (pin "IN8" output (at 52.07 55.88 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e1cb7ca7-a94c-44d1-9fbc-6d73626ab764) + ) + (pin "IN7" output (at 52.07 53.34 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 7058b89e-f342-4678-b607-7f681d5cf49b) + ) + (pin "IN4" output (at 52.07 45.72 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d2643547-e4d5-4230-971b-0177ac673517) + ) + (pin "IN5" output (at 52.07 48.26 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 2f61ec93-168f-495e-946d-7199fc902aab) + ) + (pin "USB1_DN" bidirectional (at 52.07 66.04 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 68c71f94-de5a-4102-bc3d-9a40d7999f6d) + ) + (pin "USB1_DP" bidirectional (at 52.07 63.5 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 5029b86a-0dbc-4063-ab00-dee760ff5b20) + ) + (pin "USB2_DP" bidirectional (at 52.07 68.58 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6f9cab33-4816-4dbc-9a65-badc07bb3fc2) + ) + (pin "USB2_DN" bidirectional (at 52.07 71.12 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b3e1cc2b-9fa2-435b-b141-5c4d81081ff4) + ) + (pin "LED1" input (at 52.07 78.74 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 8506d474-d174-4c70-b010-e0139c18c22d) + ) + (pin "LED2" input (at 52.07 81.28 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b7146c6e-9c98-462a-bd58-5bc5669385fe) + ) + (pin "LED3" input (at 52.07 83.82 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1868d8ba-296b-46cd-a99d-544ef651bd12) + ) + (pin "LED4" input (at 52.07 86.36 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e51b0d5f-cf2b-4ee2-b536-4ea8b4f7f0f1) + ) + (pin "LED5" input (at 52.07 88.9 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 39108d22-c5c7-41f0-9444-691a0e07f95f) + ) + (pin "LED6" input (at 52.07 91.44 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6b7b01a8-765d-4c55-ba02-1b87fc092870) + ) + (pin "LED7" input (at 52.07 93.98 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3a1a7c29-22cb-40ec-aab4-cd67249a7463) + ) + (pin "LED8" input (at 52.07 96.52 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b86c5fb1-ab44-4a78-9fa2-f05e96a9631a) + ) + (pin "DIN6" output (at 52.07 128.27 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 06752c7c-f8ec-4d1f-b027-edcc48ceb10e) + ) + (pin "DIN7" output (at 52.07 130.81 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 2eb0670b-79a9-4917-a8c4-a68342a35894) + ) + (pin "DIN8" output (at 52.07 133.35 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fd882dea-735e-451e-b210-5cb5995bcdfe) + ) + (pin "DIN5" output (at 52.07 125.73 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d725fc2c-ce32-4337-94e8-19a488c53e43) + ) + (pin "DIN3" output (at 52.07 120.65 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4b3fc4a1-f1f7-415d-9054-930702e43457) + ) + (pin "DIN4" output (at 52.07 123.19 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e0845e9b-b174-4240-8d30-d1901f3923a5) + ) + (pin "DIN1" output (at 52.07 115.57 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d72303e7-7375-4eda-afa5-cf693c60a1b8) + ) + (pin "DIN2" output (at 52.07 118.11 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c1ce2d2d-438a-4f66-a4e5-986b743adfe1) + ) + (pin "STA1" input (at 52.07 100.33 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 483e6d60-c508-43da-be6f-8cfd24795b99) + ) + (pin "STA3" input (at 52.07 105.41 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ea5587bd-8417-4ac0-ad81-55621dd944cc) + ) + (pin "STA2" input (at 52.07 102.87 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e6825137-b483-401e-b0df-cb25b44ca87b) + ) + (pin "STA4" input (at 52.07 107.95 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid f00ddd4a-e2d6-4a4c-9077-1bb23b718849) + ) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1" (page "4")) + ) + ) + ) + + (sheet (at 57.15 35.56) (size 24.13 22.86) + (stroke (width 0.1524) (type solid)) + (fill (color 240 240 240 1.0000)) + (uuid 9756da76-9072-42c4-9684-c484c3c1a68e) + (property "Sheetname" "frontend" (at 57.15 35.56 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + ) + (property "Sheetfile" "frontend.kicad_sch" (at 57.15 59.0046 0) + (effects (font (size 1.27 1.27)) (justify left top) hide) + ) + (pin "IN4" input (at 57.15 45.72 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 48a4143a-6e06-4759-8b62-bbfac5d75c83) + ) + (pin "IN2" input (at 57.15 40.64 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a11f1f5e-9080-4b06-929b-079b3f3cdfea) + ) + (pin "IN3" input (at 57.15 43.18 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid e866233d-91a9-477d-ae72-e00b5007c089) + ) + (pin "OPA8" output (at 81.28 55.88 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid caa0a283-a5a3-4532-8639-74b68f81ea9a) + ) + (pin "OPA7" output (at 81.28 53.34 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 8925d691-8f64-44d9-a46a-cb7a4d5d1f71) + ) + (pin "OPA5" output (at 81.28 48.26 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fc014ca2-5489-48f8-9cc6-800e6cf3beab) + ) + (pin "OPA6" output (at 81.28 50.8 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c94197f9-9c6b-4128-8f77-3ee69c6c0f92) + ) + (pin "IN1" input (at 57.15 38.1 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid e3265951-9c84-4b3b-9a53-d194b17b7578) + ) + (pin "IN8" input (at 57.15 55.88 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a625a2ec-194f-417b-ad5b-5be8386e4e26) + ) + (pin "OPA4" output (at 81.28 45.72 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6afa3fba-bc8c-46b7-8a7d-4b1ae71ddd89) + ) + (pin "IN7" input (at 57.15 53.34 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 643d9bd4-47f0-4b80-a7e0-65995bdf9d7e) + ) + (pin "IN6" input (at 57.15 50.8 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid acb8f459-9f6f-4f5a-95bb-0aa618288c58) + ) + (pin "OPA3" output (at 81.28 43.18 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fbd4a4b8-70d3-44e1-9485-23d39280d266) + ) + (pin "OPA2" output (at 81.28 40.64 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1a006dbe-a786-45bf-b24c-ec88b51611f9) + ) + (pin "IN5" input (at 57.15 48.26 180) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid bb19da3a-b6a7-4df3-9d2e-afae27ee6c89) + ) + (pin "OPA1" output (at 81.28 38.1 0) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 25985267-766a-4f55-b8ec-4a2ca10c8075) + ) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1" (page "2")) + ) + ) + ) + + (sheet_instances + (path "/" (page "1")) + ) +) diff --git a/HW/taiko-io/new_io.pdf b/HW/taiko-io/new_io.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49558b1dc75d346c0f5ab5502e222c7827a4cc1a GIT binary patch literal 290301 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�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 literal 0 HcmV?d00001 diff --git a/HW/taiko-io/smapling.kicad_sch b/HW/taiko-io/smapling.kicad_sch new file mode 100644 index 0000000..11e4e87 --- /dev/null +++ b/HW/taiko-io/smapling.kicad_sch @@ -0,0 +1,3124 @@ +(kicad_sch (version 20230121) (generator eeschema) + + (uuid 18c9d509-cff1-4eb9-b866-b59368740e0a) + + (paper "A4") + + (lib_symbols + (symbol "Connector_Generic:Conn_01x04" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 0 5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_01x04" (at 0 -7.62 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_01x04_1_1" + (rectangle (start -1.27 -4.953) (end 0 -5.207) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 2.667) (end 0 2.413) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 3.81) (end 1.27 -6.35) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin passive line (at -5.08 2.54 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -5.08 0) (length 3.81) + (name "Pin_4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "C" (at 0.635 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "C" (at 0.635 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0.9652 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "cap capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Unpolarized capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "C_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 -0.762) + (xy 2.032 -0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.032 0.762) + (xy 2.032 0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + ) + (symbol "C_1_1" + (pin passive line (at 0 3.81 270) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "R" (at 2.032 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R" (at 0 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at -1.778 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R res resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "R_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_0_1" + (rectangle (start -1.016 -2.54) (end 1.016 2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Diode:1N5819" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "D" (at 0 2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "1N5819" (at 0 -2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal" (at 0 -4.445 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.vishay.com/docs/88525/1n5817.pdf" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "diode Schottky" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "40V 1A Schottky Barrier Rectifier Diode, DO-41" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "D*DO?41*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "1N5819_0_1" + (polyline + (pts + (xy 1.27 0) + (xy -1.27 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 1.27) + (xy 1.27 -1.27) + (xy -1.27 0) + (xy 1.27 1.27) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.905 0.635) + (xy -1.905 1.27) + (xy -1.27 1.27) + (xy -1.27 -1.27) + (xy -0.635 -1.27) + (xy -0.635 -0.635) + ) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "1N5819_1_1" + (pin passive line (at -3.81 0 0) (length 2.54) + (name "K" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 3.81 0 180) (length 2.54) + (name "A" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Jumper:Jumper_2_Open" (pin_names (offset 0) hide) (in_bom yes) (on_board yes) + (property "Reference" "JP" (at 0 2.794 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Jumper_2_Open" (at 0 -2.286 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "Jumper SPST" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Jumper, 2-pole, open" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Jumper* TestPoint*2Pads* TestPoint*Bridge*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Jumper_2_Open_0_0" + (circle (center -2.032 0) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 2.032 0) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "Jumper_2_Open_0_1" + (arc (start 1.524 1.27) (mid 0 1.778) (end -1.524 1.27) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "Jumper_2_Open_1_1" + (pin passive line (at -5.08 0 0) (length 2.54) + (name "A" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 5.08 0 180) (length 2.54) + (name "B" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "NewLib:CH340N" (in_bom yes) (on_board yes) + (property "Reference" "U" (at 15.24 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "CH340N" (at 6.35 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at -2.54 6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "CH340N_0_1" + (rectangle (start 2.54 -10.16) (end 16.51 2.54) + (stroke (width 0.1524) (type default)) + (fill (type background)) + ) + ) + (symbol "CH340N_1_1" + (pin passive line (at 0 0 0) (length 2.54) + (name "UDP" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -2.54 0) (length 2.54) + (name "UDN" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 0) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -7.62 0) (length 2.54) + (name "RTS#" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 19.05 -7.62 180) (length 2.54) + (name "VCC" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 19.05 -5.08 180) (length 2.54) + (name "TXD" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 19.05 -2.54 180) (length 2.54) + (name "RXD" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 19.05 0 180) (length 2.54) + (name "V3" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "NewLib:STM32G030C" (in_bom yes) (on_board yes) + (property "Reference" "U" (at 33.02 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "STM32G030C" (at 8.89 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_QFP:LQFP-48_7x7mm_P0.5mm" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at -7.62 10.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "STM32G030C_0_1" + (rectangle (start 2.54 2.54) (end 35.56 -83.82) + (stroke (width 0.1524) (type default)) + (fill (type background)) + ) + ) + (symbol "STM32G030C_1_1" + (pin passive line (at 38.1 -5.08 180) (length 2.54) + (name "PC13" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -50.8 180) (length 2.54) + (name "NRST" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 0 0) (length 2.54) + (name "PA0" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -2.54 0) (length 2.54) + (name "PA1" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 0) (length 2.54) + (name "PA2" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -7.62 0) (length 2.54) + (name "PA3" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -10.16 0) (length 2.54) + (name "PA4" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -12.7 0) (length 2.54) + (name "PA5" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -15.24 0) (length 2.54) + (name "PA6" (effects (font (size 1.27 1.27)))) + (number "17" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -17.78 0) (length 2.54) + (name "PA7" (effects (font (size 1.27 1.27)))) + (number "18" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -43.18 0) (length 2.54) + (name "PB0" (effects (font (size 1.27 1.27)))) + (number "19" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -7.62 180) (length 2.54) + (name "PC14-32IN" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -45.72 0) (length 2.54) + (name "PB1" (effects (font (size 1.27 1.27)))) + (number "20" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -48.26 0) (length 2.54) + (name "PB2" (effects (font (size 1.27 1.27)))) + (number "21" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -68.58 0) (length 2.54) + (name "PB10" (effects (font (size 1.27 1.27)))) + (number "22" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -71.12 0) (length 2.54) + (name "PB11" (effects (font (size 1.27 1.27)))) + (number "23" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -73.66 0) (length 2.54) + (name "PB12" (effects (font (size 1.27 1.27)))) + (number "24" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -76.2 0) (length 2.54) + (name "PB13" (effects (font (size 1.27 1.27)))) + (number "25" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -78.74 0) (length 2.54) + (name "PB14" (effects (font (size 1.27 1.27)))) + (number "26" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -81.28 0) (length 2.54) + (name "PB15" (effects (font (size 1.27 1.27)))) + (number "27" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -20.32 0) (length 2.54) + (name "PA8" (effects (font (size 1.27 1.27)))) + (number "28" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -22.86 0) (length 2.54) + (name "PA9" (effects (font (size 1.27 1.27)))) + (number "29" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -10.16 180) (length 2.54) + (name "PC15-32OUT" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 0 180) (length 2.54) + (name "PC6" (effects (font (size 1.27 1.27)))) + (number "30" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -2.54 180) (length 2.54) + (name "PC7" (effects (font (size 1.27 1.27)))) + (number "31" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -25.4 0) (length 2.54) + (name "PA10" (effects (font (size 1.27 1.27)))) + (number "32" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -27.94 0) (length 2.54) + (name "PA11[PA9]" (effects (font (size 1.27 1.27)))) + (number "33" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -30.48 0) (length 2.54) + (name "PA12[PA10]" (effects (font (size 1.27 1.27)))) + (number "34" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -33.02 0) (length 2.54) + (name "PA13-SWDIO" (effects (font (size 1.27 1.27)))) + (number "35" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -35.56 0) (length 2.54) + (name "PA14-SWCLK-BOOT0" (effects (font (size 1.27 1.27)))) + (number "36" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -38.1 0) (length 2.54) + (name "PA15" (effects (font (size 1.27 1.27)))) + (number "37" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -15.24 180) (length 2.54) + (name "PD0" (effects (font (size 1.27 1.27)))) + (number "38" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -17.78 180) (length 2.54) + (name "PD1" (effects (font (size 1.27 1.27)))) + (number "39" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -68.58 180) (length 2.54) + (name "VBAT" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -20.32 180) (length 2.54) + (name "PD2" (effects (font (size 1.27 1.27)))) + (number "40" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -22.86 180) (length 2.54) + (name "PD3" (effects (font (size 1.27 1.27)))) + (number "41" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -50.8 0) (length 2.54) + (name "PB3" (effects (font (size 1.27 1.27)))) + (number "42" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -53.34 0) (length 2.54) + (name "PB4" (effects (font (size 1.27 1.27)))) + (number "43" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -55.88 0) (length 2.54) + (name "PB5" (effects (font (size 1.27 1.27)))) + (number "44" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -58.42 0) (length 2.54) + (name "PB6" (effects (font (size 1.27 1.27)))) + (number "45" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -60.96 0) (length 2.54) + (name "PB7" (effects (font (size 1.27 1.27)))) + (number "46" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -63.5 0) (length 2.54) + (name "PB8" (effects (font (size 1.27 1.27)))) + (number "47" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -66.04 0) (length 2.54) + (name "PB9" (effects (font (size 1.27 1.27)))) + (number "48" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -71.12 180) (length 2.54) + (name "VREF" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -73.66 180) (length 2.54) + (name "VDD" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -81.28 180) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -27.94 180) (length 2.54) + (name "PF0-OSCIN" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 38.1 -30.48 180) (length 2.54) + (name "PF1-OSCOUT" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Regulator_Linear:XC6206PxxxMR" (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "U" (at -3.81 3.175 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "XC6206PxxxMR" (at 0 3.175 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 0 5.715 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "Datasheet" "https://www.torexsemi.com/file/xc6206/XC6206.pdf" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "Torex LDO Voltage Regulator Fixed Positive" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Positive 60-250mA Low Dropout Regulator, Fixed Output, SOT-23" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SOT?23*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "XC6206PxxxMR_0_1" + (rectangle (start -5.08 1.905) (end 5.08 -5.08) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + ) + (symbol "XC6206PxxxMR_1_1" + (pin power_in line (at 0 -7.62 90) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin power_out line (at 7.62 0 180) (length 2.54) + (name "VO" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at -7.62 0 0) (length 2.54) + (name "VI" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Switch:SW_DIP_x04" (pin_names (offset 0) hide) (in_bom yes) (on_board yes) + (property "Reference" "SW" (at 0 8.89 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "SW_DIP_x04" (at 0 -6.35 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "dip switch" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "4x DIP Switch, Single Pole Single Throw (SPST) switch, small symbol" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SW?DIP?x4*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "SW_DIP_x04_0_0" + (circle (center -2.032 -2.54) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center -2.032 0) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center -2.032 2.54) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center -2.032 5.08) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.524 -2.3876) + (xy 2.3622 -1.3462) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.524 0.127) + (xy 2.3622 1.1684) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.524 2.667) + (xy 2.3622 3.7084) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -1.524 5.207) + (xy 2.3622 6.2484) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 2.032 -2.54) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 2.032 0) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 2.032 2.54) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 2.032 5.08) (radius 0.508) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "SW_DIP_x04_0_1" + (rectangle (start -3.81 7.62) (end 3.81 -5.08) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + ) + (symbol "SW_DIP_x04_1_1" + (pin passive line (at -7.62 5.08 0) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -7.62 2.54 0) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -7.62 0 0) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -7.62 -2.54 0) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 -2.54 180) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 0 180) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 2.54 180) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 7.62 5.08 180) (length 5.08) + (name "~" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 0 3.556 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"+5V\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "+5V_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "+5V" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 0 -3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 -1.27) + (xy 1.27 -1.27) + (xy 0 -2.54) + (xy -1.27 -1.27) + (xy 0 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "GND_1_1" + (pin power_in line (at 0 0 270) (length 0) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:VBUS" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "VBUS" (at 0 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"VBUS\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "VBUS_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "VBUS_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "VBUS" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 151.13 107.95) (diameter 0) (color 0 0 0 0) + (uuid 07d05268-de41-46f8-a7d2-ce91d1ad940f) + ) + (junction (at 63.5 133.35) (diameter 0) (color 0 0 0 0) + (uuid 07e0c81b-7d91-420c-bc92-fe4a3ef29435) + ) + (junction (at 27.94 167.64) (diameter 0) (color 0 0 0 0) + (uuid 0b681904-1acd-4e66-9e6a-7c0ec4f53e24) + ) + (junction (at 67.31 45.72) (diameter 0) (color 0 0 0 0) + (uuid 0c36177f-5365-4be2-bf11-bfc7277ac63d) + ) + (junction (at 146.05 107.95) (diameter 0) (color 0 0 0 0) + (uuid 2e2bc82d-b10b-49ac-b23e-e82890ad9723) + ) + (junction (at 57.15 34.29) (diameter 0) (color 0 0 0 0) + (uuid 3116c95e-537b-4d0c-911e-cbc0894550ec) + ) + (junction (at 57.15 66.04) (diameter 0) (color 0 0 0 0) + (uuid 36770a0c-419a-4f8e-9eb0-fb723ee88501) + ) + (junction (at 67.31 29.21) (diameter 0) (color 0 0 0 0) + (uuid 3dc6ef72-9ec2-409b-96cb-f819d3989e82) + ) + (junction (at 59.69 166.37) (diameter 0) (color 0 0 0 0) + (uuid 408b27c6-ff85-4f7b-a456-56d1b81fa16c) + ) + (junction (at 72.39 26.67) (diameter 0) (color 0 0 0 0) + (uuid 476afc14-55e8-4f6a-8eee-63f4b1cc5578) + ) + (junction (at 146.05 100.33) (diameter 0) (color 0 0 0 0) + (uuid 4831000f-19c3-4965-b7c8-6a143876bc0f) + ) + (junction (at 27.94 165.1) (diameter 0) (color 0 0 0 0) + (uuid 49ab5742-03ae-45e2-b6b9-1285133ac569) + ) + (junction (at 72.39 58.42) (diameter 0) (color 0 0 0 0) + (uuid 5c5ea1d6-1219-4490-b2c9-1055c63ab43d) + ) + (junction (at 62.23 31.75) (diameter 0) (color 0 0 0 0) + (uuid 6ce1cf08-6f06-4d8a-8659-9416f037118c) + ) + (junction (at 146.05 95.25) (diameter 0) (color 0 0 0 0) + (uuid 733bdbc1-ac7b-4b4b-86ba-622b74e19b68) + ) + (junction (at 62.23 63.5) (diameter 0) (color 0 0 0 0) + (uuid 8e0b53ee-816c-4dde-b5c0-dbacb51c935d) + ) + (junction (at 62.23 45.72) (diameter 0) (color 0 0 0 0) + (uuid a4b0c26a-bfe0-448f-853e-74442eefd277) + ) + (junction (at 59.69 170.18) (diameter 0) (color 0 0 0 0) + (uuid a4d65498-9a02-4887-923b-04ce519f4b47) + ) + (junction (at 39.37 133.35) (diameter 0) (color 0 0 0 0) + (uuid ae5a1d26-6017-4c3e-a847-21723e0ed169) + ) + (junction (at 67.31 60.96) (diameter 0) (color 0 0 0 0) + (uuid bfed438b-b718-457b-9dc0-c7a3195fa904) + ) + (junction (at 67.31 77.47) (diameter 0) (color 0 0 0 0) + (uuid c014b42c-8c5f-4b20-9e79-3f30558eb9f2) + ) + (junction (at 27.94 162.56) (diameter 0) (color 0 0 0 0) + (uuid c93b57ee-c531-40a0-9c7c-37cdc761b79c) + ) + (junction (at 62.23 77.47) (diameter 0) (color 0 0 0 0) + (uuid d6b07791-d838-43ae-a6ad-2359c14d59f4) + ) + (junction (at 35.56 133.35) (diameter 0) (color 0 0 0 0) + (uuid d9d205cc-cd46-42ad-b7f6-ba243e44e0e8) + ) + (junction (at 57.15 77.47) (diameter 0) (color 0 0 0 0) + (uuid dbb0c14c-70b0-4635-a17f-cc5868357016) + ) + (junction (at 146.05 97.79) (diameter 0) (color 0 0 0 0) + (uuid df0a6d94-cd31-4043-b9a0-a06e6f5e58d8) + ) + (junction (at 59.69 162.56) (diameter 0) (color 0 0 0 0) + (uuid e679ab32-1826-4c06-9ee0-03b091f262c2) + ) + (junction (at 151.13 100.33) (diameter 0) (color 0 0 0 0) + (uuid f448de24-5fba-4bcf-9961-ce8fcf6c7679) + ) + (junction (at 57.15 45.72) (diameter 0) (color 0 0 0 0) + (uuid fb840cf2-1aab-417d-bc8b-b88409f7393f) + ) + + (no_connect (at 118.11 134.62) (uuid 9c7accdd-286d-4f04-83ce-1b75b7bd9fa6)) + (no_connect (at 107.95 95.25) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc1)) + (no_connect (at 107.95 97.79) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc2)) + (no_connect (at 107.95 100.33) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc3)) + (no_connect (at 107.95 102.87) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc4)) + (no_connect (at 107.95 107.95) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc5)) + (no_connect (at 107.95 105.41) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc6)) + (no_connect (at 107.95 57.15) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc7)) + (no_connect (at 107.95 64.77) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc8)) + (no_connect (at 146.05 57.15) (uuid a7d16590-a4d3-4189-9f77-af2420e93bc9)) + (no_connect (at 146.05 44.45) (uuid a7d16590-a4d3-4189-9f77-af2420e93bca)) + (no_connect (at 146.05 41.91) (uuid a7d16590-a4d3-4189-9f77-af2420e93bcb)) + (no_connect (at 107.95 54.61) (uuid a7d16590-a4d3-4189-9f77-af2420e93bcc)) + (no_connect (at 146.05 26.67) (uuid a7d16590-a4d3-4189-9f77-af2420e93bcd)) + (no_connect (at 146.05 29.21) (uuid a7d16590-a4d3-4189-9f77-af2420e93bce)) + (no_connect (at 146.05 31.75) (uuid a7d16590-a4d3-4189-9f77-af2420e93bcf)) + (no_connect (at 146.05 54.61) (uuid a7d16590-a4d3-4189-9f77-af2420e93bd0)) + (no_connect (at 146.05 46.99) (uuid a7d16590-a4d3-4189-9f77-af2420e93bd1)) + (no_connect (at 146.05 49.53) (uuid a7d16590-a4d3-4189-9f77-af2420e93bd2)) + + (polyline (pts (xy 92.71 149.86) (xy 92.71 179.07)) + (stroke (width 0) (type default)) + (uuid 01eef14e-b6fa-4859-a738-a8f9942ab1bd) + ) + + (wire (pts (xy 62.23 45.72) (xy 67.31 45.72)) + (stroke (width 0) (type default)) + (uuid 04575181-56e7-46b1-a5d6-f722ad081222) + ) + (wire (pts (xy 72.39 58.42) (xy 74.93 58.42)) + (stroke (width 0) (type default)) + (uuid 0a6bf7d8-df9f-43ca-a4bc-94544f1553ed) + ) + (wire (pts (xy 52.07 58.42) (xy 72.39 58.42)) + (stroke (width 0) (type default)) + (uuid 0c2f2577-98b0-40a8-ae59-f0185f44b7db) + ) + (polyline (pts (xy 19.05 113.03) (xy 19.05 147.32)) + (stroke (width 0) (type default)) + (uuid 0e7abb47-9c8c-4ce3-a5fb-5d58ea22db7b) + ) + + (wire (pts (xy 57.15 34.29) (xy 57.15 38.1)) + (stroke (width 0) (type default)) + (uuid 12f8a098-f63a-45c2-819a-975a6cfc59d6) + ) + (wire (pts (xy 27.94 31.75) (xy 44.45 31.75)) + (stroke (width 0) (type default)) + (uuid 141282dc-4fd9-48a1-8d1f-612f78e1c306) + ) + (wire (pts (xy 62.23 38.1) (xy 62.23 31.75)) + (stroke (width 0) (type default)) + (uuid 1a4ca2a2-0417-4b41-a837-45fae1a5741f) + ) + (wire (pts (xy 27.94 63.5) (xy 44.45 63.5)) + (stroke (width 0) (type default)) + (uuid 1df31f49-e23f-4da7-9392-96da08beaffe) + ) + (wire (pts (xy 67.31 29.21) (xy 74.93 29.21)) + (stroke (width 0) (type default)) + (uuid 1fdd0fe1-0ab5-45d5-91dd-398f29a1783f) + ) + (wire (pts (xy 52.07 29.21) (xy 67.31 29.21)) + (stroke (width 0) (type default)) + (uuid 215289f9-cf55-4e1c-ae89-2945ba98cc60) + ) + (wire (pts (xy 59.69 158.75) (xy 59.69 162.56)) + (stroke (width 0) (type default)) + (uuid 2633f33f-1023-4c76-bfe4-9f05510c79cd) + ) + (wire (pts (xy 74.93 162.56) (xy 69.85 162.56)) + (stroke (width 0) (type default)) + (uuid 26e54248-b54d-4554-9ed6-10aee344ad12) + ) + (wire (pts (xy 27.94 162.56) (xy 27.94 165.1)) + (stroke (width 0) (type default)) + (uuid 2978d918-3375-4a04-bf14-dd3d519b52c5) + ) + (wire (pts (xy 59.69 162.56) (xy 59.69 166.37)) + (stroke (width 0) (type default)) + (uuid 2b32cbb1-57fc-48f5-a19b-61971b9b543c) + ) + (polyline (pts (xy 92.71 86.36) (xy 92.71 17.78)) + (stroke (width 0) (type default)) + (uuid 2d3e128e-5342-4da3-859d-ae73d0d19f88) + ) + + (wire (pts (xy 146.05 107.95) (xy 151.13 107.95)) + (stroke (width 0) (type default)) + (uuid 2e0faaf7-001e-4306-a88f-a263a0e85afc) + ) + (wire (pts (xy 57.15 77.47) (xy 62.23 77.47)) + (stroke (width 0) (type default)) + (uuid 32cc0351-d27f-443b-b711-cbf0c1e157dc) + ) + (wire (pts (xy 27.94 29.21) (xy 44.45 29.21)) + (stroke (width 0) (type default)) + (uuid 34b72486-bcf0-486c-8541-834e6ee76fd8) + ) + (wire (pts (xy 74.93 170.18) (xy 69.85 170.18)) + (stroke (width 0) (type default)) + (uuid 360afedf-002f-4149-867f-01e67fea2e44) + ) + (wire (pts (xy 52.07 66.04) (xy 57.15 66.04)) + (stroke (width 0) (type default)) + (uuid 37369fba-b399-45b8-863b-a7f5cb7ea1cb) + ) + (wire (pts (xy 52.07 26.67) (xy 72.39 26.67)) + (stroke (width 0) (type default)) + (uuid 39b5479a-be31-46e9-ad86-bc7484e6cd67) + ) + (wire (pts (xy 147.32 77.47) (xy 146.05 77.47)) + (stroke (width 0) (type default)) + (uuid 3b17c69d-937c-43e6-b8d7-d74000ab69db) + ) + (wire (pts (xy 151.13 100.33) (xy 156.21 100.33)) + (stroke (width 0) (type default)) + (uuid 3b84203a-73d2-4f54-a2ec-d38b7a6a7c4b) + ) + (polyline (pts (xy 95.25 139.7) (xy 95.25 118.11)) + (stroke (width 0) (type default)) + (uuid 413ec156-248d-4cad-9f36-9ed9654f3ef4) + ) + + (wire (pts (xy 52.07 31.75) (xy 62.23 31.75)) + (stroke (width 0) (type default)) + (uuid 45dd38fe-890a-43ee-8a39-75644cf4516c) + ) + (polyline (pts (xy 92.71 147.32) (xy 92.71 113.03)) + (stroke (width 0) (type default)) + (uuid 469189cd-7e4b-4eb5-b255-4479d131aaab) + ) + + (wire (pts (xy 35.56 133.35) (xy 39.37 133.35)) + (stroke (width 0) (type default)) + (uuid 4a139dc6-4ee2-4c41-94d1-6011e681b991) + ) + (wire (pts (xy 52.07 60.96) (xy 67.31 60.96)) + (stroke (width 0) (type default)) + (uuid 4d62debe-6b97-4214-8c3f-3e19f77cf54c) + ) + (polyline (pts (xy 19.05 149.86) (xy 92.71 149.86)) + (stroke (width 0) (type default)) + (uuid 4f2364f4-6bdd-4cdd-8fba-1c409795b7ed) + ) + + (wire (pts (xy 39.37 128.27) (xy 39.37 133.35)) + (stroke (width 0) (type default)) + (uuid 501ba304-11b3-42c9-a443-b79ab11d1044) + ) + (wire (pts (xy 62.23 63.5) (xy 74.93 63.5)) + (stroke (width 0) (type default)) + (uuid 53325d5c-f6b8-4f4d-9b4e-a8ce6e622723) + ) + (polyline (pts (xy 95.25 118.11) (xy 180.34 118.11)) + (stroke (width 0) (type default)) + (uuid 55145ce2-1d0f-4a92-aad4-02113249e50f) + ) + + (wire (pts (xy 74.93 166.37) (xy 69.85 166.37)) + (stroke (width 0) (type default)) + (uuid 59d0db79-ea9a-41a5-9571-95e8ac55e865) + ) + (polyline (pts (xy 19.05 110.49) (xy 92.71 110.49)) + (stroke (width 0) (type default)) + (uuid 5ebdde0d-d676-441e-907a-8fa2bf31ee70) + ) + (polyline (pts (xy 19.05 113.03) (xy 92.71 113.03)) + (stroke (width 0) (type default)) + (uuid 600877e6-d921-45e3-875a-f87f35f82f64) + ) + + (wire (pts (xy 59.69 170.18) (xy 59.69 172.72)) + (stroke (width 0) (type default)) + (uuid 621e9d5b-afb6-4f65-a3f6-e17c92df0d62) + ) + (polyline (pts (xy 19.05 86.36) (xy 92.71 86.36)) + (stroke (width 0) (type default)) + (uuid 65347d99-aea4-4701-a72a-683888b02d8b) + ) + + (wire (pts (xy 151.13 107.95) (xy 156.21 107.95)) + (stroke (width 0) (type default)) + (uuid 67e90107-35b7-453e-ae12-a4bc12438e6c) + ) + (wire (pts (xy 57.15 45.72) (xy 62.23 45.72)) + (stroke (width 0) (type default)) + (uuid 68903c88-329f-426b-850f-440ee3db9695) + ) + (polyline (pts (xy 95.25 115.57) (xy 180.34 115.57)) + (stroke (width 0) (type default)) + (uuid 68eed7fd-bd7b-44ce-9762-d245b4d58683) + ) + + (wire (pts (xy 62.23 77.47) (xy 67.31 77.47)) + (stroke (width 0) (type default)) + (uuid 69d942a4-6903-4cb8-b7c8-3fa8bc33f5aa) + ) + (wire (pts (xy 27.94 165.1) (xy 27.94 167.64)) + (stroke (width 0) (type default)) + (uuid 6a4988a4-4609-4410-a1a1-c69cfa371a94) + ) + (wire (pts (xy 116.84 127) (xy 118.11 127)) + (stroke (width 0) (type default)) + (uuid 6cc95f8a-5ff0-47d7-ac28-84e8e42f9a47) + ) + (wire (pts (xy 67.31 77.47) (xy 72.39 77.47)) + (stroke (width 0) (type default)) + (uuid 77f3a9ce-15d7-4017-93d1-ed047ad1f612) + ) + (wire (pts (xy 67.31 60.96) (xy 74.93 60.96)) + (stroke (width 0) (type default)) + (uuid 79afb8cf-5f43-4f1e-9d9d-cec571b6f8af) + ) + (polyline (pts (xy 92.71 110.49) (xy 92.71 88.9)) + (stroke (width 0) (type default)) + (uuid 7eeda95d-54ad-4035-97e4-6a15ea56e33c) + ) + (polyline (pts (xy 19.05 147.32) (xy 92.71 147.32)) + (stroke (width 0) (type default)) + (uuid 7fb1faa0-cdbe-4a9d-a44f-eaaa09dc00af) + ) + + (wire (pts (xy 57.15 78.74) (xy 57.15 77.47)) + (stroke (width 0) (type default)) + (uuid 811344b9-cb39-4d4f-a3bf-7e16bf1804aa) + ) + (wire (pts (xy 52.07 34.29) (xy 57.15 34.29)) + (stroke (width 0) (type default)) + (uuid 90c98b71-b7a9-4790-b2b2-87eca8a817c3) + ) + (wire (pts (xy 146.05 95.25) (xy 148.59 95.25)) + (stroke (width 0) (type default)) + (uuid 94e6b587-0812-4928-8396-e0c5d9550174) + ) + (wire (pts (xy 27.94 66.04) (xy 44.45 66.04)) + (stroke (width 0) (type default)) + (uuid 96ddadaf-bd52-490c-907e-51575c933f42) + ) + (wire (pts (xy 62.23 31.75) (xy 74.93 31.75)) + (stroke (width 0) (type default)) + (uuid 9bf5cab4-94a3-4da3-897b-d23449ce6b8d) + ) + (wire (pts (xy 146.05 95.25) (xy 146.05 97.79)) + (stroke (width 0) (type default)) + (uuid a43f3286-c27e-4ef5-8af9-565f1caf7f57) + ) + (polyline (pts (xy 95.25 17.78) (xy 95.25 115.57)) + (stroke (width 0) (type default)) + (uuid a443a69a-e14c-4c1e-abc1-0ae448010d32) + ) + + (wire (pts (xy 27.94 26.67) (xy 44.45 26.67)) + (stroke (width 0) (type default)) + (uuid a48a79fe-261a-4b39-8451-a91f8e996c81) + ) + (wire (pts (xy 27.94 34.29) (xy 44.45 34.29)) + (stroke (width 0) (type default)) + (uuid a80fc0c1-3e19-48c2-a696-55594a3b1106) + ) + (polyline (pts (xy 19.05 88.9) (xy 92.71 88.9)) + (stroke (width 0) (type default)) + (uuid aa57cb31-dac2-4b99-9d09-ecec994aa36a) + ) + (polyline (pts (xy 92.71 179.07) (xy 19.05 179.07)) + (stroke (width 0) (type default)) + (uuid ac5eaaaa-6229-4592-a307-626eeafcd25d) + ) + + (wire (pts (xy 27.94 60.96) (xy 44.45 60.96)) + (stroke (width 0) (type default)) + (uuid add30d8c-8656-4b0e-b2d6-d4f43605e1b7) + ) + (wire (pts (xy 67.31 60.96) (xy 67.31 69.85)) + (stroke (width 0) (type default)) + (uuid af71397d-01b5-41da-84dc-1f17bc5439fe) + ) + (wire (pts (xy 67.31 29.21) (xy 67.31 38.1)) + (stroke (width 0) (type default)) + (uuid b3544f8b-2756-46cf-b33a-7f3b04e8ff5f) + ) + (polyline (pts (xy 19.05 17.78) (xy 19.05 86.36)) + (stroke (width 0) (type default)) + (uuid b677f613-6d56-4dfb-a5b5-5ca596fac04d) + ) + + (wire (pts (xy 27.94 58.42) (xy 44.45 58.42)) + (stroke (width 0) (type default)) + (uuid b68ad6c7-3475-4412-8382-dc19b7db4896) + ) + (wire (pts (xy 62.23 69.85) (xy 62.23 63.5)) + (stroke (width 0) (type default)) + (uuid bb48815d-adc4-4402-a20e-0c38b8f3201a) + ) + (wire (pts (xy 146.05 97.79) (xy 146.05 100.33)) + (stroke (width 0) (type default)) + (uuid bba91a71-7332-4794-ad72-f02c53a0439c) + ) + (wire (pts (xy 146.05 100.33) (xy 151.13 100.33)) + (stroke (width 0) (type default)) + (uuid bbea8d99-2626-496f-9f96-c850e6bd1ae3) + ) + (wire (pts (xy 57.15 34.29) (xy 74.93 34.29)) + (stroke (width 0) (type default)) + (uuid bc462c0a-740f-4d3c-9271-ce0db3feab71) + ) + (wire (pts (xy 57.15 66.04) (xy 74.93 66.04)) + (stroke (width 0) (type default)) + (uuid bf102e67-75d7-4f0e-ac38-593a20526a8e) + ) + (wire (pts (xy 62.23 133.35) (xy 63.5 133.35)) + (stroke (width 0) (type default)) + (uuid c23e174f-a351-4088-9029-804ff472b310) + ) + (wire (pts (xy 72.39 26.67) (xy 72.39 38.1)) + (stroke (width 0) (type default)) + (uuid c62edd4a-d259-4ff2-ad8f-d7fa9ec37e77) + ) + (wire (pts (xy 116.84 129.54) (xy 118.11 129.54)) + (stroke (width 0) (type default)) + (uuid cad49b88-33c6-4152-8174-1424ccd921c0) + ) + (wire (pts (xy 72.39 58.42) (xy 72.39 69.85)) + (stroke (width 0) (type default)) + (uuid cb213812-9381-4872-9e1f-e4d31c4686cf) + ) + (polyline (pts (xy 92.71 17.78) (xy 19.05 17.78)) + (stroke (width 0) (type default)) + (uuid cdc12cce-c6a9-49cc-be63-f4d530c46cde) + ) + (polyline (pts (xy 19.05 149.86) (xy 19.05 179.07)) + (stroke (width 0) (type default)) + (uuid d40f4c5c-1bca-4a31-93b6-e1fd540bb4a9) + ) + (polyline (pts (xy 180.34 118.11) (xy 180.34 139.7)) + (stroke (width 0) (type default)) + (uuid df060897-d83a-45c5-9869-27c73ef62bbf) + ) + + (wire (pts (xy 27.94 160.02) (xy 27.94 162.56)) + (stroke (width 0) (type default)) + (uuid e0219c49-4a76-41ac-a7b3-44ae27f7f236) + ) + (wire (pts (xy 72.39 26.67) (xy 74.93 26.67)) + (stroke (width 0) (type default)) + (uuid e081e073-2450-4e4f-810b-28c18c9e0a1c) + ) + (polyline (pts (xy 19.05 88.9) (xy 19.05 110.49)) + (stroke (width 0) (type default)) + (uuid e22f5251-23e3-41d3-a920-5bd1ef47c4bd) + ) + (polyline (pts (xy 180.34 17.78) (xy 95.25 17.78)) + (stroke (width 0) (type default)) + (uuid e50d5732-050b-492b-b229-bf60cbd6c7ab) + ) + (polyline (pts (xy 180.34 139.7) (xy 95.25 139.7)) + (stroke (width 0) (type default)) + (uuid e698c3c5-843c-4f2a-bde9-659d957bef5c) + ) + + (wire (pts (xy 35.56 128.27) (xy 35.56 133.35)) + (stroke (width 0) (type default)) + (uuid e7e7e60f-3699-4279-9bc6-359d3dc67d3a) + ) + (wire (pts (xy 57.15 46.99) (xy 57.15 45.72)) + (stroke (width 0) (type default)) + (uuid e93ee035-0dc0-4061-990e-666485587107) + ) + (wire (pts (xy 52.07 63.5) (xy 62.23 63.5)) + (stroke (width 0) (type default)) + (uuid ea2c061c-ece8-4f69-878a-fd5ec5d04454) + ) + (wire (pts (xy 63.5 133.35) (xy 64.77 133.35)) + (stroke (width 0) (type default)) + (uuid eb0cbf55-dbed-4ed7-ab8c-3a1ceb667bc7) + ) + (wire (pts (xy 57.15 66.04) (xy 57.15 69.85)) + (stroke (width 0) (type default)) + (uuid eb891ad8-6bed-4b29-b3a4-4e7352005823) + ) + (polyline (pts (xy 180.34 115.57) (xy 180.34 17.78)) + (stroke (width 0) (type default)) + (uuid ec5e18e8-59e5-48ef-860e-615f4fd54045) + ) + + (wire (pts (xy 39.37 133.35) (xy 46.99 133.35)) + (stroke (width 0) (type default)) + (uuid f1df4ba8-26f4-44a9-8cf6-9dd3afc93ae0) + ) + (wire (pts (xy 27.94 167.64) (xy 27.94 170.18)) + (stroke (width 0) (type default)) + (uuid f4898732-0e48-4393-815d-04296008a161) + ) + (wire (pts (xy 59.69 166.37) (xy 59.69 170.18)) + (stroke (width 0) (type default)) + (uuid f5337e78-5789-4bbb-a7ea-508b34532ac6) + ) + (wire (pts (xy 67.31 45.72) (xy 72.39 45.72)) + (stroke (width 0) (type default)) + (uuid f7673232-e7d4-4dcd-b7ef-32f01ca3bd34) + ) + (wire (pts (xy 74.93 158.75) (xy 69.85 158.75)) + (stroke (width 0) (type default)) + (uuid f9da2784-e8a3-423e-92e3-09f06d4a280c) + ) + + (text "USB-UART" (at 166.37 121.92 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 02020db9-5f74-40ed-a5db-159751ab70c3) + ) + (text "FILTER" (at 83.82 21.59 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 26231d5a-673e-4d37-9e56-44e94116e693) + ) + (text "SETTING BITS" (at 78.74 153.67 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 862d4a3e-8454-4a06-bff6-7eed3e04a464) + ) + (text "DEBUG INTERFACE" (at 73.66 92.71 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 86be5eea-45cc-450d-8e95-83a068e01f90) + ) + (text "STM32" (at 171.45 20.32 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 8be95787-d1f0-40ac-9ee3-6408ae6df616) + ) + (text "POWER" (at 82.55 116.84 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid acc7bd95-68b3-4014-b8f0-cd0f7aa151f6) + ) + + (global_label "STM_VCC" (shape input) (at 41.91 97.79 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 05245e63-c548-47f3-b65f-6715964b92cc) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 31.2721 97.8694 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC8" (shape input) (at 107.95 44.45 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 090786a6-c749-4bcd-a1df-5a38eb6e4b79) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 44.3706 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SET3" (shape input) (at 43.18 165.1 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 0df4fb47-3ceb-4014-8112-83e1805d00f6) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 50.1288 165.0206 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC3" (shape output) (at 74.93 31.75 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 24a9d140-336a-461d-a9d5-acb53aeac132) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 31.6706 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC4" (shape input) (at 107.95 34.29 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 250cd870-5784-4cc6-a189-1fefb9ed206c) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 34.2106 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SET4" (shape input) (at 146.05 36.83 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 292afc48-99bd-48e2-85ae-139978a51de2) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 152.9988 36.7506 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC6" (shape input) (at 107.95 39.37 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3454e1a0-aa92-4b06-92f7-b0088e5d6d0f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 39.2906 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SWDIO" (shape input) (at 41.91 100.33 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3b569a06-0dac-4010-a2c5-5acd283de26b) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.6307 100.2506 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC8" (shape output) (at 74.93 66.04 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 3eac4658-bd88-4099-a1d7-b4172ab718ba) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 65.9606 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET4" (shape input) (at 43.18 167.64 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5773fc33-33e2-4e8c-a5e8-2da0a9ca50c1) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 50.1288 167.5606 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "STM_VCC" (shape output) (at 64.77 133.35 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 5b748f54-c851-47e6-8d6e-12afe3de5293) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 75.4079 133.2706 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "STM_VCC" (shape input) (at 137.16 127 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 690ce475-0925-4b8c-9389-3822f5743302) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 147.7979 126.9206 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "STM_VCC" (shape input) (at 148.59 95.25 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 6b1c0436-08bb-4e36-b8db-7e6e0b7c14e3) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 159.2279 95.1706 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC4" (shape output) (at 74.93 34.29 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7a75fbcb-db20-4c7e-a3bf-3b04c1d0c6bb) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 34.2106 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC5" (shape output) (at 74.93 58.42 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7a97ccab-74f9-4af5-9a66-8696b4fe87f6) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 58.3406 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET1" (shape input) (at 43.18 160.02 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 7b3ba464-4d77-44f9-a1a5-ac7705aa9aec) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 50.1288 159.9406 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SWDIO" (shape input) (at 107.95 59.69 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 92fb0f75-9e86-4082-8258-12406780480a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 99.6707 59.6106 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SET1" (shape input) (at 107.95 72.39 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 93de0d5b-669a-4d9b-a776-2363ab5e9232) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 101.0012 72.3106 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC7" (shape output) (at 74.93 63.5 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 97af08ee-1515-43db-bb5c-11b7d0d1a828) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 63.4206 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET2" (shape input) (at 74.93 162.56 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 97b71403-c06a-46d4-926b-7babc3234e77) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 81.8788 162.4806 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET3" (shape input) (at 146.05 34.29 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9a192175-b33e-44e8-b236-357a78d148aa) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 152.9988 34.2106 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "STM_VCC" (shape input) (at 64.77 97.79 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 9e125816-99fa-409b-8457-8b22db0f897a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 54.1321 97.8694 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC2" (shape input) (at 107.95 29.21 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a901eed4-bbd2-49ca-b00d-d3386fdf41a6) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 29.1306 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC6" (shape output) (at 74.93 60.96 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a9158ae7-264e-4f09-86ee-9d97b58402f9) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 60.8806 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET2" (shape input) (at 107.95 69.85 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a98c5a65-1f66-418d-b04e-73836507419f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 101.0012 69.7706 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC2" (shape output) (at 74.93 29.21 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid abda91be-2f1c-4958-a3b1-dc4fbf86a364) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 29.1306 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SWCLK" (shape input) (at 107.95 62.23 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ad21d66f-6879-43d6-9a0b-231ab1f75918) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 99.3079 62.1506 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "STM_VCC" (shape input) (at 152.4 127 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b2c12c33-1e7c-4d86-bff7-ba39da9e4d65) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 163.0379 126.9206 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET3" (shape input) (at 74.93 166.37 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid b7dda6f6-f547-4dc0-9040-bb52a9eb12cf) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 81.8788 166.2906 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC3" (shape input) (at 107.95 31.75 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c743543f-122c-43b1-a224-0fdee6e8ae99) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 31.6706 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SET2" (shape input) (at 43.18 162.56 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid c782cc9e-6d11-4b0f-8cf5-ac8555970d00) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 50.1288 162.4806 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC1" (shape input) (at 107.95 26.67 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d6981139-2cca-47f1-9673-9d7165e35429) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 26.5906 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SET4" (shape input) (at 74.93 170.18 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid e56e609d-dc18-4fe0-8cac-060452a2833c) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 81.8788 170.1006 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SET1" (shape input) (at 74.93 158.75 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f0a4a83b-6197-4b03-8b8b-1a93210bf5df) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 81.8788 158.6706 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SWCLK" (shape input) (at 41.91 105.41 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid f0ff41ec-db02-4818-8aa6-c9cb9980e39f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 105.3306 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "STM_VCC" (shape input) (at 137.16 134.62 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f8a95a3e-0197-4a9d-b916-aa80966e4f35) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 147.7979 134.5406 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC7" (shape input) (at 107.95 41.91 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fb25c252-5940-4ad2-8c17-49d07a1c0a4b) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 41.8306 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "ADC1" (shape output) (at 74.93 26.67 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid fd5eac41-80de-4d1f-8abd-6cdcfa4a75bd) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 82.1812 26.5906 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "ADC5" (shape input) (at 107.95 36.83 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fec07344-c2a4-477c-867b-81417eb88ca3) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 100.6988 36.7506 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + + (hierarchical_label "USB_DN" (shape bidirectional) (at 116.84 129.54 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1252a495-75a1-4fbb-bba4-c7bcd1cf559c) + ) + (hierarchical_label "OUT3" (shape output) (at 107.95 87.63 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 17718c70-9063-4f3e-8485-fe3a110b5219) + ) + (hierarchical_label "IN8" (shape input) (at 27.94 66.04 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1836c16f-227a-4c95-af29-fb94407acdbd) + ) + (hierarchical_label "IN7" (shape input) (at 27.94 63.5 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 198ca48c-a228-4086-9921-2d9d8e2b2c4b) + ) + (hierarchical_label "RXD" (shape input) (at 137.16 132.08 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 1aa3aa6a-372d-439e-91cc-cc2cf0faaa81) + ) + (hierarchical_label "IN1" (shape input) (at 27.94 26.67 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1b8f4b56-83d8-444a-9d61-27fc95b7040b) + ) + (hierarchical_label "IN2" (shape input) (at 27.94 29.21 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 33f868fd-1a59-4b58-9e3e-6e6e4da94231) + ) + (hierarchical_label "STA1" (shape output) (at 107.95 46.99 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 40a03083-23f3-4012-b556-21da455da949) + ) + (hierarchical_label "OUT1" (shape output) (at 107.95 92.71 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4741da7f-c966-4d1a-96d1-e6ed384b1a67) + ) + (hierarchical_label "OUT4" (shape output) (at 107.95 85.09 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 4927d92f-1f22-4ed1-a29e-9018f8da2276) + ) + (hierarchical_label "OUT6" (shape output) (at 107.95 80.01 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 70b12883-7322-44f1-a21b-a81619262c72) + ) + (hierarchical_label "IN6" (shape input) (at 27.94 60.96 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 77f82bee-e866-4061-a406-427e08dc8a04) + ) + (hierarchical_label "IN4" (shape input) (at 27.94 34.29 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 7a84effb-6a21-4298-921d-e17f629b6a9c) + ) + (hierarchical_label "TXD" (shape input) (at 137.16 129.54 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 99bfad51-b3f1-4b02-8a08-3cd38b405505) + ) + (hierarchical_label "TXD" (shape output) (at 107.95 49.53 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a276e7ec-e33a-40f9-a014-ed10de23ae89) + ) + (hierarchical_label "IN5" (shape input) (at 27.94 58.42 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid a3d26338-b8ec-4f75-83da-4874d74574e8) + ) + (hierarchical_label "USB_DP" (shape bidirectional) (at 116.84 127 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid adb90184-c3fa-40f6-a544-2a8c3d5b1cd6) + ) + (hierarchical_label "OUT2" (shape output) (at 107.95 90.17 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b8ffc503-6925-4d15-b8ed-97623e2e0dcd) + ) + (hierarchical_label "RXD" (shape input) (at 64.77 105.41 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c417ce23-46b3-4391-88a1-4da3cc457261) + ) + (hierarchical_label "IN3" (shape input) (at 27.94 31.75 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid cf66867a-8970-4383-b6b1-037d6b8e437f) + ) + (hierarchical_label "RXD" (shape input) (at 107.95 52.07 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d40eb950-276d-472f-a1b3-7579b137938a) + ) + (hierarchical_label "TXD" (shape input) (at 64.77 100.33 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d84022f0-9741-4c81-97f1-66096dbdaa6b) + ) + (hierarchical_label "OUT7" (shape output) (at 107.95 77.47 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid dea2cd7c-16b0-4176-a2d3-474cc80fdb6c) + ) + (hierarchical_label "OUT8" (shape output) (at 107.95 74.93 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid e5cfe608-8ef0-4f4b-af9a-c88d11d6936f) + ) + (hierarchical_label "OUT5" (shape output) (at 107.95 82.55 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid f0074086-e626-4778-be15-5b38656b8ea3) + ) + + (symbol (lib_id "Device:C") (at 62.23 41.91 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 00c40ca3-69b1-425c-ac2c-9750d4928317) + (property "Reference" "C27" (at 76.2 40.6369 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 81.28 43.18 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 63.1952 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 62.23 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c4dc2b01-55ea-49db-add3-fb46b324ce44)) + (pin "2" (uuid 774942bd-e90d-4841-944b-a03d6e642fc9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C27") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 72.39 41.91 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 01c63594-e5a0-4351-abc6-d06d766e04c7) + (property "Reference" "C31" (at 76.2 45.7169 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 76.2 48.2569 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 73.3552 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 72.39 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 71a86636-faf1-4ef3-bf76-3223be482144)) + (pin "2" (uuid add651fc-880a-4358-bb66-5146a6204462)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C31") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 35.56 120.65 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 02edf291-a58a-449c-a9b9-364d338424d0) + (property "Reference" "#PWR074" (at 35.56 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 34.29 116.84 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 35.56 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 35.56 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 37398e30-a2ee-4900-950d-a12e5d659f98)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR074") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Jumper:Jumper_2_Open") (at 64.77 166.37 0) (unit 1) + (in_bom no) (on_board yes) (dnp no) + (uuid 0d200db7-4a93-4e9a-b2d7-9d88abdc2495) + (property "Reference" "JP3" (at 71.12 165.1 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Jumper_2_Open" (at 64.77 163.5561 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:JP_0603" (at 64.77 166.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 64.77 166.37 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4089d475-106d-4c5f-8144-ceae095079f7)) + (pin "2" (uuid 3c64a882-92e1-4643-b58d-fa56d9a0e7cc)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "JP3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 152.4 134.62 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 0f00cb8b-0635-40ec-9012-9a9e21201f6e) + (property "Reference" "#PWR0105" (at 152.4 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 152.4 139.0634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 152.4 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 152.4 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c69bb5f6-bc20-46f8-a27d-9796d3656932)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR0105") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 63.5 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 0fcf158c-8ec6-4a51-8caa-a6ac2652988b) + (property "Reference" "R89" (at 55.88 62.23 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 63.5 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 65.278 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d0f77223-a335-4093-9fe6-41f4d7bd53bd)) + (pin "2" (uuid 111d9c34-2e5f-4141-9ac1-c9d62db016a3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R96") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "NewLib:CH340N") (at 118.11 127 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 100d3ceb-a6da-446c-a63c-1d6e6c7a6da8) + (property "Reference" "U9" (at 127.635 120.811 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "CH340N" (at 127.635 123.3479 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" (at 118.11 127 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 115.57 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 83b4bcb6-75d6-4ecb-a93e-5ef106dab932)) + (pin "2" (uuid 81dd8ddb-b891-4e88-9e9e-344786e0f0f3)) + (pin "3" (uuid 6e5b74e4-4e66-4870-8d5f-058280febc75)) + (pin "4" (uuid 69de646d-eb78-4ac2-b9d5-ae168b953ac1)) + (pin "5" (uuid e84f6b24-1bc9-4ef9-83f2-36cf9cc83fbe)) + (pin "6" (uuid f8acee95-23e9-4532-8ba6-73e760c1df97)) + (pin "7" (uuid 5067e98f-de95-4fae-97ae-1d258912f800)) + (pin "8" (uuid 61f19664-34f2-42dc-a915-3e59654d38c2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "U9") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 64.77 102.87 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 11f108ea-b662-46a2-a1be-4b7fc0e97958) + (property "Reference" "#PWR083" (at 58.42 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 60.3266 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 64.77 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 64.77 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8852b83e-3e67-4534-a2b7-718ad8713eda)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR083") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 58.42 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 23bf2370-8454-4eca-8ef5-531b053e7767) + (property "Reference" "R89" (at 55.88 57.15 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 58.42 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 60.198 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e2706690-bb78-48b2-87f0-4b005ef6afda)) + (pin "2" (uuid 96bab556-237d-4f1e-8f9b-820027b4faa0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R94") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 27.94 170.18 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 264f6161-f5e8-4724-ba56-f7222af9d687) + (property "Reference" "#PWR080" (at 27.94 176.53 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 27.94 174.6234 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 27.94 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 27.94 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eb728e20-380e-4207-bb1a-f8ec64e7ff8c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR080") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 57.15 46.99 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 299557dd-cc9c-4750-8326-87fea5fcffa1) + (property "Reference" "#PWR072" (at 57.15 53.34 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 57.15 51.4334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 57.15 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 57.15 46.99 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d78766da-8e0d-4655-a3f9-a0403079af41)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR072") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_01x04") (at 46.99 100.33 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 2b623c30-ca01-48a5-ab6b-dbd1aafb2bae) + (property "Reference" "J4" (at 45.72 95.25 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "Conn_01x04" (at 49.022 103.3022 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Connector_PinSocket_2.00mm:PinSocket_1x04_P2.00mm_Vertical" (at 46.99 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 46.99 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d6584ac4-4ade-464f-b274-11a565809767)) + (pin "2" (uuid efdb143f-2769-4ed6-a46d-5f31d8129d37)) + (pin "3" (uuid fc638b9a-6cd3-4965-bd48-a69cb2e39c42)) + (pin "4" (uuid e29bee05-d956-4fa5-aba6-0acc3bbbc5c1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "J4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 57.15 73.66 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 2ef3d5bb-906d-4264-9959-a291e9935268) + (property "Reference" "C26" (at 76.2 69.85 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 76.2 74.93 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 58.1152 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 57.15 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 10783384-179b-4346-bfe0-b600c3f3973c)) + (pin "2" (uuid 1257f9c4-9bbd-43cd-9eaf-6d107ec5738d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C26") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 35.56 137.16 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3579314f-9550-4a28-b5f1-a1c99ce99288) + (property "Reference" "C33" (at 38.481 136.3253 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10uF/16V" (at 38.481 138.8622 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 36.5252 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 35.56 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 53e13b3e-1403-44f0-95b1-371b85284601)) + (pin "2" (uuid 2f8d8b2a-eff5-4455-88fc-88da63051d4b)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C33") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 34.29 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4197b9a3-72a5-4c42-b988-c846613874d3) + (property "Reference" "R89" (at 55.88 33.02 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 34.29 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 36.068 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a1fee34f-56b9-4710-97af-f0e629216b73)) + (pin "2" (uuid 1aa0ef71-52f9-4236-96b5-15100a8ccd0a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R93") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Switch:SW_DIP_x04") (at 35.56 165.1 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4c4dd293-f1da-4076-8949-7825f289d309) + (property "Reference" "SW1" (at 35.56 156.21 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "SW_DIP_x04" (at 35.56 156.3171 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "Button_Switch_SMD:SW_DIP_SPSTx04_Slide_Copal_CHS-04B_W7.62mm_P1.27mm" (at 35.56 165.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 35.56 165.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c8929721-5835-4b0a-8485-25c9978c3036)) + (pin "2" (uuid 9bfdd22e-5a8f-49a0-8d34-33be45718976)) + (pin "3" (uuid 19014b83-c689-4710-b6cc-23018f4637ba)) + (pin "4" (uuid de2d7e91-8b0b-44e9-99dc-f50952f990c6)) + (pin "5" (uuid a2e4fdbd-44dc-4a91-95ef-516d9db8a190)) + (pin "6" (uuid 7739b33f-256e-4ca7-ac26-55a750b4943e)) + (pin "7" (uuid 9ff5ab45-0b5b-441f-bfea-ea38e1976266)) + (pin "8" (uuid 3c42e68a-3cb4-45e0-9eff-22842d8b59ff)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "SW1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 147.32 81.28 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 4cf0582e-6504-4416-9de8-11ff5f18b107) + (property "Reference" "C38" (at 151.13 80.01 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 151.13 82.55 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 148.2852 85.09 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 147.32 81.28 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7619d990-f7eb-4d15-88a8-55a9d4d43398)) + (pin "2" (uuid 076470e8-11fe-4677-b638-7f40d9cda45d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C38") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 146.05 104.14 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5f408b85-32a3-4bf4-b56f-dd15ec97c2c4) + (property "Reference" "C35" (at 162.56 97.79 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1uF/25V" (at 162.56 100.33 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 147.0152 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 146.05 104.14 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eb670077-b6e7-4118-bfa0-ae1db0124838)) + (pin "2" (uuid 5de9eceb-7c5e-4e3c-9253-6558140763a9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C35") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N5819") (at 35.56 124.46 270) (mirror x) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5f970236-b80c-4258-a08d-a788ae0befac) + (property "Reference" "D25" (at 41.91 120.65 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1N5819WS" (at 37.592 126.4797 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 31.115 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.vishay.com/docs/88525/1n5817.pdf" (at 35.56 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 56e55645-c3ea-47af-b399-316638da55c3)) + (pin "2" (uuid 07664181-75fe-4ea7-86e8-1fbdcc39c79d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "D25") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 57.15 78.74 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 608546b9-fb32-45d2-a27a-6ee5dd4f28cb) + (property "Reference" "#PWR073" (at 57.15 85.09 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 57.15 83.1834 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 57.15 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 57.15 78.74 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid aa65e5d5-18d9-4786-a280-ff3e9cded3cf)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR073") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 26.67 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 63ec6da4-38af-44e7-867c-121091ca5232) + (property "Reference" "R89" (at 55.88 25.4 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 26.67 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 28.448 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 26.67 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6b14b191-c29a-4010-99dc-f6807c50976f)) + (pin "2" (uuid a5c06dbf-95b6-4428-b47d-77ef1c03d7e3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R90") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 29.21 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 64bd981b-0fd9-41d9-a5fa-4e5ccb29399a) + (property "Reference" "R89" (at 55.88 27.94 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 29.21 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 30.988 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 29.21 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 31daca53-e525-400a-bdbd-19c9ae48cb66)) + (pin "2" (uuid abefd223-4952-4388-b7bf-7046377d27eb)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R91") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 59.69 172.72 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 64f56b5c-4779-4e0a-aace-112c74d3f7d4) + (property "Reference" "#PWR082" (at 59.69 179.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 59.69 177.1634 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 59.69 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 59.69 172.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7f064e18-63b2-45fd-8465-a76f77908773)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR082") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 72.39 73.66 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6664bc40-3280-4b81-8781-a0945896034e) + (property "Reference" "C32" (at 76.2 77.4669 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 76.2 80.0069 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 73.3552 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 72.39 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fc0500ad-1261-420d-9b98-9619d9adad91)) + (pin "2" (uuid 4757f553-8416-45f8-9808-7bef0898278c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C32") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 146.05 107.95 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 68510743-6bf6-40d5-af55-73e3b1ec9813) + (property "Reference" "#PWR079" (at 146.05 114.3 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 146.05 112.3934 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 146.05 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 146.05 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2b2e80f4-3bf8-4020-8191-fc2bc4d7e60d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR079") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Diode:1N5819") (at 39.37 124.46 270) (mirror x) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6b582435-20fb-4995-ab9a-609a51369a95) + (property "Reference" "D26" (at 41.91 123.19 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1N5819WS" (at 41.91 125.73 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "NewLib:SOD_323_1" (at 34.925 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.vishay.com/docs/88525/1n5817.pdf" (at 39.37 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4b6e6009-953a-48e7-9436-4ea3deab5cb2)) + (pin "2" (uuid 61b463d8-8d03-4f26-9187-5d4594e39c87)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "D26") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_01x04") (at 69.85 100.33 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 73e7b11d-4311-4713-a683-64b8b97199a9) + (property "Reference" "J5" (at 68.58 95.25 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "Conn_01x04" (at 71.882 103.3022 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Connector_PinSocket_2.00mm:PinSocket_1x04_P2.00mm_Vertical" (at 69.85 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 69.85 100.33 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 472f390f-b75a-41b7-b0c8-1f42c99c8494)) + (pin "2" (uuid 04d0e405-b553-4d10-be94-77b39803d9f8)) + (pin "3" (uuid de95fcb6-4482-4e03-a387-5d35e77d8a2c)) + (pin "4" (uuid e06fc726-9b0d-492e-aaf0-37a6bb9c409f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "J5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Jumper:Jumper_2_Open") (at 64.77 162.56 0) (unit 1) + (in_bom no) (on_board yes) (dnp no) + (uuid 757890b0-1563-455f-8ce5-1c8b54d81e15) + (property "Reference" "JP2" (at 71.12 161.29 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Jumper_2_Open" (at 64.77 159.7461 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:JP_0603" (at 64.77 162.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 64.77 162.56 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 70c388c5-a338-4fb2-b788-447c1fde1476)) + (pin "2" (uuid f1d2e76c-aa8d-49c1-b6cb-4d462eda8f71)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "JP2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 152.4 130.81 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 77061336-53ae-4214-952e-18e2823c6ed0) + (property "Reference" "C55" (at 158.75 132.08 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 158.75 134.62 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 153.3652 134.62 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 152.4 130.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 388910fe-0e94-4a1b-9076-2285c457a6e2)) + (pin "2" (uuid 13018453-c535-4a25-ac44-68a5d40e78d6)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C55") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Jumper:Jumper_2_Open") (at 64.77 158.75 0) (unit 1) + (in_bom no) (on_board yes) (dnp no) + (uuid 7a13de14-d974-4dbc-9b6e-595e9fc35fb6) + (property "Reference" "JP1" (at 71.12 157.48 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Jumper_2_Open" (at 64.77 155.9361 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:JP_0603" (at 64.77 158.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 64.77 158.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b78a881b-45b9-4f21-9cc0-8e445f7eee78)) + (pin "2" (uuid e053810b-2f9b-4259-b7d7-9ad5072aca1c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "JP1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 67.31 41.91 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 9f3c18c5-b08f-41af-adfe-42eac6e5d4a9) + (property "Reference" "C29" (at 76.2 43.1769 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 86.36 43.18 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 68.2752 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 67.31 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d8a6fb3d-0e9f-40dc-a278-77a6de346194)) + (pin "2" (uuid e916414e-b006-4b42-9ed8-7d8ee1631589)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C29") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 63.5 137.16 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a156ce00-2678-46db-9069-6caef45090b2) + (property "Reference" "C34" (at 66.421 136.3253 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "22uF/6.3V" (at 66.421 138.8622 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 64.4652 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 63.5 137.16 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e96e6a8f-3295-4441-b11a-6b287b4f714f)) + (pin "2" (uuid afc96f87-defe-4114-a87e-fe965175d653)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C34") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 147.32 85.09 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a2db0f6b-34ef-4a55-856f-175317b7bffd) + (property "Reference" "#PWR084" (at 147.32 91.44 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 147.32 89.5334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 147.32 85.09 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 147.32 85.09 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bb797099-019c-422c-8991-180db34279a5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR084") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:VBUS") (at 39.37 120.65 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a406736a-6028-4e55-a5e9-fb0c84636cce) + (property "Reference" "#PWR076" (at 39.37 124.46 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "VBUS" (at 40.64 116.84 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 39.37 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 39.37 120.65 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b98dca30-cb87-4bbc-9afc-1a672b23e0ed)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR076") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 66.04 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid a66e1469-5d59-4022-809d-b574975f7c34) + (property "Reference" "R89" (at 55.88 64.77 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 66.04 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 67.818 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 0f322b56-7604-4cb9-988a-dd8178953a13)) + (pin "2" (uuid e0897446-a973-4bb9-b49d-612aa3c8ee5e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R97") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "NewLib:STM32G030C") (at 107.95 26.67 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b1fb5ad4-bb49-4cf3-9357-d7d5e32ad266) + (property "Reference" "U5" (at 138.43 22.86 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "STM32G030C" (at 118.11 22.86 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_QFP:LQFP-48_7x7mm_P0.5mm" (at 107.95 26.67 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 100.33 16.51 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 588e71b4-d870-4048-953d-2375e1dc4942)) + (pin "10" (uuid 5e9c1a1b-6a8a-4f7c-9666-022340f50549)) + (pin "11" (uuid 605b42d2-432a-4456-abb1-66dead3555ce)) + (pin "12" (uuid 97815077-be74-4fa1-9f5f-9f5d9542edcf)) + (pin "13" (uuid 9df8953f-9f87-41ea-9f2e-75f2d210a497)) + (pin "14" (uuid ff5c5219-ec86-4bc1-b547-af0703d83304)) + (pin "15" (uuid 7028519a-e300-461a-8c46-9e0555bf8dd5)) + (pin "16" (uuid d37fa41d-a4fd-49c7-85ab-21ccbe069553)) + (pin "17" (uuid 7e663ab4-a089-48e4-b5b8-666af5b29577)) + (pin "18" (uuid c3ed0d71-4397-48f3-90a9-dbbc73032f8f)) + (pin "19" (uuid 4a073fd9-1673-44b4-ad3e-400e9049016b)) + (pin "2" (uuid 262f0382-f945-408e-b44c-b0de9c198090)) + (pin "20" (uuid 90591ab3-1a8d-4a3c-9c51-ca76d0a08273)) + (pin "21" (uuid 265384e7-8439-4a2c-a306-b5d30eb90e79)) + (pin "22" (uuid eb1cddab-f424-47f8-9ef1-57f990e6df53)) + (pin "23" (uuid 6f3f8d7f-de19-4632-b06b-55508a49e38c)) + (pin "24" (uuid aa6e390e-ba9b-43b0-8929-3706ed93c937)) + (pin "25" (uuid 48a49b08-00d0-48dc-a8d6-5c9f0df6828b)) + (pin "26" (uuid 56cb4d7e-bd0b-44cf-bfd3-bd5700e70fa8)) + (pin "27" (uuid 41cdafdf-b450-4da4-85fe-5349385e3f35)) + (pin "28" (uuid ddb6647b-1e4a-486f-9713-0c00af9de569)) + (pin "29" (uuid 3c76f2a5-5f0c-4f00-9030-918d85e251fc)) + (pin "3" (uuid 2ab527a9-65e7-4a9b-8839-4880752739f3)) + (pin "30" (uuid ad4c3902-d864-4762-bd41-ffa2362d17f6)) + (pin "31" (uuid b104304f-8b51-4ff5-96ee-d05fbd36368e)) + (pin "32" (uuid 8fb1b96b-3b33-4d3e-bd89-9edc20fe192e)) + (pin "33" (uuid 4cc7f837-d161-4f9f-9585-03a6a1f80732)) + (pin "34" (uuid 91c3083c-ff0a-433d-b95c-440f80a7e45e)) + (pin "35" (uuid b10bd797-885b-4400-b6f7-eb3f692aee48)) + (pin "36" (uuid 690b4469-42f0-4f7c-8c45-387cd06b0500)) + (pin "37" (uuid 3988e37d-346e-46b6-8bd7-7a1aef029e79)) + (pin "38" (uuid 1ee64469-d8c0-4123-9094-c9786d0e28b5)) + (pin "39" (uuid 0cb30baa-c231-4839-bd4b-349c1bfae918)) + (pin "4" (uuid 4e4b72d5-8ae1-43de-8b95-880afc6a7a94)) + (pin "40" (uuid 27100a09-af8b-4536-aae7-a675709011cf)) + (pin "41" (uuid df06d216-9ed0-4f90-8c15-3fff6dd3dcc6)) + (pin "42" (uuid 95c6aecc-9767-462a-a853-2b3603ffca5e)) + (pin "43" (uuid 43c80f16-a182-4122-828d-33ea169a2c6d)) + (pin "44" (uuid 99a634cc-3be1-4f60-b2b1-8077d9a92d79)) + (pin "45" (uuid 59f42415-a378-4cc2-9811-e87356d9e793)) + (pin "46" (uuid 42d1bc39-11b6-45f6-b894-1e29d888af5d)) + (pin "47" (uuid 6ca5852e-df66-4d7f-8eaa-206b34b4020e)) + (pin "48" (uuid 16682227-a547-422a-b54d-ed30a36f99ad)) + (pin "5" (uuid 04098aae-557e-4e49-adf4-7a1fca11e387)) + (pin "6" (uuid 834e3429-30ea-4e81-b155-94ba9ab0998a)) + (pin "7" (uuid 4c896c57-3d0b-4669-b283-2d1726bf2cdb)) + (pin "8" (uuid 98c191c0-c855-4b6c-a0cb-0c1bbb6d6bca)) + (pin "9" (uuid a26d5915-bc0a-4692-84a2-17071c2878e2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "U5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Regulator_Linear:XC6206PxxxMR") (at 54.61 133.35 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b827850b-03a2-4973-b056-03eb6444b952) + (property "Reference" "U6" (at 54.61 128.27 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "XC6206P332MR" (at 54.61 130.2821 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 54.61 127.635 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "Datasheet" "https://www.torexsemi.com/file/xc6206/XC6206.pdf" (at 54.61 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6baea4be-6b94-4ab7-a300-a9dacdd989fd)) + (pin "2" (uuid 8941000d-b010-45b2-aed5-307302344456)) + (pin "3" (uuid 2aeeb0b3-c8b9-4939-8c88-7068d22ac027)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "U6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 54.61 140.97 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid cb7a84da-d5e3-4e40-aed4-b70e83637885) + (property "Reference" "#PWR077" (at 54.61 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 54.61 145.4134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 54.61 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 54.61 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 559fcb3c-9250-41b7-817d-eccb14c06b31)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR077") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 156.21 104.14 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid d7a0b2d3-a156-4407-a10c-e4119c853972) + (property "Reference" "C37" (at 162.56 105.41 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 162.56 107.95 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 157.1752 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 104.14 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 352a9283-2772-42a6-8dca-3d2f4f6ae6b2)) + (pin "2" (uuid 26c2d0ca-a7e3-4fe4-a9be-1a5e8fc54e45)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C37") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 63.5 140.97 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d7b286a6-6770-4628-abb4-7885d78c03ee) + (property "Reference" "#PWR078" (at 63.5 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 63.5 145.4134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 63.5 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 63.5 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6a382abd-3c2b-425c-9650-c808ef3bea2a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR078") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 31.75 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid db23e248-7fb8-41a4-9c31-9f41443df006) + (property "Reference" "R89" (at 55.88 30.48 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 31.75 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 33.528 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 31.75 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 387f98cd-de93-4c53-a7fa-393e513549dd)) + (pin "2" (uuid bd656651-2877-4094-b65e-6aad465c6d53)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R92") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 151.13 104.14 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid db58745b-23ba-4670-8cd5-c82ec97afc6b) + (property "Reference" "C36" (at 162.56 102.87 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 165.1 105.4069 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 152.0952 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 151.13 104.14 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 9bfaa9ee-4ce1-4587-89de-1fe0560d75eb)) + (pin "2" (uuid 8247bd02-862c-4cf1-9bb7-c449c2b53f33)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C36") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Jumper:Jumper_2_Open") (at 64.77 170.18 0) (unit 1) + (in_bom no) (on_board yes) (dnp no) + (uuid ea2edfb5-1b38-419a-ae2c-b28528fad5f5) + (property "Reference" "JP4" (at 71.12 168.91 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Jumper_2_Open" (at 64.77 167.3661 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "NewLib:JP_0603" (at 64.77 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 64.77 170.18 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 748fc2df-ebf6-41ba-be3a-ab5d42f4f9c8)) + (pin "2" (uuid 5fb08a8a-7f0d-4e5d-bfaa-c09129fb2b33)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "JP4") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 62.23 73.66 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid eb47d6f7-5fe6-4b89-93c7-8730b10e6ab8) + (property "Reference" "C28" (at 76.2 72.3869 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 81.28 74.93 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 63.1952 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 62.23 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6c9b4ca1-85d4-4d40-80a5-b4d91b6baf19)) + (pin "2" (uuid 638cb406-beab-464a-b30a-246a9a63e684)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C28") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 67.31 73.66 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid eb82c8f0-d8cf-4b57-8652-32163f24c2b9) + (property "Reference" "C30" (at 76.2 74.9269 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 86.36 74.93 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 68.2752 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 67.31 73.66 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6074b22c-9ab4-49b1-b08d-ae6b091a5ad6)) + (pin "2" (uuid 5ede9e96-5c71-4c84-a6f7-6947e95529fa)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C30") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 35.56 140.97 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ef7974e4-2080-4fa8-bee5-39b180fcec87) + (property "Reference" "#PWR075" (at 35.56 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 35.56 145.4134 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 35.56 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 35.56 140.97 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 52e6040f-81c5-4d9f-b43b-ab39c66c837f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR075") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 57.15 41.91 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f2c9614a-a4ca-4cf3-8683-595093b3f544) + (property "Reference" "C25" (at 76.2 38.1 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10nF/50V" (at 76.2 43.18 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 58.1152 45.72 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 57.15 41.91 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c3343c11-1327-48ed-b41f-5310e42ba237)) + (pin "2" (uuid 2d864776-1e83-4292-9e15-f0c3905795b5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "C25") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 41.91 102.87 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid f818309b-2499-4c6a-88d1-a96a802bbed9) + (property "Reference" "#PWR081" (at 35.56 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 37.4666 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 41.91 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 41.91 102.87 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f0d51235-6199-4bc8-a6bc-76d2a2d3928f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR081") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 48.26 60.96 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid fa02d572-e183-4449-bfd7-30eebb69e223) + (property "Reference" "R89" (at 55.88 59.69 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1K" (at 49.53 60.96 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 48.26 62.738 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 48.26 60.96 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a973715b-b653-4889-a53f-09433b43fbee)) + (pin "2" (uuid f954e814-3c5d-4956-838b-8e1658f08af8)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/9756da76-9072-42c4-9684-c484c3c1a68e" + (reference "R89") (unit 1) + ) + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "R95") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 118.11 132.08 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid fd73acba-2c30-4cd4-a91b-b768e48167e4) + (property "Reference" "#PWR0106" (at 111.76 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 113.6666 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 118.11 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 118.11 132.08 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5e717e33-3e90-410e-8f9e-11e578c86181)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/59322ffe-8759-4986-b2b5-dae42374a58a" + (reference "#PWR0106") (unit 1) + ) + ) + ) + ) +) diff --git a/HW/taiko-io/tk_io_v20_gerber/new_io-job.gbrjob b/HW/taiko-io/tk_io_v20_gerber/new_io-job.gbrjob new file mode 100644 index 0000000..522be9b --- /dev/null +++ b/HW/taiko-io/tk_io_v20_gerber/new_io-job.gbrjob @@ -0,0 +1,127 @@ +{ + "Header": { + "GenerationSoftware": { + "Vendor": "KiCad", + "Application": "Pcbnew", + "Version": "(7.0.0)" + }, + "CreationDate": "2023-03-15T14:34:35+08:00" + }, + "GeneralSpecs": { + "ProjectId": { + "Name": "new_io", + "GUID": "6e65775f-696f-42e6-9b69-6361645f7063", + "Revision": "rev?" + }, + "Size": { + "X": 85.1, + "Y": 100.1 + }, + "LayerNumber": 2, + "BoardThickness": 1.6, + "Finish": "None" + }, + "DesignRules": [ + { + "Layers": "Outer", + "PadToPad": 0.1778, + "PadToTrack": 0.1778, + "TrackToTrack": 0.1778, + "MinLineWidth": 0.254, + "TrackToRegion": 0.1905, + "RegionToRegion": 0.1905 + } + ], + "FilesAttributes": [ + { + "Path": "new_io-F_Cu.gbr", + "FileFunction": "Copper,L1,Top", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-B_Cu.gbr", + "FileFunction": "Copper,L2,Bot", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-F_Paste.gbr", + "FileFunction": "SolderPaste,Top", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-B_Paste.gbr", + "FileFunction": "SolderPaste,Bot", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-F_Silkscreen.gbr", + "FileFunction": "Legend,Top", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-B_Silkscreen.gbr", + "FileFunction": "Legend,Bot", + "FilePolarity": "Positive" + }, + { + "Path": "new_io-F_Mask.gbr", + "FileFunction": "SolderMask,Top", + "FilePolarity": "Negative" + }, + { + "Path": "new_io-B_Mask.gbr", + "FileFunction": "SolderMask,Bot", + "FilePolarity": "Negative" + }, + { + "Path": "new_io-Edge_Cuts.gbr", + "FileFunction": "Profile", + "FilePolarity": "Positive" + } + ], + "MaterialStackup": [ + { + "Type": "Legend", + "Name": "Top Silk Screen" + }, + { + "Type": "SolderPaste", + "Name": "Top Solder Paste" + }, + { + "Type": "SolderMask", + "Thickness": 0.01, + "Name": "Top Solder Mask" + }, + { + "Type": "Copper", + "Thickness": 0.035, + "Name": "F.Cu" + }, + { + "Type": "Dielectric", + "Thickness": 1.51, + "Material": "FR4", + "Name": "F.Cu/B.Cu", + "Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)" + }, + { + "Type": "Copper", + "Thickness": 0.035, + "Name": "B.Cu" + }, + { + "Type": "SolderMask", + "Thickness": 0.01, + "Name": "Bottom Solder Mask" + }, + { + "Type": "SolderPaste", + "Name": "Bottom Solder Paste" + }, + { + "Type": "Legend", + "Name": "Bottom Silk Screen" + } + ] +} diff --git a/HW/taiko-io/usb_mcu.kicad_sch b/HW/taiko-io/usb_mcu.kicad_sch new file mode 100644 index 0000000..4a7e3b3 --- /dev/null +++ b/HW/taiko-io/usb_mcu.kicad_sch @@ -0,0 +1,3219 @@ +(kicad_sch (version 20230121) (generator eeschema) + + (uuid c5a44847-8861-4620-a3dc-b8877aebebdd) + + (paper "A4") + + (lib_symbols + (symbol "74xx:74HC165" (in_bom yes) (on_board yes) + (property "Reference" "U" (at -7.62 19.05 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "74HC165" (at -7.62 -21.59 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT165.pdf" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "8 bit shift register parallel load cmos" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Shift Register, 8-bit, Parallel Load" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "DIP?16* SO*16*3.9x9.9mm*P1.27mm* SSOP*16*5.3x6.2mm*P0.65mm* TSSOP*16*4.4x5mm*P0.65*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "74HC165_1_0" + (pin input line (at -12.7 -10.16 0) (length 5.08) + (name "~{PL}" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 15.24 0) (length 5.08) + (name "DS" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 12.7 0) (length 5.08) + (name "D0" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 10.16 0) (length 5.08) + (name "D1" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 7.62 0) (length 5.08) + (name "D2" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 5.08 0) (length 5.08) + (name "D3" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 -17.78 0) (length 5.08) + (name "~{CE}" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at 0 22.86 270) (length 5.08) + (name "VCC" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 -15.24 0) (length 5.08) + (name "CP" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 2.54 0) (length 5.08) + (name "D4" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 0 0) (length 5.08) + (name "D5" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 -2.54 0) (length 5.08) + (name "D6" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin input line (at -12.7 -5.08 0) (length 5.08) + (name "D7" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 12.7 12.7 180) (length 5.08) + (name "~{Q7}" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at 0 -25.4 90) (length 5.08) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin output line (at 12.7 15.24 180) (length 5.08) + (name "Q7" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + (symbol "74HC165_1_1" + (rectangle (start -7.62 17.78) (end 7.62 -20.32) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + ) + ) + (symbol "Connector_Generic:Conn_01x02" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "J" (at 0 2.54 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "Conn_01x02" (at 0 -5.08 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "connector" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Generic connector, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "Conn_01x02_1_1" + (rectangle (start -1.27 -2.413) (end 0 -2.667) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 0.127) (end 0 -0.127) + (stroke (width 0.1524) (type default)) + (fill (type none)) + ) + (rectangle (start -1.27 1.27) (end 1.27 -3.81) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (pin passive line (at -5.08 0 0) (length 3.81) + (name "Pin_1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 -2.54 0) (length 3.81) + (name "Pin_2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "C" (at 0.635 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "C" (at 0.635 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0.9652 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "cap capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Unpolarized capacitor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "C_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 -0.762) + (xy 2.032 -0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.032 0.762) + (xy 2.032 0.762) + ) + (stroke (width 0.508) (type default)) + (fill (type none)) + ) + ) + (symbol "C_1_1" + (pin passive line (at 0 3.81 270) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 2.794) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "R" (at 2.032 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R" (at 0 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at -1.778 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R res resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Resistor" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "R_*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_0_1" + (rectangle (start -1.016 -2.54) (end 1.016 2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Device:R_Pack04" (pin_names (offset 0) hide) (in_bom yes) (on_board yes) + (property "Reference" "RN" (at -7.62 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R_Pack04" (at 5.08 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 6.985 0 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "R network parallel topology isolated" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "4 resistor network, parallel topology" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "DIP* SOIC* R*Array*Concave* R*Array*Convex*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_Pack04_0_1" + (rectangle (start -6.35 -2.413) (end 3.81 2.413) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (rectangle (start -5.715 1.905) (end -4.445 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (rectangle (start -3.175 1.905) (end -1.905 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (rectangle (start -0.635 1.905) (end 0.635 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 -2.54) + (xy -5.08 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 1.905) + (xy -5.08 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -2.54) + (xy -2.54 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 1.905) + (xy -2.54 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 -2.54) + (xy 0 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 1.905) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 2.54 -2.54) + (xy 2.54 -1.905) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 2.54 1.905) + (xy 2.54 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (rectangle (start 1.905 1.905) (end 3.175 -1.905) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_Pack04_1_1" + (pin passive line (at -5.08 -5.08 90) (length 2.54) + (name "R1.1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -2.54 -5.08 90) (length 2.54) + (name "R2.1" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 90) (length 2.54) + (name "R3.1" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 2.54 -5.08 90) (length 2.54) + (name "R4.1" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 2.54 5.08 270) (length 2.54) + (name "R4.2" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 5.08 270) (length 2.54) + (name "R3.2" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -2.54 5.08 270) (length 2.54) + (name "R2.2" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -5.08 5.08 270) (length 2.54) + (name "R1.2" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "NewLib:CH552T" (in_bom yes) (on_board yes) + (property "Reference" "U" (at 12.7 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "CH552T" (at 6.35 3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SSOP-20_4.4x6.5mm_P0.65mm" (at 24.13 6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 5.08 1.27 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "CH ch552 552" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "æ²æ’USB 8ä½å•ç‰‡æœº" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "CH552T_0_1" + (rectangle (start 2.54 2.54) (end 25.4 -25.4) + (stroke (width 0) (type default)) + (fill (type background)) + ) + ) + (symbol "CH552T_1_1" + (pin passive line (at 0 0 0) (length 2.54) + (name "P3.2/TXD1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -22.86 0) (length 2.54) + (name "P3.0/RXD" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -22.86 180) (length 2.54) + (name "P3.3/INT1" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -20.32 180) (length 2.54) + (name "P3.4/PWM2" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -17.78 180) (length 2.54) + (name "P3.5/T1" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -15.24 180) (length 2.54) + (name "P3.6/UDP" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -12.7 180) (length 2.54) + (name "P3.7/UDM" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -10.16 180) (length 2.54) + (name "P1.3/XO" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -7.62 180) (length 2.54) + (name "P1.2XI" (effects (font (size 1.27 1.27)))) + (number "17" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -5.08 180) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "18" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 -2.54 180) (length 2.54) + (name "VCC" (effects (font (size 1.27 1.27)))) + (number "19" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -2.54 0) (length 2.54) + (name "P1.4/T2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 27.94 0 180) (length 2.54) + (name "V33" (effects (font (size 1.27 1.27)))) + (number "20" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 0) (length 2.54) + (name "P1.5/MOSI" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -7.62 0) (length 2.54) + (name "P1.6/MISO" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -10.16 0) (length 2.54) + (name "P1.7/SCK" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -12.7 0) (length 2.54) + (name "RST" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -15.24 0) (length 2.54) + (name "P1.0/T2" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -17.78 0) (length 2.54) + (name "P1.1/T2EX" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -20.32 0) (length 2.54) + (name "P3.1/TXD" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Power_Protection:SRV05-4" (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "U" (at -5.08 11.43 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "SRV05-4" (at 2.54 11.43 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 17.78 -11.43 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.onsemi.com/pub/Collateral/SRV05-4-D.PDF" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "ESD protection diodes" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "ESD Protection Diodes with Low Clamping Voltage, SOT-23-6" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SOT?23*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "SRV05-4_0_0" + (rectangle (start -5.715 6.477) (end 5.715 -6.604) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -3.175 -6.604) + (xy -3.175 6.477) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.175 6.477) + (xy 3.175 -6.604) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "SRV05-4_0_1" + (rectangle (start -7.62 10.16) (end 7.62 -10.16) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + (circle (center -5.715 -2.54) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center -3.175 -6.604) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center -3.175 2.54) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center -3.175 6.477) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center 0 -6.604) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (polyline + (pts + (xy -7.747 2.54) + (xy -3.175 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -7.62 -2.54) + (xy -5.715 -2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 -3.81) + (xy -6.35 -3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 5.08) + (xy -6.35 5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -3.81) + (xy -3.81 -3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 5.08) + (xy -3.81 5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 10.16) + (xy 0 -10.16) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 -3.81) + (xy 2.54 -3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 5.08) + (xy 2.54 5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 6.35 -3.81) + (xy 5.08 -3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 6.35 5.08) + (xy 5.08 5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 7.62 -2.54) + (xy 3.175 -2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 7.62 2.54) + (xy 5.715 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0.635 0.889) + (xy -0.635 0.889) + (xy -0.635 0.635) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 -5.08) + (xy -6.35 -5.08) + (xy -5.715 -3.81) + (xy -5.08 -5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -5.08 3.81) + (xy -6.35 3.81) + (xy -5.715 5.08) + (xy -5.08 3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 -5.08) + (xy -3.81 -5.08) + (xy -3.175 -3.81) + (xy -2.54 -5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -2.54 3.81) + (xy -3.81 3.81) + (xy -3.175 5.08) + (xy -2.54 3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0.635 -0.381) + (xy -0.635 -0.381) + (xy 0 0.889) + (xy 0.635 -0.381) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 -5.08) + (xy 2.54 -5.08) + (xy 3.175 -3.81) + (xy 3.81 -5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 3.81 3.81) + (xy 2.54 3.81) + (xy 3.175 5.08) + (xy 3.81 3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 6.35 -5.08) + (xy 5.08 -5.08) + (xy 5.715 -3.81) + (xy 6.35 -5.08) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 6.35 3.81) + (xy 5.08 3.81) + (xy 5.715 5.08) + (xy 6.35 3.81) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (circle (center 0 6.477) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center 3.175 -6.604) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center 3.175 -2.54) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center 3.175 6.477) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (circle (center 5.715 2.54) (radius 0.2794) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + ) + (symbol "SRV05-4_1_1" + (pin passive line (at -12.7 2.54 0) (length 5.08) + (name "IO1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -12.7 90) (length 2.54) + (name "VN" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at -12.7 -2.54 0) (length 5.08) + (name "IO2" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 12.7 2.54 180) (length 5.08) + (name "IO3" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 12.7 270) (length 2.54) + (name "VP" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 12.7 -2.54 180) (length 5.08) + (name "IO4" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Regulator_Linear:XC6206PxxxMR" (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "U" (at -3.81 3.175 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "XC6206PxxxMR" (at 0 3.175 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 0 5.715 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "Datasheet" "https://www.torexsemi.com/file/xc6206/XC6206.pdf" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "Torex LDO Voltage Regulator Fixed Positive" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Positive 60-250mA Low Dropout Regulator, Fixed Output, SOT-23" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "SOT?23*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "XC6206PxxxMR_0_1" + (rectangle (start -5.08 1.905) (end 5.08 -5.08) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + ) + (symbol "XC6206PxxxMR_1_1" + (pin power_in line (at 0 -7.62 90) (length 2.54) + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin power_out line (at 7.62 0 180) (length 2.54) + (name "VO" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin power_in line (at -7.62 0 0) (length 2.54) + (name "VI" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -3.81 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 0 3.556 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"+5V\"" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 0) + (xy 0 2.54) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0 2.54) + (xy 0.762 1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "+5V_1_1" + (pin power_in line (at 0 0 90) (length 0) hide + (name "+5V" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 0 -3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 -1.27) + (xy 1.27 -1.27) + (xy 0 -2.54) + (xy -1.27 -1.27) + (xy 0 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "GND_1_1" + (pin power_in line (at 0 0 270) (length 0) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 142.24 30.48) (diameter 0) (color 0 0 0 0) + (uuid 08e818a0-aff0-4366-9946-d35ff1c12d95) + ) + (junction (at 40.64 72.39) (diameter 0) (color 0 0 0 0) + (uuid 1f3c1682-a713-4016-9894-c4f189478c4b) + ) + (junction (at 170.18 30.48) (diameter 0) (color 0 0 0 0) + (uuid 1f4de6a7-ff3e-42ca-99a5-d9de84f099ba) + ) + (junction (at 59.69 99.06) (diameter 0) (color 0 0 0 0) + (uuid 222eb16a-fc42-4058-9a54-b391842300f8) + ) + (junction (at 40.64 86.36) (diameter 0) (color 0 0 0 0) + (uuid 2355241c-76f3-4363-8fe8-9b4adff24a40) + ) + (junction (at 48.26 72.39) (diameter 0) (color 0 0 0 0) + (uuid 330016de-24c3-46d8-9aa3-f133eed14e6b) + ) + (junction (at 74.93 86.36) (diameter 0) (color 0 0 0 0) + (uuid 334267db-92cf-4212-bc6e-ed77f448a16e) + ) + (junction (at 78.74 88.9) (diameter 0) (color 0 0 0 0) + (uuid 35b2d3ec-00ac-4f44-99ae-a21686045741) + ) + (junction (at 43.18 52.07) (diameter 0) (color 0 0 0 0) + (uuid 3a144ef6-694c-49cd-86d0-fbc7f6751c89) + ) + (junction (at 57.15 96.52) (diameter 0) (color 0 0 0 0) + (uuid 3b3f1cdc-e724-40f8-959e-c00f3ab4c262) + ) + (junction (at 64.77 104.14) (diameter 0) (color 0 0 0 0) + (uuid 46c4a79a-39a9-455d-b608-980956ecc265) + ) + (junction (at 43.18 88.9) (diameter 0) (color 0 0 0 0) + (uuid 48c317d1-63d9-4871-9b1e-744c5b678849) + ) + (junction (at 82.55 72.39) (diameter 0) (color 0 0 0 0) + (uuid 4aa506f6-000e-42aa-bddf-e21b9c05b707) + ) + (junction (at 62.23 101.6) (diameter 0) (color 0 0 0 0) + (uuid 4e051d6b-1e95-4cb5-8675-73a779a1e878) + ) + (junction (at 101.6 104.14) (diameter 0) (color 0 0 0 0) + (uuid 5a794a2a-2c57-48a6-aa8b-16699749ca32) + ) + (junction (at 74.93 72.39) (diameter 0) (color 0 0 0 0) + (uuid 5b02b281-173d-4841-a83a-b1571f997c9f) + ) + (junction (at 78.74 72.39) (diameter 0) (color 0 0 0 0) + (uuid 625b7233-68cd-49fd-aa79-477ca7abd38c) + ) + (junction (at 45.72 72.39) (diameter 0) (color 0 0 0 0) + (uuid 6274311b-ca6c-4161-9d7a-db407598ae43) + ) + (junction (at 93.98 99.06) (diameter 0) (color 0 0 0 0) + (uuid 65f80630-b463-4b8e-a00d-53d2adb6392c) + ) + (junction (at 90.17 72.39) (diameter 0) (color 0 0 0 0) + (uuid 6a4dcb3c-fd7f-4fae-be9d-6b59a896d6dc) + ) + (junction (at 59.69 72.39) (diameter 0) (color 0 0 0 0) + (uuid 71bd3d77-08ec-4f8f-8392-80cf30767996) + ) + (junction (at 43.18 72.39) (diameter 0) (color 0 0 0 0) + (uuid 875f5963-a5a3-47e5-beff-5969de190541) + ) + (junction (at 86.36 93.98) (diameter 0) (color 0 0 0 0) + (uuid 8c4ce0b1-32db-4eea-9172-e12ec46132dc) + ) + (junction (at 90.17 96.52) (diameter 0) (color 0 0 0 0) + (uuid 94bbd843-5d17-4b23-acff-afd9511131e7) + ) + (junction (at 48.26 93.98) (diameter 0) (color 0 0 0 0) + (uuid 993e7258-1f83-4f89-9d7e-0e34701b8d4f) + ) + (junction (at 86.36 72.39) (diameter 0) (color 0 0 0 0) + (uuid a8f4fec6-2cf0-4a8b-8d08-ab2de9edd69e) + ) + (junction (at 82.55 91.44) (diameter 0) (color 0 0 0 0) + (uuid b14c1871-1c47-4e39-ab6c-56e3f00ec0d6) + ) + (junction (at 97.79 101.6) (diameter 0) (color 0 0 0 0) + (uuid b2587003-b746-4898-951b-5b0e22ef0754) + ) + (junction (at 62.23 72.39) (diameter 0) (color 0 0 0 0) + (uuid bab12020-243e-4a00-9e59-5bbbc7b8154d) + ) + (junction (at 57.15 72.39) (diameter 0) (color 0 0 0 0) + (uuid e205991b-3c9b-4b01-abfc-3620bd06df93) + ) + (junction (at 45.72 91.44) (diameter 0) (color 0 0 0 0) + (uuid e655f7fb-3de1-460c-9a18-2e8a0df571fa) + ) + (junction (at 93.98 72.39) (diameter 0) (color 0 0 0 0) + (uuid fb9833ef-1901-45d5-aa3a-7e6b5baaba5f) + ) + (junction (at 97.79 72.39) (diameter 0) (color 0 0 0 0) + (uuid fcaa45ca-681f-43a0-8518-00a0fdb072fb) + ) + + (no_connect (at 173.99 68.58) (uuid bc28e6f7-3421-40d5-a10c-fa96a4d9298d)) + + (wire (pts (xy 57.15 72.39) (xy 59.69 72.39)) + (stroke (width 0) (type default)) + (uuid 05587808-49d2-4fd2-8860-a75c233f3c2a) + ) + (wire (pts (xy 168.91 30.48) (xy 170.18 30.48)) + (stroke (width 0) (type default)) + (uuid 077a51c9-2a54-4f23-92ef-bc4dc9eefde9) + ) + (wire (pts (xy 78.74 121.92) (xy 78.74 123.19)) + (stroke (width 0) (type default)) + (uuid 07995410-986f-4725-9e85-0d1372f9bd6f) + ) + (wire (pts (xy 93.98 80.01) (xy 93.98 99.06)) + (stroke (width 0) (type default)) + (uuid 0c115921-2a4b-419e-b335-19c8928bda6b) + ) + (wire (pts (xy 74.93 76.2) (xy 74.93 72.39)) + (stroke (width 0) (type default)) + (uuid 0cd424b5-6f67-4348-81b5-0c4f226d4c4b) + ) + (wire (pts (xy 38.1 104.14) (xy 64.77 104.14)) + (stroke (width 0) (type default)) + (uuid 0d49521e-fbbb-40e5-a743-95c066fcdf7f) + ) + (wire (pts (xy 44.45 57.15) (xy 44.45 54.61)) + (stroke (width 0) (type default)) + (uuid 10bedbee-3b6d-4090-85eb-b8d3fdfbb0e3) + ) + (polyline (pts (xy 134.62 111.76) (xy 189.23 111.76)) + (stroke (width 0) (type default)) + (uuid 129aa43e-cf15-4176-ad65-2422c7a75867) + ) + + (wire (pts (xy 86.36 93.98) (xy 105.41 93.98)) + (stroke (width 0) (type default)) + (uuid 15d6307b-30ab-44bb-b575-607a16a4f972) + ) + (polyline (pts (xy 24.13 114.3) (xy 24.13 154.94)) + (stroke (width 0) (type default)) + (uuid 17a75fad-748d-4973-a4f2-5f8dc46b2b5b) + ) + + (wire (pts (xy 44.45 121.92) (xy 44.45 123.19)) + (stroke (width 0) (type default)) + (uuid 1bb1bbf0-609a-4abb-9ab5-80cd23c6a0f6) + ) + (polyline (pts (xy 24.13 114.3) (xy 100.33 114.3)) + (stroke (width 0) (type default)) + (uuid 1beb6ae1-36c8-4e34-a9ac-50d179978980) + ) + + (wire (pts (xy 38.1 101.6) (xy 62.23 101.6)) + (stroke (width 0) (type default)) + (uuid 1c3a0ecb-4fdf-4aba-809d-3427c406a819) + ) + (wire (pts (xy 74.93 86.36) (xy 40.64 86.36)) + (stroke (width 0) (type default)) + (uuid 1ee3c83d-c659-4e06-ace5-31779372b6b9) + ) + (wire (pts (xy 44.45 54.61) (xy 46.99 54.61)) + (stroke (width 0) (type default)) + (uuid 1f8d5496-5e24-40d9-8eab-7a4cfed4d8c3) + ) + (wire (pts (xy 38.1 99.06) (xy 59.69 99.06)) + (stroke (width 0) (type default)) + (uuid 20371fdc-aad8-441a-9c0f-60fc87dc8de9) + ) + (wire (pts (xy 97.79 72.39) (xy 97.79 76.2)) + (stroke (width 0) (type default)) + (uuid 24514515-6626-4afb-a74e-5d3a944c86f7) + ) + (wire (pts (xy 74.93 72.39) (xy 78.74 72.39)) + (stroke (width 0) (type default)) + (uuid 24c864fe-5285-4dcd-874c-61f0c2dac418) + ) + (wire (pts (xy 38.1 93.98) (xy 48.26 93.98)) + (stroke (width 0) (type default)) + (uuid 2505d978-9e12-488b-9a5c-b4fa3d982cd9) + ) + (polyline (pts (xy 24.13 154.94) (xy 100.33 154.94)) + (stroke (width 0) (type default)) + (uuid 264070c7-5175-48c6-9837-58fdc1b972cd) + ) + + (wire (pts (xy 93.98 99.06) (xy 105.41 99.06)) + (stroke (width 0) (type default)) + (uuid 2c4a6c90-a916-4e84-aa67-31b1fceb0ca0) + ) + (wire (pts (xy 106.68 48.26) (xy 113.03 48.26)) + (stroke (width 0) (type default)) + (uuid 330861a4-1623-494c-b8a7-cbad7bdf6e49) + ) + (wire (pts (xy 123.19 104.14) (xy 115.57 104.14)) + (stroke (width 0) (type default)) + (uuid 3378d4e9-5557-42be-8355-0516c60f868d) + ) + (wire (pts (xy 45.72 91.44) (xy 45.72 82.55)) + (stroke (width 0) (type default)) + (uuid 3ad9195e-eca1-4963-9356-a310aed0c97b) + ) + (wire (pts (xy 40.64 86.36) (xy 40.64 82.55)) + (stroke (width 0) (type default)) + (uuid 3b6b5494-8d47-483e-95f9-395763f0c0a8) + ) + (wire (pts (xy 101.6 104.14) (xy 105.41 104.14)) + (stroke (width 0) (type default)) + (uuid 3b8ea836-2773-4f05-aef8-7651bd558837) + ) + (wire (pts (xy 62.23 72.39) (xy 64.77 72.39)) + (stroke (width 0) (type default)) + (uuid 3bdc3cb0-ab2f-49a7-985f-358786d3b70c) + ) + (wire (pts (xy 171.45 26.67) (xy 170.18 26.67)) + (stroke (width 0) (type default)) + (uuid 3d8eb2ac-7bbc-42d5-8af0-b5519c5e78e2) + ) + (polyline (pts (xy 100.33 154.94) (xy 100.33 114.3)) + (stroke (width 0) (type default)) + (uuid 40a8acd5-240d-4495-a182-1ade90092859) + ) + + (wire (pts (xy 74.93 83.82) (xy 74.93 86.36)) + (stroke (width 0) (type default)) + (uuid 4255d6a6-e2e3-4225-bce0-946dac60dbe9) + ) + (wire (pts (xy 86.36 93.98) (xy 48.26 93.98)) + (stroke (width 0) (type default)) + (uuid 42942a36-1345-4356-9066-b3712118fa41) + ) + (wire (pts (xy 78.74 88.9) (xy 43.18 88.9)) + (stroke (width 0) (type default)) + (uuid 4429238f-8953-4577-9219-6c7bc3f0f242) + ) + (wire (pts (xy 86.36 72.39) (xy 90.17 72.39)) + (stroke (width 0) (type default)) + (uuid 49efe20e-993b-4d18-a35a-facfbb34f52a) + ) + (wire (pts (xy 97.79 101.6) (xy 105.41 101.6)) + (stroke (width 0) (type default)) + (uuid 4a313cc0-c1fb-4bab-bf90-b6f666616d92) + ) + (wire (pts (xy 45.72 72.39) (xy 48.26 72.39)) + (stroke (width 0) (type default)) + (uuid 4aafe1e9-fa1e-4749-8d84-9f5bf7f9a21f) + ) + (wire (pts (xy 142.24 30.48) (xy 153.67 30.48)) + (stroke (width 0) (type default)) + (uuid 4fb0d440-27e3-4497-991e-8e02509894ca) + ) + (wire (pts (xy 48.26 72.39) (xy 57.15 72.39)) + (stroke (width 0) (type default)) + (uuid 5307bd11-6c8d-4aa5-9066-082c7b451eb4) + ) + (wire (pts (xy 101.6 80.01) (xy 101.6 104.14)) + (stroke (width 0) (type default)) + (uuid 53281741-49a2-4f60-8fdb-cf0053c531ac) + ) + (polyline (pts (xy 24.13 21.59) (xy 24.13 62.23)) + (stroke (width 0) (type default)) + (uuid 54eb9293-4427-467f-abda-6272be95ba25) + ) + + (wire (pts (xy 170.18 26.67) (xy 170.18 30.48)) + (stroke (width 0) (type default)) + (uuid 55344420-6f90-4431-a7b0-312912998e23) + ) + (wire (pts (xy 123.19 101.6) (xy 115.57 101.6)) + (stroke (width 0) (type default)) + (uuid 56c65fa4-62ff-4f32-91a4-8ce39b831f79) + ) + (wire (pts (xy 123.19 91.44) (xy 115.57 91.44)) + (stroke (width 0) (type default)) + (uuid 57efc63c-8dc8-47db-a500-d9006b914488) + ) + (wire (pts (xy 78.74 80.01) (xy 78.74 88.9)) + (stroke (width 0) (type default)) + (uuid 585310e6-53fb-4c60-9852-f5e0a955044b) + ) + (wire (pts (xy 82.55 91.44) (xy 45.72 91.44)) + (stroke (width 0) (type default)) + (uuid 59289155-cfe1-49cf-b038-bd958280731e) + ) + (wire (pts (xy 78.74 88.9) (xy 105.41 88.9)) + (stroke (width 0) (type default)) + (uuid 5c3eef48-8c7e-4eba-8a98-9b05da52e901) + ) + (wire (pts (xy 59.69 72.39) (xy 62.23 72.39)) + (stroke (width 0) (type default)) + (uuid 5c5d657f-9c3e-45ba-b45e-fe65bdf0c190) + ) + (polyline (pts (xy 189.23 46.99) (xy 189.23 111.76)) + (stroke (width 0) (type default)) + (uuid 5d420a4f-1ed4-4eb1-855e-fb78d3633e32) + ) + (polyline (pts (xy 24.13 64.77) (xy 132.08 64.77)) + (stroke (width 0) (type default)) + (uuid 5f3039b7-4cc1-4d8d-9c13-a80cfadf87a2) + ) + + (wire (pts (xy 38.1 91.44) (xy 45.72 91.44)) + (stroke (width 0) (type default)) + (uuid 5f60a888-fd9a-498b-b8b1-08873b6cf895) + ) + (wire (pts (xy 123.19 86.36) (xy 115.57 86.36)) + (stroke (width 0) (type default)) + (uuid 601e291e-eb24-4d36-97b7-fa1c8c1b2867) + ) + (wire (pts (xy 31.75 44.45) (xy 46.99 44.45)) + (stroke (width 0) (type default)) + (uuid 60f93a45-a5d7-4371-a456-d98c62b3a0d7) + ) + (wire (pts (xy 76.2 41.91) (xy 74.93 41.91)) + (stroke (width 0) (type default)) + (uuid 62e2c1c1-f2b5-4ab7-98fb-a83c2ea4e629) + ) + (polyline (pts (xy 134.62 21.59) (xy 189.23 21.59)) + (stroke (width 0) (type default)) + (uuid 63e8f545-8ffa-4e03-a89c-921cad76b13d) + ) + + (wire (pts (xy 93.98 72.39) (xy 97.79 72.39)) + (stroke (width 0) (type default)) + (uuid 64b7e9b0-5cd1-4e0e-be7e-3e667908a803) + ) + (wire (pts (xy 82.55 72.39) (xy 82.55 76.2)) + (stroke (width 0) (type default)) + (uuid 69389777-b9ec-4c65-b8fe-deb37f55d0ac) + ) + (wire (pts (xy 123.19 88.9) (xy 115.57 88.9)) + (stroke (width 0) (type default)) + (uuid 6a473479-ec6e-428a-9108-ca2b3e308d9a) + ) + (wire (pts (xy 82.55 91.44) (xy 105.41 91.44)) + (stroke (width 0) (type default)) + (uuid 6ac6573a-03eb-46ae-a7ab-f6fed0d7485b) + ) + (wire (pts (xy 57.15 96.52) (xy 57.15 82.55)) + (stroke (width 0) (type default)) + (uuid 6b5ab759-d15f-4211-937f-39aa134fd842) + ) + (wire (pts (xy 97.79 83.82) (xy 97.79 101.6)) + (stroke (width 0) (type default)) + (uuid 6de8805f-fcb2-45f1-8ee5-e8b9c31d5254) + ) + (wire (pts (xy 41.91 121.92) (xy 44.45 121.92)) + (stroke (width 0) (type default)) + (uuid 7049d048-a6d6-41e4-b3c0-89573da58401) + ) + (wire (pts (xy 43.18 88.9) (xy 43.18 82.55)) + (stroke (width 0) (type default)) + (uuid 70ed34b4-bb08-4b8b-84f5-1cd6762ae3cf) + ) + (wire (pts (xy 33.02 57.15) (xy 44.45 57.15)) + (stroke (width 0) (type default)) + (uuid 725497f9-d7b7-44f0-859f-544681990b5d) + ) + (wire (pts (xy 74.93 44.45) (xy 76.2 44.45)) + (stroke (width 0) (type default)) + (uuid 731b6c8a-2d26-417b-9df8-72f0d1d499c9) + ) + (wire (pts (xy 40.64 54.61) (xy 43.18 54.61)) + (stroke (width 0) (type default)) + (uuid 78713421-d20a-4643-81b8-0515c1931bd0) + ) + (wire (pts (xy 123.19 96.52) (xy 115.57 96.52)) + (stroke (width 0) (type default)) + (uuid 7d6ba428-4475-44bd-92e0-438de1604945) + ) + (wire (pts (xy 62.23 101.6) (xy 62.23 82.55)) + (stroke (width 0) (type default)) + (uuid 8107a881-2e0d-4076-bc99-edc2667d7135) + ) + (wire (pts (xy 90.17 96.52) (xy 105.41 96.52)) + (stroke (width 0) (type default)) + (uuid 828d4bbb-bad5-41e4-9fb6-eda0255c380c) + ) + (wire (pts (xy 43.18 72.39) (xy 45.72 72.39)) + (stroke (width 0) (type default)) + (uuid 84198cfb-df73-4e5e-b23b-1edf9b9120cf) + ) + (polyline (pts (xy 95.25 43.18) (xy 127 43.18)) + (stroke (width 0) (type default)) + (uuid 8ec58f44-9874-459b-9f0a-fc04f31c6747) + ) + + (wire (pts (xy 38.1 88.9) (xy 43.18 88.9)) + (stroke (width 0) (type default)) + (uuid 90e23bea-5ee9-472c-8157-25a231feee2d) + ) + (wire (pts (xy 160.02 58.42) (xy 161.29 58.42)) + (stroke (width 0) (type default)) + (uuid 929c5772-67e0-4b0a-b732-e74220aa833a) + ) + (wire (pts (xy 76.2 39.37) (xy 74.93 39.37)) + (stroke (width 0) (type default)) + (uuid 94819ed9-a288-411f-96be-2b87d1e4bef0) + ) + (wire (pts (xy 76.2 46.99) (xy 74.93 46.99)) + (stroke (width 0) (type default)) + (uuid 9d030ce0-8dbb-4aac-a4cf-7435d320833a) + ) + (polyline (pts (xy 189.23 44.45) (xy 189.23 21.59)) + (stroke (width 0) (type default)) + (uuid 9f1b018b-0dc3-452d-a29b-54dc0cfa684c) + ) + + (wire (pts (xy 86.36 80.01) (xy 86.36 93.98)) + (stroke (width 0) (type default)) + (uuid a086259f-db19-43ee-9116-1027552665e9) + ) + (wire (pts (xy 38.1 96.52) (xy 57.15 96.52)) + (stroke (width 0) (type default)) + (uuid a4169a1a-a7d4-44d4-8220-04d960f7ce4c) + ) + (wire (pts (xy 43.18 52.07) (xy 46.99 52.07)) + (stroke (width 0) (type default)) + (uuid a8846cdd-c66c-431e-a43e-d35ad04fa9b7) + ) + (polyline (pts (xy 95.25 26.67) (xy 127 26.67)) + (stroke (width 0) (type default)) + (uuid a9be3107-cbc4-420b-b71d-2095269801dd) + ) + (polyline (pts (xy 24.13 111.76) (xy 24.13 64.77)) + (stroke (width 0) (type default)) + (uuid afef3bfc-2fd7-4888-a0c2-c4a8d5ad2325) + ) + + (wire (pts (xy 93.98 99.06) (xy 59.69 99.06)) + (stroke (width 0) (type default)) + (uuid b057c697-66c6-4951-b873-2ae52f80f1e5) + ) + (polyline (pts (xy 132.08 64.77) (xy 132.08 111.76)) + (stroke (width 0) (type default)) + (uuid b14fbbba-9b36-457e-baf0-98353bc8c060) + ) + + (wire (pts (xy 82.55 72.39) (xy 86.36 72.39)) + (stroke (width 0) (type default)) + (uuid b1dd8d97-ce67-4a65-a55e-519dcce84e1e) + ) + (wire (pts (xy 40.64 72.39) (xy 43.18 72.39)) + (stroke (width 0) (type default)) + (uuid b3de1626-3e62-4f16-b9c6-6a4a899b7a9e) + ) + (wire (pts (xy 170.18 30.48) (xy 171.45 30.48)) + (stroke (width 0) (type default)) + (uuid b46d46d4-6ec4-4b3b-b96f-158a44c51394) + ) + (polyline (pts (xy 134.62 46.99) (xy 134.62 111.76)) + (stroke (width 0) (type default)) + (uuid b6458093-4997-445f-b22e-8ae463660b71) + ) + (polyline (pts (xy 24.13 62.23) (xy 132.08 62.23)) + (stroke (width 0) (type default)) + (uuid b6a39303-4d01-41a5-b164-353cc146ec88) + ) + + (wire (pts (xy 90.17 72.39) (xy 90.17 76.2)) + (stroke (width 0) (type default)) + (uuid be4b8e9b-4382-4858-9cbf-e8d3cacbe778) + ) + (polyline (pts (xy 132.08 111.76) (xy 24.13 111.76)) + (stroke (width 0) (type default)) + (uuid c1f95a35-11ae-499e-bea0-d48d064eb097) + ) + + (wire (pts (xy 48.26 93.98) (xy 48.26 82.55)) + (stroke (width 0) (type default)) + (uuid c2bfb915-af61-4906-9fe9-1fc844539117) + ) + (polyline (pts (xy 134.62 44.45) (xy 189.23 44.45)) + (stroke (width 0) (type default)) + (uuid c4ab6b24-c582-4429-aaa0-b98935ce6744) + ) + + (wire (pts (xy 38.1 72.39) (xy 40.64 72.39)) + (stroke (width 0) (type default)) + (uuid c64be00e-1032-4f12-b845-55252cb69f07) + ) + (polyline (pts (xy 132.08 21.59) (xy 24.13 21.59)) + (stroke (width 0) (type default)) + (uuid c9059c00-f1f9-4327-b13c-9db8acc1bfb7) + ) + + (wire (pts (xy 73.66 72.39) (xy 74.93 72.39)) + (stroke (width 0) (type default)) + (uuid cee38f13-5b69-4435-ad1d-2ff1dd5f2557) + ) + (wire (pts (xy 90.17 96.52) (xy 57.15 96.52)) + (stroke (width 0) (type default)) + (uuid cf20224d-1e95-45c5-9d3e-b16b450957a4) + ) + (wire (pts (xy 43.18 54.61) (xy 43.18 52.07)) + (stroke (width 0) (type default)) + (uuid d2615c35-d24a-4ac0-8b18-0fe0b00e36a3) + ) + (wire (pts (xy 97.79 101.6) (xy 62.23 101.6)) + (stroke (width 0) (type default)) + (uuid d30a8152-9c80-4125-b94f-2253f8958cd4) + ) + (wire (pts (xy 82.55 83.82) (xy 82.55 91.44)) + (stroke (width 0) (type default)) + (uuid ddb93ef4-e4db-4868-8317-7dcca6bc6115) + ) + (wire (pts (xy 76.2 121.92) (xy 78.74 121.92)) + (stroke (width 0) (type default)) + (uuid de8c930c-a3e5-48af-8127-d88ce42946e6) + ) + (wire (pts (xy 64.77 104.14) (xy 64.77 82.55)) + (stroke (width 0) (type default)) + (uuid df457929-34a7-4160-bdc6-fbb411be78ae) + ) + (wire (pts (xy 123.19 93.98) (xy 115.57 93.98)) + (stroke (width 0) (type default)) + (uuid e069d1a0-21e4-4051-9cac-e2c84091c5ea) + ) + (polyline (pts (xy 127 43.18) (xy 127 26.67)) + (stroke (width 0) (type default)) + (uuid e1e35075-4a53-4c34-b10b-5e2f38e53c32) + ) + + (wire (pts (xy 101.6 104.14) (xy 64.77 104.14)) + (stroke (width 0) (type default)) + (uuid e3a76eae-24c7-47cb-89be-79779e91754d) + ) + (wire (pts (xy 74.93 86.36) (xy 105.41 86.36)) + (stroke (width 0) (type default)) + (uuid e4791c2f-9051-4d6e-aaed-3f7ca83b210b) + ) + (wire (pts (xy 123.19 99.06) (xy 115.57 99.06)) + (stroke (width 0) (type default)) + (uuid e85f6c7e-6680-4414-b965-0d4cd16d8fb4) + ) + (polyline (pts (xy 189.23 46.99) (xy 134.62 46.99)) + (stroke (width 0) (type default)) + (uuid e9072408-da2a-4f16-816b-8690e28c4bc2) + ) + + (wire (pts (xy 90.17 72.39) (xy 93.98 72.39)) + (stroke (width 0) (type default)) + (uuid e9cbbb62-0162-44fb-98ae-0fc43ad8e849) + ) + (wire (pts (xy 59.69 99.06) (xy 59.69 82.55)) + (stroke (width 0) (type default)) + (uuid ea912686-351c-4352-be9c-126fb539c8dd) + ) + (wire (pts (xy 97.79 72.39) (xy 101.6 72.39)) + (stroke (width 0) (type default)) + (uuid f0a7b3d9-a54e-439a-a112-f24de20771e3) + ) + (wire (pts (xy 78.74 72.39) (xy 82.55 72.39)) + (stroke (width 0) (type default)) + (uuid f153945c-c041-4c90-936c-2753657c14d7) + ) + (wire (pts (xy 90.17 83.82) (xy 90.17 96.52)) + (stroke (width 0) (type default)) + (uuid f8874645-9370-4a6d-b607-8812bddc721a) + ) + (polyline (pts (xy 132.08 62.23) (xy 132.08 21.59)) + (stroke (width 0) (type default)) + (uuid f8efb078-e4c8-41a1-917e-584d10dd4b8d) + ) + + (wire (pts (xy 74.93 31.75) (xy 74.93 34.29)) + (stroke (width 0) (type default)) + (uuid fb66de4f-7fe6-4cbf-90cd-709b84a51dce) + ) + (polyline (pts (xy 95.25 26.67) (xy 95.25 43.18)) + (stroke (width 0) (type default)) + (uuid fb9547fb-2b8c-4d6c-9d23-eab66b29db18) + ) + + (wire (pts (xy 40.64 52.07) (xy 43.18 52.07)) + (stroke (width 0) (type default)) + (uuid fc2d1f80-b635-4661-a9ce-cea5916f87f5) + ) + (polyline (pts (xy 134.62 21.59) (xy 134.62 44.45)) + (stroke (width 0) (type default)) + (uuid ff0ec79b-5c18-4849-90ee-8d6e458a59c4) + ) + + (wire (pts (xy 38.1 86.36) (xy 40.64 86.36)) + (stroke (width 0) (type default)) + (uuid ff33e703-2a3c-4169-86a2-0de6eb6fbe37) + ) + + (text "SERVICE BUTTON INPUT" (at 163.83 50.8 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 1d5f3982-43bb-4f27-b1f3-880db447720a) + ) + (text "DOWNLOAD ENABLE" (at 105.41 30.48 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 20856a2c-1700-46de-854b-73dfb68b6b96) + ) + (text "BUTTON FILTER" (at 115.57 68.58 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 8857be8b-224e-4b7d-ac08-95690e46a6f0) + ) + (text "POWER" (at 180.34 25.4 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 9dd2da83-e68b-4a9d-91a9-3bf2e5aab3d2) + ) + (text "BUTTON ESD" (at 85.09 118.11 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid d44045ae-0acf-460e-967f-5483b2e196ce) + ) + (text "CH552: USB MCU" (at 111.76 24.13 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid eef4f768-e1d3-40be-b4c7-1efbdd4edde1) + ) + + (label "WCH_RST" (at 35.56 44.45 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid f0e6d884-c13b-4f29-86c5-586aaca1544d) + ) + + (global_label "WCH_VCC" (shape output) (at 171.45 30.48 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 0c469563-2aac-4ea9-90b5-4ea6f056da3f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 182.5112 30.4006 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X6" (shape input) (at 31.75 138.43 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 0d3531d4-bbf4-403a-8832-b5d8ef31817d) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 31.75 143.7548 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SPI_MISO" (shape output) (at 173.99 66.04 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 0e39ad10-b6df-40f1-8a74-47834e7308b9) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 185.0512 65.9606 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X5" (shape input) (at 148.59 78.74 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 0f166e14-1841-4d69-9fa8-052c1ab607f0) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 78.6606 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X1" (shape input) (at 38.1 86.36 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 11168690-03ac-4129-a15c-74cdedd2986d) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 86.2806 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X7" (shape input) (at 148.59 83.82 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 1a867609-ace0-4b6a-8278-5c88e2931e79) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 83.7406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 74.93 31.75 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 1f59e495-ddcc-4df2-9755-fdd02a0dd19f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 85.9912 31.6706 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X7" (shape input) (at 31.75 133.35 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 28bff580-9d56-4ddd-aef1-2e9058b0ac47) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 31.75 138.6748 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X5" (shape input) (at 38.1 96.52 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 29f277f1-f95d-4d32-8d96-98a5326d7354) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 96.4406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X6" (shape input) (at 38.1 99.06 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 29f29ff6-45ab-49ff-8f03-acfbecadba16) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 98.9806 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 31.75 36.83 90) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 2c74236b-81e6-4e06-b7ec-5328be41a5a8) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 31.6706 25.7688 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SPI_MISO" (shape input) (at 74.93 52.07 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 3308c31c-d561-40e2-8538-af1afad26a19) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 85.9912 51.9906 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X2" (shape input) (at 38.1 88.9 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 362e4117-a5e1-4c58-a0a6-eedf0d8d0fb2) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 88.8206 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 38.1 72.39 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3edd4742-cbda-4b35-9467-539b7d4d0d78) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 27.0388 72.4694 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X5" (shape input) (at 57.15 133.35 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 3f2f11be-08a3-489c-84ee-40ac236d5de8) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 57.15 138.6748 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SPI_CS" (shape input) (at 173.99 90.17 90) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 42dabdf7-aea8-444d-8ec9-ecee784e5c22) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 173.9106 81.2255 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SPI_CS" (shape output) (at 74.93 49.53 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 458757ff-2f5b-442e-b5e8-7c367dc8b6da) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 83.8745 49.4506 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X7" (shape input) (at 38.1 101.6 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 46285283-f80c-41f8-8c6d-38c07fba3ca6) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 101.5206 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X4" (shape input) (at 91.44 138.43 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 493062f6-abf3-4cd6-99b8-c88bcc7431f1) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 91.44 143.7548 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X4" (shape input) (at 38.1 93.98 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 5fbf28de-b976-4a85-beab-ff98f222792b) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 93.9006 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 76.2 121.92 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 6264c3fb-2b44-4b50-82b2-2de703fef909) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 65.1388 121.9994 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X3" (shape input) (at 66.04 133.35 90) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 6363c906-829f-4c30-82af-a57e66bbea15) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 66.04 128.0252 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SPI_CS" (shape input) (at 148.59 91.44 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 64352d39-9d6f-4a9e-ada3-aba8b01d0797) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 139.6455 91.5194 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 104.14 35.56 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 65aeac4a-81ff-42a2-8aea-0efbbe7fb54c) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 115.2012 35.4806 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X6" (shape input) (at 148.59 81.28 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 7832233e-0dc3-4225-95aa-efa9355b7016) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 81.2006 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X2" (shape input) (at 66.04 138.43 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 7a1c29b5-9f7e-4dd1-97c2-f719b6c3d756) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 66.04 143.7548 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X8" (shape input) (at 38.1 104.14 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 7d2f526b-4615-4f33-890b-5089520fbc3e) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 104.0606 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SPI_CLK" (shape output) (at 74.93 54.61 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 833f3bdd-8938-44fe-8291-cc13020888c9) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 84.9631 54.5306 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "SPI_CLK" (shape input) (at 180.34 90.17 90) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 8aef5127-0dea-4215-9e2c-8d92f7be6b10) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 180.2606 80.1369 90) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "X4" (shape input) (at 148.59 76.2 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 99e31b76-a478-42ff-9f3a-353017d43365) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 76.1206 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 41.91 121.92 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 9c7f4c08-0578-4927-a68d-c63a09feaa6a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 30.8488 121.9994 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X3" (shape input) (at 148.59 73.66 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 9d524495-96f1-4150-b4dd-d05935b0c865) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 73.5806 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X3" (shape input) (at 38.1 91.44 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ba82cedb-a20a-4904-801f-1c93f19a75a7) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2679 91.3606 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "SPI_CLK" (shape input) (at 148.59 96.52 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid bf520338-0cf1-4823-81d4-a2e4acd3c46a) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 138.5569 96.5994 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X8" (shape input) (at 57.15 138.43 270) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid c6876dc4-ffc1-46cf-a7d0-2d6952ba5c82) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 57.15 143.7548 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 161.29 58.42 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid ce1d2de8-f960-48a5-89c9-943a364e81b6) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 172.3512 58.3406 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + ) + (global_label "WCH_VCC" (shape input) (at 106.68 48.26 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid d5f93376-c83e-4992-86bf-5f820457335f) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 95.6188 48.3394 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X1" (shape input) (at 148.59 68.58 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid df543b62-16e1-4be7-b4a6-f3cd4e2a82cf) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 68.5006 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X2" (shape input) (at 148.59 71.12 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ea8d270a-1f3a-4673-9059-d40b2bf0b438) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 71.0406 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X8" (shape input) (at 148.59 86.36 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid f592953d-3002-40f5-a564-485e88bdbc1d) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.7579 86.2806 0) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + (global_label "X1" (shape input) (at 91.44 133.35 90) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f69cee54-133d-470d-87ee-19d3638fe82d) + (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 91.44 128.0252 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + ) + + (hierarchical_label "IN5" (shape input) (at 46.99 41.91 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 2c5db669-93b5-4fa2-9cf9-de2d76f0e367) + ) + (hierarchical_label "USB_DP" (shape bidirectional) (at 76.2 46.99 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 2e3185f6-0059-4ae5-b712-833d1125b179) + ) + (hierarchical_label "TXD" (shape output) (at 33.02 54.61 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 35ffc005-daec-448d-844b-e16660d1d0a9) + ) + (hierarchical_label "STA2" (shape output) (at 76.2 41.91 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 41da80a5-2d35-47cf-996d-170936b7b601) + ) + (hierarchical_label "STA3" (shape output) (at 171.45 26.67 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 42926118-6deb-406f-8b95-466c56657d9f) + ) + (hierarchical_label "DIN1" (shape input) (at 123.19 86.36 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 565a20cb-7302-46c0-940c-793654d2df6e) + ) + (hierarchical_label "IN2" (shape input) (at 46.99 34.29 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 597a8cab-cec6-48ad-a964-1edc6be4ee93) + ) + (hierarchical_label "RXD" (shape input) (at 33.02 57.15 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 5d50cc2e-311e-4ce0-a9ee-6943beea54de) + ) + (hierarchical_label "DIN4" (shape input) (at 123.19 93.98 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 74b40f60-839a-49c8-96d1-9edfa04a2930) + ) + (hierarchical_label "IN4" (shape input) (at 46.99 39.37 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 74e3ca2c-b13c-419d-ab8a-295a471ef464) + ) + (hierarchical_label "IN1" (shape input) (at 46.99 31.75 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid 8028dd94-35f1-448f-b36a-9a43bc8adfdc) + ) + (hierarchical_label "DIN3" (shape input) (at 123.19 91.44 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 91ec9d6f-017f-4877-8ebc-2f06afc2fb35) + ) + (hierarchical_label "DIN2" (shape input) (at 123.19 88.9 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9cb0e54a-fadc-414f-8b80-a08b8f6f81cb) + ) + (hierarchical_label "DIN7" (shape input) (at 123.19 101.6 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9f58553f-5fd8-437e-800c-e40f18af7450) + ) + (hierarchical_label "DIN8" (shape input) (at 123.19 104.14 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid 9f594a9c-677a-4241-a1fe-613df9ea595e) + ) + (hierarchical_label "USB_DP" (shape bidirectional) (at 111.76 38.1 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid a7bc06ea-6adc-4196-9554-1cc231637d8a) + ) + (hierarchical_label "IN3" (shape input) (at 46.99 36.83 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid b7563e19-18fd-4fea-be7e-329d83dda11f) + ) + (hierarchical_label "IN8" (shape input) (at 33.02 52.07 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ceeff000-42ef-455c-a45d-5c2f9216fb54) + ) + (hierarchical_label "DIN6" (shape input) (at 123.19 99.06 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid d1e04058-ccaa-4784-80e3-6470a6ecf636) + ) + (hierarchical_label "DIN5" (shape input) (at 123.19 96.52 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid d41d6053-5810-4ac4-aa7b-a5a55b7d4d4c) + ) + (hierarchical_label "USB_DN" (shape bidirectional) (at 76.2 44.45 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid dc7e5feb-8a32-48d0-af6e-dbbb717bfecf) + ) + (hierarchical_label "IN6" (shape input) (at 46.99 46.99 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid ef0415e6-c36c-4563-bd36-6bb6b43f342c) + ) + (hierarchical_label "STA1" (shape output) (at 76.2 39.37 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left)) + (uuid f58a2a60-5ef0-4551-a013-a970a4021ed3) + ) + (hierarchical_label "IN7" (shape input) (at 46.99 49.53 180) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify right)) + (uuid fb6a367a-e976-40db-8c41-dda2de084169) + ) + + (symbol (lib_id "NewLib:CH552T") (at 46.99 31.75 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 0e34c22c-251d-4a95-9d0f-3fee97996fd4) + (property "Reference" "U7" (at 60.96 25.6372 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "CH552T" (at 60.96 28.1741 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_SO:SSOP-20_4.4x6.5mm_P0.65mm" (at 71.12 25.4 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 52.07 30.48 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid adaee8f1-4a24-49c0-803b-a7800f391ccc)) + (pin "10" (uuid ed07348f-e4c6-4d1d-ad9e-66388e877b6b)) + (pin "11" (uuid c2a01e55-b4db-4b73-acb2-480d416d09aa)) + (pin "12" (uuid 823bebce-b361-400b-a2b1-0e9a3222243b)) + (pin "13" (uuid 5b49509f-e5f3-43ac-830c-16d1a719fdd2)) + (pin "14" (uuid 6791365a-f0a6-4b21-b5af-7b4792932f35)) + (pin "15" (uuid 86980cc4-5c5d-420a-9388-fcba648d230e)) + (pin "16" (uuid c93b0e9d-6c30-4a4e-a3c1-db235553a388)) + (pin "17" (uuid 08dcd1de-74f3-413d-a540-33eb1680ee4d)) + (pin "18" (uuid d93014f5-f51e-413a-9aec-1a8323f5e814)) + (pin "19" (uuid 2ee9ff5b-70a0-4083-88e0-468512c9cf20)) + (pin "2" (uuid a82672bb-dcf2-4eb6-9dee-a365e06fa26f)) + (pin "20" (uuid 7b17651f-6b0e-4b0e-a20b-3beb7f574824)) + (pin "3" (uuid 07306810-450d-4f62-9d3c-0a834a23860d)) + (pin "4" (uuid 82b857e7-b9c5-4a76-97ed-4b197e3fd59c)) + (pin "5" (uuid 212d57cb-dee7-4c99-9899-c62f1d78b728)) + (pin "6" (uuid b67d4334-b80a-4683-87e0-65be4b1f1579)) + (pin "7" (uuid d1a084fe-7552-4621-a869-c5995436e7f9)) + (pin "8" (uuid a9c5f843-a40a-43b0-a334-4a458a41fa3d)) + (pin "9" (uuid b37580a2-afd5-4600-a1bb-ed3b3abdd46d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "U7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 107.95 38.1 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 0e7fc690-1a43-4ae4-bd4c-e4da492adc88) + (property "Reference" "R73" (at 107.95 40.64 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "10K" (at 107.95 38.1 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 107.95 36.322 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 107.95 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid add84576-9d82-47fa-a221-b9de62b75bb7)) + (pin "2" (uuid 40c06615-14f5-40ee-b985-f32cee2bf534)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "R73") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 140.97 66.04 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 109c4070-6eaa-4291-877d-6bcbeebe0dda) + (property "Reference" "#PWR093" (at 134.62 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 136.5266 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 140.97 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 140.97 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 46dde3ef-0505-4db5-b0ba-7bec59d86ce9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR093") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 106.68 55.88 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 17e26f34-51cc-4473-8da3-4466bdbbfef4) + (property "Reference" "#PWR086" (at 106.68 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 106.2462 59.055 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + (property "Footprint" "" (at 106.68 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 106.68 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 08477884-461e-4cee-a094-e8a5f85ac7d0)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR086") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 110.49 99.06 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 1ab9e969-ebcd-432c-9910-c2b09baa71da) + (property "Reference" "RN8" (at 104.14 100.33 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "470R" (at 118.11 100.33 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 110.49 92.075 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 110.49 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7d441d89-d7dc-45d5-ab2c-d184cf95460a)) + (pin "2" (uuid 06568fae-e43b-452e-9cfc-a92c055c44fa)) + (pin "3" (uuid 3b576247-1488-43dc-9bd3-8d41763e873b)) + (pin "4" (uuid d6021a57-3f6b-4b8f-924f-11a5fbdd64a1)) + (pin "5" (uuid b043fa02-bda2-491e-9f07-9b7f63ce892f)) + (pin "6" (uuid e1ee8ab8-1e7f-4c0f-84eb-77025e968688)) + (pin "7" (uuid 7de09799-758a-4bc2-b67e-3398be65f813)) + (pin "8" (uuid 0f51cb54-1cc0-401a-b3e8-4f17f0f995a9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "RN8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 170.18 34.29 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 224d059a-8ed4-4884-bb37-7fcc62427b3b) + (property "Reference" "C43" (at 173.101 33.4553 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "22uF/6.3V" (at 173.101 35.9922 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 171.1452 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 170.18 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c8b51b82-bef8-4aea-b7e3-6014fb2241e7)) + (pin "2" (uuid 3e13e601-7e4d-44b3-8e34-a38f0e3d6360)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C43") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 113.03 55.88 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 271c336a-a82d-4845-8072-e181db1d62c8) + (property "Reference" "#PWR087" (at 113.03 62.23 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 112.5962 59.055 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + (property "Footprint" "" (at 113.03 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 113.03 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8c7cc56a-f6ae-4aa1-9d68-78552dcd097a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR087") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Power_Protection:SRV05-4") (at 44.45 135.89 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 36fb3c71-d34d-4c31-8f67-0ac4c620de8f) + (property "Reference" "U10" (at 47.2187 122.0302 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "SRV05-4" (at 47.2187 124.5671 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 62.23 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.onsemi.com/pub/Collateral/SRV05-4-D.PDF" (at 44.45 135.89 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ea0fc7cd-e627-4efc-b974-65d067380c4d)) + (pin "2" (uuid 0884524c-0f0b-4e5a-b704-6661629455cc)) + (pin "3" (uuid 3ec32230-6213-4ecb-bbcf-a577593bd018)) + (pin "4" (uuid 564ceeb6-6b74-4df9-93dc-33e13e1165ba)) + (pin "5" (uuid 7e355ecd-fbcf-47bc-a8b3-fffde5c1d83f)) + (pin "6" (uuid d04ad2d6-de36-4091-ad8d-ddb69b06c75c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "U10") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 82.55 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3820cc9d-713a-4690-80bc-2fbd4aaf3e96) + (property "Reference" "C46" (at 105.41 77.47 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 86.36 81.28 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 83.5152 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 82.55 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6f97e3c1-3ac3-4d9b-a54b-06d9e9dae03c)) + (pin "2" (uuid f441fd06-64e8-4c65-83d0-075167b542de)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C46") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Power_Protection:SRV05-4") (at 78.74 135.89 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3923d277-ef77-48f0-af5a-5c023e22c6d8) + (property "Reference" "U11" (at 81.5087 122.0302 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "SRV05-4" (at 81.5087 124.5671 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 96.52 147.32 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "http://www.onsemi.com/pub/Collateral/SRV05-4-D.PDF" (at 78.74 135.89 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a7b638ea-a64c-4efb-a3c4-6cdf2b72fbd6)) + (pin "2" (uuid 7bb68783-d5b1-4459-8085-b4d9d8c49692)) + (pin "3" (uuid 374b2e90-8ee1-4b2d-8235-9ebb8c465563)) + (pin "4" (uuid 4affca6d-94dd-44f7-b615-8dd30fe62d07)) + (pin "5" (uuid 7d6ef471-45f6-4d6f-9c0b-bfdd0cd4dcd9)) + (pin "6" (uuid c7ffbeb2-e328-462a-a2f9-9b3cc4380c2c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "U11") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 156.21 58.42 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 3ce21b31-90bc-44af-baff-b10fd0bd92d0) + (property "Reference" "C52" (at 153.67 52.07 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 158.75 54.61 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 160.02 57.4548 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 156.21 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c6629a65-a68b-4d36-b2fe-b2ec2cc984d5)) + (pin "2" (uuid 973ebfcc-a32c-45e7-a44b-63898959844a)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C52") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 173.99 97.79 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 3e5d55b9-1924-4177-bc20-9824bd6a577f) + (property "Reference" "#PWR097" (at 173.99 104.14 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 173.99 102.2334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 173.99 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 173.99 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 733d6ecb-c39d-4d2f-96d6-877c8dd09b93)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR097") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 170.18 38.1 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 4d1c33a2-2a12-4179-a7c2-958bf4d88ed2) + (property "Reference" "#PWR091" (at 170.18 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 170.18 42.5434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 170.18 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 170.18 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 7e637374-9fea-44c2-a2d3-c88ceb14fb11)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR091") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 113.03 52.07 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5a72bc5d-9646-40b6-8c9b-893df4fe7c18) + (property "Reference" "C41" (at 116.84 50.8 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 116.84 53.34 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 113.9952 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 113.03 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 17cc3eaa-3256-43d8-b020-6ba5ae276abc)) + (pin "2" (uuid 24b2bc6e-6b8c-4ad9-a511-14af170eb748)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C41") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "74xx:74HC165") (at 161.29 81.28 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 5d403c79-ea97-4f60-9ea2-d3a5812f0252) + (property "Reference" "U8" (at 153.67 62.23 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "74HC165" (at 163.83 62.2269 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 161.29 81.28 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT165.pdf" (at 161.29 81.28 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a12f6111-4e9a-40af-9f2e-592065fe0eb4)) + (pin "10" (uuid 9f821969-e227-426d-8527-08381554688e)) + (pin "11" (uuid 44053c92-d1df-4861-9cb5-d1ef0c4300e7)) + (pin "12" (uuid 78862cd5-22a3-4e7d-9f96-8c8ae30af170)) + (pin "13" (uuid 2926bf9e-4489-49f1-bbd4-3907bc60b57e)) + (pin "14" (uuid d3df5fa1-a95e-4259-a052-51916a1c2096)) + (pin "15" (uuid 4bb7cc47-e4d3-4973-a4f1-6d02433e929e)) + (pin "16" (uuid 5c4f9918-d937-415a-a6b3-9564f1610178)) + (pin "2" (uuid a1524ec5-ceb1-48cc-a092-f522a1b3de91)) + (pin "3" (uuid 55529458-fb79-4e85-a048-f850835a7a4c)) + (pin "4" (uuid 68ab8205-43e5-4d94-8c0e-694de4d4d8c6)) + (pin "5" (uuid 1021a817-3be9-4ede-b7de-5b45dd41c1ee)) + (pin "6" (uuid 462c1a7b-5bb0-4e7f-ae03-88925e749a6a)) + (pin "7" (uuid f0c1644d-e6de-4c7e-be4b-0ae8ce79a63a)) + (pin "8" (uuid b8acd67c-d048-49a1-8e08-e81bc7be2467)) + (pin "9" (uuid fdd87468-b065-4a22-9d58-5dbdba0f2b44)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "U8") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 180.34 97.79 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 5eed7875-109a-405b-8956-5ba16ad092e1) + (property "Reference" "#PWR098" (at 180.34 104.14 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 180.34 102.2334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 180.34 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 180.34 97.79 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e55a55e0-2a8a-41a1-8522-8cc242a6a44f)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR098") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 44.45 148.59 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 68bc2635-2d01-42ad-8406-9a65325d13cb) + (property "Reference" "#PWR099" (at 44.45 154.94 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 44.45 153.0334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 44.45 148.59 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 44.45 148.59 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 56d9cff8-6e1b-4cb1-ad70-fc9b6384b111)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR099") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 106.68 52.07 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6a48853c-5f1a-47e2-b9fd-d6e0c8b6edca) + (property "Reference" "C40" (at 116.84 48.26 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 116.84 55.88 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 107.6452 55.88 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 106.68 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid fce595f9-8c6a-4d47-901f-71d414720cb2)) + (pin "2" (uuid 462dc121-ac16-44b4-a1da-1e8add067b76)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C40") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 144.78 66.04 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6b69af51-d1c0-4214-b9ef-a24f2539b8e1) + (property "Reference" "R74" (at 144.78 63.5 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "10K" (at 144.78 66.04 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 144.78 64.262 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 144.78 66.04 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 3172f148-4a8c-413b-9ae6-d187008efdc3)) + (pin "2" (uuid 9ab9a5f5-c23c-4055-9394-7b2725dd610d)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "R74") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 86.36 76.2 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6fd07247-1ac2-458c-95e7-750dd2ddce14) + (property "Reference" "C47" (at 105.41 80.01 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 90.17 83.82 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 87.3252 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 86.36 76.2 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 1a779a99-a37c-4600-9a58-889733c73c42)) + (pin "2" (uuid be363dff-d028-471e-bec4-b3233d1ab8cd)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C47") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 90.17 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 6fed1d79-e38c-4eb3-a60a-1b378ceecb59) + (property "Reference" "C48" (at 111.76 72.39 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 93.98 81.28 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 91.1352 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 90.17 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6336d886-d466-4990-8f00-b4e7c4f814a1)) + (pin "2" (uuid 41d8edba-443d-4b5a-80d0-68bd9b96a317)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C48") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 142.24 34.29 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 79f914f1-8149-4f43-a166-8d582f92549c) + (property "Reference" "C42" (at 145.161 33.4553 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "10uF/16V" (at 145.161 35.9922 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 143.2052 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 142.24 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 58a52685-fcc0-45ef-9a8a-01efcd2c54b9)) + (pin "2" (uuid 7e3e95f2-ede6-4b60-9f52-0c0d9cfc6efa)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C42") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 180.34 93.98 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 80410ceb-0860-4323-9faf-d707ef7db96a) + (property "Reference" "C54" (at 186.69 95.25 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1nF/50V" (at 181.61 102.87 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 179.3748 90.17 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 180.34 93.98 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid cb27ba9c-8f04-4184-b4cb-d6c93823c652)) + (pin "2" (uuid 33b6c952-062b-4e5c-ae31-7deddd7fa336)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C54") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 74.93 36.83 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 81dc43f0-0fd0-490c-9932-0d8ceee9c253) + (property "Reference" "#PWR085" (at 81.28 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 78.105 37.2638 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + (property "Footprint" "" (at 74.93 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 74.93 36.83 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c501cad7-a4aa-406a-951f-7f361d946f15)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR085") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 36.83 54.61 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 84ef773b-c155-44dc-9b98-412aeab3594c) + (property "Reference" "R77" (at 36.83 58.42 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "NC" (at 36.83 54.61 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 36.83 52.832 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 36.83 54.61 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5af17df0-24be-4041-8fb7-4cd8ea6984a6)) + (pin "2" (uuid aac823d5-d4fc-4346-94ba-f532cf536e0e)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "R77") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 110.49 88.9 90) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8defea3b-3932-4bc9-925f-ff84a3ba386f) + (property "Reference" "RN7" (at 104.14 90.17 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "470R" (at 118.11 90.17 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 110.49 81.915 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 110.49 88.9 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a102efde-9e3c-49c6-b9e0-3feb4c108c9f)) + (pin "2" (uuid 0919e44d-9377-48d0-af72-05eb78879dee)) + (pin "3" (uuid 1a7261ce-aa21-43cf-9ab5-94792babfea9)) + (pin "4" (uuid 074d489f-59f6-4fd5-a3c9-2fb3cc75cb1a)) + (pin "5" (uuid cca75966-5bb3-4f39-8751-3265eded2f0e)) + (pin "6" (uuid 2c78e36b-b812-429c-85f8-0fc3fae2ee29)) + (pin "7" (uuid b336cee1-1094-4db9-bfba-ca60e241187a)) + (pin "8" (uuid 34c3c378-d5e4-49c5-babb-c885928710d4)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "RN7") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 36.83 52.07 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 8f2c7c3b-611d-46eb-8588-af0477ac7a54) + (property "Reference" "R76" (at 36.83 49.53 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "0R" (at 36.83 52.07 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 36.83 50.292 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 36.83 52.07 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 2ca3fe1e-0c3b-4170-8031-5194110bcfdf)) + (pin "2" (uuid 3893eebc-f365-4c53-a468-5e5302c87b92)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "R76") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 93.98 76.2 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 90788731-bc02-4f8e-9431-a7ca710cb155) + (property "Reference" "C49" (at 111.76 74.93 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 97.79 77.47 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 94.9452 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 93.98 76.2 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid e3957d58-0a02-4fcd-a8e2-6ea136ddce56)) + (pin "2" (uuid c3a3f072-b593-4992-a46e-bf451eddd334)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C49") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 73.66 72.39 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 975786bc-6b99-42c7-8192-b1356f3c04ad) + (property "Reference" "#PWR092" (at 67.31 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 69.2166 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 73.66 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 73.66 72.39 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b701a0a1-16a1-4274-afd8-e6935b2110b9)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR092") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 161.29 106.68 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid a5455fda-a6b0-4d58-a797-b8e063fb41a7) + (property "Reference" "#PWR096" (at 161.29 113.03 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 161.29 111.1234 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 161.29 106.68 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 161.29 106.68 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 96e3e964-fd32-435e-9a9c-14f9c11afdd5)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR096") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 152.4 58.42 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid b1b55a33-1c4d-4f56-8f35-212f34256ae0) + (property "Reference" "#PWR095" (at 146.05 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 147.9566 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 152.4 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 152.4 58.42 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bf0f9ea0-aa20-4274-8936-b8343a48fc07)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR095") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 78.74 76.2 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b6481855-5a36-438c-a236-0e478a46f37e) + (property "Reference" "C45" (at 105.41 74.93 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 82.55 77.47 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 79.7052 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 78.74 76.2 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid a375d8af-d6e8-43d7-9ffd-b7f63ad2f5d8)) + (pin "2" (uuid 73355a95-f8eb-4fc5-a458-855869a85424)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C45") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 74.93 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b7b5f8ba-a839-4ce6-aba0-6b6d84772a3c) + (property "Reference" "C44" (at 105.41 72.39 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 78.74 81.28 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 75.8952 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 74.93 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid eb36b756-277d-494a-9254-95a631273ac0)) + (pin "2" (uuid bf2cc876-4179-4f9c-acaf-b251647c8b57)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C44") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R") (at 144.78 99.06 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b8088afa-56f7-4d53-84ca-c379c2d7c583) + (property "Reference" "R75" (at 144.78 101.6 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "10K" (at 144.78 99.06 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 144.78 97.282 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 144.78 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 15f61f43-0bbc-4212-b320-e8c7da1b730c)) + (pin "2" (uuid da5250a7-ad09-48b7-b239-75f9e115e9e2)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "R75") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 43.18 77.47 0) (mirror y) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b86eedf4-5da4-4763-bff8-01d111c1c8ef) + (property "Reference" "RN5" (at 38.608 76.6353 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 38.608 79.1722 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 36.195 77.47 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 43.18 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid f54827ba-397d-4c4d-843c-4a1efde3328d)) + (pin "2" (uuid b826eba2-fa8a-4908-bc84-28bc6c0ab1ec)) + (pin "3" (uuid ed43bb56-4def-4e1f-b5b9-9b0ac42ce609)) + (pin "4" (uuid 99bcc10d-0eb9-468d-8ed2-71e52a39fa8c)) + (pin "5" (uuid 6fcec107-3f69-4650-8f9d-0067cf489d06)) + (pin "6" (uuid 0cc81087-311d-4320-99f9-ea4b70c4fa21)) + (pin "7" (uuid fe65adee-c2b8-4c76-b6ad-c26bf4550ad0)) + (pin "8" (uuid 3d565ba4-cd90-460c-b7f4-69b6b610d061)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "RN5") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:+5V") (at 142.24 30.48 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid c0b580b3-401f-49bc-ac77-81970e15ad1a) + (property "Reference" "#PWR088" (at 142.24 34.29 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "+5V" (at 142.24 26.9042 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 142.24 30.48 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 30.48 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 5fd52cc5-f864-4264-acab-dbd8210f3c78)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR088") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Regulator_Linear:XC6206PxxxMR") (at 161.29 30.48 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ca31b345-9553-41c2-b4b9-dc359535f189) + (property "Reference" "U13" (at 161.29 25.4 0) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "XC6206P332MR" (at 161.29 27.4121 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 161.29 24.765 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "Datasheet" "https://www.torexsemi.com/file/xc6206/XC6206.pdf" (at 161.29 30.48 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 266da9a6-d5dc-4d98-8aed-920f5f32d847)) + (pin "2" (uuid 5e8d885a-5c14-4c29-b86b-592d15751c09)) + (pin "3" (uuid c51a3f78-f4cf-41bb-9a3f-e3dc82b0f13c)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "U13") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 78.74 148.59 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d65ef2be-5e3f-4a21-a3dd-1d25a11a3a46) + (property "Reference" "#PWR0100" (at 78.74 154.94 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 78.74 153.0334 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 78.74 148.59 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 78.74 148.59 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 68073dc1-724e-4a80-9de2-982c8c0a8add)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR0100") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 97.79 80.01 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid dafa1b71-1b75-4f1c-8de5-08d99ba6cb11) + (property "Reference" "C50" (at 111.76 77.47 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 101.6 81.28 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 98.7552 83.82 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 97.79 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6d81d104-66d8-4a47-abda-af227244edd0)) + (pin "2" (uuid 2b756a79-ceed-46b0-b8b6-470e1998dfd1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C50") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Pack04") (at 59.69 77.47 0) (mirror y) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e09d8785-8d77-449f-b04a-73900395915c) + (property "Reference" "RN6" (at 55.118 76.6353 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "4.7K" (at 55.118 79.1722 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (at 52.705 77.47 90) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 59.69 77.47 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 6d88895e-2e0a-4e4e-b4cd-89520a2a567b)) + (pin "2" (uuid 2dd2d177-2a5c-490b-8107-fd1b87abde33)) + (pin "3" (uuid 3ff9e499-8b14-4e86-a160-9fbba634fe17)) + (pin "4" (uuid fecf865a-cd09-4e18-a7a1-450073140629)) + (pin "5" (uuid cf491194-9237-4bc6-8b7e-1b929a4e8bb9)) + (pin "6" (uuid 48317c5d-9cab-4c06-a536-ae8b6d826604)) + (pin "7" (uuid a062fd97-2b93-4fb2-9161-e59c97725bc4)) + (pin "8" (uuid 8783b181-4139-4ed4-a256-4c40f4a4caed)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "RN6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 161.29 38.1 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e36fe0a1-30d7-437f-8771-ac8d912c2247) + (property "Reference" "#PWR0135" (at 161.29 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 161.29 42.5434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 161.29 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 161.29 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid b8272b06-9d1f-46e5-a80b-7688f6f1bf86)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR0135") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 140.97 99.06 270) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid e734535e-c409-4b73-a88b-fa0c79f34f9d) + (property "Reference" "#PWR094" (at 134.62 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 136.5266 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 140.97 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 140.97 99.06 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 07c81ee8-7744-41c4-bcc4-0704ad3210ec)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR094") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 101.6 76.2 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e78d54ef-9be5-4ecf-943e-2cebeb6a00ce) + (property "Reference" "C51" (at 111.76 80.01 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "100nF/50V" (at 105.41 82.55 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 102.5652 80.01 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 101.6 76.2 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid d6ea7969-6fa7-4d02-8b0f-e459b35c35d8)) + (pin "2" (uuid d97d1871-5e93-4a6d-9979-5334ef40ea39)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C51") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 31.75 40.64 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid ec933ab5-0c20-4c0d-bfdc-8239ce8ec515) + (property "Reference" "C39" (at 34.671 39.8053 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1uF/25V" (at 27.94 44.45 90) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 32.7152 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 31.75 40.64 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 8eca094f-0c48-4f1a-a4e7-9bc506bc9a30)) + (pin "2" (uuid 677dbae5-6041-4fe6-ab9c-5fb47247ba69)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C39") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:C") (at 173.99 93.98 180) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid f6cd5a02-887d-4bd5-963c-f0a7dea6f7c6) + (property "Reference" "C53" (at 186.69 92.71 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1nF/50V" (at 181.61 105.41 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 173.0248 90.17 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 173.99 93.98 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 44514180-b3bb-47f9-892d-b04afd1d54ce)) + (pin "2" (uuid b592e221-8f23-4f0b-ab0f-d26c55db3358)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "C53") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Connector_Generic:Conn_01x02") (at 99.06 38.1 180) (unit 1) + (in_bom no) (on_board yes) (dnp no) + (uuid fb8bc4d8-347c-47e4-b394-e8f5a35e6073) + (property "Reference" "J6" (at 97.79 33.02 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "Conn_01x02" (at 100.7622 33.528 90) + (effects (font (size 1.27 1.27)) (justify right) hide) + ) + (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical" (at 99.06 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 99.06 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid c0c5eb22-359c-4a98-b69d-4faefea1ea17)) + (pin "2" (uuid 83643ffb-6fde-4fcc-a387-8b961a042ab3)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "J6") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 142.24 38.1 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ffacddfd-ae71-412d-ba98-db5dd2cc6165) + (property "Reference" "#PWR089" (at 142.24 44.45 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 142.24 42.5434 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Footprint" "" (at 142.24 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 142.24 38.1 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 08d35a3b-85b1-471a-9281-62ff64b95fb1)) + (instances + (project "new_io" + (path "/a6aa5d11-2e46-4aee-ad99-9b7d46a989c1/0acd3522-6a68-4f9a-ae0a-d0189b3bb895" + (reference "#PWR089") (unit 1) + ) + ) + ) + ) +) diff --git a/QT-APP/.gitignore b/QT-APP/.gitignore new file mode 100644 index 0000000..f655b7e --- /dev/null +++ b/QT-APP/.gitignore @@ -0,0 +1,55 @@ +# C++ objects and libs +*.slo +*.lo +*.o +*.a +*.la +*.lai +*.so +*.so.* +*.dll +*.dylib +*.exe + +# Qt-es +object_script.*.Release +object_script.*.Debug +*_plugin_import.cpp +/.qmake.cache +/.qmake.stash +*.pro.user +*.pro.user.* +*.qbs.user +*.qbs.user.* +*.moc +moc_*.cpp +moc_*.h +qrc_*.cpp +ui_*.h +*.qmlc +*.jsc +Makefile* +*build-* +*.qm +*.prl + +# Qt unit tests +target_wrapper.* + +# QtCreator +*.autosave + +# QtCreator Qml +*.qmlproject.user +*.qmlproject.user.* + +# QtCreator CMake +CMakeLists.txt.user* + +# QtCreator 4.8< compilation database +compile_commands.json + +# QtCreator local machine specific files for imported projects +*creator.user* + +*_qmlcache.qrc diff --git a/QT-APP/APP1_Taiko_IO_Setting/APP1.pro b/QT-APP/APP1_Taiko_IO_Setting/APP1.pro new file mode 100644 index 0000000..1d10787 --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/APP1.pro @@ -0,0 +1,47 @@ +QT += core gui +QT += serialport + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + clickedcombobox.cpp \ + main.cpp \ + mainwindow.cpp + +HEADERS += \ + clickedcombobox.h \ + mainwindow.h + +FORMS += \ + mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + +RESOURCES += \ + images.qrc + +RC_ICONS = icon.ico +VERSION = 0.0.0.2 + +QMAKE_TARGET_PRODUCT = Taiko IO Setting +QMAKE_TARGET_COPYRIGHT = Analog Dragon + +TARGET = Taiko_IO_Setting + + diff --git a/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.cpp b/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.cpp new file mode 100644 index 0000000..256e995 --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.cpp @@ -0,0 +1,20 @@ +#include "clickedcombobox.h" + +ClickedComboBox::ClickedComboBox(QWidget *parent):QComboBox(parent) +{ + +} +ClickedComboBox::~ClickedComboBox() +{ + +} + +void ClickedComboBox::mousePressEvent(QMouseEvent *event) +{ + if(event->button() == Qt::LeftButton) + { + emit clicked(true); + } + QComboBox::mousePressEvent(event); +} + diff --git a/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.h b/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.h new file mode 100644 index 0000000..f8d27b9 --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/clickedcombobox.h @@ -0,0 +1,21 @@ +#ifndef CLICKEDCOMBOBOX_H +#define CLICKEDCOMBOBOX_H + +#include +#include + +class ClickedComboBox : public QComboBox +{ + Q_OBJECT +public: + explicit ClickedComboBox(QWidget *parent); + ~ClickedComboBox(); + +protected: + void mousePressEvent(QMouseEvent *event); + +signals: + void clicked(bool); +}; + +#endif // CLICKEDCOMBOBOX_H diff --git a/QT-APP/APP1_Taiko_IO_Setting/icon.ico b/QT-APP/APP1_Taiko_IO_Setting/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f3d4a85cbe5e5d3fc57fa2119d5a56582012fe3b GIT binary patch literal 1081406 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 a;SGXm-`9xQL*xjUcYPJ@gHfOw3jF{3J~3ke literal 0 HcmV?d00001 diff --git a/QT-APP/APP1_Taiko_IO_Setting/icon.png b/QT-APP/APP1_Taiko_IO_Setting/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0111ca4b7c727f838188d8e3a670c1f2b4c65079 GIT binary patch literal 145672 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

R190iwS9ZwjfejX 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 + + images/down.png + images/save.png + images/up.png + images/tk.png + images/icon.png + + diff --git a/QT-APP/APP1_Taiko_IO_Setting/images/down.png b/QT-APP/APP1_Taiko_IO_Setting/images/down.png new file mode 100644 index 0000000000000000000000000000000000000000..22aef914d7444c422397aea12dbe9053b042b68f GIT binary patch literal 3698 zcmV-&4vq1NP)KLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z0{~D=R7L+>KAcoX*H1U$S3dv${{;mF1_lNP2L}iU2nh)Z3JMAf3kwVk3=Itp4h{|v z4-XI!5D^g(5)u*<6B85^6crT}78Vv47Z(^97#SHE8X6iK8yg%P9334U9v&VaA0Hqf zAR!?kA|fIqBO@dvBqb#!CMG5)CnqQ@~D=RE4EG;c9E-o%FFE21KFflPP zGBPqVGcz_~R#sM5S65hASXo(FT3T9LTU%UQTwPsVUS3{bUteHgU}0flVq#)rV`F4wWMyS# zW@ct*XJ=?=XlZF_YHDh0Yin$5Y;A3AZfQa&mHWb8~cbbai!gc6N4m zcXxPrczJnwdU|?$dwYC*e0_a=etv#`e}900fPsO5f`WpBgM);GgoTBLhK7cRhlhxW zh>3}bii(Phi;IkmjE#+rj*gCxkB^X$kdcv*l9G~>larK`l$Dj0mX?;6mzS8Bn3Cf>sHv%`s;a81 ztE;T6tgWrBuCA`HudlGMu(7eRva+(Xv$M3cw6(Rhwzjsnx3{>sxVgExy1Kf%ySu!+ zyuH1>zP`S{zrVo1z`?=6!otGC!^6bH#KpzM#>U3S$H&OX$jQmc%F4>i%gfBn%+1Zs z&d$!y&(F}%(9zM+($dn?)6>+{)YaA1*4Eb7*VowC*xA|H+S=ON+uPjS+}+*X-rnBd z-{0Wi;Njun;^N}tgww2>+9_7?CtIC?(XjI@9*&N z@bU5S^78WY^Yird^!4@i_V)Jo_xJet`1$$y`uh6&`}_R-{Qdp?{{H^||NrjDyp;d| z00neXPE-H?|Nj8{whmJO004qXL_t(|+U(dl4!|G`1VD29|IO*3!3dN{G16@Boz`}_ zqntIzWWuTffk3h&ZMY0`)j%K+2m}IwKp>F+klrEChG&uRoPak07*qoM6N<$g4OF2FaQ7m literal 0 HcmV?d00001 diff --git a/QT-APP/APP1_Taiko_IO_Setting/images/icon.png b/QT-APP/APP1_Taiko_IO_Setting/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0111ca4b7c727f838188d8e3a670c1f2b4c65079 GIT binary patch literal 145672 zcmY&f2RxQ-`+icgvPs!1nnpGmAtalSY-R7gC1hnKQC7&x4%uYO-h0pNz1RPI^uFKs z{okL)E6;sj_jR4)IFIAF{pDoDu`x+85eNkKQwdQ81mf}^DLf^>rH3H!{9INP{8oqyB zU}FC@uCnmpMqZ?;CxVtP6TJ!VMIzn@gpM~Jfl$4VAEq)9F@B81^SZZvm=dvm(_e2F z8$1s1Qww~q&b>x8np)`QyuP}6JaAmT5VLU7?$m+%2A_Z-Y(CK#!K2{whMgk>KSJwfBtxmT$ig9?H=3^7Sd zuz+>m^!%%(;~iOBUW~v3ZNne)5Awe5QB;2>F9`{ zONh_6#pzLm$`IPmJr(Yw{Hj5G%@m?#y7DXg(wi4QABv;AsX#^82djqS3TY$Wd=|dn zilF93L5NTiwq2%{y8M-;yJ|9B%hIP<;u7LlOGI1bvu-w`;)qUChpmmtX`1O8(>!4v zk~?_%7_+o7k>pS&{XC@mKv;s7n6KCb` zQLZ5HWIEP|wdUsfFIzTV%C)O9Nq>nLRz?_39BQzQV0=}>>~ua1bmBe{qKr$BYkEXM zj){e}dP_HF`)q~ag_bMAtmgX* zbZ3n|9;d-~x~AFl)bA4qY^wSf%h5_VI+ZAdiPHRzm?l{Cc(_UR=@cW}0UMF|PWG3~ zPqe}o(_ijumrw$6RJ-jFLhjoS-jia5A@B^?A3E(L5aCsaAwu^qA=)Cp%^(ove{QI! zeI$`;Kt~`%zk1%yeT;Uknke%ZPE0jL`7aU_ovWfk*XVye!V|ta`-U7d;l`)OHzk~PJA`qA@; z{N-L0JE4*^D$;<4uQpw_?6?|lJ|&uTkrq($zxkP%+V$*@oh`yGAXx8B7b}kb`yn0m z_r6cG{Z&aB8n5fksd6ZXaOhE}a@iA;{fg6BN2f;#d_%Z`uIY_eWBN8UR9sa`RV3}! z3S9v~DY^=Vmp5w-BW-w^Y{4yOg2OsTUEaJ&=QeWp6BLky-L*_->Qj9S#$|sSXk=-VL&=waKy>=X~VZX!nYLw8uebeNo%gxjq zMK_s0OQoRpM1F2kVi|Zy_Sql`H_GC<>fOD&uEb%@1QEOu$`S4n3*VKV+dLQSbNY^@ zl<^!lLsQu;MeKRL+)O$~@AZtnbc*L?>73c^3JwY(avkzoNtIfsZ;$k_f4uV%`}$5I zNlCA$;bsuc^@fM9H&uoEt(7k?-#3Yp)_wWoa7D@<^_a|_*+oiG#OAwxrhb@y?7UUm zC7g!5$qk;N7|C{;cIF63g9QjuFt$w!hPTNP5FZ!ij1wFQ{txfkwGY2z&uLSe-#hAqDR1TGooCNtKKZ&WA z4CD-K{51T@wFUK)^r!vIC}jadW_+&H7bL<;YZ`uSN4lxBN`Yiq5LD zk2aeinkEXl(|u=G(R`S7&`2BezDJGVs4k*<|?7xwHXMVCd7 zW(}G3jxnZ;5kw^n&9>s4KTm z6hY(kiZxHrI3bh}7a|K7cD>{+LI zvu3hz-{$>Uxr%{V_Z(l|cW!LEf6-gYJSTz(%UpX3Wbi1_}w*2^XDmSgF@O;bIX>==C z!K*ttS>)bZ750eqkH1^Yvv<@=^oVsLUOitoj_iA>>~WVQLMziUGcEfdSFCt`T17^y z&vne&S3ggFpo$ofVv&c4s=E$_nB*$$NoQ-#b+X~v6 z+b(nHaIC&;{h2wkmB5*_=N#*y(V~2sl~GhV#4y}nHRj;5jpIc@%s0ONaizTQo}-FM z#S^z(^X|2`Vopnafu8|`|CGKnNZT`)}*|*^{sjpJwVr2yRdq0ml?Mt0} zHqnsRs4x)eh!Z5SU6U%(+W);hz7V3ZQEs_IyRSQPtLRx4e>T6kyXEPWM9xc#<=6Wy zt16GOZFi)X`MTD7JdTWi_1O#@3@~ZLJ5{VVtdJF%GmMcJ-zwcbu-{uHall-Y8r5(P zam+cX96nt_JHlP^C^*Y|{mX3fK>L?=N9_yTbsP-exU-MvJ-$=j;;rI+bYgTtA+c0c zWZ0w?Td&%~r&52U5_UAZE1x?p+hirg!z+`u{v?5N6iO5e6#&q&YVZKP|Y zDsOk<-%L5lY9Dc1FJ3R5Xsn?6eEUS`Om4gDNUt%qQ+8iq!S(EfdEa~c_*Qp38=y^U zJqZPA1j6|i0`bNRfjB&eKNk@QI~D|DNgILSjY1$uEIw$}iy=^$IG&0=R&pF(sc>*q zTKIhCA)B*=>aUN7-i2Q=bd_vISZc+ToX`K+4|@WF=ru|b;gw>t+}w&5cg4M;r}p_W zB7I?xrO$$vq}8PP!>=Q6(6|=ED9SG4hp%&Bi19S>)YTz7D7MFam-|Zi@8603{QINm2||qj z{{4SGChRG5ai#zNF>jREf9~+VAN$`s|Mz2f|8wX6evIaS?)*OsX1X*tchd3d;mrq< z=rr^ULwS0>&5O1;+lQ`n<(d{>8fTtv9=fJehA{qK-feKI7#EH2NZod>a1LoCT-bHy z(9BU;-*t`bi( zsm`Q8EXfLUB17qJsuaWaod`)^;e?ImIcww}w}~*Lg%d3AMo0z7MNEum`u_;mi%@ldBYtFi!FIMJMP>>x~NgVi7;Wm*#kl0MOA-hbW znwd&QA7_MQUygEyv~gjnc(Q`scct&h?|fHC|MKeL(9H@>ts>*TyIlN1a44v}7x%oO zf4sMdwnTAE7S|Or1O{4nseYLjbA6wpN z&7Ac<ZWrA z)~fw6ZFC#wm~mlnzUqBCDF($KwNss)!m|pU#)a*5b#-yY#l^~A)p9ul%g;DS+gKwc z?QCIvGHQMo>w_z9$^JAQN`&OYBFAa$voCWi9Wss6=8P8K+uLK%luWi3uEfFgsfqmf z@l`-bh=qShNKV(HZL)L4ncu{^;7_X=F}??)kW9!-kWdPbjO5C%sya`B=PNlqJsn~Q zH+rR|rG?_d9rnReRzl*>Gbt%kR??tCv823ThU{yaW%g#QSt9>lpe|3Z5$Cyw$2oE( z>GiswCk6&0d&b82N6m{ej3@~F;Z#*5C7Xx5y}g&<*-&C-iY5%%DfKhBp#of_AbqW% zNN?o+{=Sw)o~r&Asg#wqwKdzKkv7Ri`tS1TO5-0tezfuT_b;@vvZ{wfsghzCsl{{p zPbfU3Hy!zDR@$b2Y_Fv?(Z|ovugJ^C$2RoyeJHd1-H7pmf`Xs3v$FxPf?C*x+TG=W z$nJ+wX*^|+HDZ=*b3WQ4Wzh7e#V)L2Vq}CbH9z0R)Wf4H?i0;yH$3}KxI_aSP7OSO z8(bp1FGIzl=f9VDB{%Lk6O<0yH^K2)>RDN7X^O3bL+X*MfXs@wy4b9BiQuhU$@e%o z3TbI*rnccKRoO3#vSU771PC%j{B__^t)*cftD>Y*>KEE$qYWQ^o;D;Feiv6)C;CiH zP0db0p<5@Z>tH{KjEgey`NaVs&oD76>tzwsPu2SlJ3Bk-BmMoHUB-nE)noB6bXjhg ze*XOV`S0Jq;}vtE;{MG{(MuK;yZr}oadA}pJ3IF+OiZGiPppJ#2_b-6T3heS%E*j| zfBd+km7$W8o$%iq(MxG+YL<_gSEUveIlLAZZ(PaF&Ms)FFvJtC36x?GF*Y_{$knOE z4FB*!KvGKTWc&N`j3dLF|DIDQ%MYU-1}9h76U^}6I~DEi?HMB@BRRS)Y{I%&$qI{Y zt*xe#($f4NqoNK}@`uW8w&&Xf)ZXC<-|oBvO=K1`ADNY~$GEn3c4N+aD?@iUqoqYM z@Px1II9J#lY)lcSr>9eq1vN}$X;oGFEB~8)k^Tc(9;f}|-#o8 zZh5OWSGLB7g<07T=IX>V-nwh@MgeBqOQv9Ym5KY#v|vE_}utLB4e zoh+Bp7Z*k+9w+(i*)caO>t-8=Nqg5y$VM`10k5B_f6!gXY7q ziN3ym9Bl6iI|ql|@o=F@pb^2}b%v%*1#yi>jrH{vmS$zGrUVBEOYJc*dW)hw{CutU z9kvO?!)WZ6FGusGcFUMX|2$o&pWbqRR=Bf^3zfN<*=c`?&BDXm%@{OcO#MAQJtN}p zZ)`q=U|oh~azBCdx#-FgFFqQm-TxG1W@a{FW@L1;*51%N^fvMG8FDY$TU%YZn3&94 z-eHpsBRBDHqpJ$f+_fvDk>`W9c*n+Ol)kn@B7wPe}Y>^iD&eciU*NC{}>jw84qQp>SdvE zL^NDf?yDlek|tsuc(`YLyu6e~rl#fX#)V5p_}0mt%e$d1RV$^bN_P|bj606WlDfG6 zRIRVC3$7dB_+AD)ko!4TEsLGKMEAzEt0RMXdV=uygC@v55DNTH5L^3gwN_SEGD1GD z8CqCS$pnUK6Jet6IPDrEPu^eSI=3aik7$Odvz>`cz6honsXf;AM4}~X&0(>9IKtM31(!-Sk1=8dkA5wZi`0|$Zl5V1g-kCMp_ ztx>FuY!4rv(cQbZT;wqB#2EkQ-)E<1cXD!KgME!NhJ77ECQ{fRkz@rL4h~`?BO{4t z&!B?b{SY1=_Tj_Zj~|KX85!yB-0@!?!ZS03Q0waH@mgCmhq{`Snu?~Oq48&BMbyB6 zv9z>w(w;4dhZGuJQSeQ+`JVUh-!JrMYrK^D&$eHA`O~zEhdfw3Iy%~8baeF5RRrS? zbTNi-8XlgTP$8R|n$TS-IZbbLcX!{eq*JPMu(wZ4O1iwdx@u@*g5|olxLC46M)ztLc5u+NSFN3E@cQ-YQ(4)Ga`*tP+Q03|Uw7PT zf#Qjq+v)J9PoLuBd2ATS9zBR;mrN#rh2P*XCK3xK_s_^K#iSDtu4@XTyHoS~mjC{z zPuHO^O}2h!Gc+=KY-7VVJUoojx8iTRU#6mA_k0z8@Z4>**vhH(IpaTppXkRm;c6oc znKlnm@v==nKkRzgbqGS_efaE6g}g&ZIWXzO-rwjBn5XC5aC~HFX7xU$jz(&A=WSs51xC+Aslem+~ob&Q-F9qsK62b(jj?kA4O z8^VdG-;)qED^+{>va7T6O=&4_Z(m=+&!3+X`CGpwC))*4@a+jIDkyLY?sSTr7W~_8 zX<2`ojeN3M8!aJOT3%LB%~Iw}q12tV<`D~_48kB}pk`!5BV>^J^`|R|CX&t4QjgIxRi@v7H?U^vKTM-nxwgmahZL6f=z>6QASa&RPJHsQmW{qMS~52P~jay8TQ@ z(D~UolR!#N3yE=A_z_$kKIALYsCz)qnK!bUmXU#lzW3z|Dda^Di-Xg+KJZNO(vWU)gwp)6SuM1MwbO6=W;YZT@)2Gh}DSmeeN{%W`d$M@dQP ziU5=-!;duD&{w7P8r~lkZO$}SH7~9Iv&~J!vu#`xQj04qu6dP}XU7cTcY?2%JZyUP z@I3{e{TpgoDXDKd=!aJU&0Kn0k(U?dHk?BZ)%KIsOvCA|2M<<%1BPOY@kADEbec%{ zD6PK!{yk@D>9#EUve>ywW;TdCc+|!MqaK#m%|udhk8WP|@_Yw4K(|m${>2ObfB?*o z5fKU5*}+aLDu`H_g%}o{nnnm#+#Jn{qiYZT>2NtuH8sauA$L?vOiUt+$ILnFD&N0{ zNG>TUi4t(*O_7ckdo1I3<%-LT7dN3NTW!rgg{bSg9f=8KLrJ# z2*J>g*Dcu4kC-{x*;{qbw^~Gmg;Dg|WBf-))mvkD2mx`iW6}_$6cv#?dGh4;ojZ@M ztXPkZjtoDxyn&exc|<{^9815UfUG4y`HO=eqUTf|E#Y>=@N7fc8ZbQM+9tCQW;N=j zZ~el71wfzynhK9NAwhL?RYQXq(e>+zX=&)GGO=$5T8<1RY&&?Jcm6B^92eMcq6<0s zeEsj3-6ZIAI2TD}YG~+~SXgLBl(o70R8q1g^F=<3!hDW@uA!reY6k)*w6wgqvd+C**KBHak0$MsJY}wO*KUom3>ht6_#o<%WWkuUc89n zvY?!Ai}r=%wW4I8zsmJ)cXtt}HeSr(;`@Ijt zq0W9TXi$M>pmVgd7$xW-Fy9^<*xRc_>Vrq{6+#>p6_wllgd2`$%D&9#V-8dANJ9wK z`4*wUdBuh?nPIwe63-1Mz?)@d1w&+>VHfRvwF2~>R9Tq%zsf^SP~;2* z{`m2boX7f#cnGD>kZFoMlP6Sl8>laii@zD;M=%@uQ)_71i5+u6u_j)Gll%z#`FbDUo9v00pCufuWy25Anh>Qz<=8HqS%) zsV~SG`j+LKDt8lTJN+psDVqfilWBd%5SD1qBAM!Acx-M|%Aki`F)t!xl!^J}c^S=e zx(=gQor!b~L&fCyU^Eudhjxv$L(k*Iw&ZpXK0*}9TFUJuy}9S zBu~2!A7PVsIF)d;EZ*LJ_oT=>& zL2)SI$Cp|JL!DCI2Ellg&GiA%G!x;?-Di9DuLSiDy1&Tz2ZUNBSy5tdc|MRf8drn|^Bq`lRi)pr@qH%+smFKXoxiV2j1=B9O1RkJaKAjrx(2tWffLu-#hspK8imlhD~r3ez1=l1fEL|muW7|<m@4$Z(o$QB>JXFNN)LMXw?W2=kX6KXvyIs>|qGdLu_t z2Su$%hvmlCKI4Qg!`q{^O^ZFL$O9zjwnVtOJ>tF&0MxMM_wN_yf09BfMIfs$sENa7 z)3H)J9TAaQj~D?r=et-aZohle6|Gtx6lqV@_?QNXHKAITsIz>Q;&$1)9}p1G2|MIl z%PQpBGPm`Hn?z=?Ue_&`-{-)>yNa-`%yNq<=BI2dFEIuN1`BDBXOCmD!tc{&yh-~q ztCd04mEl6Hxw$#^Cc&G4_Fe;slZ64s@;y|9i~O>d|7kHHP@bGTxBvY4^Og!ti&jPj zvTIk>Jx+Iv=RUn;G48$1i%z3;DZT?Or13KBd~h%h5fRbXvNAH5+Arxa#aIW*mibKE zR3BqjO?YUQF+U!}s)}rxyHw3ITY+`BVq8cX&LI7^TKi3x;kB4jphIEeUDM0PgHAhG zXhO2LK7pIjN4mWycbllvpOA6wCXe;(sY!n(&okVAihwmG3>ja5+IT=rOpH6YYA>BR zLdVBPRy1mjm0dDV3gH23jC`C4Z0FA2USdTB#jRVnU~uz{v9qe$#VUMFw&JaUxBhm6 zL{kwxhvZ7J6a$u@U69!2SQ)em&5)aH`apsS=L`Tul`GJ?M2>@oL&58xQ0VGnPm@4Boo7YHr%+K%jw=C#JA-MwR zYUe|poh^yyQ-z(6c?`$Dz0!&#Hb?Zb_F60OOk5P^WjMC-c|&3vz$ zKUO8Drk8JsDRp&SO7OER&ZBTAt(Mnk%Cvgk|=t z0Yh<1N#Y^dE$!`*^RohVPc#(p7g@q>!$l> zS;9_>$&vjq9-O8CPr=kbehd}Z>UgzCuRVq*CK}yexVj%YFS0-ZjLyly<&1vNsjw=X zHT<@AhPl6cRY7*79vAV}W~iQL2h#^dEsIm`mOC7mXOG=a`?3RugF1gg$Me&Dc{Mds zn{`1Nn(BvU!v(2vj?@0DJ6Hcwmj2W~&Bu7t^YS)500HaQbsvBF{Ytgmk@aj&>&(Zj z8{I!lIt*IM%a>#V=O;E%ZTj5g!EbKk2y9;WE>mU4>KjHg>Eeu{CW-I8%)P!_=Rs9I zKp->h))ST&h0 z!oPbXT5~Z6Ha9ny173>fB@d4BUr@dqQG9l^yg9b+PEzZOn@WdA;04GCnQZCl7=O{{ zyMbkF?=M=J+@s0YL&;Y5t93O`imIP4h^)qY<(NKi zNqGHWaG4%+n5aKHJ=XjFHAXqZ4qDLexpdqkr`1@8@x^4uzunHSZV-m5HUI=wCKeVU zH+{bM8C&&8b4~G09O5V_DEzr1U+@dn!!6z9dD>e|k|Q2}fk%|MQVfK=yu2t`!={`s zC%s>y(~vBr1e`RrDv_kr|+3d!~Mm@kT5>KD%tQ}Fq z)I4*#KhY?7wuuXyALTRwyoFgfqim(eOheH5SCW6$cEu55C;ZEoFJ}!XGObb$^f{Y$gzDN>)~up{c2;o!#!6 z4F`nho`LS>{m2$H^tozeO*zok*{VK2_qp5PTk24EUZs}xuFDX3I@;^^Rp0dX_6ptO zI+~AEy?-5Y4&SBVd2%_XaqP!kPchTQNSqMy?OkTTs8Ch~IJdQ_* z=5^G)>vTupIacj!fov4Gd+#2g)+y@}Kn#~rUfwVF^h|v>9izTkN*`mY*_?P=0H4A% zh#=7Xag2X`@j-s)-Ddz6)0K3$W`AE|{nllOGOdZXcTMmU6JT8+st3y)m_ez5k#1_! z5e3)u?GxKH%UwBlhdjb9xwAV5wzsD|(xUpZ% z`9>}7W|ufswQ*rXol9^?$a*}4AoB~+;J+s)|29akf{qxoY7- zCYBV2V~L6%Xz|#wY|NaS90#xhkON98Dga*5AhbFVn-2u;ki;Xd1_o(AcBhfIz4Ml# zcS6Iof^>xgmGu_-x||jkil$*Qht;&GAv-C|M*uG1E3I!y=(V{O77GETIui--EuG`z z!H|XtMMYepsZ7~%l%t6cK6Yp{p`jfYC0seG-|F|$qARXI#^*tFmtoz?P<~iU%zH?0 z&_AR0OU};RT@R*w58z?-#L^554B~-~TX6u2bEKv$4xUt#MmU=VIsED+Cnr}et*;L} zId@d6g5{dbAg#mIAkbhcVzn55 z^zGX>B&5nxZY+ogg4A`VOC0&AI(e#zXQ!mst{%U?$>zQbbNLqW_~ylMnvDREHv`S` zTvr?pZSbSogF%zkmbuPWsnVjnHSX>7s6x{OY+V=;jGgOBWx1& zZufv!^<6Vx=XfvTtAx(hSb~JUHINfe*n3!;oBXhO(4eIfd6ip{r0V=36&^NrG z{nhB^U2{axi9WkR@`3Oy>%bXzZ#!W_e$&Li=Lu{R@bmzI@+_xngl?2eCI<|enCA~| zY&KFMt4s(+f&fg$AAn~VLk^A3|2z&8A@c0<0f)*$88c(AlFd>M9I>dPm^f^AxZPUS zFg>~HI0;#2$=x|I5dz@=tRn=f77L@gD=+zyD9Zu6dif0v$x8Er2fw^x(=^jCD+WL5 zM*GWl)u*l@AvIJ5b#-#s^9*}jPq`x1``m6v>_`TrvQnUUY;8LL``y-MtL6sntdVz; zUjwOd{F5%#-MIi%dr>rGitKuu<1Xt@-1;0UG}i$#G(3~#-|f{O zU%fb-%1aiNhx6V`OH2EtWMquu+s8^7eaQL1av|1%RzM(*8OxXQ#;BXGY=V_!S)gMeBJVC3Qh3fl7gb5Qx`LB)2cmRt3I2gq$Ei4 zFyKSQMJbtmJ4onVq^gbSzB96U5{K|TB?EMAz2wKa}aWtEPxS39Rl3r^s_;cDwrY{&d_e#H?eO2Zj+?sh!2CB@b+0fx;{l?Cx(%Qbz}#&nrgvlJ zzGLRNL_aY5;#PzYr>ZB=&dZ*)(S`JdZ#~Ov)9x!~-toX-{87C+E9@g5cwRO6)>e4# z06DIJ;saE$=O@eA<(ch6?fjw6!9hQm)317$7JqtU>2~EYc}%T<>XZF@{Eb(SwQ~gn zjw`U8@s+(w%ZlxVxI?Y%DM+5>P!{p^?dGZy8t;Shz>vDt7R>*z$9z zK_-m%1Is|zeiJHtkbs~NnXWo>8y*<&g~^bd*A^W*o@LqC<>7qneoU6$%aIA=?3%Zw zpWrRl7$j7c;-P>Njo+j~;@r@Pf{l%RFhh0jN6086y6V!qyc-OMFK~>U0-DQWpyUht z`FR`{c|6O>$~yg;lA`~(pt3PD^Zv;!qhK{K=DO|#`;L#G#zQ3*2g(A>?GTGomfTQ7 zP)ZWt%3Tj!$7+M_qqUKqaZq>vU_$-RIp(eT-@lgcUY||q#t_EXne6G8^KhUEBX$k) zM&m&duFU(3E#_eZ!3!aTQzr@SjE zcE4GK*n`NO@gPh&;|Z|jNN9pgJt(t)s`d9=feb%@jvNT0Q<_@{aGM9Te0;}0wN9o< z791l9feMjm-CoMb83!?D3mhI=>g<(O1qJM*aEhv>wnkFEVtnK{QBn+mR#C0hKnQpv zxfE%QLSmdj3<$eHD2z~htzkWSJTKLb6zs_a2$;9SNcL5;GZ8pI5>3&I1WG#EFNEBTmcrrGj2vW zBY$#fyqY+X`85stxFMQvi7&xIOitAhiYx1g#_ftp-E)hyW!v-t^W5-#ZTUZ7J}X&< zO%E-L1AP$PH>9usr515WqgQq|Q*VEN;@7VTyY?mO7Y$*c>Wo9}W&R#^8I^! zxlkm@TAG{BMu&!O+9kITW1^auE;6{DA5Vw_v~N{c1kMP^wD8|oAeyG9r-dTyXiPO+ z1MbXbX*NGy;==zk-KlKFy_;OAd7s4Rm=}egJDK{RK>dEH2*1S56;fXU=SbR45uf@% ztZSI(GNaBWK)KxzaCM|6iaQ-(4u&ZU7z~)g-6H`)C6p7DP(SHUODi^XlOg zAUtm8o!cN)pgb9?E15|+3L>P92=dvO+I7C1RRnGT0s;cd-98n%2M@5FE8?C{F~99u ztb@{Nb+DlWabCS>8@K;es{AunAEtEibp>n++-y(km~5cTfZ^1uev5jcriO;%?Vfdy zj=rBbU30j7|Ni^Z{S>9UZczQtlcX5RJdh5X@iAoECa?n!)q_-^tPMcX?Tuij0%e)f zaq?1Y96z6ab}DElptXOAj)s936Y6D1Bb&At#Up0xV0wiK^(($Sz&HxMJ^)fq7p703 zGry`<`8_b>BtzmRx8psq3s?wIplqt+eaB1U-V&CyY4Axz)Xfl6t|7S@&~k|%K79DK zXEE{U3kfmtR8iIG1Grn#S_SB2-)R^b4eF0}mouCkE&{4|W2=Q(P*q83r?k&F=sP{X zSM{5+wNfl3y4OoQ4TgjTM+8v0T>!m7LV?6_d_;NRS}A1ls@|k3k7)@?h=D+6C!Yg?s3?ng;I!~Xqe>ylHhh2Baj0R#)mF; zyUTRw#}fw-k*idclt#&=&C&rCBiV0cXM%xV-h*PyoC|OS?19y66FwZdPiE(Xz90@7 zErWdgm7Zz}w7*!B)#J?d8X4y`V7EFA*>_HG(Sq zF&hz<^5fi$K4WBzY);oBV?>*s6d0GpE$98cJ?K} zxwF5I9Q^7eEVWFm&^NSceQoIdd$Aj}-S7EHUh)yX1cW9;S-N5>EgKt~oO*Djprt#= zS?oCE+z3FMX^A;TuhC3f9Jq~#4QqEKuG_ltfI1>nV$Zc?7{le z1Uc>c0OI1~wK5PB68DCkDl{RoZEbBQ!4-xSZ2*q>S#SRS%CkDU_vV9-^Asxk%0JaB%dWeKlM-{>g z;fcQSLO^`_^mjbyC4`A{{I3lRW)gfUYl^LA64jzW^ywWKn1Sg6IgFN#U3x5_nlo9= z*{$noorisoM&bHgwaIb4^G~g`<|3I?5#ZTA-GA{GObRe)lagt@t0*cc&|V*}0QF;G zE+x?BEcwSJY#a*`!D4)Ie2i_KG|PiYTMW=Q}LdUuvPV=t!kMb5r4i4A``;8QbEUNnq2nx|9HK~; zV3+}qf@hCyWQ(1qPP1j}tpwUzSEJFG>qD-N2nN)bZjgdf=GnOqKb}Ug1RjKgeUEbo zq>6EOT-Mt9#~m)N{cNysxHrG}cwruV`08)fxqe*$m=-#B#&o&cmcSg&AO}QtQfVb~ zd+=rkf>Y}XW|cozG|0T)I;p+Y&)NbltNhn_00lv%0htNeknY{Xg8CcSeE270FawMv zz>FfPd=P{ttLy8#^_i5#sR_niEQvmJHUndTbUH+FThT(*PfUr50l0u1`pWmmUF79O zW#BCXfNr~6Y#oob*$o6Q^u;D(fMpL#!JHZkF``C_z0L^sA~5|nz)+vKrZ%){56_AN zv&d!Z);VjZ$sM2P{TMgZ-pcmOS@Qss^Owx|D0vGyV2Vs^0Pyf=-<=zmDi$F>psdOY zo)UqWbt!?#Z&$7mbZNivd+M()gS~P0v-kF&hB>#g9YcTH0+a$Ul?HH9G&PS(# zrzc>a4Wi*PRH=KM=A(uSE8-VXQL<9L*+8ZUSkfL0bhsfq`-#dKRvrBNlRrny1HapI zx>r%bxq_?i0Ls4=bXXyLN}5Q;1Uc_kw^?$rrp~d{X~oIOT!$(5YuP81EvLN@U2(j-DQ4qXpG zc-Tl4JjDRsV0uDUOiXM91~7B=B6AI%e>eK|OoWPN$vJ2S79*xV{X$BR(iW%*UN8uW z_i`8OS3iVseyC-MK>{K> zA<`$8+Ef4S6pjJVXs*cs6LbS$b3$qPl}M|#2Sn~}Yo?vpZ@Lf$Tnq4Em`%S&go#w0 zU{j)4bWo6iqAMT>$}#A=!CPBR1BK2N<2){VE51l8$b=OG{e`8$Rgcqbc&7}CkjL(! zEB@-FTGn;o%R};X>jTnCRe;BVAzU7IaB0a{HLL$u!*fGLdegJFvTNUpvQNu zHf|MOu=d|GGWG`s1{TDQTzb~y}ebw`j+C>@23?f7Fkl6u#-x~3s4}feSk7_ABvBG;Rn=XU{i13yXQ5s ziqkuAV})JKv||$GvjXuSueP>o4`!JV0A&(jw@Q2x$l|oQ1&DK5Kyy8`hi*XPj(VJ*s#dx>^^V2^7X!xf zw6ruK9UUENaaryMBo-?o7?zv!%*7x0WV<0v!zd-wa2Z;?UDPDBx?mMgpH_pw!UCT4 zsLZ2rpe2xO2c-fg&6*dnYIw`sW#Rf{^*;XIL8d*+=O^y3AKrx4XgOv#paT{_*nWKe zs$~UytsC!r9CW7IHo4ho;o2e@&t`e?Jm(NTJ zELGD=r!Dd8HC&VW!j1u6VX)A%zE*_66~27D?4ywWD96G%cdX8i>)Z7u_dNc& zWTkA91ti=B?LggSwNPHZ7U@M8DY5|nmyT!^E>Hzu0Cjz7r1Cfspg z)8$Vj968w%YI5uM7wQAJFlpK}b4UOILL-UdG$RF9df@x_*V2@}NBv0cf$vH?%O7N;Fz?|*JAh#nEX!{^3=4<-D#t;It)V*G@bzn# zJ~z-jTIaMFKT&KC_$%RDD&OsY*#JxA2PqH>f(GJB8-y%*`Gm3c{aRDbq`W+QpvvC; zeub&DLR>TC#rR~CoXFLhsJt4>J!?|>K5V?1t}rnRR;2^8?H5wlcuZjm1eEve$|GYC zyK&$-kHdbX6>UTeqITQlgns2VK zZ3MTm*xVmfdLU~qD+)57(w^_-vAX9veLc)sABDWUqQoNm(9 z4DTHA8nK8_)!{#`5iauTzO)DKpvr1vNZ7egBqBW@JUEW@&?MXvvB}afgRkY zuG075z;PK|pq0nq7G0T_l0f#?r`NW+pD|~(baZ&M%~?NrbpkX&ZF9uE%_OSR+tY!x zC1Ah+(3p~P71G-i#d7-OcTT<)qjz0O8p$4~aJ>V}7hr)!rYR_Otl{yXep&)B5#r;t zLfx;P@1Df7wqjTKcI;c+7881%#`X%>{%esB2xZCd0sVq?$%fYXt`<@NqT|$fmZj_h zXzzG1TvnhYf{pCr-9Oeku|~HoKUozn znTfGLr$Jm59YUW7e3FKgug{ijdGD(i>g((O(%DpaYfN#9^)!=R zN|7RtP1H=Zj5t0d-lf6`Lgwa7Q0P42;r+6-KmZ7UcdimMGVakfGKc>@$=7c?s)azO zn!I)aQ=Wc=*XmM@jE#pCpFg*gh8RHF?ZC^0PZ5BIxE_cKl4Jv*evosh(teVSl1h|Y z%{~%AziGNo!vx|jOMR8%-Kw_rtHh|YG`d9!2-ZB};Hk-;6 zy9iKQ|7{;QFh1l=KxgY&qZh*e4kReiorYYf?NIi(?N@F&jpR!o$Zge{sc#Sc_cnpuTC>gt4{>BHB# zaYM){56M#iV))}1XTeMiZdCwRAmEU|o2ccSrd_#Jgo2iMf$NjgN!4~(b?)@8%IQi- z3pT)T(y(1D@M@jS2%cSzcRw-`)qI9D$8%YX%Tl`SbO~Dhq(kC5`nOJJhYMWs+*Z>@ zP`|Bi8DfL>pQ9O+kyFX5ySffyBS3h-2vcA=1ef7uPVs8Smn2L6F=K8>Az$$;Z&{zQ z4>)y|465YZ|M*Te+u_T?b|XTrgBw*%ythB9(fi ztr}imeZxX>cb-64f*oBM47SM%{$LLrb=_{e!S8G<+CHS^18zMc5|X6cTo$}7rtJ4r zC)D))d!E$^n_$!jS2?^>2yepjLqh@Hn|A&bLg?gdzp7E3%8kfsfR=}+!~w)TE;!%> zKep=^&6YqLDjye>p!@&v^c~<_w(b8)w(NW>vR7GYDtjbSNRrB?ZKtw@ua%UjG-O3d z2}L#$m4=xpnJIfkM%MpxdEVduIG*=8j^}-P+_(F_uj@L`&pPKVo;IalPjQ8q5=8@j zv!%DAwv!o*7Dkqq*YNFB{2U*%zt6#y%O~%ev>7$);PWCjeC<@r%u7$hckpLq|e~Ia1Xmu0uj->DDrb&P+_GHa%?a5?C^#H z=91f2k>#!HYVrJ^k7}e!Y3z4T7di8Tc;8SXgrg_k8~0fjq5>3&5VAp%0v(pRL=2s# z&^P)>4z5T-0&woaS^%_f+mNCMsv>M)wgzBQX{kWbrBNL#D?ywcLh=@InS$wDUe7qp zhfMfg3C#Y#`j>OU4~OMgcZ7U$s`!iKw-DNR;|`yqi5Oq%yt-%km|9CXXFpH4U3!rk zp zz(;tNc?~>y9RJf{`KGElUf|?wHi%Qqt{G!oxW0KTMl^J1$%JI z@YD*vtx1RP8AjT(TXJ|@F zO0cK*9==2w;^zOe;WO1sO18$3GL#5T98Zt@c^FAKe=hki3|fr?G1-{>oWxz!-rd^! z`M~`h8NXzfkN9eiu}@oT=aYc^y}OZPhGRt;P7=;$&Ci2>lT%aaz-)$WSF1IH>l`4CqI|E}|?CQ1>@+Rr}HTxh4466HZOtoUp9USp&us^q0w% zz=lCgp{>1!el8s%9^7IljDk2_qpIx{T1!Mtj+b>ZkCw}RgNn%Y^Y&(I7-=9{jtKkv z0zhrq>}Th?A3yjHHlITIGUvX#E%N?O=P6eS9O#G{ST>6K`7JJ{r>BQ)@>B)3w*2I7 zIgkAHa-AAFIuA*KI<_N-+b+lLa&&%fx#&N+cecH!m!cK(N3V4?TYW-870@R=S9+}>;+G&JNuu$aoZ z#nGij=XvrsZI!FFA3khK*mB~-Jn`}?KE=VU2{}{Q!bRgfd#Wfn9Pe^$wENoc-jeSs z3LOK7!bRRqIn7_bbOPDK4a1fYFrROv;>6Gz=OQ3Ptqc_6lWE$^=zZjg3BW7iM}`U4 z2$q}+0Vz@Q5Mdaaa=5Y{G`9t@POi&N0MU=YjQ#g_tVZRv2Mb#}?h$rh{>-w)-9s0> zD_i_QuCE3{aerc2@XQCKU)U-L-N?y!V2VqCXGBF$d;)Ch@%!#6STfSWvR{Jzc65}* zA;JL9O4;(!@?Mhlf(VE5I*a}J+?u*F4mFispX6d$fW84iZD;-nVB_XD-kZF#F}ke}eztII~w-YQT3IFBwM z;?B8Su$OHCm*@#2{ApUkYnkr`0wZXN_N%47{s!kpJ1Bv-#ABlhJDbn|Rt1L%jEz!b zVrpOiFu-iNuWMpf2vjZPz^#sXHgMw{R4Kc7@uG;Dnji?873G`!T9oc&iCcC5^-3~* zO5EdcGKk2^9{6Lorw!yu80* z`F^zb!=22ck=;1pPO2+x-}uw5VC9EwM{j(xGQ|x9^H{L3gXLSWSQ-_Yy z4W!hoY}pMj><_%Q-VEYeRk=>?Y6U3Px8N@Q!7|-l&-C+FwS7K-d{@9A+SDZ!f6$5p zLS{zg75MoiUzD_zLrUeI4i78D7o>j9te`bWDlE!>9ry012DsMe_?19CDWppmgLNZ& z4qz9sZULdq<;mtUE!9i2H_#lZv@D@qFckNilThPSW9^>6%S(&&h4CmUaDja$&tG}N|C9^E1^ET+3u->Cv@J+Dg-e;H=VK?n>NCmbY*dsUu`E}>c zvf0(-301U%o_~Z+(fp-TTcMkmAjtF{eOJ}3YHCZDtL?9Z4V*uy-f>JK4l%( z@#qLiz;RXzpT3dQ$_T$SCW)DwLDM^NfA`cWf1cB23l#4~BZX%L{Xf}XP)BicE@YO4 z>t?2<5mzSYT=L&KR?-jBYtnz$Q9M9Q9xC2Dpx-4C3wo{3;O_x@!jHoXcZt69H%bIq z*qIy^O7JPh-1$xNK^~x+JqqQO_K*Rg{@w|A%ZOBPL7@PJ=Qt?qWJsG`&Wb+&A|Ufx zEB6Y?@rugKvthZgTZYjS4mrpqN$UaPfwOT%&mgp{ki5_v0JdrSKrv& zj_QXKg-BuwMQcS-+qH%UV;|I#Fwz9QDqypvIJI>H@sG^#@K`d}*w)L=J7k>}&%S){X%n$T6Icg=p4=UO zJe0}N2q6*#ee};Znjd$GXJptcv_XB0&n5%M6RCj6pN@_e>7SldTbfXtNdQ+87Iqu8 z#LJolwWUG?4p8dI;StV+z2+p;d-FzO)Lbw`%7{Av$xzTUJOINDpl+gx1xkkgVPEQ& zo+qEJrw6P>%w^g=6YwxQSNdiZ4;U?!RaG2@dmB5PS(deicFvc7g(xHbudf5#9LICs zaaIjE3B{J9m%sYjCU7Qiqn6#pCk|_NBn}&OeWi^rPSpw!2sGuQ<}@S#U2#;_xM~E`D|z+okDQA40*`JWvAY)UvUMYv)qZrcM^k zHoR=$0_p|^*HQ+1;1cSF?VVZMNcS%BWTEYSeiU2H#u89XF=_T>I}8pEw$j#=&c(l1 zo*R0J&hd7!1)`vcuQUNLSHL4 z=ukr`L-+k$1-Tqj;b=t-hXYTm;RzRHH8X!R{a43Si+RpTh>PFFb1S**+d$so?&b4> z9AcL)N$UGP!w&fxN&snldwX54IMhV&|4MDzqzSUzI^Y^rYroZ5b7# zirOZP(hsV)rNnzD1RJz?uaWZ8cPYI6Xnf&#BWVeESt0C#a^F;l${IogtEAlA!+)j@ z=;`&}Rq>uGhTrjPV=I)>;mqx5OP`|fKG@RKbW7xK_V1paPAGhC`J7IIl#Em(I3A#6 zhbp2yl%%<>R5AI0Qz+P6?j1x53NXg&9qC_uG~=TR>+5=@OCu1<2w2B<{*#n3^|JAg z{`d>~-q_p%h^b}sDf;c|->Ep?=KnR9>0HR2WPg0<(4nGJ;M*^KzPCMcQW48iw6#d&x`_Ilr-b}QjHt< z?!cXf|1vQ@f30QaC3Qt1mO}Is_D(~UDqn&}7yQ(q^g=I2RAU1ce{eFp)Yz{|A5S>&K+52Bl@``}Z)vikHcsi-^E6 zdk47hloKF;NJ{{kdfMYtte{)CK^F@lFm=)U%OMLFoqCbR=6&5ksmeLTl za5`f4HkaEAa(MX!SigN=v^PUSZ74EnxB=$eD1Jb=7O3KPEx;i;l-i8qoQo3*O)V>s z-#+Lgn2ZGni5CmlwN*pupo=2eVHf768N5Q7AIp?S+;!WHVG-Op=bE9s~#Z^1R+At{$#U8&?@wg6f04Md~ z^&8tL{xfd`$KZv~YyXONFunHk=Le;TLF8L5K%PXLZ^D*T3gh{G@xR&lVC1B611a+YJ8<<5(@2~!fLYS)~UGvUl($>jkGK!~49r4t*Vju1&7{<&--i$wdm z3hR}_;UmreB6k{1V}KzufyG=lTv*Zpr64+CdDu5e-C%iX7@ z8E%c-o`RMJYX$Y?q_LZLr^?lUDk8mnhY!?jknNBp4(ykdrX5JvBT53N{4RQ!?$uk=s%ASEMSWzaBwa7j2>+=; zoB+xY^5;gSiU+cN{wPv_ef)&w;J(ualFwPbI|pp0^U6YsW_w3Ud8A< zEQbw`RLz&u>~FSoGJ3BlKT_#UH?AdAV9o}d6n~f?Dm?xbZNF<1K26gs*y1$d1TyER?$dqApb$^1a76y(uyIvHH{iS*`OlejE z<|YDLy0k269}c6hhkY&sn{~pUQ~e; z6==)QfFF3V(|zw=2GzwGJEHjFxXqjXXVa)W9-m5O(pdL;(LkC52#EkO9e}cLPl+r5 z2V~BLKm#Xr>%)rKx$;-GAM48(HhyXE00ap-7K8zoDYm%ep0}2V4+oRy1g0Z8HxrRS zvX;djO(3(Tj(hRZ{c8>u9_cwZ{{38L+fCHouWnWqSZ2Nh!zeCY6Kv};S~@3JSX4x- zX>R^HxB#cQX657Za?dKnEJ#U7Au%J|ONnTFv0D<=0T4)`A1Y>755=*M?5(iW8ah%D zBnb5c1Q|eNwWA-bBrz$FHyT7s&aXs*Z9J|yh1isf+$!jjV}$Kc-!!tYuykBdRQkjSg7fWi8f%T#sq8QM+=GFF;euz;9P>Z`KI*@u1o5-@k)L?^d=LjI zLx3c9?s({%q)jq1K9|TH^`F5ZYVHb`^}VCU#xFWhX-|!xz%Cu{zvzjMP}j}pKfmJ) zVl_xMM((is+)>ADp}z%A8BpcvGeIbthQg<5^Nr8$G@+6Q8#b8 z#~-K^9<>*uwAwMU`=WZqQ(u+@${_>NdA5=0dzk{NCsBl z)AaOf7cX2$)xB^P0DuR25fVP8cdhp1%OoT>F|hGpZtSP-OARDx4mEN)`rLWCoS`Ym zxDA&*C?0o{CE46enwo$(V0cscl|49sqAA$KKu*y0Z!i;@X!aalZUM8fs@=0{)X81h zQk1+|Zk7w!I=~l_1GcbmJ(7owN5vr}Bu@~g0Qzzwa*|7$|410s`~x+c(n01Ig^9 zDtb7I_p(fOvMB_m(nDYZAeMA-2&;-USExWR(mvH6B?w;AL7tMOmk{1(Y$Rma{|r$b zH1E6Mqp6|zBt9-LH@7R(e?b}t0IlPfz=)TO5f5v7`8c}eER7I(UHLqX+36*(Obaca zQUO2txb*e)_qXhYP?JPlZ9T;X6YRqpxyv&)*T-@-lh)R?Z=Z3-E(Sh?h5$4qI}7gC zl=dS)VEq7@>lYS!A3ofaOX$#qzF>U%K6dfmczA{Y(DH6p%>v4otd2X6qUq5i3F7$f z8yrM9BumdN_E$_SH4lF31mU%12~qsn#D8a)O5-DdN71fg$L%G|a7gh}im%c49)DMOr>t&{eQH;di@BelD$JdM@YCsilf$-v>jauU zz4a`^Fivs2hiq6oNfemXt^XkdGbPP~w^FXdolQEjJKN4goYw_OtNwSums;$^KWs%%lcBJUDQPr&h`*q;icwyq~PwkPfs zUe+JG`=2GMza4mD(j8kiFAgwQq97a68UpFzJKIPyUmPAdTHy(?=F*@Tgi+r46Sa_5 z9m;Xk`xh}o(~CUe+zv69=+`m0R;nwv29O3BN=LwGE3BZk$7dvz{z zXuiM2^V>H23vgM4YN^*wrggM@_(h67f-2&{5`3?ujNy1h!H!Vg-k@)0Nk))mB}0pW zN-n&|#{rf3a?v8)fJnxer%#`L^8@o46M=x*qP&6v&u2XEBw#f~QpTqQH7hr}K{yui z!Kp4x9>T(eQf`H;OW>O!Jc}slTvK|=)NY8NaWdGwrAJ%3Yu7Fq?hYotC=%LHHCz=q zSP@n3yU8qv1R%|92l@+?9LjXjjW-A#^6Yq?!Heen)YKEKt(j;b+%zC<&C&WW{Kao^ zB7uN+(LBB2Vu^<2vb=ZwN-N$p&d|JwohzSh)<;tGKB18qHlMp&5dxm=zvKt${hjO} zgU4?m_$8Ss*m>d1O*AerDlpGF^h|rL&tV$@8K>ZjSrtKS!Y5w$yW0XoO?&nXjpL0^ z-ef}}*VX^}mh3D}-*fua`W&&K;@&|Qn2$4}@3HZQj*{v2h&9rtx=!Z4zP{+ZcvELzI^)v$w!H>oUJO8_#9pX-G(ErDdzu{Zw2@xU}j$`BJX zvzZqiqp>{$?nKaDqcnQ+M?R{0LKhNR7v#aFTLa2nvTSrkH#d!-BzeD6-m)uANK@Zb_*0-q6(>=z>Juci3#N0KG#f zLv?Yi(r7U^F~X<(6Vf)tO>{5UCClhN65u1HQ4BP9x#+&oty;bF$7Ry|x&0g%86jQF zL34A~&W{`wopk#AC)b+a3F#WfeLc_7rIhkkL;=?a@Iu*IQXf3+-*oth4PO5WB>)bl z&Sl!IbP?|57rWUzmm2^-=uHx&IX;JApRylfLiW zW^%B`-nz9R$4rKP<27d_b(y_98QH^IM=)K~uS9LMa-*hHQNB^od&7G+sh6IteWUPA{r-Jyq-Zp`xR@VWerUnfotw(zH%EA9 z8k3YJEA?*uwmezWgzGfJ2Q&ouL|^OyH4#xbxDOv@>yLvc(8u`#%r=$w{k;f#7bJ4 zw@sk8Nu-_qmeqX=>&~v=b4cnv9p?$()M!qz7jgoddH*{XK{) zhMj6o;+4_2AZ>OsFfeclvn9kY4RdpGWqD4V1UIXDaz7pq;H^FQFFZ?B7+6NpIBBM2 z`O!s43GXB+(RgJA1-pK)dJIgB%EavgKAH7wruF?SmXE1Svz?*qyBP#gACua|#wN+W zqAfLlln1!?A9B4s2yy!-%V;AiTQgF*_z`S&b};OB?1WPwqO6< z+UjNer`c7PvN)&oDyD&HL-m>S31H`|M!4nRdvB1YXUy z5=(hhPqu$}Hq88)bVm=5Ne@I%_tibSq%ttB+sCDhyElH%o%f7(W$XdisQyn%* zRHJ_fnxcO+A{@7d_)7fiJ_3~E8Asdt!^+%zo_pi9;nKO0H?ny@M0U9@0vaQ6sj3Oi zub+6PRgswyH@K22zH43J#@)fux(B-I{W<{{BZB^@6H3Jpb2+ul^|RJ{y7H&2eoSj# z$mcA*jiUj=Blo_jlw(=4R;BzXZW6?XkKuYTM?lH=d9B6zT?x=xg2KyN`fFlVEbkss ztX%rx8k+L<3rx2}#Tn3uCSXHf?CzF8-|UM!@P+6qG97+kp7vrGaEy@=N7&kk?TC~i z)*)oQqHBKbC12Cb{z|-guDq(C&d-#8Ku#`Qx&_)s$cvz@ppE{ZSN8LoQkHEMbM?2c zy%W`dn8$e|-r_TPPwBnq&l}vh&(VQ^Vele~ZAYFx8`*JBzVv);D{6VVGU6rb;W$N? zYzZod$l-dP^wnuI8iXGQR-9;d>=|*1!kMuSCiyxqS+lDQ)AJHZOl%h@c`sOUtw6Tn zRFpR|HKmXJh>-0pV13o8mMbrRKG|q$Vlwmtvtr`o@xh4P{QC7PI|?S9eU9eHq$n4? zt}ODzmLJD5`t#RNf-opA(ACH<@@}%1_IOE#X;Af}*iD7x@_*eM`-a~Y94O3z3euY( zf`zM{0&X#ZGGI`8PqvC(p^||=DZPiKsf``cgWcV>dSUJb=GXQLc&@^=Zp8Uw3)KPj z;=kVzI~(VF7R1YFpE&XBfHB_@pkgR_R%Mv(4*iF_QS_PF3~sy=w)3X%K`d3&4;rzy zRfgEzdTd4Znf;{xIF}^v^(>wZ#1Ij6;~)w`WYyj4a=fu(IacA*2g+Bf++^RxbLFyb z2UvX|>&S+BvuFt%1=pd%cv=0e0I4E{(9!s9Rk;Sxn**S?1@Ug5d!jPibb8y&FM0oP zy#MN}PvCNct{er@DjF1iuQf$vJ_Rxg%H*h+bdY-zixb&+b1hfq(WHSVByZxRVf_mA z%x04B=vCsU?y54SRi;Q`wxKi+FioimXK41_dCn zdx93h(vWQZoUdD*%O02@)CFmyMtY8Kviugj^#1NfN)F*nFm&Yo#ce^d+bI9yv7Ewr zRtWk;J8ijJ_w_4p<5czg_peb0K;$g{Bw4B4bMCRxLQhcRO05M;%!h%)sIxpMEj>M& zy1cud2&=J*HzY{ z(8PH7%QI7HEU)FmuXln@Gq%$3-Nt;<+TK%VxD1*U5%%vU&tzkVhpqwSyo;sWcEg5D z{_dJx29LQ>{xcz>N!(_1)Ni^7weFK12bh_6dgB{v?Nb408CZpxyKP|<;GVa)XSk)K&Q3!HSe=s z=RINm2nfwji-QcVy~Mk|p@Hk-4Y~gs3nUC2b(@lrle1g^aMH1_Hd$Sg%a(X!p&#*g zFKT1n7%7c2AMm=^&3&n2Z!xV1IR{seNK?`8PG9joh!SR$bcAeRIl^-M3^b@Cps2+9 zK?kYed>;-j8)!voHYX~|6wJTkt@IqL_4f8A$z*!TI|7ZLRLc9$>f4_@x$lD?CPEzq zNcwI$z2))FgNfYXMu!jo)q{XG`R3b{=D~4-jS35EaQ$>GFo(hGH6&0rd94g4K>SyX zA99te#C_QASxdJgc!@{%zlb=61b@s(LRumjnxKUbZ}6|1mCN0QQO%}5xAuv{ZjMTw z5EV%!B`QO92EZ*Lw?)i_luHzO0ixH49$UFAI@10q=wS$v;brI1PbF;+fQ=OL4F zR-*3G@43p(isGbAzcI5(J;5E&Hqy5tnhEiphh*_BA_~QN8Gv-ZB$&pLJ{wd&SC`{& zVIj9O<^%uM797k%*>`e+#PtIN;b9B4yF6wp#Up&aF1RWv*qW>fCEJ5y&-}qtK#kZp zFpzxbW;L|sYe^N!L>%Rvx-+bkvxFE_V zcHm-+;ilsodDXi&eTNSf@qG$bGHf)!deG&EpkSI1I349IQCC&ER;B?7#si{Q-VYJH z!W$tz^mD0;-9HS6zW#?t0PYT&nocz%z|Mmlx9e=7wdfe`>su?4s(?(4ea6CS_~``M z{GZArrZ~z@l6r`Vk0+s)GIMtZybZor7WZtlJ8}Tqs_m1LXz+cI*yrevD%aeX_&%{$ z36E9?UqM9*^##xsvVXfMR;Vrl1GR?IEc(T{BS((x!}yfY$<55}m>~e+Ej!M-A2O*5 z2r*Uu`{fX<8_{bGAuCj!?cs*(Z)RapU9m{0B49~6MASjI^6_AI2QW?Hdfl;mQX_wn zx`EHR{_EGbxnl{o4w%D01SvF?J}XL`1M~BWqt40A#3??r@JSc=5xNL9JLq{PZ))h5 zsj`)5ll3iq#;Zd69eMif8BrV`H$eG2Xnaftj${G985_`Lnp{8oQRpDz9ex0M>L8*B zH;+fOeq1F_59t!tj)oLnXd$iD*E6oW9}sQ|-Dza7ywVqoGlhE|W^jYxq^)N3_H$qUO0ff@G z8uI zfUW+xk1ym2@Cx~Av+JAV9#6Hir;h4dJsSRR{5h{P#-av^UCwq>JDw`k}?#uPHq zcrvb&^3i;d!jgdE6VGgIgRDc`FE=802A;KEsIF?IvCrn$+ZgF+yw)^k5uY^2eBXqioAZ0L@MI9R%9FekcLDUy_#qX5iBB=%G;l`s*uCL0jGO&^Ip4f64nkrX?-7; z=tyLZ@7rILUR(dwO>&5y-~l#mGkU`bR0sex^@sJkZ~efWSfY$L^~w@uMeGgCoG8QG zC~^HW`^#pk;#Qm1nhsH`S~acV!O8@FlR!jd_cUH{044nRJfN-J4@ z()98krduO_8*7ts-F*24m)bMXD#TP*o*fY$+6Kx5Ln=rd|CP6NYCWBcKmYu5NYh%| zMaC|9Pmk^5Ui2J-eQe zpk+|o-Iq;ea)Vp+{ijc?b7t6j{u?<`y&@uE?C9yI63^2=aBRhHY474HCt=3OH2e%+ zCzwr7=L;b_h73wTCOU>R0jGMETC{Sdg`x*%UJYI8{&Eh#UIcupG+Y|~zGmvf2!d?Q z%KS=F1iqjZsP!Rs1iewL3#$M!U<|KXO*&Pf&2Mg)2)0_@A%WEhLsdu$0!ki(+Mone z7Rla2daBY5aoE2z;Gi-;wCAz;B9zU`9zP)PEm11o; z+My%@48`#M2~*6={HQPw5sG0u`7{bIF}Eel>G4OmL{jXbL4`L380|gSpcrH3yIL&sapgd)`y{U z65CuK90Oi~c8M^Cj3e6x#Q_(8!uKZpDHT@a*B#`}Gj{v|imPv8Gp+ zT*W%QOx^`Fuc|Vsdah75>SEHtoEhRqaah1u&BxIxvvM!?2G+KCAT1RRJ3>o>Z<%16 zBass$&XXwlwE~SEm+mhs`cpw#4yU}Ia1@Y$Y%{?yB&ICm2QLntIn)1!^#UemQWEh^ zj^enGy*2JLc)TN8yS)H$KEw=dYI@N!;UK;}Dr;mXHgYte__(*d7uvBN!8yS3xx_jo^?Am>km4zY9g&s^xG~%>0N+ z-4YLtI0-SZ5kx$!rl;pF>>+Ge>$mo8Km8H&V6X}98tp0TIoSsV5=o9Gd{jD`BkN}|~{G?SzgG3UD zE*CG~&g}MOIsV%6sM?w%ew1b-oSP(dfxOpCMBUb5=8(ZYd%qUaWz+vLMM9-pyA_$j`T(^}TxpJ579ZtObmV>%^`R&qR zmyuUS7zd7?`f);Kk&W&Ce{4=c zy$svVZB(xo=5I>ZNl^*&1$%7Fv7t_~wQc6JB|sZL{r zRGr;zkeKtB9y^foVhjSd73kb;HiV+E1?H6~6{o1I7q=v_|3w8=KZ%_7=CdVW-pPju zmV31uCsGbj$FM#y*r~qF@^r1{jm6KtCJ5(LJ=n6BK4J#5=U}g-Gv4@yXzDQ;L+I`x znem46+%q;_J3t_&c(OtN93shj^-d_~wO!78O7N~OSjiy%LItIfB zPNb|$qwQJ0A0ooT;YU6vRFPa4x848z788lo>L22b2a;;f2X@N)*jq?+9+?Se_6`sf zQG21k1f;scSGwRd=|38{)R*P1EGJ*yr7ytDP!+gV*nl5&n#79u_O0@kqUO*p7amlg zuVgt!UI5>n46aFgnTedeG()|DlhytVP_9>}$@7HlXLB=2bG zWi5I)_$26agi%y$hPfka{l97%(+!?^7Tuu2rh$qPDU100Y6n9FegsCcK2W2zdSwfe znFtQ>hFb)bfew@BeJsP2YsXn<=UR+f`t&f*C~>bipt}bqmX?c$o?PvfRGVc&W@E)} zdT6*RDk{_!ZvYn19RH=YTh54Ff3otb%N4nvq?gfisiJYo5d}t8?ptyeGmNCH^IDfx zqwelhM;X{O-@))IzpfQ(ttI#6hDsd2=sSpLms-1A(o#0x2GIT!+HcmuwWyfDSCS!Z z1TNo9;gy6*3xK;|Q#v%w*VsipoOq8^#guikE_GS}kWRpO_?rp299|6TyK)k`Qt*v5Gk~ zVbV%aN&UvUhaq_#eo9Y@i|2P5ud6lm|91#KCgcJu6cUOaW7df(5&4_r@)=i?mzW}Y zlKS^3qwA#tbDlmcP86f0J;aBTb!tq5Zr!mmwh^HoWNaX$5|JVy!}su`x*x0E+J8|7 zU##Dob~ybHY8*P$CLw!+ zbZhZIPZQNcetP-OHhzyCbsSqHx!wKzR+?EAzV=?rWzWD{{^^aMIP9fG=hhmM=+v|Dj_RXYyqOq zm4I2NMhbd#24sc4BBw1*d8Qo73Xb<0?20{VT37Scm-hlKDJO}P$Ix87IySc+$ef6z zWN&fIdCXwVkPqFL!87#;*=%)!7+k2}&@2Jyn4Gm@4$!moK>Ahoa2l&YjGTb~aOmuh zsvw!ZWLOmS0xM}vm$gkSG6NMoYn6|ZvsSw>?9C70ZH9Ga^bp9vjv9e0Xdz27nadz}|EotHLAEL;cAyubJ@x=ti1G7nOb z(m+T=GOtlHB%g--YB#Po_S-+r&8!aN6pgxldxtttbdr|&p)O5SQxMQ55eI)pGc|pL zEbmuO)6zVA2ogFe!aNz4gc-n>Fv(Ga*^ZRRQ3#}d)eMKk>C>kfCzaUQ&X7VlY?AZH zT1vv^LNtE4$yeMl5rCYV(0dh_*K8W$;{8KI^1Sf*WzEjPa_53-SGPg}L)nq?J(DoW zh6@RSEk6lQ<)zfkx3SMXGcVYJFA_oJM0}Fh>UowN(Aw(&vKl;&37NT9A&(3Woaf60 z!3piaKs~uoB;1h*6#%`jT=4^l6eK!J4+<$+lq2^IM-$a!m9ZBuCA1EkQoZ?6MIhRa zZ7@8y>Fl2WrZIL-&!GYA6T&a0OTAKUG<*5fEj_79wjYqy@<-(uPEpCBLABJqX} z4B<+Q;cVq{aWjSHa`E$iwB_3Yu=f4+8i^6X1tzA#?t-vHmxx2ViDb z>HmdPt*Ca5069JIZrjk>d+lMitN!$TBCPo@=7K&S z@1Q}813eJ*$&G8drZ7chgbp`E-s%00jtk8eXhm;Q9RdCMy*%-ecS8wvrG*>rqZbcP zJk*;XhbFtqq>-7VC-{g5N|(@uurp@&b}!>s?A@C$g`D#DMTY~17-6yuIp(4b6Bm$V zh)n`bG|B$OCL!~abl#&4Vs(v;F)hu_)AZyr#;`&9df+>_jy*nAKbDA(ZM=Q+S|b50 z{LfR6YHZ=g$AS-=s(t(P_}l`|tyskHxWh3hIi@na(Pn(I_Pr7A41y8pak8$W`dLTV z1~CWYg9lwZNOVG@l2o0z76#7>^0S3X{P>At6B`6W#qJQ2%ns>smJ18_Itm{yBK8m1 z7&anhjinGY+SnO1fyD{4Gk56 zt~`AW#2PsPnUga%1;5FMg3zD)3^$XIyQ4>$;4A0&jnty7(-W(fv0^sr_6L%EvDd+W z!5M56w>ON~JE45RZXo24G=jXXnfmKuoR#pU4e%{1$?y#bT!dfGZ*bhB!s#8B&ky&; z1OGiXG86UYO;*NJy&{BE)MhWQdU09)d>vdKkrS&)-}u6w$z)TL`0#`LGUm)B*wTO{ zAk~Oem^SBjdSKv=Uh>XD?4p?IyU2i-r1Gp76B;k!9}QMdE0RtY(z&b$Mz~ER3<<&V zidD)S++EBB!7tfyquy@mD-Lf-YgTUvHtQ~_Dv#|l9`3G>_k<`r!&p|PxSHQ1|)8{`1 zfYzZoSnb|n2-+}YAXq2rZXcLY` zFkkK$FJed~gF$T-%Y`v+>*bG=T{S^oMl!TM3};)8IqJe7)%i}^8%dP-q^XzP+aQOq zB>FzsH)QOJ5#jshSj4`>hYv+D^wcrA*(i~HBZiucqo(A;o``?XP9G%fklFF&3zbNB z>nO(No;MA@EdP!=X46Nj7XFYSG3XmYSdX5JOxVmKdGO}xu?yHC2}fO5SI2St9HxM} zK&YWtVL*QF#GgOiVz@oH|we+Y(B8Pu@yyr zI{9)Oi8#)U$EE5*sW4q#&v^E%So+6Lz`>Q$(nTh#j%O zaB%sKty=hib1MYPVFldD@2g7ktLs?Y$G0=`j)2rb^UbKA=AHjH;0}<+wgT)g*^_IT zC#4OrzRNJx?{NM*GHWw5Hx;9-mB?T%NVcSSuDljoGjHOW6}MseZC$svVf**13L!6$ zX9XI!-1y`y5Y|gxtaSg@h~os) z0own<mZ)ME<#)3t$Ent)Xeg3{6HjlHe!eD?;_;qb1TCE30O(hstCi8Ql{<`0)5=*Fa4j(xp5B}-C279u4nJxP8 zl3!T$?e=4H9ZRZ!RV#LApdNu#P^!lkBs9aM21P>J^*HnLFZoDF@EOBSx_`eUffgfG z9N0x~uBn|u`&b)8#daut@HPT${WR}|8b4V@<9^{n7j{*ff}QxeV+*7HYC}`7nqEO# z`~=T}bn?~7okrkq#WE+rYsxO7-QW$LTYw&y3z0Rft%I14OC%Z?I)Qk`0LkEr6mivq z?3TrZ9fa!^)_hk4By~e!1Gbux|8m%#-Rryp1g>=6q`kYJo=CNj01DUzPMn#j>lYwg zY=NQx76xvoj2-?YI|a!!E>r>cGx$Wf&Nw*ueC(YFR_W?Jr8al8v-*b-3VKouL5+iz z8#Sy(MVxV$+NWEj-A!hHK6>QqD+KDYU#>ccfvUU7l5K{@!%rd#{y zaE$zC&Jh-T3D(xo?@vrtYYkd3!o4Mf*03^Fg`)I0A0OYFcr^vo(jXSM%47~t&;1u8 z{y|;WFs)jj|Brxj5-G;0QTlrkpAF~7+1%Y(ncZEXIn=@#Z&&xAsBY|J;pk+uw3X2d z+QNfulXu+C?&noR^emWqanSuc@vyYi?_B$W!R? zgT-EPWG+;cs{io1V(tfU4z_a4i`*p?ckl3z)B`T;bCBGHX6*cj;)WJM9l>p=!MB$s zoia-F7lpm;!C#UOS)p=GX(XQ(AheCABOKqjEwt?`SZK)?XL}@tVU$6tE>i~I6b$mc zzY@+{Nqn9YRaCQpMj0_|a7uzge*X?wcqo!bq=#OeadsA5#O|rOA3fpHv1Jckb5oPb z#$cvd*8555Tb$c5{IcD;Zsu&IHLUpWD@#C1I6f%Uia6FHx+gXAh5O!Ld z{>V~@m0-lBwn^ZjT!-E`oSUBR-;upfo1VkgYVL*o3VXE1!+PqkT%sC)O|~5Px0mx3 ziaq&+Dj)SRwzC^0S{((jg5;e6_3f8N-lWKXsH$iC&zlQ_FQMk)vW{SH0}Nu5S6gtt zw;}h~@NP5?|BgI*{(NNI<+=^f3{*yE@S>4j3j`FSe3m7aTZ9_EeTO%IQ8>`3hv{Ek zSShjrFndfr)A5S?87ukDC9f0+fKVxbB!Ye8Cr~KVNLs4T&pj`o2U;0jcT{&a6-1ecVG^Li@D~Qx zcD}*9uK(uEb-54{pcMHd*r$Mf(a^+xq|0pfju)c1odyAkXMtq_Ki)dr7NRjHM3!K0 z0c?a}RjV+r6$wu>Gai66@%13f3tgp`fd`R9b)!vPda~!^$u^Kwh5S`~bMU-^i^9J|`yE&|R4U*=HWx5xakWK&(b}C({5k;JvxR3N*G2ISSXe33Sn-CO=C*Xj134)v zt6*4Hzj$#f%IXcNe9)cP9EjHZjV}=g z4o=&EYOyc0t29M|^}oGdwG^4($9aApQ-04!4i63Sj}i2nh*2q>vD`RjFd-MiZbIfu zAY1|(wiyKD|ETT?#P|>q4Ia4OzY_2(`!OsTEqQO#D&}kMtW6^kz%Dmm>RJy=7D{w7 zejDIbX#Hva1_hvUU4#KaOImUEKBRw=G$h}Ry@t#r*^V;uZWlkKbFU%q+Hkx1Vo@8( zu=?h}W^$j$P>QNuXvBWlQ_*89_keThl@_$wXq_Nl#B7H|NOs0@+ngS|iUF_1B*^Uu zw62}AfP+rLF#amZO+&}?9?8~Nm7(V97N-;LKy8b0#qc8Zc}enyiuuf4GwMLSj)n$u zaRLHhmq%UAH)%bzZ#g_2lu>W$6IOBHi0kA_CL8WySc$C?K~=7PqBNJGX~Vu z)Vz+_=Gy+rdSz&ou26pT*|CkDE=oM*OAK>6y9IKn9JUx~4skAGe(6;!>NUg71>l%- z?W;>#AsGQI5@#OnbPq{WMM4+21fWa1WbF1E80a8Hi0Cz**#M%}EZxd}v_iT@YnW2m zJP0i$TGYxc8?ECBURVf(`y%#`jeYXW?&Ix$-P&`yTC%=2HCfzV>LrsawIFHs+Zso~ zBzFKU8-Oow_(LAKl#EOz00zL^3?+|vB*cvOc)6r?SSJOLCSq>=c*iPdKM#2huH$&Q zDE^WmJV9{6X(y+UD%&I*+nWfDf=5LV0=75Bo)b~`?<zouPf6UkLL z1Ze2mWuPYch!#RL>D3k9V@X7n3kx>0yAvbj2tMHfG7Tocp#8 zyfnh!tjDGP{`^v7!s03#9C;)VluVd5KmU0lgbPrg-fay6nH+CH;$mEHvsd+mAckTx}>Wlai8F;6y}hG@=|H z9egitm)A;$W5L-t_VK_g<8b8TSVJC-@R3~vP(t?aQA_>4)y_NaGo)Cpe)X2~jBu$A zcrb_=0sJA)yud-#?TOE*cgGtPMQ@IYK7_Yn*#$NYz3rb~pxOQX{Jbhls47Vg-L&+X|{A8Ro|-LU+i{&Q54sK}pF29bp?g?9$6AUu5Ptv>R6aJzv0z!Z3=GL>ug+_2=$? zVjDD6TP`qOc!1v)$1PYwvR9bj_!7o~sfJ@Q3G-slwr|JaB3Qu+e<2j%2VZ#eoEz7K zWFM+Q`OrD0pU7hn;B`gB33+ztfZyA1K`WNoV{J~OD|X;sxnzI2?QzVAecA*7mH}%8 z&i&W$Hz8AS1!SI50`HQQsM@@k3xMQf=x8+wK@lO$DFWCp5ZXLzEN_f#B4N2%pv4IA zM#<0co1(6Sk6WGDxt0*&}ryxp$ zw+Nc4w}sA?lT7~*ad2v+HE$HsxLcuvD-j|;KXR#zB|=>dD~&`f;1pDE($%=k!F3_V z!btp*jRHVE9B+5FpX1fJE)WUvGj0JK0*S#PaUnSGp@vKeVC*_AvvzOTw*H|ZZA8ry zJ_G4|SGc*L(Px&iDCB{To`DRBrh^kwcnK-QoyhPe+(2idxJfgT($8F(u%_|^!+751 z-7zPCR}<>KA1e_kHO;@dxi=>%1?D4Vcq%8!kafj|%-)?ypQ}55?3m^1$BGQ4pH$dG z6$!9=<_t;@w!5dig&9(Wgl~j_tpz+^+l!;>a=EoSY>!xqS5bt3OP2nk5YxZs z7DaDII?Bo*p$;7u288~ah>L}5x30JhC~qE3>)s8(+e;N@lq%<8g(6?E@w#; zN(qj-2vrY6U}S3cz3nV;+n@{#)Oon>%j5sE9Kp1RHjU$V%>g#yhC5`e1#NP1QPF)J z;e(MV7Ot$3CTL36?c+{(j~Z}IEh1|M*;kZ(snHotBHD?e4Tcq}@A}IzzRWg0+#JG`HmY^wd+Y^7#HB57`1jFhJ+cn6|3Sv;#)wTs4QuC;?LLJ?dK z@d#Gg?vm#pu#MRz>Ft&}o1WxR&T`x(_`>pdItD#3Ej;9jtK3qSy@0s-jqG@6mpIVVH}Jbe7PxA^b%$G;oCHJe{~ z&HX$!fA~8Nx0=>ab3L?_%exYpdebuW>tfL@bX}P%W}H6#+b@G-3;A%myYN*$ZF6d- zejMvkRaxp-TClc6?0Xs*gN`p_bhTy$6&h}6u3+E0iY&qPR1Qw!tA&LLM=oF3l^(A(p5B68g$OW4 z?N4$l0fzYPk53+S-`xxDWV2gS`eBP37gx(OD0l|8fBQD8NuDkt8DzSDK$DO1oD_|g zcYQwWOW9UHmk`DhXz?RddB&L}CCHm&Hv;L!LXp$<^4g6<1DtB<*E@hsX>0`ejcezE zqohM&i#~jK4T&_s4UkjqwNZQ@-J{=Lcz?l~x~7w1qk8c~J$b8>T&5)-Y} zi=<3v#Eg$6%B8N%n6ckLgBfsmNfHO{QBiseZ{5mGAJoN1apPujXLi#JaeD9pobH)3 z83Gfc!0gSx1SWKbd2hj)7hVtxiR& z1tFR-GpxtFtTIADD|>+We*2^G+a2ycpb2~+6@3)nk*Qdi<-#^Q_#GpI5Z7ez`26c9 ziTNVi_b@V1Y@rv-W@5iV{VMu8*6=o+s~lq=`b+amZA9+0v~Lf){E7YD*yp3j7!{qP zN7pU-Pqiy6U;DFvy0j?$(v#zJrN@fwKSnzqZNKDT8WdD6Oe-7^wb|xH?f$RlAMCHW zd)}>dzrLGK z?moAgMi%!{zpSzh3J@L+7@bfiflRkgAl2=1)6*lw=n0AoC%1;01QPQgLO|7Iaq)W8 zY00qTryLwu3105&s{+p)ZZ%NejVSuNP#vdbWK@06J%{ig+^Ke=sI5~D?K@ZG4rxI_ zikePatDU4iI80R_hdFSXle*RCl{;Y+9Mxwg%^s*|O{{Clr42wF- zsE~V2q(URHcC{a`N$!0eI-1pvfu+?NMC##Ncrdq~oo_k94^M8CUYZ>q4#? zx$LD&J8_5FuYb995iuGx)?{`YGUr6a#e-S7Lu@U~PNAsHl3@Yj7D186ay$CP+#Nq2 zdblo_B_iyn*5ck4u=7lNFOCZ?K{e60<%G3$XK3{L<4-D)5h2E@3P1E|XJ>}miCCt4 zPk;U6qVljmdi}s2#Vs~T?2zPw%WFboTL3>dH!Wa+*pGW8!-SkjJ|NOdpdjN$FK*8f z7)5jKrweI(k!Ow@dJAQtZkqn5rrk||zJYp>Y$Pbdk||5Am^%pBizEKeCx7{v+;_cj z?kN3(P>ob$fgqEjTR4TmIR~^3$6uIW@Y+OIYi%9u5Xf;nj%Cd^+Vh{dp|yh7-Tu_6 z4ww5m)(8@W%^ zXIE2EU!kxOU*~OazbYms=B32{W9mJivHtu2@j@~xBdd~?QL@X-b`grwM0Ti;N<@W> z>^)M^vMGf`%FG_gE~1i*LZJv58NbJ?`};rVe@^#(y6@I?z2C3#d_LB54J#L=NacY- z6qbyY2}fRD9^r^cI1B0*y@2BDuzQ&1Bpxpd-yJvM+!HG zmBRIovjJ6BcV=-QYMnnXW*mpRc}4Op0erEXd-v{^)wxc4N!PY77&1)W0vY}I^1?RQIvb?~ z&IRlay^MQ3$a<-G6ajny23Tk3$=p(O6^HZP9}FqjdwMQ4tho}S9?ya#-UM+9h z6>UwZiWYXY<V%@c^^3Q8c6KjT`2Je|@FaM19MobKWn7Sa zvk9xo~?N?uuh{CL+v0|RRhkF8i4cOE>b?djpd-?5b2(P6auaE68`anS<)`=1^bV`?`!G~7FP13v0+P4Pou^I|_d z#8-`ab#3kktXPeiqp!BGQ+e6j5B~*Qx#OF(@?<4-Y{b63djr0I|L>XDfs|s3E)Sot z+WLnE&7apMe)?i&+zim~e@%=vdS3EuWj)94-Aq41pL1fYBA7~^T{nGmt&l>LmX;PZ zlI0j$O9Wxf7wG;dO(YzY+R&=kDF93VCU14XPETpWh%*9>o1ko&+*!cQ{z* zpS4#N`PjQa+Dp73@J}4(4Z6G9w{HrzKYxDQhiYDe-t}&KSJ!OOt)ck%__VSzvl(Yh zX;)nw-GNk_n3E;KsdH;t=ljf@Rp-9ACC*jgvW7a$!NGxuO#t;)JW}fAXvQcV%~Pj7 z*%?vOuuPC60T>zC>5aAm{$?W5($atzC?rCVkP-reKy^PaOnJ#JxvXVE#@tVyWf^QN3!Z_{3Im+H4=+*GA!>Li}@FG^@ zDR%SgrY0?jb~z->LO?XLad3oLgqr*q0gP2YGgI*8Ii^kt=~b!Y?gI2mic6F%?<=4N z#-vv(Pfurlxetx=lJuR)2lvKZD z$+ioGN4t9_u?n>VneFhb&p3Y1hMG#mr$2vwbSCVlrb-S_gvXb+)6eJ*=M?sd0vyb_ z^_vUq2!ErEx2r1~7Crbwwmw6e%WFkLel0N6wXjbpxA_k#;4C5zF5(|(ZH+2gmxaR_ zmvGZJst{{pM%W)ulU?@mgz{apdkC6{JFjr0jFllE@)26}_OiN4S0)I6+nwk9+ z%IiQ#MxK_IHuYh(a@+L3w7(>^XtE5!BJX7h5%0aF@5CJp z+zE~wHXLuMPuKpcSoKy$9$l>03fh@BNbo3`+4g0=UYm84I0+883>)yU(JqW1@(LC1b)3t7^1XvY52y@jAz+X`|FM7` zDh1RFm=vdj&<_Nw+wyV%S(*aCoC2x_!6%Za^v~wA(WiX72Za!R6aF_ve6SF=_0ovX z$|Ku0>ZqYRxbb|}PHw^1(nTrusjKU9^sNRbRK@y7B0Zd(m~o27e`{u?NYOQGae8lJ z`!3d`iR?EyIS#0gbSx}*um}Yfw;mI{y;5H3GNI0VDPY7M(!D`{Ce=#lT8@3J1SyU7 z(75=L5XnhF7)$1>5yUm2ua{O(2*DBYF>?dP5~YC&2U5O9g1rJmucjFPOiej|@c#4u z{Ry%Hk=jW-@S}HkvTEM5hVi#TJm*gLUm`4pguEC) zr3A+lbHwb77M?UZSy>0JT<8O?O0+xh@}Gvu4L4|NxO#vreT@`62{=VG92}lxb||BX z;9Qw`q^5V`6m&@qh=upwSm}tjQ(swG`Q?D(3b9;&KM9T_453&)UFScx2>Lbl_6ea+r_2nG-n}0ZHg|+b;RzK#9)o)r9JKz^OTZoyO}x>{dYimT#%lZFZ!mUcgiX z45R{N=XuPM`rW&CByR^$Y}Z!0LD>`FTmF%wjs)<;$OfTdAty3wQ#zPQ_`|=D(9qNwo)Ii5AvUmsmI}Qo-tX3v*$|IE5 zI32vLVLf|>p>}YO0B+EVE!ZR-5*ax=_ur$*E1HHt)CWN|Xd~eEn6f+qPsqVX1~Pzy zG@20Ne7^}Y#nJKcbc;XyI#^5C0$?!u6*fWQR^&85g-li38%@6;!G`=FIv*=65*R&Q z-)cQup^{Lf=L)KVfeG&#LEhp|IF~^k-8`0z8R8rm$$afQg3nt#@D{3jdU}}F>b~?q zq(@nH#Y5xpY`g|so+j>+p_A97=mw6X<>|pV1!zHRzv%0xb;PKP*n$nK0g*zQ)ek3A zBoLWE)-AZ+8eR|X36}+kTkuAu_U>hyeN~=u-Oj}4=c3A7uRk1Hq*g{`*I-RQX45=F zG%fL);F?Unxt&7Q%>xx6Y!o7f57aUGFG43R)5QU678S9`-CY>x>`h~}kA8-(AHi-} zI4PSB%np_VTm| zhjQEBQ>$RCjJi*gu#Q_)+kuo8PJAvsxe7npo2Rz}#%UIDqN*WdKj+xcqlXW1a-NuR z#!qmwDeeB{`BVzCI%SyHzPWs1DmyX!*F0)ysrz=vSqfA^{}CrFB#(+~-Gp&PS zeu`gHb+5eq5ME8y*RSbfYL-9?39RJ#<7kpVoB0~-jUu-x0hs(!AD+3IjzPUfuzo_> zhf6dK)f(CySd3T}+<}R}Zy8+ix3oeF_+UamU$*w}$~cCWAY2NaQuw_SWV$qZoJNK) z1e#8eFG4-fLO&z*sG?$Z`bd-yfa#E*1~VS7&^FGDBr*=|*`PJ3{6=J|IMG?dwXN{R zj-_pr@@*ykiYUIZkbBD9_mCxb|BSad5ENG>^UjwE0s`?kUCBg<{Ba68v%CwRB09?|=LH`YJ!J#{`?6mj+9t z9&pG*;p98wj$oACe;x^^o-rDpURb($C3$kw($%UgiI7Qk4apF<#F6FWQ3&TuEAJ17 zX!=A}g5A-Q!VstW@2-QON70YpG*6tujK#@zEv5ky+~u_~Vw)E&U0p+_$~|SY5h%H# z%f?F-G)zzmME4P*Z-npxx9=J8#8uggL#W`!6~?)%eAQcP0Y+o=xDImBeG&v{A$F{R zHH41jp{U?b{ziV?_iwoPhK4yfaAO;G`r5UNZjP{y0Z}d^owg>72EDQVu zW*yX0L#@>+?2j2%xFSKxP( zQdW+@HsnIb>#BLtIg+!e{66}x*RSb*Pfu&_OT2T3i=4}-Y|3rhN)F9@Sr%-siCJ9q zc=_njnXLa^`eCXMp_>B&*y~uRHm=a_V%ScjIyX{0Xx7utVgaEy^qaQ1+X|o&QU3jUM^DM+ET291iijN_j(Q2RBK2A6R60y# z1S4mKo)u(dJ-&i8jy{%#J`meUt4kwpGadVH+`X$OvWHFp(<-WwFA69dTx;rkx)KsO zy?Hdr?9eIVpvuSm*w~ipgK~$8k;c{lou2I}XU$myX>_nCs1cOAvTg6PMLGA@v}^es zPyH7}7upPbm{Y}3KA(7M7K&y=KvgyIX^J~G5ttWj;7-R#y4}d??ekgn@?4r~$fr9K zjnV)R%_OECa-c+U^&7c668PS%TIqU-D%Za%0iG5zHwyGQ2rS9*=xg@&v=xh8xzEV1 zIexq&w5(B4y@)m-wVYGJ3~sx1a2rv&)o}~P_Eh1b|1&eAOxv%fn;g6a5Au+nVmVu% z%cFOpDB>~j%j`YJ?!(!P0udoR!yMlC?_cGazliz|s#8>}c*eT{ie+wpa~xj)Ujqmb z+hfgujW}e-@5QIa)?!8*1S6j7@sM~)3vs;T7zG|b=t65b2O{3t1D0|cvA|- zUSvmiV@Ci1B-@8bN6&R_WBx|vw>fA?0c;Mmhgh;9iT4O_sxRD5?V5a^rbOTl?2g-tkz$4_I@=D4fb+x8^#KNQ^@Axg%5^XkM_J{RUs^{^YjVJL@gh zYpzwmY{WKR1mUK8J{!9};tsZY5U?4eLe%}^5z&0L06n+~+y^FL$IA0;(-#a#7User zb-Ezy(XXvFwY4-L8Ksq!^y~Sa>Y>(!tc`lZrcFW1c@p5C$jIZa(qfG~9^=WAnY+^8 zeV;6D^CHrj)a~J@3CWXbbVvj==7@q`5e^0U;2P_puW@S8+!7FDFR47PRa}EiY7>J4$%`^fRha6HfJft0z;K)$%Ma-{sZ_UXHzH8#x+KEPN%ca) z!Vexi7%-9dzPlU!+Q5zdJidmH(r#X5r%JOQ8EZa`h7Q{wUWksp*H2{CAz7LD9QDp) zhL8#Q{A(<4)+ojWsw0ljNBzxI2HnLZBs;-JW0xxW%#Nce|GA@?z#`3Jud>Sk`?hW2 zFrp=AW`=}Sex|`W2MiaIrCU0hA%@t+n7d!y5JL*Yn1%ms*1rT%Zo_>n0JZZ*2OOIdKhqJBXiEF=v+=VEXs(Q$q zz?kZwm#S@@BJ%X{Giu=&T5zm$vPl;@HyT(I{63r)KFwUXp+<^mHSl*5VgX%g;J1fu zqoX^$@d*bp`)WVA?2EFpsYgz^tXb2PzY=%O=4DzlV%R`UIIS$XKOSz5fXnFO$}kE_ zetOsM7r*+%Uh;fgHiFurU*TuIjfL;Nvx0BGHFZ%elXtQSh$5>I*Exxv0{#-yy~F{K z5{*}Vxz}HKSsVE%uN5)yz7K)#Arlu9khUS|_5A>uK)us*b}Ke3sM<6zei0fp+u^lB zFw}PF4#_>^gn*xC`|5#}5sNt4O)soVs~0bp%X(YQ@jzAtj2~Fn{3ogKjPP{U(WH=> zi_{@*zC0azj{wCUpPiY>j(1qXip#cmW!fnX6#}kHe5TwU#uGgTjGipN)pxFuxmxI2 z{$pITT(L%qWU&(28K4%{5e)%;{wm46!yZi|;g^y(?isY_d_r{Lm;|myNmn?8Daxz! zysOmcjcbu2t~0o_bsA#Aeb_Gh2OrQWA}(pZwBqkRGTnuEi%W-|o92+wSX!4kpXRkz zyuC-g27D)M)fAPNAR`WVsE|+m1rNWrP$29qQ%R%kB4$n99RIHZtn==$uZJ-sz-eh7 zknSd*x<8fM;$l|Q#oX!w7pXPBwW|BRcII|VBonkDZ~z=eSuoS6w~|UOEA#Agc;lk= z>3g4`qfT}Ls3^ir_Bvjz-R=XnEz$G09wE@SMg|#<%3^yfI1kd)H#9VI1!Te=h|!kJ zYIX$3%uC`J(1T8!$o!FZ1Q%5Qg9+~yQ52e?`)mtIp!d1 ztPH?!A|6JSpy9-y%vv8~oIy%tJ-jo8lqXZ+VPP>zNs>QEYY5xVY_RzHz7WCpX=gO; zxo9`kTpubju{O{wRl$*isVp`VA74Os#jf&Z$322Y1ECLf7C1Y%0EHeIwn#BEeuPv{ zHOveq)3@Bl^BO1@Rknr#izGSHNE6s_{H#c|AAGCI3tw-d<~?o9eq+{6dH(Y+?_gYG zN_r>Vy=epo43za?!Gjd z(5wnY`sq==XZmNXcB>4Wi5i0X9?+ySmIY>+2#dMA`5FWzf}LH4kMnl7L#;WR)tOJ8 zwy~l5S1$OhA^|lqM9~rILtKDOaNaVPgHApg89tVtl@(q#Ofd%dM-BwC)2+W5U_SLc z#{K=u%x!bZh*I&>P1f67dJ@UYPDE`D|LtFf%YP(55T<5*N?n z?BM%{L+(5^H8nsWPL^qejhj~N*Sc!KP7tJt?F!d$6eEUChbMbnz zD?n!`ZQo_@9>mnzuVTLxSzb|@Pd-2g0=(w@rN_XueJ0Caff=Jsg~Md!?Wg zn(xZ>4kW=oskI-;)rhCOgyK;L4PL_QG22U*SRwP>1Sx1E7li^j9T`m5|2%2=d{1XS zX&gw@J!#IVmK~yeE7^2$Jf@`Z8y)=*XEQJ@{=1O?vzjny;X}wo2j>kcFAtAJ-d7mF z&>(T82N*TL$(_)ehEDGkkxKtOGR+VF0zv4A+!Y^FCWZzbAfJ%XI{l1GC(PIQ6|pL} zkt)jV&xbP|n5iz^U=IH`rf;!SAl6Q(MKXed!_67?gpi5ThbZ!3ispaES42Pz`%Hlc zW#j5n+bY}V-Q0%fsu-l(do`kS$JA3BZ$ zaUrMf6KM{*Aq*p>Y0B>wUlXwH4voL3uq{^crDDvQeD>cvVRGa`ZN!q}MeD4H67<~r zZ1`Vi3d`<)`VqiKqqBeiRF>s31DWYSM#XZw;3<1!R41B)zL?G(tf3_07YWM<8lcbm zbDYLG4PU+=6-^Z)#j0&uh!$&Ux-DEnsV4ATS1N;9FnCoMqy`48jiQ|qY7BBHO8*tt zWvXS2YLnOwUiGHK5(<_ORcV8R2N4tNKUCD@k+k`Sc+thLs|?|#K%~fgLfm|qLL<1A ziD54-OW~j~%lsqgu!YGHM4x@T-)H#e9f;nipFMnWH z`!pG}!oWHzAO&~zp*4a=g3$fJf6sFHARJhIeHc*sbQ_1wvF|D}!kxt06{*4G^ zhLj(&FyPX+78!$Ckoii`@5Iq+_YCh*nl<1dNcKw&Q8r3X6gXnCCpTQTWY|Nd%wL1{ zFJGczSCDsjbuFOGn9EFlacZJvbr*7^ySH<{yA@QOo0=i9AfOrw+p|e zL_y6rbx5#X+X@Ud&*OT;Ua@=0TvAFv$64f>&sA?J7!}iI>+!<;P~r%f+e)bo$cdP` z+vZ6N{j2N7fKQY+QqZ^toXCRwYHf{_U@N`PQxfRUDZMTdgwhmZJ;*1=d%Y_7wzoF| zv<&4S1GPpk8R|@Che4(#wvY#7+932rk8WPNEz3|Ng(4Jq2;1d7ga$`CM6A~zEZ|af zO|ZcK5rd880BRDvAoQ`!eXY~Vft+t5DjDwkegX40N#qG*k~CM*x!BZ&vE$+paOQak zgSibnQ}M?yJ(^}uK$UF;#E<3Xxu=LO1UIt{PzDFGz7B{?3irG75Tp$jzb*bD3=sER z`Pmx^hF@Mss560Le6Qy4(6WmwT9N)zH@Ya?>0g!~r3FB?=X<#-n#Ps;Z&a^MCN* zfr<4`D%USM-74nja*VuM3h{f$I0DPXxAB4#r?xeM{~@ygU_KT&&1}?gPxjm-YHxj2 zAF?u#ubi=2rp-mqX~kHK179{oX$4A)lw+bof5&mvTZR_6Jd8;9-_FBRZvG@MUc#Iq ztz+kpJ3zLf$L-B7V`aE|n@Ox`@zldSF~p)e?UApx`9F*{SH#FT8`C z6C96{K&?A!2^f%h`@v)hID3baEe4(N4rfE=H82-WAsh|H3#0tgKu<}vAo4+2LqVo+ z*a++i+)or01V75@{#ii2^PVeMNw;V`=s<(tLJrrXcPYRqJEbuP5`tao!cVA@?+P5e z1u|`H7G6Dl-Q+c}6XZPI z?hX7rHp5}jQx&Ye*KK@QuB}^R#gwhFK~f6~?%lbAFkpx$llw+w5~Tw5j_#zr3PAQW zb_`;lZIkJQaFwBJ0_w)ya6>&_8YmTs55rJK-aifZZr={HTwUy*Uug4@_+D)y0Z5TZ zKjXDES!mWmg+S7VaF^T|=Yp($3RqryW92vPbFlZeCaN$3g!?EBCS7mGOAuTyW7U~t zkp3dU%fk~VcGni9VQN%^GdHg7fh(m|`QzD7+NWn*gaxivBLWqBmFQl8gx^R?I%JVU zM<$gZS^<4wzkA;oiDBZ6IdZNhXKv3nD)gkULz*HtH7y9wRllI6UVO)fOI}*4|gwt}4>c@WDAyu|b{n zxC3Yn(9%W?1*SPfEB&Ho8~l{WEE=7FO2AD8q#M+<`l5-jiH!U@HuU%SS= z$5sa&PaXm!1Ts7NhJObV!V9=3Tb2B zEKH8LTJhJM#NZlZODB}^wR|QTFHmP&{P`R;(>dAM^<>JMzEvaWhwb(Y0jhJ`>D8#? zP5+jBc0{KNhAQNWGAIpvq+88AJ9g~23ec5A+@BwwoOCKbHWa=+3h#P~%$XjVx^B(o z6S7bIXU)ax`;ui-`oGq_?EUTW3ZfsNxQLZvcYkTCkB17x)ZTozW>G0$54F~pk(Gl1 zOeo^XbXqd7I(T^jgLXF(36wH+_brLdwTi3IQL(&JjpnP~2tqlS$3s`<(BkBz6k_0c zFJDPI^~$_`v)@a+cg!G5<+*vQt2a0}cpCGMKZJ}{aQ>nCY%AjxIHaH#^$sm!e*Te8 zX>krloDMt1?lNdc`%chX!B6> zM)c(sOT1a|q;ucr&j#4^d?7Q?59rnB zqE+}ocSk)>0y-q{N`elq1cLybBb2wc!8roWF9X)7l&Y$C^s&>qX2nO2F$G`+K&*3K z?!MZb=hMTF)_K|*T=%U`wB`crPtt`EP{}NN*)L|;6w(=t>gu&)|4e-~pL+Mg(VfWM z2L5D;VR(q(cIvr!#}R=$q^L%!rgrzCn50IqMCccpHNZp;k!njvCrEIp0!syFwb3gH z7J=D-7q1bKW1VMA*+&~^CzLZRk@56ar1~mQ*N5A-ZWTq9hdJhIf2+H!|e zGNg>1MGCUS`=1V*LjVps3hM{kwic-t1VauV-N`R3Op9sV*Yz`~8k|?gG~5&z`Y!9A zrss7_Y(N z=nHsxea6;n0P2yzo!Yk-kUCa9eAg$%<#cq_s@4VVXe%_ScIH-yLcmP}3ixN93zy&$ zxiOXM%Fo)v>E$>^5m5g59ro8Dh)6VG#W3bQhuQ}ILVvPcV0%fq$w>wD)_H1BTZTp> zz)j*BB59XD8`gd$Coxoeohli0$j0!mwumLy8yveCX+o z;*<$r_g2^F@L>3nA;&pIQ0(zflY}TDIJXmSymz6DEP(ElPdL!*tS8NSz3O@mZ7Jah$@c9IGiA9;gb&GKF$Qv3M)E$t13CVrFT@z)y3%CKe zLz9w}lBCkLuepUx?+z?w9B2ZOiy{S)RN7D#2$t4R+*t7H0ABfn5O%HWy>{>C#i_?A zG?8_^{ZC3Wu3gd~lH@79-*RbziHSV_yACudxTOARI4)K2B3IsFT-nkzp;q>RV(0&zcl2%us>RH*}s3f+{^8%Z%3~JHO}htm(@r(!q^cEksW;*{}6eC zf+m$Zo3VHZ`nAQ6PcZp^G8ay-UJ~O6GBMvW%VOdTXfiY+FHE(u_XGFrHFLG6FwWp# zHaHR~ex(O2x)!J@g{bM^g~L$}^K@BbIfJeFVnhbz_4f)JJG;>~SsSAGEJAu5)H0G| z+FOxE-+l?2QzGVpJA{60XfM}>`Nl)ueozuZr+e4XjP7n?Vm%OF%D__^e*S;?zhcIG zKkneoUc`9RW7&2in@4HjvGFlsFCmCMO%oA3i$XVk4XRcyZ zg#e!zx*0f|2ilJV%1$|02R5F5JyM z(A@irx^xp9vHG2+VmLWcIlgYP#ff$XW9hbF8;|=g&@?#5a(}`kVr}u|wrOSXm}uyS zCj!Nm4u=2f51$yj+c|7#qZy!OxF%!roxQ& zxf|*ghAV_<#Ol3$BvSHEppDF3EYbfogn!e>7V>q!Fnzr4#DAQ95G|l}1sKAAk<)qk zrbG>il0iQ-&2cfsHLf37QCut*E@uI%Hc{2fv~%$B5r!FvLIZt(rF?Kw7O@s-$H=E&FOfMrlR=CT`ubsK zhZa0l$${=zh(m+*yTGLvs?*bnya8jbzqOfOu87+q8Oe=pH_L#2f2yJ}qau)&_Ija{HOycTJ zRxBPb!(<8IvZlLJ*E(u?>)u=X!sli# z*q-Z;gF==ZEO+W=X7)nF?cQ9i`@r&wztjc@W&!rYI|hRnypj;+`U69f5q5ruZiFbO zb<(DubnkS&AjWZ^)~yBLHJK?kfEl7nFKpPhz(x){O(f0MMBPqE;zTO)Ne}vI4QTDhb01ca%+&w!qr5ug4GAM~F)(F<#zdp<` zt^SuWRoUqsW#?caWK!Tj^=IVx0+jXi^{a`kqvNdoixYxRlh729v(EaL>=`cFL&{S$ z7+r4gPq?vp3q~nIZ+xWgieHG-KeaJk0kp2ba#Jr|*kBgM@ycnyFZ1|B)0;O|Qe1)y zz1Y(x$R%>!Nd{vfQU<%x|L8s+FBvXj3vVZ_~udwt>v zItHyo7lF~#91QzD5HAtfJtlO++dn*0ck15A@Gu!YUrjm%JWVBcRwo?KXy9Y{=>(_( zhloPVp<)~l(8}Ik*g?AlL&s}t12WI0AW%#H_g%IB3jdg}j-KQky?Q|QWzPURw8;3u z-LRnYGN9mQtP>Aa_?0PTri>$@kmkS{52ndCLYw9`fL5Q2uKf3chW&RBO)mhV<76ow z1`bEg22}Qv|3#S>>;cUCr)!DcuSkZJc|j!ra|mT%RLo&-!hstB08q$1sjItY&rs-Q zKn>`XbcMfi!QUsPs7N2(uqW%%9{$ATz|gZlYXz4|oh;D8LwEVw#W3I&T!)~L5kC0F zXM!bukE&`E>5YkK0^~@|qVXOX8FG-4>>U>5JtZiIqShjERV-P;8i7M6+%2A){kJsB z3Dd|R_cSP#hze_bL_{ZO`|;Xi|#nK)96Mq&_G zo|%`Md;sC@&~xC`9VUePj&l)q%;B3BdBochI_zyRfLEz@tKJwUaj^*<(jw4Jl z+4Xp3GR*ux28WQAG966W@6w?FbRCY+0W#PDlOnWE#!u&raM0hAA}>G%+}Z`6Uk>w*OX79#3`rb3kwVPQyh-BuM?<2 zf(+`9P&s=t=&s|;k?-x#I7V^JTiE3p+oW@qK6#>lO!6g0O9B2=h}ywa50vlz2(11RW>j>7TC4r5usSO4DYCke`-k`e`oBZw7>7>Q zRxcoG*MT4w@B#3a3TZJ197GHtn=H4IY1wG?Ju6hqY42dwHiheE{J@eQ7!^tm?nI&*nqaJxFWU3V$fA> zId0)s{>-AHF{z`v))!g*_105ll~3CV%o1KjAYmHRZ37 z2z+_&g()$014ZF?HVjw?;{$2)5Ez6E)(W?j$>S1$yvcNPGUyY%JJuIQbxa~Da{vjM zsl@`#_)F*KhoT#qX;{`l@o#i3jaS)CO7wmGbBaJsKPo%|M{W1Nb0N1zFFGhgop;NY zUAJv|BO*2!z2eopCL7)0V)Ao?_)M)<4>Lqk;9J2e5Q8>SAC^)R_ym(4Y@vn733u>k zF(V$XVTtp$$(H@p+;GRqXDhTm*t;ViQpWPj9`g&sdOARh>_i(!EB^y zU=VqBY#st=ga$QQB(K*QS$qAnV*_jzXB!~M2m`E|`IbC0^d7GWg`L55YW&9p8VLNb z$i4c$`rf6Ey5JG_N#$r9+z3TwCw8^j_ktl~+CcI;Qng90f^pnzw?T+4lTw2-sX76; zZkIm(^8a72_$6Au0dfQ35P4$SQXBjUF)r5!us*f=sc-Qp3`e-;`rR#FE*``N_)Y|W z&n8n3l)uG^zyz-J4ky9JP$ED#VtH%5w@|Hi%3sEU;H=ISu0ezc4c zb22he932!$CnwwnSZRO=+Oi2`>p_eJMJv63)f(JR=T<^!d{x0&aay>oU7fXD6>`w- zIfeKq8dzLOKWlG9lGn|pXdd`igB!IyK?{?24P2ePo?r~_Idl8uJ5j4_kzm- z`!}X`rN7NUAqqPS=Eq55yck%qvqOprhB)5;uJh;*JQN~7g_L@lVu5fgbG0+}IvGZyP}aduOkM-L5vHzbNVb5HA5yaf=S z7py8PXP+cLP~(Y9%EB10CBcwpA!jQKoeQY3ES$-&?MoWAJohz*x?5n=*12;&60 zrGxBqHio+FNVV14R;kqeKO!O{AqKIiB-YIk2koP1J;+CfpcaEz^tCyS14ud{DnLL# z%-$r1UcZGIY%hEgO|9N1P32J??Zs9@GAx-U8H7wSo%R0OMXA)ir7Ff5pY zA-vh%g>u3?s*_&l&f)6^QWVjQ5f~WJJTLSF1QLl!tFx0xPFLRi)VzE(kMXsM7)Kdq zynwDaRQvTVb$lvI`Bdb^{x+YLJ&3UQo*E{Fy@xg#SGmS~Xmm7ZSGdI7tV{A)1R4c+WKy6tm)K&~5E&Mg)!!bH*UV$i{K)&F};=3%E%f9>W z8?0jPAnHXX-g;7WaVxp*6j;2=2(1W-d8mh1FAAtZ$#sESFj5`1R`BB+7Q)!Kg3Cmk zY+D$Yn01J%n+0xS*foKWk4*2vC%Qt(P?x{oQm7~WR5OM7vNcE15Zli7|D0J$rnCNa zt1uH2sXQuqqoZ5tG!G&vZ0hkLF9vWsw6ItmD$z`tT;=96zw{gqu96a^rB4;h+Xzx_ z#QV0&3R)8~5Sr*tj4Y?=?9ZOneQ&YbkIyjyR_gFUnsevRM`RlO*k*E|txFU%oc(j~ zWT98MVPA+<+|yz|{XUaz6ty7=G|WRj)cMD>+VQB>{I1aHc6yhp`VBQivqAcsjZ6&o-g3Lv^XrIeg>j}1fN;#6JGwgjseWJpNiBqacg5*SkTuwP?0JQ# z(iG;a=m;T7LV>;>y*>kKv>mO&#DhevP6PqEbwrRFt{BQ}AI{uj(sbT(hNxcX)2wUq z36_$2s6E3!+8CbyEDSCo@ox?9%3+!PF9oS_A>>|C;C9$m&+*(;61OuHJJ}X>$977% zZVu&Bh58zwF9@zUnGGzm=<*>oM1nC7Ip=Zbp%_w2{pvBoU3Gc|;{!>}SU);?w)O+U z>9<3DShuH5*&o1giGuB#24^T{1+_|fLXTA zK-3q)-A!`$Sj^DFu}l45KzgA|RXx8BpsVg;vema4B`bHC-vnPc>>;dMuL*A)THMX(q9 z1!d#{;@IFE^|d)-ytnP@W@dT$8`$;7PM(C-mm4HegeFBCH2{WiZ-i@nS-j^d8__x- z(JAlRoZ}Lvsnx=-O7R|s^0w^vo81Up_7-$VU=f(1v%ZZJL%tf^(-clKCb0-q{B%(o=A2kOGAX=U73+3Ny8*g)hzg&Z%o-10?H zVPRo`-!An~{rD_JulizZP#=gBOW7=`C1FuE>J!IGqhThA{L)(^esCjPyH}Os(rwduqiCl|FP)Zt)kNJ(bLl8lP6aTPblKBI{nvL2J z8PiBGYT`?HeEHr%h^G)2fG&l``6$4Ju-M-_3pZ_^c5e&3T!=iRrf;#Y$mMhpcR{X2 zSl(?Lrn7SQFJd5GY<7Ar+o*32=W8wRX)3RuwEO!7`8}aXA!0L_>-{(EXLf;fTpj)- zGToAJPz0@CEe|^eC~Zn|^|z#P=@sz=tGn-TrT@^3;iGdW^L=sZnt^RiAHsjH{l_5) zr*`*Ehq?@Sr96#n`sVl95xQ08Z$-#55XvJ%2*f#>wy&|^ymr1rW%Np^mp_}1J(tcg z-=D5Z0RAL5Kd7!VOkMs#^D>m-0UwnJPz~z;m2VjBc+^P2uV`t&4w$%%dxVZ5-edp3IS5_3SFOU~u(VAMssrgEJRuxO6#( zLiOZAGv@K?lQ=R_NMSpMbJ%Dx4{T^~CJe_U<{HpK6T7~_Ie*>^r7g*b3WhkSLoZ4I zYtOxn-jD9yv+So&>yZbhrDTYBAcU7>ZmK$*Q$c-HFHlkO@H;y9Q7rqt+q>Vr+fgEZ zQ26K#!S3uk{>1hsiw0QFw+LIhqkhnx2MJ>6k}P~x=TulHPg*3e)8V8W5JyoBM4m86 zz+bn7g*c$?nNnLFS*3t}AZj8qFgTxi1V$cGy%NGOMj=`g3W_rsp)52Sy$s+05raE6 ztK)g#^}^mzzW3BxpAqJh$zo{pqlonIN5Ls%v0gJXQW-swbvXyY>gnna?(n#RG>D7i zaN@rDq4kJWUf{XU%z~|6@!uv&KRcpJ%{F-+^t&}Q(+<=Z5%)}5qWM6)MCSMr+kY0j zk$qn@0QV(~?+jc_3}0=&tdxL0b|oGYeIS^q0R4@Kt!(etYbx`zS52VQfcmP_;l*l} zP8y65;2!s*WCmykxNVCH>5*4v4kGy_xMnSmQ&{NZo4%>d!Bi;k8z}qKsZVxmu7O``K7Ym<@i@f3yVhMJEPe=e_4y_KVm0dJ?$ zrJnW_GjfD~%TLU?b=v!MbD=dqTVxh$UpOxjV1(zs6%J!^gOUkK^G%j30!_WWki9SU zuUD&th;=kzzcdjk-92a<(k`xm(k&7yL*QokfrK}c%NC9_a4Y(?!1;5s%>&VwX&s|J zLV|)Y_r@7U>EalKP}T++8)(agZ+2}GDQOU18j9IZSBCFBZi~(U7ekRf$E&E4nH{ZwNWG1a2m6@QzPr9l~Lv|EsUJp z{LQ6KMEa9lbpW4do74uPu?Bbt{O_ERH;kL)+qog}+g{x2TM!OAqOGb}{aX=ik^AW8 zA;4!=XU~Rga1O^ygtF!|au2|3var;RTq>4=+!AO$iX}v)lXMDP-vnW5DZO8o^gkcG z+vkM9S_CVehUXs450pYAS`O?%%OT_$o&dGZI?}Y1^v+K%%Rl)G&b)7)te7s8v3!% zn+yE_T><_=T@`|az|6&Qz-werz^Oq@(5Q$qCAaQF48!p7a0tinG~^3mU^V^+uE^}1 z4aR|rW*E8(=C`LWUbt{OQaycWj4mbbK!RsLkIONF;R#HI| z@i;(-G)G5J&GHVCrHB3`SSV4AF?EjL0{4LGi+RXgk7*Q;TJj;IfmHfmJgqPTv08dCpCGdl%gkmcx zNTcCRSY&$hqyspb2$W`ni~-kG)^1x!N*#XP9;<`x9?{a+JA9{U$P+~7CpHf3p{SX~ zMOCjNb%7j3;y=G`LRWL)LLJ^5QhUI~IWAsgXJZ5ChzPR4akoH+g{lp0Od?!C5Ocxf z3SD%ncAl8=Gj&m4i6>F)2FdpiK0Lomf={~U0O_U5&N{ZK5B^qm=|9ri+55m{puQVg zq$f{O;~Xf)B(@fuIFSdh-^5*s5aYDPasukdm(K_h6EE5!S6}9C5+Sl>KoqXZLG+8a zsGK5;=b@7Wl#S%T+vlg>!IOt(7spxJZ{@b;=6*8k8WE?4hOI53ycw*BdsV=^aoy+_ z80~{bIc9bNYAwS@({XYKtB-fLbmW=jZyr^H$H)~RLtJ`FM$fvz^KzfE|5(*_-M#Ps z6o9~#8&NYs$%Do_FoF{Bxh4~!Gg89%Np$5P!rA!6oa{Wk=%x)N!#`r_|GwpEYK zE?(QQ`8n`z=u?j=|Dq*v<&CzQ7cS(SP1O)X%V~(&%+g&Sv=q;f$TUR9WMs&9ugxNf zPgJkc(zM=Fnd|By{Vw(L$r$})e7)Lb7zN*XVdUtg*E-46#x>3lMpYWv7y>i-G51+z zeDPq=r%15}@x{N^|1q}Zq6MU=h3LY-dRA-a&xvY2|2{P_%@8jHMkH^TCgC=u&6onb zAO7AUFoqMF1IUbRL)xYx2^ZBh?aTKKet%Y3}5mu1&yA5#QABXqp4MkM@Wd?peGM(;A;{LuhtA; zW)}yh#2^Y{(}z5O#v3+lAP&%%Yjl_Bl=_1de=NuwqUbWrzN2-Vf? zcsSRK*3;od>l0gD{-5z*nydZo%gaZquR-UX-hM^1Gtdd5Y#5=!NXQms$40!WZn6Ma zCh>rWU^q!xWTr@QC<8X**J?I7^g!uySgm_ZzyyfxXV5K%NWAaD7KI)}Ddl7`0v^En z2g!${$l5Rlz# zK1w@hZtWKs0jhAZH!^FG@CN)zGOnR^`!!INIlFVG`%nfIrwG_UMivqs&Ger+gjhTs zivi(!$!RU$E-jQAhx#64p||<*0mUmwX`SiriWON42CXo6s=%e`%JvJ_%SK%;+WV@P zf?|MU4r-voXZJZDz&auWpa@S!GQS8QIZ%J!79&{xd6i)hd8@1wK!V~#ixh&9$;x_~ zpV%-^k+2-!qcxggV8*+B`}P$9o9+Y1RY5BG_WaYB9YbaedV7~=pKtjGq5V%I0(>dw zPuwwL`cksU*8j=RIm#1#<^>yjFYXn4`-f+TOmg0vZJV5Qz5s&allwJ%M zL>xyG_jxTASjHqNyB~>tAgD;D%AlJZgr>g+H8vjP>vfx_eb4Mzb!(()x9WjPmdly^$jT>u`9a;EE{Kv>Qg(%!# zS!+DGrl>xDyQFub$~+>R0#XSD{tc;$)@`QDqrgDV?nOeApXpwfldmdp1!MMZG%_Nf z)k#Kf3pD=De(Lz5Jl^xx%HSwb=n4BX3$_bcxw+km;PZ<__UI0qocd|y3q8Fw@;lnK zK06vjxtLppl(vmb?`I89d4<4)D_33$ZZpQPk{4n$kbYZ=)djkwO>j6~X1(C(NZa82 zb!~Z&6z8~5z~p0$O6_^3A?KwZdg_dW!yC!kb0ii1%N^?FxG`0 z-!F<&ht=1y@RK&ZT+T!>0n7cjfkJ$Za!t}gUkL1+bx*w7SgWFo1_e`jxUR>(yKMcPk z2})^vJB-B$T+!ZMr(maz^r`<2q@2@II-mk=Q!&iQzNY7gcCj&Z7(R%(3T|pw!Lkxo zr!#Q_W5>Gx7QoO59y0WxxOfX9ZpibwcmF={twse_Ry;;BXeVj0^U*Wc??>+440+~X zBHkQrkt^aWL4`Hr`ankK(Yw!`ui}wf`&NnhlHr&&7cJHU{;JH!k6G$WP)%?7J?K4+ zF1C|Mq<+eSJc>zdk9o2qy5YHL7^4uNYKIpJf2rU|f+S}}lgD?TlVFb|=Lr4}*e37G zUC`9jq}n1x)oOxCD7X`^;~+vbRX<>66o2fpw?d1Qa6uB+5=2qKsCq)=RuNgIJ}@zT z6VU#DYWyIT5nrMz5Y=TRh1e)jwyXZV;~!-tB_-3TywHJy-G|hMT z*(8?(s|`Y0jdSP54A{;1HKSnwM<|&yaRq@9|9XL6U|3PT>&=MBzJ1$ph}woQ$D;R@ zK8Lme7n=UWoMQ~!r}r0MAubG8uBdGTT5w$Nb|w$HaG&D`@-)9)3Vlfr{r;}T<*Cr} zWvyBwn>)^}CqL2x%^4({OH}4Xx`BPyYtMu0MX=G!`wSWajtM{v$V*3siAHVZS7~YK zfAOkR5U-O)<7dg3MDLYP7eJ2)r7^SA0gq^rJ;?{81X~w^Q^C^#AvpX(l=@Kiv5v|k zNkiMz^rOKirA{Ja&`EB4EOHi~}6+b=p7B(Ptw4JbA? z0wH6k9UK_&>3}NS6RJcg+RoskL12DtFaV~f;J=$^j~}MjJP5s)J5{bfhG@dq)}hQR z2;nr4H-VRK_Skfgy5J2MicB*=4+84H?~<1MOPPWtpDa?Bct{G^1v{~ZFKx)Lp&#lD+OXv-)x&BEW z$Us9lquw+zk+e*Z^*A6&x*i%S)Wb_(-f5obgR&Yl!lJf2i0UnYF|tUrv<(>ZOq76B z0+yLa-cuUPj!1-zo_{J000>Y57ccLln@UVzOz8C&H8aBxPXCjNHhQ?Nzm|9}%ZtYR z>#WDcC%nrobgsMJh5}&lhQ`MEkm`c%YmOiMn+b0Fn2kzy*Dk#R^CO8P9lgEdoGHGX z4twc4isk>a+N9Jr4VN6G8Rt6L3rN*7F`K`{p_7^@qneF zd+hbiZ09@F59eG$AOB5f9!(nUeZ6_~$P44mrGBMN-+r$uTi#G8zVQPN45Ns#@1HMYkVQb_?AK76`B+Dibl)XIhcfWZ$vrf-)eSM-9cRRp=v0&xQ-Y zn5Ptz#)0%C8oQ z*N5rp{lGko#G9W60i*{|Ag1{-SI7{eHW+;U;EBr&?+i!CHm=CmsXP83Q`a4iW!wKf z=51uJmc5gaLPFd|LkSrXLMf??LPn9jvYMVsMpTj!iHu}rRYoCFB83VSlC0n7)bk$4 z?>+A0{p-nn-Pd(q=lT79zMlcSv#qahP2tC@MiT9pAI7&1^H`)ASu~+V<<-w5@VhnY zGMs8|B>|Q$r$5wat>Tg^gEO#%q@*K;Ko`t!K|h7^j(Xrg>H!Z{Mcu^fyQFN|Io0GF z@hzsvafabLLJBTu@Nm*Idzr$$4ClEnUOrR@vI4U_m@8oJ3x^k8ixajeNfIwz3PX)$ zSiexO#D?t_K@{8_-p+t!8jEZ3a+}2ThQIx@{d*cR=z<=&Y#x2GnN};4ft4!Twl`BL zIeE(+_Q;R-%Jt36`7counfSwbv`YXUg9k#j-0bb-RHIlL&goUniW)K&$7J)8l-o)y z1WU^Za-j%_1sxuntaL58+$I8#W3+>%-PYB`Ure>jHh03$2DlafhTpYhCy*vWTdl6v z1=ft=bIZ?Dw~@96ub-&s=%ny?>>Ua4@Y#3T2z0WnkwH`(=-i^j+OlGjAG{qCeb>b7 z%y)W+zYQ#_VpXqT`qJ?6$AP<6EZ$dDPTgX};YUr^*|qEW?h*?)GF1Z=gs(2K8Gs!I z7REsb1eoxhR$udQr+7#_{i z@~dpu8<0kll9JZNjN^_q&q?VA{Z@os7#JM};4#7HNn%Hn2xT)g?BX_WQ(PoKY6WYU zn99YSc+5AnH`~0iu@T!CJA8R=sm6VG#c_hF2IC|rq*0>+hQ1}Hv=zK9ENl}K6A|k= z8-Rm&nNT!*l6cOrR>Xx2s1h2)cOEjr!L;uRpO)*di}oY;q*Kpy@F>%s_3$Wwp>F$; zR`7~UYh=$E@jX$rub`y1p0?(ga^W3DO$taCz%~%(T7q+f8T-fJG@xm~0Y{Szw_{WR zHYWojhfTn9lZ4Gj$K)lEj1*8xHiS?hKPKEm(DZTUV@TVini-_ z)I?qv6%{3=q^y8+9GMa5e=wa5FK#qK)*0{_Y`c;ZfdE&y&4LvS_7|AkUl@KX!_zAd zklxgc8`~F^8Zx5#$1d=D12|1bt6C$<976AJ4s;wgJEk@^EYMf{ zwUTi{r2tx-d}=qQCxl;t<^Z7Cw-}cl-fNLDp9atz-zF#|gg^mx>_rk)jQ2+e)NlO>!+4$3Xi~;o84VA0qILain+90Z~>)Z5W>y1p#0d(-fP6|;T14kUyF2&?> zB`G`;kl*L=ub_bVooJD$572UD|JoiVf1lxp{AZgOiZE6HHxCc8Dg~z>!A%jpLy?$s zXq-vWj`&l|4W1bqG?G(kk-H`$nnM+$v&_uuj#UEi1;fPmX6of2q4Tz0nBCgDRli#A zTgAX->^K~DgY%@Mk&zME)ba30{%n5tMNf)Y2t4Bt(L>x}d`L<{BJ5#rnXS#94QwCx zByde}v`)e@14(VgGRC`@8T=a=*)Qu{Jv6slK6rd`7Ocd1fuXpVlXqS*<1rCI@w&FT zwRsG-ltD{a#1Xfu_3O!dkE+82gjK?{V%LQiF(rh;x;^c{epb8Pb67^-H5GTdh9YTK($+;wkF!@cAx?xM$GHth z;gnyZUew%~_9r2=9SB(c_#A=G@V}+UG=SQ2g(z`mKPx1AGyoeOaxC*-xF*gG4S$NR&EtY%10(So^?O z?$ei+Sa1(%)3NdlZ<%^sk1(5Hv`gDM_pRt(;`=84D;(fL(5tGqI1_QW-q>=Q9l$)X z4aV0>9QEJBX_jFwhiz2L=p5^TY<~^Vu|Uwd!!k~1T0(o$c?D{xeShqd;(;Q_W1xnCd>I}ZQr}eg9*Abd zV*^8#D-IbVW_>z=f!gGJO-b3ka1>OOURn^A#ke7ixNdPkju(unCYBovu{sle9|Exb z^t$f8=VBcHF@`3rN(Ut&E248yl9S{&z|)IXfSN6~NoPcWXol%1DZSthkSzJkTVw6Y zC=t}v;F(Q6EtH?~KfC?yDvV3?D|D(ZUv|9UF z=+L%SAnKj;jpz{~;QJo5dSgi9I&9n|sKL!GZ%H!BBU=jmP0G2SpwmPhKW}(&JA=PO zYm${5r*sA6{Llsx8@XQpeJs?hfKY`tI|ZveK}LvDNkjk~O^FHxVv6=%)JAsT5lKk{ z0{tNCV9K}+$2c66IpNh~C`J*JXZ}=kMTA0S3)a@u+;wWmB3W^T4kt>_y&E~o%tgl` zZ{9#!k{v59bD^6iOBiS@M#w)Cc?xxqk-cThTg9?dCr=(`KDn8n6C^--JZt?@)+rM> zgNWPTI52t^-bp^?21e^u1=%jV5iu`Q8=(c+Mw)4If~Yv-<4F`7OnENp8SAgX35K~k zj2C_eVT3ikv}>V;IV4fsr#$7n4yS${w`>0WHDA5xAK75ujIq0XOT?MJ{iC0~*TGpT zk(Y}SuA|2Im7W8rB@z>T2BHfLF|60pdN;wq!TS++0F(+Y$%;sk|E|-6Qfy`U(pw|U ze#G>HF2{~!0~uZ$n{lSy>Wvr!m-f= zOCS{+mCTAbk*FxC*P`P|-*h>=G+%gAnT61FAbmi8vrzWQw$Std11@YaTRvL`_8%@H z0;Y^#FU2ziV4nq_E|M(b&+McLRmTv|MqSRZJ~AC4+vciD`#rP^t88;AK>jkAy|TN$ z;IBvs?2w`VvwqV)ZD4-Ur^H+c8wOw;xja;B{{ChCtT$n@0tig5#t^jDLjVg_29s;V z|1yJc3Bkj&Q3*9S_GF^7zz%s$ryB{Ba+h(kIk9@#$t=3b^xi+}_Gw1;eoCpmm&QB! z0WGVrBhJpmsVSWjBBCFm+Kct+MIFtqJYXPhi(&!QIYzX}_i zh@htBxObMGRJf*ND~ti)(W6IUoTdL?>6Mfe4CX}D@O3KIyGRYs&omx-u2J}*r5Foz zTw1%CGPN$e6c^d9Ir21X1s^kgnFeo=+FjZOfvVpIHDJY@HS%1A!Ry`p{5#gV&%o*i z`{cxx5q{175Edi+o+QDIZIx9OhGi(tsm&V{4H8>o&@uoIs2j z@}DlX=$}Thwsm;RrcHbZBs^~b8b0mc)z0IZe>~H_Eqw9wq+eV34CuJvGr%b+|I1Mh z{`9<+9xE0Cw3jb(Xtc>$O`-ka`c0`2Os^6($ZwjQGA0bn_nBAX>j0)AzPEZ z6iadiQy872vT0K|My(V?*(EJ$ z0m}vNp~^!*a~zf5Ati9gWzK10`%ToTQcb!U8YnqYiY~e`rrcZzg$XxtB&mE~XR?aa ziiEljMIXQ&;IG-2jgl3f1EB*iVZ+x2+>s!cGpHcY+oLOkf~Uy^m%Rbd%LZCqjC}Hg z*LXee)CXFWvDqT4S(hVxam6DhyGuX&P`OT|tQ8jChISM~LS}NL?+{e^OD#c=l}FcO zd0E+iFL&EpT1r_bv*5mSU1DIxJBWj$TPJT+C&U3~PR5BhJG0hO(}P0SV=9t5k2m4W z(p*1Duf>=#lE_GWfjYzE)x|QJ1_EvjKw{CWztqUbhPGJYGjI$z)ynfY=V;T|<-z~_ zCs*}hhg8RKbB=|l0JX3FXPQyxv(3DJ)ZU!v8q8EWkMK7%tuR<9IM%K3pG_gLA10v@ zNYQ)6#-oe+lQg9m7J@ACy~=&L<%ZGByTYD1| zow0uW^*ZZ<w=Tr?`yCEViaG#Sy4`T68fPs<6`d(LmJNH<<`B_t>V-2js2rG zk~ilNS!!gKyDr(Wg=BBRbcgj9P?;*}Ul@}S+gLxwLr7ww0qSv>FEchFp=#Gd0e*h7 zR-eC*0UCHAug8xvdFvn}$QYH%?$}qWU5CA5`-M=UW|mmY9(|#6fUtrCHR}hWYXG{B z7@U#(jc!FfE{qpfg3?I>HNcl&m|)g=3)RznKDz2ApKrMO8on&E9hKNOqI{`i$y_bv z@_Z=P_&*DMiJ7wk%O#>jha)_8$)7Xl#TA6!!oC2+CL-*d*kf!=$_W@>fq(QAp#Xf1 zNura}$2sncDf*IcAz~5SAu(5G?|m{jWd*~^zVFL?WL30zce@CIfqTzW()hLxpB7~m9>Z}@BX^t&r6+xQ*8!&+EU)qX}unt_gC0} z4UUj-K7E?)FM2x`_&^(f7-$XXA!S9*%`jF4&OxMkO99Zg5RYl1(ok$ZCQYHnLpEXU z8$sTWwqti3zEGLX5<gNTSp6$_lee^%XjH9Eh(pE$Qd=A4e*{7*3tehaEZ`Aq? zd~*9@SJyiz*?vBX5p7Y$H*iQX0ljU#_cnU_<<8(`%JoeH0DI;tzajTZX5BjRc4JQc zebi}H+@QQTpzG5Wiid^0XbPdipxU{B9&axmcE~fkz4$k#J`Lo}r)=T)XzN#cwv{{SVcaJ>`3r zZo(JS&u>&uMaKt2R9SG0M#+fq8gz^@`-cu{V)TZwDd`+#WGEFbFiZF> zFjixA=hY5r^9T^2Tl|Yb_^)!w$96~nN-#WGbR{WbhfMyg(B-W2rYQe=;_%C9Xnc~? zxktDaX~lks!QBNUSk#YCJF>7&;A)T#M*;vJe;eg(NEmx@X+s?{09o6iimsyb$nGM6 zx=_I^WN2;LbQ$G~z6r(KQF8f+7)W^2yW>`S1zFfzZ?ZAic??8~G>40=sDaL673QCd^FwInAYtXgq-|;` z51e3hQ}Z=;lvIe$GJ3Wh2Gzs?WJ=QKo-;DIiEeUU=ogfE@G;-3y@iwn*q2zSb{}@R zopN>IWGCP}@WCD$h zr0tB`5Fq32<&}2p79Eia(9nRhL9z<*vqRDy+knH#M=hA-1vM(@6%c z8`tUotl*9gFQyNE`Jc#*u2u>A)00uo&tM_|m>nE1pZHaE1e`~hiT(Xzj2-|udJQzv z<8?$t%>eQk7iYjfUvR2~VHhY*nf04>^*3vz#G{l23{U+PCT4anrp}<}bI6AQOK>0_ zI2o9n`aSKhMH0>sZSuU#1*7L9(ZBH2FzhxNiQR>vL=EtA7>!I+Nw>7LJOJ?kcfk>c z#wbN4^tkkSMXyq|00XEAB}ium9mwgtkQ5qas~Rb8pBAb2BjV}cu>rZ~!BydpisV^A zcEZy#ea3H7br$hNKdX@aMpU#x$@9>3c_M27%;;-&hdlPYJTZL*C^RS)Py*Ug+8K8~QqY4+{r2gN~Y$*T^7PoHI zDvpy<3%?DUWk*x22dp)SmgED3=KpvcjXZ^U1NkBhNr?3&d_Fhu>Ne7|cw$dxM<~Iy zb&xi*40ox#rojI!sazF5C!%t-{J&Tk7M_pE6&!WSjJug7xJG~TT%03qYTn5 zBYYR^@S+@B#Hbj(>VSs^i@y18*j8{6IW4BSPUM!tU;(!@ETi28az{RPNi3K@7KwTf z+b`SfVg0jxTsC)AoYY8 dmubd%p1>7Bio_5CxCi$TwdS(3r7eY;V)|5uy+?nhIN z9FCCw7KNcld*@0T0m+kOH_!~AfD$`b6<)6h)jdXE*ut|4d_$r{5V#3olSn$FBwuG= zMJtiIuCZ3@omvOwo(?jR?2(prZ~v8wyWNomp%^WpN#GI?5NJ<@Pw8AvMC*wq{(a~3 z&}w6fFjOC{^Esk^H5=o95@s^z#Lkj#ZpO*^AE>tiBq486#oHcNjXKZDaSJ>Xu$G}O z1JMxd>NnvfOswe(Z&5W5z^DcXC^2Zmj!i%jlmZyPk}?1FEnINssD>pXIZtV>`lJw| z+J9pxa1L)bx6^YOqQ+Y;23@FjUh*BM+Vc5o6dw7oc$;oTKAN#Qv){nyABf+8ud%s1 z2NUoX;!DwmpAN z_27M486&bCJ+E#buero{*K}f^UcdE~PutMB)LNQ>0Xu%^LJdYLoWL($7irOg>ZI=dg_j6gcO@gEz77g#GRGu# z#x`5I!lF!$Foxg)4y@grZxmKBwf(hmA@_)Ui$BfXA%9viKY{J)zg)h{AtjvTY=DUj zXJqNfr%E^0rEG)Y0`i|xxh(|%_*Co-@5aCisl;4QJk|{7>wSkTh#NaE#`w$0n*P&d zo?*(qMK>&w?A&OvxLyET*}n9|R%;~q>j^m_=}H}ecP|9Lq~typQ{z@t9gs4Wy9|NP z#cAU!P}e*@HEeR=Ku}NKyBCk<+g&yiOe-*OQT_+WJ2B*7MPY+1FARAyy7Wcd=6gA9 z%Euu51-?!!w~Af)h$I9urJjkO+}P!?biYc!&Q3U)ES-Nlx~^;2N$bdM6?5C4f9Xpq zW38Li#7t+`uJiXNTm5dr#D)ocU$`17ue)zoY8>Ld2ooKQg|Lgl42teUhhZa3obdkm zzB{41T5F(&6HaS{?24>nnseZYkS>~x=ZOa0)^?YnSk!)?a5Sm6-a#vWNzD6Erm7y)=;h&1cL8GBqjJm~}|IB!)3C@>za=5ug!P z!I*U8nD=(kwk#x7GF5t=DPSlY+3|QNrDFV4D50yV4*Ou7Nh08Eau@kehIHR>?zxUS zkP%%uA;~NkfB4NHD1n{ofHjDLJ*m)GH=W1OtvVkY@`V+zfBV_7Ng zngcbdUnSY+?LnkK9Ql>ak1(mh84GGzN@qXF?4_2D>arN6$^iCubR3XxSBRQMVg2)A zB$sCEEgZ-=7m0fiVcbI`JIfG&USegmNS+A6E$~vrx4T@5%l(}9AiP+uRw?5sM|REI z%R8NY1KL(bBuUhPV;U{iR=bJGu9W%n+cli@6$qN{)E5DX-vehaaessDb(YzSb&U`i z)^2)DD#6lHU(4~LPS@#J?*YCqF&TBm4|=Au|CQ_|NY-wX1C9$7$1&WHg<&|^I8P9%j7)~=P^cJ<; zuBXnwg`#;y$5Vmgm9As!_7Xr4hL*CQx;@Hsji1X%aT@6 zkLJ3KfgT=8LzlNj&tlZ3?(sZTpk8O`W zgSkw+NYr+T*OQi*{(d_lbNk?4c`ccU#T7nD>N|E0M|WPbPd5pxoH?fL?n(BNUUkf* z2nX`{zbZgmp*-PQ`9#Py?8^^SVN+FVC<7K31OGA&XmElI^>A~cHeQxP!KWW2FPJYC zAR7nKpy7Y=cnT$9{zfWAu5ff^e(e5a{5#fIc;BUW$A1?RRW4DzWENg(loF|Zz$o-F z_42aeF(M%w2MvMVl6D!2UCj3Y)RBhz)ayb))LRE?{xvR5+JC=z=I2Oi9?OuRFubs z54tb2Y>XY%z1lp$%d)U8mh-f7!256`_CIH4Kf{3(af!3TSek{_-w>Qx0RcAQBCOu( zL0f5QRP2#AsL-BCLTvz5EEs{}@6U zr`>{OieiS*<7g2)Qr{@PL97%Y#6}ZQP~ktmQ0uP)i-Nh*enQ|Y8X@3;;&fb&381}z zp0OOodZd`V=PpYFc=LF6t8zMH2>1nl#?Gvt zg{PGI57(brGNjes&J$@CO|l%cp1e4$0`+w}$Uo?V(E46%kZ(lgPAp3yCdV6DOKuC{ z)*_g0$XdGQ8qPCvBIvV$DJZ%ymo%#SsdD!b0n;ggSOrhcyFwlnefKz@V$MF0C>(S_jEJVUYx=Xa2C1o#i61gC)* z>pAx~ENAoYij|2xBh^1XR-b_+U9ZP+a)c~Y7{GlP|m=)}5Roaqt6e&~VVX@n2L zIsnfswJeXYNywGrhh~HO*l5mGO`qqt2h{=}*W%tK?7t|f$;Y+$A@gcl%p0kHW;$Jq z5rcbXV9d$N^Qv5(7D2K_$Ho8tD#s4qlgEbrU)2A~XgyK#Oo-R!u%6H=G;;dd>T4vxwvM;xqwyiqG{;P%Zanzr zse!`)b}@znVJ~`QeiE~sHCq0>sA^n`{ogyezwWlR2b&gD;0)M8(LD8BL%3=0-o+t! z603QqWtK|E(PPJIs}|l?4IJ4zx01LsLZeR1zAoh(N6F!)ylvvte}jMd{ICjI35UP* zqX+vWj&*yf*q(T$lVt|&1tc;c-3!4>2G5l1z;zkI4iBH2zyPqRH?XGHHtO@`fT)1K z=zA^rir~Oxo7+E7zkW$A)I$@95$b+GJY4JS?GyySsQ|}m!IZUTm{*LUF+d>*rgp;* z+yTUBwn7cwhSl!xuYaOQ<|@M|k=>27i4uJy`t3USejN?srPB>#iRlxmaXf)TKN!6a zD9^|gZPCbWhJFHg``*1lIRo+!KOh}RAA>NE)zI9J4F0BvX~TmDZHK=dK6FUGBIWbf z+YGF%$@pWIhNZyZ7_*16(f5{%jyPhx%8floI?8&y_a`j>Rhfe069M3oZwcH0A z0*D*Foh#sDLVP^Yhc0@Y9f+thi)W3V9w9*u0VQ~ULx=qUBBdeB6}2?0R%Q)uBz_%u*K0bHEYRtQ_CHJt1@Sqx(F1Tqd2Z?)ySTWRn7<#^SGNww zN!@0$V_}Ljyv5ukrov16PV$kCfJ$btqu^chdo3)N!}rR-$x8>_MwOh4geY&sF(fw0 zpI_Li%AY}@kdPS+>hXt(90Ft0prEP)1v5C5)gDC6dTOK)GurRZR=cNx5SXC(lj8I3 z4OctYX8qqJl?0584fI@7-VWdcqmw>LCqwyKK$aV_*#S%9Igtnx5CL)i8qqHB?|_|= z#Y4l3I#5%gPcen@)j za#C-jcmjSyGMips$KWMr>s}f0kiuUGk)VQj4NRg*MAY^w+Uqm~8KUkY{1PbjMJgGoN??ni`oeRz_LAu zpr@Kj>m-D%5lx4#bw^lnf01|}{na4L3=@JkiW?C50~f6}OogHPuo<%Z=lY8X66Z$H zBa)o;y_Vx6j@*R#U~M%SeV>+}XD)YHf=?ZL8MbTwpPpfyGmqC- zWj1?WTkSeAIg8egC&_U;=zhc-78ZaDtV>Tr0w&M;$Z>D$BZ)V}T!Rc$V)0tD6Ugh< ztc1?f$^O9E3ONg-+TyiWc!(ZHr!g7}_Ib8$;hFa&Y^32w?xSN`N2& z(`xG>i_@o1N1izkNY>hp^;F6cYS;s6Is!Vlcc&R$?#(dErkee$z$@gn1?r4385$&l-q5u#clz z!%Q%O_>gjNyej5@3Jivn>Jo&tvk$ zYnak^2EvU5*qpe{-AJ3X9CNuIbC1;4&HQf|tw&@eujpL8rx&_2izRw|ML5`b$M!yN zW6Ux`=#Ii$WftB~>HNc!;a4bXy09R*dtyaMHTE%xNf91wB>GiI z&=n!?hgdb>UhnAj3lqoLw(Po!Yybzu9g!SMVsT%V5WNoV2MOhASM7>!M7hrhQwQ+` zKl+q>q~m}y&{w@3i@*oYRxoA~yEUnVQx8#M zqH1aaP{?rcv;$k<{W(90v0+cj#H?AM-%X~L!uCO34m>7<>&5@z*B%}Zw#j|+g+clm z^{m^EjnxNR3y;@L-(Mpv+yJ{mtQ-qBX|d125>p5IEBsVY;E>0H4G^Ag+s=;r!)4~l z!kGI(m?8NhBK!g90|8lmGRTg@}LPEH&-umVW6C)#(SwRe<3pE-}-HN2!#9XU{ zCzP1Q&Z{>A+Tps(&D!`apN;3wY#y;HbEz-Y4a=tnRv6xjPF{WEqdKad8ic=&?eu%1 zpXmtkDx4HCPeO|gA#pmkKByT@$0XNaP`@<0b&07}Yi7-|uot6syh9nR5im2!Br9VZsAEVIoyOZl(u4>+Ddm#QQvCN->5aI!p+$#C#S z;%Zb3gu#!vEpXjE!RCa3<5p48tJJT8>(MR{W~A?@%T@&k8`$R&u~K=Tx)`-uTv0KB z-v5#cUI2JsA~-f@aVsi$P)6}<49t_(M>yi7NWi2BHp<{~HSt4mbTahCfJH=uAic+{~r z;R(pWfx$wu41>5q*f|;EKi0U`hKf)P!1}?N2CWS%ZV)yF!Y{#L&~2O6%$(mHOI(J6 z7AI3ZvD`i&Z8L-agz0uP*RYYuK5Kbt1I82B7S^$dUvW+XN&

R190iwS9ZwjfejX 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 literal 0 HcmV?d00001 diff --git a/QT-APP/APP1_Taiko_IO_Setting/images/tk.png b/QT-APP/APP1_Taiko_IO_Setting/images/tk.png new file mode 100644 index 0000000000000000000000000000000000000000..5714290a077689c1c42e80a63855cebb9780c935 GIT binary patch literal 18619 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 literal 0 HcmV?d00001 diff --git a/QT-APP/APP1_Taiko_IO_Setting/images/up.png b/QT-APP/APP1_Taiko_IO_Setting/images/up.png new file mode 100644 index 0000000000000000000000000000000000000000..88511148e046d0e4794457ef6fc69d09d98c9521 GIT binary patch literal 3687 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 + + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} + diff --git a/QT-APP/APP1_Taiko_IO_Setting/mainwindow.cpp b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.cpp new file mode 100644 index 0000000..c0dd037 --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.cpp @@ -0,0 +1,1040 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +#include "QDebug" + + +MainWindow::~MainWindow() +{ + delete ui; +} + + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + serial = new Serial(); + + /**/ + _id_list.clear(); + _id_list.append(ui->ID1); + _id_list.append(ui->ID2); + _id_list.append(ui->ID3); + _id_list.append(ui->ID4); + _id_list.append(ui->ID5); + _id_list.append(ui->ID6); + _id_list.append(ui->ID7); + _id_list.append(ui->ID8); + //设定ID设置 + for( QLineEdit *p : _id_list ) + { + QRegExp RegExp("[1-8]"); + p->setValidator(new QRegExpValidator(RegExp, this)); + p->setAttribute(Qt::WA_InputMethodEnabled, false); + p->installEventFilter(this); + qDebug()<objectName(); + + connect(p,&QLineEdit::textEdited,this,[=](const QString &text){ + qDebug()<<"selection"<(sender())->objectName()<<"text"<(sender())); + if( sel == -1 ) return; + if( text.isEmpty() ) return; + sel ++; + sel = ( sel >= _id_list.length()) ? 0 : sel; + _id_list.at(sel)->setFocus(); + }); + } + + //定时触å‘全选 + selall_t = new QTimer(); + connect(selall_t,&QTimer::timeout,this,[=](){ + if( select != -1 ) + { + _id_list.at(select)->selectAll(); + } + selall_t->stop(); + }); + + waitdown_t = new QTimer(); + connect(waitdown_t,&QTimer::timeout,this,[=](){ + this->on_BT_SV_clicked(true); + waitdown_t->stop(); + }); + + + /**/ + _id_tg_list.clear(); + _id_tg_list.append(ui->ID1_TG); + _id_tg_list.append(ui->ID2_TG); + _id_tg_list.append(ui->ID3_TG); + _id_tg_list.append(ui->ID4_TG); + _id_tg_list.append(ui->ID5_TG); + _id_tg_list.append(ui->ID6_TG); + _id_tg_list.append(ui->ID7_TG); + _id_tg_list.append(ui->ID8_TG); + + _id_tg_list.append(ui->ID1_TG_mul); + _id_tg_list.append(ui->ID2_TG_mul); + _id_tg_list.append(ui->ID3_TG_mul); + _id_tg_list.append(ui->ID4_TG_mul); + _id_tg_list.append(ui->ID5_TG_mul); + _id_tg_list.append(ui->ID6_TG_mul); + _id_tg_list.append(ui->ID7_TG_mul); + _id_tg_list.append(ui->ID8_TG_mul); + + _id_tg_list.append(ui->LB_H); + _id_tg_list.append(ui->LB_L); + _id_tg_list.append(ui->LB_MT_TIME); + + _id_tg_slider_list.clear(); + _id_tg_slider_list.append(ui->SL1); + _id_tg_slider_list.append(ui->SL2); + _id_tg_slider_list.append(ui->SL3); + _id_tg_slider_list.append(ui->SL4); + _id_tg_slider_list.append(ui->SL5); + _id_tg_slider_list.append(ui->SL6); + _id_tg_slider_list.append(ui->SL7); + _id_tg_slider_list.append(ui->SL8); + + _id_tg_slider_list.append(ui->SL1_mul); + _id_tg_slider_list.append(ui->SL2_mul); + _id_tg_slider_list.append(ui->SL3_mul); + _id_tg_slider_list.append(ui->SL4_mul); + _id_tg_slider_list.append(ui->SL5_mul); + _id_tg_slider_list.append(ui->SL6_mul); + _id_tg_slider_list.append(ui->SL7_mul); + _id_tg_slider_list.append(ui->SL8_mul); + + _id_tg_slider_list.append(ui->SL_H); + _id_tg_slider_list.append(ui->SL_L); + _id_tg_slider_list.append(ui->SL_MT_TIME); + + //å…³è”滑æ¡å’Œè¾“入框 + for(int i=0;i<_id_tg_slider_list.length();i++) + { + QRegExp RegExp("[0-9]+"); + _id_tg_list[i]->setValidator(new QRegExpValidator(RegExp, this)); + _id_tg_list[i]->setAttribute(Qt::WA_InputMethodEnabled, false); + _id_tg_list[i]->installEventFilter(this); + qDebug()<<_id_tg_list[i]->objectName(); + + connect(_id_tg_list[i],&QLineEdit::textEdited,this,[=](const QString &text){ + TextSetFlag1 = true; + _id_tg_slider_list[i]->setValue(text.toInt()); + }); + + connect(_id_tg_slider_list[i],&QSlider::valueChanged,this,[=](int value){ + if(TextSetFlag1 == true){ + TextSetFlag1 = false; + return; + } + _id_tg_list[i]->setText(QString::number(value)); + }); + } + + //一次性全更改 + QRegExp RegExp("[0-9]+"); + ui->ALL_TG->setValidator(new QRegExpValidator(RegExp, this)); + ui->ALL_TG->setAttribute(Qt::WA_InputMethodEnabled, false); + ui->ALL_TG->installEventFilter(this); + connect(ui->ALL_TG,&QLineEdit::editingFinished,this,[=](){ + if(ui->ALL_TG->text().isEmpty())return; + int temp = ui->ALL_TG->text().toInt(); + for(int i=0;i<8;i++) + { + _id_tg_slider_list[i]->setValue(temp); + } + for(int i=0;i<8;i++) + { + _id_tg_list[i]->setText(QString::number(temp)); + } + ui->ALL_TG->clear(); + }); + + //选择框 + connect(ui->CK_en_mute,&QCheckBox::stateChanged,this,[=](int state){ + qDebug()<<"checkBox"<CK_en_SSO->setEnabled(true); + ui->LB_MT_TIME->setEnabled(true); + ui->SL_MT_TIME->setEnabled(true); + ui->label_16->setEnabled(true); + ui->label_17->setEnabled(true); + } + else + { + ui->CK_en_SSO->setEnabled(false); + ui->LB_MT_TIME->setEnabled(false); + ui->SL_MT_TIME->setEnabled(false); + ui->label_16->setEnabled(false); + ui->label_17->setEnabled(false); + } + }); + + //串å£å·æ˜¾ç¤º + ScanCom(); + connect(ui->COM_LB,&ClickedComboBox::clicked,this,&MainWindow::ScanCom); + + //串å£å›žä¼ çŠ¶æ€ + connect(serial,&Serial::serialMessage,this,[=](QString text){ + ui->LB_Log->setText(text); + }); + + connect(serial,&Serial::serialCplt,this,[=](bool state){ + DispResult(state); + EnableButton(true); + }); + + + connect(serial,&Serial::serialData,this,&MainWindow::PutUiData); + + QLocale locale; + + if(locale.language() != QLocale::Chinese){ + ui->pushButton_2->setText("Download taiko force settings"); + ui->pushButton->setText("Download taiko 12th settings"); + } + +} + + +bool MainWindow::eventFilter(QObject *watched, QEvent *event) +{ + if (event->type()==QEvent::FocusIn) + { + bool select_flag = false; + for( QLineEdit *p : _id_list ) + { + if( watched == p ) + { + qDebug()<<"Focus"<objectName(); + select = _id_list.indexOf(p); + select_flag = true; + selall_t->start(10); + } + } + if( select_flag == false ) + { + select = -1; + } + } + return QWidget::eventFilter(watched,event); +} + + +void MainWindow::EnableButton(bool state) +{ + qDebug()<<"set button"<BT_UP->setEnabled(state); + ui->BT_DN->setEnabled(state); + ui->BT_SV->setEnabled(state); + ui->COM_LB->setEnabled(state); +} + +bool MainWindow::CheckCom(void) +{ + qDebug()<<"COM number:"<COM_LB->count(); + if(ui->COM_LB->currentText() == "无串å£") + { + return true; + } + return false; +} + +void MainWindow::on_BT_UP_clicked(bool checked) +{ + QByteArray arreyTemp; + Q_UNUSED(checked) + qDebug()<<"Upload Button"; + ui->LB_Log->setText("连接"+ui->COM_LB->currentText()); + if(CheckCom())return; + + arreyTemp.clear(); + arreyTemp.append(char(0x2B)); + serial->AddToList(quint8(ui->comboBox->currentIndex() | CMD_ACK_DEF_SET) ,arreyTemp); + + if(serial->SerialStart(ui->COM_LB->itemData(ui->COM_LB->currentIndex()).toString())) + EnableButton(false); + + ui->LB_Log_2->clear(); +} + +void MainWindow::on_BT_DN_clicked(bool checked) +{ + QByteArray arreyTemp; + Q_UNUSED(checked) + qDebug()<<"Download Button"; + ui->LB_Log->setText("连接"+ui->COM_LB->currentText()); + if(CheckCom())return; + + arreyTemp.clear(); + arreyTemp.append(GetUiData()); + if(arreyTemp.length() == 0) + { + return; + } + serial->AddToList(CMD_SEND_SET ,arreyTemp); + + if(serial->SerialStart(ui->COM_LB->itemData(ui->COM_LB->currentIndex()).toString())) + EnableButton(false); + + ui->LB_Log_2->clear(); +} + +void MainWindow::on_BT_SV_clicked(bool checked) +{ + QByteArray arreyTemp; + Q_UNUSED(checked) + qDebug()<<"Save Button"; + ui->LB_Log->setText("连接"+ui->COM_LB->currentText()); + if(CheckCom())return; + + arreyTemp.clear(); + arreyTemp.append(GetUiData()); + serial->AddToList(CMD_SEND_SET ,arreyTemp); + + arreyTemp.clear(); + arreyTemp.append(char(0x2B)); + if(arreyTemp.length() == 0) + { + return; + } + serial->AddToList(CMD_SYS_SAVE ,arreyTemp); + serial->AddToList(CMD_SYS_RESET ,arreyTemp); + + if(serial->SerialStart(ui->COM_LB->itemData(ui->COM_LB->currentIndex()).toString())) + EnableButton(false); + + ui->LB_Log_2->clear(); +} + +void MainWindow::ScanCom(void) +{ + ui->COM_LB->clear(); + QList infos = QSerialPortInfo::availablePorts(); + + if(infos.isEmpty()) + { + ui->COM_LB->addItem("无串å£"); + ui->COM_LB->setCurrentIndex(0); + return; + } + + foreach (QSerialPortInfo info, infos) + { + ui->COM_LB->addItem(info.portName()+" "+info.description(),info.portName()); + } + + for(int i = 0; i < ui->COM_LB->count(); i++) + { + QString temp = ui->COM_LB->itemText(i); + temp.replace("CH340",""); + if(temp != ui->COM_LB->itemText(i)){ + ui->COM_LB->setCurrentIndex(i); + } + } +} + + + +void MainWindow::PutUiData(quint8 cmd,QByteArray array) +{ + if((cmd & 0xF0) != 0xB0 || array.length() != 48)return; + qDebug()<<"Get UI Data"; + + quint16 temp0; + + //Get H and L + temp0 = quint8(array[0]); + ui->SL_H->setValue(temp0); + ui->LB_H->setText(QString ::number (temp0)); + + temp0 = quint8(array[1]); + ui->SL_L->setValue(temp0); + ui->LB_L->setText(QString ::number (temp0)); + + qDebug()<<"Set H="<LB_H->text()<<" L="<LB_L->text(); + + + //Get id trigger mul + for(int i=0;i<8;i++) + { + _id_list[i]->setText(QString ::number (array[2+i]+1)); + + temp0 = quint8(array[22+2*i]) + quint8(array[23+2*i])*256; + + _id_tg_slider_list[i]->setValue(temp0); + _id_tg_list[i]->setText(QString ::number (temp0)); + + temp0 = quint8(array[10+i]); + + _id_tg_slider_list[8+i]->setValue(temp0); + _id_tg_list[8+i]->setText(QString ::number (temp0)); + + qDebug()<<"Set ID="<<_id_list[i]->text()<<" value="<<_id_tg_list[i]->text()\ + <<"MUL="<<_id_tg_list[8+i]->text(); + } + + //Get Mul set + temp0 = quint16(array[19]); + ui->CK_en_SSO->setChecked(temp0 != 0); + + temp0 = quint16(array[18]); + ui->CK_en_mute->setChecked(temp0 != 0); + + temp0 = quint16(array[20]); + ui->SL_MT_TIME->setValue(temp0); + ui->LB_MT_TIME->setText(QString ::number (temp0)); + + qDebug()<<"Set Mute EN="<CK_en_mute->isChecked()\ + <<" SSO="<CK_en_mute->isChecked()\ + <<" Time="<LB_MT_TIME->text(); + + DataOK = true; +} + + + +QByteArray MainWindow::GetUiData(void) +{ + QByteArray SendData; + quint16 temp0,temp1; + + SendData.clear(); + + if(CheckUIData()) + { + DispResult(false); + return SendData; + } + + temp0 = quint16(ui->LB_H->text().toUInt()); + temp1 = quint16(ui->LB_L->text().toUInt()); + SendData.append(char(temp0 & 0xFF)); //Hi + SendData.append(char(temp1 & 0xFF)); //Lo + + //ID + for(quint8 i=0;i<8;i++) + { + temp0 = quint16(_id_list[i]->text().toUInt() - 1); + SendData.append(char(temp0&0xFF)); + } + + //MUL + for(quint8 i=0;i<8;i++) + { + temp0 = quint16(_id_tg_list[8+i]->text().toUInt()); + SendData.append(char(temp0&0xFF)); + } + + //MuteEN + temp0 = ui->CK_en_mute->isChecked() == true; + SendData.append(char(temp0&0xFF)); + + //SSO_EN + temp0 = ui->CK_en_SSO->isChecked() == true; + SendData.append(char(temp0&0xFF)); + + + //Mute Time + temp0 = quint16(ui->LB_MT_TIME->text().toUInt()); + SendData.append(char(temp0&0xFF)); + + SendData.append(char(0xCC)); + + //Trigger + for(quint8 i=0;i<8;i++) + { + temp0 = quint16(_id_tg_list[i]->text().toUInt()); + SendData.append(char(temp0&0xFF)); + SendData.append(char((temp0>>8)&0xFF)); + } + + + //Flush data + for(quint8 i=0;i<10;i++) + { + SendData.append(char(0xCC)); + } + + qDebug()<<"Length = "<LB_Log_2->setStyleSheet("color:green;"); + ui->LB_Log_2->setText("Success"); + } + else + { + ui->LB_Log_2->setStyleSheet("color:red;"); + ui->LB_Log_2->setText("Failed"); + } +} + +bool MainWindow::CheckUIData(void) +{ + //Check ID Num + for(quint8 i=0;i<8;i++){ + quint8 count = 0; + for(quint8 j=0;j<8;j++){ + if(quint16(_id_list[j]->text().toUInt() - 1) == i)count++; + } + if(count != 1) + { + //data err + qDebug()<<"ID="<text().toUInt() > 255) + { + //data err + ui->LB_Log->setText("MUL=0~255"); + return true; + } + } + + //check H and L + quint16 temp0 = quint16(ui->LB_H->text().toUInt()); + quint16 temp1 = quint16(ui->LB_L->text().toUInt()); + if(temp0 > 50 || temp0 < 2 || temp1 > 50 || temp1 < 2) + { + //data err + ui->LB_Log->setText("H or L=2~50"); + return true; + } + + //Check mute time + if(ui->LB_MT_TIME->text().toUInt() > 50)// || ui->LB_MT_TIME->text().toUInt() < 1) + { + //data err + ui->LB_Log->setText("Time=0~50"); + return true; + } + + return false; +} + + + +void MainWindow::on_BT_ClearMul_clicked(bool checked) +{ + Q_UNUSED(checked) + qDebug()<<"ClearMul Button"; + ui->SL1_mul->setValue(100); + ui->SL2_mul->setValue(100); + ui->SL3_mul->setValue(100); + ui->SL4_mul->setValue(100); + ui->SL5_mul->setValue(100); + ui->SL6_mul->setValue(100); + ui->SL7_mul->setValue(100); + ui->SL8_mul->setValue(100); + + ui->ID1_TG_mul->setText("100"); + ui->ID2_TG_mul->setText("100"); + ui->ID3_TG_mul->setText("100"); + ui->ID4_TG_mul->setText("100"); + ui->ID5_TG_mul->setText("100"); + ui->ID6_TG_mul->setText("100"); + ui->ID7_TG_mul->setText("100"); + ui->ID8_TG_mul->setText("100"); +} + + +void MainWindow::on_pushButton_2_clicked() +{ + //大力鼓 + ui->ID1->setText("1"); + ui->ID2->setText("4"); + ui->ID3->setText("2"); + ui->ID4->setText("3"); + ui->ID5->setText("5"); + ui->ID6->setText("8"); + ui->ID7->setText("6"); + ui->ID8->setText("7"); + + for(int i=0;i<8;i++) + { + _id_tg_slider_list[i]->setValue(15); + _id_tg_list[i]->setText(QString::number(15)); + } + on_BT_ClearMul_clicked(NULL); + + ui->SL_H->setValue(3); + ui->LB_H->setText(QString::number(3)); + ui->SL_L->setValue(3); + ui->LB_L->setText(QString::number(3)); + ui->CK_en_mute->setCheckState(Qt::Checked); + ui->CK_en_SSO->setCheckState(Qt::Checked); + ui->SL_MT_TIME->setValue(12); + ui->LB_MT_TIME->setText(QString::number(12)); + + ScanCom(); + + QString temp = ui->COM_LB->currentText(); + temp.replace("CH340",""); + if(temp == ui->COM_LB->currentText()){ + for(int i = 0; i < ui->COM_LB->count(); i++) + { + temp = ui->COM_LB->itemText(i); + temp.replace("CH340",""); + if(temp != ui->COM_LB->itemText(i)){ + ui->COM_LB->setCurrentIndex(i); + } + } + } + + waitdown_t->start(20); + +} + + + +void MainWindow::on_pushButton_clicked() +{ + //街机鼓 + ui->ID1->setText("5"); + ui->ID2->setText("6"); + ui->ID3->setText("7"); + ui->ID4->setText("8"); + ui->ID5->setText("1"); + ui->ID6->setText("2"); + ui->ID7->setText("3"); + ui->ID8->setText("4"); + + for(int i=0;i<8;i++) + { + _id_tg_slider_list[i]->setValue(15); + _id_tg_list[i]->setText(QString::number(15)); + } + on_BT_ClearMul_clicked(NULL); + + ui->SL_H->setValue(3); + ui->LB_H->setText(QString::number(3)); + ui->SL_L->setValue(3); + ui->LB_L->setText(QString::number(3)); + ui->CK_en_mute->setCheckState(Qt::Checked); + ui->CK_en_SSO->setCheckState(Qt::Checked); + ui->SL_MT_TIME->setValue(12); + ui->LB_MT_TIME->setText(QString::number(12)); + + ScanCom(); + + QString temp = ui->COM_LB->currentText(); + temp.replace("CH340",""); + if(temp == ui->COM_LB->currentText()){ + for(int i = 0; i < ui->COM_LB->count(); i++) + { + temp = ui->COM_LB->itemText(i); + temp.replace("CH340",""); + if(temp != ui->COM_LB->itemText(i)){ + ui->COM_LB->setCurrentIndex(i); + } + } + } + + waitdown_t->start(20); + + +} + + +/////////////////////////////////////////////////////////////////////////////////////////////// +/// +/// +/// +/// +/////////////////////////////////////////////////////////////////////////////////////////////// + + + + +Serial::Serial(void) +{ + _sendTimer = new QTimer; + _serial = new QSerialPort; + + SendList.clear(); + + connect(_serial,&QSerialPort::errorOccurred,this,[=](QSerialPort::SerialPortError error){ + if( error == QSerialPort::ResourceError) + { + qDebug()<<"errorOccurred"; + SerialAbrot(); + emit serialMessage("连接失败"); + } + },Qt::AutoConnection); + + connect(_sendTimer,&QTimer::timeout,this,&Serial::SendFream); + + connect(_serial,&QSerialPort::readyRead,this,&Serial::serialRead); + + +} + + +void Serial::SerialPortConnect(bool state) +{ + if(_serial->isOpen()){ + if(state == false) + { + qDebug()<<"Seria Close"; + _serial->close(); + emit serialMessage("Stop"); + SerialState = false; + } + } + else + { + if(state == true) + { + qDebug()<<"Seria Opening"; + _serial->setBaudRate(38400,QSerialPort::AllDirections); + _serial->setDataBits(QSerialPort::Data8); + _serial->setFlowControl(QSerialPort::NoFlowControl); + _serial->setParity(QSerialPort::NoParity); + _serial->setStopBits(QSerialPort::OneStop); + _serial->setPortName(PortName); + if( !_serial->open(QIODevice::ReadWrite)) + { + emit serialMessage("连接失败"); + SerialAbrot(); + return ; + } + _serial->clear(); + emit serialMessage("Running"); + } + } +} + +bool Serial::SerialStart(QString text) +{ + if(SendList.isEmpty())return 0; + PortName = text; + qDebug()<isOpen())return 0; + + _sendTimer->start(500); + return 1; +} + + +void Serial::SendFream(void) +{ + if(!SendList.isEmpty()) + { + QString datastr; + for(char data : SendList.first().Data) + { + datastr.append(QString("%1 ").arg(0xFF&data,2,16,QLatin1Char('0'))); + } + qDebug()<<"[T]Send"<stop(); + emit serialCplt(true); + } + else + { + _serial->write(SendList.first().Data); + _sendTimer->start(SendList.first().times); + } + + } + else + { + qDebug()<<"TimeOut"; + SerialAbrot(); + } + } + else + { + RecData.clear(); + SendList.first().count--; + _serial->write(SendList.first().Data); + _sendTimer->start(SendList.first().times); + SerialState = true; + } + } + else + { + qDebug()<<"List Empty"; + SerialAbrot(); + } +} + +void Serial::AddToList(quint8 cmd,QByteArray array) +{ + struct SendPack_DEF Temp; + quint16 CrcTemp; + + if(cmd == CMD_SYS_RESET){ + Temp.count = 2; + Temp.times = 200; + } + else + { + Temp.count = 10; + Temp.times = 1000; + } + Temp.Data.append(char(cmd)); + Temp.Data.append(array); + + //crc + CrcTemp = CRCCheck(Temp.Data); + Temp.Data.append(char(CrcTemp>>8)); + Temp.Data.append(char(CrcTemp)); + + SendList.append(Temp); +} + + + + +quint16 Serial::CRCCheck(QByteArray data){ + quint16 tempCrcHigh = 0xFF; + quint16 tempCrcLow = 0xFF; + quint16 tempIndex = 0; + + const quint16 CRCVALUE[256]= + { + 0x0000,0xC1C0,0x81C1,0x4001,0x01C3,0xC003,0x8002,0x41C2,0x01C6,0xC006,0x8007,0x41C7, + 0x0005,0xC1C5,0x81C4,0x4004,0x01CC,0xC00C,0x800D,0x41CD,0x000F,0xC1CF,0x81CE,0x400E, + 0x000A,0xC1CA,0x81CB,0x400B,0x01C9,0xC009,0x8008,0x41C8,0x01D8,0xC018,0x8019,0x41D9, + 0x001B,0xC1DB,0x81DA,0x401A,0x001E,0xC1DE,0x81DF,0x401F,0x01DD,0xC01D,0x801C,0x41DC, + 0x0014,0xC1D4,0x81D5,0x4015,0x01D7,0xC017,0x8016,0x41D6,0x01D2,0xC012,0x8013,0x41D3, + 0x0011,0xC1D1,0x81D0,0x4010,0x01F0,0xC030,0x8031,0x41F1,0x0033,0xC1F3,0x81F2,0x4032, + 0x0036,0xC1F6,0x81F7,0x4037,0x01F5,0xC035,0x8034,0x41F4,0x003C,0xC1FC,0x81FD,0x403D, + 0x01FF,0xC03F,0x803E,0x41FE,0x01FA,0xC03A,0x803B,0x41FB,0x0039,0xC1F9,0x81F8,0x4038, + 0x0028,0xC1E8,0x81E9,0x4029,0x01EB,0xC02B,0x802A,0x41EA,0x01EE,0xC02E,0x802F,0x41EF, + 0x002D,0xC1ED,0x81EC,0x402C,0x01E4,0xC024,0x8025,0x41E5,0x0027,0xC1E7,0x81E6,0x4026, + 0x0022,0xC1E2,0x81E3,0x4023,0x01E1,0xC021,0x8020,0x41E0,0x01A0,0xC060,0x8061,0x41A1, + 0x0063,0xC1A3,0x81A2,0x4062,0x0066,0xC1A6,0x81A7,0x4067,0x01A5,0xC065,0x8064,0x41A4, + 0x006C,0xC1AC,0x81AD,0x406D,0x01AF,0xC06F,0x806E,0x41AE,0x01AA,0xC06A,0x806B,0x41AB, + 0x0069,0xC1A9,0x81A8,0x4068,0x0078,0xC1B8,0x81B9,0x4079,0x01BB,0xC07B,0x807A,0x41BA, + 0x01BE,0xC07E,0x807F,0x41BF,0x007D,0xC1BD,0x81BC,0x407C,0x01B4,0xC074,0x8075,0x41B5, + 0x0077,0xC1B7,0x81B6,0x4076,0x0072,0xC1B2,0x81B3,0x4073,0x01B1,0xC071,0x8070,0x41B0, + 0x0050,0xC190,0x8191,0x4051,0x0193,0xC053,0x8052,0x4192,0x0196,0xC056,0x8057,0x4197, + 0x0055,0xC195,0x8194,0x4054,0x019C,0xC05C,0x805D,0x419D,0x005F,0xC19F,0x819E,0x405E, + 0x005A,0xC19A,0x819B,0x405B,0x0199,0xC059,0x8058,0x4198,0x0188,0xC048,0x8049,0x4189, + 0x004B,0xC18B,0x818A,0x404A,0x004E,0xC18E,0x818F,0x404F,0x018D,0xC04D,0x804C,0x418C, + 0x0044,0xC184,0x8185,0x4045,0x0187,0xC047,0x8046,0x4186,0x0182,0xC042,0x8043,0x4183, + 0x0041,0xC181,0x8180,0x4040, + }; + + for(char _data : data){ + tempIndex = tempCrcLow ^ (quint16(_data) & 0xFF); + tempCrcLow = tempCrcHigh ^ (CRCVALUE[tempIndex] >>8); + tempCrcHigh = CRCVALUE[tempIndex] & 0xff; + } + return (tempCrcHigh | quint16(tempCrcLow<<8)); +} + + +quint8 Serial::DataLen(quint8 cmd) +{ + switch(cmd) + { + + case CMD_SYS_RESET: + return 0; + + default: + case CMD_FAULT: + case CMD_SYS_SAVE: + case CMD_ACK: + case CMD_SEND_SET: + case CMD_CALL_DEF: + return 4; + + case CMD_DEBUG_LOG: + return 19; + + case CMD_ACK_DEF_SET: + case CMD_ACK_SAVE_SET: + case CMD_ACK_NOW_SET: + return 51; + + } +} + +quint8 Serial::DataCalc(quint8 cmd,QByteArray array) +{ + switch(cmd) + { + default: + case CMD_FAULT: + return 2; + + case CMD_SYS_RESET: + return 0; + + case CMD_DEBUG_LOG: + if(array.length() == DataLen(cmd) - 3) + { + return 0; + } + else + { + return 2; + } + + case CMD_ACK_DEF_SET: + case CMD_ACK_SAVE_SET: + case CMD_ACK_NOW_SET: + if(array.length() == DataLen(cmd) - 3) + { + return 0; + } + else + { + return 2; + } + + case CMD_SYS_SAVE: + if(quint8(array[0]) != 0) + { + return 0; + } + else + { + return 1; + } + + case CMD_ACK: + case CMD_SEND_SET: + case CMD_CALL_DEF: + if(quint8(array[0]) != 0) + { + return 0; + } + else + { + return 2; + } + } + +} + +void Serial::serialRead(void) +{ + + RecData.append(_serial->readAll()); + if( SendList.isEmpty() || SerialState == false) + { + qDebug()<<"Empty and Rec"< 1) + RecData = RecData.right(RecData.length()-1); + else + RecData.clear(); + } + else + break; + } + + + int len = DataLen(cmd); + if( RecData.length() < len ) + { +// qDebug()<<"Wait for reviced now "<> 8)&0xff))||(( RecData.at(len-1)&0xff) != quint8(crcdata & 0x00ff ))) + { + qDebug()<<"[E]Revice crc is error"<>8)&0xff,2,16,QLatin1Char('0'))\ + .arg(crcdata&0xff,2,16,QLatin1Char('0')); + + RecData.clear(); + return; + } + qDebug()<<"CRC OK"; + + cmd = quint8(RecData.at(0)&0xff); + QByteArray reviced_array = RecData.mid(1,len-3); + + QString datastr; + for(char data : reviced_array) + { + datastr.append(QString("%1 ").arg(0xFF&data,2,16,QLatin1Char('0'))); + } + qDebug()<<"[R]Revice data is "<stop(); + RecData.clear(); + SendList.clear(); + emit serialCplt(true); + _sendTimer->stop(); + } +} + + + +void Serial::SerialAbrot(void) +{ + qDebug()<<"Abrot Send"; + + SerialPortConnect(false); + _sendTimer->stop(); + RecData.clear(); + SendList.clear(); + emit serialCplt(false); +} + + diff --git a/QT-APP/APP1_Taiko_IO_Setting/mainwindow.h b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.h new file mode 100644 index 0000000..786303b --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.h @@ -0,0 +1,140 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +#include +#include +#include "QIntValidator" +#include +#include +#include +#include +#include +#include +#include + +#include + + +#define CMD_FAULT 0x10 +#define CMD_ACK 0x20 + +#define CMD_SYS_RESET 0xA0 +#define CMD_SYS_SAVE 0xA1 + +#define CMD_ACK_DEF_SET 0xB0 +#define CMD_ACK_SAVE_SET 0xB1 +#define CMD_ACK_NOW_SET 0xB2 + +#define CMD_SEND_SET 0xC0 +#define CMD_CALL_DEF 0xC1 + +#define CMD_DEBUG_LOG 0xD1 + + +class Serial; + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + + void ScanCom(void); + void EnableButton(bool state); + void PutUiData(quint8 cmd,QByteArray array); + QByteArray GetUiData(void); + void DispResult(bool state); + void ClearResult(void); + bool CheckCom(void); + bool CheckUIData(void); + + + + QList _id_list; + QList _id_tg_list; + QList _id_tg_slider_list; + int select = -1; + QTimer *selall_t; + QTimer *waitdown_t; + bool TextSetFlag1 = false; + bool DataOK = false; + Serial *serial; + + + +private: + Ui::MainWindow *ui; + +protected: + virtual bool eventFilter(QObject *watched, QEvent *event); + +private slots: + void on_BT_UP_clicked(bool checked); + void on_BT_DN_clicked(bool checked); + void on_BT_SV_clicked(bool checked); + + void on_BT_ClearMul_clicked(bool checked); + void on_pushButton_2_clicked(); + void on_pushButton_clicked(); +}; + + + + +class Serial : public QObject +{ + Q_OBJECT + +public: + Serial(); + ~Serial(){} + + void SerialPortConnect(bool state); + void SerialSend(QString text, bool state); + void AddToList(quint8 cmd,QByteArray array); + void SerialTimer(void); + quint16 CRCCheck(QByteArray data); + bool SerialStart(QString text); + void SendFream(void); + quint8 DataCalc(quint8 cmd,QByteArray array); + void SerialAbrot(void); + quint8 DataLen(quint8 cmd); + + + struct SendPack_DEF{ + QByteArray Data; + int count; + int times; + }; + + QSerialPort* _serial; + bool SerialState = false; + QList SendList; + QTimer* _sendTimer; + QString PortName; + QByteArray RecData; + +signals: + void serialCplt(bool state); + void serialMessage(QString text); + void ackToUi(quint8 cmd,QByteArray array); + void serialData(quint8 cmd,QByteArray array); + +public slots: + void serialRead(); +}; + + + + + +#endif // MAINWINDOW_H diff --git a/QT-APP/APP1_Taiko_IO_Setting/mainwindow.ui b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.ui new file mode 100644 index 0000000..9201fdd --- /dev/null +++ b/QT-APP/APP1_Taiko_IO_Setting/mainwindow.ui @@ -0,0 +1,2875 @@ + + + MainWindow + + + true + + + + 0 + 0 + 940 + 780 + + + + + 940 + 780 + + + + + 940 + 780 + + + + + 20 + true + + + + ArrowCursor + + + false + + + Qt::NoFocus + + + false + + + Taiko IO Setting + + + + :/new/prefix1/images/icon.png:/new/prefix1/images/icon.png + + + Qt::LeftToRight + + + + + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + + Arial + 15 + true + + + + Channel Setting + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 152 + 122 + + + + + 152 + 122 + + + + background-image: url(:/new/prefix1/images/tk.png); + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 152 + 122 + + + + + 152 + 122 + + + + background-image: url(:/new/prefix1/images/tk.png); + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + 12 + + + QLayout::SetDefaultConstraint + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 1 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 2 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 3 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 4 + + + 1 + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 5 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 6 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 7 + + + 1 + + + Qt::AlignCenter + + + + + + + + 30 + 40 + + + + + 30 + 40 + + + + + Arial + 15 + true + + + + Qt::StrongFocus + + + Qt::LeftToRight + + + 8 + + + 1 + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Vertical + + + + 20 + 20 + + + + + + + + Qt::Horizontal + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + + Arial + 15 + true + + + + Input Setting + + + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 2KR + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 2DL + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 1KR + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 1DL + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 2KL + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 4 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 2DR + + + + + + + + 60 + 40 + + + + + 60 + 40 + + + + + Arial + 15 + true + + + + 50 + + + 4 + + + + + + + + 0 + 40 + + + + + 1000 + 40 + + + + + Arial + 12 + true + + + + Trigger level + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 1KL + + + + + + + + 0 + 40 + + + + + 100 + 16777215 + + + + + Arial + 12 + true + + + + 1DR + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 1 + + + 100 + + + 1 + + + 50 + + + 50 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 150 + 40 + + + + + 1000 + 40 + + + + 0 + + + 255 + + + 1 + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 40 + 40 + + + + + 50 + 40 + + + + + Arial + 15 + true + + + + 100 + + + 3 + + + + + + + + 0 + 40 + + + + + 1000 + 40 + + + + + Arial + 12 + true + + + + Input MUL + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 50 + 40 + + + + + Arial + 15 + + + + C + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 400 + 0 + + + + + Arial + 15 + true + + + + Output Time Setting + + + + + + + + + + 200 + 40 + + + + + 1000 + 40 + + + + 2 + + + 50 + + + 1 + + + 1 + + + 20 + + + Qt::Horizontal + + + + + + + + 200 + 40 + + + + + 1000 + 40 + + + + 2 + + + 50 + + + 1 + + + 20 + + + Qt::Horizontal + + + + + + + + 40 + 40 + + + + + 16777215 + 40 + + + + + Arial + 15 + true + + + + H + + + Qt::AlignCenter + + + + + + + + 40 + 40 + + + + + 16777215 + 40 + + + + + Arial + 15 + true + + + + L + + + Qt::AlignCenter + + + + + + + + 40 + 40 + + + + + 40 + 40 + + + + + Arial + 15 + true + + + + 20 + + + 2 + + + + + + + + 40 + 40 + + + + + 40 + 40 + + + + + Arial + 15 + true + + + + 20 + + + 2 + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + + + 0 + 40 + + + + + 1000 + 40 + + + + + Arial + 15 + true + + + + Mute Setting + + + + + + + + 100 + 20 + + + + + Arial + 12 + true + + + + ON/OFF + + + true + + + + + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + Arial + 12 + true + + + + Calc Time + + + + + + + + 30 + 16777215 + + + + + Arial + 15 + + + + + + + true + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + Arial + 12 + true + + + + Single signal output + + + + + + + true + + + + 200 + 40 + + + + + 1000 + 40 + + + + 1 + + + 50 + + + 1 + + + 10 + + + Qt::Horizontal + + + + + + + true + + + + 40 + 40 + + + + + 40 + 40 + + + + + Arial + 15 + true + + + + 10 + + + 2 + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Horizontal + + + + + + + 20 + + + 20 + + + 0 + + + 20 + + + 0 + + + + + + 0 + 0 + + + + + 40 + 40 + + + + + 200 + 80 + + + + + Arial + 12 + + + + 下载大力鼓 默认é…ç½® + + + + + + + + 0 + 0 + + + + + 40 + 40 + + + + + 200 + 80 + + + + + Arial + 12 + + + + 下载街机鼓 默认é…ç½® + + + + + + + + + Qt::Horizontal + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + + Arial + 12 + true + + + + + + + + + + + 0 + 40 + + + + + 150 + 16777215 + + + + + Arial + 12 + true + + + + + Load Default + + + + + Load Saved + + + + + Load Running + + + + + + + + + 80 + 80 + + + + + 200 + 80 + + + + + + + + + + + :/new/prefix1/images/save.png:/new/prefix1/images/save.png + + + + 60 + 60 + + + + + + + + + 80 + 80 + + + + + 200 + 80 + + + + + + + + + + + :/new/prefix1/images/up.png:/new/prefix1/images/up.png + + + + 60 + 60 + + + + + + + + + 80 + 80 + + + + + 200 + 80 + + + + + + + + + + + :/new/prefix1/images/down.png:/new/prefix1/images/down.png + + + + 60 + 60 + + + + + + + + + Arial + 12 + true + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + Arial + 15 + 75 + true + true + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + + + + + + ClickedComboBox + QComboBox +

clickedcombobox.h
+ + + + ID1 + ID2 + ID3 + ID4 + ID5 + ID6 + ID7 + ID8 + ALL_TG + SL1 + ID1_TG + SL2 + ID2_TG + SL3 + ID3_TG + SL4 + ID4_TG + SL5 + ID5_TG + SL6 + ID6_TG + SL7 + ID7_TG + SL8 + ID8_TG + BT_ClearMul + SL1_mul + ID1_TG_mul + SL2_mul + ID2_TG_mul + SL3_mul + ID3_TG_mul + SL4_mul + ID4_TG_mul + SL5_mul + ID5_TG_mul + SL6_mul + ID6_TG_mul + SL7_mul + ID7_TG_mul + SL8_mul + ID8_TG_mul + SL_H + LB_H + SL_L + LB_L + CK_en_mute + CK_en_SSO + SL_MT_TIME + LB_MT_TIME + COM_LB + comboBox + BT_UP + BT_DN + BT_SV + + + + + + diff --git a/QT-APP/README.md b/QT-APP/README.md new file mode 100644 index 0000000..40ec15a --- /dev/null +++ b/QT-APP/README.md @@ -0,0 +1,53 @@ +# 上ä½æœº +QT,WIN64 + +使用串å£é…置采样å•ç‰‡æœºçš„å‚æ•° + +[采样å•ç‰‡æœºè½¯ä»¶](../Sampling-MCU/) +

+## 使用说明 + +### è½¯ä»¶ç•Œé¢ + +A-鼓传感器通é“顺åºé…ç½® + +B-输入é…ç½®-触å‘阈值(硬件上åšäº†è§¦å‘,软件é…置这里没有很明显的效果) + +C-输入é…ç½®-å€çŽ‡ï¼ˆå½“æŸä¸€è·¯ä¼ æ„Ÿå™¨å¼‚常çµæ•æˆ–ä¸çµæ•æ—¶é…置这里,C为å¤ä½ï¼‰ + +D-输出时间é…置,H为按下ä¿æŒæ—¶é—´ï¼ŒL为æ¾å¼€ä¿æŒæ—¶é—´ï¼Œä¿æŒæ—¶é—´å†…ä¸å“应其他输入 + +E-å±è”½é…置(用于计算鼓的物ç†ç»“构带æ¥çš„串音影å“) + +F-å±è”½é…ç½®-å•æ¬¡å“应(选择åŽæ¯æ¬¡åªä¼šè§¦å‘一个传感器) + +G-å±è”½é…ç½®-计算回åˆæ•° + +H-一些默认å‚æ•° + +I-串å£é€‰æ‹© + +J-选择上载æ¿ä¸Šçš„å‚数组 + +K-上载按键 + +L-下载按键(这一步ä¸ä¼šå­˜å‚¨ï¼‰ + +M-ä¿å­˜æŒ‰é”® + +N-è½¯ä»¶çŠ¶æ€ + +### é…ç½®æµç¨‹ + +1 选择串å£ï¼Œç‚¹å‡»ä¸Šè½½åŽï¼Œè½¯ä»¶çŠ¶æ€ä¸ºSuccess + +2 æ ¹æ®éœ€æ±‚é‡ç½®é¢„设å‚数, + +需è¦åœ¨æ¿ä¸Šå­˜å‚¨çš„基础上修改的,选择Load Savedå†æŒ‰ä¸Šè½½æŒ‰é”® + +需è¦åœ¨é»˜è®¤é…置基础上修改的,直接点按默认é…置按钮 + +3 修改åŽï¼Œç‚¹å‡»ä¸‹è½½æŒ‰é”®åŽï¼Œåœ¨é¼“上确认å‚数是å¦åˆç† + +4 点击ä¿å­˜æŒ‰é”® + diff --git a/README.md b/README.md new file mode 100644 index 0000000..ac63364 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# Taiko Input +太鼓输入接å£ï¼Œusb为HID设备,å¯ä»¥è¿žæŽ¥2个鼓和8通é“çš„æ•°å­—é‡è¾“入。 +## [硬件](./HW/) +## [USB-MCU](./USB-MCU/) +## [采样MCU](./Sampling-MCU/) +## [上ä½æœº](./QT-APP/) + + diff --git a/Sampling-MCU/.gitignore b/Sampling-MCU/.gitignore new file mode 100644 index 0000000..3a49b3e --- /dev/null +++ b/Sampling-MCU/.gitignore @@ -0,0 +1,79 @@ +# A .gitignore for Keil projects. +# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm + +# User-specific uVision files +*.opt +*.uvopt +*.uvoptx +*.uvgui +*.uvgui.* +*.uvguix.* + +# Listing files +*.cod +*.htm +*.i +*.lst +*.map +*.m51 +*.m66 +# define exception below if needed +*.scr + +# Object and HEX files +*.axf +*.b[0-3][0-9] +*.d +*.crf +*.elf +*.h86 +*.lib +*.obj +*.o +*.sbr +*.hex + +# Build files +# define exception below if needed +*.bat +*._ia +*.__i +*._ii + +# Generated output files +/Listings/* +/Objects/* + +# Debugger files +# define exception below if needed +*.ini + +# Other files +*.build_log.htm +*.cdb +*.dep +*.ic +*.lin +*.lnp +*.orc +# define exception below if needed +*.pack +# define exception below if needed +*.pdsc +*.plg +# define exception below if needed +*.sct +*.sfd +*.sfr + +# Miscellaneous +*.tra +*.bin +*.fed +*.l1p +*.l2p +*.iex + +# To explicitly override the above, define any exceptions here; e.g.: +# !my_customized_scatter_file.sct + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/.mxproject b/Sampling-MCU/8chV3_WithCH552_V1.1/.mxproject new file mode 100644 index 0000000..fb00d0b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/.mxproject @@ -0,0 +1,28 @@ +[PreviousLibFiles] +LibFiles=Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_adc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_rcc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash_ramfunc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cortex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_def.h;Drivers/STM32G0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_exti.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_iwdg.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart_ex.h;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc_ex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_adc.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc_ex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rcc.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_gpio.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma_ex.c;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dma.h;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_dma.c;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dmamux.h;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr_ex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cortex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_iwdg.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim_ex.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart.c;Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart_ex.c;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_adc_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_adc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_rcc_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_rcc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_flash_ramfunc.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_gpio_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_dma_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_pwr_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_cortex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_def.h;Drivers/STM32G0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_exti.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_iwdg.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_tim_ex.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart.h;Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_uart_ex.h;Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g030xx.h;Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g0xx.h;Drivers/CMSIS/Device/ST/STM32G0xx/Include/system_stm32g0xx.h;Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/system_stm32g0xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; + +[PreviousUsedKeilFiles] +SourceFiles=..\Core\Src\main.c;..\Core\Src\stm32g0xx_it.c;..\Core\Src\stm32g0xx_hal_msp.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_adc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rcc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_gpio.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_dma.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cortex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_iwdg.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart_ex.c;..\Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/system_stm32g0xx.c;..\Core\Src/system_stm32g0xx.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_adc_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_adc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_rcc_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_rcc.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_flash_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_gpio.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_dma_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_dma.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_pwr_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_cortex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_iwdg.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_tim_ex.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart.c;..\Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_uart_ex.c;..\Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/system_stm32g0xx.c;..\Core\Src/system_stm32g0xx.c;;; +HeaderPath=..\Drivers\STM32G0xx_HAL_Driver\Inc;..\Drivers\STM32G0xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32G0xx\Include;..\Drivers\CMSIS\Include;..\Core\Inc; +CDefines=USE_HAL_DRIVER;STM32G030xx;USE_HAL_DRIVER;USE_HAL_DRIVER; + +[] +SourceFiles=;; + +[PreviousGenFiles] +AdvancedFolderStructure=true +HeaderFileListSize=3 +HeaderFiles#0=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Inc/stm32g0xx_it.h +HeaderFiles#1=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Inc/stm32g0xx_hal_conf.h +HeaderFiles#2=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Inc/main.h +HeaderFolderListSize=1 +HeaderPath#0=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Inc +HeaderFiles=; +SourceFileListSize=3 +SourceFiles#0=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Src/stm32g0xx_it.c +SourceFiles#1=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Src/stm32g0xx_hal_msp.c +SourceFiles#2=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Src/main.c +SourceFolderListSize=1 +SourcePath#0=E:/OneDrive/Work/other/namco/8chV3_WithCH552/Core/Src +SourceFiles=; + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/8ch.ioc b/Sampling-MCU/8chV3_WithCH552_V1.1/8ch.ioc new file mode 100644 index 0000000..be1b239 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/8ch.ioc @@ -0,0 +1,322 @@ +#MicroXplorer Configuration settings - do not modify +ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_0 +ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 +ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_2 +ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_3 +ADC1.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_4 +ADC1.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_5 +ADC1.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_6 +ADC1.Channel-7\#ChannelRegularConversion=ADC_CHANNEL_7 +ADC1.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1 +ADC1.ContinuousConvMode=ENABLE +ADC1.DMAContinuousRequests=ENABLE +ADC1.ExternalTrigConv=ADC_SOFTWARE_START +ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,master,SelectedChannel,ContinuousConvMode,NbrOfConversion,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,Rank-7\#ChannelRegularConversion,Channel-7\#ChannelRegularConversion,SamplingTime-7\#ChannelRegularConversion,ExternalTrigConv,DMAContinuousRequests,SamplingTimeCommon1,SamplingTimeCommon2,ClockPrescaler +ADC1.NbrOfConversion=8 +ADC1.NbrOfConversionFlag=1 +ADC1.Rank-0\#ChannelRegularConversion=1 +ADC1.Rank-1\#ChannelRegularConversion=2 +ADC1.Rank-2\#ChannelRegularConversion=3 +ADC1.Rank-3\#ChannelRegularConversion=4 +ADC1.Rank-4\#ChannelRegularConversion=5 +ADC1.Rank-5\#ChannelRegularConversion=6 +ADC1.Rank-6\#ChannelRegularConversion=7 +ADC1.Rank-7\#ChannelRegularConversion=8 +ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTime-7\#ChannelRegularConversion=ADC_SAMPLINGTIME_COMMON_1 +ADC1.SamplingTimeCommon1=ADC_SAMPLETIME_79CYCLES_5 +ADC1.SamplingTimeCommon2=ADC_SAMPLETIME_79CYCLES_5 +ADC1.SelectedChannel=ADC_CHANNEL_0|ADC_CHANNEL_1|ADC_CHANNEL_2|ADC_CHANNEL_3|ADC_CHANNEL_4|ADC_CHANNEL_5|ADC_CHANNEL_6|ADC_CHANNEL_7 +ADC1.master=1 +Dma.ADC1.1.Direction=DMA_PERIPH_TO_MEMORY +Dma.ADC1.1.EventEnable=DISABLE +Dma.ADC1.1.Instance=DMA1_Channel2 +Dma.ADC1.1.MemDataAlignment=DMA_MDATAALIGN_HALFWORD +Dma.ADC1.1.MemInc=DMA_MINC_ENABLE +Dma.ADC1.1.Mode=DMA_CIRCULAR +Dma.ADC1.1.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD +Dma.ADC1.1.PeriphInc=DMA_PINC_DISABLE +Dma.ADC1.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.ADC1.1.Priority=DMA_PRIORITY_VERY_HIGH +Dma.ADC1.1.RequestNumber=1 +Dma.ADC1.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.ADC1.1.SignalID=NONE +Dma.ADC1.1.SyncEnable=DISABLE +Dma.ADC1.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.ADC1.1.SyncRequestNumber=1 +Dma.ADC1.1.SyncSignalID=NONE +Dma.Request0=USART1_TX +Dma.Request1=ADC1 +Dma.RequestsNb=2 +Dma.USART1_TX.0.Direction=DMA_MEMORY_TO_PERIPH +Dma.USART1_TX.0.EventEnable=DISABLE +Dma.USART1_TX.0.Instance=DMA1_Channel1 +Dma.USART1_TX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART1_TX.0.MemInc=DMA_MINC_ENABLE +Dma.USART1_TX.0.Mode=DMA_NORMAL +Dma.USART1_TX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART1_TX.0.PeriphInc=DMA_PINC_DISABLE +Dma.USART1_TX.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.USART1_TX.0.Priority=DMA_PRIORITY_LOW +Dma.USART1_TX.0.RequestNumber=1 +Dma.USART1_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.USART1_TX.0.SignalID=NONE +Dma.USART1_TX.0.SyncEnable=DISABLE +Dma.USART1_TX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.USART1_TX.0.SyncRequestNumber=1 +Dma.USART1_TX.0.SyncSignalID=NONE +File.Version=6 +GPIO.groupedBy=Group By Peripherals +IWDG.IPParameters=Prescaler +IWDG.Prescaler=IWDG_PRESCALER_128 +KeepUserPlacement=false +Mcu.CPN=STM32G030K6T6 +Mcu.Family=STM32G0 +Mcu.IP0=ADC1 +Mcu.IP1=DMA +Mcu.IP2=IWDG +Mcu.IP3=NVIC +Mcu.IP4=RCC +Mcu.IP5=SYS +Mcu.IP6=TIM14 +Mcu.IP7=USART1 +Mcu.IPNb=8 +Mcu.Name=STM32G030K(6-8)Tx +Mcu.Package=LQFP32 +Mcu.Pin0=PB9 +Mcu.Pin1=PC14-OSC32_IN (PC14) +Mcu.Pin10=PA7 +Mcu.Pin11=PB0 +Mcu.Pin12=PB1 +Mcu.Pin13=PB2 +Mcu.Pin14=PA8 +Mcu.Pin15=PA9 +Mcu.Pin16=PA10 +Mcu.Pin17=PA13 +Mcu.Pin18=PA14-BOOT0 +Mcu.Pin19=PB3 +Mcu.Pin2=PC15-OSC32_OUT (PC15) +Mcu.Pin20=PB4 +Mcu.Pin21=PB5 +Mcu.Pin22=PB6 +Mcu.Pin23=PB7 +Mcu.Pin24=PB8 +Mcu.Pin25=VP_IWDG_VS_IWDG +Mcu.Pin26=VP_SYS_VS_Systick +Mcu.Pin27=VP_TIM14_VS_ClockSourceINT +Mcu.Pin3=PA0 +Mcu.Pin4=PA1 +Mcu.Pin5=PA2 +Mcu.Pin6=PA3 +Mcu.Pin7=PA4 +Mcu.Pin8=PA5 +Mcu.Pin9=PA6 +Mcu.PinsNb=28 +Mcu.ThirdPartyNb=0 +Mcu.UserConstants= +Mcu.UserName=STM32G030K6Tx +MxCube.Version=6.3.0 +MxDb.Version=DB.6.0.30 +NVIC.DMA1_Channel1_IRQn=true\:2\:0\:true\:false\:true\:false\:true\:true +NVIC.DMA1_Channel2_3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true +NVIC.ForceEnableDMAVector=true +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true +NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true +NVIC.SysTick_IRQn=true\:1\:0\:true\:false\:true\:false\:true\:true +NVIC.TIM14_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true +NVIC.USART1_IRQn=true\:1\:0\:true\:false\:true\:true\:true\:true +PA0.GPIOParameters=GPIO_Label +PA0.GPIO_Label=IN1 +PA0.Locked=true +PA0.Mode=IN0 +PA0.Signal=ADC1_IN0 +PA1.GPIOParameters=GPIO_Label +PA1.GPIO_Label=IN2 +PA1.Locked=true +PA1.Mode=IN1 +PA1.Signal=ADC1_IN1 +PA10.GPIOParameters=GPIO_PuPd +PA10.GPIO_PuPd=GPIO_PULLUP +PA10.Mode=Asynchronous +PA10.Signal=USART1_RX +PA13.GPIOParameters=GPIO_Label +PA13.GPIO_Label=SWDIO +PA13.Mode=Serial_Wire +PA13.Signal=SYS_SWDIO +PA14-BOOT0.GPIOParameters=GPIO_Label +PA14-BOOT0.GPIO_Label=SWCLK +PA14-BOOT0.Mode=Serial_Wire +PA14-BOOT0.Signal=SYS_SWCLK +PA2.GPIOParameters=GPIO_Label +PA2.GPIO_Label=IN3 +PA2.Locked=true +PA2.Mode=IN2 +PA2.Signal=ADC1_IN2 +PA3.GPIOParameters=GPIO_Label +PA3.GPIO_Label=IN4 +PA3.Locked=true +PA3.Mode=IN3 +PA3.Signal=ADC1_IN3 +PA4.GPIOParameters=GPIO_Label +PA4.GPIO_Label=IN5 +PA4.Locked=true +PA4.Mode=IN4 +PA4.Signal=ADC1_IN4 +PA5.GPIOParameters=GPIO_Label +PA5.GPIO_Label=IN6 +PA5.Locked=true +PA5.Mode=IN5 +PA5.Signal=ADC1_IN5 +PA6.GPIOParameters=GPIO_Label +PA6.GPIO_Label=IN7 +PA6.Locked=true +PA6.Mode=IN6 +PA6.Signal=ADC1_IN6 +PA7.GPIOParameters=GPIO_Label +PA7.GPIO_Label=IN8 +PA7.Locked=true +PA7.Mode=IN7 +PA7.Signal=ADC1_IN7 +PA8.GPIOParameters=GPIO_Label +PA8.GPIO_Label=LED_STA +PA8.Locked=true +PA8.Signal=GPIO_Output +PA9.GPIOParameters=GPIO_PuPd +PA9.GPIO_PuPd=GPIO_PULLUP +PA9.Mode=Asynchronous +PA9.Signal=USART1_TX +PB0.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode +PB0.GPIO_Label=SET2 +PB0.GPIO_Mode=GPIO_MODE_INPUT +PB0.GPIO_PuPd=GPIO_PULLUP +PB0.Locked=true +PB0.Signal=GPIO_Input +PB1.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode +PB1.GPIO_Label=SET1 +PB1.GPIO_Mode=GPIO_MODE_INPUT +PB1.GPIO_PuPd=GPIO_PULLUP +PB1.Locked=true +PB1.Signal=GPIO_Input +PB2.GPIOParameters=GPIO_PuPd,GPIO_Label +PB2.GPIO_Label=OUT8 +PB2.GPIO_PuPd=GPIO_NOPULL +PB2.Locked=true +PB2.Signal=GPIO_Output +PB3.GPIOParameters=GPIO_PuPd,GPIO_Label +PB3.GPIO_Label=OUT7 +PB3.GPIO_PuPd=GPIO_NOPULL +PB3.Locked=true +PB3.Signal=GPIO_Output +PB4.GPIOParameters=GPIO_PuPd,GPIO_Label +PB4.GPIO_Label=OUT6 +PB4.GPIO_PuPd=GPIO_NOPULL +PB4.Locked=true +PB4.Signal=GPIO_Output +PB5.GPIOParameters=GPIO_Label +PB5.GPIO_Label=OUT5 +PB5.Locked=true +PB5.Signal=GPIO_Output +PB6.GPIOParameters=GPIO_Label +PB6.GPIO_Label=OUT4 +PB6.Locked=true +PB6.Signal=GPIO_Output +PB7.GPIOParameters=GPIO_Label +PB7.GPIO_Label=OUT3 +PB7.Locked=true +PB7.Signal=GPIO_Output +PB8.GPIOParameters=GPIO_Label +PB8.GPIO_Label=OUT2 +PB8.Locked=true +PB8.Signal=GPIO_Output +PB9.GPIOParameters=GPIO_Label +PB9.GPIO_Label=OUT1 +PB9.Locked=true +PB9.Signal=GPIO_Output +PC14-OSC32_IN\ (PC14).GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode +PC14-OSC32_IN\ (PC14).GPIO_Label=SET3 +PC14-OSC32_IN\ (PC14).GPIO_Mode=GPIO_MODE_INPUT +PC14-OSC32_IN\ (PC14).GPIO_PuPd=GPIO_PULLUP +PC14-OSC32_IN\ (PC14).Locked=true +PC14-OSC32_IN\ (PC14).Signal=GPIO_Input +PC15-OSC32_OUT\ (PC15).GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode +PC15-OSC32_OUT\ (PC15).GPIO_Label=SET4 +PC15-OSC32_OUT\ (PC15).GPIO_Mode=GPIO_MODE_INPUT +PC15-OSC32_OUT\ (PC15).GPIO_PuPd=GPIO_PULLUP +PC15-OSC32_OUT\ (PC15).Locked=true +PC15-OSC32_OUT\ (PC15).Signal=GPIO_Input +PinOutPanel.RotationAngle=0 +ProjectManager.AskForMigrate=true +ProjectManager.BackupPrevious=false +ProjectManager.CompilerOptimize=6 +ProjectManager.ComputerToolchain=false +ProjectManager.CoupleFile=false +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true +ProjectManager.DeletePrevious=true +ProjectManager.DeviceId=STM32G030K6Tx +ProjectManager.FirmwarePackage=STM32Cube FW_G0 V1.5.0 +ProjectManager.FreePins=false +ProjectManager.HalAssertFull=false +ProjectManager.HeapSize=0x200 +ProjectManager.KeepUserCode=true +ProjectManager.LastFirmware=true +ProjectManager.LibraryCopy=0 +ProjectManager.MainLocation=Core/Src +ProjectManager.NoMain=false +ProjectManager.PreviousToolchain= +ProjectManager.ProjectBuild=false +ProjectManager.ProjectFileName=8ch.ioc +ProjectManager.ProjectName=8ch +ProjectManager.RegisterCallBack= +ProjectManager.StackSize=0x400 +ProjectManager.TargetToolchain=MDK-ARM V5.32 +ProjectManager.ToolChainLocation= +ProjectManager.UnderRoot=false +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_IWDG_Init-IWDG-false-HAL-true,4-MX_DMA_Init-DMA-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_TIM14_Init-TIM14-false-HAL-true,7-MX_ADC1_Init-ADC1-false-HAL-true +RCC.ADCFreq_Value=64000000 +RCC.AHBFreq_Value=64000000 +RCC.APBFreq_Value=64000000 +RCC.APBTimFreq_Value=64000000 +RCC.CortexFreq_Value=64000000 +RCC.EXTERNAL_CLOCK_VALUE=12288000 +RCC.FCLKCortexFreq_Value=64000000 +RCC.FamilyName=M +RCC.HCLKFreq_Value=64000000 +RCC.HSE_VALUE=8000000 +RCC.HSI_VALUE=16000000 +RCC.I2C1Freq_Value=64000000 +RCC.I2S1Freq_Value=64000000 +RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APBFreq_Value,APBTimFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,I2S1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLPoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value +RCC.LSCOPinFreq_Value=32000 +RCC.LSE_VALUE=32768 +RCC.LSI_VALUE=32000 +RCC.MCO1PinFreq_Value=64000000 +RCC.PLLPoutputFreq_Value=64000000 +RCC.PLLRCLKFreq_Value=64000000 +RCC.PWRFreq_Value=64000000 +RCC.SYSCLKFreq_VALUE=64000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.USART1Freq_Value=64000000 +RCC.VCOInputFreq_Value=16000000 +RCC.VCOOutputFreq_Value=128000000 +TIM14.IPParameters=Period,Prescaler +TIM14.Period=64000 +TIM14.Prescaler=32 - 1 +USART1.BaudRate=9600 +USART1.IPParameters=VirtualMode-Asynchronous,BaudRate +USART1.VirtualMode-Asynchronous=VM_ASYNC +VP_IWDG_VS_IWDG.Mode=IWDG_Activate +VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG +VP_SYS_VS_Systick.Mode=SysTick +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +VP_TIM14_VS_ClockSourceINT.Mode=Enable_Timer +VP_TIM14_VS_ClockSourceINT.Signal=TIM14_VS_ClockSourceINT +board=custom diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/main.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/main.h new file mode 100644 index 0000000..f350e3c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/main.h @@ -0,0 +1,182 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.h + * @brief : Header for main.c file. + * This file contains the common defines of the application. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32g0xx_hal.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +#include "string.h" + + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void Error_Handler(void); + +/* USER CODE BEGIN EFP */ + +//#define IS_4CH_MODE + +#ifndef IS_4CH_MODE +extern uint8_t SET_1; +extern uint8_t SET_2; +extern uint8_t SET_3; +extern uint8_t SET_4; +#endif + +extern ADC_HandleTypeDef hadc1; +extern DMA_HandleTypeDef hdma_adc1; + +extern IWDG_HandleTypeDef hiwdg; + +extern TIM_HandleTypeDef htim14; + +extern UART_HandleTypeDef huart1; +extern DMA_HandleTypeDef hdma_usart1_tx; + + +uint8_t CloseIrqAndSave(void); +void CloseIrqAndActive(uint8_t data); + + +#ifdef IS_4CH_MODE + +#define OUT2_Pin GPIO_PIN_14 +#define OUT2_GPIO_Port GPIOC +#define OUT3_Pin GPIO_PIN_15 +#define OUT3_GPIO_Port GPIOC +#define IN1_Pin GPIO_PIN_0 +#define IN1_GPIO_Port GPIOA +#define IN2_Pin GPIO_PIN_1 +#define IN2_GPIO_Port GPIOA +#define IN3_Pin GPIO_PIN_2 +#define IN3_GPIO_Port GPIOA +#define IN4_Pin GPIO_PIN_3 +#define IN4_GPIO_Port GPIOA +#define IN5_Pin GPIO_PIN_4 +#define IN5_GPIO_Port GPIOA +#define IN6_Pin GPIO_PIN_5 +#define IN6_GPIO_Port GPIOA +#define IN7_Pin GPIO_PIN_6 +#define IN7_GPIO_Port GPIOA +#define IN8_Pin GPIO_PIN_7 +#define IN8_GPIO_Port GPIOA +#define LED_STA_Pin GPIO_PIN_8 +#define LED_STA_GPIO_Port GPIOA +#define OUT1_Pin GPIO_PIN_11 +#define OUT1_GPIO_Port GPIOA +#define OUT4_Pin GPIO_PIN_12 +#define OUT4_GPIO_Port GPIOA +#define SWDIO_Pin GPIO_PIN_13 +#define SWDIO_GPIO_Port GPIOA +#define SWCLK_Pin GPIO_PIN_14 +#define SWCLK_GPIO_Port GPIOA + +#else + + +/* USER CODE END EFP */ + +/* Private defines -----------------------------------------------------------*/ +#define OUT1_Pin GPIO_PIN_9 +#define OUT1_GPIO_Port GPIOB +#define SET3_Pin GPIO_PIN_14 +#define SET3_GPIO_Port GPIOC +#define SET4_Pin GPIO_PIN_15 +#define SET4_GPIO_Port GPIOC +#define IN1_Pin GPIO_PIN_0 +#define IN1_GPIO_Port GPIOA +#define IN2_Pin GPIO_PIN_1 +#define IN2_GPIO_Port GPIOA +#define IN3_Pin GPIO_PIN_2 +#define IN3_GPIO_Port GPIOA +#define IN4_Pin GPIO_PIN_3 +#define IN4_GPIO_Port GPIOA +#define IN5_Pin GPIO_PIN_4 +#define IN5_GPIO_Port GPIOA +#define IN6_Pin GPIO_PIN_5 +#define IN6_GPIO_Port GPIOA +#define IN7_Pin GPIO_PIN_6 +#define IN7_GPIO_Port GPIOA +#define IN8_Pin GPIO_PIN_7 +#define IN8_GPIO_Port GPIOA +#define SET2_Pin GPIO_PIN_0 +#define SET2_GPIO_Port GPIOB +#define SET1_Pin GPIO_PIN_1 +#define SET1_GPIO_Port GPIOB +#define OUT8_Pin GPIO_PIN_2 +#define OUT8_GPIO_Port GPIOB +#define LED_STA_Pin GPIO_PIN_8 +#define LED_STA_GPIO_Port GPIOA +#define SWDIO_Pin GPIO_PIN_13 +#define SWDIO_GPIO_Port GPIOA +#define SWCLK_Pin GPIO_PIN_14 +#define SWCLK_GPIO_Port GPIOA +#define OUT7_Pin GPIO_PIN_3 +#define OUT7_GPIO_Port GPIOB +#define OUT6_Pin GPIO_PIN_4 +#define OUT6_GPIO_Port GPIOB +#define OUT5_Pin GPIO_PIN_5 +#define OUT5_GPIO_Port GPIOB +#define OUT4_Pin GPIO_PIN_6 +#define OUT4_GPIO_Port GPIOB +#define OUT3_Pin GPIO_PIN_7 +#define OUT3_GPIO_Port GPIOB +#define OUT2_Pin GPIO_PIN_8 +#define OUT2_GPIO_Port GPIOB +/* USER CODE BEGIN Private defines */ + +#endif + +/* USER CODE END Private defines */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MAIN_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_hal_conf.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_hal_conf.h new file mode 100644 index 0000000..249830f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_hal_conf.h @@ -0,0 +1,352 @@ +/** + ****************************************************************************** + * @file stm32g0xx_hal_conf.h + * @author MCD Application Team + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2018 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32G0xx_HAL_CONF_H +#define STM32G0xx_HAL_CONF_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_COMP_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +/* #define HAL_DAC_MODULE_ENABLED */ +/* #define HAL_EXTI_MODULE_ENABLED */ +/* #define HAL_FDCAN_MODULE_ENABLED */ +/* #define HAL_HCD_MODULE_ENABLED */ +/* #define HAL_I2C_MODULE_ENABLED */ +/* #define HAL_I2S_MODULE_ENABLED */ +#define HAL_IWDG_MODULE_ENABLED +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_PCD_MODULE_ENABLED */ +/* #define HAL_RNG_MODULE_ENABLED */ +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_SPI_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +#define HAL_EXTI_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED + +/* ########################## Register Callbacks selection ############################## */ +/** + * @brief This is the list of modules where register callback can be used + */ +#define USE_HAL_ADC_REGISTER_CALLBACKS 0u +#define USE_HAL_CEC_REGISTER_CALLBACKS 0u +#define USE_HAL_COMP_REGISTER_CALLBACKS 0u +#define USE_HAL_CRYP_REGISTER_CALLBACKS 0u +#define USE_HAL_DAC_REGISTER_CALLBACKS 0u +#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0u +#define USE_HAL_HCD_REGISTER_CALLBACKS 0u +#define USE_HAL_I2C_REGISTER_CALLBACKS 0u +#define USE_HAL_I2S_REGISTER_CALLBACKS 0u +#define USE_HAL_IRDA_REGISTER_CALLBACKS 0u +#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0u +#define USE_HAL_PCD_REGISTER_CALLBACKS 0u +#define USE_HAL_RNG_REGISTER_CALLBACKS 0u +#define USE_HAL_RTC_REGISTER_CALLBACKS 0u +#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0u +#define USE_HAL_SPI_REGISTER_CALLBACKS 0u +#define USE_HAL_TIM_REGISTER_CALLBACKS 0u +#define USE_HAL_UART_REGISTER_CALLBACKS 0u +#define USE_HAL_USART_REGISTER_CALLBACKS 0u +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0u + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#define HSE_VALUE (8000000UL) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) +#define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) +#define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +#if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx) +/** + * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG. + * This internal oscillator is mainly dedicated to provide a high precision clock to + * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry. + * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency + * which is subject to manufacturing process variations. + */ +#if !defined (HSI48_VALUE) + #define HSI48_VALUE 48000000U /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz. + The real value my vary depending on manufacturing process variations.*/ +#endif /* HSI48_VALUE */ +#endif + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) +#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz +The real value may vary depending on the variations +in voltage and temperature.*/ +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) +#define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) +#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S1 peripheral + * This value is used by the RCC HAL module to compute the I2S1 clock source + * frequency. + */ +#if !defined (EXTERNAL_I2S1_CLOCK_VALUE) +#define EXTERNAL_I2S1_CLOCK_VALUE (12288000UL) /*!< Value of the I2S1 External clock source in Hz*/ +#endif /* EXTERNAL_I2S1_CLOCK_VALUE */ + +#if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx) +/** + * @brief External clock source for I2S2 peripheral + * This value is used by the RCC HAL module to compute the I2S2 clock source + * frequency. + */ +#if !defined (EXTERNAL_I2S2_CLOCK_VALUE) + #define EXTERNAL_I2S2_CLOCK_VALUE 48000U /*!< Value of the I2S2 External clock source in Hz*/ +#endif /* EXTERNAL_I2S2_CLOCK_VALUE */ +#endif + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY 1U /*!< tick interrupt priority */ +#define USE_RTOS 0U +#define PREFETCH_ENABLE 1U +#define INSTRUCTION_CACHE_ENABLE 1U + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 0U + +/* ################## CRYP peripheral configuration ########################## */ + +#define USE_HAL_CRYP_SUSPEND_RESUME 1U + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include modules header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED +#include "stm32g0xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED +#include "stm32g0xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED +#include "stm32g0xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED +#include "stm32g0xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED +#include "stm32g0xx_hal_adc.h" +#include "stm32g0xx_hal_adc_ex.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED +#include "stm32g0xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED +#include "stm32g0xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED +#include "stm32g0xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED +#include "stm32g0xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED +#include "stm32g0xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED +#include "stm32g0xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED +#include "stm32g0xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_FDCAN_MODULE_ENABLED +#include "stm32g0xx_hal_fdcan.h" +#endif /* HAL_FDCAN_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED +#include "stm32g0xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED +#include "stm32g0xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED +#include "stm32g0xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED +#include "stm32g0xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED +#include "stm32g0xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED +#include "stm32g0xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED +#include "stm32g0xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED +#include "stm32g0xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED +#include "stm32g0xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED +#include "stm32g0xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED +#include "stm32g0xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED +#include "stm32g0xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED +#include "stm32g0xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED +#include "stm32g0xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED +#include "stm32g0xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED +#include "stm32g0xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED +#include "stm32g0xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for functions parameters check. + * @param expr If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ +#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ +void assert_failed(uint8_t *file, uint32_t line); +#else +#define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* STM32G0xx_HAL_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_it.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_it.h new file mode 100644 index 0000000..eeea2fd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Inc/stm32g0xx_it.h @@ -0,0 +1,69 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32g0xx_it.h + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32G0xx_IT_H +#define __STM32G0xx_IT_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void NMI_Handler(void); +void HardFault_Handler(void); +void SVC_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void DMA1_Channel1_IRQHandler(void); +void DMA1_Channel2_3_IRQHandler(void); +void TIM14_IRQHandler(void); +void USART1_IRQHandler(void); +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32G0xx_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/main.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/main.c new file mode 100644 index 0000000..f5d39ef --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/main.c @@ -0,0 +1,1275 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "save.h" + + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +ADC_HandleTypeDef hadc1; +DMA_HandleTypeDef hdma_adc1; + +IWDG_HandleTypeDef hiwdg; + +TIM_HandleTypeDef htim14; + +UART_HandleTypeDef huart1; +DMA_HandleTypeDef hdma_usart1_tx; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_IWDG_Init(void); +static void MX_DMA_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_TIM14_Init(void); +static void MX_ADC1_Init(void); +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +#ifdef IS_4CH_MODE + +#define ADC_BUFFER_SIZE 10 +#define ADC_LIST_SIZE 6 +#define ADC_CHANNEL_NUM 8 +#define CHANNEL_NUM 4 + +#else + +#define ADC_BUFFER_SIZE 10 +#define ADC_LIST_SIZE 6 +#define ADC_CHANNEL_NUM 8 +#define CHANNEL_NUM 8 + +#endif + + +uint8_t POWER_ON_EN = 0; + +// +void GPIO_Output(uint8_t IO, uint8_t state){ + switch(IO){ + case 0:if(state)OUT1_GPIO_Port->BSRR = (uint32_t)OUT1_Pin;else OUT1_GPIO_Port->BRR = (uint32_t)OUT1_Pin;break; + case 1:if(state)OUT2_GPIO_Port->BSRR = (uint32_t)OUT2_Pin;else OUT2_GPIO_Port->BRR = (uint32_t)OUT2_Pin;break; + case 2:if(state)OUT3_GPIO_Port->BSRR = (uint32_t)OUT3_Pin;else OUT3_GPIO_Port->BRR = (uint32_t)OUT3_Pin;break; + case 3:if(state)OUT4_GPIO_Port->BSRR = (uint32_t)OUT4_Pin;else OUT4_GPIO_Port->BRR = (uint32_t)OUT4_Pin;break; +#ifndef IS_4CH_MODE + case 4:if(state)OUT5_GPIO_Port->BSRR = (uint32_t)OUT5_Pin;else OUT5_GPIO_Port->BRR = (uint32_t)OUT5_Pin;break; + case 5:if(state)OUT6_GPIO_Port->BSRR = (uint32_t)OUT6_Pin;else OUT6_GPIO_Port->BRR = (uint32_t)OUT6_Pin;break; + case 6:if(state)OUT7_GPIO_Port->BSRR = (uint32_t)OUT7_Pin;else OUT7_GPIO_Port->BRR = (uint32_t)OUT7_Pin;break; + case 7:if(state)OUT8_GPIO_Port->BSRR = (uint32_t)OUT8_Pin;else OUT8_GPIO_Port->BRR = (uint32_t)OUT8_Pin;break; +#endif + } +} + +uint16_t OutListFerq = 1000; //us + +volatile uint16_t I_Buffer = 0; +volatile uint16_t O_Buffer = 0; +volatile uint16_t O_CountDown[CHANNEL_NUM] = {0}; + +volatile uint16_t ADC_Buffer[ADC_BUFFER_SIZE][ADC_CHANNEL_NUM]; +volatile uint16_t ADC_List[ADC_CHANNEL_NUM][ADC_LIST_SIZE]; +volatile uint16_t ADC_Now[ADC_CHANNEL_NUM]; + +volatile uint16_t ADC_Zero[ADC_CHANNEL_NUM] = {0}; + +volatile uint8_t InputCount[CHANNEL_NUM] = {0}; +volatile uint16_t InputLevel_MAX[CHANNEL_NUM] = {0}; +volatile uint16_t InputLevel_Now[CHANNEL_NUM] = {0}; + + +uint8_t SystemError = 0; +uint8_t SystemTest = 0; + +#ifndef IS_4CH_MODE +uint8_t SET_1 = 0; +uint8_t SET_2 = 0; +uint8_t SET_3 = 0; +uint8_t SET_4 = 0; +#endif +//Êä³öº¯Êý +void IO_OutputList(void){ + + for(uint8_t i = 0; i < CHANNEL_NUM; i ++){ + if(O_Buffer & (1 << i)){ + + if(POWER_ON_EN) + GPIO_Output(i, SystemSet.OutLoLength < O_CountDown[i]); + + O_CountDown[i]--; + + if(O_CountDown[i] == 0){ + O_Buffer &= ~(1 << i); + I_Buffer &= ~(1 << i); + } + } + else{ + O_CountDown[i] = 0; + GPIO_Output(i, 0); + } + } +} + + +//Çå³ý²Ù×÷ +void DoMute(uint8_t ID){ + I_Buffer &= ~(1 << ID); + InputCount[ID] = 0; + InputLevel_MAX[ID] = 0; +} + +//²Ù×÷Êä³ö +void DoOutput(uint8_t ID){ + + UartDebug(); + + //Çå³ýÕû×éÒì¶Ë + if(SystemSet.ADC_Mute_Side){ + + if(ID > 3){ + DoMute(4); + DoMute(5); + DoMute(6); + DoMute(7); + } + else{ + DoMute(0); + DoMute(1); + DoMute(2); + DoMute(3); + } + + } + else{ + + if(ID == 0 || ID == 3){ + DoMute(1); + DoMute(2); + } + else if(ID == 1 || ID == 2){ + DoMute(0); + DoMute(3); + } + else if(ID == 4 || ID == 7){ + DoMute(5); + DoMute(6); + } + else if(ID == 5 || ID == 6){ + DoMute(4); + DoMute(7); + } + else return; + + DoMute(ID); + + } + + //allow output + O_Buffer |= 1 << ID; + O_CountDown[ID] = SystemSet.OutHiLength + SystemSet.OutLoLength; + //here need to make all channel mute +} + + +void REG_Output(uint8_t ID,uint16_t Level){ + + //Ê×´ÎµÇ¼Ç + if(((I_Buffer>>ID)&1) == 0){ + I_Buffer |= 1< InputLevel_MAX[ID]){ + InputLevel_MAX[ID] = Level; + } + +} + +//²éÕÒ×î´óÖµ£¬½öÓÃÓڵǼǺó +uint8_t CheckAdcMax(uint8_t ID, uint16_t* pValueList){ + + uint16_t ADC_Value = pValueList[ID]; + + if(SystemSet.ADC_Mute_Side){ + + switch(ID){ + //1P + case 0: + if( + ADC_Value < pValueList[1] + ||ADC_Value < pValueList[2] + ||ADC_Value < pValueList[3] + ){ + return 0; + } + else{ + return 1; + } + + case 1: + if( + ADC_Value < pValueList[0] + ||ADC_Value < pValueList[2] + ||ADC_Value < pValueList[3] + ){ + return 0; + } + else{ + return 1; + } + + case 2: + if( + ADC_Value < pValueList[1] + ||ADC_Value < pValueList[0] + ||ADC_Value < pValueList[3] + ){ + return 0; + } + else{ + return 1; + } + + case 3: + if( + ADC_Value < pValueList[1] + ||ADC_Value < pValueList[2] + ||ADC_Value < pValueList[0] + ){ + return 0; + } + else{ + return 1; + } + + //2P + case 4: + if( + ADC_Value < pValueList[5] + ||ADC_Value < pValueList[6] + ||ADC_Value < pValueList[7] + ){ + return 0; + } + else{ + return 1; + } + + case 5: + if( + ADC_Value < pValueList[4] + ||ADC_Value < pValueList[6] + ||ADC_Value < pValueList[7] + ){ + return 0; + } + else{ + return 1; + } + + case 6: + if( + ADC_Value < pValueList[5] + ||ADC_Value < pValueList[4] + ||ADC_Value < pValueList[7] + ){ + return 0; + } + else{ + return 1; + } + + case 7: + if( + ADC_Value < pValueList[5] + ||ADC_Value < pValueList[6] + ||ADC_Value < pValueList[4] + ){ + return 0; + } + else{ + return 1; + } + } + + } + + else{ + + switch(ID){ + //1P + case 0: + if( + ADC_Value < pValueList[1] + ||ADC_Value < pValueList[2] + ){ + return 0; + } + else{ + return 1; + } + + case 1: + if( + ADC_Value < pValueList[0] + ||ADC_Value < pValueList[3] + ){ + return 0; + } + else{ + return 1; + } + + case 2: + if( + ADC_Value < pValueList[0] + ||ADC_Value < pValueList[3] + ){ + return 0; + } + else{ + return 1; + } + + case 3: + if( + ADC_Value < pValueList[1] + ||ADC_Value < pValueList[2] + ){ + return 0; + } + else{ + return 1; + } + + //2P + case 4: + if( + ADC_Value < pValueList[5] + ||ADC_Value < pValueList[6] + ){ + return 0; + } + else{ + return 1; + } + + case 5: + if( + ADC_Value < pValueList[4] + ||ADC_Value < pValueList[7] + ){ + return 0; + } + else{ + return 1; + } + + case 6: + if( + ADC_Value < pValueList[4] + ||ADC_Value < pValueList[7] + ){ + return 0; + } + else{ + return 1; + } + + case 7: + if( + ADC_Value < pValueList[5] + ||ADC_Value < pValueList[6] + ){ + return 0; + } + else{ + return 1; + } + } + + } + + return 0; + +} + + +/* +Ô­Àí£ºÊÕµ½×Ô¼º±»´¥·¢ºó£¬µÈ´ýÉèÖÃʱ¼äµ½ +ÔÚʱ¼ä¶ÎÄÚÓиßÓÚ×Ô¼ºÖµµÄ¾ÍÆÁ±Î×Ô¼º +*/ + +void CalPxMute_V2(uint8_t ID){ + + //²éÕÒ×éÄÚ×î´óÊÇ·ñΪ±¾Í¨µÀ + if(CheckAdcMax(ID, (uint16_t*)InputLevel_MAX)){ + DoOutput(ID); + } + else{ + DoMute(ID); + } + +} + + +#define AUTO_ZERO_LEN 2048 + +void AutoZero(void){ + static uint32_t ADC_ADD[CHANNEL_NUM] = {0}; + static uint16_t Count = 0; + + if(I_Buffer){ + memset(ADC_ADD, 0, sizeof(ADC_ADD)); + Count = 0; + } + else{ + for(uint8_t i=0; i= AUTO_ZERO_LEN){ + for(uint8_t i=0; i (ADC_List[i][j+1] + SystemSet.ADC_Trigger[i])){ + + //REG OUTPUT + I_Buffer |= 1<>i)&1) == 0){ + UartDebug(); + O_CountDown[i] = SystemSet.OutHiLength + SystemSet.OutLoLength; + O_Buffer |= 1 << i; + } + + break; + } + } + } + + } + + else if(SystemSet.ADC_WaitMuteTime == 0){ + //mute and time first + uint16_t max_dt = 0; + uint8_t max_id = 0; + + if(O_Buffer == 0){ + for(uint8_t i=0;i ADC_List[i][j+1]){ + if(ADC_List[i][0] > (ADC_List[i][j+1] + SystemSet.ADC_Trigger[i])){ //do trigger + + if(max_dt < ADC_List[i][0] - ADC_List[i][j+1]){ + max_dt = ADC_List[i][0] - ADC_List[i][j+1]; + max_id = i; + } + } + } + } + } + } + if(max_dt != 0){ + DoOutput(max_id); + } + + //end of time first + } + + else{ + //With Mute + + for(uint8_t i=0;i>i) & 1){ //This channel has been trigged , GetMax + REG_Output(i, ADC_List[i][0]); + } + else{ + //Ñ°ÕÒ¸ßÂö³å±ßÔµ + for(uint8_t j=0;j<(ADC_LIST_SIZE - 1);j++){ + + if(ADC_List[i][0] > ADC_List[i][j+1]){ + if(ADC_List[i][0] > (ADC_List[i][j+1] + SystemSet.ADC_Trigger[i])){//do trigger + + //REG OUTPUT + if(CheckAdcMax(i,(uint16_t*)InputLevel_Now)) + if(((O_Buffer>>i) & 1) == 0) //This channel no output Now + REG_Output(i, ADC_List[i][0]);//GetMax + + } + } + + } + } + } + + //calculate output + for(uint8_t i=0;i> i) & 1){ + InputCount[i]++; + if(InputCount[i] >= SystemSet.ADC_WaitMuteTime){ + //time out + CalPxMute_V2(i); + } + } + } + + //end of mute + + } + + AutoZero(); + + +} + +#ifndef IS_4CH_MODE + +void ReadSet(void){ + SET_1 = HAL_GPIO_ReadPin(SET1_GPIO_Port,SET1_Pin) == 0; //Debug EN + SET_2 = HAL_GPIO_ReadPin(SET2_GPIO_Port,SET2_Pin) == 0; //load Set = Default + SET_3 = HAL_GPIO_ReadPin(SET3_GPIO_Port,SET3_Pin) == 0; //Test IO + SET_4 = HAL_GPIO_ReadPin(SET4_GPIO_Port,SET4_Pin) == 0; //timebase 2X +} + +#endif + + + +uint8_t SciBuffer[200]; +uint8_t SciLength = 0; +uint8_t SciCount = 0; +uint8_t SciTime = 0; + +void UsartStartRec(void){ + HAL_UART_AbortReceive_IT(&huart1); + HAL_UART_Receive_IT(&huart1, SciBuffer, sizeof(SciBuffer)); +} + + +uint8_t SciCheck(uint8_t* data, uint8_t len){ + if(len < 3)return 1; + uint16_t CRCData1; + uint16_t CRCData2; + + CRCData1 = CRCCheck(data, len-2); + CRCData2 = data[len-1] | (data[len-2]<<8); + + if(CRCData1 == CRCData2)return 0; + return 1; +} + + + +void GetSciData(UART_HandleTypeDef *huart){ + + SciCount++; + SciLength = huart->RxXferSize - huart->RxXferCount; + + if(0 == SciCheck(SciBuffer,SciLength)){ + //check data cplt + //do cmd + SciDoCMD(SciBuffer, SciLength); + } + + UsartStartRec(); +} + +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) +{ + GetSciData(huart); +} + + +uint8_t CloseIrqAndSave(void){ + uint8_t temp; + + HAL_TIM_Base_Stop_IT(&htim14); + HAL_ADC_Stop_DMA(&hadc1); + HAL_Delay(5); + + temp = DoSave(); + + HAL_TIM_Base_Start_IT(&htim14); + HAL_ADC_Start_DMA(&hadc1,(uint32_t *)ADC_Buffer,ADC_BUFFER_SIZE*ADC_CHANNEL_NUM); + + return temp; +} + +//¸ÄΪÈí¼þ¶ÏÖ¡ +#define UART_FREAM_TIME 2 + +void UsartTask(void){ + static uint16_t RxXferCount_buf = 0xFF; + + if(huart1.RxXferCount != huart1.RxXferSize){ + + if(RxXferCount_buf != huart1.RxXferCount){ + RxXferCount_buf = huart1.RxXferCount; + SciTime = 0; + } + else{ + SciTime ++; + if(SciTime > UART_FREAM_TIME){ + GetSciData(&huart1); + SciTime = 0; + RxXferCount_buf = 0xFF; + } + } + } + +} + + +//¿ª»ú¶¯»­ +void ON_Play(void){ + for(uint8_t i = 0; i < CHANNEL_NUM; i ++){ + GPIO_Output(i, 1); + HAL_Delay(30); + } + for(uint8_t i = 0; i < CHANNEL_NUM; i ++){ + GPIO_Output(i, 0); + HAL_Delay(30); + } +} + + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + /* USER CODE BEGIN 1 */ + uint16_t time = 0; + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_IWDG_Init(); + MX_DMA_Init(); + MX_USART1_UART_Init(); + MX_TIM14_Init(); + MX_ADC1_Init(); + /* USER CODE BEGIN 2 */ + + HAL_FLASH_Lock(); + + HAL_Delay(10); + +#ifdef IS_4CH_MODE + + SaveInit(); + +#else + + ReadSet(); + + if(SET_4){ + OutListFerq = 2000; + MX_TIM14_Init(); + } + + if(SET_2){ + SystemSet = SystemSetDefault; + } + else{ + SaveInit(); + } + +#endif + + +#ifndef IS_4CH_MODE + + if(SET_3) + { + SystemSet = SystemSetTest; + SystemTest = 1; + } + +#endif + + HAL_IWDG_Refresh(&hiwdg); + ON_Play(); + + HAL_ADCEx_Calibration_Start(&hadc1); + HAL_TIM_Base_Start_IT(&htim14); + HAL_ADC_Start_DMA(&hadc1,(uint32_t *)ADC_Buffer,ADC_BUFFER_SIZE*ADC_CHANNEL_NUM); + HAL_Delay(500); + +#ifndef IS_4CH_MODE + if(SET_1) +#endif + { + HAL_UART_Transmit_DMA(&huart1, (uint8_t*)"Power On\r\n",sizeof("Power On\r\n")-1); + UsartStartRec(); + } + + /* USER CODE END 2 */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + + HAL_IWDG_Refresh(&hiwdg); + UsartTask(); + + time++; + if(time >= 100){ + time = 0; + if(!SystemError && POWER_ON_EN){ + //¿ª»ú×Ô¼ì³É¹¦ÉÁµÆ + HAL_GPIO_TogglePin(LED_STA_GPIO_Port,LED_STA_Pin); + } + else{ + HAL_GPIO_WritePin(LED_STA_GPIO_Port,LED_STA_Pin,GPIO_PIN_SET); + } + } + + HAL_Delay(1); + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + + /** Configure the main internal regulator output voltage + */ + HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1); + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.LSIState = RCC_LSI_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1; + RCC_OscInitStruct.PLL.PLLN = 8; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the peripherals clocks + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_ADC; + PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1; + PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief ADC1 Initialization Function + * @param None + * @retval None + */ +static void MX_ADC1_Init(void) +{ + + /* USER CODE BEGIN ADC1_Init 0 */ + + /* USER CODE END ADC1_Init 0 */ + + ADC_ChannelConfTypeDef sConfig = {0}; + + /* USER CODE BEGIN ADC1_Init 1 */ + + /* USER CODE END ADC1_Init 1 */ + /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) + */ + hadc1.Instance = ADC1; + hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2; + hadc1.Init.Resolution = ADC_RESOLUTION_12B; + hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; + hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; + hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + hadc1.Init.LowPowerAutoWait = DISABLE; + hadc1.Init.LowPowerAutoPowerOff = DISABLE; + hadc1.Init.ContinuousConvMode = ENABLE; + hadc1.Init.NbrOfConversion = 8; + hadc1.Init.DiscontinuousConvMode = DISABLE; + hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; + hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + hadc1.Init.DMAContinuousRequests = ENABLE; + hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED; + hadc1.Init.SamplingTimeCommon1 = ADC_SAMPLETIME_160CYCLES_5; + hadc1.Init.SamplingTimeCommon2 = ADC_SAMPLETIME_160CYCLES_5; + hadc1.Init.OversamplingMode = DISABLE; + hadc1.Init.TriggerFrequencyMode = ADC_TRIGGER_FREQ_HIGH; + if (HAL_ADC_Init(&hadc1) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_0; + sConfig.Rank = ADC_REGULAR_RANK_1; + sConfig.SamplingTime = ADC_SAMPLINGTIME_COMMON_1; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_1; + sConfig.Rank = ADC_REGULAR_RANK_2; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_2; + sConfig.Rank = ADC_REGULAR_RANK_3; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_3; + sConfig.Rank = ADC_REGULAR_RANK_4; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_4; + sConfig.Rank = ADC_REGULAR_RANK_5; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_5; + sConfig.Rank = ADC_REGULAR_RANK_6; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_6; + sConfig.Rank = ADC_REGULAR_RANK_7; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_7; + sConfig.Rank = ADC_REGULAR_RANK_8; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN ADC1_Init 2 */ + + /* USER CODE END ADC1_Init 2 */ + +} + +/** + * @brief IWDG Initialization Function + * @param None + * @retval None + */ +static void MX_IWDG_Init(void) +{ + + /* USER CODE BEGIN IWDG_Init 0 */ + + /* USER CODE END IWDG_Init 0 */ + + /* USER CODE BEGIN IWDG_Init 1 */ + + /* USER CODE END IWDG_Init 1 */ + hiwdg.Instance = IWDG; + hiwdg.Init.Prescaler = IWDG_PRESCALER_128; + hiwdg.Init.Window = 4095; + hiwdg.Init.Reload = 4095; + if (HAL_IWDG_Init(&hiwdg) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN IWDG_Init 2 */ + + /* USER CODE END IWDG_Init 2 */ + +} + +/** + * @brief TIM14 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM14_Init(void) +{ + + /* USER CODE BEGIN TIM14_Init 0 */ + + /* USER CODE END TIM14_Init 0 */ + + /* USER CODE BEGIN TIM14_Init 1 */ + + /* USER CODE END TIM14_Init 1 */ + htim14.Instance = TIM14; + htim14.Init.Prescaler = 32 - 1; + htim14.Init.CounterMode = TIM_COUNTERMODE_UP; + htim14.Init.Period = 2 * OutListFerq - 1; + htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim14) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM14_Init 2 */ +// htim14.Init.Period = 2 * OutListFerq - 1; + /* USER CODE END TIM14_Init 2 */ + +} + +/** + * @brief USART1 Initialization Function + * @param None + * @retval None + */ +static void MX_USART1_UART_Init(void) +{ + + /* USER CODE BEGIN USART1_Init 0 */ + + /* USER CODE END USART1_Init 0 */ + + /* USER CODE BEGIN USART1_Init 1 */ + + /* USER CODE END USART1_Init 1 */ + huart1.Instance = USART1; + huart1.Init.BaudRate = 38400; + huart1.Init.WordLength = UART_WORDLENGTH_8B; + huart1.Init.StopBits = UART_STOPBITS_1; + huart1.Init.Parity = UART_PARITY_NONE; + huart1.Init.Mode = UART_MODE_TX_RX; + huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart1.Init.OverSampling = UART_OVERSAMPLING_16; + huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1; + huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart1) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART1_Init 2 */ + + /* USER CODE END USART1_Init 2 */ + +} + +/** + * Enable DMA controller clock + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA1_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMA1_Channel1_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 2, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); + /* DMA1_Channel2_3_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Channel2_3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(DMA1_Channel2_3_IRQn); + +} + +/* USER CODE BEGIN 4 */ + +#ifndef IS_4CH_MODE + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOB, OUT1_Pin|OUT8_Pin|OUT7_Pin|OUT6_Pin + |OUT5_Pin|OUT4_Pin|OUT3_Pin|OUT2_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(LED_STA_GPIO_Port, LED_STA_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : OUT1_Pin OUT8_Pin OUT7_Pin OUT6_Pin + OUT5_Pin OUT4_Pin OUT3_Pin OUT2_Pin */ + GPIO_InitStruct.Pin = OUT1_Pin|OUT8_Pin|OUT7_Pin|OUT6_Pin + |OUT5_Pin|OUT4_Pin|OUT3_Pin|OUT2_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pins : SET3_Pin SET4_Pin */ + GPIO_InitStruct.Pin = SET3_Pin|SET4_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLUP; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : SET2_Pin SET1_Pin */ + GPIO_InitStruct.Pin = SET2_Pin|SET1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLUP; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /*Configure GPIO pin : LED_STA_Pin */ + GPIO_InitStruct.Pin = LED_STA_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED_STA_GPIO_Port, &GPIO_InitStruct); + +} + +#else + +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, OUT2_Pin|OUT3_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOA, LED_STA_Pin|OUT1_Pin|OUT4_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pins : OUT2_Pin OUT3_Pin */ + GPIO_InitStruct.Pin = OUT2_Pin|OUT3_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : LED_STA_Pin OUT1_Pin OUT4_Pin */ + GPIO_InitStruct.Pin = LED_STA_Pin|OUT1_Pin|OUT4_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + +} + +#endif + + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_hal_msp.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_hal_msp.c new file mode 100644 index 0000000..22f4025 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_hal_msp.c @@ -0,0 +1,389 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32g0xx_hal_msp.c + * @brief This file provides code for the MSP Initialization + * and de-Initialization codes. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ +extern DMA_HandleTypeDef hdma_adc1; + +extern DMA_HandleTypeDef hdma_usart1_tx; + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN Define */ + +/* USER CODE END Define */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN Macro */ + +/* USER CODE END Macro */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* External functions --------------------------------------------------------*/ +/* USER CODE BEGIN ExternalFunctions */ + +/* USER CODE END ExternalFunctions */ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ +/** + * Initializes the Global MSP. + */ +void HAL_MspInit(void) +{ + /* USER CODE BEGIN MspInit 0 */ + + /* USER CODE END MspInit 0 */ + + __HAL_RCC_SYSCFG_CLK_ENABLE(); + __HAL_RCC_PWR_CLK_ENABLE(); + + /* System interrupt init*/ + + /* USER CODE BEGIN MspInit 1 */ + + /* USER CODE END MspInit 1 */ +} + +/** +* @brief ADC MSP Initialization +* This function configures the hardware resources used in this example +* @param hadc: ADC handle pointer +* @retval None +*/ +void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(hadc->Instance==ADC1) + { + /* USER CODE BEGIN ADC1_MspInit 0 */ + + /* USER CODE END ADC1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_ADC_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**ADC1 GPIO Configuration + PA0 ------> ADC1_IN0 + PA1 ------> ADC1_IN1 + PA2 ------> ADC1_IN2 + PA3 ------> ADC1_IN3 + PA4 ------> ADC1_IN4 + PA5 ------> ADC1_IN5 + PA6 ------> ADC1_IN6 + PA7 ------> ADC1_IN7 + */ + GPIO_InitStruct.Pin = IN1_Pin|IN2_Pin|IN3_Pin|IN4_Pin + |IN5_Pin|IN6_Pin|IN7_Pin|IN8_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* ADC1 DMA Init */ + /* ADC1 Init */ + hdma_adc1.Instance = DMA1_Channel2; + hdma_adc1.Init.Request = DMA_REQUEST_ADC1; + hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; + hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + hdma_adc1.Init.Mode = DMA_CIRCULAR; + hdma_adc1.Init.Priority = DMA_PRIORITY_VERY_HIGH; + if (HAL_DMA_Init(&hdma_adc1) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1); + + /* USER CODE BEGIN ADC1_MspInit 1 */ + + /* USER CODE END ADC1_MspInit 1 */ + } + +} + +/** +* @brief ADC MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hadc: ADC handle pointer +* @retval None +*/ +void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) +{ + if(hadc->Instance==ADC1) + { + /* USER CODE BEGIN ADC1_MspDeInit 0 */ + + /* USER CODE END ADC1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_ADC_CLK_DISABLE(); + + /**ADC1 GPIO Configuration + PA0 ------> ADC1_IN0 + PA1 ------> ADC1_IN1 + PA2 ------> ADC1_IN2 + PA3 ------> ADC1_IN3 + PA4 ------> ADC1_IN4 + PA5 ------> ADC1_IN5 + PA6 ------> ADC1_IN6 + PA7 ------> ADC1_IN7 + */ + HAL_GPIO_DeInit(GPIOA, IN1_Pin|IN2_Pin|IN3_Pin|IN4_Pin + |IN5_Pin|IN6_Pin|IN7_Pin|IN8_Pin); + + /* ADC1 DMA DeInit */ + HAL_DMA_DeInit(hadc->DMA_Handle); + /* USER CODE BEGIN ADC1_MspDeInit 1 */ + + /* USER CODE END ADC1_MspDeInit 1 */ + } + +} + +/** +* @brief TIM_Base MSP Initialization +* This function configures the hardware resources used in this example +* @param htim_base: TIM_Base handle pointer +* @retval None +*/ +void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM14) + { + /* USER CODE BEGIN TIM14_MspInit 0 */ + + /* USER CODE END TIM14_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM14_CLK_ENABLE(); + /* TIM14 interrupt Init */ + HAL_NVIC_SetPriority(TIM14_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(TIM14_IRQn); + /* USER CODE BEGIN TIM14_MspInit 1 */ + + /* USER CODE END TIM14_MspInit 1 */ + } + +} + +/** +* @brief TIM_Base MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param htim_base: TIM_Base handle pointer +* @retval None +*/ +void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM14) + { + /* USER CODE BEGIN TIM14_MspDeInit 0 */ + + /* USER CODE END TIM14_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM14_CLK_DISABLE(); + + /* TIM14 interrupt DeInit */ + HAL_NVIC_DisableIRQ(TIM14_IRQn); + /* USER CODE BEGIN TIM14_MspDeInit 1 */ + + /* USER CODE END TIM14_MspDeInit 1 */ + } + +} + +/** +* @brief UART MSP Initialization +* This function configures the hardware resources used in this example +* @param huart: UART handle pointer +* @retval None +*/ +void HAL_UART_MspInit(UART_HandleTypeDef* huart) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(huart->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspInit 0 */ + +#ifdef IS_4CH_MODE + + /* Peripheral clock enable */ + __HAL_RCC_USART1_CLK_ENABLE(); + + __HAL_RCC_GPIOB_CLK_ENABLE(); + /**USART1 GPIO Configuration + PB7 ------> USART1_RX + PB6 ------> USART1_TX + */ + GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF0_USART1; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USART1 DMA Init */ + /* USART1_TX Init */ + hdma_usart1_tx.Instance = DMA1_Channel1; + hdma_usart1_tx.Init.Request = DMA_REQUEST_USART1_TX; + hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart1_tx.Init.Mode = DMA_NORMAL; + hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx); + + /* USART1 interrupt Init */ + HAL_NVIC_SetPriority(USART1_IRQn, 1, 0); + HAL_NVIC_EnableIRQ(USART1_IRQn); + + return; + +#endif + + /* USER CODE END USART1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_USART1_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_USART1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USART1 DMA Init */ + /* USART1_TX Init */ + hdma_usart1_tx.Instance = DMA1_Channel1; + hdma_usart1_tx.Init.Request = DMA_REQUEST_USART1_TX; + hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart1_tx.Init.Mode = DMA_NORMAL; + hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx); + + /* USART1 interrupt Init */ + HAL_NVIC_SetPriority(USART1_IRQn, 1, 0); + HAL_NVIC_EnableIRQ(USART1_IRQn); + /* USER CODE BEGIN USART1_MspInit 1 */ + + /* USER CODE END USART1_MspInit 1 */ + } + +} + +/** +* @brief UART MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param huart: UART handle pointer +* @retval None +*/ +void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) +{ + if(huart->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspDeInit 0 */ + +#ifdef IS_4CH_MODE + + /* Peripheral clock disable */ + __HAL_RCC_USART1_CLK_DISABLE(); + + /**USART1 GPIO Configuration + PB7 ------> USART1_RX + PB6 ------> USART1_TX + */ + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7|GPIO_PIN_6); + + /* USART1 DMA DeInit */ + HAL_DMA_DeInit(huart->hdmatx); + + /* USART1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART1_IRQn); + + return; + +#endif + + /* USER CODE END USART1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART1_CLK_DISABLE(); + + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + + /* USART1 DMA DeInit */ + HAL_DMA_DeInit(huart->hdmatx); + + /* USART1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART1_IRQn); + /* USER CODE BEGIN USART1_MspDeInit 1 */ + + /* USER CODE END USART1_MspDeInit 1 */ + } + +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_it.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_it.c new file mode 100644 index 0000000..26c183c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/stm32g0xx_it.c @@ -0,0 +1,217 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32g0xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "stm32g0xx_it.h" +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +void IO_OutputList(void); + +/* USER CODE END 0 */ + +/* External variables --------------------------------------------------------*/ +extern DMA_HandleTypeDef hdma_adc1; +extern TIM_HandleTypeDef htim14; +extern DMA_HandleTypeDef hdma_usart1_tx; +extern UART_HandleTypeDef huart1; +/* USER CODE BEGIN EV */ + +/* USER CODE END EV */ + +/******************************************************************************/ +/* Cortex-M0+ Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + while (1) + { + } + /* USER CODE END NonMaskableInt_IRQn 1 */ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + /* USER CODE BEGIN HardFault_IRQn 0 */ + HAL_NVIC_SystemReset(); + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + /* USER CODE END W1_HardFault_IRQn 0 */ + } +} + +/** + * @brief This function handles System service call via SWI instruction. + */ +void SVC_Handler(void) +{ + /* USER CODE BEGIN SVC_IRQn 0 */ + + /* USER CODE END SVC_IRQn 0 */ + /* USER CODE BEGIN SVC_IRQn 1 */ + + /* USER CODE END SVC_IRQn 1 */ +} + +/** + * @brief This function handles Pendable request for system service. + */ +void PendSV_Handler(void) +{ + /* USER CODE BEGIN PendSV_IRQn 0 */ + + /* USER CODE END PendSV_IRQn 0 */ + /* USER CODE BEGIN PendSV_IRQn 1 */ + + /* USER CODE END PendSV_IRQn 1 */ +} + +/** + * @brief This function handles System tick timer. + */ +void SysTick_Handler(void) +{ + /* USER CODE BEGIN SysTick_IRQn 0 */ + + /* USER CODE END SysTick_IRQn 0 */ + HAL_IncTick(); + /* USER CODE BEGIN SysTick_IRQn 1 */ + + /* USER CODE END SysTick_IRQn 1 */ +} + +/******************************************************************************/ +/* STM32G0xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file (startup_stm32g0xx.s). */ +/******************************************************************************/ + +/** + * @brief This function handles DMA1 channel 1 interrupt. + */ +void DMA1_Channel1_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */ + + /* USER CODE END DMA1_Channel1_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_tx); + /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */ + + /* USER CODE END DMA1_Channel1_IRQn 1 */ +} + +/** + * @brief This function handles DMA1 channel 2 and channel 3 interrupts. + */ +void DMA1_Channel2_3_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */ + + /* USER CODE END DMA1_Channel2_3_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_adc1); + /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */ + + /* USER CODE END DMA1_Channel2_3_IRQn 1 */ +} + +/** + * @brief This function handles TIM14 global interrupt. + */ +void TIM14_IRQHandler(void) +{ + /* USER CODE BEGIN TIM14_IRQn 0 */ + + if(htim14.Instance->SR & TIM_FLAG_UPDATE){ + htim14.Instance->SR &= ~TIM_IT_UPDATE; + + IO_OutputList(); + + } + + return; + /* USER CODE END TIM14_IRQn 0 */ + HAL_TIM_IRQHandler(&htim14); + /* USER CODE BEGIN TIM14_IRQn 1 */ + + /* USER CODE END TIM14_IRQn 1 */ +} + +/** + * @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25. + */ +void USART1_IRQHandler(void) +{ + /* USER CODE BEGIN USART1_IRQn 0 */ + + + /* USER CODE END USART1_IRQn 0 */ + HAL_UART_IRQHandler(&huart1); + /* USER CODE BEGIN USART1_IRQn 1 */ + + /* USER CODE END USART1_IRQn 1 */ +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/system_stm32g0xx.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/system_stm32g0xx.c new file mode 100644 index 0000000..368439a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Core/Src/system_stm32g0xx.c @@ -0,0 +1,304 @@ +/** + ****************************************************************************** + * @file system_stm32g0xx.c + * @author MCD Application Team + * @brief CMSIS Cortex-M0+ Device Peripheral Access Layer System Source File + * + * This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32g0xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * After each device reset the HSI (8 MHz then 16 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32g0xx.s" file, to + * configure the system clock before to branch to main program. + * + * This file configures the system clock as follows: + *============================================================================= + *----------------------------------------------------------------------------- + * System Clock source | HSI + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 16000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 16000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB Prescaler | 1 + *----------------------------------------------------------------------------- + * HSI Division factor | 1 + *----------------------------------------------------------------------------- + * PLL_M | 1 + *----------------------------------------------------------------------------- + * PLL_N | 8 + *----------------------------------------------------------------------------- + * PLL_P | 7 + *----------------------------------------------------------------------------- + * PLL_Q | 2 + *----------------------------------------------------------------------------- + * PLL_R | 2 + *----------------------------------------------------------------------------- + * Require 48MHz for RNG | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + * Copyright (c) 2018-2021 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32g0xx_system + * @{ + */ + +/** @addtogroup STM32G0xx_System_Private_Includes + * @{ + */ + +#include "stm32g0xx.h" + +#if !defined (HSE_VALUE) +#define HSE_VALUE (8000000UL) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSI_VALUE) + #define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +#if !defined (LSI_VALUE) + #define LSI_VALUE (32000UL) /*!< Value of LSI in Hz*/ +#endif /* LSI_VALUE */ + +#if !defined (LSE_VALUE) + #define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/ +#endif /* LSE_VALUE */ + +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_Defines + * @{ + */ + +/************************* Miscellaneous Configuration ************************/ +/* Note: Following vector table addresses must be defined in line with linker + configuration. */ +/*!< Uncomment the following line if you need to relocate the vector table + anywhere in Flash or Sram, else the vector table is kept at the automatic + remap of boot address selected */ +/* #define USER_VECT_TAB_ADDRESS */ + +#if defined(USER_VECT_TAB_ADDRESS) +/*!< Uncomment the following line if you need to relocate your vector Table + in Sram else user remap will be done in Flash. */ +/* #define VECT_TAB_SRAM */ +#if defined(VECT_TAB_SRAM) +#define VECT_TAB_BASE_ADDRESS SRAM_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x200. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +#else +#define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x200. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +#endif /* VECT_TAB_SRAM */ +#endif /* USER_VECT_TAB_ADDRESS */ +/******************************************************************************/ +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_Variables + * @{ + */ + /* The SystemCoreClock variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetHCLKFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. + */ + uint32_t SystemCoreClock = 16000000UL; + + const uint32_t AHBPrescTable[16UL] = {0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL, 6UL, 7UL, 8UL, 9UL}; + const uint32_t APBPrescTable[8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL}; + +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_FunctionPrototypes + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32G0xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* Configure the Vector Table location -------------------------------------*/ +#if defined(USER_VECT_TAB_ADDRESS) + SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation */ +#endif /* USER_VECT_TAB_ADDRESS */ +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**) / HSI division factor + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***) + * + * - If SYSCLK source is LSI, SystemCoreClock will contain the LSI_VALUE + * + * - If SYSCLK source is LSE, SystemCoreClock will contain the LSE_VALUE + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (**) HSI_VALUE is a constant defined in stm32g0xx_hal_conf.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (***) HSE_VALUE is a constant defined in stm32g0xx_hal_conf.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate(void) +{ + uint32_t tmp; + uint32_t pllvco; + uint32_t pllr; + uint32_t pllsource; + uint32_t pllm; + uint32_t hsidiv; + + /* Get SYSCLK source -------------------------------------------------------*/ + switch (RCC->CFGR & RCC_CFGR_SWS) + { + case RCC_CFGR_SWS_0: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + + case (RCC_CFGR_SWS_1 | RCC_CFGR_SWS_0): /* LSI used as system clock */ + SystemCoreClock = LSI_VALUE; + break; + + case RCC_CFGR_SWS_2: /* LSE used as system clock */ + SystemCoreClock = LSE_VALUE; + break; + + case RCC_CFGR_SWS_1: /* PLL used as system clock */ + /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN + SYSCLK = PLL_VCO / PLLR + */ + pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC); + pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1UL; + + if(pllsource == 0x03UL) /* HSE used as PLL clock source */ + { + pllvco = (HSE_VALUE / pllm); + } + else /* HSI used as PLL clock source */ + { + pllvco = (HSI_VALUE / pllm); + } + pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos); + pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1UL); + + SystemCoreClock = pllvco/pllr; + break; + + case 0x00000000U: /* HSI used as system clock */ + default: /* HSI used as system clock */ + hsidiv = (1UL << ((READ_BIT(RCC->CR, RCC_CR_HSIDIV))>> RCC_CR_HSIDIV_Pos)); + SystemCoreClock = (HSI_VALUE/hsidiv); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armcc.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armcc.h new file mode 100644 index 0000000..59f173a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armcc.h @@ -0,0 +1,894 @@ +/**************************************************************************//** + * @file cmsis_armcc.h + * @brief CMSIS compiler ARMCC (Arm Compiler 5) header file + * @version V5.1.0 + * @date 08. May 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_ARMCC_H +#define __CMSIS_ARMCC_H + + +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 400677) + #error "Please use Arm Compiler Toolchain V4.0.677 or later!" +#endif + +/* CMSIS compiler control architecture macros */ +#if ((defined (__TARGET_ARCH_6_M ) && (__TARGET_ARCH_6_M == 1)) || \ + (defined (__TARGET_ARCH_6S_M ) && (__TARGET_ARCH_6S_M == 1)) ) + #define __ARM_ARCH_6M__ 1 +#endif + +#if (defined (__TARGET_ARCH_7_M ) && (__TARGET_ARCH_7_M == 1)) + #define __ARM_ARCH_7M__ 1 +#endif + +#if (defined (__TARGET_ARCH_7E_M) && (__TARGET_ARCH_7E_M == 1)) + #define __ARM_ARCH_7EM__ 1 +#endif + + /* __ARM_ARCH_8M_BASE__ not applicable */ + /* __ARM_ARCH_8M_MAIN__ not applicable */ + +/* CMSIS compiler control DSP macros */ +#if ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + #define __ARM_FEATURE_DSP 1 +#endif + +/* CMSIS compiler specific defines */ +#ifndef __ASM + #define __ASM __asm +#endif +#ifndef __INLINE + #define __INLINE __inline +#endif +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static __inline +#endif +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE static __forceinline +#endif +#ifndef __NO_RETURN + #define __NO_RETURN __declspec(noreturn) +#endif +#ifndef __USED + #define __USED __attribute__((used)) +#endif +#ifndef __WEAK + #define __WEAK __attribute__((weak)) +#endif +#ifndef __PACKED + #define __PACKED __attribute__((packed)) +#endif +#ifndef __PACKED_STRUCT + #define __PACKED_STRUCT __packed struct +#endif +#ifndef __PACKED_UNION + #define __PACKED_UNION __packed union +#endif +#ifndef __UNALIGNED_UINT32 /* deprecated */ + #define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x))) +#endif +#ifndef __UNALIGNED_UINT16_WRITE + #define __UNALIGNED_UINT16_WRITE(addr, val) ((*((__packed uint16_t *)(addr))) = (val)) +#endif +#ifndef __UNALIGNED_UINT16_READ + #define __UNALIGNED_UINT16_READ(addr) (*((const __packed uint16_t *)(addr))) +#endif +#ifndef __UNALIGNED_UINT32_WRITE + #define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val)) +#endif +#ifndef __UNALIGNED_UINT32_READ + #define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr))) +#endif +#ifndef __ALIGNED + #define __ALIGNED(x) __attribute__((aligned(x))) +#endif +#ifndef __RESTRICT + #define __RESTRICT __restrict +#endif +#ifndef __COMPILER_BARRIER + #define __COMPILER_BARRIER() __memory_changed() +#endif + +/* ######################### Startup and Lowlevel Init ######################## */ + +#ifndef __PROGRAM_START +#define __PROGRAM_START __main +#endif + +#ifndef __INITIAL_SP +#define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit +#endif + +#ifndef __STACK_LIMIT +#define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base +#endif + +#ifndef __VECTOR_TABLE +#define __VECTOR_TABLE __Vectors +#endif + +#ifndef __VECTOR_TABLE_ATTRIBUTE +#define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section("RESET"))) +#endif + +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __enable_irq(); */ + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __disable_irq(); */ + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_INLINE uint32_t __get_CONTROL(void) +{ + register uint32_t __regControl __ASM("control"); + return(__regControl); +} + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_INLINE void __set_CONTROL(uint32_t control) +{ + register uint32_t __regControl __ASM("control"); + __regControl = control; +} + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_INLINE uint32_t __get_IPSR(void) +{ + register uint32_t __regIPSR __ASM("ipsr"); + return(__regIPSR); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_INLINE uint32_t __get_APSR(void) +{ + register uint32_t __regAPSR __ASM("apsr"); + return(__regAPSR); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_INLINE uint32_t __get_xPSR(void) +{ + register uint32_t __regXPSR __ASM("xpsr"); + return(__regXPSR); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_INLINE uint32_t __get_PSP(void) +{ + register uint32_t __regProcessStackPointer __ASM("psp"); + return(__regProcessStackPointer); +} + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) +{ + register uint32_t __regProcessStackPointer __ASM("psp"); + __regProcessStackPointer = topOfProcStack; +} + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_INLINE uint32_t __get_MSP(void) +{ + register uint32_t __regMainStackPointer __ASM("msp"); + return(__regMainStackPointer); +} + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) +{ + register uint32_t __regMainStackPointer __ASM("msp"); + __regMainStackPointer = topOfMainStack; +} + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_INLINE uint32_t __get_PRIMASK(void) +{ + register uint32_t __regPriMask __ASM("primask"); + return(__regPriMask); +} + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) +{ + register uint32_t __regPriMask __ASM("primask"); + __regPriMask = (priMask); +} + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __enable_fault_irq __enable_fiq + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __disable_fault_irq __disable_fiq + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_INLINE uint32_t __get_BASEPRI(void) +{ + register uint32_t __regBasePri __ASM("basepri"); + return(__regBasePri); +} + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) +{ + register uint32_t __regBasePri __ASM("basepri"); + __regBasePri = (basePri & 0xFFU); +} + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + register uint32_t __regBasePriMax __ASM("basepri_max"); + __regBasePriMax = (basePri & 0xFFU); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_INLINE uint32_t __get_FAULTMASK(void) +{ + register uint32_t __regFaultMask __ASM("faultmask"); + return(__regFaultMask); +} + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) +{ + register uint32_t __regFaultMask __ASM("faultmask"); + __regFaultMask = (faultMask & (uint32_t)1U); +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ + + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +__STATIC_INLINE uint32_t __get_FPSCR(void) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) + register uint32_t __regfpscr __ASM("fpscr"); + return(__regfpscr); +#else + return(0U); +#endif +} + + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) + register uint32_t __regfpscr __ASM("fpscr"); + __regfpscr = (fpscr); +#else + (void)fpscr; +#endif +} + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + +/* ########################## Core Instruction Access ######################### */ +/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface + Access to dedicated instructions + @{ +*/ + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ +#define __NOP __nop + + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. + */ +#define __WFI __wfi + + +/** + \brief Wait For Event + \details Wait For Event is a hint instruction that permits the processor to enter + a low-power state until one of a number of events occurs. + */ +#define __WFE __wfe + + +/** + \brief Send Event + \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. + */ +#define __SEV __sev + + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +#define __ISB() do {\ + __schedule_barrier();\ + __isb(0xF);\ + __schedule_barrier();\ + } while (0U) + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +#define __DSB() do {\ + __schedule_barrier();\ + __dsb(0xF);\ + __schedule_barrier();\ + } while (0U) + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +#define __DMB() do {\ + __schedule_barrier();\ + __dmb(0xF);\ + __schedule_barrier();\ + } while (0U) + + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REV __rev + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. + \param [in] value Value to reverse + \return Reversed value + */ +#ifndef __NO_EMBEDDED_ASM +__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) +{ + rev16 r0, r0 + bx lr +} +#endif + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. + \param [in] value Value to reverse + \return Reversed value + */ +#ifndef __NO_EMBEDDED_ASM +__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) +{ + revsh r0, r0 + bx lr +} +#endif + + +/** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +#define __ROR __ror + + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state. + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + \param [in] value is ignored by the processor. + If required, a debugger can use it to store additional information about the breakpoint. + */ +#define __BKPT(value) __breakpoint(value) + + +/** + \brief Reverse bit order of value + \details Reverses the bit order of the given value. + \param [in] value Value to reverse + \return Reversed value + */ +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + #define __RBIT __rbit +#else +__attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value) +{ + uint32_t result; + uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ + + result = value; /* r will be reversed bits of v; first get LSB of v */ + for (value >>= 1U; value != 0U; value >>= 1U) + { + result <<= 1U; + result |= value & 1U; + s--; + } + result <<= s; /* shift when v's highest bits are zero */ + return result; +} +#endif + + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +#define __CLZ __clz + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + +/** + \brief LDR Exclusive (8 bit) + \details Executes a exclusive LDR instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __LDREXB(ptr) ((uint8_t ) __ldrex(ptr)) +#else + #define __LDREXB(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint8_t ) __ldrex(ptr)) _Pragma("pop") +#endif + + +/** + \brief LDR Exclusive (16 bit) + \details Executes a exclusive LDR instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __LDREXH(ptr) ((uint16_t) __ldrex(ptr)) +#else + #define __LDREXH(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint16_t) __ldrex(ptr)) _Pragma("pop") +#endif + + +/** + \brief LDR Exclusive (32 bit) + \details Executes a exclusive LDR instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __LDREXW(ptr) ((uint32_t ) __ldrex(ptr)) +#else + #define __LDREXW(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint32_t ) __ldrex(ptr)) _Pragma("pop") +#endif + + +/** + \brief STR Exclusive (8 bit) + \details Executes a exclusive STR instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __STREXB(value, ptr) __strex(value, ptr) +#else + #define __STREXB(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") +#endif + + +/** + \brief STR Exclusive (16 bit) + \details Executes a exclusive STR instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __STREXH(value, ptr) __strex(value, ptr) +#else + #define __STREXH(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") +#endif + + +/** + \brief STR Exclusive (32 bit) + \details Executes a exclusive STR instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) + #define __STREXW(value, ptr) __strex(value, ptr) +#else + #define __STREXW(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") +#endif + + +/** + \brief Remove the exclusive lock + \details Removes the exclusive lock which is created by LDREX. + */ +#define __CLREX __clrex + + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +#define __SSAT __ssat + + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +#define __USAT __usat + + +/** + \brief Rotate Right with Extend (32 bit) + \details Moves each bit of a bitstring right by one bit. + The carry input is shifted in at the left end of the bitstring. + \param [in] value Value to rotate + \return Rotated value + */ +#ifndef __NO_EMBEDDED_ASM +__attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value) +{ + rrx r0, r0 + bx lr +} +#endif + + +/** + \brief LDRT Unprivileged (8 bit) + \details Executes a Unprivileged LDRT instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#define __LDRBT(ptr) ((uint8_t ) __ldrt(ptr)) + + +/** + \brief LDRT Unprivileged (16 bit) + \details Executes a Unprivileged LDRT instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#define __LDRHT(ptr) ((uint16_t) __ldrt(ptr)) + + +/** + \brief LDRT Unprivileged (32 bit) + \details Executes a Unprivileged LDRT instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#define __LDRT(ptr) ((uint32_t ) __ldrt(ptr)) + + +/** + \brief STRT Unprivileged (8 bit) + \details Executes a Unprivileged STRT instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +#define __STRBT(value, ptr) __strt(value, ptr) + + +/** + \brief STRT Unprivileged (16 bit) + \details Executes a Unprivileged STRT instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +#define __STRHT(value, ptr) __strt(value, ptr) + + +/** + \brief STRT Unprivileged (32 bit) + \details Executes a Unprivileged STRT instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +#define __STRT(value, ptr) __strt(value, ptr) + +#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +__attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat) +{ + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; +} + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat) +{ + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ + +/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ + + +/* ################### Compiler specific Intrinsics ########################### */ +/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics + Access to dedicated SIMD instructions + @{ +*/ + +#if ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + +#define __SADD8 __sadd8 +#define __QADD8 __qadd8 +#define __SHADD8 __shadd8 +#define __UADD8 __uadd8 +#define __UQADD8 __uqadd8 +#define __UHADD8 __uhadd8 +#define __SSUB8 __ssub8 +#define __QSUB8 __qsub8 +#define __SHSUB8 __shsub8 +#define __USUB8 __usub8 +#define __UQSUB8 __uqsub8 +#define __UHSUB8 __uhsub8 +#define __SADD16 __sadd16 +#define __QADD16 __qadd16 +#define __SHADD16 __shadd16 +#define __UADD16 __uadd16 +#define __UQADD16 __uqadd16 +#define __UHADD16 __uhadd16 +#define __SSUB16 __ssub16 +#define __QSUB16 __qsub16 +#define __SHSUB16 __shsub16 +#define __USUB16 __usub16 +#define __UQSUB16 __uqsub16 +#define __UHSUB16 __uhsub16 +#define __SASX __sasx +#define __QASX __qasx +#define __SHASX __shasx +#define __UASX __uasx +#define __UQASX __uqasx +#define __UHASX __uhasx +#define __SSAX __ssax +#define __QSAX __qsax +#define __SHSAX __shsax +#define __USAX __usax +#define __UQSAX __uqsax +#define __UHSAX __uhsax +#define __USAD8 __usad8 +#define __USADA8 __usada8 +#define __SSAT16 __ssat16 +#define __USAT16 __usat16 +#define __UXTB16 __uxtb16 +#define __UXTAB16 __uxtab16 +#define __SXTB16 __sxtb16 +#define __SXTAB16 __sxtab16 +#define __SMUAD __smuad +#define __SMUADX __smuadx +#define __SMLAD __smlad +#define __SMLADX __smladx +#define __SMLALD __smlald +#define __SMLALDX __smlaldx +#define __SMUSD __smusd +#define __SMUSDX __smusdx +#define __SMLSD __smlsd +#define __SMLSDX __smlsdx +#define __SMLSLD __smlsld +#define __SMLSLDX __smlsldx +#define __SEL __sel +#define __QADD __qadd +#define __QSUB __qsub + +#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ + ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) + +#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ + ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) + +#define __SMMLA(ARG1,ARG2,ARG3) ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \ + ((int64_t)(ARG3) << 32U) ) >> 32U)) + +#endif /* ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ +/*@} end of group CMSIS_SIMD_intrinsics */ + + +#endif /* __CMSIS_ARMCC_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang.h new file mode 100644 index 0000000..e917f35 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang.h @@ -0,0 +1,1444 @@ +/**************************************************************************//** + * @file cmsis_armclang.h + * @brief CMSIS compiler armclang (Arm Compiler 6) header file + * @version V5.2.0 + * @date 08. May 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/*lint -esym(9058, IRQn)*/ /* disable MISRA 2012 Rule 2.4 for IRQn */ + +#ifndef __CMSIS_ARMCLANG_H +#define __CMSIS_ARMCLANG_H + +#pragma clang system_header /* treat file as system include file */ + +#ifndef __ARM_COMPAT_H +#include /* Compatibility header for Arm Compiler 5 intrinsics */ +#endif + +/* CMSIS compiler specific defines */ +#ifndef __ASM + #define __ASM __asm +#endif +#ifndef __INLINE + #define __INLINE __inline +#endif +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static __inline +#endif +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __attribute__((always_inline)) static __inline +#endif +#ifndef __NO_RETURN + #define __NO_RETURN __attribute__((__noreturn__)) +#endif +#ifndef __USED + #define __USED __attribute__((used)) +#endif +#ifndef __WEAK + #define __WEAK __attribute__((weak)) +#endif +#ifndef __PACKED + #define __PACKED __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_STRUCT + #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_UNION + #define __PACKED_UNION union __attribute__((packed, aligned(1))) +#endif +#ifndef __UNALIGNED_UINT32 /* deprecated */ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32 */ + struct __attribute__((packed)) T_UINT32 { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) +#endif +#ifndef __UNALIGNED_UINT16_WRITE + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT16_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_WRITE */ + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT16_READ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT16_READ)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_READ */ + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) +#endif +#ifndef __UNALIGNED_UINT32_WRITE + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32_WRITE */ + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT32_READ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32_READ)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32_READ */ + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) +#endif +#ifndef __ALIGNED + #define __ALIGNED(x) __attribute__((aligned(x))) +#endif +#ifndef __RESTRICT + #define __RESTRICT __restrict +#endif +#ifndef __COMPILER_BARRIER + #define __COMPILER_BARRIER() __ASM volatile("":::"memory") +#endif + +/* ######################### Startup and Lowlevel Init ######################## */ + +#ifndef __PROGRAM_START +#define __PROGRAM_START __main +#endif + +#ifndef __INITIAL_SP +#define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit +#endif + +#ifndef __STACK_LIMIT +#define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base +#endif + +#ifndef __VECTOR_TABLE +#define __VECTOR_TABLE __Vectors +#endif + +#ifndef __VECTOR_TABLE_ATTRIBUTE +#define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section("RESET"))) +#endif + +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __enable_irq(); see arm_compat.h */ + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __disable_irq(); see arm_compat.h */ + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __enable_fault_irq __enable_fiq /* see arm_compat.h */ + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __disable_fault_irq __disable_fiq /* see arm_compat.h */ + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr +#else +#define __get_FPSCR() ((uint32_t)0U) +#endif + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __set_FPSCR __builtin_arm_set_fpscr +#else +#define __set_FPSCR(x) ((void)(x)) +#endif + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + +/* ########################## Core Instruction Access ######################### */ +/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface + Access to dedicated instructions + @{ +*/ + +/* Define macros for porting to both thumb1 and thumb2. + * For thumb1, use low register (r0-r7), specified by constraint "l" + * Otherwise, use general registers, specified by constraint "r" */ +#if defined (__thumb__) && !defined (__thumb2__) +#define __CMSIS_GCC_OUT_REG(r) "=l" (r) +#define __CMSIS_GCC_RW_REG(r) "+l" (r) +#define __CMSIS_GCC_USE_REG(r) "l" (r) +#else +#define __CMSIS_GCC_OUT_REG(r) "=r" (r) +#define __CMSIS_GCC_RW_REG(r) "+r" (r) +#define __CMSIS_GCC_USE_REG(r) "r" (r) +#endif + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ +#define __NOP __builtin_arm_nop + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. + */ +#define __WFI __builtin_arm_wfi + + +/** + \brief Wait For Event + \details Wait For Event is a hint instruction that permits the processor to enter + a low-power state until one of a number of events occurs. + */ +#define __WFE __builtin_arm_wfe + + +/** + \brief Send Event + \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. + */ +#define __SEV __builtin_arm_sev + + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +#define __ISB() __builtin_arm_isb(0xF) + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +#define __DSB() __builtin_arm_dsb(0xF) + + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +#define __DMB() __builtin_arm_dmb(0xF) + + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REV(value) __builtin_bswap32(value) + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REV16(value) __ROR(__REV(value), 16) + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REVSH(value) (int16_t)__builtin_bswap16(value) + + +/** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) +{ + op2 %= 32U; + if (op2 == 0U) + { + return op1; + } + return (op1 >> op2) | (op1 << (32U - op2)); +} + + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state. + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + \param [in] value is ignored by the processor. + If required, a debugger can use it to store additional information about the breakpoint. + */ +#define __BKPT(value) __ASM volatile ("bkpt "#value) + + +/** + \brief Reverse bit order of value + \details Reverses the bit order of the given value. + \param [in] value Value to reverse + \return Reversed value + */ +#define __RBIT __builtin_arm_rbit + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) +{ + /* Even though __builtin_clz produces a CLZ instruction on ARM, formally + __builtin_clz(0) is undefined behaviour, so handle this case specially. + This guarantees ARM-compatible results if happening to compile on a non-ARM + target, and ensures the compiler doesn't decide to activate any + optimisations using the logic "value was passed to __builtin_clz, so it + is non-zero". + ARM Compiler 6.10 and possibly earlier will optimise this test away, leaving a + single CLZ instruction. + */ + if (value == 0U) + { + return 32U; + } + return __builtin_clz(value); +} + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief LDR Exclusive (8 bit) + \details Executes a exclusive LDR instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#define __LDREXB (uint8_t)__builtin_arm_ldrex + + +/** + \brief LDR Exclusive (16 bit) + \details Executes a exclusive LDR instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#define __LDREXH (uint16_t)__builtin_arm_ldrex + + +/** + \brief LDR Exclusive (32 bit) + \details Executes a exclusive LDR instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#define __LDREXW (uint32_t)__builtin_arm_ldrex + + +/** + \brief STR Exclusive (8 bit) + \details Executes a exclusive STR instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXB (uint32_t)__builtin_arm_strex + + +/** + \brief STR Exclusive (16 bit) + \details Executes a exclusive STR instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXH (uint32_t)__builtin_arm_strex + + +/** + \brief STR Exclusive (32 bit) + \details Executes a exclusive STR instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXW (uint32_t)__builtin_arm_strex + + +/** + \brief Remove the exclusive lock + \details Removes the exclusive lock which is created by LDREX. + */ +#define __CLREX __builtin_arm_clrex + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +#define __SSAT __builtin_arm_ssat + + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +#define __USAT __builtin_arm_usat + + +/** + \brief Rotate Right with Extend (32 bit) + \details Moves each bit of a bitstring right by one bit. + The carry input is shifted in at the left end of the bitstring. + \param [in] value Value to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __RRX(uint32_t value) +{ + uint32_t result; + + __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return(result); +} + + +/** + \brief LDRT Unprivileged (8 bit) + \details Executes a Unprivileged LDRT instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (16 bit) + \details Executes a Unprivileged LDRT instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (32 bit) + \details Executes a Unprivileged LDRT instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief STRT Unprivileged (8 bit) + \details Executes a Unprivileged STRT instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("strbt %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (16 bit) + \details Executes a Unprivileged STRT instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("strht %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (32 bit) + \details Executes a Unprivileged STRT instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) ); +} + +#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +__STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat) +{ + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; +} + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat) +{ + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief Load-Acquire (8 bit) + \details Executes a LDAB instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); +} + + +/** + \brief Load-Acquire (16 bit) + \details Executes a LDAH instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldah %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); +} + + +/** + \brief Load-Acquire (32 bit) + \details Executes a LDA instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("lda %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief Store-Release (8 bit) + \details Executes a STLB instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("stlb %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (16 bit) + \details Executes a STLH instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (32 bit) + \details Executes a STL instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("stl %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Load-Acquire Exclusive (8 bit) + \details Executes a LDAB exclusive instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#define __LDAEXB (uint8_t)__builtin_arm_ldaex + + +/** + \brief Load-Acquire Exclusive (16 bit) + \details Executes a LDAH exclusive instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#define __LDAEXH (uint16_t)__builtin_arm_ldaex + + +/** + \brief Load-Acquire Exclusive (32 bit) + \details Executes a LDA exclusive instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#define __LDAEX (uint32_t)__builtin_arm_ldaex + + +/** + \brief Store-Release Exclusive (8 bit) + \details Executes a STLB exclusive instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEXB (uint32_t)__builtin_arm_stlex + + +/** + \brief Store-Release Exclusive (16 bit) + \details Executes a STLH exclusive instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEXH (uint32_t)__builtin_arm_stlex + + +/** + \brief Store-Release Exclusive (32 bit) + \details Executes a STL exclusive instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEX (uint32_t)__builtin_arm_stlex + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ + + +/* ################### Compiler specific Intrinsics ########################### */ +/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics + Access to dedicated SIMD instructions + @{ +*/ + +#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) + +#define __SADD8 __builtin_arm_sadd8 +#define __QADD8 __builtin_arm_qadd8 +#define __SHADD8 __builtin_arm_shadd8 +#define __UADD8 __builtin_arm_uadd8 +#define __UQADD8 __builtin_arm_uqadd8 +#define __UHADD8 __builtin_arm_uhadd8 +#define __SSUB8 __builtin_arm_ssub8 +#define __QSUB8 __builtin_arm_qsub8 +#define __SHSUB8 __builtin_arm_shsub8 +#define __USUB8 __builtin_arm_usub8 +#define __UQSUB8 __builtin_arm_uqsub8 +#define __UHSUB8 __builtin_arm_uhsub8 +#define __SADD16 __builtin_arm_sadd16 +#define __QADD16 __builtin_arm_qadd16 +#define __SHADD16 __builtin_arm_shadd16 +#define __UADD16 __builtin_arm_uadd16 +#define __UQADD16 __builtin_arm_uqadd16 +#define __UHADD16 __builtin_arm_uhadd16 +#define __SSUB16 __builtin_arm_ssub16 +#define __QSUB16 __builtin_arm_qsub16 +#define __SHSUB16 __builtin_arm_shsub16 +#define __USUB16 __builtin_arm_usub16 +#define __UQSUB16 __builtin_arm_uqsub16 +#define __UHSUB16 __builtin_arm_uhsub16 +#define __SASX __builtin_arm_sasx +#define __QASX __builtin_arm_qasx +#define __SHASX __builtin_arm_shasx +#define __UASX __builtin_arm_uasx +#define __UQASX __builtin_arm_uqasx +#define __UHASX __builtin_arm_uhasx +#define __SSAX __builtin_arm_ssax +#define __QSAX __builtin_arm_qsax +#define __SHSAX __builtin_arm_shsax +#define __USAX __builtin_arm_usax +#define __UQSAX __builtin_arm_uqsax +#define __UHSAX __builtin_arm_uhsax +#define __USAD8 __builtin_arm_usad8 +#define __USADA8 __builtin_arm_usada8 +#define __SSAT16 __builtin_arm_ssat16 +#define __USAT16 __builtin_arm_usat16 +#define __UXTB16 __builtin_arm_uxtb16 +#define __UXTAB16 __builtin_arm_uxtab16 +#define __SXTB16 __builtin_arm_sxtb16 +#define __SXTAB16 __builtin_arm_sxtab16 +#define __SMUAD __builtin_arm_smuad +#define __SMUADX __builtin_arm_smuadx +#define __SMLAD __builtin_arm_smlad +#define __SMLADX __builtin_arm_smladx +#define __SMLALD __builtin_arm_smlald +#define __SMLALDX __builtin_arm_smlaldx +#define __SMUSD __builtin_arm_smusd +#define __SMUSDX __builtin_arm_smusdx +#define __SMLSD __builtin_arm_smlsd +#define __SMLSDX __builtin_arm_smlsdx +#define __SMLSLD __builtin_arm_smlsld +#define __SMLSLDX __builtin_arm_smlsldx +#define __SEL __builtin_arm_sel +#define __QADD __builtin_arm_qadd +#define __QSUB __builtin_arm_qsub + +#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ + ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) + +#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ + ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) + +__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) +{ + int32_t result; + + __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +#endif /* (__ARM_FEATURE_DSP == 1) */ +/*@} end of group CMSIS_SIMD_intrinsics */ + + +#endif /* __CMSIS_ARMCLANG_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang_ltm.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang_ltm.h new file mode 100644 index 0000000..feec324 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_armclang_ltm.h @@ -0,0 +1,1891 @@ +/**************************************************************************//** + * @file cmsis_armclang_ltm.h + * @brief CMSIS compiler armclang (Arm Compiler 6) header file + * @version V1.2.0 + * @date 08. May 2019 + ******************************************************************************/ +/* + * Copyright (c) 2018-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/*lint -esym(9058, IRQn)*/ /* disable MISRA 2012 Rule 2.4 for IRQn */ + +#ifndef __CMSIS_ARMCLANG_H +#define __CMSIS_ARMCLANG_H + +#pragma clang system_header /* treat file as system include file */ + +#ifndef __ARM_COMPAT_H +#include /* Compatibility header for Arm Compiler 5 intrinsics */ +#endif + +/* CMSIS compiler specific defines */ +#ifndef __ASM + #define __ASM __asm +#endif +#ifndef __INLINE + #define __INLINE __inline +#endif +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static __inline +#endif +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __attribute__((always_inline)) static __inline +#endif +#ifndef __NO_RETURN + #define __NO_RETURN __attribute__((__noreturn__)) +#endif +#ifndef __USED + #define __USED __attribute__((used)) +#endif +#ifndef __WEAK + #define __WEAK __attribute__((weak)) +#endif +#ifndef __PACKED + #define __PACKED __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_STRUCT + #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_UNION + #define __PACKED_UNION union __attribute__((packed, aligned(1))) +#endif +#ifndef __UNALIGNED_UINT32 /* deprecated */ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32 */ + struct __attribute__((packed)) T_UINT32 { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) +#endif +#ifndef __UNALIGNED_UINT16_WRITE + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT16_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_WRITE */ + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT16_READ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT16_READ)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_READ */ + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) +#endif +#ifndef __UNALIGNED_UINT32_WRITE + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32_WRITE */ + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT32_READ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wpacked" +/*lint -esym(9058, T_UINT32_READ)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32_READ */ + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #pragma clang diagnostic pop + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) +#endif +#ifndef __ALIGNED + #define __ALIGNED(x) __attribute__((aligned(x))) +#endif +#ifndef __RESTRICT + #define __RESTRICT __restrict +#endif +#ifndef __COMPILER_BARRIER + #define __COMPILER_BARRIER() __ASM volatile("":::"memory") +#endif + +/* ######################### Startup and Lowlevel Init ######################## */ + +#ifndef __PROGRAM_START +#define __PROGRAM_START __main +#endif + +#ifndef __INITIAL_SP +#define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit +#endif + +#ifndef __STACK_LIMIT +#define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base +#endif + +#ifndef __VECTOR_TABLE +#define __VECTOR_TABLE __Vectors +#endif + +#ifndef __VECTOR_TABLE_ATTRIBUTE +#define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section("RESET"))) +#endif + + +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __enable_irq(); see arm_compat.h */ + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +/* intrinsic void __disable_irq(); see arm_compat.h */ + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __enable_fault_irq __enable_fiq /* see arm_compat.h */ + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +#define __disable_fault_irq __disable_fiq /* see arm_compat.h */ + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr +#else +#define __get_FPSCR() ((uint32_t)0U) +#endif + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __set_FPSCR __builtin_arm_set_fpscr +#else +#define __set_FPSCR(x) ((void)(x)) +#endif + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + +/* ########################## Core Instruction Access ######################### */ +/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface + Access to dedicated instructions + @{ +*/ + +/* Define macros for porting to both thumb1 and thumb2. + * For thumb1, use low register (r0-r7), specified by constraint "l" + * Otherwise, use general registers, specified by constraint "r" */ +#if defined (__thumb__) && !defined (__thumb2__) +#define __CMSIS_GCC_OUT_REG(r) "=l" (r) +#define __CMSIS_GCC_USE_REG(r) "l" (r) +#else +#define __CMSIS_GCC_OUT_REG(r) "=r" (r) +#define __CMSIS_GCC_USE_REG(r) "r" (r) +#endif + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ +#define __NOP __builtin_arm_nop + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. + */ +#define __WFI __builtin_arm_wfi + + +/** + \brief Wait For Event + \details Wait For Event is a hint instruction that permits the processor to enter + a low-power state until one of a number of events occurs. + */ +#define __WFE __builtin_arm_wfe + + +/** + \brief Send Event + \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. + */ +#define __SEV __builtin_arm_sev + + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +#define __ISB() __builtin_arm_isb(0xF) + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +#define __DSB() __builtin_arm_dsb(0xF) + + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +#define __DMB() __builtin_arm_dmb(0xF) + + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REV(value) __builtin_bswap32(value) + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REV16(value) __ROR(__REV(value), 16) + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. + \param [in] value Value to reverse + \return Reversed value + */ +#define __REVSH(value) (int16_t)__builtin_bswap16(value) + + +/** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) +{ + op2 %= 32U; + if (op2 == 0U) + { + return op1; + } + return (op1 >> op2) | (op1 << (32U - op2)); +} + + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state. + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + \param [in] value is ignored by the processor. + If required, a debugger can use it to store additional information about the breakpoint. + */ +#define __BKPT(value) __ASM volatile ("bkpt "#value) + + +/** + \brief Reverse bit order of value + \details Reverses the bit order of the given value. + \param [in] value Value to reverse + \return Reversed value + */ +#define __RBIT __builtin_arm_rbit + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) +{ + /* Even though __builtin_clz produces a CLZ instruction on ARM, formally + __builtin_clz(0) is undefined behaviour, so handle this case specially. + This guarantees ARM-compatible results if happening to compile on a non-ARM + target, and ensures the compiler doesn't decide to activate any + optimisations using the logic "value was passed to __builtin_clz, so it + is non-zero". + ARM Compiler 6.10 and possibly earlier will optimise this test away, leaving a + single CLZ instruction. + */ + if (value == 0U) + { + return 32U; + } + return __builtin_clz(value); +} + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief LDR Exclusive (8 bit) + \details Executes a exclusive LDR instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#define __LDREXB (uint8_t)__builtin_arm_ldrex + + +/** + \brief LDR Exclusive (16 bit) + \details Executes a exclusive LDR instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#define __LDREXH (uint16_t)__builtin_arm_ldrex + + +/** + \brief LDR Exclusive (32 bit) + \details Executes a exclusive LDR instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#define __LDREXW (uint32_t)__builtin_arm_ldrex + + +/** + \brief STR Exclusive (8 bit) + \details Executes a exclusive STR instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXB (uint32_t)__builtin_arm_strex + + +/** + \brief STR Exclusive (16 bit) + \details Executes a exclusive STR instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXH (uint32_t)__builtin_arm_strex + + +/** + \brief STR Exclusive (32 bit) + \details Executes a exclusive STR instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STREXW (uint32_t)__builtin_arm_strex + + +/** + \brief Remove the exclusive lock + \details Removes the exclusive lock which is created by LDREX. + */ +#define __CLREX __builtin_arm_clrex + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +#define __SSAT __builtin_arm_ssat + + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +#define __USAT __builtin_arm_usat + + +/** + \brief Rotate Right with Extend (32 bit) + \details Moves each bit of a bitstring right by one bit. + The carry input is shifted in at the left end of the bitstring. + \param [in] value Value to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __RRX(uint32_t value) +{ + uint32_t result; + + __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return(result); +} + + +/** + \brief LDRT Unprivileged (8 bit) + \details Executes a Unprivileged LDRT instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (16 bit) + \details Executes a Unprivileged LDRT instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (32 bit) + \details Executes a Unprivileged LDRT instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief STRT Unprivileged (8 bit) + \details Executes a Unprivileged STRT instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("strbt %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (16 bit) + \details Executes a Unprivileged STRT instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("strht %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (32 bit) + \details Executes a Unprivileged STRT instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) ); +} + +#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +__STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat) +{ + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; +} + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat) +{ + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief Load-Acquire (8 bit) + \details Executes a LDAB instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); +} + + +/** + \brief Load-Acquire (16 bit) + \details Executes a LDAH instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldah %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); +} + + +/** + \brief Load-Acquire (32 bit) + \details Executes a LDA instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("lda %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief Store-Release (8 bit) + \details Executes a STLB instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("stlb %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (16 bit) + \details Executes a STLH instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (32 bit) + \details Executes a STL instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("stl %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Load-Acquire Exclusive (8 bit) + \details Executes a LDAB exclusive instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +#define __LDAEXB (uint8_t)__builtin_arm_ldaex + + +/** + \brief Load-Acquire Exclusive (16 bit) + \details Executes a LDAH exclusive instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +#define __LDAEXH (uint16_t)__builtin_arm_ldaex + + +/** + \brief Load-Acquire Exclusive (32 bit) + \details Executes a LDA exclusive instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +#define __LDAEX (uint32_t)__builtin_arm_ldaex + + +/** + \brief Store-Release Exclusive (8 bit) + \details Executes a STLB exclusive instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEXB (uint32_t)__builtin_arm_stlex + + +/** + \brief Store-Release Exclusive (16 bit) + \details Executes a STLH exclusive instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEXH (uint32_t)__builtin_arm_stlex + + +/** + \brief Store-Release Exclusive (32 bit) + \details Executes a STL exclusive instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +#define __STLEX (uint32_t)__builtin_arm_stlex + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ + + +/* ################### Compiler specific Intrinsics ########################### */ +/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics + Access to dedicated SIMD instructions + @{ +*/ + +#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) + +__STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + + +__STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + + +__STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +#define __SSAT16(ARG1,ARG2) \ +({ \ + int32_t __RES, __ARG1 = (ARG1); \ + __ASM ("ssat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + +#define __USAT16(ARG1,ARG2) \ +({ \ + uint32_t __RES, __ARG1 = (ARG1); \ + __ASM ("usat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + +__STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1) +{ + uint32_t result; + + __ASM volatile ("uxtb16 %0, %1" : "=r" (result) : "r" (op1)); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1) +{ + uint32_t result; + + __ASM volatile ("sxtb16 %0, %1" : "=r" (result) : "r" (op1)); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint32_t __SEL (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2) +{ + int32_t result; + + __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) +{ + int32_t result; + + __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ + ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) + +#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ + ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) + +__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) +{ + int32_t result; + + __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +#endif /* (__ARM_FEATURE_DSP == 1) */ +/*@} end of group CMSIS_SIMD_intrinsics */ + + +#endif /* __CMSIS_ARMCLANG_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_compiler.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_compiler.h new file mode 100644 index 0000000..adbf296 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_compiler.h @@ -0,0 +1,283 @@ +/**************************************************************************//** + * @file cmsis_compiler.h + * @brief CMSIS compiler generic header file + * @version V5.1.0 + * @date 09. October 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_COMPILER_H +#define __CMSIS_COMPILER_H + +#include + +/* + * Arm Compiler 4/5 + */ +#if defined ( __CC_ARM ) + #include "cmsis_armcc.h" + + +/* + * Arm Compiler 6.6 LTM (armclang) + */ +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) && (__ARMCC_VERSION < 6100100) + #include "cmsis_armclang_ltm.h" + + /* + * Arm Compiler above 6.10.1 (armclang) + */ +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) + #include "cmsis_armclang.h" + + +/* + * GNU Compiler + */ +#elif defined ( __GNUC__ ) + #include "cmsis_gcc.h" + + +/* + * IAR Compiler + */ +#elif defined ( __ICCARM__ ) + #include + + +/* + * TI Arm Compiler + */ +#elif defined ( __TI_ARM__ ) + #include + + #ifndef __ASM + #define __ASM __asm + #endif + #ifndef __INLINE + #define __INLINE inline + #endif + #ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline + #endif + #ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __STATIC_INLINE + #endif + #ifndef __NO_RETURN + #define __NO_RETURN __attribute__((noreturn)) + #endif + #ifndef __USED + #define __USED __attribute__((used)) + #endif + #ifndef __WEAK + #define __WEAK __attribute__((weak)) + #endif + #ifndef __PACKED + #define __PACKED __attribute__((packed)) + #endif + #ifndef __PACKED_STRUCT + #define __PACKED_STRUCT struct __attribute__((packed)) + #endif + #ifndef __PACKED_UNION + #define __PACKED_UNION union __attribute__((packed)) + #endif + #ifndef __UNALIGNED_UINT32 /* deprecated */ + struct __attribute__((packed)) T_UINT32 { uint32_t v; }; + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) + #endif + #ifndef __UNALIGNED_UINT16_WRITE + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT16_READ + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) + #endif + #ifndef __UNALIGNED_UINT32_WRITE + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT32_READ + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) + #endif + #ifndef __ALIGNED + #define __ALIGNED(x) __attribute__((aligned(x))) + #endif + #ifndef __RESTRICT + #define __RESTRICT __restrict + #endif + #ifndef __COMPILER_BARRIER + #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. + #define __COMPILER_BARRIER() (void)0 + #endif + + +/* + * TASKING Compiler + */ +#elif defined ( __TASKING__ ) + /* + * The CMSIS functions have been implemented as intrinsics in the compiler. + * Please use "carm -?i" to get an up to date list of all intrinsics, + * Including the CMSIS ones. + */ + + #ifndef __ASM + #define __ASM __asm + #endif + #ifndef __INLINE + #define __INLINE inline + #endif + #ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline + #endif + #ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __STATIC_INLINE + #endif + #ifndef __NO_RETURN + #define __NO_RETURN __attribute__((noreturn)) + #endif + #ifndef __USED + #define __USED __attribute__((used)) + #endif + #ifndef __WEAK + #define __WEAK __attribute__((weak)) + #endif + #ifndef __PACKED + #define __PACKED __packed__ + #endif + #ifndef __PACKED_STRUCT + #define __PACKED_STRUCT struct __packed__ + #endif + #ifndef __PACKED_UNION + #define __PACKED_UNION union __packed__ + #endif + #ifndef __UNALIGNED_UINT32 /* deprecated */ + struct __packed__ T_UINT32 { uint32_t v; }; + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) + #endif + #ifndef __UNALIGNED_UINT16_WRITE + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT16_READ + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) + #endif + #ifndef __UNALIGNED_UINT32_WRITE + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT32_READ + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) + #endif + #ifndef __ALIGNED + #define __ALIGNED(x) __align(x) + #endif + #ifndef __RESTRICT + #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. + #define __RESTRICT + #endif + #ifndef __COMPILER_BARRIER + #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. + #define __COMPILER_BARRIER() (void)0 + #endif + + +/* + * COSMIC Compiler + */ +#elif defined ( __CSMC__ ) + #include + + #ifndef __ASM + #define __ASM _asm + #endif + #ifndef __INLINE + #define __INLINE inline + #endif + #ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline + #endif + #ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __STATIC_INLINE + #endif + #ifndef __NO_RETURN + // NO RETURN is automatically detected hence no warning here + #define __NO_RETURN + #endif + #ifndef __USED + #warning No compiler specific solution for __USED. __USED is ignored. + #define __USED + #endif + #ifndef __WEAK + #define __WEAK __weak + #endif + #ifndef __PACKED + #define __PACKED @packed + #endif + #ifndef __PACKED_STRUCT + #define __PACKED_STRUCT @packed struct + #endif + #ifndef __PACKED_UNION + #define __PACKED_UNION @packed union + #endif + #ifndef __UNALIGNED_UINT32 /* deprecated */ + @packed struct T_UINT32 { uint32_t v; }; + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) + #endif + #ifndef __UNALIGNED_UINT16_WRITE + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT16_READ + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) + #endif + #ifndef __UNALIGNED_UINT32_WRITE + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) + #endif + #ifndef __UNALIGNED_UINT32_READ + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) + #endif + #ifndef __ALIGNED + #warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored. + #define __ALIGNED(x) + #endif + #ifndef __RESTRICT + #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. + #define __RESTRICT + #endif + #ifndef __COMPILER_BARRIER + #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. + #define __COMPILER_BARRIER() (void)0 + #endif + + +#else + #error Unknown compiler. +#endif + + +#endif /* __CMSIS_COMPILER_H */ + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_gcc.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_gcc.h new file mode 100644 index 0000000..3ddcc58 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_gcc.h @@ -0,0 +1,2168 @@ +/**************************************************************************//** + * @file cmsis_gcc.h + * @brief CMSIS compiler GCC header file + * @version V5.2.0 + * @date 08. May 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_GCC_H +#define __CMSIS_GCC_H + +/* ignore some GCC warnings */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wunused-parameter" + +/* Fallback for __has_builtin */ +#ifndef __has_builtin + #define __has_builtin(x) (0) +#endif + +/* CMSIS compiler specific defines */ +#ifndef __ASM + #define __ASM __asm +#endif +#ifndef __INLINE + #define __INLINE inline +#endif +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline +#endif +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline +#endif +#ifndef __NO_RETURN + #define __NO_RETURN __attribute__((__noreturn__)) +#endif +#ifndef __USED + #define __USED __attribute__((used)) +#endif +#ifndef __WEAK + #define __WEAK __attribute__((weak)) +#endif +#ifndef __PACKED + #define __PACKED __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_STRUCT + #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) +#endif +#ifndef __PACKED_UNION + #define __PACKED_UNION union __attribute__((packed, aligned(1))) +#endif +#ifndef __UNALIGNED_UINT32 /* deprecated */ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpacked" + #pragma GCC diagnostic ignored "-Wattributes" + struct __attribute__((packed)) T_UINT32 { uint32_t v; }; + #pragma GCC diagnostic pop + #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) +#endif +#ifndef __UNALIGNED_UINT16_WRITE + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpacked" + #pragma GCC diagnostic ignored "-Wattributes" + __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; + #pragma GCC diagnostic pop + #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT16_READ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpacked" + #pragma GCC diagnostic ignored "-Wattributes" + __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; + #pragma GCC diagnostic pop + #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) +#endif +#ifndef __UNALIGNED_UINT32_WRITE + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpacked" + #pragma GCC diagnostic ignored "-Wattributes" + __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; + #pragma GCC diagnostic pop + #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) +#endif +#ifndef __UNALIGNED_UINT32_READ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpacked" + #pragma GCC diagnostic ignored "-Wattributes" + __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; + #pragma GCC diagnostic pop + #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) +#endif +#ifndef __ALIGNED + #define __ALIGNED(x) __attribute__((aligned(x))) +#endif +#ifndef __RESTRICT + #define __RESTRICT __restrict +#endif +#ifndef __COMPILER_BARRIER + #define __COMPILER_BARRIER() __ASM volatile("":::"memory") +#endif + +/* ######################### Startup and Lowlevel Init ######################## */ + +#ifndef __PROGRAM_START + +/** + \brief Initializes data and bss sections + \details This default implementations initialized all data and additional bss + sections relying on .copy.table and .zero.table specified properly + in the used linker script. + + */ +__STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) +{ + extern void _start(void) __NO_RETURN; + + typedef struct { + uint32_t const* src; + uint32_t* dest; + uint32_t wlen; + } __copy_table_t; + + typedef struct { + uint32_t* dest; + uint32_t wlen; + } __zero_table_t; + + extern const __copy_table_t __copy_table_start__; + extern const __copy_table_t __copy_table_end__; + extern const __zero_table_t __zero_table_start__; + extern const __zero_table_t __zero_table_end__; + + for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable) { + for(uint32_t i=0u; iwlen; ++i) { + pTable->dest[i] = pTable->src[i]; + } + } + + for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable) { + for(uint32_t i=0u; iwlen; ++i) { + pTable->dest[i] = 0u; + } + } + + _start(); +} + +#define __PROGRAM_START __cmsis_start +#endif + +#ifndef __INITIAL_SP +#define __INITIAL_SP __StackTop +#endif + +#ifndef __STACK_LIMIT +#define __STACK_LIMIT __StackLimit +#endif + +#ifndef __VECTOR_TABLE +#define __VECTOR_TABLE __Vectors +#endif + +#ifndef __VECTOR_TABLE_ATTRIBUTE +#define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section(".vectors"))) +#endif + +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_irq(void) +{ + __ASM volatile ("cpsie i" : : : "memory"); +} + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("cpsid i" : : : "memory"); +} + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_fault_irq(void) +{ + __ASM volatile ("cpsie f" : : : "memory"); +} + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting the F-bit in the CPSR. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_fault_irq(void) +{ + __ASM volatile ("cpsid f" : : : "memory"); +} + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +__STATIC_FORCEINLINE uint32_t __get_FPSCR(void) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#if __has_builtin(__builtin_arm_get_fpscr) +// Re-enable using built-in when GCC has been fixed +// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) + /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ + return __builtin_arm_get_fpscr(); +#else + uint32_t result; + + __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); + return(result); +#endif +#else + return(0U); +#endif +} + + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +__STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#if __has_builtin(__builtin_arm_set_fpscr) +// Re-enable using built-in when GCC has been fixed +// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) + /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ + __builtin_arm_set_fpscr(fpscr); +#else + __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); +#endif +#else + (void)fpscr; +#endif +} + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + +/* ########################## Core Instruction Access ######################### */ +/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface + Access to dedicated instructions + @{ +*/ + +/* Define macros for porting to both thumb1 and thumb2. + * For thumb1, use low register (r0-r7), specified by constraint "l" + * Otherwise, use general registers, specified by constraint "r" */ +#if defined (__thumb__) && !defined (__thumb2__) +#define __CMSIS_GCC_OUT_REG(r) "=l" (r) +#define __CMSIS_GCC_RW_REG(r) "+l" (r) +#define __CMSIS_GCC_USE_REG(r) "l" (r) +#else +#define __CMSIS_GCC_OUT_REG(r) "=r" (r) +#define __CMSIS_GCC_RW_REG(r) "+r" (r) +#define __CMSIS_GCC_USE_REG(r) "r" (r) +#endif + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ +#define __NOP() __ASM volatile ("nop") + +/** + \brief Wait For Interrupt + \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. + */ +#define __WFI() __ASM volatile ("wfi") + + +/** + \brief Wait For Event + \details Wait For Event is a hint instruction that permits the processor to enter + a low-power state until one of a number of events occurs. + */ +#define __WFE() __ASM volatile ("wfe") + + +/** + \brief Send Event + \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. + */ +#define __SEV() __ASM volatile ("sev") + + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +__STATIC_FORCEINLINE void __ISB(void) +{ + __ASM volatile ("isb 0xF":::"memory"); +} + + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +__STATIC_FORCEINLINE void __DSB(void) +{ + __ASM volatile ("dsb 0xF":::"memory"); +} + + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +__STATIC_FORCEINLINE void __DMB(void) +{ + __ASM volatile ("dmb 0xF":::"memory"); +} + + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE uint32_t __REV(uint32_t value) +{ +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) + return __builtin_bswap32(value); +#else + uint32_t result; + + __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return result; +#endif +} + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) +{ + uint32_t result; + + __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return result; +} + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE int16_t __REVSH(int16_t value) +{ +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + return (int16_t)__builtin_bswap16(value); +#else + int16_t result; + + __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return result; +#endif +} + + +/** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) +{ + op2 %= 32U; + if (op2 == 0U) + { + return op1; + } + return (op1 >> op2) | (op1 << (32U - op2)); +} + + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state. + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + \param [in] value is ignored by the processor. + If required, a debugger can use it to store additional information about the breakpoint. + */ +#define __BKPT(value) __ASM volatile ("bkpt "#value) + + +/** + \brief Reverse bit order of value + \details Reverses the bit order of the given value. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) +{ + uint32_t result; + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) + __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); +#else + uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ + + result = value; /* r will be reversed bits of v; first get LSB of v */ + for (value >>= 1U; value != 0U; value >>= 1U) + { + result <<= 1U; + result |= value & 1U; + s--; + } + result <<= s; /* shift when v's highest bits are zero */ +#endif + return result; +} + + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) +{ + /* Even though __builtin_clz produces a CLZ instruction on ARM, formally + __builtin_clz(0) is undefined behaviour, so handle this case specially. + This guarantees ARM-compatible results if happening to compile on a non-ARM + target, and ensures the compiler doesn't decide to activate any + optimisations using the logic "value was passed to __builtin_clz, so it + is non-zero". + ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a + single CLZ instruction. + */ + if (value == 0U) + { + return 32U; + } + return __builtin_clz(value); +} + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief LDR Exclusive (8 bit) + \details Executes a exclusive LDR instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) +{ + uint32_t result; + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); +#else + /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not + accepted by assembler. So has to use following less efficient pattern. + */ + __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); +#endif + return ((uint8_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDR Exclusive (16 bit) + \details Executes a exclusive LDR instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) +{ + uint32_t result; + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); +#else + /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not + accepted by assembler. So has to use following less efficient pattern. + */ + __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); +#endif + return ((uint16_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDR Exclusive (32 bit) + \details Executes a exclusive LDR instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) +{ + uint32_t result; + + __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); + return(result); +} + + +/** + \brief STR Exclusive (8 bit) + \details Executes a exclusive STR instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) +{ + uint32_t result; + + __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); + return(result); +} + + +/** + \brief STR Exclusive (16 bit) + \details Executes a exclusive STR instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) +{ + uint32_t result; + + __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); + return(result); +} + + +/** + \brief STR Exclusive (32 bit) + \details Executes a exclusive STR instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) +{ + uint32_t result; + + __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); + return(result); +} + + +/** + \brief Remove the exclusive lock + \details Removes the exclusive lock which is created by LDREX. + */ +__STATIC_FORCEINLINE void __CLREX(void) +{ + __ASM volatile ("clrex" ::: "memory"); +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] ARG1 Value to be saturated + \param [in] ARG2 Bit position to saturate to (1..32) + \return Saturated value + */ +#define __SSAT(ARG1,ARG2) \ +__extension__ \ +({ \ + int32_t __RES, __ARG1 = (ARG1); \ + __ASM ("ssat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] ARG1 Value to be saturated + \param [in] ARG2 Bit position to saturate to (0..31) + \return Saturated value + */ +#define __USAT(ARG1,ARG2) \ + __extension__ \ +({ \ + uint32_t __RES, __ARG1 = (ARG1); \ + __ASM ("usat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + + +/** + \brief Rotate Right with Extend (32 bit) + \details Moves each bit of a bitstring right by one bit. + The carry input is shifted in at the left end of the bitstring. + \param [in] value Value to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __RRX(uint32_t value) +{ + uint32_t result; + + __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + return(result); +} + + +/** + \brief LDRT Unprivileged (8 bit) + \details Executes a Unprivileged LDRT instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr) +{ + uint32_t result; + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*ptr) ); +#else + /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not + accepted by assembler. So has to use following less efficient pattern. + */ + __ASM volatile ("ldrbt %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" ); +#endif + return ((uint8_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (16 bit) + \details Executes a Unprivileged LDRT instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr) +{ + uint32_t result; + +#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) ); +#else + /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not + accepted by assembler. So has to use following less efficient pattern. + */ + __ASM volatile ("ldrht %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" ); +#endif + return ((uint16_t) result); /* Add explicit type cast here */ +} + + +/** + \brief LDRT Unprivileged (32 bit) + \details Executes a Unprivileged LDRT instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief STRT Unprivileged (8 bit) + \details Executes a Unprivileged STRT instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("strbt %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (16 bit) + \details Executes a Unprivileged STRT instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("strht %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief STRT Unprivileged (32 bit) + \details Executes a Unprivileged STRT instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) ); +} + +#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + +/** + \brief Signed Saturate + \details Saturates a signed value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (1..32) + \return Saturated value + */ +__STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat) +{ + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; +} + +/** + \brief Unsigned Saturate + \details Saturates an unsigned value. + \param [in] value Value to be saturated + \param [in] sat Bit position to saturate to (0..31) + \return Saturated value + */ +__STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat) +{ + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) +/** + \brief Load-Acquire (8 bit) + \details Executes a LDAB instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); +} + + +/** + \brief Load-Acquire (16 bit) + \details Executes a LDAH instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldah %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); +} + + +/** + \brief Load-Acquire (32 bit) + \details Executes a LDA instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("lda %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief Store-Release (8 bit) + \details Executes a STLB instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr) +{ + __ASM volatile ("stlb %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (16 bit) + \details Executes a STLH instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr) +{ + __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Store-Release (32 bit) + \details Executes a STL instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + */ +__STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) +{ + __ASM volatile ("stl %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) ); +} + + +/** + \brief Load-Acquire Exclusive (8 bit) + \details Executes a LDAB exclusive instruction for 8 bit value. + \param [in] ptr Pointer to data + \return value of type uint8_t at (*ptr) + */ +__STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldaexb %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint8_t) result); +} + + +/** + \brief Load-Acquire Exclusive (16 bit) + \details Executes a LDAH exclusive instruction for 16 bit values. + \param [in] ptr Pointer to data + \return value of type uint16_t at (*ptr) + */ +__STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldaexh %0, %1" : "=r" (result) : "Q" (*ptr) ); + return ((uint16_t) result); +} + + +/** + \brief Load-Acquire Exclusive (32 bit) + \details Executes a LDA exclusive instruction for 32 bit values. + \param [in] ptr Pointer to data + \return value of type uint32_t at (*ptr) + */ +__STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("ldaex %0, %1" : "=r" (result) : "Q" (*ptr) ); + return(result); +} + + +/** + \brief Store-Release Exclusive (8 bit) + \details Executes a STLB exclusive instruction for 8 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr) +{ + uint32_t result; + + __ASM volatile ("stlexb %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) ); + return(result); +} + + +/** + \brief Store-Release Exclusive (16 bit) + \details Executes a STLH exclusive instruction for 16 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr) +{ + uint32_t result; + + __ASM volatile ("stlexh %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) ); + return(result); +} + + +/** + \brief Store-Release Exclusive (32 bit) + \details Executes a STL exclusive instruction for 32 bit values. + \param [in] value Value to store + \param [in] ptr Pointer to location + \return 0 Function succeeded + \return 1 Function failed + */ +__STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr) +{ + uint32_t result; + + __ASM volatile ("stlex %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) ); + return(result); +} + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ + + +/* ################### Compiler specific Intrinsics ########################### */ +/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics + Access to dedicated SIMD instructions + @{ +*/ + +#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) + +__STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + + +__STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + + +__STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +#define __SSAT16(ARG1,ARG2) \ +({ \ + int32_t __RES, __ARG1 = (ARG1); \ + __ASM ("ssat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + +#define __USAT16(ARG1,ARG2) \ +({ \ + uint32_t __RES, __ARG1 = (ARG1); \ + __ASM ("usat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ + __RES; \ + }) + +__STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1) +{ + uint32_t result; + + __ASM volatile ("uxtb16 %0, %1" : "=r" (result) : "r" (op1)); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1) +{ + uint32_t result; + + __ASM volatile ("sxtb16 %0, %1" : "=r" (result) : "r" (op1)); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3) +{ + uint32_t result; + + __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +__STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uint64_t acc) +{ + union llreg_u{ + uint32_t w32[2]; + uint64_t w64; + } llr; + llr.w64 = acc; + +#ifndef __ARMEB__ /* Little endian */ + __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); +#else /* Big endian */ + __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); +#endif + + return(llr.w64); +} + +__STATIC_FORCEINLINE uint32_t __SEL (uint32_t op1, uint32_t op2) +{ + uint32_t result; + + __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2) +{ + int32_t result; + + __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) +{ + int32_t result; + + __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); + return(result); +} + +#if 0 +#define __PKHBT(ARG1,ARG2,ARG3) \ +({ \ + uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ + __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ + __RES; \ + }) + +#define __PKHTB(ARG1,ARG2,ARG3) \ +({ \ + uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ + if (ARG3 == 0) \ + __ASM ("pkhtb %0, %1, %2" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2) ); \ + else \ + __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ + __RES; \ + }) +#endif + +#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ + ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) + +#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ + ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) + +__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) +{ + int32_t result; + + __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); + return(result); +} + +#endif /* (__ARM_FEATURE_DSP == 1) */ +/*@} end of group CMSIS_SIMD_intrinsics */ + + +#pragma GCC diagnostic pop + +#endif /* __CMSIS_GCC_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_iccarm.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_iccarm.h new file mode 100644 index 0000000..12d68fd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_iccarm.h @@ -0,0 +1,964 @@ +/**************************************************************************//** + * @file cmsis_iccarm.h + * @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file + * @version V5.1.0 + * @date 08. May 2019 + ******************************************************************************/ + +//------------------------------------------------------------------------------ +// +// Copyright (c) 2017-2019 IAR Systems +// Copyright (c) 2017-2019 Arm Limited. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//------------------------------------------------------------------------------ + + +#ifndef __CMSIS_ICCARM_H__ +#define __CMSIS_ICCARM_H__ + +#ifndef __ICCARM__ + #error This file should only be compiled by ICCARM +#endif + +#pragma system_include + +#define __IAR_FT _Pragma("inline=forced") __intrinsic + +#if (__VER__ >= 8000000) + #define __ICCARM_V8 1 +#else + #define __ICCARM_V8 0 +#endif + +#ifndef __ALIGNED + #if __ICCARM_V8 + #define __ALIGNED(x) __attribute__((aligned(x))) + #elif (__VER__ >= 7080000) + /* Needs IAR language extensions */ + #define __ALIGNED(x) __attribute__((aligned(x))) + #else + #warning No compiler specific solution for __ALIGNED.__ALIGNED is ignored. + #define __ALIGNED(x) + #endif +#endif + + +/* Define compiler macros for CPU architecture, used in CMSIS 5. + */ +#if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__ || __ARM_ARCH_8M_BASE__ || __ARM_ARCH_8M_MAIN__ +/* Macros already defined */ +#else + #if defined(__ARM8M_MAINLINE__) || defined(__ARM8EM_MAINLINE__) + #define __ARM_ARCH_8M_MAIN__ 1 + #elif defined(__ARM8M_BASELINE__) + #define __ARM_ARCH_8M_BASE__ 1 + #elif defined(__ARM_ARCH_PROFILE) && __ARM_ARCH_PROFILE == 'M' + #if __ARM_ARCH == 6 + #define __ARM_ARCH_6M__ 1 + #elif __ARM_ARCH == 7 + #if __ARM_FEATURE_DSP + #define __ARM_ARCH_7EM__ 1 + #else + #define __ARM_ARCH_7M__ 1 + #endif + #endif /* __ARM_ARCH */ + #endif /* __ARM_ARCH_PROFILE == 'M' */ +#endif + +/* Alternativ core deduction for older ICCARM's */ +#if !defined(__ARM_ARCH_6M__) && !defined(__ARM_ARCH_7M__) && !defined(__ARM_ARCH_7EM__) && \ + !defined(__ARM_ARCH_8M_BASE__) && !defined(__ARM_ARCH_8M_MAIN__) + #if defined(__ARM6M__) && (__CORE__ == __ARM6M__) + #define __ARM_ARCH_6M__ 1 + #elif defined(__ARM7M__) && (__CORE__ == __ARM7M__) + #define __ARM_ARCH_7M__ 1 + #elif defined(__ARM7EM__) && (__CORE__ == __ARM7EM__) + #define __ARM_ARCH_7EM__ 1 + #elif defined(__ARM8M_BASELINE__) && (__CORE == __ARM8M_BASELINE__) + #define __ARM_ARCH_8M_BASE__ 1 + #elif defined(__ARM8M_MAINLINE__) && (__CORE == __ARM8M_MAINLINE__) + #define __ARM_ARCH_8M_MAIN__ 1 + #elif defined(__ARM8EM_MAINLINE__) && (__CORE == __ARM8EM_MAINLINE__) + #define __ARM_ARCH_8M_MAIN__ 1 + #else + #error "Unknown target." + #endif +#endif + + + +#if defined(__ARM_ARCH_6M__) && __ARM_ARCH_6M__==1 + #define __IAR_M0_FAMILY 1 +#elif defined(__ARM_ARCH_8M_BASE__) && __ARM_ARCH_8M_BASE__==1 + #define __IAR_M0_FAMILY 1 +#else + #define __IAR_M0_FAMILY 0 +#endif + + +#ifndef __ASM + #define __ASM __asm +#endif + +#ifndef __COMPILER_BARRIER + #define __COMPILER_BARRIER() __ASM volatile("":::"memory") +#endif + +#ifndef __INLINE + #define __INLINE inline +#endif + +#ifndef __NO_RETURN + #if __ICCARM_V8 + #define __NO_RETURN __attribute__((__noreturn__)) + #else + #define __NO_RETURN _Pragma("object_attribute=__noreturn") + #endif +#endif + +#ifndef __PACKED + #if __ICCARM_V8 + #define __PACKED __attribute__((packed, aligned(1))) + #else + /* Needs IAR language extensions */ + #define __PACKED __packed + #endif +#endif + +#ifndef __PACKED_STRUCT + #if __ICCARM_V8 + #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) + #else + /* Needs IAR language extensions */ + #define __PACKED_STRUCT __packed struct + #endif +#endif + +#ifndef __PACKED_UNION + #if __ICCARM_V8 + #define __PACKED_UNION union __attribute__((packed, aligned(1))) + #else + /* Needs IAR language extensions */ + #define __PACKED_UNION __packed union + #endif +#endif + +#ifndef __RESTRICT + #if __ICCARM_V8 + #define __RESTRICT __restrict + #else + /* Needs IAR language extensions */ + #define __RESTRICT restrict + #endif +#endif + +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline +#endif + +#ifndef __FORCEINLINE + #define __FORCEINLINE _Pragma("inline=forced") +#endif + +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __FORCEINLINE __STATIC_INLINE +#endif + +#ifndef __UNALIGNED_UINT16_READ +#pragma language=save +#pragma language=extended +__IAR_FT uint16_t __iar_uint16_read(void const *ptr) +{ + return *(__packed uint16_t*)(ptr); +} +#pragma language=restore +#define __UNALIGNED_UINT16_READ(PTR) __iar_uint16_read(PTR) +#endif + + +#ifndef __UNALIGNED_UINT16_WRITE +#pragma language=save +#pragma language=extended +__IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val) +{ + *(__packed uint16_t*)(ptr) = val;; +} +#pragma language=restore +#define __UNALIGNED_UINT16_WRITE(PTR,VAL) __iar_uint16_write(PTR,VAL) +#endif + +#ifndef __UNALIGNED_UINT32_READ +#pragma language=save +#pragma language=extended +__IAR_FT uint32_t __iar_uint32_read(void const *ptr) +{ + return *(__packed uint32_t*)(ptr); +} +#pragma language=restore +#define __UNALIGNED_UINT32_READ(PTR) __iar_uint32_read(PTR) +#endif + +#ifndef __UNALIGNED_UINT32_WRITE +#pragma language=save +#pragma language=extended +__IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val) +{ + *(__packed uint32_t*)(ptr) = val;; +} +#pragma language=restore +#define __UNALIGNED_UINT32_WRITE(PTR,VAL) __iar_uint32_write(PTR,VAL) +#endif + +#ifndef __UNALIGNED_UINT32 /* deprecated */ +#pragma language=save +#pragma language=extended +__packed struct __iar_u32 { uint32_t v; }; +#pragma language=restore +#define __UNALIGNED_UINT32(PTR) (((struct __iar_u32 *)(PTR))->v) +#endif + +#ifndef __USED + #if __ICCARM_V8 + #define __USED __attribute__((used)) + #else + #define __USED _Pragma("__root") + #endif +#endif + +#ifndef __WEAK + #if __ICCARM_V8 + #define __WEAK __attribute__((weak)) + #else + #define __WEAK _Pragma("__weak") + #endif +#endif + +#ifndef __PROGRAM_START +#define __PROGRAM_START __iar_program_start +#endif + +#ifndef __INITIAL_SP +#define __INITIAL_SP CSTACK$$Limit +#endif + +#ifndef __STACK_LIMIT +#define __STACK_LIMIT CSTACK$$Base +#endif + +#ifndef __VECTOR_TABLE +#define __VECTOR_TABLE __vector_table +#endif + +#ifndef __VECTOR_TABLE_ATTRIBUTE +#define __VECTOR_TABLE_ATTRIBUTE @".intvec" +#endif + +#ifndef __ICCARM_INTRINSICS_VERSION__ + #define __ICCARM_INTRINSICS_VERSION__ 0 +#endif + +#if __ICCARM_INTRINSICS_VERSION__ == 2 + + #if defined(__CLZ) + #undef __CLZ + #endif + #if defined(__REVSH) + #undef __REVSH + #endif + #if defined(__RBIT) + #undef __RBIT + #endif + #if defined(__SSAT) + #undef __SSAT + #endif + #if defined(__USAT) + #undef __USAT + #endif + + #include "iccarm_builtin.h" + + #define __disable_fault_irq __iar_builtin_disable_fiq + #define __disable_irq __iar_builtin_disable_interrupt + #define __enable_fault_irq __iar_builtin_enable_fiq + #define __enable_irq __iar_builtin_enable_interrupt + #define __arm_rsr __iar_builtin_rsr + #define __arm_wsr __iar_builtin_wsr + + + #define __get_APSR() (__arm_rsr("APSR")) + #define __get_BASEPRI() (__arm_rsr("BASEPRI")) + #define __get_CONTROL() (__arm_rsr("CONTROL")) + #define __get_FAULTMASK() (__arm_rsr("FAULTMASK")) + + #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) + #define __get_FPSCR() (__arm_rsr("FPSCR")) + #define __set_FPSCR(VALUE) (__arm_wsr("FPSCR", (VALUE))) + #else + #define __get_FPSCR() ( 0 ) + #define __set_FPSCR(VALUE) ((void)VALUE) + #endif + + #define __get_IPSR() (__arm_rsr("IPSR")) + #define __get_MSP() (__arm_rsr("MSP")) + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + #define __get_MSPLIM() (0U) + #else + #define __get_MSPLIM() (__arm_rsr("MSPLIM")) + #endif + #define __get_PRIMASK() (__arm_rsr("PRIMASK")) + #define __get_PSP() (__arm_rsr("PSP")) + + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + #define __get_PSPLIM() (0U) + #else + #define __get_PSPLIM() (__arm_rsr("PSPLIM")) + #endif + + #define __get_xPSR() (__arm_rsr("xPSR")) + + #define __set_BASEPRI(VALUE) (__arm_wsr("BASEPRI", (VALUE))) + #define __set_BASEPRI_MAX(VALUE) (__arm_wsr("BASEPRI_MAX", (VALUE))) + #define __set_CONTROL(VALUE) (__arm_wsr("CONTROL", (VALUE))) + #define __set_FAULTMASK(VALUE) (__arm_wsr("FAULTMASK", (VALUE))) + #define __set_MSP(VALUE) (__arm_wsr("MSP", (VALUE))) + + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + #define __set_MSPLIM(VALUE) ((void)(VALUE)) + #else + #define __set_MSPLIM(VALUE) (__arm_wsr("MSPLIM", (VALUE))) + #endif + #define __set_PRIMASK(VALUE) (__arm_wsr("PRIMASK", (VALUE))) + #define __set_PSP(VALUE) (__arm_wsr("PSP", (VALUE))) + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + #define __set_PSPLIM(VALUE) ((void)(VALUE)) + #else + #define __set_PSPLIM(VALUE) (__arm_wsr("PSPLIM", (VALUE))) + #endif + + #define __TZ_get_CONTROL_NS() (__arm_rsr("CONTROL_NS")) + #define __TZ_set_CONTROL_NS(VALUE) (__arm_wsr("CONTROL_NS", (VALUE))) + #define __TZ_get_PSP_NS() (__arm_rsr("PSP_NS")) + #define __TZ_set_PSP_NS(VALUE) (__arm_wsr("PSP_NS", (VALUE))) + #define __TZ_get_MSP_NS() (__arm_rsr("MSP_NS")) + #define __TZ_set_MSP_NS(VALUE) (__arm_wsr("MSP_NS", (VALUE))) + #define __TZ_get_SP_NS() (__arm_rsr("SP_NS")) + #define __TZ_set_SP_NS(VALUE) (__arm_wsr("SP_NS", (VALUE))) + #define __TZ_get_PRIMASK_NS() (__arm_rsr("PRIMASK_NS")) + #define __TZ_set_PRIMASK_NS(VALUE) (__arm_wsr("PRIMASK_NS", (VALUE))) + #define __TZ_get_BASEPRI_NS() (__arm_rsr("BASEPRI_NS")) + #define __TZ_set_BASEPRI_NS(VALUE) (__arm_wsr("BASEPRI_NS", (VALUE))) + #define __TZ_get_FAULTMASK_NS() (__arm_rsr("FAULTMASK_NS")) + #define __TZ_set_FAULTMASK_NS(VALUE)(__arm_wsr("FAULTMASK_NS", (VALUE))) + + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + #define __TZ_get_PSPLIM_NS() (0U) + #define __TZ_set_PSPLIM_NS(VALUE) ((void)(VALUE)) + #else + #define __TZ_get_PSPLIM_NS() (__arm_rsr("PSPLIM_NS")) + #define __TZ_set_PSPLIM_NS(VALUE) (__arm_wsr("PSPLIM_NS", (VALUE))) + #endif + + #define __TZ_get_MSPLIM_NS() (__arm_rsr("MSPLIM_NS")) + #define __TZ_set_MSPLIM_NS(VALUE) (__arm_wsr("MSPLIM_NS", (VALUE))) + + #define __NOP __iar_builtin_no_operation + + #define __CLZ __iar_builtin_CLZ + #define __CLREX __iar_builtin_CLREX + + #define __DMB __iar_builtin_DMB + #define __DSB __iar_builtin_DSB + #define __ISB __iar_builtin_ISB + + #define __LDREXB __iar_builtin_LDREXB + #define __LDREXH __iar_builtin_LDREXH + #define __LDREXW __iar_builtin_LDREX + + #define __RBIT __iar_builtin_RBIT + #define __REV __iar_builtin_REV + #define __REV16 __iar_builtin_REV16 + + __IAR_FT int16_t __REVSH(int16_t val) + { + return (int16_t) __iar_builtin_REVSH(val); + } + + #define __ROR __iar_builtin_ROR + #define __RRX __iar_builtin_RRX + + #define __SEV __iar_builtin_SEV + + #if !__IAR_M0_FAMILY + #define __SSAT __iar_builtin_SSAT + #endif + + #define __STREXB __iar_builtin_STREXB + #define __STREXH __iar_builtin_STREXH + #define __STREXW __iar_builtin_STREX + + #if !__IAR_M0_FAMILY + #define __USAT __iar_builtin_USAT + #endif + + #define __WFE __iar_builtin_WFE + #define __WFI __iar_builtin_WFI + + #if __ARM_MEDIA__ + #define __SADD8 __iar_builtin_SADD8 + #define __QADD8 __iar_builtin_QADD8 + #define __SHADD8 __iar_builtin_SHADD8 + #define __UADD8 __iar_builtin_UADD8 + #define __UQADD8 __iar_builtin_UQADD8 + #define __UHADD8 __iar_builtin_UHADD8 + #define __SSUB8 __iar_builtin_SSUB8 + #define __QSUB8 __iar_builtin_QSUB8 + #define __SHSUB8 __iar_builtin_SHSUB8 + #define __USUB8 __iar_builtin_USUB8 + #define __UQSUB8 __iar_builtin_UQSUB8 + #define __UHSUB8 __iar_builtin_UHSUB8 + #define __SADD16 __iar_builtin_SADD16 + #define __QADD16 __iar_builtin_QADD16 + #define __SHADD16 __iar_builtin_SHADD16 + #define __UADD16 __iar_builtin_UADD16 + #define __UQADD16 __iar_builtin_UQADD16 + #define __UHADD16 __iar_builtin_UHADD16 + #define __SSUB16 __iar_builtin_SSUB16 + #define __QSUB16 __iar_builtin_QSUB16 + #define __SHSUB16 __iar_builtin_SHSUB16 + #define __USUB16 __iar_builtin_USUB16 + #define __UQSUB16 __iar_builtin_UQSUB16 + #define __UHSUB16 __iar_builtin_UHSUB16 + #define __SASX __iar_builtin_SASX + #define __QASX __iar_builtin_QASX + #define __SHASX __iar_builtin_SHASX + #define __UASX __iar_builtin_UASX + #define __UQASX __iar_builtin_UQASX + #define __UHASX __iar_builtin_UHASX + #define __SSAX __iar_builtin_SSAX + #define __QSAX __iar_builtin_QSAX + #define __SHSAX __iar_builtin_SHSAX + #define __USAX __iar_builtin_USAX + #define __UQSAX __iar_builtin_UQSAX + #define __UHSAX __iar_builtin_UHSAX + #define __USAD8 __iar_builtin_USAD8 + #define __USADA8 __iar_builtin_USADA8 + #define __SSAT16 __iar_builtin_SSAT16 + #define __USAT16 __iar_builtin_USAT16 + #define __UXTB16 __iar_builtin_UXTB16 + #define __UXTAB16 __iar_builtin_UXTAB16 + #define __SXTB16 __iar_builtin_SXTB16 + #define __SXTAB16 __iar_builtin_SXTAB16 + #define __SMUAD __iar_builtin_SMUAD + #define __SMUADX __iar_builtin_SMUADX + #define __SMMLA __iar_builtin_SMMLA + #define __SMLAD __iar_builtin_SMLAD + #define __SMLADX __iar_builtin_SMLADX + #define __SMLALD __iar_builtin_SMLALD + #define __SMLALDX __iar_builtin_SMLALDX + #define __SMUSD __iar_builtin_SMUSD + #define __SMUSDX __iar_builtin_SMUSDX + #define __SMLSD __iar_builtin_SMLSD + #define __SMLSDX __iar_builtin_SMLSDX + #define __SMLSLD __iar_builtin_SMLSLD + #define __SMLSLDX __iar_builtin_SMLSLDX + #define __SEL __iar_builtin_SEL + #define __QADD __iar_builtin_QADD + #define __QSUB __iar_builtin_QSUB + #define __PKHBT __iar_builtin_PKHBT + #define __PKHTB __iar_builtin_PKHTB + #endif + +#else /* __ICCARM_INTRINSICS_VERSION__ == 2 */ + + #if __IAR_M0_FAMILY + /* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */ + #define __CLZ __cmsis_iar_clz_not_active + #define __SSAT __cmsis_iar_ssat_not_active + #define __USAT __cmsis_iar_usat_not_active + #define __RBIT __cmsis_iar_rbit_not_active + #define __get_APSR __cmsis_iar_get_APSR_not_active + #endif + + + #if (!((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) )) + #define __get_FPSCR __cmsis_iar_get_FPSR_not_active + #define __set_FPSCR __cmsis_iar_set_FPSR_not_active + #endif + + #ifdef __INTRINSICS_INCLUDED + #error intrinsics.h is already included previously! + #endif + + #include + + #if __IAR_M0_FAMILY + /* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */ + #undef __CLZ + #undef __SSAT + #undef __USAT + #undef __RBIT + #undef __get_APSR + + __STATIC_INLINE uint8_t __CLZ(uint32_t data) + { + if (data == 0U) { return 32U; } + + uint32_t count = 0U; + uint32_t mask = 0x80000000U; + + while ((data & mask) == 0U) + { + count += 1U; + mask = mask >> 1U; + } + return count; + } + + __STATIC_INLINE uint32_t __RBIT(uint32_t v) + { + uint8_t sc = 31U; + uint32_t r = v; + for (v >>= 1U; v; v >>= 1U) + { + r <<= 1U; + r |= v & 1U; + sc--; + } + return (r << sc); + } + + __STATIC_INLINE uint32_t __get_APSR(void) + { + uint32_t res; + __asm("MRS %0,APSR" : "=r" (res)); + return res; + } + + #endif + + #if (!((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) )) + #undef __get_FPSCR + #undef __set_FPSCR + #define __get_FPSCR() (0) + #define __set_FPSCR(VALUE) ((void)VALUE) + #endif + + #pragma diag_suppress=Pe940 + #pragma diag_suppress=Pe177 + + #define __enable_irq __enable_interrupt + #define __disable_irq __disable_interrupt + #define __NOP __no_operation + + #define __get_xPSR __get_PSR + + #if (!defined(__ARM_ARCH_6M__) || __ARM_ARCH_6M__==0) + + __IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr) + { + return __LDREX((unsigned long *)ptr); + } + + __IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr) + { + return __STREX(value, (unsigned long *)ptr); + } + #endif + + + /* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */ + #if (__CORTEX_M >= 0x03) + + __IAR_FT uint32_t __RRX(uint32_t value) + { + uint32_t result; + __ASM("RRX %0, %1" : "=r"(result) : "r" (value) : "cc"); + return(result); + } + + __IAR_FT void __set_BASEPRI_MAX(uint32_t value) + { + __asm volatile("MSR BASEPRI_MAX,%0"::"r" (value)); + } + + + #define __enable_fault_irq __enable_fiq + #define __disable_fault_irq __disable_fiq + + + #endif /* (__CORTEX_M >= 0x03) */ + + __IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2) + { + return (op1 >> op2) | (op1 << ((sizeof(op1)*8)-op2)); + } + + #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + + __IAR_FT uint32_t __get_MSPLIM(void) + { + uint32_t res; + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + res = 0U; + #else + __asm volatile("MRS %0,MSPLIM" : "=r" (res)); + #endif + return res; + } + + __IAR_FT void __set_MSPLIM(uint32_t value) + { + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)value; + #else + __asm volatile("MSR MSPLIM,%0" :: "r" (value)); + #endif + } + + __IAR_FT uint32_t __get_PSPLIM(void) + { + uint32_t res; + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + res = 0U; + #else + __asm volatile("MRS %0,PSPLIM" : "=r" (res)); + #endif + return res; + } + + __IAR_FT void __set_PSPLIM(uint32_t value) + { + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)value; + #else + __asm volatile("MSR PSPLIM,%0" :: "r" (value)); + #endif + } + + __IAR_FT uint32_t __TZ_get_CONTROL_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,CONTROL_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_CONTROL_NS(uint32_t value) + { + __asm volatile("MSR CONTROL_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_PSP_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,PSP_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_PSP_NS(uint32_t value) + { + __asm volatile("MSR PSP_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_MSP_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,MSP_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_MSP_NS(uint32_t value) + { + __asm volatile("MSR MSP_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_SP_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,SP_NS" : "=r" (res)); + return res; + } + __IAR_FT void __TZ_set_SP_NS(uint32_t value) + { + __asm volatile("MSR SP_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_PRIMASK_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,PRIMASK_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_PRIMASK_NS(uint32_t value) + { + __asm volatile("MSR PRIMASK_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_BASEPRI_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,BASEPRI_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_BASEPRI_NS(uint32_t value) + { + __asm volatile("MSR BASEPRI_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_FAULTMASK_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,FAULTMASK_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_FAULTMASK_NS(uint32_t value) + { + __asm volatile("MSR FAULTMASK_NS,%0" :: "r" (value)); + } + + __IAR_FT uint32_t __TZ_get_PSPLIM_NS(void) + { + uint32_t res; + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + res = 0U; + #else + __asm volatile("MRS %0,PSPLIM_NS" : "=r" (res)); + #endif + return res; + } + + __IAR_FT void __TZ_set_PSPLIM_NS(uint32_t value) + { + #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)value; + #else + __asm volatile("MSR PSPLIM_NS,%0" :: "r" (value)); + #endif + } + + __IAR_FT uint32_t __TZ_get_MSPLIM_NS(void) + { + uint32_t res; + __asm volatile("MRS %0,MSPLIM_NS" : "=r" (res)); + return res; + } + + __IAR_FT void __TZ_set_MSPLIM_NS(uint32_t value) + { + __asm volatile("MSR MSPLIM_NS,%0" :: "r" (value)); + } + + #endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */ + +#endif /* __ICCARM_INTRINSICS_VERSION__ == 2 */ + +#define __BKPT(value) __asm volatile ("BKPT %0" : : "i"(value)) + +#if __IAR_M0_FAMILY + __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat) + { + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; + } + + __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat) + { + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; + } +#endif + +#if (__CORTEX_M >= 0x03) /* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */ + + __IAR_FT uint8_t __LDRBT(volatile uint8_t *addr) + { + uint32_t res; + __ASM("LDRBT %0, [%1]" : "=r" (res) : "r" (addr) : "memory"); + return ((uint8_t)res); + } + + __IAR_FT uint16_t __LDRHT(volatile uint16_t *addr) + { + uint32_t res; + __ASM("LDRHT %0, [%1]" : "=r" (res) : "r" (addr) : "memory"); + return ((uint16_t)res); + } + + __IAR_FT uint32_t __LDRT(volatile uint32_t *addr) + { + uint32_t res; + __ASM("LDRT %0, [%1]" : "=r" (res) : "r" (addr) : "memory"); + return res; + } + + __IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr) + { + __ASM("STRBT %1, [%0]" : : "r" (addr), "r" ((uint32_t)value) : "memory"); + } + + __IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr) + { + __ASM("STRHT %1, [%0]" : : "r" (addr), "r" ((uint32_t)value) : "memory"); + } + + __IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr) + { + __ASM("STRT %1, [%0]" : : "r" (addr), "r" (value) : "memory"); + } + +#endif /* (__CORTEX_M >= 0x03) */ + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + + + __IAR_FT uint8_t __LDAB(volatile uint8_t *ptr) + { + uint32_t res; + __ASM volatile ("LDAB %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return ((uint8_t)res); + } + + __IAR_FT uint16_t __LDAH(volatile uint16_t *ptr) + { + uint32_t res; + __ASM volatile ("LDAH %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return ((uint16_t)res); + } + + __IAR_FT uint32_t __LDA(volatile uint32_t *ptr) + { + uint32_t res; + __ASM volatile ("LDA %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return res; + } + + __IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr) + { + __ASM volatile ("STLB %1, [%0]" :: "r" (ptr), "r" (value) : "memory"); + } + + __IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr) + { + __ASM volatile ("STLH %1, [%0]" :: "r" (ptr), "r" (value) : "memory"); + } + + __IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr) + { + __ASM volatile ("STL %1, [%0]" :: "r" (ptr), "r" (value) : "memory"); + } + + __IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr) + { + uint32_t res; + __ASM volatile ("LDAEXB %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return ((uint8_t)res); + } + + __IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr) + { + uint32_t res; + __ASM volatile ("LDAEXH %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return ((uint16_t)res); + } + + __IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr) + { + uint32_t res; + __ASM volatile ("LDAEX %0, [%1]" : "=r" (res) : "r" (ptr) : "memory"); + return res; + } + + __IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr) + { + uint32_t res; + __ASM volatile ("STLEXB %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory"); + return res; + } + + __IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr) + { + uint32_t res; + __ASM volatile ("STLEXH %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory"); + return res; + } + + __IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr) + { + uint32_t res; + __ASM volatile ("STLEX %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory"); + return res; + } + +#endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */ + +#undef __IAR_FT +#undef __IAR_M0_FAMILY +#undef __ICCARM_V8 + +#pragma diag_default=Pe940 +#pragma diag_default=Pe177 + +#endif /* __CMSIS_ICCARM_H__ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_version.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_version.h new file mode 100644 index 0000000..f2e2746 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/cmsis_version.h @@ -0,0 +1,39 @@ +/**************************************************************************//** + * @file cmsis_version.h + * @brief CMSIS Core(M) Version definitions + * @version V5.0.3 + * @date 24. June 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CMSIS_VERSION_H +#define __CMSIS_VERSION_H + +/* CMSIS Version definitions */ +#define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ +#define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */ +#define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ + __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv81mml.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv81mml.h new file mode 100644 index 0000000..8441e57 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv81mml.h @@ -0,0 +1,2968 @@ +/**************************************************************************//** + * @file core_armv81mml.h + * @brief CMSIS Armv8.1-M Mainline Core Peripheral Access Layer Header File + * @version V1.0.0 + * @date 15. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2018-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_ARMV81MML_H_GENERIC +#define __CORE_ARMV81MML_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_ARMV81MML + @{ + */ + +#include "cmsis_version.h" + +#define __ARM_ARCH_8M_MAIN__ 1 // patching for now +/* CMSIS ARMV81MML definitions */ +#define __ARMv81MML_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __ARMv81MML_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __ARMv81MML_CMSIS_VERSION ((__ARMv81MML_CMSIS_VERSION_MAIN << 16U) | \ + __ARMv81MML_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (81U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV81MML_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_ARMV81MML_H_DEPENDANT +#define __CORE_ARMV81MML_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __ARMv81MML_REV + #define __ARMv81MML_REV 0x0000U + #warning "__ARMv81MML_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DSP_PRESENT + #define __DSP_PRESENT 0U + #warning "__DSP_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group ARMv81MML */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:7; /*!< bit: 9..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t IT:2; /*!< bit: 25..26 saved IT state (read 0) */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_IT_Pos 25U /*!< xPSR: IT Position */ +#define xPSR_IT_Msk (3UL << xPSR_IT_Pos) /*!< xPSR: IT Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t FPCA:1; /*!< bit: 2 Floating-point context active */ + uint32_t SFPA:1; /*!< bit: 3 Secure floating-point active */ + uint32_t _reserved1:28; /*!< bit: 4..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SFPA_Pos 3U /*!< CONTROL: SFPA Position */ +#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos) /*!< CONTROL: SFPA Mask */ + +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint8_t IPR[496U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED6[580U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ID_ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t ID_MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ID_ISAR[6U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ + __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ + __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ + __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + __IOM uint32_t NSACR; /*!< Offset: 0x08C (R/W) Non-Secure Access Control Register */ + uint32_t RESERVED3[92U]; + __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ + uint32_t RESERVED4[15U]; + __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 */ + uint32_t RESERVED5[1U]; + __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ + uint32_t RESERVED6[1U]; + __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ + __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ + __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ + __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ + __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ + __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ + __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ + __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ + uint32_t RESERVED7[6U]; + __IOM uint32_t ITCMCR; /*!< Offset: 0x290 (R/W) Instruction Tightly-Coupled Memory Control Register */ + __IOM uint32_t DTCMCR; /*!< Offset: 0x294 (R/W) Data Tightly-Coupled Memory Control Registers */ + __IOM uint32_t AHBPCR; /*!< Offset: 0x298 (R/W) AHBP Control Register */ + __IOM uint32_t CACR; /*!< Offset: 0x29C (R/W) L1 Cache Control Register */ + __IOM uint32_t AHBSCR; /*!< Offset: 0x2A0 (R/W) AHB Slave Control Register */ + uint32_t RESERVED8[1U]; + __IOM uint32_t ABFSR; /*!< Offset: 0x2A8 (R/W) Auxiliary Bus Fault Status Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U /*!< SCB SHCSR: SECUREFAULTPENDED Position */ +#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos) /*!< SCB SHCSR: SECUREFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTENA_Pos 19U /*!< SCB SHCSR: SECUREFAULTENA Position */ +#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos) /*!< SCB SHCSR: SECUREFAULTENA Mask */ + +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_SECUREFAULTACT_Pos 4U /*!< SCB SHCSR: SECUREFAULTACT Position */ +#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos) /*!< SCB SHCSR: SECUREFAULTACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U) /*!< SCB CFSR (UFSR): STKOF Position */ +#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos) /*!< SCB CFSR (UFSR): STKOF Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/* SCB Non-Secure Access Control Register Definitions */ +#define SCB_NSACR_CP11_Pos 11U /*!< SCB NSACR: CP11 Position */ +#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos) /*!< SCB NSACR: CP11 Mask */ + +#define SCB_NSACR_CP10_Pos 10U /*!< SCB NSACR: CP10 Position */ +#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos) /*!< SCB NSACR: CP10 Mask */ + +#define SCB_NSACR_CPn_Pos 0U /*!< SCB NSACR: CPn Position */ +#define SCB_NSACR_CPn_Msk (1UL /*<< SCB_NSACR_CPn_Pos*/) /*!< SCB NSACR: CPn Mask */ + +/* SCB Cache Level ID Register Definitions */ +#define SCB_CLIDR_LOUU_Pos 27U /*!< SCB CLIDR: LoUU Position */ +#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ + +#define SCB_CLIDR_LOC_Pos 24U /*!< SCB CLIDR: LoC Position */ +#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB CLIDR: LoC Mask */ + +/* SCB Cache Type Register Definitions */ +#define SCB_CTR_FORMAT_Pos 29U /*!< SCB CTR: Format Position */ +#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ + +#define SCB_CTR_CWG_Pos 24U /*!< SCB CTR: CWG Position */ +#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ + +#define SCB_CTR_ERG_Pos 20U /*!< SCB CTR: ERG Position */ +#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ + +#define SCB_CTR_DMINLINE_Pos 16U /*!< SCB CTR: DminLine Position */ +#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ + +#define SCB_CTR_IMINLINE_Pos 0U /*!< SCB CTR: ImInLine Position */ +#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB CTR: ImInLine Mask */ + +/* SCB Cache Size ID Register Definitions */ +#define SCB_CCSIDR_WT_Pos 31U /*!< SCB CCSIDR: WT Position */ +#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ + +#define SCB_CCSIDR_WB_Pos 30U /*!< SCB CCSIDR: WB Position */ +#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ + +#define SCB_CCSIDR_RA_Pos 29U /*!< SCB CCSIDR: RA Position */ +#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ + +#define SCB_CCSIDR_WA_Pos 28U /*!< SCB CCSIDR: WA Position */ +#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ + +#define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB CCSIDR: NumSets Position */ +#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ + +#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB CCSIDR: Associativity Position */ +#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ + +#define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB CCSIDR: LineSize Position */ +#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB CCSIDR: LineSize Mask */ + +/* SCB Cache Size Selection Register Definitions */ +#define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB CSSELR: Level Position */ +#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ + +#define SCB_CSSELR_IND_Pos 0U /*!< SCB CSSELR: InD Position */ +#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB CSSELR: InD Mask */ + +/* SCB Software Triggered Interrupt Register Definitions */ +#define SCB_STIR_INTID_Pos 0U /*!< SCB STIR: INTID Position */ +#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB STIR: INTID Mask */ + +/* SCB D-Cache Invalidate by Set-way Register Definitions */ +#define SCB_DCISW_WAY_Pos 30U /*!< SCB DCISW: Way Position */ +#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB DCISW: Way Mask */ + +#define SCB_DCISW_SET_Pos 5U /*!< SCB DCISW: Set Position */ +#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB DCISW: Set Mask */ + +/* SCB D-Cache Clean by Set-way Register Definitions */ +#define SCB_DCCSW_WAY_Pos 30U /*!< SCB DCCSW: Way Position */ +#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB DCCSW: Way Mask */ + +#define SCB_DCCSW_SET_Pos 5U /*!< SCB DCCSW: Set Position */ +#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB DCCSW: Set Mask */ + +/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ +#define SCB_DCCISW_WAY_Pos 30U /*!< SCB DCCISW: Way Position */ +#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB DCCISW: Way Mask */ + +#define SCB_DCCISW_SET_Pos 5U /*!< SCB DCCISW: Set Position */ +#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB DCCISW: Set Mask */ + +/* Instruction Tightly-Coupled Memory Control Register Definitions */ +#define SCB_ITCMCR_SZ_Pos 3U /*!< SCB ITCMCR: SZ Position */ +#define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) /*!< SCB ITCMCR: SZ Mask */ + +#define SCB_ITCMCR_RETEN_Pos 2U /*!< SCB ITCMCR: RETEN Position */ +#define SCB_ITCMCR_RETEN_Msk (1UL << SCB_ITCMCR_RETEN_Pos) /*!< SCB ITCMCR: RETEN Mask */ + +#define SCB_ITCMCR_RMW_Pos 1U /*!< SCB ITCMCR: RMW Position */ +#define SCB_ITCMCR_RMW_Msk (1UL << SCB_ITCMCR_RMW_Pos) /*!< SCB ITCMCR: RMW Mask */ + +#define SCB_ITCMCR_EN_Pos 0U /*!< SCB ITCMCR: EN Position */ +#define SCB_ITCMCR_EN_Msk (1UL /*<< SCB_ITCMCR_EN_Pos*/) /*!< SCB ITCMCR: EN Mask */ + +/* Data Tightly-Coupled Memory Control Register Definitions */ +#define SCB_DTCMCR_SZ_Pos 3U /*!< SCB DTCMCR: SZ Position */ +#define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) /*!< SCB DTCMCR: SZ Mask */ + +#define SCB_DTCMCR_RETEN_Pos 2U /*!< SCB DTCMCR: RETEN Position */ +#define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) /*!< SCB DTCMCR: RETEN Mask */ + +#define SCB_DTCMCR_RMW_Pos 1U /*!< SCB DTCMCR: RMW Position */ +#define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) /*!< SCB DTCMCR: RMW Mask */ + +#define SCB_DTCMCR_EN_Pos 0U /*!< SCB DTCMCR: EN Position */ +#define SCB_DTCMCR_EN_Msk (1UL /*<< SCB_DTCMCR_EN_Pos*/) /*!< SCB DTCMCR: EN Mask */ + +/* AHBP Control Register Definitions */ +#define SCB_AHBPCR_SZ_Pos 1U /*!< SCB AHBPCR: SZ Position */ +#define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) /*!< SCB AHBPCR: SZ Mask */ + +#define SCB_AHBPCR_EN_Pos 0U /*!< SCB AHBPCR: EN Position */ +#define SCB_AHBPCR_EN_Msk (1UL /*<< SCB_AHBPCR_EN_Pos*/) /*!< SCB AHBPCR: EN Mask */ + +/* L1 Cache Control Register Definitions */ +#define SCB_CACR_FORCEWT_Pos 2U /*!< SCB CACR: FORCEWT Position */ +#define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) /*!< SCB CACR: FORCEWT Mask */ + +#define SCB_CACR_ECCEN_Pos 1U /*!< SCB CACR: ECCEN Position */ +#define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< SCB CACR: ECCEN Mask */ + +#define SCB_CACR_SIWT_Pos 0U /*!< SCB CACR: SIWT Position */ +#define SCB_CACR_SIWT_Msk (1UL /*<< SCB_CACR_SIWT_Pos*/) /*!< SCB CACR: SIWT Mask */ + +/* AHBS Control Register Definitions */ +#define SCB_AHBSCR_INITCOUNT_Pos 11U /*!< SCB AHBSCR: INITCOUNT Position */ +#define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) /*!< SCB AHBSCR: INITCOUNT Mask */ + +#define SCB_AHBSCR_TPRI_Pos 2U /*!< SCB AHBSCR: TPRI Position */ +#define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB AHBSCR: TPRI Mask */ + +#define SCB_AHBSCR_CTL_Pos 0U /*!< SCB AHBSCR: CTL Position*/ +#define SCB_AHBSCR_CTL_Msk (3UL /*<< SCB_AHBPCR_CTL_Pos*/) /*!< SCB AHBSCR: CTL Mask */ + +/* Auxiliary Bus Fault Status Register Definitions */ +#define SCB_ABFSR_AXIMTYPE_Pos 8U /*!< SCB ABFSR: AXIMTYPE Position*/ +#define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) /*!< SCB ABFSR: AXIMTYPE Mask */ + +#define SCB_ABFSR_EPPB_Pos 4U /*!< SCB ABFSR: EPPB Position*/ +#define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) /*!< SCB ABFSR: EPPB Mask */ + +#define SCB_ABFSR_AXIM_Pos 3U /*!< SCB ABFSR: AXIM Position*/ +#define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) /*!< SCB ABFSR: AXIM Mask */ + +#define SCB_ABFSR_AHBP_Pos 2U /*!< SCB ABFSR: AHBP Position*/ +#define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) /*!< SCB ABFSR: AHBP Mask */ + +#define SCB_ABFSR_DTCM_Pos 1U /*!< SCB ABFSR: DTCM Position*/ +#define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) /*!< SCB ABFSR: DTCM Mask */ + +#define SCB_ABFSR_ITCM_Pos 0U /*!< SCB ABFSR: ITCM Position*/ +#define SCB_ABFSR_ITCM_Msk (1UL /*<< SCB_ABFSR_ITCM_Pos*/) /*!< SCB ABFSR: ITCM Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ + __IOM uint32_t CPPWR; /*!< Offset: 0x00C (R/W) Coprocessor Power Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[29U]; + __OM uint32_t IWR; /*!< Offset: 0xEF8 ( /W) ITM Integration Write Register */ + __IM uint32_t IRR; /*!< Offset: 0xEFC (R/ ) ITM Integration Read Register */ + __IOM uint32_t IMCR; /*!< Offset: 0xF00 (R/W) ITM Integration Mode Control Register */ + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) ITM Device Architecture Register */ + uint32_t RESERVED6[4U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Stimulus Port Register Definitions */ +#define ITM_STIM_DISABLED_Pos 1U /*!< ITM STIM: DISABLED Position */ +#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos) /*!< ITM STIM: DISABLED Mask */ + +#define ITM_STIM_FIFOREADY_Pos 0U /*!< ITM STIM: FIFOREADY Position */ +#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/) /*!< ITM STIM: FIFOREADY Mask */ + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TRACEBUSID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPRESCALE_Pos 8U /*!< ITM TCR: TSPRESCALE Position */ +#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos) /*!< ITM TCR: TSPRESCALE Mask */ + +#define ITM_TCR_STALLENA_Pos 5U /*!< ITM TCR: STALLENA Position */ +#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos) /*!< ITM TCR: STALLENA Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Integration Write Register Definitions */ +#define ITM_IWR_ATVALIDM_Pos 0U /*!< ITM IWR: ATVALIDM Position */ +#define ITM_IWR_ATVALIDM_Msk (1UL /*<< ITM_IWR_ATVALIDM_Pos*/) /*!< ITM IWR: ATVALIDM Mask */ + +/* ITM Integration Read Register Definitions */ +#define ITM_IRR_ATREADYM_Pos 0U /*!< ITM IRR: ATREADYM Position */ +#define ITM_IRR_ATREADYM_Msk (1UL /*<< ITM_IRR_ATREADYM_Pos*/) /*!< ITM IRR: ATREADYM Mask */ + +/* ITM Integration Mode Control Register Definitions */ +#define ITM_IMCR_INTEGRATION_Pos 0U /*!< ITM IMCR: INTEGRATION Position */ +#define ITM_IMCR_INTEGRATION_Msk (1UL /*<< ITM_IMCR_INTEGRATION_Pos*/) /*!< ITM IMCR: INTEGRATION Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ + uint32_t RESERVED32[934U]; + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ + uint32_t RESERVED33[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) Device Architecture Register */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCDISS_Pos 23U /*!< DWT CTRL: CYCDISS Position */ +#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos) /*!< DWT CTRL: CYCDISS Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x1UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Sizes Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Sizes Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER */ + __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ + __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ + __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration ETM Data Register Definitions (FIFO0) */ +#define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIFO0: ITM_ATVALID Position */ +#define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ + +#define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIFO0: ITM_bytecount Position */ +#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ + +#define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIFO0: ETM_ATVALID Position */ +#define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ + +#define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIFO0: ETM_bytecount Position */ +#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ + +#define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIFO0: ETM2 Position */ +#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ + +#define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIFO0: ETM1 Position */ +#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ + +#define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIFO0: ETM0 Position */ +#define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIFO0: ETM0 Mask */ + +/* TPI ITATBCTR2 Register Definitions */ +#define TPI_ITATBCTR2_ATREADY_Pos 0U /*!< TPI ITATBCTR2: ATREADY Position */ +#define TPI_ITATBCTR2_ATREADY_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY_Pos*/) /*!< TPI ITATBCTR2: ATREADY Mask */ + +/* TPI Integration ITM Data Register Definitions (FIFO1) */ +#define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIFO1: ITM_ATVALID Position */ +#define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ + +#define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIFO1: ITM_bytecount Position */ +#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ + +#define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIFO1: ETM_ATVALID Position */ +#define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ + +#define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIFO1: ETM_bytecount Position */ +#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ + +#define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIFO1: ITM2 Position */ +#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ + +#define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIFO1: ITM1 Position */ +#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ + +#define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIFO1: ITM0 Position */ +#define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIFO1: ITM0 Mask */ + +/* TPI ITATBCTR0 Register Definitions */ +#define TPI_ITATBCTR0_ATREADY_Pos 0U /*!< TPI ITATBCTR0: ATREADY Position */ +#define TPI_ITATBCTR0_ATREADY_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY_Pos*/) /*!< TPI ITATBCTR0: ATREADY Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x1UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEVID: MinBufSz Position */ +#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ + +#define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEVID: AsynClkIn Position */ +#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_MajorType_Pos 4U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +#define TPI_DEVTYPE_SubType_Pos 0U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Region Base Address Register Alias 1 */ + __IOM uint32_t RLAR_A1; /*!< Offset: 0x018 (R/W) MPU Region Limit Address Register Alias 1 */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Region Base Address Register Alias 2 */ + __IOM uint32_t RLAR_A2; /*!< Offset: 0x020 (R/W) MPU Region Limit Address Register Alias 2 */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Region Base Address Register Alias 3 */ + __IOM uint32_t RLAR_A3; /*!< Offset: 0x028 (R/W) MPU Region Limit Address Register Alias 3 */ + uint32_t RESERVED0[1]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 5U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_PXN_Pos 4U /*!< MPU RLAR: PXN Position */ +#define MPU_RLAR_PXN_Msk (0x1UL << MPU_RLAR_PXN_Pos) /*!< MPU RLAR: PXN Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: Region enable bit Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: Region enable bit Disable Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#else + uint32_t RESERVED0[3]; +#endif + __IOM uint32_t SFSR; /*!< Offset: 0x014 (R/W) Secure Fault Status Register */ + __IOM uint32_t SFAR; /*!< Offset: 0x018 (R/W) Secure Fault Address Register */ +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/* Secure Fault Status Register Definitions */ +#define SAU_SFSR_LSERR_Pos 7U /*!< SAU SFSR: LSERR Position */ +#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos) /*!< SAU SFSR: LSERR Mask */ + +#define SAU_SFSR_SFARVALID_Pos 6U /*!< SAU SFSR: SFARVALID Position */ +#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos) /*!< SAU SFSR: SFARVALID Mask */ + +#define SAU_SFSR_LSPERR_Pos 5U /*!< SAU SFSR: LSPERR Position */ +#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos) /*!< SAU SFSR: LSPERR Mask */ + +#define SAU_SFSR_INVTRAN_Pos 4U /*!< SAU SFSR: INVTRAN Position */ +#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos) /*!< SAU SFSR: INVTRAN Mask */ + +#define SAU_SFSR_AUVIOL_Pos 3U /*!< SAU SFSR: AUVIOL Position */ +#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos) /*!< SAU SFSR: AUVIOL Mask */ + +#define SAU_SFSR_INVER_Pos 2U /*!< SAU SFSR: INVER Position */ +#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos) /*!< SAU SFSR: INVER Mask */ + +#define SAU_SFSR_INVIS_Pos 1U /*!< SAU SFSR: INVIS Position */ +#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos) /*!< SAU SFSR: INVIS Mask */ + +#define SAU_SFSR_INVEP_Pos 0U /*!< SAU SFSR: INVEP Position */ +#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/) /*!< SAU SFSR: INVEP Mask */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_LSPENS_Pos 29U /*!< FPCCR: LSPENS Position */ +#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos) /*!< FPCCR: LSPENS bit Mask */ + +#define FPU_FPCCR_CLRONRET_Pos 28U /*!< FPCCR: CLRONRET Position */ +#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos) /*!< FPCCR: CLRONRET bit Mask */ + +#define FPU_FPCCR_CLRONRETS_Pos 27U /*!< FPCCR: CLRONRETS Position */ +#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos) /*!< FPCCR: CLRONRETS bit Mask */ + +#define FPU_FPCCR_TS_Pos 26U /*!< FPCCR: TS Position */ +#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos) /*!< FPCCR: TS bit Mask */ + +#define FPU_FPCCR_UFRDY_Pos 10U /*!< FPCCR: UFRDY Position */ +#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos) /*!< FPCCR: UFRDY bit Mask */ + +#define FPU_FPCCR_SPLIMVIOL_Pos 9U /*!< FPCCR: SPLIMVIOL Position */ +#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos) /*!< FPCCR: SPLIMVIOL bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_SFRDY_Pos 7U /*!< FPCCR: SFRDY Position */ +#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos) /*!< FPCCR: SFRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_S_Pos 2U /*!< FPCCR: Security status of the FP context bit Position */ +#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos) /*!< FPCCR: Security status of the FP context bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + + #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ + #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCnSCB_NS ((SCnSCB_Type *) SCS_BASE_NS ) /*!< System control Register not in SCB(non-secure address space) */ + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + + #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL) /*!< Floating Point Unit (non-secure address space) */ + #define FPU_NS ((FPU_Type *) FPU_BASE_NS ) /*!< Floating Point Unit (non-secure address space) */ + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << 8U) ); /* Insert write key and priorty group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Set Priority Grouping (non-secure) + \details Sets the non-secure priority grouping field when in secure state using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB_NS->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << 8U) ); /* Insert write key and priorty group */ + SCB_NS->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping (non-secure) + \details Reads the priority grouping field from the non-secure NVIC when in secure state. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void) +{ + return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = FPU->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U) + { + return 2U; /* Double + Single precision FPU */ + } + else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV81MML_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mbl.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mbl.h new file mode 100644 index 0000000..344dca5 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mbl.h @@ -0,0 +1,1921 @@ +/**************************************************************************//** + * @file core_armv8mbl.h + * @brief CMSIS Armv8-M Baseline Core Peripheral Access Layer Header File + * @version V5.0.8 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_ARMV8MBL_H_GENERIC +#define __CORE_ARMV8MBL_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_ARMv8MBL + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS definitions */ +#define __ARMv8MBL_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __ARMv8MBL_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __ARMv8MBL_CMSIS_VERSION ((__ARMv8MBL_CMSIS_VERSION_MAIN << 16U) | \ + __ARMv8MBL_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M ( 2U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV8MBL_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_ARMV8MBL_H_DEPENDANT +#define __CORE_ARMV8MBL_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __ARMv8MBL_REV + #define __ARMv8MBL_REV 0x0000U + #warning "__ARMv8MBL_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __VTOR_PRESENT + #define __VTOR_PRESENT 0U + #warning "__VTOR_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif + + #ifndef __ETM_PRESENT + #define __ETM_PRESENT 0U + #warning "__ETM_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MTB_PRESENT + #define __MTB_PRESENT 0U + #warning "__MTB_PRESENT not defined in device header file; using default!" + #endif + +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group ARMv8MBL */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint32_t IPR[124U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ +#else + uint32_t RESERVED0; +#endif + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED1; + __IOM uint32_t SHPR[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ +#endif + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + uint32_t RESERVED0[6U]; + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x3UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Sizes Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Sizes Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IOM uint32_t PSCR; /*!< Offset: 0x308 (R/W) Periodic Synchronization Control Register */ + uint32_t RESERVED3[809U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) Software Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) Software Lock Status Register */ + uint32_t RESERVED4[4U]; + __IM uint32_t TYPE; /*!< Offset: 0xFC8 (R/ ) Device Identifier Register */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) Device Type Register */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_SWOSCALER_Pos 0U /*!< TPI ACPR: SWOSCALER Position */ +#define TPI_ACPR_SWOSCALER_Msk (0xFFFFUL /*<< TPI_ACPR_SWOSCALER_Pos*/) /*!< TPI ACPR: SWOSCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_FOnMan_Pos 6U /*!< TPI FFCR: FOnMan Position */ +#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos) /*!< TPI FFCR: FOnMan Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI Periodic Synchronization Control Register Definitions */ +#define TPI_PSCR_PSCount_Pos 0U /*!< TPI PSCR: PSCount Position */ +#define TPI_PSCR_PSCount_Msk (0x1FUL /*<< TPI_PSCR_PSCount_Pos*/) /*!< TPI PSCR: TPSCount Mask */ + +/* TPI Software Lock Status Register Definitions */ +#define TPI_LSR_nTT_Pos 1U /*!< TPI LSR: Not thirty-two bit. Position */ +#define TPI_LSR_nTT_Msk (0x1UL << TPI_LSR_nTT_Pos) /*!< TPI LSR: Not thirty-two bit. Mask */ + +#define TPI_LSR_SLK_Pos 1U /*!< TPI LSR: Software Lock status Position */ +#define TPI_LSR_SLK_Msk (0x1UL << TPI_LSR_SLK_Pos) /*!< TPI LSR: Software Lock status Mask */ + +#define TPI_LSR_SLI_Pos 0U /*!< TPI LSR: Software Lock implemented Position */ +#define TPI_LSR_SLI_Msk (0x1UL /*<< TPI_LSR_SLI_Pos*/) /*!< TPI LSR: Software Lock implemented Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_FIFOSZ_Pos 6U /*!< TPI DEVID: FIFO depth Position */ +#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos) /*!< TPI DEVID: FIFO depth Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + uint32_t RESERVED0[7U]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 1U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_BASE_Pos 5U /*!< MPU RBAR: BASE Position */ +#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos) /*!< MPU RBAR: BASE Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: EN Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: EN Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#endif +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register */ +#define CoreDebug_DEMCR_DWTENA_Pos 24U /*!< CoreDebug DEMCR: DWTENA Position */ +#define CoreDebug_DEMCR_DWTENA_Msk (1UL << CoreDebug_DEMCR_DWTENA_Pos) /*!< CoreDebug DEMCR: DWTENA Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* Special LR values for Secure/Non-Secure call handling and exception handling */ + +/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */ +#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */ + +/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */ +#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */ +#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */ +#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */ +#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */ +#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */ +#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */ +#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */ + +/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */ +#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */ +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */ +#else +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */ +#endif + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +#define __NVIC_SetPriorityGrouping(X) (void)(X) +#define __NVIC_GetPriorityGrouping() (0U) + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IPR[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHPR[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHPR[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IPR[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHPR[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + If VTOR is not present address 0 must be mapped to SRAM. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t *vectors = (uint32_t *)SCB->VTOR; +#else + uint32_t *vectors = (uint32_t *)0x0U; +#endif + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t *vectors = (uint32_t *)SCB->VTOR; +#else + uint32_t *vectors = (uint32_t *)0x0U; +#endif + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[_IP_IDX(IRQn)] = ((uint32_t)(NVIC_NS->IPR[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB_NS->SHPR[_SHP_IDX(IRQn)] = ((uint32_t)(SCB_NS->SHPR[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IPR[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB_NS->SHPR[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV8MBL_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mml.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mml.h new file mode 100644 index 0000000..5ddb8ae --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_armv8mml.h @@ -0,0 +1,2835 @@ +/**************************************************************************//** + * @file core_armv8mml.h + * @brief CMSIS Armv8-M Mainline Core Peripheral Access Layer Header File + * @version V5.1.0 + * @date 12. September 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_ARMV8MML_H_GENERIC +#define __CORE_ARMV8MML_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_ARMv8MML + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS Armv8MML definitions */ +#define __ARMv8MML_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __ARMv8MML_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __ARMv8MML_CMSIS_VERSION ((__ARMv8MML_CMSIS_VERSION_MAIN << 16U) | \ + __ARMv8MML_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (81U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined(__ARM_FEATURE_DSP) + #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV8MML_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_ARMV8MML_H_DEPENDANT +#define __CORE_ARMV8MML_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __ARMv8MML_REV + #define __ARMv8MML_REV 0x0000U + #warning "__ARMv8MML_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DSP_PRESENT + #define __DSP_PRESENT 0U + #warning "__DSP_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group ARMv8MML */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:7; /*!< bit: 9..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t IT:2; /*!< bit: 25..26 saved IT state (read 0) */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_IT_Pos 25U /*!< xPSR: IT Position */ +#define xPSR_IT_Msk (3UL << xPSR_IT_Pos) /*!< xPSR: IT Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t FPCA:1; /*!< bit: 2 Floating-point context active */ + uint32_t SFPA:1; /*!< bit: 3 Secure floating-point active */ + uint32_t _reserved1:28; /*!< bit: 4..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SFPA_Pos 3U /*!< CONTROL: SFPA Position */ +#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos) /*!< CONTROL: SFPA Mask */ + +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint8_t IPR[496U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED6[580U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ID_ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t ID_MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ID_ISAR[6U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ + __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ + __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ + __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + __IOM uint32_t NSACR; /*!< Offset: 0x08C (R/W) Non-Secure Access Control Register */ + uint32_t RESERVED3[92U]; + __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ + uint32_t RESERVED4[15U]; + __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 */ + uint32_t RESERVED5[1U]; + __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ + uint32_t RESERVED6[1U]; + __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ + __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ + __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ + __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ + __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ + __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ + __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ + __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U /*!< SCB SHCSR: SECUREFAULTPENDED Position */ +#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos) /*!< SCB SHCSR: SECUREFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTENA_Pos 19U /*!< SCB SHCSR: SECUREFAULTENA Position */ +#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos) /*!< SCB SHCSR: SECUREFAULTENA Mask */ + +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_SECUREFAULTACT_Pos 4U /*!< SCB SHCSR: SECUREFAULTACT Position */ +#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos) /*!< SCB SHCSR: SECUREFAULTACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U) /*!< SCB CFSR (UFSR): STKOF Position */ +#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos) /*!< SCB CFSR (UFSR): STKOF Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/* SCB Non-Secure Access Control Register Definitions */ +#define SCB_NSACR_CP11_Pos 11U /*!< SCB NSACR: CP11 Position */ +#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos) /*!< SCB NSACR: CP11 Mask */ + +#define SCB_NSACR_CP10_Pos 10U /*!< SCB NSACR: CP10 Position */ +#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos) /*!< SCB NSACR: CP10 Mask */ + +#define SCB_NSACR_CPn_Pos 0U /*!< SCB NSACR: CPn Position */ +#define SCB_NSACR_CPn_Msk (1UL /*<< SCB_NSACR_CPn_Pos*/) /*!< SCB NSACR: CPn Mask */ + +/* SCB Cache Level ID Register Definitions */ +#define SCB_CLIDR_LOUU_Pos 27U /*!< SCB CLIDR: LoUU Position */ +#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ + +#define SCB_CLIDR_LOC_Pos 24U /*!< SCB CLIDR: LoC Position */ +#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB CLIDR: LoC Mask */ + +/* SCB Cache Type Register Definitions */ +#define SCB_CTR_FORMAT_Pos 29U /*!< SCB CTR: Format Position */ +#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ + +#define SCB_CTR_CWG_Pos 24U /*!< SCB CTR: CWG Position */ +#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ + +#define SCB_CTR_ERG_Pos 20U /*!< SCB CTR: ERG Position */ +#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ + +#define SCB_CTR_DMINLINE_Pos 16U /*!< SCB CTR: DminLine Position */ +#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ + +#define SCB_CTR_IMINLINE_Pos 0U /*!< SCB CTR: ImInLine Position */ +#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB CTR: ImInLine Mask */ + +/* SCB Cache Size ID Register Definitions */ +#define SCB_CCSIDR_WT_Pos 31U /*!< SCB CCSIDR: WT Position */ +#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ + +#define SCB_CCSIDR_WB_Pos 30U /*!< SCB CCSIDR: WB Position */ +#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ + +#define SCB_CCSIDR_RA_Pos 29U /*!< SCB CCSIDR: RA Position */ +#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ + +#define SCB_CCSIDR_WA_Pos 28U /*!< SCB CCSIDR: WA Position */ +#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ + +#define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB CCSIDR: NumSets Position */ +#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ + +#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB CCSIDR: Associativity Position */ +#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ + +#define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB CCSIDR: LineSize Position */ +#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB CCSIDR: LineSize Mask */ + +/* SCB Cache Size Selection Register Definitions */ +#define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB CSSELR: Level Position */ +#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ + +#define SCB_CSSELR_IND_Pos 0U /*!< SCB CSSELR: InD Position */ +#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB CSSELR: InD Mask */ + +/* SCB Software Triggered Interrupt Register Definitions */ +#define SCB_STIR_INTID_Pos 0U /*!< SCB STIR: INTID Position */ +#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB STIR: INTID Mask */ + +/* SCB D-Cache Invalidate by Set-way Register Definitions */ +#define SCB_DCISW_WAY_Pos 30U /*!< SCB DCISW: Way Position */ +#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB DCISW: Way Mask */ + +#define SCB_DCISW_SET_Pos 5U /*!< SCB DCISW: Set Position */ +#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB DCISW: Set Mask */ + +/* SCB D-Cache Clean by Set-way Register Definitions */ +#define SCB_DCCSW_WAY_Pos 30U /*!< SCB DCCSW: Way Position */ +#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB DCCSW: Way Mask */ + +#define SCB_DCCSW_SET_Pos 5U /*!< SCB DCCSW: Set Position */ +#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB DCCSW: Set Mask */ + +/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ +#define SCB_DCCISW_WAY_Pos 30U /*!< SCB DCCISW: Way Position */ +#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB DCCISW: Way Mask */ + +#define SCB_DCCISW_SET_Pos 5U /*!< SCB DCCISW: Set Position */ +#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB DCCISW: Set Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ + __IOM uint32_t CPPWR; /*!< Offset: 0x00C (R/W) Coprocessor Power Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) ITM Device Architecture Register */ + uint32_t RESERVED6[4U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Stimulus Port Register Definitions */ +#define ITM_STIM_DISABLED_Pos 1U /*!< ITM STIM: DISABLED Position */ +#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos) /*!< ITM STIM: DISABLED Mask */ + +#define ITM_STIM_FIFOREADY_Pos 0U /*!< ITM STIM: FIFOREADY Position */ +#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/) /*!< ITM STIM: FIFOREADY Mask */ + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TRACEBUSID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPRESCALE_Pos 8U /*!< ITM TCR: TSPRESCALE Position */ +#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos) /*!< ITM TCR: TSPRESCALE Mask */ + +#define ITM_TCR_STALLENA_Pos 5U /*!< ITM TCR: STALLENA Position */ +#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos) /*!< ITM TCR: STALLENA Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ + uint32_t RESERVED32[934U]; + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ + uint32_t RESERVED33[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) Device Architecture Register */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCDISS_Pos 23U /*!< DWT CTRL: CYCDISS Position */ +#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos) /*!< DWT CTRL: CYCDISS Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x1UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Sizes Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Sizes Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IOM uint32_t PSCR; /*!< Offset: 0x308 (R/W) Periodic Synchronization Control Register */ + uint32_t RESERVED3[809U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) Software Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) Software Lock Status Register */ + uint32_t RESERVED4[4U]; + __IM uint32_t TYPE; /*!< Offset: 0xFC8 (R/ ) Device Identifier Register */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) Device Type Register */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_SWOSCALER_Pos 0U /*!< TPI ACPR: SWOSCALER Position */ +#define TPI_ACPR_SWOSCALER_Msk (0xFFFFUL /*<< TPI_ACPR_SWOSCALER_Pos*/) /*!< TPI ACPR: SWOSCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_FOnMan_Pos 6U /*!< TPI FFCR: FOnMan Position */ +#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos) /*!< TPI FFCR: FOnMan Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI Periodic Synchronization Control Register Definitions */ +#define TPI_PSCR_PSCount_Pos 0U /*!< TPI PSCR: PSCount Position */ +#define TPI_PSCR_PSCount_Msk (0x1FUL /*<< TPI_PSCR_PSCount_Pos*/) /*!< TPI PSCR: TPSCount Mask */ + +/* TPI Software Lock Status Register Definitions */ +#define TPI_LSR_nTT_Pos 1U /*!< TPI LSR: Not thirty-two bit. Position */ +#define TPI_LSR_nTT_Msk (0x1UL << TPI_LSR_nTT_Pos) /*!< TPI LSR: Not thirty-two bit. Mask */ + +#define TPI_LSR_SLK_Pos 1U /*!< TPI LSR: Software Lock status Position */ +#define TPI_LSR_SLK_Msk (0x1UL << TPI_LSR_SLK_Pos) /*!< TPI LSR: Software Lock status Mask */ + +#define TPI_LSR_SLI_Pos 0U /*!< TPI LSR: Software Lock implemented Position */ +#define TPI_LSR_SLI_Msk (0x1UL /*<< TPI_LSR_SLI_Pos*/) /*!< TPI LSR: Software Lock implemented Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_FIFOSZ_Pos 6U /*!< TPI DEVID: FIFO depth Position */ +#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos) /*!< TPI DEVID: FIFO depth Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Region Base Address Register Alias 1 */ + __IOM uint32_t RLAR_A1; /*!< Offset: 0x018 (R/W) MPU Region Limit Address Register Alias 1 */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Region Base Address Register Alias 2 */ + __IOM uint32_t RLAR_A2; /*!< Offset: 0x020 (R/W) MPU Region Limit Address Register Alias 2 */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Region Base Address Register Alias 3 */ + __IOM uint32_t RLAR_A3; /*!< Offset: 0x028 (R/W) MPU Region Limit Address Register Alias 3 */ + uint32_t RESERVED0[1]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_BASE_Pos 5U /*!< MPU RBAR: BASE Position */ +#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos) /*!< MPU RBAR: BASE Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: Region enable bit Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: Region enable bit Disable Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#else + uint32_t RESERVED0[3]; +#endif + __IOM uint32_t SFSR; /*!< Offset: 0x014 (R/W) Secure Fault Status Register */ + __IOM uint32_t SFAR; /*!< Offset: 0x018 (R/W) Secure Fault Address Register */ +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/* Secure Fault Status Register Definitions */ +#define SAU_SFSR_LSERR_Pos 7U /*!< SAU SFSR: LSERR Position */ +#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos) /*!< SAU SFSR: LSERR Mask */ + +#define SAU_SFSR_SFARVALID_Pos 6U /*!< SAU SFSR: SFARVALID Position */ +#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos) /*!< SAU SFSR: SFARVALID Mask */ + +#define SAU_SFSR_LSPERR_Pos 5U /*!< SAU SFSR: LSPERR Position */ +#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos) /*!< SAU SFSR: LSPERR Mask */ + +#define SAU_SFSR_INVTRAN_Pos 4U /*!< SAU SFSR: INVTRAN Position */ +#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos) /*!< SAU SFSR: INVTRAN Mask */ + +#define SAU_SFSR_AUVIOL_Pos 3U /*!< SAU SFSR: AUVIOL Position */ +#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos) /*!< SAU SFSR: AUVIOL Mask */ + +#define SAU_SFSR_INVER_Pos 2U /*!< SAU SFSR: INVER Position */ +#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos) /*!< SAU SFSR: INVER Mask */ + +#define SAU_SFSR_INVIS_Pos 1U /*!< SAU SFSR: INVIS Position */ +#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos) /*!< SAU SFSR: INVIS Mask */ + +#define SAU_SFSR_INVEP_Pos 0U /*!< SAU SFSR: INVEP Position */ +#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/) /*!< SAU SFSR: INVEP Mask */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_LSPENS_Pos 29U /*!< FPCCR: LSPENS Position */ +#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos) /*!< FPCCR: LSPENS bit Mask */ + +#define FPU_FPCCR_CLRONRET_Pos 28U /*!< FPCCR: CLRONRET Position */ +#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos) /*!< FPCCR: CLRONRET bit Mask */ + +#define FPU_FPCCR_CLRONRETS_Pos 27U /*!< FPCCR: CLRONRETS Position */ +#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos) /*!< FPCCR: CLRONRETS bit Mask */ + +#define FPU_FPCCR_TS_Pos 26U /*!< FPCCR: TS Position */ +#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos) /*!< FPCCR: TS bit Mask */ + +#define FPU_FPCCR_UFRDY_Pos 10U /*!< FPCCR: UFRDY Position */ +#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos) /*!< FPCCR: UFRDY bit Mask */ + +#define FPU_FPCCR_SPLIMVIOL_Pos 9U /*!< FPCCR: SPLIMVIOL Position */ +#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos) /*!< FPCCR: SPLIMVIOL bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_SFRDY_Pos 7U /*!< FPCCR: SFRDY Position */ +#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos) /*!< FPCCR: SFRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_S_Pos 2U /*!< FPCCR: Security status of the FP context bit Position */ +#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos) /*!< FPCCR: Security status of the FP context bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + + #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ + #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCnSCB_NS ((SCnSCB_Type *) SCS_BASE_NS ) /*!< System control Register not in SCB(non-secure address space) */ + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + + #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL) /*!< Floating Point Unit (non-secure address space) */ + #define FPU_NS ((FPU_Type *) FPU_BASE_NS ) /*!< Floating Point Unit (non-secure address space) */ + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* Special LR values for Secure/Non-Secure call handling and exception handling */ + +/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */ +#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */ + +/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */ +#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */ +#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */ +#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */ +#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */ +#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */ +#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */ +#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */ + +/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */ +#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */ +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */ +#else +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */ +#endif + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Set Priority Grouping (non-secure) + \details Sets the non-secure priority grouping field when in secure state using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB_NS->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB_NS->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping (non-secure) + \details Reads the priority grouping field from the non-secure NVIC when in secure state. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void) +{ + return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = FPU->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U) + { + return 2U; /* Double + Single precision FPU */ + } + else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_ARMV8MML_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0.h new file mode 100644 index 0000000..cafae5a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0.h @@ -0,0 +1,952 @@ +/**************************************************************************//** + * @file core_cm0.h + * @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File + * @version V5.0.6 + * @date 13. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM0_H_GENERIC +#define __CORE_CM0_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M0 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM0 definitions */ +#define __CM0_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM0_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM0_CMSIS_VERSION ((__CM0_CMSIS_VERSION_MAIN << 16U) | \ + __CM0_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (0U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM0_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM0_H_DEPENDANT +#define __CORE_CM0_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM0_REV + #define __CM0_REV 0x0000U + #warning "__CM0_REV not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M0 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t _reserved0:1; /*!< bit: 0 Reserved */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[31U]; + __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[31U]; + __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[31U]; + __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[31U]; + uint32_t RESERVED4[64U]; + __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + uint32_t RESERVED0; + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED1; + __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor. + Therefore they are not covered by the Cortex-M0 header file. + @{ + */ +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ +/*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M0 */ + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +#define __NVIC_SetPriorityGrouping(X) (void)(X) +#define __NVIC_GetPriorityGrouping() (0U) + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + Address 0 must be mapped to SRAM. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t vectors = 0x0U; + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + /* ARM Application Note 321 states that the M0 does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t vectors = 0x0U; + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM0_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0plus.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0plus.h new file mode 100644 index 0000000..d104965 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm0plus.h @@ -0,0 +1,1085 @@ +/**************************************************************************//** + * @file core_cm0plus.h + * @brief CMSIS Cortex-M0+ Core Peripheral Access Layer Header File + * @version V5.0.7 + * @date 13. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM0PLUS_H_GENERIC +#define __CORE_CM0PLUS_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex-M0+ + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM0+ definitions */ +#define __CM0PLUS_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM0PLUS_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM0PLUS_CMSIS_VERSION ((__CM0PLUS_CMSIS_VERSION_MAIN << 16U) | \ + __CM0PLUS_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (0U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM0PLUS_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM0PLUS_H_DEPENDANT +#define __CORE_CM0PLUS_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM0PLUS_REV + #define __CM0PLUS_REV 0x0000U + #warning "__CM0PLUS_REV not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __VTOR_PRESENT + #define __VTOR_PRESENT 0U + #warning "__VTOR_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex-M0+ */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core MPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[31U]; + __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[31U]; + __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[31U]; + __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[31U]; + uint32_t RESERVED4[64U]; + __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ +#else + uint32_t RESERVED0; +#endif + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED1; + __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) +/* SCB Interrupt Control State Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 8U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0xFFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ +#endif + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ +} MPU_Type; + +#define MPU_TYPE_RALIASES 1U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 8U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0xFFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Cortex-M0+ Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor. + Therefore they are not covered by the Cortex-M0+ header file. + @{ + */ +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ +/*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M0+ */ + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +#define __NVIC_SetPriorityGrouping(X) (void)(X) +#define __NVIC_GetPriorityGrouping() (0U) + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + If VTOR is not present address 0 must be mapped to SRAM. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t vectors = SCB->VTOR; +#else + uint32_t vectors = 0x0U; +#endif + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + /* ARM Application Note 321 states that the M0+ does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t vectors = SCB->VTOR; +#else + uint32_t vectors = 0x0U; +#endif + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv7.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM0PLUS_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm1.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm1.h new file mode 100644 index 0000000..76b4569 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm1.h @@ -0,0 +1,979 @@ +/**************************************************************************//** + * @file core_cm1.h + * @brief CMSIS Cortex-M1 Core Peripheral Access Layer Header File + * @version V1.0.1 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM1_H_GENERIC +#define __CORE_CM1_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M1 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM1 definitions */ +#define __CM1_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM1_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM1_CMSIS_VERSION ((__CM1_CMSIS_VERSION_MAIN << 16U) | \ + __CM1_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (1U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM1_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM1_H_DEPENDANT +#define __CORE_CM1_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM1_REV + #define __CM1_REV 0x0100U + #warning "__CM1_REV not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M1 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t _reserved0:1; /*!< bit: 0 Reserved */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[31U]; + __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[31U]; + __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[31U]; + __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[31U]; + uint32_t RESERVED4[64U]; + __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + uint32_t RESERVED0; + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED1; + __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +} SCnSCB_Type; + +/* Auxiliary Control Register Definitions */ +#define SCnSCB_ACTLR_ITCMUAEN_Pos 4U /*!< ACTLR: Instruction TCM Upper Alias Enable Position */ +#define SCnSCB_ACTLR_ITCMUAEN_Msk (1UL << SCnSCB_ACTLR_ITCMUAEN_Pos) /*!< ACTLR: Instruction TCM Upper Alias Enable Mask */ + +#define SCnSCB_ACTLR_ITCMLAEN_Pos 3U /*!< ACTLR: Instruction TCM Lower Alias Enable Position */ +#define SCnSCB_ACTLR_ITCMLAEN_Msk (1UL << SCnSCB_ACTLR_ITCMLAEN_Pos) /*!< ACTLR: Instruction TCM Lower Alias Enable Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Cortex-M1 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor. + Therefore they are not covered by the Cortex-M1 header file. + @{ + */ +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ +/*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M1 */ + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +#define __NVIC_SetPriorityGrouping(X) (void)(X) +#define __NVIC_GetPriorityGrouping() (0U) + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + Address 0 must be mapped to SRAM. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)0x0U; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + /* ARM Application Note 321 states that the M1 does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)0x0U; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM1_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm23.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm23.h new file mode 100644 index 0000000..b79c6af --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm23.h @@ -0,0 +1,1996 @@ +/**************************************************************************//** + * @file core_cm23.h + * @brief CMSIS Cortex-M23 Core Peripheral Access Layer Header File + * @version V5.0.8 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM23_H_GENERIC +#define __CORE_CM23_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M23 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS definitions */ +#define __CM23_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM23_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM23_CMSIS_VERSION ((__CM23_CMSIS_VERSION_MAIN << 16U) | \ + __CM23_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (23U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM23_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM23_H_DEPENDANT +#define __CORE_CM23_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM23_REV + #define __CM23_REV 0x0000U + #warning "__CM23_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __VTOR_PRESENT + #define __VTOR_PRESENT 0U + #warning "__VTOR_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif + + #ifndef __ETM_PRESENT + #define __ETM_PRESENT 0U + #warning "__ETM_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MTB_PRESENT + #define __MTB_PRESENT 0U + #warning "__MTB_PRESENT not defined in device header file; using default!" + #endif + +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M23 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint32_t IPR[124U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ +#else + uint32_t RESERVED0; +#endif + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED1; + __IOM uint32_t SHPR[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ +#endif + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + uint32_t RESERVED0[6U]; + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x3UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IOM uint32_t PSCR; /*!< Offset: 0x308 (R/W) Periodic Synchronization Control Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t ITFTTD0; /*!< Offset: 0xEEC (R/ ) Integration Test FIFO Test Data 0 Register */ + __IOM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/W) Integration Test ATB Control Register 2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) Integration Test ATB Control Register 0 */ + __IM uint32_t ITFTTD1; /*!< Offset: 0xEFC (R/ ) Integration Test FIFO Test Data 1 Register */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) Device Configuration Register */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) Device Type Identifier Register */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_FOnMan_Pos 6U /*!< TPI FFCR: FOnMan Position */ +#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos) /*!< TPI FFCR: FOnMan Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration Test FIFO Test Data 0 Register Definitions */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD0: ATB Interface 2 ATVALIDPosition */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD0: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD0_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD0: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD0_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data2_Pos 16U /*!< TPI ITFTTD0: ATB Interface 1 data2 Position */ +#define TPI_ITFTTD0_ATB_IF1_data2_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data2 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data1_Pos 8U /*!< TPI ITFTTD0: ATB Interface 1 data1 Position */ +#define TPI_ITFTTD0_ATB_IF1_data1_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data1 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data0_Pos 0U /*!< TPI ITFTTD0: ATB Interface 1 data0 Position */ +#define TPI_ITFTTD0_ATB_IF1_data0_Msk (0xFFUL /*<< TPI_ITFTTD0_ATB_IF1_data0_Pos*/) /*!< TPI ITFTTD0: ATB Interface 1 data0 Mask */ + +/* TPI Integration Test ATB Control Register 2 Register Definitions */ +#define TPI_ITATBCTR2_AFVALID2S_Pos 1U /*!< TPI ITATBCTR2: AFVALID2S Position */ +#define TPI_ITATBCTR2_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID2S_Pos) /*!< TPI ITATBCTR2: AFVALID2SS Mask */ + +#define TPI_ITATBCTR2_AFVALID1S_Pos 1U /*!< TPI ITATBCTR2: AFVALID1S Position */ +#define TPI_ITATBCTR2_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID1S_Pos) /*!< TPI ITATBCTR2: AFVALID1SS Mask */ + +#define TPI_ITATBCTR2_ATREADY2S_Pos 0U /*!< TPI ITATBCTR2: ATREADY2S Position */ +#define TPI_ITATBCTR2_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2S_Pos*/) /*!< TPI ITATBCTR2: ATREADY2S Mask */ + +#define TPI_ITATBCTR2_ATREADY1S_Pos 0U /*!< TPI ITATBCTR2: ATREADY1S Position */ +#define TPI_ITATBCTR2_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1S_Pos*/) /*!< TPI ITATBCTR2: ATREADY1S Mask */ + +/* TPI Integration Test FIFO Test Data 1 Register Definitions */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD1: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD1_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD1: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD1_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data2_Pos 16U /*!< TPI ITFTTD1: ATB Interface 2 data2 Position */ +#define TPI_ITFTTD1_ATB_IF2_data2_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data2 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data1_Pos 8U /*!< TPI ITFTTD1: ATB Interface 2 data1 Position */ +#define TPI_ITFTTD1_ATB_IF2_data1_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data1 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data0_Pos 0U /*!< TPI ITFTTD1: ATB Interface 2 data0 Position */ +#define TPI_ITFTTD1_ATB_IF2_data0_Msk (0xFFUL /*<< TPI_ITFTTD1_ATB_IF2_data0_Pos*/) /*!< TPI ITFTTD1: ATB Interface 2 data0 Mask */ + +/* TPI Integration Test ATB Control Register 0 Definitions */ +#define TPI_ITATBCTR0_AFVALID2S_Pos 1U /*!< TPI ITATBCTR0: AFVALID2S Position */ +#define TPI_ITATBCTR0_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID2S_Pos) /*!< TPI ITATBCTR0: AFVALID2SS Mask */ + +#define TPI_ITATBCTR0_AFVALID1S_Pos 1U /*!< TPI ITATBCTR0: AFVALID1S Position */ +#define TPI_ITATBCTR0_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID1S_Pos) /*!< TPI ITATBCTR0: AFVALID1SS Mask */ + +#define TPI_ITATBCTR0_ATREADY2S_Pos 0U /*!< TPI ITATBCTR0: ATREADY2S Position */ +#define TPI_ITATBCTR0_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2S_Pos*/) /*!< TPI ITATBCTR0: ATREADY2S Mask */ + +#define TPI_ITATBCTR0_ATREADY1S_Pos 0U /*!< TPI ITATBCTR0: ATREADY1S Position */ +#define TPI_ITATBCTR0_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1S_Pos*/) /*!< TPI ITATBCTR0: ATREADY1S Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_FIFOSZ_Pos 6U /*!< TPI DEVID: FIFOSZ Position */ +#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos) /*!< TPI DEVID: FIFOSZ Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x3FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + uint32_t RESERVED0[7U]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 1U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_BASE_Pos 5U /*!< MPU RBAR: BASE Position */ +#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos) /*!< MPU RBAR: BASE Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: EN Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: EN Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#endif +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register */ +#define CoreDebug_DEMCR_DWTENA_Pos 24U /*!< CoreDebug DEMCR: DWTENA Position */ +#define CoreDebug_DEMCR_DWTENA_Msk (1UL << CoreDebug_DEMCR_DWTENA_Pos) /*!< CoreDebug DEMCR: DWTENA Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else +/*#define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping not available for Cortex-M23 */ +/*#define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping not available for Cortex-M23 */ + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* Special LR values for Secure/Non-Secure call handling and exception handling */ + +/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */ +#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */ + +/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */ +#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */ +#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */ +#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */ +#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */ +#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */ +#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */ +#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */ + +/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */ +#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */ +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */ +#else +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */ +#endif + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + +#define __NVIC_SetPriorityGrouping(X) (void)(X) +#define __NVIC_GetPriorityGrouping() (0U) + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IPR[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHPR[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHPR[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IPR[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHPR[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + If VTOR is not present address 0 must be mapped to SRAM. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t *vectors = (uint32_t *)SCB->VTOR; +#else + uint32_t *vectors = (uint32_t *)0x0U; +#endif + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + uint32_t *vectors = (uint32_t *)SCB->VTOR; +#else + uint32_t *vectors = (uint32_t *)0x0U; +#endif + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[_IP_IDX(IRQn)] = ((uint32_t)(NVIC_NS->IPR[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB_NS->SHPR[_SHP_IDX(IRQn)] = ((uint32_t)(SCB_NS->SHPR[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IPR[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB_NS->SHPR[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM23_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm3.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm3.h new file mode 100644 index 0000000..8157ca7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm3.h @@ -0,0 +1,1937 @@ +/**************************************************************************//** + * @file core_cm3.h + * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File + * @version V5.1.0 + * @date 13. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM3_H_GENERIC +#define __CORE_CM3_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M3 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM3 definitions */ +#define __CM3_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM3_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM3_CMSIS_VERSION ((__CM3_CMSIS_VERSION_MAIN << 16U) | \ + __CM3_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (3U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM3_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM3_H_DEPENDANT +#define __CORE_CM3_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM3_REV + #define __CM3_REV 0x0200U + #warning "__CM3_REV not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M3 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:27; /*!< bit: 0..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:1; /*!< bit: 9 Reserved */ + uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */ + uint32_t _reserved1:8; /*!< bit: 16..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit */ + uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_ICI_IT_2_Pos 25U /*!< xPSR: ICI/IT part 2 Position */ +#define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR: ICI/IT part 2 Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ICI_IT_1_Pos 10U /*!< xPSR: ICI/IT part 1 Position */ +#define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR: ICI/IT part 1 Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[24U]; + __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[24U]; + __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[24U]; + __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[24U]; + __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[56U]; + __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED5[644U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHP[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + uint32_t RESERVED0[5U]; + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#if defined (__CM3_REV) && (__CM3_REV < 0x0201U) /* core r2p1 */ +#define SCB_VTOR_TBLBASE_Pos 29U /*!< SCB VTOR: TBLBASE Position */ +#define SCB_VTOR_TBLBASE_Msk (1UL << SCB_VTOR_TBLBASE_Pos) /*!< SCB VTOR: TBLBASE Mask */ + +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x3FFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ +#else +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ +#endif + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +#define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB AIRCR: VECTRESET Position */ +#define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB AIRCR: VECTRESET Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +#define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB CCR: NONBASETHRDENA Position */ +#define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB CCR: NONBASETHRDENA Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ +#if defined (__CM3_REV) && (__CM3_REV >= 0x200U) + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +#else + uint32_t RESERVED1[1U]; +#endif +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/* Auxiliary Control Register Definitions */ +#if defined (__CM3_REV) && (__CM3_REV >= 0x200U) +#define SCnSCB_ACTLR_DISOOFP_Pos 9U /*!< ACTLR: DISOOFP Position */ +#define SCnSCB_ACTLR_DISOOFP_Msk (1UL << SCnSCB_ACTLR_DISOOFP_Pos) /*!< ACTLR: DISOOFP Mask */ + +#define SCnSCB_ACTLR_DISFPCA_Pos 8U /*!< ACTLR: DISFPCA Position */ +#define SCnSCB_ACTLR_DISFPCA_Msk (1UL << SCnSCB_ACTLR_DISFPCA_Pos) /*!< ACTLR: DISFPCA Mask */ + +#define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: DISFOLD Position */ +#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: DISFOLD Mask */ + +#define SCnSCB_ACTLR_DISDEFWBUF_Pos 1U /*!< ACTLR: DISDEFWBUF Position */ +#define SCnSCB_ACTLR_DISDEFWBUF_Msk (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos) /*!< ACTLR: DISDEFWBUF Mask */ + +#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */ +#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */ +#endif + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[6U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TraceBusID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPrescale_Pos 8U /*!< ITM TCR: TSPrescale Position */ +#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED0[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Mask Register Definitions */ +#define DWT_MASK_MASK_Pos 0U /*!< DWT MASK: MASK Position */ +#define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MASK: MASK Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUNCTION: DATAVADDR1 Position */ +#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUNCTION: DATAVADDR1 Mask */ + +#define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUNCTION: DATAVADDR0 Position */ +#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUNCTION: DATAVADDR0 Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUNCTION: LNK1ENA Position */ +#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUNCTION: LNK1ENA Mask */ + +#define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUNCTION: DATAVMATCH Position */ +#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUNCTION: DATAVMATCH Mask */ + +#define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUNCTION: CYCMATCH Position */ +#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUNCTION: CYCMATCH Mask */ + +#define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUNCTION: EMITRANGE Position */ +#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUNCTION: EMITRANGE Mask */ + +#define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUNCTION: FUNCTION Position */ +#define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUNCTION: FUNCTION Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ + __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ + __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration ETM Data Register Definitions (FIFO0) */ +#define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIFO0: ITM_ATVALID Position */ +#define TPI_FIFO0_ITM_ATVALID_Msk (0x1UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ + +#define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIFO0: ITM_bytecount Position */ +#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ + +#define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIFO0: ETM_ATVALID Position */ +#define TPI_FIFO0_ETM_ATVALID_Msk (0x1UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ + +#define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIFO0: ETM_bytecount Position */ +#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ + +#define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIFO0: ETM2 Position */ +#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ + +#define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIFO0: ETM1 Position */ +#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ + +#define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIFO0: ETM0 Position */ +#define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIFO0: ETM0 Mask */ + +/* TPI ITATBCTR2 Register Definitions */ +#define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITATBCTR2: ATREADY2 Position */ +#define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITATBCTR2: ATREADY2 Mask */ + +#define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITATBCTR2: ATREADY1 Position */ +#define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITATBCTR2: ATREADY1 Mask */ + +/* TPI Integration ITM Data Register Definitions (FIFO1) */ +#define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIFO1: ITM_ATVALID Position */ +#define TPI_FIFO1_ITM_ATVALID_Msk (0x1UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ + +#define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIFO1: ITM_bytecount Position */ +#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ + +#define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIFO1: ETM_ATVALID Position */ +#define TPI_FIFO1_ETM_ATVALID_Msk (0x1UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ + +#define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIFO1: ETM_bytecount Position */ +#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ + +#define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIFO1: ITM2 Position */ +#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ + +#define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIFO1: ITM1 Position */ +#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ + +#define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIFO1: ITM0 Position */ +#define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIFO1: ITM0 Mask */ + +/* TPI ITATBCTR0 Register Definitions */ +#define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITATBCTR0: ATREADY2 Position */ +#define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITATBCTR0: ATREADY2 Mask */ + +#define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITATBCTR0: ATREADY1 Position */ +#define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITATBCTR0: ATREADY1 Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEVID: MinBufSz Position */ +#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ + +#define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEVID: AsynClkIn Position */ +#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address Register */ + __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address Register */ + __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address Register */ + __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and Size Register */ +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 5U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ +#define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ +#define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ +#define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ +#define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ +#define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ +#define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ +#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IP[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + /* ARM Application Note 321 states that the M3 does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv7.h" + +#endif + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM3_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm33.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm33.h new file mode 100644 index 0000000..7fed59a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm33.h @@ -0,0 +1,2910 @@ +/**************************************************************************//** + * @file core_cm33.h + * @brief CMSIS Cortex-M33 Core Peripheral Access Layer Header File + * @version V5.1.0 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM33_H_GENERIC +#define __CORE_CM33_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M33 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM33 definitions */ +#define __CM33_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM33_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM33_CMSIS_VERSION ((__CM33_CMSIS_VERSION_MAIN << 16U) | \ + __CM33_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (33U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined (__TARGET_FPU_VFP) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined (__ARM_FP) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined (__ARMVFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined (__TI_VFP_SUPPORT__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined (__FPU_VFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM33_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM33_H_DEPENDANT +#define __CORE_CM33_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM33_REV + #define __CM33_REV 0x0000U + #warning "__CM33_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DSP_PRESENT + #define __DSP_PRESENT 0U + #warning "__DSP_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M33 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:7; /*!< bit: 9..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t IT:2; /*!< bit: 25..26 saved IT state (read 0) */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_IT_Pos 25U /*!< xPSR: IT Position */ +#define xPSR_IT_Msk (3UL << xPSR_IT_Pos) /*!< xPSR: IT Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t FPCA:1; /*!< bit: 2 Floating-point context active */ + uint32_t SFPA:1; /*!< bit: 3 Secure floating-point active */ + uint32_t _reserved1:28; /*!< bit: 4..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SFPA_Pos 3U /*!< CONTROL: SFPA Position */ +#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos) /*!< CONTROL: SFPA Mask */ + +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint8_t IPR[496U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED6[580U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ID_ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t ID_MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ID_ISAR[6U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ + __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ + __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ + __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + __IOM uint32_t NSACR; /*!< Offset: 0x08C (R/W) Non-Secure Access Control Register */ + uint32_t RESERVED3[92U]; + __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ + uint32_t RESERVED4[15U]; + __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 */ + uint32_t RESERVED5[1U]; + __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ + uint32_t RESERVED6[1U]; + __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ + __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ + __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ + __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ + __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ + __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ + __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ + __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U /*!< SCB SHCSR: SECUREFAULTPENDED Position */ +#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos) /*!< SCB SHCSR: SECUREFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTENA_Pos 19U /*!< SCB SHCSR: SECUREFAULTENA Position */ +#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos) /*!< SCB SHCSR: SECUREFAULTENA Mask */ + +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_SECUREFAULTACT_Pos 4U /*!< SCB SHCSR: SECUREFAULTACT Position */ +#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos) /*!< SCB SHCSR: SECUREFAULTACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U) /*!< SCB CFSR (UFSR): STKOF Position */ +#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos) /*!< SCB CFSR (UFSR): STKOF Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/* SCB Non-Secure Access Control Register Definitions */ +#define SCB_NSACR_CP11_Pos 11U /*!< SCB NSACR: CP11 Position */ +#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos) /*!< SCB NSACR: CP11 Mask */ + +#define SCB_NSACR_CP10_Pos 10U /*!< SCB NSACR: CP10 Position */ +#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos) /*!< SCB NSACR: CP10 Mask */ + +#define SCB_NSACR_CPn_Pos 0U /*!< SCB NSACR: CPn Position */ +#define SCB_NSACR_CPn_Msk (1UL /*<< SCB_NSACR_CPn_Pos*/) /*!< SCB NSACR: CPn Mask */ + +/* SCB Cache Level ID Register Definitions */ +#define SCB_CLIDR_LOUU_Pos 27U /*!< SCB CLIDR: LoUU Position */ +#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ + +#define SCB_CLIDR_LOC_Pos 24U /*!< SCB CLIDR: LoC Position */ +#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB CLIDR: LoC Mask */ + +/* SCB Cache Type Register Definitions */ +#define SCB_CTR_FORMAT_Pos 29U /*!< SCB CTR: Format Position */ +#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ + +#define SCB_CTR_CWG_Pos 24U /*!< SCB CTR: CWG Position */ +#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ + +#define SCB_CTR_ERG_Pos 20U /*!< SCB CTR: ERG Position */ +#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ + +#define SCB_CTR_DMINLINE_Pos 16U /*!< SCB CTR: DminLine Position */ +#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ + +#define SCB_CTR_IMINLINE_Pos 0U /*!< SCB CTR: ImInLine Position */ +#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB CTR: ImInLine Mask */ + +/* SCB Cache Size ID Register Definitions */ +#define SCB_CCSIDR_WT_Pos 31U /*!< SCB CCSIDR: WT Position */ +#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ + +#define SCB_CCSIDR_WB_Pos 30U /*!< SCB CCSIDR: WB Position */ +#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ + +#define SCB_CCSIDR_RA_Pos 29U /*!< SCB CCSIDR: RA Position */ +#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ + +#define SCB_CCSIDR_WA_Pos 28U /*!< SCB CCSIDR: WA Position */ +#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ + +#define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB CCSIDR: NumSets Position */ +#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ + +#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB CCSIDR: Associativity Position */ +#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ + +#define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB CCSIDR: LineSize Position */ +#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB CCSIDR: LineSize Mask */ + +/* SCB Cache Size Selection Register Definitions */ +#define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB CSSELR: Level Position */ +#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ + +#define SCB_CSSELR_IND_Pos 0U /*!< SCB CSSELR: InD Position */ +#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB CSSELR: InD Mask */ + +/* SCB Software Triggered Interrupt Register Definitions */ +#define SCB_STIR_INTID_Pos 0U /*!< SCB STIR: INTID Position */ +#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB STIR: INTID Mask */ + +/* SCB D-Cache Invalidate by Set-way Register Definitions */ +#define SCB_DCISW_WAY_Pos 30U /*!< SCB DCISW: Way Position */ +#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB DCISW: Way Mask */ + +#define SCB_DCISW_SET_Pos 5U /*!< SCB DCISW: Set Position */ +#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB DCISW: Set Mask */ + +/* SCB D-Cache Clean by Set-way Register Definitions */ +#define SCB_DCCSW_WAY_Pos 30U /*!< SCB DCCSW: Way Position */ +#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB DCCSW: Way Mask */ + +#define SCB_DCCSW_SET_Pos 5U /*!< SCB DCCSW: Set Position */ +#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB DCCSW: Set Mask */ + +/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ +#define SCB_DCCISW_WAY_Pos 30U /*!< SCB DCCISW: Way Position */ +#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB DCCISW: Way Mask */ + +#define SCB_DCCISW_SET_Pos 5U /*!< SCB DCCISW: Set Position */ +#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB DCCISW: Set Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ + __IOM uint32_t CPPWR; /*!< Offset: 0x00C (R/W) Coprocessor Power Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) ITM Device Architecture Register */ + uint32_t RESERVED6[4U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Stimulus Port Register Definitions */ +#define ITM_STIM_DISABLED_Pos 1U /*!< ITM STIM: DISABLED Position */ +#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos) /*!< ITM STIM: DISABLED Mask */ + +#define ITM_STIM_FIFOREADY_Pos 0U /*!< ITM STIM: FIFOREADY Position */ +#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/) /*!< ITM STIM: FIFOREADY Mask */ + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TRACEBUSID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPRESCALE_Pos 8U /*!< ITM TCR: TSPRESCALE Position */ +#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos) /*!< ITM TCR: TSPRESCALE Mask */ + +#define ITM_TCR_STALLENA_Pos 5U /*!< ITM TCR: STALLENA Position */ +#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos) /*!< ITM TCR: STALLENA Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ + uint32_t RESERVED32[934U]; + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ + uint32_t RESERVED33[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) Device Architecture Register */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCDISS_Pos 23U /*!< DWT CTRL: CYCDISS Position */ +#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos) /*!< DWT CTRL: CYCDISS Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x1UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IOM uint32_t PSCR; /*!< Offset: 0x308 (R/W) Periodic Synchronization Control Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t ITFTTD0; /*!< Offset: 0xEEC (R/ ) Integration Test FIFO Test Data 0 Register */ + __IOM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/W) Integration Test ATB Control Register 2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) Integration Test ATB Control Register 0 */ + __IM uint32_t ITFTTD1; /*!< Offset: 0xEFC (R/ ) Integration Test FIFO Test Data 1 Register */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) Device Configuration Register */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) Device Type Identifier Register */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_FOnMan_Pos 6U /*!< TPI FFCR: FOnMan Position */ +#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos) /*!< TPI FFCR: FOnMan Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration Test FIFO Test Data 0 Register Definitions */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD0: ATB Interface 2 ATVALIDPosition */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD0: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD0_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD0: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD0_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data2_Pos 16U /*!< TPI ITFTTD0: ATB Interface 1 data2 Position */ +#define TPI_ITFTTD0_ATB_IF1_data2_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data2 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data1_Pos 8U /*!< TPI ITFTTD0: ATB Interface 1 data1 Position */ +#define TPI_ITFTTD0_ATB_IF1_data1_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data1 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data0_Pos 0U /*!< TPI ITFTTD0: ATB Interface 1 data0 Position */ +#define TPI_ITFTTD0_ATB_IF1_data0_Msk (0xFFUL /*<< TPI_ITFTTD0_ATB_IF1_data0_Pos*/) /*!< TPI ITFTTD0: ATB Interface 1 data0 Mask */ + +/* TPI Integration Test ATB Control Register 2 Register Definitions */ +#define TPI_ITATBCTR2_AFVALID2S_Pos 1U /*!< TPI ITATBCTR2: AFVALID2S Position */ +#define TPI_ITATBCTR2_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID2S_Pos) /*!< TPI ITATBCTR2: AFVALID2SS Mask */ + +#define TPI_ITATBCTR2_AFVALID1S_Pos 1U /*!< TPI ITATBCTR2: AFVALID1S Position */ +#define TPI_ITATBCTR2_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID1S_Pos) /*!< TPI ITATBCTR2: AFVALID1SS Mask */ + +#define TPI_ITATBCTR2_ATREADY2S_Pos 0U /*!< TPI ITATBCTR2: ATREADY2S Position */ +#define TPI_ITATBCTR2_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2S_Pos*/) /*!< TPI ITATBCTR2: ATREADY2S Mask */ + +#define TPI_ITATBCTR2_ATREADY1S_Pos 0U /*!< TPI ITATBCTR2: ATREADY1S Position */ +#define TPI_ITATBCTR2_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1S_Pos*/) /*!< TPI ITATBCTR2: ATREADY1S Mask */ + +/* TPI Integration Test FIFO Test Data 1 Register Definitions */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD1: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD1_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD1: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD1_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data2_Pos 16U /*!< TPI ITFTTD1: ATB Interface 2 data2 Position */ +#define TPI_ITFTTD1_ATB_IF2_data2_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data2 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data1_Pos 8U /*!< TPI ITFTTD1: ATB Interface 2 data1 Position */ +#define TPI_ITFTTD1_ATB_IF2_data1_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data1 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data0_Pos 0U /*!< TPI ITFTTD1: ATB Interface 2 data0 Position */ +#define TPI_ITFTTD1_ATB_IF2_data0_Msk (0xFFUL /*<< TPI_ITFTTD1_ATB_IF2_data0_Pos*/) /*!< TPI ITFTTD1: ATB Interface 2 data0 Mask */ + +/* TPI Integration Test ATB Control Register 0 Definitions */ +#define TPI_ITATBCTR0_AFVALID2S_Pos 1U /*!< TPI ITATBCTR0: AFVALID2S Position */ +#define TPI_ITATBCTR0_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID2S_Pos) /*!< TPI ITATBCTR0: AFVALID2SS Mask */ + +#define TPI_ITATBCTR0_AFVALID1S_Pos 1U /*!< TPI ITATBCTR0: AFVALID1S Position */ +#define TPI_ITATBCTR0_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID1S_Pos) /*!< TPI ITATBCTR0: AFVALID1SS Mask */ + +#define TPI_ITATBCTR0_ATREADY2S_Pos 0U /*!< TPI ITATBCTR0: ATREADY2S Position */ +#define TPI_ITATBCTR0_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2S_Pos*/) /*!< TPI ITATBCTR0: ATREADY2S Mask */ + +#define TPI_ITATBCTR0_ATREADY1S_Pos 0U /*!< TPI ITATBCTR0: ATREADY1S Position */ +#define TPI_ITATBCTR0_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1S_Pos*/) /*!< TPI ITATBCTR0: ATREADY1S Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_FIFOSZ_Pos 6U /*!< TPI DEVID: FIFOSZ Position */ +#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos) /*!< TPI DEVID: FIFOSZ Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x3FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Region Base Address Register Alias 1 */ + __IOM uint32_t RLAR_A1; /*!< Offset: 0x018 (R/W) MPU Region Limit Address Register Alias 1 */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Region Base Address Register Alias 2 */ + __IOM uint32_t RLAR_A2; /*!< Offset: 0x020 (R/W) MPU Region Limit Address Register Alias 2 */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Region Base Address Register Alias 3 */ + __IOM uint32_t RLAR_A3; /*!< Offset: 0x028 (R/W) MPU Region Limit Address Register Alias 3 */ + uint32_t RESERVED0[1]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_BASE_Pos 5U /*!< MPU RBAR: BASE Position */ +#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos) /*!< MPU RBAR: BASE Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: Region enable bit Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: Region enable bit Disable Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#else + uint32_t RESERVED0[3]; +#endif + __IOM uint32_t SFSR; /*!< Offset: 0x014 (R/W) Secure Fault Status Register */ + __IOM uint32_t SFAR; /*!< Offset: 0x018 (R/W) Secure Fault Address Register */ +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/* Secure Fault Status Register Definitions */ +#define SAU_SFSR_LSERR_Pos 7U /*!< SAU SFSR: LSERR Position */ +#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos) /*!< SAU SFSR: LSERR Mask */ + +#define SAU_SFSR_SFARVALID_Pos 6U /*!< SAU SFSR: SFARVALID Position */ +#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos) /*!< SAU SFSR: SFARVALID Mask */ + +#define SAU_SFSR_LSPERR_Pos 5U /*!< SAU SFSR: LSPERR Position */ +#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos) /*!< SAU SFSR: LSPERR Mask */ + +#define SAU_SFSR_INVTRAN_Pos 4U /*!< SAU SFSR: INVTRAN Position */ +#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos) /*!< SAU SFSR: INVTRAN Mask */ + +#define SAU_SFSR_AUVIOL_Pos 3U /*!< SAU SFSR: AUVIOL Position */ +#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos) /*!< SAU SFSR: AUVIOL Mask */ + +#define SAU_SFSR_INVER_Pos 2U /*!< SAU SFSR: INVER Position */ +#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos) /*!< SAU SFSR: INVER Mask */ + +#define SAU_SFSR_INVIS_Pos 1U /*!< SAU SFSR: INVIS Position */ +#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos) /*!< SAU SFSR: INVIS Mask */ + +#define SAU_SFSR_INVEP_Pos 0U /*!< SAU SFSR: INVEP Position */ +#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/) /*!< SAU SFSR: INVEP Mask */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_LSPENS_Pos 29U /*!< FPCCR: LSPENS Position */ +#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos) /*!< FPCCR: LSPENS bit Mask */ + +#define FPU_FPCCR_CLRONRET_Pos 28U /*!< FPCCR: CLRONRET Position */ +#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos) /*!< FPCCR: CLRONRET bit Mask */ + +#define FPU_FPCCR_CLRONRETS_Pos 27U /*!< FPCCR: CLRONRETS Position */ +#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos) /*!< FPCCR: CLRONRETS bit Mask */ + +#define FPU_FPCCR_TS_Pos 26U /*!< FPCCR: TS Position */ +#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos) /*!< FPCCR: TS bit Mask */ + +#define FPU_FPCCR_UFRDY_Pos 10U /*!< FPCCR: UFRDY Position */ +#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos) /*!< FPCCR: UFRDY bit Mask */ + +#define FPU_FPCCR_SPLIMVIOL_Pos 9U /*!< FPCCR: SPLIMVIOL Position */ +#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos) /*!< FPCCR: SPLIMVIOL bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_SFRDY_Pos 7U /*!< FPCCR: SFRDY Position */ +#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos) /*!< FPCCR: SFRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_S_Pos 2U /*!< FPCCR: Security status of the FP context bit Position */ +#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos) /*!< FPCCR: Security status of the FP context bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + + #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ + #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCnSCB_NS ((SCnSCB_Type *) SCS_BASE_NS ) /*!< System control Register not in SCB(non-secure address space) */ + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + + #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL) /*!< Floating Point Unit (non-secure address space) */ + #define FPU_NS ((FPU_Type *) FPU_BASE_NS ) /*!< Floating Point Unit (non-secure address space) */ + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* Special LR values for Secure/Non-Secure call handling and exception handling */ + +/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */ +#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */ + +/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */ +#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */ +#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */ +#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */ +#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */ +#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */ +#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */ +#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */ + +/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */ +#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */ +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */ +#else +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */ +#endif + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Set Priority Grouping (non-secure) + \details Sets the non-secure priority grouping field when in secure state using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB_NS->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB_NS->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping (non-secure) + \details Reads the priority grouping field from the non-secure NVIC when in secure state. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void) +{ + return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = FPU->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U) + { + return 2U; /* Double + Single precision FPU */ + } + else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM33_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm35p.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm35p.h new file mode 100644 index 0000000..5579c82 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm35p.h @@ -0,0 +1,2910 @@ +/**************************************************************************//** + * @file core_cm35p.h + * @brief CMSIS Cortex-M35P Core Peripheral Access Layer Header File + * @version V1.0.0 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM35P_H_GENERIC +#define __CORE_CM35P_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M35P + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM35P definitions */ +#define __CM35P_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM35P_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM35P_CMSIS_VERSION ((__CM35P_CMSIS_VERSION_MAIN << 16U) | \ + __CM35P_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (35U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined (__TARGET_FPU_VFP) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined (__ARM_FP) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined (__ARMVFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + + #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U) + #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U) + #define __DSP_USED 1U + #else + #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)" + #define __DSP_USED 0U + #endif + #else + #define __DSP_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined (__TI_VFP_SUPPORT__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined (__FPU_VFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM35P_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM35P_H_DEPENDANT +#define __CORE_CM35P_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM35P_REV + #define __CM35P_REV 0x0000U + #warning "__CM35P_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __SAUREGION_PRESENT + #define __SAUREGION_PRESENT 0U + #warning "__SAUREGION_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DSP_PRESENT + #define __DSP_PRESENT 0U + #warning "__DSP_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M35P */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core SAU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:7; /*!< bit: 9..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t IT:2; /*!< bit: 25..26 saved IT state (read 0) */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_IT_Pos 25U /*!< xPSR: IT Position */ +#define xPSR_IT_Msk (3UL << xPSR_IT_Pos) /*!< xPSR: IT Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack-pointer select */ + uint32_t FPCA:1; /*!< bit: 2 Floating-point context active */ + uint32_t SFPA:1; /*!< bit: 3 Secure floating-point active */ + uint32_t _reserved1:28; /*!< bit: 4..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SFPA_Pos 3U /*!< CONTROL: SFPA Position */ +#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos) /*!< CONTROL: SFPA Mask */ + +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[16U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[16U]; + __IOM uint32_t ICER[16U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[16U]; + __IOM uint32_t ISPR[16U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[16U]; + __IOM uint32_t ICPR[16U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[16U]; + __IOM uint32_t IABR[16U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[16U]; + __IOM uint32_t ITNS[16U]; /*!< Offset: 0x280 (R/W) Interrupt Non-Secure State Register */ + uint32_t RESERVED5[16U]; + __IOM uint8_t IPR[496U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED6[580U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ID_ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t ID_MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ID_ISAR[6U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ + __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ + __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ + __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + __IOM uint32_t NSACR; /*!< Offset: 0x08C (R/W) Non-Secure Access Control Register */ + uint32_t RESERVED3[92U]; + __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ + uint32_t RESERVED4[15U]; + __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 */ + uint32_t RESERVED5[1U]; + __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ + uint32_t RESERVED6[1U]; + __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ + __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ + __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ + __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ + __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ + __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ + __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ + __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_PENDNMISET_Pos 31U /*!< SCB ICSR: PENDNMISET Position */ +#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos) /*!< SCB ICSR: PENDNMISET Mask */ + +#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos /*!< SCB ICSR: NMIPENDSET Position, backward compatibility */ +#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk /*!< SCB ICSR: NMIPENDSET Mask, backward compatibility */ + +#define SCB_ICSR_PENDNMICLR_Pos 30U /*!< SCB ICSR: PENDNMICLR Position */ +#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos) /*!< SCB ICSR: PENDNMICLR Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_STTNS_Pos 24U /*!< SCB ICSR: STTNS Position (Security Extension) */ +#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos) /*!< SCB ICSR: STTNS Mask (Security Extension) */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIS_Pos 14U /*!< SCB AIRCR: PRIS Position */ +#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos) /*!< SCB AIRCR: PRIS Mask */ + +#define SCB_AIRCR_BFHFNMINS_Pos 13U /*!< SCB AIRCR: BFHFNMINS Position */ +#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos) /*!< SCB AIRCR: BFHFNMINS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQS_Pos 3U /*!< SCB AIRCR: SYSRESETREQS Position */ +#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos) /*!< SCB AIRCR: SYSRESETREQS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEPS_Pos 3U /*!< SCB SCR: SLEEPDEEPS Position */ +#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos) /*!< SCB SCR: SLEEPDEEPS Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: BP Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: BP Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: IC Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: IC Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: DC Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: DC Mask */ + +#define SCB_CCR_STKOFHFNMIGN_Pos 10U /*!< SCB CCR: STKOFHFNMIGN Position */ +#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos) /*!< SCB CCR: STKOFHFNMIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U /*!< SCB SHCSR: HARDFAULTPENDED Position */ +#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos) /*!< SCB SHCSR: HARDFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U /*!< SCB SHCSR: SECUREFAULTPENDED Position */ +#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos) /*!< SCB SHCSR: SECUREFAULTPENDED Mask */ + +#define SCB_SHCSR_SECUREFAULTENA_Pos 19U /*!< SCB SHCSR: SECUREFAULTENA Position */ +#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos) /*!< SCB SHCSR: SECUREFAULTENA Mask */ + +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_NMIACT_Pos 5U /*!< SCB SHCSR: NMIACT Position */ +#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos) /*!< SCB SHCSR: NMIACT Mask */ + +#define SCB_SHCSR_SECUREFAULTACT_Pos 4U /*!< SCB SHCSR: SECUREFAULTACT Position */ +#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos) /*!< SCB SHCSR: SECUREFAULTACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_HARDFAULTACT_Pos 2U /*!< SCB SHCSR: HARDFAULTACT Position */ +#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos) /*!< SCB SHCSR: HARDFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U) /*!< SCB CFSR (UFSR): STKOF Position */ +#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos) /*!< SCB CFSR (UFSR): STKOF Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/* SCB Non-Secure Access Control Register Definitions */ +#define SCB_NSACR_CP11_Pos 11U /*!< SCB NSACR: CP11 Position */ +#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos) /*!< SCB NSACR: CP11 Mask */ + +#define SCB_NSACR_CP10_Pos 10U /*!< SCB NSACR: CP10 Position */ +#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos) /*!< SCB NSACR: CP10 Mask */ + +#define SCB_NSACR_CPn_Pos 0U /*!< SCB NSACR: CPn Position */ +#define SCB_NSACR_CPn_Msk (1UL /*<< SCB_NSACR_CPn_Pos*/) /*!< SCB NSACR: CPn Mask */ + +/* SCB Cache Level ID Register Definitions */ +#define SCB_CLIDR_LOUU_Pos 27U /*!< SCB CLIDR: LoUU Position */ +#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ + +#define SCB_CLIDR_LOC_Pos 24U /*!< SCB CLIDR: LoC Position */ +#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB CLIDR: LoC Mask */ + +/* SCB Cache Type Register Definitions */ +#define SCB_CTR_FORMAT_Pos 29U /*!< SCB CTR: Format Position */ +#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ + +#define SCB_CTR_CWG_Pos 24U /*!< SCB CTR: CWG Position */ +#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ + +#define SCB_CTR_ERG_Pos 20U /*!< SCB CTR: ERG Position */ +#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ + +#define SCB_CTR_DMINLINE_Pos 16U /*!< SCB CTR: DminLine Position */ +#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ + +#define SCB_CTR_IMINLINE_Pos 0U /*!< SCB CTR: ImInLine Position */ +#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB CTR: ImInLine Mask */ + +/* SCB Cache Size ID Register Definitions */ +#define SCB_CCSIDR_WT_Pos 31U /*!< SCB CCSIDR: WT Position */ +#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ + +#define SCB_CCSIDR_WB_Pos 30U /*!< SCB CCSIDR: WB Position */ +#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ + +#define SCB_CCSIDR_RA_Pos 29U /*!< SCB CCSIDR: RA Position */ +#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ + +#define SCB_CCSIDR_WA_Pos 28U /*!< SCB CCSIDR: WA Position */ +#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ + +#define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB CCSIDR: NumSets Position */ +#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ + +#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB CCSIDR: Associativity Position */ +#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ + +#define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB CCSIDR: LineSize Position */ +#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB CCSIDR: LineSize Mask */ + +/* SCB Cache Size Selection Register Definitions */ +#define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB CSSELR: Level Position */ +#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ + +#define SCB_CSSELR_IND_Pos 0U /*!< SCB CSSELR: InD Position */ +#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB CSSELR: InD Mask */ + +/* SCB Software Triggered Interrupt Register Definitions */ +#define SCB_STIR_INTID_Pos 0U /*!< SCB STIR: INTID Position */ +#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB STIR: INTID Mask */ + +/* SCB D-Cache Invalidate by Set-way Register Definitions */ +#define SCB_DCISW_WAY_Pos 30U /*!< SCB DCISW: Way Position */ +#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB DCISW: Way Mask */ + +#define SCB_DCISW_SET_Pos 5U /*!< SCB DCISW: Set Position */ +#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB DCISW: Set Mask */ + +/* SCB D-Cache Clean by Set-way Register Definitions */ +#define SCB_DCCSW_WAY_Pos 30U /*!< SCB DCCSW: Way Position */ +#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB DCCSW: Way Mask */ + +#define SCB_DCCSW_SET_Pos 5U /*!< SCB DCCSW: Set Position */ +#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB DCCSW: Set Mask */ + +/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ +#define SCB_DCCISW_WAY_Pos 30U /*!< SCB DCCISW: Way Position */ +#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB DCCISW: Way Mask */ + +#define SCB_DCCISW_SET_Pos 5U /*!< SCB DCCISW: Set Position */ +#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB DCCISW: Set Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ + __IOM uint32_t CPPWR; /*!< Offset: 0x00C (R/W) Coprocessor Power Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) ITM Device Architecture Register */ + uint32_t RESERVED6[4U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Stimulus Port Register Definitions */ +#define ITM_STIM_DISABLED_Pos 1U /*!< ITM STIM: DISABLED Position */ +#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos) /*!< ITM STIM: DISABLED Mask */ + +#define ITM_STIM_FIFOREADY_Pos 0U /*!< ITM STIM: FIFOREADY Position */ +#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/) /*!< ITM STIM: FIFOREADY Mask */ + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TRACEBUSID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPRESCALE_Pos 8U /*!< ITM TCR: TSPRESCALE Position */ +#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos) /*!< ITM TCR: TSPRESCALE Mask */ + +#define ITM_TCR_STALLENA_Pos 5U /*!< ITM TCR: STALLENA Position */ +#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos) /*!< ITM TCR: STALLENA Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + uint32_t RESERVED3[1U]; + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED4[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + uint32_t RESERVED5[1U]; + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED6[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + uint32_t RESERVED7[1U]; + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED8[1U]; + __IOM uint32_t COMP4; /*!< Offset: 0x060 (R/W) Comparator Register 4 */ + uint32_t RESERVED9[1U]; + __IOM uint32_t FUNCTION4; /*!< Offset: 0x068 (R/W) Function Register 4 */ + uint32_t RESERVED10[1U]; + __IOM uint32_t COMP5; /*!< Offset: 0x070 (R/W) Comparator Register 5 */ + uint32_t RESERVED11[1U]; + __IOM uint32_t FUNCTION5; /*!< Offset: 0x078 (R/W) Function Register 5 */ + uint32_t RESERVED12[1U]; + __IOM uint32_t COMP6; /*!< Offset: 0x080 (R/W) Comparator Register 6 */ + uint32_t RESERVED13[1U]; + __IOM uint32_t FUNCTION6; /*!< Offset: 0x088 (R/W) Function Register 6 */ + uint32_t RESERVED14[1U]; + __IOM uint32_t COMP7; /*!< Offset: 0x090 (R/W) Comparator Register 7 */ + uint32_t RESERVED15[1U]; + __IOM uint32_t FUNCTION7; /*!< Offset: 0x098 (R/W) Function Register 7 */ + uint32_t RESERVED16[1U]; + __IOM uint32_t COMP8; /*!< Offset: 0x0A0 (R/W) Comparator Register 8 */ + uint32_t RESERVED17[1U]; + __IOM uint32_t FUNCTION8; /*!< Offset: 0x0A8 (R/W) Function Register 8 */ + uint32_t RESERVED18[1U]; + __IOM uint32_t COMP9; /*!< Offset: 0x0B0 (R/W) Comparator Register 9 */ + uint32_t RESERVED19[1U]; + __IOM uint32_t FUNCTION9; /*!< Offset: 0x0B8 (R/W) Function Register 9 */ + uint32_t RESERVED20[1U]; + __IOM uint32_t COMP10; /*!< Offset: 0x0C0 (R/W) Comparator Register 10 */ + uint32_t RESERVED21[1U]; + __IOM uint32_t FUNCTION10; /*!< Offset: 0x0C8 (R/W) Function Register 10 */ + uint32_t RESERVED22[1U]; + __IOM uint32_t COMP11; /*!< Offset: 0x0D0 (R/W) Comparator Register 11 */ + uint32_t RESERVED23[1U]; + __IOM uint32_t FUNCTION11; /*!< Offset: 0x0D8 (R/W) Function Register 11 */ + uint32_t RESERVED24[1U]; + __IOM uint32_t COMP12; /*!< Offset: 0x0E0 (R/W) Comparator Register 12 */ + uint32_t RESERVED25[1U]; + __IOM uint32_t FUNCTION12; /*!< Offset: 0x0E8 (R/W) Function Register 12 */ + uint32_t RESERVED26[1U]; + __IOM uint32_t COMP13; /*!< Offset: 0x0F0 (R/W) Comparator Register 13 */ + uint32_t RESERVED27[1U]; + __IOM uint32_t FUNCTION13; /*!< Offset: 0x0F8 (R/W) Function Register 13 */ + uint32_t RESERVED28[1U]; + __IOM uint32_t COMP14; /*!< Offset: 0x100 (R/W) Comparator Register 14 */ + uint32_t RESERVED29[1U]; + __IOM uint32_t FUNCTION14; /*!< Offset: 0x108 (R/W) Function Register 14 */ + uint32_t RESERVED30[1U]; + __IOM uint32_t COMP15; /*!< Offset: 0x110 (R/W) Comparator Register 15 */ + uint32_t RESERVED31[1U]; + __IOM uint32_t FUNCTION15; /*!< Offset: 0x118 (R/W) Function Register 15 */ + uint32_t RESERVED32[934U]; + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ + uint32_t RESERVED33[1U]; + __IM uint32_t DEVARCH; /*!< Offset: 0xFBC (R/ ) Device Architecture Register */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCDISS_Pos 23U /*!< DWT CTRL: CYCDISS Position */ +#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos) /*!< DWT CTRL: CYCDISS Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_ID_Pos 27U /*!< DWT FUNCTION: ID Position */ +#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos) /*!< DWT FUNCTION: ID Mask */ + +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_ACTION_Pos 4U /*!< DWT FUNCTION: ACTION Position */ +#define DWT_FUNCTION_ACTION_Msk (0x1UL << DWT_FUNCTION_ACTION_Pos) /*!< DWT FUNCTION: ACTION Mask */ + +#define DWT_FUNCTION_MATCH_Pos 0U /*!< DWT FUNCTION: MATCH Position */ +#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /*!< DWT FUNCTION: MATCH Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IOM uint32_t PSCR; /*!< Offset: 0x308 (R/W) Periodic Synchronization Control Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t ITFTTD0; /*!< Offset: 0xEEC (R/ ) Integration Test FIFO Test Data 0 Register */ + __IOM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/W) Integration Test ATB Control Register 2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) Integration Test ATB Control Register 0 */ + __IM uint32_t ITFTTD1; /*!< Offset: 0xEFC (R/ ) Integration Test FIFO Test Data 1 Register */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) Device Configuration Register */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) Device Type Identifier Register */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_FOnMan_Pos 6U /*!< TPI FFCR: FOnMan Position */ +#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos) /*!< TPI FFCR: FOnMan Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration Test FIFO Test Data 0 Register Definitions */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD0: ATB Interface 2 ATVALIDPosition */ +#define TPI_ITFTTD0_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD0: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD0_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD0_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD0: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD0_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD0: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD0_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD0_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD0: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data2_Pos 16U /*!< TPI ITFTTD0: ATB Interface 1 data2 Position */ +#define TPI_ITFTTD0_ATB_IF1_data2_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data2 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data1_Pos 8U /*!< TPI ITFTTD0: ATB Interface 1 data1 Position */ +#define TPI_ITFTTD0_ATB_IF1_data1_Msk (0xFFUL << TPI_ITFTTD0_ATB_IF1_data1_Pos) /*!< TPI ITFTTD0: ATB Interface 1 data1 Mask */ + +#define TPI_ITFTTD0_ATB_IF1_data0_Pos 0U /*!< TPI ITFTTD0: ATB Interface 1 data0 Position */ +#define TPI_ITFTTD0_ATB_IF1_data0_Msk (0xFFUL /*<< TPI_ITFTTD0_ATB_IF1_data0_Pos*/) /*!< TPI ITFTTD0: ATB Interface 1 data0 Mask */ + +/* TPI Integration Test ATB Control Register 2 Register Definitions */ +#define TPI_ITATBCTR2_AFVALID2S_Pos 1U /*!< TPI ITATBCTR2: AFVALID2S Position */ +#define TPI_ITATBCTR2_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID2S_Pos) /*!< TPI ITATBCTR2: AFVALID2SS Mask */ + +#define TPI_ITATBCTR2_AFVALID1S_Pos 1U /*!< TPI ITATBCTR2: AFVALID1S Position */ +#define TPI_ITATBCTR2_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR2_AFVALID1S_Pos) /*!< TPI ITATBCTR2: AFVALID1SS Mask */ + +#define TPI_ITATBCTR2_ATREADY2S_Pos 0U /*!< TPI ITATBCTR2: ATREADY2S Position */ +#define TPI_ITATBCTR2_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2S_Pos*/) /*!< TPI ITATBCTR2: ATREADY2S Mask */ + +#define TPI_ITATBCTR2_ATREADY1S_Pos 0U /*!< TPI ITATBCTR2: ATREADY1S Position */ +#define TPI_ITATBCTR2_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1S_Pos*/) /*!< TPI ITATBCTR2: ATREADY1S Mask */ + +/* TPI Integration Test FIFO Test Data 1 Register Definitions */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Pos 29U /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF2_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 2 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF2_bytecount_Pos 27U /*!< TPI ITFTTD1: ATB Interface 2 byte count Position */ +#define TPI_ITFTTD1_ATB_IF2_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF2_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 2 byte count Mask */ + +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Pos 26U /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Position */ +#define TPI_ITFTTD1_ATB_IF1_ATVALID_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_ATVALID_Pos) /*!< TPI ITFTTD1: ATB Interface 1 ATVALID Mask */ + +#define TPI_ITFTTD1_ATB_IF1_bytecount_Pos 24U /*!< TPI ITFTTD1: ATB Interface 1 byte count Position */ +#define TPI_ITFTTD1_ATB_IF1_bytecount_Msk (0x3UL << TPI_ITFTTD1_ATB_IF1_bytecount_Pos) /*!< TPI ITFTTD1: ATB Interface 1 byte countt Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data2_Pos 16U /*!< TPI ITFTTD1: ATB Interface 2 data2 Position */ +#define TPI_ITFTTD1_ATB_IF2_data2_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data2 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data1_Pos 8U /*!< TPI ITFTTD1: ATB Interface 2 data1 Position */ +#define TPI_ITFTTD1_ATB_IF2_data1_Msk (0xFFUL << TPI_ITFTTD1_ATB_IF2_data1_Pos) /*!< TPI ITFTTD1: ATB Interface 2 data1 Mask */ + +#define TPI_ITFTTD1_ATB_IF2_data0_Pos 0U /*!< TPI ITFTTD1: ATB Interface 2 data0 Position */ +#define TPI_ITFTTD1_ATB_IF2_data0_Msk (0xFFUL /*<< TPI_ITFTTD1_ATB_IF2_data0_Pos*/) /*!< TPI ITFTTD1: ATB Interface 2 data0 Mask */ + +/* TPI Integration Test ATB Control Register 0 Definitions */ +#define TPI_ITATBCTR0_AFVALID2S_Pos 1U /*!< TPI ITATBCTR0: AFVALID2S Position */ +#define TPI_ITATBCTR0_AFVALID2S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID2S_Pos) /*!< TPI ITATBCTR0: AFVALID2SS Mask */ + +#define TPI_ITATBCTR0_AFVALID1S_Pos 1U /*!< TPI ITATBCTR0: AFVALID1S Position */ +#define TPI_ITATBCTR0_AFVALID1S_Msk (0x1UL << TPI_ITATBCTR0_AFVALID1S_Pos) /*!< TPI ITATBCTR0: AFVALID1SS Mask */ + +#define TPI_ITATBCTR0_ATREADY2S_Pos 0U /*!< TPI ITATBCTR0: ATREADY2S Position */ +#define TPI_ITATBCTR0_ATREADY2S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2S_Pos*/) /*!< TPI ITATBCTR0: ATREADY2S Mask */ + +#define TPI_ITATBCTR0_ATREADY1S_Pos 0U /*!< TPI ITATBCTR0: ATREADY1S Position */ +#define TPI_ITATBCTR0_ATREADY1S_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1S_Pos*/) /*!< TPI ITATBCTR0: ATREADY1S Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_FIFOSZ_Pos 6U /*!< TPI DEVID: FIFOSZ Position */ +#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos) /*!< TPI DEVID: FIFOSZ Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x3FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) MPU Region Limit Address Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Region Base Address Register Alias 1 */ + __IOM uint32_t RLAR_A1; /*!< Offset: 0x018 (R/W) MPU Region Limit Address Register Alias 1 */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Region Base Address Register Alias 2 */ + __IOM uint32_t RLAR_A2; /*!< Offset: 0x020 (R/W) MPU Region Limit Address Register Alias 2 */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Region Base Address Register Alias 3 */ + __IOM uint32_t RLAR_A3; /*!< Offset: 0x028 (R/W) MPU Region Limit Address Register Alias 3 */ + uint32_t RESERVED0[1]; + union { + __IOM uint32_t MAIR[2]; + struct { + __IOM uint32_t MAIR0; /*!< Offset: 0x030 (R/W) MPU Memory Attribute Indirection Register 0 */ + __IOM uint32_t MAIR1; /*!< Offset: 0x034 (R/W) MPU Memory Attribute Indirection Register 1 */ + }; + }; +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_BASE_Pos 5U /*!< MPU RBAR: BASE Position */ +#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos) /*!< MPU RBAR: BASE Mask */ + +#define MPU_RBAR_SH_Pos 3U /*!< MPU RBAR: SH Position */ +#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos) /*!< MPU RBAR: SH Mask */ + +#define MPU_RBAR_AP_Pos 1U /*!< MPU RBAR: AP Position */ +#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos) /*!< MPU RBAR: AP Mask */ + +#define MPU_RBAR_XN_Pos 0U /*!< MPU RBAR: XN Position */ +#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/) /*!< MPU RBAR: XN Mask */ + +/* MPU Region Limit Address Register Definitions */ +#define MPU_RLAR_LIMIT_Pos 5U /*!< MPU RLAR: LIMIT Position */ +#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos) /*!< MPU RLAR: LIMIT Mask */ + +#define MPU_RLAR_AttrIndx_Pos 1U /*!< MPU RLAR: AttrIndx Position */ +#define MPU_RLAR_AttrIndx_Msk (0x7UL << MPU_RLAR_AttrIndx_Pos) /*!< MPU RLAR: AttrIndx Mask */ + +#define MPU_RLAR_EN_Pos 0U /*!< MPU RLAR: Region enable bit Position */ +#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/) /*!< MPU RLAR: Region enable bit Disable Mask */ + +/* MPU Memory Attribute Indirection Register 0 Definitions */ +#define MPU_MAIR0_Attr3_Pos 24U /*!< MPU MAIR0: Attr3 Position */ +#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos) /*!< MPU MAIR0: Attr3 Mask */ + +#define MPU_MAIR0_Attr2_Pos 16U /*!< MPU MAIR0: Attr2 Position */ +#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos) /*!< MPU MAIR0: Attr2 Mask */ + +#define MPU_MAIR0_Attr1_Pos 8U /*!< MPU MAIR0: Attr1 Position */ +#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos) /*!< MPU MAIR0: Attr1 Mask */ + +#define MPU_MAIR0_Attr0_Pos 0U /*!< MPU MAIR0: Attr0 Position */ +#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/) /*!< MPU MAIR0: Attr0 Mask */ + +/* MPU Memory Attribute Indirection Register 1 Definitions */ +#define MPU_MAIR1_Attr7_Pos 24U /*!< MPU MAIR1: Attr7 Position */ +#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos) /*!< MPU MAIR1: Attr7 Mask */ + +#define MPU_MAIR1_Attr6_Pos 16U /*!< MPU MAIR1: Attr6 Position */ +#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos) /*!< MPU MAIR1: Attr6 Mask */ + +#define MPU_MAIR1_Attr5_Pos 8U /*!< MPU MAIR1: Attr5 Position */ +#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos) /*!< MPU MAIR1: Attr5 Mask */ + +#define MPU_MAIR1_Attr4_Pos 0U /*!< MPU MAIR1: Attr4 Position */ +#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/) /*!< MPU MAIR1: Attr4 Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SAU Security Attribution Unit (SAU) + \brief Type definitions for the Security Attribution Unit (SAU) + @{ + */ + +/** + \brief Structure type to access the Security Attribution Unit (SAU). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SAU Control Register */ + __IM uint32_t TYPE; /*!< Offset: 0x004 (R/ ) SAU Type Register */ +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) SAU Region Number Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) SAU Region Base Address Register */ + __IOM uint32_t RLAR; /*!< Offset: 0x010 (R/W) SAU Region Limit Address Register */ +#else + uint32_t RESERVED0[3]; +#endif + __IOM uint32_t SFSR; /*!< Offset: 0x014 (R/W) Secure Fault Status Register */ + __IOM uint32_t SFAR; /*!< Offset: 0x018 (R/W) Secure Fault Address Register */ +} SAU_Type; + +/* SAU Control Register Definitions */ +#define SAU_CTRL_ALLNS_Pos 1U /*!< SAU CTRL: ALLNS Position */ +#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos) /*!< SAU CTRL: ALLNS Mask */ + +#define SAU_CTRL_ENABLE_Pos 0U /*!< SAU CTRL: ENABLE Position */ +#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/) /*!< SAU CTRL: ENABLE Mask */ + +/* SAU Type Register Definitions */ +#define SAU_TYPE_SREGION_Pos 0U /*!< SAU TYPE: SREGION Position */ +#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/) /*!< SAU TYPE: SREGION Mask */ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) +/* SAU Region Number Register Definitions */ +#define SAU_RNR_REGION_Pos 0U /*!< SAU RNR: REGION Position */ +#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/) /*!< SAU RNR: REGION Mask */ + +/* SAU Region Base Address Register Definitions */ +#define SAU_RBAR_BADDR_Pos 5U /*!< SAU RBAR: BADDR Position */ +#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos) /*!< SAU RBAR: BADDR Mask */ + +/* SAU Region Limit Address Register Definitions */ +#define SAU_RLAR_LADDR_Pos 5U /*!< SAU RLAR: LADDR Position */ +#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos) /*!< SAU RLAR: LADDR Mask */ + +#define SAU_RLAR_NSC_Pos 1U /*!< SAU RLAR: NSC Position */ +#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos) /*!< SAU RLAR: NSC Mask */ + +#define SAU_RLAR_ENABLE_Pos 0U /*!< SAU RLAR: ENABLE Position */ +#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/) /*!< SAU RLAR: ENABLE Mask */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + +/* Secure Fault Status Register Definitions */ +#define SAU_SFSR_LSERR_Pos 7U /*!< SAU SFSR: LSERR Position */ +#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos) /*!< SAU SFSR: LSERR Mask */ + +#define SAU_SFSR_SFARVALID_Pos 6U /*!< SAU SFSR: SFARVALID Position */ +#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos) /*!< SAU SFSR: SFARVALID Mask */ + +#define SAU_SFSR_LSPERR_Pos 5U /*!< SAU SFSR: LSPERR Position */ +#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos) /*!< SAU SFSR: LSPERR Mask */ + +#define SAU_SFSR_INVTRAN_Pos 4U /*!< SAU SFSR: INVTRAN Position */ +#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos) /*!< SAU SFSR: INVTRAN Mask */ + +#define SAU_SFSR_AUVIOL_Pos 3U /*!< SAU SFSR: AUVIOL Position */ +#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos) /*!< SAU SFSR: AUVIOL Mask */ + +#define SAU_SFSR_INVER_Pos 2U /*!< SAU SFSR: INVER Position */ +#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos) /*!< SAU SFSR: INVER Mask */ + +#define SAU_SFSR_INVIS_Pos 1U /*!< SAU SFSR: INVIS Position */ +#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos) /*!< SAU SFSR: INVIS Mask */ + +#define SAU_SFSR_INVEP_Pos 0U /*!< SAU SFSR: INVEP Position */ +#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/) /*!< SAU SFSR: INVEP Mask */ + +/*@} end of group CMSIS_SAU */ +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_LSPENS_Pos 29U /*!< FPCCR: LSPENS Position */ +#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos) /*!< FPCCR: LSPENS bit Mask */ + +#define FPU_FPCCR_CLRONRET_Pos 28U /*!< FPCCR: CLRONRET Position */ +#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos) /*!< FPCCR: CLRONRET bit Mask */ + +#define FPU_FPCCR_CLRONRETS_Pos 27U /*!< FPCCR: CLRONRETS Position */ +#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos) /*!< FPCCR: CLRONRETS bit Mask */ + +#define FPU_FPCCR_TS_Pos 26U /*!< FPCCR: TS Position */ +#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos) /*!< FPCCR: TS bit Mask */ + +#define FPU_FPCCR_UFRDY_Pos 10U /*!< FPCCR: UFRDY Position */ +#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos) /*!< FPCCR: UFRDY bit Mask */ + +#define FPU_FPCCR_SPLIMVIOL_Pos 9U /*!< FPCCR: SPLIMVIOL Position */ +#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos) /*!< FPCCR: SPLIMVIOL bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_SFRDY_Pos 7U /*!< FPCCR: SFRDY Position */ +#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos) /*!< FPCCR: SFRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_S_Pos 2U /*!< FPCCR: Security status of the FP context bit Position */ +#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos) /*!< FPCCR: Security status of the FP context bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ + uint32_t RESERVED4[1U]; + __IOM uint32_t DAUTHCTRL; /*!< Offset: 0x014 (R/W) Debug Authentication Control Register */ + __IOM uint32_t DSCSR; /*!< Offset: 0x018 (R/W) Debug Security Control and Status Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U /*!< CoreDebug DHCSR: S_RESTART_ST Position */ +#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos) /*!< CoreDebug DHCSR: S_RESTART_ST Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/* Debug Authentication Control Register Definitions */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Position */ +#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPNIDEN, Mask */ + +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos) /*!< CoreDebug DAUTHCTRL: SPNIDENSEL Mask */ + +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U /*!< CoreDebug DAUTHCTRL: INTSPIDEN Position */ +#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos) /*!< CoreDebug DAUTHCTRL: INTSPIDEN Mask */ + +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U /*!< CoreDebug DAUTHCTRL: SPIDENSEL Position */ +#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/) /*!< CoreDebug DAUTHCTRL: SPIDENSEL Mask */ + +/* Debug Security Control and Status Register Definitions */ +#define CoreDebug_DSCSR_CDS_Pos 16U /*!< CoreDebug DSCSR: CDS Position */ +#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos) /*!< CoreDebug DSCSR: CDS Mask */ + +#define CoreDebug_DSCSR_SBRSEL_Pos 1U /*!< CoreDebug DSCSR: SBRSEL Position */ +#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos) /*!< CoreDebug DSCSR: SBRSEL Mask */ + +#define CoreDebug_DSCSR_SBRSELEN_Pos 0U /*!< CoreDebug DSCSR: SBRSELEN Position */ +#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/) /*!< CoreDebug DSCSR: SBRSELEN Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ + #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ + #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ + #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ + #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ + #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + + #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ + #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ + #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ + #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ + #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< Core Debug configuration struct */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ + #endif + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SAU_BASE (SCS_BASE + 0x0DD0UL) /*!< Security Attribution Unit */ + #define SAU ((SAU_Type *) SAU_BASE ) /*!< Security Attribution Unit */ + #endif + + #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ + #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #define SCS_BASE_NS (0xE002E000UL) /*!< System Control Space Base Address (non-secure address space) */ + #define CoreDebug_BASE_NS (0xE002EDF0UL) /*!< Core Debug Base Address (non-secure address space) */ + #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL) /*!< SysTick Base Address (non-secure address space) */ + #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL) /*!< NVIC Base Address (non-secure address space) */ + #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL) /*!< System Control Block Base Address (non-secure address space) */ + + #define SCnSCB_NS ((SCnSCB_Type *) SCS_BASE_NS ) /*!< System control Register not in SCB(non-secure address space) */ + #define SCB_NS ((SCB_Type *) SCB_BASE_NS ) /*!< SCB configuration struct (non-secure address space) */ + #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS ) /*!< SysTick configuration struct (non-secure address space) */ + #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS ) /*!< NVIC configuration struct (non-secure address space) */ + #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS) /*!< Core Debug configuration struct (non-secure address space) */ + + #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL) /*!< Memory Protection Unit (non-secure address space) */ + #define MPU_NS ((MPU_Type *) MPU_BASE_NS ) /*!< Memory Protection Unit (non-secure address space) */ + #endif + + #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL) /*!< Floating Point Unit (non-secure address space) */ + #define FPU_NS ((FPU_Type *) FPU_BASE_NS ) /*!< Floating Point Unit (non-secure address space) */ + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* Special LR values for Secure/Non-Secure call handling and exception handling */ + +/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */ +#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */ + +/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */ +#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */ +#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */ +#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */ +#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */ +#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */ +#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */ +#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */ + +/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */ +#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */ +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */ +#else +#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */ +#endif + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Get Interrupt Target State + \details Reads the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + \return 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Target State + \details Sets the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Clear Interrupt Target State + \details Clears the interrupt target field in the NVIC and returns the interrupt target bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 if interrupt is assigned to Secure + 1 if interrupt is assigned to Non Secure + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL))); + return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief Set Priority Grouping (non-secure) + \details Sets the non-secure priority grouping field when in secure state using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB_NS->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB_NS->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping (non-secure) + \details Reads the priority grouping field from the non-secure NVIC when in secure state. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void) +{ + return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt (non-secure) + \details Enables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Interrupt Enable status (non-secure) + \details Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt (non-secure) + \details Disables a device specific interrupt in the non-secure NVIC interrupt controller when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Pending Interrupt (non-secure) + \details Reads the NVIC pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt (non-secure) + \details Sets the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt (non-secure) + \details Clears the pending bit of a device specific interrupt in the non-secure NVIC pending register when in secure state. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt (non-secure) + \details Reads the active register in non-secure NVIC when in secure state and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority (non-secure) + \details Sets the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every non-secure processor exception. + */ +__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority (non-secure) + \details Reads the priority of a non-secure device specific interrupt or a non-secure processor exception when in secure state. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} +#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_NVICFunctions */ + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv8.h" + +#endif + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = FPU->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U) + { + return 2U; /* Double + Single precision FPU */ + } + else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## SAU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SAUFunctions SAU Functions + \brief Functions that configure the SAU. + @{ + */ + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + +/** + \brief Enable SAU + \details Enables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Enable(void) +{ + SAU->CTRL |= (SAU_CTRL_ENABLE_Msk); +} + + + +/** + \brief Disable SAU + \details Disables the Security Attribution Unit (SAU). + */ +__STATIC_INLINE void TZ_SAU_Disable(void) +{ + SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk); +} + +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +/*@} end of CMSIS_Core_SAUFunctions */ + + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +/** + \brief System Tick Configuration (non-secure) + \details Initializes the non-secure System Timer and its interrupt when in secure state, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function TZ_SysTick_Config_NS is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + + */ +__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} +#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */ + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM35P_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm4.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm4.h new file mode 100644 index 0000000..12c023b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm4.h @@ -0,0 +1,2124 @@ +/**************************************************************************//** + * @file core_cm4.h + * @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File + * @version V5.1.0 + * @date 13. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM4_H_GENERIC +#define __CORE_CM4_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M4 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM4 definitions */ +#define __CM4_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM4_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM4_CMSIS_VERSION ((__CM4_CMSIS_VERSION_MAIN << 16U) | \ + __CM4_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (4U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM4_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM4_H_DEPENDANT +#define __CORE_CM4_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM4_REV + #define __CM4_REV 0x0000U + #warning "__CM4_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M4 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:1; /*!< bit: 9 Reserved */ + uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit */ + uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_ICI_IT_2_Pos 25U /*!< xPSR: ICI/IT part 2 Position */ +#define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR: ICI/IT part 2 Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ICI_IT_1_Pos 10U /*!< xPSR: ICI/IT part 1 Position */ +#define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR: ICI/IT part 1 Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t FPCA:1; /*!< bit: 2 FP extension active flag */ + uint32_t _reserved0:29; /*!< bit: 3..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[24U]; + __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[24U]; + __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[24U]; + __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[24U]; + __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[56U]; + __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED5[644U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHP[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + uint32_t RESERVED0[5U]; + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +#define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB AIRCR: VECTRESET Position */ +#define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB AIRCR: VECTRESET Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +#define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB CCR: NONBASETHRDENA Position */ +#define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB CCR: NONBASETHRDENA Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/* Auxiliary Control Register Definitions */ +#define SCnSCB_ACTLR_DISOOFP_Pos 9U /*!< ACTLR: DISOOFP Position */ +#define SCnSCB_ACTLR_DISOOFP_Msk (1UL << SCnSCB_ACTLR_DISOOFP_Pos) /*!< ACTLR: DISOOFP Mask */ + +#define SCnSCB_ACTLR_DISFPCA_Pos 8U /*!< ACTLR: DISFPCA Position */ +#define SCnSCB_ACTLR_DISFPCA_Msk (1UL << SCnSCB_ACTLR_DISFPCA_Pos) /*!< ACTLR: DISFPCA Mask */ + +#define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: DISFOLD Position */ +#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: DISFOLD Mask */ + +#define SCnSCB_ACTLR_DISDEFWBUF_Pos 1U /*!< ACTLR: DISDEFWBUF Position */ +#define SCnSCB_ACTLR_DISDEFWBUF_Msk (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos) /*!< ACTLR: DISDEFWBUF Mask */ + +#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */ +#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[6U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TraceBusID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPrescale_Pos 8U /*!< ITM TCR: TSPrescale Position */ +#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED0[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Mask Register Definitions */ +#define DWT_MASK_MASK_Pos 0U /*!< DWT MASK: MASK Position */ +#define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MASK: MASK Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUNCTION: DATAVADDR1 Position */ +#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUNCTION: DATAVADDR1 Mask */ + +#define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUNCTION: DATAVADDR0 Position */ +#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUNCTION: DATAVADDR0 Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUNCTION: LNK1ENA Position */ +#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUNCTION: LNK1ENA Mask */ + +#define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUNCTION: DATAVMATCH Position */ +#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUNCTION: DATAVMATCH Mask */ + +#define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUNCTION: CYCMATCH Position */ +#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUNCTION: CYCMATCH Mask */ + +#define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUNCTION: EMITRANGE Position */ +#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUNCTION: EMITRANGE Mask */ + +#define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUNCTION: FUNCTION Position */ +#define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUNCTION: FUNCTION Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ + __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ + __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration ETM Data Register Definitions (FIFO0) */ +#define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIFO0: ITM_ATVALID Position */ +#define TPI_FIFO0_ITM_ATVALID_Msk (0x1UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ + +#define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIFO0: ITM_bytecount Position */ +#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ + +#define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIFO0: ETM_ATVALID Position */ +#define TPI_FIFO0_ETM_ATVALID_Msk (0x1UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ + +#define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIFO0: ETM_bytecount Position */ +#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ + +#define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIFO0: ETM2 Position */ +#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ + +#define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIFO0: ETM1 Position */ +#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ + +#define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIFO0: ETM0 Position */ +#define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIFO0: ETM0 Mask */ + +/* TPI ITATBCTR2 Register Definitions */ +#define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITATBCTR2: ATREADY2 Position */ +#define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITATBCTR2: ATREADY2 Mask */ + +#define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITATBCTR2: ATREADY1 Position */ +#define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITATBCTR2: ATREADY1 Mask */ + +/* TPI Integration ITM Data Register Definitions (FIFO1) */ +#define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIFO1: ITM_ATVALID Position */ +#define TPI_FIFO1_ITM_ATVALID_Msk (0x1UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ + +#define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIFO1: ITM_bytecount Position */ +#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ + +#define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIFO1: ETM_ATVALID Position */ +#define TPI_FIFO1_ETM_ATVALID_Msk (0x1UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ + +#define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIFO1: ETM_bytecount Position */ +#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ + +#define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIFO1: ITM2 Position */ +#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ + +#define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIFO1: ITM1 Position */ +#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ + +#define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIFO1: ITM0 Position */ +#define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIFO1: ITM0 Mask */ + +/* TPI ITATBCTR0 Register Definitions */ +#define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITATBCTR0: ATREADY2 Position */ +#define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITATBCTR0: ATREADY2 Mask */ + +#define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITATBCTR0: ATREADY1 Position */ +#define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITATBCTR0: ATREADY1 Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEVID: MinBufSz Position */ +#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ + +#define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEVID: AsynClkIn Position */ +#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address Register */ + __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address Register */ + __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address Register */ + __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and Size Register */ +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 5U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif /* defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x018 (R/ ) Media and FP Feature Register 2 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/* Media and FP Feature Register 2 Definitions */ + +#define FPU_MVFR2_VFP_Misc_Pos 4U /*!< MVFR2: VFP Misc bits Position */ +#define FPU_MVFR2_VFP_Misc_Msk (0xFUL << FPU_MVFR2_VFP_Misc_Pos) /*!< MVFR2: VFP Misc bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ +#define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ +#define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ +#define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ +#define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ +#define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ +#define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ +#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +#define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ +#define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ +#define EXC_RETURN_HANDLER_FPU (0xFFFFFFE1UL) /* return to Handler mode, uses MSP after return, restore floating-point state */ +#define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) /* return to Thread mode, uses MSP after return, restore floating-point state */ +#define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) /* return to Thread mode, uses PSP after return, restore floating-point state */ + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IP[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + /* ARM Application Note 321 states that the M4 does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv7.h" + +#endif + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = FPU->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM4_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm7.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm7.h new file mode 100644 index 0000000..c4515d8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_cm7.h @@ -0,0 +1,2725 @@ +/**************************************************************************//** + * @file core_cm7.h + * @brief CMSIS Cortex-M7 Core Peripheral Access Layer Header File + * @version V5.1.1 + * @date 28. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CM7_H_GENERIC +#define __CORE_CM7_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup Cortex_M7 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS CM7 definitions */ +#define __CM7_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __CM7_CMSIS_VERSION_SUB ( __CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __CM7_CMSIS_VERSION ((__CM7_CMSIS_VERSION_MAIN << 16U) | \ + __CM7_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_M (7U) /*!< Cortex-M Core */ + +/** __FPU_USED indicates whether an FPU is used or not. + For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. +*/ +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) + #define __FPU_USED 1U + #else + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #define __FPU_USED 0U + #endif + #else + #define __FPU_USED 0U + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM7_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CM7_H_DEPENDANT +#define __CORE_CM7_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CM7_REV + #define __CM7_REV 0x0000U + #warning "__CM7_REV not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 0U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __ICACHE_PRESENT + #define __ICACHE_PRESENT 0U + #warning "__ICACHE_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DCACHE_PRESENT + #define __DCACHE_PRESENT 0U + #warning "__DCACHE_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __DTCM_PRESENT + #define __DTCM_PRESENT 0U + #warning "__DTCM_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group Cortex_M7 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + - Core FPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + +#define APSR_GE_Pos 16U /*!< APSR: GE Position */ +#define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR: GE Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:1; /*!< bit: 9 Reserved */ + uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */ + uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ + uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit */ + uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_ICI_IT_2_Pos 25U /*!< xPSR: ICI/IT part 2 Position */ +#define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR: ICI/IT part 2 Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_GE_Pos 16U /*!< xPSR: GE Position */ +#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR: GE Mask */ + +#define xPSR_ICI_IT_1_Pos 10U /*!< xPSR: ICI/IT part 1 Position */ +#define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR: ICI/IT part 1 Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t FPCA:1; /*!< bit: 2 FP extension active flag */ + uint32_t _reserved0:29; /*!< bit: 3..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_FPCA_Pos 2U /*!< CONTROL: FPCA Position */ +#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONTROL: FPCA Mask */ + +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[24U]; + __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[24U]; + __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[24U]; + __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[24U]; + __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[56U]; + __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED5[644U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ID_AFR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t ID_MFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ID_ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + uint32_t RESERVED0[1U]; + __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ + __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ + __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ + __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + uint32_t RESERVED3[93U]; + __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ + uint32_t RESERVED4[15U]; + __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 */ + uint32_t RESERVED5[1U]; + __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ + uint32_t RESERVED6[1U]; + __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ + __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ + __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ + __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ + __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ + __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ + __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ + __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ + uint32_t RESERVED7[6U]; + __IOM uint32_t ITCMCR; /*!< Offset: 0x290 (R/W) Instruction Tightly-Coupled Memory Control Register */ + __IOM uint32_t DTCMCR; /*!< Offset: 0x294 (R/W) Data Tightly-Coupled Memory Control Registers */ + __IOM uint32_t AHBPCR; /*!< Offset: 0x298 (R/W) AHBP Control Register */ + __IOM uint32_t CACR; /*!< Offset: 0x29C (R/W) L1 Cache Control Register */ + __IOM uint32_t AHBSCR; /*!< Offset: 0x2A0 (R/W) AHB Slave Control Register */ + uint32_t RESERVED8[1U]; + __IOM uint32_t ABFSR; /*!< Offset: 0x2A8 (R/W) Auxiliary Bus Fault Status Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +#define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB AIRCR: VECTRESET Position */ +#define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB AIRCR: VECTRESET Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_BP_Pos 18U /*!< SCB CCR: Branch prediction enable bit Position */ +#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: Branch prediction enable bit Mask */ + +#define SCB_CCR_IC_Pos 17U /*!< SCB CCR: Instruction cache enable bit Position */ +#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: Instruction cache enable bit Mask */ + +#define SCB_CCR_DC_Pos 16U /*!< SCB CCR: Cache enable bit Position */ +#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: Cache enable bit Mask */ + +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +#define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB CCR: NONBASETHRDENA Position */ +#define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB CCR: NONBASETHRDENA Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB CFSR (BFSR): LSPERR Position */ +#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB CFSR (BFSR): LSPERR Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/* SCB Cache Level ID Register Definitions */ +#define SCB_CLIDR_LOUU_Pos 27U /*!< SCB CLIDR: LoUU Position */ +#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ + +#define SCB_CLIDR_LOC_Pos 24U /*!< SCB CLIDR: LoC Position */ +#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB CLIDR: LoC Mask */ + +/* SCB Cache Type Register Definitions */ +#define SCB_CTR_FORMAT_Pos 29U /*!< SCB CTR: Format Position */ +#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ + +#define SCB_CTR_CWG_Pos 24U /*!< SCB CTR: CWG Position */ +#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ + +#define SCB_CTR_ERG_Pos 20U /*!< SCB CTR: ERG Position */ +#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ + +#define SCB_CTR_DMINLINE_Pos 16U /*!< SCB CTR: DminLine Position */ +#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ + +#define SCB_CTR_IMINLINE_Pos 0U /*!< SCB CTR: ImInLine Position */ +#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB CTR: ImInLine Mask */ + +/* SCB Cache Size ID Register Definitions */ +#define SCB_CCSIDR_WT_Pos 31U /*!< SCB CCSIDR: WT Position */ +#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ + +#define SCB_CCSIDR_WB_Pos 30U /*!< SCB CCSIDR: WB Position */ +#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ + +#define SCB_CCSIDR_RA_Pos 29U /*!< SCB CCSIDR: RA Position */ +#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ + +#define SCB_CCSIDR_WA_Pos 28U /*!< SCB CCSIDR: WA Position */ +#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ + +#define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB CCSIDR: NumSets Position */ +#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ + +#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB CCSIDR: Associativity Position */ +#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ + +#define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB CCSIDR: LineSize Position */ +#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB CCSIDR: LineSize Mask */ + +/* SCB Cache Size Selection Register Definitions */ +#define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB CSSELR: Level Position */ +#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ + +#define SCB_CSSELR_IND_Pos 0U /*!< SCB CSSELR: InD Position */ +#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB CSSELR: InD Mask */ + +/* SCB Software Triggered Interrupt Register Definitions */ +#define SCB_STIR_INTID_Pos 0U /*!< SCB STIR: INTID Position */ +#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB STIR: INTID Mask */ + +/* SCB D-Cache Invalidate by Set-way Register Definitions */ +#define SCB_DCISW_WAY_Pos 30U /*!< SCB DCISW: Way Position */ +#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB DCISW: Way Mask */ + +#define SCB_DCISW_SET_Pos 5U /*!< SCB DCISW: Set Position */ +#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB DCISW: Set Mask */ + +/* SCB D-Cache Clean by Set-way Register Definitions */ +#define SCB_DCCSW_WAY_Pos 30U /*!< SCB DCCSW: Way Position */ +#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB DCCSW: Way Mask */ + +#define SCB_DCCSW_SET_Pos 5U /*!< SCB DCCSW: Set Position */ +#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB DCCSW: Set Mask */ + +/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ +#define SCB_DCCISW_WAY_Pos 30U /*!< SCB DCCISW: Way Position */ +#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB DCCISW: Way Mask */ + +#define SCB_DCCISW_SET_Pos 5U /*!< SCB DCCISW: Set Position */ +#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB DCCISW: Set Mask */ + +/* Instruction Tightly-Coupled Memory Control Register Definitions */ +#define SCB_ITCMCR_SZ_Pos 3U /*!< SCB ITCMCR: SZ Position */ +#define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) /*!< SCB ITCMCR: SZ Mask */ + +#define SCB_ITCMCR_RETEN_Pos 2U /*!< SCB ITCMCR: RETEN Position */ +#define SCB_ITCMCR_RETEN_Msk (1UL << SCB_ITCMCR_RETEN_Pos) /*!< SCB ITCMCR: RETEN Mask */ + +#define SCB_ITCMCR_RMW_Pos 1U /*!< SCB ITCMCR: RMW Position */ +#define SCB_ITCMCR_RMW_Msk (1UL << SCB_ITCMCR_RMW_Pos) /*!< SCB ITCMCR: RMW Mask */ + +#define SCB_ITCMCR_EN_Pos 0U /*!< SCB ITCMCR: EN Position */ +#define SCB_ITCMCR_EN_Msk (1UL /*<< SCB_ITCMCR_EN_Pos*/) /*!< SCB ITCMCR: EN Mask */ + +/* Data Tightly-Coupled Memory Control Register Definitions */ +#define SCB_DTCMCR_SZ_Pos 3U /*!< SCB DTCMCR: SZ Position */ +#define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) /*!< SCB DTCMCR: SZ Mask */ + +#define SCB_DTCMCR_RETEN_Pos 2U /*!< SCB DTCMCR: RETEN Position */ +#define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) /*!< SCB DTCMCR: RETEN Mask */ + +#define SCB_DTCMCR_RMW_Pos 1U /*!< SCB DTCMCR: RMW Position */ +#define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) /*!< SCB DTCMCR: RMW Mask */ + +#define SCB_DTCMCR_EN_Pos 0U /*!< SCB DTCMCR: EN Position */ +#define SCB_DTCMCR_EN_Msk (1UL /*<< SCB_DTCMCR_EN_Pos*/) /*!< SCB DTCMCR: EN Mask */ + +/* AHBP Control Register Definitions */ +#define SCB_AHBPCR_SZ_Pos 1U /*!< SCB AHBPCR: SZ Position */ +#define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) /*!< SCB AHBPCR: SZ Mask */ + +#define SCB_AHBPCR_EN_Pos 0U /*!< SCB AHBPCR: EN Position */ +#define SCB_AHBPCR_EN_Msk (1UL /*<< SCB_AHBPCR_EN_Pos*/) /*!< SCB AHBPCR: EN Mask */ + +/* L1 Cache Control Register Definitions */ +#define SCB_CACR_FORCEWT_Pos 2U /*!< SCB CACR: FORCEWT Position */ +#define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) /*!< SCB CACR: FORCEWT Mask */ + +#define SCB_CACR_ECCEN_Pos 1U /*!< SCB CACR: ECCEN Position */ +#define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< SCB CACR: ECCEN Mask */ + +#define SCB_CACR_SIWT_Pos 0U /*!< SCB CACR: SIWT Position */ +#define SCB_CACR_SIWT_Msk (1UL /*<< SCB_CACR_SIWT_Pos*/) /*!< SCB CACR: SIWT Mask */ + +/* AHBS Control Register Definitions */ +#define SCB_AHBSCR_INITCOUNT_Pos 11U /*!< SCB AHBSCR: INITCOUNT Position */ +#define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) /*!< SCB AHBSCR: INITCOUNT Mask */ + +#define SCB_AHBSCR_TPRI_Pos 2U /*!< SCB AHBSCR: TPRI Position */ +#define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB AHBSCR: TPRI Mask */ + +#define SCB_AHBSCR_CTL_Pos 0U /*!< SCB AHBSCR: CTL Position*/ +#define SCB_AHBSCR_CTL_Msk (3UL /*<< SCB_AHBPCR_CTL_Pos*/) /*!< SCB AHBSCR: CTL Mask */ + +/* Auxiliary Bus Fault Status Register Definitions */ +#define SCB_ABFSR_AXIMTYPE_Pos 8U /*!< SCB ABFSR: AXIMTYPE Position*/ +#define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) /*!< SCB ABFSR: AXIMTYPE Mask */ + +#define SCB_ABFSR_EPPB_Pos 4U /*!< SCB ABFSR: EPPB Position*/ +#define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) /*!< SCB ABFSR: EPPB Mask */ + +#define SCB_ABFSR_AXIM_Pos 3U /*!< SCB ABFSR: AXIM Position*/ +#define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) /*!< SCB ABFSR: AXIM Mask */ + +#define SCB_ABFSR_AHBP_Pos 2U /*!< SCB ABFSR: AHBP Position*/ +#define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) /*!< SCB ABFSR: AHBP Mask */ + +#define SCB_ABFSR_DTCM_Pos 1U /*!< SCB ABFSR: DTCM Position*/ +#define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) /*!< SCB ABFSR: DTCM Mask */ + +#define SCB_ABFSR_ITCM_Pos 0U /*!< SCB ABFSR: ITCM Position*/ +#define SCB_ABFSR_ITCM_Msk (1UL /*<< SCB_ABFSR_ITCM_Pos*/) /*!< SCB ABFSR: ITCM Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/* Auxiliary Control Register Definitions */ +#define SCnSCB_ACTLR_DISDYNADD_Pos 26U /*!< ACTLR: DISDYNADD Position */ +#define SCnSCB_ACTLR_DISDYNADD_Msk (1UL << SCnSCB_ACTLR_DISDYNADD_Pos) /*!< ACTLR: DISDYNADD Mask */ + +#define SCnSCB_ACTLR_DISISSCH1_Pos 21U /*!< ACTLR: DISISSCH1 Position */ +#define SCnSCB_ACTLR_DISISSCH1_Msk (0x1FUL << SCnSCB_ACTLR_DISISSCH1_Pos) /*!< ACTLR: DISISSCH1 Mask */ + +#define SCnSCB_ACTLR_DISDI_Pos 16U /*!< ACTLR: DISDI Position */ +#define SCnSCB_ACTLR_DISDI_Msk (0x1FUL << SCnSCB_ACTLR_DISDI_Pos) /*!< ACTLR: DISDI Mask */ + +#define SCnSCB_ACTLR_DISCRITAXIRUR_Pos 15U /*!< ACTLR: DISCRITAXIRUR Position */ +#define SCnSCB_ACTLR_DISCRITAXIRUR_Msk (1UL << SCnSCB_ACTLR_DISCRITAXIRUR_Pos) /*!< ACTLR: DISCRITAXIRUR Mask */ + +#define SCnSCB_ACTLR_DISBTACALLOC_Pos 14U /*!< ACTLR: DISBTACALLOC Position */ +#define SCnSCB_ACTLR_DISBTACALLOC_Msk (1UL << SCnSCB_ACTLR_DISBTACALLOC_Pos) /*!< ACTLR: DISBTACALLOC Mask */ + +#define SCnSCB_ACTLR_DISBTACREAD_Pos 13U /*!< ACTLR: DISBTACREAD Position */ +#define SCnSCB_ACTLR_DISBTACREAD_Msk (1UL << SCnSCB_ACTLR_DISBTACREAD_Pos) /*!< ACTLR: DISBTACREAD Mask */ + +#define SCnSCB_ACTLR_DISITMATBFLUSH_Pos 12U /*!< ACTLR: DISITMATBFLUSH Position */ +#define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (1UL << SCnSCB_ACTLR_DISITMATBFLUSH_Pos) /*!< ACTLR: DISITMATBFLUSH Mask */ + +#define SCnSCB_ACTLR_DISRAMODE_Pos 11U /*!< ACTLR: DISRAMODE Position */ +#define SCnSCB_ACTLR_DISRAMODE_Msk (1UL << SCnSCB_ACTLR_DISRAMODE_Pos) /*!< ACTLR: DISRAMODE Mask */ + +#define SCnSCB_ACTLR_FPEXCODIS_Pos 10U /*!< ACTLR: FPEXCODIS Position */ +#define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) /*!< ACTLR: FPEXCODIS Mask */ + +#define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: DISFOLD Position */ +#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: DISFOLD Mask */ + +#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */ +#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[6U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TraceBusID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPrescale_Pos 8U /*!< ITM TCR: TSPrescale Position */ +#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED0[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ + uint32_t RESERVED3[981U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( W) Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Mask Register Definitions */ +#define DWT_MASK_MASK_Pos 0U /*!< DWT MASK: MASK Position */ +#define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MASK: MASK Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUNCTION: DATAVADDR1 Position */ +#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUNCTION: DATAVADDR1 Mask */ + +#define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUNCTION: DATAVADDR0 Position */ +#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUNCTION: DATAVADDR0 Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUNCTION: LNK1ENA Position */ +#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUNCTION: LNK1ENA Mask */ + +#define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUNCTION: DATAVMATCH Position */ +#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUNCTION: DATAVMATCH Mask */ + +#define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUNCTION: CYCMATCH Position */ +#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUNCTION: CYCMATCH Mask */ + +#define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUNCTION: EMITRANGE Position */ +#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUNCTION: EMITRANGE Mask */ + +#define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUNCTION: FUNCTION Position */ +#define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUNCTION: FUNCTION Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ + __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ + __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration ETM Data Register Definitions (FIFO0) */ +#define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIFO0: ITM_ATVALID Position */ +#define TPI_FIFO0_ITM_ATVALID_Msk (0x1UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ + +#define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIFO0: ITM_bytecount Position */ +#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ + +#define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIFO0: ETM_ATVALID Position */ +#define TPI_FIFO0_ETM_ATVALID_Msk (0x1UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ + +#define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIFO0: ETM_bytecount Position */ +#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ + +#define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIFO0: ETM2 Position */ +#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ + +#define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIFO0: ETM1 Position */ +#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ + +#define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIFO0: ETM0 Position */ +#define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIFO0: ETM0 Mask */ + +/* TPI ITATBCTR2 Register Definitions */ +#define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITATBCTR2: ATREADY2 Position */ +#define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITATBCTR2: ATREADY2 Mask */ + +#define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITATBCTR2: ATREADY1 Position */ +#define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITATBCTR2: ATREADY1 Mask */ + +/* TPI Integration ITM Data Register Definitions (FIFO1) */ +#define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIFO1: ITM_ATVALID Position */ +#define TPI_FIFO1_ITM_ATVALID_Msk (0x1UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ + +#define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIFO1: ITM_bytecount Position */ +#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ + +#define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIFO1: ETM_ATVALID Position */ +#define TPI_FIFO1_ETM_ATVALID_Msk (0x1UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ + +#define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIFO1: ETM_bytecount Position */ +#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ + +#define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIFO1: ITM2 Position */ +#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ + +#define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIFO1: ITM1 Position */ +#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ + +#define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIFO1: ITM0 Position */ +#define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIFO1: ITM0 Mask */ + +/* TPI ITATBCTR0 Register Definitions */ +#define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITATBCTR0: ATREADY2 Position */ +#define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITATBCTR0: ATREADY2 Mask */ + +#define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITATBCTR0: ATREADY1 Position */ +#define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITATBCTR0: ATREADY1 Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEVID: MinBufSz Position */ +#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ + +#define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEVID: AsynClkIn Position */ +#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address Register */ + __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address Register */ + __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address Register */ + __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and Size Register */ +} MPU_Type; + +#define MPU_TYPE_RALIASES 4U + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 5U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif /* defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_FPU Floating Point Unit (FPU) + \brief Type definitions for the Floating Point Unit (FPU) + @{ + */ + +/** + \brief Structure type to access the Floating Point Unit (FPU). + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ + __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ + __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ + __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ + __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ + __IM uint32_t MVFR2; /*!< Offset: 0x018 (R/ ) Media and FP Feature Register 2 */ +} FPU_Type; + +/* Floating-Point Context Control Register Definitions */ +#define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCCR: ASPEN bit Position */ +#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ + +#define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCCR: LSPEN Position */ +#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ + +#define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCCR: MONRDY Position */ +#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ + +#define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCCR: BFRDY Position */ +#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ + +#define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCCR: MMRDY Position */ +#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ + +#define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCCR: HFRDY Position */ +#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ + +#define FPU_FPCCR_THREAD_Pos 3U /*!< FPCCR: processor mode bit Position */ +#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ + +#define FPU_FPCCR_USER_Pos 1U /*!< FPCCR: privilege level bit Position */ +#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ + +#define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCCR: Lazy state preservation active bit Position */ +#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCCR: Lazy state preservation active bit Mask */ + +/* Floating-Point Context Address Register Definitions */ +#define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCAR: ADDRESS bit Position */ +#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ + +/* Floating-Point Default Status Control Register Definitions */ +#define FPU_FPDSCR_AHP_Pos 26U /*!< FPDSCR: AHP bit Position */ +#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ + +#define FPU_FPDSCR_DN_Pos 25U /*!< FPDSCR: DN bit Position */ +#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ + +#define FPU_FPDSCR_FZ_Pos 24U /*!< FPDSCR: FZ bit Position */ +#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ + +#define FPU_FPDSCR_RMode_Pos 22U /*!< FPDSCR: RMode bit Position */ +#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ + +/* Media and FP Feature Register 0 Definitions */ +#define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR0: FP rounding modes bits Position */ +#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ + +#define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR0: Short vectors bits Position */ +#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ + +#define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR0: Square root bits Position */ +#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ + +#define FPU_MVFR0_Divide_Pos 16U /*!< MVFR0: Divide bits Position */ +#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ + +#define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR0: FP exception trapping bits Position */ +#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ + +#define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR0: Double-precision bits Position */ +#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ + +#define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR0: Single-precision bits Position */ +#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ + +#define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR0: A_SIMD registers bits Position */ +#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR0: A_SIMD registers bits Mask */ + +/* Media and FP Feature Register 1 Definitions */ +#define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR1: FP fused MAC bits Position */ +#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ + +#define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR1: FP HPFP bits Position */ +#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ + +#define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR1: D_NaN mode bits Position */ +#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ + +#define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR1: FtZ mode bits Position */ +#define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR1: FtZ mode bits Mask */ + +/* Media and FP Feature Register 2 Definitions */ + +#define FPU_MVFR2_VFP_Misc_Pos 4U /*!< MVFR2: VFP Misc bits Position */ +#define FPU_MVFR2_VFP_Misc_Msk (0xFUL << FPU_MVFR2_VFP_Misc_Pos) /*!< MVFR2: VFP Misc bits Mask */ + +/*@} end of group CMSIS_FPU */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ +#define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ +#define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ +#define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ +#define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ +#define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ +#define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ +#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +#define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ +#define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ +#define EXC_RETURN_HANDLER_FPU (0xFFFFFFE1UL) /* return to Handler mode, uses MSP after return, restore floating-point state */ +#define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) /* return to Thread mode, uses MSP after return, restore floating-point state */ +#define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) /* return to Thread mode, uses PSP after return, restore floating-point state */ + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IP[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + __DSB(); +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## MPU functions #################################### */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + +#include "mpu_armv7.h" + +#endif + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + uint32_t mvfr0; + + mvfr0 = SCB->MVFR0; + if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U) + { + return 2U; /* Double + Single precision FPU */ + } + else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U) + { + return 1U; /* Single precision FPU */ + } + else + { + return 0U; /* No FPU */ + } +} + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ########################## Cache functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_CacheFunctions Cache Functions + \brief Functions that configure Instruction and Data cache. + @{ + */ + +/* Cache Size ID Register Macros */ +#define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos) +#define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos ) + +#define __SCB_DCACHE_LINE_SIZE 32U /*!< Cortex-M7 cache line size is fixed to 32 bytes (8 words). See also register SCB_CCSIDR */ +#define __SCB_ICACHE_LINE_SIZE 32U /*!< Cortex-M7 cache line size is fixed to 32 bytes (8 words). See also register SCB_CCSIDR */ + +/** + \brief Enable I-Cache + \details Turns on I-Cache + */ +__STATIC_FORCEINLINE void SCB_EnableICache (void) +{ + #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) + if (SCB->CCR & SCB_CCR_IC_Msk) return; /* return if ICache is already enabled */ + + __DSB(); + __ISB(); + SCB->ICIALLU = 0UL; /* invalidate I-Cache */ + __DSB(); + __ISB(); + SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Disable I-Cache + \details Turns off I-Cache + */ +__STATIC_FORCEINLINE void SCB_DisableICache (void) +{ + #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) + __DSB(); + __ISB(); + SCB->CCR &= ~(uint32_t)SCB_CCR_IC_Msk; /* disable I-Cache */ + SCB->ICIALLU = 0UL; /* invalidate I-Cache */ + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Invalidate I-Cache + \details Invalidates I-Cache + */ +__STATIC_FORCEINLINE void SCB_InvalidateICache (void) +{ + #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) + __DSB(); + __ISB(); + SCB->ICIALLU = 0UL; + __DSB(); + __ISB(); + #endif +} + + +/** + \brief I-Cache Invalidate by address + \details Invalidates I-Cache for the given address. + I-Cache is invalidated starting from a 32 byte aligned address in 32 byte granularity. + I-Cache memory blocks which are part of given address + given size are invalidated. + \param[in] addr address + \param[in] isize size of memory block (in number of bytes) +*/ +__STATIC_FORCEINLINE void SCB_InvalidateICache_by_Addr (void *addr, int32_t isize) +{ + #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) + if ( isize > 0 ) { + int32_t op_size = isize + (((uint32_t)addr) & (__SCB_ICACHE_LINE_SIZE - 1U)); + uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_ICACHE_LINE_SIZE - 1U) */; + + __DSB(); + + do { + SCB->ICIMVAU = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ + op_addr += __SCB_ICACHE_LINE_SIZE; + op_size -= __SCB_ICACHE_LINE_SIZE; + } while ( op_size > 0 ); + + __DSB(); + __ISB(); + } + #endif +} + + +/** + \brief Enable D-Cache + \details Turns on D-Cache + */ +__STATIC_FORCEINLINE void SCB_EnableDCache (void) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + uint32_t ccsidr; + uint32_t sets; + uint32_t ways; + + if (SCB->CCR & SCB_CCR_DC_Msk) return; /* return if DCache is already enabled */ + + SCB->CSSELR = 0U; /* select Level 1 data cache */ + __DSB(); + + ccsidr = SCB->CCSIDR; + + /* invalidate D-Cache */ + sets = (uint32_t)(CCSIDR_SETS(ccsidr)); + do { + ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); + do { + SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | + ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); + #if defined ( __CC_ARM ) + __schedule_barrier(); + #endif + } while (ways-- != 0U); + } while(sets-- != 0U); + __DSB(); + + SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ + + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Disable D-Cache + \details Turns off D-Cache + */ +__STATIC_FORCEINLINE void SCB_DisableDCache (void) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + uint32_t ccsidr; + uint32_t sets; + uint32_t ways; + + SCB->CSSELR = 0U; /* select Level 1 data cache */ + __DSB(); + + SCB->CCR &= ~(uint32_t)SCB_CCR_DC_Msk; /* disable D-Cache */ + __DSB(); + + ccsidr = SCB->CCSIDR; + + /* clean & invalidate D-Cache */ + sets = (uint32_t)(CCSIDR_SETS(ccsidr)); + do { + ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); + do { + SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | + ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); + #if defined ( __CC_ARM ) + __schedule_barrier(); + #endif + } while (ways-- != 0U); + } while(sets-- != 0U); + + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Invalidate D-Cache + \details Invalidates D-Cache + */ +__STATIC_FORCEINLINE void SCB_InvalidateDCache (void) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + uint32_t ccsidr; + uint32_t sets; + uint32_t ways; + + SCB->CSSELR = 0U; /* select Level 1 data cache */ + __DSB(); + + ccsidr = SCB->CCSIDR; + + /* invalidate D-Cache */ + sets = (uint32_t)(CCSIDR_SETS(ccsidr)); + do { + ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); + do { + SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | + ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); + #if defined ( __CC_ARM ) + __schedule_barrier(); + #endif + } while (ways-- != 0U); + } while(sets-- != 0U); + + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Clean D-Cache + \details Cleans D-Cache + */ +__STATIC_FORCEINLINE void SCB_CleanDCache (void) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + uint32_t ccsidr; + uint32_t sets; + uint32_t ways; + + SCB->CSSELR = 0U; /* select Level 1 data cache */ + __DSB(); + + ccsidr = SCB->CCSIDR; + + /* clean D-Cache */ + sets = (uint32_t)(CCSIDR_SETS(ccsidr)); + do { + ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); + do { + SCB->DCCSW = (((sets << SCB_DCCSW_SET_Pos) & SCB_DCCSW_SET_Msk) | + ((ways << SCB_DCCSW_WAY_Pos) & SCB_DCCSW_WAY_Msk) ); + #if defined ( __CC_ARM ) + __schedule_barrier(); + #endif + } while (ways-- != 0U); + } while(sets-- != 0U); + + __DSB(); + __ISB(); + #endif +} + + +/** + \brief Clean & Invalidate D-Cache + \details Cleans and Invalidates D-Cache + */ +__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache (void) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + uint32_t ccsidr; + uint32_t sets; + uint32_t ways; + + SCB->CSSELR = 0U; /* select Level 1 data cache */ + __DSB(); + + ccsidr = SCB->CCSIDR; + + /* clean & invalidate D-Cache */ + sets = (uint32_t)(CCSIDR_SETS(ccsidr)); + do { + ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); + do { + SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | + ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); + #if defined ( __CC_ARM ) + __schedule_barrier(); + #endif + } while (ways-- != 0U); + } while(sets-- != 0U); + + __DSB(); + __ISB(); + #endif +} + + +/** + \brief D-Cache Invalidate by address + \details Invalidates D-Cache for the given address. + D-Cache is invalidated starting from a 32 byte aligned address in 32 byte granularity. + D-Cache memory blocks which are part of given address + given size are invalidated. + \param[in] addr address + \param[in] dsize size of memory block (in number of bytes) +*/ +__STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsize) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + if ( dsize > 0 ) { + int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); + uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; + + __DSB(); + + do { + SCB->DCIMVAC = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ + op_addr += __SCB_DCACHE_LINE_SIZE; + op_size -= __SCB_DCACHE_LINE_SIZE; + } while ( op_size > 0 ); + + __DSB(); + __ISB(); + } + #endif +} + + +/** + \brief D-Cache Clean by address + \details Cleans D-Cache for the given address + D-Cache is cleaned starting from a 32 byte aligned address in 32 byte granularity. + D-Cache memory blocks which are part of given address + given size are cleaned. + \param[in] addr address + \param[in] dsize size of memory block (in number of bytes) +*/ +__STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + if ( dsize > 0 ) { + int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); + uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; + + __DSB(); + + do { + SCB->DCCMVAC = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ + op_addr += __SCB_DCACHE_LINE_SIZE; + op_size -= __SCB_DCACHE_LINE_SIZE; + } while ( op_size > 0 ); + + __DSB(); + __ISB(); + } + #endif +} + + +/** + \brief D-Cache Clean and Invalidate by address + \details Cleans and invalidates D_Cache for the given address + D-Cache is cleaned and invalidated starting from a 32 byte aligned address in 32 byte granularity. + D-Cache memory blocks which are part of given address + given size are cleaned and invalidated. + \param[in] addr address (aligned to 32-byte boundary) + \param[in] dsize size of memory block (in number of bytes) +*/ +__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize) +{ + #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) + if ( dsize > 0 ) { + int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); + uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; + + __DSB(); + + do { + SCB->DCCIMVAC = op_addr; /* register accepts only 32byte aligned values, only bits 31..5 are valid */ + op_addr += __SCB_DCACHE_LINE_SIZE; + op_size -= __SCB_DCACHE_LINE_SIZE; + } while ( op_size > 0 ); + + __DSB(); + __ISB(); + } + #endif +} + +/*@} end of CMSIS_Core_CacheFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CM7_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc000.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc000.h new file mode 100644 index 0000000..cf92577 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc000.h @@ -0,0 +1,1025 @@ +/**************************************************************************//** + * @file core_sc000.h + * @brief CMSIS SC000 Core Peripheral Access Layer Header File + * @version V5.0.6 + * @date 12. November 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_SC000_H_GENERIC +#define __CORE_SC000_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup SC000 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS SC000 definitions */ +#define __SC000_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __SC000_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __SC000_CMSIS_VERSION ((__SC000_CMSIS_VERSION_MAIN << 16U) | \ + __SC000_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_SC (000U) /*!< Cortex secure core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_SC000_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_SC000_H_DEPENDANT +#define __CORE_SC000_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __SC000_REV + #define __SC000_REV 0x0000U + #warning "__SC000_REV not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 2U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group SC000 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core MPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ + uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t _reserved0:1; /*!< bit: 0 Reserved */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[31U]; + __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RSERVED1[31U]; + __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[31U]; + __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[31U]; + uint32_t RESERVED4[64U]; + __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */ +} NVIC_Type; + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + uint32_t RESERVED0[1U]; + __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + uint32_t RESERVED1[154U]; + __IOM uint32_t SFCR; /*!< Offset: 0x290 (R/W) Security Features Control Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +} SCnSCB_Type; + +/* Auxiliary Control Register Definitions */ +#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */ +#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ +} MPU_Type; + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 8U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0xFFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief SC000 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor. + Therefore they are not covered by the SC000 header file. + @{ + */ +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else +/*#define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping not available for SC000 */ +/*#define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping not available for SC000 */ + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ +/*#define NVIC_GetActive __NVIC_GetActive not available for SC000 */ + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/* Interrupt Priorities are WORD accessible only under Armv6-M */ +/* The following MACROS handle generation of the register offset and byte masks */ +#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL) +#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) ) +#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) ) + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } + else + { + SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | + (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn))); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector; + /* ARM Application Note 321 states that the M0 and M0+ do not require the architectural barrier - assume SC000 is the same */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t *vectors = (uint32_t *)SCB->VTOR; + return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET]; +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + SCB_AIRCR_SYSRESETREQ_Msk); + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_SC000_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc300.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc300.h new file mode 100644 index 0000000..40f3af8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/core_sc300.h @@ -0,0 +1,1912 @@ +/**************************************************************************//** + * @file core_sc300.h + * @brief CMSIS SC300 Core Peripheral Access Layer Header File + * @version V5.0.8 + * @date 31. May 2019 + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_SC300_H_GENERIC +#define __CORE_SC300_H_GENERIC + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/** + \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions + CMSIS violates the following MISRA-C:2004 rules: + + \li Required Rule 8.5, object/function definition in header file.
+ Function definitions in header files are used to allow 'inlining'. + + \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
+ Unions are used for effective representation of core registers. + + \li Advisory Rule 19.7, Function-like macro defined.
+ Function-like macros are used to allow more efficient code. + */ + + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ +/** + \ingroup SC3000 + @{ + */ + +#include "cmsis_version.h" + +/* CMSIS SC300 definitions */ +#define __SC300_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */ +#define __SC300_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */ +#define __SC300_CMSIS_VERSION ((__SC300_CMSIS_VERSION_MAIN << 16U) | \ + __SC300_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */ + +#define __CORTEX_SC (300U) /*!< Cortex secure core */ + +/** __FPU_USED indicates whether an FPU is used or not. + This core does not support an FPU at all +*/ +#define __FPU_USED 0U + +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if defined __ARM_FP + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __GNUC__ ) + #if defined (__VFP_FP__) && !defined(__SOFTFP__) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TI_ARM__ ) + #if defined __TI_VFP_SUPPORT__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __TASKING__ ) + #if defined __FPU_VFP__ + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#elif defined ( __CSMC__ ) + #if ( __CSMC__ & 0x400U) + #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" + #endif + +#endif + +#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_SC300_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_SC300_H_DEPENDANT +#define __CORE_SC300_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __SC300_REV + #define __SC300_REV 0x0000U + #warning "__SC300_REV not defined in device header file; using default!" + #endif + + #ifndef __MPU_PRESENT + #define __MPU_PRESENT 0U + #warning "__MPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __NVIC_PRIO_BITS + #define __NVIC_PRIO_BITS 3U + #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" + #endif + + #ifndef __Vendor_SysTickConfig + #define __Vendor_SysTickConfig 0U + #warning "__Vendor_SysTickConfig not defined in device header file; using default!" + #endif +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +/** + \defgroup CMSIS_glob_defs CMSIS Global Defines + + IO Type Qualifiers are used + \li to specify the access to peripheral variables. + \li for automatic generation of peripheral register debug information. +*/ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ + +/*@} end of group SC300 */ + + + +/******************************************************************************* + * Register Abstraction + Core Register contain: + - Core Register + - Core NVIC Register + - Core SCB Register + - Core SysTick Register + - Core Debug Register + - Core MPU Register + ******************************************************************************/ +/** + \defgroup CMSIS_core_register Defines and Type Definitions + \brief Type definitions and defines for Cortex-M processor based devices. +*/ + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CORE Status and Control Registers + \brief Core Register type definitions. + @{ + */ + +/** + \brief Union type to access the Application Program Status Register (APSR). + */ +typedef union +{ + struct + { + uint32_t _reserved0:27; /*!< bit: 0..26 Reserved */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} APSR_Type; + +/* APSR Register Definitions */ +#define APSR_N_Pos 31U /*!< APSR: N Position */ +#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */ + +#define APSR_Z_Pos 30U /*!< APSR: Z Position */ +#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */ + +#define APSR_C_Pos 29U /*!< APSR: C Position */ +#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */ + +#define APSR_V_Pos 28U /*!< APSR: V Position */ +#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */ + +#define APSR_Q_Pos 27U /*!< APSR: Q Position */ +#define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR: Q Mask */ + + +/** + \brief Union type to access the Interrupt Program Status Register (IPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} IPSR_Type; + +/* IPSR Register Definitions */ +#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */ +#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */ + + +/** + \brief Union type to access the Special-Purpose Program Status Registers (xPSR). + */ +typedef union +{ + struct + { + uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ + uint32_t _reserved0:1; /*!< bit: 9 Reserved */ + uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */ + uint32_t _reserved1:8; /*!< bit: 16..23 Reserved */ + uint32_t T:1; /*!< bit: 24 Thumb bit */ + uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */ + uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ + uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ + uint32_t C:1; /*!< bit: 29 Carry condition code flag */ + uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ + uint32_t N:1; /*!< bit: 31 Negative condition code flag */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} xPSR_Type; + +/* xPSR Register Definitions */ +#define xPSR_N_Pos 31U /*!< xPSR: N Position */ +#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */ + +#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */ +#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */ + +#define xPSR_C_Pos 29U /*!< xPSR: C Position */ +#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */ + +#define xPSR_V_Pos 28U /*!< xPSR: V Position */ +#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */ + +#define xPSR_Q_Pos 27U /*!< xPSR: Q Position */ +#define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR: Q Mask */ + +#define xPSR_ICI_IT_2_Pos 25U /*!< xPSR: ICI/IT part 2 Position */ +#define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR: ICI/IT part 2 Mask */ + +#define xPSR_T_Pos 24U /*!< xPSR: T Position */ +#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */ + +#define xPSR_ICI_IT_1_Pos 10U /*!< xPSR: ICI/IT part 1 Position */ +#define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR: ICI/IT part 1 Mask */ + +#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */ +#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */ + + +/** + \brief Union type to access the Control Registers (CONTROL). + */ +typedef union +{ + struct + { + uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ + uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ + uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */ + } b; /*!< Structure used for bit access */ + uint32_t w; /*!< Type used for word access */ +} CONTROL_Type; + +/* CONTROL Register Definitions */ +#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */ +#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */ + +#define CONTROL_nPRIV_Pos 0U /*!< CONTROL: nPRIV Position */ +#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONTROL: nPRIV Mask */ + +/*@} end of group CMSIS_CORE */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) + \brief Type definitions for the NVIC Registers + @{ + */ + +/** + \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). + */ +typedef struct +{ + __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ + uint32_t RESERVED0[24U]; + __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ + uint32_t RESERVED1[24U]; + __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ + uint32_t RESERVED2[24U]; + __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ + uint32_t RESERVED3[24U]; + __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ + uint32_t RESERVED4[56U]; + __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ + uint32_t RESERVED5[644U]; + __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ +} NVIC_Type; + +/* Software Triggered Interrupt Register Definitions */ +#define NVIC_STIR_INTID_Pos 0U /*!< STIR: INTLINESNUM Position */ +#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: INTLINESNUM Mask */ + +/*@} end of group CMSIS_NVIC */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCB System Control Block (SCB) + \brief Type definitions for the System Control Block Registers + @{ + */ + +/** + \brief Structure type to access the System Control Block (SCB). + */ +typedef struct +{ + __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ + __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ + __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ + __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ + __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ + __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ + __IOM uint8_t SHP[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ + __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ + __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ + __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ + __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ + __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ + __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ + __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ + __IM uint32_t PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ + __IM uint32_t DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ + __IM uint32_t ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ + __IM uint32_t MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ + __IM uint32_t ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ + uint32_t RESERVED0[5U]; + __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ + uint32_t RESERVED1[129U]; + __IOM uint32_t SFCR; /*!< Offset: 0x290 (R/W) Security Features Control Register */ +} SCB_Type; + +/* SCB CPUID Register Definitions */ +#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */ +#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ + +#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */ +#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ + +#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */ +#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ + +#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */ +#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ + +#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */ +#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */ + +/* SCB Interrupt Control State Register Definitions */ +#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */ +#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ + +#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */ +#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ + +#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */ +#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ + +#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */ +#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ + +#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */ +#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ + +#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */ +#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ + +#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */ +#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ + +#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */ +#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ + +#define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB ICSR: RETTOBASE Position */ +#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ + +#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */ +#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */ + +/* SCB Vector Table Offset Register Definitions */ +#define SCB_VTOR_TBLBASE_Pos 29U /*!< SCB VTOR: TBLBASE Position */ +#define SCB_VTOR_TBLBASE_Msk (1UL << SCB_VTOR_TBLBASE_Pos) /*!< SCB VTOR: TBLBASE Mask */ + +#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */ +#define SCB_VTOR_TBLOFF_Msk (0x3FFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ + +/* SCB Application Interrupt and Reset Control Register Definitions */ +#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */ +#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ + +#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */ +#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ + +#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */ +#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ + +#define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */ +#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ + +#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */ +#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ + +#define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB AIRCR: VECTRESET Position */ +#define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB AIRCR: VECTRESET Mask */ + +/* SCB System Control Register Definitions */ +#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */ +#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ + +#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */ +#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ + +#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */ +#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ + +/* SCB Configuration Control Register Definitions */ +#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */ +#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ + +#define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB CCR: BFHFNMIGN Position */ +#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ + +#define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB CCR: DIV_0_TRP Position */ +#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ + +#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */ +#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ + +#define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB CCR: USERSETMPEND Position */ +#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ + +#define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB CCR: NONBASETHRDENA Position */ +#define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB CCR: NONBASETHRDENA Mask */ + +/* SCB System Handler Control and State Register Definitions */ +#define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB SHCSR: USGFAULTENA Position */ +#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ + +#define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB SHCSR: BUSFAULTENA Position */ +#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ + +#define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB SHCSR: MEMFAULTENA Position */ +#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ + +#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */ +#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ + +#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB SHCSR: BUSFAULTPENDED Position */ +#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ + +#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB SHCSR: MEMFAULTPENDED Position */ +#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ + +#define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB SHCSR: USGFAULTPENDED Position */ +#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ + +#define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB SHCSR: SYSTICKACT Position */ +#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ + +#define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB SHCSR: PENDSVACT Position */ +#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ + +#define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB SHCSR: MONITORACT Position */ +#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ + +#define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB SHCSR: SVCALLACT Position */ +#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ + +#define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB SHCSR: USGFAULTACT Position */ +#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ + +#define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB SHCSR: BUSFAULTACT Position */ +#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ + +#define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB SHCSR: MEMFAULTACT Position */ +#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB SHCSR: MEMFAULTACT Mask */ + +/* SCB Configurable Fault Status Register Definitions */ +#define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB CFSR: Usage Fault Status Register Position */ +#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ + +#define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB CFSR: Bus Fault Status Register Position */ +#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ + +#define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB CFSR: Memory Manage Fault Status Register Position */ +#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ + +/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ + +#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ + +#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ + +#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ + +#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ + +/* BusFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB CFSR (BFSR): BFARVALID Position */ +#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB CFSR (BFSR): BFARVALID Mask */ + +#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB CFSR (BFSR): STKERR Position */ +#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB CFSR (BFSR): STKERR Mask */ + +#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB CFSR (BFSR): UNSTKERR Position */ +#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB CFSR (BFSR): UNSTKERR Mask */ + +#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB CFSR (BFSR): IMPRECISERR Position */ +#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB CFSR (BFSR): IMPRECISERR Mask */ + +#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB CFSR (BFSR): PRECISERR Position */ +#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB CFSR (BFSR): PRECISERR Mask */ + +#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB CFSR (BFSR): IBUSERR Position */ +#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB CFSR (BFSR): IBUSERR Mask */ + +/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ +#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB CFSR (UFSR): DIVBYZERO Position */ +#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB CFSR (UFSR): DIVBYZERO Mask */ + +#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB CFSR (UFSR): UNALIGNED Position */ +#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB CFSR (UFSR): UNALIGNED Mask */ + +#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB CFSR (UFSR): NOCP Position */ +#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB CFSR (UFSR): NOCP Mask */ + +#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB CFSR (UFSR): INVPC Position */ +#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB CFSR (UFSR): INVPC Mask */ + +#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB CFSR (UFSR): INVSTATE Position */ +#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB CFSR (UFSR): INVSTATE Mask */ + +#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB CFSR (UFSR): UNDEFINSTR Position */ +#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB CFSR (UFSR): UNDEFINSTR Mask */ + +/* SCB Hard Fault Status Register Definitions */ +#define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB HFSR: DEBUGEVT Position */ +#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ + +#define SCB_HFSR_FORCED_Pos 30U /*!< SCB HFSR: FORCED Position */ +#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ + +#define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB HFSR: VECTTBL Position */ +#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ + +/* SCB Debug Fault Status Register Definitions */ +#define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB DFSR: EXTERNAL Position */ +#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ + +#define SCB_DFSR_VCATCH_Pos 3U /*!< SCB DFSR: VCATCH Position */ +#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ + +#define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB DFSR: DWTTRAP Position */ +#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ + +#define SCB_DFSR_BKPT_Pos 1U /*!< SCB DFSR: BKPT Position */ +#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ + +#define SCB_DFSR_HALTED_Pos 0U /*!< SCB DFSR: HALTED Position */ +#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB DFSR: HALTED Mask */ + +/*@} end of group CMSIS_SCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) + \brief Type definitions for the System Control and ID Register not in the SCB + @{ + */ + +/** + \brief Structure type to access the System Control and ID Register not in the SCB. + */ +typedef struct +{ + uint32_t RESERVED0[1U]; + __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ +} SCnSCB_Type; + +/* Interrupt Controller Type Register Definitions */ +#define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: INTLINESNUM Position */ +#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: INTLINESNUM Mask */ + +/* Auxiliary Control Register Definitions */ +#define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: DISFOLD Position */ +#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: DISFOLD Mask */ + +#define SCnSCB_ACTLR_DISDEFWBUF_Pos 1U /*!< ACTLR: DISDEFWBUF Position */ +#define SCnSCB_ACTLR_DISDEFWBUF_Msk (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos) /*!< ACTLR: DISDEFWBUF Mask */ + +#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */ +#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */ + +/*@} end of group CMSIS_SCnotSCB */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_SysTick System Tick Timer (SysTick) + \brief Type definitions for the System Timer Registers. + @{ + */ + +/** + \brief Structure type to access the System Timer (SysTick). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ +} SysTick_Type; + +/* SysTick Control / Status Register Definitions */ +#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */ +#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ + +#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */ +#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ + +#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */ +#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ + +#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */ +#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */ + +/* SysTick Reload Register Definitions */ +#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */ +#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */ + +/* SysTick Current Register Definitions */ +#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */ +#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */ + +/* SysTick Calibration Register Definitions */ +#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */ +#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ + +#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */ +#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ + +#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */ +#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */ + +/*@} end of group CMSIS_SysTick */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) + \brief Type definitions for the Instrumentation Trace Macrocell (ITM) + @{ + */ + +/** + \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). + */ +typedef struct +{ + __OM union + { + __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ + __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ + __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ + } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ + uint32_t RESERVED0[864U]; + __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ + uint32_t RESERVED1[15U]; + __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ + uint32_t RESERVED2[15U]; + __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ + uint32_t RESERVED3[32U]; + uint32_t RESERVED4[43U]; + __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ + __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ + uint32_t RESERVED5[6U]; + __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ + __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ + __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ + __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ + __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ + __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ + __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ + __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ + __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ + __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ + __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ + __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ +} ITM_Type; + +/* ITM Trace Privilege Register Definitions */ +#define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM TPR: PRIVMASK Position */ +#define ITM_TPR_PRIVMASK_Msk (0xFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM TPR: PRIVMASK Mask */ + +/* ITM Trace Control Register Definitions */ +#define ITM_TCR_BUSY_Pos 23U /*!< ITM TCR: BUSY Position */ +#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ + +#define ITM_TCR_TraceBusID_Pos 16U /*!< ITM TCR: ATBID Position */ +#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM TCR: ATBID Mask */ + +#define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM TCR: Global timestamp frequency Position */ +#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ + +#define ITM_TCR_TSPrescale_Pos 8U /*!< ITM TCR: TSPrescale Position */ +#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ + +#define ITM_TCR_SWOENA_Pos 4U /*!< ITM TCR: SWOENA Position */ +#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ + +#define ITM_TCR_DWTENA_Pos 3U /*!< ITM TCR: DWTENA Position */ +#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ + +#define ITM_TCR_SYNCENA_Pos 2U /*!< ITM TCR: SYNCENA Position */ +#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ + +#define ITM_TCR_TSENA_Pos 1U /*!< ITM TCR: TSENA Position */ +#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ + +#define ITM_TCR_ITMENA_Pos 0U /*!< ITM TCR: ITM Enable bit Position */ +#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM TCR: ITM Enable bit Mask */ + +/* ITM Lock Status Register Definitions */ +#define ITM_LSR_ByteAcc_Pos 2U /*!< ITM LSR: ByteAcc Position */ +#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ + +#define ITM_LSR_Access_Pos 1U /*!< ITM LSR: Access Position */ +#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ + +#define ITM_LSR_Present_Pos 0U /*!< ITM LSR: Present Position */ +#define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM LSR: Present Mask */ + +/*@}*/ /* end of group CMSIS_ITM */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) + \brief Type definitions for the Data Watchpoint and Trace (DWT) + @{ + */ + +/** + \brief Structure type to access the Data Watchpoint and Trace Register (DWT). + */ +typedef struct +{ + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ + __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ + __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ + __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ + __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ + __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ + __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ + __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ + __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ + __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ + __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ + uint32_t RESERVED0[1U]; + __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ + __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ + __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ + uint32_t RESERVED1[1U]; + __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ + __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ + __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ + uint32_t RESERVED2[1U]; + __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ + __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ + __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ +} DWT_Type; + +/* DWT Control Register Definitions */ +#define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTRL: NUMCOMP Position */ +#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ + +#define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTRL: NOTRCPKT Position */ +#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ + +#define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTRL: NOEXTTRIG Position */ +#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ + +#define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTRL: NOCYCCNT Position */ +#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ + +#define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTRL: NOPRFCNT Position */ +#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ + +#define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTRL: CYCEVTENA Position */ +#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ + +#define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTRL: FOLDEVTENA Position */ +#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ + +#define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTRL: LSUEVTENA Position */ +#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ + +#define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTRL: SLEEPEVTENA Position */ +#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ + +#define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTRL: EXCEVTENA Position */ +#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ + +#define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTRL: CPIEVTENA Position */ +#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ + +#define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTRL: EXCTRCENA Position */ +#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ + +#define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTRL: PCSAMPLENA Position */ +#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ + +#define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTRL: SYNCTAP Position */ +#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ + +#define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTRL: CYCTAP Position */ +#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ + +#define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTRL: POSTINIT Position */ +#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ + +#define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTRL: POSTPRESET Position */ +#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ + +#define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTRL: CYCCNTENA Position */ +#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTRL: CYCCNTENA Mask */ + +/* DWT CPI Count Register Definitions */ +#define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPICNT: CPICNT Position */ +#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPICNT: CPICNT Mask */ + +/* DWT Exception Overhead Count Register Definitions */ +#define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXCCNT: EXCCNT Position */ +#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXCCNT: EXCCNT Mask */ + +/* DWT Sleep Count Register Definitions */ +#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLEEPCNT: SLEEPCNT Position */ +#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ + +/* DWT LSU Count Register Definitions */ +#define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSUCNT: LSUCNT Position */ +#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSUCNT: LSUCNT Mask */ + +/* DWT Folded-instruction Count Register Definitions */ +#define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOLDCNT: FOLDCNT Position */ +#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOLDCNT: FOLDCNT Mask */ + +/* DWT Comparator Mask Register Definitions */ +#define DWT_MASK_MASK_Pos 0U /*!< DWT MASK: MASK Position */ +#define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MASK: MASK Mask */ + +/* DWT Comparator Function Register Definitions */ +#define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUNCTION: MATCHED Position */ +#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ + +#define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUNCTION: DATAVADDR1 Position */ +#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUNCTION: DATAVADDR1 Mask */ + +#define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUNCTION: DATAVADDR0 Position */ +#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUNCTION: DATAVADDR0 Mask */ + +#define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUNCTION: DATAVSIZE Position */ +#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ + +#define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUNCTION: LNK1ENA Position */ +#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUNCTION: LNK1ENA Mask */ + +#define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUNCTION: DATAVMATCH Position */ +#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUNCTION: DATAVMATCH Mask */ + +#define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUNCTION: CYCMATCH Position */ +#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUNCTION: CYCMATCH Mask */ + +#define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUNCTION: EMITRANGE Position */ +#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUNCTION: EMITRANGE Mask */ + +#define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUNCTION: FUNCTION Position */ +#define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUNCTION: FUNCTION Mask */ + +/*@}*/ /* end of group CMSIS_DWT */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_TPI Trace Port Interface (TPI) + \brief Type definitions for the Trace Port Interface (TPI) + @{ + */ + +/** + \brief Structure type to access the Trace Port Interface Register (TPI). + */ +typedef struct +{ + __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ + __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ + uint32_t RESERVED0[2U]; + __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ + uint32_t RESERVED1[55U]; + __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ + uint32_t RESERVED2[131U]; + __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ + __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ + __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ + uint32_t RESERVED3[759U]; + __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ + __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ + __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ + uint32_t RESERVED4[1U]; + __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ + __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ + __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ + uint32_t RESERVED5[39U]; + __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ + __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ + uint32_t RESERVED7[8U]; + __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ + __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ +} TPI_Type; + +/* TPI Asynchronous Clock Prescaler Register Definitions */ +#define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACPR: PRESCALER Position */ +#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACPR: PRESCALER Mask */ + +/* TPI Selected Pin Protocol Register Definitions */ +#define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPPR: TXMODE Position */ +#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPPR: TXMODE Mask */ + +/* TPI Formatter and Flush Status Register Definitions */ +#define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFSR: FtNonStop Position */ +#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ + +#define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFSR: TCPresent Position */ +#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ + +#define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFSR: FtStopped Position */ +#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ + +#define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFSR: FlInProg Position */ +#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFSR: FlInProg Mask */ + +/* TPI Formatter and Flush Control Register Definitions */ +#define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFCR: TrigIn Position */ +#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ + +#define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFCR: EnFCont Position */ +#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ + +/* TPI TRIGGER Register Definitions */ +#define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRIGGER: TRIGGER Position */ +#define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRIGGER: TRIGGER Mask */ + +/* TPI Integration ETM Data Register Definitions (FIFO0) */ +#define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIFO0: ITM_ATVALID Position */ +#define TPI_FIFO0_ITM_ATVALID_Msk (0x1UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ + +#define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIFO0: ITM_bytecount Position */ +#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ + +#define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIFO0: ETM_ATVALID Position */ +#define TPI_FIFO0_ETM_ATVALID_Msk (0x1UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ + +#define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIFO0: ETM_bytecount Position */ +#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ + +#define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIFO0: ETM2 Position */ +#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ + +#define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIFO0: ETM1 Position */ +#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ + +#define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIFO0: ETM0 Position */ +#define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIFO0: ETM0 Mask */ + +/* TPI ITATBCTR2 Register Definitions */ +#define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITATBCTR2: ATREADY2 Position */ +#define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITATBCTR2: ATREADY2 Mask */ + +#define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITATBCTR2: ATREADY1 Position */ +#define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITATBCTR2: ATREADY1 Mask */ + +/* TPI Integration ITM Data Register Definitions (FIFO1) */ +#define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIFO1: ITM_ATVALID Position */ +#define TPI_FIFO1_ITM_ATVALID_Msk (0x1UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ + +#define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIFO1: ITM_bytecount Position */ +#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ + +#define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIFO1: ETM_ATVALID Position */ +#define TPI_FIFO1_ETM_ATVALID_Msk (0x1UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ + +#define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIFO1: ETM_bytecount Position */ +#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ + +#define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIFO1: ITM2 Position */ +#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ + +#define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIFO1: ITM1 Position */ +#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ + +#define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIFO1: ITM0 Position */ +#define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIFO1: ITM0 Mask */ + +/* TPI ITATBCTR0 Register Definitions */ +#define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITATBCTR0: ATREADY2 Position */ +#define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITATBCTR0: ATREADY2 Mask */ + +#define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITATBCTR0: ATREADY1 Position */ +#define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITATBCTR0: ATREADY1 Mask */ + +/* TPI Integration Mode Control Register Definitions */ +#define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITCTRL: Mode Position */ +#define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITCTRL: Mode Mask */ + +/* TPI DEVID Register Definitions */ +#define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEVID: NRZVALID Position */ +#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ + +#define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEVID: MANCVALID Position */ +#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ + +#define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEVID: PTINVALID Position */ +#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ + +#define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEVID: MinBufSz Position */ +#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ + +#define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEVID: AsynClkIn Position */ +#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ + +#define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEVID: NrTraceInput Position */ +#define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEVID: NrTraceInput Mask */ + +/* TPI DEVTYPE Register Definitions */ +#define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEVTYPE: SubType Position */ +#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEVTYPE: SubType Mask */ + +#define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEVTYPE: MajorType Position */ +#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ + +/*@}*/ /* end of group CMSIS_TPI */ + + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_MPU Memory Protection Unit (MPU) + \brief Type definitions for the Memory Protection Unit (MPU) + @{ + */ + +/** + \brief Structure type to access the Memory Protection Unit (MPU). + */ +typedef struct +{ + __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ + __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ + __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ + __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ + __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ + __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address Register */ + __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address Register */ + __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and Size Register */ + __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address Register */ + __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and Size Register */ +} MPU_Type; + +/* MPU Type Register Definitions */ +#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */ +#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ + +#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */ +#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ + +#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */ +#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */ + +/* MPU Control Register Definitions */ +#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */ +#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ + +#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */ +#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ + +#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */ +#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */ + +/* MPU Region Number Register Definitions */ +#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */ +#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */ + +/* MPU Region Base Address Register Definitions */ +#define MPU_RBAR_ADDR_Pos 5U /*!< MPU RBAR: ADDR Position */ +#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ + +#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */ +#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ + +#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */ +#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */ + +/* MPU Region Attribute and Size Register Definitions */ +#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */ +#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ + +#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */ +#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ + +#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */ +#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ + +#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */ +#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ + +#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */ +#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ + +#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */ +#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ + +#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */ +#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ + +#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */ +#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ + +#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */ +#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ + +#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */ +#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */ + +/*@} end of group CMSIS_MPU */ +#endif + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) + \brief Type definitions for the Core Debug Registers + @{ + */ + +/** + \brief Structure type to access the Core Debug Register (CoreDebug). + */ +typedef struct +{ + __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ + __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ + __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ + __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ +} CoreDebug_Type; + +/* Debug Halting Control and Status Register Definitions */ +#define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< CoreDebug DHCSR: DBGKEY Position */ +#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ + +#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< CoreDebug DHCSR: S_RESET_ST Position */ +#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ + +#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ +#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ + +#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< CoreDebug DHCSR: S_LOCKUP Position */ +#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ + +#define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< CoreDebug DHCSR: S_SLEEP Position */ +#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ + +#define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< CoreDebug DHCSR: S_HALT Position */ +#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ + +#define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< CoreDebug DHCSR: S_REGRDY Position */ +#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ + +#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ +#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ + +#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< CoreDebug DHCSR: C_MASKINTS Position */ +#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ + +#define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< CoreDebug DHCSR: C_STEP Position */ +#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ + +#define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< CoreDebug DHCSR: C_HALT Position */ +#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ + +#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< CoreDebug DHCSR: C_DEBUGEN Position */ +#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ + +/* Debug Core Register Selector Register Definitions */ +#define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< CoreDebug DCRSR: REGWnR Position */ +#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ + +#define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< CoreDebug DCRSR: REGSEL Position */ +#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< CoreDebug DCRSR: REGSEL Mask */ + +/* Debug Exception and Monitor Control Register Definitions */ +#define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< CoreDebug DEMCR: TRCENA Position */ +#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ + +#define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< CoreDebug DEMCR: MON_REQ Position */ +#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ + +#define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< CoreDebug DEMCR: MON_STEP Position */ +#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ + +#define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< CoreDebug DEMCR: MON_PEND Position */ +#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ + +#define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< CoreDebug DEMCR: MON_EN Position */ +#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ + +#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< CoreDebug DEMCR: VC_HARDERR Position */ +#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ + +#define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< CoreDebug DEMCR: VC_INTERR Position */ +#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ + +#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< CoreDebug DEMCR: VC_BUSERR Position */ +#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ + +#define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< CoreDebug DEMCR: VC_STATERR Position */ +#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ + +#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< CoreDebug DEMCR: VC_CHKERR Position */ +#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ + +#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< CoreDebug DEMCR: VC_NOCPERR Position */ +#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ + +#define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< CoreDebug DEMCR: VC_MMERR Position */ +#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ + +#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< CoreDebug DEMCR: VC_CORERESET Position */ +#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ + +/*@} end of group CMSIS_CoreDebug */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_bitfield Core register bit field macros + \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). + @{ + */ + +/** + \brief Mask and shift a bit field value for use in a register bit range. + \param[in] field Name of the register bit field. + \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. + \return Masked and shifted value. +*/ +#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) + +/** + \brief Mask and shift a register value to extract a bit filed value. + \param[in] field Name of the register bit field. + \param[in] value Value of register. This parameter is interpreted as an uint32_t type. + \return Masked and shifted bit field value. +*/ +#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) + +/*@} end of group CMSIS_core_bitfield */ + + +/** + \ingroup CMSIS_core_register + \defgroup CMSIS_core_base Core Definitions + \brief Definitions for base addresses, unions, and structures. + @{ + */ + +/* Memory mapping of Core Hardware */ +#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ +#define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ +#define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ +#define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ +#define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ +#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ +#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ +#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ + +#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ +#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ +#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ +#define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ +#define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ +#define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ +#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ + +#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) + #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ + #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ +#endif + +/*@} */ + + + +/******************************************************************************* + * Hardware Abstraction Layer + Core Function Interface contains: + - Core NVIC Functions + - Core SysTick Functions + - Core Debug Functions + - Core Register Access Functions + ******************************************************************************/ +/** + \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference +*/ + + + +/* ########################## NVIC functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_NVICFunctions NVIC Functions + \brief Functions that manage interrupts and exceptions via the NVIC. + @{ + */ + +#ifdef CMSIS_NVIC_VIRTUAL + #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE + #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" + #endif + #include CMSIS_NVIC_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping + #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping + #define NVIC_EnableIRQ __NVIC_EnableIRQ + #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ + #define NVIC_DisableIRQ __NVIC_DisableIRQ + #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ + #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ + #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ + #define NVIC_GetActive __NVIC_GetActive + #define NVIC_SetPriority __NVIC_SetPriority + #define NVIC_GetPriority __NVIC_GetPriority + #define NVIC_SystemReset __NVIC_SystemReset +#endif /* CMSIS_NVIC_VIRTUAL */ + +#ifdef CMSIS_VECTAB_VIRTUAL + #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE + #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" + #endif + #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE +#else + #define NVIC_SetVector __NVIC_SetVector + #define NVIC_GetVector __NVIC_GetVector +#endif /* (CMSIS_VECTAB_VIRTUAL) */ + +#define NVIC_USER_IRQ_OFFSET 16 + + +/* The following EXC_RETURN values are saved the LR on exception entry */ +#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */ +#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */ +#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */ + + +/** + \brief Set Priority Grouping + \details Sets the priority grouping field using the required unlock sequence. + The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. + Only values from 0..7 are used. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Priority grouping field. + */ +__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) +{ + uint32_t reg_value; + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + + reg_value = SCB->AIRCR; /* read old register configuration */ + reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ + reg_value = (reg_value | + ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ + SCB->AIRCR = reg_value; +} + + +/** + \brief Get Priority Grouping + \details Reads the priority grouping field from the NVIC Interrupt Controller. + \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). + */ +__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) +{ + return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); +} + + +/** + \brief Enable Interrupt + \details Enables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + __COMPILER_BARRIER(); + NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __COMPILER_BARRIER(); + } +} + + +/** + \brief Get Interrupt Enable status + \details Returns a device specific interrupt enable status from the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt is not enabled. + \return 1 Interrupt is enabled. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Disable Interrupt + \details Disables a device specific interrupt in the NVIC interrupt controller. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + __DSB(); + __ISB(); + } +} + + +/** + \brief Get Pending Interrupt + \details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not pending. + \return 1 Interrupt status is pending. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Pending Interrupt + \details Sets the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Clear Pending Interrupt + \details Clears the pending bit of a device specific interrupt in the NVIC pending register. + \param [in] IRQn Device specific interrupt number. + \note IRQn must not be negative. + */ +__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); + } +} + + +/** + \brief Get Active Interrupt + \details Reads the active register in the NVIC and returns the active bit for the device specific interrupt. + \param [in] IRQn Device specific interrupt number. + \return 0 Interrupt status is not active. + \return 1 Interrupt status is active. + \note IRQn must not be negative. + */ +__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) +{ + if ((int32_t)(IRQn) >= 0) + { + return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)); + } + else + { + return(0U); + } +} + + +/** + \brief Set Interrupt Priority + \details Sets the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \param [in] priority Priority to set. + \note The priority cannot be set for every processor exception. + */ +__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + if ((int32_t)(IRQn) >= 0) + { + NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } + else + { + SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); + } +} + + +/** + \brief Get Interrupt Priority + \details Reads the priority of a device specific interrupt or a processor exception. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Interrupt Priority. + Value is aligned automatically to the implemented priority bits of the microcontroller. + */ +__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) +{ + + if ((int32_t)(IRQn) >= 0) + { + return(((uint32_t)NVIC->IP[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS))); + } + else + { + return(((uint32_t)SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS))); + } +} + + +/** + \brief Encode Priority + \details Encodes the priority for an interrupt with the given priority group, + preemptive priority value, and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. + \param [in] PriorityGroup Used priority group. + \param [in] PreemptPriority Preemptive priority value (starting from 0). + \param [in] SubPriority Subpriority value (starting from 0). + \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). + */ +__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + return ( + ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | + ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) + ); +} + + +/** + \brief Decode Priority + \details Decodes an interrupt priority value with a given priority group to + preemptive priority value and subpriority value. + In case of a conflict between priority grouping and available + priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. + \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). + \param [in] PriorityGroup Used priority group. + \param [out] pPreemptPriority Preemptive priority value (starting from 0). + \param [out] pSubPriority Subpriority value (starting from 0). + */ +__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority) +{ + uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ + uint32_t PreemptPriorityBits; + uint32_t SubPriorityBits; + + PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); + SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); + + *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL); + *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL); +} + + +/** + \brief Set Interrupt Vector + \details Sets an interrupt vector in SRAM based interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + VTOR must been relocated to SRAM before. + \param [in] IRQn Interrupt number + \param [in] vector Address of interrupt handler function + */ +__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector; + /* ARM Application Note 321 states that the M3 does not require the architectural barrier */ +} + + +/** + \brief Get Interrupt Vector + \details Reads an interrupt vector from interrupt vector table. + The interrupt number can be positive to specify a device specific interrupt, + or negative to specify a processor exception. + \param [in] IRQn Interrupt number. + \return Address of interrupt handler function + */ +__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) +{ + uint32_t vectors = (uint32_t )SCB->VTOR; + return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)); +} + + +/** + \brief System Reset + \details Initiates a system reset request to reset the MCU. + */ +__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) +{ + __DSB(); /* Ensure all outstanding memory accesses included + buffered write are completed before reset */ + SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | + (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | + SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ + __DSB(); /* Ensure completion of memory access */ + + for(;;) /* wait until reset */ + { + __NOP(); + } +} + +/*@} end of CMSIS_Core_NVICFunctions */ + + +/* ########################## FPU functions #################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_FpuFunctions FPU Functions + \brief Function that provides FPU type. + @{ + */ + +/** + \brief get FPU type + \details returns the FPU type + \returns + - \b 0: No FPU + - \b 1: Single precision FPU + - \b 2: Double + Single precision FPU + */ +__STATIC_INLINE uint32_t SCB_GetFPUType(void) +{ + return 0U; /* No FPU */ +} + + +/*@} end of CMSIS_Core_FpuFunctions */ + + + +/* ################################## SysTick function ############################################ */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_SysTickFunctions SysTick Functions + \brief Functions that configure the System. + @{ + */ + +#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U) + +/** + \brief System Tick Configuration + \details Initializes the System Timer and its interrupt, and starts the System Tick Timer. + Counter is in free running mode to generate periodic interrupts. + \param [in] ticks Number of ticks between two interrupts. + \return 0 Function succeeded. + \return 1 Function failed. + \note When the variable __Vendor_SysTickConfig is set to 1, then the + function SysTick_Config is not included. In this case, the file device.h + must contain a vendor-specific implementation of this function. + */ +__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) +{ + if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) + { + return (1UL); /* Reload value impossible */ + } + + SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ + NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ + SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ + SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | + SysTick_CTRL_TICKINT_Msk | + SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ + return (0UL); /* Function successful */ +} + +#endif + +/*@} end of CMSIS_Core_SysTickFunctions */ + + + +/* ##################################### Debug In/Output function ########################################### */ +/** + \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_core_DebugFunctions ITM Functions + \brief Functions that access the ITM debug interface. + @{ + */ + +extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ +#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U) /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ + + +/** + \brief ITM Send Character + \details Transmits a character via the ITM channel 0, and + \li Just returns when no debugger is connected that has booked the output. + \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. + \param [in] ch Character to transmit. + \returns Character to transmit. + */ +__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) +{ + if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ + ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ + { + while (ITM->PORT[0U].u32 == 0UL) + { + __NOP(); + } + ITM->PORT[0U].u8 = (uint8_t)ch; + } + return (ch); +} + + +/** + \brief ITM Receive Character + \details Inputs a character via the external variable \ref ITM_RxBuffer. + \return Received character. + \return -1 No character pending. + */ +__STATIC_INLINE int32_t ITM_ReceiveChar (void) +{ + int32_t ch = -1; /* no character available */ + + if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) + { + ch = ITM_RxBuffer; + ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ + } + + return (ch); +} + + +/** + \brief ITM Check Character + \details Checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. + \return 0 No character available. + \return 1 Character available. + */ +__STATIC_INLINE int32_t ITM_CheckChar (void) +{ + + if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) + { + return (0); /* no character available */ + } + else + { + return (1); /* character available */ + } +} + +/*@} end of CMSIS_core_DebugFunctions */ + + + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_SC300_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv7.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv7.h new file mode 100644 index 0000000..66ef59b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv7.h @@ -0,0 +1,272 @@ +/****************************************************************************** + * @file mpu_armv7.h + * @brief CMSIS MPU API for Armv7-M MPU + * @version V5.1.0 + * @date 08. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2017-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef ARM_MPU_ARMV7_H +#define ARM_MPU_ARMV7_H + +#define ARM_MPU_REGION_SIZE_32B ((uint8_t)0x04U) ///!< MPU Region Size 32 Bytes +#define ARM_MPU_REGION_SIZE_64B ((uint8_t)0x05U) ///!< MPU Region Size 64 Bytes +#define ARM_MPU_REGION_SIZE_128B ((uint8_t)0x06U) ///!< MPU Region Size 128 Bytes +#define ARM_MPU_REGION_SIZE_256B ((uint8_t)0x07U) ///!< MPU Region Size 256 Bytes +#define ARM_MPU_REGION_SIZE_512B ((uint8_t)0x08U) ///!< MPU Region Size 512 Bytes +#define ARM_MPU_REGION_SIZE_1KB ((uint8_t)0x09U) ///!< MPU Region Size 1 KByte +#define ARM_MPU_REGION_SIZE_2KB ((uint8_t)0x0AU) ///!< MPU Region Size 2 KBytes +#define ARM_MPU_REGION_SIZE_4KB ((uint8_t)0x0BU) ///!< MPU Region Size 4 KBytes +#define ARM_MPU_REGION_SIZE_8KB ((uint8_t)0x0CU) ///!< MPU Region Size 8 KBytes +#define ARM_MPU_REGION_SIZE_16KB ((uint8_t)0x0DU) ///!< MPU Region Size 16 KBytes +#define ARM_MPU_REGION_SIZE_32KB ((uint8_t)0x0EU) ///!< MPU Region Size 32 KBytes +#define ARM_MPU_REGION_SIZE_64KB ((uint8_t)0x0FU) ///!< MPU Region Size 64 KBytes +#define ARM_MPU_REGION_SIZE_128KB ((uint8_t)0x10U) ///!< MPU Region Size 128 KBytes +#define ARM_MPU_REGION_SIZE_256KB ((uint8_t)0x11U) ///!< MPU Region Size 256 KBytes +#define ARM_MPU_REGION_SIZE_512KB ((uint8_t)0x12U) ///!< MPU Region Size 512 KBytes +#define ARM_MPU_REGION_SIZE_1MB ((uint8_t)0x13U) ///!< MPU Region Size 1 MByte +#define ARM_MPU_REGION_SIZE_2MB ((uint8_t)0x14U) ///!< MPU Region Size 2 MBytes +#define ARM_MPU_REGION_SIZE_4MB ((uint8_t)0x15U) ///!< MPU Region Size 4 MBytes +#define ARM_MPU_REGION_SIZE_8MB ((uint8_t)0x16U) ///!< MPU Region Size 8 MBytes +#define ARM_MPU_REGION_SIZE_16MB ((uint8_t)0x17U) ///!< MPU Region Size 16 MBytes +#define ARM_MPU_REGION_SIZE_32MB ((uint8_t)0x18U) ///!< MPU Region Size 32 MBytes +#define ARM_MPU_REGION_SIZE_64MB ((uint8_t)0x19U) ///!< MPU Region Size 64 MBytes +#define ARM_MPU_REGION_SIZE_128MB ((uint8_t)0x1AU) ///!< MPU Region Size 128 MBytes +#define ARM_MPU_REGION_SIZE_256MB ((uint8_t)0x1BU) ///!< MPU Region Size 256 MBytes +#define ARM_MPU_REGION_SIZE_512MB ((uint8_t)0x1CU) ///!< MPU Region Size 512 MBytes +#define ARM_MPU_REGION_SIZE_1GB ((uint8_t)0x1DU) ///!< MPU Region Size 1 GByte +#define ARM_MPU_REGION_SIZE_2GB ((uint8_t)0x1EU) ///!< MPU Region Size 2 GBytes +#define ARM_MPU_REGION_SIZE_4GB ((uint8_t)0x1FU) ///!< MPU Region Size 4 GBytes + +#define ARM_MPU_AP_NONE 0U ///!< MPU Access Permission no access +#define ARM_MPU_AP_PRIV 1U ///!< MPU Access Permission privileged access only +#define ARM_MPU_AP_URO 2U ///!< MPU Access Permission unprivileged access read-only +#define ARM_MPU_AP_FULL 3U ///!< MPU Access Permission full access +#define ARM_MPU_AP_PRO 5U ///!< MPU Access Permission privileged access read-only +#define ARM_MPU_AP_RO 6U ///!< MPU Access Permission read-only access + +/** MPU Region Base Address Register Value +* +* \param Region The region to be configured, number 0 to 15. +* \param BaseAddress The base address for the region. +*/ +#define ARM_MPU_RBAR(Region, BaseAddress) \ + (((BaseAddress) & MPU_RBAR_ADDR_Msk) | \ + ((Region) & MPU_RBAR_REGION_Msk) | \ + (MPU_RBAR_VALID_Msk)) + +/** +* MPU Memory Access Attributes +* +* \param TypeExtField Type extension field, allows you to configure memory access type, for example strongly ordered, peripheral. +* \param IsShareable Region is shareable between multiple bus masters. +* \param IsCacheable Region is cacheable, i.e. its value may be kept in cache. +* \param IsBufferable Region is bufferable, i.e. using write-back caching. Cacheable but non-bufferable regions use write-through policy. +*/ +#define ARM_MPU_ACCESS_(TypeExtField, IsShareable, IsCacheable, IsBufferable) \ + ((((TypeExtField) << MPU_RASR_TEX_Pos) & MPU_RASR_TEX_Msk) | \ + (((IsShareable) << MPU_RASR_S_Pos) & MPU_RASR_S_Msk) | \ + (((IsCacheable) << MPU_RASR_C_Pos) & MPU_RASR_C_Msk) | \ + (((IsBufferable) << MPU_RASR_B_Pos) & MPU_RASR_B_Msk)) + +/** +* MPU Region Attribute and Size Register Value +* +* \param DisableExec Instruction access disable bit, 1= disable instruction fetches. +* \param AccessPermission Data access permissions, allows you to configure read/write access for User and Privileged mode. +* \param AccessAttributes Memory access attribution, see \ref ARM_MPU_ACCESS_. +* \param SubRegionDisable Sub-region disable field. +* \param Size Region size of the region to be configured, for example 4K, 8K. +*/ +#define ARM_MPU_RASR_EX(DisableExec, AccessPermission, AccessAttributes, SubRegionDisable, Size) \ + ((((DisableExec) << MPU_RASR_XN_Pos) & MPU_RASR_XN_Msk) | \ + (((AccessPermission) << MPU_RASR_AP_Pos) & MPU_RASR_AP_Msk) | \ + (((AccessAttributes) & (MPU_RASR_TEX_Msk | MPU_RASR_S_Msk | MPU_RASR_C_Msk | MPU_RASR_B_Msk))) | \ + (((SubRegionDisable) << MPU_RASR_SRD_Pos) & MPU_RASR_SRD_Msk) | \ + (((Size) << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk) | \ + (((MPU_RASR_ENABLE_Msk)))) + +/** +* MPU Region Attribute and Size Register Value +* +* \param DisableExec Instruction access disable bit, 1= disable instruction fetches. +* \param AccessPermission Data access permissions, allows you to configure read/write access for User and Privileged mode. +* \param TypeExtField Type extension field, allows you to configure memory access type, for example strongly ordered, peripheral. +* \param IsShareable Region is shareable between multiple bus masters. +* \param IsCacheable Region is cacheable, i.e. its value may be kept in cache. +* \param IsBufferable Region is bufferable, i.e. using write-back caching. Cacheable but non-bufferable regions use write-through policy. +* \param SubRegionDisable Sub-region disable field. +* \param Size Region size of the region to be configured, for example 4K, 8K. +*/ +#define ARM_MPU_RASR(DisableExec, AccessPermission, TypeExtField, IsShareable, IsCacheable, IsBufferable, SubRegionDisable, Size) \ + ARM_MPU_RASR_EX(DisableExec, AccessPermission, ARM_MPU_ACCESS_(TypeExtField, IsShareable, IsCacheable, IsBufferable), SubRegionDisable, Size) + +/** +* MPU Memory Access Attribute for strongly ordered memory. +* - TEX: 000b +* - Shareable +* - Non-cacheable +* - Non-bufferable +*/ +#define ARM_MPU_ACCESS_ORDERED ARM_MPU_ACCESS_(0U, 1U, 0U, 0U) + +/** +* MPU Memory Access Attribute for device memory. +* - TEX: 000b (if shareable) or 010b (if non-shareable) +* - Shareable or non-shareable +* - Non-cacheable +* - Bufferable (if shareable) or non-bufferable (if non-shareable) +* +* \param IsShareable Configures the device memory as shareable or non-shareable. +*/ +#define ARM_MPU_ACCESS_DEVICE(IsShareable) ((IsShareable) ? ARM_MPU_ACCESS_(0U, 1U, 0U, 1U) : ARM_MPU_ACCESS_(2U, 0U, 0U, 0U)) + +/** +* MPU Memory Access Attribute for normal memory. +* - TEX: 1BBb (reflecting outer cacheability rules) +* - Shareable or non-shareable +* - Cacheable or non-cacheable (reflecting inner cacheability rules) +* - Bufferable or non-bufferable (reflecting inner cacheability rules) +* +* \param OuterCp Configures the outer cache policy. +* \param InnerCp Configures the inner cache policy. +* \param IsShareable Configures the memory as shareable or non-shareable. +*/ +#define ARM_MPU_ACCESS_NORMAL(OuterCp, InnerCp, IsShareable) ARM_MPU_ACCESS_((4U | (OuterCp)), IsShareable, ((InnerCp) & 2U), ((InnerCp) & 1U)) + +/** +* MPU Memory Access Attribute non-cacheable policy. +*/ +#define ARM_MPU_CACHEP_NOCACHE 0U + +/** +* MPU Memory Access Attribute write-back, write and read allocate policy. +*/ +#define ARM_MPU_CACHEP_WB_WRA 1U + +/** +* MPU Memory Access Attribute write-through, no write allocate policy. +*/ +#define ARM_MPU_CACHEP_WT_NWA 2U + +/** +* MPU Memory Access Attribute write-back, no write allocate policy. +*/ +#define ARM_MPU_CACHEP_WB_NWA 3U + + +/** +* Struct for a single MPU Region +*/ +typedef struct { + uint32_t RBAR; //!< The region base address register value (RBAR) + uint32_t RASR; //!< The region attribute and size register value (RASR) \ref MPU_RASR +} ARM_MPU_Region_t; + +/** Enable the MPU. +* \param MPU_Control Default access permissions for unconfigured regions. +*/ +__STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control) +{ + MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; +#endif + __DSB(); + __ISB(); +} + +/** Disable the MPU. +*/ +__STATIC_INLINE void ARM_MPU_Disable(void) +{ + __DMB(); +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; +#endif + MPU->CTRL &= ~MPU_CTRL_ENABLE_Msk; +} + +/** Clear and disable the given MPU region. +* \param rnr Region number to be cleared. +*/ +__STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr) +{ + MPU->RNR = rnr; + MPU->RASR = 0U; +} + +/** Configure an MPU region. +* \param rbar Value for RBAR register. +* \param rsar Value for RSAR register. +*/ +__STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr) +{ + MPU->RBAR = rbar; + MPU->RASR = rasr; +} + +/** Configure the given MPU region. +* \param rnr Region number to be configured. +* \param rbar Value for RBAR register. +* \param rsar Value for RSAR register. +*/ +__STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, uint32_t rasr) +{ + MPU->RNR = rnr; + MPU->RBAR = rbar; + MPU->RASR = rasr; +} + +/** Memcopy with strictly ordered memory access, e.g. for register targets. +* \param dst Destination data is copied to. +* \param src Source data is copied from. +* \param len Amount of data words to be copied. +*/ +__STATIC_INLINE void ARM_MPU_OrderedMemcpy(volatile uint32_t* dst, const uint32_t* __RESTRICT src, uint32_t len) +{ + uint32_t i; + for (i = 0U; i < len; ++i) + { + dst[i] = src[i]; + } +} + +/** Load the given number of MPU regions from a table. +* \param table Pointer to the MPU configuration table. +* \param cnt Amount of regions to be configured. +*/ +__STATIC_INLINE void ARM_MPU_Load(ARM_MPU_Region_t const* table, uint32_t cnt) +{ + const uint32_t rowWordSize = sizeof(ARM_MPU_Region_t)/4U; + while (cnt > MPU_TYPE_RALIASES) { + ARM_MPU_OrderedMemcpy(&(MPU->RBAR), &(table->RBAR), MPU_TYPE_RALIASES*rowWordSize); + table += MPU_TYPE_RALIASES; + cnt -= MPU_TYPE_RALIASES; + } + ARM_MPU_OrderedMemcpy(&(MPU->RBAR), &(table->RBAR), cnt*rowWordSize); +} + +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv8.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv8.h new file mode 100644 index 0000000..0041d4d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/mpu_armv8.h @@ -0,0 +1,346 @@ +/****************************************************************************** + * @file mpu_armv8.h + * @brief CMSIS MPU API for Armv8-M and Armv8.1-M MPU + * @version V5.1.0 + * @date 08. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2017-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef ARM_MPU_ARMV8_H +#define ARM_MPU_ARMV8_H + +/** \brief Attribute for device memory (outer only) */ +#define ARM_MPU_ATTR_DEVICE ( 0U ) + +/** \brief Attribute for non-cacheable, normal memory */ +#define ARM_MPU_ATTR_NON_CACHEABLE ( 4U ) + +/** \brief Attribute for normal memory (outer and inner) +* \param NT Non-Transient: Set to 1 for non-transient data. +* \param WB Write-Back: Set to 1 to use write-back update policy. +* \param RA Read Allocation: Set to 1 to use cache allocation on read miss. +* \param WA Write Allocation: Set to 1 to use cache allocation on write miss. +*/ +#define ARM_MPU_ATTR_MEMORY_(NT, WB, RA, WA) \ + (((NT & 1U) << 3U) | ((WB & 1U) << 2U) | ((RA & 1U) << 1U) | (WA & 1U)) + +/** \brief Device memory type non Gathering, non Re-ordering, non Early Write Acknowledgement */ +#define ARM_MPU_ATTR_DEVICE_nGnRnE (0U) + +/** \brief Device memory type non Gathering, non Re-ordering, Early Write Acknowledgement */ +#define ARM_MPU_ATTR_DEVICE_nGnRE (1U) + +/** \brief Device memory type non Gathering, Re-ordering, Early Write Acknowledgement */ +#define ARM_MPU_ATTR_DEVICE_nGRE (2U) + +/** \brief Device memory type Gathering, Re-ordering, Early Write Acknowledgement */ +#define ARM_MPU_ATTR_DEVICE_GRE (3U) + +/** \brief Memory Attribute +* \param O Outer memory attributes +* \param I O == ARM_MPU_ATTR_DEVICE: Device memory attributes, else: Inner memory attributes +*/ +#define ARM_MPU_ATTR(O, I) (((O & 0xFU) << 4U) | (((O & 0xFU) != 0U) ? (I & 0xFU) : ((I & 0x3U) << 2U))) + +/** \brief Normal memory non-shareable */ +#define ARM_MPU_SH_NON (0U) + +/** \brief Normal memory outer shareable */ +#define ARM_MPU_SH_OUTER (2U) + +/** \brief Normal memory inner shareable */ +#define ARM_MPU_SH_INNER (3U) + +/** \brief Memory access permissions +* \param RO Read-Only: Set to 1 for read-only memory. +* \param NP Non-Privileged: Set to 1 for non-privileged memory. +*/ +#define ARM_MPU_AP_(RO, NP) (((RO & 1U) << 1U) | (NP & 1U)) + +/** \brief Region Base Address Register value +* \param BASE The base address bits [31:5] of a memory region. The value is zero extended. Effective address gets 32 byte aligned. +* \param SH Defines the Shareability domain for this memory region. +* \param RO Read-Only: Set to 1 for a read-only memory region. +* \param NP Non-Privileged: Set to 1 for a non-privileged memory region. +* \oaram XN eXecute Never: Set to 1 for a non-executable memory region. +*/ +#define ARM_MPU_RBAR(BASE, SH, RO, NP, XN) \ + ((BASE & MPU_RBAR_BASE_Msk) | \ + ((SH << MPU_RBAR_SH_Pos) & MPU_RBAR_SH_Msk) | \ + ((ARM_MPU_AP_(RO, NP) << MPU_RBAR_AP_Pos) & MPU_RBAR_AP_Msk) | \ + ((XN << MPU_RBAR_XN_Pos) & MPU_RBAR_XN_Msk)) + +/** \brief Region Limit Address Register value +* \param LIMIT The limit address bits [31:5] for this memory region. The value is one extended. +* \param IDX The attribute index to be associated with this memory region. +*/ +#define ARM_MPU_RLAR(LIMIT, IDX) \ + ((LIMIT & MPU_RLAR_LIMIT_Msk) | \ + ((IDX << MPU_RLAR_AttrIndx_Pos) & MPU_RLAR_AttrIndx_Msk) | \ + (MPU_RLAR_EN_Msk)) + +#if defined(MPU_RLAR_PXN_Pos) + +/** \brief Region Limit Address Register with PXN value +* \param LIMIT The limit address bits [31:5] for this memory region. The value is one extended. +* \param PXN Privileged execute never. Defines whether code can be executed from this privileged region. +* \param IDX The attribute index to be associated with this memory region. +*/ +#define ARM_MPU_RLAR_PXN(LIMIT, PXN, IDX) \ + ((LIMIT & MPU_RLAR_LIMIT_Msk) | \ + ((PXN << MPU_RLAR_PXN_Pos) & MPU_RLAR_PXN_Msk) | \ + ((IDX << MPU_RLAR_AttrIndx_Pos) & MPU_RLAR_AttrIndx_Msk) | \ + (MPU_RLAR_EN_Msk)) + +#endif + +/** +* Struct for a single MPU Region +*/ +typedef struct { + uint32_t RBAR; /*!< Region Base Address Register value */ + uint32_t RLAR; /*!< Region Limit Address Register value */ +} ARM_MPU_Region_t; + +/** Enable the MPU. +* \param MPU_Control Default access permissions for unconfigured regions. +*/ +__STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_Control) +{ + MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; +#endif + __DSB(); + __ISB(); +} + +/** Disable the MPU. +*/ +__STATIC_INLINE void ARM_MPU_Disable(void) +{ + __DMB(); +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; +#endif + MPU->CTRL &= ~MPU_CTRL_ENABLE_Msk; +} + +#ifdef MPU_NS +/** Enable the Non-secure MPU. +* \param MPU_Control Default access permissions for unconfigured regions. +*/ +__STATIC_INLINE void ARM_MPU_Enable_NS(uint32_t MPU_Control) +{ + MPU_NS->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB_NS->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; +#endif + __DSB(); + __ISB(); +} + +/** Disable the Non-secure MPU. +*/ +__STATIC_INLINE void ARM_MPU_Disable_NS(void) +{ + __DMB(); +#ifdef SCB_SHCSR_MEMFAULTENA_Msk + SCB_NS->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; +#endif + MPU_NS->CTRL &= ~MPU_CTRL_ENABLE_Msk; +} +#endif + +/** Set the memory attribute encoding to the given MPU. +* \param mpu Pointer to the MPU to be configured. +* \param idx The attribute index to be set [0-7] +* \param attr The attribute value to be set. +*/ +__STATIC_INLINE void ARM_MPU_SetMemAttrEx(MPU_Type* mpu, uint8_t idx, uint8_t attr) +{ + const uint8_t reg = idx / 4U; + const uint32_t pos = ((idx % 4U) * 8U); + const uint32_t mask = 0xFFU << pos; + + if (reg >= (sizeof(mpu->MAIR) / sizeof(mpu->MAIR[0]))) { + return; // invalid index + } + + mpu->MAIR[reg] = ((mpu->MAIR[reg] & ~mask) | ((attr << pos) & mask)); +} + +/** Set the memory attribute encoding. +* \param idx The attribute index to be set [0-7] +* \param attr The attribute value to be set. +*/ +__STATIC_INLINE void ARM_MPU_SetMemAttr(uint8_t idx, uint8_t attr) +{ + ARM_MPU_SetMemAttrEx(MPU, idx, attr); +} + +#ifdef MPU_NS +/** Set the memory attribute encoding to the Non-secure MPU. +* \param idx The attribute index to be set [0-7] +* \param attr The attribute value to be set. +*/ +__STATIC_INLINE void ARM_MPU_SetMemAttr_NS(uint8_t idx, uint8_t attr) +{ + ARM_MPU_SetMemAttrEx(MPU_NS, idx, attr); +} +#endif + +/** Clear and disable the given MPU region of the given MPU. +* \param mpu Pointer to MPU to be used. +* \param rnr Region number to be cleared. +*/ +__STATIC_INLINE void ARM_MPU_ClrRegionEx(MPU_Type* mpu, uint32_t rnr) +{ + mpu->RNR = rnr; + mpu->RLAR = 0U; +} + +/** Clear and disable the given MPU region. +* \param rnr Region number to be cleared. +*/ +__STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr) +{ + ARM_MPU_ClrRegionEx(MPU, rnr); +} + +#ifdef MPU_NS +/** Clear and disable the given Non-secure MPU region. +* \param rnr Region number to be cleared. +*/ +__STATIC_INLINE void ARM_MPU_ClrRegion_NS(uint32_t rnr) +{ + ARM_MPU_ClrRegionEx(MPU_NS, rnr); +} +#endif + +/** Configure the given MPU region of the given MPU. +* \param mpu Pointer to MPU to be used. +* \param rnr Region number to be configured. +* \param rbar Value for RBAR register. +* \param rlar Value for RLAR register. +*/ +__STATIC_INLINE void ARM_MPU_SetRegionEx(MPU_Type* mpu, uint32_t rnr, uint32_t rbar, uint32_t rlar) +{ + mpu->RNR = rnr; + mpu->RBAR = rbar; + mpu->RLAR = rlar; +} + +/** Configure the given MPU region. +* \param rnr Region number to be configured. +* \param rbar Value for RBAR register. +* \param rlar Value for RLAR register. +*/ +__STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rnr, uint32_t rbar, uint32_t rlar) +{ + ARM_MPU_SetRegionEx(MPU, rnr, rbar, rlar); +} + +#ifdef MPU_NS +/** Configure the given Non-secure MPU region. +* \param rnr Region number to be configured. +* \param rbar Value for RBAR register. +* \param rlar Value for RLAR register. +*/ +__STATIC_INLINE void ARM_MPU_SetRegion_NS(uint32_t rnr, uint32_t rbar, uint32_t rlar) +{ + ARM_MPU_SetRegionEx(MPU_NS, rnr, rbar, rlar); +} +#endif + +/** Memcopy with strictly ordered memory access, e.g. for register targets. +* \param dst Destination data is copied to. +* \param src Source data is copied from. +* \param len Amount of data words to be copied. +*/ +__STATIC_INLINE void ARM_MPU_OrderedMemcpy(volatile uint32_t* dst, const uint32_t* __RESTRICT src, uint32_t len) +{ + uint32_t i; + for (i = 0U; i < len; ++i) + { + dst[i] = src[i]; + } +} + +/** Load the given number of MPU regions from a table to the given MPU. +* \param mpu Pointer to the MPU registers to be used. +* \param rnr First region number to be configured. +* \param table Pointer to the MPU configuration table. +* \param cnt Amount of regions to be configured. +*/ +__STATIC_INLINE void ARM_MPU_LoadEx(MPU_Type* mpu, uint32_t rnr, ARM_MPU_Region_t const* table, uint32_t cnt) +{ + const uint32_t rowWordSize = sizeof(ARM_MPU_Region_t)/4U; + if (cnt == 1U) { + mpu->RNR = rnr; + ARM_MPU_OrderedMemcpy(&(mpu->RBAR), &(table->RBAR), rowWordSize); + } else { + uint32_t rnrBase = rnr & ~(MPU_TYPE_RALIASES-1U); + uint32_t rnrOffset = rnr % MPU_TYPE_RALIASES; + + mpu->RNR = rnrBase; + while ((rnrOffset + cnt) > MPU_TYPE_RALIASES) { + uint32_t c = MPU_TYPE_RALIASES - rnrOffset; + ARM_MPU_OrderedMemcpy(&(mpu->RBAR)+(rnrOffset*2U), &(table->RBAR), c*rowWordSize); + table += c; + cnt -= c; + rnrOffset = 0U; + rnrBase += MPU_TYPE_RALIASES; + mpu->RNR = rnrBase; + } + + ARM_MPU_OrderedMemcpy(&(mpu->RBAR)+(rnrOffset*2U), &(table->RBAR), cnt*rowWordSize); + } +} + +/** Load the given number of MPU regions from a table. +* \param rnr First region number to be configured. +* \param table Pointer to the MPU configuration table. +* \param cnt Amount of regions to be configured. +*/ +__STATIC_INLINE void ARM_MPU_Load(uint32_t rnr, ARM_MPU_Region_t const* table, uint32_t cnt) +{ + ARM_MPU_LoadEx(MPU, rnr, table, cnt); +} + +#ifdef MPU_NS +/** Load the given number of MPU regions from a table to the Non-secure MPU. +* \param rnr First region number to be configured. +* \param table Pointer to the MPU configuration table. +* \param cnt Amount of regions to be configured. +*/ +__STATIC_INLINE void ARM_MPU_Load_NS(uint32_t rnr, ARM_MPU_Region_t const* table, uint32_t cnt) +{ + ARM_MPU_LoadEx(MPU_NS, rnr, table, cnt); +} +#endif + +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/tz_context.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/tz_context.h new file mode 100644 index 0000000..0d09749 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Include/tz_context.h @@ -0,0 +1,70 @@ +/****************************************************************************** + * @file tz_context.h + * @brief Context Management for Armv8-M TrustZone + * @version V1.0.1 + * @date 10. January 2018 + ******************************************************************************/ +/* + * Copyright (c) 2017-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined (__clang__) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef TZ_CONTEXT_H +#define TZ_CONTEXT_H + +#include + +#ifndef TZ_MODULEID_T +#define TZ_MODULEID_T +/// \details Data type that identifies secure software modules called by a process. +typedef uint32_t TZ_ModuleId_t; +#endif + +/// \details TZ Memory ID identifies an allocated memory slot. +typedef uint32_t TZ_MemoryId_t; + +/// Initialize secure context memory system +/// \return execution status (1: success, 0: error) +uint32_t TZ_InitContextSystem_S (void); + +/// Allocate context memory for calling secure software modules in TrustZone +/// \param[in] module identifies software modules called from non-secure mode +/// \return value != 0 id TrustZone memory slot identifier +/// \return value 0 no memory available or internal error +TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module); + +/// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id); + +/// Load secure context (called on RTOS thread context switch) +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +uint32_t TZ_LoadContext_S (TZ_MemoryId_t id); + +/// Store secure context (called on RTOS thread context switch) +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +uint32_t TZ_StoreContext_S (TZ_MemoryId_t id); + +#endif // TZ_CONTEXT_H diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/main_s.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/main_s.c new file mode 100644 index 0000000..273607b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/main_s.c @@ -0,0 +1,58 @@ +/****************************************************************************** + * @file main_s.c + * @brief Code template for secure main function + * @version V1.1.1 + * @date 10. January 2018 + ******************************************************************************/ +/* + * Copyright (c) 2013-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Use CMSE intrinsics */ +#include + +#include "RTE_Components.h" +#include CMSIS_device_header + +/* TZ_START_NS: Start address of non-secure application */ +#ifndef TZ_START_NS +#define TZ_START_NS (0x200000U) +#endif + +/* typedef for non-secure callback functions */ +typedef void (*funcptr_void) (void) __attribute__((cmse_nonsecure_call)); + +/* Secure main() */ +int main(void) { + funcptr_void NonSecure_ResetHandler; + + /* Add user setup code for secure part here*/ + + /* Set non-secure main stack (MSP_NS) */ + __TZ_set_MSP_NS(*((uint32_t *)(TZ_START_NS))); + + /* Get non-secure reset handler */ + NonSecure_ResetHandler = (funcptr_void)(*((uint32_t *)((TZ_START_NS) + 4U))); + + /* Start non-secure state software application */ + NonSecure_ResetHandler(); + + /* Non-secure software does not return, this code is not executed */ + while (1) { + __NOP(); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/tz_context.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/tz_context.c new file mode 100644 index 0000000..e2e8294 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/Core/Template/ARMv8-M/tz_context.c @@ -0,0 +1,200 @@ +/****************************************************************************** + * @file tz_context.c + * @brief Context Management for Armv8-M TrustZone - Sample implementation + * @version V1.1.1 + * @date 10. January 2018 + ******************************************************************************/ +/* + * Copyright (c) 2016-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "RTE_Components.h" +#include CMSIS_device_header +#include "tz_context.h" + +/// Number of process slots (threads may call secure library code) +#ifndef TZ_PROCESS_STACK_SLOTS +#define TZ_PROCESS_STACK_SLOTS 8U +#endif + +/// Stack size of the secure library code +#ifndef TZ_PROCESS_STACK_SIZE +#define TZ_PROCESS_STACK_SIZE 256U +#endif + +typedef struct { + uint32_t sp_top; // stack space top + uint32_t sp_limit; // stack space limit + uint32_t sp; // current stack pointer +} stack_info_t; + +static stack_info_t ProcessStackInfo [TZ_PROCESS_STACK_SLOTS]; +static uint64_t ProcessStackMemory[TZ_PROCESS_STACK_SLOTS][TZ_PROCESS_STACK_SIZE/8U]; +static uint32_t ProcessStackFreeSlot = 0xFFFFFFFFU; + + +/// Initialize secure context memory system +/// \return execution status (1: success, 0: error) +__attribute__((cmse_nonsecure_entry)) +uint32_t TZ_InitContextSystem_S (void) { + uint32_t n; + + if (__get_IPSR() == 0U) { + return 0U; // Thread Mode + } + + for (n = 0U; n < TZ_PROCESS_STACK_SLOTS; n++) { + ProcessStackInfo[n].sp = 0U; + ProcessStackInfo[n].sp_limit = (uint32_t)&ProcessStackMemory[n]; + ProcessStackInfo[n].sp_top = (uint32_t)&ProcessStackMemory[n] + TZ_PROCESS_STACK_SIZE; + *((uint32_t *)ProcessStackMemory[n]) = n + 1U; + } + *((uint32_t *)ProcessStackMemory[--n]) = 0xFFFFFFFFU; + + ProcessStackFreeSlot = 0U; + + // Default process stack pointer and stack limit + __set_PSPLIM((uint32_t)ProcessStackMemory); + __set_PSP ((uint32_t)ProcessStackMemory); + + // Privileged Thread Mode using PSP + __set_CONTROL(0x02U); + + return 1U; // Success +} + + +/// Allocate context memory for calling secure software modules in TrustZone +/// \param[in] module identifies software modules called from non-secure mode +/// \return value != 0 id TrustZone memory slot identifier +/// \return value 0 no memory available or internal error +__attribute__((cmse_nonsecure_entry)) +TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module) { + uint32_t slot; + + (void)module; // Ignore (fixed Stack size) + + if (__get_IPSR() == 0U) { + return 0U; // Thread Mode + } + + if (ProcessStackFreeSlot == 0xFFFFFFFFU) { + return 0U; // No slot available + } + + slot = ProcessStackFreeSlot; + ProcessStackFreeSlot = *((uint32_t *)ProcessStackMemory[slot]); + + ProcessStackInfo[slot].sp = ProcessStackInfo[slot].sp_top; + + return (slot + 1U); +} + + +/// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +__attribute__((cmse_nonsecure_entry)) +uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id) { + uint32_t slot; + + if (__get_IPSR() == 0U) { + return 0U; // Thread Mode + } + + if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { + return 0U; // Invalid ID + } + + slot = id - 1U; + + if (ProcessStackInfo[slot].sp == 0U) { + return 0U; // Inactive slot + } + ProcessStackInfo[slot].sp = 0U; + + *((uint32_t *)ProcessStackMemory[slot]) = ProcessStackFreeSlot; + ProcessStackFreeSlot = slot; + + return 1U; // Success +} + + +/// Load secure context (called on RTOS thread context switch) +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +__attribute__((cmse_nonsecure_entry)) +uint32_t TZ_LoadContext_S (TZ_MemoryId_t id) { + uint32_t slot; + + if ((__get_IPSR() == 0U) || ((__get_CONTROL() & 2U) == 0U)) { + return 0U; // Thread Mode or using Main Stack for threads + } + + if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { + return 0U; // Invalid ID + } + + slot = id - 1U; + + if (ProcessStackInfo[slot].sp == 0U) { + return 0U; // Inactive slot + } + + // Setup process stack pointer and stack limit + __set_PSPLIM(ProcessStackInfo[slot].sp_limit); + __set_PSP (ProcessStackInfo[slot].sp); + + return 1U; // Success +} + + +/// Store secure context (called on RTOS thread context switch) +/// \param[in] id TrustZone memory slot identifier +/// \return execution status (1: success, 0: error) +__attribute__((cmse_nonsecure_entry)) +uint32_t TZ_StoreContext_S (TZ_MemoryId_t id) { + uint32_t slot; + uint32_t sp; + + if ((__get_IPSR() == 0U) || ((__get_CONTROL() & 2U) == 0U)) { + return 0U; // Thread Mode or using Main Stack for threads + } + + if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { + return 0U; // Invalid ID + } + + slot = id - 1U; + + if (ProcessStackInfo[slot].sp == 0U) { + return 0U; // Inactive slot + } + + sp = __get_PSP(); + if ((sp < ProcessStackInfo[slot].sp_limit) || + (sp > ProcessStackInfo[slot].sp_top)) { + return 0U; // SP out of range + } + ProcessStackInfo[slot].sp = sp; + + // Default process stack pointer and stack limit + __set_PSPLIM((uint32_t)ProcessStackMemory); + __set_PSP ((uint32_t)ProcessStackMemory); + + return 1U; // Success +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/CMakeLists.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/CMakeLists.txt new file mode 100644 index 0000000..3d8e4e9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/CMakeLists.txt @@ -0,0 +1,136 @@ +cmake_minimum_required (VERSION 3.6) +cmake_policy(SET CMP0077 NEW) +# The tests are assuming that MATRIX_CHECK is enabled when building +# CMSIS-DSP. +set(MATRIXCHECK ON) +set(FASTMATHCOMPUTATIONS OFF) +option(DUMPPATTERN "Dump test patterns when test is failing" ON) + +option(CUSTOMIZE_TESTS "Enable customizations of tests" ON) +option(BASICMATH_TESTS "Enable Basic Math testing" ON) +option(COMPLEXMATH_TESTS "Enable Complex Math testing" ON) +option(CONTROLLER_TESTS "Enable Controller testing" ON) +option(FASTMATH_TESTS "Enable Fast Math testing" ON) +option(INTRINSICS_TESTS "Enable Intrinsics testing" ON) +option(FILTERING_TESTS "Enable Filtering testing" ON) +option(MATRIX_TESTS "Enable Matrix testing" ON) +option(STATISTICS_TESTS "Enable Statistics testing" ON) +option(SUPPORT_TESTS "Enable Support testing" ON) +option(TRANSFORM_TESTS "Enable Transform testing" ON) + + +project(DSP_Lib_TestSuite) + +# Needed to find the config modules +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) + + +set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..) + + +file(GLOB MAIN "Common/src/*.c") +file(GLOB BASICMATH_TESTS_SRC "Common/src/basic_math_tests/*.c") +file(GLOB COMPLEXMATH_TESTS_SRC "Common/src/complex_math_tests/*.c") +file(GLOB CONTROLLER_TESTS_SRC "Common/src/controller_tests/*.c") +file(GLOB FASTMATH_TESTS_SRC "Common/src/fast_math_tests/*.c") +file(GLOB FILTERING_TESTS_SRC "Common/src/filtering_tests/*.c") +file(GLOB INTRINSINCS_TESTS_SRC "Common/src/intrinsics_tests/*.c") +file(GLOB MATRIX_TESTS_SRC "Common/src/matrix_tests/*.c") +file(GLOB STATISTICS_TESTS_SRC "Common/src/statistics_tests/*.c") +file(GLOB SUPPORT_TESTS_SRC "Common/src/support_tests/*.c") +file(GLOB TRANSFORM_TESTS_SRC "Common/src/transform_tests/*.c") +file(GLOB JTEST_MAIN "Common/JTest/src/*.c") + +set(TESTSRC ${MAIN} + ${BASICMATH_TESTS_SRC} + ${COMPLEXMATH_TESTS_SRC} + ${CONTROLLER_TESTS_SRC} + ${FASTMATH_TESTS_SRC} + ${FILTERING_TESTS_SRC} + ${INTRINSINCS_TESTS_SRC} + ${MATRIX_TESTS_SRC} + ${STATISTICS_TESTS_SRC} + ${SUPPORT_TESTS_SRC} + ${TRANSFORM_TESTS_SRC} + ${JTEST_MAIN} + ) + +set(JINCS + Common/JTest/inc + Common/JTest/inc/arr_desc + Common/inc/basic_math_tests + Common/inc/complex_math_tests + Common/inc/controller_tests + Common/inc/fast_math_tests + Common/inc/filtering_tests + Common/inc/intrinsics_tests + Common/inc/matrix_tests + Common/inc/statistics_tests + Common/inc/support_tests + Common/inc/transform_tests + ) + +add_subdirectory(../Source bin_dsp) +add_subdirectory(RefLibs bin_ref) + + +add_executable(DSP_Lib_TestSuite) + +if (CUSTOMIZE_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE CUSTOMIZE_TESTS) +endif() + +if (BASICMATH_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_BASICMATH_TESTS) +endif() +if (COMPLEXMATH_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_COMPLEXMATH_TESTS) +endif() +if (CONTROLLER_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_CONTROLLER_TESTS) +endif() +if (FASTMATH_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FASTMATH_TESTS) +endif() +if (FILTERING_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FILTERING_TESTS) +endif() +if (INTRINSICS_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_INTRINSICS_TESTS) +endif() +if (MATRIX_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_MATRIX_TESTS) +endif() +if (STATISTICS_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_STATISTICS_TESTS) +endif() +if (SUPPORT_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_SUPPORT_TESTS) +endif() +if (TRANSFORM_TESTS) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_TRANSFORM_TESTS) +endif() + + +if (DUMPPATTERN) + target_compile_definitions(DSP_Lib_TestSuite PRIVATE DUMPPATTERN) +endif() + +# Change behavior of configBoot for scatter file +set(TESTFRAMEWORK ON) + +include(configBoot) + +file(COPY ${ROOT}/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h DESTINATION tempLink) + +target_link_libraries(DSP_Lib_TestSuite PRIVATE CMSISDSP) +target_link_libraries(DSP_Lib_TestSuite PRIVATE DspRefLibs) + +target_sources(DSP_Lib_TestSuite PRIVATE ${TESTSRC}) + +### Includes +target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc") +target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc/templates") +target_include_directories(DSP_Lib_TestSuite PRIVATE ${JINCS}) + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/arr_desc/arr_desc.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/arr_desc/arr_desc.h new file mode 100644 index 0000000..7995489 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/arr_desc/arr_desc.h @@ -0,0 +1,220 @@ +#ifndef _ARR_DESC_H_ +#define _ARR_DESC_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ +#include +#include /* memset() */ +#include "../util/util.h" /* CONCAT() */ + +/*--------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * Array-descriptor struct. + */ +typedef struct ARR_DESC_struct +{ + void * data_ptr; /* Pointer to the array contents. */ + int32_t element_count; /* Number of current elements. */ + int32_t element_size; /* Size of current elements in bytes. */ + int32_t underlying_size; /* Size of underlying array in bytes. */ +} ARR_DESC_t; + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Prefix of the array variable's name when creating an array and an array + * descriptor at the same time. + */ +#define ARR_DESC_ARR_PREFIX ARR_DESC_ARR_ + +/** + * Evaluate to the array variable's name when creating an array and an array + * descriptor at the same time. + */ +#define ARR_DESC_ARR_NAME(name) \ + CONCAT(ARR_DESC_ARR_PREFIX, name) + +/** + * Define an #ARR_DESC_t by itself. + * + * @note The user must supply an array to store the data used by the + * #ARR_DESC_t. + */ +#define ARR_DESC_INTERNAL_DEFINE(name, data_ptr, \ + element_count, element_size) \ + ARR_DESC_t name = { \ + data_ptr, \ + element_count, \ + element_size, \ + element_count * element_size \ + } \ + +/** + * Define both an array and an #ARR_DESC_t that describes it. + * + * @note Use the #CURLY() macro for the content field; it provides the curly + * braces necessary for an array initialization. + */ +#define ARR_DESC_DEFINE(type, name, element_count, content) \ + type ARR_DESC_ARR_NAME(name)[element_count] = content; \ + ARR_DESC_INTERNAL_DEFINE(name, \ + &ARR_DESC_ARR_NAME(name), \ + element_count, \ + sizeof(type)) /* Note the lacking semicolon */ + +/** + * Create a #ARR_DESC_t which refers to a subset of the data in another. + * + * The new #ARR_DESC_t shares the same underlying array as the aliased + * #ARR_DESC_t, but only describes a subset of the originals values. + */ +#define ARR_DESC_DEFINE_SUBSET(name, original, element_cnt) \ + ARR_DESC_INTERNAL_DEFINE(name, \ + &ARR_DESC_ARR_NAME(original), \ + element_cnt, \ + sizeof(ARR_DESC_ARR_NAME(original)[0]) \ + ) /* Note the lacking semicolon */ + +/** + * Creat an #ARR_DESC_t which points to the data in an existing array. + * + * @param start_idx Offset in array_ptr of first element. + * @param element_cnt Number of elements to include in the #ARR_DESC_t. + * + * @example + * + * float my_floats[4] = {0.0f, 1.0f, 2.0f, 3.0f}; + * + * ARR_DESC_DEFINE_USING_ARR(my_arr_desc, my_floats, 1, 3); + * + * printf("Element 0: %f\n", ARR_DESC_ELT(float, 0, &my_arr_desc)); + * printf("Element 1: %f\n", ARR_DESC_ELT(float, 1, &my_arr_desc)); + * + * Outputs: + * + * Element 0: 1.000000 + * Element 1: 2.000000 + * + * @warning There are no checks in place to catch invalid start indices; This + * is left to the user. + */ +#define ARR_DESC_DEFINE_USING_ARR(type, name, array_ptr, start_idx, element_cnt) \ + ARR_DESC_INTERNAL_DEFINE( \ + name, \ + (type *) (array_ptr + start_idx), \ + element_cnt, \ + sizeof(type) \ + ) /* Note the lacking semicolon*/ + +/** + * Declare an #ARR_DESC_t object. + */ +#define ARR_DESC_DECLARE(name) \ + extern ARR_DESC_t name /* Note the lacking semicolon */ + +/** + * Evaluate to the number of bytes stored in the #ARR_DESC_t. + */ +#define ARR_DESC_BYTES(arr_desc_ptr) \ + ((arr_desc_ptr)->element_count * (arr_desc_ptr)->element_size) + +/** + * Set the contents of #ARR_DESC_t to value. + */ +#define ARR_DESC_MEMSET(arr_desc_ptr, value, bytes) \ + do \ + { \ + memset((arr_desc_ptr)->data_ptr, \ + value, \ + BOUND(0, \ + (arr_desc_ptr)->underlying_size, \ + bytes) \ + ); \ + } while (0) + +/** + * Perform a memcpy of 'bytes' bytes from the source #ARR_DESC_t to the + * destination #ARR_DESC_t. + */ +#define ARR_DESC_MEMCPY(arr_desc_dest_ptr, arr_desc_src_ptr, bytes) \ + do \ + { \ + memcpy((arr_desc_dest_ptr)->data_ptr, \ + (arr_desc_src_ptr)->data_ptr, \ + BOUND(0, \ + (arr_desc_dest_ptr)->underlying_size, \ + bytes)); \ + } while (0) + +/** + * Evaluate to true if the source #ARR_DESC_t contents will fit into the + * destination #ARR_DESC_t and false otherwise. + */ +#define ARR_DESC_COPYABLE(arr_desc_dest_ptr, arr_desc_src_ptr) \ + (ARR_DESC_BYTES(arr_desc_src_ptr) <= \ + (arr_desc_dest_ptr)->underlying_size) + +/** + * Copy all the data from the source #ARR_DESC_t to the destination + * #ARR_DESC_t. + * + * @note If the destination #ARR_DESC_t is too small to fit the source data the + * copy is aborted and nothing happens. + */ +#define ARR_DESC_COPY(arr_desc_dest_ptr, arr_desc_src_ptr) \ + do \ + { \ + if (ARR_DESC_COPYABLE(arr_desc_dest_ptr, \ + arr_desc_src_ptr)) \ + { \ + ARR_DESC_MEMCPY(arr_desc_dest_ptr, \ + arr_desc_src_ptr, \ + ARR_DESC_BYTES(arr_desc_src_ptr)); \ + /* Update the properties*/ \ + (arr_desc_dest_ptr)->element_count = \ + (arr_desc_src_ptr)->element_count; \ + (arr_desc_dest_ptr)->element_size = \ + (arr_desc_src_ptr)->element_size; \ + } \ + } while (0) + +/** + * Compare the data in two #ARR_DESC_t structs for the specified number of + * bytes. + */ +#define ARR_DESC_MEMCMP(arr_desc_ptr_a, arr_desc_ptr_b, bytes) \ + memcmp((arr_desc_ptr_a)->data_ptr, \ + (arr_desc_ptr_b)->data_ptr, \ + bytes) /* Note the lacking semicolon */ \ + +/** + * Zero out the contents of the #ARR_DESC_t. + */ +#define ARR_DESC_ZERO(arr_desc_ptr) \ + ARR_DESC_MEMSET(arr_desc_ptr, \ + 0, \ + (arr_desc_ptr)->underlying_size) + +/** + * Evaluate to the data address in #ARR_DESC_t at offset. + */ +#define ARR_DESC_DATA_ADDR(type, arr_desc_ptr, offset) \ + ((void*)(((type *) \ + ((arr_desc_ptr)->data_ptr)) \ + + offset)) + +/** + * Evaluate to the element in #ARR_DESC_t with type at idx. + */ +#define ARR_DESC_ELT(type, idx, arr_desc_ptr) \ + (*((type *) ARR_DESC_DATA_ADDR(type, \ + arr_desc_ptr, \ + idx))) + +#endif /* _ARR_DESC_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest.h new file mode 100644 index 0000000..ad48adc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest.h @@ -0,0 +1,17 @@ +#ifndef _JTEST_H_ +#define _JTEST_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_fw.h" +#include "jtest_test.h" +#include "jtest_test_define.h" +#include "jtest_test_call.h" +#include "jtest_group.h" +#include "jtest_group_define.h" +#include "jtest_group_call.h" +#include "jtest_cycle.h" + +#endif /* _JTEST_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_cycle.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_cycle.h new file mode 100644 index 0000000..ed09f95 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_cycle.h @@ -0,0 +1,79 @@ +#ifndef _JTEST_CYCLE_H_ +#define _JTEST_CYCLE_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_fw.h" /* JTEST_DUMP_STRF() */ +#include "jtest_systick.h" +#include "jtest_util.h" /* STR() */ + +/*--------------------------------------------------------------------------------*/ +/* Declare Module Variables */ +/*--------------------------------------------------------------------------------*/ +extern const char * JTEST_CYCLE_STRF; + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Wrap the function call, fn_call, to count execution cycles and display the + * results. + */ +/* skipp function name + param +#define JTEST_COUNT_CYCLES(fn_call) \ + do \ + { \ + uint32_t __jtest_cycle_end_count; \ + \ + JTEST_SYSTICK_RESET(SysTick); \ + JTEST_SYSTICK_START(SysTick); \ + \ + fn_call; \ + \ + __jtest_cycle_end_count = \ + JTEST_SYSTICK_VALUE(SysTick); \ + \ + JTEST_SYSTICK_RESET(SysTick); \ + JTEST_DUMP_STRF(JTEST_CYCLE_STRF, \ + STR(fn_call), \ + (JTEST_SYSTICK_INITIAL_VALUE - \ + __jtest_cycle_end_count)); \ + } while (0) +*/ +#ifndef ARMv7A + +#define JTEST_COUNT_CYCLES(fn_call) \ + do \ + { \ + uint32_t __jtest_cycle_end_count; \ + \ + JTEST_SYSTICK_RESET(SysTick); \ + JTEST_SYSTICK_START(SysTick); \ + \ + fn_call; \ + \ + __jtest_cycle_end_count = \ + JTEST_SYSTICK_VALUE(SysTick); \ + \ + JTEST_SYSTICK_RESET(SysTick); \ + JTEST_DUMP_STRF(JTEST_CYCLE_STRF, \ + (JTEST_SYSTICK_INITIAL_VALUE - \ + __jtest_cycle_end_count)); \ + } while (0) + +#else +/* TODO */ +#define JTEST_COUNT_CYCLES(fn_call) \ + do \ + { \ + fn_call; \ + } while (0) + +#endif + +#endif /* _JTEST_CYCLE_H_ */ + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h new file mode 100644 index 0000000..13ad0fb --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h @@ -0,0 +1,37 @@ +#ifndef _JTEST_DEFINE_H_ +#define _JTEST_DEFINE_H_ + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Makes a symbol for use as a struct name. Names made this way have two parts; + * the first parts is a prefix common to all structs of that class. The second + * is a specifier which differs for each instance of that struct type. + */ +#define JTEST_STRUCT_NAME(prefix, specifier) \ + CONCAT(prefix, specifier) + +/** + * Define a struct with type with a name generated by #JTEST_STRUCT_NAME(). + */ +#define JTEST_DEFINE_STRUCT(type, struct_name) \ + type struct_name + +/** + * Declare a struct with type with a name generated by #JTEST_STRUCT_NAME(). + */ +#define JTEST_DECLARE_STRUCT(struct_definition) \ + extern struct_definition + +/** + * Define and initialize a struct (created with JTEST_DEFINE_STRUCT()) and + * initialize it with init_values. + */ +#define JTEST_INIT_STRUCT(struct_definition, init_values) \ + struct_definition = { \ + init_values \ + } + +#endif /* _JTEST_DEFINE_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_fw.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_fw.h new file mode 100644 index 0000000..e48c0c5 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_fw.h @@ -0,0 +1,282 @@ +#ifndef _JTEST_FW_H_ +#define _JTEST_FW_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include /* int32_t */ +#include /* strcpy() */ +#include /* sprintf() */ +#include "jtest_pf.h" /* Extend JTEST_FW_t with Pass/Fail data */ +#include "jtest_group.h" + +/*--------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * A struct used to interface with the Keil Debugger. + */ +typedef struct JTEST_FW_struct +{ + /* Action Triggers: The Keil debugger monitors these values for changes. In + * response to a change, the debugger executes code on the host. */ + volatile int32_t test_start; + volatile int32_t test_end; + volatile int32_t group_start; + volatile int32_t group_end; + volatile int32_t dump_str; + volatile int32_t dump_data; + volatile int32_t exit_fw; + + JTEST_GROUP_t * current_group_ptr; + + /* Buffers: The C-code cannot send strings and data directly to the + * debugging framework. Instead, the debugger can be told to read 128 byte + * (by default) chunks of memory. Data received in this manner requires + * post-processing to be legible.*/ + char * str_buffer; + char * data_buffer; + + /* Pass/Fail Data */ + JTEST_PF_MEMBERS; + +} JTEST_FW_t; + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Default name for the JTEST_FW struct. + * + * Define your own if you want the variable containing the #JTEST_FW_t to have + * a different name. + */ +#ifndef JTEST_FW +#define JTEST_FW JTEST_FW +#endif + +/** + * Default name for the JTEST_FW_STR_BUFFER. + * + * Define your own if you want the variable containing the char buffer to have + * a different name. + */ +#ifndef JTEST_FW_STR_BUFFER +#define JTEST_FW_STR_BUFFER JTEST_FW_STR_BUFFER +#endif + +/** + * Size of the #JTEST_FW_t, output string-buffer. + * + * If you change this value, make sure the "dump_str_fn" and "dump_data_fn" + * functions in jtest_fns.ini uses the same size. If you aren't sure, read the + * documentation Keil Debugger Command 'DISPLAY'. + */ +#define JTEST_BUF_SIZE 256 + + +/** + * The maximum number of bytes output at once using #JTEST_DUMP_STRF(). + */ +#define JTEST_STR_MAX_OUTPUT_SIZE 128 + +/** + * The maximum number of block transimissions needed to send a string from a + * buffer with JTEST_BUF_SIZE. + */ +#define JTEST_STR_MAX_OUTPUT_SEGMENTS \ + (JTEST_BUF_SIZE / JTEST_STR_MAX_OUTPUT_SIZE) + +/** + * Initialize the JTEST framework. + */ +#define JTEST_INIT() \ + do \ + { \ + JTEST_FW.str_buffer = JTEST_FW_STR_BUFFER; \ + } while (0) + +/* Debugger Action-triggering Macros */ +/*--------------------------------------------------------------------------------*/ + +/** + * Dispatch macro to trigger various actions in the Keil Debugger. + */ +#define JTEST_TRIGGER_ACTION(action_name) \ + do \ + { \ + action_name(); \ + } while (0) + +/** + * Trigger the "Test Start" action in the Keil Debugger. + */ +#define JTEST_ACT_TEST_START() \ + JTEST_TRIGGER_ACTION(test_start) + +/** + * Trigger the "Test End" action in the Keil Debugger. + */ +#define JTEST_ACT_TEST_END() \ + JTEST_TRIGGER_ACTION(test_end) + + +/** + * Trigger the "Group Start" action in the Keil Debugger. + */ +#define JTEST_ACT_GROUP_START() \ + JTEST_TRIGGER_ACTION(group_start) + +/** + * Trigger the "Group End" action in the Keil Debugger. + */ +#define JTEST_ACT_GROUP_END() \ + JTEST_TRIGGER_ACTION(group_end) + + +/** + * Fill the buffer named buf_name with value and dump it to the Keil debugger + * using action. + */ +#if defined(ARMv7A) || defined(FILEIO) + +#define JTEST_ACT_DUMP(action, buf_name, value) \ + do \ + { \ + JTEST_CLEAR_BUFFER(buf_name); \ + printf("%s",value); \ + strcpy(JTEST_FW.buf_name, (value)); \ + JTEST_TRIGGER_ACTION(action); \ + } while (0) + +#else + +#define JTEST_ACT_DUMP(action, buf_name, value) \ + do \ + { \ + JTEST_CLEAR_BUFFER(buf_name); \ + strcpy(JTEST_FW.buf_name, (value)); \ + JTEST_TRIGGER_ACTION(action); \ + } while (0) + +#endif +/** + * Trigger the "Exit Framework" action in the Keil Debugger. + */ +#define JTEST_ACT_EXIT_FW() \ + do \ + { \ + JTEST_TRIGGER_ACTION(exit_fw); \ + } while (0) + + +/* Buffer Manipulation Macros */ +/*--------------------------------------------------------------------------------*/ + +/** + * Clear the JTEST_FW buffer with name buf_name. + */ +#define JTEST_CLEAR_BUFFER(buf_name) \ + do \ + { \ + memset(JTEST_FW.buf_name, 0, JTEST_BUF_SIZE); \ + } while (0) + +/** + * Clear the memory needed for the JTEST_FW's string buffer. + */ +#define JTEST_CLEAR_STR_BUFFER() \ + JTEST_CLEAR_BUFFER(str_buffer) + +/** + * Clear the memory needed for the JTEST_FW's data buffer. + */ +#define JTEST_CLEAR_DATA_BUFFER() \ + JTEST_CLEAR_BUFFER(data_buffer) + +/** + * Dump the given string to the Keil Debugger. + */ +#define JTEST_DUMP_STR(string) \ + JTEST_ACT_DUMP(dump_str, str_buffer, string) + +/** + * Dump a formatted string to the Keil Debugger. + */ +#if defined(ARMv7A) || defined(FILEIO) + +#define JTEST_DUMP_STRF(format_str, ... ) \ + do \ + { \ + JTEST_CLEAR_STR_BUFFER(); \ + sprintf(JTEST_FW.str_buffer,format_str, __VA_ARGS__); \ + printf("%s",JTEST_FW.str_buffer); \ + jtest_dump_str_segments(); \ + } while (0) + +#else + +#define JTEST_DUMP_STRF(format_str, ... ) \ + do \ + { \ + JTEST_CLEAR_STR_BUFFER(); \ + sprintf(JTEST_FW.str_buffer,format_str, __VA_ARGS__); \ + jtest_dump_str_segments(); \ + } while (0) + +#endif + +/* Pass/Fail Macros */ +/*--------------------------------------------------------------------------------*/ + +/** + * Increment the number of passed tests in #JTEST_FW. + */ +#define JTEST_FW_INC_PASSED(amount) \ + JTEST_PF_INC_PASSED(&JTEST_FW, amount) + +/** + * Increment the number of passed tests in #JTEST_FW. + */ +#define JTEST_FW_INC_FAILED(amount) \ + JTEST_PF_INC_FAILED(&JTEST_FW, amount) + +/* Manipulating the Current Group */ +/*--------------------------------------------------------------------------------*/ + +/** + * Evaluate to the current_group_ptr in #JTEST_FW. + */ +#define JTEST_CURRENT_GROUP_PTR() \ + (JTEST_FW.current_group_ptr) + +#define JTEST_SET_CURRENT_GROUP(group_ptr) \ + do \ + { \ + JTEST_CURRENT_GROUP_PTR() = group_ptr; \ + } while (0) + +/*--------------------------------------------------------------------------------*/ +/* Declare Global Variables */ +/*--------------------------------------------------------------------------------*/ +extern char JTEST_FW_STR_BUFFER[JTEST_BUF_SIZE]; +extern volatile JTEST_FW_t JTEST_FW; + +/*--------------------------------------------------------------------------------*/ +/* Function Prototypes */ +/*--------------------------------------------------------------------------------*/ +void jtest_dump_str_segments(void); + +void test_start (void); +void test_end (void); +void group_start (void); +void group_end (void); +void dump_str (void); +void dump_data (void); +void exit_fw (void); + + +#endif /* _JTEST_FW_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group.h new file mode 100644 index 0000000..de47920 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group.h @@ -0,0 +1,66 @@ +#ifndef _JTEST_GROUP_H_ +#define _JTEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_pf.h" +#include "jtest_util.h" + +/*--------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * A struct which represents a group of #JTEST_TEST_t structs. This struct is + * used to run the group of tests, and report on their outcomes. + */ +typedef struct JTEST_GROUP_struct +{ + void (* group_fn_ptr) (void); /**< Pointer to the test group */ + char * name_str; /**< Name of the group */ + + /* Extend the #JTEST_GROUP_t with Pass/Fail information.*/ + JTEST_PF_MEMBERS; +} JTEST_GROUP_t; + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Set the name of JTEST_GROUP_t. + */ +#define JTEST_GROUP_SET_NAME(group_ptr, name) \ + JTEST_SET_STRUCT_ATTRIBUTE(group_ptr, name_str, name) + +#define JTEST_GROUP_SET_FN(group_ptr, fn_ptr) \ + JTEST_SET_STRUCT_ATTRIBUTE(group_ptr, group_fn_ptr, fn_ptr) + +/** + * Increment the number of tests passed in the JTEST_GROUP_t pointed to by + * group_ptr. + */ +#define JTEST_GROUP_INC_PASSED(group_ptr, amount) \ + JTEST_PF_INC_PASSED(group_ptr, amount) + +/** + * Increment the number of tests failed in the JTEST_GROUP_t pointed to by + * group_ptr. + */ +#define JTEST_GROUP_INC_FAILED(group_ptr, amount) \ + JTEST_PF_INC_FAILED(group_ptr, amount) + +/** + * Reset the pass/fail information of the #JTEST_GROUP_t pointed to by + * group_ptr. + */ +#define JTEST_GROUP_RESET_PF(group_ptr) \ + do \ + { \ + JTEST_PF_RESET_PASSED(group_ptr); \ + JTEST_PF_RESET_FAILED(group_ptr); \ + } while (0) + +#endif /* _JTEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_call.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_call.h new file mode 100644 index 0000000..6b60958 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_call.h @@ -0,0 +1,126 @@ +#ifndef _JTEST_GROUP_CALL_H_ +#define _JTEST_GROUP_CALL_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_fw.h" +#include + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Execute the test in the #JTEST_GROUP_t struct associated witht he identifier + * group_fn. + */ +#define JTEST_GROUP_RUN(group_fn) \ + do \ + { \ + JTEST_DUMP_STR("Group Name:\n"); \ + JTEST_DUMP_STR(JTEST_GROUP_STRUCT_NAME(group_fn).name_str); \ + JTEST_GROUP_STRUCT_NAME(group_fn).group_fn_ptr(); \ + } while (0) + + +/** + * Update the enclosing #JTEST_GROUP_t's pass/fail information using the + * current #JTEST_GROUP_t's. + * + * @param group_ptr Pointer to the current #JTEST_GROUP_t. + * @param parent_ptr Pointer to the enclosing #JTEST_GROUP_t. + * + * @warning Only run this if the current #JTEST_GROUP_t is being called within + * the context of another #JTEST_GROUP_t. + */ +#define JTEST_GROUP_UPDATE_PARENT_GROUP_PF(group_ptr, parent_group_ptr) \ + do \ + { \ + JTEST_GROUP_INC_PASSED(parent_group_ptr, \ + (group_ptr)->passed); \ + JTEST_GROUP_INC_FAILED(parent_group_ptr, \ + (group_ptr)->failed); \ + } while (0) + +/** + * Update the #JTEST_FW's pass/fail information using the current + * #JTEST_GROUP_t's. + */ +#define JTEST_GROUP_UPDATE_FW_PF(group_ptr) \ + do \ + { \ + JTEST_FW_INC_PASSED((group_ptr)->passed); \ + JTEST_FW_INC_FAILED((group_ptr)->failed); \ + } while (0) + +/** + * Update the enclosing context with the current #JTEST_GROUP_t's pass/fail + * information. If this group isn't in an enclosing group, it updates the + * #JTEST_FW's pass/fail info by default. + */ +#define JTEST_GROUP_UPDATE_PARENT_GROUP_OR_FW_PF(group_ptr, \ + parent_group_ptr) \ + do \ + { \ + /* Update the pass fail counts in the parent group */ \ + if (parent_group_ptr /* Null implies Top*/) \ + { \ + JTEST_GROUP_UPDATE_PARENT_GROUP_PF( \ + group_ptr, \ + parent_group_ptr); \ + } else { \ + JTEST_GROUP_UPDATE_FW_PF( \ + group_ptr); \ + } \ + } while (0) + +/** + * Dump the results of running the #JTEST_GROUP_t to the Keil Debugger. + */ +#define JTEST_GROUP_DUMP_RESULTS(group_ptr) \ + do \ + { \ + JTEST_DUMP_STRF( \ + "Tests Run: %" PRIu32 "\n" \ + "----------\n" \ + " Passed: %" PRIu32 "\n" \ + " Failed: %" PRIu32 "\n", \ + (group_ptr)->passed + (group_ptr)->failed, \ + (group_ptr)->passed, \ + (group_ptr)->failed); \ + } while (0) + +/** + * Call the #JTEST_GROUP_t associated with the identifier group_fn. + */ +#define JTEST_GROUP_CALL(group_fn) \ + do \ + { /* Save the current group from JTEST_FW_t before swapping */ \ + /* it to this group (in order to restore it later )*/ \ + JTEST_GROUP_t * __jtest_temp_group_ptr = \ + JTEST_CURRENT_GROUP_PTR(); \ + JTEST_SET_CURRENT_GROUP(&JTEST_GROUP_STRUCT_NAME(group_fn)); \ + \ + /* Reset this group's pass/fail count. Each group */ \ + /* should only remember counts for its last execution. */ \ + JTEST_GROUP_RESET_PF(JTEST_CURRENT_GROUP_PTR()); \ + \ + /* Run the current group */ \ + JTEST_ACT_GROUP_START(); \ + JTEST_GROUP_RUN(group_fn); \ + JTEST_ACT_GROUP_END(); \ + \ + /* Update the pass fail counts in the parent group (or FW) */ \ + JTEST_GROUP_UPDATE_PARENT_GROUP_OR_FW_PF( \ + JTEST_CURRENT_GROUP_PTR(), \ + __jtest_temp_group_ptr); \ + \ + JTEST_GROUP_DUMP_RESULTS(JTEST_CURRENT_GROUP_PTR()); \ + \ + /* Restore the previously current group */ \ + JTEST_SET_CURRENT_GROUP(__jtest_temp_group_ptr); \ + } while (0) + +#endif /* _JTEST_GROUP_CALL_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_define.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_define.h new file mode 100644 index 0000000..673a287 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_define.h @@ -0,0 +1,87 @@ +#ifndef _JTEST_GROUP_DEFINE_H_ +#define _JTEST_GROUP_DEFINE_H_ + + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_util.h" +#include "jtest_define.h" +#include "jtest_group.h" + +/* For defining macros with optional arguments */ +#include "opt_arg/opt_arg.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Prefix for all #JTEST_GROUP_t structs. + */ +#define JTEST_GROUP_STRUCT_NAME_PREFIX G_JTEST_GROUP_STRUCT_ + +/** + * Define test template used by #JTEST_GROUP_t tests. + */ +#define JTEST_GROUP_FN_TEMPLATE(group_fn) \ + void group_fn(void) + +#define JTEST_GROUP_FN_PROTOTYPE JTEST_GROUP_FN_TEMPLATE /**< Alias for + #JTEST_GROUP_FN_TEMPLATE. */ + +/** + * Evaluate to the name of the #JTEST_GROUP_t struct associated with group_fn. + */ +#define JTEST_GROUP_STRUCT_NAME(group_fn) \ + JTEST_STRUCT_NAME(JTEST_GROUP_STRUCT_NAME_PREFIX, group_fn) + +/** + * Define a #JTEST_GROUP_t struct based on the given group_fn. + */ +#define JTEST_GROUP_DEFINE_STRUCT(group_fn) \ + JTEST_DEFINE_STRUCT(JTEST_GROUP_t, \ + JTEST_GROUP_STRUCT_NAME(group_fn)) + +/** + * Declare a #JTEST_GROUP_t struct based on the given group_fn. + */ +#define JTEST_GROUP_DECLARE_STRUCT(group_fn) \ + JTEST_DECLARE_STRUCT(JTEST_GROUP_DEFINE_STRUCT(group_fn)) + +/** + * Contents needed to initialize a JTEST_GROUP_t struct. + */ +#define JTEST_GROUP_STRUCT_INIT(group_fn) \ + group_fn, \ + STR_NL(group_fn), \ + JTEST_PF_MEMBER_INIT + +/** + * Initialize the contents of a #JTEST_GROUP_t struct. + */ +#define JTEST_GROUP_INIT(group_fn) \ + JTEST_GROUP_DEFINE_STRUCT(group_fn) = { \ + JTEST_GROUP_STRUCT_INIT(group_fn) \ + } + +/* Test Definition Macro */ +/*--------------------------------------------------------------------------------*/ + +/** + * Define a #JTEST_GROUP_t object and a test function. + */ +#define JTEST_DEFINE_GROUP(group_fn) \ + JTEST_GROUP_FN_PROTOTYPE(group_fn); \ + JTEST_GROUP_INIT(group_fn); \ + JTEST_GROUP_FN_PROTOTYPE(group_fn) /* Notice the lacking semicolon */ + +/** + * Declare a #JTEST_GROUP_t object and a test function prototype. + */ +#define JTEST_DECLARE_GROUP(group_fn) \ + JTEST_GROUP_FN_PROTOTYPE(group_fn); \ + JTEST_GROUP_DECLARE_STRUCT(group_fn) /* Note the lacking semicolon */ + +#endif /* _JTEST_GROUP_DEFINE_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_pf.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_pf.h new file mode 100644 index 0000000..6e55d40 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_pf.h @@ -0,0 +1,85 @@ +#ifndef _JTEST_PF_H_ +#define _JTEST_PF_H_ + +/*--------------------------------------------------------------------------------*/ +/* Purpose */ +/*--------------------------------------------------------------------------------*/ +/* jtest_pf.h Contains macros useful for capturing pass/fail data. */ + + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Members that can be added to other structs to extend them pass/fail data and + * corresponding functionality. + */ +#define JTEST_PF_MEMBERS \ + uint32_t passed; \ + uint32_t failed /* Note the lacking semicolon*/ \ + +/** + * Used for initializing JTEST_PF_MEMBERS in a struct declaration. + */ +#define JTEST_PF_MEMBER_INIT \ + 0, \ + 0 + +/* Member-Incrementing Macros */ +/*--------------------------------------------------------------------------------*/ + +/** + * Dispatch macro for incrementing #JTEST_PF_MEMBERS. + * + * @param xxx Values: 'passed', 'failed' + */ +#define JTEST_PF_INC_XXX(xxx, struct_pf_ptr, amount) \ + do \ + { \ + ((struct_pf_ptr)->xxx) += (amount); \ + } while (0) + +/** + * Specialization of the #JTEST_PF_INC_XXX macro to increment the passed + * member. + */ +#define JTEST_PF_INC_PASSED(struct_pf_ptr, amount) \ + JTEST_PF_INC_XXX(passed, struct_pf_ptr, amount) + + +/** + * Specialization of the #JTEST_PF_INC_XXX macro to increment the failed + * member. + */ +#define JTEST_PF_INC_FAILED(struct_pf_ptr, amount) \ + JTEST_PF_INC_XXX(failed, struct_pf_ptr, amount) + + +/* Member-Resetting Macros */ +/*--------------------------------------------------------------------------------*/ + +/** + * Dispatch macro for setting #JTEST_PF_MEMBERS to zero. + * + * @param xxx Values: 'passed', 'failed' + */ +#define JTEST_PF_RESET_XXX(xxx, struct_pf_ptr) \ + do \ + { \ + ((struct_pf_ptr)->xxx) = UINT32_C(0); \ + } while (0) + +/** + * Specialization of #JTEST_PF_RESET_XXX for the 'passed' member. + */ +#define JTEST_PF_RESET_PASSED(struct_pf_ptr) \ + JTEST_PF_RESET_XXX(passed, struct_pf_ptr) + +/** + * Specialization of #JTEST_PF_RESET_XXX for the 'failed' member. + */ +#define JTEST_PF_RESET_FAILED(struct_pf_ptr) \ + JTEST_PF_RESET_XXX(failed, struct_pf_ptr) + +#endif /* _JTEST_PF_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_systick.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_systick.h new file mode 100644 index 0000000..afb6e05 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_systick.h @@ -0,0 +1,94 @@ +#ifndef _JTEST_SYSTICK_H_ +#define _JTEST_SYSTICK_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +/* Get access to the SysTick structure. */ +#if defined ARMCM0 + #include "ARMCM0.h" +#elif defined ARMCM0P + #include "ARMCM0plus.h" +#elif defined ARMCM0P_MPU + #include "ARMCM0plus_MPU.h" +#elif defined ARMCM3 + #include "ARMCM3.h" +#elif defined ARMCM4 + #include "ARMCM4.h" +#elif defined ARMCM4_FP + #include "ARMCM4_FP.h" +#elif defined ARMCM7 + #include "ARMCM7.h" +#elif defined ARMCM7_SP + #include "ARMCM7_SP.h" +#elif defined ARMCM7_DP + #include "ARMCM7_DP.h" +#elif defined ARMSC000 + #include "ARMSC000.h" +#elif defined ARMSC300 + #include "ARMSC300.h" +#elif defined ARMv8MBL + #include "ARMv8MBL.h" +#elif defined ARMv8MML + #include "ARMv8MML.h" +#elif defined ARMv8MML_DSP + #include "ARMv8MML_DSP.h" +#elif defined ARMv8MML_SP + #include "ARMv8MML_SP.h" +#elif defined ARMv8MML_DSP_SP + #include "ARMv8MML_DSP_SP.h" +#elif defined ARMv8MML_DP + #include "ARMv8MML_DP.h" +#elif defined ARMv8MML_DSP_DP + #include "ARMv8MML_DSP_DP.h" +#elif defined ARMv7A + /* TODO */ +#else + #warning "no appropriate header file found!" +#endif + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Initial value for the SysTick module. + * + * This is also the maximum value, important as SysTick is a decrementing counter. + */ +#define JTEST_SYSTICK_INITIAL_VALUE 0xFFFFFF + +/** + * Reset the SysTick, decrementing timer to it's maximum value and disable it. + * + * This macro should leave the SysTick timer in a state that's ready for cycle + * counting. + */ +#define JTEST_SYSTICK_RESET(systick_ptr) \ + do \ + { \ + (systick_ptr)->CTRL = SysTick_CTRL_CLKSOURCE_Msk; \ + \ + (systick_ptr)->LOAD = JTEST_SYSTICK_INITIAL_VALUE; \ + (systick_ptr)->VAL = JTEST_SYSTICK_INITIAL_VALUE; \ + } while (0) + +/** + * Start the SysTick timer, sourced by the processor clock. + */ +#define JTEST_SYSTICK_START(systick_ptr) \ + do \ + { \ + (systick_ptr)->CTRL = \ + SysTick_CTRL_ENABLE_Msk | \ + SysTick_CTRL_CLKSOURCE_Msk; \ + } while (0) + +/** + * Evaluate to the current value of the SysTick timer. + */ +#define JTEST_SYSTICK_VALUE(systick_ptr) \ + ((systick_ptr)->VAL) + +#endif /* _JTEST_SYSTICK_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test.h new file mode 100644 index 0000000..397c562 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test.h @@ -0,0 +1,100 @@ +#ifndef _JTEST_TEST_H_ +#define _JTEST_TEST_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include +#include "jtest_util.h" +#include "jtest_test_ret.h" + +/*--------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * A struct which represents a Test in the JTEST framework. This struct is + * used to enable, run, and describe the test it represents. + */ +typedef struct JTEST_TEST_struct +{ + JTEST_TEST_RET_t ( * test_fn_ptr)(void); /**< Pointer to the test function. */ + char * test_fn_str; /**< Name of the test function */ + char * fut_str; /**< Name of the function under test. */ + + /** + * Flags that govern how the #JTEST_TEST_t behaves. + */ + union { + struct { + unsigned enabled : 1; + unsigned unused : 7; + } bits; + uint8_t byte; /* Access all flags at once. */ + } flags; + +} JTEST_TEST_t; + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Assign a test function to the #JTEST_TEST_t struct. + */ +#define JTEST_TEST_SET_FN(jtest_test_ptr, fn_ptr) \ + JTEST_SET_STRUCT_ATTRIBUTE(jtest_test_ptr, test_fn_ptr, fn_ptr) + +/** + * Specify a function under test (FUT) for the #JTEST_TEST_t struct. + */ +#define JTEST_TEST_SET_FUT(jtest_test_ptr, str) \ + JTEST_SET_STRUCT_ATTRIBUTE(jtest_test_ptr, fut_str, str) + +/* Macros concerning JTEST_TEST_t flags */ +/*--------------------------------------------------------------------------------*/ + +#define JTEST_TEST_FLAG_SET 1 /**< Value of a set #JTEST_TEST_t flag. */ +#define JTEST_TEST_FLAG_CLR 0 /**< Value of a cleared #JTEST_TEST_t flag. */ + +/** + * Evaluate to the flag in #JTEST_TEST_t having flag_name. + */ +#define JTEST_TEST_FLAG(jtest_test_ptr, flag_name) \ + ((jtest_test_ptr)->flags.bits.flag_name) + +/** + * Dispatch macro for setting and clearing #JTEST_TEST_t flags. + * + * @param jtest_test_ptr Pointer to a #JTEST_TEST_t struct. + * @param flag_name Name of the flag to set in #JTEST_TEST_t.flags.bits + * @param xxx Vaid values: "SET" or "CLR" + * + * @note This function depends on JTEST_TEST_FLAG_SET and JTEST_TEST_FLAG_CLR. + */ +#define JTEST_TEST_XXX_FLAG(jtest_test_ptr, flag_name, xxx) \ + do \ + { \ + JTEST_TEST_FLAG(jtest_test_ptr, flag_name) = JTEST_TEST_FLAG_##xxx ; \ + } while (0) + +/** + * Specification of #JTEST_TEST_XXX_FLAG to set #JTEST_TEST_t flags. + */ +#define JTEST_TEST_SET_FLAG(jtest_test_ptr, flag_name) \ + JTEST_TEST_XXX_FLAG(jtest_test_ptr, flag_name, SET) + +/** + * Specification of #JTEST_TEST_XXX_FLAG to clear #JTEST_TEST_t flags. + */ +#define JTEST_TEST_CLR_FLAG(jtest_test_ptr, flag_name) \ + JTEST_TEST_XXX_FLAG(jtest_test_ptr, flag_name, CLR) + +/** + * Evaluate to true if the #JTEST_TEST_t is enabled. + */ +#define JTEST_TEST_IS_ENABLED(jtest_test_ptr) \ + (JTEST_TEST_FLAG(jtest_test_ptr, enabled) == JTEST_TEST_FLAG_SET) + +#endif /* _JTEST_TEST_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_call.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_call.h new file mode 100644 index 0000000..2040370 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_call.h @@ -0,0 +1,121 @@ +#ifndef _JTEST_TEST_CALL_H_ +#define _JTEST_TEST_CALL_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ +#include "jtest_test.h" +#include "jtest_test_define.h" +#include "jtest_fw.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Exectute the test in the #JTEST_TEST_t struct associated with the identifier + * test_fn and store the result in retval. + */ +#define JTEST_TEST_RUN(retval, test_fn) \ + do \ + { \ + JTEST_DUMP_STR("Test Name:\n"); \ + JTEST_DUMP_STR(JTEST_TEST_STRUCT_NAME(test_fn).test_fn_str); \ + JTEST_DUMP_STR("Function Under Test:\n"); \ + JTEST_DUMP_STR(JTEST_TEST_STRUCT_NAME(test_fn).fut_str); \ + retval = JTEST_TEST_STRUCT_NAME(test_fn).test_fn_ptr(); \ + } while (0) + +/** + * Update the enclosing #JTEST_GROUP_t's pass/fail information based on + * test_retval. + * + * @param test_retval A #JTEST_TEST_RET_enum for the current test. + * + * @warning Only use if #JTEST_TEST_t is called in the context of a + * #JTEST_GROUP_t. + */ +#define JTEST_TEST_UPDATE_PARENT_GROUP_PF(test_retval) \ + do \ + { \ + /* Update enclosing JTEST_GROUP_t with pass/fail info */ \ + if (test_retval == JTEST_TEST_PASSED) \ + { \ + JTEST_GROUP_INC_PASSED(JTEST_CURRENT_GROUP_PTR(), 1); \ + } else { \ + JTEST_GROUP_INC_FAILED(JTEST_CURRENT_GROUP_PTR(), 1); \ + } \ + } while (0) + +/** + * Update the #JTEST_FW with pass/fail information based on test_retval. + * + * @param test_retval A #JTEST_TEST_RET_enum for the current test. + */ +#define JTEST_TEST_UPDATE_FW_PF(test_retval) \ + do \ + { \ + /* Update the JTEST_FW with pass/fail info */ \ + if (test_retval == JTEST_TEST_PASSED) \ + { \ + JTEST_FW_INC_PASSED( 1); \ + } else { \ + JTEST_FW_INC_FAILED(1); \ + } \ + } while (0) + +/** + * Update the enclosing JTEST_GROUP_t's pass/fail information, or the + * #JTEST_FW's if this test has no enclosing #JTEST_GROUP_t. + * + * @param test_retval A #JTEST_TEST_RET_enum for the current test. + */ +#define JTEST_TEST_UPDATE_PARENT_GROUP_OR_FW_PF(test_retval) \ + do \ + { \ + /* Update pass-fail information */ \ + if (JTEST_CURRENT_GROUP_PTR() /* Non-null */) \ + { \ + JTEST_TEST_UPDATE_PARENT_GROUP_PF(test_retval); \ + } else { \ + JTEST_TEST_UPDATE_FW_PF(test_retval); \ + } \ + } while (0) + +/** + * Dump the results of the test to the Keil Debugger. + */ +#define JTEST_TEST_DUMP_RESULTS(test_retval) \ + do \ + { \ + if (test_retval == JTEST_TEST_PASSED) \ + { \ + JTEST_DUMP_STR("Test Passed\n"); \ + } else { \ + JTEST_DUMP_STR("Test Failed\n"); \ + } \ + } while (0) + +/** + * Call the #JTEST_TEST_t assocaited with the identifier test_fn. + */ +#define JTEST_TEST_CALL(test_fn) \ + do \ + { \ + if (JTEST_TEST_IS_ENABLED(&JTEST_TEST_STRUCT_NAME(test_fn))) \ + { \ + /* Default to failure */ \ + JTEST_TEST_RET_t __jtest_test_ret = JTEST_TEST_FAILED; \ + \ + JTEST_ACT_TEST_START(); \ + JTEST_TEST_RUN(__jtest_test_ret, test_fn); \ + \ + /* Update pass-fail information */ \ + JTEST_TEST_UPDATE_PARENT_GROUP_OR_FW_PF(__jtest_test_ret); \ + \ + JTEST_TEST_DUMP_RESULTS(__jtest_test_ret); \ + JTEST_ACT_TEST_END(); \ + } \ + } while (0) + +#endif /* _JTEST_TEST_CALL_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_define.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_define.h new file mode 100644 index 0000000..de30251 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_define.h @@ -0,0 +1,133 @@ +#ifndef _JTEST_TEST_DEFINE_H_ +#define _JTEST_TEST_DEFINE_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "jtest_util.h" +#include "jtest_define.h" +#include "jtest_test.h" + +/* For defining macros with optional arguments */ +#include "opt_arg/opt_arg.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Prefix for all #JTEST_TEST_t structs. + */ +#define JTEST_TEST_STRUCT_NAME_PREFIX G_JTEST_TEST_STRUCT_ + +/** + * Define test template used by #JTEST_TEST_t tests. + */ +#define JTEST_TEST_FN_TEMPLATE(test_fn) \ + JTEST_TEST_RET_t test_fn(void) + +#define JTEST_TEST_FN_PROTOTYPE JTEST_TEST_FN_TEMPLATE /**< Alias for + * #JTEST_TEST_FN_TEMPLATE. */ + +/** + * Evaluate to the name of the #JTEST_TEST_t struct associated with test_fn. + */ +#define JTEST_TEST_STRUCT_NAME(test_fn) \ + JTEST_STRUCT_NAME(JTEST_TEST_STRUCT_NAME_PREFIX, test_fn) + +/** + * Define a #JTEST_TEST_t struct based on the given test_fn. + */ +#define JTEST_TEST_DEFINE_STRUCT(test_fn) \ + JTEST_DEFINE_STRUCT(JTEST_TEST_t, \ + JTEST_TEST_STRUCT_NAME(test_fn)) + +/** + * Declare a #JTEST_TEST_t struct based on the given test_fn. + */ +#define JTEST_TEST_DECLARE_STRUCT(test_fn) \ + JTEST_DECLARE_STRUCT(JTEST_TEST_DEFINE_STRUCT(test_fn)) + +/** + * Contents needed to initialize a JTEST_TEST_t struct. + */ +#define JTEST_TEST_STRUCT_INIT(test_fn, fut, enable) \ + test_fn, \ + STR_NL(test_fn), \ + STR_NL(fut), \ + { \ + { \ + enable, \ + 0 \ + } \ + } \ + + +/** + * Initialize the contents of a #JTEST_TEST_t struct. + */ +#define JTEST_TEST_INIT(test_fn, fut, enable) \ + JTEST_TEST_DEFINE_STRUCT(test_fn) = { \ + JTEST_TEST_STRUCT_INIT(test_fn, fut, enable) \ + } + +/* Test Definition Macro */ +/*--------------------------------------------------------------------------------*/ + +/** + * Define a #JTEST_TEST_t object and a test function. + */ +#define _JTEST_DEFINE_TEST(test_fn, fut, enable) \ + JTEST_TEST_FN_PROTOTYPE(test_fn); \ + JTEST_TEST_INIT(test_fn, fut, enable); \ + JTEST_TEST_FN_PROTOTYPE(test_fn) /* Notice the lacking semicolon */ + +/** + * Declare a #JTEST_TEST_t object and a test function prototype. + */ +#define JTEST_DECLARE_TEST(test_fn) \ + JTEST_TEST_FN_PROTOTYPE(test_fn); \ + JTEST_TEST_DECLARE_STRUCT(test_fn) /* Note the lacking semicolon */ + +/*--------------------------------------------------------------------------------*/ +/* Macros with optional arguments */ +/*--------------------------------------------------------------------------------*/ + +/* Top-level Interface */ +#define JTEST_DEFINE_TEST(...) \ + JTEST_DEFINE_TEST_(PP_NARG(__VA_ARGS__), ##__VA_ARGS__) + +/* Dispatch Macro*/ +#define JTEST_DEFINE_TEST_(N, ...) \ + SPLICE(JTEST_DEFINE_TEST_, N)(__VA_ARGS__) + +/* Default Arguments */ +#define JTEST_DEFINE_TEST_DEFAULT_FUT /* Blank */ +#define JTEST_DEFINE_TEST_DEFAULT_ENABLE \ + JTEST_TRUE /* Tests enabled by + * default. */ + +/* Dispatch Cases*/ +#define JTEST_DEFINE_TEST_1(_1) \ + _JTEST_DEFINE_TEST( \ + _1, \ + JTEST_DEFINE_TEST_DEFAULT_FUT, \ + JTEST_DEFINE_TEST_DEFAULT_ENABLE \ + ) + +#define JTEST_DEFINE_TEST_2(_1, _2) \ + _JTEST_DEFINE_TEST( \ + _1, \ + _2, \ + JTEST_DEFINE_TEST_DEFAULT_ENABLE \ + ) + +#define JTEST_DEFINE_TEST_3(_1, _2, _3) \ + _JTEST_DEFINE_TEST( \ + _1, \ + _2, \ + _3 \ + ) + +#endif /* _JTEST_TEST_DEFINE_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_ret.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_ret.h new file mode 100644 index 0000000..e8d80f3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_ret.h @@ -0,0 +1,17 @@ +#ifndef _JTEST_TEST_RET_H_ +#define _JTEST_TEST_RET_H_ + +/*--------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * Values a #JTEST_TEST_t can return. + */ +typedef enum JTEST_TEST_RET_enum +{ + JTEST_TEST_PASSED, + JTEST_TEST_FAILED +} JTEST_TEST_RET_t; + +#endif /* _JTEST_TEST_RET_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_util.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_util.h new file mode 100644 index 0000000..3dec6ea --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_util.h @@ -0,0 +1,27 @@ +#ifndef _JTEST_UTIL_H_ +#define _JTEST_UTIL_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "util/util.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/* Define boolean values for the framework. */ +#define JTEST_TRUE 1 /**< Value used for TRUE in JTEST. */ +#define JTEST_FALSE 0 /**< Value used for FALSE in JTEST. */ + +/** + * Set the value of the attribute in the struct to by struct_ptr to value. + */ +#define JTEST_SET_STRUCT_ATTRIBUTE(struct_ptr, attribute, value) \ + do \ + { \ + (struct_ptr)->attribute = (value); \ + } while (0) + +#endif /* _JTEST_UTIL_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/opt_arg.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/opt_arg.h new file mode 100644 index 0000000..94bf0e0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/opt_arg.h @@ -0,0 +1,15 @@ +#ifndef _OPT_ARG_H_ +#define _OPT_ARG_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "pp_narg.h" +#include "splice.h" + +/* If you are Joseph Jaoudi, you have a snippet which expands into an + example. If you are not Joseph, but possess his code, study the examples. If + you have no examples, turn back contact Joseph. */ + +#endif /* _OPT_ARG_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/pp_narg.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/pp_narg.h new file mode 100644 index 0000000..48103c4 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/pp_narg.h @@ -0,0 +1,25 @@ +#ifndef _PP_NARG_H_ +#define _PP_NARG_H_ + +#define PP_NARG(...) \ + PP_NARG_(__VA_ARGS__,PP_RSEQ_N()) +#define PP_NARG_(...) \ + PP_ARG_N(__VA_ARGS__) +#define PP_ARG_N( \ + _1, _2, _3, _4, _5, _6, _7, _8, _9,_10, \ + _11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \ + _21,_22,_23,_24,_25,_26,_27,_28,_29,_30, \ + _31,_32,_33,_34,_35,_36,_37,_38,_39,_40, \ + _41,_42,_43,_44,_45,_46,_47,_48,_49,_50, \ + _51,_52,_53,_54,_55,_56,_57,_58,_59,_60, \ + _61,_62,_63,N,...) N +#define PP_RSEQ_N() \ + 63,62,61,60, \ + 59,58,57,56,55,54,53,52,51,50, \ + 49,48,47,46,45,44,43,42,41,40, \ + 39,38,37,36,35,34,33,32,31,30, \ + 29,28,27,26,25,24,23,22,21,20, \ + 19,18,17,16,15,14,13,12,11,10, \ + 9,8,7,6,5,4,3,2,1,0 + +#endif /* _PP_NARG_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/splice.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/splice.h new file mode 100644 index 0000000..e312420 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/splice.h @@ -0,0 +1,8 @@ +#ifndef _SPLICE_H_ +#define _SPLICE_H_ + +#define SPLICE(a,b) SPLICE_1(a,b) +#define SPLICE_1(a,b) SPLICE_2(a,b) +#define SPLICE_2(a,b) a##b + +#endif /* _SPLICE_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/util/util.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/util/util.h new file mode 100644 index 0000000..4a7ca9c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/util/util.h @@ -0,0 +1,52 @@ +#ifndef _UTIL_H_ +#define _UTIL_H_ + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Convert a symbol to a string and add a 'NewLine'. + */ +#define STR_NL(x) STR1_NL(x) +#define STR1_NL(x) (STR2_NL(x)"\n") +#define STR2_NL(x) #x + +/** + * Convert a symbol to a string. + */ +#define STR(x) STR1(x) +#define STR1(x) STR2(x) +#define STR2(x) #x + +/** + * Concatenate two symbols. + */ +#define CONCAT(a, b) CONCAT1(a, b) +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a##b + + +/** + * Place curly braces around a varaible number of macro arguments. + */ +#define CURLY(...) {__VA_ARGS__} + +/** + * Place parenthesis around a variable number of macro arguments. + */ +#define PAREN(...) (__VA_ARGS__) + +/* Standard min/max macros. */ +#define MIN(x,y) (((x) < (y)) ? (x) : (y) ) +#define MAX(x,y) (((x) > (y)) ? (x) : (y) ) + +/** + * Bound value using low and high limits. + * + * Evaluate to a number in the range, endpoint inclusive. + */ +#define BOUND(low, high, value) \ + MAX(MIN(high, value), low) + +#endif /* _UTIL_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_cycle.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_cycle.c new file mode 100644 index 0000000..d58518b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_cycle.c @@ -0,0 +1,9 @@ +#include "../inc/jtest_cycle.h" +#include + +/*--------------------------------------------------------------------------------*/ +/* Define Module Variables */ +/*--------------------------------------------------------------------------------*/ + +/* const char * JTEST_CYCLE_STRF = "Running: %s\nCycles: %" PRIu32 "\n"; */ +const char * JTEST_CYCLE_STRF = "Cycles: %" PRIu32 "\n"; /* function name + parameter string skipped */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_dump_str_segments.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_dump_str_segments.c new file mode 100644 index 0000000..b546746 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_dump_str_segments.c @@ -0,0 +1,36 @@ +#include "jtest_fw.h" + +/** + * Dump the JTEST_FW.str_buffer the Keil framework in pieces. + * + * The JTEST_FW.str_buffer contains more characters than the Keil framework can + * dump at once. This function dumps them in blocks. + */ +void jtest_dump_str_segments(void) +{ + uint32_t seg_idx = 0; + uint32_t memmove_idx = 0; + uint32_t seg_cnt = + (strlen(JTEST_FW.str_buffer) / JTEST_STR_MAX_OUTPUT_SIZE) + 1; + + for( seg_idx = 0; seg_idx < seg_cnt; ++seg_idx) + { + JTEST_TRIGGER_ACTION(dump_str); + + if (seg_idx < JTEST_STR_MAX_OUTPUT_SEGMENTS) + { + memmove_idx = 0; + while (memmove_idx < (seg_cnt - seg_idx -1) ) + { + memmove( + JTEST_FW.str_buffer+ + (memmove_idx* JTEST_STR_MAX_OUTPUT_SIZE), + JTEST_FW.str_buffer+ + ((memmove_idx+1)*JTEST_STR_MAX_OUTPUT_SIZE), + JTEST_BUF_SIZE); + ++memmove_idx; + } + } + } + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_fw.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_fw.c new file mode 100644 index 0000000..9d4a583 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_fw.c @@ -0,0 +1,9 @@ +#include "../inc/jtest.h" + +/*--------------------------------------------------------------------------------*/ +/* Define Global Variables */ +/*--------------------------------------------------------------------------------*/ + +char JTEST_FW_STR_BUFFER[JTEST_BUF_SIZE] = {0}; + +volatile JTEST_FW_t JTEST_FW = {0}; diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_trigger_action.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_trigger_action.c new file mode 100644 index 0000000..ca9e43c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/src/jtest_trigger_action.c @@ -0,0 +1,37 @@ + +#include "jtest_fw.h" + +void test_start (void) { +// ; + JTEST_FW.test_start++; +} + +void test_end (void) { +// ; + JTEST_FW.test_end++; +} + +void group_start (void) { +// ; + JTEST_FW.group_start++; +} + +void group_end (void) { +// ; + JTEST_FW.group_end++; +} + +void dump_str (void) { +// ; + JTEST_FW.dump_str++; +} + +void dump_data (void) { +// ; + JTEST_FW.dump_data++; +} + +void exit_fw (void) { +// ; + JTEST_FW.exit_fw++; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/all_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/all_tests.h new file mode 100644 index 0000000..4b2b935 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/all_tests.h @@ -0,0 +1,9 @@ +#ifndef _ALL_TESTS_H_ +#define _ALL_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(all_tests); + +#endif /* _ALL_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_templates.h new file mode 100644 index 0000000..5b6b294 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_templates.h @@ -0,0 +1,267 @@ +#ifndef _BASIC_MATH_TEMPLATES_H_ +#define _BASIC_MATH_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ +#include "test_templates.h" + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Compare the outputs used by basic math tests for the function under test and + * the reference function. + */ +#define BASIC_MATH_COMPARE_INTERFACE(block_size, output_type) \ + TEST_ASSERT_BUFFERS_EQUAL( \ + basic_math_output_ref.data_ptr, \ + basic_math_output_fut.data_ptr, \ + block_size * sizeof(output_type)) + +/* + * Comparison SNR thresholds for the data types used in basic_math_tests. + */ +#define BASIC_MATH_SNR_THRESHOLD_float32_t 120 +#define BASIC_MATH_SNR_THRESHOLD_q31_t 100 +#define BASIC_MATH_SNR_THRESHOLD_q15_t 75 +#define BASIC_MATH_SNR_THRESHOLD_q7_t 25 + +/** + * Compare reference and fut outputs using SNR. + * + * @note The outputs are converted to float32_t before comparison. + */ +#define BASIC_MATH_SNR_COMPARE_INTERFACE(block_size, output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + basic_math_output_f32_ref, \ + basic_math_output_ref.data_ptr, \ + basic_math_output_f32_fut, \ + basic_math_output_fut.data_ptr, \ + block_size, \ + output_type, \ + BASIC_MATH_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + + +/** + * Compare reference and fut outputs using SNR. + * + * @note The outputs are converted to float32_t before comparison. + */ +#define BASIC_MATH_SNR_ELT1_COMPARE_INTERFACE(block_size, output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + basic_math_output_f32_ref, \ + basic_math_output_ref.data_ptr, \ + basic_math_output_f32_fut, \ + basic_math_output_fut.data_ptr, \ + 1, \ + output_type, \ + BASIC_MATH_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + + + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define ARM_abs_INPUT_INTERFACE(input, block_size) \ + PAREN(input, basic_math_output_fut.data_ptr, block_size) + +#define REF_abs_INPUT_INTERFACE(input, block_size) \ + PAREN(input, basic_math_output_ref.data_ptr, block_size) + +#define ARM_add_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_add_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_ref.data_ptr, block_size) \ + +#define ARM_dot_prod_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, block_size, basic_math_output_fut.data_ptr) \ + +#define REF_dot_prod_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, block_size, basic_math_output_ref.data_ptr) \ + +#define ARM_mult_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_mult_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_ref.data_ptr, block_size) \ + +#define ARM_negate_INPUT_INTERFACE(input, block_size) \ + PAREN(input, basic_math_output_fut.data_ptr, block_size) + +#define REF_negate_INPUT_INTERFACE(input, block_size) \ + PAREN(input, basic_math_output_ref.data_ptr, block_size) + +#define ARM_offset_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_offset_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_ref.data_ptr, block_size) \ + +#define ARM_shift_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_shift_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_ref.data_ptr, block_size) \ + +#define ARM_scale_float_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_scale_float_INPUT_INTERFACE(input, elt, block_size) \ + PAREN(input, elt, basic_math_output_ref.data_ptr, block_size) \ + +/* These two are for the fixed point functions */ +#define ARM_scale_INPUT_INTERFACE(input, elt1, elt2, block_size) \ + PAREN(input, elt1, elt2, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_scale_INPUT_INTERFACE(input, elt1, elt2, block_size) \ + PAREN(input, elt1, elt2, basic_math_output_ref.data_ptr, block_size) \ + +#define ARM_sub_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_fut.data_ptr, block_size) \ + +#define REF_sub_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, basic_math_output_ref.data_ptr, block_size) \ + + +/*--------------------------------------------------------------------------------*/ +/* Test Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Specialization of #TEST_TEMPLATE_BUF1_BLK() for basic math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_BLK( \ + basic_math_f_all, \ + basic_math_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + BASIC_MATH_COMPARE_INTERFACE); \ + } + +/** + * Specialization of #TEST_TEMPLATE_BUF2_BLK() for basic math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF2_BLK( \ + basic_math_f_all, \ + basic_math_f_all, \ + basic_math_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + +/** + * Specialization of #TEST_TEMPLATE_BUF1_ELT1_BLK() for basic math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_ELT1_BLK(fn_name, \ + suffix, \ + input_type, \ + elt_type, \ + output_type) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_ELT1_BLK( \ + basic_math_f_all, \ + basic_math_elts, \ + basic_math_block_sizes, \ + input_type, \ + elt_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + BASIC_MATH_COMPARE_INTERFACE); \ + } + +/** + * Specialization of #TEST_TEMPLATE_BUF1_ELT2_BLK() for basic math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_ELT2_BLK(fn_name, \ + suffix, \ + input_type, \ + elt1_type, \ + elt2_type, \ + output_type) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_ELT2_BLK( \ + basic_math_f_all, \ + basic_math_elts, \ + basic_math_elts2, \ + basic_math_block_sizes, \ + input_type, \ + elt1_type, \ + elt2_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + BASIC_MATH_COMPARE_INTERFACE); \ + } + +#endif /* _BASIC_MATH_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_data.h new file mode 100644 index 0000000..b387e0f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_data.h @@ -0,0 +1,46 @@ +#ifndef ARM_BASIC_MATH_TEST_DATA_H +#define ARM_BASIC_MATH_TEST_DATA_H + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" +#include "arm_math.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ +#define BASIC_MATH_MAX_INPUT_ELEMENTS 32 +#define BASIC_MATH_BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Declare Variables */ +/*--------------------------------------------------------------------------------*/ + +/* Input/Output Buffers */ +ARR_DESC_DECLARE(basic_math_output_fut); +ARR_DESC_DECLARE(basic_math_output_ref); + +extern BASIC_MATH_BIGGEST_INPUT_TYPE +basic_math_output_f32_ref[BASIC_MATH_MAX_INPUT_ELEMENTS]; + +extern BASIC_MATH_BIGGEST_INPUT_TYPE +basic_math_output_f32_fut[BASIC_MATH_MAX_INPUT_ELEMENTS]; + +/* Block Sizes*/ +ARR_DESC_DECLARE(basic_math_block_sizes); + +/* Numbers */ +ARR_DESC_DECLARE(basic_math_elts); +ARR_DESC_DECLARE(basic_math_elts2); +ARR_DESC_DECLARE(basic_math_eltsf); + +/* Float Inputs */ +ARR_DESC_DECLARE(basic_math_zeros); +ARR_DESC_DECLARE(basic_math_f_2); +ARR_DESC_DECLARE(basic_math_f_15); +ARR_DESC_DECLARE(basic_math_f_32); +ARR_DESC_DECLARE(basic_math_f_all); + +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_group.h new file mode 100644 index 0000000..98b7e3e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_group.h @@ -0,0 +1,9 @@ +#ifndef _BASIC_MATH_TEST_GROUP_H_ +#define _BASIC_MATH_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(basic_math_tests); + +#endif /* _BASIC_MATH_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_tests.h new file mode 100644 index 0000000..1b52999 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_tests.h @@ -0,0 +1,17 @@ +#ifndef _BASIC_MATH_TESTS_H_ +#define _BASIC_MATH_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(abs_tests); +JTEST_DECLARE_GROUP(add_tests); +JTEST_DECLARE_GROUP(dot_prod_tests); +JTEST_DECLARE_GROUP(mult_tests); +JTEST_DECLARE_GROUP(negate_tests); +JTEST_DECLARE_GROUP(offset_tests); +JTEST_DECLARE_GROUP(scale_tests); +JTEST_DECLARE_GROUP(shift_tests); +JTEST_DECLARE_GROUP(sub_tests); + +#endif /* _BASIC_MATH_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_templates.h new file mode 100644 index 0000000..a9c550b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_templates.h @@ -0,0 +1,222 @@ +#ifndef _COMPLEX_MATH_TEMPLATES_H_ +#define _COMPLEX_MATH_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ +#include "test_templates.h" + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Compare the real outputs from the function under test and the reference + * function. + */ +#define COMPLEX_MATH_COMPARE_RE_INTERFACE(block_size, output_type) \ + TEST_ASSERT_BUFFERS_EQUAL( \ + complex_math_output_ref_a.data_ptr, \ + complex_math_output_fut_a.data_ptr, \ + block_size * sizeof(output_type)) + +/** + * Compare the real and imaginary outputs from the function under test and the + * reference function. + */ +#define COMPLEX_MATH_COMPARE_CMPLX_INTERFACE(block_size, output_type) \ + do \ + { \ + COMPLEX_MATH_COMPARE_RE_INTERFACE(block_size * 2, output_type); \ + } while (0) + + +/* + * Comparison SNR thresholds for the data types used in complex_math_tests. + */ +#define COMPLEX_MATH_SNR_THRESHOLD_float32_t 120 +#define COMPLEX_MATH_SNR_THRESHOLD_q31_t 100 +#define COMPLEX_MATH_SNR_THRESHOLD_q15_t 75 + +/** + * Compare reference and fut outputs using SNR. + * + * The output_suffix specifies which output buffers to use for the + * comparison. An output_suffix of 'a' expands to the following buffers: + * + * - complex_math_output_f32_ref_a + * - complex_math_output_f32_fut_a + * - complex_math_output_ref_a + * - complex_math_output_fut_a + * + * @note The outputs are converted to float32_t before comparison. + */ +#define COMPLEX_MATH_SNR_COMPARE_OUT_INTERFACE(block_size, \ + output_type, \ + output_suffix) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + complex_math_output_f32_ref_##output_suffix, \ + complex_math_output_ref_##output_suffix.data_ptr, \ + complex_math_output_f32_fut_##output_suffix, \ + complex_math_output_fut_##output_suffix.data_ptr, \ + block_size, \ + output_type, \ + COMPLEX_MATH_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + +/** + * Specification of #COMPLEX_MATH_SNR_COMPARE_INTERFACE() for real outputs. + */ +#define COMPLEX_MATH_SNR_COMPARE_RE_INTERFACE(block_size, \ + output_type) \ + COMPLEX_MATH_SNR_COMPARE_OUT_INTERFACE(block_size, \ + output_type, \ + a) + +/** + * Specification of #COMPLEX_MATH_SNR_COMPARE_INTERFACE() for complex outputs. + */ +#define COMPLEX_MATH_SNR_COMPARE_CMPLX_INTERFACE(block_size, \ + output_type) \ + COMPLEX_MATH_SNR_COMPARE_OUT_INTERFACE(block_size * 2, \ + output_type, \ + a) + +/** + * Compare reference and fut split outputs using SNR. + * + * 'Split' refers to two separate output buffers; one for real and one for + * complex. + */ +#define COMPLEX_MATH_SNR_COMPARE_SPLIT_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + COMPLEX_MATH_SNR_COMPARE_OUT_INTERFACE(block_size, \ + output_type, \ + a); \ + COMPLEX_MATH_SNR_COMPARE_OUT_INTERFACE(block_size, \ + output_type, \ + b); \ + } while (0) + + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define ARM_cmplx_conj_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_fut_a.data_ptr, block_size) + +#define REF_cmplx_conj_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_ref_a.data_ptr, block_size) + +#define ARM_cmplx_dot_prod_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, block_size, \ + complex_math_output_fut_a.data_ptr, \ + complex_math_output_fut_b.data_ptr) + +#define REF_cmplx_dot_prod_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, block_size, \ + complex_math_output_ref_a.data_ptr, \ + complex_math_output_ref_b.data_ptr) + +#define ARM_cmplx_mag_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_fut_a.data_ptr, block_size) + +#define REF_cmplx_mag_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_ref_a.data_ptr, block_size) + +#define ARM_cmplx_mag_squared_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_fut_a.data_ptr, block_size) + +#define REF_cmplx_mag_squared_INPUT_INTERFACE(input, block_size) \ + PAREN(input, complex_math_output_ref_a.data_ptr, block_size) + +#define ARM_cmplx_mult_cmplx_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, complex_math_output_fut_a.data_ptr, block_size) + +#define REF_cmplx_mult_cmplx_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, complex_math_output_ref_a.data_ptr, block_size) + +#define ARM_cmplx_mult_real_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, complex_math_output_fut_a.data_ptr, block_size) + +#define REF_cmplx_mult_real_INPUT_INTERFACE(input_a, input_b, block_size) \ + PAREN(input_a, input_b, complex_math_output_ref_a.data_ptr, block_size) + +/*--------------------------------------------------------------------------------*/ +/* Test Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Specialization of #TEST_TEMPLATE_BUF1_BLK() for complex math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_BLK( \ + complex_math_f_all, \ + complex_math_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + +/** + * Specialization of #TEST_TEMPLATE_BUF2_BLK1() for complex math tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF2_BLK( \ + complex_math_f_all, \ + complex_math_f_all, \ + complex_math_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + +#endif /* _COMPLEX_MATH_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_data.h new file mode 100644 index 0000000..e6438ec --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_data.h @@ -0,0 +1,50 @@ +#ifndef _COMPLEX_MATH_TEST_DATA_H_ +#define _COMPLEX_MATH_TEST_DATA_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" +#include "arm_math.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ +#define COMPLEX_MATH_MAX_INPUT_ELEMENTS 32 +#define COMPLEX_MATH_BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Decalare Variables */ +/*--------------------------------------------------------------------------------*/ + +/* Input/Output Buffers */ +ARR_DESC_DECLARE(complex_math_output_fut_a); +ARR_DESC_DECLARE(complex_math_output_fut_b); +ARR_DESC_DECLARE(complex_math_output_ref_a); +ARR_DESC_DECLARE(complex_math_output_ref_b); + +extern COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_ref_a[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +extern COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_ref_b[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +extern COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_fut_a[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +extern COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_fut_b[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +/* Block Sizes*/ +ARR_DESC_DECLARE(complex_math_block_sizes); + +/* Float Inputs */ +ARR_DESC_DECLARE(complex_math_zeros); +ARR_DESC_DECLARE(complex_math_f_2); +ARR_DESC_DECLARE(complex_math_f_15); +ARR_DESC_DECLARE(complex_math_f_32); +ARR_DESC_DECLARE(complex_math_f_all); + + +#endif /* _COMPLEX_MATH_TEST_DATA_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_group.h new file mode 100644 index 0000000..6665c92 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_group.h @@ -0,0 +1,9 @@ +#ifndef _COMPLEX_MATH_TEST_GROUP_H_ +#define _COMPLEX_MATH_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(complex_math_tests); + +#endif /* _COMPLEX_MATH_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_tests.h new file mode 100644 index 0000000..e6709f3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_tests.h @@ -0,0 +1,14 @@ +#ifndef _COMPLEX_MATH_TESTS_H_ +#define _COMPLEX_MATH_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(cmplx_conj_tests); +JTEST_DECLARE_GROUP(cmplx_dot_prod_tests); +JTEST_DECLARE_GROUP(cmplx_mag_tests); +JTEST_DECLARE_GROUP(cmplx_mag_squared_tests); +JTEST_DECLARE_GROUP(cmplx_mult_cmplx_tests); +JTEST_DECLARE_GROUP(cmplx_mult_real_tests); + +#endif /* _COMPLEX_MATH_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_templates.h new file mode 100644 index 0000000..6e4d08e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_templates.h @@ -0,0 +1,46 @@ +#ifndef _CONTROLLER_TEMPLATES_H_ +#define _CONTROLLER_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "test_templates.h" +#include /* memcpy() */ + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Comparison SNR thresholds for the data types used in transform_tests. + */ +#define CONTROLLER_SNR_THRESHOLD_float32_t 110 +#define CONTROLLER_SNR_THRESHOLD_q31_t 100 +#define CONTROLLER_SNR_THRESHOLD_q15_t 45 + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. + */ +#define CONTROLLER_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + controller_output_f32_ref, \ + (output_type *) controller_output_ref, \ + controller_output_f32_fut, \ + (output_type *) controller_output_fut, \ + block_size, \ + output_type, \ + CONTROLLER_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + + +/*--------------------------------------------------------------------------------*/ +/* TEST Templates */ +/*--------------------------------------------------------------------------------*/ + +#endif /* _CONTROLLER_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_data.h new file mode 100644 index 0000000..e194e90 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_data.h @@ -0,0 +1,33 @@ +#ifndef _CONTROLLER_TEST_DATA_H_ +#define _CONTROLLER_TEST_DATA_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arm_math.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +#define CONTROLLER_MAX_LEN 1024 +#define CONTROLLER_MAX_COEFFS_LEN (12 * 3) +#define TRANFORM_BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Variable Declarations */ +/*--------------------------------------------------------------------------------*/ + +extern float32_t controller_output_fut[CONTROLLER_MAX_LEN]; +extern float32_t controller_output_ref[CONTROLLER_MAX_LEN]; +extern float32_t controller_output_f32_fut[CONTROLLER_MAX_LEN]; +extern float32_t controller_output_f32_ref[CONTROLLER_MAX_LEN]; +extern const float32_t controller_f32_inputs[CONTROLLER_MAX_LEN]; +extern const q31_t controller_q31_inputs[CONTROLLER_MAX_LEN]; +extern const q15_t * controller_q15_inputs; +extern const float32_t controller_f32_coeffs[CONTROLLER_MAX_COEFFS_LEN]; +extern const q31_t controller_q31_coeffs[CONTROLLER_MAX_COEFFS_LEN]; +extern const q15_t controller_q15_coeffs[CONTROLLER_MAX_COEFFS_LEN]; + +#endif /* _CONTROLLER_TEST_DATA_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_group.h new file mode 100644 index 0000000..88d8e47 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_group.h @@ -0,0 +1,9 @@ +#ifndef _CONTROLLER_TEST_GROUP_H_ +#define _CONTROLLER_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Group */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(controller_tests); + +#endif /* _CONTROLLER_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_tests.h new file mode 100644 index 0000000..389ffe5 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_tests.h @@ -0,0 +1,11 @@ +#ifndef _CONTROLLER_TESTS_H_ +#define _CONTROLLER_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(pid_reset_tests); +JTEST_DECLARE_GROUP(sin_cos_tests); +JTEST_DECLARE_GROUP(pid_tests); + +#endif /* _CONTROLLER_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_templates.h new file mode 100644 index 0000000..2ceb450 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_templates.h @@ -0,0 +1,102 @@ +#ifndef _FAST_MATH_TEMPLATES_H_ +#define _FAST_MATH_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "test_templates.h" +#include /* memcpy() */ + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Comparison SNR thresholds for the data types used in transform_tests. + */ +#define FAST_MATH_SNR_THRESHOLD_float32_t 95 +#define FAST_MATH_SNR_THRESHOLD_q31_t 95 +#define FAST_MATH_SNR_THRESHOLD_q15_t 45 + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. + */ +#define FAST_MATH_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + fast_math_output_f32_ref, \ + (output_type *) fast_math_output_ref, \ + fast_math_output_f32_fut, \ + (output_type *) fast_math_output_fut, \ + block_size, \ + output_type, \ + FAST_MATH_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + + +/*--------------------------------------------------------------------------------*/ +/* TEST Templates */ +/*--------------------------------------------------------------------------------*/ + +#define SQRT_TEST_TEMPLATE_ELT1(suffix) \ + \ + JTEST_DEFINE_TEST(arm_sqrt_##suffix##_test, arm_sqrt_##suffix) \ + { \ + uint32_t i; \ + \ + JTEST_COUNT_CYCLES( \ + for(i=0;i /* memcpy() */ + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** +* Comparison SNR thresholds for the data types used in transform_tests. +*/ +#define INTRINSICS_SNR_THRESHOLD_q63_t 120 +#define INTRINSICS_SNR_THRESHOLD_q31_t 95 + +/** +* Compare the outputs from the function under test and the reference +* function using SNR. +*/ +#define INTRINSICS_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + intrinsics_output_f32_ref, \ + (output_type##_t *) intrinsics_output_ref, \ + intrinsics_output_f32_fut, \ + (output_type##_t *) intrinsics_output_fut, \ + block_size, \ + output_type, \ + INTRINSICS_SNR_THRESHOLD_##output_type##_t \ + ); \ + } while (0) + + +/*--------------------------------------------------------------------------------*/ +/* TEST Templates */ +/*--------------------------------------------------------------------------------*/ + +#define INTRINSICS_TEST_TEMPLATE_ELT1(functionName, dataType) \ + \ + JTEST_DEFINE_TEST(functionName##_test, functionName) \ + { \ + uint32_t i; \ + \ + JTEST_COUNT_CYCLES( \ + for(i=0;ipData, \ + ((output_type *) &matrix_output_fut)->pData, \ + ((output_type *) &matrix_output_fut)->numRows * \ + ((output_type *) &matrix_output_ref)->numCols * \ + sizeof(output_content_type)) + +/** + * Comparison SNR thresholds for the data types used in matrix_tests. + */ +#define MATRIX_SNR_THRESHOLD 120 + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. + */ +#define MATRIX_SNR_COMPARE_INTERFACE(output_type, output_content_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + (float32_t *)matrix_output_f32_ref, \ + ((output_type *) &matrix_output_ref)->pData, \ + (float32_t *)matrix_output_f32_fut, \ + ((output_type *) &matrix_output_ref)->pData, \ + ((output_type *) &matrix_output_fut)->numRows * \ + ((output_type *) &matrix_output_ref)->numCols, \ + output_content_type, \ + MATRIX_SNR_THRESHOLD \ + ); \ + } while (0) + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. This is special for float64_t + */ +#define MATRIX_DBL_SNR_COMPARE_INTERFACE(output_type) \ + do \ + { \ + TEST_ASSERT_DBL_SNR( \ + (float64_t *)matrix_output_f32_ref, \ + (float64_t *)matrix_output_f32_fut, \ + ((output_type *) &matrix_output_fut)->numRows * \ + ((output_type *) &matrix_output_ref)->numCols, \ + MATRIX_SNR_THRESHOLD \ + ); \ + } while (0) + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define ARM_mat_add_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_fut) + +#define REF_mat_add_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_cmplx_mult_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_fut) + +#define REF_mat_cmplx_mult_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_inverse_INPUT_INTERFACE(input_ptr) \ + PAREN(input_ptr, (void *) &matrix_output_fut) + +#define REF_mat_inverse_INPUT_INTERFACE(input_ptr) \ + PAREN(input_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_mult_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_fut) + +#define REF_mat_mult_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_mult_fast_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_fut) + +#define REF_mat_mult_fast_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_sub_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_fut) + +#define REF_mat_sub_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, (void *) &matrix_output_ref) + +#define ARM_mat_trans_INPUT_INTERFACE(input_ptr) \ + PAREN(input_ptr, (void *) &matrix_output_fut) + +#define REF_mat_trans_INPUT_INTERFACE(input_ptr) \ + PAREN(input_ptr, (void *) &matrix_output_ref) + +/*--------------------------------------------------------------------------------*/ +/* Dimension Validation Interfaces */ +/*--------------------------------------------------------------------------------*/ + +#define MATRIX_TEST_VALID_ADDITIVE_DIMENSIONS(input_type, \ + matrix_a_ptr, \ + matrix_b_ptr) \ + ((((input_type) (matrix_a_ptr))->numRows == \ + ((input_type) (matrix_b_ptr))->numRows) && \ + (((input_type) (matrix_a_ptr))->numCols == \ + ((input_type) (matrix_b_ptr))->numCols)) + +#define MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS(input_type, \ + matrix_a_ptr, \ + matrix_b_ptr) \ + (((input_type) (matrix_a_ptr))->numCols == \ + ((input_type) (matrix_b_ptr))->numRows) + +#define MATRIX_TEST_VALID_SQUARE_DIMENSIONS(input_type, \ + matrix_ptr) \ + (((input_type)(matrix_ptr))->numRows == \ + ((input_type)(matrix_ptr))->numCols) + +#define MATRIX_TEST_VALID_DIMENSIONS_ALWAYS(input_type, \ + matrix_ptr) \ + (1 == 1) \ + +/*--------------------------------------------------------------------------------*/ +/* Output Configuration Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* The matrix tests assume the output matrix is always the correct size. These + * interfaces size the properly size the output matrices according to the input + * matrices and the operation at hand.*/ + +#define MATRIX_TEST_CONFIG_ADDITIVE_OUTPUT(input_type, \ + matrix_a_ptr, \ + matrix_b_ptr) \ + do \ + { \ + ((input_type) &matrix_output_fut)->numRows = \ + ((input_type)(matrix_a_ptr))->numRows; \ + ((input_type) &matrix_output_fut)->numCols = \ + ((input_type)(matrix_a_ptr))->numCols; \ + ((input_type) &matrix_output_ref)->numRows = \ + ((input_type)(matrix_a_ptr))->numRows; \ + ((input_type) &matrix_output_ref)->numCols = \ + ((input_type)(matrix_a_ptr))->numCols; \ + } while (0) + +#define MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT(input_type, \ + matrix_a_ptr, \ + matrix_b_ptr) \ + do \ + { \ + ((input_type) &matrix_output_fut)->numRows = \ + ((input_type)(matrix_a_ptr))->numRows; \ + ((input_type) &matrix_output_fut)->numCols = \ + ((input_type)(matrix_b_ptr))->numCols; \ + ((input_type) &matrix_output_ref)->numRows = \ + ((input_type)(matrix_a_ptr))->numRows; \ + ((input_type) &matrix_output_ref)->numCols = \ + ((input_type)(matrix_b_ptr))->numCols; \ + } while (0) + +#define MATRIX_TEST_CONFIG_SAMESIZE_OUTPUT(input_type, \ + matrix_ptr) \ + do \ + { \ + ((input_type) &matrix_output_fut)->numRows = \ + ((input_type)(matrix_ptr))->numRows; \ + ((input_type) &matrix_output_fut)->numCols = \ + ((input_type)(matrix_ptr))->numCols; \ + ((input_type) &matrix_output_ref)->numRows = \ + ((input_type)(matrix_ptr))->numRows; \ + ((input_type) &matrix_output_ref)->numCols = \ + ((input_type)(matrix_ptr))->numCols; \ + } while (0) + +#define MATRIX_TEST_CONFIG_TRANSPOSE_OUTPUT(input_type, \ + matrix_ptr) \ + do \ + { \ + ((input_type) &matrix_output_fut)->numRows = \ + ((input_type)(matrix_ptr))->numCols; \ + ((input_type) &matrix_output_fut)->numCols = \ + ((input_type)(matrix_ptr))->numRows; \ + ((input_type) &matrix_output_ref)->numRows = \ + ((input_type)(matrix_ptr))->numCols; \ + ((input_type) &matrix_output_ref)->numCols = \ + ((input_type)(matrix_ptr))->numRows; \ + } while (0) + +/*--------------------------------------------------------------------------------*/ +/* TEST Templates */ +/*--------------------------------------------------------------------------------*/ + +#define MATRIX_TEST_TEMPLATE_ELT1(arr_desc_inputs, \ + input_type, \ + output_type, output_content_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + output_config_interface, \ + dim_validation_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, input_type, input, arr_desc_inputs \ + , \ + JTEST_DUMP_STRF("Matrix Dimensions: %dx%d\n", \ + (int)input->numRows, \ + (int)input->numCols); \ + \ + if (dim_validation_interface(input_type, \ + input)) { \ + output_config_interface(input_type, \ + input); \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface(input), \ + ref, ref_arg_interface(input)); \ + compare_interface(output_type, \ + output_content_type); \ + } else { \ + arm_status matrix_test_retval; \ + TEST_CALL_FUT( \ + matrix_test_retval = fut, \ + fut_arg_interface(input)); \ + \ + /* If dimensions are known bad, the fut should */ \ + /* detect it. */ \ + if ( matrix_test_retval != ARM_MATH_SIZE_MISMATCH) { \ + return JTEST_TEST_FAILED; \ + } \ + }); \ + return JTEST_TEST_PASSED; \ + } while (0) + + +#define MATRIX_TEST_TEMPLATE_ELT2(arr_desc_inputs_a, \ + arr_desc_inputs_b, \ + input_type, \ + output_type, output_content_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + output_config_interface, \ + dim_validation_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_a_idx, input_type, input_a, arr_desc_inputs_a \ + , \ + input_type input_b = ARR_DESC_ELT( \ + input_type, input_a_idx, \ + &(arr_desc_inputs_b)); \ + \ + JTEST_DUMP_STRF("Matrix Dimensions: A %dx%d B %dx%d\n", \ + (int)input_a->numRows, \ + (int)input_a->numCols, \ + (int)input_b->numRows, \ + (int)input_b->numCols); \ + \ + if (dim_validation_interface(input_type, \ + input_a, \ + input_b)) { \ + \ + output_config_interface(input_type, \ + input_a, \ + input_b); \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface(input_a, input_b), \ + ref, ref_arg_interface(input_a, input_b)); \ + \ + compare_interface(output_type, output_content_type); \ + \ + } else { \ + arm_status matrix_test_retval; \ + TEST_CALL_FUT( \ + matrix_test_retval = fut, fut_arg_interface(input_a, input_b)); \ + \ + /* If dimensions are known bad, the fut should */ \ + /* detect it. */ \ + if ( matrix_test_retval != ARM_MATH_SIZE_MISMATCH) { \ + return JTEST_TEST_FAILED; \ + } \ + }); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Specialization of #MATRIX_TEST_TEMPLATE_ELT2() for matrix tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define MATRIX_DEFINE_TEST_TEMPLATE_ELT2(fn_name, suffix, \ + output_config_interface, \ + dim_validation_interface, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + MATRIX_TEST_TEMPLATE_ELT2( \ + matrix_##suffix##_a_inputs, \ + matrix_##suffix##_b_inputs, \ + arm_matrix_instance_##suffix * , \ + arm_matrix_instance_##suffix, \ + TYPE_FROM_ABBREV(suffix), \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + output_config_interface, \ + dim_validation_interface, \ + comparison_interface); \ + } \ + +/** + * Specialization of #MATRIX_TEST_TEMPLATE_ELT1() for matrix tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define MATRIX_DEFINE_TEST_TEMPLATE_ELT1(fn_name, suffix, \ + output_config_interface, \ + dim_validation_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + MATRIX_TEST_TEMPLATE_ELT1( \ + matrix_##suffix##_a_inputs, \ + arm_matrix_instance_##suffix * , \ + arm_matrix_instance_##suffix, \ + TYPE_FROM_ABBREV(suffix), \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + output_config_interface, \ + dim_validation_interface, \ + MATRIX_COMPARE_INTERFACE); \ + } \ + + +#endif /* _MATRIX_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_data.h new file mode 100644 index 0000000..f96cc15 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_data.h @@ -0,0 +1,54 @@ +#ifndef _MATRIX_TEST_DATA_H_ +#define _MATRIX_TEST_DATA_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" +#include "arm_math.h" /* float32_t */ + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ +#define MATRIX_TEST_MAX_ROWS 4 +#define MATRIX_TEST_MAX_COLS 4 +#define MATRIX_TEST_BIGGEST_INPUT_TYPE float64_t +#define MATRIX_TEST_MAX_ELTS (MATRIX_TEST_MAX_ROWS * MATRIX_TEST_MAX_COLS) +#define MATRIX_MAX_COEFFS_LEN 16 +#define MATRIX_MAX_SHIFTS_LEN 5 + +/** + * Declare the matrix inputs defined by MATRIX_DEFINE_INPUTS. + */ +#define MATRIX_DECLARE_INPUTS(suffix) \ + ARR_DESC_DECLARE(matrix_##suffix##_a_inputs); \ + ARR_DESC_DECLARE(matrix_##suffix##_b_inputs); \ + ARR_DESC_DECLARE(matrix_##suffix##_invertible_inputs) + + +/*--------------------------------------------------------------------------------*/ +/* Declare Variables */ +/*--------------------------------------------------------------------------------*/ + +/* Input/Output Buffers */ +extern arm_matrix_instance_f32 matrix_output_fut; +extern arm_matrix_instance_f32 matrix_output_ref; +extern arm_matrix_instance_f64 matrix_output_fut64; +extern arm_matrix_instance_f64 matrix_output_ref64; +extern MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_f32_fut[MATRIX_TEST_MAX_ELTS]; +extern MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_f32_ref[MATRIX_TEST_MAX_ELTS]; +extern MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_scratch[MATRIX_TEST_MAX_ELTS]; + +/* Matrix Inputs */ +MATRIX_DECLARE_INPUTS(f64); +MATRIX_DECLARE_INPUTS(f32); +MATRIX_DECLARE_INPUTS(q31); +MATRIX_DECLARE_INPUTS(q15); + +extern const float32_t matrix_f32_scale_values[MATRIX_MAX_COEFFS_LEN]; +extern const q31_t matrix_q31_scale_values[MATRIX_MAX_COEFFS_LEN]; +extern const q15_t matrix_q15_scale_values[MATRIX_MAX_COEFFS_LEN]; +extern const int32_t matrix_shift_values[MATRIX_MAX_SHIFTS_LEN]; + +#endif /* _MATRIX_TEST_DATA_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_group.h new file mode 100644 index 0000000..3c92eb1 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_group.h @@ -0,0 +1,9 @@ +#ifndef _MATRIX_TEST_GROUP_H_ +#define _MATRIX_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(matrix_tests); + +#endif /* _MATRIX_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_tests.h new file mode 100644 index 0000000..3d0ed9c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_tests.h @@ -0,0 +1,17 @@ +#ifndef _MATRIX_TESTS_H_ +#define _MATRIX_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(mat_add_tests); +JTEST_DECLARE_GROUP(mat_cmplx_mult_tests); +JTEST_DECLARE_GROUP(mat_init_tests); +JTEST_DECLARE_GROUP(mat_inverse_tests); +JTEST_DECLARE_GROUP(mat_mult_tests); +JTEST_DECLARE_GROUP(mat_mult_fast_tests); +JTEST_DECLARE_GROUP(mat_sub_tests); +JTEST_DECLARE_GROUP(mat_trans_tests); +JTEST_DECLARE_GROUP(mat_scale_tests); + +#endif /* _MATRIX_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_templates.h new file mode 100644 index 0000000..de96f88 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_templates.h @@ -0,0 +1,157 @@ +#ifndef _STATISTICS_TEMPLATES_H_ +#define _STATISTICS_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "test_templates.h" + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Compare the outputs from the function under test and the reference function. + */ +#define STATISTICS_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_ASSERT_BUFFERS_EQUAL( \ + statistics_output_ref.data_ptr, \ + statistics_output_fut.data_ptr, \ + 1 * sizeof(output_type) /* All fns return one value*/ \ + ); \ + TEST_ASSERT_EQUAL( \ + statistics_idx_fut, \ + statistics_idx_ref); \ + } while (0) \ + +/* + * Comparison SNR thresholds for the data types used in statistics_tests. + */ +#define STATISTICS_SNR_THRESHOLD_float32_t 120 +#define STATISTICS_SNR_THRESHOLD_q31_t 100 +#define STATISTICS_SNR_THRESHOLD_q15_t 60 +#define STATISTICS_SNR_THRESHOLD_q7_t 30 + +/** + * Compare reference and fut outputs using SNR. + * + * @note The outputs are converted to float32_t before comparison. + */ +#define STATISTICS_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + statistics_output_f32_ref, \ + statistics_output_ref.data_ptr, \ + statistics_output_f32_fut, \ + statistics_output_fut.data_ptr, \ + 1, /* All fns return one element*/ \ + output_type, \ + STATISTICS_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + + + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define ARM_max_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, \ + statistics_output_fut.data_ptr, &statistics_idx_fut) + +#define REF_max_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, \ + statistics_output_ref.data_ptr, &statistics_idx_ref) + +#define ARM_mean_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_fut.data_ptr) + +#define REF_mean_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_ref.data_ptr) + +#define ARM_min_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, \ + statistics_output_fut.data_ptr, &statistics_idx_fut) + +#define REF_min_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, \ + statistics_output_ref.data_ptr, &statistics_idx_ref) + +#define ARM_power_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_fut.data_ptr) + +#define REF_power_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_ref.data_ptr) + +#define ARM_rms_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_fut.data_ptr) + +#define REF_rms_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_ref.data_ptr) + +#define ARM_std_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_fut.data_ptr) + +#define REF_std_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_ref.data_ptr) + +#define ARM_var_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_fut.data_ptr) + +#define REF_var_INPUT_INTERFACE(input, block_size) \ + PAREN(input, block_size, statistics_output_ref.data_ptr) + + +/*--------------------------------------------------------------------------------*/ +/* Test Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Specialization of #TEST_TEMPLATE_BUF1_BLK() for statistics tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_BLK( \ + statistics_f_all, \ + statistics_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + + +#endif /* _STATISTICS_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_data.h new file mode 100644 index 0000000..2dfcc97 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_data.h @@ -0,0 +1,44 @@ +#ifndef _STATISTICS_TEST_DATA_H_ +#define _STATISTICS_TEST_DATA_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" +#include "arm_math.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ +#define STATISTICS_MAX_INPUT_ELEMENTS 32 +#define STATISTICS_BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Declare Variables */ +/*--------------------------------------------------------------------------------*/ + +/* Input/Output Buffers */ +ARR_DESC_DECLARE(statistics_output_fut); +ARR_DESC_DECLARE(statistics_output_ref); +extern uint32_t statistics_idx_fut; +extern uint32_t statistics_idx_ref; + +extern STATISTICS_BIGGEST_INPUT_TYPE +statistics_output_f32_ref[STATISTICS_MAX_INPUT_ELEMENTS]; + +extern STATISTICS_BIGGEST_INPUT_TYPE +statistics_output_f32_fut[STATISTICS_MAX_INPUT_ELEMENTS]; + + +/* Block Sizes */ +ARR_DESC_DECLARE(statistics_block_sizes); + +/* Float Inputs */ +ARR_DESC_DECLARE(statistics_zeros); +ARR_DESC_DECLARE(statistics_f_2); +ARR_DESC_DECLARE(statistics_f_15); +ARR_DESC_DECLARE(statistics_f_32); +ARR_DESC_DECLARE(statistics_f_all); + +#endif /* _STATISTICS_TEST_DATA_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_group.h new file mode 100644 index 0000000..133cfea --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_group.h @@ -0,0 +1,9 @@ +#ifndef _STATISTICS_TEST_GROUP_H_ +#define _STATISTICS_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(statistics_tests); + +#endif /* _STATISTICS_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_tests.h new file mode 100644 index 0000000..489d2a7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_tests.h @@ -0,0 +1,15 @@ +#ifndef _STATISTICS_TESTS_H_ +#define _STATISTICS_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(max_tests); +JTEST_DECLARE_GROUP(mean_tests); +JTEST_DECLARE_GROUP(min_tests); +JTEST_DECLARE_GROUP(power_tests); +JTEST_DECLARE_GROUP(rms_tests); +JTEST_DECLARE_GROUP(std_tests); +JTEST_DECLARE_GROUP(var_tests); + +#endif /* _STATISTICS_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_templates.h new file mode 100644 index 0000000..9ca4874 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_templates.h @@ -0,0 +1,120 @@ +#ifndef _SUPPORT_TEMPLATES_H_ +#define _SUPPORT_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "test_templates.h" + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Compare the outputs from the function under test and the reference function. + */ +#define SUPPORT_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_ASSERT_BUFFERS_EQUAL( \ + support_output_ref.data_ptr, \ + support_output_fut.data_ptr, \ + block_size * sizeof(output_type)); \ + } while (0) \ + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define ARM_copy_INPUT_INTERFACE(input, block_size) \ + PAREN(input, support_output_fut.data_ptr, block_size) + +#define REF_copy_INPUT_INTERFACE(input, block_size) \ + PAREN(input, support_output_ref.data_ptr, block_size) + +#define ARM_fill_INPUT_INTERFACE(elt, block_size) \ + PAREN(elt, support_output_fut.data_ptr, block_size) + +#define REF_fill_INPUT_INTERFACE(elt, block_size) \ + PAREN(elt, support_output_ref.data_ptr, block_size) + +#define ARM_x_to_y_INPUT_INTERFACE(input, block_size) \ + PAREN(input, support_output_fut.data_ptr, block_size) + +#define REF_x_to_y_INPUT_INTERFACE(input, block_size) \ + PAREN(input, support_output_ref.data_ptr, block_size) + +/*--------------------------------------------------------------------------------*/ +/* Test Templates */ +/*--------------------------------------------------------------------------------*/ + + +/** + * Specialization of #TEST_TEMPLATE_BUF1_BLK() for support tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define SUPPORT_DEFINE_TEST_TEMPLATE_BUF1_BLK(fn_name, \ + suffix, \ + input_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_BLK( \ + support_f_all, \ + support_block_sizes, \ + input_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + +/** + * Specialization of #TEST_TEMPLATE_ELT1_BLK() for support tests. + * + * @note This macro relies on the existance of ARM_xxx_INPUT_INTERFACE and + * REF_xxx_INPUT_INTERFACEs. + */ +#define SUPPORT_DEFINE_TEST_TEMPLATE_ELT1_BLK(fn_name, \ + suffix, \ + elt_type, \ + output_type, \ + comparison_interface) \ + JTEST_DEFINE_TEST(arm_##fn_name##_##suffix##_test, \ + arm_##fn_name##_##suffix) \ + { \ + TEST_TEMPLATE_ELT1_BLK( \ + support_elts, \ + support_block_sizes, \ + elt_type, \ + output_type, \ + arm_##fn_name##_##suffix, \ + ARM_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + REF_##fn_name##_INPUT_INTERFACE, \ + comparison_interface); \ + } + +#endif /* _SUPPORT_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_data.h new file mode 100644 index 0000000..52b6d77 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_data.h @@ -0,0 +1,31 @@ +#ifndef ARM_SUPPORT_TEST_DATA_H +#define ARM_SUPPORT_TEST_DATA_H + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" + +/*--------------------------------------------------------------------------------*/ +/* Declare Variables */ +/*--------------------------------------------------------------------------------*/ + +/* Input/Output Buffers */ +ARR_DESC_DECLARE(support_output_fut); +ARR_DESC_DECLARE(support_output_ref); + +/* Block Sizes*/ +ARR_DESC_DECLARE(support_block_sizes); + +/* Numbers */ +ARR_DESC_DECLARE(support_elts); + +/* Float Inputs */ +ARR_DESC_DECLARE(support_zeros); +ARR_DESC_DECLARE(support_f_2); +ARR_DESC_DECLARE(support_f_15); +ARR_DESC_DECLARE(support_f_32); +ARR_DESC_DECLARE(support_f_all); + +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_group.h new file mode 100644 index 0000000..5a50ae1 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_group.h @@ -0,0 +1,9 @@ +#ifndef _SUPPORT_TEST_GROUP_H_ +#define _SUPPORT_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(support_tests); + +#endif /* _SUPPORT_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_tests.h new file mode 100644 index 0000000..66cc538 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_tests.h @@ -0,0 +1,11 @@ +#ifndef _SUPPORT_TESTS_H_ +#define _SUPPORT_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(copy_tests); +JTEST_DECLARE_GROUP(fill_tests); +JTEST_DECLARE_GROUP(x_to_y_tests); + +#endif /* _SUPPORT_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/template.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/template.h new file mode 100644 index 0000000..15d0b79 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/template.h @@ -0,0 +1,88 @@ +#ifndef _TEMPLATE_H_ +#define _TEMPLATE_H_ + +/*--------------------------------------------------------------------------------*/ +/* Looping and Iteration */ +/*--------------------------------------------------------------------------------*/ + +/** + * Template for the general structure of a loop. + */ +#define TEMPLATE_LOOP(setup, loop_def, body) \ + do \ + { \ + setup; \ + loop_def { \ + body; \ + } \ + } while (0) + +/** + * Template for looping over an array-like sequence. + */ +#define TEMPLATE_DO_ARR_LIKE(iter_idx, type, \ + arr, arr_length, \ + iter_elem_setup, \ + body) \ + do \ + { \ + TEMPLATE_LOOP( \ + int iter_idx, \ + for(iter_idx = 0; iter_idx < (arr_length); ++iter_idx), \ + iter_elem_setup; \ + body); \ + } while (0) + +/** + * Template for looping over the contents of an array. + */ +#define TEMPLATE_DO_ARR(iter_idx, type, iter_elem, arr, arr_length, body) \ + do \ + { \ + TEMPLATE_DO_ARR_LIKE( \ + iter_idx, type, arr, arr_length, \ + type iter_elem = (arr)[iter_idx], \ + body); \ + } while (0) + +/** + * Template for looping over the contents of an #ARR_DESC. + */ +#define TEMPLATE_DO_ARR_DESC(iter_idx, type, iter_elem, arr_desc, body) \ + do \ + { \ + TEMPLATE_DO_ARR_LIKE( \ + iter_idx, type, arr_desc, (arr_desc).element_count, \ + type iter_elem = ARR_DESC_ELT(type, iter_idx, &(arr_desc)), \ + body); \ + } while (0) + +/*--------------------------------------------------------------------------------*/ +/* Test Definition */ +/*--------------------------------------------------------------------------------*/ + +/** + * Template for the general structure of a test. + */ +#define TEMPLATE_TEST(setup, body, teardown) \ + do \ + { \ + setup; \ + body; \ + teardown; \ + } while (0) + +/** + * Template for calling a function. + * + * @note Surround function arguments with the #PAREN() macro. + * + * @example + * void my_func(int arg1, int arg2); + * + * TEMPLATE_CALL_FN(my_func, PAREN(3, 7)); + */ +#define TEMPLATE_CALL_FN(fn, fn_args) \ + fn fn_args + +#endif /* _TEMPLATE_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/test_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/test_templates.h new file mode 100644 index 0000000..3badc80 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/test_templates.h @@ -0,0 +1,466 @@ +#ifndef _TEST_TEMPLATES_H_ +#define _TEST_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ +#include "template.h" +#include /* memcmp() */ +#include /* PRIu32 */ +#include "math_helper.h" /* arm_snr_f32() */ + +/*--------------------------------------------------------------------------------*/ +/* Function Aliases for use in Templates. */ +/*--------------------------------------------------------------------------------*/ +#define ref_q31_t_to_float ref_q31_to_float +#define ref_q15_t_to_float ref_q15_to_float +#define ref_q7_t_to_float ref_q7_to_float +#define ref_float_to_q31_t ref_float_to_q31 +#define ref_float_to_q15_t ref_float_to_q15 +#define ref_float_to_q7_t ref_float_to_q7 +#define ref_float32_t_to_float ref_copy_f32 +#define ref_float_to_float32_t ref_copy_f32 + + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Call the function-under-test. + */ +#define TEST_CALL_FUT(fut, fut_args) \ + JTEST_COUNT_CYCLES(TEMPLATE_CALL_FN(fut, fut_args)) + +/** + * Call the reference-function. + */ +#define TEST_CALL_REF(ref, ref_args) \ + TEMPLATE_CALL_FN(ref, ref_args) + +/** + * Call the function-under-test and the reference-function. + */ +#define TEST_CALL_FUT_AND_REF(fut, fut_args, ref, ref_args) \ + do { \ + TEST_CALL_FUT(fut, fut_args); \ + TEST_CALL_REF(ref, ref_args); \ + } while (0) + +/** + * This macro eats a variable number of arguments and evaluates to a null + * statement. + */ +#define TEST_NULL_STATEMENT(...) (void) "TEST_NULL_STATEMENT" + +/** + * A function name, Usable in any template where a fut or ref name is accepted, + * that evaluates to a #TEST_NULL_STATEMENT(). + */ +#define TEST_NULL_FN TEST_NULL_STATEMENT + +/** + * Assert that buffers A and B are byte-equivalent for a number of bytes. + */ + +#define TEST_ASSERT_BUFFERS_EQUAL(buf_a, buf_b, bytes)\ + do \ + { \ + if (memcmp(buf_a, buf_b, bytes) != 0) \ + { \ + return JTEST_TEST_FAILED; \ + } \ + } while (0) + + + + +/** + * Assert that the two entities are equal. + */ +#define TEST_ASSERT_EQUAL(a, b) \ + do \ + { \ + if ((a) != (b)) \ + { \ + return JTEST_TEST_FAILED;\ + } \ + } while (0) + +/** + * Convert elements to from src_type to float. + */ +#define TEST_CONVERT_TO_FLOAT(src_ptr, dst_ptr, block_size, src_type) \ + do \ + { \ + ref_##src_type##_to_float( \ + src_ptr, \ + dst_ptr, \ + block_size); \ + } while (0) \ + +/** + * Convert elements to from float to dst_type . + */ +#define TEST_CONVERT_FLOAT_TO(src_ptr, dst_ptr, block_size, dst_type) \ + do \ + { \ + ref_float_to_##dst_type( \ + src_ptr, \ + dst_ptr, \ + block_size); \ + } while (0) \ + +/** + * Assert that the SNR between a reference and test sample is above a given + * threshold. + */ + +#define TEST_ASSERT_SNR(ref_ptr, tst_ptr, block_size, threshold) \ + do \ + { \ + float32_t snr = arm_snr_f32(ref_ptr, tst_ptr, block_size);\ + if ( snr <= threshold) \ + { \ + JTEST_DUMP_STRF("SNR: %f\n", snr); \ + return JTEST_TEST_FAILED; \ + } \ + } while (0) + + +/** + * Assert that the SNR between a reference and test sample is above a given + * threshold. Special case for float64_t + */ + +#define TEST_ASSERT_DBL_SNR(ref_ptr, tst_ptr, block_size, threshold)\ + do \ + { \ + float64_t snr = arm_snr_f64(ref_ptr, tst_ptr, block_size); \ + if ( snr <= threshold) \ + { \ + JTEST_DUMP_STRF("SNR: %f\n", snr); \ + return JTEST_TEST_FAILED; \ + } \ + } while (0) + + +/** + * Compare test and reference elements by converting to float and + * calculating an SNR. + * + * This macro is a merger of the #TEST_CONVERT_TO_FLOAT() and + * #TEST_ASSERT_SNR() macros. + */ +#define TEST_CONVERT_AND_ASSERT_SNR(ref_dst_ptr, ref_src_ptr, \ + tst_dst_ptr, tst_src_ptr, \ + block_size, \ + tst_src_type, \ + threshold) \ + do \ + { \ + TEST_CONVERT_TO_FLOAT(ref_src_ptr, \ + ref_dst_ptr, \ + block_size, \ + tst_src_type); \ + TEST_CONVERT_TO_FLOAT(tst_src_ptr, \ + tst_dst_ptr, \ + block_size, \ + tst_src_type); \ + TEST_ASSERT_SNR(ref_dst_ptr, \ + tst_dst_ptr, \ + block_size, \ + threshold); \ + } while (0) + +/** + * Execute statements only if the combination of block size, function type + * specifier, and input ARR_DESC_t are valid. + * + * @example An ARR_DESC_t that contains 64 bytes cant service a 32 element + * block size if they are extracted in float32_t increments. + * + * 8 * 32 = 256 > 64. + */ +#define TEST_DO_VALID_BLOCKSIZE(block_size, fn_type_spec, \ + input_arr_desc, body) \ + do \ + { \ + if (block_size * sizeof(fn_type_spec) <= \ + ARR_DESC_BYTES(input_arr_desc)) \ + { \ + JTEST_DUMP_STRF("Block Size: %"PRIu32"\n", block_size); \ + body; \ + } \ + } while (0) \ + +/** + * Template for tests that rely on one input buffer and a blocksize parameter. + * + * The buffer is an #ARR_DESC_t. It is iterated over and it's values are + * passed to the function under test and reference functions through their + * appropriate argument interfaces. The argument interfaces this template to + * execute structurally similar functions. + * + */ +#define TEST_TEMPLATE_BUF1_BLK(arr_desc_inputs, \ + arr_desc_block_sizes, \ + input_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, arr_desc_inputs \ + , \ + TEMPLATE_DO_ARR_DESC( \ + block_size_idx, uint32_t, block_size, arr_desc_block_sizes \ + , \ + void * input_data_ptr = input_ptr->data_ptr; \ + \ + TEST_DO_VALID_BLOCKSIZE( \ + block_size, input_type, input_ptr \ + , \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_data_ptr, block_size), \ + ref, ref_arg_interface( \ + input_data_ptr, block_size)); \ + \ + compare_interface(block_size, output_type)))); \ + \ + return JTEST_TEST_PASSED; \ + \ + } while (0) + +/** + * Template for tests that rely on an input buffer and an element. + * + * An element can is any thing which doesn't walk and talk like a + * sequence. Examples include numbers, and structures. + */ +#define TEST_TEMPLATE_BUF1_ELT1(arr_desc_inputs, \ + arr_desc_elts, \ + input_type, elt_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, arr_desc_inputs \ + , \ + TEMPLATE_DO_ARR_DESC( \ + elt_idx, elt_type, elt, arr_desc_elts \ + , \ + void * input_data_ptr = input_ptr->data_ptr; \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface(input_data_ptr, elt), \ + ref, ref_arg_interface(input_data_ptr, elt)); \ + \ + compare_interface(output_type))); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Template for tests that rely on an input buffer, an element, and a blocksize + * parameter. + */ +#define TEST_TEMPLATE_BUF1_ELT1_BLK(arr_desc_inputs, \ + arr_desc_elts, \ + arr_desc_block_sizes, \ + input_type, elt_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface); \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + inut_idx, ARR_DESC_t *, input_ptr, arr_desc_inputs \ + , \ + TEMPLATE_DO_ARR_DESC( \ + block_size_idx, uint32_t, block_size, \ + arr_desc_block_sizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + elt_idx, elt_type, elt, arr_desc_elts \ + , \ + void * input_data_ptr = input_ptr->data_ptr; \ + TEST_DO_VALID_BLOCKSIZE( \ + block_size, input_type, input_ptr, \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_data_ptr, elt, block_size), \ + ref, ref_arg_interface( \ + input_data_ptr, elt, block_size)); \ + compare_interface(block_size, output_type))))); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Template for tests that rely on an input buffer, two elements, and a blocksize + * parameter. + */ +#define TEST_TEMPLATE_BUF1_ELT2_BLK(arr_desc_inputs, \ + arr_desc_elt1s, \ + arr_desc_elt2s, \ + arr_desc_block_sizes, \ + input_type, elt1_type, \ + elt2_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + inut_idx, ARR_DESC_t *, input_ptr, arr_desc_inputs \ + , \ + TEMPLATE_DO_ARR_DESC( \ + block_size_idx, uint32_t, block_size, \ + arr_desc_block_sizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + elt1_idx, elt1_type, elt1, arr_desc_elt1s \ + , \ + TEMPLATE_DO_ARR_DESC( \ + elt2_idx, elt2_type, elt2, arr_desc_elt2s \ + , \ + void * input_data_ptr = input_ptr->data_ptr; \ + TEST_DO_VALID_BLOCKSIZE( \ + block_size, input_type, input_ptr, \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_data_ptr, elt1, elt2, block_size), \ + ref, ref_arg_interface( \ + input_data_ptr, elt1, elt2, block_size)); \ + compare_interface(block_size, output_type)))))); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Template for tests that rely on two input buffers and a blocksize parameter. + * + * The two #ARR_DESC_t, input buffers are iterated through in parallel. The + * length of the first #ARR_DESC_t determines the length of the iteration. + */ +#define TEST_TEMPLATE_BUF2_BLK(arr_desc_inputs_a, \ + arr_desc_inputs_b, \ + arr_desc_block_sizes, \ + input_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + /* Iterate over two input arrays in parallel.*/ \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, arr_desc_inputs_a \ + , \ + TEMPLATE_DO_ARR_DESC( \ + block_size_idx, uint32_t, block_size, arr_desc_block_sizes, \ + void * input_a_ptr = input_ptr->data_ptr; \ + void * input_b_ptr = ARR_DESC_ELT( \ + ARR_DESC_t *, input_idx, \ + &(arr_desc_inputs_b))->data_ptr; \ + \ + TEST_DO_VALID_BLOCKSIZE( \ + block_size, input_type, input_ptr \ + , \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_a_ptr, input_b_ptr, block_size), \ + ref, ref_arg_interface( \ + input_a_ptr, input_b_ptr, block_size)); \ + \ + compare_interface(block_size, output_type)))); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Test template that uses a single element. + */ +#define TEST_TEMPLATE_ELT1(arr_desc_elts, \ + elt_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + elt_idx, elt_type, elt, arr_desc_elts \ + , \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + elt), \ + ref, ref_arg_interface( \ + elt)); \ + /* Comparison interfaces typically accept */ \ + /* a block_size. Pass a dummy value 1.*/ \ + compare_interface(1, output_type)); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Test template that iterates over two sets of elements in parallel. + * + * The length of the first set determines the number of iteratsions. + */ +#define TEST_TEMPLATE_ELT2(arr_desc_elts_a, \ + arr_desc_elts_b, \ + elt_a_type, elt_b_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + elt_a_idx, elt_a_type, elt_a, arr_desc_elts_a \ + , \ + elt_b_type * elt_b = ARR_DESC_ELT( \ + elt_b_type, \ + elt_a_idx, \ + arr_desc_elts_b); \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + elt_a, elt_b), \ + ref, ref_arg_interface( \ + elt_a, elt_b)); \ + /* Comparison interfaces typically accept */ \ + /* a block_size. Pass a dummy value 1.*/ \ + compare_interface(1, output_type)); \ + return JTEST_TEST_PASSED; \ + } while (0) + +/** + * Test template that uses an element and a block size. + */ +#define TEST_TEMPLATE_ELT1_BLK(arr_desc_elts, \ + arr_desc_block_sizes, \ + elt_type, output_type, \ + fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + compare_interface) \ + do \ + { \ + TEMPLATE_DO_ARR_DESC( \ + block_size_idx, uint32_t, block_size, \ + arr_desc_block_sizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + elt_idx, elt_type, elt, arr_desc_elts \ + , \ + JTEST_DUMP_STRF("Block Size: %d\n", \ + (int)block_size); \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + elt, block_size), \ + ref, ref_arg_interface( \ + elt, block_size)); \ + compare_interface(block_size, output_type))); \ + return JTEST_TEST_PASSED; \ + } while (0) + +#endif /* _TEST_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_templates.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_templates.h new file mode 100644 index 0000000..abe75f9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_templates.h @@ -0,0 +1,181 @@ +#ifndef _TRANSFORM_TEMPLATES_H_ +#define _TRANSFORM_TEMPLATES_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "test_templates.h" +#include /* memcpy() */ + +/*--------------------------------------------------------------------------------*/ +/* Group Specific Templates */ +/*--------------------------------------------------------------------------------*/ + +/** + * Comparison SNR thresholds for the data types used in transform_tests. + */ +#define TRANSFORM_SNR_THRESHOLD_float32_t 90 +#define TRANSFORM_SNR_THRESHOLD_q31_t 90 +#define TRANSFORM_SNR_THRESHOLD_q15_t 30 + +#define DCT4_TRANSFORM_SNR_THRESHOLD_float32_t 80 +#define DCT4_TRANSFORM_SNR_THRESHOLD_q31_t 75 +#define DCT4_TRANSFORM_SNR_THRESHOLD_q15_t 11 + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. + */ +#define TRANSFORM_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + transform_fft_output_f32_ref, \ + (output_type *) transform_fft_output_ref, \ + transform_fft_output_f32_fut, \ + (output_type *) transform_fft_output_fut, \ + block_size, \ + output_type, \ + TRANSFORM_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) + +/** + * Compare the outputs from the function under test and the reference + * function using SNR. + */ +#define DCT_TRANSFORM_SNR_COMPARE_INTERFACE(block_size, \ + output_type) \ + do \ + { \ + TEST_CONVERT_AND_ASSERT_SNR( \ + transform_fft_output_f32_ref, \ + (output_type *) transform_fft_output_ref, \ + transform_fft_output_f32_fut, \ + (output_type *) transform_fft_output_fut, \ + block_size, \ + output_type, \ + DCT4_TRANSFORM_SNR_THRESHOLD_##output_type \ + ); \ + } while (0) \ + +/** + * Specialization on #TRANSFORM_SNR_COMPARE_INTERFACE() to fix the block_size + * for complex datasets. + */ +#define TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE(block_size, output_type) \ + /* Complex numbers have two components*/ \ + TRANSFORM_SNR_COMPARE_INTERFACE(block_size * 2, output_type ) + +/** + * This macro copys data from the input_ptr into input arrays. + * + * Some functions modify their input data; in order to provide the same data to + * multiple tests, copies must be made so the changes from one function don't + * impact the others. + */ +#define TRANSFORM_COPY_INPUTS(input_ptr, \ + bytes) \ + do \ + { \ + memcpy( \ + transform_fft_input_fut, \ + input_ptr, \ + bytes); \ + memcpy( \ + transform_fft_input_ref, \ + input_ptr, \ + bytes); \ + } while (0) + +/** + * This macro copys data from the input_ptr into input arrays. It also creates + * symmetric input data for rfft inverse. + * + * The 4.534234f just makes the middle entry of the array semi random. It's + * actual value doesn't seem to matter much. + * + * Some functions modify their input data; in order to provide the same data to + * multiple tests, copies must be made so the changes from one function don't + * impact the others. + */ +#define TRANSFORM_PREPARE_INVERSE_INPUTS(input_ptr, \ + fftlen, input_type, bytes) \ + do \ + { \ + uint32_t i; \ + \ + memcpy( \ + transform_fft_input_fut, \ + input_ptr, \ + bytes); \ + \ + ((input_type*)transform_fft_input_fut)[1] = 0; \ + ((input_type*)transform_fft_input_fut)[fftlen + 0] = 0; \ + ((input_type*)transform_fft_input_fut)[fftlen + 1] = 0; \ + for(i=1;i>= 1; \ + *((type*)transform_fft_inplace_input_ref + i) >>= 1;} \ + } while (0) + +/** + * This macro copys data from the input_ptr into the in-place input arrays. + * + * Some functions modify their input data; in order to provide the same data to + * multiple tests, copies must be made so the changes from one function don't + * impact the others. + */ +#define TRANSFORM_PREPARE_INPLACE_INPUTS(input_ptr, \ + bytes) \ + do \ + { \ + memcpy( \ + transform_fft_inplace_input_fut, \ + input_ptr, \ + bytes); \ + memcpy( \ + transform_fft_inplace_input_ref, \ + input_ptr, \ + bytes); \ + } while (0) + + +#endif /* _TRANSFORM_TEMPLATES_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_data.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_data.h new file mode 100644 index 0000000..d80c8a2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_data.h @@ -0,0 +1,48 @@ +#ifndef _TRANSFORM_TEST_DATA_H_ +#define _TRANSFORM_TEST_DATA_H_ + +/*--------------------------------------------------------------------------------*/ +/* Includes */ +/*--------------------------------------------------------------------------------*/ + +#include "arr_desc.h" +#include "arm_math.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +#define TRANSFORM_MAX_FFT_LEN 4096 +#define TRANFORM_BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Variable Declarations */ +/*--------------------------------------------------------------------------------*/ + +/* Lengths are multiplied by 2 to accomodate complex numbers*/ +extern float32_t transform_fft_output_fut[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t transform_fft_output_ref[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t transform_fft_input_fut[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t transform_fft_input_ref[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t transform_fft_output_f32_fut[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t transform_fft_output_f32_ref[TRANSFORM_MAX_FFT_LEN * 2]; +extern float32_t * transform_fft_inplace_input_fut; +extern float32_t * transform_fft_inplace_input_ref; +extern float32_t transform_fft_f32_inputs[TRANSFORM_MAX_FFT_LEN * 2]; +extern q31_t transform_fft_q31_inputs[TRANSFORM_MAX_FFT_LEN * 2]; +extern q15_t * transform_fft_q15_inputs; +extern q15_t dct4_transform_fft_q15_inputs[TRANSFORM_MAX_FFT_LEN * 2]; + +/* FFT Lengths */ +ARR_DESC_DECLARE(transform_radix2_fftlens); +ARR_DESC_DECLARE(transform_radix4_fftlens); +ARR_DESC_DECLARE(transform_rfft_fftlens); +ARR_DESC_DECLARE(transform_rfft_fast_fftlens); +ARR_DESC_DECLARE(transform_dct_fftlens); + +/* CFFT Structs */ +ARR_DESC_DECLARE(transform_cfft_f32_structs); +ARR_DESC_DECLARE(transform_cfft_q31_structs); +ARR_DESC_DECLARE(transform_cfft_q15_structs); + +#endif /* _TRANSFORM_TEST_DATA_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_group.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_group.h new file mode 100644 index 0000000..4720efc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_group.h @@ -0,0 +1,9 @@ +#ifndef _TRANSFORM_TEST_GROUP_H_ +#define _TRANSFORM_TEST_GROUP_H_ + +/*--------------------------------------------------------------------------------*/ +/* Declare Test Groups */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(transform_tests); + +#endif /* _TRANSFORM_TEST_GROUP_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_tests.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_tests.h new file mode 100644 index 0000000..773b6f2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_tests.h @@ -0,0 +1,13 @@ +#ifndef _TRANSFORM_TESTS_H_ +#define _TRANSFORM_TESTS_H_ + +/*--------------------------------------------------------------------------------*/ +/* Test/Group Declarations */ +/*--------------------------------------------------------------------------------*/ +JTEST_DECLARE_GROUP(cfft_tests); +JTEST_DECLARE_GROUP(cfft_family_tests); +JTEST_DECLARE_GROUP(dct4_tests); +JTEST_DECLARE_GROUP(rfft_tests); +JTEST_DECLARE_GROUP(rfft_fast_tests); + +#endif /* _TRANSFORM_TESTS_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/type_abbrev.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/type_abbrev.h new file mode 100644 index 0000000..f59f921 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/type_abbrev.h @@ -0,0 +1,37 @@ +#ifndef _TYPE_ABBREV_H_ +#define _TYPE_ABBREV_H_ + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +/** + * Expand the abbreviation for a type into the type itself. + */ +#define TYPE_FROM_ABBREV(abbrev) \ + TYPE_ABBREV_##abbrev \ + +/** + * Expand the type to an abbreviation for that type. + * + * Inverse of #TYPE_FROM_ABBREV(). + * + * @note Should be able to get a type back by writing. + * TYPE_FROM_ABBREV(ABBREV_FROM_TYPE(type)) + */ +#define ABBREV_FROM_TYPE(type) \ + TYPE_SUFFIX_##type + +#define TYPE_ABBREV_f64 float64_t +#define TYPE_ABBREV_f32 float32_t +#define TYPE_ABBREV_q31 q31_t +#define TYPE_ABBREV_q15 q15_t +#define TYPE_ABBREV_q7 q7_t + +#define TYPE_SUFFIX_float64_t f64 +#define TYPE_SUFFIX_float32_t f32 +#define TYPE_SUFFIX_q31_t q31 +#define TYPE_SUFFIX_q15_t q15 +#define TYPE_SUFFIX_q7_t q7 + +#endif /* _TYPE_ABBREV_H_ */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/Retarget.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/Retarget.c new file mode 100644 index 0000000..1557e71 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/Retarget.c @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------- + * Name: Retarget.c + * Purpose: 'Retarget' layer for target-dependent low level functions + * Note(s): + *---------------------------------------------------------------------------- + * This file is part of the uVision/ARM development tools. + * This software may only be used under the terms of a valid, current, + * end user licence from KEIL for a compatible version of KEIL software + * development tools. Nothing else gives you the right to use this software. + * + * This software is supplied "AS IS" without warranties of any kind. + * + * Copyright (c) 2011 Keil - An ARM Company. All rights reserved. + *----------------------------------------------------------------------------*/ + +#include +#include +#include "Serial.h" + +#pragma import(__use_no_semihosting_swi) + + + +struct __FILE { int handle; /* Add whatever you need here */ }; +FILE __stdout; +FILE __stdin; + + +int fputc(int c, FILE *f) { + return (SER_PutChar(c)); +} + + +int fgetc(FILE *f) { + return (SER_GetChar()); +} + + +int ferror(FILE *f) { + /* Your implementation of ferror */ + return EOF; +} + + +void _ttywrch(int c) { + SER_PutChar(c); +} + + +void _sys_exit(int return_code) { +label: goto label; /* endless loop */ +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv6-m.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv6-m.s new file mode 100644 index 0000000..056174c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv6-m.s @@ -0,0 +1,111 @@ +;/* File: startup_armv6-m.s +; * Purpose: startup file for armv7-m architecture devices. +; * Should be used with ARMCC +; * Version: V2.00 +; * Date: 16 November 2015 +; * +; */ +;/* Copyright (c) 2011 - 2014 ARM LIMITED +; +; All rights reserved. +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions are met: +; - Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; - Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the distribution. +; - Neither the name of ARM nor the names of its contributors may be used +; to endorse or promote products derived from this software without +; specific prior written permission. +; * +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE +; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +; POSSIBILITY OF SUCH DAMAGE. +; ---------------------------------------------------------------------------*/ + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + IMPORT ||Image$$ARM_LIB_STACK$$ZI$$Limit|| + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD ||Image$$ARM_LIB_STACK$$ZI$$Limit|| ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + BKPT #0 + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + BKPT #0 + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + + ALIGN + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv7-m.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv7-m.s new file mode 100644 index 0000000..b40c565 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCC/startup_armv7-m.s @@ -0,0 +1,134 @@ +;/* File: startup_armv7-m.s +; * Purpose: startup file for armv7-m architecture devices. +; * Should be used with ARMCC +; * Version: V2.00 +; * Date: 16 November 2015 +; * +; */ +;/* Copyright (c) 2011 - 2014 ARM LIMITED +; +; All rights reserved. +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions are met: +; - Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; - Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the distribution. +; - Neither the name of ARM nor the names of its contributors may be used +; to endorse or promote products derived from this software without +; specific prior written permission. +; * +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE +; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +; POSSIBILITY OF SUCH DAMAGE. +; ---------------------------------------------------------------------------*/ + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + IMPORT ||Image$$ARM_LIB_STACK$$ZI$$Limit|| + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD ||Image$$ARM_LIB_STACK$$ZI$$Limit|| ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + BKPT #0 + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + BKPT #0 + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + BKPT #0 + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + BKPT #0 + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + BKPT #0 + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + + ALIGN + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv6-m.S b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv6-m.S new file mode 100644 index 0000000..d3499af --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv6-m.S @@ -0,0 +1,127 @@ +/* File: startup_armv6-m.S + * Purpose: startup file for armv6-m architecture devices. + * Should be used with ARMCLANG + * Version: V2.00 + * Date: 16 November 2015 + * + */ +/* Copyright (c) 2011 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ +/* + ;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ +*/ + + + .syntax unified + .arch armv6-m + +/* .eabi_attribute Tag_ABI_align8_preserved,1 www.support.code-red-tech.com/CodeRedWiki/Preserve8 */ +.eabi_attribute 25, 1 /* Tag_ABI_align_preserved */ + + .global Image$$ARM_LIB_STACK$$ZI$$Limit + + + .section RESET, "x" + .align 2 + .globl __Vectors + .globl __Vectors_End + .globl __Vectors_Size +__Vectors: + .long Image$$ARM_LIB_STACK$$ZI$$Limit /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ +__Vectors_End: + + .equ __Vectors_Size, __Vectors_End - __Vectors + + + .text + .thumb + .align 2 + + .globl Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function + .thumb_func +Reset_Handler: + bl SystemInit + bl __main + + .globl NMI_Handler + .weak NMI_Handler + .type NMI_Handler, %function + .thumb_func +NMI_Handler: + bkpt #0 + b . + + .globl HardFault_Handler + .weak HardFault_Handler + .type HardFault_Handler, %function + .thumb_func +HardFault_Handler: + bkpt #0 + b . + + .globl SVC_Handler + .weak SVC_Handler + .type SVC_Handler, %function + .thumb_func +SVC_Handler: + bkpt #0 + b . + + .globl PendSV_Handler + .weak PendSV_Handler + .type PendSV_Handler, %function + .thumb_func +PendSV_Handler: + bkpt #0 + b . + + .globl SysTick_Handler + .weak SysTick_Handler + .type SysTick_Handler, %function + .thumb_func +SysTick_Handler: + bkpt #0 + b . + + .end diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv7-m.S b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv7-m.S new file mode 100644 index 0000000..53a307e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/ARMCLANG/startup_armv7-m.S @@ -0,0 +1,159 @@ +/* File: startup_armv7-m.S + * Purpose: startup file for armv7-m architecture devices. + * Should be used with ARMCLANG + * Version: V2.00 + * Date: 16 November 2015 + * + */ +/* Copyright (c) 2011 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ +/* + ;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ +*/ + + + .syntax unified + .arch armv7-m + +/* .eabi_attribute Tag_ABI_align8_preserved,1 www.support.code-red-tech.com/CodeRedWiki/Preserve8 */ +.eabi_attribute 25, 1 /* Tag_ABI_align_preserved */ + + .global Image$$ARM_LIB_STACK$$ZI$$Limit + + + .section RESET, "x" + .align 2 + .globl __Vectors + .globl __Vectors_End + .globl __Vectors_Size +__Vectors: + .long Image$$ARM_LIB_STACK$$ZI$$Limit /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long MemManage_Handler /* MPU Fault Handler */ + .long BusFault_Handler /* Bus Fault Handler */ + .long UsageFault_Handler /* Usage Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long DebugMon_Handler /* Debug Monitor Handler */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ +__Vectors_End: + + .equ __Vectors_Size, __Vectors_End - __Vectors + + + .text + .thumb + .align 2 + + .globl Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function + .thumb_func +Reset_Handler: + bl SystemInit + bl __main + + .globl NMI_Handler + .weak NMI_Handler + .type NMI_Handler, %function + .thumb_func +NMI_Handler: + bkpt #0 + b . + + .globl HardFault_Handler + .weak HardFault_Handler + .type HardFault_Handler, %function + .thumb_func +HardFault_Handler: + bkpt #0 + b . + + .globl MemManage_Handler + .weak MemManage_Handler + .type MemManage_Handler, %function + .thumb_func +MemManage_Handler: + bkpt #0 + b . + + .globl BusFault_Handler + .weak BusFault_Handler + .type BusFault_Handler, %function + .thumb_func +BusFault_Handler: + bkpt #0 + b . + + .globl UsageFault_Handler + .weak UsageFault_Handler + .type UsageFault_Handler, %function + .thumb_func +UsageFault_Handler: + bkpt #0 + b . + + .globl SVC_Handler + .weak SVC_Handler + .type SVC_Handler, %function + .thumb_func +SVC_Handler: + bkpt #0 + b . + + .globl DebugMon_Handler + .weak DebugMon_Handler + .type DebugMon_Handler, %function + .thumb_func +DebugMon_Handler: + bkpt #0 + b . + + .globl PendSV_Handler + .weak PendSV_Handler + .type PendSV_Handler, %function + .thumb_func +PendSV_Handler: + bkpt #0 + b . + + .globl SysTick_Handler + .weak SysTick_Handler + .type SysTick_Handler, %function + .thumb_func +SysTick_Handler: + bkpt #0 + b . + + .end diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/Retarget.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/Retarget.c new file mode 100644 index 0000000..876ce8c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/Retarget.c @@ -0,0 +1,106 @@ +/*---------------------------------------------------------------------------- + * Name: Retarget.c + * Purpose: 'Retarget' layer for target-dependent low level functions + * Note(s): + *---------------------------------------------------------------------------- + * This file is part of the uVision/ARM development tools. + * This software may only be used under the terms of a valid, current, + * end user licence from KEIL for a compatible version of KEIL software + * development tools. Nothing else gives you the right to use this software. + * + * This software is supplied "AS IS" without warranties of any kind. + * + * Copyright (c) 2012 Keil - An ARM Company. All rights reserved. + *----------------------------------------------------------------------------*/ + +#include +#include +#include + +int SER_PutChar (int c) { + + return (c); +} + +int SER_GetChar (void) { + + return (-1); +} + +/*-- GCC - Newlib runtime support --------------------------------------------*/ + +extern int __HeapBase; +extern int __HeapLimit; + +int _open (const char * path, int flags, ...) +{ + return (-1); +} + +int _close (int fd) +{ + return (-1); +} + +int _lseek (int fd, int ptr, int dir) +{ + return (0); +} + +int __attribute__((weak)) _fstat (int fd, struct stat * st) +{ + memset (st, 0, sizeof (* st)); + st->st_mode = S_IFCHR; + return (0); +} + +int _isatty (int fd) +{ + return (1); +} + +int _read (int fd, char * ptr, int len) +{ + char c; + int i; + + for (i = 0; i < len; i++) + { + c = SER_GetChar(); + if (c == 0x0D) break; + *ptr++ = c; + SER_PutChar(c); + } + return (len - i); +} + +int _write (int fd, char * ptr, int len) +{ + int i; + + for (i = 0; i < len; i++) SER_PutChar (*ptr++); + return (i); +} + +caddr_t _sbrk (int incr) +{ + static char * heap; + char * prev_heap; + + if (heap == NULL) + { + heap = (char *)&__HeapBase; + } + + prev_heap = heap; + + if ((heap + incr) > (char *)&__HeapLimit) + { + errno = ENOMEM; + return (caddr_t) -1; + } + + heap += incr; + + return (caddr_t) prev_heap; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv6-m.S b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv6-m.S new file mode 100644 index 0000000..a5e14f1 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv6-m.S @@ -0,0 +1,263 @@ +/* File: startup_armv6-m.S + * Purpose: startup file for armv6-m architecture devices. + * Should be used with GCC for ARM Embedded Processors + * Version: V2.00 + * Date: 16 November 2015 + * + */ +/* Copyright (c) 2011 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + + + .syntax unified + .arch armv6-m + + .section .stack + .align 3 +#ifdef __STACK_SIZE + .equ Stack_Size, __STACK_SIZE +#else + .equ Stack_Size, 0x00000400 +#endif + .globl __StackTop + .globl __StackLimit +__StackLimit: + .space Stack_Size + .size __StackLimit, . - __StackLimit +__StackTop: + .size __StackTop, . - __StackTop + + .section .heap + .align 3 +#ifdef __HEAP_SIZE + .equ Heap_Size, __HEAP_SIZE +#else + .equ Heap_Size, 0x00000C00 +#endif + .globl __HeapBase + .globl __HeapLimit +__HeapBase: + .if Heap_Size + .space Heap_Size + .endif + .size __HeapBase, . - __HeapBase +__HeapLimit: + .size __HeapLimit, . - __HeapLimit + + .section .vectors + .align 2 + .globl __Vectors +__Vectors: + .long __StackTop /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ + + .size __Vectors, . - __Vectors + + .text + .thumb + .thumb_func + .align 1 + .globl Reset_Handler + .type Reset_Handler, %function +Reset_Handler: +/* Firstly it copies data from read only memory to RAM. There are two schemes + * to copy. One can copy more than one sections. Another can only copy + * one section. The former scheme needs more instructions and read-only + * data to implement than the latter. + * Macro __STARTUP_COPY_MULTIPLE is used to choose between two schemes. */ + +#ifdef __STARTUP_COPY_MULTIPLE +/* Multiple sections scheme. + * + * Between symbol address __copy_table_start__ and __copy_table_end__, + * there are array of triplets, each of which specify: + * offset 0: LMA of start of a section to copy from + * offset 4: VMA of start of a section to copy to + * offset 8: size of the section to copy. Must be multiply of 4 + * + * All addresses must be aligned to 4 bytes boundary. + */ + ldr r4, =__copy_table_start__ + ldr r5, =__copy_table_end__ + +.L_loop0: + cmp r4, r5 + bge .L_loop0_done + ldr r1, [r4] + ldr r2, [r4, #4] + ldr r3, [r4, #8] + +.L_loop0_0: + subs r3, #4 + blt .L_loop0_0_done + ldr r0, [r1, r3] + str r0, [r2, r3] + b .L_loop0_0 + +.L_loop0_0_done: + adds r4, #12 + b .L_loop0 + +.L_loop0_done: +#else +/* Single section scheme. + * + * The ranges of copy from/to are specified by following symbols + * __etext: LMA of start of the section to copy from. Usually end of text + * __data_start__: VMA of start of the section to copy to + * __data_end__: VMA of end of the section to copy to + * + * All addresses must be aligned to 4 bytes boundary. + */ + ldr r1, =__etext + ldr r2, =__data_start__ + ldr r3, =__data_end__ + + subs r3, r2 + ble .L_loop1_done + +.L_loop1: + subs r3, #4 + ldr r0, [r1,r3] + str r0, [r2,r3] + bgt .L_loop1 + +.L_loop1_done: +#endif /*__STARTUP_COPY_MULTIPLE */ + +/* This part of work usually is done in C library startup code. Otherwise, + * define this macro to enable it in this startup. + * + * There are two schemes too. One can clear multiple BSS sections. Another + * can only clear one section. The former is more size expensive than the + * latter. + * + * Define macro __STARTUP_CLEAR_BSS_MULTIPLE to choose the former. + * Otherwise efine macro __STARTUP_CLEAR_BSS to choose the later. + */ +#ifdef __STARTUP_CLEAR_BSS_MULTIPLE +/* Multiple sections scheme. + * + * Between symbol address __copy_table_start__ and __copy_table_end__, + * there are array of tuples specifying: + * offset 0: Start of a BSS section + * offset 4: Size of this BSS section. Must be multiply of 4 + */ + ldr r3, =__zero_table_start__ + ldr r4, =__zero_table_end__ + +.L_loop2: + cmp r3, r4 + bge .L_loop2_done + ldr r1, [r3] + ldr r2, [r3, #4] + movs r0, 0 + +.L_loop2_0: + subs r2, #4 + blt .L_loop2_0_done + str r0, [r1, r2] + b .L_loop2_0 +.L_loop2_0_done: + + adds r3, #8 + b .L_loop2 +.L_loop2_done: +#elif defined (__STARTUP_CLEAR_BSS) +/* Single BSS section scheme. + * + * The BSS section is specified by following symbols + * __bss_start__: start of the BSS section. + * __bss_end__: end of the BSS section. + * + * Both addresses must be aligned to 4 bytes boundary. + */ + ldr r1, =__bss_start__ + ldr r2, =__bss_end__ + + movs r0, 0 + + subs r2, r1 + ble .L_loop3_done + +.L_loop3: + subs r2, #4 + str r0, [r1, r2] + bgt .L_loop3 +.L_loop3_done: +#endif /* __STARTUP_CLEAR_BSS_MULTIPLE || __STARTUP_CLEAR_BSS */ + +#ifndef __NO_SYSTEM_INIT + bl SystemInit +#endif + +#ifndef __START +#define __START _start +#endif + bl __START + + .pool + .size Reset_Handler, . - Reset_Handler + + .align 1 + .thumb_func + .weak Default_Handler + .type Default_Handler, %function +Default_Handler: + bkpt #0 + b . + .size Default_Handler, . - Default_Handler + +/* Macro to define default handlers. Default handler + * will be weak symbol and just dead loops. They can be + * overwritten by other handlers */ + .macro def_irq_handler handler_name + .weak \handler_name + .set \handler_name, Default_Handler + .endm + + def_irq_handler NMI_Handler + def_irq_handler HardFault_Handler + def_irq_handler SVC_Handler + def_irq_handler PendSV_Handler + def_irq_handler SysTick_Handler + + .end diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv7-m.S b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv7-m.S new file mode 100644 index 0000000..35b388c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/GCC/startup_armv7-m.S @@ -0,0 +1,257 @@ +/* File: startup_armv7-m.S + * Purpose: startup file for armv7-m architecture devices. + * Should be used with GCC for ARM Embedded Processors + * Version: V2.00 + * Date: 16 November 2015 + * + */ +/* Copyright (c) 2011 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + + + .syntax unified + .arch armv7-m + + .section .stack + .align 3 +#ifdef __STACK_SIZE + .equ Stack_Size, __STACK_SIZE +#else + .equ Stack_Size, 0x00000400 +#endif + .globl __StackTop + .globl __StackLimit +__StackLimit: + .space Stack_Size + .size __StackLimit, . - __StackLimit +__StackTop: + .size __StackTop, . - __StackTop + + .section .heap + .align 3 +#ifdef __HEAP_SIZE + .equ Heap_Size, __HEAP_SIZE +#else + .equ Heap_Size, 0x00000C00 +#endif + .globl __HeapBase + .globl __HeapLimit +__HeapBase: + .if Heap_Size + .space Heap_Size + .endif + .size __HeapBase, . - __HeapBase +__HeapLimit: + .size __HeapLimit, . - __HeapLimit + + .section .vectors + .align 2 + .globl __Vectors +__Vectors: + .long __StackTop /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long MemManage_Handler /* MPU Fault Handler */ + .long BusFault_Handler /* Bus Fault Handler */ + .long UsageFault_Handler /* Usage Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long DebugMon_Handler /* Debug Monitor Handler */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ + + .size __Vectors, . - __Vectors + + .text + .thumb + .thumb_func + .align 2 + .globl Reset_Handler + .type Reset_Handler, %function +Reset_Handler: +/* Firstly it copies data from read only memory to RAM. There are two schemes + * to copy. One can copy more than one sections. Another can only copy + * one section. The former scheme needs more instructions and read-only + * data to implement than the latter. + * Macro __STARTUP_COPY_MULTIPLE is used to choose between two schemes. */ + +#ifdef __STARTUP_COPY_MULTIPLE +/* Multiple sections scheme. + * + * Between symbol address __copy_table_start__ and __copy_table_end__, + * there are array of triplets, each of which specify: + * offset 0: LMA of start of a section to copy from + * offset 4: VMA of start of a section to copy to + * offset 8: size of the section to copy. Must be multiply of 4 + * + * All addresses must be aligned to 4 bytes boundary. + */ + ldr r4, =__copy_table_start__ + ldr r5, =__copy_table_end__ + +.L_loop0: + cmp r4, r5 + bge .L_loop0_done + ldr r1, [r4] + ldr r2, [r4, #4] + ldr r3, [r4, #8] + +.L_loop0_0: + subs r3, #4 + ittt ge + ldrge r0, [r1, r3] + strge r0, [r2, r3] + bge .L_loop0_0 + + adds r4, #12 + b .L_loop0 + +.L_loop0_done: +#else +/* Single section scheme. + * + * The ranges of copy from/to are specified by following symbols + * __etext: LMA of start of the section to copy from. Usually end of text + * __data_start__: VMA of start of the section to copy to + * __data_end__: VMA of end of the section to copy to + * + * All addresses must be aligned to 4 bytes boundary. + */ + ldr r1, =__etext + ldr r2, =__data_start__ + ldr r3, =__data_end__ + +.L_loop1: + cmp r2, r3 + ittt lt + ldrlt r0, [r1], #4 + strlt r0, [r2], #4 + blt .L_loop1 +#endif /*__STARTUP_COPY_MULTIPLE */ + +/* This part of work usually is done in C library startup code. Otherwise, + * define this macro to enable it in this startup. + * + * There are two schemes too. One can clear multiple BSS sections. Another + * can only clear one section. The former is more size expensive than the + * latter. + * + * Define macro __STARTUP_CLEAR_BSS_MULTIPLE to choose the former. + * Otherwise efine macro __STARTUP_CLEAR_BSS to choose the later. + */ +#ifdef __STARTUP_CLEAR_BSS_MULTIPLE +/* Multiple sections scheme. + * + * Between symbol address __copy_table_start__ and __copy_table_end__, + * there are array of tuples specifying: + * offset 0: Start of a BSS section + * offset 4: Size of this BSS section. Must be multiply of 4 + */ + ldr r3, =__zero_table_start__ + ldr r4, =__zero_table_end__ + +.L_loop2: + cmp r3, r4 + bge .L_loop2_done + ldr r1, [r3] + ldr r2, [r3, #4] + movs r0, 0 + +.L_loop2_0: + subs r2, #4 + itt ge + strge r0, [r1, r2] + bge .L_loop2_0 + + adds r3, #8 + b .L_loop2 +.L_loop2_done: +#elif defined (__STARTUP_CLEAR_BSS) +/* Single BSS section scheme. + * + * The BSS section is specified by following symbols + * __bss_start__: start of the BSS section. + * __bss_end__: end of the BSS section. + * + * Both addresses must be aligned to 4 bytes boundary. + */ + ldr r1, =__bss_start__ + ldr r2, =__bss_end__ + + movs r0, 0 +.L_loop3: + cmp r1, r2 + itt lt + strlt r0, [r1], #4 + blt .L_loop3 +#endif /* __STARTUP_CLEAR_BSS_MULTIPLE || __STARTUP_CLEAR_BSS */ + +#ifndef __NO_SYSTEM_INIT + bl SystemInit +#endif + +#ifndef __START +#define __START _start +#endif + bl __START + + .pool + .size Reset_Handler, . - Reset_Handler + + .align 1 + .thumb_func + .weak Default_Handler + .type Default_Handler, %function +Default_Handler: + bkpt #0 + b . + .size Default_Handler, . - Default_Handler + +/* Macro to define default handlers. Default handler + * will be weak symbol and just dead loops. They can be + * overwritten by other handlers */ + .macro def_irq_handler handler_name + .weak \handler_name + .set \handler_name, Default_Handler + .endm + + def_irq_handler NMI_Handler + def_irq_handler HardFault_Handler + def_irq_handler MemManage_Handler + def_irq_handler BusFault_Handler + def_irq_handler UsageFault_Handler + def_irq_handler SVC_Handler + def_irq_handler DebugMon_Handler + def_irq_handler PendSV_Handler + def_irq_handler SysTick_Handler + + .end diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/startup_generic.S b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/startup_generic.S new file mode 100644 index 0000000..91a9ea3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/startup_generic.S @@ -0,0 +1,68 @@ + +#if defined (__CC_ARM) + #if (defined (ARMCM0)) + #include "ARMCC\startup_armv6-m.s" + #elif (defined (ARMCM0P) || defined (ARMCM0P_MPU)) + #include "ARMCC\startup_armv6-m.s" + #elif (defined (ARMCM3)) + #include "ARMCC\startup_armv7-m.s" + #elif (defined (ARMCM4) || defined (ARMCM4_FP)) + #include "ARMCC\startup_armv7-m.s" + #elif (defined (ARMCM7) || defined (ARMCM7_SP) || defined (ARMCM7_DP)) + #include "ARMCC\startup_armv7-m.s" + #elif (defined (ARMv8MBL)) + #include "ARMCC\startup_armv6-m.s" + #elif (defined (ARMv8MML) || defined (ARMv8MML_DSP) || \ + defined (ARMv8MML_SP) || defined (ARMv8MML_DSP_SP) || \ + defined (ARMv8MML_DP) || defined (ARMv8MML_DSP_DP) ) + #include "ARMCC\startup_armv7-m.s" + #else + #error "No appropriate startup file found!" + #endif + +#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #if (defined (ARMCM0)) + #include "ARMCLANG\startup_armv6-m.S" + #elif (defined (ARMCM0P) || defined (ARMCM0P_MPU)) + #include "ARMCLANG\startup_armv6-m.S" + #elif (defined (ARMCM3)) + #include "ARMCLANG\startup_armv7-m.S" + #elif (defined (ARMCM4) || defined (ARMCM4_FP)) + #include "ARMCLANG\startup_armv7-m.S" + #elif (defined (ARMCM7) || defined (ARMCM7_SP) || defined (ARMCM7_DP)) + #include "ARMCLANG\startup_armv7-m.S" + #elif (defined (ARMv8MBL)) + #include "ARMCLANG\startup_armv6-m.S" + #elif (defined (ARMv8MML) || defined (ARMv8MML_DSP) || \ + defined (ARMv8MML_SP) || defined (ARMv8MML_DSP_SP) || \ + defined (ARMv8MML_DP) || defined (ARMv8MML_DSP_DP) ) + #include "ARMCLANG\startup_armv7-m.S" + #else + #error "No appropriate startup file found!" + #endif + +#elif defined (__GNUC__) + #if (defined (ARMCM0)) + #include "GCC\startup_armv6-m.S" + #elif (defined (ARMCM0P) || defined (ARMCM0P_MPU)) + #include "GCC\startup_armv6-m.S" + #elif (defined (ARMCM3)) + #include "GCC\startup_armv7-m.S" + #elif (defined (ARMCM4) || defined (ARMCM4_FP)) + #include "GCC\startup_armv7-m.S" + #elif (defined (ARMCM7) || defined (ARMCM7_SP) || defined (ARMCM7_DP)) + #include "GCC\startup_armv7-m.S" + #elif (defined (ARMv8MBL)) + #include "GCC\startup_armv6-m.S" + #elif (defined (ARMv8MML) || defined (ARMv8MML_DSP) || \ + defined (ARMv8MML_SP) || defined (ARMv8MML_DSP_SP) || \ + defined (ARMv8MML_DP) || defined (ARMv8MML_DSP_DP) ) + #include "GCC\startup_armv7-m.S" + #else + #error "No appropriate startup file found!" + #endif + +#else + #error "Compiler not supported!" +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM0.c new file mode 100644 index 0000000..177fc83 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM23.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM23.c new file mode 100644 index 0000000..1807ce7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM23.c @@ -0,0 +1,82 @@ +/**************************************************************************//** + * @file system_ARMCM23.c + * @brief CMSIS Device System Source File for + * ARMCM23 Device Series + * @version V5.00 + * @date 21. October 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM23) + #include "ARMCM23.h" +#elif defined (ARMCM23_TZ) + #include "ARMCM23_TZ.h" + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #include "partition_ARMCM23.h" + #endif +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + TZ_SAU_Setup(); +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM3.c new file mode 100644 index 0000000..b072192 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM33.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM33.c new file mode 100644 index 0000000..d232877 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM33.c @@ -0,0 +1,99 @@ +/**************************************************************************//** + * @file system_ARMCM33.c + * @brief CMSIS Device System Source File for + * ARMCM33 Device Series + * @version V5.00 + * @date 02. November 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM33) + #include "ARMCM33.h" +#elif defined (ARMCM33_TZ) + #include "ARMCM33_TZ.h" + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #include "partition_ARMCM33.h" + #endif +#elif defined (ARMCM33_DSP_FP) + #include "ARMCM33_DSP_FP.h" +#elif defined (ARMCM33_DSP_FP_TZ) + #include "ARMCM33_DSP_FP_TZ.h" + + #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #include "partition_ARMCM33.h" + #endif +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* set CP10 Full Access */ + (3U << 11U*2U) ); /* set CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + TZ_SAU_Setup(); +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM4.c new file mode 100644 index 0000000..9ba60fa --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* set CP10 Full Access */ + (3U << 11U*2U) ); /* set CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM7.c new file mode 100644 index 0000000..b5045f0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* set CP10 Full Access */ + (3U << 11U*2U) ); /* set CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC000.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC000.c new file mode 100644 index 0000000..74bf4e6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC000.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMSC000.c + * @brief CMSIS Device System Source File for + * for ARMSC000 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMSC000.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC300.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC300.c new file mode 100644 index 0000000..5aafb1c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMSC300.c @@ -0,0 +1,72 @@ +/**************************************************************************//** + * @file system_ARMSC300.c + * @brief CMSIS Device System Source File for + * ARMSC300 Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMSC300.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MBL.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MBL.c new file mode 100644 index 0000000..7e652c6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MBL.c @@ -0,0 +1,76 @@ +/**************************************************************************//** + * @file system_ARMv8MBL.c + * @brief CMSIS Device System Source File for + * ARMv8MBL Device Series + * @version V5.00 + * @date 07. September 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMv8MBL.h" + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #include "partition_ARMv8MBL.h" +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + TZ_SAU_Setup(); +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MML.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MML.c new file mode 100644 index 0000000..451a533 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_ARMv8MML.c @@ -0,0 +1,99 @@ +/**************************************************************************//** + * @file system_ARMv8MML.c + * @brief CMSIS Device System Source File for + * ARMv8MML Device Series + * @version V5.00 + * @date 02. November 2016 + ******************************************************************************/ +/* + * Copyright (c) 2009-2016 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMv8MML) + #include "ARMv8MML.h" +#elif defined (ARMv8MML_DSP) + #include "ARMv8MML_DSP.h" +#elif defined (ARMv8MML_SP) + #include "ARMv8MML_SP.h" +#elif defined (ARMv8MML_DSP_SP) + #include "ARMv8MML_DSP_SP.h" +#elif defined (ARMv8MML_DP) + #include "ARMv8MML_DP.h" +#elif defined (ARMv8MML_DSP_DP) + #include "ARMv8MML_DSP_DP.h" +#else + #error device not specified! +#endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + #include "partition_ARMv8MML.h" +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL ( 5000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (5U * XTAL) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* set CP10 Full Access */ + (3U << 11U*2U) ); /* set CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) + TZ_SAU_Setup(); +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_generic.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_generic.c new file mode 100644 index 0000000..4db5f76 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/platform/system_generic.c @@ -0,0 +1,27 @@ + +#if (defined (ARMCM0)) + #include "system_ARMCM0.c" + +#elif (defined (ARMCM0P)) + #include "system_ARMCM0plus.c" + +#elif (defined (ARMCM3)) + #include "system_ARMCM3.c" + +#elif (defined (ARMCM4) || defined (ARMCM4_FP)) + #include "system_ARMCM4.c" + +#elif (defined (ARMCM7) || defined (ARMCM7_SP) || defined (ARMCM7_DP)) + #include "system_ARMCM7.c" + +#elif defined (ARMv8MBL) + #include "system_ARMv8MBL.c" + +#elif (defined (ARMv8MML) || defined (ARMv8MML_DSP) || \ + defined (ARMv8MML_SP) || defined (ARMv8MML_DSP_SP) || \ + defined (ARMv8MML_DP) || defined (ARMv8MML_DSP_DP) ) + #include "system_ARMv8MML.c" + +#else + #error "No appropriate system file found!" +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/all_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/all_tests.c new file mode 100644 index 0000000..2926273 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/all_tests.c @@ -0,0 +1,62 @@ +#include "jtest.h" +#include "basic_math_test_group.h" +#include "complex_math_test_group.h" +#include "controller_test_group.h" +#include "fast_math_test_group.h" +#include "filtering_test_group.h" +#include "matrix_test_group.h" +#include "statistics_test_group.h" +#include "support_test_group.h" +#include "transform_test_group.h" +#include "intrinsics_test_group.h" + +JTEST_DEFINE_GROUP(all_tests) +{ + /* + To skip a test, comment it out + */ +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_BASICMATH_TESTS) + JTEST_GROUP_CALL(basic_math_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_COMPLEXMATH_TESTS) + JTEST_GROUP_CALL(complex_math_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_CONTROLLER_TESTS) + JTEST_GROUP_CALL(controller_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_FASTMATH_TESTS) + JTEST_GROUP_CALL(fast_math_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_FILTERING_TESTS) + /* Biquad df2T_f32 will fail with Neon. The test must be updated. + Neon implementation is requiring a different initialization. + */ + JTEST_GROUP_CALL(filtering_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_MATRIX_TESTS) + JTEST_GROUP_CALL(matrix_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_STATISTICS_TESTS) + JTEST_GROUP_CALL(statistics_tests); +#endif() + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_SUPPORT_TESTS) + JTEST_GROUP_CALL(support_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_TRANSFORM_TESTS) + JTEST_GROUP_CALL(transform_tests); +#endif + +#if !defined(CUSTOMIZE_TESTS) || defined(ENABLE_INTRINSICS_TESTS) + JTEST_GROUP_CALL(intrinsics_tests); +#endif + + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/abs_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/abs_tests.c new file mode 100644 index 0000000..a2dda4d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/abs_tests.c @@ -0,0 +1,32 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_ABS_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + abs, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix)) + +JTEST_ARM_ABS_TEST(f32); +JTEST_ARM_ABS_TEST(q31); +JTEST_ARM_ABS_TEST(q15); +JTEST_ARM_ABS_TEST(q7 ); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(abs_tests) +{ + JTEST_TEST_CALL(arm_abs_f32_test); + JTEST_TEST_CALL(arm_abs_q31_test); + JTEST_TEST_CALL(arm_abs_q15_test); + JTEST_TEST_CALL(arm_abs_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/add_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/add_tests.c new file mode 100644 index 0000000..85a018d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/add_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_ADD_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + add, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + BASIC_MATH_COMPARE_INTERFACE) + +JTEST_ARM_ADD_TEST(f32); +JTEST_ARM_ADD_TEST(q31); +JTEST_ARM_ADD_TEST(q15); +JTEST_ARM_ADD_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(add_tests) +{ + JTEST_TEST_CALL(arm_add_f32_test); + JTEST_TEST_CALL(arm_add_q31_test); + JTEST_TEST_CALL(arm_add_q15_test); + JTEST_TEST_CALL(arm_add_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_common_data.c new file mode 100644 index 0000000..45c2167 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_common_data.c @@ -0,0 +1,101 @@ +#include "basic_math_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(BASIC_MATH_BIGGEST_INPUT_TYPE, + basic_math_output_fut, + BASIC_MATH_MAX_INPUT_ELEMENTS, + CURLY(0)); + +ARR_DESC_DEFINE(BASIC_MATH_BIGGEST_INPUT_TYPE, + basic_math_output_ref, + BASIC_MATH_MAX_INPUT_ELEMENTS, + CURLY(0)); + +BASIC_MATH_BIGGEST_INPUT_TYPE +basic_math_output_f32_ref[BASIC_MATH_MAX_INPUT_ELEMENTS]; + +BASIC_MATH_BIGGEST_INPUT_TYPE +basic_math_output_f32_fut[BASIC_MATH_MAX_INPUT_ELEMENTS]; + +/*--------------------------------------------------------------------------------*/ +/* Block Sizes */ +/*--------------------------------------------------------------------------------*/ + +/* + To change test parameter values add/remove values inside CURLY and update + the preceeding parameter to reflect the number of values inside CURLY. +*/ + +ARR_DESC_DEFINE(uint32_t, + basic_math_block_sizes, + 4, + CURLY( 2, 7, 15, 32)); + +/*--------------------------------------------------------------------------------*/ +/* Numbers */ +/*--------------------------------------------------------------------------------*/ + +/* + To change test parameter values add/remove values inside CURLY and update + the preceeding parameter to reflect the number of values inside CURLY. +*/ + +ARR_DESC_DEFINE(uint32_t, + basic_math_elts, + 4, + CURLY( 0, 1, 0x80000000, 0x7fffffff)); + +ARR_DESC_DEFINE(int8_t, + basic_math_elts2, + 5, + CURLY( 0, 3, -3, -7, 7)); + +ARR_DESC_DEFINE(float32_t, + basic_math_eltsf, + 6, + CURLY( 0.0f, 1.0f, 1.254001, -1.665584, -127.435646, 245.34634267)); + +/*--------------------------------------------------------------------------------*/ +/* Test Data */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(float32_t, + basic_math_f_32, + 32, + CURLY( + -0.432565, -1.665584, 0.125332, 0.287676, -1.146471, + 1.190915, 1.189164, -0.037633, 0.327292, 0.174639, + -0.186709, 0.725791, -0.588317, 2.183186, -0.136396, + 0.113931, 1.066768, 0.059281, -0.095648, -0.832349, + 0.294411, -1.336182, 0.714325, 1.623562, -0.691776, + 0.857997, 1.254001, -1.593730, -1.440964, 0.571148, + -0.399886, 0.689997 + )); + +/* Alias the 32 element array with wrappers that end sooner. */ +ARR_DESC_DEFINE_SUBSET(basic_math_f_15, + basic_math_f_32, + 15); + +ARR_DESC_DEFINE_SUBSET(basic_math_f_2, + basic_math_f_32, + 2); + +ARR_DESC_DEFINE(float32_t, + basic_math_zeros, + 32, + CURLY(0)); + +/* Aggregate all float datasets. */ +ARR_DESC_DEFINE(ARR_DESC_t *, + basic_math_f_all, + 4, + CURLY( + &basic_math_zeros, + &basic_math_f_2, + &basic_math_f_15, + &basic_math_f_32 + )); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_group.c new file mode 100644 index 0000000..c1ea8ba --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/basic_math_test_group.c @@ -0,0 +1,17 @@ +#include "jtest.h" +#include "basic_math_tests.h" + +JTEST_DEFINE_GROUP(basic_math_tests) +{ + JTEST_GROUP_CALL(abs_tests); + JTEST_GROUP_CALL(add_tests); + JTEST_GROUP_CALL(dot_prod_tests); + JTEST_GROUP_CALL(mult_tests); + JTEST_GROUP_CALL(negate_tests); + JTEST_GROUP_CALL(offset_tests); + JTEST_GROUP_CALL(scale_tests); + JTEST_GROUP_CALL(shift_tests); + JTEST_GROUP_CALL(sub_tests); + + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/dot_prod_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/dot_prod_tests.c new file mode 100644 index 0000000..e92d6e7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/dot_prod_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_DOT_PROD_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + dot_prod, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + BASIC_MATH_SNR_ELT1_COMPARE_INTERFACE) + +JTEST_ARM_DOT_PROD_TEST(f32); +JTEST_ARM_DOT_PROD_TEST(q31); +JTEST_ARM_DOT_PROD_TEST(q15); +JTEST_ARM_DOT_PROD_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(dot_prod_tests) +{ + JTEST_TEST_CALL(arm_dot_prod_f32_test); + JTEST_TEST_CALL(arm_dot_prod_q31_test); + JTEST_TEST_CALL(arm_dot_prod_q15_test); + JTEST_TEST_CALL(arm_dot_prod_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/mult_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/mult_tests.c new file mode 100644 index 0000000..d735ade --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/mult_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MULT_TEST(suffix, compare_interface) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + mult, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + compare_interface) + +JTEST_ARM_MULT_TEST(f32, BASIC_MATH_COMPARE_INTERFACE); +JTEST_ARM_MULT_TEST(q31, BASIC_MATH_SNR_COMPARE_INTERFACE); +JTEST_ARM_MULT_TEST(q15, BASIC_MATH_COMPARE_INTERFACE); +JTEST_ARM_MULT_TEST(q7 , BASIC_MATH_COMPARE_INTERFACE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mult_tests) +{ + JTEST_TEST_CALL(arm_mult_f32_test); + JTEST_TEST_CALL(arm_mult_q31_test); + JTEST_TEST_CALL(arm_mult_q15_test); + JTEST_TEST_CALL(arm_mult_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/negate_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/negate_tests.c new file mode 100644 index 0000000..4b96dc2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/negate_tests.c @@ -0,0 +1,32 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_NEGATE_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + negate, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix)) + +JTEST_ARM_NEGATE_TEST(f32); +JTEST_ARM_NEGATE_TEST(q31); +JTEST_ARM_NEGATE_TEST(q15); +JTEST_ARM_NEGATE_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(negate_tests) +{ + JTEST_TEST_CALL(arm_negate_f32_test); + JTEST_TEST_CALL(arm_negate_q31_test); + JTEST_TEST_CALL(arm_negate_q15_test); + JTEST_TEST_CALL(arm_negate_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/offset_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/offset_tests.c new file mode 100644 index 0000000..f95e523 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/offset_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_OFFSET_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_ELT1_BLK( \ + offset, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix)) + +JTEST_ARM_OFFSET_TEST(f32); +JTEST_ARM_OFFSET_TEST(q31); +JTEST_ARM_OFFSET_TEST(q15); +JTEST_ARM_OFFSET_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(offset_tests) +{ + JTEST_TEST_CALL(arm_offset_f32_test); + JTEST_TEST_CALL(arm_offset_q31_test); + JTEST_TEST_CALL(arm_offset_q15_test); + JTEST_TEST_CALL(arm_offset_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/scale_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/scale_tests.c new file mode 100644 index 0000000..09fda86 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/scale_tests.c @@ -0,0 +1,52 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + + +#define JTEST_ARM_SCALE_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_ELT2_BLK( \ + scale, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), /*elt1_type*/ \ + int8_t, /*elt2_type*/ \ + TYPE_FROM_ABBREV(suffix)) + +/* float32_t defined separately because it has less arguments */ +JTEST_DEFINE_TEST(arm_scale_f32_test, + arm_scale_f32) +{ + TEST_TEMPLATE_BUF1_ELT1_BLK( + basic_math_f_all, + basic_math_eltsf, + basic_math_block_sizes, + float32_t, + float32_t, + float32_t, + arm_scale_f32, + ARM_scale_float_INPUT_INTERFACE, + ref_scale_f32, + REF_scale_float_INPUT_INTERFACE, + BASIC_MATH_COMPARE_INTERFACE); +} + +JTEST_ARM_SCALE_TEST(q31); +JTEST_ARM_SCALE_TEST(q15); +JTEST_ARM_SCALE_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(scale_tests) +{ + JTEST_TEST_CALL(arm_scale_f32_test); + JTEST_TEST_CALL(arm_scale_q31_test); + JTEST_TEST_CALL(arm_scale_q15_test); + JTEST_TEST_CALL(arm_scale_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/shift_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/shift_tests.c new file mode 100644 index 0000000..c3cd547 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/shift_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_SHIFT_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF1_ELT1_BLK( \ + shift, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + int8_t, /*elt_type*/ \ + TYPE_FROM_ABBREV(suffix)) + +JTEST_ARM_SHIFT_TEST(q31); +JTEST_ARM_SHIFT_TEST(q15); +JTEST_ARM_SHIFT_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(shift_tests) +{ + JTEST_TEST_CALL(arm_shift_q31_test); + JTEST_TEST_CALL(arm_shift_q15_test); + JTEST_TEST_CALL(arm_shift_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/sub_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/sub_tests.c new file mode 100644 index 0000000..e52e73b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/basic_math_tests/sub_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "basic_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "basic_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_SUB_TEST(suffix) \ + BASIC_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + sub, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + BASIC_MATH_COMPARE_INTERFACE) + +JTEST_ARM_SUB_TEST(f32); +JTEST_ARM_SUB_TEST(q31); +JTEST_ARM_SUB_TEST(q15); +JTEST_ARM_SUB_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(sub_tests) +{ + JTEST_TEST_CALL(arm_sub_f32_test); + JTEST_TEST_CALL(arm_sub_q31_test); + JTEST_TEST_CALL(arm_sub_q15_test); + JTEST_TEST_CALL(arm_sub_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_conj_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_conj_tests.c new file mode 100644 index 0000000..24b5cf9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_conj_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_CONJ_TEST(suffix) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + cmplx_conj, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + COMPLEX_MATH_SNR_COMPARE_CMPLX_INTERFACE) + +JTEST_ARM_CMPLX_CONJ_TEST(f32); +JTEST_ARM_CMPLX_CONJ_TEST(q31); +JTEST_ARM_CMPLX_CONJ_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_conj_tests) +{ + JTEST_TEST_CALL(arm_cmplx_conj_f32_test); + JTEST_TEST_CALL(arm_cmplx_conj_q31_test); + JTEST_TEST_CALL(arm_cmplx_conj_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_dot_prod_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_dot_prod_tests.c new file mode 100644 index 0000000..d9b5bfa --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_dot_prod_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_DOT_PROD_TEST(suffix, comparison_interface) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + cmplx_dot_prod, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + comparison_interface) + +JTEST_ARM_CMPLX_DOT_PROD_TEST(f32, COMPLEX_MATH_SNR_COMPARE_SPLIT_INTERFACE); +JTEST_ARM_CMPLX_DOT_PROD_TEST(q31, COMPLEX_MATH_SNR_COMPARE_SPLIT_INTERFACE); +JTEST_ARM_CMPLX_DOT_PROD_TEST(q15, COMPLEX_MATH_SNR_COMPARE_SPLIT_INTERFACE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_dot_prod_tests) +{ + JTEST_TEST_CALL(arm_cmplx_dot_prod_f32_test); + JTEST_TEST_CALL(arm_cmplx_dot_prod_q31_test); + JTEST_TEST_CALL(arm_cmplx_dot_prod_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_squared_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_squared_tests.c new file mode 100644 index 0000000..55e9541 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_squared_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_MAG_SQUARED_TEST(suffix) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + cmplx_mag_squared, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + COMPLEX_MATH_COMPARE_RE_INTERFACE) + +JTEST_ARM_CMPLX_MAG_SQUARED_TEST(f32); +JTEST_ARM_CMPLX_MAG_SQUARED_TEST(q31); +JTEST_ARM_CMPLX_MAG_SQUARED_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_mag_squared_tests) +{ + JTEST_TEST_CALL(arm_cmplx_mag_squared_f32_test); + JTEST_TEST_CALL(arm_cmplx_mag_squared_q31_test); + JTEST_TEST_CALL(arm_cmplx_mag_squared_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_tests.c new file mode 100644 index 0000000..b06e359 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mag_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_MAG_TEST(suffix, comparison_interface) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + cmplx_mag, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + comparison_interface) + +JTEST_ARM_CMPLX_MAG_TEST(f32, COMPLEX_MATH_COMPARE_RE_INTERFACE); +JTEST_ARM_CMPLX_MAG_TEST(q31, COMPLEX_MATH_SNR_COMPARE_RE_INTERFACE); +JTEST_ARM_CMPLX_MAG_TEST(q15, COMPLEX_MATH_SNR_COMPARE_RE_INTERFACE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_mag_tests) +{ + JTEST_TEST_CALL(arm_cmplx_mag_f32_test); + JTEST_TEST_CALL(arm_cmplx_mag_q31_test); + JTEST_TEST_CALL(arm_cmplx_mag_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_cmplx_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_cmplx_tests.c new file mode 100644 index 0000000..d2cabd9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_cmplx_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_MULT_CMPLX_TEST(suffix) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + cmplx_mult_cmplx, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + COMPLEX_MATH_COMPARE_CMPLX_INTERFACE) + +JTEST_ARM_CMPLX_MULT_CMPLX_TEST(f32); +JTEST_ARM_CMPLX_MULT_CMPLX_TEST(q31); +JTEST_ARM_CMPLX_MULT_CMPLX_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_mult_cmplx_tests) +{ + JTEST_TEST_CALL(arm_cmplx_mult_cmplx_f32_test); + JTEST_TEST_CALL(arm_cmplx_mult_cmplx_q31_test); + JTEST_TEST_CALL(arm_cmplx_mult_cmplx_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_real_test.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_real_test.c new file mode 100644 index 0000000..a06f165 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/cmplx_mult_real_test.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "complex_math_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "complex_math_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_CMPLX_MULT_REAL_TEST(suffix, comparison_interface) \ + COMPLEX_MATH_DEFINE_TEST_TEMPLATE_BUF2_BLK( \ + cmplx_mult_real, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + comparison_interface) + +JTEST_ARM_CMPLX_MULT_REAL_TEST(f32, COMPLEX_MATH_COMPARE_CMPLX_INTERFACE); +JTEST_ARM_CMPLX_MULT_REAL_TEST(q31, COMPLEX_MATH_SNR_COMPARE_CMPLX_INTERFACE); +JTEST_ARM_CMPLX_MULT_REAL_TEST(q15, COMPLEX_MATH_COMPARE_CMPLX_INTERFACE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cmplx_mult_real_tests) +{ + JTEST_TEST_CALL(arm_cmplx_mult_real_f32_test); + JTEST_TEST_CALL(arm_cmplx_mult_real_q31_test); + JTEST_TEST_CALL(arm_cmplx_mult_real_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_common_data.c new file mode 100644 index 0000000..d158bbf --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_common_data.c @@ -0,0 +1,114 @@ +#include "complex_math_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(COMPLEX_MATH_BIGGEST_INPUT_TYPE, + complex_math_output_fut_a, + COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2 /*Complex data has two parts*/, + CURLY(0)); + +ARR_DESC_DEFINE(COMPLEX_MATH_BIGGEST_INPUT_TYPE, + complex_math_output_fut_b, + COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2 /*Complex data has two parts*/, + CURLY(0)); + +ARR_DESC_DEFINE(COMPLEX_MATH_BIGGEST_INPUT_TYPE, + complex_math_output_ref_a, + COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2 /*Complex data has two parts*/, + CURLY(0)); + + +ARR_DESC_DEFINE(COMPLEX_MATH_BIGGEST_INPUT_TYPE, + complex_math_output_ref_b, + COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2 /*Complex data has two parts*/, + CURLY(0)); + + +COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_ref_a[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_ref_b[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_fut_a[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +COMPLEX_MATH_BIGGEST_INPUT_TYPE +complex_math_output_f32_fut_b[COMPLEX_MATH_MAX_INPUT_ELEMENTS * 2]; + +/*--------------------------------------------------------------------------------*/ +/* Block Sizes */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(uint32_t, + complex_math_block_sizes, + 4, + CURLY(1, 2, 15, 32)); + +/*--------------------------------------------------------------------------------*/ +/* Test Data */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(float32_t, + complex_math_f_32, + 32 * 2 /*Complex data has two parts*/, + CURLY( + -0.432564811528220680 , 0.815622288876143300, + -1.665584378238097000 , 0.711908323500893280, + 0.125332306474830680 , 1.290249754932477000, + 0.287676420358548850 , 0.668600505682040320, + -1.146471350681463700 , 1.190838074243369100, + 1.190915465642998800 , -1.202457114773944000, + 1.189164201652103100 , -0.019789557768770449, + -0.037633276593317645 , -0.156717298831980680, + 0.327292361408654140 , -1.604085562001158500, + 0.174639142820924520 , 0.257304234677489860, + -0.186708577681439360 , -1.056472928081482400, + 0.725790548293302700 , 1.415141485872338600, + -0.588316543014188680 , -0.805090404196879830, + 2.183185818197101100 , 0.528743010962224870, + -0.136395883086595700 , 0.219320672667622370, + 0.113931313520809620 , -0.921901624355539130, + 1.066768211359188800 , -2.170674494305262500, + 0.059281460523605348 , -0.059187824521191180, + -0.095648405483669041 , -1.010633706474247400, + -0.832349463650022490 , 0.614463048895480980, + 0.294410816392640380 , 0.507740785341985520, + -1.336181857937804000 , 1.692429870190521400, + 0.714324551818952160 , 0.591282586924175900, + 1.623562064446270700 , -0.643595202682526120, + -0.691775701702286750 , 0.380337251713910140, + 0.857996672828262640 , -1.009115524340785000, + 1.254001421602532400 , -0.019510669530289293, + -1.593729576447476800 , -0.048220789145312269, + -1.440964431901020000 , 0.000043191841625545, + 0.571147623658177950 , -0.317859451247687890, + -0.399885577715363150 , 1.095003738787492500, + 0.689997375464345140 , -1.873990257640960800 + )); + +ARR_DESC_DEFINE_SUBSET(complex_math_f_15, + complex_math_f_32, + 15 * 2 /*Complex data has two parts*/); + +ARR_DESC_DEFINE_SUBSET(complex_math_f_2, + complex_math_f_32, + 2 * 2 /*Complex data has two parts*/); + +ARR_DESC_DEFINE(float32_t, + complex_math_zeros, + 32 * 2 /*Complex data has two parts*/, + CURLY(0)); + +/* Aggregate all float datasets */ +ARR_DESC_DEFINE(ARR_DESC_t *, + complex_math_f_all, + 4, + CURLY( + &complex_math_zeros, + &complex_math_f_2, + &complex_math_f_15, + &complex_math_f_32 + )); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_group.c new file mode 100644 index 0000000..1be8a83 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/complex_math_tests/complex_math_test_group.c @@ -0,0 +1,14 @@ +#include "jtest.h" +#include "complex_math_tests.h" + +JTEST_DEFINE_GROUP(complex_math_tests) +{ + JTEST_GROUP_CALL(cmplx_conj_tests); + JTEST_GROUP_CALL(cmplx_dot_prod_tests); + JTEST_GROUP_CALL(cmplx_mag_tests); + JTEST_GROUP_CALL(cmplx_mag_squared_tests); + JTEST_GROUP_CALL(cmplx_mult_cmplx_tests); + JTEST_GROUP_CALL(cmplx_mult_real_tests); + + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_common_data.c new file mode 100644 index 0000000..e591293 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_common_data.c @@ -0,0 +1,499 @@ +#include "controller_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +float32_t controller_output_fut[CONTROLLER_MAX_LEN] = {0}; +float32_t controller_output_ref[CONTROLLER_MAX_LEN] = {0}; +float32_t controller_output_f32_fut[CONTROLLER_MAX_LEN] = {0}; +float32_t controller_output_f32_ref[CONTROLLER_MAX_LEN] = {0}; + +const q31_t controller_q31_inputs[CONTROLLER_MAX_LEN] = +{ + 0xC14A5524, 0xCCABDA17, 0xAD6F5B56, 0xFDAFCE3B, 0xA9B226EB, 0x41F6F6A, + 0xA5CE38BF, 0x3A978AFA, 0xBA44B82A, 0x855C0F8, 0x3D060524, 0x93D5E570, + 0x97D7791D, 0xFFE0C38C, 0x26749841, 0xC0A6EE54, 0x218EC386, 0x39FF3726, + 0x8DC1F7CA, 0x702F2CF5, 0xC1142FF1, 0xEC1476AB, 0x15F640DD, 0xE62CCE49, + 0x3805DE7E, 0xF70871FE, 0xCF8BD360, 0x8D19A8A0, 0xD764F821, 0xA58558CF, + 0x8C0CE04D, 0x50A46C19, 0x66D2370D, 0x50FA359A, 0xB646AE24, 0x6CE00F5C, + 0xE6D48948, 0xB55BD831, 0x3B72950A, 0x9EB69530, 0x73394127, 0x773FA6F4, + 0x9805A980, 0x838DE587, 0x9CF597F4, 0xA2AD1691, 0xFA81A473, 0x7CDC7D7F, + 0x4A5190D0, 0xED895BB9, 0x8FD60F35, 0x1A21D530, 0xA0EB6DDA, 0xBDE6A516, + 0x2501A3E1, 0x5ED893C8, 0xE1E175B1, 0xACBBB2F3, 0xED350907, 0xDB140D7E, + 0xEEAE272D, 0xBE229841, 0xC18BFB88, 0xA6BB9B80, 0xBCF090E4, 0x24DB166C, + 0xF9AB7E42, 0x62DF28D1, 0xC7004665, 0xE3F56FC6, 0x419E0C75, 0x46BE9F38, + 0x2432B9B2, 0x758D83E0, 0xDCE12926, 0x3F57CB74, 0x1F4458E2, 0xF1DD639, + 0x83A1FB49, 0x173AFC76, 0x86EF7531, 0x48D32F34, 0x7D3E3063, 0x8F2FB549, + 0x5C314C9, 0x18CBEB6D, 0xA6F8B697, 0x447B9E9C, 0x2E32BA33, 0xD074D715, + 0x81ACD746, 0xE55A4E04, 0x4891860F, 0x1DA3EB4F, 0xE0E6A27F, 0x20BFDEB4, + 0xD0B3A25B, 0x40C10544, 0xC15656C, 0x15405EAE, 0x9858E3E1, 0xA36A9C4E, + 0x88BD21F9, 0xAACF7A68, 0x773665E5, 0xCEDFDF66, 0x617A9610, 0x524FC968, + 0xC2D086CD, 0x5F008079, 0x24DCA447, 0x6A4F5599, 0xB706CD4A, 0x1DE70608, + 0xA33A2EE5, 0x137E488E, 0x98061B7B, 0x4079D69D, 0xA4A897D5, 0xC4CEC8F5, + 0xD75F7883, 0x22406802, 0xF1AD70BB, 0x9D4ADD79, 0xBCBC7CE4, 0xB358C0D8, + 0x85792E47, 0xA7ADAC05, 0x3D19EEAB, 0x331AC0AF, 0x33035831, 0x13D93987, + 0xFC542094, 0x845F317E, 0xDDC4BF8B, 0x1379E50C, 0x5C20193F, 0xFDD58298, + 0x9D482B82, 0x4A6BE062, 0xDC8A757B, 0x272917C1, 0x90E1EFBC, 0x355AD882, + 0xE6F8EA35, 0x604555A1, 0x7DFFFBB, 0xF58AE216, 0x9A11B463, 0xD3541BAD, + 0xA1576756, 0x483BED8D, 0x1F05AFCC, 0xCEA63DFB, 0x55B84677, 0xFB2E04F2, + 0x787AF96C, 0x84A12CD3, 0x460A9BD, 0x9DB22DD8, 0x1A8C7F28, 0x861E452E, + 0x932D3F78, 0x7652D852, 0x73357BBA, 0xEBBB0A58, 0x62536AFA, 0x3F6B65EF, + 0x6DC57B58, 0x9EB798CE, 0xE6B0A740, 0xDFF68B47, 0x3247FB8F, 0xFFF3D302, + 0xA9FD3E40, 0x475A43D1, 0x6FF9528A, 0x2018A09D, 0x47E0F9C9, 0x4CF5F6D3, + 0x2807CE34, 0xDD6FD8ED, 0x234045D1, 0x51CEB5F9, 0x25297896, 0x6443A0FE, + 0x8F4449A9, 0xD4C3E1C6, 0xF01D52F1, 0x4E09C820, 0xF18F0810, 0xE1548689, + 0xF9DE5A1F, 0x5286DC23, 0x48AC3A4B, 0xEA0C1BE0, 0xA1B785DB, 0x7086465D, + 0x1CC10929, 0x1E1D716E, 0xED231D4C, 0x2049D108, 0xB8FF9971, 0x949CF8D4, + 0x441F1E8B, 0xC3D95372, 0x69C324B4, 0xA10BFDC9, 0xC781DE78, 0x82476137, + 0xE163DDF, 0x390DEEC2, 0xAF68CE5B, 0x8E680ABD, 0x8223A615, 0x92593380, + 0x7B1465FE, 0x865AE957, 0x930F53EB, 0xED772EF7, 0x10E916B6, 0xE3BCFA68, + 0x2ACB80BB, 0xE51C5590, 0x994714B5, 0xF30984EE, 0x59BBE1B4, 0xB4867DBC, + 0xB91C706C, 0xBC16C218, 0xA8931CD0, 0x129A66AB, 0x13171F4D, 0x62882872, + 0x4B167FD4, 0xE6902F4C, 0xFA794932, 0xD4B152C, 0xB0856EA9, 0x39466D55, + 0x3669E451, 0x8F5B9E8C, 0x877A3C6A, 0x51B956B4, 0x367EAD2A, 0x9D2C662A, + 0x78FB6880, 0x4E6D40B6, 0x4070EFDC, 0x4DF9679C, 0x20306EDB, 0xE381AAE7, + 0xA55DA748, 0x9B8B617B, 0x3E036FAD, 0x84E4C4A7, 0xD5A3F517, 0x669BA988, + 0x98FDDE8C, 0x67BD85CE, 0x34BBB46C, 0x76994800, 0x85B9D8B6, 0x6DFA2FEF, + 0x205DB5C, 0x9F843C4C, 0x72721B52, 0x73EF6B86, 0x5FB98B61, 0xC323DDAC, + 0x31D424B4, 0xF68C0D7E, 0x162FAF9D, 0x7B2A7A99, 0xF9392693, 0xC42D12C0, + 0x8692A73E, 0xD9A1EE80, 0xDD956856, 0x44E7BDAC, 0x8D874532, 0x5F5C9DD0, + 0x5D167858, 0x8559FEA2, 0x9D821476, 0xD9654ED2, 0x594C0DC7, 0x1A87B506, + 0x3F693200, 0x7A651AB5, 0xA0CCBC8A, 0x9F9E662C, 0x78EF631, 0x2A09DA0, + 0xB088C72F, 0x92EE0D42, 0x360DCD5F, 0xF333FE48, 0x8D63CC06, 0x233A8ACB, + 0x706651ED, 0x7AA5C079, 0x262239D1, 0x3EBBEBB6, 0xA25A4F3D, 0x32581A06, + 0x6E6FD780, 0x5773F7C7, 0x75ED1DDC, 0x90DF2D15, 0xBC79A9BC, 0xB7175917, + 0x354E381C, 0x762AADD7, 0xF643DAC1, 0xF3BBF49E, 0xD2FECE7E, 0x6C8140F4, + 0xD7694875, 0x92D30822, 0xC742A7CF, 0xB792ED98, 0x121CFE24, 0xA04E1EE7, + 0x58CE268, 0x215A080, 0x316CB323, 0xFAB14A31, 0xE1C13C03, 0xFD8EF4F1, + 0xF3F446D0, 0x6C6CEA0A, 0xBBFDF9FB, 0x67242969, 0xBE55A4EB, 0x8FF5534, + 0x52F0DF1C, 0x9710ADE3, 0xD40F4A21, 0x7984E8E7, 0x419545EB, 0x993F7880, + 0xAB246B20, 0x408AABC4, 0xCBF6EA49, 0xC0894C55, 0x4CAA6398, 0xA47856E9, + 0xAF2AE47D, 0x22F55D33, 0xF0D37915, 0xD0634C72, 0xD983671, 0x2BCC5AF8, + 0x9A77D48, 0xC11B5CFA, 0xF107CD7E, 0x3A6B3593, 0xE1425F05, 0x6271812A, + 0x5B838310, 0xBD8418CA, 0x10A58792, 0x239F7137, 0xA13D5071, 0x7F9930D4, + 0xA462664F, 0x54180F8E, 0x291585BA, 0xE586B87A, 0x144B2C12, 0x98E425C7, + 0xBAA4B373, 0x18F0D03C, 0x99462AC0, 0xD8B4D2EF, 0x72473895, 0xA6BF5435, + 0xEDAD53B, 0xE0912FA6, 0x5C33F331, 0x3D93CD7, 0x4D03D752, 0x20699929, + 0xB89962F9, 0x36E781E9, 0xF58B642C, 0x5FCA69E3, 0x5960A7F4, 0xAD5AAFD0, + 0xDF18324A, 0x3DB1E5AA, 0x76BA3876, 0x1BC29AF6, 0xBCC18841, 0x73A60174, + 0x625BFF58, 0x67C57724, 0x4458E53C, 0xE157B095, 0x2B370837, 0x83DF6CE3, + 0xDD08EEFA, 0x3F52A7C2, 0x191B4785, 0x60843D82, 0xB0DE11F1, 0x105EA26C, + 0x6E1C7AA2, 0x47AADD14, 0xB6676D03, 0x3B8D4DF6, 0x737A694, 0x409521DC, + 0x744206A, 0xC722023F, 0x2BE4EAD5, 0x63E11D76, 0xCA4A09AB, 0x5CF2D2B9, + 0x31586916, 0xCDFD7D84, 0xB203F634, 0xAD7329D4, 0xC524582F, 0x2E53E6C1, + 0xBB0E019B, 0xB8538C6A, 0x6A2542D, 0x8A6A00E5, 0x119725CC, 0x5406D347, + 0x1B6FFAF1, 0xECCF71F1, 0x981117F2, 0x7167CA76, 0x74F4B880, 0x77A55F47, + 0x59EADB62, 0x4A331D95, 0xBCBBA76F, 0xA45C4D50, 0xC718D5, 0x87CE05D1, + 0x60D47AD5, 0xA5CA9C40, 0xB0061766, 0xE69B39DF, 0xBD5F1320, 0x9930EAD3, + 0xA8B38325, 0x8DD090F, 0x6A6EEF37, 0x2DF16F66, 0xAB514C7E, 0x31109C58, + 0xFD48C7FC, 0x515341CA, 0x77AB8EA6, 0x41328DAF, 0xBAF8D31E, 0xA4B31611, + 0xED37F331, 0x7A832A22, 0xA22591C7, 0x722D1F89, 0x3B19CF18, 0x261B8A4D, + 0xC3F6F6DB, 0xCF8CED61, 0x990FA250, 0xA02E72A9, 0x560DCEA2, 0xB08E67B4, + 0x3674E663, 0x97CC3852, 0xA7EB2EAC, 0xFFDE0AA8, 0xA64719A, 0x23269EDD, + 0x3C0B339E, 0x86284D40, 0x48D82ECB, 0xA4D4CCF8, 0x43631B91, 0x4BF0C248, + 0xB6497B9B, 0x6827BC58, 0xE30B7AF9, 0xA0CCBF26, 0x6C3B7B71, 0xD744B3ED, + 0xFA25D2F6, 0x4CDE642D, 0xD65B8142, 0xA6F9207F, 0xE7A207BE, 0xDB506684, + 0x44DA4780, 0x9175EA0C, 0x156104AF, 0x4155E1B0, 0x6E3A6886, 0x9DBA1EA2, + 0x5423D9C8, 0xCC024E22, 0x758F852A, 0x1DD6395, 0x2D19CBAD, 0xE164F5A1, + 0xC2084602, 0x89C274AD, 0x13CB5562, 0xD7FE2D5B, 0xE07A4EE5, 0x1672BA91, + 0x4F624CCF, 0x2E5EA4A3, 0x28FEEFAF, 0xBDDA6EF4, 0x32AFD40C, 0x99A5FB3B, + 0xDD1D73A3, 0xA342CB3E, 0xA78445F5, 0x53979C3B, 0x427D7943, 0x5221B58C, + 0xA6CE9A5E, 0xFB50ECA4, 0xBB86E36E, 0x60839F6D, 0xC5E1C2F3, 0xA1B7FB04, + 0xFBB65E0C, 0x78B80F5E, 0xFD8D972B, 0x3BF3BA90, 0x2D572D9, 0x2B5BC920, + 0xB6A0DE01, 0xD274D306, 0xC7C6C855, 0x9CAA669B, 0xB04AA641, 0x4D6B1760, + 0x3E17ED79, 0xD23241B0, 0xA4A6F957, 0xCBDE76AF, 0x4E5F9493, 0x4C215DA5, + 0x33A052B, 0x1A4D80C2, 0x40AEEBCA, 0x390D106B, 0xE9E8E018, 0x5AF3D6CF, + 0xE35E1D4, 0xC4FB1C6, 0x14B6299B, 0x8D2E25F0, 0xCCBF932A, 0xC5AC18B6, + 0x2227567D, 0x86B5CE2F, 0x26344534, 0x22C515EC, 0x2442B70D, 0xEC3721C6, + 0x34EF687D, 0x9C06323A, 0xEAF3EA60, 0x60396F52, 0xEAE78AA1, 0xC9D06CBC, + 0x6F95F6C8, 0x584CC258, 0xBA9A27BB, 0x66DF8D47, 0x9D4804EA, 0x57DD9E67, + 0xF89C7895, 0xF5336111, 0x25C122C8, 0x62742114, 0xCFBF6D26, 0xBF9F6482, + 0xE6F02CD9, 0x11083202, 0xC99E2618, 0x7EBC9351, 0x440112F1, 0xC9DFFBC1, + 0x3BF4DC25, 0xB1BA7FA0, 0x61AF9AED, 0x6B1F7D29, 0xAD865294, 0xE3E01129, + 0x7E9E77A5, 0x100435D7, 0x9FE3A71, 0x88597C81, 0x722849FA, 0x31C5A0AF, + 0xFBA178DC, 0x7F102D31, 0x5CA07864, 0x950E6F98, 0x82C34882, 0x5D041F11, + 0x8C613C57, 0xD398CFD1, 0x426F38AD, 0x5599AB1D, 0xFAFA078D, 0xAB25B413, + 0xD94B32CF, 0xB288FE38, 0x2893BB46, 0x9A0B4168, 0xA91BCA94, 0x653A5E8D, + 0x2174EBBE, 0xDEFE6415, 0x30DA429C, 0xD0C5E40C, 0xB4719AA4, 0xD29CE7A6, + 0x905957CD, 0xCD287499, 0x83CA0AA7, 0xA8385832, 0x25A0CA02, 0xC20D47A4, + 0xB562F556, 0x4BC19E4C, 0xD9E215C7, 0x27E838B4, 0xC58612F4, 0xA2827F6F, + 0xC49DCDBA, 0x679B7362, 0x4E495845, 0xCFD2F0D1, 0x395E76A0, 0x375A655E, + 0x92E2058F, 0x73F9F0CA, 0x61EFF3B3, 0x51FFD362, 0xE7410345, 0x7FDA8B3B, + 0xA219E2E8, 0x17ABE543, 0x26557412, 0x4B30084D, 0xA68E191D, 0xFE0D93DF, + 0x73EF127D, 0x4DECDDB1, 0x77FAF45F, 0xD6002898, 0x92DD0A40, 0x157F6DDF, + 0xC2A55F8E, 0x4359F924, 0xFB630C3F, 0x338B6B58, 0xB2945F75, 0x4FA23A0E, + 0x836EB8C0, 0xB3B18FD, 0x86114337, 0x24668ACB, 0x99BB82F0, 0x924C8A47, + 0xBA959701, 0x81155ABF, 0x8C612D71, 0x36074CA7, 0xD1668C41, 0xE35F58C7, + 0x7FC2802D, 0x8E6A7CF3, 0x65B07D07, 0x815F6A6B, 0x791BF0DD, 0x6E47D719, + 0xC24394C7, 0xE84A6EB, 0xF194AFEE, 0x464A2F52, 0x677579FD, 0xEBA775AE, + 0x1F6EEFF, 0x9A795237, 0x78D9D45F, 0x9D0B344D, 0xBBD34AB7, 0x2F85B12A, + 0x16C5C2AD, 0x3990985D, 0x88DF3351, 0x82811AA5, 0x6D351F41, 0x4066A69D, + 0x86B660BF, 0x6EDB4768, 0xDDD78CF0, 0xB5D74F6E, 0xE89E220C, 0x91439687, + 0x947CC9C9, 0x3857E2BD, 0x302F8AE4, 0x1DABE7F8, 0x4832D6C9, 0x37D58FCB, + 0x4EA8A711, 0xCD7BAC98, 0x19DBF8BC, 0xD8DE8DC2, 0xEAFF7E7B, 0xB7629C93, + 0x792C6E19, 0xF7009192, 0xFF88439D, 0x2E196A66, 0xEC71B78C, 0xEAF4BB3A, + 0x7C16225E, 0x668F337, 0xCBEE1608, 0x6D5B5552, 0x345DC590, 0x681209CC, + 0x7B24A819, 0xD08A1416, 0x99888FE3, 0x9FC7288A, 0x24BD8502, 0xEA1D9678, + 0x20EECA0, 0x59BEA057, 0x5ADE91EB, 0xDEA8E49D, 0xFA200E6F, 0x9149C81D, + 0xF2281E93, 0x8A5B0451, 0x67312D58, 0xE3B849F1, 0xD2217960, 0x7CDF59F3, + 0x33C775C0, 0x9EBA8799, 0x7DF9506, 0xB4E96110, 0xB8FCF3E3, 0xDEA059B2, + 0x8229B6EA, 0x316486F6, 0x43919185, 0x6C0D90F3, 0x1C6F3DF8, 0x38DB92A9, + 0x5CD41244, 0x2C9F0A7B, 0xDF4A315F, 0xF7CE9C66, 0x4C800860, 0x318D53E0, + 0xF105C20D, 0xD753E1F2, 0x750810BA, 0xA17ECCA5, 0x2010140, 0x4D884763, + 0xC2BB0DA7, 0xB2D5BA74, 0x141CECD4, 0x887FDFC3, 0xC64B53, 0x2D2A85F6, + 0x15532B45, 0x5D5CBCE1, 0xBEB9A16A, 0xA214611B, 0x9FC5AC5F, 0x11AE5DD7, + 0xA0B9A5A9, 0xFC648AF4, 0x740009AC, 0xED0E0321, 0xB8E6A61, 0x8910C544, + 0xC74F26C8, 0x9525CCF3, 0xB41AEB59, 0xE61984CE, 0x598B2197, 0xA412E59D, + 0xE1976DD4, 0xB29BBE16, 0x88FD9FB0, 0xB04006F3, 0xB45E309, 0xD5CC15F1, + 0xD9DAF630, 0xDC809335, 0x803ED52, 0xB537F5A5, 0xA994F6EB, 0xF5288568, + 0xF66FD264, 0x2EA2B3A6, 0x647619F3, 0xFFB38C7A, 0x1BC03B9, 0xB6BC3061, + 0xBF30596E, 0xBE2AD27B, 0x8AC04220, 0x641979A3, 0x9ECCBB89, 0xA144FBC1, + 0x4E8FAE26, 0x8C5A9D90, 0x299ED467, 0xD7C9C7E3, 0x1D4865ED, 0x76F31C3D, + 0xCEE81CDF, 0xB479195E, 0x6FFB3AE1, 0xDC8A398, 0x300F7364, 0xC7940AFA, + 0x3B85BE3E, 0xD98CC40D, 0xA24A3D89, 0x3A674204, 0x22888A38, 0x2E77F2D, + 0xA2841C9C, 0xCF0689C3, 0x9FE98922, 0x89335017, 0x2D6B69A7, 0xFEDB63F9, + 0x899AF4EF, 0x9F9F9B40, 0xA4BE97E8, 0xA51DAF7A, 0x16AC50D3, 0xA8D7ED6, + 0xED193443, 0x7615EF1B, 0xB0DF6A4E, 0x64FFE794, 0xE3DB2C9A, 0x7435B022, + 0x556E825C, 0x23802AF9, 0xC25098A4, 0xE75A18BB, 0x70B2A7B9, 0x7FB81BF, + 0x63EF910, 0x6C669591, 0x6574DD2B, 0xCF6E379D, 0xD2B3AFAC, 0x1E6A1101, + 0x1DE22385, 0x2338191F, 0xC69704B6, 0xCBABC599, 0x54EB4809, 0x7839BE6D, + 0xD50017DD, 0x39B1A0E1, 0x288D52D3, 0x2D52668C, 0x20D22A68, 0x4E1207D1, + 0x3FCC0EFE, 0x47F3FE64, 0x25177A90, 0xB4BFDD4D, 0xDA8DBDCE, 0x6F7275A8, + 0x6BEAA655, 0xAA1810FC, 0xE4DB593A, 0x8A4D4BC0, 0x2C402E93, 0xF1C0F7F9, + 0x6F0CC577, 0x70412414, 0x752F9DC1, 0xD82E38EA, 0xAC455F7B, 0x4DCD4EDB, + 0x92BC2696, 0xFB03F135, 0x4FCA1F8C, 0xBD5E75F6, 0x502F41B0, 0x3616D3F1, + 0x2E5B8E31, 0x2026EB19, 0x57E783D7, 0x467BBE00, 0x4703ABA3, 0x1F776B9C, + 0xE2570A84, 0xFEC7DB48, 0x1BD5012, 0xFD0A2D5D, 0x7FCC29F2, 0x291304B6, + 0x99D5D8ED, 0xC7551C8, 0xFD12F38F, 0xBADE8892, 0xDF749997, 0xA5DAE2F, + 0x2B9FA269, 0x5C13CFED, 0x15E9A399, 0x54437F4E, 0xA72DB2AB, 0x56186AA1, + 0xFE4DB55C, 0xA34D7836, 0x2A879760, 0xC63FA94, 0xAC18B207, 0x5FC78B3, + 0x7F10621E, 0xA769E6B2, 0xEC9F4A11, 0xCE3F982C, 0x62BA2EF5, 0xA5F239CD, + 0x73D63FED, 0xE36E9F5E, 0x8AC1DA0E, 0x3F3DB3EB, 0x738326EA, 0x35C366B1, + 0xCD476E86, 0x82F6B208, 0xF11A9FC1, 0x426AC396, 0x7E4D1B93, 0x75E4EDB7, + 0xAF3C44A7, 0x51A5EF5C, 0xFAD2463D, 0x8A5639CA, 0xC995AC78, 0xCC4BE4F6, + 0x3AFE7F8D, 0x66993D04, 0x4386FF37, 0xCBC1C6C2, 0x55A8F5EC, 0xE81A9A75, + 0x30A67E1B, 0x4A4A7D0C, 0x20F7F993, 0x1891805, 0x738976AD, 0xD426E7D6, + 0x3C5CEEBF, 0x4499187F, 0xABF17C97, 0x447C317F, 0x68D8419C, 0x7AAB6456, + 0x421BCF29, 0xF6740F9C, 0x8916BB8D, 0x3D72AAB, 0x9AD54DD7, 0x7549C6EE, + 0x7317342B, 0xA18546D4, 0x1056BDA7, 0x54BBCCCE, 0x8CE63E46, 0x5D146234, + 0x33BE6C63, 0xB250C4E5, 0x89D72335, 0x87C36BA, 0xB65530CC, 0x2DFAC48C, + 0x1663D16F, 0x59B80AA, 0x950274EA, 0x92532D4A, 0x3CEF802D, 0x492FBDA5, + 0xA63A2574, 0xEF8005C2, 0x94A18651, 0xAF627ABA, 0x6829B238, 0xA698F646, + 0xD2598516, 0x10144D36, 0xD9B1D1B9, 0xAB2ACF05, 0x5395B699, 0xA7851C75, + 0x1806C6F3, 0xAE970306, 0x3284B145, 0x98F4FE8F +}; + +/* The source data is random across the q31_t range. Accessing it by word should + remain random. */ +const q15_t * controller_q15_inputs = (q15_t *) controller_q31_inputs; + +const float32_t controller_f32_inputs[CONTROLLER_MAX_LEN] = +{ + 43.0264275639 , -17.0525215570 , -94.8488973910 , -8.1924989580 , + 7.2830326091 , 66.8368719314 , 33.9778190671 , 117.8652289772 , + -129.6077797465, -14.6420815368 , 18.0239223278 , 20.6760530292 , + 55.0375037651 , 1.8674609862 , -85.6534302408 , -33.5750364909 , + 29.2110949614 , 110.4727049460 , -94.1914619387 , -1.4084169343 , + 83.5181653041 , 47.3073514127 , -13.3420621181 , 30.3389699104 , + 12.1188124277 , 100.9730921941 , -114.0146362390, -77.5823200409 , + 37.2019034618 , 40.0026301128 , -58.3387276630 , -34.9472398600 , + -5.1169678311 , -87.7660091118 , -150.5888601131, 56.0349370503 , + 50.2168884079 , -74.2313236767 , 22.3648603560 , -6.8676387051 , + 74.8957303680 , -90.1292012823 , -55.1436241586 , -66.6732976100 , + -6.7918147615 , 7.7612697081 , 35.7892605979 , -20.0470508830 , + 41.8369017546 , -143.7378056984, -41.9127158600 , -108.3531841158, + -57.1917422289 , -124.2808828105, 38.9316388820 , -77.9212517405 , + 37.1990818377 , -28.9545952748 , -155.6371057564, 45.8088886393 , + 36.2537018275 , -6.5727656016 , -104.2070491921, 45.5583813729 , + -19.7674717059 , -80.4802190947 , -1.4444563441 , -42.2142256438 , + 36.6546339194 , -57.0866498590 , 44.4677067511 , 65.7285753407 , + -103.8158864647, 25.4348723711 , -153.5419639389, 39.3608409474 , + 49.1658103436 , 79.5570602275 , 75.2944095996 , 58.9394700746 , + -53.1018534392 , 33.4172444014 , 35.6224682287 , -64.4353396418 , + -125.8464291251, -47.6072111617 , -26.2177687594 , -12.0061322096 , + -17.7887967585 , -28.2926175090 , -62.0691715749 , 40.5098573604 , + -191.1123732593, 119.6750713043 , 19.6182375803 , -26.7615252921 , + 2.2957847015 , -108.3436451287, -50.5906164995 , -5.6360985100 , + -11.6772204201 , -84.2765293757 , -60.9317810068 , 82.0446350218 , + -70.2048296348 , 72.8738253222 , 60.2450218115 , 114.2741231228 , + 46.8180775285 , 6.9915412654 , -8.9909197429 , -78.9165936808 , + 66.4731535459 , -68.4235455651 , -79.8254597080 , -10.6308477115 , + -62.6161569330 , -55.7744410292 , -11.8408366528 , 98.1034940997 , + 35.8213741877 , -54.4694482732 , 86.9631830044 , -53.0343838122 , + -47.4898642865 , -47.2010929590 , -31.3312639685 , -23.0908245172 , + 12.0258009869 , -5.1098204703 , -9.8420230737 , -107.3328761158, + 44.6810431959 , -17.9083820345 , -60.9753512872 , -7.5915088994 , + 17.2250813329 , 57.9176125648 , 124.3004161362 , -63.1950908493 , + 120.5788885640 , -44.1734238117 , -91.7408095116 , -43.5696066595 , + -49.9560710099 , -167.8513443296, -70.9437505499 , -46.4109705355 , + -64.2264526456 , -13.9995803916 , -100.9548186356, 9.9101010575 , + -50.0615130815 , -55.7590145012 , -60.3195153388 , 61.7913378549 , + -102.0850899209, 53.2360193126 , -25.8997883369 , 75.1445512333 , + -113.8148602310, 17.8027281119 , -19.5006822722 , -44.2169628471 , + 107.5017084384 , -113.7909124666, -43.9735396033 , 7.6880981388 , + 46.7384653508 , 9.9047443751 , 81.8646964362 , 132.3812863877 , + -95.6959050236 , -68.5015813484 , 65.8586404494 , 18.5039353889 , + -30.1786166621 , -90.3098515667 , -22.9356228552 , -20.5778272423 , + -2.2127786675 , -35.4418447703 , -51.8722915974 , -107.9024439078, + -51.5940748232 , -51.7463262677 , 74.2795485984 , 94.2205022462 , + 9.7016384049 , -47.3556083155 , -36.7822314478 , -151.6455525363, + -15.7183814485 , 78.2063383182 , 0.1516414969 , 37.9304181609 , + 20.6185902740 , -22.2164106778 , 6.1160554677 , 2.4061326953 , + -111.6681824598, -60.0858917090 , 75.1698614693 , -76.5787410444 , + 28.3391655715 , -2.4946186443 , -68.0378899682 , 104.0893199171 , + -51.8319647254 , 38.8521710524 , 75.9114239564 , 73.9206172905 , + -103.2533029987, 6.9002718274 , -36.6346436319 , -25.1990926265 , + 1.5852145953 , -50.6438436795 , 21.5018844428 , -151.9305562846, + -51.7326681814 , 21.4475994143 , 42.2564011921 , -74.0520586926 , + 49.7370635809 , -13.2957534126 , 36.6746826778 , -31.7005492589 , + 148.4894964268 , 79.7890632353 , 16.8856024809 , 16.1690460177 , + 39.2665169484 , 117.2461167794 , -37.4827984831 , -47.8387803604 , + -95.7025286193 , 34.3058214285 , -124.9536456028, 56.1640195764 , + 94.3636873606 , 35.3992852810 , -38.3920852159 , -100.5738062016, + -29.7837022314 , 42.9133913996 , -34.2715618187 , -14.3589115627 , + -16.5935468750 , 20.4574192236 , -88.7897972666 , -38.6285080386 , + 53.3203422726 , 98.5991486746 , 122.7305462474 , 67.7902817187 , + 5.1764117389 , 5.0632821624 , 21.9288789574 , -78.3140512638 , + -21.2069682335 , 23.6342010925 , 34.4445769455 , 59.1346766615 , + 28.9978778000 , 39.8121180845 , -17.1650033520 , -56.9174900874 , + 17.8157086148 , -112.8801457350, -122.4019040408, 140.8669393157 , + -65.4664329639 , 40.6952775518 , 32.7260891658 , -43.2565155866 , + 19.3945751928 , -20.1815002000 , -67.6601711640 , -18.1921178207 , + -35.6802153684 , 49.9550290306 , 131.4925251016 , -31.2940938167 , + -5.2848453344 , -109.5580577933, 20.2437599390 , -8.8782958734 , + 54.1836717264 , 7.2555852190 , -3.5698316137 , -51.9236786262 , + 6.7861547980 , -104.4814551670, 45.8458629668 , 70.0890876844 , + 38.3572837740 , 61.8024165129 , 68.0176962024 , -12.8193934080 , + -21.4661610917 , -0.9377108815 , -74.2100679061 , 71.0490808147 , + 91.9813889497 , -14.5797640164 , 3.5036749129 , -138.3605478356, + -48.1501349794 , -16.0636922482 , -12.1334197606 , 15.0562207637 , + -34.0878176054 , 55.1075126157 , 97.3829871877 , 0.2053358099 , + -94.8713267382 , 51.5460954054 , 21.2966946363 , 58.1331025047 , + -23.4599044132 , -19.3315856528 , -8.4497193577 , -1.9594679356 , + -33.1906549336 , -144.6825417978, -57.1218958072 , 35.7353406097 , + 61.4666549819 , 14.6536253128 , 82.1632196866 , -44.6230161723 , + -91.1022589278 , -18.5737673927 , -136.8975612334, 56.9606788003 , + 70.7059960183 , -68.2829345081 , -10.2629800455 , -53.6385325047 , + -68.7928766204 , 88.2444688302 , 83.1412324801 , -102.9206928160, + -68.2329763159 , -69.7552955469 , 108.2132269009 , -28.2582329307 , + 5.6685898328 , -36.0392956840 , 43.3269513128 , -8.6436416796 , + -16.5054886972 , 11.5008791788 , 39.6923606683 , -28.9039554061 , + 13.5938214364 , -23.6296332202 , 49.1171161163 , 53.1636857935 , + -62.9672053166 , -54.2594757384 , 48.3838956696 , 8.0469071555 , + -33.6472086213 , -120.5381752144, 55.0880453111 , 17.8990740563 , + 144.9402232336 , 101.7886229203 , -73.3666393712 , -16.4721379138 , + -12.7447935685 , 101.8245160983 , -49.7026860415 , -15.1227790364 , + 65.7430288442 , -131.8695390036, 10.2750933946 , 90.9752774838 , + -26.5859990591 , -95.6962772568 , 76.2174589344 , 24.8796848060 , + -38.8938223046 , 54.1687774852 , -37.3585968996 , -34.6848570502 , + 33.0151011570 , -55.8345877671 , -3.9009101671 , -31.5024971691 , + -9.6863895491 , 91.8719195957 , -58.9993249744 , -25.6887030614 , + -8.0829472205 , 4.6386491741 , -71.4019697167 , -21.3734669095 , + 86.2079144404 , 79.6823974266 , -0.0910915997 , 44.8067718095 , + 58.7204020766 , 72.6856808976 , -50.3373732478 , -116.1175365534, + -15.0884909384 , 5.4593772059 , -63.6553527905 , 37.3460388205 , + -32.2399421679 , 95.7569350513 , -7.3700141964 , -56.0370832967 , + -41.7377150439 , -42.0042856519 , 12.5134312941 , 93.7845584531 , + -32.4801087157 , -33.3976050318 , -24.2252126001 , -46.3199064467 , + -20.3704610276 , 15.8571376404 , 88.9127217235 , -33.1132582267 , + -1.0005675836 , -28.1780471904 , 150.9349379135 , 38.0600520828 , + 36.4338677563 , -3.3709201641 , 29.7709773016 , 16.5064119077 , + 21.3147729463 , 110.6714300904 , 18.8406036507 , 14.8963298097 , + 50.9975960392 , 16.3991140350 , -194.0805845907, -41.6723945839 , + -74.8991127408 , -6.4587655805 , -0.6883628218 , -49.8709647175 , + 194.2265120473 , 64.3043624521 , 16.0040882780 , 68.4032551772 , + -43.4050313128 , 84.6826289824 , -28.1357565943 , 134.6895584120 , + -7.9746152680 , -95.6692886462 , -48.9444370342 , 79.4479343188 , + -50.5345228122 , 52.4800633307 , -14.7735051703 , -20.1510237050 , + 22.5049816980 , 64.4191999102 , 24.8385648232 , 99.4265041360 , + 62.0189508473 , -28.3892600378 , -109.8842008564, -79.0407483407 , + 18.3408112020 , 49.1650536089 , 31.5419844924 , -36.1160722679 , + -132.9148081329, 10.4053531567 , -129.2463715470, -43.4602207151 , + -24.2420653292 , 91.5388317556 , 21.4762248190 , -44.3810909139 , + 18.4098011282 , -45.8691164539 , -20.9831197962 , 16.2076792914 , + 66.0224147666 , -13.6794615513 , 101.2163279622 , -62.4462618603 , + 22.2040981785 , -52.3208382802 , -24.7909079016 , 58.5150375093 , + 18.8569705105 , -55.6083430939 , 131.0273367422 , -34.5209015065 , + 121.4357296573 , -77.2590299593 , -51.5929566898 , 5.0247131098 , + -23.8451707592 , -4.5912313547 , 31.1387246821 , 61.7019310824 , + 49.1912429744 , -50.5836913031 , -74.8182600630 , -21.6209317022 , + 20.9409464654 , -72.7870824583 , -28.3530746820 , -45.0794425434 , + -13.4910629905 , -62.0158772255 , -34.1421181246 , 44.2844972784 , + 8.4213193211 , 79.9349022793 , 60.0160502260 , 32.2272994080 , + -72.2893887746 , 17.3063698247 , -134.6335742431, 64.6499736261 , + 7.1411921919 , -37.5517577873 , 6.2405670930 , 117.1920927305 , + 128.7420689815 , -3.1556854963 , -13.4100422909 , -11.9336372907 , + -8.6022400553 , -102.0033506666, -78.4696575074 , 15.0765861403 , + -111.5219718576, -13.4162786508 , 38.2437013694 , 61.1637732561 , + -34.4804160003 , 107.4438003830 , -79.4193067813 , -81.1842853968 , + -26.2622970331 , 132.3205425408 , -119.1464268477, 67.3048866598 , + 103.3266736715 , -58.1865815617 , 27.6231908601 , -11.2004371750 , + 26.0340617206 , 12.5696123916 , 0.6442714420 , -30.7393043544 , + 1.5314955897 , 49.9110088250 , -106.1358721920, 51.1608329944 , + -32.8684239794 , -27.7215905745 , -11.6450303367 , -36.7731678028 , + 59.9383486599 , -4.6301990580 , 5.0361682939 , -10.5669407980 , + 124.0908762205 , 35.8305364082 , -123.6216777114, -74.2569079167 , + -56.7651776816 , 16.0736385582 , 23.5030632215 , -110.6764295938, + 44.3086821806 , 9.4452708243 , 5.3300080251 , 39.0483916714 , + 151.4550562868 , 62.8957092621 , -116.8103461233, 5.1129927759 , + -33.2252515135 , -9.4522506046 , 22.7026048372 , -15.5264414569 , + 71.2087620034 , 19.1191568332 , 50.3019546809 , -5.6096922409 , + 22.9344126462 , -7.7591876203 , 31.8949515564 , -58.4253952381 , + 66.4341297173 , -19.0583083044 , 96.7695087855 , 20.4934280047 , + 4.9544603116 , -20.8288135920 , -173.2659655408, -62.4883621640 , + -48.5528422703 , 12.1437504278 , 60.2482234666 , -19.6072312919 , + -34.6320214291 , 129.0089698963 , -50.9042160618 , 98.3952661477 , + -4.7051792479 , -13.1768910826 , 69.5138802139 , 58.5748201565 , + -45.9385652563 , 151.7952104306 , 34.2541941013 , -58.0417838381 , + 28.1480473670 , 46.4006562684 , 97.7001828545 , 4.0855607626 , + -32.6097018162 , 16.8913949959 , 105.7266202978 , -89.3978374651 , + -60.9338593128 , -41.2220734230 , 49.9393070783 , 95.0974764854 , + 49.2498366456 , 58.6214364590 , 34.1113830569 , 45.6634098874 , + -22.5356086770 , -97.1978653617 , 86.5565049535 , 70.6118545777 , + -30.6978082909 , 118.7238621666 , 14.5922386932 , 11.3449652072 , + 65.6007783405 , 82.6369678204 , -52.0390492248 , -47.0160551227 , + -95.5142448634 , 99.7162626888 , -36.5523815090 , -42.8042935534 , + 68.3566199798 , -13.8451547552 , -71.1629911780 , 36.2989433752 , + -32.4867163365 , 112.4079947071 , -75.6295117422 , 47.5276421639 , + 51.8078250755 , -26.8715188457 , -9.6291144797 , 40.1999849640 , + -38.4634033246 , 40.9764960915 , -26.1715730268 , 36.5996396515 , + -26.9924731886 , 53.7879986570 , -83.1658398348 , 23.6381378489 , + 43.8794937753 , -55.4133836419 , 90.0266130838 , 14.1036181982 , + -18.1225736715 , 85.1363181151 , -62.5970846379 , -18.5291947838 , + -25.7341986703 , -49.7061342931 , -59.0442763971 , 50.8960636803 , + -87.6471123430 , -36.7217762531 , 22.5952364054 , 11.1107885650 , + -0.5377327229 , 160.8145792630 , 73.3103441505 , 10.1656872354 , + -50.4554350397 , -57.3478171016 , -15.4201715357 , -26.9135446491 , + -4.9891264771 , -37.0226770057 , -80.9919535641 , 50.4418660876 , + -25.8517575250 , -69.9538258421 , -17.5730160671 , 15.9405836751 , + 113.9545230349 , -46.1040379057 , -94.2458635014 , -69.0338522452 , + 43.5813790265 , 107.1836101171 , -55.1012654323 , -77.1529555887 , + -33.1530320656 , -94.5582659641 , -53.6837586872 , 27.0680381378 , + 93.9385415207 , -61.0955216188 , 18.0530957225 , 7.9150142320 , + -12.1218191587 , 34.0173961457 , 40.0084937565 , 9.8119275580 , + 44.2065861274 , -1.8718514394 , 67.4740024215 , 46.7391150131 , + 207.2404815875 , 45.1635364462 , 43.3580102761 , -44.0244218674 , + 83.2387206007 , -8.6441851856 , 12.3993902588 , -22.5091685270 , + -19.8332981376 , 97.9196509289 , -76.6720306234 , 28.9740705859 , + 121.9415248016 , 9.6656982611 , -51.0996453694 , 37.3704374740 , + 74.7589840907 , -113.4066752631, 120.0029566342 , -105.3786221360, + 81.8152755619 , -13.4979932982 , -21.4680758393 , -85.1088235539 , + -65.3610798409 , -35.0444139470 , -48.0220794487 , -41.6210317362 , + 33.1212995259 , -82.1480936443 , -10.5479715135 , 76.4601917004 , + 42.1983651157 , 92.6104239912 , -42.3536237955 , -24.5644182272 , + 30.4446637772 , -90.2899420489 , 63.6723540422 , 103.0895811428 , + 64.1706769263 , -10.7069812309 , 21.8927240409 , 6.3571071738 , + 57.1457649358 , -52.9866276448 , 66.0981829072 , -29.5372056881 , + -79.2252039810 , -136.2440652798, -57.0106422562 , 86.8203548141 , + 66.4244149837 , 53.3230426111 , -66.1283059222 , -131.0402660353, + 8.0548411081 , 122.9088988100 , 1.2626894208 , -60.5059112373 , + -68.8707203082 , -6.4747987200 , 85.8411327244 , 99.9624156733 , + 90.4197864338 , -35.9630441182 , -22.9158275507 , -17.3660128776 , + 16.7845345761 , 34.7219749782 , -39.3513765878 , 1.0460702756 , + -60.9494500182 , 20.0900333387 , -85.9636743832 , 88.4400782168 , + 15.0729628728 , 61.5499846243 , 11.8579871757 , 107.8617581581 , + -42.9393027864 , -62.8422307621 , -19.0589600542 , 4.0750325807 , + -36.0651825425 , 55.7638724501 , -10.4691736080 , -55.5672537178 , + -61.2061519915 , -21.1885348576 , -131.2535612498, 24.7463552676 , + 22.9426321237 , 14.3038202264 , -138.0926317438, -59.0892900856 , + -162.5416439986, 7.1307658250 , -141.1236672256, -4.7173618068 , + -16.7741532807 , -68.2615451173 , -2.6608701102 , 84.1978109826 , + -11.3446202072 , 59.9630033088 , -1.8994925010 , -37.9301641959 , + -119.4435600954, -11.4587491646 , 12.2423215240 , -7.3169898616 , + -67.0373621128 , 36.0198843055 , 53.9791315249 , -134.5885680695, + -83.8330811965 , -16.6714816463 , -8.8498552035 , -24.0513088196 , + -22.9444328877 , -37.7961441531 , 25.1975736186 , -136.1611637464, + -5.0843464033 , -10.3939554694 , 20.7422826935 , 75.6854136623 , + 46.4179626736 , -57.0052830175 , 7.3457235521 , -51.5504447254 , + -158.4375751701, -200.2426967181, -48.1234996261 , 1.6623945527 , + 21.1746524375 , 99.4092980367 , -2.3206772903 , 45.7989166757 , + 2.0181548348 , -88.0556010969 , -59.1527212096 , 47.3607925077 , + -10.4181140309 , 56.3558125650 , -8.9799125560 , -30.0376711812 , + -36.7132904688 , 35.7785050392 , -13.0763909369 , -2.1855594714 , + 18.1550954005 , -28.6711803575 , -55.4495172398 , -2.8812973198 , + -59.9575059158 , 40.0588875786 , 57.4713686602 , -3.2835144853 , + -36.7193552111 , -64.9415131516 , -166.9555466445, -23.5556853844 , + -54.9408569587 , -35.2310451959 , 21.3345143458 , 65.7590671151 , + 51.2214538168 , 46.1271939944 , -42.2235267919 , 127.2329928299 , + 105.2391778600 , 17.6726845966 , -129.9021148044, 8.7065613044 , + -94.0987112511 , -3.5375742950 , -23.1385452379 , 60.6219530633 , + 92.5445564235 , 48.5111974469 , -52.5699309159 , -60.0634811685 , + 25.9034368684 , 140.0249495491 , 1.5918852392 , 38.0266038291 , + 17.5588710703 , 3.4294066089 , -27.6748782173 , 59.6182974489 , + -35.2924781853 , -38.6198576115 , -13.6119803198 , 7.8375587489 , + 22.7250686519 , -28.3524510951 , -34.4269062817 , 22.6464817325 , + -61.6528147860 , -5.9782002429 , 61.4730771294 , 43.5582379527 , + 55.6862408270 , 87.8745651631 , 46.3401042715 , -19.8780979663 , + 74.1272633369 , 29.8590452377 , -12.8665765140 , 34.2931401219 , + 53.9279617551 , -16.9017895140 , -70.1527553166 , -79.6367897992 , + 109.3728271017 , -129.2214826835, -53.4644539730 , -51.5654458993 , + 17.6062148433 , 3.5090251835 , 74.2615941204 , -109.3431097845, + 40.1403465151 , 28.8714561280 , 94.0868659302 , -19.0047033845 , + -60.0967410050 , -19.0998457619 , -67.2027075128 , 72.0711434846 , + -17.8737851232 , 123.7050551274 , 132.6331504104 , 25.5018761009 , + -36.7817189239 , -29.1580893235 , -6.5848563828 , 90.2868948516 , + -35.7017258498 , -68.5675432955 , -52.4888589786 , 47.1377730021 , + -7.4546621940 , -52.0657517138 , -49.0404829633 , -114.6910280126, + -117.6819819437, -32.7856729408 , 31.8232065591 , 12.1192973039 , + 35.2678513420 , -1.0336778293 , 30.7021249679 , 127.0442906046 , + -84.8457819393 , 28.9862843096 , -47.3524701726 , -126.1094998460, + -2.9700276582 , -2.4956545870 , -53.8624121141 , -85.2114117637 , + 76.9057985618 , 137.1205201755 , -19.0830817212 , 14.3407526579 , + -56.5921994449 , -25.6084873186 , -44.9470801106 , -133.3139496090, + 0.3487447576 , 33.4499716730 , 34.7126257844 , -9.3307383323 , + 27.2996276947 , 10.8765676134 , -91.1032360444 , -90.9584216222 , + 1.6981490570 , 96.8557438791 , 56.7726390913 , -44.3246449237 , + 52.3260643361 , 21.5551140465 , 27.4535327381 , 2.0072717479 , + 7.4823125629 , 77.1185863870 , 16.1372262663 , -10.7206012957 +}; + +const float32_t controller_f32_coeffs[CONTROLLER_MAX_COEFFS_LEN] = +{ + /* S->Kp, S->Ki, S->Kd; */ + 0.0000000000 , -1.0336778293 , 56.7726390913 , + 0.3487447576 , 0.0000000000 , 27.4535327381 , + -29.1580893235, 1.6981490570 , 0.0000000000 , + 0.0000000000 , 0.0000000000 , -2.4956545870 , + 0.0000000000 , 8.7065613044 , 0.0000000000 , + 0.0000000000 , 0.0000000000 , 0.0000000000 , + 18.1550954005 , -5.9782002429 , 2.0072717479 , + 33.1212995259 , -82.1480936443, -10.5479715135, + -23.6296332202, 49.1171161163 , 53.1636857935 , + 7.2830326091 , 66.8368719314 , 33.9778190671 , + 9.4452708243 , 5.3300080251 , 39.0483916714 , + 6.9915412654 , -8.9909197429 , -78.9165936808 +}; + +const q31_t controller_q31_coeffs[CONTROLLER_MAX_COEFFS_LEN] = +{ + 0x00000000, 0xFEF760E4, 0x38C5CBAD, + 0x00594756, 0x00000000, 0x1B741AB9, + 0xE2D78775, 0x01B2B9E6, 0x00000000, + 0x00000000, 0x00000000, 0xFD811CC8, + 0x00000000, 0x08B4E134, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, + 0x1227B455, 0xFA0594AB, 0x0201DC90, + 0x211F0D7C, 0xADDA1689, 0xF573B824, + 0xE85ED05B, 0x311DFB52, 0x3529E750, + 0x074874D3, 0x42D63D3D, 0x21FA525A, + 0x0971FD45, 0x05547B68, 0x270C6366, + 0x06FDD5A6, 0xF7025315, 0xB1155A1E +}; + + +const q15_t controller_q15_coeffs[CONTROLLER_MAX_COEFFS_LEN] = +{ + 0x0000, 0xFEF7, 0x38C6, + 0x0059, 0x0000, 0x1B74, + 0xE2D8, 0x01B3, 0x0000, + 0x0000, 0x0000, 0xFD81, + 0x0000, 0x08B5, 0x0000, + 0x0000, 0x0000, 0x0000, + 0x1228, 0xFA06, 0x0202, + 0x211F, 0xADDA, 0xF574, + 0xE85F, 0x311E, 0x352A, + 0x0748, 0x42D6, 0x21FA, + 0x0972, 0x0554, 0x270C, + 0x06FE, 0xF702, 0xB115 +}; diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_group.c new file mode 100644 index 0000000..994dd0f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/controller_test_group.c @@ -0,0 +1,13 @@ +#include "jtest.h" +#include "controller_tests.h" + +JTEST_DEFINE_GROUP(controller_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_GROUP_CALL(pid_reset_tests); + JTEST_GROUP_CALL(pid_tests); + JTEST_GROUP_CALL(sin_cos_tests); + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_reset_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_reset_tests.c new file mode 100644 index 0000000..af534c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_reset_tests.c @@ -0,0 +1,52 @@ +#include "jtest.h" +#include "arr_desc.h" +#include "arm_math.h" +#include "type_abbrev.h" +#include "test_templates.h" + +/* Bucket of zeros. For comparison with the output of arm_pid_reset_xxx. */ +ARR_DESC_DEFINE(float32_t, zeroes, 3, CURLY(0)); + +/** + * Define a JTEST_TEST_t for the function arm_pid_reset_xxx function having + * suffix. + */ +#define ARM_PID_RESET_TEST(suffix) \ + JTEST_DEFINE_TEST(arm_pid_reset_##suffix##_test, \ + arm_pid_reset_##suffix) \ + { \ + /* Initialise the pid_instance */ \ + arm_pid_instance_##suffix pid_inst = { 0 }; \ + pid_inst.state[0] = (TYPE_FROM_ABBREV(suffix)) 0xffffffff; \ + pid_inst.state[1] = (TYPE_FROM_ABBREV(suffix)) 0xffffffff; \ + pid_inst.state[2] = (TYPE_FROM_ABBREV(suffix)) 0xffffffff; \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES(arm_pid_reset_##suffix(&pid_inst)); \ + \ + /* Test correctness */ \ + TEST_ASSERT_BUFFERS_EQUAL( \ + pid_inst.state, \ + zeroes.data_ptr, \ + 3 * sizeof(TYPE_FROM_ABBREV(suffix))); \ + \ + return JTEST_TEST_PASSED; \ + } + +ARM_PID_RESET_TEST(f32); +ARM_PID_RESET_TEST(q31); +ARM_PID_RESET_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(pid_reset_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_pid_reset_f32_test); + JTEST_TEST_CALL(arm_pid_reset_q31_test); + JTEST_TEST_CALL(arm_pid_reset_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_tests.c new file mode 100644 index 0000000..09fab0a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/controller_tests/pid_tests.c @@ -0,0 +1,79 @@ +#include "jtest.h" +#include "arr_desc.h" +#include "arm_math.h" +#include "ref.h" +#include "type_abbrev.h" +#include "test_templates.h" +#include "controller_test_data.h" +#include "controller_templates.h" + +/** + * Define a JTEST_TEST_t for the function arm_pid_xxx function having + * suffix. + */ +#define ARM_PID_TEST(suffix,type) \ + JTEST_DEFINE_TEST(arm_pid_##suffix##_test, arm_pid_##suffix) \ + { \ + uint32_t i,j; \ + \ + arm_pid_instance_##suffix fut_pid_inst = { 0 }; \ + arm_pid_instance_##suffix ref_pid_inst = { 0 }; \ + \ + for(i=0;i 0 ? (x) : -(x)) + +/* + Function to test correctness of sin_cos output by comparing it with reference library +*/ +#define COMPARISON_INTERFACE(type, threshold) \ + if ( (ABS((type) sin_val_ref - (type) sin_val_fut) > \ + (type) threshold ) || \ + (ABS((type) cos_val_ref - (type) cos_val_fut) > \ + (type) threshold)) \ + { \ + JTEST_DUMP_STRF("Error: %f %f\n", \ + ABS((type) sin_val_ref - (type) sin_val_fut), \ + ABS((type) cos_val_ref - (type) cos_val_fut)); \ + return JTEST_TEST_FAILED; \ + } + +/* + Sine and cosine test function for float32_t input +*/ +JTEST_DEFINE_TEST(arm_sin_cos_f32_test, arm_sin_cos_f32) +{ + /* Test function for all input degree values */ + TEMPLATE_DO_ARR_DESC( + degree_idx, TYPE_FROM_ABBREV(f32), + degree, arm_sin_cos_degrees_f32 + , + /* Display cycle count and run test */ + JTEST_COUNT_CYCLES( + arm_sin_cos_f32( + degree, + (TYPE_FROM_ABBREV(f32) *) &sin_val_fut, + (TYPE_FROM_ABBREV(f32) *) &cos_val_fut) + ); + ref_sin_cos_f32( + degree, + (TYPE_FROM_ABBREV(f32) *) &sin_val_ref, + (TYPE_FROM_ABBREV(f32) *) &cos_val_ref); + + /* Test correctness */ + COMPARISON_INTERFACE( + TYPE_FROM_ABBREV(f32), + MAX_DELTA_f32)); + + return JTEST_TEST_PASSED; +} + + +/* + Sine and cosine test function for q31_t input +*/ +JTEST_DEFINE_TEST(arm_sin_cos_q31_test, + arm_sin_cos_q31) +{ + /* Test function for all input degree values */ + TEMPLATE_DO_ARR_DESC( + degree_idx, TYPE_FROM_ABBREV(q31), + degree, arm_sin_cos_degrees_q31 + , + /* Display cycle count and run test */ + JTEST_COUNT_CYCLES( + arm_sin_cos_q31( + degree, + (TYPE_FROM_ABBREV(q31) *) &sin_val_fut, + (TYPE_FROM_ABBREV(q31) *) &cos_val_fut) + ); + ref_sin_cos_q31( + degree, + (TYPE_FROM_ABBREV(q31) *) &sin_val_ref, + (TYPE_FROM_ABBREV(q31) *) &cos_val_ref); + + /* Convert q31 numbers to float for comparison purposes. */ + ref_q31_t_to_float((TYPE_FROM_ABBREV(q31) *) &sin_val_fut, &sin_val_fut, 1); + ref_q31_t_to_float((TYPE_FROM_ABBREV(q31) *) &cos_val_fut, &cos_val_fut, 1); + ref_q31_t_to_float((TYPE_FROM_ABBREV(q31) *) &sin_val_ref, &sin_val_ref, 1); + ref_q31_t_to_float((TYPE_FROM_ABBREV(q31) *) &cos_val_ref, &cos_val_ref, 1); + + /* Test correctness */ + COMPARISON_INTERFACE( + TYPE_FROM_ABBREV(f32), + MAX_DELTA_f32)); + + return JTEST_TEST_PASSED; +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(sin_cos_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_sin_cos_f32_test); + JTEST_TEST_CALL(arm_sin_cos_q31_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests.c new file mode 100644 index 0000000..7b259c9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests.c @@ -0,0 +1,38 @@ +#include "jtest.h" +#include "ref.h" +#include "arr_desc.h" +#include "fast_math_templates.h" +#include "fast_math_test_data.h" +#include "type_abbrev.h" + +SQRT_TEST_TEMPLATE_ELT1(q31); +SQRT_TEST_TEMPLATE_ELT1(q15); + +SIN_COS_TEST_TEMPLATE_ELT1(f32, float32_t, sin); +SIN_COS_TEST_TEMPLATE_ELT1(q31, q31_t, sin); +SIN_COS_TEST_TEMPLATE_ELT1(q15, q15_t, sin); + +SIN_COS_TEST_TEMPLATE_ELT1(f32, float32_t, cos); +SIN_COS_TEST_TEMPLATE_ELT1(q31, q31_t, cos); +SIN_COS_TEST_TEMPLATE_ELT1(q15, q15_t, cos); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(fast_math_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_sqrt_q31_test); + JTEST_TEST_CALL(arm_sqrt_q15_test); + + JTEST_TEST_CALL(arm_sin_f32_test); + JTEST_TEST_CALL(arm_sin_q31_test); + JTEST_TEST_CALL(arm_sin_q15_test); + + JTEST_TEST_CALL(arm_cos_f32_test); + JTEST_TEST_CALL(arm_cos_q31_test); + JTEST_TEST_CALL(arm_cos_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests_common_data.c new file mode 100644 index 0000000..db74d35 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/fast_math_tests/fast_math_tests_common_data.c @@ -0,0 +1,370 @@ +#include "fast_math_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +float32_t fast_math_output_fut[FAST_MATH_MAX_LEN] = {0}; +float32_t fast_math_output_ref[FAST_MATH_MAX_LEN] = {0}; +float32_t fast_math_output_f32_fut[FAST_MATH_MAX_LEN] = {0}; +float32_t fast_math_output_f32_ref[FAST_MATH_MAX_LEN] = {0}; + +const q31_t fast_math_q31_inputs[FAST_MATH_MAX_LEN] = +{ + 0x414A5524, 0x4CAB5A17, 0x2D6F5B56, 0x7DAF4E3B, 0x29B226EB, 0x41F6F6A , + 0x25CE38BF, 0x3A970AFA, 0x3A44382A, 0x05540F8 , 0x3D060524, 0x13D56570, + 0x17D7791D, 0x7FE0438C, 0x26741841, 0x40A66E54, 0x218E4386, 0x39FF3726, + 0x0DC177CA, 0x702F2CF5, 0x41142FF1, 0x6C1476AB, 0x15F640DD, 0x662C4E49, + 0x38055E7E, 0x770871FE, 0x4F8B5360, 0x0D1928A0, 0x57647821, 0x258558CF, + 0x0C0C604D, 0x50A46C19, 0x66D2370D, 0x50FA359A, 0x36462E24, 0x6CE00F5C, + 0x66D40948, 0x355B5831, 0x3B72150A, 0x1EB61530, 0x73394127, 0x773F26F4, + 0x18052980, 0x038D6587, 0x1CF517F4, 0x22AD1691, 0x7A812473, 0x7CDC7D7F, + 0x4A5110D0, 0x6D895BB9, 0x0FD60F35, 0x1A215530, 0x20EB6DDA, 0x3DE62516, + 0x250123E1, 0x5ED813C8, 0x61E175B1, 0x2CBB32F3, 0x6D350907, 0x5B140D7E, + 0x6EAE272D, 0x3E221841, 0x418B7B88, 0x26BB1B80, 0x3CF010E4, 0x24DB166C, + 0x79AB7E42, 0x62DF28D1, 0x47004665, 0x63F56FC6, 0x419E0C75, 0x46BE1F38, + 0x243239B2, 0x758D03E0, 0x5CE12926, 0x3F574B74, 0x1F4458E2, 0x71D5639 , + 0x03A17B49, 0x173A7C76, 0x06EF7531, 0x48D32F34, 0x7D3E3063, 0x0F2F3549, + 0x5C314C9 , 0x18CB6B6D, 0x26F83697, 0x447B1E9C, 0x2E323A33, 0x50745715, + 0x01AC5746, 0x655A4E04, 0x4891060F, 0x1DA36B4F, 0x60E6227F, 0x20BF5EB4, + 0x50B3225B, 0x40C10544, 0x415656C , 0x15405EAE, 0x185863E1, 0x236A1C4E, + 0x08BD21F9, 0x2ACF7A68, 0x773665E5, 0x4EDF5F66, 0x617A1610, 0x524F4968, + 0x42D006CD, 0x5F000079, 0x24DC2447, 0x6A4F5599, 0x37064D4A, 0x1DE70608, + 0x233A2EE5, 0x137E488E, 0x18061B7B, 0x4079569D, 0x24A817D5, 0x44CE48F5, + 0x575F7883, 0x22406802, 0x71AD70BB, 0x1D4A5D79, 0x3CBC7CE4, 0x335840D8, + 0x05792E47, 0x27AD2C05, 0x3D196EAB, 0x331A40AF, 0x33035831, 0x13D93987, + 0x7C542094, 0x045F317E, 0x5DC43F8B, 0x1379650C, 0x5C20193F, 0x7DD50298, + 0x1D482B82, 0x4A6B6062, 0x5C8A757B, 0x272917C1, 0x10E16FBC, 0x355A5882, + 0x66F86A35, 0x604555A1, 0x7DF7FBB , 0x758A6216, 0x1A113463, 0x53541BAD, + 0x21576756, 0x483B6D8D, 0x1F052FCC, 0x4EA63DFB, 0x55B84677, 0x7B2E04F2, + 0x787A796C, 0x04A12CD3, 0x46029BD , 0x1DB22DD8, 0x1A8C7F28, 0x061E452E, + 0x132D3F78, 0x76525852, 0x73357BBA, 0x6BBB0A58, 0x62536AFA, 0x3F6B65EF, + 0x6DC57B58, 0x1EB718CE, 0x66B02740, 0x5FF60B47, 0x32477B8F, 0x7FF35302, + 0x29FD3E40, 0x475A43D1, 0x6FF9528A, 0x2018209D, 0x47E079C9, 0x4CF576D3, + 0x28074E34, 0x5D6F58ED, 0x234045D1, 0x51CE35F9, 0x25297896, 0x644320FE, + 0x0F4449A9, 0x54C361C6, 0x701D52F1, 0x4E094820, 0x718F0810, 0x61540689, + 0x79DE5A1F, 0x52865C23, 0x48AC3A4B, 0x6A0C1BE0, 0x21B705DB, 0x7086465D, + 0x1CC10929, 0x1E1D716E, 0x6D231D4C, 0x20495108, 0x38FF1971, 0x149C78D4, + 0x441F1E8B, 0x43D95372, 0x69C324B4, 0x210B7DC9, 0x47815E78, 0x02476137, + 0x6163DDF , 0x390D6EC2, 0x2F684E5B, 0x0E680ABD, 0x02232615, 0x12593380, + 0x7B1465FE, 0x065A6957, 0x130F53EB, 0x6D772EF7, 0x10E916B6, 0x63BC7A68, + 0x2ACB00BB, 0x651C5590, 0x194714B5, 0x730904EE, 0x59BB61B4, 0x34867DBC, + 0x391C706C, 0x3C164218, 0x28931CD0, 0x129A66AB, 0x13171F4D, 0x62882872, + 0x4B167FD4, 0x66902F4C, 0x7A794932, 0x54B152C , 0x30856EA9, 0x39466D55, + 0x36696451, 0x0F5B1E8C, 0x077A3C6A, 0x51B956B4, 0x367E2D2A, 0x1D2C662A, + 0x78FB6880, 0x4E6D40B6, 0x40706FDC, 0x4DF9679C, 0x20306EDB, 0x63812AE7, + 0x255D2748, 0x1B8B617B, 0x3E036FAD, 0x04E444A7, 0x55A37517, 0x669B2988, + 0x18FD5E8C, 0x67BD05CE, 0x34BB346C, 0x76994800, 0x05B958B6, 0x6DFA2FEF, + 0x2055B5C , 0x1F843C4C, 0x72721B52, 0x73EF6B86, 0x5FB90B61, 0x43235DAC, + 0x31D424B4, 0x768C0D7E, 0x162F2F9D, 0x7B2A7A99, 0x79392693, 0x442D12C0, + 0x0692273E, 0x59A16E80, 0x5D956856, 0x44E73DAC, 0x0D874532, 0x5F5C1DD0, + 0x5D167858, 0x05597EA2, 0x1D821476, 0x59654ED2, 0x594C0DC7, 0x1A873506, + 0x3F693200, 0x7A651AB5, 0x20CC3C8A, 0x1F9E662C, 0x78E7631 , 0x2A01DA0 , + 0x3088472F, 0x12EE0D42, 0x360D4D5F, 0x73337E48, 0x0D634C06, 0x233A0ACB, + 0x706651ED, 0x7AA54079, 0x262239D1, 0x3EBB6BB6, 0x225A4F3D, 0x32581A06, + 0x6E6F5780, 0x577377C7, 0x75ED1DDC, 0x10DF2D15, 0x3C7929BC, 0x37175917, + 0x354E381C, 0x762A2DD7, 0x76435AC1, 0x73BB749E, 0x52FE4E7E, 0x6C8140F4, + 0x57694875, 0x12D30822, 0x474227CF, 0x37926D98, 0x121C7E24, 0x204E1EE7, + 0x58C6268 , 0x2152080 , 0x316C3323, 0x7AB14A31, 0x61C13C03, 0x7D8E74F1, + 0x73F446D0, 0x6C6C6A0A, 0x3BFD79FB, 0x67242969, 0x3E5524EB, 0x0FF5534 , + 0x52F05F1C, 0x17102DE3, 0x540F4A21, 0x798468E7, 0x419545EB, 0x193F7880, + 0x2B246B20, 0x408A2BC4, 0x4BF66A49, 0x40894C55, 0x4CAA6398, 0x247856E9, + 0x2F2A647D, 0x22F55D33, 0x70D37915, 0x50634C72, 0x5983671 , 0x2BCC5AF8, + 0x1A77D48 , 0x411B5CFA, 0x71074D7E, 0x3A6B3593, 0x61425F05, 0x6271012A, + 0x5B830310, 0x3D8418CA, 0x10A50792, 0x239F7137, 0x213D5071, 0x7F9930D4, + 0x2462664F, 0x54180F8E, 0x291505BA, 0x6586387A, 0x144B2C12, 0x18E425C7, + 0x3AA43373, 0x18F0503C, 0x19462AC0, 0x58B452EF, 0x72473895, 0x26BF5435, + 0x6DA553B , 0x60912FA6, 0x5C337331, 0x3D93CD7 , 0x4D035752, 0x20691929, + 0x389962F9, 0x36E701E9, 0x758B642C, 0x5FCA69E3, 0x596027F4, 0x2D5A2FD0, + 0x5F18324A, 0x3DB165AA, 0x76BA3876, 0x1BC21AF6, 0x3CC10841, 0x73A60174, + 0x625B7F58, 0x67C57724, 0x4458653C, 0x61573095, 0x2B370837, 0x03DF6CE3, + 0x5D086EFA, 0x3F5227C2, 0x191B4785, 0x60843D82, 0x30DE11F1, 0x105E226C, + 0x6E1C7AA2, 0x47AA5D14, 0x36676D03, 0x3B8D4DF6, 0x7372694 , 0x409521DC, + 0x744206A , 0x4722023F, 0x2BE46AD5, 0x63E11D76, 0x4A4A09AB, 0x5CF252B9, + 0x31586916, 0x4DFD7D84, 0x32037634, 0x2D7329D4, 0x4524582F, 0x2E5366C1, + 0x3B0E019B, 0x38530C6A, 0x6A2542D , 0x0A6A00E5, 0x119725CC, 0x54065347, + 0x1B6F7AF1, 0x6CCF71F1, 0x181117F2, 0x71674A76, 0x74F43880, 0x77A55F47, + 0x59EA5B62, 0x4A331D95, 0x3CBB276F, 0x245C4D50, 0x4718D5 , 0x07CE05D1, + 0x60D47AD5, 0x25CA1C40, 0x30061766, 0x669B39DF, 0x3D5F1320, 0x19306AD3, + 0x28B30325, 0x0DD090F , 0x6A6E6F37, 0x2DF16F66, 0x2B514C7E, 0x31101C58, + 0x7D4847FC, 0x515341CA, 0x77AB0EA6, 0x41320DAF, 0x3AF8531E, 0x24B31611, + 0x6D377331, 0x7A832A22, 0x222511C7, 0x722D1F89, 0x3B194F18, 0x261B0A4D, + 0x43F676DB, 0x4F8C6D61, 0x190F2250, 0x202E72A9, 0x560D4EA2, 0x308E67B4, + 0x36746663, 0x17CC3852, 0x27EB2EAC, 0x7FDE0AA8, 0x264719A , 0x23261EDD, + 0x3C0B339E, 0x06284D40, 0x48D82ECB, 0x24D44CF8, 0x43631B91, 0x4BF04248, + 0x36497B9B, 0x68273C58, 0x630B7AF9, 0x20CC3F26, 0x6C3B7B71, 0x574433ED, + 0x7A2552F6, 0x4CDE642D, 0x565B0142, 0x26F9207F, 0x67A207BE, 0x5B506684, + 0x44DA4780, 0x11756A0C, 0x156104AF, 0x415561B0, 0x6E3A6886, 0x1DBA1EA2, + 0x542359C8, 0x4C024E22, 0x758F052A, 0x1DD6395 , 0x2D194BAD, 0x616475A1, + 0x42084602, 0x09C274AD, 0x13CB5562, 0x57FE2D5B, 0x607A4EE5, 0x16723A91, + 0x4F624CCF, 0x2E5E24A3, 0x28FE6FAF, 0x3DDA6EF4, 0x32AF540C, 0x19A57B3B, + 0x5D1D73A3, 0x23424B3E, 0x278445F5, 0x53971C3B, 0x427D7943, 0x5221358C, + 0x26CE1A5E, 0x7B506CA4, 0x3B86636E, 0x60831F6D, 0x45E142F3, 0x21B77B04, + 0x7BB65E0C, 0x78B80F5E, 0x7D8D172B, 0x3BF33A90, 0x2D572D9 , 0x2B5B4920, + 0x36A05E01, 0x52745306, 0x47C64855, 0x1CAA669B, 0x304A2641, 0x4D6B1760, + 0x3E176D79, 0x523241B0, 0x24A67957, 0x4BDE76AF, 0x4E5F1493, 0x4C215DA5, + 0x33A052B , 0x1A4D00C2, 0x40AE6BCA, 0x390D106B, 0x69E86018, 0x5AF356CF, + 0x63561D4 , 0x44F31C6 , 0x14B6299B, 0x0D2E25F0, 0x4CBF132A, 0x45AC18B6, + 0x2227567D, 0x06B54E2F, 0x26344534, 0x22C515EC, 0x2442370D, 0x6C3721C6, + 0x34EF687D, 0x1C06323A, 0x6AF36A60, 0x60396F52, 0x6AE70AA1, 0x49D06CBC, + 0x6F9576C8, 0x584C4258, 0x3A9A27BB, 0x66DF0D47, 0x1D4804EA, 0x57DD1E67, + 0x789C7895, 0x75336111, 0x25C122C8, 0x62742114, 0x4FBF6D26, 0x3F9F6482, + 0x66F02CD9, 0x11083202, 0x499E2618, 0x7EBC1351, 0x440112F1, 0x49DF7BC1, + 0x3BF45C25, 0x31BA7FA0, 0x61AF1AED, 0x6B1F7D29, 0x2D865294, 0x63E01129, + 0x7E9E77A5, 0x100435D7, 0x1FE3A71 , 0x08597C81, 0x722849FA, 0x31C520AF, + 0x7BA178DC, 0x7F102D31, 0x5CA07864, 0x150E6F98, 0x02C34882, 0x5D041F11, + 0x0C613C57, 0x53984FD1, 0x426F38AD, 0x55992B1D, 0x7AFA078D, 0x2B253413, + 0x594B32CF, 0x32887E38, 0x28933B46, 0x1A0B4168, 0x291B4A94, 0x653A5E8D, + 0x21746BBE, 0x5EFE6415, 0x30DA429C, 0x50C5640C, 0x34711AA4, 0x529C67A6, + 0x105957CD, 0x4D287499, 0x03CA0AA7, 0x28385832, 0x25A04A02, 0x420D47A4, + 0x35627556, 0x4BC11E4C, 0x59E215C7, 0x27E838B4, 0x458612F4, 0x22827F6F, + 0x449D4DBA, 0x679B7362, 0x4E495845, 0x4FD270D1, 0x395E76A0, 0x375A655E, + 0x12E2058F, 0x73F970CA, 0x61EF73B3, 0x51FF5362, 0x67410345, 0x7FDA0B3B, + 0x221962E8, 0x17AB6543, 0x26557412, 0x4B30084D, 0x268E191D, 0x7E0D13DF, + 0x73EF127D, 0x4DEC5DB1, 0x77FA745F, 0x56002898, 0x12DD0A40, 0x157F6DDF, + 0x42A55F8E, 0x43597924, 0x7B630C3F, 0x338B6B58, 0x32945F75, 0x4FA23A0E, + 0x036E38C0, 0x33B18FD , 0x06114337, 0x24660ACB, 0x19BB02F0, 0x124C0A47, + 0x3A951701, 0x01155ABF, 0x0C612D71, 0x36074CA7, 0x51660C41, 0x635F58C7, + 0x7FC2002D, 0x0E6A7CF3, 0x65B07D07, 0x015F6A6B, 0x791B70DD, 0x6E475719, + 0x424314C7, 0x68426EB , 0x71942FEE, 0x464A2F52, 0x677579FD, 0x6BA775AE, + 0x1F66EFF , 0x1A795237, 0x78D9545F, 0x1D0B344D, 0x3BD34AB7, 0x2F85312A, + 0x16C542AD, 0x3990185D, 0x08DF3351, 0x02811AA5, 0x6D351F41, 0x4066269D, + 0x06B660BF, 0x6EDB4768, 0x5DD70CF0, 0x35D74F6E, 0x689E220C, 0x11431687, + 0x147C49C9, 0x385762BD, 0x302F0AE4, 0x1DAB67F8, 0x483256C9, 0x37D50FCB, + 0x4EA82711, 0x4D7B2C98, 0x19DB78BC, 0x58DE0DC2, 0x6AFF7E7B, 0x37621C93, + 0x792C6E19, 0x77001192, 0x7F88439D, 0x2E196A66, 0x6C71378C, 0x6AF43B3A, + 0x7C16225E, 0x6687337 , 0x4BEE1608, 0x6D5B5552, 0x345D4590, 0x681209CC, + 0x7B242819, 0x508A1416, 0x19880FE3, 0x1FC7288A, 0x24BD0502, 0x6A1D1678, + 0x20E6CA0 , 0x59BE2057, 0x5ADE11EB, 0x5EA8649D, 0x7A200E6F, 0x1149481D, + 0x72281E93, 0x0A5B0451, 0x67312D58, 0x63B849F1, 0x52217960, 0x7CDF59F3, + 0x33C775C0, 0x1EBA0799, 0x7DF1506 , 0x34E96110, 0x38FC73E3, 0x5EA059B2, + 0x022936EA, 0x316406F6, 0x43911185, 0x6C0D10F3, 0x1C6F3DF8, 0x38DB12A9, + 0x5CD41244, 0x2C9F0A7B, 0x5F4A315F, 0x77CE1C66, 0x4C800860, 0x318D53E0, + 0x7105420D, 0x575361F2, 0x750810BA, 0x217E4CA5, 0x2010140 , 0x4D884763, + 0x42BB0DA7, 0x32D53A74, 0x141C6CD4, 0x087F5FC3, 0x464B53 , 0x2D2A05F6, + 0x15532B45, 0x5D5C3CE1, 0x3EB9216A, 0x2214611B, 0x1FC52C5F, 0x11AE5DD7, + 0x20B925A9, 0x7C640AF4, 0x740009AC, 0x6D0E0321, 0x38E6A61 , 0x09104544, + 0x474F26C8, 0x15254CF3, 0x341A6B59, 0x661904CE, 0x598B2197, 0x2412659D, + 0x61976DD4, 0x329B3E16, 0x08FD1FB0, 0x304006F3, 0x3456309 , 0x55CC15F1, + 0x59DA7630, 0x5C801335, 0x0036D52 , 0x353775A5, 0x299476EB, 0x75280568, + 0x766F5264, 0x2EA233A6, 0x647619F3, 0x7FB30C7A, 0x1BC03B9 , 0x36BC3061, + 0x3F30596E, 0x3E2A527B, 0x0AC04220, 0x641979A3, 0x1ECC3B89, 0x21447BC1, + 0x4E8F2E26, 0x0C5A1D90, 0x299E5467, 0x57C947E3, 0x1D4865ED, 0x76F31C3D, + 0x4EE81CDF, 0x3479195E, 0x6FFB3AE1, 0x5C82398 , 0x300F7364, 0x47940AFA, + 0x3B853E3E, 0x598C440D, 0x224A3D89, 0x3A674204, 0x22880A38, 0x2E77F2D , + 0x22841C9C, 0x4F0609C3, 0x1FE90922, 0x09335017, 0x2D6B69A7, 0x7EDB63F9, + 0x099A74EF, 0x1F9F1B40, 0x24BE17E8, 0x251D2F7A, 0x16AC50D3, 0x28D7ED6 , + 0x6D193443, 0x76156F1B, 0x30DF6A4E, 0x64FF6794, 0x63DB2C9A, 0x74353022, + 0x556E025C, 0x23802AF9, 0x425018A4, 0x675A18BB, 0x70B227B9, 0x7FB01BF , + 0x63E7910 , 0x6C661591, 0x65745D2B, 0x4F6E379D, 0x52B32FAC, 0x1E6A1101, + 0x1DE22385, 0x2338191F, 0x469704B6, 0x4BAB4599, 0x54EB4809, 0x78393E6D, + 0x550017DD, 0x39B120E1, 0x288D52D3, 0x2D52668C, 0x20D22A68, 0x4E1207D1, + 0x3FCC0EFE, 0x47F37E64, 0x25177A90, 0x34BF5D4D, 0x5A8D3DCE, 0x6F7275A8, + 0x6BEA2655, 0x2A1810FC, 0x64DB593A, 0x0A4D4BC0, 0x2C402E93, 0x71C077F9, + 0x6F0C4577, 0x70412414, 0x752F1DC1, 0x582E38EA, 0x2C455F7B, 0x4DCD4EDB, + 0x12BC2696, 0x7B037135, 0x4FCA1F8C, 0x3D5E75F6, 0x502F41B0, 0x361653F1, + 0x2E5B0E31, 0x20266B19, 0x57E703D7, 0x467B3E00, 0x47032BA3, 0x1F776B9C, + 0x62570A84, 0x7EC75B48, 0x1BD5012 , 0x7D0A2D5D, 0x7FCC29F2, 0x291304B6, + 0x19D558ED, 0x47551C8 , 0x7D12738F, 0x3ADE0892, 0x5F741997, 0x25D2E2F , + 0x2B9F2269, 0x5C134FED, 0x15E92399, 0x54437F4E, 0x272D32AB, 0x56186AA1, + 0x7E4D355C, 0x234D7836, 0x2A871760, 0x4637A94 , 0x2C183207, 0x5FC78B3 , + 0x7F10621E, 0x276966B2, 0x6C9F4A11, 0x4E3F182C, 0x62BA2EF5, 0x25F239CD, + 0x73D63FED, 0x636E1F5E, 0x0AC15A0E, 0x3F3D33EB, 0x738326EA, 0x35C366B1, + 0x4D476E86, 0x02F63208, 0x711A1FC1, 0x426A4396, 0x7E4D1B93, 0x75E46DB7, + 0x2F3C44A7, 0x51A56F5C, 0x7AD2463D, 0x0A5639CA, 0x49952C78, 0x4C4B64F6, + 0x3AFE7F8D, 0x66993D04, 0x43867F37, 0x4BC146C2, 0x55A875EC, 0x681A1A75, + 0x30A67E1B, 0x4A4A7D0C, 0x20F77993, 0x1891805 , 0x738976AD, 0x542667D6, + 0x3C5C6EBF, 0x4499187F, 0x2BF17C97, 0x447C317F, 0x68D8419C, 0x7AAB6456, + 0x421B4F29, 0x76740F9C, 0x09163B8D, 0x3D72AAB , 0x1AD54DD7, 0x754946EE, + 0x7317342B, 0x218546D4, 0x10563DA7, 0x54BB4CCE, 0x0CE63E46, 0x5D146234, + 0x33BE6C63, 0x325044E5, 0x09D72335, 0x07C36BA , 0x365530CC, 0x2DFA448C, + 0x1663516F, 0x59B00AA , 0x150274EA, 0x12532D4A, 0x3CEF002D, 0x492F3DA5, + 0x263A2574, 0x6F8005C2, 0x14A10651, 0x2F627ABA, 0x68293238, 0x26987646, + 0x52590516, 0x10144D36, 0x59B151B9, 0x2B2A4F05, 0x53953699, 0x27851C75, + 0x180646F3, 0x2E970306, 0x32843145, 0x18F4FE8F +}; + +/* The source data is random across the q31_t range. Accessing it by word should + remain random. */ +const q15_t * fast_math_q15_inputs = (q15_t *) fast_math_q31_inputs; + +const float32_t fast_math_f32_inputs[FAST_MATH_MAX_LEN] = +{ + /* Special values close to increments of pi/2 */ + -0.0, 0.0, -1.5E-07, 1.5E-07, 1.5707964, 1.5707965, + -1.5707964, -1.5707965, 3.1415925, 3.1415927, -3.1415925, -3.1415927, + 6.2831855, 6.283186, -6.2831855, -6.283186, + + /* Test some slightly larger values too */ + 10.1, -13.2, + + /* Random values (0, 2pi) */ + -1.3684878, 1.1444261, 0.2627620, 0.6719343, 3.8732286, 5.9040643, + -2.2271110, 2.5800587, 6.1848498, 5.9412493, 4.2514839, 6.2096863, + -4.8181437, 2.1155439, 4.1618680, 1.5341357, 1.8567268, 4.2736867, + -3.3165594, 2.5861183, 3.7864876, 4.7156566, 3.6664471, 3.4670146, + -3.6666823, 3.2158594, 0.5189454, 4.5211925, 6.2590334, 2.2276047, + -6.1025991, 2.1768018, 5.5703194, 2.8569321, 2.5976403, 1.3680509, + -0.7895111, 1.9409676, 4.5622487, 4.9189303, 4.3591961, 0.0615894, + -5.2980657, 5.7951829, 4.8440482, 0.2680398, 2.3762136, 4.4254964, + -4.5836656, 1.4091744, 1.6905207, 4.2287795, 3.0001720, 3.9189258, + -1.4856273, 1.1129014, 5.2128031, 4.8187110, 5.8715002, 0.6778860, + -1.1449692, 0.6226340, 3.0772767, 1.2141962, 5.6290528, 0.6225986, + -0.2775005, 3.5015887, 4.8537297, 1.9599772, 1.1245801, 2.1297213, + -1.3203840, 3.2053828, 5.6948550, 3.9516457, 0.6379562, 2.4558128, + -0.3431663, 3.1496534, 2.7125841, 6.2678565, 5.0994494, 3.0514394, + -5.6199810, 0.8642307, 2.4504731, 5.8267510, 5.7647838, 4.4835177, + 3.8851284, 2.1569414, 5.8812331, 0.7839784, 4.5904032, 4.0619375, + 5.2348483, 2.5024810, 4.7112719, 5.2478452, 2.0260784, 3.4699621, + 6.1520498, 3.4514073, 2.0761128, 3.8922546, 2.2659464, 4.7532896, + 2.6006151, 3.0934955, 4.3652005, 6.1118673, 2.0593452, 5.2640727, + 4.6437278, 5.9952549, 0.2005758, 2.2422740, 4.1635768, 1.7687265, + 1.4475395, 4.4681525, 3.9243074, 3.7109036, 4.1496541, 0.2987948, + 2.1914796, 2.8358565, 1.5136507, 4.4927603, 5.3795520, 1.7687650, + 4.5933278, 0.8655898, 5.2572843, 0.8708603, 3.6958286, 2.3006310, + 5.0690197, 3.1653480, 3.0762120, 5.5106597, 2.2188555, 2.8239372, + 6.0540393, 0.2657649, 6.1132775, 1.1888217, 4.1916405, 3.6847088, + 4.2418564, 2.2683684, 3.8973243, 5.0966113, 0.1209983, 0.5269928, + 6.1248595, 4.0925498, 1.4529100, 2.5352096, 0.7666775, 1.6866509, + 1.6200953, 2.0839142, 0.9565145, 2.1865966, 0.7644026, 5.5552975, + 0.5923686, 5.8436176, 2.5071164, 0.2978322, 2.1511962, 4.6242118, + 4.9931353, 3.4237447, 4.3116692, 5.6148598, 0.3442670, 1.9079607, + 0.2902301, 1.2282167, 4.5249352, 4.5349096, 5.5153742, 3.6595342, + 0.4441228, 5.7977751, 5.0288862, 1.7966571, 3.4159368, 6.1875316, + 4.4967379, 5.2714014, 2.7222564, 2.9570223, 3.5230663, 1.6907520, + 4.7062218, 3.1660203, 4.0640250, 1.9336225, 0.8716326, 2.9881129, + 2.2773988, 4.9518627, 4.9027432, 4.2003861, 0.8388295, 0.1354396, + 3.5175829, 1.8901016, 5.9024853, 6.1631993, 1.8008890, 5.0317023, + 5.6304337, 3.7543702, 5.5544410, 5.9296402, 3.4504620, 4.5765894, + 3.6238793, 0.1624673, 2.8056369, 4.0608350, 3.2748147, 2.3393094, + 5.8881908, 5.2121085, 5.3349614, 2.3407017, 3.7270886, 5.4824095, + 5.8653636, 4.2000849, 1.2992148, 4.1082644, 0.4527132, 2.5555406, + 4.1904544, 5.8667713, 5.0953493, 3.0445066, 4.7547955, 2.6203864, + 6.1059115, 6.2076281, 5.4295991, 2.4434288, 2.8572272, 1.5499814, + 4.9286757, 5.5470323, 5.7410198, 3.5078076, 3.7627993, 0.9354200, + 5.6530665, 2.8299063, 1.2922774, 5.6526739, 4.7914663, 5.5448250, + 1.7903950, 4.2300036, 4.1737937, 0.7716694, 2.5592571, 1.7296789, + 4.5029688, 1.7805566, 5.6309835, 5.1935484, 2.4506089, 3.1284165, + 4.3655898, 5.2424950, 3.8304163, 3.6111801, 2.0485834, 2.8678003, + 4.4849099, 5.5568808, 4.5292698, 0.1169475, 4.2397456, 2.7552322, + 2.7509053, 0.7353640, 5.1187960, 2.0411269, 1.5470969, 2.1533307, + 2.3605433, 3.4340988, 3.5306485, 2.4870244, 2.5015301, 3.2381477, + 4.1313862, 5.9747764, 4.5386496, 2.5137752, 5.2268018, 0.8440727, + 0.3799239, 0.5293398, 0.0000000, 2.0371338, 1.8958053, 0.0733938, + 3.3923238, 0.5992443, 0.9205800, 3.9655772, 5.3992694, 6.1212150, + 3.5866836, 6.2633946, 3.4780043, 3.2387210, 2.0777367, 2.7017810, + 3.0901098, 0.4463392, 5.5778300, 0.4061048, 2.7406309, 5.1938664, + 2.4789345, 3.8545764, 5.1436714, 5.5683790, 5.8503469, 1.1987353, + 1.6247202, 5.6414565, 3.7282025, 3.1657206, 3.8503962, 5.1485818, + 3.3419582, 1.2696753, 2.8518968, 2.6886436, 6.0698884, 3.8959208, + 4.3692639, 4.5249277, 2.1796068, 3.2483466, 3.4978155, 0.9832885, + 3.5315023, 4.3655778, 2.6794992, 5.2544420, 4.5954405, 2.2621418, + 2.8539005, 2.4277593, 4.8729535, 4.6135614, 2.7035154, 4.3589760, + 5.9389515, 4.9274787, 4.4332387, 0.6869673, 2.4500066, 3.7127639, + 2.8863700, 0.3162955, 1.4368865, 5.2413645, 0.0982985, 5.4268554, + 0.4905223, 4.2037186, 3.1429204, 1.3696954, 3.5915675, 0.7677371, + 4.2170618, 3.7673071, 0.3517086, 0.3540136, 0.9581898, 0.1232828, + 2.7342886, 5.2290017, 3.8791769, 3.2680695, 5.4278441, 0.6138541, + 5.7054603, 0.6786889, 3.2483864, 0.8994758, 3.5146290, 0.0287746, + 4.8172051, 5.3325973, 5.7605579, 6.2013046, 3.1738449, 1.7053924, + 0.6330341, 3.1909083, 3.6794907, 4.7933610, 0.5212697, 4.1569315, + 3.2482749, 1.0747264, 5.8971330, 3.7101152, 2.7685894, 5.9182512, + 4.1212281, 2.8396586, 5.2759745, 3.3465722, 3.4801751, 4.2729777, + 2.3071222, 1.5035072, 3.6374836, 5.4468120, 2.5558538, 0.7075818, + 2.7887656, 1.8861142, 2.5219880, 5.2361777, 2.5360737, 2.4515477, + 2.2647672, 0.8812504, 1.6344462, 0.5454754, 2.6979830, 1.6165554, + 1.8695956, 2.6694641, 0.7490013, 3.1105972, 4.4384875, 1.5304166, + 4.9327408, 0.4655185, 2.4748426, 0.0213259, 1.3865538, 0.0081717, + 1.1886509, 0.8952537, 1.6843712, 1.0988793, 0.8711572, 3.7629093, + 5.6615138, 5.9022971, 1.3897429, 3.0327137, 2.3625475, 3.2910070, + 1.6642436, 0.4295011, 2.7415239, 1.0923508, 0.1640358, 5.9984205, + 2.7055177, 6.0416507, 4.7903915, 0.0461730, 4.2728088, 4.4356194, + 4.0534637, 3.4702651, 1.3704176, 4.8529200, 1.4327442, 2.3302118, + 5.5978709, 5.3807748, 2.5285646, 1.9981730, 3.8241692, 5.7189253, + 5.7120324, 3.7170973, 2.0896078, 5.3599569, 2.7796679, 5.6822331, + 0.2084724, 3.3453343, 4.5018856, 1.1265867, 2.1144987, 1.1794352, + 2.0227281, 2.5375066, 3.4467437, 0.3062336, 3.4729184, 1.7266910, + 1.5174002, 1.5277262, 0.9686124, 6.0093412, 5.8789338, 5.1441345, + 4.5758041, 1.1046577, 2.2642776, 1.1862024, 0.0075297, 1.9881224, + 4.3958232, 3.9285942, 3.4121603, 2.7585521, 1.8059588, 3.1520171, + 4.7849358, 4.7903511, 3.6194660, 4.6977042, 4.0560129, 0.7742111, + 3.1692252, 2.1819072, 0.5789810, 0.9289656, 1.2451370, 4.2239985, + 2.7112647, 4.3630684, 1.6134250, 0.0613154, 3.3444332, 1.7554715, + 5.9453394, 5.6953510, 2.4673100, 0.1561700, 4.2187618, 5.2600982, + 6.1041123, 0.3577199, 2.8294680, 3.6597688, 4.3142726, 4.5203293, + 4.0843265, 4.5673388, 2.3489542, 3.6541880, 0.7295941, 0.3622530, + 6.1560465, 1.7896003, 3.7383338, 6.0454361, 1.1672793, 1.2129049, + 2.1466132, 5.8615704, 2.4546365, 1.7166712, 0.9547117, 2.4951084, + 2.3544507, 0.8238180, 2.7334414, 0.5749942, 3.8618151, 0.0689837, + 3.6019012, 4.9620190, 1.4788531, 2.8149909, 3.5773830, 0.3857966, + 3.1182750, 4.0357856, 1.3902536, 5.2593808, 6.1014456, 5.3179177, + 3.1792883, 1.7522271, 4.6911344, 1.4886775, 6.0151778, 3.8972087, + 3.7715583, 1.0845061, 0.5676653, 1.6038597, 5.3945577, 5.7244031, + 4.3959286, 4.5564551, 1.4444168, 3.6194506, 5.0933266, 2.5374227, + 6.2105471, 0.5654792, 2.0165320, 3.2132771, 0.3808010, 4.5596317, + 3.4969429, 3.3260664, 5.2149334, 5.3957421, 4.9576149, 1.9970040, + 2.8413032, 4.7263877, 0.6902815, 0.6895316, 1.6957291, 3.2963937, + 6.1113470, 4.4636294, 1.9594738, 1.8312791, 5.3429527, 5.7280497, + 4.0166905, 1.6045389, 0.5571039, 5.2669152, 3.6738954, 5.9571429, + 0.3834561, 3.6734096, 1.7913869, 5.2007946, 1.2000032, 2.7804978, + 2.4718774, 5.1935175, 4.2529065, 1.3044083, 1.9987109, 0.8407592, + 4.2189258, 3.5876427, 1.0666779, 0.9277486, 2.9912971, 5.7057758, + 3.4694180, 0.2069675, 0.3384307, 5.0583614, 2.8360719, 2.4042372, + 4.9614777, 2.2888819, 3.3448533, 4.4714710, 5.4756485, 2.0652177, + 4.0848120, 6.1250762, 0.4773170, 3.6883502, 2.6005256, 1.9423615, + 1.6577182, 4.7674690, 6.2531264, 1.1722630, 4.9080805, 1.2302350, + 6.2351753, 5.0407581, 2.6654950, 4.5795867, 3.1312479, 5.0830358, + 2.2400117, 0.4602021, 3.7133088, 5.7188788, 1.2174673, 2.7166470, + 4.7071094, 0.2462034, 5.9459353, 4.7983010, 3.5111731, 1.1551193, + 3.1287047, 3.2537199, 6.2470131, 5.3711915, 6.0469623, 4.2659122, + 2.5352740, 5.8746469, 3.0126903, 1.4563896, 2.4899651, 4.4301324, + 3.5095299, 4.7540509, 6.2547920, 6.0471349, 3.3619258, 6.0561746, + 0.7264988, 0.3232592, 1.9122808, 3.6454528, 3.3361480, 5.6624574, + 3.3963785, 2.7142142, 3.4096772, 4.4762342, 0.1047703, 5.0323343, + 0.8954125, 3.0063438, 1.6137441, 2.3190715, 4.1579916, 1.0656836, + 1.7516517, 1.2454643, 1.2256706, 2.0535941, 5.5313259, 2.9600203, + 2.5382144, 1.1261446, 6.0879353, 2.5601199, 5.3060708, 3.8662016, + 2.3663172, 5.5114955, 4.9313732, 2.9213939, 5.1143679, 5.6450910, + 2.6969853, 2.1006537, 3.7488443, 5.6673754, 4.4112136, 2.3716204, + 4.6178643, 5.9948046, 3.4105954, 3.3935850, 1.9547595, 0.4475800, + 1.1434170, 0.5842667, 2.9121888, 0.0586379, 5.7492774, 4.0384655, + 0.0089162, 0.1909163, 1.3098570, 2.8586366, 0.7996361, 0.0543350, + 4.5683759, 2.2249794, 4.9036865, 2.7435946, 2.7429546, 0.3092155, + 0.3118464, 0.5723993, 3.7324447, 1.5147758, 5.2864780, 5.3860266, + 6.0545540, 3.0718480, 1.3842492, 1.4213108, 3.3727372, 4.7884765, + 2.1838288, 2.8980046, 4.0169897, 5.7637923, 1.0151904, 4.4964699, + 3.6300404, 2.7224978, 5.5558613, 2.4696170, 1.1245340, 3.9793522, + 3.9207111, 2.0605178, 5.0451799, 6.2799046, 6.1636676, 0.7981966, + 1.4592079, 0.1484872, 3.8166117, 0.6962355, 2.5601436, 5.5548184, + 3.4440198, 2.3185147, 1.3090764, 2.7705283, 6.0079576, 0.7792778, + 2.9578927, 5.3840384, 0.2726304, 4.3456090, 6.1511471, 1.7798247, + 0.8405677, 4.3057392, 5.7142715, 3.8382030, 5.6547587, 1.2153801, + 4.7401894, 2.1756202, 2.6303011, 0.9784166, 5.1459324, 3.9265103, + 4.6405120, 5.0586705, 0.4223724, 5.9739917, 3.1263686, 4.7447217, + 4.6646686, 5.2221411, 0.9833301, 2.8733554, 3.8836400, 5.8570808, + -5.2470141, 5.6261119, 3.6600718, 3.6615062, 5.3716581, 0.2190677, + -5.5632585, 2.5618482, 0.2285950, 4.6881858, 0.9728179, 0.9042027, + -3.8073530, 1.5989503, 2.0367209, 2.5245268, 2.5533189, 2.4265105, + -3.8314979, 1.0486053, 1.1818174, 0.5945707, 2.0306392, 4.8355201, + -1.4710068, 4.6518534, 4.3531065, 5.1778361, 5.2023364, 1.8432851, + -1.9438243, 3.2862931, 2.0439139, 5.2266206, 5.0912323, 3.4997233, + -1.6522518, 4.2761236, 1.4680860, 2.8678051, 2.4163051, 3.3841326, + -6.2310582, 4.7451897, 6.1603795, 1.4751828, 3.3210347, 0.3231823, + -4.7555888, 3.7823504, 5.3857498, 6.2095284, 5.8401232, 2.5730582, + -0.0021455, 3.3984387, 1.3052100, 1.3777994, 2.0471011, 0.6028680, + -4.6968925, 4.7030205, 3.4136510, 2.1245480, 5.2297066, 3.4719134, + -6.0164208, 5.6098372, 2.2399783, 3.4331443, 2.1782657, 3.9131853, + -5.0053405, 4.6864702, 0.7887674, 5.1672539, 0.1580253, 2.6039335, + -4.5955687, 4.9095176, 2.3077255, 4.6801428, 5.6062801, 1.5243220, + -0.8142818, 1.4141432, 2.1992023, 1.8038058, 5.8275790, 0.3224138, + -3.7238350, 1.0235240, 5.2678588, 1.0528164, 3.1554195, 6.2789723, + -2.2330890, 0.2957980, 1.3424690, 2.4996969, 2.0964990, 1.4426353, + -5.8818165, 4.2926017, 6.0451393, 2.7518666, 5.9083095, 0.0366581, + -3.8346722, 5.0333074, 1.4638661, 5.8588735, 4.7957215, 5.1927356, + -3.6031780, 4.9799375, 2.0674268, 1.4040530, 1.9627813, 3.6726693, + -5.2145043, 1.8250297, 2.5293238, 5.4164658, 3.8625225, 6.2278165, + -1.2798778, 5.1975080, 4.2465638, 1.5641957, 2.9894493, 2.5074636, + -3.7663816, 5.0298329, 0.6601666, 5.1612735, 5.2847013, 2.2274284, + -2.7022061, 3.5954850, 4.4034117, 4.6650751, 4.7619266, 2.4449681, + -2.6973871, 6.0088907, 3.6000853, 5.3389611 +}; diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/biquad_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/biquad_tests.c new file mode 100644 index 0000000..a6837f7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/biquad_tests.c @@ -0,0 +1,244 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +#define BIQUAD_DEFINE_TEST(suffix, instance_name, config_suffix, output_type) \ + JTEST_DEFINE_TEST(arm_biquad_cascade_##config_suffix##_##suffix##_test, \ + arm_biquad_cascade_##config_suffix##_##suffix) \ + { \ + instance_name biquad_inst_fut = { 0 }; \ + instance_name biquad_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numstages_idx, uint16_t, numStages, filtering_numstages \ + , \ + /* Initialize the BIQUAD Instances */ \ + arm_biquad_cascade_##config_suffix##_init_##suffix( \ + &biquad_inst_fut, numStages, \ + (output_type*)filtering_coeffs_b_##suffix, \ + (void *) filtering_pState); \ + \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Stages: %d\n", \ + (int)blockSize, \ + (int)numStages); \ + \ + JTEST_COUNT_CYCLES( \ + arm_biquad_cascade_##config_suffix##_##suffix( \ + &biquad_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_biquad_cascade_##config_suffix##_init_##suffix( \ + &biquad_inst_ref, numStages, \ + (output_type*)filtering_coeffs_b_##suffix, \ + (void *) filtering_pState); \ + \ + ref_biquad_cascade_##config_suffix##_##suffix( \ + &biquad_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define BIQUAD_WITH_POSTSHIFT_DEFINE_TEST(suffix, config_suffix, speed, output_type) \ + JTEST_DEFINE_TEST(arm_biquad_cascade_##config_suffix##speed##_##suffix##_test, \ + arm_biquad_cascade_##config_suffix##speed##_##suffix) \ + { \ + arm_biquad_casd_##config_suffix##_inst_##suffix biquad_inst_fut = { 0 }; \ + arm_biquad_casd_##config_suffix##_inst_##suffix biquad_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numstages_idx, uint16_t, numStages, filtering_numstages \ + , \ + TEMPLATE_DO_ARR_DESC( \ + postshifts_idx, uint8_t, postShift, filtering_postshifts \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Stages: %d\n" \ + "Post Shift: %d\n", \ + (int)blockSize, \ + (int)numStages, \ + (int)postShift); \ + \ + /* Initialize the BIQUAD Instances */ \ + arm_biquad_cascade_##config_suffix##_init_##suffix( \ + &biquad_inst_fut, numStages, \ + (output_type*)filtering_coeffs_b_##suffix, \ + (void *) filtering_pState, postShift); \ + \ + JTEST_COUNT_CYCLES( \ + arm_biquad_cascade_##config_suffix##speed##_##suffix( \ + &biquad_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_biquad_cascade_##config_suffix##_init_##suffix( \ + &biquad_inst_ref, numStages, \ + (output_type*)filtering_coeffs_b_##suffix, \ + (void *) filtering_pState, postShift); \ + \ + ref_biquad_cascade_##config_suffix##speed##_##suffix( \ + &biquad_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type)))); \ + \ + return JTEST_TEST_PASSED; \ + } + + +JTEST_DEFINE_TEST(arm_biquad_cas_df1_32x64_q31_test, + arm_biquad_cas_df1_32x64_q31) +{ + arm_biquad_cas_df1_32x64_ins_q31 biquad_inst_fut = { 0 }; + arm_biquad_cas_df1_32x64_ins_q31 biquad_inst_ref = { 0 }; + + TEMPLATE_DO_ARR_DESC( + blocksize_idx, uint32_t, blockSize, filtering_blocksizes + , + TEMPLATE_DO_ARR_DESC( + numstages_idx, uint16_t, numStages, filtering_numstages + , + TEMPLATE_DO_ARR_DESC( + postshifts_idx, uint8_t, postShift, filtering_postshifts + , + /* Initialize the BIQUAD Instances */ + arm_biquad_cas_df1_32x64_init_q31( + &biquad_inst_fut, numStages, + (q31_t*)filtering_coeffs_b_q31, + (void *) filtering_pState, postShift); + + /* Display test parameter values */ + JTEST_DUMP_STRF("Block Size: %d\n" + "Number of Stages: %d\n", + (int)blockSize, + (int)numStages); + + JTEST_COUNT_CYCLES( + arm_biquad_cas_df1_32x64_q31( + &biquad_inst_fut, + (void *) filtering_q31_inputs, + (void *) filtering_output_fut, + blockSize)); + + arm_biquad_cas_df1_32x64_init_q31( + &biquad_inst_ref, numStages, + (q31_t*)filtering_coeffs_b_q31, + (void *) filtering_pState, postShift); + + ref_biquad_cas_df1_32x64_q31( + &biquad_inst_ref, + (void *) filtering_q31_inputs, + (void *) filtering_output_ref, + blockSize); + + FILTERING_SNR_COMPARE_INTERFACE( + blockSize, + q31_t)))); + + return JTEST_TEST_PASSED; +} + +JTEST_DEFINE_TEST(arm_biquad_cascade_df2T_f64_test, + arm_biquad_cascade_df2T_f64) +{ + arm_biquad_cascade_df2T_instance_f64 biquad_inst_fut = { 0 }; + arm_biquad_cascade_df2T_instance_f64 biquad_inst_ref = { 0 }; + + TEMPLATE_DO_ARR_DESC( + blocksize_idx, uint32_t, blockSize, filtering_blocksizes + , + TEMPLATE_DO_ARR_DESC( + numstages_idx, uint16_t, numStages, filtering_numstages + , + /* Display test parameter values */ + JTEST_DUMP_STRF("Block Size: %d\n" + "Number of Stages: %d\n", + (int)blockSize, + (int)numStages); + + /* Initialize the BIQUAD Instances */ + arm_biquad_cascade_df2T_init_f64( + &biquad_inst_fut, numStages, + (float64_t*)filtering_coeffs_b_f64, + (void *) filtering_pState); + + JTEST_COUNT_CYCLES( + arm_biquad_cascade_df2T_f64( + &biquad_inst_fut, + (void *) filtering_f64_inputs, + (void *) filtering_output_fut, + blockSize)); + + arm_biquad_cascade_df2T_init_f64( + &biquad_inst_ref, numStages, + (float64_t*)filtering_coeffs_b_f64, + (void *) filtering_pState); + + ref_biquad_cascade_df2T_f64( + &biquad_inst_ref, + (void *) filtering_f64_inputs, + (void *) filtering_output_ref, + blockSize); + + FILTERING_DBL_SNR_COMPARE_INTERFACE( + blockSize, + float64_t))); + + return JTEST_TEST_PASSED; +} + + +BIQUAD_DEFINE_TEST(f32,arm_biquad_casd_df1_inst_f32, df1,float32_t); +BIQUAD_DEFINE_TEST(f32,arm_biquad_cascade_df2T_instance_f32,df2T,float32_t); +BIQUAD_DEFINE_TEST(f32,arm_biquad_cascade_stereo_df2T_instance_f32,stereo_df2T,float32_t); +BIQUAD_WITH_POSTSHIFT_DEFINE_TEST(q31,df1,,q31_t); +BIQUAD_WITH_POSTSHIFT_DEFINE_TEST(q15,df1,,q15_t); +BIQUAD_WITH_POSTSHIFT_DEFINE_TEST(q31,df1,_fast,q31_t); +BIQUAD_WITH_POSTSHIFT_DEFINE_TEST(q15,df1,_fast,q15_t); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(biquad_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_biquad_cascade_df1_f32_test); + JTEST_TEST_CALL(arm_biquad_cascade_df2T_f32_test); + JTEST_TEST_CALL(arm_biquad_cascade_stereo_df2T_f32_test); + JTEST_TEST_CALL(arm_biquad_cascade_df2T_f64_test); + JTEST_TEST_CALL(arm_biquad_cascade_df1_q31_test); + JTEST_TEST_CALL(arm_biquad_cascade_df1_q15_test); + JTEST_TEST_CALL(arm_biquad_cascade_df1_fast_q31_test); + JTEST_TEST_CALL(arm_biquad_cascade_df1_fast_q15_test); + JTEST_TEST_CALL(arm_biquad_cas_df1_32x64_q31_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/conv_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/conv_tests.c new file mode 100644 index 0000000..981004b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/conv_tests.c @@ -0,0 +1,473 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +/*--------------------------------------------------------------------------------*/ +/* Header Stuff */ +/*--------------------------------------------------------------------------------*/ + +#define CONV_MAX_INPUT_ELTS 32 +#define CONV_MAX_OUTPUT_ELTS (CONV_MAX_INPUT_ELTS * 2) + +#define CONV_TEST_VALID_PARTIAL_PARAMS(input_a_len, input_b_len, \ + first_index, num_points) \ + (((((input_a_len) + (input_b_len) - 1)) >= num_points + first_index ) \ + && (num_points > 0)) + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define CONV_arm_conv_INPUT_INTERFACE(input_a, input_a_len, input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_fut) + +#define CONV_ref_conv_INPUT_INTERFACE(input_a, input_a_len, input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_ref) + +#define CONV_arm_conv_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_fut, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_ref_conv_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_ref, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_arm_conv_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_fut) + +#define CONV_ref_conv_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_ref) + +#define CONV_arm_conv_fast_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_fut, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_ref_conv_fast_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_ref, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_arm_conv_partial_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_fut, first_index, num_points) + +#define CONV_ref_conv_partial_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_ref, first_index, num_points) + +#define CONV_arm_conv_partial_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_fut, first_index, num_points) + +#define CONV_ref_conv_partial_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_ref, first_index, num_points) + +#define CONV_arm_conv_partial_opt_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_fut, first_index, num_points, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_ref_conv_partial_opt_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_ref, first_index, num_points, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_arm_conv_partial_fast_opt_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_fut, first_index, num_points, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CONV_ref_conv_partial_fast_opt_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len, \ + first_index, num_points) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*)filtering_output_ref, first_index, num_points, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +/*--------------------------------------------------------------------------------*/ +/* Convolution Inputs */ +/*--------------------------------------------------------------------------------*/ + +/* The following symbols alias the filtering_q31_inputs array: + * + * - filtering_q15_inputs + * - filtering_q7_inputs + * + * The aliasing conflicts with the instantiation of #ARR_DESC_t structs. + * + * These macro-level aliases allow the #CONV_DEFINE_RAND_INPUT_ARR_DESCS() macro + * to correctly select the filtering_q31_input or filtering_f32_input array, + * within a template, by type_suffix. + * + */ +#define CONV_f32_INPUTS filtering_f32_inputs +#define CONV_q31_INPUTS filtering_q31_inputs +#define CONV_q15_INPUTS filtering_q31_inputs +#define CONV_q7_INPUTS filtering_q31_inputs + +/** + * Defines #ARR_DESC_t objects that wrap existing, type-specific, common + * inputs. + */ +#define CONV_DEFINE_RAND_INPUT_ARR_DESCS(type_suffix) \ + ARR_DESC_DEFINE_USING_ARR( \ + TYPE_FROM_ABBREV(type_suffix), \ + conv_input_rand1_##type_suffix, \ + CONV_##type_suffix##_INPUTS, \ + 0, \ + CONV_MAX_INPUT_ELTS); \ + \ + ARR_DESC_DEFINE_USING_ARR( \ + TYPE_FROM_ABBREV(type_suffix), \ + conv_input_rand2_##type_suffix, \ + CONV_##type_suffix##_INPUTS, \ + 1, \ + CONV_MAX_INPUT_ELTS) /* Note the lacking semicolon */ + +CONV_DEFINE_RAND_INPUT_ARR_DESCS(f32); +CONV_DEFINE_RAND_INPUT_ARR_DESCS(q31); +CONV_DEFINE_RAND_INPUT_ARR_DESCS(q15); +CONV_DEFINE_RAND_INPUT_ARR_DESCS(q7); +ARR_DESC_DEFINE(float32_t, conv_input_zeros, CONV_MAX_INPUT_ELTS, CURLY(0)); + +/** + * Define Input #ARR_DESC_t arrays by type suffix. + * + * Taking inputs in parallel from the 'a' and 'b' arrays yields the following + * test cases (star is convolution): + * + * - zero_array * zero_array + * - zero_array * random_array + * - random_array * zero_array + * - random_array * different_random_arary + */ +#define CONV_DEFINE_ALL_INPUTS(type_suffix) \ + ARR_DESC_DEFINE(ARR_DESC_t *, \ + conv_##type_suffix##_a_inputs, \ + 4, \ + CURLY( \ + &conv_input_zeros, \ + &conv_input_zeros, \ + &conv_input_rand1_##type_suffix, \ + &conv_input_rand1_##type_suffix \ + )); \ + ARR_DESC_DEFINE(ARR_DESC_t *, \ + conv_##type_suffix##_b_inputs, \ + 4, \ + CURLY( \ + &conv_input_zeros, \ + &conv_input_rand1_##type_suffix, \ + &conv_input_zeros, \ + &conv_input_rand2_##type_suffix \ + )) /* Note the lacking semicolon */ + +CONV_DEFINE_ALL_INPUTS(f32); +CONV_DEFINE_ALL_INPUTS(q31); +CONV_DEFINE_ALL_INPUTS(q15); +CONV_DEFINE_ALL_INPUTS(q7); + +/*--------------------------------------------------------------------------------*/ +/* Convolution Lengths */ +/*--------------------------------------------------------------------------------*/ + +/* + * The conv_lens_a and conv_lens_b #ARR_DESC_t objects are accessed in parallel + * to provide convolution-length pairs. Taken in parallel they provide the + * following cases: + * + * - 1 * 1 : Shortest convolution possible. + * - 1 * 2 : Short convolution , one side is degenerate . + * - 17 * 1 : Medium convolution , one side is degenerate . + * - 15 * MAX : Longest convolution , one side is degenerate . + * MAX * MAX : Longest convolution. + */ +ARR_DESC_DEFINE(uint32_t, + conv_lens_a, + 5, + CURLY( + 1, + 1, + 17, + 15, + CONV_MAX_INPUT_ELTS + )); + +ARR_DESC_DEFINE(uint32_t, + conv_lens_b, + 5, + CURLY( + 1, + 2, + 1, + CONV_MAX_INPUT_ELTS, + CONV_MAX_INPUT_ELTS + )); + +/*--------------------------------------------------------------------------------*/ +/* Partial Indexing */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(uint32_t, + first_index_arr_desc, + 4, + CURLY( + 0, + 1, + CONV_MAX_INPUT_ELTS / 2, + CONV_MAX_INPUT_ELTS + )); + +ARR_DESC_DEFINE(uint32_t, + num_points_arr_desc, + 3, + CURLY( + 1, + CONV_MAX_OUTPUT_ELTS / 2, + CONV_MAX_OUTPUT_ELTS + )); + +/*--------------------------------------------------------------------------------*/ +/* Convolution Tests */ +/*--------------------------------------------------------------------------------*/ + +#define CONV_TEST_TEMPLATE(fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + suffix, output_type) \ + JTEST_DEFINE_TEST(fut##_tests, fut) \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, conv_##suffix##_a_inputs \ + , \ + void * input_a_ptr = input_ptr->data_ptr; \ + void * input_b_ptr = ARR_DESC_ELT( \ + ARR_DESC_t *, input_idx, \ + &(conv_##suffix##_b_inputs))->data_ptr; \ + \ + TEMPLATE_DO_ARR_DESC( \ + conv_len_idx, uint32_t, conv_len_a, conv_lens_a \ + , \ + uint32_t conv_len_b = ARR_DESC_ELT( \ + uint32_t, conv_len_idx, &(conv_lens_b)); \ + \ + JTEST_DUMP_STRF("Input A Length: %d\n" \ + "Input B Length: %d\n", \ + (int)conv_len_a, \ + (int)conv_len_b); \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_a_ptr, conv_len_a, input_b_ptr, conv_len_b), \ + ref, ref_arg_interface( \ + input_a_ptr, conv_len_a, input_b_ptr, conv_len_b)); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + conv_len_a + conv_len_b - 1, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } \ + \ + +#define CONV_PARTIAL_TEST_TEMPLATE(fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + suffix, output_type) \ + JTEST_DEFINE_TEST(fut##_tests, fut) \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, conv_##suffix##_a_inputs \ + , \ + void * input_a_ptr = input_ptr->data_ptr; \ + void * input_b_ptr = ARR_DESC_ELT( \ + ARR_DESC_t *, input_idx, \ + &(conv_##suffix##_b_inputs))->data_ptr; \ + TEMPLATE_DO_ARR_DESC( \ + conv_len_idx, uint32_t, conv_len_a, conv_lens_a \ + , \ + uint32_t conv_len_b = ARR_DESC_ELT( \ + uint32_t, conv_len_idx, &(conv_lens_b)); \ + \ + TEMPLATE_DO_ARR_DESC( \ + first_index_idx, uint32_t, first_index, \ + first_index_arr_desc \ + , \ + TEMPLATE_DO_ARR_DESC( \ + num_points_idx, uint32_t, num_points, \ + num_points_arr_desc \ + , \ + if (CONV_TEST_VALID_PARTIAL_PARAMS( \ + conv_len_a, conv_len_b, \ + first_index, num_points)) \ + { \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Input A Length: %d\n" \ + "Input B Length: %d\n" \ + "First Sample Index: %d\n" \ + "Number of Output Points: %d\n", \ + (int)conv_len_a, \ + (int)conv_len_b, \ + (int)first_index, \ + (int)num_points); \ + \ + memset(filtering_output_ref,0, \ + (2*CONV_MAX_INPUT_ELTS)*sizeof(output_type)); \ + memset(filtering_output_fut,0, \ + (2*CONV_MAX_INPUT_ELTS)*sizeof(output_type)); \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_a_ptr, conv_len_a, \ + input_b_ptr, conv_len_b, \ + first_index, num_points), \ + ref, ref_arg_interface( \ + input_a_ptr, conv_len_a, \ + input_b_ptr, conv_len_b, \ + first_index, num_points)); \ + \ + FILTERING_SNR_COMPARE_INTERFACE_OFFSET( \ + first_index, \ + num_points, \ + output_type); \ + } else { \ + /* FUT should return ARM_MATH_ARGUMENT_ERROR*/ \ + /* if first_index and num_points don't make */ \ + /* sense*/ \ + \ + arm_status conv_test_retval; \ + TEST_CALL_FUT( \ + conv_test_retval = fut, \ + fut_arg_interface( \ + input_a_ptr, conv_len_a, \ + input_b_ptr, conv_len_b, \ + first_index, num_points)); \ + \ + if (conv_test_retval != ARM_MATH_ARGUMENT_ERROR) { \ + JTEST_DUMP_STR("FUT failed to raise error."); \ + /* return JTEST_TEST_FAILED; */ \ + } \ + })))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define CONV_DEFINE_TEST(fn_name, suffix, output_type, test_template) \ + test_template( \ + arm_##fn_name##_##suffix, \ + CONV_arm_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + CONV_ref_##fn_name##_INPUT_INTERFACE, \ + suffix, \ + output_type \ + ) /* Note the lacking semicolon*/ + +/* Tests on functions without partial outputs */ +CONV_DEFINE_TEST(conv , f32, float32_t, CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv , q31, q31_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv , q15, q15_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv , q7 , q7_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_opt , q15, q15_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_opt , q7 , q7_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_fast , q31, q31_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_fast , q15, q15_t , CONV_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_fast_opt , q15, q15_t , CONV_TEST_TEMPLATE); + +/* Tests on functions with partial outputs */ +CONV_DEFINE_TEST(conv_partial , f32, float32_t, CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial , q31, q31_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial , q15, q15_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial , q7 , q7_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial_fast , q31, q31_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial_fast , q15, q15_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial_fast_opt , q15, q15_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial_opt , q15, q15_t , CONV_PARTIAL_TEST_TEMPLATE); +CONV_DEFINE_TEST(conv_partial_opt , q7 , q7_t , CONV_PARTIAL_TEST_TEMPLATE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(conv_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_conv_f32_tests); + JTEST_TEST_CALL(arm_conv_q31_tests); + JTEST_TEST_CALL(arm_conv_q15_tests); + JTEST_TEST_CALL(arm_conv_q7_tests); + + JTEST_TEST_CALL(arm_conv_opt_q15_tests); + JTEST_TEST_CALL(arm_conv_opt_q7_tests); + + JTEST_TEST_CALL(arm_conv_fast_q31_tests); + JTEST_TEST_CALL(arm_conv_fast_q15_tests); + + JTEST_TEST_CALL(arm_conv_fast_opt_q15_tests); + + JTEST_TEST_CALL(arm_conv_partial_f32_tests); + JTEST_TEST_CALL(arm_conv_partial_q31_tests); + JTEST_TEST_CALL(arm_conv_partial_q15_tests); + JTEST_TEST_CALL(arm_conv_partial_q7_tests); + + JTEST_TEST_CALL(arm_conv_partial_fast_q31_tests); + JTEST_TEST_CALL(arm_conv_partial_fast_q15_tests); + + JTEST_TEST_CALL(arm_conv_partial_fast_opt_q15_tests); + + JTEST_TEST_CALL(arm_conv_partial_opt_q15_tests); + JTEST_TEST_CALL(arm_conv_partial_opt_q7_tests); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/correlate_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/correlate_tests.c new file mode 100644 index 0000000..b00c7cc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/correlate_tests.c @@ -0,0 +1,310 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +/*--------------------------------------------------------------------------------*/ +/* Header Stuff */ +/*--------------------------------------------------------------------------------*/ + +#define CORRELATE_MAX_INPUT_ELTS 32 +#define CORRELATE_MAX_OUTPUT_ELTS (CORRELATE_MAX_INPUT_ELTS * 2) + +/*--------------------------------------------------------------------------------*/ +/* Input Interfaces */ +/*--------------------------------------------------------------------------------*/ +/* + * General: + * Input interfaces provide inputs to functions inside test templates. They + * ONLY provide the inputs. The output variables should be hard coded. + * + * The input interfaces must have the following format: + * + * ARM_xxx_INPUT_INTERFACE() or + * REF_xxx_INPUT_INTERFACE() + * + * The xxx must be lowercase, and is intended to be the indentifying substring + * in the function's name. Acceptable values are 'sub' or 'add' from the + * functions arm_add_q31. + */ + +#define CORRELATE_arm_correlate_INPUT_INTERFACE(input_a, input_a_len, input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_fut) + +#define CORRELATE_ref_correlate_INPUT_INTERFACE(input_a, input_a_len, input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_ref) + +#define CORRELATE_arm_correlate_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_fut, \ + (void*) filtering_scratch) + +#define CORRELATE_arm_correlate_opt_q7_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_fut, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CORRELATE_ref_correlate_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_ref, \ + (void*) filtering_scratch) + +#define CORRELATE_ref_correlate_opt_q7_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_ref, \ + (void*) filtering_scratch, \ + (void*) filtering_scratch2) + +#define CORRELATE_arm_correlate_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_fut) + +#define CORRELATE_ref_correlate_fast_INPUT_INTERFACE(input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, (void*)filtering_output_ref) + +#define CORRELATE_arm_correlate_fast_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_fut, \ + (void*) filtering_scratch) + +#define CORRELATE_ref_correlate_fast_opt_INPUT_INTERFACE( \ + input_a, input_a_len, \ + input_b, input_b_len) \ + PAREN(input_a, input_a_len, input_b, input_b_len, \ + (void*) filtering_output_ref, \ + (void*) filtering_scratch) + +/*--------------------------------------------------------------------------------*/ +/* Convolution Inputs */ +/*--------------------------------------------------------------------------------*/ + +/* The following symbols alias the filtering_q31_inputs array: + * + * - filtering_q15_inputs + * - filtering_q7_inputs + * + * The aliasing conflicts with the instantiation of #ARR_DESC_t structs. + * + * These macro-level aliases allow the #CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS() macro + * to correctly select the filtering_q31_input or filtering_f32_input array, + * within a template, by type_suffix. + * + */ +#define CORRELATE_f32_INPUTS filtering_f32_inputs +#define CORRELATE_q31_INPUTS filtering_q31_inputs +#define CORRELATE_q15_INPUTS filtering_q31_inputs +#define CORRELATE_q7_INPUTS filtering_q31_inputs + +/** + * Defines #ARR_DESC_t objects that wrap existing, type-specific, common + * inputs. + */ +#define CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS(type_suffix) \ + ARR_DESC_DEFINE_USING_ARR( \ + TYPE_FROM_ABBREV(type_suffix), \ + correlate_input_rand1_##type_suffix, \ + CORRELATE_##type_suffix##_INPUTS, \ + 0, \ + CORRELATE_MAX_INPUT_ELTS); \ + \ + ARR_DESC_DEFINE_USING_ARR( \ + TYPE_FROM_ABBREV(type_suffix), \ + correlate_input_rand2_##type_suffix, \ + CORRELATE_##type_suffix##_INPUTS, \ + 1, \ + CORRELATE_MAX_INPUT_ELTS) /* Note the lacking semicolon */ + +CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS(f32); +CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS(q31); +CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS(q15); +CORRELATE_DEFINE_RAND_INPUT_ARR_DESCS(q7); +ARR_DESC_DEFINE(float32_t, correlate_input_zeros, CORRELATE_MAX_INPUT_ELTS, CURLY(0)); + +/** + * Define Input #ARR_DESC_t arrays by type suffix. + * + * Taking inputs in parallel from the 'a' and 'b' arrays yields the following + * test cases (star is correlate): + * + * - zero_array * zero_array + * - zero_array * random_array + * - random_array * zero_array + * - random_array * different_random_arary + */ +#define CORRELATE_DEFINE_ALL_INPUTS(type_suffix) \ + ARR_DESC_DEFINE(ARR_DESC_t *, \ + correlate_##type_suffix##_a_inputs, \ + 4, \ + CURLY( \ + &correlate_input_zeros, \ + &correlate_input_zeros, \ + &correlate_input_rand1_##type_suffix, \ + &correlate_input_rand1_##type_suffix \ + )); \ + ARR_DESC_DEFINE(ARR_DESC_t *, \ + correlate_##type_suffix##_b_inputs, \ + 4, \ + CURLY( \ + &correlate_input_zeros, \ + &correlate_input_rand1_##type_suffix, \ + &correlate_input_zeros, \ + &correlate_input_rand2_##type_suffix \ + )) /* Note the lacking semicolon */ + +CORRELATE_DEFINE_ALL_INPUTS(f32); +CORRELATE_DEFINE_ALL_INPUTS(q31); +CORRELATE_DEFINE_ALL_INPUTS(q15); +CORRELATE_DEFINE_ALL_INPUTS(q7); + +/*--------------------------------------------------------------------------------*/ +/* Convolution Lengths */ +/*--------------------------------------------------------------------------------*/ + +/* + * The correlate_lens_a and correlate_lens_b #ARR_DESC_t objects are accessed in parallel + * to provide correlate-length pairs. Taken in parallel they provide the + * following cases: + * + * - 1 * 1 : Shortest correlate possible. + * - 1 * 2 : Short correlate , one side is degenerate. + * - 17 * 1 : Medium correlate, one side is degenerate. + * - 15 * MAX : Longest correlate. + * MAX * MAX : Longest correlate. + */ +ARR_DESC_DEFINE(uint32_t, + correlate_lens_a, + 5, + CURLY( + 1, + 1, + 17, + 15, + CORRELATE_MAX_INPUT_ELTS + )); + +ARR_DESC_DEFINE(uint32_t, + correlate_lens_b, + 5, + CURLY( + 1, + 2, + 1, + CORRELATE_MAX_INPUT_ELTS, + CORRELATE_MAX_INPUT_ELTS + )); + +/*--------------------------------------------------------------------------------*/ +/* Convolution Tests */ +/*--------------------------------------------------------------------------------*/ + +#define CORRELATE_TEST_TEMPLATE(fut, fut_arg_interface, \ + ref, ref_arg_interface, \ + suffix, output_type) \ + JTEST_DEFINE_TEST(fut##_tests, fut) \ + { \ + TEMPLATE_DO_ARR_DESC( \ + input_idx, ARR_DESC_t *, input_ptr, correlate_##suffix##_a_inputs \ + , \ + void * input_a_ptr = input_ptr->data_ptr; \ + void * input_b_ptr = ARR_DESC_ELT( \ + ARR_DESC_t *, input_idx, \ + &(correlate_##suffix##_b_inputs))->data_ptr; \ + \ + TEMPLATE_DO_ARR_DESC( \ + correlate_len_idx, uint32_t, correlate_len_a, correlate_lens_a \ + , \ + uint32_t correlate_len_b = ARR_DESC_ELT( \ + uint32_t, correlate_len_idx, &(correlate_lens_b)); \ + \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Input A Length: %d\n" \ + "Input B Length: %d\n", \ + (int)correlate_len_a, \ + (int)correlate_len_b); \ + \ + memset(filtering_output_ref,0, \ + (2*CORRELATE_MAX_INPUT_ELTS)*sizeof(output_type)); \ + memset(filtering_output_fut,0, \ + (2*CORRELATE_MAX_INPUT_ELTS)*sizeof(output_type)); \ + \ + TEST_CALL_FUT_AND_REF( \ + fut, fut_arg_interface( \ + input_a_ptr, correlate_len_a, input_b_ptr, correlate_len_b), \ + ref, ref_arg_interface( \ + input_a_ptr, correlate_len_a, input_b_ptr, correlate_len_b)); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + correlate_len_a + correlate_len_b - 2, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define CORRELATE_DEFINE_TEST(fn_name, suffix, output_type, test_template) \ + test_template( \ + arm_##fn_name##_##suffix, \ + CORRELATE_arm_##fn_name##_INPUT_INTERFACE, \ + ref_##fn_name##_##suffix, \ + CORRELATE_ref_##fn_name##_INPUT_INTERFACE, \ + suffix, \ + output_type \ + ) /* Note the lacking semicolon*/ + +/* Tests on functions without partial outputs */ +CORRELATE_DEFINE_TEST(correlate , f32, float32_t, CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate , q31, q31_t , CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate , q15, q15_t , CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate , q7 , q7_t , CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate_opt , q15, q15_t , CORRELATE_TEST_TEMPLATE); + +CORRELATE_TEST_TEMPLATE( + arm_correlate_opt_q7, + CORRELATE_arm_correlate_opt_q7_INPUT_INTERFACE, + ref_correlate_opt_q7, + CORRELATE_ref_correlate_opt_q7_INPUT_INTERFACE, + q7, + q7_t + ); + +CORRELATE_DEFINE_TEST(correlate_fast , q31, q31_t , CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate_fast , q15, q15_t , CORRELATE_TEST_TEMPLATE); +CORRELATE_DEFINE_TEST(correlate_fast_opt , q15, q15_t , CORRELATE_TEST_TEMPLATE); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(correlate_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_correlate_f32_tests); + JTEST_TEST_CALL(arm_correlate_q31_tests); + JTEST_TEST_CALL(arm_correlate_q15_tests); + JTEST_TEST_CALL(arm_correlate_q7_tests); + + JTEST_TEST_CALL(arm_correlate_opt_q15_tests); + JTEST_TEST_CALL(arm_correlate_opt_q7_tests); + + JTEST_TEST_CALL(arm_correlate_fast_q31_tests); + JTEST_TEST_CALL(arm_correlate_fast_q15_tests); + + JTEST_TEST_CALL(arm_correlate_fast_opt_q15_tests); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_common_data.c new file mode 100644 index 0000000..0fc4178 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_common_data.c @@ -0,0 +1,757 @@ +#include "filtering_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +//must be max(LMS_MAX_BLOCKSIZE*2, FILTERING_MAX_BLOCKSIZE * FILTERING_MAX_L) +float32_t filtering_output_fut[LMS_MAX_BLOCKSIZE*2] = {0}; +float32_t filtering_output_ref[LMS_MAX_BLOCKSIZE*2] = {0}; +float32_t filtering_output_f32_fut[LMS_MAX_BLOCKSIZE*2] = {0}; +float32_t filtering_output_f32_ref[LMS_MAX_BLOCKSIZE*2] = {0}; +float32_t filtering_input_lms[LMS_MAX_BLOCKSIZE*2] = {0}; +__ALIGNED(8) float32_t filtering_pState[LMS_MAX_BLOCKSIZE + FILTERING_MAX_NUMTAPS] = {0}; +float32_t filtering_scratch[FILTERING_MAX_BLOCKSIZE * 3] = {0}; +float32_t filtering_scratch2[FILTERING_MAX_BLOCKSIZE * 3] = {0}; +float32_t filtering_coeffs_lms[FILTERING_MAX_NUMTAPS]; + +const q31_t filtering_q31_inputs[FILTERING_MAX_BLOCKSIZE * FILTERING_MAX_M + FILTERING_MAX_NUMTAPS] = +{ + 0xC14A5524, 0xCCABDA17, 0xAD6F5B56, 0xFDAFCE3B, 0xA9B226EB, + 0x41F6F6A, 0xA5CE38BF, 0x3A978AFA, 0xBA44B82A, 0x855C0F8, + 0x3D060524, 0x93D5E570, 0x97D7791D, 0xFFE0C38C, 0x26749841, + 0xC0A6EE54, 0x218EC386, 0x39FF3726, 0x8DC1F7CA, 0x702F2CF5, + 0xC1142FF1, 0xEC1476AB, 0x15F640DD, 0xE62CCE49, 0x3805DE7E, + 0xF70871FE, 0xCF8BD360, 0x8D19A8A0, 0xD764F821, 0xA58558CF, + 0x8C0CE04D, 0x50A46C19, 0x66D2370D, 0x50FA359A, 0xB646AE24, + 0x6CE00F5C, 0xE6D48948, 0xB55BD831, 0x3B72950A, 0x9EB69530, + 0x73394127, 0x773FA6F4, 0x9805A980, 0x838DE587, 0x9CF597F4, + 0xA2AD1691, 0xFA81A473, 0x7CDC7D7F, 0x4A5190D0, 0xED895BB9, + 0x8FD60F35, 0x1A21D530, 0xA0EB6DDA, 0xBDE6A516, 0x2501A3E1, + 0x5ED893C8, 0xE1E175B1, 0xACBBB2F3, 0xED350907, 0xDB140D7E, + 0xEEAE272D, 0xBE229841, 0xC18BFB88, 0xA6BB9B80, 0xBCF090E4, + 0x24DB166C, 0xF9AB7E42, 0x62DF28D1, 0xC7004665, 0xE3F56FC6, + 0x419E0C75, 0x46BE9F38, 0x2432B9B2, 0x758D83E0, 0xDCE12926, + 0x3F57CB74, 0x1F4458E2, 0xF1DD639, 0x83A1FB49, 0x173AFC76, + 0x86EF7531, 0x48D32F34, 0x7D3E3063, 0x8F2FB549, 0x5C314C9, + 0x18CBEB6D, 0xA6F8B697, 0x447B9E9C, 0x2E32BA33, 0xD074D715, + 0x81ACD746, 0xE55A4E04, 0x4891860F, 0x1DA3EB4F, 0xE0E6A27F, + 0x20BFDEB4, 0xD0B3A25B, 0x40C10544, 0xC15656C, 0x15405EAE, + 0x9858E3E1, 0xA36A9C4E, 0x88BD21F9, 0xAACF7A68, 0x773665E5, + 0xCEDFDF66, 0x617A9610, 0x524FC968, 0xC2D086CD, 0x5F008079, + 0x24DCA447, 0x6A4F5599, 0xB706CD4A, 0x1DE70608, 0xA33A2EE5, + 0x137E488E, 0x98061B7B, 0x4079D69D, 0xA4A897D5, 0xC4CEC8F5, + 0xD75F7883, 0x22406802, 0xF1AD70BB, 0x9D4ADD79, 0xBCBC7CE4, + 0xB358C0D8, 0x85792E47, 0xA7ADAC05, 0x3D19EEAB, 0x331AC0AF, + 0x33035831, 0x13D93987, 0xFC542094, 0x845F317E, 0xDDC4BF8B, + 0x1379E50C, 0x5C20193F, 0xFDD58298, 0x9D482B82, 0x4A6BE062, + 0xDC8A757B, 0x272917C1, 0x90E1EFBC, 0x355AD882, 0xE6F8EA35, + 0x604555A1, 0x7DFFFBB, 0xF58AE216, 0x9A11B463, 0xD3541BAD, + 0xA1576756, 0x483BED8D, 0x1F05AFCC, 0xCEA63DFB, 0x55B84677, + 0xFB2E04F2, 0x787AF96C, 0x84A12CD3, 0x460A9BD, 0x9DB22DD8, + 0x1A8C7F28, 0x861E452E, 0x932D3F78, 0x7652D852, 0x73357BBA, + 0xEBBB0A58, 0x62536AFA, 0x3F6B65EF, 0x6DC57B58, 0x9EB798CE, + 0xE6B0A740, 0xDFF68B47, 0x3247FB8F, 0xFFF3D302, 0xA9FD3E40, + 0x475A43D1, 0x6FF9528A, 0x2018A09D, 0x47E0F9C9, 0x4CF5F6D3, + 0x2807CE34, 0xDD6FD8ED, 0x234045D1, 0x51CEB5F9, 0x25297896, + 0x6443A0FE, 0x8F4449A9, 0xD4C3E1C6, 0xF01D52F1, 0x4E09C820, + 0xF18F0810, 0xE1548689, 0xF9DE5A1F, 0x5286DC23, 0x48AC3A4B, + 0xEA0C1BE0, 0xA1B785DB, 0x7086465D, 0x1CC10929, 0x1E1D716E, + 0xED231D4C, 0x2049D108, 0xB8FF9971, 0x949CF8D4, 0x441F1E8B, + 0xC3D95372, 0x69C324B4, 0xA10BFDC9, 0xC781DE78, 0x82476137, + 0xE163DDF, 0x390DEEC2, 0xAF68CE5B, 0x8E680ABD, 0x8223A615, + 0x92593380, 0x7B1465FE, 0x865AE957, 0x930F53EB, 0xED772EF7, + 0x10E916B6, 0xE3BCFA68, 0x2ACB80BB, 0xE51C5590, 0x994714B5, + 0xF30984EE, 0x59BBE1B4, 0xB4867DBC, 0xB91C706C, 0xBC16C218, + 0xA8931CD0, 0x129A66AB, 0x13171F4D, 0x62882872, 0x4B167FD4, + 0xE6902F4C, 0xFA794932, 0xD4B152C, 0xB0856EA9, 0x39466D55, + 0x3669E451, 0x8F5B9E8C, 0x877A3C6A, 0x51B956B4, 0x367EAD2A, + 0x9D2C662A, 0x78FB6880, 0x4E6D40B6, 0x4070EFDC, 0x4DF9679C, + 0x20306EDB, 0xE381AAE7, 0xA55DA748, 0x9B8B617B, 0x3E036FAD, + 0x84E4C4A7, 0xD5A3F517, 0x669BA988, 0x98FDDE8C, 0x67BD85CE, + 0x34BBB46C, 0x76994800, 0x85B9D8B6, 0x6DFA2FEF, 0x205DB5C, + 0x9F843C4C, 0x72721B52, 0x73EF6B86, 0x5FB98B61, 0xC323DDAC, + 0x31D424B4, 0xF68C0D7E, 0x162FAF9D, 0x7B2A7A99, 0xF9392693, + 0xC42D12C0, 0x8692A73E, 0xD9A1EE80, 0xDD956856, 0x44E7BDAC, + 0x8D874532, 0x5F5C9DD0, 0x5D167858, 0x8559FEA2, 0x9D821476, + 0xD9654ED2, 0x594C0DC7, 0x1A87B506, 0x3F693200, 0x7A651AB5, + 0xA0CCBC8A, 0x9F9E662C, 0x78EF631, 0x2A09DA0, 0xB088C72F, + 0x92EE0D42, 0x360DCD5F, 0xF333FE48, 0x8D63CC06, 0x233A8ACB, + 0x706651ED, 0x7AA5C079, 0x262239D1, 0x3EBBEBB6, 0xA25A4F3D, + 0x32581A06, 0x6E6FD780, 0x5773F7C7, 0x75ED1DDC, 0x90DF2D15, + 0xBC79A9BC, 0xB7175917, 0x354E381C, 0x762AADD7, 0xF643DAC1, + 0xF3BBF49E, 0xD2FECE7E, 0x6C8140F4, 0xD7694875, 0x92D30822, + 0xC742A7CF, 0xB792ED98, 0x121CFE24, 0xA04E1EE7, 0x58CE268, + 0x215A080, 0x316CB323, 0xFAB14A31, 0xE1C13C03, 0xFD8EF4F1, + 0xF3F446D0, 0x6C6CEA0A, 0xBBFDF9FB, 0x67242969, 0xBE55A4EB, + 0x8FF5534, 0x52F0DF1C, 0x9710ADE3, 0xD40F4A21, 0x7984E8E7, + 0x419545EB, 0x993F7880, 0xAB246B20, 0x408AABC4, 0xCBF6EA49, + 0xC0894C55, 0x4CAA6398, 0xA47856E9, 0xAF2AE47D, 0x22F55D33, + 0xF0D37915, 0xD0634C72, 0xD983671, 0x2BCC5AF8, 0x9A77D48, + 0xC11B5CFA, 0xF107CD7E, 0x3A6B3593, 0xE1425F05, 0x6271812A, + 0x5B838310, 0xBD8418CA, 0x10A58792, 0x239F7137, 0xA13D5071, + 0x7F9930D4, 0xA462664F, 0x54180F8E, 0x291585BA, 0xE586B87A, + 0x144B2C12, 0x98E425C7, 0xBAA4B373, 0x18F0D03C, 0x99462AC0, + 0xD8B4D2EF, 0x72473895, 0xA6BF5435, 0xEDAD53B, 0xE0912FA6, + 0x5C33F331, 0x3D93CD7, 0x4D03D752, 0x20699929, 0xB89962F9, + 0x36E781E9, 0xF58B642C, 0x5FCA69E3, 0x5960A7F4, 0xAD5AAFD0, + 0xDF18324A, 0x3DB1E5AA, 0x76BA3876, 0x1BC29AF6, 0xBCC18841, + 0x73A60174, 0x625BFF58, 0x67C57724, 0x4458E53C, 0xE157B095, + 0x2B370837, 0x83DF6CE3, 0xDD08EEFA, 0x3F52A7C2, 0x191B4785, + 0x60843D82, 0xB0DE11F1, 0x105EA26C, 0x6E1C7AA2, 0x47AADD14, + 0xB6676D03, 0x3B8D4DF6, 0x737A694, 0x409521DC, 0x744206A, + 0xC722023F, 0x2BE4EAD5, 0x63E11D76, 0xCA4A09AB, 0x5CF2D2B9, + 0x31586916, 0xCDFD7D84, 0xB203F634, 0xAD7329D4, 0xC524582F, + 0x2E53E6C1, 0xBB0E019B, 0xB8538C6A, 0x6A2542D, 0x8A6A00E5, + 0x119725CC, 0x5406D347, 0x1B6FFAF1, 0xECCF71F1, 0x981117F2, + 0x7167CA76, 0x74F4B880, 0x77A55F47, 0x59EADB62, 0x4A331D95, + 0xBCBBA76F, 0xA45C4D50, 0xC718D5, 0x87CE05D1, 0x60D47AD5, + 0xA5CA9C40, 0xB0061766, 0xE69B39DF, 0xBD5F1320, 0x9930EAD3, + 0xA8B38325, 0x8DD090F, 0x6A6EEF37, 0x2DF16F66, 0xAB514C7E, + 0x31109C58, 0xFD48C7FC, 0x515341CA, 0x77AB8EA6, 0x41328DAF, + 0xBAF8D31E, 0xA4B31611, 0xED37F331, 0x7A832A22, 0xA22591C7, + 0x722D1F89, 0x3B19CF18, 0x261B8A4D, 0xC3F6F6DB, 0xCF8CED61, + 0x990FA250, 0xA02E72A9, 0x560DCEA2, 0xB08E67B4, 0x3674E663, + 0x97CC3852, 0xA7EB2EAC, 0xFFDE0AA8, 0xA64719A, 0x23269EDD, + 0x3C0B339E, 0x86284D40, 0x48D82ECB, 0xA4D4CCF8, 0x43631B91, + 0x4BF0C248, 0xB6497B9B, 0x6827BC58, 0xE30B7AF9, 0xA0CCBF26, + 0x6C3B7B71, 0xD744B3ED, 0xFA25D2F6, 0x4CDE642D, 0xD65B8142, + 0xA6F9207F, 0xE7A207BE, 0xDB506684, 0x44DA4780, 0x9175EA0C, + 0x156104AF, 0x4155E1B0, 0x6E3A6886, 0x9DBA1EA2, 0x5423D9C8, + 0xCC024E22, 0x758F852A, 0x1DD6395, 0x2D19CBAD, 0xE164F5A1, + 0xC2084602, 0x89C274AD, 0x13CB5562, 0xD7FE2D5B, 0xE07A4EE5, + 0x1672BA91, 0x4F624CCF, 0x2E5EA4A3, 0x28FEEFAF, 0xBDDA6EF4, + 0x32AFD40C, 0x99A5FB3B, 0xDD1D73A3, 0xA342CB3E, 0xA78445F5, + 0x53979C3B, 0x427D7943, 0x5221B58C, 0xA6CE9A5E, 0xFB50ECA4, + 0xBB86E36E, 0x60839F6D, 0xC5E1C2F3, 0xA1B7FB04, 0xFBB65E0C, + 0x78B80F5E, 0xFD8D972B, 0x3BF3BA90, 0x2D572D9, 0x2B5BC920, + 0xB6A0DE01, 0xD274D306, 0xC7C6C855, 0x9CAA669B, 0xB04AA641, + 0x4D6B1760, 0x3E17ED79, 0xD23241B0, 0xA4A6F957, 0xCBDE76AF, + 0x4E5F9493, 0x4C215DA5, 0x33A052B, 0x1A4D80C2, 0x40AEEBCA, + 0x390D106B, 0xE9E8E018, 0x5AF3D6CF, 0xE35E1D4, 0xC4FB1C6, + 0x14B6299B, 0x8D2E25F0, 0xCCBF932A, 0xC5AC18B6, 0x2227567D, + 0x86B5CE2F, 0x26344534, 0x22C515EC, 0x2442B70D, 0xEC3721C6, + 0x34EF687D, 0x9C06323A, 0xEAF3EA60, 0x60396F52, 0xEAE78AA1, + 0xC9D06CBC, 0x6F95F6C8, 0x584CC258, 0xBA9A27BB, 0x66DF8D47, + 0x9D4804EA, 0x57DD9E67, 0xF89C7895, 0xF5336111, 0x25C122C8, + 0x62742114, 0xCFBF6D26, 0xBF9F6482, 0xE6F02CD9, 0x11083202, + 0xC99E2618, 0x7EBC9351, 0x440112F1, 0xC9DFFBC1, 0x3BF4DC25, + 0xB1BA7FA0, 0x61AF9AED, 0x6B1F7D29, 0xAD865294, 0xE3E01129, + 0x7E9E77A5, 0x100435D7, 0x9FE3A71, 0x88597C81, 0x722849FA, + 0x31C5A0AF, 0xFBA178DC, 0x7F102D31, 0x5CA07864, 0x950E6F98, + 0x82C34882, 0x5D041F11, 0x8C613C57, 0xD398CFD1, 0x426F38AD, + 0x5599AB1D, 0xFAFA078D, 0xAB25B413, 0xD94B32CF, 0xB288FE38, + 0x2893BB46, 0x9A0B4168, 0xA91BCA94, 0x653A5E8D, 0x2174EBBE, + 0xDEFE6415, 0x30DA429C, 0xD0C5E40C, 0xB4719AA4, 0xD29CE7A6, + 0x905957CD, 0xCD287499, 0x83CA0AA7, 0xA8385832, 0x25A0CA02, + 0xC20D47A4, 0xB562F556, 0x4BC19E4C, 0xD9E215C7, 0x27E838B4, + 0xC58612F4, 0xA2827F6F, 0xC49DCDBA, 0x679B7362, 0x4E495845, + 0xCFD2F0D1, 0x395E76A0, 0x375A655E, 0x92E2058F, 0x73F9F0CA, + 0x61EFF3B3, 0x51FFD362, 0xE7410345, 0x7FDA8B3B, 0xA219E2E8, + 0x17ABE543, 0x26557412, 0x4B30084D, 0xA68E191D, 0xFE0D93DF, + 0x73EF127D, 0x4DECDDB1, 0x77FAF45F, 0xD6002898, 0x92DD0A40, + 0x157F6DDF, 0xC2A55F8E, 0x4359F924, 0xFB630C3F, 0x338B6B58, + 0xB2945F75, 0x4FA23A0E, 0x836EB8C0, 0xB3B18FD, 0x86114337, + 0x24668ACB, 0x99BB82F0, 0x924C8A47, 0xBA959701, 0x81155ABF, + 0x8C612D71, 0x36074CA7, 0xD1668C41, 0xE35F58C7, 0x7FC2802D, + 0x8E6A7CF3, 0x65B07D07, 0x815F6A6B, 0x791BF0DD, 0x6E47D719, + 0xC24394C7, 0xE84A6EB, 0xF194AFEE, 0x464A2F52, 0x677579FD, + 0xEBA775AE, 0x1F6EEFF, 0x9A795237, 0x78D9D45F, 0x9D0B344D, + 0xBBD34AB7, 0x2F85B12A, 0x16C5C2AD, 0x3990985D, 0x88DF3351, + 0x82811AA5, 0x6D351F41, 0x4066A69D, 0x86B660BF, 0x6EDB4768, + 0xDDD78CF0, 0xB5D74F6E, 0xE89E220C, 0x91439687, 0x947CC9C9, + 0x3857E2BD, 0x302F8AE4, 0x1DABE7F8, 0x4832D6C9, 0x37D58FCB, + 0x4EA8A711, 0xCD7BAC98, 0x19DBF8BC, 0xD8DE8DC2, 0xEAFF7E7B, + 0xB7629C93, 0x792C6E19, 0xF7009192, 0xFF88439D, 0x2E196A66, + 0xEC71B78C, 0xEAF4BB3A, 0x7C16225E, 0x668F337, 0xCBEE1608, + 0x6D5B5552, 0x345DC590, 0x681209CC, 0x7B24A819, 0xD08A1416, + 0x99888FE3, 0x9FC7288A, 0x24BD8502, 0xEA1D9678, 0x20EECA0, + 0x59BEA057, 0x5ADE91EB, 0xDEA8E49D, 0xFA200E6F, 0x9149C81D, + 0xF2281E93, 0x8A5B0451, 0x67312D58, 0xE3B849F1, 0xD2217960, + 0x7CDF59F3, 0x33C775C0, 0x9EBA8799, 0x7DF9506, 0xB4E96110, + 0xB8FCF3E3, 0xDEA059B2, 0x8229B6EA, 0x316486F6, 0x43919185, + 0x6C0D90F3, 0x1C6F3DF8, 0x38DB92A9, 0x5CD41244, 0x2C9F0A7B, + 0xDF4A315F, 0xF7CE9C66, 0x4C800860, 0x318D53E0, 0xF105C20D, + 0xD753E1F2, 0x750810BA, 0xA17ECCA5, 0x2010140, 0x4D884763, + 0xC2BB0DA7, 0xB2D5BA74, 0x141CECD4, 0x887FDFC3, 0xC64B53, + 0x2D2A85F6, 0x15532B45, 0x5D5CBCE1, 0xBEB9A16A, 0xA214611B, + 0x9FC5AC5F, 0x11AE5DD7, 0xA0B9A5A9, 0xFC648AF4, 0x740009AC, + 0xED0E0321, 0xB8E6A61, 0x8910C544, 0xC74F26C8, 0x9525CCF3, + 0xB41AEB59, 0xE61984CE, 0x598B2197, 0xA412E59D, 0xE1976DD4, + 0xB29BBE16, 0x88FD9FB0, 0xB04006F3, 0xB45E309, 0xD5CC15F1, + 0xD9DAF630, 0xDC809335, 0x803ED52, 0xB537F5A5, 0xA994F6EB, + 0xF5288568, 0xF66FD264, 0x2EA2B3A6, 0x647619F3, 0xFFB38C7A, + 0x1BC03B9, 0xB6BC3061, 0xBF30596E, 0xBE2AD27B, 0x8AC04220, + 0x641979A3, 0x9ECCBB89, 0xA144FBC1, 0x4E8FAE26, 0x8C5A9D90, + 0x299ED467, 0xD7C9C7E3, 0x1D4865ED, 0x76F31C3D, 0xCEE81CDF, + 0xB479195E, 0x6FFB3AE1, 0xDC8A398, 0x300F7364, 0xC7940AFA, + 0x3B85BE3E, 0xD98CC40D, 0xA24A3D89, 0x3A674204, 0x22888A38, + 0x2E77F2D, 0xA2841C9C, 0xCF0689C3, 0x9FE98922, 0x89335017, + 0x2D6B69A7, 0xFEDB63F9, 0x899AF4EF, 0x9F9F9B40, 0xA4BE97E8, + 0xA51DAF7A, 0x16AC50D3, 0xA8D7ED6, 0xED193443, 0x7615EF1B, + 0xB0DF6A4E, 0x64FFE794, 0xE3DB2C9A, 0x7435B022, 0x556E825C, + 0x23802AF9, 0xC25098A4, 0xE75A18BB, 0x70B2A7B9, 0x7FB81BF, + 0x63EF910, 0x6C669591, 0x6574DD2B, 0xCF6E379D, 0xD2B3AFAC, + 0x1E6A1101, 0x1DE22385, 0x2338191F, 0xC69704B6, 0xCBABC599, + 0x54EB4809, 0x7839BE6D, 0xD50017DD, 0x39B1A0E1, 0x288D52D3, + 0x2D52668C, 0x20D22A68, 0x4E1207D1, 0x3FCC0EFE, 0x47F3FE64, + 0x25177A90, 0xB4BFDD4D, 0xDA8DBDCE, 0x6F7275A8, 0x6BEAA655, + 0xAA1810FC, 0xE4DB593A, 0x8A4D4BC0, 0x2C402E93, 0xF1C0F7F9, + 0x6F0CC577, 0x70412414, 0x752F9DC1, 0xD82E38EA, 0xAC455F7B, + 0x4DCD4EDB, 0x92BC2696, 0xFB03F135, 0x4FCA1F8C, 0xBD5E75F6, + 0x502F41B0, 0x3616D3F1, 0x2E5B8E31, 0x2026EB19, 0x57E783D7, + 0x467BBE00, 0x4703ABA3, 0x1F776B9C, 0xE2570A84, 0xFEC7DB48, + 0x1BD5012, 0xFD0A2D5D, 0x7FCC29F2, 0x291304B6, 0x99D5D8ED, + 0xC7551C8, 0xFD12F38F, 0xBADE8892, 0xDF749997, 0xA5DAE2F, + 0x2B9FA269, 0x5C13CFED, 0x15E9A399, 0x54437F4E, 0xA72DB2AB, + 0x56186AA1, 0xFE4DB55C, 0xA34D7836, 0x2A879760, 0xC63FA94, + 0xAC18B207, 0x5FC78B3, 0x7F10621E, 0xA769E6B2, 0xEC9F4A11, + 0xCE3F982C, 0x62BA2EF5, 0xA5F239CD, 0x73D63FED, 0xE36E9F5E, + 0x8AC1DA0E, 0x3F3DB3EB, 0x738326EA, 0x35C366B1, 0xCD476E86, + 0x82F6B208, 0xF11A9FC1, 0x426AC396, 0x7E4D1B93, 0x75E4EDB7, + 0xAF3C44A7, 0x51A5EF5C, 0xFAD2463D, 0x8A5639CA, 0xC995AC78, + 0xCC4BE4F6, 0x3AFE7F8D, 0x66993D04, 0x4386FF37, 0xCBC1C6C2, + 0x55A8F5EC, 0xE81A9A75, 0x30A67E1B, 0x4A4A7D0C, 0x20F7F993, + 0x1891805, 0x738976AD, 0xD426E7D6, 0x3C5CEEBF, 0x4499187F, + 0xABF17C97, 0x447C317F, 0x68D8419C, 0x7AAB6456, 0x421BCF29, + 0xF6740F9C, 0x8916BB8D, 0x3D72AAB, 0x9AD54DD7, 0x7549C6EE, + 0x7317342B, 0xA18546D4, 0x1056BDA7, 0x54BBCCCE, 0x8CE63E46, + 0x5D146234, 0x33BE6C63, 0xB250C4E5, 0x89D72335, 0x87C36BA, + 0xB65530CC, 0x2DFAC48C, 0x1663D16F, 0x59B80AA, 0x950274EA, + 0x92532D4A, 0x3CEF802D, 0x492FBDA5, 0xA63A2574, 0xEF8005C2, + 0x94A18651, 0xAF627ABA, 0x6829B238, 0xA698F646, 0xD2598516, + 0x10144D36, 0xD9B1D1B9, 0xAB2ACF05, 0x5395B699, 0xA7851C75, + 0x1806C6F3, 0xAE970306, 0x3284B145, 0x98F4FE8F, 0xECDD35CC, + 0xDDC1EE0E, 0xC4848865, 0x925826BD, 0x4078BE39, 0x68A8561A, + 0x323045DC, 0xA933B37F, 0xBA2AEE2E, 0x4F24F65D, 0x349EE246, + 0xF97B9D0E, 0x46DC5759, 0x4529F425, 0x80D17B42, 0x8E16F709, + 0x1B42206A, 0x4934A526, 0x391BB6DE, 0xB52EF45C, 0x26C30290, + 0xCBA23CAA, 0xA501A8C3, 0xD922C4F8, 0xE8824E53, 0x6F4255DC, + 0x5960B544, 0x58BC69D6, 0xCA936323, 0xFDDF053C, 0xC2E002D6, + 0x7D750755, 0x8A3F9CD1, 0x35F8F6F8, 0xFB7BD154, 0x65CFF94F, + 0x390A58DD, 0xD97C4093, 0x501CA2A3, 0x8EA5DEBC, 0xCA93461F, + 0xE02D984C, 0x126F8517, 0x39FDD887, 0x46241AE9, 0x777E854D, + 0xE2B36349, 0x58E3FA9F, 0x971DEF1E, 0x8E156228, 0xC0E14E9, + 0xA9A01BE6, 0xB318C990, 0x971680D6, 0xA1F359CE, 0x487E23F4, + 0x7DE465B0, 0x4E4C905E, 0x2A652959, 0x116FF167, 0x5C74AAB9, + 0x467BBE00, 0x4703ABA3, 0x1F776B9C, 0xE2570A84, 0xFEC7DB48, + 0x1BD5012, 0xFD0A2D5D, 0x7FCC29F2, 0x291304B6, 0x99D5D8ED, + 0xC7551C8, 0xFD12F38F, 0xBADE8892, 0xDF749997, 0xA5DAE2F, + 0x2B9FA269, 0x5C13CFED, 0x15E9A399, 0x54437F4E, 0xA72DB2AB, + 0x56186AA1, 0xFE4DB55C, 0xA34D7836, 0x2A879760, 0xC63FA94, + 0xAC18B207, 0x5FC78B3, 0x7F10621E, 0xA769E6B2, 0xEC9F4A11, + 0xCE3F982C, 0x62BA2EF5, 0xA5F239CD, 0x4FEFC920, 0x28DF4EB8, + 0x29EBF45A, 0x1E350CF6 + }; + +/* The source data is random across the q31_t range. Accessing it by word should + remain random. */ +const q15_t * filtering_q15_inputs = (q15_t *) filtering_q31_inputs; +const q7_t * filtering_q7_inputs = (q7_t *) filtering_q31_inputs; + +const float32_t filtering_f32_inputs[FILTERING_MAX_BLOCKSIZE * FILTERING_MAX_M + FILTERING_MAX_NUMTAPS] = +{ + 43.0264275639 , -17.0525215570 , -94.8488973910 , -8.1924989580 , 7.2830326091 , 66.8368719314 , 33.9778190671 , 117.8652289772 , + -129.6077797465, -14.6420815368 , 18.0239223278 , 20.6760530292 , 55.0375037651 , 1.8674609862 , -85.6534302408 , -33.5750364909 , + 29.2110949614 , 110.4727049460 , -94.1914619387 , -1.4084169343 , 83.5181653041 , 47.3073514127 , -13.3420621181 , 30.3389699104 , + 12.1188124277 , 100.9730921941 , -114.0146362390, -77.5823200409 , 37.2019034618 , 40.0026301128 , -58.3387276630 , -34.9472398600 , + -5.1169678311 , -87.7660091118 , -150.5888601131, 56.0349370503 , 50.2168884079 , -74.2313236767 , 22.3648603560 , -6.8676387051 , + 74.8957303680 , -90.1292012823 , -55.1436241586 , -66.6732976100 , -6.7918147615 , 7.7612697081 , 35.7892605979 , -20.0470508830 , + 41.8369017546 , -143.7378056984, -41.9127158600 , -108.3531841158, -57.1917422289 , -124.2808828105, 38.9316388820 , -77.9212517405 , + 37.1990818377 , -28.9545952748 , -155.6371057564, 45.8088886393 , 36.2537018275 , -6.5727656016 , -104.2070491921, 45.5583813729 , + -19.7674717059 , -80.4802190947 , -1.4444563441 , -42.2142256438 , 36.6546339194 , -57.0866498590 , 44.4677067511 , 65.7285753407 , + -103.8158864647, 25.4348723711 , -153.5419639389, 39.3608409474 , 49.1658103436 , 79.5570602275 , 75.2944095996 , 58.9394700746 , + -53.1018534392 , 33.4172444014 , 35.6224682287 , -64.4353396418 , -125.8464291251, -47.6072111617 , -26.2177687594 , -12.0061322096 , + -17.7887967585 , -28.2926175090 , -62.0691715749 , 40.5098573604 , -191.1123732593, 119.6750713043 , 19.6182375803 , -26.7615252921 , + 2.2957847015 , -108.3436451287, -50.5906164995 , -5.6360985100 , -11.6772204201 , -84.2765293757 , -60.9317810068 , 82.0446350218 , + -70.2048296348 , 72.8738253222 , 60.2450218115 , 114.2741231228 , 46.8180775285 , 6.9915412654 , -8.9909197429 , -78.9165936808 , + 66.4731535459 , -68.4235455651 , -79.8254597080 , -10.6308477115 , -62.6161569330 , -55.7744410292 , -11.8408366528 , 98.1034940997 , + 35.8213741877 , -54.4694482732 , 86.9631830044 , -53.0343838122 , -47.4898642865 , -47.2010929590 , -31.3312639685 , -23.0908245172 , + 12.0258009869 , -5.1098204703 , -9.8420230737 , -107.3328761158, 44.6810431959 , -17.9083820345 , -60.9753512872 , -7.5915088994 , + 17.2250813329 , 57.9176125648 , 124.3004161362 , -63.1950908493 , 120.5788885640 , -44.1734238117 , -91.7408095116 , -43.5696066595 , + -49.9560710099 , -167.8513443296, -70.9437505499 , -46.4109705355 , -64.2264526456 , -13.9995803916 , -100.9548186356, 9.9101010575 , + -50.0615130815 , -55.7590145012 , -60.3195153388 , 61.7913378549 , -102.0850899209, 53.2360193126 , -25.8997883369 , 75.1445512333 , + -113.8148602310, 17.8027281119 , -19.5006822722 , -44.2169628471 , 107.5017084384 , -113.7909124666, -43.9735396033 , 7.6880981388 , + 46.7384653508 , 9.9047443751 , 81.8646964362 , 132.3812863877 , -95.6959050236 , -68.5015813484 , 65.8586404494 , 18.5039353889 , + -30.1786166621 , -90.3098515667 , -22.9356228552 , -20.5778272423 , -2.2127786675 , -35.4418447703 , -51.8722915974 , -107.9024439078, + -51.5940748232 , -51.7463262677 , 74.2795485984 , 94.2205022462 , 9.7016384049 , -47.3556083155 , -36.7822314478 , -151.6455525363, + -15.7183814485 , 78.2063383182 , 0.1516414969 , 37.9304181609 , 20.6185902740 , -22.2164106778 , 6.1160554677 , 2.4061326953 , + -111.6681824598, -60.0858917090 , 75.1698614693 , -76.5787410444 , 28.3391655715 , -2.4946186443 , -68.0378899682 , 104.0893199171 , + -51.8319647254 , 38.8521710524 , 75.9114239564 , 73.9206172905 , -103.2533029987, 6.9002718274 , -36.6346436319 , -25.1990926265 , + 1.5852145953 , -50.6438436795 , 21.5018844428 , -151.9305562846, -51.7326681814 , 21.4475994143 , 42.2564011921 , -74.0520586926 , + 49.7370635809 , -13.2957534126 , 36.6746826778 , -31.7005492589 , 148.4894964268 , 79.7890632353 , 16.8856024809 , 16.1690460177 , + 39.2665169484 , 117.2461167794 , -37.4827984831 , -47.8387803604 , -95.7025286193 , 34.3058214285 , -124.9536456028, 56.1640195764 , + 94.3636873606 , 35.3992852810 , -38.3920852159 , -100.5738062016, -29.7837022314 , 42.9133913996 , -34.2715618187 , -14.3589115627 , + -16.5935468750 , 20.4574192236 , -88.7897972666 , -38.6285080386 , 53.3203422726 , 98.5991486746 , 122.7305462474 , 67.7902817187 , + 5.1764117389 , 5.0632821624 , 21.9288789574 , -78.3140512638 , -21.2069682335 , 23.6342010925 , 34.4445769455 , 59.1346766615 , + 28.9978778000 , 39.8121180845 , -17.1650033520 , -56.9174900874 , 17.8157086148 , -112.8801457350, -122.4019040408, 140.8669393157 , + -65.4664329639 , 40.6952775518 , 32.7260891658 , -43.2565155866 , 19.3945751928 , -20.1815002000 , -67.6601711640 , -18.1921178207 , + -35.6802153684 , 49.9550290306 , 131.4925251016 , -31.2940938167 , -5.2848453344 , -109.5580577933, 20.2437599390 , -8.8782958734 , + 54.1836717264 , 7.2555852190 , -3.5698316137 , -51.9236786262 , 6.7861547980 , -104.4814551670, 45.8458629668 , 70.0890876844 , + 38.3572837740 , 61.8024165129 , 68.0176962024 , -12.8193934080 , -21.4661610917 , -0.9377108815 , -74.2100679061 , 71.0490808147 , + 91.9813889497 , -14.5797640164 , 3.5036749129 , -138.3605478356, -48.1501349794 , -16.0636922482 , -12.1334197606 , 15.0562207637 , + -34.0878176054 , 55.1075126157 , 97.3829871877 , 0.2053358099 , -94.8713267382 , 51.5460954054 , 21.2966946363 , 58.1331025047 , + -23.4599044132 , -19.3315856528 , -8.4497193577 , -1.9594679356 , -33.1906549336 , -144.6825417978, -57.1218958072 , 35.7353406097 , + 61.4666549819 , 14.6536253128 , 82.1632196866 , -44.6230161723 , -91.1022589278 , -18.5737673927 , -136.8975612334, 56.9606788003 , + 70.7059960183 , -68.2829345081 , -10.2629800455 , -53.6385325047 , -68.7928766204 , 88.2444688302 , 83.1412324801 , -102.9206928160, + -68.2329763159 , -69.7552955469 , 108.2132269009 , -28.2582329307 , 5.6685898328 , -36.0392956840 , 43.3269513128 , -8.6436416796 , + -16.5054886972 , 11.5008791788 , 39.6923606683 , -28.9039554061 , 13.5938214364 , -23.6296332202 , 49.1171161163 , 53.1636857935 , + -62.9672053166 , -54.2594757384 , 48.3838956696 , 8.0469071555 , -33.6472086213 , -120.5381752144, 55.0880453111 , 17.8990740563 , + 144.9402232336 , 101.7886229203 , -73.3666393712 , -16.4721379138 , -12.7447935685 , 101.8245160983 , -49.7026860415 , -15.1227790364 , + 65.7430288442 , -131.8695390036, 10.2750933946 , 90.9752774838 , -26.5859990591 , -95.6962772568 , 76.2174589344 , 24.8796848060 , + -38.8938223046 , 54.1687774852 , -37.3585968996 , -34.6848570502 , 33.0151011570 , -55.8345877671 , -3.9009101671 , -31.5024971691 , + -9.6863895491 , 91.8719195957 , -58.9993249744 , -25.6887030614 , -8.0829472205 , 4.6386491741 , -71.4019697167 , -21.3734669095 , + 86.2079144404 , 79.6823974266 , -0.0910915997 , 44.8067718095 , 58.7204020766 , 72.6856808976 , -50.3373732478 , -116.1175365534, + -15.0884909384 , 5.4593772059 , -63.6553527905 , 37.3460388205 , -32.2399421679 , 95.7569350513 , -7.3700141964 , -56.0370832967 , + -41.7377150439 , -42.0042856519 , 12.5134312941 , 93.7845584531 , -32.4801087157 , -33.3976050318 , -24.2252126001 , -46.3199064467 , + -20.3704610276 , 15.8571376404 , 88.9127217235 , -33.1132582267 , -1.0005675836 , -28.1780471904 , 150.9349379135 , 38.0600520828 , + 36.4338677563 , -3.3709201641 , 29.7709773016 , 16.5064119077 , 21.3147729463 , 110.6714300904 , 18.8406036507 , 14.8963298097 , + 50.9975960392 , 16.3991140350 , -194.0805845907, -41.6723945839 , -74.8991127408 , -6.4587655805 , -0.6883628218 , -49.8709647175 , + 194.2265120473 , 64.3043624521 , 16.0040882780 , 68.4032551772 , -43.4050313128 , 84.6826289824 , -28.1357565943 , 134.6895584120 , + -7.9746152680 , -95.6692886462 , -48.9444370342 , 79.4479343188 , -50.5345228122 , 52.4800633307 , -14.7735051703 , -20.1510237050 , + 22.5049816980 , 64.4191999102 , 24.8385648232 , 99.4265041360 , 62.0189508473 , -28.3892600378 , -109.8842008564, -79.0407483407 , + 18.3408112020 , 49.1650536089 , 31.5419844924 , -36.1160722679 , -132.9148081329, 10.4053531567 , -129.2463715470, -43.4602207151 , + -24.2420653292 , 91.5388317556 , 21.4762248190 , -44.3810909139 , 18.4098011282 , -45.8691164539 , -20.9831197962 , 16.2076792914 , + 66.0224147666 , -13.6794615513 , 101.2163279622 , -62.4462618603 , 22.2040981785 , -52.3208382802 , -24.7909079016 , 58.5150375093 , + 18.8569705105 , -55.6083430939 , 131.0273367422 , -34.5209015065 , 121.4357296573 , -77.2590299593 , -51.5929566898 , 5.0247131098 , + -23.8451707592 , -4.5912313547 , 31.1387246821 , 61.7019310824 , 49.1912429744 , -50.5836913031 , -74.8182600630 , -21.6209317022 , + 20.9409464654 , -72.7870824583 , -28.3530746820 , -45.0794425434 , -13.4910629905 , -62.0158772255 , -34.1421181246 , 44.2844972784 , + 8.4213193211 , 79.9349022793 , 60.0160502260 , 32.2272994080 , -72.2893887746 , 17.3063698247 , -134.6335742431, 64.6499736261 , + 7.1411921919 , -37.5517577873 , 6.2405670930 , 117.1920927305 , 128.7420689815 , -3.1556854963 , -13.4100422909 , -11.9336372907 , + -8.6022400553 , -102.0033506666, -78.4696575074 , 15.0765861403 , -111.5219718576, -13.4162786508 , 38.2437013694 , 61.1637732561 , + -34.4804160003 , 107.4438003830 , -79.4193067813 , -81.1842853968 , -26.2622970331 , 132.3205425408 , -119.1464268477, 67.3048866598 , + 103.3266736715 , -58.1865815617 , 27.6231908601 , -11.2004371750 , 26.0340617206 , 12.5696123916 , 0.6442714420 , -30.7393043544 , + 1.5314955897 , 49.9110088250 , -106.1358721920, 51.1608329944 , -32.8684239794 , -27.7215905745 , -11.6450303367 , -36.7731678028 , + 59.9383486599 , -4.6301990580 , 5.0361682939 , -10.5669407980 , 124.0908762205 , 35.8305364082 , -123.6216777114, -74.2569079167 , + -56.7651776816 , 16.0736385582 , 23.5030632215 , -110.6764295938, 44.3086821806 , 9.4452708243 , 5.3300080251 , 39.0483916714 , + 151.4550562868 , 62.8957092621 , -116.8103461233, 5.1129927759 , -33.2252515135 , -9.4522506046 , 22.7026048372 , -15.5264414569 , + 71.2087620034 , 19.1191568332 , 50.3019546809 , -5.6096922409 , 22.9344126462 , -7.7591876203 , 31.8949515564 , -58.4253952381 , + 66.4341297173 , -19.0583083044 , 96.7695087855 , 20.4934280047 , 4.9544603116 , -20.8288135920 , -173.2659655408, -62.4883621640 , + -48.5528422703 , 12.1437504278 , 60.2482234666 , -19.6072312919 , -34.6320214291 , 129.0089698963 , -50.9042160618 , 98.3952661477 , + -4.7051792479 , -13.1768910826 , 69.5138802139 , 58.5748201565 , -45.9385652563 , 151.7952104306 , 34.2541941013 , -58.0417838381 , + 28.1480473670 , 46.4006562684 , 97.7001828545 , 4.0855607626 , -32.6097018162 , 16.8913949959 , 105.7266202978 , -89.3978374651 , + -60.9338593128 , -41.2220734230 , 49.9393070783 , 95.0974764854 , 49.2498366456 , 58.6214364590 , 34.1113830569 , 45.6634098874 , + -22.5356086770 , -97.1978653617 , 86.5565049535 , 70.6118545777 , -30.6978082909 , 118.7238621666 , 14.5922386932 , 11.3449652072 , + 65.6007783405 , 82.6369678204 , -52.0390492248 , -47.0160551227 , -95.5142448634 , 99.7162626888 , -36.5523815090 , -42.8042935534 , + 68.3566199798 , -13.8451547552 , -71.1629911780 , 36.2989433752 , -32.4867163365 , 112.4079947071 , -75.6295117422 , 47.5276421639 , + 51.8078250755 , -26.8715188457 , -9.6291144797 , 40.1999849640 , -38.4634033246 , 40.9764960915 , -26.1715730268 , 36.5996396515 , + -26.9924731886 , 53.7879986570 , -83.1658398348 , 23.6381378489 , 43.8794937753 , -55.4133836419 , 90.0266130838 , 14.1036181982 , + -18.1225736715 , 85.1363181151 , -62.5970846379 , -18.5291947838 , -25.7341986703 , -49.7061342931 , -59.0442763971 , 50.8960636803 , + -87.6471123430 , -36.7217762531 , 22.5952364054 , 11.1107885650 , -0.5377327229 , 160.8145792630 , 73.3103441505 , 10.1656872354 , + -50.4554350397 , -57.3478171016 , -15.4201715357 , -26.9135446491 , -4.9891264771 , -37.0226770057 , -80.9919535641 , 50.4418660876 , + -25.8517575250 , -69.9538258421 , -17.5730160671 , 15.9405836751 , 113.9545230349 , -46.1040379057 , -94.2458635014 , -69.0338522452 , + 43.5813790265 , 107.1836101171 , -55.1012654323 , -77.1529555887 , -33.1530320656 , -94.5582659641 , -53.6837586872 , 27.0680381378 , + 93.9385415207 , -61.0955216188 , 18.0530957225 , 7.9150142320 , -12.1218191587 , 34.0173961457 , 40.0084937565 , 9.8119275580 , + 44.2065861274 , -1.8718514394 , 67.4740024215 , 46.7391150131 , 207.2404815875 , 45.1635364462 , 43.3580102761 , -44.0244218674 , + 83.2387206007 , -8.6441851856 , 12.3993902588 , -22.5091685270 , -19.8332981376 , 97.9196509289 , -76.6720306234 , 28.9740705859 , + 121.9415248016 , 9.6656982611 , -51.0996453694 , 37.3704374740 , 74.7589840907 , -113.4066752631, 120.0029566342 , -105.3786221360, + 81.8152755619 , -13.4979932982 , -21.4680758393 , -85.1088235539 , -65.3610798409 , -35.0444139470 , -48.0220794487 , -41.6210317362 , + 33.1212995259 , -82.1480936443 , -10.5479715135 , 76.4601917004 , 42.1983651157 , 92.6104239912 , -42.3536237955 , -24.5644182272 , + 30.4446637772 , -90.2899420489 , 63.6723540422 , 103.0895811428 , 64.1706769263 , -10.7069812309 , 21.8927240409 , 6.3571071738 , + 57.1457649358 , -52.9866276448 , 66.0981829072 , -29.5372056881 , -79.2252039810 , -136.2440652798, -57.0106422562 , 86.8203548141 , + 66.4244149837 , 53.3230426111 , -66.1283059222 , -131.0402660353, 8.0548411081 , 122.9088988100 , 1.2626894208 , -60.5059112373 , + -68.8707203082 , -6.4747987200 , 85.8411327244 , 99.9624156733 , 90.4197864338 , -35.9630441182 , -22.9158275507 , -17.3660128776 , + 16.7845345761 , 34.7219749782 , -39.3513765878 , 1.0460702756 , -60.9494500182 , 20.0900333387 , -85.9636743832 , 88.4400782168 , + 15.0729628728 , 61.5499846243 , 11.8579871757 , 107.8617581581 , -42.9393027864 , -62.8422307621 , -19.0589600542 , 4.0750325807 , + -36.0651825425 , 55.7638724501 , -10.4691736080 , -55.5672537178 , -61.2061519915 , -21.1885348576 , -131.2535612498, 24.7463552676 , + 22.9426321237 , 14.3038202264 , -138.0926317438, -59.0892900856 , -162.5416439986, 7.1307658250 , -141.1236672256, -4.7173618068 , + -16.7741532807 , -68.2615451173 , -2.6608701102 , 84.1978109826 , -11.3446202072 , 59.9630033088 , -1.8994925010 , -37.9301641959 , + -119.4435600954, -11.4587491646 , 12.2423215240 , -7.3169898616 , -67.0373621128 , 36.0198843055 , 53.9791315249 , -134.5885680695, + -83.8330811965 , -16.6714816463 , -8.8498552035 , -24.0513088196 , -22.9444328877 , -37.7961441531 , 25.1975736186 , -136.1611637464, + -5.0843464033 , -10.3939554694 , 20.7422826935 , 75.6854136623 , 46.4179626736 , -57.0052830175 , 7.3457235521 , -51.5504447254 , + -158.4375751701, -200.2426967181, -48.1234996261 , 1.6623945527 , 21.1746524375 , 99.4092980367 , -2.3206772903 , 45.7989166757 , + 2.0181548348 , -88.0556010969 , -59.1527212096 , 47.3607925077 , -10.4181140309 , 56.3558125650 , -8.9799125560 , -30.0376711812 , + -36.7132904688 , 35.7785050392 , -13.0763909369 , -2.1855594714 , 18.1550954005 , -28.6711803575 , -55.4495172398 , -2.8812973198 , + -59.9575059158 , 40.0588875786 , 57.4713686602 , -3.2835144853 , -36.7193552111 , -64.9415131516 , -166.9555466445, -23.5556853844 , + -54.9408569587 , -35.2310451959 , 21.3345143458 , 65.7590671151 , 51.2214538168 , 46.1271939944 , -42.2235267919 , 127.2329928299 , + 105.2391778600 , 17.6726845966 , -129.9021148044, 8.7065613044 , -94.0987112511 , -3.5375742950 , -23.1385452379 , 60.6219530633 , + 92.5445564235 , 48.5111974469 , -52.5699309159 , -60.0634811685 , 25.9034368684 , 140.0249495491 , 1.5918852392 , 38.0266038291 , + 17.5588710703 , 3.4294066089 , -27.6748782173 , 59.6182974489 , -35.2924781853 , -38.6198576115 , -13.6119803198 , 7.8375587489 , + 22.7250686519 , -28.3524510951 , -34.4269062817 , 22.6464817325 , -61.6528147860 , -5.9782002429 , 61.4730771294 , 43.5582379527 , + 55.6862408270 , 87.8745651631 , 46.3401042715 , -19.8780979663 , 74.1272633369 , 29.8590452377 , -12.8665765140 , 34.2931401219 , + 53.9279617551 , -16.9017895140 , -70.1527553166 , -79.6367897992 , 109.3728271017 , -129.2214826835, -53.4644539730 , -51.5654458993 , + 17.6062148433 , 3.5090251835 , 74.2615941204 , -109.3431097845, 40.1403465151 , 28.8714561280 , 94.0868659302 , -19.0047033845 , + -60.0967410050 , -19.0998457619 , -67.2027075128 , 72.0711434846 , -17.8737851232 , 123.7050551274 , 132.6331504104 , 25.5018761009 , + -36.7817189239 , -29.1580893235 , -6.5848563828 , 90.2868948516 , -35.7017258498 , -68.5675432955 , -52.4888589786 , 47.1377730021 , + -7.4546621940 , -52.0657517138 , -49.0404829633 , -114.6910280126, -117.6819819437, -32.7856729408 , 31.8232065591 , 12.1192973039 , + 35.2678513420 , -1.0336778293 , 30.7021249679 , 127.0442906046 , -84.8457819393 , 28.9862843096 , -47.3524701726 , -126.1094998460, + -2.9700276582 , -2.4956545870 , -53.8624121141 , -85.2114117637 , 76.9057985618 , 137.1205201755 , -19.0830817212 , 14.3407526579 , + -56.5921994449 , -25.6084873186 , -44.9470801106 , -133.3139496090, 0.3487447576 , 33.4499716730 , 34.7126257844 , -9.3307383323 , + 27.2996276947 , 10.8765676134 , -91.1032360444 , -90.9584216222 , 1.6981490570 , 96.8557438791 , 56.7726390913 , -44.3246449237 , + 52.3260643361 , 21.5551140465 , 27.4535327381 , 2.0072717479 , 7.4823125629 , 77.1185863870 , 16.1372262663 , -10.7206012957 , + 66.8830091413 , 49.3523828287 , 54.0855375598 , 30.8570349345 , -10.9255375390 , 62.3910624674 , 30.9238561381 , 0.3352881853 , + 72.1022806197 , -28.8319885008 , 23.3335288806 , 46.8999035980 , -67.0984424822 , -164.7917209112, 42.5767681360 , -92.4668227688 , + 43.8491734282 , -17.1126540408 , 37.4819594334 , 69.0774409673 , -39.3530526854 , -14.0693747124 , -60.2520781215 , -80.3860105519 , + 32.6689956840 , 15.3393042576 , -18.5529761307 , 97.3942151573 , -4.4462855745 , 13.7614349817 , 158.3358780719 , -44.7258299667 , + -17.7741912819 , 116.5136962268 , -33.6261057820 , 22.8344441288 , -155.1423976144, 5.7070117893 , -22.7906543902 , -45.0633909283 , + -13.9329987929 , -66.0848932507 , 1.1383038109 , 123.8386958483 , 67.6662401589 , 45.9152963554 , -27.4397697462 , 97.9596747354 , + -6.3544655181 , 29.0832146722 , 96.3468162499 , 32.4535976137 , -91.0650399301 , 2.7293262791 , 70.7853483111 , -92.3655274571 , + 69.0359217256 , 83.1530567979 , 35.8375091111 , 7.3393552348 , -95.1770165365 , 76.4905790891 , 55.6253140577 , -29.5315327050 , + -16.5935468750 , 20.4574192236 , -88.7897972666 , -38.6285080386 , 53.3203422726 , 98.5991486746 , 122.7305462474 , 67.7902817187 , + 5.1764117389 , 5.0632821624 , 21.9288789574 , -78.3140512638 , -21.2069682335 , 23.6342010925 , 34.4445769455 , 59.1346766615 , + 28.9978778000 , 39.8121180845 , -17.1650033520 , -56.9174900874 , 17.8157086148 , -112.8801457350, -122.4019040408, 140.8669393157 , + -65.4664329639 , 40.6952775518 , 32.7260891658 , -43.2565155866 , 19.3945751928 , -20.1815002000 , -67.6601711640 , -18.1921178207 , + -35.6802153684 , -19.6571455162 +}; + +const float64_t filtering_f64_inputs[FILTERING_MAX_BLOCKSIZE * FILTERING_MAX_M + FILTERING_MAX_NUMTAPS] = +{ + 43.0264275639 , -17.0525215570 , -94.8488973910 , -8.1924989580 , 7.2830326091 , 66.8368719314 , 33.9778190671 , 117.8652289772 , + -129.6077797465, -14.6420815368 , 18.0239223278 , 20.6760530292 , 55.0375037651 , 1.8674609862 , -85.6534302408 , -33.5750364909 , + 29.2110949614 , 110.4727049460 , -94.1914619387 , -1.4084169343 , 83.5181653041 , 47.3073514127 , -13.3420621181 , 30.3389699104 , + 12.1188124277 , 100.9730921941 , -114.0146362390, -77.5823200409 , 37.2019034618 , 40.0026301128 , -58.3387276630 , -34.9472398600 , + -5.1169678311 , -87.7660091118 , -150.5888601131, 56.0349370503 , 50.2168884079 , -74.2313236767 , 22.3648603560 , -6.8676387051 , + 74.8957303680 , -90.1292012823 , -55.1436241586 , -66.6732976100 , -6.7918147615 , 7.7612697081 , 35.7892605979 , -20.0470508830 , + 41.8369017546 , -143.7378056984, -41.9127158600 , -108.3531841158, -57.1917422289 , -124.2808828105, 38.9316388820 , -77.9212517405 , + 37.1990818377 , -28.9545952748 , -155.6371057564, 45.8088886393 , 36.2537018275 , -6.5727656016 , -104.2070491921, 45.5583813729 , + -19.7674717059 , -80.4802190947 , -1.4444563441 , -42.2142256438 , 36.6546339194 , -57.0866498590 , 44.4677067511 , 65.7285753407 , + -103.8158864647, 25.4348723711 , -153.5419639389, 39.3608409474 , 49.1658103436 , 79.5570602275 , 75.2944095996 , 58.9394700746 , + -53.1018534392 , 33.4172444014 , 35.6224682287 , -64.4353396418 , -125.8464291251, -47.6072111617 , -26.2177687594 , -12.0061322096 , + -17.7887967585 , -28.2926175090 , -62.0691715749 , 40.5098573604 , -191.1123732593, 119.6750713043 , 19.6182375803 , -26.7615252921 , + 2.2957847015 , -108.3436451287, -50.5906164995 , -5.6360985100 , -11.6772204201 , -84.2765293757 , -60.9317810068 , 82.0446350218 , + -70.2048296348 , 72.8738253222 , 60.2450218115 , 114.2741231228 , 46.8180775285 , 6.9915412654 , -8.9909197429 , -78.9165936808 , + 66.4731535459 , -68.4235455651 , -79.8254597080 , -10.6308477115 , -62.6161569330 , -55.7744410292 , -11.8408366528 , 98.1034940997 , + 35.8213741877 , -54.4694482732 , 86.9631830044 , -53.0343838122 , -47.4898642865 , -47.2010929590 , -31.3312639685 , -23.0908245172 , + 12.0258009869 , -5.1098204703 , -9.8420230737 , -107.3328761158, 44.6810431959 , -17.9083820345 , -60.9753512872 , -7.5915088994 , + 17.2250813329 , 57.9176125648 , 124.3004161362 , -63.1950908493 , 120.5788885640 , -44.1734238117 , -91.7408095116 , -43.5696066595 , + -49.9560710099 , -167.8513443296, -70.9437505499 , -46.4109705355 , -64.2264526456 , -13.9995803916 , -100.9548186356, 9.9101010575 , + -50.0615130815 , -55.7590145012 , -60.3195153388 , 61.7913378549 , -102.0850899209, 53.2360193126 , -25.8997883369 , 75.1445512333 , + -113.8148602310, 17.8027281119 , -19.5006822722 , -44.2169628471 , 107.5017084384 , -113.7909124666, -43.9735396033 , 7.6880981388 , + 46.7384653508 , 9.9047443751 , 81.8646964362 , 132.3812863877 , -95.6959050236 , -68.5015813484 , 65.8586404494 , 18.5039353889 , + -30.1786166621 , -90.3098515667 , -22.9356228552 , -20.5778272423 , -2.2127786675 , -35.4418447703 , -51.8722915974 , -107.9024439078, + -51.5940748232 , -51.7463262677 , 74.2795485984 , 94.2205022462 , 9.7016384049 , -47.3556083155 , -36.7822314478 , -151.6455525363, + -15.7183814485 , 78.2063383182 , 0.1516414969 , 37.9304181609 , 20.6185902740 , -22.2164106778 , 6.1160554677 , 2.4061326953 , + -111.6681824598, -60.0858917090 , 75.1698614693 , -76.5787410444 , 28.3391655715 , -2.4946186443 , -68.0378899682 , 104.0893199171 , + -51.8319647254 , 38.8521710524 , 75.9114239564 , 73.9206172905 , -103.2533029987, 6.9002718274 , -36.6346436319 , -25.1990926265 , + 1.5852145953 , -50.6438436795 , 21.5018844428 , -151.9305562846, -51.7326681814 , 21.4475994143 , 42.2564011921 , -74.0520586926 , + 49.7370635809 , -13.2957534126 , 36.6746826778 , -31.7005492589 , 148.4894964268 , 79.7890632353 , 16.8856024809 , 16.1690460177 , + 39.2665169484 , 117.2461167794 , -37.4827984831 , -47.8387803604 , -95.7025286193 , 34.3058214285 , -124.9536456028, 56.1640195764 , + 94.3636873606 , 35.3992852810 , -38.3920852159 , -100.5738062016, -29.7837022314 , 42.9133913996 , -34.2715618187 , -14.3589115627 , + -16.5935468750 , 20.4574192236 , -88.7897972666 , -38.6285080386 , 53.3203422726 , 98.5991486746 , 122.7305462474 , 67.7902817187 , + 5.1764117389 , 5.0632821624 , 21.9288789574 , -78.3140512638 , -21.2069682335 , 23.6342010925 , 34.4445769455 , 59.1346766615 , + 28.9978778000 , 39.8121180845 , -17.1650033520 , -56.9174900874 , 17.8157086148 , -112.8801457350, -122.4019040408, 140.8669393157 , + -65.4664329639 , 40.6952775518 , 32.7260891658 , -43.2565155866 , 19.3945751928 , -20.1815002000 , -67.6601711640 , -18.1921178207 , + -35.6802153684 , 49.9550290306 , 131.4925251016 , -31.2940938167 , -5.2848453344 , -109.5580577933, 20.2437599390 , -8.8782958734 , + 54.1836717264 , 7.2555852190 , -3.5698316137 , -51.9236786262 , 6.7861547980 , -104.4814551670, 45.8458629668 , 70.0890876844 , + 38.3572837740 , 61.8024165129 , 68.0176962024 , -12.8193934080 , -21.4661610917 , -0.9377108815 , -74.2100679061 , 71.0490808147 , + 91.9813889497 , -14.5797640164 , 3.5036749129 , -138.3605478356, -48.1501349794 , -16.0636922482 , -12.1334197606 , 15.0562207637 , + -34.0878176054 , 55.1075126157 , 97.3829871877 , 0.2053358099 , -94.8713267382 , 51.5460954054 , 21.2966946363 , 58.1331025047 , + -23.4599044132 , -19.3315856528 , -8.4497193577 , -1.9594679356 , -33.1906549336 , -144.6825417978, -57.1218958072 , 35.7353406097 , + 61.4666549819 , 14.6536253128 , 82.1632196866 , -44.6230161723 , -91.1022589278 , -18.5737673927 , -136.8975612334, 56.9606788003 , + 70.7059960183 , -68.2829345081 , -10.2629800455 , -53.6385325047 , -68.7928766204 , 88.2444688302 , 83.1412324801 , -102.9206928160, + -68.2329763159 , -69.7552955469 , 108.2132269009 , -28.2582329307 , 5.6685898328 , -36.0392956840 , 43.3269513128 , -8.6436416796 , + -16.5054886972 , 11.5008791788 , 39.6923606683 , -28.9039554061 , 13.5938214364 , -23.6296332202 , 49.1171161163 , 53.1636857935 , + -62.9672053166 , -54.2594757384 , 48.3838956696 , 8.0469071555 , -33.6472086213 , -120.5381752144, 55.0880453111 , 17.8990740563 , + 144.9402232336 , 101.7886229203 , -73.3666393712 , -16.4721379138 , -12.7447935685 , 101.8245160983 , -49.7026860415 , -15.1227790364 , + 65.7430288442 , -131.8695390036, 10.2750933946 , 90.9752774838 , -26.5859990591 , -95.6962772568 , 76.2174589344 , 24.8796848060 , + -38.8938223046 , 54.1687774852 , -37.3585968996 , -34.6848570502 , 33.0151011570 , -55.8345877671 , -3.9009101671 , -31.5024971691 , + -9.6863895491 , 91.8719195957 , -58.9993249744 , -25.6887030614 , -8.0829472205 , 4.6386491741 , -71.4019697167 , -21.3734669095 , + 86.2079144404 , 79.6823974266 , -0.0910915997 , 44.8067718095 , 58.7204020766 , 72.6856808976 , -50.3373732478 , -116.1175365534, + -15.0884909384 , 5.4593772059 , -63.6553527905 , 37.3460388205 , -32.2399421679 , 95.7569350513 , -7.3700141964 , -56.0370832967 , + -41.7377150439 , -42.0042856519 , 12.5134312941 , 93.7845584531 , -32.4801087157 , -33.3976050318 , -24.2252126001 , -46.3199064467 , + -20.3704610276 , 15.8571376404 , 88.9127217235 , -33.1132582267 , -1.0005675836 , -28.1780471904 , 150.9349379135 , 38.0600520828 , + 36.4338677563 , -3.3709201641 , 29.7709773016 , 16.5064119077 , 21.3147729463 , 110.6714300904 , 18.8406036507 , 14.8963298097 , + 50.9975960392 , 16.3991140350 , -194.0805845907, -41.6723945839 , -74.8991127408 , -6.4587655805 , -0.6883628218 , -49.8709647175 , + 194.2265120473 , 64.3043624521 , 16.0040882780 , 68.4032551772 , -43.4050313128 , 84.6826289824 , -28.1357565943 , 134.6895584120 , + -7.9746152680 , -95.6692886462 , -48.9444370342 , 79.4479343188 , -50.5345228122 , 52.4800633307 , -14.7735051703 , -20.1510237050 , + 22.5049816980 , 64.4191999102 , 24.8385648232 , 99.4265041360 , 62.0189508473 , -28.3892600378 , -109.8842008564, -79.0407483407 , + 18.3408112020 , 49.1650536089 , 31.5419844924 , -36.1160722679 , -132.9148081329, 10.4053531567 , -129.2463715470, -43.4602207151 , + -24.2420653292 , 91.5388317556 , 21.4762248190 , -44.3810909139 , 18.4098011282 , -45.8691164539 , -20.9831197962 , 16.2076792914 , + 66.0224147666 , -13.6794615513 , 101.2163279622 , -62.4462618603 , 22.2040981785 , -52.3208382802 , -24.7909079016 , 58.5150375093 , + 18.8569705105 , -55.6083430939 , 131.0273367422 , -34.5209015065 , 121.4357296573 , -77.2590299593 , -51.5929566898 , 5.0247131098 , + -23.8451707592 , -4.5912313547 , 31.1387246821 , 61.7019310824 , 49.1912429744 , -50.5836913031 , -74.8182600630 , -21.6209317022 , + 20.9409464654 , -72.7870824583 , -28.3530746820 , -45.0794425434 , -13.4910629905 , -62.0158772255 , -34.1421181246 , 44.2844972784 , + 8.4213193211 , 79.9349022793 , 60.0160502260 , 32.2272994080 , -72.2893887746 , 17.3063698247 , -134.6335742431, 64.6499736261 , + 7.1411921919 , -37.5517577873 , 6.2405670930 , 117.1920927305 , 128.7420689815 , -3.1556854963 , -13.4100422909 , -11.9336372907 , + -8.6022400553 , -102.0033506666, -78.4696575074 , 15.0765861403 , -111.5219718576, -13.4162786508 , 38.2437013694 , 61.1637732561 , + -34.4804160003 , 107.4438003830 , -79.4193067813 , -81.1842853968 , -26.2622970331 , 132.3205425408 , -119.1464268477, 67.3048866598 , + 103.3266736715 , -58.1865815617 , 27.6231908601 , -11.2004371750 , 26.0340617206 , 12.5696123916 , 0.6442714420 , -30.7393043544 , + 1.5314955897 , 49.9110088250 , -106.1358721920, 51.1608329944 , -32.8684239794 , -27.7215905745 , -11.6450303367 , -36.7731678028 , + 59.9383486599 , -4.6301990580 , 5.0361682939 , -10.5669407980 , 124.0908762205 , 35.8305364082 , -123.6216777114, -74.2569079167 , + -56.7651776816 , 16.0736385582 , 23.5030632215 , -110.6764295938, 44.3086821806 , 9.4452708243 , 5.3300080251 , 39.0483916714 , + 151.4550562868 , 62.8957092621 , -116.8103461233, 5.1129927759 , -33.2252515135 , -9.4522506046 , 22.7026048372 , -15.5264414569 , + 71.2087620034 , 19.1191568332 , 50.3019546809 , -5.6096922409 , 22.9344126462 , -7.7591876203 , 31.8949515564 , -58.4253952381 , + 66.4341297173 , -19.0583083044 , 96.7695087855 , 20.4934280047 , 4.9544603116 , -20.8288135920 , -173.2659655408, -62.4883621640 , + -48.5528422703 , 12.1437504278 , 60.2482234666 , -19.6072312919 , -34.6320214291 , 129.0089698963 , -50.9042160618 , 98.3952661477 , + -4.7051792479 , -13.1768910826 , 69.5138802139 , 58.5748201565 , -45.9385652563 , 151.7952104306 , 34.2541941013 , -58.0417838381 , + 28.1480473670 , 46.4006562684 , 97.7001828545 , 4.0855607626 , -32.6097018162 , 16.8913949959 , 105.7266202978 , -89.3978374651 , + -60.9338593128 , -41.2220734230 , 49.9393070783 , 95.0974764854 , 49.2498366456 , 58.6214364590 , 34.1113830569 , 45.6634098874 , + -22.5356086770 , -97.1978653617 , 86.5565049535 , 70.6118545777 , -30.6978082909 , 118.7238621666 , 14.5922386932 , 11.3449652072 , + 65.6007783405 , 82.6369678204 , -52.0390492248 , -47.0160551227 , -95.5142448634 , 99.7162626888 , -36.5523815090 , -42.8042935534 , + 68.3566199798 , -13.8451547552 , -71.1629911780 , 36.2989433752 , -32.4867163365 , 112.4079947071 , -75.6295117422 , 47.5276421639 , + 51.8078250755 , -26.8715188457 , -9.6291144797 , 40.1999849640 , -38.4634033246 , 40.9764960915 , -26.1715730268 , 36.5996396515 , + -26.9924731886 , 53.7879986570 , -83.1658398348 , 23.6381378489 , 43.8794937753 , -55.4133836419 , 90.0266130838 , 14.1036181982 , + -18.1225736715 , 85.1363181151 , -62.5970846379 , -18.5291947838 , -25.7341986703 , -49.7061342931 , -59.0442763971 , 50.8960636803 , + -87.6471123430 , -36.7217762531 , 22.5952364054 , 11.1107885650 , -0.5377327229 , 160.8145792630 , 73.3103441505 , 10.1656872354 , + -50.4554350397 , -57.3478171016 , -15.4201715357 , -26.9135446491 , -4.9891264771 , -37.0226770057 , -80.9919535641 , 50.4418660876 , + -25.8517575250 , -69.9538258421 , -17.5730160671 , 15.9405836751 , 113.9545230349 , -46.1040379057 , -94.2458635014 , -69.0338522452 , + 43.5813790265 , 107.1836101171 , -55.1012654323 , -77.1529555887 , -33.1530320656 , -94.5582659641 , -53.6837586872 , 27.0680381378 , + 93.9385415207 , -61.0955216188 , 18.0530957225 , 7.9150142320 , -12.1218191587 , 34.0173961457 , 40.0084937565 , 9.8119275580 , + 44.2065861274 , -1.8718514394 , 67.4740024215 , 46.7391150131 , 207.2404815875 , 45.1635364462 , 43.3580102761 , -44.0244218674 , + 83.2387206007 , -8.6441851856 , 12.3993902588 , -22.5091685270 , -19.8332981376 , 97.9196509289 , -76.6720306234 , 28.9740705859 , + 121.9415248016 , 9.6656982611 , -51.0996453694 , 37.3704374740 , 74.7589840907 , -113.4066752631, 120.0029566342 , -105.3786221360, + 81.8152755619 , -13.4979932982 , -21.4680758393 , -85.1088235539 , -65.3610798409 , -35.0444139470 , -48.0220794487 , -41.6210317362 , + 33.1212995259 , -82.1480936443 , -10.5479715135 , 76.4601917004 , 42.1983651157 , 92.6104239912 , -42.3536237955 , -24.5644182272 , + 30.4446637772 , -90.2899420489 , 63.6723540422 , 103.0895811428 , 64.1706769263 , -10.7069812309 , 21.8927240409 , 6.3571071738 , + 57.1457649358 , -52.9866276448 , 66.0981829072 , -29.5372056881 , -79.2252039810 , -136.2440652798, -57.0106422562 , 86.8203548141 , + 66.4244149837 , 53.3230426111 , -66.1283059222 , -131.0402660353, 8.0548411081 , 122.9088988100 , 1.2626894208 , -60.5059112373 , + -68.8707203082 , -6.4747987200 , 85.8411327244 , 99.9624156733 , 90.4197864338 , -35.9630441182 , -22.9158275507 , -17.3660128776 , + 16.7845345761 , 34.7219749782 , -39.3513765878 , 1.0460702756 , -60.9494500182 , 20.0900333387 , -85.9636743832 , 88.4400782168 , + 15.0729628728 , 61.5499846243 , 11.8579871757 , 107.8617581581 , -42.9393027864 , -62.8422307621 , -19.0589600542 , 4.0750325807 , + -36.0651825425 , 55.7638724501 , -10.4691736080 , -55.5672537178 , -61.2061519915 , -21.1885348576 , -131.2535612498, 24.7463552676 , + 22.9426321237 , 14.3038202264 , -138.0926317438, -59.0892900856 , -162.5416439986, 7.1307658250 , -141.1236672256, -4.7173618068 , + -16.7741532807 , -68.2615451173 , -2.6608701102 , 84.1978109826 , -11.3446202072 , 59.9630033088 , -1.8994925010 , -37.9301641959 , + -119.4435600954, -11.4587491646 , 12.2423215240 , -7.3169898616 , -67.0373621128 , 36.0198843055 , 53.9791315249 , -134.5885680695, + -83.8330811965 , -16.6714816463 , -8.8498552035 , -24.0513088196 , -22.9444328877 , -37.7961441531 , 25.1975736186 , -136.1611637464, + -5.0843464033 , -10.3939554694 , 20.7422826935 , 75.6854136623 , 46.4179626736 , -57.0052830175 , 7.3457235521 , -51.5504447254 , + -158.4375751701, -200.2426967181, -48.1234996261 , 1.6623945527 , 21.1746524375 , 99.4092980367 , -2.3206772903 , 45.7989166757 , + 2.0181548348 , -88.0556010969 , -59.1527212096 , 47.3607925077 , -10.4181140309 , 56.3558125650 , -8.9799125560 , -30.0376711812 , + -36.7132904688 , 35.7785050392 , -13.0763909369 , -2.1855594714 , 18.1550954005 , -28.6711803575 , -55.4495172398 , -2.8812973198 , + -59.9575059158 , 40.0588875786 , 57.4713686602 , -3.2835144853 , -36.7193552111 , -64.9415131516 , -166.9555466445, -23.5556853844 , + -54.9408569587 , -35.2310451959 , 21.3345143458 , 65.7590671151 , 51.2214538168 , 46.1271939944 , -42.2235267919 , 127.2329928299 , + 105.2391778600 , 17.6726845966 , -129.9021148044, 8.7065613044 , -94.0987112511 , -3.5375742950 , -23.1385452379 , 60.6219530633 , + 92.5445564235 , 48.5111974469 , -52.5699309159 , -60.0634811685 , 25.9034368684 , 140.0249495491 , 1.5918852392 , 38.0266038291 , + 17.5588710703 , 3.4294066089 , -27.6748782173 , 59.6182974489 , -35.2924781853 , -38.6198576115 , -13.6119803198 , 7.8375587489 , + 22.7250686519 , -28.3524510951 , -34.4269062817 , 22.6464817325 , -61.6528147860 , -5.9782002429 , 61.4730771294 , 43.5582379527 , + 55.6862408270 , 87.8745651631 , 46.3401042715 , -19.8780979663 , 74.1272633369 , 29.8590452377 , -12.8665765140 , 34.2931401219 , + 53.9279617551 , -16.9017895140 , -70.1527553166 , -79.6367897992 , 109.3728271017 , -129.2214826835, -53.4644539730 , -51.5654458993 , + 17.6062148433 , 3.5090251835 , 74.2615941204 , -109.3431097845, 40.1403465151 , 28.8714561280 , 94.0868659302 , -19.0047033845 , + -60.0967410050 , -19.0998457619 , -67.2027075128 , 72.0711434846 , -17.8737851232 , 123.7050551274 , 132.6331504104 , 25.5018761009 , + -36.7817189239 , -29.1580893235 , -6.5848563828 , 90.2868948516 , -35.7017258498 , -68.5675432955 , -52.4888589786 , 47.1377730021 , + -7.4546621940 , -52.0657517138 , -49.0404829633 , -114.6910280126, -117.6819819437, -32.7856729408 , 31.8232065591 , 12.1192973039 , + 35.2678513420 , -1.0336778293 , 30.7021249679 , 127.0442906046 , -84.8457819393 , 28.9862843096 , -47.3524701726 , -126.1094998460, + -2.9700276582 , -2.4956545870 , -53.8624121141 , -85.2114117637 , 76.9057985618 , 137.1205201755 , -19.0830817212 , 14.3407526579 , + -56.5921994449 , -25.6084873186 , -44.9470801106 , -133.3139496090, 0.3487447576 , 33.4499716730 , 34.7126257844 , -9.3307383323 , + 27.2996276947 , 10.8765676134 , -91.1032360444 , -90.9584216222 , 1.6981490570 , 96.8557438791 , 56.7726390913 , -44.3246449237 , + 52.3260643361 , 21.5551140465 , 27.4535327381 , 2.0072717479 , 7.4823125629 , 77.1185863870 , 16.1372262663 , -10.7206012957 , + 66.8830091413 , 49.3523828287 , 54.0855375598 , 30.8570349345 , -10.9255375390 , 62.3910624674 , 30.9238561381 , 0.3352881853 , + 72.1022806197 , -28.8319885008 , 23.3335288806 , 46.8999035980 , -67.0984424822 , -164.7917209112, 42.5767681360 , -92.4668227688 , + 43.8491734282 , -17.1126540408 , 37.4819594334 , 69.0774409673 , -39.3530526854 , -14.0693747124 , -60.2520781215 , -80.3860105519 , + 32.6689956840 , 15.3393042576 , -18.5529761307 , 97.3942151573 , -4.4462855745 , 13.7614349817 , 158.3358780719 , -44.7258299667 , + -17.7741912819 , 116.5136962268 , -33.6261057820 , 22.8344441288 , -155.1423976144, 5.7070117893 , -22.7906543902 , -45.0633909283 , + -13.9329987929 , -66.0848932507 , 1.1383038109 , 123.8386958483 , 67.6662401589 , 45.9152963554 , -27.4397697462 , 97.9596747354 , + -6.3544655181 , 29.0832146722 , 96.3468162499 , 32.4535976137 , -91.0650399301 , 2.7293262791 , 70.7853483111 , -92.3655274571 , + 69.0359217256 , 83.1530567979 , 35.8375091111 , 7.3393552348 , -95.1770165365 , 76.4905790891 , 55.6253140577 , -29.5315327050 , + -16.5935468750 , 20.4574192236 , -88.7897972666 , -38.6285080386 , 53.3203422726 , 98.5991486746 , 122.7305462474 , 67.7902817187 , + 5.1764117389 , 5.0632821624 , 21.9288789574 , -78.3140512638 , -21.2069682335 , 23.6342010925 , 34.4445769455 , 59.1346766615 , + 28.9978778000 , 39.8121180845 , -17.1650033520 , -56.9174900874 , 17.8157086148 , -112.8801457350, -122.4019040408, 140.8669393157 , + -65.4664329639 , 40.6952775518 , 32.7260891658 , -43.2565155866 , 19.3945751928 , -20.1815002000 , -67.6601711640 , -18.1921178207 , + -35.6802153684 , -19.6571455162 +}; + +/*--------------------------------------------------------------------------------*/ +/* Blocksizes */ +/*--------------------------------------------------------------------------------*/ +ARR_DESC_DEFINE(uint32_t, + filtering_blocksizes, + 5, + CURLY( + 1, 7, 14, 32, FILTERING_MAX_BLOCKSIZE)); + +ARR_DESC_DEFINE(uint32_t, + lms_blocksizes, + 3, + CURLY( + 128, 256, LMS_MAX_BLOCKSIZE)); + +ARR_DESC_DEFINE(uint16_t, + filtering_numtaps, + 5, + CURLY( + 4, 6, 14, 32, FILTERING_MAX_NUMTAPS)); + +ARR_DESC_DEFINE(uint16_t, + filtering_numtaps2, + 5, + CURLY( + 6, 12, 18, 24, 30)); + +ARR_DESC_DEFINE(uint16_t, + filtering_numstages, + 3, + CURLY( + 1, 7, FILTERING_MAX_NUMSTAGES)); + +ARR_DESC_DEFINE(uint8_t, + filtering_postshifts, + 3, + CURLY( + 0, 1, FILTERING_MAX_POSTSHIFT)); + +ARR_DESC_DEFINE(uint8_t, + filtering_Ls, + 3, + CURLY( + 1, 2, FILTERING_MAX_L)); + +ARR_DESC_DEFINE(uint8_t, + filtering_Ms, + 6, + CURLY( + 1, 2, 4, 7, 11, FILTERING_MAX_M)); + + +/*--------------------------------------------------------------------------------*/ +/* Coefficient Lists */ +/*--------------------------------------------------------------------------------*/ + +// There must be at least max( FILTERING_MAX_NUMTAPS + 2 , FILTERING_MAX_NUMSTAGES * 6 + 2) coefficients +const float32_t filtering_coeffs_f32[FILTERING_MAX_NUMSTAGES * 6 + 2] = +{ + -13.0572f, 0.0f , -97.4724f, 8.4111f , -7.2193f , -53.7577f, 22.2630f , + -1.0509f , -25.9198f, 26.5207f , -12.6697f, -78.7453f, -0.6540f , 0.3119f , + 13.4595f , -6.7225f , -4.1313f , -38.5974f, 3.2700f , -51.6191f, -22.4314f, + 0.2481f , 32.9779f , -37.6421f, 5.4469f , -7.0023f , 24.3657f , 9.9140f , + 0.2870f , -13.0499f, 29.3333f , -53.1396f, -2.7555f , 0.5377f , 35.3491f , + -3.7134f , 0.8548f , 4.7469f , -10.5865f, -2.7285f , -1.5912f , -13.3502f, + 6.8532f , -8.2304f , -8.1193f , 3.8257f , -2.1703f , 13.5727f , 14.2736f , + -0.9855f , -8.9334f , -13.8883f, 11.8430f , -2.2024f , 0.9795f , 15.6191f , + 5.2121f , 10.8102f , -9.4171f , 6.0411f , -0.9131f , 10.6992f , -3.2634f , + 7.5849f , -4.9305f , -6.0549f , -7.9409f , 1.5827f , 13.3177f , 8.6727f , + -13.2268f , 11.1239f , 0.2481f , 32.9779f , -37.6421f, 5.4469f , -13.8883f, + 11.8430f , -2.2024f , 0.9795f , 15.6191f , 0.2481f , 32.9779f , -37.6421f, + 3.2700f , -51.6191f +}; +const float64_t filtering_coeffs_f64[FILTERING_MAX_NUMSTAGES * 6 + 2] = +{ + -13.0572f, 0.0f , -97.4724f, 8.4111f , -7.2193f , -53.7577f, 22.2630f , + -1.0509f , -25.9198f, 26.5207f , -12.6697f, -78.7453f, -0.6540f , 0.3119f , + 13.4595f , -6.7225f , -4.1313f , -38.5974f, 3.2700f , -51.6191f, -22.4314f, + 0.2481f , 32.9779f , -37.6421f, 5.4469f , -7.0023f , 24.3657f , 9.9140f , + 0.2870f , -13.0499f, 29.3333f , -53.1396f, -2.7555f , 0.5377f , 35.3491f , + -3.7134f , 0.8548f , 4.7469f , -10.5865f, -2.7285f , -1.5912f , -13.3502f, + 6.8532f , -8.2304f , -8.1193f , 3.8257f , -2.1703f , 13.5727f , 14.2736f , + -0.9855f , -8.9334f , -13.8883f, 11.8430f , -2.2024f , 0.9795f , 15.6191f , + 5.2121f , 10.8102f , -9.4171f , 6.0411f , -0.9131f , 10.6992f , -3.2634f , + 7.5849f , -4.9305f , -6.0549f , -7.9409f , 1.5827f , 13.3177f , 8.6727f , + -13.2268f , 11.1239f , 0.2481f , 32.9779f , -37.6421f, 5.4469f , -13.8883f, + 11.8430f , -2.2024f , 0.9795f , 15.6191f , 0.2481f , 32.9779f , -37.6421f, + 3.2700f , -51.6191f +}; + +const float32_t filtering_coeffs_b_f32[FILTERING_MAX_NUMSTAGES * 6 + 2] = +{ + -0.0572f, 0.0f , -0.4724f, 0.4111f , -0.9999f, -0.7577f, 0.2630f , + -0.0509f, -1.0000f, 0.5207f , -0.6697f, -0.7453f, -0.6540f, 0.3119f , + 0.4595f , -0.7225f, -0.1313f, -0.5974f, 0.2700f , -0.6191f, -0.4314f, + 0.2481f , 0.9779f , -0.6421f, 0.4469f , -0.0023f, 0.3657f , 0.9140f , + 0.2870f , -0.0499f, 0.3333f , -0.1396f, -0.7555f, 0.5377f , 0.3491f , + 0.2369f , -0.5310f, -0.5904f, 0.6263f , 0.0205f , 0.1088f , -0.2926f, + -0.4187f, -0.5094f, 0.4479f , -0.3594f, -0.3102f, 0.6748f , 0.7620f , + 0.0033f , -0.9195f, 0.3192f , -0.1705f, 0.5524f , -0.5025f, 0.4898f , + -0.0119f, -0.3982f, -0.7818f, -0.9186f, -0.0944f, 0.7228f , 0.7014f , + 0.4850f , -0.6814f, 0.4914f , -0.6286f, 0.5130f , -0.8585f, 0.3000f , + 0.6068f , 0.4978f , -0.7225f, -0.1313f, -0.5974f, 0.2700f , -0.6191f, + 0.2481f , 0.9779f , -0.6421f, 0.4469f , -0.0023f, 0.3657f , 0.9140f , + 0.2369f , -0.5310f +}; + +const float64_t filtering_coeffs_b_f64[FILTERING_MAX_NUMSTAGES * 6 + 2] = +{ + -0.0572f, 0.0f , -0.4724f, 0.4111f , -0.9999f, -0.7577f, 0.2630f , + -0.0509f, -1.0000f, 0.5207f , -0.6697f, -0.7453f, -0.6540f, 0.3119f , + 0.4595f , -0.7225f, -0.1313f, -0.5974f, 0.2700f , -0.6191f, -0.4314f, + 0.2481f , 0.9779f , -0.6421f, 0.4469f , -0.0023f, 0.3657f , 0.9140f , + 0.2870f , -0.0499f, 0.3333f , -0.1396f, -0.7555f, 0.5377f , 0.3491f , + 0.2369f , -0.5310f, -0.5904f, 0.6263f , 0.0205f , 0.1088f , -0.2926f, + -0.4187f, -0.5094f, 0.4479f , -0.3594f, -0.3102f, 0.6748f , 0.7620f , + 0.0033f , -0.9195f, 0.3192f , -0.1705f, 0.5524f , -0.5025f, 0.4898f , + -0.0119f, -0.3982f, -0.7818f, -0.9186f, -0.0944f, 0.7228f , 0.7014f , + 0.4850f , -0.6814f, 0.4914f , -0.6286f, 0.5130f , -0.8585f, 0.3000f , + 0.6068f , 0.4978f , -0.7225f, -0.1313f, -0.5974f, 0.2700f , -0.6191f, + 0.2481f , 0.9779f , -0.6421f, 0.4469f , -0.0023f, 0.3657f , 0.9140f , + 0.2369f , -0.5310f +}; + +const float32_t *filtering_coeffs_c_f32 = filtering_coeffs_b_f32 + 1; + +const q31_t filtering_coeffs_q31[FILTERING_MAX_NUMSTAGES * 6 + 2] = +{ + 0xEEDA759C, 0x00000000, 0x80000000, 0x0B0BA027, 0xF6850544, 0xB967E3EC, + 0x1D3C4F64, 0xFFFFFFFF, 0xDDF65B14, 0x22D3A62D, 0xEF5CBB89, 0x98979EE0, + 0xFF242597, 0x0068D9E9, 0x11ACC4F3, 0xF72C0F21, 0xFA9326BC, 0xCD506BD5, + 0x044B50CD, 0xBC36D4BC, 0xE28B1589, 0x0053690B, 0x2B4E6639, 0xCE919690, + 0x0727234D, 0xF6CDFB14, 0x1FFF2FCF, 0x0D04DC35, 0x00607E4D, 0xEEDCF04A, + 0x268530EF, 0xBA37B050, 0x7FFFFFFF, 0xEF5CBB89, 0x00000000, 0x2B4E6639, + 0xFF242597, 0x0068D9E9, 0x11ACC4F3, 0xF72C0F21, 0xFA9326BC, 0xCD506BD5, + 0x1D3C4F64, 0xFFFFFFFF, 0xDDF65B14, 0x22D3A62D, 0xEF5CBB89, 0x98979EE0, + 0x044B50CD, 0xBC36D4BC, 0xE28B1589, 0x0053690B, 0x2B4E6639, 0xCE919690, + 0x0727234D, 0xF6CDFB14, 0x1FFF2FCF, 0x0D04DC35, 0x00607E4D, 0xEEDCF04A, + 0xE28B1589, 0x0053690B, 0x044B50CD, 0xBC36D4BC, 0xE28B1589, 0xB967E3EC, + 0x044B50CD, 0xBC36D4BC, 0xE28B1589, 0x0053690B, 0x2B4E6639, 0xCE919690, + 0x1FFF2FCF, 0x0D04DC35, 0x00607E4D, 0xEEDCF04A, 0xFFFFFFFF, 0xDDF65B14, + 0xFF242597, 0x0068D9E9, 0x11ACC4F3, 0xF72C0F21, 0xFA9326BC, 0xCD506BD5, + 0x2B4E6639, 0xCE919690 +}; + +const q31_t *filtering_coeffs_b_q31 = filtering_coeffs_q31 + 1; +const q31_t *filtering_coeffs_c_q31 = filtering_coeffs_q31 + 2; + +//fourth coefficient MUST be zero for arm_biquad_cascade_df1_fast_q15 to work +//every 6th coefficient after that must also be zero +const q15_t filtering_coeffs_q15[FILTERING_MAX_NUMSTAGES * 6 + 4] = +{ + 0xBA37, 0xEEDA, 0x8000, 0x0000, 0x0B0B, 0xF685, 0xB967, + 0x1D3C, 0xFFFF, 0x0000, 0x22D3, 0xEF5C, 0x9897, + 0xFF24, 0x0068, 0x0000, 0xF72C, 0xFA93, 0xCD50, + 0x044B, 0xBC36, 0x0000, 0x0053, 0x2B4E, 0xCE91, + 0x0727, 0xF6CD, 0x0000, 0x0D04, 0x0060, 0xEEDC, + 0x2685, 0xBA37, 0x0000, 0xDDF6, 0x0000, 0x2B4E, + 0xFF24, 0x0068, 0x0000, 0xF72C, 0xFA93, 0xCD50, + 0x1D3C, 0xFFFF, 0x0000, 0x22D3, 0xEF5C, 0x9897, + 0x044B, 0xBC36, 0x0000, 0x0053, 0x2B4E, 0xCE91, + 0x0727, 0xF6CD, 0x0000, 0x0D04, 0x0060, 0xEEDC, + 0xE28B, 0x0053, 0x0000, 0xBC36, 0xE28B, 0xB967, + 0x044B, 0xBC36, 0x0000, 0x0053, 0x2B4E, 0xCE91, + 0x044B, 0xBC36, 0x0000, 0x0053, 0x2B4E, 0xCE91, + 0x0727, 0xF6CD, 0x0000, 0x0D04, 0x0060, 0xEEDC, + 0xE28B, 0x11AC, 0x0000, +}; + +const q15_t *filtering_coeffs_b_q15 = filtering_coeffs_q15 + 2; +const q15_t *filtering_coeffs_c_q15 = filtering_coeffs_q15 + 4; + +const q7_t filtering_coeffs_q7[FILTERING_MAX_NUMSTAGES * 6 + 8] = +{ + 0xEE, 0x00, 0x80, 0x0B, 0xF6, 0xB9, + 0x1D, 0xFF, 0xDD, 0x22, 0xEF, 0x98, + 0xFF, 0x00, 0x11, 0xF7, 0xFA, 0xCD, + 0x04, 0xBC, 0xE2, 0x00, 0x2B, 0xCE, + 0x07, 0xF6, 0x1F, 0x0D, 0x00, 0xEE, + 0x26, 0xBA, 0x7F, 0x00, 0x80, 0x2B, + 0xFF, 0x00, 0x11, 0xF7, 0xFA, 0xCD, + 0x1D, 0xFF, 0xDD, 0x22, 0xEF, 0x98, + 0x04, 0xBC, 0xE2, 0x00, 0x2B, 0xCE, + 0x07, 0xF6, 0x1F, 0x0D, 0x00, 0xEE, + 0xE2, 0x00, 0x04, 0xBC, 0xE2, 0xB9, + 0x04, 0xBC, 0xE2, 0x00, 0x2B, 0xCE, + 0x07, 0xF6, 0x1F, 0x0D, 0x00, 0xEE, + 0x26, 0xBA, 0x7F, 0x00, 0x80, 0x2B, + 0x07, 0xF6, 0x1F, 0x0D, 0x00, 0xEE, + 0xFA, 0xCD +}; + +const q7_t *filtering_coeffs_b_q7 = filtering_coeffs_q7 + 4; +const q7_t *filtering_coeffs_c_q7 = filtering_coeffs_q7 + 8; + +/*--------------------------------------------------------------------------------*/ +/* Tap Delay Lists */ +/*--------------------------------------------------------------------------------*/ +//const int32_t filtering_tap_delay[FILTERING_MAX_NUMTAPS] = { +// 0xEE, 0x00, 0x10, 0x0B, 0xF6, 0xD9, +// 0x1D, 0xFF, 0xDD, 0x1A, 0xEF, 0xE8, +// 0xFF, 0x00, 0x11, 0xF7, 0xFA, 0xDD, +// 0x04, 0xEC, 0xE2, 0x00, 0x2B, 0xFE, +// 0x07, 0xF6, 0x1F, 0x0D, 0x00, 0xEE, +// 0x20, 0xDF, 0x21 +//}; + +const int32_t filtering_tap_delay[FILTERING_MAX_NUMTAPS] = { + 0x00, 0x01, 0x10, 0x0B, 0x03, 0x05, + 0x1D, 0x21, 0x11, 0x1A, 0x1F, 0x07, + 0x20, 0x01, 0x10, 0x0B, 0x03, 0x05, + 0x1D, 0x21, 0x11, 0x1A, 0x1F, 0x07, + 0x00, 0x01, 0x10, 0x0B, 0x03, 0x05, + 0x1D, 0x21, 0x11 +}; + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_group.c new file mode 100644 index 0000000..453bad6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/filtering_test_group.c @@ -0,0 +1,17 @@ +#include "jtest.h" +#include "filtering_tests.h" + +JTEST_DEFINE_GROUP(filtering_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_GROUP_CALL(biquad_tests); + JTEST_GROUP_CALL(conv_tests); + JTEST_GROUP_CALL(correlate_tests); + JTEST_GROUP_CALL(fir_tests); + JTEST_GROUP_CALL(iir_tests); + JTEST_GROUP_CALL(lms_tests); + + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/fir_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/fir_tests.c new file mode 100644 index 0000000..14925d7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/fir_tests.c @@ -0,0 +1,402 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +#define FIR_DEFINE_TEST(suffix, config_suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir##config_suffix##_##suffix##_test, \ + arm_fir##config_suffix##_##suffix) \ + { \ + arm_fir_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps \ + , \ + /* Initialize the FIR Instances */ \ + arm_fir_init_##suffix( \ + &fir_inst_fut, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n", \ + (int)blockSize, \ + (int)numTaps); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir##config_suffix##_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_fir_init_##suffix( \ + &fir_inst_ref, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + ref_fir##config_suffix##_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define FIR_INTERPOLATE_DEFINE_TEST(suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir_interpolate_##suffix##_test, \ + arm_fir_interpolate_##suffix) \ + { \ + arm_fir_interpolate_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_interpolate_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps2 \ + , \ + TEMPLATE_DO_ARR_DESC( \ + L_idx, uint8_t, L, filtering_Ls \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n" \ + "Upsample factor: %d\n", \ + (int)blockSize, \ + (int)numTaps, \ + (int)L); \ + \ + /* Initialize the FIR Instances */ \ + arm_fir_interpolate_init_##suffix( \ + &fir_inst_fut, L, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir_interpolate_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_fir_interpolate_init_##suffix( \ + &fir_inst_ref, L, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + ref_fir_interpolate_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize * (uint32_t)L, \ + output_type)))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define FIR_DECIMATE_DEFINE_TEST(suffix, config_suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir_decimate##config_suffix##_##suffix##_test, \ + arm_fir_decimate##config_suffix##_##suffix) \ + { \ + arm_fir_decimate_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_decimate_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps \ + , \ + TEMPLATE_DO_ARR_DESC( \ + M_idx, uint8_t, M, filtering_Ms \ + , \ + if (blockSize % M == 0) \ + { \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n" \ + "Decimation Factor: %d\n", \ + (int)blockSize, \ + (int)numTaps, \ + (int)M); \ + \ + /* Initialize the FIR Instances */ \ + arm_fir_decimate_init_##suffix( \ + &fir_inst_fut, numTaps, M, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir_decimate##config_suffix##_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_fir_decimate_init_##suffix( \ + &fir_inst_ref, numTaps, M, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + ref_fir_decimate##config_suffix##_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize / M, \ + output_type); \ + }))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define FIR_LATTICE_DEFINE_TEST(suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir_lattice_##suffix##_test, \ + arm_fir_lattice_##suffix) \ + { \ + arm_fir_lattice_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_lattice_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numstages_idx, uint16_t, numStages, filtering_numstages \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Stages: %d\n", \ + (int)blockSize, \ + (int)numStages); \ + \ + /* Initialize the FIR Instances */ \ + arm_fir_lattice_init_##suffix( \ + &fir_inst_fut, numStages, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir_lattice_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_fir_lattice_init_##suffix( \ + &fir_inst_ref, numStages, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState); \ + \ + ref_fir_lattice_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + + +#define FIR_SPARSE_DEFINE_TEST(suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir_sparse_##suffix##_test, \ + arm_fir_sparse_##suffix) \ + { \ + arm_fir_sparse_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_sparse_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n" \ + "Tap Delay: %d\n", \ + (int)blockSize, \ + (int)numTaps, \ + (int)FILTERING_MAX_TAP_DELAY); \ + \ + /* Initialize the FIR Instances */ \ + arm_fir_sparse_init_##suffix( \ + &fir_inst_fut, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, \ + (int32_t*)filtering_tap_delay, \ + FILTERING_MAX_TAP_DELAY, blockSize); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir_sparse_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + (void *) filtering_scratch, \ + blockSize)); \ + \ + arm_fir_sparse_init_##suffix( \ + &fir_inst_ref, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, \ + (int32_t*)filtering_tap_delay, \ + FILTERING_MAX_TAP_DELAY, blockSize); \ + \ + ref_fir_sparse_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + (void *) filtering_scratch, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +#define FIR_SPARSE2_DEFINE_TEST(suffix, output_type) \ + JTEST_DEFINE_TEST(arm_fir_sparse_##suffix##_test, \ + arm_fir_sparse_##suffix) \ + { \ + arm_fir_sparse_instance_##suffix fir_inst_fut = { 0 }; \ + arm_fir_sparse_instance_##suffix fir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n" \ + "Tap Delay: %d\n", \ + (int)blockSize, \ + (int)numTaps, \ + (int)FILTERING_MAX_TAP_DELAY); \ + \ + /* Initialize the FIR Instances */ \ + arm_fir_sparse_init_##suffix( \ + &fir_inst_fut, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, \ + (int32_t*)filtering_tap_delay, \ + FILTERING_MAX_TAP_DELAY, blockSize); \ + \ + JTEST_COUNT_CYCLES( \ + arm_fir_sparse_##suffix( \ + &fir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + (void *) filtering_scratch, \ + (void *) filtering_scratch2, \ + blockSize)); \ + \ + arm_fir_sparse_init_##suffix( \ + &fir_inst_ref, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, \ + (int32_t*)filtering_tap_delay, \ + FILTERING_MAX_TAP_DELAY, blockSize); \ + \ + ref_fir_sparse_##suffix( \ + &fir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + (void *) filtering_scratch, \ + (void *) filtering_scratch2, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +FIR_DEFINE_TEST(f32,,float32_t); +FIR_DEFINE_TEST(q31,,q31_t); +FIR_DEFINE_TEST(q15,,q15_t); +FIR_DEFINE_TEST(q31,_fast,q31_t); +FIR_DEFINE_TEST(q15,_fast,q15_t); +FIR_DEFINE_TEST(q7,,q7_t); + +FIR_LATTICE_DEFINE_TEST(f32,float32_t); +FIR_LATTICE_DEFINE_TEST(q31,q31_t); +FIR_LATTICE_DEFINE_TEST(q15,q15_t); + +FIR_INTERPOLATE_DEFINE_TEST(f32,float32_t); +FIR_INTERPOLATE_DEFINE_TEST(q31,q31_t); +FIR_INTERPOLATE_DEFINE_TEST(q15,q15_t); + +FIR_DECIMATE_DEFINE_TEST(f32,,float32_t); +FIR_DECIMATE_DEFINE_TEST(q31,,q31_t); +FIR_DECIMATE_DEFINE_TEST(q15,,q15_t); +FIR_DECIMATE_DEFINE_TEST(q31,_fast,q31_t); +FIR_DECIMATE_DEFINE_TEST(q15,_fast,q15_t); + +FIR_SPARSE_DEFINE_TEST(f32,float32_t); +FIR_SPARSE_DEFINE_TEST(q31,q31_t); +FIR_SPARSE2_DEFINE_TEST(q15,q15_t); +FIR_SPARSE2_DEFINE_TEST(q7,q7_t); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(fir_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_fir_f32_test); + JTEST_TEST_CALL(arm_fir_q31_test); + JTEST_TEST_CALL(arm_fir_q15_test); + JTEST_TEST_CALL(arm_fir_q7_test); + JTEST_TEST_CALL(arm_fir_fast_q31_test); + JTEST_TEST_CALL(arm_fir_fast_q15_test); + + JTEST_TEST_CALL(arm_fir_lattice_f32_test); + JTEST_TEST_CALL(arm_fir_lattice_q31_test); + JTEST_TEST_CALL(arm_fir_lattice_q15_test); + + JTEST_TEST_CALL(arm_fir_interpolate_f32_test); + JTEST_TEST_CALL(arm_fir_interpolate_q31_test); + JTEST_TEST_CALL(arm_fir_interpolate_q15_test); + + JTEST_TEST_CALL(arm_fir_decimate_f32_test); + JTEST_TEST_CALL(arm_fir_decimate_q31_test); + JTEST_TEST_CALL(arm_fir_decimate_q15_test); + JTEST_TEST_CALL(arm_fir_decimate_fast_q31_test); + JTEST_TEST_CALL(arm_fir_decimate_fast_q15_test); + + JTEST_TEST_CALL(arm_fir_sparse_f32_test); + JTEST_TEST_CALL(arm_fir_sparse_q31_test); + JTEST_TEST_CALL(arm_fir_sparse_q15_test); + JTEST_TEST_CALL(arm_fir_sparse_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c new file mode 100644 index 0000000..1d4a0ac --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/iir_tests.c @@ -0,0 +1,76 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +#define IIR_DEFINE_TEST(suffix, output_type) \ + JTEST_DEFINE_TEST(arm_iir_lattice_##suffix##_test, \ + arm_iir_lattice_##suffix) \ + { \ + arm_iir_lattice_instance_##suffix iir_inst_fut = { 0 }; \ + arm_iir_lattice_instance_##suffix iir_inst_ref = { 0 }; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, filtering_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numstages_idx, uint16_t, numStages, filtering_numstages \ + , \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Stages: %d\n", \ + (int)blockSize, \ + (int)numStages); \ + \ + /* Initialize the IIR Instances */ \ + arm_iir_lattice_init_##suffix( \ + &iir_inst_fut, numStages, (output_type*)filtering_coeffs_b_##suffix, \ + (output_type*)filtering_coeffs_c_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + JTEST_COUNT_CYCLES( \ + arm_iir_lattice_##suffix( \ + &iir_inst_fut, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_fut, \ + blockSize)); \ + \ + arm_iir_lattice_init_##suffix( \ + &iir_inst_ref, numStages, (output_type*)filtering_coeffs_b_##suffix, \ + (output_type*)filtering_coeffs_c_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + ref_iir_lattice_##suffix( \ + &iir_inst_ref, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_output_ref, \ + blockSize); \ + \ + FILTERING_SNR_COMPARE_INTERFACE( \ + blockSize, \ + output_type))); \ + \ + return JTEST_TEST_PASSED; \ + } + +IIR_DEFINE_TEST(f32, float32_t); +IIR_DEFINE_TEST(q31, q31_t); +IIR_DEFINE_TEST(q15, q15_t); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(iir_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_iir_lattice_f32_test); + JTEST_TEST_CALL(arm_iir_lattice_q31_test); + JTEST_TEST_CALL(arm_iir_lattice_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/lms_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/lms_tests.c new file mode 100644 index 0000000..deadd7c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/filtering_tests/lms_tests.c @@ -0,0 +1,219 @@ +#include "jtest.h" +#include "filtering_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "filtering_templates.h" +#include "type_abbrev.h" + +static const float32_t mu_f32 = 0.00854f;//1.0f; +static const float32_t mu2_f32 = 1.0f; +static const q31_t mu_q31 = 0x7fffffff; +static const q15_t mu_q15 = 0x7fff; + +#define LMS_DEFINE_TEST(suffix, config_suffix, output_type, mu) \ + JTEST_DEFINE_TEST(arm_lms##config_suffix##_##suffix##_test, \ + arm_lms##config_suffix##_##suffix) \ + { \ + arm_lms##config_suffix##_instance_##suffix lms_inst_fut = { 0 }; \ + arm_lms##config_suffix##_instance_##suffix lms_inst_ref = { 0 }; \ + arm_fir_instance_##suffix fir_inst = { 0 }; \ + uint32_t i; \ + \ + TEMPLATE_DO_ARR_DESC( \ + blocksize_idx, uint32_t, blockSize, lms_blocksizes \ + , \ + TEMPLATE_DO_ARR_DESC( \ + numtaps_idx, uint16_t, numTaps, filtering_numtaps \ + , \ + /* Initialize the FIR Instances */ \ + arm_fir_init_##suffix( \ + &fir_inst, numTaps, \ + (output_type*)filtering_coeffs_##suffix, \ + (void *) filtering_pState, blockSize); \ + \ + ref_fir_##suffix( \ + &fir_inst, \ + (void *) filtering_##suffix##_inputs, \ + (void *) filtering_input_lms, \ + blockSize); \ + \ + for(i=0;i> 6; \ + } \ + \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Number of Taps: %d\n" \ + "Post Shift: %d\n", \ + (int)blockSize, \ + (int)numTaps, \ + (int)postShift); \ + \ + /* Initialize the LMS Instances */ \ + arm_lms##config_suffix##_init_##suffix( \ + &lms_inst_fut, numTaps, \ + (output_type*)filtering_coeffs_lms, \ + (void *) filtering_pState, mu_##suffix, blockSize, postShift); \ + \ + JTEST_COUNT_CYCLES( \ + arm_lms##config_suffix##_##suffix( \ + &lms_inst_fut, \ + (void *) filtering_output_f32_fut, \ + (void *) filtering_input_lms, \ + (void *) filtering_output_fut, \ + (void *) ((output_type*)filtering_output_fut+blockSize), \ + blockSize)); \ + \ + for(i=0;i= 6010050) && !defined (__MICROLIB) +__asm(" .global __ARM_use_no_argv\n"); +#endif + + +void debug_init(void) +{ + uint32_t * SHCSR_ptr = (uint32_t *) 0xE000ED24; /* System Handler Control and State Register */ + *SHCSR_ptr |= 0x70000; /* Enable UsageFault, BusFault, and MemManage fault*/ +} + +int main(void) +{ +#if !defined(FILEIO) + debug_init(); +#endif + + JTEST_INIT(); /* Initialize test framework. */ + + JTEST_GROUP_CALL(all_tests); /* Run all tests. */ + + JTEST_ACT_EXIT_FW(); /* Exit test framework. */ +#if !defined(FILEIO) + while (1); /* Never return. */ +#endif +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/math_helper.c new file mode 100644 index 0000000..2b1d30d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/math_helper.c @@ -0,0 +1,509 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010 ARM Limited. All rights reserved. +* +* $Date: 29. November 2010 +* $Revision: V1.0.3 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Version 1.0.3 2010/11/29 +* Re-organized the CMSIS folders and updated documentation. +* +* Version 1.0.2 2010/11/11 +* Documentation updated. +* +* Version 1.0.1 2010/10/05 +* Production release and review comments incorporated. +* +* Version 1.0.0 2010/09/20 +* Production release and review comments incorporated. +* +* Version 0.0.7 2010/06/10 +* Misra-C changes done +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param float* Pointer to the reference buffer + * @param float* Pointer to the test buffer + * @param uint32_t total number of samples + * @return float SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + + + SNR = 10 * log10f (EnergySignal / EnergyError); + + /* Checking for a NAN value in SNR */ + test = (int *)(&SNR); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + + return (SNR); + +} + + + +double arm_snr_f64(double *pRef, double *pTest, uint32_t buffSize) +{ + double EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + double SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(100000.0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + /* Checking for a NAN value in SNR */ + test = (int *)(&SNR); + temp = *test; + + if (temp == 0x7FC00000) + { + return(10000.0); + } + + return (SNR); + +} + +/** + * @brief Provide guard bits for Input buffer + * @param q15_t* Pointer to input buffer + * @param uint32_t blockSize + * @param uint32_t guard_bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param uint32_t number of samples in the buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param q15_t* Pointer to Ref buffer + * @param q15_t* Pointer to Test buffer + * @param uint32_t number of samples in the buffer + * @return none + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param q31_t* Pointer to Ref buffer + * @param q31_t* Pointer to Test buffer + * @param uint32_t number of samples in the buffer + * @return none + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param q31_t* Pointer to input buffer + * @param uint32_t blockSize + * @param uint32_t guard_bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param q31_t* Pointer to input buffer + * @param uint32_t blockSize + * @param uint32_t guard_bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param uint32_t number of additions + * @return none + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Converts Q15 to floating-point + * @param uint32_t number of samples in the buffer + * @return none + */ + +void arm_apply_guard_bits (float32_t * pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param uint32_t number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param uint32_t number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t * pOut, + uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param uint32_t number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, + uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param uint32_t number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t * pOut, + uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param uint32_t number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t * pOut, + uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param pIn input buffer + * @param numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_add_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_add_tests.c new file mode 100644 index 0000000..e9d1dcf --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_add_tests.c @@ -0,0 +1,31 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_ADD_TEST(suffix) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ + mat_add, \ + suffix, \ + MATRIX_TEST_CONFIG_ADDITIVE_OUTPUT, \ + MATRIX_TEST_VALID_ADDITIVE_DIMENSIONS, \ + MATRIX_COMPARE_INTERFACE) + +JTEST_ARM_MAT_ADD_TEST(f32); +JTEST_ARM_MAT_ADD_TEST(q31); +JTEST_ARM_MAT_ADD_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_add_tests) +{ + JTEST_TEST_CALL(arm_mat_add_f32_test); + JTEST_TEST_CALL(arm_mat_add_q31_test); + JTEST_TEST_CALL(arm_mat_add_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_cmplx_mult_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_cmplx_mult_tests.c new file mode 100644 index 0000000..43bc3c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_cmplx_mult_tests.c @@ -0,0 +1,59 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_CMPLX_MULT_TEST(suffix, comparison_interface) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ + mat_cmplx_mult, \ + suffix, \ + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, \ + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, \ + comparison_interface) + +JTEST_ARM_MAT_CMPLX_MULT_TEST(f32, MATRIX_SNR_COMPARE_INTERFACE); +JTEST_ARM_MAT_CMPLX_MULT_TEST(q31, MATRIX_COMPARE_INTERFACE); + +/*--------------------------------------------------------------------------------*/ +/* Q15 Uses a Different interface than the others. */ +/*--------------------------------------------------------------------------------*/ + +#define ARM_mat_cmplx_mult_q15_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, \ + (void *) &matrix_output_fut, \ + (q15_t *) matrix_output_scratch) + +JTEST_DEFINE_TEST(arm_mat_cmplx_mult_q15_test, arm_mat_cmplx_mult_q15) +{ + MATRIX_TEST_TEMPLATE_ELT2( + matrix_q15_a_inputs, + matrix_q15_b_inputs, + arm_matrix_instance_q15 * , + arm_matrix_instance_q15, + TYPE_FROM_ABBREV(q15), + arm_mat_cmplx_mult_q15, + ARM_mat_cmplx_mult_q15_INPUT_INTERFACE, + ref_mat_cmplx_mult_q15, + REF_mat_cmplx_mult_INPUT_INTERFACE, + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, + MATRIX_COMPARE_INTERFACE); +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_cmplx_mult_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_cmplx_mult_f32_test); + JTEST_TEST_CALL(arm_mat_cmplx_mult_q31_test); + JTEST_TEST_CALL(arm_mat_cmplx_mult_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_init_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_init_tests.c new file mode 100644 index 0000000..67d0190 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_init_tests.c @@ -0,0 +1,58 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_INIT_TEST(suffix) \ + JTEST_DEFINE_TEST(arm_mat_init_##suffix##_test, \ + arm_mat_init_##suffix) \ + { \ + const uint16_t rows = 4; \ + const uint16_t cols = 2; \ + arm_matrix_instance_##suffix matrix = {0}; \ + /* TYPE_FROM_ABBREV(suffix) data[rows*cols] = {0}; */ \ + TYPE_FROM_ABBREV(suffix) data[4*2] = {0}; \ + \ + arm_mat_init_##suffix(&matrix, \ + rows, \ + cols, \ + data); \ + \ + JTEST_DUMP_STRF("Matrix Dimensions: %dx%d\n", \ + (int)matrix.numRows, \ + (int)matrix.numCols); \ + \ + if ((matrix.numRows == rows) && \ + (matrix.numCols == cols) && \ + (matrix.pData == data)) \ + { \ + return JTEST_TEST_PASSED; \ + } \ + else \ + { \ + return JTEST_TEST_FAILED; \ + } \ + \ + } + +JTEST_ARM_MAT_INIT_TEST(f32); +JTEST_ARM_MAT_INIT_TEST(q31); +JTEST_ARM_MAT_INIT_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_init_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_init_f32_test); + JTEST_TEST_CALL(arm_mat_init_q31_test); + JTEST_TEST_CALL(arm_mat_init_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_inverse_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_inverse_tests.c new file mode 100644 index 0000000..4ad4cef --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_inverse_tests.c @@ -0,0 +1,92 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +JTEST_DEFINE_TEST(arm_mat_inverse_f32_test, arm_mat_inverse_f32) +{ + TEMPLATE_DO_ARR_DESC( + mat_idx, arm_matrix_instance_f32 *, mat_ptr, matrix_f32_invertible_inputs + , + JTEST_DUMP_STRF("Matrix Dimensions: %dx%d\n", + (int)mat_ptr->numRows, + (int)mat_ptr->numCols); + + if (MATRIX_TEST_VALID_SQUARE_DIMENSIONS(arm_matrix_instance_f32 *, mat_ptr)) + { + MATRIX_TEST_CONFIG_SAMESIZE_OUTPUT(arm_matrix_instance_f32 *, mat_ptr); + + /* arm_mat_inverse_f32() modifies its source input. Use the scratch + * buffer to store a copy of the intended input. */ + { + float32_t * original_pdata_ptr = mat_ptr->pData; + + memcpy(matrix_output_scratch, + mat_ptr->pData, + mat_ptr->numRows * mat_ptr->numCols * sizeof(float32_t)); + mat_ptr->pData = (void*) &matrix_output_scratch; + + JTEST_COUNT_CYCLES(arm_mat_inverse_f32(mat_ptr, &matrix_output_fut)); + mat_ptr->pData = original_pdata_ptr; + } + + ref_mat_inverse_f32(mat_ptr, &matrix_output_ref); + + MATRIX_SNR_COMPARE_INTERFACE(arm_matrix_instance_f32, + float32_t); + }); + + return JTEST_TEST_PASSED; +} + +JTEST_DEFINE_TEST(arm_mat_inverse_f64_test, arm_mat_inverse_f64) +{ + TEMPLATE_DO_ARR_DESC( + mat_idx, arm_matrix_instance_f64 *, mat_ptr, matrix_f64_invertible_inputs + , + JTEST_DUMP_STRF("Matrix Dimensions: %dx%d\n", + (int)mat_ptr->numRows, + (int)mat_ptr->numCols); + + if (MATRIX_TEST_VALID_SQUARE_DIMENSIONS(arm_matrix_instance_f64 *, mat_ptr)) + { + MATRIX_TEST_CONFIG_SAMESIZE_OUTPUT(arm_matrix_instance_f64 *, mat_ptr); + + /* arm_mat_inverse_f64() modifies its source input. Use the scratch + * buffer to store a copy of the intended input. */ + { + float64_t * original_pdata_ptr = mat_ptr->pData; + + memcpy(matrix_output_scratch, + mat_ptr->pData, + mat_ptr->numRows * mat_ptr->numCols * sizeof(float64_t)); + mat_ptr->pData = (void*) &matrix_output_scratch; + + JTEST_COUNT_CYCLES(arm_mat_inverse_f64(mat_ptr, &matrix_output_fut64)); + mat_ptr->pData = original_pdata_ptr; + } + + ref_mat_inverse_f64(mat_ptr, &matrix_output_ref64); + + MATRIX_DBL_SNR_COMPARE_INTERFACE(arm_matrix_instance_f64); + }); + + return JTEST_TEST_PASSED; +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_inverse_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_inverse_f32_test); + JTEST_TEST_CALL(arm_mat_inverse_f64_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_fast_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_fast_tests.c new file mode 100644 index 0000000..7cdf71b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_fast_tests.c @@ -0,0 +1,57 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_MULT_FAST_TEST(suffix) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ + mat_mult_fast, \ + suffix, \ + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, \ + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, \ + MATRIX_SNR_COMPARE_INTERFACE) + +JTEST_ARM_MAT_MULT_FAST_TEST(q31); + +/*--------------------------------------------------------------------------------*/ +/* Q15 Uses a Different interface than the others. */ +/*--------------------------------------------------------------------------------*/ + +#define ARM_mat_mult_fast_q15_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, \ + (void *) &matrix_output_fut, \ + (q15_t *) matrix_output_scratch) + +JTEST_DEFINE_TEST(arm_mat_mult_fast_q15_test, arm_mat_mult_fast_q15) +{ + MATRIX_TEST_TEMPLATE_ELT2( + matrix_q15_a_inputs, + matrix_q15_b_inputs, + arm_matrix_instance_q15 * , + arm_matrix_instance_q15, + TYPE_FROM_ABBREV(q15), + arm_mat_mult_fast_q15, + ARM_mat_mult_fast_q15_INPUT_INTERFACE, + ref_mat_mult_fast_q15, + REF_mat_mult_fast_INPUT_INTERFACE, + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, + MATRIX_SNR_COMPARE_INTERFACE); +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_mult_fast_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_mult_fast_q31_test); + JTEST_TEST_CALL(arm_mat_mult_fast_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_tests.c new file mode 100644 index 0000000..f3230e0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_mult_tests.c @@ -0,0 +1,59 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_MULT_TEST(suffix) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ + mat_mult, \ + suffix, \ + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, \ + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, \ + MATRIX_COMPARE_INTERFACE) + +JTEST_ARM_MAT_MULT_TEST(f32); +JTEST_ARM_MAT_MULT_TEST(q31); + +/*--------------------------------------------------------------------------------*/ +/* Q15 Uses a Different interface than the others. */ +/*--------------------------------------------------------------------------------*/ + +#define ARM_mat_mult_q15_INPUT_INTERFACE(input_a_ptr, input_b_ptr) \ + PAREN(input_a_ptr, input_b_ptr, \ + (void *) &matrix_output_fut, \ + (q15_t *) matrix_output_scratch) + +JTEST_DEFINE_TEST(arm_mat_mult_q15_test, arm_mat_mult_q15) +{ + MATRIX_TEST_TEMPLATE_ELT2( + matrix_q15_a_inputs, + matrix_q15_b_inputs, + arm_matrix_instance_q15 * , + arm_matrix_instance_q15, + TYPE_FROM_ABBREV(q15), + arm_mat_mult_q15, + ARM_mat_mult_q15_INPUT_INTERFACE, + ref_mat_mult_q15, + REF_mat_mult_INPUT_INTERFACE, + MATRIX_TEST_CONFIG_MULTIPLICATIVE_OUTPUT, + MATRIX_TEST_VALID_MULTIPLICATIVE_DIMENSIONS, + MATRIX_COMPARE_INTERFACE); +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_mult_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_mult_f32_test); + JTEST_TEST_CALL(arm_mat_mult_q31_test); + JTEST_TEST_CALL(arm_mat_mult_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_scale_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_scale_tests.c new file mode 100644 index 0000000..cf0a1dd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_scale_tests.c @@ -0,0 +1,90 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +/* This is for the two fixed point cases */ +#define JTEST_ARM_MAT_SCALE_TEST(suffix,type) \ + JTEST_DEFINE_TEST(arm_mat_scale_##suffix##_test, arm_mat_scale_##suffix) \ + { \ + uint32_t i,j; \ + \ + TEMPLATE_DO_ARR_DESC( \ + mat_idx, arm_matrix_instance_##suffix *, \ + mat_ptr, matrix_##suffix##_b_inputs \ + , \ + MATRIX_TEST_CONFIG_SAMESIZE_OUTPUT( \ + arm_matrix_instance_##suffix *, mat_ptr); \ + \ + for(i=0;inumRows, \ + (int)mat_ptr->numCols); \ + \ + JTEST_COUNT_CYCLES( \ + arm_mat_scale_##suffix(mat_ptr, \ + matrix_##suffix##_scale_values[i], \ + matrix_shift_values[j], \ + (arm_matrix_instance_##suffix*) &matrix_output_fut)); \ + \ + ref_mat_scale_##suffix(mat_ptr, \ + matrix_##suffix##_scale_values[i], \ + matrix_shift_values[j], \ + (arm_matrix_instance_##suffix*) &matrix_output_ref); \ + \ + MATRIX_SNR_COMPARE_INTERFACE(arm_matrix_instance_##suffix, \ + type); \ + } \ + }); \ + \ + return JTEST_TEST_PASSED; \ + } + +JTEST_DEFINE_TEST(arm_mat_scale_f32_test, arm_mat_scale_f32) +{ + uint32_t i; + + TEMPLATE_DO_ARR_DESC( + mat_idx, arm_matrix_instance_f32 *, mat_ptr, matrix_f32_b_inputs + , + MATRIX_TEST_CONFIG_SAMESIZE_OUTPUT(arm_matrix_instance_f32 *, mat_ptr); + + for(i=0;inumRows, + (int)mat_ptr->numCols); + JTEST_COUNT_CYCLES(arm_mat_scale_f32(mat_ptr, matrix_f32_scale_values[i], &matrix_output_fut)); + + ref_mat_scale_f32(mat_ptr, matrix_f32_scale_values[i], &matrix_output_ref); + + MATRIX_SNR_COMPARE_INTERFACE(arm_matrix_instance_f32, + float32_t); + }); + + return JTEST_TEST_PASSED; +} + +JTEST_ARM_MAT_SCALE_TEST(q31,q31_t); +JTEST_ARM_MAT_SCALE_TEST(q15,q15_t); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_scale_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_scale_f32_test); + JTEST_TEST_CALL(arm_mat_scale_q31_test); + JTEST_TEST_CALL(arm_mat_scale_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_sub_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_sub_tests.c new file mode 100644 index 0000000..137e9cd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_sub_tests.c @@ -0,0 +1,34 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_SUB_TEST(suffix) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT2( \ + mat_sub, \ + suffix, \ + MATRIX_TEST_CONFIG_ADDITIVE_OUTPUT, \ + MATRIX_TEST_VALID_ADDITIVE_DIMENSIONS, \ + MATRIX_COMPARE_INTERFACE) + +JTEST_ARM_MAT_SUB_TEST(f32); +JTEST_ARM_MAT_SUB_TEST(q31); +JTEST_ARM_MAT_SUB_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_sub_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_sub_f32_test); + JTEST_TEST_CALL(arm_mat_sub_q31_test); + JTEST_TEST_CALL(arm_mat_sub_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_trans_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_trans_tests.c new file mode 100644 index 0000000..8f238f8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/mat_trans_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "matrix_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "matrix_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAT_TRANS_TEST(suffix) \ + MATRIX_DEFINE_TEST_TEMPLATE_ELT1( \ + mat_trans, \ + suffix, \ + MATRIX_TEST_CONFIG_TRANSPOSE_OUTPUT, \ + MATRIX_TEST_VALID_DIMENSIONS_ALWAYS) + +JTEST_ARM_MAT_TRANS_TEST(f32); +JTEST_ARM_MAT_TRANS_TEST(q31); +JTEST_ARM_MAT_TRANS_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mat_trans_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mat_trans_f32_test); + JTEST_TEST_CALL(arm_mat_trans_q31_test); + JTEST_TEST_CALL(arm_mat_trans_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_common_data.c new file mode 100644 index 0000000..9043a23 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_common_data.c @@ -0,0 +1,259 @@ +#include "arm_math.h" +#include "matrix_test_data.h" +#include "type_abbrev.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_fut_data[2*MATRIX_TEST_MAX_ELTS] = {0}; +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_ref_data[2*MATRIX_TEST_MAX_ELTS] = {0}; +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_scratch[MATRIX_TEST_MAX_ELTS] = {0}; + +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_f32_fut[MATRIX_TEST_MAX_ELTS]; +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_output_f32_ref[MATRIX_TEST_MAX_ELTS]; + +arm_matrix_instance_f32 matrix_output_fut = { + 0, + 0, + (float32_t *) &matrix_output_fut_data +}; + +arm_matrix_instance_f32 matrix_output_ref = { + 0, + 0, + (float32_t *) &matrix_output_ref_data +}; + +arm_matrix_instance_f64 matrix_output_fut64 = { + 0, + 0, + (float64_t *) &matrix_output_fut_data +}; + +arm_matrix_instance_f64 matrix_output_ref64 = { + 0, + 0, + (float64_t *) &matrix_output_ref_data +}; + +/*--------------------------------------------------------------------------------*/ +/* Data Buckets */ +/*--------------------------------------------------------------------------------*/ + +/** + * Pool of random data to base matrix inputs from. + */ +float32_t matrix_f32_100_rand[100] = { +/* -45.0345569674258, first number negativ causes fault in 1x1 multiplay with 0. + AC6 DSP_Lib calculatas a -0.0 which is not a 0.0 in memcmp! + */ + 45.0345569674258, -11.0261163038747, -14.6841428777929, + 0.0345569674258, -11.0261163038747, -14.6841428777929, + -20.3679194392227, 27.5712678608402, -12.1390617339732, + -19.8753669720509, 42.3379642103244, -23.7788252219155, + -23.7517765301667, 40.2716109915281, -25.8308714086167, + 32.1194040197959, 24.4692807074156, -1.32083675968276, + 31.1580458282477, -2.90766514824093, -6.97926086704160, + 10.2843089382083, 30.1014622769739, 44.4787189721646, + -9.60878544118853, -48.4596562348445, -31.1044984967456, + -6.41414114190809, 3.28255887994549, -26.9511839788442, + -31.5183679875864, 21.1215780433683, -47.0779722437854, + -0.913590753192006, -40.3545474831611, -45.6976198342192, + 18.6775433365315, -5.32162505701938, -14.9272896423117, + 34.4308792695389, 40.4880968679893, -27.8253265982760, + 42.8854139478045, -1.07473615999811, -36.8026707393665, + -33.1009970537296, -31.6488844262730, -19.3650527983443, + 43.9001561999887, -30.5235710432951, 47.9748378356085, + -38.2582349144194, 23.0330862855453, -16.2280590178623, + 44.2050590775485, 14.9115474956452, -13.1515403509664, + 0.850865538112700, 37.5942811492984, -27.4078219027601, + -6.11300268738968, -20.3324126781673, -1.13910261964209, + 40.0053846417662, 45.6134540229802, 23.1722385658670, + 12.5618560729690, 1.07715641721097, 5.01563428984222, + -32.9291952852141, -38.8880776559401, -18.1221698074118, + 7.85250610234389, -13.0753218879785, 7.52085950784656, + 14.7745963136307, 28.0227435151377, 31.7627708322262, + 12.2475086001227, -27.2335702183447, -24.1935304087933, + -7.58332402861928, -26.2716420228479, -38.8797244706213, + -44.0220457052844, -4.90762935690551, -41.8874231134215, + 29.4831416883453, 8.70447045314168, -6.43013158961009, + -9.12801538874479, 0.785828466111815, -4.11511718200689, + 28.0252068321138, -26.5220086627594, 4.70088922863450, + 42.9385970968730, 14.4318130193692, -29.2257707266972, + 46.3088539286913 +}; + +float64_t matrix_f64_100_rand[100] = { +// -45.0345569674258, -11.0261163038747, -14.6841428777929, + 45.0345569674258, -11.0261163038747, -14.6841428777929, + 0.0345569674258, -11.0261163038747, -14.6841428777929, + -20.3679194392227, 27.5712678608402, -12.1390617339732, + -19.8753669720509, 42.3379642103244, -23.7788252219155, + -23.7517765301667, 40.2716109915281, -25.8308714086167, + 32.1194040197959, 24.4692807074156, -1.32083675968276, + 31.1580458282477, -2.90766514824093, -6.97926086704160, + 10.2843089382083, 30.1014622769739, 44.4787189721646, + -9.60878544118853, -48.4596562348445, -31.1044984967456, + -6.41414114190809, 3.28255887994549, -26.9511839788442, + -31.5183679875864, 21.1215780433683, -47.0779722437854, + -0.913590753192006, -40.3545474831611, -45.6976198342192, + 18.6775433365315, -5.32162505701938, -14.9272896423117, + 34.4308792695389, 40.4880968679893, -27.8253265982760, + 42.8854139478045, -1.07473615999811, -36.8026707393665, + -33.1009970537296, -31.6488844262730, -19.3650527983443, + 43.9001561999887, -30.5235710432951, 47.9748378356085, + -38.2582349144194, 23.0330862855453, -16.2280590178623, + 44.2050590775485, 14.9115474956452, -13.1515403509664, + 0.850865538112700, 37.5942811492984, -27.4078219027601, + -6.11300268738968, -20.3324126781673, -1.13910261964209, + 40.0053846417662, 45.6134540229802, 23.1722385658670, + 12.5618560729690, 1.07715641721097, 5.01563428984222, + -32.9291952852141, -38.8880776559401, -18.1221698074118, + 7.85250610234389, -13.0753218879785, 7.52085950784656, + 14.7745963136307, 28.0227435151377, 31.7627708322262, + 12.2475086001227, -27.2335702183447, -24.1935304087933, + -7.58332402861928, -26.2716420228479, -38.8797244706213, + -44.0220457052844, -4.90762935690551, -41.8874231134215, + 29.4831416883453, 8.70447045314168, -6.43013158961009, + -9.12801538874479, 0.785828466111815, -4.11511718200689, + 28.0252068321138, -26.5220086627594, 4.70088922863450, + 42.9385970968730, 14.4318130193692, -29.2257707266972, + 46.3088539286913 +}; + +MATRIX_TEST_BIGGEST_INPUT_TYPE matrix_zeros[MATRIX_TEST_MAX_ELTS] = {0}; + +const float32_t matrix_f32_scale_values[MATRIX_MAX_COEFFS_LEN] = +{ + 43.0264275639 , -17.0525215570 , -94.8488973910 , -8.1924989580 , + 7.2830326091 , 66.8368719314 , 33.9778190671 , 117.8652289772 , + -129.6077797465, -14.6420815368 , 18.0239223278 , 1.0000000000 , + 55.0375037651 , 1.8674609862 , 0.00000000000 , -33.5750364909 +}; + +const q31_t matrix_q31_scale_values[MATRIX_MAX_COEFFS_LEN] = +{ + 0x0201DC90, 0x211F0D7C, 0x80000000, 0xF573B824, + 0xE85ED05B, 0x311DFB52, 0x3529E750, 0x00000000, + 0x7FFFFFFF, 0x21FA525A, 0x0971FD45, 0x05547B68, + 0x270C6366, 0x06FDD5A6, 0xF7025315, 0xB1155A1E +}; + +const q15_t matrix_q15_scale_values[MATRIX_MAX_COEFFS_LEN] = +{ + 0x0201, 0x211F, 0x8000, 0xF573, + 0xE85E, 0x311D, 0x3529, 0x0000, + 0x7FFF, 0x21FA, 0x0971, 0x0554, + 0x270C, 0x06FD, 0xF702, 0xB115 +}; + +const int32_t matrix_shift_values[MATRIX_MAX_SHIFTS_LEN] = +{ + -16, -7, 0, 7, 16 +}; + +/*--------------------------------------------------------------------------------*/ +/* Matrix Definitions */ +/*--------------------------------------------------------------------------------*/ + +/** + * Define matrices by suffix (f32, q31, q15) for use in test cases. + * + * The rand1 and rand2 suffixes get their data from the same pool of random + * data, but their starting points differ by 1 element. + * + * Makes available: + * - matrix_`suffix`_1x1_rand1/2 + * - matrix_`suffix`_1x4_rand1/2 + * - matrix_`suffix`_2x4_rand1/2 + * - matrix_`suffix`_4x4_rand1/2 + */ +#define MATRIX_DEFINE_MATRICES(suffix) \ + arm_matrix_instance_##suffix matrix_##suffix##_1x1_rand1 = \ + {1, 1, (TYPE_FROM_ABBREV(suffix) *) matrix_f32_100_rand }; \ + arm_matrix_instance_##suffix matrix_##suffix##_1x1_rand2 = \ + {1, 1, (TYPE_FROM_ABBREV(suffix) *) (matrix_f32_100_rand+1)}; \ + arm_matrix_instance_##suffix matrix_##suffix##_1x1_zeros = \ + {1, 1, (TYPE_FROM_ABBREV(suffix) *) matrix_zeros}; \ + \ + arm_matrix_instance_##suffix matrix_##suffix##_1x4_rand1 = \ + {1, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_f32_100_rand }; \ + arm_matrix_instance_##suffix matrix_##suffix##_1x4_rand2 = \ + {1, 4, (TYPE_FROM_ABBREV(suffix) *) (matrix_f32_100_rand+1)}; \ + arm_matrix_instance_##suffix matrix_##suffix##_1x4_zeros = \ + {1, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_zeros}; \ + \ + arm_matrix_instance_##suffix matrix_##suffix##_2x4_rand1 = \ + {2, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_f32_100_rand }; \ + arm_matrix_instance_##suffix matrix_##suffix##_2x4_rand2 = \ + {2, 4, (TYPE_FROM_ABBREV(suffix) *) (matrix_f32_100_rand+1)}; \ + arm_matrix_instance_##suffix matrix_##suffix##_2x4_zeros = \ + {2, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_zeros}; \ + \ + arm_matrix_instance_##suffix matrix_##suffix##_4x4_rand1 = \ + {4, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_f32_100_rand }; \ + arm_matrix_instance_##suffix matrix_##suffix##_4x4_rand2 = \ + {4, 4, (TYPE_FROM_ABBREV(suffix) *) (matrix_f32_100_rand+1)}; \ + arm_matrix_instance_##suffix matrix_##suffix##_4x4_zeros = \ + {4, 4, (TYPE_FROM_ABBREV(suffix) *) matrix_zeros} + +MATRIX_DEFINE_MATRICES(f64); +MATRIX_DEFINE_MATRICES(f32); +MATRIX_DEFINE_MATRICES(q31); +MATRIX_DEFINE_MATRICES(q15); + +/*--------------------------------------------------------------------------------*/ +/* Matrix-Input Arrays */ +/*--------------------------------------------------------------------------------*/ + +/* Define Input #ARR_DESC_t by suffix. + * + * Taking inputs in parallel from the 'a' and 'b' arrays yields the following + * test cases: + * - 1x1 multiplication by zero + * - 1x1 multiplication between random numbers + * - 1x1 * 1x4 valid dimension interaction + * - 1x1 * 2x4 invalid dimension interaction + * - 2x4 * 4x4 larger valid dimension interaction + * - 4x4 * 4x4 larger valid dimension interaction + */ +#define MATRIX_DEFINE_INPUTS(suffix) \ + ARR_DESC_DEFINE(arm_matrix_instance_##suffix *, \ + matrix_##suffix##_a_inputs, \ + 6, \ + CURLY( \ + &matrix_##suffix##_1x1_rand1, \ + &matrix_##suffix##_1x1_rand1, \ + &matrix_##suffix##_1x1_rand1, \ + &matrix_##suffix##_1x1_rand1, \ + &matrix_##suffix##_2x4_rand1, \ + &matrix_##suffix##_4x4_rand1 \ + )); \ + \ + ARR_DESC_DEFINE(arm_matrix_instance_##suffix *, \ + matrix_##suffix##_b_inputs, \ + 6, \ + CURLY( \ + &matrix_##suffix##_1x1_zeros, \ + &matrix_##suffix##_1x1_rand2, \ + &matrix_##suffix##_1x4_rand2, \ + &matrix_##suffix##_2x4_rand2, \ + &matrix_##suffix##_4x4_rand2, \ + &matrix_##suffix##_4x4_rand2 \ + )); \ + \ + ARR_DESC_DEFINE(arm_matrix_instance_##suffix *, \ + matrix_##suffix##_invertible_inputs, \ + 4, \ + CURLY( \ + &matrix_##suffix##_1x1_rand1, \ + &matrix_##suffix##_1x1_rand2, \ + &matrix_##suffix##_4x4_rand1, \ + &matrix_##suffix##_4x4_rand2 \ + )) \ + +MATRIX_DEFINE_INPUTS(f64); +MATRIX_DEFINE_INPUTS(f32); +MATRIX_DEFINE_INPUTS(q31); +MATRIX_DEFINE_INPUTS(q15); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_group.c new file mode 100644 index 0000000..d36d820 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/matrix_tests/matrix_test_group.c @@ -0,0 +1,19 @@ +#include "jtest.h" +#include "matrix_tests.h" + +JTEST_DEFINE_GROUP(matrix_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_GROUP_CALL(mat_add_tests); + JTEST_GROUP_CALL(mat_cmplx_mult_tests); + JTEST_GROUP_CALL(mat_init_tests); + JTEST_GROUP_CALL(mat_inverse_tests); + JTEST_GROUP_CALL(mat_mult_tests); + JTEST_GROUP_CALL(mat_mult_fast_tests); + JTEST_GROUP_CALL(mat_sub_tests); + JTEST_GROUP_CALL(mat_trans_tests); + JTEST_GROUP_CALL(mat_scale_tests); + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/max_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/max_tests.c new file mode 100644 index 0000000..7e4f6f3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/max_tests.c @@ -0,0 +1,36 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MAX_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + max, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_COMPARE_INTERFACE) + +JTEST_ARM_MAX_TEST(f32); +JTEST_ARM_MAX_TEST(q31); +JTEST_ARM_MAX_TEST(q15); +JTEST_ARM_MAX_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(max_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_max_f32_test); + JTEST_TEST_CALL(arm_max_q31_test); + JTEST_TEST_CALL(arm_max_q15_test); + JTEST_TEST_CALL(arm_max_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/mean_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/mean_tests.c new file mode 100644 index 0000000..ded6d28 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/mean_tests.c @@ -0,0 +1,36 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MEAN_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + mean, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_COMPARE_INTERFACE) + +JTEST_ARM_MEAN_TEST(f32); +JTEST_ARM_MEAN_TEST(q31); +JTEST_ARM_MEAN_TEST(q15); +JTEST_ARM_MEAN_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(mean_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_mean_f32_test); + JTEST_TEST_CALL(arm_mean_q31_test); + JTEST_TEST_CALL(arm_mean_q15_test); + JTEST_TEST_CALL(arm_mean_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/min_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/min_tests.c new file mode 100644 index 0000000..2eed629 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/min_tests.c @@ -0,0 +1,36 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_MIN_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + min, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_COMPARE_INTERFACE) + +JTEST_ARM_MIN_TEST(f32); +JTEST_ARM_MIN_TEST(q31); +JTEST_ARM_MIN_TEST(q15); +JTEST_ARM_MIN_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(min_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_min_f32_test); + JTEST_TEST_CALL(arm_min_q31_test); + JTEST_TEST_CALL(arm_min_q15_test); + JTEST_TEST_CALL(arm_min_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/power_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/power_tests.c new file mode 100644 index 0000000..fae2351 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/power_tests.c @@ -0,0 +1,36 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_POWER_TEST(suffix, output_type) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + power, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_SNR_COMPARE_INTERFACE) + +JTEST_ARM_POWER_TEST(f32, float32_t); +JTEST_ARM_POWER_TEST(q31, q63_t); +JTEST_ARM_POWER_TEST(q15, q63_t); +JTEST_ARM_POWER_TEST(q7, q31_t); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(power_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_power_f32_test); + JTEST_TEST_CALL(arm_power_q31_test); + JTEST_TEST_CALL(arm_power_q15_test); + JTEST_TEST_CALL(arm_power_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/rms_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/rms_tests.c new file mode 100644 index 0000000..46d8e52 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/rms_tests.c @@ -0,0 +1,34 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_RMS_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + rms, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_SNR_COMPARE_INTERFACE) + +JTEST_ARM_RMS_TEST(f32); +JTEST_ARM_RMS_TEST(q31); +JTEST_ARM_RMS_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(rms_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_rms_f32_test); + JTEST_TEST_CALL(arm_rms_q31_test); + JTEST_TEST_CALL(arm_rms_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_common_data.c new file mode 100644 index 0000000..18eac07 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_common_data.c @@ -0,0 +1,94 @@ +#include "statistics_test_data.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + + +ARR_DESC_DEFINE(STATISTICS_BIGGEST_INPUT_TYPE, + statistics_output_fut, + STATISTICS_MAX_INPUT_ELEMENTS, + CURLY(0)); + +ARR_DESC_DEFINE(STATISTICS_BIGGEST_INPUT_TYPE, + statistics_output_ref, + STATISTICS_MAX_INPUT_ELEMENTS, + CURLY(0)); + +uint32_t statistics_idx_fut = 0; +uint32_t statistics_idx_ref = 0; + +STATISTICS_BIGGEST_INPUT_TYPE +statistics_output_f32_ref[STATISTICS_MAX_INPUT_ELEMENTS]; + +STATISTICS_BIGGEST_INPUT_TYPE +statistics_output_f32_fut[STATISTICS_MAX_INPUT_ELEMENTS]; + +/*--------------------------------------------------------------------------------*/ +/* Block Sizes */ +/*--------------------------------------------------------------------------------*/ + +/* + To change test parameter values add/remove values inside CURLY and update + the preceeding parameter to reflect the number of values inside CURLY. +*/ + +ARR_DESC_DEFINE(uint32_t, + statistics_block_sizes, + 4, + CURLY(1, 2, 15, 32)); + +/*--------------------------------------------------------------------------------*/ +/* Test Data */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(float32_t, + statistics_f_32, + 32, + CURLY( + -0.0865129623056441 , -0.3331168756476194, + 0.0250664612949661 , 0.0575352840717098, + -0.2292942701362928 , 0.2381830931285998, + 0.2378328403304206 , -0.0075266553186635, + 0.0654584722817308 , 0.0349278285641849, + -0.0373417155362879 , 0.1451581096586606, + -0.1176633086028378 , 0.4366371636394202, + -0.0272791766173191 , 0.0227862627041619, + 0.2133536422718378 , 0.0118562921047211, + -0.0191296810967338 , -0.1664698927300045, + 0.0588821632785281 , -0.2672363715875608, + 0.1428649103637904 , 0.3247124128892542, + -0.1383551403404573 , 0.1715993345656525, + 0.2508002843205065 , -0.3187459152894954, + -0.2881928863802040 , 0.1142295247316356, + -0.0799771155430726 , 0.1379994750928690 + )); + + +ARR_DESC_DEFINE_SUBSET(statistics_f_31, + statistics_f_32, + 31); + +ARR_DESC_DEFINE_SUBSET(statistics_f_15, + statistics_f_32, + 15); + +ARR_DESC_DEFINE_SUBSET(statistics_f_2, + statistics_f_32, + 2); + +ARR_DESC_DEFINE(float32_t, + statistics_zeros, + 32, + CURLY(0)); + +/* Aggregate all float datasets */ +ARR_DESC_DEFINE(ARR_DESC_t *, + statistics_f_all, + 4, + CURLY( + &statistics_zeros, + &statistics_f_2, + &statistics_f_15, + &statistics_f_32 + )); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_group.c new file mode 100644 index 0000000..41dcf9a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/statistics_test_group.c @@ -0,0 +1,14 @@ +#include "jtest.h" +#include "statistics_tests.h" + +JTEST_DEFINE_GROUP(statistics_tests) +{ + JTEST_GROUP_CALL(max_tests); + JTEST_GROUP_CALL(mean_tests); + JTEST_GROUP_CALL(min_tests); + JTEST_GROUP_CALL(power_tests); + JTEST_GROUP_CALL(rms_tests); + JTEST_GROUP_CALL(std_tests); + JTEST_GROUP_CALL(var_tests); + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/std_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/std_tests.c new file mode 100644 index 0000000..2d30a34 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/std_tests.c @@ -0,0 +1,34 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_STD_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + std, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_SNR_COMPARE_INTERFACE) + +JTEST_ARM_STD_TEST(f32); +JTEST_ARM_STD_TEST(q31); +JTEST_ARM_STD_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(std_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_std_f32_test); + JTEST_TEST_CALL(arm_std_q31_test); + JTEST_TEST_CALL(arm_std_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/var_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/var_tests.c new file mode 100644 index 0000000..41f8cd2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/statistics_tests/var_tests.c @@ -0,0 +1,34 @@ +#include "jtest.h" +#include "statistics_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "statistics_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_VAR_TEST(suffix) \ + STATISTICS_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + var, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + STATISTICS_SNR_COMPARE_INTERFACE) + +JTEST_ARM_VAR_TEST(f32); +JTEST_ARM_VAR_TEST(q31); +JTEST_ARM_VAR_TEST(q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(var_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_var_f32_test); + JTEST_TEST_CALL(arm_var_q31_test); + JTEST_TEST_CALL(arm_var_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/copy_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/copy_tests.c new file mode 100644 index 0000000..63d58ff --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/copy_tests.c @@ -0,0 +1,33 @@ +#include "jtest.h" +#include "support_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "support_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_COPY_TEST(suffix) \ + SUPPORT_DEFINE_TEST_TEMPLATE_BUF1_BLK( \ + copy, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + SUPPORT_COMPARE_INTERFACE) + +JTEST_ARM_COPY_TEST(f32); +JTEST_ARM_COPY_TEST(q31); +JTEST_ARM_COPY_TEST(q15); +JTEST_ARM_COPY_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(copy_tests) +{ + JTEST_TEST_CALL(arm_copy_f32_test); + JTEST_TEST_CALL(arm_copy_q31_test); + JTEST_TEST_CALL(arm_copy_q15_test); + JTEST_TEST_CALL(arm_copy_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/fill_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/fill_tests.c new file mode 100644 index 0000000..0831b75 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/fill_tests.c @@ -0,0 +1,36 @@ +#include "jtest.h" +#include "support_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "support_templates.h" +#include "type_abbrev.h" + +#define JTEST_ARM_FILL_TEST(suffix) \ + SUPPORT_DEFINE_TEST_TEMPLATE_ELT1_BLK( \ + fill, \ + suffix, \ + TYPE_FROM_ABBREV(suffix), \ + TYPE_FROM_ABBREV(suffix), \ + SUPPORT_COMPARE_INTERFACE) + +JTEST_ARM_FILL_TEST(f32); +JTEST_ARM_FILL_TEST(q31); +JTEST_ARM_FILL_TEST(q15); +JTEST_ARM_FILL_TEST(q7); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(fill_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_fill_f32_test); + JTEST_TEST_CALL(arm_fill_q31_test); + JTEST_TEST_CALL(arm_fill_q15_test); + JTEST_TEST_CALL(arm_fill_q7_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_common_data.c new file mode 100644 index 0000000..da21ba9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_common_data.c @@ -0,0 +1,85 @@ +#include "arm_math.h" +#include "support_test_data.h" + +#define MAX_INPUT_ELEMENTS 32 +#define BIGGEST_INPUT_TYPE float32_t + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(BIGGEST_INPUT_TYPE, + support_output_fut, + MAX_INPUT_ELEMENTS, + CURLY(0)); + +ARR_DESC_DEFINE(BIGGEST_INPUT_TYPE, + support_output_ref, + MAX_INPUT_ELEMENTS, + CURLY(0)); + +/*--------------------------------------------------------------------------------*/ +/* Block Sizes */ +/*--------------------------------------------------------------------------------*/ + +/* + To change test parameter values add/remove values inside CURLY and update + the preceeding parameter to reflect the number of values inside CURLY. +*/ + +ARR_DESC_DEFINE(uint32_t, + support_block_sizes, + 4, + CURLY( 2, 7, 15, 32)); + +/*--------------------------------------------------------------------------------*/ +/* Numbers */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(uint32_t, + support_elts, + 4, + CURLY( 0, 1, 0x80000000, 0x7fffffff)); + +/*--------------------------------------------------------------------------------*/ +/* Test Data */ +/*--------------------------------------------------------------------------------*/ + +ARR_DESC_DEFINE(float32_t, + support_f_32, + 32, + CURLY( + 0.24865986 , -0.13364227, -0.27233250 , -7.33488200, + 0.42190653 , 1.17435880 , -0.49824914 , 0.87883663, + 0.63066370 , 1.80275680 , -84.83916000, -2.06773800, + 7.63452500 , 1.01487610 , -0.65785825 , 1.78019030, + -0.34160388, 0.68546050 , -1.81721590 , -0.10340453, + -4.48600340, -1.69763480, -1.26022340 , -1.58457480, + 0.51993870 , 2.83526470 , -0.21502694 , -0.57690346, + -0.22945681, 0.79509383 , 0.07275216 , -2.16279080 + )); + +/* Alias the 32 element array with wrappers that end sooner. */ +ARR_DESC_DEFINE_SUBSET(support_f_15, + support_f_32, + 15); + +ARR_DESC_DEFINE_SUBSET(support_f_2, + support_f_32, + 2); + +ARR_DESC_DEFINE(float32_t, + support_zeros, + 32, + CURLY(0)); + +/* Aggregate all float datasets. */ +ARR_DESC_DEFINE(ARR_DESC_t *, + support_f_all, + 4, + CURLY( + &support_zeros, + &support_f_2, + &support_f_15, + &support_f_32 + )); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_group.c new file mode 100644 index 0000000..714f75c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/support_test_group.c @@ -0,0 +1,10 @@ +#include "jtest.h" +#include "support_tests.h" + +JTEST_DEFINE_GROUP(support_tests) +{ + JTEST_GROUP_CALL(copy_tests); + JTEST_GROUP_CALL(fill_tests); + JTEST_GROUP_CALL(x_to_y_tests); + return; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/x_to_y_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/x_to_y_tests.c new file mode 100644 index 0000000..1d4107b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/support_tests/x_to_y_tests.c @@ -0,0 +1,80 @@ +#include "jtest.h" +#include "support_test_data.h" +#include "arr_desc.h" +#include "arm_math.h" /* FUTs */ +#include "ref.h" /* Reference Functions */ +#include "test_templates.h" +#include "support_templates.h" +#include "type_abbrev.h" + +/* Aliases to play nicely with templates. */ +#define arm_f32_to_q31 arm_float_to_q31 +#define arm_f32_to_q15 arm_float_to_q15 +#define arm_f32_to_q7 arm_float_to_q7 +#define arm_q31_to_f32 arm_q31_to_float +#define arm_q15_to_f32 arm_q15_to_float +#define arm_q7_to_f32 arm_q7_to_float +#define ref_f32_to_q31 ref_float_to_q31 +#define ref_f32_to_q15 ref_float_to_q15 +#define ref_f32_to_q7 ref_float_to_q7 +#define ref_q31_to_f32 ref_q31_to_float +#define ref_q15_to_f32 ref_q15_to_float +#define ref_q7_to_f32 ref_q7_to_float + +#define JTEST_ARM_X_TO_Y_TEST(prefix, suffix) \ + JTEST_DEFINE_TEST(arm_##prefix##_to_##suffix##_test, \ + arm_##prefix##_to_##suffix) \ + { \ + TEST_TEMPLATE_BUF1_BLK( \ + support_f_all, \ + support_block_sizes, \ + TYPE_FROM_ABBREV(prefix), \ + TYPE_FROM_ABBREV(suffix), \ + arm_##prefix##_to_##suffix, \ + ARM_x_to_y_INPUT_INTERFACE, \ + ref_##prefix##_to_##suffix, \ + REF_x_to_y_INPUT_INTERFACE, \ + SUPPORT_COMPARE_INTERFACE); \ + } + +JTEST_ARM_X_TO_Y_TEST(f32, q31); +JTEST_ARM_X_TO_Y_TEST(f32, q15); +JTEST_ARM_X_TO_Y_TEST(f32, q7); + +JTEST_ARM_X_TO_Y_TEST(q31, f32); +JTEST_ARM_X_TO_Y_TEST(q31, q15); +JTEST_ARM_X_TO_Y_TEST(q31, q7); + +JTEST_ARM_X_TO_Y_TEST(q15, f32); +JTEST_ARM_X_TO_Y_TEST(q15, q31); +JTEST_ARM_X_TO_Y_TEST(q15, q7); + +JTEST_ARM_X_TO_Y_TEST(q7, f32); +JTEST_ARM_X_TO_Y_TEST(q7, q31); +JTEST_ARM_X_TO_Y_TEST(q7, q15); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group. */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(x_to_y_tests) +{ + /* + To skip a test, comment it out. + */ + JTEST_TEST_CALL(arm_f32_to_q31_test); + JTEST_TEST_CALL(arm_f32_to_q15_test); + JTEST_TEST_CALL(arm_f32_to_q7_test); + + JTEST_TEST_CALL(arm_q31_to_f32_test); + JTEST_TEST_CALL(arm_q31_to_q15_test); + JTEST_TEST_CALL(arm_q31_to_q7_test); + + JTEST_TEST_CALL(arm_q15_to_f32_test); + JTEST_TEST_CALL(arm_q15_to_q31_test); + JTEST_TEST_CALL(arm_q15_to_q7_test); + + JTEST_TEST_CALL(arm_q7_to_f32_test); + JTEST_TEST_CALL(arm_q7_to_q31_test); + JTEST_TEST_CALL(arm_q7_to_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_family_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_family_tests.c new file mode 100644 index 0000000..9fb8834 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_family_tests.c @@ -0,0 +1,183 @@ +#include "jtest.h" +#include "ref.h" +#include "arr_desc.h" +#include "transform_templates.h" +#include "transform_test_data.h" +#include "type_abbrev.h" + +/*--------------------------------------------------------------------------------*/ +/* Macros and Defines */ +/*--------------------------------------------------------------------------------*/ + +#define CFFT_FN_NAME(fn_specifier, type_suffix) \ + arm_cfft_##fn_specifier##_##type_suffix \ + +#define CFFT_TEST_NAME(fn_specifier, type_suffix, config_suffix) \ + arm_cfft_##fn_specifier##_##type_suffix##_##config_suffix##_test \ + +/*--------------------------------------------------------------------------------*/ +/* Function Aliases */ +/*--------------------------------------------------------------------------------*/ + +/* These aliases allow expansions in the CFFT_FAMILY_DEFINE_TEST() template to + make sense */ +#define arm_cfft_mag_init_f32 arm_cfft_radix4_init_f32 +#define arm_cfft_mag_init_q31 arm_cfft_radix4_init_q31 +#define arm_cfft_mag_init_q15 arm_cfft_radix4_init_q15 +#define arm_cfft_mag_instance_f32 arm_cfft_radix4_instance_f32 +#define arm_cfft_mag_instance_q31 arm_cfft_radix4_instance_q31 +#define arm_cfft_mag_instance_q15 arm_cfft_radix4_instance_q15 +#define transform_mag_fftlens transform_radix4_fftlens + +/*--------------------------------------------------------------------------------*/ +/* Test Definition */ +/*--------------------------------------------------------------------------------*/ + +/** + * Defines a test for the family of CFFT transforms. + * + * The family of CFFT transforms includes: + * + * - arm_cfft_radix4_xxx + * - arm_cfft_radix2_xxx + * - arm_cfft_mag_xxx + * + * Where xxx can be f32, q31, or q15. + * + * @param fn_specifier Allowed values: radix4, radix2, mag. + * @param type_suffix Allowed values: f32, q31, q15. + * + * @param config_suffix Used to differentiate test names based configuration + * (in this case whether the ifft_flag is set or not.) + + * @param comparison_interface Macro name used to compare reference and fut + * outputs. + * + * @param output_tpe The type of variable contained in the output + * (e.g. float32_t, uint32_t, etc). + * + * @param ifft_flag Determines whether the arm_cfft_instance_xxx is configured + * for an inverse FFT. + */ +#define CFFT_FAMILY_DEFINE_TEST(fn_specifier, \ + type_suffix, \ + config_suffix, /* Delineate between test configs*/ \ + comparison_interface, \ + output_type, \ + ifft_flag) \ + JTEST_DEFINE_TEST(CFFT_TEST_NAME(fn_specifier, type_suffix, \ + config_suffix), \ + CFFT_FN_NAME(fn_specifier, type_suffix)) \ + { \ + arm_cfft_##fn_specifier##_instance_##type_suffix cfft_inst_fut; \ + arm_cfft_##fn_specifier##_instance_##type_suffix cfft_inst_ref; \ + \ + TEMPLATE_DO_ARR_DESC( \ + fftlen_idx, uint16_t, fftlen, transform_##fn_specifier##_fftlens \ + , \ + \ + /* Initialize the cfft instance */ \ + arm_cfft_##fn_specifier##_init_##type_suffix( \ + &cfft_inst_fut, fftlen, ifft_flag, (uint8_t)1); \ + arm_cfft_##fn_specifier##_init_##type_suffix( \ + &cfft_inst_ref, fftlen, ifft_flag, (uint8_t)1); \ + \ + TRANSFORM_PREPARE_INPLACE_INPUTS( \ + transform_fft_##type_suffix##_inputs, \ + fftlen * \ + sizeof(TYPE_FROM_ABBREV(type_suffix)) * \ + 2 /*complex_inputs*/); \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Inverse-transform flag: %d\n", \ + (int)fftlen, \ + (int)ifft_flag); \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES( \ + arm_cfft_##fn_specifier##_##type_suffix( \ + &cfft_inst_fut, \ + (void*) transform_fft_inplace_input_fut)); \ + \ + ref_cfft_##fn_specifier##_##type_suffix( \ + &cfft_inst_ref, \ + (void *) transform_fft_inplace_input_ref); \ + \ + /* Test correctness */ \ + comparison_interface( \ + fftlen, \ + output_type)); \ + \ + return JTEST_TEST_PASSED; \ + } + +/** + * Bulk wrapper for all tests instantiated using #CFFT_FAMILY_DEFINE_TEST(). + * + * This macro allows several test definitions to share the same config_suffix + * and ifft_flag settings. + */ +#define CFFT_FAMILY_DEFINE_ALL_TESTS(config_suffix, ifft_flag) \ + /* Radix2 tests*/ \ + CFFT_FAMILY_DEFINE_TEST(radix2, q31, config_suffix, \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE, \ + TYPE_FROM_ABBREV(q31), \ + ifft_flag); \ + CFFT_FAMILY_DEFINE_TEST(radix2, q15, config_suffix, \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE, \ + TYPE_FROM_ABBREV(q15), \ + ifft_flag); \ + /* Radix4 tests*/ \ + CFFT_FAMILY_DEFINE_TEST(radix4, q31, config_suffix, \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE, \ + TYPE_FROM_ABBREV(q31), \ + ifft_flag); \ + CFFT_FAMILY_DEFINE_TEST(radix4, q15, config_suffix, \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE, \ + TYPE_FROM_ABBREV(q15), \ + ifft_flag) + /* /\* Mag tests*\/ \ */ + /* CFFT_FAMILY_DEFINE_TEST(mag, f32, config_suffix, \ */ + /* TRANSFORM_SNR_COMPARE_INTERFACE, \ */ + /* TYPE_FROM_ABBREV(f32), \ */ + /* ifft_flag); \ */ + /* CFFT_FAMILY_DEFINE_TEST(mag, q31, config_suffix, \ */ + /* TRANSFORM_SNR_COMPARE_INTERFACE, \ */ + /* TYPE_FROM_ABBREV(q31), \ */ + /* ifft_flag); \ */ + /* CFFT_FAMILY_DEFINE_TEST(mag, q15, config_suffix, \ */ + /* TRANSFORM_SNR_COMPARE_INTERFACE, \ */ + /* TYPE_FROM_ABBREV(q15), \ */ + /* ifft_flag) */ + +CFFT_FAMILY_DEFINE_ALL_TESTS(forward, 0U); +CFFT_FAMILY_DEFINE_ALL_TESTS(inverse, 1U); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cfft_family_tests) +{ + /* Forward FFT tests */ + JTEST_TEST_CALL(arm_cfft_radix2_q31_forward_test); + JTEST_TEST_CALL(arm_cfft_radix2_q15_forward_test); + JTEST_TEST_CALL(arm_cfft_radix4_q31_forward_test); + JTEST_TEST_CALL(arm_cfft_radix4_q15_forward_test); + + /* Inverse FFT Tests */ + JTEST_TEST_CALL(arm_cfft_radix2_q31_inverse_test); + JTEST_TEST_CALL(arm_cfft_radix2_q15_inverse_test); + JTEST_TEST_CALL(arm_cfft_radix4_q31_inverse_test); + JTEST_TEST_CALL(arm_cfft_radix4_q15_inverse_test); + + /* Magnitude tests removed from the DSP Library. Keeping them here in case + minds are changed. */ + /* JTEST_TEST_CALL(arm_cfft_mag_f32_forward_test); */ + /* JTEST_TEST_CALL(arm_cfft_mag_q31_forward_test); */ + /* JTEST_TEST_CALL(arm_cfft_mag_q15_forward_test); */ + /* JTEST_TEST_CALL(arm_cfft_mag_f32_inverse_test); */ + /* JTEST_TEST_CALL(arm_cfft_mag_q31_inverse_test); */ + /* JTEST_TEST_CALL(arm_cfft_mag_q15_inverse_test); */ +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_tests.c new file mode 100644 index 0000000..2a4a98d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/cfft_tests.c @@ -0,0 +1,144 @@ +#include "jtest.h" +#include "ref.h" +#include "arr_desc.h" +#include "transform_templates.h" +#include "transform_test_data.h" + +#define CFFT_SNR_THRESHOLD 120 + +/* + CFFT function test template. Arguments are: inverse-transform flag, function + suffix (q7/q15/q31/f32) and the output type (q7_t, q15_t, q31_t, float32_t) +*/ +#define CFFT_TEST_BODY(ifft_flag, suffix, output_type) \ + do \ + { \ + /* Go through all arm_cfft_instances */ \ + TEMPLATE_DO_ARR_DESC( \ + cfft_inst_idx, const arm_cfft_instance_##suffix *, cfft_inst_ptr, \ + transform_cfft_##suffix##_structs \ + , \ + \ + TRANSFORM_PREPARE_INPLACE_INPUTS( \ + transform_fft_##suffix##_inputs, \ + cfft_inst_ptr->fftLen * \ + sizeof(output_type) * \ + 2 /*complex_inputs*/); \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Inverse-transform flag: %d\n", \ + (int)cfft_inst_ptr->fftLen, \ + (int)ifft_flag); \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES( \ + arm_cfft_##suffix(cfft_inst_ptr, \ + (void *) transform_fft_inplace_input_fut, \ + ifft_flag, /* IFFT Flag */ \ + 1)); /* Bitreverse flag */ \ + ref_cfft_##suffix(cfft_inst_ptr, \ + (void *) transform_fft_inplace_input_ref, \ + ifft_flag, /* IFFT Flag */ \ + 1); /* Bitreverse flag */ \ + \ + /* Test correctness */ \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE( \ + cfft_inst_ptr->fftLen, \ + output_type)); \ + \ + return JTEST_TEST_PASSED; \ + } while (0) + + +/* + CFFT function with downshift test template. Arguments are: inverse-transform flag, + function suffix (q7/q15/q31/f32) and the output type (q7_t, q15_t, q31_t, float32_t) +*/ +#define CFFT_DOWNSHIFT_INPUT_TEST_BODY(ifft_flag, suffix, output_type) \ + do \ + { \ + /* Go through all arm_cfft_instances */ \ + TEMPLATE_DO_ARR_DESC( \ + cfft_inst_idx, const arm_cfft_instance_##suffix *, cfft_inst_ptr, \ + transform_cfft_##suffix##_structs \ + , \ + \ + TRANSFORM_PREPARE_INPLACE_INPUTS_DOWNSHIFT( \ + transform_fft_##suffix##_inputs, \ + cfft_inst_ptr->fftLen * \ + sizeof(output_type) * \ + 2 /*complex_inputs*/, output_type); \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Inverse-transform flag: %d\n", \ + (int)cfft_inst_ptr->fftLen, \ + (int)ifft_flag); \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES( \ + arm_cfft_##suffix(cfft_inst_ptr, \ + (void *) transform_fft_inplace_input_fut, \ + ifft_flag, /* IFFT Flag */ \ + 1)); /* Bitreverse flag */ \ + ref_cfft_##suffix(cfft_inst_ptr, \ + (void *) transform_fft_inplace_input_ref, \ + ifft_flag, /* IFFT Flag */ \ + 1); /* Bitreverse flag */ \ + \ + /* Test correctness */ \ + TRANSFORM_SNR_COMPARE_CMPLX_INTERFACE( \ + cfft_inst_ptr->fftLen, \ + output_type)); \ + \ + return JTEST_TEST_PASSED; \ + } while (0) + + +/* Test declarations */ +JTEST_DEFINE_TEST(cfft_f32_test, cfft_f32) +{ + CFFT_TEST_BODY((uint8_t) 0, f32, float32_t); +} + +JTEST_DEFINE_TEST(cfft_f32_ifft_test, cfft_f32) +{ + CFFT_TEST_BODY((uint8_t) 1, f32, float32_t); +} + +JTEST_DEFINE_TEST(cfft_q31_test, cfft_q31) +{ + CFFT_TEST_BODY((uint8_t) 0, q31, q31_t); +} + +JTEST_DEFINE_TEST(cfft_q31_ifft_test, cfft_q31) +{ + CFFT_TEST_BODY((uint8_t) 1, q31, q31_t); +} + +JTEST_DEFINE_TEST(cfft_q15_test, cfft_q15) +{ + CFFT_TEST_BODY((uint8_t) 0, q15, q15_t); +} + +JTEST_DEFINE_TEST(cfft_q15_ifft_test, cfft_q15) +{ + CFFT_TEST_BODY((uint8_t) 1, q15, q15_t); +} + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(cfft_tests) +{ + JTEST_TEST_CALL(cfft_f32_test); + JTEST_TEST_CALL(cfft_f32_ifft_test); + + JTEST_TEST_CALL(cfft_q31_test); + JTEST_TEST_CALL(cfft_q31_ifft_test); + + JTEST_TEST_CALL(cfft_q15_test); + JTEST_TEST_CALL(cfft_q15_ifft_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/dct4_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/dct4_tests.c new file mode 100644 index 0000000..f55e7b3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/dct4_tests.c @@ -0,0 +1,197 @@ +#include "jtest.h" +#include "ref.h" +#include "arm_math.h" +#include "arr_desc.h" +#include "transform_templates.h" +#include "transform_test_data.h" +#include "type_abbrev.h" +#include /* sqrtf() */ + +/*--------------------------------------------------------------------------------*/ +/* Aliases to aid macro expansion */ +/*--------------------------------------------------------------------------------*/ +#define ref_sqrt_f32(x) sqrtf(x) + +/*--------------------------------------------------------------------------------*/ +/* Test Definitions */ +/*--------------------------------------------------------------------------------*/ + +/* +DCT function test template. Arguments are: function configuration suffix +(q7/q15/q31/f32) and input type (q7_t/q15_t/q31_t/float32_t) +*/ +#define DCT4_DEFINE_TEST(suffix, input_type) \ + JTEST_DEFINE_TEST(arm_dct4_##suffix##_test, arm_dct4_##suffix) \ + { \ + CONCAT(arm_dct4_instance_,suffix) dct4_inst_fut = {0}; \ + CONCAT(arm_rfft_instance_,suffix) rfft_inst_fut = {0}; \ + CONCAT(arm_cfft_radix4_instance_,suffix) cfft_inst_fut = {0}; \ + \ + CONCAT(arm_dct4_instance_,suffix) dct4_inst_ref = {0}; \ + CONCAT(arm_rfft_instance_,suffix) rfft_inst_ref = {0}; \ + CONCAT(arm_cfft_radix4_instance_,suffix) cfft_inst_ref = {0}; \ + \ + /* Go through all dct lengths */ \ + TEMPLATE_DO_ARR_DESC( \ + fftlen_idx, uint16_t, fftlen, transform_dct_fftlens \ + , \ + \ + float32_t normalize_f32 = \ + ref_sqrt_f32((2.0f/(float32_t)fftlen)); \ + input_type normalize; \ + \ + /* Calculate normalized DCT4 value for input_type. */ \ + TEST_CONVERT_FLOAT_TO(&normalize_f32, &normalize, \ + 1, input_type); \ + \ + /* Initialize the DCT4, RFFT, and CFFT instances */ \ + arm_dct4_init_##suffix( \ + &dct4_inst_fut, &rfft_inst_fut, &cfft_inst_fut, \ + fftlen, \ + fftlen/2, \ + normalize); \ + \ + arm_dct4_init_##suffix( \ + &dct4_inst_ref, &rfft_inst_ref, &cfft_inst_ref, \ + fftlen, \ + fftlen/2, \ + normalize); \ + \ + memset( transform_fft_input_fut,0, \ + fftlen*sizeof(input_type)); \ + \ + TRANSFORM_PREPARE_INPLACE_INPUTS( \ + transform_fft_##suffix##_inputs, \ + fftlen * sizeof(input_type)); \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n", \ + (int)fftlen); \ + \ + /* Input provided as a scratch buffer. Inplace input is \ + * actual input. Display cycle count and run test*/ \ + JTEST_COUNT_CYCLES( \ + arm_dct4_##suffix( \ + &dct4_inst_fut, \ + (void *) transform_fft_input_fut, \ + (void *) transform_fft_inplace_input_fut)); \ + \ + memset( transform_fft_input_ref,0, \ + fftlen*sizeof(input_type)); \ + \ + /* Input provided as a scratch buffer. Inplace input is */ \ + /* actual input. */ \ + ref_dct4_##suffix( \ + &dct4_inst_ref, \ + (void *) transform_fft_input_ref, \ + (void *) transform_fft_inplace_input_ref); \ + \ + /* Test correctness */ \ + DCT_TRANSFORM_SNR_COMPARE_INTERFACE( \ + fftlen, \ + input_type)); \ + \ + return JTEST_TEST_PASSED; \ + } + +/* + DCT function test template for fixed point data. Arguments are: function + suffix (q7/q15/q31/f32), input type (q7_t/q15_t/q31_t/float32_t) and prefix + (dct_4) +*/ +#define DCT4_FIXED_POINT_DEFINE_TEST(suffix, input_type, prefix) \ + JTEST_DEFINE_TEST(arm_dct4_##suffix##_test, arm_dct4_##suffix) \ + { \ + CONCAT(arm_dct4_instance_,suffix) dct4_inst_fut = {0}; \ + CONCAT(arm_rfft_instance_,suffix) rfft_inst_fut = {0}; \ + CONCAT(arm_cfft_radix4_instance_,suffix) cfft_inst_fut = {0}; \ + \ + CONCAT(arm_dct4_instance_,suffix) dct4_inst_ref = {0}; \ + CONCAT(arm_rfft_instance_,suffix) rfft_inst_ref = {0}; \ + CONCAT(arm_cfft_radix4_instance_,suffix) cfft_inst_ref = {0}; \ + \ + TEMPLATE_DO_ARR_DESC( \ + fftlen_idx, uint16_t, fftlen, transform_dct_fftlens \ + , \ + uint32_t i; \ + float32_t normalize_f32 = \ + ref_sqrt_f32((2.0f/(float32_t)fftlen)); \ + input_type normalize; \ + \ + /* Calculate normalized DCT4 value for input_type. */ \ + TEST_CONVERT_FLOAT_TO(&normalize_f32, &normalize, \ + 1, input_type); \ + \ + /* Initialize the DCT4, RFFT, and CFFT instances */ \ + arm_dct4_init_##suffix( \ + &dct4_inst_fut, &rfft_inst_fut, &cfft_inst_fut, \ + fftlen, \ + fftlen/2, \ + normalize); \ + \ + arm_dct4_init_##suffix( \ + &dct4_inst_ref, &rfft_inst_ref, &cfft_inst_ref, \ + fftlen, \ + fftlen/2, \ + normalize); \ + \ + /* Input samples need to be downscaled by 1 bit to \ + * avoid saturations in the Q31 DCT process, \ + * as the conversion from DCT2 to DCT4 involves \ + * one subtraction. \ + */ \ + for(i=0; i < fftlen; i++) \ + { \ + ((input_type*)transform_fft_inplace_input_fut)[i] = \ + prefix##transform_fft_##suffix##_inputs[i] >> 1; \ + ((input_type*)transform_fft_inplace_input_ref)[i] = \ + prefix##transform_fft_##suffix##_inputs[i] >> 1; \ + } \ + \ + memset( transform_fft_input_fut,0, \ + fftlen*sizeof(input_type)); \ + \ + /* Display test parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n", \ + (int)fftlen); \ + \ + /* Input provided as a scratch buffer. Inplace input is \ + * actual input. */ \ + JTEST_COUNT_CYCLES( \ + arm_dct4_##suffix( \ + &dct4_inst_fut, \ + (void *) transform_fft_input_fut, \ + (void *) transform_fft_inplace_input_fut)); \ + \ + memset( transform_fft_input_ref,0, \ + fftlen*sizeof(input_type)); \ + \ + /* Input provided as a scratch buffer. Inplace input is */ \ + /* actual input. */ \ + ref_dct4_##suffix( \ + &dct4_inst_ref, \ + (void *) transform_fft_input_ref, \ + (void *) transform_fft_inplace_input_ref); \ + \ + /* Test correctness */ \ + DCT_TRANSFORM_SNR_COMPARE_INTERFACE( \ + fftlen, \ + input_type)); \ + \ + return JTEST_TEST_PASSED; \ + } + +DCT4_DEFINE_TEST(f32, float32_t); +DCT4_FIXED_POINT_DEFINE_TEST(q31, q31_t,); +DCT4_FIXED_POINT_DEFINE_TEST(q15, q15_t, dct4_); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(dct4_tests) +{ + JTEST_TEST_CALL(arm_dct4_f32_test); + JTEST_TEST_CALL(arm_dct4_q31_test); + JTEST_TEST_CALL(arm_dct4_q15_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_fast_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_fast_tests.c new file mode 100644 index 0000000..1b4ece2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_fast_tests.c @@ -0,0 +1,75 @@ +#include "jtest.h" +#include "ref.h" +#include "arr_desc.h" +#include "transform_templates.h" +#include "transform_test_data.h" +#include "type_abbrev.h" + +/* +FFT fast function test template. Arguments are: function configuration suffix +(q7/q15/q31/f32) and inverse-transform flag +*/ +#define RFFT_FAST_DEFINE_TEST(config_suffix, ifft_flag) \ + JTEST_DEFINE_TEST(arm_rfft_fast_f32_##config_suffix##_test, \ + arm_fft_f32) \ + { \ + arm_rfft_fast_instance_f32 rfft_inst_fut = {{0}, 0, 0}; \ + arm_rfft_fast_instance_f32 rfft_inst_ref = {{0}, 0, 0}; \ + \ + /* Go through all FFT lengths */ \ + TEMPLATE_DO_ARR_DESC( \ + fftlen_idx, uint16_t, fftlen, transform_rfft_fast_fftlens \ + , \ + \ + /* Initialize the RFFT and CFFT Instances */ \ + arm_rfft_fast_init_f32( \ + &rfft_inst_fut, fftlen); \ + \ + arm_rfft_fast_init_f32( \ + &rfft_inst_ref, fftlen); \ + \ + TRANSFORM_COPY_INPUTS( \ + transform_fft_f32_inputs, \ + fftlen * \ + sizeof(float32_t)); \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Inverse-transform flag: %d\n", \ + (int)fftlen, \ + (int)ifft_flag); \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES( \ + arm_rfft_fast_f32( \ + &rfft_inst_fut, \ + (void *) transform_fft_input_fut, \ + (void *) transform_fft_output_fut, \ + ifft_flag)); \ + \ + ref_rfft_fast_f32( \ + &rfft_inst_ref, \ + (void *) transform_fft_input_ref, \ + (void *) transform_fft_output_ref, \ + ifft_flag); \ + \ + /* Test correctness */ \ + TRANSFORM_SNR_COMPARE_INTERFACE( \ + fftlen, \ + float32_t)); \ + \ + return JTEST_TEST_PASSED; \ + } + +RFFT_FAST_DEFINE_TEST(forward, 0U); +RFFT_FAST_DEFINE_TEST(inverse, 1U); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(rfft_fast_tests) +{ + JTEST_TEST_CALL(arm_rfft_fast_f32_forward_test); + JTEST_TEST_CALL(arm_rfft_fast_f32_inverse_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_tests.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_tests.c new file mode 100644 index 0000000..092525c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/rfft_tests.c @@ -0,0 +1,94 @@ +#include "jtest.h" +#include "ref.h" +#include "arr_desc.h" +#include "transform_templates.h" +#include "transform_test_data.h" +#include "type_abbrev.h" + +/* + FFT function test template. Arguments are: function suffix (q7/q15/q31/f32) + function configuration suffix (same as function suffix), inverse-transform flag, + input and output type (both q7_t/q15_t/q31_t/float32_t) +*/ +#define RFFT_DEFINE_TEST(suffix, config_suffix, \ + ifft_flag, input_type, output_type) \ + JTEST_DEFINE_TEST(arm_rfft_##suffix##_##config_suffix##_test, \ + arm_rfft_##suffix) \ + { \ + CONCAT(arm_rfft_instance_, suffix) rfft_inst_fut = {0}; \ + CONCAT(arm_rfft_instance_, suffix) rfft_inst_ref = {0}; \ + \ + /* Go through all arm_rfft lengths */ \ + TEMPLATE_DO_ARR_DESC( \ + fftlen_idx, uint16_t, fftlen, transform_rfft_fftlens \ + , \ + \ + /* Initialize the RFFT and CFFT Instances */ \ + arm_rfft_init_##suffix( \ + &rfft_inst_fut, \ + (uint32_t) fftlen, ifft_flag, 1U); \ + \ + arm_rfft_init_##suffix( \ + &rfft_inst_ref, \ + (uint32_t) fftlen, ifft_flag, 1U); \ + \ + if (ifft_flag) \ + { \ + TRANSFORM_PREPARE_INVERSE_INPUTS( \ + transform_fft_##suffix##_inputs, \ + fftlen, input_type, \ + fftlen * \ + sizeof(input_type)); \ + } \ + else \ + { \ + TRANSFORM_COPY_INPUTS( \ + transform_fft_##suffix##_inputs, \ + fftlen * \ + sizeof(input_type)); \ + } \ + \ + /* Display parameter values */ \ + JTEST_DUMP_STRF("Block Size: %d\n" \ + "Inverse-transform flag: %d\n", \ + (int)fftlen, \ + (int)ifft_flag); \ + \ + /* Display cycle count and run test */ \ + JTEST_COUNT_CYCLES( \ + arm_rfft_##suffix( \ + &rfft_inst_fut, \ + (void *) transform_fft_input_fut, \ + (void *) transform_fft_output_fut)); \ + \ + ref_rfft_##suffix( \ + &rfft_inst_ref, \ + (void *) transform_fft_input_ref, \ + (void *) transform_fft_output_ref); \ + \ + /* Test correctness */ \ + TRANSFORM_SNR_COMPARE_INTERFACE( \ + fftlen, \ + output_type)); \ + \ + return JTEST_TEST_PASSED; \ + } + +RFFT_DEFINE_TEST(q31, forward, 0U, TYPE_FROM_ABBREV(q31), TYPE_FROM_ABBREV(q31)); +RFFT_DEFINE_TEST(q15, forward, 0U, TYPE_FROM_ABBREV(q15), TYPE_FROM_ABBREV(q15)); +//RFFT_DEFINE_TEST(f32, inverse, 1U, TYPE_FROM_ABBREV(f32), TYPE_FROM_ABBREV(f32)); +RFFT_DEFINE_TEST(q31, inverse, 1U, TYPE_FROM_ABBREV(q31), TYPE_FROM_ABBREV(q31)); +RFFT_DEFINE_TEST(q15, inverse, 1U, TYPE_FROM_ABBREV(q15), TYPE_FROM_ABBREV(q15)); + +/*--------------------------------------------------------------------------------*/ +/* Collect all tests in a group */ +/*--------------------------------------------------------------------------------*/ + +JTEST_DEFINE_GROUP(rfft_tests) +{ + JTEST_TEST_CALL(arm_rfft_q31_forward_test); + JTEST_TEST_CALL(arm_rfft_q15_forward_test); + //JTEST_TEST_CALL(arm_rfft_f32_inverse_test); + JTEST_TEST_CALL(arm_rfft_q31_inverse_test); + JTEST_TEST_CALL(arm_rfft_q15_inverse_test); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_test_group.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_test_group.c new file mode 100644 index 0000000..93e1e62 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_test_group.c @@ -0,0 +1,11 @@ +#include "jtest.h" +#include "transform_tests.h" + +JTEST_DEFINE_GROUP(transform_tests) +{ + JTEST_GROUP_CALL(cfft_tests); + JTEST_GROUP_CALL(cfft_family_tests); + JTEST_GROUP_CALL(rfft_tests); + JTEST_GROUP_CALL(rfft_fast_tests); + JTEST_GROUP_CALL(dct4_tests); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_tests_common_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_tests_common_data.c new file mode 100644 index 0000000..4a04721 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/src/transform_tests/transform_tests_common_data.c @@ -0,0 +1,3311 @@ +#include "transform_test_data.h" +#include "arm_const_structs.h" + +/*--------------------------------------------------------------------------------*/ +/* Input/Output Buffers */ +/*--------------------------------------------------------------------------------*/ + +float32_t transform_fft_output_fut[TRANSFORM_MAX_FFT_LEN * 2] = {0}; +float32_t transform_fft_output_ref[TRANSFORM_MAX_FFT_LEN * 2] = {0}; +float32_t transform_fft_input_fut[TRANSFORM_MAX_FFT_LEN * 2] = {0}; +float32_t transform_fft_input_ref[TRANSFORM_MAX_FFT_LEN * 2] = {0}; +float32_t transform_fft_output_f32_fut[TRANSFORM_MAX_FFT_LEN * 2] = {0}; +float32_t transform_fft_output_f32_ref[TRANSFORM_MAX_FFT_LEN * 2] = {0}; + +/* Some of the transform function modify their inputs in-place, so that they + * become the outputs. */ +float32_t * transform_fft_inplace_input_fut = transform_fft_output_fut; +float32_t * transform_fft_inplace_input_ref = transform_fft_output_ref; + +q31_t transform_fft_q31_inputs[TRANSFORM_MAX_FFT_LEN * 2] = +{ + 0xC14A5524, 0xCCABDA17, 0xAD6F5B56, 0xFDAFCE3B, 0xA9B226EB, + 0x41F6F6A, 0xA5CE38BF, 0x3A978AFA, 0xBA44B82A, 0x855C0F8, + 0x3D060524, 0x93D5E570, 0x97D7791D, 0xFFE0C38C, 0x26749841, + 0xC0A6EE54, 0x218EC386, 0x39FF3726, 0x8DC1F7CA, 0x702F2CF5, + 0xC1142FF1, 0xEC1476AB, 0x15F640DD, 0xE62CCE49, 0x3805DE7E, + 0xF70871FE, 0xCF8BD360, 0x8D19A8A0, 0xD764F821, 0xA58558CF, + 0x8C0CE04D, 0x50A46C19, 0x66D2370D, 0x50FA359A, 0xB646AE24, + 0x6CE00F5C, 0xE6D48948, 0xB55BD831, 0x3B72950A, 0x9EB69530, + 0x73394127, 0x773FA6F4, 0x9805A980, 0x838DE587, 0x9CF597F4, + 0xA2AD1691, 0xFA81A473, 0x7CDC7D7F, 0x4A5190D0, 0xED895BB9, + 0x8FD60F35, 0x1A21D530, 0xA0EB6DDA, 0xBDE6A516, 0x2501A3E1, + 0x5ED893C8, 0xE1E175B1, 0xACBBB2F3, 0xED350907, 0xDB140D7E, + 0xEEAE272D, 0xBE229841, 0xC18BFB88, 0xA6BB9B80, 0xBCF090E4, + 0x24DB166C, 0xF9AB7E42, 0x62DF28D1, 0xC7004665, 0xE3F56FC6, + 0x419E0C75, 0x46BE9F38, 0x2432B9B2, 0x758D83E0, 0xDCE12926, + 0x3F57CB74, 0x1F4458E2, 0xF1DD639, 0x83A1FB49, 0x173AFC76, + 0x86EF7531, 0x48D32F34, 0x7D3E3063, 0x8F2FB549, 0x5C314C9, + 0x18CBEB6D, 0xA6F8B697, 0x447B9E9C, 0x2E32BA33, 0xD074D715, + 0x81ACD746, 0xE55A4E04, 0x4891860F, 0x1DA3EB4F, 0xE0E6A27F, + 0x20BFDEB4, 0xD0B3A25B, 0x40C10544, 0xC15656C, 0x15405EAE, + 0x9858E3E1, 0xA36A9C4E, 0x88BD21F9, 0xAACF7A68, 0x773665E5, + 0xCEDFDF66, 0x617A9610, 0x524FC968, 0xC2D086CD, 0x5F008079, + 0x24DCA447, 0x6A4F5599, 0xB706CD4A, 0x1DE70608, 0xA33A2EE5, + 0x137E488E, 0x98061B7B, 0x4079D69D, 0xA4A897D5, 0xC4CEC8F5, + 0xD75F7883, 0x22406802, 0xF1AD70BB, 0x9D4ADD79, 0xBCBC7CE4, + 0xB358C0D8, 0x85792E47, 0xA7ADAC05, 0x3D19EEAB, 0x331AC0AF, + 0x33035831, 0x13D93987, 0xFC542094, 0x845F317E, 0xDDC4BF8B, + 0x1379E50C, 0x5C20193F, 0xFDD58298, 0x9D482B82, 0x4A6BE062, + 0xDC8A757B, 0x272917C1, 0x90E1EFBC, 0x355AD882, 0xE6F8EA35, + 0x604555A1, 0x7DFFFBB, 0xF58AE216, 0x9A11B463, 0xD3541BAD, + 0xA1576756, 0x483BED8D, 0x1F05AFCC, 0xCEA63DFB, 0x55B84677, + 0xFB2E04F2, 0x787AF96C, 0x84A12CD3, 0x460A9BD, 0x9DB22DD8, + 0x1A8C7F28, 0x861E452E, 0x932D3F78, 0x7652D852, 0x73357BBA, + 0xEBBB0A58, 0x62536AFA, 0x3F6B65EF, 0x6DC57B58, 0x9EB798CE, + 0xE6B0A740, 0xDFF68B47, 0x3247FB8F, 0xFFF3D302, 0xA9FD3E40, + 0x475A43D1, 0x6FF9528A, 0x2018A09D, 0x47E0F9C9, 0x4CF5F6D3, + 0x2807CE34, 0xDD6FD8ED, 0x234045D1, 0x51CEB5F9, 0x25297896, + 0x6443A0FE, 0x8F4449A9, 0xD4C3E1C6, 0xF01D52F1, 0x4E09C820, + 0xF18F0810, 0xE1548689, 0xF9DE5A1F, 0x5286DC23, 0x48AC3A4B, + 0xEA0C1BE0, 0xA1B785DB, 0x7086465D, 0x1CC10929, 0x1E1D716E, + 0xED231D4C, 0x2049D108, 0xB8FF9971, 0x949CF8D4, 0x441F1E8B, + 0xC3D95372, 0x69C324B4, 0xA10BFDC9, 0xC781DE78, 0x82476137, + 0xE163DDF, 0x390DEEC2, 0xAF68CE5B, 0x8E680ABD, 0x8223A615, + 0x92593380, 0x7B1465FE, 0x865AE957, 0x930F53EB, 0xED772EF7, + 0x10E916B6, 0xE3BCFA68, 0x2ACB80BB, 0xE51C5590, 0x994714B5, + 0xF30984EE, 0x59BBE1B4, 0xB4867DBC, 0xB91C706C, 0xBC16C218, + 0xA8931CD0, 0x129A66AB, 0x13171F4D, 0x62882872, 0x4B167FD4, + 0xE6902F4C, 0xFA794932, 0xD4B152C, 0xB0856EA9, 0x39466D55, + 0x3669E451, 0x8F5B9E8C, 0x877A3C6A, 0x51B956B4, 0x367EAD2A, + 0x9D2C662A, 0x78FB6880, 0x4E6D40B6, 0x4070EFDC, 0x4DF9679C, + 0x20306EDB, 0xE381AAE7, 0xA55DA748, 0x9B8B617B, 0x3E036FAD, + 0x84E4C4A7, 0xD5A3F517, 0x669BA988, 0x98FDDE8C, 0x67BD85CE, + 0x34BBB46C, 0x76994800, 0x85B9D8B6, 0x6DFA2FEF, 0x205DB5C, + 0x9F843C4C, 0x72721B52, 0x73EF6B86, 0x5FB98B61, 0xC323DDAC, + 0x31D424B4, 0xF68C0D7E, 0x162FAF9D, 0x7B2A7A99, 0xF9392693, + 0xC42D12C0, 0x8692A73E, 0xD9A1EE80, 0xDD956856, 0x44E7BDAC, + 0x8D874532, 0x5F5C9DD0, 0x5D167858, 0x8559FEA2, 0x9D821476, + 0xD9654ED2, 0x594C0DC7, 0x1A87B506, 0x3F693200, 0x7A651AB5, + 0xA0CCBC8A, 0x9F9E662C, 0x78EF631, 0x2A09DA0, 0xB088C72F, + 0x92EE0D42, 0x360DCD5F, 0xF333FE48, 0x8D63CC06, 0x233A8ACB, + 0x706651ED, 0x7AA5C079, 0x262239D1, 0x3EBBEBB6, 0xA25A4F3D, + 0x32581A06, 0x6E6FD780, 0x5773F7C7, 0x75ED1DDC, 0x90DF2D15, + 0xBC79A9BC, 0xB7175917, 0x354E381C, 0x762AADD7, 0xF643DAC1, + 0xF3BBF49E, 0xD2FECE7E, 0x6C8140F4, 0xD7694875, 0x92D30822, + 0xC742A7CF, 0xB792ED98, 0x121CFE24, 0xA04E1EE7, 0x58CE268, + 0x215A080, 0x316CB323, 0xFAB14A31, 0xE1C13C03, 0xFD8EF4F1, + 0xF3F446D0, 0x6C6CEA0A, 0xBBFDF9FB, 0x67242969, 0xBE55A4EB, + 0x8FF5534, 0x52F0DF1C, 0x9710ADE3, 0xD40F4A21, 0x7984E8E7, + 0x419545EB, 0x993F7880, 0xAB246B20, 0x408AABC4, 0xCBF6EA49, + 0xC0894C55, 0x4CAA6398, 0xA47856E9, 0xAF2AE47D, 0x22F55D33, + 0xF0D37915, 0xD0634C72, 0xD983671, 0x2BCC5AF8, 0x9A77D48, + 0xC11B5CFA, 0xF107CD7E, 0x3A6B3593, 0xE1425F05, 0x6271812A, + 0x5B838310, 0xBD8418CA, 0x10A58792, 0x239F7137, 0xA13D5071, + 0x7F9930D4, 0xA462664F, 0x54180F8E, 0x291585BA, 0xE586B87A, + 0x144B2C12, 0x98E425C7, 0xBAA4B373, 0x18F0D03C, 0x99462AC0, + 0xD8B4D2EF, 0x72473895, 0xA6BF5435, 0xEDAD53B, 0xE0912FA6, + 0x5C33F331, 0x3D93CD7, 0x4D03D752, 0x20699929, 0xB89962F9, + 0x36E781E9, 0xF58B642C, 0x5FCA69E3, 0x5960A7F4, 0xAD5AAFD0, + 0xDF18324A, 0x3DB1E5AA, 0x76BA3876, 0x1BC29AF6, 0xBCC18841, + 0x73A60174, 0x625BFF58, 0x67C57724, 0x4458E53C, 0xE157B095, + 0x2B370837, 0x83DF6CE3, 0xDD08EEFA, 0x3F52A7C2, 0x191B4785, + 0x60843D82, 0xB0DE11F1, 0x105EA26C, 0x6E1C7AA2, 0x47AADD14, + 0xB6676D03, 0x3B8D4DF6, 0x737A694, 0x409521DC, 0x744206A, + 0xC722023F, 0x2BE4EAD5, 0x63E11D76, 0xCA4A09AB, 0x5CF2D2B9, + 0x31586916, 0xCDFD7D84, 0xB203F634, 0xAD7329D4, 0xC524582F, + 0x2E53E6C1, 0xBB0E019B, 0xB8538C6A, 0x6A2542D, 0x8A6A00E5, + 0x119725CC, 0x5406D347, 0x1B6FFAF1, 0xECCF71F1, 0x981117F2, + 0x7167CA76, 0x74F4B880, 0x77A55F47, 0x59EADB62, 0x4A331D95, + 0xBCBBA76F, 0xA45C4D50, 0xC718D5, 0x87CE05D1, 0x60D47AD5, + 0xA5CA9C40, 0xB0061766, 0xE69B39DF, 0xBD5F1320, 0x9930EAD3, + 0xA8B38325, 0x8DD090F, 0x6A6EEF37, 0x2DF16F66, 0xAB514C7E, + 0x31109C58, 0xFD48C7FC, 0x515341CA, 0x77AB8EA6, 0x41328DAF, + 0xBAF8D31E, 0xA4B31611, 0xED37F331, 0x7A832A22, 0xA22591C7, + 0x722D1F89, 0x3B19CF18, 0x261B8A4D, 0xC3F6F6DB, 0xCF8CED61, + 0x990FA250, 0xA02E72A9, 0x560DCEA2, 0xB08E67B4, 0x3674E663, + 0x97CC3852, 0xA7EB2EAC, 0xFFDE0AA8, 0xA64719A, 0x23269EDD, + 0x3C0B339E, 0x86284D40, 0x48D82ECB, 0xA4D4CCF8, 0x43631B91, + 0x4BF0C248, 0xB6497B9B, 0x6827BC58, 0xE30B7AF9, 0xA0CCBF26, + 0x6C3B7B71, 0xD744B3ED, 0xFA25D2F6, 0x4CDE642D, 0xD65B8142, + 0xA6F9207F, 0xE7A207BE, 0xDB506684, 0x44DA4780, 0x9175EA0C, + 0x156104AF, 0x4155E1B0, 0x6E3A6886, 0x9DBA1EA2, 0x5423D9C8, + 0xCC024E22, 0x758F852A, 0x1DD6395, 0x2D19CBAD, 0xE164F5A1, + 0xC2084602, 0x89C274AD, 0x13CB5562, 0xD7FE2D5B, 0xE07A4EE5, + 0x1672BA91, 0x4F624CCF, 0x2E5EA4A3, 0x28FEEFAF, 0xBDDA6EF4, + 0x32AFD40C, 0x99A5FB3B, 0xDD1D73A3, 0xA342CB3E, 0xA78445F5, + 0x53979C3B, 0x427D7943, 0x5221B58C, 0xA6CE9A5E, 0xFB50ECA4, + 0xBB86E36E, 0x60839F6D, 0xC5E1C2F3, 0xA1B7FB04, 0xFBB65E0C, + 0x78B80F5E, 0xFD8D972B, 0x3BF3BA90, 0x2D572D9, 0x2B5BC920, + 0xB6A0DE01, 0xD274D306, 0xC7C6C855, 0x9CAA669B, 0xB04AA641, + 0x4D6B1760, 0x3E17ED79, 0xD23241B0, 0xA4A6F957, 0xCBDE76AF, + 0x4E5F9493, 0x4C215DA5, 0x33A052B, 0x1A4D80C2, 0x40AEEBCA, + 0x390D106B, 0xE9E8E018, 0x5AF3D6CF, 0xE35E1D4, 0xC4FB1C6, + 0x14B6299B, 0x8D2E25F0, 0xCCBF932A, 0xC5AC18B6, 0x2227567D, + 0x86B5CE2F, 0x26344534, 0x22C515EC, 0x2442B70D, 0xEC3721C6, + 0x34EF687D, 0x9C06323A, 0xEAF3EA60, 0x60396F52, 0xEAE78AA1, + 0xC9D06CBC, 0x6F95F6C8, 0x584CC258, 0xBA9A27BB, 0x66DF8D47, + 0x9D4804EA, 0x57DD9E67, 0xF89C7895, 0xF5336111, 0x25C122C8, + 0x62742114, 0xCFBF6D26, 0xBF9F6482, 0xE6F02CD9, 0x11083202, + 0xC99E2618, 0x7EBC9351, 0x440112F1, 0xC9DFFBC1, 0x3BF4DC25, + 0xB1BA7FA0, 0x61AF9AED, 0x6B1F7D29, 0xAD865294, 0xE3E01129, + 0x7E9E77A5, 0x100435D7, 0x9FE3A71, 0x88597C81, 0x722849FA, + 0x31C5A0AF, 0xFBA178DC, 0x7F102D31, 0x5CA07864, 0x950E6F98, + 0x82C34882, 0x5D041F11, 0x8C613C57, 0xD398CFD1, 0x426F38AD, + 0x5599AB1D, 0xFAFA078D, 0xAB25B413, 0xD94B32CF, 0xB288FE38, + 0x2893BB46, 0x9A0B4168, 0xA91BCA94, 0x653A5E8D, 0x2174EBBE, + 0xDEFE6415, 0x30DA429C, 0xD0C5E40C, 0xB4719AA4, 0xD29CE7A6, + 0x905957CD, 0xCD287499, 0x83CA0AA7, 0xA8385832, 0x25A0CA02, + 0xC20D47A4, 0xB562F556, 0x4BC19E4C, 0xD9E215C7, 0x27E838B4, + 0xC58612F4, 0xA2827F6F, 0xC49DCDBA, 0x679B7362, 0x4E495845, + 0xCFD2F0D1, 0x395E76A0, 0x375A655E, 0x92E2058F, 0x73F9F0CA, + 0x61EFF3B3, 0x51FFD362, 0xE7410345, 0x7FDA8B3B, 0xA219E2E8, + 0x17ABE543, 0x26557412, 0x4B30084D, 0xA68E191D, 0xFE0D93DF, + 0x73EF127D, 0x4DECDDB1, 0x77FAF45F, 0xD6002898, 0x92DD0A40, + 0x157F6DDF, 0xC2A55F8E, 0x4359F924, 0xFB630C3F, 0x338B6B58, + 0xB2945F75, 0x4FA23A0E, 0x836EB8C0, 0xB3B18FD, 0x86114337, + 0x24668ACB, 0x99BB82F0, 0x924C8A47, 0xBA959701, 0x81155ABF, + 0x8C612D71, 0x36074CA7, 0xD1668C41, 0xE35F58C7, 0x7FC2802D, + 0x8E6A7CF3, 0x65B07D07, 0x815F6A6B, 0x791BF0DD, 0x6E47D719, + 0xC24394C7, 0xE84A6EB, 0xF194AFEE, 0x464A2F52, 0x677579FD, + 0xEBA775AE, 0x1F6EEFF, 0x9A795237, 0x78D9D45F, 0x9D0B344D, + 0xBBD34AB7, 0x2F85B12A, 0x16C5C2AD, 0x3990985D, 0x88DF3351, + 0x82811AA5, 0x6D351F41, 0x4066A69D, 0x86B660BF, 0x6EDB4768, + 0xDDD78CF0, 0xB5D74F6E, 0xE89E220C, 0x91439687, 0x947CC9C9, + 0x3857E2BD, 0x302F8AE4, 0x1DABE7F8, 0x4832D6C9, 0x37D58FCB, + 0x4EA8A711, 0xCD7BAC98, 0x19DBF8BC, 0xD8DE8DC2, 0xEAFF7E7B, + 0xB7629C93, 0x792C6E19, 0xF7009192, 0xFF88439D, 0x2E196A66, + 0xEC71B78C, 0xEAF4BB3A, 0x7C16225E, 0x668F337, 0xCBEE1608, + 0x6D5B5552, 0x345DC590, 0x681209CC, 0x7B24A819, 0xD08A1416, + 0x99888FE3, 0x9FC7288A, 0x24BD8502, 0xEA1D9678, 0x20EECA0, + 0x59BEA057, 0x5ADE91EB, 0xDEA8E49D, 0xFA200E6F, 0x9149C81D, + 0xF2281E93, 0x8A5B0451, 0x67312D58, 0xE3B849F1, 0xD2217960, + 0x7CDF59F3, 0x33C775C0, 0x9EBA8799, 0x7DF9506, 0xB4E96110, + 0xB8FCF3E3, 0xDEA059B2, 0x8229B6EA, 0x316486F6, 0x43919185, + 0x6C0D90F3, 0x1C6F3DF8, 0x38DB92A9, 0x5CD41244, 0x2C9F0A7B, + 0xDF4A315F, 0xF7CE9C66, 0x4C800860, 0x318D53E0, 0xF105C20D, + 0xD753E1F2, 0x750810BA, 0xA17ECCA5, 0x2010140, 0x4D884763, + 0xC2BB0DA7, 0xB2D5BA74, 0x141CECD4, 0x887FDFC3, 0xC64B53, + 0x2D2A85F6, 0x15532B45, 0x5D5CBCE1, 0xBEB9A16A, 0xA214611B, + 0x9FC5AC5F, 0x11AE5DD7, 0xA0B9A5A9, 0xFC648AF4, 0x740009AC, + 0xED0E0321, 0xB8E6A61, 0x8910C544, 0xC74F26C8, 0x9525CCF3, + 0xB41AEB59, 0xE61984CE, 0x598B2197, 0xA412E59D, 0xE1976DD4, + 0xB29BBE16, 0x88FD9FB0, 0xB04006F3, 0xB45E309, 0xD5CC15F1, + 0xD9DAF630, 0xDC809335, 0x803ED52, 0xB537F5A5, 0xA994F6EB, + 0xF5288568, 0xF66FD264, 0x2EA2B3A6, 0x647619F3, 0xFFB38C7A, + 0x1BC03B9, 0xB6BC3061, 0xBF30596E, 0xBE2AD27B, 0x8AC04220, + 0x641979A3, 0x9ECCBB89, 0xA144FBC1, 0x4E8FAE26, 0x8C5A9D90, + 0x299ED467, 0xD7C9C7E3, 0x1D4865ED, 0x76F31C3D, 0xCEE81CDF, + 0xB479195E, 0x6FFB3AE1, 0xDC8A398, 0x300F7364, 0xC7940AFA, + 0x3B85BE3E, 0xD98CC40D, 0xA24A3D89, 0x3A674204, 0x22888A38, + 0x2E77F2D, 0xA2841C9C, 0xCF0689C3, 0x9FE98922, 0x89335017, + 0x2D6B69A7, 0xFEDB63F9, 0x899AF4EF, 0x9F9F9B40, 0xA4BE97E8, + 0xA51DAF7A, 0x16AC50D3, 0xA8D7ED6, 0xED193443, 0x7615EF1B, + 0xB0DF6A4E, 0x64FFE794, 0xE3DB2C9A, 0x7435B022, 0x556E825C, + 0x23802AF9, 0xC25098A4, 0xE75A18BB, 0x70B2A7B9, 0x7FB81BF, + 0x63EF910, 0x6C669591, 0x6574DD2B, 0xCF6E379D, 0xD2B3AFAC, + 0x1E6A1101, 0x1DE22385, 0x2338191F, 0xC69704B6, 0xCBABC599, + 0x54EB4809, 0x7839BE6D, 0xD50017DD, 0x39B1A0E1, 0x288D52D3, + 0x2D52668C, 0x20D22A68, 0x4E1207D1, 0x3FCC0EFE, 0x47F3FE64, + 0x25177A90, 0xB4BFDD4D, 0xDA8DBDCE, 0x6F7275A8, 0x6BEAA655, + 0xAA1810FC, 0xE4DB593A, 0x8A4D4BC0, 0x2C402E93, 0xF1C0F7F9, + 0x6F0CC577, 0x70412414, 0x752F9DC1, 0xD82E38EA, 0xAC455F7B, + 0x4DCD4EDB, 0x92BC2696, 0xFB03F135, 0x4FCA1F8C, 0xBD5E75F6, + 0x502F41B0, 0x3616D3F1, 0x2E5B8E31, 0x2026EB19, 0x57E783D7, + 0x467BBE00, 0x4703ABA3, 0x1F776B9C, 0xE2570A84, 0xFEC7DB48, + 0x1BD5012, 0xFD0A2D5D, 0x7FCC29F2, 0x291304B6, 0x99D5D8ED, + 0xC7551C8, 0xFD12F38F, 0xBADE8892, 0xDF749997, 0xA5DAE2F, + 0x2B9FA269, 0x5C13CFED, 0x15E9A399, 0x54437F4E, 0xA72DB2AB, + 0x56186AA1, 0xFE4DB55C, 0xA34D7836, 0x2A879760, 0xC63FA94, + 0xAC18B207, 0x5FC78B3, 0x7F10621E, 0xA769E6B2, 0xEC9F4A11, + 0xCE3F982C, 0x62BA2EF5, 0xA5F239CD, 0x73D63FED, 0xE36E9F5E, + 0x8AC1DA0E, 0x3F3DB3EB, 0x738326EA, 0x35C366B1, 0xCD476E86, + 0x82F6B208, 0xF11A9FC1, 0x426AC396, 0x7E4D1B93, 0x75E4EDB7, + 0xAF3C44A7, 0x51A5EF5C, 0xFAD2463D, 0x8A5639CA, 0xC995AC78, + 0xCC4BE4F6, 0x3AFE7F8D, 0x66993D04, 0x4386FF37, 0xCBC1C6C2, + 0x55A8F5EC, 0xE81A9A75, 0x30A67E1B, 0x4A4A7D0C, 0x20F7F993, + 0x1891805, 0x738976AD, 0xD426E7D6, 0x3C5CEEBF, 0x4499187F, + 0xABF17C97, 0x447C317F, 0x68D8419C, 0x7AAB6456, 0x421BCF29, + 0xF6740F9C, 0x8916BB8D, 0x3D72AAB, 0x9AD54DD7, 0x7549C6EE, + 0x7317342B, 0xA18546D4, 0x1056BDA7, 0x54BBCCCE, 0x8CE63E46, + 0x5D146234, 0x33BE6C63, 0xB250C4E5, 0x89D72335, 0x87C36BA, + 0xB65530CC, 0x2DFAC48C, 0x1663D16F, 0x59B80AA, 0x950274EA, + 0x92532D4A, 0x3CEF802D, 0x492FBDA5, 0xA63A2574, 0xEF8005C2, + 0x94A18651, 0xAF627ABA, 0x6829B238, 0xA698F646, 0xD2598516, + 0x10144D36, 0xD9B1D1B9, 0xAB2ACF05, 0x5395B699, 0xA7851C75, + 0x1806C6F3, 0xAE970306, 0x3284B145, 0x98F4FE8F, 0xECDD35CC, + 0xDDC1EE0E, 0xC4848865, 0x925826BD, 0x4078BE39, 0x68A8561A, + 0x323045DC, 0xA933B37F, 0xBA2AEE2E, 0x4F24F65D, 0x349EE246, + 0xF97B9D0E, 0x46DC5759, 0x4529F425, 0x80D17B42, 0x8E16F709, + 0x1B42206A, 0x4934A526, 0x391BB6DE, 0xB52EF45C, 0x26C30290, + 0xCBA23CAA, 0xA501A8C3, 0xD922C4F8, 0xE8824E53, 0x6F4255DC, + 0x5960B544, 0x58BC69D6, 0xCA936323, 0xFDDF053C, 0xC2E002D6, + 0x7D750755, 0x8A3F9CD1, 0x35F8F6F8, 0xFB7BD154, 0x65CFF94F, + 0x390A58DD, 0xD97C4093, 0x501CA2A3, 0x8EA5DEBC, 0xCA93461F, + 0xE02D984C, 0x126F8517, 0x39FDD887, 0x46241AE9, 0x777E854D, + 0xE2B36349, 0x58E3FA9F, 0x971DEF1E, 0x8E156228, 0xC0E14E9, + 0xA9A01BE6, 0xB318C990, 0x971680D6, 0xA1F359CE, 0x487E23F4, + 0x7DE465B0, 0x4E4C905E, 0x2A652959, 0x116FF167, 0x5C74AAB9, + 0x4FEFC920, 0x28DF4EB8, 0x29EBF45A, 0x1E350CF6, 0x7134F224, + 0x22CCF1B6, 0x3890ACCD, 0x9BC304F0, 0x7A37B14E, 0xF3724F9C, + 0xDAC493BE, 0x504692EB, 0x82A56D75, 0x42BC73F0, 0xADA92177, + 0x2D9D9FD2, 0x41D874F, 0xEFCFD8FE, 0x8E83A5A2, 0xB84AF0DA, + 0x65F9B035, 0x6DF4EEE0, 0x7D403714, 0x1CCB8B3A, 0x25B30F14, + 0x5384B044, 0xD21FB429, 0x2C407A2, 0x88622917, 0x92D49C25, + 0x845AA406, 0x532D7675, 0xC0B7713D, 0x30E6933B, 0xD270DE3B, + 0x78771A87, 0x1949A28, 0xAEC00040, 0x10A092F4, 0xBD9D5066, + 0xDE166CB7, 0xE8ECE4D3, 0x867417C9, 0xCF0657E4, 0xD7D550F7, + 0xCD472B6D, 0x8CD0F002, 0xD7D47B7C, 0xA2E5475F, 0x2B66B40, + 0x397A7C9F, 0x6C4BC024, 0x9FDA402, 0xD981917E, 0xA3A6C8E, + 0xC9A42042, 0xCF0D1D5B, 0x1A96C11B, 0x9271030B, 0x4BD5D13C, + 0xCDA08C03, 0x1E4B3256, 0xDBB263E, 0x94B1E758, 0x5CF0232F, + 0xC76F252E, 0x27FF7F55, 0xA55DC287, 0x72886B75, 0x38AA73C2, + 0xA5759CFB, 0xF0A75C8C, 0x7059CBE3, 0x6519FBE2, 0x8C3B4162, + 0x5A19A4DE, 0x9D93E753, 0xA9EDF8B5, 0xD68126CD, 0xEA6A7399, + 0xA73005B4, 0x45BC5168, 0xABD166BA, 0x4D0CC0DF, 0xE1376FF9, + 0x393FB309, 0xE995744E, 0xD5EF71BE, 0x66C2BF35, 0x88D62A85, + 0x14121E08, 0x7006CE98, 0x7F0A7076, 0x7DB9C751, 0xDC7056CD, + 0xC1517CD, 0x65BCE88, 0x1B0F1E71, 0x54C2DA11, 0x101BFDD8, + 0x28096AAD, 0xC365859F, 0xACE13396, 0x7CB432BC, 0xB19EA011, + 0xAD9BC7D2, 0x3AF387B1, 0xCCE30470, 0x5335FC46, 0x40D13C16, + 0xD548B4CC, 0xC476A7BD, 0x66BC0663, 0xB7C6960F, 0x12D1E821, + 0x9A536C48, 0x42641630, 0x740C9A48, 0xF61664E8, 0x3B11E69A, + 0xBD79E1F1, 0x3F930B7D, 0xD98B085D, 0x2151962F, 0xD4D7F80E, + 0x88975123, 0x5302989, 0x12F5CA2B, 0x37C29573, 0xD1D2A3A6, + 0x46DA55DA, 0x2EC8C098, 0x802A42DF, 0xD07A11E5, 0xD5BF4B16, + 0x171BCB96, 0xB5843001, 0x57BDCAA7, 0xDDD36F33, 0x633D0AA0, + 0x313B7064, 0x68BD30CE, 0xC986B6C3, 0x2271824F, 0x9951E552, + 0x15939472, 0xDC668F83, 0x1D98A441, 0xA4A1676, 0x631C444B, + 0x6EB61C7C, 0x8EEE0B5E, 0x23F82C1F, 0x6C4B53C1, 0x41116D6, + 0xEBC1627A, 0xC8839049, 0x7F07A8F6, 0xD1F74661, 0x7D9892DD, + 0xF010EC90, 0x37C8A4F4, 0x6ABA986E, 0x68B1E4F6, 0x8066EE05, + 0x5E964158, 0x88D477A6, 0x776CF1E1, 0xB7AB3B60, 0x183D58C0, + 0xA7E13F2F, 0xDD435AD0, 0xF37DF46E, 0xD3F3F774, 0xB6B24A9A, + 0xC097D9F2, 0x54EE718C, 0x4469BDB, 0x4F20DAC, 0xB4002AD5, + 0x2E7AB56, 0xCDB4B18C, 0xF2ACE62D, 0x54BD40DE, 0x46DCCA2, + 0x5B7F32F9, 0xA8CB257D, 0xB138C149, 0x71474D19, 0x6F71C293, + 0xD88FBC7D, 0x9E0A7F86, 0x14B92605, 0x1CBACDC, 0x29159263, + 0xBB719E18, 0xD41B37EE, 0xA236E27E, 0xE916BAE3, 0xED34D9DA, + 0xFDDE09B6, 0x4FE72C56, 0x16927460, 0x8CFFF9A, 0xA9465741, + 0x2B1CD6E0, 0x6BA277FD, 0xE06F70EC, 0x7CB2715, 0xFEDC13C8, + 0x7049632E, 0xC6448831, 0xF72CA3A, 0x9B2BE231, 0xC16A8438, + 0x948EB7E, 0x64041803, 0x82A43295, 0x226D95CE, 0x84AFC1EE, + 0xB2EF3B82, 0xAC18A45C, 0x74DE3ADE, 0xD0E6FAD4, 0xE10C242E, + 0x797DF7BA, 0x812CD7B8, 0xED45B681, 0x8F6CCDE8, 0xC2376DFF, + 0xCABE35D6, 0xD450395B, 0x13493CE3, 0x870E1BF5, 0x7B0BF341, + 0xEBD572F2, 0xAE22B3F1, 0x7ED22DF8, 0xEFE826ED, 0xF147F4BD, + 0xA12DA6F2, 0xF3871967, 0xE4423B70, 0x298472D9, 0x45E03E3D, + 0x2BE705AC, 0x41E3AE6C, 0xA29DF92C, 0x54B33739, 0x8EA8F7A9, + 0xDEFF7BC9, 0x77D06961, 0x71981BA1, 0xBA5A5647, 0x4A8E0E2E, + 0x9F519F5D, 0x31BBA940, 0x3D3A0532, 0x7090F0AD, 0x8B47D658, + 0x8D198BAF, 0x9ED929B6, 0x323BB81, 0x97210404, 0x7B8790DA, + 0xD8438C25, 0xDFBB1C93, 0x2C3F415B, 0x14738C42, 0xB46C2C7A, + 0xA3627CAB, 0xFC540D08, 0xE8227979, 0x672B87FE, 0xB257C949, + 0x9C2B31FF, 0x97AAACA8, 0xC662B448, 0x5BFEFC7C, 0xC2FDEDDE, + 0xAD306CED, 0x639A2576, 0x9ECC1378, 0xA72D71B3, 0x94E11CDB, + 0x8BF14832, 0x945C1728, 0x49AE595B, 0x526DD500, 0x40A7D344, + 0x8EB1DA34, 0x731E17C5, 0xA7CF41A4, 0xCB068104, 0xC842B8E, + 0x7F5733E1, 0xAC9CB3B, 0x2E3F58C0, 0xFD8BC4F, 0xFFBCBBAA, + 0x620248F9, 0x27AC344D, 0xF2E5958B, 0x773EBC3A, 0xEA6078F7, + 0x6B32D1D7, 0xC00DF984, 0xE73C86AA, 0x712026DB, 0x2CE271FF, + 0x38578573, 0x816605D0, 0x673509A9, 0x8D693AC8, 0x2533C371, + 0x6783E269, 0xC5731F9, 0xF2A8041E, 0xBB3C008F, 0x2B290D9A, + 0x122A4BA4, 0x645A69B, 0xB86CC256, 0x9369B8C3, 0x90CF4CEB, + 0x573005D0, 0x4F7DB793, 0xD6AC972E, 0x178BFB66, 0xC430DCEE, + 0xD1A8138B, 0xBF6EC4C8, 0x693E6FAF, 0x54119B44, 0x9C904669, + 0x4D95F608, 0xDB59E550, 0xD85DDBBC, 0xD15818AE, 0x680778D8, + 0x3B67A234, 0xEBE9DAF3, 0xEB8E049B, 0xDD9E0EB8, 0x5D4FB1FB, + 0xCEA62C1C, 0x948AF719, 0xA7E58E36, 0x800EAD97, 0xCD895A65, + 0x72E63F92, 0xA9A82DD3, 0x8CC07793, 0xE70EBE82, 0x1F69534, + 0xAB727A31, 0x1582EF9, 0x7247F677, 0x5FFD7E2C, 0x950EA9DF, + 0xFF38A172, 0xDD75DB84, 0x3A416207, 0xD6A23DA7, 0x3BBE70D0, + 0x538C25CA, 0x2958DF9, 0xD7B9C83E, 0x61F35964, 0x1E05B36, + 0xDD57CDCF, 0x997335B, 0x3A65762A, 0xC5836CD0, 0x9EF2B7F1, + 0x5094196, 0x6949A654, 0xB7FD3E5D, 0x6070C271, 0x30364C38, + 0xDCAFFFA5, 0xCD4ED281, 0x9865FE7C, 0x75F665AD, 0x6ABADB10, + 0xAB43129, 0x26B7A5B8, 0xA321DDBD, 0x467AD732, 0x153A1AE, + 0xAD6B1842, 0xBE19B6BE, 0xC1E22C82, 0x73372EA5, 0xF9EF4AD7, + 0x24C81977, 0xD8451807, 0xCD10ADC8, 0x8FBD95E2, 0xE0789969, + 0xC77A80F2, 0xF1165BCE, 0x3488C653, 0x16F3E378, 0x8D71B29A, + 0x628EC98A, 0x40963234, 0xF918E028, 0x9A584D33, 0xC174E2FE, + 0x417C5145, 0x1C751175, 0xB21E0C12, 0x30218ECC, 0x9D7731BD, + 0xA07DBA0F, 0xE7504D39, 0x3E37F16B, 0xD3BAB050, 0x6F3DE64, + 0x1998A7BA, 0xA61A6D07, 0x424FBED7, 0xCD6B3236, 0x68E71248, + 0x58CC3DFB, 0x584FA4F5, 0xFFE8E2BD, 0x9F0E3D75, 0x788DD779, + 0x978ED891, 0x7E1BFFC8, 0xB812A1C9, 0x5CCC1A32, 0xF1A47219, + 0xD6BA6E71, 0xAFA86EB5, 0x28D128E2, 0x9EDD53B, 0x9AAB7E9C, + 0x493B76F2, 0x31C5C89, 0xCE5FC3B6, 0x974CC3F5, 0xCBBD90FB, + 0x61DE988E, 0x99B927CB, 0x972EFCCD, 0x2719AD6, 0xE06E4B29, + 0x48215B1, 0x37EDE8E4, 0xABF9F87F, 0x8BC1C626, 0x5B19EC05, + 0x212A2AE1, 0x28446975, 0x20D04126, 0xFC453267, 0x967D9524, + 0xDF1CDF8, 0xFB17DCA3, 0x11E68AC6, 0x3AD7D667, 0xD133EF43, + 0x5EC41DA3, 0x587AA639, 0x17ADAE3, 0x816DF77A, 0x37D0726A, + 0x49DC33D9, 0x6C9737E, 0xA6A2F950, 0xEC5F352C, 0x50D1E06D, + 0xC10009A6, 0x2F70F8BE, 0x382269B1, 0x4C29E7CB, 0xBD474FF3, + 0xD19A4F6, 0xC3CCE458, 0xE09B348, 0xD15A0DC5, 0x1C10D20E, + 0x4AFDED15, 0x3C109DC1, 0xD8C117F5, 0xB501DDF5, 0x39C92B5F, + 0xE76FCA13, 0x76DBAA1B, 0xB0730EBF, 0x67DD1FBC, 0xD8B87AB6, + 0xA826225B, 0xAB2F7089, 0x499FA36D, 0xF26455B, 0xDC79F8EF, + 0x987E765E, 0xA13E60C7, 0x500C7803, 0x492C871D, 0x970DE4EE, + 0xD1423DC1, 0xB66048A3, 0x804895AB, 0xC079A15F, 0x5E6FD682, + 0xE936476E, 0x8DECE38F, 0x76A011D, 0x53575B91, 0xB263D36A, + 0x8F2624C1, 0x26B34937, 0x75A7EC2F, 0xE33ED24, 0xBF1BE7C7, + 0x8D6BA785, 0x1D9FE802, 0xB8F4EC20, 0xD5C714B2, 0xC1326D06, + 0xFCA78B3F, 0xC0065015, 0xA4B9F286, 0x53F92A8B, 0xF4B02DBB, + 0xEC47E64C, 0xA29FFB12, 0xBA94FFB2, 0xB6980EB2, 0x7415C83F, + 0x93F91A24, 0x4C6F7615, 0x34431174, 0xC7D63B4, 0xB1599158, + 0xA3A01FCE, 0xBD477764, 0x6B16EC41, 0x772D8BF5, 0x90F0A785, + 0x8F72672C, 0x7AD22CDC, 0x70824998, 0x1BED16D5, 0x596E84FF, + 0x48B5B4F4, 0xB20D0B81, 0xF00F7AFF, 0x80F618DA, 0xD10AFE11, + 0xA8EA3109, 0x91BA5E43, 0x31345A01, 0xEB0EF0F8, 0xCC6E7FB5, + 0x3348AE52, 0xEBB124D9, 0x447E58B1, 0xF2A3D592, 0x7F3EE5D8, + 0xD3D7B836, 0x9C98DCD4, 0x27F0B7A0, 0xA9655FD9, 0xAB48E5F8, + 0x7F996D8E, 0xAC13B08B, 0x2530AC6D, 0xAA542552, 0xD4E6B42A, + 0x6432AA64, 0xEAC84F76, 0x41D5F959, 0xCDE91DDF, 0xA0AA485A, + 0x6453698, 0x277C18A4, 0x161A497, 0x66FECAE2, 0x1B64683, + 0x948DD228, 0x1F3C5950, 0xFFC271FB, 0x15C4DF12, 0x7C78252B, + 0x9D4EBB89, 0xE6FA1D49, 0x6B032100, 0xB65DD3CC, 0x106BC9B5, + 0xE0223D45, 0xF7779B03, 0x4B0EA0C2, 0x3CB5AAF2, 0x9A458E5F, + 0x524090ED, 0x3BB1F18F, 0xB4DD065E, 0xA8F13E4F, 0xC4949ABB, + 0xD8142D31, 0x99069DE6, 0x989D2A16, 0xC72D929, 0xA2AC5754, + 0x7E29B714, 0x6E25C15F, 0xE8777078, 0x467DDCEA, 0xF94B2ACB, + 0xDF429476, 0x69AE316, 0x363C664D, 0x85D6AA1E, 0xD727E39E, + 0x5AF440A3, 0x2F0BB16D, 0x461D52D, 0x610559B6, 0xC28066D9, + 0x3C13AE61, 0xA965B865, 0x2BCE3D4A, 0x361C4848, 0x46B94657, + 0xF2AE634D, 0xD7FD4B8B, 0x70C175D8, 0x33128DF, 0xB9718A3B, + 0x8EF80C0F, 0xAB12E738, 0x124B8055, 0x43448325, 0x9F05E427, + 0xA0A9F843, 0x57A9A3FA, 0x492EEA32, 0xE73D2B18, 0xF3113C2C, + 0x2BA9B42D, 0xFF0B320, 0x3A18CD71, 0x59804367, 0xC37F9B87, + 0xB8A990, 0xAFE9F267, 0x1892892B, 0x25B9C66D, 0x52D4056E, + 0xCC1508CA, 0xAD213DB2, 0x8B43F743, 0xAA9705AD, 0x9BC756A2, + 0x43F42526, 0x596FEE87, 0x2B8AFF32, 0x46DEDB48, 0xBF06317C, + 0x876D4CF2, 0x16951456, 0x2B051AFD, 0xFD093E9D, 0x2F113180, + 0x77BFC4C0, 0x29200C52, 0x182D384E, 0x54AE29E0, 0xF90961E8, + 0x6072B8F8, 0x3D346F4E, 0x9AA5DBA4, 0xE5E22EC6, 0x392170DA, + 0x40939B9B, 0x65B89151, 0xC54AB94, 0xAD7280BC, 0xA3D4395E, + 0x3B5754D2, 0x9E77A6A2, 0x9A737F56, 0x9B2D432D, 0x8FDDA7E7, + 0x5958516E, 0x7F52CD74, 0xC1761A50, 0x2B80C01F, 0x5AA99F54, + 0x36FAA395, 0x5DB4B3AD, 0x82024C73, 0x988CEFE0, 0xB44498C0, + 0xF9561A4, 0x280470E6, 0x6966F3A0, 0x47E374F4, 0xF00F4CFF, + 0xBC5C4DB2, 0xE287924F, 0x1ED57369, 0x484FE06D, 0xE92E6564, + 0x7429DAD2, 0x1473AF49, 0x9619E0CD, 0xE6EC2B63, 0xF7A983B5, + 0xEC43C28F, 0x4C98EBE7, 0xA61FDF89, 0xA867E5ED, 0x1088A7C, + 0xCF1CEAE8, 0x223AA207, 0x686F4F7B, 0xEBB013E1, 0xDDC01886, + 0x77478D4E, 0x2FFCEAEB, 0xFCA58846, 0x1208668E, 0x32F8252, + 0x65C9F3ED, 0xC7584B2F, 0xF3EB26B2, 0x90890270, 0x5D97ED04, + 0xF5B5B18A, 0xCF415DF9, 0x4CF4683F, 0xE2E3F29F, 0x850E4BEF, + 0xDBABF6E2, 0xBD183286, 0x2F36215C, 0xD8CA1DD3, 0x4309CC6F, + 0x9FA52446, 0xBD94348E, 0x8693D9B6, 0x61E880C2, 0xA1851D5E, + 0xAAB94F80, 0xF8919C00, 0x74D82ECA, 0x4466A1B6, 0xA0A98E8C, + 0x95B6D1D, 0xE5393A4C, 0x5A40CFFB, 0x67013370, 0x571B0FDA, + 0x9E7E805C, 0x15E32653, 0x2CFE7902, 0xA02E0906, 0xA8883783, + 0x7A68B719, 0x3402833A, 0x68BFD324, 0xE0B43DA3, 0xF9DB0F, + 0xC9510610, 0x690D30B, 0xE79AB417, 0xC917E4C0, 0x7B05CE55, + 0xE116EFDB, 0x69E3B158, 0xF91ED58D, 0x1832D16A, 0x91F4EA17, + 0x3D24C408, 0x76A2C6D0, 0x99B19825, 0x2BF52475, 0xAD49289D, + 0x66238CD7, 0xAC1571F5, 0xA2EABC02, 0x889337AE, 0x3219AFFB, + 0x104B8779, 0x810488A8, 0xAC35416A, 0x2C6DEF85, 0x2ED109F5, + 0xCC8C6732, 0x97CD8E90, 0x339F3E81, 0x91486206, 0x2708D41D, + 0x1F2B19A7, 0x51A60303, 0x5E90E440, 0xB63092C8, 0xF1031823, + 0x971A06, 0xB624F6A2, 0x58AC0181, 0xA983D599, 0xA776D877, + 0xB727FE1, 0x55AC01B1, 0x4298EA17, 0x4D6BB9AA, 0x31C55C65, + 0x6A266780, 0x4FD92256, 0x817DB37A, 0x46A14DF1, 0xEC7D9F14, + 0x98D1C1B7, 0x911DF80D, 0xBFBF24E1, 0x9B4DBC6A, 0xE1F71BA4, + 0x9EE5E44A, 0xD1868C4C, 0x6FB45D76, 0x11EC8672, 0x1CED7F0C, + 0x1524A040, 0xA49DE9D3, 0x99FF328A, 0xC392F619, 0x52A856CC, + 0xDB0B0AE6, 0x67F0162E, 0x2C20D410, 0x4E23C4D, 0x828032EA, + 0xC2E7DFFA, 0x908CF524, 0x919F61EE, 0xF001C6F, 0xA81DDF65, + 0x5EC56647, 0x28385ACF, 0xBDD764C0, 0x75C853AB, 0xDF0ADD73, + 0xEEA9C63D, 0x804949F5, 0x658ACD0A, 0xD12F3F50, 0x1FD4F7EE, + 0x7F023D80, 0xD2CB08B5, 0x477EA9A1, 0x872DB719, 0x7B8B6AE9, + 0x84F6AC4, 0x81634EB4, 0xD1A89CF, 0xB3F4F3B9, 0x3A6B024B, + 0xAA2CA2C5, 0x9C902C0C, 0xC40E4135, 0x3C6E612F, 0x11219414, + 0x1F184277, 0x11B6B30C, 0xDD8A6A5A, 0xA0D21C9D, 0x55377022, + 0xD0708FBD, 0x8D761020, 0x54FCFCFC, 0x477801BD, 0xD6919EB8, + 0x9AD29078, 0x36F8D9B8, 0xAE525B8C, 0xCA7ED140, 0x2D8F8B97, + 0xD1B79EAA, 0x2E26FB2A, 0xFB396E32, 0x399129A3, 0x28B55FA1, + 0x2ECB2CF0, 0xDF1CBF7C, 0xDE57A70D, 0x33410B33, 0x7C5759BF, + 0xF534264B, 0x16C8C221, 0x874A3A63, 0xD05808ED, 0x679674BC, + 0x24B060C9, 0x4B162B53, 0xC7D01208, 0xE753DE61, 0xFA9840E4, + 0xA4FEC439, 0x4143E13F, 0x327E9EE8, 0x319D901E, 0xC40FC209, + 0xB1E1FFFC, 0xE737D52B, 0xD074E058, 0xAD8892EE, 0x86B93396, + 0x49C13F4B, 0x60A5721C, 0xD4C4F599, 0x14B38EBB, 0x86BA655, + 0x95F4E0C, 0x4217E99A, 0xD0CA3861, 0xBDD3617B, 0xB0BDBF4D, + 0x99E3389A, 0x8200DCFA, 0xEC22C8AC, 0xBA8DDB32, 0x3F7DDFC8, + 0xC7DDC171, 0x211CF31, 0xCC31A0C7, 0x99A84F32, 0xC9FFD317, + 0x2267733A, 0xFBD05569, 0x306BC05F, 0x6E2685D5, 0x43FBF7D1, + 0x5A2DB2D3, 0xE6491D4B, 0xAD078066, 0x7CAF7AAD, 0x2B1FEBA5, + 0x3418A0EC, 0xC359E9B7, 0xB024E024, 0x58F22A6B, 0x18EEE710, + 0x4755B9C5, 0x528D3273, 0xC8F9255, 0x635E5F9D, 0xABDF5BAD, + 0x8410F054, 0xEA068528, 0x438345EB, 0x56EF340, 0xBD86A7DE, + 0x543A126A, 0x5F259D83, 0x67EDA87A, 0xFF24F98E, 0x684E6504, + 0xE4EB57B, 0xD2D3B758, 0x4474D10F, 0xA94594B7, 0x3E4BEB07, + 0x95C3F257, 0x478B6FA8, 0xBCC7EFD8, 0x1023D258, 0xB4ACD6C0, + 0x36129B10, 0x16D7D9A3, 0xEA63BE7E, 0x25EC12A1, 0x21B95589, + 0x3A673799, 0xB8E04594, 0xAE98693C, 0x9879B8F9, 0x601A3F62, + 0xCF9897C0, 0x87CD1798, 0x629788F1, 0xC1337B31, 0x59D84E67, + 0xF13FA484, 0x5E8C7B3F, 0x7DEDE9F6, 0x9779F496, 0x74C4EE89, + 0xB3D9AC8F, 0x44118EFC, 0xB4FE8E45, 0xC9934560, 0x93D739E8, + 0xCD013773, 0x102411F1, 0x9DB63EFB, 0x63165875, 0xB8B97E98, + 0x6B4223D0, 0x6F34352B, 0xDB038A46, 0xC187163E, 0x17FE20D8, + 0x82A1BC9F, 0xB6860AAF, 0x11D5F9E0, 0x5371E14E, 0x20BC8445, + 0x607589A0, 0x8DDCCF44, 0xCDCD53C2, 0xCBCB32D8, 0xC512E661, + 0x1EB4E6CE, 0x228E99A0, 0x28EE0177, 0x76ED3F3D, 0xA3DA3300, + 0x17C57F91, 0xA1855C6, 0x3531FA3, 0xA93A8241, 0xC45D540C, + 0x365D42EF, 0x2CA39696, 0xE460F7D1, 0xCA32CCB3, 0xA6D9D934, + 0xAD01079C, 0x9B07D89C, 0x226CE0A5, 0x60D67762, 0xD35A4B7B, + 0xFF0A698F, 0xDB73BF89, 0xF41FBA9A, 0xCACDF26D, 0xBF594213, + 0xCD4D3E90, 0xD12F3EB8, 0xE689D238, 0x8CD4C0CA, 0xEB3E841E, + 0xA513EF0F, 0x2DF4B65D, 0x90161625, 0x9C02AC36, 0x208F328D, + 0x12BF5D93, 0x7C8C355C, 0x3CDFCA22, 0x29381080, 0x3FF6CA14, + 0x9F269C74, 0x8A48070B, 0x3BDF51BD, 0x85932156, 0xA7B6F9FF, + 0x80554507, 0x43820D97, 0x59B7214A, 0xFC3ECC27, 0xED39DB19, + 0x2B9BDB43, 0xABD4E298, 0xC2C5953E, 0xD3DB0C09, 0x66EC81DA, + 0x7F41EDE1, 0x5146E8D7, 0x49171DF2, 0xB334BF9A, 0x3AADC9E6, + 0x56E12468, 0xA2D4B032, 0x662B1F49, 0x9C448B1F, 0xA219526C, + 0x56D66A27, 0x41609345, 0x8E685EFA, 0x392DA3A4, 0xDE58C26B, + 0x9C779FC9, 0xCA834F65, 0xA1E34DC4, 0xEC5BE6EA, 0x3737B7AB, + 0x2E9B7D0A, 0x929E96B9, 0xE38B0019, 0xC1E4115B, 0xD8141740, + 0x66977F67, 0x7D4CE4B3, 0x245AB554, 0x26F98B88, 0xEC78F24D, + 0xE1F34C1A, 0x5737AD34, 0xC1A19AC6, 0x3291E363, 0x4E824FF3, + 0xAC42BDF3, 0x7C2DACE8, 0x8D5C97F6, 0xD120875, 0xC4E5C39D, + 0xE22AE85D, 0x290FF39D, 0xD495E52A, 0x95414374, 0xD65757A6, + 0x1E7657F9, 0xF5073D56, 0xC2AA7589, 0xC166A0B3, 0xA0DF8CDE, + 0x4057EAE5, 0xBAC4DD2F, 0xB51F621F, 0xA96F90E3, 0x392B5D6F, + 0xC31E9CA1, 0xCCC02FD3, 0x5181074, 0x7BC15C18, 0xCA9232A4, + 0xD1D104E9, 0x5F0C5D3, 0x4947F6D2, 0x3C923E97, 0x6B486C35, + 0x9C8ADA96, 0x175C4D87, 0x39A1A0FE, 0x417F201B, 0xD080E114, + 0x4847B147, 0xFD634E49, 0xBC0BF4CA, 0xECABB1DF, 0x869B0263, + 0xCD797C28, 0xD2A4683, 0xD50F6A0B, 0x2CA40138, 0x8DA4EB55, + 0x5D198E5A, 0xA98DB40D, 0x96CA0E68, 0xA8D92294, 0xC4813E60, + 0x81CD6B09, 0xEBBEBF80, 0x6777688, 0xCDAF6EC5, 0xEB85653E, + 0x3BB780DD, 0x73718A21, 0x70E8A324, 0x654DE06A, 0x2CB2494A, + 0xFC1DA829, 0x64059A2F, 0x61CE9D0D, 0x5BC51CAB, 0xDF7DE6AE, + 0x1596B477, 0xB0F9EA86, 0x9D87D85B, 0x877620A7, 0x586F3AD6, + 0x96AE645E, 0x65E9D5D7, 0xDB69CEB, 0x2753EF35, 0xC226F633, + 0xBD373F9D, 0xF2A0E198, 0x4372EEC3, 0xA66F7010, 0xD30E1D18, + 0x152C0DFB, 0xEB86FC75, 0xC208FE7E, 0xB36625A4, 0xBBE2DE8, + 0xEC49F9C9, 0xCE724FFE, 0x2D509471, 0xCA6C24B6, 0x1BA93DDF, + 0xEABE9550, 0xB512D359, 0x83F76766, 0xC8267976, 0x7E50802B, + 0xE3EC2199, 0xD3269B8E, 0xC515B0CE, 0xB5752537, 0x70474BD, + 0x7F50EBE, 0xF9FC0B38, 0xD899D19C, 0x317AA41D, 0x6B706374, + 0x66479538, 0x560455A3, 0xD770DD85, 0x55BB61BD, 0x6DE6723A, + 0x3F89034B, 0x9C9650BC, 0xE569992C, 0x7B8F4D95, 0x3FB7C516, + 0x7C28C04B, 0xA12DE6B9, 0x8CFC5AFE, 0xA734A25A, 0xCF1483E8, + 0x1AB22339, 0xAA94F43F, 0x16319A1E, 0x2C9AA4D0, 0xE9D2618, + 0x790B699B, 0x3AD9C3A1, 0x55A778DA, 0x6517152F, 0x2139AB74, + 0x12F762CC, 0x4BE02E6F, 0xE69400F7, 0xDC48DCD0, 0x563DB028, + 0x32299125, 0x7C9145A9, 0xFB88067B, 0xF070F6FF, 0x3D9A42FF, + 0xC5D20DC, 0xF96F7EE1, 0xA9C209A3, 0x9A192F36, 0x3E158AD, + 0x1265DF79, 0x2E49E297, 0x99D3A002, 0xE6AFDDCB, 0x3B56751D, + 0xB248A31F, 0xE6BE0FFD, 0xBBAB635E, 0xB383C45C, 0xA9DC9F2D, + 0x735CE03F, 0x69992E32, 0xD1E6A77, 0xE38A7F46, 0xC1E59620, + 0xFAE7F99A, 0xBDFB440C, 0x9F53F99C, 0x224EA340, 0xAB5D1AF0, + 0x35F3126D, 0x99430549, 0x83E12C62, 0x6403957B, 0x7B119103, + 0xC8382BAB, 0x99A85991, 0x9BF370AF, 0xDFA83CAF, 0xDBEC2CC3, + 0x416D8EBA, 0x774E58FF, 0x29C222F, 0x3DE60561, 0xDF038931, + 0x8297C377, 0x9867C08, 0x58ADEAED, 0xD88F0856, 0x6E4C2A39, + 0x2599DF28, 0xD7A6D06A, 0x433B35BE, 0xDAD3175B, 0xC358D423, + 0x84BF4580, 0xE7D3BE65, 0x9EC8CDBA, 0xCE901946, 0xC4B4D088, + 0x98B1245D, 0xFBB0CC10, 0xE8CB9C76, 0xDE665AF2, 0x28E46D8B, + 0xF7012A56, 0xE29F8C07, 0x8BF87AFB, 0x2907C051, 0x820923CB, + 0xC3E95542, 0x6AB5559E, 0x314BD068, 0x1CEB5637, 0xD1D830D, + 0xC442D6C2, 0x5F6074F4, 0x37F08A2A, 0x21F782BE, 0xF378B1AE, + 0xB7FC74DA, 0x4ACB450F, 0x365F3092, 0xFB0C842C, 0x5DD80554, + 0x741C4F79, 0x290716E0, 0x76E56BA9, 0x10006310, 0x42A183C7, + 0x5F1FB962, 0x8DE2BA39, 0x6176B6D9, 0xFC059A44, 0x9907DE39, + 0x71A5EA7B, 0x42309616, 0x1DDE34DD, 0xF0DFA4BF, 0xF69B5E2F, + 0xD145268, 0x49A3E7B, 0x90508840, 0x861DE564, 0x904730CB, + 0xC844CD6F, 0xD5A2CEB6, 0xCE895F0D, 0x73EEE4D6, 0xEB4565CF, + 0x533ED4ED, 0xF4AAB655, 0x591BC278, 0xBD1D929D, 0x80AD7DA6, + 0x527B3C51, 0x40F627DD, 0xDA420FFD, 0xB9A6F685, 0x5F6D9BC2, + 0x4F67DE58, 0xFB5F87F0, 0x47540936, 0xB2083BC8, 0xAD48DD69, + 0x63F7CA5A, 0x28D5372D, 0x61DA54B0, 0x7DA88170, 0xA2DA7B83, + 0xE1D70E32, 0xA3ADEA46, 0x97026868, 0x60FA4303, 0xA4104416, + 0x3DB4A8CC, 0x72F0F53B, 0xFF270297, 0xD5600E97, 0xD7D25D62, + 0x46DBCAC5, 0xFD61775D, 0x93E100DB, 0xBFE0E0C0, 0x8CE51426, + 0x8216C272, 0xE7300A56, 0x5A61C30E, 0xA7667C78, 0xBD23D39B, + 0xDC425756, 0x7AE9A42B, 0x249E8C42, 0xABB91D5C, 0xBD1334D5, + 0x8BCE967D, 0x5CF89EEA, 0xDB125339, 0x225E3C4C, 0xC5DDA12, + 0xA92903F8, 0xF2F29634, 0xD2AB3419, 0x396DAE59, 0xA02C965E, + 0x450B8DEF, 0x1E4911B2, 0x4F94BA94, 0x6802E7C0, 0x779671B7, + 0xC0B06A93, 0x65BF0119, 0x3D672B7F, 0xE7E68CA, 0xF173FBF, + 0x503C50F4, 0x3D8CA779, 0xD9BC10B2, 0xE6B89F78, 0xFC04B6F2, + 0x74B0E1B4, 0x3BB8594A, 0x5866C0E6, 0x125FBE40, 0x21239465, + 0xC00E2791, 0xD7957B76, 0x331D18CA, 0x87D0C340, 0x8D7347DF, + 0x296D2AA1, 0x8EAA71DF, 0x1D477388, 0x4F666705, 0x211D2B0D, + 0xA41C0741, 0xD8F7CEEC, 0x4C6EDC5E, 0xFE5DC02A, 0xAA83AED3, + 0x9AE501A6, 0xFF82168C, 0xDC638114, 0x4C345BA0, 0xDD7E0F1D, + 0x4C072ABD, 0xFF606768, 0x3CE74279, 0x93DED13D, 0xAB7A9752, + 0xAF27666, 0x784EDE4F, 0x7F4BE8A7, 0x9A45141D, 0x69E507FF, + 0x78BAC3AC, 0xDB2A62AC, 0x52561515, 0xA9DFA9A8, 0xCC51778C, + 0x886CC6A, 0x5246AD23, 0x68A7480, 0xBC267A85, 0x1FF771F4, + 0x5199BC1E, 0xF8CCD05A, 0x7BD65764, 0xC61A33FA, 0xC9F24B8E, + 0xBC0B1D9F, 0xE43E103, 0xBE3D7AAF, 0x39154AD2, 0x941C2098, + 0x1C26174D, 0xC63D21F1, 0xFBC6D732, 0x8C43AE71, 0x1495C044, + 0x9483EE96, 0x909A94F0, 0xC1B02D9E, 0xDF9A2114, 0x2F4883E9, + 0x4806958A, 0x209A2722, 0xFE514205, 0xEB85D85F, 0xC25BED82, + 0xEB2CEABE, 0x8B2A2EDA, 0x68641725, 0x10570304, 0xE53EE68B, + 0xC43FB1C1, 0x8F763232, 0x41ECC1D0, 0xE3E44CBD, 0xA1A68EC0, + 0xDAFA770A, 0x6996A5A8, 0x38407C06, 0x4FAD77B4, 0xE30E2912, + 0x47EE2FD, 0x2CDA167F, 0x88F915F1, 0xF3DF6195, 0x530FBEDE, + 0x2CFC1C0C, 0x47B21171, 0xDEC1A586, 0x2031A43A, 0xDAAD77AD, + 0x8BE637E6, 0xA6AC1EBB, 0x6AB9F2A3, 0xBFB5ED6C, 0x15792C44, + 0xFD3AB89D, 0x27A7E24E, 0x3E76999F, 0x77EE2E6A, 0xE505F3B7, + 0x429839A6, 0x6BEE7B15, 0xF61F0084, 0xFC20752C, 0x4BF79989, + 0xC8B4F8E8, 0x46B33427, 0x9F4BA3E8, 0x41B9354D, 0xEED27E23, + 0xA7FC575F, 0x279180C5, 0x141C3A06, 0x2C2FCEF9, 0x4403AA1F, + 0xD4496B6C, 0x25C33091, 0x452C754, 0x80534A0, 0x80842F72, + 0x3DB756B1, 0xEFD010BD, 0x1DE7F9EA, 0x5F9B1769, 0x55D9839F, + 0xD5B11F46, 0x941D69AE, 0x8C4F3D35, 0xE710E268, 0x2DFBC983, + 0x5D417C19, 0x7C2561F9, 0x25415FCF, 0xF331B119, 0x235B632F, + 0x9B1463A9, 0x8249E513, 0xB6F14826, 0x1005E62C, 0x2B1B4F3E, + 0xEF793550, 0xA90F6AA2, 0x77BFECE6, 0xA6E1C13E, 0xBCB6E143, + 0x2496D0ED, 0xF4A8D5F0, 0x29C27A0C, 0x7D231D55, 0xB8526623, + 0xDDDCB82C, 0x2A18B465, 0xB5FD564D, 0xA9647CB5, 0x4300919B, + 0x9FB2B27A, 0xDB25B0D9, 0xBB5D5711, 0xAA747FC4, 0xAA831194, + 0x9603ED14, 0xAF921A0E, 0xFA1447D7, 0x8B766768, 0xE8F1C89E, + 0xB7985D4, 0x6C5C1AEE, 0x2EA66EF3, 0xD176E7D9, 0x228CD940, + 0xD90C84B4, 0x36253A66, 0xADD7AE4F, 0xF25D5CA5, 0xD34F702F, + 0xA535AA29, 0xFCF10FB, 0x3D075696, 0x63EF7EF3, 0x81554091, + 0xC7EEFC78, 0xE0DCDB21, 0x62EFF001, 0x9ACFD7CD, 0xAEBA43ED, + 0x371BA99B, 0x508B7A31, 0xFF447B05, 0xA239F5D2, 0xA5620A57, + 0xA16B995A, 0xC334401E, 0x535F51AB, 0xAEA26D82, 0x81D72269, + 0x3C0BA1D2, 0x80590850, 0x818A26AA, 0xC43E6B02, 0xF72DFB63, + 0xE7AE3F6A, 0xD31AB683, 0xB99D787A, 0x691FFB53, 0x37EA1E35, + 0xC2C9FFF8, 0x2A13F6D4, 0x4CC79564, 0x6DD5F2DE, 0xC53560B, + 0x5A562B6F, 0x3F2C49F1, 0x6953F4CC, 0x8BA12AF2, 0x98A08428, + 0xA1EF80B3, 0xA977E388, 0x1A3DD9D1, 0x687A3424, 0x2759B568, + 0xC626A765, 0x7887651E, 0xFC9005E1, 0xE84376A4, 0x387BCF66, + 0xF7AA4980, 0xBAEE372C, 0xE89CF460, 0xA275FC1A, 0xA5EF8668, + 0x899F85CE, 0x9CB086A3, 0xF16158AC, 0x4C49EBC0, 0xDCE10FAA, + 0x4B46ABDA, 0x56947FA1, 0xAD4E7245, 0x54C23373, 0x8B0B6C4D, + 0x82590F05, 0x5E292D4C, 0x277B63C5, 0x9D51D8CF, 0x86D379EF, + 0x52CBEF63, 0x7A62AF4C, 0xAC1FA33E, 0x25D454AE, 0x1CDA792D, + 0x17434813, 0x759F50A7, 0xEEB0D38A, 0xB30964A6, 0x941230A0, + 0xA464FA3C, 0x9F8685AF, 0xB9A018F4, 0x8080362, 0x2D565F63, + 0xAB60790A, 0x67252A3C, 0x1715B01D, 0x5384E7F3, 0x79299519, + 0xA9786ABE, 0x1107A1FC, 0xE0D9B037, 0x4DD34883, 0xA7D476E3, + 0x5B194AE9, 0x89E50FB1, 0xA9676565, 0xC77CF621, 0x93612BF2, + 0xE027B80, 0x359C7FBF, 0x39B166FB, 0x1F3B28DF, 0x2848DE70, + 0xFFE261DD, 0xB78D413C, 0xE011DD7B, 0x286F752B, 0x74A8D775, + 0x5E540B67, 0xFAF973F, 0xC0035501, 0xB0F16059, 0x1C981017, + 0xD4871112, 0x9745C0BC, 0x6D85B805, 0xA40253E8, 0x2B0D55CD, + 0x8FF7EDC4, 0x47EB4ECB, 0xC41A2F17, 0x41C9702F, 0x8549DEE0, + 0x865FD46C, 0x64A1F181, 0x24E64D11, 0x13337A33, 0xE8CB0924, + 0x8A2DC003, 0x113C04C7, 0x1CA62E13, 0xC360E708, 0x57DE03AB, + 0x4D8F2BB5, 0x2CE2E2A1, 0x2580C90D, 0xBF162A7C, 0xEB1490A8, + 0xBCABC2A7, 0xFBC4C25C, 0xBC83AB6A, 0x25C47DCB, 0x8FE447A9, + 0x2C0F77CF, 0x6D896845, 0x63CEF5AE, 0xB2FF0326, 0x14D71520, + 0xA1C15C8E, 0xE53550FB, 0x676B299D, 0xC20A5C14, 0xDB3EC54, + 0x359733CE, 0x8A619B1E, 0xCDB53E, 0xD285EED5, 0xA6E0181E, + 0xB81AA3EF, 0x41F8E1A2, 0xE3DEDC6D, 0x4F7CBE5B, 0x24006857, + 0xACB9B719, 0x4E725B2D, 0x8536AF54, 0x329509E7, 0x72E7C0A7, + 0xBA97CC78, 0xD822798F, 0x9DFC6780, 0x63E263CA, 0x7B2397A5, + 0xA42C0C0B, 0x1D5EC588, 0x292F1E7C, 0x2BF5A75, 0xFCD8786B, + 0x14EB1952, 0x84031982, 0xA0800A40, 0x629C9211, 0x3B17F481, + 0x50861D9D, 0x8371A304, 0xB3D21511, 0x720E2C6C, 0x5A07F87E, + 0x868F95BD, 0x8617E7B, 0xD7762105, 0x90707C5A, 0x777473F4, + 0x67737DC4, 0xC4154562, 0x1840CEB3, 0x373635EE, 0x4E6D4EBA, + 0x1736A5EC, 0x4D3E335B, 0x59FDB9A1, 0x9162B39A, 0x3F9E1502, + 0xF661B3DA, 0x77BE0255, 0x65EC8603, 0x21FCA0B, 0x55291C5C, + 0x69F57B1, 0x5DE1E0D6, 0xA6296E1D, 0x595A45F8, 0x90B166DF, + 0x61ABB34E, 0xC6D48B5B, 0xB05EF88F, 0x368B0C6E, 0x94C36250, + 0xB435D440, 0xEFB62847, 0x1473E647, 0x9A101218, 0xC7AA11BF, + 0x80C241E3, 0xAF648F26, 0xDF48753D, 0x7073509A, 0xAB52665F, + 0xD1ECCFC0, 0x7BE293F1, 0x396CA014, 0x84336AB9, 0xF9B7E448, + 0x9566C90E, 0x239F7C25, 0x91A452B3, 0x1E9A4F1C, 0xCCE286F6, + 0xF46520D6, 0x2943A671, 0xAAA30DCF, 0x28D190CE, 0x88E3D0C9, + 0x423944F0, 0x81E6712, 0x2714B6B2, 0xF927748, 0x59A5430F, + 0xCBA530A9, 0x91E12A0E, 0x92598CBE, 0xE61058F5, 0x2604B4B, + 0x4CB7C3A7, 0x43B5812F, 0xFD90660, 0xD73DF50D, 0xAD3AE409, + 0xF74D721B, 0xCC2A88D1, 0xCED79510, 0xE64714DD, 0x3BDF0A8A, + 0xC2C7B689, 0x25B387D8, 0x968DA1A2, 0x8EA5D185, 0xF05F03E1, + 0xFDDC5B50, 0x78AECEF, 0xE32FBBA2, 0xD512F0AD, 0x5410D1B5, + 0xDBFD9FFF, 0xC0F2DD4E, 0xF66F8DBA, 0xF5EBA3C8, 0x65F96FE3, + 0xF7C8962D, 0x8E48A78, 0x255BEDC7, 0xE8FD3698, 0xFD1C4903, + 0xFDE9830, 0xCDBCF434, 0x16540D39, 0x418EF731, 0xB2F80637, + 0xDFCC0C9D, 0xB53DC5BC, 0x5A68B10C, 0xC4DCB3DD, 0x8B3778F4, + 0x7788B194, 0xECBD4903, 0xFD390223, 0x79598BFB, 0xBDECB9D9, + 0x29576BE3, 0x220F82A5, 0xDBB262F6, 0x1876EF0, 0xE2D9C444, + 0x32D5ADEF, 0x5F8739ED, 0xAF427122, 0x171E7D7D, 0xA5468BB4, + 0x94451936, 0x51565032, 0x3CE3CD5, 0xF231F54, 0x98614C6E, + 0xCE18455D, 0x958D2BD2, 0xA5934FE0, 0x3543931E, 0x77D9C2FB, + 0x3D3ED736, 0x6762E077, 0xF1B052A, 0x88AF353B, 0xB2A38925, + 0x8C919686, 0x715EEAAC, 0x34BA46DD, 0xEB486F1C, 0xDF58D7CA, + 0x90B97BE6, 0x37335293, 0x499414CC, 0x7F725BAF, 0x5ABEBF8, + 0xE9344F69, 0x1C110FD, 0xA937AD4C, 0xA7CDD9C0, 0x750FD5FE, + 0x7A7B6D40, 0x41EA948A, 0xA10EE17C, 0x7689C967, 0x9F411C02, + 0x6C40C3FD, 0xA6FFC648, 0xC6D6F914, 0xA100AF92, 0x4CD97ED5, + 0x17D9CCBF, 0x915833F, 0x788D78C0, 0xC81903A3, 0x6DE5BAF0, + 0x3E4D6DCC, 0x98415810, 0xEC23B7AD, 0x822471B0, 0xD2CF5D5A, + 0xA1BACAD5, 0x40843135, 0x430135A, 0xA7655BAD, 0x7A2472BE, + 0xCC3D44CC, 0xD1BC9E10, 0x7C215C92, 0x717FA7DD, 0x7EF7D128, + 0x1BC85798, 0x7C6E19CA, 0xE3FAB7E4, 0xBC884D38, 0x3E220CA, + 0xE7AE4D8, 0xC8EDD021, 0xF3F05D3E, 0xDE302EB8, 0x40CEFF27, + 0x56C0550A, 0x96162C92, 0xC004EA48, 0xE0C29A65, 0x496AE22B, + 0xC7468E6F, 0x8E31BD1F, 0xA53763CF, 0x166CC258, 0x1A2B9CC4, + 0xDBBADE7B, 0xF8D21AC9, 0xB21CA593, 0xB92F0DEE, 0x9A4391F, + 0xCDB4D373, 0xB687B3F5, 0x877BF0A0, 0xFD7395DD, 0x1C56AA87, + 0xCA146BB9, 0x21A2314B, 0x8207A2AC, 0xAA874DC0, 0x4F404E64, + 0xB69FDE48, 0x324FD456, 0x45F19CF, 0xFC7E6D0E, 0xC8A01C04, + 0x76C63378, 0xC526F7B3, 0xFDCD2EEF, 0xFFB2F9B9, 0x2DDE75AF, + 0x5ADF2F86, 0xC9AC84D3, 0x70FF53A0, 0x3FB077C, 0xC2795B30, + 0xF5438170, 0x557D7080, 0xB784684E, 0xCD089E1D, 0x332B71B0, + 0x493C3C2A, 0x1D1DED89, 0x8240E170, 0xA7D17522, 0x48C542AD, + 0xCB357D8F, 0x21E37C1, 0x3B000B34, 0xAAAE4818, 0xCD1EB4B3, + 0x1736CA0E, 0xDDF8EA2B, 0x76E21C4C, 0x6EE99A3C, 0x27F71B20, + 0xF6AE929C, 0x3C9CAF6C, 0x5CA7DA97, 0x8EF033C5, 0x8C7EC36B, + 0x3CB1CFAD, 0x1C5ABBB7, 0xDEF7A78C, 0x9CBC4A73, 0xB3871393, + 0x8C61DF59, 0x54DF941C, 0xCDD23FE8, 0x758EAD7E, 0x49BE795B, + 0xC960C6B, 0xE9B76479, 0xC88843F7, 0x82DC3137, 0xEDEE1A1E, + 0xC6568A7D, 0x42F7F484, 0xA6115655, 0x494779B5, 0xD95FE16A, + 0xB2AB15F4, 0x64C185B3, 0x9A46066E, 0x8BAE077E, 0xBAAE323F, + 0x79A965C6, 0x764B71F0, 0x3654F6D3, 0x96B4B2AB, 0x15C2B523, + 0x720AF416, 0xE6D0F423, 0xFAE44868, 0x6E776BC2, 0x264D41A8, + 0x3FE4BEE, 0x1598B97B, 0x15A70419, 0xA13CD124, 0x751A09E2, + 0xF7F7C12B, 0x718AC211, 0x11D03CD1, 0x2F9247BE, 0x77C210E1, + 0xA2268AAB, 0x2E99F0DD, 0x949D5CC5, 0xA8A309F2, 0x749EC6BE, + 0x5BD5124A, 0x8BF599E9, 0x3919AD4F, 0xA40901C2, 0xA1D4CC03, + 0x6ADCA36F, 0x9D5CCB0F, 0x870E2A58, 0xCEBC6333, 0xB2FA28A4, + 0x579C76A, 0x444849D0, 0x33887308, 0xB3BE3C75, 0x93745501, + 0xC289F137, 0x89739C7, 0x97C73423, 0xD627FB64, 0x6EE36F05, + 0x1F4B4B98, 0xFBB7A8AC, 0x60941E62, 0xC3A8ABDC, 0x4AC5E7C9, + 0x88ACE940, 0x5AA2AE59, 0x9F10C0B7, 0x8F45920B, 0x5FDE21BE, + 0x1D47779A, 0x3ED27D8B, 0x69FF2BB1, 0xCB1409FB, 0xF27F4FFF, + 0xA19E3DDC, 0x206050FD, 0xAD98C2D5, 0x4DA4BC0C, 0x95D9B019, + 0x556ABBFA, 0xBC78B5A, 0xF0F224F8, 0xA9785F8F, 0xED1CE98C, + 0xD368072E, 0xE212ACE5, 0xBB7F76E0, 0xB02F237F, 0x6D85C5AF, + 0x31539988, 0x4312BA19, 0x1D5023A7, 0x7320504B, 0x70563ABD, + 0x2553791A, 0xE9768150, 0xC1B2AF4B, 0x3AF0FD24, 0x3818D0E8, + 0x7F356F58, 0x98A15B0D, 0xAFA943C4, 0xB2B38831, 0x2E411F37, + 0xE3D5AF87, 0x67BEEC5A, 0x825E60CC, 0x1C44D856, 0x1A59493A, + 0x13BAABCF, 0xAEAA4D44, 0x5CFF2A6E, 0xFB47865B, 0xE778E607, + 0x101500E8, 0x2C17E66A, 0xA0B30350, 0xFC649CDF, 0x8B9802D9, + 0xAB87D61A, 0x21F38439, 0xD3D11051, 0x1FDA9955, 0xCB9313B8, + 0x327D1A94, 0x35293099, 0xB803B298, 0x5B8E6883, 0xFA309C3, + 0xDFDA8B2, 0xDF89211F, 0x9918F18E, 0xF0C05CB1, 0x71D8A4B7, + 0xE681031D, 0x537012F6, 0x4DF822F2, 0x34B75C8C, 0x4429F85E, + 0x5D3C4C4D, 0xFB0FC6C7, 0x25F4ECDD, 0xB19D5EFD, 0xD70FD7CF, + 0xD95C45D5, 0xCDAC06B8, 0x9C3B963B, 0xAB2F2A9C, 0x4D3D4F7D, + 0x12692C03, 0xB1AEF97E, 0xF243EFA7, 0x78C4C8DF, 0x182D9C17, + 0x8D2AF450, 0x7596BD9B, 0xE8E7C9C2, 0x86F617F8, 0x1F37A708, + 0x3F648305, 0x27FF6DF6, 0x4D5FF17D, 0xA9541C2D, 0x9773013, + 0x78B2313C, 0x82C0B20F, 0xD36A4F02, 0x8DB2BC4F, 0x9296D8BF, + 0xA983CC7, 0x31AEE908, 0x48CD7E6F, 0x9CB1DD7F, 0xAB89D57, + 0x5156132E, 0x6345AA59, 0x8D2CB12D, 0x94D3AE56, 0xA4E91B27, + 0xEE58338, 0x8620EA15, 0x5454D04E, 0x1142ACF0, 0xCA059044, + 0x31811D8A, 0xD498290, 0xB65F1B67, 0x462745F3, 0xA899191C, + 0xB9C19F48, 0x824659FE, 0x9A257101, 0xC330F34B, 0x42109127, + 0x9DA8504B, 0x6C3A989F, 0x5F426E6C, 0x2B922D32, 0x373C66FD, + 0xAFE3418B, 0xE3788682, 0x83B46626, 0xD0106A4E, 0xFD10B903, + 0xB0F6531C, 0xC65419E0, 0x3963952B, 0xB8799DF9, 0x3EEB8C1D, + 0x5C4D3C08, 0x6DD028A6, 0xA55678A0, 0xB8247141, 0xC1267586, + 0xF6746B19, 0x46C38465, 0x483D24B, 0x99BF79DC, 0x78F778C3, + 0xAFF40193, 0x58872B07, 0x6DA7F4FA, 0x66B5CEA3, 0xDD2D8C79, + 0x2A8D289B, 0xB5789670, 0x66AEFCE3, 0x56FB52B3, 0x20FE3BE1, + 0xCCDFB492, 0xB0F263E8, 0xD0707433, 0x5E58F5DC, 0x4ABEBE63, + 0x8A45CD95, 0x97037830, 0xBDB1F1B5, 0xA1BE2990, 0x57B718FA, + 0xD50EC023, 0x810DD849, 0xE650D43F, 0x3895C77D, 0xE142C382, + 0x35551E5B, 0x3B94330, 0xE92D8A91, 0x50BC837D, 0x61499A8F, + 0x2639B468, 0xF8FF36E1, 0x74956FC6, 0xFF0F4192, 0x6BBA0C53, + 0x5B44FF85, 0xBBE4A1DF, 0x12D6CB14, 0x6C679A10, 0x3C0F554D, + 0xECBADA32, 0x8A99BA10, 0x738C03C4, 0xB8902AC3, 0x7008D470, + 0x49BC2ED9, 0xFBE19B5A, 0xA1E4879A, 0x36129694, 0x94987C3C, + 0xE54B84D8, 0x9CFAEF1E, 0x527127DC, 0xA8FCAE0, 0x8699252C, + 0xDAAD4629, 0xC41F3866, 0x2559C272, 0xB1C25848, 0x3F9B1702, + 0x7C448BF3, 0x8CCEDF5C, 0x3A37F712, 0xFB9E4F83, 0x5754E801, + 0xB38FD367, 0x780F4825, 0x959330C4, 0xF6276BE5, 0xAE3E2018, + 0x182DC907, 0x88E733F9, 0x6FF870A, 0x79EF2D01, 0x3EAC0D6D, + 0x20D4FF88, 0xAE6EB8C1, 0x80810451, 0xC228E035, 0xBD942803, + 0x3F3733F2, 0x9F8F16F6, 0xAAA65031, 0x55E839BC, 0x7EAD3461, + 0x5F5BEE8A, 0x8668BDBA, 0x399366DB, 0x2A54237E, 0x776789E, + 0x7B171AF5, 0x8C9FCB92, 0xD87465F2, 0xFA3CAAB5, 0xBA5B131E, + 0x1FD2D438, 0xDCAA9DA, 0xE1BF0AAA, 0x1EAEA8AE, 0xEB46A646, + 0x989D1EA2, 0x98E8B45F, 0x12A2415B, 0xD107D293, 0x5F54D087, + 0x95AF5C33, 0x2A12BA88, 0x6381D0FF, 0x688EA1E0, 0xACC60CA2, + 0xF19636C6, 0xD4D465E2, 0x2A50DC57, 0xFB595CCF, 0xF5C63674, + 0xB4965626, 0xB903D3D0, 0xD9581548, 0xBBD9E82E, 0xE22BCEF3, + 0x9FE759D, 0x6E8D8F4E, 0x655325D2, 0xE1986814, 0xEA2B93BF, + 0x88085C18, 0xF82BFCB0, 0x3FCF713F, 0xADE03EDC, 0x2D2DDCBC, + 0xEDE2694E, 0xF6DFB11D, 0x5CF35A5A, 0xD38C82D3, 0x52DE32CF, + 0xB88EA70E, 0xF7FB134F, 0xAEC78D1E, 0x58402C66, 0x54CD1763, + 0x78A7EB4, 0x88F49C30, 0xDC17F8C0, 0x9C49A368, 0x926E18EB, + 0x4DD461E1, 0xA6BD8F3C, 0x6D2E4C31, 0x657506D9, 0x445EF83F, + 0x77E28461, 0xF715400F, 0xBB76D1D, 0x9B670CD2, 0xCEB9EB90, + 0x7F297088, 0xD3929A52, 0x9B62909, 0x46474012, 0x3D74DFDF, + 0x46288EF0, 0xF0C51C07, 0xEC642B66, 0x3C76B83C, 0x1E72D08F, + 0x9F95DC1E, 0x106883C5, 0xB6A867BD, 0xA532C423, 0x95076036, + 0xA9DBEA73, 0xA3F8C65D, 0x799CF6BF, 0xA4508346, 0xB37CACB2, + 0xF6A07B5A, 0xA2C24137, 0x2E1D8DEF, 0xD28C26AD, 0xCE745089, + 0x3B7D9638, 0x7189CE82, 0xBC3F7850, 0x5660A9B8, 0x13895B5C, + 0xFA59A643, 0x9B0FF4AF, 0xFD2B4FD3, 0x4C0C4E52, 0x272631DE, + 0xA52FAE47, 0x65850A25, 0xD51ACF2B, 0xD206E6EB, 0x3CDC96EB, + 0xA6FF9E3A, 0xFC601E27, 0x658EF7F0, 0xB45FF508, 0x36A9A571, + 0xCE75E7E9, 0xC4BF9261, 0x3A261099, 0xF1B1CE3E, 0x3D28A165, + 0x3435D2FF, 0x70830AAE, 0x8DFE14F7, 0x3E27CDC1, 0x97BE4BA1, + 0x33F8D0E2, 0x9B2E7BCD, 0x1923B1C, 0xAA248E78, 0xFDA8AEB9, + 0x7825E511, 0xBF20B777, 0x218E4234, 0x7B5D1181, 0xA08988A0, + 0xD9009231, 0xEB15A567, 0x47E045A0, 0x3C515808, 0x35194ACB, + 0xA476304A, 0xEF738BD6, 0xD035FB8C, 0x3B2013F4, 0x4DE60F26, + 0x361431DC, 0x82ECB228, 0xAB22266, 0x4E056EEE, 0x6642D288, + 0x48D851E3, 0xE05D55D9, 0xDC2D6D4F, 0x158F7F48, 0x5D7F7D5A, + 0xC2835158, 0x793509C5, 0x479DF33C, 0xDEF0696A, 0x9FC2BECD, + 0xF4EFC675, 0xF8D1FF02, 0x493D3BD6, 0x7FA1C10F, 0x641B324D, + 0x996DBDDD, 0x24098529, 0x81CCFC35, 0x47F0BE17, 0x5E241815, + 0xF7F62788, 0x261CDAF5, 0x10CBC4B8, 0x5D6C6A7B, 0xD671AE81, + 0xB2C8DCD9, 0xD215CB7E, 0x3403AB1B, 0xA7C5999, 0x4675A50, + 0x369C560C, 0x32C619D9, 0x4FD2E12E, 0xB4A20359, 0x37E93502, + 0x5EC0CE10, 0xB374340, 0xB0DF0419, 0x5960ED4F, 0xF0A7770E, + 0x7F504F30, 0x54A92972, 0x3E9848B8, 0xCD980ABE, 0xDE69D570, + 0xA9FDFFBD, 0x9812C681, 0xDAFCCF4E, 0x2B636CB5, 0xB2B9FF2D, + 0xB9972800, 0x701231C6, 0x2E1108F8, 0x8C323A3E, 0x20A17A77, + 0xF2C6CC7, 0x44C5FD1C, 0x731622D4, 0x9BF0C91E, 0xB61CD1B1, + 0x61FA9CF2, 0x5E460518, 0xF75A1C06, 0x417CCEE2, 0xB45E0FB5, + 0x53DC30E8, 0x500CBD7F, 0xED61DAE3, 0xEFE91818, 0xB56814BA, + 0xD37D84C8, 0xD5DA9ED7, 0x5F40F92, 0xF1507FAD, 0x2CC74A65, + 0x32AA6279, 0x33731317, 0x30E09F03, 0xE1D9C403, 0xC21E638A, + 0xA7394D05, 0x3879F710, 0xDBB52C37, 0xB7780268, 0xE268E178, + 0x9F8072D3, 0x97CC035A, 0xEE65287D, 0xA197441A, 0x21C8AFA4, + 0xB81B50A9, 0xAF6ACC93, 0x7BB55B77, 0x564A0BD4, 0x17F7A6A9, + 0x36627846, 0xDCE746EA, 0xBB9762DE, 0x47B5B8F0, 0xEF5DA4AD, + 0x1922E420, 0x15F9299D, 0x243DAB0D, 0x953C67A3, 0xF3DA71D8, + 0x57122A3E, 0x423A78B, 0xC4A53000, 0xFBE92583, 0x968F3AE, + 0x61629123, 0x792FA07B, 0xBF45729D, 0x99DDD38E, 0xA14565FC, + 0x268E9E3F, 0x7EC9286, 0xCCA1D92A, 0xF06519DA, 0x22396664, + 0xD5DAC24D, 0x71BB4DD5, 0x7D329BB3, 0x401DAB69, 0x19D3E40A, + 0xB6F40F32, 0xE8D1CAF8, 0x5CD5F35D, 0x6F662316, 0xD38D1A6C, + 0xF86E720F, 0xE165D1B9, 0x1BC14E79, 0xC19FB43D, 0x891C013B, + 0x44AED4DC, 0xA7351AAC, 0x5F707A18, 0x3850148, 0x4A425E1, + 0xF7DD6EBD, 0xE0C3FD0E, 0x8266A425, 0x3BA17650, 0x48753ADB, + 0x679FA015, 0x88771712, 0x2174B185, 0x29F9A85A, 0x1560964A, + 0x198E4FCD, 0xD3410A86, 0x9186793D, 0xDAFC5C35, 0x971F4CC8, + 0x1F8F0E8B, 0x11A884F2, 0x66E6D2AC, 0xE85ECDB0, 0x86C76472, + 0xDF3B3320, 0xEEF446A6, 0x834CF19B, 0xECEA602A, 0x46C680AD, + 0x807BA92F, 0x4B3FC42B, 0xEC229845, 0x3FE389C1, 0x63E042D7, + 0x6C855119, 0x7B1ADF33, 0xE1B9CAE0, 0x62C20BAE, 0xEDF0E919, + 0xA50FC7EB, 0x2399262F, 0xD6F88130, 0xE2ADA5DB, 0x7D07BC3C, + 0x36A922F3, 0x7693B84E, 0x3015CD0C, 0x1D1047A7, 0x5D3A75A5, + 0xEE6F1CA9, 0x734BD19F, 0x3308DD73, 0xCEBBC9FA, 0xF79DD5A6, + 0xA41CF168, 0xED762FD8, 0x6642159, 0xA63C5CD6, 0xCB96A282, + 0xA29D9F5C, 0x45CC6CD4, 0x344611EF, 0xC345FE03, 0xC55ADDE0, + 0xB2B8374C, 0x14F730B1, 0x301D9266, 0xA2D98FD8, 0xBC107DF, + 0x59905EE3, 0xDB3560DF, 0x1D49F4F3, 0x785F8E0B, 0x8B116097, + 0x56154F60, 0xE312D829, 0xE0AFAE9B, 0xEAE3692E, 0x95915B8F, + 0x83BEEE75, 0x48C1C92, 0x8166D95E, 0x697FECA8, 0x135DEBF9, + 0xF83E6507, 0x11570809, 0x4862CBDE, 0x820E288D, 0x6CA59B2B, + 0x49DF6AD5, 0x86F41C43, 0xDD128A28, 0x601198A0, 0x3DDD49CB, + 0x95F3ACCE, 0x500CD9D6, 0xF54A50F2, 0x9936957B, 0x7C881875, + 0x743B055D, 0x44FD7934, 0xAF2253BB, 0xA2F4A27C, 0xBA8E1C2B, + 0xCCFA3259, 0x892FC73F, 0x283E74B4, 0x86119027, 0x87961F02, + 0x1D015187, 0xBA83B762, 0x61948B32, 0xAC741667, 0xFA9E0E39, + 0xD440D9CB, 0xED93F9F, 0x5FA97905, 0x2F5F82D8, 0x92EC7646, + 0xC60B3F9, 0xAA28822A, 0x7BA7CD3D, 0x3E41A20B, 0xDE4441A9, + 0xC75E539B, 0xD9D568C2, 0x2DCAE06, 0x7762550, 0x21C2D5EE, + 0x95CB6C94, 0xE31FC800, 0x3C03C172, 0xE166E564, 0x359C5102, + 0x7F717599, 0xBE301B47, 0xB207FA5C, 0x38B8B24B, 0xE6EFF05D, + 0x9F09D305, 0x31A27808, 0xC56D934F, 0xB440BD60, 0x52B1AAC4, + 0x78654045, 0x106A67B8, 0xF2A861E5, 0xC45D72B0, 0xA8FF8296, + 0x97F475A6, 0xDC222733, 0x7A835D7A, 0x45774E9A, 0x9E558C34, + 0x1124605D, 0x1689FED3, 0x70AB9928, 0xADBF8E55, 0x9C09EE27, + 0xF95A8C49, 0x75CD52D7, 0x4FC7275A, 0xA46C29F6, 0x747D788, + 0xA3347E5, 0x5B08AB02, 0x13CDC08C, 0xEDB65176, 0x6B36600A, + 0x26F5AD2A, 0x39949D1, 0xA1C8F6E5, 0xEBF0CEFF, 0xAB60A06B, + 0x10E522E8, 0x80E056D8, 0x1B301392, 0xDC3E0B07, 0xE10174EE, + 0x25DC4733, 0xB4E5A24A, 0x4B569CFE, 0xCCFE9F0D, 0x19BDC038, + 0xF8A0A718, 0x9944E8E0, 0x9591528, 0xBF27BDF1, 0x2C160255, + 0xF9E2F1B, 0xCE4FD96B, 0x703B2A77, 0xDB6EB2A7, 0xBFC2FA6A, + 0x11D00F81, 0x9540FD8D, 0x75849882, 0x183AC87C, 0x91DD1783, + 0xA3A0CC0D, 0x47F1CED1, 0x4DA4EE62, 0x819BA59E, 0xD5DA1DA5, + 0xDC218BF5, 0x899CC3A1, 0x1DECAD82, 0x77E193A5, 0x9F390C10, + 0xF5FCD674, 0x1E43657A, 0x6B61D25E, 0x99B9140E, 0xFEFB9CF9, + 0x6569445D, 0x14C9A2AF, 0x85A33FB1, 0xE4029ADE, 0x4FABD0FB, + 0xDE02379B, 0x65C8311F, 0x3CF60630, 0xC8B179FF, 0x9D83CE64, + 0xFF683C7E, 0x6D796948, 0x249B0AFA, 0xC5A65FDF, 0x252DA26D, + 0xFE92E52E, 0x90D081E5, 0xC5A8E180, 0xEBDB0943, 0xB0E7C78B, + 0xD5A89E4D, 0x684EE280, 0x8AAB613C, 0x6BD1547, 0xD12F7355, + 0x9C5D1363, 0x91E410A4, 0xDC841FBA, 0x703A9371, 0x79F8663, + 0x553650FC, 0x633CA726, 0x20107BD7, 0x2565F252, 0xCDD93830, + 0x3446CF7, 0x92B6B42A, 0xA070B2D1, 0x5E0384D1, 0x7CC5A19C, + 0x6890558F, 0x10D308AA, 0xDFF3016C, 0x1093AA3B, 0x8927683A, + 0x9259502B, 0x2B544B7C, 0x419B1B1A, 0x22D9E939, 0x568ECCEE, + 0x4F3CE09B, 0x8B990521, 0x8D6906A3, 0xC15DEDC4, 0x98384A4A, + 0x8F2F2652, 0xEDB9D614, 0x1D010AC3, 0xA2CDC134, 0xEEE9A9ED, + 0x241DB9A2, 0xE9DB9AE7, 0x7A788F9E, 0xBD0778B7, 0x27373539, + 0x7C6B4A4B, 0x3C7A6B37, 0xDE1C625, 0xC1256E67, 0xB8E69163, + 0xCC05D09B, 0x728A1427, 0xECAC2530, 0x1DD40BC8, 0xEFE42E56, + 0xB4266BE0, 0x9AD3F869, 0xDDFC2F60, 0xEF29B3F7, 0x7C15F90A, + 0x705C2992, 0x99AC7AEA, 0xCF1F09A0, 0xB41F14D9, 0xBF3C252C, + 0xF3483286, 0xD3AC398E, 0xB84BC93D, 0x6B780D11, 0xF682D379, + 0xB8A062C2, 0x9A003A9E, 0xF18F54FC, 0xDE81BB83, 0xE84C5234, + 0x37CB67FA, 0xDB685C6, 0xBF2BF28D, 0x8CDE583, 0x94CCD0BD, + 0x8BCAF516, 0x31BE93C2, 0x3ED4B623, 0xCD23346E, 0x8254E7A0, + 0x6091EF1F, 0x17A42562, 0xC9821677, 0x447B6623, 0x19D9356C, + 0x4A1C1953, 0xD1F3B7F9, 0x99F8388D, 0x62F22304, 0x5EDF1ECA, + 0xB6C9FC2F, 0x42968E22, 0x531BD76E, 0x25E6A95A, 0xA1669784, + 0x8B915BD2, 0xA5E21483, 0x5ABE3226, 0x605C0E15, 0xFDE713CC, + 0xFAC58D3B, 0x44FAF6E8, 0x41E2D699, 0x8EE11E34, 0xB03BE4F6, + 0x75054C0D, 0x1AF2D37, 0xF38E6829, 0xE7F2A519, 0xC9CF2CFF, + 0x996DDE8, 0x395AC493, 0x42AFF184, 0xB380B71C, 0x11AA0B90, + 0x66DC636, 0x56557CA8, 0xCB8CAA43, 0x9EBF806E, 0x63F66159, + 0xA011191D, 0x17B0AED3, 0xB9621251, 0x2B189E3, 0xD45A5D7, + 0x23009D12, 0x5DEB7918, 0xFDFB1FC8, 0x46808A73, 0x91D29330, + 0xF872C15D, 0x7BE90206, 0x257E9FCB, 0x2E52FF67, 0x1852DDF9, + 0x6A2C5C49, 0x6ACF891B, 0x29FFB0E2, 0x76E32CD2, 0x588799, + 0xD71D970E, 0x9B079EC8, 0xEBD25420, 0xDDB60276, 0x761B106F, + 0x871473C4, 0xBC697CE2, 0x5378E0E9, 0x8DAECE28, 0xE5B275FA, + 0x6E6E332, 0x853884E7, 0xD0FFF1A2, 0x722D372, 0xDD5A754D, + 0x87CDDA3C, 0xA9B629C0, 0xAB2E650D, 0x1709413D, 0xDAE63819, + 0xC60DE8CA, 0x9F344BD6, 0x8E651EF9, 0x3B6A8019, 0x95CC1296, + 0xB12DAEAB, 0x8D550156, 0xF14E85AA, 0xD2547469, 0x6336E320, + 0x223B05B9, 0xB88AD493, 0xEE14916F, 0xC78AF1FE, 0x65FC2787, + 0x778FA85F, 0xBA23A57E, 0x957EA954, 0xAE4F9577, 0x47C38D4F, + 0xDB7BCDC9, 0xBA13E42E, 0x46B01094, 0x1A15F5E4, 0x315AB789, + 0x9E44B54F, 0x8C690B2F, 0xDC4954CD, 0xF176F3FF, 0x9B154C06, + 0x112BD6D0, 0xCB120BBC, 0x11101771, 0x1F29A19D, 0xC3F8193A, + 0x805D6739, 0xE3B00ACB, 0x23DD9494, 0x4F88EBA5, 0xE6F32E0E, + 0x4B76F089, 0x43B66BEB, 0xF2420B12, 0x2CFC5E01, 0x1C68D3DC, + 0x30C1BD38, 0xF3A0FCCA, 0x2AF13CD5, 0x13E38185, 0x2DEE2A21, + 0xFC318E26, 0x1954D4B6, 0x3FB86424, 0x24D698F1, 0x4AB76D48, + 0xA9E87BD9, 0xCE1DD2F2, 0xF5904D9F, 0xF614DB18, 0xF83111D, + 0x1FB56EFD, 0x5CBD08D8, 0x2D8D4884, 0xE388C534, 0x413D5BB8, + 0xEB6D14D6, 0xAE54E361, 0xF73D926B, 0x43F27197, 0x7C50A2E5, + 0x10EDBD6C, 0xD151B569, 0x47C50C06, 0x8FD59E74, 0x551C6841, + 0x2EC2B6DC, 0x5CEAB3A9, 0x1E6A1609, 0x3FB07FED, 0xC0D5849A, + 0x6354A21B, 0xEBF18830, 0x2BB3EBBD, 0x9D4DF510, 0xBBBE1103, + 0x918D6DDF, 0x3FEE7A8B, 0x4FC47254, 0xE0E1EA65, 0xF3DDB31A, + 0xADF8DE67, 0xADA31FAF, 0x2BC0B8A2, 0x184B7432, 0xFDB2E733, + 0x236B014, 0x21062C, 0x8FAAD8D7, 0xA1DA7E44, 0x3EF7F42F, + 0xA67AAB82, 0x9238F0D8, 0x42F93C63, 0xEF0F4BA1, 0xE61DC644, + 0x994EF92C, 0x71A58613, 0x371665E5, 0x82E77BA1, 0x2FFA1DAE, + 0xFE19AAA0, 0x95C72A53, 0x6A21395F, 0xC03F853C, 0xBC7B73BC, + 0xED62A949, 0x4F7D3C52, 0xCACFB353, 0xA1629BE9, 0x16255784, + 0xAE465FC4, 0xE7FC2626, 0x5E9B0FC2, 0xD109084D, 0xE30E7B89, + 0x94CD7424, 0x6127AF6E, 0x7D08ED7, 0xFA0B9293, 0x450A112F, + 0xD0D79344, 0xA204F8B0, 0x5F825780, 0xD681148D, 0x71C6AE83, + 0x1DF62587, 0x99ABC8A6, 0xCFEE8131, 0xFCD11719, 0xD0D48B0E, + 0xCC4A710E, 0x7414791C, 0x22167734, 0xD17FE049, 0x5BF15C46, + 0x30B718E0, 0x6E85104E, 0x52F72575, 0xA17F09E1, 0xCDA7B24E, + 0xDAF7D03B, 0x3632D94B, 0xBAF4E9EE, 0x390CD998, 0x168C055E, + 0xBC2D8D0D, 0x35E9F642, 0x89757E1A, 0x2BB98011, 0xC19BCD15, + 0xEEB73587, 0x6A5194EB, 0xC2C1B4BA, 0x3C8F73FC, 0x8F075D29, + 0x42D39406, 0x6674167A, 0xC0904A73, 0x1158FE6B, 0x4CAD2FAD, + 0x9A7EC8A5, 0x651960A6, 0xD0329ECA, 0xF5130525, 0xCC7C40CD, + 0x259AA3D8, 0x9669412D, 0xB92D39A5, 0x29B217D2, 0x27A07E25, + 0x9AFFD359, 0x7E8F5AC9, 0xCF7C0F61, 0x5B4F8D7D, 0x31C4E97E, + 0xBDB9599C, 0xA85BD7E0, 0x87F0BAAB, 0x2852E628, 0x377BD41D, + 0x4B54844, 0xDABF47AE, 0xA1B7AF6B, 0xCCF57165, 0xA90C4348, + 0xDC1CE2FB, 0x42582D37, 0x2892F4E0, 0xB89AC8E9, 0xB2718E40, + 0x93BCCE08, 0x5606C693, 0x1952D10D, 0x96609D8F, 0xEE3BC3C7, + 0x2DFA50E8, 0x5582FD75, 0xBDC2618C, 0xA3D922EE, 0x8F766106, + 0x184ED901, 0xDAABDE09, 0x40CBD4E2, 0x4A9A2A70, 0x9814D393, + 0xE394A090, 0x9EA06A4F, 0x2EC8C8A2, 0xFD2EAFF0, 0x2F6C96B5, + 0xBB17EF37, 0xDA677FE2, 0x2357E330, 0xA8C9DDED, 0x735A7B2C, + 0x41C2B39C, 0x787E099A, 0xFBF8204F, 0xA56A4B69, 0x7DE2860, + 0x34299BB3, 0xD1CAE881, 0x5F452DDC, 0x700904E8, 0xC3B47017, + 0xF7040305, 0x5C42BE94, 0x88AAAE53, 0x9FCAAD72, 0x2774D420, + 0xDD685357, 0x80499592, 0xC5FB26E7, 0x90BA598F, 0x4A13D60A, + 0xC6D5F72, 0x97C35532, 0x6580493F, 0x9D31E266, 0xEF926A38, + 0xF68CF9C6, 0xF770C570, 0xCA18C06A, 0xFA2BB2, 0xFBA375DC, + 0xC2FE76ED, 0xB91611FA, 0x528A8EA5, 0x360A527, 0xF631D04B, + 0xF0C67ECF, 0x4E490A69, 0x19DB46F0, 0x497DFBF4, 0x58E490FC, + 0x24A51378, 0x186BDC14, 0x90E633A3, 0x6D6F8D95, 0x2FDE02DD, + 0x4B2714A6, 0x6FC87FE0, 0x21569667, 0xDCC31F06, 0xC9D9DFD0, + 0x830AA4A4, 0x78FBFE69, 0xDF17CD55, 0x3952AAA7, 0x9A4B5A7D, + 0xB1EBF3EF, 0x4F3BC1C9, 0xDFEEBF40, 0xAB130CC8, 0x1EB84425, + 0x4625E802, 0x20B990D6, 0x4E36869F, 0x5EEC0472, 0x29194460, + 0xCA425ECA, 0xEB0742C, 0x17D07C02, 0xF38BCA14, 0xBC9D555E, + 0xF15822E7, 0x89CF96E0, 0xAA848F9C, 0x90731AC9, 0x86EECBE3, + 0x308F3257, 0x5FF375DC, 0x1E62C041, 0xFDB6A3E7, 0xDFEBED8E, + 0x8FC77E76, 0x6973E542, 0x2AD1616C, 0x99B549C6, 0xD28CF364, + 0x88C87768, 0xECA2CFB, 0xA0D0B060, 0x42DFFD8, 0xAF80A6DE, + 0xFF323760, 0x1CB2DAAA, 0xD11DE4FC, 0xEEBF565A, 0x9C986CAC, + 0xC1C95B3F, 0x6868BF0, 0xF5604930, 0x316DD9EF, 0x1231D331, + 0x95E38E67, 0x7D30C191, 0x354804BA, 0x265EE5E, 0xC6728C70, + 0xD36F32D0, 0xBBEA0ECA, 0xD055ED76, 0x9135E317, 0x8A7B9770, + 0x4D1344B0, 0xE9F29AE3, 0x7BA303B9, 0x2C38AEC, 0x82ABCBA6, + 0x7729F177, 0x71793932, 0x6FE6E38D, 0x1F8416B, 0x147D8310, + 0x6A962FEC, 0xFE2F100E, 0x4FB1D511, 0x3D38AB33, 0x58ADC416, + 0x64B07504, 0x458CC4B4, 0x584BC93E, 0xDE49B6D1, 0x7347876, + 0x4A2C3EB6, 0xDF5DE09C, 0xBFD376DC, 0xC9F451C5, 0x5F793A0, + 0x892952A2, 0x15060767, 0xE1E3B589, 0x4D513C3F, 0xAF3D2CC7, + 0x289DAA2E, 0x8C711417, 0x62E5E006, 0x3BECED98, 0x99E73ACC, + 0xDE156054, 0x1283655B, 0x5123FC41, 0x3DE21841, 0xC032F050, + 0x94B5151F, 0xA5577757, 0xCC0C8DF, 0xBDB52821, 0xD530FAAD, + 0xD070D8FC, 0x46F5BB68, 0xB02DFF88, 0xD4923EA8, 0xC85A5622, + 0x93E834A3, 0x38E84468, 0x79408C75, 0xCCB635, 0xE76BADA2, + 0xC2296DA1, 0x711543BB, 0xF441F4A2, 0xBD18127C, 0x8385BFB9, + 0xD350D4D, 0x90FAF999, 0xABD1A695, 0xFCEE12C7, 0xF428912A, + 0xC9759F80, 0x6DB6491, 0xD1421D30, 0xBC398DC4, 0xB8E0A889, + 0xC854AA72, 0x82CAAF64, 0xBB6A65BC, 0x6DCB2D0B, 0xD215ADB, + 0xF45033DE, 0xC1300029, 0x665C61DF, 0x756D1875, 0xBD2CF722, + 0xC477E3C7, 0xDDD97C9B, 0x89AE48E4, 0x65000FDC, 0x1FD717CD, + 0xBEEA764A, 0x8FC2DCB7, 0xA162EFB3, 0xD4AC2490, 0xCDA9A72A, + 0xBFB4EE17, 0x66C73CBB, 0x6B7CB021, 0xCC5AF099, 0x5389E8B7, + 0x7668286B, 0x31A223BC, 0xA66475FF, 0x9C3DDA93, 0x2F3171FE, + 0xDB89A7DA, 0x1699616B, 0xA380F010, 0xB05D7388, 0xD774EA44, + 0x64D6091C, 0xF23298F8, 0x71C88081, 0xF90C4A04, 0x2FBEEA4F, + 0x2F9178BB, 0xF8723D8A, 0x1C07FCC8, 0x36D24E08, 0xE02A8B61, + 0xFD6312AE, 0xA7DDCE9B, 0xAE45AC52, 0xCA2EC55C, 0xEEC6BE42, + 0x244F3D79, 0x994FB339, 0x8316CC43, 0xE3CEC898, 0x8D37639, + 0x833D21BB, 0x4333A2F7, 0x95F3B0C0, 0x7258174C, 0xBFCF0EF7, + 0x9A7F4883, 0x71F2406B, 0x16B2BA04, 0xE1BCEA70, 0xE3C6798A, + 0x3FBF481C, 0xF5A8D117, 0xB37ED250, 0x49AB5E0D, 0x2793A7EB, + 0x45DF69A7, 0x4EE4B815, 0x98259530, 0xC223CA40, 0xDB7B208A, + 0x4AD3C0F7, 0xE7C33E50, 0x49FD7631, 0xA228021B, 0x2C27FCB2, + 0x5F77BCF4, 0x65D593D4, 0x7C700797, 0x6E67920A, 0xEABAF033, + 0xBFC8B68B, 0x8835B368, 0x90CACC99, 0x6B90E022, 0xF2466D89, + 0x432DED25, 0xEFC94B45, 0x3116C3E, 0x1BBFBC45, 0x8FBC3D21, + 0xFB2039AA, 0x50679156, 0x450F8837, 0x73C7F87D, 0xC27898A7, + 0x7F48E602, 0x5064FCB3, 0x1EB6F58F, 0xE647C845, 0xBC8E84EC, + 0x5C4B8FFC, 0x440A88B7, 0xA490480E, 0x371DC115, 0xE1F236FE, + 0x4D65A2C5, 0xA965B0B7, 0xD05512FB, 0xDFAB9656, 0x191C627C, + 0x56B7FAC3, 0xF304A2E4, 0xC7ED6DF0, 0xD09B8C49, 0x1A1E777B, + 0xE70746BA, 0xEB582E9C, 0xFA6014DD, 0xB3B67784, 0xD3F64D81, + 0x318872EA, 0x4D241611, 0x134DF119, 0x2EA55DFA, 0x71A8D182, + 0x15AFE856, 0xD5CD885A, 0x5EA2B899, 0xF87BC7FC, 0x25DE8D6, + 0x93837315, 0x341C3698, 0x58534F, 0xF10652DF, 0x18C92AA4, + 0x17E969AB, 0xC12D08D, 0x6B0D0FBD, 0x40ACD3E2, 0x8C3AD43C, + 0xFDE55C9D, 0x25A58094, 0xBBCAB168, 0x2F06ECA1, 0x9D23A101, + 0x6F850449, 0x769C743A, 0xB63FD349, 0x3B3C852F, 0x1EC89061, + 0xFE8C7369, 0xA19C0F73, 0xB682F1D3, 0x48DAE3D4, 0x7F9FD390, + 0xEF784A6E, 0xCB23F15, 0x7BEB1E0E, 0xCBE90203, 0x6979F11D, + 0x251C50A4, 0xDAD9C59F, 0x5E4E5BFD, 0xCCD4DF48, 0x72BD66E, + 0xE7FB1B35, 0x75B4B83B, 0x29E9282A, 0x2590317D, 0x7835F9A1, + 0x25D3602C, 0xCFEC2E4F, 0x9CA2B0E7, 0xA4714302, 0x8F3D53C4, + 0xDE00F109, 0xC26D6273, 0x3E8DC623, 0xE3A972E2, 0xF67DF096, + 0x781682A5, 0x6C16F144, 0x49DC8D17, 0xB2EB82EA, 0x3CB93D91, + 0x44D4D3C4, 0x556040F, 0x1406DD74, 0x55FA83ED, 0x91C35357, + 0xF5A1C63, 0xA64E34D0, 0x7DF58C80, 0x62E97E52, 0xFBA1A2FE, + 0x8CB29D60, 0xDC1AEDE5, 0xB260BBF, 0x1AD9C6A6, 0xC60E9788, + 0xAD9DFA42, 0x2E422C17, 0x51CB5E86, 0xEB840466, 0x2666D5D8, + 0x7A0F7C62, 0xDE052A31, 0x6F0330C4, 0x9142D4AD, 0xDC8578C9, + 0x978F3E76, 0xEE43CB4D, 0x14E7EFC7, 0xB50B064B, 0xD7FB2900, + 0x67C4F4A3, 0x4D1193D7, 0x5091FB73, 0x3EB9C846, 0x960BE069, + 0x88250E7E, 0x94503385, 0x1C1F244A, 0xCFD72CE3, 0x8CD5F105, + 0x2B34131F, 0x60D266E2, 0x16BA806A, 0x25C25A42, 0x5FF6C068, + 0xD23A191F, 0x7AB5C53D, 0x9EA37FBB, 0xD1AD4B07, 0x40BCB39C, + 0xF45C8526, 0x80FEF5BF, 0x197D6D43, 0xD56FD4D0, 0xF39E498B, + 0xFB4F6847, 0x84DF289A, 0x2246F5CF, 0xF979B823, 0x42DCD843, + 0x1AB1BB0C, 0xABEC5FCE, 0x6E7EBC1, 0xE013DB54, 0x73BC8A04, + 0x88D0F71E, 0x4D93B6D8, 0x57B0B7CF, 0x99371728, 0x86B129E9, + 0xF4EB3DD2, 0x6956AA9D, 0x4C84AA0, 0xFD22CA10, 0x36E6915F, + 0xC830D7EA, 0x1EE1666, 0x1036A43F, 0x3FC86E7C, 0xF10F9CD2, + 0xEFF5F21B, 0xBF9082E0, 0xDD0DD00C, 0x80524F27, 0xDD5A3222, + 0xEA53B93F, 0x7FDA09AC, 0x89840C97, 0xC3A9BDCF, 0x1EC26899, + 0xEBCAF99C, 0x2EBB3226, 0x936A3254, 0x2E1E1786, 0x57E4CB9C, + 0xE5CDBE5, 0xFBA2458C, 0x48F3D0EF, 0x74FD06AB, 0x96C30795, + 0x14FEF0E9, 0x2F5FBA0C, 0x3CCEA60E, 0x7BA0354A, 0xCD7329FF, + 0xD4169550, 0x5FAA5E66, 0xF0C25CA2, 0xEBCC8065, 0x3F147D8F, + 0x5ED3293E, 0x6457117D, 0xE4CF4B98, 0x11F1E74E, 0xC13F47EC, + 0xBC7E22DC, 0x22512D19, 0x9140ACBB, 0x490D52F, 0x3E2D54C2, + 0x9FCBBC1B, 0x89646A33, 0x9FE4B65F, 0x92CE9ECC, 0xFBD59FB9, + 0xCE95DAD1, 0xBBCDE794, 0x9C0FA1C6, 0xCFD90F8B, 0x494C1770, + 0x21AD2AAE, 0x58EC00A6, 0xB0848A25, 0xEC4FEB5E, 0xFF1517EC, + 0x52871C07, 0x105E05B0, 0x178B1913, 0x18023805, 0xB16BBC6B, + 0xF8522A7F, 0xB17DEC22, 0x3808ACAC, 0xBC5B9043, 0xBEC01BA4, + 0xBC6CDA0B, 0x17906D50, 0x8422829F, 0x51C9AFB9, 0x54F78CEF, + 0x72CEEA16, 0x76A74B94, 0x7EC063E2, 0x51C65B1D, 0xD97ED9B8, + 0xDE89F034, 0xB5AEEFA0, 0xB88D3E9D, 0x9D4C57AE, 0xC8CEA9C1, + 0x941A74D3, 0x8E2FC33, 0xEDCEB551, 0xB91FA3E4, 0x8BA2261F, + 0xE558E0F2, 0xA4E81979, 0xAAE31455, 0x70B62249, 0xD48D1A67, + 0x11767EB6, 0x823DFECA, 0xC815C538, 0x2AB67EE6, 0x22FA86BA, + 0xD7A1F96C, 0xBA96E382, 0xB75B3FB7, 0xCB705FAF, 0xD1B9D3E2, + 0xD4C8DC2F, 0xF954B0A5, 0xDABE493B, 0xCA3FBB37, 0xBBDC387C, + 0xA30C87D6, 0xB5B493D5, 0x584F5615, 0x90FB6370, 0x5544A92D, + 0x980F7FA2, 0xF1459235, 0x130B11BD, 0xC7A44998, 0xFEBCA776, + 0x7943BE84, 0x72C99B04, 0x353F6042, 0x66F5C2F2, 0x9C5B2CC5, + 0x9FF06E41, 0xAC9E5492, 0xFF9A1CC8, 0x4429DE05, 0x97845307, + 0xDBA36668, 0x40BEBB2F, 0x606DBA6A, 0xDE7A4225, 0x9AF7FB71, + 0xE97A0E6C, 0x99C2AA59, 0xE00C525B, 0x5D4F9521, 0x89C5D7BB, + 0x18481C9F, 0xA27A1F59, 0x2A6267A3, 0xC467981A, 0xE04CE94D, + 0xAAB2AC1D, 0x5FD1AC86, 0x8F33E395, 0xE1FBE285, 0x636C2961, + 0xD838584E, 0x2F845D90, 0xAD52A8ED, 0x8F8C841B, 0x829A3861, + 0xAA0FF413, 0xA079F240, 0xB15D507B, 0x93722B10, 0x833AF929, + 0x4FB5B879, 0xEDD3031D, 0xE22CE740, 0x9ADF835A, 0x13A0C7A3, + 0xD5791B98, 0x99D9409F, 0x9F776A0E, 0x8665EC9F, 0x7301EF7C, + 0x9B341035, 0x59EADE7F, 0x242C1ECA, 0x20FD13FD, 0xE22DAF76, + 0x3859E84D, 0x6ED83DA, 0x54ABF391, 0xC43F4740, 0x4661F86, + 0xC6442213, 0x7FEAF294, 0xC0CAC024, 0x38B9FA9C, 0xFFF33259, + 0x1AD86335, 0xB365445F, 0x54B58378, 0xFD7AE96A, 0xE019B245, + 0xCF51C4EC, 0x604D7EE, 0x7B40C023, 0xA5E168B0, 0xD7B8C643, + 0x91C028D3, 0xCB939A6B, 0x169B0123, 0x96FF8CFA, 0xFCB3E126, + 0xB95C01B1, 0x1758BFB6, 0x50F50968, 0xF774D536, 0xC5A8BFE7, + 0xE2496BE, 0x6FB8D434, 0x3F7FEDB9, 0x9BDEE991, 0x1CBD2009, + 0x2CE74DB4, 0x1CB51025, 0xE965ECE6, 0x89100034, 0xA089E8C0, + 0x5860A65B, 0x9C4D349E, 0x54898852, 0xD07C9738, 0xBC677E89, + 0x75B5D0C1, 0xCFD435AF, 0xED550357, 0xAED9301, 0xDCD1734A, + 0xEDCD21D7, 0x69F6A592, 0xEF8009F7, 0x44374358, 0x9405770D, + 0x668AC4FA, 0x50507E61, 0x2DB19DDC, 0xA9BDD137, 0xFB722699, + 0xBC067E88, 0x88740174, 0x717CCEDC, 0x9F7F1E11, 0x389F4CC, + 0xCF4D0018, 0x24588FF1, 0x25C9F951, 0xDA660468, 0x6C09D91C, + 0xC9F788E, 0xDD4DF43F, 0x8B04484A, 0xC7F67DDB, 0xD2939F8B, + 0x96BCFDE5, 0xF6DD10D8, 0x1124A3BC, 0x7C281FBB, 0x5FAFA71B, + 0x58A9C493, 0x4747793C, 0xD3B79E72, 0x357AA675, 0x8E94A74B, + 0x1994025, 0x95D10FB8, 0x5C64AE63, 0x9E37973F, 0xFCE67009, + 0x8480F94E, 0x34DA26F7, 0x126CFB46, 0x206AAA6B, 0xBA0A6200, + 0x8DF3F67F, 0x4936802F, 0x950F62F8, 0x17E64C44, 0xC70E523E, + 0x2F910727, 0xAF7C5BC, 0x9EA24508, 0x1E945729, 0x55E48FBD, + 0x897CB57, 0x8C134FEB, 0x54E68223, 0x91912044, 0x7A461BDB, + 0xCE91309, 0x72135AF, 0xBF94D484, 0xDD752690, 0x32248D12, + 0xEA092355, 0xC24CA220, 0xE8A95D65, 0xE4E2EAE6, 0x664763E9, + 0x71F1AA47, 0x832550FF, 0xFFA73B6B, 0x96F5DFF6, 0x60CB9B66, + 0x75F29F5C, 0xF863AC8F, 0xF16993FC, 0x3503801C, 0x3D1E8B2, + 0x583CDFF6, 0x62AD49F2, 0x8261843F, 0x826EA9B6, 0x5E2EF3, + 0x8D3848EC, 0x7391A581, 0xDFC466FB, 0xB38DCBD1, 0x4145C3C0, + 0x73F322D7, 0x2B55F284, 0x6B19FBA6, 0xD9446AD1, 0x36C330C5, + 0xB71E4B29, 0xF29F504E, 0xB4FA4CFB, 0x290B6941, 0xA2197E21, + 0xF2AAE27F, 0x1A1728B5, 0xAFF5632, 0x6AEE763B, 0x2962A376, + 0x965D67E7, 0x231A8B76, 0xBD3596FC, 0xD4AE3E8D, 0x58D4D740, + 0x4EA3B6DC, 0x5479A7F5, 0x110A4791, 0x9A772A63, 0x728C4794, + 0x6D6A0801, 0x3F89D9E1, 0x326D1BC4, 0x49B3798, 0x5E2B3CA8, + 0x742C385A, 0x89450FE0, 0x24236A74, 0x81AC9891, 0x7BEF3C66, + 0xACECD674, 0x29009073, 0x94D6BDBF, 0xF2C6CDF4, 0xDBC21EE3, + 0xC65C89A4, 0x35DC5337, 0xBA281430, 0x787521B0, 0xADF8317E, + 0xD5739B77, 0x8567F3A2, 0x374E0CAC, 0x5AFFF50F, 0x9654D41, + 0x4A86EDEF, 0xE16C9A62, 0x59D15E49, 0xA69769C8, 0xA9197100, + 0x1E04CB9F, 0xA926CCB8, 0x5047C429, 0xB7E369C, 0x812F5F0A, + 0xA53EA5BA, 0x9AE5C105, 0xD4C7CC5D, 0xC99E02F9, 0x5BCDFE96, + 0xCDBAA854, 0xCF209B89, 0xBE08E9B, 0x5C73AED2, 0xBD959602, + 0x63C309AB, 0xEE289A4, 0xEDA954C9, 0x5C54F616, 0x3BC34487, + 0x47A3C772, 0xAB0084A4, 0x2CFB8D44, 0xF5F8411D, 0x43F6361D, + 0x12B8467F, 0xCDC437A5, 0xAC96A375, 0x7962CD18, 0x5D728EF4, + 0x66B11DEF, 0x73C87A6, 0xA35AEF9A, 0xC84F12F7, 0xB1EDE9B4, + 0x2F6A1752, 0xCF8DA321, 0x2E37F4E0, 0x4985F516, 0x684E49AF, + 0x56287772, 0xF74F95EF, 0xD994FF05, 0xC1D23E99, 0x81214F78, + 0xA5DF2934, 0xC2B686DB, 0xABC54017, 0x6918D067, 0x737A798C, + 0x3904B21C, 0xD4CB6EFF, 0xC256E4F8, 0x38B0CD4D, 0xE2D27089, + 0x75A00DC2, 0xDC1D5E7B, 0xE2295307, 0x2F0A683C, 0xD00AF450, + 0xE45C3252, 0xD86804C8, 0xF9628DB9, 0xEA011DB9, 0x6A67523A, + 0x488B54B3, 0xA292CDEA, 0xB1D1D89A, 0x17415325, 0x3EAD3D80, + 0x5D092525, 0xB5880E29, 0x1104A8AF, 0xBC177790, 0xEC730159, + 0x11B0A1AD, 0xB809FD7C, 0xB23FE31, 0xCCBED7C8, 0x45B7F7BF, + 0x9491B0EB, 0x1B1A90F9, 0xE34F4317, 0xF060A5B3, 0xF795EF1, + 0x8254A941, 0xC6CC30E4, 0x770FC40C, 0x17EC9C1F, 0x20DA83EF, + 0xF9CCBFC9, 0x9D0675AD, 0xACEA7EB3, 0x56326F5C, 0x74D4DF3A, + 0xA8FF9A9, 0x8F55E3E2, 0x5B0D12F1, 0x12DDB28C, 0x95FADBED, + 0x81F48694, 0xABEE8392, 0x90E96B15, 0x2C44972E, 0x4E2D3A4F, + 0xE8D34D14, 0x83C03E59, 0xDC295E2E, 0xDDEA452F, 0xC2A2A33F, + 0x617210DE, 0x69542DB0, 0x1DD96D24, 0x3E3871D0, 0x9DDDAF6C, + 0xBD326CD5, 0xD87CE143, 0xF3C79B3A, 0x7F811CCD, 0xDE1B1502, + 0x8075EA04, 0x9D09F1DC, 0x8CCBD152, 0x669F35C, 0xC9414276, + 0xA2BFFE0E, 0xF8AAE650, 0x190C1AE7, 0x2DBB4A7D, 0x575B247D, + 0x3A599D3E, 0xB09B4DFC, 0xCE4904A0, 0x63C72670, 0x15A3BD05, + 0x799B50CD, 0x19A2718C, 0x4142750D, 0x9013BE74, 0x21288938, + 0x590BD2BB, 0xE4303149, 0x46B308C0, 0xD2BB7D56, 0x1BFB248, + 0x943B2E72, 0xCAB18644, 0xFCC921C4, 0x5308C4D9, 0x9098CEE2, + 0x435B219F, 0x69F1BBE5, 0x155216D4, 0x83F2A4A5, 0xE177744D, + 0x37DF6FDE, 0x9D9EA50A, 0xDFA8D408, 0x6C72E71E, 0xEA617E3E, + 0xDAD6C13B, 0xB83A850D, 0x45F6BEB5, 0x6AFB346D, 0x400B29FB, + 0xBC8E57DE, 0xC6C1081A, 0x4F6A9545, 0xF878303F, 0xB9E519DC, + 0xCCF25FBA, 0xCAE069A5, 0xB79B082E, 0xF70BB7E7, 0xE6A5535C, + 0xB769EA37, 0xE07CCBCE, 0xA9F04406, 0xBB7E5A7A, 0x10C986, + 0x5EB448A0, 0x3B154163, 0xCB832FD3, 0x50100140, 0x6963216B, + 0xEF480040, 0x75B83F45, 0x4A07D8C5, 0xEFDF39B2, 0xDB139034, + 0x5BE9C8C9, 0x1915F818, 0x852ACD9, 0x58BFF825, 0x64AF5C20, + 0x1F13AFAA, 0x8A5A1E9D, 0x57870533, 0x98A418CB, 0xCEBDAD9D, + 0xFA54CB95, 0x707D0BBA, 0x26EE1F10, 0x428CAAC6, 0x33AC77D0, + 0x6879957E, 0x522DCDE5, 0xE29E9579, 0x4AB0C59C, 0xB5FA1395, + 0x4C0BA116, 0x297A0F00, 0x440CD4CD, 0x63BCFEC0, 0xAC14638B, + 0x3C7DF738, 0xC213D3AE, 0x5CA0779D, 0xB49A3458, 0x678D95A9, + 0x281735D2, 0x1911DA83, 0x3A5EA479, 0x2C1090F6, 0x40C0D5E7, + 0x33AD6433, 0x49B076BB, 0xA1C1D333, 0x80474C82, 0xC62FE221, + 0x87F4E57A, 0x4C5C1506, 0xAD5E1E10, 0xE435A8C6, 0x96D7E0E8, + 0x53E54D01, 0x7EECEA8B, 0x699C41E0, 0x181C6479, 0xAE6E687E, + 0x2FD27BB7, 0xDF60DD39, 0xC38A3AC, 0x5AC51EC3, 0x8F1205E1, + 0xBD71109C, 0xCB2CCA62, 0x236D9D16, 0x45ACA6BD, 0xB33BDCE1, + 0xE1D9134F, 0x410F24FB, 0x3BF34DF6, 0xB799F963, 0x1B2D4C07, + 0x8D92C15, 0x9CA0073, 0x76772A47, 0xFBB63B16, 0x78F3C3B7, + 0xF118B4A6, 0x8E86A34A, 0x56693D7E, 0x381EA186, 0xCB9B430D, + 0xAD11DC36, 0x599B3370, 0x7A6B80C0, 0xF2A282DC, 0xF58F96FF, + 0x97AADB3A, 0x5AA06FD, 0x44A43553, 0xBE8097C6, 0x4CF5002D, + 0xBADE20DD, 0xFEC25B7, 0xC8B50C4E, 0xF0C899D4, 0x815F9958, + 0x77772B46, 0x7413F82A, 0x7203A939, 0xF4623F73, 0x35EE625C, + 0x2723BC68, 0x33790B09, 0xA58391E4, 0xA27C7C25, 0xBC032556, + 0x1D812AD4, 0x301BB65D, 0x22FAF223, 0xDCBB79DE, 0x78CE1CBF, + 0x570C796B, 0x17EF8909, 0x8E2C32E5, 0xB54FF82F, 0x7702F70, + 0x1C0A78C2, 0xCB3078DF, 0x7155531A, 0xEAC77450, 0xB9DC2EDF, + 0xA8B6A1A6, 0x57FC52F0, 0x6B5543E4, 0x40679BEA, 0xE46813E7, + 0x65525695, 0x6C9CD43C, 0x5E5BD786, 0x44212626, 0x847A8357, + 0x7E39813D, 0x9FE22F0E, 0x29EC985A, 0xC91CF47C, 0xB31A26AC, + 0xA4C8B43C, 0x8EAB7865, 0xF6F2F67E, 0x3F73A8DC, 0x4FAF5455, + 0xE1253CAD, 0x3001A083, 0x532DEAE4, 0x6A110DF6, 0x585D0FDE, + 0x19071CC0, 0x1A351A69, 0x2FEAD890, 0x33902499, 0xA218C193, + 0x2294A970, 0xB0544EA1, 0xC54B25F0, 0x6C89048C, 0xC8203390, + 0x237F30DA, 0xE8F10E5F, 0x6B57E331, 0x43744B6E, 0x2EEF4BB4, + 0xEBD13AA, 0xA9024B04, 0x22895C31, 0x321C459A, 0xFCEFD3EE, + 0x94772392, 0xA094B3F3, 0xC070FBB2, 0xF30ADCDF, 0x8D294C6E, + 0x89E4C299, 0x47DE058E, 0x841A807E, 0xDEA7608F, 0x3A45D7AE, + 0xFE08A063, 0xF2C65E08, 0x4C653ADB, 0x8E4BED1C, 0xC85C1323, + 0x63DF1750, 0x4EF4B72F, 0x209903A9, 0x3ECCC1C6, 0x4283795A, + 0x205AC943, 0x38B1ABE3, 0x1241AC5D, 0x7C645871, 0x747695BB, + 0x29206570, 0x31BACE6E, 0xFDEEDAC9, 0x4DEFF536, 0xCD6CFDC0, + 0xEB0FAB42, 0x7DFA5EB6, 0x8363D9BA, 0xCFCD2514, 0x69FEB823, + 0x10BDBDCD, 0xE4C27020, 0x56DCF966, 0x9C97BD95, 0xCDAB9269, + 0x8316F55E, 0xC62F7354, 0x5415281A, 0x31EBDCED, 0xCDF7A05D, + 0x5F674F71, 0xF70EE58B, 0x26037964, 0x584174B4, 0xFEA5520C, + 0xD01A8007, 0x7F2772E8, 0xC2FF1456, 0x7B2CA1FB, 0xE938BBD0, + 0xD96CCCF2, 0x9AE8088B, 0xF3A25E6B, 0x3780417E, 0xB9E2917D, + 0x95872990, 0x12D99C68, 0x2FC5DDB0, 0x55437D2B, 0xDB9C14B7, + 0x6BBE6AF9, 0xFBDC9201, 0xDCB32A70, 0x1CABF45D, 0xD8BCBF4F, + 0x271AE6A5, 0xD34B8953, 0x58BBFB3A, 0x537F049A, 0x55B51226, + 0xCD809DC9, 0x846DB4EB, 0xED476D72, 0xEFC8F8AF, 0x6AA3228D, + 0xA363F656, 0x2207127, 0xA1BBE245, 0x2AB58A00, 0x637810C9, + 0x91F61AD, 0x347D333B, 0x1E9598E3, 0x2E7BD8C6, 0x8DCE469F, + 0x73B82620, 0x9257D4E0, 0xD9580F88, 0xE8EF6D53, 0x2D9FAC45, + 0xB56E2C6, 0x9B369045, 0xB50702C6, 0x955D3700, 0x577CC21E, + 0xED02FCBA, 0x73320B99, 0xB55DE16B, 0x7F578129, 0x3F6FD052, + 0xF211A764, 0x9B7F9204, 0xC61EDC01, 0x1363AA4F, 0xEFAF1CF2, + 0xE5AF97EC, 0xEEAD4FB7, 0xF41B649, 0x373087FB, 0xE81355EB, + 0xE04FF410, 0xFD04F4F7, 0xFA269CEE, 0xBE8D7535, 0x5FC007DE, + 0xCF085F76, 0x94D7201F, 0xAF49F41D, 0x8D6E7F, 0x9D63B6ED, + 0x9A2A0877, 0xF06123D9, 0x6624C891, 0x508266E4, 0x6921EAA4, + 0xD6E69A49, 0xCDA0F920, 0xA5870B5E, 0x1A93A2CF, 0xE3A030C6, + 0x6EC03FE5, 0x37FDBDF6, 0xBEFD0BFF, 0x3D3CBD0E, 0x2DDBFD7D, + 0x8B58AE2B, 0xCAD61AF3, 0x624F4677, 0xC402CF5E, 0x431D2CC1, + 0x5C205AE5, 0xFC3B8ED4, 0x501C36DA, 0xBC9217E5, 0x6752573D, + 0x3BE702E, 0x8E06CF12, 0x81494C86, 0xB2DC2F63, 0x792EC845, + 0xC6BDEDB5, 0xB255BA4B, 0x6C66C28D, 0xD1A16904, 0x93ABFF21, + 0x94827FC4, 0x87825689, 0x314D1F33, 0xC0D8B98A, 0xC84AC57D, + 0xEBDB0F92, 0xBA4F473B, 0x61130498, 0xA534064B, 0x3DC04FBD, + 0xD0A701F2, 0xA671765D, 0x17464B7E, 0x4CCCB84, 0xC297BAED, + 0xAAF8C84A, 0x631313F, 0x8E0FD926, 0x1699F616, 0xD9808C9D, + 0x55BF5BC2, 0x27FD10B0, 0xAE975927, 0x92B3F52F, 0x9025C6B3, + 0x95E5E313, 0x4CB83334, 0xE4A1E7B8, 0x74F7D3D5, 0xDDDC42B9, + 0x5A89BEF1, 0xF66A6AE5, 0x33730C23, 0xEB7F079E, 0x742FEF19, + 0x2C68CAC5, 0x2410679F, 0x9D1632DA, 0x458F4AAD, 0x8889E6AE, + 0xA3B48216, 0xC9AF4AEC, 0xA506C8F6, 0xB6AF9E59, 0xC6340436, + 0xA6B294E, 0xF35CF92B, 0xEB3A4113, 0x98070AD1, 0x9E61E01E, + 0x58C2893A, 0xCC1F8C34, 0xCAD665A0, 0xD0414D39, 0x643BDCD8, + 0x8AF801AD, 0x9ADBB106, 0x2BD02351, 0x8F890436, 0x546747D0, + 0x6DC33C48, 0x95FA7FD6, 0x5F12C5A5, 0x5DF2761D, 0x9A9B2F8A, + 0x8C61276B, 0xACCC7F4, 0x37A5829D, 0xF1A0F1, 0xAAED57E0, + 0x180CD2A3, 0xDC393CA7, 0x504E7405, 0x89DE2F7, 0xA4D8C4EA, + 0xD8BECE01, 0xD664017C, 0xF57FA30, 0x6049928D, 0x9832E166, + 0x176AAC31, 0xA793F88A, 0xCFFA8B54, 0xA30DF1EF, 0x3B6C7611, + 0xDEFC961, 0x9BFB79F1, 0x1483D430, 0xC3A77C0C, 0x42AC1FA0, + 0xFA3605B6, 0x9A2EBDF0, 0x684D414E, 0xD9308E10, 0x64D68C19, + 0xA8A9B67B, 0xF5E7B9D4, 0xC7B70ACE, 0xA6EB6DB8, 0x8A22FBE2, + 0x3AFFDDA1, 0xFB61F7D5, 0xE057717B, 0x846D96CB, 0x20A4B400, + 0x574089BB, 0x9F3D2DBD, 0xEEDDDB4B, 0x5E64EA6B, 0x6781DC90, + 0xCFD86A6, 0xA92441CD, 0xAC5DCCD6, 0xE6BB5582, 0x32FA6B3F, + 0x3ABB8A64, 0xA49D2003, 0xA965E430, 0xEC4053BB, 0x95859D40, + 0x2672832, 0xCAC3E608, 0xF8C13A53, 0xB04EC2A3, 0x87F54941, + 0x62A3A924, 0xE0B48702, 0xE8700446, 0x95BD4B11, 0xCFCFDF9A, + 0x19F67E7D, 0x60853AC6, 0x468F963, 0x298066B9, 0xEE53E89A, + 0xFC63E607, 0x6FA101E5, 0x8B2F1F84, 0x24AE7C1C, 0x385008FF, + 0x96E75EB6, 0xF1175277, 0xE5B4A577, 0xB0C97AC, 0xC21CC45A, + 0x5C680DF8, 0xDEB046DC, 0x1487FC03, 0x1D90CE3C, 0x712563BF, + 0x65A26CD9, 0x4D094F62, 0xB5DFE29C, 0xF58B2A62, 0x9420A9DC, + 0xCEC7537F, 0xC46D1FCA, 0xAD5D7B10, 0x68777A24, 0x6C096D2, + 0xD787D72, 0xC7743F50, 0xB3D05F4D, 0x53E0A7E3, 0x9E627C6D, + 0x1AA0959F, 0xD1E00E47, 0x8874BA26, 0xCEAC0958, 0x10F67BBD, + 0x712C6597, 0x3478BD73, 0x4D6F116, 0xD30BC24B, 0xB98C565A, + 0xD7C5B116, 0xA8CDAC4F, 0x4144673, 0x848F37E3, 0xADD946EE, + 0x6F17EAE3, 0xEA0FA265, 0x41DB99E0, 0x6BCFDA5A, 0xB46ECED5, + 0xAF67610E, 0xC7E9DF2C, 0x5CC6F0C6, 0xAB2C2BA, 0x6BCC3881, + 0xE482C243, 0xD8053417, 0xFFDB6E41, 0xF13EEB84, 0xE8292661, + 0xEB9940A6, 0xF0B45F98, 0x1CA82AF4, 0xCCA7771D, 0xDD5F3CFE, + 0x58BD8E91, 0xDF9E3342, 0xA1003957, 0x4621AF52, 0xF926F465, + 0x209925AD, 0xB1C72F09, 0x3FAB8ED, 0xA15C0A17, 0xDBE73D2C, + 0xF917CE51, 0xED047661, 0x7361B752, 0x1AAA57A8, 0x31445667, + 0xFEC0FD81, 0xE3073574, 0x7D36F720, 0xF418181A, 0x1CB8758E, + 0x8E85AFBA, 0x407E9AD9, 0xF724E308, 0xD030D3ED, 0x4610418E, + 0xE799EA4D, 0xF8B68F92, 0xB84B9ACD, 0x4B8168C0, 0x9888977, + 0x216F3B3E, 0x5C49C1DB, 0x759E718D, 0x7C4309FF, 0xBF6DEE2C, + 0xE566F231, 0x774B0A7A, 0xBE55CCFF, 0x3081B8CD, 0x2284369E, + 0x2FDF7473, 0x3AF68AC7, 0x6047E9B8, 0x3743BA0E, 0x691D261, + 0xADC440E1, 0x24150207, 0xFBFE466C, 0xF767E860, 0x8157332E, + 0xFB54D774, 0x1AF34C22, 0x74E05695, 0x2101FD57, 0x2904274C, + 0xA1294E9A, 0xF43CA18F, 0x4FA79EB5, 0xAFD1C9EE, 0x6EB3953F, + 0xDDFCB3AA, 0xDB48F7BA, 0xE1742183, 0x8A78CEBD, 0x225CD669, + 0xD76B771A, 0x3520113, 0x428B2892, 0x3A5CE8DD, 0xAB4AC42C, + 0x2928BE8D, 0xC34E3031, 0x93F0CB9B, 0xB7A6FDB4, 0xEEB2B85E, + 0xC393597B, 0x9D8457EF, 0x91F0F0FA, 0xC54AEA3C, 0xC639521, + 0xB668AFE4, 0xE4CCE3CD, 0x86223A5D, 0x6A51A2EB, 0x4333C505, + 0x3233B8B7, 0x1D01F51E, 0xF0C691A6, 0x699EBC2C, 0x7FEE8DBC, + 0xCC50E42A, 0x7951DB68, 0x8CF01752, 0x33D33841, 0xB46E353A, + 0x700B65B, 0x59ACA844, 0x38631893, 0xC32D0F92, 0x6897EFDD, + 0x3F93BCDD, 0xD50E33C3, 0xD0075F1D, 0xB3CB6096, 0x875896CB, + 0x5DF6651, 0x8E2D197F, 0xCDF68F10, 0xC74018CE, 0x83E6C42A, + 0x994DEA76, 0xF932D8AF, 0x98775C2D, 0xF79CAAE5, 0xF2BEB839, + 0x7318C6DB, 0x3AFD6D85, 0x37F18BDF, 0x10194867, 0xA73B5205, + 0x3F06A1BD, 0xBC8026DF, 0x531CF753, 0xCAFAED74, 0x817C9E70, + 0x32338A3F, 0xA5177C74, 0x9A3C131F, 0x90F9AF0, 0xE9281B62, + 0xEDD87C1E, 0x16577CB0, 0x5E3F7AC3, 0x4E49E1EA, 0x495C1B67, + 0xC282F5FE, 0xF8993B1, 0x47563C68, 0x49FA0716, 0x26A55B80, + 0xDF870F8D, 0xFBB8DDA5, 0x130EA4E3, 0xB0B66F1A, 0xD7B92F0F, + 0x55FD4759, 0x6D11AC86, 0x8AB0B6F8, 0xD8C8C8B0, 0x758DA8A, + 0x9CD589F, 0xB808C0A0, 0xB2C7A3F3, 0xBA40DA44, 0x937532CF, + 0x279CFDB2, 0x545896EA, 0x387A8F38, 0xB2E5F9D0, 0x7566CA0D, + 0x51B45DC4, 0xA93B6EAE, 0x1C22D8D5, 0xEB96BD1D, 0xB8F40750, + 0xCB7DCF85, 0x188F6018, 0x95BA817E, 0xF7C19E4E, 0xAAF97DDA, + 0xE5BD967B, 0x1604352F, 0x3758C3BB, 0xE2FA13D1, 0xE3666F4E, + 0x218059EA, 0x2F4750EA, 0x2F065B46, 0x8FC4F43F, 0x2F45422F, + 0x45928A5E, 0x77055776, 0xBB8103E1, 0x160EFF29, 0xA704F79B, + 0x6655E735, 0x2C19DC79, 0xE407A7CD, 0x9F4AE1F0, 0xBED7DCE5, + 0xA870A304, 0xDC413709, 0x903181E, 0x7C1F6803, 0x44971A01, + 0xF7A81ED1, 0x5DDFB023, 0x2D90CFBB, 0x7F7A432A, 0x35F3F5B0, + 0x7D935FC5, 0x1D99E7BB, 0x8EFC82B0, 0xAB0DEF56, 0x70702FA1, + 0xCF0064DF, 0xDD9DEAA9, 0xF05F927B, 0xB483A6DD, 0x9B7388B8, + 0x2FD82389, 0xAC982F20, 0xC86AD76F, 0x15C6977C, 0xAB10A137, + 0x1433E4A0, 0x2762D44, 0x1CB5399B, 0x310A54D8, 0xD4B8623A, + 0x40FAB5F3, 0xC2D51618, 0xC1F4AF55, 0x17C18E1C, 0x4F37D33F, + 0x2DC9F168, 0xF5BB9754, 0x716FB1F4, 0x7CFB1CE8, 0x1333224D, + 0x344C13B3, 0x7798CB50, 0xB4278C76, 0xD7CC1B03, 0x168B21E5, + 0xF7D77AAB, 0x3B651846, 0x639EB0CD, 0x68EB3E8B, 0xEC82FE45, + 0x622A71DE, 0xAA05B6CB, 0x878B59B1, 0x3E7FB616, 0x1D650408, + 0xF21F8C64, 0x9BF7BF7A, 0xA0874898, 0xFE4E3C6E, 0xFA36122E, + 0x1BCDF4FB, 0xC371B365, 0x8F791BB3, 0x9833AD98, 0xE84887FC, + 0xF8988AB6, 0x180916E2, 0xB587E39C, 0xD5C884C6, 0x27B6BFEB, + 0xD8868D1E, 0x689DA503, 0x936B4EFC, 0xDE0DB3C, 0x7950FDCB, + 0xA61C81C5, 0x9F1C93B2, 0xC983179A, 0x6F847EB0, 0x6F7F899D, + 0xD270412, 0xCC255717, 0x763112A0, 0x8725C96D, 0x48BC2863, + 0x85F13BF0, 0x6D8E0251, 0xB7E66CC3, 0xA4F5829F, 0x8779F381, + 0x16A5E04F, 0x3DF42C14, 0x367F06A3, 0x3BF8666C, 0xC6649CFB, + 0x4DD9808F, 0xB4F9AFD, 0xC2642410, 0x9740E4F6, 0x8FB667BE, + 0x4D4B0D3E, 0xE9B236F7, 0x6E30550C, 0x79DA7B48, 0xE721889D, + 0x79D9B21A, 0xA06B8C2E, 0x997B1696, 0x4383FC27, 0x8B77D293, + 0x6FAE2A9F, 0xB45ED194, 0xF38E2C59, 0xEAA0D05C, 0xA3BC449A, + 0x6EB0BB4B, 0x6B242CFF, 0x7FCA0B8A, 0x47221D33, 0x4E18FE39, + 0xF4691580, 0x6D03D791, 0x3B937AC5, 0x9CB761C3, 0x42812232, + 0xFB987D6C, 0x86AD164E, 0x5D8CED49, 0x22D6D058, 0x42FADF98, + 0x9363A1B3, 0x83C6DB74, 0x7AF44F4E, 0x20086D60, 0x7A37665E, + 0xC4A29C82, 0x330F278B, 0x8750B539, 0xDD2E83D0, 0xB8E002B1, + 0xF2A9323F, 0x91B60885, 0xDE83F01D, 0xACA126, 0x2F0FADA2, + 0xC0E879A6, 0x7C715655, 0x16642BA2, 0x43B9C083, 0x95F6789D, + 0xE6576886, 0x46BEF133, 0x84199FC3, 0xC45BA082, 0x26489AC1, + 0xA4FE268A, 0x633A25B0, 0x4FCD341D, 0x8E7374B3, 0x7F8A3466, + 0xC82B53F7, 0x2E2114DC, 0x59213BE7, 0xE72A2395, 0xAC5F982B, + 0x8F63E9D8, 0xA68BA42E, 0xF0E30E92, 0x580FD13A, 0xB2FCB7EA, + 0xF3E4C077, 0x2C8588B, 0xC31F5E5, 0x104982D9, 0x2C2F03E3, + 0x8F1791C, 0xCE14310F, 0x1696133B, 0x1BC68D6D, 0xFC488B95, + 0xE0E7FC31, 0xBDF0152B, 0x24F78B82, 0x45BD4367, 0xC89AF4B9, + 0x9698650F, 0xFB2E131A, 0x82B7A451, 0x9F6990FE, 0xB6EDE6BB, + 0x68D5D90, 0x51FE559E, 0x9B54ECE, 0xC09D3AB2, 0xD9BA990B, + 0x4CF02BC, 0x70067D7, 0x3568DF20, 0xFF1D7AE4, 0xF1C67DE3, + 0x5ACC7F95, 0x89ED16EB, 0x6EDCDC94, 0xDF367991, 0xF1D48A79, + 0x21AA30FB, 0xADA2B5B3, 0xC40A5761, 0x5769556B, 0x5E1510A2, + 0x5741566A, 0x25B88D83, 0xFD22574E, 0x6E9B2CD2, 0xF5CE960B, + 0x67F938EF, 0x1A1E3672, 0xFBCE5BDB, 0x756BACAB, 0x2F177A71, + 0x31F3EFC6, 0xB8263FBA, 0x9A1F772A, 0x84DC1FB0, 0xC907ED89, + 0xAD3C6092, 0xC225B6C8, 0x37EE4F54, 0x4BDDACF2, 0xB5E944CB, + 0xDC26F39E, 0x3BCE02DC, 0xC01F2632, 0x89AFE3ED, 0x600757F7, + 0x4804A684, 0xC4F3FCB8, 0xEBCAA904, 0xE0069A2E, 0xA2FBD213, + 0xDB736C4, 0xA6930699, 0x71FB43C0, 0xF66C955C, 0xFBD39B5, + 0xC87D1801, 0xE9D2DD1A, 0x78DA23CE, 0xCADBA5C9, 0x77015761, + 0xF5581BDF, 0xDEB4DAA0, 0xAF7E41B0, 0x71347196, 0xF8A29A93, + 0x8DA3BAE6, 0x73396AAD, 0xD4DF7765, 0x326AFF23, 0x27888A0C, + 0xE48AC062, 0xB9F18047, 0xDE9830DA, 0x8EF78C4D, 0xFBC1896E, + 0x9BB566A6, 0xB640ED13, 0x8B0D9D1E, 0xD84B471D, 0x4040EFB4, + 0xF6DF7908, 0xCB8ACF04, 0x253494DD, 0xA85F6D88, 0x1326822, + 0x61EFDFB8, 0x1C78154F, 0xB13866B1, 0x3ABE5DBB, 0xBB5907BF, + 0xA1A57FDF, 0x410549C8, 0xA9A364F4, 0x2A371B73, 0x24AC7296, + 0xA01C035C, 0xE839029C, 0x6E12051E, 0xE6A549FD, 0x345F10FF, + 0x3BB57347, 0xBDBF3A6A, 0x2A41C3C8, 0x6E0232B0, 0xAE66D42E, + 0x3BE90433, 0xE185FBF2, 0x9BCA91FE, 0xF4FFB74E, 0x142B6971, + 0xA75CD7B, 0x9B900DDD, 0xEC56B79, 0x2FE0CD8D, 0x87BE8237, + 0xB38A7226, 0xB5D8B437, 0xAAADC41D, 0x8014E227, 0x38D84DD1, + 0xEDF5294F, 0x862F0F, 0xD69F77F6, 0x409C3B68, 0x2F12B0FC, + 0x32A670B9, 0x5746EE2, 0x96B4901A, 0x57208639, 0xA282A77D, + 0xE9D9F48E, 0x651ADDA6, 0xFF5E974C, 0x37C833C, 0x41F2BD58, + 0xDFE1D009, 0x32222DA6, 0x22201781, 0x64A06BAF, 0x8F188902, + 0xA9C2A07B, 0x617C7DF7, 0x842DA704, 0x40AFDB72, 0x49625110, + 0x72484F13, 0x7340AC89, 0x6C6A2F36, 0x828EF5F9, 0x20344923, + 0x21D3304F, 0xD6EEB7C3, 0x8F99732F, 0xEBA045D5, 0x5C0065D4, + 0xEEB5E899, 0x1B079C47, 0x6198EE3B, 0x946A805F, 0x7C19F966, + 0x75E8F043, 0xFD9880BE, 0x47BF619, 0x9C001ADB, 0x7438184B, + 0xA3787EF2, 0xA461EF4E, 0xEB515D0E, 0x64EFA69D, 0xD41F3145, + 0xD08A900B, 0x495968AC, 0x746639C9, 0x43E85DCB, 0x62E55B3, + 0x6B913D8E, 0x2685D73B, 0xE4F98C19, 0xB404BD4B, 0xFEA327C5, + 0x1E0CC908, 0x71BC53EA, 0x530AAECB, 0xBD2977B, 0xB661A52, + 0x86560EE2, 0x250E2591, 0xDA57D5B3, 0x347D3C22, 0x6CE15221, + 0x6E5288EB, 0xA79875F3, 0xCA89972F, 0x36E93777, 0x257262E1, + 0xD1D4E5A4, 0xF7ED5D52, 0xECE58036, 0x644ACA69, 0xCA36DFB8, + 0x60EAB44D, 0x46FB8AB3, 0x81E6C199, 0xD5AA5C63, 0x4A7CB01D, + 0xFCC109CD, 0xD999C46B, 0x3FA4C688, 0xC95C0FBE, 0xA1E9DD3, + 0xBE9EAEF6, 0x1A3014D7, 0x729A662, 0xDC8178FD, 0x7FCAA1EF, + 0xD4005420, 0x2A904DAD, 0xEE7E52DB, 0x886C0F23, 0x12D49E10, + 0x2B3F3B39, 0x3373A6C6, 0x5D0759F5, 0x8CF5EF25, 0xCE02371C, + 0x2FFEEFDE, 0x5D9CFD69, 0x2B5BB7D0, 0x5A378EA9, 0x5BED8331, + 0x9C1A37CA, 0x702799F, 0x4D37A8EB, 0x370CEDF8, 0x43B95BE0, + 0xA0C1E534, 0x204130B2, 0x8E4995AC, 0xCF1C3C28, 0x3E901F78, + 0xB0F43C57, 0xED4B7492, 0xABD3C5CD, 0xEA95ABC4, 0xE03B739A, + 0x58388E80, 0xFDF22044, 0xF4379C7E, 0x87CFA0C, 0xAE9CA79E, + 0x41DCB004, 0x8F69512D, 0x73ED4756, 0xE215297A, 0xD931A6AD, + 0x59866B3D, 0x61825B1D, 0x4F5099E1, 0x25AE168B, 0x1272D5C6, + 0xBE071035, 0x24314F71, 0x82F4B23F, 0x6C7F3385, 0x36CF0505, + 0xB71C0E3D, 0xE9F881D0, 0x27F0C290, 0xF4BE30D7, 0x88315CE8, + 0x9E04FD20, 0xDE197591, 0xCF0D2FF4, 0x67A4C473, 0x158447BF, + 0xA4B37C88, 0x27918292, 0x5FDE3DF0, 0xE8A93C3D, 0x886287E8, + 0x746E199B, 0x9A894103, 0x7A529374, 0xA195E2AF, 0xAA3EB0C6, + 0xF70788A9, 0xCE2B7F30, 0x9C4724AA, 0x902EB7A8, 0x2CBBB407, + 0x3799651F, 0x9016E9D0, 0xD1C0ABC8, 0xC7684FDD, 0xE4670051, + 0x25B69E83, 0x1CEC9BBF, 0xD066D2B4, 0x2AD4BF14, 0x7AFBD3CF, + 0xCB8E5EFA, 0x63B67572, 0x89F7E3F3, 0x8E8D39E6, 0x60617ECD, + 0x9EECEA31, 0x59E57FAB, 0x807AFCD6, 0xFD0397B8, 0x3C57D963, + 0x9A972CF5, 0xFC47B628, 0x9CCFAA8B, 0x405869C3, 0x3CC128C1, + 0xE154C33E, 0xBE53F87D, 0xD23C7947, 0x4CBEB3BB, 0x1F068FFA, + 0x8A7D350A, 0xB822F33E, 0xFB3BB431, 0x741D2D0F, 0x81FAFE09, + 0x80B8BA3C, 0x30B4BE94, 0x4B2A2909, 0x31740925, 0xE68C0BC9, + 0x8E7F31D4, 0x29DA2599, 0xB9D267C9, 0xEDE811D2, 0x8BC7CBC3, + 0x69DDA8B6, 0x879E1212, 0xF915F0F1, 0xBBCDB1AD, 0x3A01011A, + 0x7CD005C4, 0x475FC718, 0xF03F454B, 0x7457F264, 0xB22D9DFD, + 0x569DE931, 0xB585EFEB, 0x9A183445, 0x9CB353AC, 0xE3AA9817, + 0x32E0722, 0xF0C7595E, 0x316DBD6A, 0x96D0F65C, 0xA6F0ECCE, + 0xCB8A9494, 0x5B077241, 0xD36BBC7, 0x9C4CD0F9, 0x108F5B32, + 0xC43C599A, 0x7B10108A, 0xA4106EE9, 0x3860CF99, 0x87B782C, + 0xF667524C, 0x129929C, 0xEA85C1D5, 0x1A07973E, 0xB9524891, + 0xBC02BD1F, 0xF378D7F, 0xD0BED4D7, 0x5B782DE2, 0x738681A, + 0x4BA1192C, 0x46DF1224, 0x4529AED7, 0x9B1DB01D, 0x810AA334, + 0x661982C8, 0xD3B32F94, 0xF50AC9D6, 0xCE9107C4, 0x203078BF, + 0x6B0F3B2B, 0xCF63520C, 0xACA9E5BF, 0x7FBE448E, 0x51BD1E2F, + 0xDF958295, 0x114A9693, 0x60FCBB39, 0x6669B642, 0xC490D54, + 0xD19C8DBC, 0x14CC7B2A, 0x7106D506, 0xAFDADD98, 0xAF398DF4, + 0x88AC5400, 0x1912BF0A, 0x5389D050, 0x5AF6233, 0xF10842A3, + 0x94DD7008, 0x93812804, 0xD8111DFD, 0xB7C97490, 0x7748A45E, + 0xE70A47A0, 0xC29B718E, 0x55783AEC, 0xA2789E21, 0x97488EBC, + 0xD9222F6A, 0xBF74BDD2, 0x9A983E5C, 0x6CC067D5, 0xBCFDD3B2, + 0xD7A2A5FE, 0x4733F2F5, 0xC7AA3556, 0x1CDB485D, 0x31755CA0, + 0xB9F8E9A7, 0x1346410D, 0x7D885AD7, 0xA30030D8, 0x9813B41C, + 0x8A64EFD4, 0x273F4CED, 0xFEDDC3FD, 0xF34D9687, 0x6B67F2DC, + 0x13F72B5A, 0x96445DDB, 0xAC94658B, 0x8FBF54BC, 0xA7C13389, + 0x95814EA3, 0x7823E5BC, 0x544C27DB, 0xECE6439B, 0xD1141B27, + 0x7A95ACF4, 0x806E58E7, 0xD07B5422, 0xFD0353AE, 0xC1840431, + 0x1DD89E9, 0xA102016D, 0x3730505, 0x1F91E46A, 0x3279C793, + 0xA060010D, 0x9BF86C80, 0xD0C35484, 0x33E81EF7, 0x1C4D3EA7, + 0x6C2A9935, 0xD65E2FB1, 0xBB1CA42E, 0xEA3E3609, 0x7B478C84, + 0x70C1DF93, 0xA872CA92, 0x7C025178, 0xF3B19C7D, 0x6F2BD89B, + 0x1AD7BBDC, 0x39A48FCC, 0xAB5B72E1, 0x821761B9, 0xD2368C1, + 0x20ABB349, 0x29A3F960, 0xFDB18DF1, 0xC4118A52, 0x5E28E88A, + 0x549A3386, 0xD81024CE, 0x82DAD5E0, 0xB20BCD42, 0x9DEA0D36, + 0x49A4992D, 0xAFCB2026, 0xCE7536E8, 0x2C191A65, 0x24FEE0D6, + 0xA769AB6D, 0xF47E292E, 0xCB501191, 0x6DE13907, 0xF1343277, + 0xB32AA746, 0xB055DB9E, 0x87CB8583, 0xA546A4C3, 0xF06F809C, + 0x8FE7A8AA, 0xD0E4037F, 0xD81FCF88, 0xF85830C2, 0x3D6F4840, + 0x5A43700E, 0xCD300C58, 0x3B81C27C, 0x8AF86EA8, 0xF65935FC, + 0x46367D7, 0x7FB75E63, 0xBB28A406, 0x173F982, 0xCB92DD14, + 0xAAA0B1D1, 0x1BCA8892, 0x64D21, 0xFF081A44, 0x8706E93B, + 0xB7DEFAD9, 0x4A6DEF76, 0xDA1670DF, 0x94ABCEBA, 0x465DA4C6, + 0x2484496C, 0x97BB3321, 0xEFB09CB, 0x2988AA2E, 0x2722344E, + 0x5301B744, 0xC5E16C47, 0xF7E05D01, 0xCBE7C20F, 0x4882A6EA, + 0x7168CF40, 0xA98A2747, 0x35F8E15A, 0x5FAF49F9, 0xD2008D24, + 0xCC45A63, 0x858A3255, 0xE4C095B6, 0x7074F7A5, 0x699C98FD, + 0xF0BFE2EA, 0xBDA35C64, 0xE83B891D, 0x7CD09FEA, 0xE8735FDD, + 0xFEA27F06, 0x631D71D3, 0xA08136CD, 0x42395363, 0xDCBA6E41, + 0x1562897, 0x4B1061A9, 0xB4F9640B, 0x38D24E3E, 0x76DF4423, + 0x94B5ED97, 0xFE6AB3B6, 0x6B329B8B, 0x37AFD275, 0xC9ABA12A, + 0xEC9693B, 0xD49B5585, 0xE0C2BEF7, 0x315D40A8, 0x34FBE3A, + 0xEBE81550, 0x569F6FC8, 0x5A9C8404, 0x9DBA0090, 0xFE985DE8, + 0xFF4209AE, 0x89F9E7AF, 0xF841164C, 0x6B4B8F5D, 0x95CB1085, + 0x1990660C, 0x31263B36, 0xCF8F435C, 0xDEBCF88A, 0xD1EE25C2, + 0x53D80B69, 0x9EB8F01C, 0xD682EA3C, 0xEEE79205, 0xA7EFAC65, + 0xE9AA6899, 0x3C1E197E, 0xC8ABE1E9, 0x7BEFE9CA, 0xE792E7D4, + 0xA955D60F, 0x3FE8A02F, 0xC963FDC1, 0xB3D53E43, 0xE28FFC12, + 0x7D5BECCC, 0x18E9F223, 0xBC8B0465, 0x7ED8EEFE, 0xBB90FFEE, + 0x904A9F3A, 0xBC467FF, 0x8AD43A15, 0xF3FC404A, 0x2492D5F4, + 0xBB3F5025, 0xBED0B8BF, 0x467FE6C2, 0x36E55C77, 0x8E2CAC4F, + 0xD12D325F, 0x68A4D268, 0xB1AA0895, 0x755B98FC, 0x2314C4FF, + 0xC3667346, 0x8003B9E8, 0x1185476D, 0x227B69D8, 0x5BADD019, + 0xB06567BF, 0x2B837581, 0x9E11F7, 0x158E67AE, 0x339AA6FC, + 0x8FE50AD9, 0x65902A97, 0x42917220, 0xF9AD39C, 0x2DAAD225, + 0x9673B896, 0xFAE150D6, 0xBEDE3417, 0xD233D722, 0x7E67F33C, + 0x6E150E30, 0xC856792A, 0x28EF69BA, 0xE2AC7866, 0x928D0A4A, + 0x8032C4A9, 0x3D413533, 0xC1BA5CCA, 0xD2BDAC83, 0x94198A14, + 0x3A25972F, 0x253EC030, 0x42D7A1F5, 0x97C28C1C, 0xBE4D0710, + 0x92F31B62, 0x73CA2F55, 0x15FC5417, 0xEF76B1C6, 0x655A963D, + 0xBC17C3FD, 0xD5BED3BC, 0xAB0E4857, 0x38BAD61A, 0x8C17E47F, + 0xE3C27887, 0x45D2A34, 0x6D48333A, 0xF400B767, 0x6ACF41B0, + 0x88DA15A9, 0x3FA0EAB1, 0xAF7B3786, 0x87F182FF, 0x4112A079, + 0x53360864, 0xDB5CE625, 0x630678D7, 0x63E01F17, 0x7BF658F1, + 0xB5E4F1A3, 0xB30E4393, 0x27454C31, 0x8E7E0E2, 0x2151A5F, + 0x2892E2B2, 0x92B53840, 0x1EB3D483, 0xA4273A65, 0xF0CC632, + 0x99AC2694, 0xE0A19111, 0xC7FBA613, 0x46C8F873, 0x88A27741, + 0x7E9A5972, 0xC2E76F79, 0xA5CA8180, 0xA28FF0EE, 0x2A1F7DE1, + 0xCC130B22, 0x50ECFD8A, 0xF5BAA999, 0x5FA2EC9C, 0xC1B5C5C4, + 0x90EC0E5D, 0x9C26620A, 0xA97D2935, 0xE1C08B89, 0xCB574B80, + 0xB3DE8B61, 0x1AF89CA0, 0xFD4A77DC, 0xED9485E1, 0xAF804C92, + 0x6B8EB167, 0xDCC836B6, 0x85A7FFFD, 0xD4E9A94A, 0x77DDCC31, + 0x8897B5F9, 0xA4FA88D3, 0x8ECB3E82, 0xBC175E89, 0x963A073E, + 0x547520C7, 0xEEB81BFB, 0x1D8B1867, 0x78833A4, 0xE40A0CCB, + 0xF8D5452F, 0x954BDCF6, 0xAC228FFA, 0xE6B32DF3, 0x181ED541, + 0xACE26A73, 0xF1C1440D, 0xA1B93EDD, 0xE90FF70A, 0xF6741843, + 0x4DF581AC, 0xBE785B32, 0x751509B5, 0xC30AD864, 0xC18D8A72, + 0x3BF07FD4, 0x827B4CBA, 0x7DD39A4F, 0x2CFEFE25, 0xE071F371, + 0xC0C3F6CB, 0x1FD70F85, 0xFDABDA88, 0x8F308991, 0x4CD794F9, + 0x5D18B022, 0xC13D5FC2, 0xD84337F, 0xED868BB8, 0x9904CD2, + 0x7551499C, 0x124B262, 0x5139C2A5, 0xEF56F59B, 0xE8B87B40, + 0x2F030010, 0x42D2E271, 0x4E344F3F, 0xC87CDFE1, 0x44A615C7, + 0xC32DB543, 0xCFC889E4, 0x60078825, 0x786F5917, 0x2DF9E82, + 0xEE26DA93, 0x48D0C94, 0xE97D5456, 0xF487F2EB, 0x35A47D65, + 0x183DA0CA, 0x1A7E1218, 0x8D2674C5, 0xB38D0910, 0x5D9C871C, + 0x7B463ED1, 0xBBC90FFD, 0x31DED99F, 0x5171DCFA, 0xF9413D0B, + 0x632A00FD, 0x7B6DA34C, 0xA475C597, 0x8E157360, 0x5911736B, + 0xCA19D544, 0xF487D465, 0x6E749BB9, 0x888BFB52, 0x3FDAD497, + 0xDB5D401A, 0x7015A4EC, 0xC1F571, 0xB2D7671A, 0x8203032F, + 0x5A755E9, 0x24F25BF5, 0x4D2AC51B, 0xE5950FA7, 0x20196F5B, + 0x68E90D90, 0x5D24196C, 0x9CFCD1C0, 0x745C0318, 0xEEB977E8, + 0x14AA16D, 0x80662EE1, 0x7BD55DE3, 0x35EE2B08, 0xD3E8051F, + 0x3D0EA4B5, 0xD551399E, 0x8FF94435, 0xDD4E34ED, 0x9139E4A3, + 0xE6AF7E5E, 0xE1ED4EAF, 0x638D2846, 0x7084F7EB, 0xF9705E17, + 0x2E7A89DC, 0x45855252, 0xBA8E51C7, 0x8510425C, 0xA97AF6D, + 0xF0C27DA, 0x9E00CA15, 0x3BCC0651, 0xEEC38CA9, 0x19597B08, + 0x4C68AB5D, 0x16CA41DB, 0x35EFBEF9, 0x1E441529, 0x25131FA1, + 0xC3D8483C, 0xD8650832, 0x60D271E3, 0x47C92A47, 0x9EFBB554, + 0xBF5DBFBF, 0xFF421FA2, 0x3A38F28, 0xAE4EE06B, 0x819945D1, + 0xC43101, 0xA3EE9278, 0x5BAE3EE4, 0x57ACE55E, 0xC3D95551, + 0xC00717B0, 0x38EC1B28, 0x123597, 0x6314F3F7, 0xB3F99DAB, + 0x7226CE1E, 0xE8350DE6, 0xD7C582CA, 0xBB1D38D, 0x54E656FE, + 0x400B60BD, 0x48291A06, 0x97819179, 0x850BF937, 0x93888A87, + 0xF51E684F, 0x4B111E, 0xC6B37E02, 0x6C923547, 0xEF25AF3B, + 0x8C12CE8E, 0x89296F4F, 0x3BE2C3DA, 0x8A29A35B, 0xBBE2E80C, + 0x79D0188D, 0xBD4320BC, 0xAFF4F0A9, 0x7FAE6C37, 0xCCA1777E, + 0xB06D2AE1, 0x26B6398C, 0x5A3E5876, 0xE814DF4E, 0xC43E9677, + 0x4C962CE8, 0x6C274FF8, 0x8B5A1A03, 0x963E1401, 0xD8CE0DF7, + 0x659190E7, 0x3AD63330, 0x894BFEDB, 0xEB4CF73A, 0x3731BC86, + 0x30FE0433, 0x94F5FD2, 0x8417999C, 0x337E86B8, 0xAFE08EF6, + 0x5B5F05DC, 0x8001C95F, 0x8C8092DC, 0x5EBC7995, 0xDCBE88EE, + 0x9C602950, 0xE3376596, 0x5D80E318, 0xAF3AC8C3, 0x8C7EDCC6, + 0x3E795E7, 0xDA8987AB, 0x7B7B4E3C, 0x3239CD40, 0x1B527DED, + 0xC95DEF29, 0xE40D047D, 0xE53C10C5, 0x5BAF528B, 0xA47921F9, + 0x6DCB9B0A, 0x7EA11040, 0xBBEFCCD5, 0x502F33FA, 0xAB5EBE8F, + 0xD59C448, 0x8C34FF3D, 0x4A3255A2, 0x4CFFDCB1, 0x3880A182, + 0x3499DAAF, 0xA1319450, 0xC550CCE5, 0x51026E2C, 0x73C4F05D, + 0x21F5FAAC, 0xE1C31B7D, 0xA390E6E6, 0x7B1582ED, 0xB92B4C3B, + 0x41C1128E, 0xF728F655, 0x3BC8AE16, 0x8A2A4E57, 0x9A8A7DE, + 0x86065598, 0x4328A574, 0xDBDAFC7D, 0x2C5EE98, 0xEAB5CE80, + 0xF7E8F60C, 0x7B4C3C0E, 0xE4A2F720, 0x90330B1D, 0xB6783BF2, + 0x48A8C26B, 0x847F1AAC, 0x351DB247, 0x43E84AC5, 0xAF726AA3, + 0x5CB4C059, 0x2C5784DE, 0xBA1111FB, 0x9F427968, 0xE41D29D1, + 0x2CAA8CA7, 0x764C8B63, 0xBDAA6F10, 0x280277B6, 0xE4A908B6, + 0xA6A9783, 0xD0643B01, 0x44FE52AD, 0x60B04A5, 0x194C190E, + 0xF73DA669, 0x12EE11C8, 0x2C769D96, 0x694787A4, 0x9FB03623, + 0xAC6F837C, 0xFC1E5935, 0x16246787, 0x4F94B817, 0xA3A4281F, + 0x1535252D, 0x13F8F1CB, 0xAAF6A508, 0xB38E10E, 0x7A4B238, + 0xC6A47410, 0xC864256, 0xF3C25E27, 0x94CE51D4, 0xF4ECAEEA, + 0x32684D74, 0x1AC8765, 0xDE6F6313, 0xF8C09409, 0xFB21FD21, + 0x6DB586BA, 0x241894B5, 0x65806E1F, 0x4B9D0DE7, 0x32DDDD16, + 0x3B16F0B0, 0xB56CAAF0, 0xC533ED5C, 0xADE48431, 0xB5893123, + 0xE977699C, 0xB295808B, 0x7A252898, 0xE3748392, 0x687A8ACD, + 0xB792504E, 0xBF4E2D8A, 0xB5EC4376, 0x754D9C34, 0x17BE53CC, + 0xC817A127, 0x732346E2, 0x29593976, 0x41D6AF89, 0x9072FAEC, + 0xC2B22666, 0x16A150DF, 0x4D379A36, 0xE732017F, 0xA6D12516, + 0xEA3DB9B5, 0x6E4C766B, 0xCA0ADEF5, 0x75E98F68, 0xC31687C3, + 0x62F16F66, 0x6486B129, 0xE237231B, 0xC6653007, 0x2BE06DFC, + 0x2BC32DC4, 0x9E3DD054, 0x47AA701E, 0x7741E537, 0xA09F9CD8, + 0x9D40881, 0x4F02F58, 0x6A5F31BB, 0x32BBBD23, 0x4520EB05, + 0x1DBFDD00, 0x6CCEC7D, 0x48CFC70C, 0xB41FBC13, 0x5B377E90, + 0x3B87923D, 0xC09F6D28, 0xC1CF24FB, 0xDD6BE459, 0x8B8BDD37, + 0xF7B103C8, 0xC1611360, 0xA8B8FCC8, 0xC16D4E2, 0x6AD23606, + 0x951A051, 0x6FC3B984, 0x95876867, 0xA0E1A04C, 0x8267F62C, + 0xC4B69588, 0xF53421DF, 0xC348685B, 0x59769E2B, 0x21F0FF90, + 0x2B978BB4, 0x3FDA987B, 0x216F4FFF, 0x95C68589, 0x2286F5D8, + 0x81E2702D, 0x88E2D01F, 0xE6F6B356, 0x2EA0C31, 0xA5E11CAF, + 0xE17DC578, 0x2115A0EA, 0x8DC2B323, 0xEB86957, 0xF3C7BECB, + 0xBCD805EC, 0x1121C3F5, 0xE6DEF224, 0x8EA2EE24, 0x2703D7B7, + 0x24D73574, 0x4068552C, 0xA85F5B6A, 0x65B563E, 0x4050954C, + 0xC7043820, 0x91E4A088, 0x19084C84, 0x7250FB54, 0xC1EC72, + 0x9FDB2412, 0x3B78E4E9, 0x588C2D17, 0x345C3232, 0xBC7CCB29, + 0xCB5F1F0A, 0x24EDD656, 0x7A9F0605, 0xC2EDB0E5, 0x7F01D20D, + 0x8EB211A2, 0x74AC4C1A, 0x37EDEDDB, 0x55B9AFF2, 0x100C4193, + 0x43CDF2C3, 0x9C75E7C1, 0xC43ABEFF, 0xB9704827, 0xDD4E6376, + 0xEA5FA0D3, 0xC6E14A66, 0xCB163673, 0x9515389, 0x5D3D30C5, + 0xD1FF8777, 0xC1347921, 0x21A5BAC, 0xD6CB5F87, 0xC6CE680B, + 0x46D1E5FB, 0x9B98BC15, 0x8D1446D6, 0x184659E7, 0xAAC79D5A, + 0x773E019E, 0xA1B9F814, 0x933D3D0B, 0x11DB7615, 0xC206A22A, + 0xE4EF5BA1, 0xF0EFA194, 0xDE0E6C2B, 0xBE185B42, 0xC28FDE0C, + 0xE416DD8A, 0xC636753F, 0xAFD119E, 0xB0198B17, 0x94C4115C, + 0x76EDF82A, 0x66818700, 0x6F003485, 0x993DFB2B, 0xF5A1F91E, + 0xDAB0080C, 0x7DF290D2, 0x72F65E9B, 0xBC126473, 0xF6050B10, + 0xB7380CA, 0x3352530, 0x9A403054, 0xB12581C1, 0x6F8E0370, + 0xBB5C1ED1, 0xCE738AFF, 0xE9F605DB, 0xA976BFE4, 0x68C9D107, + 0xA2BD1833, 0x545ACCE2, 0x965FBAF, 0x12D998F, 0x2C16B1CD, + 0xB20788BF, 0x96AADE36, 0xDF821415, 0xF1EBD654, 0x33F3C413, + 0xF2F2A6BF, 0x2DFB0ABA, 0x96845EC5, 0xB24622DD, 0xA83EEE5F, + 0x49DF9AF8, 0xB8DCFB8A, 0x16F7643, 0x436EFD30, 0xD90C9F8, + 0x9C10CD4E, 0x600CB15B, 0xE686606A, 0x5EC0502C, 0x23B2DCE5, + 0xDD5DE18D, 0x235A755C, 0xCB58A693, 0xACBEAFDE, 0xCA201FB5, + 0x2AE90380, 0x4F7455EC, 0xCA923312, 0x1BD202DD, 0x2D92B9E3, + 0xA2670F18, 0x831728C, 0x77D33D8C, 0x12400BDA, 0x9508A626, + 0x9253042B, 0x63C70C8C, 0x5496452F, 0x9237D610, 0x10448F3A, + 0x9303C709, 0x660D7EC, 0xDF6750F0, 0xBC4F14F2, 0x8F59720C, + 0xEE5AB051, 0xD5EC1228, 0xCC3E04CE, 0xE9E4D3B9, 0x8676FA58, + 0xF523860E, 0xF87D9BED, 0x4A6D02C9, 0xC5AD6CF0, 0x65F09045, + 0x8C620984, 0xDC40B4CD, 0x4216C291, 0x7A44C04B, 0x1E2B5D31, + 0xA0E77B7D, 0x12076C51, 0x22262FA1, 0x483B54F1, 0x2A7EF465, + 0xD1395E25, 0xB564369F, 0xC94A47A4, 0xFD678BAA, 0xECEE926A, + 0xE41A06AE, 0xE8F293C1, 0x3EB052BE, 0xD0959EF1, 0x93FF1935, + 0x4D65E4F1, 0xE87FC1F9, 0x3BD4BB2B, 0xD5F24F5B, 0x54FF70D4, + 0x968C7B60, 0x44F9BDE4, 0xF4894BDF, 0x3CFDDF7B, 0xD5CC3F10, + 0xD7F952C2, 0xEA3DCB60, 0xEFDAC96A, 0xBBF8F5EB, 0x41526813, + 0x714E3D51, 0x5E15A386, 0x1286AF4F, 0x5E1E5A3E, 0x676C9938, + 0xA716071B, 0x14D79998, 0x5CB794ED, 0xD815EDED, 0xCB1CA55A, + 0x9D6D74FD, 0xBE032C25, 0xF3FE1425, 0xC0CB5217, 0x3931A93F, + 0x82DB8222, 0xD8FF587F, 0x5AD4E8AC, 0xBCF00442, 0x4298A961, + 0x9F8CC3C2, 0x60E2347F, 0x7E090E, 0x691B735, 0x3D4C4D83, + 0x5612B097, 0x7B8DA321, 0x2C28A057, 0xF8FE8901, 0xDA39D0DD, + 0x465CE561, 0xA78756, 0x3B771E01, 0xE638B09, 0x201853B5, + 0xF934D7D2, 0xBD515A83, 0xC1B5C34E, 0x89159FA9, 0x2DDE3EBE, + 0xE27771DB, 0xB5983F05, 0xA3FD869D, 0x8ABA53CB, 0x55C8606C, + 0xDAB769C3, 0x4C4C2EAC, 0x18EE2A56, 0x88452A07, 0x9767C386, + 0x5C0418D6, 0xF79CA785, 0xF291195D, 0x9B0C286F, 0x68460BED, + 0xBF0079E5, 0x9906D932, 0x2F9E5535, 0x2A3C4947, 0xF0E240C3, + 0xE835A264, 0x43F38C0, 0x82DAADD8, 0x313612B1, 0x560D56FB, + 0x61BD734A, 0x58FD6B36, 0x2C45C40B, 0x55F70159, 0xA21A817D, + 0xAAA6FCE, 0x85BFDFB9, 0x1C71DE25, 0x56CB4C2C, 0x50FD91E5, + 0xF2340E88, 0x72BD5702, 0xB4FFBD3A, 0x1B35B171, 0xE94A34BD, + 0xC4C77575, 0x95B10420, 0x2471BC3F, 0xCB429841, 0x6DC5347F, + 0xC93CF782, 0xF1D26B2C, 0xEB2A260F, 0x67C3AE9, 0x34A56A4, + 0xF1F3D01B, 0xD8295F22, 0x7F9E5D4A, 0xE4DB3DEA, 0xE1531DCB, + 0x2C5FF857, 0x73622A7C, 0xC2691F1, 0xBC622B61, 0xE6A08C89, + 0xBA1807D4, 0x43ADBE43, 0xD90D427C, 0xC7A5C24, 0x613ED316, + 0xEC810B10, 0x1049BF74, 0x9A14C123, 0xA7B24E7E, 0x73254165, + 0x2C54081E, 0x14FF25AA, 0x7A12F3B4, 0xB4DF7C56, 0x89BFE8FC, + 0x5D5A04A6, 0xBE007173, 0x829DF863, 0x63E5E57D, 0x58F64C28, + 0x31A38144, 0xE843289B, 0xB48DFAF1, 0x2B335C2A, 0xEC3C96CE, + 0x255543F6, 0x33F17311, 0x3C60C51A, 0xE5D0D660, 0x5E162559, + 0xA2D9416, 0x9DDE4967, 0x28156A65, 0x71650796, 0x74EE54D1, + 0x3E8C19F7, 0x797C1E42, 0x2C536DFD, 0x2F3EED4D, 0x3BFC7C95, + 0x8EAEF87D, 0x18F5B02A, 0xA3532651, 0x24508E13, 0x280B9049, + 0xE4FC61CB, 0x388BA30F, 0xEC180A43, 0xBFDE77A4, 0x98CDB399, + 0xF82B586D, 0x38525AE7, 0x9D857BE8, 0xDD939D18, 0xD5CA6EBA, + 0xB70DDBA, 0xDFF43867, 0xD06AB2D0, 0xD8C78BB, 0x78F6AE4F, + 0x4C9A58CC, 0x9F9AA50E, 0x7D6A3912, 0xD897C7E4, 0x82F5939D, + 0xA4A9FFF5, 0x2CB56FDE, 0x3E082D4B, 0xB829DC58, 0xE4515CEB, + 0xCE585A33, 0x27901244, 0x68860E95, 0xE156A451, 0x9E351FE0, + 0xC69BD757, 0x4B2C4A2B, 0xD5DE5A91, 0x3557B0DE, 0x99E910B0, + 0x975BE470, 0xDB4DE130, 0xE4C6DA1D, 0xC2BC058F, 0x37544906, + 0x12CC200E, 0x54569133, 0x6586FC03, 0xF183C0CF, 0x642583E, + 0xFBE882CD, 0x8A098C35, 0xE8300988, 0xFE835E55, 0xEA74FD24, + 0xF3127AB2, 0xEE8379F2, 0x3F136FD2, 0x472AA942, 0x3BC1A7D7, + 0x5B6A8A98, 0xF039CCF3, 0x5E55425B, 0x3F801B4, 0x44556FB4, + 0xCC966D37, 0x56E32B90, 0x2BCDA2E5, 0xC70F1125, 0x8C2A015C, + 0x3D37FCA7, 0x2118A4EF, 0xCE051A9C, 0xCB84DCB9, 0x8451C9E0, + 0x4BDB1900, 0x8FC71D5D, 0xF61FD749, 0xA696D2E0, 0x6EED502A, + 0xB345CE8B, 0x76FCDA8E, 0xBE4A45F8, 0x8375E9E7, 0x625FF29B, + 0xCEC61240, 0x3876B21D, 0xBA8C8F59, 0x8CD169C6, 0x9F82251F, + 0x2E6EC495, 0x99319E, 0xB0160B46, 0x8B77EDD8, 0x6217902B, + 0x76FA6AD0, 0xB541F2BC, 0x961EA91C, 0x6F554C1F, 0xBD92328D, + 0xA9C077FD, 0x90A5311C, 0xEFE9B1FB, 0x9C84AA8C, 0x812517C3, + 0xFE71D7F4, 0xC4F6A5BF, 0x8B75A262, 0xC726EB36, 0x5F803035, + 0xCECDE2B7, 0xF61152A8, 0x78557ED1, 0x50F3BB55, 0xDD830290, + 0xB125B524, 0xC8683B0D, 0xE5FD573B, 0x48B13066, 0x62AE556E, + 0x5A637C89, 0x498D69F, 0x3F3A5BE5, 0xB98B86D7, 0x20CF4AF4, + 0xA3E55E7D, 0xEE93FC6F, 0xCCA95763, 0x5B3C5706, 0x8342B013, + 0xA0C7BDB9, 0x83D686E4, 0x6934B64, 0x324D75C3, 0x9A100C81, + 0x72E7E9AE, 0xC729A8AC, 0x9E8489E0, 0xFE5BC233, 0x64709AE9, + 0x113437BC, 0x296DEBC0, 0xC4376603, 0x9F0CD7EE, 0x6412AB97, + 0x3EECEFCD, 0x62DCD50, 0x15DFF1, 0xEEFDCF8E, 0x119849C1, + 0xDAAC93FF, 0xD531AF57, 0x82A10F47, 0xD55B7A97, 0x2F3A268B, + 0x4F1CC181, 0xAE01C1AC, 0xF3CF6F61, 0xE8BDAED5, 0x7397FD99, + 0xDD36A03C, 0x9BAED7C3, 0x51404903, 0xB9867B61, 0x3880A4FD, + 0x42B90A49, 0xA94696C1, 0x546DEA1D, 0xEE73A3DE, 0x1A4BAC37, + 0xBC6AF7AE, 0x7DD5B57B, 0xD2F121F, 0xD2BCCA1E, 0xD5DC4753, + 0xA135C08C, 0x78E97831, 0x9B91C00B, 0xFFF2C044, 0x147B797F, + 0x299CFB60, 0x71083BB, 0xB39A6C4F, 0x4814E3E1, 0xBD246AB0, + 0xBCD61250, 0x2D0870, 0xC660435C, 0xCA11681E, 0xADA4C80E, + 0x790C8875, 0x8C4F0D08, 0x48D90C74, 0xE874E9AA, 0xA8013EE8, + 0xB2D23A7A, 0xAF73A16E, 0x2485512C, 0x698E0CB2, 0x2FF566C9, + 0xC1B0C3C6, 0x2BE17C0E, 0xC42C3907, 0xD8A2EA94, 0x8991D24C, + 0x19B939F1, 0xF936F8B3, 0xA72D7EF1, 0x97EED001, 0xBF9C5156, + 0x75F08A67, 0x9AFD5756, 0x5D9D359C, 0xF905B7EC, 0x2B1553E1, + 0x9E0FD4E1, 0x8DC4814C, 0x89F28E6D, 0x14174915, 0x1F3A4217, + 0xA8F367F9, 0x93EE87C5, 0xAD70C6D8, 0xF04D465C, 0xE403D72B, + 0xA686EC0F, 0xCD3A5728, 0xA1BD007, 0x9E21E401, 0xAE8517CF, + 0x6DDB79FC, 0x8CB2C475, 0x6F71544, 0xBEAC91CF, 0x4739DC4E, + 0x6CF4F788, 0x36BAD9AC, 0xF23568D4, 0x250BAB0A, 0x4633384F, + 0x54F6F251, 0x454F9605, 0xCB1A346, 0x632E207F, 0x3017539C, + 0x174A33ED, 0xBDCFD2DE, 0xC17F3D39, 0x17B8A9A2, 0xC267FB51, + 0x9322387D, 0x348760C, 0x3C14D7E0, 0xE4E4254E, 0xCA72AA41, + 0xB6102ED3, 0x6317A3F, 0xD3B6B9F7, 0xA8C71BB7, 0x6E452957, + 0x3F896E32, 0xE38A4A58, 0x9893F432, 0x110A21D4, 0xE835FEBE, + 0x90F51080, 0xD0AC5AF, 0x4FCB9903, 0xFE547785, 0x144B285D, + 0xD0ECC753, 0xAE503BA4, 0x57CEAABC, 0x95713FE6, 0x5B0F4F86, + 0xD94BD751, 0x4017F139, 0xF60F5E1D, 0xB9A63351, 0xF7F94F6A, + 0x7E556ECC, 0xBFDB8642, 0xB70D07D, 0x351BEA77, 0xD1F3CAD, + 0xA3D7EF4D, 0x1EAA28E3, 0x98A2EA79, 0xD8647392, 0x1B896804, + 0x35CA6A08, 0x305258F, 0xE58BD955, 0xABCB6278, 0x87CF1146, + 0x13145966, 0x45BB55CD, 0x818AA368, 0xA027F11F, 0x64C427A3, + 0xEC831B99, 0xF2BD53F9, 0x7FDA7301, 0x35BE80D4, 0x5256E6FB, + 0xC97D33AE, 0x30921709, 0xC2724BEC, 0x78F5436F, 0x4F5749CD, + 0x9007F551, 0x327C31C0, 0x89782D13, 0x119AD125, 0xB1071A01, + 0x63100C70, 0x83120035, 0xA8E2E403, 0x7E213FA3, 0xBF06AAC4, + 0xBA68C4D9, 0x4B568927, 0x1DDD40F, 0x10FC10E8, 0xBBD7230A, + 0x96475640, 0x8C8E6EC1, 0x44A1134A, 0xEF0F40F0, 0x51E2A5E0, + 0x61AE6D65, 0x9DE72FD6, 0xB1711336, 0x90BEB84, 0xD610EFC6, + 0x3D231F91, 0xB5885164, 0x2CB2112C, 0x36F50789, 0x3DEF2AB9, + 0x1D9DC1DA, 0xA37DB070, 0x2AA92EB, 0x2D57ED6E, 0xD6E2C2CD, + 0xB78FC54C, 0x767A565E, 0x1D1F5AAE, 0x89F256DB, 0x716A97D, + 0x1344431D, 0xFAF015FB, 0xFED59649, 0xC479882A, 0xEEFC3D1E, + 0x840AE162, 0xD963A347, 0x75462C25, 0xDA990E07, 0x9A57DE31, + 0x74A35F20, 0x91852CD6, 0x3F16DE14, 0x5FA6A255, 0x47D00F85, + 0x1B4836C9, 0xC73D0290, 0xE301026B, 0x592068D6, 0x7C32A301, + 0x3A3C04C4, 0xB5BD3BAF, 0xB8C3BF60, 0x76723A1B, 0xD05BC35E, + 0x7679021C, 0x6298096, 0x590BA59C, 0xBB30A2F6, 0xE5F6B06C, + 0x21BD2A9E, 0xAC68D7DA, 0xEDA2ED5A, 0xA10E60FA, 0xABDBF569, + 0x17F5868E, 0x82AA8505, 0x384BD8FC, 0x68DC2746, 0x8F029C0D, + 0x3755EB11, 0xAEF4BB79, 0x453B87BA, 0x9926977F, 0x1FA1B806, + 0xC905618, 0x9BFE8E92, 0xF6F68A5A, 0xAA955D92, 0x44F57A4A, + 0x2186E272, 0x62EB01DA, 0x85A2D502, 0xB087955D, 0x26FF2BA0, + 0x8D462C04, 0xE024573B, 0x609CDBD7, 0xA99B9D19, 0xFEEB3F60, + 0x12903A0D, 0x46480C6, 0xDD0BD1B9, 0x6C60C43, 0x5E11A4FE, + 0x935E9E58, 0x8A7F6D33, 0xA505132D, 0xBB2E3E12, 0xF48633F4, + 0xF3BA8CF7, 0xC25D4EDD, 0x788672B8, 0xB2812608, 0xACB3A62, + 0x2EEB679A, 0x443A71B9, 0xC42F4B12, 0xD28B3482, 0x5571FA8A, + 0x5C0B3D55, 0x8B8619C6, 0xF564F10C, 0xD9A7C914, 0xFBD1EF46, + 0xCEABC573, 0xEC609D28, 0x5839413B, 0x5019E901, 0x248FFF30, + 0x7BFFB801, 0x7FD46584, 0x43702812, 0x3A5A0880, 0x7E3E9EDA, + 0xCA4623E3, 0x2FB87A70, 0xFE70D956, 0xCE9EB3E6, 0x9A2CD2F1, + 0x92EFB0C8, 0xC7E23873, 0x53B63A86, 0xB9D93548, 0x3C022B2, + 0xCF4F22A6, 0x981E70BC, 0x4A05F3AB, 0xD763E93B, 0x6EAF767D, + 0x4162629D, 0xD82A25E7, 0x6CDD19A3, 0x13524F68, 0xE5F23FDC, + 0xB37F311F, 0x35FD43B6, 0x36626469, 0x1E409CF6, 0xE4C04F9D, + 0xC1B58001, 0xD131078F, 0x9DE279A, 0x80B62212, 0x526405DD, + 0xC17777C1, 0x7045FCDC, 0x53862AEC, 0x5D583056, 0xEB532222, + 0x5837EA32, 0x719C06A4, 0x43D4F131, 0x577C6DDB, 0x9E5815A7, + 0x8189DDD9, 0x170F154F, 0xEF813B20, 0x4DD83A53, 0xB09A28FD, + 0x8D0DBED5, 0x1836596D, 0xC5BB2696, 0xA69FC859, 0xD6FF5E0D, + 0xCCC65761, 0xC818C6F7, 0x7A25F980, 0xF949133, 0xC515C093, + 0xA8AD04B5, 0x6768AC1C, 0xB5BE2C4A, 0x4F04616F, 0xBD28E4E3, + 0x4CCA6347, 0x5F61C031 +}; + +/* The source data is random across the q31_t range. Accessing it by word should + remain random. */ +q15_t * transform_fft_q15_inputs = (q15_t *) transform_fft_q31_inputs; + +q15_t dct4_transform_fft_q15_inputs[TRANSFORM_MAX_FFT_LEN * 2] = +{ + 0x0000, 0x2d5c, 0x54d5, 0x714b, 0x7f0d, 0x7c51, 0x6972, 0x48e4, + 0x1edf, 0xf0da, 0xc4cb, 0xa06c, 0x8874, 0x8001, 0x882a, 0x9fe2, + 0xc413, 0xf00c, 0x1e16, 0x4839, 0x68fc, 0x7c1f, 0x7f25, 0x71ab, + 0x5570, 0x2e1e, 0x00cf, 0xd367, 0xabc7, 0x8f16, 0x810d, 0x837e, + 0x9619, 0xb672, 0xe057, 0x0e58, 0x3a7c, 0x5f0a, 0x7741, 0x7ffe, + 0x781e, 0x60a7, 0x3ca4, 0x10c2, 0xe2b4, 0xb873, 0x977b, 0x8415, + 0x80c3, 0x8df6, 0xa9f6, 0xd121, 0xfe61, 0x2bd6, 0x539c, 0x7087, + 0x7ed8, 0x7cb1, 0x6a5c, 0x4a38, 0x2072, 0xf277, 0xc63d, 0xa182, + 0x890b, 0x8005, 0x879b, 0x9ed2, 0xc2a6, 0xee70, 0x1c81, 0x46e0, + 0x680c, 0x7bb7, 0x7f53, 0x7268, 0x56a3, 0x2fa0, 0x026f, 0xd4ed, + 0xad02, 0x8fdc, 0x8145, 0x8321, 0x9531, 0xb51f, 0xdec5, 0x0cba, + 0x390a, 0x5df1, 0x76a8, 0x7ff7, 0x78ab, 0x61b5, 0x3e10, 0x125e, + 0xe449, 0xb9cd, 0x986d, 0x847f, 0x8099, 0x8d3c, 0xa8c4, 0xcf9f, + 0xfcc2, 0x2a4f, 0x5260, 0x6fbf, 0x7e9d, 0x7d0c, 0x6b40, 0x4b89, + 0x2203, 0xf414, 0xc7b1, 0xa29c, 0x89a7, 0x800e, 0x8710, 0x9dc5, + 0xc13a, 0xecd5, 0x1aec, 0x4585, 0x6718, 0x7b4a, 0x7f7b, 0x7320, + 0x57d3, 0x3121, 0x040e, 0xd675, 0xae40, 0x90a7, 0x8182, 0x82c8, + 0x944f, 0xb3d0, 0xdd35, 0x0b1d, 0x3795, 0x5cd5, 0x760a, 0x7fec, + 0x7933, 0x62bf, 0x3f7a, 0x13f8, 0xe5df, 0xbb2a, 0x9964, 0x84ef, + 0x8073, 0x8c86, 0xa796, 0xce20, 0xfb23, 0x28c6, 0x5120, 0x6ef2, + 0x7e5e, 0x7d63, 0x6c21, 0x4cd7, 0x2393, 0xf5b2, 0xc927, 0xa3ba, + 0x8a47, 0x801c, 0x868b, 0x9cbd, 0xbfd1, 0xeb3b, 0x1955, 0x4427, + 0x6620, 0x7ad7, 0x7f9d, 0x73d3, 0x5900, 0x329f, 0x05ad, 0xd7ff, + 0xaf81, 0x9176, 0x81c4, 0x8274, 0x9370, 0xb284, 0xdba6, 0x097f, + 0x361d, 0x5bb5, 0x7566, 0x7fda, 0x79b6, 0x63c6, 0x40e2, 0x1592, + 0xe777, 0xbc8a, 0x9a5e, 0x8564, 0x8053, 0x8bd5, 0xa66b, 0xcca2, + 0xf983, 0x273c, 0x4fdd, 0x6e21, 0x7e19, 0x7db3, 0x6cfd, 0x4e21, + 0x2521, 0xf750, 0xca9f, 0xa4dc, 0x8aed, 0x8030, 0x860a, 0x9bb9, + 0xbe6b, 0xe9a1, 0x17bd, 0x42c6, 0x6523, 0x7a60, 0x7fbb, 0x7481, + 0x5a29, 0x341c, 0x074c, 0xd98a, 0xb0c6, 0x924a, 0x820b, 0x8226, + 0x9297, 0xb13b, 0xda18, 0x07e0, 0x34a4, 0x5a92, 0x74bf, 0x7fc4, + 0x7a34, 0x64c8, 0x4247, 0x172b, 0xe90f, 0xbdec, 0x9b5d, 0x85dd, + 0x8038, 0x8b29, 0xa544, 0xcb27, 0xf7e5, 0x25af, 0x4e97, 0x6d4b, + 0x7dcf, 0x7dff, 0x6dd5, 0x4f69, 0x26ae, 0xf8ef, 0xcc1a, 0xa601, + 0x8b97, 0x8049, 0x858f, 0x9ab9, 0xbd08, 0xe809, 0x1625, 0x4162, + 0x6422, 0x79e4, 0x7fd3, 0x752b, 0x5b4e, 0x3596, 0x08eb, 0xdb17, + 0xb20e, 0x9322, 0x8258, 0x81dd, 0x91c1, 0xaff5, 0xd88c, 0x0641, + 0x3328, 0x596a, 0x7412, 0x7fa8, 0x7aad, 0x65c6, 0x43a9, 0x18c3, + 0xeaa8, 0xbf51, 0x9c5f, 0x865c, 0x8023, 0x8a82, 0xa421, 0xc9ad, + 0xf646, 0x2422, 0x4d4d, 0x6c70, 0x7d80, 0x7e46, 0x6ea8, 0x50ad, + 0x2839, 0xfa8e, 0xcd97, 0xa72b, 0x8c46, 0x8067, 0x8518, 0x99bd, + 0xbba7, 0xe671, 0x148b, 0x3ffb, 0x631e, 0x7963, 0x7fe6, 0x75d0, + 0x5c6f, 0x370f, 0x0a89, 0xdca6, 0xb359, 0x93ff, 0x82a9, 0x8199, + 0x90f0, 0xaeb2, 0xd702, 0x04a2, 0x31aa, 0x583f, 0x7360, 0x7f88, + 0x7b21, 0x66c0, 0x4508, 0x1a5a, 0xec42, 0xc0b9, 0x9d66, 0x86e0, + 0x8012, 0x89e0, 0xa302, 0xc836, 0xf4a8, 0x2292, 0x4c01, 0x6b91, + 0x7d2c, 0x7e87, 0x6f76, 0x51ee, 0x29c3, 0xfc2d, 0xcf16, 0xa858, + 0x8cfa, 0x808b, 0x84a7, 0x98c5, 0xba4a, 0xe4da, 0x12f1, 0x3e92, + 0x6215, 0x78dc, 0x7ff4, 0x7670, 0x5d8c, 0x3884, 0x0c27, 0xde36, + 0xb4a7, 0x94e0, 0x8300, 0x815a, 0x9024, 0xad73, 0xd579, 0x0303, + 0x302a, 0x5711, 0x72aa, 0x7f61, 0x7b90, 0x67b5, 0x4664, 0x1bf0, + 0xeddd, 0xc223, 0x9e71, 0x8769, 0x8007, 0x8942, 0xa1e6, 0xc6c2, + 0xf30b, 0x2102, 0x4ab1, 0x6aae, 0x7cd2, 0x7ec3, 0x7040, 0x532b, + 0x2b4b, 0xfdcc, 0xd097, 0xa988, 0x8db3, 0x80b4, 0x843a, 0x97d1, + 0xb8ef, 0xe345, 0x1155, 0x3d27, 0x6108, 0x7851, 0x7ffc, 0x770b, + 0x5ea6, 0x39f8, 0x0dc4, 0xdfc7, 0xb5f8, 0x95c5, 0x835c, 0x8120, + 0x8f5d, 0xac37, 0xd3f2, 0x0164, 0x2ea8, 0x55de, 0x71ef, 0x7f36, + 0x7bfa, 0x68a7, 0x47be, 0x1d85, 0xef79, 0xc390, 0x9f80, 0x87f6, + 0x8001, 0x88a9, 0xa0cf, 0xc54f, 0xf16e, 0x1f70, 0x495e, 0x69c6, + 0x7c74, 0x7efa, 0x7106, 0x5465, 0x2cd1, 0xff6c, 0xd219, 0xaabc, + 0x8e70, 0x80e2, 0x83d3, 0x96e2, 0xb796, 0xe1b1, 0x0fb9, 0x3bb8, + 0x5ff7, 0x77c1, 0x7fff, 0x77a1, 0x5fbc, 0x3b69, 0x0f61, 0xe15a, + 0xb74d, 0x96af, 0x83bd, 0x80ec, 0x8e9a, 0xaaff, 0xd26d, 0xffc5, + 0x2d24, 0x54a8, 0x712f, 0x7f05, 0x7c5f, 0x6994, 0x4914, 0x1f19, + 0xf115, 0xc500, 0xa093, 0x8889, 0x8001, 0x8816, 0x9fbb, 0xc3df, + 0xefd1, 0x1ddc, 0x4808, 0x68da, 0x7c10, 0x7f2c, 0x71c6, 0x559c, + 0x2e55, 0x010a, 0xd39e, 0xabf4, 0x8f32, 0x8115, 0x8371, 0x95f7, + 0xb641, 0xe01e, 0x0e1d, 0x3a48, 0x5ee2, 0x772c, 0x7ffd, 0x7832, + 0x60cd, 0x3cd8, 0x10fd, 0xe2ee, 0xb8a4, 0x979e, 0x8423, 0x80bd, + 0x8ddb, 0xa9ca, 0xd0ea, 0xfe26, 0x2b9f, 0x536f, 0x706b, 0x7ed0, + 0x7cbf, 0x6a7c, 0x4a68, 0x20ab, 0xf2b2, 0xc672, 0xa1aa, 0x8921, + 0x8006, 0x8787, 0x9eab, 0xc272, 0xee36, 0x1c48, 0x46af, 0x67ea, + 0x7ba8, 0x7f59, 0x7282, 0x56cf, 0x2fd7, 0x02aa, 0xd525, 0xad2f, + 0x8ff9, 0x814d, 0x8314, 0x9511, 0xb4ef, 0xde8c, 0x0c80, 0x38d5, + 0x5dc9, 0x7692, 0x7ff6, 0x78bf, 0x61db, 0x3e44, 0x1298, 0xe483, + 0xb9ff, 0x9890, 0x848f, 0x8093, 0x8d22, 0xa899, 0xcf68, 0xfc87, + 0x2a17, 0x5232, 0x6fa2, 0x7e95, 0x7d19, 0x6b61, 0x4bb8, 0x223c, + 0xf44f, 0xc7e6, 0xa2c5, 0x89bd, 0x8010, 0x86fd, 0x9d9f, 0xc107, + 0xec9b, 0x1ab2, 0x4553, 0x66f5, 0x7b3a, 0x7f80, 0x7339, 0x57fe, + 0x3157, 0x0449, 0xd6ad, 0xae6d, 0x90c4, 0x818b, 0x82bc, 0x942f, + 0xb3a0, 0xdcfc, 0x0ae2, 0x375f, 0x5cad, 0x75f3, 0x7fe9, 0x7946, + 0x62e5, 0x3fae, 0x1433, 0xe619, 0xbb5c, 0x9987, 0x84ff, 0x806f, + 0x8c6d, 0xa76b, 0xcde9, 0xfae7, 0x288e, 0x50f2, 0x6ed5, 0x7e54, + 0x7d6e, 0x6c41, 0x4d06, 0x23cc, 0xf5ed, 0xc95c, 0xa3e3, 0x8a5f, + 0x801f, 0x8678, 0x9c98, 0xbf9e, 0xeb00, 0x191b, 0x43f5, 0x65fc, + 0x7ac7, 0x7fa2, 0x73ec, 0x592a, 0x32d6, 0x05e8, 0xd837, 0xafaf, + 0x9194, 0x81ce, 0x8269, 0x9351, 0xb255, 0xdb6d, 0x0944, 0x35e8, + 0x5b8c, 0x754f, 0x7fd8, 0x79c8, 0x63eb, 0x4115, 0x15cc, 0xe7b1, + 0xbcbc, 0x9a82, 0x8575, 0x804f, 0x8bbd, 0xa641, 0xcc6c, 0xf948, + 0x2703, 0x4faf, 0x6e03, 0x7e0f, 0x7dbf, 0x6d1c, 0x4e50, 0x255a, + 0xf78b, 0xcad5, 0xa505, 0x8b05, 0x8033, 0x85f8, 0x9b94, 0xbe39, + 0xe967, 0x1783, 0x4293, 0x64ff, 0x7a4f, 0x7fbf, 0x749a, 0x5a52, + 0x3452, 0x0787, 0xd9c3, 0xb0f4, 0x9268, 0x8216, 0x821b, 0x9278, + 0xb10c, 0xd9e0, 0x07a5, 0x346e, 0x5a68, 0x74a6, 0x7fc0, 0x7a46, + 0x64ec, 0x4279, 0x1765, 0xe949, 0xbe1f, 0x9b81, 0x85ef, 0x8035, + 0x8b11, 0xa51b, 0xcaf1, 0xf7aa, 0x2577, 0x4e68, 0x6d2c, 0x7dc4, + 0x7e0a, 0x6df3, 0x4f97, 0x26e6, 0xf92a, 0xcc50, 0xa62c, 0x8bb0, + 0x804d, 0x857d, 0x9a95, 0xbcd6, 0xe7cf, 0x15ea, 0x412f, 0x63fe, + 0x79d2, 0x7fd6, 0x7543, 0x5b77, 0x35cc, 0x0925, 0xdb50, 0xb23d, + 0x9341, 0x8263, 0x81d3, 0x91a3, 0xafc7, 0xd854, 0x0606, 0x32f2, + 0x5940, 0x73f9, 0x7fa4, 0x7abe, 0x65ea, 0x43db, 0x18fd, 0xeae2, + 0xbf84, 0x9c85, 0x866f, 0x8020, 0x8a6b, 0xa3f8, 0xc978, 0xf60b, + 0x23e9, 0x4d1e, 0x6c51, 0x7d74, 0x7e4f, 0x6ec5, 0x50db, 0x2871, + 0xfac9, 0xcdcd, 0xa755, 0x8c60, 0x806c, 0x8508, 0x9999, 0xbb75, + 0xe637, 0x1451, 0x3fc8, 0x62f8, 0x7950, 0x7fe8, 0x75e7, 0x5c98, + 0x3744, 0x0ac4, 0xdcdf, 0xb388, 0x941e, 0x82b5, 0x8190, 0x90d3, + 0xae85, 0xd6ca, 0x0467, 0x3173, 0x5814, 0x7347, 0x7f82, 0x7b31, + 0x66e3, 0x453a, 0x1a94, 0xec7d, 0xc0ec, 0x9d8c, 0x86f3, 0x8011, + 0x89c9, 0xa2d9, 0xc801, 0xf46d, 0x2259, 0x4bd1, 0x6b71, 0x7d1f, + 0x7e90, 0x6f93, 0x521b, 0x29fb, 0xfc68, 0xcf4c, 0xa883, 0x8d14, + 0x8090, 0x8497, 0x98a2, 0xba18, 0xe4a1, 0x12b6, 0x3e5f, 0x61ef, + 0x78c9, 0x7ff5, 0x7686, 0x5db5, 0x38b9, 0x0c61, 0xde6f, 0xb4d7, + 0x9500, 0x830d, 0x8152, 0x9007, 0xad46, 0xd541, 0x02c8, 0x2ff3, + 0x56e5, 0x7290, 0x7f5c, 0x7ba0, 0x67d8, 0x4696, 0x1c2a, 0xee17, + 0xc257, 0x9e97, 0x877d, 0x8006, 0x892c, 0xa1be, 0xc68d, 0xf2d0, + 0x20c8, 0x4a81, 0x6a8d, 0x7cc5, 0x7ecc, 0x705d, 0x5358, 0x2b82, + 0xfe08, 0xd0ce, 0xa9b4, 0x8dce, 0x80ba, 0x842b, 0x97af, 0xb8bd, + 0xe30b, 0x111b, 0x3cf3, 0x60e1, 0x783d, 0x7ffd, 0x7721, 0x5ece, + 0x3a2d, 0x0dff, 0xe000, 0xb629, 0x95e6, 0x836a, 0x8119, 0x8f41, + 0xac0b, 0xd3bb, 0x0129, 0x2e71, 0x55b2, 0x71d4, 0x7f2f, 0x7c09, + 0x68c9, 0x47ef, 0x1dbf, 0xefb3, 0xc3c4, 0x9fa7, 0x880b, 0x8001, + 0x8894, 0xa0a7, 0xc51b, 0xf133, 0x1f36, 0x492d, 0x69a5, 0x7c66, + 0x7f02, 0x7121, 0x5492, 0x2d08, 0xffa7, 0xd251, 0xaae8, 0x8e8b, + 0x80e9, 0x83c5, 0x96c1, 0xb766, 0xe177, 0x0f7f, 0x3b84, 0x5fd0, + 0x77ac, 0x7fff, 0x77b6, 0x5fe3, 0x3b9d, 0x0f9b, 0xe193, 0xb77d, + 0x96d1, 0x83cc, 0x80e5, 0x8e7e, 0xaad3, 0xd236, 0xff8a, 0x2ced, + 0x547c, 0x7114, 0x7efe, 0x7c6d, 0x69b5, 0x4945, 0x1f52, 0xf150, + 0xc534, 0xa0ba, 0x889e, 0x8001, 0x8801, 0x9f94, 0xc3ab, 0xef97, + 0x1da3, 0x47d7, 0x68b8, 0x7c02, 0x7f33, 0x71e1, 0x55c8, 0x2e8c, + 0x0145, 0xd3d6, 0xac20, 0x8f4e, 0x811c, 0x8363, 0x95d6, 0xb611, + 0xdfe5, 0x0de2, 0x3a13, 0x5eba, 0x7716, 0x7ffd, 0x7847, 0x60f4, + 0x3d0c, 0x1137, 0xe327, 0xb8d5, 0x97c0, 0x8432, 0x80b7, 0x8dc1, + 0xa99f, 0xd0b3, 0xfdeb, 0x2b67, 0x5342, 0x704f, 0x7ec8, 0x7ccc, + 0x6a9d, 0x4a98, 0x20e4, 0xf2ed, 0xc6a6, 0xa1d2, 0x8937, 0x8007, + 0x8773, 0x9e85, 0xc23e, 0xedfb, 0x1c0e, 0x467e, 0x67c7, 0x7b98, + 0x7f5e, 0x729d, 0x56fa, 0x300e, 0x02e5, 0xd55c, 0xad5c, 0x9015, + 0x8156, 0x8307, 0x94f0, 0xb4c0, 0xde53, 0x0c45, 0x38a0, 0x5da1, + 0x767b, 0x7ff5, 0x78d2, 0x6201, 0x3e78, 0x12d3, 0xe4bd, 0xba30, + 0x98b3, 0x849e, 0x808e, 0x8d08, 0xa86e, 0xcf32, 0xfc4c, 0x29df, + 0x5205, 0x6f85, 0x7e8c, 0x7d25, 0x6b81, 0x4be8, 0x2275, 0xf48a, + 0xc81b, 0xa2ed, 0x89d4, 0x8011, 0x86ea, 0x9d7a, 0xc0d3, 0xec60, + 0x1a78, 0x4522, 0x66d2, 0x7b2a, 0x7f85, 0x7353, 0x5829, 0x318e, + 0x0484, 0xd6e5, 0xae9b, 0x90e1, 0x8194, 0x82b0, 0x940f, 0xb371, + 0xdcc3, 0x0aa7, 0x372a, 0x5c84, 0x75dc, 0x7fe7, 0x7959, 0x630a, + 0x3fe1, 0x146d, 0xe653, 0xbb8e, 0x99aa, 0x8510, 0x806a, 0x8c53, + 0xa741, 0xcdb3, 0xfaac, 0x2856, 0x50c4, 0x6eb7, 0x7e4b, 0x7d7a, + 0x6c60, 0x4d35, 0x2404, 0xf628, 0xc992, 0xa40c, 0x8a76, 0x8021, + 0x8666, 0x9c72, 0xbf6b, 0xeac6, 0x18e1, 0x43c2, 0x65d8, 0x7ab6, + 0x7fa6, 0x7405, 0x5955, 0x330c, 0x0623, 0xd86f, 0xafdd, 0x91b2, + 0x81d8, 0x825e, 0x9332, 0xb226, 0xdb34, 0x0909, 0x35b2, 0x5b63, + 0x7537, 0x7fd5, 0x79db, 0x6410, 0x4148, 0x1607, 0xe7eb, 0xbcee, + 0x9aa6, 0x8586, 0x804b, 0x8ba4, 0xa617, 0xcc36, 0xf90d, 0x26cb, + 0x4f80, 0x6de4, 0x7e05, 0x7dca, 0x6d3b, 0x4e7f, 0x2592, 0xf7c6, + 0xcb0b, 0xa52f, 0x8b1d, 0x8037, 0x85e6, 0x9b6f, 0xbe06, 0xe92d, + 0x1749, 0x4261, 0x64db, 0x7a3d, 0x7fc2, 0x74b2, 0x5a7c, 0x3488, + 0x07c2, 0xd9fb, 0xb123, 0x9287, 0x8220, 0x8211, 0x9259, 0xb0de, + 0xd9a7, 0x076a, 0x3438, 0x5a3e, 0x748e, 0x7fbd, 0x7a57, 0x6511, + 0x42ac, 0x179f, 0xe983, 0xbe51, 0x9ba6, 0x8601, 0x8032, 0x8af9, + 0xa4f1, 0xcabb, 0xf76f, 0x253e, 0x4e39, 0x6d0d, 0x7db9, 0x7e14, + 0x6e11, 0x4fc5, 0x271f, 0xf965, 0xcc86, 0xa656, 0x8bc9, 0x8051, + 0x856c, 0x9a70, 0xbca3, 0xe795, 0x15b0, 0x40fc, 0x63d9, 0x79c0, + 0x7fd9, 0x755a, 0x5ba0, 0x3602, 0x0960, 0xdb89, 0xb26c, 0x9360, + 0x826e, 0x81c9, 0x9185, 0xaf99, 0xd81c, 0x05cb, 0x32bb, 0x5916, + 0x73e0, 0x7fa0, 0x7acf, 0x660d, 0x440d, 0x1937, 0xeb1d, 0xbfb7, + 0x9caa, 0x8681, 0x801e, 0x8a53, 0xa3cf, 0xc942, 0xf5d0, 0x23b0, + 0x4cef, 0x6c31, 0x7d69, 0x7e59, 0x6ee3, 0x5108, 0x28a9, 0xfb04, + 0xce04, 0xa780, 0x8c79, 0x8071, 0x84f7, 0x9976, 0xbb43, 0xe5fd, + 0x1416, 0x3f95, 0x62d3, 0x793d, 0x7feb, 0x75fe, 0x5cc0, 0x3779, + 0x0aff, 0xdd18, 0xb3b8, 0x943e, 0x82c2, 0x8186, 0x90b6, 0xae57, + 0xd692, 0x042c, 0x313d, 0x57ea, 0x732d, 0x7f7d, 0x7b41, 0x6706, + 0x456b, 0x1ace, 0xecb7, 0xc120, 0x9db2, 0x8706, 0x800f, 0x89b2, + 0xa2b1, 0xc7cc, 0xf433, 0x2220, 0x4ba1, 0x6b51, 0x7d13, 0x7e99, + 0x6fb0, 0x5248, 0x2a32, 0xfca3, 0xcf83, 0xa8ae, 0x8d2e, 0x8096, + 0x8487, 0x987f, 0xb9e6, 0xe467, 0x127c, 0x3e2b, 0x61c9, 0x78b5, + 0x7ff7, 0x769c, 0x5ddd, 0x38ee, 0x0c9c, 0xdea8, 0xb507, 0x9521, + 0x831a, 0x8149, 0x8feb, 0xad19, 0xd50a, 0x028d, 0x2fbc, 0x56ba, + 0x7275, 0x7f56, 0x7baf, 0x67fa, 0x46c7, 0x1c64, 0xee52, 0xc28b, + 0x9ebe, 0x8791, 0x8005, 0x8916, 0xa196, 0xc658, 0xf295, 0x208f, + 0x4a51, 0x6a6c, 0x7cb8, 0x7ed4, 0x7079, 0x5385, 0x2bba, 0xfe43, + 0xd104, 0xa9df, 0x8de8, 0x80c0, 0x841c, 0x978d, 0xb88c, 0xe2d2, + 0x10e0, 0x3cbf, 0x60bb, 0x7828, 0x7ffe, 0x7736, 0x5ef5, 0x3a61, + 0x0e39, 0xe03a, 0xb659, 0x9608, 0x8377, 0x8111, 0x8f25, 0xabde, + 0xd383, 0x00ee, 0x2e3a, 0x5586, 0x71b9, 0x7f29, 0x7c17, 0x68eb, + 0x4820, 0x1df8, 0xefee, 0xc3f9, 0x9fce, 0x8820, 0x8001, 0x887f, + 0xa080, 0xc4e6, 0xf0f8, 0x1efd, 0x48fd, 0x6983, 0x7c58, 0x7f09, + 0x713d, 0x54be, 0x2d3f, 0xffe2, 0xd288, 0xab15, 0x8ea7, 0x80f0, + 0x83b6, 0x969f, 0xb735, 0xe13e, 0x0f44, 0x3b50, 0x5fa9, 0x7797, + 0x7fff, 0x77cb, 0x600a, 0x3bd2, 0x0fd6, 0xe1cd, 0xb7ae, 0x96f3, + 0x83da, 0x80de, 0x8e63, 0xaaa7, 0xd1ff, 0xff4f, 0x2cb6, 0x5450, + 0x70f8, 0x7ef7, 0x7c7b, 0x69d6, 0x4975, 0x1f8b, 0xf18a, 0xc569, + 0xa0e2, 0x88b4, 0x8002, 0x87ed, 0x9f6d, 0xc377, 0xef5c, 0x1d69, + 0x47a6, 0x6896, 0x7bf3, 0x7f39, 0x71fc, 0x55f4, 0x2ec3, 0x0181, + 0xd40d, 0xac4d, 0x8f6a, 0x8124, 0x8356, 0x95b5, 0xb5e1, 0xdfab, + 0x0da7, 0x39de, 0x5e93, 0x7700, 0x7ffc, 0x785b, 0x611b, 0x3d40, + 0x1172, 0xe361, 0xb906, 0x97e2, 0x8441, 0x80b1, 0x8da6, 0xa973, + 0xd07c, 0xfdb0, 0x2b30, 0x5315, 0x7032, 0x7ebf, 0x7cd9, 0x6abe, + 0x4ac8, 0x211d, 0xf327, 0xc6db, 0xa1fa, 0x894d, 0x8008, 0x875f, + 0x9e5f, 0xc20a, 0xedc1, 0x1bd4, 0x464c, 0x67a4, 0x7b89, 0x7f64, + 0x72b7, 0x5726, 0x3045, 0x0320, 0xd594, 0xad89, 0x9032, 0x815e, + 0x82fa, 0x94d0, 0xb490, 0xde1a, 0x0c0a, 0x386b, 0x5d79, 0x7665, + 0x7ff3, 0x78e6, 0x6227, 0x3eab, 0x130d, 0xe4f7, 0xba62, 0x98d6, + 0x84ae, 0x8088, 0x8cee, 0xa843, 0xcefb, 0xfc10, 0x29a8, 0x51d8, + 0x6f68, 0x7e83, 0x7d32, 0x6ba1, 0x4c18, 0x22ae, 0xf4c5, 0xc850, + 0xa316, 0x89eb, 0x8013, 0x86d7, 0x9d54, 0xc0a0, 0xec26, 0x1a3e, + 0x44f0, 0x66af, 0x7b19, 0x7f8a, 0x736d, 0x5854, 0x31c4, 0x04bf, + 0xd71d, 0xaec9, 0x90ff, 0x819d, 0x82a4, 0x93ef, 0xb342, 0xdc8a, + 0x0a6c, 0x36f5, 0x5c5b, 0x75c5, 0x7fe5, 0x796c, 0x6330, 0x4014, + 0x14a7, 0xe68d, 0xbbc0, 0x99ce, 0x8520, 0x8065, 0x8c3a, 0xa716, + 0xcd7c, 0xfa71, 0x281e, 0x5097, 0x6e99, 0x7e41, 0x7d86, 0x6c80, + 0x4d64, 0x243d, 0xf663, 0xc9c7, 0xa435, 0x8a8d, 0x8024, 0x8653, + 0x9c4d, 0xbf38, 0xea8c, 0x18a7, 0x4390, 0x65b4, 0x7aa5, 0x7fab, + 0x741e, 0x597f, 0x3342, 0x065e, 0xd8a8, 0xb00b, 0x91d0, 0x81e2, + 0x8252, 0x9313, 0xb1f7, 0xdafc, 0x08ce, 0x357c, 0x5b39, 0x751f, + 0x7fd2, 0x79ed, 0x6434, 0x417b, 0x1641, 0xe825, 0xbd20, 0x9aca, + 0x8597, 0x8047, 0x8b8b, 0xa5ed, 0xcc00, 0xf8d2, 0x2693, 0x4f52, + 0x6dc6, 0x7dfa, 0x7dd4, 0x6d5a, 0x4ead, 0x25cb, 0xf801, 0xcb41, + 0xa559, 0x8b35, 0x803a, 0x85d5, 0x9b4b, 0xbdd3, 0xe8f3, 0x170f, + 0x422e, 0x64b6, 0x7a2c, 0x7fc6, 0x74ca, 0x5aa6, 0x34be, 0x07fd, + 0xda34, 0xb151, 0x92a5, 0x822b, 0x8206, 0x923b, 0xb0af, 0xd96f, + 0x072f, 0x3402, 0x5a14, 0x7475, 0x7fb9, 0x7a69, 0x6535, 0x42de, + 0x17da, 0xe9bd, 0xbe84, 0x9bcb, 0x8613, 0x802f, 0x8ae1, 0xa4c8, + 0xca85, 0xf734, 0x2506, 0x4e0a, 0x6cee, 0x7dae, 0x7e1e, 0x6e2f, + 0x4ff3, 0x2757, 0xf9a0, 0xccbc, 0xa680, 0x8be1, 0x8055, 0x855b, + 0x9a4d, 0xbc71, 0xe75a, 0x1576, 0x40c9, 0x63b4, 0x79ad, 0x7fdc, + 0x7572, 0x5bca, 0x3637, 0x099b, 0xdbc1, 0xb29b, 0x9380, 0x827a, + 0x81bf, 0x9168, 0xaf6b, 0xd7e4, 0x0590, 0x3285, 0x58eb, 0x73c7, + 0x7f9b, 0x7adf, 0x6631, 0x443f, 0x1971, 0xeb57, 0xbfea, 0x9ccf, + 0x8694, 0x801b, 0x8a3c, 0xa3a6, 0xc90d, 0xf596, 0x2377, 0x4cc0, + 0x6c12, 0x7d5d, 0x7e62, 0x6f00, 0x5136, 0x28e1, 0xfb3f, 0xce3a, + 0xa7ab, 0x8c93, 0x8076, 0x84e7, 0x9952, 0xbb12, 0xe5c3, 0x13dc, + 0x3f62, 0x62ad, 0x792a, 0x7fed, 0x7615, 0x5ce9, 0x37ae, 0x0b39, + 0xdd50, 0xb3e7, 0x945e, 0x82ce, 0x817d, 0x9099, 0xae2a, 0xd65a, + 0x03f1, 0x3106, 0x57bf, 0x7313, 0x7f78, 0x7b51, 0x6729, 0x459d, + 0x1b08, 0xecf1, 0xc153, 0x9dd8, 0x871a, 0x800d, 0x899c, 0xa288, + 0xc797, 0xf3f8, 0x21e7, 0x4b72, 0x6b31, 0x7d06, 0x7ea2, 0x6fcd, + 0x5276, 0x2a6a, 0xfcde, 0xcfba, 0xa8d9, 0x8d48, 0x809c, 0x8478, + 0x985c, 0xb9b5, 0xe42d, 0x1241, 0x3df7, 0x61a2, 0x78a1, 0x7ff8, + 0x76b3, 0x5e05, 0x3923, 0x0cd7, 0xdee1, 0xb537, 0x9541, 0x8327, + 0x8141, 0x8fce, 0xacec, 0xd4d2, 0x0252, 0x2f86, 0x568e, 0x725b, + 0x7f50, 0x7bbe, 0x681d, 0x46f8, 0x1c9d, 0xee8d, 0xc2bf, 0x9ee4, + 0x87a5, 0x8004, 0x8900, 0xa16f, 0xc623, 0xf25a, 0x2056, 0x4a20, + 0x6a4c, 0x7cab, 0x7edb, 0x7095, 0x53b2, 0x2bf1, 0xfe7e, 0xd13c, + 0xaa0b, 0x8e03, 0x80c7, 0x840d, 0x976b, 0xb85b, 0xe298, 0x10a6, + 0x3c8b, 0x6094, 0x7814, 0x7ffe, 0x774c, 0x5f1d, 0x3a96, 0x0e74, + 0xe073, 0xb689, 0x9629, 0x8385, 0x810a, 0x8f09, 0xabb2, 0xd34c, + 0x00b2, 0x2e03, 0x555a, 0x719e, 0x7f22, 0x7c26, 0x690c, 0x4850, + 0x1e32, 0xf028, 0xc42d, 0x9ff5, 0x8835, 0x8001, 0x886a, 0xa059, + 0xc4b2, 0xf0be, 0x1ec4, 0x48cc, 0x6962, 0x7c4a, 0x7f10, 0x7158, + 0x54ea, 0x2d77, 0x001c, 0xd2bf, 0xab41, 0x8ec2, 0x80f7, 0x83a8, + 0x967d, 0xb705, 0xe105, 0x0f09, 0x3b1b, 0x5f81, 0x7782, 0x7fff, + 0x77e0, 0x6031, 0x3c06, 0x1011, 0xe206, 0xb7df, 0x9715, 0x83e8, + 0x80d7, 0x8e48, 0xaa7b, 0xd1c7, 0xff14, 0x2c7e, 0x5423, 0x70dc, + 0x7eef, 0x7c88, 0x69f8, 0x49a6, 0x1fc5, 0xf1c5, 0xc59d, 0xa10a, + 0x88c9, 0x8002, 0x87d8, 0x9f46, 0xc343, 0xef21, 0x1d30, 0x4775, + 0x6874, 0x7be4, 0x7f40, 0x7217, 0x561f, 0x2efa, 0x01bc, 0xd445, + 0xac7a, 0x8f86, 0x812c, 0x8348, 0x9594, 0xb5b1, 0xdf72, 0x0d6c, + 0x39aa, 0x5e6b, 0x76ea, 0x7ffb, 0x786f, 0x6141, 0x3d74, 0x11ac, + 0xe39b, 0xb938, 0x9805, 0x8451, 0x80ab, 0x8d8b, 0xa947, 0xd045, + 0xfd75, 0x2af8, 0x52e8, 0x7016, 0x7eb7, 0x7ce6, 0x6ade, 0x4af8, + 0x2156, 0xf362, 0xc710, 0xa222, 0x8963, 0x8009, 0x874b, 0x9e38, + 0xc1d6, 0xed86, 0x1b9b, 0x461b, 0x6782, 0x7b79, 0x7f6a, 0x72d1, + 0x5751, 0x307b, 0x035b, 0xd5cc, 0xadb6, 0x904f, 0x8167, 0x82ed, + 0x94b0, 0xb460, 0xdde1, 0x0bcf, 0x3836, 0x5d50, 0x764e, 0x7ff1, + 0x78f9, 0x624d, 0x3edf, 0x1347, 0xe530, 0xba93, 0x98f9, 0x84be, + 0x8083, 0x8cd4, 0xa818, 0xcec5, 0xfbd5, 0x2970, 0x51aa, 0x6f4b, + 0x7e7a, 0x7d3e, 0x6bc1, 0x4c47, 0x22e7, 0xf500, 0xc885, 0xa33e, + 0x8a02, 0x8015, 0x86c4, 0x9d2e, 0xc06d, 0xebeb, 0x1a04, 0x44be, + 0x668b, 0x7b09, 0x7f8f, 0x7386, 0x587f, 0x31fb, 0x04fa, 0xd755, + 0xaef6, 0x911c, 0x81a7, 0x8298, 0x93d0, 0xb312, 0xdc51, 0x0a31, + 0x36bf, 0x5c32, 0x75ad, 0x7fe2, 0x797e, 0x6355, 0x4047, 0x14e2, + 0xe6c7, 0xbbf2, 0x99f2, 0x8531, 0x8060, 0x8c21, 0xa6ec, 0xcd46, + 0xfa36, 0x27e6, 0x5069, 0x6e7b, 0x7e37, 0x7d91, 0x6c9f, 0x4d93, + 0x2476, 0xf69e, 0xc9fd, 0xa45f, 0x8aa5, 0x8027, 0x8641, 0x9c28, + 0xbf05, 0xea51, 0x186d, 0x435e, 0x6590, 0x7a94, 0x7faf, 0x7437, + 0x59a9, 0x3378, 0x0699, 0xd8e0, 0xb039, 0x91ee, 0x81ec, 0x8247, + 0x92f4, 0xb1c8, 0xdac3, 0x0893, 0x3547, 0x5b10, 0x7507, 0x7fce, + 0x79ff, 0x6459, 0x41ad, 0x167b, 0xe85f, 0xbd53, 0x9aee, 0x85a8, + 0x8043, 0x8b73, 0xa5c3, 0xcbca, 0xf897, 0x265a, 0x4f24, 0x6da7, + 0x7df0, 0x7ddf, 0x6d78, 0x4edc, 0x2603, 0xf83c, 0xcb77, 0xa583, + 0x8b4d, 0x803e, 0x85c3, 0x9b26, 0xbda1, 0xe8b8, 0x16d5, 0x41fb, + 0x6492, 0x7a1a, 0x7fc9, 0x74e2, 0x5ad0, 0x34f4, 0x0838, 0xda6c, + 0xb180, 0x92c4, 0x8236, 0x81fc, 0x921d, 0xb081, 0xd937, 0x06f4, + 0x33cc, 0x59ea, 0x745d, 0x7fb5, 0x7a7a, 0x6559, 0x4311, 0x1814, + 0xe9f8, 0xbeb7, 0x9bef, 0x8625, 0x802b, 0x8ac9, 0xa49e, 0xca50, + 0xf6f9, 0x24cd, 0x4ddc, 0x6ccf, 0x7da3, 0x7e28, 0x6e4d, 0x5022, + 0x278f, 0xf9db, 0xccf3, 0xa6aa, 0x8bfa, 0x805a, 0x854a, 0x9a29, + 0xbc3f, 0xe720, 0x153c, 0x4096, 0x638f, 0x799b, 0x7fdf, 0x7589, + 0x5bf3, 0x366d, 0x09d6, 0xdbfa, 0xb2ca, 0x939f, 0x8286, 0x81b5, + 0x914a, 0xaf3d, 0xd7ab, 0x0555, 0x324f, 0x58c1, 0x73ad, 0x7f96, + 0x7af0, 0x6655, 0x4471, 0x19ab, 0xeb91, 0xc01e, 0x9cf5, 0x86a7, + 0x8019, 0x8a25, 0xa37d, 0xc8d8, 0xf55b, 0x233e, 0x4c90, 0x6bf2, + 0x7d51, 0x7e6c, 0x6f1e, 0x5164, 0x2919, 0xfb7a, 0xce71, 0xa7d6, + 0x8cac, 0x807b, 0x84d7, 0x992f, 0xbae0, 0xe589, 0x13a1, 0x3f2e, + 0x6287, 0x7917, 0x7fef, 0x762b, 0x5d12, 0x37e4, 0x0b74, 0xdd89, + 0xb417, 0x947e, 0x82da, 0x8174, 0x907c, 0xadfc, 0xd622, 0x03b6, + 0x30d0, 0x5793, 0x72f9, 0x7f73, 0x7b61, 0x674c, 0x45cf, 0x1b42, + 0xed2c, 0xc187, 0x9dfe, 0x872d, 0x800b, 0x8985, 0xa260, 0xc762, + 0xf3bd, 0x21ae, 0x4b42, 0x6b10, 0x7cfa, 0x7eaa, 0x6fea, 0x52a3, + 0x2aa2, 0xfd1a, 0xcff1, 0xa905, 0x8d63, 0x80a1, 0x8468, 0x983a, + 0xb984, 0xe3f4, 0x1207, 0x3dc4, 0x617c, 0x788e, 0x7ff9, 0x76c9, + 0x5e2d, 0x3958, 0x0d12, 0xdf1a, 0xb567, 0x9562, 0x8334, 0x8139, + 0x8fb2, 0xacbf, 0xd49a, 0x0217, 0x2f4f, 0x5663, 0x7240, 0x7f49, + 0x7bcd, 0x683f, 0x4729, 0x1cd7, 0xeec7, 0xc2f3, 0x9f0b, 0x87b9, + 0x8003, 0x88eb, 0xa147, 0xc5ee, 0xf220, 0x201d, 0x49f0, 0x6a2b, + 0x7c9d, 0x7ee3, 0x70b1, 0x53de, 0x2c29, 0xfeb9, 0xd173, 0xaa37, + 0x8e1e, 0x80cd, 0x83ff, 0x9749, 0xb82a, 0xe25f, 0x106b, 0x3c56, + 0x606d, 0x7800, 0x7fff, 0x7761, 0x5f44, 0x3aca, 0x0eaf, 0xe0ac, + 0xb6ba, 0x964a, 0x8393, 0x8102, 0x8eed, 0xab85, 0xd314, 0x0077, + 0x2dcc, 0x552e, 0x7183, 0x7f1b, 0x7c34, 0x692e, 0x4881, 0x1e6b, + 0xf063, 0xc461, 0xa01c, 0x8849, 0x8001, 0x8855, 0xa031, 0xc47d, + 0xf083, 0x1e8a, 0x489c, 0x6940, 0x7c3c, 0x7f17, 0x7174, 0x5516, + 0x2dae, 0x0057, 0xd2f6, 0xab6d, 0x8ede, 0x80fe, 0x839a, 0x965c, + 0xb6d4, 0xe0cb, 0x0ecf, 0x3ae7, 0x5f5a, 0x776c, 0x7fff, 0x77f4, + 0x6058, 0x3c3a, 0x104b, 0xe240, 0xb810, 0x9736, 0x83f7, 0x80d1, + 0x8e2d, 0xaa4f, 0xd190, 0xfed9, 0x2c47, 0x53f7, 0x70c0, 0x7ee7, + 0x7c96, 0x6a19, 0x49d6, 0x1ffe, 0xf200, 0xc5d2, 0xa131, 0x88df, + 0x8003, 0x87c4, 0x9f20, 0xc30f, 0xeee7, 0x1cf6, 0x4744, 0x6852, + 0x7bd5, 0x7f46, 0x7232, 0x564b, 0x2f31, 0x01f7, 0xd47c, 0xaca7, + 0x8fa3, 0x8134, 0x833b, 0x9574, 0xb581, 0xdf39, 0x0d32, 0x3975, + 0x5e43, 0x76d5, 0x7ffa, 0x7883, 0x6167, 0x3da8, 0x11e7, 0xe3d4, + 0xb969, 0x9827, 0x8460, 0x80a5, 0x8d71, 0xa91c, 0xd00e, 0xfd3a, + 0x2ac0, 0x52bb, 0x6ff9, 0x7eaf, 0x7cf3, 0x6aff, 0x4b28, 0x2190, + 0xf39d, 0xc745, 0xa24a, 0x8979, 0x800b, 0x8738, 0x9e12, 0xc1a3, + 0xed4c, 0x1b61, 0x45e9, 0x675f, 0x7b6a, 0x7f70, 0x72eb, 0x577c, + 0x30b2, 0x0396, 0xd604, 0xade4, 0x906c, 0x8170, 0x82e1, 0x9490, + 0xb430, 0xdda8, 0x0b94, 0x3800, 0x5d28, 0x7638, 0x7ff0, 0x790c, + 0x6273, 0x3f12, 0x1382, 0xe56a, 0xbac5, 0x991c, 0x84ce, 0x807e, + 0x8cba, 0xa7ed, 0xce8e, 0xfb9a, 0x2938, 0x517d, 0x6f2e, 0x7e71, + 0x7d4a, 0x6be1, 0x4c77, 0x2320, 0xf53b, 0xc8bb, 0xa367, 0x8a19, + 0x8018, 0x86b1, 0x9d09, 0xc039, 0xebb1, 0x19ca, 0x448c, 0x6668, + 0x7af9, 0x7f94, 0x73a0, 0x58aa, 0x3231, 0x0535, 0xd78d, 0xaf24, + 0x913a, 0x81b0, 0x828c, 0x93b0, 0xb2e3, 0xdc19, 0x09f6, 0x368a, + 0x5c09, 0x7596, 0x7fe0, 0x7991, 0x637a, 0x407a, 0x151c, 0xe701, + 0xbc24, 0x9a15, 0x8541, 0x805c, 0x8c08, 0xa6c1, 0xcd10, 0xf9fb, + 0x27ae, 0x503b, 0x6e5e, 0x7e2d, 0x7d9d, 0x6cbe, 0x4dc2, 0x24ae, + 0xf6d9, 0xca33, 0xa488, 0x8abd, 0x802a, 0x862f, 0x9c03, 0xbed2, + 0xea17, 0x1833, 0x432c, 0x656c, 0x7a83, 0x7fb3, 0x744f, 0x59d3, + 0x33ae, 0x06d4, 0xd918, 0xb068, 0x920c, 0x81f6, 0x823c, 0x92d5, + 0xb199, 0xda8b, 0x0858, 0x3511, 0x5ae6, 0x74ef, 0x7fcb, 0x7a10, + 0x647e, 0x41e0, 0x16b5, 0xe899, 0xbd85, 0x9b13, 0x85ba, 0x8040, + 0x8b5a, 0xa599, 0xcb94, 0xf85c, 0x2622, 0x4ef5, 0x6d89, 0x7de5, + 0x7dea, 0x6d97, 0x4f0b, 0x263c, 0xf877, 0xcbad, 0xa5ac, 0x8b66, + 0x8041, 0x85b2, 0x9b02, 0xbd6e, 0xe87e, 0x169b, 0x41c9, 0x646d, + 0x7a08, 0x7fcd, 0x74fa, 0x5af9, 0x3529, 0x0873, 0xdaa5, 0xb1af, + 0x92e3, 0x8241, 0x81f1, 0x91fe, 0xb053, 0xd8fe, 0x06b9, 0x3396, + 0x59c0, 0x7444, 0x7fb1, 0x7a8b, 0x657d, 0x4343, 0x184e, 0xea32, + 0xbeea, 0x9c14, 0x8637, 0x8028, 0x8ab2, 0xa475, 0xca1a, 0xf6be, + 0x2494, 0x4dad, 0x6cb0, 0x7d97, 0x7e32, 0x6e6b, 0x5050, 0x27c7, + 0xfa16, 0xcd29, 0xa6d5, 0x8c13, 0x805e, 0x853a, 0x9a05, 0xbc0d, + 0xe6e7, 0x1501, 0x4063, 0x6369, 0x7988, 0x7fe1, 0x75a1, 0x5c1c, + 0x36a2, 0x0a11, 0xdc33, 0xb2f9, 0x93bf, 0x8291, 0x81ac, 0x912c, + 0xaf0f, 0xd773, 0x051a, 0x3218, 0x5896, 0x7394, 0x7f92, 0x7b00, + 0x6678, 0x44a3, 0x19e5, 0xebcc, 0xc051, 0x9d1a, 0x86b9, 0x8017, + 0x8a0e, 0xa354, 0xc8a2, 0xf520, 0x2306, 0x4c61, 0x6bd2, 0x7d45, + 0x7e75, 0x6f3b, 0x5191, 0x2951, 0xfbb5, 0xcea7, 0xa800, 0x8cc6, + 0x8080, 0x84c7, 0x990c, 0xbaae, 0xe550, 0x1367, 0x3efb, 0x6262, + 0x7904, 0x7ff0, 0x7642, 0x5d3a, 0x3819, 0x0baf, 0xddc2, 0xb446, + 0x949e, 0x82e7, 0x816c, 0x905f, 0xadcf, 0xd5ea, 0x037b, 0x3099, + 0x5768, 0x72df, 0x7f6d, 0x7b71, 0x676f, 0x4600, 0x1b7b, 0xed66, + 0xc1ba, 0x9e24, 0x8741, 0x800a, 0x896f, 0xa238, 0xc72d, 0xf382, + 0x2175, 0x4b12, 0x6af0, 0x7ced, 0x7eb3, 0x7006, 0x52d0, 0x2ada, + 0xfd55, 0xd027, 0xa930, 0x8d7d, 0x80a7, 0x8459, 0x9817, 0xb952, + 0xe3ba, 0x11cc, 0x3d90, 0x6156, 0x787a, 0x7ffa, 0x76df, 0x5e55, + 0x398d, 0x0d4d, 0xdf53, 0xb597, 0x9583, 0x8341, 0x8131, 0x8f96, + 0xac92, 0xd463, 0x01dc, 0x2f18, 0x5637, 0x7226, 0x7f43, 0x7bdc, + 0x6861, 0x475a, 0x1d11, 0xef02, 0xc327, 0x9f32, 0x87cd, 0x8003, + 0x88d5, 0xa11f, 0xc5ba, 0xf1e5, 0x1fe4, 0x49c0, 0x6a0a, 0x7c90, + 0x7eeb, 0x70cd, 0x540b, 0x2c60, 0xfef4, 0xd1aa, 0xaa63, 0x8e39, + 0x80d4, 0x83f0, 0x9727, 0xb7f9, 0xe225, 0x1030, 0x3c22, 0x6046, + 0x77eb, 0x7fff, 0x7776, 0x5f6c, 0x3aff, 0x0eea, 0xe0e6, 0xb6ea, + 0x966b, 0x83a1, 0x80fb, 0x8ed1, 0xab59, 0xd2dd, 0x003c, 0x2d95, + 0x5502, 0x7167, 0x7f14, 0x7c42, 0x6950, 0x48b2, 0x1ea4, 0xf09e, + 0xc495, 0xa043, 0x885e, 0x8001, 0x8840, 0xa00a, 0xc449, 0xf048, + 0x1e51, 0x486b, 0x691f, 0x7c2e, 0x7f1e, 0x718f, 0x5543, 0x2de5, + 0x0092, 0xd32e, 0xab9a, 0x8efa, 0x8105, 0x838c, 0x963b, 0xb6a4, + 0xe092, 0x0e94, 0x3ab2, 0x5f32, 0x7757, 0x7fff, 0x7809, 0x607f, + 0x3c6e, 0x1086, 0xe279, 0xb841, 0x9758, 0x8405, 0x80ca, 0x8e12, + 0xaa23, 0xd159, 0xfe9e, 0x2c0f, 0x53ca, 0x70a4, 0x7ee0, 0x7ca3, + 0x6a3a, 0x4a06, 0x2037, 0xf23b, 0xc607, 0xa159, 0x88f5, 0x8004, + 0x87b0, 0x9ef9, 0xc2db, 0xeeac, 0x1cbd, 0x4713, 0x682f, 0x7bc6, + 0x7f4c, 0x724c, 0x5677, 0x2f68, 0x0232, 0xd4b4, 0xacd4, 0x8fbf, + 0x813c, 0x832e, 0x9553, 0xb551, 0xdf00, 0x0cf7, 0x3940, 0x5e1b, + 0x76bf, 0x7ff9, 0x7897, 0x618e, 0x3ddb, 0x1221, 0xe40e, 0xb99a, + 0x984a, 0x846f, 0x809f, 0x8d57, 0xa8f1, 0xcfd7, 0xfcfe, 0x2a88, + 0x528e, 0x6fdd, 0x7ea6, 0x7cff, 0x6b1f, 0x4b58, 0x21c9, 0xf3d8, + 0xc77a, 0xa273, 0x8990, 0x800c, 0x8724, 0x9dec, 0xc16f, 0xed11, + 0x1b27, 0x45b8, 0x673c, 0x7b5a, 0x7f75, 0x7305, 0x57a7, 0x30e9, + 0x03d1, 0xd63c, 0xae11, 0x9089, 0x8179, 0x82d4, 0x9470, 0xb401, + 0xdd6f, 0x0b59, 0x37cb, 0x5cff, 0x7621, 0x7fee, 0x7920, 0x6299, + 0x3f46, 0x13bc, 0xe5a4, 0xbaf7, 0x993f, 0x84de, 0x8079, 0x8ca0, + 0xa7c2, 0xce58, 0xfb5f, 0x2900, 0x514f, 0x6f10, 0x7e67, 0x7d56, + 0x6c00, 0x4ca6, 0x2359, 0xf576, 0xc8f0, 0xa390, 0x8a30, 0x801a, + 0x869e, 0x9ce3, 0xc006, 0xeb77, 0x1991, 0x445a, 0x6644, 0x7ae8, + 0x7f99, 0x73b9, 0x58d4, 0x3268, 0x0570, 0xd7c5, 0xaf52, 0x9157, + 0x81ba, 0x8280, 0x9391, 0xb2b4, 0xdbe0, 0x09bb, 0x3654, 0x5be0, + 0x757f, 0x7fdd, 0x79a3, 0x63a0, 0x40ae, 0x1556, 0xe73b, 0xbc56, + 0x9a39, 0x8552, 0x8058, 0x8bef, 0xa697, 0xccda, 0xf9c0, 0x2775, + 0x500c, 0x6e40, 0x7e23, 0x7da8, 0x6cdd, 0x4df1, 0x24e7, 0xf714, + 0xca68, 0xa4b1, 0x8ad4, 0x802d, 0x861d, 0x9bdf, 0xbea0, 0xe9dd, + 0x17f9, 0x42f9, 0x6548, 0x7a72, 0x7fb7, 0x7468, 0x59fd, 0x33e4, + 0x070f, 0xd950, 0xb096, 0x922a, 0x8200, 0x8231, 0x92b6, 0xb16b, + 0xda52, 0x081d, 0x34db, 0x5abd, 0x74d7, 0x7fc8, 0x7a22, 0x64a2, + 0x4213, 0x16ef, 0xe8d3, 0xbdb8, 0x9b37, 0x85cb, 0x803c, 0x8b42, + 0xa56f, 0xcb5e, 0xf821, 0x25e9, 0x4ec7, 0x6d6a, 0x7dda, 0x7df4, + 0x6db5, 0x4f39, 0x2674, 0xf8b2, 0xcbe3, 0xa5d6, 0x8b7e, 0x8045, + 0x85a0, 0x9ade, 0xbd3c, 0xe844, 0x1660, 0x4196, 0x6448, 0x79f6, + 0x7fd0, 0x7512, 0x5b23, 0x355f, 0x08ae, 0xdadd, 0xb1dd, 0x9302, + 0x824c, 0x81e7, 0x91e0, 0xb024, 0xd8c6, 0x067e, 0x3360, 0x5996, + 0x742b, 0x7fad, 0x7a9c, 0x65a1, 0x4375, 0x1888, 0xea6c, 0xbf1d, + 0x9c39, 0x8649, 0x8026, 0x8a9a, 0xa44c, 0xc9e4, 0xf683, 0x245c, + 0x4d7e, 0x6c90, 0x7d8c, 0x7e3c, 0x6e89, 0x507e, 0x2800, 0xfa51, + 0xcd5f, 0xa6ff, 0x8c2c, 0x8063, 0x8529, 0x99e1, 0xbbdb, 0xe6ad, + 0x14c7, 0x4030, 0x6344, 0x7976, 0x7fe4, 0x75b8, 0x5c45, 0x36d8, + 0x0a4c, 0xdc6c, 0xb328, 0x93de, 0x829d, 0x81a2, 0x910f, 0xaee1, + 0xd73b, 0x04df, 0x31e2, 0x586b, 0x737b, 0x7f8d, 0x7b11, 0x669b, + 0x44d5, 0x1a1f, 0xec06, 0xc084, 0x9d40, 0x86cc, 0x8014, 0x89f7, + 0xa32c, 0xc86d, 0xf4e5, 0x22cd, 0x4c31, 0x6bb2, 0x7d38, 0x7e7e, + 0x6f58, 0x51bf, 0x2989, 0xfbf0, 0xcede, 0xa82b, 0x8ce0, 0x8085, + 0x84b7, 0x98e9, 0xba7c, 0xe516, 0x132d, 0x3ec7, 0x623c, 0x78f0, + 0x7ff2, 0x7659, 0x5d63, 0x384e, 0x0bea, 0xddfb, 0xb476, 0x94bf, + 0x82f3, 0x8163, 0x9042, 0xada2, 0xd5b2, 0x0340, 0x3062, 0x573d, + 0x72c5, 0x7f67, 0x7b80, 0x6792, 0x4632, 0x1bb5, 0xeda1, 0xc1ee, + 0x9e4a, 0x8754, 0x8009, 0x8959, 0xa210, 0xc6f8, 0xf347, 0x213c, + 0x4ae2, 0x6acf, 0x7ce0, 0x7ebb, 0x7023, 0x52fd, 0x2b11, 0xfd90, + 0xd05e, 0xa95b, 0x8d98, 0x80ad, 0x844a, 0x97f5, 0xb921, 0xe380, + 0x1191, 0x3d5c, 0x612f, 0x7866, 0x7ffb, 0x76f4, 0x5e7d, 0x39c2, + 0x0d87, 0xdf8c, 0xb5c7, 0x95a4, 0x834e, 0x8129, 0x8f79, 0xac65, + 0xd42b, 0x01a1, 0x2ee1, 0x560b, 0x720b, 0x7f3d, 0x7beb, 0x6884, + 0x478c, 0x1d4a, 0xef3c, 0xc35b, 0x9f58, 0x87e1, 0x8002, 0x88bf, + 0xa0f7, 0xc585, 0xf1aa, 0x1faa, 0x4990, 0x69e8, 0x7c82, 0x7ef3, + 0x70e9, 0x5438, 0x2c98, 0xff2f, 0xd1e1, 0xaa8f, 0x8e54, 0x80db, + 0x83e2, 0x9705, 0xb7c9, 0xe1ec, 0x0ff6, 0x3bee, 0x601f, 0x77d6, + 0x7fff, 0x778b, 0x5f93, 0x3b33, 0x0f24, 0xe11f, 0xb71b, 0x968d, + 0x83af, 0x80f3, 0x8eb6, 0xab2c, 0xd2a6, 0x0001, 0x2d5d, 0x54d6, + 0x714c, 0x7f0d, 0x7c50, 0x6971, 0x48e3, 0x1ede, 0xf0d9, 0xc4ca, + 0xa06b, 0x8873, 0x8001, 0x882b, 0x9fe3, 0xc415, 0xf00e, 0x1e17, + 0x483a, 0x68fd, 0x7c1f, 0x7f25, 0x71aa, 0x556f, 0x2e1c, 0x00ce, + 0xd365, 0xabc6, 0x8f16, 0x810d, 0x837f, 0x9619, 0xb673, 0xe059, + 0x0e59, 0x3a7e, 0x5f0b, 0x7742, 0x7ffe, 0x781d, 0x60a6, 0x3ca2, + 0x10c0, 0xe2b3, 0xb872, 0x977a, 0x8414, 0x80c4, 0x8df7, 0xa9f7, + 0xd122, 0xfe63, 0x2bd8, 0x539d, 0x7088, 0x7ed8, 0x7cb1, 0x6a5b, + 0x4a36, 0x2070, 0xf275, 0xc63b, 0xa181, 0x890a, 0x8005, 0x879b, + 0x9ed3, 0xc2a7, 0xee72, 0x1c83, 0x46e2, 0x680d, 0x7bb7, 0x7f52, + 0x7267, 0x56a2, 0x2f9f, 0x026d, 0xd4ec, 0xad01, 0x8fdb, 0x8145, + 0x8321, 0x9532, 0xb521, 0xdec7, 0x0cbc, 0x390b, 0x5df3, 0x76a8, + 0x7ff7, 0x78aa, 0x61b4, 0x3e0f, 0x125c, 0xe448, 0xb9cc, 0x986c, + 0x847f, 0x8099, 0x8d3c, 0xa8c5, 0xcfa1, 0xfcc3, 0x2a51, 0x5261, + 0x6fc0, 0x7e9e, 0x7d0c, 0x6b40, 0x4b87, 0x2202, 0xf413, 0xc7af, + 0xa29b, 0x89a6, 0x800e, 0x8711, 0x9dc6, 0xc13c, 0xecd7, 0x1aed, + 0x4586, 0x6719, 0x7b4a, 0x7f7a, 0x731f, 0x57d2, 0x311f, 0x040c, + 0xd674, 0xae3f, 0x90a6, 0x8182, 0x82c8, 0x9450, 0xb3d1, 0xdd36, + 0x0b1e, 0x3796, 0x5cd7, 0x760a, 0x7fec, 0x7933, 0x62be, 0x3f79, + 0x13f7, 0xe5de, 0xbb28, 0x9963, 0x84ee, 0x8074, 0x8c87, 0xa797, + 0xce21, 0xfb24, 0x28c8, 0x5121, 0x6ef3, 0x7e5e, 0x7d62, 0x6c20, + 0x4cd5, 0x2391, 0xf5b1, 0xc925, 0xa3b9, 0x8a47, 0x801c, 0x868b, + 0x9cbe, 0xbfd3, 0xeb3c, 0x1957, 0x4428, 0x6621, 0x7ad8, 0x7f9d, + 0x73d2, 0x58ff, 0x329e, 0x05ab, 0xd7fd, 0xaf80, 0x9175, 0x81c4, + 0x8275, 0x9371, 0xb285, 0xdba7, 0x0980, 0x361f, 0x5bb7, 0x7567, + 0x7fdb, 0x79b6, 0x63c5, 0x40e1, 0x1591, 0xe775, 0xbc88, 0x9a5d, + 0x8563, 0x8053, 0x8bd6, 0xa66d, 0xcca3, 0xf985, 0x273d, 0x4fde, + 0x6e22, 0x7e19, 0x7db3, 0x6cfc, 0x4e20, 0x2520, 0xf74f, 0xca9e, + 0xa4db, 0x8aec, 0x8030, 0x860b, 0x9bba, 0xbe6d, 0xe9a3, 0x17bf, + 0x42c7, 0x6524, 0x7a61, 0x7fbb, 0x7481, 0x5a27, 0x341b, 0x074a, + 0xd989, 0xb0c4, 0x9249, 0x820b, 0x8226, 0x9297, 0xb13c, 0xda1a, + 0x07e2, 0x34a5, 0x5a93, 0x74bf, 0x7fc4, 0x7a34, 0x64c7, 0x4245, + 0x172a, 0xe90d, 0xbdeb, 0x9b5c, 0x85dd, 0x8038, 0x8b2a, 0xa546, + 0xcb28, 0xf7e6, 0x25b1, 0x4e98, 0x6d4c, 0x7dcf, 0x7dff, 0x6dd4, + 0x4f67, 0x26ac, 0xf8ed, 0xcc19, 0xa600, 0x8b97, 0x8049, 0x858f, + 0x9aba, 0xbd09, 0xe80a, 0x1626, 0x4163, 0x6424, 0x79e4, 0x7fd3, + 0x752a, 0x5b4c, 0x3595, 0x08e9, 0xdb16, 0xb20c, 0x9321, 0x8257, + 0x81dd, 0x91c2, 0xaff6, 0xd88e, 0x0643, 0x3329, 0x596c, 0x7412, + 0x7fa9, 0x7aad, 0x65c5, 0x43a7, 0x18c2, 0xeaa6, 0xbf50, 0x9c5e, + 0x865c, 0x8023, 0x8a83, 0xa422, 0xc9af, 0xf648, 0x2423, 0x4d4f, + 0x6c71, 0x7d80, 0x7e46, 0x6ea7, 0x50ac, 0x2838, 0xfa8c, 0xcd95, + 0xa72a, 0x8c46, 0x8067, 0x8518, 0x99be, 0xbba9, 0xe673, 0x148d, + 0x3ffd, 0x631f, 0x7963, 0x7fe6, 0x75cf, 0x5c6e, 0x370d, 0x0a87, + 0xdca4, 0xb357, 0x93fe, 0x82a9, 0x8199, 0x90f1, 0xaeb4, 0xd703, + 0x04a4, 0x31ab, 0x5840, 0x7361, 0x7f88, 0x7b21, 0x66bf, 0x4507, + 0x1a59, 0xec41, 0xc0b7, 0x9d65, 0x86df, 0x8012, 0x89e0, 0xa303, + 0xc838, 0xf4aa, 0x2294, 0x4c02, 0x6b92, 0x7d2c, 0x7e87, 0x6f75, + 0x51ec, 0x29c1, 0xfc2c, 0xcf14, 0xa856, 0x8cfa, 0x808b, 0x84a7, + 0x98c6, 0xba4b, 0xe4dc, 0x12f2, 0x3e94, 0x6216, 0x78dd, 0x7ff4, + 0x766f, 0x5d8b, 0x3883, 0x0c25, 0xde34, 0xb4a6, 0x94df, 0x8300, + 0x815a, 0x9025, 0xad74, 0xd57b, 0x0305, 0x302c, 0x5712, 0x72ab, + 0x7f62, 0x7b90, 0x67b4, 0x4663, 0x1bef, 0xeddb, 0xc222, 0x9e70, + 0x8768, 0x8007, 0x8943, 0xa1e8, 0xc6c3, 0xf30c, 0x2103, 0x4ab2, + 0x6aaf, 0x7cd3, 0x7ec3, 0x703f, 0x532a, 0x2b49, 0xfdcb, 0xd095, + 0xa987, 0x8db2, 0x80b3, 0x843b, 0x97d2, 0xb8f0, 0xe347, 0x1157, + 0x3d28, 0x6109, 0x7852, 0x7ffc, 0x770a, 0x5ea5, 0x39f7, 0x0dc2, + 0xdfc6, 0xb5f7, 0x95c4, 0x835c, 0x8121, 0x8f5d, 0xac39, 0xd3f4, + 0x0165, 0x2eaa, 0x55df, 0x71f0, 0x7f36, 0x7bfa, 0x68a6, 0x47bd, + 0x1d84, 0xef77, 0xc38f, 0x9f7f, 0x87f6, 0x8001, 0x88aa, 0xa0d0, + 0xc551, 0xf16f, 0x1f71, 0x495f, 0x69c7, 0x7c74, 0x7efa, 0x7105, + 0x5464, 0x2ccf, 0xff6a, 0xd218, 0xaabb, 0x8e6f, 0x80e1, 0x83d3, + 0x96e3, 0xb798, 0xe1b2, 0x0fbb, 0x3bba, 0x5ff8, 0x77c1, 0x7fff, + 0x77a0, 0x5fbb, 0x3b68, 0x0f5f, 0xe158, 0xb74b, 0x96ae, 0x83bd, + 0x80ec, 0x8e9a, 0xab00, 0xd26f, 0xffc7, 0x2d26, 0x54aa, 0x7130, + 0x7f06, 0x7c5e, 0x6993, 0x4913, 0x1f17, 0xf113, 0xc4fe, 0xa092, + 0x8889, 0x8001, 0x8816, 0x9fbc, 0xc3e1, 0xefd3, 0x1dde, 0x4809, + 0x68db, 0x7c11, 0x7f2c, 0x71c5, 0x559b, 0x2e53, 0x0109, 0xd39d, + 0xabf3, 0x8f31, 0x8115, 0x8371, 0x95f8, 0xb643, 0xe01f, 0x0e1e, + 0x3a49, 0x5ee3, 0x772c, 0x7ffd, 0x7832, 0x60cc, 0x3cd6, 0x10fb, + 0xe2ec, 0xb8a3, 0x979d, 0x8423, 0x80bd, 0x8ddc, 0xa9cb, 0xd0eb, + 0xfe28, 0x2ba0, 0x5370, 0x706c, 0x7ed0, 0x7cbe, 0x6a7b, 0x4a67, + 0x20aa, 0xf2b0, 0xc670, 0xa1a9, 0x8920, 0x8006, 0x8787, 0x9eac, + 0xc273, 0xee37, 0x1c49, 0x46b0, 0x67eb, 0x7ba8, 0x7f58, 0x7281, + 0x56ce, 0x2fd6, 0x02a8, 0xd523, 0xad2e, 0x8ff8, 0x814d, 0x8314, + 0x9512, 0xb4f1, 0xde8e, 0x0c81, 0x38d6, 0x5dca, 0x7692, 0x7ff6, + 0x78be, 0x61da, 0x3e43, 0x1296, 0xe481, 0xb9fd, 0x988f, 0x848e, + 0x8093, 0x8d22, 0xa89a, 0xcf6a, 0xfc88, 0x2a19, 0x5234, 0x6fa3, + 0x7e95, 0x7d19, 0x6b60, 0x4bb7, 0x223b, 0xf44e, 0xc7e4, 0xa2c3, + 0x89bd, 0x8010, 0x86fe, 0x9da0, 0xc108, 0xec9c, 0x1ab4, 0x4555 +}; + +float32_t transform_fft_f32_inputs[TRANSFORM_MAX_FFT_LEN * 2] = +{ + 43.0264275639, -17.0525215570, -94.8488973910, -8.1924989580, 7.2830326091, 66.8368719314, 33.9778190671, 117.8652289772, + -129.6077797465, -14.6420815368, 18.0239223278, 20.6760530292, 55.0375037651, 1.8674609862, -85.6534302408, -33.5750364909, + 29.2110949614, 110.4727049460, -94.1914619387, -1.4084169343, 83.5181653041, 47.3073514127, -13.3420621181, 30.3389699104, + 12.1188124277, 100.9730921941, -114.0146362390, -77.5823200409, 37.2019034618, 40.0026301128, -58.3387276630, -34.9472398600, + -5.1169678311, -87.7660091118, -150.5888601131, 56.0349370503, 50.2168884079, -74.2313236767, 22.3648603560, -6.8676387051, + 74.8957303680, -90.1292012823, -55.1436241586, -66.6732976100, -6.7918147615, 7.7612697081, 35.7892605979, -20.0470508830, + 41.8369017546, -143.7378056984, -41.9127158600, -108.3531841158, -57.1917422289, -124.2808828105, 38.9316388820, -77.9212517405, + 37.1990818377, -28.9545952748, -155.6371057564, 45.8088886393, 36.2537018275, -6.5727656016, -104.2070491921, 45.5583813729, + -19.7674717059, -80.4802190947, -1.4444563441, -42.2142256438, 36.6546339194, -57.0866498590, 44.4677067511, 65.7285753407, + -103.8158864647, 25.4348723711, -153.5419639389, 39.3608409474, 49.1658103436, 79.5570602275, 75.2944095996, 58.9394700746, + -53.1018534392, 33.4172444014, 35.6224682287, -64.4353396418, -125.8464291251, -47.6072111617, -26.2177687594, -12.0061322096, + -17.7887967585, -28.2926175090, -62.0691715749, 40.5098573604, -191.1123732593, 119.6750713043, 19.6182375803, -26.7615252921, + 2.2957847015, -108.3436451287, -50.5906164995, -5.6360985100, -11.6772204201, -84.2765293757, -60.9317810068, 82.0446350218, + -70.2048296348, 72.8738253222, 60.2450218115, 114.2741231228, 46.8180775285, 6.9915412654, -8.9909197429, -78.9165936808, + 66.4731535459, -68.4235455651, -79.8254597080, -10.6308477115, -62.6161569330, -55.7744410292, -11.8408366528, 98.1034940997, + 35.8213741877, -54.4694482732, 86.9631830044, -53.0343838122, -47.4898642865, -47.2010929590, -31.3312639685, -23.0908245172, + 12.0258009869, -5.1098204703, -9.8420230737, -107.3328761158, 44.6810431959, -17.9083820345, -60.9753512872, -7.5915088994, + 17.2250813329, 57.9176125648, 124.3004161362, -63.1950908493, 120.5788885640, -44.1734238117, -91.7408095116, -43.5696066595, + -49.9560710099, -167.8513443296, -70.9437505499, -46.4109705355, -64.2264526456, -13.9995803916, -100.9548186356, 9.9101010575, + -50.0615130815, -55.7590145012, -60.3195153388, 61.7913378549, -102.0850899209, 53.2360193126, -25.8997883369, 75.1445512333, + -113.8148602310, 17.8027281119, -19.5006822722, -44.2169628471, 107.5017084384, -113.7909124666, -43.9735396033, 7.6880981388, + 46.7384653508, 9.9047443751, 81.8646964362, 132.3812863877, -95.6959050236, -68.5015813484, 65.8586404494, 18.5039353889, + -30.1786166621, -90.3098515667, -22.9356228552, -20.5778272423, -2.2127786675, -35.4418447703, -51.8722915974, -107.9024439078, + -51.5940748232, -51.7463262677, 74.2795485984, 94.2205022462, 9.7016384049, -47.3556083155, -36.7822314478, -151.6455525363, + -15.7183814485, 78.2063383182, 0.1516414969, 37.9304181609, 20.6185902740, -22.2164106778, 6.1160554677, 2.4061326953, + -111.6681824598, -60.0858917090, 75.1698614693, -76.5787410444, 28.3391655715, -2.4946186443, -68.0378899682, 104.0893199171, + -51.8319647254, 38.8521710524, 75.9114239564, 73.9206172905, -103.2533029987, 6.9002718274, -36.6346436319, -25.1990926265, + 1.5852145953, -50.6438436795, 21.5018844428, -151.9305562846, -51.7326681814, 21.4475994143, 42.2564011921, -74.0520586926, + 49.7370635809, -13.2957534126, 36.6746826778, -31.7005492589, 148.4894964268, 79.7890632353, 16.8856024809, 16.1690460177, + 39.2665169484, 117.2461167794, -37.4827984831, -47.8387803604, -95.7025286193, 34.3058214285, -124.9536456028, 56.1640195764, + 94.3636873606, 35.3992852810, -38.3920852159, -100.5738062016, -29.7837022314, 42.9133913996, -34.2715618187, -14.3589115627, + -16.5935468750, 20.4574192236, -88.7897972666, -38.6285080386, 53.3203422726, 98.5991486746, 122.7305462474, 67.7902817187, + 5.1764117389, 5.0632821624, 21.9288789574, -78.3140512638, -21.2069682335, 23.6342010925, 34.4445769455, 59.1346766615, + 28.9978778000, 39.8121180845, -17.1650033520, -56.9174900874, 17.8157086148, -112.8801457350, -122.4019040408, 140.8669393157, + -65.4664329639, 40.6952775518, 32.7260891658, -43.2565155866, 19.3945751928, -20.1815002000, -67.6601711640, -18.1921178207, + -35.6802153684, 49.9550290306, 131.4925251016, -31.2940938167, -5.2848453344, -109.5580577933, 20.2437599390, -8.8782958734, + 54.1836717264, 7.2555852190, -3.5698316137, -51.9236786262, 6.7861547980, -104.4814551670, 45.8458629668, 70.0890876844, + 38.3572837740, 61.8024165129, 68.0176962024, -12.8193934080, -21.4661610917, -0.9377108815, -74.2100679061, 71.0490808147, + 91.9813889497, -14.5797640164, 3.5036749129, -138.3605478356, -48.1501349794, -16.0636922482, -12.1334197606, 15.0562207637, + -34.0878176054, 55.1075126157, 97.3829871877, 0.2053358099, -94.8713267382, 51.5460954054, 21.2966946363, 58.1331025047, + -23.4599044132, -19.3315856528, -8.4497193577, -1.9594679356, -33.1906549336, -144.6825417978, -57.1218958072, 35.7353406097, + 61.4666549819, 14.6536253128, 82.1632196866, -44.6230161723, -91.1022589278, -18.5737673927, -136.8975612334, 56.9606788003, + 70.7059960183, -68.2829345081, -10.2629800455, -53.6385325047, -68.7928766204, 88.2444688302, 83.1412324801, -102.9206928160, + -68.2329763159, -69.7552955469, 108.2132269009, -28.2582329307, 5.6685898328, -36.0392956840, 43.3269513128, -8.6436416796, + -16.5054886972, 11.5008791788, 39.6923606683, -28.9039554061, 13.5938214364, -23.6296332202, 49.1171161163, 53.1636857935, + -62.9672053166, -54.2594757384, 48.3838956696, 8.0469071555, -33.6472086213, -120.5381752144, 55.0880453111, 17.8990740563, + 144.9402232336, 101.7886229203, -73.3666393712, -16.4721379138, -12.7447935685, 101.8245160983, -49.7026860415, -15.1227790364, + 65.7430288442, -131.8695390036, 10.2750933946, 90.9752774838, -26.5859990591, -95.6962772568, 76.2174589344, 24.8796848060, + -38.8938223046, 54.1687774852, -37.3585968996, -34.6848570502, 33.0151011570, -55.8345877671, -3.9009101671, -31.5024971691, + -9.6863895491, 91.8719195957, -58.9993249744, -25.6887030614, -8.0829472205, 4.6386491741, -71.4019697167, -21.3734669095, + 86.2079144404, 79.6823974266, -0.0910915997, 44.8067718095, 58.7204020766, 72.6856808976, -50.3373732478, -116.1175365534, + -15.0884909384, 5.4593772059, -63.6553527905, 37.3460388205, -32.2399421679, 95.7569350513, -7.3700141964, -56.0370832967, + -41.7377150439, -42.0042856519, 12.5134312941, 93.7845584531, -32.4801087157, -33.3976050318, -24.2252126001, -46.3199064467, + -20.3704610276, 15.8571376404, 88.9127217235, -33.1132582267, -1.0005675836, -28.1780471904, 150.9349379135, 38.0600520828, + 36.4338677563, -3.3709201641, 29.7709773016, 16.5064119077, 21.3147729463, 110.6714300904, 18.8406036507, 14.8963298097, + 50.9975960392, 16.3991140350, -194.0805845907, -41.6723945839, -74.8991127408, -6.4587655805, -0.6883628218, -49.8709647175, + 194.2265120473, 64.3043624521, 16.0040882780, 68.4032551772, -43.4050313128, 84.6826289824, -28.1357565943, 134.6895584120, + -7.9746152680, -95.6692886462, -48.9444370342, 79.4479343188, -50.5345228122, 52.4800633307, -14.7735051703, -20.1510237050, + 22.5049816980, 64.4191999102, 24.8385648232, 99.4265041360, 62.0189508473, -28.3892600378, -109.8842008564, -79.0407483407, + 18.3408112020, 49.1650536089, 31.5419844924, -36.1160722679, -132.9148081329, 10.4053531567, -129.2463715470, -43.4602207151, + -24.2420653292, 91.5388317556, 21.4762248190, -44.3810909139, 18.4098011282, -45.8691164539, -20.9831197962, 16.2076792914, + 66.0224147666, -13.6794615513, 101.2163279622, -62.4462618603, 22.2040981785, -52.3208382802, -24.7909079016, 58.5150375093, + 18.8569705105, -55.6083430939, 131.0273367422, -34.5209015065, 121.4357296573, -77.2590299593, -51.5929566898, 5.0247131098, + -23.8451707592, -4.5912313547, 31.1387246821, 61.7019310824, 49.1912429744, -50.5836913031, -74.8182600630, -21.6209317022, + 20.9409464654, -72.7870824583, -28.3530746820, -45.0794425434, -13.4910629905, -62.0158772255, -34.1421181246, 44.2844972784, + 8.4213193211, 79.9349022793, 60.0160502260, 32.2272994080, -72.2893887746, 17.3063698247, -134.6335742431, 64.6499736261, + 7.1411921919, -37.5517577873, 6.2405670930, 117.1920927305, 128.7420689815, -3.1556854963, -13.4100422909, -11.9336372907, + -8.6022400553, -102.0033506666, -78.4696575074, 15.0765861403, -111.5219718576, -13.4162786508, 38.2437013694, 61.1637732561, + -34.4804160003, 107.4438003830, -79.4193067813, -81.1842853968, -26.2622970331, 132.3205425408, -119.1464268477, 67.3048866598, + 103.3266736715, -58.1865815617, 27.6231908601, -11.2004371750, 26.0340617206, 12.5696123916, 0.6442714420, -30.7393043544, + 1.5314955897, 49.9110088250, -106.1358721920, 51.1608329944, -32.8684239794, -27.7215905745, -11.6450303367, -36.7731678028, + 59.9383486599, -4.6301990580, 5.0361682939, -10.5669407980, 124.0908762205, 35.8305364082, -123.6216777114, -74.2569079167, + -56.7651776816, 16.0736385582, 23.5030632215, -110.6764295938, 44.3086821806, 9.4452708243, 5.3300080251, 39.0483916714, + 151.4550562868, 62.8957092621, -116.8103461233, 5.1129927759, -33.2252515135, -9.4522506046, 22.7026048372, -15.5264414569, + 71.2087620034, 19.1191568332, 50.3019546809, -5.6096922409, 22.9344126462, -7.7591876203, 31.8949515564, -58.4253952381, + 66.4341297173, -19.0583083044, 96.7695087855, 20.4934280047, 4.9544603116, -20.8288135920, -173.2659655408, -62.4883621640, + -48.5528422703, 12.1437504278, 60.2482234666, -19.6072312919, -34.6320214291, 129.0089698963, -50.9042160618, 98.3952661477, + -4.7051792479, -13.1768910826, 69.5138802139, 58.5748201565, -45.9385652563, 151.7952104306, 34.2541941013, -58.0417838381, + 28.1480473670, 46.4006562684, 97.7001828545, 4.0855607626, -32.6097018162, 16.8913949959, 105.7266202978, -89.3978374651, + -60.9338593128, -41.2220734230, 49.9393070783, 95.0974764854, 49.2498366456, 58.6214364590, 34.1113830569, 45.6634098874, + -22.5356086770, -97.1978653617, 86.5565049535, 70.6118545777, -30.6978082909, 118.7238621666, 14.5922386932, 11.3449652072, + 65.6007783405, 82.6369678204, -52.0390492248, -47.0160551227, -95.5142448634, 99.7162626888, -36.5523815090, -42.8042935534, + 68.3566199798, -13.8451547552, -71.1629911780, 36.2989433752, -32.4867163365, 112.4079947071, -75.6295117422, 47.5276421639, + 51.8078250755, -26.8715188457, -9.6291144797, 40.1999849640, -38.4634033246, 40.9764960915, -26.1715730268, 36.5996396515, + -26.9924731886, 53.7879986570, -83.1658398348, 23.6381378489, 43.8794937753, -55.4133836419, 90.0266130838, 14.1036181982, + -18.1225736715, 85.1363181151, -62.5970846379, -18.5291947838, -25.7341986703, -49.7061342931, -59.0442763971, 50.8960636803, + -87.6471123430, -36.7217762531, 22.5952364054, 11.1107885650, -0.5377327229, 160.8145792630, 73.3103441505, 10.1656872354, + -50.4554350397, -57.3478171016, -15.4201715357, -26.9135446491, -4.9891264771, -37.0226770057, -80.9919535641, 50.4418660876, + -25.8517575250, -69.9538258421, -17.5730160671, 15.9405836751, 113.9545230349, -46.1040379057, -94.2458635014, -69.0338522452, + 43.5813790265, 107.1836101171, -55.1012654323, -77.1529555887, -33.1530320656, -94.5582659641, -53.6837586872, 27.0680381378, + 93.9385415207, -61.0955216188, 18.0530957225, 7.9150142320, -12.1218191587, 34.0173961457, 40.0084937565, 9.8119275580, + 44.2065861274, -1.8718514394, 67.4740024215, 46.7391150131, 207.2404815875, 45.1635364462, 43.3580102761, -44.0244218674, + 83.2387206007, -8.6441851856, 12.3993902588, -22.5091685270, -19.8332981376, 97.9196509289, -76.6720306234, 28.9740705859, + 121.9415248016, 9.6656982611, -51.0996453694, 37.3704374740, 74.7589840907, -113.4066752631, 120.0029566342, -105.3786221360, + 81.8152755619, -13.4979932982, -21.4680758393, -85.1088235539, -65.3610798409, -35.0444139470, -48.0220794487, -41.6210317362, + 33.1212995259, -82.1480936443, -10.5479715135, 76.4601917004, 42.1983651157, 92.6104239912, -42.3536237955, -24.5644182272, + 30.4446637772, -90.2899420489, 63.6723540422, 103.0895811428, 64.1706769263, -10.7069812309, 21.8927240409, 6.3571071738, + 57.1457649358, -52.9866276448, 66.0981829072, -29.5372056881, -79.2252039810, -136.2440652798, -57.0106422562, 86.8203548141, + 66.4244149837, 53.3230426111, -66.1283059222, -131.0402660353, 8.0548411081, 122.9088988100, 1.2626894208, -60.5059112373, + -68.8707203082, -6.4747987200, 85.8411327244, 99.9624156733, 90.4197864338, -35.9630441182, -22.9158275507, -17.3660128776, + 16.7845345761, 34.7219749782, -39.3513765878, 1.0460702756, -60.9494500182, 20.0900333387, -85.9636743832, 88.4400782168, + 15.0729628728, 61.5499846243, 11.8579871757, 107.8617581581, -42.9393027864, -62.8422307621, -19.0589600542, 4.0750325807, + -36.0651825425, 55.7638724501, -10.4691736080, -55.5672537178, -61.2061519915, -21.1885348576, -131.2535612498, 24.7463552676, + 22.9426321237, 14.3038202264, -138.0926317438, -59.0892900856, -162.5416439986, 7.1307658250, -141.1236672256, -4.7173618068, + -16.7741532807, -68.2615451173, -2.6608701102, 84.1978109826, -11.3446202072, 59.9630033088, -1.8994925010, -37.9301641959, + -119.4435600954, -11.4587491646, 12.2423215240, -7.3169898616, -67.0373621128, 36.0198843055, 53.9791315249, -134.5885680695, + -83.8330811965, -16.6714816463, -8.8498552035, -24.0513088196, -22.9444328877, -37.7961441531, 25.1975736186, -136.1611637464, + -5.0843464033, -10.3939554694, 20.7422826935, 75.6854136623, 46.4179626736, -57.0052830175, 7.3457235521, -51.5504447254, + -158.4375751701, -200.2426967181, -48.1234996261, 1.6623945527, 21.1746524375, 99.4092980367, -2.3206772903, 45.7989166757, + 2.0181548348, -88.0556010969, -59.1527212096, 47.3607925077, -10.4181140309, 56.3558125650, -8.9799125560, -30.0376711812, + -36.7132904688, 35.7785050392, -13.0763909369, -2.1855594714, 18.1550954005, -28.6711803575, -55.4495172398, -2.8812973198, + -59.9575059158, 40.0588875786, 57.4713686602, -3.2835144853, -36.7193552111, -64.9415131516, -166.9555466445, -23.5556853844, + -54.9408569587, -35.2310451959, 21.3345143458, 65.7590671151, 51.2214538168, 46.1271939944, -42.2235267919, 127.2329928299, + 105.2391778600, 17.6726845966, -129.9021148044, 8.7065613044, -94.0987112511, -3.5375742950, -23.1385452379, 60.6219530633, + 92.5445564235, 48.5111974469, -52.5699309159, -60.0634811685, 25.9034368684, 140.0249495491, 1.5918852392, 38.0266038291, + 17.5588710703, 3.4294066089, -27.6748782173, 59.6182974489, -35.2924781853, -38.6198576115, -13.6119803198, 7.8375587489, + 22.7250686519, -28.3524510951, -34.4269062817, 22.6464817325, -61.6528147860, -5.9782002429, 61.4730771294, 43.5582379527, + 55.6862408270, 87.8745651631, 46.3401042715, -19.8780979663, 74.1272633369, 29.8590452377, -12.8665765140, 34.2931401219, + 53.9279617551, -16.9017895140, -70.1527553166, -79.6367897992, 109.3728271017, -129.2214826835, -53.4644539730, -51.5654458993, + 17.6062148433, 3.5090251835, 74.2615941204, -109.3431097845, 40.1403465151, 28.8714561280, 94.0868659302, -19.0047033845, + -60.0967410050, -19.0998457619, -67.2027075128, 72.0711434846, -17.8737851232, 123.7050551274, 132.6331504104, 25.5018761009, + -36.7817189239, -29.1580893235, -6.5848563828, 90.2868948516, -35.7017258498, -68.5675432955, -52.4888589786, 47.1377730021, + -7.4546621940, -52.0657517138, -49.0404829633, -114.6910280126, -117.6819819437, -32.7856729408, 31.8232065591, 12.1192973039, + 35.2678513420, -1.0336778293, 30.7021249679, 127.0442906046, -84.8457819393, 28.9862843096, -47.3524701726, -126.1094998460, + -2.9700276582, -2.4956545870, -53.8624121141, -85.2114117637, 76.9057985618, 137.1205201755, -19.0830817212, 14.3407526579, + -56.5921994449, -25.6084873186, -44.9470801106, -133.3139496090, 0.3487447576, 33.4499716730, 34.7126257844, -9.3307383323, + 27.2996276947, 10.8765676134, -91.1032360444, -90.9584216222, 1.6981490570, 96.8557438791, 56.7726390913, -44.3246449237, + 52.3260643361, 21.5551140465, 27.4535327381, 2.0072717479, 7.4823125629, 77.1185863870, 16.1372262663, -10.7206012957, + 66.8830091413, 49.3523828287, 54.0855375598, 30.8570349345, -10.9255375390, 62.3910624674, 30.9238561381, 0.3352881853, + 72.1022806197, -28.8319885008, 23.3335288806, 46.8999035980, -67.0984424822, -164.7917209112, 42.5767681360, -92.4668227688, + 43.8491734282, -17.1126540408, 37.4819594334, 69.0774409673, -39.3530526854, -14.0693747124, -60.2520781215, -80.3860105519, + 32.6689956840, 15.3393042576, -18.5529761307, 97.3942151573, -4.4462855745, 13.7614349817, 158.3358780719, -44.7258299667, + -17.7741912819, 116.5136962268, -33.6261057820, 22.8344441288, -155.1423976144, 5.7070117893, -22.7906543902, -45.0633909283, + -13.9329987929, -66.0848932507, 1.1383038109, 123.8386958483, 67.6662401589, 45.9152963554, -27.4397697462, 97.9596747354, + -6.3544655181, 29.0832146722, 96.3468162499, 32.4535976137, -91.0650399301, 2.7293262791, 70.7853483111, -92.3655274571, + 69.0359217256, 83.1530567979, 35.8375091111, 7.3393552348, -95.1770165365, 76.4905790891, 55.6253140577, -29.5315327050, + -19.6571455162, -65.5631159968, -16.1022064890, 105.8715375468, -51.8381429466, 120.1887801783, -12.7792505862, 45.9625293061, + 5.2249771246, -44.2522411781, -49.9151046218, 58.9294840166, -39.5237729290, 7.7590557538, -36.9036719322, -13.3726971638, + 54.3809777660, 71.3070336679, -51.0631236639, -10.0694214486, 15.9743446435, -49.4179644909, 118.7626471706, -53.3128484840, + 13.5615377463, -109.8892656203, -42.4445411536, -66.3623671033, -14.8179688320, 76.6614429072, 11.1173310385, -44.0756061917, + -31.6081137549, -112.6622817309, 32.5091400724, 33.0802101919, -57.4339078738, 56.3466203876, -17.0577340891, -95.3692048341, + -67.3434566840, 13.8207460717, 48.9375767823, 7.9881518802, -33.7163627475, 38.5685408163, 12.1465400224, -107.6320581108, + 4.0618423016, -78.4521092994, -86.1605081811, 76.0528521785, -7.4505556232, -32.6671595550, 28.1668313458, -44.3982773094, + -17.6420279051, -31.0505367972, 21.8444018590, 29.2596019459, -15.0890859227, -13.1393295693, 2.8101074170, -17.7888538827, + 32.0378687652, -74.5375953900, 135.2497294704, -28.0677270675, 73.5721900551, -66.6873287357, -25.1872324027, 66.2043845748, + -94.9847220021, 51.0053667797, 125.6199200698, -97.2966230203, -100.0987757765, 38.7851883798, 20.5509402780, 91.2789361356, + -23.6347319001, 53.4814037964, -27.8226699628, -4.2998301656, -49.0060086613, 57.7107938724, 73.8228091191, 39.2104809606, + -27.3049570759, 78.3558930717, -39.1465109393, -59.6714099634, -71.7254332281, 44.0304489875, 62.4610534699, -47.5531388302, + 62.3692165629, 6.4426089142, 9.0422858718, 23.1735394482, -47.2878667545, 44.2020612249, 109.3032846597, 11.6805260558, + -30.4758154602, -82.4704834090, 38.6561095453, -55.4482370852, 8.5232602822, 133.2611664825, 100.1432731096, 22.9595423699, + -100.1659221126, 38.8223174175, 27.7691674207, 126.7418939874, -91.4494781699, 141.2081002115, 39.0632821221, 63.2623914663, + -30.0221078403, -33.5477169622, 29.1082028625, -3.3848571660, 61.5724672364, -34.9602677014, 110.9349405045, 102.6143795477, + -57.9940910047, -35.2709261901, 16.7143230992, -40.5324218543, 53.9355486697, -64.2634715959, -54.9387762268, -42.9168088882, + -57.5562950128, 37.9068250889, -12.1446003699, -60.1702164080, -20.6508515440, -98.5324628329, 101.4072369572, 129.5400369054, + -81.3566359702, 50.6071670655, -120.4768679404, -42.4978466545, -8.7364843153, 49.6150365421, 122.5389217747, -17.0756316445, + -62.3577228096, -45.0934187476, -32.0622747717, -30.5522096168, 28.4509994932, -38.2485520772, -50.1501458954, 33.6999850082, + -53.8053116265, 5.7733509059, -34.6589594313, 126.1617129527, 20.7567771895, 172.0372861812, 89.0892733767, 100.7503861649, + 7.3378103261, 98.5906415363, 32.0129761463, -41.8886119031, 41.2269067119, 68.3876187817, 138.4871996142, 11.3975797943, + 77.7316432733, -158.5764699010, -73.0154932162, 4.7811847147, -23.2377092445, -15.8949240362, -11.9056513173, -152.0900719578, + 18.2632385344, -54.1998869586, -181.7000796389, 48.1068217262, -32.5550981417, -28.0507229974, -31.8419308387, -25.6072993087, + 19.9544408703, 9.3745877673, -83.7112773954, 69.9469812476, 103.7806121094, 7.5661034347, 19.3961679774, -33.6734450687, + 145.2662801261, 84.6823084936, 3.8883005529, 16.9248666945, -16.9581909221, -89.4228081883, 16.2888634344, 11.1954888184, + 2.5472628157, 18.3389344143, -151.4283735338, -34.4147990116, -25.9480238152, -25.5347276158, -64.8106533195, 50.6575131879, + -7.3028646826, -32.2126924117, 18.1267061221, -16.2075818210, -45.6339941841, -33.6697120217, 49.2624187554, 77.8687058107, + 73.6069588809, -40.8028084671, 18.9768190808, -30.7579639537, 42.1813346527, -83.5367163130, -107.9332971302, 7.6029737222, + 26.9032374575, 49.3843590700, -46.3813865337, 9.1625140590, -66.2444573706, -81.6335790942, 38.1352819102, -26.9099106066, + -73.7453409821, 120.4931605467, 10.3564307049, -106.6178964489, 95.7043175624, 33.5246942332, 47.6828732088, 88.3229069791, + -15.5217019654, -19.5431169450, -3.8342503054, 57.2251891575, -48.5444916144, 71.5434047188, 12.4489765266, -11.7576981068, + -55.3127919285, 17.8351394582, -103.4011502717, -4.0445991564, 15.2952711643, 136.5345440142, -63.7492382166, 36.9305043452, + -1.5952862211, 16.2532277000, -8.2697982122, 59.2373828733, -114.7747262875, -10.3140845306, -30.5291082162, -109.5521180147, + 0.0880047356, -26.2704646488, -5.8324862328, 51.9555476050, 179.0193630333, 35.7565163112, -25.6830342083, -38.6240101524, + 7.1156497155, -38.9184661158, -44.0206559654, -61.9671745846, 49.0909411685, 30.5438751442, 61.5412933030, -24.2114612829, + 5.7471838440, -18.0880708776, 71.7203646740, 86.4088528992, -58.7737324960, -57.5055785792, -95.3936802143, 116.1138906258, + 60.1792035622, 56.3771096083, 49.7396983038, 38.3766351111, 69.8500772704, -49.1498577356, 70.3558567877, 8.6780858427, + 34.1723731409, 15.4734742852, 109.0630331552, -121.1548202826, -48.3994829024, 30.5337026074, 24.7828521521, 42.0584760304, + 75.1343090013, 129.5812051166, 48.4270407054, 26.4055953415, 14.0152471956, -95.9222273011, 90.6485095604, -14.3202487407, + -67.2852187582, -166.6666517028, 40.3833373200, -36.1005828038, 95.8066175560, -35.7716615894, -49.1292761932, -129.7066955214, + 103.7802140124, 1.3540192035, -11.7154031368, -33.6798122030, 38.8567068892, -13.4661723261, 27.7129532179, 11.5232210014, + 23.1346883982, -31.8376649712, 43.7429902892, -6.7521035668, 9.2376550661, 49.7442294743, -11.0442544230, 86.0728321584, + 83.9184836462, -16.1275908347, -18.4328902788, 29.0599791766, -119.8140170048, 6.1015865800, 8.3430418870, -26.4676140800, + -54.4170405827, 65.9500246661, -68.2589172652, -67.8087618276, -32.2785464329, 15.5784741177, -40.7911512889, -30.4549351749, + 65.3973162901, -88.7812378733, -100.7984347025, 33.8660362781, -29.6824618124, 43.1980425632, 28.3570049344, -53.0517620662, + 77.8517167497, -197.3149986900, 39.9412966213, 64.7267960844, 9.0985185643, -48.2516330353, -25.2702193655, 43.5324967389, + 25.2174278973, -143.4955124244, 97.6996202090, -6.8156183641, -24.7105412789, -82.1407130477, -84.2647074618, -31.8474816146, + -18.8364319750, -39.5505715225, -54.5495977905, 17.7158231401, -3.7065472234, 57.0344653317, -88.5539921734, 19.3061972587, + -71.7736386745, -41.9757523004, 44.0839025453, 93.6350283513, 23.9985071911, -82.1811236502, -109.4369907962, 63.5407415232, + 8.4092298502, 28.4295805746, 18.6411321700, -5.3460515491, -67.8392754185, 38.2413165851, -48.3890309482, -84.8999016731, + -96.8897430524, -108.9709380233, 12.6763008215, 0.6495692893, 42.5729352890, -45.4201114101, 178.6503517211, 32.3364256219, + -0.5018953239, 85.4524577539, 31.3821199920, -77.2752461536, -22.5276539124, -73.5513316548, 39.4443099153, -85.5453904099, + -92.8231923388, -40.3971881753, -58.4187011919, 43.8859268482, 8.6368900854, 36.7106300359, 46.0279473438, 98.0046308108, + 141.8908992398, 99.5148913015, -117.8125705364, -39.1830583755, -7.7274169732, -48.2601982254, 62.7987036515, -214.3028855312, + -63.1561162569, -16.8220689219, 25.8725009221, 122.4301600524, -14.0054049372, 34.6312211243, -80.1152116439, 19.5089176613, + -55.4531957952, 50.2925094566, -34.9023849044, 96.5932330242, -23.3903984041, 18.8379347047, -142.5109851060, -26.3638740038, + -45.2635268905, 10.4556800933, -67.2064627051, -82.5693793971, -61.2994401437, -60.8623342608, -49.5256808732, -67.5095279686, + 109.7221898389, 30.3565964773, -3.9295411009, -13.3243471006, 31.5325109517, -42.7881917663, -62.3012601651, 12.8902122674, + -72.4707062966, -1.1385459373, 31.9714183017, 25.4392014670, 5.2034169158, 7.4078411122, 3.9210252522, 5.6054243531, + -13.9283618935, 62.6605467523, 106.2229553720, -108.0346097164, 45.8846468124, 63.6694544818, -10.1426865266, -101.2125032732, + 84.7788854892, -74.9877442652, -90.4102888654, 82.3491489235, 13.4299871406, 8.6923780794, 21.7402751068, 1.3078400943, + -5.3323741070, -40.3811284623, -2.8868770078, 160.0268532699, -25.4997503943, -89.7351898498, 47.6695601274, 134.7207474765, + -28.8772848263, 43.7271906311, 7.3228230169, -96.1850462320, 35.8869106751, -11.4777855539, -25.7781856921, 48.9895273966, + 13.8032764481, 14.5942766183, 5.8336013315, 87.6897796695, -13.6765032835, 3.3883927453, -158.3668079137, 42.2382326860, + 21.2461344076, 15.6945936663, 9.6604677279, -9.5678778930, 123.3597739656, 22.1167117074, -74.9824011460, -95.9807585582, + 63.4915942695, 94.2011376357, 9.1392063086, 11.0696792396, -61.7781744244, 32.4342673236, 47.9943613167, -144.1319767603, + -72.7895423040, -51.0997685900, -1.7995707656, -94.9206104086, 72.7211674226, 58.6708314320, -20.8389738301, -21.1038399946, + -16.3313082354, -9.9622712842, 25.1381713884, -43.3630408732, 95.4208180249, 4.9957713162, 139.7419301257, -78.8102530942, + 18.4468841849, -36.6529768792, 32.8656605850, -13.9061010905, 25.3836067009, 29.3018838146, -3.3243716283, 19.1868542168, + -24.3576227747, 35.5704128749, 9.7305659636, -28.0698496733, 80.9991737110, 44.1711909705, 67.2428623477, -51.3139105230, + -84.1430177559, 48.3068887430, 9.0115749848, 14.7342922983, 69.3129475126, 15.3916339055, 19.1526114590, -36.2384578425, + 36.3072041758, -2.7831098993, -79.5517384898, 2.4496975564, 14.7441805304, 168.3353222077, 6.4042017907, -94.1108499663, + -96.4470728057, 93.2974672034, -25.8910707915, -109.8714867373, 19.6739537972, -25.7283734173, -63.5666504767, -13.2751224909, + -6.8369303742, -44.9757631953, 59.5220216584, -36.6656623877, 100.4234528842, 39.7179675926, 100.4793677526, -86.2364278236, + -92.0288292261, -103.2337376347, 44.2981800782, 19.1367051770, 13.8984402872, 58.8220815831, -77.2361735490, -114.4879467592, + 89.1682762205, 51.2266997372, 81.3502982945, -21.5959593928, -11.6326571964, 8.8353642779, -12.3913359429, -23.1216638844, + 0.3575351650, -18.2903762351, 45.8302612836, 80.6428162262, 59.7892572555, 60.1876610526, -145.2533267974, 106.2800108239, + -18.1569484863, 78.3937893751, -85.6984739674, 25.2366777542, 61.5343531109, 140.8219730338, 47.9603484021, -66.9887369929, + -30.6392044667, 52.9963805955, 62.4415105078, -90.2869564132, -24.2283129464, -99.9584280390, -43.1587468514, 34.3760232029, + 89.0356907077, 22.0053768451, -53.9159785951, -25.1650972100, 8.0202661814, -53.6342885367, -7.1736148465, 109.3934027137, + 33.3102237776, -81.7593644113, -31.4758286552, 37.4778685110, -22.7494345710, 2.0108643659, 46.8251888594, 55.2739450714, + 25.5904497373, 80.2180417943, 60.0712983927, 5.1023725171, -55.3981506793, 92.0411889173, -151.8431761496, -17.8889138320, + 13.8369339480, -98.9537744078, -69.4129195296, -9.4399479020, -4.5486917569, 3.8311487140, 17.2656994939, -25.4507802631, + -42.3325354568, -16.6440745458, -133.8308014681, -25.5109360172, -23.1019754685, -113.2804091682, -14.3636580071, 87.9235056149, + 72.6206212879, -58.7137643393, 167.9006741193, 39.5232107063, -6.3630485808, 71.6621087431, -114.1539708322, 101.7815598753, + 27.2475470378, -54.1505303371, 30.1111783717, -11.9959488516, 19.4405070791, -108.4745463396, 71.0642431926, -19.8129431719, + -15.2954756654, 14.3561030921, -16.5356371988, 52.7783287094, 28.8939941206, -17.2842243626, -133.2248386977, -83.3404111930, + -7.0104157691, 22.1756809435, 3.2730114916, -32.2394014930, 20.3115837303, -17.1488805354, -42.1049764681, 64.9096377499, + 7.1989366097, -54.9327048635, 27.4112784568, 12.8647289850, -47.9584681630, 28.1940916618, -77.7181004478, -39.0254847210, + 14.6762624107, 32.0630508538, 73.0143676987, -22.1015540909, 41.9874345585, -2.8858853990, -88.0645760668, -90.5936909394, + -17.7732180284, 118.5661779332, -66.7797486036, 50.5937256974, -21.9300412969, 32.8513839567, 9.2389232325, 7.6133233529, + 11.4306872743, 86.1899246751, -14.8265560191, 14.3516516628, -81.0949021047, -14.0165322751, 6.4193008532, 91.1325356747, + 136.3161040384, -79.8056934391, 48.3720074062, 184.1908593323, -1.2350224948, 104.8017124353, -70.7660168596, 59.8117635799, + 38.9768188797, -92.6445519451, 38.4757633507, -43.8909508451, -68.7430495433, -33.5503051820, -45.7745564558, 23.1582292853, + -53.0556301244, -84.2076950671, -11.0754062672, 59.8325332450, 115.3577555552, 6.0322991520, -27.2020584628, -11.6601684536, + -19.6192551137, 63.6069935939, -90.5530529832, -65.9660360514, -17.4108821433, -32.2870508580, -18.8912458596, -13.0325547618, + 15.6951179243, 52.5832125410, -5.3522907337, -17.8679842370, -29.6421416058, 54.8215269985, -33.6000150970, -17.9637151319, + 38.7672649613, 15.9768537914, -36.5384968894, -25.8899064866, 143.3564174538, -16.7027387067, 112.4635318759, 60.9380860218, + -12.5989262156, 65.1545135722, 68.4448023234, -26.7853957961, 93.3277464713, 103.6052678753, -67.2083365675, 17.5708362440, + 54.8826954360, 18.1508430942, -39.3842844795, 37.1447880280, 57.6547054454, 9.2814912808, 108.2432242472, 32.8556189396, + 94.3226005359, 5.8586602054, -110.9028458371, -51.1302011664, -16.0219070131, -7.0598649579, -176.6996383318, -49.6407750992, + -66.9977026952, -89.9496950726, -53.1942620674, 34.9304683629, 30.7056949448, -64.8309845749, 73.0371656315, -13.2113288868, + -58.9585474923, -49.8700242642, -6.1582020634, -145.9633036671, 46.6807699026, -9.8057958623, 45.5962806826, 17.8413742472, + -45.1844288752, 51.6533061953, -18.3891326987, 86.2944939973, -88.4475541046, 109.7385814010, 80.2606871510, -6.8687112951, + -40.4305300274, -68.8038418728, 98.8182955892, 45.0578128678, -17.9270836619, -58.9964717416, 11.5983932225, 9.3557201268, + 40.2977049475, 138.6920714505, -107.0950700047, -8.5417944988, 76.5742734827, 99.7719961192, 33.2465872494, -130.9955599444, + -29.2255022084, 35.8580665719, 35.2949239487, 47.8913285775, -23.4340430256, -20.2468230117, -129.2315852983, -43.7204390811, + 18.6427890127, -14.5256762331, -114.5390628737, 83.3822028084, -3.5819486705, -30.4441161689, -112.7352247162, -109.1237973030, + -1.2881432609, 102.3673365896, -56.6529958750, -17.8832422128, -83.7875095740, 27.3286576586, 28.2690336934, 11.4666255287, + 52.7806502871, -32.3964403795, -11.7703336362, -26.4802375579, 1.4830249909, -46.7745447418, -179.0106845682, -46.4060214919, + 13.0495006806, -15.7093018033, -23.0652411102, -46.8891647861, -11.2767379154, 54.4284213870, 61.0257369233, 25.9537772478, + 32.1447676269, -55.7565993845, 16.1980837538, 39.7108201653, 57.5494093425, 25.4753658982, -82.6747317912, 32.8120846114, + 94.3963947400, 115.4928024657, -103.8033683890, 0.5505661357, 17.6017067223, 0.3340989298, 11.4554380855, 60.7715773549, + 47.6023333479, 8.7147095957, -12.4689201501, -38.3317139365, -70.8372336044, 19.8454635262, -32.5311981944, 16.6656528545, + -99.4051451760, 52.1836216170, -36.3751695538, -168.5804600081, -12.4503257083, 20.3254098853, -115.3933821008, 99.5221568068, + -65.3861194417, 28.8829913431, 180.5755173101, -52.4724526473, -17.6810674060, -36.4748431538, -0.5256538571, -55.6217233478, + -21.4129350702, -62.6552175024, 43.7806633668, 68.9822663027, -103.7310445758, 24.8680657731, -23.1804371879, -19.6865562980, + 86.1256756588, 43.1915528025, 64.5202069909, 11.9433963783, 59.3956955884, -136.0065807072, 54.2444425795, -28.2438980841, + 27.6881277816, 3.3966585075, -23.2714416081, 56.2708787997, -104.6936674005, -56.2472159428, -66.3373352615, -79.0727896373, + -19.4338276833, -81.4066241391, -7.2994007916, 104.0111560011, 19.2521825910, 39.6171092266, 8.3114594881, -18.6024599138, + -55.8404695603, 28.7502170881, -35.9621183078, -83.4040376758, 100.9786890719, 43.7353110787, 58.0923223162, 158.0571243490, + -89.5270222788, 35.7263973066, -85.7794526924, -44.9442606374, 52.4649663641, -16.2400821703, -137.0501146883, 33.4104950855, + -66.4055049018, 20.4444710408, -58.9392047771, 93.1083108145, 30.4506487034, 110.0306666973, 9.2409143811, -24.4812544449, + 74.6860947628, 40.3769192483, -16.9497053699, 14.5576684325, 52.3350907389, -25.2007169663, -125.4063020221, 62.8691359335, + 12.3811488011, -49.4397264264, -45.2008829472, -45.9893935646, -51.0423101211, -13.5776298651, -117.3962715914, 20.9725891298, + -31.2377986416, -66.8022452921, -52.2545297076, 36.1808304465, 105.2804289847, -29.7408485717, 35.4936891096, -44.1058624503, + -7.4267543746, 45.9626674865, 43.2586644116, -84.9652227215, 52.2598894211, -27.7731305158, 79.4055411705, 134.9211049595, + -77.7683897577, 38.9772600887, -42.4478182670, 35.7767677279, 120.4883485663, 40.9080290988, -52.2908368677, 10.8332681424, + 103.8755744034, -69.4025590672, 63.1667239359, 51.1565115511, 30.4688205979, -7.2886782047, -18.0942283768, 31.5953801065, + -34.9573251248, -43.3238802424, -20.2265574149, -41.4045853426, -156.8022185924, -20.3378496469, 5.4144969666, -49.4467840461, + -27.8246258947, -36.1553394393, -40.4493178373, 13.5989840626, 69.9757376469, -60.0443280971, 3.4638171519, -141.4361514658, + 93.4118114115, -7.3645097888, 2.0470465032, -54.6478723026, 7.3294655198, -6.8416716006, 9.0045502006, 19.8489919128, + -6.4702933570, 16.4343253942, -10.3891055517, 100.4561542312, 29.1536913142, 53.8464057947, -16.7143417688, -153.3024265390, + 45.0496791201, -0.9943534787, -20.6269990550, -50.6212419282, -24.6576988474, 59.6066172704, 10.2122652005, -40.4195486296, + -29.2714128060, 62.6802622802, -47.4202386064, -34.8309723516, 79.5197299960, -20.0749434197, 169.8665850989, 98.4267485076, + 31.7347164541, 37.2604966566, 6.7605021281, -50.6903490963, 6.6127852698, 151.3469256096, -70.3184827662, 164.9601379841, + 92.6205263551, 69.9026079183, -31.0866155998, -34.9956145613, -9.6578985782, -32.6789267529, 80.3319506579, 91.7685176440, + 5.8995239218, -82.0636944263, 29.2086774264, 14.7724289401, 66.8988379781, -24.7460191895, -114.7525174298, -32.9732857706, + -51.4321208184, -66.2382282862, 21.2981329623, 9.1062826547, 125.8754077125, 51.0615189986, -96.7297998983, 64.9965050494, + -71.5111010300, -180.4535252581, -56.1041777677, -3.3591726481, -74.8271358166, -28.4281456554, -70.1818488305, 35.6835607015, + -13.9275123287, -83.1043490068, 22.2289783248, -95.1448030958, -40.5966123003, 11.8470675380, 106.6983680147, 52.7565554571, + -50.5809140712, 62.1951780988, 92.8998044629, -110.2770489118, -5.7088922157, 13.3095896843, -34.0434382314, 41.5967680846, + 7.1406890165, 49.0800572858, -4.8661130870, 50.1732411845, 21.8791360144, -20.6230498949, 33.2629053316, 34.8156585726, + 7.7974775850, 85.5360926916, -19.6603301120, -13.8088176043, 77.2247366741, 81.7615386790, 29.5025756045, -202.4477185665, + -31.0440373761, 119.6975128752, 46.8351618237, -36.0825651455, 52.3228058699, -61.7212902449, -37.0009190140, -111.1411485112, + 119.3548750790, 7.5570310830, 6.2657871086, 49.2259611245, 49.9691348215, -30.7394519018, -60.1418076104, -59.4870457446, + -111.9152565690, 124.6406880479, -47.4604425483, 13.0533325061, -76.5307924698, -60.2632649204, -28.0947702114, 5.4878397959, + -83.0541772262, -3.3172056420, 20.2732863285, 29.4076349749, 47.3392948241, 55.3208777615, -32.1444489144, -23.6019236678, + 61.9602080076, 41.6812616408, 30.8111928268, 21.8108462337, -24.6948175247, 16.1446229981, -15.8735793778, -24.1870889577, + 27.1864566801, -50.6435004599, -145.1098728714, -75.7531085939, -4.9397756888, 74.0940849050, -53.5740454881, 28.4600455809, + -64.1804054310, -56.5695284341, 45.7257738714, 27.3208227413, -87.4969438966, 96.9999840115, 26.5098283187, 75.3671956291, + -39.9875814398, -71.8080566179, -64.7909433975, 112.6208244120, -57.5455840916, -9.0666084922, 36.9334781097, 69.7260235716, + -47.6511701810, 48.9455812098, -19.7303239899, 34.4780933174, -24.8188130996, 1.7918733164, -51.1027083896, -8.0414842387, + -69.6904961677, 91.4021012418, 143.3158713687, 127.8431865361, -76.2463415340, 77.1863865583, -104.8165933906, -82.0491770730, + -4.2452881018, -29.8857354449, 39.4203383204, -78.4428804183, -67.3737881273, 45.7774162557, 43.1510666403, -38.1227007212, + 48.0367915577, -2.2796749550, -147.5309258951, 59.4609063787, -94.5201743634, -90.2713711080, 83.9499629394, -44.4267785769, + 66.2311395310, -19.8654393787, -40.9657871591, -7.6100345494, -153.4687135715, -24.0528389453, -43.0977703429, -32.4544558717, + 27.4626014725, 61.8263048101, 8.4949142219, -120.4489043103, 9.2738852281, 65.3309688121, 44.8133466197, -37.4373241359, + -83.9640842471, 23.4059670119, -93.9143209007, -55.4183425033, -93.7449781980, 74.3227981579, -11.7471950643, 84.3803942002, + -31.4489037424, -1.8363204298, -55.3456417353, -95.1228021775, -55.4637768242, -17.5611590555, 8.6597790424, 19.5417857682, + -17.2507716259, -5.7889755948, 70.5139270183, -26.9177828140, 39.6037632634, 4.0845034879, -59.7156630403, -55.4689095772, + -58.7669735168, 62.5057414231, 50.1807875376, -49.3189045747, 15.4287355682, -8.0824504769, -47.6198199719, 15.7657690255, + 24.1207871994, 27.9173027164, -12.5261250855, -19.0257872712, -82.0154379577, 76.9194034147, -14.6695769647, 1.4844193915, + -7.9956835409, -55.6156194033, 39.9952855598, 51.1083969228, 48.8829532142, 62.7988625371, 51.9432398511, 2.8722062155, + 156.1476408615, 37.5905889544, 54.7112433550, 80.2943943272, -6.5627640190, 88.6335213431, 112.2792767414, 21.0878200837, + 5.8741152139, -19.6667337723, 33.7905147067, -34.2798965801, -26.4594706418, -15.0765526773, 91.5802201722, 85.4145356413, + -36.4818922051, -147.9028534383, -42.1412753623, -27.3632859684, 44.0453194249, -19.1027467398, 14.3157309983, 4.1768734004, + -68.3022440228, 34.2186781120, -10.1854692365, -173.8586421151, 56.7091031998, 2.6538298634, -93.3821299316, 45.9499799668, + -11.8122305624, 26.1216815300, -61.0880687199, 73.1945783047, 28.9339417573, 42.3531539412, -71.3262502743, 85.4828937399, + -66.7918044637, 5.4192940999, -81.2977956585, 88.4998783552, -8.8973642437, 18.0257683389, 0.2933847454, -87.7509230128, + 1.4360726567, 57.2432970677, 103.3736004675, -33.8595106764, 36.4856625370, 87.6767927437, 45.9257522623, -91.4882358338, + -43.9564432991, 36.8048295224, -155.8735354347, 78.5839166200, 21.7365316114, 2.8251251119, -0.5016069183, 50.9050618615, + 14.1865751800, 53.6974572195, -47.3239324031, -62.3187399635, -109.6783459490, 10.6742758459, 3.0633856847, 170.8292829026, + 22.7107314592, -115.6997421721, 179.4541315127, 36.6353212025, -46.8173506792, 104.9377352185, -62.3839485230, 84.2161407106, + 136.1327139029, -1.7544748630, -86.9030562131, 15.4259753671, 2.5663369046, -116.9292434949, 64.2129157660, 78.7964806182, + 49.6087028507, -23.1282134104, -37.4278940992, -67.9769820701, -32.7546299170, 103.2337703853, 59.7504223629, 147.3485484359, + -3.2598723366, 116.2635358555, -4.3105783057, 99.2160004729, 18.7288916095, 78.2186271384, -32.7460615054, 26.6048168237, + 54.4099899967, -126.6518025639, 17.8377885986, -98.5074167624, 83.5842655157, 63.5608049079, 124.1282700584, 25.0506382513, + 9.0974612270, 10.2387616470, 31.1629214422, -24.4182834051, -15.9351308181, -32.8438279677, 8.8571103031, 3.0977533207, + -23.0359569441, -85.1033133185, 1.2922811622, -69.5278720344, 25.7444385081, -92.0141253702, 35.4374183520, 6.7043276497, + -0.7451513477, 6.4338102885, -75.9673321161, -91.6026967981, 34.9987265356, -83.2890589702, -47.9531745920, 142.7844807861, + 114.2435566703, -26.6531368807, -16.5029393959, 14.8125488050, 16.9592532170, 12.9147547847, 59.7887418020, -39.2528866593, + -15.3658342458, -74.4590980998, 74.3475628113, -48.1780064666, -11.0564355396, 70.9519213138, 110.0516331927, 36.4575879060, + 91.1281495181, -103.0201029342, -58.9865587379, -87.3023951029, -25.5889474724, -80.1022425592, 7.1308546919, 42.2966419390, + 28.1034227718, -110.4992975497, 52.3250451635, -22.1535855498, 12.7339036777, 34.0415435152, -39.0750294825, -30.4963132547, + -53.1808531221, 17.7255575164, -10.9535616620, -95.2135221101, 100.4987819707, -68.9493118541, -82.6099501128, -18.0285171027, + -21.9761772415, -27.5932967659, 91.8124465044, 5.8338598129, -7.0338759021, -45.7406241732, 12.9215890948, -0.0753638964, + 44.7159304680, 26.4654167590, -40.1423667648, -8.7426397748, 31.4700501616, -38.5847107897, -17.3446717482, 33.6461097548, + -107.3520493912, 117.4675224001, 40.6606607876, 7.9719714143, 27.8264722603, 38.7179679154, 1.7705195429, 25.5111272928, + -100.4419129176, 12.0673509113, 83.8410184425, 29.5781971450, 8.1040630143, 4.6727315335, 64.7847825199, 82.6216823615, + -15.1627242063, -22.6182310171, 13.1330997407, 49.5724583221, -46.1716475780, 47.7331801575, 49.7204543255, -85.3529225637, + 44.2195291098, 14.5616345667, 25.1355891397, 40.3146174825, 28.9423346884, -75.1582368771, 57.1913980615, -65.6984554165, + -40.7664709143, 66.4827050221, -37.4060644320, 22.4137979914, -40.0020443101, -50.0281409167, 4.8184431368, 62.4290842324, + -40.0926566688, 44.5774651507, -21.1028032780, 15.1185206565, -16.5265077365, 50.9848497205, -1.0692090929, -10.2392281457, + -73.6134935055, -58.7604124292, -78.9611342584, -22.1438277580, 38.5664728303, 39.8041438227, -43.2409994985, -37.9352795857, + -10.0448204868, -23.8371815139, 3.2897249640, -80.2885168342, 37.9525301994, -75.0706497208, 83.5246116221, -72.9921720117, + -8.2686558506, 3.9598212380, -88.0878393938, 14.7857207938, 37.3105932736, -25.5786314639, -14.2401437401, -131.8844485523, + -83.2051874645, -48.7402478144, -47.1392081390, -140.1935235859, -110.9171286805, 5.6067034386, -61.3508997640, -153.0780126325, + 20.9763880517, 36.9388874884, -0.5023108098, 109.2764166186, -64.7679763308, 27.5264562598, 12.7297402644, 135.9094145156, + 28.8725261600, 107.1985003559, -17.0333242428, 14.6472316711, 79.6550390697, 76.3253602754, -42.1106361443, 101.2937610145, + 29.1345513275, -81.3710305821, -51.6367882642, -75.6657420025, 67.6127817208, -143.1235134075, 63.4083371887, 20.2771663953, + -39.6962975349, 35.4904122251, -21.1761177463, 36.6827629732, 30.2533761253, -100.8244394079, 42.0562320416, -117.0985134680, + 86.9313959966, -68.5862263897, 39.2349791859, -62.0712807646, -4.7999897806, 157.2184386950, 40.1651596554, -130.2861272594, + -21.2745075974, 96.2019047346, 130.4626031799, 47.8121736864, 67.8619386636, -88.5169139565, -15.5429762844, 46.7375894206, + -19.9234556464, 74.2075824091, -146.2816301611, -27.5190709903, -105.4977126735, 82.7567139636, -63.4005073458, -97.8585647602, + 70.7163936702, 40.3196085322, -92.6325452663, -65.4906649632, 14.2362768591, -40.1848110012, -27.7039695490, -100.7942890248, + 31.7082105399, -25.9115041943, -37.2685165720, 12.4301141470, -86.2349812607, 85.4288388492, 61.4326022560, -52.6450593109, + -78.4043996861, 32.7052974812, 1.1786814775, 65.3401420354, 8.4364632653, 148.3052078011, -83.0828330696, 106.6354843068, + -4.3121195655, -44.5526178638, -2.9317305696, 109.9935497492, -18.4045116767, 23.1613955078, 15.6972686340, 128.8746575438, + 29.0629973213, -10.2922631539, -26.9225268881, 78.3939184322, -13.9891592847, -14.3955545921, 56.2259353432, -106.9719383698, + -69.4541718556, 83.7959262767, 118.0020136833, -76.6757480506, 53.0531323252, 20.3374814219, -45.9339005486, 46.3861511953, + -82.7185926581, -51.9983813997, -11.1149096121, -15.7796335925, -14.9611867369, -55.5963996752, 3.4778394189, -63.4371998633, + 28.8327087658, 12.5198672129, 87.7380213704, 18.4911159408, 56.8889056171, -21.9589217680, -93.4663445471, 55.1183878788, + 0.6449948853, 28.6533319776, -14.8059318368, 113.5439226734, 54.8995357737, 109.0924325068, 38.7922835723, -0.1180981319, + 157.7915336564, 81.6839158496, 11.8100964756, -22.1691332044, 9.1777753259, -58.6991331163, 121.9143128888, 123.2714985637, + 28.7886850251, -73.5910923730, -128.7124920003, 55.3579340152, -103.0285920820, -68.0360814429, -41.1894325447, 61.1418052767, + 9.1032579737, -114.7074592848, -35.4778656303, -56.5732437789, 87.7236911508, -34.1313499403, 62.2620712971, -52.3364100999, + -108.5676552169, -88.3757117464, -19.3248782556, -10.6333977657, 11.1531439202, 117.9042736262, -59.5405468137, -29.0685166095, + 84.9970950178, -27.4738785887, -49.4301782076, -23.7375836298, 123.1572277910, -30.7874739051, 20.0070113012, 92.6375682898, + -151.2677413660, -64.5993124352, -6.1931938222, 56.2980662344, -51.0667271974, 3.2590148897, 94.2279629570, -81.3680192851, + -58.2441470779, 136.3043204550, -65.1682000377, -11.6204578273, 82.5051730406, -20.7566312389, 12.9732577973, -3.6631681566, + 5.8870959981, -15.0765851320, 82.0878455090, -35.8669226696, 12.3547961199, -187.4160833910, 134.7486191161, 68.4591403436, + -10.0461433931, 59.1539319574, 43.7723616252, 79.1999168985, -24.1914155320, 38.0293798436, 4.5268241580, 32.8861446301, + 26.8134396608, -32.8357678171, 75.5315658240, -98.3994598766, 27.4380255469, -18.2567928813, -53.8692115445, 43.6445077874, + 41.8403964980, 145.5446940894, -45.1527793517, 36.2478163862, -23.4791069949, 12.4999105154, -39.0947731515, -94.0528129824, + 58.3030733328, -45.3491781120, 73.6529605858, 59.5823230864, -47.4741019188, 16.0307838051, 76.0140317071, 35.1546855136, + -5.8237741703, 8.3668861475, 125.3567506875, 55.2422644949, 22.2611352600, -33.7548647520, 22.9568910221, -35.1162490171, + 34.5901055588, -28.0490543019, -15.6322113695, 23.3610785957, 95.0831229094, -54.6273674257, 89.1750392621, 40.0225575612, + -14.4413587278, 97.6869759465, 14.7675464371, -37.4004765161, 119.4568961628, -26.1920161265, -58.0012410134, -28.7350340564, + -4.7796929865, -19.7344028715, -8.6437248253, 103.9809164360, 11.0043740394, -32.6092633210, -80.6443486297, 49.9986715363, + 105.5490975322, 104.0899701063, 59.5660092301, -17.9484147791, -55.4356343687, 5.6176664765, 147.8940936440, 42.5217478147, + -33.7007685862, 76.2702328206, 17.7168869112, 29.8692838033, 47.9156001099, 78.0087519225, -10.9663921228, 108.3826416455, + -12.7724638181, -84.5882451872, 19.6390498449, 50.9452521435, -10.4676220676, -59.5812635820, -165.2174342507, 52.9034909048, + 4.5103428162, 28.6714188830, 151.2376493891, -15.6519597742, 54.5244070834, 40.6356686042, -51.3633558110, 39.9915724858, + 1.7184423265, -4.3510464817, 6.8579282212, -37.7467707598, 37.4199831388, -44.1415061320, 7.9715921178, 80.9137854559, + -93.3883447881, -70.4226479003, -5.9804507221, -12.7588185792, -12.7748179660, -44.8489354744, -27.7084595447, -9.4696608732, + 57.0454576802, -137.5411295173, 34.0807152122, -82.8428997163, 36.3720183240, 117.5741160380, 91.0621096220, 16.9215804561, + 82.5046757105, -16.3941226525, 21.6412310432, 9.9347818503, 94.4637136289, 40.3883996184, -79.0927933462, -74.1126629254, + -1.8463008698, -11.7303452181, 51.4819690412, -40.9029132628, 79.5478142926, 37.3467151745, 119.3061300476, 81.7656373311, + 40.9995493552, -18.8267671804, -109.2814037436, 110.5826225324, 3.9090047179, -12.7311846356, 50.2434808607, -78.9987938122, + -48.9383950748, -23.2509396875, -67.8816298850, 46.0043667633, -79.5062435328, 3.7149881510, 28.8345576966, -2.4062068420, + 111.7203117517, 0.4410205414, -38.3832527193, -61.3416288539, -102.7939248826, 67.9533675166, 58.2475592529, 10.6035422626, + 37.5730234873, 49.4994673002, -82.1647604961, 65.7885201078, 92.2097983704, -37.3226143066, 135.8561958349, -49.4816302910, + 10.8193370693, -8.1591216625, -124.7982308726, -14.8282684728, 90.0927717376, 33.5256881620, -59.8703916309, 21.7176330197, + 2.1782551834, 114.1382737688, -88.1597739240, 6.5361543045, 97.9695862766, -39.4694065867, 11.5962132886, 33.7697466356, + 58.9764174727, -4.3190513332, 45.4357110166, -39.8718237733, 101.6682995218, 16.6389670713, 0.3598261204, -29.7440968058, + -31.6482054502, -43.8553776977, 67.0772865832, -54.5098535835, 30.0974211944, 45.0867818944, 8.8681839790, -27.6698123459, + 32.5238939056, 115.1771763945, 1.0297629680, -0.1277281381, 53.5989816709, -15.6940765735, 214.0039494923, -3.9607957468, + -28.2459062295, -78.4309884274, -45.1615660948, -56.8373512425, -14.9182469466, -46.6359981712, 10.2436473643, 49.6796044695, + -68.2156643693, -73.6736376702, -25.8482309017, 79.6432993680, 39.8430177404, -48.6865340771, -4.9554892261, -10.8103852199, + -163.6398049355, 34.8129987597, 43.1988001177, 4.6425367549, 71.5136740040, 5.7449295065, -129.5178610564, 23.2851316100, + -28.9856348679, 72.2878496468, 65.5641757637, -22.6995529120, 90.6678161988, 31.9503079809, -38.7957396135, -29.8167763909, + -127.0682245355, -114.5912946274, 95.8998971324, 14.6842186073, 38.6817470857, 53.4220170000, 30.9640386035, -8.7681524726, + 93.2374647164, 167.2548470938, -110.0113841742, 60.7832491969, -10.6378768861, -12.9541979766, 50.4311478762, 14.8581364205, + 36.2771855577, 16.0289680028, -27.1211553672, -27.6119525599, -64.3782858077, -30.6836783175, -11.3104575592, 46.6583470371, + 43.2576688462, 106.2483647125, 35.4221002374, 38.7051612461, 55.2640723227, -64.1159659536, 57.0032601941, -44.6269768244, + 53.7789820032, -157.3514759280, 9.5791816275, 6.2806945793, 18.6705185038, 153.1320561669, -5.5671006976, -3.2946321773, + -13.2024369589, -21.6449448269, -22.1412657716, 70.9673800953, -7.9864874901, 41.7239378937, 71.5984356144, 87.1584519164, + 71.0575050315, -38.5112900717, 41.0828370864, -97.7913314993, 24.9443056744, 71.6995496139, -116.3501231153, 67.3823850840, + 94.1851944844, -41.7993332022, 55.6783133892, 47.5180232694, -25.4261377746, -16.5909249978, -16.5035403522, -31.2504616568, + 38.1070466320, 0.3163573698, 36.1965564905, 54.8579811585, -54.0608838266, -112.2426667925, 184.8017345857, 49.4559933628, + 97.2753525540, -127.3976019425, 56.7945066844, 105.9924251837, -9.7156760373, 44.4969751065, -37.0888563276, -26.7522105798, + -40.8300149353, 52.5243354843, -19.8943377495, 51.1416695022, -70.0108248826, 15.6121585850, 32.5217684217, -90.1820508578, + 39.2513383879, -47.3412998909, -31.3055181623, -56.8173595829, -50.8924569276, -7.5435701646, 64.3413557990, 9.7281927789, + 48.9305305599, 56.5372975126, 26.7417330296, 89.0738343693, -48.5280725684, -31.0853481463, -9.6358615936, 51.4311918344, + -33.9718242925, -15.7470007951, 51.2850467492, -51.4187903682, 33.5815172911, -71.5483298410, -74.6635317137, -82.6284293355, + -19.3084129904, -58.4258965628, -7.7220084872, -50.0589600666, -35.4767663181, 113.1079148915, -10.8113655056, 6.6819361958, + -58.5734954218, -83.7627866065, 26.5302830531, -99.8288161852, 70.6577997609, 105.1602805436, -26.9709761883, 16.7715250364, + 100.4598899749, -12.8354110399, 31.2835111044, -28.1999286002, -71.8821977449, -43.8649368179, -24.4752744590, -13.8122643365, + -13.2937561135, 86.7641539982, -45.7159093571, -13.0092431337, 71.1728457692, -47.6143967182, -18.9549445122, -52.6530519413, + -36.3758751689, 95.3593012050, -13.8106918472, -47.9731072201, -42.5698690212, -33.2874699499, 74.6397905712, 13.2248699532, + 10.5705384630, 53.1572412508, 11.5799356215, 40.3743911825, -30.1315085582, -32.5536377528, -63.4740422506, -8.1108698232, + -39.7653559069, -61.9123876789, 30.2050339534, -13.4902607567, -49.0742542298, 88.5722862352, -22.0924973356, -43.2051228512, + 23.1418263846, -52.0531638851, 61.7042537346, 62.2206170738, 89.7321026525, 16.2048654039, -69.2890753423, 14.8548152449, + -44.7911045647, -2.5487807022, -25.2382987671, -73.1162478241, -6.5637044361, -62.4609072239, 50.2645328426, -127.1218373352, + 35.9901816641, -13.2427957988, -19.1139418128, 11.5763910792, 42.0967727508, 93.8373969941, 48.7578089767, 116.6192984420, + 29.2111912926, 58.1960409947, 45.8425638147, 72.1773323399, 83.8891643331, 17.1974768083, -78.1227071776, -76.1533486330, + -37.0312632710, 25.0291081414, -104.8734413579, 19.7434765416, -23.3082565679, -21.2852819234, -25.2235835223, -93.6817252275, + 2.7146982161, -17.4896953310, 71.2109780985, -59.2294931409, -84.0666862918, -65.3056520242, 120.9838686800, 74.4971556879, + -9.5684703908, 64.8377948685, -66.6770366247, 38.8265471508, -79.6623440265, -39.6171150046, 68.0022918215, 64.9078337860, + 19.6121887994, 7.2244101173, -23.1854400590, 30.4614578804, 46.9242283532, -1.0747268647, 49.2189640668, 44.6411673048, + 86.9687811173, 22.6744479392, -48.5360769344, -66.6164589196, 43.6822611836, 0.0803667092, 22.1251605426, 84.5472356977, + 23.3682917569, -119.0004161504, -77.5731290127, -8.1237991059, -9.8574787289, 8.0923731288, 11.6312746189, 48.8042209908, + -91.5385965138, -51.9417178439, -93.4017678039, -7.6902800177, 42.8038592146, 208.1745748115, -40.2269989314, 35.9946432857, + 14.8799963031, 72.5512530025, -33.4277806899, -3.2314305870, -66.9052809329, 99.7368956670, 19.5081727184, -29.1990516772, + 114.5317858084, -154.9703729745, -14.9584650353, 5.6179621219, 28.6224091068, 33.0426197666, 147.4892869040, -67.9739211942, + -71.7894315626, -107.3389637620, -95.5814122043, -16.2209528572, -32.6673756107, -24.6641235582, -96.2759765479, 42.9819639376, + -45.0775031344, 26.9177278735, 87.2353637167, 58.4214280318, -37.6862314706, -27.9660896146, -16.9115875649, -16.1061688951, + -28.9055343700, 58.1888376313, -38.1213943166, -4.7623621285, 33.9409953615, -85.9445074362, 3.1450686264, -88.4878703313, + -50.0848195592, -22.4167501243, 21.0397901669, 11.4240588629, -16.0956576256, 2.8322646297, -77.6952409905, 38.2576382396, + -53.6616605614, -26.4231916298, -26.3358464547, 81.4694985453, -50.3033670023, -8.2053965822, 19.9636273501, -10.4302918812, + 9.6629338686, 26.0903202845, -37.8068628176, 9.2638853986, -9.6752622225, -55.1704616516, -182.0875653530, -116.3887933434, + 8.5457908424, -29.0590636102, -52.1712423322, -84.2194156867, -17.3343644788, -69.9177944994, 98.4410912043, -5.8653773568, + 14.8287039959, -37.2315894188, -15.8744801467, 55.8855979582, 82.6374695897, -10.3491623457, -13.1871637112, -59.8321884846, + -13.6406794918, -90.9144246870, -39.5280425915, -21.9758399218, -21.0648164072, -37.2225695620, 179.7142651659, -1.6184261744, + -48.1631682332, 83.2309613815, 48.6367549372, -30.7160958486, -133.8419652482, 74.7583916606, 97.1026557281, 49.5481525536, + 33.9337592438, -48.6489706540, -74.5656495945, 11.2027589435, 2.2601440520, -26.1480067313, 14.1051697860, 104.3412840234, + -25.6567602627, 57.3314373931, 6.3330980799, -55.2666198655, -25.4971449454, 12.5333375030, 29.8117352747, -92.8414244156, + -143.2454500203, -7.5931354464, 1.8606525257, -9.6143470754, -56.0408726209, -26.0595448033, 37.1855765550, -21.2097936957, + 40.1996970371, -41.3351177032, 34.1834444638, -186.6269086563, -18.3614205839, -37.9357021641, 135.6670379673, 127.6586855975, + 23.6471207301, 73.4502163408, -73.9251876551, 47.5332209105, 50.1140713450, -5.8704801353, 12.9804536200, 46.7639885850, + -36.7458561449, -33.4506904080, 36.4941161678, 3.4199906571, -41.0407898239, -9.8181030415, 4.7245112428, 96.3687030689, + -28.2365241736, -17.4276379002, -65.7706653413, -96.5485126192, 46.4790636261, 32.1379379931, -70.2471563731, 52.3768573029, + 44.4162811009, -74.8951342613, 5.7318009676, -42.1108472837, -131.1371125092, 121.7221178589, 40.1216742680, 6.4128170610, + -32.2753329082, 36.3368525229, -30.2548033001, 72.6541502245, -33.4706909702, 15.8356670629, -50.4602392965, -4.4743341580, + 46.2418862356, 79.9973168669, -111.2430552953, -41.8285332332, 25.3359175319, 83.0841533978, -16.9581589718, -51.9200860092, + 77.9429675613, -100.4955466280, -16.9528387572, -63.4657485782, -14.2913689634, 20.8998480157, -98.7512394038, 175.0497111959, + 47.0357236193, 137.1821799965, 75.4859204931, 102.0896754000, -74.4319389528, 55.8710604661, 138.7844756707, -23.0214452064, + -44.0374225169, -39.5194006283, 17.6585042519, -83.7726310797, -40.9221184784, 66.2446785328, 61.9460848477, -26.5717761182, + 128.9173728445, -90.0154125585, 30.7220887905, 19.6211869212, 91.6137623259, 31.9401330791, -12.2054969481, -173.4012681649, + -37.8843684762, 2.3280971615, 58.8027265021, 39.6103768351, 45.9231885572, -21.2457868614, -56.1950724310, 93.8767608958, + -20.5075317720, 81.2860077414, -82.0982682957, -17.2313104276, -36.3367685204, 146.3298759474, 83.5645188769, -95.7871128855, + -41.4691805243, -4.4610514276, 76.4605569574, -18.7164073238, 60.5960801248, -55.1266248358, -49.3982202577, 163.4790300050, + 138.0264616472, -15.2636421738, 36.7895684788, 83.0702148363, -93.3437893057, 32.5989066039, -49.2049731278, 117.1479217209, + -35.4644848480, -44.5015630679, 31.3859706395, 5.8693717755, 17.3746859058, 9.9311131323, 6.1022018377, -121.9841205723, + 48.0645606148, -103.1127755426, 20.0433058006, -134.2922130039, 28.5016581997, 101.8535712259, 76.4518488086, -9.2802004844, + 78.1358057662, 3.3099138954, 69.8587685844, 110.6444273503, -59.6931547724, -51.7268303246, 64.0193271761, -15.1660919639, + 78.7207187414, -51.4776928138, 30.8703273062, 67.4488362333, -95.4561768870, -100.0161430296, 198.1825455394, 131.1359211305, + 3.8645077188, -19.1178912788, 30.3260202103, -19.7430200798, 12.7734912557, 74.1885333495, -67.8364659684, -80.8926661663, + 12.2720397333, -22.8440467871, -42.1377912025, 22.2591508655, -94.9559790816, 116.4053256024, 52.9759527067, 108.1630429012, + -82.6415576638, 107.0506710689, -32.4925050747, -134.7178668343, 125.0907581204, -33.0460380391, -37.8115604172, 13.4036941541, + 27.9798939995, -59.6965877877, 54.1339455110, 32.0538788400, 24.4020907468, -74.2815166253, 8.4464964158, -20.3601523468, + 28.5216426135, 54.3051140070, 91.5671757124, 44.5687804478, -50.8430812549, -15.1985800847, 72.6230011188, -63.3817304557, + 31.1651064018, 50.5057736622, -111.8897385947, -2.9491865484, 80.1135762676, -14.0696654619, 52.3521392147, 88.3353740728, + 87.0542702718, 44.9528879964, 24.2675410208, -47.3556425676, 23.6195853690, 61.7358141399, -39.8446197794, -28.6054825449, + -36.0836012134, -73.9089369029, 95.5989535672, 7.9458092374, 21.8693430561, -10.5751898940, -16.1045252653, 44.4127909167, + 18.0851707496, -46.7345019239, -92.6347568314, -15.6603448228, 39.6519674060, 29.9629332247, -24.9622443586, -47.2975561701, + -17.7780218654, 71.7346558516, 1.8999680118, -98.4624329314, 98.2614298645, 15.6787428700, 45.4912030123, 28.2495734475, + 65.7419427030, -99.5295634165, 27.2786047010, 77.8875001753, 16.3977450032, 10.2037888065, 60.8912178592, 82.1708628016, + 48.2506800969, -26.2756011209, -57.2019501999, -91.8180165526, -47.2336309942, -42.1121454516, 68.7279348832, 92.7832491188, + 17.6280339107, 6.7251426316, 25.0819097881, -59.7146158445, -65.8513175770, -41.0602910259, 4.5838916831, 38.8846775235, + 19.3473841098, -105.1434354654, -13.7765844991, 24.1616037866, 93.0893862826, -107.6082978084, -58.7977319447, 58.0759414185, + -89.7901093790, 16.1918835625, -37.2172665357, 123.6960140670, 114.2205895053, 8.7980887529, 22.1354877733, 52.2713979482, + 22.2246402930, 36.6257130653, 74.2884386832, 39.9288008601, 113.0416245079, 26.8047584467, 58.7266876251, -6.4680422666, + -26.7509331673, -38.6312732122, -145.0208923168, -35.9684264419, -117.5381191845, 29.8488196638, -51.1247043830, 112.6915937071, + 31.5277658506, -24.1454178026, 24.0572867542, -15.3632719912, -44.2556311042, 58.2449714174, -76.1363396817, 46.3749067777, + 3.4852275006, -104.6231553696, 30.1977700745, 7.0441446610, -10.0102536523, 120.6615291011, 188.0249410917, 44.3295887206, + -39.4106227621, -42.4924838463, -28.9316859978, 103.0113316106, 51.7061135184, -18.2169052015, 21.6066648209, 50.1453569033, + 12.7421867528, -8.1356008640, 75.2454422748, 64.8694058804, -161.7997182567, -17.1915039219, -41.2383269408, 0.8946812357, + 55.0533498639, 46.8242610223, -5.3780848566, -46.8156157192, 64.2205137708, -25.1479872711, -54.8298550608, 73.6823422266, + 41.9888520352, -83.9419623261, -41.0305214865, -47.4087035362, 33.2268582543, -38.7414663450, -104.9255474057, 38.2157988361, + -22.3790617016, -31.5426215850, 14.8891733573, -64.9019662116, -44.3044057867, -92.3281371013, 63.6669819235, -18.2425819417, + -49.5109487403, -64.0201431562, -70.3061633619, -147.3930233046, 128.8254864954, 7.6978217230, -56.3987238261, 95.5962971177, + 24.9319849141, -1.8305826630, 63.7414243665, -49.9852779582, -25.7389331291, 25.2700519583, 170.5603890165, 9.5266276922, + 13.5399442827, 0.7663023156, 144.5140143737, 75.6602313295, 44.5345480965, 35.8927901197, 59.9952333199, 64.3016125781, + 59.7518716703, 15.8739554628, 57.5686758914, 58.5866845774, 43.8356058096, 7.1335337346, 27.6439212874, -30.0398764928, + 6.2065364457, -79.6476847939, -80.1779260414, -52.2408711631, 9.9023027662, 10.3789070887, -46.6717275791, 57.2822267955, + 73.5763019279, -71.4639042142, -52.0323289026, -80.3692311543, 8.8431925427, -40.3750957204, 12.8573997402, -112.0129690473, + -67.5403575455, -4.9929337525, 131.9313839610, -108.2934624601, 17.2672219445, 48.9942839871, -90.7089806183, 114.9850344553, + 31.5988734490, 59.7636253519, -33.9764105756, 20.7915341567, 94.3558278877, 4.9570378129, 75.5601876581, 33.8799007373, + -90.7302419365, 1.0494275291, -33.5814817284, -50.4328011162, -52.6438122254, 10.3630633870, -90.7790260582, -60.4947106306, + 56.5127910083, 32.1019449106, -8.8885657127, 22.6481300860, -74.6992587301, -137.1086103933, -35.3402671515, 52.0032440119, + 14.9769109018, -23.0406615521, -41.8971596726, -77.3413472134, -46.9910623823, -107.4957490524, -86.8794002198, 52.2329975546, + 72.9424340427, -74.3244971184, 85.7023745145, 60.8778950641, -31.5903542844, -78.0533202133, -73.1733800101, 53.2034137779, + 83.0498994257, 30.2580271740, -56.1035163750, 16.6579677161, 0.2073439761, -5.7906867906, -66.8711603748, 74.0261467640, + -62.2989478643, 107.8399681550, 160.1626153730, -27.1263316346, -79.7784413411, -10.8403444789, -37.3887634955, 5.9808867714, + -10.1978150670, -53.9468869673, -38.2970373675, 16.3168988370, -1.0483342304, -63.6173233903, 87.0866029730, 26.3862156999, + -21.4053546455, -7.8216446996, 90.5994689064, 44.6928873902, -146.7075228500, -62.8122471300, -121.7119840134, -32.8992273432, + -11.9106565965, -104.6076313473, 127.3823687195, 2.4852952522, 8.9975686284, 45.5738431227, 16.8209391951, 26.7216521497, + -54.8776022226, -68.4194899925, 20.3925320149, 4.3453071650, 49.9988757708, -8.6636385971, 0.1191776713, -64.1528259747, + 16.0849193094, -24.1120788064, 40.7655203071, -23.7853262362, 91.6933164270, -54.3376676772, 69.7309190298, 113.1324293560, + 16.9278536871, 123.2439408123, 5.9934209089, -45.6409119369, 17.1842607385, 83.6522464227, -174.5484916836, -4.9414325022, + 52.8768375216, 15.6132102239, 41.1192572000, -81.3594721245, 28.8255333085, -2.0603766865, 6.4061712949, 82.1547586637, + -36.3679383103, -1.0390408940, -13.8483417281, 37.2231178393, -2.5777964710, -157.8382079085, -60.7910508762, 48.7258486830, + 33.1256641954, -54.6346845809, 88.2192196002, 39.9956402036, 3.2010617529, 88.1693658284, 11.7277451767, 32.7636165636, + -68.1591305748, 43.2699890762, 107.2828531104, -36.8225650893, 1.4407313695, 53.5742622795, 103.7597203839, -96.8481119045, + -70.2987605549, -55.2783713624, -6.9864094662, -40.3280834509, 16.8072891922, 24.3756993403, -84.6501745052, -45.3961429485, + -53.9237387431, 29.1708008262, 1.0498758638, 34.2610169651, -9.7905112911, -35.2443111357, 99.4574100554, -82.7243314274, + -12.3112078341, -13.4935295204, -65.0441169373, -1.5707942158, -8.0237289199, 49.5507868185, -13.4811149250, -3.9030733772, + -75.6220602476, -74.1596322041, -5.7789561939, 73.6177769297, -98.9485291892, 117.7192585235, -79.3791252579, 11.3447373614, + -24.5743979438, 33.7169431880, 39.8633765496, -149.5617929692, 141.9104918620, -55.0577810810, 37.2052313138, 6.4852281207, + -51.9122252169, -31.2592720321, -69.3547398856, -78.1122747852, 66.6338044220, 8.6865150501, -67.8354186666, -202.1226264943, + -31.1645341579, 18.2037364021, -64.8577486822, 32.5502423750, 26.0251882844, 5.0986012605, -47.2026094332, -13.9009556603, + 59.4152148554, 101.0702523560, -35.6013874662, 22.1677959258, -26.0857605492, 14.4754773923, -0.6780897798, -25.6530120006, + -25.4546641639, 35.7707567857, 24.5314489446, 20.0344481593, -18.3207572649, -9.7912924757, -11.9552594910, 106.8966283008, + 80.2653334386, -3.6056009570, 77.5441202535, 37.7136483336, -2.3165569778, -15.1111584239, -21.3047579337, 63.3629898072, + 15.4217847395, -48.6546027271, 33.3996963722, -87.5423526700, -18.8955709453, -85.0736444599, -55.2290313813, 37.6993014695, + -1.9420172920, 143.1251237972, -55.5771775185, -41.0289639463, -82.6515627688, 48.5420105013, 10.2288031648, -56.3379070490, + 20.0143954586, -84.8968512309, 127.0283241701, -79.6996444881, -52.6134879057, 22.0561680431, 60.7355377150, 15.4017379435, + -103.3924328801, 54.8459420743, -75.9157921311, -18.5478645340, -120.2337715192, 19.3119533190, 14.2354651926, 49.2411155276, + 178.0946722971, -75.1044338856, -17.7857687140, -44.5847020456, -90.1973261616, 21.4416495288, 51.9825060227, -66.7420817203, + 7.5764658958, -70.5144035274, -58.0645913437, -108.7601823595, 11.3207059592, -71.0204300166, -71.9141786835, -41.1119761277, + -63.1487461134, -7.1948924612, 37.4257273157, -0.3096640281, 22.3859391424, 37.4791977942, 4.7298794262, -33.2974745191, + 31.2867641674, -32.5753321154, 66.5419169580, -60.5202504180, 17.4192217276, -50.5317834280, 95.8748766870, -31.5464032969, + 44.7045552306, 64.5521928874, -23.1461700992, 118.1095509083, 35.1065388893, -27.9857316442, 8.2912382315, 39.7446781812, + 3.3485245256, 56.6810611812, -22.8994983441, 80.3970810489, 22.3086957726, 128.6454657339, 22.4798757743, 49.8362059423, + 22.4019441476, 27.1059712406, 11.4540686475, -10.0764491110, 28.4803668412, 94.7776130875, -36.8737987939, -88.8666428850, + 141.5495956917, -46.9343244046, -58.9586661150, 23.3890221338, 72.3692845286, -27.6356117882, -41.8318324842, 70.9559999727, + -8.0897813375, -78.2950183802, 87.8658917396, -70.5715383399, 22.1972033651, 47.8069266963, 131.7707915958, -23.8938128672, + -33.2047798206, -40.7583820499, 27.0405050078, 19.6445061622, -19.3891108700, -136.1942182249, 8.5255159178, -42.8234719503, + -70.4814202849, -41.0662321022, -9.3910777305, 136.7254609331, -6.7391967243, -68.4796734994, -27.6933664361, 118.5680907562, + 7.1623426945, 6.8386734240, 75.2481710418, 33.2280590090, 50.6011222647, -2.6551190091, -54.6429379954, -15.6441827245, + 34.8192824650, 41.1519964665, -95.5213521044, -7.1466152035, -23.1705143065, 21.8243235569, -26.6493944983, 44.3948925119, + -0.2695887637, -115.9753822388, 10.0551835964, 41.6343978371, 17.7354401036, 3.3862359071, -107.5692389700, 110.8538665943, + -77.0898864044, -18.5513096154, 87.7377015326, -89.7201205553, -21.4828890020, 12.6716787713, 71.2019960218, 37.7530110511, + -111.0886809644, 28.0083327042, 11.6412229475, -14.9061811373, 78.9633564364, -17.2424064978, 78.6411356878, 31.5888916445, + -52.2057754767, -51.8187552856, 12.8069170133, -44.4192811197, -29.6758641711, -39.2862559158, 90.7444415817, 9.9897923810, + -33.0089291278, -79.7506824464, 51.5840713006, -15.3414477161, 55.8773639416, 10.4014931469, -12.0825624913, 30.2487218486, + 13.4626458507, -41.6078761320, -99.0036616160, 97.2413199943, 16.2571104823, -106.6994082721, -42.5507290539, -30.6273488892, + -65.9180047092, -61.6996048814, 57.0455325157, 103.2653865169, 116.3758447306, -74.5041275207, -0.1164162789, -14.3978018054, + 38.0218224919, 127.8971402721, 5.4463615012, 78.8192543895, -25.6140607422, -9.2485898035, -48.8769533605, 34.5460968716, + -75.8820751325, 93.8969485430, -38.5976860109, 7.9177115766, -80.5122708885, 21.2658351542, 67.4252739338, 2.3783155124, + 83.9115322121, -75.0252790111, 37.9405478207, 14.4346316538, -109.9157163206, 108.9078208323, 15.7162891141, -82.1261022291, + -76.1782289525, 74.4747265412, -46.6029184986, -41.2456137340, -80.3895294383, -8.4118305522, -0.1933892651, -145.1576077775, + -15.4312649597, 39.2200199533, -13.6364330998, -25.8182203562, 48.1591475229, 125.4840761759, 15.9990051973, 76.3197750584, + -191.2988456723, 38.9117045838, -115.8653769258, 81.9245653626, -10.1602378212, 54.8635932256, -62.0258658391, 83.1033610875, + -4.8490223558, -54.6097329099, -10.9477363598, 33.0862207616, 52.7148056029, 35.4875411655, 49.1104822038, 55.9764111036, + 19.3458408685, 89.0606670761, -85.0457542002, -78.1726308870, 93.6580344148, -26.7125037520, 15.0835782513, 45.3860435621, + 12.4384130680, 70.5409358400, 9.8929034782, -23.4934005067, 40.6776169075, -65.7911681154, -167.1217168499, -19.4434798044, + 12.5047333259, -106.4886582913, -22.0096224479, -51.4306080664, 70.4101816964, 0.0684774882, -76.2887185579, 75.2064469835, + -63.0584107912, 78.4585282303, -20.2508456707, -55.6679838569, 27.4321350947, 84.1834097135, -10.3659243385, -48.4070302399, + 92.8062051508, -25.5124355326, -84.0473681678, 71.0714983360, 25.6083325312, -45.0808082818, -155.1967735998, 10.6420814804, + 151.0278845436, -44.2955308501, 29.5425559978, -113.6663161729, -36.5169042517, -72.3071551232, -26.8471044056, 15.6848246843, + -34.5750914935, -198.1775254215, 25.4131251136, -21.2604011481, -1.0414028296, -46.7191360308, 2.7446655943, 54.9295292750, + 92.4228624473, 54.8526054625, -58.0708705172, -17.5872514429, -107.1263606314, 3.8705217560, 8.9778481619, -6.0018700075, + 93.9938778953, 20.8072064757, 24.1862680085, -36.6869801034, 80.8573435056, 5.0571862502, 4.9644714449, 47.8862765669, + 35.1164783949, -43.2306708209, -70.4784884015, -22.9691864018, -13.9209248410, -47.9058355842, 69.2014224885, 36.4205028832, + -41.7969907806, 19.3910242176, 46.8411651043, -101.1964790621, 1.7651827600, 2.7058301870, -23.9427647032, -29.9388425668, + -85.3458953742, -28.9877302845, -56.3025916174, -20.8442568667, 52.2658233674, 16.2060641337, 4.4319659648, 114.0813888914, + -28.7002125175, 49.5308227691, -30.0766397744, -61.6828255791, -49.3247835301, -26.4413883089, 5.0971297500, -28.0554103014, + 42.0857897882, -47.9552784036, -42.7903198462, 87.8376670399, -140.5238322306, 101.5731331285, 52.2212327660, -22.4010751415, + 14.4300378085, -51.6886150508, 6.6829221172, 115.9640673493, 0.8066647921, 79.2442610587, -18.0322597688, -93.1043520771, + -72.1150120989, 87.2886742511, -25.4133998112, -7.4831361426, 33.0287073819, -23.1984191566, -23.8078728472, 59.7504642008, + -0.6923320155, -12.4892802407, 38.4436035475, 100.2867176437, -99.6305730687, -108.5810851604, 9.7451186318, -43.0333845061, + -101.8397764566, -50.5229450341, -23.5177624889, -64.5537003712, 174.8259413987, 80.6820828046, 156.0492701171, -28.0432391315, + 54.5458337882, -9.7039186394, 0.3967891057, 37.2171179706, 53.0918819026, 95.5734474731, -0.1572821866, 35.9295265728, + 52.6110638216, 65.4681244336, -58.8893064188, 33.3094740223, 23.7248112965, -86.1001662411, -124.2990486005, -53.0143407367, + 60.7137702328, 16.7099000008, -16.8984625777, 92.9154007512, 19.0020902188, -60.8943449371, 19.8803437206, -45.4933609435, + -37.9759751454, 38.9546342412, 112.6564725638, -20.6282048911, -82.6461566213, 33.1634895891, -14.6466202774, 70.8258934983, + 22.7763755890, -23.8551537513, 38.0027621248, 13.1891619540, -0.2512849813, -22.0294650280, -3.6017925014, -80.9408522816, + 2.1581228675, 35.0316749727, 1.4313916959, 7.6662501879, 95.6789578890, -25.3147779279, -11.1001968711, 133.3263412000, + 57.3919237887, -114.5247973399, 97.7159374781, -25.1589170064, -28.2795559691, -78.0626694271, -25.2625001068, 59.6669532190, + -24.8854138846, 15.9627092698, 52.0951356726, -49.4931272094, 32.2981549802, -45.2155042278, -117.7954359551, 71.9214384433, + -12.0100960200, -85.8922139632, 44.5277402755, 45.7283733108, 153.5133743833, -12.2908386291, -16.7857892861, -34.6184196532, + -56.8327470259, -5.4780874150, -38.8725168650, 4.6060525978, 20.3207039309, -3.0993047411, 10.1132085358, -37.8257661018, + -5.5665784625, -69.5263241776, -38.3990002707, 55.5634953442, 34.1515898646, 25.6046582443, 49.9096070185, 23.8082590350, + -59.5259871997, 53.0128767406, -14.6534382681, 25.3901141454, -20.2689398092, 112.6721308068, -44.3928586231, -46.9200544069, + -102.6597110918, -35.1087345365, -16.4476118027, -56.5493022087, -19.8752899545, 112.5790185345, 13.1594262867, -98.3712667207, + 84.7454129819, -32.0001239970, 33.2615003229, -70.2186017880, 129.5580075545, 14.3022334321, 53.5329352657, 165.1115533783, + 42.9337492453, 3.3467665656, 5.6916538476, 30.9878624742, 43.0083773411, 83.1082949362, -68.6733601131, 129.7158774740, + 0.9829430504, -73.5779156249, -0.2190628113, -66.4832285128, -18.1621332482, 59.5591274811, -47.9030207223, -33.0134331016, + 8.2663047608, 13.5843595697, -124.6750162116, -119.5553229429, 6.7914845141, 17.7380901732, -133.7630184698, 33.7185572623, + -31.1975924142, -55.1798482215, -72.6025491416, -65.3245960982, -8.7224630378, 27.6488501343, -79.6246723592, -12.1515699989, + 84.6626846949, -53.8044373764, -47.3237819756, 58.7153917563, 23.8284036126, 18.5922606945, -41.5094930442, 7.4798082503, + -117.3348631592, 28.0374584580, 17.7205965437, 37.6075060837, 10.5295050958, -10.2113391455, -25.4289536763, 80.7158011723, + 134.2497737713, 107.8649950212, -8.7918461736, -99.0628159937, -28.4975407702, -2.4658161692, -1.0354059017, 3.5152634039, + 34.3665501560, -87.6859371958, 33.3653060530, -45.7175591636, -65.4175088722, -39.9650581770, -57.8964432706, -74.5229831900, + 38.4192570282, -93.0015200930, 102.6189889638, -15.2156059788, 8.6020521359, -40.6649198594, 19.2140495475, 68.7122869639, + 43.8544891050, 31.8559705108, -56.5147934081, -76.4182242061, -20.7528009745, 122.9729619714, 19.3412487106, 119.2231188878, + -61.6916564137, 19.7466881922, 1.9628648319, -30.1476626231, 26.0368611826, -25.8750640673, 126.2461067518, -38.3759348959, + -21.1488548859, 9.5896772329, 60.6570721102, -27.1555851824, -82.6629073502, 104.2859535395, -17.1669088713, -104.6106452933, + -45.0398334945, 43.2080892320, -87.3425077484, 0.2033770682, -25.6876572199, 79.3659499889, 29.0973624285, -23.8554325099, + 25.8594825320, -65.7761031112, -3.5831773610, -7.5912426740, 98.1472561219, 13.1498139916, -13.6564623410, 56.9471294530, + 3.7663518315, -75.6123083481, 44.5806865445, -17.4609911479, -55.6387091480, 44.2177387420, 34.3752520512, 91.9930112408, + -102.4716789145, -40.4480770016, -14.7542706842, 80.9321121716, -67.9012532377, 74.2022584642, -39.2995936367, 95.8528505885, + 107.5716319470, 8.1259867727, 114.9534060173, 96.1080490303, -30.6405288182, 27.3131447051, -22.5066083621, -7.9447818944, + 25.6505787602, -67.1523588791, 65.7872616460, -3.3285011027, -1.1041085569, 74.8921702514, -25.1084011697, -9.7589516985, + 126.3993857146, -70.7299876677, -22.4069284847, 15.4150555050, 6.0494312782, 14.7172132463, -36.2348351724, -63.4858079910, + 8.2207526905, -101.4967633400, 12.1832438786, 49.7125534112, -99.3127122046, 49.9528617888, -7.3125598688, -22.6006580462, + -31.8424104370, 18.8121241410, -89.2005207726, -89.5613310067, 37.7746014303, -33.8940703850, 98.1050260145, 132.6754622940, + 91.4832076657, 48.9724771421, -52.3241324047, 73.9850811745, -139.5294058433, -14.1985477071, 10.6320943394, 32.9842589505, + -117.2355637537, -149.0942826923, 118.8257377105, 78.6561766800, 1.8467003036, 76.7457523519, 35.0575934280, 35.0405067972, + 46.3433191288, 51.5391456892, 43.1210412216, 21.6828221089, -24.7058117089, -83.9863281328, 7.1502359525, -66.4432335170, + -11.8942947461, 27.6420249691, 101.5285396899, -168.7093966612, 38.1892453170, 55.9668521894, 64.4854368465, -32.3167099392, + -37.5824582463, -25.5064561372, 107.2513163415, 9.6344685960, -44.9269370404, 10.4288908869, 46.7640176210, 33.7300219820, + 19.9212664361, 70.0213390428, -62.5237740415, -81.5465118244, -44.0793815204, 92.2566857417, -51.2000490212, 6.0091571611, + 30.8037109068, -44.7595662927, -69.6108606342, 64.6862483343, 33.1742048387, 55.9059849044, 66.4985799238, -48.2816133661, + -22.7185185172, -114.1511261421, 147.5147842854, 9.9781895463, 8.0732325157, -35.8047978931, 75.9079000901, -6.3144641143, + 13.1307658403, 17.7593379387, -68.0746602967, 81.4962779846, -21.2130737883, 4.1881456029, -53.3976620104, 73.0143978370, + -131.1048524173, -34.4396004841, -48.7367342675, 97.0896245872, -153.8743591626, 146.4347629539, -23.2984615872, 62.8412359714, + 12.5390587557, -3.5600971161, -6.8863206565, -43.5270424219, 32.9707655033, -103.0889331877, -64.0535042805, 106.9215904598, + -46.9078727795, -18.2192480137, -8.6225312780, -75.0230233110, 33.5402016456, 63.6373276750, -35.3286634556, -9.7322691960, + -104.9070709198, -44.8063768563, -10.2396474262, -141.5682333490, -41.9856066191, -64.5568181205, -105.7644577258, -34.3266130311, + 18.7442551407, -6.1736131415, -25.1300038952, 45.1470563965, 74.1676313724, -21.5064254542, 70.6267797692, 54.4904113618, + -35.0016926163, -36.8626539144, -36.1085281705, 126.4456731006, -53.4352000664, -42.3833008015, 80.0205785607, -5.8395042605, + -3.7163929006, 99.0418697430, 67.5450923850, -71.2740732169, -57.7639750215, 28.3495782004, -14.9114371149, 68.2395578146, + 19.9391412722, 0.3981730821, -67.6429500835, 99.3355729015, 16.5267218873, -63.2226829304, -18.9357631878, -2.8614372915, + 181.1332468568, 34.7347222636, -16.1060495743, -2.8148621786, -45.8170675798, 43.3943251920, 28.6117124005, -33.2361768688, + -38.5248849741, 49.6677439095, -220.2210251040, 39.4305879349, 66.5483442468, -53.8217192052, 67.6757901350, 33.4240885070, + 85.1809128375, 14.6803329701, -35.7116442076, -45.9462851452, 142.0722968061, 7.3538820438, -74.1993826074, -47.7693348567, + -3.3338017336, 41.8589920225, -27.7802513358, 81.0798842587, -35.2219569758, -22.2714108513, 20.5772883573, 68.4758687172, + 51.7089964364, 25.7997568352, -75.1742154071, 50.1290455164, 14.2169709710, 115.3455403147, 3.0734091132, -24.0080167664, + -30.0430862767, -85.1846499745, 19.4251899965, 66.7660313085, 10.4964191964, 191.8810766140, 44.1684279713, 75.7858859863, + 19.2241630741, -16.1074277656, 30.9051369625, -103.4147225746, -9.9194221597, -13.0669809072, -14.3302540445, 49.1519159556, + -27.2523237365, 127.6868804216, -85.5747904513, -40.1209192492, 178.0522707351, -73.6864713410, -36.6342055327, -99.8126854419, + -41.0696248653, 42.1245867015, -4.3161823048, -13.2747008746, 119.6002869940, -17.1335931288, 62.5993425061, 28.9992320778, + -4.5368180858, 1.2779053761, 27.7084888678, 34.8899603537, -30.6048794059, -93.8465401416, 3.3778313360, 13.8864217937, + -62.3784185879, 27.6165516418, 6.1885364328, -45.2772604479, -56.8928574665, -7.8629078173, 47.5072063672, -47.7279779449, + 116.3659358841, -108.7063603401, 6.8435296791, -4.2310899521, -48.8520623760, -42.6788172675, 28.7598264712, -45.5725981159, + 5.3364646966, -8.8259790870, 53.5478850699, -93.0251963014, 37.5833785601, -5.7207089841, -36.3899380994, 21.9593949993, + 27.8919793663, 50.0242670536, 38.7060750441, 13.4383538753, 24.3284938604, -66.6706972814, -75.0556788531, 46.8080800007, + -76.7685518979, -110.1823907916, 117.3556114385, -11.8794346783, -100.5931552045, -81.1814329321, -11.1946927034, 65.9117165560, + -35.0871947675, 68.9890931402, -10.8170265109, -76.6397320929, 40.0628004769, -13.8876229441, -47.6413458333, -82.9301597006, + 35.3601089866, -27.9439892787, 93.1557477015, -43.0973522277, -28.5635146727, -12.8419650369, -19.2552737753, -104.4730738934, + 51.2133027222, -80.4713372457, 82.8904666296, -32.8693411980, -55.1514350588, -32.3215790447, 15.3586714150, 56.6281953096, + -4.1845768663, -21.6039139687, 37.2300232632, 41.1966104813, -18.1197213904, -43.3281929812, -39.4358705806, -68.0037577582, + 102.7052778200, 1.1074295163, 148.3224324741, -139.1640107475, -33.1782275394, -49.4813361135, 33.6935341991, 57.7540768190, + -50.1484966873, 25.5452659987, -58.4535765464, -124.3028152080, 46.5749355946, 88.3984919306, 18.6343901041, 27.7237147347, + 7.4621558601, -45.2696342528, 6.2181991419, -124.4793150492, -34.3600196858, -17.2893599431, 10.3880081085, -34.6584762030, + 80.4621681009, 42.6698890316, 41.0028635312, 40.4584805162, 12.2993857558, -2.3438124814, -49.4434262439, 67.7382058590, + -172.5728037457, 78.5681808033, 93.0200717559, -34.3893038739, 25.4332764674, -0.3084790746, -47.0942986345, 67.8054627172, + 122.2738316110, -84.4716788862, -15.1596922578, 73.4104827953, -26.5231401219, 53.5433793756, 121.1802722337, -24.9087077008, + 65.6955157778, -100.0325133938, -5.4645525511, 38.8338919462, 38.6764256003, 7.4857563167, -84.0517801108, -38.0837770598, + -35.8795970303, 42.8800471728, 166.4026567891, -45.2596493921, 88.1539836076, -84.1569136898, -44.8705239205, -112.3135915515, + 76.9816499152, 53.5768624176, -106.3408650991, -17.9979586956, 81.7718580719, 144.1648782825, 45.2239065385, -50.2094826104, + -14.6605194110, 57.1970152560, -23.4826391767, -27.1562674435, 110.9001894435, 20.1915788307, 12.1467090660, 16.7983072789, + -34.1257273005, 129.1575417206, 71.4391384766, 32.9596044485, -41.1052127849, -48.0458686558, 0.8731114023, -34.4439480200, + 29.9076993320, 68.5240097999, 78.8047480081, 10.3252970915, 0.3515809390, 73.8823954039, 44.2008862678, 72.6737200450, + -13.3069689810, -25.8971947295, 16.9120909673, 53.2843809510, 49.1074875555, -68.1235965933, 13.6903318056, -14.7046510890, + 1.6746416299, -108.5007545621, -83.0295464360, -3.7524687555, -14.4088682542, -138.1935697707, -19.3679003715, 38.9142288940, + 15.4764570005, -2.9192486908, 43.9598275111, -34.5312517096, 35.8385011650, 4.4981476232, -1.4454488029, 71.1184852411, + 41.7476890934, 37.3368072067, 57.4916368307, -32.2735282446, -27.5080391474, 95.6899861001, 3.3351685514, -111.9822940053, + -12.5463248694, 39.8668835259, -14.9822708781, 66.9305141224, -197.7731587893, 27.4387742251, -25.6710982597, 13.5207634746, + 50.2848552534, -30.0418256053, -14.1615451430, 68.0658302876, -62.0642327357, 4.6615575342, -26.7572433532, 11.5079596851, + -57.9473530742, -26.1405191819, 70.4111692091, -95.7407842078, 11.2517762488, 100.2275069926, 85.3653529140, -24.6494053691, + 123.2413542720, 21.3040690490, -192.3747625981, 215.7057282840, -29.9835524152, -44.6302014167, -66.7559203920, 25.3479943282, + 126.6443711753, -36.7355336011, 29.0095532019, -73.2298015066, -5.8223869363, 11.9451128557, -17.3486371102, 50.0400958000, + 74.7145985867, -5.6976135921, -73.1829497279, -41.0455578170, -3.6001825808, 87.1662509692, -39.1602156793, -41.5727119025, + -18.2071856447, -3.5383471563, 28.3732842092, -39.9931298054, -100.6902365532, 130.2869328357, 3.2473773399, 16.8387727072, + 62.0055283576, 97.3165730637, -40.8530624130, -12.0491532592, 88.5164060609, 71.9344891420, -69.7440181255, -51.2866033193, + -18.4687017548, 55.7346964760, 4.4872782938, -6.8942183136, 8.4263132246, 18.9149616636, 58.8710265459, -17.7415034047, + 5.2927869482, -20.1947447871, -36.6005304743, -67.2193634013, -72.8315856033, 139.7216799221, -2.1966369437, 83.5189402317, + 56.0625496338, 57.0100118287, -9.0542670182, 58.3126231383, -27.9316577822, -125.8146267036, 77.1179593561, 99.1690581411, + 7.9703321651, 77.3501770612, 32.2815633360, -22.9643212257, -19.8653554993, 55.4837678464, 10.8929872542, -1.2452363726, + 83.8477026208, -88.9116003335, -44.6537617432, 11.0099195187, -33.7736999447, 44.2766753802, -27.9436876110, 16.3088473703, + 45.6564921145, 18.9199921114, 77.9125802822, 11.2795611793, 42.8571148149, 32.4846418196, -2.4014655924, 38.0598657284, + 86.5222537258, -3.1333316838, 11.9141807475, -2.4712869557, 47.8938116812, 35.4899843246, 42.7527497689, -31.3225362175, + -6.6842304948, -133.5691427053, -58.7043550030, 73.3503470631, -21.8739658759, 70.3809855428, 54.6113598087, 9.7384709498, + -141.2343505501, 27.9788413890, -11.7574685128, 43.1029141674, -52.0045609619, -83.4803133516, -57.2548505744, 52.8114424452, + -30.3458066567, 39.2081027670, -49.8609769923, 68.8871987820, 45.2005862545, 21.6377482234, -9.7576398020, 6.4878505019, + 32.1853134925, -25.1448500950, -67.2234044003, 103.2446765175, 80.2584971166, -68.8710032588, -4.2141933840, 23.7223935599, + -35.1939439880, 63.5237841071, -34.7833780059, 74.4175406287, 83.0373073374, -28.9674699605, -55.2233708526, 64.2239365944, + 6.0025041292, -22.2149197781, 29.1954442931, -35.5058495139, -76.9452133862, 34.6912996871, -51.1833830895, -49.5201882461, + -7.6144484864, 116.8549382108, -51.5005710672, -20.6783396225, -97.1232859994, -6.8466290384, 59.0410141864, -58.4613374526, + 74.8248237895, 75.2714612487, 23.1797286361, -2.7866665487, 56.4240759131, 60.2417537402, -73.0762506733, -136.8520754748, + 27.3836498800, -29.4294016791, 58.2863141991, -15.7937240880, 12.9792729458, -28.5369095369, -179.3559659693, -99.4879434608, + -61.2402838269, -24.4763496292, -22.6643525306, 24.4590321501, 98.4299041736, -4.5624798871, -59.3191765161, 139.6951240672, + 27.1672202072, -70.9192843433, -18.1408458038, -71.0174628677, -94.0725395768, 36.1985844031, -3.4636448040, -39.1453082944, + 40.5244522827, -70.0489070024, -63.9181488122, -4.7099187837, -33.0844286599, 31.8161456785, 10.7843286816, 10.6387816259, + -76.2043252282, 57.0254136124, 151.4166547223, -50.6728456416, -82.4408455004, -55.4932097322, 15.9101565878, 15.2777050730, + 25.0235583008, 44.4425994137, 36.1343164402, -24.3058262644, 17.6630395266, -62.6364549232, -40.1045046999, -3.8451609954, + -107.1141779059, -50.7347331775, 90.5704587068, -59.5674315899, -23.9371281478, -59.3738147851, -29.5056040676, 26.2990433281, + -33.2953407976, -92.2663237623, -25.5442696217, -81.4532880743, 42.7268859073, 75.7986045911, -31.6772573595, 86.8684653590, + -61.5786934151, 32.6176822340, -23.2321244436, 64.9301578846, -6.9691761031, -51.6553861957, -35.7877314260, -41.7444743167, + 108.3757802905, -29.4164640263, -18.4714648512, -82.4131988957, -52.9499171074, -35.7687451877, -80.5212521683, 40.1558185933, + 80.9139882507, 0.4170638335, -52.4487435334, -69.0227900586, 55.0806458770, 120.0318572894, -11.5435935376, -19.2791170530, + -3.0257623065, 99.3958103659, -19.4539047939, -54.6600691116, 0.3603986276, 9.7863628822, -6.2358897021, -17.1143829423, + 7.9650683489, -27.0465697723, -45.9436029022, -36.3352947671, 138.6511673472, 47.8115852675, -10.9612291181, 3.6500932948, + -19.3477824988, 28.7386285394, 36.0065971791, -43.0822654618, -43.9342369010, -32.1210042559, -70.4441432492, -94.9421856551, + -120.0449164046, -65.9803176675, -55.4329926958, -19.2914305328, -89.4078846739, -30.1962221428, 61.2293835442, 93.7229961578, + -8.3020564344, -6.8386266801, 21.4975406760, -15.0903918291, 94.1044891682, -57.6380884034, 16.2327931770, 1.7957525957, + 74.7073719610, 26.8908104028, 76.5155513347, -9.6822139478, -8.0655893270, -48.1277441855, 9.8408952157, -58.8121626519, + -80.9751650730, -48.3302191201, -27.8207839032, -46.1625778067, -33.5567739103, -109.4477338693, -168.5366005131, 156.7874587017, + 8.5940307118, -21.7826451231, 12.4113841726, 86.7850811554, -77.1019195511, 32.3109085681, 86.8849726762, -41.2571797820, + 19.6006773321, 31.2507123002, 41.8106047980, 101.5445768198, 51.5335715773, -185.1354355374, -11.0825031251, -20.9631685642, + 111.1640505949, 162.0618916128, 3.4498453592, 44.3198102843, 0.3505982148, 21.3783009799, 24.6853218910, -20.3399016930, + 59.5923416012, 79.4334110932, -78.7723219668, -47.0670061218, -128.3114982420, 92.4340029556, 69.1584534808, 114.9437583487, + -64.6124706594, -10.2486262273, -1.6622261589, 50.9747480555, -8.1203432808, 32.4414442459, 84.9091411511, -17.9846748341, + -14.7172591486, -27.4203006303, 167.1594042893, -25.3372000386, -27.9888042652, -3.6956600039, 117.9111608126, -25.4132038904, + -42.2923300579, -95.1602974120, 19.2625367900, -15.8766055664, -8.8117613783, 1.1964763941, -111.4791843369, 81.5745053342, + 8.7527287102, 34.5972180603, 83.9461794412, 50.2350993915, -19.7720255327, 53.8516694944, -104.4119088056, 30.4513918056, + -62.7649123620, -29.9513577664, 7.5719075796, 61.4944149393, 70.5737863978, -40.0358428522, -17.3629194898, -10.7304848224, + -60.1358805635, 46.5402792333, -77.1330673251, -86.7606311649, 22.2000151841, -33.7006112473, -139.9917432329, 138.1567785372, + 18.7396823616, 28.7669927272, 28.4680008506, 7.6199316893, 121.9175024680, 32.1111318802, -58.2808504609, -30.6563801124, + 44.2365370915, -83.4728239003, 64.0531120026, 128.0019381122, -40.3205961091, -62.8035436979, -15.6689887241, -6.6975189783, + -46.1591606362, -42.4253060115, -71.6473279718, -75.5337463898, 87.5058573621, -66.6145644703, 87.4635891068, 123.2852237793, + -0.9887550633, -9.6307226422, -67.4478350330, -86.5892204275, -79.0537798176, -107.7863332665, -8.8330234138, 38.9605563706, + 15.3133829507, -54.4231514572, 26.7406100788, 48.7962706395, 27.1443310148, -2.7894277223, 7.1469114703, -57.1657209995, + -90.4215183139, 76.7797176290, -19.2239853483, -26.6041739391, 139.0298606143, -36.8837362822, -57.7952841108, -135.9897057237, + 4.3453829113, -5.1660378716, -58.7046205842, 58.4176557979, -120.5866252228, 34.2409281832, 105.6219016158, -28.5323871865, + 11.0598518159, -26.3069115094, 87.6681723683, 70.9393661419, 54.7982850455, 4.0477327154, -89.5568838538, -32.8993562613, + -45.6708773935, -52.9428269719, 14.4126898406, 39.2142079784, -92.9447367684, -23.6977408094, 8.2507547267, 77.1071852874, + 24.1675316234, -159.7349628761, -13.9551749672, -67.9761692092, -30.0410317845, -24.6060572570, 52.6662467162, 53.1957816963, + 16.7992222346, 51.7621999618, -9.2959681635, -22.0395789118, 63.9887836127, -15.4794522124, -59.9041019732, 0.5489176194, + 78.6395685166, 134.5366929272, -6.8712023878, -25.4182816023, -94.3014920612, -120.7349462621, 15.0267811895, 64.1156824538, + 72.0730568718, 36.1969392849, 37.8409183719, 23.2904067106, -65.2310984397, -174.2644489990, -19.2228520790, 27.4717232382, + -59.1645079992, -37.9473607579, 49.8799507321, -79.0510884528, -28.3803465367, 20.3721781567, -0.4261835910, -35.8489167205, + 105.4583901558, 59.5722685004, -61.0197468314, 31.9348090719, -71.9443219028, 58.1935525762, 24.2368907755, 11.3281193558, + 73.7442066031, -58.2463274873, 62.2364089748, -22.1662416753, 80.8054311590, 1.1123457543, 65.0742762981, 34.9247990206, + 104.0897515469, -17.1726872127, -55.1967923359, -17.3070263921, -113.2466807440, -34.0273063199, 6.0065175641, -73.2050951521, + -46.9298900117, 42.5522795079, 89.6038769626, -13.3758161339, 20.0379230047, 44.3053936382, 38.7871513797, -96.5643124661, + -164.2750976118, -37.6742328774, -20.7444978754, -57.5075374112, -82.3747950875, -148.0525559565, 23.1385046849, 6.3810748790, + 26.2079771260, -76.0359611120, 49.8590173195, -55.6975098542, 63.1577456002, 131.5982420723, 46.7778921481, -60.9806982634, + 71.7495044841, 4.3127212188, -17.6552774593, -32.8038637189, -77.8751385740, -38.0621029989, -10.6340276560, 16.6596173712, + -67.3032141305, -8.7994716202, 50.9412272541, 49.9717453353, -43.5703597564, -49.6853674924, -95.7205166501, 40.8765465419, + 14.2287448407, -27.0614166095, 38.0714114583, -35.8412172130, -78.5197707657, -25.6825367235, -0.3120778923, -13.1591053910, + -13.3423425539, -88.8689993653, -141.9490353220, 15.3348435554, -1.2351271212, -12.5689032236, 63.2692606259, 92.6940600989, + 30.9761753348, -14.6354581107, 50.0664499041, 22.2230304376, -128.4011635209, 26.1869851104, 8.3304256738, -46.1344839419, + 68.3461812478, 143.4759863425, 163.6742650341, 55.1856555010, -60.1365810845, 74.3895957960, 40.2227984754, -11.7394255168, + 55.5453683738, 15.9202002202, -113.1213822368, -85.7280046039, -39.7263088573, -2.5339105246, 41.0492866970, 45.3079876954, + -99.6701239491, -29.6980232319, 18.5340063985, 51.1922973890, -79.7372970167, -13.2393250851, 14.7419728226, -4.8211133780, + -35.5172595564, 99.3966537203, 20.0590181900, -12.1081446475, -61.9594867060, -72.2256752476, -13.2936631274, 128.5345002108, + -71.9401693778, 31.6533870911, 50.8594991278, 25.1808453324, -33.5538293275, -42.3935228996, -20.8053274690, 16.2131527996, + 118.9172555234, 89.5930952748, -65.8274795934, 47.3384633282, 122.5406901256, -66.7549348343, -54.9185037426, -68.6601805746, + 34.4675543582, 104.9323617738, -57.0880010038, -43.1248502597, -2.0601370211, 44.1682882967, -89.1023577428, -35.5506312941, + -10.5170036504, 9.6779403375, 78.9291026934, -31.5855420521, 92.7949646880, 31.3559964123, 12.3617000392, 69.2326522660, + 3.9119449943, -36.5330788106, -44.5936841393, 45.7052258609, 10.6224387668, -24.1159570162, -21.0651270325, -84.0415379963, + -130.5857682422, 13.6064059568, -33.6699927959, -26.0082360265, 29.6219265142, -47.8318612795, 19.0742065634, -52.3410098996, + 32.2488186667, 8.7112925773, 68.7336792115, 23.7944448682, 99.9050365463, 8.6093548114, 59.7174217811, 23.0796589837, + -113.0722961466, 3.5971633707, -6.7890993972, 30.6764504710, -41.1295367209, -24.9164165484, 99.2386401122, 113.8333026527, + -38.9562599796, -55.4108562109, -94.4601804558, -31.7511549793, 200.3462283262, 12.7517487160, -42.3353937717, -51.1991446233, + 78.8520856510, 20.4131030912, 21.8102532347, -51.7944815361, -21.2191019005, 33.8300001131, 135.8377663961, -31.0221091170, + 65.7730407411, 82.5117419278, 27.7816244812, -10.6724454248, 26.6179164033, 64.9214169340, 44.6475686302, -29.0683019634, + 2.0965746914, -10.0085359932, -29.9021362947, -38.5046703557, -23.5486473509, -44.4560504617, 7.4417079380, 47.2393973843, + 37.7344798725, -13.6323296763, -28.2713540400, -12.2494841889, -113.6616109440, -4.4061813255, -84.4155850685, 18.2000114801, + -37.4375420019, -15.0025190330, 33.1826857536, -7.7672966949, -41.8570537108, -61.9447815201, -20.5430470077, 42.1225812423, + -4.9372231166, 80.1718433860, -21.7502429381, -107.1994683407, 39.0450370860, -13.9605768571, 57.8271065756, 100.7288025395, + 106.0257089013, -94.5099462535, -52.2425831475, 3.4251117300, 37.1163293092, 20.3088713026, 27.9957748777, 55.5881357120, + -49.9425573612, -74.3122437274, -45.4384442770, 28.0519415044, -57.3995353506, -34.0343398092, 39.4842857378, -29.4934441942, + -42.2931922612, 75.5085698437, -9.1579964746, -88.0001960638, 32.2921191297, 130.2295801645, -77.3690707106, -26.5699179687, + -98.7746128367, 15.1111986863, 84.2856839075, -91.3321816766, 75.0539365102, -22.9577135979, -58.2687890669, -16.4158023440, + -143.1190919220, 45.6864012367, -148.7549620241, -87.1075640764, -26.5968533502, -69.7944158144, -34.2978456494, 35.0769663698, + 4.1465107386, 69.0864439105, 22.4789950234, -48.0182401768, -14.5783104039, -61.0550243844, -4.2380948973, -194.8804104528, + 123.0819765947, 48.2017401505, 78.9508457466, -99.9736614294, 32.8340209984, -1.0245301508, -17.0041736706, 35.4641249127, + -33.3575407148, 192.9072183682, -42.9604868802, -51.0374996711, 77.1464797096, 66.0548981845, -61.4282764621, -114.3126571027, + 21.1118181552, 85.5335633765, 27.8488718530, -62.6421354515, -57.3557048619, 41.6670106942, 16.8928119140, -40.2432649132, + 0.6390713008, -10.1237727904, 52.7534146685, 2.9801643945, -11.3804175086, 119.2039503951, 46.6809821778, 84.8768259311, + 29.9865105951, 57.8288066379, 107.2625212828, 28.1456885969, -120.3755566725, -17.3802551503, -40.0564653651, 56.8407045846, + 1.6793816918, -109.5072716396, -52.8897837730, 85.9453300669, -20.0298903469, 52.5871200627, 13.0362762617, 92.2325099999, + -6.5198193020, -83.9036654607, 58.5211535567, 81.1131330707, 57.7324249784, 126.0368845782, -79.8586002513, -127.7584493863, + 64.8736188900, -10.6521288269, -0.9851623286, -92.3945133485, 7.5244215841, 40.5886593287, 18.6445609457, 19.1117310556, + 26.5640714899, 22.8091685027, 94.3470412324, 61.6764800801, 10.8760679684, -7.9240673383, 12.5919458396, 85.0254983280, + -15.7186492832, 30.3331627482, -136.2555384486, 14.2342767573, -52.2232864172, -49.0105238845, 16.4028777072, 13.1934114315, + 67.2005286948, -11.5431941527, -126.8761059118, 28.4325197274, -5.2730565073, -154.2913406142, 83.8362133106, -13.0557850235, + -24.0425722731, -9.3049739156, -91.4408491189, 38.7967852392, -54.4364475655, -50.1728478153, -91.7628978624, -92.4046791871, + 72.6594194204, 36.9149973552, -89.5520370642, -73.4541912166, -83.1026853287, 55.8083893384, -11.3360468605, 8.0892870502, + 21.3963536134, -27.2804196146, -86.1680209134, 11.1581691823, -68.2490961721, 63.5960852067, -40.1782672381, -50.7929323122, + 2.4820154810, 35.6921504427, -75.6795637705, 8.6054661804, -31.1168448045, 109.0955889455, -76.2488069978, 5.0199927782, + 37.8749455521, 5.6982241556, 27.3294929004, -120.2473221866, 7.8826650171, 111.0369524326, -43.8497436507, -66.7312430666, + 97.7440071817, 49.1570048378, -117.8025876335, 168.0477524482, -55.9600221068, 11.1068434425, 14.0513599858, -47.4087780504, + 100.4504374216, 6.1074714956, 53.7678384486, 24.4635321166, -6.0835375669, -64.3592936645, -25.7780083698, -83.3530662624, + -124.9544432106, 37.5615380015, -19.2986773913, -110.0015552689, 121.7589202263, 4.3256928319, -101.6571157133, 85.6785418597, + 16.0474362836, -31.9024530060, -52.6323741801, -3.4440544641, 77.7351607744, -10.1741553840, 48.3997106271, 1.5020725442, + -0.2257709330, 68.9623795901, 9.4286729097, -27.6379770488, -3.9912724152, 44.9954087833, -18.7057514605, -14.7638693232, + -1.7397189655, 68.2217569488, 63.3439223434, 38.9512814941, -25.6642624084, 54.1881119719, -92.4999870174, -11.5788876807, + 69.0279357511, 55.8205676574, -101.8852049100, 30.7429453237, -58.7382928803, 89.3969596003, -44.8903243228, 2.0422419096, + 41.1330103123, -88.6692130110, 25.4298182542, 0.8899898304, -53.5428328048, -11.5755725623, -28.6132997670, -13.0337245663, + 52.8092078154, 0.0517964686, -138.4959804685, 31.6788581756, -16.6154597478, 156.3340569922, 93.3010192905, 32.6407669098, + 112.1297440517, -35.7144834638, 6.5534121327, 128.2382195529, 56.9609192462, -52.8328776011, -65.7950928061, -13.3541979410, + 34.2814367341, 26.0764152312, 52.6477198183, -121.6672795964, 53.8959085384, -64.8464505733, -6.6989481273, -164.9991018529, + -12.9977296783, 92.2198340788, -58.9488062177, -17.3136354080, -15.0065268104, 82.2346850297, -52.0081326057, -31.8754548129, + -36.3987954967, 53.0154983421, 27.4015508471, 32.8268124997, 113.6916804444, 27.8095494681, -55.1665416696, -16.4156645469, + -42.1439424759, 38.5634363918, -64.9312441199, 8.3884871895, 32.9516167667, -0.9395063314, 58.4852381959, 101.7397916741, + -104.2729685077, -14.9331020781, 64.4379817410, -5.6149495442, -69.4590669042, 128.5957740501, 61.9917796337, 0.5819416032, + -69.7790071374, -1.0381159167, 20.1469541660, 13.3351412916, -104.5227876095, 77.5294242919, 38.0641940199, -56.7585742367, + -9.1765854459, 40.3713276531, 72.6358559436, -14.4449566608, 40.7675499413, -93.5568526062, 55.8238199978, -57.5895140577, + -82.1737195067, 14.7561780278, -155.1331660454, -3.4741158421, -90.9790829737, -67.6576031648, 58.4505812875, -127.2647404391, + -52.6551154593, 21.5600272148, 77.4232312163, -100.1093952602, 50.2042564606, 11.9885332900, 34.2641380301, -51.6644779651, + -14.4960161445, 67.8496081597, 25.8195812544, -38.8690931971, -116.1556251224, -68.6610388123, 64.4060064748, -4.5039590319, + 45.4866635009, 60.6472857766, 121.0539185194, 4.8340889914, -37.3668396220, -52.4747123096, 7.6362446201, -39.8862759852, + 8.0139163506, -19.7768070929, 55.9705429761, -77.6639159836, -9.0747973730, 87.1299271010, -56.0307413158, 22.0261066362, + -21.4877846313, 73.7508019333, 90.2727567859, -31.8064851485, 35.5698971534, -123.1337229178, -115.6888113061, 40.8859379019, + -45.9826093754, -55.6481101801, -131.3553753176, 30.0527360996, 21.6632646479, 98.0105924807, -39.4117175619, -101.5958309784, + 2.4560883180, 47.0714688572, -30.5516644873, -123.2193558202, -81.2276105808, -35.2333787774, 131.7553150138, 74.1337100485, + -111.0162621392, -50.1520236082, -176.7180780270, 43.6099370000, -99.0730647751, 100.6783161314, 1.5420581129, 2.5889162904, + 97.2407277690, 5.5204254866, 72.0939017458, -100.0077732933, 30.1572971400, 19.1994437619, -83.8095901131, -67.5983524523, + 75.2270686194, 80.9252084407, 42.4611462166, -75.6376932185, -7.5820680566, -47.2137370820, 13.3547714942, -49.2227272764, + -101.2311839023, -89.9953284490, -59.5627585772, 3.5045401284, 87.8927289585, -45.7826497344, 10.7894222301, -34.2218214372, + 19.0101005894, -79.7412295513, -40.7129535835, 34.9745871635, 98.5275860299, -16.5088968676, 66.3460699225, -133.5365249144, + -41.4407293928, -15.3419046733, 88.7195803357, 5.1871004832, -98.0467809656, -14.1239743026, -1.3510821103, -38.6189020004, + 114.8822422747, 65.5094003215, 88.0532368083, -59.2540330178, 92.9429540023, 21.9133947331, -50.7728654894, -36.7011682133, + -16.9217654808, -110.7749962658, 16.6126865137, 116.3641432033, 51.7192473353, 9.8619033750, 57.3047648863, -21.0275512361, + 66.8618463429, 68.4016463402, 13.1978892272, 36.9294559769, 79.3415169994, -74.4235076906, -105.9928928366, 3.5485737877, + 35.3701917014, 11.0155135724, -42.5279468110, 57.9138782373, 32.4492657117, -2.5260836533, 8.2835364235, -45.2229140182, + 29.4655763679, 20.5830184405, -92.7731928028, -88.2155574314, -13.0181590718, -67.4752432987, 12.2964799268, -134.7795554776, + 132.5177768161, 86.4796490878, -170.6768976365, -53.7059277336, 23.6295211743, 100.0865623366, 134.6726479190, -17.6813528616, + -67.3925719582, -12.1986138778, -58.6920640259, -46.1769630250, 14.0012237071, 105.2386807000, 47.5923010830, -13.0446195549, + 21.4905427079, 89.4924853541, -1.6294776664, 7.0507819885, 88.9962812504, -14.3836298512, -14.5755536250, -158.3719830729, + -71.0421641105, 9.1510759791, 3.8541666430, 46.8853635172, -115.4505016964, 112.1915084832, 60.0579773251, -19.3568210670, + 134.6457467896, -127.7704101409, 96.1687814173, 139.4223376055, -16.4889074247, 8.7407981479, -31.8653460842, -86.1989364296, + 6.3138143769, 29.9691806857, 10.0215115097, 21.7539979367, -10.0119096873, -32.7662562735, -46.7114278488, -32.0468371287, + -104.9863919627, 164.6868132811, 14.2837511902, 103.8122395985, -38.3195610630, -66.2071289114, -42.7348265210, 8.1247796770, + -44.7642634909, -99.5977533202, -62.5669299697, -154.4713244845, -54.2004565831, -21.0505396466, -7.2304668445, -63.1457522254, + 121.1292664630, -41.2451342849, -100.3661302819, -79.7893865863, 2.9782522632, 28.1233518579, -45.4712133921, 102.1080223649, + 64.1668281113, -103.7410276784, 106.7427715753, 79.6231477604, 20.5960195618, 42.6351844699, -8.0432553021, -20.9274320455, + 44.7322739383, -58.6239231825, 21.5430765926, -32.7159508398, 56.5825012360, -99.4275633192, -102.9101109727, -83.9315736318, + 25.8630456141, -52.7504372152, 29.5673565938, 48.9111232224, 41.5578130085, -14.3606917295, -2.2040972437, 94.4661907548, + 132.7457583187, 55.3945646514, -16.7731026022, -46.5710214158, -29.3542289267, -14.2923094674, 23.0425873685, -15.5814746488, + 22.3570974017, -42.0180359242, -20.3430155274, -68.6338886669, -64.8088612108, -24.2988048174, -23.5299375491, 98.0364255786, + 3.9778504115, 65.6849914578, -1.5168129555, -4.8287346639, 142.1453945317, 78.2378704371, -57.3720730586, -19.4585389336, + 76.2735042603, -43.9459949675, 6.9426433355, -43.1451402122, -18.0751403348, -34.1054109171, 55.1204864738, 115.4516445351, + 6.5333541873, 62.4906581904, 29.9692177776, -33.2287635647, -18.9268908378, -63.0926292852, -111.6323734820, -10.8864814281, + 14.4649132510, -25.6871888082, -33.4308400890, 23.9756688469, 52.4567038054, 12.8701945894, -20.5116135858, -17.4241576687, + -11.8606594870, 16.8816614097, -18.7270784248, -6.2425768906, 48.5175154819, 1.7426978337, -99.3023967479, 38.5650914417, + -61.0127172140, 42.7784858845, -7.2257854969, 2.2847466905, -99.0066793854, 60.4060120207, 48.8064141188, -72.4258965295, + -50.7390478551, 95.1299230407, 56.4763356354, 35.4471698843, 60.4632441624, -95.6600449901, 55.9445226564, -28.1942324306, + 26.9826142327, -71.4404566440, 15.9270065277, -86.7110877229, -80.6677402549, 0.5529947734, -39.4989884635, 35.7914768080, + -22.6398243670, -33.2598314085, -25.7467291233, 16.6863716736, 80.3468995127, -22.5068845945, 23.6096621616, -99.4288845571, + 29.0662266127, 3.1265642936, 133.4725188269, 10.5889496669, 78.4289320034, 46.4143031925, 97.1026760967, -60.1768585008, + 75.4045199491, 14.1399143092, -87.6608741602, 96.8571208381, 36.1952990642, 119.9462706822, 51.7941617293, -10.8814477399, + 66.0010885597, 68.6769630212, 70.6032262575, -78.6614013388, -52.6711668148, 29.9772317807, -67.0938602216, -42.3207515671, + -0.0486165038, -15.4758823937, 56.6129710458, -54.2575866392, 111.9253009797, -47.5236184222, -95.6434531533, 24.9411667600, + 35.5636297407, -11.3487509511, 99.6377899302, 16.0125061627, -35.8881400079, 111.1220549938, -2.9395719970, -41.6388550114, + -33.4638181727, 109.8808145106, 28.1021441950, 118.2701610217, 51.8151816796, -19.5803207598, -89.9262515893, -26.6044307189, + 40.7320823989, -19.2602062235, 62.2560193625, 85.9346547334, 49.7871555519, -20.0313162309, -8.1831982988, 69.5820284092, + 49.2993116756, 34.9185452172, 74.7523126024, 145.1939754190, 7.4232669832, -4.5344572697, 34.0472547752, 41.4294110612, + -123.0758971920, -43.7705297332, 121.2820069260, 0.5435048718, 77.7764299214, 59.6928983371, -27.6522675298, -7.1273383508, + 26.7210269180, 4.4630452796, -81.8607570684, -26.3402136551, -95.7197230242, -7.3219091557, -82.4289458596, 77.4381232638, + 65.4006110025, 36.5844708644, 66.3796224839, -11.0118557858, 61.4481921771, 8.0694380153, 59.4652425227, -24.3765004167, + 4.9649042432, -28.5624154309, -78.5623599502, 17.8514494843, -20.9756518143, -10.1916814040, 11.5732283207, 57.9552418906, + -45.7612949110, -20.9482951666, 36.8160063004, -45.0567155877, 63.7098701462, 6.5938197429, 46.9692949757, -83.3299455774, + -88.7653437148, 118.8655843800, 93.1921951705, -18.1354337452, -40.1074391033, 44.0852297241, -41.1588703642, -105.1428083912, + -7.1420535313, 66.5491789931, 28.7643638361, -71.3690563573, 50.9039393300, 93.8257368698, 22.3478174946, -109.6001863096, + 64.0649017243, -29.4574274496, -44.5473845748, -132.8280128599, -52.8587533053, 80.0084510351, 21.4678106815, 48.4383573310, + 56.6158184924, -72.0365616804, 12.9911383411, 162.8295288963, 55.8780535954, 73.1821757559, -100.6826313435, 23.4262138290, + -0.5753332881, -21.5175209047, -138.1106268547, -80.7925993001, -28.1663114958, 0.9831816192, 30.7923417673, -51.9827613979, + -10.8794388756, 54.1022652480, 11.1686073161, -44.0592484786, 21.6987012718, -42.2412255611, -3.4936004646, -51.6421714543, + 15.8711886614, -40.0043968804, -6.1590232957, -65.9457642489, 59.0569838977, 7.4295907490, -12.6833895574, -72.2928299923, + -199.7835511043, -71.1580901042, -12.8895530614, 13.8448156167, 27.4808788351, -46.2542221592, -3.5153348434, -176.2019445127, + -48.6783165219, 70.2296726615, 111.7340160335, -60.7655899218, -138.1081385724, -35.3974788626, -65.7355628000, 57.9555341829, + 13.4670930872, -79.3318328665, 36.5016341422, 27.5574278118, -35.4004898428, -79.3903940148, 243.2421421265, -8.0268453199, + 44.0174931524, 68.8734465340, -80.7502038529, 1.3409036386, -86.0777878831, 37.1475406267, 18.1068167023, -56.9153447361, + -19.5224115764, -78.8474074897, -20.0747255852, 4.5850719720, -191.0686482737, 23.5318026769, -32.6675253287, 27.3087304829, + 31.4351407465, 19.6192337929, -11.8866458644, -48.4661089981, -3.1226120347, 20.0138411382, 29.8813799560, 67.9558437137, + 38.7174108080, -13.3022284820, 27.1121047281, -26.2954327750, 120.9542179193, 11.0555865630, -34.5895364072, 73.4542523467, + -26.6956937208, -108.0235037857, -35.7355716826, -69.8443555160, 33.3578766421, 26.3683815560, 97.2883332520, 133.5510498515, + 35.5415284008, -16.0495119378, -19.5483270675, 93.9985201088, 27.7795159179, -13.1059263368, 34.2311271533, 47.1466381795, + -36.4147469783, 10.4833119779, -5.2292656110, -25.0113244760, -14.0549947152, 199.8348526048, -43.2547698686, 98.4817969474, + 37.0586206693, 33.2121561269, -24.7170470026, -37.1349105091, -30.9578044903, -7.4114930133, -34.4807046142, -27.7773696385, + 29.2740921831, -61.0686554741, -32.4612619459, 6.7160769792, 3.1089599122, 12.2545595923, 62.6999428463, 30.5969686709, + 11.1423411573, -57.6502489731, 60.2408835918, -67.7203861906, -44.4518971003, -5.1109945114, 5.6528645074, -43.3456968092, + 117.8609487802, -24.2034537544, -78.4496201847, 44.5294780988, 85.1475013837, 15.5247701555, 89.7512668950, 54.3013774517, + -186.8510627600, -51.0482727175, -9.0267702018, 48.0681416363, -32.9759681266, -42.4456615266, 36.2738833817, 14.1610476535, + -99.8207994579, -11.5142692827, 50.1825860327, 0.3917737329, 63.3500370315, 111.2878444719, 91.6392406660, 17.6584451589, + -50.7899615175, 12.4221556654, -86.5413087906, 48.0563389410, 29.1384649619, 83.5027000186, 7.5729436929, 22.2136423571, + -60.2741473997, -170.4857658702, 17.0186844162, 136.3581532664, 31.5065683845, -96.2326886411, 72.4014182257, 26.1414887396, + -57.2844089463, -43.9781986370, -95.6611720182, -133.8830434822, 33.4938269182, -23.9156927559, 35.5520154186, -93.2468099373, + -6.2162527113, 4.5642492223, -57.5722591446, 71.8064120226, 45.1768685505, -9.5130102236, 110.5798720279, -41.5641619544, + 0.1835509076, -49.9128593949, 98.0154257393, -46.9365276597, -66.0935141873, 73.1727792846, 41.3353795661, -27.9960128980, + -44.2412816343, 46.9707404231, 12.3575979804, -122.9770710291, -11.9552135499, 31.4591712664, -14.1931325058, -6.8614191170, + -16.9763787814, 36.1520894392, 75.7352320923, -99.5121191729, 17.8024156510, 72.7923924404, 38.2259409765, 1.9325379601, + -11.1978607868, 98.2703853998, -38.0288299607, -41.7008273041, 80.4517499854, -116.8258848759, 30.7289872645, -101.9012423077, + 93.9831977796, 101.4530665010, 9.2763209169, 116.4425755502, 2.9739225298, 45.5019124654, -64.2956140887, 105.7408745662, + -11.3657606620, 6.3069096678, 122.8709609828, -6.3248578668, -60.1760116205, -35.9544630869, -68.0834090495, -34.8224305999, + -31.5069839788, 21.2614258718, -23.5546199906, -128.0293305211, -182.3893947839, -120.7110714918, -65.8822590864, -63.8215221762, + 56.7670203795, -61.2037205962, 3.8122259155, 1.0275735300, -64.6391642695, 75.8652993596, 115.4068637021, 46.8849792653, + -39.5505124775, 33.1187321149, 25.3372286880, -18.5375942960, 30.3953994229, 21.8836680766, 13.9924166006, -109.7038947262, + -24.2899011732, -52.7497505668, 35.3698361783, 34.1056231420, -13.8686663216, -1.7062295227, -97.5362177027, 74.6544677369, + -78.3935767846, 35.6517853160, 51.3830818724, -93.7778131463, 81.6700292143, 126.8070312922, -28.4470816468, -71.2638167545, + -55.2884800428, 9.0861240716, -128.9083303383, -16.3800803508, 34.5467745617, 28.9315662137, 84.3386694814, -1.7523953786, + 69.7727914393, 44.6546611575, 90.9897326057, 121.8059195607, 28.9429876729, -14.8591127934, 29.2818722570, -84.6318423838, + 11.3290830564, 40.7084140001, -50.5878424847, 68.2992258419, -24.7150040711, 41.8365599450, 104.0111319954, 70.6981835472, + 56.4709262168, -20.5343182666, -16.1886023808, 101.3482649415, 108.5356887852, 24.5240870510, -146.5152615985, -24.0194234128, + 18.0331846295, -5.1522407439, 4.9573388243, -34.7877468646, 39.3333900199, 31.8580232326, 111.7915751739, 15.3919610203, + 17.5179415363, -22.2065299595, 31.9496951848, -18.7368015481, -78.3621490938, 45.9954796476, 77.7231064126, 21.7258618723, + 23.3527631711, -136.8686653828, -22.5773174812, 33.6615614603, 4.8540113479, 3.9088571058, -54.7099788715, 85.8089519875, + -86.1460475251, -0.1247811474, -146.1793416666, 124.6659345147, -60.7858975441, 10.3154193265, -29.5514280889, 9.4667237048, + -7.9550953683, 37.5451209024, -27.1735194003, 46.8842847809, 41.9179936640, -23.3158010522, 157.3009890625, 113.2843306932, + -104.1727731788, 123.3854503767, -5.2055501860, 27.9879059133, -13.4163698144, 52.2833141248, -129.0969704337, 46.8881212895, + 131.1080768010, -19.0213767099, 155.5021671973, 20.3698150937, 37.2314029160, 40.8492644144, -35.6880906860, -31.7697839101, + -24.3255617048, -26.5610341544, 11.6187963194, -51.4990517524, 39.7825587179, -54.6696763219, -3.8497258220, -70.2342476864, + 4.9081928390, -71.4654689380, 30.7344594349, 32.7496322701, -90.9126087838, -38.3652430128, 92.4042844207, 47.8082836295, + 145.6802813070, -18.7426859824, 17.6059584845, 36.4864322344, -18.7252161480, 0.9615718128, -100.1282552629, -42.4349083923, + -14.3562238984, -46.8134065357, 39.6360915881, 22.7361846189, -3.2257803075, 37.2350125538, 115.6400099866, -12.7275184486, + -96.1855573652, -10.0276483356, 57.6455407419, 77.4560348751, -22.1178137498, -35.6022362191, -68.4831367839, 2.8390215747, + -52.0573070842, -93.4720169324, -28.9154032611, -76.6074307649, -9.9420438435, -6.1893105222, 29.9369590932, 74.7852614650, + -1.6201087045, -17.3703711090, -98.9790496449, 26.7869734481, 17.1602014711, -15.6928367417, -7.8035969135, 89.7887008279, + -70.6197502665, -8.2854282454, 59.3778733341, 73.2639493915, 25.8370203675, 59.1628124401, -24.8471900591, -25.8194366580, + -6.0751044137, -57.7489484697, 88.6706386657, -84.8771863224, -89.4840617668, 10.9763517990, -54.8378810910, 41.3410088555, + 66.6125927808, -14.1311991812, 29.3005546497, 96.5047091289, -3.3614374997, -25.8108903749, 206.5074424684, -61.4084159691, + -62.4923495769, -13.1959183651, -59.3730978039, -12.7173171637, 16.2427076425, 43.4296534191, -21.7657996669, -28.1531280594, + -69.0302418588, -86.4107750374, 17.1949881709, -41.3078350297, -57.6504646238, -5.0909583836, -8.1631298822, 1.3096980446, + -2.2508953688, 35.1942051704, -3.9027768036, -91.2713667132, 63.6694073039, 41.4248931898, 9.8384382954, -96.0978983961, + 66.1755919288, -36.7372549691, 10.2307178666, 80.7031291631, -38.2719834734, 39.2035878064, -43.1259903655, 93.4819414373, + 89.7247077937, 78.9891448344, 95.0983537363, 36.5774514331, 8.9972120390, -8.5755002664, -102.1337133375, 76.9830915294, + -46.7790015335, 51.0714648600, 29.5170917782, 23.9334813635, 5.2749838346, -15.9842728433, -1.3574532545, -70.2729088611, + -15.8039920242, 15.5313565190, -18.1312003682, -8.0084433716, -27.8087982433, 51.7334750530, 19.3370491919, 29.2520159480, + -68.6735151718, 8.0558008798, -40.2210320066, -40.9920576136, 7.8678303082, -72.3041306508, -10.2175986624, -35.1356797035, + 201.1586117629, 56.4352966867, 46.7221688254, -11.9012413099, -18.9833303926, -86.5023414408, -23.4675063576, -55.5806400666, + 153.4955981228, -10.1092363214, 88.4029573110, -65.9117133686, -5.4919562765, 24.5837979674, -33.5408574701, -4.0004157187, + 56.9848893304, -105.2177018084, 3.4948685307, -19.8452050090, -7.2453079498, 102.6389582052, -8.3246123264, -73.0861922381, + 0.9626940760, -28.3612950785, -11.1533678981, 44.2899763978, -62.6677448146, 22.3906970985, -13.3484872677, 67.0703918899, + 42.4772156970, -18.5244182335, 37.4759091463, 31.3496965213, -61.4436264287, 52.0955155439, 59.1486887940, 170.4906735140, + 46.0617455116, 40.1470772024, -107.3976903570, -105.4116725861, 56.8825181023, 58.5916397550, -58.1729962485, -60.5270235223, + -39.2885519005, 9.5965348817, -25.4354894441, -14.0981625889, -52.7234757042, -83.9105208881, 72.1797338834, -134.9219073856, + 9.6103094318, 9.6768962656, 26.7360474274, 41.7881752284, -15.3952839007, -0.1363655901, -47.0864221556, -8.2427253205, + -57.7373834528, -55.9508702650, -78.5284244100, 0.1655492302, 62.9160705153, 64.1068291282, -2.9136214436, -105.7842253662, + -45.8767944713, -51.7074257000, -98.8568902926, 64.1232083599, 71.1116077196, -30.6630666091, -58.6840707262, -15.9383894413, + -78.6620829271, 60.7529890099, 154.2357488637, 41.3625348402, 120.2872442705, -51.3125389772, 16.7881412988, -70.4938171347, + -79.4147805796, 23.5182282020, -81.0963234264, -59.2244948022, 28.9135530940, 92.5951342446, -96.6396527065, -26.4777264554, + 121.3094449527, -34.5951012470, -127.8255512216, -92.7699064191, -58.4398020189, -117.7542292595, 31.0434596629, 21.5299289765, + -99.9447239591, -16.0626333679, 6.0199864189, 82.4757175357, 22.5970205481, 73.5485760950, 35.7980568403, 72.6857884103, + 28.8479981590, -67.5538339177, 43.4071338656, -25.1893024527, 4.6130159403, -65.2605921685, -91.8752363625, 22.5520067301, + -109.9093500045, 33.9399454761, -13.9115156368, -3.1879928935, 1.3920042271, 43.3324348308, -33.3718525809, -15.9282931008, + 0.7677944075, 78.1072718708, -1.1063828562, -10.5413152425, 37.1290958861, 13.6823396336, -3.4014039018, 89.5388534365, + 37.7089705536, 64.0323076524, 44.7808982777, -13.5604762388, 7.5118173888, 115.2300447558, -9.1561273300, -41.5332100116, + -17.0088418256, 71.2713927804, 68.0422816650, 54.9551164038, 106.8830646917, -6.8316822423, -66.7609967606, -23.3894825625, + -67.4182747661, -28.3219951260, -15.9451114055, -29.7266619746, 16.7419712545, -20.5565859019, -165.5656221846, 116.3242135199, + 64.2626611081, -8.1360214710, -94.2273608282, -62.9983557391, 64.1759043922, 36.5449254036, -51.5697599431, -5.0466305585, + -73.2700815931, 48.7300029897, -35.5929303432, -90.4816448914, 16.8187764590, -27.9347950060, 80.7045416696, -83.6514663068, + -58.4556594913, 3.2348973759, 52.8657910284, 85.7278577109, 37.4138218732, 82.0512145755, 76.4606241856, -109.2162517858, + 96.6683439683, 90.7633843052, -53.1586977972, 34.4033331064, 44.2090456506, 80.1151111552, 2.7514790758, -64.2623287852, + 126.1409018754, -30.2423240636, -156.0079941574, -2.8027393737, 64.2513542782, 69.8534581189, -73.4708875363, 20.2217494242, + 0.5864357659, -104.6195300646, -42.8322649072, 26.3037603855, -40.7129474708, -33.9844594811, -26.3521525879, 109.6645932255, + -106.9356716414, 49.2118962107, 11.7512591870, 68.8969247665, 113.4583578600, -83.3347276867, -36.2485402256, 85.9855241461, + 104.0814868325, 33.5770186573, -1.9661285608, -132.5696804701, 27.6753215958, 21.1243350017, -28.0882593661, 35.2778527631, + 18.9175154387, 83.6190957901, -71.4962755318, 138.3285404575, 97.9134306607, -56.8042150595, -143.3089544841, -2.7340225658, + 17.5776154385, -148.2352087417, 124.9211804787, 59.4231271286, 10.5947124378, 68.5288310273, -67.2703544731, -23.7935515786, + 38.8787769309, 34.5294359419, -73.4536038751, 2.7126504728, 49.6972438051, 62.7223593643, 49.8175933904, -110.1534126143, + -14.6702420578, -84.0773525862, -92.6188033620, -5.5698102323, -47.9128909478, 46.7196485027, -53.6444016449, 98.5014752828, + -94.7519348776, 14.1323076055, -89.2719075396, 47.0296071172, 41.3919626390, -39.1489616034, -135.6499693540, -10.9475781700, + 92.7496269052, 37.4205820588, -51.7237524182, 49.9460461012, 87.5396720347, 32.8710569742, -32.8731769330, -83.4249720632, + 34.5762125072, 13.6808877416, -26.3766683600, -67.8728489559, -29.6073750328, -47.8030427727, -149.0587954245, -119.5774481626, + 35.2806694964, -24.3695409777, 48.7160766560, 8.8288204812, -89.3855803242, 3.1835611015, 51.9474587643, -41.8502161006, + -34.1035165420, 94.0854499359, -84.2224914514, 59.1627371631, -103.1905795588, -18.6082417651, 36.3103092592, 63.1937125568, + -111.1986222065, -32.0863426915, -56.7330383564, 32.5073363806, -7.1087996309, -68.2226145792, -157.6532604957, 45.2078386315, + -2.8603211008, 33.3371110420, 37.7846637198, -18.6405663742, -91.0982111740, 23.2221097945, -24.3522827840, 78.9413600618, + 62.8360928143, -19.9242767252, 56.5032728402, -5.5496240010, 8.6994906960, 83.5527376759, -21.2346885874, 64.0836232315, + 22.9623722574, -87.9578765280, 1.3523030640, 176.4067098705, 67.9036978634, 7.2537723049, -122.2309062335, -63.8632909466, + -38.4903796734, -16.2974411834, 2.3970826418, 64.3700072918, -67.9197915888, -116.4026668750, 67.5231031500, 34.6374455493, + 4.1311157296, -2.9105015532, 70.8086558293, 39.2725441796, 33.8256743917, -3.5843642097, 116.7643833804, 20.1092238787, + -25.9766854190, -51.9950492522, 3.5926636209, -58.7583611171, 3.2768807331, -83.5901878329, 68.7090363388, 31.4832422043, + 72.9380572718, -165.9742811160, 33.9362033271, -10.9519428632, 13.0808211304, 15.6672709051, 31.7224492437, -24.1934977704, + -111.0830116867, 11.6282084172, -66.2259706857, -1.9963673172, 30.0622960183, 53.3456859503, -37.0919419160, 67.5944964290, + 18.5935153812, 48.9664966150, 67.3157768914, -160.7111991618, -25.1223842933, -47.4479071245, -16.7582679230, -13.6039270052, + 1.7293472100, -24.1741877419, -76.9727398203, -56.3783736939, -66.9556303947, -54.3511473684, 30.2542211582, -66.8893229449, + -73.2990092912, 239.3981985262, -64.2850340511, 89.9092075497, -15.3525489059, 53.3827372899, -14.3319916122, -115.0721596412, + -50.4530123160, 44.0976786926, 52.2019557554, 72.6630207131, 27.5803572747, 33.4737730840, -170.7640086205, 152.9204474548, + -44.5872734278, -41.0667502536, 26.6175854758, -13.0179143239, 40.8518134705, 23.2781614140, 22.8861340709, 165.4158655103, + 45.0461105030, -17.0077443894, -2.3871329828, -86.8854944700, -38.5465304439, 51.8040803063, -92.8924802068, -113.2325293603, + 51.3604041632, -18.3429725256, -42.5989033884, -38.9445115750, -85.8273183104, -56.4224331649, 17.4997720376, 89.3766578841, + 23.9239370283, 82.3838988229, 47.4013397563, -28.0666334287, 77.6218433875, -52.2133433307, 89.2938264737, 43.2058195424, + 49.4518987655, -5.6570623864, 19.8577713391, -33.2615393471, 73.6654400011, 27.5602339563, -47.1471825605, -34.0693505588, + 111.0944675938, 57.0173259682, -63.4190502251, 46.5969999331, 49.3458328432, -41.3853156260, 39.2494112424, 40.7148228670, + -20.3911372187, 31.8352000294, -0.9980198147, 22.2804091174, 54.0978218332, -82.3683192993, 85.9892355872, -58.3154306688, + -104.2068911293, 91.0603181519, 32.9518095573, 20.8407188930, 34.7499759595, 81.9688480501, -63.1013763435, 0.0064684915, + -24.5056101811, 69.9306176471, -27.5369930597, -39.0144381716, -14.4923929902, -54.3182594365, -130.3292318388, -48.8158919788, + 53.2734036714, -104.1048090944, -70.0965204183, 3.6382745923, 83.6579656965, 23.1622465812, 126.4691310854, 102.9799547579, + 70.8617976147, -8.1455978101, -28.4590640876, 108.1156467676, -1.9738076313, -75.4909376542, 57.5780163484, 45.3155422582, + -38.1742907476, -52.1803902400, -59.7016262432, -23.3823853194, -45.5457749841, -10.5523915014, -110.6271933849, -32.0113288878, + -86.9215548382, 87.4068451718, 70.9885834348, 25.1206930472, 30.7108505789, 115.6076847444, -40.5697084903, -56.6781054555, + -31.4854227803, -31.9552555012, 25.7938108182, 25.4540472201, 76.7058033375, 2.3905659773, -5.9779298940, -152.8056710400, + -51.7485397077, 28.1462240336, 33.9693389366, -71.9881317816, -105.0496130632, 64.2276458511, 96.2519735406, 48.6822690044, + -19.6594071488, 24.8884631741, -33.0716823639, -69.5612618256, -25.2898319495, 98.8036926982, -24.3703282453, 53.1789051370, + 86.5743876344, 18.0109802577, 68.3663740236, 112.3369755598, -45.4492280850, -151.6437874688, -38.2167192413, 24.2163999975, + -66.3294468430, -150.1009914497, -29.4992082835, -92.1308610284, -1.2762556067, 23.1500238372, 69.3063510487, -69.0471660018, + 42.5150200276, 120.6653379806, -152.6729845687, 48.9591377076, 2.7191539126, 0.2888762146, -3.0784673164, 32.5853754582, + -81.3351116851, 25.2072127071, -36.3659441163, -28.6250561447, 95.3073017008, -75.7486406052, 65.1012680265, -64.6031857772, + 56.1240652498, -10.8517181129, -3.7575141784, 42.9554134355, 32.9784965739, -25.0327158003, -147.2361479829, -122.4898965848, + -64.6526214445, 57.1527521244, 25.3983254376, -74.5887309421, 105.2278400890, 118.4451948788, -10.9195498541, -45.2849091353, + 79.1200975888, -60.8806018590, -12.2957628012, -10.2289743666, 77.2465842566, -19.1618580885, -50.3947630673, 130.5843172047, + 20.1829697245, -24.4247513916, 71.3800655588, -30.9467657000, 1.5373397590, 53.9054414421, -87.7905799212, 58.1774557931, + -154.0660955458, 119.2331706772, 7.0800339615, -83.0564977313, -99.0630549412, 64.4241699198, 27.5103964537, 36.9348345670, + -10.4954521840, -23.2759360131, -167.1583158447, -50.1929188975, -17.1065117999, -86.3978192131, 8.3733101608, -19.6093068970, + 37.0486109491, 45.4922144870, 176.0647013511, -14.1950922727, 16.7968812286, -84.3138225875, -53.2207464331, -14.8171496969, + 65.2824157581, 93.3387940939, -46.2740703075, 92.8129768305, -57.1890439907, 27.2969064938, -67.1547095718, 132.0520323271, + -80.7686358272, 31.4140691769, -52.8148627904, -54.8739580131, -149.8514804755, 56.0153122854, -71.3742949563, 36.6095599948, + 42.3294500451, 1.2055515804, -109.4906983981, -71.9482696076, -21.4390953534, 98.8949510272, 74.3069855376, -35.1569830360, + -34.9626381657, 64.2761847423, 64.7596378221, -28.4775450749, 20.1459803277, -26.5247867780, -32.4734659348, -27.8310906478, + 50.7956581065, 36.0746451268, 22.7531905225, -13.9681530928, 49.5451440618, -13.8510794385, 19.4999565108, 56.8774616945, + -11.9205397259, -71.7174333027, 138.8034243907, -37.8252215401, -38.5743154556, -22.5072374207, 12.6209402643, 69.3207345010, + 70.3534390616, 71.5844311614, 4.0715727994, 25.4390606947, -51.0777668722, 138.3617611366, -34.2478029347, -58.8492260984, + -108.6623124843, 58.3034938571, -36.9304647333, 116.5902412201, -24.4020501110, -74.7544840602, 67.7889120207, -9.1455389450, + -46.4456521441, 83.2551857934, -113.9346066504, 46.2851467498, -17.4102217179, 41.6989724702, -23.8829078702, 76.1395799790, + -27.1608730178, -133.8787483532, -59.9242635982, 120.5266415560, 124.9797395465, 35.5722660007, -20.2412573812, 20.5492611902, + -111.8745990845, 41.7389321101, 44.5758622786, 54.2189628306, -44.4745944890, -75.9761098966, 104.0472151578, 113.7219003284, + 33.0330354214, -6.0923562541, -14.8744671800, 62.5024055272, 3.7922184446, 1.1256712478, -30.2126827228, -83.4988699637, + -103.7060854897, -65.4982917403, 30.8897494352, 66.1124672663, 65.0983461952, -52.5486436649, -4.5556524541, -26.5924272500, + -94.1546367179, -0.3559369287, -45.0649519841, -68.1274094478, -7.0521865275, -5.6612786174, -12.5790011432, 51.2524661231, + -3.6515125298, 92.9598974936, -21.0468658542, -40.8243392179, -7.4342227950, 11.1119231703, 37.3371820746, 21.3179018153, + 50.2932980480, -24.1611515405, -41.7851721122, -24.8691439055, -28.3180388219, 121.1894536511, 15.7968116384, 17.9498027226, + -55.3386005430, -80.6689826830, 31.9394747713, -28.1978017432, -1.5538441529, -4.0360096323, 73.9611531119, 17.7253526010, + -24.8578563772, 18.4583438017, 75.2580204243, -13.6139802015, 24.6918362443, -63.0552815767, -4.0312608443, -14.8879121339, + -2.8237511683, -81.5024576341, -4.2344562157, 107.1587476255, -131.2910041645, -25.6467586377, 0.4733397655, 62.8634326464, + 63.1852609425, 16.5913941858, -96.6896044528, 81.2969911064, 18.2956425408, -81.6677471269, -39.2708721333, -34.3080597347, + 22.5610412882, 57.2574226391, 77.9308780964, -39.9342842346, 58.5581960994, -5.7939281526, 104.9927182940, -99.3837066580, + 25.9917768621, -32.1605915683, -30.4589523848, 64.8295771021, -28.2183758982, -37.9771330859, -178.0772548046, 84.2925125233, + 45.4981954662, 49.2815212900, -45.1224250038, -5.9322404186, -6.1309915876, 76.9070873365, -11.5475730308, 18.2569564924, + -124.4953563688, 53.8646820493, -40.0231506068, -74.3908746450, -63.2011642999, -18.9826189881, 69.7917580387, -34.8403308318, + -36.4625632706, 17.1934091336, -20.8063613141, -1.9067935434, 5.2259139474, 60.8368210348, 81.3087550974, -42.6679999668, + -95.5963552311, -115.2609753741, 11.1809831183, -48.3640194531, 75.1073797772, 30.8228127170, -15.0904157375, 11.0538529673, + 107.4505154927, -66.3486660110, -32.0311111189, 38.4346222125, 8.9422998706, -57.6098106212, 15.9132097612, -132.1845158340, + 36.1916704283, -10.5055186124, -87.5658217149, 107.8931306399, 96.0334082800, 53.7264664477, -72.0623965686, -1.9038197721, + 26.1152808779, 119.6235796272, 48.3325601149, 117.6457486801, 28.0275495741, -11.7030018715, 52.9236279862, 100.1176831736, + -83.2423151898, 7.5280868233, -15.3686195277, -5.3432329923, -27.9181052724, -64.4492860287, 129.7502751613, -82.3246020383, + 37.3256155504, 34.7298938660, -57.0561320806, -44.9581455455, 93.3481469867, -54.3803550243, 26.4501204966, 18.8116878139, + -74.4902220818, 15.4659232518, -49.1948332727, 34.0006040345, 56.7177639954, -28.8367897421, 83.8692564278, 35.6745892475, + -45.7509262432, 30.3970223242, 106.1786129556, -35.7843870107, 7.1339227808, 13.0894885560, 56.4666438735, -23.8687514544, + -111.5694112759, -58.7858061292, -61.2783887765, 44.1738302093, 54.7407844064, 14.3538652267, 108.5956394164, -22.3846808158, + 2.5449431771, 70.3512724427, 29.5403015688, -0.7212818796, 143.3497258886, -17.2553350633, -99.7681623907, 42.6913312311, + 35.7338157369, -54.6728371746, -38.0299088541, 10.1471440532, -124.7095236710, -190.8743243033, 139.7543496645, -42.2528776639, + 39.0975372290, 27.8686903911, 22.7337255980, 42.7990612235, -41.6771094483, -23.0843729437, 49.7020046877, 11.0018909876, + -16.5079644797, -158.2821637063, 42.1950179525, -30.4282660128, 67.9797563487, -53.8121334664, 52.8306609341, -5.2861803454, + 59.3808475761, 158.1836295178, -26.8953096767, 78.8646320997, -113.9365510474, -37.1949934282, 53.6970193167, -9.6523467804, + 7.7358952669, -74.6220593088, 107.4394203873, 17.2364088475, -36.5357935724, -23.9301386540, 17.8174243490, 14.1204969615, + -8.2599377000, 4.2743586584, -46.4363395746, -63.5670279031, 9.6872641411, 21.0630349930, 108.9834586896, -124.7597975398, + 29.4251821664, 23.8313097730, -40.8359610210, 91.9520219869, 95.7936525792, -109.5783337883, -60.1100153384, -19.9591228893, +}; + +/*--------------------------------------------------------------------------------*/ +/* FFT Lengths */ +/*--------------------------------------------------------------------------------*/ + +/* + To change test parameter values add/remove values inside CURLY and update + the preceeding parameter to reflect the number of values inside CURLY. +*/ + +ARR_DESC_DEFINE(uint16_t, + transform_radix2_fftlens, + 7, + CURLY( + 16, 32, 64, 128, 256, + 512, 1024/*, 2048 , 4096 */)); + +ARR_DESC_DEFINE(uint16_t, + transform_radix4_fftlens, + 4, + CURLY( + 16, 64, 256, 1024/* , 4096 */)); + +ARR_DESC_DEFINE(uint16_t, + transform_rfft_fftlens, + 6, + CURLY( + 32, 64, 128, 256, + 512, 1024/*, 2048 , 4096, 8192*/)); + +ARR_DESC_DEFINE(uint16_t, + transform_dct_fftlens, + 3, + CURLY( + 128, 512, 2048/*, 8192*/)); + +ARR_DESC_DEFINE(uint16_t, + transform_rfft_fast_fftlens, + 7, + CURLY( + 32, 64, 128, 256, + 512, 1024, 2048)); + +/*--------------------------------------------------------------------------------*/ +/* CFFT_F32 Structs */ +/*--------------------------------------------------------------------------------*/ + +/* Uses radix2 lengths */ +ARR_DESC_DEFINE(const arm_cfft_instance_f32 *, + transform_cfft_f32_structs, + 5, + CURLY( + &arm_cfft_sR_f32_len16, + &arm_cfft_sR_f32_len32, + &arm_cfft_sR_f32_len64, + &arm_cfft_sR_f32_len128, + &arm_cfft_sR_f32_len256/*, + &arm_cfft_sR_f32_len512, */ + /* &arm_cfft_sR_f32_len1024, */ + /* &arm_cfft_sR_f32_len2048, */ + /* &arm_cfft_sR_f32_len4096 */ + )); + +/*--------------------------------------------------------------------------------*/ +/* CFFT_Q31 Structs */ +/*--------------------------------------------------------------------------------*/ + +/* Uses radix2 lengths */ +ARR_DESC_DEFINE(const arm_cfft_instance_q31 *, + transform_cfft_q31_structs, + 5, + CURLY( + &arm_cfft_sR_q31_len16, + &arm_cfft_sR_q31_len32, + &arm_cfft_sR_q31_len64, + &arm_cfft_sR_q31_len128, + &arm_cfft_sR_q31_len256/*, + &arm_cfft_sR_q31_len512, */ + /* &arm_cfft_sR_q31_len1024, */ + /* &arm_cfft_sR_q31_len2048, */ + /* &arm_cfft_sR_q31_len4096 */ + )); + +/*--------------------------------------------------------------------------------*/ +/* CFFT_q15 Structs */ +/*--------------------------------------------------------------------------------*/ + +/* Uses radix2 lengths */ +ARR_DESC_DEFINE(const arm_cfft_instance_q15 *, + transform_cfft_q15_structs, + 5, + CURLY( + &arm_cfft_sR_q15_len16, + &arm_cfft_sR_q15_len32, + &arm_cfft_sR_q15_len64, + &arm_cfft_sR_q15_len128, + &arm_cfft_sR_q15_len256/*, + &arm_cfft_sR_q15_len512, */ + /* &arm_cfft_sR_q15_len1024, */ + /* &arm_cfft_sR_q15_len2048, */ + /* &arm_cfft_sR_q15_len4096 */ + )); diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MBLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MBLl_config.txt new file mode 100644 index 0000000..d9cb90a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MBLl_config.txt @@ -0,0 +1,11 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLl_config.txt new file mode 100644 index 0000000..9c3cfc2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLl_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLld_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLld_config.txt new file mode 100644 index 0000000..011260a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLld_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLldfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLldfsp_config.txt new file mode 100644 index 0000000..2a0a82a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLldfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLlfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLlfsp_config.txt new file mode 100644 index 0000000..4140d9b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/ARMv8MMLlfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM0l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM0l_config.txt new file mode 100644 index 0000000..8e33c76 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM0l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm0ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm0ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm0ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm0ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM3l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM3l_config.txt new file mode 100644 index 0000000..2caf254 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM3l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm3ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm3ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm3ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm3ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4l_config.txt new file mode 100644 index 0000000..1c9fece --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4lf_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4lf_config.txt new file mode 100644 index 0000000..eb832ed --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM4lf_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7l_config.txt new file mode 100644 index 0000000..4e591c9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfdp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfdp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfdp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfsp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP/cortexM7lfsp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.c new file mode 100644 index 0000000..da85ffe --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2013-2017 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ----------------------------------------------------------------------------- + * + * $Revision: V5.1.0 + * + * Project: CMSIS-RTOS RTX + * Title: RTX Configuration + * + * ----------------------------------------------------------------------------- + */ + +#include "cmsis_compiler.h" +#include "rtx_os.h" + +// OS Idle Thread +__WEAK __NO_RETURN void osRtxIdleThread (void *argument) { + (void)argument; + + for (;;) {} +} + +// OS Error Callback function +__WEAK uint32_t osRtxErrorNotify (uint32_t code, void *object_id) { + (void)object_id; + + switch (code) { + case osRtxErrorStackUnderflow: + // Stack underflow detected for thread (thread_id=object_id) + break; + case osRtxErrorISRQueueOverflow: + // ISR Queue overflow detected when inserting object (object_id) + break; + case osRtxErrorTimerQueueOverflow: + // User Timer Callback Queue overflow detected for timer (timer_id=object_id) + break; + case osRtxErrorClibSpace: + // Standard C/C++ library libspace not available: increase OS_THREAD_LIBSPACE_NUM + break; + case osRtxErrorClibMutex: + // Standard C/C++ library mutex initialization failed + break; + default: + break; + } + for (;;) {} +return 0U; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h new file mode 100644 index 0000000..f567411 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h @@ -0,0 +1,578 @@ +/* + * Copyright (c) 2013-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ----------------------------------------------------------------------------- + * + * $Revision: V5.5.0 + * + * Project: CMSIS-RTOS RTX + * Title: RTX Configuration definitions + * + * ----------------------------------------------------------------------------- + */ + +#ifndef RTX_CONFIG_H_ +#define RTX_CONFIG_H_ + +#ifdef _RTE_ +#include "RTE_Components.h" +#ifdef RTE_RTX_CONFIG_H +#include RTE_RTX_CONFIG_H +#endif +#endif + +//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- + +// System Configuration +// ======================= + +// Global Dynamic Memory size [bytes] <0-1073741824:8> +// Defines the combined global dynamic memory size. +// Default: 4096 +#ifndef OS_DYNAMIC_MEM_SIZE +#define OS_DYNAMIC_MEM_SIZE 4096 +#endif + +// Kernel Tick Frequency [Hz] <1-1000000> +// Defines base time unit for delays and timeouts. +// Default: 1000 (1ms tick) +#ifndef OS_TICK_FREQ +#define OS_TICK_FREQ 1000 +#endif + +// Round-Robin Thread switching +// Enables Round-Robin Thread switching. +#ifndef OS_ROBIN_ENABLE +#define OS_ROBIN_ENABLE 1 +#endif + +// Round-Robin Timeout <1-1000> +// Defines how many ticks a thread will execute before a thread switch. +// Default: 5 +#ifndef OS_ROBIN_TIMEOUT +#define OS_ROBIN_TIMEOUT 5 +#endif + +// + +// ISR FIFO Queue +// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries +// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries +// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries +// RTOS Functions called from ISR store requests to this buffer. +// Default: 16 entries +#ifndef OS_ISR_FIFO_QUEUE +#define OS_ISR_FIFO_QUEUE 16 +#endif + +// Object Memory usage counters +// Enables object memory usage counters (requires RTX source variant). +#ifndef OS_OBJ_MEM_USAGE +#define OS_OBJ_MEM_USAGE 0 +#endif + +// + +// Thread Configuration +// ======================= + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_THREAD_OBJ_MEM +#define OS_THREAD_OBJ_MEM 0 +#endif + +// Number of user Threads <1-1000> +// Defines maximum number of user threads that can be active at the same time. +// Applies to user threads with system provided memory for control blocks. +#ifndef OS_THREAD_NUM +#define OS_THREAD_NUM 1 +#endif + +// Number of user Threads with default Stack size <0-1000> +// Defines maximum number of user threads with default stack size. +// Applies to user threads with zero stack size specified. +#ifndef OS_THREAD_DEF_STACK_NUM +#define OS_THREAD_DEF_STACK_NUM 0 +#endif + +// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8> +// Defines the combined stack size for user threads with user-provided stack size. +// Applies to user threads with user-provided stack size and system provided memory for stack. +// Default: 0 +#ifndef OS_THREAD_USER_STACK_SIZE +#define OS_THREAD_USER_STACK_SIZE 0 +#endif + +// + +// Default Thread Stack size [bytes] <96-1073741824:8> +// Defines stack size for threads with zero stack size specified. +// Default: 256 +#ifndef OS_STACK_SIZE +#define OS_STACK_SIZE 512 +#endif + +// Idle Thread Stack size [bytes] <72-1073741824:8> +// Defines stack size for Idle thread. +// Default: 256 +#ifndef OS_IDLE_THREAD_STACK_SIZE +#define OS_IDLE_THREAD_STACK_SIZE 512 +#endif + +// Idle Thread TrustZone Module Identifier +// Defines TrustZone Thread Context Management Identifier. +// Applies only to cores with TrustZone technology. +// Default: 0 (not used) +#ifndef OS_IDLE_THREAD_TZ_MOD_ID +#define OS_IDLE_THREAD_TZ_MOD_ID 0 +#endif + +// Stack overrun checking +// Enables stack overrun check at thread switch. +// Enabling this option increases slightly the execution time of a thread switch. +#ifndef OS_STACK_CHECK +#define OS_STACK_CHECK 1 +#endif + +// Stack usage watermark +// Initializes thread stack with watermark pattern for analyzing stack usage. +// Enabling this option increases significantly the execution time of thread creation. +#ifndef OS_STACK_WATERMARK +#define OS_STACK_WATERMARK 0 +#endif + +// Processor mode for Thread execution +// <0=> Unprivileged mode +// <1=> Privileged mode +// Default: Privileged mode +#ifndef OS_PRIVILEGE_MODE +#define OS_PRIVILEGE_MODE 1 +#endif + +// + +// Timer Configuration +// ====================== + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_TIMER_OBJ_MEM +#define OS_TIMER_OBJ_MEM 0 +#endif + +// Number of Timer objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_TIMER_NUM +#define OS_TIMER_NUM 1 +#endif + +// + +// Timer Thread Priority +// <8=> Low +// <16=> Below Normal <24=> Normal <32=> Above Normal +// <40=> High +// <48=> Realtime +// Defines priority for timer thread +// Default: High +#ifndef OS_TIMER_THREAD_PRIO +#define OS_TIMER_THREAD_PRIO 40 +#endif + +// Timer Thread Stack size [bytes] <0-1073741824:8> +// Defines stack size for Timer thread. +// May be set to 0 when timers are not used. +// Default: 256 +#ifndef OS_TIMER_THREAD_STACK_SIZE +#define OS_TIMER_THREAD_STACK_SIZE 256 +#endif + +// Timer Thread TrustZone Module Identifier +// Defines TrustZone Thread Context Management Identifier. +// Applies only to cores with TrustZone technology. +// Default: 0 (not used) +#ifndef OS_TIMER_THREAD_TZ_MOD_ID +#define OS_TIMER_THREAD_TZ_MOD_ID 0 +#endif + +// Timer Callback Queue entries <0-256> +// Number of concurrent active timer callback functions. +// May be set to 0 when timers are not used. +// Default: 4 +#ifndef OS_TIMER_CB_QUEUE +#define OS_TIMER_CB_QUEUE 4 +#endif + +// + +// Event Flags Configuration +// ============================ + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_EVFLAGS_OBJ_MEM +#define OS_EVFLAGS_OBJ_MEM 0 +#endif + +// Number of Event Flags objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_EVFLAGS_NUM +#define OS_EVFLAGS_NUM 1 +#endif + +// + +// + +// Mutex Configuration +// ====================== + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_MUTEX_OBJ_MEM +#define OS_MUTEX_OBJ_MEM 0 +#endif + +// Number of Mutex objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_MUTEX_NUM +#define OS_MUTEX_NUM 1 +#endif + +// + +// + +// Semaphore Configuration +// ========================== + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_SEMAPHORE_OBJ_MEM +#define OS_SEMAPHORE_OBJ_MEM 0 +#endif + +// Number of Semaphore objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_SEMAPHORE_NUM +#define OS_SEMAPHORE_NUM 1 +#endif + +// + +// + +// Memory Pool Configuration +// ============================ + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_MEMPOOL_OBJ_MEM +#define OS_MEMPOOL_OBJ_MEM 0 +#endif + +// Number of Memory Pool objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_MEMPOOL_NUM +#define OS_MEMPOOL_NUM 1 +#endif + +// Data Storage Memory size [bytes] <0-1073741824:8> +// Defines the combined data storage memory size. +// Applies to objects with system provided memory for data storage. +// Default: 0 +#ifndef OS_MEMPOOL_DATA_SIZE +#define OS_MEMPOOL_DATA_SIZE 0 +#endif + +// + +// + +// Message Queue Configuration +// ============================== + +// Object specific Memory allocation +// Enables object specific memory allocation. +#ifndef OS_MSGQUEUE_OBJ_MEM +#define OS_MSGQUEUE_OBJ_MEM 0 +#endif + +// Number of Message Queue objects <1-1000> +// Defines maximum number of objects that can be active at the same time. +// Applies to objects with system provided memory for control blocks. +#ifndef OS_MSGQUEUE_NUM +#define OS_MSGQUEUE_NUM 1 +#endif + +// Data Storage Memory size [bytes] <0-1073741824:8> +// Defines the combined data storage memory size. +// Applies to objects with system provided memory for data storage. +// Default: 0 +#ifndef OS_MSGQUEUE_DATA_SIZE +#define OS_MSGQUEUE_DATA_SIZE 0 +#endif + +// + +// + +// Event Recorder Configuration +// =============================== + +// Global Initialization +// Initialize Event Recorder during 'osKernelInitialize'. +#ifndef OS_EVR_INIT +#define OS_EVR_INIT 0 +#endif + +// Start recording +// Start event recording after initialization. +#ifndef OS_EVR_START +#define OS_EVR_START 1 +#endif + +// Global Event Filter Setup +// Initial recording level applied to all components. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_LEVEL +#define OS_EVR_LEVEL 0x00U +#endif + +// RTOS Event Filter Setup +// Recording levels for RTX components. +// Only applicable if events for the respective component are generated. + +// Memory Management +// Recording level for Memory Management events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_MEMORY_LEVEL +#define OS_EVR_MEMORY_LEVEL 0x01U +#endif + +// Kernel +// Recording level for Kernel events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_KERNEL_LEVEL +#define OS_EVR_KERNEL_LEVEL 0x01U +#endif + +// Thread +// Recording level for Thread events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_THREAD_LEVEL +#define OS_EVR_THREAD_LEVEL 0x05U +#endif + +// Generic Wait +// Recording level for Generic Wait events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_WAIT_LEVEL +#define OS_EVR_WAIT_LEVEL 0x01U +#endif + +// Thread Flags +// Recording level for Thread Flags events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_THFLAGS_LEVEL +#define OS_EVR_THFLAGS_LEVEL 0x01U +#endif + +// Event Flags +// Recording level for Event Flags events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_EVFLAGS_LEVEL +#define OS_EVR_EVFLAGS_LEVEL 0x01U +#endif + +// Timer +// Recording level for Timer events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_TIMER_LEVEL +#define OS_EVR_TIMER_LEVEL 0x01U +#endif + +// Mutex +// Recording level for Mutex events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_MUTEX_LEVEL +#define OS_EVR_MUTEX_LEVEL 0x01U +#endif + +// Semaphore +// Recording level for Semaphore events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_SEMAPHORE_LEVEL +#define OS_EVR_SEMAPHORE_LEVEL 0x01U +#endif + +// Memory Pool +// Recording level for Memory Pool events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_MEMPOOL_LEVEL +#define OS_EVR_MEMPOOL_LEVEL 0x01U +#endif + +// Message Queue +// Recording level for Message Queue events. +// Error events +// API function call events +// Operation events +// Detailed operation events +// +#ifndef OS_EVR_MSGQUEUE_LEVEL +#define OS_EVR_MSGQUEUE_LEVEL 0x01U +#endif + +// + +// + +// RTOS Event Generation +// Enables event generation for RTX components (requires RTX source variant). + +// Memory Management +// Enables Memory Management event generation. +#ifndef OS_EVR_MEMORY +#define OS_EVR_MEMORY 1 +#endif + +// Kernel +// Enables Kernel event generation. +#ifndef OS_EVR_KERNEL +#define OS_EVR_KERNEL 1 +#endif + +// Thread +// Enables Thread event generation. +#ifndef OS_EVR_THREAD +#define OS_EVR_THREAD 1 +#endif + +// Generic Wait +// Enables Generic Wait event generation. +#ifndef OS_EVR_WAIT +#define OS_EVR_WAIT 1 +#endif + +// Thread Flags +// Enables Thread Flags event generation. +#ifndef OS_EVR_THFLAGS +#define OS_EVR_THFLAGS 1 +#endif + +// Event Flags +// Enables Event Flags event generation. +#ifndef OS_EVR_EVFLAGS +#define OS_EVR_EVFLAGS 1 +#endif + +// Timer +// Enables Timer event generation. +#ifndef OS_EVR_TIMER +#define OS_EVR_TIMER 1 +#endif + +// Mutex +// Enables Mutex event generation. +#ifndef OS_EVR_MUTEX +#define OS_EVR_MUTEX 1 +#endif + +// Semaphore +// Enables Semaphore event generation. +#ifndef OS_EVR_SEMAPHORE +#define OS_EVR_SEMAPHORE 1 +#endif + +// Memory Pool +// Enables Memory Pool event generation. +#ifndef OS_EVR_MEMPOOL +#define OS_EVR_MEMPOOL 1 +#endif + +// Message Queue +// Enables Message Queue event generation. +#ifndef OS_EVR_MSGQUEUE +#define OS_EVR_MSGQUEUE 1 +#endif + +// + +// + +// Number of Threads which use standard C/C++ library libspace +// (when thread specific memory allocation is not used). +#if (OS_THREAD_OBJ_MEM == 0) +#define OS_THREAD_LIBSPACE_NUM 4 +#else +#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM +#endif + +//------------- <<< end of configuration section >>> --------------------------- + +#endif // RTX_CONFIG_H_ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/handlers.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/handlers.c new file mode 100644 index 0000000..6afdccc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/handlers.c @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2013-2017 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ----------------------------------------------------------------------------- + * + * Project: CMSIS-RTOS RTX + * Title: Exception handlers (C functions) + * + * ----------------------------------------------------------------------------- + */ +#include "RTE_Components.h" +#include CMSIS_device_header + + +//Fault Status Register (IFSR/DFSR) definitions +#define FSR_ALIGNMENT_FAULT 0x01 //DFSR only. Fault on first lookup +#define FSR_INSTRUCTION_CACHE_MAINTENANCE 0x04 //DFSR only - async/external +#define FSR_SYNC_EXT_TTB_WALK_FIRST 0x0c //sync/external +#define FSR_SYNC_EXT_TTB_WALK_SECOND 0x0e //sync/external +#define FSR_SYNC_PARITY_TTB_WALK_FIRST 0x1c //sync/external +#define FSR_SYNC_PARITY_TTB_WALK_SECOND 0x1e //sync/external +#define FSR_TRANSLATION_FAULT_FIRST 0x05 //MMU Fault - internal +#define FSR_TRANSLATION_FAULT_SECOND 0x07 //MMU Fault - internal +#define FSR_ACCESS_FLAG_FAULT_FIRST 0x03 //MMU Fault - internal +#define FSR_ACCESS_FLAG_FAULT_SECOND 0x06 //MMU Fault - internal +#define FSR_DOMAIN_FAULT_FIRST 0x09 //MMU Fault - internal +#define FSR_DOMAIN_FAULT_SECOND 0x0b //MMU Fault - internal +#define FSR_PERMISSION_FAULT_FIRST 0x0f //MMU Fault - internal +#define FSR_PERMISSION_FAULT_SECOND 0x0d //MMU Fault - internal +#define FSR_DEBUG_EVENT 0x02 //internal +#define FSR_SYNC_EXT_ABORT 0x08 //sync/external +#define FSR_TLB_CONFLICT_ABORT 0x10 //sync/external +#define FSR_LOCKDOWN 0x14 //internal +#define FSR_COPROCESSOR_ABORT 0x1a //internal +#define FSR_SYNC_PARITY_ERROR 0x19 //sync/external +#define FSR_ASYNC_EXTERNAL_ABORT 0x16 //DFSR only - async/external +#define FSR_ASYNC_PARITY_ERROR 0x18 //DFSR only - async/external + +void CDAbtHandler(uint32_t DFSR, uint32_t DFAR, uint32_t LR) { + uint32_t FS = (DFSR & (1 << 10)) >> 6 | (DFSR & 0x0f); //Store Fault Status + + switch(FS) { + //Synchronous parity errors - retry + case FSR_SYNC_PARITY_ERROR: + case FSR_SYNC_PARITY_TTB_WALK_FIRST: + case FSR_SYNC_PARITY_TTB_WALK_SECOND: + return; + + //Your code here. Value in DFAR is invalid for some fault statuses. + case FSR_ALIGNMENT_FAULT: + case FSR_INSTRUCTION_CACHE_MAINTENANCE: + case FSR_SYNC_EXT_TTB_WALK_FIRST: + case FSR_SYNC_EXT_TTB_WALK_SECOND: + case FSR_TRANSLATION_FAULT_FIRST: + case FSR_TRANSLATION_FAULT_SECOND: + case FSR_ACCESS_FLAG_FAULT_FIRST: + case FSR_ACCESS_FLAG_FAULT_SECOND: + case FSR_DOMAIN_FAULT_FIRST: + case FSR_DOMAIN_FAULT_SECOND: + case FSR_PERMISSION_FAULT_FIRST: + case FSR_PERMISSION_FAULT_SECOND: + case FSR_DEBUG_EVENT: + case FSR_SYNC_EXT_ABORT: + case FSR_TLB_CONFLICT_ABORT: + case FSR_LOCKDOWN: + case FSR_COPROCESSOR_ABORT: + case FSR_ASYNC_EXTERNAL_ABORT: //DFAR invalid + case FSR_ASYNC_PARITY_ERROR: //DFAR invalid + default: + while(1); + } +} + +void CPAbtHandler(uint32_t IFSR, uint32_t IFAR, uint32_t LR) { + uint32_t FS = (IFSR & (1 << 10)) >> 6 | (IFSR & 0x0f); //Store Fault Status + + switch(FS) { + //Synchronous parity errors - retry + case FSR_SYNC_PARITY_ERROR: + case FSR_SYNC_PARITY_TTB_WALK_FIRST: + case FSR_SYNC_PARITY_TTB_WALK_SECOND: + return; + + //Your code here. Value in IFAR is invalid for some fault statuses. + case FSR_SYNC_EXT_TTB_WALK_FIRST: + case FSR_SYNC_EXT_TTB_WALK_SECOND: + case FSR_TRANSLATION_FAULT_FIRST: + case FSR_TRANSLATION_FAULT_SECOND: + case FSR_ACCESS_FLAG_FAULT_FIRST: + case FSR_ACCESS_FLAG_FAULT_SECOND: + case FSR_DOMAIN_FAULT_FIRST: + case FSR_DOMAIN_FAULT_SECOND: + case FSR_PERMISSION_FAULT_FIRST: + case FSR_PERMISSION_FAULT_SECOND: + case FSR_DEBUG_EVENT: //IFAR invalid + case FSR_SYNC_EXT_ABORT: + case FSR_TLB_CONFLICT_ABORT: + case FSR_LOCKDOWN: + case FSR_COPROCESSOR_ABORT: + default: + while(1); + } +} + + +//returns amount to decrement lr by +//this will be 0 when we have emulated the instruction and want to execute the next instruction +//this will be 2 when we have performed some maintenance and want to retry the instruction in Thumb (state == 2) +//this will be 4 when we have performed some maintenance and want to retry the instruction in ARM (state == 4) +uint32_t CUndefHandler(uint32_t opcode, uint32_t state, uint32_t LR) { + const int THUMB = 2; + const int ARM = 4; + //Lazy VFP/NEON initialisation and switching + + // (ARM ARM section A7.5) VFP data processing instruction? + // (ARM ARM section A7.6) VFP/NEON register load/store instruction? + // (ARM ARM section A7.8) VFP/NEON register data transfer instruction? + // (ARM ARM section A7.9) VFP/NEON 64-bit register data transfer instruction? + if ((state == ARM && ((opcode & 0x0C000000) >> 26 == 0x03)) || + (state == THUMB && ((opcode & 0xEC000000) >> 26 == 0x3B))) { + if (((opcode & 0x00000E00) >> 9) == 5) { + __FPU_Enable(); + return state; + } + } + + // (ARM ARM section A7.4) NEON data processing instruction? + if ((state == ARM && ((opcode & 0xFE000000) >> 24 == 0xF2)) || + (state == THUMB && ((opcode & 0xEF000000) >> 24 == 0xEF)) || + // (ARM ARM section A7.7) NEON load/store instruction? + (state == ARM && ((opcode >> 24) == 0xF4)) || + (state == THUMB && ((opcode >> 24) == 0xF9))) { + __FPU_Enable(); + return state; + } + + //Add code here for other Undef cases + while(1); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mem_ARMCA5.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mem_ARMCA5.h new file mode 100644 index 0000000..04669d0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mem_ARMCA5.h @@ -0,0 +1,94 @@ +/**************************************************************************//** + * @file mem_ARMCA5.h + * @brief Memory base and size definitions (used in scatter file) + * @version V1.00 + * @date 10. January 2018 + * + * @note + * + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __MEM_ARMCA5_H +#define __MEM_ARMCA5_H + +/*---------------------------------------------------------------------------- + User Stack & Heap size definition + *----------------------------------------------------------------------------*/ +/* +//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ +*/ + +/*--------------------- ROM Configuration ------------------------------------ +// +// ROM Configuration +// ROM Base Address <0x0-0xFFFFFFFF:8> +// ROM Size (in Bytes) <0x0-0xFFFFFFFF:8> +// + *----------------------------------------------------------------------------*/ +#define __ROM_BASE 0x80000000 +#define __ROM_SIZE 0x00200000 + +/*--------------------- RAM Configuration ----------------------------------- +// RAM Configuration +// RAM Base Address <0x0-0xFFFFFFFF:8> +// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:8> +// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> +// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> +// Stack / Heap Configuration +// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +// Exceptional Modes +// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +// +// +// + *----------------------------------------------------------------------------*/ +#define __RAM_BASE 0x80200000 +#define __RAM_SIZE 0x00200000 + +#define __RW_DATA_SIZE 0x00100000 +#define __ZI_DATA_SIZE 0x000F0000 + +#define __STACK_SIZE 0x00001000 +#define __HEAP_SIZE 0x00008000 + +#define __UND_STACK_SIZE 0x00000100 +#define __ABT_STACK_SIZE 0x00000100 +#define __SVC_STACK_SIZE 0x00000100 +#define __IRQ_STACK_SIZE 0x00000100 +#define __FIQ_STACK_SIZE 0x00000100 + +/*----------------------------------------------------------------------------*/ + +/*--------------------- TTB Configuration ------------------------------------ +// +// TTB Configuration +// TTB Base Address <0x0-0xFFFFFFFF:8> +// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> +// + *----------------------------------------------------------------------------*/ +#define __TTB_BASE 0x80500000 +#define __TTB_SIZE 0x00004000 + +#endif /* __MEM_ARMCA5_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mmu_ARMCA5.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mmu_ARMCA5.c new file mode 100644 index 0000000..2aa1a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mmu_ARMCA5.c @@ -0,0 +1,235 @@ +/**************************************************************************//** + * @file mmu_ARMCA5.c + * @brief MMU Configuration for ARM Cortex-A5 Device Series + * @version V1.1.0 + * @date 23. November 2018 + * + * @note + * + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 ARM Cortex-A Series memory map + + Memory Type +0xffffffff |--------------------------| ------------ + | FLAG SYNC | Device Memory +0xfffff000 |--------------------------| ------------ + | Fault | Fault +0xfff00000 |--------------------------| ------------ + | | Normal + | | + | Daughterboard | + | memory | + | | +0x80505000 |--------------------------| ------------ + |TTB (L2 Sync Flags ) 4k | Normal +0x80504C00 |--------------------------| ------------ + |TTB (L2 Peripherals-B) 16k| Normal +0x80504800 |--------------------------| ------------ + |TTB (L2 Peripherals-A) 16k| Normal +0x80504400 |--------------------------| ------------ + |TTB (L2 Priv Periphs) 4k | Normal +0x80504000 |--------------------------| ------------ + | TTB (L1 Descriptors) | Normal +0x80500000 |--------------------------| ------------ + | Heap | Normal + |--------------------------| ------------ + | Stack | Normal +0x80400000 |--------------------------| ------------ + | ZI Data | Normal +0x80300000 |--------------------------| ------------ + | RW Data | Normal +0x80200000 |--------------------------| ------------ + | RO Data | Normal + |--------------------------| ------------ + | RO Code | USH Normal +0x80000000 |--------------------------| ------------ + | Daughterboard | Fault + | HSB AXI buses | +0x40000000 |--------------------------| ------------ + | Daughterboard | Fault + | test chips peripherals | +0x2c002000 |--------------------------| ------------ + | Private Address | Device Memory +0x2c000000 |--------------------------| ------------ + | Daughterboard | Fault + | test chips peripherals | +0x20000000 |--------------------------| ------------ + | Peripherals | Device Memory RW/RO + | | & Fault +0x00000000 |--------------------------| +*/ + +// L1 Cache info and restrictions about architecture of the caches (CCSIR register): +// Write-Through support *not* available +// Write-Back support available. +// Read allocation support available. +// Write allocation support available. + +//Note: You should use the Shareable attribute carefully. +//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. +//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. +//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. + +//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. +//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. +//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. + + +//Following MMU configuration is expected +//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) +//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) +//Domain 0 is always the Client domain +//Descriptors should place all memory in domain 0 + +#include "ARMCA5.h" + + +// L2 table pointers +//---------------------------------------- +#define PRIVATE_TABLE_L2_BASE_4k (0x80504000) //Map 4k Private Address space +#define SYNC_FLAGS_TABLE_L2_BASE_4k (0x80504C00) //Map 4k Flag synchronization +#define PERIPHERAL_A_TABLE_L2_BASE_64k (0x80504400) //Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF +#define PERIPHERAL_B_TABLE_L2_BASE_64k (0x80504800) //Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF + +//--------------------- PERIPHERALS ------------------- +#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) +#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) + +//--------------------- SYNC FLAGS -------------------- +#define FLAG_SYNC 0xFFFFF000 +#define F_SYNC_BASE 0xFFF00000 //1M aligned + +//Import symbols from linker +extern uint32_t Image$$VECTORS$$Base; +extern uint32_t Image$$RW_DATA$$Base; +extern uint32_t Image$$ZI_DATA$$Base; +extern uint32_t Image$$TTB$$ZI$$Base; + +static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 +static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 +static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable +static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable +static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 +static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable + +/* Define global descriptors */ +static uint32_t Page_L1_4k = 0x0; //generic +static uint32_t Page_L1_64k = 0x0; //generic +static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 +static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 + +void MMU_CreateTranslationTable(void) +{ + mmu_region_attributes_Type region; + + //Create 4GB of faulting entries + MMU_TTSection (&Image$$TTB$$ZI$$Base, 0, 4096, DESCRIPTOR_FAULT); + + /* + * Generate descriptors. Refer to core_ca.h to get information about attributes + * + */ + //Create descriptors for Vectors, RO, RW, ZI sections + section_normal(Sect_Normal, region); + section_normal_cod(Sect_Normal_Cod, region); + section_normal_ro(Sect_Normal_RO, region); + section_normal_rw(Sect_Normal_RW, region); + //Create descriptors for peripherals + section_device_ro(Sect_Device_RO, region); + section_device_rw(Sect_Device_RW, region); + //Create descriptors for 64k pages + page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); + //Create descriptors for 4k pages + page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); + + + /* + * Define MMU flat-map regions and attributes + * + */ + + //Define Image + MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$VECTORS$$Base, 2, Sect_Normal_Cod); + MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA$$Base, 1, Sect_Normal_RW); + MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA$$Base, 1, Sect_Normal_RW); + + //all DRAM executable, rw, cacheable - applications may choose to divide memory into ro executable + MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$TTB$$ZI$$Base, 2043, Sect_Normal); + + //--------------------- PERIPHERALS ------------------- + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_FLASH_BASE0 , 64, Sect_Device_RO); + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_FLASH_BASE1 , 64, Sect_Device_RO); + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_SRAM_BASE , 64, Sect_Device_RW); + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_VRAM_BASE , 32, Sect_Device_RW); + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_ETHERNET_BASE , 16, Sect_Device_RW); + MMU_TTSection (&Image$$TTB$$ZI$$Base, VE_A5_MP_USB_BASE , 16, Sect_Device_RW); + + // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); + // Define peripheral range 0x1C000000-0x1C00FFFF + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); + + // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); + // Define peripheral range 0x1C100000-0x1C10FFFF + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); + MMU_TTPage64k(&Image$$TTB$$ZI$$Base, VE_A5_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); + + // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory + MMU_TTPage4k (&Image$$TTB$$ZI$$Base, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); + // Define private address space entry. + MMU_TTPage4k (&Image$$TTB$$ZI$$Base, __get_CBAR() , 3, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); + // Define L2CC entry. Uncomment if PL310 is present + // MMU_TTPage4k (&Image$$TTB$$ZI$$Base, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); + + // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) + MMU_TTPage4k (&Image$$TTB$$ZI$$Base, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); + // Define synchronization space entry. + MMU_TTPage4k (&Image$$TTB$$ZI$$Base, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); + + /* Set location of level 1 page table + ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) + ; 13:7 - 0x0 + ; 6 - IRGN[0] 0x1 (Inner WB WA) + ; 5 - NOS 0x0 (Non-shared) + ; 4:3 - RGN 0x01 (Outer WB WA) + ; 2 - IMP 0x0 (Implementation Defined) + ; 1 - S 0x0 (Non-shared) + ; 0 - IRGN[1] 0x0 (Inner WB WA) */ + __set_TTBR0(((uint32_t)&Image$$TTB$$ZI$$Base) | 0x48); + __ISB(); + + /* Set up domain access control register + ; We set domain 0 to Client and all other domains to No Access. + ; All translation table entries specify domain 0 */ + __set_DACR(1); + __ISB(); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/startup_ARMCA5.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/startup_ARMCA5.c new file mode 100644 index 0000000..535a200 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/startup_ARMCA5.c @@ -0,0 +1,138 @@ +/****************************************************************************** + * @file startup_ARMCA5.c + * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series + * @version V1.00 + * @date 10. January 2018 + * + * @note + * + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +/*---------------------------------------------------------------------------- + Definitions + *----------------------------------------------------------------------------*/ +#define USR_MODE 0x10 // User mode +#define FIQ_MODE 0x11 // Fast Interrupt Request mode +#define IRQ_MODE 0x12 // Interrupt Request mode +#define SVC_MODE 0x13 // Supervisor mode +#define ABT_MODE 0x17 // Abort mode +#define UND_MODE 0x1B // Undefined Instruction mode +#define SYS_MODE 0x1F // System mode + +/*---------------------------------------------------------------------------- + Internal References + *----------------------------------------------------------------------------*/ +void Vectors (void) __attribute__ ((naked, section("RESET"))); +void Reset_Handler (void) __attribute__ ((naked)); + +/*---------------------------------------------------------------------------- + Exception / Interrupt Handler + *----------------------------------------------------------------------------*/ +void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); +void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); +void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); +void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); +void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); +void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); + +/*---------------------------------------------------------------------------- + Exception / Interrupt Vector Table + *----------------------------------------------------------------------------*/ +void Vectors(void) { + __ASM volatile( + "LDR PC, =Reset_Handler \n" + "LDR PC, =Undef_Handler \n" + "LDR PC, =SVC_Handler \n" + "LDR PC, =PAbt_Handler \n" + "LDR PC, =DAbt_Handler \n" + "NOP \n" + "LDR PC, =IRQ_Handler \n" + "LDR PC, =FIQ_Handler \n" + ); +} + +/*---------------------------------------------------------------------------- + Reset Handler called on controller reset + *----------------------------------------------------------------------------*/ +void Reset_Handler(void) { + __ASM volatile( + + // Mask interrupts + "CPSID if \n" + + // Put any cores other than 0 to sleep + "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR + "ANDS R0, R0, #3 \n" + "goToSleep: \n" + "WFINE \n" + "BNE goToSleep \n" + + // Reset SCTLR Settings + "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register + "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache + "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache + "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU + "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction + "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs + "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register + "ISB \n" + + // Configure ACTLR + "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register + "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) + "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register + + // Set Vector Base Address Register (VBAR) to point to this application's vector table + "LDR R0, =Vectors \n" + "MCR p15, 0, R0, c12, c0, 0 \n" + + // Setup Stack for each exceptional mode + "CPS #0x11 \n" + "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" + "CPS #0x12 \n" + "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" + "CPS #0x13 \n" + "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" + "CPS #0x17 \n" + "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" + "CPS #0x1B \n" + "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" + "CPS #0x1F \n" + "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" + + // Call SystemInit + "BL SystemInit \n" + + // Unmask interrupts + "CPSIE if \n" + + // Call __main + "BL __main \n" + ); +} + +/*---------------------------------------------------------------------------- + Default Handler for Exceptions / Interrupts + *----------------------------------------------------------------------------*/ +void Default_Handler(void) { + while(1); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.c new file mode 100644 index 0000000..5f599f6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.c @@ -0,0 +1,93 @@ +/****************************************************************************** + * @file system_ARMCA5.c + * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series + * @version V1.0.1 + * @date 13. February 2019 + * + * @note + * + ******************************************************************************/ +/* + * Copyright (c) 2009-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "RTE_Components.h" +#include CMSIS_device_header +#include "irq_ctrl.h" + +#define SYSTEM_CLOCK 12000000U + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System Initialization + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ +/* do not use global variables because this function is called before + reaching pre-main. RW section may be overwritten afterwards. */ + + // Invalidate entire Unified TLB + __set_TLBIALL(0); + + // Invalidate entire branch predictor array + __set_BPIALL(0); + __DSB(); + __ISB(); + + // Invalidate instruction cache and flush branch target cache + __set_ICIALLU(0); + __DSB(); + __ISB(); + + // Invalidate data cache + L1C_InvalidateDCacheAll(); + +#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) + // Enable FPU + __FPU_Enable(); +#endif + + // Create Translation Table + MMU_CreateTranslationTable(); + + // Enable MMU + MMU_Enable(); + + // Enable Caches + L1C_EnableCaches(); + L1C_EnableBTAC(); + +#if (__L2C_PRESENT == 1) + // Enable GIC + L2C_Enable(); +#endif + + // IRQ Initialize + IRQ_Initialize(); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.h new file mode 100644 index 0000000..6a2a6da --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.h @@ -0,0 +1,65 @@ +/****************************************************************************** + * @file system_ARMCA5.h + * @brief CMSIS Device System Header File for Arm Cortex-A5 Device Series + * @version V1.00 + * @date 10. January 2018 + * + * @note + * + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __SYSTEM_ARMCA5_H +#define __SYSTEM_ARMCA5_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ + +/** + \brief Setup the microcontroller system. + + Initialize the System and update the SystemCoreClock variable. + */ +extern void SystemInit (void); + + +/** + \brief Update SystemCoreClock variable. + + Updates the SystemCoreClock with current core Clock retrieved from cpu registers. + */ +extern void SystemCoreClockUpdate (void); + +/** + \brief Create Translation Table. + + Creates Memory Management Unit Translation Table. + */ +extern void MMU_CreateTranslationTable(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __SYSTEM_ARMCA5_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/RTE_Components.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/RTE_Components.h new file mode 100644 index 0000000..e894dc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/RTE_Components.h @@ -0,0 +1,20 @@ +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: DspLibTest_FVP_A5 + * RTE configuration: DspLibTest_FVP_A5.rteconfig +*/ +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + +/* + * Define the Device Header File: +*/ +#define CMSIS_device_header "ARMCA5.h" + +#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */ + #define RTE_CMSIS_RTOS2_RTX5 /* CMSIS-RTOS2 Keil RTX5 */ + #define RTE_CMSIS_RTOS2_RTX5_SOURCE /* CMSIS-RTOS2 Keil RTX5 Source */ + +#endif /* RTE_COMPONENTS_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/main.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/main.c new file mode 100644 index 0000000..6ca58ab --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/main.c @@ -0,0 +1,34 @@ +/* -------------------------------------------------------------------------- + * Copyright (c) 2013-2017 ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *---------------------------------------------------------------------------*/ + +#include + +#include "jtest.h" +#include "all_tests.h" +#include "arm_math.h" + + +int main (void) { + + JTEST_INIT(); /* Initialize test framework. */ + JTEST_GROUP_CALL(all_tests); /* Run all tests. */ + JTEST_ACT_EXIT_FW(); /* Exit test framework. */ + + while(1); /* Never return */ +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_MPS2/HowTo.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_MPS2/HowTo.txt new file mode 100644 index 0000000..c466e14 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_MPS2/HowTo.txt @@ -0,0 +1,29 @@ + +Used board: + MPS2+. + +Used BIOS: + mbb_v121.ebf ; use this for ULINKpro + mbb_v220.ebf ; CMSIS-DAP + +Used Images: + AN382\an382_v3.txt ; Cortex-M0 + AN385\an385_v3.txt ; Cortex-M3 + AN386\an386_v3.txt ; Cortex-M4 + AN500\an500_v1.txt ; Cortex-M7 + AN505\an505_v2.txt ; Cortex-M33 (IoT Kit) + AN519\an519_v1.txt ; Cortex-M23 (IoT Kit) + +Used Debugger: + IoT Kit: + ULINKpro, JTAG, 25MHz, HW Reset + other: + ULINKpro, JTAG, 25MHz, Autodetect + +Memory Settings: + IoT Kit: + ROM: 0x10000000 + RAM: 0x38000000 + other: + ROM: 0x00000000 + RAM: 0x20000000 \ No newline at end of file diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MBLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MBLl_config.txt new file mode 100644 index 0000000..d9cb90a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MBLl_config.txt @@ -0,0 +1,11 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLl_config.txt new file mode 100644 index 0000000..9c3cfc2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLl_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLld_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLld_config.txt new file mode 100644 index 0000000..011260a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLld_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLldfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLldfsp_config.txt new file mode 100644 index 0000000..2a0a82a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLldfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLlfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLlfsp_config.txt new file mode 100644 index 0000000..4140d9b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/ARMv8MMLlfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM0l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM0l_config.txt new file mode 100644 index 0000000..8e33c76 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM0l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm0ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm0ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm0ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm0ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM3l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM3l_config.txt new file mode 100644 index 0000000..2caf254 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM3l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm3ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm3ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm3ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm3ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4l_config.txt new file mode 100644 index 0000000..1c9fece --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4lf_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4lf_config.txt new file mode 100644 index 0000000..eb832ed --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM4lf_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7l_config.txt new file mode 100644 index 0000000..4e591c9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfdp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfdp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfdp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfsp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_FVP/cortexM7lfsp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MBLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MBLl_config.txt new file mode 100644 index 0000000..d9cb90a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MBLl_config.txt @@ -0,0 +1,11 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLl_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLl_config.txt new file mode 100644 index 0000000..9c3cfc2 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLl_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLld_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLld_config.txt new file mode 100644 index 0000000..011260a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLld_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLldfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLldfsp_config.txt new file mode 100644 index 0000000..2a0a82a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLldfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLlfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLlfsp_config.txt new file mode 100644 index 0000000..4140d9b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/ARMv8MMLlfsp_config.txt @@ -0,0 +1,13 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +cpu0.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM0l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM0l_config.txt new file mode 100644 index 0000000..8e33c76 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM0l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm0ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm0ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm0ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm0ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM3l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM3l_config.txt new file mode 100644 index 0000000..2caf254 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM3l_config.txt @@ -0,0 +1,8 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm3ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm3ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm3ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm3ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4l_config.txt new file mode 100644 index 0000000..1c9fece --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4lf_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4lf_config.txt new file mode 100644 index 0000000..eb832ed --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM4lf_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm4ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm4ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm4ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm4ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm4ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7l_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7l_config.txt new file mode 100644 index 0000000..4e591c9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7l_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfdp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfdp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfdp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfsp_config.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfsp_config.txt new file mode 100644 index 0000000..1888d60 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_SV_MPS2/cortexM7lfsp_config.txt @@ -0,0 +1,9 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +armcortexm7ct.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +armcortexm7ct.min_sync_level=0x3 # (int , run-time ) default = '0x0' : force minimum syncLevel (0=off=default,1=syncState,2=postInsnIO,3=postInsnAll) : [0x0..0x3] +armcortexm7ct.cpi_mul=0x1 # (int , run-time ) default = '0x1' : multiplier for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +armcortexm7ct.cpi_div=0x1 # (int , run-time ) default = '0x1' : divider for calculating CPI (Cycles Per Instruction) : [0x1..0x7FFFFFFF] +#---------------------------------------------------------------------------------------------- diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt new file mode 100644 index 0000000..41ca5a6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt @@ -0,0 +1,137 @@ +HowTo DSP_Lib_TestSuite 18.02.2019 +======================================= + +This file describes the folder structure, content, prerequisites and instructions to validate the +build of the CMSIS-DSP library. This is done by processing input data sets using the DSP Library +functions executing on a target simulator or hardware. The output data sets are then compared +with the reference data set produced by unoptimized DSP functions and a Signal to Noise Ratio (SNR) +is computed. If the SNR is below a defined threshold the test is considered "passed". + + +Folder structure +---------------- + .\DSP_Lib_TestSuite Batch files for building the reference libraries and running the tests. + .\DSP_Lib_TestSuite\Common + .\DSP_Lib_TestSuite\Common\inc DSP_Lib test include files + .\DSP_Lib_TestSuite\Common\JTest JTEST Test Framework + INI files for uVision + .\DSP_Lib_TestSuite\Common\platform ARM/GCC device startup/system files + .\DSP_Lib_TestSuite\Common\src DSP_Lib test source files + .\DSP_Lib_TestSuite\DspLibTest_FVP ARM/GCC DSP_Lib test projects for Fixed Virtual Platforms + .\DSP_Lib_TestSuite\DspLibTest_MPS2 ARM/GCC DSP_Lib test projects for MPS2 + .\DSP_Lib_TestSuite\DspLibTest_Simulator ARM/GCC DSP_Lib test projects for uVision simulator + .\DSP_Lib_TestSuite\RefLibs ARM/GCC DSP_Lib reference libraries (and projects) + + + +Prerequisites +-------------- + - Python (running on Windows). Tested with ActivePython 2.7.8.10. + - Keil MDK-ARM (tested with MDK-ARM 5.22: http://www2.keil.com/mdk5) + - ULINKpro debug adapter (http://www2.keil.com/mdk5/ulink) + - MPS2 (Cortex-M Prototyping System:https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php) + - CMSIS 5.0.0 (https://github.com/ARM-software/CMSIS_5/releases/tag/5.0.0) + + +Setup +------ + - remove 'read-only' tag from folder .\CMSIS\DSP\Lib + (required for rebuild of the DSP_Lib libraries) + + - open a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite. + + + +How to run the tests +--------------------- + +a) build the DSP_Lib libraries: + - batch file: buildDspLibs.bat + Note: only require if the DSP_Lib source code got updated or the desired configuration is missing + buildDspLibs.bat overwrites the prebuild libraries in .\CMSIS\DSP\Lib. + Log files of the build process are generated in folder .\CMSIS\DSP\DSP_Lib/[ARM|GCC] + - run: buildDspLibs.bat in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + buildDspLibs ARM -> builds the ARMCC libraries + buildDspLibs GCC -> builds the GCC libraries + +b) build the reference libraries: + - batch file: buildRefLibs.bat + + Log files of the build process are generated in folder .\CMSIS\DSP\DSP_Lib_TestSuite\RefLibs/[ARM|GCC] + - run: buildRefLibs.bat in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + buildRefLibs ARM -> builds the ARMCC reference libraries + buildRefLibs GCC -> builds the GCC reference libraries + +c) running an individual test using uVision (MDK-ARM): + - batch file: runTest.bat + - run: runTest.bat in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + runTest -> prints usage information + e.g. runTest ARM cortexM4lf Simulator -> runs the test for toolchain ARM, Cortex-M4 littel endian with FPU, uVision Simulator. + + Tests running on MPS2 requires additional steps to setup. See section 'MPS2'. + +d) parsing the test output log file + - script: parseLog.py + - run: parseLog.py python script in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + command line options should match the invocation of the runTest executed before. + e.g: runTest ARM cortexM4lf Simulator -> python parseLog.py ARM cortexM4lf Simulator + + - check the test log + depending on your test parameters change into the required folder + .\DSP_Lib_TestSuite\DspLibTest_[FVP|MPS2|Simulator]\[ARM|GCC]\Logs + the folder will contain the following files (e.g. for a 'runTest') : + DspLibTest_Simulator.log raw result of the last test run. + DspLibTest_Simulator_cortexM4lf.log raw result of a cortexM4lf test run + DspLibTest_Simulator_cortexM4lf_build.log build result of cortexM4lf test + DspLibTest_Simulator_cortexM4lf_parsed.log parsed log of raw result of a cortexM4lf test run + DspLibTest_Simulator_cortexM4lf_time.log log how long the test took (some tests e.g. M0 take really a long time!). + 'runTest' produces files of the format: DspLibTest__... + + +Differences between the tests for FVP, MPS2, Simulator +------------------------------------------------------ + - all tests are identical except for: + 'Simulator' uses uVision with uVision simulator and generates also code coverage information + can be used for little/big endian tests + ! do not use 'Simulator' for M7 with FPU -> no uVision simulation available. + ! do not use 'Simulator' for ARMv8-M devices -> no uVision simulation available. + 'MPS2' uses uVision with ULINKpro debugger and MPS2. No code coverage information is generated. + can be used for little endian only (because of the lack of MPS2 FPGA images). + 'FVP' uses uVision with Models debugger. No code coverage information is generated. + can be used for little/big endian tests. + ! config files must be prepared. + ! uVision target for big endianess are not yet prepared. + + +Setup 'MPS2' +------------- + - load the appropriate FPGA image to the MPS2 board matching the CPU of the test builds prior to running the test + - check if ULINKpro can connect with the configured debug connection (JTAG or SWD) as this must + match the protocol implemented in the FPGA image. + + +How to select tests for "run all tests" +---------------------------------------- + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\all_tests.c + comment out all unwanted test groups. + e.g. // JTEST_GROUP_CALL(complex_math_tests); + + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\/_group.c + comment out all unwanted sub test groups. + e.g. file .\DSP_Lib_TestSuite\Common\src\basic_math_tests\basic_math_test_group.c -> // JTEST_GROUP_CALL(abs_tests); + + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\/_tests.c + comment out all unwanted tests. + e.g. file .\DSP_Lib_TestSuite\Common\src\basic_math_tests\abs_tests.c -> // JTEST_TEST_CALL(arm_abs_f32_test); + + +Notes +----- + - How to use ARM Clang (ARM Compiler 6): + in uVision 'Options for Target' tab you can select which compiler to use + by default uVision uses ARMCC V5 for Cortex-M devices and ARMCLANG V6 only for ARMv8M. + Only ARMv8M cores have been tested using ARMCLANG + + - test data used for the tests is used as provided by DSP Concepts. + + - some tests run for a very long time before they finish. This is expected + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo_SV.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo_SV.txt new file mode 100644 index 0000000..ccf7531 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo_SV.txt @@ -0,0 +1,117 @@ +HowTo DSP_Lib_TestSuite (Source Variant) 18.02.2019 +====================================================== + +This file describes the folder structure, content, prerequisites and instructions to validate the +build of the CMSIS-DSP library. This is done by processing input data sets using the DSP Library +functions executing on a target simulator or hardware. The output data sets are then compared +with the reference data set produced by unoptimized DSP functions and a Signal to Noise Ratio (SNR) +is computed. If the SNR is below a defined threshold the test is considered "passed". + + +Folder structure +---------------- + .\DSP_Lib_TestSuite Batch files for building the reference libraries and running the tests. + .\DSP_Lib_TestSuite\Common + .\DSP_Lib_TestSuite\Common\inc DSP_Lib test include files + .\DSP_Lib_TestSuite\Common\JTest JTEST Test Framework + INI files for uVision + .\DSP_Lib_TestSuite\Common\platform ARM/GCC device startup/system files + .\DSP_Lib_TestSuite\Common\src DSP_Lib test source files + .\DSP_Lib_TestSuite\DspLibTest_FVP ARM/GCC DSP_Lib test projects for Fixed Virtual Platforms + .\DSP_Lib_TestSuite\DspLibTest_MPS2 ARM/GCC DSP_Lib test projects for MPS2 + .\DSP_Lib_TestSuite\DspLibTest_Simulator ARM/GCC DSP_Lib test projects for uVision simulator + .\DSP_Lib_TestSuite\RefLibs ARM/GCC DSP_Lib reference libraries (and projects) + + + +Prerequisites +-------------- + - Python (running on Windows). Tested with ActivePython 2.7.8.10. + - Keil MDK-ARM (tested with MDK-ARM 5.22: http://www2.keil.com/mdk5) + - ULINKpro debug adapter (http://www2.keil.com/mdk5/ulink) + - MPS2 (Cortex-M Prototyping System:https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php) + - CMSIS 5.0.0 (https://github.com/ARM-software/CMSIS_5/releases/tag/5.0.0) + + +Setup +------ + - open a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite. + + + +How to run the tests +--------------------- + +a) running an individual test using uVision (MDK-ARM): + - batch file: runTest_SV.bat + - run: runTest_SV.bat in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + runTest_SV -> prints usage information + e.g. runTest_SV ARM cortexM4lf Simulator -> runs the test for toolchain ARM, Cortex-M4 littel endian with FPU, uVision Simulator. + + Tests running on MPS2 requires additional steps to setup. See section 'MPS2'. + +d) parsing the test output log file + - script: parseLog_SV.py + - run: parseLog_SV.py python script in a Windows command window in folder .\CMSIS\DSP\DSP_Lib_TestSuite + command line options should match the invocation of the runTest executed before. + e.g: runTest ARM cortexM4lf Simulator -> python parseLog.py ARM cortexM4lf Simulator + + - check the test log + depending on your test parameters change into the required folder + .\DSP_Lib_TestSuite\DspLibTest_[FVP|MPS2|Simulator]\[ARM|GCC]\Logs + the folder will contain the following files (e.g. for a 'runTest') : + DspLibTest_Simulator.log raw result of the last test run. + DspLibTest_Simulator_cortexM4lf.log raw result of a cortexM4lf test run + DspLibTest_Simulator_cortexM4lf_build.log build result of cortexM4lf test + DspLibTest_Simulator_cortexM4lf_parsed.log parsed log of raw result of a cortexM4lf test run + DspLibTest_Simulator_cortexM4lf_time.log log how long the test took (some tests e.g. M0 take really a long time!). + 'runTest' produces files of the format: DspLibTest__... + + +Differences between the tests for FVP, MPS2, Simulator +------------------------------------------------------ + - all tests are identical except for: + 'Simulator' uses uVision with uVision simulator and generates also code coverage information + can be used for little/big endian tests + ! do not use 'Simulator' for M7 with FPU -> no uVision simulation available. + ! do not use 'Simulator' for ARMv8-M devices -> no uVision simulation available. + 'MPS2' uses uVision with ULINKpro debugger and MPS2. No code coverage information is generated. + can be used for little endian only (because of the lack of MPS2 FPGA images). + 'FVP' uses uVision with Models debugger. No code coverage information is generated. + can be used for little/big endian tests. + ! config files must be prepared. + ! uVision target for big endianess are not yet prepared. + + +Setup 'MPS2' +------------- + - load the appropriate FPGA image to the MPS2 board matching the CPU of the test builds prior to running the test + - check if ULINKpro can connect with the configured debug connection (JTAG or SWD) as this must + match the protocol implemented in the FPGA image. + + +How to select tests for "run all tests" +---------------------------------------- + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\all_tests.c + comment out all unwanted test groups. + e.g. // JTEST_GROUP_CALL(complex_math_tests); + + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\/_group.c + comment out all unwanted sub test groups. + e.g. file .\DSP_Lib_TestSuite\Common\src\basic_math_tests\basic_math_test_group.c -> // JTEST_GROUP_CALL(abs_tests); + + - edit .\CMSIS\DSP\DSP_Lib_TestSuite\Common\src\/_tests.c + comment out all unwanted tests. + e.g. file .\DSP_Lib_TestSuite\Common\src\basic_math_tests\abs_tests.c -> // JTEST_TEST_CALL(arm_abs_f32_test); + + +Notes +----- + - How to use ARM Clang (ARM Compiler 6): + in uVision 'Options for Target' tab you can select which compiler to use + by default uVision uses ARMCC V5 for Cortex-M devices and ARMCLANG V6 only for ARMv8M. + Only ARMv8M cores have been tested using ARMCLANG + + - test data used for the tests is used as provided by DSP Concepts. + + - some tests run for a very long time before they finish. This is expected + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt new file mode 100644 index 0000000..2fbb191 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt @@ -0,0 +1,78 @@ +cmake_minimum_required (VERSION 3.6) + +project(DspRefLibs) + +# Needed to find the config modules +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..) + + + + +set(REFSRC src/BasicMathFunctions/abs.c + src/BasicMathFunctions/add.c + src/BasicMathFunctions/dot_prod.c + src/BasicMathFunctions/mult.c + src/BasicMathFunctions/negate.c + src/BasicMathFunctions/offset.c + src/BasicMathFunctions/scale.c + src/BasicMathFunctions/shift.c + src/BasicMathFunctions/sub.c + src/ComplexMathFunctions/cmplx_conj.c + src/ComplexMathFunctions/cmplx_dot_prod.c + src/ComplexMathFunctions/cmplx_mag.c + src/ComplexMathFunctions/cmplx_mag_squared.c + src/ComplexMathFunctions/cmplx_mult_cmplx.c + src/ComplexMathFunctions/cmplx_mult_real.c + src/ControllerFunctions/pid.c + src/ControllerFunctions/sin_cos.c + src/FastMathFunctions/cos.c + src/FastMathFunctions/sin.c + src/FastMathFunctions/sqrt.c + src/FilteringFunctions/biquad.c + src/FilteringFunctions/conv.c + src/FilteringFunctions/correlate.c + src/FilteringFunctions/fir.c + src/FilteringFunctions/fir_decimate.c + src/FilteringFunctions/fir_interpolate.c + src/FilteringFunctions/fir_lattice.c + src/FilteringFunctions/fir_sparse.c + src/FilteringFunctions/iir_lattice.c + src/FilteringFunctions/lms.c + src/HelperFunctions/mat_helper.c + src/HelperFunctions/ref_helper.c + src/Intrinsics/intrinsics.c + src/MatrixFunctions/mat_add.c + src/MatrixFunctions/mat_cmplx_mult.c + src/MatrixFunctions/mat_inverse.c + src/MatrixFunctions/mat_mult.c + src/MatrixFunctions/mat_scale.c + src/MatrixFunctions/mat_sub.c + src/MatrixFunctions/mat_trans.c + src/StatisticsFunctions/max.c + src/StatisticsFunctions/mean.c + src/StatisticsFunctions/min.c + src/StatisticsFunctions/power.c + src/StatisticsFunctions/rms.c + src/StatisticsFunctions/std.c + src/StatisticsFunctions/var.c + src/SupportFunctions/copy.c + src/SupportFunctions/fill.c + src/SupportFunctions/fixed_to_fixed.c + src/SupportFunctions/fixed_to_float.c + src/SupportFunctions/float_to_fixed.c + src/TransformFunctions/bitreversal.c + src/TransformFunctions/cfft.c + src/TransformFunctions/dct4.c + src/TransformFunctions/rfft.c + ) + +add_library(DspRefLibs STATIC ${REFSRC}) + +include(config) +configdsp(DspRefLibs ../../Source) + +### Includes +target_include_directories(DspRefLibs PUBLIC "inc") +target_include_directories(DspRefLibs PUBLIC "../../Include") + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h new file mode 100644 index 0000000..69d83d1 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h @@ -0,0 +1,1401 @@ + +#ifndef _REF_H +#define _REF_H + +#include +#include +#include "arm_math.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef PI +#define PI 3.14159265358979f +#endif + + /** + * @brief 8-bit fractional data type in 1.7 format. + */ +// typedef int8_t q7_t; + + /** + * @brief 16-bit fractional data type in 1.15 format. + */ +// typedef int16_t q15_t; + + /** + * @brief 32-bit fractional data type in 1.31 format. + */ +// typedef int32_t q31_t; + + /** + * @brief 64-bit fractional data type in 1.63 format. + */ +// typedef int64_t q63_t; + + /** + * @brief 32-bit floating-point type definition. + */ +// typedef float float32_t; + + /** + * @brief 64-bit floating-point type definition. + */ +// typedef double float64_t; + + + /** + * @brief Error status returned by some functions in the library. + */ + + typedef enum + { + REF_Q7 = 0, + REF_Q15, + REF_Q31, + REF_F32, + } dataType; + + +#ifndef FLT_MAX +#define FLT_MAX 3.40282347e+38F +#endif + +#define DBL_MAX 1.79769313486231571e+308 + +#ifndef FLT_MIN +#define FLT_MIN 1.175494351e-38F +#endif +#define DBL_MIN 2.22507385850720138e-308 + +#define SCHAR_MIN (-128) + /* mimimum value for an object of type signed char */ +#define SCHAR_MAX 127 + /* maximum value for an object of type signed char */ +#define UCHAR_MAX 255 + /* maximum value for an object of type unsigned char */ +#define SHRT_MIN (-0x8000) + /* minimum value for an object of type short int */ +#define SHRT_MAX 0x7fff + /* maximum value for an object of type short int */ +#define USHRT_MAX 65535 + /* maximum value for an object of type unsigned short int */ +#define INT_MIN (~0x7fffffff) /* -2147483648 and 0x80000000 are unsigned */ + /* minimum value for an object of type int */ +#define INT_MAX 0x7fffffff + /* maximum value for an object of type int */ +#define UINT_MAX 0xffffffffU + /* maximum value for an object of type unsigned int */ +#define LONG_MIN (~0x7fffffffL) + /* minimum value for an object of type long int */ +#define LONG_MAX 0x7fffffffL + /* maximum value for an object of type long int */ +#define ULONG_MAX 0xffffffffUL + /* maximum value for an object of type unsigned long int */ + + /* + * Ref Lib Global Variables + */ +extern float32_t scratchArray[]; +extern arm_cfft_instance_f32 ref_cfft_sR_f32_len8192; + + /* + * Ref Lib Functions + */ + + /* + * Helper Functions + */ +q31_t ref_sat_n(q31_t num, uint32_t bits); + +q31_t ref_sat_q31(q63_t num); + +q15_t ref_sat_q15(q31_t num); + +q7_t ref_sat_q7(q15_t num); + +float32_t ref_pow(float32_t a, uint32_t b); + +extern float32_t tempMatrixArray[]; + +float32_t ref_detrm(float32_t *pSrc, float32_t *temp, uint32_t size); + +void ref_cofact(float32_t *pSrc, float32_t *pDst, float32_t *temp, uint32_t size); + +float64_t ref_detrm64(float64_t *pSrc, float64_t *temp, uint32_t size); + +void ref_cofact64(float64_t *pSrc, float64_t *pDst, float64_t *temp, uint32_t size); + + /* + * Basic Math Functions + */ +void ref_abs_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_abs_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_abs_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_abs_q7( + q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_add_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + +void ref_add_q31( + q31_t * pSrcA, + q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + +void ref_add_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + +void ref_add_q7( + q7_t * pSrcA, + q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + +void ref_dot_prod_f32( + float32_t * pSrcA, + float32_t * pSrcB, + uint32_t blockSize, + float32_t * result); + +void ref_dot_prod_q31( + q31_t * pSrcA, + q31_t * pSrcB, + uint32_t blockSize, + q63_t * result); + +void ref_dot_prod_q15( + q15_t * pSrcA, + q15_t * pSrcB, + uint32_t blockSize, + q63_t * result); + +void ref_dot_prod_q7( + q7_t * pSrcA, + q7_t * pSrcB, + uint32_t blockSize, + q31_t * result); + +void ref_mult_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + +void ref_mult_q31( + q31_t * pSrcA, + q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + +void ref_mult_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + +void ref_mult_q7( + q7_t * pSrcA, + q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + +void ref_negate_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_negate_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_negate_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_negate_q7( + q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_offset_f32( + float32_t * pSrc, + float32_t offset, + float32_t * pDst, + uint32_t blockSize); + +void ref_offset_q31( + q31_t * pSrc, + q31_t offset, + q31_t * pDst, + uint32_t blockSize); + +void ref_offset_q15( + q15_t * pSrc, + q15_t offset, + q15_t * pDst, + uint32_t blockSize); + +void ref_offset_q7( + q7_t * pSrc, + q7_t offset, + q7_t * pDst, + uint32_t blockSize); + +void ref_scale_f32( + float32_t * pSrc, + float32_t scale, + float32_t * pDst, + uint32_t blockSize); + +void ref_scale_q31( + q31_t * pSrc, + q31_t scaleFract, + int8_t shift, + q31_t * pDst, + uint32_t blockSize); + +void ref_scale_q15( + q15_t * pSrc, + q15_t scaleFract, + int8_t shift, + q15_t * pDst, + uint32_t blockSize); + +void ref_scale_q7( + q7_t * pSrc, + q7_t scaleFract, + int8_t shift, + q7_t * pDst, + uint32_t blockSize); + +void ref_shift_q31( + q31_t * pSrc, + int8_t shiftBits, + q31_t * pDst, + uint32_t blockSize); + +void ref_shift_q15( + q15_t * pSrc, + int8_t shiftBits, + q15_t * pDst, + uint32_t blockSize); + +void ref_shift_q7( + q7_t * pSrc, + int8_t shiftBits, + q7_t * pDst, + uint32_t blockSize); + +void ref_sub_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + +void ref_sub_q31( + q31_t * pSrcA, + q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + +void ref_sub_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + +void ref_sub_q7( + q7_t * pSrcA, + q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + + /* + * Complex Math Functions + */ +void ref_cmplx_conj_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + +void ref_cmplx_conj_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + +void ref_cmplx_conj_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + +void ref_cmplx_dot_prod_f32( + float32_t * pSrcA, + float32_t * pSrcB, + uint32_t numSamples, + float32_t * realResult, + float32_t * imagResult); + +void ref_cmplx_dot_prod_q31( + q31_t * pSrcA, + q31_t * pSrcB, + uint32_t numSamples, + q63_t * realResult, + q63_t * imagResult); + +void ref_cmplx_dot_prod_q15( + q15_t * pSrcA, + q15_t * pSrcB, + uint32_t numSamples, + q31_t * realResult, + q31_t * imagResult); + +void ref_cmplx_mag_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mag_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mag_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mag_squared_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mag_squared_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mag_squared_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mult_cmplx_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mult_cmplx_q31( + q31_t * pSrcA, + q31_t * pSrcB, + q31_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mult_cmplx_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t numSamples); + +void ref_cmplx_mult_real_f32( + float32_t * pSrcCmplx, + float32_t * pSrcReal, + float32_t * pCmplxDst, + uint32_t numSamples); + +void ref_cmplx_mult_real_q31( + q31_t * pSrcCmplx, + q31_t * pSrcReal, + q31_t * pCmplxDst, + uint32_t numSamples); + +void ref_cmplx_mult_real_q15( + q15_t * pSrcCmplx, + q15_t * pSrcReal, + q15_t * pCmplxDst, + uint32_t numSamples); + + /* + * Controller Functions + */ +void ref_sin_cos_f32( + float32_t theta, + float32_t * pSinVal, + float32_t * pCosVal); + +void ref_sin_cos_q31( + q31_t theta, + q31_t * pSinVal, + q31_t * pCosVal); + +float32_t ref_pid_f32( + arm_pid_instance_f32 * S, + float32_t in); + +q31_t ref_pid_q31( + arm_pid_instance_q31 * S, + q31_t in); + +q15_t ref_pid_q15( + arm_pid_instance_q15 * S, + q15_t in); + + /* + * Fast Math Functions + */ +#define ref_sin_f32(a) sinf(a) + +q31_t ref_sin_q31(q31_t x); + +q15_t ref_sin_q15(q15_t x); + +#define ref_cos_f32(a) cosf(a) + +q31_t ref_cos_q31(q31_t x); + +q15_t ref_cos_q15(q15_t x); + +arm_status ref_sqrt_q31(q31_t in, q31_t * pOut); + +arm_status ref_sqrt_q15(q15_t in, q15_t * pOut); + + /* + * Filtering Functions + */ +void ref_biquad_cascade_df2T_f32( + const arm_biquad_cascade_df2T_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_stereo_df2T_f32( + const arm_biquad_cascade_stereo_df2T_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df2T_f64( + const arm_biquad_cascade_df2T_instance_f64 * S, + float64_t * pSrc, + float64_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df1_f32( + const arm_biquad_casd_df1_inst_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_biquad_cas_df1_32x64_q31( + const arm_biquad_cas_df1_32x64_ins_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df1_q31( + const arm_biquad_casd_df1_inst_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df1_fast_q31( + const arm_biquad_casd_df1_inst_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df1_fast_q15( + const arm_biquad_casd_df1_inst_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_biquad_cascade_df1_q15( + const arm_biquad_casd_df1_inst_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_conv_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst); + +arm_status ref_conv_partial_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +void ref_conv_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + +void ref_conv_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + +arm_status ref_conv_partial_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +arm_status ref_conv_partial_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +void ref_conv_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + +#define ref_conv_opt_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + pScratch1, pScratch2) \ + ref_conv_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst) + +void ref_conv_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + +void ref_conv_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2); + +arm_status ref_conv_partial_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +#define ref_conv_partial_opt_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + firstIndex, numPoints, \ + pScratch1, pScratch2) \ + ref_conv_partial_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + firstIndex, numPoints) + +arm_status ref_conv_partial_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +arm_status ref_conv_partial_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints, + q15_t * pScratch1, + q15_t * pScratch2); + +void ref_conv_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst); + +#define ref_conv_opt_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + pScratch1, pScratch2) \ + ref_conv_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst) + +arm_status ref_conv_partial_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + +#define ref_conv_partial_opt_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + firstIndex, numPoints, \ + pScratch1, pScratch2) \ + ref_conv_partial_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + firstIndex, numPoints) + +void ref_correlate_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst); + +void ref_correlate_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + +void ref_correlate_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + +void ref_correlate_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + +#define ref_correlate_opt_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + pScratch1) \ + ref_correlate_q15(pSrcA, srcALen, pSrcB, srcBLen, pDst) + +void ref_correlate_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + +void ref_correlate_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch); + +void ref_correlate_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst); + +#define ref_correlate_opt_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst, \ + pScratch1, pScratch2) \ + ref_correlate_q7(pSrcA, srcALen, pSrcB, srcBLen, pDst) + +void ref_fir_f32( + const arm_fir_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_fir_q31( + const arm_fir_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_fast_q31( + const arm_fir_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_q15( + const arm_fir_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_fir_fast_q15( + const arm_fir_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_fir_q7( + const arm_fir_instance_q7 * S, + q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_fir_decimate_f32( + const arm_fir_decimate_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_fir_decimate_q31( + const arm_fir_decimate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_decimate_fast_q31( + const arm_fir_decimate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_decimate_q15( + const arm_fir_decimate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_fir_decimate_fast_q15( + const arm_fir_decimate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_fir_lattice_f32( + const arm_fir_lattice_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_fir_lattice_q31( + const arm_fir_lattice_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_lattice_q15( + const arm_fir_lattice_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_fir_sparse_f32( + arm_fir_sparse_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + float32_t * pScratchIn, + uint32_t blockSize); + +void ref_fir_sparse_q31( + arm_fir_sparse_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + q31_t * pScratchIn, + uint32_t blockSize); + +void ref_fir_sparse_q15( + arm_fir_sparse_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + q15_t * pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize); + +void ref_fir_sparse_q7( + arm_fir_sparse_instance_q7 * S, + q7_t *pSrc, + q7_t *pDst, + q7_t *pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize); + +void ref_iir_lattice_f32( + const arm_iir_lattice_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_iir_lattice_q31( + const arm_iir_lattice_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_iir_lattice_q15( + const arm_iir_lattice_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_lms_f32( + const arm_lms_instance_f32 * S, + float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize); + +void ref_lms_norm_f32( + arm_lms_norm_instance_f32 * S, + float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize); + +void ref_lms_q31( + const arm_lms_instance_q31 * S, + q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize); + +void ref_lms_norm_q31( + arm_lms_norm_instance_q31 * S, + q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize); + +void ref_lms_q15( + const arm_lms_instance_q15 * S, + q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize); + +void ref_lms_norm_q15( + arm_lms_norm_instance_q15 * S, + q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize); + +void ref_fir_interpolate_f32( + const arm_fir_interpolate_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_fir_interpolate_q31( + const arm_fir_interpolate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_fir_interpolate_q15( + const arm_fir_interpolate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + /* + * Matrix Functions + */ +arm_status ref_mat_cmplx_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_cmplx_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + +arm_status ref_mat_cmplx_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + +arm_status ref_mat_inverse_f32( + const arm_matrix_instance_f32 * pSrc, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_inverse_f64( + const arm_matrix_instance_f64 * pSrc, + arm_matrix_instance_f64 * pDst); + +arm_status ref_mat_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + +/* Alias for testing purposes*/ +#define ref_mat_mult_fast_q31 ref_mat_mult_q31 + +arm_status ref_mat_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + +/* Alias for testing purposes*/ +#define ref_mat_mult_fast_q15 ref_mat_mult_q15 + +arm_status ref_mat_scale_f32( + const arm_matrix_instance_f32 * pSrc, + float32_t scale, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_scale_q31( + const arm_matrix_instance_q31 * pSrc, + q31_t scale, + int32_t shift, + arm_matrix_instance_q31 * pDst); + +arm_status ref_mat_scale_q15( + const arm_matrix_instance_q15 * pSrc, + q15_t scale, + int32_t shift, + arm_matrix_instance_q15 * pDst); + +arm_status ref_mat_sub_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_sub_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + +arm_status ref_mat_sub_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + +arm_status ref_mat_trans_f64( + const arm_matrix_instance_f64 * pSrc, + arm_matrix_instance_f64 * pDst); + +arm_status ref_mat_trans_f32( + const arm_matrix_instance_f32 * pSrc, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_trans_q31( + const arm_matrix_instance_q31 * pSrc, + arm_matrix_instance_q31 * pDst); + +arm_status ref_mat_trans_q15( + const arm_matrix_instance_q15 * pSrc, + arm_matrix_instance_q15 * pDst); + +arm_status ref_mat_add_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + +arm_status ref_mat_add_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + +arm_status ref_mat_add_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + + /* + * Statistics Functions + */ +void ref_max_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult, + uint32_t * pIndex); + +void ref_max_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult, + uint32_t * pIndex); + +void ref_max_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult, + uint32_t * pIndex); + +void ref_max_q7( + q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult, + uint32_t * pIndex); + +void ref_mean_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + +void ref_mean_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + +void ref_mean_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + +void ref_mean_q7( + q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult); + +void ref_min_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult, + uint32_t * pIndex); + +void ref_min_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult, + uint32_t * pIndex); + +void ref_min_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult, + uint32_t * pIndex); + +void ref_min_q7( + q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult, + uint32_t * pIndex); + +void ref_power_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + +void ref_power_q31( + q31_t * pSrc, + uint32_t blockSize, + q63_t * pResult); + +void ref_power_q15( + q15_t * pSrc, + uint32_t blockSize, + q63_t * pResult); + +void ref_power_q7( + q7_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + +void ref_rms_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + +void ref_rms_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + +void ref_rms_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + +void ref_std_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + +void ref_std_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + +void ref_std_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + +void ref_var_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + +void ref_var_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + +void ref_var_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + + /* + * Support Functions + */ +void ref_copy_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_copy_q31( + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_copy_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_copy_q7( + q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_fill_f32( + float32_t value, + float32_t * pDst, + uint32_t blockSize); + +void ref_fill_q31( + q31_t value, + q31_t * pDst, + uint32_t blockSize); + +void ref_fill_q15( + q15_t value, + q15_t * pDst, + uint32_t blockSize); + +void ref_fill_q7( + q7_t value, + q7_t * pDst, + uint32_t blockSize); + +void ref_q31_to_q15( + q31_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_q31_to_q7( + q31_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_q15_to_q31( + q15_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_q15_to_q7( + q15_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + +void ref_q7_to_q31( + q7_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_q7_to_q15( + q7_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_q63_to_float( + q63_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_q31_to_float( + q31_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_q15_to_float( + q15_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_q7_to_float( + q7_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + +void ref_float_to_q31( + float32_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + +void ref_float_to_q15( + float32_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + +void ref_float_to_q7( + float32_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + /* + * Transform Functions + */ +void ref_cfft_f32( + const arm_cfft_instance_f32 * S, + float32_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +void ref_cfft_q31( + const arm_cfft_instance_q31 * S, + q31_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +void ref_cfft_q15( + const arm_cfft_instance_q15 * S, + q15_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +void ref_cfft_radix2_f32( + const arm_cfft_radix2_instance_f32 * S, + float32_t * pSrc); + +void ref_cfft_radix2_q31( + const arm_cfft_radix2_instance_q31 * S, + q31_t * pSrc); + +void ref_cfft_radix2_q15( + const arm_cfft_radix2_instance_q15 * S, + q15_t * pSrc); + +void ref_cfft_radix4_f32( + const arm_cfft_radix4_instance_f32 * S, + float32_t * pSrc); + +void ref_cfft_radix4_q31( + const arm_cfft_radix4_instance_q31 * S, + q31_t * pSrc); + +void ref_cfft_radix4_q15( + const arm_cfft_radix4_instance_q15 * S, + q15_t * pSrc); + +void ref_rfft_f32( + arm_rfft_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst); + +void ref_rfft_fast_f32( + arm_rfft_fast_instance_f32 * S, + float32_t * p, float32_t * pOut, + uint8_t ifftFlag); + +void ref_rfft_q31( + const arm_rfft_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst); + +void ref_rfft_q15( + const arm_rfft_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst); + +void ref_dct4_f32( + const arm_dct4_instance_f32 * S, + float32_t * pState, + float32_t * pInlineBuffer); + +void ref_dct4_q31( + const arm_dct4_instance_q31 * S, + q31_t * pState, + q31_t * pInlineBuffer); + +void ref_dct4_q15( + const arm_dct4_instance_q15 * S, + q15_t * pState, + q15_t * pInlineBuffer); + + /* + * Intrinsics + */ +q31_t ref__QADD8(q31_t x, q31_t y); +q31_t ref__QSUB8(q31_t x, q31_t y); +q31_t ref__QADD16(q31_t x, q31_t y); +q31_t ref__SHADD16(q31_t x, q31_t y); +q31_t ref__QSUB16(q31_t x, q31_t y); +q31_t ref__SHSUB16(q31_t x, q31_t y); +q31_t ref__QASX(q31_t x, q31_t y); +q31_t ref__SHASX(q31_t x, q31_t y); +q31_t ref__QSAX(q31_t x, q31_t y); +q31_t ref__SHSAX(q31_t x, q31_t y); +q31_t ref__SMUSDX(q31_t x, q31_t y); +q31_t ref__SMUADX(q31_t x, q31_t y); +q31_t ref__QADD(q31_t x, q31_t y); +q31_t ref__QSUB(q31_t x, q31_t y); +q31_t ref__SMLAD(q31_t x, q31_t y, q31_t sum); +q31_t ref__SMLADX(q31_t x, q31_t y, q31_t sum); +q31_t ref__SMLSDX(q31_t x, q31_t y, q31_t sum); +q63_t ref__SMLALD(q31_t x, q31_t y, q63_t sum); +q63_t ref__SMLALDX(q31_t x, q31_t y, q63_t sum); +q31_t ref__SMUAD(q31_t x, q31_t y); +q31_t ref__SMUSD(q31_t x, q31_t y); +q31_t ref__SXTB16(q31_t x); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/BasicMathFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/BasicMathFunctions.c new file mode 100644 index 0000000..3f4dfbc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/BasicMathFunctions.c @@ -0,0 +1,11 @@ + +#include "abs.c" +#include "add.c" +#include "dot_prod.c" +#include "mult.c" +#include "negate.c" +#include "offset.c" +#include "scale.c" +#include "shift.c" +#include "sub.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/abs.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/abs.c new file mode 100644 index 0000000..9aba7d1 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/abs.c @@ -0,0 +1,53 @@ +#include "ref.h" + +void ref_abs_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 14; //16.48 + } + *result = sum; +} + +void ref_dot_prod_q15( + q15_t * pSrcA, + q15_t * pSrcB, + uint32_t blockSize, + q63_t * result) +{ + uint32_t i; + q63_t sum = 0.0f; + + for(i=0;i> 32; + temp = temp << 1; + pDst[i] = ref_sat_q31(temp); + } +} + +void ref_mult_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + q31_t temp; + + for(i=0;i> 15; //this comment is for JD, this is specifically 15 and not 16 like the q31 case might imply. This is because CMSIS DSP lib does it this way. No other reason. + pDst[i] = ref_sat_q15(temp); + } +} + +void ref_mult_q7( + q7_t * pSrcA, + q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + q15_t temp; + + for(i=0;i> 7; + pDst[i] = ref_sat_q7(temp); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/negate.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/negate.c new file mode 100644 index 0000000..7ee1299 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/negate.c @@ -0,0 +1,53 @@ +#include "ref.h" + +void ref_negate_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 32; + if (sign) + pDst[i] = temp >> -kShift; + else + pDst[i] = ref_sat_q31( (q63_t)temp << kShift ); + } +} + +void ref_scale_q15( + q15_t * pSrc, + q15_t scaleFract, + int8_t shift, + q15_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + int8_t kShift = 15 - shift; /* Shift to apply after scaling */ + + for(i=0;i> kShift); + } +} + +void ref_scale_q7( + q7_t * pSrc, + q7_t scaleFract, + int8_t shift, + q7_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + int8_t kShift = 7 - shift; /* Shift to apply after scaling */ + + for(i=0;i> kShift); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/shift.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/shift.c new file mode 100644 index 0000000..7d8a049 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/shift.c @@ -0,0 +1,73 @@ +#include "ref.h" + +void ref_shift_q31( + q31_t * pSrc, + int8_t shiftBits, + q31_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + if (shiftBits < 0) + { + for(i=0;i> -shiftBits; + } + } +} + +void ref_shift_q15( + q15_t * pSrc, + int8_t shiftBits, + q15_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + if (shiftBits < 0) + { + for(i=0;i> -shiftBits; + } + } +} + +void ref_shift_q7( + q7_t * pSrc, + int8_t shiftBits, + q7_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + if (shiftBits < 0) + { + for(i=0;i> -shiftBits; + } + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/sub.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/sub.c new file mode 100644 index 0000000..996459b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/BasicMathFunctions/sub.c @@ -0,0 +1,57 @@ +#include "ref.h" + +void ref_sub_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 14) - (((q63_t)pSrcA[i+1] * pSrcB[i+1]) >> 14); + sumi += (((q63_t)pSrcA[i] * pSrcB[i+1]) >> 14) + (((q63_t)pSrcA[i+1] * pSrcB[i] ) >> 14); + } + + *realResult = sumr; + *imagResult = sumi; +} + +void ref_cmplx_dot_prod_q15( + q15_t * pSrcA, + q15_t * pSrcB, + uint32_t numSamples, + q31_t * realResult, + q31_t * imagResult) +{ + q63_t sumr, sumi; + uint32_t i; + + sumr = 0; + sumi = 0; + + for(i=0;i> 6); + *imagResult = (q31_t)(sumi >> 6); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag.c new file mode 100644 index 0000000..1c2ddc8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag.c @@ -0,0 +1,49 @@ +#include "ref.h" + +void ref_cmplx_mag_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + + for(i=0;i> 33); + acc1 = (q31_t)(((q63_t)pSrc[i+1] * pSrc[i+1]) >> 33); + out = acc0 + acc1; + *pDst++ = (q31_t)(sqrtf((float)out / 2147483648.0f) * 2147483648.0f); + } +} + +void ref_cmplx_mag_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + q31_t acc0,acc1; + q15_t out; + + for(i=0;i> 17); + *pDst++ = (q15_t)(sqrtf((float)out / 32768.0f) * 32768.0f); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag_squared.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag_squared.c new file mode 100644 index 0000000..6dd8681 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mag_squared.c @@ -0,0 +1,46 @@ +#include "ref.h" + +void ref_cmplx_mag_squared_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + + for(i=0;i> 33); + acc1 = (q31_t)(((q63_t)pSrc[i+1] * pSrc[i+1]) >> 33); + *pDst++ = acc0 + acc1; + } +} + +void ref_cmplx_mag_squared_q15( + q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + q31_t acc0,acc1; + + for(i=0;i> 17); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_cmplx.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_cmplx.c new file mode 100644 index 0000000..61ac49c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_cmplx.c @@ -0,0 +1,56 @@ +#include "ref.h" + +void ref_cmplx_mult_cmplx_f32( + float32_t * pSrcA, + float32_t * pSrcB, + float32_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + + for(i=0;i> 33; + mul2 = ((q63_t)pSrcA[i+1] * pSrcB[i+1]) >> 33; + mul3 = ((q63_t)pSrcA[i] * pSrcB[i+1]) >> 33; + mul4 = ((q63_t)pSrcA[i+1] * pSrcB[i]) >> 33; + pDst[i] = mul1 - mul2; + pDst[i+1] = mul3 + mul4; + } +} + +void ref_cmplx_mult_cmplx_q15( + q15_t * pSrcA, + q15_t * pSrcB, + q15_t * pDst, + uint32_t numSamples) +{ + uint32_t i; + q31_t mul1, mul2, mul3, mul4; + + for(i=0;i> 17; + mul2 = ((q31_t)pSrcA[i+1] * pSrcB[i+1]) >> 17; + mul3 = ((q31_t)pSrcA[i] * pSrcB[i+1]) >> 17; + mul4 = ((q31_t)pSrcA[i+1] * pSrcB[i]) >> 17; + pDst[i] = mul1 - mul2; + pDst[i+1] = mul3 + mul4; + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_real.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_real.c new file mode 100644 index 0000000..c273fd3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ComplexMathFunctions/cmplx_mult_real.c @@ -0,0 +1,52 @@ +#include "ref.h" + +void ref_cmplx_mult_real_f32( + float32_t * pSrcCmplx, + float32_t * pSrcReal, + float32_t * pCmplxDst, + uint32_t numSamples) +{ + uint32_t i; + + for(i=0;i> 32; + tempI = ((q63_t) pSrcCmplx[2*i+1] * pSrcReal[i]) >> 32; + pCmplxDst[2*i+0] = ref_sat_n(tempR, 31) << 1; + pCmplxDst[2*i+1] = ref_sat_n(tempI, 31) << 1; + } +} + +void ref_cmplx_mult_real_q15( + q15_t * pSrcCmplx, + q15_t * pSrcReal, + q15_t * pCmplxDst, + uint32_t numSamples) +{ + uint32_t i; + q31_t tempR, tempI; + + for(i=0;i> 15; + tempI = ((q31_t) pSrcCmplx[2*i+1] * pSrcReal[i]) >> 15; + pCmplxDst[2*i+0] = ref_sat_q15(tempR); + pCmplxDst[2*i+1] = ref_sat_q15(tempI); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/ControllerFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/ControllerFunctions.c new file mode 100644 index 0000000..0c39953 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/ControllerFunctions.c @@ -0,0 +1,4 @@ + +#include "pid.c" +#include "sin_cos.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c new file mode 100644 index 0000000..652991e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c @@ -0,0 +1,97 @@ +#include "ref.h" + +float32_t ref_pid_f32( + arm_pid_instance_f32 * S, + float32_t in) +{ + float32_t out; + + /* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] */ + out = S->state[2] + S->A0 * in + S->A1 * S->state[0] + S->A2 * S->state[1]; + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); +} + +q31_t ref_pid_q31( + arm_pid_instance_q31 * S, + q31_t in) +{ + q63_t acc; + q31_t out; + + /* acc = A0 * x[n] */ + acc = (q63_t) S->A0 * in; + + /* acc += A1 * x[n-1] */ + acc += (q63_t) S->A1 * S->state[0]; + + /* acc += A2 * x[n-2] */ + acc += (q63_t) S->A2 * S->state[1]; + + /* convert output to 1.31 format to add y[n-1] */ + out = (q31_t) (acc >> 31U); + + /* out += y[n-1] */ + out += S->state[2]; + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); +} + +q15_t ref_pid_q15( + arm_pid_instance_q15 * S, + q15_t in) +{ + q63_t acc; + q15_t out; + q15_t A1, A2; + +#if defined (ARM_MATH_DSP) + +#ifndef ARM_MATH_BIG_ENDIAN + A2 = S->A1 >> 16; + A1 = (q15_t)S->A1; +#else + A1 = S->A1 >> 16; + A2 = (q15_t)S->A1; +#endif + +#else + + A1 = S->A1; + A2 = S->A2; + +#endif + + /* acc = A0 * x[n] */ + acc = ((q31_t) S->A0) * in; + + /* acc += A1 * x[n-1] + A2 * x[n-2] */ + acc += (q31_t) A1 * S->state[0]; + acc += (q31_t) A2 * S->state[1]; + + /* acc += y[n-1] */ + acc += (q31_t) S->state[2] << 15; + + /* saturate the output */ + out = ref_sat_q15(acc >> 15); + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c new file mode 100644 index 0000000..3dd3955 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c @@ -0,0 +1,21 @@ +#include "ref.h" + +void ref_sin_cos_f32( + float32_t theta, + float32_t * pSinVal, + float32_t * pCosVal) +{ + //theta is given in degrees + *pSinVal = sinf(theta * 6.28318530717959f / 360.0f); + *pCosVal = cosf(theta * 6.28318530717959f / 360.0f); +} + +void ref_sin_cos_q31( + q31_t theta, + q31_t * pSinVal, + q31_t * pCosVal) +{ + //theta is given in the range [-1,1) to represent [-pi,pi) + *pSinVal = (q31_t)(sinf((float32_t)theta * 3.14159265358979f / 2147483648.0f) * 2147483648.0f); + *pCosVal = (q31_t)(cosf((float32_t)theta * 3.14159265358979f / 2147483648.0f) * 2147483648.0f); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/FastMathFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/FastMathFunctions.c new file mode 100644 index 0000000..bc59cb4 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/FastMathFunctions.c @@ -0,0 +1,5 @@ + +#include "cos.c" +#include "sin.c" +#include "sqrt.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c new file mode 100644 index 0000000..245942f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/cos.c @@ -0,0 +1,11 @@ +#include "ref.h" + +q31_t ref_cos_q31(q31_t x) +{ + return (q31_t)(cosf((float32_t)x * 6.28318530717959f / 2147483648.0f) * 2147483648.0f); +} + +q15_t ref_cos_q15(q15_t x) +{ + return (q15_t)(cosf((float32_t)x * 6.28318530717959f / 32768.0f) * 32768.0f); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c new file mode 100644 index 0000000..ecd4aa0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sin.c @@ -0,0 +1,11 @@ +#include "ref.h" + +q31_t ref_sin_q31(q31_t x) +{ + return (q31_t)(sinf((float32_t)x * 6.28318530717959f / 2147483648.0f) * 2147483648.0f); +} + +q15_t ref_sin_q15(q15_t x) +{ + return (q15_t)(sinf((float32_t)x * 6.28318530717959f / 32768.0f) * 32768.0f); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c new file mode 100644 index 0000000..30b42ee --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FastMathFunctions/sqrt.c @@ -0,0 +1,15 @@ +#include "ref.h" + +arm_status ref_sqrt_q31(q31_t in, q31_t * pOut) +{ + *pOut = (q31_t)(sqrtf((float32_t)in / 2147483648.0f) * 2147483648.0f); + + return ARM_MATH_SUCCESS; +} + +arm_status ref_sqrt_q15(q15_t in, q15_t * pOut) +{ + *pOut = (q15_t)(sqrtf((float32_t)in / 32768.0f) * 32768.0f); + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/FilteringFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/FilteringFunctions.c new file mode 100644 index 0000000..8faec35 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/FilteringFunctions.c @@ -0,0 +1,12 @@ + +#include "biquad.c" +#include "conv.c" +#include "correlate.c" +#include "fir.c" +#include "fir_decimate.c" +#include "fir_interpolate.c" +#include "fir_lattice.c" +#include "fir_sparse.c" +#include "iir_lattice.c" +#include "lms.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/biquad.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/biquad.c new file mode 100644 index 0000000..1eb7667 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/biquad.c @@ -0,0 +1,713 @@ +#include "ref.h" + +void ref_biquad_cascade_df2T_f32( + const arm_biquad_cascade_df2T_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pIn = pSrc; /* source pointer */ + float32_t *pOut = pDst; /* destination pointer */ + float32_t *pState = S->pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* coefficient pointer */ + float32_t acc; /* accumulator */ + float32_t b0, b1, b2, a1, a2; /* Filter coefficients */ + float32_t Xn; /* temporary input */ + float32_t d1, d2; /* state variables */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /*Reading the state values */ + d1 = pState[0]; + d2 = pState[1]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* y[n] = b0 * x[n] + d1 */ + acc = (b0 * Xn) + d1; + + /* Store the result in the accumulator in the destination buffer. */ + *pOut++ = acc; + + /* Every time after the output is computed state should be updated. */ + /* d1 = b1 * x[n] + a1 * y[n] + d2 */ + d1 = (b1 * Xn + a1 * acc) + d2; + + /* d2 = b2 * x[n] + a2 * y[n] */ + d2 = (b2 * Xn) + (a2 * acc); + + /* decrement the loop counter */ + sample--; + } + + /* Store the updated state variables back into the state array */ + *pState++ = d1; + *pState++ = d2; + + /* The current stage input is given as the output to the next stage */ + pIn = pDst; + + /*Reset the output working pointer */ + pOut = pDst; + + /* decrement the loop counter */ + stage--; + + } while (stage > 0U); +} + + +void ref_biquad_cascade_stereo_df2T_f32( + const arm_biquad_cascade_stereo_df2T_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pIn = pSrc; /* source pointer */ + float32_t *pOut = pDst; /* destination pointer */ + float32_t *pState = S->pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* coefficient pointer */ + float32_t acc1a, acc1b; /* accumulator */ + float32_t b0, b1, b2, a1, a2; /* Filter coefficients */ + float32_t Xn1a, Xn1b; /* temporary input */ + float32_t d1a, d2a, d1b, d2b; /* state variables */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /*Reading the state values */ + d1a = pState[0]; + d2a = pState[1]; + d1b = pState[2]; + d2b = pState[3]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn1a = *pIn++; //Channel a + Xn1b = *pIn++; //Channel b + + /* y[n] = b0 * x[n] + d1 */ + acc1a = (b0 * Xn1a) + d1a; + acc1b = (b0 * Xn1b) + d1b; + + /* Store the result in the accumulator in the destination buffer. */ + *pOut++ = acc1a; + *pOut++ = acc1b; + + /* Every time after the output is computed state should be updated. */ + /* d1 = b1 * x[n] + a1 * y[n] + d2 */ + d1a = ((b1 * Xn1a) + (a1 * acc1a)) + d2a; + d1b = ((b1 * Xn1b) + (a1 * acc1b)) + d2b; + + /* d2 = b2 * x[n] + a2 * y[n] */ + d2a = (b2 * Xn1a) + (a2 * acc1a); + d2b = (b2 * Xn1b) + (a2 * acc1b); + + /* decrement the loop counter */ + sample--; + } + + /* Store the updated state variables back into the state array */ + *pState++ = d1a; + *pState++ = d2a; + *pState++ = d1b; + *pState++ = d2b; + + /* The current stage input is given as the output to the next stage */ + pIn = pDst; + + /*Reset the output working pointer */ + pOut = pDst; + + /* decrement the loop counter */ + stage--; + + } while (stage > 0U); + +} + +void ref_biquad_cascade_df2T_f64( + const arm_biquad_cascade_df2T_instance_f64 * S, + float64_t * pSrc, + float64_t * pDst, + uint32_t blockSize) +{ + float64_t *pIn = pSrc; /* source pointer */ + float64_t *pOut = pDst; /* destination pointer */ + float64_t *pState = S->pState; /* State pointer */ + float64_t *pCoeffs = S->pCoeffs; /* coefficient pointer */ + float64_t acc; /* accumulator */ + float64_t b0, b1, b2, a1, a2; /* Filter coefficients */ + float64_t Xn; /* temporary input */ + float64_t d1, d2; /* state variables */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /*Reading the state values */ + d1 = pState[0]; + d2 = pState[1]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* y[n] = b0 * x[n] + d1 */ + acc = (b0 * Xn) + d1; + + /* Store the result in the accumulator in the destination buffer. */ + *pOut++ = acc; + + /* Every time after the output is computed state should be updated. */ + /* d1 = b1 * x[n] + a1 * y[n] + d2 */ + d1 = (b1 * Xn + a1 * acc) + d2; + + /* d2 = b2 * x[n] + a2 * y[n] */ + d2 = (b2 * Xn) + (a2 * acc); + + /* decrement the loop counter */ + sample--; + } + + /* Store the updated state variables back into the state array */ + *pState++ = d1; + *pState++ = d2; + + /* The current stage input is given as the output to the next stage */ + pIn = pDst; + + /*Reset the output working pointer */ + pOut = pDst; + + /* decrement the loop counter */ + stage--; + + } while (stage > 0U); +} + +void ref_biquad_cascade_df1_f32( + const arm_biquad_casd_df1_inst_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pIn = pSrc; /* source pointer */ + float32_t *pOut = pDst; /* destination pointer */ + float32_t *pState = S->pState; /* pState pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* coefficient pointer */ + float32_t acc; /* Simulates the accumulator */ + float32_t b0, b1, b2, a1, a2; /* Filter coefficients */ + float32_t Xn1, Xn2, Yn1, Yn2; /* Filter pState variables */ + float32_t Xn; /* temporary input */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the pState values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + /* The variables acc holds the output value that is computed: + * acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] + */ + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + acc = (b0 * Xn) + (b1 * Xn1) + (b2 * Xn2) + (a1 * Yn1) + (a2 * Yn2); + + /* Store the result in the accumulator in the destination buffer. */ + *pOut++ = acc; + + /* Every time after the output is computed state should be updated. */ + /* The states should be updated as: */ + /* Xn2 = Xn1 */ + /* Xn1 = Xn */ + /* Yn2 = Yn1 */ + /* Yn1 = acc */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + Yn1 = acc; + + /* decrement the loop counter */ + sample--; + } + + /* Store the updated state variables back into the pState array */ + *pState++ = Xn1; + *pState++ = Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + /* The first stage goes from the input buffer to the output buffer. */ + /* Subsequent numStages occur in-place in the output buffer */ + pIn = pDst; + + /* Reset the output pointer */ + pOut = pDst; + + /* decrement the loop counter */ + stage--; + + } while (stage > 0U); +} + +void ref_biquad_cas_df1_32x64_q31( + const arm_biquad_cas_df1_32x64_ins_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t *pIn = pSrc; /* input pointer initialization */ + q31_t *pOut = pDst; /* output pointer initialization */ + q63_t *pState = S->pState; /* state pointer initialization */ + const q31_t *pCoeffs = S->pCoeffs; /* coeff pointer initialization */ + q63_t acc; /* accumulator */ + q31_t Xn1, Xn2; /* Input Filter state variables */ + q63_t Yn1, Yn2; /* Output Filter state variables */ + q31_t b0, b1, b2, a1, a2; /* Filter coefficients */ + q31_t Xn; /* temporary input */ + int32_t shift = (int32_t) S->postShift + 1; /* Shift to be applied to the output */ + uint32_t sample, stage = S->numStages; /* loop counters */ + q31_t acc_l, acc_h; /* temporary output */ + uint32_t uShift = ((uint32_t) S->postShift + 1U); + uint32_t lShift = 32U - uShift; /* Shift to be applied to the output */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the state values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + acc = (q63_t)Xn*b0 + (q63_t)Xn1*b1 + (q63_t)Xn2*b2; + /* acc += a1 * y[n-1] */ + acc += mult32x64(Yn1, a1); + /* acc += a2 * y[n-2] */ + acc += mult32x64(Yn2, a2); + + /* Every time after the output is computed state should be updated. */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + + /* The result is converted to 1.63, Yn1 variable is reused */ + Yn1 = acc << shift; + + /* Calc lower part of acc */ + acc_l = acc & 0xffffffff; + + /* Calc upper part of acc */ + acc_h = (acc >> 32) & 0xffffffff; + + /* Apply shift for lower part of acc and upper part of acc */ + acc_h = (uint32_t) acc_l >> lShift | acc_h << uShift; + + /* Store the output in the destination buffer in 1.31 format. */ + *pOut++ = acc_h; + + /* decrement the loop counter */ + sample--; + } + + /* The first stage output is given as input to the second stage. */ + pIn = pDst; + + /* Reset to destination buffer working pointer */ + pOut = pDst; + + /* Store the updated state variables back into the pState array */ + *pState++ = (q63_t) Xn1; + *pState++ = (q63_t) Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + } while (--stage); +} + +void ref_biquad_cascade_df1_q31( + const arm_biquad_casd_df1_inst_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q63_t acc; /* accumulator */ + uint32_t uShift = ((uint32_t) S->postShift + 1U); + uint32_t lShift = 32U - uShift; /* Shift to be applied to the output */ + q31_t *pIn = pSrc; /* input pointer initialization */ + q31_t *pOut = pDst; /* output pointer initialization */ + q31_t *pState = S->pState; /* pState pointer initialization */ + const q31_t *pCoeffs = S->pCoeffs; /* coeff pointer initialization */ + q31_t Xn1, Xn2, Yn1, Yn2; /* Filter state variables */ + q31_t b0, b1, b2, a1, a2; /* Filter coefficients */ + q31_t Xn; /* temporary input */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the state values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + /* The variables acc holds the output value that is computed: + * acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] + */ + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + /* acc = b0 * x[n] */ + acc = (q63_t) b0 *Xn; + + /* acc += b1 * x[n-1] */ + acc += (q63_t) b1 *Xn1; + /* acc += b[2] * x[n-2] */ + acc += (q63_t) b2 *Xn2; + /* acc += a1 * y[n-1] */ + acc += (q63_t) a1 *Yn1; + /* acc += a2 * y[n-2] */ + acc += (q63_t) a2 *Yn2; + + /* The result is converted to 1.31 */ + acc = acc >> lShift; + + /* Every time after the output is computed state should be updated. */ + /* The states should be updated as: */ + /* Xn2 = Xn1 */ + /* Xn1 = Xn */ + /* Yn2 = Yn1 */ + /* Yn1 = acc */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + Yn1 = (q31_t) acc; + + /* Store the output in the destination buffer. */ + *pOut++ = (q31_t) acc; + + /* decrement the loop counter */ + sample--; + } + + /* The first stage goes from the input buffer to the output buffer. */ + /* Subsequent stages occur in-place in the output buffer */ + pIn = pDst; + + /* Reset to destination pointer */ + pOut = pDst; + + /* Store the updated state variables back into the pState array */ + *pState++ = Xn1; + *pState++ = Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + } while (--stage); +} + + +void ref_biquad_cascade_df1_fast_q31( + const arm_biquad_casd_df1_inst_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t acc = 0; /* accumulator */ + q31_t Xn1, Xn2, Yn1, Yn2; /* Filter state variables */ + q31_t b0, b1, b2, a1, a2; /* Filter coefficients */ + q31_t *pIn = pSrc; /* input pointer initialization */ + q31_t *pOut = pDst; /* output pointer initialization */ + q31_t *pState = S->pState; /* pState pointer initialization */ + const q31_t *pCoeffs = S->pCoeffs; /* coeff pointer initialization */ + q31_t Xn; /* temporary input */ + int32_t shift = (int32_t) S->postShift + 1; /* Shift to be applied to the output */ + uint32_t sample, stage = S->numStages; /* loop counters */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the state values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + mult_32x32_keep32_R(acc, b0, Xn); + multAcc_32x32_keep32_R(acc, b1, Xn1); + multAcc_32x32_keep32_R(acc, b2, Xn2); + multAcc_32x32_keep32_R(acc, a1, Yn1); + multAcc_32x32_keep32_R(acc, a2, Yn2); + + /* The result is converted to 1.31 */ + acc <<= shift; + + /* Every time after the output is computed state should be updated. */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + Yn1 = acc; + + /* Store the output in the destination buffer. */ + *pOut++ = acc; + + /* decrement the loop counter */ + sample--; + } + + /* The first stage goes from the input buffer to the output buffer. */ + /* Subsequent stages occur in-place in the output buffer */ + pIn = pDst; + + /* Reset to destination pointer */ + pOut = pDst; + + /* Store the updated state variables back into the pState array */ + *pState++ = Xn1; + *pState++ = Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + } while (--stage); +} + +void ref_biquad_cascade_df1_fast_q15( + const arm_biquad_casd_df1_inst_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pIn = pSrc; /* Source pointer */ + q15_t *pOut = pDst; /* Destination pointer */ + q15_t b0, b1, b2, a1, a2; /* Filter coefficients */ + q15_t Xn1, Xn2, Yn1, Yn2; /* Filter state variables */ + q15_t Xn; /* temporary input */ + q31_t acc; /* Accumulator */ + int32_t shift = (15 - (int32_t) S->postShift); /* Post shift */ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + uint32_t sample, stage = (uint32_t) S->numStages; /* Stage loop counter */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + pCoeffs++; // skip the 0 coefficient + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the state values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + acc = (q31_t)b0*Xn + (q31_t)b1*Xn1 + (q31_t)b2*Xn2 + (q31_t)a1*Yn1 + (q31_t)a2*Yn2; + + /* The result is converted to 1.15 */ + acc = ref_sat_q15(acc >> shift); + + /* Every time after the output is computed state should be updated. */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + Yn1 = (q15_t) acc; + + /* Store the output in the destination buffer. */ + *pOut++ = (q15_t) acc; + + /* decrement the loop counter */ + sample--; + } + + /* The first stage goes from the input buffer to the output buffer. */ + /* Subsequent stages occur in-place in the output buffer */ + pIn = pDst; + + /* Reset to destination pointer */ + pOut = pDst; + + /* Store the updated state variables back into the pState array */ + *pState++ = Xn1; + *pState++ = Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + } while (--stage); +} + +void ref_biquad_cascade_df1_q15( + const arm_biquad_casd_df1_inst_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pIn = pSrc; /* Source pointer */ + q15_t *pOut = pDst; /* Destination pointer */ + q15_t b0, b1, b2, a1, a2; /* Filter coefficients */ + q15_t Xn1, Xn2, Yn1, Yn2; /* Filter state variables */ + q15_t Xn; /* temporary input */ + q63_t acc; /* Accumulator */ + int32_t shift = (15 - (int32_t) S->postShift); /* Post shift */ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + uint32_t sample, stage = (uint32_t) S->numStages; /* Stage loop counter */ + + do + { + /* Reading the coefficients */ + b0 = *pCoeffs++; + pCoeffs++; // skip the 0 coefficient + b1 = *pCoeffs++; + b2 = *pCoeffs++; + a1 = *pCoeffs++; + a2 = *pCoeffs++; + + /* Reading the state values */ + Xn1 = pState[0]; + Xn2 = pState[1]; + Yn1 = pState[2]; + Yn2 = pState[3]; + + sample = blockSize; + + while (sample > 0U) + { + /* Read the input */ + Xn = *pIn++; + + /* acc = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2] */ + acc = (q31_t)b0*Xn + (q31_t)b1*Xn1 + (q31_t)b2*Xn2 + (q31_t)a1*Yn1 + (q31_t)a2*Yn2; + + /* The result is converted to 1.15 */ + acc = ref_sat_q15(acc >> shift); + + /* Every time after the output is computed state should be updated. */ + Xn2 = Xn1; + Xn1 = Xn; + Yn2 = Yn1; + Yn1 = (q15_t) acc; + + /* Store the output in the destination buffer. */ + *pOut++ = (q15_t) acc; + + /* decrement the loop counter */ + sample--; + } + + /* The first stage goes from the input buffer to the output buffer. */ + /* Subsequent stages occur in-place in the output buffer */ + pIn = pDst; + + /* Reset to destination pointer */ + pOut = pDst; + + /* Store the updated state variables back into the pState array */ + *pState++ = Xn1; + *pState++ = Xn2; + *pState++ = Yn1; + *pState++ = Yn2; + + } while (--stage); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/conv.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/conv.c new file mode 100644 index 0000000..b10c874 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/conv.c @@ -0,0 +1,350 @@ +#include "ref.h" + +void ref_conv_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst) +{ + float32_t sum; /* Accumulator */ + uint32_t i, j; /* loop counters */ + + /* Loop to calculate convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry out MAC operations */ + sum = 0.0f; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += pSrcB[i - j] * pSrcA[j]; + } + } + /* Store the output in the destination buffer */ + pDst[i] = sum; + } +} + +arm_status ref_conv_partial_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_f32(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} + +void ref_conv_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst) +{ + q63_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q63_t) pSrcA[j] * (pSrcB[i - j]); + } + } + + /* Store the output in the destination buffer */ + pDst[i] = (q31_t)(sum >> 31U); + } +} + +void ref_conv_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst) +{ + q31_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum = (q31_t) ((((q63_t)sum << 32) + + ((q63_t)pSrcA[j] * pSrcB[i - j])) >> 32); + } + } + + /* Store the output in the destination buffer */ + pDst[i] = (q31_t)(sum << 1U); + } +} + +arm_status ref_conv_partial_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_q31(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} + +arm_status ref_conv_partial_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_fast_q31(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} + +void ref_conv_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst) +{ + q63_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q31_t)pSrcA[j] * pSrcB[i - j]; + } + } + + /* Store the output in the destination buffer */ + pDst[i] = ref_sat_q15(sum >> 15U); + } +} + +arm_status ref_conv_partial_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints, + q15_t * pScratch1, + q15_t * pScratch2) +{ + q31_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q31_t)pSrcA[j] * pSrcB[i - j]; + } + } + + /* Store the output in the destination buffer */ + pDst[i] = ref_sat_q15(sum >> 15U); + } + + return ARM_MATH_SUCCESS; +} + +void ref_conv_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst) +{ + q31_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q31_t)pSrcA[j] * pSrcB[i - j]; + } + } + + /* Store the output in the destination buffer */ + pDst[i] = sum >> 15U; + } +} + +void ref_conv_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2) +{ + q31_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q31_t)pSrcA[j] * pSrcB[i - j]; + } + } + + /* Store the output in the destination buffer */ + pDst[i] = ref_sat_q15(sum >> 15U); + } +} + +arm_status ref_conv_partial_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_q15(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} + +arm_status ref_conv_partial_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_fast_q15(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} + + +void ref_conv_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst) +{ + q31_t sum; /* Accumulator */ + uint32_t i, j; /* loop counter */ + + /* Loop to calculate output of convolution for output length number of times */ + for (i = 0; i < srcALen + srcBLen - 1; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += (q15_t)pSrcA[j] * pSrcB[i - j]; + } + } + + /* Store the output in the destination buffer */ + pDst[i] = (q7_t)ref_sat_q7(sum >> 7); + } +} + +arm_status ref_conv_partial_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + uint32_t firstIndex, + uint32_t numPoints) +{ + ref_conv_q7(pSrcA,srcALen,pSrcB,srcBLen,pDst); + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/correlate.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/correlate.c new file mode 100644 index 0000000..9ce170c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/correlate.c @@ -0,0 +1,513 @@ +#include "ref.h" + +void ref_correlate_f32( + float32_t * pSrcA, + uint32_t srcALen, + float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst) +{ + float32_t *pIn1 = pSrcA; /* inputA pointer */ + float32_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + float32_t sum; /* Accumulator */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* The algorithm implementation is based on the lengths of the inputs. + * srcB is always made to slide across srcA. + * So srcBLen is always considered as shorter or equal to srcALen + * But CORR(x, y) is reverse of CORR(y, x) + * So, when srcBLen > srcALen, output pointer is made to point to the end of the output buffer + * and a variable, inv is set to 1 + * If lengths are not equal then zero pad has to be done to make the two + * inputs of same length. But to improve the performance, we include zeroes + * in the output instead of zero padding either of the the inputs + * If srcALen > srcBLen, (srcALen - srcBLen) zeroes has to included in the + * starting of the output buffer + * If srcALen < srcBLen, (srcALen - srcBLen) zeroes has to included in the + * ending of the output buffer + * Once the zero padding is done the remaining of the output is calcualted + * using convolution but with the shorter signal time shifted. + */ + + /* Calculate the length of the remaining sequence */ + tot = srcALen + srcBLen - 2U; + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + /* Initialise the pointer after zero padding */ + pDst += srcALen - srcBLen; + } + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + srcALen - 1U; + + /* Initialisation of the pointer after zero padding */ + pDst += tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + } + + /* Loop to calculate convolution for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0.0f; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((i - j < srcBLen) && (j < srcALen)) + { + /* z[i] += x[i-j] * y[j] */ + sum += pIn1[j] * pIn2[-((int32_t)i - j)]; + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = sum; + else + *pDst++ = sum; + } +} + +void ref_correlate_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst) +{ + q31_t *pIn1 = pSrcA; /* inputA pointer */ + q31_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q63_t sum; /* Accumulators */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate correlation for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to correlation equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum += ((q63_t) pIn1[j] * pIn2[-((int32_t) i - j)]); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q31_t)(sum >> 31U); + else + *pDst++ = (q31_t)(sum >> 31U); + } +} + +void ref_correlate_fast_q31( + q31_t * pSrcA, + uint32_t srcALen, + q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst) +{ + q31_t *pIn1 = pSrcA; /* inputA pointer */ + q31_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q63_t sum; /* Accumulators */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate correlation for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to correlation equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum = (q31_t) ((((q63_t) sum << 32) + + ((q63_t) pIn1[j] * pIn2[-((int32_t) i - j)])) >> 32); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q31_t)(sum << 1U); + else + *pDst++ = (q31_t)(sum << 1U); + } +} + +void ref_correlate_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst) +{ + q15_t *pIn1 = pSrcA; /* inputA pointer */ + q15_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q63_t sum; /* Accumulators */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate convolution for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum += ((q31_t) pIn1[j] * pIn2[-((int32_t) i - j)]); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q15_t) ref_sat_q15(sum >> 15U); + else + *pDst++ = (q15_t) ref_sat_q15(sum >> 15U); + } +} + +void ref_correlate_fast_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst) +{ + q15_t *pIn1 = pSrcA; /* inputA pointer */ + q15_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q63_t sum; /* Accumulators */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate convolution for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum += ((q31_t) pIn1[j] * pIn2[-((int32_t) i - j)]); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q15_t)(sum >> 15U); + else + *pDst++ = (q15_t)(sum >> 15U); + } +} + +void ref_correlate_fast_opt_q15( + q15_t * pSrcA, + uint32_t srcALen, + q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch) +{ + q15_t *pIn1 = pSrcA; /* inputA pointer */ + q15_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q31_t sum; /* Accumulators */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate convolution for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum += ((q31_t) pIn1[j] * pIn2[-((int32_t) i - j)]); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q15_t) ref_sat_q15(sum >> 15U); + else + *pDst++ = (q15_t) ref_sat_q15(sum >> 15U); + } +} + +void ref_correlate_q7( + q7_t * pSrcA, + uint32_t srcALen, + q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst) +{ + q7_t *pIn1 = pSrcA; /* inputA pointer */ + q7_t *pIn2 = pSrcB + (srcBLen - 1U); /* inputB pointer */ + q31_t sum; /* Accumulator */ + uint32_t i = 0U, j; /* loop counters */ + uint32_t inv = 0U; /* Reverse order flag */ + uint32_t tot = 0U; /* Length */ + + /* Calculate the length of the remaining sequence */ + tot = ((srcALen + srcBLen) - 2U); + + if (srcALen > srcBLen) + { + /* Calculating the number of zeros to be padded to the output */ + j = srcALen - srcBLen; + + /* Initialise the pointer after zero padding */ + pDst += j; + } + + else if (srcALen < srcBLen) + { + /* Initialization to inputB pointer */ + pIn1 = pSrcB; + + /* Initialization to the end of inputA pointer */ + pIn2 = pSrcA + (srcALen - 1U); + + /* Initialisation of the pointer after zero padding */ + pDst = pDst + tot; + + /* Swapping the lengths */ + j = srcALen; + srcALen = srcBLen; + srcBLen = j; + + /* Setting the reverse flag */ + inv = 1; + + } + + /* Loop to calculate convolution for output length number of times */ + for (i = 0U; i <= tot; i++) + { + /* Initialize sum with zero to carry on MAC operations */ + sum = 0; + + /* Loop to perform MAC operations according to convolution equation */ + for (j = 0U; j <= i; j++) + { + /* Check the array limitations */ + if ((((i - j) < srcBLen) && (j < srcALen))) + { + /* z[i] += x[i-j] * y[j] */ + sum += ((q15_t) pIn1[j] * pIn2[-((int32_t) i - j)]); + } + } + /* Store the output in the destination buffer */ + if (inv == 1) + *pDst-- = (q7_t) __SSAT((sum >> 7U), 8U); + else + *pDst++ = (q7_t) __SSAT((sum >> 7U), 8U); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir.c new file mode 100644 index 0000000..40ab773 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir.c @@ -0,0 +1,325 @@ +#include "ref.h" + +void ref_fir_f32( + const arm_fir_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pState = S->pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counters */ + float32_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;ipState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counter */ + q63_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;i> 31); + + /* Advance state pointer by 1 for the next sample */ + pState++; + + blockSize--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the starting of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counter */ + q31_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;i> 32); + } + + /* The result is store in the destination buffer. */ + *pDst++ = (q31_t)(acc << 1); + + /* Advance state pointer by 1 for the next sample */ + pState++; + + blockSize--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the starting of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counter */ + q63_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;i> 15); + + /* Advance state pointer by 1 for the next sample */ + pState++; + + blockSize--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the starting of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counter */ + q31_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;i> 15); + + /* Advance state pointer by 1 for the next sample */ + pState++; + + blockSize--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the starting of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const q7_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q7_t *pStateCurnt; /* Points to the current sample of the state */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i; /* Loop counter */ + q31_t acc; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + while (blockSize > 0U) + { + /* Copy one sample at a time into state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + acc = 0.0f; + + for(i=0;i> 7); + + /* Advance state pointer by 1 for the next sample */ + pState++; + + blockSize--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the starting of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy data */ + for(i=0;ipState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *pStateCurnt; /* Points to the current sample of the state */ + float32_t sum0; /* Accumulator */ + float32_t x0, c0; /* Temporary variables to hold state and coefficient values */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i, blkCnt; /* Loop counters */ + + /* S->pState buffer contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + numTaps - 1U; + + /* Total number of output samples to be computed */ + blkCnt = blockSize / S->M; + + while (blkCnt > 0U) + { + /* Copy decimation factor number of new input samples into the state buffer */ + i = S->M; + + do + { + *pStateCurnt++ = *pSrc++; + } while (--i); + + /* Set accumulator to zero */ + sum0 = 0.0f; + + for(i=0;iM; + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = sum0; + + /* Decrement the loop counter */ + blkCnt--; + } + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + /* Copy numTaps number of values */ + i = numTaps - 1U; + + /* copy data */ + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } +} + +void ref_fir_decimate_q31( + const arm_fir_decimate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t x0, c0; /* Temporary variables to hold state and coefficient values */ + q63_t sum0; /* Accumulator */ + uint32_t numTaps = S->numTaps; /* Number of taps */ + uint32_t i, blkCnt; /* Loop counters */ + + /* S->pState buffer contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + numTaps - 1U; + + /* Total number of output samples to be computed */ + blkCnt = blockSize / S->M; + + while (blkCnt > 0U) + { + /* Copy decimation factor number of new input samples into the state buffer */ + i = S->M; + + do + { + *pStateCurnt++ = *pSrc++; + + } while (--i); + + /* Set accumulator to zero */ + sum0 = 0; + + for(i=0;iM; + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = (q31_t) (sum0 >> 31); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + i = numTaps - 1U; + + /* copy data */ + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } +} + +void ref_fir_decimate_fast_q31( + const arm_fir_decimate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t x0, c0; /* Temporary variables to hold state and coefficient values */ + q31_t sum0; /* Accumulator */ + uint32_t numTaps = S->numTaps; /* Number of taps */ + uint32_t i, blkCnt; /* Loop counters */ + + /* S->pState buffer contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + numTaps - 1U; + + /* Total number of output samples to be computed */ + blkCnt = blockSize / S->M; + + while (blkCnt > 0U) + { + /* Copy decimation factor number of new input samples into the state buffer */ + i = S->M; + + do + { + *pStateCurnt++ = *pSrc++; + + } while (--i); + + /* Set accumulator to zero */ + sum0 = 0; + + for(i=0;i> 32); + } + + /* Advance the state pointer by the decimation factor + * to process the next group of decimation factor number samples */ + pState = pState + S->M; + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = (q31_t) (sum0 << 1); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + i = numTaps - 1U; + + /* copy data */ + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } +} + +void ref_fir_decimate_q15( + const arm_fir_decimate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t x0, c0; /* Temporary variables to hold state and coefficient values */ + q63_t sum0; /* Accumulator */ + uint32_t numTaps = S->numTaps; /* Number of taps */ + uint32_t i, blkCnt; /* Loop counters */ + + /* S->pState buffer contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + numTaps - 1U; + + /* Total number of output samples to be computed */ + blkCnt = blockSize / S->M; + + while (blkCnt > 0U) + { + /* Copy decimation factor number of new input samples into the state buffer */ + i = S->M; + + do + { + *pStateCurnt++ = *pSrc++; + + } while (--i); + + /* Set accumulator to zero */ + sum0 = 0; + + for(i=0;iM; + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = ref_sat_q15(sum0 >> 15); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + i = numTaps - 1U; + + /* copy data */ + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } +} + +void ref_fir_decimate_fast_q15( + const arm_fir_decimate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + q15_t x0, c0; /* Temporary variables to hold state and coefficient values */ + q31_t sum0; /* Accumulator */ + uint32_t numTaps = S->numTaps; /* Number of taps */ + uint32_t i, blkCnt; /* Loop counters */ + + /* S->pState buffer contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + numTaps - 1U; + + /* Total number of output samples to be computed */ + blkCnt = blockSize / S->M; + + while (blkCnt > 0U) + { + /* Copy decimation factor number of new input samples into the state buffer */ + i = S->M; + + do + { + *pStateCurnt++ = *pSrc++; + + } while (--i); + + /* Set accumulator to zero */ + sum0 = 0; + + for(i=0;iM; + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = ref_sat_q15(sum0 >> 15); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last numTaps - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + i = numTaps - 1U; + + /* copy data */ + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } +} + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_interpolate.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_interpolate.c new file mode 100644 index 0000000..bfc5c09 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_interpolate.c @@ -0,0 +1,291 @@ +#include "ref.h" + +void ref_fir_interpolate_f32( + const arm_fir_interpolate_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pState = S->pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *pStateCurnt; /* Points to the current sample of the state */ + float32_t *ptr1; /* Temporary pointer for state buffer */ + const float32_t *ptr2; /* Temporary pointer for coefficient buffer */ + float32_t sum; /* Accumulator */ + uint32_t i, blkCnt; /* Loop counters */ + uint16_t phaseLen = S->phaseLength, tapCnt; /* Length of each polyphase filter component */ + + + /* S->pState buffer contains previous frame (phaseLen - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + phaseLen - 1; + + /* Total number of intput samples */ + blkCnt = blockSize; + + /* Loop over the blockSize. */ + while (blkCnt > 0U) + { + /* Copy new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Loop over the Interpolation factor. */ + i = S->L; + + while (i > 0U) + { + /* Set accumulator to zero */ + sum = 0.0f; + + /* Initialize state pointer */ + ptr1 = pState; + + /* Initialize coefficient pointer */ + ptr2 = pCoeffs + i - 1; + + /* Loop over the polyPhase length */ + tapCnt = phaseLen; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + sum += *ptr1++ * *ptr2; + + /* Increment the coefficient pointer by interpolation factor times. */ + ptr2 += S->L; + + /* Decrement the loop counter */ + tapCnt--; + } + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = sum; + + /* Decrement the loop counter */ + i--; + } + + /* Advance the state pointer by 1 + * to process the next group of interpolation factor number samples */ + pState = pState + 1; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last phaseLen - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + tapCnt = phaseLen - 1U; + + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } + +} + +void ref_fir_interpolate_q31( + const arm_fir_interpolate_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t *ptr1; /* Temporary pointer for state buffer */ + const q31_t *ptr2; /* Temporary pointer for coefficient buffer */ + q63_t sum; /* Accumulator */ + q31_t x0, c0; /* Temporary variables to hold state and coefficient values */ + uint32_t i, blkCnt; /* Loop counters */ + uint16_t phaseLen = S->phaseLength, tapCnt; /* Length of each polyphase filter component */ + + + /* S->pState buffer contains previous frame (phaseLen - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + (q31_t)phaseLen - 1; + + /* Total number of intput samples */ + blkCnt = blockSize; + + /* Loop over the blockSize. */ + while (blkCnt > 0U) + { + /* Copy new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Loop over the Interpolation factor. */ + i = S->L; + + while (i > 0U) + { + /* Set accumulator to zero */ + sum = 0; + + /* Initialize state pointer */ + ptr1 = pState; + + /* Initialize coefficient pointer */ + ptr2 = pCoeffs + i - 1; + + tapCnt = phaseLen; + + while (tapCnt > 0U) + { + /* Read the coefficient */ + c0 = *(ptr2); + + /* Increment the coefficient pointer by interpolation factor times. */ + ptr2 += S->L; + + /* Read the input sample */ + x0 = *ptr1++; + + /* Perform the multiply-accumulate */ + sum += (q63_t) x0 *c0; + + /* Decrement the loop counter */ + tapCnt--; + } + + /* The result is in the accumulator, store in the destination buffer. */ + *pDst++ = (q31_t)(sum >> 31); + + /* Decrement the loop counter */ + i--; + } + + /* Advance the state pointer by 1 + * to process the next group of interpolation factor number samples */ + pState = pState + 1; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last phaseLen - 1 samples to the satrt of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + tapCnt = phaseLen - 1U; + + /* copy data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } + +} + +void ref_fir_interpolate_q15( + const arm_fir_interpolate_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + q15_t *ptr1; /* Temporary pointer for state buffer */ + const q15_t *ptr2; /* Temporary pointer for coefficient buffer */ + q63_t sum; /* Accumulator */ + q15_t x0, c0; /* Temporary variables to hold state and coefficient values */ + uint32_t i, blkCnt, tapCnt; /* Loop counters */ + uint16_t phaseLen = S->phaseLength; /* Length of each polyphase filter component */ + + + /* S->pState buffer contains previous frame (phaseLen - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = S->pState + phaseLen - 1; + + /* Total number of intput samples */ + blkCnt = blockSize; + + /* Loop over the blockSize. */ + while (blkCnt > 0U) + { + /* Copy new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Loop over the Interpolation factor. */ + i = S->L; + + while (i > 0U) + { + /* Set accumulator to zero */ + sum = 0; + + /* Initialize state pointer */ + ptr1 = pState; + + /* Initialize coefficient pointer */ + ptr2 = pCoeffs + i - 1; + + /* Loop over the polyPhase length */ + tapCnt = (uint32_t)phaseLen; + + while (tapCnt > 0U) + { + /* Read the coefficient */ + c0 = *ptr2; + + /* Increment the coefficient pointer by interpolation factor times. */ + ptr2 += S->L; + + /* Read the input sample */ + x0 = *ptr1++; + + /* Perform the multiply-accumulate */ + sum += (q31_t) x0 * c0; + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Store the result after converting to 1.15 format in the destination buffer */ + *pDst++ = ref_sat_q15(sum >> 15); + + /* Decrement the loop counter */ + i--; + } + + /* Advance the state pointer by 1 + * to process the next group of interpolation factor number samples */ + pState = pState + 1; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Processing is complete. + ** Now copy the last phaseLen - 1 samples to the start of the state buffer. + ** This prepares the state buffer for the next function call. */ + + /* Points to the start of the state buffer */ + pStateCurnt = S->pState; + + i = (uint32_t) phaseLen - 1U; + + while (i > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + i--; + } + +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_lattice.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_lattice.c new file mode 100644 index 0000000..efaa44a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_lattice.c @@ -0,0 +1,241 @@ +#include "ref.h" + +void ref_fir_lattice_f32( + const arm_fir_lattice_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t *pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *px; /* temporary state pointer */ + const float32_t *pk; /* temporary coefficient pointer */ + float32_t fcurr, fnext, gcurr, gnext; /* temporary variables */ + uint32_t numStages = S->numStages; /* Length of the filter */ + uint32_t blkCnt, stageCnt; /* temporary variables for counts */ + + pState = &S->pState[0]; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* f0(n) = x(n) */ + fcurr = *pSrc++; + + /* Initialize coeff pointer */ + pk = pCoeffs; + + /* Initialize state pointer */ + px = pState; + + /* read g0(n-1) from state buffer */ + gcurr = *px; + + /* for sample 1 processing */ + /* f1(n) = f0(n) + K1 * g0(n-1) */ + fnext = fcurr + ((*pk) * gcurr); + /* g1(n) = f0(n) * K1 + g0(n-1) */ + gnext = (fcurr * (*pk++)) + gcurr; + + /* save f0(n) in state buffer */ + *px++ = fcurr; + + /* f1(n) is saved in fcurr + for next stage processing */ + fcurr = fnext; + + stageCnt = (numStages - 1U); + + /* stage loop */ + while (stageCnt > 0U) + { + /* read g2(n) from state buffer */ + gcurr = *px; + + /* save g1(n) in state buffer */ + *px++ = gnext; + + /* Sample processing for K2, K3.... */ + /* f2(n) = f1(n) + K2 * g1(n-1) */ + fnext = fcurr + ((*pk) * gcurr); + /* g2(n) = f1(n) * K2 + g1(n-1) */ + gnext = (fcurr * (*pk++)) + gcurr; + + /* f1(n) is saved in fcurr1 + for next stage processing */ + fcurr = fnext; + + stageCnt--; + } + + /* y(n) = fN(n) */ + *pDst++ = fcurr; + + blkCnt--; + } +} + +void ref_fir_lattice_q31( + const arm_fir_lattice_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t *pState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *px; /* temporary state pointer */ + const q31_t *pk; /* temporary coefficient pointer */ + q31_t fcurr, fnext, gcurr, gnext; /* temporary variables */ + uint32_t numStages = S->numStages; /* Length of the filter */ + uint32_t blkCnt, stageCnt; /* temporary variables for counts */ + + pState = &S->pState[0]; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* f0(n) = x(n) */ + fcurr = *pSrc++; + + /* Initialize coeff pointer */ + pk = pCoeffs; + + /* Initialize state pointer */ + px = pState; + + /* read g0(n-1) from state buffer */ + gcurr = *px; + + /* for sample 1 processing */ + /* f1(n) = f0(n) + K1 * g0(n-1) */ + fnext = (q31_t) (((q63_t) gcurr * (*pk)) >> 31) + fcurr; + /* g1(n) = f0(n) * K1 + g0(n-1) */ + gnext = (q31_t) (((q63_t) fcurr * (*pk++)) >> 31) + gcurr; + /* save g1(n) in state buffer */ + *px++ = fcurr; + + /* f1(n) is saved in fcurr1 + for next stage processing */ + fcurr = fnext; + + stageCnt = (numStages - 1U); + + /* stage loop */ + while (stageCnt > 0U) + { + /* read g2(n) from state buffer */ + gcurr = *px; + + /* save g1(n) in state buffer */ + *px++ = gnext; + + /* Sample processing for K2, K3.... */ + /* f2(n) = f1(n) + K2 * g1(n-1) */ + fnext = (q31_t) (((q63_t) gcurr * (*pk)) >> 31) + fcurr; + /* g2(n) = f1(n) * K2 + g1(n-1) */ + gnext = (q31_t) (((q63_t) fcurr * (*pk++)) >> 31) + gcurr; + + /* f1(n) is saved in fcurr1 + for next stage processing */ + fcurr = fnext; + + stageCnt--; + + } + + /* y(n) = fN(n) */ + *pDst++ = fcurr; + + blkCnt--; + + } +} + +void ref_fir_lattice_q15( + const arm_fir_lattice_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q15_t *pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *px; /* temporary state pointer */ + const q15_t *pk; /* temporary coefficient pointer */ + q31_t fcurnt, fnext, gcurnt, gnext; /* temporary variables */ + uint32_t numStages = S->numStages; /* Length of the filter */ + uint32_t blkCnt, stageCnt; /* temporary variables for counts */ + + pState = &S->pState[0]; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* f0(n) = x(n) */ + fcurnt = *pSrc++; + + /* Initialize coeff pointer */ + pk = (pCoeffs); + + /* Initialize state pointer */ + px = pState; + + /* read g0(n-1) from state buffer */ + gcurnt = *px; + + /* for sample 1 processing */ + /* f1(n) = f0(n) + K1 * g0(n-1) */ + fnext = ((gcurnt * (*pk)) >> 15U) + fcurnt; + fnext = ref_sat_q15(fnext); + + + /* g1(n) = f0(n) * K1 + g0(n-1) */ + gnext = ((fcurnt * (*pk++)) >> 15U) + gcurnt; + gnext = ref_sat_q15(gnext); + + /* save f0(n) in state buffer */ + *px++ = (q15_t) fcurnt; + + /* f1(n) is saved in fcurnt + for next stage processing */ + fcurnt = fnext; + + stageCnt = (numStages - 1U); + + /* stage loop */ + while (stageCnt > 0U) + { + /* read g1(n-1) from state buffer */ + gcurnt = *px; + + /* save g0(n-1) in state buffer */ + *px++ = (q15_t) gnext; + + /* Sample processing for K2, K3.... */ + /* f2(n) = f1(n) + K2 * g1(n-1) */ + fnext = ((gcurnt * (*pk)) >> 15U) + fcurnt; + fnext = ref_sat_q15(fnext); + + /* g2(n) = f1(n) * K2 + g1(n-1) */ + gnext = ((fcurnt * (*pk++)) >> 15U) + gcurnt; + gnext = ref_sat_q15(gnext); + + + /* f1(n) is saved in fcurnt + for next stage processing */ + fcurnt = fnext; + + stageCnt--; + + } + + /* y(n) = fN(n) */ + *pDst++ = ref_sat_q15(fcurnt); + + + blkCnt--; + + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_sparse.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_sparse.c new file mode 100644 index 0000000..060128f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/fir_sparse.c @@ -0,0 +1,485 @@ +#include "ref.h" + +void ref_fir_sparse_f32( + arm_fir_sparse_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + float32_t * pScratchIn, + uint32_t blockSize) +{ + float32_t *pState = S->pState; /* State pointer */ + const float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *px; /* Scratch buffer pointer */ + float32_t *py = pState; /* Temporary pointers for state buffer */ + float32_t *pb = pScratchIn; /* Temporary pointers for scratch buffer */ + float32_t *pOut; /* Destination pointer */ + int32_t *pTapDelay = S->pTapDelay; /* Pointer to the array containing offset of the non-zero tap values. */ + uint32_t delaySize = S->maxDelay + blockSize; /* state length */ + uint16_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + int32_t readIndex; /* Read index of the state buffer */ + uint32_t tapCnt, blkCnt; /* loop counters */ + float32_t coeff = *pCoeffs++; /* Read the first coefficient value */ + + + /* BlockSize of Input samples are copied into the state buffer */ + /* StateIndex points to the starting position to write in the state buffer */ + arm_circularWrite_f32((int32_t *) py, delaySize, &S->stateIndex, 1, + (int32_t *) pSrc, 1, blockSize); + + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = ((int32_t) S->stateIndex - (int32_t) blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_f32((int32_t *) py, delaySize, &readIndex, 1, + (int32_t *) pb, (int32_t *) pb, blockSize, 1, + blockSize); + + /* Working pointer for the scratch buffer */ + px = pb; + + /* Working pointer for destination buffer */ + pOut = pDst; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiplications and store in destination buffer */ + *pOut++ = *px++ * coeff; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Loop over the number of taps. */ + tapCnt = (uint32_t) numTaps - 1U; + + while (tapCnt > 0U) + { + /* Load the coefficient value and + * increment the coefficient buffer for the next set of state values */ + coeff = *pCoeffs++; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = ((int32_t) S->stateIndex - (int32_t) blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_f32((int32_t *) py, delaySize, &readIndex, 1, + (int32_t *) pb, (int32_t *) pb, blockSize, 1, + blockSize); + + /* Working pointer for the scratch buffer */ + px = pb; + + /* Working pointer for destination buffer */ + pOut = pDst; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiply-Accumulate */ + *pOut++ += *px++ * coeff; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Decrement the tap loop counter */ + tapCnt--; + } +} + +void ref_fir_sparse_q31( + arm_fir_sparse_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + q31_t * pScratchIn, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + const q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *px; /* Scratch buffer pointer */ + q31_t *py = pState; /* Temporary pointers for state buffer */ + q31_t *pb = pScratchIn; /* Temporary pointers for scratch buffer */ + q31_t *pOut; /* Destination pointer */ + q63_t out; /* Temporary output variable */ + int32_t *pTapDelay = S->pTapDelay; /* Pointer to the array containing offset of the non-zero tap values. */ + uint32_t delaySize = S->maxDelay + blockSize; /* state length */ + uint16_t numTaps = S->numTaps; /* Filter order */ + int32_t readIndex; /* Read index of the state buffer */ + uint32_t tapCnt, blkCnt; /* loop counters */ + q31_t coeff = *pCoeffs++; /* Read the first coefficient value */ + q31_t in; + + + /* BlockSize of Input samples are copied into the state buffer */ + /* StateIndex points to the starting position to write in the state buffer */ + arm_circularWrite_f32((int32_t *) py, delaySize, &S->stateIndex, 1, + (int32_t *) pSrc, 1, blockSize); + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = (int32_t) (S->stateIndex - blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_f32((int32_t *) py, delaySize, &readIndex, 1, + (int32_t *) pb, (int32_t *) pb, blockSize, 1, + blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pOut = pDst; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiplications and store in the destination buffer */ + *pOut++ = (q31_t) (((q63_t) * px++ * coeff) >> 32); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Loop over the number of taps. */ + tapCnt = (uint32_t) numTaps - 1U; + + while (tapCnt > 0U) + { + /* Load the coefficient value and + * increment the coefficient buffer for the next set of state values */ + coeff = *pCoeffs++; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = (int32_t) (S->stateIndex - blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_f32((int32_t *) py, delaySize, &readIndex, 1, + (int32_t *) pb, (int32_t *) pb, blockSize, 1, + blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pOut = pDst; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiply-Accumulate */ + out = *pOut; + out += ((q63_t) * px++ * coeff) >> 32; + *pOut++ = (q31_t) (out); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Decrement the tap loop counter */ + tapCnt--; + } + + /* Working output pointer is updated */ + pOut = pDst; + + /* Output is converted into 1.31 format. */ + blkCnt = blockSize; + + while (blkCnt > 0U) + { + in = *pOut << 1; + *pOut++ = in; + + /* Decrement the loop counter */ + blkCnt--; + } +} + +void ref_fir_sparse_q15( + arm_fir_sparse_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + q15_t * pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pIn = pSrc; /* Working pointer for input */ + q15_t *pOut = pDst; /* Working pointer for output */ + q15_t *px; /* Temporary pointers for scratch buffer */ + q15_t *pb = pScratchIn; /* Temporary pointers for scratch buffer */ + q15_t *py = pState; /* Temporary pointers for state buffer */ + int32_t *pTapDelay = S->pTapDelay; /* Pointer to the array containing offset of the non-zero tap values. */ + uint32_t delaySize = S->maxDelay + blockSize; /* state length */ + uint16_t numTaps = S->numTaps; /* Filter order */ + int32_t readIndex; /* Read index of the state buffer */ + uint32_t tapCnt, blkCnt; /* loop counters */ + q15_t coeff = *pCoeffs++; /* Read the first coefficient value */ + q31_t *pScr2 = pScratchOut; /* Working pointer for pScratchOut */ + + /* BlockSize of Input samples are copied into the state buffer */ + /* StateIndex points to the starting position to write in the state buffer */ + arm_circularWrite_q15(py, delaySize, &S->stateIndex, 1, pIn, 1, blockSize); + + /* Loop over the number of taps. */ + tapCnt = numTaps; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = (S->stateIndex - blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_q15(py, delaySize, &readIndex, 1, + pb, pb, blockSize, 1, blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pScratchOut = pScr2; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform multiplication and store in the scratch buffer */ + *pScratchOut++ = ((q31_t) * px++ * coeff); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Loop over the number of taps. */ + tapCnt = (uint32_t) numTaps - 1U; + + while (tapCnt > 0U) + { + /* Load the coefficient value and + * increment the coefficient buffer for the next set of state values */ + coeff = *pCoeffs++; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = (S->stateIndex - blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_q15(py, delaySize, &readIndex, 1, + pb, pb, blockSize, 1, blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pScratchOut = pScr2; + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiply-Accumulate */ + *pScratchOut++ += (q31_t) * px++ * coeff; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Decrement the tap loop counter */ + tapCnt--; + } + + /* All the output values are in pScratchOut buffer. + Convert them into 1.15 format, saturate and store in the destination buffer. */ + /* Loop over the blockSize. */ + blkCnt = blockSize; + + while (blkCnt > 0U) + { + *pOut++ = (q15_t) __SSAT(*pScr2++ >> 15, 16); + blkCnt--; + } +} + +void ref_fir_sparse_q7( + arm_fir_sparse_instance_q7 * S, + q7_t *pSrc, + q7_t *pDst, + q7_t *pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize) +{ + q7_t *pState = S->pState; /* State pointer */ + const q7_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q7_t *px; /* Scratch buffer pointer */ + q7_t *py = pState; /* Temporary pointers for state buffer */ + q7_t *pb = pScratchIn; /* Temporary pointers for scratch buffer */ + q7_t *pOut = pDst; /* Destination pointer */ + int32_t *pTapDelay = S->pTapDelay; /* Pointer to the array containing offset of the non-zero tap values. */ + uint32_t delaySize = S->maxDelay + blockSize; /* state length */ + uint16_t numTaps = S->numTaps; /* Filter order */ + int32_t readIndex; /* Read index of the state buffer */ + uint32_t tapCnt, blkCnt; /* loop counters */ + q7_t coeff = *pCoeffs++; /* Read the coefficient value */ + q31_t *pScr2 = pScratchOut; /* Working pointer for scratch buffer of output values */ + q31_t in; + + /* BlockSize of Input samples are copied into the state buffer */ + /* StateIndex points to the starting position to write in the state buffer */ + arm_circularWrite_q7(py, (int32_t) delaySize, &S->stateIndex, 1, pSrc, 1, + blockSize); + + /* Loop over the number of taps. */ + tapCnt = numTaps; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = ((int32_t) S->stateIndex - (int32_t) blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_q7(py, (int32_t) delaySize, &readIndex, 1, pb, pb, + (int32_t) blockSize, 1, blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pScratchOut = pScr2; + + /* Loop over the blockSize */ + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform multiplication and store in the scratch buffer */ + *pScratchOut++ = ((q31_t) * px++ * coeff); + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Loop over the number of taps. */ + tapCnt = (uint32_t) numTaps - 1U; + + while (tapCnt > 0U) + { + /* Load the coefficient value and + * increment the coefficient buffer for the next set of state values */ + coeff = *pCoeffs++; + + /* Read Index, from where the state buffer should be read, is calculated. */ + readIndex = ((int32_t) S->stateIndex - (int32_t) blockSize) - *pTapDelay++; + + /* Wraparound of readIndex */ + if (readIndex < 0) + { + readIndex += (int32_t) delaySize; + } + + /* Working pointer for state buffer is updated */ + py = pState; + + /* blockSize samples are read from the state buffer */ + arm_circularRead_q7(py, (int32_t) delaySize, &readIndex, 1, pb, pb, + (int32_t) blockSize, 1, blockSize); + + /* Working pointer for the scratch buffer of state values */ + px = pb; + + /* Working pointer for scratch buffer of output values */ + pScratchOut = pScr2; + + /* Loop over the blockSize */ + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Perform Multiply-Accumulate */ + in = *pScratchOut + ((q31_t) * px++ * coeff); + *pScratchOut++ = in; + + /* Decrement the loop counter */ + blkCnt--; + } + + /* Decrement the tap loop counter */ + tapCnt--; + } + + /* All the output values are in pScratchOut buffer. + Convert them into 1.15 format, saturate and store in the destination buffer. */ + /* Loop over the blockSize. */ + blkCnt = blockSize; + + while (blkCnt > 0U) + { + *pOut++ = (q7_t) __SSAT(*pScr2++ >> 7, 8); + + /* Decrement the blockSize loop counter */ + blkCnt--; + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/iir_lattice.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/iir_lattice.c new file mode 100644 index 0000000..7a0c91f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/iir_lattice.c @@ -0,0 +1,271 @@ +#include "ref.h" + +void ref_iir_lattice_f32( + const arm_iir_lattice_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + float32_t fcurr, fnext = 0, gcurr, gnext; /* Temporary variables for lattice stages */ + float32_t acc; /* Accumlator */ + uint32_t blkCnt, tapCnt; /* temporary variables for counts */ + float32_t *px1, *px2, *pk, *pv; /* temporary pointers for state and coef */ + uint32_t numStages = S->numStages; /* number of stages */ + float32_t *pState; /* State pointer */ + float32_t *pStateCurnt; /* State current pointer */ + + blkCnt = blockSize; + pState = &S->pState[0]; + + /* Sample processing */ + while (blkCnt > 0U) + { + /* Read Sample from input buffer */ + /* fN(n) = x(n) */ + fcurr = *pSrc++; + + /* Initialize state read pointer */ + px1 = pState; + /* Initialize state write pointer */ + px2 = pState; + /* Set accumulator to zero */ + acc = 0.0f; + /* Initialize Ladder coeff pointer */ + pv = &S->pvCoeffs[0]; + /* Initialize Reflection coeff pointer */ + pk = &S->pkCoeffs[0]; + + /* Process sample for numStages */ + tapCnt = numStages; + + while (tapCnt > 0U) + { + gcurr = *px1++; + /* Process sample for last taps */ + fnext = fcurr - (*pk) * gcurr; + gnext = fnext * (*pk++) + gcurr; + + /* Output samples for last taps */ + acc += gnext * (*pv++); + *px2++ = gnext; + fcurr = fnext; + + /* Decrementing loop counter */ + tapCnt--; + } + + /* y(n) += g0(n) * v0 */ + acc += fnext * (*pv); + + *px2++ = fnext; + + /* write out into pDst */ + *pDst++ = acc; + + /* Advance the state pointer by 1 to process the next group of samples */ + pState = pState + 1U; + blkCnt--; + } + + /* Processing is complete. Now copy last S->numStages samples to start of the buffer + for the preperation of next frame process */ + + /* Points to the start of the state buffer */ + pStateCurnt = &S->pState[0]; + pState = &S->pState[blockSize]; + + tapCnt = numStages; + + /* Copy the data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} + +void ref_iir_lattice_q31( + const arm_iir_lattice_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + q31_t fcurr, fnext = 0, gcurr = 0, gnext; /* Temporary variables for lattice stages */ + q63_t acc; /* Accumlator */ + uint32_t blkCnt, tapCnt; /* Temporary variables for counts */ + q31_t *px1, *px2, *pk, *pv; /* Temporary pointers for state and coef */ + uint32_t numStages = S->numStages; /* number of stages */ + q31_t *pState; /* State pointer */ + q31_t *pStateCurnt; /* State current pointer */ + + blkCnt = blockSize; + pState = &S->pState[0]; + + /* Sample processing */ + while (blkCnt > 0U) + { + /* Read Sample from input buffer */ + /* fN(n) = x(n) */ + fcurr = *pSrc++; + + /* Initialize state read pointer */ + px1 = pState; + /* Initialize state write pointer */ + px2 = pState; + /* Set accumulator to zero */ + acc = 0; + /* Initialize Ladder coeff pointer */ + pv = &S->pvCoeffs[0]; + /* Initialize Reflection coeff pointer */ + pk = &S->pkCoeffs[0]; + + tapCnt = numStages; + + while (tapCnt > 0U) + { + gcurr = *px1++; + /* Process sample */ + /* fN-1(n) = fN(n) - kN * gN-1(n-1) */ + fnext = + ref_sat_q31(((q63_t) fcurr - + ((q31_t) (((q63_t) gcurr * (*pk)) >> 31)))); + /* gN(n) = kN * fN-1(n) + gN-1(n-1) */ + gnext = + ref_sat_q31(((q63_t) gcurr + + ((q31_t) (((q63_t) fnext * (*pk++)) >> 31)))); + /* Output samples */ + /* y(n) += gN(n) * vN */ + acc += ((q63_t) gnext * *pv++); + /* write gN-1(n-1) into state for next sample processing */ + *px2++ = gnext; + /* Update f values for next coefficient processing */ + fcurr = fnext; + + tapCnt--; + } + + /* y(n) += g0(n) * v0 */ + acc += (q63_t) fnext *(*pv++); + + *px2++ = fnext; + + /* write out into pDst */ + *pDst++ = (q31_t) (acc >> 31U); + + /* Advance the state pointer by 1 to process the next group of samples */ + pState = pState + 1U; + blkCnt--; + } + + /* Processing is complete. Now copy last S->numStages samples to start of the buffer + for the preperation of next frame process */ + + /* Points to the start of the state buffer */ + pStateCurnt = &S->pState[0]; + pState = &S->pState[blockSize]; + + tapCnt = numStages; + + /* Copy the remaining q31_t data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} + +void ref_iir_lattice_q15( + const arm_iir_lattice_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + q31_t fcurr, fnext = 0, gcurr = 0, gnext; /* Temporary variables for lattice stages */ + uint32_t stgCnt; /* Temporary variables for counts */ + q63_t acc; /* Accumlator */ + uint32_t blkCnt, tapCnt; /* Temporary variables for counts */ + q15_t *px1, *px2, *pk, *pv; /* temporary pointers for state and coef */ + uint32_t numStages = S->numStages; /* number of stages */ + q15_t *pState; /* State pointer */ + q15_t *pStateCurnt; /* State current pointer */ + q15_t out; /* Temporary variable for output */ + + blkCnt = blockSize; + pState = &S->pState[0]; + + /* Sample processing */ + while (blkCnt > 0U) + { + /* Read Sample from input buffer */ + /* fN(n) = x(n) */ + fcurr = *pSrc++; + + /* Initialize state read pointer */ + px1 = pState; + /* Initialize state write pointer */ + px2 = pState; + /* Set accumulator to zero */ + acc = 0; + /* Initialize Ladder coeff pointer */ + pv = &S->pvCoeffs[0]; + /* Initialize Reflection coeff pointer */ + pk = &S->pkCoeffs[0]; + + tapCnt = numStages; + + while (tapCnt > 0U) + { + gcurr = *px1++; + /* Process sample */ + /* fN-1(n) = fN(n) - kN * gN-1(n-1) */ + fnext = fcurr - ((gcurr * (*pk)) >> 15); + fnext = ref_sat_q15(fnext); + /* gN(n) = kN * fN-1(n) + gN-1(n-1) */ + gnext = ((fnext * (*pk++)) >> 15) + gcurr; + gnext = ref_sat_q15(gnext); + /* Output samples */ + /* y(n) += gN(n) * vN */ + acc += (q31_t) ((gnext * (*pv++))); + /* write gN(n) into state for next sample processing */ + *px2++ = (q15_t) gnext; + /* Update f values for next coefficient processing */ + fcurr = fnext; + + tapCnt--; + } + + /* y(n) += g0(n) * v0 */ + acc += (q31_t) ((fnext * (*pv++))); + + out = ref_sat_q15(acc >> 15); + *px2++ = (q15_t) fnext; + + /* write out into pDst */ + *pDst++ = out; + + /* Advance the state pointer by 1 to process the next group of samples */ + pState = pState + 1U; + blkCnt--; + } + + /* Processing is complete. Now copy last S->numStages samples to start of the buffer + for the preperation of next frame process */ + /* Points to the start of the state buffer */ + pStateCurnt = &S->pState[0]; + pState = &S->pState[blockSize]; + + stgCnt = numStages; + + /* copy data */ + while (stgCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + stgCnt--; + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/lms.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/lms.c new file mode 100644 index 0000000..2b7f3de --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/FilteringFunctions/lms.c @@ -0,0 +1,695 @@ +#include "ref.h" + +void ref_lms_f32( + const arm_lms_instance_f32 * S, + float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize) +{ + float32_t *pState = S->pState; /* State pointer */ + float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *pStateCurnt; /* Points to the current sample of the state */ + float32_t mu = S->mu; /* Adaptive factor */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i, blkCnt; /* Loop counters */ + float32_t sum, e, d; /* accumulator, error, reference data sample */ + float32_t w = 0.0f; /* weight factor */ + + e = 0.0f; + d = 0.0f; + + /* S->pState points to state array which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[numTaps - 1U]); + + blkCnt = blockSize; + + while (blkCnt > 0U) + { + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Set the accumulator to zero */ + sum = 0.0f; + + for(i=0;ipState[i] = pState[i]; + } +} + +void ref_lms_norm_f32( + arm_lms_norm_instance_f32 * S, + float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize) +{ + float32_t *pState = S->pState; /* State pointer */ + float32_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + float32_t *pStateCurnt; /* Points to the current sample of the state */ + float32_t mu = S->mu; /* Adaptive factor */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t i, blkCnt; /* Loop counters */ + float32_t energy; /* Energy of the input */ + float32_t sum, e, d; /* accumulator, error, reference data sample */ + float32_t w, x0, in; /* weight factor, temporary variable to hold input sample and state */ + + /* Initializations of error, difference, Coefficient update */ + e = 0.0f; + d = 0.0f; + w = 0.0f; + + energy = S->energy; + x0 = S->x0; + + /* S->pState points to buffer which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[numTaps - 1U]); + + for(blkCnt = blockSize; blkCnt > 0U; blkCnt--) + { + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc; + + /* Read the sample from input buffer */ + in = *pSrc++; + + /* Update the energy calculation */ + energy -= x0 * x0; + energy += in * in; + + /* Set the accumulator to zero */ + sum = 0.0f; + + for(i=0;ienergy = energy; + S->x0 = x0; + + /* Processing is complete. Now copy the last numTaps - 1 samples to the + * start of the state buffer. This prepares the state buffer for the + * next function call. */ + for(i=0;ipState[i] = pState[i]; + } +} + +void ref_lms_q31( + const arm_lms_instance_q31 * S, + q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t mu = S->mu; /* Adaptive factor */ + q31_t *px; /* Temporary pointer for state */ + q31_t *pb; /* Temporary pointer for coefficient buffer */ + uint32_t tapCnt, blkCnt; /* Loop counters */ + q63_t acc; /* Accumulator */ + q31_t e = 0; /* error of data sample */ + q31_t alpha; /* Intermediate constant for taps update */ + q31_t coef; /* Temporary variable for coef */ + q31_t acc_l, acc_h; /* temporary input */ + uint32_t uShift = (uint32_t)S->postShift + 1; + uint32_t lShift = 32U - uShift; /* Shift to be applied to the output */ + + /* S->pState points to buffer which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + for(blkCnt = blockSize; blkCnt > 0U; blkCnt--) + { + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Initialize pState pointer */ + px = pState; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Set the accumulator to zero */ + acc = 0; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + acc += (q63_t)(*px++) * (*pb++); + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Converting the result to 1.31 format */ + /* Store the result from accumulator into the destination buffer. */ + /* Calc lower part of acc */ + acc_l = acc & 0xffffffff; + + /* Calc upper part of acc */ + acc_h = (acc >> 32) & 0xffffffff; + + acc = (uint32_t)acc_l >> lShift | acc_h << uShift; + + *pOut++ = (q31_t)acc; + + /* Compute and store error */ + e = *pRef++ - (q31_t)acc; + + *pErr++ = (q31_t)e; + + /* Weighting factor for the LMS version */ + alpha = (q31_t)(((q63_t)e * mu) >> 31); + + /* Initialize pState pointer */ + /* Advance state pointer by 1 for the next sample */ + px = pState++; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + coef = (q31_t)(((q63_t) alpha * (*px++)) >> 32); + *pb = ref_sat_q31((q63_t)*pb + (coef << 1)); + pb++; + + /* Decrement the loop counter */ + tapCnt--; + } + } + + /* Processing is complete. Now copy the last numTaps - 1 samples to the + start of the state buffer. This prepares the state buffer for the + next function call. */ + + /* Points to the start of the pState buffer */ + pStateCurnt = S->pState; + + /* Copy (numTaps - 1U) samples */ + tapCnt = numTaps - 1; + + /* Copy the data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} + +void ref_lms_norm_q31( + arm_lms_norm_instance_q31 * S, + q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize) +{ + q31_t *pState = S->pState; /* State pointer */ + q31_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q31_t *pStateCurnt; /* Points to the current sample of the state */ + q31_t *px, *pb; /* Temporary pointers for state and coefficient buffers */ + q31_t mu = S->mu; /* Adaptive factor */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t tapCnt, blkCnt; /* Loop counters */ + q63_t energy; /* Energy of the input */ + q63_t acc; /* Accumulator */ + q31_t e = 0, d = 0; /* error, reference data sample */ + q31_t w = 0, in; /* weight factor and state */ + q31_t x0; /* temporary variable to hold input sample */ + q63_t errorXmu; /* Temporary variables to store error and mu product and reciprocal of energy */ + q31_t coef; /* Temporary variable for coef */ + q31_t acc_l, acc_h; /* temporary input */ + uint32_t uShift = ((uint32_t) S->postShift + 1U); + uint32_t lShift = 32U - uShift; /* Shift to be applied to the output */ + + energy = S->energy; + x0 = S->x0; + + /* S->pState points to buffer which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + for(blkCnt = blockSize; blkCnt > 0U; blkCnt--) + { + + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc; + + /* Initialize pState pointer */ + px = pState; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Read the sample from input buffer */ + in = *pSrc++; + + /* Update the energy calculation */ + energy = (q31_t)((((q63_t)energy << 32) - (((q63_t)x0 * x0) << 1)) >> 32) & 0xffffffff; + energy = (q31_t)(((((q63_t)in * in) << 1) + ((q63_t)energy << 32)) >> 32) & 0xffffffff; + + /* Set the accumulator to zero */ + acc = 0; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + acc += ((q63_t) (*px++)) * (*pb++); + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Converting the result to 1.31 format */ + /* Calc lower part of acc */ + acc_l = acc & 0xffffffff; + + /* Calc upper part of acc */ + acc_h = (acc >> 32) & 0xffffffff; + + acc = (uint32_t)acc_l >> lShift | acc_h << uShift; + + /* Store the result from accumulator into the destination buffer. */ + *pOut++ = (q31_t)acc; + + /* Compute and store error */ + d = *pRef++; + e = d - (q31_t)acc; + *pErr++ = e; + + /* Calculation of product of (e * mu) */ + errorXmu = (q63_t)e * mu; + + /* Weighting factor for the normalized version */ + w = ref_sat_q31(errorXmu / (energy + DELTA_Q31)); + + /* Initialize pState pointer */ + px = pState; + + /* Initialize coeff pointer */ + pb = pCoeffs; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + /* coef is in 2.30 format */ + coef = (q31_t)(((q63_t)w * (*px++)) >> 32); + /* get coef in 1.31 format by left shifting */ + *pb = ref_sat_q31((q63_t)*pb + (coef << 1U)); + /* update coefficient buffer to next coefficient */ + pb++; + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Read the sample from state buffer */ + x0 = *pState; + + /* Advance state pointer by 1 for the next sample */ + pState++; + } + + /* Save energy and x0 values for the next frame */ + S->energy = (q31_t)energy; + S->x0 = x0; + + /* Processing is complete. Now copy the last numTaps - 1 samples to the + start of the state buffer. This prepares the state buffer for the + next function call. */ + + /* Points to the start of the pState buffer */ + pStateCurnt = S->pState; + + /* Loop for (numTaps - 1U) samples copy */ + tapCnt = numTaps - 1; + + /* Copy the remaining q31_t data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} + +void ref_lms_q15( + const arm_lms_instance_q15 * S, + q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + q15_t mu = S->mu; /* Adaptive factor */ + q15_t *px; /* Temporary pointer for state */ + q15_t *pb; /* Temporary pointer for coefficient buffer */ + uint32_t tapCnt, blkCnt; /* Loop counters */ + q63_t acc; /* Accumulator */ + q15_t e = 0; /* error of data sample */ + q15_t alpha; /* Intermediate constant for taps update */ + q31_t coef; /* Teporary variable for coefficient */ + q31_t acc_l, acc_h; + int32_t lShift = 15 - (int32_t)S->postShift; /* Post shift */ + int32_t uShift = 32 - lShift; + + /* S->pState points to buffer which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + for(blkCnt = blockSize; blkCnt > 0U; blkCnt--) + { + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc++; + + /* Initialize pState pointer */ + px = pState; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Set the accumulator to zero */ + acc = 0; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + acc += (q63_t)((q31_t)(*px++) * (*pb++)); + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Calc lower part of acc */ + acc_l = acc & 0xffffffff; + + /* Calc upper part of acc */ + acc_h = (acc >> 32) & 0xffffffff; + + /* Apply shift for lower part of acc and upper part of acc */ + acc = (uint32_t)acc_l >> lShift | acc_h << uShift; + + /* Converting the result to 1.15 format and saturate the output */ + acc = ref_sat_q15(acc); + + /* Store the result from accumulator into the destination buffer. */ + *pOut++ = (q15_t)acc; + + /* Compute and store error */ + e = *pRef++ - (q15_t)acc; + + *pErr++ = (q15_t)e; + + /* Compute alpha i.e. intermediate constant for taps update */ + alpha = (q15_t)(((q31_t)e * mu) >> 15); + + /* Initialize pState pointer */ + /* Advance state pointer by 1 for the next sample */ + px = pState++; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + coef = (q31_t) * pb + (((q31_t) alpha * (*px++)) >> 15); + *pb++ = (q15_t) ref_sat_q15(coef); + + /* Decrement the loop counter */ + tapCnt--; + } + } + + /* Processing is complete. Now copy the last numTaps - 1 samples to the + start of the state buffer. This prepares the state buffer for the + next function call. */ + + /* Points to the start of the pState buffer */ + pStateCurnt = S->pState; + + /* Copy (numTaps - 1U) samples */ + tapCnt = numTaps - 1; + + /* Copy the data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} + +void ref_lms_norm_q15( + arm_lms_norm_instance_q15 * S, + q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize) +{ + q15_t *pState = S->pState; /* State pointer */ + q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + q15_t *pStateCurnt; /* Points to the current sample of the state */ + q15_t *px, *pb; /* Temporary pointers for state and coefficient buffers */ + q15_t mu = S->mu; /* Adaptive factor */ + uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */ + uint32_t tapCnt, blkCnt; /* Loop counters */ + q31_t energy; /* Energy of the input */ + q63_t acc; /* Accumulator */ + q15_t e = 0, d = 0; /* error, reference data sample */ + q15_t w = 0, in; /* weight factor and state */ + q15_t x0; /* temporary variable to hold input sample */ + q15_t errorXmu, oneByEnergy; /* Temporary variables to store error and mu product and reciprocal of energy */ + //q31_t errorXmu; /* Temporary variables to store error and mu product and reciprocal of energy */ + q15_t postShift; /* Post shift to be applied to weight after reciprocal calculation */ + q31_t coef; /* Teporary variable for coefficient */ + q31_t acc_l, acc_h; + int32_t lShift = 15 - (int32_t)S->postShift; /* Post shift */ + int32_t uShift = 32 - lShift; + + energy = S->energy; + x0 = S->x0; + + /* S->pState points to buffer which contains previous frame (numTaps - 1) samples */ + /* pStateCurnt points to the location where the new input data should be written */ + pStateCurnt = &(S->pState[(numTaps - 1U)]); + + for(blkCnt = blockSize; blkCnt > 0U; blkCnt--) + { + /* Copy the new input sample into the state buffer */ + *pStateCurnt++ = *pSrc; + + /* Initialize pState pointer */ + px = pState; + + /* Initialize pCoeffs pointer */ + pb = pCoeffs; + + /* Read the sample from input buffer */ + in = *pSrc++; + + /* Update the energy calculation */ + energy -= (((q31_t)x0 * x0) >> 15) & 0xffff; + energy += (((q31_t)in * in) >> 15) & 0xffff; + + /* Set the accumulator to zero */ + acc = 0; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + acc += (q31_t)*px++ * (*pb++); + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Calc lower part of acc */ + acc_l = acc & 0xffffffff; + + /* Calc upper part of acc */ + acc_h = (acc >> 32) & 0xffffffff; + + /* Apply shift for lower part of acc and upper part of acc */ + acc = (uint32_t) acc_l >> lShift | acc_h << uShift; + + /* Converting the result to 1.15 format and saturate the output */ + acc = ref_sat_q15(acc); + + /* Store the result from accumulator into the destination buffer. */ + *pOut++ = (q15_t) acc; + + /* Compute and store error */ + d = *pRef++; + e = d - (q15_t) acc; + *pErr++ = e; + +#if 0 + /* Calculation of e * mu value */ + errorXmu = (q31_t) e * mu; + + /* Calculation of (e * mu) /energy value */ + acc = errorXmu / (energy + DELTA_Q15); +#endif + + /* Calculation of 1/energy */ + postShift = arm_recip_q15((q15_t) energy + DELTA_Q15, + &oneByEnergy, S->recipTable); + + /* Calculation of e * mu value */ + errorXmu = (q15_t) (((q31_t) e * mu) >> 15); + + /* Calculation of (e * mu) * (1/energy) value */ + acc = (((q31_t) errorXmu * oneByEnergy) >> (15 - postShift)); + + /* Weighting factor for the normalized version */ + w = ref_sat_q15((q31_t)acc); + + /* Initialize pState pointer */ + px = pState; + + /* Initialize coeff pointer */ + pb = pCoeffs; + + /* Loop over numTaps number of values */ + tapCnt = numTaps; + + while (tapCnt > 0U) + { + /* Perform the multiply-accumulate */ + coef = *pb + (((q31_t)w * (*px++)) >> 15); + *pb++ = ref_sat_q15(coef); + + /* Decrement the loop counter */ + tapCnt--; + } + + /* Read the sample from state buffer */ + x0 = *pState; + + /* Advance state pointer by 1 for the next sample */ + pState = pState + 1U; + } + + /* Save energy and x0 values for the next frame */ + S->energy = (q15_t)energy; + S->x0 = x0; + + /* Processing is complete. Now copy the last numTaps - 1 samples to the + satrt of the state buffer. This prepares the state buffer for the + next function call. */ + + /* Points to the start of the pState buffer */ + pStateCurnt = S->pState; + + /* copy (numTaps - 1U) data */ + tapCnt = numTaps - 1; + + /* copy data */ + while (tapCnt > 0U) + { + *pStateCurnt++ = *pState++; + + /* Decrement the loop counter */ + tapCnt--; + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/HelperFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/HelperFunctions.c new file mode 100644 index 0000000..aa5a40f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/HelperFunctions.c @@ -0,0 +1,4 @@ + +#include "mat_helper.c" +#include "ref_helper.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/mat_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/mat_helper.c new file mode 100644 index 0000000..ee2be4e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/mat_helper.c @@ -0,0 +1,193 @@ +#include "ref.h" + +float32_t ref_detrm(float32_t *pSrc, float32_t *temp, uint32_t size) +{ + float32_t s = 1, det = 0; + int i, j, m, n, c; + + if ( size == 1 ) + { + return ( pSrc[ 0 ] ); + } + else + { + det = 0; + + for ( c = 0;c < size;c++ ) + { + m = 0; + n = 0; + + for ( i = 0;i < size;i++ ) + { + for ( j = 0;j < size;j++ ) + { + temp[ i*size + j ] = 0; + + if ( i != 0 && j != c ) + { + temp[ m*(size-1) + n ] = pSrc[ i*size + j ]; + + if ( n < ( size - 2 ) ) + { + n++; + } + else + { + n = 0; + m++; + } + } + } + } + + det += s * ( pSrc[ c ] * ref_detrm( temp, temp + size*size, size - 1 ) ); + s = -s; + } + } + + return ( det ); +} + + +void ref_cofact(float32_t *pSrc, float32_t *pDst, float32_t *temp, uint32_t size) +{ + int p, q, m, n, i, j; + + if (size == 1) + { + pDst[0] = 1; + return; + } + + for ( q = 0;q < size;q++ ) + { + for ( p = 0;p < size;p++ ) + { + m = 0; + n = 0; + + for ( i = 0;i < size;i++ ) + { + for ( j = 0;j < size;j++ ) + { + temp[ i*size + j ] = 0; + + if ( i != q && j != p ) + { + temp[ m*(size-1) + n ] = pSrc[ i*size + j ]; + + if ( n < ( size - 2 ) ) + { + n++; + } + else + { + n = 0; + m++; + } + } + } + } + + pDst[ q*size + p ] = ref_pow( -1, q + p ) * ref_detrm( temp, temp + (size-1)*(size-1), size - 1 ); + } + } +} + + + +float64_t ref_detrm64(float64_t *pSrc, float64_t *temp, uint32_t size) +{ + float64_t s = 1, det = 0; + int i, j, m, n, c; + + if ( size == 1 ) + { + return ( pSrc[ 0 ] ); + } + else + { + det = 0; + + for ( c = 0;c < size;c++ ) + { + m = 0; + n = 0; + + for ( i = 0;i < size;i++ ) + { + for ( j = 0;j < size;j++ ) + { + temp[ i*size + j ] = 0; + + if ( i != 0 && j != c ) + { + temp[ m*(size-1) + n ] = pSrc[ i*size + j ]; + + if ( n < ( size - 2 ) ) + { + n++; + } + else + { + n = 0; + m++; + } + } + } + } + + det += s * ( pSrc[ c ] * ref_detrm64( temp, temp + size*size, size - 1 ) ); + s = -s; + } + } + + return ( det ); +} + + +void ref_cofact64(float64_t *pSrc, float64_t *pDst, float64_t *temp, uint32_t size) +{ + int p, q, m, n, i, j; + + if (size == 1) + { + pDst[0] = 1; + return; + } + + for ( q = 0;q < size;q++ ) + { + for ( p = 0;p < size;p++ ) + { + m = 0; + n = 0; + + for ( i = 0;i < size;i++ ) + { + for ( j = 0;j < size;j++ ) + { + temp[ i*size + j ] = 0; + + if ( i != q && j != p ) + { + temp[ m*(size-1) + n ] = pSrc[ i*size + j ]; + + if ( n < ( size - 2 ) ) + { + n++; + } + else + { + n = 0; + m++; + } + } + } + } + + pDst[ q*size + p ] = ref_pow( -1, q + p ) * ref_detrm64( temp, temp + (size-1)*(size-1), size - 1 ); + } + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/ref_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/ref_helper.c new file mode 100644 index 0000000..c749daf --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/HelperFunctions/ref_helper.c @@ -0,0 +1,103 @@ +#include "ref.h" + +float32_t scratchArray[8192*2]; + +arm_cfft_instance_f32 ref_cfft_sR_f32_len8192 = { 8192, 0, 0, 0 }; + +q31_t ref_sat_n(q31_t num, uint32_t bits) +{ + int32_t posMax, negMin; + uint32_t i; + + posMax = 1; + for (i = 0; i < (bits - 1); i++) + { + posMax = posMax * 2; + } + + if (num > 0) + { + posMax = (posMax - 1); + + if (num > posMax) + { + num = posMax; + } + } + else + { + negMin = -posMax; + + if (num < negMin) + { + num = negMin; + } + } + return (num); +} + +q31_t ref_sat_q31(q63_t num) +{ + if (num > (q63_t)INT_MAX) + { + return INT_MAX; + } + else if (num < (q63_t)0xffffffff80000000ll) + { + return INT_MIN; + } + else + { + return (q31_t)num; + } +} + +q15_t ref_sat_q15(q31_t num) +{ + if (num > (q31_t)SHRT_MAX) + { + return SHRT_MAX; + } + else if (num < (q31_t)0xffff8000) + { + return SHRT_MIN; + } + else + { + return (q15_t)num; + } +} + +q7_t ref_sat_q7(q15_t num) +{ + if (num > (q15_t)SCHAR_MAX) + { + return SCHAR_MAX; + } + else if (num < (q15_t)0xff80) + { + return SCHAR_MIN; + } + else + { + return (q7_t)num; + } +} + +float32_t ref_pow(float32_t a, uint32_t b) +{ + uint32_t i; + float32_t r = a; + + for(i=1;i> 24) + ((y << 16) >> 24))), 8); + t = ref_sat_n(((q31_t) (((x << 8) >> 24) + ((y << 8) >> 24))), 8); + u = ref_sat_n(((q31_t) ((x >> 24) + (y >> 24))), 8); + + sum = + (((q31_t) u << 24) & 0xFF000000) | (((q31_t) t << 16) & 0x00FF0000) | + (((q31_t) s << 8) & 0x0000FF00) | (r & 0x000000FF); + + return sum; + +} + +q31_t ref__QSUB8(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s, t, u; + + r = (q7_t) x; + s = (q7_t) y; + + r = ref_sat_n((r - s), 8); + s = ref_sat_n(((q31_t) (((x << 16) >> 24) - ((y << 16) >> 24))), 8) << 8; + t = ref_sat_n(((q31_t) (((x << 8) >> 24) - ((y << 8) >> 24))), 8) << 16; + u = ref_sat_n(((q31_t) ((x >> 24) - (y >> 24))), 8) << 24; + + sum = (u & 0xFF000000) | (t & 0x00FF0000) | (s & 0x0000FF00) | (r & 0x000000FF); + + return sum; +} + +q31_t ref__QADD16(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = ref_sat_q15(r + s); + s = (q31_t)ref_sat_q15(((q31_t) ((x >> 16) + (y >> 16)))) << 16; + + sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return sum; + +} + +q31_t ref__SHADD16(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = (r + s) >> 1; + s = ((q31_t) (((x >> 16) + (y >> 16)) >> 1) << 16); + + sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return sum; + +} + +q31_t ref__QSUB16(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = ref_sat_q15(r - s); + s = (q31_t)ref_sat_q15(((q31_t) ((x >> 16) - (y >> 16)))) << 16; + + sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return sum; +} + +q31_t ref__SHSUB16(q31_t x, q31_t y) +{ + q31_t diff; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = ((r >> 1) - (s >> 1)); + s = (((x >> 17) - (y >> 17)) << 16); + + diff = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return diff; +} + +q31_t ref__QASX(q31_t x, q31_t y) +{ + q31_t sum = 0; + q31_t xL, xH, yL, yH; + + // extract bottom halfword and sign extend + xL = (q15_t)(x & 0xffff); + // extract bottom halfword and sign extend + yL = (q15_t)(y & 0xffff); + // extract top halfword and sign extend + xH = (q15_t)(x >> 16); + // extract top halfword and sign extend + yH = (q15_t)(y >> 16); + + sum = (((q31_t)ref_sat_q15(xH + yL )) << 16) | + (((q31_t)ref_sat_q15(xL - yH )) & 0xffff); + + return sum; +} + +q31_t ref__SHASX(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = (r - (y >> 16)) / 2; + s = (((x >> 16) + s) << 15); + + sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return sum; +} + +q31_t ref__QSAX(q31_t x, q31_t y) +{ + q31_t sum = 0; + q31_t xL, xH, yL, yH; + + // extract bottom halfword and sign extend + xL = (q15_t)(x & 0xffff); + // extract bottom halfword and sign extend + yL = (q15_t)(y & 0xffff); + // extract top halfword and sign extend + xH = (q15_t)(x >> 16); + // extract top halfword and sign extend + yH = (q15_t)(y >> 16); + + sum = (((q31_t)ref_sat_q15(xH - yL )) << 16) | + (((q31_t)ref_sat_q15(xL + yH )) & 0xffff); + + return sum; +} + +q31_t ref__SHSAX(q31_t x, q31_t y) +{ + q31_t sum; + q31_t r, s; + + r = (q15_t) x; + s = (q15_t) y; + + r = (r + (y >> 16)) / 2; + s = (((x >> 16) - s) << 15); + + sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); + + return sum; +} + +q31_t ref__SMUSDX(q31_t x, q31_t y) +{ + return ((q31_t) (((q15_t) x * (q15_t) (y >> 16)) - ((q15_t) (x >> 16) * (q15_t) y))); +} + +q31_t ref__SMUADX(q31_t x, q31_t y) +{ + return ((q31_t) (((q15_t) x * (q15_t) (y >> 16)) + ((q15_t) (x >> 16) * (q15_t) y))); +} + +q31_t ref__QADD(q31_t x, q31_t y) +{ + return ref_sat_q31((q63_t) x + y); +} + +q31_t ref__QSUB(q31_t x, q31_t y) +{ + return ref_sat_q31((q63_t) x - y); +} + +q31_t ref__SMLAD(q31_t x, q31_t y, q31_t sum) +{ + return (sum + ((q15_t) (x >> 16) * (q15_t) (y >> 16)) + ((q15_t) x * (q15_t) y)); +} + +q31_t ref__SMLADX(q31_t x, q31_t y, q31_t sum) +{ + return (sum + ((q15_t) (x >> 16) * (q15_t) (y)) + ((q15_t) x * (q15_t) (y >> 16))); +} + +q31_t ref__SMLSDX(q31_t x, q31_t y, q31_t sum) +{ + return (sum - ((q15_t) (x >> 16) * (q15_t) (y)) + ((q15_t) x * (q15_t) (y >> 16))); +} + +q63_t ref__SMLALD(q31_t x, q31_t y, q63_t sum) +{ + return (sum + ((q15_t) (x >> 16) * (q15_t) (y >> 16)) + ((q15_t) x * (q15_t) y)); +} + +q63_t ref__SMLALDX(q31_t x, q31_t y, q63_t sum) +{ + return (sum + ((q15_t) (x >> 16) * (q15_t) y)) + ((q15_t) x * (q15_t) (y >> 16)); +} + +q31_t ref__SMUAD(q31_t x, q31_t y) +{ + return (((x >> 16) * (y >> 16)) + (((x << 16) >> 16) * ((y << 16) >> 16))); +} + +q31_t ref__SMUSD(q31_t x, q31_t y) +{ + return (-((x >> 16) * (y >> 16)) + (((x << 16) >> 16) * ((y << 16) >> 16))); +} + +q31_t ref__SXTB16(q31_t x) +{ + return ((((x << 24) >> 24) & 0x0000FFFF) | (((x << 8) >> 8) & 0xFFFF0000)); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/MatrixFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/MatrixFunctions.c new file mode 100644 index 0000000..b611bfd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/MatrixFunctions.c @@ -0,0 +1,9 @@ + +#include "mat_add.c" +#include "mat_cmplx_mult.c" +#include "mat_inverse.c" +#include "mat_mult.c" +#include "mat_scale.c" +#include "mat_sub.c" +#include "mat_trans.c" + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_add.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_add.c new file mode 100644 index 0000000..7275b7a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_add.c @@ -0,0 +1,58 @@ +#include "ref.h" + +arm_status ref_mat_add_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = pSrcA->pData[i] + pSrcB->pData[i]; + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_add_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = ref_sat_q31( (q63_t)pSrcA->pData[i] + pSrcB->pData[i]); + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_add_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = ref_sat_q15( (q31_t)pSrcA->pData[i] + pSrcB->pData[i]); + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_cmplx_mult.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_cmplx_mult.c new file mode 100644 index 0000000..c1e3bff --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_cmplx_mult.c @@ -0,0 +1,118 @@ +#include "ref.h" + +arm_status ref_mat_cmplx_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + float32_t sumR,sumI; + float32_t a0,b0,c0,d0; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[2*(r*innerSize + i) + 0]; + b0 = pSrcA->pData[2*(r*innerSize + i) + 1]; + c0 = pSrcB->pData[2*(i*outC + c) + 0]; + d0 = pSrcB->pData[2*(i*outC + c) + 1]; + + sumR += a0 * c0 - b0 * d0; + sumI += b0 * c0 + a0 * d0; + } + + pDst->pData[2*(r*outC + c) + 0] = sumR; + pDst->pData[2*(r*outC + c) + 1] = sumI; + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_cmplx_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + q63_t sumR,sumI; + q31_t a0,b0,c0,d0; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[2*(r*innerSize + i) + 0]; + b0 = pSrcA->pData[2*(r*innerSize + i) + 1]; + c0 = pSrcB->pData[2*(i*outC + c) + 0]; + d0 = pSrcB->pData[2*(i*outC + c) + 1]; + + sumR += (q63_t)a0 * c0 - (q63_t)b0 * d0; + sumI += (q63_t)b0 * c0 + (q63_t)a0 * d0; + } + + pDst->pData[2*(r*outC + c) + 0] = ref_sat_q31(sumR >> 31); + pDst->pData[2*(r*outC + c) + 1] = ref_sat_q31(sumI >> 31); + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_cmplx_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + q63_t sumR,sumI; + q15_t a0,b0,c0,d0; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[2*(r*innerSize + i) + 0]; + b0 = pSrcA->pData[2*(r*innerSize + i) + 1]; + c0 = pSrcB->pData[2*(i*outC + c) + 0]; + d0 = pSrcB->pData[2*(i*outC + c) + 1]; + + sumR += (q31_t)a0 * c0 - (q31_t)b0 * d0; + sumI += (q31_t)b0 * c0 + (q31_t)a0 * d0; + } + + pDst->pData[2*(r*outC + c) + 0] = ref_sat_q15(sumR >> 15); + pDst->pData[2*(r*outC + c) + 1] = ref_sat_q15(sumI >> 15); + } + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_inverse.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_inverse.c new file mode 100644 index 0000000..4886bcc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_inverse.c @@ -0,0 +1,57 @@ +#include "ref.h" + +arm_status ref_mat_inverse_f32( + const arm_matrix_instance_f32 * pSrc, + arm_matrix_instance_f32 * pDst) +{ + float32_t det; + uint32_t i, size; + arm_matrix_instance_f32 tmp; + + tmp.numCols = pSrc->numCols; + tmp.numRows = pSrc->numRows; + tmp.pData = scratchArray; + + det = ref_detrm(pSrc->pData,scratchArray,pSrc->numCols); + + size = pSrc->numCols * pSrc->numCols; + + ref_cofact(pSrc->pData,scratchArray,scratchArray + size,pSrc->numCols); + + ref_mat_trans_f32(&tmp,pDst); + + for(i=0;ipData[i] /= det; + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_inverse_f64( + const arm_matrix_instance_f64 * pSrc, + arm_matrix_instance_f64 * pDst) +{ + float64_t det; + uint32_t i, size; + arm_matrix_instance_f64 tmp; + + tmp.numCols = pSrc->numCols; + tmp.numRows = pSrc->numRows; + tmp.pData = (float64_t*)scratchArray; + + det = ref_detrm64(pSrc->pData,(float64_t*)scratchArray,pSrc->numCols); + + size = pSrc->numCols * pSrc->numCols; + + ref_cofact64(pSrc->pData,(float64_t*)scratchArray,(float64_t*)scratchArray + size,pSrc->numCols); + + ref_mat_trans_f64(&tmp,pDst); + + for(i=0;ipData[i] /= det; + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_mult.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_mult.c new file mode 100644 index 0000000..daffce6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_mult.c @@ -0,0 +1,91 @@ +#include "ref.h" + +arm_status ref_mat_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + float32_t sum; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[r*innerSize + i] * pSrcB->pData[i*outC + c]; + } + + pDst->pData[r*outC + c] = sum; + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + q63_t sum; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[r*innerSize + i]) * pSrcB->pData[i*outC + c]; + } + + pDst->pData[r*outC + c] = ref_sat_q31(sum >> 31); + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst) +{ + uint32_t r,c,i,outR,outC,innerSize; + q63_t sum; + + outR = pSrcA->numRows; + outC = pSrcB->numCols; + innerSize = pSrcA->numCols; + + for(r=0;rpData[r*innerSize + i]) * pSrcB->pData[i*outC + c]; + } + + pDst->pData[r*outC + c] = ref_sat_q15(sum >> 15); + } + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_scale.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_scale.c new file mode 100644 index 0000000..1b2a370 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_scale.c @@ -0,0 +1,64 @@ +#include "ref.h" + +arm_status ref_mat_scale_f32( + const arm_matrix_instance_f32 * pSrc, + float32_t scale, + arm_matrix_instance_f32 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrc->numRows * pSrc->numCols; + + for(i=0;ipData[i] = pSrc->pData[i] * scale; + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_scale_q31( + const arm_matrix_instance_q31 * pSrc, + q31_t scale, + int32_t shift, + arm_matrix_instance_q31 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + int32_t totShift = shift + 1; + q31_t tmp; + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrc->numRows * pSrc->numCols; + + for(i=0;ipData[i] * scale) >> 32; + pDst->pData[i] = ref_sat_q31((q63_t)tmp << totShift ); + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_scale_q15( + const arm_matrix_instance_q15 * pSrc, + q15_t scale, + int32_t shift, + arm_matrix_instance_q15 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + int32_t totShift = 15 - shift; + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrc->numRows * pSrc->numCols; + + for(i=0;ipData[i] = ref_sat_q15( ((q31_t)pSrc->pData[i] * scale) >> totShift); + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_sub.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_sub.c new file mode 100644 index 0000000..048d157 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_sub.c @@ -0,0 +1,58 @@ +#include "ref.h" + +arm_status ref_mat_sub_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = pSrcA->pData[i] - pSrcB->pData[i]; + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_sub_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = ref_sat_q31( (q63_t)pSrcA->pData[i] - pSrcB->pData[i]); + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_sub_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst) +{ + uint32_t i; + uint32_t numSamples; /* total number of elements in the matrix */ + + /* Total number of samples in the input matrix */ + numSamples = (uint32_t) pSrcA->numRows * pSrcA->numCols; + + for(i=0;ipData[i] = ref_sat_q15( (q31_t)pSrcA->pData[i] - pSrcB->pData[i]); + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_trans.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_trans.c new file mode 100644 index 0000000..b4fed2f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/MatrixFunctions/mat_trans.c @@ -0,0 +1,77 @@ +#include "ref.h" + +arm_status ref_mat_trans_f64( + const arm_matrix_instance_f64 * pSrc, + arm_matrix_instance_f64 * pDst) +{ + uint64_t r,c; + uint64_t numR = pSrc->numRows; + uint64_t numC = pSrc->numCols; + + for(r=0;rpData[c*numR + r] = pSrc->pData[r*numC + c]; + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_trans_f32( + const arm_matrix_instance_f32 * pSrc, + arm_matrix_instance_f32 * pDst) +{ + uint32_t r,c; + uint32_t numR = pSrc->numRows; + uint32_t numC = pSrc->numCols; + + for(r=0;rpData[c*numR + r] = pSrc->pData[r*numC + c]; + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_trans_q31( + const arm_matrix_instance_q31 * pSrc, + arm_matrix_instance_q31 * pDst) +{ + uint32_t r,c; + uint32_t numR = pSrc->numRows; + uint32_t numC = pSrc->numCols; + + for(r=0;rpData[c*numR + r] = pSrc->pData[r*numC + c]; + } + } + + return ARM_MATH_SUCCESS; +} + +arm_status ref_mat_trans_q15( + const arm_matrix_instance_q15 * pSrc, + arm_matrix_instance_q15 * pDst) +{ + uint32_t r,c; + uint32_t numR = pSrc->numRows; + uint32_t numC = pSrc->numCols; + + for(r=0;rpData[c*numR + r] = pSrc->pData[r*numC + c]; + } + } + + return ARM_MATH_SUCCESS; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/StatisticsFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/StatisticsFunctions.c new file mode 100644 index 0000000..426c3f7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/StatisticsFunctions.c @@ -0,0 +1,8 @@ + +#include "max.c" +#include "mean.c" +#include "min.c" +#include "power.c" +#include "rms.c" +#include "std.c" +#include "var.c" diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/max.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/max.c new file mode 100644 index 0000000..a4739d7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/max.c @@ -0,0 +1,85 @@ +#include "ref.h" + +void ref_max_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult, + uint32_t * pIndex) +{ + uint32_t i, ind=0; + float32_t max=-FLT_MAX; + + for(i=0;i pSrc[i]) + { + min = pSrc[i]; + ind = i; + } + } + *pResult = min; + *pIndex = ind; +} + +void ref_min_q31( + q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult, + uint32_t * pIndex) +{ + uint32_t i, ind=0; + q31_t min=INT_MAX; + + for(i=0;i pSrc[i]) + { + min = pSrc[i]; + ind = i; + } + } + *pResult = min; + *pIndex = ind; +} + +void ref_min_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult, + uint32_t * pIndex) +{ + uint32_t i, ind=0; + q15_t min=SHRT_MAX; + + for(i=0;i pSrc[i]) + { + min = pSrc[i]; + ind = i; + } + } + *pResult = min; + *pIndex = ind; +} + +void ref_min_q7( + q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult, + uint32_t * pIndex) +{ + uint32_t i, ind=0; + q7_t min=SCHAR_MAX; + + for(i=0;i pSrc[i]) + { + min = pSrc[i]; + ind = i; + } + } + *pResult = min; + *pIndex = ind; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/power.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/power.c new file mode 100644 index 0000000..6160bfe --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/power.c @@ -0,0 +1,61 @@ +#include "ref.h" + +void ref_power_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult) +{ + uint32_t i; + float32_t sumsq=0; + + for(i=0;i> 14; + } + *pResult = sumsq; +} + +void ref_power_q15( + q15_t * pSrc, + uint32_t blockSize, + q63_t * pResult) +{ + uint32_t i; + q63_t sumsq=0; + + for(i=0;i> 31; + tmp2 = ref_sat_q31(tmp1); + + /* GCC M0 problem: __aeabi_f2iz(QNAN) returns not 0 */ + help_float = (sqrtf((float)tmp2 / 2147483648.0f) * 2147483648.0f); + /* Checking for a NAN value in help_float */ + if (((*((int *)(&help_float))) & 0x7FC00000) == 0x7FC00000) { + help_float = 0; + } + *pResult = (q31_t)(help_float); + +// *pResult = (q31_t)(sqrtf((float)tmp2 / 2147483648.0f) * 2147483648.0f); +} + +void ref_rms_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult) +{ + uint32_t i; + q63_t sumsq=0; + q31_t tmp1; + q15_t tmp2; + + for(i=0;i> 15; + tmp2 = ref_sat_q15(tmp1); + *pResult = (q15_t)(sqrtf((float)tmp2 / 32768.0f) * 32768.0f); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/std.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/std.c new file mode 100644 index 0000000..148b5c7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/std.c @@ -0,0 +1,74 @@ +#include "ref.h" + +void ref_std_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult) +{ + uint32_t i; + float32_t sum=0, sumsq=0; + + if (blockSize == 1) + { + *pResult = 0; + return; + } + + for(i=0;i> 8; + sum += in; + sumsq += (q63_t)in * in; + } + sumsq /= (q63_t)(blockSize - 1); + sum = sum * sum / (q63_t)(blockSize * (blockSize - 1)); + *pResult = (q31_t)(sqrtf((float)( (sumsq - sum) >> 15) / 2147483648.0f ) * 2147483648.0f); +} + +void ref_std_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult) +{ + uint32_t i; + q31_t sum=0; + q63_t sumsq=0; + + if (blockSize == 1) + { + *pResult = 0; + return; + } + + for(i=0;i> 15) / 32768.0f ) * 32768.0f); +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/var.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/var.c new file mode 100644 index 0000000..0dfb015 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/StatisticsFunctions/var.c @@ -0,0 +1,70 @@ +#include "ref.h" + +void ref_var_f32( + float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult) +{ + uint32_t i; + float32_t sum=0, sumsq=0; + + if (blockSize == 1) + { + *pResult = 0; + return; + } + + for(i=0;i> 8; + sum += in; + sumsq += (q63_t)in * in; + } + *pResult = (sumsq - sum * sum / (q31_t)blockSize) / ((q31_t)blockSize - 1) >> 15; +} + +void ref_var_q15( + q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult) +{ + uint32_t i; + q31_t sum=0; + q63_t sumsq=0; + + if (blockSize == 1) + { + *pResult = 0; + return; + } + + for(i=0;i> 15; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/SupportFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/SupportFunctions.c new file mode 100644 index 0000000..647eb46 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/SupportFunctions.c @@ -0,0 +1,6 @@ + +#include "copy.c" +#include "fill.c" +#include "fixed_to_fixed.c" +#include "fixed_to_float.c" +#include "float_to_fixed.c" diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/copy.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/copy.c new file mode 100644 index 0000000..b8ffd28 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/SupportFunctions/copy.c @@ -0,0 +1,53 @@ +#include "ref.h" + +void ref_copy_f32( + float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 16; + } +} + +void ref_q31_to_q7( + q31_t * pSrc, + q7_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 24; + } +} + +void ref_q15_to_q31( + q15_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i> 8; + } +} + +void ref_q7_to_q31( + q7_t * pSrc, + q31_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + + for(i=0;i 0.0f ? 0.5f : -0.5f; //round + pDst[i] = ref_sat_q31((q63_t)in); //cast and saturate + } +} + +void ref_float_to_q15( + float32_t * pSrc, + q15_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + float32_t in; + + for(i=0;i 0.0f ? 0.5f : -0.5f; + pDst[i] = ref_sat_q15((q31_t)in); + } +} + +void ref_float_to_q7( + float32_t * pSrc, + q7_t * pDst, + uint32_t blockSize) +{ + uint32_t i; + float32_t in; + + for(i=0;i 0.0f ? 0.5f : -0.5f; + pDst[i] = ref_sat_q7((q15_t)in); + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/TransformFunctions.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/TransformFunctions.c new file mode 100644 index 0000000..d0d10c4 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/TransformFunctions.c @@ -0,0 +1,4 @@ + +#include "cfft.c" +#include "dct4.c" +#include "rfft.c" diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/bitreversal.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/bitreversal.c new file mode 100644 index 0000000..1b564fc --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/bitreversal.c @@ -0,0 +1,30 @@ +#include "ref.h" + + +;/* +;* @brief In-place bit reversal function. +;* @param[in, out] *pSrc points to the in-place buffer of unknown 32-bit data type. +;* @param[in] bitRevLen bit reversal table length +;* @param[in] *pBitRevTab points to bit reversal table. +;* @return none. +;*/ +void ref_arm_bitreversal_32(uint32_t *pSrc, uint32_t bitRevLen, uint32_t *pBitRevTab) +{ + uint32_t a,b,i,tmp; + + for(i=0; ifftLen; + int32_t dir = (ifftFlag) ? -1 : 1; + + // decrement pointer since the original version used fortran style indexing. + data--; + + n = N << 1; + j = 1; + for (i = 1; i < n; i += 2) { + if (j > i) { + tempr = data[j]; data[j] = data[i]; data[i] = tempr; + tempr = data[j+1]; data[j+1] = data[i+1]; data[i+1] = tempr; + } + m = n >> 1; + while (m >= 2 && j > m) { + j -= m; + m >>= 1; + } + j += m; + } + mmax = 2; + while (n > mmax) { + istep = 2*mmax; + theta = -6.283185307179586f/(dir*mmax); + wtemp = sinf(0.5f*theta); + wpr = -2.0f*wtemp*wtemp; + wpi = sinf(theta); + wr = 1.0f; + wi = 0.0f; + for (m = 1; m < mmax; m += 2) { + for (i = m; i <= n; i += istep) { + j =i + mmax; + tempr = wr*data[j] - wi*data[j+1]; + tempi = wr*data[j+1] + wi*data[j]; + data[j] = data[i] - tempr; + data[j+1] = data[i+1] - tempi; + data[i] += tempr; + data[i+1] += tempi; + } + wr = (wtemp = wr)*wpr - wi*wpi + wr; + wi = wi*wpr + wtemp*wpi + wi; + } + mmax = istep; + } + + // Inverse transform is scaled by 1/N + if (ifftFlag) + { + data++; + for(i = 0; i<2*N; i++) + { + data[i] /= N; + } + } +} + +void ref_cfft_q31( + const arm_cfft_instance_q31 * S, + q31_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)p1; + + for(i=0;ifftLen*2;i++) + { + //read the q31 data, cast to float, scale down for float + fSrc[i] = (float32_t)p1[i] / 2147483648.0f; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, ifftFlag, bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, ifftFlag, bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, ifftFlag, bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, ifftFlag, bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, ifftFlag, bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, ifftFlag, bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, ifftFlag, bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, ifftFlag, bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, ifftFlag, bitReverseFlag); + break; + } + + if (ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + p1[i] = (q31_t)( fSrc[i] * 2147483648.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + p1[i] = (q31_t)( fSrc[i] * 2147483648.0f / (float32_t)S->fftLen); + } + } +} + +void ref_cfft_q15( + const arm_cfft_instance_q15 * S, + q15_t * pSrc, + uint8_t ifftFlag, + uint8_t bitReverseFlag) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)pSrc; + + for(i=0;ifftLen*2;i++) + { + //read the q15 data, cast to float, scale down for float, place in temporary buffer + scratchArray[i] = (float32_t)pSrc[i] / 32768.0f; + } + + for(i=0;ifftLen*2;i++) + { + //copy from temp buffer to final buffer + fSrc[i] = scratchArray[i]; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, ifftFlag, bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, ifftFlag, bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, ifftFlag, bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, ifftFlag, bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, ifftFlag, bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, ifftFlag, bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, ifftFlag, bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, ifftFlag, bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, ifftFlag, bitReverseFlag); + break; + } + + if (ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f / (float32_t)S->fftLen); + } + } +} + +void ref_cfft_radix2_f32( + const arm_cfft_radix2_instance_f32 * S, + float32_t * pSrc) +{ + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + } +} + +void ref_cfft_radix2_q31( + const arm_cfft_radix2_instance_q31 * S, + q31_t * pSrc) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)pSrc; + + for(i=0;ifftLen*2;i++) + { + //read the q31 data, cast to float, scale down for float + fSrc[i] = (float32_t)pSrc[i] / 2147483648.0f; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + } + + if (S->ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + pSrc[i] = (q31_t)( fSrc[i] * 2147483648.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + pSrc[i] = (q31_t)( fSrc[i] * 2147483648.0f / (float32_t)S->fftLen); + } + } +} + +void ref_cfft_radix2_q15( + const arm_cfft_radix2_instance_q15 * S, + q15_t * pSrc) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)pSrc; + + for(i=0;ifftLen*2;i++) + { + //read the q15 data, cast to float, scale down for float, place in temporary buffer + scratchArray[i] = (float32_t)pSrc[i] / 32768.0f; + } + + for(i=0;ifftLen*2;i++) + { + //copy from temp buffer to final buffer + fSrc[i] = scratchArray[i]; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + } + + if (S->ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f / (float32_t)S->fftLen); + } + } +} + +void ref_cfft_radix4_f32( + const arm_cfft_radix4_instance_f32 * S, + float32_t * pSrc) +{ + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, pSrc, S->ifftFlag, S->bitReverseFlag); + break; + } +} + +void ref_cfft_radix4_q31( + const arm_cfft_radix4_instance_q31 * S, + q31_t * pSrc) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)pSrc; + + for(i=0;ifftLen*2;i++) + { + //read the q31 data, cast to float, scale down for float + fSrc[i] = (float32_t)pSrc[i] / 2147483648.0f; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + } + + if (S->ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + pSrc[i] = (q31_t)( fSrc[i] * 2147483648.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q31, cast to q31 + pSrc[i] = (q31_t)( fSrc[i] * 2147483648.0f / (float32_t)S->fftLen); + } + } +} + +void ref_cfft_radix4_q15( + const arm_cfft_radix4_instance_q15 * S, + q15_t * pSrc) +{ + uint32_t i; + float32_t *fSrc = (float32_t*)pSrc; + + for(i=0;ifftLen*2;i++) + { + //read the q15 data, cast to float, scale down for float, place in temporary buffer + scratchArray[i] = (float32_t)pSrc[i] / 32768.0f; + } + + for(i=0;ifftLen*2;i++) + { + //copy from temp buffer to final buffer + fSrc[i] = scratchArray[i]; + } + + switch(S->fftLen) + { + case 16: + ref_cfft_f32(&arm_cfft_sR_f32_len16, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fSrc, S->ifftFlag, S->bitReverseFlag); + break; + } + + if (S->ifftFlag) + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f ); + } + } + else + { + for(i=0;ifftLen*2;i++) + { + //read the float data, scale up for q15, cast to q15 + pSrc[i] = (q15_t)( fSrc[i] * 32768.0f / (float32_t)S->fftLen); + } + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/dct4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/dct4.c new file mode 100644 index 0000000..60bbb1a --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/dct4.c @@ -0,0 +1,89 @@ +#include "ref.h" + +void ref_dct4_f32( + const arm_dct4_instance_f32 * S, + float32_t * pState, + float32_t * pInlineBuffer) +{ + uint32_t n,k; + float32_t sum; + float32_t pi_by_N = 3.14159265358979f / (float32_t)S->N; + float32_t tmp; + float32_t normalize = sqrtf(2.0f / (float32_t)S->N); + + for(k=0;kN;k++) + { + sum=0.0f; + tmp = ((float32_t)k + 0.5f)*pi_by_N; + for(n=0;nN;n++) + { + sum += pInlineBuffer[n] * cosf(tmp * ((float32_t)n + 0.5f)); + } + scratchArray[k] = normalize * sum; + } + + for(k=0;kN;k++) + { + pInlineBuffer[k] = scratchArray[k]; + } +} + +void ref_dct4_q31( + const arm_dct4_instance_q31 * S, + q31_t * pState, + q31_t * pInlineBuffer) +{ + arm_dct4_instance_f32 SS; + float32_t *fSrc = (float32_t*)pInlineBuffer; + uint32_t i; + + SS.N = S->N; + + for(i=0;iN;i++) + { + //read the q31 data, cast to float, scale down for float + fSrc[i] = (float32_t)pInlineBuffer[i] / 2147483648.0f; + } + + ref_dct4_f32(&SS,(float32_t*)0,fSrc); + + for(i=0;iN;i++) + { + fSrc[i] = fSrc[i] * 2147483648.0f / (float32_t)S->N ; + fSrc[i] += (fSrc[i] > 0) ? 0.5f : -0.5f; + pInlineBuffer[i] = (q31_t)fSrc[i]; + } +} + +void ref_dct4_q15( + const arm_dct4_instance_q15 * S, + q15_t * pState, + q15_t * pInlineBuffer) +{ + arm_dct4_instance_f32 SS; + float32_t *fSrc = (float32_t*)pInlineBuffer; + uint32_t i; + + SS.N = S->N; + + for(i=0;iN;i++) + { + //read the q15 data, cast to float, scale down for float, place in temporary buffer + scratchArray[i] = (float32_t)pInlineBuffer[i] / 32768.0f; + } + + for(i=0;iN;i++) + { + //copy from temp buffer to final buffer + fSrc[i] = scratchArray[i]; + } + + ref_dct4_f32(&SS,(float32_t*)0,fSrc); + + for(i=0;iN;i++) + { + fSrc[i] = fSrc[i] * 32768.0f / (float32_t)S->N; + fSrc[i] += (fSrc[i] > 0) ? 0.5f : -0.5f; + pInlineBuffer[i] = (q15_t)fSrc[i]; + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/rfft.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/rfft.c new file mode 100644 index 0000000..9be22d0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/TransformFunctions/rfft.c @@ -0,0 +1,302 @@ +#include "ref.h" +#include "arm_const_structs.h" + +void ref_rfft_f32( + arm_rfft_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst) +{ + uint32_t i; + + if (S->ifftFlagR) + { + for(i=0;ifftLenReal*2;i++) + { + pDst[i] = pSrc[i]; + } + } + else + { + for(i=0;ifftLenReal;i++) + { + pDst[2*i+0] = pSrc[i]; + pDst[2*i+1] = 0.0f; + } + } + + switch(S->fftLenReal) + { + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, pDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, pDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, pDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 8192: + ref_cfft_f32(&ref_cfft_sR_f32_len8192, pDst, S->ifftFlagR, S->bitReverseFlagR); + break; + } + + if (S->ifftFlagR) + { + //throw away the imaginary part which should be all zeros + for(i=0;ifftLenReal;i++) + { + pDst[i] = pDst[2*i]; + } + } +} + +void ref_rfft_fast_f32( + arm_rfft_fast_instance_f32 * S, + float32_t * p, float32_t * pOut, + uint8_t ifftFlag) +{ + uint32_t i,j; + + if (ifftFlag) + { + for(i=0;ifftLenRFFT;i++) + { + pOut[i] = p[i]; + } + //unpack first sample's complex part into middle sample's real part + pOut[S->fftLenRFFT] = pOut[1]; + pOut[S->fftLenRFFT+1] = 0; + pOut[1] = 0; + j=4; + for(i = S->fftLenRFFT / 2 + 1;i < S->fftLenRFFT;i++) + { + pOut[2*i+0] = p[2*i+0 - j]; + pOut[2*i+1] = -p[2*i+1 - j]; + j+=4; + } + } + else + { + for(i=0;ifftLenRFFT;i++) + { + pOut[2*i+0] = p[i]; + pOut[2*i+1] = 0.0f; + } + } + + switch(S->fftLenRFFT) + { + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, pOut, ifftFlag, 1); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, pOut, ifftFlag, 1); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, pOut, ifftFlag, 1); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, pOut, ifftFlag, 1); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, pOut, ifftFlag, 1); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, pOut, ifftFlag, 1); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, pOut, ifftFlag, 1); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, pOut, ifftFlag, 1); + break; + } + + if (ifftFlag) + { + //throw away the imaginary part which should be all zeros + for(i=0;ifftLenRFFT;i++) + { + pOut[i] = pOut[2*i]; + } + } + else + { + //pack last sample's real part into first sample's complex part + pOut[1] = pOut[S->fftLenRFFT]; + } +} + +void ref_rfft_q31( + const arm_rfft_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst) +{ + uint32_t i; + float32_t *fDst = (float32_t*)pDst; + + if (S->ifftFlagR) + { + for(i=0;ifftLenReal*2;i++) + { + fDst[i] = (float32_t)pSrc[i] / 2147483648.0f; + } + } + else + { + for(i=0;ifftLenReal;i++) + { + fDst[2*i+0] = (float32_t)pSrc[i] / 2147483648.0f; + fDst[2*i+1] = 0.0f; + } + } + + switch(S->fftLenReal) + { + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 8192: + ref_cfft_f32(&ref_cfft_sR_f32_len8192, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + } + + if (S->ifftFlagR) + { + //throw away the imaginary part which should be all zeros + for(i=0;ifftLenReal;i++) + { + //read the float data, scale up for q31, cast to q31 + pDst[i] = (q31_t)( fDst[2*i] * 2147483648.0f); + } + } + else + { + for(i=0;ifftLenReal;i++) + { + //read the float data, scale up for q31, cast to q31 + pDst[i] = (q31_t)( fDst[i] * 2147483648.0f / (float32_t)S->fftLenReal); + } + } +} + +void ref_rfft_q15( + const arm_rfft_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst) +{ + uint32_t i; + float32_t *fDst = (float32_t*)pDst; + + + if (S->ifftFlagR) + { + for(i=0;ifftLenReal*2;i++) + { + fDst[i] = (float32_t)pSrc[i] / 32768.0f; + } + } + else + { + for(i=0;ifftLenReal;i++) + { + //read the q15 data, cast to float, scale down for float + fDst[2*i+0] = (float32_t)pSrc[i] / 32768.0f; + fDst[2*i+1] = 0.0f; + } + } + + switch(S->fftLenReal) + { + case 32: + ref_cfft_f32(&arm_cfft_sR_f32_len32, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 64: + ref_cfft_f32(&arm_cfft_sR_f32_len64, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 128: + ref_cfft_f32(&arm_cfft_sR_f32_len128, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 256: + ref_cfft_f32(&arm_cfft_sR_f32_len256, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 512: + ref_cfft_f32(&arm_cfft_sR_f32_len512, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 1024: + ref_cfft_f32(&arm_cfft_sR_f32_len1024, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 2048: + ref_cfft_f32(&arm_cfft_sR_f32_len2048, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 4096: + ref_cfft_f32(&arm_cfft_sR_f32_len4096, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + + case 8192: + ref_cfft_f32(&ref_cfft_sR_f32_len8192, fDst, S->ifftFlagR, S->bitReverseFlagR); + break; + } + + if (S->ifftFlagR) + { + //throw away the imaginary part which should be all zeros + for(i=0;ifftLenReal;i++) + { + pDst[i] = (q15_t)( fDst[2*i] * 32768.0f); + } + } + else + { + for(i=0;ifftLenReal;i++) + { + pDst[i] = (q15_t)( fDst[i] * 32768.0f / (float32_t)S->fftLenReal); + } + } +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/Abstract.txt new file mode 100644 index 0000000..46a2ec9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_class_marks_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/arm_class_marks_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/arm_class_marks_example_f32.c new file mode 100644 index 0000000..1d62419 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_class_marks_example/arm_class_marks_example_f32.c @@ -0,0 +1,211 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_class_marks_example_f32.c +* +* Description: Example code to calculate Minimum, Maximum +* Mean, std and variance of marks obtained in a class +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup ClassMarks Class Marks Example + * + * \par Description: + * \par + * Demonstrates the use the Maximum, Minimum, Mean, Standard Deviation, Variance + * and Matrix functions to calculate statistical values of marks obtained in a class. + * + * \note This example also demonstrates the usage of static initialization. + * + * \par Variables Description: + * \par + * \li \c testMarks_f32 points to the marks scored by 20 students in 4 subjects + * \li \c max_marks Maximum of all marks + * \li \c min_marks Minimum of all marks + * \li \c mean Mean of all marks + * \li \c var Variance of the marks + * \li \c std Standard deviation of the marks + * \li \c numStudents Total number of students in the class + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_mat_init_f32() + * - arm_mat_mult_f32() + * - arm_max_f32() + * - arm_min_f32() + * - arm_mean_f32() + * - arm_std_f32() + * - arm_var_f32() + * + * Refer + * \link arm_class_marks_example_f32.c \endlink + * + */ + + +/** \example arm_class_marks_example_f32.c + */ +#include "arm_math.h" + +#define USE_STATIC_INIT + + /* ---------------------------------------------------------------------- +** Global defines +** ------------------------------------------------------------------- */ + +#define TEST_LENGTH_SAMPLES (20*4) + +/* ---------------------------------------------------------------------- +** List of Marks scored by 20 students for 4 subjects +** ------------------------------------------------------------------- */ +const float32_t testMarks_f32[TEST_LENGTH_SAMPLES] = +{ + 42.000000, 37.000000, 81.000000, 28.000000, + 83.000000, 72.000000, 36.000000, 38.000000, + 32.000000, 51.000000, 63.000000, 64.000000, + 97.000000, 82.000000, 95.000000, 90.000000, + 66.000000, 51.000000, 54.000000, 42.000000, + 67.000000, 56.000000, 45.000000, 57.000000, + 67.000000, 69.000000, 35.000000, 52.000000, + 29.000000, 81.000000, 58.000000, 47.000000, + 38.000000, 76.000000, 100.000000, 29.000000, + 33.000000, 47.000000, 29.000000, 50.000000, + 34.000000, 41.000000, 61.000000, 46.000000, + 52.000000, 50.000000, 48.000000, 36.000000, + 47.000000, 55.000000, 44.000000, 40.000000, + 100.000000, 94.000000, 84.000000, 37.000000, + 32.000000, 71.000000, 47.000000, 77.000000, + 31.000000, 50.000000, 49.000000, 35.000000, + 63.000000, 67.000000, 40.000000, 31.000000, + 29.000000, 68.000000, 61.000000, 38.000000, + 31.000000, 28.000000, 28.000000, 76.000000, + 55.000000, 33.000000, 29.000000, 39.000000 +}; + + +/* ---------------------------------------------------------------------- +* Number of subjects X 1 +* ------------------------------------------------------------------- */ +const float32_t testUnity_f32[4] = +{ + 1.000, 1.000, 1.000, 1.000 +}; + + +/* ---------------------------------------------------------------------- +** f32 Output buffer +** ------------------------------------------------------------------- */ +static float32_t testOutput[TEST_LENGTH_SAMPLES]; + + +/* ------------------------------------------------------------------ +* Global defines +*------------------------------------------------------------------- */ +#define NUMSTUDENTS 20 +#define NUMSUBJECTS 4 + +/* ------------------------------------------------------------------ +* Global variables +*------------------------------------------------------------------- */ + + uint32_t numStudents = 20; + uint32_t numSubjects = 4; +float32_t max_marks, min_marks, mean, std, var; + uint32_t student_num; + +/* ---------------------------------------------------------------------------------- +* Main f32 test function. It returns maximum marks secured and student number +* ------------------------------------------------------------------------------- */ + +int32_t main() +{ + +#ifndef USE_STATIC_INIT + + arm_matrix_instance_f32 srcA; + arm_matrix_instance_f32 srcB; + arm_matrix_instance_f32 dstC; + + /* Input and output matrices initializations */ + arm_mat_init_f32(&srcA, numStudents, numSubjects, (float32_t *)testMarks_f32); + arm_mat_init_f32(&srcB, numSubjects, 1, (float32_t *)testUnity_f32); + arm_mat_init_f32(&dstC, numStudents, 1, testOutput); + +#else + + /* Static Initializations of Input and output matrix sizes and array */ + arm_matrix_instance_f32 srcA = {NUMSTUDENTS, NUMSUBJECTS, (float32_t *)testMarks_f32}; + arm_matrix_instance_f32 srcB = {NUMSUBJECTS, 1, (float32_t *)testUnity_f32}; + arm_matrix_instance_f32 dstC = {NUMSTUDENTS, 1, testOutput}; + +#endif + + + /* ---------------------------------------------------------------------- + *Call the Matrix multiplication process function + * ------------------------------------------------------------------- */ + arm_mat_mult_f32(&srcA, &srcB, &dstC); + + /* ---------------------------------------------------------------------- + ** Call the Max function to calculate max marks among numStudents + ** ------------------------------------------------------------------- */ + arm_max_f32(testOutput, numStudents, &max_marks, &student_num); + + /* ---------------------------------------------------------------------- + ** Call the Min function to calculate min marks among numStudents + ** ------------------------------------------------------------------- */ + arm_min_f32(testOutput, numStudents, &min_marks, &student_num); + + /* ---------------------------------------------------------------------- + ** Call the Mean function to calculate mean + ** ------------------------------------------------------------------- */ + arm_mean_f32(testOutput, numStudents, &mean); + + /* ---------------------------------------------------------------------- + ** Call the std function to calculate standard deviation + ** ------------------------------------------------------------------- */ + arm_std_f32(testOutput, numStudents, &std); + + /* ---------------------------------------------------------------------- + ** Call the var function to calculate variance + ** ------------------------------------------------------------------- */ + arm_var_f32(testOutput, numStudents, &var); + + while (1); /* main function does not return */ +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/Abstract.txt new file mode 100644 index 0000000..2abb089 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_convolution_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/arm_convolution_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/arm_convolution_example_f32.c new file mode 100644 index 0000000..8af04b8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/arm_convolution_example_f32.c @@ -0,0 +1,247 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_convolution_example_f32.c +* +* Description: Example code demonstrating Convolution of two input signals using fft. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup ConvolutionExample Convolution Example + * + * \par Description: + * \par + * Demonstrates the convolution theorem with the use of the Complex FFT, Complex-by-Complex + * Multiplication, and Support Functions. + * + * \par Algorithm: + * \par + * The convolution theorem states that convolution in the time domain corresponds to + * multiplication in the frequency domain. Therefore, the Fourier transform of the convoution of + * two signals is equal to the product of their individual Fourier transforms. + * The Fourier transform of a signal can be evaluated efficiently using the Fast Fourier Transform (FFT). + * \par + * Two input signals, a[n] and b[n], with lengths \c n1 and \c n2 respectively, + * are zero padded so that their lengths become \c N, which is greater than or equal to (n1+n2-1) + * and is a power of 4 as FFT implementation is radix-4. + * The convolution of a[n] and b[n] is obtained by taking the FFT of the input + * signals, multiplying the Fourier transforms of the two signals, and taking the inverse FFT of + * the multiplied result. + * \par + * This is denoted by the following equations: + *
 A[k] = FFT(a[n],N)
+ * B[k] = FFT(b[n],N)
+ * conv(a[n], b[n]) = IFFT(A[k] * B[k], N)
+ * where A[k] and B[k] are the N-point FFTs of the signals a[n] + * and b[n] respectively. + * The length of the convolved signal is (n1+n2-1). + * + * \par Block Diagram: + * \par + * \image html Convolution.gif + * + * \par Variables Description: + * \par + * \li \c testInputA_f32 points to the first input sequence + * \li \c srcALen length of the first input sequence + * \li \c testInputB_f32 points to the second input sequence + * \li \c srcBLen length of the second input sequence + * \li \c outLen length of convolution output sequence, (srcALen + srcBLen - 1) + * \li \c AxB points to the output array where the product of individual FFTs of inputs is stored. + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_fill_f32() + * - arm_copy_f32() + * - arm_cfft_radix4_init_f32() + * - arm_cfft_radix4_f32() + * - arm_cmplx_mult_cmplx_f32() + * + * Refer + * \link arm_convolution_example_f32.c \endlink + * + */ + + +/** \example arm_convolution_example_f32.c + */ + +#include "arm_math.h" +#include "math_helper.h" + +/* ---------------------------------------------------------------------- +* Defines each of the tests performed +* ------------------------------------------------------------------- */ +#define MAX_BLOCKSIZE 128 +#define DELTA (0.000001f) +#define SNR_THRESHOLD 90 + +/* ---------------------------------------------------------------------- +* Declare I/O buffers +* ------------------------------------------------------------------- */ +float32_t Ak[MAX_BLOCKSIZE]; /* Input A */ +float32_t Bk[MAX_BLOCKSIZE]; /* Input B */ +float32_t AxB[MAX_BLOCKSIZE * 2]; /* Output */ + +/* ---------------------------------------------------------------------- +* Test input data for Floating point Convolution example for 32-blockSize +* Generated by the MATLAB randn() function +* ------------------------------------------------------------------- */ +float32_t testInputA_f32[64] = +{ + -0.808920, 1.357369, 1.180861, -0.504544, 1.762637, -0.703285, + 1.696966, 0.620571, -0.151093, -0.100235, -0.872382, -0.403579, + -0.860749, -0.382648, -1.052338, 0.128113, -0.646269, 1.093377, + -2.209198, 0.471706, 0.408901, 1.266242, 0.598252, 1.176827, + -0.203421, 0.213596, -0.851964, -0.466958, 0.021841, -0.698938, + -0.604107, 0.461778, -0.318219, 0.942520, 0.577585, 0.417619, + 0.614665, 0.563679, -1.295073, -0.764437, 0.952194, -0.859222, + -0.618554, -2.268542, -1.210592, 1.655853, -2.627219, -0.994249, + -1.374704, 0.343799, 0.025619, 1.227481, -0.708031, 0.069355, + -1.845228, -1.570886, 1.010668, -1.802084, 1.630088, 1.286090, + -0.161050, -0.940794, 0.367961, 0.291907 + +}; + +float32_t testInputB_f32[64] = +{ + 0.933724, 0.046881, 1.316470, 0.438345, 0.332682, 2.094885, + 0.512081, 0.035546, 0.050894, -2.320371, 0.168711, -1.830493, + -0.444834, -1.003242, -0.531494, -1.365600, -0.155420, -0.757692, + -0.431880, -0.380021, 0.096243, -0.695835, 0.558850, -1.648962, + 0.020369, -0.363630, 0.887146, 0.845503, -0.252864, -0.330397, + 1.269131, -1.109295, -1.027876, 0.135940, 0.116721, -0.293399, + -1.349799, 0.166078, -0.802201, 0.369367, -0.964568, -2.266011, + 0.465178, 0.651222, -0.325426, 0.320245, -0.784178, -0.579456, + 0.093374, 0.604778, -0.048225, 0.376297, -0.394412, 0.578182, + -1.218141, -1.387326, 0.692462, -0.631297, 0.153137, -0.638952, + 0.635474, -0.970468, 1.334057, -0.111370 +}; + +const float testRefOutput_f32[127] = +{ + -0.818943, 1.229484, -0.533664, 1.016604, 0.341875, -1.963656, + 5.171476, 3.478033, 7.616361, 6.648384, 0.479069, 1.792012, + -1.295591, -7.447818, 0.315830, -10.657445, -2.483469, -6.524236, + -7.380591, -3.739005, -8.388957, 0.184147, -1.554888, 3.786508, + -1.684421, 5.400610, -1.578126, 7.403361, 8.315999, 2.080267, + 11.077776, 2.749673, 7.138962, 2.748762, 0.660363, 0.981552, + 1.442275, 0.552721, -2.576892, 4.703989, 0.989156, 8.759344, + -0.564825, -3.994680, 0.954710, -5.014144, 6.592329, 1.599488, + -13.979146, -0.391891, -4.453369, -2.311242, -2.948764, 1.761415, + -0.138322, 10.433007, -2.309103, 4.297153, 8.535523, 3.209462, + 8.695819, 5.569919, 2.514304, 5.582029, 2.060199, 0.642280, + 7.024616, 1.686615, -6.481756, 1.343084, -3.526451, 1.099073, + -2.965764, -0.173723, -4.111484, 6.528384, -6.965658, 1.726291, + 1.535172, 11.023435, 2.338401, -4.690188, 1.298210, 3.943885, + 8.407885, 5.168365, 0.684131, 1.559181, 1.859998, 2.852417, + 8.574070, -6.369078, 6.023458, 11.837963, -6.027632, 4.469678, + -6.799093, -2.674048, 6.250367, -6.809971, -3.459360, 9.112410, + -2.711621, -1.336678, 1.564249, -1.564297, -1.296760, 8.904013, + -3.230109, 6.878013, -7.819823, 3.369909, -1.657410, -2.007358, + -4.112825, 1.370685, -3.420525, -6.276605, 3.244873, -3.352638, + 1.545372, 0.902211, 0.197489, -1.408732, 0.523390, 0.348440, 0 +}; + + +/* ---------------------------------------------------------------------- +* Declare Global variables +* ------------------------------------------------------------------- */ +uint32_t srcALen = 64; /* Length of Input A */ +uint32_t srcBLen = 64; /* Length of Input B */ +uint32_t outLen; /* Length of convolution output */ +float32_t snr; /* output SNR */ + +int32_t main(void) +{ + arm_status status; /* Status of the example */ + arm_cfft_radix4_instance_f32 cfft_instance; /* CFFT Structure instance */ + + /* CFFT Structure instance pointer */ + arm_cfft_radix4_instance_f32 *cfft_instance_ptr = + (arm_cfft_radix4_instance_f32*) &cfft_instance; + + /* output length of convolution */ + outLen = srcALen + srcBLen - 1; + + /* Initialise the fft input buffers with all zeros */ + arm_fill_f32(0.0, Ak, MAX_BLOCKSIZE); + arm_fill_f32(0.0, Bk, MAX_BLOCKSIZE); + + /* Copy the input values to the fft input buffers */ + arm_copy_f32(testInputA_f32, Ak, MAX_BLOCKSIZE/2); + arm_copy_f32(testInputB_f32, Bk, MAX_BLOCKSIZE/2); + + /* Initialize the CFFT function to compute 64 point fft */ + status = arm_cfft_radix4_init_f32(cfft_instance_ptr, 64, 0, 1); + + /* Transform input a[n] from time domain to frequency domain A[k] */ + arm_cfft_radix4_f32(cfft_instance_ptr, Ak); + /* Transform input b[n] from time domain to frequency domain B[k] */ + arm_cfft_radix4_f32(cfft_instance_ptr, Bk); + + /* Complex Multiplication of the two input buffers in frequency domain */ + arm_cmplx_mult_cmplx_f32(Ak, Bk, AxB, MAX_BLOCKSIZE/2); + + /* Initialize the CIFFT function to compute 64 point ifft */ + status = arm_cfft_radix4_init_f32(cfft_instance_ptr, 64, 1, 1); + + /* Transform the multiplication output from frequency domain to time domain, + that gives the convolved output */ + arm_cfft_radix4_f32(cfft_instance_ptr, AxB); + + /* SNR Calculation */ + snr = arm_snr_f32((float32_t *)testRefOutput_f32, AxB, srcALen + srcBLen - 1); + + /* Compare the SNR with threshold to test whether the + computed output is matched with the reference output values. */ + if ( snr > SNR_THRESHOLD) + { + status = ARM_MATH_SUCCESS; + } + + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/Abstract.txt new file mode 100644 index 0000000..c8dbd44 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_dotproduct_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/arm_dotproduct_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/arm_dotproduct_example_f32.c new file mode 100644 index 0000000..21966a0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_dotproduct_example/arm_dotproduct_example_f32.c @@ -0,0 +1,178 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_dotproduct_example_f32.c +* +* Description: Example code computing dot product of two vectors. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup DotproductExample Dot Product Example + * + * \par Description: + * \par + * Demonstrates the use of the Multiply and Add functions to perform the dot product. + * The dot product of two vectors is obtained by multiplying corresponding elements + * and summing the products. + + * \par Algorithm: + * \par + * The two input vectors \c A and \c B with length \c n, are multiplied element-by-element + * and then added to obtain dot product. + * \par + * This is denoted by the following equation: + *
  dotProduct = A[0] * B[0] + A[1] * B[1] + ... + A[n-1] * B[n-1]
+ * + * \par Block Diagram: + * \par + * \image html dotProduct.gif + * + * \par Variables Description: + * \par + * \li \c srcA_buf_f32 points to first input vector + * \li \c srcB_buf_f32 points to second input vector + * \li \c testOutput stores dot product of the two input vectors. + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_mult_f32() + * - arm_add_f32() + * + * Refer + * \link arm_dotproduct_example_f32.c \endlink + * + */ + + +/** \example arm_dotproduct_example_f32.c + */ + +#include +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +* Defines each of the tests performed +* ------------------------------------------------------------------- */ +#define MAX_BLOCKSIZE 32 +#define DELTA (0.000001f) + +/* ---------------------------------------------------------------------- +* Test input data for Floating point Dot Product example for 32-blockSize +* Generated by the MATLAB randn() function +* ------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- +** Test input data of srcA for blockSize 32 +** ------------------------------------------------------------------- */ +float32_t srcA_buf_f32[MAX_BLOCKSIZE] = +{ + -0.4325648115282207, -1.6655843782380970, 0.1253323064748307, + 0.2876764203585489, -1.1464713506814637, 1.1909154656429988, + 1.1891642016521031, -0.0376332765933176, 0.3272923614086541, + 0.1746391428209245, -0.1867085776814394, 0.7257905482933027, + -0.5883165430141887, 2.1831858181971011, -0.1363958830865957, + 0.1139313135208096, 1.0667682113591888, 0.0592814605236053, + -0.0956484054836690, -0.8323494636500225, 0.2944108163926404, + -1.3361818579378040, 0.7143245518189522, 1.6235620644462707, + -0.6917757017022868, 0.8579966728282626, 1.2540014216025324, + -1.5937295764474768, -1.4409644319010200, 0.5711476236581780, + -0.3998855777153632, 0.6899973754643451 +}; + +/* ---------------------------------------------------------------------- +** Test input data of srcB for blockSize 32 +** ------------------------------------------------------------------- */ +float32_t srcB_buf_f32[MAX_BLOCKSIZE] = +{ + 1.7491401329284098, 0.1325982188803279, 0.3252281811989881, + -0.7938091410349637, 0.3149236145048914, -0.5272704888029532, + 0.9322666565031119, 1.1646643544607362, -2.0456694357357357, + -0.6443728590041911, 1.7410657940825480, 0.4867684246821860, + 1.0488288293660140, 1.4885752747099299, 1.2705014969484090, + -1.8561241921210170, 2.1343209047321410, 1.4358467535865909, + -0.9173023332875400, -1.1060770780029008, 0.8105708062681296, + 0.6985430696369063, -0.4015827425012831, 1.2687512030669628, + -0.7836083053674872, 0.2132664971465569, 0.7878984786088954, + 0.8966819356782295, -0.1869172943544062, 1.0131816724341454, + 0.2484350696132857, 0.0596083377937976 +}; + +/* Reference dot product output */ +float32_t refDotProdOut = 5.9273644806352142; + +/* ---------------------------------------------------------------------- +* Declare Global variables +* ------------------------------------------------------------------- */ +float32_t multOutput[MAX_BLOCKSIZE]; /* Intermediate output */ +float32_t testOutput; /* Final ouput */ + +arm_status status; /* Status of the example */ + +int32_t main(void) +{ + uint32_t i; /* Loop counter */ + float32_t diff; /* Difference between reference and test outputs */ + + /* Multiplication of two input buffers */ + arm_mult_f32(srcA_buf_f32, srcB_buf_f32, multOutput, MAX_BLOCKSIZE); + + /* Accumulate the multiplication output values to + get the dot product of the two inputs */ + for(i=0; i< MAX_BLOCKSIZE; i++) + { + arm_add_f32(&testOutput, &multOutput[i], &testOutput, 1); + } + + /* absolute value of difference between ref and test */ + diff = fabsf(refDotProdOut - testOutput); + + /* Comparison of dot product value with reference */ + if (diff > DELTA) + { + status = ARM_MATH_TEST_FAILURE; + } + + if ( status == ARM_MATH_TEST_FAILURE) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/Abstract.txt new file mode 100644 index 0000000..8395b53 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_fft_bin_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_data.c new file mode 100644 index 0000000..b5159e5 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_data.c @@ -0,0 +1,308 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_fft_bin_data.c +* +* Description: Data file used for example code +* +* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +Test Input signal contains 10KHz signal + Uniformly distributed white noise +** ------------------------------------------------------------------- */ + +float32_t testInput_f32_10khz[2048] = +{ +-0.865129623056441, 0.000000000000000, -2.655020678073846, 0.000000000000000, 0.600664612949661, 0.000000000000000, 0.080378093886515, 0.000000000000000, +-2.899160484012034, 0.000000000000000, 2.563004262857762, 0.000000000000000, 3.078328403304206, 0.000000000000000, 0.105906778385130, 0.000000000000000, +0.048366940168201, 0.000000000000000, -0.145696461188734, 0.000000000000000, -0.023417155362879, 0.000000000000000, 2.127729174988954, 0.000000000000000, +-1.176633086028377, 0.000000000000000, 3.690223557991855, 0.000000000000000, -0.622791766173194, 0.000000000000000, 0.722837373872203, 0.000000000000000, +2.739754205367484, 0.000000000000000, -0.062610410524552, 0.000000000000000, -0.891296810967338, 0.000000000000000, -1.845872258871811, 0.000000000000000, +1.195039415434387, 0.000000000000000, -2.177388969045026, 0.000000000000000, 1.078649103637905, 0.000000000000000, 2.570976050490193, 0.000000000000000, +-1.383551403404574, 0.000000000000000, 2.392141424058873, 0.000000000000000, 2.858002843205065, 0.000000000000000, -3.682433899725536, 0.000000000000000, +-3.488146646451150, 0.000000000000000, 1.323468578888120, 0.000000000000000, -0.099771155430726, 0.000000000000000, 1.561168082500454, 0.000000000000000, +1.025026795103179, 0.000000000000000, 0.928841900171200, 0.000000000000000, 2.930499509864950, 0.000000000000000, 2.013349089766430, 0.000000000000000, +2.381676148486737, 0.000000000000000, -3.081062307950236, 0.000000000000000, -0.389579115537544, 0.000000000000000, 0.181540149166620, 0.000000000000000, +-2.601953341353208, 0.000000000000000, 0.333435137783218, 0.000000000000000, -2.812945856162965, 0.000000000000000, 2.649109640172910, 0.000000000000000, +-1.003963025744654, 0.000000000000000, 1.552460768755035, 0.000000000000000, 0.088641345335247, 0.000000000000000, -2.519951327113426, 0.000000000000000, +-4.341348988610527, 0.000000000000000, 0.557772429359965, 0.000000000000000, -1.671267412948494, 0.000000000000000, 0.733951350960387, 0.000000000000000, +0.409263788034864, 0.000000000000000, 3.566033071952806, 0.000000000000000, 1.882565173848352, 0.000000000000000, -1.106017073793287, 0.000000000000000, +0.154456720778718, 0.000000000000000, -2.513205795512153, 0.000000000000000, 0.310978660939421, 0.000000000000000, 0.579706500111723, 0.000000000000000, +0.000086383683251, 0.000000000000000, -1.311866980897721, 0.000000000000000, 1.840007477574986, 0.000000000000000, -3.253005768451345, 0.000000000000000, +1.462584328739432, 0.000000000000000, 1.610103610851738, 0.000000000000000, 0.761914676858907, 0.000000000000000, 0.974541361089834, 0.000000000000000, +0.686845845885983, 0.000000000000000, 1.849153122025191, 0.000000000000000, 0.787800410401453, 0.000000000000000, -1.187438909666279, 0.000000000000000, +-0.754937911044720, 0.000000000000000, 0.084373858395232, 0.000000000000000, -2.600269011710521, 0.000000000000000, -0.962982842142644, 0.000000000000000, +-0.369328108540868, 0.000000000000000, 0.810791418361879, 0.000000000000000, 3.587016488699641, 0.000000000000000, -0.520776145083723, 0.000000000000000, +0.640249919627884, 0.000000000000000, 1.103122489464969, 0.000000000000000, 2.231779881455556, 0.000000000000000, -1.308035392685241, 0.000000000000000, +0.424070304330106, 0.000000000000000, -0.200383932651189, 0.000000000000000, -2.365526783356541, 0.000000000000000, -0.989114757436628, 0.000000000000000, +2.770807688959777, 0.000000000000000, -0.444172737462307, 0.000000000000000, 0.079760979374078, 0.000000000000000, -0.005199118412183, 0.000000000000000, +-0.664712668309527, 0.000000000000000, -0.624171857561896, 0.000000000000000, 0.537306979007338, 0.000000000000000, -2.575955675497642, 0.000000000000000, +1.562363235756780, 0.000000000000000, 1.814069369848895, 0.000000000000000, -1.293428583392509, 0.000000000000000, -1.026188449495686, 0.000000000000000, +-2.981771815588717, 0.000000000000000, -4.223468103075124, 0.000000000000000, 2.672674782004045, 0.000000000000000, -0.856096801117735, 0.000000000000000, +0.048517345512563, 0.000000000000000, -0.026860721136222, 0.000000000000000, 0.392932277758187, 0.000000000000000, -1.331740855093099, 0.000000000000000, +-1.894292129477081, 0.000000000000000, -1.425006468460681, 0.000000000000000, -2.721772427617057, 0.000000000000000, -1.616831100216806, 0.000000000000000, +3.551177651488947, 0.000000000000000, -0.069685667896087, 0.000000000000000, -3.134634907409102, 0.000000000000000, -0.263627598944639, 0.000000000000000, +-1.650469945991350, 0.000000000000000, -2.203580339374399, 0.000000000000000, -0.872203246123242, 0.000000000000000, 1.230782812607287, 0.000000000000000, +0.257288860093291, 0.000000000000000, 1.989083106173137, 0.000000000000000, -1.985638729453261, 0.000000000000000, -1.416185105842892, 0.000000000000000, +-1.131097688325772, 0.000000000000000, -2.245130805416057, 0.000000000000000, -1.938873996219074, 0.000000000000000, 2.043608361562645, 0.000000000000000, +-0.583727989880841, 0.000000000000000, -1.785266378212929, 0.000000000000000, 1.961457586224753, 0.000000000000000, 1.139400099963223, 0.000000000000000, +-1.979519343363991, 0.000000000000000, 2.003023322818429, 0.000000000000000, 0.229004069076829, 0.000000000000000, 3.452808862193135, 0.000000000000000, +2.882273808365857, 0.000000000000000, -1.549450501844438, 0.000000000000000, -3.283872089931876, 0.000000000000000, -0.327025884099064, 0.000000000000000, +-0.054979977136430, 0.000000000000000, -1.192280531479012, 0.000000000000000, 0.645539328365578, 0.000000000000000, 2.300832863404618, 0.000000000000000, +-1.092951789535240, 0.000000000000000, -1.017368249363773, 0.000000000000000, -0.142673056169787, 0.000000000000000, 0.831073544881250, 0.000000000000000, +-2.314612531587064, 0.000000000000000, -2.221456299106321, 0.000000000000000, 0.460261143885226, 0.000000000000000, 0.050585301888595, 0.000000000000000, +0.364373329183988, 0.000000000000000, -1.685956552069538, 0.000000000000000, 0.050664512351055, 0.000000000000000, -0.193355783902718, 0.000000000000000, +-0.158660446046828, 0.000000000000000, 2.394156453841953, 0.000000000000000, -1.562965718554525, 0.000000000000000, -2.199750600869900, 0.000000000000000, +1.544984022381773, 0.000000000000000, -1.988307216807315, 0.000000000000000, -0.628240722541046, 0.000000000000000, -1.436235771505429, 0.000000000000000, +1.677013691147313, 0.000000000000000, 1.600741781678228, 0.000000000000000, -0.757380959134706, 0.000000000000000, -4.784797439515566, 0.000000000000000, +0.265121462834569, 0.000000000000000, 3.862029485934378, 0.000000000000000, 2.386823577249430, 0.000000000000000, -3.655779745436893, 0.000000000000000, +-0.763541621368016, 0.000000000000000, -1.182140388432962, 0.000000000000000, -1.349106114858063, 0.000000000000000, -2.287533624396759, 0.000000000000000, +-0.028603745188423, 0.000000000000000, -1.353580755934427, 0.000000000000000, 0.461602380352937, 0.000000000000000, -0.059599055078928, 0.000000000000000, +-0.929946734342228, 0.000000000000000, 0.065773089295561, 0.000000000000000, 1.106565863102982, 0.000000000000000, 4.719295086373593, 0.000000000000000, +-2.108377703544395, 0.000000000000000, -2.226393620240159, 0.000000000000000, 1.375668397437521, 0.000000000000000, -0.960772428525443, 0.000000000000000, +-2.156313465390571, 0.000000000000000, 1.126060012375311, 0.000000000000000, 2.756485137030720, 0.000000000000000, 0.739639690862600, 0.000000000000000, +3.914769510295006, 0.000000000000000, 1.685232785586675, 0.000000000000000, 4.079058040970612, 0.000000000000000, -1.174598301660513, 0.000000000000000, +-2.885776587275580, 0.000000000000000, -0.241073635188767, 0.000000000000000, 3.080489872502403, 0.000000000000000, -2.051244183999421, 0.000000000000000, +0.664330486845139, 0.000000000000000, -1.697798999370016, 0.000000000000000, 1.452369423649782, 0.000000000000000, -1.523532831019280, 0.000000000000000, +0.171981186587481, 0.000000000000000, -4.685274721583927, 0.000000000000000, -1.336175835319380, 0.000000000000000, 1.419070770428945, 0.000000000000000, +-0.035791601713475, 0.000000000000000, 2.291937971632081, 0.000000000000000, -1.962559313450293, 0.000000000000000, -4.831595589339301, 0.000000000000000, +-1.857055284000925, 0.000000000000000, 2.606271522635512, 0.000000000000000, -0.576447978738030, 0.000000000000000, 0.082299166967720, 0.000000000000000, +1.888399453494614, 0.000000000000000, -3.564705298046079, 0.000000000000000, -0.939357831083889, 0.000000000000000, -1.903578203697778, 0.000000000000000, +-2.642492215447250, 0.000000000000000, -0.182990405251017, 0.000000000000000, 3.742026478011174, 0.000000000000000, 0.104295803798333, 0.000000000000000, +1.848678195370347, 0.000000000000000, -1.887384346896369, 0.000000000000000, 0.365048973046045, 0.000000000000000, -0.889638010354219, 0.000000000000000, +1.173877118428863, 0.000000000000000, -1.178562827540109, 0.000000000000000, 0.610271645685184, 0.000000000000000, 1.831284815697871, 0.000000000000000, +0.449575390102283, 0.000000000000000, 1.597171905253443, 0.000000000000000, 3.918574971904773, 0.000000000000000, 0.868104027970404, 0.000000000000000, +0.582643134746494, 0.000000000000000, 2.321256382353331, 0.000000000000000, -0.238118642223180, 0.000000000000000, -2.890287868054370, 0.000000000000000, +0.970995414625622, 0.000000000000000, 0.666137930891283, 0.000000000000000, -0.202435718709502, 0.000000000000000, 2.057930200518194, 0.000000000000000, +3.120583443719949, 0.000000000000000, -0.863945271701041, 0.000000000000000, 0.906848893874630, 0.000000000000000, -1.434124930222570, 0.000000000000000, +0.754659384848783, 0.000000000000000, -5.224154442713778, 0.000000000000000, 2.330229744098967, 0.000000000000000, 1.113946320164698, 0.000000000000000, +0.523324920322840, 0.000000000000000, 1.750740911548348, 0.000000000000000, -0.899333972913577, 0.000000000000000, 0.228705845203506, 0.000000000000000, +-1.934782624767648, 0.000000000000000, -3.508386237231303, 0.000000000000000, -2.107108523073510, 0.000000000000000, 0.380587645474815, 0.000000000000000, +-0.476200877183279, 0.000000000000000, -2.172086712642198, 0.000000000000000, 1.795372535780299, 0.000000000000000, -2.100318983391055, 0.000000000000000, +-0.022571122461405, 0.000000000000000, 0.674514020010955, 0.000000000000000, -0.148872569390857, 0.000000000000000, 0.298175890592737, 0.000000000000000, +-1.134244492493590, 0.000000000000000, -3.146848422289455, 0.000000000000000, -1.357950199087602, 0.000000000000000, 0.667362732020878, 0.000000000000000, +-3.119397998316724, 0.000000000000000, -1.189341126297637, 0.000000000000000, -1.532744386856668, 0.000000000000000, -1.672972484202534, 0.000000000000000, +-2.042283373871558, 0.000000000000000, -1.479481547595924, 0.000000000000000, -0.002668662875396, 0.000000000000000, 0.262737760129546, 0.000000000000000, +2.734456080621830, 0.000000000000000, -0.671945925075102, 0.000000000000000, -3.735078262179111, 0.000000000000000, -0.161705013319883, 0.000000000000000, +0.748963512361001, 0.000000000000000, 1.128046374367600, 0.000000000000000, 0.649651335592966, 0.000000000000000, 1.880020215025867, 0.000000000000000, +-1.095632293842306, 0.000000000000000, 1.197764876160487, 0.000000000000000, 0.323646656252985, 0.000000000000000, -1.655502751114502, 0.000000000000000, +3.666399062961496, 0.000000000000000, -0.334060899735197, 0.000000000000000, -2.119056978738397, 0.000000000000000, 3.721375117275012, 0.000000000000000, +0.044874186872307, 0.000000000000000, -2.733053897593234, 0.000000000000000, 1.590700278891042, 0.000000000000000, 3.215711772781902, 0.000000000000000, +-1.792085012843801, 0.000000000000000, -0.405797188885475, 0.000000000000000, -0.628080020080892, 0.000000000000000, -1.831815840843960, 0.000000000000000, +2.973656862522834, 0.000000000000000, -0.212032655138417, 0.000000000000000, 0.372437389437234, 0.000000000000000, -1.614030579023492, 0.000000000000000, +-0.704900996358698, 0.000000000000000, 1.123700273452105, 0.000000000000000, -0.136371848130819, 0.000000000000000, 3.020284357635585, 0.000000000000000, +-0.550211350877649, 0.000000000000000, 5.101256236381711, 0.000000000000000, 3.367051512192333, 0.000000000000000, -4.385131946669234, 0.000000000000000, +-3.967303337694391, 0.000000000000000, -0.965894936640022, 0.000000000000000, 0.328366945264681, 0.000000000000000, 0.199041562924914, 0.000000000000000, +1.067681999025495, 0.000000000000000, -1.939516091697170, 0.000000000000000, -1.092980954328824, 0.000000000000000, 0.273786079368066, 0.000000000000000, +-0.040928322190265, 0.000000000000000, -0.118368078577437, 0.000000000000000, 1.766589628899997, 0.000000000000000, 1.738321311635393, 0.000000000000000, +-2.895012794321649, 0.000000000000000, 1.213521771395142, 0.000000000000000, 0.922971726633985, 0.000000000000000, 1.091516563636489, 0.000000000000000, +3.226378465469620, 0.000000000000000, 1.149169778666974, 0.000000000000000, -1.695986327709386, 0.000000000000000, -0.974803077355813, 0.000000000000000, +-4.898035507513607, 0.000000000000000, 1.622719302889447, 0.000000000000000, 0.583891313586579, 0.000000000000000, -1.677182424094957, 0.000000000000000, +-1.915633132814685, 0.000000000000000, -1.980150370851616, 0.000000000000000, 0.604538269404190, 0.000000000000000, 0.939862406149365, 0.000000000000000, +-1.266939874246416, 0.000000000000000, -1.494771249200063, 0.000000000000000, 0.278042784093988, 0.000000000000000, 0.326627416008916, 0.000000000000000, +-1.914530157643303, 0.000000000000000, 1.908947721862196, 0.000000000000000, 0.531819285694044, 0.000000000000000, 3.056856632319658, 0.000000000000000, +-0.389241827774643, 0.000000000000000, -2.418606606780420, 0.000000000000000, 0.915299238878703, 0.000000000000000, -0.098774174295283, 0.000000000000000, +-0.906199428444304, 0.000000000000000, 0.316716451217743, 0.000000000000000, -4.367700643578311, 0.000000000000000, 1.491687997515293, 0.000000000000000, +-1.962381126288365, 0.000000000000000, -0.700829196527045, 0.000000000000000, 3.028958963615630, 0.000000000000000, -2.313461067462598, 0.000000000000000, +-1.431933239886712, 0.000000000000000, -0.831153039725342, 0.000000000000000, 3.939495598250743, 0.000000000000000, 0.342974753984771, 0.000000000000000, +-2.768330763002974, 0.000000000000000, -2.744010370019008, 0.000000000000000, 3.821352685212561, 0.000000000000000, 4.551065271455856, 0.000000000000000, +3.270136437041298, 0.000000000000000, -3.188028411950982, 0.000000000000000, -0.777075012417436, 0.000000000000000, 0.097110650265216, 0.000000000000000, +1.221216137608812, 0.000000000000000, -1.325824244541822, 0.000000000000000, -2.655296734084113, 0.000000000000000, -1.074792144885704, 0.000000000000000, +2.770401584439407, 0.000000000000000, 5.240270645610543, 0.000000000000000, 0.108576672208892, 0.000000000000000, -1.209394350650142, 0.000000000000000, +1.403344353838785, 0.000000000000000, -0.299032904177277, 0.000000000000000, 4.074959450638227, 0.000000000000000, 1.718727473952107, 0.000000000000000, +-3.061349227080806, 0.000000000000000, -1.158596888541269, 0.000000000000000, 3.381858904662625, 0.000000000000000, 0.957339964054052, 0.000000000000000, +0.179900074904899, 0.000000000000000, -3.909641902506081, 0.000000000000000, 0.805717289408649, 0.000000000000000, 2.047413793928261, 0.000000000000000, +-1.273580225826614, 0.000000000000000, -2.681359186869971, 0.000000000000000, -0.721241345822093, 0.000000000000000, -1.613090681569475, 0.000000000000000, +0.463138804815955, 0.000000000000000, 0.377223507800954, 0.000000000000000, 2.046550684968141, 0.000000000000000, 0.178508732797712, 0.000000000000000, +-0.477815330358845, 0.000000000000000, 3.763355908332053, 0.000000000000000, 1.300430303035163, 0.000000000000000, -0.214625793857725, 0.000000000000000, +1.343267891864081, 0.000000000000000, -0.340007682433245, 0.000000000000000, 2.062703194680005, 0.000000000000000, 0.042032160234235, 0.000000000000000, +0.643732569732250, 0.000000000000000, -1.913502543857589, 0.000000000000000, 3.771340762937158, 0.000000000000000, 1.050024807363386, 0.000000000000000, +-4.440489488592649, 0.000000000000000, 0.444904302066643, 0.000000000000000, 2.898702265650048, 0.000000000000000, 1.953232980548558, 0.000000000000000, +2.761564952735079, 0.000000000000000, 1.963537633260397, 0.000000000000000, -2.168858472916215, 0.000000000000000, -4.116235357699841, 0.000000000000000, +4.183678271896528, 0.000000000000000, 0.600422284944681, 0.000000000000000, -0.659352647255126, 0.000000000000000, -0.993127338218109, 0.000000000000000, +-2.463571314945747, 0.000000000000000, 0.937720951545881, 0.000000000000000, -3.098957308429730, 0.000000000000000, -2.354719140045463, 0.000000000000000, +-0.417285119323949, 0.000000000000000, 2.187974075975947, 0.000000000000000, 1.101468905172585, 0.000000000000000, -3.185800678152109, 0.000000000000000, +2.357534709345083, 0.000000000000000, 0.246645606729407, 0.000000000000000, 4.440905650784504, 0.000000000000000, -2.236807716637866, 0.000000000000000, +-2.171481518317550, 0.000000000000000, -2.029571795072690, 0.000000000000000, 0.135599790431348, 0.000000000000000, -1.277965265520191, 0.000000000000000, +-1.927976233157507, 0.000000000000000, -5.434492783745394, 0.000000000000000, -2.026375829312657, 0.000000000000000, 1.009666016819321, 0.000000000000000, +0.238549782367247, 0.000000000000000, -0.516403923971309, 0.000000000000000, -0.933977817429352, 0.000000000000000, 0.155803015935614, 0.000000000000000, +-0.396194809997929, 0.000000000000000, -0.915178100253214, 0.000000000000000, 0.666329367985015, 0.000000000000000, -1.517991149945785, 0.000000000000000, +0.458266744144822, 0.000000000000000, -1.242845974381418, 0.000000000000000, 0.057914823556477, 0.000000000000000, 0.994101307476875, 0.000000000000000, +-2.387209849199325, 0.000000000000000, 0.459297048883826, 0.000000000000000, 0.227711405683905, 0.000000000000000, 0.030255073506117, 0.000000000000000, +-1.323361608181337, 0.000000000000000, -4.650244457426706, 0.000000000000000, 0.062908579526021, 0.000000000000000, 3.462831028244432, 0.000000000000000, +1.303608183314856, 0.000000000000000, -1.430415193881612, 0.000000000000000, -1.672886118942142, 0.000000000000000, 0.992890699210099, 0.000000000000000, +-0.160814531784247, 0.000000000000000, -1.238132939350430, 0.000000000000000, -0.589223271459376, 0.000000000000000, 2.326363810561534, 0.000000000000000, +-4.433789496230785, 0.000000000000000, 1.664686987538929, 0.000000000000000, -2.366128834617921, 0.000000000000000, 1.212421570743837, 0.000000000000000, +-4.847914267690055, 0.000000000000000, 0.228485221404712, 0.000000000000000, 0.466139765470957, 0.000000000000000, -1.344202776943546, 0.000000000000000, +-1.012053673330574, 0.000000000000000, -2.844980626424742, 0.000000000000000, -1.552703722026340, 0.000000000000000, -1.448830983885038, 0.000000000000000, +0.127010756753980, 0.000000000000000, -1.667188263752299, 0.000000000000000, 3.424818052085100, 0.000000000000000, 0.956291135453840, 0.000000000000000, +-3.725533331754662, 0.000000000000000, -1.584534272368832, 0.000000000000000, -1.654148210472472, 0.000000000000000, 0.701610500675698, 0.000000000000000, +0.164954538683927, 0.000000000000000, -0.739260064712987, 0.000000000000000, -2.167324026090101, 0.000000000000000, -0.310240491909496, 0.000000000000000, +-2.281790349106906, 0.000000000000000, 1.719655331305361, 0.000000000000000, -2.997005923606441, 0.000000000000000, -1.999301431556852, 0.000000000000000, +-0.292229010068828, 0.000000000000000, 1.172317994855851, 0.000000000000000, 0.196734885241533, 0.000000000000000, 2.981365193477068, 0.000000000000000, +2.637726016926352, 0.000000000000000, 1.434045125217982, 0.000000000000000, 0.883627180451827, 0.000000000000000, -1.434040761445747, 0.000000000000000, +-1.528891971086553, 0.000000000000000, -3.306913135367542, 0.000000000000000, -0.399059265470646, 0.000000000000000, -0.265674394285178, 0.000000000000000, +3.502591252855384, 0.000000000000000, 0.830301156604454, 0.000000000000000, -0.220021317046083, 0.000000000000000, -0.090553770476646, 0.000000000000000, +0.771863477047951, 0.000000000000000, 1.351209629105760, 0.000000000000000, 3.773699756201963, 0.000000000000000, 0.472600118752329, 0.000000000000000, +2.332825668012222, 0.000000000000000, 1.853747950314528, 0.000000000000000, 0.759515251766178, 0.000000000000000, 1.327112776215496, 0.000000000000000, +2.518730296237868, 0.000000000000000, 0.764450208786353, 0.000000000000000, -0.278275349491296, 0.000000000000000, -0.041559465082020, 0.000000000000000, +1.387166083167787, 0.000000000000000, 2.612996769598122, 0.000000000000000, -0.385404831721799, 0.000000000000000, 2.005630016170309, 0.000000000000000, +-0.950500047307998, 0.000000000000000, -1.166884021392492, 0.000000000000000, 1.432973552928162, 0.000000000000000, 2.540370505384567, 0.000000000000000, +-1.140505295054501, 0.000000000000000, -3.673358835201185, 0.000000000000000, -0.450691288038056, 0.000000000000000, 1.601024294408014, 0.000000000000000, +0.773213556014045, 0.000000000000000, 2.973873693246168, 0.000000000000000, -1.361548406382279, 0.000000000000000, 1.409136332424815, 0.000000000000000, +-0.963382518314713, 0.000000000000000, -2.031268227368161, 0.000000000000000, 0.983309972085586, 0.000000000000000, -3.461412488471631, 0.000000000000000, +-2.601124929406039, 0.000000000000000, -0.533896239766343, 0.000000000000000, -2.627129008866350, 0.000000000000000, 0.622111169161305, 0.000000000000000, +-1.160926365580422, 0.000000000000000, -2.406196188132628, 0.000000000000000, -1.076870362758737, 0.000000000000000, -1.791866820937175, 0.000000000000000, +-0.749453071522325, 0.000000000000000, -5.324156615990973, 0.000000000000000, -1.038698022238289, 0.000000000000000, -2.106629944730630, 0.000000000000000, +0.659295598564773, 0.000000000000000, 0.520940881580988, 0.000000000000000, -0.055649203928700, 0.000000000000000, 0.292096765423137, 0.000000000000000, +-4.663743901790872, 0.000000000000000, -0.125066503391666, 0.000000000000000, -2.452620252445380, 0.000000000000000, -0.712128227397468, 0.000000000000000, +-0.048938037970968, 0.000000000000000, -1.821520226003361, 0.000000000000000, 0.810106421304257, 0.000000000000000, -0.196636623956257, 0.000000000000000, +-0.701769836763804, 0.000000000000000, 2.460345045649201, 0.000000000000000, 3.506597671641116, 0.000000000000000, -2.711322611972225, 0.000000000000000, +-0.658079876600542, 0.000000000000000, -2.040082099646173, 0.000000000000000, 2.201668355395807, 0.000000000000000, 1.181507395879711, 0.000000000000000, +-1.640739552179682, 0.000000000000000, -1.613393726467190, 0.000000000000000, -1.156741241731352, 0.000000000000000, 2.527773464519963, 0.000000000000000, +-0.497040638009502, 0.000000000000000, -0.975817112895589, 0.000000000000000, -2.866830755546166, 0.000000000000000, 1.120214498507878, 0.000000000000000, +5.986771654661698, 0.000000000000000, 0.398219252656757, 0.000000000000000, -3.545606013198135, 0.000000000000000, 0.312398099396191, 0.000000000000000, +-2.265327979531788, 0.000000000000000, 0.792121001107366, 0.000000000000000, -3.736145137670100, 0.000000000000000, 0.762228883650802, 0.000000000000000, +2.283545661214646, 0.000000000000000, 3.780020629583529, 0.000000000000000, 3.117260228608810, 0.000000000000000, -2.011159255609613, 0.000000000000000, +0.279107700476072, 0.000000000000000, 2.003369134246936, 0.000000000000000, -1.448171234480257, 0.000000000000000, 0.584697150310140, 0.000000000000000, +0.919508663636197, 0.000000000000000, -3.071349141675388, 0.000000000000000, -1.555923649263667, 0.000000000000000, 2.232497079438850, 0.000000000000000, +-0.012662139119883, 0.000000000000000, 0.372825540734715, 0.000000000000000, 2.378543590847629, 0.000000000000000, 1.459053407813062, 0.000000000000000, +-0.967913907390927, 0.000000000000000, 1.322825200678212, 0.000000000000000, -1.033775820061824, 0.000000000000000, -1.813629552693142, 0.000000000000000, +4.794348161661486, 0.000000000000000, 0.655279811518676, 0.000000000000000, -2.224590138589720, 0.000000000000000, 0.595329481295766, 0.000000000000000, +3.364055988866225, 0.000000000000000, 1.863416422998127, 0.000000000000000, 1.930305751828105, 0.000000000000000, -0.284467053432545, 0.000000000000000, +-0.923374905878938, 0.000000000000000, 1.922988234041399, 0.000000000000000, 0.310482143432719, 0.000000000000000, 0.332122302397134, 0.000000000000000, +-1.659487472408966, 0.000000000000000, -1.865943507877961, 0.000000000000000, -0.186775297569864, 0.000000000000000, -1.700543850628361, 0.000000000000000, +0.497157959366735, 0.000000000000000, -0.471244843957418, 0.000000000000000, -0.432013753969948, 0.000000000000000, -4.000189880113231, 0.000000000000000, +-0.415335170016467, 0.000000000000000, 0.317311950972859, 0.000000000000000, 0.038393428927595, 0.000000000000000, 0.177219909465206, 0.000000000000000, +0.531650958095143, 0.000000000000000, -2.711644985175806, 0.000000000000000, 0.328744077805156, 0.000000000000000, -0.938417707547928, 0.000000000000000, +0.970379584897379, 0.000000000000000, 1.873649473917137, 0.000000000000000, 0.177938226987023, 0.000000000000000, 0.155609346302393, 0.000000000000000, +-1.276504241867208, 0.000000000000000, -0.463725075928807, 0.000000000000000, -0.064748250389500, 0.000000000000000, -1.725568534062385, 0.000000000000000, +-0.139066584804067, 0.000000000000000, 1.975514554117767, 0.000000000000000, -0.807063199499478, 0.000000000000000, -0.326926659682788, 0.000000000000000, +1.445727032487938, 0.000000000000000, -0.597151107739100, 0.000000000000000, 2.732557531709386, 0.000000000000000, -2.907130934109188, 0.000000000000000, +-1.461264832679981, 0.000000000000000, -1.708588604968163, 0.000000000000000, 3.652851925431363, 0.000000000000000, 0.682050868282879, 0.000000000000000, +-0.281312579963294, 0.000000000000000, 0.554966483307825, 0.000000000000000, -0.981341739340932, 0.000000000000000, 1.279543331141603, 0.000000000000000, +0.036589747826856, 0.000000000000000, 2.312073745896073, 0.000000000000000, 1.754682200732425, 0.000000000000000, -0.957515875428627, 0.000000000000000, +-0.833596942819695, 0.000000000000000, 0.437054368791033, 0.000000000000000, -0.898819399360279, 0.000000000000000, -0.296050580896839, 0.000000000000000, +-0.785144257649601, 0.000000000000000, -2.541503089003311, 0.000000000000000, 2.225075846758761, 0.000000000000000, -1.587290487902002, 0.000000000000000, +-1.421404172056462, 0.000000000000000, -3.015149802293631, 0.000000000000000, 1.780874288867949, 0.000000000000000, -0.865812740882613, 0.000000000000000, +-2.845327531197112, 0.000000000000000, 1.445225867774367, 0.000000000000000, 2.183733236584647, 0.000000000000000, 1.163371072749080, 0.000000000000000, +0.883547693520409, 0.000000000000000, -1.224093106684675, 0.000000000000000, -1.854501116331044, 0.000000000000000, 1.783082089255796, 0.000000000000000, +2.301508706196191, 0.000000000000000, -0.539901944139077, 0.000000000000000, 1.962315832319967, 0.000000000000000, -0.060709041870503, 0.000000000000000, +-1.353139923300238, 0.000000000000000, -1.482887537805234, 0.000000000000000, 1.273732601967176, 0.000000000000000, -3.456609915556321, 0.000000000000000, +-3.752320586540873, 0.000000000000000, 3.536356614978951, 0.000000000000000, 0.206035952043233, 0.000000000000000, 5.933966913773842, 0.000000000000000, +-0.486633898075490, 0.000000000000000, -0.329595089863342, 0.000000000000000, 1.496414153905337, 0.000000000000000, 0.137868749388880, 0.000000000000000, +-0.437192030996792, 0.000000000000000, 2.682750615210656, 0.000000000000000, -2.440234892848570, 0.000000000000000, 1.433910252426186, 0.000000000000000, +-0.415051506104074, 0.000000000000000, 1.982003013708649, 0.000000000000000, 1.345796609972435, 0.000000000000000, -2.335949513404370, 0.000000000000000, +1.065988867433025, 0.000000000000000, 2.741844905000464, 0.000000000000000, -1.754047930934362, 0.000000000000000, 0.229252730015575, 0.000000000000000, +-0.679791016408669, 0.000000000000000, -2.274097820043743, 0.000000000000000, 0.149802252231876, 0.000000000000000, -0.139697151364830, 0.000000000000000, +-2.773367420505435, 0.000000000000000, -4.403400246165611, 0.000000000000000, -1.468974515184135, 0.000000000000000, 0.664990623095844, 0.000000000000000, +-3.446979775557143, 0.000000000000000, 1.850006428987618, 0.000000000000000, -1.550866747921936, 0.000000000000000, -3.632874882935257, 0.000000000000000, +0.828039662992464, 0.000000000000000, 2.794055182632816, 0.000000000000000, -0.593995716682633, 0.000000000000000, 0.142788156054200, 0.000000000000000, +0.552461945119668, 0.000000000000000, 0.842127129738758, 0.000000000000000, 1.414335509600077, 0.000000000000000, -0.311559241382430, 0.000000000000000, +1.510590844695250, 0.000000000000000, 1.692217183824300, 0.000000000000000, 0.613760285711957, 0.000000000000000, 0.065233463207770, 0.000000000000000, +-2.571912893711505, 0.000000000000000, -1.707001531141341, 0.000000000000000, 0.673884968382041, 0.000000000000000, 0.889863883420103, 0.000000000000000, +-2.395635435233346, 0.000000000000000, 1.129247296359819, 0.000000000000000, 0.569074704779735, 0.000000000000000, 6.139436017480722, 0.000000000000000, +0.822158309259017, 0.000000000000000, -3.289872016222589, 0.000000000000000, 0.417612988384414, 0.000000000000000, 1.493982103868165, 0.000000000000000, +-0.415353391377005, 0.000000000000000, 0.288670764933155, 0.000000000000000, -1.895650228872272, 0.000000000000000, -0.139631694475020, 0.000000000000000, +1.445103299005436, 0.000000000000000, 2.877182243683429, 0.000000000000000, 1.192428490172580, 0.000000000000000, -5.964591921763842, 0.000000000000000, +0.570859795882959, 0.000000000000000, 2.328333316356666, 0.000000000000000, 0.333755014930026, 0.000000000000000, 1.221901577771909, 0.000000000000000, +0.943358697415568, 0.000000000000000, 2.793063983613067, 0.000000000000000, 3.163005066073616, 0.000000000000000, 2.098300664513867, 0.000000000000000, +-3.915313164333447, 0.000000000000000, -2.475766769064539, 0.000000000000000, 1.720472044894277, 0.000000000000000, -1.273591949275665, 0.000000000000000, +-1.213451272938616, 0.000000000000000, 0.697439404325690, 0.000000000000000, -0.309902287574293, 0.000000000000000, 2.622575852162781, 0.000000000000000, +-2.075881936219060, 0.000000000000000, 0.777847545691770, 0.000000000000000, -3.967947986440650, 0.000000000000000, -3.066503371806472, 0.000000000000000, +1.193780625937845, 0.000000000000000, 0.214246579281311, 0.000000000000000, -2.610681491162162, 0.000000000000000, -1.261224183972745, 0.000000000000000, +-1.165071748544285, 0.000000000000000, -1.116548474834374, 0.000000000000000, 0.847202164846982, 0.000000000000000, -3.474301529532390, 0.000000000000000, +0.020799541946476, 0.000000000000000, -3.868995473288166, 0.000000000000000, 1.757979409638067, 0.000000000000000, 0.868115130183109, 0.000000000000000, +0.910167436737958, 0.000000000000000, -1.878855115563720, 0.000000000000000, 1.710357104174161, 0.000000000000000, -1.468933980990902, 0.000000000000000, +1.799544171601169, 0.000000000000000, -4.922332880027887, 0.000000000000000, 0.219424548939720, 0.000000000000000, -0.971671113451924, 0.000000000000000, +-0.940533475616266, 0.000000000000000, 0.122510114412152, 0.000000000000000, -1.373686254916911, 0.000000000000000, 1.760348103896323, 0.000000000000000, +0.391745067829643, 0.000000000000000, 2.521958505327354, 0.000000000000000, -1.300693516405092, 0.000000000000000, -0.538251788309178, 0.000000000000000, +0.797184135810173, 0.000000000000000, 2.908800548982588, 0.000000000000000, 1.590902251655215, 0.000000000000000, -1.070323714487264, 0.000000000000000, +-3.349764443340999, 0.000000000000000, -1.190563529731447, 0.000000000000000, 1.363369471291963, 0.000000000000000, -1.814270299924576, 0.000000000000000, +-0.023381588315711, 0.000000000000000, 1.719182048679569, 0.000000000000000, 0.839917213252626, 0.000000000000000, 1.006099633839122, 0.000000000000000, +0.812462674381527, 0.000000000000000, 1.755814336346739, 0.000000000000000, 2.546848681206319, 0.000000000000000, -1.555300208869455, 0.000000000000000, +1.017053811631167, 0.000000000000000, 0.996591039170903, 0.000000000000000, -1.228047247924881, 0.000000000000000, 4.809462271463009, 0.000000000000000, +2.318113116151685, 0.000000000000000, -1.206932520679733, 0.000000000000000, 1.273757685623312, 0.000000000000000, 0.724335352481802, 0.000000000000000, +1.519876652073198, 0.000000000000000, -2.749670314714158, 0.000000000000000, 3.424042481847581, 0.000000000000000, -3.714668360421517, 0.000000000000000, +1.612834197004014, 0.000000000000000, -2.038234723985566, 0.000000000000000, 1.470938786562152, 0.000000000000000, 2.111634918450302, 0.000000000000000, +1.030376670151787, 0.000000000000000, -0.420877189003829, 0.000000000000000, -1.502024800532894, 0.000000000000000, 0.452310749163804, 0.000000000000000, +-1.606059382300987, 0.000000000000000, -4.006159967834147, 0.000000000000000, -2.152801208196508, 0.000000000000000, 1.671674089372579, 0.000000000000000, +1.714536333564101, 0.000000000000000, -1.011518543005344, 0.000000000000000, -0.576410282180584, 0.000000000000000, 0.733689809480836, 0.000000000000000, +1.004245602717974, 0.000000000000000, 1.010090391888449, 0.000000000000000, 3.811459513385621, 0.000000000000000, -5.230621089271954, 0.000000000000000, +0.678044861034399, 0.000000000000000, 1.255935859598107, 0.000000000000000, 1.674521701615288, 0.000000000000000, -1.656695216761705, 0.000000000000000, +1.169286028869693, 0.000000000000000, 0.524915416191998, 0.000000000000000, 2.397642885039520, 0.000000000000000, 2.108711400616072, 0.000000000000000, +2.037618211018084, 0.000000000000000, -0.623664553406925, 0.000000000000000, 2.984106170984409, 0.000000000000000, 1.132182737400932, 0.000000000000000, +-2.859274340352130, 0.000000000000000, -0.975550071398723, 0.000000000000000, -1.359935119997407, 0.000000000000000, -2.963308211050121, 0.000000000000000, +-0.228726662781163, 0.000000000000000, -1.411110379682043, 0.000000000000000, 0.741553355734225, 0.000000000000000, 0.497554254758309, 0.000000000000000, +2.371907950598855, 0.000000000000000, 1.063465168988748, 0.000000000000000, -0.641082692081488, 0.000000000000000, -0.855439878540726, 0.000000000000000, +0.578321738578726, 0.000000000000000, 3.005809768796194, 0.000000000000000, 1.961458699064065, 0.000000000000000, -3.206261663772745, 0.000000000000000, +-0.364431989095434, 0.000000000000000, -0.263182496622273, 0.000000000000000, 1.843464680631139, 0.000000000000000, -0.419107530229249, 0.000000000000000, +1.662335873298487, 0.000000000000000, -0.853687563304005, 0.000000000000000, -2.584133404357169, 0.000000000000000, 3.466839568922895, 0.000000000000000, +0.881671345091973, 0.000000000000000, 0.454620014206908, 0.000000000000000, -1.737245187402739, 0.000000000000000, 2.162713238369243, 0.000000000000000, +-3.868539002714486, 0.000000000000000, 2.014114855933826, 0.000000000000000, -0.703233831811006, 0.000000000000000, -3.410319935997574, 0.000000000000000, +-1.851235811006584, 0.000000000000000, 0.909783907894036, 0.000000000000000, 0.091884002136728, 0.000000000000000, -2.688294201131650, 0.000000000000000, +-0.906134178460955, 0.000000000000000, 3.475054609035133, 0.000000000000000, -0.573927964170323, 0.000000000000000, -0.429542937515399, 0.000000000000000, +0.991348618739939, 0.000000000000000, 1.974804904926325, 0.000000000000000, 0.975783450796698, 0.000000000000000, -3.057119549071503, 0.000000000000000, +-3.899429237481194, 0.000000000000000, 0.362439009175350, 0.000000000000000, -1.124461670265618, 0.000000000000000, 1.806000360163583, 0.000000000000000, +-2.768333362600288, 0.000000000000000, 0.244387897900379, 0.000000000000000, 0.908767296720926, 0.000000000000000, 1.254669374391882, 0.000000000000000, +-1.420441929463686, 0.000000000000000, -0.875658895966293, 0.000000000000000, 0.183824603376167, 0.000000000000000, -3.361653917011686, 0.000000000000000, +-0.796615630227952, 0.000000000000000, -1.660226542658673, 0.000000000000000, 1.654439358307226, 0.000000000000000, 2.782812946709771, 0.000000000000000, +1.418064412811531, 0.000000000000000, -0.819645647243761, 0.000000000000000, 0.807724772592699, 0.000000000000000, -0.941967976379298, 0.000000000000000, +-2.312768306047469, 0.000000000000000, 0.872426936477443, 0.000000000000000, 0.919528961530845, 0.000000000000000, -2.084904575264847, 0.000000000000000, +-1.972464868459322, 0.000000000000000, -1.050687203338466, 0.000000000000000, 1.659579707007902, 0.000000000000000, -1.820640014705855, 0.000000000000000, +-1.195078061671045, 0.000000000000000, -1.639773173762048, 0.000000000000000, 1.616744338157063, 0.000000000000000, 4.019216096811563, 0.000000000000000, +3.461021102549681, 0.000000000000000, 1.642352734361484, 0.000000000000000, -0.046354693720813, 0.000000000000000, -0.041936252359677, 0.000000000000000, +-2.393307519480551, 0.000000000000000, -0.341471634615121, 0.000000000000000, -0.392073595257017, 0.000000000000000, -0.219299018372730, 0.000000000000000, +-2.016391579662071, 0.000000000000000, -0.653096251969787, 0.000000000000000, 1.466353155666821, 0.000000000000000, -2.872058864320412, 0.000000000000000, +-2.157180779503830, 0.000000000000000, 0.723257479841560, 0.000000000000000, 3.769951308104384, 0.000000000000000, -1.923392042420024, 0.000000000000000, +0.644899359942840, 0.000000000000000, -2.090226891621437, 0.000000000000000, -0.277043982890403, 0.000000000000000, -0.528271428321112, 0.000000000000000, +2.518120645960652, 0.000000000000000, 1.040820431111488, 0.000000000000000, -4.560583754742486, 0.000000000000000, -0.226899614918836, 0.000000000000000, +1.713331231108959, 0.000000000000000, -3.293941019163642, 0.000000000000000, -1.113331444648290, 0.000000000000000, -1.032308423149906, 0.000000000000000, +1.593774272982443, 0.000000000000000, -1.246840475090529, 0.000000000000000, -0.190344684920137, 0.000000000000000, -1.719386356896355, 0.000000000000000, +-2.827721754659679, 0.000000000000000, -0.092438285279020, 0.000000000000000, -0.565844430675246, 0.000000000000000, -1.077916121691716, 0.000000000000000, +-1.208665809504693, 0.000000000000000, -2.996014266381254, 0.000000000000000, 2.888573323402423, 0.000000000000000, 2.829507048720695, 0.000000000000000, +-0.859177034120755, 0.000000000000000, -1.969302377743254, 0.000000000000000, 0.777437674525362, 0.000000000000000, -0.124910190157646, 0.000000000000000, +0.129875493115290, 0.000000000000000, -4.192139262163992, 0.000000000000000, 3.023496047962126, 0.000000000000000, 1.149775163736637, 0.000000000000000, +2.038151304801731, 0.000000000000000, 3.016122489841263, 0.000000000000000, -4.829481812137012, 0.000000000000000, -1.668436615909279, 0.000000000000000, +0.958586784636918, 0.000000000000000, 1.550652410058678, 0.000000000000000, -1.456305257976716, 0.000000000000000, -0.079588392344731, 0.000000000000000, +-2.453213599392345, 0.000000000000000, 0.296795909127105, 0.000000000000000, -0.253426616607643, 0.000000000000000, 1.418937160028195, 0.000000000000000, +-1.672949529066915, 0.000000000000000, -1.620990298572947, 0.000000000000000, -1.085103073196045, 0.000000000000000, 0.738606361195386, 0.000000000000000, +-2.097831202853255, 0.000000000000000, 2.711952282071310, 0.000000000000000, 1.498539238246888, 0.000000000000000, 1.317457282535915, 0.000000000000000, +-0.302765938349717, 0.000000000000000, -0.044623707947201, 0.000000000000000, 2.337405215062395, 0.000000000000000, -3.980689173859100, 0.000000000000000, + + +}; + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_example_f32.c new file mode 100644 index 0000000..9e36b2b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fft_bin_example/arm_fft_bin_example_f32.c @@ -0,0 +1,158 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_fft_bin_example_f32.c +* +* Description: Example code demonstrating calculation of Max energy bin of +* frequency domain of input signal. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup FrequencyBin Frequency Bin Example + * + * \par Description + * \par + * Demonstrates the calculation of the maximum energy bin in the frequency + * domain of the input signal with the use of Complex FFT, Complex + * Magnitude, and Maximum functions. + * + * \par Algorithm: + * \par + * The input test signal contains a 10 kHz signal with uniformly distributed white noise. + * Calculating the FFT of the input signal will give us the maximum energy of the + * bin corresponding to the input frequency of 10 kHz. + * + * \par Block Diagram: + * \image html FFTBin.gif "Block Diagram" + * \par + * The figure below shows the time domain signal of 10 kHz signal with + * uniformly distributed white noise, and the next figure shows the input + * in the frequency domain. The bin with maximum energy corresponds to 10 kHz signal. + * \par + * \image html FFTBinInput.gif "Input signal in Time domain" + * \image html FFTBinOutput.gif "Input signal in Frequency domain" + * + * \par Variables Description: + * \par + * \li \c testInput_f32_10khz points to the input data + * \li \c testOutput points to the output data + * \li \c fftSize length of FFT + * \li \c ifftFlag flag for the selection of CFFT/CIFFT + * \li \c doBitReverse Flag for selection of normal order or bit reversed order + * \li \c refIndex reference index value at which maximum energy of bin ocuurs + * \li \c testIndex calculated index value at which maximum energy of bin ocuurs + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_cfft_f32() + * - arm_cmplx_mag_f32() + * - arm_max_f32() + * + * Refer + * \link arm_fft_bin_example_f32.c \endlink + * + */ + + +/** \example arm_fft_bin_example_f32.c + */ + + +#include "arm_math.h" +#include "arm_const_structs.h" + +#define TEST_LENGTH_SAMPLES 2048 + +/* ------------------------------------------------------------------- +* External Input and Output buffer Declarations for FFT Bin Example +* ------------------------------------------------------------------- */ +extern float32_t testInput_f32_10khz[TEST_LENGTH_SAMPLES]; +static float32_t testOutput[TEST_LENGTH_SAMPLES/2]; + +/* ------------------------------------------------------------------ +* Global variables for FFT Bin Example +* ------------------------------------------------------------------- */ +uint32_t fftSize = 1024; +uint32_t ifftFlag = 0; +uint32_t doBitReverse = 1; + +/* Reference index at which max energy of bin ocuurs */ +uint32_t refIndex = 213, testIndex = 0; + +/* ---------------------------------------------------------------------- +* Max magnitude FFT Bin test +* ------------------------------------------------------------------- */ + +int32_t main(void) +{ + + arm_status status; + float32_t maxValue; + + status = ARM_MATH_SUCCESS; + + /* Process the data through the CFFT/CIFFT module */ + arm_cfft_f32(&arm_cfft_sR_f32_len1024, testInput_f32_10khz, ifftFlag, doBitReverse); + + /* Process the data through the Complex Magnitude Module for + calculating the magnitude at each bin */ + arm_cmplx_mag_f32(testInput_f32_10khz, testOutput, fftSize); + + /* Calculates maxValue and returns corresponding BIN value */ + arm_max_f32(testOutput, fftSize, &maxValue, &testIndex); + + if (testIndex != refIndex) + { + status = ARM_MATH_TEST_FAILURE; + } + + /* ---------------------------------------------------------------------- + ** Loop here if the signals fail the PASS check. + ** This denotes a test failure + ** ------------------------------------------------------------------- */ + + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/Abstract.txt new file mode 100644 index 0000000..c06d3f3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_fir_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_data.c new file mode 100644 index 0000000..283a25e --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_data.c @@ -0,0 +1,134 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_fir_data.c +* +* Description: Data file used for example code +* +* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +** Test input signal contains 1000Hz + 15000 Hz +** ------------------------------------------------------------------- */ + +float32_t testInput_f32_1kHz_15kHz[320] = +{ ++0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, +-0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, ++0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, ++0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, ++0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, ++0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, +-0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, +-0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, ++0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, ++0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, +-0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, ++0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +-0.8660254038f, -0.4619397663f, -1.3194792169f, -1.1827865776f, -0.5000000000f, -1.1827865776f, -1.3194792169f, -0.4619397663f, +-0.8660254038f, -1.2552931065f, -0.3535533906f, -0.4174197128f, -1.0000000000f, -0.1913417162f, +0.0947343455f, -0.5924659585f, +-0.0000000000f, +0.5924659585f, -0.0947343455f, +0.1913417162f, +1.0000000000f, +0.4174197128f, +0.3535533906f, +1.2552931065f, ++0.8660254038f, +0.4619397663f, +1.3194792169f, +1.1827865776f, +0.5000000000f, +1.1827865776f, +1.3194792169f, +0.4619397663f, ++0.8660254038f, +1.2552931065f, +0.3535533906f, +0.4174197128f, +1.0000000000f, +0.1913417162f, -0.0947343455f, +0.5924659585f, ++0.0000000000f, -0.5924659585f, +0.0947343455f, -0.1913417162f, -1.0000000000f, -0.4174197128f, -0.3535533906f, -1.2552931065f, +}; + +float32_t refOutput[320] = +{ ++0.0000000000f, -0.0010797829f, -0.0007681386f, -0.0001982932f, +0.0000644313f, +0.0020854271f, +0.0036891871f, +0.0015855941f, +-0.0026280805f, -0.0075907658f, -0.0119390538f, -0.0086665968f, +0.0088981202f, +0.0430539279f, +0.0974468742f, +0.1740405600f, ++0.2681416601f, +0.3747720089f, +0.4893362230f, +0.6024154672f, +0.7058740791f, +0.7968348987f, +0.8715901940f, +0.9277881093f, ++0.9682182661f, +0.9934674267f, +1.0012052245f, +0.9925859371f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, -0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, +0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, -0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, +0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, -0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, +0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, +0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, +0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, +0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, -0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f, ++0.7085021596f, +0.6100062330f, +0.5012752767f, +0.3834386057f, +0.2592435399f, +0.1309866321f, +0.0000000000f, -0.1309866321f, +-0.2592435399f, -0.3834386057f, -0.5012752767f, -0.6100062330f, -0.7085021596f, -0.7952493046f, -0.8679010068f, -0.9257026822f, +-0.9681538347f, -0.9936657199f, -1.0019733630f, -0.9936657199f, -0.9681538347f, -0.9257026822f, -0.8679010068f, -0.7952493046f, +-0.7085021596f, -0.6100062330f, -0.5012752767f, -0.3834386057f, -0.2592435399f, -0.1309866321f, +0.0000000000f, +0.1309866321f, ++0.2592435399f, +0.3834386057f, +0.5012752767f, +0.6100062330f, +0.7085021596f, +0.7952493046f, +0.8679010068f, +0.9257026822f, ++0.9681538347f, +0.9936657199f, +1.0019733630f, +0.9936657199f, +0.9681538347f, +0.9257026822f, +0.8679010068f, +0.7952493046f +}; + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_example_f32.c new file mode 100644 index 0000000..333d230 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/arm_fir_example_f32.c @@ -0,0 +1,233 @@ +/* ---------------------------------------------------------------------- + * Copyright (C) 2010-2012 ARM Limited. All rights reserved. + * +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library + * Title: arm_fir_example_f32.c + * + * Description: Example code demonstrating how an FIR filter can be used + * as a low pass filter. + * + * Target Processor: Cortex-M4/Cortex-M3 + * +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup FIRLPF FIR Lowpass Filter Example + * + * \par Description: + * \par + * Removes high frequency signal components from the input using an FIR lowpass filter. + * The example demonstrates how to configure an FIR filter and then pass data through + * it in a block-by-block fashion. + * \image html FIRLPF_signalflow.gif + * + * \par Algorithm: + * \par + * The input signal is a sum of two sine waves: 1 kHz and 15 kHz. + * This is processed by an FIR lowpass filter with cutoff frequency 6 kHz. + * The lowpass filter eliminates the 15 kHz signal leaving only the 1 kHz sine wave at the output. + * \par + * The lowpass filter was designed using MATLAB with a sample rate of 48 kHz and + * a length of 29 points. + * The MATLAB code to generate the filter coefficients is shown below: + *
+ *     h = fir1(28, 6/24);
+ * 
+ * The first argument is the "order" of the filter and is always one less than the desired length. + * The second argument is the normalized cutoff frequency. This is in the range 0 (DC) to 1.0 (Nyquist). + * A 6 kHz cutoff with a Nyquist frequency of 24 kHz lies at a normalized frequency of 6/24 = 0.25. + * The CMSIS FIR filter function requires the coefficients to be in time reversed order. + *
+ *     fliplr(h)
+ * 
+ * The resulting filter coefficients and are shown below. + * Note that the filter is symmetric (a property of linear phase FIR filters) + * and the point of symmetry is sample 14. Thus the filter will have a delay of + * 14 samples for all frequencies. + * \par + * \image html FIRLPF_coeffs.gif + * \par + * The frequency response of the filter is shown next. + * The passband gain of the filter is 1.0 and it reaches 0.5 at the cutoff frequency 6 kHz. + * \par + * \image html FIRLPF_response.gif + * \par + * The input signal is shown below. + * The left hand side shows the signal in the time domain while the right hand side is a frequency domain representation. + * The two sine wave components can be clearly seen. + * \par + * \image html FIRLPF_input.gif + * \par + * The output of the filter is shown below. The 15 kHz component has been eliminated. + * \par + * \image html FIRLPF_output.gif + * + * \par Variables Description: + * \par + * \li \c testInput_f32_1kHz_15kHz points to the input data + * \li \c refOutput points to the reference output data + * \li \c testOutput points to the test output data + * \li \c firStateF32 points to state buffer + * \li \c firCoeffs32 points to coefficient buffer + * \li \c blockSize number of samples processed at a time + * \li \c numBlocks number of frames + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_fir_init_f32() + * - arm_fir_f32() + * + * Refer + * \link arm_fir_example_f32.c \endlink + * + */ + + +/** \example arm_fir_example_f32.c + */ + +/* ---------------------------------------------------------------------- +** Include Files +** ------------------------------------------------------------------- */ + +#include "arm_math.h" +#include "math_helper.h" + +/* ---------------------------------------------------------------------- +** Macro Defines +** ------------------------------------------------------------------- */ + +#define TEST_LENGTH_SAMPLES 320 +#define SNR_THRESHOLD_F32 140.0f +#define BLOCK_SIZE 32 +#define NUM_TAPS 29 + +/* ------------------------------------------------------------------- + * The input signal and reference output (computed with MATLAB) + * are defined externally in arm_fir_lpf_data.c. + * ------------------------------------------------------------------- */ + +extern float32_t testInput_f32_1kHz_15kHz[TEST_LENGTH_SAMPLES]; +extern float32_t refOutput[TEST_LENGTH_SAMPLES]; + +/* ------------------------------------------------------------------- + * Declare Test output buffer + * ------------------------------------------------------------------- */ + +static float32_t testOutput[TEST_LENGTH_SAMPLES]; + +/* ------------------------------------------------------------------- + * Declare State buffer of size (numTaps + blockSize - 1) + * ------------------------------------------------------------------- */ + +static float32_t firStateF32[BLOCK_SIZE + NUM_TAPS - 1]; + +/* ---------------------------------------------------------------------- +** FIR Coefficients buffer generated using fir1() MATLAB function. +** fir1(28, 6/24) +** ------------------------------------------------------------------- */ + +const float32_t firCoeffs32[NUM_TAPS] = { + -0.0018225230f, -0.0015879294f, +0.0000000000f, +0.0036977508f, +0.0080754303f, +0.0085302217f, -0.0000000000f, -0.0173976984f, + -0.0341458607f, -0.0333591565f, +0.0000000000f, +0.0676308395f, +0.1522061835f, +0.2229246956f, +0.2504960933f, +0.2229246956f, + +0.1522061835f, +0.0676308395f, +0.0000000000f, -0.0333591565f, -0.0341458607f, -0.0173976984f, -0.0000000000f, +0.0085302217f, + +0.0080754303f, +0.0036977508f, +0.0000000000f, -0.0015879294f, -0.0018225230f +}; + +/* ------------------------------------------------------------------ + * Global variables for FIR LPF Example + * ------------------------------------------------------------------- */ + +uint32_t blockSize = BLOCK_SIZE; +uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE; + +float32_t snr; + +/* ---------------------------------------------------------------------- + * FIR LPF Example + * ------------------------------------------------------------------- */ + +int32_t main(void) +{ + uint32_t i; + arm_fir_instance_f32 S; + arm_status status; + float32_t *inputF32, *outputF32; + + /* Initialize input and output buffer pointers */ + inputF32 = &testInput_f32_1kHz_15kHz[0]; + outputF32 = &testOutput[0]; + + /* Call FIR init function to initialize the instance structure. */ + arm_fir_init_f32(&S, NUM_TAPS, (float32_t *)&firCoeffs32[0], &firStateF32[0], blockSize); + + /* ---------------------------------------------------------------------- + ** Call the FIR process function for every blockSize samples + ** ------------------------------------------------------------------- */ + + for(i=0; i < numBlocks; i++) + { + arm_fir_f32(&S, inputF32 + (i * blockSize), outputF32 + (i * blockSize), blockSize); + } + + /* ---------------------------------------------------------------------- + ** Compare the generated output against the reference output computed + ** in MATLAB. + ** ------------------------------------------------------------------- */ + + snr = arm_snr_f32(&refOutput[0], &testOutput[0], TEST_LENGTH_SAMPLES); + + if (snr < SNR_THRESHOLD_F32) + { + status = ARM_MATH_TEST_FAILURE; + } + else + { + status = ARM_MATH_SUCCESS; + } + + /* ---------------------------------------------------------------------- + ** Loop here if the signal does not match the reference output. + ** ------------------------------------------------------------------- */ + + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + +/** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/Abstract.txt new file mode 100644 index 0000000..91f8991 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_graphic_equalizer_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_data.c new file mode 100644 index 0000000..ffb0ff3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_data.c @@ -0,0 +1,134 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_graphic_equalizer_data.c +* +* Description: Data file used for example code +* +* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +#include "arm_math.h" + +float32_t testRefOutput_f32[320] = { + +0.000000000000000000, 0.001898396760225296, 0.004215449094772339, 0.007432077080011368, 0.010948467999696732, 0.015026375651359558, 0.019191544502973557, 0.023574527353048325, +0.027919445186853409, 0.032277785241603851, 0.036551639437675476, 0.040732793509960175, 0.044799156486988068, 0.048710610717535019, 0.052476800978183746, 0.056059073656797409, +0.059482168406248093, 0.062726479023694992, 0.065821025520563126, 0.068763464689254761, 0.071577839553356171, 0.074270240962505341, 0.076856281608343124, 0.079344697296619415, +0.081745062023401260, 0.084067162126302719, 0.086318407207727432, 0.088509257882833481, 0.090647127479314804, 0.092742368578910828, 0.094802625477313995, 0.096837285906076431, +0.098853722214698792, 0.100859899073839190, 0.102862443774938580, 0.104867763817310330, 0.106881409883499150, 0.108908228576183320, 0.110952425748109820, 0.113017357885837550, +0.115105822682380680, 0.117219865322113040, 0.119361080229282380, 0.121530555188655850, 0.123729091137647630, 0.125957202166318890, 0.128215309232473370, 0.130503740161657330, +0.132822841405868530, 0.135173004120588300, 0.137554679065942760, 0.139968376606702800, 0.142414685338735580, 0.144894234836101530, 0.147407654672861100, 0.149955596774816510, +0.152538605034351350, 0.155157200992107390, 0.157811731100082400, 0.160502441227436070, 0.163229387253522870, 0.165992442518472670, 0.168791320174932480, 0.171625509858131410, +0.174494370818138120, 0.177397061139345170, 0.180332608520984650, 0.183299910277128220, 0.186297744512557980, 0.189324837177991870, 0.192379791289567950, 0.195461250841617580, +0.198567759245634080, 0.201697919517755510, 0.204850304871797560, 0.208023533225059510, 0.211216274648904800, 0.214427210390567780, 0.217655111104249950, 0.220898788422346120, +0.224157124757766720, 0.227429077029228210, 0.230713658034801480, 0.234009962528944020, 0.237317133694887160, 0.240634419023990630, 0.243961080908775330, 0.247296508401632310, +0.250640105456113820, 0.253991369158029560, 0.257349837571382520, 0.260715119540691380, 0.264086868613958360, 0.267464816570281980, 0.270848698914051060, 0.274238351732492450, +0.277633611112833020, 0.281034380197525020, 0.284440591931343080, 0.287852220237255100, 0.291269283741712570, 0.294691801071166990, 0.298119872808456420, 0.301553562283515930, +0.304993014782667160, 0.308438356965780260, 0.311889752745628360, 0.315347377210855480, 0.318811416625976560, 0.322282072156667710, 0.325759567320346830, 0.329244095832109450, +0.332735907286405560, 0.336235217750072480, 0.339742250740528110, 0.343257248401641850, 0.346780419349670410, 0.350311983376741410, 0.353852160274982450, 0.357401121407747270, +0.360959105193614960, 0.364526227116584780, 0.368102725595235820, 0.371688675135374070, 0.375284302979707720, 0.378889638930559160, 0.382504884153604510, 0.386130042374134060, +0.389765247702598570, 0.393410529941320420, 0.397065933793783190, 0.400731507688760760, 0.404407206922769550, 0.408093083649873730, 0.411789052188396450, 0.415495119988918300, +0.419211201369762420, 0.422937240451574330, 0.426673140376806260, 0.430418811738491060, 0.434174135327339170, 0.437938995659351350, 0.441713258624076840, 0.445496778935194020, +0.449289388954639430, 0.453090950846672060, 0.456901267170906070, 0.460720170289278030, 0.464547459036111830, 0.468382950872182850, 0.472226426005363460, 0.476077698171138760, +0.479936532676219940, 0.483802750706672670, 0.487676106393337250, 0.491556398570537570, 0.495443399995565410, 0.499336875975131990, 0.503236617892980580, 0.507142387330532070, +0.511053957045078280, 0.514971107244491580, 0.518893606960773470, 0.522821225225925450, 0.526753749698400500, 0.530690938234329220, 0.534632585942745210, 0.538578454405069350, +0.542528338730335240, 0.546481993049383160, 0.550439231097698210, 0.554399792104959490, 0.558363504707813260, 0.562330115586519240, 0.566299438476562500, 0.570271246135234830, +0.574245333671569820, 0.578221492469310760, 0.582199502736330030, 0.586179181933403020, 0.590160276740789410, 0.594142623245716090, 0.598125983029603960, 0.602110169827938080, +0.606094967573881150, 0.610080175101757050, 0.614065583795309070, 0.618050977587699890, 0.622036151587963100, 0.626020893454551700, 0.630004994571208950, 0.633988231420516970, +0.637970402836799620, 0.641951277852058410, 0.645930647850036620, 0.649908289313316350, 0.653883971273899080, 0.657857488840818410, 0.661828581243753430, 0.665797054767608640, +0.669762641191482540, 0.673725124448537830, 0.677684243768453600, 0.681639779359102250, 0.685591462999582290, 0.689539063721895220, 0.693482317030429840, 0.697420965880155560, +0.701354760676622390, 0.705283410847187040, 0.709206689149141310, 0.713124278932809830, 0.717035952955484390, 0.720941375941038130, 0.724840316921472550, 0.728732451796531680, +0.732617516070604320, 0.736495196819305420, 0.740365199744701390, 0.744227230548858640, 0.748080968856811520, 0.751926124095916750, 0.755762357264757160, 0.759589381515979770, +0.763406842947006230, 0.767214450985193250, 0.771011855453252790, 0.774798732250928880, 0.778574761003255840, 0.782339565455913540, 0.786092851310968400, 0.789834223687648770, +0.793563373386859890, 0.797279909253120420, 0.800983514636754990, 0.804673787206411360, 0.808350402861833570, 0.812012966722249980, 0.815661124885082240, 0.819294504821300510, +0.822912722826004030, 0.826515413820743560, 0.830102190375328060, 0.833672653883695600, 0.837226435542106630, 0.840763118118047710, 0.844282336533069610, 0.847783654928207400, +0.851266715675592420, 0.854731071740388870, 0.858176350593566890, 0.861602116376161580, 0.865007970482110980, 0.868393491953611370, 0.871758259832859040, 0.875101849436759950, +0.878423850983381270, 0.881723806262016300, 0.885001312941312790, 0.888255912810564040, 0.891487173736095430, 0.894694659858942030, 0.897877920418977740, 0.901036512106657030, +0.904169965535402300, 0.907277844846248630, 0.910359673202037810, 0.913415014743804930, 0.916443370282649990, 0.919444311410188670, 0.922417331486940380, 0.925361987203359600, +0.928277771919965740, 0.931164238601922990, 0.934020876884460450, 0.936847217381000520, 0.939642757177352910, 0.942407000809907910, 0.945139460265636440, 0.947839632630348210, +0.950507018715143200, 0.953141096979379650, 0.955741371959447860, 0.958307322114706040, 0.960838429629802700, 0.963334184139966960, 0.965794049203395840, 0.968217510730028150, +0.970604017376899720, 0.972953058779239650, 0.975264083594083790, 0.977536566555500030, 0.979769956320524220, 0.981963708996772770, 0.984117280691862110, 0.986230112612247470, +0.988301653414964680, 0.990331344306468960, 0.992318630218505860, 0.994262944906950000, 0.996163722127676010, 0.998020399361848830, 0.999832402914762500, 1.001599155366420700, +1.003320086747407900, 1.004994612187147100, 1.006622135639190700, 1.008202098309993700, 1.009733878076076500, 1.011216927319765100, 1.012650609016418500, 1.014034371823072400, +1.015367589890956900, 1.016649682074785200, 1.017880033701658200, 1.019058048725128200, 1.020183108747005500, 1.021254621446132700, 1.022271949797868700, 1.023234523832798000, + +}; +/* ---------------------------------------------------------------------- +** Test input - logarithmic chirp signal +** ------------------------------------------------------------------- */ + +float32_t testInput_f32[320] = + { + 0.000000000000000061, 0.002622410992047861, 0.005253663973466970, 0.007893770384930297, 0.010542741395035495, 0.013200587895525877, 0.015867320496454066, 0.018542949521290073, +0.021227485001971542, 0.023920936673895138, 0.026623313970853074, 0.029334626019908643, 0.032054881636210709, 0.034784089317753723, 0.037522257240071598, 0.040269393250875855, +0.043025504864628375, 0.045790599257054837, 0.048564683259595690, 0.051347763353792118, 0.054139845665610427, 0.056940935959702531, 0.059751039633601337, 0.062570161711849828, +0.065398306840066575, 0.068235479278943648, 0.071081682898178900, 0.073936921170339814, 0.076801197164660218, 0.079674513540768196, 0.082556872542344922, 0.085448275990715375, +0.088348725278367082, 0.091258221362398390, 0.094176764757897533, 0.097104355531246703, 0.100040993293358240, 0.102986677192832010, 0.105941405909045980, 0.108905177645166230, +0.111877990121087980, 0.114859840566297130, 0.117850725712659680, 0.120850641787131110, 0.123859584504392860, 0.126877549059407400, 0.129904530119898690, 0.132940521818751430, +0.135985517746334080, 0.139039510942737950, 0.142102493889940090, 0.145174458503884160, 0.148255396126476810, 0.151345297517508140, 0.154444152846483080, 0.157551951684374300, +0.160668682995289720, 0.163794335128054890, 0.166928895807713030, 0.170072352126936720, 0.173224690537355760, 0.176385896840798810, 0.179555956180445340, 0.182734853031894270, +0.185922571194139130, 0.189119093780459800, 0.192324403209221870, 0.195538481194587030, 0.198761308737133020, 0.201992866114384050, 0.205233132871247170, 0.208482087810360570, +0.211739708982344370, 0.215005973675965020, 0.218280858408200220, 0.221564338914212730, 0.224856390137231970, 0.228156986218334190, 0.231466100486134670, 0.234783705446379690, +0.238109772771442410, 0.241444273289723230, 0.244787176974952890, 0.248138452935395580, 0.251498069402956710, 0.254865993722190930, 0.258242192339209860, 0.261626630790492030, +0.265019273691591620, 0.268420084725748410, 0.271829026632395280, 0.275246061195565440, 0.278671149232197430, 0.282104250580339830, 0.285545324087251580, 0.288994327597401960, +0.292451217940364990, 0.295915950918612280, 0.299388481295203350, 0.302868762781368150, 0.306356748023990040, 0.309852388592980640, 0.313355634968552230, 0.316866436528383590, +0.320384741534681720, 0.323910497121136620, 0.327443649279772870, 0.330984142847692230, 0.334531921493712690, 0.338086927704900790, 0.341649102772995210, 0.345218386780727190, +0.348794718588032520, 0.352378035818156910, 0.355968274843654950, 0.359565370772282730, 0.363169257432780890, 0.366779867360555120, 0.370397131783246010, 0.374020980606193880, +0.377651342397795690, 0.381288144374756830, 0.384931312387234990, 0.388580770903877330, 0.392236442996751310, 0.395898250326170650, 0.399566113125414350, 0.403239950185338420, +0.406919678838884410, 0.410605214945482130, 0.414296472875345100, 0.417993365493664670, 0.421695804144698540, 0.425403698635752780, 0.429116957221065130, 0.432835486585582130, +0.436559191828633180, 0.440287976447505720, 0.444021742320914510, 0.447760389692375140, 0.451503817153472210, 0.455251921627031540, 0.459004598350192470, 0.462761740857380200, +0.466523240963184150, 0.470288988745136360, 0.474058872526396560, 0.477832778858340690, 0.481610592503056990, 0.485392196415748600, 0.489177471727042850, 0.492966297725213780, +0.496758551838309250, 0.500554109616195060, 0.504352844712508190, 0.508154628866524960, 0.511959331884944910, 0.515766821623591440, 0.519576963969030530, 0.523389622820107150, +0.527204660069405030, 0.531021935584629400, 0.534841307189911630, 0.538662630647041900, 0.542485759636628150, 0.546310545739186690, 0.550136838416161340, 0.553964484990880020, +0.557793330629441700, 0.561623218321546380, 0.565453988861259300, 0.569285480827721570, 0.573117530565801950, 0.576949972166696630, 0.580782637448476910, 0.584615355936589420, +0.588447954844309340, 0.592280259053150400, 0.596112091093235260, 0.599943271123626440, 0.603773616912622660, 0.607602943818024150, 0.611431064767369080, 0.615257790238142090, +0.619082928237961740, 0.622906284284749700, 0.626727661386881850, 0.630546860023327600, 0.634363678123782030, 0.638177911048790960, 0.641989351569874020, 0.645797789849653410, +0.649603013421986450, 0.653404807172108140, 0.657202953316791350, 0.660997231384523490, 0.664787418195706640, 0.668573287842887610, 0.672354611671016960, 0.676131158257749170, +0.679902693393781730, 0.683668980063242500, 0.687429778424128110, 0.691184845788802130, 0.694933936604551380, 0.698676802434213370, 0.702413191936877570, 0.706142850848662460, +0.709865521963579990, 0.713580945114492330, 0.717288857154159800, 0.720988991936399870, 0.724681080297347790, 0.728364850036839040, 0.732040025899910680, 0.735706329558433620, +0.739363479592880620, 0.743011191474238440, 0.746649177546067850, 0.750277147006723990, 0.753894805891742180, 0.757501857056394940, 0.761098000158428880, 0.764682931640995540, +0.768256344715771980, 0.771817929346292900, 0.775367372231492210, 0.778904356789468790, 0.782428563141483460, 0.785939668096195860, 0.789437345134148760, 0.792921264392515420, +0.796391092650110770, 0.799846493312681210, 0.803287126398485760, 0.806712648524170680, 0.810122712890953390, 0.813516969271127150, 0.816895063994893090, 0.820256639937531280, +0.823601336506926020, 0.826928789631450890, 0.830238631748229430, 0.833530491791779850, 0.836803995183058700, 0.840058763818912760, 0.843294416061954100, 0.846510566730867220, +0.849706827091166740, 0.852882804846411770, 0.856038104129895340, 0.859172325496819990, 0.862285065916973510, 0.865375918767918860, 0.868444473828712590, 0.871490317274166260, +0.874513031669661770, 0.877512195966544280, 0.880487385498096800, 0.883438171976119850, 0.886364123488128100, 0.889264804495180530, 0.892139775830360640, 0.894988594697921020, +0.897810814673113080, 0.900605985702712770, 0.903373654106265470, 0.906113362578062300, 0.908824650189867690, 0.911507052394417540, 0.914160101029702910, 0.916783324324059180, +0.919376246902079860, 0.921938389791372770, 0.924469270430179120, 0.926968402675872660, 0.929435296814361430, 0.931869459570409790, 0.934270394118903560, 0.936637600097074200, +0.938970573617708970, 0.941268807283364040, 0.943531790201601380, 0.945759008001275100, 0.947949942849885320, 0.950104073472023970, 0.952220875168933280, 0.954299819839202090, +0.956340376000621160, 0.958342008813221960, 0.960304180103520260, 0.962226348389994210, 0.964107968909812760, 0.965948493646846980, 0.967747371360983650, 0.969504047618768740, +0.971217964825405680, 0.972888562258134030, 0.974515276101013520, 0.976097539481141750, 0.977634782506330400, 0.979126432304266880, 0.980571913063189360, 0.981970646074102120, +0.983322049774557390, 0.984625539794035220, 0.985880529000944810, 0.987086427551279730, 0.988242642938953360, 0.989348580047844540, 0.990403641205582440, 0.991407226239099710, +0.992358732531984260, 0.993257555083659870, 0.994103086570423680, 0.994894717408374870, 0.995631835818261310, 0.996313827892278070, 0.996940077662846650, 0.997509967173408010, + + }; diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_example_q31.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_example_q31.c new file mode 100644 index 0000000..663b046 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/arm_graphic_equalizer_example_q31.c @@ -0,0 +1,411 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_graphic_equalizer_example_q31.c +* +* Description: Example showing an audio graphic equalizer constructed +* out of Biquad filters. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup GEQ5Band Graphic Audio Equalizer Example + * + * \par Description: + * \par + * This example demonstrates how a 5-band graphic equalizer can be constructed + * using the Biquad cascade functions. + * A graphic equalizer is used in audio applications to vary the tonal quality + * of the audio. + * + * \par Block Diagram: + * \par + * The design is based on a cascade of 5 filter sections. + * \image html GEQ_signalflow.gif + * Each filter section is 4th order and consists of a cascade of two Biquads. + * Each filter has a nominal gain of 0 dB (1.0 in linear units) and + * boosts or cuts signals within a specific frequency range. + * The edge frequencies between the 5 bands are 100, 500, 2000, and 6000 Hz. + * Each band has an adjustable boost or cut in the range of +/- 9 dB. + * For example, the band that extends from 500 to 2000 Hz has the response shown below: + * \par + * \image html GEQ_bandresponse.gif + * \par + * With 1 dB steps, each filter has a total of 19 different settings. + * The filter coefficients for all possible 19 settings were precomputed + * in MATLAB and stored in a table. With 5 different tables, there are + * a total of 5 x 19 = 95 different 4th order filters. + * All 95 responses are shown below: + * \par + * \image html GEQ_allbandresponse.gif + * \par + * Each 4th order filter has 10 coefficents for a grand total of 950 different filter + * coefficients that must be tabulated. The input and output data is in Q31 format. + * For better noise performance, the two low frequency bands are implemented using the high + * precision 32x64-bit Biquad filters. The remaining 3 high frequency bands use standard + * 32x32-bit Biquad filters. The input signal used in the example is a logarithmic chirp. + * \par + * \image html GEQ_inputchirp.gif + * \par + * The array bandGains specifies the gain in dB to apply in each band. + * For example, if bandGains={0, -3, 6, 4, -6}; then the output signal will be: + * \par + * \image html GEQ_outputchirp.gif + * \par + * \note The output chirp signal follows the gain or boost of each band. + * \par + * + * \par Variables Description: + * \par + * \li \c testInput_f32 points to the input data + * \li \c testRefOutput_f32 points to the reference output data + * \li \c testOutput points to the test output data + * \li \c inputQ31 temporary input buffer + * \li \c outputQ31 temporary output buffer + * \li \c biquadStateBand1Q31 points to state buffer for band1 + * \li \c biquadStateBand2Q31 points to state buffer for band2 + * \li \c biquadStateBand3Q31 points to state buffer for band3 + * \li \c biquadStateBand4Q31 points to state buffer for band4 + * \li \c biquadStateBand5Q31 points to state buffer for band5 + * \li \c coeffTable points to coefficient buffer for all bands + * \li \c gainDB gain buffer which has gains applied for all the bands + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_biquad_cas_df1_32x64_init_q31() + * - arm_biquad_cas_df1_32x64_q31() + * - arm_biquad_cascade_df1_init_q31() + * - arm_biquad_cascade_df1_q31() + * - arm_scale_q31() + * - arm_scale_f32() + * - arm_float_to_q31() + * - arm_q31_to_float() + * + * Refer + * \link arm_graphic_equalizer_example_q31.c \endlink + * + */ + + +/** \example arm_graphic_equalizer_example_q31.c + */ + + +#include "arm_math.h" +#include "math_helper.h" + +/* Length of the overall data in the test */ +#define TESTLENGTH 320 + +/* Block size for the underlying processing */ +#define BLOCKSIZE 32 + +/* Total number of blocks to run */ +#define NUMBLOCKS (TESTLENGTH/BLOCKSIZE) + +/* Number of 2nd order Biquad stages per filter */ +#define NUMSTAGES 2 + +#define SNR_THRESHOLD_F32 98 + +/* ------------------------------------------------------------------- + * External Declarations for Input and Output buffers + * ------------------------------------------------------------------- */ + +extern float32_t testInput_f32[TESTLENGTH]; +static float32_t testOutput[TESTLENGTH]; + +extern float32_t testRefOutput_f32[TESTLENGTH]; + +/* ---------------------------------------------------------------------- +** Q31 state buffers for Band1, Band2, Band3, Band4, Band5 +** ------------------------------------------------------------------- */ + +static q63_t biquadStateBand1Q31[4 * 2]; +static q63_t biquadStateBand2Q31[4 * 2]; +static q31_t biquadStateBand3Q31[4 * 2]; +static q31_t biquadStateBand4Q31[4 * 2]; +static q31_t biquadStateBand5Q31[4 * 2]; + +/* ---------------------------------------------------------------------- +** Q31 input and output buffers +** ------------------------------------------------------------------- */ + +q31_t inputQ31[BLOCKSIZE]; +q31_t outputQ31[BLOCKSIZE]; + +/* ---------------------------------------------------------------------- +** Entire coefficient table. There are 10 coefficients per 4th order Biquad +** cascade filter. The first 10 coefficients correspond to the -9 dB gain +** setting of band 1; the next 10 coefficient correspond to the -8 dB gain +** setting of band 1; and so on. There are 10*19=190 coefficients in total +** for band 1 (gains = -9, -8, -7, ..., 9). After this come the 190 coefficients +** for band 2. +** +** The coefficients are in Q29 format and require a postShift of 2. +** ------------------------------------------------------------------- */ + +const q31_t coeffTable[950] = { + + /* Band 1, -9 dB gain */ + 535576962, -1071153923, 535576962, 1073741824, -536870912, 535576962, -1063501998, 527979313, 1060865294, -524146981, + /* Band 1, -8 dB gain */ + 535723226, -1071446451, 535723226, 1073741824, -536870912, 535723226, -1063568947, 527903217, 1061230578, -524503778, + 535868593, -1071737186, 535868593, 1073741824, -536870912, 535868593, -1063627467, 527819780, 1061585502, -524850686, + 536013181, -1072026363, 536013181, 1073741824, -536870912, 536013181, -1063677598, 527728935, 1061930361, -525187972, + 536157109, -1072314217, 536157109, 1073741824, -536870912, 536157109, -1063719372, 527630607, 1062265438, -525515897, + 536300492, -1072600983, 536300492, 1073741824, -536870912, 536300492, -1063752815, 527524720, 1062591011, -525834716, + 536443447, -1072886894, 536443447, 1073741824, -536870912, 536443447, -1063777945, 527411186, 1062907350, -526144676, + 536586091, -1073172183, 536586091, 1073741824, -536870912, 536586091, -1063794775, 527289917, 1063214717, -526446017, + 536728541, -1073457082, 536728541, 1073741824, -536870912, 536728541, -1063803308, 527160815, 1063513366, -526738975, + 536870912, -1073741824, 536870912, 1073741824, -536870912, 536870912, -1063803543, 527023777, 1063803543, -527023777, + 537013321, -1074026642, 537013321, 1073741824, -536870912, 537013321, -1063795470, 526878696, 1064085490, -527300648, + 537155884, -1074311768, 537155884, 1073741824, -536870912, 537155884, -1063779073, 526725455, 1064359439, -527569803, + 537298718, -1074597435, 537298718, 1073741824, -536870912, 537298718, -1063754328, 526563934, 1064625617, -527831454, + 537441939, -1074883878, 537441939, 1073741824, -536870912, 537441939, -1063721205, 526394005, 1064884245, -528085806, + 537585666, -1075171331, 537585666, 1073741824, -536870912, 537585666, -1063679666, 526215534, 1065135536, -528333059, + 537730015, -1075460030, 537730015, 1073741824, -536870912, 537730015, -1063629666, 526028380, 1065379699, -528573409, + 537875106, -1075750212, 537875106, 1073741824, -536870912, 537875106, -1063571152, 525832396, 1065616936, -528807045, + 538021057, -1076042114, 538021057, 1073741824, -536870912, 538021057, -1063504065, 525627429, 1065847444, -529034151, + 538167989, -1076335977, 538167989, 1073741824, -536870912, 538167989, -1063428338, 525413317, 1066071412, -529254907, + + /* Band 2, -9 dB gain */ + 531784976, -1055497692, 523873415, 1066213307, -529420241, 531784976, -1040357886, 509828014, 1028908252, -494627367, + /* Band 2, -8 dB gain */ + 532357636, -1056601982, 524400080, 1066115844, -529326645, 532357636, -1040623406, 509562600, 1030462237, -496062122, + 532927392, -1057707729, 524931110, 1066024274, -529239070, 532927392, -1040848253, 509262081, 1031969246, -497457090, + 533494678, -1058816094, 525467240, 1065939047, -529157961, 533494678, -1041032161, 508925950, 1033429976, -498812573, + 534059929, -1059928204, 526009170, 1065860582, -529083734, 534059929, -1041174868, 508553717, 1034845124, -500128887, + 534623580, -1061045148, 526557561, 1065789260, -529016764, 534623580, -1041276126, 508144920, 1036215393, -501406373, + 535186068, -1062167969, 527113032, 1065725420, -528957385, 535186068, -1041335703, 507699125, 1037541500, -502645399, + 535747827, -1063297666, 527676151, 1065669351, -528905879, 535747827, -1041353386, 507215934, 1038824183, -503846368, + 536309295, -1064435183, 528247436, 1065621289, -528862476, 536309295, -1041328990, 506694984, 1040064203, -505009724, + 536870912, -1065581413, 528827349, 1065581413, -528827349, 536870912, -1041262354, 506135953, 1041262354, -506135953, + 537433117, -1066737194, 529416295, 1065549847, -528800610, 537433117, -1041153346, 505538564, 1042419457, -507225588, + 537996352, -1067903307, 530014622, 1065526651, -528782316, 537996352, -1041001864, 504902578, 1043536370, -508279208, + 538561061, -1069080480, 530622620, 1065511830, -528772462, 538561061, -1040807833, 504227800, 1044613981, -509297437, + 539127690, -1070269387, 531240527, 1065505333, -528770987, 539127690, -1040571205, 503514074, 1045653211, -510280946, + 539696690, -1071470656, 531868525, 1065507054, -528777778, 539696690, -1040291951, 502761277, 1046655011, -511230450, + 540268512, -1072684867, 532506750, 1065516837, -528792672, 540268512, -1039970063, 501969320, 1047620358, -512146700, + 540843613, -1073912567, 533155297, 1065534483, -528815459, 540843613, -1039605542, 501138139, 1048550251, -513030484, + 541422451, -1075154268, 533814224, 1065559750, -528845892, 541422451, -1039198394, 500267687, 1049445708, -513882621, + 542005489, -1076410460, 534483561, 1065592362, -528883686, 542005489, -1038748624, 499357932, 1050307760, -514703956, + 518903861, -1001986830, 486725277, 1037235801, -502367695, 518903861, -945834422, 446371043, 902366163, -400700571, + 520899989, -1005630916, 488289126, 1036926846, -502147311, 520899989, -946490935, 445581846, 907921945, -404936158, + 522893209, -1009290002, 489869792, 1036650484, -501961419, 522893209, -947006359, 444685310, 913306106, -409075225, + 524884763, -1012968199, 491470256, 1036407567, -501810737, 524884763, -947377809, 443679533, 918521018, -413116221, + 526875910, -1016669649, 493093518, 1036198712, -501695739, 526875910, -947602324, 442562672, 923569247, -417057897, + 528867927, -1020398503, 494742575, 1036024293, -501616651, 528867927, -947676875, 441332970, 928453558, -420899319, + 530862111, -1024158905, 496420407, 1035884447, -501573457, 530862111, -947598385, 439988777, 933176909, -424639872, + 532859778, -1027954970, 498129955, 1035779077, -501565907, 532859778, -947363742, 438528571, 937742446, -428279254, + 534862260, -1031790763, 499874098, 1035707863, -501593525, 534862260, -946969823, 436950987, 942153486, -431817474, + 536870912, -1035670279, 501655630, 1035670279, -501655630, 536870912, -946413508, 435254839, 946413508, -435254839, + 538887107, -1039597419, 503477238, 1035665609, -501751354, 538887107, -945691703, 433439146, 950526127, -438591937, + 540912240, -1043575967, 505341475, 1035692963, -501879659, 540912240, -944801359, 431503152, 954495080, -441829621, + 542947726, -1047609569, 507250741, 1035751307, -502039364, 542947726, -943739490, 429446349, 958324201, -444968987, + 544995000, -1051701717, 509207261, 1035839473, -502229165, 544995000, -942503190, 427268492, 962017400, -448011351, + 547055523, -1055855728, 511213065, 1035956193, -502447657, 547055523, -941089647, 424969617, 965578640, -450958226, + 549130774, -1060074734, 513269973, 1036100110, -502693359, 549130774, -939496155, 422550049, 969011913, -453811298, + 551222259, -1064361672, 515379585, 1036269804, -502964731, 551222259, -937720119, 420010407, 972321228, -456572401, + 553331507, -1068719280, 517543273, 1036463810, -503260192, 553331507, -935759057, 417351601, 975510582, -459243495, + 555460072, -1073150100, 519762181, 1036680633, -503578144, 555460072, -933610600, 414574832, 978583948, -461826644, + 494084017, -851422604, 404056273, 930151631, -423619864, 494084017, -673714108, 339502486, 561843007, -265801750, + 498713542, -859177141, 406587077, 929211656, -423786402, 498713542, -673274906, 338185129, 573719128, -272222942, + 503369016, -867012190, 409148384, 928362985, -424054784, 503369016, -672533059, 336693984, 585290277, -278599028, + 508052536, -874935599, 411746438, 927604291, -424422151, 508052536, -671478538, 335026905, 596558312, -284920289, + 512766286, -882955583, 414387826, 926933782, -424885216, 512766286, -670100998, 333182045, 607525792, -291177811, + 517512534, -891080712, 417079474, 926349262, -425440318, 517512534, -668389789, 331157902, 618195914, -297363485, + 522293635, -899319903, 419828635, 925848177, -426083491, 522293635, -666333963, 328953368, 628572440, -303470012, + 527112032, -907682405, 422642886, 925427679, -426810526, 527112032, -663922286, 326567785, 638659631, -309490882, + 531970251, -916177781, 425530105, 925084675, -427617023, 531970251, -661143261, 324000998, 648462180, -315420352, + 536870912, -924815881, 428498454, 924815881, -428498454, 536870912, -657985147, 321253420, 657985147, -321253420, + 541816719, -933606817, 431556352, 924617870, -429450209, 541816719, -654435997, 318326093, 667233900, -326985786, + 546810467, -942560921, 434712438, 924487114, -430467639, 546810467, -650483688, 315220754, 676214053, -332613816, + 551855042, -951688708, 437975532, 924420027, -431546101, 551855042, -646115970, 311939896, 684931422, -338134495, + 556953421, -961000826, 441354588, 924413001, -432680993, 556953421, -641320513, 308486839, 693391970, -343545389, + 562108672, -970508005, 444858642, 924462435, -433867780, 562108672, -636084967, 304865786, 701601770, -348844597, + 567323959, -980220994, 448496743, 924564764, -435102022, 567323959, -630397020, 301081886, 709566963, -354030710, + 572602539, -990150500, 452277894, 924716482, -436379394, 572602539, -624244471, 297141281, 717293726, -359102767, + 577947763, -1000307125, 456210977, 924914158, -437695705, 577947763, -617615296, 293051155, 724788245, -364060214, + 583363084, -1010701292, 460304674, 925154455, -439046908, 583363084, -610497723, 288819761, 732056685, -368902865, + 387379495, -506912469, 196933274, 840112184, -347208270, 387379495, 506912469, 196933274, -840112184, -347208270, + 401658082, -532275898, 207149427, 833765363, -343175316, 401658082, 532275898, 207149427, -833765363, -343175316, + 416472483, -558722695, 217902617, 827270154, -339107319, 416472483, 558722695, 217902617, -827270154, -339107319, + 431841949, -586290861, 229212798, 820624988, -335007540, 431841949, 586290861, 229212798, -820624988, -335007540, + 447786335, -615019650, 241100489, 813828443, -330879528, 447786335, 615019650, 241100489, -813828443, -330879528, + 464326111, -644949597, 253586805, 806879270, -326727141, 464326111, 644949597, 253586805, -806879270, -326727141, + 481482377, -676122557, 266693475, 799776409, -322554559, 481482377, 676122557, 266693475, -799776409, -322554559, + 499276882, -708581728, 280442865, 792519013, -318366296, 499276882, 708581728, 280442865, -792519013, -318366296, + 517732032, -742371685, 294857996, 785106465, -314167221, 517732032, 742371685, 294857996, -785106465, -314167221, + 536870912, -777538408, 309962566, 777538408, -309962566, 536870912, 777538408, 309962566, -777538408, -309962566, + 556717294, -814129313, 325780968, 769814766, -305757943, 556717294, 814129313, 325780968, -769814766, -305757943, + 577295658, -852193284, 342338310, 761935777, -301559360, 577295658, 852193284, 342338310, -761935777, -301559360, + 598631206, -891780698, 359660433, 753902014, -297373230, 598631206, 891780698, 359660433, -753902014, -297373230, + 620749877, -932943463, 377773927, 745714425, -293206383, 620749877, 932943463, 377773927, -745714425, -293206383, + 643678365, -975735041, 396706151, 737374355, -289066077, 643678365, 975735041, 396706151, -737374355, -289066077, + 667444134, -1020210487, 416485252, 728883588, -284960004, 667444134, 1020210487, 416485252, -728883588, -284960004, + 692075438, -1066426476, 437140179, 720244375, -280896294, 692075438, 1066426476, 437140179, -720244375, -280896294, + 717601336, -1114441339, 458700704, 711459472, -276883515, 717601336, 1114441339, 458700704, -711459472, -276883515, + 744051710, -1164315096, 481197437, 702532174, -272930673, 744051710, 1164315096, 481197437, -702532174, -272930673 + +}; + +/* ---------------------------------------------------------------------- +** Desired gains, in dB, per band +** ------------------------------------------------------------------- */ + +int gainDB[5] = {0, -3, 6, 4, -6}; + +float32_t snr; + + +/* ---------------------------------------------------------------------- + * Graphic equalizer Example + * ------------------------------------------------------------------- */ + +int32_t main(void) +{ + float32_t *inputF32, *outputF32; + arm_biquad_cas_df1_32x64_ins_q31 S1; + arm_biquad_cas_df1_32x64_ins_q31 S2; + arm_biquad_casd_df1_inst_q31 S3; + arm_biquad_casd_df1_inst_q31 S4; + arm_biquad_casd_df1_inst_q31 S5; + int i; + int32_t status; + + inputF32 = &testInput_f32[0]; + outputF32 = &testOutput[0]; + + /* Initialize the state and coefficient buffers for all Biquad sections */ + + arm_biquad_cas_df1_32x64_init_q31(&S1, NUMSTAGES, + (q31_t *) &coeffTable[190*0 + 10*(gainDB[0] + 9)], + &biquadStateBand1Q31[0], 2); + + arm_biquad_cas_df1_32x64_init_q31(&S2, NUMSTAGES, + (q31_t *) &coeffTable[190*1 + 10*(gainDB[1] + 9)], + &biquadStateBand2Q31[0], 2); + + arm_biquad_cascade_df1_init_q31(&S3, NUMSTAGES, + (q31_t *) &coeffTable[190*2 + 10*(gainDB[2] + 9)], + &biquadStateBand3Q31[0], 2); + + arm_biquad_cascade_df1_init_q31(&S4, NUMSTAGES, + (q31_t *) &coeffTable[190*3 + 10*(gainDB[3] + 9)], + &biquadStateBand4Q31[0], 2); + + arm_biquad_cascade_df1_init_q31(&S5, NUMSTAGES, + (q31_t *) &coeffTable[190*4 + 10*(gainDB[4] + 9)], + &biquadStateBand5Q31[0], 2); + + + /* Call the process functions and needs to change filter coefficients + for varying the gain of each band */ + + for(i=0; i < NUMBLOCKS; i++) + { + + /* ---------------------------------------------------------------------- + ** Convert block of input data from float to Q31 + ** ------------------------------------------------------------------- */ + + arm_float_to_q31(inputF32 + (i*BLOCKSIZE), inputQ31, BLOCKSIZE); + + /* ---------------------------------------------------------------------- + ** Scale down by 1/8. This provides additional headroom so that the + ** graphic EQ can apply gain. + ** ------------------------------------------------------------------- */ + + arm_scale_q31(inputQ31, 0x7FFFFFFF, -3, inputQ31, BLOCKSIZE); + + /* ---------------------------------------------------------------------- + ** Call the Q31 Biquad Cascade DF1 32x64 process function for band1, band2 + ** ------------------------------------------------------------------- */ + + arm_biquad_cas_df1_32x64_q31(&S1, inputQ31, outputQ31, BLOCKSIZE); + arm_biquad_cas_df1_32x64_q31(&S2, outputQ31, outputQ31, BLOCKSIZE); + + /* ---------------------------------------------------------------------- + ** Call the Q31 Biquad Cascade DF1 process function for band3, band4, band5 + ** ------------------------------------------------------------------- */ + + arm_biquad_cascade_df1_q31(&S3, outputQ31, outputQ31, BLOCKSIZE); + arm_biquad_cascade_df1_q31(&S4, outputQ31, outputQ31, BLOCKSIZE); + arm_biquad_cascade_df1_q31(&S5, outputQ31, outputQ31, BLOCKSIZE); + + /* ---------------------------------------------------------------------- + ** Convert Q31 result back to float + ** ------------------------------------------------------------------- */ + + arm_q31_to_float(outputQ31, outputF32 + (i * BLOCKSIZE), BLOCKSIZE); + + /* ---------------------------------------------------------------------- + ** Scale back up + ** ------------------------------------------------------------------- */ + + arm_scale_f32(outputF32 + (i * BLOCKSIZE), 8.0f, outputF32 + (i * BLOCKSIZE), BLOCKSIZE); + }; + + snr = arm_snr_f32(testRefOutput_f32, testOutput, TESTLENGTH); + + if (snr < SNR_THRESHOLD_F32) + { + status = ARM_MATH_TEST_FAILURE; + } + else + { + status = ARM_MATH_SUCCESS; + } + + /* ---------------------------------------------------------------------- + ** Loop here if the signal does not match the reference output. + ** ------------------------------------------------------------------- */ + + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + +/** \endlink */ + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/Abstract.txt new file mode 100644 index 0000000..472fa34 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_linear_interp_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_data.c new file mode 100644 index 0000000..5a53ec6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_data.c @@ -0,0 +1,23616 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_linear_interp_data.c +* +* Description: Data file used for example. Generation method described +* below +* +* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Table generated from following MATLAB Command +* x = -pi: 0.00005 : (2*pi - 0.00005); +* y = sin(x); +* where pi value is 3.141592653589793 +* --------------------------------------------------------------------*/ + +float arm_linear_interep_table[188495] = { + + +-0.000000000000000122, -0.000049999999979173, -0.000099999999833667, -0.000149999999437717, -0.000199999998666767, -0.000249999997395817, -0.000299999995500311, -0.000349999992854362, +-0.000399999989333412, -0.000449999984812462, -0.000499999979166956, -0.000549999972271007, -0.000599999964000057, -0.000649999954229107, -0.000699999942833602, -0.000749999929687653, +-0.000799999914666704, -0.000849999897645755, -0.000899999878500250, -0.000949999857104302, -0.000999999833333354, -0.001049999807062851, -0.001099999778166904, -0.001149999746520957, +-0.001199999712000011, -0.001249999674479510, -0.001299999633833566, -0.001349999589937622, -0.001399999542666680, -0.001449999491896183, -0.001499999437500243, -0.001549999379354304, +-0.001599999317333367, -0.001649999251312876, -0.001699999181166942, -0.001749999106771011, -0.001799999028000082, -0.001849998944729599, -0.001899998856833675, -0.001949998764187754, +-0.001999998666666836, -0.002049998564146365, -0.002099998456500453, -0.002149998343604546, -0.002199998225334087, -0.002249998101563188, -0.002299997972167294, -0.002349997837021405, +-0.002399997696000966, -0.002449997548980088, -0.002499997395834216, -0.002549997236438351, -0.002599997070667937, -0.002649996898397086, -0.002699996719501243, -0.002749996533855408, +-0.002799996341335026, -0.002849996141814208, -0.002899995935168401, -0.002949995721272604, -0.002999995500002261, -0.003049995271231486, -0.003099995034835722, -0.003149994790690415, +-0.003199994538669677, -0.003249994278648952, -0.003299994010503243, -0.003349993734107991, -0.003399993449337312, -0.003449993156066649, -0.003499992854171003, -0.003549992543525819, +-0.003599992224005209, -0.003649991895484619, -0.003699991557839049, -0.003749991210943944, -0.003799990854673418, -0.003849990488902914, -0.003899990113507434, -0.003949989728362423, +-0.003999989333341993, -0.004049988928321590, -0.004099988513176658, -0.004149988087781312, -0.004199987652010995, -0.004249987205740709, -0.004299986748845899, -0.004349986281200678, +-0.004399985802680492, -0.004449985313160341, -0.004499984812515671, -0.004549984300620594, -0.004599983777350557, -0.004649983242580561, -0.004699982696186050, -0.004749982138041138, +-0.004799981568021272, -0.004849980986001451, -0.004899980391857122, -0.004949979785462398, -0.004999979166692725, -0.005049978535423547, -0.005099977891528979, -0.005149977234884466, +-0.005199976565365011, -0.005249975882846058, -0.005299975187201721, -0.005349974478307446, -0.005399973756038235, -0.005449973020269535, -0.005499972270875456, -0.005549971507731448, +-0.005599970730712511, -0.005649969939694091, -0.005699969134550302, -0.005749968315156590, -0.005799967481387958, -0.005849966633119851, -0.005899965770226383, -0.005949964892583000, +-0.005999964000064706, -0.006049963092546945, -0.006099962169903833, -0.006149961232010816, -0.006199960278743339, -0.006249959309975518, -0.006299958325582797, -0.006349957325440182, +-0.006399956309423117, -0.006449955277405718, -0.006499954229263430, -0.006549953164871257, -0.006599952084104644, -0.006649950986837708, -0.006699949872945895, -0.006749948742304206, +-0.006799947594788089, -0.006849946430271660, -0.006899945248630365, -0.006949944049739206, -0.006999942833473632, -0.007049941599707755, -0.007099940348317025, -0.007149939079176889, +-0.007199937792161461, -0.007249936487146187, -0.007299935164006074, -0.007349933822616566, -0.007399932462851779, -0.007449931084587162, -0.007499929687697716, -0.007549928272058891, +-0.007599926837544801, -0.007649925384030893, -0.007699923911392173, -0.007749922419504085, -0.007799920908240749, -0.007849919377477610, -0.007899917827089672, -0.007949916256952384, +-0.007999914666939863, -0.008049913056927554, -0.008099911426790906, -0.008149909776404035, -0.008199908105642390, -0.008249906414380975, -0.008299904702495238, -0.008349902969859295, +-0.008399901216348595, -0.008449899441838141, -0.008499897646203384, -0.008549895829318437, -0.008599893991058752, -0.008649892131299332, -0.008699890249915625, -0.008749888346781748, +-0.008799886421773151, -0.008849884474764837, -0.008899882505632256, -0.008949880514249525, -0.008999878500492093, -0.009049876464234965, -0.009099874405353590, -0.009149872323722084, +-0.009199870219215898, -0.009249868091710479, -0.009299865941079948, -0.009349863767199750, -0.009399861569944894, -0.009449859349190827, -0.009499857104811669, -0.009549854836682867, +-0.009599852544679429, -0.009649850228676803, -0.009699847888549109, -0.009749845524171793, -0.009799843135419864, -0.009849840722168771, -0.009899838284292632, -0.009949835821666898, +-0.009999833334166574, -0.010049830821667110, -0.010099828284042626, -0.010149825721168572, -0.010199823132920397, -0.010249820519172219, -0.010299817879799491, -0.010349815214677217, +-0.010399812523680850, -0.010449809806684508, -0.010499807063563642, -0.010549804294193258, -0.010599801498448806, -0.010649798676204407, -0.010699795827335511, -0.010749792951717126, +-0.010799790049224703, -0.010849787119732359, -0.010899784163115548, -0.010949781179249277, -0.010999778168008997, -0.011049775129268828, -0.011099772062904221, -0.011149768968790628, +-0.011199765846802169, -0.011249762696814294, -0.011299759518702013, -0.011349756312340777, -0.011399753077604706, -0.011449749814369253, -0.011499746522509425, -0.011549743201900674, +-0.011599739852417123, -0.011649736473934221, -0.011699733066326979, -0.011749729629470847, -0.011799726163239948, -0.011849722667509732, -0.011899719142155211, -0.011949715587051834, +-0.011999712002073726, -0.012049708387096337, -0.012099704741995123, -0.012149701066644201, -0.012199697360919026, -0.012249693624694609, -0.012299689857846402, -0.012349686060248525, +-0.012399682231776434, -0.012449678372305137, -0.012499674481710089, -0.012549670559865410, -0.012599666606646555, -0.012649662621928532, -0.012699658605586799, -0.012749654557495473, +-0.012799650477530011, -0.012849646365565424, -0.012899642221477166, -0.012949638045139357, -0.012999633836427452, -0.013049629595216463, -0.013099625321381845, -0.013149621014797719, +-0.013199616675339540, -0.013249612302882765, -0.013299607897301514, -0.013349603458471243, -0.013399598986266964, -0.013449594480564131, -0.013499589941236869, -0.013549585368160630, +-0.013599580761210430, -0.013649576120261721, -0.013699571445188626, -0.013749566735866605, -0.013799561992170667, -0.013849557213976266, -0.013899552401157530, -0.013949547553589911, +-0.013999542671148425, -0.014049537753708525, -0.014099532801144338, -0.014149527813331319, -0.014199522790144923, -0.014249517731459277, -0.014299512637149837, -0.014349507507091614, +-0.014399502341160067, -0.014449497139229321, -0.014499491901174831, -0.014549486626871612, -0.014599481316195120, -0.014649475969019481, -0.014699470585220153, -0.014749465164672147, +-0.014799459707250922, -0.014849454212830605, -0.014899448681286651, -0.014949443112494076, -0.014999437506328338, -0.015049431862663561, -0.015099426181375206, -0.015149420462338728, +-0.015199414705428255, -0.015249408910519246, -0.015299403077486715, -0.015349397206206119, -0.015399391296551587, -0.015449385348398575, -0.015499379361622101, -0.015549373336097624, +-0.015599367271699268, -0.015649361168302494, -0.015699355025782315, -0.015749348844014195, -0.015799342622872262, -0.015849336362231969, -0.015899330061968333, -0.015949323721956819, +-0.015999317342071551, -0.016049310922187990, -0.016099304462181149, -0.016149297961926493, -0.016199291421298147, -0.016249284840171574, -0.016299278218422232, -0.016349271555924253, +-0.016399264852553091, -0.016449258108183769, -0.016499251322691748, -0.016549244495951149, -0.016599237627837445, -0.016649230718225643, -0.016699223766991209, -0.016749216774008271, +-0.016799209739152290, -0.016849202662298290, -0.016899195543321723, -0.016949188382096723, -0.016999181178498753, -0.017049173932402829, -0.017099166643684417, -0.017149159312217641, +-0.017199151937877969, -0.017249144520540861, -0.017299137060080447, -0.017349129556372193, -0.017399122009291113, -0.017449114418712670, -0.017499106784510998, -0.017549099106561560, +-0.017599091384739373, -0.017649083618919904, -0.017699075808977279, -0.017749067954786969, -0.017799060056223986, -0.017849052113163795, -0.017899044125480532, -0.017949036093049660, +-0.017999028015746196, -0.018049019893445605, -0.018099011726022022, -0.018149003513350907, -0.018198995255307732, -0.018248986951766622, -0.018298978602603044, -0.018348970207692019, +-0.018398961766909014, -0.018448953280128161, -0.018498944747224924, -0.018548936168074327, -0.018598927542551831, -0.018648918870531574, -0.018698910151889018, -0.018748901386499189, +-0.018798892574237547, -0.018848883714978233, -0.018898874808596710, -0.018948865854967998, -0.018998856853967565, -0.019048847805469546, -0.019098838709349409, -0.019148829565482174, +-0.019198820373743309, -0.019248811134006949, -0.019298801846148562, -0.019348792510043615, -0.019398783125566241, -0.019448773692591910, -0.019498764210995646, -0.019548754680652914, +-0.019598745101437852, -0.019648735473225928, -0.019698725795892161, -0.019748716069312028, -0.019798706293359659, -0.019848696467910525, -0.019898686592839651, -0.019948676668022504, +-0.019998666693333219, -0.020048656668647271, -0.020098646593839677, -0.020148636468785914, -0.020198626293360115, -0.020248616067437750, -0.020298605790894288, -0.020348595463603868, +-0.020398585085441959, -0.020448574656283587, -0.020498564176004225, -0.020548553644478006, -0.020598543061580404, -0.020648532427186443, -0.020698521741171597, -0.020748511003410002, +-0.020798500213777129, -0.020848489372148005, -0.020898478478398104, -0.020948467532401559, -0.020998456534033847, -0.021048445483169996, -0.021098434379685473, -0.021148423223454418, +-0.021198412014352307, -0.021248400752254610, -0.021298389437035468, -0.021348378068570352, -0.021398366646734290, -0.021448355171402755, -0.021498343642449892, -0.021548332059751166, +-0.021598320423181612, -0.021648308732616698, -0.021698296987930570, -0.021748285188998701, -0.021798273335696117, -0.021848261427898294, -0.021898249465479372, -0.021948237448314829, +-0.021998225376279691, -0.022048213249249434, -0.022098201067098200, -0.022148188829701463, -0.022198176536934698, -0.022248164188672048, -0.022298151784788989, -0.022348139325160547, +-0.022398126809662203, -0.022448114238168098, -0.022498101610553708, -0.022548088926694063, -0.022598076186464637, -0.022648063389739580, -0.022698050536394364, -0.022748037626304021, +-0.022798024659344031, -0.022848011635388531, -0.022897998554313004, -0.022947985415992481, -0.022997972220302438, -0.023047958967117019, -0.023097945656311705, -0.023147932287761526, +-0.023197918861341957, -0.023247905376927152, -0.023297891834392580, -0.023347878233613725, -0.023397864574464730, -0.023447850856821072, -0.023497837080557787, -0.023547823245550353, +-0.023597809351672917, -0.023647795398800960, -0.023697781386809513, -0.023747767315574056, -0.023797753184968740, -0.023847738994869038, -0.023897724745149989, -0.023947710435687070, +-0.023997696066354435, -0.024047681637027557, -0.024097667147581475, -0.024147652597891669, -0.024197637987832289, -0.024247623317278814, -0.024297608586106724, -0.024347593794190169, +-0.024397578941404627, -0.024447564027625143, -0.024497549052727188, -0.024547534016584920, -0.024597518919073816, -0.024647503760068912, -0.024697488539445693, -0.024747473257078312, +-0.024797457912842245, -0.024847442506612534, -0.024897427038264662, -0.024947411507672778, -0.024997395914712364, -0.025047380259258463, -0.025097364541186551, -0.025147348760370787, +-0.025197332916686650, -0.025247317010009623, -0.025297301040213861, -0.025347285007174848, -0.025397268910767622, -0.025447252750867667, -0.025497236527349136, -0.025547220240087511, +-0.025597203888957840, -0.025647187473835601, -0.025697170994594950, -0.025747154451111372, -0.025797137843259908, -0.025847121170916042, -0.025897104433953929, -0.025947087632249056, +-0.025997070765676464, -0.026047053834111638, -0.026097036837428735, -0.026147019775503239, -0.026197002648210635, -0.026246985455425084, -0.026296968197022069, -0.026346950872876633, +-0.026396933482864263, -0.026446916026859116, -0.026496898504736681, -0.026546880916371998, -0.026596863261640555, -0.026646845540416509, -0.026696827752575352, -0.026746809897992125, +-0.026796791976542320, -0.026846773988100085, -0.026896755932540921, -0.026946737809739864, -0.026996719619572406, -0.027046701361912708, -0.027096683036636253, -0.027146664643618094, +-0.027196646182733715, -0.027246627653857276, -0.027296609056864270, -0.027346590391630184, -0.027396571658029178, -0.027446552855936744, -0.027496533985227927, -0.027546515045778219, +-0.027596496037461778, -0.027646476960154098, -0.027696457813730226, -0.027746438598065654, -0.027796419313034542, -0.027846399958512381, -0.027896380534374220, -0.027946361040495551, +-0.027996341476750536, -0.028046321843014668, -0.028096302139162994, -0.028146282365071010, -0.028196262520612875, -0.028246242605664086, -0.028296222620100130, -0.028346202563795178, +-0.028396182436624718, -0.028446162238463801, -0.028496141969187923, -0.028546121628671248, -0.028596101216789266, -0.028646080733417033, -0.028696060178430041, -0.028746039551702456, +-0.028796018853109770, -0.028845998082527038, -0.028895977239829753, -0.028945956324892084, -0.028995935337589523, -0.029045914277797125, -0.029095893145390381, -0.029145871940243463, +-0.029195850662231865, -0.029245829311231087, -0.029295807887115288, -0.029345786389759970, -0.029395764819040188, -0.029445743174831437, -0.029495721457007882, -0.029545699665445027, +-0.029595677800017921, -0.029645655860602062, -0.029695633847071624, -0.029745611759302099, -0.029795589597168545, -0.029845567360546461, -0.029895545049310013, -0.029945522663334705, +-0.029995500202495588, -0.030045477666668166, -0.030095455055726604, -0.030145432369546407, -0.030195409608002627, -0.030245386770970769, -0.030295363858325000, -0.030345340869940819, +-0.030395317805693732, -0.030445294665457905, -0.030495271449108841, -0.030545248156521602, -0.030595224787571682, -0.030645201342133260, -0.030695177820081833, -0.030745154221292460, +-0.030795130545640648, -0.030845106793000565, -0.030895082963247715, -0.030945059056257156, -0.030995035071904393, -0.031045011010063600, -0.031094986870610280, -0.031144962653419490, +-0.031194938358366741, -0.031244913985326202, -0.031294889534173378, -0.031344865004783770, -0.031394840397031561, -0.031444815710792245, -0.031494790945940897, -0.031544766102353010, +-0.031594741179902762, -0.031644716178465669, -0.031694691097916783, -0.031744665938131605, -0.031794640698984328, -0.031844615380350445, -0.031894589982105023, -0.031944564504123571, +-0.031994538946280265, -0.032044513308450616, -0.032094487590509674, -0.032144461792332962, -0.032194435913794651, -0.032244409954770251, -0.032294383915135269, -0.032344357794763884, +-0.032394331593531604, -0.032444305311313495, -0.032494278947985067, -0.032544252503420502, -0.032594225977495297, -0.032644199370084531, -0.032694172681063713, -0.032744145910307020, +-0.032794119057689960, -0.032844092123087601, -0.032894065106375457, -0.032944038007427706, -0.032994010826119857, -0.033043983562326990, -0.033093956215924598, -0.033143928786786875, +-0.033193901274789335, -0.033243873679807037, -0.033293846001715498, -0.033343818240388901, -0.033393790395702755, -0.033443762467532584, -0.033493734455752558, -0.033543706360238200, +-0.033593678180864575, -0.033643649917507193, -0.033693621570040251, -0.033743593138339245, -0.033793564622279268, -0.033843536021735815, -0.033893507336583077, -0.033943478566696578, +-0.033993449711951375, -0.034043420772222999, -0.034093391747385619, -0.034143362637314767, -0.034193333441885507, -0.034243304160973355, -0.034293274794452495, -0.034343245342198452, +-0.034393215804086739, -0.034443186179991543, -0.034493156469788386, -0.034543126673352333, -0.034593096790558907, -0.034643066821282299, -0.034693036765398019, -0.034743006622781153, +-0.034792976393307209, -0.034842946076850380, -0.034892915673286187, -0.034942885182489711, -0.034992854604336460, -0.035042823938700625, -0.035092793185457737, -0.035142762344482860, +-0.035192731415651525, -0.035242700398837916, -0.035292669293917563, -0.035342638100765975, -0.035392606819257343, -0.035442575449267197, -0.035492543990670616, -0.035542512443343117, +-0.035592480807158891, -0.035642449081993467, -0.035692417267721918, -0.035742385364219767, -0.035792353371361212, -0.035842321289021775, -0.035892289117076537, -0.035942256855401013, +-0.035992224503869408, -0.036042192062357238, -0.036092159530739590, -0.036142126908891986, -0.036192094196688625, -0.036242061394005022, -0.036292028500716271, -0.036341995516697888, +-0.036391962441824077, -0.036441929275970356, -0.036491896019012260, -0.036541862670823974, -0.036591829231281035, -0.036641795700258523, -0.036691762077631966, -0.036741728363275557, +-0.036791694557064832, -0.036841660658874870, -0.036891626668581194, -0.036941592586058017, -0.036991558411180854, -0.037041524143824792, -0.037091489783865367, -0.037141455331176770, +-0.037191420785634539, -0.037241386147113753, -0.037291351415489948, -0.037341316590637316, -0.037391281672431401, -0.037441246660747718, -0.037491211555460480, -0.037541176356445209, +-0.037591141063576999, -0.037641105676731380, -0.037691070195782550, -0.037741034620606045, -0.037790998951076960, -0.037840963187070815, -0.037890927328461818, -0.037940891375125504, +-0.037990855326936968, -0.038040819183771730, -0.038090782945504005, -0.038140746612009321, -0.038190710183162765, -0.038240673658839881, -0.038290637038914874, -0.038340600323263266, +-0.038390563511760609, -0.038440526604281093, -0.038490489600700263, -0.038540452500893212, -0.038590415304735469, -0.038640378012101247, -0.038690340622866082, -0.038740303136905060, +-0.038790265554093727, -0.038840227874306285, -0.038890190097418273, -0.038940152223304790, -0.038990114251841367, -0.039040076182902214, -0.039090038016362870, -0.039139999752098434, +-0.039189961389984436, -0.039239922929895095, -0.039289884371705948, -0.039339845715292532, -0.039389806960529065, -0.039439768107291072, -0.039489729155453658, -0.039539690104892368, +-0.039589650955481413, -0.039639611707096324, -0.039689572359612207, -0.039739532912904607, -0.039789493366847728, -0.039839453721317121, -0.039889413976187872, -0.039939374131335532, +-0.039989334186634320, -0.040039294141959766, -0.040089253997186977, -0.040139213752191497, -0.040189173406847543, -0.040239132961030655, -0.040289092414616375, -0.040339051767478921, +-0.040389011019493840, -0.040438970170536229, -0.040488929220481633, -0.040538888169204278, -0.040588847016579700, -0.040638805762483000, -0.040688764406789736, -0.040738722949374112, +-0.040788681390111679, -0.040838639728877552, -0.040888597965547259, -0.040938556099995034, -0.040988514132096414, -0.041038472061726512, -0.041088429888760873, -0.041138387613073715, +-0.041188345234540590, -0.041238302753036603, -0.041288260168437299, -0.041338217480616897, -0.041388174689450961, -0.041438131794815029, -0.041488088796583319, -0.041538045694631390, +-0.041588002488834347, -0.041637959179067742, -0.041687915765205794, -0.041737872247124060, -0.041787828624697640, -0.041837784897802099, -0.041887741066311650, -0.041937697130101842, +-0.041987653089047797, -0.042037608943025065, -0.042087564691907858, -0.042137520335571749, -0.042187475873891836, -0.042237431306743671, -0.042287386634001493, -0.042337341855540847, +-0.042387296971237283, -0.042437251980965041, -0.042487206884599664, -0.042537161682016274, -0.042587116373090421, -0.042637070957696331, -0.042687025435709569, -0.042736979807005242, +-0.042786934071458907, -0.042836888228944790, -0.042886842279338457, -0.042936796222515020, -0.042986750058350030, -0.043036703786717728, -0.043086657407493664, -0.043136610920552952, +-0.043186564325771164, -0.043236517623022518, -0.043286470812182579, -0.043336423893126905, -0.043386376865729728, -0.043436329729866607, -0.043486282485412663, -0.043536235132243459, +-0.043586187670233222, -0.043636140099257516, -0.043686092419191462, -0.043736044629910618, -0.043785996731289217, -0.043835948723202824, -0.043885900605526565, -0.043935852378135992, +-0.043985804040905345, -0.044035755593710195, -0.044085707036425649, -0.044135658368927279, -0.044185609591089324, -0.044235560702787342, -0.044285511703896455, -0.044335462594292240, +-0.044385413373848923, -0.044435364042442069, -0.044485314599947250, -0.044535265046238698, -0.044585215381191985, -0.044635165604682239, -0.044685115716585018, -0.044735065716774568, +-0.044785015605126446, -0.044834965381515789, -0.044884915045818166, -0.044934864597907805, -0.044984814037660290, -0.045034763364950735, -0.045084712579654712, -0.045134661681646468, +-0.045184610670801574, -0.045234559546995151, -0.045284508310102771, -0.045334456959998673, -0.045384405496558436, -0.045434353919657632, -0.045484302229170492, -0.045534250424972604, +-0.045584198506939087, -0.045634146474945521, -0.045684094328866137, -0.045734042068576522, -0.045783989693951803, -0.045833937204867552, -0.045883884601198015, -0.045933831882818764, +-0.045983779049604941, -0.046033726101432110, -0.046083673038174518, -0.046133619859707743, -0.046183566565906921, -0.046233513156647622, -0.046283459631804101, -0.046333405991251929, +-0.046383352234866684, -0.046433298362522614, -0.046483244374095303, -0.046533190269459880, -0.046583136048491923, -0.046633081711065685, -0.046683027257056739, -0.046732972686340225, +-0.046782917998791723, -0.046832863194285486, -0.046882808272697092, -0.046932753233901670, -0.046982698077774818, -0.047032642804190769, -0.047082587413025116, -0.047132531904152994, +-0.047182476277449988, -0.047232420532790344, -0.047282364670049655, -0.047332308689103049, -0.047382252589826118, -0.047432196372093109, -0.047482140035779608, -0.047532083580761206, +-0.047582027006912150, -0.047631970314108020, -0.047681913502223970, -0.047731856571135579, -0.047781799520717101, -0.047831742350844128, -0.047881685061391802, -0.047931627652235700, +-0.047981570123250085, -0.048031512474310548, -0.048081454705292230, -0.048131396816070718, -0.048181338806520271, -0.048231280676516476, -0.048281222425934481, -0.048331164054649871, +-0.048381105562536907, -0.048431046949471181, -0.048480988215328286, -0.048530929359982468, -0.048580870383309334, -0.048630811285184018, -0.048680752065482120, -0.048730692724077894, +-0.048780633260846945, -0.048830573675664408, -0.048880513968405877, -0.048930454138945624, -0.048980394187159236, -0.049030334112921854, -0.049080273916109085, -0.049130213596595189, +-0.049180153154255758, -0.049230092588965949, -0.049280031900601345, -0.049329971089036223, -0.049379910154146167, -0.049429849095806784, -0.049479787913892334, -0.049529726608278417, +-0.049579665178840181, -0.049629603625453225, -0.049679541947991818, -0.049729480146331551, -0.049779418220347586, -0.049829356169915524, -0.049879293994909625, -0.049929231695205488, +-0.049979169270678275, -0.050029106721203580, -0.050079044046655675, -0.050128981246910162, -0.050178918321842195, -0.050228855271327380, -0.050278792095239978, -0.050328728793455596, +-0.050378665365849389, -0.050428601812296969, -0.050478538132672598, -0.050528474326851883, -0.050578410394710421, -0.050628346336122496, -0.050678282150963705, -0.050728217839109205, +-0.050778153400434602, -0.050828088834814177, -0.050878024142123529, -0.050927959322237815, -0.050977894375032654, -0.051027829300382306, -0.051077764098162393, -0.051127698768248062, +-0.051177633310514933, -0.051227567724837275, -0.051277502011090700, -0.051327436169150371, -0.051377370198891888, -0.051427304100189544, -0.051477237872918934, -0.051527171516955676, +-0.051577105032174046, -0.051627038418449650, -0.051676971675657664, -0.051726904803673687, -0.051776837802372008, -0.051826770671628226, -0.051876703411317525, -0.051926636021315510, +-0.051976568501496463, -0.052026500851735991, -0.052076433071909262, -0.052126365161891904, -0.052176297121558184, -0.052226228950783722, -0.052276160649443688, -0.052326092217413696, +-0.052376023654568026, -0.052425954960782298, -0.052475886135932133, -0.052525817179891805, -0.052575748092536935, -0.052625678873742691, -0.052675609523384695, -0.052725540041337234, +-0.052775470427475921, -0.052825400681675933, -0.052875330803812882, -0.052925260793761066, -0.052975190651396095, -0.053025120376593154, -0.053075049969227850, -0.053124979429174476, +-0.053174908756308654, -0.053224837950505567, -0.053274767011640821, -0.053324695939588718, -0.053374624734224871, -0.053424553395424908, -0.053474481923063123, -0.053524410317015131, +-0.053574338577156107, -0.053624266703361685, -0.053674194695506154, -0.053724122553465134, -0.053774050277113808, -0.053823977866327796, -0.053873905320981401, -0.053923832640950242, +-0.053973759826109496, -0.054023686876334805, -0.054073613791500441, -0.054123540571482054, -0.054173467216154805, -0.054223393725394337, -0.054273320099074943, -0.054323246337072244, +-0.054373172439261881, -0.054423098405518136, -0.054473024235716642, -0.054522949929732598, -0.054572875487441615, -0.054622800908718003, -0.054672726193437382, -0.054722651341474957, +-0.054772576352706340, -0.054822501227005840, -0.054872425964249086, -0.054922350564311266, -0.054972275027068015, -0.055022199352393636, -0.055072123540163755, -0.055122047590253562, +-0.055171971502538698, -0.055221895276893460, -0.055271818913193486, -0.055321742411313962, -0.055371665771130528, -0.055421588992517486, -0.055471512075350470, -0.055521435019505121, +-0.055571357824855741, -0.055621280491277958, -0.055671203018646982, -0.055721125406838441, -0.055771047655726637, -0.055820969765187224, -0.055870891735095379, -0.055920813565326750, +-0.055970735255755640, -0.056020656806257701, -0.056070578216708113, -0.056120499486982521, -0.056170420616955243, -0.056220341606501911, -0.056270262455497724, -0.056320183163818323, +-0.056370103731338023, -0.056420024157932465, -0.056469944443477291, -0.056519864587846809, -0.056569784590916668, -0.056619704452562064, -0.056669624172658639, -0.056719543751080716, +-0.056769463187703935, -0.056819382482403487, -0.056869301635055033, -0.056919220645532884, -0.056969139513712679, -0.057019058239469622, -0.057068976822679369, -0.057118895263216229, +-0.057168813560955850, -0.057218731715773435, -0.057268649727544640, -0.057318567596143774, -0.057368485321446491, -0.057418402903328433, -0.057468320341663930, -0.057518237636328622, +-0.057568154787197720, -0.057618071794146873, -0.057667988657050410, -0.057717905375783973, -0.057767821950222766, -0.057817738380242456, -0.057867654665717354, -0.057917570806523114, +-0.057967486802534947, -0.058017402653628508, -0.058067318359678120, -0.058117233920559432, -0.058167149336147660, -0.058217064606318460, -0.058266979730946154, -0.058316894709906399, +-0.058366809543074410, -0.058416724230325838, -0.058466638771535011, -0.058516553166577591, -0.058566467415329226, -0.058616381517664254, -0.058666295473458328, -0.058716209282586661, +-0.058766122944924913, -0.058816036460347415, -0.058865949828729829, -0.058915863049947365, -0.058965776123875685, -0.059015689050389127, -0.059065601829363344, -0.059115514460673556, +-0.059165426944195423, -0.059215339279803283, -0.059265251467372798, -0.059315163506779178, -0.059365075397898093, -0.059414987140603878, -0.059464898734772197, -0.059514810180278710, +-0.059564721476997755, -0.059614632624804993, -0.059664543623575657, -0.059714454473185401, -0.059764365173508562, -0.059814275724420815, -0.059864186125797379, -0.059914096377513916, +-0.059964006479444776, -0.060013916431465614, -0.060063826233451661, -0.060113735885278588, -0.060163645386820737, -0.060213554737953763, -0.060263463938552905, -0.060313372988493832, +-0.060363281887650888, -0.060413190635899734, -0.060463099233116047, -0.060513007679174169, -0.060562915973949770, -0.060612824117318082, -0.060662732109154779, -0.060712639949334200, +-0.060762547637732020, -0.060812455174223477, -0.060862362558684234, -0.060912269790988648, -0.060962176871012380, -0.061012083798630670, -0.061061990573719201, -0.061111897196152308, +-0.061161803665805668, -0.061211709982554520, -0.061261616146274546, -0.061311522156840083, -0.061361428014126820, -0.061411333718009983, -0.061461239268365254, -0.061511144665066991, +-0.061561049907990856, -0.061610954997012544, -0.061660859932006401, -0.061710764712848115, -0.061760669339412912, -0.061810573811576473, -0.061860478129213164, -0.061910382292198654, +-0.061960286300408195, -0.062010190153717455, -0.062060093852000807, -0.062109997395133919, -0.062159900782992036, -0.062209804015450842, -0.062259707092384702, -0.062309610013669289, +-0.062359512779179851, -0.062409415388792078, -0.062459317842380319, -0.062509220139820271, -0.062559122280987617, -0.062609024265756708, -0.062658926094003239, -0.062708827765602451, +-0.062758729280430040, -0.062808630638360369, -0.062858531839269122, -0.062908432883031537, -0.062958333769523311, -0.063008234498618809, -0.063058135070193727, -0.063108035484123304, +-0.063157935740283236, -0.063207835838547888, -0.063257735778792956, -0.063307635560893666, -0.063357535184725741, -0.063407434650163547, -0.063457333957082751, -0.063507233105359065, +-0.063557132094866853, -0.063607030925481811, -0.063656929597079193, -0.063706828109534694, -0.063756726462722679, -0.063806624656518859, -0.063856522690798473, -0.063906420565437216, +-0.063956318280309468, -0.064006215835290925, -0.064056113230256839, -0.064106010465082922, -0.064155907539643522, -0.064205804453814366, -0.064255701207470692, -0.064305597800488210, +-0.064355494232741298, -0.064405390504105639, -0.064455286614456500, -0.064505182563669605, -0.064555078351619291, -0.064604973978181296, -0.064654869443231303, -0.064704764746643703, +-0.064754659888294180, -0.064804554868058001, -0.064854449685810889, -0.064904344341427209, -0.064954238834782671, -0.065004133165752528, -0.065054027334212505, -0.065103921340036966, +-0.065153815183101621, -0.065203708863281737, -0.065253602380453024, -0.065303495734489861, -0.065353388925267972, -0.065403281952663039, -0.065453174816549470, -0.065503067516802946, +-0.065552960053298776, -0.065602852425912628, -0.065652744634518923, -0.065702636678993342, -0.065752528559211182, -0.065802420275048137, -0.065852311826378601, -0.065902203213078284, +-0.065952094435022451, -0.066001985492086829, -0.066051876384145808, -0.066101767111075085, -0.066151657672749956, -0.066201548069046129, -0.066251438299837970, -0.066301328365001230, +-0.066351218264411163, -0.066401107997943493, -0.066450997565472611, -0.066500886966874243, -0.066550776202024098, -0.066600665270796555, -0.066650554173067367, -0.066700442908711785, +-0.066750331477605535, -0.066800219879623021, -0.066850108114639956, -0.066899996182531618, -0.066949884083173733, -0.066999771816440706, -0.067049659382208235, -0.067099546780351613, +-0.067149434010746578, -0.067199321073267509, -0.067249207967790145, -0.067299094694189751, -0.067348981252342066, -0.067398867642121496, -0.067448753863403738, -0.067498639916064113, +-0.067548525799978318, -0.067598411515020773, -0.067648297061067189, -0.067698182437993318, -0.067748067645673551, -0.067797952683983601, -0.067847837552798773, -0.067897722251994794, +-0.067947606781446068, -0.067997491141028335, -0.068047375330616861, -0.068097259350087397, -0.068147143199314336, -0.068197026878173431, -0.068246910386539947, -0.068296793724289637, +-0.068346676891296892, -0.068396559887437453, -0.068446442712587069, -0.068496325366620134, -0.068546207849412372, -0.068596090160839104, -0.068645972300776043, -0.068695854269097620, +-0.068745736065679547, -0.068795617690397146, -0.068845499143126140, -0.068895380423740937, -0.068945261532117288, -0.068995142468130488, -0.069045023231656275, -0.069094903822569068, +-0.069144784240744592, -0.069194664486058155, -0.069244544558385496, -0.069294424457601034, -0.069344304183580521, -0.069394183736199239, -0.069444063115332938, -0.069493942320856039, +-0.069543821352644294, -0.069593700210573428, -0.069643578894517874, -0.069693457404353371, -0.069743335739955226, -0.069793213901199178, -0.069843091887959660, -0.069892969700112398, +-0.069942847337532726, -0.069992724800096370, -0.070042602087677777, -0.070092479200152658, -0.070142356137396347, -0.070192232899284598, -0.070242109485691817, -0.070291985896493756, +-0.070341862131565736, -0.070391738190783509, -0.070441614074021483, -0.070491489781155436, -0.070541365312061094, -0.070591240666612903, -0.070641115844686603, -0.070690990846157514, +-0.070740865670901404, -0.070790740318792678, -0.070840614789707101, -0.070890489083519984, -0.070940363200107090, -0.070990237139342854, -0.071040110901103015, -0.071089984485262894, +-0.071139857891698272, -0.071189731120283539, -0.071239604170894505, -0.071289477043406435, -0.071339349737695137, -0.071389222253635004, -0.071439094591101829, -0.071488966749971350, +-0.071538838730118015, -0.071588710531417590, -0.071638582153745384, -0.071688453596977161, -0.071738324860987371, -0.071788195945651764, -0.071838066850845664, -0.071887937576444835, +-0.071937808122323726, -0.071987678488358103, -0.072037548674423274, -0.072087418680395018, -0.072137288506147770, -0.072187158151557310, -0.072237027616498944, -0.072286896900848469, +-0.072336766004480288, -0.072386634927270210, -0.072436503669093530, -0.072486372229826040, -0.072536240609342176, -0.072586108807517716, -0.072635976824228413, -0.072685844659348742, +-0.072735712312754441, -0.072785579784320875, -0.072835447073923795, -0.072885314181437663, -0.072935181106738231, -0.072985047849700863, -0.073034914410201310, -0.073084780788114020, +-0.073134646983314788, -0.073184512995678935, -0.073234378825082241, -0.073284244471399168, -0.073334109934505468, -0.073383975214276503, -0.073433840310588042, -0.073483705223314544, +-0.073533569952331776, -0.073583434497515518, -0.073633298858740245, -0.073683163035881710, -0.073733027028815276, -0.073782890837416723, -0.073832754461560485, -0.073882617901122369, +-0.073932481155977711, -0.073982344226002292, -0.074032207111070572, -0.074082069811058332, -0.074131932325840921, -0.074181794655294106, -0.074231656799292375, -0.074281518757711509, +-0.074331380530426830, -0.074381242117314159, -0.074431103518247929, -0.074480964733103935, -0.074530825761757985, -0.074580686604084512, -0.074630547259959337, -0.074680407729257797, +-0.074730268011855672, -0.074780128107627436, -0.074829988016448870, -0.074879847738195351, -0.074929707272742646, -0.074979566619965229, -0.075029425779738895, -0.075079284751938993, +-0.075129143536441331, -0.075179002133120371, -0.075228860541851891, -0.075278718762511271, -0.075328576794974303, -0.075378434639115435, -0.075428292294810489, -0.075478149761934815, +-0.075528007040364192, -0.075577864129973124, -0.075627721030637390, -0.075677577742232813, -0.075727434264633825, -0.075777290597716263, -0.075827146741355475, -0.075877002695427256, +-0.075926858459806096, -0.075976714034367787, -0.076026569418987694, -0.076076424613541610, -0.076126279617904039, -0.076176134431950759, -0.076225989055557150, -0.076275843488599004, +-0.076325697730950798, -0.076375551782488366, -0.076425405643087044, -0.076475259312622654, -0.076525112790969671, -0.076574966078003903, -0.076624819173601172, -0.076674672077635939, +-0.076724524789984039, -0.076774377310520822, -0.076824229639122096, -0.076874081775662365, -0.076923933720017421, -0.076973785472062642, -0.077023637031673850, -0.077073488398725520, +-0.077123339573093461, -0.077173190554653062, -0.077223041343280133, -0.077272891938849148, -0.077322742341235942, -0.077372592550315866, -0.077422442565964769, -0.077472292388057112, +-0.077522142016468731, -0.077571991451075434, -0.077621840691751709, -0.077671689738373392, -0.077721538590815847, -0.077771387248954896, -0.077821235712665041, -0.077871083981822090, +-0.077920932056301434, -0.077970779935978882, -0.078020627620728950, -0.078070475110427445, -0.078120322404949746, -0.078170169504171688, -0.078220016407967760, -0.078269863116213798, +-0.078319709628785178, -0.078369555945557723, -0.078419402066405935, -0.078469247991205637, -0.078519093719832234, -0.078568939252161518, -0.078618784588068036, -0.078668629727427580, +-0.078718474670115987, -0.078768319416007773, -0.078818163964978760, -0.078868008316904326, -0.078917852471660319, -0.078967696429121242, -0.079017540189162933, -0.079067383751660766, +-0.079117227116490579, -0.079167070283526875, -0.079216913252645516, -0.079266756023721852, -0.079316598596631746, -0.079366440971249716, -0.079416283147451569, -0.079466125125113155, +-0.079515966904108989, -0.079565808484314909, -0.079615649865606306, -0.079665491047859027, -0.079715332030947578, -0.079765172814747792, -0.079815013399135076, -0.079864853783985265, +-0.079914693969172876, -0.079964533954573758, -0.080014373740063302, -0.080064213325517358, -0.080114052710810443, -0.080163891895818393, -0.080213730880416598, -0.080263569664480935, +-0.080313408247885895, -0.080363246630507340, -0.080413084812220675, -0.080462922792901737, -0.080512760572425041, -0.080562598150666451, -0.080612435527501802, -0.080662272702805626, +-0.080712109676453772, -0.080761946448321645, -0.080811783018285080, -0.080861619386218636, -0.080911455551998121, -0.080961291515498982, -0.081011127276597053, -0.081060962835166867, +-0.081110798191084271, -0.081160633344224672, -0.081210468294463947, -0.081260303041676599, -0.081310137585738490, -0.081359971926525040, -0.081409806063912113, -0.081459639997774225, +-0.081509473727987225, -0.081559307254426547, -0.081609140576968053, -0.081658973695486248, -0.081708806609857021, -0.081758639319956222, -0.081808471825658369, -0.081858304126839351, +-0.081908136223374561, -0.081957968115139876, -0.082007799802009840, -0.082057631283860288, -0.082107462560566669, -0.082157293632004830, -0.082207124498049317, -0.082256955158575992, +-0.082306785613460276, -0.082356615862578045, -0.082406445905803830, -0.082456275743013493, -0.082506105374082914, -0.082555934798886635, -0.082605764017300506, -0.082655593029199975, +-0.082705421834460904, -0.082755250432957839, -0.082805078824566655, -0.082854907009162759, -0.082904734986622042, -0.082954562756819047, -0.083004390319629640, -0.083054217674929265, +-0.083104044822593787, -0.083153871762497750, -0.083203698494517031, -0.083253525018527078, -0.083303351334403752, -0.083353177442021600, -0.083403003341256499, -0.083452829031983894, +-0.083502654514079663, -0.083552479787418352, -0.083602304851875850, -0.083652129707328007, -0.083701954353649410, -0.083751778790715936, -0.083801603018403004, -0.083851427036586504, +-0.083901250845141009, -0.083951074443942370, -0.084000897832866059, -0.084050721011787927, -0.084100543980582573, -0.084150366739125848, -0.084200189287293198, -0.084250011624960527, +-0.084299833752002382, -0.084349655668294651, -0.084399477373712783, -0.084449298868132669, -0.084499120151428866, -0.084548941223477253, -0.084598762084153289, -0.084648582733332867, +-0.084698403170890543, -0.084748223396702210, -0.084798043410643759, -0.084847863212589761, -0.084897682802416108, -0.084947502179998247, -0.084997321345212068, -0.085047140297932144, +-0.085096959038034381, -0.085146777565394210, -0.085196595879887538, -0.085246413981388935, -0.085296231869774294, -0.085346049544919075, -0.085395867006699169, -0.085445684254989163, +-0.085495501289664946, -0.085545318110602411, -0.085595134717676144, -0.085644951110762035, -0.085694767289735560, -0.085744583254472595, -0.085794399004847741, -0.085844214540736888, +-0.085894029862015484, -0.085943844968559460, -0.085993659860243390, -0.086043474536943151, -0.086093288998534245, -0.086143103244892549, -0.086192917275892650, -0.086242731091410452, +-0.086292544691321443, -0.086342358075501502, -0.086392171243825228, -0.086441984196168525, -0.086491796932406870, -0.086541609452416152, -0.086591421756070971, -0.086641233843247234, +-0.086691045713820872, -0.086740857367666430, -0.086790668804659854, -0.086840480024676606, -0.086890291027592603, -0.086940101813282433, -0.086989912381622000, -0.087039722732486793, +-0.087089532865752717, -0.087139342781294371, -0.087189152478987661, -0.087238961958708075, -0.087288771220331532, -0.087338580263732604, -0.087388389088787238, -0.087438197695370895, +-0.087488006083359507, -0.087537814252627646, -0.087587622203051260, -0.087637429934506253, -0.087687237446867239, -0.087737044740010137, -0.087786851813810407, -0.087836658668143996, +-0.087886465302885491, -0.087936271717910838, -0.087986077913095498, -0.088035883888315403, -0.088085689643445153, -0.088135495178360682, -0.088185300492937477, -0.088235105587051457, +-0.088284910460577223, -0.088334715113390735, -0.088384519545367440, -0.088434323756383298, -0.088484127746312896, -0.088533931515032194, -0.088583735062417082, -0.088633538388342203, +-0.088683341492683476, -0.088733144375316403, -0.088782947036116902, -0.088832749474959588, -0.088882551691720407, -0.088932353686274848, -0.088982155458498843, -0.089031957008267007, +-0.089081758335455272, -0.089131559439939154, -0.089181360321594572, -0.089231160980296154, -0.089280961415919832, -0.089330761628341096, -0.089380561617435905, -0.089430361383078874, +-0.089480160925145935, -0.089529960243512591, -0.089579759338054787, -0.089629558208647153, -0.089679356855165607, -0.089729155277486122, -0.089778953475483314, -0.089828751449033115, +-0.089878549198011026, -0.089928346722293023, -0.089978144021753706, -0.090027941096269021, -0.090077737945714498, -0.090127534569966056, -0.090177330968898350, -0.090227127142387301, +-0.090276923090308450, -0.090326718812537732, -0.090376514308949760, -0.090426309579420522, -0.090476104623825493, -0.090525899442040647, -0.090575694033940626, -0.090625488399401349, +-0.090675282538298804, -0.090725076450507619, -0.090774870135903726, -0.090824663594362670, -0.090874456825760383, -0.090924249829971521, -0.090974042606872044, -0.091023835156337454, +-0.091073627478243713, -0.091123419572465461, -0.091173211438878660, -0.091223003077358839, -0.091272794487781944, -0.091322585670022619, -0.091372376623956836, -0.091422167349460112, +-0.091471957846408408, -0.091521748114676379, -0.091571538154139959, -0.091621327964675148, -0.091671117546156575, -0.091720906898460214, -0.091770696021461567, -0.091820484915036638, +-0.091870273579060052, -0.091920062013407786, -0.091969850217955354, -0.092019638192578745, -0.092069425937152602, -0.092119213451552884, -0.092169000735655135, -0.092218787789335330, +-0.092268574612468124, -0.092318361204929464, -0.092368147566594908, -0.092417933697340429, -0.092467719597040671, -0.092517505265571606, -0.092567290702808780, -0.092617075908628180, +-0.092666860882904434, -0.092716645625513544, -0.092766430136331485, -0.092816214415232912, -0.092865998462093799, -0.092915782276789677, -0.092965565859196561, -0.093015349209189080, +-0.093065132326643221, -0.093114915211434529, -0.093164697863439005, -0.093214480282531278, -0.093264262468587364, -0.093314044421482792, -0.093363826141093550, -0.093413607627294296, +-0.093463388879961029, -0.093513169898969725, -0.093562950684195054, -0.093612731235513016, -0.093662511552799144, -0.093712291635929437, -0.093762071484778553, -0.093811851099222493, +-0.093861630479136815, -0.093911409624397493, -0.093961188534879211, -0.094010967210457944, -0.094060745651009275, -0.094110523856409167, -0.094160301826532330, -0.094210079561254725, +-0.094259857060451924, -0.094309634323999914, -0.094359411351773378, -0.094409188143648320, -0.094458964699500297, -0.094508741019205297, -0.094558517102638004, -0.094608292949674419, +-0.094658068560190545, -0.094707843934061051, -0.094757619071161953, -0.094807393971368809, -0.094857168634557607, -0.094906943060603058, -0.094956717249381151, -0.095006491200767443, +-0.095056264914637950, -0.095106038390867356, -0.095155811629331663, -0.095205584629906442, -0.095255357392467710, -0.095305129916890136, -0.095354902203049735, -0.095404674250822080, +-0.095454446060083187, -0.095504217630707725, -0.095553988962571723, -0.095603760055550754, -0.095653530909520820, -0.095703301524356618, -0.095753071899934178, -0.095802842036129487, +-0.095852611932817244, -0.095902381589873478, -0.095952151007173761, -0.096001920184594094, -0.096051689122009204, -0.096101457819295077, -0.096151226276327315, -0.096200994492981917, +-0.096250762469133597, -0.096300530204658383, -0.096350297699431819, -0.096400064953329978, -0.096449831966227514, -0.096499598738000486, -0.096549365268524895, -0.096599131557675438, +-0.096648897605328174, -0.096698663411358646, -0.096748428975642911, -0.096798194298055668, -0.096847959378472931, -0.096897724216770301, -0.096947488812823793, -0.096997253166508118, +-0.097047017277699321, -0.097096781146272987, -0.097146544772105131, -0.097196308155070479, -0.097246071295045047, -0.097295834191904434, -0.097345596845524685, -0.097395359255780509, +-0.097445121422547923, -0.097494883345702540, -0.097544645025120391, -0.097594406460676186, -0.097644167652245956, -0.097693928599705757, -0.097743689302930301, -0.097793449761795617, +-0.097843209976177306, -0.097892969945951411, -0.097942729670992656, -0.097992489151177073, -0.098042248386380260, -0.098092007376478274, -0.098141766121345828, -0.098191524620858978, +-0.098241282874893296, -0.098291040883324854, -0.098340798646028377, -0.098390556162879894, -0.098440313433755033, -0.098490070458529824, -0.098539827237078992, -0.098589583769278594, +-0.098639340055004243, -0.098689096094131970, -0.098738851886536527, -0.098788607432093958, -0.098838362730680307, -0.098888117782170298, -0.098937872586440004, -0.098987627143365023, +-0.099037381452821427, -0.099087135514683927, -0.099136889328828595, -0.099186642895131030, -0.099236396213467304, -0.099286149283712141, -0.099335902105741614, -0.099385654679431334, +-0.099435407004657347, -0.099485159081294405, -0.099534910909218566, -0.099584662488305900, -0.099634413818431120, -0.099684164899470323, -0.099733915731299097, -0.099783666313793540, +-0.099833416646828363, -0.099883166730279652, -0.099932916564023019, -0.099982666147934537, -0.100032415481888940, -0.100082164565762330, -0.100131913399430280, -0.100181661982768900, +-0.100231410315652930, -0.100281158397958430, -0.100330906229561020, -0.100380653810336800, -0.100430401140160510, -0.100480148218908200, -0.100529895046455530, -0.100579641622678570, +-0.100629387947452050, -0.100679134020652070, -0.100728879842154700, -0.100778625411834670, -0.100828370729568100, -0.100878115795230590, -0.100927860608698240, -0.100977605169845790, +-0.101027349478549330, -0.101077093534684480, -0.101126837338127360, -0.101176580888752700, -0.101226324186436580, -0.101276067231054660, -0.101325810022483000, -0.101375552560596400, +-0.101425294845270890, -0.101475036876382150, -0.101524778653806270, -0.101574520177418000, -0.101624261447093430, -0.101674002462708630, -0.101723743224138390, -0.101773483731258800, +-0.101823223983945500, -0.101872963982074590, -0.101922703725520810, -0.101972443214160280, -0.102022182447868630, -0.102071921426521980, -0.102121660149995090, -0.102171398618164040, +-0.102221136830904490, -0.102270874788092550, -0.102320612489602970, -0.102370349935311870, -0.102420087125094890, -0.102469824058828120, -0.102519560736386360, -0.102569297157645710, +-0.102619033322482250, -0.102668769230770760, -0.102718504882387360, -0.102768240277207680, -0.102817975415107860, -0.102867710295962640, -0.102917444919648160, -0.102967179286040060, +-0.103016913395014450, -0.103066647246446120, -0.103116380840211170, -0.103166114176185280, -0.103215847254244530, -0.103265580074263730, -0.103315312636118970, -0.103365044939685930, +-0.103414776984840720, -0.103464508771458140, -0.103514240299414280, -0.103563971568584810, -0.103613702578845860, -0.103663433330072220, -0.103713163822139990, -0.103762894054925280, +-0.103812624028302910, -0.103862353742148970, -0.103912083196339160, -0.103961812390749570, -0.104011541325255020, -0.104061269999731600, -0.104110998414055010, -0.104160726568101370, +-0.104210454461745470, -0.104260182094863430, -0.104309909467330940, -0.104359636579024130, -0.104409363429817770, -0.104459090019588000, -0.104508816348210510, -0.104558542415561420, +-0.104608268221515530, -0.104657993765948980, -0.104707719048737880, -0.104757444069757040, -0.104807168828882590, -0.104856893325990230, -0.104906617560956070, -0.104956341533654920, +-0.105006065243962910, -0.105055788691755750, -0.105105511876909560, -0.105155234799299140, -0.105204957458800640, -0.105254679855289730, -0.105304401988642590, -0.105354123858733980, +-0.105403845465440070, -0.105453566808636550, -0.105503287888199540, -0.105553008704003890, -0.105602729255925700, -0.105652449543841150, -0.105702169567625020, -0.105751889327153460, +-0.105801608822302190, -0.105851328052947320, -0.105901047018963700, -0.105950765720227480, -0.106000484156614320, -0.106050202328000400, -0.106099920234260540, -0.106149637875270870, +-0.106199355250907110, -0.106249072361045400, -0.106298789205560570, -0.106348505784328760, -0.106398222097225700, -0.106447938144127520, -0.106497653924909050, -0.106547369439446440, +-0.106597084687615420, -0.106646799669292120, -0.106696514384351390, -0.106746228832669360, -0.106795943014122210, -0.106845656928584750, -0.106895370575933170, -0.106945083956043140, +-0.106994797068790850, -0.107044509914051120, -0.107094222491700130, -0.107143934801613580, -0.107193646843667630, -0.107243358617737110, -0.107293070123698210, -0.107342781361426620, +-0.107392492330798530, -0.107442203031688760, -0.107491913463973490, -0.107541623627528430, -0.107591333522229770, -0.107641043147952320, -0.107690752504572260, -0.107740461591965760, +-0.107790170410007670, -0.107839878958574160, -0.107889587237540940, -0.107939295246784210, -0.107989002986178780, -0.108038710455600860, -0.108088417654926150, -0.108138124584030840, +-0.108187831242789790, -0.108237537631079140, -0.108287243748774660, -0.108336949595752520, -0.108386655171887540, -0.108436360477055950, -0.108486065511133430, -0.108535770273996220, +-0.108585474765519120, -0.108635178985578340, -0.108684882934050060, -0.108734586610809120, -0.108784290015731710, -0.108833993148693590, -0.108883696009570920, -0.108933398598238570, +-0.108983100914572720, -0.109032802958449120, -0.109082504729743970, -0.109132206228332100, -0.109181907454089720, -0.109231608406892570, -0.109281309086616830, -0.109331009493137380, +-0.109380709626330420, -0.109430409486071680, -0.109480109072237350, -0.109529808384702320, -0.109579507423342760, -0.109629206188034430, -0.109678904678653530, -0.109728602895074930, +-0.109778300837174810, -0.109827998504829380, -0.109877695897913520, -0.109927393016303430, -0.109977089859874840, -0.110026786428503970, -0.110076482722065700, -0.110126178740436220, +-0.110175874483491300, -0.110225569951107120, -0.110275265143158580, -0.110324960059521890, -0.110374654700072780, -0.110424349064687480, -0.110474043153240870, -0.110523736965609160, +-0.110573430501668540, -0.110623123761293910, -0.110672816744361450, -0.110722509450746960, -0.110772201880326650, -0.110821894032975390, -0.110871585908569380, -0.110921277506984410, +-0.110970968828096710, -0.111020659871781110, -0.111070350637913890, -0.111120041126370780, -0.111169731337028010, -0.111219421269760480, -0.111269110924444390, -0.111318800300955510, +-0.111368489399170090, -0.111418178218962990, -0.111467866760210450, -0.111517555022788250, -0.111567243006572600, -0.111616930711438400, -0.111666618137261860, -0.111716305283919240, +-0.111765992151285400, -0.111815678739236590, -0.111865365047648570, -0.111915051076397580, -0.111964736825358540, -0.112014422294407640, -0.112064107483420690, -0.112113792392273910, +-0.112163477020842210, -0.112213161369001820, -0.112262845436628520, -0.112312529223598560, -0.112362212729786830, -0.112411895955069560, -0.112461578899322550, -0.112511261562422040, +-0.112560943944242940, -0.112610626044661470, -0.112660307863553450, -0.112709989400795090, -0.112759670656261320, -0.112809351629828370, -0.112859032321372480, -0.112908712730768570, +-0.112958392857892890, -0.113008072702621210, -0.113057752264829790, -0.113107431544393550, -0.113157110541188740, -0.113206789255091160, -0.113256467685977020, -0.113306145833721300, +-0.113355823698200200, -0.113405501279289540, -0.113455178576865570, -0.113504855590803210, -0.113554532320978730, -0.113604208767268340, -0.113653884929546990, -0.113703560807690940, +-0.113753236401575970, -0.113802911711078360, -0.113852586736073030, -0.113902261476436230, -0.113951935932043780, -0.114001610102771930, -0.114051283988495610, -0.114100957589091080, +-0.114150630904434160, -0.114200303934401100, -0.114249976678866840, -0.114299649137707640, -0.114349321310799320, -0.114398993198018130, -0.114448664799239030, -0.114498336114338270, +-0.114548007143191650, -0.114597677885675460, -0.114647348341664640, -0.114697018511035450, -0.114746688393664140, -0.114796357989425680, -0.114846027298196330, -0.114895696319851900, +-0.114945365054268680, -0.114995033501321610, -0.115044701660886940, -0.115094369532840520, -0.115144037117058630, -0.115193704413416200, -0.115243371421789500, -0.115293038142054380, +-0.115342704574087100, -0.115392370717762640, -0.115442036572957220, -0.115491702139546720, -0.115541367417407420, -0.115591032406414250, -0.115640697106443490, -0.115690361517371440, +-0.115740025639073050, -0.115789689471424580, -0.115839353014301900, -0.115889016267581270, -0.115938679231137670, -0.115988341904847360, -0.116038004288586200, -0.116087666382230480, +-0.116137328185655130, -0.116186989698736480, -0.116236650921350340, -0.116286311853373030, -0.116335972494679490, -0.116385632845146010, -0.116435292904648460, -0.116484952673063120, +-0.116534612150264960, -0.116584271336130270, -0.116633930230535320, -0.116683588833355130, -0.116733247144465950, -0.116782905163743660, -0.116832562891064560, -0.116882220326303590, +-0.116931877469337090, -0.116981534320040880, -0.117031190878291280, -0.117080847143963260, -0.117130503116933130, -0.117180158797076740, -0.117229814184270390, -0.117279469278389060, +-0.117329124079309070, -0.117378778586906260, -0.117428432801056940, -0.117478086721636110, -0.117527740348520050, -0.117577393681584650, -0.117627046720706200, -0.117676699465759700, +-0.117726351916621450, -0.117776004073167750, -0.117825655935273610, -0.117875307502815330, -0.117924958775668780, -0.117974609753710270, -0.118024260436814800, -0.118073910824858670, +-0.118123560917717770, -0.118173210715268410, -0.118222860217385580, -0.118272509423945600, -0.118322158334824350, -0.118371806949898140, -0.118421455269041960, -0.118471103292132160, +-0.118520751019044610, -0.118570398449655600, -0.118620045583840160, -0.118669692421474610, -0.118719338962435280, -0.118768985206597150, -0.118818631153836550, -0.118868276804029380, +-0.118917922157051960, -0.118967567212779290, -0.119017211971087710, -0.119066856431853090, -0.119116500594951780, -0.119166144460258780, -0.119215788027650400, -0.119265431297002570, +-0.119315074268191590, -0.119364716941092490, -0.119414359315581590, -0.119464001391534800, -0.119513643168828440, -0.119563284647337540, -0.119612925826938430, -0.119662566707507440, +-0.119712207288919580, -0.119761847571051220, -0.119811487553778240, -0.119861127236976980, -0.119910766620522450, -0.119960405704291020, -0.120010044488158570, -0.120059682972001450, +-0.120109321155694670, -0.120158959039114610, -0.120208596622137130, -0.120258233904638610, -0.120307870886494070, -0.120357507567579850, -0.120407143947771860, -0.120456780026946440, +-0.120506415804978630, -0.120556051281744790, -0.120605686457120830, -0.120655321330983080, -0.120704955903206600, -0.120754590173667710, -0.120804224142242800, -0.120853857808806880, +-0.120903491173236330, -0.120953124235407040, -0.121002756995195390, -0.121052389452476390, -0.121102021607126420, -0.121151653459021420, -0.121201285008037700, -0.121250916254050340, +-0.121300547196935680, -0.121350177836569660, -0.121399808172828640, -0.121449438205587650, -0.121499067934723070, -0.121548697360110810, -0.121598326481627260, -0.121647955299147440, +-0.121697583812547750, -0.121747212021704530, -0.121796839926492840, -0.121846467526789060, -0.121896094822469090, -0.121945721813409350, -0.121995348499484850, -0.122044974880571980, +-0.122094600956546660, -0.122144226727285300, -0.122193852192662920, -0.122243477352555920, -0.122293102206840210, -0.122342726755392190, -0.122392350998086930, -0.122441974934800770, +-0.122491598565409680, -0.122541221889790040, -0.122590844907816910, -0.122640467619366660, -0.122690090024315680, -0.122739712122539040, -0.122789333913913110, -0.122838955398313850, +-0.122888576575617640, -0.122938197445699550, -0.122987818008435970, -0.123037438263702840, -0.123087058211376550, -0.123136677851332190, -0.123186297183446130, -0.123235916207594320, +-0.123285534923653170, -0.123335153331497730, -0.123384771431004420, -0.123434389222049160, -0.123484006704508390, -0.123533623878257160, -0.123583240743171850, -0.123632857299128460, +-0.123682473546003370, -0.123732089483671630, -0.123781705112009700, -0.123831320430893930, -0.123880935440199420, -0.123930550139802560, -0.123980164529579340, -0.124029778609406140, +-0.124079392379158060, -0.124129005838711490, -0.124178618987942410, -0.124228231826727240, -0.124277844354941030, -0.124327456572460210, -0.124377068479160760, -0.124426680074919070, +-0.124476291359610230, -0.124525902333110690, -0.124575512995296820, -0.124625123346043710, -0.124674733385227820, -0.124724343112725080, -0.124773952528411920, -0.124823561632163450, +-0.124873170423856070, -0.124922778903365760, -0.124972387070568940, -0.125021994925340720, -0.125071602467557520, -0.125121209697095310, -0.125170816613830500, -0.125220423217638240, +-0.125270029508394890, -0.125319635485976490, -0.125369241150259410, -0.125418846501118810, -0.125468451538431110, -0.125518056262072240, -0.125567660671918710, -0.125617264767845570, +-0.125666868549729280, -0.125716472017446230, -0.125766075170871570, -0.125815678009881750, -0.125865280534352700, -0.125914882744160910, -0.125964484639181470, -0.126014086219290810, +-0.126063687484364940, -0.126113288434280300, -0.126162889068911990, -0.126212489388136450, -0.126262089391829670, -0.126311689079868140, -0.126361288452126940, -0.126410887508482530, +-0.126460486248810870, -0.126510084672988470, -0.126559682780890390, -0.126609280572393120, -0.126658878047372640, -0.126708475205705410, -0.126758072047266550, -0.126807668571932510, +-0.126857264779579730, -0.126906860670083360, -0.126956456243319830, -0.127006051499165160, -0.127055646437495810, -0.127105241058186910, -0.127154835361114880, -0.127204429346155780, +-0.127254023013186060, -0.127303616362080820, -0.127353209392716550, -0.127402802104969240, -0.127452394498715400, -0.127501986573830110, -0.127551578330189850, -0.127601169767671080, +-0.127650760886148960, -0.127700351685499920, -0.127749942165600040, -0.127799532326325710, -0.127849122167552120, -0.127898711689155730, -0.127948300891012560, -0.127997889772999060, +-0.128047478334990390, -0.128097066576863040, -0.128146654498493050, -0.128196242099756830, -0.128245829380529560, -0.128295416340687750, -0.128345002980107370, -0.128394589298664930, +-0.128444175296235590, -0.128493760972695800, -0.128543346327921610, -0.128592931361789480, -0.128642516074174600, -0.128692100464953410, -0.128741684534002420, -0.128791268281196800, +-0.128840851706412990, -0.128890434809527050, -0.128940017590415460, -0.128989600048953410, -0.129039182185017340, -0.129088763998483290, -0.129138345489227810, -0.129187926657126000, +-0.129237507502054400, -0.129287088023889000, -0.129336668222506330, -0.129386248097781570, -0.129435827649591190, -0.129485406877811210, -0.129534985782318170, -0.129584564362987240, +-0.129634142619694890, -0.129683720552317170, -0.129733298160730590, -0.129782875444810320, -0.129832452404432890, -0.129882029039474740, -0.129931605349811100, -0.129981181335318440, +-0.130030756995872830, -0.130080332331350750, -0.130129907341627410, -0.130179482026579310, -0.130229056386082480, -0.130278630420013470, -0.130328204128247440, -0.130377777510660900, +-0.130427350567129920, -0.130476923297530990, -0.130526495701739330, -0.130576067779631410, -0.130625639531083780, -0.130675210955971590, -0.130724782054171400, -0.130774352825559240, +-0.130823923270011630, -0.130873493387403780, -0.130923063177612210, -0.130972632640512980, -0.131022201775982590, -0.131071770583896270, -0.131121339064130510, -0.131170907216561410, +-0.131220475041065490, -0.131270042537517920, -0.131319609705795260, -0.131369176545773570, -0.131418743057329400, -0.131468309240337890, -0.131517875094675660, -0.131567440620218690, +-0.131617005816843600, -0.131666570684425530, -0.131716135222841040, -0.131765699431966670, -0.131815263311677590, -0.131864826861850360, -0.131914390082361050, -0.131963952973086220, +-0.132013515533901060, -0.132063077764682120, -0.132112639665305480, -0.132162201235647670, -0.132211762475583940, -0.132261323384990780, -0.132310883963744320, -0.132360444211721110, +-0.132410004128796330, -0.132459563714846550, -0.132509122969748290, -0.132558681893376770, -0.132608240485608570, -0.132657798746319750, -0.132707356675386440, -0.132756914272685180, +-0.132806471538091220, -0.132856028471481040, -0.132905585072731260, -0.132955141341717040, -0.133004697278315010, -0.133054252882401220, -0.133103808153852230, -0.133153363092543280, +-0.133202917698350940, -0.133252471971151280, -0.133302025910820880, -0.133351579517235000, -0.133401132790270160, -0.133450685729802480, -0.133500238335708540, -0.133549790607863570, +-0.133599342546144110, -0.133648894150426720, -0.133698445420586680, -0.133747996356500500, -0.133797546958044360, -0.133847097225094770, -0.133896647157527000, -0.133946196755217630, +-0.133995746018042760, -0.134045294945878940, -0.134094843538601460, -0.134144391796086890, -0.134193939718211310, -0.134243487304851330, -0.134293034555882210, -0.134342581471180500, +-0.134392128050622310, -0.134441674294084270, -0.134491220201441580, -0.134540765772570870, -0.134590311007348220, -0.134639855905650250, -0.134689400467352170, -0.134738944692330610, +-0.134788488580462130, -0.134838032131621990, -0.134887575345686770, -0.134937118222532600, -0.134986660762036080, -0.135036202964072480, -0.135085744828518340, -0.135135286355249880, +-0.135184827544143630, -0.135234368395074860, -0.135283908907920160, -0.135333449082555710, -0.135382988918858080, -0.135432528416702530, -0.135482067575965650, -0.135531606396524030, +-0.135581144878252980, -0.135630683021029070, -0.135680220824728440, -0.135729758289227260, -0.135779295414402120, -0.135828832200128310, -0.135878368646282420, -0.135927904752741050, +-0.135977440519379460, -0.136026975946074300, -0.136076511032701660, -0.136126045779138200, -0.136175580185259220, -0.136225114250941250, -0.136274647976060510, -0.136324181360493570, +-0.136373714404115750, -0.136423247106803650, -0.136472779468433420, -0.136522311488881690, -0.136571843168023730, -0.136621374505736190, -0.136670905501895620, -0.136720436156377360, +-0.136769966469058010, -0.136819496439813750, -0.136869026068521190, -0.136918555355055620, -0.136968084299293660, -0.137017612901111500, -0.137067141160385740, -0.137116669076991690, +-0.137166196650805950, -0.137215723881704720, -0.137265250769564640, -0.137314777314260980, -0.137364303515670390, -0.137413829373669030, -0.137463354888133550, -0.137512880058939220, +-0.137562404885962690, -0.137611929369080180, -0.137661453508168250, -0.137710977303102280, -0.137760500753758840, -0.137810023860014590, -0.137859546621744850, -0.137909069038826240, +-0.137958591111134980, -0.138008112838547640, -0.138057634220939610, -0.138107155258187480, -0.138156675950167480, -0.138206196296756210, -0.138255716297829010, -0.138305235953262520, +-0.138354755262932950, -0.138404274226716920, -0.138453792844489780, -0.138503311116128150, -0.138552829041508670, -0.138602346620506690, -0.138651863852998850, -0.138701380738861350, +-0.138750897277970820, -0.138800413470202640, -0.138849929315433380, -0.138899444813539330, -0.138948959964397100, -0.138998474767882020, -0.139047989223870770, -0.139097503332239550, +-0.139147017092865010, -0.139196530505622470, -0.139246043570388610, -0.139295556287039630, -0.139345068655452240, -0.139394580675501700, -0.139444092347064730, -0.139493603670017510, +-0.139543114644236720, -0.139592625269597730, -0.139642135545977150, -0.139691645473251690, -0.139741155051296670, -0.139790664279988760, -0.139840173159204190, -0.139889681688819630, +-0.139939189868710400, -0.139988697698753220, -0.140038205178824320, -0.140087712308800290, -0.140137219088556590, -0.140186725517969820, -0.140236231596916230, -0.140285737325272520, +-0.140335242702914000, -0.140384747729717400, -0.140434252405558930, -0.140483756730315270, -0.140533260703861770, -0.140582764326075110, -0.140632267596831530, -0.140681770516007750, +-0.140731273083479070, -0.140780775299122250, -0.140830277162813900, -0.140879778674429440, -0.140929279833845510, -0.140978780640938380, -0.141028281095584770, -0.141077781197659980, +-0.141127280947040770, -0.141176780343603340, -0.141226279387224400, -0.141275778077779330, -0.141325276415144810, -0.141374774399197070, -0.141424272029812860, -0.141473769306867560, +-0.141523266230237780, -0.141572762799800300, -0.141622259015430490, -0.141671754877005010, -0.141721250384400140, -0.141770745537492610, -0.141820240336157750, -0.141869734780272320, +-0.141919228869712530, -0.141968722604355110, -0.142018215984075440, -0.142067709008750240, -0.142117201678255760, -0.142166693992468700, -0.142216185951264510, -0.142265677554519830, +-0.142315168802110950, -0.142364659693914600, -0.142414150229806140, -0.142463640409662310, -0.142513130233359400, -0.142562619700774080, -0.142612108811781800, -0.142661597566259210, +-0.142711085964083080, -0.142760574005128820, -0.142810061689273100, -0.142859549016392220, -0.142909035986362930, -0.142958522599060610, -0.143008008854361960, -0.143057494752143300, +-0.143106980292281360, -0.143156465474651500, -0.143205950299130500, -0.143255434765594600, -0.143304918873920580, -0.143354402623983800, -0.143403886015661040, -0.143453369048828550, +-0.143502851723363080, -0.143552334039140030, -0.143601815996036160, -0.143651297593927750, -0.143700778832691530, -0.143750259712202900, -0.143799740232338660, -0.143849220392975490, +-0.143898700193988820, -0.143948179635255410, -0.143997658716651540, -0.144047137438054000, -0.144096615799338130, -0.144146093800380760, -0.144195571441058130, -0.144245048721247020, +-0.144294525640822850, -0.144344002199662370, -0.144393478397641880, -0.144442954234638130, -0.144492429710526560, -0.144541904825183890, -0.144591379578486940, -0.144640853970311070, +-0.144690328000533080, -0.144739801669029280, -0.144789274975676400, -0.144838747920349900, -0.144888220502926520, -0.144937692723282580, -0.144987164581294880, -0.145036636076838810, +-0.145086107209791150, -0.145135577980028210, -0.145185048387426800, -0.145234518431862300, -0.145283988113211500, -0.145333457431350730, -0.145382926386156800, -0.145432394977505070, +-0.145481863205272370, -0.145531331069335000, -0.145580798569569740, -0.145630265705852050, -0.145679732478058710, -0.145729198886066470, -0.145778664929750780, -0.145828130608988440, +-0.145877595923655760, -0.145927060873629550, -0.145976525458785260, -0.146025989678999630, -0.146075453534149020, -0.146124917024110230, -0.146174380148758720, -0.146223842907971250, +-0.146273305301624160, -0.146322767329594230, -0.146372228991756980, -0.146421690287989150, -0.146471151218167530, -0.146520611782167580, -0.146570071979866130, -0.146619531811139460, +-0.146668991275864000, -0.146718450373916480, -0.146767909105172400, -0.146817367469508550, -0.146866825466801710, -0.146916283096927360, -0.146965740359762310, -0.147015197255182940, +-0.147064653783065990, -0.147114109943286970, -0.147163565735722670, -0.147213021160249450, -0.147262476216744130, -0.147311930905082180, -0.147361385225140390, -0.147410839176795150, +-0.147460292759923230, -0.147509745974400170, -0.147559198820102740, -0.147608651296907730, -0.147658103404690650, -0.147707555143328340, -0.147757006512697130, -0.147806457512673850, +-0.147855908143133980, -0.147905358403954330, -0.147954808295011290, -0.148004257816181680, -0.148053706967340960, -0.148103155748365990, -0.148152604159133140, -0.148202052199519210, +-0.148251499869399730, -0.148300947168651470, -0.148350394097150840, -0.148399840654774680, -0.148449286841398490, -0.148498732656899060, -0.148548178101152810, -0.148597623174036550, +-0.148647067875425810, -0.148696512205197360, -0.148745956163228110, -0.148795399749393510, -0.148844842963570420, -0.148894285805635210, -0.148943728275464730, -0.148993170372934500, +-0.149042612097921330, -0.149092053450301630, -0.149141494429952250, -0.149190935036748680, -0.149240375270567800, -0.149289815131285950, -0.149339254618780000, -0.149388693732925510, +-0.149438132473599240, -0.149487570840678120, -0.149537008834037620, -0.149586446453554590, -0.149635883699105440, -0.149685320570566580, -0.149734757067814860, -0.149784193190725830, +-0.149833628939176290, -0.149883064313043130, -0.149932499312201870, -0.149981933936529370, -0.150031368185902010, -0.150080802060196690, -0.150130235559288920, -0.150179668683055570, +-0.150229101431373020, -0.150278533804118180, -0.150327965801166560, -0.150377397422395030, -0.150426828667680010, -0.150476259536898360, -0.150525690029925610, -0.150575120146638620, +-0.150624549886914290, -0.150673979250628140, -0.150723408237657060, -0.150772836847877430, -0.150822265081166170, -0.150871692937398800, -0.150921120416452200, -0.150970547518202800, +-0.151019974242527470, -0.151069400589301740, -0.151118826558402530, -0.151168252149706280, -0.151217677363089800, -0.151267102198428700, -0.151316526655599860, -0.151365950734479670, +-0.151415374434945070, -0.151464797756871580, -0.151514220700136090, -0.151563643264615080, -0.151613065450185380, -0.151662487256722570, -0.151711908684103560, -0.151761329732205210, +-0.151810750400903080, -0.151860170690074100, -0.151909590599594690, -0.151959010129341710, -0.152008429279190810, -0.152057848049018810, -0.152107266438702200, -0.152156684448117860, +-0.152206102077141360, -0.152255519325649620, -0.152304936193519090, -0.152354352680626640, -0.152403768786847860, -0.152453184512059690, -0.152502599856138980, -0.152552014818961330, +-0.152601429400403640, -0.152650843600342370, -0.152700257418654450, -0.152749670855215430, -0.152799083909902270, -0.152848496582591360, -0.152897908873159650, -0.152947320781482740, +-0.152996732307437540, -0.153046143450900480, -0.153095554211748530, -0.153144964589857240, -0.153194374585103540, -0.153243784197363900, -0.153293193426515260, -0.153342602272433180, +-0.153392010734994590, -0.153441418814075970, -0.153490826509554260, -0.153540233821305020, -0.153589640749205230, -0.153639047293131740, -0.153688453452960230, -0.153737859228567560, +-0.153787264619830250, -0.153836669626625210, -0.153886074248828050, -0.153935478486315720, -0.153984882338964710, -0.154034285806651900, -0.154083688889252970, -0.154133091586644790, +-0.154182493898703890, -0.154231895825307190, -0.154281297366330340, -0.154330698521650210, -0.154380099291143350, -0.154429499674686670, -0.154478899672155810, -0.154528299283427710, +-0.154577698508378850, -0.154627097346886180, -0.154676495798825340, -0.154725893864073260, -0.154775291542506880, -0.154824688834001830, -0.154874085738435060, -0.154923482255683060, +-0.154972878385622820, -0.155022274128129940, -0.155071669483081350, -0.155121064450353620, -0.155170459029823630, -0.155219853221367080, -0.155269247024860890, -0.155318640440181590, +-0.155368033467206120, -0.155417426105810140, -0.155466818355870590, -0.155516210217264420, -0.155565601689867300, -0.155614992773556170, -0.155664383468207550, -0.155713773773698410, +-0.155763163689904420, -0.155812553216702510, -0.155861942353969190, -0.155911331101581480, -0.155960719459415000, -0.156010107427346720, -0.156059495005253180, -0.156108882193011330, +-0.156158268990496840, -0.156207655397586690, -0.156257041414157390, -0.156306427040085900, -0.156355812275247950, -0.156405197119520440, -0.156454581572779940, -0.156503965634903430, +-0.156553349305766560, -0.156602732585246350, -0.156652115473219690, -0.156701497969562340, -0.156750880074151250, -0.156800261786862930, -0.156849643107574430, -0.156899024036161380, +-0.156948404572500750, -0.156997784716469110, -0.157047164467943450, -0.157096543826799440, -0.157145922792914060, -0.157195301366163890, -0.157244679546425900, -0.157294057333575790, +-0.157343434727490520, -0.157392811728046670, -0.157442188335121220, -0.157491564548589870, -0.157540940368329580, -0.157590315794216980, -0.157639690826129000, -0.157689065463941370, +-0.157738439707531070, -0.157787813556775100, -0.157837187011549170, -0.157886560071730270, -0.157935932737194970, -0.157985305007820290, -0.158034676883481880, -0.158084048364056820, +-0.158133419449421610, -0.158182790139453300, -0.158232160434027550, -0.158281530333021420, -0.158330899836311460, -0.158380268943774720, -0.158429637655286840, -0.158479005970724840, +-0.158528373889965800, -0.158577741412885390, -0.158627108539360600, -0.158676475269268060, -0.158725841602484760, -0.158775207538886440, -0.158824573078350070, -0.158873938220752270, +-0.158923302965970070, -0.158972667313879180, -0.159022031264356630, -0.159071394817279000, -0.159120757972523310, -0.159170120729965280, -0.159219483089481970, -0.159268845050949930, +-0.159318206614246230, -0.159367567779246570, -0.159416928545827980, -0.159466288913867080, -0.159515648883240910, -0.159565008453825150, -0.159614367625496880, -0.159663726398133140, +-0.159713084771609640, -0.159762442745803420, -0.159811800320591110, -0.159861157495849730, -0.159910514271455030, -0.159959870647284040, -0.160009226623213350, -0.160058582199120060, +-0.160107937374879860, -0.160157292150369810, -0.160206646525466540, -0.160256000500047100, -0.160305354073987190, -0.160354707247163940, -0.160404060019454310, -0.160453412390734130, +-0.160502764360880400, -0.160552115929769780, -0.160601467097278850, -0.160650817863284700, -0.160700168227663060, -0.160749518190291010, -0.160798867751045600, -0.160848216909802580, +-0.160897565666439010, -0.160946914020831560, -0.160996261972857210, -0.161045609522391800, -0.161094956669312370, -0.161144303413495530, -0.161193649754818370, -0.161242995693156670, +-0.161292341228387450, -0.161341686360387400, -0.161391031089033580, -0.161440375414201730, -0.161489719335768940, -0.161539062853612280, -0.161588405967607540, -0.161637748677631780, +-0.161687090983561650, -0.161736432885274230, -0.161785774382645300, -0.161835115475551930, -0.161884456163870760, -0.161933796447478880, -0.161983136326252110, -0.162032475800067470, +-0.162081814868801630, -0.162131153532331710, -0.162180491790533450, -0.162229829643284000, -0.162279167090459950, -0.162328504131938420, -0.162377840767595180, -0.162427176997307350, +-0.162476512820951570, -0.162525848238404960, -0.162575183249543290, -0.162624517854243640, -0.162673852052383160, -0.162723185843837600, -0.162772519228484100, -0.162821852206199270, +-0.162871184776860270, -0.162920516940342850, -0.162969848696524140, -0.163019180045280820, -0.163068510986489970, -0.163117841520027420, -0.163167171645770270, -0.163216501363595200, +-0.163265830673379300, -0.163315159574998370, -0.163364488068329570, -0.163413816153249960, -0.163463143829635390, -0.163512471097362940, -0.163561797956309350, -0.163611124406351230, +-0.163660450447365740, -0.163709776079228710, -0.163759101301817230, -0.163808426115008430, -0.163857750518678120, -0.163907074512703450, -0.163956398096961080, -0.164005721271328150, +-0.164055044035680500, -0.164104366389895230, -0.164153688333849020, -0.164203009867419060, -0.164252330990481120, -0.164301651702912360, -0.164350972004589480, -0.164400291895389600, +-0.164449611375188540, -0.164498930443863460, -0.164548249101291480, -0.164597567347348460, -0.164646885181911510, -0.164696202604857370, -0.164745519616063120, -0.164794836215404670, +-0.164844152402759130, -0.164893468178003180, -0.164942783541014020, -0.164992098491667460, -0.165041413029840630, -0.165090727155410290, -0.165140040868253570, -0.165189354168246320, +-0.165238667055265660, -0.165287979529188330, -0.165337291589891520, -0.165386603237251020, -0.165435914471144030, -0.165485225291447240, -0.165534535698037830, -0.165583845690791630, +-0.165633155269585830, -0.165682464434297570, -0.165731773184802730, -0.165781081520978420, -0.165830389442701450, -0.165879696949848910, -0.165929004042296710, -0.165978310719922000, +-0.166027616982601520, -0.166076922830212410, -0.166126228262630570, -0.166175533279733170, -0.166224837881396910, -0.166274142067499020, -0.166323445837915310, -0.166372749192523010, +-0.166422052131199260, -0.166471354653819960, -0.166520656760262260, -0.166569958450402900, -0.166619259724119120, -0.166668560581286730, -0.166717861021782930, -0.166767161045484500, +-0.166816460652268600, -0.166865759842011100, -0.166915058614589190, -0.166964356969879660, -0.167013654907759660, -0.167062952428105090, -0.167112249530793150, -0.167161546215700560, +-0.167210842482704570, -0.167260138331681020, -0.167309433762507120, -0.167358728775059670, -0.167408023369215790, -0.167457317544851440, -0.167506611301843800, -0.167555904640070060, +-0.167605197559406120, -0.167654490059729180, -0.167703782140916020, -0.167753073802843850, -0.167802365045388540, -0.167851655868427350, -0.167900946271836990, -0.167950236255494710, +-0.167999525819276410, -0.168048814963059290, -0.168098103686720120, -0.168147391990136150, -0.168196679873183240, -0.168245967335738660, -0.168295254377679140, -0.168344540998881910, +-0.168393827199222910, -0.168443112978579330, -0.168492398336828000, -0.168541683273846080, -0.168590967789509520, -0.168640251883695550, -0.168689535556281380, -0.168738818807142920, +-0.168788101636157430, -0.168837384043201700, -0.168886666028152920, -0.168935947590887060, -0.168985228731281300, -0.169034509449212500, -0.169083789744557840, -0.169133069617193290, +-0.169182349066996060, -0.169231628093842960, -0.169280906697611230, -0.169330184878176780, -0.169379462635416870, -0.169428739969208740, -0.169478016879428340, -0.169527293365952870, +-0.169576569428659200, -0.169625845067424510, -0.169675120282124810, -0.169724395072637290, -0.169773669438838760, -0.169822943380606520, -0.169872216897816480, -0.169921489990345900, +-0.169970762658071570, -0.170020034900870810, -0.170069306718619500, -0.170118578111194930, -0.170167849078473900, -0.170217119620333700, -0.170266389736650260, -0.170315659427300870, +-0.170364928692162300, -0.170414197531111870, -0.170463465944025480, -0.170512733930780450, -0.170562001491254000, -0.170611268625322140, -0.170660535332862070, -0.170709801613750680, +-0.170759067467865230, -0.170808332895081680, -0.170857597895277270, -0.170906862468328900, -0.170956126614113770, -0.171005390332507920, -0.171054653623388590, -0.171103916486632620, +-0.171153178922117290, -0.171202440929718590, -0.171251702509313790, -0.171300963660779710, -0.171350224383993670, -0.171399484678831650, -0.171448744545170890, -0.171498003982888280, +-0.171547262991861100, -0.171596521571965310, -0.171645779723078230, -0.171695037445077160, -0.171744294737838030, -0.171793551601238160, -0.171842808035154420, -0.171892064039464110, +-0.171941319614043190, -0.171990574758768970, -0.172039829473518310, -0.172089083758168530, -0.172138337612595590, -0.172187591036676800, -0.172236844030289050, -0.172286096593309620, +-0.172335348725614510, -0.172384600427081040, -0.172433851697586490, -0.172483102537006850, -0.172532352945219490, -0.172581602922101260, -0.172630852467529430, -0.172680101581380030, +-0.172729350263530400, -0.172778598513857380, -0.172827846332238300, -0.172877093718549170, -0.172926340672667290, -0.172975587194469590, -0.173024833283833330, -0.173074078940634590, +-0.173123324164750620, -0.173172568956058340, -0.173221813314435090, -0.173271057239756860, -0.173320300731900970, -0.173369543790744350, -0.173418786416164320, -0.173468028608036840, +-0.173517270366239320, -0.173566511690649070, -0.173615752581142090, -0.173664993037595750, -0.173714233059886900, -0.173763472647892910, -0.173812711801489800, -0.173861950520554920, +-0.173911188804965170, -0.173960426654597880, -0.174009664069329080, -0.174058901049036100, -0.174108137593595890, -0.174157373702885780, -0.174206609376781780, -0.174255844615161280, +-0.174305079417901160, -0.174354313784878760, -0.174403547715970160, -0.174452781211052680, -0.174502014270003250, -0.174551246892699240, -0.174600479079016660, -0.174649710828832880, +-0.174698942142025250, -0.174748173018469840, -0.174797403458043980, -0.174846633460624650, -0.174895863026089140, -0.174945092154313560, -0.174994320845175220, -0.175043549098551100, +-0.175092776914318540, -0.175142004292353600, -0.175191231232533630, -0.175240457734735620, -0.175289683798836890, -0.175338909424713500, -0.175388134612242840, -0.175437359361302280, +-0.175486583671767890, -0.175535807543517050, -0.175585030976426660, -0.175634253970374160, -0.175683476525235580, -0.175732698640888310, -0.175781920317209290, -0.175831141554075920, +-0.175880362351364230, -0.175929582708951650, -0.175978802626715110, -0.176028022104532000, -0.176077241142278410, -0.176126459739831710, -0.176175677897068870, -0.176224895613867260, +-0.176274112890102970, -0.176323329725653400, -0.176372546120395520, -0.176421762074206710, -0.176470977586963030, -0.176520192658541940, -0.176569407288820780, -0.176618621477675680, +-0.176667835224984030, -0.176717048530622780, -0.176766261394469350, -0.176815473816399840, -0.176864685796291640, -0.176913897334021710, -0.176963108429467500, -0.177012319082505060, +-0.177061529293011830, -0.177110739060864770, -0.177159948385941320, -0.177209157268117530, -0.177258365707270880, -0.177307573703278740, -0.177356781256017230, -0.177405988365363750, +-0.177455195031195310, -0.177504401253388870, -0.177553607031821880, -0.177602812366370460, -0.177652017256911960, -0.177701221703323890, -0.177750425705482330, -0.177799629263264670, +-0.177848832376547970, -0.177898035045209620, -0.177947237269125730, -0.177996439048173780, -0.178045640382230700, -0.178094841271173950, -0.178144041714879690, -0.178193241713225310, +-0.178242441266087820, -0.178291640373344690, -0.178340839034872000, -0.178390037250547220, -0.178439235020247780, -0.178488432343849810, -0.178537629221230760, -0.178586825652267630, +-0.178636021636837890, -0.178685217174817670, -0.178734412266084390, -0.178783606910515090, -0.178832801107987190, -0.178881994858376860, -0.178931188161561530, -0.178980381017418260, +-0.179029573425824460, -0.179078765386656290, -0.179127956899791190, -0.179177147965106230, -0.179226338582478800, -0.179275528751785120, -0.179324718472902600, -0.179373907745708300, +-0.179423096570079650, -0.179472284945892820, -0.179521472873025280, -0.179570660351354520, -0.179619847380756650, -0.179669033961109170, -0.179718220092289080, -0.179767405774173910, +-0.179816591006639770, -0.179865775789564140, -0.179914960122824100, -0.179964144006297090, -0.180013327439859290, -0.180062510423388140, -0.180111692956760740, -0.180160875039854530, +-0.180210056672545720, -0.180259237854711730, -0.180308418586230120, -0.180357598866977000, -0.180406778696829890, -0.180455958075665860, -0.180505137003362350, -0.180554315479795560, +-0.180603493504842980, -0.180652671078381650, -0.180701848200289120, -0.180751024870441510, -0.180800201088716330, -0.180849376854990640, -0.180898552169141970, -0.180947727031046470, +-0.180996901440581640, -0.181046075397624600, -0.181095248902052780, -0.181144421953742390, -0.181193594552570950, -0.181242766698415550, -0.181291938391153620, -0.181341109630661440, +-0.181390280416816490, -0.181439450749496270, -0.181488620628576990, -0.181537790053936170, -0.181586959025450860, -0.181636127542998570, -0.181685295606455550, -0.181734463215699280, +-0.181783630370606850, -0.181832797071055790, -0.181881963316922300, -0.181931129108083900, -0.181980294444417680, -0.182029459325801170, -0.182078623752110540, -0.182127787723223380, +-0.182176951239016750, -0.182226114299368160, -0.182275276904153880, -0.182324439053251380, -0.182373600746537800, -0.182422761983890620, -0.182471922765186150, -0.182521083090301850, +-0.182570242959115250, -0.182619402371502650, -0.182668561327341520, -0.182717719826509000, -0.182766877868882600, -0.182816035454338580, -0.182865192582754470, -0.182914349254007370, +-0.182963505467974850, -0.183012661224533140, -0.183061816523559740, -0.183110971364931820, -0.183160125748526910, -0.183209279674221260, -0.183258433141892390, -0.183307586151417870, +-0.183356738702673970, -0.183405890795538210, -0.183455042429887720, -0.183504193605600080, -0.183553344322551490, -0.183602494580619560, -0.183651644379681400, -0.183700793719614540, +-0.183749942600295290, -0.183799091021601160, -0.183848238983409300, -0.183897386485597310, -0.183946533528041380, -0.183995680110619150, -0.184044826233207700, -0.184093971895684600, +-0.184143117097926160, -0.184192261839809940, -0.184241406121213040, -0.184290549942013080, -0.184339693302086300, -0.184388836201310270, -0.184437978639562600, -0.184487120616719570, +-0.184536262132658700, -0.184585403187257190, -0.184634543780392620, -0.184683683911941260, -0.184732823581780670, -0.184781962789788030, -0.184831101535840920, -0.184880239819815610, +-0.184929377641589700, -0.184978515001040340, -0.185027651898045150, -0.185076788332480400, -0.185125924304223670, -0.185175059813152100, -0.185224194859143350, -0.185273329442073670, +-0.185322463561820670, -0.185371597218261520, -0.185420730411273800, -0.185469863140733800, -0.185518995406519170, -0.185568127208507460, -0.185617258546575010, -0.185666389420599430, +-0.185715519830457860, -0.185764649776027940, -0.185813779257185950, -0.185862908273809500, -0.185912036825775780, -0.185961164912962440, -0.186010292535245730, -0.186059419692503280, +-0.186108546384612270, -0.186157672611450360, -0.186206798372893810, -0.186255923668820270, -0.186305048499107370, -0.186354172863631400, -0.186403296762269990, -0.186452420194900350, +-0.186501543161400110, -0.186550665661645550, -0.186599787695514360, -0.186648909262883660, -0.186698030363631140, -0.186747150997633120, -0.186796271164767210, -0.186845390864910620, +-0.186894510097941000, -0.186943628863734670, -0.186992747162169240, -0.187041864993121980, -0.187090982356470450, -0.187140099252091070, -0.187189215679861410, -0.187238331639658750, +-0.187287447131360670, -0.187336562154843540, -0.187385676709984990, -0.187434790796662700, -0.187483904414752990, -0.187533017564133540, -0.187582130244681510, -0.187631242456274630, +-0.187680354198789170, -0.187729465472102870, -0.187778576276092870, -0.187827686610636870, -0.187876796475611230, -0.187925905870893580, -0.187975014796361200, -0.188024123251891690, +-0.188073231237361440, -0.188122338752648110, -0.188171445797628960, -0.188220552372181600, -0.188269658476182430, -0.188318764109509120, -0.188367869272038880, -0.188416973963649430, +-0.188466078184217100, -0.188515181933619570, -0.188564285211734520, -0.188613388018438330, -0.188662490353608660, -0.188711592217122780, -0.188760693608858330, -0.188809794528691730, +-0.188858894976500660, -0.188907994952162320, -0.188957094455554450, -0.189006193486553400, -0.189055292045036850, -0.189104390130882090, -0.189153487743966790, -0.189202584884167330, +-0.189251681551361410, -0.189300777745426720, -0.189349873466239630, -0.189398968713677900, -0.189448063487618720, -0.189497157787939820, -0.189546251614517600, -0.189595344967229740, +-0.189644437845953530, -0.189693530250566650, -0.189742622180945510, -0.189791713636967810, -0.189840804618510830, -0.189889895125452260, -0.189938985157668550, -0.189988074715037340, +-0.190037163797435990, -0.190086252404742110, -0.190135340536832200, -0.190184428193583940, -0.190233515374874600, -0.190282602080581900, -0.190331688310582280, -0.190380774064753430, +-0.190429859342973070, -0.190478944145117620, -0.190528028471064840, -0.190577112320691970, -0.190626195693876760, -0.190675278590495630, -0.190724361010426280, -0.190773442953546060, +-0.190822524419732630, -0.190871605408862500, -0.190920685920813320, -0.190969765955462440, -0.191018845512687580, -0.191067924592365160, -0.191117003194372940, -0.191166081318588640, +-0.191215158964888720, -0.191264236133150880, -0.191313312823252450, -0.191362389035070750, -0.191411464768483530, -0.191460540023367180, -0.191509614799599490, -0.191558689097058200, +-0.191607762915619760, -0.191656836255161890, -0.191705909115561960, -0.191754981496697670, -0.191804053398445500, -0.191853124820683200, -0.191902195763288070, -0.191951266226137920, +-0.192000336209109140, -0.192049405712079540, -0.192098474734926420, -0.192147543277527530, -0.192196611339759350, -0.192245678921499660, -0.192294746022626200, -0.192343812643015450, +-0.192392878782545160, -0.192441944441092670, -0.192491009618535740, -0.192540074314750870, -0.192589138529615820, -0.192638202263007900, -0.192687265514804920, -0.192736328284883350, +-0.192785390573120940, -0.192834452379395090, -0.192883513703583500, -0.192932574545562730, -0.192981634905210500, -0.193030694782404200, -0.193079754177021580, -0.193128813088939140, +-0.193177871518034670, -0.193226929464185540, -0.193275986927269490, -0.193325043907163070, -0.193374100403744030, -0.193423156416890170, -0.193472211946477980, -0.193521266992385250, +-0.193570321554489390, -0.193619375632668120, -0.193668429226798000, -0.193717482336756790, -0.193766534962421880, -0.193815587103671080, -0.193864638760380880, -0.193913689932429080, +-0.193962740619693040, -0.194011790822050580, -0.194060840539378220, -0.194109889771553770, -0.194158938518455000, -0.194207986779958490, -0.194257034555941980, -0.194306081846282900, +-0.194355128650858610, -0.194404174969546930, -0.194453220802224380, -0.194502266148768780, -0.194551311009057950, -0.194600355382968410, -0.194649399270377970, -0.194698442671164040, +-0.194747485585204440, -0.194796528012375710, -0.194845569952555640, -0.194894611405621640, -0.194943652371451560, -0.194992692849921910, -0.195041732840910500, -0.195090772344294780, +-0.195139811359952590, -0.195188849887760390, -0.195237887927596110, -0.195286925479337510, -0.195335962542861170, -0.195384999118044940, -0.195434035204766210, -0.195483070802902810, +-0.195532105912331310, -0.195581140532929550, -0.195630174664574910, -0.195679208307145300, -0.195728241460517230, -0.195777274124568550, -0.195826306299176660, -0.195875337984219470, +-0.195924369179573510, -0.195973399885116610, -0.196022430100726200, -0.196071459826280160, -0.196120489061655050, -0.196169517806728700, -0.196218546061378560, -0.196267573825482490, +-0.196316601098917050, -0.196365627881560120, -0.196414654173289540, -0.196463679973981900, -0.196512705283515030, -0.196561730101766420, -0.196610754428613920, -0.196659778263934100, +-0.196708801607604840, -0.196757824459503570, -0.196806846819508160, -0.196855868687495220, -0.196904890063342610, -0.196953910946927770, -0.197002931338128570, -0.197051951236821620, +-0.197100970642884790, -0.197149989556195980, -0.197199007976631730, -0.197248025904070010, -0.197297043338388180, -0.197346060279464190, -0.197395076727174630, -0.197444092681397340, +-0.197493108142009850, -0.197542123108890020, -0.197591137581914460, -0.197640151560961040, -0.197689165045907250, -0.197738178036630960, -0.197787190533008810, -0.197836202534918680, +-0.197885214042238050, -0.197934225054844810, -0.197983235572615570, -0.198032245595428260, -0.198081255123160330, -0.198130264155689680, -0.198179272692892950, -0.198228280734648040, +-0.198277288280832850, -0.198326295331324010, -0.198375301885999440, -0.198424307944736590, -0.198473313507413430, -0.198522318573906560, -0.198571323144093870, -0.198620327217852890, +-0.198669330795061520, -0.198718333875596370, -0.198767336459335420, -0.198816338546156100, -0.198865340135936370, -0.198914341228552870, -0.198963341823883500, -0.199012341921805810, +-0.199061341522197680, -0.199110340624935740, -0.199159339229897980, -0.199208337336961860, -0.199257334946005310, -0.199306332056905010, -0.199355328669538890, -0.199404324783784860, +-0.199453320399519600, -0.199502315516621040, -0.199551310134966690, -0.199600304254434480, -0.199649297874901100, -0.199698290996244480, -0.199747283618342100, -0.199796275741071980, +-0.199845267364310710, -0.199894258487936290, -0.199943249111826200, -0.199992239235858430, -0.200041228859909660, -0.200090217983857790, -0.200139206607580810, -0.200188194730955370, +-0.200237182353859460, -0.200286169476170590, -0.200335156097766730, -0.200384142218524550, -0.200433127838322010, -0.200482112957036630, -0.200531097574546430, -0.200580081690728050, +-0.200629065305459460, -0.200678048418618190, -0.200727031030082270, -0.200776013139728320, -0.200824994747434320, -0.200873975853077870, -0.200922956456536880, -0.200971936557688080, +-0.201020916156409430, -0.201069895252578510, -0.201118873846073270, -0.201167851936770420, -0.201216829524547920, -0.201265806609283810, -0.201314783190854720, -0.201363759269138690, +-0.201412734844013260, -0.201461709915356420, -0.201510684483044880, -0.201559658546956620, -0.201608632106969220, -0.201657605162960690, -0.201706577714807680, -0.201755549762388240, +-0.201804521305579940, -0.201853492344260750, -0.201902462878307400, -0.201951432907597900, -0.202000402432009810, -0.202049371451421160, -0.202098339965708640, -0.202147307974750280, +-0.202196275478423640, -0.202245242476606750, -0.202294208969176300, -0.202343174956010340, -0.202392140436986890, -0.202441105411982650, -0.202490069880875640, -0.202539033843543460, +-0.202587997299864130, -0.202636960249714370, -0.202685922692972200, -0.202734884629515220, -0.202783846059221480, -0.202832806981967710, -0.202881767397631890, -0.202930727306091660, +-0.202979686707225050, -0.203028645600908770, -0.203077603987020900, -0.203126561865439450, -0.203175519236041160, -0.203224476098704060, -0.203273432453305790, -0.203322388299724350, +-0.203371343637836520, -0.203420298467520330, -0.203469252788653380, -0.203518206601113750, -0.203567159904778170, -0.203616112699524680, -0.203665064985230900, -0.203714016761774920, +-0.203762968029033460, -0.203811918786884570, -0.203860869035205870, -0.203909818773875460, -0.203958768002770050, -0.204007716721767710, -0.204056664930746090, -0.204105612629583240, +-0.204154559818155920, -0.204203506496342220, -0.204252452664020170, -0.204301398321066560, -0.204350343467359450, -0.204399288102776490, -0.204448232227195740, -0.204497175840493980, +-0.204546118942549260, -0.204595061533239280, -0.204644003612442060, -0.204692945180034390, -0.204741886235894370, -0.204790826779899630, -0.204839766811928250, -0.204888706331857020, +-0.204937645339564020, -0.204986583834927350, -0.205035521817823780, -0.205084459288131400, -0.205133396245727910, -0.205182332690490880, -0.205231268622298480, -0.205280204041027480, +-0.205329138946555970, -0.205378073338762010, -0.205427007217522470, -0.205475940582715400, -0.205524873434218490, -0.205573805771909810, -0.205622737595666180, -0.205671668905365730, +-0.205720599700886100, -0.205769529982105400, -0.205818459748900450, -0.205867389001149340, -0.205916317738729760, -0.205965245961519800, -0.206014173669396310, -0.206063100862237390, +-0.206112027539921170, -0.206160953702324400, -0.206209879349325280, -0.206258804480801440, -0.206307729096631060, -0.206356653196690890, -0.206405576780859110, -0.206454499849013370, +-0.206503422401031810, -0.206552344436791270, -0.206601265956169870, -0.206650186959045300, -0.206699107445295710, -0.206748027414797920, -0.206796946867430030, -0.206845865803069790, +-0.206894784221595320, -0.206943702122883460, -0.206992619506812360, -0.207041536373259670, -0.207090452722103610, -0.207139368553220990, -0.207188283866489910, -0.207237198661788580, +-0.207286112938993820, -0.207335026697983760, -0.207383939938636160, -0.207432852660829110, -0.207481764864439530, -0.207530676549345510, -0.207579587715424810, -0.207628498362555590, +-0.207677408490614670, -0.207726318099480220, -0.207775227189029990, -0.207824135759142130, -0.207873043809693490, -0.207921951340562240, -0.207970858351626570, -0.208019764842763300, +-0.208068670813850610, -0.208117576264766240, -0.208166481195387940, -0.208215385605593880, -0.208264289495260910, -0.208313192864267220, -0.208362095712490980, -0.208410998039809060, +-0.208459899846099670, -0.208508801131240510, -0.208557701895109780, -0.208606602137584360, -0.208655501858542450, -0.208704401057861750, -0.208753299735420530, -0.208802197891095610, +-0.208851095524765190, -0.208899992636307010, -0.208948889225599320, -0.208997785292518940, -0.209046680836944110, -0.209095575858753020, -0.209144470357822550, -0.209193364334030910, +-0.209242257787255860, -0.209291150717375580, -0.209340043124267020, -0.209388935007808340, -0.209437826367877310, -0.209486717204352160, -0.209535607517109780, -0.209584497306028380, +-0.209633386570985740, -0.209682275311860070, -0.209731163528528270, -0.209780051220868570, -0.209828938388758740, -0.209877825032077000, -0.209926711150700250, -0.209975596744506720, +-0.210024481813374210, -0.210073366357180940, -0.210122250375803820, -0.210171133869121060, -0.210220016837010890, -0.210268899279350270, -0.210317781196017380, -0.210366662586890050, +-0.210415543451846490, -0.210464423790763630, -0.210513303603519750, -0.210562182889992570, -0.210611061650060380, -0.210659939883600100, -0.210708817590489980, -0.210757694770607800, +-0.210806571423831830, -0.210855447550038990, -0.210904323149107540, -0.210953198220915710, -0.211002072765340440, -0.211050946782260000, -0.211099820271552190, -0.211148693233095260, +-0.211197565666766170, -0.211246437572443190, -0.211295308950004090, -0.211344179799327150, -0.211393050120289330, -0.211441919912768870, -0.211490789176643630, -0.211539657911791860, +-0.211588526118090480, -0.211637393795417790, -0.211686260943651640, -0.211735127562670270, -0.211783993652350620, -0.211832859212571000, -0.211881724243209250, -0.211930588744143610, +-0.211979452715251070, -0.212028316156409880, -0.212077179067498340, -0.212126041448393420, -0.212174903298973400, -0.212223764619116130, -0.212272625408699870, -0.212321485667601620, +-0.212370345395699660, -0.212419204592871810, -0.212468063258996390, -0.212516921393950400, -0.212565778997612090, -0.212614636069859340, -0.212663492610570440, -0.212712348619622380, +-0.212761204096893420, -0.212810059042261470, -0.212858913455604790, -0.212907767336800420, -0.212956620685726600, -0.213005473502261260, -0.213054325786282640, -0.213103177537667800, +-0.213152028756294990, -0.213200879442042580, -0.213249729594787500, -0.213298579214408120, -0.213347428300782270, -0.213396276853788290, -0.213445124873303190, -0.213493972359205280, +-0.213542819311372420, -0.213591665729682970, -0.213640511614013930, -0.213689356964243570, -0.213738201780249850, -0.213787046061911040, -0.213835889809104200, -0.213884733021707630, +-0.213933575699599670, -0.213982417842657310, -0.214031259450758930, -0.214080100523782400, -0.214128941061606040, -0.214177781064106900, -0.214226620531163310, -0.214275459462653170, +-0.214324297858454800, -0.214373135718445270, -0.214421973042502880, -0.214470809830505590, -0.214519646082331680, -0.214568481797858230, -0.214617316976963600, -0.214666151619525620, +-0.214714985725422750, -0.214763819294531950, -0.214812652326731630, -0.214861484821899650, -0.214910316779914400, -0.214959148200652930, -0.215007979083993610, -0.215056809429814750, +-0.215105639237993420, -0.215154468508408030, -0.215203297240936430, -0.215252125435457050, -0.215300953091846910, -0.215349780209984380, -0.215398606789747430, -0.215447432831014360, +-0.215496258333662290, -0.215545083297569580, -0.215593907722614160, -0.215642731608674390, -0.215691554955627360, -0.215740377763351480, -0.215789200031724610, -0.215838021760625190, +-0.215886842949930300, -0.215935663599518270, -0.215984483709267090, -0.216033303279055150, -0.216082122308759510, -0.216130940798258560, -0.216179758747430700, -0.216228576156153010, +-0.216277393024303880, -0.216326209351761250, -0.216375025138403540, -0.216423840384107840, -0.216472655088752520, -0.216521469252215580, -0.216570282874375410, -0.216619095955109090, +-0.216667908494295010, -0.216716720491811180, -0.216765531947535980, -0.216814342861346520, -0.216863153233121190, -0.216911963062738440, -0.216960772350075330, -0.217009581095010280, +-0.217058389297421270, -0.217107196957186750, -0.217156004074183780, -0.217204810648290810, -0.217253616679385810, -0.217302422167347210, -0.217351227112052130, -0.217400031513378940, +-0.217448835371205710, -0.217497638685410830, -0.217546441455871400, -0.217595243682465860, -0.217644045365072230, -0.217692846503568900, -0.217741647097833060, -0.217790447147743070, +-0.217839246653176940, -0.217888045614013180, -0.217936844030128830, -0.217985641901402400, -0.218034439227712290, -0.218083236008935640, -0.218132032244950900, -0.218180827935636090, +-0.218229623080869630, -0.218278417680528690, -0.218327211734491710, -0.218376005242636670, -0.218424798204842090, -0.218473590620985060, -0.218522382490944050, -0.218571173814597090, +-0.218619964591822650, -0.218668754822497840, -0.218717544506501160, -0.218766333643711040, -0.218815122234004650, -0.218863910277260460, -0.218912697773356480, -0.218961484722170780, +-0.219010271123581790, -0.219059056977466690, -0.219107842283703950, -0.219156627042172040, -0.219205411252748120, -0.219254194915310670, -0.219302978029737750, -0.219351760595907800, +-0.219400542613698010, -0.219449324082986900, -0.219498105003652440, -0.219546885375573180, -0.219595665198626250, -0.219644444472690160, -0.219693223197642980, -0.219742001373363170, +-0.219790778999727900, -0.219839556076615710, -0.219888332603905030, -0.219937108581473110, -0.219985884009198410, -0.220034658886959030, -0.220083433214633390, -0.220132206992098760, +-0.220180980219233600, -0.220229752895916010, -0.220278525022024470, -0.220327296597436160, -0.220376067622029630, -0.220424838095682920, -0.220473608018274540, -0.220522377389681720, +-0.220571146209782960, -0.220619914478456330, -0.220668682195580330, -0.220717449361032210, -0.220766215974690480, -0.220814982036433180, -0.220863747546138880, -0.220912512503684770, +-0.220961276908949370, -0.221010040761811240, -0.221058804062147530, -0.221107566809836840, -0.221156329004757230, -0.221205090646787230, -0.221253851735804090, -0.221302612271686290, +-0.221351372254311980, -0.221400131683559650, -0.221448890559306580, -0.221497648881431250, -0.221546406649811840, -0.221595163864326820, -0.221643920524853460, -0.221692676631270320, +-0.221741432183455910, -0.221790187181287480, -0.221838941624643570, -0.221887695513402320, -0.221936448847441850, -0.221985201626640680, -0.222033953850876040, -0.222082705520026540, +-0.222131456633970710, -0.222180207192585830, -0.222228957195750390, -0.222277706643342590, -0.222326455535240940, -0.222375203871322730, -0.222423951651466500, -0.222472698875550380, +-0.222521445543452960, -0.222570191655051490, -0.222618937210224550, -0.222667682208850250, -0.222716426650807180, -0.222765170535972640, -0.222813913864225140, -0.222862656635443300, +-0.222911398849504390, -0.222960140506286990, -0.223008881605669200, -0.223057622147529670, -0.223106362131745640, -0.223155101558195730, -0.223203840426758030, -0.223252578737311190, +-0.223301316489732480, -0.223350053683900460, -0.223398790319693290, -0.223447526396989590, -0.223496261915666660, -0.223544996875603060, -0.223593731276676950, -0.223642465118766980, +-0.223691198401750390, -0.223739931125505800, -0.223788663289911400, -0.223837394894845780, -0.223886125940186230, -0.223934856425811350, -0.223983586351599790, -0.224032315717428790, +-0.224081044523177040, -0.224129772768722670, -0.224178500453944300, -0.224227227578719240, -0.224275954142926110, -0.224324680146443110, -0.224373405589148840, -0.224422130470920610, +-0.224470854791637060, -0.224519578551176350, -0.224568301749417170, -0.224617024386236760, -0.224665746461513830, -0.224714467975126950, -0.224763188926953460, -0.224811909316872010, +-0.224860629144760770, -0.224909348410498390, -0.224958067113962240, -0.225006785255030900, -0.225055502833582580, -0.225104219849495970, -0.225152936302648350, -0.225201652192918410, +-0.225250367520184320, -0.225299082284324740, -0.225347796485217050, -0.225396510122739840, -0.225445223196771380, -0.225493935707190260, -0.225542647653873910, -0.225591359036700910, +-0.225640069855549520, -0.225688780110298390, -0.225737489800824890, -0.225786198927007660, -0.225834907488725340, -0.225883615485855340, -0.225932322918276310, -0.225981029785866460, +-0.226029736088504490, -0.226078441826067710, -0.226127146998434860, -0.226175851605484120, -0.226224555647094180, -0.226273259123142450, -0.226321962033507550, -0.226370664378067740, +-0.226419366156701720, -0.226468067369286820, -0.226516768015701780, -0.226565468095824810, -0.226614167609534590, -0.226662866556708560, -0.226711564937225330, -0.226760262750963200, +-0.226808959997800820, -0.226857656677615650, -0.226906352790286310, -0.226955048335691520, -0.227003743313708680, -0.227052437724216490, -0.227101131567093190, -0.227149824842217520, +-0.227198517549466850, -0.227247209688719860, -0.227295901259854880, -0.227344592262750560, -0.227393282697284320, -0.227441972563334870, -0.227490661860780510, -0.227539350589499920, +-0.227588038749370530, -0.227636726340271020, -0.227685413362080150, -0.227734099814675290, -0.227782785697935200, -0.227831471011738150, -0.227880155755962850, -0.227928839930486710, +-0.227977523535188490, -0.228026206569946460, -0.228074889034639350, -0.228123570929144560, -0.228172252253340870, -0.228220933007106550, -0.228269613190320330, -0.228318292802859620, +-0.228366971844603190, -0.228415650315429320, -0.228464328215216780, -0.228513005543842990, -0.228561682301186670, -0.228610358487126130, -0.228659034101540150, -0.228707709144306160, +-0.228756383615302870, -0.228805057514409080, -0.228853730841502210, -0.228902403596461000, -0.228951075779163770, -0.228999747389489310, -0.229048418427315020, -0.229097088892519700, +-0.229145758784981670, -0.229194428104579660, -0.229243096851191150, -0.229291765024694890, -0.229340432624969250, -0.229389099651892940, -0.229437766105343440, -0.229486431985199520, +-0.229535097291339560, -0.229583762023642250, -0.229632426181985120, -0.229681089766246900, -0.229729752776305970, -0.229778415212041120, -0.229827077073329780, -0.229875738360050740, +-0.229924399072082790, -0.229973059209303390, -0.230021718771591360, -0.230070377758825050, -0.230119036170883200, -0.230167694007643340, -0.230216351268984270, -0.230265007954784270, +-0.230313664064922210, -0.230362319599275560, -0.230410974557723110, -0.230459628940143210, -0.230508282746414690, -0.230556935976415020, -0.230605588630023030, -0.230654240707117490, +-0.230702892207575890, -0.230751543131277080, -0.230800193478099410, -0.230848843247921710, -0.230897492440621440, -0.230946141056077440, -0.230994789094168100, -0.231043436554772220, +-0.231092083437767330, -0.231140729743032210, -0.231189375470445270, -0.231238020619885330, -0.231286665191229900, -0.231335309184357800, -0.231383952599147430, -0.231432595435477620, +-0.231481237693225870, -0.231529879372271040, -0.231578520472491530, -0.231627160993766120, -0.231675800935972400, -0.231724440298989170, -0.231773079082695260, -0.231821717286968240, +-0.231870354911686890, -0.231918991956729690, -0.231967628421975440, -0.232016264307301680, -0.232064899612587250, -0.232113534337710590, -0.232162168482550500, -0.232210802046984580, +-0.232259435030891640, -0.232308067434150110, -0.232356699256638850, -0.232405330498235420, -0.232453961158818670, -0.232502591238267000, -0.232551220736459290, -0.232599849653273070, +-0.232648477988587260, -0.232697105742280250, -0.232745732914230900, -0.232794359504316790, -0.232842985512416780, -0.232891610938409740, -0.232940235782173240, -0.232988860043586150, +-0.233037483722526920, -0.233086106818874400, -0.233134729332506170, -0.233183351263301140, -0.233231972611137710, -0.233280593375894800, -0.233329213557449950, -0.233377833155682110, +-0.233426452170469640, -0.233475070601691510, -0.233523688449225250, -0.233572305712949760, -0.233620922392743960, -0.233669538488485430, -0.233718154000053020, -0.233766768927325260, +-0.233815383270180980, -0.233863997028497830, -0.233912610202154670, -0.233961222791029990, -0.234009834795002700, -0.234058446213950390, -0.234107057047751950, -0.234155667296285870, +-0.234204276959431050, -0.234252886037065120, -0.234301494529066960, -0.234350102435315070, -0.234398709755688360, -0.234447316490064450, -0.234495922638322220, -0.234544528200340220, +-0.234593133175997310, -0.234641737565171150, -0.234690341367740610, -0.234738944583584690, -0.234787547212580970, -0.234836149254608360, -0.234884750709545400, -0.234933351577270990, +-0.234981951857662770, -0.235030551550599650, -0.235079150655960160, -0.235127749173623250, -0.235176347103466520, -0.235224944445368900, -0.235273541199208960, -0.235322137364865570, +-0.235370732942216420, -0.235419327931140430, -0.235467922331516530, -0.235516516143222420, -0.235565109366137030, -0.235613702000138840, -0.235662294045106410, -0.235710885500918680, +-0.235759476367453290, -0.235808066644589230, -0.235856656332205400, -0.235905245430179540, -0.235953833938390530, -0.236002421856716970, -0.236051009185037770, -0.236099595923230600, +-0.236148182071174470, -0.236196767628747860, -0.236245352595829770, -0.236293936972297860, -0.236342520758031140, -0.236391103952908080, -0.236439686556807720, -0.236488268569607700, +-0.236536849991187010, -0.236585430821424610, -0.236634011060198210, -0.236682590707386810, -0.236731169762868900, -0.236779748226523510, -0.236828326098228320, -0.236876903377862320, +-0.236925480065304060, -0.236974056160432520, -0.237022631663125400, -0.237071206573261720, -0.237119780890720030, -0.237168354615379300, -0.237216927747117250, -0.237265500285812890, +-0.237314072231344790, -0.237362643583591940, -0.237411214342432040, -0.237459784507744100, -0.237508354079406710, -0.237556923057298860, -0.237605491441298280, -0.237654059231283940, +-0.237702626427134910, -0.237751193028728880, -0.237799759035944860, -0.237848324448661470, -0.237896889266757670, -0.237945453490111230, -0.237994017118601160, -0.238042580152106030, +-0.238091142590504870, -0.238139704433675460, -0.238188265681496760, -0.238236826333847410, -0.238285386390606420, -0.238333945851651550, -0.238382504716861790, -0.238431062986116220, +-0.238479620659292540, -0.238528177736269830, -0.238576734216926660, -0.238625290101142080, -0.238673845388793880, -0.238722400079761030, -0.238770954173922190, -0.238819507671156390, +-0.238868060571341410, -0.238916612874356280, -0.238965164580079600, -0.239013715688390440, -0.239062266199166570, -0.239110816112287020, -0.239159365427630440, -0.239207914145075890, +-0.239256462264501090, -0.239305009785785170, -0.239353556708806700, -0.239402103033444780, -0.239450648759577170, -0.239499193887082930, -0.239547738415841150, -0.239596282345729610, +-0.239644825676627340, -0.239693368408413020, -0.239741910540965690, -0.239790452074163160, -0.239838993007884500, -0.239887533342008350, -0.239936073076413820, -0.239984612210978670, +-0.240033150745581960, -0.240081688680102410, -0.240130226014419050, -0.240178762748409710, -0.240227298881953430, -0.240275834414928950, -0.240324369347215290, -0.240372903678690270, +-0.240421437409233000, -0.240469970538722130, -0.240518503067036760, -0.240567034994054710, -0.240615566319655080, -0.240664097043716970, -0.240712627166118160, -0.240761156686737810, +-0.240809685605454540, -0.240858213922147510, -0.240906741636694510, -0.240955268748974660, -0.241003795258866640, -0.241052321166249560, -0.241100846471001220, -0.241149371173000780, +-0.241197895272126930, -0.241246418768258750, -0.241294941661274100, -0.241343463951052110, -0.241391985637471880, -0.241440506720411260, -0.241489027199749350, -0.241537547075364900, +-0.241586066347137000, -0.241634585014943500, -0.241683103078663560, -0.241731620538175850, -0.241780137393359520, -0.241828653644092400, -0.241877169290253660, -0.241925684331721990, +-0.241974198768376560, -0.242022712600095170, -0.242071225826757020, -0.242119738448240810, -0.242168250464425670, -0.242216761875189480, -0.242265272680411370, -0.242313782879970100, +-0.242362292473744800, -0.242410801461613340, -0.242459309843454870, -0.242507817619148550, -0.242556324788572280, -0.242604831351605180, -0.242653337308125990, -0.242701842658013920, +-0.242750347401146790, -0.242798851537403800, -0.242847355066663660, -0.242895857988805590, -0.242944360303707420, -0.242992862011248370, -0.243041363111307170, -0.243089863603762970, +-0.243138363488493690, -0.243186862765378510, -0.243235361434296170, -0.243283859495125850, -0.243332356947745470, -0.243380853792034170, -0.243429350027870750, -0.243477845655134390, +-0.243526340673702960, -0.243574835083455700, -0.243623328884271790, -0.243671822076029110, -0.243720314658606880, -0.243768806631883880, -0.243817297995739280, -0.243865788750050990, +-0.243914278894698240, -0.243962768429559800, -0.244011257354514870, -0.244059745669441360, -0.244108233374218500, -0.244156720468725050, -0.244205206952840200, -0.244253692826441940, +-0.244302178089409430, -0.244350662741621930, -0.244399146782957290, -0.244447630213294830, -0.244496113032513280, -0.244544595240491880, -0.244593076837108570, -0.244641557822242560, +-0.244690038195772650, -0.244738517957578060, -0.244786997107536760, -0.244835475645527990, -0.244883953571430500, -0.244932430885123560, -0.244980907586485140, -0.245029383675394420, +-0.245077859151730250, -0.245126334015371870, -0.245174808266197230, -0.245223281904085540, -0.245271754928915680, -0.245320227340566850, -0.245368699138917010, -0.245417170323845440, +-0.245465640895231370, -0.245514110852952770, -0.245562580196888870, -0.245611048926918540, -0.245659517042921020, -0.245707984544774270, -0.245756451432357550, -0.245804917705549740, +-0.245853383364230020, -0.245901848408276450, -0.245950312837568240, -0.245998776651984250, -0.246047239851403730, -0.246095702435704690, -0.246144164404766410, -0.246192625758467700, +-0.246241086496687880, -0.246289546619304880, -0.246338006126198050, -0.246386465017246180, -0.246434923292328580, -0.246483380951323240, -0.246531837994109470, -0.246580294420566530, +-0.246628750230572400, -0.246677205424006420, -0.246725660000747420, -0.246774113960674670, -0.246822567303666250, -0.246871020029601370, -0.246919472138358960, -0.246967923629818310, +-0.247016374503857410, -0.247064824760355600, -0.247113274399191700, -0.247161723420245030, -0.247210171823393670, -0.247258619608516830, -0.247307066775493910, -0.247355513324202860, +-0.247403959254523050, -0.247452404566333330, -0.247500849259512600, -0.247549293333940180, -0.247597736789494090, -0.247646179626053680, -0.247694621843498250, -0.247743063441705800, +-0.247791504420555720, -0.247839944779926880, -0.247888384519698610, -0.247936823639748920, -0.247985262139957200, -0.248033700020202750, -0.248082137280363600, -0.248130573920319120, +-0.248179009939948210, -0.248227445339129770, -0.248275880117743150, -0.248324314275666400, -0.248372747812778880, -0.248421180728959880, -0.248469613024087540, -0.248518044698041150, +-0.248566475750699650, -0.248614906181942400, -0.248663335991647440, -0.248711765179694150, -0.248760193745961420, -0.248808621690328660, -0.248857049012673910, -0.248905475712876550, +-0.248953901790815500, -0.249002327246370110, -0.249050752079418490, -0.249099176289839960, -0.249147599877513950, -0.249196022842318510, -0.249244445184133000, -0.249292866902836360, +-0.249341287998307570, -0.249389708470425990, -0.249438128319069720, -0.249486547544118110, -0.249534966145450590, -0.249583384122945200, -0.249631801476481370, -0.249680218205938030, +-0.249728634311194550, -0.249777049792129090, -0.249825464648620960, -0.249873878880549210, -0.249922292487793190, -0.249970705470230980, -0.250019117827742050, -0.250067529560205280, +-0.250115940667500150, -0.250164351149504690, -0.250212761006098410, -0.250261170237160660, -0.250309578842569490, -0.250357986822204450, -0.250406394175944400, -0.250454800903668340, +-0.250503207005255750, -0.250551612480584720, -0.250600017329534630, -0.250648421551984910, -0.250696825147813720, -0.250745228116900480, -0.250793630459124170, -0.250842032174364240, +-0.250890433262498770, -0.250938833723407200, -0.250987233556969000, -0.251035632763062290, -0.251084031341566480, -0.251132429292360630, -0.251180826615323650, -0.251229223310335090, +-0.251277619377273000, -0.251326014816016910, -0.251374409626446140, -0.251422803808438950, -0.251471197361874790, -0.251519590286632570, -0.251567982582591830, -0.251616374249630740, +-0.251664765287628660, -0.251713155696464690, -0.251761545476018260, -0.251809934626167580, -0.251858323146792020, -0.251906711037770630, -0.251955098298982940, -0.252003484930307050, +-0.252051870931622460, -0.252100256302808580, -0.252148641043743680, -0.252197025154307140, -0.252245408634378050, -0.252293791483835460, -0.252342173702558790, -0.252390555290426310, +-0.252438936247317390, -0.252487316573111580, -0.252535696267687020, -0.252584075330923250, -0.252632453762699270, -0.252680831562894610, -0.252729208731387430, -0.252777585268057270, +-0.252825961172783110, -0.252874336445444440, -0.252922711085919520, -0.252971085094087830, -0.253019458469828480, -0.253067831213020840, -0.253116203323543230, -0.253164574801275080, +-0.253212945646095980, -0.253261315857884030, -0.253309685436518830, -0.253358054381879360, -0.253406422693845220, -0.253454790372294620, -0.253503157417106990, -0.253551523828161480, +-0.253599889605337640, -0.253648254748513600, -0.253696619257568920, -0.253744983132382750, -0.253793346372834520, -0.253841708978802430, -0.253890070950166140, -0.253938432286805070, +-0.253986792988597500, -0.254035153055422960, -0.254083512487160550, -0.254131871283689300, -0.254180229444888880, -0.254228586970637380, -0.254276943860814450, -0.254325300115299640, +-0.254373655733971080, -0.254422010716708390, -0.254470365063390660, -0.254518718773897480, -0.254567071848107060, -0.254615424285899010, -0.254663776087152350, -0.254712127251746630, +-0.254760477779560230, -0.254808827670472640, -0.254857176924362940, -0.254905525541110790, -0.254953873520594340, -0.255002220862693200, -0.255050567567286950, -0.255098913634253910, +-0.255147259063473520, -0.255195603854824980, -0.255243948008187450, -0.255292291523440520, -0.255340634400462340, -0.255388976639132630, -0.255437318239330910, -0.255485659200935470, +-0.255533999523825880, -0.255582339207881260, -0.255630678252981250, -0.255679016659004110, -0.255727354425829450, -0.255775691553336350, -0.255824028041404530, -0.255872363889912140, +-0.255920699098738880, -0.255969033667763860, -0.256017367596866660, -0.256065700885925620, -0.256114033534820370, -0.256162365543430410, -0.256210696911634170, -0.256259027639311130, +-0.256307357726340560, -0.256355687172601990, -0.256404015977973800, -0.256452344142335530, -0.256500671665566450, -0.256548998547546090, -0.256597324788152840, -0.256645650387266220, +-0.256693975344765510, -0.256742299660530300, -0.256790623334438920, -0.256838946366370950, -0.256887268756206040, -0.256935590503822590, -0.256983911609100110, -0.257032232071917830, +-0.257080551892155010, -0.257128871069691230, -0.257177189604404830, -0.257225507496175450, -0.257273824744882810, -0.257322141350405100, -0.257370457312622040, -0.257418772631412830, +-0.257467087306657180, -0.257515401338233310, -0.257563714726020960, -0.257612027469899360, -0.257660339569748100, -0.257708651025445550, -0.257756961836871360, -0.257805272003904800, +-0.257853581526425460, -0.257901890404311770, -0.257950198637443340, -0.257998506225699810, -0.258046813168959610, -0.258095119467102400, -0.258143425120007370, -0.258191730127553750, +-0.258240034489621300, -0.258288338206088260, -0.258336641276834420, -0.258384943701739420, -0.258433245480681580, -0.258481546613540670, -0.258529847100195890, -0.258578146940526890, +-0.258626446134412100, -0.258674744681731240, -0.258723042582363500, -0.258771339836188550, -0.258819636443084870, -0.258867932402932040, -0.258916227715609400, -0.258964522380996650, +-0.259012816398972170, -0.259061109769415600, -0.259109402492206710, -0.259157694567223870, -0.259205985994346800, -0.259254276773454810, -0.259302566904427490, -0.259350856387143340, +-0.259399145221482110, -0.259447433407322960, -0.259495720944545650, -0.259544007833028610, -0.259592294072651550, -0.259640579663293790, -0.259688864604834980, -0.259737148897153600, +-0.259785432540129370, -0.259833715533641930, -0.259881997877569830, -0.259930279571792660, -0.259978560616189850, -0.260026841010640610, -0.260075120755024700, -0.260123399849220560, +-0.260171678293107940, -0.260219956086566560, -0.260268233229474840, -0.260316509721712550, -0.260364785563158950, -0.260413060753693860, -0.260461335293195650, -0.260509609181544140, +-0.260557882418618600, -0.260606155004298790, -0.260654426938463140, -0.260702698220991400, -0.260750968851762970, -0.260799238830657530, -0.260847508157553530, -0.260895776832330780, +-0.260944044854869050, -0.260992312225046710, -0.261040578942743630, -0.261088845007839130, -0.261137110420212480, -0.261185375179743500, -0.261233639286310660, -0.261281902739793680, +-0.261330165540072430, -0.261378427687025290, -0.261426689180532080, -0.261474950020472160, -0.261523210206725310, -0.261571469739170000, -0.261619728617686010, -0.261667986842152700, +-0.261716244412449890, -0.261764501328455970, -0.261812757590050850, -0.261861013197113800, -0.261909268149524700, -0.261957522447161920, -0.262005776089905380, -0.262054029077634810, +-0.262102281410228790, -0.262150533087567030, -0.262198784109528900, -0.262247034475994290, -0.262295284186841670, -0.262343533241950810, -0.262391781641201140, -0.262440029384472420, +-0.262488276471643240, -0.262536522902593330, -0.262584768677202100, -0.262633013795349420, -0.262681258256913740, -0.262729502061774920, -0.262777745209812790, -0.262825987700905870, +-0.262874229534934000, -0.262922470711776550, -0.262970711231312880, -0.263018951093422880, -0.263067190297985090, -0.263115428844879320, -0.263163666733985390, -0.263211903965181850, +-0.263260140538348620, -0.263308376453364970, -0.263356611710110820, -0.263404846308464720, -0.263453080248306550, -0.263501313529515610, -0.263549546151971850, -0.263597778115553790, +-0.263646009420141270, -0.263694240065613760, -0.263742470051851030, -0.263790699378731730, -0.263838928046135680, -0.263887156053942750, -0.263935383402031490, -0.263983610090281760, +-0.264031836118573000, -0.264080061486784650, -0.264128286194796610, -0.264176510242487390, -0.264224733629736920, -0.264272956356425060, -0.264321178422430300, -0.264369399827632690, +-0.264417620571911540, -0.264465840655146780, -0.264514060077216950, -0.264562278838001990, -0.264610496937381760, -0.264658714375234860, -0.264706931151441170, -0.264755147265880180, +-0.264803362718431300, -0.264851577508974480, -0.264899791637388250, -0.264948005103552540, -0.264996217907347230, -0.265044430048650970, -0.265092641527343630, -0.265140852343304700, +-0.265189062496414050, -0.265237271986550340, -0.265285480813593430, -0.265333688977422820, -0.265381896477918430, -0.265430103314958870, -0.265478309488423990, -0.265526514998193410, +-0.265574719844146930, -0.265622924026163280, -0.265671127544122250, -0.265719330397903850, -0.265767532587386720, -0.265815734112450740, -0.265863934972975450, -0.265912135168840270, +-0.265960334699925250, -0.266008533566108930, -0.266056731767271240, -0.266104929303292210, -0.266153126174050400, -0.266201322379425730, -0.266249517919297850, -0.266297712793546530, +-0.266345907002050520, -0.266394100544689760, -0.266442293421343730, -0.266490485631892370, -0.266538677176214430, -0.266586868054189740, -0.266635058265697940, -0.266683247810618860, +-0.266731436688831260, -0.266779624900215060, -0.266827812444650260, -0.266875999322015440, -0.266924185532190660, -0.266972371075055450, -0.267020555950489680, -0.267068740158372120, +-0.267116923698582700, -0.267165106571000950, -0.267213288775506930, -0.267261470311979220, -0.267309651180297810, -0.267357831380342300, -0.267406010911992620, -0.267454189775127530, +-0.267502367969626900, -0.267550545495370830, -0.267598722352237970, -0.267646898540108260, -0.267695074058861340, -0.267743248908376750, -0.267791423088534430, -0.267839596599213140, +-0.267887769440292860, -0.267935941611653570, -0.267984113113173990, -0.268032283944734160, -0.268080454106213560, -0.268128623597492340, -0.268176792418449050, -0.268224960568963830, +-0.268273128048916230, -0.268321294858186180, -0.268369460996652490, -0.268417626464195150, -0.268465791260693750, -0.268513955386028290, -0.268562118840077520, -0.268610281622721440, +-0.268658443733840120, -0.268706605173312240, -0.268754765941017830, -0.268802926036836530, -0.268851085460647900, -0.268899244212331970, -0.268947402291767500, -0.268995559698834540, +-0.269043716433413130, -0.269091872495381970, -0.269140027884621160, -0.269188182601010240, -0.269236336644429360, -0.269284490014757130, -0.269332642711873740, -0.269380794735658680, +-0.269428946085992100, -0.269477096762752720, -0.269525246765820630, -0.269573396095075360, -0.269621544750397070, -0.269669692731664470, -0.269717840038757650, -0.269765986671556660, +-0.269814132629940310, -0.269862277913788580, -0.269910422522981140, -0.269958566457398130, -0.270006709716918260, -0.270054852301421570, -0.270102994210787820, -0.270151135444896940, +-0.270199276003627810, -0.270247415886860520, -0.270295555094474670, -0.270343693626350360, -0.270391831482366400, -0.270439968662402890, -0.270488105166339870, -0.270536240994056100, +-0.270584376145431790, -0.270632510620346490, -0.270680644418679950, -0.270728777540312220, -0.270776909985122160, -0.270825041752989770, -0.270873172843795200, -0.270921303257417310, +-0.270969432993736100, -0.271017562052631390, -0.271065690433983150, -0.271113818137670270, -0.271161945163572840, -0.271210071511570560, -0.271258197181543480, -0.271306322173370530, +-0.271354446486931740, -0.271402570122106890, -0.271450693078776010, -0.271498815356817970, -0.271546936956112870, -0.271595057876540870, -0.271643178117980830, -0.271691297680312800, +-0.271739416563416550, -0.271787534767171770, -0.271835652291458560, -0.271883769136155810, -0.271931885301143590, -0.271980000786302130, -0.272028115591510240, -0.272076229716648020, +-0.272124343161595280, -0.272172455926232070, -0.272220568010437310, -0.272268679414091110, -0.272316790137073270, -0.272364900179263850, -0.272413009540541710, -0.272461118220787110, +-0.272509226219879660, -0.272557333537699620, -0.272605440174125800, -0.272653546129038360, -0.272701651402317500, -0.272749755993842050, -0.272797859903492260, -0.272845963131147780, +-0.272894065676688890, -0.272942167539994340, -0.272990268720944400, -0.273038369219418760, -0.273086469035297650, -0.273134568168459930, -0.273182666618785820, -0.273230764386155010, +-0.273278861470447720, -0.273326957871542870, -0.273375053589320570, -0.273423148623661130, -0.273471242974443360, -0.273519336641547480, -0.273567429624853250, -0.273615521924240490, +-0.273663613539589290, -0.273711704470778690, -0.273759794717688800, -0.273807884280199860, -0.273855973158190770, -0.273904061351541770, -0.273952148860132580, -0.274000235683843460, +-0.274048321822553340, -0.274096407276142370, -0.274144492044490430, -0.274192576127477660, -0.274240659524983050, -0.274288742236886760, -0.274336824263068660, -0.274384905603408890, +-0.274432986257786450, -0.274481066226081540, -0.274529145508174370, -0.274577224103943920, -0.274625302013270400, -0.274673379236033630, -0.274721455772113430, -0.274769531621390010, +-0.274817606783742340, -0.274865681259050640, -0.274913755047195170, -0.274961828148054870, -0.275009900561510030, -0.275057972287440390, -0.275106043325726300, -0.275154113676246650, +-0.275202183338881750, -0.275250252313511360, -0.275298320600015740, -0.275346388198273890, -0.275394455108166130, -0.275442521329572200, -0.275490586862372380, -0.275538651706445700, +-0.275586715861672380, -0.275634779327932680, -0.275682842105105630, -0.275730904193071450, -0.275778965591710000, -0.275827026300901610, -0.275875086320525150, -0.275923145650461050, +-0.275971204290589080, -0.276019262240789490, -0.276067319500941320, -0.276115376070924900, -0.276163431950619990, -0.276211487139906950, -0.276259541638664730, -0.276307595446773690, +-0.276355648564114100, -0.276403700990564940, -0.276451752726006530, -0.276499803770318740, -0.276547854123381450, -0.276595903785074930, -0.276643952755278260, -0.276692001033871650, +-0.276740048620735530, -0.276788095515748790, -0.276836141718791890, -0.276884187229744560, -0.276932232048487270, -0.276980276174898900, -0.277028319608859870, -0.277076362350250070, +-0.277124404398949750, -0.277172445754838010, -0.277220486417795120, -0.277268526387701050, -0.277316565664436080, -0.277364604247879290, -0.277412642137910950, -0.277460679334411490, +-0.277508715837259830, -0.277556751646336420, -0.277604786761521170, -0.277652821182693910, -0.277700854909735010, -0.277748887942523560, -0.277796920280939890, -0.277844951924864360, +-0.277892982874176020, -0.277941013128755240, -0.277989042688481900, -0.278037071553236370, -0.278085099722897740, -0.278133127197346400, -0.278181153976462650, -0.278229180060125540, +-0.278277205448215550, -0.278325230140612500, -0.278373254137196380, -0.278421277437847560, -0.278469300042445130, -0.278517321950869420, -0.278565343163000860, -0.278613363678718530, +-0.278661383497902760, -0.278709402620433530, -0.278757421046191220, -0.278805438775054980, -0.278853455806905070, -0.278901472141621590, -0.278949487779084790, -0.278997502719173900, +-0.279045516961769210, -0.279093530506750790, -0.279141543353998880, -0.279189555503392750, -0.279237566954812720, -0.279285577708139220, -0.279333587763251290, -0.279381597120029410, +-0.279429605778353570, -0.279477613738103700, -0.279525620999160230, -0.279573627561402250, -0.279621633424710250, -0.279669638588964540, -0.279717643054044340, -0.279765646819830020, +-0.279813649886201610, -0.279861652253039440, -0.279909653920222770, -0.279957654887631970, -0.280005655155146970, -0.280053654722648320, -0.280101653590015100, -0.280149651757127690, +-0.280197649223866200, -0.280245645990111040, -0.280293642055741310, -0.280341637420637450, -0.280389632084679930, -0.280437626047747910, -0.280485619309721880, -0.280533611870481760, +-0.280581603729907590, -0.280629594887879860, -0.280677585344277670, -0.280725575098981550, -0.280773564151871930, -0.280821552502827980, -0.280869540151730160, -0.280917527098458460, +-0.280965513342893380, -0.281013498884914060, -0.281061483724401040, -0.281109467861234700, -0.281157451295294290, -0.281205434026460200, -0.281253416054612570, -0.281301397379631450, +-0.281349378001397200, -0.281397357919789090, -0.281445337134687560, -0.281493315645973130, -0.281541293453525020, -0.281589270557223600, -0.281637246956949080, -0.281685222652581830, +-0.281733197644001120, -0.281781171931087430, -0.281829145513720740, -0.281877118391781700, -0.281925090565149360, -0.281973062033704310, -0.282021032797326650, -0.282069002855896810, +-0.282116972209294050, -0.282164940857398850, -0.282212908800091700, -0.282260876037251860, -0.282308842568759880, -0.282356808394495730, -0.282404773514339570, -0.282452737928171940, +-0.282500701635871990, -0.282548664637320310, -0.282596626932397400, -0.282644588520982510, -0.282692549402956130, -0.282740509578198350, -0.282788469046589770, -0.282836427808009610, +-0.282884385862338330, -0.282932343209456090, -0.282980299849243440, -0.283028255781579590, -0.283076211006345110, -0.283124165523420070, -0.283172119332685100, -0.283220072434019370, +-0.283268024827303510, -0.283315976512417970, -0.283363927489242050, -0.283411877757656310, -0.283459827317540940, -0.283507776168776370, -0.283555724311241930, -0.283603671744818210, +-0.283651618469385300, -0.283699564484823750, -0.283747509791012880, -0.283795454387833270, -0.283843398275164970, -0.283891341452888630, -0.283939283920883470, -0.283987225679030120, +-0.284035166727209190, -0.284083107065299880, -0.284131046693182790, -0.284178985610738070, -0.284226923817845870, -0.284274861314386840, -0.284322798100240190, -0.284370734175286580, +-0.284418669539406530, -0.284466604192479430, -0.284514538134385760, -0.284562471365005790, -0.284610403884220040, -0.284658335691907850, -0.284706266787949860, -0.284754197172226160, +-0.284802126844617420, -0.284850055805002940, -0.284897984053263280, -0.284945911589278680, -0.284993838412929750, -0.285041764524095800, -0.285089689922657430, -0.285137614608495240, +-0.285185538581488600, -0.285233461841518100, -0.285281384388463950, -0.285329306222206370, -0.285377227342625940, -0.285425147749601980, -0.285473067443015200, -0.285520986422746150, +-0.285568904688674190, -0.285616822240680020, -0.285664739078643760, -0.285712655202446100, -0.285760570611966360, -0.285808485307085190, -0.285856399287682810, -0.285904312553639850, +-0.285952225104835700, -0.286000136941150950, -0.286048048062465920, -0.286095958468661150, -0.286143868159616070, -0.286191777135211320, -0.286239685395327570, -0.286287592939844130, +-0.286335499768641750, -0.286383405881600610, -0.286431311278601390, -0.286479215959523470, -0.286527119924247510, -0.286575023172653710, -0.286622925704622830, -0.286670827520034140, +-0.286718728618768460, -0.286766629000705930, -0.286814528665727260, -0.286862427613711830, -0.286910325844540350, -0.286958223358093460, -0.287006120154250590, -0.287054016232892390, +-0.287101911593899200, -0.287149806237151200, -0.287197700162529160, -0.287245593369912400, -0.287293485859181690, -0.287341377630217610, -0.287389268682899710, -0.287437159017108650, +-0.287485048632724730, -0.287532937529628550, -0.287580825707699610, -0.287628713166818650, -0.287676599906865840, -0.287724485927721980, -0.287772371229266520, -0.287820255811380100, +-0.287868139673943040, -0.287916022816836090, -0.287963905239938590, -0.288011786943131400, -0.288059667926295120, -0.288107548189309230, -0.288155427732054490, -0.288203306554411230, +-0.288251184656259650, -0.288299062037480570, -0.288346938697953360, -0.288394814637558840, -0.288442689856177710, -0.288490564353689420, -0.288538438129974710, -0.288586311184913900, +-0.288634183518387770, -0.288682055130275730, -0.288729926020458550, -0.288777796188816550, -0.288825665635230490, -0.288873534359579850, -0.288921402361745410, -0.288969269641607410, +-0.289017136199046680, -0.289065002033942700, -0.289112867146176180, -0.289160731535627940, -0.289208595202177450, -0.289256458145705440, -0.289304320366092330, -0.289352181863218820, +-0.289400042636964390, -0.289447902687209930, -0.289495762013835700, -0.289543620616722450, -0.289591478495749730, -0.289639335650798360, -0.289687192081748590, -0.289735047788481300, +-0.289782902770875980, -0.289830757028813390, -0.289878610562174290, -0.289926463370838270, -0.289974315454686100, -0.290022166813598160, -0.290070017447454750, -0.290117867356136760, +-0.290165716539523670, -0.290213564997496290, -0.290261412729935440, -0.290309259736720620, -0.290357106017732620, -0.290404951572851900, -0.290452796401959200, -0.290500640504934070, +-0.290548483881657380, -0.290596326532009450, -0.290644168455871150, -0.290692009653121970, -0.290739850123642780, -0.290787689867314010, -0.290835528884016370, -0.290883367173629560, +-0.290931204736034290, -0.290979041571111430, -0.291026877678740530, -0.291074713058802450, -0.291122547711177570, -0.291170381635746320, -0.291218214832389580, -0.291266047300986870, +-0.291313879041419030, -0.291361710053566920, -0.291409540337310090, -0.291457369892529410, -0.291505198719105350, -0.291553026816918690, -0.291600854185849020, -0.291648680825777220, +-0.291696506736584150, -0.291744331918149410, -0.291792156370353830, -0.291839980093077880, -0.291887803086201940, -0.291935625349606930, -0.291983446883172400, -0.292031267686779280, +-0.292079087760308440, -0.292126907103639420, -0.292174725716653150, -0.292222543599230110, -0.292270360751251070, -0.292318177172595730, -0.292365992863144910, -0.292413807822779150, +-0.292461622051379320, -0.292509435548824970, -0.292557248314997020, -0.292605060349775960, -0.292652871653042710, -0.292700682224676820, -0.292748492064559220, -0.292796301172570830, +-0.292844109548591250, -0.292891917192501410, -0.292939724104181790, -0.292987530283512820, -0.293035335730375490, -0.293083140444649340, -0.293130944426215400, -0.293178747674954500, +-0.293226550190746280, -0.293274351973471740, -0.293322153023011290, -0.293369953339245870, -0.293417752922055190, -0.293465551771320050, -0.293513349886921070, -0.293561147268739160, +-0.293608943916653930, -0.293656739830546350, -0.293704535010296920, -0.293752329455786610, -0.293800123166895020, -0.293847916143503090, -0.293895708385491840, -0.293943499892740880, +-0.293991290665131190, -0.294039080702543250, -0.294086870004857610, -0.294134658571955250, -0.294182446403715770, -0.294230233500020200, -0.294278019860749470, -0.294325805485783240, +-0.294373590375002550, -0.294421374528287870, -0.294469157945520140, -0.294516940626579130, -0.294564722571345750, -0.294612503779701000, -0.294660284251524520, -0.294708063986697410, +-0.294755842985100100, -0.294803621246613130, -0.294851398771117600, -0.294899175558493150, -0.294946951608620720, -0.294994726921381340, -0.295042501496654790, -0.295090275334321920, +-0.295138048434263330, -0.295185820796360130, -0.295233592420491910, -0.295281363306539700, -0.295329133454384110, -0.295376902863906050, -0.295424671534985360, -0.295472439467503010, +-0.295520206661339550, -0.295567973116375950, -0.295615738832492040, -0.295663503809568740, -0.295711268047487150, -0.295759031546126930, -0.295806794305369160, -0.295854556325094390, +-0.295902317605183260, -0.295950078145516720, -0.295997837945974560, -0.296045597006437840, -0.296093355326787540, -0.296141112906903430, -0.296188869746666530, -0.296236625845957450, +-0.296284381204657220, -0.296332135822645610, -0.296379889699803670, -0.296427642836012030, -0.296475395231151680, -0.296523146885102450, -0.296570897797745310, -0.296618647968960980, +-0.296666397398630380, -0.296714146086633430, -0.296761894032851080, -0.296809641237164410, -0.296857387699453250, -0.296905133419598620, -0.296952878397481130, -0.297000622632981880, +-0.297048366125980620, -0.297096108876358460, -0.297143850883996030, -0.297191592148774440, -0.297239332670573400, -0.297287072449274050, -0.297334811484756990, -0.297382549776903370, +-0.297430287325592900, -0.297478024130706730, -0.297525760192125950, -0.297573495509730330, -0.297621230083400970, -0.297668963913018500, -0.297716696998463700, -0.297764429339617500, +-0.297812160936359870, -0.297859891788571810, -0.297907621896134400, -0.297955351258927580, -0.298003079876832330, -0.298050807749729420, -0.298098534877499880, -0.298146261260023640, +-0.298193986897181680, -0.298241711788854780, -0.298289435934924020, -0.298337159335269280, -0.298384881989771590, -0.298432603898311720, -0.298480325060770770, -0.298528045477028550, +-0.298575765146966270, -0.298623484070464960, -0.298671202247404510, -0.298718919677666060, -0.298766636361130320, -0.298814352297678000, -0.298862067487190240, -0.298909781929546870, +-0.298957495624629030, -0.299005208572317880, -0.299052920772493290, -0.299100632225036410, -0.299148342929827950, -0.299196052886749000, -0.299243762095679540, -0.299291470556500680, +-0.299339178269093120, -0.299386885233338060, -0.299434591449115380, -0.299482296916306180, -0.299530001634791270, -0.299577705604451740, -0.299625408825167580, -0.299673111296819840, +-0.299720813019289770, -0.299768513992457300, -0.299816214216203470, -0.299863913690409100, -0.299911612414955400, -0.299959310389722230, -0.300007007614590810, -0.300054704089441850, +-0.300102399814156600, -0.300150094788614870, -0.300197789012697950, -0.300245482486286520, -0.300293175209261800, -0.300340867181503710, -0.300388558402893470, -0.300436248873312270, +-0.300483938592640050, -0.300531627560757960, -0.300579315777546760, -0.300627003242887330, -0.300674689956660800, -0.300722375918747060, -0.300770061129027490, -0.300817745587383110, +-0.300865429293693980, -0.300913112247841230, -0.300960794449705750, -0.301008475899168680, -0.301056156596110010, -0.301103836540410950, -0.301151515731952310, -0.301199194170615250, +-0.301246871856279850, -0.301294548788827220, -0.301342224968138230, -0.301389900394094130, -0.301437575066574810, -0.301485248985461580, -0.301532922150635650, -0.301580594561977000, +-0.301628266219366890, -0.301675937122686030, -0.301723607271815410, -0.301771276666636170, -0.301818945307028300, -0.301866613192873060, -0.301914280324051710, -0.301961946700444240, +-0.302009612321931910, -0.302057277188395590, -0.302104941299716430, -0.302152604655774540, -0.302200267256451100, -0.302247929101627070, -0.302295590191183570, -0.302343250525000660, +-0.302390910102959650, -0.302438568924941420, -0.302486226990827110, -0.302533884300496820, -0.302581540853831880, -0.302629196650713470, -0.302676851691021650, -0.302724505974637680, +-0.302772159501442430, -0.302819812271317270, -0.302867464284142130, -0.302915115539798270, -0.302962766038166690, -0.303010415779128630, -0.303058064762564080, -0.303105712988354370, +-0.303153360456380360, -0.303201007166523370, -0.303248653118663450, -0.303296298312681900, -0.303343942748460050, -0.303391586425877880, -0.303439229344816760, -0.303486871505157570, +-0.303534512906781240, -0.303582153549569020, -0.303629793433400960, -0.303677432558158430, -0.303725070923722750, -0.303772708529974010, -0.303820345376793480, -0.303867981464062020, +-0.303915616791661130, -0.303963251359470720, -0.304010885167372180, -0.304058518215246430, -0.304106150502974790, -0.304153782030437360, -0.304201412797515500, -0.304249042804090100, +-0.304296672050042520, -0.304344300535252850, -0.304391928259602370, -0.304439555222972560, -0.304487181425243390, -0.304534806866296300, -0.304582431546012170, -0.304630055464271960, +-0.304677678620957070, -0.304725301015947530, -0.304772922649124760, -0.304820543520370080, -0.304868163629563590, -0.304915782976586780, -0.304963401561320460, -0.305011019383646050, +-0.305058636443443660, -0.305106252740594720, -0.305153868274980530, -0.305201483046481260, -0.305249097054978320, -0.305296710300352600, -0.305344322782485080, -0.305391934501257230, +-0.305439545456549110, -0.305487155648242080, -0.305534765076217630, -0.305582373740355850, -0.305629981640538120, -0.305677588776645410, -0.305725195148559170, -0.305772800756159540, +-0.305820405599327880, -0.305868009677945250, -0.305915612991892960, -0.305963215541051270, -0.306010817325301500, -0.306058418344524740, -0.306106018598602310, -0.306153618087414430, +-0.306201216810842450, -0.306248814768767920, -0.306296411961070880, -0.306344008387632870, -0.306391604048334760, -0.306439198943057710, -0.306486793071683080, -0.306534386434091030, +-0.306581979030162990, -0.306629570859780430, -0.306677161922823570, -0.306724752219173780, -0.306772341748712100, -0.306819930511319950, -0.306867518506877600, -0.306915105735266420, +-0.306962692196367510, -0.307010277890062300, -0.307057862816230930, -0.307105446974754950, -0.307153030365515330, -0.307200612988393570, -0.307248194843269820, -0.307295775930025610, +-0.307343356248542420, -0.307390935798700360, -0.307438514580380960, -0.307486092593465320, -0.307533669837834420, -0.307581246313369750, -0.307628822019951560, -0.307676396957461300, +-0.307723971125780480, -0.307771544524789330, -0.307819117154369270, -0.307866689014401450, -0.307914260104767360, -0.307961830425347140, -0.308009399976022390, -0.308056968756674540, +-0.308104536767183860, -0.308152104007431820, -0.308199670477299510, -0.308247236176668050, -0.308294801105418960, -0.308342365263432390, -0.308389928650589900, -0.308437491266773060, +-0.308485053111862030, -0.308532614185738350, -0.308580174488283180, -0.308627734019377930, -0.308675292778902990, -0.308722850766739780, -0.308770407982769500, -0.308817964426873590, +-0.308865520098932310, -0.308913074998827250, -0.308960629126439510, -0.309008182481650630, -0.309055735064340860, -0.309103286874391760, -0.309150837911684850, -0.309198388176100460, +-0.309245937667520070, -0.309293486385824820, -0.309341034330895880, -0.309388581502614780, -0.309436127900861780, -0.309483673525518480, -0.309531218376466410, -0.309578762453585900, +-0.309626305756758420, -0.309673848285865250, -0.309721390040787860, -0.309768931021406570, -0.309816471227602920, -0.309864010659258120, -0.309911549316253700, -0.309959087198469980, +-0.310006624305788570, -0.310054160638090600, -0.310101696195257630, -0.310149230977170010, -0.310196764983709290, -0.310244298214757130, -0.310291830670193720, -0.310339362349900780, +-0.310386893253759450, -0.310434423381651340, -0.310481952733456690, -0.310529481309057160, -0.310577009108333970, -0.310624536131168640, -0.310672062377441550, -0.310719587847034300, +-0.310767112539828080, -0.310814636455704560, -0.310862159594543940, -0.310909681956227980, -0.310957203540638220, -0.311004724347655030, -0.311052244377160000, -0.311099763629034410, +-0.311147282103159390, -0.311194799799416610, -0.311242316717686370, -0.311289832857850330, -0.311337348219790140, -0.311384862803386180, -0.311432376608520080, -0.311479889635073000, +-0.311527401882926660, -0.311574913351961360, -0.311622424042058750, -0.311669933953100110, -0.311717443084967070, -0.311764951437540020, -0.311812459010700540, -0.311859965804329900, +-0.311907471818309800, -0.311954977052520620, -0.312002481506843950, -0.312049985181161560, -0.312097488075353760, -0.312144990189302200, -0.312192491522888190, -0.312239992075992960, +-0.312287491848498190, -0.312334990840284210, -0.312382489051232840, -0.312429986481225610, -0.312477483130143010, -0.312524978997866690, -0.312572474084277910, -0.312619968389258370, +-0.312667461912688520, -0.312714954654449980, -0.312762446614424090, -0.312809937792492440, -0.312857428188535570, -0.312904917802435180, -0.312952406634072420, -0.312999894683329060, +-0.313047381950085580, -0.313094868434223630, -0.313142354135624970, -0.313189839054169970, -0.313237323189740350, -0.313284806542217460, -0.313332289111482980, -0.313379770897417310, +-0.313427251899902230, -0.313474732118819040, -0.313522211554049410, -0.313569690205473870, -0.313617168072974070, -0.313664645156431390, -0.313712121455727470, -0.313759596970742850, +-0.313807071701359240, -0.313854545647458400, -0.313902018808920710, -0.313949491185628040, -0.313996962777461590, -0.314044433584302730, -0.314091903606033230, -0.314139372842533570, +-0.314186841293685460, -0.314234308959370660, -0.314281775839469700, -0.314329241933864250, -0.314376707242435720, -0.314424171765065820, -0.314471635501635090, -0.314519098452025300, +-0.314566560616117710, -0.314614021993794180, -0.314661482584935150, -0.314708942389422430, -0.314756401407137340, -0.314803859637961700, -0.314851317081775940, -0.314898773738461920, +-0.314946229607901420, -0.314993684689974850, -0.315041138984564100, -0.315088592491550520, -0.315136045210815450, -0.315183497142240700, -0.315230948285706750, -0.315278398641095470, +-0.315325848208288570, -0.315373296987166650, -0.315420744977611520, -0.315468192179504450, -0.315515638592727410, -0.315563084217160780, -0.315610529052686490, -0.315657973099185860, +-0.315705416356540700, -0.315752858824631610, -0.315800300503340350, -0.315847741392548340, -0.315895181492137410, -0.315942620801988090, -0.315990059321982260, -0.316037497052001680, +-0.316084933991926890, -0.316132370141639810, -0.316179805501021820, -0.316227240069954670, -0.316274673848319090, -0.316322106835996760, -0.316369539032869180, -0.316416970438818170, +-0.316464401053724310, -0.316511830877469480, -0.316559259909935050, -0.316606688151002900, -0.316654115600553570, -0.316701542258469030, -0.316748968124630990, -0.316796393198920110, +-0.316843817481218260, -0.316891240971406860, -0.316938663669367400, -0.316986085574981650, -0.317033506688130300, -0.317080927008695170, -0.317128346536558140, -0.317175765271599800, +-0.317223183213702080, -0.317270600362746400, -0.317318016718614650, -0.317365432281187410, -0.317412847050346610, -0.317460261025973690, -0.317507674207950510, -0.317555086596157720, +-0.317602498190477260, -0.317649908990790540, -0.317697318996979450, -0.317744728208924630, -0.317792136626508070, -0.317839544249611530, -0.317886951078115710, -0.317934357111902490, +-0.317981762350853400, -0.318029166794849940, -0.318076570443773910, -0.318123973297506080, -0.318171375355928320, -0.318218776618922510, -0.318266177086369400, -0.318313576758150810, +-0.318360975634148220, -0.318408373714243690, -0.318455770998317790, -0.318503167486252460, -0.318550563177929180, -0.318597958073229990, -0.318645352172035430, -0.318692745474227490, +-0.318740137979687700, -0.318787529688297930, -0.318834920599939010, -0.318882310714492690, -0.318929700031841070, -0.318977088551864800, -0.319024476274445800, -0.319071863199465570, +-0.319119249326806130, -0.319166634656348150, -0.319214019187973540, -0.319261402921563910, -0.319308785857001230, -0.319356167994166110, -0.319403549332940630, -0.319450929873206220, +-0.319498309614844930, -0.319545688557737460, -0.319593066701765740, -0.319640444046811800, -0.319687820592756300, -0.319735196339481280, -0.319782571286868270, -0.319829945434798810, +-0.319877318783154900, -0.319924691331817280, -0.319972063080667950, -0.320019434029588880, -0.320066804178460780, -0.320114173527165700, -0.320161542075585170, -0.320208909823601170, +-0.320256276771094530, -0.320303642917947160, -0.320351008264040730, -0.320398372809257150, -0.320445736553477250, -0.320493099496583000, -0.320540461638456010, -0.320587822978978250, +-0.320635183518030550, -0.320682543255494890, -0.320729902191253300, -0.320777260325186500, -0.320824617657176570, -0.320871974187105110, -0.320919329914853670, -0.320966684840304380, +-0.321014038963337910, -0.321061392283836400, -0.321108744801681780, -0.321156096516754860, -0.321203447428937750, -0.321250797538112030, -0.321298146844159690, -0.321345495346961610, +-0.321392843046399760, -0.321440189942356180, -0.321487536034711750, -0.321534881323348510, -0.321582225808148050, -0.321629569488992020, -0.321676912365762460, -0.321724254438340240, +-0.321771595706607350, -0.321818936170445880, -0.321866275829736700, -0.321913614684361800, -0.321960952734202890, -0.322008289979141990, -0.322055626419059940, -0.322102962053838810, +-0.322150296883360330, -0.322197630907506470, -0.322244964126158160, -0.322292296539197440, -0.322339628146505960, -0.322386958947965820, -0.322434288943457880, -0.322481618132864190, +-0.322528946516066890, -0.322576274092946810, -0.322623600863386040, -0.322670926827266280, -0.322718251984469180, -0.322765576334876900, -0.322812899878370250, -0.322860222614831380, +-0.322907544544142330, -0.322954865666183980, -0.323002185980838520, -0.323049505487987550, -0.323096824187513290, -0.323144142079296480, -0.323191459163219340, -0.323238775439163570, +-0.323286090907011270, -0.323333405566643360, -0.323380719417941890, -0.323428032460788660, -0.323475344695065730, -0.323522656120654010, -0.323569966737435710, -0.323617276545292880, +-0.323664585544106430, -0.323711893733758530, -0.323759201114130870, -0.323806507685105600, -0.323853813446563720, -0.323901118398387260, -0.323948422540458030, -0.323995725872658120, +-0.324043028394868540, -0.324090330106971360, -0.324137631008848350, -0.324184931100381660, -0.324232230381452270, -0.324279528851942280, -0.324326826511733890, -0.324374123360707980, +-0.324421419398746800, -0.324468714625732070, -0.324516009041545540, -0.324563302646069420, -0.324610595439184630, -0.324657887420773340, -0.324705178590717740, -0.324752468948898750, +-0.324799758495198650, -0.324847047229499140, -0.324894335151682420, -0.324941622261629430, -0.324988908559222410, -0.325036194044343090, -0.325083478716873710, -0.325130762576695260, +-0.325178045623689850, -0.325225327857739330, -0.325272609278725920, -0.325319889886530600, -0.325367169681035520, -0.325414448662122930, -0.325461726829673840, -0.325509004183570370, +-0.325556280723694410, -0.325603556449927780, -0.325650831362152670, -0.325698105460250020, -0.325745378744102140, -0.325792651213591240, -0.325839922868598310, -0.325887193709005540, +-0.325934463734694810, -0.325981732945548330, -0.326029001341447080, -0.326076268922273320, -0.326123535687908920, -0.326170801638236090, -0.326218066773135810, -0.326265331092490400, +-0.326312594596181670, -0.326359857284091840, -0.326407119156101930, -0.326454380212094280, -0.326501640451951070, -0.326548899875553360, -0.326596158482783390, -0.326643416273523000, +-0.326690673247654500, -0.326737929405058910, -0.326785184745618460, -0.326832439269215120, -0.326879692975731050, -0.326926945865047340, -0.326974197937046240, -0.327021449191609690, +-0.327068699628619900, -0.327115949247957950, -0.327163198049506110, -0.327210446033146750, -0.327257693198760800, -0.327304939546230630, -0.327352185075438170, -0.327399429786265180, +-0.327446673678594040, -0.327493916752305820, -0.327541159007282810, -0.327588400443407310, -0.327635641060560370, -0.327682880858624350, -0.327730119837481130, -0.327777357997013020, +-0.327824595337101120, -0.327871831857627690, -0.327919067558474720, -0.327966302439524520, -0.328013536500658060, -0.328060769741757850, -0.328108002162705640, -0.328155233763383900, +-0.328202464543673630, -0.328249694503457200, -0.328296923642616980, -0.328344151961034000, -0.328391379458590650, -0.328438606135168840, -0.328485831990650510, -0.328533057024918030, +-0.328580281237852550, -0.328627504629336260, -0.328674727199251670, -0.328721948947479860, -0.328769169873903200, -0.328816389978403570, -0.328863609260863390, -0.328910827721163810, +-0.328958045359187100, -0.329005262174815290, -0.329052478167930760, -0.329099693338414660, -0.329146907686149240, -0.329194121211016600, -0.329241333912899060, -0.329288545791677770, +-0.329335756847235150, -0.329382967079453530, -0.329430176488214040, -0.329477385073399130, -0.329524592834890770, -0.329571799772571340, -0.329619005886322040, -0.329666211176025180, +-0.329713415641562760, -0.329760619282817250, -0.329807822099669800, -0.329855024092002790, -0.329902225259698200, -0.329949425602638460, -0.329996625120704710, -0.330043823813779450, +-0.330091021681745030, -0.330138218724482620, -0.330185414941874700, -0.330232610333803240, -0.330279804900150240, -0.330326998640798120, -0.330374191555628140, -0.330421383644522610, +-0.330468574907364090, -0.330515765344033710, -0.330562954954413960, -0.330610143738386760, -0.330657331695834610, -0.330704518826638760, -0.330751705130681580, -0.330798890607845120, +-0.330846075258011910, -0.330893259081063040, -0.330940442076881060, -0.330987624245347940, -0.331034805586346240, -0.331081986099757030, -0.331129165785462920, -0.331176344643346280, +-0.331223522673288360, -0.331270699875171660, -0.331317876248878150, -0.331365051794289990, -0.331412226511289650, -0.331459400399758300, -0.331506573459578460, -0.331553745690632560, +-0.331600917092801930, -0.331648087665968980, -0.331695257410015760, -0.331742426324824920, -0.331789594410277500, -0.331836761666256140, -0.331883928092642890, -0.331931093689320220, +-0.331978258456169410, -0.332025422393072980, -0.332072585499912920, -0.332119747776571880, -0.332166909222931020, -0.332214069838872860, -0.332261229624280010, -0.332308388579033610, +-0.332355546703016260, -0.332402703996110050, -0.332449860458197520, -0.332497016089159880, -0.332544170888879720, -0.332591324857239130, -0.332638477994120660, -0.332685630299405570, +-0.332732781772976380, -0.332779932414715260, -0.332827082224504740, -0.332874231202226030, -0.332921379347761840, -0.332968526660994520, -0.333015673141805520, -0.333062818790077380, +-0.333109963605692120, -0.333157107588531950, -0.333204250738479480, -0.333251393055415960, -0.333298534539223920, -0.333345675189785970, -0.333392815006983420, -0.333439953990698870, +-0.333487092140814400, -0.333534229457212620, -0.333581365939774830, -0.333628501588383640, -0.333675636402921190, -0.333722770383270080, -0.333769903529311630, -0.333817035840928420, +-0.333864167318002610, -0.333911297960416800, -0.333958427768052350, -0.334005556740791800, -0.334052684878517800, -0.334099812181111620, -0.334146938648455960, -0.334194064280432970, +-0.334241189076924790, -0.334288313037814030, -0.334335436162982110, -0.334382558452311570, -0.334429679905685120, -0.334476800522983950, -0.334523920304090840, -0.334571039248887920, +-0.334618157357257860, -0.334665274629081910, -0.334712391064242830, -0.334759506662623160, -0.334806621424104330, -0.334853735348568940, -0.334900848435899180, -0.334947960685977320, +-0.334995072098686010, -0.335042182673906560, -0.335089292411521690, -0.335136401311413980, -0.335183509373464860, -0.335230616597556930, -0.335277722983572500, -0.335324828531394170, +-0.335371933240903360, -0.335419037111982680, -0.335466140144514480, -0.335513242338381260, -0.335560343693464600, -0.335607444209647000, -0.335654543886810870, -0.335701642724838710, +-0.335748740723612100, -0.335795837883013590, -0.335842934202925940, -0.335890029683230510, -0.335937124323810010, -0.335984218124546760, -0.336031311085322910, -0.336078403206021170, +-0.336125494486523070, -0.336172584926711200, -0.336219674526468280, -0.336266763285675730, -0.336313851204216310, -0.336360938281972280, -0.336408024518826290, -0.336455109914659820, +-0.336502194469355590, -0.336549278182795900, -0.336596361054863400, -0.336643443085439530, -0.336690524274407150, -0.336737604621648370, -0.336784684127046040, -0.336831762790481600, +-0.336878840611837760, -0.336925917590997210, -0.336972993727841450, -0.337020069022253180, -0.337067143474114760, -0.337114217083308520, -0.337161289849717110, -0.337208361773222050, +-0.337255432853706130, -0.337302503091051980, -0.337349572485141190, -0.337396641035856480, -0.337443708743080160, -0.337490775606694990, -0.337537841626582460, -0.337584906802625320, +-0.337631971134706390, -0.337679034622707040, -0.337726097266510090, -0.337773159065997970, -0.337820220021052890, -0.337867280131557700, -0.337914339397393900, -0.337961397818444250, +-0.338008455394591510, -0.338055512125717270, -0.338102568011704190, -0.338149623052434680, -0.338196677247791570, -0.338243730597656330, -0.338290783101911800, -0.338337834760440270, +-0.338384885573124570, -0.338431935539846240, -0.338478984660488090, -0.338526032934932440, -0.338573080363062160, -0.338620126944758790, -0.338667172679905040, -0.338714217568383820, +-0.338761261610076640, -0.338808304804866290, -0.338855347152635160, -0.338902388653265660, -0.338949429306640630, -0.338996469112641640, -0.339043508071151410, -0.339090546182052870, +-0.339137583445227540, -0.339184619860558260, -0.339231655427927440, -0.339278690147217840, -0.339325724018311130, -0.339372757041090160, -0.339419789215437250, -0.339466820541235280, +-0.339513851018365840, -0.339560880646711800, -0.339607909426155540, -0.339654937356579920, -0.339701964437866540, -0.339748990669898280, -0.339796016052557880, -0.339843040585727120, +-0.339890064269288690, -0.339937087103125150, -0.339984109087119290, -0.340031130221152720, -0.340078150505108310, -0.340125169938868600, -0.340172188522316340, -0.340219206255333200, +-0.340266223137802030, -0.340313239169605260, -0.340360254350625890, -0.340407268680745390, -0.340454282159846800, -0.340501294787812880, -0.340548306564525280, -0.340595317489866930, +-0.340642327563720320, -0.340689336785967860, -0.340736345156492480, -0.340783352675175840, -0.340830359341900810, -0.340877365156550320, -0.340924370119005950, -0.340971374229150690, +-0.341018377486866970, -0.341065379892037720, -0.341112381444544640, -0.341159382144270550, -0.341206381991098100, -0.341253380984910040, -0.341300379125588080, -0.341347376413015270, +-0.341394372847073910, -0.341441368427647110, -0.341488363154616450, -0.341535357027864920, -0.341582350047275330, -0.341629342212729500, -0.341676333524110310, -0.341723323981300290, +-0.341770313584181970, -0.341817302332638300, -0.341864290226550900, -0.341911277265802840, -0.341958263450276970, -0.342005248779855000, -0.342052233254419910, -0.342099216873854250, +-0.342146199638040990, -0.342193181546861790, -0.342240162600199630, -0.342287142797937090, -0.342334122139957120, -0.342381100626141410, -0.342428078256372950, -0.342475055030534270, +-0.342522030948508360, -0.342569006010176980, -0.342615980215423110, -0.342662953564129680, -0.342709926056178450, -0.342756897691452400, -0.342803868469834130, -0.342850838391206610, +-0.342897807455451560, -0.342944775662451960, -0.342991743012090460, -0.343038709504250030, -0.343085675138812380, -0.343132639915660560, -0.343179603834677100, -0.343226566895745100, +-0.343273529098746260, -0.343320490443563550, -0.343367450930080090, -0.343414410558177560, -0.343461369327739020, -0.343508327238647050, -0.343555284290784250, -0.343602240484033650, +-0.343649195818277020, -0.343696150293397450, -0.343743103909277870, -0.343790056665800150, -0.343837008562847270, -0.343883959600301880, -0.343930909778047020, -0.343977859095964460, +-0.344024807553937220, -0.344071755151847960, -0.344118701889579770, -0.344165647767014420, -0.344212592784034880, -0.344259536940523910, -0.344306480236364510, -0.344353422671438480, +-0.344400364245628920, -0.344447304958818870, -0.344494244810890080, -0.344541183801725710, -0.344588121931208410, -0.344635059199220770, -0.344681995605645940, -0.344728931150365680, +-0.344775865833263080, -0.344822799654221250, -0.344869732613121980, -0.344916664709848390, -0.344963595944283160, -0.345010526316309350, -0.345057455825808770, -0.345104384472664620, +-0.345151312256759430, -0.345198239177976430, -0.345245165236197420, -0.345292090431305490, -0.345339014763183290, -0.345385938231713980, -0.345432860836779430, -0.345479782578262730, +-0.345526703456047020, -0.345573623470014080, -0.345620542620047100, -0.345667460906028790, -0.345714378327842240, -0.345761294885369270, -0.345808210578493090, -0.345855125407096400, +-0.345902039371062340, -0.345948952470272740, -0.345995864704610740, -0.346042776073959110, -0.346089686578200940, -0.346136596217218100, -0.346183504990893840, -0.346230412899111160, +-0.346277319941752090, -0.346324226118699730, -0.346371131429836780, -0.346418035875045990, -0.346464939454210530, -0.346511842167212310, -0.346558744013934490, -0.346605644994260220, +-0.346652545108071420, -0.346699444355251240, -0.346746342735682500, -0.346793240249248290, -0.346840136895830540, -0.346887032675312460, -0.346933927587576800, -0.346980821632506760, +-0.347027714809984230, -0.347074607119892410, -0.347121498562114110, -0.347168389136532420, -0.347215278843029380, -0.347262167681488150, -0.347309055651791930, -0.347355942753822590, +-0.347402828987463440, -0.347449714352597190, -0.347496598849106720, -0.347543482476875110, -0.347590365235784400, -0.347637247125717750, -0.347684128146558410, -0.347731008298188370, +-0.347777887580490770, -0.347824765993348440, -0.347871643536644630, -0.347918520210261320, -0.347965396014081660, -0.348012270947988980, -0.348059145011865190, -0.348106018205593500, +-0.348152890529056790, -0.348199761982137870, -0.348246632564719940, -0.348293502276684990, -0.348340371117916330, -0.348387239088297160, -0.348434106187709420, -0.348480972416036480, +-0.348527837773161100, -0.348574702258966530, -0.348621565873334760, -0.348668428616149110, -0.348715290487292380, -0.348762151486647850, -0.348809011614097500, -0.348855870869524630, +-0.348902729252812070, -0.348949586763843130, -0.348996443402499800, -0.349043299168665330, -0.349090154062223100, -0.349137008083055030, -0.349183861231044390, -0.349230713506074150, +-0.349277564908027140, -0.349324415436786610, -0.349371265092234650, -0.349418113874254480, -0.349464961782729460, -0.349511808817541620, -0.349558654978574300, -0.349605500265710300, +-0.349652344678832990, -0.349699188217824360, -0.349746030882567780, -0.349792872672946120, -0.349839713588842750, -0.349886553630139600, -0.349933392796720090, -0.349980231088467150, +-0.350027068505263990, -0.350073905046992760, -0.350120740713536770, -0.350167575504779340, -0.350214409420602560, -0.350261242460889740, -0.350308074625523820, -0.350354905914387730, +-0.350401736327364770, -0.350448565864337090, -0.350495394525187960, -0.350542222309800760, -0.350589049218057610, -0.350635875249841860, -0.350682700405036350, -0.350729524683524580, +-0.350776348085188540, -0.350823170609911640, -0.350869992257577200, -0.350916813028067380, -0.350963632921265530, -0.351010451937054660, -0.351057270075317560, -0.351104087335937790, +-0.351150903718797310, -0.351197719223779630, -0.351244533850768040, -0.351291347599644700, -0.351338160470292980, -0.351384972462595870, -0.351431783576436730, -0.351478593811697770, +-0.351525403168262250, -0.351572211646013270, -0.351619019244834190, -0.351665825964607100, -0.351712631805215450, -0.351759436766542260, -0.351806240848470900, -0.351853044050883470, +-0.351899846373663450, -0.351946647816694210, -0.351993448379857960, -0.352040248063038130, -0.352087046866117640, -0.352133844788979520, -0.352180641831507210, -0.352227437993582910, +-0.352274233275090000, -0.352321027675911890, -0.352367821195930800, -0.352414613835030200, -0.352461405593093020, -0.352508196470002750, -0.352554986465641600, -0.352601775579892970, +-0.352648563812639930, -0.352695351163765880, -0.352742137633152990, -0.352788923220684780, -0.352835707926244300, -0.352882491749714920, -0.352929274690978960, -0.352976056749919720, +-0.353022837926420810, -0.353069618220364420, -0.353116397631633940, -0.353163176160112450, -0.353209953805683490, -0.353256730568229150, -0.353303506447633030, -0.353350281443778170, +-0.353397055556547990, -0.353443828785824750, -0.353490601131492000, -0.353537372593432650, -0.353584143171530360, -0.353630912865667280, -0.353677681675726880, -0.353724449601592720, +-0.353771216643147040, -0.353817982800273320, -0.353864748072854620, -0.353911512460774010, -0.353958275963915100, -0.354005038582160040, -0.354051800315392410, -0.354098561163495700, +-0.354145321126352160, -0.354192080203845350, -0.354238838395858290, -0.354285595702274580, -0.354332352122976420, -0.354379107657847410, -0.354425862306770640, -0.354472616069629650, +-0.354519368946306700, -0.354566120936685270, -0.354612872040648560, -0.354659622258080120, -0.354706371588862200, -0.354753120032878340, -0.354799867590012090, -0.354846614260145740, +-0.354893360043162910, -0.354940104938946620, -0.354986848947380140, -0.355033592068346890, -0.355080334301729250, -0.355127075647410810, -0.355173816105275040, -0.355220555675204390, +-0.355267294357082260, -0.355314032150791990, -0.355360769056217000, -0.355407505073239650, -0.355454240201743600, -0.355500974441611880, -0.355547707792728210, -0.355594440254974830, +-0.355641171828235350, -0.355687902512392910, -0.355734632307331160, -0.355781361212932410, -0.355828089229080270, -0.355874816355658260, -0.355921542592548880, -0.355968267939635600, +-0.356014992396801620, -0.356061715963930600, -0.356108438640904910, -0.356155160427608090, -0.356201881323923390, -0.356248601329734400, -0.356295320444923460, -0.356342038669374250, +-0.356388756002969930, -0.356435472445594150, -0.356482187997129220, -0.356528902657458900, -0.356575616426466680, -0.356622329304035040, -0.356669041290047560, -0.356715752384387460, +-0.356762462586938000, -0.356809171897582820, -0.356855880316204240, -0.356902587842686030, -0.356949294476911700, -0.356996000218763760, -0.357042705068125800, -0.357089409024881070, +-0.357136112088913270, -0.357182814260104730, -0.357229515538339200, -0.357276215923499840, -0.357322915415470340, -0.357369614014133200, -0.357416311719371990, -0.357463008531069990, +-0.357509704449110900, -0.357556399473377140, -0.357603093603752360, -0.357649786840120280, -0.357696479182363300, -0.357743170630365150, -0.357789861184009070, -0.357836550843178340, +-0.357883239607756640, -0.357929927477626420, -0.357976614452671370, -0.358023300532775200, -0.358069985717820390, -0.358116670007690600, -0.358163353402269120, -0.358210035901439680, +-0.358256717505084750, -0.358303398213088040, -0.358350078025332810, -0.358396756941702810, -0.358443434962080480, -0.358490112086349570, -0.358536788314393400, -0.358583463646095670, +-0.358630138081338870, -0.358676811620006700, -0.358723484261982920, -0.358770156007150070, -0.358816826855391740, -0.358863496806591410, -0.358910165860632730, -0.358956834017398200, +-0.359003501276771610, -0.359050167638636290, -0.359096833102875930, -0.359143497669373090, -0.359190161338011520, -0.359236824108674520, -0.359283485981245880, -0.359330146955608110, +-0.359376807031644980, -0.359423466209240210, -0.359470124488276420, -0.359516781868637280, -0.359563438350206210, -0.359610093932866530, -0.359656748616501990, -0.359703402400995240, +-0.359750055286229940, -0.359796707272089900, -0.359843358358457710, -0.359890008545217130, -0.359936657832251540, -0.359983306219444690, -0.360029953706679170, -0.360076600293838760, +-0.360123245980806860, -0.360169890767467250, -0.360216534653702460, -0.360263177639396410, -0.360309819724432380, -0.360356460908694220, -0.360403101192064480, -0.360449740574426970, +-0.360496379055665560, -0.360543016635662790, -0.360589653314302430, -0.360636289091468000, -0.360682923967042820, -0.360729557940910720, -0.360776191012954330, -0.360822823183057470, +-0.360869454451103970, -0.360916084816976460, -0.360962714280558650, -0.361009342841734140, -0.361055970500386620, -0.361102597256398760, -0.361149223109654470, -0.361195848060037460, +-0.361242472107430490, -0.361289095251717260, -0.361335717492781370, -0.361382338830506130, -0.361428959264775470, -0.361475578795472040, -0.361522197422479600, -0.361568815145682120, +-0.361615431964962210, -0.361662047880203670, -0.361708662891290060, -0.361755276998105170, -0.361801890200531660, -0.361848502498453460, -0.361895113891753990, -0.361941724380317130, +-0.361988333964025580, -0.362034942642763150, -0.362081550416413430, -0.362128157284860200, -0.362174763247986140, -0.362221368305675250, -0.362267972457811280, -0.362314575704277000, +-0.362361178044956270, -0.362407779479732630, -0.362454380008489510, -0.362500979631110830, -0.362547578347479300, -0.362594176157478850, -0.362640773060993350, -0.362687369057905550, +-0.362733964148099270, -0.362780558331458110, -0.362827151607865940, -0.362873743977205510, -0.362920335439360700, -0.362966925994215090, -0.363013515641652520, -0.363060104381555780, +-0.363106692213808810, -0.363153279138295040, -0.363199865154898550, -0.363246450263501940, -0.363293034463989200, -0.363339617756244350, -0.363386200140150000, -0.363432781615590120, +-0.363479362182448310, -0.363525941840608100, -0.363572520589953490, -0.363619098430367100, -0.363665675361733000, -0.363712251383935090, -0.363758826496856150, -0.363805400700380200, +-0.363851973994390680, -0.363898546378771670, -0.363945117853405890, -0.363991688418177250, -0.364038258072969860, -0.364084826817666410, -0.364131394652150890, -0.364177961576306890, +-0.364224527590018000, -0.364271092693168150, -0.364317656885640220, -0.364364220167318060, -0.364410782538085840, -0.364457343997826260, -0.364503904546423290, -0.364550464183760530, +-0.364597022909722070, -0.364643580724190560, -0.364690137627050210, -0.364736693618184450, -0.364783248697477360, -0.364829802864811760, -0.364876356120071690, -0.364922908463140680, +-0.364969459893902840, -0.365016010412240910, -0.365062560018038940, -0.365109108711181020, -0.365155656491549910, -0.365202203359029640, -0.365248749313503870, -0.365295294354856250, +-0.365341838482970750, -0.365388381697730300, -0.365434923999018890, -0.365481465386720550, -0.365528005860718150, -0.365574545420895740, -0.365621084067137000, -0.365667621799325880, +-0.365714158617345350, -0.365760694521079450, -0.365807229510411780, -0.365853763585226420, -0.365900296745406250, -0.365946828990835360, -0.365993360321397400, -0.366039890736976460, +-0.366086420237455360, -0.366132948822718180, -0.366179476492649090, -0.366226003247130890, -0.366272529086047680, -0.366319054009283110, -0.366365578016721370, -0.366412101108245240, +-0.366458623283738900, -0.366505144543085970, -0.366551664886170580, -0.366598184312875610, -0.366644702823085200, -0.366691220416683060, -0.366737737093553230, -0.366784252853578690, +-0.366830767696643470, -0.366877281622631780, -0.366923794631426440, -0.366970306722911640, -0.367016817896971050, -0.367063328153488470, -0.367109837492347930, -0.367156345913432380, +-0.367202853416626010, -0.367249360001812910, -0.367295865668875950, -0.367342370417699350, -0.367388874248166850, -0.367435377160162560, -0.367481879153569450, -0.367528380228271560, +-0.367574880384152760, -0.367621379621097200, -0.367667877938987750, -0.367714375337708620, -0.367760871817143560, -0.367807367377176730, -0.367853862017691050, -0.367900355738570720, +-0.367946848539699890, -0.367993340420961550, -0.368039831382239890, -0.368086321423418570, -0.368132810544381520, -0.368179298745012820, -0.368225786025195510, -0.368272272384813690, +-0.368318757823751620, -0.368365242341892220, -0.368411725939119750, -0.368458208615317920, -0.368504690370371040, -0.368551171204161980, -0.368597651116575000, -0.368644130107493860, +-0.368690608176802880, -0.368737085324384930, -0.368783561550124260, -0.368830036853904700, -0.368876511235610440, -0.368922984695124470, -0.368969457232331100, -0.369015928847114480, +-0.369062399539357600, -0.369108869308944710, -0.369155338155759680, -0.369201806079686720, -0.369248273080608810, -0.369294739158410270, -0.369341204312974790, -0.369387668544186810, +-0.369434131851929190, -0.369480594236086260, -0.369527055696541820, -0.369573516233180190, -0.369619975845884300, -0.369666434534538510, -0.369712892299027040, -0.369759349139232920, +-0.369805805055040460, -0.369852260046333480, -0.369898714112995800, -0.369945167254911830, -0.369991619471964460, -0.370038070764038050, -0.370084521131016920, -0.370130970572784050, +-0.370177419089223750, -0.370223866680219890, -0.370270313345656740, -0.370316759085417500, -0.370363203899386260, -0.370409647787447060, -0.370456090749484160, -0.370502532785380590, +-0.370548973895020730, -0.370595414078288390, -0.370641853335067940, -0.370688291665242480, -0.370734729068696260, -0.370781165545313650, -0.370827601094977700, -0.370874035717572710, +-0.370920469412982680, -0.370966902181091460, -0.371013334021783440, -0.371059764934941580, -0.371106194920450380, -0.371152623978194100, -0.371199052108055820, -0.371245479309919910, +-0.371291905583670310, -0.371338330929191380, -0.371384755346366220, -0.371431178835079150, -0.371477601395214130, -0.371524023026655490, -0.371570443729286440, -0.371616863502991220, +-0.371663282347653890, -0.371709700263158750, -0.371756117249388950, -0.371802533306228870, -0.371848948433562810, -0.371895362631274040, -0.371941775899246820, -0.371988188237365180, +-0.372034599645513440, -0.372081010123574860, -0.372127419671433700, -0.372173828288974000, -0.372220235976080170, -0.372266642732635320, -0.372313048558523870, -0.372359453453629750, +-0.372405857417837490, -0.372452260451030140, -0.372498662553092110, -0.372545063723907890, -0.372591463963360570, -0.372637863271334580, -0.372684261647713900, -0.372730659092382620, +-0.372777055605225120, -0.372823451186124530, -0.372869845834965300, -0.372916239551631890, -0.372962632336007460, -0.373009024187976490, -0.373055415107422910, -0.373101805094231240, +-0.373148194148284600, -0.373194582269467500, -0.373240969457664000, -0.373287355712758400, -0.373333741034634070, -0.373380125423175340, -0.373426508878266280, -0.373472891399791400, +-0.373519272987633880, -0.373565653641678150, -0.373612033361808700, -0.373658412147908790, -0.373704789999862840, -0.373751166917554890, -0.373797542900869030, -0.373843917949689740, +-0.373890292063900230, -0.373936665243385040, -0.373983037488028520, -0.374029408797714070, -0.374075779172326040, -0.374122148611748580, -0.374168517115866130, -0.374214884684562040, +-0.374261251317720700, -0.374307617015226250, -0.374353981776963110, -0.374400345602814650, -0.374446708492665370, -0.374493070446399230, -0.374539431463900900, -0.374585791545053560, +-0.374632150689741710, -0.374678508897849930, -0.374724866169261430, -0.374771222503860800, -0.374817577901532140, -0.374863932362159870, -0.374910285885627410, -0.374956638471819200, +-0.375002990120619440, -0.375049340831912600, -0.375095690605581960, -0.375142039441512140, -0.375188387339587200, -0.375234734299691730, -0.375281080321708980, -0.375327425405523550, +-0.375373769551019980, -0.375420112758081510, -0.375466455026592820, -0.375512796356437970, -0.375559136747501130, -0.375605476199666890, -0.375651814712818500, -0.375698152286840610, +-0.375744488921617710, -0.375790824617033230, -0.375837159372971630, -0.375883493189317190, -0.375929826065954380, -0.375976158002766630, -0.376022488999638470, -0.376068819056454060, +-0.376115148173098050, -0.376161476349453740, -0.376207803585405790, -0.376254129880838280, -0.376300455235635880, -0.376346779649681880, -0.376393103122861010, -0.376439425655057720, +-0.376485747246155520, -0.376532067896038880, -0.376578387604592110, -0.376624706371699370, -0.376671024197245300, -0.376717341081113210, -0.376763657023187810, -0.376809972023353700, +-0.376856286081494190, -0.376902599197493970, -0.376948911371237260, -0.376995222602608700, -0.377041532891491670, -0.377087842237770810, -0.377134150641330770, -0.377180458102054920, +-0.377226764619827900, -0.377273070194533990, -0.377319374826057430, -0.377365678514282820, -0.377411981259093590, -0.377458283060374430, -0.377504583918009950, -0.377550883831883620, +-0.377597182801880090, -0.377643480827883570, -0.377689777909778810, -0.377736074047449130, -0.377782369240779290, -0.377828663489653550, -0.377874956793956550, -0.377921249153571730, +-0.377967540568383830, -0.378013831038277020, -0.378060120563136090, -0.378106409142844440, -0.378152696777286750, -0.378198983466347730, -0.378245269209910860, -0.378291554007860800, +-0.378337837860081850, -0.378384120766458330, -0.378430402726874890, -0.378476683741215070, -0.378522963809363510, -0.378569242931204970, -0.378615521106622890, -0.378661798335502060, +-0.378708074617726650, -0.378754349953181520, -0.378800624341750100, -0.378846897783317090, -0.378893170277766870, -0.378939441824984120, -0.378985712424852350, -0.379031982077256360, +-0.379078250782080350, -0.379124518539209140, -0.379170785348526220, -0.379217051209916330, -0.379263316123264250, -0.379309580088453450, -0.379355843105368680, -0.379402105173894330, +-0.379448366293915100, -0.379494626465314570, -0.379540885687977450, -0.379587143961788160, -0.379633401286631370, -0.379679657662390700, -0.379725913088950870, -0.379772167566196250, +-0.379818421094011650, -0.379864673672280610, -0.379910925300887830, -0.379957175979718180, -0.380003425708655140, -0.380049674487583590, -0.380095922316387780, -0.380142169194952250, +-0.380188415123161650, -0.380234660100899620, -0.380280904128050930, -0.380327147204500390, -0.380373389330131590, -0.380419630504829350, -0.380465870728477980, -0.380512110000962360, +-0.380558348322166060, -0.380604585691973860, -0.380650822110270240, -0.380697057576939950, -0.380743292091866580, -0.380789525654935010, -0.380835758266029610, -0.380881989925035250, +-0.380928220631835510, -0.380974450386315220, -0.381020679188359190, -0.381066907037851070, -0.381113133934675660, -0.381159359878717410, -0.381205584869860780, -0.381251808907990600, +-0.381298031992990500, -0.381344254124745260, -0.381390475303139850, -0.381436695528057870, -0.381482914799384070, -0.381529133117003040, -0.381575350480799600, -0.381621566890657290, +-0.381667782346461150, -0.381713996848095540, -0.381760210395445330, -0.381806422988394180, -0.381852634626826950, -0.381898845310628180, -0.381945055039682680, -0.381991263813874160, +-0.382037471633087430, -0.382083678497207480, -0.382129884406117950, -0.382176089359703650, -0.382222293357849130, -0.382268496400439310, -0.382314698487357830, -0.382360899618489570, +-0.382407099793719120, -0.382453299012931290, -0.382499497276009850, -0.382545694582839600, -0.382591890933305150, -0.382638086327291400, -0.382684280764682030, -0.382730474245361940, +-0.382776666769216070, -0.382822858336128110, -0.382869048945983000, -0.382915238598665280, -0.382961427294059460, -0.383007615032050500, -0.383053801812522080, -0.383099987635359180, +-0.383146172500446690, -0.383192356407668360, -0.383238539356909160, -0.383284721348053580, -0.383330902380986660, -0.383377082455592040, -0.383423261571754710, -0.383469439729359210, +-0.383515616928290560, -0.383561793168432420, -0.383607968449669820, -0.383654142771887310, -0.383700316134969850, -0.383746488538801170, -0.383792659983266280, -0.383838830468250130, +-0.383884999993636510, -0.383931168559310420, -0.383977336165156390, -0.384023502811058960, -0.384069668496903270, -0.384115833222572980, -0.384161996987953060, -0.384208159792928610, +-0.384254321637383320, -0.384300482521202250, -0.384346642444269910, -0.384392801406471470, -0.384438959407690570, -0.384485116447812250, -0.384531272526721150, -0.384577427644302310, +-0.384623581800439480, -0.384669734995017660, -0.384715887227921550, -0.384762038499036120, -0.384808188808245130, -0.384854338155433740, -0.384900486540486860, -0.384946633963288430, +-0.384992780423723370, -0.385038925921676320, -0.385085070457032440, -0.385131214029675430, -0.385177356639490380, -0.385223498286361930, -0.385269638970175190, -0.385315778690813900, +-0.385361917448163170, -0.385408055242107640, -0.385454192072532400, -0.385500327939321320, -0.385546462842359330, -0.385592596781531630, -0.385638729756722030, -0.385684861767815630, +-0.385730992814697030, -0.385777122897250970, -0.385823252015362550, -0.385869380168915530, -0.385915507357795060, -0.385961633581886290, -0.386007758841072970, -0.386053883135240310, +-0.386100006464272890, -0.386146128828055880, -0.386192250226473130, -0.386238370659409750, -0.386284490126750480, -0.386330608628380370, -0.386376726164183340, -0.386422842734044480, +-0.386468958337848500, -0.386515072975480540, -0.386561186646824540, -0.386607299351765520, -0.386653411090188690, -0.386699521861977870, -0.386745631667018310, -0.386791740505194660, +-0.386837848376391620, -0.386883955280494410, -0.386930061217386880, -0.386976166186954180, -0.387022270189081530, -0.387068373223652730, -0.387114475290553040, -0.387160576389667170, +-0.387206676520880260, -0.387252775684076230, -0.387298873879140250, -0.387344971105957110, -0.387391067364411980, -0.387437162654388710, -0.387483256975772570, -0.387529350328448260, +-0.387575442712301040, -0.387621534127214780, -0.387667624573074630, -0.387713714049765900, -0.387759802557172460, -0.387805890095179460, -0.387851976663671830, -0.387898062262534590, +-0.387944146891651800, -0.387990230550908640, -0.388036313240189950, -0.388082394959380850, -0.388128475708365340, -0.388174555487028670, -0.388220634295255610, -0.388266712132931350, +-0.388312788999939930, -0.388358864896166500, -0.388404939821496320, -0.388451013775813430, -0.388497086759002960, -0.388543158770949800, -0.388589229811538710, -0.388635299880654980, +-0.388681368978182620, -0.388727437104006810, -0.388773504258012770, -0.388819570440084640, -0.388865635650107510, -0.388911699887966370, -0.388957763153546350, -0.389003825446731510, +-0.389049886767407090, -0.389095947115457970, -0.389142006490769410, -0.389188064893225380, -0.389234122322711210, -0.389280178779111750, -0.389326234262312280, -0.389372288772196760, +-0.389418342308650520, -0.389464394871558870, -0.389510446460805790, -0.389556497076276600, -0.389602546717856160, -0.389648595385429400, -0.389694643078881520, -0.389740689798096620, +-0.389786735542960010, -0.389832780313357000, -0.389878824109171570, -0.389924866930289100, -0.389970908776594460, -0.390016949647973010, -0.390062989544308740, -0.390109028465486950, +-0.390155066411393080, -0.390201103381911050, -0.390247139376926340, -0.390293174396323720, -0.390339208439988210, -0.390385241507805070, -0.390431273599658460, -0.390477304715433570, +-0.390523334855015890, -0.390569364018289460, -0.390615392205139630, -0.390661419415451290, -0.390707445649109860, -0.390753470905999380, -0.390799495186005210, -0.390845518489012280, +-0.390891540814906010, -0.390937562163570450, -0.390983582534891020, -0.391029601928752580, -0.391075620345040620, -0.391121637783639120, -0.391167654244433560, -0.391213669727309310, +-0.391259684232150410, -0.391305697758842330, -0.391351710307270010, -0.391397721877318420, -0.391443732468872930, -0.391489742081817690, -0.391535750716038080, -0.391581758371419510, +-0.391627765047846190, -0.391673770745203380, -0.391719775463376220, -0.391765779202249980, -0.391811781961708900, -0.391857783741638320, -0.391903784541923320, -0.391949784362449320, +-0.391995783203100360, -0.392041781063761970, -0.392087777944319150, -0.392133773844657310, -0.392179768764660600, -0.392225762704214440, -0.392271755663204320, -0.392317747641514390, +-0.392363738639030070, -0.392409728655636450, -0.392455717691218450, -0.392501705745661620, -0.392547692818850100, -0.392593678910669320, -0.392639664021004810, -0.392685648149740660, +-0.392731631296762470, -0.392777613461955170, -0.392823594645204220, -0.392869574846393840, -0.392915554065409620, -0.392961532302136870, -0.393007509556459860, -0.393053485828264100, +-0.393099461117434660, -0.393145435423856550, -0.393191408747415210, -0.393237381087995000, -0.393283352445481290, -0.393329322819759630, -0.393375292210714270, -0.393421260618230680, +-0.393467228042193920, -0.393513194482489500, -0.393559159939001700, -0.393605124411615990, -0.393651087900217470, -0.393697050404691610, -0.393743011924922730, -0.393788972460796360, +-0.393834932012197490, -0.393880890579011770, -0.393926848161123390, -0.393972804758417890, -0.394018760370780760, -0.394064714998096370, -0.394110668640250130, -0.394156621297127250, +-0.394202572968612830, -0.394248523654592400, -0.394294473354950210, -0.394340422069571870, -0.394386369798342850, -0.394432316541147520, -0.394478262297871420, -0.394524207068399630, +-0.394570150852617760, -0.394616093650410060, -0.394662035461662180, -0.394707976286259200, -0.394753916124086670, -0.394799854975028900, -0.394845792838971590, -0.394891729715799720, +-0.394937665605398950, -0.394983600507653630, -0.395029534422449310, -0.395075467349671530, -0.395121399289204700, -0.395167330240934370, -0.395213260204745680, -0.395259189180524270, +-0.395305117168154470, -0.395351044167521930, -0.395396970178511720, -0.395442895201009500, -0.395488819234899700, -0.395534742280067800, -0.395580664336399050, -0.395626585403779040, +-0.395672505482092150, -0.395718424571224030, -0.395764342671060200, -0.395810259781485150, -0.395856175902384420, -0.395902091033643270, -0.395948005175146890, -0.395993918326780940, +-0.396039830488429720, -0.396085741659979010, -0.396131651841314270, -0.396177561032320050, -0.396223469232881880, -0.396269376442885070, -0.396315282662215220, -0.396361187890756750, +-0.396407092128395310, -0.396452995375016160, -0.396498897630504940, -0.396544798894746030, -0.396590699167625130, -0.396636598449027490, -0.396682496738838760, -0.396728394036943380, +-0.396774290343227030, -0.396820185657575320, -0.396866079979872780, -0.396911973310005000, -0.396957865647857340, -0.397003756993314970, -0.397049647346263630, -0.397095536706587760, +-0.397141425074173100, -0.397187312448905210, -0.397233198830668650, -0.397279084219349150, -0.397324968614831910, -0.397370852017002620, -0.397416734425745820, -0.397462615840947160, +-0.397508496262492020, -0.397554375690265970, -0.397600254124153620, -0.397646131564040610, -0.397692008009812300, -0.397737883461354360, -0.397783757918551310, -0.397829631381288850, +-0.397875503849452750, -0.397921375322927480, -0.397967245801598760, -0.398013115285351940, -0.398058983774072670, -0.398104851267645610, -0.398150717765956400, -0.398196583268890400, +-0.398242447776333330, -0.398288311288169770, -0.398334173804285370, -0.398380035324565620, -0.398425895848896150, -0.398471755377161510, -0.398517613909247500, -0.398563471445039840, +-0.398609327984423110, -0.398655183527283070, -0.398701038073505100, -0.398746891622974500, -0.398792744175577090, -0.398838595731197400, -0.398884446289721200, -0.398930295851034340, +-0.398976144415021330, -0.399021991981567900, -0.399067838550559550, -0.399113684121881970, -0.399159528695419820, -0.399205372271058790, -0.399251214848684370, -0.399297056428182310, +-0.399342897009437200, -0.399388736592334870, -0.399434575176760680, -0.399480412762600430, -0.399526249349738790, -0.399572084938061510, -0.399617919527454400, -0.399663753117802110, +-0.399709585708990460, -0.399755417300904800, -0.399801247893430630, -0.399847077486453760, -0.399892906079858720, -0.399938733673531500, -0.399984560267357790, -0.400030385861222300, +-0.400076210455010850, -0.400122034048608850, -0.400167856641902190, -0.400213678234775490, -0.400259498827114590, -0.400305318418804900, -0.400351137009732350, -0.400396954599781580, +-0.400442771188838420, -0.400488586776788280, -0.400534401363517150, -0.400580214948909550, -0.400626027532851430, -0.400671839115228630, -0.400717649695925880, -0.400763459274828980, +-0.400809267851823410, -0.400855075426795100, -0.400900881999628700, -0.400946687570210070, -0.400992492138424750, -0.401038295704158610, -0.401084098267296300, -0.401129899827723730, +-0.401175700385326460, -0.401221499939990290, -0.401267298491600030, -0.401313096040041450, -0.401358892585200580, -0.401404688126962060, -0.401450482665211830, -0.401496276199835410, +-0.401542068730718240, -0.401587860257746340, -0.401633650780804430, -0.401679440299778310, -0.401725228814554080, -0.401771016325016330, -0.401816802831051030, -0.401862588332543740, +-0.401908372829380360, -0.401954156321445650, -0.401999938808625560, -0.402045720290805600, -0.402091500767871760, -0.402137280239708790, -0.402183058706202580, -0.402228836167238760, +-0.402274612622703250, -0.402320388072480770, -0.402366162516457350, -0.402411935954518910, -0.402457708386550210, -0.402503479812437280, -0.402549250232065610, -0.402595019645320850, +-0.402640788052088970, -0.402686555452254680, -0.402732321845703960, -0.402778087232322890, -0.402823851611996190, -0.402869614984609880, -0.402915377350049510, -0.402961138708201110, +-0.403006899058949430, -0.403052658402180520, -0.403098416737780410, -0.403144174065633800, -0.403189930385626780, -0.403235685697644900, -0.403281440001573840, -0.403327193297299600, +-0.403372945584706930, -0.403418696863681920, -0.403464447134110560, -0.403510196395877710, -0.403555944648869350, -0.403601691892971130, -0.403647438128069080, -0.403693183354048020, +-0.403738927570793990, -0.403784670778192690, -0.403830412976130090, -0.403876154164491070, -0.403921894343161610, -0.403967633512027470, -0.404013371670974620, -0.404059108819887990, +-0.404104844958653510, -0.404150580087157370, -0.404196314205284400, -0.404242047312920570, -0.404287779409951700, -0.404333510496263320, -0.404379240571741630, -0.404424969636271390, +-0.404470697689738700, -0.404516424732029760, -0.404562150763029260, -0.404607875782623420, -0.404653599790697930, -0.404699322787138770, -0.404745044771830930, -0.404790765744660500, +-0.404836485705513170, -0.404882204654274990, -0.404927922590830880, -0.404973639515066990, -0.405019355426869010, -0.405065070326123040, -0.405110784212713960, -0.405156497086527960, +-0.405202208947451130, -0.405247919795368340, -0.405293629630165740, -0.405339338451729090, -0.405385046259944090, -0.405430753054696890, -0.405476458835872410, -0.405522163603356740, +-0.405567867357036150, -0.405613570096795380, -0.405659271822520760, -0.405704972534097930, -0.405750672231413090, -0.405796370914351170, -0.405842068582798310, -0.405887765236640660, +-0.405933460875763210, -0.405979155500052090, -0.406024849109393130, -0.406070541703672020, -0.406116233282774960, -0.406161923846586890, -0.406207613394994060, -0.406253301927882560, +-0.406298989445137430, -0.406344675946644810, -0.406390361432290510, -0.406436045901960700, -0.406481729355540390, -0.406527411792915740, -0.406573093213972560, -0.406618773618597050, +-0.406664453006674200, -0.406710131378090260, -0.406755808732730930, -0.406801485070482530, -0.406847160391229980, -0.406892834694859540, -0.406938507981257410, -0.406984180250308640, +-0.407029851501899350, -0.407075521735915490, -0.407121190952242810, -0.407166859150767560, -0.407212526331374780, -0.407258192493950620, -0.407303857638381450, -0.407349521764552190, +-0.407395184872349160, -0.407440846961658170, -0.407486508032365410, -0.407532168084356050, -0.407577827117516220, -0.407623485131731800, -0.407669142126889150, -0.407714798102873200, +-0.407760453059570260, -0.407806106996866150, -0.407851759914647230, -0.407897411812798480, -0.407943062691206170, -0.407988712549756660, -0.408034361388334930, -0.408080009206827350, +-0.408125656005119690, -0.408171301783098290, -0.408216946540648270, -0.408262590277655880, -0.408308232994006980, -0.408353874689587950, -0.408399515364283820, -0.408445155017980900, +-0.408490793650565060, -0.408536431261922680, -0.408582067851938790, -0.408627703420499750, -0.408673337967491830, -0.408718971492800180, -0.408764603996311090, -0.408810235477910510, +-0.408855865937484300, -0.408901495374918880, -0.408947123790099290, -0.408992751182911900, -0.409038377553243020, -0.409084002900977790, -0.409129627226002600, -0.409175250528203300, +-0.409220872807466270, -0.409266494063676710, -0.409312114296720870, -0.409357733506484740, -0.409403351692854690, -0.409448968855715860, -0.409494584994954610, -0.409540200110456890, +-0.409585814202109100, -0.409631427269796340, -0.409677039313405040, -0.409722650332821510, -0.409768260327930960, -0.409813869298619790, -0.409859477244773900, -0.409905084166279350, +-0.409950690063022480, -0.409996294934888480, -0.410041898781763780, -0.410087501603534690, -0.410133103400086460, -0.410178704171305470, -0.410224303917077760, -0.410269902637289630, +-0.410315500331826340, -0.410361097000574330, -0.410406692643419610, -0.410452287260248520, -0.410497880850946300, -0.410543473415399370, -0.410589064953493790, -0.410634655465115960, +-0.410680244950151040, -0.410725833408485560, -0.410771420840005840, -0.410817007244597240, -0.410862592622146080, -0.410908176972538450, -0.410953760295660770, -0.410999342591398250, +-0.411044923859637420, -0.411090504100264260, -0.411136083313165260, -0.411181661498225660, -0.411227238655331890, -0.411272814784370060, -0.411318389885226510, -0.411363963957786630, +-0.411409537001936890, -0.411455109017563660, -0.411500680004552260, -0.411546249962789160, -0.411591818892160400, -0.411637386792552130, -0.411682953663850830, -0.411728519505941690, +-0.411774084318711260, -0.411819648102046020, -0.411865210855831280, -0.411910772579953510, -0.411956333274298760, -0.412001892938753670, -0.412047451573203380, -0.412093009177534440, +-0.412138565751633050, -0.412184121295385620, -0.412229675808677480, -0.412275229291395100, -0.412320781743424680, -0.412366333164652770, -0.412411883554964550, -0.412457432914246640, +-0.412502981242385550, -0.412548528539266660, -0.412594074804776390, -0.412639620038800950, -0.412685164241226420, -0.412730707411939460, -0.412776249550825260, -0.412821790657770470, +-0.412867330732661570, -0.412912869775383990, -0.412958407785824210, -0.413003944763868420, -0.413049480709403170, -0.413095015622313820, -0.413140549502486910, -0.413186082349808640, +-0.413231614164165590, -0.413277144945443040, -0.413322674693527680, -0.413368203408305600, -0.413413731089663450, -0.413459257737486600, -0.413504783351661520, -0.413550307932074920, +-0.413595831478612170, -0.413641353991159810, -0.413686875469604090, -0.413732395913831600, -0.413777915323727650, -0.413823433699178960, -0.413868951040071710, -0.413914467346292450, +-0.413959982617726600, -0.414005496854260800, -0.414051010055781320, -0.414096522222174630, -0.414142033353326330, -0.414187543449122840, -0.414233052509450970, -0.414278560534196040, +-0.414324067523244740, -0.414369573476483230, -0.414415078393797760, -0.414460582275075100, -0.414506085120200480, -0.414551586929060690, -0.414597087701542360, -0.414642587437530850, +-0.414688086136912880, -0.414733583799574760, -0.414779080425403010, -0.414824576014283190, -0.414870070566101920, -0.414915564080745480, -0.414961056558100560, -0.415006547998052530, +-0.415052038400488210, -0.415097527765293740, -0.415143016092355880, -0.415188503381560050, -0.415233989632792950, -0.415279474845941350, -0.415324959020890620, -0.415370442157527440, +-0.415415924255738260, -0.415461405315409200, -0.415506885336427050, -0.415552364318677260, -0.415597842262046550, -0.415643319166421670, -0.415688795031688100, -0.415734269857732490, +-0.415779743644441260, -0.415825216391701060, -0.415870688099397420, -0.415916158767417050, -0.415961628395646650, -0.416007096983971870, -0.416052564532279230, -0.416098031040455290, +-0.416143496508386220, -0.416188960935958810, -0.416234424323058570, -0.416279886669572330, -0.416325347975386730, -0.416370808240387360, -0.416416267464460980, -0.416461725647493950, +-0.416507182789372990, -0.416552638889983670, -0.416598093949212770, -0.416643547966946640, -0.416689000943071990, -0.416734452877474460, -0.416779903770040820, -0.416825353620657420, +-0.416870802429211040, -0.416916250195587200, -0.416961696919672780, -0.417007142601354520, -0.417052587240518020, -0.417098030837049990, -0.417143473390836960, -0.417188914901765180, +-0.417234355369721530, -0.417279794794591650, -0.417325233176262190, -0.417370670514620120, -0.417416106809550940, -0.417461542060941490, -0.417506976268678220, -0.417552409432647880, +-0.417597841552736100, -0.417643272628829780, -0.417688702660815200, -0.417734131648579310, -0.417779559592007690, -0.417824986490987150, -0.417870412345404170, -0.417915837155145520, +-0.417961260920096890, -0.418006683640145150, -0.418052105315177060, -0.418097525945078320, -0.418142945529735800, -0.418188364069035870, -0.418233781562865000, -0.418279198011110130, +-0.418324613413656840, -0.418370027770392060, -0.418415441081202600, -0.418460853345974100, -0.418506264564593500, -0.418551674736947210, -0.418597083862922160, -0.418642491942403940, +-0.418687898975279580, -0.418733304961435790, -0.418778709900758380, -0.418824113793134220, -0.418869516638449730, -0.418914918436591450, -0.418960319187446310, -0.419005718890899990, +-0.419051117546839320, -0.419096515155151280, -0.419141911715721520, -0.419187307228437000, -0.419232701693184220, -0.419278095109850090, -0.419323487478320320, -0.419368878798481840, +-0.419414269070221170, -0.419459658293425190, -0.419505046467979700, -0.419550433593771530, -0.419595819670687380, -0.419641204698613990, -0.419686588677437240, -0.419731971607044010, +-0.419777353487321260, -0.419822734318154700, -0.419868114099431310, -0.419913492831037630, -0.419958870512860240, -0.420004247144786070, -0.420049622726700820, -0.420094997258491590, +-0.420140370740045230, -0.420185743171247570, -0.420231114551985530, -0.420276484882145750, -0.420321854161615100, -0.420367222390279460, -0.420412589568025740, -0.420457955694740540, +-0.420503320770310830, -0.420548684794622480, -0.420594047767562370, -0.420639409689017140, -0.420684770558873820, -0.420730130377018170, -0.420775489143337180, -0.420820846857717870, +-0.420866203520046000, -0.420911559130208670, -0.420956913688092460, -0.421002267193584300, -0.421047619646570110, -0.421092971046936880, -0.421138321394571250, -0.421183670689360190, +-0.421229018931189520, -0.421274366119946340, -0.421319712255517230, -0.421365057337789230, -0.421410401366648200, -0.421455744341981190, -0.421501086263675160, -0.421546427131616050, +-0.421591766945690890, -0.421637105705786270, -0.421682443411788950, -0.421727780063585860, -0.421773115661062960, -0.421818450204107240, -0.421863783692605850, -0.421909116126444550, +-0.421954447505510480, -0.421999777829690280, -0.422045107098871000, -0.422090435312938610, -0.422135762471780080, -0.422181088575282190, -0.422226413623331960, -0.422271737615815320, +-0.422317060552619310, -0.422362382433630670, -0.422407703258736440, -0.422453023027822620, -0.422498341740776160, -0.422543659397484280, -0.422588975997832850, -0.422634291541709010, +-0.422679606028999400, -0.422724919459590790, -0.422770231833370260, -0.422815543150223790, -0.422860853410038430, -0.422906162612701360, -0.422951470758098470, -0.422996777846116890, +-0.423042083876643380, -0.423087388849565090, -0.423132692764767890, -0.423177995622138980, -0.423223297421565060, -0.423268598162933330, -0.423313897846129660, -0.423359196471041310, +-0.423404494037554920, -0.423449790545557700, -0.423495085994935570, -0.423540380385575790, -0.423585673717365440, -0.423630965990190460, -0.423676257203938140, -0.423721547358495100, +-0.423766836453748630, -0.423812124489584720, -0.423857411465890400, -0.423902697382552600, -0.423947982239458510, -0.423993266036494010, -0.424038548773546300, -0.424083830450502300, +-0.424129111067249100, -0.424174390623672680, -0.424219669119660300, -0.424264946555099160, -0.424310222929875300, -0.424355498243875810, -0.424400772496987600, -0.424446045689097500, +-0.424491317820092640, -0.424536588889859070, -0.424581858898284090, -0.424627127845254800, -0.424672395730657350, -0.424717662554378870, -0.424762928316306240, -0.424808193016326660, +-0.424853456654326220, -0.424898719230192180, -0.424943980743811290, -0.424989241195070870, -0.425034500583856940, -0.425079758910056780, -0.425125016173557190, -0.425170272374245480, +-0.425215527512007700, -0.425260781586731080, -0.425306034598302910, -0.425351286546609250, -0.425396537431537380, -0.425441787252974160, -0.425487036010806510, -0.425532283704921630, +-0.425577530335205680, -0.425622775901545850, -0.425668020403829510, -0.425713263841942690, -0.425758506215772770, -0.425803747525206560, -0.425848987770131360, -0.425894226950433270, +-0.425939465065999670, -0.425984702116717350, -0.426029938102473750, -0.426075173023154840, -0.426120406878648050, -0.426165639668840190, -0.426210871393618680, -0.426256102052869570, +-0.426301331646480150, -0.426346560174337860, -0.426391787636328790, -0.426437014032340190, -0.426482239362259100, -0.426527463625972820, -0.426572686823367460, -0.426617908954330380, +-0.426663130018748560, -0.426708350016509250, -0.426753568947498720, -0.426798786811604270, -0.426844003608712830, -0.426889219338711770, -0.426934434001487280, -0.426979647596926690, +-0.427024860124917420, -0.427070071585345550, -0.427115281978098500, -0.427160491303063270, -0.427205699560126830, -0.427250906749176540, -0.427296112870098550, -0.427341317922780290, +-0.427386521907109130, -0.427431724822971320, -0.427476926670254110, -0.427522127448844660, -0.427567327158630270, -0.427612525799497160, -0.427657723371332680, -0.427702919874023980, +-0.427748115307458320, -0.427793309671521960, -0.427838502966102370, -0.427883695191086540, -0.427928886346361840, -0.427974076431814510, -0.428019265447331990, -0.428064453392801750, +-0.428109640268109940, -0.428154826073144030, -0.428200010807791080, -0.428245194471938100, -0.428290377065472520, -0.428335558588280600, -0.428380739040249760, -0.428425918421267480, +-0.428471096731220020, -0.428516273969994810, -0.428561450137478930, -0.428606625233559860, -0.428651799258123740, -0.428696972211058180, -0.428742144092250200, -0.428787314901587220, +-0.428832484638955570, -0.428877653304242710, -0.428922820897335690, -0.428967987418122090, -0.429013152866488060, -0.429058317242321130, -0.429103480545508840, -0.429148642775937450, +-0.429193803933494490, -0.429238964018066940, -0.429284123029542440, -0.429329280967807200, -0.429374437832748810, -0.429419593624254250, -0.429464748342211160, -0.429509901986505790, +-0.429555054557025640, -0.429600206053657900, -0.429645356476289990, -0.429690505824808330, -0.429735654099100420, -0.429780801299053720, -0.429825947424554660, -0.429871092475490710, +-0.429916236451749030, -0.429961379353216770, -0.430006521179781440, -0.430051661931329430, -0.430096801607748270, -0.430141940208925490, -0.430187077734747460, -0.430232214185101770, +-0.430277349559875510, -0.430322483858956270, -0.430367617082230420, -0.430412749229585560, -0.430457880300908810, -0.430503010296087730, -0.430548139215008780, -0.430593267057559460, +-0.430638393823626950, -0.430683519513098860, -0.430728644125861590, -0.430773767661802700, -0.430818890120809820, -0.430864011502769260, -0.430909131807568730, -0.430954251035095330, +-0.430999369185236290, -0.431044486257879280, -0.431089602252910600, -0.431134717170217950, -0.431179831009688930, -0.431224943771209900, -0.431270055454668510, -0.431315166059951960, +-0.431360275586947890, -0.431405384035542790, -0.431450491405624190, -0.431495597697079790, -0.431540702909795960, -0.431585807043660400, -0.431630910098560310, -0.431676012074382940, +-0.431721112971015950, -0.431766212788345760, -0.431811311526260070, -0.431856409184646520, -0.431901505763391480, -0.431946601262382710, -0.431991695681507410, -0.432036789020653340, +-0.432081881279706810, -0.432126972458555640, -0.432172062557087010, -0.432217151575188640, -0.432262239512747000, -0.432307326369649750, -0.432352412145784180, -0.432397496841037950, +-0.432442580455297650, -0.432487662988450820, -0.432532744440385310, -0.432577824810987500, -0.432622904100145090, -0.432667982307745500, -0.432713059433675880, -0.432758135477824050, +-0.432803210440076470, -0.432848284320320850, -0.432893357118444950, -0.432938428834335250, -0.432983499467879510, -0.433028569018964970, -0.433073637487479400, -0.433118704873309390, +-0.433163771176342580, -0.433208836396466350, -0.433253900533568440, -0.433298963587535340, -0.433344025558254850, -0.433389086445614360, -0.433434146249501500, -0.433479204969802860, +-0.433524262606406200, -0.433569319159199330, -0.433614374628068730, -0.433659429012902220, -0.433704482313587100, -0.433749534530011190, -0.433794585662061030, -0.433839635709624470, +-0.433884684672588780, -0.433929732550841770, -0.433974779344270030, -0.434019825052761320, -0.434064869676203060, -0.434109913214483060, -0.434154955667487850, -0.434199997035105260, +-0.434245037317223080, -0.434290076513727920, -0.434335114624507520, -0.434380151649449380, -0.434425187588440840, -0.434470222441369740, -0.434515256208122700, -0.434560288888587500, +-0.434605320482651940, -0.434650350990202720, -0.434695380411127650, -0.434740408745314060, -0.434785435992649900, -0.434830462153021740, -0.434875487226317410, -0.434920511212424420, +-0.434965534111230460, -0.435010555922622330, -0.435055576646487810, -0.435100596282714300, -0.435145614831189740, -0.435190632291800720, -0.435235648664435150, -0.435280663948980850, +-0.435325678145324470, -0.435370691253353930, -0.435415703272956640, -0.435460714204020050, -0.435505724046432120, -0.435550732800079500, -0.435595740464850000, -0.435640747040631600, +-0.435685752527310900, -0.435730756924775810, -0.435775760232913870, -0.435820762451612890, -0.435865763580759620, -0.435910763620241950, -0.435955762569947340, -0.436000760429763770, +-0.436045757199577830, -0.436090752879277570, -0.436135747468750390, -0.436180740967884230, -0.436225733376565840, -0.436270724694683140, -0.436315714922124010, -0.436360704058775140, +-0.436405692104524570, -0.436450679059259770, -0.436495664922868620, -0.436540649695237980, -0.436585633376255670, -0.436630615965809320, -0.436675597463786760, -0.436720577870074840, +-0.436765557184561500, -0.436810535407134220, -0.436855512537681070, -0.436900488576088710, -0.436945463522245110, -0.436990437376038270, -0.437035410137354920, -0.437080381806083000, +-0.437125352382110200, -0.437170321865324010, -0.437215290255612400, -0.437260257552862130, -0.437305223756961290, -0.437350188867797750, -0.437395152885258320, -0.437440115809231030, +-0.437485077639603430, -0.437530038376263590, -0.437574998019098220, -0.437619956567995350, -0.437664914022842580, -0.437709870383527930, -0.437754825649938230, -0.437799779821961440, +-0.437844732899485220, -0.437889684882397550, -0.437934635770585280, -0.437979585563936400, -0.438024534262339000, -0.438069481865679840, -0.438114428373846950, -0.438159373786728030, +-0.438204318104210680, -0.438249261326182860, -0.438294203452531560, -0.438339144483144760, -0.438384084417910440, -0.438429023256715570, -0.438473960999448080, -0.438518897645995720, +-0.438563833196246530, -0.438608767650087330, -0.438653701007406250, -0.438698633268090890, -0.438743564432029330, -0.438788494499108510, -0.438833423469216390, -0.438878351342240740, +-0.438923278118069640, -0.438968203796589910, -0.439013128377689690, -0.439058051861257010, -0.439102974247178870, -0.439147895535343220, -0.439192815725637900, -0.439237734817950860, +-0.439282652812169160, -0.439327569708180820, -0.439372485505873490, -0.439417400205135420, -0.439462313805853430, -0.439507226307915610, -0.439552137711209770, -0.439597048015623990, +-0.439641957221045150, -0.439686865327361450, -0.439731772334460980, -0.439776678242230710, -0.439821583050558680, -0.439866486759332760, -0.439911389368440600, -0.439956290877770330, +-0.440001191287208990, -0.440046090596644620, -0.440090988805965480, -0.440135885915058420, -0.440180781923811660, -0.440225676832112940, -0.440270570639850420, -0.440315463346911130, +-0.440360354953183100, -0.440405245458554250, -0.440450134862912620, -0.440495023166145310, -0.440539910368140440, -0.440584796468785790, -0.440629681467969550, -0.440674565365578700, +-0.440719448161501380, -0.440764329855625910, -0.440809210447839220, -0.440854089938029440, -0.440898968326084490, -0.440943845611892150, -0.440988721795340540, -0.441033596876316710, +-0.441078470854708920, -0.441123343730405350, -0.441168215503293050, -0.441213086173260160, -0.441257955740194550, -0.441302824203984480, -0.441347691564516980, -0.441392557821680190, +-0.441437422975362040, -0.441482287025450730, -0.441527149971833290, -0.441572011814397980, -0.441616872553032670, -0.441661732187625560, -0.441706590718063670, -0.441751448144235390, +-0.441796304466028860, -0.441841159683331150, -0.441886013796030540, -0.441930866804014890, -0.441975718707172500, -0.442020569505390370, -0.442065419198556850, -0.442110267786559820, +-0.442155115269287470, -0.442199961646626890, -0.442244806918466460, -0.442289651084694040, -0.442334494145197880, -0.442379336099865070, -0.442424176948583880, -0.442469016691242720, +-0.442513855327728580, -0.442558692857929810, -0.442603529281734300, -0.442648364599029950, -0.442693198809705090, -0.442738031913646910, -0.442782863910743560, -0.442827694800883460, +-0.442872524583953760, -0.442917353259842770, -0.442962180828438360, -0.443007007289628880, -0.443051832643301500, -0.443096656889344580, -0.443141480027645970, -0.443186302058094060, +-0.443231122980575990, -0.443275942794980120, -0.443320761501194430, -0.443365579099107180, -0.443410395588605620, -0.443455210969578070, -0.443500025241912900, -0.443544838405497240, +-0.443589650460219480, -0.443634461405967630, -0.443679271242629570, -0.443724079970093780, -0.443768887588247400, -0.443813694096978790, -0.443858499496176280, -0.443903303785727230, +-0.443948106965519840, -0.443992909035442200, -0.444037709995382720, -0.444082509845228510, -0.444127308584868100, -0.444172106214189790, -0.444216902733080790, -0.444261698141429520, +-0.444306492439124010, -0.444351285626052310, -0.444396077702102770, -0.444440868667162650, -0.444485658521120370, -0.444530447263864310, -0.444575234895281720, -0.444620021415261080, +-0.444664806823690360, -0.444709591120458050, -0.444754374305451390, -0.444799156378558710, -0.444843937339668210, -0.444888717188668240, -0.444933495925446070, -0.444978273549890170, +-0.445023050061888580, -0.445067825461329780, -0.445112599748101020, -0.445157372922090730, -0.445202144983187440, -0.445246915931278350, -0.445291685766252000, -0.445336454487996470, +-0.445381222096399740, -0.445425988591350410, -0.445470753972735670, -0.445515518240444050, -0.445560281394364040, -0.445605043434382900, -0.445649804360389200, -0.445694564172270940, +-0.445739322869916690, -0.445784080453213770, -0.445828836922050610, -0.445873592276315340, -0.445918346515896510, -0.445963099640681430, -0.446007851650558620, -0.446052602545416120, +-0.446097352325142580, -0.446142100989625200, -0.446186848538752570, -0.446231594972413270, -0.446276340290494570, -0.446321084492884990, -0.446365827579472680, -0.446410569550145850, +-0.446455310404792970, -0.446500050143301460, -0.446544788765559750, -0.446589526271456540, -0.446634262660879080, -0.446678997933715960, -0.446723732089855330, -0.446768465129185830, +-0.446813197051594720, -0.446857927856970650, -0.446902657545202090, -0.446947386116176570, -0.446992113569782520, -0.447036839905908200, -0.447081565124441800, -0.447126289225271920, +-0.447171012208285870, -0.447215734073372280, -0.447260454820419760, -0.447305174449315720, -0.447349892959948760, -0.447394610352207070, -0.447439326625979240, -0.447484041781152640, +-0.447528755817616030, -0.447573468735257440, -0.447618180533965630, -0.447662891213627960, -0.447707600774133070, -0.447752309215369180, -0.447797016537224920, -0.447841722739587720, +-0.447886427822346170, -0.447931131785389010, -0.447975834628603580, -0.448020536351878550, -0.448065236955102250, -0.448109936438162770, -0.448154634800948910, -0.448199332043348050, +-0.448244028165248830, -0.448288723166540000, -0.448333417047108940, -0.448378109806844280, -0.448422801445634400, -0.448467491963367940, -0.448512181359932320, -0.448556869635216240, +-0.448601556789107960, -0.448646242821496230, -0.448690927732268490, -0.448735611521313420, -0.448780294188519340, -0.448824975733774890, -0.448869656156967610, -0.448914335457986200, +-0.448959013636719360, -0.449003690693054570, -0.449048366626880580, -0.449093041438085650, -0.449137715126558530, -0.449182387692186710, -0.449227059134858940, -0.449271729454463480, +-0.449316398650889130, -0.449361066724023370, -0.449405733673754970, -0.449450399499972230, -0.449495064202563850, -0.449539727781417490, -0.449584390236421720, -0.449629051567465410, +-0.449673711774436100, -0.449718370857222490, -0.449763028815712950, -0.449807685649795840, -0.449852341359359920, -0.449896995944292720, -0.449941649404483060, -0.449986301739819680, +-0.450030952950190130, -0.450075603035483160, -0.450120251995587250, -0.450164899830391100, -0.450209546539782290, -0.450254192123649590, -0.450298836581881410, -0.450343479914366570, +-0.450388122120992610, -0.450432763201648380, -0.450477403156222200, -0.450522041984602940, -0.450566679686678130, -0.450611316262336690, -0.450655951711467330, -0.450700586033957680, +-0.450745219229696570, -0.450789851298572410, -0.450834482240473620, -0.450879112055289020, -0.450923740742906250, -0.450968368303214130, -0.451012994736101460, -0.451057620041455940, +-0.451102244219166340, -0.451146867269121180, -0.451191489191209220, -0.451236109985318160, -0.451280729651336750, -0.451325348189153600, -0.451369965598657440, -0.451414581879735990, +-0.451459197032278050, -0.451503811056172160, -0.451548423951307120, -0.451593035717570590, -0.451637646354851540, -0.451682255863038730, -0.451726864242019910, -0.451771471491683900, +-0.451816077611919220, -0.451860682602614750, -0.451905286463658130, -0.451949889194938340, -0.451994490796343850, -0.452039091267763480, -0.452083690609084990, -0.452128288820197290, +-0.452172885900988920, -0.452217481851348630, -0.452262076671164300, -0.452306670360324790, -0.452351262918718970, -0.452395854346234580, -0.452440444642760620, -0.452485033808185500, +-0.452529621842397810, -0.452574208745286420, -0.452618794516739200, -0.452663379156644900, -0.452707962664892600, -0.452752545041369970, -0.452797126285966020, -0.452841706398569240, +-0.452886285379068550, -0.452930863227351820, -0.452975439943307860, -0.453020015526825360, -0.453064589977793200, -0.453109163296099130, -0.453153735481632180, -0.453198306534280890, +-0.453242876453934240, -0.453287445240480040, -0.453332012893807150, -0.453376579413804660, -0.453421144800360330, -0.453465709053363140, -0.453510272172701680, -0.453554834158264530, +-0.453599395009940680, -0.453643954727617980, -0.453688513311185370, -0.453733070760531820, -0.453777627075545250, -0.453822182256114650, -0.453866736302128540, -0.453911289213476010, +-0.453955840990044880, -0.454000391631724120, -0.454044941138402380, -0.454089489509968690, -0.454134036746310870, -0.454178582847317940, -0.454223127812878600, -0.454267671642881840, +-0.454312214337215470, -0.454356755895768570, -0.454401296318430180, -0.454445835605088170, -0.454490373755631500, -0.454534910769949010, -0.454579446647929540, -0.454623981389461140, +-0.454668514994432730, -0.454713047462733060, -0.454757578794251160, -0.454802108988874910, -0.454846638046493390, -0.454891165966995250, -0.454935692750269630, -0.454980218396204390, +-0.455024742904688580, -0.455069266275611280, -0.455113788508860470, -0.455158309604325180, -0.455202829561894120, -0.455247348381455970, -0.455291866062899840, -0.455336382606113640, +-0.455380898010986520, -0.455425412277407520, -0.455469925405264600, -0.455514437394446860, -0.455558948244843050, -0.455603457956342270, -0.455647966528832440, -0.455692473962202690, +-0.455736980256341740, -0.455781485411138780, -0.455825989426481670, -0.455870492302259570, -0.455914994038361280, -0.455959494634675890, -0.456003994091091380, -0.456048492407496840, +-0.456092989583781530, -0.456137485619833300, -0.456181980515541370, -0.456226474270794490, -0.456270966885481410, -0.456315458359491330, -0.456359948692712240, -0.456404437885033210, +-0.456448925936343510, -0.456493412846531110, -0.456537898615485160, -0.456582383243094470, -0.456626866729248240, -0.456671349073834440, -0.456715830276742230, -0.456760310337860850, +-0.456804789257078350, -0.456849267034283860, -0.456893743669366190, -0.456938219162214110, -0.456982693512716920, -0.457027166720762660, -0.457071638786240410, -0.457116109709039490, +-0.457160579489047870, -0.457205048126154810, -0.457249515620249130, -0.457293981971220060, -0.457338447178955660, -0.457382911243345120, -0.457427374164277310, -0.457471835941641480, +-0.457516296575325660, -0.457560756065219070, -0.457605214411210600, -0.457649671613189480, -0.457694127671043840, -0.457738582584662820, -0.457783036353935750, -0.457827488978750700, +-0.457871940458996930, -0.457916390794563310, -0.457960839985338760, -0.458005288031212430, -0.458049734932072520, -0.458094180687808270, -0.458138625298308950, -0.458183068763462710, +-0.458227511083158730, -0.458271952257286060, -0.458316392285733840, -0.458360831168390270, -0.458405268905144600, -0.458449705495885820, -0.458494140940503110, -0.458538575238884640, +-0.458583008390919760, -0.458627440396497390, -0.458671871255506790, -0.458716300967836110, -0.458760729533374660, -0.458805156952011790, -0.458849583223635670, -0.458894008348135540, +-0.458938432325400440, -0.458982855155319220, -0.459027276837781270, -0.459071697372674730, -0.459116116759888950, -0.459160534999313310, -0.459204952090835890, -0.459249368034346070, +-0.459293782829732880, -0.459338196476885620, -0.459382608975692440, -0.459427020326042770, -0.459471430527825960, -0.459515839580930120, -0.459560247485244710, -0.459604654240658720, +-0.459649059847061060, -0.459693464304341160, -0.459737867612387160, -0.459782269771088550, -0.459826670780334620, -0.459871070640013650, -0.459915469350014980, -0.459959866910227670, +-0.460004263320541060, -0.460048658580843370, -0.460093052691024070, -0.460137445650972140, -0.460181837460576950, -0.460226228119726850, -0.460270617628311120, -0.460315005986218880, +-0.460359393193339460, -0.460403779249561220, -0.460448164154773520, -0.460492547908865790, -0.460536930511726340, -0.460581311963244480, -0.460625692263309410, -0.460670071411810100, +-0.460714449408635980, -0.460758826253675370, -0.460803201946817680, -0.460847576487952380, -0.460891949876967740, -0.460936322113753240, -0.460980693198197900, -0.461025063130191260, +-0.461069431909621570, -0.461113799536378320, -0.461158166010350530, -0.461202531331427690, -0.461246895499498210, -0.461291258514451410, -0.461335620376176540, -0.461379981084562960, +-0.461424340639499050, -0.461468699040874290, -0.461513056288578140, -0.461557412382499030, -0.461601767322526340, -0.461646121108549250, -0.461690473740457240, -0.461734825218138630, +-0.461779175541482960, -0.461823524710379410, -0.461867872724717410, -0.461912219584385330, -0.461956565289272700, -0.462000909839268610, -0.462045253234262710, -0.462089595474143240, +-0.462133936558799810, -0.462178276488121930, -0.462222615261997980, -0.462266952880317440, -0.462311289342969560, -0.462355624649843480, -0.462399958800828680, -0.462444291795813590, +-0.462488623634687790, -0.462532954317340820, -0.462577283843661090, -0.462621612213538150, -0.462665939426861180, -0.462710265483519730, -0.462754590383402220, -0.462798914126398230, +-0.462843236712397020, -0.462887558141288010, -0.462931878412959800, -0.462976197527301850, -0.463020515484203420, -0.463064832283554110, -0.463109147925242270, -0.463153462409157610, +-0.463197775735189670, -0.463242087903226910, -0.463286398913158930, -0.463330708764874980, -0.463375017458264200, -0.463419324993216310, -0.463463631369619710, -0.463507936587364000, +-0.463552240646338880, -0.463596543546432700, -0.463640845287535240, -0.463685145869535630, -0.463729445292323570, -0.463773743555787490, -0.463818040659817020, -0.463862336604301480, +-0.463906631389130520, -0.463950925014192550, -0.463995217479377280, -0.464039508784573950, -0.464083798929672280, -0.464128087914560670, -0.464172375739128900, -0.464216662403266530, +-0.464260947906862120, -0.464305232249805360, -0.464349515431985550, -0.464393797453292290, -0.464438078313614170, -0.464482358012840820, -0.464526636550861630, -0.464570913927566160, +-0.464615190142843080, -0.464659465196582020, -0.464703739088672300, -0.464748011819003600, -0.464792283387464480, -0.464836553793944670, -0.464880823038333830, -0.464925091120520610, +-0.464969358040394630, -0.465013623797845220, -0.465057888392761800, -0.465102151825034000, -0.465146414094550490, -0.465190675201200890, -0.465234935144875020, -0.465279193925461410, +-0.465323451542849820, -0.465367707996929610, -0.465411963287590490, -0.465456217414721100, -0.465500470378211180, -0.465544722177950070, -0.465588972813827550, -0.465633222285732230, +-0.465677470593553800, -0.465721717737181740, -0.465765963716505750, -0.465810208531414470, -0.465854452181797660, -0.465898694667545080, -0.465942935988545410, -0.465987176144688430, +-0.466031415135863440, -0.466075652961959960, -0.466119889622867770, -0.466164125118475380, -0.466208359448672730, -0.466252592613349560, -0.466296824612394520, -0.466341055445697430, +-0.466385285113147700, -0.466429513614635140, -0.466473740950048400, -0.466517967119277340, -0.466562192122211340, -0.466606415958740250, -0.466650638628752720, -0.466694860132138570, +-0.466739080468787320, -0.466783299638588720, -0.466827517641431490, -0.466871734477205480, -0.466915950145800560, -0.466960164647105320, -0.467004377981009690, -0.467048590147403130, +-0.467092801146175460, -0.467137010977215380, -0.467181219640412810, -0.467225427135657180, -0.467269633462838340, -0.467313838621845060, -0.467358042612567190, -0.467402245434894230, +-0.467446447088716020, -0.467490647573921280, -0.467534846890399920, -0.467579045038041870, -0.467623242016735830, -0.467667437826371660, -0.467711632466838890, -0.467755825938027000, +-0.467800018239826030, -0.467844209372124560, -0.467888399334812580, -0.467932588127779990, -0.467976775750915560, -0.468020962204109160, -0.468065147487250370, -0.468109331600229110, +-0.468153514542934080, -0.468197696315255320, -0.468241876917082300, -0.468286056348305000, -0.468330234608812120, -0.468374411698493700, -0.468418587617239260, -0.468462762364938720, +-0.468506935941480850, -0.468551108346755670, -0.468595279580653110, -0.468639449643061980, -0.468683618533872190, -0.468727786252973400, -0.468771952800255130, -0.468816118175607310, +-0.468860282378918860, -0.468904445410079700, -0.468948607268979800, -0.468992767955508040, -0.469036927469554330, -0.469081085811008270, -0.469125242979759940, -0.469169398975698090, +-0.469213553798712710, -0.469257707448693880, -0.469301859925530360, -0.469346011229112180, -0.469390161359329040, -0.469434310316070410, -0.469478458099226450, -0.469522604708685950, +-0.469566750144338960, -0.469610894406075450, -0.469655037493784290, -0.469699179407355560, -0.469743320146678910, -0.469787459711644320, -0.469831598102140700, -0.469875735318058100, +-0.469919871359286150, -0.469964006225714880, -0.470008139917233230, -0.470052272433731270, -0.470096403775098590, -0.470140533941225290, -0.470184662932000290, -0.470228790747313610, +-0.470272917387055340, -0.470317042851114360, -0.470361167139380810, -0.470405290251744320, -0.470449412188094660, -0.470493532948321800, -0.470537652532314780, -0.470581770939963560, +-0.470625888171158360, -0.470670004225787970, -0.470714119103742670, -0.470758232804912020, -0.470802345329186190, -0.470846456676454080, -0.470890566846605850, -0.470934675839531190, +-0.470978783655120250, -0.471022890293261940, -0.471066995753846420, -0.471111100036763430, -0.471155203141903070, -0.471199305069154250, -0.471243405818407230, -0.471287505389552110, +-0.471331603782477790, -0.471375700997074430, -0.471419797033231890, -0.471463891890839810, -0.471507985569788400, -0.471552078069966680, -0.471596169391264700, -0.471640259533572690, +-0.471684348496779700, -0.471728436280775820, -0.471772522885450800, -0.471816608310694940, -0.471860692556397120, -0.471904775622447540, -0.471948857508736500, -0.471992938215152870, +-0.472037017741586850, -0.472081096087928360, -0.472125173254067110, -0.472169249239893280, -0.472213324045295980, -0.472257397670165390, -0.472301470114391660, -0.472345541377863830, +-0.472389611460472200, -0.472433680362106530, -0.472477748082657080, -0.472521814622012810, -0.472565879980064050, -0.472609944156700550, -0.472654007151812610, -0.472698068965289260, +-0.472742129597020720, -0.472786189046896900, -0.472830247314807940, -0.472874304400642990, -0.472918360304292300, -0.472962415025646070, -0.473006468564593440, -0.473050520921024620, +-0.473094572094829520, -0.473138622085897960, -0.473182670894120250, -0.473226718519385470, -0.473270764961583930, -0.473314810220605840, -0.473358854296340340, -0.473402897188677670, +-0.473446938897507770, -0.473490979422720950, -0.473535018764206280, -0.473579056921854040, -0.473623093895554180, -0.473667129685196920, -0.473711164290671500, -0.473755197711868190, +-0.473799229948676850, -0.473843261000987840, -0.473887290868690250, -0.473931319551674450, -0.473975347049830800, -0.474019373363048340, -0.474063398491217420, -0.474107422434228040, +-0.474151445191970500, -0.474195466764333940, -0.474239487151208730, -0.474283506352484780, -0.474327524368052480, -0.474371541197800950, -0.474415556841620620, -0.474459571299401360, +-0.474503584571033530, -0.474547596656406390, -0.474591607555410240, -0.474635617267935520, -0.474679625793871300, -0.474723633133108060, -0.474767639285535670, -0.474811644251044220, +-0.474855648029524070, -0.474899650620864420, -0.474943652024955590, -0.474987652241688040, -0.475031651270950980, -0.475075649112634830, -0.475119645766629520, -0.475163641232825450, +-0.475207635511111950, -0.475251628601379320, -0.475295620503517650, -0.475339611217417300, -0.475383600742967540, -0.475427589080058780, -0.475471576228580990, -0.475515562188424720, +-0.475559546959479110, -0.475603530541634680, -0.475647512934781800, -0.475691494138809730, -0.475735474153608950, -0.475779452979069430, -0.475823430615081310, -0.475867407061535020, +-0.475911382318319810, -0.475955356385326160, -0.475999329262444480, -0.476043300949564100, -0.476087271446575480, -0.476131240753368660, -0.476175208869834170, -0.476219175795861260, +-0.476263141531340360, -0.476307106076161610, -0.476351069430215550, -0.476395031593391360, -0.476438992565579640, -0.476482952346670430, -0.476526910936554190, -0.476570868335120300, +-0.476614824542259290, -0.476658779557861570, -0.476702733381816510, -0.476746686014014600, -0.476790637454345970, -0.476834587702701150, -0.476878536758969520, -0.476922484623041490, +-0.476966431294807260, -0.477010376774157360, -0.477054321060981110, -0.477098264155169090, -0.477142206056611340, -0.477186146765198550, -0.477230086280819920, -0.477274024603366150, +-0.477317961732727670, -0.477361897668793890, -0.477405832411455400, -0.477449765960602290, -0.477493698316124760, -0.477537629477913450, -0.477581559445857620, -0.477625488219847850, +-0.477669415799774840, -0.477713342185527860, -0.477757267376997470, -0.477801191374074010, -0.477845114176647880, -0.477889035784608620, -0.477932956197846760, -0.477976875416252500, +-0.478020793439716480, -0.478064710268128020, -0.478108625901377820, -0.478152540339356060, -0.478196453581953340, -0.478240365629059080, -0.478284276480563930, -0.478328186136358470, +-0.478372094596332180, -0.478416001860375580, -0.478459907928379060, -0.478503812800232740, -0.478547716475827280, -0.478591618955052090, -0.478635520237797930, -0.478679420323955330, +-0.478723319213413770, -0.478767216906063940, -0.478811113401796050, -0.478855008700500740, -0.478898902802067540, -0.478942795706387090, -0.478986687413349650, -0.479030577922845920, +-0.479074467234765320, -0.479118355348998550, -0.479162242265435860, -0.479206127983968000, -0.479250012504484400, -0.479293895826875820, -0.479337777951032830, -0.479381658876845030, +-0.479425538604203120, -0.479469417132997340, -0.479513294463117970, -0.479557170594455790, -0.479601045526900300, -0.479644919260342200, -0.479688791794672160, -0.479732663129779800, +-0.479776533265555750, -0.479820402201890370, -0.479864269938674370, -0.479908136475797330, -0.479952001813149950, -0.479995865950622940, -0.480039728888105870, -0.480083590625489500, +-0.480127451162664090, -0.480171310499520110, -0.480215168635948260, -0.480259025571838080, -0.480302881307080320, -0.480346735841565730, -0.480390589175183960, -0.480434441307825700, +-0.480478292239381320, -0.480522141969741190, -0.480565990498796110, -0.480609837826435680, -0.480653683952551090, -0.480697528877031820, -0.480741372599768790, -0.480785215120652310, +-0.480829056439572740, -0.480872896556421010, -0.480916735471086600, -0.480960573183460360, -0.481004409693433050, -0.481048245000894330, -0.481092079105735040, -0.481135912007845500, +-0.481179743707116250, -0.481223574203437980, -0.481267403496700390, -0.481311231586794290, -0.481355058473610490, -0.481398884157038690, -0.481442708636969640, -0.481486531913293820, +-0.481530353985902100, -0.481574174854684070, -0.481617994519530630, -0.481661812980332560, -0.481705630236979600, -0.481749446289362560, -0.481793261137371920, -0.481837074780898100, +-0.481880887219831970, -0.481924698454063270, -0.481968508483482770, -0.482012317307981440, -0.482056124927448930, -0.482099931341776090, -0.482143736550853410, -0.482187540554571410, +-0.482231343352820920, -0.482275144945491730, -0.482318945332474600, -0.482362744513660570, -0.482406542488939270, -0.482450339258201580, -0.482494134821338070, -0.482537929178239620, +-0.482581722328795980, -0.482625514272898020, -0.482669305010436640, -0.482713094541301620, -0.482756882865383820, -0.482800669982573870, -0.482844455892762260, -0.482888240595839850, +-0.482932024091696440, -0.482975806380223030, -0.483019587461310460, -0.483063367334848560, -0.483107146000728180, -0.483150923458839980, -0.483194699709074470, -0.483238474751322590, +-0.483282248585474140, -0.483326021211420430, -0.483369792629051330, -0.483413562838257700, -0.483457331838930190, -0.483501099630959390, -0.483544866214236150, -0.483588631588650400, +-0.483632395754093060, -0.483676158710455160, -0.483719920457626410, -0.483763680995497880, -0.483807440323960170, -0.483851198442903860, -0.483894955352219940, -0.483938711051798200, +-0.483982465541529740, -0.484026218821305480, -0.484069970891015280, -0.484113721750550120, -0.484157471399800700, -0.484201219838657990, -0.484244967067011810, -0.484288713084753240, +-0.484332457891773320, -0.484376201487961790, -0.484419943873209800, -0.484463685047407940, -0.484507425010446860, -0.484551163762217630, -0.484594901302610070, -0.484638637631515270, +-0.484682372748824250, -0.484726106654426950, -0.484769839348214330, -0.484813570830077150, -0.484857301099906050, -0.484901030157592060, -0.484944758003025110, -0.484988484636096670, +-0.485032210056696610, -0.485075934264716010, -0.485119657260045630, -0.485163379042576060, -0.485207099612198430, -0.485250818968802730, -0.485294537112279930, -0.485338254042521180, +-0.485381969759416390, -0.485425684262856700, -0.485469397552732770, -0.485513109628935400, -0.485556820491355570, -0.485600530139883360, -0.485644238574409800, -0.485687945794826050, +-0.485731651801022070, -0.485775356592888900, -0.485819060170317400, -0.485862762533198600, -0.485906463681422480, -0.485950163614880250, -0.485993862333462980, -0.486037559837060650, +-0.486081256125564460, -0.486124951198865120, -0.486168645056853370, -0.486212337699420400, -0.486256029126456210, -0.486299719337851990, -0.486343408333498820, -0.486387096113286730, +-0.486430782677106930, -0.486474468024850120, -0.486518152156407200, -0.486561835071669280, -0.486605516770526330, -0.486649197252869650, -0.486692876518590330, -0.486736554567578470, +-0.486780231399725150, -0.486823907014921340, -0.486867581413058080, -0.486911254594025510, -0.486954926557714830, -0.486998597304017180, -0.487042266832822650, -0.487085935144022490, +-0.487129602237507450, -0.487173268113168410, -0.487216932770896620, -0.487260596210582100, -0.487304258432116060, -0.487347919435389800, -0.487391579220293360, -0.487435237786717930, +-0.487478895134554390, -0.487522551263693650, -0.487566206174026960, -0.487609859865444310, -0.487653512337837440, -0.487697163591096330, -0.487740813625112350, -0.487784462439776360, +-0.487828110034979220, -0.487871756410612150, -0.487915401566565320, -0.487959045502730000, -0.488002688218997450, -0.488046329715257740, -0.488089969991402250, -0.488133609047321840, +-0.488177246882907420, -0.488220883498050260, -0.488264518892640500, -0.488308153066569440, -0.488351786019728400, -0.488395417752007450, -0.488439048263297980, -0.488482677553490950, +-0.488526305622477560, -0.488569932470148020, -0.488613558096393670, -0.488657182501105790, -0.488700805684174570, -0.488744427645491360, -0.488788048384947050, -0.488831667902432650, +-0.488875286197839490, -0.488918903271057640, -0.488962519121978580, -0.489006133750493620, -0.489049747156492960, -0.489093359339867860, -0.489136970300509450, -0.489180580038308550, +-0.489224188553156640, -0.489267795844943840, -0.489311401913561540, -0.489355006758901090, -0.489398610380852810, -0.489442212779307990, -0.489485813954157580, -0.489529413905293090, +-0.489573012632604660, -0.489616610135983680, -0.489660206415321540, -0.489703801470508570, -0.489747395301436020, -0.489790987907995020, -0.489834579290076570, -0.489878169447572010, +-0.489921758380371660, -0.489965346088366950, -0.490008932571449230, -0.490052517829508820, -0.490096101862437070, -0.490139684670125090, -0.490183266252463890, -0.490226846609344900, +-0.490270425740658430, -0.490314003646296290, -0.490357580326148730, -0.490401155780107230, -0.490444730008062880, -0.490488303009906650, -0.490531874785530060, -0.490575445334823390, +-0.490619014657678100, -0.490662582753985720, -0.490706149623636460, -0.490749715266521780, -0.490793279682532890, -0.490836842871560760, -0.490880404833496930, -0.490923965568231650, +-0.490967525075656500, -0.491011083355662900, -0.491054640408141230, -0.491098196232982950, -0.491141750830079220, -0.491185304199321440, -0.491228856340600040, -0.491272407253806500, +-0.491315956938832290, -0.491359505395567830, -0.491403052623904660, -0.491446598623733800, -0.491490143394946450, -0.491533686937434100, -0.491577229251087210, -0.491620770335797210, +-0.491664310191455680, -0.491707848817952990, -0.491751386215180660, -0.491794922383029850, -0.491838457321391750, -0.491881991030157950, -0.491925523509218750, -0.491969054758465700, +-0.492012584777790420, -0.492056113567083340, -0.492099641126235940, -0.492143167455139420, -0.492186692553685410, -0.492230216421764230, -0.492273739059267520, -0.492317260466086930, +-0.492360780642112690, -0.492404299587236580, -0.492447817301349680, -0.492491333784343230, -0.492534849036108830, -0.492578363056536960, -0.492621875845519200, -0.492665387402947070, +-0.492708897728711130, -0.492752406822702940, -0.492795914684813710, -0.492839421314934690, -0.492882926712957530, -0.492926430878772640, -0.492969933812272110, -0.493013435513346310, +-0.493056935981886930, -0.493100435217785240, -0.493143933220932420, -0.493187429991220170, -0.493230925528538980, -0.493274419832780480, -0.493317912903836250, -0.493361404741596900, +-0.493404895345954050, -0.493448384716798970, -0.493491872854022910, -0.493535359757517500, -0.493578845427173400, -0.493622329862882130, -0.493665813064535440, -0.493709295032023820, +-0.493752775765238960, -0.493796255264072170, -0.493839733528415150, -0.493883210558158370, -0.493926686353193590, -0.493970160913412450, -0.494013634238705530, -0.494057106328964550, +-0.494100577184080790, -0.494144046803945640, -0.494187515188450670, -0.494230982337486580, -0.494274448250945020, -0.494317912928717740, -0.494361376370695270, -0.494404838576769370, +-0.494448299546831340, -0.494491759280772600, -0.494535217778484860, -0.494578675039858640, -0.494622131064785810, -0.494665585853157950, -0.494709039404865770, -0.494752491719801010, +-0.494795942797855050, -0.494839392638919570, -0.494882841242885230, -0.494926288609643770, -0.494969734739087010, -0.495013179631105530, -0.495056623285591080, -0.495100065702435090, +-0.495143506881528920, -0.495186946822764370, -0.495230385526032050, -0.495273822991223800, -0.495317259218231390, -0.495360694206945400, -0.495404127957257690, -0.495447560469059690, +-0.495490991742242760, -0.495534421776698760, -0.495577850572318290, -0.495621278128993590, -0.495664704446615310, -0.495708129525075260, -0.495751553364264910, -0.495794975964075680, +-0.495838397324399380, -0.495881817445126660, -0.495925236326149430, -0.495968653967359560, -0.496012070368647580, -0.496055485529905470, -0.496098899451024640, -0.496142312131896520, +-0.496185723572413080, -0.496229133772464910, -0.496272542731943880, -0.496315950450741890, -0.496359356928749660, -0.496402762165859050, -0.496446166161961520, -0.496489568916948950, +-0.496532970430712040, -0.496576370703142760, -0.496619769734132910, -0.496663167523573260, -0.496706564071355720, -0.496749959377371710, -0.496793353441512820, -0.496836746263670970, +-0.496880137843736860, -0.496923528181602350, -0.496966917277159470, -0.497010305130298870, -0.497053691740912520, -0.497097077108891950, -0.497140461234128690, -0.497183844116514670, +-0.497227225755940640, -0.497270606152298900, -0.497313985305480320, -0.497357363215376710, -0.497400739881879770, -0.497444115304880920, -0.497487489484272180, -0.497530862419944320, +-0.497574234111789360, -0.497617604559699170, -0.497660973763564550, -0.497704341723277540, -0.497747708438729620, -0.497791073909812480, -0.497834438136418030, -0.497877801118437100, +-0.497921162855761660, -0.497964523348283730, -0.498007882595894070, -0.498051240598484710, -0.498094597355947240, -0.498137952868173690, -0.498181307135054870, -0.498224660156482760, +-0.498268011932349380, -0.498311362462545590, -0.498354711746963440, -0.498398059785494450, -0.498441406578030380, -0.498484752124463140, -0.498528096424683600, -0.498571439478583840, +-0.498614781286055910, -0.498658121846990600, -0.498701461161280000, -0.498744799228815710, -0.498788136049489460, -0.498831471623193250, -0.498874805949817980, -0.498918139029255690, +-0.498961470861398420, -0.499004801446137130, -0.499048130783363800, -0.499091458872970130, -0.499134785714848260, -0.499178111308889010, -0.499221435654984450, -0.499264758753026730, +-0.499308080602906710, -0.499351401204516490, -0.499394720557747750, -0.499438038662492260, -0.499481355518642030, -0.499524671126088000, -0.499567985484722310, -0.499611298594437040, +-0.499654610455123160, -0.499697921066672710, -0.499741230428977500, -0.499784538541929220, -0.499827845405419970, -0.499871151019340710, -0.499914455383583920, -0.499957758498040640, +-0.500001060362602940, -0.500044360977162650, -0.500087660341611450, -0.500130958455841430, -0.500174255319743690, -0.500217550933210300, -0.500260845296133350, -0.500304138408403930, +-0.500347430269914240, -0.500390720880555920, -0.500434010240220830, -0.500477298348801060, -0.500520585206187580, -0.500563870812272830, -0.500607155166948650, -0.500650438270106250, +-0.500693720121637710, -0.500737000721434900, -0.500780280069389900, -0.500823558165393920, -0.500866835009339040, -0.500910110601117450, -0.500953384940620140, -0.500996658027739410, +-0.501039929862367010, -0.501083200444394810, -0.501126469773715000, -0.501169737850218570, -0.501213004673797920, -0.501256270244345050, -0.501299534561751140, -0.501342797625908390, +-0.501386059436708660, -0.501429319994043720, -0.501472579297805980, -0.501515837347886300, -0.501559094144177100, -0.501602349686570470, -0.501645603974957610, -0.501688857009230830, +-0.501732108789281760, -0.501775359315002940, -0.501818608586285240, -0.501861856603021070, -0.501905103365102630, -0.501948348872421010, -0.501991593124868630, -0.502034836122337120, +-0.502078077864718590, -0.502121318351905320, -0.502164557583788310, -0.502207795560259850, -0.502251032281212370, -0.502294267746536850, -0.502337501956125700, -0.502380734909870790, +-0.502423966607664090, -0.502467197049397800, -0.502510426234963110, -0.502553654164252790, -0.502596880837157920, -0.502640106253570920, -0.502683330413383640, -0.502726553316487970, +-0.502769774962776310, -0.502812995352139860, -0.502856214484470930, -0.502899432359661840, -0.502942648977603770, -0.502985864338189040, -0.503029078441309730, -0.503072291286857600, +-0.503115502874725280, -0.503158713204803760, -0.503201922276985460, -0.503245130091162670, -0.503288336647226720, -0.503331541945069900, -0.503374745984584320, -0.503417948765662150, +-0.503461150288194830, -0.503504350552074540, -0.503547549557193830, -0.503590747303443780, -0.503633943790716910, -0.503677139018905210, -0.503720332987900640, -0.503763525697595640, +-0.503806717147881390, -0.503849907338650320, -0.503893096269794950, -0.503936283941206490, -0.503979470352777240, -0.504022655504399290, -0.504065839395964720, -0.504109022027365960, +-0.504152203398494310, -0.504195383509242090, -0.504238562359501820, -0.504281739949164700, -0.504324916278123260, -0.504368091346269590, -0.504411265153495990, -0.504454437699693890, +-0.504497608984755710, -0.504540779008573860, -0.504583947771039760, -0.504627115272045730, -0.504670281511483850, -0.504713446489246320, -0.504756610205225550, -0.504799772659312860, +-0.504842933851400780, -0.504886093781381720, -0.504929252449147100, -0.504972409854589240, -0.505015565997600450, -0.505058720878072690, -0.505101874495898610, -0.505145026850969290, +-0.505188177943177940, -0.505231327772415750, -0.505274476338575140, -0.505317623641548420, -0.505360769681227560, -0.505403914457505210, -0.505447057970272670, -0.505490200219422590, +-0.505533341204847280, -0.505576480926438250, -0.505619619384088060, -0.505662756577688780, -0.505705892507132600, -0.505749027172312180, -0.505792160573118710, -0.505835292709444830, +-0.505878423581183070, -0.505921553188224960, -0.505964681530462920, -0.506007808607789160, -0.506050934420096300, -0.506094058967275770, -0.506137182249220000, -0.506180304265821720, +-0.506223425016972260, -0.506266544502564250, -0.506309662722489890, -0.506352779676641380, -0.506395895364911250, -0.506439009787191030, -0.506482122943373250, -0.506525234833350660, +-0.506568345457014460, -0.506611454814257510, -0.506654562904971790, -0.506697669729049840, -0.506740775286383950, -0.506783879576865770, -0.506826982600387940, -0.506870084356843000, +-0.506913184846122470, -0.506956284068118990, -0.506999382022724880, -0.507042478709832540, -0.507085574129333750, -0.507128668281120910, -0.507171761165086890, -0.507214852781122990, +-0.507257943129121980, -0.507301032208976150, -0.507344120020577720, -0.507387206563819420, -0.507430291838592670, -0.507473375844790240, -0.507516458582304650, -0.507559540051027660, +-0.507602620250851790, -0.507645699181669240, -0.507688776843372550, -0.507731853235854350, -0.507774928359006060, -0.507818002212720890, -0.507861074796890240, -0.507904146111407000, +-0.507947216156163340, -0.507990284931051580, -0.508033352435964590, -0.508076418670793780, -0.508119483635431910, -0.508162547329771840, -0.508205609753704880, -0.508248670907124000, +-0.508291730789921400, -0.508334789401989400, -0.508377846743220840, -0.508420902813507380, -0.508463957612741550, -0.508507011140816310, -0.508550063397623100, -0.508593114383054770, +-0.508636164097003520, -0.508679212539362440, -0.508722259710022830, -0.508765305608877560, -0.508808350235819380, -0.508851393590740050, -0.508894435673532210, -0.508937476484088270, +-0.508980516022300660, -0.509023554288062010, -0.509066591281264190, -0.509109627001799960, -0.509152661449561950, -0.509195694624441920, -0.509238726526332730, -0.509281757155126580, +-0.509324786510716220, -0.509367814592994070, -0.509410841401852110, -0.509453866937183530, -0.509496891198879750, -0.509539914186833750, -0.509582935900938060, -0.509625956341084980, +-0.509668975507167390, -0.509711993399076910, -0.509755010016706530, -0.509798025359949000, -0.509841039428696070, -0.509884052222840390, -0.509927063742274700, -0.509970073986891310, +-0.510013082956583210, -0.510056090651241910, -0.510099097070760400, -0.510142102215031530, -0.510185106083947070, -0.510228108677399870, -0.510271109995282250, -0.510314110037486950, +-0.510357108803906830, -0.510400106294433440, -0.510443102508960190, -0.510486097447378830, -0.510529091109582220, -0.510572083495462900, -0.510615074604913400, -0.510658064437826460, +-0.510701052994094070, -0.510744040273609090, -0.510787026276264380, -0.510830011001951690, -0.510872994450563890, -0.510915976621993730, -0.510958957516133520, -0.511001937132876450, +-0.511044915472114060, -0.511087892533739320, -0.511130868317645310, -0.511173842823723800, -0.511216816051867640, -0.511259788001969360, -0.511302758673922050, -0.511345728067617470, +-0.511388696182948580, -0.511431663019808360, -0.511474628578088450, -0.511517592857682170, -0.511560555858481810, -0.511603517580380030, -0.511646478023269900, -0.511689437187043180, +-0.511732395071592850, -0.511775351676811870, -0.511818307002592230, -0.511861261048826680, -0.511904213815408070, -0.511947165302228950, -0.511990115509182280, -0.512033064436159920, +-0.512076012083055310, -0.512118958449760300, -0.512161903536167860, -0.512204847342170640, -0.512247789867661290, -0.512290731112532870, -0.512333671076677270, -0.512376609759987560, +-0.512419547162356600, -0.512462483283676380, -0.512505418123839980, -0.512548351682740040, -0.512591283960269210, -0.512634214956320670, -0.512677144670786070, -0.512720073103558600, +-0.512763000254531360, -0.512805926123596320, -0.512848850710646340, -0.512891774015574290, -0.512934696038273240, -0.512977616778634960, -0.513020536236552750, -0.513063454411919470, +-0.513106371304627330, -0.513149286914569070, -0.513192201241637780, -0.513235114285725880, -0.513278026046726570, -0.513320936524531810, -0.513363845719034710, -0.513406753630128440, +-0.513449660257704890, -0.513492565601657120, -0.513535469661878020, -0.513578372438260210, -0.513621273930696790, -0.513664174139079830, -0.513707073063302540, -0.513749970703257790, +-0.513792867058837870, -0.513835762129935760, -0.513878655916444220, -0.513921548418256320, -0.513964439635264280, -0.514007329567361170, -0.514050218214440080, -0.514093105576392980, +-0.514135991653113190, -0.514178876444493450, -0.514221759950426520, -0.514264642170805590, -0.514307523105522520, -0.514350402754470860, -0.514393281117543450, -0.514436158194632400, +-0.514479033985631110, -0.514521908490432110, -0.514564781708928390, -0.514607653641013020, -0.514650524286578200, -0.514693393645517470, -0.514736261717722910, -0.514779128503087600, +-0.514821994001504520, -0.514864858212866430, -0.514907721137066620, -0.514950582773997080, -0.514993443123551110, -0.515036302185621910, -0.515079159960101560, -0.515122016446883380, +-0.515164871645860110, -0.515207725556924620, -0.515250578179970220, -0.515293429514888990, -0.515336279561574240, -0.515379128319919060, -0.515421975789815750, -0.515464821971157510, +-0.515507666863837200, -0.515550510467748140, -0.515593352782782400, -0.515636193808833300, -0.515679033545794030, -0.515721871993556790, -0.515764709152015000, -0.515807545021061300, +-0.515850379600588770, -0.515893212890490730, -0.515936044890659250, -0.515978875600987650, -0.516021705021369240, -0.516064533151696200, -0.516107359991861750, -0.516150185541758950, +-0.516193009801280690, -0.516235832770320370, -0.516278654448769970, -0.516321474836523020, -0.516364293933472720, -0.516407111739511260, -0.516449928254532060, -0.516492743478428110, +-0.516535557411092580, -0.516578370052417800, -0.516621181402297180, -0.516663991460623920, -0.516706800227290210, -0.516749607702189580, -0.516792413885215020, -0.516835218776259260, +-0.516878022375215960, -0.516920824681977200, -0.516963625696436390, -0.517006425418486850, -0.517049223848020880, -0.517092020984931900, -0.517134816829112780, -0.517177611380456700, +-0.517220404638856880, -0.517263196604205720, -0.517305987276396980, -0.517348776655322860, -0.517391564740876770, -0.517434351532951810, -0.517477137031440940, -0.517519921236237690, +-0.517562704147234150, -0.517605485764323860, -0.517648266087400330, -0.517691045116355660, -0.517733822851083380, -0.517776599291476570, -0.517819374437428310, -0.517862148288831920, +-0.517904920845579820, -0.517947692107565420, -0.517990462074682250, -0.518033230746822390, -0.518075998123879500, -0.518118764205746650, -0.518161528992317270, -0.518204292483483650, +-0.518247054679139340, -0.518289815579177750, -0.518332575183491300, -0.518375333491973290, -0.518418090504517040, -0.518460846221015510, -0.518503600641362250, -0.518546353765449660, +-0.518589105593171170, -0.518631856124420310, -0.518674605359089380, -0.518717353297071910, -0.518760099938261110, -0.518802845282550160, -0.518845589329832270, -0.518888332080000180, +-0.518931073532947210, -0.518973813688566990, -0.519016552546751720, -0.519059290107395150, -0.519102026370390380, -0.519144761335630920, -0.519187495003009200, -0.519230227372418640, +-0.519272958443752990, -0.519315688216904550, -0.519358416691766860, -0.519401143868233110, -0.519443869746196500, -0.519486594325550670, -0.519529317606187920, -0.519572039588001910, +-0.519614760270886160, -0.519657479654733080, -0.519700197739436320, -0.519742914524889080, -0.519785630010984660, -0.519828344197616370, -0.519871057084676960, -0.519913768672060290, +-0.519956478959658800, -0.519999187947365990, -0.520041895635075300, -0.520084602022679920, -0.520127307110073380, -0.520170010897148210, -0.520212713383797930, -0.520255414569916420, +-0.520298114455395870, -0.520340813040130020, -0.520383510324012200, -0.520426206306935480, -0.520468900988793730, -0.520511594369479360, -0.520554286448886020, -0.520596977226907230, +-0.520639666703435760, -0.520682354878365010, -0.520725041751588400, -0.520767727322999590, -0.520810411592491080, -0.520853094559956540, -0.520895776225289600, -0.520938456588382890, +-0.520981135649130070, -0.521023813407424320, -0.521066489863159070, -0.521109165016228060, -0.521151838866523610, -0.521194511413939690, -0.521237182658369820, -0.521279852599706550, +-0.521322521237843730, -0.521365188572674660, -0.521407854604092560, -0.521450519331991160, -0.521493182756263110, -0.521535844876802050, -0.521578505693501840, -0.521621165206255010, +-0.521663823414955210, -0.521706480319495850, -0.521749135919770680, -0.521791790215672350, -0.521834443207094490, -0.521877094893930860, -0.521919745276074100, -0.521962394353418070, +-0.522005042125855970, -0.522047688593281320, -0.522090333755587890, -0.522132977612668080, -0.522175620164415990, -0.522218261410725140, -0.522260901351488280, -0.522303539986599170, +-0.522346177315951230, -0.522388813339437760, -0.522431448056952740, -0.522474081468388700, -0.522516713573639820, -0.522559344372598770, -0.522601973865159270, -0.522644602051214990, +-0.522687228930659110, -0.522729854503385600, -0.522772478769287010, -0.522815101728257290, -0.522857723380190100, -0.522900343724978290, -0.522942962762515620, -0.522985580492695610, +-0.523028196915411580, -0.523070812030557390, -0.523113425838025780, -0.523156038337710740, -0.523198649529505900, -0.523241259413304020, -0.523283867988999060, -0.523326475256484350, +-0.523369081215653950, -0.523411685866400410, -0.523454289208617580, -0.523496891242199560, -0.523539491967038860, -0.523582091383029360, -0.523624689490064690, -0.523667286288038270, +-0.523709881776844080, -0.523752475956374750, -0.523795068826524270, -0.523837660387186490, -0.523880250638254160, -0.523922839579621160, -0.523965427211181110, -0.524008013532827550, +-0.524050598544454240, -0.524093182245954140, -0.524135764637221340, -0.524178345718148920, -0.524220925488630530, -0.524263503948559810, -0.524306081097830390, -0.524348656936336030, +-0.524391231463969820, -0.524433804680625390, -0.524476376586196950, -0.524518947180577120, -0.524561516463659890, -0.524604084435338900, -0.524646651095507680, -0.524689216444060300, +-0.524731780480889420, -0.524774343205889120, -0.524816904618953250, -0.524859464719974910, -0.524902023508847740, -0.524944580985465590, -0.524987137149722340, -0.525029692001510950, +-0.525072245540725290, -0.525114797767259330, -0.525157348681006050, -0.525199898281859420, -0.525242446569712970, -0.525284993544460450, -0.525327539205995840, -0.525370083554212000, +-0.525412626589002900, -0.525455168310262730, -0.525497708717884150, -0.525540247811761340, -0.525582785591787950, -0.525625322057857500, -0.525667857209864200, -0.525710391047700790, +-0.525752923571261470, -0.525795454780440210, -0.525837984675129990, -0.525880513255224780, -0.525923040520618220, -0.525965566471204520, -0.526008091106876410, -0.526050614427528210, +-0.526093136433053780, -0.526135657123346090, -0.526178176498299340, -0.526220694557807180, -0.526263211301763230, -0.526305726730061600, -0.526348240842595240, -0.526390753639258360, +-0.526433265119944930, -0.526475775284548030, -0.526518284132961640, -0.526560791665079520, -0.526603297880795520, -0.526645802780003500, -0.526688306362596670, -0.526730808628469440, +-0.526773309577514890, -0.526815809209627010, -0.526858307524699530, -0.526900804522626440, -0.526943300203301600, -0.526985794566618200, -0.527028287612470230, -0.527070779340751970, +-0.527113269751356420, -0.527155758844177650, -0.527198246619109410, -0.527240733076045690, -0.527283218214880440, -0.527325702035506770, -0.527368184537818860, -0.527410665721710910, +-0.527453145587075790, -0.527495624133807910, -0.527538101361801020, -0.527580577270949090, -0.527623051861145440, -0.527665525132284150, -0.527707997084259530, -0.527750467716964430, +-0.527792937030293170, -0.527835405024139500, -0.527877871698397390, -0.527920337052961040, -0.527962801087723310, -0.528005263802578730, -0.528047725197421270, -0.528090185272144240, +-0.528132644026641620, -0.528175101460807370, -0.528217557574535480, -0.528260012367720020, -0.528302465840254200, -0.528344917992032200, -0.528387368822948230, -0.528429818332895480, +-0.528472266521768150, -0.528514713389460210, -0.528557158935865860, -0.528599603160878280, -0.528642046064391580, -0.528684487646300270, -0.528726927906497220, -0.528769366844876960, +-0.528811804461333250, -0.528854240755760040, -0.528896675728051550, -0.528939109378101070, -0.528981541705802800, -0.529023972711051060, -0.529066402393738920, -0.529108830753760920, +-0.529151257791010690, -0.529193683505382430, -0.529236107896770340, -0.529278530965067500, -0.529320952710168770, -0.529363373131967350, -0.529405792230357440, -0.529448210005233010, +-0.529490626456488030, -0.529533041584016930, -0.529575455387712890, -0.529617867867470120, -0.529660279023183130, -0.529702688854745030, -0.529745097362050220, -0.529787504544992680, +-0.529829910403466280, -0.529872314937365640, -0.529914718146583750, -0.529957120031015030, -0.529999520590553890, -0.530041919825093630, -0.530084317734528580, -0.530126714318752690, +-0.530169109577660390, -0.530211503511144990, -0.530253896119100790, -0.530296287401422210, -0.530338677358002550, -0.530381065988736240, -0.530423453293517260, -0.530465839272239560, +-0.530508223924797680, -0.530550607251084940, -0.530592989250995630, -0.530635369924424170, -0.530677749271263990, -0.530720127291409380, -0.530762503984754440, -0.530804879351193360, +-0.530847253390620330, -0.530889626102928890, -0.530931997488013340, -0.530974367545768100, -0.531016736276086590, -0.531059103678863330, -0.531101469753992310, -0.531143834501367930, +-0.531186197920883510, -0.531228560012433680, -0.531270920775912870, -0.531313280211214380, -0.531355638318232630, -0.531397995096861810, -0.531440350546996010, -0.531482704668529650, +-0.531525057461356250, -0.531567408925370130, -0.531609759060465930, -0.531652107866536830, -0.531694455343477590, -0.531736801491182190, -0.531779146309544810, -0.531821489798459890, +-0.531863831957820830, -0.531906172787522610, -0.531948512287458650, -0.531990850457523260, -0.532033187297610840, -0.532075522807615500, -0.532117856987431640, -0.532160189836952790, +-0.532202521356073490, -0.532244851544688260, -0.532287180402690520, -0.532329507929974800, -0.532371834126435290, -0.532414158991966200, -0.532456482526462160, -0.532498804729816480, +-0.532541125601923790, -0.532583445142678750, -0.532625763351974650, -0.532668080229706130, -0.532710395775767400, -0.532752709990053090, -0.532795022872456610, -0.532837334422872620, +-0.532879644641195640, -0.532921953527319080, -0.532964261081137810, -0.533006567302545810, -0.533048872191437370, -0.533091175747707150, -0.533133477971248550, -0.533175778861956330, +-0.533218078419725020, -0.533260376644448140, -0.533302673536020230, -0.533344969094335710, -0.533387263319288870, -0.533429556210774150, -0.533471847768685170, -0.533514137992916580, +-0.533556426883363020, -0.533598714439917910, -0.533641000662476110, -0.533683285550931920, -0.533725569105179760, -0.533767851325113290, -0.533810132210627230, -0.533852411761616240, +-0.533894689977973740, -0.533936966859594580, -0.533979242406373070, -0.534021516618203410, -0.534063789494980350, -0.534106061036597410, -0.534148331242949250, -0.534190600113930710, +-0.534232867649435340, -0.534275133849357760, -0.534317398713592300, -0.534359662242033460, -0.534401924434575680, -0.534444185291112820, -0.534486444811539840, -0.534528702995750390, +-0.534570959843639230, -0.534613215355100650, -0.534655469530028960, -0.534697722368319030, -0.534739973869864380, -0.534782224034559770, -0.534824472862300060, -0.534866720352978780, +-0.534908966506490670, -0.534951211322730160, -0.534993454801591550, -0.535035696942969820, -0.535077937746758380, -0.535120177212852100, -0.535162415341145730, -0.535204652131533010, +-0.535246887583908590, -0.535289121698167000, -0.535331354474202990, -0.535373585911910200, -0.535415816011183380, -0.535458044771917500, -0.535500272194006090, -0.535542498277344010, +-0.535584723021825690, -0.535626946427345540, -0.535669168493798420, -0.535711389221077970, -0.535753608609079060, -0.535795826657696540, -0.535838043366824060, -0.535880258736356470, +-0.535922472766188210, -0.535964685456213790, -0.536006896806327960, -0.536049106816424590, -0.536091315486398880, -0.536133522816144460, -0.536175728805556200, -0.536217933454528620, +-0.536260136762956250, -0.536302338730733850, -0.536344539357755280, -0.536386738643915280, -0.536428936589108950, -0.536471133193229810, -0.536513328456172830, -0.536555522377832550, +-0.536597714958103490, -0.536639906196880510, -0.536682096094057370, -0.536724284649529040, -0.536766471863190260, -0.536808657734935020, -0.536850842264658180, -0.536893025452254150, +-0.536935207297617900, -0.536977387800643300, -0.537019566961225210, -0.537061744779258610, -0.537103921254637350, -0.537146096387256190, -0.537188270177009760, -0.537230442623792710, +-0.537272613727499900, -0.537314783488025190, -0.537356951905263560, -0.537399118979109970, -0.537441284709458070, -0.537483449096203050, -0.537525612139239330, -0.537567773838461660, +-0.537609934193764900, -0.537652093205042920, -0.537694250872190690, -0.537736407195103290, -0.537778562173674480, -0.537820715807799220, -0.537862868097372160, -0.537905019042288270, +-0.537947168642441520, -0.537989316897726890, -0.538031463808039230, -0.538073609373272640, -0.538115753593321980, -0.538157896468081990, -0.538200037997447200, -0.538242178181312700, +-0.538284317019572360, -0.538326454512121240, -0.538368590658854340, -0.538410725459665620, -0.538452858914450160, -0.538494991023102390, -0.538537121785517270, -0.538579251201589670, +-0.538621379271213560, -0.538663505994284470, -0.538705631370696160, -0.538747755400343700, -0.538789878083121950, -0.538831999418925460, -0.538874119407649400, -0.538916238049187650, +-0.538958355343435280, -0.539000471290287390, -0.539042585889638050, -0.539084699141382130, -0.539126811045414490, -0.539168921601629770, -0.539211030809923280, -0.539253138670188650, +-0.539295245182321300, -0.539337350346216220, -0.539379454161767250, -0.539421556628869810, -0.539463657747418330, -0.539505757517308230, -0.539547855938433240, -0.539589953010688680, +-0.539632048733969640, -0.539674143108169970, -0.539716236133185090, -0.539758327808909530, -0.539800418135238160, -0.539842507112066160, -0.539884594739287520, -0.539926681016797310, +-0.539968765944490840, -0.540010849522262080, -0.540052931750006240, -0.540095012627617940, -0.540137092154992170, -0.540179170332024120, -0.540221247158607750, -0.540263322634638170, +-0.540305396760010770, -0.540347469534619430, -0.540389540958359450, -0.540431611031125580, -0.540473679752813020, -0.540515747123315960, -0.540557813142529490, -0.540599877810348910, +-0.540641941126668300, -0.540684003091382760, -0.540726063704387250, -0.540768122965576530, -0.540810180874845890, -0.540852237432089430, -0.540894292637202460, -0.540936346490080040, +-0.540978398990616390, -0.541020450138706700, -0.541062499934245930, -0.541104548377128960, -0.541146595467250970, -0.541188641204506050, -0.541230685588789950, -0.541272728619996870, +-0.541314770298021770, -0.541356810622759870, -0.541398849594105890, -0.541440887211955160, -0.541482923476201970, -0.541524958386741310, -0.541566991943468690, -0.541609024146278210, +-0.541651054995065160, -0.541693084489724420, -0.541735112630151060, -0.541777139416240280, -0.541819164847886280, -0.541861188924984360, -0.541903211647429830, -0.541945233015116880, +-0.541987253027940820, -0.542029271685796730, -0.542071288988579700, -0.542113304936184150, -0.542155319528505380, -0.542197332765438690, -0.542239344646878170, -0.542281355172719360, +-0.542323364342857220, -0.542365372157186610, -0.542407378615602950, -0.542449383718000440, -0.542491387464274500, -0.542533389854320540, -0.542575390888032640, -0.542617390565306220, +-0.542659388886036490, -0.542701385850118180, -0.542743381457446720, -0.542785375707916520, -0.542827368601422890, -0.542869360137861130, -0.542911350317125670, -0.542953339139111810, +-0.542995326603714630, -0.543037312710829450, -0.543079297460350660, -0.543121280852173590, -0.543163262886193770, -0.543205243562305370, -0.543247222880403830, -0.543289200840384230, +-0.543331177442141660, -0.543373152685571510, -0.543415126570568120, -0.543457099097026890, -0.543499070264843340, -0.543541040073911690, -0.543583008524127440, -0.543624975615385700, +-0.543666941347581530, -0.543708905720610370, -0.543750868734366510, -0.543792830388745930, -0.543834790683642820, -0.543876749618952830, -0.543918707194570920, -0.543960663410392180, +-0.544002618266312240, -0.544044571762225320, -0.544086523898027030, -0.544128474673612810, -0.544170424088877060, -0.544212372143715100, -0.544254318838022330, -0.544296264171693740, +-0.544338208144624860, -0.544380150756710090, -0.544422092007844970, -0.544464031897924920, -0.544505970426844450, -0.544547907594499110, -0.544589843400783980, -0.544631777845594580, +-0.544673710928825330, -0.544715642650371870, -0.544757573010129610, -0.544799502007993100, -0.544841429643857840, -0.544883355917618940, -0.544925280829171800, -0.544967204378411730, +-0.545009126565233260, -0.545051047389531920, -0.545092966851203450, -0.545134884950142170, -0.545176801686243610, -0.545218717059403170, -0.545260631069515830, -0.545302543716477240, +-0.545344455000182030, -0.545386364920525610, -0.545428273477403750, -0.545470180670710740, -0.545512086500342330, -0.545553990966193610, -0.545595894068160450, -0.545637795806137030, +-0.545679696180019210, -0.545721595189702420, -0.545763492835081410, -0.545805389116051590, -0.545847284032508260, -0.545889177584346850, -0.545931069771462770, -0.545972960593750670, +-0.546014850051106170, -0.546056738143424920, -0.546098624870601350, -0.546140510232531300, -0.546182394229110080, -0.546224276860232780, -0.546266158125795150, -0.546308038025691720, +-0.546349916559818570, -0.546391793728070340, -0.546433669530342560, -0.546475543966530640, -0.546517417036529900, -0.546559288740235850, -0.546601159077543360, -0.546643028048347860, +-0.546684895652545190, -0.546726761890030000, -0.546768626760697820, -0.546810490264444060, -0.546852352401164140, -0.546894213170753600, -0.546936072573107280, -0.546977930608120720, +-0.547019787275689670, -0.547061642575708880, -0.547103496508073880, -0.547145349072680200, -0.547187200269423470, -0.547229050098198440, -0.547270898558900760, -0.547312745651426180, +-0.547354591375669330, -0.547396435731526080, -0.547438278718891720, -0.547480120337661690, -0.547521960587731620, -0.547563799468996360, -0.547605636981351560, -0.547647473124693080, +-0.547689307898915570, -0.547731141303914760, -0.547772973339586080, -0.547814804005825050, -0.547856633302527320, -0.547898461229587630, -0.547940287786902180, -0.547982112974365610, +-0.548023936791873780, -0.548065759239321990, -0.548107580316606000, -0.548149400023621340, -0.548191218360262740, -0.548233035326426200, -0.548274850922007340, -0.548316665146901140, +-0.548358478001003120, -0.548400289484208940, -0.548442099596414100, -0.548483908337514370, -0.548525715707404490, -0.548567521705980220, -0.548609326333137640, -0.548651129588771380, +-0.548692931472777200, -0.548734731985050740, -0.548776531125487850, -0.548818328893983300, -0.548860125290432820, -0.548901920314732390, -0.548943713966776880, -0.548985506246462030, +-0.549027297153683480, -0.549069086688336650, -0.549110874850317400, -0.549152661639520700, -0.549194447055842310, -0.549236231099178180, -0.549278013769423090, -0.549319795066472990, +-0.549361574990223310, -0.549403353540569790, -0.549445130717408190, -0.549486906520633480, -0.549528680950141400, -0.549570454005828050, -0.549612225687588160, -0.549653995995317720, +-0.549695764928912370, -0.549737532488267950, -0.549779298673279240, -0.549821063483842300, -0.549862826919853110, -0.549904588981206530, -0.549946349667798430, -0.549988108979524440, +-0.550029866916280200, -0.550071623477961680, -0.550113378664463640, -0.550155132475682260, -0.550196884911513310, -0.550238635971851850, -0.550280385656593870, -0.550322133965634790, +-0.550363880898870450, -0.550405626456196730, -0.550447370637508700, -0.550489113442702460, -0.550530854871673190, -0.550572594924316650, -0.550614333600528690, -0.550656070900204960, +-0.550697806823241320, -0.550739541369532850, -0.550781274538975520, -0.550823006331465410, -0.550864736746897400, -0.550906465785167440, -0.550948193446171410, -0.550989919729804930, +-0.551031644635963990, -0.551073368164543550, -0.551115090315439700, -0.551156811088548420, -0.551198530483764880, -0.551240248500984850, -0.551281965140104410, -0.551323680401019310, +-0.551365394283624630, -0.551407106787816460, -0.551448817913490870, -0.551490527660542960, -0.551532236028868580, -0.551573943018363710, -0.551615648628924090, -0.551657352860445590, +-0.551699055712823290, -0.551740757185953390, -0.551782457279732070, -0.551824155994054100, -0.551865853328815880, -0.551907549283912950, -0.551949243859241050, -0.551990937054696600, +-0.552032628870174350, -0.552074319305570490, -0.552116008360781230, -0.552157696035701530, -0.552199382330227690, -0.552241067244255370, -0.552282750777680740, -0.552324432930398790, +-0.552366113702305820, -0.552407793093298020, -0.552449471103270250, -0.552491147732118830, -0.552532822979739490, -0.552574496846028220, -0.552616169330880980, -0.552657840434192970, +-0.552699510155860390, -0.552741178495779420, -0.552782845453845040, -0.552824511029953560, -0.552866175224000940, -0.552907838035882730, -0.552949499465495320, -0.552991159512733810, +-0.553032818177494830, -0.553074475459673360, -0.553116131359165820, -0.553157785875867840, -0.553199439009675390, -0.553241090760484780, -0.553282741128190980, -0.553324390112690410, +-0.553366037713879160, -0.553407683931652520, -0.553449328765906690, -0.553490972216537420, -0.553532614283440800, -0.553574254966513020, -0.553615894265649280, -0.553657532180745650, +-0.553699168711698660, -0.553740803858403410, -0.553782437620756070, -0.553824069998652750, -0.553865700991989510, -0.553907330600661660, -0.553948958824565520, -0.553990585663597380, +-0.554032211117652440, -0.554073835186626900, -0.554115457870416720, -0.554157079168917990, -0.554198699082026900, -0.554240317609638660, -0.554281934751649660, -0.554323550507956230, +-0.554365164878453440, -0.554406777863037830, -0.554448389461605240, -0.554489999674051770, -0.554531608500273610, -0.554573215940165950, -0.554614821993625440, -0.554656426660548150, +-0.554698029940829400, -0.554739631834365590, -0.554781232341052700, -0.554822831460787150, -0.554864429193464130, -0.554906025538979940, -0.554947620497231120, -0.554989214068112970, +-0.555030806251521680, -0.555072397047353340, -0.555113986455504140, -0.555155574475870270, -0.555197161108347050, -0.555238746352830990, -0.555280330209218410, -0.555321912677404720, +-0.555363493757286110, -0.555405073448758890, -0.555446651751718920, -0.555488228666062730, -0.555529804191685520, -0.555571378328484240, -0.555612951076354110, -0.555654522435191640, +-0.555696092404892820, -0.555737660985353820, -0.555779228176470960, -0.555820793978139660, -0.555862358390256440, -0.555903921412717720, -0.555945483045418800, -0.555987043288256100, +-0.556028602141125820, -0.556070159603924140, -0.556111715676547270, -0.556153270358890840, -0.556194823650851270, -0.556236375552324970, -0.556277926063207360, -0.556319475183394860, +-0.556361022912783780, -0.556402569251270410, -0.556444114198750390, -0.556485657755119930, -0.556527199920275770, -0.556568740694113330, -0.556610280076528910, -0.556651818067418810, +-0.556693354666679130, -0.556734889874206500, -0.556776423689896330, -0.556817956113645040, -0.556859487145349160, -0.556901016784904330, -0.556942545032206860, -0.556984071887153040, +-0.557025597349639080, -0.557067121419561380, -0.557108644096815600, -0.557150165381298250, -0.557191685272905860, -0.557233203771533850, -0.557274720877078740, -0.557316236589436960, +-0.557357750908504920, -0.557399263834178040, -0.557440775366353170, -0.557482285504926620, -0.557523794249794040, -0.557565301600851940, -0.557606807557996520, -0.557648312121124200, +-0.557689815290131400, -0.557731317064913750, -0.557772817445367770, -0.557814316431390120, -0.557855814022876320, -0.557897310219722890, -0.557938805021826360, -0.557980298429082700, +-0.558021790441388670, -0.558063281058639780, -0.558104770280733130, -0.558146258107564130, -0.558187744539029530, -0.558229229575025520, -0.558270713215448520, -0.558312195460194950, +-0.558353676309160660, -0.558395155762242080, -0.558436633819336060, -0.558478110480338130, -0.558519585745144820, -0.558561059613652540, -0.558602532085757720, -0.558644003161356870, +-0.558685472840345640, -0.558726941122620670, -0.558768408008078810, -0.558809873496615590, -0.558851337588127550, -0.558892800282511320, -0.558934261579663310, -0.558975721479479380, +-0.559017179981856070, -0.559058637086690240, -0.559100092793877510, -0.559141547103314430, -0.559183000014897510, -0.559224451528523180, -0.559265901644087960, -0.559307350361487710, +-0.559348797680619070, -0.559390243601378680, -0.559431688123662510, -0.559473131247366970, -0.559514572972388710, -0.559556013298623920, -0.559597452225969460, -0.559638889754321080, +-0.559680325883575860, -0.559721760613629440, -0.559763193944378570, -0.559804625875719660, -0.559846056407549360, -0.559887485539764200, -0.559928913272259910, -0.559970339604933360, +-0.560011764537681310, -0.560053188070399610, -0.560094610202984790, -0.560136030935333480, -0.560177450267342110, -0.560218868198907540, -0.560260284729925400, -0.560301699860292550, +-0.560343113589905740, -0.560384525918660840, -0.560425936846454590, -0.560467346373183520, -0.560508754498744160, -0.560550161223033140, -0.560591566545946440, -0.560632970467381140, +-0.560674372987233110, -0.560715774105399190, -0.560757173821775700, -0.560798572136259390, -0.560839969048746890, -0.560881364559134180, -0.560922758667318110, -0.560964151373195440, +-0.561005542676662030, -0.561046932577614840, -0.561088321075950190, -0.561129708171564820, -0.561171093864355600, -0.561212478154218150, -0.561253861041049570, -0.561295242524746720, +-0.561336622605205340, -0.561378001282322400, -0.561419378555994550, -0.561460754426118540, -0.561502128892590320, -0.561543501955306780, -0.561584873614164870, -0.561626243869060350, +-0.561667612719890190, -0.561708980166551130, -0.561750346208939490, -0.561791710846952450, -0.561833074080485660, -0.561874435909436310, -0.561915796333701150, -0.561957155353176140, +-0.561998512967758270, -0.562039869177344050, -0.562081223981830250, -0.562122577381113710, -0.562163929375090410, -0.562205279963657540, -0.562246629146711200, -0.562287976924148340, +-0.562329323295865380, -0.562370668261759190, -0.562412011821726730, -0.562453353975663870, -0.562494694723467580, -0.562536034065034940, -0.562577372000261810, -0.562618708529045390, +-0.562660043651282080, -0.562701377366868650, -0.562742709675702170, -0.562784040577678500, -0.562825370072694840, -0.562866698160648050, -0.562908024841434210, -0.562949350114950180, +-0.562990673981092930, -0.563031996439759210, -0.563073317490845220, -0.563114637134247920, -0.563155955369864400, -0.563197272197590640, -0.563238587617323700, -0.563279901628960240, +-0.563321214232397120, -0.563362525427531290, -0.563403835214258740, -0.563445143592476660, -0.563486450562082020, -0.563527756122970900, -0.563569060275040390, -0.563610363018187230, +-0.563651664352308290, -0.563692964277300420, -0.563734262793059830, -0.563775559899483470, -0.563816855596468660, -0.563858149883911360, -0.563899442761708670, -0.563940734229757430, +-0.563982024287954630, -0.564023312936196450, -0.564064600174379980, -0.564105886002402410, -0.564147170420159720, -0.564188453427549090, -0.564229735024467380, -0.564271015210811240, +-0.564312293986477980, -0.564353571351363660, -0.564394847305365380, -0.564436121848380320, -0.564477394980304580, -0.564518666701035450, -0.564559937010469580, -0.564601205908503930, +-0.564642473395035480, -0.564683739469960640, -0.564725004133176720, -0.564766267384580020, -0.564807529224067520, -0.564848789651536290, -0.564890048666883080, -0.564931306270005100, +-0.564972562460798520, -0.565013817239160550, -0.565055070604988270, -0.565096322558178100, -0.565137573098627000, -0.565178822226232060, -0.565220069940890020, -0.565261316242498200, +-0.565302561130952670, -0.565343804606150860, -0.565385046667989830, -0.565426287316365790, -0.565467526551176050, -0.565508764372317450, -0.565550000779687310, -0.565591235773181930, +-0.565632469352698290, -0.565673701518134010, -0.565714932269384960, -0.565756161606348670, -0.565797389528922000, -0.565838616037001810, -0.565879841130485390, -0.565921064809269070, +-0.565962287073250030, -0.566003507922325680, -0.566044727356392220, -0.566085945375346960, -0.566127161979086750, -0.566168377167508670, -0.566209590940510040, -0.566250803297987050, +-0.566292014239837100, -0.566333223765957410, -0.566374431876244370, -0.566415638570595180, -0.566456843848906930, -0.566498047711076920, -0.566539250157001350, -0.566580451186577740, +-0.566621650799703390, -0.566662848996274500, -0.566704045776188490, -0.566745241139342440, -0.566786435085633200, -0.566827627614958200, -0.566868818727213840, -0.566910008422297440, +-0.566951196700106410, -0.566992383560536940, -0.567033569003486560, -0.567074753028852240, -0.567115935636531070, -0.567157116826420450, -0.567198296598416580, -0.567239474952417440, +-0.567280651888319110, -0.567321827406019220, -0.567363001505414850, -0.567404174186402880, -0.567445345448880810, -0.567486515292745080, -0.567527683717893080, -0.567568850724222250, +-0.567610016311628770, -0.567651180480010400, -0.567692343229264100, -0.567733504559286840, -0.567774664469976150, -0.567815822961228570, -0.567856980032941380, -0.567898135685012130, +-0.567939289917337110, -0.567980442729813850, -0.568021594122339550, -0.568062744094811610, -0.568103892647126460, -0.568145039779181520, -0.568186185490874410, -0.568227329782101440, +-0.568268472652760150, -0.568309614102747720, -0.568350754131961230, -0.568391892740298220, -0.568433029927655100, -0.568474165693929390, -0.568515300039018620, -0.568556432962819320, +-0.568597564465228800, -0.568638694546144460, -0.568679823205463400, -0.568720950443083130, -0.568762076258900070, -0.568803200652811870, -0.568844323624716040, -0.568885445174509010, +-0.568926565302088410, -0.568967684007351430, -0.569008801290195490, -0.569049917150517230, -0.569091031588214170, -0.569132144603183950, -0.569173256195323000, -0.569214366364528820, +-0.569255475110698740, -0.569296582433730050, -0.569337688333520160, -0.569378792809965840, -0.569419895862964380, -0.569460997492413630, -0.569502097698210030, -0.569543196480251200, +-0.569584293838434340, -0.569625389772656750, -0.569666484282816080, -0.569707577368808730, -0.569748669030532890, -0.569789759267885000, -0.569830848080762680, -0.569871935469063340, +-0.569913021432684070, -0.569954105971522630, -0.569995189085475530, -0.570036270774440520, -0.570077351038315140, -0.570118429876996120, -0.570159507290380900, -0.570200583278366980, +-0.570241657840851570, -0.570282730977732410, -0.570323802688906030, -0.570364872974270190, -0.570405941833722510, -0.570447009267159630, -0.570488075274479200, -0.570529139855578520, +-0.570570203010355440, -0.570611264738706490, -0.570652325040529320, -0.570693383915721770, -0.570734441364180390, -0.570775497385802800, -0.570816551980486530, -0.570857605148128890, +-0.570898656888627620, -0.570939707201879370, -0.570980756087781760, -0.571021803546232780, -0.571062849577128830, -0.571103894180367670, -0.571144937355846930, -0.571185979103463690, +-0.571227019423115930, -0.571268058314700290, -0.571309095778114510, -0.571350131813256330, -0.571391166420022520, -0.571432199598310710, -0.571473231348018420, -0.571514261669043400, +-0.571555290561282400, -0.571596318024633180, -0.571637344058993580, -0.571678368664260140, -0.571719391840330830, -0.571760413587103060, -0.571801433904474240, -0.571842452792342140, +-0.571883470250603600, -0.571924486279156370, -0.571965500877898330, -0.572006514046726200, -0.572047525785537640, -0.572088536094230380, -0.572129544972701740, -0.572170552420849690, +-0.572211558438570740, -0.572252563025763330, -0.572293566182324190, -0.572334567908151070, -0.572375568203141620, -0.572416567067193240, -0.572457564500203690, -0.572498560502069930, +-0.572539555072689830, -0.572580548211961140, -0.572621539919780710, -0.572662530196046520, -0.572703519040655860, -0.572744506453506500, -0.572785492434496170, -0.572826476983521850, +-0.572867460100481280, -0.572908441785272340, -0.572949422037792090, -0.572990400857938180, -0.573031378245608350, -0.573072354200700350, -0.573113328723111160, -0.573154301812738630, +-0.573195273469480630, -0.573236243693234230, -0.573277212483897070, -0.573318179841367010, -0.573359145765541480, -0.573400110256318430, -0.573441073313594730, -0.573482034937268240, +-0.573522995127237150, -0.573563953883398200, -0.573604911205649380, -0.573645867093888210, -0.573686821548012430, -0.573727774567920010, -0.573768726153507710, -0.573809676304673940, +-0.573850625021315670, -0.573891572303330880, -0.573932518150617080, -0.573973462563072020, -0.574014405540593690, -0.574055347083078930, -0.574096287190425820, -0.574137225862532350, +-0.574178163099295480, -0.574219098900613180, -0.574260033266383090, -0.574300966196502950, -0.574341897690870740, -0.574382827749383540, -0.574423756371939100, -0.574464683558435720, +-0.574505609308770260, -0.574546533622840800, -0.574587456500544990, -0.574628377941780900, -0.574669297946445500, -0.574710216514436880, -0.574751133645653110, -0.574792049339991060, +-0.574832963597348920, -0.574873876417624330, -0.574914787800715140, -0.574955697746519220, -0.574996606254933870, -0.575037513325856840, -0.575078418959186430, -0.575119323154819620, +-0.575160225912654590, -0.575201127232588870, -0.575242027114520440, -0.575282925558347260, -0.575323822563966300, -0.575364718131275880, -0.575405612260174060, -0.575446504950557820, +-0.575487396202325250, -0.575528286015374310, -0.575569174389602980, -0.575610061324908330, -0.575650946821188450, -0.575691830878341640, -0.575732713496264870, -0.575773594674856340, +-0.575814474414013900, -0.575855352713635190, -0.575896229573618410, -0.575937104993860750, -0.575977978974260400, -0.576018851514715320, -0.576059722615122840, -0.576100592275381020, +-0.576141460495387720, -0.576182327275040820, -0.576223192614238490, -0.576264056512877710, -0.576304918970857230, -0.576345779988074010, -0.576386639564426370, -0.576427497699812160, +-0.576468354394129250, -0.576509209647275700, -0.576550063459148830, -0.576590915829646830, -0.576631766758667790, -0.576672616246109100, -0.576713464291868870, -0.576754310895844840, +-0.576795156057935190, -0.576835999778037900, -0.576876842056050280, -0.576917682891870620, -0.576958522285397010, -0.576999360236526870, -0.577040196745158160, -0.577081031811189080, +-0.577121865434517820, -0.577162697615041460, -0.577203528352658310, -0.577244357647266780, -0.577285185498763950, -0.577326011907048130, -0.577366836872017400, -0.577407660393569500, +-0.577448482471602740, -0.577489303106014540, -0.577530122296702970, -0.577570940043566570, -0.577611756346502410, -0.577652571205408800, -0.577693384620183830, -0.577734196590725340, +-0.577775007116931750, -0.577815816198700370, -0.577856623835929280, -0.577897430028517120, -0.577938234776360970, -0.577979038079359240, -0.578019839937410020, -0.578060640350411380, +-0.578101439318260860, -0.578142236840856860, -0.578183032918097470, -0.578223827549880220, -0.578264620736103300, -0.578305412476664890, -0.578346202771462980, -0.578386991620395860, +-0.578427779023360960, -0.578468564980256560, -0.578509349490981210, -0.578550132555432080, -0.578590914173507500, -0.578631694345105750, -0.578672473070124820, -0.578713250348462990, +-0.578754026180017590, -0.578794800564687570, -0.578835573502370250, -0.578876344992963920, -0.578917115036366780, -0.578957883632476800, -0.578998650781192500, -0.579039416482411200, +-0.579080180736031290, -0.579120943541951430, -0.579161704900068800, -0.579202464810281810, -0.579243223272488780, -0.579283980286587670, -0.579324735852476900, -0.579365489970053990, +-0.579406242639217360, -0.579446993859865420, -0.579487743631895700, -0.579528491955206610, -0.579569238829696240, -0.579609984255263220, -0.579650728231804860, -0.579691470759219670, +-0.579732211837406200, -0.579772951466261730, -0.579813689645684920, -0.579854426375573940, -0.579895161655826890, -0.579935895486342280, -0.579976627867017540, -0.580017358797751290, +-0.580058088278441960, -0.580098816308987080, -0.580139542889285040, -0.580180268019234280, -0.580220991698732760, -0.580261713927679220, -0.580302434705970980, -0.580343154033506670, +-0.580383871910184810, -0.580424588335902940, -0.580465303310559570, -0.580506016834053010, -0.580546728906281670, -0.580587439527143200, -0.580628148696536120, -0.580668856414359060, +-0.580709562680509440, -0.580750267494885900, -0.580790970857386730, -0.580831672767910150, -0.580872373226354770, -0.580913072232618120, -0.580953769786598630, -0.580994465888195260, +-0.581035160537305310, -0.581075853733827420, -0.581116545477659900, -0.581157235768701040, -0.581197924606849380, -0.581238611992002660, -0.581279297924059750, -0.581319982402918160, +-0.581360665428476640, -0.581401347000633510, -0.581442027119286940, -0.581482705784335700, -0.581523382995677300, -0.581564058753210490, -0.581604733056833910, -0.581645405906445090, +-0.581686077301942770, -0.581726747243225260, -0.581767415730190860, -0.581808082762738320, -0.581848748340765280, -0.581889412464170250, -0.581930075132852110, -0.581970736346708370, +-0.582011396105637790, -0.582052054409538780, -0.582092711258309970, -0.582133366651849000, -0.582174020590054630, -0.582214673072825590, -0.582255324100059420, -0.582295973671655090, +-0.582336621787510780, -0.582377268447524800, -0.582417913651596120, -0.582458557399622270, -0.582499199691501990, -0.582539840527134150, -0.582580479906416260, -0.582621117829247190, +-0.582661754295525360, -0.582702389305149170, -0.582743022858017270, -0.582783654954027510, -0.582824285593078640, -0.582864914775069410, -0.582905542499897460, -0.582946168767461750, +-0.582986793577660590, -0.583027416930392840, -0.583068038825556020, -0.583108659263049330, -0.583149278242771190, -0.583189895764619550, -0.583230511828493170, -0.583271126434290580, +-0.583311739581910070, -0.583352351271250620, -0.583392961502209870, -0.583433570274686790, -0.583474177588580110, -0.583514783443787710, -0.583555387840208220, -0.583595990777740380, +-0.583636592256282500, -0.583677192275733450, -0.583717790835991070, -0.583758387936954670, -0.583798983578521890, -0.583839577760591590, -0.583880170483062400, -0.583920761745832850, +-0.583961351548801690, -0.584001939891866770, -0.584042526774927070, -0.584083112197881340, -0.584123696160627540, -0.584164278663064420, -0.584204859705090620, -0.584245439286604660, +-0.584286017407505520, -0.584326594067690940, -0.584367169267059890, -0.584407743005511350, -0.584448315282942940, -0.584488886099253870, -0.584529455454342540, -0.584570023348107930, +-0.584610589780447890, -0.584651154751261390, -0.584691718260447300, -0.584732280307903700, -0.584772840893529210, -0.584813400017222820, -0.584853957678882820, -0.584894513878408300, +-0.584935068615697110, -0.584975621890648220, -0.585016173703160720, -0.585056724053132360, -0.585097272940462210, -0.585137820365048910, -0.585178366326791100, -0.585218910825587630, +-0.585259453861336600, -0.585299995433937290, -0.585340535543287580, -0.585381074189286530, -0.585421611371832800, -0.585462147090825110, -0.585502681346162350, -0.585543214137742570, +-0.585583745465464660, -0.585624275329227780, -0.585664803728929930, -0.585705330664470060, -0.585745856135746810, -0.585786380142658940, -0.585826902685105510, -0.585867423762984400, +-0.585907943376194780, -0.585948461524635640, -0.585988978208204950, -0.586029493426801880, -0.586070007180325090, -0.586110519468673540, -0.586151030291745420, -0.586191539649439710, +-0.586232047541655590, -0.586272553968290810, -0.586313058929244790, -0.586353562424416050, -0.586394064453703460, -0.586434565017005970, -0.586475064114221790, -0.586515561745249990, +-0.586556057909989550, -0.586596552608338650, -0.586637045840196380, -0.586677537605461490, -0.586718027904032710, -0.586758516735809250, -0.586799004100689190, -0.586839489998571610, +-0.586879974429355580, -0.586920457392939300, -0.586960938889221960, -0.587001418918102200, -0.587041897479479210, -0.587082374573251190, -0.587122850199317200, -0.587163324357576450, +-0.587203797047927020, -0.587244268270268100, -0.587284738024498430, -0.587325206310516990, -0.587365673128222960, -0.587406138477514330, -0.587446602358290380, -0.587487064770450210, +-0.587527525713892110, -0.587567985188515160, -0.587608443194218230, -0.587648899730900180, -0.587689354798460300, -0.587729808396796560, -0.587770260525808720, -0.587810711185394960, +-0.587851160375454260, -0.587891608095885810, -0.587932054346588240, -0.587972499127460970, -0.588012942438402080, -0.588053384279310750, -0.588093824650086420, -0.588134263550627150, +-0.588174700980832130, -0.588215136940600460, -0.588255571429830870, -0.588296004448422780, -0.588336435996274280, -0.588376866073284650, -0.588417294679353330, -0.588457721814378390, +-0.588498147478259010, -0.588538571670894410, -0.588578994392183750, -0.588619415642025130, -0.588659835420318080, -0.588700253726961660, -0.588740670561854420, -0.588781085924895420, +-0.588821499815983640, -0.588861912235018160, -0.588902323181898280, -0.588942732656522190, -0.588983140658789320, -0.589023547188598950, -0.589063952245849400, -0.589104355830439850, +-0.589144757942269500, -0.589185158581237210, -0.589225557747242500, -0.589265955440183340, -0.589306351659959480, -0.589346746406470000, -0.589387139679613310, -0.589427531479288720, +-0.589467921805395420, -0.589508310657832600, -0.589548698036498560, -0.589589083941292950, -0.589629468372114830, -0.589669851328862850, -0.589710232811436090, -0.589750612819733840, +-0.589790991353654980, -0.589831368413099020, -0.589871743997964380, -0.589912118108150250, -0.589952490743556270, -0.589992861904080620, -0.590033231589622950, -0.590073599800082120, +-0.590113966535357300, -0.590154331795347930, -0.590194695579952300, -0.590235057889070380, -0.590275418722600360, -0.590315778080441890, -0.590356135962493920, -0.590396492368655660, +-0.590436847298826510, -0.590477200752904880, -0.590517552730790210, -0.590557903232382110, -0.590598252257578780, -0.590638599806279860, -0.590678945878384540, -0.590719290473791680, +-0.590759633592401130, -0.590799975234110990, -0.590840315398820980, -0.590880654086430530, -0.590920991296838060, -0.590961327029943200, -0.591001661285644910, -0.591041994063842950, +-0.591082325364435500, -0.591122655187322320, -0.591162983532402930, -0.591203310399575630, -0.591243635788740060, -0.591283959699795410, -0.591324282132640880, -0.591364603087175980, +-0.591404922563299240, -0.591445240560910190, -0.591485557079908350, -0.591525872120192250, -0.591566185681661530, -0.591606497764215370, -0.591646808367752850, -0.591687117492173840, +-0.591727425137376530, -0.591767731303260660, -0.591808035989725870, -0.591848339196670680, -0.591888640923994620, -0.591928941171596890, -0.591969239939377220, -0.592009537227234040, +-0.592049833035067090, -0.592090127362775890, -0.592130420210258970, -0.592170711577416080, -0.592211001464146290, -0.592251289870349140, -0.592291576795924040, -0.592331862240769610, +-0.592372146204785620, -0.592412428687871580, -0.592452709689926140, -0.592492989210848810, -0.592533267250539120, -0.592573543808896260, -0.592613818885819880, -0.592654092481208480, +-0.592694364594962390, -0.592734635226979890, -0.592774904377160960, -0.592815172045404570, -0.592855438231610350, -0.592895702935677950, -0.592935966157505880, -0.592976227896993890, +-0.593016488154041730, -0.593056746928547930, -0.593097004220412230, -0.593137260029534150, -0.593177514355812780, -0.593217767199148090, -0.593258018559438600, -0.593298268436584060, +-0.593338516830484220, -0.593378763741037710, -0.593419009168144270, -0.593459253111703330, -0.593499495571614630, -0.593539736547776810, -0.593579976040089610, -0.593620214048452890, +-0.593660450572765290, -0.593700685612926550, -0.593740919168836090, -0.593781151240393210, -0.593821381827498000, -0.593861610930048860, -0.593901838547945760, -0.593942064681088340, +-0.593982289329375470, -0.594022512492706880, -0.594062734170981990, -0.594102954364100320, -0.594143173071961520, -0.594183390294464430, -0.594223606031508920, -0.594263820282994850, +-0.594304033048820730, -0.594344244328886550, -0.594384454123091820, -0.594424662431336180, -0.594464869253518600, -0.594505074589538940, -0.594545278439296830, -0.594585480802691250, +-0.594625681679621930, -0.594665881069988410, -0.594706078973690100, -0.594746275390627080, -0.594786470320697980, -0.594826663763802670, -0.594866855719841100, -0.594907046188712040, +-0.594947235170315340, -0.594987422664550510, -0.595027608671317210, -0.595067793190515170, -0.595107976222043260, -0.595148157765801880, -0.595188337821689670, -0.595228516389606610, +-0.595268693469452330, -0.595308869061126230, -0.595349043164528410, -0.595389215779557610, -0.595429386906113690, -0.595469556544096720, -0.595509724693405460, -0.595549891353939990, +-0.595590056525599710, -0.595630220208284270, -0.595670382401893630, -0.595710543106326760, -0.595750702321483530, -0.595790860047263780, -0.595831016283566610, -0.595871171030291860, +-0.595911324287339280, -0.595951476054608630, -0.595991626331998980, -0.596031775119410300, -0.596071922416742560, -0.596112068223894510, -0.596152212540766450, -0.596192355367257790, +-0.596232496703268280, -0.596272636548697780, -0.596312774903445360, -0.596352911767411120, -0.596393047140494900, -0.596433181022595680, -0.596473313413613540, -0.596513444313448100, +-0.596553573721999020, -0.596593701639166360, -0.596633828064849100, -0.596673952998947650, -0.596714076441360990, -0.596754198391989070, -0.596794318850731640, -0.596834437817488460, +-0.596874555292159600, -0.596914671274643930, -0.596954785764841620, -0.596994898762652660, -0.597035010267976120, -0.597075120280711970, -0.597115228800760180, -0.597155335828020160, +-0.597195441362392220, -0.597235545403775330, -0.597275647952069550, -0.597315749007175100, -0.597355848568990820, -0.597395946637417020, -0.597436043212353220, -0.597476138293699720, +-0.597516231881355610, -0.597556323975220850, -0.597596414575195630, -0.597636503681178930, -0.597676591293071050, -0.597716677410771720, -0.597756762034180710, -0.597796845163198090, +-0.597836926797723050, -0.597877006937655660, -0.597917085582896140, -0.597957162733343540, -0.597997238388898070, -0.598037312549459470, -0.598077385214927480, -0.598117456385202530, +-0.598157526060183580, -0.598197594239770700, -0.598237660923864320, -0.598277726112363410, -0.598317789805168140, -0.598357852002178390, -0.598397912703294340, -0.598437971908415190, +-0.598478029617441120, -0.598518085830272330, -0.598558140546808000, -0.598598193766948230, -0.598638245490593080, -0.598678295717642310, -0.598718344447996100, -0.598758391681553650, +-0.598798437418215260, -0.598838481657881120, -0.598878524400450420, -0.598918565645823460, -0.598958605393900000, -0.598998643644580110, -0.599038680397763980, -0.599078715653350690, +-0.599118749411240990, -0.599158781671334180, -0.599198812433530350, -0.599238841697729450, -0.599278869463831470, -0.599318895731736580, -0.599358920501344210, -0.599398943772554540, +-0.599438965545267880, -0.599478985819383410, -0.599519004594801450, -0.599559021871421960, -0.599599037649145020, -0.599639051927870700, -0.599679064707498540, -0.599719075987928620, +-0.599759085769061450, -0.599799094050796120, -0.599839100833033050, -0.599879106115672300, -0.599919109898614080, -0.599959112181757790, -0.599999112965003740, -0.600039112248252240, +-0.600079110031402570, -0.600119106314355170, -0.600159101097009870, -0.600199094379267000, -0.600239086161026610, -0.600279076442188250, -0.600319065222652100, -0.600359052502318800, +-0.600399038281087320, -0.600439022558858390, -0.600479005335531890, -0.600518986611007780, -0.600558966385186690, -0.600598944657967700, -0.600638921429251460, -0.600678896698938150, +-0.600718870466927290, -0.600758842733119300, -0.600798813497414150, -0.600838782759712360, -0.600878750519913350, -0.600918716777917310, -0.600958681533624860, -0.600998644786935430, +-0.601038606537749320, -0.601078566785966720, -0.601118525531487700, -0.601158482774212690, -0.601198438514041200, -0.601238392750873540, -0.601278345484610230, -0.601318296715150800, +-0.601358246442395550, -0.601398194666244670, -0.601438141386598350, -0.601478086603357000, -0.601518030316420150, -0.601557972525688540, -0.601597913231061600, -0.601637852432439950, +-0.601677790129723560, -0.601717726322812840, -0.601757661011607990, -0.601797594196008760, -0.601837525875915550, -0.601877456051228780, -0.601917384721848080, -0.601957311887673980, +-0.601997237548606570, -0.602037161704546020, -0.602077084355392870, -0.602117005501046740, -0.602156925141408060, -0.602196843276377460, -0.602236759905854350, -0.602276675029739360, +-0.602316588647932690, -0.602356500760334980, -0.602396411366845520, -0.602436320467365170, -0.602476228061794240, -0.602516134150032470, -0.602556038731980380, -0.602595941807538060, +-0.602635843376606030, -0.602675743439084700, -0.602715641994873600, -0.602755539043873470, -0.602795434585984840, -0.602835328621107220, -0.602875221149141380, -0.602915112169987390, +-0.602955001683545650, -0.602994889689716820, -0.603034776188400290, -0.603074661179496930, -0.603114544662907260, -0.603154426638530810, -0.603194307106268310, -0.603234186066020080, +-0.603274063517686640, -0.603313939461167850, -0.603353813896364110, -0.603393686823176180, -0.603433558241503690, -0.603473428151247380, -0.603513296552307340, -0.603553163444584210, +-0.603593028827978490, -0.603632892702389840, -0.603672755067718890, -0.603712615923866490, -0.603752475270732170, -0.603792333108216670, -0.603832189436220300, -0.603872044254643470, +-0.603911897563386920, -0.603951749362350300, -0.603991599651434560, -0.604031448430539570, -0.604071295699565860, -0.604111141458414050, -0.604150985706984220, -0.604190828445177350, +-0.604230669672893070, -0.604270509390032130, -0.604310347596495270, -0.604350184292182120, -0.604390019476993560, -0.604429853150829980, -0.604469685313591800, -0.604509515965179660, +-0.604549345105493410, -0.604589172734433800, -0.604628998851901580, -0.604668823457796600, -0.604708646552019500, -0.604748468134470700, -0.604788288205051260, -0.604828106763660610, +-0.604867923810199710, -0.604907739344569430, -0.604947553366669390, -0.604987365876400450, -0.605027176873663140, -0.605066986358357870, -0.605106794330385500, -0.605146600789645770, +-0.605186405736039550, -0.605226209169467680, -0.605266011089829910, -0.605305811497027110, -0.605345610390959800, -0.605385407771528490, -0.605425203638634060, -0.605464997992176120, +-0.605504790832055770, -0.605544582158173860, -0.605584371970430020, -0.605624160268725340, -0.605663947052960230, -0.605703732323035540, -0.605743516078851240, -0.605783298320308080, +-0.605823079047307140, -0.605862858259748060, -0.605902635957531910, -0.605942412140559110, -0.605982186808730280, -0.606021959961946300, -0.606061731600107120, -0.606101501723113610, +-0.606141270330866730, -0.606181037423266340, -0.606220803000213300, -0.606260567061608250, -0.606300329607351810, -0.606340090637344840, -0.606379850151487320, -0.606419608149680540, +-0.606459364631824370, -0.606499119597819880, -0.606538873047567480, -0.606578624980967930, -0.606618375397922180, -0.606658124298330100, -0.606697871682092770, -0.606737617549111040, +-0.606777361899284990, -0.606817104732515490, -0.606856846048703270, -0.606896585847748970, -0.606936324129553450, -0.606976060894016790, -0.607015796141040060, -0.607055529870524140, +-0.607095262082368970, -0.607134992776475760, -0.607174721952745020, -0.607214449611077840, -0.607254175751374190, -0.607293900373535030, -0.607333623477461560, -0.607373345063053630, +-0.607413065130212430, -0.607452783678838480, -0.607492500708832540, -0.607532216220095790, -0.607571930212528090, -0.607611642686030520, -0.607651353640504270, -0.607691063075849300, +-0.607730770991966600, -0.607770477388757000, -0.607810182266121270, -0.607849885623960360, -0.607889587462174360, -0.607929287780664800, -0.607968986579331740, -0.608008683858076050, +-0.608048379616798810, -0.608088073855400530, -0.608127766573782420, -0.608167457771844560, -0.608207147449488120, -0.608246835606614080, -0.608286522243122520, -0.608326207358914850, +-0.608365890953891490, -0.608405573027953510, -0.608445253581001880, -0.608484932612936790, -0.608524610123659440, -0.608564286113070900, -0.608603960581071140, -0.608643633527561680, +-0.608683304952442940, -0.608722974855616110, -0.608762643236982150, -0.608802310096441150, -0.608841975433894840, -0.608881639249243210, -0.608921301542387440, -0.608960962313228380, +-0.609000621561667010, -0.609040279287604400, -0.609079935490940750, -0.609119590171577240, -0.609159243329415070, -0.609198894964354530, -0.609238545076296710, -0.609278193665142460, +-0.609317840730792870, -0.609357486273148900, -0.609397130292110960, -0.609436772787580130, -0.609476413759457710, -0.609516053207643900, -0.609555691132040000, -0.609595327532546860, +-0.609634962409065780, -0.609674595761496960, -0.609714227589741590, -0.609753857893700960, -0.609793486673275490, -0.609833113928366140, -0.609872739658874120, -0.609912363864700160, +-0.609951986545745670, -0.609991607701910970, -0.610031227333097110, -0.610070845439205640, -0.610110462020136630, -0.610150077075791500, -0.610189690606071090, -0.610229302610876600, +-0.610268913090109110, -0.610308522043669030, -0.610348129471458000, -0.610387735373376210, -0.610427339749325170, -0.610466942599205750, -0.610506543922918920, -0.610546143720366200, +-0.610585741991447660, -0.610625338736064840, -0.610664933954119030, -0.610704527645510530, -0.610744119810140650, -0.610783710447910470, -0.610823299558721060, -0.610862887142473720, +-0.610902473199068870, -0.610942057728407820, -0.610981640730391960, -0.611021222204921610, -0.611060802151898290, -0.611100380571222850, -0.611139957462796920, -0.611179532826520710, +-0.611219106662295620, -0.611258678970023170, -0.611298249749603670, -0.611337819000938530, -0.611377386723928830, -0.611416952918475640, -0.611456517584480500, -0.611496080721843690, +-0.611535642330466640, -0.611575202410250870, -0.611614760961096680, -0.611654317982905700, -0.611693873475578800, -0.611733427439017370, -0.611772979873122620, -0.611812530777795070, +-0.611852080152936240, -0.611891627998447430, -0.611931174314229390, -0.611970719100183300, -0.612010262356210370, -0.612049804082212210, -0.612089344278089250, -0.612128882943742790, +-0.612168420079074570, -0.612207955683984890, -0.612247489758375400, -0.612287022302147150, -0.612326553315201250, -0.612366082797439430, -0.612405610748762100, -0.612445137169070560, +-0.612484662058266680, -0.612524185416250750, -0.612563707242924300, -0.612603227538188740, -0.612642746301944930, -0.612682263534094720, -0.612721779234538410, -0.612761293403178090, +-0.612800806039914160, -0.612840317144648260, -0.612879826717281470, -0.612919334757715210, -0.612958841265850870, -0.612998346241589110, -0.613037849684831550, -0.613077351595479600, +-0.613116851973434020, -0.613156350818596210, -0.613195848130867580, -0.613235343910149330, -0.613274838156343090, -0.613314330869349390, -0.613353822049069960, -0.613393311695406230, +-0.613432799808258820, -0.613472286387529490, -0.613511771433119410, -0.613551254944930240, -0.613590736922862590, -0.613630217366818110, -0.613669696276698430, -0.613709173652404180, +-0.613748649493837010, -0.613788123800898200, -0.613827596573489060, -0.613867067811511240, -0.613906537514865460, -0.613946005683453370, -0.613985472317176480, -0.614024937415935670, +-0.614064400979632550, -0.614103863008168330, -0.614143323501444520, -0.614182782459362750, -0.614222239881823670, -0.614261695768728910, -0.614301150119980320, -0.614340602935478540, +-0.614380054215125200, -0.614419503958821830, -0.614458952166469950, -0.614498398837970310, -0.614537843973224750, -0.614577287572134920, -0.614616729634601460, -0.614656170160526210, +-0.614695609149810580, -0.614735046602355890, -0.614774482518063990, -0.614813916896835400, -0.614853349738572090, -0.614892781043175800, -0.614932210810547160, -0.614971639040588050, +-0.615011065733199750, -0.615050490888283900, -0.615089914505742020, -0.615129336585475080, -0.615168757127385170, -0.615208176131373020, -0.615247593597340490, -0.615287009525188890, +-0.615326423914819730, -0.615365836766134990, -0.615405248079035180, -0.615444657853422280, -0.615484066089198150, -0.615523472786263400, -0.615562877944520030, -0.615602281563869540, +-0.615641683644213230, -0.615681084185453090, -0.615720483187489950, -0.615759880650225470, -0.615799276573561820, -0.615838670957399530, -0.615878063801640560, -0.615917455106186450, +-0.615956844870938940, -0.615996233095799100, -0.616035619780668680, -0.616075004925449530, -0.616114388530042520, -0.616153770594349500, -0.616193151118272110, -0.616232530101711750, +-0.616271907544570510, -0.616311283446749130, -0.616350657808149570, -0.616390030628673700, -0.616429401908222370, -0.616468771646697560, -0.616508139844000770, -0.616547506500033650, +-0.616586871614698160, -0.616626235187895170, -0.616665597219526520, -0.616704957709494180, -0.616744316657699240, -0.616783674064043440, -0.616823029928428410, -0.616862384250756230, +-0.616901737030927650, -0.616941088268844750, -0.616980437964409600, -0.617019786117522840, -0.617059132728086770, -0.617098477796002800, -0.617137821321172560, -0.617177163303498140, +-0.617216503742880510, -0.617255842639221620, -0.617295179992423560, -0.617334515802387070, -0.617373850069014350, -0.617413182792206920, -0.617452513971866620, -0.617491843607895330, +-0.617531171700194110, -0.617570498248665390, -0.617609823253210010, -0.617649146713730060, -0.617688468630127270, -0.617727789002303300, -0.617767107830160090, -0.617806425113598960, +-0.617845740852521640, -0.617885055046830330, -0.617924367696426110, -0.617963678801210840, -0.618002988361086470, -0.618042296375954650, -0.618081602845717340, -0.618120907770275730, +-0.618160211149531900, -0.618199512983387820, -0.618238813271744570, -0.618278112014504440, -0.618317409211568860, -0.618356704862840220, -0.618395998968219400, -0.618435291527608680, +-0.618474582540910030, -0.618513872008024550, -0.618553159928854400, -0.618592446303301350, -0.618631731131267130, -0.618671014412654040, -0.618710296147362950, -0.618749576335296260, +-0.618788854976355830, -0.618828132070443070, -0.618867407617459840, -0.618906681617308110, -0.618945954069889730, -0.618985224975106770, -0.619024494332860440, -0.619063762143052920, +-0.619103028405586290, -0.619142293120361730, -0.619181556287281440, -0.619220817906247280, -0.619260077977161430, -0.619299336499924970, -0.619338593474440200, -0.619377848900609320, +-0.619417102778333510, -0.619456355107514840, -0.619495605888055300, -0.619534855119856840, -0.619574102802821550, -0.619613348936850610, -0.619652593521846320, -0.619691836557710870, +-0.619731078044345570, -0.619770317981652500, -0.619809556369533610, -0.619848793207890880, -0.619888028496626500, -0.619927262235641650, -0.619966494424839090, -0.620005725064119880, +-0.620044954153386450, -0.620084181692540540, -0.620123407681484220, -0.620162632120119680, -0.620201855008348240, -0.620241076346072170, -0.620280296133193800, -0.620319514369614300, +-0.620358731055235980, -0.620397946189960800, -0.620437159773690850, -0.620476371806328310, -0.620515582287774480, -0.620554791217931780, -0.620593998596702390, -0.620633204423987620, +-0.620672408699689870, -0.620711611423711120, -0.620750812595953660, -0.620790012216318800, -0.620829210284708940, -0.620868406801026400, -0.620907601765172570, -0.620946795177049650, +-0.620985987036559720, -0.621025177343604850, -0.621064366098087460, -0.621103553299908740, -0.621142738948971100, -0.621181923045176940, -0.621221105588427690, -0.621260286578625640, +-0.621299466015672990, -0.621338643899471580, -0.621377820229923940, -0.621416995006931370, -0.621456168230396620, -0.621495339900221210, -0.621534510016307330, -0.621573678578557280, +-0.621612845586873020, -0.621652011041156860, -0.621691174941310430, -0.621730337287236150, -0.621769498078836300, -0.621808657316012310, -0.621847814998666700, -0.621886971126701550, +-0.621926125700019040, -0.621965278718521470, -0.622004430182110380, -0.622043580090688280, -0.622082728444157460, -0.622121875242419580, -0.622161020485377030, -0.622200164172931780, +-0.622239306304986580, -0.622278446881442740, -0.622317585902202760, -0.622356723367169300, -0.622395859276243520, -0.622434993629328190, -0.622474126426325270, -0.622513257667137170, +-0.622552387351666180, -0.622591515479813840, -0.622630642051482770, -0.622669767066575510, -0.622708890524993340, -0.622748012426639130, -0.622787132771414730, -0.622826251559222550, +-0.622865368789965120, -0.622904484463543850, -0.622943598579861370, -0.622982711138820310, -0.623021822140322090, -0.623060931584269340, -0.623100039470564250, -0.623139145799109340, +-0.623178250569806360, -0.623217353782557600, -0.623256455437265930, -0.623295555533832760, -0.623334654072160600, -0.623373751052151870, -0.623412846473708760, -0.623451940336733900, +-0.623491032641128820, -0.623530123386796140, -0.623569212573638510, -0.623608300201557550, -0.623647386270455790, -0.623686470780235540, -0.623725553730799190, -0.623764635122049270, +-0.623803714953887420, -0.623842793226216610, -0.623881869938938460, -0.623920945091955610, -0.623960018685170480, -0.623999090718485250, -0.624038161191802660, -0.624077230105024360, +-0.624116297458052970, -0.624155363250791130, -0.624194427483140580, -0.624233490155003960, -0.624272551266283560, -0.624311610816881800, -0.624350668806701430, -0.624389725235643960, +-0.624428780103612250, -0.624467833410508820, -0.624506885156235540, -0.624545935340695020, -0.624584983963789700, -0.624624031025422300, -0.624663076525494350, -0.624702120463908830, +-0.624741162840568350, -0.624780203655374570, -0.624819242908230320, -0.624858280599037920, -0.624897316727699770, -0.624936351294118730, -0.624975384298196550, -0.625014415739835740, +-0.625053445618939390, -0.625092473935409010, -0.625131500689147470, -0.625170525880057170, -0.625209549508040530, -0.625248571573000400, -0.625287592074838420, -0.625326611013457550, +-0.625365628388760530, -0.625404644200649010, -0.625443658449025830, -0.625482671133793630, -0.625521682254855050, -0.625560691812111940, -0.625599699805467040, -0.625638706234823210, +-0.625677711100082410, -0.625716714401147180, -0.625755716137920250, -0.625794716310304030, -0.625833714918201390, -0.625872711961514060, -0.625911707440144900, -0.625950701353996890, +-0.625989693702971860, -0.626028684486972460, -0.626067673705901440, -0.626106661359661200, -0.626145647448154600, -0.626184631971283600, -0.626223614928951290, -0.626262596321059740, +-0.626301576147511590, -0.626340554408209570, -0.626379531103056110, -0.626418506231954160, -0.626457479794805590, -0.626496451791513360, -0.626535422221980330, -0.626574391086108460, +-0.626613358383800500, -0.626652324114959190, -0.626691288279487170, -0.626730250877287180, -0.626769211908261180, -0.626808171372312260, -0.626847129269343160, -0.626886085599255960, +-0.626925040361953510, -0.626963993557338450, -0.627002945185313740, -0.627041895245781360, -0.627080843738644260, -0.627119790663805300, -0.627158736021166560, -0.627197679810631010, +-0.627236622032101290, -0.627275562685480010, -0.627314501770670050, -0.627353439287573590, -0.627392375236093590, -0.627431309616132920, -0.627470242427593640, -0.627509173670378730, +-0.627548103344390930, -0.627587031449532870, -0.627625957985707530, -0.627664882952816970, -0.627703806350764170, -0.627742728179452310, -0.627781648438783150, -0.627820567128659970, +-0.627859484248985300, -0.627898399799662330, -0.627937313780593030, -0.627976226191680360, -0.628015137032827520, -0.628054046303936460, -0.628092954004910390, -0.628131860135651810, +-0.628170764696063590, -0.628209667686048910, -0.628248569105509640, -0.628287468954348950, -0.628326367232469930, -0.628365263939774650, -0.628404159076166200, -0.628443052641547430, +-0.628481944635820860, -0.628520835058889890, -0.628559723910656510, -0.628598611191024110, -0.628637496899894900, -0.628676381037171940, -0.628715263602757980, -0.628754144596555880, +-0.628793024018468700, -0.628831901868398770, -0.628870778146248920, -0.628909652851922570, -0.628948525985321690, -0.628987397546349580, -0.629026267534908870, -0.629065135950902520, +-0.629104002794233730, -0.629142868064804570, -0.629181731762518240, -0.629220593887277910, -0.629259454438985680, -0.629298313417544940, -0.629337170822858340, -0.629376026654829170, +-0.629414880913359620, -0.629453733598352770, -0.629492584709712030, -0.629531434247339480, -0.629570282211138310, -0.629609128601011480, -0.629647973416861740, -0.629686816658592500, +-0.629725658326105830, -0.629764498419305040, -0.629803336938093320, -0.629842173882372960, -0.629881009252047150, -0.629919843047018760, -0.629958675267190850, -0.629997505912466500, +-0.630036334982748140, -0.630075162477938930, -0.630113988397942080, -0.630152812742660000, -0.630191635511995860, -0.630230456705852540, -0.630269276324133540, -0.630308094366740960, +-0.630346910833578190, -0.630385725724548430, -0.630424539039553980, -0.630463350778498240, -0.630502160941284200, -0.630540969527814580, -0.630579776537993020, -0.630618581971721600, +-0.630657385828903850, -0.630696188109442830, -0.630734988813241080, -0.630773787940201780, -0.630812585490228120, -0.630851381463222950, -0.630890175859089570, -0.630928968677730520, +-0.630967759919049410, -0.631006549582948550, -0.631045337669331240, -0.631084124178100670, -0.631122909109159690, -0.631161692462411830, -0.631200474237759380, -0.631239254435105760, +-0.631278033054354370, -0.631316810095407630, -0.631355585558168730, -0.631394359442540850, -0.631433131748427190, -0.631471902475731040, -0.631510671624354700, -0.631549439194201700, +-0.631588205185175440, -0.631626969597178340, -0.631665732430113810, -0.631704493683885040, -0.631743253358395320, -0.631782011453547070, -0.631820767969243800, -0.631859522905389050, +-0.631898276261885110, -0.631937028038635380, -0.631975778235543180, -0.632014526852511470, -0.632053273889443880, -0.632092019346242710, -0.632130763222811480, -0.632169505519053710, +-0.632208246234871820, -0.632246985370169320, -0.632285722924849300, -0.632324458898815060, -0.632363193291969990, -0.632401926104216530, -0.632440657335458620, -0.632479386985598800, +-0.632518115054540480, -0.632556841542186830, -0.632595566448441170, -0.632634289773206790, -0.632673011516386440, -0.632711731677883530, -0.632750450257601680, -0.632789167255443320, +-0.632827882671312070, -0.632866596505111120, -0.632905308756743670, -0.632944019426113340, -0.632982728513122540, -0.633021436017674910, -0.633060141939674080, -0.633098846279022460, +-0.633137549035623800, -0.633176250209381290, -0.633214949800198550, -0.633253647807977990, -0.633292344232623260, -0.633331039074038090, -0.633369732332125010, -0.633408424006787540, +-0.633447114097929090, -0.633485802605452840, -0.633524489529262320, -0.633563174869260390, -0.633601858625350460, -0.633640540797436150, -0.633679221385420210, -0.633717900389206170, +-0.633756577808697430, -0.633795253643797300, -0.633833927894409290, -0.633872600560436150, -0.633911271641781400, -0.633949941138349020, -0.633988609050041290, -0.634027275376762070, +-0.634065940118414660, -0.634104603274902810, -0.634143264846129040, -0.634181924831997090, -0.634220583232410710, -0.634259240047272520, -0.634297895276486280, -0.634336548919955280, +-0.634375200977582930, -0.634413851449272760, -0.634452500334927840, -0.634491147634451580, -0.634529793347747730, -0.634568437474719140, -0.634607080015269440, -0.634645720969301940, +-0.634684360336720270, -0.634722998117427940, -0.634761634311327820, -0.634800268918323970, -0.634838901938319160, -0.634877533371217000, -0.634916163216921010, -0.634954791475334620, +-0.634993418146361680, -0.635032043229904810, -0.635070666725867760, -0.635109288634154500, -0.635147908954667550, -0.635186527687310990, -0.635225144831988000, -0.635263760388602110, +-0.635302374357057160, -0.635340986737256030, -0.635379597529102450, -0.635418206732500050, -0.635456814347351910, -0.635495420373561770, -0.635534024811033050, -0.635572627659669600, +-0.635611228919374160, -0.635649828590050700, -0.635688426671603080, -0.635727023163934040, -0.635765618066947420, -0.635804211380546660, -0.635842803104635480, -0.635881393239117630, +-0.635919981783895860, -0.635958568738874240, -0.635997154103956520, -0.636035737879045550, -0.636074320064045300, -0.636112900658859170, -0.636151479663390810, -0.636190057077544060, +-0.636228632901221890, -0.636267207134328160, -0.636305779776766720, -0.636344350828440430, -0.636382920289253360, -0.636421488159108930, -0.636460054437911090, -0.636498619125562830, +-0.636537182221967980, -0.636575743727030520, -0.636614303640653410, -0.636652861962740510, -0.636691418693195450, -0.636729973831921870, -0.636768527378823720, -0.636807079333803870, +-0.636845629696766280, -0.636884178467615030, -0.636922725646252960, -0.636961271232584060, -0.636999815226511950, -0.637038357627940370, -0.637076898436773290, -0.637115437652913450, +-0.637153975276265490, -0.637192511306732270, -0.637231045744217740, -0.637269578588625540, -0.637308109839859420, -0.637346639497823330, -0.637385167562420360, -0.637423694033554480, +-0.637462218911129750, -0.637500742195049040, -0.637539263885216530, -0.637577783981535860, -0.637616302483910660, -0.637654819392245110, -0.637693334706442180, -0.637731848426405850, +-0.637770360552040280, -0.637808871083248460, -0.637847380019934460, -0.637885887362002020, -0.637924393109355230, -0.637962897261897030, -0.638001399819531630, -0.638039900782163110, +-0.638078400149694520, -0.638116897922029860, -0.638155394099072960, -0.638193888680727570, -0.638232381666897890, -0.638270873057486750, -0.638309362852398590, -0.638347851051537240, +-0.638386337654806010, -0.638424822662108980, -0.638463306073349780, -0.638501787888432370, -0.638540268107260830, -0.638578746729738240, -0.638617223755768790, -0.638655699185256660, +-0.638694173018104940, -0.638732645254217800, -0.638771115893499000, -0.638809584935852710, -0.638848052381182250, -0.638886518229391580, -0.638924982480384870, -0.638963445134065560, +-0.639001906190337480, -0.639040365649104710, -0.639078823510271010, -0.639117279773740550, -0.639155734439416650, -0.639194187507203360, -0.639232638977004890, -0.639271088848724520, +-0.639309537122266460, -0.639347983797534550, -0.639386428874432640, -0.639424872352865050, -0.639463314232734840, -0.639501754513946750, -0.639540193196403980, -0.639578630280010610, +-0.639617065764670810, -0.639655499650288230, -0.639693931936767270, -0.639732362624011230, -0.639770791711924190, -0.639809219200410560, -0.639847645089373530, -0.639886069378717390, +-0.639924492068346010, -0.639962913158163450, -0.640001332648073910, -0.640039750537980790, -0.640078166827788180, -0.640116581517400580, -0.640154994606721210, -0.640193406095654230, +-0.640231815984103840, -0.640270224271974220, -0.640308630959168680, -0.640347036045591620, -0.640385439531147240, -0.640423841415738940, -0.640462241699271130, -0.640500640381647560, +-0.640539037462772520, -0.640577432942550100, -0.640615826820883920, -0.640654219097678060, -0.640692609772837040, -0.640730998846264050, -0.640769386317863730, -0.640807772187539810, +-0.640846156455196490, -0.640884539120738170, -0.640922920184068160, -0.640961299645090850, -0.640999677503710560, -0.641038053759830810, -0.641076428413355880, -0.641114801464189870, +-0.641153172912237170, -0.641191542757401310, -0.641229910999586480, -0.641268277638697310, -0.641306642674637000, -0.641345006107310160, -0.641383367936620870, -0.641421728162473000, +-0.641460086784771290, -0.641498443803418920, -0.641536799218320520, -0.641575153029380400, -0.641613505236502070, -0.641651855839590060, -0.641690204838548330, -0.641728552233281070, +-0.641766898023692800, -0.641805242209686930, -0.641843584791168320, -0.641881925768040370, -0.641920265140207720, -0.641958602907574340, -0.641996939070044400, -0.642035273627522440, +-0.642073606579912080, -0.642111937927117630, -0.642150267669043600, -0.642188595805593730, -0.642226922336672220, -0.642265247262183480, -0.642303570582031580, -0.642341892296121150, +-0.642380212404355610, -0.642418530906639470, -0.642456847802877480, -0.642495163092972940, -0.642533476776830590, -0.642571788854354400, -0.642610099325449210, -0.642648408190018340, +-0.642686715447966520, -0.642725021099198160, -0.642763325143617000, -0.642801627581127580, -0.642839928411633950, -0.642878227635040540, -0.642916525251251980, -0.642954821260171670, +-0.642993115661704360, -0.643031408455754570, -0.643069699642225930, -0.643107989221023080, -0.643146277192050200, -0.643184563555211700, -0.643222848310411990, -0.643261131457554920, +-0.643299412996545360, -0.643337692927286930, -0.643375971249684260, -0.643414247963641660, -0.643452523069063420, -0.643490796565854280, -0.643529068453917770, -0.643567338733158520, +-0.643605607403481380, -0.643643874464789880, -0.643682139916988530, -0.643720403759981960, -0.643758665993674370, -0.643796926617970500, -0.643835185632773870, -0.643873443037989320, +-0.643911698833521510, -0.643949953019274160, -0.643988205595151910, -0.644026456561059060, -0.644064705916900460, -0.644102953662579750, -0.644141199798001660, -0.644179444323070950, +-0.644217687237691240, -0.644255928541767390, -0.644294168235203690, -0.644332406317904450, -0.644370642789774630, -0.644408877650717860, -0.644447110900638890, -0.644485342539442560, +-0.644523572567032410, -0.644561800983313390, -0.644600027788189920, -0.644638252981566300, -0.644676476563347370, -0.644714698533436990, -0.644752918891739800, -0.644791137638160650, +-0.644829354772603390, -0.644867570294972660, -0.644905784205173080, -0.644943996503109300, -0.644982207188685260, -0.645020416261805620, -0.645058623722375320, -0.645096829570298120, +-0.645135033805478870, -0.645173236427821980, -0.645211437437232080, -0.645249636833613920, -0.645287834616871230, -0.645326030786909090, -0.645364225343632140, -0.645402418286944220, +-0.645440609616750430, -0.645478799332954930, -0.645516987435462490, -0.645555173924178050, -0.645593358799005150, -0.645631542059849290, -0.645669723706614240, -0.645707903739204840, +-0.645746082157525710, -0.645784258961481390, -0.645822434150976730, -0.645860607725915690, -0.645898779686203020, -0.645936950031743900, -0.645975118762441960, -0.646013285878202170, +-0.646051451378929280, -0.646089615264527680, -0.646127777534902470, -0.646165938189957380, -0.646204097229597600, -0.646242254653727750, -0.646280410462252040, -0.646318564655075200, +-0.646356717232101970, -0.646394868193237330, -0.646433017538385220, -0.646471165267450520, -0.646509311380338180, -0.646547455876952280, -0.646585598757197790, -0.646623740020979220, +-0.646661879668201320, -0.646700017698769170, -0.646738154112586510, -0.646776288909558520, -0.646814422089590060, -0.646852553652585320, -0.646890683598449150, -0.646928811927086290, +-0.646966938638401380, -0.647005063732299380, -0.647043187208684480, -0.647081309067461640, -0.647119429308535830, -0.647157547931811130, -0.647195664937192490, -0.647233780324584670, +-0.647271894093892850, -0.647310006245020890, -0.647348116777873960, -0.647386225692357040, -0.647424332988374210, -0.647462438665830530, -0.647500542724630870, -0.647538645164679740, +-0.647576745985882330, -0.647614845188142720, -0.647652942771366090, -0.647691038735457410, -0.647729133080320760, -0.647767225805861320, -0.647805316911983730, -0.647843406398592950, +-0.647881494265593940, -0.647919580512890780, -0.647957665140389110, -0.647995748147992880, -0.648033829535607400, -0.648071909303137180, -0.648109987450487310, -0.648148063977562750, +-0.648186138884267680, -0.648224212170507300, -0.648262283836186780, -0.648300353881210100, -0.648338422305482550, -0.648376489108908990, -0.648414554291394270, -0.648452617852843470, +-0.648490679793160660, -0.648528740112251260, -0.648566798810020330, -0.648604855886372070, -0.648642911341211660, -0.648680965174443960, -0.648719017385974260, -0.648757067975706650, +-0.648795116943546300, -0.648833164289398520, -0.648871210013167500, -0.648909254114758530, -0.648947296594076350, -0.648985337451025930, -0.649023376685512470, -0.649061414297440350, +-0.649099450286714560, -0.649137484653240620, -0.649175517396922470, -0.649213548517665660, -0.649251578015374920, -0.649289605889955210, -0.649327632141311840, -0.649365656769349100, +-0.649403679773972180, -0.649441701155086480, -0.649479720912596090, -0.649517739046406420, -0.649555755556422420, -0.649593770442549290, -0.649631783704691550, -0.649669795342754150, +-0.649707805356642740, -0.649745813746261500, -0.649783820511515620, -0.649821825652310280, -0.649859829168550340, -0.649897831060141210, -0.649935831326987070, -0.649973829968993440, +-0.650011826986065520, -0.650049822378107710, -0.650087816145025420, -0.650125808286723510, -0.650163798803107040, -0.650201787694081430, -0.650239774959551100, -0.650277760599421660, +-0.650315744613597420, -0.650353727001983790, -0.650391707764485850, -0.650429686901008770, -0.650467664411457650, -0.650505640295737100, -0.650543614553752430, -0.650581587185409150, +-0.650619558190611460, -0.650657527569264870, -0.650695495321274580, -0.650733461446545420, -0.650771425944983050, -0.650809388816491640, -0.650847350060976940, -0.650885309678344020, +-0.650923267668497620, -0.650961224031343040, -0.650999178766785370, -0.651037131874730110, -0.651075083355081570, -0.651113033207745500, -0.651150981432627060, -0.651188928029630910, +-0.651226872998662330, -0.651264816339626630, -0.651302758052428880, -0.651340698136974590, -0.651378636593168300, -0.651416573420915300, -0.651454508620121220, -0.651492442190690580, +-0.651530374132528790, -0.651568304445541040, -0.651606233129632620, -0.651644160184708940, -0.651682085610674420, -0.651720009407434800, -0.651757931574895370, -0.651795852112960870, +-0.651833771021536720, -0.651871688300528220, -0.651909603949840650, -0.651947517969378890, -0.651985430359048320, -0.652023341118754480, -0.652061250248402000, -0.652099157747896290, +-0.652137063617142740, -0.652174967856046560, -0.652212870464513260, -0.652250771442447470, -0.652288670789754720, -0.652326568506340630, -0.652364464592109840, -0.652402359046967860, +-0.652440251870819890, -0.652478143063571440, -0.652516032625127920, -0.652553920555393960, -0.652591806854275540, -0.652629691521677270, -0.652667574557504790, -0.652705455961663290, +-0.652743335734058180, -0.652781213874595200, -0.652819090383178760, -0.652856965259714480, -0.652894838504108230, -0.652932710116264640, -0.652970580096089100, -0.653008448443487270, +-0.653046315158364200, -0.653084180240625760, -0.653122043690176460, -0.653159905506922040, -0.653197765690768260, -0.653235624241619740, -0.653273481159382110, -0.653311336443960780, +-0.653349190095261490, -0.653387042113188880, -0.653424892497648570, -0.653462741248546530, -0.653500588365787170, -0.653538433849276350, -0.653576277698919460, -0.653614119914621930, +-0.653651960496289370, -0.653689799443826660, -0.653727636757139410, -0.653765472436133370, -0.653803306480713280, -0.653841138890784990, -0.653878969666253810, -0.653916798807025250, +-0.653954626313005050, -0.653992452184097850, -0.654030276420209940, -0.654068099021245960, -0.654105919987111760, -0.654143739317712750, -0.654181557012954440, -0.654219373072742580, +-0.654257187496981810, -0.654295000285578190, -0.654332811438437360, -0.654370620955464170, -0.654408428836564470, -0.654446235081643680, -0.654484039690607310, -0.654521842663361110, +-0.654559643999810040, -0.654597443699859840, -0.654635241763416360, -0.654673038190384470, -0.654710832980670010, -0.654748626134178390, -0.654786417650815240, -0.654824207530486310, +-0.654861995773096670, -0.654899782378552290, -0.654937567346758120, -0.654975350677620030, -0.655013132371043530, -0.655050912426934250, -0.655088690845198050, -0.655126467625739780, +-0.655164242768465300, -0.655202016273280560, -0.655239788140090430, -0.655277558368800860, -0.655315326959317380, -0.655353093911545610, -0.655390859225391420, -0.655428622900759650, +-0.655466384937556490, -0.655504145335687570, -0.655541904095058080, -0.655579661215573760, -0.655617416697140240, -0.655655170539663600, -0.655692922743048690, -0.655730673307201360, +-0.655768422232027800, -0.655806169517432870, -0.655843915163322410, -0.655881659169602170, -0.655919401536177890, -0.655957142262955430, -0.655994881349839630, -0.656032618796736800, +-0.656070354603552670, -0.656108088770192330, -0.656145821296561740, -0.656183552182566630, -0.656221281428112650, -0.656259009033105740, -0.656296734997451110, -0.656334459321054830, +-0.656372182003822190, -0.656409903045659050, -0.656447622446471150, -0.656485340206164110, -0.656523056324644140, -0.656560770801816180, -0.656598483637586330, -0.656636194831860530, +-0.656673904384543980, -0.656711612295542650, -0.656749318564762260, -0.656787023192108580, -0.656824726177487660, -0.656862427520804590, -0.656900127221965560, -0.656937825280876410, +-0.656975521697442440, -0.657013216471569630, -0.657050909603163810, -0.657088601092131070, -0.657126290938376490, -0.657163979141806130, -0.657201665702326190, -0.657239350619841730, +-0.657277033894258840, -0.657314715525483480, -0.657352395513421280, -0.657390073857978430, -0.657427750559060000, -0.657465425616572290, -0.657503099030421370, -0.657540770800512210, +-0.657578440926751330, -0.657616109409044140, -0.657653776247296820, -0.657691441441415340, -0.657729104991304990, -0.657766766896871750, -0.657804427158022010, -0.657842085774660860, +-0.657879742746694470, -0.657917398074028830, -0.657955051756569990, -0.657992703794223030, -0.658030354186894480, -0.658068002934490300, -0.658105650036915790, -0.658143295494077240, +-0.658180939305880290, -0.658218581472231110, -0.658256221993035790, -0.658293860868199630, -0.658331498097628700, -0.658369133681229400, -0.658406767618907040, -0.658444399910567690, +-0.658482030556117310, -0.658519659555461880, -0.658557286908507570, -0.658594912615159790, -0.658632536675325060, -0.658670159088908580, -0.658707779855816740, -0.658745398975955520, +-0.658783016449230760, -0.658820632275548770, -0.658858246454814830, -0.658895858986935370, -0.658933469871816560, -0.658971079109363700, -0.659008686699483200, -0.659046292642080920, +-0.659083896937062930, -0.659121499584335520, -0.659159100583804110, -0.659196699935374890, -0.659234297638954250, -0.659271893694447500, -0.659309488101761040, -0.659347080860800960, +-0.659384671971473440, -0.659422261433683880, -0.659459849247338690, -0.659497435412344180, -0.659535019928605750, -0.659572602796029810, -0.659610184014522320, -0.659647763583989350, +-0.659685341504337440, -0.659722917775471760, -0.659760492397298730, -0.659798065369724850, -0.659835636692655440, -0.659873206365997000, -0.659910774389655510, -0.659948340763537140, +-0.659985905487548210, -0.660023468561594110, -0.660061029985581470, -0.660098589759416490, -0.660136147883004790, -0.660173704356252670, -0.660211259179066200, -0.660248812351352020, +-0.660286363873015420, -0.660323913743963040, -0.660361461964101060, -0.660399008533335220, -0.660436553451571710, -0.660474096718716930, -0.660511638334676850, -0.660549178299358110, +-0.660586716612665990, -0.660624253274507130, -0.660661788284787940, -0.660699321643413940, -0.660736853350291640, -0.660774383405327240, -0.660811911808426800, -0.660849438559496960, +-0.660886963658443240, -0.660924487105172380, -0.660962008899590000, -0.660999529041602640, -0.661037047531116360, -0.661074564368037580, -0.661112079552272580, -0.661149593083727120, +-0.661187104962307700, -0.661224615187920860, -0.661262123760472110, -0.661299630679868080, -0.661337135946014950, -0.661374639558818920, -0.661412141518186720, -0.661449641824023770, +-0.661487140476236800, -0.661524637474732220, -0.661562132819415780, -0.661599626510193990, -0.661637118546973160, -0.661674608929659790, -0.661712097658159640, -0.661749584732379210, +-0.661787070152225150, -0.661824553917603090, -0.661862036028419640, -0.661899516484581120, -0.661936995285993810, -0.661974472432564240, -0.662011947924198260, -0.662049421760802390, +-0.662086893942283370, -0.662124364468546720, -0.662161833339499180, -0.662199300555046940, -0.662236766115096630, -0.662274230019554650, -0.662311692268326760, -0.662349152861319570, +-0.662386611798439940, -0.662424069079593390, -0.662461524704686670, -0.662498978673626170, -0.662536430986318540, -0.662573881642669500, -0.662611330642585820, -0.662648777985974100, +-0.662686223672740100, -0.662723667702790450, -0.662761110076031780, -0.662798550792370270, -0.662835989851712660, -0.662873427253964810, -0.662910862999033350, -0.662948297086825120, +-0.662985729517245770, -0.663023160290202140, -0.663060589405600530, -0.663098016863347570, -0.663135442663349780, -0.663172866805513130, -0.663210289289744680, -0.663247710115950070, +-0.663285129284036270, -0.663322546793909560, -0.663359962645476590, -0.663397376838643970, -0.663434789373317570, -0.663472200249404230, -0.663509609466810700, -0.663547017025442830, +-0.663584422925207360, -0.663621827166010920, -0.663659229747759930, -0.663696630670361110, -0.663734029933720440, -0.663771427537744650, -0.663808823482340600, -0.663846217767414260, +-0.663883610392872360, -0.663921001358621310, -0.663958390664568190, -0.663995778310618730, -0.664033164296679910, -0.664070548622658350, -0.664107931288460240, -0.664145312293992210, +-0.664182691639160990, -0.664220069323873010, -0.664257445348035100, -0.664294819711553350, -0.664332192414334500, -0.664369563456285510, -0.664406932837312230, -0.664444300557321730, +-0.664481666616220430, -0.664519031013914960, -0.664556393750312170, -0.664593754825318130, -0.664631114238839690, -0.664668471990783830, -0.664705828081056490, -0.664743182509564430, +-0.664780535276214610, -0.664817886380913660, -0.664855235823567650, -0.664892583604083650, -0.664929929722368420, -0.664967274178328130, -0.665004616971869520, -0.665041958102899460, +-0.665079297571324560, -0.665116635377051680, -0.665153971519986900, -0.665191306000037170, -0.665228638817109470, -0.665265969971109870, -0.665303299461945330, -0.665340627289522590, +-0.665377953453748280, -0.665415277954529370, -0.665452600791772040, -0.665489921965383480, -0.665527241475269760, -0.665564559321337960, -0.665601875503494700, -0.665639190021646730, +-0.665676502875701240, -0.665713814065564070, -0.665751123591142410, -0.665788431452343340, -0.665825737649072710, -0.665863042181237820, -0.665900345048745400, -0.665937646251501980, +-0.665974945789414850, -0.666012243662389980, -0.666049539870334550, -0.666086834413155530, -0.666124127290759200, -0.666161418503052440, -0.666198708049942190, -0.666235995931335530, +-0.666273282147138550, -0.666310566697258300, -0.666347849581601980, -0.666385130800075780, -0.666422410352586650, -0.666459688239041560, -0.666496964459347250, -0.666534239013410800, +-0.666571511901138500, -0.666608783122437320, -0.666646052677214660, -0.666683320565376380, -0.666720586786829880, -0.666757851341481910, -0.666795114229239320, -0.666832375450009280, +-0.666869635003698000, -0.666906892890212880, -0.666944149109460200, -0.666981403661347170, -0.667018656545780740, -0.667055907762667540, -0.667093157311914870, -0.667130405193429140, +-0.667167651407117200, -0.667204895952886570, -0.667242138830643430, -0.667279380040294860, -0.667316619581747820, -0.667353857454909270, -0.667391093659686410, -0.667428328195985520, +-0.667465561063713800, -0.667502792262778420, -0.667540021793085800, -0.667577249654543130, -0.667614475847057240, -0.667651700370535670, -0.667688923224884380, -0.667726144410010770, +-0.667763363925822250, -0.667800581772224900, -0.667837797949126120, -0.667875012456432880, -0.667912225294052030, -0.667949436461890980, -0.667986645959856020, -0.668023853787854450, +-0.668061059945793570, -0.668098264433579780, -0.668135467251120160, -0.668172668398322010, -0.668209867875092180, -0.668247065681337960, -0.668284261816965760, -0.668321456281882890, +-0.668358649075996740, -0.668395840199213610, -0.668433029651440910, -0.668470217432585610, -0.668507403542555110, -0.668544587981255820, -0.668581770748595040, -0.668618951844480170, +-0.668656131268817510, -0.668693309021514580, -0.668730485102478340, -0.668767659511615990, -0.668804832248834690, -0.668842003314041090, -0.668879172707142370, -0.668916340428046150, +-0.668953506476658740, -0.668990670852887440, -0.669027833556639640, -0.669064994587822090, -0.669102153946342540, -0.669139311632107160, -0.669176467645023920, -0.669213621984999120, +-0.669250774651940270, -0.669287925645754460, -0.669325074966348850, -0.669362222613630990, -0.669399368587507150, -0.669436512887884860, -0.669473655514671640, -0.669510796467774010, +-0.669547935747099250, -0.669585073352554790, -0.669622209284047590, -0.669659343541485260, -0.669696476124774120, -0.669733607033821900, -0.669770736268536000, -0.669807863828822850, +-0.669844989714590060, -0.669882113925744820, -0.669919236462194640, -0.669956357323845950, -0.669993476510606480, -0.670030594022383630, -0.670067709859083930, -0.670104824020614890, +-0.670141936506883920, -0.670179047317798090, -0.670216156453264930, -0.670253263913191070, -0.670290369697484010, -0.670327473806051290, -0.670364576238799750, -0.670401676995636690, +-0.670438776076469290, -0.670475873481205080, -0.670512969209751560, -0.670550063262015270, -0.670587155637903720, -0.670624246337324650, -0.670661335360184680, -0.670698422706391460, +-0.670735508375852050, -0.670772592368474200, -0.670809674684164530, -0.670846755322830780, -0.670883834284380360, -0.670920911568720140, -0.670957987175757500, -0.670995061105399970, +-0.671032133357554850, -0.671069203932129540, -0.671106272829031130, -0.671143340048166890, -0.671180405589444580, -0.671217469452771050, -0.671254531638053820, -0.671291592145200180, +-0.671328650974117650, -0.671365708124713860, -0.671402763596895320, -0.671439817390570350, -0.671476869505645450, -0.671513919942028360, -0.671550968699626490, -0.671588015778347150, +-0.671625061178098170, -0.671662104898786190, -0.671699146940318850, -0.671736187302604090, -0.671773225985548450, -0.671810262989059880, -0.671847298313045570, -0.671884331957413040, +-0.671921363922069910, -0.671958394206923160, -0.671995422811880290, -0.672032449736849280, -0.672069474981736860, -0.672106498546450770, -0.672143520430898310, -0.672180540634987440, +-0.672217559158624910, -0.672254576001718450, -0.672291591164175920, -0.672328604645904050, -0.672365616446810700, -0.672402626566803270, -0.672439635005789290, -0.672476641763676500, +-0.672513646840371850, -0.672550650235783090, -0.672587651949818070, -0.672624651982383530, -0.672661650333387320, -0.672698647002736960, -0.672735641990340080, -0.672772635296104430, +-0.672809626919936840, -0.672846616861745070, -0.672883605121437300, -0.672920591698920050, -0.672957576594101270, -0.672994559806888600, -0.673031541337189900, -0.673068521184912010, +-0.673105499349962780, -0.673142475832250180, -0.673179450631681050, -0.673216423748163260, -0.673253395181604430, -0.673290364931912190, -0.673327332998994280, -0.673364299382757660, +-0.673401264083110410, -0.673438227099960260, -0.673475188433214190, -0.673512148082780260, -0.673549106048565880, -0.673586062330478690, -0.673623016928426740, -0.673659969842316910, +-0.673696921072057480, -0.673733870617555410, -0.673770818478718670, -0.673807764655454890, -0.673844709147671690, -0.673881651955277050, -0.673918593078177920, -0.673955532516282370, +-0.673992470269498270, -0.674029406337732670, -0.674066340720893550, -0.674103273418888650, -0.674140204431625480, -0.674177133759012230, -0.674214061400955740, -0.674250987357364110, +-0.674287911628145280, -0.674324834213206440, -0.674361755112455440, -0.674398674325800140, -0.674435591853148390, -0.674472507694407360, -0.674509421849485150, -0.674546334318289590, +-0.674583245100727870, -0.674620154196708070, -0.674657061606137920, -0.674693967328925170, -0.674730871364977670, -0.674767773714202820, -0.674804674376508370, -0.674841573351802730, +-0.674878470639992730, -0.674915366240986580, -0.674952260154692010, -0.674989152381016750, -0.675026042919869010, -0.675062931771155840, -0.675099818934785210, -0.675136704410665530, +-0.675173588198703660, -0.675210470298807870, -0.675247350710885820, -0.675284229434845900, -0.675321106470594960, -0.675357981818041190, -0.675394855477092880, -0.675431727447657120, +-0.675468597729641960, -0.675505466322955380, -0.675542333227505120, -0.675579198443199360, -0.675616061969945170, -0.675652923807650960, -0.675689783956224700, -0.675726642415573680, +-0.675763499185606080, -0.675800354266229640, -0.675837207657352450, -0.675874059358882450, -0.675910909370727060, -0.675947757692794690, -0.675984604324992520, -0.676021449267228960, +-0.676058292519411740, -0.676095134081448720, -0.676131973953248310, -0.676168812134717580, -0.676205648625764820, -0.676242483426298220, -0.676279316536225080, -0.676316147955453810, +-0.676352977683892020, -0.676389805721447800, -0.676426632068029440, -0.676463456723544130, -0.676500279687900160, -0.676537100961005940, -0.676573920542768550, -0.676610738433096380, +-0.676647554631897300, -0.676684369139079700, -0.676721181954550890, -0.676757993078219040, -0.676794802509992690, -0.676831610249778890, -0.676868416297486060, -0.676905220653022170, +-0.676942023316295270, -0.676978824287213680, -0.677015623565684680, -0.677052421151616570, -0.677089217044917870, -0.677126011245495650, -0.677162803753258440, -0.677199594568114290, +-0.677236383689971080, -0.677273171118737190, -0.677309956854320160, -0.677346740896628500, -0.677383523245569720, -0.677420303901052120, -0.677457082862983670, -0.677493860131272550, +-0.677530635705827170, -0.677567409586554810, -0.677604181773364010, -0.677640952266163050, -0.677677721064859240, -0.677714488169361310, -0.677751253579577110, -0.677788017295414710, +-0.677824779316782640, -0.677861539643588310, -0.677898298275740220, -0.677935055213146560, -0.677971810455714970, -0.678008564003353850, -0.678045315855971390, -0.678082066013475870, +-0.678118814475774930, -0.678155561242776980, -0.678192306314390430, -0.678229049690522780, -0.678265791371082450, -0.678302531355977620, -0.678339269645116590, -0.678376006238407660, +-0.678412741135758330, -0.678449474337077250, -0.678486205842272700, -0.678522935651252430, -0.678559663763924740, -0.678596390180197910, -0.678633114899980020, -0.678669837923179810, +-0.678706559249704580, -0.678743278879463060, -0.678779996812363560, -0.678816713048313810, -0.678853427587222220, -0.678890140428997090, -0.678926851573546930, -0.678963561020779370, +-0.679000268770602820, -0.679036974822926020, -0.679073679177656380, -0.679110381834702630, -0.679147082793972840, -0.679183782055375330, -0.679220479618818710, -0.679257175484210610, +-0.679293869651459550, -0.679330562120474160, -0.679367252891161950, -0.679403941963431680, -0.679440629337191520, -0.679477315012349870, -0.679513998988815150, -0.679550681266495200, +-0.679587361845298890, -0.679624040725133720, -0.679660717905908540, -0.679697393387531550, -0.679734067169911030, -0.679770739252955720, -0.679807409636573270, -0.679844078320672280, +-0.679880745305161400, -0.679917410589948370, -0.679954074174941690, -0.679990736060049890, -0.680027396245181270, -0.680064054730244560, -0.680100711515147280, -0.680137366599798290, +-0.680174019984106090, -0.680210671667978660, -0.680247321651324510, -0.680283969934051940, -0.680320616516069900, -0.680357261397285920, -0.680393904577608840, -0.680430546056947310, +-0.680467185835209150, -0.680503823912302910, -0.680540460288137190, -0.680577094962620310, -0.680613727935660990, -0.680650359207166990, -0.680686988777047140, -0.680723616645210190, +-0.680760242811563780, -0.680796867276016850, -0.680833490038477710, -0.680870111098854870, -0.680906730457057070, -0.680943348112992060, -0.680979964066568800, -0.681016578317695800, +-0.681053190866281130, -0.681089801712233430, -0.681126410855461330, -0.681163018295873450, -0.681199624033377750, -0.681236228067882870, -0.681272830399297870, -0.681309431027530390, +-0.681346029952489380, -0.681382627174083270, -0.681419222692220660, -0.681455816506810200, -0.681492408617759950, -0.681528999024978650, -0.681565587728375170, -0.681602174727857450, +-0.681638760023334230, -0.681675343614714160, -0.681711925501905740, -0.681748505684817820, -0.681785084163358260, -0.681821660937436350, -0.681858236006959940, -0.681894809371838000, +-0.681931381031979030, -0.681967950987291570, -0.682004519237684570, -0.682041085783065880, -0.682077650623344580, -0.682114213758429400, -0.682150775188228420, -0.682187334912650490, +-0.682223892931604240, -0.682260449244998180, -0.682297003852741390, -0.682333556754741720, -0.682370107950908240, -0.682406657441149810, -0.682443205225374380, -0.682479751303490810, +-0.682516295675408060, -0.682552838341034750, -0.682589379300279080, -0.682625918553049990, -0.682662456099256460, -0.682698991938806340, -0.682735526071608810, -0.682772058497572500, +-0.682808589216606030, -0.682845118228618380, -0.682881645533517600, -0.682918171131212780, -0.682954695021612770, -0.682991217204625740, -0.683027737680160670, -0.683064256448126180, +-0.683100773508431120, -0.683137288860984460, -0.683173802505694260, -0.683210314442469490, -0.683246824671219330, -0.683283333191851750, -0.683319840004275920, -0.683356345108400380, +-0.683392848504134290, -0.683429350191385840, -0.683465850170064000, -0.683502348440077840, -0.683538845001335440, -0.683575339853745970, -0.683611832997218170, -0.683648324431660790, +-0.683684814156982900, -0.683721302173092570, -0.683757788479899100, -0.683794273077311440, -0.683830755965237790, -0.683867237143587210, -0.683903716612268560, -0.683940194371190690, +-0.683976670420262560, -0.684013144759392460, -0.684049617388489910, -0.684086088307462870, -0.684122557516220640, -0.684159025014672070, -0.684195490802725900, -0.684231954880291320, +-0.684268417247276490, -0.684304877903590740, -0.684341336849143000, -0.684377794083841580, -0.684414249607595780, -0.684450703420314330, -0.684487155521906090, -0.684523605912280230, +-0.684560054591345170, -0.684596501559009860, -0.684632946815183720, -0.684669390359774810, -0.684705832192692430, -0.684742272313845430, -0.684778710723143110, -0.684815147420493760, +-0.684851582405806460, -0.684888015678990600, -0.684924447239954270, -0.684960877088606980, -0.684997305224857360, -0.685033731648614590, -0.685070156359787630, -0.685106579358285120, +-0.685143000644016120, -0.685179420216889930, -0.685215838076814850, -0.685252254223700170, -0.685288668657454970, -0.685325081377987980, -0.685361492385208600, -0.685397901679025260, +-0.685434309259347120, -0.685470715126083490, -0.685507119279142760, -0.685543521718434250, -0.685579922443867010, -0.685616321455350230, -0.685652718752792320, -0.685689114336102580, +-0.685725508205190400, -0.685761900359964090, -0.685798290800333050, -0.685834679526206360, -0.685871066537492970, -0.685907451834102180, -0.685943835415942390, -0.685980217282923020, +-0.686016597434953470, -0.686052975871942140, -0.686089352593798330, -0.686125727600431110, -0.686162100891749670, -0.686198472467663190, -0.686234842328080300, -0.686271210472910510, +-0.686307576902062460, -0.686343941615445540, -0.686380304612968620, -0.686416665894540980, -0.686453025460072030, -0.686489383309470180, -0.686525739442644830, -0.686562093859505510, +-0.686598446559960610, -0.686634797543919650, -0.686671146811291600, -0.686707494361985750, -0.686743840195911500, -0.686780184312977270, -0.686816526713092570, -0.686852867396166910, +-0.686889206362108820, -0.686925543610827690, -0.686961879142232610, -0.686998212956233200, -0.687034545052737980, -0.687070875431656350, -0.687107204092897830, -0.687143531036371050, +-0.687179856261985410, -0.687216179769650100, -0.687252501559274420, -0.687288821630767770, -0.687325139984038770, -0.687361456618996840, -0.687397771535551590, -0.687434084733611670, +-0.687470396213086480, -0.687506705973885300, -0.687543014015917440, -0.687579320339092300, -0.687615624943318520, -0.687651927828506040, -0.687688228994563390, -0.687724528441400200, +-0.687760826168925640, -0.687797122177049030, -0.687833416465679970, -0.687869709034726990, -0.687905999884099840, -0.687942289013707910, -0.687978576423459940, -0.688014862113265570, +-0.688051146083034080, -0.688087428332674670, -0.688123708862097060, -0.688159987671209780, -0.688196264759922570, -0.688232540128145050, -0.688268813775785860, -0.688305085702754620, +-0.688341355908960620, -0.688377624394313600, -0.688413891158722090, -0.688450156202096040, -0.688486419524344750, -0.688522681125377180, -0.688558941005102950, -0.688595199163431260, +-0.688631455600271610, -0.688667710315533640, -0.688703963309126090, -0.688740214580958690, -0.688776464130941070, -0.688812711958981860, -0.688848958064990910, -0.688885202448877630, +-0.688921445110551200, -0.688957686049921580, -0.688993925266897510, -0.689030162761388510, -0.689066398533304430, -0.689102632582554110, -0.689138864909047080, -0.689175095512692960, +-0.689211324393401490, -0.689247551551081310, -0.689283776985642250, -0.689320000696994060, -0.689356222685045590, -0.689392442949706590, -0.689428661490886440, -0.689464878308494570, +-0.689501093402440920, -0.689537306772634140, -0.689573518418984180, -0.689609728341400660, -0.689645936539792560, -0.689682143014069600, -0.689718347764141320, -0.689754550789917100, +-0.689790752091306910, -0.689826951668219390, -0.689863149520564930, -0.689899345648252280, -0.689935540051191180, -0.689971732729291240, -0.690007923682462000, -0.690044112910613290, +-0.690080300413653980, -0.690116486191493910, -0.690152670244042920, -0.690188852571209990, -0.690225033172904840, -0.690261212049037120, -0.690297389199516440, -0.690333564624252550, +-0.690369738323154510, -0.690405910296132070, -0.690442080543095190, -0.690478249063952720, -0.690514415858614730, -0.690550580926990620, -0.690586744268990360, -0.690622905884523020, +-0.690659065773498340, -0.690695223935826390, -0.690731380371415900, -0.690767535080177080, -0.690803688062019420, -0.690839839316852560, -0.690875988844586340, -0.690912136645129960, +-0.690948282718393150, -0.690984427064285980, -0.691020569682717410, -0.691056710573597410, -0.691092849736835600, -0.691128987172341720, -0.691165122880025630, -0.691201256859796500, +-0.691237389111564180, -0.691273519635238640, -0.691309648430729060, -0.691345775497945400, -0.691381900836797290, -0.691418024447194690, -0.691454146329046780, -0.691490266482263420, +-0.691526384906754780, -0.691562501602429820, -0.691598616569198630, -0.691634729806970830, -0.691670841315656260, -0.691706951095164890, -0.691743059145405900, -0.691779165466289150, +-0.691815270057724920, -0.691851372919622070, -0.691887474051890880, -0.691923573454441000, -0.691959671127182150, -0.691995767070024530, -0.692031861282877080, -0.692067953765650220, +-0.692104044518253360, -0.692140133540596230, -0.692176220832588780, -0.692212306394140890, -0.692248390225162490, -0.692284472325562780, -0.692320552695251830, -0.692356631334139940, +-0.692392708242136060, -0.692428783419150480, -0.692464856865092850, -0.692500928579873110, -0.692536998563401450, -0.692573066815586950, -0.692609133336339780, -0.692645198125570020, +-0.692681261183186960, -0.692717322509100790, -0.692753382103221350, -0.692789439965458720, -0.692825496095722190, -0.692861550493921950, -0.692897603159968070, -0.692933654093769950, +-0.692969703295237550, -0.693005750764281060, -0.693041796500810100, -0.693077840504734980, -0.693113882775964970, -0.693149923314410280, -0.693185962119981070, -0.693221999192586650, +-0.693258034532137190, -0.693294068138542660, -0.693330100011712910, -0.693366130151558350, -0.693402158557988040, -0.693438185230912390, -0.693474210170241580, -0.693510233375884910, +-0.693546254847752670, -0.693582274585754830, -0.693618292589801570, -0.693654308859802280, -0.693690323395667270, -0.693726336197306730, -0.693762347264629930, -0.693798356597547410, +-0.693834364195968890, -0.693870370059804560, -0.693906374188964500, -0.693942376583358330, -0.693978377242896130, -0.694014376167488290, -0.694050373357044230, -0.694086368811474230, +-0.694122362530688370, -0.694158354514596510, -0.694194344763109150, -0.694230333276135590, -0.694266320053586460, -0.694302305095371270, -0.694338288401400330, -0.694374269971583580, +-0.694410249805831210, -0.694446227904053530, -0.694482204266160030, -0.694518178892060910, -0.694554151781666800, -0.694590122934886870, -0.694626092351631640, -0.694662060031811300, +-0.694698025975335700, -0.694733990182115350, -0.694769952652059760, -0.694805913385079240, -0.694841872381084300, -0.694877829639984230, -0.694913785161689780, -0.694949738946110780, +-0.694985690993157770, -0.695021641302740130, -0.695057589874768510, -0.695093536709153190, -0.695129481805803700, -0.695165425164630420, -0.695201366785543670, -0.695237306668453510, +-0.695273244813270350, -0.695309181219903820, -0.695345115888264310, -0.695381048818262350, -0.695416980009807450, -0.695452909462810130, -0.695488837177180460, -0.695524763152828740, +-0.695560687389665370, -0.695596609887600080, -0.695632530646543180, -0.695668449666405290, -0.695704366947095920, -0.695740282488525710, -0.695776196290604720, -0.695812108353243590, +-0.695848018676351820, -0.695883927259840050, -0.695919834103618800, -0.695955739207597680, -0.695991642571687220, -0.696027544195797490, -0.696063444079839110, -0.696099342223722270, +-0.696135238627356820, -0.696171133290653280, -0.696207026213522260, -0.696242917395873300, -0.696278806837617110, -0.696314694538663790, -0.696350580498923840, -0.696386464718307780, +-0.696422347196725130, -0.696458227934086960, -0.696494106930302890, -0.696529984185283670, -0.696565859698939360, -0.696601733471180480, -0.696637605501917560, -0.696673475791060310, +-0.696709344338519390, -0.696745211144205400, -0.696781076208027980, -0.696816939529897980, -0.696852801109725580, -0.696888660947421300, -0.696924519042895540, -0.696960375396058260, +-0.696996230006819980, -0.697032082875091440, -0.697067934000782370, -0.697103783383803520, -0.697139631024065180, -0.697175476921478080, -0.697211321075951960, -0.697247163487397570, +-0.697283004155725530, -0.697318843080845690, -0.697354680262668780, -0.697390515701105220, -0.697426349396065290, -0.697462181347459740, -0.697498011555198530, -0.697533840019192270, +-0.697569666739351720, -0.697605491715586610, -0.697641314947807900, -0.697677136435925770, -0.697712956179850960, -0.697748774179493990, -0.697784590434764710, -0.697820404945574290, +-0.697856217711832590, -0.697892028733450350, -0.697927838010338090, -0.697963645542406090, -0.697999451329565420, -0.698035255371725730, -0.698071057668797960, -0.698106858220692850, +-0.698142657027320150, -0.698178454088590920, -0.698214249404415570, -0.698250042974704610, -0.698285834799368790, -0.698321624878318170, -0.698357413211463380, -0.698393199798715390, +-0.698428984639984150, -0.698464767735180400, -0.698500549084214770, -0.698536328686997780, -0.698572106543440150, -0.698607882653452080, -0.698643657016944530, -0.698679429633827560, +-0.698715200504012040, -0.698750969627408570, -0.698786737003927570, -0.698822502633480000, -0.698858266515975930, -0.698894028651326330, -0.698929789039441810, -0.698965547680232560, +-0.699001304573609320, -0.699037059719482930, -0.699072813117763920, -0.699108564768363140, -0.699144314671190650, -0.699180062826157300, -0.699215809233174170, -0.699251553892151320, +-0.699287296802999390, -0.699323037965629330, -0.699358777379952000, -0.699394515045877350, -0.699430250963316460, -0.699465985132180170, -0.699501717552378670, -0.699537448223822910, +-0.699573177146423530, -0.699608904320091150, -0.699644629744736850, -0.699680353420270680, -0.699716075346603520, -0.699751795523646640, -0.699787513951309890, -0.699823230629504360, +-0.699858945558140770, -0.699894658737129750, -0.699930370166382380, -0.699966079845808940, -0.700001787775320410, -0.700037493954827280, -0.700073198384240310, -0.700108901063470350, +-0.700144601992428120, -0.700180301171024700, -0.700215998599170280, -0.700251694276775800, -0.700287388203752470, -0.700323080380010340, -0.700358770805460500, -0.700394459480013660, +-0.700430146403580700, -0.700465831576072780, -0.700501514997399880, -0.700537196667473160, -0.700572876586203820, -0.700608554753502030, -0.700644231169278760, -0.700679905833444970, +-0.700715578745911730, -0.700751249906589210, -0.700786919315388610, -0.700822586972220880, -0.700858252876996550, -0.700893917029626450, -0.700929579430021650, -0.700965240078092800, +-0.701000898973751290, -0.701036556116907180, -0.701072211507471680, -0.701107865145355950, -0.701143517030470180, -0.701179167162725660, -0.701214815542033240, -0.701250462168303780, +-0.701286107041448450, -0.701321750161377650, -0.701357391528002360, -0.701393031141233970, -0.701428669000982660, -0.701464305107159620, -0.701499939459675930, -0.701535572058442640, +-0.701571202903370050, -0.701606831994369570, -0.701642459331352280, -0.701678084914228560, -0.701713708742909500, -0.701749330817306280, -0.701784951137329750, -0.701820569702891080, +-0.701856186513900690, -0.701891801570269870, -0.701927414871909790, -0.701963026418730980, -0.701998636210644510, -0.702034244247561560, -0.702069850529392860, -0.702105455056049930, +-0.702141057827442960, -0.702176658843483790, -0.702212258104082610, -0.702247855609150710, -0.702283451358599260, -0.702319045352339130, -0.702354637590281720, -0.702390228072337420, +-0.702425816798417530, -0.702461403768433360, -0.702496988982295510, -0.702532572439915070, -0.702568154141203220, -0.702603734086071020, -0.702639312274429770, -0.702674888706189880, +-0.702710463381262860, -0.702746036299559900, -0.702781607460991610, -0.702817176865469300, -0.702852744512904030, -0.702888310403207210, -0.702923874536289350, -0.702959436912061750, +-0.702994997530435820, -0.703030556391322170, -0.703066113494632110, -0.703101668840276810, -0.703137222428167230, -0.703172774258215010, -0.703208324330330430, -0.703243872644425120, +-0.703279419200410480, -0.703314963998196930, -0.703350507037695970, -0.703386048318818680, -0.703421587841476350, -0.703457125605580380, -0.703492661611041180, -0.703528195857770380, +-0.703563728345679480, -0.703599259074678910, -0.703634788044680160, -0.703670315255594430, -0.703705840707333220, -0.703741364399807170, -0.703776886332927560, -0.703812406506606150, +-0.703847924920753430, -0.703883441575280930, -0.703918956470099720, -0.703954469605121200, -0.703989980980256780, -0.704025490595417080, -0.704060998450513730, -0.704096504545458140, +-0.704132008880160920, -0.704167511454533710, -0.704203012268487800, -0.704238511321934270, -0.704274008614784840, -0.704309504146950040, -0.704344997918341820, -0.704380489928870810, +-0.704415980178448530, -0.704451468666986270, -0.704486955394395430, -0.704522440360587420, -0.704557923565473090, -0.704593405008963840, -0.704628884690971510, -0.704664362611406640, +-0.704699838770180830, -0.704735313167205390, -0.704770785802391720, -0.704806256675651330, -0.704841725786895080, -0.704877193136034360, -0.704912658722981140, -0.704948122547645940, +-0.704983584609940370, -0.705019044909775850, -0.705054503447064000, -0.705089960221715660, -0.705125415233642360, -0.705160868482755830, -0.705196319968966810, -0.705231769692187040, +-0.705267217652327800, -0.705302663849300520, -0.705338108283017020, -0.705373550953387830, -0.705408991860324800, -0.705444431003739550, -0.705479868383542930, -0.705515303999646570, +-0.705550737851962100, -0.705586169940400690, -0.705621600264874190, -0.705657028825293350, -0.705692455621569900, -0.705727880653615690, -0.705763303921341460, -0.705798725424658930, +-0.705834145163479640, -0.705869563137715320, -0.705904979347276810, -0.705940393792075740, -0.705975806472024070, -0.706011217387032540, -0.706046626537013000, -0.706082033921876850, +-0.706117439541535610, -0.706152843395901120, -0.706188245484884240, -0.706223645808396690, -0.706259044366350340, -0.706294441158656030, -0.706329836185225710, -0.706365229445970690, +-0.706400620940802690, -0.706436010669633460, -0.706471398632373850, -0.706506784828936030, -0.706542169259230970, -0.706577551923170510, -0.706612932820666170, -0.706648311951629470, +-0.706683689315972250, -0.706719064913605590, -0.706754438744441220, -0.706789810808391090, -0.706825181105366070, -0.706860549635278220, -0.706895916398038840, -0.706931281393559760, +-0.706966644621752740, -0.707002006082528830, -0.707037365775799900, -0.707072723701477890, -0.707108079859473770, -0.707143434249699390, -0.707178786872066480, -0.707214137726486890, +-0.707249486812871590, -0.707284834131132630, -0.707320179681181880, -0.707355523462930400, -0.707390865476290150, -0.707426205721172650, -0.707461544197489630, -0.707496880905153170, +-0.707532215844074110, -0.707567549014164520, -0.707602880415336370, -0.707638210047500720, -0.707673537910569530, -0.707708864004454540, -0.707744188329067380, -0.707779510884319900, +-0.707814831670123490, -0.707850150686390010, -0.707885467933031420, -0.707920783409958900, -0.707956097117084400, -0.707991409054319680, -0.708026719221576670, -0.708062027618766580, +-0.708097334245801460, -0.708132639102593280, -0.708167942189053210, -0.708203243505093230, -0.708238543050625170, -0.708273840825560770, -0.708309136829812110, -0.708344431063290260, +-0.708379723525907280, -0.708415014217575360, -0.708450303138205670, -0.708485590287710190, -0.708520875666000640, -0.708556159272988980, -0.708591441108587180, -0.708626721172706530, +-0.708661999465259320, -0.708697275986156840, -0.708732550735311160, -0.708767823712634140, -0.708803094918037500, -0.708838364351433440, -0.708873632012733120, -0.708908897901848860, +-0.708944162018692590, -0.708979424363175630, -0.709014684935210030, -0.709049943734707750, -0.709085200761580660, -0.709120456015740810, -0.709155709497099610, -0.709190961205569010, +-0.709226211141061440, -0.709261459303487940, -0.709296705692760820, -0.709331950308791930, -0.709367193151493550, -0.709402434220776760, -0.709437673516553960, -0.709472911038737330, +-0.709508146787237950, -0.709543380761968320, -0.709578612962840300, -0.709613843389765630, -0.709649072042656700, -0.709684298921424820, -0.709719524025982150, -0.709754747356240890, +-0.709789968912112550, -0.709825188693509300, -0.709860406700343120, -0.709895622932525840, -0.709930837389969870, -0.709966050072586510, -0.710001260980288260, -0.710036470112986540, +-0.710071677470593740, -0.710106883053021720, -0.710142086860182430, -0.710177288891988170, -0.710212489148350560, -0.710247687629181670, -0.710282884334393790, -0.710318079263898450, +-0.710353272417607930, -0.710388463795434190, -0.710423653397289300, -0.710458841223085560, -0.710494027272734470, -0.710529211546148340, -0.710564394043239340, -0.710599574763919220, +-0.710634753708100030, -0.710669930875694080, -0.710705106266613540, -0.710740279880769820, -0.710775451718075550, -0.710810621778442900, -0.710845790061783500, -0.710880956568009540, +-0.710916121297033190, -0.710951284248766520, -0.710986445423121950, -0.711021604820010870, -0.711056762439345900, -0.711091918281039350, -0.711127072345002610, -0.711162224631148200, +-0.711197375139388300, -0.711232523869634870, -0.711267670821800540, -0.711302815995796700, -0.711337959391535770, -0.711373101008930250, -0.711408240847891780, -0.711443378908332540, +-0.711478515190165030, -0.711513649693301440, -0.711548782417653400, -0.711583913363133420, -0.711619042529654020, -0.711654169917126600, -0.711689295525463890, -0.711724419354577750, +-0.711759541404380800, -0.711794661674785110, -0.711829780165702530, -0.711864896877045460, -0.711900011808726530, -0.711935124960657250, -0.711970236332750140, -0.712005345924917380, +-0.712040453737071370, -0.712075559769124510, -0.712110664020988440, -0.712145766492575990, -0.712180867183798800, -0.712215966094569500, -0.712251063224800250, -0.712286158574403250, +-0.712321252143291340, -0.712356343931375810, -0.712391433938569520, -0.712426522164784970, -0.712461608609933790, -0.712496693273928620, -0.712531776156681620, -0.712566857258105200, +-0.712601936578111990, -0.712637014116613620, -0.712672089873522710, -0.712707163848751880, -0.712742236042212870, -0.712777306453818320, -0.712812375083480390, -0.712847441931111940, +-0.712882506996624480, -0.712917570279930750, -0.712952631780943370, -0.712987691499574190, -0.713022749435735740, -0.713057805589340510, -0.713092859960300700, -0.713127912548529030, +-0.713162963353937250, -0.713198012376438100, -0.713233059615944190, -0.713268105072367380, -0.713303148745620290, -0.713338190635615320, -0.713373230742264890, -0.713408269065481710, +-0.713443305605177440, -0.713478340361265010, -0.713513373333657050, -0.713548404522265310, -0.713583433927002520, -0.713618461547781190, -0.713653487384513950, -0.713688511437112760, +-0.713723533705490350, -0.713758554189559250, -0.713793572889231620, -0.713828589804419880, -0.713863604935036870, -0.713898618280994770, -0.713933629842206320, -0.713968639618583590, +-0.714003647610039200, -0.714038653816486120, -0.714073658237835970, -0.714108660874001710, -0.714143661724895850, -0.714178660790430800, -0.714213658070519400, -0.714248653565073610, +-0.714283647274006390, -0.714318639197229820, -0.714353629334656630, -0.714388617686199320, -0.714423604251770540, -0.714458589031283120, -0.714493572024648800, -0.714528553231780550, +-0.714563532652591200, -0.714598510286992840, -0.714633486134898080, -0.714668460196219660, -0.714703432470870090, -0.714738402958762230, -0.714773371659808030, -0.714808338573920450, +-0.714843303701012340, -0.714878267040995660, -0.714913228593783370, -0.714948188359287860, -0.714983146337422330, -0.715018102528098500, -0.715053056931229450, -0.715088009546728130, +-0.715122960374506400, -0.715157909414477320, -0.715192856666553520, -0.715227802130647410, -0.715262745806672260, -0.715297687694539830, -0.715332627794163290, -0.715367566105455490, +-0.715402502628328390, -0.715437437362695050, -0.715472370308468110, -0.715507301465560190, -0.715542230833884460, -0.715577158413352790, -0.715612084203878230, -0.715647008205373640, +-0.715681930417751410, -0.715716850840924290, -0.715751769474805010, -0.715786686319306640, -0.715821601374341250, -0.715856514639821810, -0.715891426115661370, -0.715926335801772120, +-0.715961243698067020, -0.715996149804458910, -0.716031054120860320, -0.716065956647184310, -0.716100857383343280, -0.716135756329250080, -0.716170653484817680, -0.716205548849958460, +-0.716240442424585290, -0.716275334208611000, -0.716310224201948450, -0.716345112404510600, -0.716379998816209730, -0.716414883436959030, -0.716449766266670900, -0.716484647305258400, +-0.716519526552634290, -0.716554404008711290, -0.716589279673402580, -0.716624153546620460, -0.716659025628277880, -0.716693895918288030, -0.716728764416563190, -0.716763631123016330, +-0.716798496037560520, -0.716833359160108370, -0.716868220490573190, -0.716903080028867160, -0.716937937774903440, -0.716972793728595130, -0.717007647889854600, -0.717042500258594840, +-0.717077350834728900, -0.717112199618169850, -0.717147046608830110, -0.717181891806622620, -0.717216735211460790, -0.717251576823256800, -0.717286416641923830, -0.717321254667374840, +-0.717356090899522790, -0.717390925338280640, -0.717425757983561010, -0.717460588835276970, -0.717495417893341700, -0.717530245157667610, -0.717565070628167990, -0.717599894304755680, +-0.717634716187343540, -0.717669536275844950, -0.717704354570172230, -0.717739171070238550, -0.717773985775957300, -0.717808798687240790, -0.717843609804002300, -0.717878419126154800, +-0.717913226653611570, -0.717948032386284910, -0.717982836324088210, -0.718017638466934670, -0.718052438814736790, -0.718087237367407760, -0.718122034124860640, -0.718156829087008510, +-0.718191622253764540, -0.718226413625041250, -0.718261203200751930, -0.718295990980809870, -0.718330776965127480, -0.718365561153618270, -0.718400343546195090, -0.718435124142771110, +-0.718469902943259520, -0.718504679947572940, -0.718539455155624900, -0.718574228567328000, -0.718609000182595440, -0.718643770001340500, -0.718678538023476030, -0.718713304248915550, +-0.718748068677571570, -0.718782831309357380, -0.718817592144186390, -0.718852351181971110, -0.718887108422624930, -0.718921863866061050, -0.718956617512192420, -0.718991369360932660, +-0.719026119412194080, -0.719060867665890280, -0.719095614121934570, -0.719130358780239560, -0.719165101640718560, -0.719199842703284850, -0.719234581967851950, -0.719269319434332250, +-0.719304055102639170, -0.719338788972686330, -0.719373521044386120, -0.719408251317652070, -0.719442979792397570, -0.719477706468535480, -0.719512431345979530, -0.719547154424642120, +-0.719581875704436880, -0.719616595185277210, -0.719651312867075840, -0.719686028749745970, -0.719720742833201200, -0.719755455117354610, -0.719790165602119610, -0.719824874287408930, +-0.719859581173136310, -0.719894286259214480, -0.719928989545556950, -0.719963691032076800, -0.719998390718687540, -0.720033088605302680, -0.720067784691834740, -0.720102478978197350, +-0.720137171464304000, -0.720171862150067450, -0.720206551035401210, -0.720241238120218670, -0.720275923404433030, -0.720310606887957890, -0.720345288570705790, -0.720379968452590670, +-0.720414646533525830, -0.720449322813424110, -0.720483997292199030, -0.720518669969763880, -0.720553340846032510, -0.720588009920917430, -0.720622677194332370, -0.720657342666190860, +-0.720692006336405620, -0.720726668204890510, -0.720761328271558700, -0.720795986536323490, -0.720830642999098710, -0.720865297659797010, -0.720899950518332000, -0.720934601574617420, +-0.720969250828566110, -0.721003898280091590, -0.721038543929107380, -0.721073187775526760, -0.721107829819263470, -0.721142470060230470, -0.721177108498341160, -0.721211745133509390, +-0.721246379965647890, -0.721281012994670510, -0.721315644220490660, -0.721350273643021960, -0.721384901262177140, -0.721419527077870270, -0.721454151090014760, -0.721488773298523570, +-0.721523393703310530, -0.721558012304288840, -0.721592629101372230, -0.721627244094474430, -0.721661857283508180, -0.721696468668387210, -0.721731078249025380, -0.721765686025335640, +-0.721800291997231610, -0.721834896164626820, -0.721869498527434870, -0.721904099085569410, -0.721938697838943490, -0.721973294787471080, -0.722007889931065130, -0.722042483269639380, +-0.722077074803107570, -0.722111664531382870, -0.722146252454379580, -0.722180838572010100, -0.722215422884188610, -0.722250005390828950, -0.722284586091843980, -0.722319164987147430, +-0.722353742076653040, -0.722388317360274200, -0.722422890837924990, -0.722457462509518140, -0.722492032374967730, -0.722526600434187590, -0.722561166687090580, -0.722595731133590550, +-0.722630293773601330, -0.722664854607036670, -0.722699413633809410, -0.722733970853833840, -0.722768526267023480, -0.722803079873291620, -0.722837631672551990, -0.722872181664718340, +-0.722906729849704170, -0.722941276227423550, -0.722975820797789330, -0.723010363560715570, -0.723044904516116360, -0.723079443663904420, -0.723113981003993930, -0.723148516536298520, +-0.723183050260731710, -0.723217582177207770, -0.723252112285639350, -0.723286640585940830, -0.723321167078025960, -0.723355691761807810, -0.723390214637200430, -0.723424735704117580, +-0.723459254962473210, -0.723493772412180380, -0.723528288053153060, -0.723562801885305310, -0.723597313908550310, -0.723631824122802030, -0.723666332527974190, -0.723700839123980530, +-0.723735343910735020, -0.723769846888150940, -0.723804348056142130, -0.723838847414622900, -0.723873344963506080, -0.723907840702705970, -0.723942334632136310, -0.723976826751710710, +-0.724011317061343470, -0.724045805560947550, -0.724080292250437460, -0.724114777129726270, -0.724149260198728160, -0.724183741457356980, -0.724218220905526340, -0.724252698543150550, +-0.724287174370142670, -0.724321648386416770, -0.724356120591887140, -0.724390590986466850, -0.724425059570070200, -0.724459526342610790, -0.724493991304002600, -0.724528454454159700, +-0.724562915792995480, -0.724597375320423900, -0.724631833036359140, -0.724666288940714500, -0.724700743033404260, -0.724735195314341940, -0.724769645783442160, -0.724804094440617890, +-0.724838541285783400, -0.724872986318852770, -0.724907429539739410, -0.724941870948357490, -0.724976310544620860, -0.725010748328443590, -0.725045184299739630, -0.725079618458422390, +-0.725114050804406160, -0.725148481337605010, -0.725182910057932450, -0.725217336965302660, -0.725251762059629490, -0.725286185340826780, -0.725320606808809050, -0.725355026463489480, +-0.725389444304782360, -0.725423860332601870, -0.725458274546861510, -0.725492686947475370, -0.725527097534357620, -0.725561506307422330, -0.725595913266583010, -0.725630318411753960, +-0.725664721742849350, -0.725699123259782590, -0.725733522962468180, -0.725767920850819760, -0.725802316924751610, -0.725836711184178030, -0.725871103629012420, -0.725905494259168950, +-0.725939883074562140, -0.725974270075105180, -0.726008655260712680, -0.726043038631298380, -0.726077420186776570, -0.726111799927061650, -0.726146177852066700, -0.726180553961706780, +-0.726214928255895060, -0.726249300734546080, -0.726283671397573770, -0.726318040244892440, -0.726352407276416150, -0.726386772492058630, -0.726421135891734180, -0.726455497475357200, +-0.726489857242841100, -0.726524215194100380, -0.726558571329049220, -0.726592925647601470, -0.726627278149671870, -0.726661628835173710, -0.726695977704021390, -0.726730324756129530, +-0.726764669991411540, -0.726799013409781920, -0.726833355011154650, -0.726867694795444440, -0.726902032762564600, -0.726936368912429630, -0.726970703244954050, -0.727005035760051490, +-0.727039366457636340, -0.727073695337622670, -0.727108022399924890, -0.727142347644457290, -0.727176671071133600, -0.727210992679868110, -0.727245312470575440, -0.727279630443169340, +-0.727313946597563990, -0.727348260933673880, -0.727382573451413110, -0.727416884150696160, -0.727451193031436680, -0.727485500093549290, -0.727519805336948490, -0.727554108761547800, +-0.727588410367261850, -0.727622710154004810, -0.727657008121691320, -0.727691304270235100, -0.727725598599550550, -0.727759891109552300, -0.727794181800154090, -0.727828470671270320, +-0.727862757722815500, -0.727897042954703700, -0.727931326366849650, -0.727965607959166870, -0.727999887731570210, -0.728034165683974050, -0.728068441816292160, -0.728102716128439240, +-0.728136988620329490, -0.728171259291877200, -0.728205528142997220, -0.728239795173603040, -0.728274060383609640, -0.728308323772930870, -0.728342585341481220, -0.728376845089175000, +-0.728411103015926820, -0.728445359121651200, -0.728479613406261880, -0.728513865869673370, -0.728548116511800630, -0.728582365332557380, -0.728616612331858040, -0.728650857509617220, +-0.728685100865749340, -0.728719342400168890, -0.728753582112789840, -0.728787820003526820, -0.728822056072294560, -0.728856290319006890, -0.728890522743578460, -0.728924753345923770, +-0.728958982125957440, -0.728993209083593330, -0.729027434218746270, -0.729061657531330900, -0.729095879021261160, -0.729130098688451690, -0.729164316532816880, -0.729198532554271360, +-0.729232746752729750, -0.729266959128106020, -0.729301169680314890, -0.729335378409271100, -0.729369585314888490, -0.729403790397082140, -0.729437993655766110, -0.729472195090855260, +-0.729506394702264080, -0.729540592489906660, -0.729574788453698050, -0.729608982593552220, -0.729643174909383910, -0.729677365401107720, -0.729711554068637970, -0.729745740911889710, +-0.729779925930776900, -0.729814109125214160, -0.729848290495116460, -0.729882470040397750, -0.729916647760972870, -0.729950823656756340, -0.729984997727662790, -0.730019169973606940, +-0.730053340394502980, -0.730087508990265640, -0.730121675760809890, -0.730155840706049550, -0.730190003825899710, -0.730224165120274770, -0.730258324589089680, -0.730292482232258620, +-0.730326638049696330, -0.730360792041317650, -0.730394944207036770, -0.730429094546768410, -0.730463243060427430, -0.730497389747928330, -0.730531534609186070, -0.730565677644114620, +-0.730599818852629030, -0.730633958234644170, -0.730668095790074080, -0.730702231518833730, -0.730736365420837860, -0.730770497496001090, -0.730804627744238380, -0.730838756165463790, +-0.730872882759592280, -0.730907007526538920, -0.730941130466217670, -0.730975251578543590, -0.731009370863431430, -0.731043488320796130, -0.731077603950551770, -0.731111717752613410, +-0.731145829726896120, -0.731179939873313980, -0.731214048191781930, -0.731248154682214710, -0.731282259344527170, -0.731316362178634270, -0.731350463184450180, -0.731384562361889980, +-0.731418659710868500, -0.731452755231300270, -0.731486848923100010, -0.731520940786182680, -0.731555030820463030, -0.731589119025855990, -0.731623205402275990, -0.731657289949638190, +-0.731691372667856890, -0.731725453556847150, -0.731759532616523820, -0.731793609846801640, -0.731827685247595780, -0.731861758818820320, -0.731895830560390540, -0.731929900472221510, +-0.731963968554227300, -0.731998034806323190, -0.732032099228424050, -0.732066161820444710, -0.732100222582300120, -0.732134281513904810, -0.732168338615173720, -0.732202393886022040, +-0.732236447326364170, -0.732270498936115180, -0.732304548715189910, -0.732338596663503650, -0.732372642780970470, -0.732406687067505780, -0.732440729523024640, -0.732474770147441330, +-0.732508808940671050, -0.732542845902628860, -0.732576881033229600, -0.732610914332388340, -0.732644945800019490, -0.732678975436038330, -0.732713003240359930, -0.732747029212898800, +-0.732781053353570130, -0.732815075662288870, -0.732849096138969760, -0.732883114783528300, -0.732917131595878790, -0.732951146575936410, -0.732985159723616440, -0.733019171038833290, +-0.733053180521502260, -0.733087188171538170, -0.733121193988856560, -0.733155197973371480, -0.733189200124998550, -0.733223200443652860, -0.733257198929248900, -0.733291195581701970, +-0.733325190400927030, -0.733359183386839030, -0.733393174539353490, -0.733427163858384580, -0.733461151343847930, -0.733495136995658600, -0.733529120813731120, -0.733563102797980870, +-0.733597082948322820, -0.733631061264672150, -0.733665037746944030, -0.733699012395053090, -0.733732985208914830, -0.733766956188443900, -0.733800925333555560, -0.733834892644164900, +-0.733868858120186980, -0.733902821761537210, -0.733936783568130190, -0.733970743539881120, -0.734004701676705510, -0.734038657978517860, -0.734072612445233470, -0.734106565076767640, +-0.734140515873035420, -0.734174464833952100, -0.734208411959432430, -0.734242357249391690, -0.734276300703745390, -0.734310242322408050, -0.734344182105295060, -0.734378120052321610, +-0.734412056163403100, -0.734445990438454270, -0.734479922877390390, -0.734513853480126990, -0.734547782246578800, -0.734581709176660990, -0.734615634270288980, -0.734649557527377820, +-0.734683478947843140, -0.734717398531599450, -0.734751316278562270, -0.734785232188647110, -0.734819146261768590, -0.734853058497842100, -0.734886968896783070, -0.734920877458506540, +-0.734954784182928140, -0.734988689069962400, -0.735022592119525030, -0.735056493331531560, -0.735090392705896490, -0.735124290242535450, -0.735158185941363620, -0.735192079802296620, +-0.735225971825249180, -0.735259862010136820, -0.735293750356875050, -0.735327636865378610, -0.735361521535563110, -0.735395404367343850, -0.735429285360636010, -0.735463164515355210, +-0.735497041831416290, -0.735530917308734770, -0.735564790947226270, -0.735598662746805410, -0.735632532707387930, -0.735666400828889120, -0.735700267111224270, -0.735734131554309110, +-0.735767994158058380, -0.735801854922387810, -0.735835713847212360, -0.735869570932447650, -0.735903426178009080, -0.735937279583811830, -0.735971131149771750, -0.736004980875803570, +-0.736038828761822810, -0.736072674807745410, -0.736106519013485890, -0.736140361378960220, -0.736174201904083560, -0.736208040588771430, -0.736241877432939450, -0.736275712436502580, +-0.736309545599376340, -0.736343376921476560, -0.736377206402717980, -0.736411034043016440, -0.736444859842287360, -0.736478683800446340, -0.736512505917408360, -0.736546326193089130, +-0.736580144627404400, -0.736613961220268900, -0.736647775971598580, -0.736681588881308860, -0.736715399949315120, -0.736749209175533220, -0.736783016559877880, -0.736816822102265070, +-0.736850625802610510, -0.736884427660829180, -0.736918227676836680, -0.736952025850548530, -0.736985822181880470, -0.737019616670748110, -0.737053409317066420, -0.737087200120751130, +-0.737120989081718190, -0.737154776199882460, -0.737188561475159760, -0.737222344907465740, -0.737256126496716120, -0.737289906242825870, -0.737323684145710920, -0.737357460205287030, +-0.737391234421469140, -0.737425006794173220, -0.737458777323314770, -0.737492546008809310, -0.737526312850572800, -0.737560077848520290, -0.737593841002567530, -0.737627602312630470, +-0.737661361778624180, -0.737695119400464390, -0.737728875178066850, -0.737762629111347050, -0.737796381200221060, -0.737830131444603850, -0.737863879844411490, -0.737897626399559140, +-0.737931371109962870, -0.737965113975538100, -0.737998854996200440, -0.738032594171866060, -0.738066331502449820, -0.738100066987867900, -0.738133800628036020, -0.738167532422869250, +-0.738201262372283780, -0.738234990476195120, -0.738268716734518990, -0.738302441147171250, -0.738336163714067180, -0.738369884435122750, -0.738403603310253900, -0.738437320339375700, +-0.738471035522404230, -0.738504748859255210, -0.738538460349844610, -0.738572169994087480, -0.738605877791900010, -0.738639583743198050, -0.738673287847896880, -0.738706990105912450, +-0.738740690517160630, -0.738774389081557010, -0.738808085799017800, -0.738841780669458050, -0.738875473692793830, -0.738909164868941200, -0.738942854197815360, -0.738976541679332470, +-0.739010227313408150, -0.739043911099958260, -0.739077593038898860, -0.739111273130145240, -0.739144951373613690, -0.739178627769219500, -0.739212302316878840, -0.739245975016507240, +-0.739279645868020860, -0.739313314871335560, -0.739346982026366620, -0.739380647333030330, -0.739414310791242760, -0.739447972400919080, -0.739481632161975380, -0.739515290074327700, +-0.739548946137891680, -0.739582600352583720, -0.739616252718318990, -0.739649903235013450, -0.739683551902583610, -0.739717198720944550, -0.739750843690012430, -0.739784486809703210, +-0.739818128079932860, -0.739851767500617430, -0.739885405071672330, -0.739919040793013960, -0.739952674664557720, -0.739986306686219790, -0.740019936857916120, -0.740053565179562560, +-0.740087191651075390, -0.740120816272369920, -0.740154439043362420, -0.740188059963969190, -0.740221679034105410, -0.740255296253687580, -0.740288911622631330, -0.740322525140852950, +-0.740356136808268510, -0.740389746624793400, -0.740423354590343920, -0.740456960704836350, -0.740490564968186100, -0.740524167380309460, -0.740557767941122380, -0.740591366650541150, +-0.740624963508481280, -0.740658558514858960, -0.740692151669590570, -0.740725742972591420, -0.740759332423778010, -0.740792920023066180, -0.740826505770372120, -0.740860089665612120, +-0.740893671708701460, -0.740927251899556770, -0.740960830238094230, -0.740994406724229230, -0.741027981357878280, -0.741061554138957360, -0.741095125067382510, -0.741128694143070140, +-0.741162261365935880, -0.741195826735896120, -0.741229390252866600, -0.741262951916763500, -0.741296511727503100, -0.741330069685001370, -0.741363625789174810, -0.741397180039938820, +-0.741430732437210030, -0.741464282980904500, -0.741497831670938080, -0.741531378507227060, -0.741564923489687610, -0.741598466618235810, -0.741632007892788160, -0.741665547313260290, +-0.741699084879568480, -0.741732620591629250, -0.741766154449358120, -0.741799686452671690, -0.741833216601486050, -0.741866744895717580, -0.741900271335282020, -0.741933795920095670, +-0.741967318650075260, -0.742000839525136180, -0.742034358545195060, -0.742067875710167970, -0.742101391019971300, -0.742134904474521350, -0.742168416073733850, -0.742201925817525420, +-0.742235433705812350, -0.742268939738510490, -0.742302443915536130, -0.742335946236805770, -0.742369446702235480, -0.742402945311742000, -0.742436442065240840, -0.742469936962648510, +-0.742503430003881640, -0.742536921188855840, -0.742570410517487840, -0.742603897989693730, -0.742637383605390220, -0.742670867364493060, -0.742704349266918530, -0.742737829312583590, +-0.742771307501403630, -0.742804783833295510, -0.742838258308175400, -0.742871730925959710, -0.742905201686564930, -0.742938670589906810, -0.742972137635902090, -0.743005602824467260, +-0.743039066155518180, -0.743072527628971360, -0.743105987244743300, -0.743139445002750200, -0.743172900902908880, -0.743206354945134870, -0.743239807129345340, -0.743273257455456140, +-0.743306705923383550, -0.743340152533044310, -0.743373597284354700, -0.743407040177231470, -0.743440481211590230, -0.743473920387347720, -0.743507357704420890, -0.743540793162725260, +-0.743574226762177660, -0.743607658502694500, -0.743641088384192180, -0.743674516406587440, -0.743707942569796220, -0.743741366873734930, -0.743774789318320640, -0.743808209903469190, +-0.743841628629097080, -0.743875045495120850, -0.743908460501457420, -0.743941873648022560, -0.743975284934732860, -0.744008694361505410, -0.744042101928255820, -0.744075507634901050, +-0.744108911481357490, -0.744142313467541670, -0.744175713593370200, -0.744209111858759380, -0.744242508263625700, -0.744275902807886030, -0.744309295491456300, -0.744342686314253270, +-0.744376075276193650, -0.744409462377193740, -0.744442847617170500, -0.744476230996039880, -0.744509612513718720, -0.744542992170123650, -0.744576369965170960, -0.744609745898777260, +-0.744643119970859300, -0.744676492181333800, -0.744709862530116730, -0.744743231017125030, -0.744776597642275550, -0.744809962405484250, -0.744843325306668080, -0.744876686345743670, +-0.744910045522627410, -0.744943402837236370, -0.744976758289486510, -0.745010111879294780, -0.745043463606578140, -0.745076813471252430, -0.745110161473234720, -0.745143507612441640, +-0.745176851888789790, -0.745210194302196150, -0.745243534852576660, -0.745276873539848510, -0.745310210363928080, -0.745343545324732020, -0.745376878422177150, -0.745410209656180100, +-0.745443539026657720, -0.745476866533526290, -0.745510192176702670, -0.745543515956103910, -0.745576837871645970, -0.745610157923245920, -0.745643476110820600, -0.745676792434286530, +-0.745710106893560760, -0.745743419488559490, -0.745776730219199660, -0.745810039085398220, -0.745843346087071370, -0.745876651224136270, -0.745909954496509540, -0.745943255904108150, +-0.745976555446848270, -0.746009853124647070, -0.746043148937421520, -0.746076442885087900, -0.746109734967563050, -0.746143025184763940, -0.746176313536607180, -0.746209600023010070, +-0.746242884643888550, -0.746276167399159810, -0.746309448288741020, -0.746342727312548250, -0.746376004470498790, -0.746409279762509150, -0.746442553188496390, -0.746475824748377480, +-0.746509094442068810, -0.746542362269487340, -0.746575628230550240, -0.746608892325173910, -0.746642154553275210, -0.746675414914771180, -0.746708673409578920, -0.746741930037614690, +-0.746775184798795570, -0.746808437693038840, -0.746841688720260690, -0.746874937880378290, -0.746908185173308590, -0.746941430598968450, -0.746974674157275030, -0.747007915848144630, +-0.747041155671494430, -0.747074393627241480, -0.747107629715302420, -0.747140863935594310, -0.747174096288034000, -0.747207326772538430, -0.747240555389024900, -0.747273782137409580, +-0.747307007017610100, -0.747340230029542860, -0.747373451173125040, -0.747406670448273690, -0.747439887854905560, -0.747473103392937930, -0.747506317062287430, -0.747539528862871010, +-0.747572738794606060, -0.747605946857409000, -0.747639153051197100, -0.747672357375887330, -0.747705559831396640, -0.747738760417642310, -0.747771959134540860, -0.747805155982009360, +-0.747838350959965430, -0.747871544068325230, -0.747904735307006190, -0.747937924675925350, -0.747971112175000010, -0.748004297804146570, -0.748037481563282310, -0.748070663452324760, +-0.748103843471190190, -0.748137021619796010, -0.748170197898059270, -0.748203372305897170, -0.748236544843226770, -0.748269715509964680, -0.748302884306028430, -0.748336051231335290, +-0.748369216285801660, -0.748402379469344960, -0.748435540781882350, -0.748468700223330900, -0.748501857793608010, -0.748535013492630070, -0.748568167320314730, -0.748601319276579140, +-0.748634469361340040, -0.748667617574514720, -0.748700763916020470, -0.748733908385774470, -0.748767050983693450, -0.748800191709694810, -0.748833330563695940, -0.748866467545613590, +-0.748899602655364930, -0.748932735892867350, -0.748965867258037930, -0.748998996750794070, -0.749032124371052490, -0.749065250118730490, -0.749098373993745680, -0.749131495996014810, +-0.749164616125455040, -0.749197734381983780, -0.749230850765518100, -0.749263965275975720, -0.749297077913273050, -0.749330188677328040, -0.749363297568057200, -0.749396404585378150, +-0.749429509729208080, -0.749462612999464260, -0.749495714396064220, -0.749528813918924560, -0.749561911567962920, -0.749595007343096700, -0.749628101244242730, -0.749661193271318420, +-0.749694283424241270, -0.749727371702928360, -0.749760458107297300, -0.749793542637264720, -0.749826625292748460, -0.749859706073665810, -0.749892784979933610, -0.749925862011469490, +-0.749958937168190620, -0.749992010450014850, -0.750025081856858680, -0.750058151388639740, -0.750091219045275760, -0.750124284826683470, -0.750157348732780500, -0.750190410763484140, +-0.750223470918711670, -0.750256529198380930, -0.750289585602408550, -0.750322640130712150, -0.750355692783209460, -0.750388743559817220, -0.750421792460453150, -0.750454839485034660, +-0.750487884633478930, -0.750520927905703910, -0.750553969301626210, -0.750587008821163910, -0.750620046464233860, -0.750653082230753550, -0.750686116120640730, -0.750719148133812460, +-0.750752178270186700, -0.750785206529680060, -0.750818232912210610, -0.750851257417695650, -0.750884280046052450, -0.750917300797198430, -0.750950319671051190, -0.750983336667528150, +-0.751016351786547020, -0.751049365028024880, -0.751082376391879250, -0.751115385878027840, -0.751148393486387730, -0.751181399216876770, -0.751214403069412230, -0.751247405043911960, +-0.751280405140292820, -0.751313403358472740, -0.751346399698369470, -0.751379394159899850, -0.751412386742981830, -0.751445377447532700, -0.751478366273470310, -0.751511353220712160, +-0.751544338289175330, -0.751577321478777760, -0.751610302789437080, -0.751643282221070460, -0.751676259773595530, -0.751709235446930020, -0.751742209240991330, -0.751775181155697410, +-0.751808151190965330, -0.751841119346712940, -0.751874085622857850, -0.751907050019317460, -0.751940012536009280, -0.751972973172851170, -0.752005931929760840, -0.752038888806655480, +-0.752071843803452820, -0.752104796920070930, -0.752137748156426640, -0.752170697512438040, -0.752203644988022720, -0.752236590583098220, -0.752269534297582590, -0.752302476131392780, +-0.752335416084446870, -0.752368354156662590, -0.752401290347957220, -0.752434224658248610, -0.752467157087454490, -0.752500087635492370, -0.752533016302280310, -0.752565943087735610, +-0.752598867991776110, -0.752631791014319320, -0.752664712155282970, -0.752697631414584900, -0.752730548792142740, -0.752763464287874440, -0.752796377901697290, -0.752829289633529020, +-0.752862199483287920, -0.752895107450891050, -0.752928013536256380, -0.752960917739301740, -0.752993820059944750, -0.753026720498103490, -0.753059619053695120, -0.753092515726637710, +-0.753125410516849450, -0.753158303424247280, -0.753191194448749270, -0.753224083590273370, -0.753256970848737440, -0.753289856224058860, -0.753322739716155710, -0.753355621324945930, +-0.753388501050346830, -0.753421378892276450, -0.753454254850652650, -0.753487128925393160, -0.753520001116416150, -0.753552871423638910, -0.753585739846979520, -0.753618606386355920, +-0.753651471041685620, -0.753684333812886690, -0.753717194699876750, -0.753750053702573970, -0.753782910820896320, -0.753815766054761080, -0.753848619404086540, -0.753881470868790540, +-0.753914320448790700, -0.753947168144005090, -0.753980013954351440, -0.754012857879748140, -0.754045699920112390, -0.754078540075362350, -0.754111378345416310, -0.754144214730191440, +-0.754177049229606160, -0.754209881843578180, -0.754242712572025460, -0.754275541414866300, -0.754308368372017980, -0.754341193443398780, -0.754374016628926890, -0.754406837928519590, +-0.754439657342095280, -0.754472474869571700, -0.754505290510867120, -0.754538104265899510, -0.754570916134586380, -0.754603726116846120, -0.754636534212596350, -0.754669340421755260, +-0.754702144744240800, -0.754734947179971030, -0.754767747728864120, -0.754800546390837600, -0.754833343165809630, -0.754866138053698620, -0.754898931054422070, -0.754931722167898060, +-0.754964511394044860, -0.754997298732780320, -0.755030084184022840, -0.755062867747689830, -0.755095649423699670, -0.755128429211970760, -0.755161207112420410, -0.755193983124966990, +-0.755226757249528700, -0.755259529486023710, -0.755292299834369740, -0.755325068294484980, -0.755357834866287710, -0.755390599549695670, -0.755423362344627150, -0.755456123251000200, +-0.755488882268732900, -0.755521639397743750, -0.755554394637950160, -0.755587147989270620, -0.755619899451623560, -0.755652649024926350, -0.755685396709097510, -0.755718142504055330, +-0.755750886409717660, -0.755783628426003110, -0.755816368552829190, -0.755849106790114300, -0.755881843137776950, -0.755914577595734770, -0.755947310163906150, -0.755980040842209160, +-0.756012769630562410, -0.756045496528883530, -0.756078221537090810, -0.756110944655102870, -0.756143665882837210, -0.756176385220212350, -0.756209102667146690, -0.756241818223558180, +-0.756274531889365440, -0.756307243664485980, -0.756339953548838540, -0.756372661542341510, -0.756405367644912510, -0.756438071856470050, -0.756470774176932430, -0.756503474606217810, +-0.756536173144244820, -0.756568869790931190, -0.756601564546195650, -0.756634257409955930, -0.756666948382130560, -0.756699637462637800, -0.756732324651395950, -0.756765009948323520, +-0.756797693353338240, -0.756830374866358850, -0.756863054487303840, -0.756895732216090740, -0.756928408052638390, -0.756961081996865070, -0.756993754048689070, -0.757026424208028900, +-0.757059092474802410, -0.757091758848928100, -0.757124423330324810, -0.757157085918910070, -0.757189746614602700, -0.757222405417320890, -0.757255062326983470, -0.757287717343507970, +-0.757320370466813220, -0.757353021696817840, -0.757385671033439680, -0.757418318476597240, -0.757450964026209150, -0.757483607682193470, -0.757516249444469160, -0.757548889312953940, +-0.757581527287566450, -0.757614163368225510, -0.757646797554848870, -0.757679429847355150, -0.757712060245662840, -0.757744688749690480, -0.757777315359356660, -0.757809940074579250, +-0.757842562895276960, -0.757875183821368650, -0.757907802852771930, -0.757940419989405870, -0.757973035231188640, -0.758005648578039090, -0.758038260029875290, -0.758070869586615740, +-0.758103477248179280, -0.758136083014483870, -0.758168686885448250, -0.758201288860990920, -0.758233888941030390, -0.758266487125485390, -0.758299083414273880, -0.758331677807314700, +-0.758364270304526580, -0.758396860905827470, -0.758429449611136340, -0.758462036420371470, -0.758494621333451470, -0.758527204350295300, -0.758559785470820810, -0.758592364694947060, +-0.758624942022592230, -0.758657517453675050, -0.758690090988114020, -0.758722662625827770, -0.758755232366735140, -0.758787800210754090, -0.758820366157803680, -0.758852930207802530, +-0.758885492360668820, -0.758918052616321390, -0.758950610974678750, -0.758983167435659630, -0.759015721999182880, -0.759048274665166560, -0.759080825433529500, -0.759113374304190680, +-0.759145921277068150, -0.759178466352080860, -0.759211009529147330, -0.759243550808186620, -0.759276090189116790, -0.759308627671856580, -0.759341163256325280, -0.759373696942440720, +-0.759406228730121760, -0.759438758619287450, -0.759471286609856080, -0.759503812701746940, -0.759536336894877760, -0.759568859189167940, -0.759601379584536220, -0.759633898080900650, +-0.759666414678180520, -0.759698929376294240, -0.759731442175160530, -0.759763953074698680, -0.759796462074826650, -0.759828969175463610, -0.759861474376527960, -0.759893977677938650, +-0.759926479079614300, -0.759958978581473880, -0.759991476183436210, -0.760023971885419590, -0.760056465687343090, -0.760088957589125650, -0.760121447590685450, -0.760153935691941780, +-0.760186421892813270, -0.760218906193218640, -0.760251388593077060, -0.760283869092306720, -0.760316347690826680, -0.760348824388556110, -0.760381299185413080, -0.760413772081316890, +-0.760446243076186250, -0.760478712169940340, -0.760511179362497240, -0.760543644653776330, -0.760576108043696460, -0.760608569532176150, -0.760641029119134340, -0.760673486804489980, +-0.760705942588161930, -0.760738396470069360, -0.760770848450130430, -0.760803298528264450, -0.760835746704390360, -0.760868192978426780, -0.760900637350292670, -0.760933079819906990, +-0.760965520387188450, -0.760997959052056580, -0.761030395814429440, -0.761062830674226310, -0.761095263631366480, -0.761127694685768130, -0.761160123837350540, -0.761192551086032680, +-0.761224976431733700, -0.761257399874372020, -0.761289821413866810, -0.761322241050137350, -0.761354658783101930, -0.761387074612679960, -0.761419488538790270, -0.761451900561351810, +-0.761484310680283990, -0.761516718895505100, -0.761549125206934300, -0.761581529614490990, -0.761613932118093690, -0.761646332717661470, -0.761678731413113490, -0.761711128204368590, +-0.761743523091346190, -0.761775916073964670, -0.761808307152143650, -0.761840696325801650, -0.761873083594857840, -0.761905468959231390, -0.761937852418841270, -0.761970233973606750, +-0.762002613623446350, -0.762034991368279350, -0.762067367208025260, -0.762099741142602480, -0.762132113171930300, -0.762164483295927900, -0.762196851514514220, -0.762229217827608770, +-0.762261582235129960, -0.762293944736997080, -0.762326305333129730, -0.762358664023446320, -0.762391020807866250, -0.762423375686308690, -0.762455728658692930, -0.762488079724937600, +-0.762520428884961960, -0.762552776138685550, -0.762585121486026970, -0.762617464926905630, -0.762649806461240590, -0.762682146088951020, -0.762714483809956320, -0.762746819624175230, +-0.762779153531527030, -0.762811485531931230, -0.762843815625306450, -0.762876143811572090, -0.762908470090647440, -0.762940794462451550, -0.762973116926904060, -0.763005437483923350, +-0.763037756133429170, -0.763070072875340790, -0.763102387709576950, -0.763134700636057260, -0.763167011654700690, -0.763199320765426960, -0.763231627968154580, -0.763263933262803170, +-0.763296236649292140, -0.763328538127540310, -0.763360837697467210, -0.763393135358991890, -0.763425431112033760, -0.763457724956512320, -0.763490016892346300, -0.763522306919455220, +-0.763554595037758690, -0.763586881247175440, -0.763619165547624880, -0.763651447939026510, -0.763683728421299390, -0.763716006994363370, -0.763748283658136960, -0.763780558412540110, +-0.763812831257491660, -0.763845102192911130, -0.763877371218717790, -0.763909638334831050, -0.763941903541170530, -0.763974166837654840, -0.764006428224203840, -0.764038687700737020, +-0.764070945267173230, -0.764103200923432090, -0.764135454669432890, -0.764167706505095130, -0.764199956430338330, -0.764232204445081330, -0.764264450549243860, -0.764296694742745530, +-0.764328937025505200, -0.764361177397442580, -0.764393415858476870, -0.764425652408528000, -0.764457887047514720, -0.764490119775356750, -0.764522350591973710, -0.764554579497284560, +-0.764586806491208910, -0.764619031573666290, -0.764651254744576070, -0.764683476003858000, -0.764715695351430910, -0.764747912787214550, -0.764780128311128850, -0.764812341923092440, +-0.764844553623025170, -0.764876763410846540, -0.764908971286475950, -0.764941177249833350, -0.764973381300837360, -0.765005583439408050, -0.765037783665465040, -0.765069981978927280, +-0.765102178379714500, -0.765134372867746330, -0.765166565442942480, -0.765198756105221920, -0.765230944854504490, -0.765263131690710030, -0.765295316613757490, -0.765327499623566500, +-0.765359680720056890, -0.765391859903148060, -0.765424037172759860, -0.765456212528811240, -0.765488385971222150, -0.765520557499912320, -0.765552727114800820, -0.765584894815807600, +-0.765617060602852060, -0.765649224475853820, -0.765681386434732940, -0.765713546479408150, -0.765745704609799960, -0.765777860825827110, -0.765810015127409540, -0.765842167514466990, +-0.765874317986919070, -0.765906466544685640, -0.765938613187685750, -0.765970757915839240, -0.766002900729066290, -0.766035041627285640, -0.766067180610417450, -0.766099317678381350, +-0.766131452831096960, -0.766163586068484110, -0.766195717390462110, -0.766227846796950770, -0.766259974287870180, -0.766292099863139290, -0.766324223522678150, -0.766356345266406390, +-0.766388465094244190, -0.766420583006110490, -0.766452699001925360, -0.766484813081608760, -0.766516925245079750, -0.766549035492258500, -0.766581143823064640, -0.766613250237418000, +-0.766645354735238430, -0.766677457316445210, -0.766709557980958410, -0.766741656728697870, -0.766773753559582990, -0.766805848473533720, -0.766837941470469800, -0.766870032550311050, +-0.766902121712977560, -0.766934208958388370, -0.766966294286463680, -0.766998377697123650, -0.767030459190287230, -0.767062538765874820, -0.767094616423805940, -0.767126692164000870, +-0.767158765986378780, -0.767190837890859730, -0.767222907877363910, -0.767254975945810600, -0.767287042096119750, -0.767319106328211320, -0.767351168642005140, -0.767383229037421290, +-0.767415287514379150, -0.767447344072798690, -0.767479398712600290, -0.767511451433703030, -0.767543502236027080, -0.767575551119492490, -0.767607598084018910, -0.767639643129526710, +-0.767671686255935070, -0.767703727463164620, -0.767735766751134420, -0.767767804119764860, -0.767799839568975790, -0.767831873098687060, -0.767863904708819050, -0.767895934399290820, +-0.767927962170022900, -0.767959988020935350, -0.767992011951947550, -0.768024033962979690, -0.768056054053951720, -0.768088072224783590, -0.768120088475395590, -0.768152102805707120, +-0.768184115215638450, -0.768216125705109660, -0.768248134274040370, -0.768280140922350640, -0.768312145649960640, -0.768344148456790550, -0.768376149342759770, -0.768408148307788700, +-0.768440145351797390, -0.768472140474705580, -0.768504133676433330, -0.768536124956900820, -0.768568114316027890, -0.768600101753735050, -0.768632087269941700, -0.768664070864568010, +-0.768696052537534480, -0.768728032288760630, -0.768760010118166530, -0.768791986025672560, -0.768823960011198570, -0.768855932074664960, -0.768887902215991240, -0.768919870435098020, +-0.768951836731904810, -0.768983801106332130, -0.769015763558299810, -0.769047724087728150, -0.769079682694537530, -0.769111639378647350, -0.769143594139978020, -0.769175546978450030, +-0.769207497893982910, -0.769239446886497040, -0.769271393955912600, -0.769303339102149540, -0.769335282325128600, -0.769367223624769060, -0.769399163000991430, -0.769431100453716210, +-0.769463035982863030, -0.769494969588352170, -0.769526901270103920, -0.769558831028038680, -0.769590758862076060, -0.769622684772136580, -0.769654608758140730, -0.769686530820007930, +-0.769718450957658900, -0.769750369171013800, -0.769782285459992720, -0.769814199824516150, -0.769846112264503830, -0.769878022779876270, -0.769909931370553970, -0.769941838036456440, +-0.769973742777504410, -0.770005645593617950, -0.770037546484717450, -0.770069445450723310, -0.770101342491555260, -0.770133237607133920, -0.770165130797379800, -0.770197022062212520, +-0.770228911401552590, -0.770260798815320500, -0.770292684303436670, -0.770324567865820820, -0.770356449502393570, -0.770388329213075540, -0.770420206997786350, -0.770452082856446620, +-0.770483956788976740, -0.770515828795296900, -0.770547698875327810, -0.770579567028989110, -0.770611433256201630, -0.770643297556885760, -0.770675159930961360, -0.770707020378349150, +-0.770738878898969300, -0.770770735492742330, -0.770802590159588740, -0.770834442899428370, -0.770866293712182180, -0.770898142597770120, -0.770929989556112580, -0.770961834587130080, +-0.770993677690742900, -0.771025518866871980, -0.771057358115436850, -0.771089195436358340, -0.771121030829557190, -0.771152864294953220, -0.771184695832466960, -0.771216525442019020, +-0.771248353123529800, -0.771280178876919910, -0.771312002702109420, -0.771343824599018730, -0.771375644567568910, -0.771407462607679670, -0.771439278719271760, -0.771471092902265680, +-0.771502905156582040, -0.771534715482140920, -0.771566523878863040, -0.771598330346669140, -0.771630134885479050, -0.771661937495213720, -0.771693738175793560, -0.771725536927138970, +-0.771757333749170880, -0.771789128641809150, -0.771820921604974620, -0.771852712638588010, -0.771884501742569400, -0.771916288916839500, -0.771948074161318940, -0.771979857475928120, +-0.772011638860587990, -0.772043418315218390, -0.772075195839740270, -0.772106971434074470, -0.772138745098141070, -0.772170516831860660, -0.772202286635154000, -0.772234054507941910, +-0.772265820450144470, -0.772297584461682400, -0.772329346542476650, -0.772361106692447290, -0.772392864911515150, -0.772424621199600760, -0.772456375556624940, -0.772488127982508430, +-0.772519878477171300, -0.772551627040534480, -0.772583373672518950, -0.772615118373044530, -0.772646861142032400, -0.772678601979403190, -0.772710340885077400, -0.772742077858976080, +-0.772773812901019320, -0.772805546011128160, -0.772837277189223020, -0.772869006435224600, -0.772900733749053660, -0.772932459130630910, -0.772964182579877310, -0.772995904096712930, +-0.773027623681058820, -0.773059341332835940, -0.773091057051964350, -0.773122770838365230, -0.773154482691959080, -0.773186192612666860, -0.773217900600409290, -0.773249606655106780, +-0.773281310776680160, -0.773313012965050620, -0.773344713220138310, -0.773376411541864210, -0.773408107930149020, -0.773439802384913830, -0.773471494906078920, -0.773503185493565230, +-0.773534874147293830, -0.773566560867185000, -0.773598245653159710, -0.773629928505138900, -0.773661609423043180, -0.773693288406793860, -0.773724965456310980, -0.773756640571515610, +-0.773788313752328930, -0.773819984998671220, -0.773851654310463540, -0.773883321687626750, -0.773914987130081670, -0.773946650637749260, -0.773978312210550130, -0.774009971848405140, +-0.774041629551235450, -0.774073285318961470, -0.774104939151504360, -0.774136591048784740, -0.774168241010724010, -0.774199889037242350, -0.774231535128261040, -0.774263179283701140, +-0.774294821503482940, -0.774326461787527840, -0.774358100135756460, -0.774389736548089850, -0.774421371024449190, -0.774453003564754880, -0.774484634168927990, -0.774516262836889790, +-0.774547889568560690, -0.774579514363861850, -0.774611137222714240, -0.774642758145038800, -0.774674377130756710, -0.774705994179788360, -0.774737609292055370, -0.774769222467478040, +-0.774800833705977740, -0.774832443007475220, -0.774864050371891660, -0.774895655799148320, -0.774927259289165500, -0.774958860841864490, -0.774990460457166690, -0.775022058134992360, +-0.775053653875263040, -0.775085247677899440, -0.775116839542822730, -0.775148429469954330, -0.775180017459214500, -0.775211603510524540, -0.775243187623805950, -0.775274769798979140, +-0.775306350035965260, -0.775337928334685620, -0.775369504695061500, -0.775401079117013170, -0.775432651600462260, -0.775464222145329950, -0.775495790751536850, -0.775527357419004250, +-0.775558922147653320, -0.775590484937405010, -0.775622045788180730, -0.775653604699901080, -0.775685161672487470, -0.775716716705861180, -0.775748269799942940, -0.775779820954653920, +-0.775811370169915300, -0.775842917445648370, -0.775874462781774410, -0.775906006178213930, -0.775937547634888540, -0.775969087151719530, -0.776000624728627410, -0.776032160365533800, +-0.776063694062359870, -0.776095225819026900, -0.776126755635455630, -0.776158283511567460, -0.776189809447283770, -0.776221333442525420, -0.776252855497213680, -0.776284375611269840, +-0.776315893784614960, -0.776347410017170670, -0.776378924308857580, -0.776410436659597190, -0.776441947069311020, -0.776473455537919690, -0.776504962065344690, -0.776536466651507330, +-0.776567969296328760, -0.776599469999730510, -0.776630968761633400, -0.776662465581959060, -0.776693960460628330, -0.776725453397562720, -0.776756944392683390, -0.776788433445911750, +-0.776819920557169310, -0.776851405726376790, -0.776882888953455810, -0.776914370238327770, -0.776945849580913620, -0.776977326981134750, -0.777008802438912680, -0.777040275954168580, +-0.777071747526824060, -0.777103217156799860, -0.777134684844017600, -0.777166150588398890, -0.777197614389864680, -0.777229076248336260, -0.777260536163735250, -0.777291994135983160, +-0.777323450165000820, -0.777354904250709740, -0.777386356393031770, -0.777417806591887640, -0.777449254847198960, -0.777480701158887230, -0.777512145526873640, -0.777543587951080030, +-0.777575028431427120, -0.777606466967836750, -0.777637903560230330, -0.777669338208529020, -0.777700770912654220, -0.777732201672527660, -0.777763630488070400, -0.777795057359204510, +-0.777826482285850610, -0.777857905267930860, -0.777889326305366000, -0.777920745398077870, -0.777952162545987870, -0.777983577749017390, -0.778014991007088370, -0.778046402320121460, +-0.778077811688038580, -0.778109219110761470, -0.778140624588211090, -0.778172028120309060, -0.778203429706977090, -0.778234829348136480, -0.778266227043708960, -0.778297622793615700, +-0.778329016597778420, -0.778360408456118870, -0.778391798368557990, -0.778423186335017500, -0.778454572355419150, -0.778485956429684430, -0.778517338557734970, -0.778548718739491940, +-0.778580096974877400, -0.778611473263812410, -0.778642847606218710, -0.778674220002017800, -0.778705590451131410, -0.778736958953481270, -0.778768325508988560, -0.778799690117574880, +-0.778831052779162420, -0.778862413493671910, -0.778893772261025410, -0.778925129081144530, -0.778956483953950780, -0.778987836879366120, -0.779019187857311610, -0.779050536887709090, +-0.779081883970480500, -0.779113229105546920, -0.779144572292830300, -0.779175913532252240, -0.779207252823734710, -0.779238590167198760, -0.779269925562566250, -0.779301259009759330, +-0.779332590508698850, -0.779363920059306990, -0.779395247661505360, -0.779426573315215480, -0.779457897020359610, -0.779489218776858620, -0.779520538584634550, -0.779551856443609470, +-0.779583172353704450, -0.779614486314841540, -0.779645798326942360, -0.779677108389928650, -0.779708416503722580, -0.779739722668245090, -0.779771026883418590, -0.779802329149164250, +-0.779833629465404020, -0.779864927832059850, -0.779896224249053250, -0.779927518716306500, -0.779958811233740560, -0.779990101801277590, -0.780021390418839670, -0.780052677086348070, +-0.780083961803724630, -0.780115244570891430, -0.780146525387769960, -0.780177804254282630, -0.780209081170350370, -0.780240356135895490, -0.780271629150840030, -0.780302900215105180, +-0.780334169328612990, -0.780365436491285420, -0.780396701703044650, -0.780427964963811730, -0.780459226273508940, -0.780490485632058360, -0.780521743039381270, -0.780552998495399830, +-0.780584252000036010, -0.780615503553211410, -0.780646753154848330, -0.780678000804868160, -0.780709246503192960, -0.780740490249744900, -0.780771732044445390, -0.780802971887216480, +-0.780834209777980240, -0.780865445716658390, -0.780896679703173220, -0.780927911737446130, -0.780959141819399180, -0.780990369948954770, -0.781021596126034060, -0.781052820350559340, +-0.781084042622452570, -0.781115262941636020, -0.781146481308031100, -0.781177697721559870, -0.781208912182144720, -0.781240124689706940, -0.781271335244168920, -0.781302543845452610, +-0.781333750493479860, -0.781364955188173060, -0.781396157929453490, -0.781427358717243670, -0.781458557551465650, -0.781489754432040940, -0.781520949358891940, -0.781552142331940480, +-0.781583333351108630, -0.781614522416318790, -0.781645709527492350, -0.781676894684551930, -0.781708077887419030, -0.781739259136015830, -0.781770438430264610, -0.781801615770087220, +-0.781832791155406050, -0.781863964586142710, -0.781895136062219390, -0.781926305583558470, -0.781957473150081570, -0.781988638761710990, -0.782019802418368880, -0.782050964119977100, +-0.782082123866458370, -0.782113281657733860, -0.782144437493726310, -0.782175591374357880, -0.782206743299550200, -0.782237893269225660, -0.782269041283306320, -0.782300187341714690, +-0.782331331444372390, -0.782362473591201700, -0.782393613782125130, -0.782424752017064180, -0.782455888295941480, -0.782487022618678970, -0.782518154985198940, -0.782549285395423790, +-0.782580413849275120, -0.782611540346675460, -0.782642664887547190, -0.782673787471811930, -0.782704908099392300, -0.782736026770210370, -0.782767143484188410, -0.782798258241248820, +-0.782829371041313230, -0.782860481884304350, -0.782891590770144470, -0.782922697698755330, -0.782953802670059540, -0.782984905683979160, -0.783016006740436810, -0.783047105839354110, +-0.783078202980653780, -0.783109298164258120, -0.783140391390088950, -0.783171482658068800, -0.783202571968119930, -0.783233659320164640, -0.783264744714125550, -0.783295828149924270, +-0.783326909627483410, -0.783357989146725610, -0.783389066707572470, -0.783420142309946720, -0.783451215953770540, -0.783482287638966430, -0.783513357365456800, -0.783544425133163580, +-0.783575490942009510, -0.783606554791916430, -0.783637616682806960, -0.783668676614603490, -0.783699734587228300, -0.783730790600604020, -0.783761844654652600, -0.783792896749296420, +-0.783823946884458440, -0.783854995060060180, -0.783886041276024460, -0.783917085532273680, -0.783948127828730130, -0.783979168165316650, -0.784010206541954860, -0.784041242958567590, +-0.784072277415077460, -0.784103309911406420, -0.784134340447477100, -0.784165369023211880, -0.784196395638533490, -0.784227420293363900, -0.784258442987625810, -0.784289463721241750, +-0.784320482494133890, -0.784351499306224720, -0.784382514157436870, -0.784413527047692740, -0.784444537976914940, -0.784475546945025640, -0.784506553951947460, -0.784537558997603130, +-0.784568562081914720, -0.784599563204804840, -0.784630562366196100, -0.784661559566010910, -0.784692554804172100, -0.784723548080601630, -0.784754539395222220, -0.784785528747956820, +-0.784816516138727270, -0.784847501567456530, -0.784878485034066880, -0.784909466538481480, -0.784940446080621970, -0.784971423660411500, -0.785002399277772600, -0.785033372932627540, +-0.785064344624899050, -0.785095314354509630, -0.785126282121381910, -0.785157247925438840, -0.785188211766602250, -0.785219173644795210, -0.785250133559940560, -0.785281091511960240, +-0.785312047500777210, -0.785343001526314090, -0.785373953588493380, -0.785404903687238140, -0.785435851822470330, -0.785466797994113230, -0.785497742202088790, -0.785528684446319960, +-0.785559624726729470, -0.785590563043239930, -0.785621499395774300, -0.785652433784254530, -0.785683366208603800, -0.785714296668744820, -0.785745225164599880, -0.785776151696091940, +-0.785807076263143500, -0.785837998865677400, -0.785868919503616590, -0.785899838176883250, -0.785930754885400320, -0.785961669629090750, -0.785992582407876730, -0.786023493221681190, +-0.786054402070426980, -0.786085308954037050, -0.786116213872433580, -0.786147116825539500, -0.786178017813278010, -0.786208916835571150, -0.786239813892341990, -0.786270708983513260, +-0.786301602109007790, -0.786332493268748660, -0.786363382462657910, -0.786394269690658840, -0.786425154952674180, -0.786456038248626530, -0.786486919578438750, -0.786517798942033550, +-0.786548676339334010, -0.786579551770262950, -0.786610425234742780, -0.786641296732696560, -0.786672166264047350, -0.786703033828717420, -0.786733899426629970, -0.786764763057707710, +-0.786795624721873920, -0.786826484419050680, -0.786857342149161370, -0.786888197912128830, -0.786919051707875570, -0.786949903536324660, -0.786980753397399040, -0.787011601291021550, +-0.787042447217115250, -0.787073291175602650, -0.787104133166406710, -0.787134973189450800, -0.787165811244657120, -0.787196647331949050, -0.787227481451249210, -0.787258313602480770, +-0.787289143785566800, -0.787319972000429580, -0.787350798246992830, -0.787381622525178740, -0.787412444834910690, -0.787443265176111410, -0.787474083548704070, -0.787504899952611750, +-0.787535714387756940, -0.787566526854062810, -0.787597337351452650, -0.787628145879848860, -0.787658952439174610, -0.787689757029353180, -0.787720559650307180, -0.787751360301960140, +-0.787782158984234430, -0.787812955697053340, -0.787843750440340050, -0.787874543214017180, -0.787905334018008000, -0.787936122852235350, -0.787966909716622750, -0.787997694611092590, +-0.788028477535568150, -0.788059258489972940, -0.788090037474229230, -0.788120814488260320, -0.788151589531989490, -0.788182362605339690, -0.788213133708234200, -0.788243902840595640, +-0.788274670002347300, -0.788305435193412560, -0.788336198413713940, -0.788366959663174830, -0.788397718941718400, -0.788428476249267600, -0.788459231585745820, -0.788489984951075810, +-0.788520736345181050, -0.788551485767984170, -0.788582233219408680, -0.788612978699377520, -0.788643722207813870, -0.788674463744641230, -0.788705203309782220, -0.788735940903160130, +-0.788766676524698450, -0.788797410174319920, -0.788828141851947720, -0.788858871557505230, -0.788889599290915510, -0.788920325052102190, -0.788951048840987660, -0.788981770657495530, +-0.789012490501549310, -0.789043208373071630, -0.789073924271985750, -0.789104638198215190, -0.789135350151683350, -0.789166060132312720, -0.789196768140027040, -0.789227474174749700, +-0.789258178236403320, -0.789288880324911620, -0.789319580440197680, -0.789350278582184760, -0.789380974750796380, -0.789411668945955380, -0.789442361167585150, -0.789473051415609310, +-0.789503739689950580, -0.789534425990532470, -0.789565110317278270, -0.789595792670111370, -0.789626473048955280, -0.789657151453732610, -0.789687827884367200, -0.789718502340782450, +-0.789749174822901080, -0.789779845330646930, -0.789810513863943080, -0.789841180422713230, -0.789871845006880120, -0.789902507616367380, -0.789933168251098720, -0.789963826910996870, +-0.789994483595985340, -0.790025138305987750, -0.790055791040927160, -0.790086441800727510, -0.790117090585311430, -0.790147737394602650, -0.790178382228524660, -0.790209025087000640, +-0.790239665969953880, -0.790270304877308090, -0.790300941808986470, -0.790331576764912840, -0.790362209745009920, -0.790392840749201800, -0.790423469777411290, -0.790454096829562030, +-0.790484721905577610, -0.790515345005381450, -0.790545966128897050, -0.790576585276047570, -0.790607202446756530, -0.790637817640947870, -0.790668430858544320, -0.790699042099469730, +-0.790729651363647480, -0.790760258651001190, -0.790790863961454480, -0.790821467294930300, -0.790852068651352490, -0.790882668030644780, -0.790913265432730110, -0.790943860857532320, +-0.790974454304974820, -0.791005045774981540, -0.791035635267475330, -0.791066222782380040, -0.791096808319619370, -0.791127391879116510, -0.791157973460795190, -0.791188553064578910, +-0.791219130690391180, -0.791249706338155940, -0.791280280007796270, -0.791310851699235760, -0.791341421412398380, -0.791371989147207300, -0.791402554903586130, -0.791433118681458600, +-0.791463680480748330, -0.791494240301379050, -0.791524798143274030, -0.791555354006356900, -0.791585907890551720, -0.791616459795781440, -0.791647009721970000, -0.791677557669041130, +-0.791708103636918570, -0.791738647625525480, -0.791769189634785820, -0.791799729664623310, -0.791830267714961340, -0.791860803785723650, -0.791891337876833970, -0.791921869988216010, +-0.791952400119793510, -0.791982928271489860, -0.792013454443228900, -0.792043978634934480, -0.792074500846529860, -0.792105021077939010, -0.792135539329085650, -0.792166055599893390, +-0.792196569890286310, -0.792227082200187450, -0.792257592529521220, -0.792288100878210780, -0.792318607246179970, -0.792349111633352750, -0.792379614039652740, -0.792410114465003870, +-0.792440612909329540, -0.792471109372553610, -0.792501603854600220, -0.792532096355392570, -0.792562586874854590, -0.792593075412910240, -0.792623561969483140, -0.792654046544497450, +-0.792684529137876350, -0.792715009749543900, -0.792745488379424270, -0.792775965027440630, -0.792806439693517050, -0.792836912377577360, -0.792867383079545630, -0.792897851799345240, +-0.792928318536900270, -0.792958783292134650, -0.792989246064971900, -0.793019706855335960, -0.793050165663150790, -0.793080622488340210, -0.793111077330828310, -0.793141530190538460, +-0.793171981067394840, -0.793202429961321510, -0.793232876872241750, -0.793263321800079860, -0.793293764744759770, -0.793324205706205100, -0.793354644684340250, -0.793385081679088610, +-0.793415516690374130, -0.793445949718121210, -0.793476380762253130, -0.793506809822694060, -0.793537236899368060, -0.793567661992199080, -0.793598085101110850, -0.793628506226027320, +-0.793658925366872770, -0.793689342523570710, -0.793719757696045190, -0.793750170884220290, -0.793780582088020050, -0.793810991307368650, -0.793841398542189380, -0.793871803792406630, +-0.793902207057944790, -0.793932608338727030, -0.793963007634677750, -0.793993404945721020, -0.794023800271780660, -0.794054193612781180, -0.794084584968645870, -0.794114974339299450, +-0.794145361724665320, -0.794175747124667760, -0.794206130539230730, -0.794236511968278490, -0.794266891411735230, -0.794297268869524450, -0.794327644341570550, -0.794358017827797690, +-0.794388389328129610, -0.794418758842490580, -0.794449126370804560, -0.794479491912995830, -0.794509855468988560, -0.794540217038706480, -0.794570576622073750, -0.794600934219014900, +-0.794631289829453410, -0.794661643453313690, -0.794691995090519910, -0.794722344740996340, -0.794752692404666730, -0.794783038081455340, -0.794813381771286690, -0.794843723474084270, +-0.794874063189772500, -0.794904400918275630, -0.794934736659517640, -0.794965070413423240, -0.794995402179915820, -0.795025731958919900, -0.795056059750359980, -0.795086385554159560, +-0.795116709370243150, -0.795147031198535030, -0.795177351038959260, -0.795207668891440460, -0.795237984755902240, -0.795268298632269000, -0.795298610520465350, -0.795328920420414810, +-0.795359228332041980, -0.795389534255271150, -0.795419838190026710, -0.795450140136232390, -0.795480440093812800, -0.795510738062692350, -0.795541034042794750, -0.795571328034044510, +-0.795601620036366030, -0.795631910049683480, -0.795662198073921470, -0.795692484109003620, -0.795722768154854650, -0.795753050211398970, -0.795783330278560410, -0.795813608356263470, +-0.795843884444432550, -0.795874158542991930, -0.795904430651866220, -0.795934700770979160, -0.795964968900255590, -0.795995235039619220, -0.796025499188994900, -0.796055761348306800, +-0.796086021517479310, -0.796116279696436950, -0.796146535885103760, -0.796176790083404140, -0.796207042291262820, -0.796237292508603640, -0.796267540735351220, -0.796297786971429940, +-0.796328031216764210, -0.796358273471278740, -0.796388513734897160, -0.796418752007544420, -0.796448988289145120, -0.796479222579623000, -0.796509454878902790, -0.796539685186908990, +-0.796569913503566210, -0.796600139828798400, -0.796630364162530190, -0.796660586504686410, -0.796690806855190890, -0.796721025213968370, -0.796751241580943240, -0.796781455956040000, +-0.796811668339183380, -0.796841878730297330, -0.796872087129306680, -0.796902293536135950, -0.796932497950709310, -0.796962700372951360, -0.796992900802786730, -0.797023099240139810, +-0.797053295684935330, -0.797083490137097450, -0.797113682596551130, -0.797143873063220210, -0.797174061537029740, -0.797204248017904020, -0.797234432505767750, -0.797264615000545680, +-0.797294795502161760, -0.797324974010540810, -0.797355150525607790, -0.797385325047286540, -0.797415497575502010, -0.797445668110178700, -0.797475836651241330, -0.797506003198614530, +-0.797536167752222580, -0.797566330311990090, -0.797596490877842010, -0.797626649449702520, -0.797656806027496450, -0.797686960611148300, -0.797717113200583030, -0.797747263795724690, +-0.797777412396498130, -0.797807559002828400, -0.797837703614639460, -0.797867846231856360, -0.797897986854403500, -0.797928125482205820, -0.797958262115187940, -0.797988396753274270, +-0.798018529396389510, -0.798048660044458740, -0.798078788697406120, -0.798108915355156380, -0.798139040017634470, -0.798169162684764900, -0.798199283356472720, -0.798229402032682110, +-0.798259518713317910, -0.798289633398305170, -0.798319746087568170, -0.798349856781031760, -0.798379965478620670, -0.798410072180260060, -0.798440176885873880, -0.798470279595387300, +-0.798500380308725280, -0.798530479025811980, -0.798560575746572580, -0.798590670470931690, -0.798620763198814140, -0.798650853930144900, -0.798680942664848350, -0.798711029402849440, +-0.798741114144073120, -0.798771196888443890, -0.798801277635886600, -0.798831356386326070, -0.798861433139687160, -0.798891507895895030, -0.798921580654873730, -0.798951651416548890, +-0.798981720180844570, -0.799011786947685930, -0.799041851716997820, -0.799071914488705070, -0.799101975262732860, -0.799132034039005460, -0.799162090817447930, -0.799192145597985460, +-0.799222198380542430, -0.799252249165043780, -0.799282297951414590, -0.799312344739579570, -0.799342389529464010, -0.799372432320992200, -0.799402473114089300, -0.799432511908680480, +-0.799462548704690130, -0.799492583502043440, -0.799522616300665230, -0.799552647100480800, -0.799582675901414520, -0.799612702703391460, -0.799642727506336910, -0.799672750310175370, +-0.799702771114831900, -0.799732789920231560, -0.799762806726299180, -0.799792821532960050, -0.799822834340138570, -0.799852845147760010, -0.799882853955749650, -0.799912860764031900, +-0.799942865572531910, -0.799972868381174870, -0.800002869189885610, -0.800032867998589410, -0.800062864807210780, -0.800092859615675000, -0.800122852423907460, -0.800152843231832330, +-0.800182832039375240, -0.800212818846461000, -0.800242803653014920, -0.800272786458961720, -0.800302767264226440, -0.800332746068734500, -0.800362722872410500, -0.800392697675179620, +-0.800422670476967020, -0.800452641277697770, -0.800482610077297150, -0.800512576875689770, -0.800542541672800920, -0.800572504468556100, -0.800602465262879590, -0.800632424055697010, +-0.800662380846933310, -0.800692335636513760, -0.800722288424363550, -0.800752239210407280, -0.800782187994570790, -0.800812134776778590, -0.800842079556955970, -0.800872022335028190, +-0.800901963110920320, -0.800931901884557870, -0.800961838655865450, -0.800991773424768240, -0.801021706191192060, -0.801051636955061210, -0.801081565716301400, -0.801111492474837590, +-0.801141417230595070, -0.801171339983499210, -0.801201260733474860, -0.801231179480447200, -0.801261096224341940, -0.801291010965083710, -0.801320923702597890, -0.801350834436809880, +-0.801380743167644960, -0.801410649895027860, -0.801440554618884190, -0.801470457339139350, -0.801500358055718180, -0.801530256768546170, -0.801560153477548390, -0.801590048182650340, +-0.801619940883777300, -0.801649831580854230, -0.801679720273806520, -0.801709606962559880, -0.801739491647038840, -0.801769374327169220, -0.801799255002876080, -0.801829133674084700, +-0.801859010340720930, -0.801888885002709270, -0.801918757659975450, -0.801948628312444960, -0.801978496960042640, -0.802008363602694010, -0.802038228240324560, -0.802068090872859800, +-0.802097951500224560, -0.802127810122344350, -0.802157666739145010, -0.802187521350551160, -0.802217373956488510, -0.802247224556882470, -0.802277073151658300, -0.802306919740741750, +-0.802336764324057650, -0.802366606901531610, -0.802396447473089360, -0.802426286038655730, -0.802456122598156350, -0.802485957151516600, -0.802515789698662110, -0.802545620239518250, +-0.802575448774010210, -0.802605275302063710, -0.802635099823603810, -0.802664922338556130, -0.802694742846846170, -0.802724561348399420, -0.802754377843141410, -0.802784192330997290, +-0.802814004811892580, -0.802843815285753220, -0.802873623752504040, -0.802903430212070780, -0.802933234664378940, -0.802963037109354020, -0.802992837546921740, -0.803022635977007180, +-0.803052432399535940, -0.803082226814433970, -0.803112019221626120, -0.803141809621038320, -0.803171598012595860, -0.803201384396224680, -0.803231168771849860, -0.803260951139397110, +-0.803290731498792150, -0.803320509849960170, -0.803350286192826890, -0.803380060527317920, -0.803409832853358760, -0.803439603170875370, -0.803469371479792580, -0.803499137780036450, +-0.803528902071532710, -0.803558664354206530, -0.803588424627983630, -0.803618182892789630, -0.803647939148550260, -0.803677693395191130, -0.803707445632637630, -0.803737195860815490, +-0.803766944079650660, -0.803796690289068310, -0.803826434488994050, -0.803856176679353720, -0.803885916860073270, -0.803915655031077760, -0.803945391192293140, -0.803975125343645350, +-0.804004857485059340, -0.804034587616461290, -0.804064315737776700, -0.804094041848931410, -0.804123765949851130, -0.804153488040461270, -0.804183208120687780, -0.804212926190456370, +-0.804242642249692440, -0.804272356298321940, -0.804302068336270600, -0.804331778363463920, -0.804361486379828180, -0.804391192385288440, -0.804420896379770990, -0.804450598363200990, +-0.804480298335504610, -0.804509996296607350, -0.804539692246435180, -0.804569386184914030, -0.804599078111969180, -0.804628768027526590, -0.804658455931512310, -0.804688141823851620, +-0.804717825704470700, -0.804747507573295050, -0.804777187430250730, -0.804806865275263790, -0.804836541108259310, -0.804866214929163440, -0.804895886737902360, -0.804925556534401340, +-0.804955224318586350, -0.804984890090383320, -0.805014553849718320, -0.805044215596516730, -0.805073875330704510, -0.805103533052207940, -0.805133188760952300, -0.805162842456863650, +-0.805192494139867820, -0.805222143809890880, -0.805251791466858770, -0.805281437110697000, -0.805311080741331510, -0.805340722358688700, -0.805370361962693740, -0.805399999553272910, +-0.805429635130352040, -0.805459268693857090, -0.805488900243714220, -0.805518529779848950, -0.805548157302187540, -0.805577782810655510, -0.805607406305178910, -0.805637027785683910, +-0.805666647252096360, -0.805696264704342300, -0.805725880142347470, -0.805755493566037930, -0.805785104975339840, -0.805814714370178710, -0.805844321750480930, -0.805873927116172230, +-0.805903530467178770, -0.805933131803426630, -0.805962731124841510, -0.805992328431349600, -0.806021923722877070, -0.806051516999349400, -0.806081108260693010, -0.806110697506833950, +-0.806140284737698280, -0.806169869953211600, -0.806199453153300330, -0.806229034337890730, -0.806258613506908190, -0.806288190660279120, -0.806317765797929690, -0.806347338919785720, +-0.806376910025773720, -0.806406479115819200, -0.806436046189848430, -0.806465611247787820, -0.806495174289562860, -0.806524735315100050, -0.806554294324325350, -0.806583851317165030, +-0.806613406293545280, -0.806642959253391690, -0.806672510196630780, -0.806702059123188820, -0.806731606032991430, -0.806761150925965010, -0.806790693802035830, -0.806820234661130060, +-0.806849773503173440, -0.806879310328092460, -0.806908845135813510, -0.806938377926262110, -0.806967908699364740, -0.806997437455047590, -0.807026964193236940, -0.807056488913859060, +-0.807086011616839680, -0.807115532302105310, -0.807145050969582440, -0.807174567619196590, -0.807204082250874370, -0.807233594864541940, -0.807263105460125470, -0.807292614037551590, +-0.807322120596745800, -0.807351625137635030, -0.807381127660144910, -0.807410628164202060, -0.807440126649732530, -0.807469623116662700, -0.807499117564919210, -0.807528609994427550, +-0.807558100405114330, -0.807587588796906180, -0.807617075169728800, -0.807646559523508720, -0.807676041858172210, -0.807705522173645550, -0.807735000469855470, -0.807764476746727580, +-0.807793951004188490, -0.807823423242164830, -0.807852893460582310, -0.807882361659367550, -0.807911827838446840, -0.807941291997746890, -0.807970754137193440, -0.808000214256713090, +-0.808029672356232460, -0.808059128435677400, -0.808088582494974510, -0.808118034534050180, -0.808147484552830810, -0.808176932551242900, -0.808206378529212510, -0.808235822486666030, +-0.808265264423530420, -0.808294704339731270, -0.808324142235195330, -0.808353578109849090, -0.808383011963618950, -0.808412443796431510, -0.808441873608212620, -0.808471301398889120, +-0.808500727168387720, -0.808530150916634050, -0.808559572643555160, -0.808588992349077220, -0.808618410033127180, -0.808647825695630760, -0.808677239336514810, -0.808706650955706040, +-0.808736060553130410, -0.808765468128714530, -0.808794873682385010, -0.808824277214068350, -0.808853678723691180, -0.808883078211179660, -0.808912475676460410, -0.808941871119460140, +-0.808971264540105040, -0.809000655938321710, -0.809030045314036880, -0.809059432667176730, -0.809088817997668410, -0.809118201305437770, -0.809147582590411860, -0.809176961852516640, +-0.809206339091679160, -0.809235714307825820, -0.809265087500883110, -0.809294458670777980, -0.809323827817436500, -0.809353194940785390, -0.809382560040751490, -0.809411923117261070, +-0.809441284170240750, -0.809470643199617260, -0.809500000205317090, -0.809529355187267320, -0.809558708145393770, -0.809588059079623500, -0.809617407989883350, -0.809646754876099380, +-0.809676099738198540, -0.809705442576107550, -0.809734783389753130, -0.809764122179061460, -0.809793458943959490, -0.809822793684374150, -0.809852126400231630, -0.809881457091458760, +-0.809910785757982250, -0.809940112399728740, -0.809969437016625160, -0.809998759608597800, -0.810028080175573590, -0.810057398717479390, -0.810086715234241360, -0.810116029725786670, +-0.810145342192041820, -0.810174652632933650, -0.810203961048389100, -0.810233267438334350, -0.810262571802696450, -0.810291874141402470, -0.810321174454378460, -0.810350472741551480, +-0.810379769002848360, -0.810409063238196170, -0.810438355447520960, -0.810467645630749800, -0.810496933787809960, -0.810526219918627390, -0.810555504023129370, -0.810584786101242520, +-0.810614066152893660, -0.810643344178009980, -0.810672620176517640, -0.810701894148343820, -0.810731166093415450, -0.810760436011658920, -0.810789703903001310, -0.810818969767369450, +-0.810848233604690160, -0.810877495414890510, -0.810906755197896900, -0.810936012953636600, -0.810965268682036110, -0.810994522383022390, -0.811023774056522370, -0.811053023702462910, +-0.811082271320771150, -0.811111516911373510, -0.811140760474197030, -0.811170002009168890, -0.811199241516215470, -0.811228478995263960, -0.811257714446241280, -0.811286947869074290, +-0.811316179263690260, -0.811345408630015470, -0.811374635967977210, -0.811403861277502520, -0.811433084558517930, -0.811462305810950690, -0.811491525034727660, -0.811520742229776100, +-0.811549957396022430, -0.811579170533393790, -0.811608381641817590, -0.811637590721220100, -0.811666797771528610, -0.811696002792670180, -0.811725205784571750, -0.811754406747160600, +-0.811783605680363120, -0.811812802584106600, -0.811841997458318420, -0.811871190302924870, -0.811900381117853450, -0.811929569903031000, -0.811958756658384680, -0.811987941383841670, +-0.812017124079328580, -0.812046304744772800, -0.812075483380101380, -0.812104659985240950, -0.812133834560119010, -0.812163007104662380, -0.812192177618798470, -0.812221346102453890, +-0.812250512555556030, -0.812279676978032050, -0.812308839369808690, -0.812337999730813220, -0.812367158060972700, -0.812396314360214310, -0.812425468628465320, -0.812454620865652570, +-0.812483771071703110, -0.812512919246544560, -0.812542065390103430, -0.812571209502307210, -0.812600351583082860, -0.812629491632357650, -0.812658629650058970, -0.812687765636113560, +-0.812716899590448900, -0.812746031512991740, -0.812775161403669570, -0.812804289262409440, -0.812833415089138530, -0.812862538883784350, -0.812891660646273720, -0.812920780376533700, +-0.812949898074492140, -0.812979013740075640, -0.813008127373211490, -0.813037238973827070, -0.813066348541849450, -0.813095456077206350, -0.813124561579824270, -0.813153665049630820, +-0.813182766486553520, -0.813211865890518970, -0.813240963261454790, -0.813270058599288140, -0.813299151903946640, -0.813328243175357010, -0.813357332413446880, -0.813386419618143510, +-0.813415504789373970, -0.813444587927065530, -0.813473669031145710, -0.813502748101541660, -0.813531825138181120, -0.813560900140990580, -0.813589973109897890, -0.813619044044830540, +-0.813648112945715370, -0.813677179812479780, -0.813706244645051370, -0.813735307443357200, -0.813764368207325120, -0.813793426936881840, -0.813822483631955310, -0.813851538292472250, +-0.813880590918360400, -0.813909641509547030, -0.813938690065959540, -0.813967736587525640, -0.813996781074172060, -0.814025823525826530, -0.814054863942416770, -0.814083902323869620, +-0.814112938670112580, -0.814141972981073270, -0.814171005256679070, -0.814200035496857600, -0.814229063701535690, -0.814258089870641190, -0.814287114004101810, -0.814316136101844280, +-0.814345156163796440, -0.814374174189885670, -0.814403190180039480, -0.814432204134185600, -0.814461216052250970, -0.814490225934163540, -0.814519233779850250, -0.814548239589238940, +-0.814577243362257010, -0.814606245098831950, -0.814635244798891490, -0.814664242462362690, -0.814693238089173380, -0.814722231679251170, -0.814751223232523030, -0.814780212748916990, +-0.814809200228360340, -0.814838185670780700, -0.814867169076105790, -0.814896150444262780, -0.814925129775179390, -0.814954107068783350, -0.814983082325001940, -0.815012055543762660, +-0.815041026724993340, -0.815069995868621720, -0.815098962974574850, -0.815127928042780560, -0.815156891073166690, -0.815185852065660300, -0.815214811020189330, -0.815243767936681300, +-0.815272722815063910, -0.815301675655264900, -0.815330626457211440, -0.815359575220831470, -0.815388521946052820, -0.815417466632802570, -0.815446409281008640, -0.815475349890598780, +-0.815504288461500470, -0.815533224993641670, -0.815562159486949660, -0.815591091941352380, -0.815620022356777220, -0.815648950733151910, -0.815677877070404290, -0.815706801368461960, +-0.815735723627252880, -0.815764643846704330, -0.815793562026744020, -0.815822478167300140, -0.815851392268299720, -0.815880304329670960, -0.815909214351341340, -0.815938122333238700, +-0.815967028275291110, -0.815995932177425500, -0.816024834039570270, -0.816053733861653030, -0.816082631643601290, -0.816111527385342980, -0.816140421086805850, -0.816169312747917930, +-0.816198202368606410, -0.816227089948799440, -0.816255975488424990, -0.816284858987410320, -0.816313740445683500, -0.816342619863172360, -0.816371497239804730, -0.816400372575508460, +-0.816429245870211150, -0.816458117123840640, -0.816486986336325100, -0.816515853507591930, -0.816544718637569060, -0.816573581726184330, -0.816602442773365690, -0.816631301779041310, +-0.816660158743138240, -0.816689013665584880, -0.816717866546309180, -0.816746717385238630, -0.816775566182301290, -0.816804412937425010, -0.816833257650537940, -0.816862100321567470, +-0.816890940950441790, -0.816919779537088940, -0.816948616081436430, -0.816977450583412310, -0.817006283042944650, -0.817035113459961270, -0.817063941834390350, -0.817092768166159390, +-0.817121592455196440, -0.817150414701429680, -0.817179234904786720, -0.817208053065195730, -0.817236869182584540, -0.817265683256881200, -0.817294495288013900, -0.817323305275910130, +-0.817352113220498280, -0.817380919121705960, -0.817409722979461240, -0.817438524793692390, -0.817467324564327140, -0.817496122291293760, -0.817524917974519870, -0.817553711613933750, +-0.817582503209463570, -0.817611292761036830, -0.817640080268581930, -0.817668865732026680, -0.817697649151299390, -0.817726430526328320, -0.817755209857040750, -0.817783987143365200, +-0.817812762385229930, -0.817841535582562560, -0.817870306735291370, -0.817899075843344310, -0.817927842906649880, -0.817956607925135580, -0.817985370898729800, -0.818014131827360820, +-0.818042890710956260, -0.818071647549444390, -0.818100402342753500, -0.818129155090811630, -0.818157905793546970, -0.818186654450887450, -0.818215401062761250, -0.818244145629096750, +-0.818272888149821690, -0.818301628624864330, -0.818330367054152960, -0.818359103437615750, -0.818387837775180980, -0.818416570066776260, -0.818445300312330200, -0.818474028511771200, +-0.818502754665026750, -0.818531478772025480, -0.818560200832695540, -0.818588920846965330, -0.818617638814762570, -0.818646354736015660, -0.818675068610653200, -0.818703780438602810, +-0.818732490219792890, -0.818761197954151810, -0.818789903641607750, -0.818818607282089110, -0.818847308875523710, -0.818876008421840050, -0.818904705920966650, -0.818933401372831220, +-0.818962094777362370, -0.818990786134488170, -0.819019475444137000, -0.819048162706237480, -0.819076847920717220, -0.819105531087505170, -0.819134212206528930, -0.819162891277717240, +-0.819191568300998260, -0.819220243276300500, -0.819248916203552220, -0.819277587082681500, -0.819306255913616830, -0.819334922696286720, -0.819363587430618990, -0.819392250116542380, +-0.819420910753985150, -0.819449569342875610, -0.819478225883142340, -0.819506880374713420, -0.819535532817517120, -0.819564183211482390, -0.819592831556536840, -0.819621477852609300, +-0.819650122099627950, -0.819678764297521620, -0.819707404446218150, -0.819736042545646140, -0.819764678595734320, -0.819793312596410530, -0.819821944547603380, -0.819850574449241480, +-0.819879202301253110, -0.819907828103566880, -0.819936451856110970, -0.819965073558813870, -0.819993693211604310, -0.820022310814410350, -0.820050926367160480, -0.820079539869783440, +-0.820108151322207490, -0.820136760724361480, -0.820165368076173240, -0.820193973377571610, -0.820222576628485190, -0.820251177828842160, -0.820279776978571240, -0.820308374077600820, +-0.820336969125859740, -0.820365562123275940, -0.820394153069778250, -0.820422741965295520, -0.820451328809755580, -0.820479913603087360, -0.820508496345219380, -0.820537077036080030, +-0.820565655675598360, -0.820594232263702320, -0.820622806800320630, -0.820651379285382230, -0.820679949718815080, -0.820708518100548120, -0.820737084430509740, -0.820765648708628780, +-0.820794210934833960, -0.820822771109053220, -0.820851329231215950, -0.820879885301250000, -0.820908439319084420, -0.820936991284647700, -0.820965541197868460, -0.820994089058675660, +-0.821022634866997450, -0.821051178622762560, -0.821079720325900040, -0.821108259976337960, -0.821136797574005150, -0.821165333118830440, -0.821193866610742340, -0.821222398049669790, +-0.821250927435541070, -0.821279454768285010, -0.821307980047830570, -0.821336503274106010, -0.821365024447040070, -0.821393543566561580, -0.821422060632599480, -0.821450575645082060, +-0.821479088603938150, -0.821507599509096800, -0.821536108360486180, -0.821564615158035250, -0.821593119901672830, -0.821621622591327540, -0.821650123226928540, -0.821678621808403900, +-0.821707118335682770, -0.821735612808694120, -0.821764105227366090, -0.821792595591627870, -0.821821083901408180, -0.821849570156635730, -0.821878054357239600, -0.821906536503148040, +-0.821935016594290250, -0.821963494630595040, -0.821991970611990920, -0.822020444538406950, -0.822048916409771730, -0.822077386226014560, -0.822105853987063600, -0.822134319692848110, +-0.822162783343297070, -0.822191244938338730, -0.822219704477902270, -0.822248161961916630, -0.822276617390310550, -0.822305070763013180, -0.822333522079952810, -0.822361971341058710, +-0.822390418546259940, -0.822418863695484890, -0.822447306788662620, -0.822475747825722190, -0.822504186806592320, -0.822532623731202170, -0.822561058599480250, -0.822589491411355960, +-0.822617922166757780, -0.822646350865614660, -0.822674777507855670, -0.822703202093409750, -0.822731624622206170, -0.822760045094173220, -0.822788463509240060, -0.822816879867336090, +-0.822845294168389700, -0.822873706412330040, -0.822902116599086080, -0.822930524728586850, -0.822958930800761550, -0.822987334815538650, -0.823015736772847450, -0.823044136672617220, +-0.823072534514776350, -0.823100930299254130, -0.823129324025979600, -0.823157715694881940, -0.823186105305889870, -0.823214492858932450, -0.823242878353939060, -0.823271261790838200, +-0.823299643169559170, -0.823328022490031120, -0.823356399752183000, -0.823384774955944090, -0.823413148101243000, -0.823441519188009010, -0.823469888216171510, -0.823498255185659000, +-0.823526620096400990, -0.823554982948326300, -0.823583343741364100, -0.823611702475443910, -0.823640059150494210, -0.823668413766444620, -0.823696766323223640, -0.823725116820760880, +-0.823753465258985180, -0.823781811637825930, -0.823810155957212410, -0.823838498217073110, -0.823866838417337650, -0.823895176557935430, -0.823923512638794930, -0.823951846659845670, +-0.823980178621016800, -0.824008508522237500, -0.824036836363437160, -0.824065162144544390, -0.824093485865488810, -0.824121807526199790, -0.824150127126605960, -0.824178444666636810, +-0.824206760146221520, -0.824235073565289690, -0.824263384923769830, -0.824291694221591540, -0.824320001458684230, -0.824348306634976710, -0.824376609750398390, -0.824404910804878540, +-0.824433209798346440, -0.824461506730731600, -0.824489801601962610, -0.824518094411969330, -0.824546385160680910, -0.824574673848026300, -0.824602960473935000, -0.824631245038336290, +-0.824659527541159560, -0.824687807982334210, -0.824716086361789060, -0.824744362679453720, -0.824772636935257710, -0.824800909129129840, -0.824829179260999750, -0.824857447330796690, +-0.824885713338450290, -0.824913977283889270, -0.824942239167043350, -0.824970498987842140, -0.824998756746214370, -0.825027012442089650, -0.825055266075397480, -0.825083517646067240, +-0.825111767154028340, -0.825140014599209710, -0.825168259981541200, -0.825196503300952180, -0.825224744557371710, -0.825252983750729310, -0.825281220880954570, -0.825309455947976670, +-0.825337688951725430, -0.825365919892129710, -0.825394148769119430, -0.825422375582623440, -0.825450600332571670, -0.825478823018893300, -0.825507043641517950, -0.825535262200375100, +-0.825563478695394040, -0.825591693126504160, -0.825619905493635290, -0.825648115796716490, -0.825676324035677260, -0.825704530210447320, -0.825732734320956060, -0.825760936367133210, +-0.825789136348907830, -0.825817334266209510, -0.825845530118968110, -0.825873723907112670, -0.825901915630572910, -0.825930105289278350, -0.825958292883158810, -0.825986478412143230, +-0.826014661876161460, -0.826042843275143320, -0.826071022609017880, -0.826099199877714850, -0.826127375081163740, -0.826155548219294270, -0.826183719292036160, -0.826211888299318460, +-0.826240055241071140, -0.826268220117223780, -0.826296382927705800, -0.826324543672446680, -0.826352702351376370, -0.826380858964424150, -0.826409013511520190, -0.826437165992593310, +-0.826465316407573590, -0.826493464756390850, -0.826521611038974150, -0.826549755255253430, -0.826577897405158300, -0.826606037488618720, -0.826634175505563840, -0.826662311455923390, +-0.826690445339627540, -0.826718577156605240, -0.826746706906786530, -0.826774834590101040, -0.826802960206478480, -0.826831083755848790, -0.826859205238141160, -0.826887324653285400, +-0.826915442001211700, -0.826943557281849100, -0.826971670495127540, -0.826999781640976870, -0.827027890719326810, -0.827055997730107180, -0.827084102673247390, -0.827112205548677480, +-0.827140306356326850, -0.827168405096125550, -0.827196501768003080, -0.827224596371889500, -0.827252688907714640, -0.827280779375407670, -0.827308867774898870, -0.827336954106118180, +-0.827365038368994780, -0.827393120563458930, -0.827421200689440140, -0.827449278746868360, -0.827477354735673630, -0.827505428655785360, -0.827533500507133370, -0.827561570289648050, +-0.827589638003258350, -0.827617703647894780, -0.827645767223486820, -0.827673828729964640, -0.827701888167257760, -0.827729945535296110, -0.827758000834009850, -0.827786054063328280, +-0.827814105223181660, -0.827842154313499720, -0.827870201334212520, -0.827898246285249880, -0.827926289166541540, -0.827954329978017320, -0.827982368719607620, -0.828010405391241820, +-0.828038439992849870, -0.828066472524361830, -0.828094502985707640, -0.828122531376817460, -0.828150557697620690, -0.828178581948047610, -0.828206604128028270, -0.828234624237492060, +-0.828262642276369480, -0.828290658244590140, -0.828318672142084430, -0.828346683968781860, -0.828374693724612590, -0.828402701409506780, -0.828430707023393940, -0.828458710566204350, +-0.828486712037868060, -0.828514711438314900, -0.828542708767475160, -0.828570704025278550, -0.828598697211655130, -0.828626688326535190, -0.828654677369848210, -0.828682664341524710, +-0.828710649241494400, -0.828738632069687560, -0.828766612826034250, -0.828794591510464310, -0.828822568122908110, -0.828850542663295160, -0.828878515131555970, -0.828906485527620470, +-0.828934453851418730, -0.828962420102881010, -0.828990384281937160, -0.829018346388517240, -0.829046306422551730, -0.829074264383970250, -0.829102220272703080, -0.829130174088680280, +-0.829158125831832130, -0.829186075502088890, -0.829214023099380300, -0.829241968623636530, -0.829269912074788170, -0.829297853452764630, -0.829325792757496630, -0.829353729988914100, +-0.829381665146947440, -0.829409598231526490, -0.829437529242581410, -0.829465458180042800, -0.829493385043840290, -0.829521309833904370, -0.829549232550165110, -0.829577153192552870, +-0.829605071760997960, -0.829632988255430080, -0.829660902675779740, -0.829688815021977330, -0.829716725293952680, -0.829744633491636300, -0.829772539614958230, -0.829800443663848860, +-0.829828345638238600, -0.829856245538057260, -0.829884143363235350, -0.829912039113703260, -0.829939932789390820, -0.829967824390228540, -0.829995713916146790, -0.830023601367075870, +-0.830051486742945820, -0.830079370043686930, -0.830107251269230020, -0.830135130419504600, -0.830163007494441390, -0.830190882493970770, -0.830218755418022810, -0.830246626266528230, +-0.830274495039416860, -0.830302361736619310, -0.830330226358066080, -0.830358088903686900, -0.830385949373412590, -0.830413807767173440, -0.830441664084899720, -0.830469518326522160, +-0.830497370491970480, -0.830525220581175730, -0.830553068594067520, -0.830580914530576810, -0.830608758390633750, -0.830636600174168740, -0.830664439881112490, -0.830692277511394960, +-0.830720113064946640, -0.830747946541698370, -0.830775777941579970, -0.830803607264522070, -0.830831434510455270, -0.830859259679309740, -0.830887082771016420, -0.830914903785505030, +-0.830942722722706420, -0.830970539582551290, -0.830998354364969600, -0.831026167069891960, -0.831053977697248980, -0.831081786246971270, -0.831109592718988770, -0.831137397113232310, +-0.831165199429632630, -0.831192999668119770, -0.831220797828624350, -0.831248593911076970, -0.831276387915408030, -0.831304179841548360, -0.831331969689428130, -0.831359757458977830, +-0.831387543150128530, -0.831415326762810050, -0.831443108296953230, -0.831470887752488670, -0.831498665129346890, -0.831526440427458600, -0.831554213646754080, -0.831581984787164270, +-0.831609753848619130, -0.831637520831049800, -0.831665285734386470, -0.831693048558560080, -0.831720809303501230, -0.831748567969140100, -0.831776324555407620, -0.831804079062234520, +-0.831831831489551090, -0.831859581837287920, -0.831887330105375860, -0.831915076293745500, -0.831942820402327700, -0.831970562431052500, -0.831998302379851060, -0.832026040248654010, +-0.832053776037391610, -0.832081509745994820, -0.832109241374394240, -0.832136970922520700, -0.832164698390304600, -0.832192423777676770, -0.832220147084568040, -0.832247868310908800, +-0.832275587456629770, -0.832303304521661900, -0.832331019505935690, -0.832358732409382180, -0.832386443231931560, -0.832414151973514870, -0.832441858634063060, -0.832469563213506400, +-0.832497265711775740, -0.832524966128802000, -0.832552664464515810, -0.832580360718848220, -0.832608054891729400, -0.832635746983090510, -0.832663436992862490, -0.832691124920975630, +-0.832718810767360980, -0.832746494531949380, -0.832774176214671650, -0.832801855815458290, -0.832829533334240260, -0.832857208770948710, -0.832884882125513810, -0.832912553397866740, +-0.832940222587938320, -0.832967889695659270, -0.832995554720960760, -0.833023217663773190, -0.833050878524027590, -0.833078537301654930, -0.833106193996585700, -0.833133848608751060, +-0.833161501138081740, -0.833189151584508680, -0.833216799947963050, -0.833244446228375120, -0.833272090425676290, -0.833299732539797060, -0.833327372570668360, -0.833355010518221360, +-0.833382646382386790, -0.833410280163095820, -0.833437911860279050, -0.833465541473867310, -0.833493169003792110, -0.833520794449983620, -0.833548417812373210, -0.833576039090891730, +-0.833603658285470230, -0.833631275396039760, -0.833658890422530830, -0.833686503364874710, -0.833714114223002570, -0.833741722996844900, -0.833769329686332990, -0.833796934291397670, +-0.833824536811970330, -0.833852137247981350, -0.833879735599362020, -0.833907331866043600, -0.833934926047956600, -0.833962518145032420, -0.833990108157201760, -0.834017696084395910, +-0.834045281926546030, -0.834072865683582740, -0.834100447355437310, -0.834128026942040910, -0.834155604443324260, -0.834183179859218640, -0.834210753189654990, -0.834238324434564580, +-0.834265893593878480, -0.834293460667527410, -0.834321025655442750, -0.834348588557555780, -0.834376149373797000, -0.834403708104097920, -0.834431264748389580, -0.834458819306603260, +-0.834486371778669690, -0.834513922164520140, -0.834541470464086110, -0.834569016677298100, -0.834596560804087620, -0.834624102844385710, -0.834651642798123540, -0.834679180665232500, +-0.834706716445643200, -0.834734250139287150, -0.834761781746095720, -0.834789311265999650, -0.834816838698930310, -0.834844364044818770, -0.834871887303596400, -0.834899408475194500, +-0.834926927559543900, -0.834954444556576190, -0.834981959466222110, -0.835009472288413160, -0.835036983023080490, -0.835064491670155400, -0.835091998229569370, -0.835119502701253010, +-0.835147005085137950, -0.835174505381155560, -0.835202003589236690, -0.835229499709312820, -0.835256993741315230, -0.835284485685175100, -0.835311975540824040, -0.835339463308192860, +-0.835366948987212980, -0.835394432577815870, -0.835421914079932600, -0.835449393493494450, -0.835476870818432800, -0.835504346054679160, -0.835531819202164570, -0.835559290260820320, +-0.835586759230578120, -0.835614226111368820, -0.835641690903123900, -0.835669153605774760, -0.835696614219252680, -0.835724072743489480, -0.835751529178415660, -0.835778983523963180, +-0.835806435780063420, -0.835833885946647310, -0.835861334023646490, -0.835888780010992320, -0.835916223908616200, -0.835943665716449850, -0.835971105434423990, -0.835998543062470350, +-0.836025978600520750, -0.836053412048505810, -0.836080843406357350, -0.836108272674006890, -0.836135699851385920, -0.836163124938425480, -0.836190547935057200, -0.836217968841212800, +-0.836245387656823210, -0.836272804381820170, -0.836300219016135160, -0.836327631559699580, -0.836355042012445150, -0.836382450374302920, -0.836409856645204510, -0.836437260825081740, +-0.836464662913865450, -0.836492062911487700, -0.836519460817879650, -0.836546856632973010, -0.836574250356699410, -0.836601641988990010, -0.836629031529776750, -0.836656418978990680, +-0.836683804336563530, -0.836711187602426800, -0.836738568776512200, -0.836765947858751360, -0.836793324849075540, -0.836820699747416240, -0.836848072553705520, -0.836875443267874330, +-0.836902811889854600, -0.836930178419577840, -0.836957542856975540, -0.836984905201979660, -0.837012265454521340, -0.837039623614532320, -0.837066979681944430, -0.837094333656688950, +-0.837121685538697590, -0.837149035327901970, -0.837176383024234030, -0.837203728627624930, -0.837231072138006520, -0.837258413555310610, -0.837285752879468490, -0.837313090110411880, +-0.837340425248072620, -0.837367758292382300, -0.837395089243272770, -0.837422418100675410, -0.837449744864521950, -0.837477069534744320, -0.837504392111273810, -0.837531712594042240, +-0.837559030982981460, -0.837586347278023060, -0.837613661479099100, -0.837640973586140760, -0.837668283599079850, -0.837695591517848560, -0.837722897342378150, -0.837750201072600340, +-0.837777502708447090, -0.837804802249850320, -0.837832099696741330, -0.837859395049052050, -0.837886688306714530, -0.837913979469660060, -0.837941268537820690, -0.837968555511128140, +-0.837995840389514140, -0.838023123172910830, -0.838050403861249400, -0.838077682454462010, -0.838104958952480610, -0.838132233355236680, -0.838159505662662060, -0.838186775874688710, +-0.838214043991248440, -0.838241310012273310, -0.838268573937694610, -0.838295835767444820, -0.838323095501455120, -0.838350353139657670, -0.838377608681984300, -0.838404862128367070, +-0.838432113478737810, -0.838459362733028010, -0.838486609891169850, -0.838513854953095380, -0.838541097918735990, -0.838568338788023950, -0.838595577560890980, -0.838622814237269140, +-0.838650048817090490, -0.838677281300286400, -0.838704511686789170, -0.838731739976530940, -0.838758966169443120, -0.838786190265457860, -0.838813412264507010, -0.838840632166523050, +-0.838867849971437150, -0.838895065679181710, -0.838922279289688770, -0.838949490802889940, -0.838976700218717400, -0.839003907537103080, -0.839031112757978930, -0.839058315881277330, +-0.839085516906929670, -0.839112715834868240, -0.839139912665025190, -0.839167107397332130, -0.839194300031721350, -0.839221490568124890, -0.839248679006474600, -0.839275865346702840, +-0.839303049588741250, -0.839330231732522190, -0.839357411777977400, -0.839384589725039040, -0.839411765573639170, -0.839438939323709940, -0.839466110975183640, -0.839493280527991770, +-0.839520447982066600, -0.839547613337340740, -0.839574776593745460, -0.839601937751213280, -0.839629096809676350, -0.839656253769066610, -0.839683408629316450, -0.839710561390357490, +-0.839737712052122220, -0.839764860614542810, -0.839792007077551080, -0.839819151441079330, -0.839846293705059700, -0.839873433869424590, -0.839900571934105610, -0.839927707899035260, +-0.839954841764145810, -0.839981973529369100, -0.840009103194637400, -0.840036230759882980, -0.840063356225037920, -0.840090479590034690, -0.840117600854805140, -0.840144720019281530, +-0.840171837083396380, -0.840198952047081280, -0.840226064910268970, -0.840253175672891370, -0.840280284334880890, -0.840307390896170010, -0.840334495356690250, -0.840361597716374310, +-0.840388697975154700, -0.840415796132963020, -0.840442892189731890, -0.840469986145393590, -0.840497077999880490, -0.840524167753124440, -0.840551255405058040, -0.840578340955613680, +-0.840605424404723190, -0.840632505752319180, -0.840659584998333930, -0.840686662142699710, -0.840713737185349030, -0.840740810126213820, -0.840767880965226590, -0.840794949702319940, +-0.840822016337425590, -0.840849080870476160, -0.840876143301404140, -0.840903203630141700, -0.840930261856621560, -0.840957317980775440, -0.840984372002536280, -0.841011423921836030, +-0.841038473738607180, -0.841065521452782020, -0.841092567064293250, -0.841119610573073160, -0.841146651979053920, -0.841173691282168010, -0.841200728482348060, -0.841227763579526000, +-0.841254796573634670, -0.841281827464606340, -0.841308856252373390, -0.841335882936868560, -0.841362907518023670, -0.841389929995771670, -0.841416950370045050, -0.841443968640775750, +-0.841470984807896620, -0.841497998871339910, -0.841525010831038260, -0.841552020686924360, -0.841579028438930180, -0.841606034086988640, -0.841633037631031700, -0.841660039070992290, +-0.841687038406802700, -0.841714035638395530, -0.841741030765703280, -0.841768023788658670, -0.841795014707194090, -0.841822003521241590, -0.841848990230734230, -0.841875974835604280, +-0.841902957335784460, -0.841929937731207280, -0.841956916021805450, -0.841983892207511020, -0.842010866288257160, -0.842037838263975940, -0.842064808134600050, -0.842091775900062120, +-0.842118741560294870, -0.842145705115230680, -0.842172666564802500, -0.842199625908942370, -0.842226583147583470, -0.842253538280657850, -0.842280491308098340, -0.842307442229837670, +-0.842334391045808430, -0.842361337755943350, -0.842388282360174710, -0.842415224858435670, -0.842442165250658290, -0.842469103536775510, -0.842496039716719940, -0.842522973790424290, +-0.842549905757821180, -0.842576835618843560, -0.842603763373423580, -0.842630689021494520, -0.842657612562988430, -0.842684533997838270, -0.842711453325976860, -0.842738370547336800, +-0.842765285661850830, -0.842792198669451880, -0.842819109570072110, -0.842846018363644920, -0.842872925050102360, -0.842899829629377480, -0.842926732101403120, -0.842953632466111880, +-0.842980530723436820, -0.843007426873310100, -0.843034320915665210, -0.843061212850434120, -0.843088102677550080, -0.843114990396945820, -0.843141876008553950, -0.843168759512307520, +-0.843195640908139370, -0.843222520195981980, -0.843249397375768430, -0.843276272447431200, -0.843303145410903230, -0.843330016266117370, -0.843356885013006540, -0.843383751651503480, +-0.843410616181541340, -0.843437478603052520, -0.843464338915969840, -0.843491197120226350, -0.843518053215754790, -0.843544907202488200, -0.843571759080359310, -0.843598608849301160, +-0.843625456509246360, -0.843652302060128090, -0.843679145501878950, -0.843705986834431760, -0.843732826057719710, -0.843759663171675610, -0.843786498176232410, -0.843813331071323060, +-0.843840161856880160, -0.843866990532837200, -0.843893817099126480, -0.843920641555681250, -0.843947463902434250, -0.843974284139318740, -0.844001102266267790, -0.844027918283213770, +-0.844054732190090200, -0.844081543986829550, -0.844108353673365120, -0.844135161249629730, -0.844161966715556430, -0.844188770071078290, -0.844215571316128340, -0.844242370450639320, +-0.844269167474544610, -0.844295962387776710, -0.844322755190268890, -0.844349545881954210, -0.844376334462765720, -0.844403120932636360, -0.844429905291499420, -0.844456687539287380, +-0.844483467675933960, -0.844510245701371680, -0.844537021615533680, -0.844563795418353250, -0.844590567109763210, -0.844617336689697070, -0.844644104158087330, -0.844670869514867580, +-0.844697632759970340, -0.844724393893329100, -0.844751152914876900, -0.844777909824546700, -0.844804664622271880, -0.844831417307985500, -0.844858167881620380, -0.844884916343110140, +-0.844911662692387270, -0.844938406929385270, -0.844965149054037300, -0.844991889066276540, -0.845018626966035910, -0.845045362753249040, -0.845072096427848640, -0.845098827989767880, +-0.845125557438940020, -0.845152284775298250, -0.845179009998775820, -0.845205733109305800, -0.845232454106821680, -0.845259172991256190, -0.845285889762543040, -0.845312604420614950, +-0.845339316965405320, -0.845366027396847410, -0.845392735714874390, -0.845419441919419530, -0.845446146010416340, -0.845472847987797650, -0.845499547851496950, -0.845526245601447180, +-0.845552941237581730, -0.845579634759834000, -0.845606326168137130, -0.845633015462424750, -0.845659702642629570, -0.845686387708685320, -0.845713070660524920, -0.845739751498081780, +-0.845766430221289390, -0.845793106830080800, -0.845819781324389510, -0.845846453704149010, -0.845873123969292040, -0.845899792119752640, -0.845926458155463410, -0.845953122076358090, +-0.845979783882369940, -0.846006443573432350, -0.846033101149478610, -0.846059756610442410, -0.846086409956256610, -0.846113061186854920, -0.846139710302170390, -0.846166357302136630, +-0.846193002186686920, -0.846219644955754750, -0.846246285609273620, -0.846272924147176590, -0.846299560569397480, -0.846326194875869240, -0.846352827066525590, -0.846379457141299810, +-0.846406085100125270, -0.846432710942935710, -0.846459334669664500, -0.846485956280244700, -0.846512575774610370, -0.846539193152694210, -0.846565808414430190, -0.846592421559751560, +-0.846619032588591950, -0.846645641500884950, -0.846672248296563620, -0.846698852975561910, -0.846725455537812870, -0.846752055983250100, -0.846778654311807210, -0.846805250523417710, +-0.846831844618015190, -0.846858436595533170, -0.846885026455904800, -0.846911614199064130, -0.846938199824944230, -0.846964783333478800, -0.846991364724601460, -0.847017943998245700, +-0.847044521154345030, -0.847071096192833270, -0.847097669113643590, -0.847124239916709930, -0.847150808601965450, -0.847177375169343990, -0.847203939618779160, -0.847230501950204330, +-0.847257062163553560, -0.847283620258759810, -0.847310176235757330, -0.847336730094479180, -0.847363281834859210, -0.847389831456831000, -0.847416378960328180, -0.847442924345284450, +-0.847469467611633660, -0.847496008759308970, -0.847522547788244540, -0.847549084698373420, -0.847575619489629560, -0.847602152161946790, -0.847628682715258490, -0.847655211149498600, +-0.847681737464600850, -0.847708261660498510, -0.847734783737125850, -0.847761303694415820, -0.847787821532302700, -0.847814337250719970, -0.847840850849601370, -0.847867362328880940, +-0.847893871688491840, -0.847920378928368250, -0.847946884048443540, -0.847973387048651550, -0.847999887928926110, -0.848026386689201050, -0.848052883329409870, -0.848079377849486840, +-0.848105870249365120, -0.848132360528978890, -0.848158848688261520, -0.848185334727147190, -0.848211818645569380, -0.848238300443462050, -0.848264780120759230, -0.848291257677394110, +-0.848317733113301160, -0.848344206428413680, -0.848370677622665600, -0.848397146695990980, -0.848423613648323420, -0.848450078479596750, -0.848476541189745140, -0.848503001778702080, +-0.848529460246401520, -0.848555916592777290, -0.848582370817763110, -0.848608822921293140, -0.848635272903300990, -0.848661720763720710, -0.848688166502486350, -0.848714610119531420, +-0.848741051614790190, -0.848767490988196040, -0.848793928239683140, -0.848820363369185430, -0.848846796376636850, -0.848873227261971450, -0.848899656025122850, -0.848926082666025210, +-0.848952507184612240, -0.848978929580818000, -0.849005349854576320, -0.849031768005821360, -0.849058184034486960, -0.849084597940507390, -0.849111009723816030, -0.849137419384347390, +-0.849163826922034960, -0.849190232336813010, -0.849216635628615490, -0.849243036797376340, -0.849269435843029610, -0.849295832765509460, -0.849322227564749840, -0.849348620240684250, +-0.849375010793247290, -0.849401399222372680, -0.849427785527994690, -0.849454169710047170, -0.849480551768464380, -0.849506931703180150, -0.849533309514128640, -0.849559685201243700, +-0.849586058764459580, -0.849612430203710360, -0.849638799518929950, -0.849665166710052660, -0.849691531777012620, -0.849717894719743460, -0.849744255538179890, -0.849770614232255420, +-0.849796970801904420, -0.849823325247060950, -0.849849677567659170, -0.849876027763633470, -0.849902375834917460, -0.849928721781445740, -0.849955065603152040, -0.849981407299970630, +-0.850007746871835670, -0.850034084318681330, -0.850060419640441770, -0.850086752837051480, -0.850113083908444090, -0.850139412854554080, -0.850165739675315390, -0.850192064370662410, +-0.850218386940529200, -0.850244707384850030, -0.850271025703559060, -0.850297341896590900, -0.850323655963878930, -0.850349967905358220, -0.850376277720962360, -0.850402585410625740, +-0.850428890974282650, -0.850455194411867340, -0.850481495723314330, -0.850507794908557320, -0.850534091967531050, -0.850560386900169330, -0.850586679706406560, -0.850612970386177230, +-0.850639258939415390, -0.850665545366055430, -0.850691829666031850, -0.850718111839278370, -0.850744391885729920, -0.850770669805320230, -0.850796945597983910, -0.850823219263655230, +-0.850849490802268460, -0.850875760213757990, -0.850902027498058320, -0.850928292655103610, -0.850954555684828030, -0.850980816587165960, -0.851007075362051780, -0.851033332009420000, +-0.851059586529204880, -0.851085838921341040, -0.851112089185762310, -0.851138337322403630, -0.851164583331198930, -0.851190827212082720, -0.851217068964989390, -0.851243308589853420, +-0.851269546086609210, -0.851295781455191360, -0.851322014695533810, -0.851348245807571510, -0.851374474791238290, -0.851400701646468970, -0.851426926373197830, -0.851453148971359370, +-0.851479369440888310, -0.851505587781718590, -0.851531803993785030, -0.851558018077021810, -0.851584230031363630, -0.851610439856744780, -0.851636647553099760, -0.851662853120363270, +-0.851689056558469830, -0.851715257867353470, -0.851741457046949260, -0.851767654097191130, -0.851793849018013920, -0.851820041809352000, -0.851846232471140000, -0.851872421003312510, +-0.851898607405804030, -0.851924791678548950, -0.851950973821482100, -0.851977153834537540, -0.852003331717650080, -0.852029507470754340, -0.852055681093784820, -0.852081852586676350, +-0.852108021949362970, -0.852134189181779860, -0.852160354283860940, -0.852186517255541180, -0.852212678096755050, -0.852238836807437390, -0.852264993387522480, -0.852291147836945370, +-0.852317300155640220, -0.852343450343541980, -0.852369598400584900, -0.852395744326703840, -0.852421888121833390, -0.852448029785908280, -0.852474169318863110, -0.852500306720632710, +-0.852526441991151460, -0.852552575130353980, -0.852578706138174990, -0.852604835014549310, -0.852630961759411440, -0.852657086372696220, -0.852683208854338570, -0.852709329204272560, +-0.852735447422433570, -0.852761563508755650, -0.852787677463173850, -0.852813789285622900, -0.852839898976037400, -0.852866006534352180, -0.852892111960502300, -0.852918215254421690, +-0.852944316416045960, -0.852970415445309050, -0.852996512342146240, -0.853022607106492030, -0.853048699738281350, -0.853074790237449250, -0.853100878603929800, -0.853126964837658490, +-0.853153048938569470, -0.853179130906597800, -0.853205210741678320, -0.853231288443745850, -0.853257364012735220, -0.853283437448581370, -0.853309508751218580, -0.853335577920582460, +-0.853361644956607050, -0.853387709859227410, -0.853413772628378700, -0.853439833263995420, -0.853465891766012620, -0.853491948134365350, -0.853518002368987890, -0.853544054469815740, +-0.853570104436783160, -0.853596152269825330, -0.853622197968877170, -0.853648241533873420, -0.853674282964749340, -0.853700322261439330, -0.853726359423878760, -0.853752394452002130, +-0.853778427345744380, -0.853804458105040690, -0.853830486729825750, -0.853856513220034640, -0.853882537575602510, -0.853908559796463740, -0.853934579882553830, -0.853960597833807180, +-0.853986613650159150, -0.854012627331544480, -0.854038638877898330, -0.854064648289155740, -0.854090655565251320, -0.854116660706120580, -0.854142663711697890, -0.854168664581918420, +-0.854194663316717450, -0.854220659916029800, -0.854246654379790420, -0.854272646707934790, -0.854298636900397200, -0.854324624957113250, -0.854350610878017450, -0.854376594663045270, +-0.854402576312131460, -0.854428555825211270, -0.854454533202219760, -0.854480508443092090, -0.854506481547762880, -0.854532452516167720, -0.854558421348241230, -0.854584388043918670, +-0.854610352603135110, -0.854636315025825710, -0.854662275311925730, -0.854688233461369910, -0.854714189474093610, -0.854740143350031680, -0.854766095089119380, -0.854792044691291890, +-0.854817992156484240, -0.854843937484631610, -0.854869880675669380, -0.854895821729532160, -0.854921760646155660, -0.854947697425474500, -0.854973632067424160, -0.854999564571939710, +-0.855025494938956410, -0.855051423168409320, -0.855077349260233820, -0.855103273214364860, -0.855129195030737810, -0.855155114709287620, -0.855181032249949680, -0.855206947652659030, +-0.855232860917351180, -0.855258772043961280, -0.855284681032424280, -0.855310587882675780, -0.855336492594650610, -0.855362395168284160, -0.855388295603511710, -0.855414193900268630, +-0.855440090058489980, -0.855465984078111360, -0.855491875959067620, -0.855517765701294230, -0.855543653304726370, -0.855569538769299310, -0.855595422094948430, -0.855621303281608900, +-0.855647182329216440, -0.855673059237705870, -0.855698934007012690, -0.855724806637072070, -0.855750677127819380, -0.855776545479190130, -0.855802411691119370, -0.855828275763542590, +-0.855854137696395400, -0.855879997489612630, -0.855905855143130110, -0.855931710656882670, -0.855957564030806030, -0.855983415264835350, -0.856009264358906230, -0.856035111312953960, +-0.856060956126914130, -0.856086798800721690, -0.856112639334312480, -0.856138477727621420, -0.856164313980584120, -0.856190148093136090, -0.856215980065212710, -0.856241809896749580, +-0.856267637587681650, -0.856293463137944970, -0.856319286547474360, -0.856345107816205430, -0.856370926944073910, -0.856396743931014950, -0.856422558776964160, -0.856448371481857150, +-0.856474182045629080, -0.856499990468215680, -0.856525796749552200, -0.856551600889574160, -0.856577402888217150, -0.856603202745416570, -0.856629000461108010, -0.856654796035227210, +-0.856680589467709310, -0.856706380758489820, -0.856732169907504340, -0.856757956914688480, -0.856783741779977740, -0.856809524503307610, -0.856835305084613810, -0.856861083523831610, +-0.856886859820896960, -0.856912633975744910, -0.856938405988311280, -0.856964175858531570, -0.856989943586341510, -0.857015709171676470, -0.857041472614472500, -0.857067233914664550, +-0.857092993072188780, -0.857118750086980240, -0.857144504958974980, -0.857170257688108280, -0.857196008274316080, -0.857221756717533980, -0.857247503017697370, -0.857273247174742070, +-0.857298989188603590, -0.857324729059217530, -0.857350466786519720, -0.857376202370445650, -0.857401935810931160, -0.857427667107912070, -0.857453396261323550, -0.857479123271101760, +-0.857504848137181860, -0.857530570859500020, -0.857556291437991610, -0.857582009872592480, -0.857607726163238330, -0.857633440309865210, -0.857659152312408080, -0.857684862170803420, +-0.857710569884986400, -0.857736275454892840, -0.857761978880458690, -0.857787680161619550, -0.857813379298311470, -0.857839076290469630, -0.857864771138030390, -0.857890463840929040, +-0.857916154399101520, -0.857941842812483530, -0.857967529081010930, -0.857993213204619630, -0.858018895183245480, -0.858044575016823850, -0.858070252705290910, -0.858095928248582270, +-0.858121601646633760, -0.858147272899381200, -0.858172942006760420, -0.858198608968707370, -0.858224273785158090, -0.858249936456047970, -0.858275596981312840, -0.858301255360888750, +-0.858326911594711530, -0.858352565682717010, -0.858378217624841120, -0.858403867421019820, -0.858429515071188700, -0.858455160575283930, -0.858480803933241110, -0.858506445144996300, +-0.858532084210485320, -0.858557721129644120, -0.858583355902408640, -0.858608988528715030, -0.858634619008498690, -0.858660247341695990, -0.858685873528242550, -0.858711497568074410, +-0.858737119461127410, -0.858762739207337700, -0.858788356806641340, -0.858813972258973930, -0.858839585564271760, -0.858865196722470410, -0.858890805733506070, -0.858916412597314660, +-0.858942017313832350, -0.858967619882994860, -0.858993220304738680, -0.859018818578999090, -0.859044414705712690, -0.859070008684815090, -0.859095600516242450, -0.859121190199930830, +-0.859146777735816270, -0.859172363123834710, -0.859197946363922440, -0.859223527456015160, -0.859249106400049150, -0.859274683195960230, -0.859300257843684690, -0.859325830343158350, +-0.859351400694317590, -0.859376968897098470, -0.859402534951436700, -0.859428098857268790, -0.859453660614530430, -0.859479220223157920, -0.859504777683087420, -0.859530332994254850, +-0.859555886156596620, -0.859581437170048760, -0.859606986034547100, -0.859632532750028270, -0.859658077316427850, -0.859683619733682240, -0.859709160001727590, -0.859734698120499960, +-0.859760234089935630, -0.859785767909970970, -0.859811299580541920, -0.859836829101584320, -0.859862356473034660, -0.859887881694829210, -0.859913404766903920, -0.859938925689195170, +-0.859964444461639330, -0.859989961084172250, -0.860015475556730300, -0.860040987879249540, -0.860066498051666350, -0.860092006073916890, -0.860117511945937440, -0.860143015667664160, +-0.860168517239033540, -0.860194016659981520, -0.860219513930444490, -0.860245009050358610, -0.860270502019660150, -0.860295992838285510, -0.860321481506170830, -0.860346968023252610, +-0.860372452389466800, -0.860397934604750110, -0.860423414669038380, -0.860448892582267980, -0.860474368344375520, -0.860499841955297050, -0.860525313414968960, -0.860550782723327860, +-0.860576249880309560, -0.860601714885850800, -0.860627177739887620, -0.860652638442356510, -0.860678096993193640, -0.860703553392335730, -0.860729007639718820, -0.860754459735279640, +-0.860779909678954120, -0.860805357470678990, -0.860830803110390290, -0.860856246598024620, -0.860881687933518270, -0.860907127116807720, -0.860932564147829480, -0.860957999026519700, +-0.860983431752815220, -0.861008862326651860, -0.861034290747966340, -0.861059717016695040, -0.861085141132774570, -0.861110563096141090, -0.861135982906731550, -0.861161400564481870, +-0.861186816069328790, -0.861212229421208560, -0.861237640620057700, -0.861263049665812690, -0.861288456558410130, -0.861313861297786310, -0.861339263883878160, -0.861364664316621840, +-0.861390062595953740, -0.861415458721810360, -0.861440852694128290, -0.861466244512844150, -0.861491634177894430, -0.861517021689215850, -0.861542407046744450, -0.861567790250417300, +-0.861593171300170440, -0.861618550195940580, -0.861643926937664450, -0.861669301525278430, -0.861694673958719130, -0.861720044237923480, -0.861745412362827420, -0.861770778333368010, +-0.861796142149481530, -0.861821503811104670, -0.861846863318174060, -0.861872220670626190, -0.861897575868398100, -0.861922928911425860, -0.861948279799646390, -0.861973628532996190, +-0.861998975111411770, -0.862024319534829940, -0.862049661803187320, -0.862075001916420610, -0.862100339874466550, -0.862125675677261390, -0.862151009324742310, -0.862176340816845470, +-0.862201670153507790, -0.862226997334666010, -0.862252322360256620, -0.862277645230216440, -0.862302965944482410, -0.862328284502990710, -0.862353600905678590, -0.862378915152482220, +-0.862404227243338430, -0.862429537178184270, -0.862454844956956120, -0.862480150579591150, -0.862505454046025630, -0.862530755356196610, -0.862556054510040470, -0.862581351507494270, +-0.862606646348494600, -0.862631939032978410, -0.862657229560882310, -0.862682517932143340, -0.862707804146697900, -0.862733088204483240, -0.862758370105435550, -0.862783649849491960, +-0.862808927436589210, -0.862834202866664120, -0.862859476139653860, -0.862884747255494580, -0.862910016214123670, -0.862935283015477510, -0.862960547659493150, -0.862985810146107420, +-0.863011070475257270, -0.863036328646879290, -0.863061584660910760, -0.863086838517288070, -0.863112090215948480, -0.863137339756828490, -0.863162587139865050, -0.863187832364995190, +-0.863213075432155860, -0.863238316341283670, -0.863263555092316000, -0.863288791685189240, -0.863314026119840650, -0.863339258396206840, -0.863364488514224870, -0.863389716473831670, +-0.863414942274964180, -0.863440165917559570, -0.863465387401554320, -0.863490606726885820, -0.863515823893490580, -0.863541038901305740, -0.863566251750268350, -0.863591462440315260, +-0.863616670971383620, -0.863641877343410470, -0.863667081556332430, -0.863692283610086880, -0.863717483504610420, -0.863742681239840220, -0.863767876815713320, -0.863793070232166780, +-0.863818261489137540, -0.863843450586562870, -0.863868637524379590, -0.863893822302524430, -0.863919004920934760, -0.863944185379547540, -0.863969363678299910, -0.863994539817128810, +-0.864019713795971640, -0.864044885614765000, -0.864070055273446270, -0.864095222771952280, -0.864120388110220180, -0.864145551288187150, -0.864170712305790120, -0.864195871162966480, +-0.864221027859653270, -0.864246182395787320, -0.864271334771306020, -0.864296484986146310, -0.864321633040245340, -0.864346778933540280, -0.864371922665968300, -0.864397064237466650, +-0.864422203647972180, -0.864447340897422480, -0.864472475985754050, -0.864497608912904610, -0.864522739678811100, -0.864547868283410680, -0.864572994726640620, -0.864598119008438300, +-0.864623241128740450, -0.864648361087484660, -0.864673478884607880, -0.864698594520047270, -0.864723707993740210, -0.864748819305623970, -0.864773928455635610, -0.864799035443712620, +-0.864824140269791930, -0.864849242933811050, -0.864874343435706790, -0.864899441775416670, -0.864924537952878050, -0.864949631968027990, -0.864974723820804090, -0.864999813511143190, +-0.865024901038983000, -0.865049986404260340, -0.865075069606912610, -0.865100150646877290, -0.865125229524091540, -0.865150306238492760, -0.865175380790018430, -0.865200453178605500, +-0.865225523404191570, -0.865250591466713570, -0.865275657366109120, -0.865300721102315600, -0.865325782675270270, -0.865350842084910420, -0.865375899331173760, -0.865400954413997230, +-0.865426007333318200, -0.865451058089074080, -0.865476106681202450, -0.865501153109640380, -0.865526197374325570, -0.865551239475195410, -0.865576279412186960, -0.865601317185238030, +-0.865626352794285570, -0.865651386239267180, -0.865676417520120370, -0.865701446636782500, -0.865726473589191080, -0.865751498377283710, -0.865776521000997330, -0.865801541460269770, +-0.865826559755038190, -0.865851575885240310, -0.865876589850813390, -0.865901601651695050, -0.865926611287822890, -0.865951618759134070, -0.865976624065566300, -0.866001627207056870, +-0.866026628183543260, -0.866051626994963190, -0.866076623641253930, -0.866101618122353200, -0.866126610438198610, -0.866151600588727310, -0.866176588573877140, -0.866201574393585360, +-0.866226558047789700, -0.866251539536427530, -0.866276518859436570, -0.866301496016754210, -0.866326471008318500, -0.866351443834066260, -0.866376414493935650, -0.866401382987863840, +-0.866426349315788550, -0.866451313477647370, -0.866476275473377910, -0.866501235302918000, -0.866526192966204810, -0.866551148463176270, -0.866576101793769760, -0.866601052957922890, +-0.866626001955573380, -0.866650948786658940, -0.866675893451117170, -0.866700835948885810, -0.866725776279902100, -0.866750714444104230, -0.866775650441429350, -0.866800584271815280, +-0.866825515935199850, -0.866850445431520570, -0.866875372760715250, -0.866900297922721610, -0.866925220917477260, -0.866950141744919690, -0.866975060404986730, -0.866999976897616100, +-0.867024891222745510, -0.867049803380312790, -0.867074713370255660, -0.867099621192511600, -0.867124526847018680, -0.867149430333714280, -0.867174331652536210, -0.867199230803422430, +-0.867224127786310530, -0.867249022601138230, -0.867273915247843700, -0.867298805726364090, -0.867323694036637670, -0.867348580178601950, -0.867373464152194630, -0.867398345957353660, +-0.867423225594016860, -0.867448103062122280, -0.867472978361607080, -0.867497851492409770, -0.867522722454467600, -0.867547591247718520, -0.867572457872100580, -0.867597322327551380, +-0.867622184614008970, -0.867647044731411300, -0.867671902679695850, -0.867696758458800790, -0.867721612068663610, -0.867746463509222470, -0.867771312780415080, -0.867796159882179400, +-0.867821004814453460, -0.867845847577175090, -0.867870688170281900, -0.867895526593712270, -0.867920362847403590, -0.867945196931294020, -0.867970028845321370, -0.867994858589423710, +-0.868019686163539190, -0.868044511567605090, -0.868069334801560010, -0.868094155865341440, -0.868118974758887330, -0.868143791482135940, -0.868168606035024990, -0.868193418417492540, +-0.868218228629476730, -0.868243036670915180, -0.868267842541746270, -0.868292646241907500, -0.868317447771337130, -0.868342247129973100, -0.868367044317753470, -0.868391839334616170, +-0.868416632180499580, -0.868441422855341430, -0.868466211359079420, -0.868490997691651940, -0.868515781852996940, -0.868540563843052560, -0.868565343661756640, -0.868590121309047670, +-0.868614896784863140, -0.868639670089141670, -0.868664441221820630, -0.868689210182838620, -0.868713976972133590, -0.868738741589643590, -0.868763504035306780, -0.868788264309061310, +-0.868813022410845020, -0.868837778340596500, -0.868862532098253150, -0.868887283683753560, -0.868912033097035800, -0.868936780338037900, -0.868961525406698240, -0.868986268302954560, +-0.869011009026745440, -0.869035747578008610, -0.869060483956682450, -0.869085218162705010, -0.869109950196014560, -0.869134680056549150, -0.869159407744247380, -0.869184133259046750, +-0.869208856600886090, -0.869233577769703000, -0.869258296765436090, -0.869283013588023290, -0.869307728237403100, -0.869332440713513450, -0.869357151016293070, -0.869381859145679450, +-0.869406565101611520, -0.869431268884026890, -0.869455970492864050, -0.869480669928061390, -0.869505367189556950, -0.869530062277289350, -0.869554755191196400, -0.869579445931216830, +-0.869604134497288350, -0.869628820889349560, -0.869653505107338630, -0.869678187151194050, -0.869702867020853980, -0.869727544716256910, -0.869752220237340890, -0.869776893584044420, +-0.869801564756305550, -0.869826233754062650, -0.869850900577254340, -0.869875565225818660, -0.869900227699694330, -0.869924887998819170, -0.869949546123132130, -0.869974202072570920, +-0.869998855847074150, -0.870023507446580300, -0.870048156871027660, -0.870072804120354700, -0.870097449194499940, -0.870122092093401190, -0.870146732816997610, -0.870171371365226930, +-0.870196007738027740, -0.870220641935338660, -0.870245273957097830, -0.870269903803243870, -0.870294531473715490, -0.870319156968450410, -0.870343780287387680, -0.870368401430465340, +-0.870393020397622010, -0.870417637188796060, -0.870442251803925980, -0.870466864242950610, -0.870491474505807770, -0.870516082592436510, -0.870540688502774770, -0.870565292236761380, +-0.870589893794334710, -0.870614493175433380, -0.870639090379995760, -0.870663685407960690, -0.870688278259266090, -0.870712868933851030, -0.870737457431653650, -0.870762043752612570, +-0.870786627896666390, -0.870811209863753710, -0.870835789653812920, -0.870860367266782840, -0.870884942702601970, -0.870909515961208470, -0.870934087042541160, -0.870958655946538650, +-0.870983222673139430, -0.871007787222282230, -0.871032349593905740, -0.871056909787948250, -0.871081467804348590, -0.871106023643045120, -0.871130577303976580, -0.871155128787081570, +-0.871179678092298680, -0.871204225219566750, -0.871228770168824380, -0.871253312940009850, -0.871277853533062310, -0.871302391947919920, -0.871326928184521510, -0.871351462242805800, +-0.871375994122711380, -0.871400523824177210, -0.871425051347141540, -0.871449576691543440, -0.871474099857321270, -0.871498620844413760, -0.871523139652759740, -0.871547656282297800, +-0.871572170732966780, -0.871596683004705610, -0.871621193097452450, -0.871645701011146470, -0.871670206745726150, -0.871694710301130220, -0.871719211677297490, -0.871743710874166800, +-0.871768207891676750, -0.871792702729766500, -0.871817195388374210, -0.871841685867439150, -0.871866174166899710, -0.871890660286694820, -0.871915144226763310, -0.871939625987043890, +-0.871964105567475610, -0.871988582967996860, -0.872013058188546910, -0.872037531229064020, -0.872062002089487360, -0.872086470769755650, -0.872110937269807820, -0.872135401589582580, +-0.872159863729019100, -0.872184323688055760, -0.872208781466631830, -0.872233237064685700, -0.872257690482156510, -0.872282141718983110, -0.872306590775104310, -0.872331037650458940, +-0.872355482344986390, -0.872379924858625030, -0.872404365191313590, -0.872428803342991330, -0.872453239313596970, -0.872477673103069670, -0.872502104711348040, -0.872526534138371450, +-0.872550961384078280, -0.872575386448407820, -0.872599809331298880, -0.872624230032690300, -0.872648648552521110, -0.872673064890730380, -0.872697479047256920, -0.872721891022040010, +-0.872746300815018140, -0.872770708426130800, -0.872795113855316380, -0.872819517102514260, -0.872843918167663380, -0.872868317050702560, -0.872892713751571290, -0.872917108270207960, +-0.872941500606552070, -0.872965890760542210, -0.872990278732117650, -0.873014664521217340, -0.873039048127780440, -0.873063429551745980, -0.873087808793053030, -0.873112185851640410, +-0.873136560727447500, -0.873160933420413010, -0.873185303930476220, -0.873209672257576060, -0.873234038401651810, -0.873258402362642410, -0.873282764140487220, -0.873307123735124980, +-0.873331481146495060, -0.873355836374536290, -0.873380189419187940, -0.873404540280389050, -0.873428888958078800, -0.873453235452196550, -0.873477579762681030, -0.873501921889471840, +-0.873526261832507590, -0.873550599591727650, -0.873574935167071190, -0.873599268558477360, -0.873623599765885440, -0.873647928789234810, -0.873672255628463960, -0.873696580283512820, +-0.873720902754320020, -0.873745223040824910, -0.873769541142966680, -0.873793857060684690, -0.873818170793917990, -0.873842482342606200, -0.873866791706688130, -0.873891098886102840, +-0.873915403880789810, -0.873939706690688320, -0.873964007315737530, -0.873988305755876720, -0.874012602011045360, -0.874036896081182290, -0.874061187966227230, -0.874085477666118880, +-0.874109765180796860, -0.874134050510200540, -0.874158333654268980, -0.874182614612941670, -0.874206893386157980, -0.874231169973856860, -0.874255444375978020, -0.874279716592460400, +-0.874303986623243490, -0.874328254468266560, -0.874352520127469000, -0.874376783600790410, -0.874401044888169610, -0.874425303989546320, -0.874449560904859700, -0.874473815634049130, +-0.874498068177054000, -0.874522318533813680, -0.874546566704267560, -0.874570812688355350, -0.874595056486015760, -0.874619298097188860, -0.874643537521813450, -0.874667774759829150, +-0.874692009811175450, -0.874716242675791730, -0.874740473353617490, -0.874764701844592100, -0.874788928148654830, -0.874813152265745520, -0.874837374195803100, -0.874861593938767170, +-0.874885811494577340, -0.874910026863172870, -0.874934240044493610, -0.874958451038478580, -0.874982659845067510, -0.875006866464199670, -0.875031070895814670, -0.875055273139851990, +-0.875079473196251120, -0.875103671064951570, -0.875127866745893050, -0.875152060239014600, -0.875176251544256270, -0.875200440661557110, -0.875224627590856840, -0.875248812332094950, +-0.875272994885211040, -0.875297175250144720, -0.875321353426835590, -0.875345529415223140, -0.875369703215246650, -0.875393874826845830, -0.875418044249960390, -0.875442211484529830, +-0.875466376530493750, -0.875490539387791870, -0.875514700056363560, -0.875538858536148660, -0.875563014827086320, -0.875587168929116480, -0.875611320842178740, -0.875635470566212710, +-0.875659618101158000, -0.875683763446954420, -0.875707906603541250, -0.875732047570858540, -0.875756186348845560, -0.875780322937442010, -0.875804457336587630, -0.875828589546222220, +-0.875852719566285520, -0.875876847396716780, -0.875900973037456070, -0.875925096488442860, -0.875949217749616760, -0.875973336820917710, -0.875997453702285320, -0.876021568393659190, +-0.876045680894979470, -0.876069791206185330, -0.876093899327216820, -0.876118005258013420, -0.876142108998515080, -0.876166210548661390, -0.876190309908392200, -0.876214407077647190, +-0.876238502056366440, -0.876262594844489100, -0.876286685441955650, -0.876310773848705150, -0.876334860064677760, -0.876358944089813190, -0.876383025924051260, -0.876407105567332030, +-0.876431183019594880, -0.876455258280779860, -0.876479331350826560, -0.876503402229674930, -0.876527470917264680, -0.876551537413535860, -0.876575601718428190, -0.876599663831881700, +-0.876623723753835900, -0.876647781484230950, -0.876671837023006330, -0.876695890370102090, -0.876719941525458180, -0.876743990489014410, -0.876768037260710840, -0.876792081840487070, +-0.876816124228283260, -0.876840164424038890, -0.876864202427694140, -0.876888238239188820, -0.876912271858462990, -0.876936303285456350, -0.876960332520109300, -0.876984359562361200, +-0.877008384412152340, -0.877032407069422320, -0.877056427534111280, -0.877080445806159180, -0.877104461885506060, -0.877128475772091630, -0.877152487465856390, -0.877176496966739610, +-0.877200504274681770, -0.877224509389622490, -0.877248512311502030, -0.877272513040260220, -0.877296511575837100, -0.877320507918172950, -0.877344502067207270, -0.877368494022880640, +-0.877392483785132460, -0.877416471353903100, -0.877440456729132620, -0.877464439910760950, -0.877488420898728140, -0.877512399692974570, -0.877536376293439720, -0.877560350700064220, +-0.877584322912787650, -0.877608292931550180, -0.877632260756291970, -0.877656226386953180, -0.877680189823473840, -0.877704151065794140, -0.877728110113853880, -0.877752066967593560, +-0.877776021626952900, -0.877799974091872160, -0.877823924362291510, -0.877847872438151100, -0.877871818319391100, -0.877895762005951430, -0.877919703497772490, -0.877943642794794200, +-0.877967579896956730, -0.877991514804200230, -0.878015447516464990, -0.878039378033691250, -0.878063306355819200, -0.878087232482788640, -0.878111156414540180, -0.878135078151013770, +-0.878158997692149560, -0.878182915037887810, -0.878206830188168810, -0.878230743142933030, -0.878254653902120100, -0.878278562465670710, -0.878302468833524810, -0.878326373005622660, +-0.878350274981904540, -0.878374174762310830, -0.878398072346781690, -0.878421967735257490, -0.878445860927678180, -0.878469751923984470, -0.878493640724116180, -0.878517527328013800, +-0.878541411735617510, -0.878565293946867780, -0.878589173961704770, -0.878613051780069100, -0.878636927401900470, -0.878660800827139820, -0.878684672055726980, -0.878708541087602430, +-0.878732407922706460, -0.878756272560979550, -0.878780135002362180, -0.878803995246794200, -0.878827853294216530, -0.878851709144568890, -0.878875562797792110, -0.878899414253826340, +-0.878923263512612070, -0.878947110574089590, -0.878970955438199590, -0.878994798104882010, -0.879018638574077580, -0.879042476845726450, -0.879066312919769000, -0.879090146796145830, +-0.879113978474797330, -0.879137807955663870, -0.879161635238686070, -0.879185460323804180, -0.879209283210958480, -0.879233103900089460, -0.879256922391137730, -0.879280738684043770, +-0.879304552778747860, -0.879328364675190930, -0.879352174373312700, -0.879375981873054320, -0.879399787174355850, -0.879423590277157770, -0.879447391181400810, -0.879471189887025330, +-0.879494986393971940, -0.879518780702181260, -0.879542572811593430, -0.879566362722149280, -0.879590150433789190, -0.879613935946453540, -0.879637719260083160, -0.879661500374618430, +-0.879685279290000180, -0.879709056006168550, -0.879732830523064500, -0.879756602840628180, -0.879780372958800290, -0.879804140877521460, -0.879827906596732270, -0.879851670116373330, +-0.879875431436385470, -0.879899190556708840, -0.879922947477284390, -0.879946702198052380, -0.879970454718953630, -0.879994205039928650, -0.880017953160918240, -0.880041699081862920, +-0.880065442802703600, -0.880089184323380460, -0.880112923643834530, -0.880136660764006100, -0.880160395683835970, -0.880184128403264990, -0.880207858922233520, -0.880231587240682730, +-0.880255313358552780, -0.880279037275784710, -0.880302758992318800, -0.880326478508095980, -0.880350195823057070, -0.880373910937142570, -0.880397623850293300, -0.880421334562450310, +-0.880445043073553650, -0.880468749383544580, -0.880492453492363490, -0.880516155399951210, -0.880539855106248550, -0.880563552611196340, -0.880587247914735190, -0.880610941016806150, +-0.880634631917349700, -0.880658320616306440, -0.880682007113617440, -0.880705691409223500, -0.880729373503065240, -0.880753053395083580, -0.880776731085219480, -0.880800406573413300, +-0.880824079859606310, -0.880847750943739020, -0.880871419825752230, -0.880895086505587010, -0.880918750983183950, -0.880942413258484100, -0.880966073331428400, -0.880989731201957340, +-0.881013386870012070, -0.881037040335533210, -0.881060691598461680, -0.881084340658738530, -0.881107987516304370, -0.881131632171100580, -0.881155274623067530, -0.881178914872146390, +-0.881202552918277760, -0.881226188761402800, -0.881249822401462430, -0.881273453838397390, -0.881297083072148710, -0.881320710102657670, -0.881344334929864530, -0.881367957553710780, +-0.881391577974136920, -0.881415196191084100, -0.881438812204493380, -0.881462426014305580, -0.881486037620461740, -0.881509647022902910, -0.881533254221569810, -0.881556859216403810, +-0.881580462007345520, -0.881604062594335990, -0.881627660977316260, -0.881651257156227500, -0.881674851131010740, -0.881698442901606590, -0.881722032467956550, -0.881745619830001330, +-0.881769204987681960, -0.881792787940939630, -0.881816368689715360, -0.881839947233950090, -0.881863523573585220, -0.881887097708561220, -0.881910669638819810, -0.881934239364301490, +-0.881957806884947510, -0.881981372200699170, -0.882004935311497260, -0.882028496217283080, -0.882052054917997760, -0.882075611413582370, -0.882099165703977840, -0.882122717789125210, +-0.882146267668965980, -0.882169815343440970, -0.882193360812491440, -0.882216904076058680, -0.882240445134083510, -0.882263983986507410, -0.882287520633271090, -0.882311055074316060, +-0.882334587309583360, -0.882358117339014150, -0.882381645162549690, -0.882405170780131360, -0.882428694191699890, -0.882452215397196760, -0.882475734396563020, -0.882499251189739930, +-0.882522765776668660, -0.882546278157290480, -0.882569788331546870, -0.882593296299378550, -0.882616802060727230, -0.882640305615533640, -0.882663806963739360, -0.882687306105285450, +-0.882710803040113400, -0.882734297768164260, -0.882757790289379620, -0.882781280603700310, -0.882804768711067940, -0.882828254611423450, -0.882851738304708420, -0.882875219790863920, +-0.882898699069831430, -0.882922176141552220, -0.882945651005967780, -0.882969123663018940, -0.882992594112647520, -0.883016062354794460, -0.883039528389401140, -0.883062992216409160, +-0.883086453835759570, -0.883109913247394070, -0.883133370451253620, -0.883156825447279910, -0.883180278235414010, -0.883203728815597280, -0.883227177187771330, -0.883250623351877430, +-0.883274067307856960, -0.883297509055651520, -0.883320948595202160, -0.883344385926450480, -0.883367821049337750, -0.883391253963805470, -0.883414684669795000, -0.883438113167247850, +-0.883461539456105620, -0.883484963536309340, -0.883508385407800860, -0.883531805070521200, -0.883555222524412100, -0.883578637769414920, -0.883602050805471050, -0.883625461632522090, +-0.883648870250509750, -0.883672276659374980, -0.883695680859059700, -0.883719082849505070, -0.883742482630652690, -0.883765880202444070, -0.883789275564820900, -0.883812668717724350, +-0.883836059661096460, -0.883859448394878180, -0.883882834919011540, -0.883906219233437480, -0.883929601338097950, -0.883952981232934420, -0.883976358917888390, -0.883999734392901690, +-0.884023107657915470, -0.884046478712871790, -0.884069847557711560, -0.884093214192376740, -0.884116578616808920, -0.884139940830949600, -0.884163300834740480, -0.884186658628123290, +-0.884210014211039290, -0.884233367583430410, -0.884256718745237920, -0.884280067696403550, -0.884303414436869110, -0.884326758966576200, -0.884350101285466210, -0.884373441393481290, +-0.884396779290562600, -0.884420114976652070, -0.884443448451691090, -0.884466779715621490, -0.884490108768384960, -0.884513435609923130, -0.884536760240177910, -0.884560082659090590, +-0.884583402866603310, -0.884606720862657350, -0.884630036647194420, -0.884653350220156560, -0.884676661581485280, -0.884699970731122280, -0.884723277669009600, -0.884746582395088630, +-0.884769884909301310, -0.884793185211589010, -0.884816483301893890, -0.884839779180157440, -0.884863072846321600, -0.884886364300328300, -0.884909653542118810, -0.884932940571635520, +-0.884956225388819570, -0.884979507993613020, -0.885002788385957810, -0.885026066565795520, -0.885049342533068220, -0.885072616287717610, -0.885095887829685290, -0.885119157158913540, +-0.885142424275343620, -0.885165689178917690, -0.885188951869577470, -0.885212212347264880, -0.885235470611921870, -0.885258726663490260, -0.885281980501911650, -0.885305232127128310, +-0.885328481539081720, -0.885351728737713950, -0.885374973722966810, -0.885398216494782230, -0.885421457053102270, -0.885444695397868520, -0.885467931529023260, -0.885491165446507860, +-0.885514397150264700, -0.885537626640235390, -0.885560853916362080, -0.885584078978586710, -0.885607301826851320, -0.885630522461097410, -0.885653740881267360, -0.885676957087302870, +-0.885700171079145890, -0.885723382856738570, -0.885746592420022740, -0.885769799768940440, -0.885793004903433820, -0.885816207823444720, -0.885839408528914960, -0.885862607019786590, +-0.885885803296001750, -0.885908997357502390, -0.885932189204230450, -0.885955378836128400, -0.885978566253137640, -0.886001751455200550, -0.886024934442259050, -0.886048115214255080, +-0.886071293771130920, -0.886094470112828490, -0.886117644239289850, -0.886140816150457370, -0.886163985846272540, -0.886187153326678080, -0.886210318591615480, -0.886233481641027110, +-0.886256642474854920, -0.886279801093041280, -0.886302957495528230, -0.886326111682257610, -0.886349263653171900, -0.886372413408212930, -0.886395560947322860, -0.886418706270443830, +-0.886441849377518130, -0.886464990268487680, -0.886488128943295100, -0.886511265401881960, -0.886534399644190780, -0.886557531670163490, -0.886580661479742350, -0.886603789072869520, +-0.886626914449487270, -0.886650037609537640, -0.886673158552963250, -0.886696277279705680, -0.886719393789707540, -0.886742508082910890, -0.886765620159257860, -0.886788730018690850, +-0.886811837661151900, -0.886834943086583620, -0.886858046294927820, -0.886881147286127100, -0.886904246060123300, -0.886927342616858900, -0.886950436956276070, -0.886973529078317170, +-0.886996618982924480, -0.887019706670040490, -0.887042792139607020, -0.887065875391566670, -0.887088956425861500, -0.887112035242433980, -0.887135111841226290, -0.887158186222180900, +-0.887181258385239980, -0.887204328330346130, -0.887227396057441500, -0.887250461566468140, -0.887273524857368550, -0.887296585930085310, -0.887319644784560490, -0.887342701420736570, +-0.887365755838556150, -0.887388808037961050, -0.887411858018894220, -0.887434905781297580, -0.887457951325113630, -0.887480994650284740, -0.887504035756753410, -0.887527074644462010, +-0.887550111313353040, -0.887573145763368650, -0.887596177994451670, -0.887619208006543920, -0.887642235799588230, -0.887665261373526970, -0.887688284728302520, -0.887711305863857490, +-0.887734324780134140, -0.887757341477075080, -0.887780355954622460, -0.887803368212718990, -0.887826378251307060, -0.887849386070329260, -0.887872391669727980, -0.887895395049445810, +-0.887918396209425030, -0.887941395149608460, -0.887964391869938250, -0.887987386370357010, -0.888010378650807340, -0.888033368711231620, -0.888056356551572560, -0.888079342171772870, +-0.888102325571774490, -0.888125306751520570, -0.888148285710953170, -0.888171262450015100, -0.888194236968648850, -0.888217209266796930, -0.888240179344402250, -0.888263147201406980, +-0.888286112837753940, -0.888309076253385510, -0.888332037448244290, -0.888354996422273110, -0.888377953175414350, -0.888400907707610710, -0.888423860018805020, -0.888446810108939440, +-0.888469757977957130, -0.888492703625800130, -0.888515647052411370, -0.888538588257733570, -0.888561527241709230, -0.888584464004281150, -0.888607398545392060, -0.888630330864984440, +-0.888653260963000790, -0.888676188839384040, -0.888699114494076790, -0.888722037927021760, -0.888744959138161650, -0.888767878127439290, -0.888790794894797180, -0.888813709440178120, +-0.888836621763524630, -0.888859531864779620, -0.888882439743885810, -0.888905345400785810, -0.888928248835422540, -0.888951150047738840, -0.888974049037676960, -0.888996945805180290, +-0.889019840350190990, -0.889042732672651990, -0.889065622772506340, -0.889088510649696520, -0.889111396304165690, -0.889134279735856130, -0.889157160944711090, -0.889180039930672960, +-0.889202916693684680, -0.889225791233689170, -0.889248663550629040, -0.889271533644447440, -0.889294401515087100, -0.889317267162490600, -0.889340130586601110, -0.889362991787361110, +-0.889385850764713550, -0.889408707518601460, -0.889431562048967560, -0.889454414355754790, -0.889477264438906180, -0.889500112298364230, -0.889522957934072100, -0.889545801345972500, +-0.889568642534008360, -0.889591481498122500, -0.889614318238258090, -0.889637152754358060, -0.889659985046364900, -0.889682815114221980, -0.889705642957871800, -0.889728468577257510, +-0.889751291972322170, -0.889774113143008470, -0.889796932089259580, -0.889819748811018440, -0.889842563308227860, -0.889865375580831010, -0.889888185628770480, -0.889910993451989540, +-0.889933799050431130, -0.889956602424038180, -0.889979403572753740, -0.890002202496521070, -0.890024999195282770, -0.890047793668981790, -0.890070585917561390, -0.890093375940964490, +-0.890116163739134160, -0.890138949312013430, -0.890161732659545460, -0.890184513781673070, -0.890207292678339530, -0.890230069349487560, -0.890252843795060420, -0.890275616015001160, +-0.890298386009252930, -0.890321153777758670, -0.890343919320461750, -0.890366682637304780, -0.890389443728231370, -0.890412202593184100, -0.890434959232106360, -0.890457713644941200, +-0.890480465831631760, -0.890503215792121440, -0.890525963526352720, -0.890548709034269410, -0.890571452315814140, -0.890594193370930150, -0.890616932199560730, -0.890639668801648910, +-0.890662403177138070, -0.890685135325971270, -0.890707865248091530, -0.890730592943442260, -0.890753318411966370, -0.890776041653607130, -0.890798762668307820, -0.890821481456011590, +-0.890844198016661700, -0.890866912350201430, -0.890889624456573710, -0.890912334335722140, -0.890935041987589550, -0.890957747412119420, -0.890980450609254790, -0.891003151578939170, +-0.891025850321115700, -0.891048546835727540, -0.891071241122718180, -0.891093933182030450, -0.891116623013607940, -0.891139310617393930, -0.891161995993331570, -0.891184679141364230, +-0.891207360061435420, -0.891230038753488050, -0.891252715217465740, -0.891275389453311420, -0.891298061460968570, -0.891320731240380690, -0.891343398791490940, -0.891366064114242910, +-0.891388727208579420, -0.891411388074444420, -0.891434046711780730, -0.891456703120531820, -0.891479357300641320, -0.891502009252052360, -0.891524658974708340, -0.891547306468552850, +-0.891569951733528930, -0.891592594769580420, -0.891615235576650120, -0.891637874154681760, -0.891660510503618720, -0.891683144623404370, -0.891705776513982200, -0.891728406175295810, +-0.891751033607288130, -0.891773658809903110, -0.891796281783083790, -0.891818902526773650, -0.891841521040916410, -0.891864137325455220, -0.891886751380333910, -0.891909363205495630, +-0.891931972800884100, -0.891954580166442360, -0.891977185302114230, -0.891999788207843090, -0.892022388883572550, -0.892044987329245980, -0.892067583544807200, -0.892090177530199260, +-0.892112769285365980, -0.892135358810250630, -0.892157946104796930, -0.892180531168948350, -0.892203114002648400, -0.892225694605840670, -0.892248272978468980, -0.892270849120476490, +-0.892293423031806810, -0.892315994712403420, -0.892338564162210130, -0.892361131381170460, -0.892383696369227870, -0.892406259126326320, -0.892428819652408940, -0.892451377947419690, +-0.892473934011301710, -0.892496487843999040, -0.892519039445455080, -0.892541588815613520, -0.892564135954417970, -0.892586680861812250, -0.892609223537739640, -0.892631763982144280, +-0.892654302194969220, -0.892676838176158390, -0.892699371925655520, -0.892721903443404190, -0.892744432729348340, -0.892766959783431120, -0.892789484605596820, -0.892812007195788460, +-0.892834527553950210, -0.892857045680025550, -0.892879561573958420, -0.892902075235692210, -0.892924586665171160, -0.892947095862338340, -0.892969602827138000, -0.892992107559513530, +-0.893014610059408740, -0.893037110326767360, -0.893059608361533310, -0.893082104163650190, -0.893104597733061940, -0.893127089069712170, -0.893149578173544680, -0.893172065044503190, +-0.893194549682531540, -0.893217032087573410, -0.893239512259572770, -0.893261990198473520, -0.893284465904219170, -0.893306939376753760, -0.893329410616020780, -0.893351879621964380, +-0.893374346394528280, -0.893396810933656190, -0.893419273239292160, -0.893441733311380220, -0.893464191149863640, -0.893486646754686810, -0.893509100125793100, -0.893531551263126780, +-0.893554000166631450, -0.893576446836251260, -0.893598891271929820, -0.893621333473611390, -0.893643773441239690, -0.893666211174758310, -0.893688646674111300, -0.893711079939242810, +-0.893733510970096570, -0.893755939766616600, -0.893778366328746960, -0.893800790656431140, -0.893823212749613630, -0.893845632608237790, -0.893868050232248020, -0.893890465621588030, +-0.893912878776201850, -0.893935289696033530, -0.893957698381027120, -0.893980104831126330, -0.894002509046275430, -0.894024911026418120, -0.894047310771498460, -0.894069708281460600, +-0.894092103556248460, -0.894114496595806220, -0.894136887400077570, -0.894159275969006790, -0.894181662302537820, -0.894204046400614570, -0.894226428263181220, -0.894248807890181800, +-0.894271185281560350, -0.894293560437261160, -0.894315933357227810, -0.894338304041404910, -0.894360672489736050, -0.894383038702165400, -0.894405402678637220, -0.894427764419095550, +-0.894450123923484550, -0.894472481191748270, -0.894494836223830750, -0.894517189019676250, -0.894539539579228600, -0.894561887902432070, -0.894584233989230810, -0.894606577839568980, +-0.894628919453390960, -0.894651258830640340, -0.894673595971261840, -0.894695930875199160, -0.894718263542396700, -0.894740593972798480, -0.894762922166348900, -0.894785248122991870, +-0.894807571842672010, -0.894829893325333030, -0.894852212570919400, -0.894874529579375190, -0.894896844350644540, -0.894919156884671830, -0.894941467181401220, -0.894963775240776970, +-0.894986081062743470, -0.895008384647244750, -0.895030685994224860, -0.895052985103628300, -0.895075281975399210, -0.895097576609481970, -0.895119869005820750, -0.895142159164360130, +-0.895164447085043840, -0.895186732767816680, -0.895209016212622500, -0.895231297419405660, -0.895253576388110650, -0.895275853118681740, -0.895298127611063200, -0.895320399865199510, +-0.895342669881034610, -0.895364937658513220, -0.895387203197579360, -0.895409466498177430, -0.895431727560251910, -0.895453986383746960, -0.895476242968607280, -0.895498497314776820, +-0.895520749422200280, -0.895542999290821710, -0.895565246920585700, -0.895587492311436420, -0.895609735463318570, -0.895631976376176310, -0.895654215049954240, -0.895676451484596510, +-0.895698685680047850, -0.895720917636252280, -0.895743147353154410, -0.895765374830698620, -0.895787600068829400, -0.895809823067491240, -0.895832043826628730, -0.895854262346185810, +-0.895876478626107530, -0.895898692666337810, -0.895920904466821380, -0.895943114027502710, -0.895965321348326180, -0.895987526429236620, -0.896009729270178080, -0.896031929871095370, +-0.896054128231932530, -0.896076324352634510, -0.896098518233145680, -0.896120709873410410, -0.896142899273373540, -0.896165086432979540, -0.896187271352172580, -0.896209454030897690, +-0.896231634469099040, -0.896253812666721220, -0.896275988623708830, -0.896298162340006590, -0.896320333815558870, -0.896342503050310490, -0.896364670044205840, -0.896386834797189390, +-0.896408997309205870, -0.896431157580199760, -0.896453315610115880, -0.896475471398898600, -0.896497624946492880, -0.896519776252842850, -0.896541925317893670, -0.896564072141589400, +-0.896586216723875060, -0.896608359064695050, -0.896630499163994180, -0.896652637021717050, -0.896674772637808590, -0.896696906012212970, -0.896719037144875330, -0.896741166035739830, +-0.896763292684751410, -0.896785417091854780, -0.896807539256994630, -0.896829659180115810, -0.896851776861162690, -0.896873892300080190, -0.896896005496812920, -0.896918116451305590, +-0.896940225163502910, -0.896962331633349710, -0.896984435860790690, -0.897006537845770780, -0.897028637588234260, -0.897050735088126380, -0.897072830345391540, -0.897094923359974540, +-0.897117014131820320, -0.897139102660873490, -0.897161188947078970, -0.897183272990381590, -0.897205354790725830, -0.897227434348056960, -0.897249511662319250, -0.897271586733457750, +-0.897293659561417380, -0.897315730146142740, -0.897337798487579000, -0.897359864585670630, -0.897381928440362690, -0.897403990051599880, -0.897426049419327020, -0.897448106543488940, +-0.897470161424030800, -0.897492214060897080, -0.897514264454033040, -0.897536312603383290, -0.897558358508892760, -0.897580402170506280, -0.897602443588168760, -0.897624482761825050, +-0.897646519691420290, -0.897668554376899300, -0.897690586818206790, -0.897712617015287930, -0.897734644968087410, -0.897756670676550290, -0.897778694140621390, -0.897800715360245860, +-0.897822734335368520, -0.897844751065934530, -0.897866765551888490, -0.897888777793175660, -0.897910787789740760, -0.897932795541528830, -0.897954801048485020, -0.897976804310554160, +-0.897998805327681170, -0.898020804099811550, -0.898042800626889570, -0.898064794908860820, -0.898086786945670010, -0.898108776737262080, -0.898130764283582290, -0.898152749584575580, +-0.898174732640187210, -0.898196713450361780, -0.898218692015044670, -0.898240668334180810, -0.898262642407715140, -0.898284614235592920, -0.898306583817759190, -0.898328551154158990, +-0.898350516244737610, -0.898372479089439730, -0.898394439688210870, -0.898416398040995710, -0.898438354147739540, -0.898460308008387500, -0.898482259622884640, -0.898504208991176220, +-0.898526156113207410, -0.898548100988923240, -0.898570043618268530, -0.898591984001188780, -0.898613922137629140, -0.898635858027534650, -0.898657791670850470, -0.898679723067521970, +-0.898701652217494100, -0.898723579120712210, -0.898745503777121150, -0.898767426186666380, -0.898789346349293080, -0.898811264264946400, -0.898833179933571480, -0.898855093355113930, +-0.898877004529518350, -0.898898913456730450, -0.898920820136695160, -0.898942724569357750, -0.898964626754663600, -0.898986526692557740, -0.899008424382985890, -0.899030319825892770, +-0.899052213021223960, -0.899074103968924510, -0.899095992668939800, -0.899117879121215100, -0.899139763325695670, -0.899161645282326890, -0.899183524991054140, -0.899205402451822340, +-0.899227277664577330, -0.899249150629263800, -0.899271021345827480, -0.899292889814213630, -0.899314756034367500, -0.899336620006234600, -0.899358481729760180, -0.899380341204889520, +-0.899402198431568100, -0.899424053409740960, -0.899445906139353820, -0.899467756620351830, -0.899489604852680370, -0.899511450836285250, -0.899533294571111200, -0.899555136057104130, +-0.899576975294208990, -0.899598812282371480, -0.899620647021536990, -0.899642479511650770, -0.899664309752658430, -0.899686137744505450, -0.899707963487136890, -0.899729786980498770, +-0.899751608224535810, -0.899773427219193960, -0.899795243964418570, -0.899817058460154920, -0.899838870706348710, -0.899860680702945560, -0.899882488449890610, -0.899904293947129340, +-0.899926097194607260, -0.899947898192270060, -0.899969696940063010, -0.899991493437931720, -0.900013287685821890, -0.900035079683678680, -0.900056869431447910, -0.900078656929074850, +-0.900100442176505090, -0.900122225173684230, -0.900144005920557880, -0.900165784417071400, -0.900187560663170740, -0.900209334658800930, -0.900231106403908020, -0.900252875898437170, +-0.900274643142334070, -0.900296408135544350, -0.900318170878013690, -0.900339931369687710, -0.900361689610511770, -0.900383445600431820, -0.900405199339393000, -0.900426950827341250, +-0.900448700064222060, -0.900470447049981140, -0.900492191784564080, -0.900513934267916820, -0.900535674499984400, -0.900557412480713080, -0.900579148210048030, -0.900600881687935060, +-0.900622612914320000, -0.900644341889148330, -0.900666068612365760, -0.900687793083918220, -0.900709515303751100, -0.900731235271810320, -0.900752952988041260, -0.900774668452389850, +-0.900796381664801690, -0.900818092625222610, -0.900839801333598530, -0.900861507789874730, -0.900883211993997350, -0.900904913945911770, -0.900926613645563920, -0.900948311092899520, +-0.900970006287864280, -0.900991699230404120, -0.901013389920464870, -0.901035078357991900, -0.901056764542931490, -0.901078448475229000, -0.901100130154830370, -0.901121809581681310, +-0.901143486755727860, -0.901165161676915630, -0.901186834345190760, -0.901208504760498740, -0.901230172922785180, -0.901251838831996330, -0.901273502488077800, -0.901295163890975640, +-0.901316823040635430, -0.901338479937003450, -0.901360134580024950, -0.901381786969646440, -0.901403437105813170, -0.901425084988471400, -0.901446730617566860, -0.901468373993045470, +-0.901490015114853270, -0.901511653982936090, -0.901533290597239630, -0.901554924957710170, -0.901576557064293180, -0.901598186916934720, -0.901619814515580930, -0.901641439860177530, +-0.901663062950670780, -0.901684683787006060, -0.901706302369129960, -0.901727918696987760, -0.901749532770525940, -0.901771144589690210, -0.901792754154426610, -0.901814361464681080, +-0.901835966520399880, -0.901857569321528610, -0.901879169868013530, -0.901900768159800360, -0.901922364196835360, -0.901943957979064350, -0.901965549506433480, -0.901987138778888700, +-0.902008725796376360, -0.902030310558841970, -0.902051893066231900, -0.902073473318491970, -0.902095051315568440, -0.902116627057407250, -0.902138200543954440, -0.902159771775156270, +-0.902181340750958570, -0.902202907471307710, -0.902224471936149300, -0.902246034145429810, -0.902267594099095180, -0.902289151797091570, -0.902310707239365130, -0.902332260425862120, +-0.902353811356528260, -0.902375360031310030, -0.902396906450153140, -0.902418450613004080, -0.902439992519808890, -0.902461532170513720, -0.902483069565064630, -0.902504604703408210, +-0.902526137585490160, -0.902547668211256650, -0.902569196580653930, -0.902590722693628170, -0.902612246550125620, -0.902633768150092550, -0.902655287493475230, -0.902676804580219370, +-0.902698319410271790, -0.902719831983578190, -0.902741342300085070, -0.902762850359738580, -0.902784356162484980, -0.902805859708270430, -0.902827360997041420, -0.902848860028743870, +-0.902870356803324280, -0.902891851320728690, -0.902913343580903470, -0.902934833583794780, -0.902956321329349110, -0.902977806817512830, -0.902999290048231870, -0.903020771021452840, +-0.903042249737121660, -0.903063726195184820, -0.903085200395588710, -0.903106672338279680, -0.903128142023203910, -0.903149609450307870, -0.903171074619537720, -0.903192537530840060, +-0.903213998184160930, -0.903235456579446700, -0.903256912716643880, -0.903278366595698820, -0.903299818216557800, -0.903321267579167420, -0.903342714683473710, -0.903364159529423390, +-0.903385602116962390, -0.903407042446037530, -0.903428480516594970, -0.903449916328581290, -0.903471349881942890, -0.903492781176626010, -0.903514210212577380, -0.903535636989742930, +-0.903557061508069470, -0.903578483767503380, -0.903599903767991040, -0.903621321509478940, -0.903642736991913780, -0.903664150215241600, -0.903685561179409120, -0.903706969884362610, +-0.903728376330048650, -0.903749780516413860, -0.903771182443404490, -0.903792582110967360, -0.903813979519048630, -0.903835374667595230, -0.903856767556553090, -0.903878158185869030, +-0.903899546555489540, -0.903920932665361330, -0.903942316515430670, -0.903963698105644480, -0.903985077435948800, -0.904006454506290580, -0.904027829316616070, -0.904049201866871990, +-0.904070572157004930, -0.904091940186961480, -0.904113305956688150, -0.904134669466131750, -0.904156030715238420, -0.904177389703955230, -0.904198746432228420, -0.904220100900004710, +-0.904241453107230700, -0.904262803053853090, -0.904284150739818720, -0.904305496165073720, -0.904326839329565260, -0.904348180233239480, -0.904369518876043220, -0.904390855257923070, +-0.904412189378825950, -0.904433521238698250, -0.904454850837487000, -0.904476178175138370, -0.904497503251599500, -0.904518826066816770, -0.904540146620736900, -0.904561464913306580, +-0.904582780944472750, -0.904604094714181910, -0.904625406222380970, -0.904646715469016430, -0.904668022454035210, -0.904689327177383820, -0.904710629639009060, -0.904731929838857640, +-0.904753227776876500, -0.904774523453012570, -0.904795816867212000, -0.904817108019422060, -0.904838396909589230, -0.904859683537660440, -0.904880967903582410, -0.904902250007301960, +-0.904923529848765780, -0.904944807427921160, -0.904966082744714130, -0.904987355799092170, -0.905008626591001670, -0.905029895120389670, -0.905051161387202760, -0.905072425391388100, +-0.905093687132892400, -0.905114946611662470, -0.905136203827645260, -0.905157458780787350, -0.905178711471035790, -0.905199961898337510, -0.905221210062639340, -0.905242455963888080, +-0.905263699602030900, -0.905284940977014290, -0.905306180088785490, -0.905327416937291020, -0.905348651522478120, -0.905369883844293510, -0.905391113902684120, -0.905412341697597100, +-0.905433567228979270, -0.905454790496777460, -0.905476011500938820, -0.905497230241409930, -0.905518446718137970, -0.905539660931069970, -0.905560872880152750, -0.905582082565333460, +-0.905603289986558920, -0.905624495143776300, -0.905645698036932180, -0.905666898665973940, -0.905688097030848400, -0.905709293131502500, -0.905730486967883500, -0.905751678539938430, +-0.905772867847614020, -0.905794054890857630, -0.905815239669615860, -0.905836422183836090, -0.905857602433465140, -0.905878780418450270, -0.905899956138738420, -0.905921129594276840, +-0.905942300785012480, -0.905963469710892140, -0.905984636371863110, -0.906005800767872520, -0.906026962898867420, -0.906048122764794960, -0.906069280365602300, -0.906090435701236370, +-0.906111588771644440, -0.906132739576773430, -0.906153888116570490, -0.906175034390982900, -0.906196178399957700, -0.906217320143442030, -0.906238459621383160, -0.906259596833728140, +-0.906280731780424230, -0.906301864461418250, -0.906322994876657680, -0.906344123026089580, -0.906365248909661190, -0.906386372527319910, -0.906407493879012430, -0.906428612964686460, +-0.906449729784288840, -0.906470844337766810, -0.906491956625067650, -0.906513066646138620, -0.906534174400926870, -0.906555279889380010, -0.906576383111444620, -0.906597484067068530, +-0.906618582756198550, -0.906639679178782080, -0.906660773334766470, -0.906681865224098880, -0.906702954846726580, -0.906724042202597170, -0.906745127291657460, -0.906766210113855050, +-0.906787290669136990, -0.906808368957450760, -0.906829444978743520, -0.906850518732962630, -0.906871590220055700, -0.906892659439969550, -0.906913726392652000, -0.906934791078049970, +-0.906955853496110850, -0.906976913646782230, -0.906997971530011270, -0.907019027145745340, -0.907040080493932030, -0.907061131574518400, -0.907082180387452140, -0.907103226932680200, +-0.907124271210150160, -0.907145313219809510, -0.907166352961605530, -0.907187390435485690, -0.907208425641397480, -0.907229458579288270, -0.907250489249105230, -0.907271517650796060, +-0.907292543784308010, -0.907313567649588590, -0.907334589246585280, -0.907355608575245550, -0.907376625635516800, -0.907397640427346610, -0.907418652950682140, -0.907439663205470980, +-0.907460671191660740, -0.907481676909198790, -0.907502680358032610, -0.907523681538109920, -0.907544680449377860, -0.907565677091784260, -0.907586671465276380, -0.907607663569801710, +-0.907628653405307960, -0.907649640971742610, -0.907670626269053260, -0.907691609297187170, -0.907712590056092280, -0.907733568545715630, -0.907754544766005140, -0.907775518716908310, +-0.907796490398372620, -0.907817459810345780, -0.907838426952775390, -0.907859391825608820, -0.907880354428793890, -0.907901314762277980, -0.907922272826008680, -0.907943228619933820, +-0.907964182144000760, -0.907985133398157340, -0.908006082382351250, -0.908027029096529770, -0.908047973540640820, -0.908068915714631890, -0.908089855618450570, -0.908110793252044580, +-0.908131728615361730, -0.908152661708349630, -0.908173592530955750, -0.908194521083128150, -0.908215447364813970, -0.908236371375961140, -0.908257293116517480, -0.908278212586430490, +-0.908299129785647970, -0.908320044714117870, -0.908340957371787440, -0.908361867758604840, -0.908382775874517430, -0.908403681719472940, -0.908424585293419410, -0.908445486596304310, +-0.908466385628075470, -0.908487282388680930, -0.908508176878068170, -0.908529069096184690, -0.908549959042978640, -0.908570846718397610, -0.908591732122389530, -0.908612615254902110, +-0.908633496115883400, -0.908654374705280650, -0.908675251023042250, -0.908696125069115460, -0.908716996843448420, -0.908737866345988850, -0.908758733576684570, -0.908779598535483510, +-0.908800461222333600, -0.908821321637182430, -0.908842179779978050, -0.908863035650668060, -0.908883889249200600, -0.908904740575523280, -0.908925589629584140, -0.908946436411331220, +-0.908967280920712000, -0.908988123157674850, -0.909008963122167170, -0.909029800814136980, -0.909050636233532440, -0.909071469380301140, -0.909092300254391360, -0.909113128855750910, +-0.909133955184327490, -0.909154779240069270, -0.909175601022924050, -0.909196420532839780, -0.909217237769764370, -0.909238052733646000, -0.909258865424432350, -0.909279675842071810, +-0.909300483986511980, -0.909321289857700890, -0.909342093455586700, -0.909362894780117110, -0.909383693831240400, -0.909404490608904270, -0.909425285113057090, -0.909446077343646580, +-0.909466867300621100, -0.909487654983928140, -0.909508440393516300, -0.909529223529333190, -0.909550004391327160, -0.909570782979446050, -0.909591559293638000, -0.909612333333850940, +-0.909633105100033260, -0.909653874592132650, -0.909674641810097380, -0.909695406753875500, -0.909716169423415270, -0.909736929818664500, -0.909757687939571350, -0.909778443786084080, +-0.909799197358150510, -0.909819948655719140, -0.909840697678737760, -0.909861444427154780, -0.909882188900918100, -0.909902931099976000, -0.909923671024276510, -0.909944408673767910, +-0.909965144048398230, -0.909985877148115740, -0.910006607972868480, -0.910027336522604810, -0.910048062797272680, -0.910068786796820460, -0.910089508521196300, -0.910110227970348350, +-0.910130945144224770, -0.910151660042773920, -0.910172372665943970, -0.910193083013682850, -0.910213791085939250, -0.910234496882661000, -0.910255200403796700, -0.910275901649294280, +-0.910296600619102110, -0.910317297313168460, -0.910337991731441590, -0.910358683873869650, -0.910379373740401120, -0.910400061330984060, -0.910420746645566940, -0.910441429684097800, +-0.910462110446525250, -0.910482788932797330, -0.910503465142862510, -0.910524139076668960, -0.910544810734165160, -0.910565480115299140, -0.910586147220019630, -0.910606812048274760, +-0.910627474600012700, -0.910648134875182040, -0.910668792873730930, -0.910689448595608080, -0.910710102040761300, -0.910730753209139540, -0.910751402100690720, -0.910772048715363550, +-0.910792693053106060, -0.910813335113866970, -0.910833974897594540, -0.910854612404237150, -0.910875247633743170, -0.910895880586061190, -0.910916511261139370, -0.910937139658926420, +-0.910957765779370490, -0.910978389622420280, -0.910999011188024070, -0.911019630476130220, -0.911040247486687440, -0.911060862219643890, -0.911081474674948380, -0.911102084852548950, +-0.911122692752394550, -0.911143298374433200, -0.911163901718613720, -0.911184502784884390, -0.911205101573194010, -0.911225698083490630, -0.911246292315723180, -0.911266884269839930, +-0.911287473945789460, -0.911308061343520270, -0.911328646462981060, -0.911349229304120100, -0.911369809866886200, -0.911390388151227640, -0.911410964157093220, -0.911431537884431320, +-0.911452109333190540, -0.911472678503319590, -0.911493245394766840, -0.911513810007481110, -0.911534372341410770, -0.911554932396504540, -0.911575490172710890, -0.911596045669978540, +-0.911616598888256080, -0.911637149827492220, -0.911657698487635340, -0.911678244868634360, -0.911698788970437660, -0.911719330792994050, -0.911739870336252030, -0.911760407600160530, +-0.911780942584667800, -0.911801475289722770, -0.911822005715274160, -0.911842533861270450, -0.911863059727660460, -0.911883583314392680, -0.911904104621416020, -0.911924623648679100, +-0.911945140396130730, -0.911965654863719280, -0.911986167051393900, -0.912006676959102980, -0.912027184586795440, -0.912047689934419870, -0.912068193001925210, -0.912088693789259830, +-0.912109192296372990, -0.912129688523212970, -0.912150182469728790, -0.912170674135869160, -0.912191163521582920, -0.912211650626818640, -0.912232135451525370, -0.912252617995651720, +-0.912273098259146380, -0.912293576241958500, -0.912314051944036470, -0.912334525365329550, -0.912354996505786110, -0.912375465365355300, -0.912395931943985720, -0.912416396241626520, +-0.912436858258226070, -0.912457317993733640, -0.912477775448097830, -0.912498230621267670, -0.912518683513191880, -0.912539134123819370, -0.912559582453099090, -0.912580028500979750, +-0.912600472267410370, -0.912620913752339890, -0.912641352955717020, -0.912661789877490910, -0.912682224517610270, -0.912702656876024030, -0.912723086952681120, -0.912743514747530570, +-0.912763940260521210, -0.912784363491601860, -0.912804784440721770, -0.912825203107829660, -0.912845619492874570, -0.912866033595805430, -0.912886445416571270, -0.912906854955120810, +-0.912927262211403410, -0.912947667185367680, -0.912968069876962880, -0.912988470286137940, -0.913008868412841790, -0.913029264257023470, -0.913049657818632010, -0.913070049097616350, +-0.913090438093925540, -0.913110824807508830, -0.913131209238314810, -0.913151591386292870, -0.913171971251391930, -0.913192348833561150, -0.913212724132749450, -0.913233097148905880, +-0.913253467881979590, -0.913273836331919720, -0.913294202498675210, -0.913314566382195210, -0.913334927982428660, -0.913355287299324910, -0.913375644332832910, -0.913395999082901920, +-0.913416351549480750, -0.913436701732518790, -0.913457049631965060, -0.913477395247768720, -0.913497738579878930, -0.913518079628244720, -0.913538418392815350, -0.913558754873539990, +-0.913579089070367670, -0.913599420983247650, -0.913619750612129080, -0.913640077956961010, -0.913660403017692910, -0.913680725794273730, -0.913701046286652830, -0.913721364494779140, +-0.913741680418602260, -0.913761994058071010, -0.913782305413134770, -0.913802614483742780, -0.913822921269844430, -0.913843225771388550, -0.913863527988324710, -0.913883827920602080, +-0.913904125568169800, -0.913924420930977250, -0.913944714008973700, -0.913965004802108290, -0.913985293310330400, -0.914005579533589300, -0.914025863471834120, -0.914046145125014480, +-0.914066424493079290, -0.914086701575978160, -0.914106976373660230, -0.914127248886074880, -0.914147519113171380, -0.914167787054899090, -0.914188052711207400, -0.914208316082045560, +-0.914228577167362830, -0.914248835967108710, -0.914269092481232450, -0.914289346709683650, -0.914309598652411350, -0.914329848309365030, -0.914350095680494190, -0.914370340765747970, +-0.914390583565075970, -0.914410824078427440, -0.914431062305752000, -0.914451298246998780, -0.914471531902117380, -0.914491763271057080, -0.914511992353767460, -0.914532219150197780, +-0.914552443660297640, -0.914572665884016310, -0.914592885821303380, -0.914613103472108220, -0.914633318836380330, -0.914653531914069060, -0.914673742705124030, -0.914693951209494700, +-0.914714157427130360, -0.914734361357980700, -0.914754563001995090, -0.914774762359123140, -0.914794959429314210, -0.914815154212517910, -0.914835346708683720, -0.914855536917761230, +-0.914875724839699700, -0.914895910474449070, -0.914916093821958600, -0.914936274882177880, -0.914956453655056400, -0.914976630140543980, -0.914996804338589760, -0.915016976249143690, +-0.915037145872155120, -0.915057313207573770, -0.915077478255349020, -0.915097641015430670, -0.915117801487768220, -0.915137959672311150, -0.915158115569009280, -0.915178269177812090, +-0.915198420498669170, -0.915218569531530250, -0.915238716276345010, -0.915258860733062840, -0.915279002901633550, -0.915299142782006750, -0.915319280374132130, -0.915339415677959290, +-0.915359548693437940, -0.915379679420517570, -0.915399807859148210, -0.915419934009279230, -0.915440057870860470, -0.915460179443841390, -0.915480298728172050, -0.915500415723801920, +-0.915520530430680710, -0.915540642848758250, -0.915560752977984120, -0.915580860818308140, -0.915600966369680020, -0.915621069632049480, -0.915641170605366210, -0.915661269289580030, +-0.915681365684640650, -0.915701459790498000, -0.915721551607101560, -0.915741641134401260, -0.915761728372346820, -0.915781813320888150, -0.915801895979974970, -0.915821976349556980, +-0.915842054429584000, -0.915862130220006070, -0.915882203720772560, -0.915902274931833740, -0.915922343853139200, -0.915942410484638760, -0.915962474826282350, -0.915982536878019670, +-0.916002596639800770, -0.916022654111575240, -0.916042709293293120, -0.916062762184904230, -0.916082812786358500, -0.916102861097605640, -0.916122907118595680, -0.916142950849278440, +-0.916162992289603850, -0.916183031439521730, -0.916203068298982130, -0.916223102867934740, -0.916243135146329600, -0.916263165134116650, -0.916283192831245820, -0.916303218237666920, +-0.916323241353330100, -0.916343262178185180, -0.916363280712181980, -0.916383296955270770, -0.916403310907401130, -0.916423322568523320, -0.916443331938587070, -0.916463339017542620, +-0.916483343805339800, -0.916503346301928650, -0.916523346507258970, -0.916543344421281160, -0.916563340043944800, -0.916583333375200260, -0.916603324414997140, -0.916623313163285940, +-0.916643299620016340, -0.916663283785138620, -0.916683265658602480, -0.916703245240358400, -0.916723222530356100, -0.916743197528545720, -0.916763170234877410, -0.916783140649301110, +-0.916803108771767070, -0.916823074602225120, -0.916843038140625620, -0.916862999386918290, -0.916882958341053710, -0.916902915002981600, -0.916922869372652330, -0.916942821450015710, +-0.916962771235022120, -0.916982718727621600, -0.917002663927764420, -0.917022606835400380, -0.917042547450479970, -0.917062485772953020, -0.917082421802770000, -0.917102355539880840, +-0.917122286984235920, -0.917142216135785170, -0.917162142994478960, -0.917182067560267320, -0.917201989833100530, -0.917221909812928730, -0.917241827499702180, -0.917261742893371150, +-0.917281655993885670, -0.917301566801196120, -0.917321475315252540, -0.917341381536005310, -0.917361285463404670, -0.917381187097400800, -0.917401086437943940, -0.917420983484984460, +-0.917440878238472310, -0.917460770698358190, -0.917480660864592010, -0.917500548737124280, -0.917520434315905130, -0.917540317600884950, -0.917560198592013880, -0.917580077289242290, +-0.917599953692520680, -0.917619827801798960, -0.917639699617027850, -0.917659569138157380, -0.917679436365138050, -0.917699301297920100, -0.917719163936453920, -0.917739024280689760, +-0.917758882330578230, -0.917778738086069250, -0.917798591547113630, -0.917818442713661420, -0.917838291585663100, -0.917858138163069050, -0.917877982445829740, -0.917897824433895340, +-0.917917664127216540, -0.917937501525743490, -0.917957336629426690, -0.917977169438216610, -0.917996999952063520, -0.918016828170918010, -0.918036654094730230, -0.918056477723451000, +-0.918076299057030590, -0.918096118095419360, -0.918115934838567790, -0.918135749286426490, -0.918155561438945830, -0.918175371296076180, -0.918195178857768140, -0.918214984123972180, +-0.918234787094638680, -0.918254587769718360, -0.918274386149161350, -0.918294182232918590, -0.918313976020940230, -0.918333767513177080, -0.918353556709579410, -0.918373343610097810, +-0.918393128214682890, -0.918412910523285220, -0.918432690535855190, -0.918452468252343390, -0.918472243672700530, -0.918492016796876980, -0.918511787624823440, -0.918531556156490400, +-0.918551322391828570, -0.918571086330788320, -0.918590847973320360, -0.918610607319375270, -0.918630364368903770, -0.918650119121856230, -0.918669871578183470, -0.918689621737835970, +-0.918709369600764550, -0.918729115166919690, -0.918748858436251870, -0.918768599408712030, -0.918788338084250640, -0.918808074462818420, -0.918827808544366080, -0.918847540328844190, +-0.918867269816203370, -0.918886997006394420, -0.918906721899367950, -0.918926444495074770, -0.918946164793465360, -0.918965882794490650, -0.918985598498101130, -0.919005311904247720, +-0.919025023012880920, -0.919044731823951740, -0.919064438337410470, -0.919084142553208360, -0.919103844471295670, -0.919123544091623560, -0.919143241414142500, -0.919162936438803310, +-0.919182629165556930, -0.919202319594353830, -0.919222007725144950, -0.919241693557880990, -0.919261377092512990, -0.919281058328991320, -0.919300737267267240, -0.919320413907291130, +-0.919340088249014030, -0.919359760292386750, -0.919379430037360110, -0.919399097483884710, -0.919418762631911800, -0.919438425481391760, -0.919458086032275860, -0.919477744284514560, +-0.919497400238059150, -0.919517053892860090, -0.919536705248868320, -0.919556354306034880, -0.919576001064310480, -0.919595645523646250, -0.919615287683992700, -0.919634927545301070, +-0.919654565107521970, -0.919674200370606650, -0.919693833334505720, -0.919713463999170200, -0.919733092364551030, -0.919752718430599250, -0.919772342197265450, -0.919791963664501000, +-0.919811582832256500, -0.919831199700483100, -0.919850814269131730, -0.919870426538153320, -0.919890036507498790, -0.919909644177119180, -0.919929249546965530, -0.919948852616988670, +-0.919968453387139840, -0.919988051857369650, -0.920007648027629470, -0.920027241897870110, -0.920046833468042720, -0.920066422738098130, -0.920086009707987600, -0.920105594377661930, +-0.920125176747072390, -0.920144756816169810, -0.920164334584905430, -0.920183910053230190, -0.920203483221095130, -0.920223054088451400, -0.920242622655250030, -0.920262188921442070, +-0.920281752886978670, -0.920301314551810970, -0.920320873915889790, -0.920340430979166620, -0.920359985741592280, -0.920379538203118020, -0.920399088363694770, -0.920418636223274020, +-0.920438181781806470, -0.920457725039243610, -0.920477265995536360, -0.920496804650635990, -0.920516341004493530, -0.920535875057060360, -0.920555406808287400, -0.920574936258126030, +-0.920594463406527170, -0.920613988253442320, -0.920633510798822270, -0.920653031042618640, -0.920672548984782350, -0.920692064625264760, -0.920711577964016930, -0.920731089000990210, +-0.920750597736135770, -0.920770104169404750, -0.920789608300748520, -0.920809110130118240, -0.920828609657465270, -0.920848106882740660, -0.920867601805895890, -0.920887094426882100, +-0.920906584745650570, -0.920926072762152550, -0.920945558476339410, -0.920965041888162190, -0.920984522997572610, -0.921004001804521580, -0.921023478308960590, -0.921042952510840780, +-0.921062424410113770, -0.921081894006730570, -0.921101361300642800, -0.921120826291801590, -0.921140288980158100, -0.921159749365664140, -0.921179207448270640, -0.921198663227929200, +-0.921218116704591080, -0.921237567878207760, -0.921257016748730400, -0.921276463316110570, -0.921295907580299440, -0.921315349541248720, -0.921334789198909540, -0.921354226553233400, +-0.921373661604171670, -0.921393094351675820, -0.921412524795697240, -0.921431952936187290, -0.921451378773097460, -0.921470802306379340, -0.921490223535984090, -0.921509642461863290, +-0.921529059083968430, -0.921548473402250880, -0.921567885416662120, -0.921587295127153650, -0.921606702533677050, -0.921626107636183580, -0.921645510434624840, -0.921664910928952310, +-0.921684309119117580, -0.921703705005072040, -0.921723098586767260, -0.921742489864154750, -0.921761878837185970, -0.921781265505812520, -0.921800649869985890, -0.921820031929657670, +-0.921839411684779340, -0.921858789135302390, -0.921878164281178640, -0.921897537122359450, -0.921916907658796300, -0.921936275890441030, -0.921955641817244990, -0.921975005439159780, +-0.921994366756137110, -0.922013725768128570, -0.922033082475085640, -0.922052436876960150, -0.922071788973703340, -0.922091138765267270, -0.922110486251603190, -0.922129831432663030, +-0.922149174308398270, -0.922168514878760500, -0.922187853143701440, -0.922207189103172900, -0.922226522757126240, -0.922245854105513300, -0.922265183148285760, -0.922284509885395230, +-0.922303834316793520, -0.922323156442432010, -0.922342476262262840, -0.922361793776237280, -0.922381108984307360, -0.922400421886424680, -0.922419732482540940, -0.922439040772607740, +-0.922458346756577120, -0.922477650434400550, -0.922496951806029860, -0.922516250871416750, -0.922535547630513040, -0.922554842083270430, -0.922574134229640850, -0.922593424069575780, +-0.922612711603027270, -0.922631996829946900, -0.922651279750286600, -0.922670560363998080, -0.922689838671033050, -0.922709114671343640, -0.922728388364881250, -0.922747659751598000, +-0.922766928831445510, -0.922786195604375800, -0.922805460070340480, -0.922824722229291570, -0.922843982081180900, -0.922863239625960290, -0.922882494863581430, -0.922901747793996470, +-0.922920998417157130, -0.922940246733015220, -0.922959492741522780, -0.922978736442631620, -0.922997977836293450, -0.923017216922460530, -0.923036453701084560, -0.923055688172117360, +-0.923074920335510970, -0.923094150191217210, -0.923113377739188220, -0.923132602979375720, -0.923151825911731730, -0.923171046536208070, -0.923190264852756900, -0.923209480861330030, +-0.923228694561879500, -0.923247905954357240, -0.923267115038715170, -0.923286321814905330, -0.923305526282879650, -0.923324728442590170, -0.923343928293988920, -0.923363125837027840, +-0.923382321071658960, -0.923401513997834100, -0.923420704615505630, -0.923439892924625470, -0.923459078925145450, -0.923478262617017710, -0.923497444000194400, -0.923516623074627450, +-0.923535799840268900, -0.923554974297070900, -0.923574146444985370, -0.923593316283964680, -0.923612483813960440, -0.923631649034925230, -0.923650811946810760, -0.923669972549569280, +-0.923689130843152850, -0.923708286827513710, -0.923727440502603690, -0.923746591868375160, -0.923765740924780140, -0.923784887671770800, -0.923804032109299180, -0.923823174237317520, +-0.923842314055777880, -0.923861451564632510, -0.923880586763833560, -0.923899719653332950, -0.923918850233083290, -0.923937978503036270, -0.923957104463144500, -0.923976228113359780, +-0.923995349453634710, -0.924014468483921100, -0.924033585204171340, -0.924052699614337670, -0.924071811714372250, -0.924090921504227230, -0.924110028983854970, -0.924129134153207630, +-0.924148237012237470, -0.924167337560896640, -0.924186435799137620, -0.924205531726912440, -0.924224625344173270, -0.924243716650872790, -0.924262805646962840, -0.924281892332395990, +-0.924300976707124300, -0.924320058771100240, -0.924339138524275960, -0.924358215966603950, -0.924377291098036350, -0.924396363918525530, -0.924415434428023760, -0.924434502626483410, +-0.924453568513856850, -0.924472632090096340, -0.924491693355154240, -0.924510752308982940, -0.924529808951534690, -0.924548863282762090, -0.924567915302617060, -0.924586965011052530, +-0.924606012408020430, -0.924625057493473350, -0.924644100267363540, -0.924663140729643510, -0.924682178880265710, -0.924701214719182430, -0.924720248246346130, -0.924739279461709080, +-0.924758308365223990, -0.924777334956843000, -0.924796359236518820, -0.924815381204203590, -0.924834400859850030, -0.924853418203410380, -0.924872433234837250, -0.924891445954083010, +-0.924910456361100140, -0.924929464455841120, -0.924948470238258440, -0.924967473708304680, -0.924986474865932110, -0.925005473711093540, -0.925024470243741010, -0.925043464463827570, +-0.925062456371305240, -0.925081445966126960, -0.925100433248244980, -0.925119418217611900, -0.925138400874180310, -0.925157381217902700, -0.925176359248731650, -0.925195334966619650, +-0.925214308371519300, -0.925233279463383300, -0.925252248242164010, -0.925271214707814150, -0.925290178860286190, -0.925309140699532850, -0.925328100225506600, -0.925347057438160260, +-0.925366012337446090, -0.925384964923317010, -0.925403915195725400, -0.925422863154624080, -0.925441808799965630, -0.925460752131702540, -0.925479693149787730, -0.925498631854173470, +-0.925517568244812790, -0.925536502321658180, -0.925555434084662340, -0.925574363533777870, -0.925593290668957460, -0.925612215490153820, -0.925631137997319780, -0.925650058190407690, +-0.925668976069370600, -0.925687891634160990, -0.925706804884731780, -0.925725715821035360, -0.925744624443024850, -0.925763530750652760, -0.925782434743871670, -0.925801336422634620, +-0.925820235786894210, -0.925839132836603240, -0.925858027571714310, -0.925876919992180470, -0.925895810097954190, -0.925914697888988500, -0.925933583365236010, -0.925952466526649640, +-0.925971347373181990, -0.925990225904786080, -0.926009102121414520, -0.926027976023020230, -0.926046847609556020, -0.926065716880974720, -0.926084583837229030, -0.926103448478271970, +-0.926122310804056270, -0.926141170814534730, -0.926160028509660390, -0.926178883889385850, -0.926197736953664250, -0.926216587702448080, -0.926235436135690700, -0.926254282253344500, +-0.926273126055362720, -0.926291967541698070, -0.926310806712303590, -0.926329643567131990, -0.926348478106136410, -0.926367310329269440, -0.926386140236484360, -0.926404967827733850, +-0.926423793102971070, -0.926442616062148620, -0.926461436705219740, -0.926480255032137160, -0.926499071042854120, -0.926517884737323330, -0.926536696115497720, -0.926555505177330430, +-0.926574311922774400, -0.926593116351782650, -0.926611918464307900, -0.926630718260303630, -0.926649515739722320, -0.926668310902517440, -0.926687103748641610, -0.926705894278048060, +-0.926724682490689840, -0.926743468386519890, -0.926762251965491220, -0.926781033227557010, -0.926799812172670050, -0.926818588800783720, -0.926837363111850830, -0.926856135105824650, +-0.926874904782658100, -0.926893672142304230, -0.926912437184716160, -0.926931199909846960, -0.926949960317649870, -0.926968718408077820, -0.926987474181084070, -0.927006227636621550, +-0.927024978774643520, -0.927043727595102900, -0.927062474097953060, -0.927081218283147050, -0.927099960150638000, -0.927118699700378970, -0.927137436932323310, -0.927156171846423960, +-0.927174904442634280, -0.927193634720907210, -0.927212362681196110, -0.927231088323454130, -0.927249811647634430, -0.927268532653690250, -0.927287251341574640, -0.927305967711240960, +-0.927324681762642270, -0.927343393495732030, -0.927362102910463170, -0.927380810006789180, -0.927399514784662980, -0.927418217244038170, -0.927436917384867780, -0.927455615207105070, +-0.927474310710703300, -0.927493003895615730, -0.927511694761795740, -0.927530383309196460, -0.927549069537771160, -0.927567753447473330, -0.927586435038256000, -0.927605114310072640, +-0.927623791262876530, -0.927642465896620920, -0.927661138211259060, -0.927679808206744450, -0.927698475883030340, -0.927717141240069880, -0.927735804277816770, -0.927754464996223940, +-0.927773123395245090, -0.927791779474833380, -0.927810433234942280, -0.927829084675525050, -0.927847733796535180, -0.927866380597925810, -0.927885025079650650, -0.927903667241662840, +-0.927922307083915990, -0.927940944606363230, -0.927959579808958160, -0.927978212691654150, -0.927996843254404570, -0.928015471497163010, -0.928034097419882630, -0.928052721022517010, +-0.928071342305019640, -0.928089961267343890, -0.928108577909443230, -0.928127192231271160, -0.928145804232781040, -0.928164413913926570, -0.928183021274660900, -0.928201626314937740, +-0.928220229034710460, -0.928238829433932770, -0.928257427512557800, -0.928276023270539370, -0.928294616707830870, -0.928313207824385870, -0.928331796620157750, -0.928350383095100320, +-0.928368967249166730, -0.928387549082310800, -0.928406128594486120, -0.928424705785645950, -0.928443280655744110, -0.928461853204733960, -0.928480423432569310, -0.928498991339203440, +-0.928517556924590260, -0.928536120188683030, -0.928554681131435690, -0.928573239752801480, -0.928591796052734230, -0.928610350031187530, -0.928628901688114850, -0.928647451023470020, +-0.928665998037206510, -0.928684542729278030, -0.928703085099638170, -0.928721625148240640, -0.928740162875039020, -0.928758698279987030, -0.928777231363038250, -0.928795762124146500, +-0.928814290563265140, -0.928832816680348230, -0.928851340475349120, -0.928869861948221850, -0.928888381098919800, -0.928906897927396780, -0.928925412433606600, -0.928943924617502860, +-0.928962434479039260, -0.928980942018169610, -0.928999447234847620, -0.929017950129026990, -0.929036450700661430, -0.929054948949704860, -0.929073444876110880, -0.929091938479833290, +-0.929110429760825810, -0.929128918719042350, -0.929147405354436520, -0.929165889666962120, -0.929184371656573190, -0.929202851323223110, -0.929221328666866020, -0.929239803687455620, +-0.929258276384945630, -0.929276746759289950, -0.929295214810442530, -0.929313680538356950, -0.929332143942987240, -0.929350605024287120, -0.929369063782210510, -0.929387520216711230, +-0.929405974327743190, -0.929424426115260100, -0.929442875579216120, -0.929461322719564830, -0.929479767536260270, -0.929498210029256370, -0.929516650198506820, -0.929535088043965670, +-0.929553523565586850, -0.929571956763324270, -0.929590387637131640, -0.929608816186963120, -0.929627242412772500, -0.929645666314513950, -0.929664087892141060, -0.929682507145608070, +-0.929700924074868710, -0.929719338679877110, -0.929737750960587080, -0.929756160916952790, -0.929774568548928040, -0.929792973856466860, -0.929811376839523200, -0.929829777498051180, +-0.929848175832004630, -0.929866571841337810, -0.929884965526004410, -0.929903356885958600, -0.929921745921154510, -0.929940132631545960, -0.929958517017087090, -0.929976899077731960, +-0.929995278813434580, -0.930013656224148890, -0.930032031309829250, -0.930050404070429380, -0.930068774505903640, -0.930087142616205840, -0.930105508401290250, -0.930123871861110780, +-0.930142232995621710, -0.930160591804777060, -0.930178948288530980, -0.930197302446837400, -0.930215654279650690, -0.930234003786924890, -0.930252350968613920, -0.930270695824672260, +-0.930289038355053720, -0.930307378559712570, -0.930325716438602960, -0.930344051991679240, -0.930362385218895140, -0.930380716120205340, -0.930399044695563560, -0.930417370944924270, +-0.930435694868241400, -0.930454016465469440, -0.930472335736562410, -0.930490652681474570, -0.930508967300159970, -0.930527279592573090, -0.930545589558667950, -0.930563897198398830, +-0.930582202511719970, -0.930600505498585640, -0.930618806158950100, -0.930637104492767490, -0.930655400499992070, -0.930673694180578100, -0.930691985534480070, -0.930710274561651900, +-0.930728561262048170, -0.930746845635622930, -0.930765127682330770, -0.930783407402125620, -0.930801684794961950, -0.930819959860794130, -0.930838232599576430, -0.930856503011263100, +-0.930874771095808520, -0.930893036853166930, -0.930911300283292940, -0.930929561386140580, -0.930947820161664330, -0.930966076609818450, -0.930984330730557530, -0.931002582523835720, +-0.931020831989607500, -0.931039079127827130, -0.931057323938449090, -0.931075566421427750, -0.931093806576717480, -0.931112044404272640, -0.931130279904047730, -0.931148513075997220, +-0.931166743920075260, -0.931184972436236550, -0.931203198624435350, -0.931221422484626250, -0.931239644016763510, -0.931257863220801730, -0.931276080096695160, -0.931294294644398500, +-0.931312506863866020, -0.931330716755052410, -0.931348924317911940, -0.931367129552399090, -0.931385332458468550, -0.931403533036074590, -0.931421731285171810, -0.931439927205714670, +-0.931458120797657770, -0.931476312060955490, -0.931494500995562520, -0.931512687601433240, -0.931530871878522350, -0.931549053826784100, -0.931567233446173320, -0.931585410736644470, +-0.931603585698152050, -0.931621758330650640, -0.931639928634094950, -0.931658096608439350, -0.931676262253638530, -0.931694425569646990, -0.931712586556419530, -0.931730745213910530, +-0.931748901542074680, -0.931767055540866580, -0.931785207210240830, -0.931803356550152010, -0.931821503560554820, -0.931839648241403970, -0.931857790592653830, -0.931875930614259330, +-0.931894068306174940, -0.931912203668355480, -0.931930336700755420, -0.931948467403329590, -0.931966595776032580, -0.931984721818819080, -0.932002845531643700, -0.932020966914461240, +-0.932039085967226400, -0.932057202689893890, -0.932075317082418310, -0.932093429144754350, -0.932111538876856940, -0.932129646278680670, -0.932147751350180240, -0.932165854091310480, +-0.932183954502026070, -0.932202052582281730, -0.932220148332032370, -0.932238241751232490, -0.932256332839837110, -0.932274421597800830, -0.932292508025078570, -0.932310592121624930, +-0.932328673887394930, -0.932346753322343180, -0.932364830426424600, -0.932382905199593880, -0.932400977641805960, -0.932419047753015540, -0.932437115533177540, -0.932455180982246780, +-0.932473244100178070, -0.932491304886926220, -0.932509363342446050, -0.932527419466692600, -0.932545473259620450, -0.932563524721184640, -0.932581573851340110, -0.932599620650041650, +-0.932617665117243980, -0.932635707252902350, -0.932653747056971350, -0.932671784529406020, -0.932689819670161180, -0.932707852479191860, -0.932725882956452760, -0.932743911101899140, +-0.932761936915485590, -0.932779960397167260, -0.932797981546899080, -0.932816000364635860, -0.932834016850332740, -0.932852031003944540, -0.932870042825426180, -0.932888052314732820, +-0.932906059471819260, -0.932924064296640540, -0.932942066789151810, -0.932960066949307780, -0.932978064777063580, -0.932996060272374250, -0.933014053435194720, -0.933032044265480140, +-0.933050032763185430, -0.933068018928265520, -0.933086002760675770, -0.933103984260370890, -0.933121963427306020, -0.933139940261436320, -0.933157914762716700, -0.933175886931102430, +-0.933193856766548310, -0.933211824269009620, -0.933229789438441260, -0.933247752274798500, -0.933265712778036380, -0.933283670948109930, -0.933301626784974300, -0.933319580288584750, +-0.933337531458896090, -0.933355480295863680, -0.933373426799442460, -0.933391370969587800, -0.933409312806254610, -0.933427252309398270, -0.933445189478973700, -0.933463124314936170, +-0.933481056817240810, -0.933498986985842880, -0.933516914820697430, -0.933534840321759710, -0.933552763488984860, -0.933570684322328150, -0.933588602821744720, -0.933606518987189720, +-0.933624432818618510, -0.933642344315986140, -0.933660253479247970, -0.933678160308359150, -0.933696064803274940, -0.933713966963950480, -0.933731866790341260, -0.933749764282402190, +-0.933767659440088880, -0.933785552263356360, -0.933803442752159980, -0.933821330906454920, -0.933839216726196630, -0.933857100211340160, -0.933874981361841110, -0.933892860177654490, +-0.933910736658735700, -0.933928610805040190, -0.933946482616523020, -0.933964352093139770, -0.933982219234845590, -0.934000084041595850, -0.934017946513345910, -0.934035806650051040, +-0.934053664451666710, -0.934071519918148300, -0.934089373049450940, -0.934107223845530240, -0.934125072306341450, -0.934142918431840050, -0.934160762221981190, -0.934178603676720560, +-0.934196442796013330, -0.934214279579815180, -0.934232114028081150, -0.934249946140766950, -0.934267775917827840, -0.934285603359219170, -0.934303428464896670, -0.934321251234815460, +-0.934339071668931260, -0.934356889767199330, -0.934374705529575130, -0.934392518956014160, -0.934410330046472000, -0.934428138800903920, -0.934445945219265490, -0.934463749301512210, +-0.934481551047599560, -0.934499350457483000, -0.934517147531118250, -0.934534942268460340, -0.934552734669465310, -0.934570524734088300, -0.934588312462285130, -0.934606097854011050, +-0.934623880909221770, -0.934641661627872770, -0.934659440009919630, -0.934677216055317950, -0.934694989764023100, -0.934712761135990890, -0.934730530171176690, -0.934748296869536200, +-0.934766061231025010, -0.934783823255598610, -0.934801582943212690, -0.934819340293822850, -0.934837095307384570, -0.934854847983853540, -0.934872598323185480, -0.934890346325335850, +-0.934908091990260370, -0.934925835317914730, -0.934943576308254420, -0.934961314961235250, -0.934979051276812800, -0.934996785254942560, -0.935014516895580570, -0.935032246198682080, +-0.935049973164203130, -0.935067697792099200, -0.935085420082325980, -0.935103140034839300, -0.935120857649594740, -0.935138572926548010, -0.935156285865654800, -0.935173996466870940, +-0.935191704730152120, -0.935209410655453930, -0.935227114242732300, -0.935244815491942830, -0.935262514403041420, -0.935280210975983680, -0.935297905210725420, -0.935315597107222340, +-0.935333286665430360, -0.935350973885305080, -0.935368658766802420, -0.935386341309878080, -0.935404021514487870, -0.935421699380587610, -0.935439374908133110, -0.935457048097080190, +-0.935474718947384650, -0.935492387459002320, -0.935510053631888990, -0.935527717466000610, -0.935545378961292860, -0.935563038117721680, -0.935580694935242870, -0.935598349413812370, +-0.935616001553385980, -0.935633651353919630, -0.935651298815369010, -0.935668943937690290, -0.935686586720839260, -0.935704227164771640, -0.935721865269443450, -0.935739501034810630, +-0.935757134460829090, -0.935774765547454650, -0.935792394294643340, -0.935810020702350980, -0.935827644770533710, -0.935845266499147230, -0.935862885888147590, -0.935880502937490700, +-0.935898117647132600, -0.935915730017029210, -0.935933340047136460, -0.935950947737410390, -0.935968553087807020, -0.935986156098282060, -0.936003756768791880, -0.936021355099292300, +-0.936038951089739340, -0.936056544740089040, -0.936074136050297210, -0.936091725020320230, -0.936109311650113800, -0.936126895939634160, -0.936144477888837260, -0.936162057497679110, +-0.936179634766115880, -0.936197209694103580, -0.936214782281598160, -0.936232352528555970, -0.936249920434932710, -0.936267486000684770, -0.936285049225768050, -0.936302610110138710, +-0.936320168653752780, -0.936337724856566630, -0.936355278718535970, -0.936372830239617260, -0.936390379419766440, -0.936407926258939540, -0.936425470757093040, -0.936443012914182640, +-0.936460552730164820, -0.936478090204995620, -0.936495625338631290, -0.936513158131027760, -0.936530688582141390, -0.936548216691928230, -0.936565742460344630, -0.936583265887346530, +-0.936600786972890400, -0.936618305716932280, -0.936635822119428420, -0.936653336180334860, -0.936670847899608080, -0.936688357277204120, -0.936705864313079340, -0.936723369007189890, +-0.936740871359492020, -0.936758371369942000, -0.936775869038495970, -0.936793364365110290, -0.936810857349741230, -0.936828347992345050, -0.936845836292877880, -0.936863322251296200, +-0.936880805867556180, -0.936898287141614270, -0.936915766073426530, -0.936933242662949420, -0.936950716910139090, -0.936968188814952140, -0.936985658377344600, -0.937003125597272950, +-0.937020590474693440, -0.937038053009562550, -0.937055513201836440, -0.937072971051471690, -0.937090426558424450, -0.937107879722651080, -0.937125330544108070, -0.937142779022751670, +-0.937160225158538360, -0.937177668951424400, -0.937195110401366380, -0.937212549508320560, -0.937229986272243410, -0.937247420693091190, -0.937264852770820500, -0.937282282505387590, +-0.937299709896749160, -0.937317134944861240, -0.937334557649680660, -0.937351978011163540, -0.937369396029266610, -0.937386811703946000, -0.937404225035158520, -0.937421636022860440, +-0.937439044667008230, -0.937456450967558470, -0.937473854924467550, -0.937491256537692050, -0.937508655807188340, -0.937526052732913010, -0.937543447314822530, -0.937560839552873500, +-0.937578229447022290, -0.937595616997225600, -0.937613002203439790, -0.937630385065621460, -0.937647765583727200, -0.937665143757713590, -0.937682519587537010, -0.937699893073154270, +-0.937717264214521620, -0.937734633011595990, -0.937751999464333630, -0.937769363572691360, -0.937786725336625550, -0.937804084756093110, -0.937821441831050430, -0.937838796561454080, +-0.937856148947260770, -0.937873498988426980, -0.937890846684909630, -0.937908192036664980, -0.937925535043649950, -0.937942875705821020, -0.937960214023135010, -0.937977549995548390, +-0.937994883623017970, -0.938012214905500240, -0.938029543842952010, -0.938046870435329970, -0.938064194682590720, -0.938081516584690860, -0.938098836141587400, -0.938116153353236730, +-0.938133468219595760, -0.938150780740621080, -0.938168090916269510, -0.938185398746497650, -0.938202704231262290, -0.938220007370520140, -0.938237308164228010, -0.938254606612342610, +-0.938271902714820750, -0.938289196471619010, -0.938306487882694330, -0.938323776948003510, -0.938341063667503140, -0.938358348041150260, -0.938375630068901350, -0.938392909750713430, +-0.938410187086543220, -0.938427462076347530, -0.938444734720083160, -0.938462005017707050, -0.938479272969175880, -0.938496538574446590, -0.938513801833475880, -0.938531062746220670, +-0.938548321312637770, -0.938565577532684100, -0.938582831406316600, -0.938600082933491840, -0.938617332114166980, -0.938634578948298710, -0.938651823435844080, -0.938669065576759780, +-0.938686305371002950, -0.938703542818530300, -0.938720777919298750, -0.938738010673265340, -0.938755241080386880, -0.938772469140620290, -0.938789694853922500, -0.938806918220250530, +-0.938824139239561210, -0.938841357911811670, -0.938858574236958620, -0.938875788214959210, -0.938892999845770240, -0.938910209129348750, -0.938927416065651780, -0.938944620654636350, +-0.938961822896259290, -0.938979022790477740, -0.938996220337248500, -0.939013415536528840, -0.939030608388275570, -0.939047798892445830, -0.939064987048996550, -0.939082172857884870, +-0.939099356319067600, -0.939116537432502120, -0.939133716198145120, -0.939150892615953970, -0.939168066685885590, -0.939185238407897030, -0.939202407781945410, -0.939219574807987680, +-0.939236739485981080, -0.939253901815882530, -0.939271061797649300, -0.939288219431238410, -0.939305374716607020, -0.939322527653712050, -0.939339678242510970, -0.939356826482960480, +-0.939373972375018070, -0.939391115918640660, -0.939408257113785510, -0.939425395960409640, -0.939442532458470430, -0.939459666607924680, -0.939476798408729890, -0.939493927860843070, +-0.939511054964221490, -0.939528179718822300, -0.939545302124602520, -0.939562422181519640, -0.939579539889530580, -0.939596655248592820, -0.939613768258663270, -0.939630878919699320, +-0.939647987231658210, -0.939665093194497090, -0.939682196808173330, -0.939699298072643960, -0.939716396987866460, -0.939733493553797870, -0.939750587770395550, -0.939767679637616870, +-0.939784769155418860, -0.939801856323759120, -0.939818941142594570, -0.939836023611882680, -0.939853103731580710, -0.939870181501646140, -0.939887256922036010, -0.939904329992707680, +-0.939921400713618630, -0.939938469084726000, -0.939955535105987280, -0.939972598777359610, -0.939989660098800580, -0.940006719070267230, -0.940023775691717240, -0.940040829963107670, +-0.940057881884396210, -0.940074931455539890, -0.940091978676496300, -0.940109023547222700, -0.940126066067676680, -0.940143106237815380, -0.940160144057596400, -0.940177179526976880, +-0.940194212645914630, -0.940211243414366680, -0.940228271832290740, -0.940245297899644170, -0.940262321616384230, -0.940279342982468510, -0.940296361997854380, -0.940313378662499530, +-0.940330392976361010, -0.940347404939396720, -0.940364414551563720, -0.940381421812819810, -0.940398426723122350, -0.940415429282428830, -0.940432429490696610, -0.940449427347883390, +-0.940466422853946660, -0.940483416008843780, -0.940500406812532440, -0.940517395264970020, -0.940534381366114110, -0.940551365115922300, -0.940568346514352170, -0.940585325561360990, +-0.940602302256906550, -0.940619276600946350, -0.940636248593438080, -0.940653218234339010, -0.940670185523607040, -0.940687150461199440, -0.940704113047074130, -0.940721073281188480, +-0.940738031163500190, -0.940754986693966730, -0.940771939872545810, -0.940788890699195020, -0.940805839173872170, -0.940822785296534510, -0.940839729067140080, -0.940856670485646250, +-0.940873609552010710, -0.940890546266191170, -0.940907480628145330, -0.940924412637830660, -0.940941342295204990, -0.940958269600226100, -0.940975194552851390, -0.940992117153038770, +-0.941009037400745820, -0.941025955295930250, -0.941042870838549870, -0.941059784028562270, -0.941076694865925160, -0.941093603350596440, -0.941110509482533500, -0.941127413261694470, +-0.941144314688036830, -0.941161213761518510, -0.941178110482096990, -0.941195004849730400, -0.941211896864376120, -0.941228786525992180, -0.941245673834536280, -0.941262558789966120, +-0.941279441392239620, -0.941296321641314490, -0.941313199537148650, -0.941330075079699680, -0.941346948268925620, -0.941363819104784170, -0.941380687587233140, -0.941397553716230350, +-0.941414417491733820, -0.941431278913701040, -0.941448137982090260, -0.941464994696859070, -0.941481849057965390, -0.941498701065367040, -0.941515550719022040, -0.941532398018887990, +-0.941549242964923150, -0.941566085557085100, -0.941582925795331870, -0.941599763679621280, -0.941616599209911250, -0.941633432386159820, -0.941650263208324790, -0.941667091676364090, +-0.941683917790235640, -0.941700741549897360, -0.941717562955307290, -0.941734382006423340, -0.941751198703203340, -0.941768013045605420, -0.941784825033587400, -0.941801634667107420, +-0.941818441946123190, -0.941835246870593060, -0.941852049440474630, -0.941868849655726150, -0.941885647516305550, -0.941902443022170850, -0.941919236173280110, -0.941936026969591110, +-0.941952815411062240, -0.941969601497651190, -0.941986385229316210, -0.942003166606015130, -0.942019945627706300, -0.942036722294347540, -0.942053496605896990, -0.942070268562312570, +-0.942087038163552660, -0.942103805409575060, -0.942120570300338020, -0.942137332835799480, -0.942154093015917680, -0.942170850840650550, -0.942187606309956350, -0.942204359423793100, +-0.942221110182119070, -0.942237858584892170, -0.942254604632070670, -0.942271348323612590, -0.942288089659476190, -0.942304828639619510, -0.942321565264000790, -0.942338299532578190, +-0.942355031445309850, -0.942371761002153920, -0.942388488203068530, -0.942405213048011950, -0.942421935536942310, -0.942438655669817880, -0.942455373446596800, -0.942472088867237320, +-0.942488801931697600, -0.942505512639935870, -0.942522220991910300, -0.942538926987579240, -0.942555630626900840, -0.942572331909833360, -0.942589030836335050, -0.942605727406364170, +-0.942622421619879080, -0.942639113476837820, -0.942655802977198750, -0.942672490120920250, -0.942689174907960450, -0.942705857338277720, -0.942722537411830430, -0.942739215128576720, +-0.942755890488475080, -0.942772563491483530, -0.942789234137560770, -0.942805902426664730, -0.942822568358754110, -0.942839231933786940, -0.942855893151721800, -0.942872552012516850, +-0.942889208516130560, -0.942905862662521190, -0.942922514451647210, -0.942939163883466990, -0.942955810957938790, -0.942972455675021080, -0.942989098034672240, -0.943005738036850730, +-0.943022375681514700, -0.943039010968622860, -0.943055643898133460, -0.943072274470004970, -0.943088902684195760, -0.943105528540664320, -0.943122152039369000, -0.943138773180268400, +-0.943155391963320770, -0.943172008388484810, -0.943188622455718660, -0.943205234164981030, -0.943221843516230280, -0.943238450509425010, -0.943255055144523460, -0.943271657421484440, +-0.943288257340266220, -0.943304854900827270, -0.943321450103126290, -0.943338042947121650, -0.943354633432771930, -0.943371221560035610, -0.943387807328871290, -0.943404390739237320, +-0.943420971791092410, -0.943437550484395150, -0.943454126819103900, -0.943470700795177360, -0.943487272412574240, -0.943503841671252670, -0.943520408571171700, -0.943536973112289680, +-0.943553535294565200, -0.943570095117956860, -0.943586652582423250, -0.943603207687923160, -0.943619760434414870, -0.943636310821857280, -0.943652858850208890, -0.943669404519428380, +-0.943685947829474240, -0.943702488780305380, -0.943719027371880180, -0.943735563604157560, -0.943752097477095870, -0.943768628990654060, -0.943785158144790580, -0.943801684939464370, +-0.943818209374633790, -0.943834731450257760, -0.943851251166294760, -0.943867768522703820, -0.943884283519443310, -0.943900796156472270, -0.943917306433749050, -0.943933814351232690, +-0.943950319908881790, -0.943966823106655030, -0.943983323944511230, -0.943999822422409100, -0.944016318540307540, -0.944032812298165050, -0.944049303695940530, -0.944065792733592810, +-0.944082279411080580, -0.944098763728362660, -0.944115245685397840, -0.944131725282144840, -0.944148202518562680, -0.944164677394609850, -0.944181149910245380, -0.944197620065428070, +-0.944214087860116740, -0.944230553294270080, -0.944247016367847140, -0.944263477080806600, -0.944279935433107400, -0.944296391424708340, -0.944312845055568340, -0.944329296325646220, +-0.944345745234900780, -0.944362191783291060, -0.944378635970775760, -0.944395077797314020, -0.944411517262864430, -0.944427954367386250, -0.944444389110837950, -0.944460821493178890, +-0.944477251514367570, -0.944493679174363330, -0.944510104473124780, -0.944526527410610940, -0.944542947986780850, -0.944559366201593310, -0.944575782055007470, -0.944592195546982150, +-0.944608606677476260, -0.944625015446448950, -0.944641421853859020, -0.944657825899665520, -0.944674227583827570, -0.944690626906303900, -0.944707023867053850, -0.944723418466036140, +-0.944739810703209890, -0.944756200578534040, -0.944772588091967850, -0.944788973243470000, -0.944805356032999870, -0.944821736460516260, -0.944838114525978320, -0.944854490229345090, +-0.944870863570575700, -0.944887234549629080, -0.944903603166464490, -0.944919969421040730, -0.944936333313317170, -0.944952694843252840, -0.944969054010806550, -0.944985410815937790, +-0.945001765258605460, -0.945018117338768730, -0.945034467056386610, -0.945050814411418470, -0.945067159403823240, -0.945083502033560060, -0.945099842300588190, -0.945116180204866650, +-0.945132515746354710, -0.945148848925011500, -0.945165179740796170, -0.945181508193667860, -0.945197834283585720, -0.945214158010509120, -0.945230479374396970, -0.945246798375208750, +-0.945263115012903610, -0.945279429287440460, -0.945295741198778900, -0.945312050746877960, -0.945328357931696890, -0.945344662753194840, -0.945360965211331280, -0.945377265306065140, +-0.945393563037356000, -0.945409858405162780, -0.945426151409445080, -0.945442442050161920, -0.945458730327272680, -0.945475016240736600, -0.945491299790512940, -0.945507580976561070, +-0.945523859798840350, -0.945540136257309820, -0.945556410351929060, -0.945572682082657100, -0.945588951449453650, -0.945605218452277740, -0.945621483091088730, -0.945637745365846110, +-0.945654005276509110, -0.945670262823037120, -0.945686518005389280, -0.945702770823525380, -0.945719021277404370, -0.945735269366985930, -0.945751515092229320, -0.945767758453093910, +-0.945783999449539060, -0.945800238081524250, -0.945816474349008730, -0.945832708251952200, -0.945848939790313810, -0.945865168964053040, -0.945881395773129350, -0.945897620217502340, +-0.945913842297131160, -0.945930062011975270, -0.945946279361994380, -0.945962494347147740, -0.945978706967394830, -0.945994917222695240, -0.946011125113008330, -0.946027330638293470, +-0.946043533798510470, -0.946059734593618470, -0.946075933023577290, -0.946092129088346170, -0.946108322787884810, -0.946124514122152590, -0.946140703091109090, -0.946156889694713790, +-0.946173073932926380, -0.946189255805706120, -0.946205435313012930, -0.946221612454805960, -0.946237787231045120, -0.946253959641689790, -0.946270129686699430, -0.946286297366033870, +-0.946302462679652460, -0.946318625627515010, -0.946334786209580890, -0.946350944425809910, -0.946367100276161440, -0.946383253760595400, -0.946399404879071040, -0.946415553631548280, +-0.946431700017986600, -0.946447844038345700, -0.946463985692585160, -0.946480124980664690, -0.946496261902543770, -0.946512396458182410, -0.946528528647539890, -0.946544658470576120, +-0.946560785927250680, -0.946576911017523280, -0.946593033741353730, -0.946609154098701390, -0.946625272089526290, -0.946641387713788030, -0.946657500971446190, -0.946673611862460680, +-0.946689720386791110, -0.946705826544397280, -0.946721930335238880, -0.946738031759275510, -0.946754130816467310, -0.946770227506773530, -0.946786321830154430, -0.946802413786569260, +-0.946818503375978280, -0.946834590598340960, -0.946850675453617120, -0.946866757941766670, -0.946882838062749310, -0.946898915816524860, -0.946914991203053000, -0.946931064222293890, +-0.946947134874206900, -0.946963203158752150, -0.946979269075889360, -0.946995332625578560, -0.947011393807779210, -0.947027452622451580, -0.947043509069555140, -0.947059563149050040, +-0.947075614860895980, -0.947091664205052860, -0.947107711181480630, -0.947123755790139190, -0.947139798030988240, -0.947155837903987830, -0.947171875409097860, -0.947187910546278160, +-0.947203943315488630, -0.947219973716689420, -0.947236001749840130, -0.947252027414900890, -0.947268050711831620, -0.947284071640592140, -0.947300090201142480, -0.947316106393442660, +-0.947332120217452500, -0.947348131673132030, -0.947364140760441400, -0.947380147479340180, -0.947396151829788760, -0.947412153811746930, -0.947428153425174720, -0.947444150670032070, +-0.947460145546279110, -0.947476138053875760, -0.947492128192782060, -0.947508115962958030, -0.947524101364363710, -0.947540084396959250, -0.947556065060704440, -0.947572043355559450, +-0.947588019281484390, -0.947603992838439320, -0.947619964026384260, -0.947635932845279360, -0.947651899295084420, -0.947667863375759920, -0.947683825087265670, -0.947699784429561930, +-0.947715741402608720, -0.947731696006366090, -0.947747648240794270, -0.947763598105853310, -0.947779545601503350, -0.947795490727704530, -0.947811433484416990, -0.947827373871600880, +-0.947843311889216330, -0.947859247537223500, -0.947875180815582640, -0.947891111724253670, -0.947907040263197050, -0.947922966432372730, -0.947938890231741050, -0.947954811661262050, +-0.947970730720896100, -0.947986647410603340, -0.948002561730344030, -0.948018473680078190, -0.948034383259766190, -0.948050290469368170, -0.948066195308844620, -0.948082097778155440, +-0.948097997877261010, -0.948113895606121580, -0.948129790964697520, -0.948145683952948850, -0.948161574570836050, -0.948177462818319380, -0.948193348695358870, -0.948209232201915220, +-0.948225113337948230, -0.948240992103418610, -0.948256868498286500, -0.948272742522512260, -0.948288614176056030, -0.948304483458878410, -0.948320350370939420, -0.948336214912199770, +-0.948352077082619370, -0.948367936882158920, -0.948383794310778570, -0.948399649368438790, -0.948415502055099720, -0.948431352370722070, -0.948447200315265970, -0.948463045888691900, +-0.948478889090960230, -0.948494729922031320, -0.948510568381865650, -0.948526404470423360, -0.948542238187665250, -0.948558069533551480, -0.948573898508042520, -0.948589725111098850, +-0.948605549342680820, -0.948621371202748920, -0.948637190691263730, -0.948653007808185400, -0.948668822553474620, -0.948684634927091760, -0.948700444928997300, -0.948716252559151710, +-0.948732057817515570, -0.948747860704049260, -0.948763661218713250, -0.948779459361468120, -0.948795255132274360, -0.948811048531092440, -0.948826839557882940, -0.948842628212606340, +-0.948858414495223010, -0.948874198405693870, -0.948889979943979060, -0.948905759110039380, -0.948921535903835320, -0.948937310325327470, -0.948953082374476180, -0.948968852051242370, +-0.948984619355586200, -0.949000384287468690, -0.949016146846850090, -0.949031907033691220, -0.949047664847952550, -0.949063420289594780, -0.949079173358578280, -0.949094924054864060, +-0.949110672378412400, -0.949126418329184100, -0.949142161907139740, -0.949157903112240020, -0.949173641944445530, -0.949189378403716870, -0.949205112490014820, -0.949220844203299880, +-0.949236573543532970, -0.949252300510674550, -0.949268025104685440, -0.949283747325526230, -0.949299467173157720, -0.949315184647540390, -0.949330899748635270, -0.949346612476402730, +-0.949362322830803800, -0.949378030811798950, -0.949393736419349210, -0.949409439653414950, -0.949425140513957210, -0.949440839000936450, -0.949456535114313720, -0.949472228854049690, +-0.949487920220104980, -0.949503609212440590, -0.949519295831017130, -0.949534980075795400, -0.949550661946736210, -0.949566341443800370, -0.949582018566948680, -0.949597693316141970, +-0.949613365691341030, -0.949629035692506670, -0.949644703319599710, -0.949660368572580960, -0.949676031451411330, -0.949691691956051630, -0.949707350086462680, -0.949723005842605380, +-0.949738659224440450, -0.949754310231929020, -0.949769958865031790, -0.949785605123709690, -0.949801249007923510, -0.949816890517634180, -0.949832529652802740, -0.949848166413389870, +-0.949863800799356620, -0.949879432810663780, -0.949895062447272510, -0.949910689709143500, -0.949926314596237780, -0.949941937108516270, -0.949957557245940000, -0.949973175008469670, +-0.949988790396066540, -0.950004403408691410, -0.950020014046305320, -0.950035622308869070, -0.950051228196343800, -0.950066831708690440, -0.950082432845870130, -0.950098031607843670, +-0.950113627994572110, -0.950129222006016460, -0.950144813642137760, -0.950160402902897050, -0.950175989788255350, -0.950191574298173690, -0.950207156432613000, -0.950222736191534520, +-0.950238313574899180, -0.950253888582668020, -0.950269461214802160, -0.950285031471262640, -0.950300599352010500, -0.950316164857006980, -0.950331727986212900, -0.950347288739589620, +-0.950362847117098060, -0.950378403118699480, -0.950393956744354780, -0.950409507994025240, -0.950425056867671870, -0.950440603365255930, -0.950456147486738460, -0.950471689232080590, +-0.950487228601243570, -0.950502765594188340, -0.950518300210876350, -0.950533832451268430, -0.950549362315326160, -0.950564889803010350, -0.950580414914282360, -0.950595937649103220, +-0.950611458007434410, -0.950626975989236840, -0.950642491594471890, -0.950658004823100590, -0.950673515675084400, -0.950689024150384370, -0.950704530248961840, -0.950720033970777980, +-0.950735535315794020, -0.950751034283971230, -0.950766530875270740, -0.950782025089654040, -0.950797516927082250, -0.950813006387516650, -0.950828493470918580, -0.950843978177249300, +-0.950859460506469970, -0.950874940458542040, -0.950890418033426780, -0.950905893231085430, -0.950921366051479370, -0.950936836494569950, -0.950952304560318320, -0.950967770248686060, +-0.950983233559634320, -0.950998694493124460, -0.951014153049117850, -0.951029609227575960, -0.951045063028460040, -0.951060514451731340, -0.951075963497351460, -0.951091410165281650, +-0.951106854455483370, -0.951122296367917790, -0.951137735902546690, -0.951153173059331000, -0.951168607838232540, -0.951184040239212550, -0.951199470262232500, -0.951214897907253660, +-0.951230323174237610, -0.951245746063145830, -0.951261166573939550, -0.951276584706580500, -0.951292000461029910, -0.951307413837249260, -0.951322824835200250, -0.951338233454844030, +-0.951353639696142280, -0.951369043559056490, -0.951384445043547910, -0.951399844149578340, -0.951415240877109160, -0.951430635226101940, -0.951446027196518050, -0.951461416788319080, +-0.951476804001466610, -0.951492188835922130, -0.951507571291647090, -0.951522951368603210, -0.951538329066751950, -0.951553704386054910, -0.951569077326473440, -0.951584447887969480, +-0.951599816070504260, -0.951615181874039600, -0.951630545298536860, -0.951645906343957850, -0.951661265010264160, -0.951676621297417150, -0.951691975205378630, -0.951707326734110180, +-0.951722675883573510, -0.951738022653729980, -0.951753367044541500, -0.951768709055969550, -0.951784048687975950, -0.951799385940522050, -0.951814720813569770, -0.951830053307080700, +-0.951845383421016540, -0.951860711155338770, -0.951876036510009400, -0.951891359484989820, -0.951906680080241930, -0.951921998295727210, -0.951937314131407590, -0.951952627587244750, +-0.951967938663200290, -0.951983247359235900, -0.951998553675313500, -0.952013857611394680, -0.952029159167441130, -0.952044458343414780, -0.952059755139277210, -0.952075049554990340, +-0.952090341590515750, -0.952105631245815490, -0.952120918520850900, -0.952136203415584250, -0.952151485929976890, -0.952166766063990980, -0.952182043817588090, -0.952197319190730030, +-0.952212592183378730, -0.952227862795495980, -0.952243131027043500, -0.952258396877983300, -0.952273660348277100, -0.952288921437886680, -0.952304180146773980, -0.952319436474900800, +-0.952334690422229070, -0.952349941988720470, -0.952365191174337270, -0.952380437979040930, -0.952395682402793490, -0.952410924445556860, -0.952426164107292970, -0.952441401387963630, +-0.952456636287530860, -0.952471868805956360, -0.952487098943202270, -0.952502326699230410, -0.952517552074002790, -0.952532775067481240, -0.952547995679627780, -0.952563213910404330, +-0.952578429759772800, -0.952593643227695350, -0.952608854314133560, -0.952624063019049780, -0.952639269342405840, -0.952654473284163750, -0.952669674844285330, -0.952684874022732830, +-0.952700070819468170, -0.952715265234453270, -0.952730457267650270, -0.952745646919021080, -0.952760834188527750, -0.952776019076132410, -0.952791201581796980, -0.952806381705483480, +-0.952821559447154080, -0.952836734806770890, -0.952851907784295740, -0.952867078379690870, -0.952882246592918310, -0.952897412423940100, -0.952912575872718380, -0.952927736939215180, +-0.952942895623392740, -0.952958051925212880, -0.952973205844638070, -0.952988357381630120, -0.953003506536151400, -0.953018653308163820, -0.953033797697629640, -0.953048939704510990, +-0.953064079328769910, -0.953079216570368650, -0.953094351429269460, -0.953109483905434260, -0.953124613998825420, -0.953139741709405080, -0.953154867037135370, -0.953169989981978330, +-0.953185110543896540, -0.953200228722851930, -0.953215344518806630, -0.953230457931723120, -0.953245568961563320, -0.953260677608289700, -0.953275783871864290, -0.953290887752249460, +-0.953305989249407460, -0.953321088363300430, -0.953336185093890730, -0.953351279441140620, -0.953366371405012130, -0.953381460985467830, -0.953396548182469880, -0.953411632995980530, +-0.953426715425962130, -0.953441795472376950, -0.953456873135187230, -0.953471948414355340, -0.953487021309843640, -0.953502091821614380, -0.953517159949629820, -0.953532225693852430, +-0.953547289054244460, -0.953562350030768170, -0.953577408623386140, -0.953592464832060500, -0.953607518656753750, -0.953622570097428120, -0.953637619154046210, -0.953652665826570160, +-0.953667710114962430, -0.953682752019185510, -0.953697791539201640, -0.953712828674973310, -0.953727863426462870, -0.953742895793632810, -0.953757925776445580, -0.953772953374863340, +-0.953787978588848890, -0.953803001418364490, -0.953818021863372500, -0.953833039923835610, -0.953848055599715970, -0.953863068890976270, -0.953878079797578770, -0.953893088319486160, +-0.953908094456660800, -0.953923098209065290, -0.953938099576661980, -0.953953098559413460, -0.953968095157282090, -0.953983089370230570, -0.953998081198221270, -0.954013070641216880, +-0.954028057699179640, -0.954043042372072380, -0.954058024659857450, -0.954073004562497550, -0.954087982079955150, -0.954102957212192630, -0.954117929959172880, -0.954132900320858180, +-0.954147868297211430, -0.954162833888194780, -0.954177797093771150, -0.954192757913903010, -0.954207716348553060, -0.954222672397683660, -0.954237626061257730, -0.954252577339237630, +-0.954267526231586170, -0.954282472738265720, -0.954297416859239300, -0.954312358594469170, -0.954327297943918350, -0.954342234907549100, -0.954357169485324340, -0.954372101677206650, +-0.954387031483158730, -0.954401958903143170, -0.954416883937122760, -0.954431806585060110, -0.954446726846918000, -0.954461644722659040, -0.954476560212245920, -0.954491473315641440, +-0.954506384032808300, -0.954521292363709200, -0.954536198308306830, -0.954551101866564000, -0.954566003038443410, -0.954580901823907760, -0.954595798222919960, -0.954610692235442590, +-0.954625583861438480, -0.954640473100870410, -0.954655359953701210, -0.954670244419893570, -0.954685126499410290, -0.954700006192214290, -0.954714883498268270, -0.954729758417534930, +-0.954744630949977300, -0.954759501095558070, -0.954774368854240050, -0.954789234225986160, -0.954804097210759100, -0.954818957808521880, -0.954833816019237220, -0.954848671842868040, +-0.954863525279377230, -0.954878376328727520, -0.954893224990881920, -0.954908071265803240, -0.954922915153454400, -0.954937756653798210, -0.954952595766797700, -0.954967432492415670, +-0.954982266830615050, -0.954997098781358860, -0.955011928344609800, -0.955026755520331010, -0.955041580308485180, -0.955056402709035580, -0.955071222721944890, -0.955086040347176150, +-0.955100855584692270, -0.955115668434456390, -0.955130478896431100, -0.955145286970579880, -0.955160092656865300, -0.955174895955250510, -0.955189696865698430, -0.955204495388172200, +-0.955219291522634630, -0.955234085269048960, -0.955248876627377900, -0.955263665597584800, -0.955278452179632480, -0.955293236373484070, -0.955308018179102600, -0.955322797596451000, +-0.955337574625492400, -0.955352349266189950, -0.955367121518506560, -0.955381891382405370, -0.955396658857849520, -0.955411423944801940, -0.955426186643225870, -0.955440946953084240, +-0.955455704874340280, -0.955470460406957050, -0.955485213550897770, -0.955499964306125270, -0.955514712672603020, -0.955529458650293930, -0.955544202239161260, -0.955558943439167920, +-0.955573682250277390, -0.955588418672452590, -0.955603152705656770, -0.955617884349853060, -0.955632613605004620, -0.955647340471074690, -0.955662064948026300, -0.955676787035822930, +-0.955691506734427380, -0.955706224043803230, -0.955720938963913410, -0.955735651494721280, -0.955750361636189980, -0.955765069388282870, -0.955779774750963100, -0.955794477724193790, +-0.955809178307938320, -0.955823876502159940, -0.955838572306821900, -0.955853265721887340, -0.955867956747319610, -0.955882645383082100, -0.955897331629137930, -0.955912015485450350, +-0.955926696951982850, -0.955941376028698550, -0.955956052715560830, -0.955970727012532940, -0.955985398919578230, -0.956000068436660080, -0.956014735563741720, -0.956029400300786540, +-0.956044062647757880, -0.956058722604618990, -0.956073380171333360, -0.956088035347864240, -0.956102688134175090, -0.956117338530229070, -0.956131986535989850, -0.956146632151420590, +-0.956161275376484880, -0.956175916211145840, -0.956190554655367060, -0.956205190709111920, -0.956219824372343760, -0.956234455645026070, -0.956249084527122210, -0.956263711018595640, +-0.956278335119409850, -0.956292956829528200, -0.956307576148914150, -0.956322193077531190, -0.956336807615342680, -0.956351419762312190, -0.956366029518403100, -0.956380636883578990, +-0.956395241857803220, -0.956409844441039490, -0.956424444633250940, -0.956439042434401480, -0.956453637844454250, -0.956468230863373070, -0.956482821491121290, -0.956497409727662400, +-0.956511995572960070, -0.956526579026977570, -0.956541160089678820, -0.956555738761027060, -0.956570315040986000, -0.956584888929519090, -0.956599460426590050, -0.956614029532162350, +-0.956628596246199560, -0.956643160568665160, -0.956657722499523080, -0.956672282038736440, -0.956686839186269290, -0.956701393942084980, -0.956715946306147200, -0.956730496278419550, +-0.956745043858865610, -0.956759589047449180, -0.956774131844133620, -0.956788672248882870, -0.956803210261660380, -0.956817745882429850, -0.956832279111154980, -0.956846809947799470, +-0.956861338392326790, -0.956875864444700850, -0.956890388104885250, -0.956904909372843780, -0.956919428248539820, -0.956933944731937490, -0.956948458823000170, -0.956962970521691770, +-0.956977479827975870, -0.956991986741816400, -0.957006491263176830, -0.957020993392021070, -0.957035493128312820, -0.957049990472015890, -0.957064485423093970, -0.957078977981510870, +-0.957093468147230290, -0.957107955920216020, -0.957122441300431890, -0.957136924287841580, -0.957151404882409020, -0.957165883084097890, -0.957180358892872230, -0.957194832308695510, +-0.957209303331531760, -0.957223771961344670, -0.957238238198098280, -0.957252702041756160, -0.957267163492282470, -0.957281622549640670, -0.957296079213795000, -0.957310533484708960, +-0.957324985362346670, -0.957339434846671940, -0.957353881937648590, -0.957368326635240630, -0.957382768939411650, -0.957397208850125910, -0.957411646367347100, -0.957426081491039250, +-0.957440514221166050, -0.957454944557691650, -0.957469372500579840, -0.957483798049794670, -0.957498221205300040, -0.957512641967059760, -0.957527060335037870, -0.957541476309198390, +-0.957555889889505240, -0.957570301075922340, -0.957584709868413600, -0.957599116266943160, -0.957613520271474950, -0.957627921881972880, -0.957642321098401080, -0.957656717920723490, +-0.957671112348904010, -0.957685504382906780, -0.957699894022695840, -0.957714281268235100, -0.957728666119488700, -0.957743048576420560, -0.957757428638994930, -0.957771806307175620, +-0.957786181580926880, -0.957800554460212620, -0.957814924944996980, -0.957829293035244110, -0.957843658730917920, -0.957858022031982560, -0.957872382938402270, -0.957886741450140860, +-0.957901097567162680, -0.957915451289431790, -0.957929802616912300, -0.957944151549568250, -0.957958498087363770, -0.957972842230263130, -0.957987183978230350, -0.958001523331229570, +-0.958015860289225030, -0.958030194852180880, -0.958044527020061150, -0.958058856792830090, -0.958073184170451950, -0.958087509152890870, -0.958101831740110990, -0.958116151932076550, +-0.958130469728751710, -0.958144785130100710, -0.958159098136087680, -0.958173408746677000, -0.958187716961832690, -0.958202022781519220, -0.958216326205700630, -0.958230627234341270, +-0.958244925867405280, -0.958259222104857030, -0.958273515946660660, -0.958287807392780520, -0.958302096443180870, -0.958316383097825960, -0.958330667356680150, -0.958344949219707590, +-0.958359228686872730, -0.958373505758139730, -0.958387780433473060, -0.958402052712836850, -0.958416322596195580, -0.958430590083513500, -0.958444855174754970, -0.958459117869884140, +-0.958473378168865690, -0.958487636071663650, -0.958501891578242730, -0.958516144688566940, -0.958530395402600770, -0.958544643720308680, -0.958558889641654920, -0.958573133166603970, +-0.958587374295120200, -0.958601613027167950, -0.958615849362711710, -0.958630083301715840, -0.958644314844144700, -0.958658543989962860, -0.958672770739134590, -0.958686995091624470, +-0.958701217047396750, -0.958715436606416120, -0.958729653768646830, -0.958743868534053360, -0.958758080902600280, -0.958772290874251980, -0.958786498448973010, -0.958800703626727760, +-0.958814906407480790, -0.958829106791196480, -0.958843304777839410, -0.958857500367374050, -0.958871693559765090, -0.958885884354976680, -0.958900072752973730, -0.958914258753720490, +-0.958928442357181670, -0.958942623563321720, -0.958956802372105230, -0.958970978783496690, -0.958985152797460770, -0.958999324413961960, -0.959013493632964840, -0.959027660454433880, +-0.959041824878333890, -0.959055986904629340, -0.959070146533284820, -0.959084303764264900, -0.959098458597534180, -0.959112611033057340, -0.959126761070798970, -0.959140908710723770, +-0.959155053952796210, -0.959169196796981090, -0.959183337243242900, -0.959197475291546420, -0.959211610941856250, -0.959225744194137090, -0.959239875048353400, -0.959254003504470210, +-0.959268129562451890, -0.959282253222263350, -0.959296374483869060, -0.959310493347233950, -0.959324609812322590, -0.959338723879099690, -0.959352835547529930, -0.959366944817578120, +-0.959381051689208950, -0.959395156162387130, -0.959409258237077460, -0.959423357913244620, -0.959437455190853440, -0.959451550069868600, -0.959465642550254790, -0.959479732631976940, +-0.959493820314999860, -0.959507905599288000, -0.959521988484806520, -0.959536068971520110, -0.959550147059393450, -0.959564222748391480, -0.959578296038478880, -0.959592366929620580, +-0.959606435421781370, -0.959620501514926060, -0.959634565209019570, -0.959648626504026600, -0.959662685399912060, -0.959676741896640760, -0.959690795994177610, -0.959704847692487650, +-0.959718896991535340, -0.959732943891285940, -0.959746988391704140, -0.959761030492754850, -0.959775070194403000, -0.959789107496613390, -0.959803142399351160, -0.959817174902581010, +-0.959831205006267840, -0.959845232710376810, -0.959859258014872600, -0.959873280919720240, -0.959887301424884650, -0.959901319530330980, -0.959915335236023790, -0.959929348541928460, +-0.959943359448009680, -0.959957367954232480, -0.959971374060561880, -0.959985377766962800, -0.959999379073400270, -0.960013377979839320, -0.960027374486244980, -0.960041368592582160, +-0.960055360298816000, -0.960069349604911300, -0.960083336510833330, -0.960097321016546880, -0.960111303122017310, -0.960125282827209330, -0.960139260132088280, -0.960153235036618980, +-0.960167207540766680, -0.960181177644496180, -0.960195145347772950, -0.960209110650561800, -0.960223073552827770, -0.960237034054536200, -0.960250992155651910, -0.960264947856140250, +-0.960278901155966150, -0.960292852055094850, -0.960306800553491380, -0.960320746651120990, -0.960334690347948610, -0.960348631643939580, -0.960362570539058940, -0.960376507033271930, +-0.960390441126543590, -0.960404372818839170, -0.960418302110123800, -0.960432229000362740, -0.960446153489521000, -0.960460075577563970, -0.960473995264456650, -0.960487912550164410, +-0.960501827434652510, -0.960515739917885860, -0.960529649999829930, -0.960543557680449860, -0.960557462959710890, -0.960571365837578290, -0.960585266314017310, -0.960599164388993070, +-0.960613060062470940, -0.960626953334416170, -0.960640844204794120, -0.960654732673569820, -0.960668618740708750, -0.960682502406176140, -0.960696383669937260, -0.960710262531957350, +-0.960724138992201880, -0.960738013050636110, -0.960751884707225170, -0.960765753961934640, -0.960779620814729670, -0.960793485265575730, -0.960807347314437950, -0.960821206961281820, +-0.960835064206072680, -0.960848919048776010, -0.960862771489356840, -0.960876621527780860, -0.960890469164013330, -0.960904314398019600, -0.960918157229765040, -0.960931997659215220, +-0.960945835686335290, -0.960959671311090840, -0.960973504533447100, -0.960987335353369660, -0.961001163770823900, -0.961014989785775260, -0.961028813398189130, -0.961042634608030970, +-0.961056453415266130, -0.961070269819860210, -0.961084083821778680, -0.961097895420986890, -0.961111704617450440, -0.961125511411134560, -0.961139315802005070, -0.961153117790027210, +-0.961166917375166570, -0.961180714557388630, -0.961194509336658950, -0.961208301712942910, -0.961222091686206200, -0.961235879256414180, -0.961249664423532550, -0.961263447187526650, +-0.961277227548362200, -0.961291005506004660, -0.961304781060419720, -0.961318554211572640, -0.961332324959429330, -0.961346093303955150, -0.961359859245115690, -0.961373622782876640, +-0.961387383917203580, -0.961401142648061980, -0.961414898975417540, -0.961428652899235850, -0.961442404419482480, -0.961456153536123240, -0.961469900249123490, -0.961483644558449040, +-0.961497386464065460, -0.961511125965938460, -0.961524863064033620, -0.961538597758316630, -0.961552330048753070, -0.961566059935308750, -0.961579787417949250, -0.961593512496640380, +-0.961607235171347610, -0.961620955442036850, -0.961634673308673690, -0.961648388771223720, -0.961662101829652950, -0.961675812483926750, -0.961689520734011150, -0.961703226579871730, +-0.961716930021474180, -0.961730631058784420, -0.961744329691768040, -0.961758025920390720, -0.961771719744618500, -0.961785411164416850, -0.961799100179751790, -0.961812786790588900, +-0.961826470996894000, -0.961840152798633000, -0.961853832195771590, -0.961867509188275570, -0.961881183776110870, -0.961894855959243290, -0.961908525737638300, -0.961922193111262260, +-0.961935858080080530, -0.961949520644059250, -0.961963180803164120, -0.961976838557361160, -0.961990493906615950, -0.962004146850894640, -0.962017797390162910, -0.962031445524386690, +-0.962045091253531770, -0.962058734577564300, -0.962072375496449860, -0.962086014010154480, -0.962099650118644070, -0.962113283821884660, -0.962126915119841940, -0.962140544012481950, +-0.962154170499770590, -0.962167794581673790, -0.962181416258157560, -0.962195035529187730, -0.962208652394730300, -0.962222266854751320, -0.962235878909216580, -0.962249488558092110, +-0.962263095801344060, -0.962276700638938220, -0.962290303070840620, -0.962303903097017190, -0.962317500717434160, -0.962331095932057230, -0.962344688740852660, -0.962358279143786350, +-0.962371867140824340, -0.962385452731932540, -0.962399035917077320, -0.962412616696224350, -0.962426195069339910, -0.962439771036390000, -0.962453344597340550, -0.962466915752157930, +-0.962480484500807810, -0.962494050843256680, -0.962507614779470220, -0.962521176309414920, -0.962534735433056450, -0.962548292150361310, -0.962561846461295390, -0.962575398365824950, +-0.962588947863915910, -0.962602494955534520, -0.962616039640646900, -0.962629581919219210, -0.962643121791217470, -0.962656659256608040, -0.962670194315356830, -0.962683726967430320, +-0.962697257212794310, -0.962710785051415270, -0.962724310483259240, -0.962737833508292450, -0.962751354126481050, -0.962764872337791290, -0.962778388142189410, -0.962791901539641450, +-0.962805412530113760, -0.962818921113572480, -0.962832427289983970, -0.962845931059314370, -0.962859432421530050, -0.962872931376597020, -0.962886427924481760, -0.962899922065150290, +-0.962913413798569210, -0.962926903124704410, -0.962940390043522500, -0.962953874554989490, -0.962967356659071850, -0.962980836355735840, -0.962994313644947700, -0.963007788526673790, +-0.963021261000880370, -0.963034731067533900, -0.963048198726600520, -0.963061663978046710, -0.963075126821838600, -0.963088587257942890, -0.963102045286325480, -0.963115500906953190, +-0.963128954119791940, -0.963142404924808400, -0.963155853321968850, -0.963169299311239730, -0.963182742892587210, -0.963196184065977960, -0.963209622831378120, -0.963223059188754390, +-0.963236493138072910, -0.963249924679300260, -0.963263353812402800, -0.963276780537346890, -0.963290204854099000, -0.963303626762625600, -0.963317046262893270, -0.963330463354868160, +-0.963343878038517070, -0.963357290313806120, -0.963370700180702030, -0.963384107639171150, -0.963397512689180060, -0.963410915330695120, -0.963424315563682910, -0.963437713388109910, +-0.963451108803942690, -0.963464501811147620, -0.963477892409691390, -0.963491280599540370, -0.963504666380661120, -0.963518049753020240, -0.963531430716584200, -0.963544809271319690, +-0.963558185417193070, -0.963571559154170920, -0.963584930482219940, -0.963598299401306700, -0.963611665911397570, -0.963625030012459470, -0.963638391704458640, -0.963651750987361890, +-0.963665107861135680, -0.963678462325746830, -0.963691814381161690, -0.963705164027347180, -0.963718511264269660, -0.963731856091895820, -0.963745198510192360, -0.963758538519125960, +-0.963771876118663220, -0.963785211308770820, -0.963798544089415340, -0.963811874460563490, -0.963825202422181950, -0.963838527974237410, -0.963851851116696580, -0.963865171849526030, +-0.963878490172692670, -0.963891806086162980, -0.963905119589903880, -0.963918430683881830, -0.963931739368063870, -0.963945045642416450, -0.963958349506906510, -0.963971650961500610, +-0.963984950006165690, -0.963998246640868190, -0.964011540865575280, -0.964024832680253410, -0.964038122084869500, -0.964051409079390240, -0.964064693663782560, -0.964077975838013130, +-0.964091255602048670, -0.964104532955856190, -0.964117807899402270, -0.964131080432653830, -0.964144350555577790, -0.964157618268140840, -0.964170883570309780, -0.964184146462051530, +-0.964197406943332890, -0.964210665014120780, -0.964223920674382010, -0.964237173924083480, -0.964250424763191890, -0.964263673191674390, -0.964276919209497540, -0.964290162816628600, +-0.964303404013034050, -0.964316642798681120, -0.964329879173536630, -0.964343113137567260, -0.964356344690740270, -0.964369573833022240, -0.964382800564380420, -0.964396024884781600, +-0.964409246794192710, -0.964422466292580660, -0.964435683379912480, -0.964448898056155080, -0.964462110321275380, -0.964475320175240510, -0.964488527618017290, -0.964501732649572730, +-0.964514935269873860, -0.964528135478887600, -0.964541333276581090, -0.964554528662921130, -0.964567721637874960, -0.964580912201409510, -0.964594100353491690, -0.964607286094088750, +-0.964620469423167370, -0.964633650340695040, -0.964646828846638440, -0.964660004940964820, -0.964673178623641210, -0.964686349894634640, -0.964699518753912130, -0.964712685201440930, +-0.964725849237187960, -0.964739010861120350, -0.964752170073205240, -0.964765326873409770, -0.964778481261700850, -0.964791633238045840, -0.964804782802411660, -0.964817929954765560, +-0.964831074695074560, -0.964844217023306030, -0.964857356939426870, -0.964870494443404340, -0.964883629535205570, -0.964896762214797700, -0.964909892482147980, -0.964923020337223440, +-0.964936145779991430, -0.964949268810419090, -0.964962389428473570, -0.964975507634121990, -0.964988623427331600, -0.965001736808069780, -0.965014847776303530, -0.965027956332000230, +-0.965041062475127000, -0.965054166205651100, -0.965067267523539880, -0.965080366428760380, -0.965093462921279950, -0.965106557001065960, -0.965119648668085530, -0.965132737922306030, +-0.965145824763694590, -0.965158909192218690, -0.965171991207845470, -0.965185070810542280, -0.965198148000276370, -0.965211222777015100, -0.965224295140725830, -0.965237365091375810, +-0.965250432628932290, -0.965263497753362840, -0.965276560464634500, -0.965289620762714850, -0.965302678647571020, -0.965315734119170710, -0.965328787177480940, -0.965341837822469180, +-0.965354886054102800, -0.965367931872349370, -0.965380975277176030, -0.965394016268550150, -0.965407054846439290, -0.965420091010810830, -0.965433124761632120, -0.965446156098870630, +-0.965459185022493730, -0.965472211532468760, -0.965485235628763430, -0.965498257311344980, -0.965511276580180770, -0.965524293435238490, -0.965537307876485400, -0.965550319903889060, +-0.965563329517416970, -0.965576336717036470, -0.965589341502715250, -0.965602343874420570, -0.965615343832120110, -0.965628341375781240, -0.965641336505371540, -0.965654329220858480, +-0.965667319522209630, -0.965680307409392480, -0.965693292882374490, -0.965706275941123350, -0.965719256585606420, -0.965732234815791510, -0.965745210631645870, -0.965758184033137290, +-0.965771155020233140, -0.965784123592901220, -0.965797089751108890, -0.965810053494823960, -0.965823014824013780, -0.965835973738646160, -0.965848930238688560, -0.965861884324108690, +-0.965874835994874000, -0.965887785250952310, -0.965900732092311090, -0.965913676518918020, -0.965926618530740910, -0.965939558127747120, -0.965952495309904460, -0.965965430077180610, +-0.965978362429543160, -0.965991292366959800, -0.966004219889398220, -0.966017144996826000, -0.966030067689211070, -0.966042987966520770, -0.966055905828723250, -0.966068821275785750, +-0.966081734307676300, -0.966094644924362480, -0.966107553125812090, -0.966120458911992830, -0.966133362282872390, -0.966146263238418460, -0.966159161778599060, -0.966172057903381680, +-0.966184951612734100, -0.966197842906624140, -0.966210731785019590, -0.966223618247888270, -0.966236502295197860, -0.966249383926916170, -0.966262263143011000, -0.966275139943450270, +-0.966288014328201660, -0.966300886297232990, -0.966313755850512050, -0.966326622988006870, -0.966339487709685030, -0.966352350015514450, -0.966365209905463040, -0.966378067379498610, +-0.966390922437588950, -0.966403775079702100, -0.966416625305805630, -0.966429473115867800, -0.966442318509856180, -0.966455161487738800, -0.966468002049483580, -0.966480840195058200, +-0.966493675924430810, -0.966506509237569200, -0.966519340134441410, -0.966532168615015120, -0.966544994679258470, -0.966557818327139380, -0.966570639558625770, -0.966583458373685420, +-0.966596274772286490, -0.966609088754396880, -0.966621900319984630, -0.966634709469017530, -0.966647516201463720, -0.966660320517291010, -0.966673122416467630, -0.966685921898961410, +-0.966698718964740360, -0.966711513613772500, -0.966724305846025870, -0.966737095661468480, -0.966749883060068370, -0.966762668041793560, -0.966775450606611960, -0.966788230754491940, +-0.966801008485401180, -0.966813783799307940, -0.966826556696180230, -0.966839327175986200, -0.966852095238693750, -0.966864860884271150, -0.966877624112686410, -0.966890384923907550, +-0.966903143317902720, -0.966915899294640060, -0.966928652854087690, -0.966941403996213640, -0.966954152720986060, -0.966966899028373180, -0.966979642918343040, -0.966992384390863660, +-0.967005123445903500, -0.967017860083430380, -0.967030594303412650, -0.967043326105818450, -0.967056055490616020, -0.967068782457773280, -0.967081507007258700, -0.967094229139040310, +-0.967106948853086460, -0.967119666149365060, -0.967132381027844600, -0.967145093488493200, -0.967157803531279110, -0.967170511156170360, -0.967183216363135420, -0.967195919152142540, +-0.967208619523159620, -0.967221317476155360, -0.967234013011097680, -0.967246706127955050, -0.967259396826695590, -0.967272085107287790, -0.967284770969699560, -0.967297454413899580, +-0.967310135439855890, -0.967322814047536840, -0.967335490236910790, -0.967348164007945990, -0.967360835360610790, -0.967373504294873570, -0.967386170810702440, -0.967398834908066000, +-0.967411496586932370, -0.967424155847270150, -0.967436812689047470, -0.967449467112232670, -0.967462119116794360, -0.967474768702700660, -0.967487415869920040, -0.967500060618420870, +-0.967512702948171600, -0.967525342859140600, -0.967537980351296230, -0.967550615424606740, -0.967563248079040930, -0.967575878314566930, -0.967588506131153210, -0.967601131528768140, +-0.967613754507380410, -0.967626375066958140, -0.967638993207470040, -0.967651608928884470, -0.967664222231169880, -0.967676833114294640, -0.967689441578227340, -0.967702047622936550, +-0.967714651248390510, -0.967727252454557930, -0.967739851241407160, -0.967752447608906770, -0.967765041557025250, -0.967777633085731170, -0.967790222194993000, -0.967802808884779320, +-0.967815393155058490, -0.967827975005799310, -0.967840554436970040, -0.967853131448539570, -0.967865706040476170, -0.967878278212748520, -0.967890847965325100, -0.967903415298174700, +-0.967915980211265680, -0.967928542704566740, -0.967941102778046350, -0.967953660431673300, -0.967966215665416070, -0.967978768479243360, -0.967991318873123730, -0.968003866847025660, +-0.968016412400918070, -0.968028955534769310, -0.968041496248548290, -0.968054034542223500, -0.968066570415763610, -0.968079103869137310, -0.968091634902313200, -0.968104163515260070, +-0.968116689707946510, -0.968129213480341200, -0.968141734832412840, -0.968154253764130220, -0.968166770275461940, -0.968179284366376680, -0.968191796036843240, -0.968204305286830320, +-0.968216812116306610, -0.968229316525241020, -0.968241818513601920, -0.968254318081358420, -0.968266815228479020, -0.968279309954932720, -0.968291802260688010, -0.968304292145713900, +-0.968316779609978970, -0.968329264653452150, -0.968341747276102120, -0.968354227477897790, -0.968366705258807860, -0.968379180618801130, -0.968391653557846510, -0.968404124075912700, +-0.968416592172968600, -0.968429057848983030, -0.968441521103924790, -0.968453981937762780, -0.968466440350465810, -0.968478896342002790, -0.968491349912342430, -0.968503801061453730, +-0.968516249789305620, -0.968528696095866670, -0.968541139981106140, -0.968553581444992710, -0.968566020487495400, -0.968578457108583040, -0.968590891308224510, -0.968603323086388630, +-0.968615752443044540, -0.968628179378161150, -0.968640603891707250, -0.968653025983651770, -0.968665445653963840, -0.968677862902612150, -0.968690277729565950, -0.968702690134793930, +-0.968715100118265340, -0.968727507679948860, -0.968739912819813640, -0.968752315537828700, -0.968764715833962950, -0.968777113708185420, -0.968789509160465020, -0.968801902190771000, +-0.968814292799072050, -0.968826680985337530, -0.968839066749536130, -0.968851450091637200, -0.968863831011609560, -0.968876209509422440, -0.968888585585044760, -0.968900959238445660, +-0.968913330469594050, -0.968925699278459170, -0.968938065665010060, -0.968950429629215740, -0.968962791171045450, -0.968975150290468100, -0.968987506987452840, -0.968999861261968910, +-0.969012213113985220, -0.969024562543471020, -0.969036909550395560, -0.969049254134727640, -0.969061596296436730, -0.969073936035491750, -0.969086273351861930, -0.969098608245516410, +-0.969110940716424450, -0.969123270764554960, -0.969135598389877510, -0.969147923592360900, -0.969160246371974620, -0.969172566728687570, -0.969184884662469330, -0.969197200173288700, +-0.969209513261115040, -0.969221823925917710, -0.969234132167665740, -0.969246437986328590, -0.969258741381875180, -0.969271042354274970, -0.969283340903497100, -0.969295637029511050, +-0.969307930732285720, -0.969320222011790690, -0.969332510867994990, -0.969344797300868090, -0.969357081310379230, -0.969369362896497560, -0.969381642059192530, -0.969393918798433510, +-0.969406193114189520, -0.969418465006430140, -0.969430734475124510, -0.969443001520242210, -0.969455266141752260, -0.969467528339624240, -0.969479788113827400, -0.969492045464330990, +-0.969504300391104580, -0.969516552894117310, -0.969528802973338650, -0.969541050628738080, -0.969553295860284830, -0.969565538667948370, -0.969577779051698060, -0.969590017011503270, +-0.969602252547333450, -0.969614485659157980, -0.969626716346946420, -0.969638944610667910, -0.969651170450292140, -0.969663393865788370, -0.969675614857126170, -0.969687833424274890, +-0.969700049567204130, -0.969712263285883220, -0.969724474580281550, -0.969736683450368790, -0.969748889896114190, -0.969761093917487550, -0.969773295514458010, -0.969785494686995380, +-0.969797691435068890, -0.969809885758648240, -0.969822077657702790, -0.969834267132202220, -0.969846454182116010, -0.969858638807413630, -0.969870821008064650, -0.969883000784038660, +-0.969895178135305120, -0.969907353061833620, -0.969919525563593730, -0.969931695640555150, -0.969943863292687110, -0.969956028519959660, -0.969968191322342020, -0.969980351699803900, +-0.969992509652314870, -0.970004665179844630, -0.970016818282362750, -0.970028968959838700, -0.970041117212242290, -0.970053263039543090, -0.970065406441710800, -0.970077547418714880, +-0.970089685970525140, -0.970101822097111270, -0.970113955798442730, -0.970126087074489330, -0.970138215925220760, -0.970150342350606600, -0.970162466350616650, -0.970174587925220380, +-0.970186707074387810, -0.970198823798088420, -0.970210938096291890, -0.970223049968968130, -0.970235159416086730, -0.970247266437617380, -0.970259371033529880, -0.970271473203793920, +-0.970283572948379300, -0.970295670267255830, -0.970307765160393080, -0.970319857627760960, -0.970331947669329180, -0.970344035285067630, -0.970356120474945790, -0.970368203238933800, +-0.970380283577001230, -0.970392361489118120, -0.970404436975253910, -0.970416510035378650, -0.970428580669462140, -0.970440648877474170, -0.970452714659384650, -0.970464778015163290, +-0.970476838944779980, -0.970488897448204550, -0.970500953525406880, -0.970513007176356800, -0.970525058401024320, -0.970537107199379130, -0.970549153571391150, -0.970561197517030290, +-0.970573239036266470, -0.970585278129069470, -0.970597314795409340, -0.970609349035255970, -0.970621380848579180, -0.970633410235348880, -0.970645437195535090, -0.970657461729107720, +-0.970669483836036790, -0.970681503516292010, -0.970693520769843500, -0.970705535596661280, -0.970717547996715170, -0.970729557969975180, -0.970741565516411220, -0.970753570635993430, +-0.970765573328691730, -0.970777573594476140, -0.970789571433316460, -0.970801566845182930, -0.970813559830045470, -0.970825550387874210, -0.970837538518638970, -0.970849524222309970, +-0.970861507498857020, -0.970873488348250380, -0.970885466770460060, -0.970897442765455980, -0.970909416333208370, -0.970921387473687280, -0.970933356186862610, -0.970945322472704600, +-0.970957286331183280, -0.970969247762268670, -0.970981206765931030, -0.970993163342140360, -0.971005117490866710, -0.971017069212080310, -0.971029018505751300, -0.971040965371849700, +-0.971052909810345640, -0.971064851821209380, -0.971076791404410940, -0.971088728559920570, -0.971100663287708390, -0.971112595587744430, -0.971124525459999060, -0.971136452904442390, +-0.971148377921044580, -0.971160300509775860, -0.971172220670606380, -0.971184138403506260, -0.971196053708445860, -0.971207966585395430, -0.971219877034324890, -0.971231785055204800, +-0.971243690648005200, -0.971255593812696330, -0.971267494549248540, -0.971279392857631980, -0.971291288737816890, -0.971303182189773630, -0.971315073213472440, -0.971326961808883560, +-0.971338847975977250, -0.971350731714723860, -0.971362613025093640, -0.971374491907056830, -0.971386368360583790, -0.971398242385644870, -0.971410113982210440, -0.971421983150250520, +-0.971433849889735800, -0.971445714200636410, -0.971457576082922710, -0.971469435536565060, -0.971481292561533930, -0.971493147157799440, -0.971504999325332190, -0.971516849064102290, +-0.971528696374080350, -0.971540541255236700, -0.971552383707541710, -0.971564223730965740, -0.971576061325479130, -0.971587896491052480, -0.971599729227656030, -0.971611559535260240, +-0.971623387413835580, -0.971635212863352530, -0.971647035883781320, -0.971658856475092650, -0.971670674637256760, -0.971682490370244230, -0.971694303674025320, -0.971706114548570810, +-0.971717922993850960, -0.971729729009836340, -0.971741532596497310, -0.971753333753804570, -0.971765132481728470, -0.971776928780239470, -0.971788722649308160, -0.971800514088905110, +-0.971812303099000680, -0.971824089679565570, -0.971835873830570240, -0.971847655551985160, -0.971859434843781010, -0.971871211705928270, -0.971882986138397520, -0.971894758141159220, +-0.971906527714184070, -0.971918294857442520, -0.971930059570905390, -0.971941821854543030, -0.971953581708326130, -0.971965339132225160, -0.971977094126211030, -0.971988846690253980, +-0.972000596824324940, -0.972012344528394360, -0.972024089802433040, -0.972035832646411360, -0.972047573060300100, -0.972059311044069950, -0.972071046597691610, -0.972082779721135440, +-0.972094510414372560, -0.972106238677373220, -0.972117964510108350, -0.972129687912548610, -0.972141408884664600, -0.972153127426427120, -0.972164843537806740, -0.972176557218774270, +-0.972188268469300400, -0.972199977289355920, -0.972211683678911420, -0.972223387637937810, -0.972235089166405660, -0.972246788264285900, -0.972258484931548980, -0.972270179168166050, +-0.972281870974107450, -0.972293560349344330, -0.972305247293847260, -0.972316931807587160, -0.972328613890534600, -0.972340293542660610, -0.972351970763935760, -0.972363645554331080, +-0.972375317913817260, -0.972386987842365210, -0.972398655339945630, -0.972410320406529420, -0.972421983042087380, -0.972433643246590430, -0.972445301020009370, -0.972456956362314990, +-0.972468609273478330, -0.972480259753469970, -0.972491907802261140, -0.972503553419822420, -0.972515196606124950, -0.972526837361139320, -0.972538475684836760, -0.972550111577187960, +-0.972561745038163840, -0.972573376067735310, -0.972585004665873500, -0.972596630832549100, -0.972608254567733140, -0.972619875871396530, -0.972631494743510180, -0.972643111184045120, +-0.972654725192972250, -0.972666336770262710, -0.972677945915887190, -0.972689552629816820, -0.972701156912022640, -0.972712758762475540, -0.972724358181146440, -0.972735955168006590, +-0.972747549723026790, -0.972759141846178070, -0.972770731537431540, -0.972782318796758250, -0.972793903624129100, -0.972805486019515220, -0.972817065982887530, -0.972828643514217270, +-0.972840218613475360, -0.972851791280632930, -0.972863361515661110, -0.972874929318530700, -0.972886494689213070, -0.972898057627679220, -0.972909618133900200, -0.972921176207847130, +-0.972932731849491140, -0.972944285058803260, -0.972955835835754730, -0.972967384180316590, -0.972978930092459950, -0.972990473572156070, -0.973002014619375970, -0.973013553234090780, +-0.973025089416271750, -0.973036623165890010, -0.973048154482916710, -0.973059683367323070, -0.973071209819080130, -0.973082733838159240, -0.973094255424531430, -0.973105774578168050, +-0.973117291299040230, -0.973128805587119230, -0.973140317442376060, -0.973151826864782300, -0.973163333854308750, -0.973174838410927000, -0.973186340534608170, -0.973197840225323520, +-0.973209337483044170, -0.973220832307741480, -0.973232324699386700, -0.973243814657951180, -0.973255302183406170, -0.973266787275722800, -0.973278269934872430, -0.973289750160826530, +-0.973301227953556230, -0.973312703313032770, -0.973324176239227620, -0.973335646732111930, -0.973347114791657250, -0.973358580417834630, -0.973370043610615740, -0.973381504369971620, +-0.973392962695873830, -0.973404418588293520, -0.973415872047202260, -0.973427323072571180, -0.973438771664371980, -0.973450217822575680, -0.973461661547153970, -0.973473102838078090, +-0.973484541695319390, -0.973495978118849360, -0.973507412108639450, -0.973518843664661020, -0.973530272786885310, -0.973541699475284130, -0.973553123729828500, -0.973564545550490210, +-0.973575964937240410, -0.973587381890050900, -0.973598796408892800, -0.973610208493737690, -0.973621618144557170, -0.973633025361322570, -0.973644430144005260, -0.973655832492577030, +-0.973667232407009250, -0.973678629887273270, -0.973690024933340780, -0.973701417545183250, -0.973712807722772130, -0.973724195466079020, -0.973735580775075380, -0.973746963649732790, +-0.973758344090022820, -0.973769722095917060, -0.973781097667386850, -0.973792470804404010, -0.973803841506939990, -0.973815209774966270, -0.973826575608454650, -0.973837939007376470, +-0.973849299971703550, -0.973860658501407240, -0.973872014596459450, -0.973883368256831530, -0.973894719482495170, -0.973906068273422080, -0.973917414629583810, -0.973928758550951960, +-0.973940100037498200, -0.973951439089194240, -0.973962775706011750, -0.973974109887922210, -0.973985441634897420, -0.973996770946909060, -0.974008097823928720, -0.974019422265928190, +-0.974030744272879060, -0.974042063844753110, -0.974053380981521940, -0.974064695683157340, -0.974076007949631010, -0.974087317780914730, -0.974098625176980090, -0.974109930137798900, +-0.974121232663342830, -0.974132532753583800, -0.974143830408493280, -0.974155125628043290, -0.974166418412205530, -0.974177708760951670, -0.974188996674253520, -0.974200282152082870, +-0.974211565194411540, -0.974222845801211320, -0.974234123972453900, -0.974245399708111190, -0.974256673008155110, -0.974267943872557220, -0.974279212301289550, -0.974290478294323800, +-0.974301741851631880, -0.974313002973185570, -0.974324261658956800, -0.974335517908917260, -0.974346771723039070, -0.974358023101293820, -0.974369272043653640, -0.974380518550090220, +-0.974391762620575590, -0.974403004255081420, -0.974414243453579740, -0.974425480216042580, -0.974436714542441630, -0.974447946432748900, -0.974459175886936310, -0.974470402904975770, +-0.974481627486839310, -0.974492849632498710, -0.974504069341925900, -0.974515286615093120, -0.974526501451971950, -0.974537713852534630, -0.974548923816752950, -0.974560131344598960, +-0.974571336436044660, -0.974582539091062070, -0.974593739309623120, -0.974604937091699820, -0.974616132437264080, -0.974627325346288150, -0.974638515818743830, -0.974649703854603260, +-0.974660889453838440, -0.974672072616421300, -0.974683253342324090, -0.974694431631518700, -0.974705607483977170, -0.974716780899671730, -0.974727951878574310, -0.974739120420656910, +-0.974750286525891800, -0.974761450194250980, -0.974772611425706590, -0.974783770220230550, -0.974794926577795100, -0.974806080498372360, -0.974817231981934480, -0.974828381028453480, +-0.974839527637901490, -0.974850671810250760, -0.974861813545473300, -0.974872952843541250, -0.974884089704426860, -0.974895224128102370, -0.974906356114539690, -0.974917485663711170, +-0.974928612775588840, -0.974939737450145060, -0.974950859687351960, -0.974961979487181660, -0.974973096849606420, -0.974984211774598490, -0.974995324262129870, -0.975006434312173150, +-0.975017541924700250, -0.975028647099683510, -0.975039749837095070, -0.975050850136907400, -0.975061947999092520, -0.975073043423622780, -0.975084136410470430, -0.975095226959607710, +-0.975106315071006980, -0.975117400744640370, -0.975128483980480350, -0.975139564778499170, -0.975150643138668950, -0.975161719060962160, -0.975172792545351160, -0.975183863591808090, +-0.975194932200305400, -0.975205998370815340, -0.975217062103310270, -0.975228123397762660, -0.975239182254144630, -0.975250238672428660, -0.975261292652587100, -0.975272344194592300, +-0.975283393298416730, -0.975294439964032530, -0.975305484191412390, -0.975316525980528430, -0.975327565331353230, -0.975338602243859040, -0.975349636718018330, -0.975360668753803670, +-0.975371698351187200, -0.975382725510141600, -0.975393750230639010, -0.975404772512652230, -0.975415792356153390, -0.975426809761115180, -0.975437824727509840, -0.975448837255309950, +-0.975459847344487980, -0.975470854995016510, -0.975481860206867780, -0.975492862980014470, -0.975503863314428950, -0.975514861210083790, -0.975525856666951460, -0.975536849685004540, +-0.975547840264215370, -0.975558828404556650, -0.975569814106000970, -0.975580797368520660, -0.975591778192088420, -0.975602756576676610, -0.975613732522258030, -0.975624706028805130, +-0.975635677096290400, -0.975646645724686510, -0.975657611913965940, -0.975668575664101370, -0.975679536975065380, -0.975690495846830540, -0.975701452279369550, -0.975712406272654760, +-0.975723357826659090, -0.975734306941354990, -0.975745253616715160, -0.975756197852712060, -0.975767139649318600, -0.975778079006507260, -0.975789015924250710, -0.975799950402521650, +-0.975810882441292660, -0.975821812040536530, -0.975832739200225840, -0.975843663920333280, -0.975854586200831540, -0.975865506041693420, -0.975876423442891380, -0.975887338404398450, +-0.975898250926187090, -0.975909161008230220, -0.975920068650500290, -0.975930973852970230, -0.975941876615612710, -0.975952776938400660, -0.975963674821306530, -0.975974570264303230, +-0.975985463267363460, -0.975996353830460130, -0.976007241953565920, -0.976018127636653520, -0.976029010879695850, -0.976039891682665580, -0.976050770045535750, -0.976061645968278820, +-0.976072519450867810, -0.976083390493275530, -0.976094259095474870, -0.976105125257438420, -0.976115988979139200, -0.976126850260550020, -0.976137709101643770, -0.976148565502393150, +-0.976159419462771180, -0.976170270982750550, -0.976181120062304400, -0.976191966701405400, -0.976202810900026470, -0.976213652658140530, -0.976224491975720370, -0.976235328852739110, +-0.976246163289169470, -0.976256995284984440, -0.976267824840156840, -0.976278651954659790, -0.976289476628465990, -0.976300298861548680, -0.976311118653880430, -0.976321936005434490, +-0.976332750916183660, -0.976343563386101070, -0.976354373415159400, -0.976365181003331920, -0.976375986150591400, -0.976386788856910990, -0.976397589122263600, -0.976408386946622240, +-0.976419182329959830, -0.976429975272249510, -0.976440765773464390, -0.976451553833577180, -0.976462339452561110, -0.976473122630389210, -0.976483903367034610, -0.976494681662470110, +-0.976505457516668950, -0.976516230929604160, -0.976527001901248750, -0.976537770431575860, -0.976548536520558620, -0.976559300168169940, -0.976570061374383070, -0.976580820139171020, +-0.976591576462506940, -0.976602330344363830, -0.976613081784715060, -0.976623830783533430, -0.976634577340792290, -0.976645321456464770, -0.976656063130523780, -0.976666802362942790, +-0.976677539153694710, -0.976688273502752890, -0.976699005410090250, -0.976709734875680140, -0.976720461899495680, -0.976731186481510140, -0.976741908621696520, -0.976752628320028290, +-0.976763345576478370, -0.976774060391020100, -0.976784772763626740, -0.976795482694271410, -0.976806190182927250, -0.976816895229567830, -0.976827597834166060, -0.976838297996695300, +-0.976848995717128800, -0.976859690995439790, -0.976870383831601630, -0.976881074225587450, -0.976891762177370620, -0.976902447686924250, -0.976913130754221930, -0.976923811379236670, +-0.976934489561941950, -0.976945165302311010, -0.976955838600317210, -0.976966509455933660, -0.976977177869133960, -0.976987843839891230, -0.976998507368178950, -0.977009168453970340, +-0.977019827097238890, -0.977030483297957830, -0.977041137056100630, -0.977051788371640530, -0.977062437244551000, -0.977073083674805280, -0.977083727662376940, -0.977094369207239240, +-0.977105008309365640, -0.977115644968729490, -0.977126279185304260, -0.977136910959063300, -0.977147540289980080, -0.977158167178028060, -0.977168791623180490, -0.977179413625411050, +-0.977190033184693110, -0.977200650301000010, -0.977211264974305330, -0.977221877204582420, -0.977232486991804870, -0.977243094335946140, -0.977253699236979580, -0.977264301694878880, +-0.977274901709617280, -0.977285499281168590, -0.977296094409506040, -0.977306687094603330, -0.977317277336433810, -0.977327865134971160, -0.977338450490188860, -0.977349033402060360, +-0.977359613870559360, -0.977370191895659320, -0.977380767477333710, -0.977391340615556330, -0.977401911310300520, -0.977412479561539870, -0.977423045369248070, -0.977433608733398680, +-0.977444169653965300, -0.977454728130921380, -0.977465284164240720, -0.977475837753896790, -0.977486388899863390, -0.977496937602113980, -0.977507483860622140, -0.977518027675361670, +-0.977528569046306140, -0.977539107973429130, -0.977549644456704340, -0.977560178496105550, -0.977570710091606120, -0.977581239243180080, -0.977591765950800880, -0.977602290214442340, +-0.977612812034078020, -0.977623331409681610, -0.977633848341226910, -0.977644362828687610, -0.977654874872037390, -0.977665384471250070, -0.977675891626299200, -0.977686396337158590, +-0.977696898603802040, -0.977707398426203240, -0.977717895804335880, -0.977728390738173860, -0.977738883227690870, -0.977749373272860600, -0.977759860873656960, -0.977770346030053530, +-0.977780828742024430, -0.977791309009543140, -0.977801786832583560, -0.977812262211119610, -0.977822735145124970, -0.977833205634573430, -0.977843673679438920, -0.977854139279695220, +-0.977864602435316250, -0.977875063146275700, -0.977885521412547480, -0.977895977234105480, -0.977906430610923530, -0.977916881542975510, -0.977927330030235350, -0.977937776072676730, +-0.977948219670273790, -0.977958660823000200, -0.977969099530830000, -0.977979535793737090, -0.977989969611695380, -0.978000400984678660, -0.978010829912660860, -0.978021256395616210, +-0.978031680433518180, -0.978042102026341120, -0.978052521174058720, -0.978062937876645110, -0.978073352134074090, -0.978083763946319680, -0.978094173313355800, -0.978104580235156670, +-0.978114984711695890, -0.978125386742947800, -0.978135786328886090, -0.978146183469485120, -0.978156578164718570, -0.978166970414560580, -0.978177360218985160, -0.978187747577966340, +-0.978198132491478130, -0.978208514959494680, -0.978218894981989880, -0.978229272558937770, -0.978239647690312570, -0.978250020376088210, -0.978260390616238930, -0.978270758410738520, +-0.978281123759561220, -0.978291486662681180, -0.978301847120072400, -0.978312205131709020, -0.978322560697565070, -0.978332913817614780, -0.978343264491832180, -0.978353612720191500, +-0.978363958502666660, -0.978374301839232020, -0.978384642729861590, -0.978394981174529500, -0.978405317173210000, -0.978415650725877220, -0.978425981832505290, -0.978436310493068450, +-0.978446636707540840, -0.978456960475896590, -0.978467281798109930, -0.978477600674155120, -0.978487917104006180, -0.978498231087637560, -0.978508542625023400, -0.978518851716137840, +-0.978529158360955110, -0.978539462559449570, -0.978549764311595240, -0.978560063617366580, -0.978570360476737840, -0.978580654889683150, -0.978590946856176760, -0.978601236376193010, +-0.978611523449706260, -0.978621808076690640, -0.978632090257120500, -0.978642369990970100, -0.978652647278213880, -0.978662922118825880, -0.978673194512780680, -0.978683464460052500, +-0.978693731960615710, -0.978703997014444440, -0.978714259621513260, -0.978724519781796420, -0.978734777495268380, -0.978745032761903280, -0.978755285581675570, -0.978765535954559730, +-0.978775783880530100, -0.978786029359560940, -0.978796272391626700, -0.978806512976701740, -0.978816751114760520, -0.978826986805777510, -0.978837220049726950, -0.978847450846583310, +-0.978857679196321160, -0.978867905098914750, -0.978878128554338530, -0.978888349562566980, -0.978898568123574670, -0.978908784237335850, -0.978918997903825080, -0.978929209123016840, +-0.978939417894885590, -0.978949624219405790, -0.978959828096551910, -0.978970029526298520, -0.978980228508619990, -0.978990425043490880, -0.979000619130885760, -0.979010810770779010, +-0.979020999963145290, -0.979031186707959080, -0.979041371005194950, -0.979051552854827260, -0.979061732256830800, -0.979071909211179920, -0.979082083717849330, -0.979092255776813580, +-0.979102425388047150, -0.979112592551524610, -0.979122757267220640, -0.979132919535109720, -0.979143079355166530, -0.979153236727365650, -0.979163391651681760, -0.979173544128089320, +-0.979183694156562920, -0.979193841737077460, -0.979203986869607300, -0.979214129554127120, -0.979224269790611720, -0.979234407579035570, -0.979244542919373460, -0.979254675811599970, +-0.979264806255689790, -0.979274934251617600, -0.979285059799358090, -0.979295182898885950, -0.979305303550175750, -0.979315421753202410, -0.979325537507940380, -0.979335650814364690, +-0.979345761672449690, -0.979355870082170400, -0.979365976043501400, -0.979376079556417480, -0.979386180620893440, -0.979396279236903760, -0.979406375404423550, -0.979416469123427280, +-0.979426560393889870, -0.979436649215786100, -0.979446735589090680, -0.979456819513778500, -0.979466900989824140, -0.979476980017202630, -0.979487056595888640, -0.979497130725856980, +-0.979507202407082560, -0.979517271639540050, -0.979527338423204390, -0.979537402758050350, -0.979547464644052850, -0.979557524081186680, -0.979567581069426760, -0.979577635608747780, +-0.979587687699124740, -0.979597737340532570, -0.979607784532945950, -0.979617829276340000, -0.979627871570689310, -0.979637911415969010, -0.979647948812154000, -0.979657983759219090, +-0.979668016257139170, -0.979678046305889170, -0.979688073905444100, -0.979698099055778870, -0.979708121756868390, -0.979718142008687680, -0.979728159811211530, -0.979738175164414970, +-0.979748188068273020, -0.979758198522760580, -0.979768206527852570, -0.979778212083524110, -0.979788215189750120, -0.979798215846505620, -0.979808214053765610, -0.979818209811504910, +-0.979828203119698870, -0.979838193978322170, -0.979848182387350050, -0.979858168346757540, -0.979868151856519540, -0.979878132916611080, -0.979888111527007500, -0.979898087687683490, +-0.979908061398614310, -0.979918032659774840, -0.979928001471140450, -0.979937967832686050, -0.979947931744386660, -0.979957893206217510, -0.979967852218153520, -0.979977808780170050, +-0.979987762892241990, -0.979997714554344480, -0.980007663766452760, -0.980017610528541860, -0.980027554840586900, -0.980037496702563020, -0.980047436114445450, -0.980057373076209330, +-0.980067307587829670, -0.980077239649281840, -0.980087169260540850, -0.980097096421581940, -0.980107021132380350, -0.980116943392911220, -0.980126863203149570, -0.980136780563070960, +-0.980146695472650320, -0.980156607931862880, -0.980166517940683990, -0.980176425499088790, -0.980186330607052510, -0.980196233264550410, -0.980206133471557830, -0.980216031228049790, +-0.980225926534001760, -0.980235819389388750, -0.980245709794186350, -0.980255597748369680, -0.980265483251913980, -0.980275366304794500, -0.980285246906986710, -0.980295125058465720, +-0.980305000759207010, -0.980314874009185710, -0.980324744808377280, -0.980334613156756960, -0.980344479054300110, -0.980354342500982080, -0.980364203496778220, -0.980374062041663770, +-0.980383918135614210, -0.980393771778604870, -0.980403622970611120, -0.980413471711608200, -0.980423318001571680, -0.980433161840476910, -0.980443003228299140, -0.980452842165013940, +-0.980462678650596660, -0.980472512685022670, -0.980482344268267300, -0.980492173400306140, -0.980502000081114540, -0.980511824310667970, -0.980521646088941770, -0.980531465415911520, +-0.980541282291552570, -0.980551096715840400, -0.980560908688750570, -0.980570718210258430, -0.980580525280339450, -0.980590329898969220, -0.980600132066123060, -0.980609931781776690, +-0.980619729045905440, -0.980629523858484900, -0.980639316219490520, -0.980649106128897770, -0.980658893586682350, -0.980668678592819700, -0.980678461147285410, -0.980688241250054830, +-0.980698018901103750, -0.980707794100407540, -0.980717566847941870, -0.980727337143682320, -0.980737104987604470, -0.980746870379683780, -0.980756633319895930, -0.980766393808216510, +-0.980776151844621080, -0.980785907429085340, -0.980795660561584740, -0.980805411242095080, -0.980815159470591840, -0.980824905247050680, -0.980834648571447310, -0.980844389443757290, +-0.980854127863956200, -0.980863863832019960, -0.980873597347924010, -0.980883328411644050, -0.980893057023155770, -0.980902783182434850, -0.980912506889456860, -0.980922228144197830, +-0.980931946946632990, -0.980941663296738490, -0.980951377194489660, -0.980961088639862530, -0.980970797632832570, -0.980980504173375790, -0.980990208261467540, -0.980999909897083850, +-0.981009609080200410, -0.981019305810793000, -0.981029000088837200, -0.981038691914308920, -0.981048381287183970, -0.981058068207438130, -0.981067752675046980, -0.981077434689986540, +-0.981087114252232500, -0.981096791361760650, -0.981106466018546790, -0.981116138222566820, -0.981125807973796450, -0.981135475272211570, -0.981145140117788080, -0.981154802510501690, +-0.981164462450328290, -0.981174119937243790, -0.981183774971223890, -0.981193427552244590, -0.981203077680281700, -0.981212725355311230, -0.981222370577308880, -0.981232013346250540, +-0.981241653662112250, -0.981251291524869780, -0.981260926934499070, -0.981270559890976110, -0.981280190394276720, -0.981289818444376790, -0.981299444041252360, -0.981309067184879420, +-0.981318687875233690, -0.981328306112291270, -0.981337921896028090, -0.981347535226420040, -0.981357146103443270, -0.981366754527073560, -0.981376360497287050, -0.981385964014059530, +-0.981395565077367140, -0.981405163687185890, -0.981414759843491690, -0.981424353546260560, -0.981433944795468530, -0.981443533591091710, -0.981453119933106020, -0.981462703821487590, +-0.981472285256212330, -0.981481864237256360, -0.981491440764595710, -0.981501014838206510, -0.981510586458064770, -0.981520155624146520, -0.981529722336427990, -0.981539286594884990, +-0.981548848399493970, -0.981558407750230730, -0.981567964647071410, -0.981577519089992250, -0.981587071078969250, -0.981596620613978570, -0.981606167694996420, -0.981615712321998850, +-0.981625254494961850, -0.981634794213861910, -0.981644331478674800, -0.981653866289377010, -0.981663398645944430, -0.981672928548353420, -0.981682455996580110, -0.981691980990600620, +-0.981701503530391210, -0.981711023615927990, -0.981720541247187330, -0.981730056424145240, -0.981739569146777960, -0.981749079415061840, -0.981758587228973020, -0.981768092588487630, +-0.981777595493582120, -0.981787095944232520, -0.981796593940415300, -0.981806089482106460, -0.981815582569282470, -0.981825073201919580, -0.981834561379993920, -0.981844047103481940, +-0.981853530372359780, -0.981863011186603800, -0.981872489546190330, -0.981881965451095520, -0.981891438901295930, -0.981900909896767700, -0.981910378437487190, -0.981919844523430730, +-0.981929308154574690, -0.981938769330895410, -0.981948228052369140, -0.981957684318972230, -0.981967138130681260, -0.981976589487472350, -0.981986038389321970, -0.981995484836206580, +-0.982004928828102420, -0.982014370364985960, -0.982023809446833430, -0.982033246073621520, -0.982042680245326480, -0.982052111961924770, -0.982061541223392730, -0.982070968029706840, +-0.982080392380843550, -0.982089814276779330, -0.982099233717490420, -0.982108650702953610, -0.982118065233145040, -0.982127477308041400, -0.982136886927619020, -0.982146294091854390, +-0.982155698800724060, -0.982165101054204510, -0.982174500852272200, -0.982183898194903590, -0.982193293082075260, -0.982202685513763660, -0.982212075489945490, -0.982221463010596980, +-0.982230848075694830, -0.982240230685215600, -0.982249610839135870, -0.982258988537431990, -0.982268363780080640, -0.982277736567058410, -0.982287106898341870, -0.982296474773907580, +-0.982305840193732020, -0.982315203157791970, -0.982324563666063800, -0.982333921718524290, -0.982343277315149920, -0.982352630455917470, -0.982361981140803310, -0.982371329369784330, +-0.982380675142836890, -0.982390018459937900, -0.982399359321063700, -0.982408697726191220, -0.982418033675297010, -0.982427367168357660, -0.982436698205349850, -0.982446026786250370, +-0.982455352911035810, -0.982464676579682950, -0.982473997792168260, -0.982483316548468650, -0.982492632848560700, -0.982501946692421190, -0.982511258080026820, -0.982520567011354370, +-0.982529873486380430, -0.982539177505081800, -0.982548479067435250, -0.982557778173417500, -0.982567074823005320, -0.982576369016175400, -0.982585660752904650, -0.982594950033169660, +-0.982604236856947310, -0.982613521224214410, -0.982622803134947650, -0.982632082589123930, -0.982641359586719940, -0.982650634127712590, -0.982659906212078770, -0.982669175839794960, +-0.982678443010838400, -0.982687707725185660, -0.982696969982813640, -0.982706229783699260, -0.982715487127819200, -0.982724742015150590, -0.982733994445669890, -0.982743244419354460, +-0.982752491936180750, -0.982761736996125790, -0.982770979599166590, -0.982780219745279850, -0.982789457434442680, -0.982798692666631780, -0.982807925441824160, -0.982817155759996730, +-0.982826383621126400, -0.982835609025190180, -0.982844831972164880, -0.982854052462027510, -0.982863270494754970, -0.982872486070324290, -0.982881699188712380, -0.982890909849896240, +-0.982900118053852800, -0.982909323800559060, -0.982918527089992170, -0.982927727922128790, -0.982936926296946070, -0.982946122214421130, -0.982955315674530870, -0.982964506677252330, +-0.982973695222562500, -0.982982881310438430, -0.982992064940857110, -0.983001246113795690, -0.983010424829231180, -0.983019601087140480, -0.983028774887500960, -0.983037946230289390, +-0.983047115115482930, -0.983056281543058690, -0.983065445512993800, -0.983074607025265390, -0.983083766079850260, -0.983092922676725880, -0.983102076815869030, -0.983111228497257180, +-0.983120377720867130, -0.983129524486676120, -0.983138668794661390, -0.983147810644799950, -0.983156950037068930, -0.983166086971445590, -0.983175221447907030, -0.983184353466430410, +-0.983193483026992940, -0.983202610129571770, -0.983211734774144030, -0.983220856960686950, -0.983229976689177660, -0.983239093959593520, -0.983248208771911660, -0.983257321126109310, +-0.983266431022163600, -0.983275538460051780, -0.983284643439751190, -0.983293745961238860, -0.983302846024492360, -0.983311943629488590, -0.983321038776205030, -0.983330131464618780, +-0.983339221694707330, -0.983348309466447800, -0.983357394779817430, -0.983366477634793680, -0.983375558031353680, -0.983384635969474670, -0.983393711449134230, -0.983402784470309490, +-0.983411855032977790, -0.983420923137116380, -0.983429988782702710, -0.983439051969714040, -0.983448112698127820, -0.983457170967921290, -0.983466226779071690, -0.983475280131556720, +-0.983484331025353490, -0.983493379460439350, -0.983502425436791780, -0.983511468954388230, -0.983520510013205950, -0.983529548613222500, -0.983538584754415020, -0.983547618436761200, +-0.983556649660238260, -0.983565678424823790, -0.983574704730495020, -0.983583728577229530, -0.983592749965004680, -0.983601768893798020, -0.983610785363586930, -0.983619799374348850, +-0.983628810926061250, -0.983637820018701700, -0.983646826652247560, -0.983655830826676290, -0.983664832541965460, -0.983673831798092650, -0.983682828595035200, -0.983691822932770690, +-0.983700814811276580, -0.983709804230530450, -0.983718791190509870, -0.983727775691192190, -0.983736757732555200, -0.983745737314576260, -0.983754714437232950, -0.983763689100502940, +-0.983772661304363690, -0.983781631048792680, -0.983790598333767700, -0.983799563159266200, -0.983808525525265760, -0.983817485431744080, -0.983826442878678600, -0.983835397866047010, +-0.983844350393827010, -0.983853300461996040, -0.983862248070531910, -0.983871193219412080, -0.983880135908614340, -0.983889076138116270, -0.983898013907895440, -0.983906949217929540, +-0.983915882068196360, -0.983924812458673470, -0.983933740389338450, -0.983942665860169210, -0.983951588871143200, -0.983960509422238340, -0.983969427513432080, -0.983978343144702340, +-0.983987256316026790, -0.983996167027382910, -0.984005075278748810, -0.984013981070101850, -0.984022884401420050, -0.984031785272680980, -0.984040683683862550, -0.984049579634942330, +-0.984058473125898230, -0.984067364156707810, -0.984076252727349110, -0.984085138837799690, -0.984094022488037460, -0.984102903678040210, -0.984111782407785630, -0.984120658677251630, +-0.984129532486415990, -0.984138403835256530, -0.984147272723751020, -0.984156139151877380, -0.984165003119613410, -0.984173864626936900, -0.984182723673825640, -0.984191580260257660, +-0.984200434386210740, -0.984209286051662690, -0.984218135256591520, -0.984226982000974910, -0.984235826284790890, -0.984244668108017250, -0.984253507470632010, -0.984262344372612950, +-0.984271178813938110, -0.984280010794585270, -0.984288840314532340, -0.984297667373757460, -0.984306491972238300, -0.984315314109952880, -0.984324133786879220, -0.984332951002995230, +-0.984341765758278920, -0.984350578052708090, -0.984359387886260980, -0.984368195258915280, -0.984377000170649110, -0.984385802621440380, -0.984394602611267210, -0.984403400140107520, +-0.984412195207939320, -0.984420987814740630, -0.984429777960489470, -0.984438565645163850, -0.984447350868741910, -0.984456133631201550, -0.984464913932520780, -0.984473691772677850, +-0.984482467151650550, -0.984491240069417240, -0.984500010525955700, -0.984508778521244190, -0.984517544055260710, -0.984526307127983390, -0.984535067739390370, -0.984543825889459550, +-0.984552581578169270, -0.984561334805497460, -0.984570085571422340, -0.984578833875922040, -0.984587579718974590, -0.984596323100558220, -0.984605064020651070, -0.984613802479231250, +-0.984622538476276900, -0.984631272011766260, -0.984640003085677340, -0.984648731697988500, -0.984657457848677750, -0.984666181537723450, -0.984674902765103720, -0.984683621530796580, +-0.984692337834780610, -0.984701051677033590, -0.984709763057533990, -0.984718471976260060, -0.984727178433189910, -0.984735882428301790, -0.984744583961573940, -0.984753283032984710, +-0.984761979642512220, -0.984770673790134720, -0.984779365475830670, -0.984788054699578090, -0.984796741461355540, -0.984805425761140940, -0.984814107598912860, -0.984822786974649530, +-0.984831463888329210, -0.984840138339930230, -0.984848810329430950, -0.984857479856809600, -0.984866146922044550, -0.984874811525114140, -0.984883473665996710, -0.984892133344670630, +-0.984900790561114130, -0.984909445315305780, -0.984918097607223710, -0.984926747436846380, -0.984935394804152260, -0.984944039709119590, -0.984952682151726820, -0.984961322131952420, +-0.984969959649774630, -0.984978594705172020, -0.984987227298122820, -0.984995857428605740, -0.985004485096598770, -0.985013110302080830, -0.985021733045029930, -0.985030353325424770, +-0.985038971143243790, -0.985047586498465240, -0.985056199391067810, -0.985064809821029840, -0.985073417788329910, -0.985082023292946360, -0.985090626334857890, -0.985099226914042720, +-0.985107825030479560, -0.985116420684146730, -0.985125013875022940, -0.985133604603086630, -0.985142192868316280, -0.985150778670690450, -0.985159362010187610, -0.985167942886786440, +-0.985176521300465400, -0.985185097251203070, -0.985193670738978010, -0.985202241763768690, -0.985210810325553910, -0.985219376424312010, -0.985227940060021680, -0.985236501232661490, +-0.985245059942210010, -0.985253616188645930, -0.985262169971947820, -0.985270721292094250, -0.985279270149063910, -0.985287816542835370, -0.985296360473387310, -0.985304901940698310, +-0.985313440944747040, -0.985321977485512310, -0.985330511562972470, -0.985339043177106520, -0.985347572327892830, -0.985356099015310180, -0.985364623239337380, -0.985373144999952990, +-0.985381664297135810, -0.985390181130864300, -0.985398695501117470, -0.985407207407873910, -0.985415716851112290, -0.985424223830811300, -0.985432728346949840, -0.985441230399506600, +-0.985449729988460250, -0.985458227113789500, -0.985466721775473230, -0.985475213973490140, -0.985483703707819130, -0.985492190978438760, -0.985500675785327960, -0.985509158128465400, +-0.985517638007829990, -0.985526115423400410, -0.985534590375155670, -0.985543062863074360, -0.985551532887135480, -0.985560000447317730, -0.985568465543599890, -0.985576928175960990, +-0.985585388344379810, -0.985593846048835040, -0.985602301289305700, -0.985610754065770590, -0.985619204378208600, -0.985627652226598650, -0.985636097610919530, -0.985644540531150250, +-0.985652980987269500, -0.985661418979256410, -0.985669854507089660, -0.985678287570748380, -0.985686718170211250, -0.985695146305457400, -0.985703571976465630, -0.985711995183215060, +-0.985720415925684380, -0.985728834203852710, -0.985737250017698960, -0.985745663367202150, -0.985754074252341070, -0.985762482673094850, -0.985770888629442400, -0.985779292121362730, +-0.985787693148834850, -0.985796091711837800, -0.985804487810350460, -0.985812881444351860, -0.985821272613821130, -0.985829661318737170, -0.985838047559079000, -0.985846431334825860, +-0.985854812645956540, -0.985863191492450160, -0.985871567874285870, -0.985879941791442670, -0.985888313243899580, -0.985896682231635730, -0.985905048754630140, -0.985913412812862040, +-0.985921774406310240, -0.985930133534954070, -0.985938490198772670, -0.985946844397744940, -0.985955196131850120, -0.985963545401067230, -0.985971892205375620, -0.985980236544754200, +-0.985988578419182190, -0.985996917828638740, -0.986005254773102970, -0.986013589252554110, -0.986021921266971300, -0.986030250816333660, -0.986038577900620330, -0.986046902519810640, +-0.986055224673883620, -0.986063544362818620, -0.986071861586594770, -0.986080176345191180, -0.986088488638587220, -0.986096798466762010, -0.986105105829694790, -0.986113410727364800, +-0.986121713159751280, -0.986130013126833570, -0.986138310628590700, -0.986146605665002120, -0.986154898236047070, -0.986163188341704690, -0.986171475981954430, -0.986179761156775300, +-0.986188043866147000, -0.986196324110048430, -0.986204601888459150, -0.986212877201358310, -0.986221150048725240, -0.986229420430539410, -0.986237688346779940, -0.986245953797426300, +-0.986254216782457730, -0.986262477301853570, -0.986270735355593290, -0.986278990943656230, -0.986287244066021530, -0.986295494722668860, -0.986303742913577360, -0.986311988638726600, +-0.986320231898095810, -0.986328472691664460, -0.986336711019411890, -0.986344946881317690, -0.986353180277360960, -0.986361411207521300, -0.986369639671778150, -0.986377865670110880, +-0.986386089202498930, -0.986394310268921880, -0.986402528869358970, -0.986410745003789670, -0.986418958672193540, -0.986427169874550040, -0.986435378610838630, -0.986443584881038780, +-0.986451788685129950, -0.986459990023091590, -0.986468188894903400, -0.986476385300544600, -0.986484579239994890, -0.986492770713233710, -0.986500959720240660, -0.986509146260995170, +-0.986517330335476840, -0.986525511943665110, -0.986533691085539680, -0.986541867761079990, -0.986550041970265750, -0.986558213713076280, -0.986566382989491290, -0.986574549799490330, +-0.986582714143052990, -0.986590876020158940, -0.986599035430787640, -0.986607192374918780, -0.986615346852531830, -0.986623498863606670, -0.986631648408122670, -0.986639795486059620, +-0.986647940097396980, -0.986656082242114540, -0.986664221920191880, -0.986672359131608670, -0.986680493876344600, -0.986688626154379360, -0.986696755965692400, -0.986704883310263630, +-0.986713008188072620, -0.986721130599099160, -0.986729250543322830, -0.986737368020723320, -0.986745483031280510, -0.986753595574973890, -0.986761705651783340, -0.986769813261688440, +-0.986777918404669110, -0.986786021080704900, -0.986794121289775730, -0.986802219031861160, -0.986810314306941220, -0.986818407114995240, -0.986826497456003480, -0.986834585329945280, +-0.986842670736800760, -0.986850753676549510, -0.986858834149171420, -0.986866912154646170, -0.986874987692953680, -0.986883060764073620, -0.986891131367986010, -0.986899199504670640, +-0.986907265174107210, -0.986915328376275600, -0.986923389111155620, -0.986931447378727290, -0.986939503178970170, -0.986947556511864500, -0.986955607377389740, -0.986963655775526140, +-0.986971701706253260, -0.986979745169551230, -0.986987786165399730, -0.986995824693778890, -0.987003860754668390, -0.987011894348048260, -0.987019925473898390, -0.987027954132198790, +-0.987035980322929160, -0.987044004046069730, -0.987052025301600190, -0.987060044089500650, -0.987068060409750920, -0.987076074262331130, -0.987084085647221050, -0.987092094564400830, +-0.987100101013850370, -0.987108104995549680, -0.987116106509478670, -0.987124105555617360, -0.987132102133945870, -0.987140096244444100, -0.987148087887092180, -0.987156077061869920, +-0.987164063768757540, -0.987172048007734950, -0.987180029778782280, -0.987188009081879430, -0.987195985917006640, -0.987203960284143920, -0.987211932183271300, -0.987219901614368790, +-0.987227868577416510, -0.987235833072394600, -0.987243795099283170, -0.987251754658062140, -0.987259711748711740, -0.987267666371212100, -0.987275618525543350, -0.987283568211685500, +-0.987291515429618680, -0.987299460179323130, -0.987307402460778860, -0.987315342273966220, -0.987323279618865120, -0.987331214495455800, -0.987339146903718490, -0.987347076843633320, +-0.987355004315180420, -0.987362929318340130, -0.987370851853092370, -0.987378771919417590, -0.987386689517295800, -0.987394604646707360, -0.987402517307632400, -0.987410427500051040, +-0.987418335223943730, -0.987426240479290510, -0.987434143266071710, -0.987442043584267570, -0.987449941433858340, -0.987457836814824130, -0.987465729727145520, -0.987473620170802420, +-0.987481508145775400, -0.987489393652044580, -0.987497276689590200, -0.987505157258392720, -0.987513035358432270, -0.987520910989689300, -0.987528784152143960, -0.987536654845776800, +-0.987544523070567840, -0.987552388826497650, -0.987560252113546590, -0.987568112931694770, -0.987575971280922670, -0.987583827161210740, -0.987591680572539100, -0.987599531514888330, +-0.987607379988238780, -0.987615225992570790, -0.987623069527864610, -0.987630910594100910, -0.987638749191259820, -0.987646585319321920, -0.987654418978267450, -0.987662250168077070, +-0.987670078888730930, -0.987677905140209700, -0.987685728922493730, -0.987693550235563380, -0.987701369079399210, -0.987709185453981560, -0.987716999359290910, -0.987724810795307830, +-0.987732619762012650, -0.987740426259385960, -0.987748230287408320, -0.987756031846059980, -0.987763830935321610, -0.987771627555173560, -0.987779421705596520, -0.987787213386570940, +-0.987795002598077290, -0.987802789340096240, -0.987810573612608160, -0.987818355415593600, -0.987826134749033140, -0.987833911612907340, -0.987841686007196800, -0.987849457931882060, +-0.987857227386943700, -0.987864994372362190, -0.987872758888118210, -0.987880520934192430, -0.987888280510565210, -0.987896037617217450, -0.987903792254129390, -0.987911544421282040, +-0.987919294118655760, -0.987927041346231220, -0.987934786103989100, -0.987942528391909990, -0.987950268209974560, -0.987958005558163490, -0.987965740436457350, -0.987973472844836940, +-0.987981202783282830, -0.987988930251775700, -0.987996655250296230, -0.988004377778825100, -0.988012097837343120, -0.988019815425830840, -0.988027530544269060, -0.988035243192638360, +-0.988042953370919630, -0.988050661079093450, -0.988058366317140720, -0.988066069085042020, -0.988073769382778130, -0.988081467210329740, -0.988089162567677870, -0.988096855454802970, +-0.988104545871685950, -0.988112233818307590, -0.988119919294648600, -0.988127602300689860, -0.988135282836412050, -0.988142960901796100, -0.988150636496822780, -0.988158309621472770, +-0.988165980275727110, -0.988173648459566350, -0.988181314172971610, -0.988188977415923490, -0.988196638188402980, -0.988204296490390880, -0.988211952321867980, -0.988219605682815190, +-0.988227256573213420, -0.988234904993043560, -0.988242550942286300, -0.988250194420922770, -0.988257835428933750, -0.988265473966300160, -0.988273110033002890, -0.988280743629022850, +-0.988288374754340840, -0.988296003408937970, -0.988303629592795050, -0.988311253305893200, -0.988318874548213100, -0.988326493319735770, -0.988334109620442320, -0.988341723450313570, +-0.988349334809330400, -0.988356943697473960, -0.988364550114725240, -0.988372154061065040, -0.988379755536474500, -0.988387354540934630, -0.988394951074426320, -0.988402545136930600, +-0.988410136728428590, -0.988417725848901200, -0.988425312498329430, -0.988432896676694430, -0.988440478383977190, -0.988448057620158750, -0.988455634385220220, -0.988463208679142610, +-0.988470780501906840, -0.988478349853494250, -0.988485916733885750, -0.988493481143062460, -0.988501043081005500, -0.988508602547695900, -0.988516159543114780, -0.988523714067243260, +-0.988531266120062480, -0.988538815701553550, -0.988546362811697500, -0.988553907450475670, -0.988561449617868960, -0.988568989313858610, -0.988576526538425870, -0.988584061291551850, +-0.988591593573217580, -0.988599123383404390, -0.988606650722093310, -0.988614175589265680, -0.988621697984902630, -0.988629217908985280, -0.988636735361494880, -0.988644250342412660, +-0.988651762851719850, -0.988659272889397590, -0.988666780455427110, -0.988674285549789760, -0.988681788172466660, -0.988689288323439050, -0.988696786002688290, -0.988704281210195600, +-0.988711773945942120, -0.988719264209909190, -0.988726752002078160, -0.988734237322430260, -0.988741720170946750, -0.988749200547608950, -0.988756678452398120, -0.988764153885295590, +-0.988771626846282730, -0.988779097335340750, -0.988786565352451020, -0.988794030897594880, -0.988801493970753680, -0.988808954571908760, -0.988816412701041480, -0.988823868358133070, +-0.988831321543165110, -0.988838772256118710, -0.988846220496975460, -0.988853666265716690, -0.988861109562323760, -0.988868550386778010, -0.988875988739060910, -0.988883424619153790, +-0.988890858027038130, -0.988898288962695380, -0.988905717426106780, -0.988913143417254000, -0.988920566936118410, -0.988927987982681220, -0.988935406556924250, -0.988942822658828600, +-0.988950236288375970, -0.988957647445547820, -0.988965056130325480, -0.988972462342690430, -0.988979866082624340, -0.988987267350108560, -0.988994666145124550, -0.989002062467653990, +-0.989009456317678230, -0.989016847695178720, -0.989024236600137270, -0.989031623032535110, -0.989039006992353920, -0.989046388479575160, -0.989053767494180500, -0.989061144036151420, +-0.989068518105469470, -0.989075889702116240, -0.989083258826073290, -0.989090625477322180, -0.989097989655844390, -0.989105351361621810, -0.989112710594635790, -0.989120067354867900, +-0.989127421642299940, -0.989134773456913470, -0.989142122798689960, -0.989149469667611190, -0.989156814063658740, -0.989164155986814290, -0.989171495437059400, -0.989178832414375760, +-0.989186166918745060, -0.989193498950148960, -0.989200828508569160, -0.989208155593987230, -0.989215480206384950, -0.989222802345743890, -0.989230122012045850, -0.989237439205272520, +-0.989244753925405670, -0.989252066172426780, -0.989259375946317850, -0.989266683247060460, -0.989273988074636400, -0.989281290429027240, -0.989288590310214990, -0.989295887718181110, +-0.989303182652907620, -0.989310475114376200, -0.989317765102568520, -0.989325052617466500, -0.989332337659051820, -0.989339620227306260, -0.989346900322211730, -0.989354177943749800, +-0.989361453091902600, -0.989368725766651690, -0.989375995967978980, -0.989383263695866270, -0.989390528950295330, -0.989397791731248200, -0.989405052038706430, -0.989412309872652160, +-0.989419565233067070, -0.989426818119933160, -0.989434068533232010, -0.989441316472945860, -0.989448561939056390, -0.989455804931545500, -0.989463045450395100, -0.989470283495587080, +-0.989477519067103240, -0.989484752164925820, -0.989491982789036380, -0.989499210939416950, -0.989506436616049640, -0.989513659818916150, -0.989520880547998470, -0.989528098803278630, +-0.989535314584738530, -0.989542527892360190, -0.989549738726125510, -0.989556947086016490, -0.989564152972015050, -0.989571356384103320, -0.989578557322263070, -0.989585755786476560, +-0.989592951776725570, -0.989600145292992230, -0.989607336335258550, -0.989614524903506540, -0.989621710997718230, -0.989628894617875510, -0.989636075763960730, -0.989643254435955580, +-0.989650430633842500, -0.989657604357603190, -0.989664775607219880, -0.989671944382674700, -0.989679110683949650, -0.989686274511026750, -0.989693435863888250, -0.989700594742516150, +-0.989707751146892580, -0.989714905076999550, -0.989722056532819310, -0.989729205514333970, -0.989736352021525550, -0.989743496054376280, -0.989750637612868190, -0.989757776696983620, +-0.989764913306704460, -0.989772047442013190, -0.989779179102891700, -0.989786308289322350, -0.989793435001287140, -0.989800559238768420, -0.989807681001748210, -0.989814800290208850, +-0.989821917104132480, -0.989829031443501320, -0.989836143308297610, -0.989843252698503480, -0.989850359614101280, -0.989857464055073240, -0.989864566021401380, -0.989871665513068270, +-0.989878762530055910, -0.989885857072346550, -0.989892949139922760, -0.989900038732766440, -0.989907125850860050, -0.989914210494185820, -0.989921292662726100, -0.989928372356463250, +-0.989935449575379380, -0.989942524319456840, -0.989949596588677980, -0.989956666383025260, -0.989963733702480810, -0.989970798547026960, -0.989977860916646190, -0.989984920811320720, +-0.989991978231033020, -0.989999033175765320, -0.990006085645499970, -0.990013135640219530, -0.990020183159906140, -0.990027228204542480, -0.990034270774110550, -0.990041310868593040, +-0.990048348487972190, -0.990055383632230560, -0.990062416301350390, -0.990069446495314250, -0.990076474214104390, -0.990083499457703460, -0.990090522226093730, -0.990097542519257750, +-0.990104560337177860, -0.990111575679836540, -0.990118588547216350, -0.990125598939299630, -0.990132606856068960, -0.990139612297506690, -0.990146615263595490, -0.990153615754317710, +-0.990160613769655920, -0.990167609309592470, -0.990174602374110150, -0.990181592963191300, -0.990188581076818400, -0.990195566714974110, -0.990202549877640890, -0.990209530564801210, +-0.990216508776437850, -0.990223484512533170, -0.990230457773069730, -0.990237428558030210, -0.990244396867397070, -0.990251362701152880, -0.990258326059280440, -0.990265286941762080, +-0.990272245348580490, -0.990279201279718360, -0.990286154735158130, -0.990293105714882600, -0.990300054218874240, -0.990307000247115820, -0.990313943799589810, -0.990320884876279120, +-0.990327823477165970, -0.990334759602233490, -0.990341693251463930, -0.990348624424840280, -0.990355553122344910, -0.990362479343960820, -0.990369403089670470, -0.990376324359456550, +-0.990383243153301950, -0.990390159471189140, -0.990397073313101010, -0.990403984679020130, -0.990410893568929310, -0.990417799982811210, -0.990424703920648630, -0.990431605382424360, +-0.990438504368120980, -0.990445400877721370, -0.990452294911208340, -0.990459186468564460, -0.990466075549772730, -0.990472962154815730, -0.990479846283676360, -0.990486727936337300, +-0.990493607112781560, -0.990500483812991720, -0.990507358036950670, -0.990514229784641210, -0.990521099056046130, -0.990527965851148440, -0.990534830169930710, -0.990541692012375960, +-0.990548551378466980, -0.990555408268186670, -0.990562262681517700, -0.990569114618443210, -0.990575964078945880, -0.990582811063008720, -0.990589655570614400, -0.990596497601746060, +-0.990603337156386380, -0.990610174234518360, -0.990617008836124910, -0.990623840961189050, -0.990630670609693450, -0.990637497781621250, -0.990644322476955330, -0.990651144695678500, +-0.990657964437773870, -0.990664781703224360, -0.990671596492012860, -0.990678408804122390, -0.990685218639535960, -0.990692025998236360, -0.990698830880206720, -0.990705633285430040, +-0.990712433213889240, -0.990719230665567440, -0.990726025640447430, -0.990732818138512440, -0.990739608159745490, -0.990746395704129370, -0.990753180771647310, -0.990759963362282340, +-0.990766743476017450, -0.990773521112835680, -0.990780296272720020, -0.990787068955653720, -0.990793839161619780, -0.990800606890601230, -0.990807372142581080, -0.990814134917542550, +-0.990820895215468680, -0.990827653036342570, -0.990834408380147360, -0.990841161246866160, -0.990847911636482000, -0.990854659548978000, -0.990861404984337390, -0.990868147942543410, +-0.990874888423578850, -0.990881626427427160, -0.990888361954071480, -0.990895095003494820, -0.990901825575680410, -0.990908553670611480, -0.990915279288271170, -0.990922002428642590, +-0.990928723091709100, -0.990935441277453700, -0.990942156985859750, -0.990948870216910360, -0.990955580970588890, -0.990962289246878350, -0.990968995045762190, -0.990975698367223550, +-0.990982399211245650, -0.990989097577811620, -0.990995793466905030, -0.991002486878508890, -0.991009177812606450, -0.991015866269181140, -0.991022552248216230, -0.991029235749694810, +-0.991035916773600370, -0.991042595319916120, -0.991049271388625420, -0.991055944979711610, -0.991062616093157820, -0.991069284728947510, -0.991075950887064020, -0.991082614567490580, +-0.991089275770210660, -0.991095934495207500, -0.991102590742464540, -0.991109244511965140, -0.991115895803692640, -0.991122544617630390, -0.991129190953761730, -0.991135834812070130, +-0.991142476192538810, -0.991149115095151470, -0.991155751519891330, -0.991162385466741740, -0.991169016935686260, -0.991175645926708150, -0.991182272439790960, -0.991188896474918150, +-0.991195518032073060, -0.991202137111239170, -0.991208753712399910, -0.991215367835538760, -0.991221979480639280, -0.991228588647684710, -0.991235195336658830, -0.991241799547544880, +-0.991248401280326430, -0.991255000534986940, -0.991261597311509980, -0.991268191609879110, -0.991274783430077690, -0.991281372772089280, -0.991287959635897440, -0.991294544021485760, +-0.991301125928837680, -0.991307705357936770, -0.991314282308766730, -0.991320856781310880, -0.991327428775552800, -0.991333998291476280, -0.991340565329064670, -0.991347129888301760, +-0.991353691969171000, -0.991360251571655970, -0.991366808695740230, -0.991373363341407580, -0.991379915508641570, -0.991386465197425680, -0.991393012407743580, -0.991399557139579060, +-0.991406099392915570, -0.991412639167736920, -0.991419176464026550, -0.991425711281768370, -0.991432243620945840, -0.991438773481542750, -0.991445300863542660, -0.991451825766929360, +-0.991458348191686540, -0.991464868137797770, -0.991471385605246840, -0.991477900594017410, -0.991484413104093300, -0.991490923135458170, -0.991497430688095700, -0.991503935761989590, +-0.991510438357123820, -0.991516938473481770, -0.991523436111047430, -0.991529931269804490, -0.991536423949736840, -0.991542914150827960, -0.991549401873061950, -0.991555887116422290, +-0.991562369880892970, -0.991568850166457790, -0.991575327973100440, -0.991581803300804810, -0.991588276149554580, -0.991594746519333660, -0.991601214410125940, -0.991607679821915220, +-0.991614142754685180, -0.991620603208419830, -0.991627061183103060, -0.991633516678718570, -0.991639969695250260, -0.991646420232682010, -0.991652868290997750, -0.991659313870181360, +-0.991665756970216640, -0.991672197591087600, -0.991678635732777920, -0.991685071395271730, -0.991691504578552930, -0.991697935282605300, -0.991704363507412870, -0.991710789252959410, +-0.991717212519229170, -0.991723633306205720, -0.991730051613873290, -0.991736467442215660, -0.991742880791216970, -0.991749291660861010, -0.991755700051131780, -0.991762105962013420, +-0.991768509393489710, -0.991774910345544770, -0.991781308818162510, -0.991787704811326940, -0.991794098325022190, -0.991800489359232150, -0.991806877913940950, -0.991813263989132500, +-0.991819647584790910, -0.991826028700900200, -0.991832407337444380, -0.991838783494407570, -0.991845157171773790, -0.991851528369527170, -0.991857897087651710, -0.991864263326131420, +-0.991870627084950550, -0.991876988364093100, -0.991883347163543210, -0.991889703483284980, -0.991896057323302440, -0.991902408683579710, -0.991908757564101020, -0.991915103964850390, +-0.991921447885812050, -0.991927789326970120, -0.991934128288308630, -0.991940464769811900, -0.991946798771463860, -0.991953130293248940, -0.991959459335151170, -0.991965785897154780, +-0.991972109979244010, -0.991978431581402860, -0.991984750703615580, -0.991991067345866510, -0.991997381508139760, -0.992003693190419590, -0.992010002392690100, -0.992016309114935660, +-0.992022613357140370, -0.992028915119288700, -0.992035214401364660, -0.992041511203352490, -0.992047805525236640, -0.992054097367001340, -0.992060386728630730, -0.992066673610109140, +-0.992072958011420810, -0.992079239932550210, -0.992085519373481440, -0.992091796334198860, -0.992098070814686820, -0.992104342814929650, -0.992110612334911490, -0.992116879374616900, +-0.992123143934030120, -0.992129406013135480, -0.992135665611917240, -0.992141922730359950, -0.992148177368447740, -0.992154429526165170, -0.992160679203496490, -0.992166926400426140, +-0.992173171116938480, -0.992179413353017850, -0.992185653108648700, -0.992191890383815390, -0.992198125178502370, -0.992204357492694090, -0.992210587326374900, -0.992216814679529270, +-0.992223039552141530, -0.992229261944196250, -0.992235481855677780, -0.992241699286570580, -0.992247914236859210, -0.992254126706528020, -0.992260336695561460, -0.992266544203944110, +-0.992272749231660420, -0.992278951778694850, -0.992285151845031850, -0.992291349430656000, -0.992297544535551750, -0.992303737159703660, -0.992309927303096310, -0.992316114965714040, +-0.992322300147541530, -0.992328482848563230, -0.992334663068763720, -0.992340840808127570, -0.992347016066639330, -0.992353188844283580, -0.992359359141044890, -0.992365526956907720, +-0.992371692291856730, -0.992377855145876510, -0.992384015518951720, -0.992390173411066830, -0.992396328822206520, -0.992402481752355350, -0.992408632201498000, -0.992414780169619150, +-0.992420925656703260, -0.992427068662735110, -0.992433209187699280, -0.992439347231580450, -0.992445482794363180, -0.992451615876032260, -0.992457746476572260, -0.992463874595967850, +-0.992470000234203840, -0.992476123391264790, -0.992482244067135480, -0.992488362261800480, -0.992494477975244700, -0.992500591207452600, -0.992506701958409070, -0.992512810228098790, +-0.992518916016506550, -0.992525019323616920, -0.992531120149414800, -0.992537218493884770, -0.992543314357011820, -0.992549407738780530, -0.992555498639175800, -0.992561587058182200, +-0.992567672995784740, -0.992573756451967990, -0.992579837426716960, -0.992585915920016220, -0.992591991931850770, -0.992598065462205410, -0.992604136511064720, -0.992610205078413800, +-0.992616271164237340, -0.992622334768520240, -0.992628395891247180, -0.992634454532403290, -0.992640510691973120, -0.992646564369941810, -0.992652615566294030, -0.992658664281014680, +-0.992664710514088670, -0.992670754265501000, -0.992676795535236360, -0.992682834323279640, -0.992688870629615970, -0.992694904454230030, -0.992700935797106940, -0.992706964658231380, +-0.992712991037588590, -0.992719014935163120, -0.992725036350940230, -0.992731055284904680, -0.992737071737041620, -0.992743085707335720, -0.992749097195772200, -0.992755106202335870, +-0.992761112727011840, -0.992767116769785020, -0.992773118330640410, -0.992779117409563040, -0.992785114006537790, -0.992791108121549800, -0.992797099754584080, -0.992803088905625520, +-0.992809075574659360, -0.992815059761670390, -0.992821041466643850, -0.992827020689564630, -0.992832997430417970, -0.992838971689188780, -0.992844943465862050, -0.992850912760423030, +-0.992856879572856730, -0.992862843903148270, -0.992868805751282670, -0.992874765117245150, -0.992880722001020620, -0.992886676402594310, -0.992892628321951240, -0.992898577759076640, +-0.992904524713955630, -0.992910469186573330, -0.992916411176914760, -0.992922350684965260, -0.992928287710709840, -0.992934222254133750, -0.992940154315221980, -0.992946083893960000, +-0.992952010990332700, -0.992957935604325330, -0.992963857735923220, -0.992969777385111390, -0.992975694551875180, -0.992981609236199710, -0.992987521438070230, -0.992993431157471960, +-0.992999338394390030, -0.993005243148809780, -0.993011145420716450, -0.993017045210095260, -0.993022942516931460, -0.993028837341210280, -0.993034729682917060, -0.993040619542037040, +-0.993046506918555340, -0.993052391812457520, -0.993058274223728610, -0.993064154152354050, -0.993070031598319190, -0.993075906561609160, -0.993081779042209290, -0.993087649040105160, +-0.993093516555281770, -0.993099381587724590, -0.993105244137418960, -0.993111104204350340, -0.993116961788503840, -0.993122816889864920, -0.993128669508419050, -0.993134519644151450, +-0.993140367297047580, -0.993146212467092780, -0.993152055154272410, -0.993157895358572020, -0.993163733079976740, -0.993169568318472250, -0.993175401074043780, -0.993181231346676800, +-0.993187059136356740, -0.993192884443069080, -0.993198707266799150, -0.993204527607532530, -0.993210345465254550, -0.993216160839950680, -0.993221973731606480, -0.993227784140207290, +-0.993233592065738580, -0.993239397508186020, -0.993245200467534840, -0.993251000943770720, -0.993256798936879130, -0.993262594446845500, -0.993268387473655420, -0.993274178017294340, +-0.993279966077747820, -0.993285751655001440, -0.993291534749040640, -0.993297315359851000, -0.993303093487418080, -0.993308869131727330, -0.993314642292764560, -0.993320412970515100, +-0.993326181164964630, -0.993331946876098710, -0.993337710103902930, -0.993343470848362830, -0.993349229109464100, -0.993354984887192320, -0.993360738181533030, -0.993366488992471930, +-0.993372237319994580, -0.993377983164086650, -0.993383726524733720, -0.993389467401921470, -0.993395205795635560, -0.993400941705861680, -0.993406675132585510, -0.993412406075792510, +-0.993418134535468570, -0.993423860511599250, -0.993429584004170360, -0.993435305013167460, -0.993441023538576330, -0.993446739580382650, -0.993452453138572000, -0.993458164213130380, +-0.993463872804043250, -0.993469578911296500, -0.993475282534875710, -0.993480983674766780, -0.993486682330955380, -0.993492378503427310, -0.993498072192168240, -0.993503763397163950, +-0.993509452118400360, -0.993515138355863140, -0.993520822109537960, -0.993526503379410840, -0.993532182165467350, -0.993537858467693490, -0.993543532286074950, -0.993549203620597620, +-0.993554872471247300, -0.993560538838009770, -0.993566202720870820, -0.993571864119816460, -0.993577523034832380, -0.993583179465904460, -0.993588833413018730, -0.993594484876160760, +-0.993600133855316650, -0.993605780350472310, -0.993611424361613320, -0.993617065888725890, -0.993622704931795830, -0.993628341490808920, -0.993633975565751170, -0.993639607156608480, +-0.993645236263366760, -0.993650862886012010, -0.993656487024530130, -0.993662108678906920, -0.993667727849128600, -0.993673344535180750, -0.993678958737049700, -0.993684570454721140, +-0.993690179688181300, -0.993695786437415850, -0.993701390702411040, -0.993706992483152750, -0.993712591779627010, -0.993718188591819710, -0.993723782919716970, -0.993729374763304700, +-0.993734964122569120, -0.993740550997496030, -0.993746135388071660, -0.993751717294281800, -0.993757296716112790, -0.993762873653550540, -0.993768448106581050, -0.993774020075190450, +-0.993779589559364740, -0.993785156559090170, -0.993790721074352620, -0.993796283105138340, -0.993801842651433230, -0.993807399713223630, -0.993812954290495540, -0.993818506383234990, +-0.993824055991428200, -0.993829603115061300, -0.993835147754120410, -0.993840689908591650, -0.993846229578461030, -0.993851766763715010, -0.993857301464339480, -0.993862833680320690, +-0.993868363411644860, -0.993873890658298120, -0.993879415420266590, -0.993884937697536610, -0.993890457490094300, -0.993895974797925800, -0.993901489621017320, -0.993907001959355110, +-0.993912511812925500, -0.993918019181714520, -0.993923524065708500, -0.993929026464893670, -0.993934526379256390, -0.993940023808782660, -0.993945518753458930, -0.993951011213271340, +-0.993956501188206330, -0.993961988678249920, -0.993967473683388670, -0.993972956203608700, -0.993978436238896370, -0.993983913789237890, -0.993989388854619630, -0.993994861435027910, +-0.994000331530449090, -0.994005799140869390, -0.994011264266275170, -0.994016726906652880, -0.994022187061988640, -0.994027644732269010, -0.994033099917480230, -0.994038552617608760, +-0.994044002832640940, -0.994049450562563000, -0.994054895807361500, -0.994060338567022810, -0.994065778841533130, -0.994071216630879160, -0.994076651935047020, -0.994082084754023380, +-0.994087515087794360, -0.994092942936346760, -0.994098368299666690, -0.994103791177740610, -0.994109211570555210, -0.994114629478096700, -0.994120044900351660, -0.994125457837306440, +-0.994130868288947590, -0.994136276255261690, -0.994141681736234960, -0.994147084731854090, -0.994152485242105530, -0.994157883266975630, -0.994163278806451170, -0.994168671860518380, +-0.994174062429164060, -0.994179450512374440, -0.994184836110136310, -0.994190219222436000, -0.994195599849260200, -0.994200977990595370, -0.994206353646428180, -0.994211726816745080, +-0.994217097501532530, -0.994222465700777440, -0.994227831414466020, -0.994233194642585080, -0.994238555385121180, -0.994243913642060880, -0.994249269413390760, -0.994254622699097480, +-0.994259973499167620, -0.994265321813587840, -0.994270667642344840, -0.994276010985425060, -0.994281351842815300, -0.994286690214502220, -0.994292026100472290, -0.994297359500712410, +-0.994302690415209020, -0.994308018843949040, -0.994313344786918910, -0.994318668244105420, -0.994323989215495360, -0.994329307701075190, -0.994334623700831810, -0.994339937214751890, +-0.994345248242822110, -0.994350556785029260, -0.994355862841360020, -0.994361166411801060, -0.994366467496339170, -0.994371766094961140, -0.994377062207653650, -0.994382355834403600, +-0.994387646975197660, -0.994392935630022510, -0.994398221798865060, -0.994403505481712080, -0.994408786678550370, -0.994414065389366610, -0.994419341614147690, -0.994424615352880510, +-0.994429886605551760, -0.994435155372148220, -0.994440421652656780, -0.994445685447064350, -0.994450946755357720, -0.994456205577523790, -0.994461461913549230, -0.994466715763421050, +-0.994471967127126040, -0.994477216004651220, -0.994482462395983260, -0.994487706301109160, -0.994492947720015840, -0.994498186652690070, -0.994503423099118880, -0.994508657059289150, +-0.994513888533187780, -0.994519117520801690, -0.994524344022117760, -0.994529568037123000, -0.994534789565804320, -0.994540008608148730, -0.994545225164143010, -0.994550439233774290, +-0.994555650817029460, -0.994560859913895530, -0.994566066524359420, -0.994571270648408110, -0.994576472286028750, -0.994581671437208100, -0.994586868101933310, -0.994592062280191260, +-0.994597253971969190, -0.994602443177253880, -0.994607629896032570, -0.994612814128292060, -0.994617995874019560, -0.994623175133202090, -0.994628351905826660, -0.994633526191880390, +-0.994638697991350300, -0.994643867304223490, -0.994649034130487000, -0.994654198470127810, -0.994659360323133290, -0.994664519689490320, -0.994669676569185920, -0.994674830962207550, +-0.994679982868541980, -0.994685132288176450, -0.994690279221098090, -0.994695423667294020, -0.994700565626751350, -0.994705705099457440, -0.994710842085399060, -0.994715976584563680, +-0.994721108596938410, -0.994726238122510260, -0.994731365161266590, -0.994736489713194500, -0.994741611778281240, -0.994746731356513810, -0.994751848447879670, -0.994756963052365830, +-0.994762075169959630, -0.994767184800648190, -0.994772291944418850, -0.994777396601258750, -0.994782498771155210, -0.994787598454095370, -0.994792695650066560, -0.994797790359055910, +-0.994802882581050980, -0.994807972316038680, -0.994813059564006560, -0.994818144324941640, -0.994823226598831490, -0.994828306385663220, -0.994833383685424290, -0.994838458498101820, +-0.994843530823683150, -0.994848600662155750, -0.994853668013506720, -0.994858732877723640, -0.994863795254793740, -0.994868855144704240, -0.994873912547442730, -0.994878967462996310, +-0.994884019891352560, -0.994889069832498700, -0.994894117286422300, -0.994899162253110480, -0.994904204732550810, -0.994909244724730520, -0.994914282229637290, -0.994919317247258240, +-0.994924349777580930, -0.994929379820592710, -0.994934407376281140, -0.994939432444633450, -0.994944455025637220, -0.994949475119279780, -0.994954492725548810, -0.994959507844431430, +-0.994964520475915440, -0.994969530619988050, -0.994974538276636840, -0.994979543445849380, -0.994984546127613000, -0.994989546321915160, -0.994994544028743540, -0.994999539248085600, +-0.995004531979928770, -0.995009522224260650, -0.995014509981068660, -0.995019495250340390, -0.995024478032063510, -0.995029458326225250, -0.995034436132813500, -0.995039411451815630, +-0.995044384283219170, -0.995049354627011720, -0.995054322483180930, -0.995059287851714380, -0.995064250732599630, -0.995069211125824140, -0.995074169031375690, -0.995079124449241850, +-0.995084077379410180, -0.995089027821868250, -0.995093975776603860, -0.995098921243604440, -0.995103864222857680, -0.995108804714351370, -0.995113742718073070, -0.995118678234010350, +-0.995123611262150880, -0.995128541802482450, -0.995133469854992620, -0.995138395419669200, -0.995143318496499730, -0.995148239085472010, -0.995153157186573600, -0.995158072799792400, +-0.995162985925115980, -0.995167896562532020, -0.995172804712028400, -0.995177710373592820, -0.995182613547212940, -0.995187514232876440, -0.995192412430571220, -0.995197308140284950, +-0.995202201362005430, -0.995207092095720340, -0.995211980341417560, -0.995216866099084880, -0.995221749368710000, -0.995226630150280680, -0.995231508443784940, -0.995236384249210350, +-0.995241257566544690, -0.995246128395776090, -0.995250996736891990, -0.995255862589880520, -0.995260725954729360, -0.995265586831426300, -0.995270445219959330, -0.995275301120316370, +-0.995280154532484970, -0.995285005456453260, -0.995289853892209030, -0.995294699839740170, -0.995299543299034580, -0.995304384270080170, -0.995309222752864710, -0.995314058747376220, +-0.995318892253602590, -0.995323723271531850, -0.995328551801151650, -0.995333377842450130, -0.995338201395415180, -0.995343022460034590, -0.995347841036296590, -0.995352657124188970, +-0.995357470723699620, -0.995362281834816680, -0.995367090457528030, -0.995371896591821680, -0.995376700237685540, -0.995381501395107620, -0.995386300064076020, -0.995391096244578550, +-0.995395889936603440, -0.995400681140138580, -0.995405469855172090, -0.995410256081691870, -0.995415039819686040, -0.995419821069142510, -0.995424599830049490, -0.995429376102395010, +-0.995434149886167070, -0.995438921181353690, -0.995443689987943080, -0.995448456305923270, -0.995453220135282260, -0.995457981476008170, -0.995462740328089240, -0.995467496691513350, +-0.995472250566268760, -0.995477001952343570, -0.995481750849725790, -0.995486497258403770, -0.995491241178365400, -0.995495982609598930, -0.995500721552092570, -0.995505458005834340, +-0.995510191970812470, -0.995514923447015200, -0.995519652434430520, -0.995524378933046790, -0.995529102942852020, -0.995533824463834540, -0.995538543495982590, -0.995543260039284170, +-0.995547974093727640, -0.995552685659301110, -0.995557394735992920, -0.995562101323791300, -0.995566805422684390, -0.995571507032660400, -0.995576206153707680, -0.995580902785814460, +-0.995585596928969090, -0.995590288583159570, -0.995594977748374350, -0.995599664424601680, -0.995604348611830000, -0.995609030310047330, -0.995613709519242000, -0.995618386239402580, +-0.995623060470517070, -0.995627732212573950, -0.995632401465561420, -0.995637068229468070, -0.995641732504281900, -0.995646394289991470, -0.995651053586585010, -0.995655710394050870, +-0.995660364712377510, -0.995665016541553260, -0.995669665881566470, -0.995674312732405480, -0.995678957094058740, -0.995683598966514590, -0.995688238349761390, -0.995692875243787690, +-0.995697509648581720, -0.995702141564132060, -0.995706770990427040, -0.995711397927455000, -0.995716022375204620, -0.995720644333664030, -0.995725263802821890, -0.995729880782666550, +-0.995734495273186580, -0.995739107274370320, -0.995743716786206320, -0.995748323808683060, -0.995752928341788970, -0.995757530385512510, -0.995762129939842260, -0.995766727004766650, +-0.995771321580274260, -0.995775913666353650, -0.995780503262993170, -0.995785090370181370, -0.995789674987906940, -0.995794257116158320, -0.995798836754923980, -0.995803413904192580, +-0.995807988563952700, -0.995812560734192780, -0.995817130414901500, -0.995821697606067420, -0.995826262307679010, -0.995830824519725040, -0.995835384242193980, -0.995839941475074370, +-0.995844496218355020, -0.995849048472024380, -0.995853598236071110, -0.995858145510483910, -0.995862690295251320, -0.995867232590361920, -0.995871772395804490, -0.995876309711567710, +-0.995880844537640030, -0.995885376874010350, -0.995889906720667130, -0.995894434077599260, -0.995898958944795190, -0.995903481322243820, -0.995908001209933720, -0.995912518607853570, +-0.995917033515992140, -0.995921545934338130, -0.995926055862880300, -0.995930563301607230, -0.995935068250507820, -0.995939570709570730, -0.995944070678784770, -0.995948568158138590, +-0.995953063147621000, -0.995957555647220660, -0.995962045656926590, -0.995966533176727230, -0.995971018206611710, -0.995975500746568490, -0.995979980796586670, -0.995984458356654830, +-0.995988933426761760, -0.995993406006896450, -0.995997876097047600, -0.996002343697204080, -0.996006808807354700, -0.996011271427488350, -0.996015731557593710, -0.996020189197659780, +-0.996024644347675460, -0.996029097007629430, -0.996033547177510690, -0.996037994857308040, -0.996042440047010480, -0.996046882746606800, -0.996051322956085890, -0.996055760675436660, +-0.996060195904648000, -0.996064628643708930, -0.996069058892608330, -0.996073486651334990, -0.996077911919877930, -0.996082334698226160, -0.996086754986368450, -0.996091172784293930, +-0.996095588091991500, -0.996100000909450060, -0.996104411236658600, -0.996108819073606160, -0.996113224420281610, -0.996117627276674080, -0.996122027642772470, -0.996126425518565670, +-0.996130820904042920, -0.996135213799193120, -0.996139604204005270, -0.996143992118468380, -0.996148377542571570, -0.996152760476303740, -0.996157140919654130, -0.996161518872611510, +-0.996165894335165230, -0.996170267307304070, -0.996174637789017380, -0.996179005780294060, -0.996183371281123220, -0.996187734291493880, -0.996192094811395260, -0.996196452840816480, +-0.996200808379746450, -0.996205161428174500, -0.996209511986089540, -0.996213860053480890, -0.996218205630337470, -0.996222548716648730, -0.996226889312403440, -0.996231227417591070, +-0.996235563032200510, -0.996239896156221110, -0.996244226789641970, -0.996248554932452230, -0.996252880584641120, -0.996257203746197750, -0.996261524417111470, -0.996265842597371390, +-0.996270158286966630, -0.996274471485886440, -0.996278782194120140, -0.996283090411656860, -0.996287396138485940, -0.996291699374596380, -0.996296000119977650, -0.996300298374618980, +-0.996304594138509470, -0.996308887411638590, -0.996313178193995340, -0.996317466485569290, -0.996321752286349450, -0.996326035596325270, -0.996330316415486080, -0.996334594743821020, +-0.996338870581319420, -0.996343143927970740, -0.996347414783764210, -0.996351683148689050, -0.996355949022734720, -0.996360212405890570, -0.996364473298145930, -0.996368731699490030, +-0.996372987609912220, -0.996377241029402060, -0.996381491957948780, -0.996385740395541730, -0.996389986342170350, -0.996394229797823990, -0.996398470762492110, -0.996402709236164030, +-0.996406945218829110, -0.996411178710476910, -0.996415409711096770, -0.996419638220678030, -0.996423864239210260, -0.996428087766682790, -0.996432308803085200, -0.996436527348406710, +-0.996440743402637000, -0.996444956965765290, -0.996449168037781270, -0.996453376618674390, -0.996457582708433990, -0.996461786307049740, -0.996465987414510870, -0.996470186030807170, +-0.996474382155927870, -0.996478575789862760, -0.996482766932601070, -0.996486955584132580, -0.996491141744446640, -0.996495325413532920, -0.996499506591380760, -0.996503685277979940, +-0.996507861473319820, -0.996512035177390180, -0.996516206390180350, -0.996520375111680010, -0.996524541341878730, -0.996528705080766190, -0.996532866328331710, -0.996537025084565210, +-0.996541181349456130, -0.996545335122994040, -0.996549486405168610, -0.996553635195969510, -0.996557781495386320, -0.996561925303408700, -0.996566066620026230, -0.996570205445228560, +-0.996574341779005390, -0.996578475621346490, -0.996582606972241210, -0.996586735831679560, -0.996590862199650980, -0.996594986076145380, -0.996599107461152210, -0.996603226354661250, +-0.996607342756662300, -0.996611456667144900, -0.996615568086098860, -0.996619677013513950, -0.996623783449379850, -0.996627887393686350, -0.996631988846423010, -0.996636087807579840, +-0.996640184277146290, -0.996644278255112370, -0.996648369741467750, -0.996652458736202230, -0.996656545239305470, -0.996660629250767480, -0.996664710770577830, -0.996668789798726420, +-0.996672866335203020, -0.996676940379997430, -0.996681011933099550, -0.996685080994499150, -0.996689147564186030, -0.996693211642150080, -0.996697273228380980, -0.996701332322868840, +-0.996705388925603230, -0.996709443036574270, -0.996713494655771640, -0.996717543783185330, -0.996721590418805040, -0.996725634562620870, -0.996729676214622610, -0.996733715374800160, +-0.996737752043143410, -0.996741786219642270, -0.996745817904286620, -0.996749847097066490, -0.996753873797971760, -0.996757898006992330, -0.996761919724118210, -0.996765938949339180, +-0.996769955682645370, -0.996773969924026560, -0.996777981673472980, -0.996781990930974420, -0.996785997696520760, -0.996790001970102260, -0.996794003751708680, -0.996798003041330040, +-0.996801999838956450, -0.996805994144577930, -0.996809985958184370, -0.996813975279765780, -0.996817962109312280, -0.996821946446813880, -0.996825928292260690, -0.996829907645642610, +-0.996833884506949760, -0.996837858876172270, -0.996841830753300020, -0.996845800138323250, -0.996849767031231960, -0.996853731432016280, -0.996857693340666320, -0.996861652757172090, +-0.996865609681523710, -0.996869564113711300, -0.996873516053724980, -0.996877465501554870, -0.996881412457191090, -0.996885356920623860, -0.996889298891843080, -0.996893238370839210, +-0.996897175357602140, -0.996901109852122210, -0.996905041854389440, -0.996908971364394160, -0.996912898382126380, -0.996916822907576330, -0.996920744940734240, -0.996924664481590340, +-0.996928581530134750, -0.996932496086357700, -0.996936408150249420, -0.996940317721800030, -0.996944224800999980, -0.996948129387839280, -0.996952031482308270, -0.996955931084397280, +-0.996959828194096340, -0.996963722811395890, -0.996967614936286160, -0.996971504568757270, -0.996975391708799790, -0.996979276356403710, -0.996983158511559500, -0.996987038174257380, +-0.996990915344487580, -0.996994790022240560, -0.996998662207506550, -0.997002531900275990, -0.997006399100539010, -0.997010263808286060, -0.997014126023507360, -0.997017985746193490, +-0.997021842976334560, -0.997025697713921020, -0.997029549958943220, -0.997033399711391600, -0.997037246971256510, -0.997041091738528280, -0.997044934013197270, -0.997048773795253920, +-0.997052611084688680, -0.997056445881491890, -0.997060278185654010, -0.997064107997165490, -0.997067935316016560, -0.997071760142197890, -0.997075582475699830, -0.997079402316512820, +-0.997083219664627210, -0.997087034520033670, -0.997090846882722430, -0.997094656752684160, -0.997098464129909210, -0.997102269014388030, -0.997106071406111290, -0.997109871305069340, +-0.997113668711252730, -0.997117463624651920, -0.997121256045257480, -0.997125045973059840, -0.997128833408049700, -0.997132618350217380, -0.997136400799553460, -0.997140180756048710, +-0.997143958219693370, -0.997147733190478110, -0.997151505668393610, -0.997155275653430430, -0.997159043145578900, -0.997162808144829830, -0.997166570651173760, -0.997170330664601150, +-0.997174088185102780, -0.997177843212669220, -0.997181595747291040, -0.997185345788958900, -0.997189093337663370, -0.997192838393395120, -0.997196580956144720, -0.997200321025902950, +-0.997204058602660260, -0.997207793686407550, -0.997211526277135270, -0.997215256374834210, -0.997218983979495040, -0.997222709091108330, -0.997226431709664960, -0.997230151835155400, +-0.997233869467570530, -0.997237584606900930, -0.997241297253137370, -0.997245007406270640, -0.997248715066291310, -0.997252420233190270, -0.997256122906958200, -0.997259823087585760, +-0.997263520775063750, -0.997267215969382950, -0.997270908670534140, -0.997274598878508000, -0.997278286593295430, -0.997281971814887090, -0.997285654543273890, -0.997289334778446500, +-0.997293012520395820, -0.997296687769112510, -0.997300360524587590, -0.997304030786811730, -0.997307698555775720, -0.997311363831470570, -0.997315026613886930, -0.997318686903015840, +-0.997322344698847950, -0.997326000001374170, -0.997329652810585500, -0.997333303126472610, -0.997336950949026410, -0.997340596278238010, -0.997344239114097970, -0.997347879456597420, +-0.997351517305727020, -0.997355152661478010, -0.997358785523841050, -0.997362415892807050, -0.997366043768367130, -0.997369669150512060, -0.997373292039232750, -0.997376912434520310, +-0.997380530336365530, -0.997384145744759530, -0.997387758659693090, -0.997391369081157220, -0.997394977009142920, -0.997398582443641210, -0.997402185384643090, -0.997405785832139460, +-0.997409383786121320, -0.997412979246579790, -0.997416572213505770, -0.997420162686890380, -0.997423750666724510, -0.997427336152999280, -0.997430919145705810, -0.997434499644834880, +-0.997438077650377840, -0.997441653162325580, -0.997445226180669110, -0.997448796705399650, -0.997452364736508110, -0.997455930273985820, -0.997459493317823580, -0.997463053868012590, +-0.997466611924544000, -0.997470167487408910, -0.997473720556598440, -0.997477271132103600, -0.997480819213915510, -0.997484364802025510, -0.997487907896424500, -0.997491448497103810, +-0.997494986604054450, -0.997498522217267650, -0.997502055336734530, -0.997505585962446210, -0.997509114094394020, -0.997512639732568980, -0.997516162876962320, -0.997519683527565370, +-0.997523201684369140, -0.997526717347364870, -0.997530230516543880, -0.997533741191897310, -0.997537249373416370, -0.997540755061092300, -0.997544258254916330, -0.997547758954879680, +-0.997551257160973700, -0.997554752873189510, -0.997558246091518550, -0.997561736815951840, -0.997565225046480930, -0.997568710783096830, -0.997572194025791000, -0.997575674774554670, +-0.997579153029379160, -0.997582628790255830, -0.997586102057175910, -0.997589572830130720, -0.997593041109111510, -0.997596506894109840, -0.997599970185116810, -0.997603430982123900, +-0.997606889285122420, -0.997610345094103620, -0.997613798409059060, -0.997617249229979960, -0.997620697556857780, -0.997624143389683860, -0.997627586728449530, -0.997631027573146260, +-0.997634465923765370, -0.997637901780298430, -0.997641335142736560, -0.997644766011071550, -0.997648194385294510, -0.997651620265397000, -0.997655043651370480, -0.997658464543206280, +-0.997661882940895970, -0.997665298844431000, -0.997668712253802710, -0.997672123169002670, -0.997675531590022310, -0.997678937516853100, -0.997682340949486600, -0.997685741887914150, +-0.997689140332127410, -0.997692536282117850, -0.997695929737876910, -0.997699320699396150, -0.997702709166667150, -0.997706095139681340, -0.997709478618430180, -0.997712859602905460, +-0.997716238093098620, -0.997719614089001010, -0.997722987590604520, -0.997726358597900490, -0.997729727110880590, -0.997733093129536400, -0.997736456653859460, -0.997739817683841350, +-0.997743176219473730, -0.997746532260748160, -0.997749885807656220, -0.997753236860189570, -0.997756585418339890, -0.997759931482098740, -0.997763275051457680, -0.997766616126408600, +-0.997769954706942850, -0.997773290793052210, -0.997776624384728360, -0.997779955481962970, -0.997783284084747700, -0.997786610193074130, -0.997789933806934150, -0.997793254926319320, +-0.997796573551221310, -0.997799889681631800, -0.997803203317542690, -0.997806514458945530, -0.997809823105832110, -0.997813129258194100, -0.997816432916023290, -0.997819734079311350, +-0.997823032748050180, -0.997826328922231330, -0.997829622601846600, -0.997832913786887990, -0.997836202477346950, -0.997839488673215480, -0.997842772374485270, -0.997846053581148080, +-0.997849332293195830, -0.997852608510620190, -0.997855882233413150, -0.997859153461566280, -0.997862422195071600, -0.997865688433920760, -0.997868952178105780, -0.997872213427618450, +-0.997875472182450540, -0.997878728442593950, -0.997881982208040470, -0.997885233478782220, -0.997888482254810750, -0.997891728536118070, -0.997894972322696080, -0.997898213614536680, +-0.997901452411631750, -0.997904688713973200, -0.997907922521552910, -0.997911153834362800, -0.997914382652394850, -0.997917608975640970, -0.997920832804092940, -0.997924054137742990, +-0.997927272976582790, -0.997930489320604460, -0.997933703169799900, -0.997936914524161000, -0.997940123383679880, -0.997943329748348430, -0.997946533618158770, -0.997949734993102690, +-0.997952933873172190, -0.997956130258359500, -0.997959324148656400, -0.997962515544055020, -0.997965704444547350, -0.997968890850125410, -0.997972074760781200, -0.997975256176506840, +-0.997978435097294450, -0.997981611523135800, -0.997984785454023250, -0.997987956889948680, -0.997991125830904210, -0.997994292276881970, -0.997997456227873950, -0.998000617683872270, +-0.998003776644869060, -0.998006933110856420, -0.998010087081826480, -0.998013238557771350, -0.998016387538683050, -0.998019534024553790, -0.998022678015375700, -0.998025819511141000, +-0.998028958511841590, -0.998032095017469920, -0.998035229028018000, -0.998038360543477940, -0.998041489563841980, -0.998044616089102330, -0.998047740119251130, -0.998050861654280590, +-0.998053980694182940, -0.998057097238950310, -0.998060211288574920, -0.998063322843048990, -0.998066431902364770, -0.998069538466514470, -0.998072642535490330, -0.998075744109284570, +-0.998078843187889420, -0.998081939771297220, -0.998085033859500200, -0.998088125452490480, -0.998091214550260620, -0.998094301152802510, -0.998097385260108830, -0.998100466872171580, +-0.998103545988983210, -0.998106622610535950, -0.998109696736822150, -0.998112768367834140, -0.998115837503564140, -0.998118904144004620, -0.998121968289147790, -0.998125029938986110, +-0.998128089093511690, -0.998131145752717220, -0.998134199916594800, -0.998137251585136890, -0.998140300758335930, -0.998143347436184160, -0.998146391618673910, -0.998149433305797860, +-0.998152472497548130, -0.998155509193917270, -0.998158543394897620, -0.998161575100481540, -0.998164604310661560, -0.998167631025430160, -0.998170655244779550, -0.998173676968702410, +-0.998176696197191070, -0.998179712930237990, -0.998182727167835520, -0.998185738909976310, -0.998188748156652820, -0.998191754907857390, -0.998194759163582580, -0.998197760923820840, +-0.998200760188564740, -0.998203756957806720, -0.998206751231539350, -0.998209743009755070, -0.998212732292446340, -0.998215719079605930, -0.998218703371226090, -0.998221685167299590, +-0.998224664467818880, -0.998227641272776520, -0.998230615582164970, -0.998233587395976900, -0.998236556714204970, -0.998239523536841530, -0.998242487863879370, -0.998245449695310930, +-0.998248409031128880, -0.998251365871325790, -0.998254320215894330, -0.998257272064827060, -0.998260221418116540, -0.998263168275755560, -0.998266112637736570, -0.998269054504052340, +-0.998271993874695560, -0.998274930749658670, -0.998277865128934460, -0.998280797012515710, -0.998283726400394870, -0.998286653292564720, -0.998289577689017940, -0.998292499589747200, +-0.998295418994745280, -0.998298335904004740, -0.998301250317518480, -0.998304162235278960, -0.998307071657279050, -0.998309978583511560, -0.998312883013969030, -0.998315784948644370, +-0.998318684387530130, -0.998321581330619210, -0.998324475777904400, -0.998327367729378360, -0.998330257185033990, -0.998333144144863850, -0.998336028608860950, -0.998338910577017960, +-0.998341790049327660, -0.998344667025782840, -0.998347541506376390, -0.998350413491101100, -0.998353282979949850, -0.998356149972915330, -0.998359014469990420, -0.998361876471168030, +-0.998364735976440820, -0.998367592985801910, -0.998370447499243970, -0.998373299516759900, -0.998376149038342600, -0.998378996063984840, -0.998381840593679740, -0.998384682627419970, +-0.998387522165198440, -0.998390359207008140, -0.998393193752841970, -0.998396025802692820, -0.998398855356553590, -0.998401682414417180, -0.998404506976276580, -0.998407329042124810, +-0.998410148611954540, -0.998412965685759100, -0.998415780263531170, -0.998418592345263760, -0.998421401930949860, -0.998424209020582490, -0.998427013614154530, -0.998429815711659120, +-0.998432615313089130, -0.998435412418437580, -0.998438207027697590, -0.998440999140862040, -0.998443788757923940, -0.998446575878876420, -0.998449360503712470, -0.998452142632425100, +-0.998454922265007320, -0.998457699401452240, -0.998460474041752980, -0.998463246185902540, -0.998466015833893940, -0.998468782985720280, -0.998471547641374800, -0.998474309800850280, +-0.998477069464140050, -0.998479826631237240, -0.998482581302134740, -0.998485333476825780, -0.998488083155303570, -0.998490830337561140, -0.998493575023591600, -0.998496317213388160, +-0.998499056906943850, -0.998501794104251990, -0.998504528805305600, -0.998507261010097900, -0.998509990718622010, -0.998512717930871150, -0.998515442646838560, -0.998518164866517340, +-0.998520884589900630, -0.998523601816981850, -0.998526316547753920, -0.998529028782210280, -0.998531738520344050, -0.998534445762148560, -0.998537150507616820, -0.998539852756742290, +-0.998542552509518070, -0.998545249765937500, -0.998547944525993820, -0.998550636789680260, -0.998553326556990140, -0.998556013827916700, -0.998558698602453170, -0.998561380880592870, +-0.998564060662329170, -0.998566737947655380, -0.998569412736564630, -0.998572085029050480, -0.998574754825106050, -0.998577422124724670, -0.998580086927899790, -0.998582749234624760, +-0.998585409044892790, -0.998588066358697350, -0.998590721176031650, -0.998593373496889150, -0.998596023321263290, -0.998598670649147310, -0.998601315480534770, -0.998603957815418770, +-0.998606597653793000, -0.998609234995650690, -0.998611869840985380, -0.998614502189790310, -0.998617132042058930, -0.998619759397784800, -0.998622384256961260, -0.998625006619581760, +-0.998627626485639740, -0.998630243855128660, -0.998632858728041970, -0.998635471104373120, -0.998638080984115660, -0.998640688367262940, -0.998643293253808520, -0.998645895643745840, +-0.998648495537068360, -0.998651092933769750, -0.998653687833843340, -0.998656280237282810, -0.998658870144081500, -0.998661457554232970, -0.998664042467730880, -0.998666624884568700, +-0.998669204804739860, -0.998671782228238050, -0.998674357155056810, -0.998676929585189720, -0.998679499518630220, -0.998682066955371980, -0.998684631895408680, -0.998687194338733650, +-0.998689754285340680, -0.998692311735223440, -0.998694866688375260, -0.998697419144790040, -0.998699969104461240, -0.998702516567382400, -0.998705061533547430, -0.998707604002949670, +-0.998710143975583000, -0.998712681451440990, -0.998715216430517190, -0.998717748912805400, -0.998720278898299170, -0.998722806386992400, -0.998725331378878420, -0.998727853873951240, +-0.998730373872204420, -0.998732891373631640, -0.998735406378226550, -0.998737918885983070, -0.998740428896894740, -0.998742936410955350, -0.998745441428158690, -0.998747943948498310, +-0.998750443971968100, -0.998752941498561750, -0.998755436528273140, -0.998757929061095840, -0.998760419097023840, -0.998762906636050720, -0.998765391678170360, -0.998767874223376430, +-0.998770354271662940, -0.998772831823023450, -0.998775306877451970, -0.998777779434942170, -0.998780249495487940, -0.998782717059083060, -0.998785182125721430, -0.998787644695396830, +-0.998790104768103150, -0.998792562343834180, -0.998795017422583810, -0.998797470004345820, -0.998799920089114220, -0.998802367676882910, -0.998804812767645540, -0.998807255361396250, +-0.998809695458128700, -0.998812133057837000, -0.998814568160514950, -0.998817000766156540, -0.998819430874755550, -0.998821858486306000, -0.998824283600801780, -0.998826706218236880, +-0.998829126338605210, -0.998831543961900660, -0.998833959088117340, -0.998836371717249150, -0.998838781849289980, -0.998841189484233840, -0.998843594622074730, -0.998845997262806650, +-0.998848397406423620, -0.998850795052919520, -0.998853190202288470, -0.998855582854524470, -0.998857973009621420, -0.998860360667573550, -0.998862745828374640, -0.998865128492019030, +-0.998867508658500490, -0.998869886327813260, -0.998872261499951230, -0.998874634174908630, -0.998877004352679340, -0.998879372033257610, -0.998881737216637420, -0.998884099902812910, +-0.998886460091778170, -0.998888817783527230, -0.998891172978054300, -0.998893525675353390, -0.998895875875418730, -0.998898223578244320, -0.998900568783824380, -0.998902911492153050, +-0.998905251703224310, -0.998907589417032620, -0.998909924633571870, -0.998912257352836290, -0.998914587574820100, -0.998916915299517430, -0.998919240526922380, -0.998921563257029410, +-0.998923883489832410, -0.998926201225325720, -0.998928516463503560, -0.998930829204360050, -0.998933139447889530, -0.998935447194086110, -0.998937752442944140, -0.998940055194457720, +-0.998942355448621200, -0.998944653205428800, -0.998946948464874750, -0.998949241226953390, -0.998951531491658830, -0.998953819258985520, -0.998956104528927580, -0.998958387301479460, +-0.998960667576635260, -0.998962945354389450, -0.998965220634736360, -0.998967493417670100, -0.998969763703185240, -0.998972031491275890, -0.998974296781936390, -0.998976559575161290, +-0.998978819870944720, -0.998981077669281130, -0.998983332970164730, -0.998985585773590090, -0.998987836079551550, -0.998990083888043330, -0.998992329199059890, -0.998994572012595670, +-0.998996812328645010, -0.998999050147202360, -0.999001285468262060, -0.999003518291818550, -0.999005748617866170, -0.999007976446399490, -0.999010201777412840, -0.999012424610900780, +-0.999014644946857540, -0.999016862785277790, -0.999019078126155760, -0.999021290969486110, -0.999023501315263300, -0.999025709163481550, -0.999027914514135640, -0.999030117367220030, +-0.999032317722729050, -0.999034515580657260, -0.999036710940999110, -0.999038903803749270, -0.999041094168902190, -0.999043282036452320, -0.999045467406394330, -0.999047650278722550, +-0.999049830653431780, -0.999052008530516340, -0.999054183909970920, -0.999056356791789950, -0.999058527175968210, -0.999060695062500060, -0.999062860451380260, -0.999065023342603280, +-0.999067183736163770, -0.999069341632056180, -0.999071497030275310, -0.999073649930815710, -0.999075800333672050, -0.999077948238838780, -0.999080093646310670, -0.999082236556082300, +-0.999084376968148450, -0.999086514882503550, -0.999088650299142400, -0.999090783218059660, -0.999092913639249900, -0.999095041562707900, -0.999097166988428210, -0.999099289916405730, +-0.999101410346634910, -0.999103528279110640, -0.999105643713827480, -0.999107756650780330, -0.999109867089963740, -0.999111975031372390, -0.999114080475001280, -0.999116183420844850, +-0.999118283868897890, -0.999120381819155300, -0.999122477271611850, -0.999124570226262110, -0.999126660683100960, -0.999128748642123090, -0.999130834103323480, -0.999132917066696710, +-0.999134997532237670, -0.999137075499941130, -0.999139150969801880, -0.999141223941814700, -0.999143294415974600, -0.999145362392276140, -0.999147427870714310, -0.999149490851284020, +-0.999151551333979930, -0.999153609318796930, -0.999155664805729930, -0.999157717794773690, -0.999159768285923230, -0.999161816279173330, -0.999163861774518990, -0.999165904771954880, +-0.999167945271476010, -0.999169983273077380, -0.999172018776753660, -0.999174051782499960, -0.999176082290311070, -0.999178110300182110, -0.999180135812107740, -0.999182158826083080, +-0.999184179342103020, -0.999186197360162560, -0.999188212880256610, -0.999190225902380050, -0.999192236426527990, -0.999194244452695330, -0.999196249980876970, -0.999198253011068130, +-0.999200253543263580, -0.999202251577458340, -0.999204247113647530, -0.999206240151826130, -0.999208230691989160, -0.999210218734131520, -0.999212204278248420, -0.999214187324334760, +-0.999216167872385540, -0.999218145922395990, -0.999220121474361120, -0.999222094528275930, -0.999224065084135530, -0.999226033141934810, -0.999227998701669230, -0.999229961763333450, +-0.999231922326922930, -0.999233880392432550, -0.999235835959857430, -0.999237789029192690, -0.999239739600433550, -0.999241687673575020, -0.999243633248612320, -0.999245576325540560, +-0.999247516904354760, -0.999249454985050240, -0.999251390567622020, -0.999253323652065430, -0.999255254238375470, -0.999257182326547370, -0.999259107916576240, -0.999261031008457420, +-0.999262951602186030, -0.999264869697757300, -0.999266785295166330, -0.999268698394408460, -0.999270608995478820, -0.999272517098372610, -0.999274422703085090, -0.999276325809611570, +-0.999278226417947280, -0.999280124528087340, -0.999282020140027090, -0.999283913253761870, -0.999285803869286780, -0.999287691986597280, -0.999289577605688480, -0.999291460726555720, +-0.999293341349194340, -0.999295219473599560, -0.999297095099766830, -0.999298968227691260, -0.999300838857368310, -0.999302706988793310, -0.999304572621961480, -0.999306435756868280, +-0.999308296393508930, -0.999310154531878880, -0.999312010171973350, -0.999313863313787910, -0.999315713957317770, -0.999317562102558400, -0.999319407749505010, -0.999321250898153160, +-0.999323091548498190, -0.999324929700535550, -0.999326765354260460, -0.999328598509668600, -0.999330429166755190, -0.999332257325515670, -0.999334082985945500, -0.999335906148040130, +-0.999337726811795000, -0.999339544977205560, -0.999341360644267260, -0.999343173812975550, -0.999344984483325980, -0.999346792655313900, -0.999348598328934750, -0.999350401504184190, +-0.999352202181057690, -0.999354000359550580, -0.999355796039658520, -0.999357589221376960, -0.999359379904701360, -0.999361168089627380, -0.999362953776150480, -0.999364736964266200, +-0.999366517653970110, -0.999368295845257660, -0.999370071538124520, -0.999371844732566130, -0.999373615428578170, -0.999375383626156190, -0.999377149325295750, -0.999378912525992420, +-0.999380673228241760, -0.999382431432039530, -0.999384187137381090, -0.999385940344262310, -0.999387691052678660, -0.999389439262625690, -0.999391184974099180, -0.999392928187094690, +-0.999394668901607890, -0.999396407117634440, -0.999398142835170030, -0.999399876054210100, -0.999401606774750650, -0.999403334996787130, -0.999405060720315210, -0.999406783945330670, +-0.999408504671829180, -0.999410222899806410, -0.999411938629258150, -0.999413651860179940, -0.999415362592567690, -0.999417070826416950, -0.999418776561723620, -0.999420479798483250, +-0.999422180536691850, -0.999423878776344870, -0.999425574517438190, -0.999427267759967600, -0.999428958503928880, -0.999430646749317700, -0.999432332496129950, -0.999434015744361300, +-0.999435696494007650, -0.999437374745064780, -0.999439050497528460, -0.999440723751394590, -0.999442394506658840, -0.999444062763317100, -0.999445728521365150, -0.999447391780798890, +-0.999449052541614200, -0.999450710803806870, -0.999452366567372800, -0.999454019832307860, -0.999455670598607740, -0.999457318866268540, -0.999458964635285940, -0.999460607905656050, +-0.999462248677374540, -0.999463886950437420, -0.999465522724840680, -0.999467156000580000, -0.999468786777651500, -0.999470415056051050, -0.999472040835774570, -0.999473664116817930, +-0.999475284899177140, -0.999476903182848210, -0.999478518967826910, -0.999480132254109480, -0.999481743041691570, -0.999483351330569310, -0.999484957120738700, -0.999486560412195750, +-0.999488161204936330, -0.999489759498956580, -0.999491355294252370, -0.999492948590819830, -0.999494539388654850, -0.999496127687753530, -0.999497713488111890, -0.999499296789726040, +-0.999500877592591870, -0.999502455896705500, -0.999504031702063030, -0.999505605008660480, -0.999507175816493950, -0.999508744125559460, -0.999510309935853100, -0.999511873247371010, +-0.999513434060109170, -0.999514992374063720, -0.999516548189230860, -0.999518101505606600, -0.999519652323187070, -0.999521200641968480, -0.999522746461946830, -0.999524289783118250, +-0.999525830605479060, -0.999527368929025270, -0.999528904753753000, -0.999530438079658580, -0.999531968906737900, -0.999533497234987410, -0.999535023064403230, -0.999536546394981350, +-0.999538067226718230, -0.999539585559609870, -0.999541101393652600, -0.999542614728842540, -0.999544125565175910, -0.999545633902649060, -0.999547139741258080, -0.999548643080999220, +-0.999550143921868810, -0.999551642263862950, -0.999553138106978100, -0.999554631451210260, -0.999556122296555990, -0.999557610643011300, -0.999559096490572620, -0.999560579839236300, +-0.999562060688998440, -0.999563539039855400, -0.999565014891803600, -0.999566488244839180, -0.999567959098958570, -0.999569427454158000, -0.999570893310434030, -0.999572356667782660, +-0.999573817526200450, -0.999575275885683730, -0.999576731746228850, -0.999578185107832030, -0.999579635970489820, -0.999581084334198570, -0.999582530198954490, -0.999583973564754150, +-0.999585414431593880, -0.999586852799470020, -0.999588288668379120, -0.999589722038317420, -0.999591152909281470, -0.999592581281267600, -0.999594007154272270, -0.999595430528292030, +-0.999596851403323110, -0.999598269779362060, -0.999599685656405330, -0.999601099034449380, -0.999602509913490760, -0.999603918293525790, -0.999605324174551060, -0.999606727556563100, +-0.999608128439558150, -0.999609526823532990, -0.999610922708484060, -0.999612316094407700, -0.999613706981300590, -0.999615095369159270, -0.999616481257980190, -0.999617864647759920, +-0.999619245538494900, -0.999620623930181810, -0.999621999822817190, -0.999623373216397600, -0.999624744110919510, -0.999626112506379560, -0.999627478402774330, -0.999628841800100480, +-0.999630202698354450, -0.999631561097532930, -0.999632916997632570, -0.999634270398649830, -0.999635621300581480, -0.999636969703423970, -0.999638315607174200, -0.999639659011828500, +-0.999640999917383750, -0.999642338323836420, -0.999643674231183280, -0.999645007639420990, -0.999646338548546120, -0.999647666958555450, -0.999648992869445530, -0.999650316281213260, +-0.999651637193855080, -0.999652955607367890, -0.999654271521748240, -0.999655584936993020, -0.999656895853098800, -0.999658204270062250, -0.999659510187880240, -0.999660813606549460, +-0.999662114526066680, -0.999663412946428580, -0.999664708867632030, -0.999666002289673620, -0.999667293212550210, -0.999668581636258600, -0.999669867560795460, -0.999671150986157660, +-0.999672431912342120, -0.999673710339345380, -0.999674986267164440, -0.999676259695795990, -0.999677530625236900, -0.999678799055483960, -0.999680064986533940, -0.999681328418383860, +-0.999682589351030490, -0.999683847784470610, -0.999685103718701120, -0.999686357153718900, -0.999687608089520730, -0.999688856526103510, -0.999690102463464240, -0.999691345901599690, +-0.999692586840506770, -0.999693825280182360, -0.999695061220623350, -0.999696294661826750, -0.999697525603789440, -0.999698754046508320, -0.999699979989980280, -0.999701203434202210, +-0.999702424379171230, -0.999703642824884220, -0.999704858771337970, -0.999706072218529700, -0.999707283166456180, -0.999708491615114550, -0.999709697564501560, -0.999710901014614350, +-0.999712101965450020, -0.999713300417005240, -0.999714496369277340, -0.999715689822263220, -0.999716880775959770, -0.999718069230364210, -0.999719255185473440, -0.999720438641284570, +-0.999721619597794490, -0.999722798055000420, -0.999723974012899360, -0.999725147471488440, -0.999726318430764540, -0.999727486890724990, -0.999728652851366580, -0.999729816312686540, +-0.999730977274682080, -0.999732135737350090, -0.999733291700687810, -0.999734445164692230, -0.999735596129360580, -0.999736744594689860, -0.999737890560677410, -0.999739034027320230, +-0.999740174994615320, -0.999741313462560120, -0.999742449431151540, -0.999743582900386900, -0.999744713870263310, -0.999745842340777900, -0.999746968311927890, -0.999748091783710490, +-0.999749212756122830, -0.999750331229162130, -0.999751447202825600, -0.999752560677110490, -0.999753671652013900, -0.999754780127533270, -0.999755886103665500, -0.999756989580408150, +-0.999758090557758330, -0.999759189035713260, -0.999760285014270170, -0.999761378493426500, -0.999762469473179260, -0.999763557953525890, -0.999764643934463630, -0.999765727415989680, +-0.999766808398101500, -0.999767886880796320, -0.999768962864071350, -0.999770036347924050, -0.999771107332351530, -0.999772175817351340, -0.999773241802920710, -0.999774305289056970, +-0.999775366275757470, -0.999776424763019530, -0.999777480750840610, -0.999778534239217920, -0.999779585228148800, -0.999780633717630930, -0.999781679707661300, -0.999782723198237580, +-0.999783764189356990, -0.999784802681016990, -0.999785838673215020, -0.999786872165948410, -0.999787903159214620, -0.999788931653011080, -0.999789957647335250, -0.999790981142184560, +-0.999792002137556370, -0.999793020633448100, -0.999794036629857330, -0.999795050126781490, -0.999796061124218040, -0.999797069622164410, -0.999798075620618180, -0.999799079119576660, +-0.999800080119037430, -0.999801078618998140, -0.999802074619456030, -0.999803068120408760, -0.999804059121853770, -0.999805047623788750, -0.999806033626211010, -0.999807017129118240, +-0.999807998132507980, -0.999808976636377580, -0.999809952640724810, -0.999810926145547230, -0.999811897150842290, -0.999812865656607540, -0.999813831662840660, -0.999814795169539310, +-0.999815756176700820, -0.999816714684322980, -0.999817670692403460, -0.999818624200939590, -0.999819575209929260, -0.999820523719370020, -0.999821469729259450, -0.999822413239595200, +-0.999823354250374830, -0.999824292761596230, -0.999825228773256750, -0.999826162285354260, -0.999827093297886440, -0.999828021810850840, -0.999828947824245140, -0.999829871338067110, +-0.999830792352314310, -0.999831710866984640, -0.999832626882075640, -0.999833540397585100, -0.999834451413510790, -0.999835359929850180, -0.999836265946601240, -0.999837169463761670, +-0.999838070481329220, -0.999838968999301470, -0.999839865017676410, -0.999840758536451600, -0.999841649555624930, -0.999842538075194190, -0.999843424095157030, -0.999844307615511350, +-0.999845188636254930, -0.999846067157385440, -0.999846943178900880, -0.999847816700798920, -0.999848687723077440, -0.999849556245734240, -0.999850422268767080, -0.999851285792173970, +-0.999852146815952580, -0.999853005340100800, -0.999853861364616510, -0.999854714889497620, -0.999855565914742010, -0.999856414440347340, -0.999857260466311740, -0.999858103992632860, +-0.999858945019308830, -0.999859783546337420, -0.999860619573716520, -0.999861453101444140, -0.999862284129518050, -0.999863112657936370, -0.999863938686696760, -0.999864762215797340, +-0.999865583245236110, -0.999866401775010850, -0.999867217805119560, -0.999868031335560240, -0.999868842366330890, -0.999869650897429410, -0.999870456928853790, -0.999871260460602040, +-0.999872061492672160, -0.999872860025062040, -0.999873656057769900, -0.999874449590793520, -0.999875240624131020, -0.999876029157780510, -0.999876815191739880, -0.999877598726007120, +-0.999878379760580470, -0.999879158295457810, -0.999879934330637270, -0.999880707866116940, -0.999881478901894830, -0.999882247437969050, -0.999883013474337610, -0.999883777010998620, +-0.999884538047950190, -0.999885296585190430, -0.999886052622717350, -0.999886806160529270, -0.999887557198624100, -0.999888305737000050, -0.999889051775655240, -0.999889795314587880, +-0.999890536353795880, -0.999891274893277670, -0.999892010933031260, -0.999892744473054760, -0.999893475513346400, -0.999894204053904390, -0.999894930094726850, -0.999895653635812010, +-0.999896374677157970, -0.999897093218763080, -0.999897809260625440, -0.999898522802743160, -0.999899233845114700, -0.999899942387738160, -0.999900648430611770, -0.999901351973733640, +-0.999902053017102220, -0.999902751560715730, -0.999903447604572280, -0.999904141148670210, -0.999904832193007740, -0.999905520737583320, -0.999906206782394950, -0.999906890327441180, +-0.999907571372720130, -0.999908249918230130, -0.999908925963969630, -0.999909599509936740, -0.999910270556129800, -0.999910939102547250, -0.999911605149187310, -0.999912268696048320, +-0.999912929743128730, -0.999913588290426870, -0.999914244337940960, -0.999914897885669450, -0.999915548933610680, -0.999916197481763080, -0.999916843530124890, -0.999917487078694660, +-0.999918128127470720, -0.999918766676451520, -0.999919402725635290, -0.999920036275020570, -0.999920667324605830, -0.999921295874389380, -0.999921921924369680, -0.999922545474545180, +-0.999923166524914420, -0.999923785075475640, -0.999924401126227380, -0.999925014677168100, -0.999925625728296350, -0.999926234279610580, -0.999926840331109120, -0.999927443882790650, +-0.999928044934653480, -0.999928643486696300, -0.999929239538917440, -0.999929833091315450, -0.999930424143888890, -0.999931012696636310, -0.999931598749556280, -0.999932182302647130, +-0.999932763355907530, -0.999933341909336030, -0.999933917962931180, -0.999934491516691560, -0.999935062570615710, -0.999935631124702300, -0.999936197178949660, -0.999936760733356580, +-0.999937321787921610, -0.999937880342643300, -0.999938436397520340, -0.999938989952551260, -0.999939541007734740, -0.999940089563069350, -0.999940635618553620, -0.999941179174186460, +-0.999941720229966300, -0.999942258785891820, -0.999942794841961690, -0.999943328398174680, -0.999943859454529240, -0.999944388011024140, -0.999944914067658170, -0.999945437624429780, +-0.999945958681337840, -0.999946477238381040, -0.999946993295558140, -0.999947506852867600, -0.999948017910308410, -0.999948526467879020, -0.999949032525578430, -0.999949536083405310, +-0.999950037141358220, -0.999950535699436150, -0.999951031757637670, -0.999951525315961650, -0.999952016374406780, -0.999952504932971830, -0.999952990991655690, -0.999953474550457130, +-0.999953955609374720, -0.999954434168407570, -0.999954910227554230, -0.999955383786813700, -0.999955854846184660, -0.999956323405665980, -0.999956789465256570, -0.999957253024955080, +-0.999957714084760530, -0.999958172644671680, -0.999958628704687440, -0.999959082264806560, -0.999959533325027960, -0.999959981885350510, -0.999960427945773220, -0.999960871506294760, +-0.999961312566914230, -0.999961751127630310, -0.999962187188441990, -0.999962620749348270, -0.999963051810348060, -0.999963480371440120, -0.999963906432623560, -0.999964329993897170, +-0.999964751055259950, -0.999965169616710890, -0.999965585678248890, -0.999965999239872950, -0.999966410301581950, -0.999966818863375020, -0.999967224925250920, -0.999967628487208880, +-0.999968029549247680, -0.999968428111366440, -0.999968824173564140, -0.999969217735839800, -0.999969608798192410, -0.999969997360620980, -0.999970383423124500, -0.999970766985702090, +-0.999971148048352850, -0.999971526611075690, -0.999971902673869710, -0.999972276236733900, -0.999972647299667510, -0.999973015862669400, -0.999973381925738810, -0.999973745488874850, +-0.999974106552076410, -0.999974465115342710, -0.999974821178672870, -0.999975174742065990, -0.999975525805521180, -0.999975874369037570, -0.999976220432614250, -0.999976563996250340, +-0.999976905059945080, -0.999977243623697550, -0.999977579687506890, -0.999977913251372310, -0.999978244315292920, -0.999978572879267950, -0.999978898943296500, -0.999979222507377810, +-0.999979543571511090, -0.999979862135695450, -0.999980178199930240, -0.999980491764214550, -0.999980802828547620, -0.999981111392928670, -0.999981417457357020, -0.999981721021831800, +-0.999982022086352230, -0.999982320650917630, -0.999982616715527240, -0.999982910280180270, -0.999983201344876060, -0.999983489909613830, -0.999983775974392920, -0.999984059539212540, +-0.999984340604071930, -0.999984619168970630, -0.999984895233907660, -0.999985168798882550, -0.999985439863894430, -0.999985708428942740, -0.999985974494026710, -0.999986238059145880, +-0.999986499124299380, -0.999986757689486640, -0.999987013754707000, -0.999987267319959790, -0.999987518385244470, -0.999987766950560350, -0.999988013015906780, -0.999988256581283210, +-0.999988497646689070, -0.999988736212123590, -0.999988972277586320, -0.999989205843076490, -0.999989436908593770, -0.999989665474137480, -0.999989891539706970, -0.999990115105301780, +-0.999990336170921260, -0.999990554736564840, -0.999990770802232090, -0.999990984367922440, -0.999991195433635350, -0.999991403999370140, -0.999991610065126600, -0.999991813630903950, +-0.999992014696701740, -0.999992213262519520, -0.999992409328356760, -0.999992602894212990, -0.999992793960087670, -0.999992982525980460, -0.999993168591890690, -0.999993352157818040, +-0.999993533223762050, -0.999993711789722180, -0.999993887855698090, -0.999994061421689230, -0.999994232487695140, -0.999994401053715620, -0.999994567119749990, -0.999994730685798030, +-0.999994891751859180, -0.999995050317933120, -0.999995206384019400, -0.999995359950117680, -0.999995511016227630, -0.999995659582348710, -0.999995805648480670, -0.999995949214623090, +-0.999996090280775740, -0.999996228846938060, -0.999996364913109840, -0.999996498479290730, -0.999996629545480410, -0.999996758111678430, -0.999996884177884570, -0.999997007744098500, +-0.999997128810319990, -0.999997247376548600, -0.999997363442784120, -0.999997477009026190, -0.999997588075274610, -0.999997696641529040, -0.999997802707789150, -0.999997906274054830, +-0.999998007340325730, -0.999998105906601650, -0.999998201972882250, -0.999998295539167410, -0.999998386605456810, -0.999998475171750220, -0.999998561238047420, -0.999998644804348300, +-0.999998725870652530, -0.999998804436959880, -0.999998880503270350, -0.999998954069583500, -0.999999025135899330, -0.999999093702217620, -0.999999159768538040, -0.999999223334860690, +-0.999999284401185240, -0.999999342967511580, -0.999999399033839610, -0.999999452600169090, -0.999999503666499920, -0.999999552232832100, -0.999999598299165290, -0.999999641865499500, +-0.999999682931834610, -0.999999721498170510, -0.999999757564507100, -0.999999791130844360, -0.999999822197182090, -0.999999850763520270, -0.999999876829858910, -0.999999900396197680, +-0.999999921462536800, -0.999999940028876160, -0.999999956095215640, -0.999999969661555240, -0.999999980727894870, -0.999999989294234610, -0.999999995360574270, -0.999999998926914050, +-0.999999999993253730, -0.999999998559593540, -0.999999994625933250, -0.999999988192273090, -0.999999979258612840, -0.999999967824952710, -0.999999953891292590, -0.999999937457632600, +-0.999999918523972850, -0.999999897090313230, -0.999999873156653950, -0.999999846722994910, -0.999999817789336220, -0.999999786355678100, -0.999999752422020440, -0.999999715988363350, +-0.999999677054707050, -0.999999635621051540, -0.999999591687396940, -0.999999545253743350, -0.999999496320091000, -0.999999444886439770, -0.999999390952790000, -0.999999334519141690, +-0.999999275585495170, -0.999999214151850340, -0.999999150218207510, -0.999999083784566810, -0.999999014850928350, -0.999998943417292450, -0.999998869483659130, -0.999998793050028700, +-0.999998714116401180, -0.999998632682777000, -0.999998548749156170, -0.999998462315538910, -0.999998373381925540, -0.999998281948316300, -0.999998188014711300, -0.999998091581110860, +-0.999997992647515100, -0.999997891213924460, -0.999997787280339060, -0.999997680846759220, -0.999997571913185170, -0.999997460479617130, -0.999997346546055540, -0.999997230112500520, +-0.999997111178952400, -0.999996989745411510, -0.999996865811878190, -0.999996739378352760, -0.999996610444835340, -0.999996479011326490, -0.999996345077826420, -0.999996208644335470, +-0.999996069710853970, -0.999995928277382370, -0.999995784343920890, -0.999995637910470080, -0.999995488977030060, -0.999995337543601260, -0.999995183610184250, -0.999995027176779240, +-0.999994868243386570, -0.999994706810006790, -0.999994542876640360, -0.999994376443287370, -0.999994207509948610, -0.999994036076624290, -0.999993862143314760, -0.999993685710020670, +-0.999993506776742370, -0.999993325343480290, -0.999993141410234990, -0.999992954977006690, -0.999992766043796060, -0.999992574610603540, -0.999992380677429570, -0.999992184244274610, +-0.999991985311139310, -0.999991783878023900, -0.999991579944929150, -0.999991373511855300, -0.999991164578803100, -0.999990953145773020, -0.999990739212765600, -0.999990522779781290, +-0.999990303846820640, -0.999990082413884210, -0.999989858480972550, -0.999989632048086330, -0.999989403115225990, -0.999989171682392210, -0.999988937749585420, -0.999988701316806280, +-0.999988462384055480, -0.999988220951333440, -0.999987977018640840, -0.999987730585978340, -0.999987481653346500, -0.999987230220745980, -0.999986976288177340, -0.999986719855641360, +-0.999986460923138480, -0.999986199490669470, -0.999985935558234900, -0.999985669125835640, -0.999985400193472040, -0.999985128761145090, -0.999984854828855240, -0.999984578396603260, +-0.999984299464389830, -0.999984018032215700, -0.999983734100081460, -0.999983447667987970, -0.999983158735935800, -0.999982867303925720, -0.999982573371958510, -0.999982276940034830, +-0.999981978008155470, -0.999981676576321200, -0.999981372644532680, -0.999981066212790700, -0.999980757281096140, -0.999980445849449670, -0.999980131917852070, -0.999979815486304210, +-0.999979496554806670, -0.999979175123360540, -0.999978851191966390, -0.999978524760625100, -0.999978195829337560, -0.999977864398104430, -0.999977530466926720, -0.999977194035805210, +-0.999976855104740660, -0.999976513673733970, -0.999976169742786030, -0.999975823311897600, -0.999975474381069710, -0.999975122950303110, -0.999974769019598700, -0.999974412588957250, +-0.999974053658379880, -0.999973692227867360, -0.999973328297420690, -0.999972961867040540, -0.999972592936728130, -0.999972221506484130, -0.999971847576309640, -0.999971471146205550, +-0.999971092216172750, -0.999970710786212250, -0.999970326856324920, -0.999969940426511770, -0.999969551496773800, -0.999969160067111900, -0.999968766137527170, -0.999968369708020500, +-0.999967970778592900, -0.999967569349245360, -0.999967165419978990, -0.999966758990794570, -0.999966350061693320, -0.999965938632676240, -0.999965524703744220, -0.999965108274898480, +-0.999964689346139910, -0.999964267917469620, -0.999963843988888710, -0.999963417560398080, -0.999962988631999060, -0.999962557203692430, -0.999962123275479510, -0.999961686847361200, +-0.999961247919338710, -0.999960806491413170, -0.999960362563585560, -0.999959916135857000, -0.999959467208228700, -0.999959015780701680, -0.999958561853277140, -0.999958105425956200, +-0.999957646498740080, -0.999957185071629780, -0.999956721144626530, -0.999956254717731420, -0.999955785790945680, -0.999955314364270540, -0.999954840437707100, -0.999954364011256480, +-0.999953885084920000, -0.999953403658698890, -0.999952919732594150, -0.999952433306607210, -0.999951944380739090, -0.999951452954991220, -0.999950959029364590, -0.999950462603860670, +-0.999949963678480550, -0.999949462253225560, -0.999948958328096830, -0.999948451903095780, -0.999947942978223540, -0.999947431553481540, -0.999946917628870890, -0.999946401204392930, +-0.999945882280048990, -0.999945360855840400, -0.999944836931768390, -0.999944310507834170, -0.999943781584039290, -0.999943250160384990, -0.999942716236872480, -0.999942179813503200, +-0.999941640890278480, -0.999941099467199670, -0.999940555544268080, -0.999940009121485060, -0.999939460198852050, -0.999938908776370480, -0.999938354854041590, -0.999937798431866810, +-0.999937239509847480, -0.999936678087985030, -0.999936114166281030, -0.999935547744736590, -0.999934978823353360, -0.999934407402132690, -0.999933833481076010, -0.999933257060184770, +-0.999932678139460300, -0.999932096718904150, -0.999931512798517770, -0.999930926378302610, -0.999930337458260210, -0.999929746038391910, -0.999929152118699260, -0.999928555699183710, +-0.999927956779846800, -0.999927355360689880, -0.999926751441714720, -0.999926145022922650, -0.999925536104315120, -0.999924924685893890, -0.999924310767660310, -0.999923694349615920, +-0.999923075431762290, -0.999922454014100960, -0.999921830096633490, -0.999921203679361550, -0.999920574762286460, -0.999919943345410010, -0.999919309428733750, -0.999918673012259120, +-0.999918034095987780, -0.999917392679921520, -0.999916748764061670, -0.999916102348409890, -0.999915453432967950, -0.999914802017737410, -0.999914148102719720, -0.999913491687916770, +-0.999912832773330100, -0.999912171358961270, -0.999911507444812050, -0.999910841030884120, -0.999910172117179030, -0.999909500703698550, -0.999908826790444240, -0.999908150377417980, +-0.999907471464621220, -0.999906790052055850, -0.999906106139723530, -0.999905419727625810, -0.999904730815764700, -0.999904039404141740, -0.999903345492758610, -0.999902649081617190, +-0.999901950170719030, -0.999901248760066140, -0.999900544849660070, -0.999899838439502590, -0.999899129529595590, -0.999898418119940740, -0.999897704210539810, -0.999896987801394690, +-0.999896268892507050, -0.999895547483878660, -0.999894823575511520, -0.999894097167407290, -0.999893368259567870, -0.999892636851994920, -0.999891902944690440, -0.999891166537656200, +-0.999890427630894090, -0.999889686224405880, -0.999888942318193360, -0.999888195912258640, -0.999887447006603370, -0.999886695601229450, -0.999885941696138760, -0.999885185291333300, +-0.999884426386814850, -0.999883664982585300, -0.999882901078646640, -0.999882134675000640, -0.999881365771649430, -0.999880594368594780, -0.999879820465838560, -0.999879044063382790, +-0.999878265161229460, -0.999877483759380570, -0.999876699857837780, -0.999875913456603320, -0.999875124555679170, -0.999874333155067130, -0.999873539254769180, -0.999872742854787440, +-0.999871943955123910, -0.999871142555780470, -0.999870338656759120, -0.999869532258061970, -0.999868723359691010, -0.999867911961648260, -0.999867098063935700, -0.999866281666555450, +-0.999865462769509380, -0.999864641372799730, -0.999863817476428500, -0.999862991080397670, -0.999862162184709360, -0.999861330789365680, -0.999860496894368620, -0.999859660499720420, +-0.999858821605422940, -0.999857980211478540, -0.999857136317889080, -0.999856289924656800, -0.999855441031783810, -0.999854589639272210, -0.999853735747124220, -0.999852879355341840, +-0.999852020463927180, -0.999851159072882580, -0.999850295182210020, -0.999849428791911740, -0.999848559901989840, -0.999847688512446650, -0.999846814623284170, -0.999845938234504630, +-0.999845059346110340, -0.999844177958103320, -0.999843294070485890, -0.999842407683260160, -0.999841518796428460, -0.999840627409993020, -0.999839733523955940, -0.999838837138319560, +-0.999837938253086090, -0.999837036868257760, -0.999836132983836780, -0.999835226599825600, -0.999834317716226220, -0.999833406333041070, -0.999832492450272500, -0.999831576067922610, +-0.999830657185993840, -0.999829735804488420, -0.999828811923408560, -0.999827885542756810, -0.999826956662535290, -0.999826025282746330, -0.999825091403392370, -0.999824155024475640, +-0.999823216145998560, -0.999822274767963480, -0.999821330890372620, -0.999820384513228520, -0.999819435636533420, -0.999818484260289630, -0.999817530384499720, -0.999816574009166010, +-0.999815615134290850, -0.999814653759876660, -0.999813689885925780, -0.999812723512440770, -0.999811754639423840, -0.999810783266877670, -0.999809809394804460, -0.999808833023206670, +-0.999807854152086840, -0.999806872781447420, -0.999805888911290740, -0.999804902541619470, -0.999803913672435820, -0.999802922303742460, -0.999801928435541720, -0.999800932067836160, +-0.999799933200628320, -0.999798931833920660, -0.999797927967715610, -0.999796921602015830, -0.999795912736823670, -0.999794901372141780, -0.999793887507972600, -0.999792871144318700, +-0.999791852281182610, -0.999790830918566910, -0.999789807056474130, -0.999788780694906840, -0.999787751833867590, -0.999786720473359040, -0.999785686613383630, -0.999784650253943920, +-0.999783611395042680, -0.999782570036682360, -0.999781526178865730, -0.999780479821595120, -0.999779430964873430, -0.999778379608703190, -0.999777325753086870, -0.999776269398027330, +-0.999775210543527030, -0.999774149189588850, -0.999773085336215120, -0.999772018983408840, -0.999770950131172450, -0.999769878779508630, -0.999768804928420130, -0.999767728577909740, +-0.999766649727979910, -0.999765568378633510, -0.999764484529873100, -0.999763398181701570, -0.999762309334121470, -0.999761217987135690, -0.999760124140746780, -0.999759027794957620, +-0.999757928949770890, -0.999756827605189360, -0.999755723761215690, -0.999754617417852760, -0.999753508575103260, -0.999752397232969940, -0.999751283391455690, -0.999750167050563300, +-0.999749048210295420, -0.999747926870654830, -0.999746803031644540, -0.999745676693267190, -0.999744547855525690, -0.999743416518422800, -0.999742282681961410, -0.999741146346144300, +-0.999740007510974250, -0.999738866176454240, -0.999737722342587070, -0.999736576009375600, -0.999735427176822730, -0.999734275844931240, -0.999733122013704010, -0.999731965683144040, +-0.999730806853254110, -0.999729645524037200, -0.999728481695496220, -0.999727315367633930, -0.999726146540453440, -0.999724975213957530, -0.999723801388149200, -0.999722625063031440, +-0.999721446238607040, -0.999720264914878980, -0.999719081091850370, -0.999717894769524000, -0.999716705947902850, -0.999715514626990040, -0.999714320806788350, -0.999713124487300870, +-0.999711925668530620, -0.999710724350480580, -0.999709520533153650, -0.999708314216552930, -0.999707105400681530, -0.999705894085542220, -0.999704680271138240, -0.999703463957472670, +-0.999702245144548310, -0.999701023832368360, -0.999699800020935840, -0.999698573710253830, -0.999697344900325360, -0.999696113591153620, -0.999694879782741520, -0.999693643475092260, +-0.999692404668208860, -0.999691163362094400, -0.999689919556752130, -0.999688673252185020, -0.999687424448396200, -0.999686173145388880, -0.999684919343166060, -0.999683663041731060, +-0.999682404241086790, -0.999681142941236560, -0.999679879142183370, -0.999678612843930670, -0.999677344046481230, -0.999676072749838610, -0.999674798954005680, -0.999673522658985790, +-0.999672243864782150, -0.999670962571397870, -0.999669678778836170, -0.999668392487100270, -0.999667103696193380, -0.999665812406118850, -0.999664518616879660, -0.999663222328479150, +-0.999661923540920650, -0.999660622254207380, -0.999659318468342440, -0.999658012183329280, -0.999656703399171120, -0.999655392115871180, -0.999654078333432670, -0.999652762051859050, +-0.999651443271153520, -0.999650121991319420, -0.999648798212359970, -0.999647471934278500, -0.999646143157078340, -0.999644811880762930, -0.999643478105335380, -0.999642141830799140, +-0.999640803057157630, -0.999639461784414100, -0.999638118012571850, -0.999636771741634340, -0.999635422971604900, -0.999634071702486860, -0.999632717934283650, -0.999631361666998730, +-0.999630002900635310, -0.999628641635196940, -0.999627277870686950, -0.999625911607108790, -0.999624542844465780, -0.999623171582761480, -0.999621797821999230, -0.999620421562182560, +-0.999619042803314710, -0.999617661545399330, -0.999616277788439760, -0.999614891532439540, -0.999613502777402020, -0.999612111523330850, -0.999610717770229360, -0.999609321518101000, +-0.999607922766949430, -0.999606521516777980, -0.999605117767590310, -0.999603711519389760, -0.999602302772179980, -0.999600891525964430, -0.999599477780746650, -0.999598061536530190, +-0.999596642793318610, -0.999595221551115350, -0.999593797809924080, -0.999592371569748340, -0.999590942830591580, -0.999589511592457570, -0.999588077855349750, -0.999586641619271690, +-0.999585202884227030, -0.999583761650219450, -0.999582317917252380, -0.999580871685329500, -0.999579422954454460, -0.999577971724630920, -0.999576517995862450, -0.999575061768152580, +-0.999573603041505110, -0.999572141815923690, -0.999570678091411870, -0.999569211867973430, -0.999567743145611810, -0.999566271924330900, -0.999564798204134350, -0.999563321985025840, +-0.999561843267008920, -0.999560362050087470, -0.999558878334265040, -0.999557392119545530, -0.999555903405932370, -0.999554412193429550, -0.999552918482040750, -0.999551422271769630, +-0.999549923562619960, -0.999548422354595400, -0.999546918647699840, -0.999545412441936950, -0.999543903737310610, -0.999542392533824490, -0.999540878831482350, -0.999539362630287980, +-0.999537843930245250, -0.999536322731357950, -0.999534799033629740, -0.999533272837064610, -0.999531744141666230, -0.999530212947438600, -0.999528679254385380, -0.999527143062510450, +-0.999525604371817700, -0.999524063182310910, -0.999522519493993960, -0.999520973306870730, -0.999519424620945010, -0.999517873436220780, -0.999516319752701940, -0.999514763570392150, +-0.999513204889295510, -0.999511643709415920, -0.999510080030757140, -0.999508513853323290, -0.999506945177118020, -0.999505374002145450, -0.999503800328409350, -0.999502224155913830, +-0.999500645484662780, -0.999499064314660070, -0.999497480645909710, -0.999495894478415690, -0.999494305812181900, -0.999492714647212340, -0.999491120983511010, -0.999489524821081890, +-0.999487926159928870, -0.999486325000056080, -0.999484721341467490, -0.999483115184167100, -0.999481506528158930, -0.999479895373447060, -0.999478281720035390, -0.999476665567927910, +-0.999475046917128850, -0.999473425767642200, -0.999471802119472060, -0.999470175972622330, -0.999468547327097110, -0.999466916182900620, -0.999465282540036750, -0.999463646398509710, +-0.999462007758323610, -0.999460366619482340, -0.999458722981990340, -0.999457076845851390, -0.999455428211069810, -0.999453777077649710, -0.999452123445595090, -0.999450467314910160, +-0.999448808685599150, -0.999447147557666060, -0.999445483931115100, -0.999443817805950370, -0.999442149182176220, -0.999440478059796520, -0.999438804438815830, -0.999437128319238030, +-0.999435449701067350, -0.999433768584308100, -0.999432084968964520, -0.999430398855040590, -0.999428710242540760, -0.999427019131469140, -0.999425325521829940, -0.999423629413627390, +-0.999421930806865810, -0.999420229701549420, -0.999418526097682450, -0.999416819995269210, -0.999415111394313830, -0.999413400294820730, -0.999411686696794140, -0.999409970600238280, +-0.999408252005157480, -0.999406530911556180, -0.999404807319438370, -0.999403081228808720, -0.999401352639671230, -0.999399621552030440, -0.999397887965890570, -0.999396151881255970, +-0.999394413298131060, -0.999392672216520060, -0.999390928636427310, -0.999389182557857360, -0.999387433980814420, -0.999385682905302830, -0.999383929331327030, -0.999382173258891560, +-0.999380414688000540, -0.999378653618658410, -0.999376890050869830, -0.999375123984638900, -0.999373355419970190, -0.999371584356868130, -0.999369810795337040, -0.999368034735381380, +-0.999366256177005810, -0.999364475120214420, -0.999362691565012010, -0.999360905511402780, -0.999359116959391280, -0.999357325908981960, -0.999355532360179380, -0.999353736312987960, +-0.999351937767412160, -0.999350136723456520, -0.999348333181125590, -0.999346527140423820, -0.999344718601355760, -0.999342907563925850, -0.999341094028138640, -0.999339277993998800, +-0.999337459461510650, -0.999335638430678960, -0.999333814901508080, -0.999331988874002760, -0.999330160348167350, -0.999328329324006610, -0.999326495801525110, -0.999324659780727260, +-0.999322821261617760, -0.999320980244201240, -0.999319136728482270, -0.999317290714465510, -0.999315442202155510, -0.999313591191556830, -0.999311737682674230, -0.999309881675512270, +-0.999308023170075610, -0.999306162166368920, -0.999304298664396850, -0.999302432664163960, -0.999300564165675030, -0.999298693168934600, -0.999296819673947570, -0.999294943680718360, +-0.999293065189251870, -0.999291184199552760, -0.999289300711625690, -0.999287414725475220, -0.999285526241106340, -0.999283635258523590, -0.999281741777731880, -0.999279845798735630, +-0.999277947321539850, -0.999276046346149190, -0.999274142872568440, -0.999272236900802360, -0.999270328430855610, -0.999268417462733090, -0.999266503996439570, -0.999264588031979710, +-0.999262669569358390, -0.999260748608580500, -0.999258825149650590, -0.999256899192573660, -0.999254970737354590, -0.999253039783997930, -0.999251106332508800, -0.999249170382891850, +-0.999247231935151970, -0.999245290989294040, -0.999243347545322850, -0.999241401603243260, -0.999239453163060290, -0.999237502224778580, -0.999235548788403150, -0.999233592853938870, +-0.999231634421390510, -0.999229673490763190, -0.999227710062061570, -0.999225744135290750, -0.999223775710455510, -0.999221804787560950, -0.999219831366611740, -0.999217855447613100, +-0.999215877030569690, -0.999213896115486610, -0.999211912702368870, -0.999209926791221340, -0.999207938382048910, -0.999205947474856690, -0.999203954069649570, -0.999201958166432540, +-0.999199959765210700, -0.999197958865988940, -0.999195955468772270, -0.999193949573565670, -0.999191941180374240, -0.999189930289202890, -0.999187916900056820, -0.999185901012940910, +-0.999183882627860290, -0.999181861744819930, -0.999179838363824850, -0.999177812484880250, -0.999175784107991130, -0.999173753233162490, -0.999171719860399540, -0.999169683989707180, +-0.999167645621090730, -0.999165604754555070, -0.999163561390105540, -0.999161515527747010, -0.999159467167484610, -0.999157416309323640, -0.999155362953269120, -0.999153307099326260, +-0.999151248747500050, -0.999149187897795720, -0.999147124550218370, -0.999145058704773330, -0.999142990361465590, -0.999140919520300370, -0.999138846181282900, -0.999136770344418170, +-0.999134692009711610, -0.999132611177168340, -0.999130527846793570, -0.999128442018592410, -0.999126353692570190, -0.999124262868732020, -0.999122169547083330, -0.999120073727629120, +-0.999117975410374730, -0.999115874595325360, -0.999113771282486350, -0.999111665471862920, -0.999109557163460280, -0.999107446357283880, -0.999105333053338710, -0.999103217251630320, +-0.999101098952163810, -0.999098978154944530, -0.999096854859977900, -0.999094729067269150, -0.999092600776823490, -0.999090469988646370, -0.999088336702743000, -0.999086200919118930, +-0.999084062637779270, -0.999081921858729460, -0.999079778581974830, -0.999077632807520710, -0.999075484535372650, -0.999073333765535750, -0.999071180498015580, -0.999069024732817450, +-0.999066866469946690, -0.999064705709408860, -0.999062542451209290, -0.999060376695353300, -0.999058208441846340, -0.999056037690693950, -0.999053864441901360, -0.999051688695474120, +-0.999049510451417770, -0.999047329709737530, -0.999045146470439070, -0.999042960733527610, -0.999040772499008910, -0.999038581766888200, -0.999036388537171030, -0.999034192809862830, +-0.999031994584969270, -0.999029793862495570, -0.999027590642447500, -0.999025384924830510, -0.999023176709649910, -0.999020965996911480, -0.999018752786620560, -0.999016537078782800, +-0.999014318873403750, -0.999012098170488750, -0.999009874970043680, -0.999007649272073750, -0.999005421076584850, -0.999003190383582320, -0.999000957193071800, -0.998998721505058970, +-0.998996483319549270, -0.998994242636548350, -0.998991999456061870, -0.998989753778095400, -0.998987505602654480, -0.998985254929744880, -0.998983001759372050, -0.998980746091541860, +-0.998978487926259650, -0.998976227263531300, -0.998973964103362370, -0.998971698445758500, -0.998969430290725380, -0.998967159638268760, -0.998964886488394210, -0.998962610841107380, +-0.998960332696414150, -0.998958052054319980, -0.998955768914830730, -0.998953483277951970, -0.998951195143689570, -0.998948904512049210, -0.998946611383036640, -0.998944315756657430, +-0.998942017632917460, -0.998939717011822490, -0.998937413893378200, -0.998935108277590360, -0.998932800164464730, -0.998930489554007090, -0.998928176446223340, -0.998925860841119010, +-0.998923542738700100, -0.998921222138972280, -0.998918899041941530, -0.998916573447613420, -0.998914245355993930, -0.998911914767088850, -0.998909581680903940, -0.998907246097445080, +-0.998904908016718050, -0.998902567438728850, -0.998900224363483140, -0.998897878790986900, -0.998895530721246040, -0.998893180154266200, -0.998890827090053500, -0.998888471528613820, +-0.998886113469952820, -0.998883752914076610, -0.998881389860991060, -0.998879024310701970, -0.998876656263215310, -0.998874285718536980, -0.998871912676672970, -0.998869537137629270, +-0.998867159101411660, -0.998864778568026130, -0.998862395537478690, -0.998860010009775200, -0.998857621984921670, -0.998855231462924210, -0.998852838443788580, -0.998850442927520900, +-0.998848044914127040, -0.998845644403613120, -0.998843241395985130, -0.998840835891248950, -0.998838427889410800, -0.998836017390476450, -0.998833604394452120, -0.998831188901343810, +-0.998828770911157520, -0.998826350423899220, -0.998823927439575040, -0.998821501958191190, -0.998819073979753450, -0.998816643504268130, -0.998814210531741130, -0.998811775062178550, +-0.998809337095586610, -0.998806896631971310, -0.998804453671338850, -0.998802008213695140, -0.998799560259046480, -0.998797109807398890, -0.998794656858758460, -0.998792201413131520, +-0.998789743470523960, -0.998787283030942110, -0.998784820094392070, -0.998782354660879950, -0.998779886730411960, -0.998777416302994210, -0.998774943378632930, -0.998772467957334320, +-0.998769990039104600, -0.998767509623949780, -0.998765026711876280, -0.998762541302890110, -0.998760053396997690, -0.998757562994205150, -0.998755070094518580, -0.998752574697944430, +-0.998750076804488800, -0.998747576414158010, -0.998745073526958290, -0.998742568142895860, -0.998740060261977040, -0.998737549884208040, -0.998735037009595210, -0.998732521638144740, +-0.998730003769862980, -0.998727483404756140, -0.998724960542830660, -0.998722435184092760, -0.998719907328548870, -0.998717376976205110, -0.998714844127067900, -0.998712308781143590, +-0.998709770938438600, -0.998707230598959050, -0.998704687762711480, -0.998702142429702230, -0.998699594599937620, -0.998697044273423980, -0.998694491450167750, -0.998691936130175260, +-0.998689378313452950, -0.998686818000007250, -0.998684255189844490, -0.998681689882971010, -0.998679122079393360, -0.998676551779117960, -0.998673978982151040, -0.998671403688499270, +-0.998668825898168970, -0.998666245611166680, -0.998663662827498740, -0.998661077547171590, -0.998658489770191780, -0.998655899496565750, -0.998653306726299930, -0.998650711459400870, +-0.998648113695875030, -0.998645513435728940, -0.998642910678969040, -0.998640305425601780, -0.998637697675633930, -0.998635087429071700, -0.998632474685921760, -0.998629859446190760, +-0.998627241709884930, -0.998624621477011140, -0.998621998747575730, -0.998619373521585360, -0.998616745799046470, -0.998614115579965820, -0.998611482864349860, -0.998608847652205140, +-0.998606209943538330, -0.998603569738356070, -0.998600927036664810, -0.998598281838471210, -0.998595634143781940, -0.998592983952603650, -0.998590331264942790, -0.998587676080806120, +-0.998585018400200310, -0.998582358223131910, -0.998579695549607680, -0.998577030379634190, -0.998574362713218090, -0.998571692550366040, -0.998569019891084820, -0.998566344735381080, +-0.998563667083261500, -0.998560986934732610, -0.998558304289801410, -0.998555619148474350, -0.998552931510758300, -0.998550241376659820, -0.998547548746185900, -0.998544853619342980, +-0.998542155996137940, -0.998539455876577550, -0.998536753260668600, -0.998534048148417620, -0.998531340539831610, -0.998528630434917130, -0.998525917833681160, -0.998523202736130490, +-0.998520485142271650, -0.998517765052111650, -0.998515042465657250, -0.998512317382915350, -0.998509589803892480, -0.998506859728595760, -0.998504127157031850, -0.998501392089207630, +-0.998498654525129870, -0.998495914464805570, -0.998493171908241380, -0.998490426855444310, -0.998487679306421240, -0.998484929261178930, -0.998482176719724280, -0.998479421682064160, +-0.998476664148205460, -0.998473904118155180, -0.998471141591920070, -0.998468376569507270, -0.998465609050923300, -0.998462839036175500, -0.998460066525270530, -0.998457291518215380, +-0.998454514015016950, -0.998451734015682320, -0.998448951520218290, -0.998446166528631940, -0.998443379040930170, -0.998440589057119960, -0.998437796577208210, -0.998435001601202020, +-0.998432204129108380, -0.998429404160934180, -0.998426601696686400, -0.998423796736372160, -0.998420989279998450, -0.998418179327572260, -0.998415366879100710, -0.998412551934590550, +-0.998409734494049130, -0.998406914557483430, -0.998404092124900330, -0.998401267196307060, -0.998398439771710610, -0.998395609851118080, -0.998392777434536470, -0.998389942521973000, +-0.998387105113434650, -0.998384265208928530, -0.998381422808461650, -0.998378577912041320, -0.998375730519674540, -0.998372880631368420, -0.998370028247130060, -0.998367173366966680, +-0.998364315990885380, -0.998361456118893260, -0.998358593750997450, -0.998355728887205250, -0.998352861527523670, -0.998349991671960040, -0.998347119320521340, -0.998344244473214790, +-0.998341367130047730, -0.998338487291027140, -0.998335604956160470, -0.998332720125454710, -0.998329832798917180, -0.998326942976555000, -0.998324050658375480, -0.998321155844385970, +-0.998318258534593440, -0.998315358729005230, -0.998312456427628780, -0.998309551630471080, -0.998306644337539460, -0.998303734548841360, -0.998300822264383770, -0.998297907484174240, +-0.998294990208219880, -0.998292070436528120, -0.998289148169106080, -0.998286223405961290, -0.998283296147100870, -0.998280366392532150, -0.998277434142262670, -0.998274499396299530, +-0.998271562154650070, -0.998268622417321730, -0.998265680184321940, -0.998262735455657910, -0.998259788231336990, -0.998256838511366600, -0.998253886295754180, -0.998250931584506950, +-0.998247974377632460, -0.998245014675138040, -0.998242052477031020, -0.998239087783318930, -0.998236120594009120, -0.998233150909108910, -0.998230178728625960, -0.998227204052567480, +-0.998224226880941030, -0.998221247213754050, -0.998218265051013850, -0.998215280392728000, -0.998212293238904040, -0.998209303589549290, -0.998206311444671310, -0.998203316804277540, +-0.998200319668375410, -0.998197320036972590, -0.998194317910076400, -0.998191313287694500, -0.998188306169834230, -0.998185296556503230, -0.998182284447708960, -0.998179269843458950, +-0.998176252743760870, -0.998173233148622050, -0.998170211058050260, -0.998167186472052830, -0.998164159390637520, -0.998161129813811780, -0.998158097741583260, -0.998155063173959410, +-0.998152026110948000, -0.998148986552556460, -0.998145944498792460, -0.998142899949663540, -0.998139852905177480, -0.998136803365341720, -0.998133751330164020, -0.998130696799651830, +-0.998127639773813020, -0.998124580252655050, -0.998121518236185670, -0.998118453724412440, -0.998115386717343120, -0.998112317214985280, -0.998109245217346670, -0.998106170724434970, +-0.998103093736257830, -0.998100014252822910, -0.998096932274137980, -0.998093847800210820, -0.998090760831048970, -0.998087671366660210, -0.998084579407052200, -0.998081484952232810, +-0.998078388002209720, -0.998075288556990680, -0.998072186616583370, -0.998069082180995660, -0.998065975250235220, -0.998062865824309810, -0.998059753903227210, -0.998056639486995300, +-0.998053522575621740, -0.998050403169114420, -0.998047281267481100, -0.998044156870729450, -0.998041029978867570, -0.998037900591903000, -0.998034768709843760, -0.998031634332697480, +-0.998028497460472290, -0.998025358093175720, -0.998022216230815770, -0.998019071873400330, -0.998015925020937170, -0.998012775673434270, -0.998009623830899420, -0.998006469493340380, +-0.998003312660765250, -0.998000153333181930, -0.997996991510598060, -0.997993827193021880, -0.997990660380461030, -0.997987491072923500, -0.997984319270417310, -0.997981144972950320, +-0.997977968180530420, -0.997974788893165600, -0.997971607110863860, -0.997968422833633070, -0.997965236061481240, -0.997962046794416360, -0.997958855032446300, -0.997955660775579180, +-0.997952464023822760, -0.997949264777185260, -0.997946063035674680, -0.997942858799298890, -0.997939652068065900, -0.997936442841983800, -0.997933231121060690, -0.997930016905304360, +-0.997926800194723020, -0.997923580989324770, -0.997920359289117490, -0.997917135094109290, -0.997913908404308380, -0.997910679219722540, -0.997907447540360090, -0.997904213366229030, +-0.997900976697337460, -0.997897737533693370, -0.997894495875304990, -0.997891251722180290, -0.997888005074327510, -0.997884755931754740, -0.997881504294470090, -0.997878250162481660, +-0.997874993535797670, -0.997871734414426110, -0.997868472798375210, -0.997865208687653160, -0.997861942082268080, -0.997858672982228190, -0.997855401387541590, -0.997852127298216480, +-0.997848850714260990, -0.997845571635683440, -0.997842290062491920, -0.997839005994694770, -0.997835719432299980, -0.997832430375315990, -0.997829138823750910, -0.997825844777612940, +-0.997822548236910410, -0.997819249201651440, -0.997815947671844450, -0.997812643647497440, -0.997809337128618970, -0.997806028115217130, -0.997802716607300130, -0.997799402604876430, +-0.997796086107954230, -0.997792767116541750, -0.997789445630647310, -0.997786121650279360, -0.997782795175446100, -0.997779466206155760, -0.997776134742416890, -0.997772800784237580, +-0.997769464331626280, -0.997766125384591420, -0.997762783943141110, -0.997759440007283890, -0.997756093577028100, -0.997752744652382060, -0.997749393233354210, -0.997746039319952760, +-0.997742682912186260, -0.997739324010063160, -0.997735962613591650, -0.997732598722780200, -0.997729232337637330, -0.997725863458171380, -0.997722492084390680, -0.997719118216303770, +-0.997715741853919200, -0.997712362997245080, -0.997708981646290180, -0.997705597801062830, -0.997702211461571450, -0.997698822627824500, -0.997695431299830630, -0.997692037477598050, +-0.997688641161135430, -0.997685242350451200, -0.997681841045553910, -0.997678437246451890, -0.997675030953153910, -0.997671622165668290, -0.997668210884003590, -0.997664797108168470, +-0.997661380838171240, -0.997657962074020580, -0.997654540815725130, -0.997651117063293240, -0.997647690816733550, -0.997644262076054610, -0.997640830841264980, -0.997637397112373430, +-0.997633960889388270, -0.997630522172318180, -0.997627080961171920, -0.997623637255957820, -0.997620191056684760, -0.997616742363361060, -0.997613291175995620, -0.997609837494596970, +-0.997606381319173670, -0.997602922649734380, -0.997599461486287860, -0.997595997828842670, -0.997592531677407470, -0.997589063031991020, -0.997585591892601760, -0.997582118259248580, +-0.997578642131940140, -0.997575163510685090, -0.997571682395492100, -0.997568198786369930, -0.997564712683327360, -0.997561224086372820, -0.997557732995515310, -0.997554239410763490, +-0.997550743332126120, -0.997547244759611760, -0.997543743693229400, -0.997540240132987590, -0.997536734078895200, -0.997533225530961020, -0.997529714489193810, -0.997526200953602230, +-0.997522684924195160, -0.997519166400981370, -0.997515645383969750, -0.997512121873168960, -0.997508595868587870, -0.997505067370235250, -0.997501536378120000, -0.997498002892250880, +-0.997494466912636770, -0.997490928439286550, -0.997487387472209000, -0.997483844011412880, -0.997480298056907190, -0.997476749608700810, -0.997473198666802510, -0.997469645231221280, +-0.997466089301965900, -0.997462530879045240, -0.997458969962468300, -0.997455406552243960, -0.997451840648381110, -0.997448272250888610, -0.997444701359775480, -0.997441127975050470, +-0.997437552096722800, -0.997433973724801140, -0.997430392859294580, -0.997426809500212120, -0.997423223647562530, -0.997419635301354910, -0.997416044461598260, -0.997412451128301460, +-0.997408855301473500, -0.997405256981123370, -0.997401656167260180, -0.997398052859892800, -0.997394447059030350, -0.997390838764681710, -0.997387227976856080, -0.997383614695562250, +-0.997379998920809420, -0.997376380652606590, -0.997372759890962860, -0.997369136635887220, -0.997365510887388780, -0.997361882645476430, -0.997358251910159480, -0.997354618681446920, +-0.997350982959347760, -0.997347344743871100, -0.997343704035026150, -0.997340060832821900, -0.997336415137267560, -0.997332766948372140, -0.997329116266144730, -0.997325463090594670, +-0.997321807421730820, -0.997318149259562530, -0.997314488604098880, -0.997310825455348990, -0.997307159813321960, -0.997303491678027120, -0.997299821049473570, -0.997296147927670410, +-0.997292472312626970, -0.997288794204352240, -0.997285113602855540, -0.997281430508146110, -0.997277744920233020, -0.997274056839125620, -0.997270366264833120, -0.997266673197364620, +-0.997262977636729550, -0.997259279582936920, -0.997255579035996150, -0.997251875995916470, -0.997248170462707080, -0.997244462436377210, -0.997240751916936170, -0.997237038904393300, +-0.997233323398757920, -0.997229605400039130, -0.997225884908246260, -0.997222161923388750, -0.997218436445475920, -0.997214708474516880, -0.997210978010521170, -0.997207245053497890, +-0.997203509603456610, -0.997199771660406520, -0.997196031224356960, -0.997192288295317360, -0.997188542873297060, -0.997184794958305360, -0.997181044550351730, -0.997177291649445350, +-0.997173536255595900, -0.997169778368812600, -0.997166017989104760, -0.997162255116481930, -0.997158489750953450, -0.997154721892528740, -0.997150951541217250, -0.997147178697028400, +-0.997143403359971540, -0.997139625530056200, -0.997135845207291820, -0.997132062391687720, -0.997128277083253580, -0.997124489281998700, -0.997120698987932650, -0.997116906201064860, +-0.997113110921404750, -0.997109313148961900, -0.997105512883745710, -0.997101710125765760, -0.997097904875031580, -0.997094097131552610, -0.997090286895338410, -0.997086474166398510, +-0.997082658944742350, -0.997078841230379600, -0.997075021023319690, -0.997071198323572270, -0.997067373131146910, -0.997063545446053020, -0.997059715268300280, -0.997055882597898350, +-0.997052047434856650, -0.997048209779184850, -0.997044369630892490, -0.997040526989989240, -0.997036681856484640, -0.997032834230388350, -0.997028984111709930, -0.997025131500459130, +-0.997021276396645510, -0.997017418800278610, -0.997013558711368210, -0.997009696129923960, -0.997005831055955420, -0.997001963489472340, -0.996998093430484290, -0.996994220879001030, +-0.996990345835032210, -0.996986468298587500, -0.996982588269676670, -0.996978705748309380, -0.996974820734495280, -0.996970933228244150, -0.996967043229565750, -0.996963150738469640, +-0.996959255754965800, -0.996955358279063670, -0.996951458310773140, -0.996947555850104080, -0.996943650897066050, -0.996939743451668910, -0.996935833513922450, -0.996931921083836330, +-0.996928006161420520, -0.996924088746684590, -0.996920168839638520, -0.996916246440291980, -0.996912321548654830, -0.996908394164736870, -0.996904464288547840, -0.996900531920097750, +-0.996896597059396370, -0.996892659706453470, -0.996888719861278920, -0.996884777523882490, -0.996880832694274190, -0.996876885372463770, -0.996872935558461130, -0.996868983252276240, +-0.996865028453918780, -0.996861071163398840, -0.996857111380726190, -0.996853149105910830, -0.996849184338962520, -0.996845217079891270, -0.996841247328706940, -0.996837275085419530, +-0.996833300350038920, -0.996829323122575000, -0.996825343403037860, -0.996821361191437380, -0.996817376487783460, -0.996813389292086070, -0.996809399604355220, -0.996805407424600890, +-0.996801412752832960, -0.996797415589061650, -0.996793415933296730, -0.996789413785548200, -0.996785409145826250, -0.996781402014140670, -0.996777392390501670, -0.996773380274919130, +-0.996769365667403260, -0.996765348567963840, -0.996761328976611070, -0.996757306893355070, -0.996753282318205700, -0.996749255251173190, -0.996745225692267530, -0.996741193641498710, +-0.996737159098877060, -0.996733122064412450, -0.996729082538114990, -0.996725040519994890, -0.996720996010062140, -0.996716949008326970, -0.996712899514799360, -0.996708847529489520, +-0.996704793052407560, -0.996700736083563580, -0.996696676622967790, -0.996692614670630310, -0.996688550226561330, -0.996684483290770970, -0.996680413863269330, -0.996676341944066730, +-0.996672267533173280, -0.996668190630599080, -0.996664111236354460, -0.996660029350449620, -0.996655944972894670, -0.996651858103699830, -0.996647768742875310, -0.996643676890431430, +-0.996639582546378300, -0.996635485710726240, -0.996631386383485470, -0.996627284564666320, -0.996623180254278870, -0.996619073452333470, -0.996614964158840430, -0.996610852373809860, +-0.996606738097252310, -0.996602621329177870, -0.996598502069596880, -0.996594380318519550, -0.996590256075956420, -0.996586129341917480, -0.996582000116413290, -0.996577868399454170, +-0.996573734191050330, -0.996569597491212100, -0.996565458299949910, -0.996561316617274100, -0.996557172443194970, -0.996553025777722980, -0.996548876620868330, -0.996544724972641570, +-0.996540570833052920, -0.996536414202112920, -0.996532255079831900, -0.996528093466220180, -0.996523929361288200, -0.996519762765046500, -0.996515593677505310, -0.996511422098675160, +-0.996507248028566380, -0.996503071467189640, -0.996498892414555030, -0.996494710870673320, -0.996490526835554840, -0.996486340309210020, -0.996482151291649300, -0.996477959782883230, +-0.996473765782922350, -0.996469569291776880, -0.996465370309457700, -0.996461168835974910, -0.996456964871339280, -0.996452758415561250, -0.996448549468651250, -0.996444338030619940, +-0.996440124101477750, -0.996435907681235360, -0.996431688769903070, -0.996427467367491660, -0.996423243474011460, -0.996419017089473220, -0.996414788213887510, -0.996410556847264760, +-0.996406322989615510, -0.996402086640950650, -0.996397847801280490, -0.996393606470615700, -0.996389362648966830, -0.996385116336344630, -0.996380867532759670, -0.996376616238222490, +-0.996372362452743740, -0.996368106176334200, -0.996363847409004300, -0.996359586150764810, -0.996355322401626280, -0.996351056161599580, -0.996346787430695160, -0.996342516208923780, +-0.996338242496296100, -0.996333966292822890, -0.996329687598514700, -0.996325406413382300, -0.996321122737436340, -0.996316836570687590, -0.996312547913146830, -0.996308256764824600, +-0.996303963125731770, -0.996299666995879020, -0.996295368375277210, -0.996291067263936790, -0.996286763661868860, -0.996282457569083960, -0.996278148985592860, -0.996273837911406450, +-0.996269524346535480, -0.996265208290990630, -0.996260889744782880, -0.996256568707922780, -0.996252245180421330, -0.996247919162289160, -0.996243590653537290, -0.996239259654176480, +-0.996234926164217380, -0.996230590183671110, -0.996226251712548310, -0.996221910750859860, -0.996217567298616660, -0.996213221355829460, -0.996208872922509260, -0.996204521998666940, +-0.996200168584313260, -0.996195812679459220, -0.996191454284115600, -0.996187093398293370, -0.996182730022003300, -0.996178364155256510, -0.996173995798063760, -0.996169624950436040, +-0.996165251612384340, -0.996160875783919430, -0.996156497465052300, -0.996152116655793950, -0.996147733356155360, -0.996143347566147420, -0.996138959285781000, -0.996134568515067320, +-0.996130175254017150, -0.996125779502641580, -0.996121381260951620, -0.996116980528958030, -0.996112577306672130, -0.996108171594104810, -0.996103763391266940, -0.996099352698169740, +-0.996094939514824200, -0.996090523841241190, -0.996086105677431940, -0.996081685023407440, -0.996077261879178670, -0.996072836244756840, -0.996068408120152850, -0.996063977505377900, +-0.996059544400442860, -0.996055108805359080, -0.996050670720137530, -0.996046230144789320, -0.996041787079325450, -0.996037341523757220, -0.996032893478095540, -0.996028442942351710, +-0.996023989916536730, -0.996019534400661710, -0.996015076394737960, -0.996010615898776490, -0.996006152912788490, -0.996001687436785080, -0.995997219470777460, -0.995992749014776750, +-0.995988276068794250, -0.995983800632840980, -0.995979322706928240, -0.995974842291067250, -0.995970359385269120, -0.995965873989545060, -0.995961386103906390, -0.995956895728364100, +-0.995952402862929740, -0.995947907507614310, -0.995943409662429110, -0.995938909327385380, -0.995934406502494320, -0.995929901187767360, -0.995925393383215620, -0.995920883088850300, +-0.995916370304682830, -0.995911855030724440, -0.995907337266986440, -0.995902817013480160, -0.995898294270216700, -0.995893769037207610, -0.995889241314463990, -0.995884711101997390, +-0.995880178399818900, -0.995875643207939980, -0.995871105526372040, -0.995866565355126300, -0.995862022694214090, -0.995857477543646840, -0.995852929903435990, -0.995848379773592750, +-0.995843827154128450, -0.995839272045054740, -0.995834714446382830, -0.995830154358124050, -0.995825591780289950, -0.995821026712891850, -0.995816459155941190, -0.995811889109449400, +-0.995807316573427910, -0.995802741547888060, -0.995798164032841380, -0.995793584028299320, -0.995789001534273300, -0.995784416550774760, -0.995779829077815150, -0.995775239115406000, +-0.995770646663558750, -0.995766051722284830, -0.995761454291595900, -0.995756854371503300, -0.995752251962018440, -0.995747647063153110, -0.995743039674918620, -0.995738429797326410, +-0.995733817430388250, -0.995729202574115570, -0.995724585228519810, -0.995719965393612630, -0.995715343069405460, -0.995710718255910070, -0.995706090953137780, -0.995701461161100250, +-0.995696828879809150, -0.995692194109275900, -0.995687556849512160, -0.995682917100529590, -0.995678274862339730, -0.995673630134954140, -0.995668982918384460, -0.995664333212642470, +-0.995659681017739500, -0.995655026333687300, -0.995650369160497650, -0.995645709498181990, -0.995641047346752070, -0.995636382706219570, -0.995631715576596130, -0.995627045957893420, +-0.995622373850122980, -0.995617699253296680, -0.995613022167426090, -0.995608342592523070, -0.995603660528599050, -0.995598975975665930, -0.995594288933735360, -0.995589599402819100, +-0.995584907382928820, -0.995580212874076280, -0.995575515876273240, -0.995570816389531380, -0.995566114413862450, -0.995561409949278220, -0.995556702995790580, -0.995551993553411060, +-0.995547281622151560, -0.995542567202023940, -0.995537850293039870, -0.995533130895211120, -0.995528409008549660, -0.995523684633067060, -0.995518957768775300, -0.995514228415686150, +-0.995509496573811380, -0.995504762243162980, -0.995500025423752600, -0.995495286115592130, -0.995490544318693440, -0.995485800033068520, -0.995481053258728930, -0.995476303995686870, +-0.995471552243953890, -0.995466798003542100, -0.995462041274463360, -0.995457282056729450, -0.995452520350352370, -0.995447756155343980, -0.995442989471716280, -0.995438220299481040, +-0.995433448638650240, -0.995428674489235780, -0.995423897851249630, -0.995419118724703790, -0.995414337109610140, -0.995409553005980660, -0.995404766413827360, -0.995399977333161990, +-0.995395185763996770, -0.995390391706343580, -0.995385595160214410, -0.995380796125621250, -0.995375994602576090, -0.995371190591091030, -0.995366384091177950, -0.995361575102848840, +-0.995356763626115800, -0.995351949660990940, -0.995347133207486130, -0.995342314265613480, -0.995337492835385080, -0.995332668916812930, -0.995327842509909130, -0.995323013614685670, +-0.995318182231154760, -0.995313348359328390, -0.995308511999218550, -0.995303673150837560, -0.995298831814197320, -0.995293987989310010, -0.995289141676187650, -0.995284292874842550, +-0.995279441585286690, -0.995274587807532200, -0.995269731541591260, -0.995264872787476000, -0.995260011545198500, -0.995255147814771090, -0.995250281596205770, -0.995245412889514620, +-0.995240541694710100, -0.995235668011804190, -0.995230791840808980, -0.995225913181736920, -0.995221032034600110, -0.995216148399410640, -0.995211262276180840, -0.995206373664922820, +-0.995201482565648890, -0.995196588978371270, -0.995191692903102280, -0.995186794339853910, -0.995181893288638600, -0.995176989749468550, -0.995172083722356100, -0.995167175207313350, +-0.995162264204352720, -0.995157350713486320, -0.995152434734726700, -0.995147516268085840, -0.995142595313576290, -0.995137671871210270, -0.995132745940999990, -0.995127817522957980, +-0.995122886617096250, -0.995117953223427440, -0.995113017341963670, -0.995108078972717360, -0.995103138115700950, -0.995098194770926540, -0.995093248938406780, -0.995088300618153900, +-0.995083349810180100, -0.995078396514498140, -0.995073440731120030, -0.995068482460058410, -0.995063521701325500, -0.995058558454933850, -0.995053592720895770, -0.995048624499223820, +-0.995043653789930200, -0.995038680593027470, -0.995033704908528050, -0.995028726736444380, -0.995023746076788780, -0.995018762929573920, -0.995013777294812110, -0.995008789172515900, +-0.995003798562697720, -0.994998805465370010, -0.994993809880545310, -0.994988811808236060, -0.994983811248454810, -0.994978808201213980, -0.994973802666526240, -0.994968794644403910, +-0.994963784134859640, -0.994958771137905870, -0.994953755653555150, -0.994948737681820130, -0.994943717222713130, -0.994938694276246930, -0.994933668842434060, -0.994928640921286860, +-0.994923610512818190, -0.994918577617040390, -0.994913542233966220, -0.994908504363608230, -0.994903464005978840, -0.994898421161090950, -0.994893375828956870, -0.994888328009589480, +-0.994883277703001110, -0.994878224909204740, -0.994873169628212590, -0.994868111860037650, -0.994863051604692460, -0.994857988862189570, -0.994852923632541740, -0.994847855915761640, +-0.994842785711861800, -0.994837713020855110, -0.994832637842754110, -0.994827560177571460, -0.994822480025319920, -0.994817397386012160, -0.994812312259660940, -0.994807224646279020, +-0.994802134545878960, -0.994797041958473520, -0.994791946884075570, -0.994786849322697670, -0.994781749274352700, -0.994776646739053310, -0.994771541716812370, -0.994766434207642550, +-0.994761324211556610, -0.994756211728567430, -0.994751096758687670, -0.994745979301930090, -0.994740859358307690, -0.994735736927833130, -0.994730612010519160, -0.994725484606378770, +-0.994720354715424530, -0.994715222337669510, -0.994710087473126390, -0.994704950121808040, -0.994699810283727340, -0.994694667958897160, -0.994689523147330170, -0.994684375849039460, +-0.994679226064037800, -0.994674073792338190, -0.994668919033953270, -0.994663761788896040, -0.994658602057179490, -0.994653439838816380, -0.994648275133819700, -0.994643107942202230, +-0.994637938263977060, -0.994632766099157070, -0.994627591447755140, -0.994622414309784260, -0.994617234685257310, -0.994612052574187390, -0.994606867976587150, -0.994601680892469920, +-0.994596491321848350, -0.994591299264735660, -0.994586104721144610, -0.994580907691088310, -0.994575708174579850, -0.994570506171632010, -0.994565301682257990, -0.994560094706470670, +-0.994554885244283150, -0.994549673295708310, -0.994544458860759480, -0.994539241939449310, -0.994534022531791130, -0.994528800637797920, -0.994523576257482670, -0.994518349390858480, +-0.994513120037938350, -0.994507888198735480, -0.994502653873262870, -0.994497417061533720, -0.994492177763560910, -0.994486935979357780, -0.994481691708937190, -0.994476444952312470, +-0.994471195709496490, -0.994465943980502700, -0.994460689765343960, -0.994455433064033500, -0.994450173876584410, -0.994444912203010010, -0.994439648043323190, -0.994434381397537370, +-0.994429112265665550, -0.994423840647720940, -0.994418566543716740, -0.994413289953666070, -0.994408010877582240, -0.994402729315478350, -0.994397445267367620, -0.994392158733263360, +-0.994386869713178690, -0.994381578207126800, -0.994376284215120920, -0.994370987737174360, -0.994365688773300450, -0.994360387323512170, -0.994355083387822970, -0.994349776966246050, +-0.994344468058794730, -0.994339156665482230, -0.994333842786321860, -0.994328526421326850, -0.994323207570510510, -0.994317886233886170, -0.994312562411467040, -0.994307236103266660, +-0.994301907309298130, -0.994296576029574770, -0.994291242264109920, -0.994285906012917110, -0.994280567276009440, -0.994275226053400460, -0.994269882345103270, -0.994264536151131530, +-0.994259187471498330, -0.994253836306217220, -0.994248482655301520, -0.994243126518764560, -0.994237767896619880, -0.994232406788880700, -0.994227043195560540, -0.994221677116672750, +-0.994216308552230750, -0.994210937502247980, -0.994205563966737870, -0.994200187945713960, -0.994194809439189480, -0.994189428447177950, -0.994184044969692930, -0.994178659006747730, +-0.994173270558355910, -0.994167879624530900, -0.994162486205286240, -0.994157090300635260, -0.994151691910591720, -0.994146291035168830, -0.994140887674380250, -0.994135481828239410, +-0.994130073496759860, -0.994124662679955250, -0.994119249377838910, -0.994113833590424380, -0.994108415317725310, -0.994102994559755260, -0.994097571316527650, -0.994092145588056140, +-0.994086717374354280, -0.994081286675435600, -0.994075853491313670, -0.994070417822002230, -0.994064979667514610, -0.994059539027864590, -0.994054095903065700, -0.994048650293131720, +-0.994043202198075960, -0.994037751617912190, -0.994032298552654070, -0.994026843002315250, -0.994021384966909280, -0.994015924446449930, -0.994010461440950620, -0.994004995950425240, +-0.993999527974887440, -0.993994057514350770, -0.993988584568828880, -0.993983109138335540, -0.993977631222884520, -0.993972150822489350, -0.993966667937163820, -0.993961182566921670, +-0.993955694711776470, -0.993950204371742090, -0.993944711546832280, -0.993939216237060500, -0.993933718442440830, -0.993928218162986820, -0.993922715398712240, -0.993917210149630970, +-0.993911702415756550, -0.993906192197102970, -0.993900679493683880, -0.993895164305513060, -0.993889646632604370, -0.993884126474971490, -0.993878603832628380, -0.993873078705588720, +-0.993867551093866370, -0.993862020997475120, -0.993856488416428930, -0.993850953350741360, -0.993845415800426510, -0.993839875765498150, -0.993834333245969930, -0.993828788241856050, +-0.993823240753170080, -0.993817690779926100, -0.993812138322137880, -0.993806583379819310, -0.993801025952984250, -0.993795466041646700, -0.993789903645820430, -0.993784338765519410, +-0.993778771400757430, -0.993773201551548690, -0.993767629217906840, -0.993762054399846000, -0.993756477097380020, -0.993750897310522800, -0.993745315039288310, -0.993739730283690560, +-0.993734143043743520, -0.993728553319461080, -0.993722961110857340, -0.993717366417946060, -0.993711769240741450, -0.993706169579257390, -0.993700567433507990, -0.993694962803507110, +-0.993689355689268860, -0.993683746090807120, -0.993678134008136090, -0.993672519441269660, -0.993666902390222040, -0.993661282855007100, -0.993655660835638940, -0.993650036332131670, +-0.993644409344499270, -0.993638779872755950, -0.993633147916915590, -0.993627513476992300, -0.993621876553000270, -0.993616237144953620, -0.993610595252866320, -0.993604950876752600, +-0.993599304016626440, -0.993593654672502050, -0.993588002844393410, -0.993582348532314860, -0.993576691736280490, -0.993571032456304290, -0.993565370692400580, -0.993559706444583470, +-0.993554039712867040, -0.993548370497265520, -0.993542698797793000, -0.993537024614463800, -0.993531347947292030, -0.993525668796292010, -0.993519987161477600, -0.993514303042863370, +-0.993508616440463400, -0.993502927354291800, -0.993497235784362890, -0.993491541730690990, -0.993485845193290080, -0.993480146172174730, -0.993474444667358900, -0.993468740678856930, +-0.993463034206683250, -0.993457325250851840, -0.993451613811377250, -0.993445899888273480, -0.993440183481555050, -0.993434464591236190, -0.993428743217331100, -0.993423019359854220, +-0.993417293018819760, -0.993411564194242040, -0.993405832886135380, -0.993400099094514210, -0.993394362819392750, -0.993388624060785430, -0.993382882818706460, -0.993377139093170380, +-0.993371392884191410, -0.993365644191783970, -0.993359893015962390, -0.993354139356741220, -0.993348383214134540, -0.993342624588156920, -0.993336863478822770, -0.993331099886146540, +-0.993325333810142430, -0.993319565250824990, -0.993313794208208760, -0.993308020682307950, -0.993302244673137100, -0.993296466180710660, -0.993290685205043040, -0.993284901746148700, +-0.993279115804042160, -0.993273327378737750, -0.993267536470250010, -0.993261743078593500, -0.993255947203782630, -0.993250148845831850, -0.993244348004755810, -0.993238544680568710, +-0.993232738873285450, -0.993226930582920220, -0.993221119809487680, -0.993215306553002390, -0.993209490813478760, -0.993203672590931450, -0.993197851885374900, -0.993192028696823770, +-0.993186203025292590, -0.993180374870795910, -0.993174544233348280, -0.993168711112964230, -0.993162875509658430, -0.993157037423445520, -0.993151196854339950, -0.993145353802356360, +-0.993139508267509410, -0.993133660249813750, -0.993127809749283830, -0.993121956765934510, -0.993116101299780120, -0.993110243350835640, -0.993104382919115510, -0.993098520004634390, +-0.993092654607407030, -0.993086786727447990, -0.993080916364772030, -0.993075043519393690, -0.993069168191327840, -0.993063290380589050, -0.993057410087191950, -0.993051527311151430, +-0.993045642052482020, -0.993039754311198510, -0.993033864087315640, -0.993027971380848080, -0.993022076191810710, -0.993016178520218060, -0.993010278366084910, -0.993004375729426130, +-0.992998470610256370, -0.992992563008590510, -0.992986652924443210, -0.992980740357829240, -0.992974825308763460, -0.992968907777260550, -0.992962987763335470, -0.992957065267002890, +-0.992951140288277580, -0.992945212827174520, -0.992939282883708360, -0.992933350457893990, -0.992927415549746280, -0.992921478159280000, -0.992915538286510020, -0.992909595931451340, +-0.992903651094118490, -0.992897703774526570, -0.992891753972690360, -0.992885801688624840, -0.992879846922344770, -0.992873889673865140, -0.992867929943200720, -0.992861967730366500, +-0.992856003035377350, -0.992850035858248160, -0.992844066198993900, -0.992838094057629570, -0.992832119434169820, -0.992826142328629980, -0.992820162741024580, -0.992814180671368950, +-0.992808196119677740, -0.992802209085966170, -0.992796219570248990, -0.992790227572541210, -0.992784233092858020, -0.992778236131214080, -0.992772236687624600, -0.992766234762104570, +-0.992760230354668980, -0.992754223465332710, -0.992748214094110960, -0.992742202241018720, -0.992736187906070880, -0.992730171089282630, -0.992724151790668970, -0.992718130010244780, +-0.992712105748025490, -0.992706079004025740, -0.992700049778260870, -0.992694018070745860, -0.992687983881495930, -0.992681947210525830, -0.992675908057851000, -0.992669866423486420, +-0.992663822307447100, -0.992657775709748220, -0.992651726630404910, -0.992645675069432350, -0.992639621026845550, -0.992633564502659720, -0.992627505496889940, -0.992621444009551430, +-0.992615380040659300, -0.992609313590228750, -0.992603244658274870, -0.992597173244812890, -0.992591099349858010, -0.992585022973425320, -0.992578944115530050, -0.992572862776187500, +-0.992566778955412790, -0.992560692653221110, -0.992554603869627680, -0.992548512604647830, -0.992542418858296640, -0.992536322630589330, -0.992530223921541330, -0.992524122731167750, +-0.992518019059483780, -0.992511912906504870, -0.992505804272246110, -0.992499693156722820, -0.992493579559950320, -0.992487463481943940, -0.992481344922718890, -0.992475223882290370, +-0.992469100360673820, -0.992462974357884550, -0.992456845873937900, -0.992450714908849060, -0.992444581462633480, -0.992438445535306470, -0.992432307126883240, -0.992426166237379340, +-0.992420022866809970, -0.992413877015190570, -0.992407728682536460, -0.992401577868863070, -0.992395424574185720, -0.992389268798519740, -0.992383110541880660, -0.992376949804283810, +-0.992370786585744510, -0.992364620886278410, -0.992358452705900620, -0.992352282044626670, -0.992346108902472100, -0.992339933279452250, -0.992333755175582530, -0.992327574590878500, +-0.992321391525355370, -0.992315205979028890, -0.992309017951914400, -0.992302827444027310, -0.992296634455383190, -0.992290438985997450, -0.992284241035885640, -0.992278040605063190, +-0.992271837693545770, -0.992265632301348570, -0.992259424428487470, -0.992253214074977690, -0.992247001240834870, -0.992240785926074560, -0.992234568130712310, -0.992228347854763660, +-0.992222125098244150, -0.992215899861169310, -0.992209672143554710, -0.992203441945415880, -0.992197209266768580, -0.992190974107628130, -0.992184736468010200, -0.992178496347930540, +-0.992172253747404590, -0.992166008666448110, -0.992159761105076530, -0.992153511063305520, -0.992147258541150710, -0.992141003538627890, -0.992134746055752470, -0.992128486092540120, +-0.992122223649006710, -0.992115958725167670, -0.992109691321038660, -0.992103421436635550, -0.992097149071973770, -0.992090874227069210, -0.992084596901937400, -0.992078317096594110, +-0.992072034811054990, -0.992065750045335810, -0.992059462799452340, -0.992053173073420110, -0.992046880867255010, -0.992040586180972680, -0.992034289014588900, -0.992027989368119420, +-0.992021687241579910, -0.992015382634986230, -0.992009075548354050, -0.992002765981699230, -0.991996453935037440, -0.991990139408384540, -0.991983822401756310, -0.991977502915168510, +-0.991971180948637010, -0.991964856502177470, -0.991958529575805880, -0.991952200169537890, -0.991945868283389380, -0.991939533917376210, -0.991933197071514280, -0.991926857745819350, +-0.991920515940307170, -0.991914171654993850, -0.991907824889894930, -0.991901475645026620, -0.991895123920404460, -0.991888769716044670, -0.991882413031962780, -0.991876053868175010, +-0.991869692224697010, -0.991863328101544760, -0.991856961498734260, -0.991850592416281370, -0.991844220854201990, -0.991837846812511970, -0.991831470291227420, -0.991825091290364110, +-0.991818709809938140, -0.991812325849965370, -0.991805939410461800, -0.991799550491443420, -0.991793159092926090, -0.991786765214925920, -0.991780368857458790, -0.991773970020540800, +-0.991767568704187810, -0.991761164908415930, -0.991754758633241250, -0.991748349878679550, -0.991741938644747020, -0.991735524931459560, -0.991729108738833350, -0.991722690066884400, +-0.991716268915628700, -0.991709845285082330, -0.991703419175261280, -0.991696990586181770, -0.991690559517859780, -0.991684125970311300, -0.991677689943552650, -0.991671251437599710, +-0.991664810452468570, -0.991658366988175440, -0.991651921044736430, -0.991645472622167620, -0.991639021720485130, -0.991632568339705030, -0.991626112479843560, -0.991619654140916800, +-0.991613193322940960, -0.991606730025932030, -0.991600264249906330, -0.991593795994879960, -0.991587325260869120, -0.991580852047890040, -0.991574376355958690, -0.991567898185091500, +-0.991561417535304470, -0.991554934406614020, -0.991548448799036140, -0.991541960712587160, -0.991535470147283270, -0.991528977103140700, -0.991522481580175640, -0.991515983578404430, +-0.991509483097843370, -0.991502980138508460, -0.991496474700416130, -0.991489966783582590, -0.991483456388024260, -0.991476943513757150, -0.991470428160797780, -0.991463910329162260, +-0.991457390018867010, -0.991450867229928260, -0.991444341962362310, -0.991437814216185600, -0.991431283991414340, -0.991424751288064840, -0.991418216106153440, -0.991411678445696440, +-0.991405138306710400, -0.991398595689211400, -0.991392050593215890, -0.991385503018740400, -0.991378952965801030, -0.991372400434414320, -0.991365845424596600, -0.991359287936364300, +-0.991352727969733730, -0.991346165524721320, -0.991339600601343630, -0.991333033199616850, -0.991326463319557430, -0.991319890961181890, -0.991313316124506680, -0.991306738809548120, +-0.991300159016322740, -0.991293576744846970, -0.991286991995137260, -0.991280404767210020, -0.991273815061081810, -0.991267222876769050, -0.991260628214288290, -0.991254031073655840, +-0.991247431454888470, -0.991240829358002400, -0.991234224783014260, -0.991227617729940610, -0.991221008198797880, -0.991214396189602610, -0.991207781702371450, -0.991201164737120720, +-0.991194545293867190, -0.991187923372627180, -0.991181298973417450, -0.991174672096254430, -0.991168042741154780, -0.991161410908135030, -0.991154776597211630, -0.991148139808401440, +-0.991141500541720790, -0.991134858797186440, -0.991128214574814930, -0.991121567874622910, -0.991114918696626930, -0.991108267040843650, -0.991101612907289710, -0.991094956295981770, +-0.991088297206936470, -0.991081635640170380, -0.991074971595700130, -0.991068305073542600, -0.991061636073714220, -0.991054964596231770, -0.991048290641111880, -0.991041614208371340, +-0.991034935298026660, -0.991028253910094750, -0.991021570044592130, -0.991014883701535560, -0.991008194880941830, -0.991001503582827570, -0.990994809807209660, -0.990988113554104650, +-0.990981414823529310, -0.990974713615500490, -0.990968009930034870, -0.990961303767149300, -0.990954595126860350, -0.990947884009184990, -0.990941170414139980, -0.990934454341741880, +-0.990927735792007770, -0.990921014764954310, -0.990914291260598270, -0.990907565278956510, -0.990900836820045820, -0.990894105883883050, -0.990887372470485080, -0.990880636579868580, +-0.990873898212050520, -0.990867157367047780, -0.990860414044877120, -0.990853668245555430, -0.990846919969099460, -0.990840169215526310, -0.990833415984852750, -0.990826660277095540, +-0.990819902092271780, -0.990813141430398230, -0.990806378291491870, -0.990799612675569490, -0.990792844582648160, -0.990786074012744660, -0.990779300965875960, -0.990772525442059070, +-0.990765747441310740, -0.990758966963648180, -0.990752184009088150, -0.990745398577647650, -0.990738610669343660, -0.990731820284193150, -0.990725027422213130, -0.990718232083420470, +-0.990711434267832260, -0.990704633975465490, -0.990697831206337140, -0.990691025960464210, -0.990684218237863680, -0.990677408038552640, -0.990670595362547980, -0.990663780209866900, +-0.990656962580526490, -0.990650142474543530, -0.990643319891935210, -0.990636494832718650, -0.990629667296910820, -0.990622837284528820, -0.990616004795589760, -0.990609169830110710, +-0.990602332388108690, -0.990595492469600880, -0.990588650074604280, -0.990581805203136100, -0.990574957855213320, -0.990568108030853270, -0.990561255730072920, -0.990554400952889380, +-0.990547543699319850, -0.990540683969381440, -0.990533821763091350, -0.990526957080466790, -0.990520089921524740, -0.990513220286282530, -0.990506348174757130, -0.990499473586965990, +-0.990492596522926090, -0.990485716982654860, -0.990478834966169170, -0.990471950473486460, -0.990465063504623820, -0.990458174059598570, -0.990451282138427920, -0.990444387741128970, +-0.990437490867719150, -0.990430591518215550, -0.990423689692635500, -0.990416785390996090, -0.990409878613314860, -0.990402969359608920, -0.990396057629895580, -0.990389143424192040, +-0.990382226742515640, -0.990375307584883680, -0.990368385951313490, -0.990361461841822280, -0.990354535256427470, -0.990347606195146280, -0.990340674657996130, -0.990333740644994240, +-0.990326804156158040, -0.990319865191504830, -0.990312923751051840, -0.990305979834816720, -0.990299033442816560, -0.990292084575068790, -0.990285133231590840, -0.990278179412400040, +-0.990271223117513810, -0.990264264346949590, -0.990257303100724570, -0.990250339378856430, -0.990243373181362350, -0.990236404508259890, -0.990229433359566370, -0.990222459735299320, +-0.990215483635476070, -0.990208505060114150, -0.990201524009230890, -0.990194540482843940, -0.990187554480970620, -0.990180566003628360, -0.990173575050834700, -0.990166581622607070, +-0.990159585718963010, -0.990152587339920070, -0.990145586485495550, -0.990138583155707130, -0.990131577350572220, -0.990124569070108370, -0.990117558314333120, -0.990110545083263900, +-0.990103529376918370, -0.990096511195314060, -0.990089490538468400, -0.990082467406399050, -0.990075441799123550, -0.990068413716659430, -0.990061383159024260, -0.990054350126235660, +-0.990047314618311190, -0.990040276635268390, -0.990033236177124910, -0.990026193243898400, -0.990019147835606290, -0.990012099952266470, -0.990005049593896240, -0.989997996760513480, +-0.989990941452135730, -0.989983883668780650, -0.989976823410465780, -0.989969760677208880, -0.989962695469027600, -0.989955627785939600, -0.989948557627962410, -0.989941484995114030, +-0.989934409887411770, -0.989927332304873510, -0.989920252247517010, -0.989913169715359810, -0.989906084708419680, -0.989898997226714370, -0.989891907270261550, -0.989884814839078970, +-0.989877719933184300, -0.989870622552595390, -0.989863522697329910, -0.989856420367405620, -0.989849315562840280, -0.989842208283651660, -0.989835098529857520, -0.989827986301475620, +-0.989820871598523830, -0.989813754421019710, -0.989806634768981340, -0.989799512642426380, -0.989792388041372590, -0.989785260965837850, -0.989778131415839920, -0.989770999391396680, +-0.989763864892525880, -0.989756727919245520, -0.989749588471573350, -0.989742446549527140, -0.989735302153124770, -0.989728155282384340, -0.989721005937323370, -0.989713854117959870, +-0.989706699824311810, -0.989699543056396960, -0.989692383814233300, -0.989685222097838600, -0.989678057907230850, -0.989670891242428020, -0.989663722103448000, -0.989656550490308540, +-0.989649376403027750, -0.989642199841623600, -0.989635020806113870, -0.989627839296516650, -0.989620655312849820, -0.989613468855131240, -0.989606279923379130, -0.989599088517611250, +-0.989591894637845690, -0.989584698284100340, -0.989577499456393280, -0.989570298154742510, -0.989563094379165900, -0.989555888129681650, -0.989548679406307640, -0.989541468209061970, +-0.989534254537962510, -0.989527038393027580, -0.989519819774274940, -0.989512598681722810, -0.989505375115389160, -0.989498149075291990, -0.989490920561449610, -0.989483689573879780, +-0.989476456112600820, -0.989469220177630620, -0.989461981768987480, -0.989454740886689390, -0.989447497530754340, -0.989440251701200650, -0.989433003398046300, -0.989425752621309380, +-0.989418499371008120, -0.989411243647160710, -0.989403985449785030, -0.989396724778899510, -0.989389461634522130, -0.989382196016671100, -0.989374927925364520, -0.989367657360620710, +-0.989360384322457760, -0.989353108810893780, -0.989345830825947070, -0.989338550367635850, -0.989331267435978100, -0.989323982030992250, -0.989316694152696520, -0.989309403801108990, +-0.989302110976247980, -0.989294815678131600, -0.989287517906778270, -0.989280217662206200, -0.989272914944433480, -0.989265609753478550, -0.989258302089359500, -0.989250991952094760, +-0.989243679341702540, -0.989236364258201050, -0.989229046701608830, -0.989221726671943860, -0.989214404169224570, -0.989207079193469290, -0.989199751744696320, -0.989192421822923880, +-0.989185089428170520, -0.989177754560454430, -0.989170417219793820, -0.989163077406207350, -0.989155735119713000, -0.989148390360329420, -0.989141043128074830, -0.989133693422967750, +-0.989126341245026300, -0.989118986594269000, -0.989111629470714290, -0.989104269874380490, -0.989096907805286030, -0.989089543263449330, -0.989082176248888720, -0.989074806761622630, +-0.989067434801669590, -0.989060060369047920, -0.989052683463776170, -0.989045304085872660, -0.989037922235355920, -0.989030537912244270, -0.989023151116556360, -0.989015761848310640, +-0.989008370107525400, -0.989000975894219310, -0.988993579208410690, -0.988986180050118180, -0.988978778419360330, -0.988971374316155340, -0.988963967740522090, -0.988956558692478780, +-0.988949147172044190, -0.988941733179236620, -0.988934316714074830, -0.988926897776577160, -0.988919476366762250, -0.988912052484648640, -0.988904626130254980, -0.988897197303599710, +-0.988889766004701460, -0.988882332233578800, -0.988874895990250250, -0.988867457274734460, -0.988860016087050100, -0.988852572427215690, -0.988845126295249790, -0.988837677691171150, +-0.988830226614998200, -0.988822773066749820, -0.988815317046444430, -0.988807858554100800, -0.988800397589737480, -0.988792934153373220, -0.988785468245026560, -0.988777999864716260, +-0.988770529012460990, -0.988763055688279380, -0.988755579892190100, -0.988748101624211890, -0.988740620884363430, -0.988733137672663350, -0.988725651989130540, -0.988718163833783530, +-0.988710673206641080, -0.988703180107721960, -0.988695684537045040, -0.988688186494628750, -0.988680685980492080, -0.988673182994653570, -0.988665677537132190, -0.988658169607946610, +-0.988650659207115700, -0.988643146334658000, -0.988635630990592480, -0.988628113174937930, -0.988620592887713090, -0.988613070128936730, -0.988605544898627730, -0.988598017196804730, +-0.988590487023486840, -0.988582954378692700, -0.988575419262441190, -0.988567881674751070, -0.988560341615641320, -0.988552799085130610, -0.988545254083238010, -0.988537706609982300, +-0.988530156665382240, -0.988522604249456820, -0.988515049362224900, -0.988507492003705250, -0.988499932173916960, -0.988492369872878920, -0.988484805100609880, -0.988477237857128820, +-0.988469668142454630, -0.988462095956606280, -0.988454521299602760, -0.988446944171462950, -0.988439364572205710, -0.988431782501850040, -0.988424197960414920, -0.988416610947919330, +-0.988409021464382250, -0.988401429509822570, -0.988393835084259380, -0.988386238187711540, -0.988378638820198160, -0.988371036981738120, -0.988363432672350490, -0.988355825892054280, +-0.988348216640868580, -0.988340604918812260, -0.988332990725904410, -0.988325374062164140, -0.988317754927610430, -0.988310133322262360, -0.988302509246138940, -0.988294882699259250, +-0.988287253681642270, -0.988279622193307230, -0.988271988234273090, -0.988264351804559070, -0.988256712904184040, -0.988249071533167320, -0.988241427691527900, -0.988233781379284970, +-0.988226132596457530, -0.988218481343064780, -0.988210827619125820, -0.988203171424659740, -0.988195512759685760, -0.988187851624223070, -0.988180188018290660, -0.988172521941907860, +-0.988164853395093750, -0.988157182377867430, -0.988149508890248220, -0.988141832932255220, -0.988134154503907620, -0.988126473605224650, -0.988118790236225400, -0.988111104396929290, +-0.988103416087355410, -0.988095725307522990, -0.988088032057451220, -0.988080336337159420, -0.988072638146666790, -0.988064937485992440, -0.988057234355155910, -0.988049528754176180, +-0.988041820683072670, -0.988034110141864600, -0.988026397130571280, -0.988018681649211920, -0.988010963697805940, -0.988003243276372460, -0.987995520384930880, -0.987987795023500540, +-0.987980067192100740, -0.987972336890750700, -0.987964604119469850, -0.987956868878277490, -0.987949131167192960, -0.987941390986235680, -0.987933648335424740, -0.987925903214779800, +-0.987918155624320060, -0.987910405564065060, -0.987902653034033910, -0.987894898034246130, -0.987887140564721160, -0.987879380625478310, -0.987871618216537020, -0.987863853337916710, +-0.987856085989636700, -0.987848316171716530, -0.987840543884175530, -0.987832769127033220, -0.987824991900309040, -0.987817212204022300, -0.987809430038192550, -0.987801645402839100, +-0.987793858297981720, -0.987786068723639610, -0.987778276679832310, -0.987770482166579370, -0.987762685183900200, -0.987754885731814360, -0.987747083810341260, -0.987739279419500460, +-0.987731472559311490, -0.987723663229793770, -0.987715851430966960, -0.987708037162850490, -0.987700220425463900, -0.987692401218826840, -0.987684579542958740, -0.987676755397879140, +-0.987668928783607680, -0.987661099700163910, -0.987653268147567380, -0.987645434125837720, -0.987637597634994480, -0.987629758675057200, -0.987621917246045530, -0.987614073347979130, +-0.987606226980877410, -0.987598378144760260, -0.987590526839647100, -0.987582673065557580, -0.987574816822511470, -0.987566958110528300, -0.987559096929627730, -0.987551233279829410, +-0.987543367161152990, -0.987535498573618110, -0.987527627517244540, -0.987519753992051940, -0.987511877998059950, -0.987503999535288220, -0.987496118603756520, -0.987488235203484390, +-0.987480349334491910, -0.987472460996798420, -0.987464570190423770, -0.987456676915387740, -0.987448781171709980, -0.987440882959410240, -0.987432982278508400, -0.987425079129024000, +-0.987417173510977020, -0.987409265424387010, -0.987401354869273830, -0.987393441845657250, -0.987385526353557140, -0.987377608392993160, -0.987369687963985280, -0.987361765066553040, +-0.987353839700716440, -0.987345911866495230, -0.987337981563909170, -0.987330048792978250, -0.987322113553722240, -0.987314175846160880, -0.987306235670314060, -0.987298293026201760, +-0.987290347913843620, -0.987282400333259650, -0.987274450284469700, -0.987266497767493530, -0.987258542782351260, -0.987250585329062510, -0.987242625407647400, -0.987234663018125680, +-0.987226698160517220, -0.987218730834842130, -0.987210761041120160, -0.987202788779371400, -0.987194814049615510, -0.987186836851872700, -0.987178857186162720, -0.987170875052505560, +-0.987162890450921320, -0.987154903381429750, -0.987146913844051070, -0.987138921838805030, -0.987130927365711620, -0.987122930424790930, -0.987114931016062960, -0.987106929139547670, +-0.987098924795264950, -0.987090917983235010, -0.987082908703477810, -0.987074896956013250, -0.987066882740861520, -0.987058866058042490, -0.987050846907576380, -0.987042825289483170, +-0.987034801203782840, -0.987026774650495490, -0.987018745629641310, -0.987010714141240090, -0.987002680185312230, -0.986994643761877620, -0.986986604870956350, -0.986978563512568740, +-0.986970519686734550, -0.986962473393474090, -0.986954424632807470, -0.986946373404754880, -0.986938319709336210, -0.986930263546571870, -0.986922204916481750, -0.986914143819086150, +-0.986906080254405180, -0.986898014222459150, -0.986889945723267940, -0.986881874756851960, -0.986873801323231210, -0.986865725422426010, -0.986857647054456440, -0.986849566219342720, +-0.986841482917105160, -0.986833397147763860, -0.986825308911339130, -0.986817218207851070, -0.986809125037319990, -0.986801029399766110, -0.986792931295209620, -0.986784830723670850, +-0.986776727685170000, -0.986768622179727270, -0.986760514207362990, -0.986752403768097470, -0.986744290861950920, -0.986736175488943660, -0.986728057649095990, -0.986719937342428130, +-0.986711814568960510, -0.986703689328713220, -0.986695561621706800, -0.986687431447961450, -0.986679298807497500, -0.986671163700335250, -0.986663026126495150, -0.986654886085997610, +-0.986646743578862620, -0.986638598605110940, -0.986630451164762780, -0.986622301257838340, -0.986614148884358280, -0.986605994044342790, -0.986597836737812320, -0.986589676964787280, +-0.986581514725288100, -0.986573350019334990, -0.986565182846948610, -0.986557013208149260, -0.986548841102957370, -0.986540666531393380, -0.986532489493477720, -0.986524309989230800, +-0.986516128018673170, -0.986507943581825140, -0.986499756678707370, -0.986491567309340180, -0.986483375473743980, -0.986475181171939440, -0.986466984403946870, -0.986458785169786910, +-0.986450583469479890, -0.986442379303046460, -0.986434172670507150, -0.986425963571882390, -0.986417752007192620, -0.986409537976458580, -0.986401321479700610, -0.986393102516939350, +-0.986384881088195440, -0.986376657193489210, -0.986368430832841430, -0.986360202006272500, -0.986351970713803090, -0.986343736955453740, -0.986335500731244990, -0.986327262041197580, +-0.986319020885331970, -0.986310777263668890, -0.986302531176228790, -0.986294282623032430, -0.986286031604100330, -0.986277778119453160, -0.986269522169111460, -0.986261263753096080, +-0.986253002871427360, -0.986244739524126280, -0.986236473711213370, -0.986228205432709280, -0.986219934688634560, -0.986211661479010070, -0.986203385803856470, -0.986195107663194290, +-0.986186827057044410, -0.986178543985427480, -0.986170258448364260, -0.986161970445875280, -0.986153679977981420, -0.986145387044703340, -0.986137091646061780, -0.986128793782077520, +-0.986120493452771310, -0.986112190658163800, -0.986103885398275760, -0.986095577673128170, -0.986087267482741560, -0.986078954827136700, -0.986070639706334570, -0.986062322120355830, +-0.986054002069221220, -0.986045679552951640, -0.986037354571567830, -0.986029027125090660, -0.986020697213540910, -0.986012364836939440, -0.986004029995307120, -0.985995692688664600, +-0.985987352917032880, -0.985979010680432920, -0.985970665978885270, -0.985962318812411030, -0.985953969181030950, -0.985945617084765910, -0.985937262523636890, -0.985928905497664760, +-0.985920546006870290, -0.985912184051274450, -0.985903819630898240, -0.985895452745762400, -0.985887083395887930, -0.985878711581295810, -0.985870337302006900, -0.985861960558042090, +-0.985853581349422360, -0.985845199676168790, -0.985836815538302160, -0.985828428935843440, -0.985820039868813720, -0.985811648337233890, -0.985803254341124920, -0.985794857880507800, +-0.985786458955403620, -0.985778057565833250, -0.985769653711817680, -0.985761247393378000, -0.985752838610535200, -0.985744427363310360, -0.985736013651724470, -0.985727597475798410, +-0.985719178835553490, -0.985710757731010580, -0.985702334162190770, -0.985693908129115060, -0.985685479631804640, -0.985677048670280500, -0.985668615244563840, -0.985660179354675540, +-0.985651741000636790, -0.985643300182468710, -0.985634856900192370, -0.985626411153828990, -0.985617962943399430, -0.985609512268925010, -0.985601059130426840, -0.985592603527926100, +-0.985584145461443680, -0.985575684931001010, -0.985567221936619050, -0.985558756478319140, -0.985550288556122260, -0.985541818170049710, -0.985533345320122600, -0.985524870006362130, +-0.985516392228789400, -0.985507911987425820, -0.985499429282292390, -0.985490944113410320, -0.985482456480801020, -0.985473966384485480, -0.985465473824485130, -0.985456978800821060, +-0.985448481313514480, -0.985439981362586700, -0.985431478948059050, -0.985422974069952720, -0.985414466728288920, -0.985405956923088850, -0.985397444654373960, -0.985388929922165540, +-0.985380412726484690, -0.985371893067352840, -0.985363370944791210, -0.985354846358821200, -0.985346319309464040, -0.985337789796741140, -0.985329257820673820, -0.985320723381283290, +-0.985312186478590870, -0.985303647112618090, -0.985295105283386150, -0.985286560990916490, -0.985278014235230310, -0.985269465016349270, -0.985260913334294440, -0.985252359189087380, +-0.985243802580749390, -0.985235243509301920, -0.985226681974766370, -0.985218117977164080, -0.985209551516516460, -0.985200982592844940, -0.985192411206171070, -0.985183837356516160, +-0.985175261043901520, -0.985166682268348910, -0.985158101029879440, -0.985149517328514860, -0.985140931164276370, -0.985132342537185620, -0.985123751447264050, -0.985115157894532970, +-0.985106561879014130, -0.985097963400728750, -0.985089362459698580, -0.985080759055944940, -0.985072153189489490, -0.985063544860353520, -0.985054934068558820, -0.985046320814126690, +-0.985037705097078780, -0.985029086917436620, -0.985020466275221770, -0.985011843170455760, -0.985003217603160120, -0.984994589573356390, -0.984985959081066230, -0.984977326126311170, +-0.984968690709112750, -0.984960052829492730, -0.984951412487472420, -0.984942769683073700, -0.984934124416318000, -0.984925476687227070, -0.984916826495822350, -0.984908173842125590, +-0.984899518726158440, -0.984890861147942440, -0.984882201107499240, -0.984873538604850610, -0.984864873640018180, -0.984856206213023500, -0.984847536323888330, -0.984838863972634320, +-0.984830189159283110, -0.984821511883856470, -0.984812832146376050, -0.984804149946863490, -0.984795465285340570, -0.984786778161829020, -0.984778088576350520, -0.984769396528926810, +-0.984760702019579660, -0.984752005048330710, -0.984743305615201740, -0.984734603720214490, -0.984725899363390720, -0.984717192544752210, -0.984708483264320700, -0.984699771522118070, +-0.984691057318165970, -0.984682340652486170, -0.984673621525100630, -0.984664899936030900, -0.984656175885299080, -0.984647449372926700, -0.984638720398935630, -0.984629988963347970, +-0.984621255066185140, -0.984612518707469350, -0.984603779887222140, -0.984595038605465490, -0.984586294862221270, -0.984577548657511350, -0.984568799991357490, -0.984560048863781680, +-0.984551295274805670, -0.984542539224451560, -0.984533780712741000, -0.984525019739695970, -0.984516256305338460, -0.984507490409690320, -0.984498722052773330, -0.984489951234609690, +-0.984481177955221050, -0.984472402214629510, -0.984463624012857030, -0.984454843349925390, -0.984446060225856790, -0.984437274640672880, -0.984428486594395860, -0.984419696087047600, +-0.984410903118650090, -0.984402107689225310, -0.984393309798795360, -0.984384509447382090, -0.984375706635007510, -0.984366901361693690, -0.984358093627462630, -0.984349283432336300, +-0.984340470776336800, -0.984331655659485990, -0.984322838081806210, -0.984314018043319190, -0.984305195544047270, -0.984296370584012310, -0.984287543163236410, -0.984278713281741660, +-0.984269880939550150, -0.984261046136683860, -0.984252208873165000, -0.984243369149015670, -0.984234526964257840, -0.984225682318913720, -0.984216835213005400, -0.984207985646555090, +-0.984199133619584670, -0.984190279132116430, -0.984181422184172590, -0.984172562775775140, -0.984163700906946270, -0.984154836577708190, -0.984145969788082890, -0.984137100538092780, +-0.984128228827759970, -0.984119354657106430, -0.984110478026154590, -0.984101598934926550, -0.984092717383444620, -0.984083833371730780, -0.984074946899807350, -0.984066057967696530, +-0.984057166575420640, -0.984048272723001770, -0.984039376410462350, -0.984030477637824360, -0.984021576405110230, -0.984012672712342160, -0.984003766559542360, -0.983994857946733140, +-0.983985946873936920, -0.983977033341175700, -0.983968117348471890, -0.983959198895847820, -0.983950277983325790, -0.983941354610928020, -0.983932428778676820, -0.983923500486594600, +-0.983914569734703590, -0.983905636523026320, -0.983896700851584760, -0.983887762720401570, -0.983878822129498840, -0.983869879078899220, -0.983860933568624810, -0.983851985598698130, +-0.983843035169141400, -0.983834082279977150, -0.983825126931227590, -0.983816169122915360, -0.983807208855062560, -0.983798246127691840, -0.983789280940825520, -0.983780313294486010, +-0.983771343188695640, -0.983762370623476930, -0.983753395598852220, -0.983744418114844140, -0.983735438171475020, -0.983726455768767270, -0.983717470906743330, -0.983708483585425730, +-0.983699493804837010, -0.983690501564999490, -0.983681506865935700, -0.983672509707668170, -0.983663510090219350, -0.983654508013611760, -0.983645503477867940, -0.983636496483010330, +-0.983627487029061440, -0.983618475116043940, -0.983609460743980150, -0.983600443912892700, -0.983591424622804240, -0.983582402873737220, -0.983573378665714040, -0.983564351998757580, +-0.983555322872890160, -0.983546291288134420, -0.983537257244513020, -0.983528220742048380, -0.983519181780763250, -0.983510140360680190, -0.983501096481821710, -0.983492050144210590, +-0.983483001347869260, -0.983473950092820460, -0.983464896379086740, -0.983455840206690860, -0.983446781575655240, -0.983437720486002860, -0.983428656937756050, -0.983419590930937670, +-0.983410522465570260, -0.983401451541676570, -0.983392378159279160, -0.983383302318400880, -0.983374224019064380, -0.983365143261292320, -0.983356060045107340, -0.983346974370532200, +-0.983337886237589660, -0.983328795646302490, -0.983319702596693210, -0.983310607088784700, -0.983301509122599730, -0.983292408698160920, -0.983283305815491170, -0.983274200474613000, +-0.983265092675549510, -0.983255982418323130, -0.983246869702956940, -0.983237754529473480, -0.983228636897895750, -0.983219516808246260, -0.983210394260548020, -0.983201269254823870, +-0.983192141791096490, -0.983183011869388830, -0.983173879489723570, -0.983164744652123670, -0.983155607356611890, -0.983146467603211010, -0.983137325391943980, -0.983128180722833810, +-0.983119033595903020, -0.983109884011174720, -0.983100731968671650, -0.983091577468416800, -0.983082420510432930, -0.983073261094743130, -0.983064099221370060, -0.983054934890336800, +-0.983045768101666220, -0.983036598855381190, -0.983027427151504600, -0.983018252990059520, -0.983009076371068820, -0.982999897294555390, -0.982990715760542310, -0.982981531769052340, +-0.982972345320108580, -0.982963156413733890, -0.982953965049951470, -0.982944771228783990, -0.982935574950254630, -0.982926376214386280, -0.982917175021202130, -0.982907971370724940, +-0.982898765262977810, -0.982889556697983830, -0.982880345675765880, -0.982871132196347140, -0.982861916259750500, -0.982852697865999160, -0.982843477015115980, -0.982834253707124180, +-0.982825027942046630, -0.982815799719906620, -0.982806569040727160, -0.982797335904531220, -0.982788100311341890, -0.982778862261182380, -0.982769621754075670, -0.982760378790044960, +-0.982751133369113240, -0.982741885491303700, -0.982732635156639440, -0.982723382365143670, -0.982714127116839360, -0.982704869411749730, -0.982695609249897960, -0.982686346631307160, +-0.982677081556000530, -0.982667814024001160, -0.982658544035332260, -0.982649271590016920, -0.982639996688078550, -0.982630719329540050, -0.982621439514424820, -0.982612157242755970, +-0.982602872514556800, -0.982593585329850420, -0.982584295688660010, -0.982575003591008910, -0.982565709036920310, -0.982556412026417410, -0.982547112559523540, -0.982537810636261780, +-0.982528506256655660, -0.982519199420728070, -0.982509890128502650, -0.982500578380002490, -0.982491264175250790, -0.982481947514270980, -0.982472628397086270, -0.982463306823720070, +-0.982453982794195490, -0.982444656308536060, -0.982435327366764870, -0.982425995968905450, -0.982416662114981020, -0.982407325805015000, -0.982397987039030580, -0.982388645817051210, +-0.982379302139100300, -0.982369956005201050, -0.982360607415376900, -0.982351256369651260, -0.982341902868047570, -0.982332546910589020, -0.982323188497299050, -0.982313827628201190, +-0.982304464303318750, -0.982295098522675160, -0.982285730286293850, -0.982276359594198120, -0.982266986446411640, -0.982257610842957600, -0.982248232783859530, -0.982238852269140870, +-0.982229469298825150, -0.982220083872935690, -0.982210695991496020, -0.982201305654529570, -0.982191912862059980, -0.982182517614110460, -0.982173119910704770, -0.982163719751866230, +-0.982154317137618470, -0.982144912067984820, -0.982135504542988920, -0.982126094562654210, -0.982116682127004310, -0.982107267236062790, -0.982097849889852940, -0.982088430088398520, +-0.982079007831723080, -0.982069583119850150, -0.982060155952803160, -0.982050726330605860, -0.982041294253281680, -0.982031859720854270, -0.982022422733347280, -0.982012983290784240, +-0.982003541393188570, -0.981994097040584270, -0.981984650232994530, -0.981975200970443330, -0.981965749252953990, -0.981956295080550380, -0.981946838453256030, -0.981937379371094600, +-0.981927917834089610, -0.981918453842264950, -0.981908987395644030, -0.981899518494250720, -0.981890047138108570, -0.981880573327241320, -0.981871097061672750, -0.981861618341426270, +-0.981852137166525860, -0.981842653536995070, -0.981833167452857650, -0.981823678914137240, -0.981814187920857730, -0.981804694473042750, -0.981795198570715950, -0.981785700213901210, +-0.981776199402622280, -0.981766696136902710, -0.981757190416766570, -0.981747682242237300, -0.981738171613338870, -0.981728658530095060, -0.981719142992529600, -0.981709625000666160, +-0.981700104554528830, -0.981690581654141140, -0.981681056299526960, -0.981671528490710270, -0.981661998227714610, -0.981652465510564070, -0.981642930339282290, -0.981633392713893270, +-0.981623852634420760, -0.981614310100888510, -0.981604765113320620, -0.981595217671740740, -0.981585667776172840, -0.981576115426640810, -0.981566560623168380, -0.981557003365779670, +-0.981547443654498310, -0.981537881489348510, -0.981528316870353910, -0.981518749797538500, -0.981509180270926260, -0.981499608290541060, -0.981490033856406760, -0.981480456968547470, +-0.981470877626987040, -0.981461295831749460, -0.981451711582858490, -0.981442124880338330, -0.981432535724212960, -0.981422944114506040, -0.981413350051241970, -0.981403753534444420, +-0.981394154564137480, -0.981384553140345120, -0.981374949263091430, -0.981365342932400410, -0.981355734148295910, -0.981346122910802140, -0.981336509219943090, -0.981326893075742830, +-0.981317274478225140, -0.981307653427414440, -0.981298029923334590, -0.981288403966009580, -0.981278775555463610, -0.981269144691720660, -0.981259511374804940, -0.981249875604740420, +-0.981240237381551080, -0.981230596705261360, -0.981220953575895010, -0.981211307993476330, -0.981201659958029330, -0.981192009469578190, -0.981182356528147000, -0.981172701133759980, +-0.981163043286441220, -0.981153382986214790, -0.981143720233104920, -0.981134055027135800, -0.981124387368331520, -0.981114717256716170, -0.981105044692314190, -0.981095369675149430, +-0.981085692205246440, -0.981076012282629080, -0.981066329907321680, -0.981056645079348530, -0.981046957798733740, -0.981037268065501510, -0.981027575879676260, -0.981017881241281970, +-0.981008184150342970, -0.980998484606883440, -0.980988782610927810, -0.980979078162500180, -0.980969371261624870, -0.980959661908326170, -0.980949950102628310, -0.980940235844555470, +-0.980930519134132100, -0.980920799971382480, -0.980911078356330850, -0.980901354289001490, -0.980891627769418740, -0.980881898797606900, -0.980872167373590400, -0.980862433497393440, +-0.980852697169040330, -0.980842958388555510, -0.980833217155963390, -0.980823473471288180, -0.980813727334554190, -0.980803978745785950, -0.980794227705007790, -0.980784474212244020, +-0.980774718267519050, -0.980764959870857430, -0.980755199022283250, -0.980745435721821160, -0.980735669969495350, -0.980725901765330480, -0.980716131109350850, -0.980706358001580900, +-0.980696582442045050, -0.980686804430767720, -0.980677023967773340, -0.980667241053086450, -0.980657455686731460, -0.980647667868732810, -0.980637877599115030, -0.980628084877902540, +-0.980618289705119880, -0.980608492080791370, -0.980598692004941760, -0.980588889477595370, -0.980579084498776730, -0.980569277068510380, -0.980559467186820970, -0.980549654853732690, +-0.980539840069270420, -0.980530022833458470, -0.980520203146321490, -0.980510381007884010, -0.980500556418170580, -0.980490729377205830, -0.980480899885014080, -0.980471067941620200, +-0.980461233547048620, -0.980451396701323970, -0.980441557404470920, -0.980431715656513880, -0.980421871457477500, -0.980412024807386540, -0.980402175706265420, -0.980392324154139020, +-0.980382470151031640, -0.980372613696968150, -0.980362754791973100, -0.980352893436071240, -0.980343029629287100, -0.980333163371645330, -0.980323294663170810, -0.980313423503887840, +-0.980303549893821510, -0.980293673832996150, -0.980283795321436720, -0.980273914359167780, -0.980264030946214060, -0.980254145082600110, -0.980244256768351030, -0.980234366003491120, +-0.980224472788045480, -0.980214577122038520, -0.980204679005495130, -0.980194778438440050, -0.980184875420898050, -0.980174969952893880, -0.980165062034452310, -0.980155151665597970, +-0.980145238846355850, -0.980135323576750590, -0.980125405856806960, -0.980115485686549940, -0.980105563066004160, -0.980095637995194500, -0.980085710474145610, -0.980075780502882580, +-0.980065848081430050, -0.980055913209813000, -0.980045975888055980, -0.980036036116184170, -0.980026093894222240, -0.980016149222195040, -0.980006202100127450, -0.979996252528044450, +-0.979986300505970800, -0.979976346033931360, -0.979966389111951000, -0.979956429740054700, -0.979946467918267340, -0.979936503646613890, -0.979926536925119110, -0.979916567753807980, +-0.979906596132705480, -0.979896622061836360, -0.979886645541225840, -0.979876666570898560, -0.979866685150879710, -0.979856701281194180, -0.979846714961866820, -0.979836726192922720, +-0.979826734974386770, -0.979816741306284040, -0.979806745188639420, -0.979796746621477980, -0.979786745604824590, -0.979776742138704360, -0.979766736223142360, -0.979756727858163370, +-0.979746717043792680, -0.979736703780055170, -0.979726688066975940, -0.979716669904579950, -0.979706649292892200, -0.979696626231937980, -0.979686600721742070, -0.979676572762329780, +-0.979666542353725970, -0.979656509495955840, -0.979646474189044380, -0.979636436433016790, -0.979626396227898040, -0.979616353573713460, -0.979606308470487800, -0.979596260918246480, +-0.979586210917014480, -0.979576158466817000, -0.979566103567679040, -0.979556046219625890, -0.979545986422682650, -0.979535924176874300, -0.979525859482226260, -0.979515792338763510, +-0.979505722746511380, -0.979495650705494820, -0.979485576215739280, -0.979475499277269730, -0.979465419890111380, -0.979455338054289530, -0.979445253769829380, -0.979435167036756040, +-0.979425077855094810, -0.979414986224870780, -0.979404892146109370, -0.979394795618835690, -0.979384696643075150, -0.979374595218852730, -0.979364491346193860, -0.979354385025123730, +-0.979344276255667780, -0.979334165037850980, -0.979324051371698760, -0.979313935257236530, -0.979303816694489400, -0.979293695683482790, -0.979283572224241890, -0.979273446316792030, +-0.979263317961158620, -0.979253187157366870, -0.979243053905442080, -0.979232918205409810, -0.979222780057295130, -0.979212639461123580, -0.979202496416920360, -0.979192350924711020, +-0.979182202984520630, -0.979172052596374850, -0.979161899760298880, -0.979151744476318250, -0.979141586744458170, -0.979131426564744170, -0.979121263937201560, -0.979111098861855880, +-0.979100931338732330, -0.979090761367856550, -0.979080588949253870, -0.979070414082949590, -0.979060236768969470, -0.979050057007338600, -0.979039874798082630, -0.979029690141226980, +-0.979019503036797190, -0.979009313484818570, -0.978999121485316650, -0.978988927038316860, -0.978978730143844840, -0.978968530801926030, -0.978958329012585840, -0.978948124775849800, +-0.978937918091743580, -0.978927708960292460, -0.978917497381522010, -0.978907283355457960, -0.978897066882125520, -0.978886847961550570, -0.978876626593758400, -0.978866402778774790, +-0.978856176516625040, -0.978845947807334920, -0.978835716650929940, -0.978825483047435660, -0.978815246996877610, -0.978805008499281540, -0.978794767554672870, -0.978784524163077370, +-0.978774278324520460, -0.978764030039028010, -0.978753779306625330, -0.978743526127338280, -0.978733270501192300, -0.978723012428213250, -0.978712751908426660, -0.978702488941858180, +-0.978692223528533470, -0.978681955668478150, -0.978671685361718110, -0.978661412608278660, -0.978651137408185770, -0.978640859761465090, -0.978630579668142150, -0.978620297128242830, +-0.978610012141792770, -0.978599724708817620, -0.978589434829343240, -0.978579142503395170, -0.978568847730999390, -0.978558550512181440, -0.978548250846967060, -0.978537948735382020, +-0.978527644177452190, -0.978517337173203220, -0.978507027722660960, -0.978496715825851070, -0.978486401482799420, -0.978476084693531760, -0.978465765458073840, -0.978455443776451550, +-0.978445119648690630, -0.978434793074816960, -0.978424464054856280, -0.978414132588834470, -0.978403798676777290, -0.978393462318710600, -0.978383123514660280, -0.978372782264652190, +-0.978362438568712080, -0.978352092426865940, -0.978341743839139410, -0.978331392805558700, -0.978321039326149440, -0.978310683400937630, -0.978300325029949010, -0.978289964213209680, +-0.978279600950745400, -0.978269235242582020, -0.978258867088745760, -0.978248496489262150, -0.978238123444157390, -0.978227747953457350, -0.978217370017187890, -0.978206989635375000, +-0.978196606808044660, -0.978186221535222720, -0.978175833816935290, -0.978165443653208340, -0.978155051044067750, -0.978144655989539480, -0.978134258489649630, -0.978123858544424070, +-0.978113456153888890, -0.978103051318070070, -0.978092644036993590, -0.978082234310685530, -0.978071822139171880, -0.978061407522478720, -0.978050990460632040, -0.978040570953657820, +-0.978030149001582250, -0.978019724604431210, -0.978009297762230890, -0.977998868475007390, -0.977988436742786680, -0.977978002565594860, -0.977967565943458130, -0.977957126876402350, +-0.977946685364453840, -0.977936241407638570, -0.977925795005982760, -0.977915346159512370, -0.977904894868253720, -0.977894441132232780, -0.977883984951475660, -0.977873526326008660, +-0.977863065255857870, -0.977852601741049380, -0.977842135781609390, -0.977831667377564000, -0.977821196528939510, -0.977810723235762010, -0.977800247498057830, -0.977789769315852820, +-0.977779288689173520, -0.977768805618045910, -0.977758320102496410, -0.977747832142551010, -0.977737341738236120, -0.977726848889577730, -0.977716353596602360, -0.977705855859336000, +-0.977695355677805080, -0.977684853052035780, -0.977674347982054210, -0.977663840467886900, -0.977653330509559940, -0.977642818107099740, -0.977632303260532410, -0.977621785969884360, +-0.977611266235181800, -0.977600744056451140, -0.977590219433718600, -0.977579692367010480, -0.977569162856353090, -0.977558630901772860, -0.977548096503296100, -0.977537559660949020, +-0.977527020374758030, -0.977516478644749550, -0.977505934470949800, -0.977495387853385300, -0.977484838792082260, -0.977474287287067200, -0.977463733338366340, -0.977453176946006200, +-0.977442618110013100, -0.977432056830413450, -0.977421493107233700, -0.977410926940500140, -0.977400358330239310, -0.977389787276477630, -0.977379213779241420, -0.977368637838557210, +-0.977358059454451420, -0.977347478626950370, -0.977336895356080700, -0.977326309641868840, -0.977315721484341200, -0.977305130883524110, -0.977294537839444310, -0.977283942352128230, +-0.977273344421602190, -0.977262744047892820, -0.977252141231026660, -0.977241535971030030, -0.977230928267929570, -0.977220318121751810, -0.977209705532523290, -0.977199090500270540, +-0.977188473025019990, -0.977177853106798280, -0.977167230745631940, -0.977156605941547520, -0.977145978694571540, -0.977135349004730760, -0.977124716872051490, -0.977114082296560380, +-0.977103445278284190, -0.977092805817249330, -0.977082163913482460, -0.977071519567010220, -0.977060872777859020, -0.977050223546055860, -0.977039571871627040, -0.977028917754599210, +-0.977018261194999240, -0.977007602192853540, -0.976996940748188770, -0.976986276861031790, -0.976975610531409020, -0.976964941759347230, -0.976954270544873160, -0.976943596888013350, +-0.976932920788794570, -0.976922242247243440, -0.976911561263386740, -0.976900877837251100, -0.976890191968863400, -0.976879503658250050, -0.976868812905438030, -0.976858119710454000, +-0.976847424073324590, -0.976836725994076670, -0.976826025472737000, -0.976815322509332120, -0.976804617103888990, -0.976793909256434390, -0.976783198966994950, -0.976772486235597540, +-0.976761771062268910, -0.976751053447035830, -0.976740333389925160, -0.976729610890963660, -0.976718885950178080, -0.976708158567595410, -0.976697428743242170, -0.976686696477145460, +-0.976675961769331910, -0.976665224619828630, -0.976654485028662140, -0.976643742995859540, -0.976632998521447470, -0.976622251605453020, -0.976611502247902830, -0.976600750448824000, +-0.976589996208243160, -0.976579239526187410, -0.976568480402683630, -0.976557718837758550, -0.976546954831439160, -0.976536188383752450, -0.976525419494725270, -0.976514648164384490, +-0.976503874392757100, -0.976493098179870070, -0.976482319525750260, -0.976471538430424670, -0.976460754893920260, -0.976449968916263900, -0.976439180497482680, -0.976428389637603370, +-0.976417596336653260, -0.976406800594659010, -0.976396002411647920, -0.976385201787646650, -0.976374398722682500, -0.976363593216782340, -0.976352785269973160, -0.976341974882282030, +-0.976331162053735930, -0.976320346784362080, -0.976309529074187220, -0.976298708923238560, -0.976287886331543060, -0.976277061299127950, -0.976266233826020180, -0.976255403912246860, +-0.976244571557834950, -0.976233736762811670, -0.976222899527203980, -0.976212059851039090, -0.976201217734343980, -0.976190373177145960, -0.976179526179471900, -0.976168676741349000, +-0.976157824862804450, -0.976146970543865340, -0.976136113784558890, -0.976125254584912060, -0.976114392944952170, -0.976103528864706190, -0.976092662344201440, -0.976081793383465010, +-0.976070921982524210, -0.976060048141405900, -0.976049171860137620, -0.976038293138746350, -0.976027411977259400, -0.976016528375703960, -0.976005642334107140, -0.975994753852496230, +-0.975983862930898450, -0.975972969569340880, -0.975962073767851050, -0.975951175526455940, -0.975940274845182860, -0.975929371724059250, -0.975918466163112060, -0.975907558162368850, +-0.975896647721856580, -0.975885734841602790, -0.975874819521634680, -0.975863901761979460, -0.975852981562664530, -0.975842058923717110, -0.975831133845164620, -0.975820206327034260, +-0.975809276369353330, -0.975798343972149260, -0.975787409135449260, -0.975776471859280850, -0.975765532143671120, -0.975754589988647720, -0.975743645394237750, -0.975732698360468720, +-0.975721748887367850, -0.975710796974962660, -0.975699842623280470, -0.975688885832348700, -0.975677926602194770, -0.975666964932845880, -0.975656000824329680, -0.975645034276673480, +-0.975634065289904710, -0.975623093864050660, -0.975612119999138990, -0.975601143695197020, -0.975590164952252150, -0.975579183770331810, -0.975568200149463660, -0.975557214089674880, +-0.975546225590993130, -0.975535234653445830, -0.975524241277060390, -0.975513245461864350, -0.975502247207885140, -0.975491246515150510, -0.975480243383687550, -0.975469237813524130, +-0.975458229804687550, -0.975447219357205460, -0.975436206471105180, -0.975425191146414460, -0.975414173383160830, -0.975403153181371720, -0.975392130541074650, -0.975381105462297390, +-0.975370077945067250, -0.975359047989411980, -0.975348015595359110, -0.975336980762936180, -0.975325943492170720, -0.975314903783090490, -0.975303861635723020, -0.975292817050095850, +-0.975281770026236620, -0.975270720564172970, -0.975259668663932540, -0.975248614325543000, -0.975237557549031850, -0.975226498334426760, -0.975215436681755590, -0.975204372591045640, +-0.975193306062324900, -0.975182237095620800, -0.975171165690961180, -0.975160091848373600, -0.975149015567885800, -0.975137936849525430, -0.975126855693320250, -0.975115772099298010, +-0.975104686067486240, -0.975093597597912810, -0.975082506690605370, -0.975071413345591550, -0.975060317562899350, -0.975049219342556280, -0.975038118684590120, -0.975027015589028820, +-0.975015910055899830, -0.975004802085231210, -0.974993691677050410, -0.974982578831385500, -0.974971463548264140, -0.974960345827714070, -0.974949225669763160, -0.974938103074439290, +-0.974926978041769980, -0.974915850571783320, -0.974904720664507060, -0.974893588319968970, -0.974882453538196800, -0.974871316319218640, -0.974860176663062130, -0.974849034569755250, +-0.974837890039325750, -0.974826743071801390, -0.974815593667210380, -0.974804441825580240, -0.974793287546939060, -0.974782130831314710, -0.974770971678734940, -0.974759810089227740, +-0.974748646062821080, -0.974737479599542820, -0.974726310699420840, -0.974715139362483000, -0.974703965588757380, -0.974692789378271860, -0.974681610731054300, -0.974670429647132800, +-0.974659246126535210, -0.974648060169289510, -0.974636871775423570, -0.974625680944965490, -0.974614487677943230, -0.974603291974384780, -0.974592093834318110, -0.974580893257771200, +-0.974569690244771910, -0.974558484795348570, -0.974547276909528910, -0.974536066587341150, -0.974524853828813150, -0.974513638633973110, -0.974502421002848900, -0.974491200935468700, +-0.974479978431860410, -0.974468753492052200, -0.974457526116072170, -0.974446296303948300, -0.974435064055708570, -0.974423829371381390, -0.974412592250994410, -0.974401352694576170, +-0.974390110702154420, -0.974378866273757360, -0.974367619409413190, -0.974356370109149990, -0.974345118372995870, -0.974333864200978890, -0.974322607593127280, -0.974311348549469210, +-0.974300087070032680, -0.974288823154846000, -0.974277556803937240, -0.974266288017334610, -0.974255016795066210, -0.974243743137160330, -0.974232467043645080, -0.974221188514548640, +-0.974209907549899220, -0.974198624149725020, -0.974187338314054350, -0.974176050042915190, -0.974164759336336060, -0.974153466194344950, -0.974142170616970060, -0.974130872604239920, +-0.974119572156182500, -0.974108269272826230, -0.974096963954199200, -0.974085656200329940, -0.974074346011246320, -0.974063033386976970, -0.974051718327550000, -0.974040400832993700, +-0.974029080903336400, -0.974017758538606500, -0.974006433738832110, -0.973995106504041640, -0.973983776834263400, -0.973972444729525820, -0.973961110189856980, -0.973949773215285420, +-0.973938433805839440, -0.973927091961547360, -0.973915747682437600, -0.973904400968538360, -0.973893051819878290, -0.973881700236485460, -0.973870346218388420, -0.973858989765615470, +-0.973847630878195150, -0.973836269556155650, -0.973824905799525520, -0.973813539608333170, -0.973802170982606910, -0.973790799922375270, -0.973779426427666570, -0.973768050498509340, +-0.973756672134932000, -0.973745291336962860, -0.973733908104630670, -0.973722522437963640, -0.973711134336990300, -0.973699743801739070, -0.973688350832238480, -0.973676955428517180, +-0.973665557590603250, -0.973654157318525670, -0.973642754612312530, -0.973631349471992590, -0.973619941897594150, -0.973608531889145980, -0.973597119446676480, -0.973585704570214090, +-0.973574287259787560, -0.973562867515425200, -0.973551445337155760, -0.973540020725007670, -0.973528593679009460, -0.973517164199189880, -0.973505732285577350, -0.973494297938200530, +-0.973482861157087820, -0.973471421942268100, -0.973459980293769790, -0.973448536211621530, -0.973437089695851960, -0.973425640746489520, -0.973414189363563160, -0.973402735547101220, +-0.973391279297132540, -0.973379820613685550, -0.973368359496789130, -0.973356895946471680, -0.973345429962762080, -0.973333961545688850, -0.973322490695280760, -0.973311017411566450, +-0.973299541694574550, -0.973288063544333840, -0.973276582960872940, -0.973265099944220500, -0.973253614494405510, -0.973242126611456370, -0.973230636295401850, -0.973219143546270820, +-0.973207648364091900, -0.973196150748893980, -0.973184650700705480, -0.973173148219555470, -0.973161643305472610, -0.973150135958485650, -0.973138626178623230, -0.973127113965914450, +-0.973115599320387710, -0.973104082242072010, -0.973092562730996090, -0.973081040787188820, -0.973069516410678960, -0.973057989601495250, -0.973046460359666580, -0.973034928685221790, +-0.973023394578189650, -0.973011858038599020, -0.973000319066478770, -0.972988777661857650, -0.972977233824764750, -0.972965687555228610, -0.972954138853278310, -0.972942587718942600, +-0.972931034152250570, -0.972919478153230770, -0.972907919721912480, -0.972896358858324260, -0.972884795562495190, -0.972873229834454010, -0.972861661674229940, -0.972850091081851610, +-0.972838518057348000, -0.972826942600748200, -0.972815364712081080, -0.972803784391375380, -0.972792201638660430, -0.972780616453964740, -0.972769028837317640, -0.972757438788747990, +-0.972745846308284760, -0.972734251395956820, -0.972722654051793260, -0.972711054275823160, -0.972699452068075400, -0.972687847428578940, -0.972676240357362890, -0.972664630854456310, +-0.972653018919888090, -0.972641404553687310, -0.972629787755883050, -0.972618168526504290, -0.972606546865580120, -0.972594922773139640, -0.972583296249211800, -0.972571667293825710, +-0.972560035907010460, -0.972548402088795120, -0.972536765839208780, -0.972525127158280540, -0.972513486046039490, -0.972501842502514700, -0.972490196527735380, -0.972478548121730400, +-0.972466897284529170, -0.972455244016160680, -0.972443588316654120, -0.972431930186038570, -0.972420269624343140, -0.972408606631597120, -0.972396941207829490, -0.972385273353069570, +-0.972373603067346440, -0.972361930350689300, -0.972350255203127340, -0.972338577624689780, -0.972326897615405810, -0.972315215175304500, -0.972303530304415080, -0.972291843002767050, +-0.972280153270389190, -0.972268461107311130, -0.972256766513561850, -0.972245069489170670, -0.972233370034166770, -0.972221668148579470, -0.972209963832437960, -0.972198257085771680, +-0.972186547908609590, -0.972174836300981230, -0.972163122262915790, -0.972151405794442480, -0.972139686895590720, -0.972127965566389700, -0.972116241806868730, -0.972104515617057240, +-0.972092786996984430, -0.972081055946679710, -0.972069322466172170, -0.972057586555491460, -0.972045848214666770, -0.972034107443727420, -0.972022364242702940, -0.972010618611622410, +-0.971998870550515370, -0.971987120059411120, -0.971975367138339100, -0.971963611787328710, -0.971951854006409270, -0.971940093795610080, -0.971928331154960800, -0.971916566084490620, +-0.971904798584229070, -0.971893028654205460, -0.971881256294449440, -0.971869481504990080, -0.971857704285857160, -0.971845924637079860, -0.971834142558687830, -0.971822358050710380, +-0.971810571113177040, -0.971798781746117330, -0.971786989949560700, -0.971775195723536540, -0.971763399068074300, -0.971751599983203710, -0.971739798468954090, -0.971727994525354970, +-0.971716188152435770, -0.971704379350226240, -0.971692568118755710, -0.971680754458053690, -0.971668938368149830, -0.971657119849073660, -0.971645298900854600, -0.971633475523522420, +-0.971621649717106520, -0.971609821481636440, -0.971597990817141820, -0.971586157723652200, -0.971574322201197330, -0.971562484249806510, -0.971550643869509510, -0.971538801060335850, +-0.971526955822315300, -0.971515108155477260, -0.971503258059851600, -0.971491405535467640, -0.971479550582355240, -0.971467693200543940, -0.971455833390063360, -0.971443971150943280, +-0.971432106483213210, -0.971420239386902920, -0.971408369862042040, -0.971396497908660230, -0.971384623526787120, -0.971372746716452460, -0.971360867477686020, -0.971348985810517320, +-0.971337101714976230, -0.971325215191092380, -0.971313326238895440, -0.971301434858415250, -0.971289541049681350, -0.971277644812723720, -0.971265746147571880, -0.971253845054255830, +-0.971241941532804960, -0.971230035583249380, -0.971218127205618620, -0.971206216399942650, -0.971194303166251100, -0.971182387504573750, -0.971170469414940450, -0.971158548897381070, +-0.971146625951925250, -0.971134700578602850, -0.971122772777443630, -0.971110842548477570, -0.971098909891734420, -0.971086974807243930, -0.971075037295036080, -0.971063097355140510, +-0.971051154987587320, -0.971039210192406130, -0.971027262969627050, -0.971015313319279700, -0.971003361241394190, -0.970991406736000150, -0.970979449803127670, -0.970967490442806500, +-0.970955528655066740, -0.970943564439938010, -0.970931597797450530, -0.970919628727633930, -0.970907657230518310, -0.970895683306133410, -0.970883706954509430, -0.970871728175676240, +-0.970859746969663600, -0.970847763336501690, -0.970835777276220280, -0.970823788788849450, -0.970811797874419180, -0.970799804532959440, -0.970787808764500100, -0.970775810569071360, +-0.970763809946703080, -0.970751806897425240, -0.970739801421267810, -0.970727793518261000, -0.970715783188434540, -0.970703770431818770, -0.970691755248443530, -0.970679737638338920, +-0.970667717601534920, -0.970655695138061710, -0.970643670247949180, -0.970631642931227500, -0.970619613187926780, -0.970607581018076870, -0.970595546421708200, -0.970583509398850520, +-0.970571469949534140, -0.970559428073789030, -0.970547383771645400, -0.970535337043133330, -0.970523287888282900, -0.970511236307124210, -0.970499182299687460, -0.970487125866002720, +-0.970475067006100200, -0.970463005720009990, -0.970450942007762270, -0.970438875869387260, -0.970426807304915040, -0.970414736314375690, -0.970402662897799640, -0.970390587055216860, +-0.970378508786657550, -0.970366428092152120, -0.970354344971730450, -0.970342259425423070, -0.970330171453259950, -0.970318081055271510, -0.970305988231487730, -0.970293892981939130, +-0.970281795306655590, -0.970269695205667750, -0.970257592679005580, -0.970245487726699500, -0.970233380348779590, -0.970221270545276400, -0.970209158316219900, -0.970197043661640500, +-0.970184926581568520, -0.970172807076034260, -0.970160685145067920, -0.970148560788699930, -0.970136434006960480, -0.970124304799879990, -0.970112173167488770, -0.970100039109817010, +-0.970087902626895260, -0.970075763718753700, -0.970063622385422760, -0.970051478626932750, -0.970039332443313970, -0.970027183834596960, -0.970015032800811920, -0.970002879341989370, +-0.969990723458159620, -0.969978565149352990, -0.969966404415600000, -0.969954241256930970, -0.969942075673376420, -0.969929907664966560, -0.969917737231732020, -0.969905564373703120, +-0.969893389090910270, -0.969881211383384010, -0.969869031251154650, -0.969856848694252700, -0.969844663712708720, -0.969832476306553000, -0.969820286475816080, -0.969808094220528600, +-0.969795899540720760, -0.969783702436423200, -0.969771502907666340, -0.969759300954480820, -0.969747096576896950, -0.969734889774945370, -0.969722680548656510, -0.969710468898061120, +-0.969698254823189390, -0.969686038324072070, -0.969673819400739600, -0.969661598053222720, -0.969649374281551730, -0.969637148085757290, -0.969624919465870150, -0.969612688421920500, +-0.969600454953939320, -0.969588219061956910, -0.969575980746003930, -0.969563740006111010, -0.969551496842308790, -0.969539251254627700, -0.969527003243098710, -0.969514752807752010, +-0.969502499948618480, -0.969490244665728750, -0.969477986959113360, -0.969465726828802940, -0.969453464274828370, -0.969441199297220060, -0.969428931896008760, -0.969416662071225010, +-0.969404389822899780, -0.969392115151063490, -0.969379838055746900, -0.969367558536980760, -0.969355276594795700, -0.969342992229222490, -0.969330705440291760, -0.969318416228034270, +-0.969306124592480670, -0.969293830533661920, -0.969281534051608440, -0.969269235146351220, -0.969256933817920880, -0.969244630066348200, -0.969232323891664030, -0.969220015293898900, +-0.969207704273083780, -0.969195390829249550, -0.969183074962426620, -0.969170756672646180, -0.969158435959938780, -0.969146112824335160, -0.969133787265866410, -0.969121459284563170, +-0.969109128880456310, -0.969096796053576570, -0.969084460803954940, -0.969072123131622050, -0.969059783036608890, -0.969047440518946200, -0.969035095578665070, -0.969022748215796040, +-0.969010398430370290, -0.968998046222418470, -0.968985691591971570, -0.968973334539060320, -0.968960975063715810, -0.968948613165968920, -0.968936248845850390, -0.968923882103391310, +-0.968911512938622430, -0.968899141351574960, -0.968886767342279520, -0.968874390910767100, -0.968862012057068790, -0.968849630781215440, -0.968837247083238040, -0.968824860963167440, +-0.968812472421034740, -0.968800081456870910, -0.968787688070706810, -0.968775292262573530, -0.968762894032501930, -0.968750493380523210, -0.968738090306668130, -0.968725684810967990, +-0.968713276893453430, -0.968700866554155880, -0.968688453793106090, -0.968676038610335130, -0.968663621005874110, -0.968651200979753990, -0.968638778532005970, -0.968626353662660920, +-0.968613926371750030, -0.968601496659304280, -0.968589064525354760, -0.968576629969932660, -0.968564192993068950, -0.968551753594794730, -0.968539311775141190, -0.968526867534139300, +-0.968514420871820380, -0.968501971788215290, -0.968489520283355220, -0.968477066357271490, -0.968464610009994950, -0.968452151241557040, -0.968439690051988710, -0.968427226441321070, +-0.968414760409585410, -0.968402291956812820, -0.968389821083034510, -0.968377347788281660, -0.968364872072585480, -0.968352393935977160, -0.968339913378487680, -0.968327430400148570, +-0.968314945000990800, -0.968302457181045790, -0.968289966940344530, -0.968277474278918420, -0.968264979196798550, -0.968252481694016230, -0.968239981770602780, -0.968227479426589380, +-0.968214974662007230, -0.968202467476887650, -0.968189957871261830, -0.968177445845161300, -0.968164931398616920, -0.968152414531660340, -0.968139895244322760, -0.968127373536635360, +-0.968114849408629690, -0.968102322860336710, -0.968089793891788060, -0.968077262503014730, -0.968064728694048470, -0.968052192464920250, -0.968039653815661590, -0.968027112746303820, +-0.968014569256878230, -0.968002023347416250, -0.967989475017949190, -0.967976924268508450, -0.967964371099125480, -0.967951815509831450, -0.967939257500657900, -0.967926697071636260, +-0.967914134222797820, -0.967901568954174120, -0.967889001265796470, -0.967876431157696280, -0.967863858629904980, -0.967851283682454210, -0.967838706315375050, -0.967826126528699260, +-0.967813544322458030, -0.967800959696683010, -0.967788372651405490, -0.967775783186657250, -0.967763191302469350, -0.967750596998873560, -0.967738000275901290, -0.967725401133583960, +-0.967712799571953220, -0.967700195591040370, -0.967687589190877160, -0.967674980371494910, -0.967662369132925140, -0.967649755475199490, -0.967637139398349500, -0.967624520902406580, +-0.967611899987402490, -0.967599276653368530, -0.967586650900336460, -0.967574022728337700, -0.967561392137404000, -0.967548759127566660, -0.967536123698857550, -0.967523485851307980, +-0.967510845584949820, -0.967498202899814470, -0.967485557795933700, -0.967472910273339040, -0.967460260332062120, -0.967447607972134360, -0.967434953193587740, -0.967422295996453680, +-0.967409636380763940, -0.967396974346550140, -0.967384309893843830, -0.967371643022676750, -0.967358973733080550, -0.967346302025086980, -0.967333627898727570, -0.967320951354034180, +-0.967308272391038340, -0.967295591009771800, -0.967282907210266330, -0.967270220992553660, -0.967257532356665340, -0.967244841302633220, -0.967232147830488940, -0.967219451940264370, +-0.967206753631991160, -0.967194052905701150, -0.967181349761425890, -0.967168644199197240, -0.967155936219047050, -0.967143225821006870, -0.967130513005108880, -0.967117797771384400, +-0.967105080119865510, -0.967092360050583850, -0.967079637563571400, -0.967066912658859800, -0.967054185336480910, -0.967041455596466590, -0.967028723438848600, -0.967015988863658800, +-0.967003251870929060, -0.966990512460691230, -0.966977770632977070, -0.966965026387818450, -0.966952279725247330, -0.966939530645295480, -0.966926779147994740, -0.966914025233377110, +-0.966901268901474430, -0.966888510152318580, -0.966875748985941420, -0.966862985402374920, -0.966850219401650950, -0.966837450983801470, -0.966824680148858250, -0.966811906896853480, +-0.966799131227818800, -0.966786353141786400, -0.966773572638788050, -0.966760789718855820, -0.966748004382021580, -0.966735216628317300, -0.966722426457775060, -0.966709633870426740, +-0.966696838866304200, -0.966684041445439730, -0.966671241607865110, -0.966658439353612400, -0.966645634682713580, -0.966632827595200640, -0.966620018091105650, -0.966607206170460590, +-0.966594391833297540, -0.966581575079648480, -0.966568755909545610, -0.966555934323020670, -0.966543110320105980, -0.966530283900833510, -0.966517455065235340, -0.966504623813343570, +-0.966491790145190270, -0.966478954060807420, -0.966466115560227210, -0.966453274643481630, -0.966440431310602980, -0.966427585561623110, -0.966414737396574460, -0.966401886815488780, +-0.966389033818398580, -0.966376178405335630, -0.966363320576332230, -0.966350460331420690, -0.966337597670632880, -0.966324732594001090, -0.966311865101557420, -0.966298995193334180, +-0.966286122869363440, -0.966273248129677410, -0.966260370974308170, -0.966247491403288140, -0.966234609416649180, -0.966221725014423940, -0.966208838196644160, -0.966195948963342490, +-0.966183057314550790, -0.966170163250301580, -0.966157266770626850, -0.966144367875559020, -0.966131466565130160, -0.966118562839372810, -0.966105656698318940, -0.966092748142000860, +-0.966079837170451090, -0.966066923783701510, -0.966054007981784870, -0.966041089764733020, -0.966028169132578500, -0.966015246085353610, -0.966002320623090550, -0.965989392745821740, +-0.965976462453579380, -0.965963529746395880, -0.965950594624303660, -0.965937657087334810, -0.965924717135521860, -0.965911774768897110, -0.965898829987492990, -0.965885882791341800, +-0.965872933180475850, -0.965859981154927550, -0.965847026714729330, -0.965834069859913490, -0.965821110590512570, -0.965808148906558860, -0.965795184808084680, -0.965782218295122670, +-0.965769249367705030, -0.965756278025864280, -0.965743304269632840, -0.965730328099043130, -0.965717349514127580, -0.965704368514918700, -0.965691385101448920, -0.965678399273750650, +-0.965665411031856320, -0.965652420375798570, -0.965639427305609700, -0.965626431821322240, -0.965613433922968720, -0.965600433610581680, -0.965587430884193520, -0.965574425743836780, +-0.965561418189544000, -0.965548408221347580, -0.965535395839280270, -0.965522381043374400, -0.965509363833662590, -0.965496344210177380, -0.965483322172951300, -0.965470297722016870, +-0.965457270857406740, -0.965444241579153430, -0.965431209887289590, -0.965418175781847630, -0.965405139262860200, -0.965392100330359940, -0.965379058984379590, -0.965366015224951360, +-0.965352969052108320, -0.965339920465882680, -0.965326869466307300, -0.965313816053414710, -0.965300760227237650, -0.965287701987808670, -0.965274641335160390, -0.965261578269325570, +-0.965248512790336740, -0.965235444898226660, -0.965222374593027950, -0.965209301874773380, -0.965196226743495480, -0.965183149199227100, -0.965170069242000770, -0.965156986871849250, +-0.965143902088805290, -0.965130814892901650, -0.965117725284170840, -0.965104633262645840, -0.965091538828359070, -0.965078441981343630, -0.965065342721632020, -0.965052241049257020, +-0.965039136964251590, -0.965026030466648140, -0.965012921556479660, -0.964999810233778900, -0.964986696498578600, -0.964973580350911520, -0.964960461790810630, -0.964947340818308460, +-0.964934217433437990, -0.964921091636231850, -0.964907963426723140, -0.964894832804944480, -0.964881699770928750, -0.964868564324708690, -0.964855426466317280, -0.964842286195787270, +-0.964829143513151630, -0.964815998418443010, -0.964802850911694490, -0.964789700992938810, -0.964776548662208850, -0.964763393919537580, -0.964750236764957750, -0.964737077198502440, +-0.964723915220204290, -0.964710750830096500, -0.964697584028211710, -0.964684414814583110, -0.964671243189243350, -0.964658069152225520, -0.964644892703562460, -0.964631713843287280, +-0.964618532571432710, -0.964605348888031950, -0.964592162793117660, -0.964578974286723010, -0.964565783368880990, -0.964552590039624460, -0.964539394298986390, -0.964526196146999970, +-0.964512995583697960, -0.964499792609113450, -0.964486587223279510, -0.964473379426229130, -0.964460169217995270, -0.964446956598611020, -0.964433741568109350, -0.964420524126523240, +-0.964407304273885990, -0.964394082010230360, -0.964380857335589540, -0.964367630249996610, -0.964354400753484660, -0.964341168846086560, -0.964327934527835720, -0.964314697798764890, +-0.964301458658907370, -0.964288217108296150, -0.964274973146964530, -0.964261726774945260, -0.964248477992271870, -0.964235226798977220, -0.964221973195094510, -0.964208717180656820, +-0.964195458755697340, -0.964182197920249280, -0.964168934674345720, -0.964155669018019750, -0.964142400951304660, -0.964129130474233540, -0.964115857586839600, -0.964102582289156130, +-0.964089304581216110, -0.964076024463052850, -0.964062741934699430, -0.964049456996189270, -0.964036169647555450, -0.964022879888831170, -0.964009587720049630, -0.963996293141244240, +-0.963982996152448090, -0.963969696753694370, -0.963956394945016500, -0.963943090726447680, -0.963929784098021100, -0.963916475059769960, -0.963903163611727790, -0.963889849753927550, +-0.963876533486402790, -0.963863214809186690, -0.963849893722312560, -0.963836570225813590, -0.963823244319723330, -0.963809916004074840, -0.963796585278901660, -0.963783252144236990, +-0.963769916600114240, -0.963756578646566610, -0.963743238283627510, -0.963729895511330370, -0.963716550329708490, -0.963703202738795280, -0.963689852738623950, -0.963676500329228140, +-0.963663145510640920, -0.963649788282895940, -0.963636428646026500, -0.963623066600065910, -0.963609702145047710, -0.963596335281005300, -0.963582966007972000, -0.963569594325981220, +-0.963556220235066490, -0.963542843735261330, -0.963529464826598850, -0.963516083509112890, -0.963502699782836650, -0.963489313647803660, -0.963475925104047450, -0.963462534151601320, +-0.963449140790498930, -0.963435745020773560, -0.963422346842458980, -0.963408946255588480, -0.963395543260195720, -0.963382137856313880, -0.963368730043976940, -0.963355319823217980, +-0.963341907194070870, -0.963328492156568910, -0.963315074710745730, -0.963301654856634770, -0.963288232594269880, -0.963274807923684250, -0.963261380844911640, -0.963247951357985580, +-0.963234519462939700, -0.963221085159807420, -0.963207648448622500, -0.963194209329418350, -0.963180767802228830, -0.963167323867087250, -0.963153877524027480, -0.963140428773082920, +-0.963126977614287340, -0.963113524047674360, -0.963100068073277530, -0.963086609691130580, -0.963073148901266940, -0.963059685703720580, -0.963046220098525030, -0.963032752085713820, +-0.963019281665320800, -0.963005808837379520, -0.962992333601923710, -0.962978855958987130, -0.962965375908603430, -0.962951893450806230, -0.962938408585629290, -0.962924921313106470, +-0.962911431633271200, -0.962897939546157320, -0.962884445051798710, -0.962870948150228890, -0.962857448841481720, -0.962843947125590960, -0.962830443002590350, -0.962816936472513650, +-0.962803427535394500, -0.962789916191266860, -0.962776402440164490, -0.962762886282121030, -0.962749367717170350, -0.962735846745346290, -0.962722323366682620, -0.962708797581213080, +-0.962695269388971540, -0.962681738789991860, -0.962668205784307900, -0.962654670371953290, -0.962641132552962130, -0.962627592327368050, -0.962614049695205030, -0.962600504656506930, +-0.962586957211307490, -0.962573407359640700, -0.962559855101540410, -0.962546300437040480, -0.962532743366174780, -0.962519183888977280, -0.962505622005481730, -0.962492057715722100, +-0.962478491019732370, -0.962464921917546510, -0.962451350409198270, -0.962437776494721620, -0.962424200174150530, -0.962410621447518990, -0.962397040314860840, -0.962383456776210180, +-0.962369870831600750, -0.962356282481066750, -0.962342691724642040, -0.962329098562360490, -0.962315502994256280, -0.962301905020363280, -0.962288304640715570, -0.962274701855347140, +-0.962261096664291830, -0.962247489067583840, -0.962233879065257150, -0.962220266657345720, -0.962206651843883650, -0.962193034624904910, -0.962179415000443680, -0.962165792970533840, +-0.962152168535209570, -0.962138541694504750, -0.962124912448453770, -0.962111280797090300, -0.962097646740448730, -0.962084010278563050, -0.962070371411467340, -0.962056730139195790, +-0.962043086461782270, -0.962029440379261080, -0.962015791891666310, -0.962002140999032030, -0.961988487701392450, -0.961974831998781640, -0.961961173891233700, -0.961947513378782930, +-0.961933850461463290, -0.961920185139308990, -0.961906517412354330, -0.961892847280633290, -0.961879174744180170, -0.961865499803029160, -0.961851822457214340, -0.961838142706769930, +-0.961824460551730210, -0.961810775992129270, -0.961797089028001540, -0.961783399659380980, -0.961769707886302010, -0.961756013708798600, -0.961742317126905280, -0.961728618140656130, +-0.961714916750085580, -0.961701212955227590, -0.961687506756116580, -0.961673798152786750, -0.961660087145272510, -0.961646373733608060, -0.961632657917827700, -0.961618939697965640, +-0.961605219074056270, -0.961591496046133810, -0.961577770614232550, -0.961564042778386920, -0.961550312538631210, -0.961536579894999740, -0.961522844847526810, -0.961509107396246730, +-0.961495367541193910, -0.961481625282402660, -0.961467880619907290, -0.961454133553742320, -0.961440384083941950, -0.961426632210540700, -0.961412877933572770, -0.961399121253072700, +-0.961385362169074780, -0.961371600681613540, -0.961357836790723290, -0.961344070496438440, -0.961330301798793310, -0.961316530697822520, -0.961302757193560400, -0.961288981286041340, +-0.961275202975299890, -0.961261422261370350, -0.961247639144287350, -0.961233853624085200, -0.961220065700798430, -0.961206275374461460, -0.961192482645108930, -0.961178687512775020, +-0.961164889977494500, -0.961151090039301660, -0.961137287698231260, -0.961123482954317490, -0.961109675807595100, -0.961095866258098400, -0.961082054305862240, -0.961068239950920720, +-0.961054423193308800, -0.961040604033060690, -0.961026782470211120, -0.961012958504794510, -0.960999132136845620, -0.960985303366398870, -0.960971472193488770, -0.960957638618150200, +-0.960943802640417340, -0.960929964260325060, -0.960916123477907780, -0.960902280293200350, -0.960888434706237080, -0.960874586717052840, -0.960860736325682030, -0.960846883532159410, +-0.960833028336519620, -0.960819170738797190, -0.960805310739026860, -0.960791448337243280, -0.960777583533481080, -0.960763716327774910, -0.960749846720159400, -0.960735974710669400, +-0.960722100299339350, -0.960708223486203990, -0.960694344271298300, -0.960680462654656560, -0.960666578636313770, -0.960652692216304450, -0.960638803394663450, -0.960624912171425430, +-0.960611018546625120, -0.960597122520297160, -0.960583224092476540, -0.960569323263197880, -0.960555420032495830, -0.960541514400405250, -0.960527606366960880, -0.960513695932197490, +-0.960499783096149920, -0.960485867858852820, -0.960471950220341150, -0.960458030180649460, -0.960444107739812810, -0.960430182897865860, -0.960416255654843450, -0.960402326010780350, +-0.960388393965711520, -0.960374459519671710, -0.960360522672695670, -0.960346583424818380, -0.960332641776074580, -0.960318697726499250, -0.960304751276127020, -0.960290802424993100, +-0.960276851173132110, -0.960262897520579030, -0.960248941467368610, -0.960234983013535940, -0.960221022159115760, -0.960207058904143040, -0.960193093248652540, -0.960179125192679560, +-0.960165154736258520, -0.960151181879424720, -0.960137206622213020, -0.960123228964658180, -0.960109248906795390, -0.960095266448659390, -0.960081281590285270, -0.960067294331707900, +-0.960053304672962350, -0.960039312614083480, -0.960025318155106390, -0.960011321296065920, -0.959997322036997280, -0.959983320377935210, -0.959969316318914910, -0.959955309859971240, +-0.959941301001139390, -0.959927289742454230, -0.959913276083950830, -0.959899260025664280, -0.959885241567629670, -0.959871220709881840, -0.959857197452455900, -0.959843171795387030, +-0.959829143738710310, -0.959815113282460720, -0.959801080426673230, -0.959787045171383140, -0.959773007516625310, -0.959758967462435160, -0.959744925008847450, -0.959730880155897470, +-0.959716832903620310, -0.959702783252051050, -0.959688731201224780, -0.959674676751176790, -0.959660619901941960, -0.959646560653555800, -0.959632499006052960, -0.959618434959469080, +-0.959604368513839010, -0.959590299669198070, -0.959576228425581430, -0.959562154783024090, -0.959548078741561560, -0.959534000301228600, -0.959519919462060830, -0.959505836224093130, +-0.959491750587360910, -0.959477662551899260, -0.959463572117743580, -0.959449479284928850, -0.959435384053490490, -0.959421286423463580, -0.959407186394883540, -0.959393083967785440, +-0.959378979142204710, -0.959364871918176540, -0.959350762295736240, -0.959336650274918880, -0.959322535855759990, -0.959308419038294780, -0.959294299822558430, -0.959280178208586460, +-0.959266054196413860, -0.959251927786076260, -0.959237798977608860, -0.959223667771046950, -0.959209534166425850, -0.959195398163780850, -0.959181259763147390, -0.959167118964560860, +-0.959152975768056470, -0.959138830173669740, -0.959124682181435760, -0.959110531791390160, -0.959096379003568260, -0.959082223818005450, -0.959068066234736950, -0.959053906253798380, +-0.959039743875224950, -0.959025579099052280, -0.959011411925315580, -0.958997242354050370, -0.958983070385292070, -0.958968896019076090, -0.958954719255437850, -0.958940540094412870, +-0.958926358536036470, -0.958912174580344170, -0.958897988227371600, -0.958883799477153850, -0.958869608329726670, -0.958855414785125480, -0.958841218843385800, -0.958827020504543050, +-0.958812819768632750, -0.958798616635690330, -0.958784411105751410, -0.958770203178851420, -0.958755992855026110, -0.958741780134310550, -0.958727565016740720, -0.958713347502351930, +-0.958699127591179700, -0.958684905283259780, -0.958670680578627590, -0.958656453477318650, -0.958642223979368490, -0.958627992084812970, -0.958613757793687290, -0.958599521106027310, +-0.958585282021868430, -0.958571040541246530, -0.958556796664196800, -0.958542550390755310, -0.958528301720957270, -0.958514050654838520, -0.958499797192434720, -0.958485541333781390, +-0.958471283078914160, -0.958457022427868790, -0.958442759380680690, -0.958428493937385830, -0.958414226098019740, -0.958399955862618060, -0.958385683231216530, -0.958371408203850810, +-0.958357130780556510, -0.958342850961369400, -0.958328568746325220, -0.958314284135459490, -0.958299997128808200, -0.958285707726406750, -0.958271415928291130, -0.958257121734496950, +-0.958242825145059980, -0.958228526160015970, -0.958214224779400660, -0.958199921003249690, -0.958185614831599030, -0.958171306264484210, -0.958156995301941210, -0.958142681944005760, +-0.958128366190713510, -0.958114048042100430, -0.958099727498202160, -0.958085404559054670, -0.958071079224693480, -0.958056751495154790, -0.958042421370474130, -0.958028088850687460, +-0.958013753935830550, -0.957999416625939240, -0.957985076921049390, -0.957970734821196880, -0.957956390326417440, -0.957942043436747160, -0.957927694152221680, -0.957913342472876960, +-0.957898988398748870, -0.957884631929873390, -0.957870273066286250, -0.957855911808023430, -0.957841548155121010, -0.957827182107614530, -0.957812813665540160, -0.957798442828933670, +-0.957784069597831240, -0.957769693972268520, -0.957755315952281580, -0.957740935537906290, -0.957726552729178840, -0.957712167526134860, -0.957697779928810560, -0.957683389937241670, +-0.957668997551464400, -0.957654602771514600, -0.957640205597428350, -0.957625806029241520, -0.957611404066990300, -0.957596999710710440, -0.957582592960438130, -0.957568183816209340, +-0.957553772278060040, -0.957539358346026330, -0.957524942020144270, -0.957510523300449830, -0.957496102186979000, -0.957481678679768080, -0.957467252778852810, -0.957452824484269490, +-0.957438393796054110, -0.957423960714242740, -0.957409525238871460, -0.957395087369976470, -0.957380647107593630, -0.957366204451759240, -0.957351759402509270, -0.957337311959879920, +-0.957322862123907270, -0.957308409894627510, -0.957293955272076720, -0.957279498256290990, -0.957265038847306630, -0.957250577045159590, -0.957236112849886190, -0.957221646261522400, +-0.957207177280104520, -0.957192705905668740, -0.957178232138251150, -0.957163755977888050, -0.957149277424615530, -0.957134796478469770, -0.957120313139487090, -0.957105827407703560, +-0.957091339283155480, -0.957076848765879060, -0.957062355855910600, -0.957047860553286060, -0.957033362858042080, -0.957018862770214530, -0.957004360289839930, -0.956989855416954360, +-0.956975348151594130, -0.956960838493795650, -0.956946326443594900, -0.956931812001028500, -0.956917295166132440, -0.956902775938943240, -0.956888254319497090, -0.956873730307830290, +-0.956859203903979160, -0.956844675107980100, -0.956830143919869200, -0.956815610339683100, -0.956801074367457760, -0.956786536003229940, -0.956771995247035710, -0.956757452098911500, +-0.956742906558893600, -0.956728358627018550, -0.956713808303322530, -0.956699255587841970, -0.956684700480613270, -0.956670142981672860, -0.956655583091057030, -0.956641020808802310, +-0.956626456134945010, -0.956611889069521550, -0.956597319612568440, -0.956582747764122000, -0.956568173524218750, -0.956553596892894880, -0.956539017870187250, -0.956524436456131940, +-0.956509852650765600, -0.956495266454124530, -0.956480677866245350, -0.956466086887164500, -0.956451493516918380, -0.956436897755543520, -0.956422299603076560, -0.956407699059553700, +-0.956393096125011550, -0.956378490799486890, -0.956363883083015790, -0.956349272975635100, -0.956334660477381140, -0.956320045588290650, -0.956305428308399930, -0.956290808637745740, +-0.956276186576364370, -0.956261562124292700, -0.956246935281567010, -0.956232306048224070, -0.956217674424300280, -0.956203040409832390, -0.956188404004856830, -0.956173765209410330, +-0.956159124023529320, -0.956144480447250640, -0.956129834480610620, -0.956115186123646100, -0.956100535376393610, -0.956085882238889680, -0.956071226711171170, -0.956056568793274500, +-0.956041908485236510, -0.956027245787093640, -0.956012580698882840, -0.955997913220640430, -0.955983243352403260, -0.955968571094207960, -0.955953896446091300, -0.955939219408089790, +-0.955924539980240410, -0.955909858162579450, -0.955895173955144010, -0.955880487357970600, -0.955865798371095980, -0.955851106994556890, -0.955836413228389970, -0.955821717072631970, +-0.955807018527319750, -0.955792317592490060, -0.955777614268179420, -0.955762908554424920, -0.955748200451262960, -0.955733489958730640, -0.955718777076864590, -0.955704061805701550, +-0.955689344145278400, -0.955674624095631860, -0.955659901656798700, -0.955645176828815890, -0.955630449611720060, -0.955615720005548170, -0.955600988010336880, -0.955586253626123260, +-0.955571516852943840, -0.955556777690835800, -0.955542036139835680, -0.955527292199980560, -0.955512545871307180, -0.955497797153852410, -0.955483046047653220, -0.955468292552746350, +-0.955453536669168770, -0.955438778396957340, -0.955424017736148930, -0.955409254686780510, -0.955394489248889030, -0.955379721422511260, -0.955364951207684170, -0.955350178604444710, +-0.955335403612829760, -0.955320626232876390, -0.955305846464621470, -0.955291064308101840, -0.955276279763354610, -0.955261492830416610, -0.955246703509324950, -0.955231911800116460, +-0.955217117702828240, -0.955202321217497260, -0.955187522344160490, -0.955172721082854890, -0.955157917433617440, -0.955143111396485220, -0.955128302971495200, -0.955113492158684460, +-0.955098678958089970, -0.955083863369748820, -0.955069045393697970, -0.955054225029974500, -0.955039402278615500, -0.955024577139658050, -0.955009749613139000, -0.954994919699095780, +-0.954980087397565120, -0.954965252708584230, -0.954950415632190300, -0.954935576168420290, -0.954920734317311280, -0.954905890078900480, -0.954891043453224950, -0.954876194440321790, +-0.954861343040228290, -0.954846489252981320, -0.954831633078618070, -0.954816774517175840, -0.954801913568691600, -0.954787050233202650, -0.954772184510746080, -0.954757316401358970, +-0.954742445905078620, -0.954727573021942110, -0.954712697751986750, -0.954697820095249510, -0.954682940051767790, -0.954668057621578800, -0.954653172804719620, -0.954638285601227430, +-0.954623396011139550, -0.954608504034493270, -0.954593609671325670, -0.954578712921674070, -0.954563813785575640, -0.954548912263067710, -0.954534008354187450, -0.954519102058972280, +-0.954504193377459290, -0.954489282309685770, -0.954474368855689040, -0.954459453015506500, -0.954444534789175240, -0.954429614176732780, -0.954414691178216090, -0.954399765793662810, +-0.954384838023110030, -0.954369907866595260, -0.954354975324155590, -0.954340040395828540, -0.954325103081651420, -0.954310163381661410, -0.954295221295896170, -0.954280276824392760, +-0.954265329967188710, -0.954250380724321330, -0.954235429095828040, -0.954220475081746120, -0.954205518682113010, -0.954190559896966110, -0.954175598726342940, -0.954160635170280600, +-0.954145669228816720, -0.954130700901988700, -0.954115730189833870, -0.954100757092389730, -0.954085781609693820, -0.954070803741783320, -0.954055823488695890, -0.954040840850468810, +-0.954025855827139610, -0.954010868418745830, -0.953995878625324870, -0.953980886446914260, -0.953965891883551410, -0.953950894935273850, -0.953935895602119000, -0.953920893884124490, +-0.953905889781327620, -0.953890883293766150, -0.953875874421477370, -0.953860863164499030, -0.953845849522868440, -0.953830833496623230, -0.953815815085800930, -0.953800794290439180, +-0.953785771110575390, -0.953770745546247190, -0.953755717597492000, -0.953740687264347690, -0.953725654546851540, -0.953710619445041320, -0.953695581958954540, -0.953680542088628850, +-0.953665499834101760, -0.953650455195410810, -0.953635408172593960, -0.953620358765688400, -0.953605306974732000, -0.953590252799762280, -0.953575196240817100, -0.953560137297933760, +-0.953545075971150120, -0.953530012260503820, -0.953514946166032500, -0.953499877687773780, -0.953484806825765420, -0.953469733580044940, -0.953454657950650210, -0.953439579937618740, +-0.953424499540988510, -0.953409416760796820, -0.953394331597081650, -0.953379244049880730, -0.953364154119231590, -0.953349061805172200, -0.953333967107740100, -0.953318870026973020, +-0.953303770562908830, -0.953288668715585260, -0.953273564485039860, -0.953258457871310690, -0.953243348874435290, -0.953228237494451620, -0.953213123731397220, -0.953198007585310150, +-0.953182889056227940, -0.953167768144188690, -0.953152644849229790, -0.953137519171389450, -0.953122391110705180, -0.953107260667214960, -0.953092127840956760, -0.953076992631967990, +-0.953061855040286950, -0.953046715065951180, -0.953031572708998630, -0.953016427969467060, -0.953001280847394550, -0.952986131342818730, -0.952970979455777690, -0.952955825186309170, +-0.952940668534451140, -0.952925509500241350, -0.952910348083717770, -0.952895184284918370, -0.952880018103881010, -0.952864849540643540, -0.952849678595244050, -0.952834505267720290, +-0.952819329558110330, -0.952804151466452030, -0.952788970992783260, -0.952773788137142200, -0.952758602899566490, -0.952743415280094430, -0.952728225278763770, -0.952713032895612600, +-0.952697838130678760, -0.952682640984000460, -0.952667441455615440, -0.952652239545561890, -0.952637035253877660, -0.952621828580600960, -0.952606619525769640, -0.952591408089421780, +-0.952576194271595340, -0.952560978072328420, -0.952545759491659090, -0.952530538529625330, -0.952515315186265200, -0.952500089461616790, -0.952484861355718300, -0.952469630868607480, +-0.952454398000322720, -0.952439162750901900, -0.952423925120383210, -0.952408685108804610, -0.952393442716204410, -0.952378197942620460, -0.952362950788091190, -0.952347701252654440, +-0.952332449336348530, -0.952317195039211310, -0.952301938361281300, -0.952286679302596360, -0.952271417863194690, -0.952256154043114480, -0.952240887842394020, -0.952225619261071190, +-0.952210348299184380, -0.952195074956771690, -0.952179799233871300, -0.952164521130521410, -0.952149240646760210, -0.952133957782625990, -0.952118672538156740, -0.952103384913390860, +-0.952088094908366540, -0.952072802523121990, -0.952057507757695380, -0.952042210612125130, -0.952026911086449210, -0.952011609180706150, -0.951996304894933920, -0.951980998229171040, +-0.951965689183455590, -0.951950377757825980, -0.951935063952320410, -0.951919747766977190, -0.951904429201834600, -0.951889108256930850, -0.951873784932304460, -0.951858459227993500, +-0.951843131144036400, -0.951827800680471460, -0.951812467837337190, -0.951797132614671580, -0.951781795012513250, -0.951766455030900290, -0.951751112669871340, -0.951735767929464460, +-0.951720420809718300, -0.951705071310671060, -0.951689719432361140, -0.951674365174826840, -0.951659008538106700, -0.951643649522239010, -0.951628288127262190, -0.951612924353214650, +-0.951597558200134920, -0.951582189668061070, -0.951566818757031860, -0.951551445467085700, -0.951536069798260780, -0.951520691750595840, -0.951505311324128970, -0.951489928518899020, +-0.951474543334944080, -0.951459155772302890, -0.951443765831013750, -0.951428373511115310, -0.951412978812645750, -0.951397581735643930, -0.951382182280148040, -0.951366780446196820, +-0.951351376233828480, -0.951335969643081870, -0.951320560673995170, -0.951305149326607150, -0.951289735600956200, -0.951274319497081080, -0.951258901015019980, -0.951243480154811640, +-0.951228056916494700, -0.951212631300107580, -0.951197203305688910, -0.951181772933277100, -0.951166340182911020, -0.951150905054628960, -0.951135467548469780, -0.951120027664471790, +-0.951104585402673840, -0.951089140763114350, -0.951073693745832060, -0.951058244350865500, -0.951042792578253420, -0.951027338428034220, -0.951011881900246770, -0.950996422994929590, +-0.950980961712121320, -0.950965498051860700, -0.950950032014186260, -0.950934563599136860, -0.950919092806750910, -0.950903619637067380, -0.950888144090124680, -0.950872666165961670, +-0.950857185864616980, -0.950841703186129370, -0.950826218130537360, -0.950810730697880020, -0.950795240888195670, -0.950779748701523380, -0.950764254137901550, -0.950748757197369180, +-0.950733257879964880, -0.950717756185727510, -0.950702252114695720, -0.950686745666908250, -0.950671236842403950, -0.950655725641221580, -0.950640212063399880, -0.950624696108977600, +-0.950609177777993590, -0.950593657070486710, -0.950578133986495600, -0.950562608526059230, -0.950547080689216340, -0.950531550476005680, -0.950516017886466220, -0.950500482920636600, +-0.950484945578555900, -0.950469405860262740, -0.950453863765796210, -0.950438319295194840, -0.950422772448497820, -0.950407223225743780, -0.950391671626971690, -0.950376117652220410, +-0.950360561301528910, -0.950345002574935930, -0.950329441472480440, -0.950313877994201420, -0.950298312140137710, -0.950282743910328190, -0.950267173304811810, -0.950251600323627540, +-0.950236024966814140, -0.950220447234410790, -0.950204867126456240, -0.950189284642989570, -0.950173699784049750, -0.950158112549675640, -0.950142522939906200, -0.950126930954780510, +-0.950111336594337440, -0.950095739858616060, -0.950080140747655340, -0.950064539261494260, -0.950048935400171770, -0.950033329163727070, -0.950017720552198910, -0.950002109565626470, +-0.949986496204048850, -0.949970880467505000, -0.949955262356033890, -0.949939641869674610, -0.949924019008466240, -0.949908393772447850, -0.949892766161658410, -0.949877136176137120, +-0.949861503815922940, -0.949845869081055060, -0.949830231971572460, -0.949814592487514320, -0.949798950628919720, -0.949783306395827640, -0.949767659788277370, -0.949752010806307890, +-0.949736359449958490, -0.949720705719268140, -0.949705049614275930, -0.949689391135021270, -0.949673730281543000, -0.949658067053880450, -0.949642401452072680, -0.949626733476159000, +-0.949611063126178490, -0.949595390402170230, -0.949579715304173510, -0.949564037832227650, -0.949548357986371490, -0.949532675766644570, -0.949516991173085860, -0.949501304205734860, +-0.949485614864630350, -0.949469923149812050, -0.949454229061318710, -0.949438532599189980, -0.949422833763464810, -0.949407132554182630, -0.949391428971382510, -0.949375723015103870, +-0.949360014685386000, -0.949344303982267990, -0.949328590905789360, -0.949312875455989080, -0.949297157632906670, -0.949281437436581440, -0.949265714867052580, -0.949249989924359380, +-0.949234262608541270, -0.949218532919637430, -0.949202800857687380, -0.949187066422730210, -0.949171329614805440, -0.949155590433952260, -0.949139848880210190, -0.949124104953618430, +-0.949108358654216500, -0.949092609982043590, -0.949076858937139220, -0.949061105519542700, -0.949045349729293330, -0.949029591566430740, -0.949013831030994020, -0.948998068123022790, +-0.948982302842556360, -0.948966535189634250, -0.948950765164295770, -0.948934992766580330, -0.948919217996527450, -0.948903440854176550, -0.948887661339566920, -0.948871879452738320, +-0.948856095193729930, -0.948840308562581280, -0.948824519559331890, -0.948808728184021180, -0.948792934436688660, -0.948777138317373870, -0.948761339826116100, -0.948745538962954990, +-0.948729735727930180, -0.948713930121080850, -0.948698122142446860, -0.948682311792067520, -0.948666499069982350, -0.948650683976230980, -0.948634866510852940, -0.948619046673887630, +-0.948603224465374820, -0.948587399885353790, -0.948571572933864400, -0.948555743610945970, -0.948539911916638330, -0.948524077850980700, -0.948508241414013130, -0.948492402605774720, +-0.948476561426305430, -0.948460717875644680, -0.948444871953832200, -0.948429023660907530, -0.948413172996910190, -0.948397319961880040, -0.948381464555856590, -0.948365606778879490, +-0.948349746630988260, -0.948333884112222750, -0.948318019222622490, -0.948302151962227340, -0.948286282331076590, -0.948270410329210220, -0.948254535956667870, -0.948238659213489150, +-0.948222780099713720, -0.948206898615381430, -0.948191014760531800, -0.948175128535204800, -0.948159239939439850, -0.948143348973276790, -0.948127455636755380, -0.948111559929915360, +-0.948095661852796370, -0.948079761405438260, -0.948063858587880780, -0.948047953400163680, -0.948032045842326700, -0.948016135914409470, -0.948000223616452090, -0.947984308948493950, +-0.947968391910575250, -0.947952472502735400, -0.947936550725014480, -0.947920626577452020, -0.947904700060088200, -0.947888771172962440, -0.947872839916114930, -0.947856906289585190, +-0.947840970293413300, -0.947825031927638890, -0.947809091192301940, -0.947793148087442190, -0.947777202613099610, -0.947761254769314170, -0.947745304556125380, -0.947729351973573440, +-0.947713397021698100, -0.947697439700539320, -0.947681480010136860, -0.947665517950530780, -0.947649553521760830, -0.947633586723866990, -0.947617617556889220, -0.947601646020867490, +-0.947585672115841550, -0.947569695841851470, -0.947553717198937000, -0.947537736187138440, -0.947521752806495420, -0.947505767057048140, -0.947489778938836240, -0.947473788451900110, +-0.947457795596279410, -0.947441800372014090, -0.947425802779144450, -0.947409802817710260, -0.947393800487751570, -0.947377795789308360, -0.947361788722420720, -0.947345779287128490, +-0.947329767483471970, -0.947313753311490920, -0.947297736771225530, -0.947281717862715760, -0.947265696586001680, -0.947249672941123390, -0.947233646928120950, -0.947217618547034350, +-0.947201587797903750, -0.947185554680769150, -0.947169519195670720, -0.947153481342648320, -0.947137441121742360, -0.947121398532992820, -0.947105353576439660, -0.947089306252123290, +-0.947073256560083450, -0.947057204500360680, -0.947041150072994720, -0.947025093278025980, -0.947009034115494530, -0.946992972585440460, -0.946976908687903850, -0.946960842422925110, +-0.946944773790544200, -0.946928702790801440, -0.946912629423736880, -0.946896553689390740, -0.946880475587803190, -0.946864395119014430, -0.946848312283064760, -0.946832227079994260, +-0.946816139509843220, -0.946800049572651740, -0.946783957268460320, -0.946767862597308830, -0.946751765559237790, -0.946735666154287280, -0.946719564382497600, -0.946703460243909060, +-0.946687353738561830, -0.946671244866496230, -0.946655133627752550, -0.946639020022370990, -0.946622904050391960, -0.946606785711855530, -0.946590665006802220, -0.946574541935272240, +-0.946558416497305990, -0.946542288692943550, -0.946526158522225550, -0.946510025985191960, -0.946493891081883420, -0.946477753812340120, -0.946461614176602460, -0.946445472174710760, +-0.946429327806705410, -0.946413181072626730, -0.946397031972515010, -0.946380880506410780, -0.946364726674354340, -0.946348570476386100, -0.946332411912546470, -0.946316250982875750, +-0.946300087687414360, -0.946283922026202930, -0.946267753999281540, -0.946251583606690820, -0.946235410848471070, -0.946219235724662930, -0.946203058235306590, -0.946186878380442580, +-0.946170696160111400, -0.946154511574353490, -0.946138324623209350, -0.946122135306719400, -0.946105943624924060, -0.946089749577863850, -0.946073553165579400, -0.946057354388110890, +-0.946041153245499090, -0.946024949737784390, -0.946008743865007330, -0.945992535627208310, -0.945976325024428080, -0.945960112056706940, -0.945943896724085630, -0.945927679026604570, +-0.945911458964304290, -0.945895236537225290, -0.945879011745408230, -0.945862784588893610, -0.945846555067722080, -0.945830323181934160, -0.945814088931570480, -0.945797852316671570, +-0.945781613337277950, -0.945765371993430360, -0.945749128285169330, -0.945732882212535490, -0.945716633775569360, -0.945700382974311690, -0.945684129808803120, -0.945667874279084160, +-0.945651616385195570, -0.945635356127177970, -0.945619093505071890, -0.945602828518918080, -0.945586561168757280, -0.945570291454630010, -0.945554019376577020, -0.945537744934639050, +-0.945521468128856620, -0.945505188959270490, -0.945488907425921510, -0.945472623528850200, -0.945456337268097300, -0.945440048643703570, -0.945423757655709850, -0.945407464304156560, +-0.945391168589084670, -0.945374870510534930, -0.945358570068547950, -0.945342267263164500, -0.945325962094425540, -0.945309654562371480, -0.945293344667043400, -0.945277032408481930, +-0.945260717786727930, -0.945244400801822040, -0.945228081453805210, -0.945211759742718090, -0.945195435668601760, -0.945179109231496620, -0.945162780431443860, -0.945146449268484120, +-0.945130115742658150, -0.945113779854007020, -0.945097441602571360, -0.945081100988392260, -0.945064758011510240, -0.945048412671966380, -0.945032064969801410, -0.945015714905056430, +-0.944999362477772050, -0.944983007687989370, -0.944966650535749020, -0.944950291021092180, -0.944933929144059490, -0.944917564904692140, -0.944901198303030650, -0.944884829339116330, +-0.944868458012989910, -0.944852084324692250, -0.944835708274264550, -0.944819329861747440, -0.944802949087182100, -0.944786565950609390, -0.944770180452070170, -0.944753792591605520, +-0.944737402369256520, -0.944721009785063900, -0.944704614839068760, -0.944688217531312050, -0.944671817861834960, -0.944655415830678140, -0.944639011437882870, -0.944622604683490020, +-0.944606195567540770, -0.944589784090075880, -0.944573370251136630, -0.944556954050763900, -0.944540535488998860, -0.944524114565882480, -0.944507691281455730, -0.944491265635759800, +-0.944474837628835660, -0.944458407260724500, -0.944441974531467280, -0.944425539441105190, -0.944409101989679090, -0.944392662177230390, -0.944376220003799950, -0.944359775469429060, +-0.944343328574158590, -0.944326879318029940, -0.944310427701083980, -0.944293973723361990, -0.944277517384905060, -0.944261058685754380, -0.944244597625951030, -0.944228134205536200, +-0.944211668424551060, -0.944195200283036610, -0.944178729781034340, -0.944162256918585130, -0.944145781695730270, -0.944129304112511060, -0.944112824168968470, -0.944096341865143910, +-0.944079857201078450, -0.944063370176813410, -0.944046880792389850, -0.944030389047849080, -0.944013894943232510, -0.943997398478581000, -0.943980899653936170, -0.943964398469338880, +-0.943947894924830780, -0.943931389020452930, -0.943914880756246520, -0.943898370132252970, -0.943881857148513470, -0.943865341805069310, -0.943848824101961800, -0.943832304039232240, +-0.943815781616921920, -0.943799256835072150, -0.943782729693724230, -0.943766200192919570, -0.943749668332699240, -0.943733134113104890, -0.943716597534177580, -0.943700058595958960, +-0.943683517298489980, -0.943666973641812400, -0.943650427625967180, -0.943633879250996070, -0.943617328516940250, -0.943600775423841020, -0.943584219971739910, -0.943567662160678220, +-0.943551101990697360, -0.943534539461838740, -0.943517974574143880, -0.943501407327653970, -0.943484837722410540, -0.943468265758455100, -0.943451691435828970, -0.943435114754573530, +-0.943418535714730440, -0.943401954316340880, -0.943385370559446490, -0.943368784444088670, -0.943352195970308950, -0.943335605138148630, -0.943319011947649440, -0.943302416398852590, +-0.943285818491799710, -0.943269218226532310, -0.943252615603091930, -0.943236010621519960, -0.943219403281857940, -0.943202793584147380, -0.943186181528429920, -0.943169567114746980, +-0.943152950343140060, -0.943136331213650920, -0.943119709726320750, -0.943103085881191520, -0.943086459678304400, -0.943069831117701260, -0.943053200199423400, -0.943036566923512680, +-0.943019931290010490, -0.943003293298958490, -0.942986652950398190, -0.942970010244371330, -0.942953365180919430, -0.942936717760084140, -0.942920067981906970, -0.942903415846429670, +-0.942886761353693870, -0.942870104503741090, -0.942853445296613080, -0.942836783732351470, -0.942820119810997890, -0.942803453532593980, -0.942786784897181600, -0.942770113904802140, +-0.942753440555497370, -0.942736764849309020, -0.942720086786278830, -0.942703406366448230, -0.942686723589859280, -0.942670038456553510, -0.942653350966572660, -0.942636661119958360, +-0.942619968916752480, -0.942603274356996530, -0.942586577440732600, -0.942569878168002080, -0.942553176538846960, -0.942536472553308860, -0.942519766211429520, -0.942503057513250810, +-0.942486346458814460, -0.942469633048162340, -0.942452917281335960, -0.942436199158377400, -0.942419478679328290, -0.942402755844230500, -0.942386030653125870, -0.942369303106056160, +-0.942352573203063090, -0.942335840944188650, -0.942319106329474690, -0.942302369358962830, -0.942285630032695170, -0.942268888350713320, -0.942252144313059260, -0.942235397919774950, +-0.942218649170902030, -0.942201898066482580, -0.942185144606558330, -0.942168388791171150, -0.942151630620363110, -0.942134870094175960, -0.942118107212651660, -0.942101341975832060, +-0.942084574383759140, -0.942067804436474750, -0.942051032134020860, -0.942034257476439320, -0.942017480463772320, -0.942000701096061380, -0.941983919373348910, -0.941967135295676440, +-0.941950348863086370, -0.941933560075620240, -0.941916768933320330, -0.941899975436228390, -0.941883179584386500, -0.941866381377836740, -0.941849580816620960, -0.941832777900781350, +-0.941815972630359650, -0.941799165005398060, -0.941782355025938540, -0.941765542692023280, -0.941748728003694020, -0.941731910960993070, -0.941715091563962160, -0.941698269812643710, +-0.941681445707079460, -0.941664619247311600, -0.941647790433382200, -0.941630959265333360, -0.941614125743207130, -0.941597289867045610, -0.941580451636890750, -0.941563611052784850, +-0.941546768114769890, -0.941529922822888050, -0.941513075177181300, -0.941496225177691940, -0.941479372824462040, -0.941462518117533680, -0.941445661056949050, -0.941428801642750220, +-0.941411939874979400, -0.941395075753678760, -0.941378209278890490, -0.941361340450656560, -0.941344469269019380, -0.941327595734020920, -0.941310719845703580, -0.941293841604109450, +-0.941276961009280710, -0.941260078061259440, -0.941243192760088050, -0.941226305105808740, -0.941209415098463680, -0.941192522738094950, -0.941175628024744970, -0.941158730958455920, +-0.941141831539270000, -0.941124929767229610, -0.941108025642376830, -0.941091119164754080, -0.941074210334403420, -0.941057299151367270, -0.941040385615687810, -0.941023469727407580, +-0.941006551486568420, -0.940989630893213080, -0.940972707947383520, -0.940955782649122390, -0.940938854998471630, -0.940921924995473780, -0.940904992640171020, -0.940888057932605990, +-0.940871120872820650, -0.940854181460857640, -0.940837239696759030, -0.940820295580567350, -0.940803349112324990, -0.940786400292074170, -0.940769449119857490, -0.940752495595717050, +-0.940735539719695480, -0.940718581491834960, -0.940701620912178130, -0.940684657980767060, -0.940667692697644500, -0.940650725062852630, -0.940633755076434100, -0.940616782738430970, +-0.940599808048885990, -0.940582831007841460, -0.940565851615339900, -0.940548869871423610, -0.940531885776135220, -0.940514899329517150, -0.940497910531611800, -0.940480919382461590, +-0.940463925882109140, -0.940446930030596980, -0.940429931827967300, -0.940412931274262950, -0.940395928369526240, -0.940378923113799670, -0.940361915507125780, -0.940344905549547190, +-0.940327893241106220, -0.940310878581845590, -0.940293861571807720, -0.940276842211035360, -0.940259820499570690, -0.940242796437456560, -0.940225770024735400, -0.940208741261449820, +-0.940191710147642470, -0.940174676683355750, -0.940157640868632290, -0.940140602703514850, -0.940123562188045820, -0.940106519322267960, -0.940089474106223790, -0.940072426539955820, +-0.940055376623507020, -0.940038324356919590, -0.940021269740236360, -0.940004212773499990, -0.939987153456753100, -0.939970091790038320, -0.939953027773398290, -0.939935961406875740, +-0.939918892690513320, -0.939901821624353540, -0.939884748208439260, -0.939867672442813110, -0.939850594327517830, -0.939833513862595950, -0.939816431048090430, -0.939799345884043790, +-0.939782258370498670, -0.939765168507498030, -0.939748076295084390, -0.939730981733300720, -0.939713884822189430, -0.939696785561793480, -0.939679683952155510, -0.939662579993318480, +-0.939645473685324810, -0.939628365028217560, -0.939611254022039380, -0.939594140666833110, -0.939577024962641390, -0.939559906909507300, -0.939542786507473250, -0.939525663756582310, +-0.939508538656877220, -0.939491411208400740, -0.939474281411195710, -0.939457149265304990, -0.939440014770771550, -0.939422877927637900, -0.939405738735947130, -0.939388597195741970, +-0.939371453307065400, -0.939354307069960040, -0.939337158484469080, -0.939320007550635160, -0.939302854268501240, -0.939285698638110070, -0.939268540659504820, -0.939251380332728150, +-0.939234217657823000, -0.939217052634832350, -0.939199885263799050, -0.939182715544765960, -0.939165543477776250, -0.939148369062872580, -0.939131192300098010, -0.939114013189495390, +-0.939096831731107810, -0.939079647924978110, -0.939062461771149270, -0.939045273269664360, -0.939028082420566230, -0.939010889223897970, -0.938993693679702310, -0.938976495788022560, +-0.938959295548901560, -0.938942092962382290, -0.938924888028507710, -0.938907680747321120, -0.938890471118865140, -0.938873259143183090, -0.938856044820317810, -0.938838828150312500, +-0.938821609133210000, -0.938804387769053620, -0.938787164057886090, -0.938769937999750840, -0.938752709594690590, -0.938735478842748660, -0.938718245743968010, -0.938701010298391810, +-0.938683772506063050, -0.938666532367024800, -0.938649289881320240, -0.938632045048992450, -0.938614797870084620, -0.938597548344639710, -0.938580296472701030, -0.938563042254311530, +-0.938545785689514410, -0.938528526778352860, -0.938511265520870050, -0.938494001917108970, -0.938476735967112900, -0.938459467670925030, -0.938442197028588550, -0.938424924040146440, +-0.938407648705642080, -0.938390371025118690, -0.938373090998619210, -0.938355808626187170, -0.938338523907865430, -0.938321236843697500, -0.938303947433726470, -0.938286655677995630, +-0.938269361576547940, -0.938252065129427050, -0.938234766336675910, -0.938217465198337930, -0.938200161714456190, -0.938182855885074110, -0.938165547710234860, -0.938148237189981750, +-0.938130924324358070, -0.938113609113407130, -0.938096291557172000, -0.938078971655696310, -0.938061649409023040, -0.938044324817195680, -0.938026997880257670, -0.938009668598251970, +-0.937992336971222200, -0.937975002999211550, -0.937957666682263440, -0.937940328020421150, -0.937922987013728000, -0.937905643662227400, -0.937888297965962740, -0.937870949924977330, +-0.937853599539314460, -0.937836246809017670, -0.937818891734130240, -0.937801534314695480, -0.937784174550757130, -0.937766812442358160, -0.937749447989542180, -0.937732081192352520, +-0.937714712050832790, -0.937697340565026180, -0.937679966734976220, -0.937662590560726540, -0.937645212042320100, -0.937627831179800860, -0.937610447973211910, -0.937593062422596880, +-0.937575674527999170, -0.937558284289462310, -0.937540891707029700, -0.937523496780744870, -0.937506099510651340, -0.937488699896792620, -0.937471297939212020, -0.937453893637953170, +-0.937436486993059590, -0.937419078004574910, -0.937401666672542430, -0.937384252997005900, -0.937366836978008600, -0.937349418615594290, -0.937331997909806370, -0.937314574860688480, +-0.937297149468284240, -0.937279721732636960, -0.937262291653790490, -0.937244859231788240, -0.937227424466673950, -0.937209987358491040, -0.937192547907283120, -0.937175106113093850, +-0.937157661975966840, -0.937140215495945620, -0.937122766673073930, -0.937105315507395290, -0.937087861998953440, -0.937070406147791800, -0.937052947953954220, -0.937035487417484210, +-0.937018024538425530, -0.937000559316821800, -0.936983091752716660, -0.936965621846153840, -0.936948149597176870, -0.936930675005829610, -0.936913198072155560, -0.936895718796198600, +-0.936878237178002340, -0.936860753217610530, -0.936843266915066700, -0.936825778270414800, -0.936808287283698470, -0.936790793954961340, -0.936773298284247270, -0.936755800271599990, +-0.936738299917063140, -0.936720797220680690, -0.936703292182496040, -0.936685784802553380, -0.936668275080896010, -0.936650763017568110, -0.936633248612613320, -0.936615731866075270, +-0.936598212777998040, -0.936580691348425140, -0.936563167577400660, -0.936545641464968210, -0.936528113011171670, -0.936510582216054770, -0.936493049079661470, -0.936475513602035510, +-0.936457975783220880, -0.936440435623261180, -0.936422893122200510, -0.936405348280082480, -0.936387801096951190, -0.936370251572850250, -0.936352699707823870, -0.936335145501915660, +-0.936317588955169590, -0.936300030067629520, -0.936282468839339300, -0.936264905270343010, -0.936247339360684490, -0.936229771110407620, -0.936212200519556230, -0.936194627588174400, +-0.936177052316305990, -0.936159474703994960, -0.936141894751285180, -0.936124312458220810, -0.936106727824845500, -0.936089140851203430, -0.936071551537338560, -0.936053959883294760, +-0.936036365889115980, -0.936018769554846420, -0.936001170880529920, -0.935983569866210450, -0.935965966511932090, -0.935948360817738690, -0.935930752783674550, -0.935913142409783520, +-0.935895529696109560, -0.935877914642696760, -0.935860297249589300, -0.935842677516830920, -0.935825055444466040, -0.935807431032538380, -0.935789804281092150, -0.935772175190171420, +-0.935754543759820370, -0.935736909990082850, -0.935719273881003070, -0.935701635432625080, -0.935683994644993080, -0.935666351518151030, -0.935648706052143120, -0.935631058247013430, +-0.935613408102806130, -0.935595755619565210, -0.935578100797334940, -0.935560443636159530, -0.935542784136082940, -0.935525122297149460, -0.935507458119403060, -0.935489791602888030, +-0.935472122747648570, -0.935454451553728750, -0.935436778021172870, -0.935419102150024990, -0.935401423940329320, -0.935383743392130260, -0.935366060505471660, -0.935348375280398050, +-0.935330687716953380, -0.935312997815182070, -0.935295305575128190, -0.935277610996836150, -0.935259914080350030, -0.935242214825714010, -0.935224513232972620, -0.935206809302169930, +-0.935189103033350120, -0.935171394426557610, -0.935153683481836700, -0.935135970199231450, -0.935118254578786390, -0.935100536620545600, -0.935082816324553480, -0.935065093690854330, +-0.935047368719492460, -0.935029641410512150, -0.935011911763957810, -0.934994179779873540, -0.934976445458303940, -0.934958708799293210, -0.934940969802885770, -0.934923228469125790, +-0.934905484798057800, -0.934887738789726090, -0.934869990444174960, -0.934852239761448930, -0.934834486741592310, -0.934816731384649380, -0.934798973690664670, -0.934781213659682590, +-0.934763451291747430, -0.934745686586903710, -0.934727919545195630, -0.934710150166667920, -0.934692378451364660, -0.934674604399330590, -0.934656828010610010, -0.934639049285247330, +-0.934621268223286950, -0.934603484824773510, -0.934585699089751310, -0.934567911018264860, -0.934550120610358580, -0.934532327866077090, -0.934514532785464700, -0.934496735368566030, +-0.934478935615425610, -0.934461133526087620, -0.934443329100597020, -0.934425522338998000, -0.934407713241335200, -0.934389901807653130, -0.934372088037996210, -0.934354271932409160, +-0.934336453490936410, -0.934318632713622590, -0.934300809600512090, -0.934282984151649560, -0.934265156367079630, -0.934247326246846810, -0.934229493790995740, -0.934211658999570820, +-0.934193821872616790, -0.934175982410178190, -0.934158140612299630, -0.934140296479025740, -0.934122450010401060, -0.934104601206470320, -0.934086750067278040, -0.934068896592868960, +-0.934051040783287490, -0.934033182638578600, -0.934015322158786580, -0.933997459343956390, -0.933979594194132460, -0.933961726709359620, -0.933943856889682400, -0.933925984735145650, +-0.933908110245793790, -0.933890233421671770, -0.933872354262824110, -0.933854472769295560, -0.933836588941130860, -0.933818702778374750, -0.933800814281071760, -0.933782923449266720, +-0.933765030283004500, -0.933747134782329510, -0.933729236947286930, -0.933711336777921060, -0.933693434274276980, -0.933675529436399200, -0.933657622264332690, -0.933639712758122080, +-0.933621800917812220, -0.933603886743447850, -0.933585970235073730, -0.933568051392734690, -0.933550130216475590, -0.933532206706341070, -0.933514280862376090, -0.933496352684625390, +-0.933478422173133930, -0.933460489327946230, -0.933442554149107370, -0.933424616636662100, -0.933406676790655250, -0.933388734611131920, -0.933370790098136500, -0.933352843251714300, +-0.933334894071909840, -0.933316942558768290, -0.933298988712334300, -0.933281032532652820, -0.933263074019768820, -0.933245113173727160, -0.933227149994572570, -0.933209184482350240, +-0.933191216637104910, -0.933173246458881560, -0.933155273947725020, -0.933137299103680370, -0.933119321926792480, -0.933101342417106290, -0.933083360574666680, -0.933065376399518590, +-0.933047389891707210, -0.933029401051277300, -0.933011409878273910, -0.932993416372742020, -0.932975420534726600, -0.932957422364272480, -0.932939421861424980, -0.932921419026228830, +-0.932903413858729210, -0.932885406358970990, -0.932867396526999240, -0.932849384362859020, -0.932831369866595430, -0.932813353038253300, -0.932795333877877830, -0.932777312385513980, +-0.932759288561206930, -0.932741262405001550, -0.932723233916943010, -0.932705203097076500, -0.932687169945446980, -0.932669134462099540, -0.932651096647079130, -0.932633056500431160, +-0.932615014022200370, -0.932596969212432180, -0.932578922071171550, -0.932560872598463540, -0.932542820794353360, -0.932524766658886280, -0.932506710192107070, -0.932488651394061230, +-0.932470590264793620, -0.932452526804349760, -0.932434461012774380, -0.932416392890112910, -0.932398322436410520, -0.932380249651712290, -0.932362174536063400, -0.932344097089509050, +-0.932326017312094520, -0.932307935203864900, -0.932289850764865480, -0.932271763995141440, -0.932253674894737980, -0.932235583463700280, -0.932217489702073740, -0.932199393609903340, +-0.932181295187234580, -0.932163194434112440, -0.932145091350582430, -0.932126985936689630, -0.932108878192479450, -0.932090768117996960, -0.932072655713287680, -0.932054540978396680, +-0.932036423913369380, -0.932018304518250960, -0.932000182793086720, -0.931982058737922170, -0.931963932352802390, -0.931945803637772800, -0.931927672592878680, -0.931909539218165440, +-0.931891403513678270, -0.931873265479462700, -0.931855125115563900, -0.931836982422027280, -0.931818837398898150, -0.931800690046222010, -0.931782540364044180, -0.931764388352409930, +-0.931746234011364690, -0.931728077340953980, -0.931709918341222960, -0.931691757012217180, -0.931673593353981920, -0.931655427366562820, -0.931637259050005050, -0.931619088404354150, +-0.931600915429655620, -0.931582740125954770, -0.931564562493297000, -0.931546382531727830, -0.931528200241292790, -0.931510015622037170, -0.931491828674006590, -0.931473639397246370, +-0.931455447791802120, -0.931437253857719140, -0.931419057595043180, -0.931400859003819410, -0.931382658084093600, -0.931364454835911130, -0.931346249259317530, -0.931328041354358200, +-0.931309831121078900, -0.931291618559524910, -0.931273403669741980, -0.931255186451775520, -0.931236966905671040, -0.931218745031474170, -0.931200520829230440, -0.931182294298985470, +-0.931164065440784670, -0.931145834254673790, -0.931127600740698220, -0.931109364898903720, -0.931091126729335810, -0.931072886232040100, -0.931054643407062120, -0.931036398254447620, +-0.931018150774241990, -0.930999900966491100, -0.930981648831240350, -0.930963394368535590, -0.930945137578422340, -0.930926878460946240, -0.930908617016152800, -0.930890353244087860, +-0.930872087144797190, -0.930853818718326180, -0.930835547964720680, -0.930817274884026320, -0.930798999476288750, -0.930780721741553570, -0.930762441679866770, -0.930744159291273740, +-0.930725874575820460, -0.930707587533552320, -0.930689298164515290, -0.930671006468755000, -0.930652712446317310, -0.930634416097247620, -0.930616117421592120, -0.930597816419396100, +-0.930579513090705750, -0.930561207435566470, -0.930542899454024240, -0.930524589146124680, -0.930506276511913640, -0.930487961551437090, -0.930469644264740440, -0.930451324651869860, +-0.930433002712870880, -0.930414678447789360, -0.930396351856671130, -0.930378022939562180, -0.930359691696508010, -0.930341358127554700, -0.930323022232747880, -0.930304684012133620, +-0.930286343465757560, -0.930268000593665770, -0.930249655395903870, -0.930231307872517840, -0.930212958023553530, -0.930194605849056890, -0.930176251349073670, -0.930157894523649830, +-0.930139535372831340, -0.930121173896663930, -0.930102810095193580, -0.930084443968466230, -0.930066075516527760, -0.930047704739424110, -0.930029331637201250, -0.930010956209905040, +-0.929992578457581430, -0.929974198380276280, -0.929955815978035780, -0.929937431250905670, -0.929919044198932010, -0.929900654822160670, -0.929882263120637820, -0.929863869094409100, +-0.929845472743520920, -0.929827074068019010, -0.929808673067949340, -0.929790269743357990, -0.929771864094291020, -0.929753456120794410, -0.929735045822914110, -0.929716633200696200, +-0.929698218254186750, -0.929679800983431730, -0.929661381388477200, -0.929642959469369260, -0.929624535226153850, -0.929606108658877160, -0.929587679767585160, -0.929569248552324030, +-0.929550815013139630, -0.929532379150078360, -0.929513940963186070, -0.929495500452508950, -0.929477057618092960, -0.929458612459984510, -0.929440164978229340, -0.929421715172873860, +-0.929403263043964150, -0.929384808591546150, -0.929366351815666290, -0.929347892716370420, -0.929329431293704930, -0.929310967547715690, -0.929292501478449220, -0.929274033085951360, +-0.929255562370268520, -0.929237089331446780, -0.929218613969532200, -0.929200136284571210, -0.929181656276609870, -0.929163173945694250, -0.929144689291870880, -0.929126202315185610, +-0.929107713015684960, -0.929089221393414990, -0.929070727448422010, -0.929052231180752090, -0.929033732590451630, -0.929015231677566940, -0.928996728442144090, -0.928978222884229380, +-0.928959715003869200, -0.928941204801109750, -0.928922692275997220, -0.928904177428578000, -0.928885660258898290, -0.928867140767004500, -0.928848618952942790, -0.928830094816759600, +-0.928811568358501090, -0.928793039578213690, -0.928774508475943670, -0.928755975051737460, -0.928737439305641230, -0.928718901237701510, -0.928700360847964480, -0.928681818136476540, +-0.928663273103284000, -0.928644725748433260, -0.928626176071970840, -0.928607624073942930, -0.928589069754395920, -0.928570513113376240, -0.928551954150930390, -0.928533392867104460, +-0.928514829261945170, -0.928496263335498840, -0.928477695087811860, -0.928459124518930530, -0.928440551628901490, -0.928421976417770910, -0.928403398885585540, -0.928384819032391670, +-0.928366236858235720, -0.928347652363164190, -0.928329065547223500, -0.928310476410460160, -0.928291884952920590, -0.928273291174651400, -0.928254695075698910, -0.928236096656109730, +-0.928217495915930280, -0.928198892855207070, -0.928180287473986620, -0.928161679772315560, -0.928143069750240190, -0.928124457407807250, -0.928105842745063030, -0.928087225762054380, +-0.928068606458827490, -0.928049984835429220, -0.928031360891905850, -0.928012734628304250, -0.927994106044670590, -0.927975475141051830, -0.927956841917494390, -0.927938206374044780, +-0.927919568510749640, -0.927900928327655580, -0.927882285824809250, -0.927863641002257160, -0.927844993860046040, -0.927826344398222420, -0.927807692616832940, -0.927789038515924090, +-0.927770382095542860, -0.927751723355735520, -0.927733062296548950, -0.927714398918029650, -0.927695733220224470, -0.927677065203179830, -0.927658394866942680, -0.927639722211559440, +-0.927621047237076950, -0.927602369943541730, -0.927583690331000630, -0.927565008399500290, -0.927546324149087440, -0.927527637579808830, -0.927508948691711080, -0.927490257484841040, +-0.927471563959245240, -0.927452868114970630, -0.927434169952063850, -0.927415469470571630, -0.927396766670540610, -0.927378061552017850, -0.927359354115049880, -0.927340644359683550, +-0.927321932285965490, -0.927303217893942770, -0.927284501183661790, -0.927265782155169750, -0.927247060808513160, -0.927228337143738980, -0.927209611160893840, -0.927190882860024820, +-0.927172152241178550, -0.927153419304401760, -0.927134684049741640, -0.927115946477244600, -0.927097206586957930, -0.927078464378928050, -0.927059719853202120, -0.927040973009826800, +-0.927022223848849140, -0.927003472370315880, -0.926984718574273890, -0.926965962460770120, -0.926947204029851530, -0.926928443281564870, -0.926909680215957100, -0.926890914833075170, +-0.926872147132965950, -0.926853377115676280, -0.926834604781253240, -0.926815830129743670, -0.926797053161194540, -0.926778273875652700, -0.926759492273165230, -0.926740708353779090, +-0.926721922117541120, -0.926703133564498400, -0.926684342694697680, -0.926665549508186360, -0.926646754005010950, -0.926627956185218760, -0.926609156048856630, -0.926590353595971640, +-0.926571548826610750, -0.926552741740821030, -0.926533932338649450, -0.926515120620143070, -0.926496306585348760, -0.926477490234313810, -0.926458671567085060, -0.926439850583709700, +-0.926421027284234590, -0.926402201668707010, -0.926383373737173940, -0.926364543489682330, -0.926345710926279490, -0.926326876047012250, -0.926308038851927920, -0.926289199341073450, +-0.926270357514496050, -0.926251513372242650, -0.926232666914360570, -0.926213818140896760, -0.926194967051898410, -0.926176113647412700, -0.926157257927486600, -0.926138399892167400, +-0.926119539541502280, -0.926100676875538210, -0.926081811894322480, -0.926062944597902280, -0.926044074986324680, -0.926025203059636760, -0.926006328817885920, -0.925987452261119340, +-0.925968573389384100, -0.925949692202727380, -0.925930808701196480, -0.925911922884838590, -0.925893034753700770, -0.925874144307830440, -0.925855251547274770, -0.925836356472080960, +-0.925817459082296180, -0.925798559377967840, -0.925779657359143030, -0.925760753025869130, -0.925741846378193340, -0.925722937416162960, -0.925704026139825160, -0.925685112549227470, +-0.925666196644416850, -0.925647278425440700, -0.925628357892346430, -0.925609435045181230, -0.925590509883992500, -0.925571582408827420, -0.925552652619733520, -0.925533720516757860, +-0.925514786099947970, -0.925495849369351030, -0.925476910325014560, -0.925457968966985730, -0.925439025295312080, -0.925420079310040780, -0.925401131011219350, -0.925382180398894970, +-0.925363227473115280, -0.925344272233927460, -0.925325314681379020, -0.925306354815517150, -0.925287392636389480, -0.925268428144043310, -0.925249461338526040, -0.925230492219885290, +-0.925211520788168150, -0.925192547043422240, -0.925173570985694970, -0.925154592615033740, -0.925135611931486080, -0.925116628935099380, -0.925097643625921060, -0.925078656003998740, +-0.925059666069379730, -0.925040673822111530, -0.925021679262241660, -0.925002682389817530, -0.924983683204886780, -0.924964681707496790, -0.924945677897695110, -0.924926671775529230, +-0.924907663341046680, -0.924888652594294870, -0.924869639535321530, -0.924850624164174070, -0.924831606480900130, -0.924812586485547090, -0.924793564178162610, -0.924774539558794180, +-0.924755512627489450, -0.924736483384295930, -0.924717451829261240, -0.924698417962432790, -0.924679381783858450, -0.924660343293585480, -0.924641302491661770, -0.924622259378134800, +-0.924603213953052230, -0.924584166216461560, -0.924565116168410530, -0.924546063808946550, -0.924527009138117580, -0.924507952155971040, -0.924488892862554530, -0.924469831257915930, +-0.924450767342102630, -0.924431701115162490, -0.924412632577143010, -0.924393561728092060, -0.924374488568057150, -0.924355413097086130, -0.924336335315226410, -0.924317255222525950, +-0.924298172819032260, -0.924279088104793310, -0.924260001079856510, -0.924240911744269810, -0.924221820098080630, -0.924202726141337140, -0.924183629874086640, -0.924164531296377210, +-0.924145430408256360, -0.924126327209771950, -0.924107221700971700, -0.924088113881903370, -0.924069003752614910, -0.924049891313153850, -0.924030776563568020, -0.924011659503905290, +-0.923992540134213500, -0.923973418454540170, -0.923954294464933490, -0.923935168165440860, -0.923916039556110570, -0.923896908636989920, -0.923877775408127210, -0.923858639869569950, +-0.923839502021366110, -0.923820361863563530, -0.923801219396210070, -0.923782074619353470, -0.923762927533041790, -0.923743778137322670, -0.923724626432244180, -0.923705472417854170, +-0.923686316094200380, -0.923667157461330880, -0.923647996519293410, -0.923628833268136050, -0.923609667707906530, -0.923590499838652930, -0.923571329660422990, -0.923552157173264780, +-0.923532982377226030, -0.923513805272355050, -0.923494625858699350, -0.923475444136307330, -0.923456260105226520, -0.923437073765505100, -0.923417885117190920, -0.923398694160332160, +-0.923379500894976560, -0.923360305321172300, -0.923341107438967250, -0.923321907248409350, -0.923302704749546790, -0.923283499942427310, -0.923264292827099320, -0.923245083403610440, +-0.923225871672008870, -0.923206657632342660, -0.923187441284659790, -0.923168222629008330, -0.923149001665436340, -0.923129778393991680, -0.923110552814722760, -0.923091324927677430, +-0.923072094732903750, -0.923052862230449800, -0.923033627420363770, -0.923014390302693610, -0.922995150877487510, -0.922975909144793550, -0.922956665104659680, -0.922937418757134310, +-0.922918170102265290, -0.922898919140100920, -0.922879665870689260, -0.922860410294078390, -0.922841152410316500, -0.922821892219451770, -0.922802629721532260, -0.922783364916606170, +-0.922764097804721680, -0.922744828385926970, -0.922725556660270230, -0.922706282627799520, -0.922687006288563150, -0.922667727642609290, -0.922648446689986020, -0.922629163430741750, +-0.922609877864924430, -0.922590589992582480, -0.922571299813764070, -0.922552007328517390, -0.922532712536890730, -0.922513415438932170, -0.922494116034690230, -0.922474814324212970, +-0.922455510307548690, -0.922436203984745460, -0.922416895355851920, -0.922397584420916020, -0.922378271179986280, -0.922358955633110770, -0.922339637780337900, -0.922320317621715960, +-0.922300995157293250, -0.922281670387117950, -0.922262343311238570, -0.922243013929703200, -0.922223682242560460, -0.922204348249858310, -0.922185011951645370, -0.922165673347970060, +-0.922146332438880450, -0.922126989224425040, -0.922107643704652040, -0.922088295879610050, -0.922068945749347280, -0.922049593313912230, -0.922030238573353090, -0.922010881527718370, +-0.921991522177056490, -0.921972160521415840, -0.921952796560844610, -0.921933430295391540, -0.921914061725104820, -0.921894690850033060, -0.921875317670224460, -0.921855942185727750, +-0.921836564396590900, -0.921817184302862860, -0.921797801904591820, -0.921778417201826180, -0.921759030194614580, -0.921739640883005310, -0.921720249267047100, -0.921700855346788140, +-0.921681459122277060, -0.921662060593562370, -0.921642659760692480, -0.921623256623716030, -0.921603851182681400, -0.921584443437637010, -0.921565033388631720, -0.921545621035713690, +-0.921526206378931790, -0.921506789418334190, -0.921487370153969750, -0.921467948585886760, -0.921448524714133970, -0.921429098538759870, -0.921409670059813000, -0.921390239277341980, +-0.921370806191395220, -0.921351370802021670, -0.921331933109269530, -0.921312493113187640, -0.921293050813824510, -0.921273606211228780, -0.921254159305448960, -0.921234710096533790, +-0.921215258584531790, -0.921195804769491810, -0.921176348651462140, -0.921156890230491740, -0.921137429506628910, -0.921117966479922720, -0.921098501150421470, -0.921079033518174110, +-0.921059563583229050, -0.921040091345635140, -0.921020616805440890, -0.921001139962695170, -0.920981660817446590, -0.920962179369743890, -0.920942695619635820, -0.920923209567170890, +-0.920903721212397940, -0.920884230555365720, -0.920864737596122970, -0.920845242334718210, -0.920825744771200600, -0.920806244905618350, -0.920786742738020750, -0.920767238268456080, +-0.920747731496973530, -0.920728222423621400, -0.920708711048448980, -0.920689197371504560, -0.920669681392837220, -0.920650163112495700, -0.920630642530528840, -0.920611119646985280, +-0.920591594461913850, -0.920572066975363530, -0.920552537187383060, -0.920533005098021270, -0.920513470707326810, -0.920493934015348850, -0.920474395022136020, -0.920454853727737170, +-0.920435310132201150, -0.920415764235576920, -0.920396216037913220, -0.920376665539259120, -0.920357112739663140, -0.920337557639174570, -0.920318000237841940, -0.920298440535714520, +-0.920278878532840850, -0.920259314229269990, -0.920239747625050790, -0.920220178720232320, -0.920200607514863430, -0.920181034008992870, -0.920161458202669920, -0.920141880095943220, +-0.920122299688861830, -0.920102716981474720, -0.920083131973830740, -0.920063544665978950, -0.920043955057968430, -0.920024363149847810, -0.920004768941666500, -0.919985172433473110, +-0.919965573625316950, -0.919945972517246640, -0.919926369109311580, -0.919906763401560520, -0.919887155394042530, -0.919867545086806680, -0.919847932479902040, -0.919828317573377460, +-0.919808700367282020, -0.919789080861665000, -0.919769459056575140, -0.919749834952061750, -0.919730208548173780, -0.919710579844960300, -0.919690948842470160, -0.919671315540752880, +-0.919651679939857190, -0.919632042039832400, -0.919612401840727340, -0.919592759342591440, -0.919573114545473520, -0.919553467449423010, -0.919533818054488640, -0.919514166360719810, +-0.919494512368165480, -0.919474856076874960, -0.919455197486897300, -0.919435536598281590, -0.919415873411077110, -0.919396207925332830, -0.919376540141098150, -0.919356870058422040, +-0.919337197677353780, -0.919317522997942560, -0.919297846020237560, -0.919278166744287750, -0.919258485170142750, -0.919238801297851400, -0.919219115127463130, -0.919199426659027100, +-0.919179735892592390, -0.919160042828208400, -0.919140347465924320, -0.919120649805789340, -0.919100949847852840, -0.919081247592163810, -0.919061543038771740, -0.919041836187725720, +-0.919022127039075150, -0.919002415592869440, -0.918982701849157420, -0.918962985807988850, -0.918943267469412680, -0.918923546833478540, -0.918903823900235280, -0.918884098669732640, +-0.918864371142019690, -0.918844641317145830, -0.918824909195160360, -0.918805174776112680, -0.918785438060051860, -0.918765699047027650, -0.918745957737089110, -0.918726214130285770, +-0.918706468226666790, -0.918686720026281600, -0.918666969529179700, -0.918647216735410390, -0.918627461645022960, -0.918607704258066930, -0.918587944574591590, -0.918568182594646450, +-0.918548418318280820, -0.918528651745544100, -0.918508882876485910, -0.918489111711155330, -0.918469338249602090, -0.918449562491875480, -0.918429784438024920, -0.918410004088099920, +-0.918390221442149990, -0.918370436500224430, -0.918350649262372750, -0.918330859728644480, -0.918311067899089120, -0.918291273773755970, -0.918271477352694760, -0.918251678635954690, +-0.918231877623585490, -0.918212074315636780, -0.918192268712157640, -0.918172460813198030, -0.918152650618807130, -0.918132838129034680, -0.918113023343930080, -0.918093206263542960, +-0.918073386887922730, -0.918053565217119120, -0.918033741251181650, -0.918013914990159720, -0.917994086434103070, -0.917974255583061230, -0.917954422437083580, -0.917934586996220100, +-0.917914749260519970, -0.917894909230033140, -0.917875066904808910, -0.917855222284897020, -0.917835375370347100, -0.917815526161208760, -0.917795674657531650, -0.917775820859365150, +-0.917755964766759360, -0.917736106379763440, -0.917716245698427470, -0.917696382722800740, -0.917676517452933100, -0.917656649888874080, -0.917636780030673620, -0.917616907878381020, +-0.917597033432046240, -0.917577156691718800, -0.917557277657448660, -0.917537396329285100, -0.917517512707278220, -0.917497626791477510, -0.917477738581932710, -0.917457848078693460, +-0.917437955281809710, -0.917418060191331100, -0.917398162807307240, -0.917378263129788100, -0.917358361158823190, -0.917338456894462470, -0.917318550336755580, -0.917298641485752240, +-0.917278730341502310, -0.917258816904055640, -0.917238901173461850, -0.917218983149770910, -0.917199062833032430, -0.917179140223296390, -0.917159215320612290, -0.917139288125030430, +-0.917119358636600100, -0.917099426855371490, -0.917079492781394330, -0.917059556414718370, -0.917039617755393550, -0.917019676803469630, -0.916999733558996670, -0.916979788022024290, +-0.916959840192602460, -0.916939890070780920, -0.916919937656609840, -0.916899982950138750, -0.916880025951417820, -0.916860066660496690, -0.916840105077425530, -0.916820141202254080, +-0.916800175035032310, -0.916780206575809940, -0.916760235824637280, -0.916740262781563840, -0.916720287446639910, -0.916700309819915130, -0.916680329901439660, -0.916660347691263260, +-0.916640363189436090, -0.916620376396007910, -0.916600387311028890, -0.916580395934548870, -0.916560402266617840, -0.916540406307285840, -0.916520408056602730, -0.916500407514618700, +-0.916480404681383700, -0.916460399556947580, -0.916440392141360530, -0.916420382434672500, -0.916400370436933450, -0.916380356148193580, -0.916360339568502600, -0.916340320697911050, +-0.916320299536468540, -0.916300276084225370, -0.916280250341231390, -0.916260222307536900, -0.916240191983191730, -0.916220159368246080, -0.916200124462750120, -0.916180087266753820, +-0.916160047780307350, -0.916140006003460680, -0.916119961936264100, -0.916099915578767580, -0.916079866931021280, -0.916059815993075180, -0.916039762764979670, -0.916019707246784720, +-0.915999649438540620, -0.915979589340297220, -0.915959526952104920, -0.915939462274013790, -0.915919395306074020, -0.915899326048335680, -0.915879254500849170, -0.915859180663664450, +-0.915839104536831820, -0.915819026120401340, -0.915798945414423300, -0.915778862418948010, -0.915758777134025430, -0.915738689559706050, -0.915718599696039750, -0.915698507543077130, +-0.915678413100868170, -0.915658316369463270, -0.915638217348912490, -0.915618116039266130, -0.915598012440574480, -0.915577906552887950, -0.915557798376256500, -0.915537687910730650, +-0.915517575156360450, -0.915497460113196440, -0.915477342781288780, -0.915457223160687780, -0.915437101251443620, -0.915416977053606700, -0.915396850567227420, -0.915376721792355960, +-0.915356590729042740, -0.915336457377337930, -0.915316321737292160, -0.915296183808955500, -0.915276043592378350, -0.915255901087611120, -0.915235756294704220, -0.915215609213707810, +-0.915195459844672430, -0.915175308187648360, -0.915155154242686120, -0.915134998009835780, -0.915114839489148180, -0.915094678680673400, -0.915074515584461960, -0.915054350200564140, +-0.915034182529030460, -0.915014012569911330, -0.914993840323257150, -0.914973665789118430, -0.914953488967545470, -0.914933309858588890, -0.914913128462299000, -0.914892944778726290, +-0.914872758807921180, -0.914852570549934300, -0.914832380004815810, -0.914812187172616590, -0.914791992053386680, -0.914771794647176950, -0.914751594954037570, -0.914731392974019400, +-0.914711188707172610, -0.914690982153547940, -0.914670773313195680, -0.914650562186166580, -0.914630348772511040, -0.914610133072279560, -0.914589915085522900, -0.914569694812291330, +-0.914549472252635720, -0.914529247406606240, -0.914509020274253740, -0.914488790855628620, -0.914468559150781510, -0.914448325159763040, -0.914428088882623840, -0.914407850319414290, +-0.914387609470185160, -0.914367366334986940, -0.914347120913870490, -0.914326873206886100, -0.914306623214084510, -0.914286370935516350, -0.914266116371232450, -0.914245859521283010, +-0.914225600385719090, -0.914205338964591110, -0.914185075257949680, -0.914164809265845760, -0.914144540988329650, -0.914124270425452300, -0.914103997577264240, -0.914083722443816190, +-0.914063445025158790, -0.914043165321342890, -0.914022883332418990, -0.914002599058437950, -0.913982312499450280, -0.913962023655507050, -0.913941732526658560, -0.913921439112955870, +-0.913901143414449390, -0.913880845431190300, -0.913860545163228900, -0.913840242610616250, -0.913819937773402870, -0.913799630651639830, -0.913779321245377530, -0.913759009554666930, +-0.913738695579559000, -0.913718379320104130, -0.913698060776353520, -0.913677739948357550, -0.913657416836167410, -0.913637091439833520, -0.913616763759407150, -0.913596433794938710, +-0.913576101546479170, -0.913555767014079480, -0.913535430197790270, -0.913515091097662490, -0.913494749713747110, -0.913474406046094760, -0.913454060094756380, -0.913433711859782840, +-0.913413361341225190, -0.913393008539133970, -0.913372653453560220, -0.913352296084554930, -0.913331936432168810, -0.913311574496452840, -0.913291210277457970, -0.913270843775235150, +-0.913250474989835140, -0.913230103921308990, -0.913209730569707560, -0.913189354935081800, -0.913168977017482560, -0.913148596816961030, -0.913128214333567940, -0.913107829567354370, +-0.913087442518371150, -0.913067053186669360, -0.913046661572299970, -0.913026267675313920, -0.913005871495762070, -0.912985473033695700, -0.912965072289165570, -0.912944669262222730, +-0.912924263952918260, -0.912903856361303110, -0.912883446487428360, -0.912863034331344970, -0.912842619893104110, -0.912822203172756530, -0.912801784170353510, -0.912781362885946020, +-0.912760939319585130, -0.912740513471321900, -0.912720085341207410, -0.912699654929292610, -0.912679222235628810, -0.912658787260266830, -0.912638350003257990, -0.912617910464653240, +-0.912597468644503750, -0.912577024542860490, -0.912556578159774650, -0.912536129495297500, -0.912515678549479900, -0.912495225322373150, -0.912474769814028310, -0.912454312024496670, +-0.912433851953829090, -0.912413389602077070, -0.912392924969291360, -0.912372458055523470, -0.912351988860824360, -0.912331517385245430, -0.912311043628837530, -0.912290567591652170, +-0.912270089273740200, -0.912249608675153260, -0.912229125795942060, -0.912208640636158250, -0.912188153195852670, -0.912167663475076830, -0.912147171473881690, -0.912126677192318660, +-0.912106180630439020, -0.912085681788293860, -0.912065180665934560, -0.912044677263412320, -0.912024171580778310, -0.912003663618083940, -0.911983153375380380, -0.911962640852718830, +-0.911942126050150900, -0.911921608967727450, -0.911901089605500090, -0.911880567963520020, -0.911860044041838510, -0.911839517840506870, -0.911818989359576390, -0.911798458599098470, +-0.911777925559124510, -0.911757390239705590, -0.911736852640893210, -0.911716312762738790, -0.911695770605293500, -0.911675226168608850, -0.911654679452736040, -0.911634130457726680, +-0.911613579183631840, -0.911593025630503150, -0.911572469798391900, -0.911551911687349500, -0.911531351297427240, -0.911510788628676630, -0.911490223681149070, -0.911469656454895970, +-0.911449086949968620, -0.911428515166418650, -0.911407941104297350, -0.911387364763656230, -0.911366786144546690, -0.911346205247020260, -0.911325622071128110, -0.911305036616921970, +-0.911284448884453370, -0.911263858873773590, -0.911243266584934150, -0.911222672017986570, -0.911202075172982240, -0.911181476049972790, -0.911160874649009630, -0.911140270970144270, +-0.911119665013428340, -0.911099056778913010, -0.911078446266650240, -0.911057833476691340, -0.911037218409087800, -0.911016601063891260, -0.910995981441153240, -0.910975359540925120, +-0.910954735363258770, -0.910934108908205480, -0.910913480175816970, -0.910892849166144660, -0.910872215879240280, -0.910851580315155450, -0.910830942473941470, -0.910810302355650410, +-0.910789659960333340, -0.910769015288042330, -0.910748368338828660, -0.910727719112744080, -0.910707067609840220, -0.910686413830168680, -0.910665757773781110, -0.910645099440729240, +-0.910624438831064480, -0.910603775944838660, -0.910583110782103410, -0.910562443342910480, -0.910541773627311260, -0.910521101635357710, -0.910500427367101350, -0.910479750822593910, +-0.910459072001887250, -0.910438390905032760, -0.910417707532082400, -0.910397021883087690, -0.910376333958100470, -0.910355643757172370, -0.910334951280355240, -0.910314256527700590, +-0.910293559499260500, -0.910272860195086350, -0.910252158615230120, -0.910231454759743430, -0.910210748628678230, -0.910190040222086050, -0.910169329540018830, -0.910148616582528210, +-0.910127901349666150, -0.910107183841484260, -0.910086464058034390, -0.910065741999368400, -0.910045017665538030, -0.910024291056595210, -0.910003562172591480, -0.909982831013579020, +-0.909962097579609440, -0.909941361870734600, -0.909920623887006340, -0.909899883628476620, -0.909879141095197070, -0.909858396287219760, -0.909837649204596310, -0.909816899847378900, +-0.909796148215619160, -0.909775394309369050, -0.909754638128680520, -0.909733879673605310, -0.909713118944195380, -0.909692355940502790, -0.909671590662579190, -0.909650823110476630, +-0.909630053284247060, -0.909609281183942240, -0.909588506809614450, -0.909567730161315200, -0.909546951239096680, -0.909526170043010730, -0.909505386573109530, -0.909484600829444600, +-0.909463812812068450, -0.909443022521032480, -0.909422229956389220, -0.909401435118190270, -0.909380638006487720, -0.909359838621333520, -0.909339036962779850, -0.909318233030878440, +-0.909297426825681600, -0.909276618347241270, -0.909255807595609090, -0.909234994570837560, -0.909214179272978650, -0.909193361702083980, -0.909172541858206170, -0.909151719741396970, +-0.909130895351708550, -0.909110068689192640, -0.909089239753901770, -0.909068408545887770, -0.909047575065202730, -0.909026739311898590, -0.909005901286027870, -0.908985060987642310, +-0.908964218416794090, -0.908943373573535160, -0.908922526457918050, -0.908901677069994470, -0.908880825409816850, -0.908859971477436910, -0.908839115272907170, -0.908818256796279810, +-0.908797396047606450, -0.908776533026939840, -0.908755667734331920, -0.908734800169834880, -0.908713930333500560, -0.908693058225381710, -0.908672183845530060, -0.908651307193998110, +-0.908630428270837620, -0.908609547076101200, -0.908588663609841030, -0.908567777872109070, -0.908546889862957620, -0.908525999582439070, -0.908505107030605500, -0.908484212207509190, +-0.908463315113202110, -0.908442415747736990, -0.908421514111165780, -0.908400610203540900, -0.908379704024914190, -0.908358795575338500, -0.908337884854865770, -0.908316971863548090, +-0.908296056601438200, -0.908275139068588140, -0.908254219265050340, -0.908233297190876750, -0.908212372846120110, -0.908191446230832480, -0.908170517345066260, -0.908149586188873650, +-0.908128652762307140, -0.908107717065419040, -0.908086779098261740, -0.908065838860887210, -0.908044896353348290, -0.908023951575697040, -0.908003004527985990, -0.907982055210267310, +-0.907961103622593630, -0.907940149765017130, -0.907919193637590110, -0.907898235240365390, -0.907877274573394950, -0.907856311636731310, -0.907835346430426850, -0.907814378954534100, +-0.907793409209105450, -0.907772437194193200, -0.907751462909849760, -0.907730486356127740, -0.907709507533079660, -0.907688526440757700, -0.907667543079214270, -0.907646557448502200, +-0.907625569548673680, -0.907604579379781230, -0.907583586941877240, -0.907562592235014340, -0.907541595259245050, -0.907520596014621540, -0.907499594501196770, -0.907478590719023040, +-0.907457584668152740, -0.907436576348638390, -0.907415565760532730, -0.907394552903888150, -0.907373537778757180, -0.907352520385192210, -0.907331500723246090, -0.907310478792971220, +-0.907289454594420230, -0.907268428127645300, -0.907247399392699600, -0.907226368389635330, -0.907205335118505210, -0.907184299579361530, -0.907163261772257260, -0.907142221697244790, +-0.907121179354376640, -0.907100134743705770, -0.907079087865284570, -0.907058038719165570, -0.907036987305401280, -0.907015933624044760, -0.906994877675148410, -0.906973819458764870, +-0.906952758974946540, -0.906931696223746590, -0.906910631205217310, -0.906889563919411560, -0.906868494366381620, -0.906847422546180670, -0.906826348458861120, -0.906805272104475700, +-0.906784193483077040, -0.906763112594717980, -0.906742029439451150, -0.906720944017329170, -0.906699856328404770, -0.906678766372730820, -0.906657674150360030, -0.906636579661344810, +-0.906615482905738350, -0.906594383883593260, -0.906573282594962060, -0.906552179039897600, -0.906531073218452830, -0.906509965130680270, -0.906488854776632990, -0.906467742156363280, +-0.906446627269924420, -0.906425510117368940, -0.906404390698749780, -0.906383269014119360, -0.906362145063531080, -0.906341018847037330, -0.906319890364691070, -0.906298759616544940, +-0.906277626602651990, -0.906256491323065070, -0.906235353777836710, -0.906214213967020180, -0.906193071890668000, -0.906171927548833240, -0.906150780941568530, -0.906129632068926940, +-0.906108480930961300, -0.906087327527724470, -0.906066171859269190, -0.906045013925648620, -0.906023853726915410, -0.906002691263122720, -0.905981526534323070, -0.905960359540569750, +-0.905939190281915610, -0.905918018758413380, -0.905896844970116020, -0.905875668917076720, -0.905854490599348190, -0.905833310016983310, -0.905812127170035340, -0.905790942058557040, +-0.905769754682601350, -0.905748565042221120, -0.905727373137469650, -0.905706178968399780, -0.905684982535064460, -0.905663783837516450, -0.905642582875809230, -0.905621379649995450, +-0.905600174160128280, -0.905578966406260570, -0.905557756388445490, -0.905536544106736120, -0.905515329561185300, -0.905494112751846100, -0.905472893678771710, -0.905451672342015070, +-0.905430448741629370, -0.905409222877667230, -0.905387994750182280, -0.905366764359227360, -0.905345531704855320, -0.905324296787119560, -0.905303059606073160, -0.905281820161769060, +-0.905260578454260220, -0.905239334483600170, -0.905218088249841850, -0.905196839753038220, -0.905175588993242240, -0.905154335970507540, -0.905133080684887070, -0.905111823136433790, +-0.905090563325200770, -0.905069301251241630, -0.905048036914609110, -0.905026770315356610, -0.905005501453536980, -0.904984230329203720, -0.904962956942409910, -0.904941681293208510, +-0.904920403381653140, -0.904899123207796750, -0.904877840771692530, -0.904856556073393550, -0.904835269112953310, -0.904813979890424890, -0.904792688405861580, -0.904771394659316330, +-0.904750098650842880, -0.904728800380494080, -0.904707499848323330, -0.904686197054383580, -0.904664891998728570, -0.904643584681411260, -0.904622275102485050, -0.904600963262003010, +-0.904579649160018650, -0.904558332796585260, -0.904537014171755800, -0.904515693285584010, -0.904494370138123060, -0.904473044729426020, -0.904451717059546300, -0.904430387128537410, +-0.904409054936452630, -0.904387720483345150, -0.904366383769268260, -0.904345044794275470, -0.904323703558420180, -0.904302360061755570, -0.904281014304334940, -0.904259666286211910, +-0.904238316007439650, -0.904216963468071680, -0.904195608668161180, -0.904174251607761770, -0.904152892286926750, -0.904131530705709290, -0.904110166864163120, -0.904088800762341660, +-0.904067432400298080, -0.904046061778085890, -0.904024688895758600, -0.904003313753369620, -0.903981936350972350, -0.903960556688620080, -0.903939174766366650, -0.903917790584265250, +-0.903896404142369270, -0.903875015440732230, -0.903853624479407760, -0.903832231258449250, -0.903810835777910220, -0.903789438037843840, -0.903768038038304080, -0.903746635779344220, +-0.903725231261017780, -0.903703824483378050, -0.903682415446478980, -0.903661004150373870, -0.903639590595116000, -0.903618174780759340, -0.903596756707357280, -0.903575336374963340, +-0.903553913783630920, -0.903532488933413870, -0.903511061824365580, -0.903489632456539680, -0.903468200829989470, -0.903446766944768890, -0.903425330800931460, -0.903403892398530690, +-0.903382451737620000, -0.903361008818253430, -0.903339563640484290, -0.903318116204366190, -0.903296666509952660, -0.903275214557297650, -0.903253760346454550, -0.903232303877476990, +-0.903210845150418720, -0.903189384165333450, -0.903167920922274710, -0.903146455421295900, -0.903124987662451200, -0.903103517645794000, -0.903082045371378040, -0.903060570839256730, +-0.903039094049484240, -0.903017615002113970, -0.902996133697199670, -0.902974650134794830, -0.902953164314953540, -0.902931676237729410, -0.902910185903176070, -0.902888693311347020, +-0.902867198462296460, -0.902845701356078000, -0.902824201992744930, -0.902802700372351660, -0.902781196494951590, -0.902759690360598550, -0.902738181969346080, -0.902716671321248440, +-0.902695158416359060, -0.902673643254731760, -0.902652125836420070, -0.902630606161478390, -0.902609084229960220, -0.902587560041919200, -0.902566033597409170, -0.902544504896484300, +-0.902522973939198110, -0.902501440725604450, -0.902479905255757050, -0.902458367529710090, -0.902436827547517200, -0.902415285309232210, -0.902393740814908860, -0.902372194064601230, +-0.902350645058363270, -0.902329093796248370, -0.902307540278311060, -0.902285984504604840, -0.902264426475183680, -0.902242866190101190, -0.902221303649411780, -0.902199738853169180, +-0.902178171801427120, -0.902156602494239460, -0.902135030931660590, -0.902113457113744020, -0.902091881040543830, -0.902070302712113750, -0.902048722128508170, -0.902027139289780730, +-0.902005554195985490, -0.901983966847176080, -0.901962377243407000, -0.901940785384731990, -0.901919191271204790, -0.901897594902879800, -0.901875996279810850, -0.901854395402051920, +-0.901832792269656850, -0.901811186882679920, -0.901789579241175090, -0.901767969345196210, -0.901746357194797230, -0.901724742790032670, -0.901703126130956160, -0.901681507217621860, +-0.901659886050083630, -0.901638262628395750, -0.901616636952612290, -0.901595009022787330, -0.901573378838974480, -0.901551746401228480, -0.901530111709603180, -0.901508474764152300, +-0.901486835564930480, -0.901465194111991550, -0.901443550405389590, -0.901421904445178670, -0.901400256231413070, -0.901378605764146860, -0.901356953043434220, -0.901335298069328880, +-0.901313640841885590, -0.901291981361158180, -0.901270319627200720, -0.901248655640067400, -0.901226989399812610, -0.901205320906490300, -0.901183650160154670, -0.901161977160859770, +-0.901140301908660120, -0.901118624403609680, -0.901096944645762510, -0.901075262635173120, -0.901053578371895700, -0.901031891855984200, -0.901010203087492910, -0.900988512066476120, +-0.900966818792988230, -0.900945123267083200, -0.900923425488815210, -0.900901725458238770, -0.900880023175408160, -0.900858318640377350, -0.900836611853200630, -0.900814902813932620, +-0.900793191522627270, -0.900771477979338990, -0.900749762184121730, -0.900728044137030340, -0.900706323838118880, -0.900684601287441540, -0.900662876485052500, -0.900641149431006480, +-0.900619420125357560, -0.900597688568159920, -0.900575954759468280, -0.900554218699336720, -0.900532480387819630, -0.900510739824971100, -0.900488997010845950, -0.900467251945498370, +-0.900445504628982650, -0.900423755061352860, -0.900402003242663950, -0.900380249172969990, -0.900358492852325500, -0.900336734280784530, -0.900314973458401950, -0.900293210385231910, +-0.900271445061328830, -0.900249677486746890, -0.900227907661541040, -0.900206135585765450, -0.900184361259474210, -0.900162584682722370, -0.900140805855564000, -0.900119024778053610, +-0.900097241450245500, -0.900075455872194510, -0.900053668043954810, -0.900031877965581040, -0.900010085637127260, -0.899988291058648530, -0.899966494230199030, -0.899944695151833400, +-0.899922893823605690, -0.899901090245571080, -0.899879284417783640, -0.899857476340298000, -0.899835666013168560, -0.899813853436450040, -0.899792038610196960, -0.899770221534463620, +-0.899748402209304850, -0.899726580634775060, -0.899704756810928870, -0.899682930737820570, -0.899661102415505120, -0.899639271844037030, -0.899617439023470580, -0.899595603953860510, +-0.899573766635261450, -0.899551927067728130, -0.899530085251314950, -0.899508241186076310, -0.899486394872067270, -0.899464546309342360, -0.899442695497955970, -0.899420842437962610, +-0.899398987129417460, -0.899377129572374810, -0.899355269766889290, -0.899333407713015400, -0.899311543410808210, -0.899289676860322130, -0.899267808061611660, -0.899245937014731990, +-0.899224063719737400, -0.899202188176682630, -0.899180310385622180, -0.899158430346611140, -0.899136548059704110, -0.899114663524955620, -0.899092776742420270, -0.899070887712153270, +-0.899048996434208990, -0.899027102908642180, -0.899005207135507470, -0.898983309114860020, -0.898961408846754130, -0.898939506331244860, -0.898917601568386520, -0.898895694558234480, +-0.898873785300843050, -0.898851873796267080, -0.898829960044561620, -0.898808044045781300, -0.898786125799980740, -0.898764205307214790, -0.898742282567538410, -0.898720357581006430, +-0.898698430347673490, -0.898676500867594320, -0.898654569140824090, -0.898632635167417430, -0.898610698947429180, -0.898588760480913960, -0.898566819767927070, -0.898544876808523130, +-0.898522931602756980, -0.898500984150683250, -0.898479034452357330, -0.898457082507833850, -0.898435128317167430, -0.898413171880413360, -0.898391213197626380, -0.898369252268861440, +-0.898347289094173050, -0.898325323673616730, -0.898303356007247090, -0.898281386095118980, -0.898259413937287250, -0.898237439533807190, -0.898215462884733530, -0.898193483990121220, +-0.898171502850025010, -0.898149519464500280, -0.898127533833601670, -0.898105545957384340, -0.898083555835902820, -0.898061563469212620, -0.898039568857368580, -0.898017572000425420, +-0.897995572898438450, -0.897973571551462620, -0.897951567959552890, -0.897929562122763980, -0.897907554041151300, -0.897885543714769810, -0.897863531143674450, -0.897841516327920090, +-0.897819499267562100, -0.897797479962655460, -0.897775458413255010, -0.897753434619415810, -0.897731408581193160, -0.897709380298642000, -0.897687349771817300, -0.897665317000774120, +-0.897643281985567860, -0.897621244726253380, -0.897599205222885830, -0.897577163475519970, -0.897555119484211520, -0.897533073249015210, -0.897511024769986010, -0.897488974047179420, +-0.897466921080650400, -0.897444865870454130, -0.897422808416645460, -0.897400748719279990, -0.897378686778412590, -0.897356622594098540, -0.897334556166392680, -0.897312487495350640, +-0.897290416581027480, -0.897268343423478170, -0.897246268022757860, -0.897224190378922090, -0.897202110492025810, -0.897180028362124180, -0.897157943989272400, -0.897135857373525860, +-0.897113768514939740, -0.897091677413568990, -0.897069584069469240, -0.897047488482695550, -0.897025390653303110, -0.897003290581347090, -0.896981188266883000, -0.896959083709965800, +-0.896936976910651000, -0.896914867868993660, -0.896892756585049190, -0.896870643058872870, -0.896848527290520000, -0.896826409280045530, -0.896804289027505310, -0.896782166532954280, +-0.896760041796447970, -0.896737914818041220, -0.896715785597789970, -0.896693654135749200, -0.896671520431974180, -0.896649384486520430, -0.896627246299443350, -0.896605105870798000, +-0.896582963200639790, -0.896560818289024450, -0.896538671136006940, -0.896516521741642760, -0.896494370105987090, -0.896472216229095790, -0.896450060111023790, -0.896427901751826740, +-0.896405741151559800, -0.896383578310278590, -0.896361413228038420, -0.896339245904894780, -0.896317076340902850, -0.896294904536118380, -0.896272730490596640, -0.896250554204393150, +-0.896228375677562970, -0.896206194910162070, -0.896184011902245730, -0.896161826653869120, -0.896139639165088210, -0.896117449435958170, -0.896095257466534510, -0.896073063256872530, +-0.896050866807028060, -0.896028668117056390, -0.896006467187013040, -0.895984264016953410, -0.895962058606933230, -0.895939850957008010, -0.895917641067233040, -0.895895428937663830, +-0.895873214568356220, -0.895850997959365620, -0.895828779110747540, -0.895806558022557260, -0.895784334694850860, -0.895762109127683500, -0.895739881321110820, -0.895717651275188540, +-0.895695418989972070, -0.895673184465517140, -0.895650947701879030, -0.895628708699113820, -0.895606467457276790, -0.895584223976423570, -0.895561978256609550, -0.895539730297890910, +-0.895517480100322840, -0.895495227663961060, -0.895472972988861080, -0.895450716075078870, -0.895428456922669810, -0.895406195531689650, -0.895383931902193790, -0.895361666034238280, +-0.895339397927878640, -0.895317127583170280, -0.895294855000169370, -0.895272580178931190, -0.895250303119511700, -0.895228023821966200, -0.895205742286350750, -0.895183458512721080, +-0.895161172501132700, -0.895138884251641230, -0.895116593764302640, -0.895094301039172650, -0.895072006076306880, -0.895049708875760960, -0.895027409437590960, -0.895005107761852380, +-0.894982803848601070, -0.894960497697892540, -0.894938189309782970, -0.894915878684327870, -0.894893565821582970, -0.894871250721604230, -0.894848933384447490, -0.894826613810168370, +-0.894804291998822500, -0.894781967950466160, -0.894759641665154760, -0.894737313142944360, -0.894714982383890470, -0.894692649388049380, -0.894670314155476600, -0.894647976686227970, +-0.894625636980359350, -0.894603295037926790, -0.894580950858985920, -0.894558604443592700, -0.894536255791802850, -0.894513904903672440, -0.894491551779257320, -0.894469196418613330, +-0.894446838821796210, -0.894424478988862130, -0.894402116919866820, -0.894379752614866020, -0.894357386073916130, -0.894335017297072650, -0.894312646284391780, -0.894290273035928900, +-0.894267897551740740, -0.894245519831882720, -0.894223139876410890, -0.894200757685381100, -0.894178373258849520, -0.894155986596872010, -0.894133597699504620, -0.894111206566802990, +-0.894088813198823500, -0.894066417595622000, -0.894044019757254560, -0.894021619683776800, -0.893999217375245130, -0.893976812831715480, -0.893954406053243610, -0.893931997039885800, +-0.893909585791698100, -0.893887172308736490, -0.893864756591056690, -0.893842338638715210, -0.893819918451767890, -0.893797496030270700, -0.893775071374279690, -0.893752644483851060, +-0.893730215359040960, -0.893707783999905250, -0.893685350406499880, -0.893662914578881360, -0.893640476517105540, -0.893618036221228600, -0.893595593691306260, -0.893573148927395140, +-0.893550701929551220, -0.893528252697830320, -0.893505801232288950, -0.893483347532983090, -0.893460891599968890, -0.893438433433302310, -0.893415973033039770, -0.893393510399237310, +-0.893371045531951010, -0.893348578431237050, -0.893326109097151710, -0.893303637529751170, -0.893281163729091500, -0.893258687695228760, -0.893236209428219460, -0.893213728928119680, +-0.893191246194985580, -0.893168761228873120, -0.893146274029838930, -0.893123784597939060, -0.893101292933229820, -0.893078799035767150, -0.893056302905607560, -0.893033804542807340, +-0.893011303947422340, -0.892988801119509290, -0.892966296059124250, -0.892943788766323410, -0.892921279241162940, -0.892898767483699560, -0.892876253493989140, -0.892853737272088170, +-0.892831218818052610, -0.892808698131939190, -0.892786175213803990, -0.892763650063703510, -0.892741122681693590, -0.892718593067831080, -0.892696061222172040, -0.892673527144772880, +-0.892650990835689770, -0.892628452294979220, -0.892605911522697750, -0.892583368518901190, -0.892560823283646390, -0.892538275816989520, -0.892515726118987110, -0.892493174189694980, +-0.892470620029170210, -0.892448063637468980, -0.892425505014647460, -0.892402944160762050, -0.892380381075869480, -0.892357815760025820, -0.892335248213287800, -0.892312678435711380, +-0.892290106427353510, -0.892267532188270260, -0.892244955718518360, -0.892222377018153770, -0.892199796087233430, -0.892177212925813530, -0.892154627533950470, -0.892132039911701090, +-0.892109450059121570, -0.892086857976268410, -0.892064263663197910, -0.892041667119967020, -0.892019068346631920, -0.891996467343249110, -0.891973864109874890, -0.891951258646566330, +-0.891928650953379590, -0.891906041030371190, -0.891883428877597530, -0.891860814495115450, -0.891838197882981350, -0.891815579041251750, -0.891792957969983040, -0.891770334669232060, +-0.891747709139055320, -0.891725081379509120, -0.891702451390650300, -0.891679819172535470, -0.891657184725221040, -0.891634548048763410, -0.891611909143219750, -0.891589268008646130, +-0.891566624645099500, -0.891543979052636050, -0.891521331231312830, -0.891498681181186360, -0.891476028902313030, -0.891453374394749590, -0.891430717658552860, -0.891408058693779260, +-0.891385397500485620, -0.891362734078728240, -0.891340068428564280, -0.891317400550050040, -0.891294730443242370, -0.891272058108197650, -0.891249383544973070, -0.891226706753624920, +-0.891204027734209920, -0.891181346486784930, -0.891158663011406670, -0.891135977308131650, -0.891113289377016500, -0.891090599218118400, -0.891067906831493840, -0.891045212217199340, +-0.891022515375291760, -0.890999816305828030, -0.890977115008864780, -0.890954411484458750, -0.890931705732666450, -0.890908997753545150, -0.890886287547151380, -0.890863575113541860, +-0.890840860452773110, -0.890818143564902520, -0.890795424449986490, -0.890772703108081760, -0.890749979539245400, -0.890727253743534230, -0.890704525721004780, -0.890681795471713890, +-0.890659062995718730, -0.890636328293075820, -0.890613591363842220, -0.890590852208074320, -0.890568110825829540, -0.890545367217164490, -0.890522621382136000, -0.890499873320800830, +-0.890477123033216130, -0.890454370519438540, -0.890431615779525120, -0.890408858813532490, -0.890386099621517820, -0.890363338203537970, -0.890340574559649540, -0.890317808689909840, +-0.890295040594375700, -0.890272270273103960, -0.890249497726151250, -0.890226722953575080, -0.890203945955432060, -0.890181166731779160, -0.890158385282673210, -0.890135601608171510, +-0.890112815708330670, -0.890090027583207990, -0.890067237232859850, -0.890044444657343890, -0.890021649856716830, -0.889998852831035640, -0.889976053580357140, -0.889953252104738750, +-0.889930448404237180, -0.889907642478909410, -0.889884834328812380, -0.889862023954003490, -0.889839211354539580, -0.889816396530477390, -0.889793579481874430, -0.889770760208787540, +-0.889747938711273670, -0.889725114989389780, -0.889702289043193370, -0.889679460872741190, -0.889656630478090400, -0.889633797859297750, -0.889610963016420840, -0.889588125949516530, +-0.889565286658641980, -0.889542445143853940, -0.889519601405209910, -0.889496755442766960, -0.889473907256582150, -0.889451056846712330, -0.889428204213215110, -0.889405349356147350, +-0.889382492275565980, -0.889359632971528650, -0.889336771444092180, -0.889313907693313870, -0.889291041719250550, -0.889268173521959750, -0.889245303101498630, -0.889222430457924150, +-0.889199555591293490, -0.889176678501664040, -0.889153799189092990, -0.889130917653637390, -0.889108033895354310, -0.889085147914301270, -0.889062259710535430, -0.889039369284113980, +-0.889016476635093870, -0.888993581763532830, -0.888970684669487700, -0.888947785353015770, -0.888924883814174560, -0.888901980053021120, -0.888879074069612640, -0.888856165864006400, +-0.888833255436259910, -0.888810342786430340, -0.888787427914574880, -0.888764510820750590, -0.888741591505015300, -0.888718669967425990, -0.888695746208039930, -0.888672820226914410, +-0.888649892024107050, -0.888626961599674910, -0.888604028953675410, -0.888581094086165590, -0.888558156997203200, -0.888535217686845510, -0.888512276155149490, -0.888489332402173090, +-0.888466386427973260, -0.888443438232607520, -0.888420487816133030, -0.888397535178607420, -0.888374580320087980, -0.888351623240632100, -0.888328663940296970, -0.888305702419140420, +-0.888282738677219630, -0.888259772714591890, -0.888236804531314590, -0.888213834127445480, -0.888190861503041830, -0.888167886658160930, -0.888144909592860190, -0.888121930307197330, +-0.888098948801229640, -0.888075965075014630, -0.888052979128609480, -0.888029990962072020, -0.888007000575459670, -0.887984007968829590, -0.887961013142239630, -0.887938016095747300, +-0.887915016829409760, -0.887892015343284550, -0.887869011637429480, -0.887846005711901980, -0.887822997566759310, -0.887799987202058990, -0.887776974617858980, -0.887753959814216450, +-0.887730942791189140, -0.887707923548834100, -0.887684902087209630, -0.887661878406372780, -0.887638852506381300, -0.887615824387292470, -0.887592794049164250, -0.887569761492054020, +-0.887546726716019310, -0.887523689721117840, -0.887500650507407230, -0.887477609074945000, -0.887454565423788530, -0.887431519553995800, -0.887408471465624290, -0.887385421158731650, +-0.887362368633375250, -0.887339313889613070, -0.887316256927502710, -0.887293197747101580, -0.887270136348467410, -0.887247072731657930, -0.887224006896730870, -0.887200938843743850, +-0.887177868572754160, -0.887154796083819970, -0.887131721376998920, -0.887108644452348270, -0.887085565309926330, -0.887062483949790370, -0.887039400371998240, -0.887016314576607350, +-0.886993226563675960, -0.886970136333261490, -0.886947043885421670, -0.886923949220214000, -0.886900852337696670, -0.886877753237927280, -0.886854651920963470, -0.886831548386862730, +-0.886808442635683370, -0.886785334667482990, -0.886762224482319230, -0.886739112080249690, -0.886715997461332560, -0.886692880625625460, -0.886669761573186220, -0.886646640304072250, +-0.886623516818341950, -0.886600391116052820, -0.886577263197262600, -0.886554133062029350, -0.886531000710410800, -0.886507866142464680, -0.886484729358248740, -0.886461590357821240, +-0.886438449141239700, -0.886415305708562080, -0.886392160059845890, -0.886369012195149630, -0.886345862114530700, -0.886322709818047280, -0.886299555305756770, -0.886276398577717560, +-0.886253239633987500, -0.886230078474624210, -0.886206915099685520, -0.886183749509229850, -0.886160581703314690, -0.886137411681997890, -0.886114239445337850, -0.886091064993392070, +-0.886067888326218740, -0.886044709443875480, -0.886021528346420670, -0.885998345033911950, -0.885975159506407480, -0.885951971763964790, -0.885928781806642470, -0.885905589634498170, +-0.885882395247589830, -0.885859198645975400, -0.885835999829713060, -0.885812798798860770, -0.885789595553476580, -0.885766390093618130, -0.885743182419343910, -0.885719972530711660, +-0.885696760427779340, -0.885673546110605340, -0.885650329579247500, -0.885627110833763780, -0.885603889874212010, -0.885580666700650830, -0.885557441313137960, -0.885534213711731470, +-0.885510983896489300, -0.885487751867469860, -0.885464517624731000, -0.885441281168330870, -0.885418042498327230, -0.885394801614778790, -0.885371558517743410, -0.885348313207279030, +-0.885325065683443710, -0.885301815946295870, -0.885278563995893550, -0.885255309832294610, -0.885232053455557550, -0.885208794865740440, -0.885185534062901350, -0.885162271047098100, +-0.885139005818389450, -0.885115738376833330, -0.885092468722487810, -0.885069196855410970, -0.885045922775661300, -0.885022646483296760, -0.884999367978375640, -0.884976087260956000, +-0.884952804331096240, -0.884929519188854430, -0.884906231834288960, -0.884882942267457560, -0.884859650488419190, -0.884836356497231580, -0.884813060293953010, -0.884789761878641670, +-0.884766461251356160, -0.884743158412154450, -0.884719853361094710, -0.884696546098235450, -0.884673236623634840, -0.884649924937351170, -0.884626611039442510, -0.884603294929967480, +-0.884579976608984240, -0.884556656076550980, -0.884533333332725990, -0.884510008377567770, -0.884486681211134610, -0.884463351833484680, -0.884440020244676160, -0.884416686444767900, +-0.884393350433817840, -0.884370012211884380, -0.884346671779025820, -0.884323329135300650, -0.884299984280767170, -0.884276637215483550, -0.884253287939508640, -0.884229936452900380, +-0.884206582755717290, -0.884183226848017530, -0.884159868729859970, -0.884136508401302760, -0.884113145862404190, -0.884089781113222670, -0.884066414153816820, -0.884043044984244910, +-0.884019673604565460, -0.883996300014836530, -0.883972924215117080, -0.883949546205465400, -0.883926165985939760, -0.883902783556598570, -0.883879398917500670, -0.883856012068704120, +-0.883832623010267440, -0.883809231742249460, -0.883785838264708250, -0.883762442577702530, -0.883739044681290500, -0.883715644575531090, -0.883692242260482490, -0.883668837736203310, +-0.883645431002751840, -0.883622022060187030, -0.883598610908567170, -0.883575197547950770, -0.883551781978396120, -0.883528364199962280, -0.883504944212707530, -0.883481522016690390, +-0.883458097611969250, -0.883434670998603070, -0.883411242176650240, -0.883387811146169270, -0.883364377907218560, -0.883340942459857060, -0.883317504804143280, -0.883294064940135510, +-0.883270622867892820, -0.883247178587473590, -0.883223732098936340, -0.883200283402339580, -0.883176832497742370, -0.883153379385203000, -0.883129924064780300, -0.883106466536532460, +-0.883083006800518660, -0.883059544856797380, -0.883036080705427270, -0.883012614346466720, -0.882989145779974890, -0.882965675006010200, -0.882942202024631250, -0.882918726835896560, +-0.882895249439865300, -0.882871769836595990, -0.882848288026147010, -0.882824804008577440, -0.882801317783945990, -0.882777829352311190, -0.882754338713731550, -0.882730845868266330, +-0.882707350815973960, -0.882683853556913260, -0.882660354091142630, -0.882636852418721470, -0.882613348539708080, -0.882589842454161280, -0.882566334162139810, -0.882542823663702620, +-0.882519310958908340, -0.882495796047815810, -0.882472278930483630, -0.882448759606970890, -0.882425238077336300, -0.882401714341638390, -0.882378188399936430, -0.882354660252288920, +-0.882331129898754840, -0.882307597339392680, -0.882284062574261730, -0.882260525603420720, -0.882236986426928270, -0.882213445044843230, -0.882189901457224760, -0.882166355664131490, +-0.882142807665622470, -0.882119257461756120, -0.882095705052591830, -0.882072150438188320, -0.882048593618604330, -0.882025034593898800, -0.882001473364130820, -0.881977909929359090, +-0.881954344289642700, -0.881930776445040140, -0.881907206395610930, -0.881883634141413690, -0.881860059682507140, -0.881836483018950680, -0.881812904150802930, -0.881789323078122970, +-0.881765739800969510, -0.881742154319401950, -0.881718566633478920, -0.881694976743259470, -0.881671384648802460, -0.881647790350167160, -0.881624193847412310, -0.881600595140597080, +-0.881576994229780090, -0.881553391115020850, -0.881529785796378080, -0.881506178273910870, -0.881482568547678040, -0.881458956617738990, -0.881435342484152560, -0.881411726146977600, +-0.881388107606273510, -0.881364486862099120, -0.881340863914513490, -0.881317238763575480, -0.881293611409344590, -0.881269981851879770, -0.881246350091239860, -0.881222716127483930, +-0.881199079960671480, -0.881175441590861250, -0.881151801018112410, -0.881128158242483920, -0.881104513264035270, -0.881080866082825210, -0.881057216698913130, -0.881033565112357640, +-0.881009911323218600, -0.880986255331554720, -0.880962597137424970, -0.880938936740888970, -0.880915274142005660, -0.880891609340834100, -0.880867942337433260, -0.880844273131862860, +-0.880820601724181750, -0.880796928114449210, -0.880773252302724070, -0.880749574289065970, -0.880725894073533970, -0.880702211656187230, -0.880678527037084820, -0.880654840216286260, +-0.880631151193850600, -0.880607459969837030, -0.880583766544304590, -0.880560070917313030, -0.880536373088921190, -0.880512673059188230, -0.880488970828173900, -0.880465266395937030, +-0.880441559762537020, -0.880417850928032930, -0.880394139892484380, -0.880370426655950560, -0.880346711218490620, -0.880322993580163640, -0.880299273741029450, -0.880275551701147130, +-0.880251827460575840, -0.880228101019374760, -0.880204372377603740, -0.880180641535321720, -0.880156908492588100, -0.880133173249461940, -0.880109435806003200, -0.880085696162270730, +-0.880061954318324120, -0.880038210274222350, -0.880014464030025260, -0.879990715585792120, -0.879966964941581890, -0.879943212097454410, -0.879919457053468970, -0.879895699809684850, +-0.879871940366161340, -0.879848178722958170, -0.879824414880134520, -0.879800648837749890, -0.879776880595863340, -0.879753110154534830, -0.879729337513823540, -0.879705562673788970, +-0.879681785634490180, -0.879658006395987240, -0.879634224958339210, -0.879610441321605710, -0.879586655485845800, -0.879562867451119450, -0.879539077217486030, -0.879515284785004630, +-0.879491490153735290, -0.879467693323737200, -0.879443894295069860, -0.879420093067792560, -0.879396289641965260, -0.879372484017647230, -0.879348676194897980, -0.879324866173776920, +-0.879301053954343770, -0.879277239536658040, -0.879253422920779240, -0.879229604106766650, -0.879205783094680230, -0.879181959884579370, -0.879158134476523690, -0.879134306870572370, +-0.879110477066785580, -0.879086645065222490, -0.879062810865942620, -0.879038974469005920, -0.879015135874471890, -0.878991295082399930, -0.878967452092849430, -0.878943606905880690, +-0.878919759521552770, -0.878895909939925610, -0.878872058161058400, -0.878848204185011190, -0.878824348011843500, -0.878800489641615060, -0.878776629074385030, -0.878752766310213710, +-0.878728901349160480, -0.878705034191284980, -0.878681164836646710, -0.878657293285305620, -0.878633419537321440, -0.878609543592753670, -0.878585665451661830, -0.878561785114105990, +-0.878537902580145750, -0.878514017849840510, -0.878490130923250460, -0.878466241800435090, -0.878442350481454140, -0.878418456966367000, -0.878394561255233960, -0.878370663348114640, +-0.878346763245068550, -0.878322860946155300, -0.878298956451435190, -0.878275049760967710, -0.878251140874812600, -0.878227229793029360, -0.878203316515678290, -0.878179401042818890, +-0.878155483374511100, -0.878131563510814230, -0.878107641451788770, -0.878083717197494230, -0.878059790747990120, -0.878035862103336730, -0.878011931263593780, -0.877987998228820900, +-0.877964062999077920, -0.877940125574424910, -0.877916185954921600, -0.877892244140627830, -0.877868300131603220, -0.877844353927908160, -0.877820405529602170, -0.877796454936745070, +-0.877772502149396730, -0.877748547167617300, -0.877724589991466520, -0.877700630621004340, -0.877676669056290270, -0.877652705297384710, -0.877628739344347490, -0.877604771197238120, +-0.877580800856117120, -0.877556828321044090, -0.877532853592079000, -0.877508876669281460, -0.877484897552712080, -0.877460916242430390, -0.877436932738496430, -0.877412947040969840, +-0.877388959149911220, -0.877364969065380200, -0.877340976787436720, -0.877316982316140530, -0.877292985651552120, -0.877268986793731330, -0.877244985742737900, -0.877220982498632010, +-0.877196977061473700, -0.877172969431323060, -0.877148959608239800, -0.877124947592284210, -0.877100933383516360, -0.877076916981996190, -0.877052898387783440, -0.877028877600938730, +-0.877004854621521780, -0.876980829449592770, -0.876956802085211320, -0.876932772528438260, -0.876908740779333120, -0.876884706837956270, -0.876860670704367350, -0.876836632378626970, +-0.876812591860794970, -0.876788549150931520, -0.876764504249096580, -0.876740457155350540, -0.876716407869753240, -0.876692356392365090, -0.876668302723245700, -0.876644246862455790, +-0.876620188810055320, -0.876596128566104140, -0.876572066130662850, -0.876548001503791420, -0.876523934685550010, -0.876499865675998470, -0.876475794475197520, -0.876451721083207120, +-0.876427645500087340, -0.876403567725898340, -0.876379487760700520, -0.876355405604554050, -0.876331321257519000, -0.876307234719655550, -0.876283145991024190, -0.876259055071684890, +-0.876234961961698030, -0.876210866661123470, -0.876186769170022030, -0.876162669488453670, -0.876138567616478350, -0.876114463554156900, -0.876090357301549270, -0.876066248858715760, +-0.876042138225716300, -0.876018025402611870, -0.875993910389462280, -0.875969793186327950, -0.875945673793268930, -0.875921552210345960, -0.875897428437619090, -0.875873302475148610, +-0.875849174322994690, -0.875825043981217970, -0.875800911449878820, -0.875776776729037200, -0.875752639818753510, -0.875728500719088480, -0.875704359430102160, -0.875680215951854750, +-0.875656070284406950, -0.875631922427819060, -0.875607772382151260, -0.875583620147463940, -0.875559465723817710, -0.875535309111272750, -0.875511150309889690, -0.875486989319728350, +-0.875462826140849910, -0.875438660773314340, -0.875414493217182120, -0.875390323472513440, -0.875366151539369140, -0.875341977417809500, -0.875317801107894920, -0.875293622609685680, +-0.875269441923242520, -0.875245259048625710, -0.875221073985895880, -0.875196886735113090, -0.875172697296338290, -0.875148505669631760, -0.875124311855053680, -0.875100115852665120, +-0.875075917662526240, -0.875051717284697660, -0.875027514719239450, -0.875003309966212670, -0.874979103025677720, -0.874954893897694870, -0.874930682582324650, -0.874906469079627990, +-0.874882253389665080, -0.874858035512496520, -0.874833815448182730, -0.874809593196784530, -0.874785368758362440, -0.874761142132976950, -0.874736913320688260, -0.874712682321557630, +-0.874688449135645250, -0.874664213763011510, -0.874639976203717360, -0.874615736457823420, -0.874591494525390090, -0.874567250406477760, -0.874543004101147600, -0.874518755609459910, +-0.874494504931475400, -0.874470252067254260, -0.874445997016857770, -0.874421739780346320, -0.874397480357780530, -0.874373218749220800, -0.874348954954728200, -0.874324688974363220, +-0.874300420808186600, -0.874276150456258620, -0.874251877918640450, -0.874227603195392720, -0.874203326286575710, -0.874179047192250590, -0.874154765912477760, -0.874130482447318170, +-0.874106196796832100, -0.874081908961080730, -0.874057618940124570, -0.874033326734024450, -0.874009032342840770, -0.873984735766634710, -0.873960437005466770, -0.873936136059397790, +-0.873911832928488170, -0.873887527612799310, -0.873863220112391590, -0.873838910427325750, -0.873814598557662410, -0.873790284503462970, -0.873765968264787700, -0.873741649841697220, +-0.873717329234252940, -0.873693006442515240, -0.873668681466545080, -0.873644354306403080, -0.873620024962150300, -0.873595693433847460, -0.873571359721555530, -0.873547023825334780, +-0.873522685745246830, -0.873498345481352080, -0.873474003033711590, -0.873449658402385750, -0.873425311587436080, -0.873400962588923080, -0.873376611406907590, -0.873352258041450450, +-0.873327902492612940, -0.873303544760455570, -0.873279184845039300, -0.873254822746424960, -0.873230458464673730, -0.873206091999846330, -0.873181723352003610, -0.873157352521206740, +-0.873132979507516340, -0.873108604310993690, -0.873084226931699180, -0.873059847369694440, -0.873035465625039970, -0.873011081697796950, -0.872986695588025880, -0.872962307295788390, +-0.872937916821145080, -0.872913524164157020, -0.872889129324884830, -0.872864732303390120, -0.872840333099733630, -0.872815931713976200, -0.872791528146178770, -0.872767122396402750, +-0.872742714464708860, -0.872718304351158050, -0.872693892055811720, -0.872669477578730590, -0.872645060919975730, -0.872620642079608100, -0.872596221057688970, -0.872571797854279410, +-0.872547372469440250, -0.872522944903232570, -0.872498515155717640, -0.872474083226956410, -0.872449649117010060, -0.872425212825939320, -0.872400774353805700, -0.872376333700670250, +-0.872351890866593930, -0.872327445851637680, -0.872302998655862920, -0.872278549279330790, -0.872254097722102050, -0.872229643984238300, -0.872205188065800390, -0.872180729966849590, +-0.872156269687446640, -0.872131807227653270, -0.872107342587530420, -0.872082875767139170, -0.872058406766540560, -0.872033935585796120, -0.872009462224966890, -0.871984986684113950, +-0.871960508963298350, -0.871936029062581720, -0.871911546982024890, -0.871887062721689370, -0.871862576281635880, -0.871838087661926160, -0.871813596862621280, -0.871789103883782280, +-0.871764608725470460, -0.871740111387747210, -0.871715611870673810, -0.871691110174311110, -0.871666606298720730, -0.871642100243963940, -0.871617592010101920, -0.871593081597195730, +-0.871568569005306990, -0.871544054234496880, -0.871519537284826560, -0.871495018156357220, -0.871470496849150570, -0.871445973363267680, -0.871421447698769840, -0.871396919855718100, +-0.871372389834174420, -0.871347857634199640, -0.871323323255855260, -0.871298786699202350, -0.871274247964302750, -0.871249707051217400, -0.871225163960007710, -0.871200618690735280, +-0.871176071243461190, -0.871151521618247050, -0.871126969815153920, -0.871102415834243530, -0.871077859675577050, -0.871053301339215990, -0.871028740825221410, -0.871004178133655160, +-0.870979613264578620, -0.870955046218052860, -0.870930476994139390, -0.870905905592899930, -0.870881332014395660, -0.870856756258688080, -0.870832178325838480, -0.870807598215908580, +-0.870783015928959680, -0.870758431465052940, -0.870733844824250420, -0.870709256006613310, -0.870684665012203100, -0.870660071841080960, -0.870635476493308860, -0.870610878968947950, +-0.870586279268059980, -0.870561677390706110, -0.870537073336948190, -0.870512467106847600, -0.870487858700465860, -0.870463248117864350, -0.870438635359104820, -0.870414020424248760, +-0.870389403313357570, -0.870364784026492640, -0.870340162563716050, -0.870315538925089060, -0.870290913110672970, -0.870266285120529840, -0.870241654954720940, -0.870217022613308020, +-0.870192388096352240, -0.870167751403915670, -0.870143112536059800, -0.870118471492846160, -0.870093828274336010, -0.870069182880591650, -0.870044535311674250, -0.870019885567645530, +-0.869995233648566790, -0.869970579554500300, -0.869945923285507350, -0.869921264841649560, -0.869896604222988420, -0.869871941429586020, -0.869847276461503730, -0.869822609318803170, +-0.869797940001545980, -0.869773268509794080, -0.869748594843609110, -0.869723919003052350, -0.869699240988185960, -0.869674560799071570, -0.869649878435770800, -0.869625193898345030, +-0.869600507186856550, -0.869575818301366770, -0.869551127241937500, -0.869526434008630060, -0.869501738601506920, -0.869477041020629280, -0.869452341266059080, -0.869427639337857940, +-0.869402935236087800, -0.869378228960810300, -0.869353520512087250, -0.869328809889980290, -0.869304097094551360, -0.869279382125862310, -0.869254664983974520, -0.869229945668950400, +-0.869205224180851220, -0.869180500519739160, -0.869155774685675510, -0.869131046678722760, -0.869106316498942320, -0.869081584146396020, -0.869056849621145600, -0.869032112923253330, +-0.869007374052780720, -0.868982633009789730, -0.868957889794341850, -0.868933144406499600, -0.868908396846324370, -0.868883647113878220, -0.868858895209222660, -0.868834141132420080, +-0.868809384883532210, -0.868784626462620670, -0.868759865869747740, -0.868735103104975150, -0.868710338168364850, -0.868685571059978460, -0.868660801779878260, -0.868636030328126200, +-0.868611256704784010, -0.868586480909913420, -0.868561702943576930, -0.868536922805836050, -0.868512140496752960, -0.868487356016389270, -0.868462569364807480, -0.868437780542069220, +-0.868412989548236540, -0.868388196383371060, -0.868363401047535400, -0.868338603540791290, -0.868313803863200560, -0.868289002014825170, -0.868264197995727400, -0.868239391805969210, +-0.868214583445612310, -0.868189772914719220, -0.868164960213351660, -0.868140145341571690, -0.868115328299441160, -0.868090509087022450, -0.868065687704377530, -0.868040864151568450, +-0.868016038428656930, -0.867991210535705490, -0.867966380472776080, -0.867941548239930750, -0.867916713837231240, -0.867891877264740260, -0.867867038522519450, -0.867842197610631190, +-0.867817354529137110, -0.867792509278099920, -0.867767661857581470, -0.867742812267643600, -0.867717960508349040, -0.867693106579759400, -0.867668250481937080, -0.867643392214943910, +-0.867618531778842520, -0.867593669173694740, -0.867568804399562850, -0.867543937456508710, -0.867519068344594910, -0.867494197063883420, -0.867469323614436520, -0.867444447996316040, +-0.867419570209584710, -0.867394690254304380, -0.867369808130537320, -0.867344923838345610, -0.867320037377791730, -0.867295148748937760, -0.867270257951845760, -0.867245364986578340, +-0.867220469853197450, -0.867195572551765380, -0.867170673082344190, -0.867145771444996490, -0.867120867639784470, -0.867095961666770170, -0.867071053526015770, -0.867046143217584000, +-0.867021230741536920, -0.866996316097936700, -0.866971399286845410, -0.866946480308325880, -0.866921559162440180, -0.866896635849250590, -0.866871710368819160, -0.866846782721208630, +-0.866821852906481280, -0.866796920924698950, -0.866771986775924600, -0.866747050460220270, -0.866722111977648370, -0.866697171328270840, -0.866672228512150640, -0.866647283529349940, +-0.866622336379931020, -0.866597387063956060, -0.866572435581487780, -0.866547481932588460, -0.866522526117320390, -0.866497568135745740, -0.866472607987927470, -0.866447645673927740, +-0.866422681193808830, -0.866397714547632920, -0.866372745735463080, -0.866347774757361360, -0.866322801613390150, -0.866297826303611630, -0.866272848828088860, -0.866247869186884010, +-0.866222887380059260, -0.866197903407677440, -0.866172917269800950, -0.866147928966492060, -0.866122938497813190, -0.866097945863827160, -0.866072951064596360, -0.866047954100183090, +-0.866022954970649740, -0.865997953676059250, -0.865972950216473800, -0.865947944591956010, -0.865922936802568160, -0.865897926848373190, -0.865872914729433400, -0.865847900445811390, +-0.865822883997569240, -0.865797865384770220, -0.865772844607476610, -0.865747821665750480, -0.865722796559655120, -0.865697769289252790, -0.865672739854606020, -0.865647708255777190, +-0.865622674492829260, -0.865597638565824720, -0.865572600474825980, -0.865547560219895540, -0.865522517801096460, -0.865497473218491130, -0.865472426472142060, -0.865447377562111760, +-0.865422326488463180, -0.865397273251258810, -0.865372217850561180, -0.865347160286432880, -0.865322100558936880, -0.865297038668135570, -0.865271974614091550, -0.865246908396867690, +-0.865221840016526690, -0.865196769473130960, -0.865171696766743210, -0.865146621897426420, -0.865121544865242950, -0.865096465670255780, -0.865071384312527060, -0.865046300792120190, +-0.865021215109097570, -0.864996127263521930, -0.864971037255455770, -0.864945945084962140, -0.864920850752103790, -0.864895754256943210, -0.864870655599543010, -0.864845554779966500, +-0.864820451798275940, -0.864795346654534390, -0.864770239348804150, -0.864745129881148600, -0.864720018251630250, -0.864694904460311610, -0.864669788507255950, -0.864644670392525790, +-0.864619550116183970, -0.864594427678292980, -0.864569303078916220, -0.864544176318116200, -0.864519047395955640, -0.864493916312497390, -0.864468783067804500, -0.864443647661939600, +-0.864418510094965730, -0.864393370366945190, -0.864368228477941590, -0.864343084428017330, -0.864317938217235350, -0.864292789845658380, -0.864267639313349600, -0.864242486620371730, +-0.864217331766787390, -0.864192174752660080, -0.864167015578052200, -0.864141854243026810, -0.864116690747646520, -0.864091525091974840, -0.864066357276074280, -0.864041187300007780, +-0.864016015163838190, -0.863990840867628670, -0.863965664411442180, -0.863940485795341440, -0.863915305019389290, -0.863890122083649130, -0.863864936988183670, -0.863839749733055770, +-0.863814560318328370, -0.863789368744064760, -0.863764175010327650, -0.863738979117180010, -0.863713781064685100, -0.863688580852905790, -0.863663378481904890, -0.863638173951745470, +-0.863612967262490700, -0.863587758414203540, -0.863562547406947050, -0.863537334240783940, -0.863512118915777730, -0.863486901431991250, -0.863461681789487460, -0.863436459988329300, +-0.863411236028580160, -0.863386009910302900, -0.863360781633560670, -0.863335551198416320, -0.863310318604933240, -0.863285083853174370, -0.863259846943202570, -0.863234607875081330, +-0.863209366648873600, -0.863184123264642560, -0.863158877722450920, -0.863133630022362320, -0.863108380164439580, -0.863083128148745880, -0.863057873975344170, -0.863032617644298060, +-0.863007359155670390, -0.862982098509524230, -0.862956835705922630, -0.862931570744929210, -0.862906303626606920, -0.862881034351018820, -0.862855762918227850, -0.862830489328297760, +-0.862805213581291470, -0.862779935677272070, -0.862754655616302600, -0.862729373398446800, -0.862704089023767500, -0.862678802492327760, -0.862653513804191310, -0.862628222959420990, +-0.862602929958080190, -0.862577634800231750, -0.862552337485939510, -0.862527038015266420, -0.862501736388275760, -0.862476432605030490, -0.862451126665594310, -0.862425818570030420, +-0.862400508318401980, -0.862375195910771940, -0.862349881347204250, -0.862324564627761750, -0.862299245752507940, -0.862273924721505770, -0.862248601534818970, -0.862223276192510710, +-0.862197948694644060, -0.862172619041282730, -0.862147287232489790, -0.862121953268328740, -0.862096617148862430, -0.862071278874154910, -0.862045938444269240, -0.862020595859268600, +-0.861995251119216380, -0.861969904224176190, -0.861944555174211200, -0.861919203969384930, -0.861893850609760310, -0.861868495095401310, -0.861843137426371090, -0.861817777602733040, +-0.861792415624550330, -0.861767051491886820, -0.861741685204805650, -0.861716316763370130, -0.861690946167643860, -0.861665573417690340, -0.861640198513572870, -0.861614821455354730, +-0.861589442243099750, -0.861564060876871100, -0.861538677356732290, -0.861513291682746600, -0.861487903854977870, -0.861462513873489490, -0.861437121738344750, -0.861411727449607030, +-0.861386331007340080, -0.861360932411607380, -0.861335531662472450, -0.861310128759998350, -0.861284723704249130, -0.861259316495288200, -0.861233907133178930, -0.861208495617984630, +-0.861183081949769450, -0.861157666128596460, -0.861132248154529050, -0.861106828027631280, -0.861081405747966430, -0.861055981315598130, -0.861030554730589650, -0.861005125993004940, +-0.860979695102907390, -0.860954262060360740, -0.860928826865428040, -0.860903389518173580, -0.860877950018660740, -0.860852508366952930, -0.860827064563113640, -0.860801618607206830, +-0.860776170499296110, -0.860750720239444880, -0.860725267827716630, -0.860699813264175440, -0.860674356548884690, -0.860648897681907890, -0.860623436663309090, -0.860597973493151590, +-0.860572508171499220, -0.860547040698415370, -0.860521571073964210, -0.860496099298209030, -0.860470625371213550, -0.860445149293041390, -0.860419671063756500, -0.860394190683422490, +-0.860368708152102980, -0.860343223469861470, -0.860317736636762140, -0.860292247652868490, -0.860266756518244250, -0.860241263232952800, -0.860215767797058440, -0.860190270210624660, +-0.860164770473714980, -0.860139268586393670, -0.860113764548724120, -0.860088258360770190, -0.860062750022595360, -0.860037239534263920, -0.860011726895839380, -0.859986212107385460, +-0.859960695168965890, -0.859935176080644740, -0.859909654842485600, -0.859884131454552340, -0.859858605916908660, -0.859833078229618520, -0.859807548392745760, -0.859782016406354210, +-0.859756482270507270, -0.859730945985269450, -0.859705407550704130, -0.859679866966875150, -0.859654324233846800, -0.859628779351682470, -0.859603232320446330, -0.859577683140201780, +-0.859552131811013310, -0.859526578332944550, -0.859501022706059330, -0.859475464930421260, -0.859449905006094860, -0.859424342933143630, -0.859398778711631510, -0.859373212341622230, +-0.859347643823180190, -0.859322073156368990, -0.859296500341252710, -0.859270925377894850, -0.859245348266359900, -0.859219769006711600, -0.859194187599014000, -0.859168604043330510, +-0.859143018339725840, -0.859117430488263610, -0.859091840489007550, -0.859066248342022170, -0.859040654047371180, -0.859015057605118540, -0.858989459015327970, -0.858963858278063990, +-0.858938255393390420, -0.858912650361371210, -0.858887043182070100, -0.858861433855551580, -0.858835822381879610, -0.858810208761118020, -0.858784592993330540, -0.858758975078582010, +-0.858733355016935930, -0.858707732808456470, -0.858682108453207470, -0.858656481951253440, -0.858630853302658200, -0.858605222507485610, -0.858579589565800160, -0.858553954477665800, +-0.858528317243146490, -0.858502677862306160, -0.858477036335209440, -0.858451392661920050, -0.858425746842502170, -0.858400098877019730, -0.858374448765537260, -0.858348796508118680, +-0.858323142104828070, -0.858297485555729490, -0.858271826860887320, -0.858246166020365630, -0.858220503034228480, -0.858194837902539920, -0.858169170625364350, -0.858143501202766060, +-0.858117829634808650, -0.858092155921556850, -0.858066480063074730, -0.858040802059426460, -0.858015121910675860, -0.857989439616887780, -0.857963755178126060, -0.857938068594454980, +-0.857912379865938380, -0.857886688992641200, -0.857860995974627280, -0.857835300811960800, -0.857809603504705920, -0.857783904052927150, -0.857758202456688770, -0.857732498716054730, +-0.857706792831089300, -0.857681084801857120, -0.857655374628422230, -0.857629662310848810, -0.857603947849201130, -0.857578231243543710, -0.857552512493940820, -0.857526791600456420, +-0.857501068563155110, -0.857475343382101300, -0.857449616057359030, -0.857423886588992490, -0.857398154977066510, -0.857372421221645140, -0.857346685322792680, -0.857320947280573400, +-0.857295207095051800, -0.857269464766292290, -0.857243720294359140, -0.857217973679316400, -0.857192224921229040, -0.857166474020161000, -0.857140720976176770, -0.857114965789340650, +-0.857089208459717260, -0.857063448987370860, -0.857037687372365520, -0.857011923614766300, -0.856986157714637260, -0.856960389672042800, -0.856934619487047190, -0.856908847159715160, +-0.856883072690111100, -0.856857296078299300, -0.856831517324344150, -0.856805736428310260, -0.856779953390262140, -0.856754168210264070, -0.856728380888380440, -0.856702591424676090, +-0.856676799819215180, -0.856651006072062350, -0.856625210183281640, -0.856599412152938220, -0.856573611981096270, -0.856547809667820070, -0.856522005213174680, -0.856496198617224150, +-0.856470389880033100, -0.856444579001665930, -0.856418765982187470, -0.856392950821662110, -0.856367133520154370, -0.856341314077728620, -0.856315492494449830, -0.856289668770382150, +-0.856263842905590430, -0.856238014900138960, -0.856212184754092550, -0.856186352467515730, -0.856160518040472880, -0.856134681473028740, -0.856108842765248010, -0.856083001917195110, +-0.856057158928934530, -0.856031313800531320, -0.856005466532049790, -0.855979617123554640, -0.855953765575110160, -0.855927911886781520, -0.855902056058633120, -0.855876198090729570, +-0.855850337983135260, -0.855824475735915470, -0.855798611349134370, -0.855772744822856700, -0.855746876157146950, -0.855721005352070410, -0.855695132407691130, -0.855669257324074170, +-0.855643380101283820, -0.855617500739385140, -0.855591619238442850, -0.855565735598521450, -0.855539849819685450, -0.855513961902000130, -0.855488071845529880, -0.855462179650339220, +-0.855436285316493290, -0.855410388844056620, -0.855384490233094040, -0.855358589483670050, -0.855332686595849820, -0.855306781569697750, -0.855280874405278890, -0.855254965102657420, +-0.855229053661898940, -0.855203140083067750, -0.855177224366228780, -0.855151306511446440, -0.855125386518786110, -0.855099464388312190, -0.855073540120089740, -0.855047613714183140, +-0.855021685170657800, -0.854995754489578320, -0.854969821671009100, -0.854943886715015530, -0.854917949621662340, -0.854892010391014150, -0.854866069023135890, -0.854840125518092520, +-0.854814179875948990, -0.854788232096769800, -0.854762282180620000, -0.854736330127564670, -0.854710375937668410, -0.854684419610996390, -0.854658461147612900, -0.854632500547583660, +-0.854606537810973070, -0.854580572937846170, -0.854554605928267600, -0.854528636782302730, -0.854502665500016300, -0.854476692081472920, -0.854450716526738100, -0.854424738835876440, +-0.854398759008953010, -0.854372777046032320, -0.854346792947180080, -0.854320806712460690, -0.854294818341939430, -0.854268827835680810, -0.854242835193750440, -0.854216840416212930, +-0.854190843503133230, -0.854164844454576300, -0.854138843270607520, -0.854112839951291500, -0.854086834496693430, -0.854060826906878120, -0.854034817181910990, -0.854008805321856750, +-0.853982791326780450, -0.853956775196746950, -0.853930756931821740, -0.853904736532069770, -0.853878713997555660, -0.853852689328344900, -0.853826662524502570, -0.853800633586093480, +-0.853774602513182600, -0.853748569305835430, -0.853722533964116790, -0.853696496488091870, -0.853670456877825500, -0.853644415133383290, -0.853618371254829870, -0.853592325242230610, +-0.853566277095650360, -0.853540226815154620, -0.853514174400808230, -0.853488119852676470, -0.853462063170824180, -0.853436004355316970, -0.853409943406219780, -0.853383880323597350, +-0.853357815107515630, -0.853331747758039330, -0.853305678275233630, -0.853279606659163470, -0.853253532909894590, -0.853227457027491810, -0.853201379012020420, -0.853175298863545370, +-0.853149216582132270, -0.853123132167846190, -0.853097045620752280, -0.853070956940915390, -0.853044866128401470, -0.853018773183275350, -0.852992678105602310, -0.852966580895447300, +-0.852940481552876160, -0.852914380077953730, -0.852888276470745170, -0.852862170731316090, -0.852836062859731680, -0.852809952856056990, -0.852783840720357290, -0.852757726452698210, +-0.852731610053144800, -0.852705491521762340, -0.852679370858615890, -0.852653248063771300, -0.852627123137293610, -0.852600996079248000, -0.852574866889699750, -0.852548735568714580, +-0.852522602116357550, -0.852496466532694060, -0.852470328817789060, -0.852444188971708590, -0.852418046994517620, -0.852391902886281530, -0.852365756647065380, -0.852339608276935110, +-0.852313457775955910, -0.852287305144192710, -0.852261150381711570, -0.852234993488577450, -0.852208834464855960, -0.852182673310612150, -0.852156510025911750, -0.852130344610820160, +-0.852104177065402760, -0.852078007389724610, -0.852051835583851780, -0.852025661647849210, -0.851999485581782620, -0.851973307385716970, -0.851947127059718420, -0.851920944603851930, +-0.851894760018183090, -0.851868573302777210, -0.851842384457700000, -0.851816193483016960, -0.851790000378793160, -0.851763805145094530, -0.851737607781986480, -0.851711408289534290, +-0.851685206667803450, -0.851659002916859810, -0.851632797036768640, -0.851606589027595450, -0.851580378889405630, -0.851554166622265130, -0.851527952226239120, -0.851501735701393200, +-0.851475517047792780, -0.851449296265503810, -0.851423073354591550, -0.851396848315121630, -0.851370621147159330, -0.851344391850770820, -0.851318160426021150, -0.851291926872976060, +-0.851265691191701260, -0.851239453382262260, -0.851213213444724560, -0.851186971379153670, -0.851160727185615530, -0.851134480864175650, -0.851108232414899520, -0.851081981837852550, +-0.851055729133100900, -0.851029474300709850, -0.851003217340745240, -0.850976958253272240, -0.850950697038357130, -0.850924433696065300, -0.850898168226462360, -0.850871900629613820, +-0.850845630905585630, -0.850819359054443500, -0.850793085076252620, -0.850766808971079370, -0.850740530738989030, -0.850714250380047440, -0.850687967894319890, -0.850661683281872750, +-0.850635396542771320, -0.850609107677081420, -0.850582816684868570, -0.850556523566198820, -0.850530228321137890, -0.850503930949751300, -0.850477631452104640, -0.850451329828264210, +-0.850425026078295400, -0.850398720202264040, -0.850372412200235630, -0.850346102072276340, -0.850319789818451910, -0.850293475438828050, -0.850267158933470160, -0.850240840302444620, +-0.850214519545817060, -0.850188196663652860, -0.850161871656018530, -0.850135544522979460, -0.850109215264601480, -0.850082883880950320, -0.850056550372092050, -0.850030214738092480, +-0.850003876979017470, -0.849977537094932400, -0.849951195085903780, -0.849924850951997100, -0.849898504693278320, -0.849872156309813160, -0.849845805801667690, -0.849819453168907830, +-0.849793098411599220, -0.849766741529807800, -0.849740382523599620, -0.849714021393040530, -0.849687658138196130, -0.849661292759132820, -0.849634925255916330, -0.849608555628612480, +-0.849582183877287010, -0.849555810002006310, -0.849529434002836090, -0.849503055879842320, -0.849476675633090590, -0.849450293262647430, -0.849423908768578650, -0.849397522150949990, +-0.849371133409827280, -0.849344742545277030, -0.849318349557364850, -0.849291954446156900, -0.849265557211718810, -0.849239157854116970, -0.849212756373417310, -0.849186352769685460, +-0.849159947042988030, -0.849133539193390740, -0.849107129220959660, -0.849080717125760390, -0.849054302907859660, -0.849027886567323090, -0.849001468104216840, -0.848975047518606640, +-0.848948624810559100, -0.848922199980140070, -0.848895773027415480, -0.848869343952451170, -0.848842912755313760, -0.848816479436069080, -0.848790043994783310, -0.848763606431522040, +-0.848737166746352020, -0.848710724939339190, -0.848684281010549380, -0.848657834960048760, -0.848631386787903730, -0.848604936494180230, -0.848578484078944210, -0.848552029542262170, +-0.848525572884200050, -0.848499114104824040, -0.848472653204199960, -0.848446190182394530, -0.848419725039473600, -0.848393257775503340, -0.848366788390549800, -0.848340316884679480, +-0.848313843257958330, -0.848287367510452530, -0.848260889642228120, -0.848234409653351730, -0.848207927543889300, -0.848181443313907100, -0.848154956963470990, -0.848128468492647780, +-0.848101977901503430, -0.848075485190103780, -0.848048990358515780, -0.848022493406805240, -0.847995994335038470, -0.847969493143281410, -0.847942989831600990, -0.847916484400062950, +-0.847889976848733800, -0.847863467177679460, -0.847836955386966680, -0.847810441476661510, -0.847783925446830230, -0.847757407297538900, -0.847730887028854350, -0.847704364640842530, +-0.847677840133569730, -0.847651313507102210, -0.847624784761506600, -0.847598253896848950, -0.847571720913195550, -0.847545185810613000, -0.847518648589167590, -0.847492109248925480, +-0.847465567789952860, -0.847439024212316540, -0.847412478516082700, -0.847385930701317620, -0.847359380768087480, -0.847332828716459210, -0.847306274546498760, -0.847279718258272750, +-0.847253159851847130, -0.847226599327288830, -0.847200036684664040, -0.847173471924039250, -0.847146905045480400, -0.847120336049054570, -0.847093764934828020, -0.847067191702866710, +-0.847040616353237690, -0.847014038886007010, -0.846987459301241420, -0.846960877599006840, -0.846934293779370350, -0.846907707842398110, -0.846881119788156500, -0.846854529616712040, +-0.846827937328131330, -0.846801342922480880, -0.846774746399826970, -0.846748147760236100, -0.846721547003775000, -0.846694944130510050, -0.846668339140507760, -0.846641732033834420, +-0.846615122810556840, -0.846588511470741660, -0.846561898014455030, -0.846535282441763460, -0.846508664752734010, -0.846482044947432840, -0.846455423025926250, -0.846428798988281380, +-0.846402172834564540, -0.846375544564842320, -0.846348914179180900, -0.846322281677647560, -0.846295647060308460, -0.846269010327230120, -0.846242371478479140, -0.846215730514122470, +-0.846189087434226490, -0.846162442238857730, -0.846135794928082660, -0.846109145501968250, -0.846082493960581110, -0.846055840303987730, -0.846029184532254400, -0.846002526645448390, +-0.845975866643636110, -0.845949204526883940, -0.845922540295258930, -0.845895873948827590, -0.845869205487656540, -0.845842534911812270, -0.845815862221361960, -0.845789187416371880, +-0.845762510496908870, -0.845735831463039430, -0.845709150314830630, -0.845682467052348840, -0.845655781675661020, -0.845629094184833340, -0.845602404579933300, -0.845575712861027280, +-0.845549019028181800, -0.845522323081463690, -0.845495625020940000, -0.845468924846677240, -0.845442222558741910, -0.845415518157201170, -0.845388811642121760, -0.845362103013570290, +-0.845335392271613360, -0.845308679416318150, -0.845281964447751170, -0.845255247365979350, -0.845228528171069190, -0.845201806863087990, -0.845175083442102130, -0.845148357908178660, +-0.845121630261384090, -0.845094900501785600, -0.845068168629449890, -0.845041434644443810, -0.845014698546833750, -0.844987960336687330, -0.844961220014071030, -0.844934477579051600, +-0.844907733031695750, -0.844880986372070760, -0.844854237600243470, -0.844827486716280160, -0.844800733720248440, -0.844773978612214930, -0.844747221392246450, -0.844720462060409630, +-0.844693700616771960, -0.844666937061399950, -0.844640171394360650, -0.844613403615720790, -0.844586633725547540, -0.844559861723907730, -0.844533087610868320, -0.844506311386495790, +-0.844479533050857880, -0.844452752604021080, -0.844425970046052350, -0.844399185377018520, -0.844372398596986980, -0.844345609706024460, -0.844318818704197670, -0.844292025591574010, +-0.844265230368220320, -0.844238433034203540, -0.844211633589590390, -0.844184832034448500, -0.844158028368844460, -0.844131222592845450, -0.844104414706517980, -0.844077604709929870, +-0.844050792603147640, -0.844023978386238550, -0.843997162059269110, -0.843970343622307160, -0.843943523075419310, -0.843916700418672620, -0.843889875652133910, -0.843863048775870820, +-0.843836219789950050, -0.843809388694438440, -0.843782555489403730, -0.843755720174912520, -0.843728882751032080, -0.843702043217829270, -0.843675201575371460, -0.843648357823725710, +-0.843621511962958980, -0.843594663993138320, -0.843567813914331220, -0.843540961726604640, -0.843514107430025530, -0.843487251024661040, -0.843460392510578580, -0.843433531887845090, +-0.843406669156527840, -0.843379804316693680, -0.843352937368410330, -0.843326068311744500, -0.843299197146763380, -0.843272323873534460, -0.843245448492124680, -0.843218571002601340, +-0.843191691405031250, -0.843164809699482260, -0.843137925886021210, -0.843111039964715370, -0.843084151935631580, -0.843057261798837780, -0.843030369554400800, -0.843003475202387940, +-0.842976578742866020, -0.842949680175902990, -0.842922779501565690, -0.842895876719921610, -0.842868971831037370, -0.842842064834981140, -0.842815155731819640, -0.842788244521620270, +-0.842761331204450070, -0.842734415780376670, -0.842707498249467330, -0.842680578611789020, -0.842653656867409450, -0.842626733016395790, -0.842599807058815320, -0.842572878994734990, +-0.842545948824222850, -0.842519016547345730, -0.842492082164171040, -0.842465145674766050, -0.842438207079198250, -0.842411266377535050, -0.842384323569843610, -0.842357378656191200, +-0.842330431636645560, -0.842303482511273850, -0.842276531280143460, -0.842249577943321450, -0.842222622500875760, -0.842195664952873460, -0.842168705299381810, -0.842141743540468670, +-0.842114779676201080, -0.842087813706646650, -0.842060845631872330, -0.842033875451946190, -0.842006903166935380, -0.841979928776907300, -0.841952952281929120, -0.841925973682068900, +-0.841898992977393680, -0.841872010167970970, -0.841845025253867950, -0.841818038235152670, -0.841791049111892290, -0.841764057884154320, -0.841737064552005920, -0.841710069115515160, +-0.841683071574749090, -0.841656071929775210, -0.841629070180661350, -0.841602066327474920, -0.841575060370283180, -0.841548052309153640, -0.841521042144154130, -0.841494029875352050, +-0.841467015502815000, -0.841439999026610040, -0.841412980446805350, -0.841385959763468190, -0.841358936976666190, -0.841331912086466630, -0.841304885092937440, -0.841277855996146130, +-0.841250824796160090, -0.841223791493046820, -0.841196756086874280, -0.841169718577709840, -0.841142678965621120, -0.841115637250675400, -0.841088593432940960, -0.841061547512484960, +-0.841034499489374810, -0.841007449363678660, -0.840980397135463910, -0.840953342804798280, -0.840926286371748930, -0.840899227836384040, -0.840872167198771230, -0.840845104458977980, +-0.840818039617071690, -0.840790972673120530, -0.840763903627191890, -0.840736832479353600, -0.840709759229672950, -0.840682683878218100, -0.840655606425056550, -0.840628526870256020, +-0.840601445213883910, -0.840574361456008500, -0.840547275596697060, -0.840520187636017320, -0.840493097574037230, -0.840466005410824500, -0.840438911146446750, -0.840411814780971380, +-0.840384716314466760, -0.840357615747000410, -0.840330513078639930, -0.840303408309453050, -0.840276301439507820, -0.840249192468871750, -0.840222081397612790, -0.840194968225798420, +-0.840167852953496830, -0.840140735580775620, -0.840113616107702520, -0.840086494534345140, -0.840059370860771870, -0.840032245087050100, -0.840005117213247440, -0.839977987239432290, +-0.839950855165672140, -0.839923720992034940, -0.839896584718588080, -0.839869446345400060, -0.839842305872538390, -0.839815163300071000, -0.839788018628065400, -0.839760871856590100, +-0.839733722985712470, -0.839706572015500700, -0.839679418946022160, -0.839652263777345250, -0.839625106509537810, -0.839597947142667560, -0.839570785676802210, -0.839543622112010060, +-0.839516456448358930, -0.839489288685916430, -0.839462118824750860, -0.839434946864930140, -0.839407772806521900, -0.839380596649594080, -0.839353418394214960, -0.839326238040452370, +-0.839299055588374140, -0.839271871038048010, -0.839244684389542470, -0.839217495642925250, -0.839190304798264290, -0.839163111855627200, -0.839135916815082710, -0.839108719676698310, +-0.839081520440542180, -0.839054319106682040, -0.839027115675186290, -0.838999910146122850, -0.838972702519559580, -0.838945492795564180, -0.838918280974205510, -0.838891067055550940, +-0.838863851039668540, -0.838836632926626800, -0.838809412716493450, -0.838782190409336550, -0.838754966005223920, -0.838727739504224190, -0.838700510906405070, -0.838673280211834630, +-0.838646047420580800, -0.838618812532712090, -0.838591575548296330, -0.838564336467401690, -0.838537095290095900, -0.838509852016447680, -0.838482606646524740, -0.838455359180395380, +-0.838428109618127190, -0.838400857959789140, -0.838373604205448930, -0.838346348355174410, -0.838319090409034300, -0.838291830367096540, -0.838264568229429070, -0.838237303996099970, +-0.838210037667177940, -0.838182769242730720, -0.838155498722826690, -0.838128226107533570, -0.838100951396920090, -0.838073674591054310, -0.838046395690004390, -0.838019114693838160, +-0.837991831602624360, -0.837964546416431030, -0.837937259135326350, -0.837909969759378260, -0.837882678288655480, -0.837855384723225960, -0.837828089063157870, -0.837800791308519700, +-0.837773491459379520, -0.837746189515805710, -0.837718885477866100, -0.837691579345629540, -0.837664271119164080, -0.837636960798537890, -0.837609648383819130, -0.837582333875076410, +-0.837555017272377910, -0.837527698575791790, -0.837500377785386220, -0.837473054901230030, -0.837445729923391060, -0.837418402851937920, -0.837391073686938440, -0.837363742428461450, +-0.837336409076575250, -0.837309073631347990, -0.837281736092847730, -0.837254396461143410, -0.837227054736303100, -0.837199710918394960, -0.837172365007487710, -0.837145017003649630, +-0.837117666906948890, -0.837090314717453880, -0.837062960435233210, -0.837035604060355260, -0.837008245592888220, -0.836980885032900250, -0.836953522380460390, -0.836926157635636820, +-0.836898790798497720, -0.836871421869111450, -0.836844050847546870, -0.836816677733872140, -0.836789302528155750, -0.836761925230465780, -0.836734545840871370, -0.836707164359440480, +-0.836679780786241500, -0.836652395121343260, -0.836625007364814040, -0.836597617516722350, -0.836570225577136340, -0.836542831546125080, -0.836515435423756730, -0.836488037210099680, +-0.836460636905222430, -0.836433234509193710, -0.836405830022081910, -0.836378423443955630, -0.836351014774883050, -0.836323604014933110, -0.836296191164174090, -0.836268776222674700, +-0.836241359190503130, -0.836213940067728420, -0.836186518854418750, -0.836159095550642610, -0.836131670156469050, -0.836104242671966260, -0.836076813097202830, -0.836049381432247050, +-0.836021947677168200, -0.835994511832034440, -0.835967073896914380, -0.835939633871876420, -0.835912191756989610, -0.835884747552322340, -0.835857301257943110, -0.835829852873920530, +-0.835802402400323440, -0.835774949837220450, -0.835747495184679940, -0.835720038442770540, -0.835692579611561290, -0.835665118691120590, -0.835637655681516820, -0.835610190582819270, +-0.835582723395096090, -0.835555254118416140, -0.835527782752847890, -0.835500309298460310, -0.835472833755322000, -0.835445356123501680, -0.835417876403067640, -0.835390394594089150, +-0.835362910696634710, -0.835335424710773040, -0.835307936636572550, -0.835280446474102380, -0.835252954223431150, -0.835225459884627490, -0.835197963457759980, -0.835170464942897820, +-0.835142964340109480, -0.835115461649463710, -0.835087956871029100, -0.835060450004874830, -0.835032941051069400, -0.835005430009681300, -0.834977916880780050, -0.834950401664433910, +-0.834922884360711710, -0.834895364969682090, -0.834867843491414300, -0.834840319925976960, -0.834812794273438800, -0.834785266533868420, -0.834757736707335110, -0.834730204793907470, +-0.834702670793654230, -0.834675134706644120, -0.834647596532946510, -0.834620056272629810, -0.834592513925762950, -0.834564969492414650, -0.834537422972654100, -0.834509874366550000, +-0.834482323674170970, -0.834454770895586400, -0.834427216030864890, -0.834399659080075300, -0.834372100043286320, -0.834344538920567480, -0.834316975711987150, -0.834289410417614400, +-0.834261843037517940, -0.834234273571767050, -0.834206702020430460, -0.834179128383577220, -0.834151552661275830, -0.834123974853595800, -0.834096394960605950, -0.834068812982375010, +-0.834041228918971810, -0.834013642770465750, -0.833986054536925540, -0.833958464218420130, -0.833930871815018680, -0.833903277326790040, -0.833875680753803250, -0.833848082096127040, +-0.833820481353830800, -0.833792878526983360, -0.833765273615653780, -0.833737666619910670, -0.833710057539823750, -0.833682446375461630, -0.833654833126893480, -0.833627217794187910, +-0.833599600377414540, -0.833571980876642190, -0.833544359291939930, -0.833516735623376470, -0.833489109871021430, -0.833461482034943630, -0.833433852115212150, -0.833406220111895690, +-0.833378586025063980, -0.833350949854785860, -0.833323311601130160, -0.833295671264166260, -0.833268028843963340, -0.833240384340590220, -0.833212737754115970, -0.833185089084610090, +-0.833157438332141510, -0.833129785496779300, -0.833102130578592500, -0.833074473577650520, -0.833046814494022290, -0.833019153327777100, -0.832991490078983880, -0.832963824747712020, +-0.832936157334030700, -0.832908487838008970, -0.832880816259715660, -0.832853142599220720, -0.832825466856592870, -0.832797789031901050, -0.832770109125215100, -0.832742427136603740, +-0.832714743066136460, -0.832687056913882010, -0.832659368679910080, -0.832631678364289860, -0.832603985967090400, -0.832576291488380750, -0.832548594928230630, -0.832520896286708890, +-0.832493195563885010, -0.832465492759827950, -0.832437787874607320, -0.832410080908292270, -0.832382371860951990, -0.832354660732655520, -0.832326947523472690, -0.832299232233472460, +-0.832271514862723880, -0.832243795411296780, -0.832216073879260220, -0.832188350266683470, -0.832160624573635600, -0.832132896800186430, -0.832105166946405020, -0.832077435012360640, +-0.832049700998122480, -0.832021964903760240, -0.831994226729343200, -0.831966486474940430, -0.831938744140621300, -0.831910999726455550, -0.831883253232512330, -0.831855504658860930, +-0.831827754005570630, -0.831800001272711030, -0.831772246460351530, -0.831744489568561170, -0.831716730597409800, -0.831688969546966580, -0.831661206417300900, -0.831633441208482040, +-0.831605673920579820, -0.831577904553663430, -0.831550133107802240, -0.831522359583065530, -0.831494583979523030, -0.831466806297244230, -0.831439026536298310, -0.831411244696754650, +-0.831383460778683080, -0.831355674782152780, -0.831327886707233450, -0.831300096553994060, -0.831272304322504760, -0.831244510012834610, -0.831216713625053230, -0.831188915159229770, +-0.831161114615434290, -0.831133311993736080, -0.831105507294204290, -0.831077700516908990, -0.831049891661919450, -0.831022080729305170, -0.830994267719135430, -0.830966452631480280, +-0.830938635466409000, -0.830910816223991100, -0.830882994904295960, -0.830855171507393630, -0.830827346033353290, -0.830799518482244650, -0.830771688854136880, -0.830743857149100150, +-0.830716023367203740, -0.830688187508517360, -0.830660349573110300, -0.830632509561052500, -0.830604667472413460, -0.830576823307262570, -0.830548977065669770, -0.830521128747704670, +-0.830493278353436670, -0.830465425882935150, -0.830437571336270390, -0.830409714713511770, -0.830381856014728690, -0.830353995239990870, -0.830326132389368250, -0.830298267462930340, +-0.830270400460746740, -0.830242531382886840, -0.830214660229420920, -0.830186787000418260, -0.830158911695948800, -0.830131034316081710, -0.830103154860887260, -0.830075273330434960, +-0.830047389724794190, -0.830019504044035240, -0.829991616288227490, -0.829963726457440760, -0.829935834551744470, -0.829907940571208760, -0.829880044515903250, -0.829852146385897660, +-0.829824246181261380, -0.829796343902064800, -0.829768439548377310, -0.829740533120268740, -0.829712624617808590, -0.829684714041067140, -0.829656801390113880, -0.829628886665018660, +-0.829600969865850970, -0.829573050992681080, -0.829545130045578500, -0.829517207024613180, -0.829489281929854600, -0.829461354761373060, -0.829433425519238040, -0.829405494203519390, +-0.829377560814287040, -0.829349625351610940, -0.829321687815560700, -0.829293748206206050, -0.829265806523617250, -0.829237862767863930, -0.829209916939016020, -0.829181969037142920, +-0.829154019062315230, -0.829126067014602560, -0.829098112894074650, -0.829070156700801200, -0.829042198434852610, -0.829014238096298590, -0.828986275685208880, -0.828958311201653310, +-0.828930344645702140, -0.828902376017425220, -0.828874405316892050, -0.828846432544173120, -0.828818457699338040, -0.828790480782456870, -0.828762501793599230, -0.828734520732835600, +-0.828706537600235720, -0.828678552395869410, -0.828650565119806500, -0.828622575772117510, -0.828594584352872030, -0.828566590862140020, -0.828538595299991300, -0.828510597666496370, +-0.828482597961724960, -0.828454596185747130, -0.828426592338632470, -0.828398586420451500, -0.828370578431274150, -0.828342568371170150, -0.828314556240209890, -0.828286542038463300, +-0.828258525766000340, -0.828230507422890840, -0.828202487009205290, -0.828174464525013530, -0.828146439970385620, -0.828118413345391380, -0.828090384650101320, -0.828062353884585270, +-0.828034321048913390, -0.828006286143155410, -0.827978249167382050, -0.827950210121662920, -0.827922169006068410, -0.827894125820668240, -0.827866080565532900, -0.827838033240732350, +-0.827809983846336530, -0.827781932382416040, -0.827753878849040610, -0.827725823246280520, -0.827697765574205710, -0.827669705832886680, -0.827641644022393370, -0.827613580142795960, +-0.827585514194164370, -0.827557446176569230, -0.827529376090080370, -0.827501303934768170, -0.827473229710702470, -0.827445153417953990, -0.827417075056592570, -0.827388994626688470, +-0.827360912128311640, -0.827332827561532700, -0.827304740926421810, -0.827276652223049020, -0.827248561451484290, -0.827220468611798430, -0.827192373704061510, -0.827164276728343360, +-0.827136177684714700, -0.827108076573245590, -0.827079973394006410, -0.827051868147066880, -0.827023760832498070, -0.826995651450369800, -0.826967540000752450, -0.826939426483715880, +-0.826911310899331120, -0.826883193247668010, -0.826855073528796950, -0.826826951742787970, -0.826798827889711820, -0.826770701969638640, -0.826742573982638620, -0.826714443928782020, +-0.826686311808139560, -0.826658177620781310, -0.826630041366777310, -0.826601903046198520, -0.826573762659114860, -0.826545620205596960, -0.826517475685714650, -0.826489329099538870, +-0.826461180447139900, -0.826433029728587900, -0.826404876943953040, -0.826376722093306260, -0.826348565176717730, -0.826320406194257730, -0.826292245145996530, -0.826264082032004850, +-0.826235916852353090, -0.826207749607111520, -0.826179580296350300, -0.826151408920140270, -0.826123235478551820, -0.826095059971655110, -0.826066882399520860, -0.826038702762219470, +-0.826010521059821310, -0.825982337292396670, -0.825954151460016380, -0.825925963562750720, -0.825897773600670070, -0.825869581573844820, -0.825841387482345920, -0.825813191326243420, +-0.825784993105608050, -0.825756792820509840, -0.825728590471019990, -0.825700386057208640, -0.825672179579146290, -0.825643971036903350, -0.825615760430550630, -0.825587547760158520, +-0.825559333025797540, -0.825531116227538050, -0.825502897365450910, -0.825474676439606590, -0.825446453450075390, -0.825418228396928130, -0.825390001280235430, -0.825361772100067670, +-0.825333540856495350, -0.825305307549589310, -0.825277072179420030, -0.825248834746058040, -0.825220595249573810, -0.825192353690038290, -0.825164110067521880, -0.825135864382095190, +-0.825107616633828590, -0.825079366822793150, -0.825051114949059360, -0.825022861012697730, -0.824994605013778750, -0.824966346952373470, -0.824938086828552410, -0.824909824642385820, +-0.824881560393944890, -0.824853294083300100, -0.824825025710522080, -0.824796755275681190, -0.824768482778848730, -0.824740208220094970, -0.824711931599490740, -0.824683652917106550, +-0.824655372173013320, -0.824627089367281680, -0.824598804499982350, -0.824570517571185820, -0.824542228580963150, -0.824513937529384950, -0.824485644416521830, -0.824457349242444510, +-0.824429052007223940, -0.824400752710930830, -0.824372451353635460, -0.824344147935409330, -0.824315842456322830, -0.824287534916446680, -0.824259225315851380, -0.824230913654608320, +-0.824202599932787990, -0.824174284150461230, -0.824145966307698430, -0.824117646404570970, -0.824089324441149350, -0.824061000417504520, -0.824032674333706860, -0.824004346189827760, +-0.823976015985937840, -0.823947683722107920, -0.823919349398408500, -0.823891013014910970, -0.823862674571685830, -0.823834334068803800, -0.823805991506336150, -0.823777646884353620, +-0.823749300202926920, -0.823720951462126760, -0.823692600662024430, -0.823664247802690540, -0.823635892884196140, -0.823607535906611730, -0.823579176870008700, -0.823550815774457770, +-0.823522452620029770, -0.823494087406795310, -0.823465720134826000, -0.823437350804192340, -0.823408979414965270, -0.823380605967215520, -0.823352230461014580, -0.823323852896433060, +-0.823295473273541800, -0.823267091592411630, -0.823238707853114040, -0.823210322055719650, -0.823181934200299280, -0.823153544286924220, -0.823125152315665410, -0.823096758286593570, +-0.823068362199779750, -0.823039964055295110, -0.823011563853210730, -0.822983161593597300, -0.822954757276525780, -0.822926350902067560, -0.822897942470293580, -0.822869531981274660, +-0.822841119435081650, -0.822812704831786150, -0.822784288171458880, -0.822755869454170790, -0.822727448679992920, -0.822699025848996570, -0.822670600961252660, -0.822642174016832040, +-0.822613745015806200, -0.822585313958246080, -0.822556880844222630, -0.822528445673806670, -0.822500008447069940, -0.822471569164083150, -0.822443127824917460, -0.822414684429643610, +-0.822386238978333410, -0.822357791471057590, -0.822329341907887200, -0.822300890288893300, -0.822272436614147400, -0.822243980883720420, -0.822215523097683420, -0.822187063256107460, +-0.822158601359064050, -0.822130137406624110, -0.822101671398858700, -0.822073203335839220, -0.822044733217636820, -0.822016261044322460, -0.821987786815967290, -0.821959310532642930, +-0.821930832194420310, -0.821902351801370500, -0.821873869353564660, -0.821845384851074390, -0.821816898293970640, -0.821788409682324580, -0.821759919016207260, -0.821731426295690400, +-0.821702931520845060, -0.821674434691742280, -0.821645935808453240, -0.821617434871049660, -0.821588931879602360, -0.821560426834182840, -0.821531919734861950, -0.821503410581711500, +-0.821474899374802560, -0.821446386114206060, -0.821417870799993950, -0.821389353432237180, -0.821360834011006900, -0.821332312536374290, -0.821303789008411280, -0.821275263427188710, +-0.821246735792777960, -0.821218206105250090, -0.821189674364677050, -0.821161140571129770, -0.821132604724679640, -0.821104066825397830, -0.821075526873356050, -0.821046984868625370, +-0.821018440811277280, -0.820989894701382950, -0.820961346539013980, -0.820932796324241760, -0.820904244057137240, -0.820875689737772360, -0.820847133366218170, -0.820818574942546290, +-0.820790014466827640, -0.820761451939134300, -0.820732887359537310, -0.820704320728107950, -0.820675752044917720, -0.820647181310038220, -0.820618608523540850, -0.820590033685496990, +-0.820561456795977700, -0.820532877855055130, -0.820504296862800240, -0.820475713819284750, -0.820447128724579590, -0.820418541578756930, -0.820389952381887940, -0.820361361134043790, +-0.820332767835296410, -0.820304172485717190, -0.820275575085377520, -0.820246975634348670, -0.820218374132702710, -0.820189770580510680, -0.820161164977844300, -0.820132557324774750, +-0.820103947621374060, -0.820075335867713530, -0.820046722063864530, -0.820018106209898570, -0.819989488305887580, -0.819960868351902960, -0.819932246348016090, -0.819903622294298360, +-0.819874996190821830, -0.819846368037657760, -0.819817737834877770, -0.819789105582553250, -0.819760471280756240, -0.819731834929557920, -0.819703196529029900, -0.819674556079244110, +-0.819645913580271830, -0.819617269032184900, -0.819588622435054480, -0.819559973788952730, -0.819531323093951160, -0.819502670350121140, -0.819474015557534300, -0.819445358716262670, +-0.819416699826377550, -0.819388038887950750, -0.819359375901053570, -0.819330710865758260, -0.819302043782136110, -0.819273374650258850, -0.819244703470197950, -0.819216030242025490, +-0.819187354965812960, -0.819158677641631860, -0.819129998269554240, -0.819101316849651710, -0.819072633381995760, -0.819043947866658130, -0.819015260303710750, -0.818986570693225340, +-0.818957879035273400, -0.818929185329926530, -0.818900489577257030, -0.818871791777336160, -0.818843091930235970, -0.818814390036027740, -0.818785686094783750, -0.818756980106575490, +-0.818728272071474920, -0.818699561989553400, -0.818670849860883120, -0.818642135685535790, -0.818613419463582900, -0.818584701195096630, -0.818555980880148580, -0.818527258518810700, +-0.818498534111154360, -0.818469807657251970, -0.818441079157175010, -0.818412348610995430, -0.818383616018784620, -0.818354881380615070, -0.818326144696558400, -0.818297405966686210, +-0.818268665191070330, -0.818239922369783050, -0.818211177502895960, -0.818182430590481010, -0.818153681632609600, -0.818124930629354320, -0.818096177580786680, -0.818067422486978390, +-0.818038665348001740, -0.818009906163928440, -0.817981144934830320, -0.817952381660779220, -0.817923616341847290, -0.817894848978106380, -0.817866079569628310, -0.817837308116484810, +-0.817808534618748360, -0.817779759076490480, -0.817750981489783200, -0.817722201858698260, -0.817693420183308040, -0.817664636463684370, -0.817635850699898970, -0.817607062892023780, +-0.817578273040131090, -0.817549481144292820, -0.817520687204580820, -0.817491891221066800, -0.817463093193823380, -0.817434293122922150, -0.817405491008434960, -0.817376686850434410, +-0.817347880648992000, -0.817319072404179890, -0.817290262116069920, -0.817261449784734580, -0.817232635410245490, -0.817203818992674910, -0.817175000532094460, -0.817146180028576860, +-0.817117357482193720, -0.817088532893017190, -0.817059706261119120, -0.817030877586572000, -0.817002046869447770, -0.816973214109818380, -0.816944379307755650, -0.816915542463332200, +-0.816886703576619970, -0.816857862647690670, -0.816829019676617030, -0.816800174663470770, -0.816771327608324160, -0.816742478511248930, -0.816713627372317790, -0.816684774191602570, +-0.816655918969175440, -0.816627061705108130, -0.816598202399473560, -0.816569341052343470, -0.816540477663790010, -0.816511612233885020, -0.816482744762701330, -0.816453875250310770, +-0.816425003696785500, -0.816396130102197470, -0.816367254466619400, -0.816338376790123220, -0.816309497072780780, -0.816280615314664890, -0.816251731515847510, -0.816222845676400690, +-0.816193957796396590, -0.816165067875907810, -0.816136175915006310, -0.816107281913764470, -0.816078385872254120, -0.816049487790548090, -0.816020587668718320, -0.815991685506837090, +-0.815962781304976350, -0.815933875063208910, -0.815904966781606840, -0.815876056460242300, -0.815847144099187460, -0.815818229698514920, -0.815789313258296840, -0.815760394778605510, +-0.815731474259512870, -0.815702551701091850, -0.815673627103414400, -0.815644700466552690, -0.815615771790579420, -0.815586841075566780, -0.815557908321587030, -0.815528973528712230, +-0.815500036697015210, -0.815471097826568130, -0.815442156917443370, -0.815413213969712890, -0.815384268983449730, -0.815355321958725730, -0.815326372895613600, -0.815297421794185180, +-0.815268468654513520, -0.815239513476670560, -0.815210556260728910, -0.815181597006760630, -0.815152635714838650, -0.815123672385035030, -0.815094707017421930, -0.815065739612072400, +-0.815036770169058510, -0.815007798688452630, -0.814978825170327050, -0.814949849614754700, -0.814920872021807630, -0.814891892391558350, -0.814862910724079240, -0.814833927019443020, +-0.814804941277721960, -0.814775953498988570, -0.814746963683315120, -0.814717971830774430, -0.814688977941438800, -0.814659982015380810, -0.814630984052672540, -0.814601984053387020, +-0.814572982017596650, -0.814543977945373480, -0.814514971836790670, -0.814485963691920390, -0.814456953510835250, -0.814427941293607520, -0.814398927040310030, -0.814369910751015390, +-0.814340892425795880, -0.814311872064723890, -0.814282849667872570, -0.814253825235313980, -0.814224798767120950, -0.814195770263365540, -0.814166739724121010, -0.814137707149459660, +-0.814108672539454070, -0.814079635894176530, -0.814050597213700100, -0.814021556498097270, -0.813992513747440190, -0.813963468961802160, -0.813934422141255440, -0.813905373285872650, +-0.813876322395726160, -0.813847269470889150, -0.813818214511433880, -0.813789157517433190, -0.813760098488959360, -0.813731037426085440, -0.813701974328884030, -0.813672909197427520, +-0.813643842031788630, -0.813614772832040420, -0.813585701598255160, -0.813556628330505680, -0.813527553028864370, -0.813498475693404500, -0.813469396324198350, -0.813440314921318740, +-0.813411231484838180, -0.813382146014829720, -0.813353058511365860, -0.813323968974519080, -0.813294877404362680, -0.813265783800969140, -0.813236688164411080, -0.813207590494761100, +-0.813178490792092370, -0.813149389056477380, -0.813120285287988960, -0.813091179486699510, -0.813062071652682410, -0.813032961786010140, -0.813003849886755450, -0.812974735954990920, +-0.812945619990789740, -0.812916501994224490, -0.812887381965368140, -0.812858259904292950, -0.812829135811072410, -0.812800009685778920, -0.812770881528485310, -0.812741751339264630, +-0.812712619118189710, -0.812683484865333150, -0.812654348580767570, -0.812625210264566470, -0.812596069916802330, -0.812566927537548000, -0.812537783126876080, -0.812508636684859950, +-0.812479488211572340, -0.812450337707085860, -0.812421185171473330, -0.812392030604808140, -0.812362874007162890, -0.812333715378610320, -0.812304554719223360, -0.812275392029075170, +-0.812246227308238590, -0.812217060556786110, -0.812187891774791230, -0.812158720962326660, -0.812129548119465250, -0.812100373246279710, -0.812071196342843530, -0.812042017409229320, +-0.812012836445510140, -0.811983653451758600, -0.811954468428048080, -0.811925281374451520, -0.811896092291041650, -0.811866901177891400, -0.811837708035074050, -0.811808512862662530, +-0.811779315660729580, -0.811750116429348250, -0.811720915168591790, -0.811691711878533060, -0.811662506559245100, -0.811633299210800520, -0.811604089833273030, -0.811574878426735260, +-0.811545664991260130, -0.811516449526921040, -0.811487232033790810, -0.811458012511942490, -0.811428790961448930, -0.811399567382383610, -0.811370341774819370, -0.811341114138829260, +-0.811311884474486210, -0.811282652781863620, -0.811253419061034430, -0.811224183312071580, -0.811194945535048120, -0.811165705730037550, -0.811136463897112690, -0.811107220036346720, +-0.811077974147812460, -0.811048726231583420, -0.811019476287732630, -0.810990224316332940, -0.810960970317457840, -0.810931714291180380, -0.810902456237573620, -0.810873196156710500, +-0.810843934048664620, -0.810814669913508810, -0.810785403751316470, -0.810756135562160310, -0.810726865346114050, -0.810697593103250620, -0.810668318833643210, -0.810639042537364850, +-0.810609764214488940, -0.810580483865088740, -0.810551201489237320, -0.810521917087007710, -0.810492630658473430, -0.810463342203707750, -0.810434051722783270, -0.810404759215774040, +-0.810375464682752900, -0.810346168123793010, -0.810316869538967530, -0.810287568928350080, -0.810258266292013700, -0.810228961630031770, -0.810199654942477030, -0.810170346229423520, +-0.810141035490944070, -0.810111722727112180, -0.810082407938000570, -0.810053091123683180, -0.810023772284233170, -0.809994451419723700, -0.809965128530227840, -0.809935803615819410, +-0.809906476676571450, -0.809877147712557030, -0.809847816723849980, -0.809818483710523450, -0.809789148672650730, -0.809759811610304860, -0.809730472523559670, -0.809701131412488340, +-0.809671788277164240, -0.809642443117660320, -0.809613095934050620, -0.809583746726408090, -0.809554395494806230, -0.809525042239318090, -0.809495686960017720, -0.809466329656978070, +-0.809436970330272510, -0.809407608979974440, -0.809378245606157450, -0.809348880208894950, -0.809319512788260200, -0.809290143344326360, -0.809260771877167500, -0.809231398386856650, +-0.809202022873467100, -0.809172645337072780, -0.809143265777746760, -0.809113884195562630, -0.809084500590593560, -0.809055114962913490, -0.809025727312595590, -0.808996337639713350, +-0.808966945944340040, -0.808937552226549620, -0.808908156486415340, -0.808878758724010720, -0.808849358939408790, -0.808819957132683840, -0.808790553303909030, -0.808761147453157750, +-0.808731739580503370, -0.808702329686019850, -0.808672917769780560, -0.808643503831858680, -0.808614087872328360, -0.808584669891262760, -0.808555249888735620, -0.808525827864819970, +-0.808496403819589980, -0.808466977753119040, -0.808437549665480650, -0.808408119556748180, -0.808378687426995590, -0.808349253276296360, -0.808319817104723890, -0.808290378912351670, +-0.808260938699253860, -0.808231496465503520, -0.808202052211174580, -0.808172605936340220, -0.808143157641074580, -0.808113707325451070, -0.808084254989542950, -0.808054800633424500, +-0.808025344257169100, -0.807995885860850360, -0.807966425444541560, -0.807936963008316970, -0.807907498552249970, -0.807878032076414290, -0.807848563580883190, -0.807819093065731080, +-0.807789620531031090, -0.807760145976857080, -0.807730669403282530, -0.807701190810381500, -0.807671710198227480, -0.807642227566894190, -0.807612742916455020, -0.807583256246984350, +-0.807553767558555460, -0.807524276851242170, -0.807494784125117990, -0.807465289380257080, -0.807435792616732930, -0.807406293834619040, -0.807376793033989680, -0.807347290214918360, +-0.807317785377478780, -0.807288278521744560, -0.807258769647789750, -0.807229258755688180, -0.807199745845513350, -0.807170230917338970, -0.807140713971239210, -0.807111195007287670, +-0.807081674025558190, -0.807052151026124260, -0.807022626009060160, -0.806993098974439490, -0.806963569922336200, -0.806934038852823550, -0.806904505765976170, -0.806874970661867530, +-0.806845433540571140, -0.806815894402161500, -0.806786353246712110, -0.806756810074296780, -0.806727264884989250, -0.806697717678863780, -0.806668168455993980, -0.806638617216453800, +-0.806609063960316730, -0.806579508687657380, -0.806549951398549240, -0.806520392093066140, -0.806490830771281920, -0.806461267433270850, -0.806431702079106530, -0.806402134708863020, +-0.806372565322613920, -0.806342993920433630, -0.806313420502395850, -0.806283845068574310, -0.806254267619043400, -0.806224688153876820, -0.806195106673148420, -0.806165523176932130, +-0.806135937665302230, -0.806106350138332540, -0.806076760596096900, -0.806047169038669130, -0.806017575466123740, -0.805987979878534320, -0.805958382275975050, -0.805928782658519530, +-0.805899181026242360, -0.805869577379217160, -0.805839971717517980, -0.805810364041218750, -0.805780754350393760, -0.805751142645116940, -0.805721528925462000, -0.805691913191503460, +-0.805662295443315140, -0.805632675680971080, -0.805603053904545120, -0.805573430114111750, -0.805543804309744820, -0.805514176491518350, -0.805484546659506200, -0.805454914813782950, +-0.805425280954422340, -0.805395645081498630, -0.805366007195085550, -0.805336367295257590, -0.805306725382088810, -0.805277081455653240, -0.805247435516024730, -0.805217787563277780, +-0.805188137597486420, -0.805158485618724720, -0.805128831627066500, -0.805099175622586480, -0.805069517605358610, -0.805039857575456600, -0.805010195532955160, -0.804980531477928360, +-0.804950865410450130, -0.804921197330594530, -0.804891527238436160, -0.804861855134048950, -0.804832181017507200, -0.804802504888884720, -0.804772826748256230, -0.804743146595695570, +-0.804713464431277110, -0.804683780255074810, -0.804654094067163150, -0.804624405867616410, -0.804594715656508640, -0.804565023433913670, -0.804535329199906560, -0.804505632954561120, +-0.804475934697951310, -0.804446234430151840, -0.804416532151236870, -0.804386827861280570, -0.804357121560356880, -0.804327413248540730, -0.804297702925905970, -0.804267990592527070, +-0.804238276248477880, -0.804208559893833220, -0.804178841528667140, -0.804149121153054040, -0.804119398767067730, -0.804089674370783380, -0.804059947964274710, -0.804030219547616220, +-0.804000489120881840, -0.803970756684146640, -0.803941022237484430, -0.803911285780969490, -0.803881547314676540, -0.803851806838679740, -0.803822064353053370, -0.803792319857871700, +-0.803762573353209440, -0.803732824839140660, -0.803703074315739950, -0.803673321783081150, -0.803643567241239420, -0.803613810690288810, -0.803584052130303590, -0.803554291561357940, +-0.803524528983526890, -0.803494764396884500, -0.803464997801505270, -0.803435229197463130, -0.803405458584833370, -0.803375685963689800, -0.803345911334107150, -0.803316134696159370, +-0.803286356049921490, -0.803256575395467800, -0.803226792732872340, -0.803197008062210170, -0.803167221383555560, -0.803137432696982790, -0.803107642002566240, -0.803077849300380840, +-0.803048054590500770, -0.803018257873000630, -0.802988459147954580, -0.802958658415437570, -0.802928855675524080, -0.802899050928288280, -0.802869244173804670, -0.802839435412148190, +-0.802809624643393120, -0.802779811867614050, -0.802749997084885040, -0.802720180295281470, -0.802690361498877400, -0.802660540695747100, -0.802630717885965740, -0.802600893069607580, +-0.802571066246747230, -0.802541237417458860, -0.802511406581817740, -0.802481573739898150, -0.802451738891774570, -0.802421902037521280, -0.802392063177213680, -0.802362222310925800, +-0.802332379438732370, -0.802302534560707770, -0.802272687676927050, -0.802242838787464720, -0.802212987892395150, -0.802183134991792950, -0.802153280085733170, -0.802123423174290200, +-0.802093564257538310, -0.802063703335552880, -0.802033840408408080, -0.802003975476178740, -0.801974108538939250, -0.801944239596764640, -0.801914368649729540, -0.801884495697908540, +-0.801854620741375920, -0.801824743780207070, -0.801794864814476370, -0.801764983844258540, -0.801735100869627960, -0.801705215890659790, -0.801675328907428650, -0.801645439920009250, +-0.801615548928475970, -0.801585655932903980, -0.801555760933368000, -0.801525863929942290, -0.801495964922702140, -0.801466063911722150, -0.801436160897076920, -0.801406255878841070, +-0.801376348857089860, -0.801346439831897790, -0.801316528803339480, -0.801286615771489740, -0.801256700736423740, -0.801226783698215870, -0.801196864656941070, -0.801166943612673930, +-0.801137020565489630, -0.801107095515462770, -0.801077168462668190, -0.801047239407180480, -0.801017308349074810, -0.800987375288426010, -0.800957440225308680, -0.800927503159797440, +-0.800897564091967880, -0.800867623021894290, -0.800837679949651380, -0.800807734875314540, -0.800777787798958360, -0.800747838720657690, -0.800717887640487240, -0.800687934558522270, +-0.800657979474837520, -0.800628022389507700, -0.800598063302607740, -0.800568102214212820, -0.800538139124397530, -0.800508174033236930, -0.800478206940805740, -0.800448237847179220, +-0.800418266752432110, -0.800388293656639330, -0.800358318559875600, -0.800328341462216320, -0.800298362363736190, -0.800268381264509830, -0.800238398164612840, -0.800208413064119830, +-0.800178425963105840, -0.800148436861645500, -0.800118445759814280, -0.800088452657686910, -0.800058457555338550, -0.800028460452843700, -0.799998461350277970, -0.799968460247716060, +-0.799938457145233040, -0.799908452042903620, -0.799878444940803290, -0.799848435839006890, -0.799818424737589350, -0.799788411636625510, -0.799758396536190960, -0.799728379436360330, +-0.799698360337208540, -0.799668339238811090, -0.799638316141242810, -0.799608291044578760, -0.799578263948893750, -0.799548234854263300, -0.799518203760762210, -0.799488170668465670, +-0.799458135577448380, -0.799428098487786070, -0.799398059399553550, -0.799368018312825780, -0.799337975227677800, -0.799307930144185110, -0.799277883062422530, -0.799247833982465350, +-0.799217782904388270, -0.799187729828267020, -0.799157674754176430, -0.799127617682191650, -0.799097558612387520, -0.799067497544839860, -0.799037434479623390, -0.799007369416813050, +-0.798977302356484560, -0.798947233298712870, -0.798917162243573010, -0.798887089191140040, -0.798857014141489570, -0.798826937094696650, -0.798796858050836330, -0.798766777009983550, +-0.798736693972214250, -0.798706608937603040, -0.798676521906225400, -0.798646432878156180, -0.798616341853471080, -0.798586248832245270, -0.798556153814553690, -0.798526056800471510, +-0.798495957790074540, -0.798465856783437510, -0.798435753780635690, -0.798405648781744800, -0.798375541786839670, -0.798345432795995680, -0.798315321809287880, -0.798285208826792100, +-0.798255093848583290, -0.798224976874736700, -0.798194857905327400, -0.798164736940431220, -0.798134613980123200, -0.798104489024478610, -0.798074362073572630, -0.798044233127480960, +-0.798014102186278660, -0.797983969250041230, -0.797953834318843480, -0.797923697392761480, -0.797893558471870160, -0.797863417556244790, -0.797833274645961100, -0.797803129741094240, +-0.797772982841719490, -0.797742833947912010, -0.797712683059747850, -0.797682530177301840, -0.797652375300649590, -0.797622218429866030, -0.797592059565027320, -0.797561898706208420, +-0.797531735853484690, -0.797501571006931420, -0.797471404166624540, -0.797441235332639110, -0.797411064505050620, -0.797380891683934110, -0.797350716869365650, -0.797320540061420500, +-0.797290361260173610, -0.797260180465701240, -0.797229997678078340, -0.797199812897380400, -0.797169626123682700, -0.797139437357061160, -0.797109246597591080, -0.797079053845347830, +-0.797048859100406790, -0.797018662362843800, -0.796988463632734120, -0.796958262910153260, -0.796928060195176590, -0.796897855487879950, -0.796867648788338710, -0.796837440096628380, +-0.796807229412824110, -0.796777016737002080, -0.796746802069237430, -0.796716585409605880, -0.796686366758182610, -0.796656146115043650, -0.796625923480264290, -0.796595698853919900, +-0.796565472236086420, -0.796535243626839360, -0.796505013026254200, -0.796474780434406230, -0.796444545851371590, -0.796414309277225560, -0.796384070712043760, -0.796353830155901440, +-0.796323587608874890, -0.796293343071039380, -0.796263096542470520, -0.796232848023243680, -0.796202597513434920, -0.796172345013119730, -0.796142090522373610, -0.796111834041271950, +-0.796081575569891120, -0.796051315108306290, -0.796021052656592840, -0.795990788214827050, -0.795960521783084410, -0.795930253361440300, -0.795899982949970440, -0.795869710548750780, +-0.795839436157856910, -0.795809159777364330, -0.795778881407348760, -0.795748601047886140, -0.795718318699051960, -0.795688034360922170, -0.795657748033571920, -0.795627459717077600, +-0.795597169411514590, -0.795566877116958620, -0.795536582833485270, -0.795506286561170730, -0.795475988300090360, -0.795445688050319900, -0.795415385811935380, -0.795385081585012530, +-0.795354775369626840, -0.795324467165854030, -0.795294156973770260, -0.795263844793451140, -0.795233530624972370, -0.795203214468409470, -0.795172896323838920, -0.795142576191335990, +-0.795112254070976740, -0.795081929962836550, -0.795051603866991810, -0.795021275783518000, -0.794990945712491070, -0.794960613653986510, -0.794930279608080600, -0.794899943574849050, +-0.794869605554367700, -0.794839265546712030, -0.794808923551958420, -0.794778579570182500, -0.794748233601459960, -0.794717885645866980, -0.794687535703479390, -0.794657183774372890, +-0.794626829858623210, -0.794596473956306730, -0.794566116067499050, -0.794535756192276010, -0.794505394330713320, -0.794475030482887480, -0.794444664648874090, -0.794414296828748980, +-0.794383927022587870, -0.794353555230467250, -0.794323181452462720, -0.794292805688650240, -0.794262427939105400, -0.794232048203904810, -0.794201666483124180, -0.794171282776839020, +-0.794140897085125920, -0.794110509408060610, -0.794080119745719020, -0.794049728098176870, -0.794019334465510650, -0.793988938847796090, -0.793958541245109230, -0.793928141657525790, +-0.793897740085122150, -0.793867336527974250, -0.793836930986157930, -0.793806523459749000, -0.793776113948824080, -0.793745702453458880, -0.793715288973729450, -0.793684873509711510, +-0.793654456061481660, -0.793624036629115630, -0.793593615212689230, -0.793563191812279190, -0.793532766427961000, -0.793502339059811050, -0.793471909707904820, -0.793441478372319150, +-0.793411045053129870, -0.793380609750412910, -0.793350172464244110, -0.793319733194700280, -0.793289291941856930, -0.793258848705790550, -0.793228403486576640, -0.793197956284292020, +-0.793167507099012510, -0.793137055930814290, -0.793106602779773180, -0.793076147645965680, -0.793045690529467940, -0.793015231430355680, -0.792984770348705630, -0.792954307284593600, +-0.792923842238095870, -0.792893375209288150, -0.792862906198247400, -0.792832435205049310, -0.792801962229770170, -0.792771487272485810, -0.792741010333272930, -0.792710531412207600, +-0.792680050509366070, -0.792649567624823970, -0.792619082758658330, -0.792588595910944880, -0.792558107081760000, -0.792527616271179620, -0.792497123479280360, -0.792466628706138380, +-0.792436131951829830, -0.792405633216430650, -0.792375132500017680, -0.792344629802666840, -0.792314125124454200, -0.792283618465456470, -0.792253109825749700, -0.792222599205410160, +-0.792192086604513900, -0.792161572023137640, -0.792131055461357540, -0.792100536919249750, -0.792070016396890340, -0.792039493894356130, -0.792008969411723160, -0.791978442949067830, +-0.791947914506466180, -0.791917384083994920, -0.791886851681730230, -0.791856317299748370, -0.791825780938125500, -0.791795242596938450, -0.791764702276263280, -0.791734159976176020, +-0.791703615696753740, -0.791673069438072360, -0.791642521200208280, -0.791611970983237660, -0.791581418787237420, -0.791550864612283630, -0.791520308458452670, -0.791489750325820580, +-0.791459190214464540, -0.791428628124460350, -0.791398064055884750, -0.791367498008813560, -0.791336929983324060, -0.791306359979492170, -0.791275787997394290, -0.791245214037106790, +-0.791214638098706510, -0.791184060182269610, -0.791153480287872250, -0.791122898415591580, -0.791092314565503550, -0.791061728737684770, -0.791031140932211390, -0.791000551149160460, +-0.790969959388608030, -0.790939365650630830, -0.790908769935305010, -0.790878172242707400, -0.790847572572914380, -0.790816970926002450, -0.790786367302047880, -0.790755761701127600, +-0.790725154123317900, -0.790694544568695370, -0.790663933037336180, -0.790633319529317370, -0.790602704044715330, -0.790572086583606560, -0.790541467146067210, -0.790510845732174560, +-0.790480222342004660, -0.790449596975634110, -0.790418969633139730, -0.790388340314597930, -0.790357709020085290, -0.790327075749678090, -0.790296440503453490, -0.790265803281487880, +-0.790235164083857630, -0.790204522910639250, -0.790173879761909780, -0.790143234637745720, -0.790112587538223550, -0.790081938463419560, -0.790051287413411020, -0.790020634388274300, +-0.789989979388086020, -0.789959322412922440, -0.789928663462860840, -0.789898002537977590, -0.789867339638349100, -0.789836674764052500, -0.789806007915164310, -0.789775339091761010, +-0.789744668293919090, -0.789713995521715730, -0.789683320775227400, -0.789652644054530840, -0.789621965359702300, -0.789591284690819300, -0.789560602047957970, -0.789529917431195050, +-0.789499230840607140, -0.789468542276271500, -0.789437851738264420, -0.789407159226662710, -0.789376464741542880, -0.789345768282982090, -0.789315069851056930, -0.789284369445843790, +-0.789253667067420060, -0.789222962715862120, -0.789192256391246790, -0.789161548093650470, -0.789130837823150630, -0.789100125579823670, -0.789069411363746420, -0.789038695174995360, +-0.789007977013647780, -0.788977256879780380, -0.788946534773469770, -0.788915810694792550, -0.788885084643826010, -0.788854356620646850, -0.788823626625331790, -0.788792894657957430, +-0.788762160718600950, -0.788731424807339150, -0.788700686924248550, -0.788669947069406520, -0.788639205242889660, -0.788608461444774700, -0.788577715675138350, -0.788546967934057990, +-0.788516218221610110, -0.788485466537871770, -0.788454712882919460, -0.788423957256830680, -0.788393199659682020, -0.788362440091550320, -0.788331678552512290, -0.788300915042645320, +-0.788270149562026010, -0.788239382110731410, -0.788208612688838020, -0.788177841296423430, -0.788147067933564150, -0.788116292600337220, -0.788085515296819360, -0.788054736023087950, +-0.788023954779219720, -0.787993171565291250, -0.787962386381380160, -0.787931599227563170, -0.787900810103917100, -0.787870019010518790, -0.787839225947445710, -0.787808430914774480, +-0.787777633912582260, -0.787746834940945660, -0.787716033999942280, -0.787685231089648720, -0.787654426210142140, -0.787623619361499160, -0.787592810543797480, -0.787561999757113830, +-0.787531187001525020, -0.787500372277108120, -0.787469555583940490, -0.787438736922098980, -0.787407916291660400, -0.787377093692702260, -0.787346269125301370, -0.787315442589534790, +-0.787284614085479340, -0.787253783613212740, -0.787222951172811490, -0.787192116764353080, -0.787161280387914000, -0.787130442043571970, -0.787099601731403810, -0.787068759451486690, +-0.787037915203897430, -0.787007068988713530, -0.786976220806012150, -0.786945370655870110, -0.786914518538364360, -0.786883664453572610, -0.786852808401571680, -0.786821950382438520, +-0.786791090396250610, -0.786760228443085130, -0.786729364523019000, -0.786698498636129170, -0.786667630782493470, -0.786636760962188600, -0.786605889175291840, -0.786575015421880130, +-0.786544139702031080, -0.786513262015821720, -0.786482382363329240, -0.786451500744630550, -0.786420617159803270, -0.786389731608924560, -0.786358844092071460, -0.786327954609321030, +-0.786297063160750880, -0.786266169746438150, -0.786235274366460010, -0.786204377020893410, -0.786173477709816050, -0.786142576433305100, -0.786111673191437380, -0.786080767984290830, +-0.786049860811942280, -0.786018951674469110, -0.785988040571948270, -0.785957127504457560, -0.785926212472074170, -0.785895295474875130, -0.785864376512937610, -0.785833455586339440, +-0.785802532695157650, -0.785771607839469420, -0.785740681019352020, -0.785709752234883150, -0.785678821486139880, -0.785647888773199580, -0.785616954096139190, -0.785586017455036870, +-0.785555078849969330, -0.785524138281013970, -0.785493195748248390, -0.785462251251749950, -0.785431304791595840, -0.785400356367863210, -0.785369405980629880, -0.785338453629973120, +-0.785307499315970210, -0.785276543038698200, -0.785245584798235250, -0.785214624594658180, -0.785183662428044720, -0.785152698298471670, -0.785121732206017220, -0.785090764150758510, +-0.785059794132772830, -0.785028822152137320, -0.784997848208930150, -0.784966872303228260, -0.784935894435108920, -0.784904914604650170, -0.784873932811929190, -0.784842949057023230, +-0.784811963340009690, -0.784780975660966610, -0.784749986019970920, -0.784718994417100360, -0.784688000852432070, -0.784657005326043990, -0.784626007838013400, -0.784595008388417890, +-0.784564006977334530, -0.784533003604841350, -0.784501998271015740, -0.784470990975935090, -0.784439981719676770, -0.784408970502318610, -0.784377957323938220, -0.784346942184612760, +-0.784315925084419830, -0.784284906023437260, -0.784253885001742420, -0.784222862019412600, -0.784191837076525950, -0.784160810173159750, -0.784129781309391370, -0.784098750485298420, +-0.784067717700958730, -0.784036682956449900, -0.784005646251849210, -0.783974607587234250, -0.783943566962682970, -0.783912524378272750, -0.783881479834081300, -0.783850433330185890, +-0.783819384866664580, -0.783788334443594860, -0.783757282061054330, -0.783726227719120260, -0.783695171417870930, -0.783664113157383600, -0.783633052937735890, -0.783601990759005720, +-0.783570926621270480, -0.783539860524608000, -0.783508792469095660, -0.783477722454811510, -0.783446650481833150, -0.783415576550238080, -0.783384500660103790, -0.783353422811508660, +-0.783322343004529850, -0.783291261239245200, -0.783260177515732070, -0.783229091834068860, -0.783198004194332940, -0.783166914596601930, -0.783135823040953420, -0.783104729527465570, +-0.783073634056215990, -0.783042536627281960, -0.783011437240741850, -0.782980335896673150, -0.782949232595153700, -0.782918127336260870, -0.782887020120072940, -0.782855910946667510, +-0.782824799816122300, -0.782793686728514790, -0.782762571683923270, -0.782731454682425440, -0.782700335724098920, -0.782669214809021300, -0.782638091937270960, -0.782606967108925300, +-0.782575840324062360, -0.782544711582759400, -0.782513580885095040, -0.782482448231146650, -0.782451313620991850, -0.782420177054709120, -0.782389038532375960, -0.782357898054070080, +-0.782326755619869310, -0.782295611229851810, -0.782264464884095400, -0.782233316582677810, -0.782202166325676520, -0.782171014113170250, -0.782139859945236380, -0.782108703821952860, +-0.782077545743397270, -0.782046385709648130, -0.782015223720783030, -0.781984059776879900, -0.781952893878016250, -0.781921726024270790, -0.781890556215720900, -0.781859384452444630, +-0.781828210734519690, -0.781797035062024470, -0.781765857435036570, -0.781734677853633820, -0.781703496317894710, -0.781672312827896840, -0.781641127383718160, -0.781609939985436370, +-0.781578750633129980, -0.781547559326876810, -0.781516366066754680, -0.781485170852841300, -0.781453973685215300, -0.781422774563954480, -0.781391573489136570, -0.781360370460839610, +-0.781329165479141880, -0.781297958544121320, -0.781266749655855740, -0.781235538814423090, -0.781204326019901860, -0.781173111272369880, -0.781141894571904750, -0.781110675918585180, +-0.781079455312488900, -0.781048232753694060, -0.781017008242278380, -0.780985781778320340, -0.780954553361897900, -0.780923322993089090, -0.780892090671971740, -0.780860856398624350, +-0.780829620173124850, -0.780798381995551290, -0.780767141865981510, -0.780735899784494200, -0.780704655751167100, -0.780673409766078350, -0.780642161829305790, -0.780610911940928130, +-0.780579660101023200, -0.780548406309668820, -0.780517150566943710, -0.780485892872925690, -0.780454633227692930, -0.780423371631323360, -0.780392108083895700, -0.780360842585487660, +-0.780329575136177510, -0.780298305736043200, -0.780267034385163430, -0.780235761083616030, -0.780204485831479280, -0.780173208628830990, -0.780141929475749900, -0.780110648372314030, +-0.780079365318601560, -0.780048080314690420, -0.780016793360659320, -0.779985504456586210, -0.779954213602549460, -0.779922920798626800, -0.779891626044897150, -0.779860329341438340, +-0.779829030688328540, -0.779797730085646460, -0.779766427533469920, -0.779735123031877420, -0.779703816580946780, -0.779672508180756950, -0.779641197831385860, -0.779609885532911660, +-0.779578571285412520, -0.779547255088967270, -0.779515936943653840, -0.779484616849550620, -0.779453294806735530, -0.779421970815287410, -0.779390644875284530, -0.779359316986804940, +-0.779327987149926790, -0.779296655364728920, -0.779265321631289480, -0.779233985949686400, -0.779202648319998640, -0.779171308742304340, -0.779139967216681660, -0.779108623743208880, +-0.779077278321964720, -0.779045930953027430, -0.779014581636475300, -0.778983230372386480, -0.778951877160839800, -0.778920522001913420, -0.778889164895685830, -0.778857805842234960, +-0.778826444841639880, -0.778795081893978610, -0.778763716999329780, -0.778732350157771310, -0.778700981369382150, -0.778669610634240670, -0.778638237952424930, -0.778606863324013740, +-0.778575486749085390, -0.778544108227718470, -0.778512727759990810, -0.778481345345981790, -0.778449960985769240, -0.778418574679431870, -0.778387186427047850, -0.778355796228696000, +-0.778324404084454800, -0.778293009994402540, -0.778261613958617480, -0.778230215977178560, -0.778198816050164280, -0.778167414177652890, -0.778136010359722570, -0.778104604596452700, +-0.778073196887921200, -0.778041787234206470, -0.778010375635387440, -0.777978962091542600, -0.777947546602750340, -0.777916129169088920, -0.777884709790637400, -0.777853288467474150, +-0.777821865199677660, -0.777790439987326330, -0.777759012830499090, -0.777727583729274310, -0.777696152683730600, -0.777664719693946240, -0.777633284760000270, -0.777601847881971180, +-0.777570409059937460, -0.777538968293977390, -0.777507525584170240, -0.777476080930594280, -0.777444634333328110, -0.777413185792450000, -0.777381735308039220, -0.777350282880174160, +-0.777318828508933190, -0.777287372194395250, -0.777255913936638950, -0.777224453735742890, -0.777192991591785450, -0.777161527504845790, -0.777130061475002300, -0.777098593502333570, +-0.777067123586918210, -0.777035651728835260, -0.777004177928163120, -0.776972702184980710, -0.776941224499366090, -0.776909744871398740, -0.776878263301157060, -0.776846779788719740, +-0.776815294334165190, -0.776783806937572650, -0.776752317599020530, -0.776720826318587410, -0.776689333096352460, -0.776657837932394290, -0.776626340826791380, -0.776594841779622460, +-0.776563340790966670, -0.776531837860902520, -0.776500332989508710, -0.776468826176863970, -0.776437317423047220, -0.776405806728137300, -0.776374294092212920, -0.776342779515352470, +-0.776311262997635310, -0.776279744539140060, -0.776248224139945320, -0.776216701800129920, -0.776185177519772900, -0.776153651298952970, -0.776122123137748640, -0.776090593036239400, +-0.776059060994503500, -0.776027527012620010, -0.775995991090667530, -0.775964453228725200, -0.775932913426871760, -0.775901371685186140, -0.775869828003746710, -0.775838282382632970, +-0.775806734821923640, -0.775775185321697420, -0.775743633882032930, -0.775712080503009660, -0.775680525184706200, -0.775648967927201390, -0.775617408730573940, -0.775585847594903120, +-0.775554284520267870, -0.775522719506746780, -0.775491152554418580, -0.775459583663362870, -0.775428012833658140, -0.775396440065383220, -0.775364865358617370, -0.775333288713439320, +-0.775301710129928210, -0.775270129608162440, -0.775238547148221600, -0.775206962750184410, -0.775175376414129810, -0.775143788140136510, -0.775112197928284010, -0.775080605778651010, +-0.775049011691316570, -0.775017415666359180, -0.774985817703858660, -0.774954217803893510, -0.774922615966542880, -0.774891012191885390, -0.774859406480000620, -0.774827798830967420, +-0.774796189244864380, -0.774764577721771210, -0.774732964261766520, -0.774701348864929470, -0.774669731531338780, -0.774638112261073930, -0.774606491054213860, -0.774574867910837630, +-0.774543242831023940, -0.774511615814852390, -0.774479986862401710, -0.774448355973751170, -0.774416723148979470, -0.774385088388166220, -0.774353451691390250, -0.774321813058730600, +-0.774290172490266220, -0.774258529986076690, -0.774226885546240750, -0.774195239170837320, -0.774163590859946240, -0.774131940613645990, -0.774100288432015950, -0.774068634315134950, +-0.774036978263082600, -0.774005320275937820, -0.773973660353779680, -0.773941998496687210, -0.773910334704740020, -0.773878668978016940, -0.773847001316597230, -0.773815331720559610, +-0.773783660189984120, -0.773751986724949380, -0.773720311325534650, -0.773688633991818970, -0.773656954723881850, -0.773625273521802440, -0.773593590385659560, -0.773561905315532930, +-0.773530218311501590, -0.773498529373644720, -0.773466838502041230, -0.773435145696770850, -0.773403450957912630, -0.773371754285545940, -0.773340055679749390, -0.773308355140603030, +-0.773276652668185790, -0.773244948262577060, -0.773213241923855540, -0.773181533652101180, -0.773149823447393030, -0.773118111309810230, -0.773086397239431950, -0.773054681236338030, +-0.773022963300607380, -0.772991243432319170, -0.772959521631552680, -0.772927797898387730, -0.772896072232903240, -0.772864344635178280, -0.772832615105292660, -0.772800883643325550, +-0.772769150249356330, -0.772737414923463820, -0.772705677665728170, -0.772673938476228230, -0.772642197355043470, -0.772610454302252950, -0.772578709317936600, -0.772546962402173460, +-0.772515213555042930, -0.772483462776624050, -0.772451710066996760, -0.772419955426240310, -0.772388198854433880, -0.772356440351656740, -0.772324679917988700, -0.772292917553508930, +-0.772261153258296700, -0.772229387032431820, -0.772197618875993470, -0.772165848789061030, -0.772134076771713750, -0.772102302824031580, -0.772070526946093570, -0.772038749137979320, +-0.772006969399767870, -0.771975187731539280, -0.771943404133372810, -0.771911618605347740, -0.771879831147543330, -0.771848041760039630, -0.771816250442915910, -0.771784457196251440, +-0.771752662020125600, -0.771720864914618440, -0.771689065879809010, -0.771657264915776690, -0.771625462022601520, -0.771593657200362770, -0.771561850449139720, -0.771530041769011850, +-0.771498231160059110, -0.771466418622360760, -0.771434604155996410, -0.771402787761045320, -0.771370969437587430, -0.771339149185702230, -0.771307327005469110, -0.771275502896967450, +-0.771243676860277170, -0.771211848895477780, -0.771180019002648760, -0.771148187181869500, -0.771116353433219940, -0.771084517756779550, -0.771052680152627850, -0.771020840620844190, +-0.770988999161508650, -0.770957155774700700, -0.770925310460499500, -0.770893463218985330, -0.770861614050237560, -0.770829762954335700, -0.770797909931359100, -0.770766054981388060, +-0.770734198104501940, -0.770702339300780250, -0.770670478570302460, -0.770638615913148750, -0.770606751329398490, -0.770574884819131390, -0.770543016382426730, -0.770511146019364880, +-0.770479273730025120, -0.770447399514487150, -0.770415523372830480, -0.770383645305135260, -0.770351765311480970, -0.770319883391946900, -0.770287999546613420, -0.770256113775559910, +-0.770224226078866200, -0.770192336456611560, -0.770160444908876470, -0.770128551435740220, -0.770096656037282500, -0.770064758713582930, -0.770032859464721780, -0.770000958290778410, +-0.769969055191832670, -0.769937150167964050, -0.769905243219252800, -0.769873334345778430, -0.769841423547620750, -0.769809510824859270, -0.769777596177574240, -0.769745679605845280, +-0.769713761109751760, -0.769681840689374170, -0.769649918344791910, -0.769617994076085000, -0.769586067883332610, -0.769554139766615460, -0.769522209726013040, -0.769490277761604950, +-0.769458343873470900, -0.769426408061691380, -0.769394470326345780, -0.769362530667513920, -0.769330589085275520, -0.769298645579711060, -0.769266700150899820, -0.769234752798921840, +-0.769202803523856730, -0.769170852325784970, -0.769138899204785950, -0.769106944160939500, -0.769074987194325880, -0.769043028305024910, -0.769011067493116210, -0.768979104758679700, +-0.768947140101795660, -0.768915173522543790, -0.768883205021003930, -0.768851234597255790, -0.768819262251379860, -0.768787287983455860, -0.768755311793563490, -0.768723333681782690, +-0.768691353648193740, -0.768659371692876460, -0.768627387815910780, -0.768595402017376310, -0.768563414297353640, -0.768531424655922390, -0.768499433093162600, -0.768467439609153870, +-0.768435444203976910, -0.768403446877711340, -0.768371447630436850, -0.768339446462234070, -0.768307443373182570, -0.768275438363362540, -0.768243431432853670, -0.768211422581736470, +-0.768179411810090640, -0.768147399117996340, -0.768115384505533290, -0.768083367972781980, -0.768051349519822350, -0.768019329146734320, -0.767987306853597620, -0.767955282640493060, +-0.767923256507500150, -0.767891228454699150, -0.767859198482169880, -0.767827166589992840, -0.767795132778247850, -0.767763097047014730, -0.767731059396374200, -0.767699019826405980, +-0.767666978337190220, -0.767634934928806740, -0.767602889601336270, -0.767570842354858510, -0.767538793189453620, -0.767506742105201530, -0.767474689102182860, -0.767442634180477420, +-0.767410577340165490, -0.767378518581326660, -0.767346457904041990, -0.767314395308391070, -0.767282330794454290, -0.767250264362311250, -0.767218196012042890, -0.767186125743729020, +-0.767154053557449590, -0.767121979453285310, -0.767089903431316110, -0.767057825491622050, -0.767025745634283270, -0.766993663859380280, -0.766961580166993230, -0.766929494557202160, +-0.766897407030087130, -0.766865317585728850, -0.766833226224207240, -0.766801132945602590, -0.766769037749994830, -0.766736940637464780, -0.766704841608092380, -0.766672740661957790, +-0.766640637799141160, -0.766608533019723200, -0.766576426323783870, -0.766544317711403520, -0.766512207182662110, -0.766480094737640340, -0.766447980376418480, -0.766415864099076360, +-0.766383745905694800, -0.766351625796353850, -0.766319503771133890, -0.766287379830114970, -0.766255253973377790, -0.766223126201002410, -0.766190996513069320, -0.766158864909658450, +-0.766126731390850630, -0.766094595956726130, -0.766062458607364990, -0.766030319342847490, -0.765998178163254440, -0.765966035068666010, -0.765933890059162460, -0.765901743134823840, +-0.765869594295731200, -0.765837443541964590, -0.765805290873604050, -0.765773136290730630, -0.765740979793424260, -0.765708821381765550, -0.765676661055834430, -0.765644498815711950, +-0.765612334661478270, -0.765580168593213760, -0.765548000610998480, -0.765515830714913470, -0.765483658905039000, -0.765451485181455340, -0.765419309544242640, -0.765387131993481960, +-0.765354952529253450, -0.765322771151637490, -0.765290587860714470, -0.765258402656565200, -0.765226215539269840, -0.765194026508908780, -0.765161835565562940, -0.765129642709312390, +-0.765097447940237820, -0.765065251258419290, -0.765033052663937950, -0.765000852156874080, -0.764968649737307940, -0.764936445405319910, -0.764904239160991150, -0.764872031004401710, +-0.764839820935632190, -0.764807608954762850, -0.764775395061874750, -0.764743179257048160, -0.764710961540363670, -0.764678741911901440, -0.764646520371742630, -0.764614296919967630, +-0.764582071556656470, -0.764549844281890540, -0.764517615095749890, -0.764485383998315230, -0.764453150989666930, -0.764420916069885940, -0.764388679239052630, -0.764356440497247710, +-0.764324199844551360, -0.764291957281044710, -0.764259712806808270, -0.764227466421922520, -0.764195218126467850, -0.764162967920525400, -0.764130715804175580, -0.764098461777498850, +-0.764066205840575720, -0.764033947993487450, -0.764001688236314200, -0.763969426569136800, -0.763937162992035510, -0.763904897505091610, -0.763872630108385580, -0.763840360801997580, +-0.763808089586008990, -0.763775816460500080, -0.763743541425551790, -0.763711264481244270, -0.763678985627658790, -0.763646704864875960, -0.763614422192976370, -0.763582137612040410, +-0.763549851122149350, -0.763517562723383780, -0.763485272415824200, -0.763452980199551210, -0.763420686074645970, -0.763388390041189080, -0.763356092099261250, -0.763323792248942870, +-0.763291490490315310, -0.763259186823458950, -0.763226881248454390, -0.763194573765382910, -0.763162264374325110, -0.763129953075361470, -0.763097639868572710, -0.763065324754040210, +-0.763033007731844350, -0.763000688802065950, -0.762968367964785620, -0.762936045220084620, -0.762903720568043450, -0.762871394008743040, -0.762839065542263770, -0.762806735168687240, +-0.762774402888093840, -0.762742068700564380, -0.762709732606179470, -0.762677394605020600, -0.762645054697168150, -0.762612712882702830, -0.762580369161705910, -0.762548023534258210, +-0.762515676000440350, -0.762483326560333130, -0.762450975214017830, -0.762418621961575060, -0.762386266803085740, -0.762353909738630490, -0.762321550768290670, -0.762289189892147110, +-0.762256827110280530, -0.762224462422771530, -0.762192095829701710, -0.762159727331151670, -0.762127356927202240, -0.762094984617934120, -0.762062610403428930, -0.762030234283767150, +-0.761997856259029830, -0.761965476329297560, -0.761933094494651850, -0.761900710755173520, -0.761868325110943050, -0.761835937562042040, -0.761803548108551110, -0.761771156750551400, +-0.761738763488123530, -0.761706368321349080, -0.761673971250308560, -0.761641572275083220, -0.761609171395753680, -0.761576768612401420, -0.761544363925107270, -0.761511957333952270, +-0.761479548839017030, -0.761447138440383140, -0.761414726138131550, -0.761382311932343070, -0.761349895823098530, -0.761317477810479540, -0.761285057894566800, -0.761252636075441250, +-0.761220212353184270, -0.761187786727876790, -0.761155359199599870, -0.761122929768434320, -0.761090498434461640, -0.761058065197762760, -0.761025630058418720, -0.760993193016510250, +-0.760960754072119160, -0.760928313225326170, -0.760895870476212430, -0.760863425824858660, -0.760830979271346690, -0.760798530815757210, -0.760766080458171400, -0.760733628198670080, +-0.760701174037335060, -0.760668717974247070, -0.760636260009487030, -0.760603800143136550, -0.760571338375276570, -0.760538874705988350, -0.760506409135352610, -0.760473941663451060, +-0.760441472290364740, -0.760409001016174700, -0.760376527840961880, -0.760344052764807990, -0.760311575787794070, -0.760279096910001170, -0.760246616131510230, -0.760214133452402960, +-0.760181648872760410, -0.760149162392663840, -0.760116674012193960, -0.760084183731432720, -0.760051691550461040, -0.760019197469359750, -0.759986701488210900, -0.759954203607095200, +-0.759921703826093920, -0.759889202145288210, -0.759856698564759790, -0.759824193084589590, -0.759791685704858890, -0.759759176425648720, -0.759726665247040910, -0.759694152169116400, +-0.759661637191956450, -0.759629120315642230, -0.759596601540255430, -0.759564080865877230, -0.759531558292588670, -0.759499033820471010, -0.759466507449606090, -0.759433979180074940, +-0.759401449011958720, -0.759368916945338590, -0.759336382980296490, -0.759303847116913460, -0.759271309355270540, -0.759238769695449680, -0.759206228137531800, -0.759173684681598290, +-0.759141139327730310, -0.759108592076009890, -0.759076042926517980, -0.759043491879335840, -0.759010938934544740, -0.758978384092226620, -0.758945827352462520, -0.758913268715333820, +-0.758880708180921680, -0.758848145749308150, -0.758815581420574150, -0.758783015194801180, -0.758750447072070400, -0.758717877052463850, -0.758685305136062470, -0.758652731322947640, +-0.758620155613201290, -0.758587578006904570, -0.758554998504138880, -0.758522417104985360, -0.758489833809526060, -0.758457248617842250, -0.758424661530015310, -0.758392072546126390, +-0.758359481666257660, -0.758326888890490160, -0.758294294218905480, -0.758261697651584690, -0.758229099188610030, -0.758196498830062570, -0.758163896576023900, -0.758131292426575180, +-0.758098686381798450, -0.758066078441775200, -0.758033468606586270, -0.758000856876314020, -0.757968243251039730, -0.757935627730844660, -0.757903010315810310, -0.757870391006018720, +-0.757837769801551260, -0.757805146702489220, -0.757772521708914070, -0.757739894820907980, -0.757707266038552100, -0.757674635361928030, -0.757642002791117040, -0.757609368326201400, +-0.757576731967262380, -0.757544093714381470, -0.757511453567640050, -0.757478811527120270, -0.757446167592903400, -0.757413521765071260, -0.757380874043704910, -0.757348224428886720, +-0.757315572920697950, -0.757282919519220000, -0.757250264224535010, -0.757217607036724360, -0.757184947955869660, -0.757152286982052390, -0.757119624115354610, -0.757086959355857790, +-0.757054292703643550, -0.757021624158793260, -0.756988953721389300, -0.756956281391512940, -0.756923607169245780, -0.756890931054669420, -0.756858253047866030, -0.756825573148916850, +-0.756792891357903950, -0.756760207674908370, -0.756727522100012600, -0.756694834633298120, -0.756662145274846100, -0.756629454024739130, -0.756596760883058490, -0.756564065849886000, +-0.756531368925303040, -0.756498670109391870, -0.756465969402234100, -0.756433266803911320, -0.756400562314505140, -0.756367855934097830, -0.756335147662770990, -0.756302437500606110, +-0.756269725447684890, -0.756237011504089730, -0.756204295669901990, -0.756171577945203510, -0.756138858330075880, -0.756106136824601260, -0.756073413428861360, -0.756040688142937570, +-0.756007960966912470, -0.755975231900867350, -0.755942500944884130, -0.755909768099044530, -0.755877033363430710, -0.755844296738124250, -0.755811558223207220, -0.755778817818760880, +-0.755746075524867830, -0.755713331341609560, -0.755680585269067890, -0.755647837307324540, -0.755615087456461890, -0.755582335716561530, -0.755549582087705400, -0.755516826569974880, +-0.755484069163452680, -0.755451309868220290, -0.755418548684359310, -0.755385785611952240, -0.755353020651080680, -0.755320253801826660, -0.755287485064271680, -0.755254714438498230, +-0.755221941924588020, -0.755189167522622990, -0.755156391232684740, -0.755123613054855760, -0.755090832989217860, -0.755058051035852770, -0.755025267194842310, -0.754992481466268960, +-0.754959693850214440, -0.754926904346760570, -0.754894112955989180, -0.754861319677982980, -0.754828524512823230, -0.754795727460592310, -0.754762928521371830, -0.754730127695244170, +-0.754697324982291360, -0.754664520382594790, -0.754631713896237290, -0.754598905523300440, -0.754566095263866420, -0.754533283118016820, -0.754500469085834350, -0.754467653167400610, +-0.754434835362797870, -0.754402015672107630, -0.754369194095412700, -0.754336370632794790, -0.754303545284335960, -0.754270718050117920, -0.754237888930223480, -0.754205057924734130, +-0.754172225033732270, -0.754139390257299590, -0.754106553595518700, -0.754073715048471430, -0.754040874616239480, -0.754008032298905780, -0.753975188096551950, -0.753942342009260140, +-0.753909494037112160, -0.753876644180190740, -0.753843792438577690, -0.753810938812355170, -0.753778083301605120, -0.753745225906410020, -0.753712366626851930, -0.753679505463012880, +-0.753646642414974810, -0.753613777482820320, -0.753580910666631460, -0.753548041966490390, -0.753515171382478920, -0.753482298914679770, -0.753449424563174870, -0.753416548328046050, +-0.753383670209376240, -0.753350790207247160, -0.753317908321741170, -0.753285024552940220, -0.753252138900926900, -0.753219251365783160, -0.753186361947591370, -0.753153470646433450, +-0.753120577462392030, -0.753087682395549240, -0.753054785445987250, -0.753021886613787990, -0.752988985899034290, -0.752956083301808080, -0.752923178822191730, -0.752890272460267070, +-0.752857364216117150, -0.752824454089823680, -0.752791542081469260, -0.752758628191135480, -0.752725712418905510, -0.752692794764861280, -0.752659875229084730, -0.752626953811658890, +-0.752594030512665490, -0.752561105332187120, -0.752528178270305710, -0.752495249327104100, -0.752462318502664430, -0.752429385797068860, -0.752396451210399660, -0.752363514742739550, +-0.752330576394170670, -0.752297636164775300, -0.752264694054635590, -0.752231750063834470, -0.752198804192453880, -0.752165856440576430, -0.752132906808283930, -0.752099955295659430, +-0.752067001902785080, -0.752034046629743050, -0.752001089476616040, -0.751968130443486320, -0.751935169530436380, -0.751902206737548150, -0.751869242064904690, -0.751836275512588140, +-0.751803307080680880, -0.751770336769265080, -0.751737364578423770, -0.751704390508239010, -0.751671414558793270, -0.751638436730168720, -0.751605457022448410, -0.751572475435714370, +-0.751539491970049210, -0.751506506625534980, -0.751473519402254820, -0.751440530300290790, -0.751407539319725260, -0.751374546460641060, -0.751341551723120560, -0.751308555107246150, +-0.751275556613100080, -0.751242556240765410, -0.751209553990324300, -0.751176549861859330, -0.751143543855452680, -0.751110535971187600, -0.751077526209146030, -0.751044514569410680, +-0.751011501052063710, -0.750978485657188390, -0.750945468384866750, -0.750912449235181520, -0.750879428208214850, -0.750846405304049780, -0.750813380522768910, -0.750780353864454190, +-0.750747325329188860, -0.750714294917055210, -0.750681262628135840, -0.750648228462513110, -0.750615192420269970, -0.750582154501489020, -0.750549114706252520, -0.750516073034642960, +-0.750483029486743500, -0.750449984062636520, -0.750416936762404620, -0.750383887586129950, -0.750350836533896000, -0.750317783605784940, -0.750284728801879350, -0.750251672122261630, +-0.750218613567015140, -0.750185553136222040, -0.750152490829965050, -0.750119426648326540, -0.750086360591389780, -0.750053292659237150, -0.750020222851950910, -0.749987151169614450, +-0.749954077612310140, -0.749921002180120590, -0.749887924873128280, -0.749854845691416360, -0.749821764635067440, -0.749788681704164130, -0.749755596898788680, -0.749722510219024580, +-0.749689421664954340, -0.749656331236660420, -0.749623238934225330, -0.749590144757732560, -0.749557048707264360, -0.749523950782903570, -0.749490850984732560, -0.749457749312834820, +-0.749424645767292620, -0.749391540348188560, -0.749358433055605900, -0.749325323889627140, -0.749292212850335090, -0.749259099937812260, -0.749225985152141890, -0.749192868493406610, +-0.749159749961689210, -0.749126629557072100, -0.749093507279638640, -0.749060383129471430, -0.749027257106653410, -0.748994129211266850, -0.748960999443395230, -0.748927867803121150, +-0.748894734290527330, -0.748861598905696480, -0.748828461648711860, -0.748795322519656080, -0.748762181518611850, -0.748729038645662200, -0.748695893900890200, -0.748662747284378320, +-0.748629598796209380, -0.748596448436466670, -0.748563296205232880, -0.748530142102590830, -0.748496986128623030, -0.748463828283413180, -0.748430668567043770, -0.748397506979597620, +-0.748364343521157440, -0.748331178191806720, -0.748298010991627960, -0.748264841920704300, -0.748231670979118140, -0.748198498166953160, -0.748165323484291880, -0.748132146931217320, +-0.748098968507812100, -0.748065788214159810, -0.748032606050343050, -0.747999422016444430, -0.747966236112547530, -0.747933048338734970, -0.747899858695089900, -0.747866667181694920, +-0.747833473798633520, -0.747800278545988410, -0.747767081423842630, -0.747733882432278900, -0.747700681571380700, -0.747667478841230750, -0.747634274241912200, -0.747601067773507650, +-0.747567859436100710, -0.747534649229774080, -0.747501437154610810, -0.747468223210693730, -0.747435007398106420, -0.747401789716931500, -0.747368570167251890, -0.747335348749151080, +-0.747302125462711910, -0.747268900308017400, -0.747235673285150390, -0.747202444394194480, -0.747169213635232480, -0.747135981008347440, -0.747102746513622180, -0.747069510151140310, +-0.747036271920984650, -0.747003031823238350, -0.746969789857984120, -0.746936546025305680, -0.746903300325286070, -0.746870052758008110, -0.746836803323554620, -0.746803552022009540, +-0.746770298853455470, -0.746737043817975450, -0.746703786915653090, -0.746670528146571200, -0.746637267510813050, -0.746604005008461470, -0.746570740639600160, -0.746537474404311950, +-0.746504206302680110, -0.746470936334787450, -0.746437664500717690, -0.746404390800553870, -0.746371115234378930, -0.746337837802276030, -0.746304558504328750, -0.746271277340620150, +-0.746237994311233280, -0.746204709416251170, -0.746171422655757640, -0.746138134029835420, -0.746104843538567990, -0.746071551182038050, -0.746038256960329660, -0.746004960873525520, +-0.745971662921708690, -0.745938363104962980, -0.745905061423371430, -0.745871757877017210, -0.745838452465983350, -0.745805145190353570, -0.745771836050210910, -0.745738525045638760, +-0.745705212176719920, -0.745671897443538350, -0.745638580846177070, -0.745605262384719360, -0.745571942059248150, -0.745538619869847370, -0.745505295816600080, -0.745471969899589530, +-0.745438642118898760, -0.745405312474611730, -0.745371980966811340, -0.745338647595580770, -0.745305312361003840, -0.745271975263163580, -0.745238636302143490, -0.745205295478026500, +-0.745171952790896540, -0.745138608240836660, -0.745105261827930240, -0.745071913552260430, -0.745038563413911170, -0.745005211412965500, -0.744971857549506680, -0.744938501823617980, +-0.744905144235383340, -0.744871784784885800, -0.744838423472208970, -0.744805060297435540, -0.744771695260649900, -0.744738328361934990, -0.744704959601373950, -0.744671588979050840, +-0.744638216495048690, -0.744604842149451110, -0.744571465942341030, -0.744538087873802600, -0.744504707943918990, -0.744471326152773560, -0.744437942500449590, -0.744404556987031010, +-0.744371169612601080, -0.744337780377243190, -0.744304389281040480, -0.744270996324077230, -0.744237601506436360, -0.744204204828201600, -0.744170806289455980, -0.744137405890283650, +-0.744104003630767790, -0.744070599510991640, -0.744037193531039250, -0.744003785690994010, -0.743970375990939180, -0.743936964430958140, -0.743903551011135030, -0.743870135731553030, +-0.743836718592295610, -0.743803299593446150, -0.743769878735088710, -0.743736456017306650, -0.743703031440183350, -0.743669605003802190, -0.743636176708247440, -0.743602746553602150, +-0.743569314539950010, -0.743535880667374300, -0.743502444935959180, -0.743469007345787910, -0.743435567896944090, -0.743402126589511210, -0.743368683423573100, -0.743335238399213450, +-0.743301791516515320, -0.743268342775563080, -0.743234892176439900, -0.743201439719229580, -0.743167985404015300, -0.743134529230881300, -0.743101071199911090, -0.743067611311188150, +-0.743034149564795960, -0.743000685960818590, -0.742967220499339610, -0.742933753180442520, -0.742900284004210710, -0.742866812970728540, -0.742833340080079290, -0.742799865332346650, +-0.742766388727614140, -0.742732910265966000, -0.742699429947485500, -0.742665947772256140, -0.742632463740362180, -0.742598977851887110, -0.742565490106914640, -0.742532000505528030, +-0.742498509047811780, -0.742465015733849270, -0.742431520563724190, -0.742398023537520050, -0.742364524655321210, -0.742331023917210950, -0.742297521323273090, -0.742264016873591230, +-0.742230510568249620, -0.742197002407331660, -0.742163492390921280, -0.742129980519101840, -0.742096466791957620, -0.742062951209572440, -0.742029433772029570, -0.741995914479413270, +-0.741962393331807250, -0.741928870329295220, -0.741895345471960790, -0.741861818759888210, -0.741828290193161210, -0.741794759771863380, -0.741761227496078310, -0.741727693365890620, +-0.741694157381383560, -0.741660619542641180, -0.741627079849746960, -0.741593538302785290, -0.741559994901839770, -0.741526449646994320, -0.741492902538332330, -0.741459353575938510, +-0.741425802759896220, -0.741392250090289530, -0.741358695567201800, -0.741325139190717740, -0.741291580960920740, -0.741258020877894610, -0.741224458941723620, -0.741190895152491480, +-0.741157329510282130, -0.741123762015179150, -0.741090192667267060, -0.741056621466629540, -0.741023048413350430, -0.740989473507513320, -0.740955896749202920, -0.740922318138502730, +-0.740888737675496900, -0.740855155360268690, -0.740821571192903040, -0.740787985173483430, -0.740754397302093800, -0.740720807578818090, -0.740687216003740430, -0.740653622576944780, +-0.740620027298514840, -0.740586430168535090, -0.740552831187089260, -0.740519230354261370, -0.740485627670135040, -0.740452023134794970, -0.740418416748324870, -0.740384808510808680, +-0.740351198422330330, -0.740317586482974190, -0.740283972692823980, -0.740250357051963960, -0.740216739560477730, -0.740183120218449900, -0.740149499025964270, -0.740115875983104910, +-0.740082251089955620, -0.740048624346600900, -0.740014995753124680, -0.739981365309610780, -0.739947733016143580, -0.739914098872807120, -0.739880462879685340, -0.739846825036862280, +-0.739813185344422310, -0.739779543802449480, -0.739745900411027720, -0.739712255170240860, -0.739678608080173830, -0.739644959140910110, -0.739611308352533970, -0.739577655715129460, +-0.739544001228780950, -0.739510344893572480, -0.739476686709588100, -0.739443026676911860, -0.739409364795628240, -0.739375701065821180, -0.739342035487574600, -0.739308368060973220, +-0.739274698786100970, -0.739241027663041890, -0.739207354691880040, -0.739173679872700000, -0.739140003205585930, -0.739106324690621760, -0.739072644327891440, -0.739038962117479770, +-0.739005278059470690, -0.738971592153948590, -0.738937904400997050, -0.738904214800701120, -0.738870523353144630, -0.738836830058411830, -0.738803134916586670, -0.738769437927753960, +-0.738735739091997630, -0.738702038409401960, -0.738668335880050990, -0.738634631504029420, -0.738600925281421180, -0.738567217212310450, -0.738533507296781910, -0.738499795534919620, +-0.738466081926807850, -0.738432366472530520, -0.738398649172172680, -0.738364930025818160, -0.738331209033551320, -0.738297486195456100, -0.738263761511617540, -0.738230034982119590, +-0.738196306607046490, -0.738162576386482420, -0.738128844320512070, -0.738095110409219710, -0.738061374652689620, -0.738027637051005710, -0.737993897604252940, -0.737960156312515550, +-0.737926413175877370, -0.737892668194423560, -0.737858921368238050, -0.737825172697405220, -0.737791422182009100, -0.737757669822134750, -0.737723915617866320, -0.737690159569288070, +-0.737656401676484050, -0.737622641939539300, -0.737588880358538090, -0.737555116933564570, -0.737521351664703010, -0.737487584552038330, -0.737453815595654700, -0.737420044795636500, +-0.737386272152068090, -0.737352497665034080, -0.737318721334618840, -0.737284943160906540, -0.737251163143982200, -0.737217381283930000, -0.737183597580834180, -0.737149812034779250, +-0.737116024645849910, -0.737082235414130650, -0.737048444339705840, -0.737014651422659430, -0.736980856663076890, -0.736947060061042160, -0.736913261616639730, -0.736879461329953860, +-0.736845659201069590, -0.736811855230071200, -0.736778049417043170, -0.736744241762069760, -0.736710432265236030, -0.736676620926626220, -0.736642807746324850, -0.736608992724416160, +-0.736575175860985310, -0.736541357156116570, -0.736507536609893990, -0.736473714222402930, -0.736439889993727670, -0.736406063923952580, -0.736372236013162040, -0.736338406261441310, +-0.736304574668874450, -0.736270741235546260, -0.736236905961540790, -0.736203068846943420, -0.736169229891838420, -0.736135389096310270, -0.736101546460443350, -0.736067701984322920, +-0.736033855668033250, -0.736000007511658950, -0.735966157515284270, -0.735932305678994480, -0.735898452002873960, -0.735864596487006970, -0.735830739131478890, -0.735796879936373880, +-0.735763018901776640, -0.735729156027771670, -0.735695291314444000, -0.735661424761878120, -0.735627556370158750, -0.735593686139370150, -0.735559814069597580, -0.735525940160925540, +-0.735492064413438620, -0.735458186827221310, -0.735424307402358760, -0.735390426138935460, -0.735356543037036130, -0.735322658096745130, -0.735288771318147740, -0.735254882701328330, +-0.735220992246371610, -0.735187099953362620, -0.735153205822385860, -0.735119309853526140, -0.735085412046867840, -0.735051512402496220, -0.735017610920496000, -0.734983707600951550, +-0.734949802443947700, -0.734915895449569480, -0.734881986617901720, -0.734848075949028790, -0.734814163443035520, -0.734780249100007050, -0.734746332920028000, -0.734712414903183060, +-0.734678495049556850, -0.734644573359234720, -0.734610649832301180, -0.734576724468840590, -0.734542797268938560, -0.734508868232679580, -0.734474937360148350, -0.734441004651429470, +-0.734407070106608440, -0.734373133725769730, -0.734339195508998180, -0.734305255456378370, -0.734271313567995690, -0.734237369843934730, -0.734203424284280310, -0.734169476889117050, +-0.734135527658530410, -0.734101576592604890, -0.734067623691425530, -0.734033668955076820, -0.733999712383644140, -0.733965753977212200, -0.733931793735865920, -0.733897831659689800, +-0.733863867748769440, -0.733829902003189430, -0.733795934423034370, -0.733761965008389750, -0.733727993759340170, -0.733694020675970670, -0.733660045758365850, -0.733626069006611090, +-0.733592090420791320, -0.733558110000991250, -0.733524127747295580, -0.733490143659789820, -0.733456157738558880, -0.733422169983687370, -0.733388180395260210, -0.733354188973362910, +-0.733320195718080160, -0.733286200629496900, -0.733252203707697840, -0.733218204952768570, -0.733184204364793810, -0.733150201943858270, -0.733116197690047430, -0.733082191603446120, +-0.733048183684139380, -0.733014173932211800, -0.732980162347749100, -0.732946148930836090, -0.732912133681557610, -0.732878116599998570, -0.732844097686244480, -0.732810076940380140, +-0.732776054362490600, -0.732742029952660690, -0.732708003710976000, -0.732673975637521240, -0.732639945732381670, -0.732605913995641790, -0.732571880427387520, -0.732537845027703470, +-0.732503807796674570, -0.732469768734386410, -0.732435727840923810, -0.732401685116371940, -0.732367640560815490, -0.732333594174340410, -0.732299545957031170, -0.732265495908973160, +-0.732231444030251090, -0.732197390320950660, -0.732163334781156800, -0.732129277410954570, -0.732095218210428890, -0.732061157179665470, -0.732027094318749130, -0.731993029627765020, +-0.731958963106798090, -0.731924894755934030, -0.731890824575257780, -0.731856752564854380, -0.731822678724808770, -0.731788603055206880, -0.731754525556133520, -0.731720446227673400, +-0.731686365069912580, -0.731652282082935760, -0.731618197266828310, -0.731584110621675050, -0.731550022147561820, -0.731515931844573420, -0.731481839712795350, -0.731447745752312310, +-0.731413649963210230, -0.731379552345573950, -0.731345452899488820, -0.731311351625039910, -0.731277248522312680, -0.731243143591392530, -0.731209036832364380, -0.731174928245313380, +-0.731140817830325360, -0.731106705587485360, -0.731072591516878310, -0.731038475618589920, -0.731004357892705460, -0.730970238339310190, -0.730936116958488810, -0.730901993750327610, +-0.730867868714911270, -0.730833741852325410, -0.730799613162654850, -0.730765482645985510, -0.730731350302402440, -0.730697216131991120, -0.730663080134836380, -0.730628942311024270, +-0.730594802660639810, -0.730560661183768280, -0.730526517880494830, -0.730492372750905390, -0.730458225795085010, -0.730424077013118840, -0.730389926405092700, -0.730355773971091750, +-0.730321619711201350, -0.730287463625506670, -0.730253305714093640, -0.730219145977047290, -0.730184984414453010, -0.730150821026396060, -0.730116655812962370, -0.730082488774236980, +-0.730048319910305390, -0.730014149221252740, -0.729979976707164970, -0.729945802368127340, -0.729911626204225120, -0.729877448215543570, -0.729843268402168620, -0.729809086764185540, +-0.729774903301679490, -0.729740718014736500, -0.729706530903441620, -0.729672341967880440, -0.729638151208138130, -0.729603958624300830, -0.729569764216453590, -0.729535567984681890, +-0.729501369929070890, -0.729467170049706850, -0.729432968346674930, -0.729398764820060500, -0.729364559469948940, -0.729330352296426290, -0.729296143299577700, -0.729261932479488780, +-0.729227719836244680, -0.729193505369931660, -0.729159289080634760, -0.729125070968439810, -0.729090851033431740, -0.729056629275696920, -0.729022405695320510, -0.728988180292387770, +-0.728953953066984850, -0.728919724019197020, -0.728885493149110000, -0.728851260456808920, -0.728817025942379960, -0.728782789605908370, -0.728748551447479960, -0.728714311467179690, +-0.728680069665094130, -0.728645826041308230, -0.728611580595907920, -0.728577333328978230, -0.728543084240605540, -0.728508833330875130, -0.728474580599872690, -0.728440326047683500, +-0.728406069674393700, -0.728371811480088780, -0.728337551464854020, -0.728303289628775770, -0.728269025971939210, -0.728234760494430140, -0.728200493196333840, -0.728166224077736570, +-0.728131953138723700, -0.728097680379381050, -0.728063405799793890, -0.728029129400048490, -0.727994851180230330, -0.727960571140425010, -0.727926289280717900, -0.727892005601195380, +-0.727857720101942830, -0.727823432783046060, -0.727789143644590350, -0.727754852686662070, -0.727720559909346700, -0.727686265312729620, -0.727651968896897210, -0.727617670661934830, +-0.727583370607928330, -0.727549068734962940, -0.727514765043125400, -0.727480459532500840, -0.727446152203175100, -0.727411843055233760, -0.727377532088762990, -0.727343219303848490, +-0.727308904700575960, -0.727274588279030800, -0.727240270039299470, -0.727205949981467590, -0.727171628105620750, -0.727137304411844540, -0.727102978900225240, -0.727068651570848660, +-0.727034322423800510, -0.726999991459166050, -0.726965658677032000, -0.726931324077483950, -0.726896987660607060, -0.726862649426488150, -0.726828309375212480, -0.726793967506866200, +-0.726759623821534580, -0.726725278319304220, -0.726690931000260720, -0.726656581864489890, -0.726622230912077230, -0.726587878143109320, -0.726553523557671780, -0.726519167155850410, +-0.726484808937730710, -0.726450448903399490, -0.726416087052942030, -0.726381723386444240, -0.726347357903992070, -0.726312990605671670, -0.726278621491568850, -0.726244250561769110, +-0.726209877816359040, -0.726175503255424350, -0.726141126879050860, -0.726106748687324280, -0.726072368680331090, -0.726037986858157010, -0.726003603220887970, -0.725969217768609560, +-0.725934830501408500, -0.725900441419370270, -0.725866050522581020, -0.725831657811126350, -0.725797263285092750, -0.725762866944566040, -0.725728468789632150, -0.725694068820376790, +-0.725659667036886560, -0.725625263439247160, -0.725590858027544310, -0.725556450801864590, -0.725522041762293850, -0.725487630908917880, -0.725453218241822520, -0.725418803761094470, +-0.725384387466819440, -0.725349969359083470, -0.725315549437972160, -0.725281127703572340, -0.725246704155969700, -0.725212278795250300, -0.725177851621499950, -0.725143422634805250, +-0.725108991835251900, -0.725074559222926180, -0.725040124797913690, -0.725005688560301230, -0.724971250510174530, -0.724936810647619390, -0.724902368972722530, -0.724867925485569780, +-0.724833480186247160, -0.724799033074840620, -0.724764584151436740, -0.724730133416121360, -0.724695680868980840, -0.724661226510100680, -0.724626770339567680, -0.724592312357467790, +-0.724557852563887160, -0.724523390958911720, -0.724488927542627950, -0.724454462315121890, -0.724419995276479600, -0.724385526426787110, -0.724351055766131120, -0.724316583294597470, +-0.724282109012272410, -0.724247632919241660, -0.724213155015592250, -0.724178675301409890, -0.724144193776780520, -0.724109710441790950, -0.724075225296527240, -0.724040738341075300, +-0.724006249575521290, -0.723971758999951920, -0.723937266614453230, -0.723902772419111380, -0.723868276414012190, -0.723833778599242690, -0.723799278974888830, -0.723764777541036630, +-0.723730274297772150, -0.723695769245182420, -0.723661262383353150, -0.723626753712370840, -0.723592243232321300, -0.723557730943291460, -0.723523216845367250, -0.723488700938634710, +-0.723454183223180670, -0.723419663699091280, -0.723385142366452680, -0.723350619225350930, -0.723316094275872960, -0.723281567518104680, -0.723247038952132600, -0.723212508578042420, +-0.723177976395921520, -0.723143442405855490, -0.723108906607930920, -0.723074369002233870, -0.723039829588851050, -0.723005288367868700, -0.722970745339373110, -0.722936200503450420, +-0.722901653860187570, -0.722867105409670470, -0.722832555151985410, -0.722798003087219200, -0.722763449215457990, -0.722728893536788150, -0.722694336051295740, -0.722659776759067900, +-0.722625215660190560, -0.722590652754750210, -0.722556088042832780, -0.722521521524525650, -0.722486953199914520, -0.722452383069086100, -0.722417811132126440, -0.722383237389122580, +-0.722348661840160560, -0.722314084485326970, -0.722279505324707750, -0.722244924358390160, -0.722210341586460250, -0.722175757009004380, -0.722141170626108940, -0.722106582437860740, +-0.722071992444346280, -0.722037400645651360, -0.722002807041863370, -0.721968211633068240, -0.721933614419352660, -0.721899015400802810, -0.721864414577505610, -0.721829811949547430, +-0.721795207517014650, -0.721760601279993640, -0.721725993238571340, -0.721691383392834120, -0.721656771742868460, -0.721622158288760530, -0.721587543030597470, -0.721552925968465650, +-0.721518307102451460, -0.721483686432641160, -0.721449063959122010, -0.721414439681980160, -0.721379813601301880, -0.721345185717174430, -0.721310556029684080, -0.721275924538917200, +-0.721241291244960280, -0.721206656147900470, -0.721172019247823930, -0.721137380544817350, -0.721102740038967130, -0.721068097730360290, -0.721033453619083110, -0.720998807705222510, +-0.720964159988864430, -0.720929510470096350, -0.720894859149004310, -0.720860206025675240, -0.720825551100195420, -0.720790894372651980, -0.720756235843131310, -0.720721575511719670, +-0.720686913378504430, -0.720652249443571980, -0.720617583707008790, -0.720582916168901470, -0.720548246829337050, -0.720513575688402130, -0.720478902746183090, -0.720444228002766640, +-0.720409551458239930, -0.720374873112689220, -0.720340192966201440, -0.720305511018862870, -0.720270827270760750, -0.720236141721981580, -0.720201454372612180, -0.720166765222738700, +-0.720132074272448630, -0.720097381521828450, -0.720062686970964430, -0.720027990619944050, -0.719993292468853690, -0.719958592517780050, -0.719923890766809630, -0.719889187216029900, +-0.719854481865527030, -0.719819774715388050, -0.719785065765699340, -0.719750355016548270, -0.719715642468021330, -0.719680928120205230, -0.719646211973186460, -0.719611494027052600, +-0.719576774281889930, -0.719542052737785260, -0.719507329394825310, -0.719472604253097230, -0.719437877312687600, -0.719403148573683370, -0.719368418036170910, -0.719333685700237810, +-0.719298951565970460, -0.719264215633455330, -0.719229477902780020, -0.719194738374031030, -0.719159997047295160, -0.719125253922659020, -0.719090509000209990, -0.719055762280034760, +-0.719021013762220160, -0.718986263446852680, -0.718951511334019800, -0.718916757423808230, -0.718882001716304670, -0.718847244211595850, -0.718812484909769230, -0.718777723810911430, +-0.718742960915109250, -0.718708196222449410, -0.718673429733019290, -0.718638661446905800, -0.718603891364195220, -0.718569119484975150, -0.718534345809332400, -0.718499570337353680, +-0.718464793069125810, -0.718430014004736270, -0.718395233144271670, -0.718360450487819050, -0.718325666035464880, -0.718290879787296890, -0.718256091743401770, -0.718221301903866350, +-0.718186510268777330, -0.718151716838222430, -0.718116921612288240, -0.718082124591061690, -0.718047325774629600, -0.718012525163079340, -0.717977722756497960, -0.717942918554971830, +-0.717908112558588770, -0.717873304767435490, -0.717838495181598810, -0.717803683801165660, -0.717768870626223630, -0.717734055656859440, -0.717699238893160010, -0.717664420335212270, +-0.717629599983103720, -0.717594777836921270, -0.717559953896751760, -0.717525128162682100, -0.717490300634799900, -0.717455471313191980, -0.717420640197945380, -0.717385807289146920, +-0.717350972586884180, -0.717316136091244120, -0.717281297802313640, -0.717246457720179590, -0.717211615844929650, -0.717176772176650770, -0.717141926715429650, -0.717107079461353990, +-0.717072230414510630, -0.717037379574986700, -0.717002526942868920, -0.716967672518245340, -0.716932816301202420, -0.716897958291827450, -0.716863098490207350, -0.716828236896429830, +-0.716793373510581700, -0.716758508332750010, -0.716723641363021910, -0.716688772601485000, -0.716653902048226100, -0.716619029703332470, -0.716584155566890920, -0.716549279638989290, +-0.716514401919714490, -0.716479522409153360, -0.716444641107393700, -0.716409758014522560, -0.716374873130626980, -0.716339986455793780, -0.716305097990111110, -0.716270207733665560, +-0.716235315686544530, -0.716200421848834920, -0.716165526220624570, -0.716130628802000400, -0.716095729593049680, -0.716060828593859220, -0.716025925804517070, -0.715991021225110160, +-0.715956114855725630, -0.715921206696450430, -0.715886296747372700, -0.715851385008579140, -0.715816471480156810, -0.715781556162193630, -0.715746639054776530, -0.715711720157992780, +-0.715676799471929530, -0.715641876996674590, -0.715606952732314780, -0.715572026678937820, -0.715537098836630300, -0.715502169205480490, -0.715467237785575190, -0.715432304577001800, +-0.715397369579847340, -0.715362432794199750, -0.715327494220146080, -0.715292553857773680, -0.715257611707169620, -0.715222667768421800, -0.715187722041617400, -0.715152774526843340, +-0.715117825224187540, -0.715082874133737280, -0.715047921255579810, -0.715012966589802180, -0.714978010136492540, -0.714943051895737810, -0.714908091867625490, -0.714873130052242620, +-0.714838166449677240, -0.714803201060016490, -0.714768233883347650, -0.714733264919757970, -0.714698294169335390, -0.714663321632167060, -0.714628347308340460, -0.714593371197942750, +-0.714558393301061860, -0.714523413617784930, -0.714488432148199570, -0.714453448892392820, -0.714418463850452710, -0.714383477022466410, -0.714348488408521170, -0.714313498008705030, +-0.714278505823105040, -0.714243511851808900, -0.714208516094903540, -0.714173518552477350, -0.714138519224617240, -0.714103518111410930, -0.714068515212945450, -0.714033510529309080, +-0.713998504060588850, -0.713963495806872350, -0.713928485768246860, -0.713893473944800410, -0.713858460336620370, -0.713823444943794130, -0.713788427766408830, -0.713753408804552960, +-0.713718388058313450, -0.713683365527777780, -0.713648341213033890, -0.713613315114169260, -0.713578287231271260, -0.713543257564427270, -0.713508226113725440, -0.713473192879253040, +-0.713438157861097650, -0.713403121059346560, -0.713368082474087890, -0.713333042105409150, -0.713297999953397710, -0.713262956018141050, -0.713227910299727320, -0.713192862798243680, +-0.713157813513777940, -0.713122762446417370, -0.713087709596250230, -0.713052654963363790, -0.713017598547845410, -0.712982540349783370, -0.712947480369264920, -0.712912418606377880, +-0.712877355061209420, -0.712842289733847780, -0.712807222624380570, -0.712772153732895260, -0.712737083059479250, -0.712702010604220780, -0.712666936367207350, -0.712631860348526550, +-0.712596782548265860, -0.712561702966513440, -0.712526621603356780, -0.712491538458883580, -0.712456453533181210, -0.712421366826338050, -0.712386278338441370, -0.712351188069579200, +-0.712316096019838580, -0.712281002189308010, -0.712245906578075070, -0.712210809186226920, -0.712175710013852160, -0.712140609061038040, -0.712105506327872510, -0.712070401814442810, +-0.712035295520837440, -0.712000187447143770, -0.711965077593449850, -0.711929965959842700, -0.711894852546411050, -0.711859737353242260, -0.711824620380424040, -0.711789501628044110, +-0.711754381096190600, -0.711719258784951240, -0.711684134694413610, -0.711649008824665420, -0.711613881175795050, -0.711578751747889870, -0.711543620541037590, -0.711508487555326590, +-0.711473352790844230, -0.711438216247678670, -0.711403077925917170, -0.711367937825648220, -0.711332795946959530, -0.711297652289938800, -0.711262506854673630, -0.711227359641252500, +-0.711192210649763010, -0.711157059880292990, -0.711121907332930010, -0.711086753007762580, -0.711051596904878180, -0.711016439024364840, -0.710981279366310170, -0.710946117930802530, +-0.710910954717929530, -0.710875789727778980, -0.710840622960439150, -0.710805454415997850, -0.710770284094542900, -0.710735111996161910, -0.710699938120943450, -0.710664762468975140, +-0.710629585040344900, -0.710594405835140440, -0.710559224853450240, -0.710524042095362020, -0.710488857560963690, -0.710453671250342870, -0.710418483163588130, -0.710383293300787310, +-0.710348101662028110, -0.710312908247398460, -0.710277713056986840, -0.710242516090880960, -0.710207317349168310, -0.710172116831937930, -0.710136914539277080, -0.710101710471274020, +-0.710066504628016350, -0.710031297009592670, -0.709996087616090790, -0.709960876447598750, -0.709925663504204160, -0.709890448785995720, -0.709855232293061240, -0.709820014025488550, +-0.709784793983365580, -0.709749572166780920, -0.709714348575822380, -0.709679123210577910, -0.709643896071135320, -0.709608667157583310, -0.709573436470009700, -0.709538204008502430, +-0.709502969773149310, -0.709467733764039150, -0.709432495981259570, -0.709397256424898480, -0.709362015095044600, -0.709326771991785730, -0.709291527115209820, -0.709256280465404790, +-0.709221032042459450, -0.709185781846461420, -0.709150529877499050, -0.709115276135659940, -0.709080020621033040, -0.709044763333706030, -0.709009504273767190, -0.708974243441304110, +-0.708938980836405830, -0.708903716459160170, -0.708868450309655170, -0.708833182387978660, -0.708797912694219660, -0.708762641228465770, -0.708727367990804940, -0.708692092981326070, +-0.708656816200117000, -0.708621537647265760, -0.708586257322860400, -0.708550975226989730, -0.708515691359741680, -0.708480405721204410, -0.708445118311465730, -0.708409829130614680, +-0.708374538178738970, -0.708339245455926860, -0.708303950962266390, -0.708268654697846390, -0.708233356662754670, -0.708198056857079590, -0.708162755280909110, -0.708127451934332020, +-0.708092146817436260, -0.708056839930309880, -0.708021531273041680, -0.707986220845719720, -0.707950908648432130, -0.707915594681266970, -0.707880278944313050, -0.707844961437658630, +-0.707809642161391750, -0.707774321115600350, -0.707738998300373460, -0.707703673715799120, -0.707668347361965600, -0.707633019238960940, -0.707597689346874060, -0.707562357685792900, +-0.707527024255805830, -0.707491689057000880, -0.707456352089467110, -0.707421013353292330, -0.707385672848565130, -0.707350330575373440, -0.707314986533806200, -0.707279640723951440, +-0.707244293145897320, -0.707208943799732760, -0.707173592685545800, -0.707138239803424940, -0.707102885153458200, -0.707067528735734420, -0.707032170550341950, -0.706996810597368960, +-0.706961448876903710, -0.706926085389035120, -0.706890720133851240, -0.706855353111440650, -0.706819984321891410, -0.706784613765292450, -0.706749241441731900, -0.706713867351298370, +-0.706678491494079800, -0.706643113870165320, -0.706607734479642980, -0.706572353322601040, -0.706536970399128660, -0.706501585709313650, -0.706466199253244830, -0.706430811031010130, +-0.706395421042698700, -0.706360029288398810, -0.706324635768198710, -0.706289240482186780, -0.706253843430452060, -0.706218444613082810, -0.706183044030167300, -0.706147641681794000, +-0.706112237568051750, -0.706076831689029020, -0.706041424044814180, -0.706006014635495500, -0.705970603461162140, -0.705935190521902230, -0.705899775817803940, -0.705864359348956640, +-0.705828941115448360, -0.705793521117367820, -0.705758099354803050, -0.705722675827843430, -0.705687250536577100, -0.705651823481092680, -0.705616394661478300, -0.705580964077823340, +-0.705545531730215950, -0.705510097618744610, -0.705474661743497820, -0.705439224104564720, -0.705403784702033580, -0.705368343535992870, -0.705332900606530980, -0.705297455913737270, +-0.705262009457699790, -0.705226561238507350, -0.705191111256248230, -0.705155659511011670, -0.705120206002885830, -0.705084750731959310, -0.705049293698321140, -0.705013834902059710, +-0.704978374343263820, -0.704942912022021530, -0.704907447938422300, -0.704871982092554530, -0.704836514484506790, -0.704801045114367360, -0.704765573982225720, -0.704730101088170140, +-0.704694626432289310, -0.704659150014671610, -0.704623671835406310, -0.704588191894581770, -0.704552710192286820, -0.704517226728609840, -0.704481741503640070, -0.704446254517465900, +-0.704410765770175810, -0.704375275261859170, -0.704339782992604250, -0.704304288962499860, -0.704268793171634490, -0.704233295620097510, -0.704197796307977190, -0.704162295235362450, +-0.704126792402341550, -0.704091287809004100, -0.704055781455438350, -0.704020273341733230, -0.703984763467977110, -0.703949251834259270, -0.703913738440668400, -0.703878223287293210, +-0.703842706374222080, -0.703807187701544600, -0.703771667269349030, -0.703736145077724080, -0.703700621126759020, -0.703665095416542430, -0.703629567947163030, -0.703594038718709400, +-0.703558507731271150, -0.703522974984936430, -0.703487440479794390, -0.703451904215933400, -0.703416366193443050, -0.703380826412411730, -0.703345284872928240, -0.703309741575081300, +-0.703274196518960390, -0.703238649704653880, -0.703203101132250820, -0.703167550801839680, -0.703131998713509950, -0.703096444867350230, -0.703060889263449120, -0.703025331901896090, +-0.702989772782779630, -0.702954211906188900, -0.702918649272212150, -0.702883084880939310, -0.702847518732458540, -0.702811950826859100, -0.702776381164229470, -0.702740809744659130, +-0.702705236568236800, -0.702669661635051400, -0.702634084945191530, -0.702598506498746780, -0.702562926295805750, -0.702527344336457360, -0.702491760620790330, -0.702456175148894250, +-0.702420587920857710, -0.702384998936769640, -0.702349408196718760, -0.702313815700794760, -0.702278221449086140, -0.702242625441681700, -0.702207027678671050, -0.702171428160142770, +-0.702135826886185920, -0.702100223856889190, -0.702064619072342190, -0.702029012532633720, -0.701993404237852610, -0.701957794188087790, -0.701922182383428740, -0.701886568823964270, +-0.701850953509783330, -0.701815336440974710, -0.701779717617628140, -0.701744097039832200, -0.701708474707675940, -0.701672850621248290, -0.701637224780638840, -0.701601597185936290, +-0.701565967837229460, -0.701530336734607960, -0.701494703878160710, -0.701459069267976630, -0.701423432904144550, -0.701387794786754170, -0.701352154915894420, -0.701316513291654230, +-0.701280869914122420, -0.701245224783388800, -0.701209577899542080, -0.701173929262671410, -0.701138278872865620, -0.701102626730214510, -0.701066972834806680, -0.701031317186731510, +-0.700995659786077810, -0.700960000632935180, -0.700924339727392540, -0.700888677069538720, -0.700853012659463650, -0.700817346497255910, -0.700781678583004890, -0.700746008916799280, +-0.700710337498729020, -0.700674664328882920, -0.700638989407350140, -0.700603312734219610, -0.700567634309581020, -0.700531954133523430, -0.700496272206135970, -0.700460588527507480, +-0.700424903097727760, -0.700389215916885850, -0.700353526985070920, -0.700317836302371880, -0.700282143868878440, -0.700246449684679750, -0.700210753749864970, -0.700175056064522900, +-0.700139356628743490, -0.700103655442615770, -0.700067952506228550, -0.700032247819671770, -0.699996541383034470, -0.699960833196405670, -0.699925123259874550, -0.699889411573530910, +-0.699853698137463680, -0.699817982951762340, -0.699782266016515610, -0.699746547331813630, -0.699710826897745220, -0.699675104714399750, -0.699639380781866160, -0.699603655100234480, +-0.699567927669593750, -0.699532198490033120, -0.699496467561641630, -0.699460734884509330, -0.699425000458725240, -0.699389264284378200, -0.699353526361558450, -0.699317786690354830, +-0.699282045270856800, -0.699246302103153190, -0.699210557187334270, -0.699174810523488950, -0.699139062111706620, -0.699103311952076200, -0.699067560044687950, -0.699031806389630810, +-0.698996050986994020, -0.698960293836866860, -0.698924534939339260, -0.698888774294500360, -0.698853011902439540, -0.698817247763245830, -0.698781481877009390, -0.698745714243819150, +-0.698709944863764370, -0.698674173736934970, -0.698638400863420220, -0.698602626243309490, -0.698566849876691710, -0.698531071763657250, -0.698495291904295160, -0.698459510298694800, +-0.698423726946945320, -0.698387941849136770, -0.698352155005358520, -0.698316366415699830, -0.698280576080249850, -0.698244783999098730, -0.698208990172335730, -0.698173194600050230, +-0.698137397282331370, -0.698101598219269430, -0.698065797410953430, -0.698029994857472640, -0.697994190558917200, -0.697958384515376280, -0.697922576726939360, -0.697886767193695690, +-0.697850955915735430, -0.697815142893147830, -0.697779328126022280, -0.697743511614448140, -0.697707693358515570, -0.697671873358313710, -0.697636051613932270, -0.697600228125460300, +-0.697564402892988040, -0.697528575916604780, -0.697492747196400200, -0.697456916732463350, -0.697421084524884490, -0.697385250573753000, -0.697349414879158250, -0.697313577441189820, +-0.697277738259937660, -0.697241897335491130, -0.697206054667939610, -0.697170210257373250, -0.697134364103881410, -0.697098516207553590, -0.697062666568479150, -0.697026815186748470, +-0.696990962062450590, -0.696955107195675440, -0.696919250586512160, -0.696883392235051020, -0.696847532141381510, -0.696811670305593100, -0.696775806727775170, -0.696739941408018090, +-0.696704074346411130, -0.696668205543043980, -0.696632334998006030, -0.696596462711387530, -0.696560588683277970, -0.696524712913766500, -0.696488835402943600, -0.696452956150898640, +-0.696417075157721220, -0.696381192423500940, -0.696345307948327830, -0.696309421732291600, -0.696273533775481730, -0.696237644077987720, -0.696201752639899920, -0.696165859461307710, +-0.696129964542300920, -0.696094067882968790, -0.696058169483401820, -0.696022269343689490, -0.695986367463921510, -0.695950463844187240, -0.695914558484577170, -0.695878651385180680, +-0.695842742546087250, -0.695806831967387350, -0.695770919649170260, -0.695735005591525900, -0.695699089794543760, -0.695663172258314200, -0.695627252982926600, -0.695591331968471000, +-0.695555409215036670, -0.695519484722714190, -0.695483558491593050, -0.695447630521762950, -0.695411700813313380, -0.695375769366334940, -0.695339836180917100, -0.695303901257149690, +-0.695267964595122080, -0.695232026194924970, -0.695196086056647840, -0.695160144180380520, -0.695124200566212380, -0.695088255214234120, -0.695052308124535220, -0.695016359297205290, +-0.694980408732334690, -0.694944456430013120, -0.694908502390330420, -0.694872546613376050, -0.694836589099240730, -0.694800629848013940, -0.694764668859785610, -0.694728706134645210, +-0.694692741672683360, -0.694656775473989740, -0.694620807538654070, -0.694584837866766060, -0.694548866458416400, -0.694512893313694480, -0.694476918432690330, -0.694440941815493650, +-0.694404963462194820, -0.694368983372883660, -0.694333001547649650, -0.694297017986583500, -0.694261032689774900, -0.694225045657313580, -0.694189056889289340, -0.694153066385792880, +-0.694117074146913590, -0.694081080172741730, -0.694045084463366880, -0.694009087018879530, -0.693973087839369620, -0.693937086924926840, -0.693901084275641120, -0.693865079891602950, +-0.693829073772902040, -0.693793065919628530, -0.693757056331872010, -0.693721045009723200, -0.693685031953271690, -0.693649017162607300, -0.693613000637820720, -0.693576982379001670, +-0.693540962386240190, -0.693504940659625870, -0.693468917199249630, -0.693432892005201080, -0.693396865077570260, -0.693360836416446970, -0.693324806021921810, -0.693288773894084830, +-0.693252740033025730, -0.693216704438834540, -0.693180667111601980, -0.693144628051417630, -0.693108587258371770, -0.693072544732554200, -0.693036500474055520, -0.693000454482965540, +-0.692964406759374100, -0.692928357303371990, -0.692892306115049040, -0.692856253194495290, -0.692820198541800550, -0.692784142157055640, -0.692748084040350490, -0.692712024191775020, +-0.692675962611419170, -0.692639899299373750, -0.692603834255728580, -0.692567767480573800, -0.692531698973999350, -0.692495628736095940, -0.692459556766953480, -0.692423483066662130, +-0.692387407635311700, -0.692351330472993130, -0.692315251579796120, -0.692279170955811150, -0.692243088601127820, -0.692207004515837170, -0.692170918700028890, -0.692134831153793040, +-0.692098741877220420, -0.692062650870401090, -0.692026558133424950, -0.691990463666382170, -0.691954367469363560, -0.691918269542459050, -0.691882169885758790, -0.691846068499352820, +-0.691809965383332060, -0.691773860537786330, -0.691737753962805900, -0.691701645658480910, -0.691665535624901960, -0.691629423862159310, -0.691593310370343000, -0.691557195149543170, +-0.691521078199850650, -0.691484959521355360, -0.691448839114147450, -0.691412716978317740, -0.691376593113956160, -0.691340467521153190, -0.691304340199998760, -0.691268211150583680, +-0.691232080372998100, -0.691195947867332410, -0.691159813633676510, -0.691123677672121350, -0.691087539982756960, -0.691051400565673820, -0.691015259420961760, -0.690979116548711910, +-0.690942971949014330, -0.690906825621959260, -0.690870677567636760, -0.690834527786137960, -0.690798376277552810, -0.690762223041971430, -0.690726068079484780, -0.690689911390182990, +-0.690653752974156430, -0.690617592831495150, -0.690581430962290190, -0.690545267366631690, -0.690509102044609910, -0.690472934996315240, -0.690436766221838360, -0.690400595721269660, +-0.690364423494699510, -0.690328249542217940, -0.690292073863916110, -0.690255896459884060, -0.690219717330212260, -0.690183536474990870, -0.690147353894310920, -0.690111169588262570, +-0.690074983556936310, -0.690038795800422380, -0.690002606318811610, -0.689966415112194480, -0.689930222180660910, -0.689894027524302070, -0.689857831143208200, -0.689821633037469790, +-0.689785433207176890, -0.689749231652420860, -0.689713028373291630, -0.689676823369879900, -0.689640616642275830, -0.689604408190570450, -0.689568198014854030, -0.689531986115217150, +-0.689495772491750090, -0.689459557144543770, -0.689423340073688660, -0.689387121279275150, -0.689350900761393490, -0.689314678520134950, -0.689278454555589670, -0.689242228867847920, +-0.689206001457000950, -0.689169772323139030, -0.689133541466352640, -0.689097308886732040, -0.689061074584368600, -0.689024838559352370, -0.688988600811774040, -0.688952361341723880, +-0.688916120149293150, -0.688879877234572220, -0.688843632597651470, -0.688807386238621370, -0.688771138157573180, -0.688734888354597060, -0.688698636829783720, -0.688662383583223510, +-0.688626128615007600, -0.688589871925226470, -0.688553613513970260, -0.688517353381330350, -0.688481091527397120, -0.688444827952261030, -0.688408562656012690, -0.688372295638743140, +-0.688336026900542960, -0.688299756441502650, -0.688263484261712690, -0.688227210361264220, -0.688190934740247840, -0.688154657398754140, -0.688118378336873390, -0.688082097554697070, +-0.688045815052315430, -0.688009530829819300, -0.687973244887299050, -0.687936957224845940, -0.687900667842550550, -0.687864376740503050, -0.687828083918795020, -0.687791789377516730, +-0.687755493116758990, -0.687719195136612170, -0.687682895437167760, -0.687646594018516020, -0.687610290880747880, -0.687573986023953590, -0.687537679448224750, -0.687501371153651620, +-0.687465061140325130, -0.687428749408335650, -0.687392435957774550, -0.687356120788732540, -0.687319803901300100, -0.687283485295567820, -0.687247164971627190, -0.687210842929568580, +-0.687174519169482910, -0.687138193691460670, -0.687101866495593240, -0.687065537581971090, -0.687029206950684810, -0.686992874601825900, -0.686956540535484720, -0.686920204751752190, +-0.686883867250718820, -0.686847528032476170, -0.686811187097114640, -0.686774844444725140, -0.686738500075398270, -0.686702153989225410, -0.686665806186297130, -0.686629456666704390, +-0.686593105430537750, -0.686556752477888610, -0.686520397808847550, -0.686484041423505500, -0.686447683321953050, -0.686411323504281800, -0.686374961970582120, -0.686338598720944710, +-0.686302233755461290, -0.686265867074222100, -0.686229498677318310, -0.686193128564840490, -0.686156756736880150, -0.686120383193527860, -0.686084007934874670, -0.686047630961011070, +-0.686011252272028860, -0.685974871868018420, -0.685938489749070790, -0.685902105915276560, -0.685865720366727550, -0.685829333103514130, -0.685792944125727330, -0.685756553433457980, +-0.685720161026797450, -0.685683766905836660, -0.685647371070665980, -0.685610973521377230, -0.685574574258061120, -0.685538173280808570, -0.685501770589710180, -0.685465366184857760, +-0.685428960066341910, -0.685392552234253550, -0.685356142688683610, -0.685319731429723580, -0.685283318457464260, -0.685246903771996710, -0.685210487373411500, -0.685174069261800360, +-0.685137649437254080, -0.685101227899863720, -0.685064804649719860, -0.685028379686914430, -0.684991953011538040, -0.684955524623681700, -0.684919094523436240, -0.684882662710893380, +-0.684846229186143800, -0.684809793949278430, -0.684773357000388880, -0.684736918339565960, -0.684700477966900700, -0.684664035882483810, -0.684627592086407330, -0.684591146578761740, +-0.684554699359638420, -0.684518250429127950, -0.684481799787322150, -0.684445347434311960, -0.684408893370188290, -0.684372437595042070, -0.684335980108965130, -0.684299520912048260, +-0.684263060004382530, -0.684226597386058840, -0.684190133057169030, -0.684153667017803780, -0.684117199268054140, -0.684080729808011820, -0.684044258637767630, -0.684007785757412830, +-0.683971311167038240, -0.683934834866735670, -0.683898356856595950, -0.683861877136710430, -0.683825395707169940, -0.683788912568066180, -0.683752427719490190, -0.683715941161533110, +-0.683679452894285890, -0.683642962917840320, -0.683606471232287350, -0.683569977837718220, -0.683533482734223760, -0.683496985921896010, -0.683460487400825770, -0.683423987171103970, +-0.683387485232822560, -0.683350981586072330, -0.683314476230944770, -0.683277969167530590, -0.683241460395921930, -0.683204949916209500, -0.683168437728484790, -0.683131923832838610, +-0.683095408229362990, -0.683058890918148750, -0.683022371899287380, -0.682985851172869700, -0.682949328738987840, -0.682912804597732510, -0.682876278749195210, -0.682839751193466960, +-0.682803221930639580, -0.682766690960804220, -0.682730158284051700, -0.682693623900474170, -0.682657087810162540, -0.682620550013208320, -0.682584010509702300, -0.682547469299736530, +-0.682510926383402160, -0.682474381760790450, -0.682437835431992430, -0.682401287397100260, -0.682364737656204760, -0.682328186209397500, -0.682291633056769320, -0.682255078198412470, +-0.682218521634417980, -0.682181963364877130, -0.682145403389881060, -0.682108841709521800, -0.682072278323890390, -0.682035713233078320, -0.681999146437176630, -0.681962577936277460, +-0.681926007730471740, -0.681889435819850730, -0.681852862204506470, -0.681816286884530110, -0.681779709860012910, -0.681743131131046230, -0.681706550697721900, -0.681669968560131290, +-0.681633384718365760, -0.681596799172516480, -0.681560211922675460, -0.681523622968933870, -0.681487032311383300, -0.681450439950114780, -0.681413845885220580, -0.681377250116791620, +-0.681340652644919720, -0.681304053469695690, -0.681267452591211910, -0.681230850009559520, -0.681194245724829670, -0.681157639737114520, -0.681121032046505310, -0.681084422653093440, +-0.681047811556970250, -0.681011198758227910, -0.680974584256957450, -0.680937968053250580, -0.680901350147198550, -0.680864730538893290, -0.680828109228426400, -0.680791486215889140, +-0.680754861501372770, -0.680718235084969650, -0.680681606966770940, -0.680644977146868340, -0.680608345625352770, -0.680571712402316730, -0.680535077477851470, -0.680498440852048030, +-0.680461802524998990, -0.680425162496795410, -0.680388520767528870, -0.680351877337290740, -0.680315232206173180, -0.680278585374267550, -0.680241936841665560, -0.680205286608458250, +-0.680168634674738200, -0.680131981040596470, -0.680095325706124850, -0.680058668671414510, -0.680022009936557930, -0.679985349501646240, -0.679948687366771170, -0.679912023532024070, +-0.679875357997497320, -0.679838690763282070, -0.679802021829470140, -0.679765351196152780, -0.679728678863422480, -0.679692004831370380, -0.679655329100087970, -0.679618651669667620, +-0.679581972540200590, -0.679545291711778580, -0.679508609184493070, -0.679471924958436340, -0.679435239033699840, -0.679398551410375200, -0.679361862088553870, -0.679325171068328240, +-0.679288478349789670, -0.679251783933029870, -0.679215087818140330, -0.679178390005213410, -0.679141690494340480, -0.679104989285613360, -0.679068286379123310, -0.679031581774963030, +-0.678994875473223680, -0.678958167473996950, -0.678921457777375000, -0.678884746383449420, -0.678848033292312030, -0.678811318504054180, -0.678774602018768380, -0.678737883836546100, +-0.678701163957479150, -0.678664442381658910, -0.678627719109177850, -0.678590994140127580, -0.678554267474599680, -0.678517539112685970, -0.678480809054478610, -0.678444077300069280, +-0.678407343849549700, -0.678370608703011470, -0.678333871860547170, -0.678297133322248060, -0.678260393088205740, -0.678223651158512910, -0.678186907533260830, -0.678150162212541540, +-0.678113415196446410, -0.678076666485068260, -0.678039916078498340, -0.678003163976828580, -0.677966410180150690, -0.677929654688557040, -0.677892897502139210, -0.677856138620989260, +-0.677819378045198540, -0.677782615774859760, -0.677745851810064410, -0.677709086150904420, -0.677672318797471360, -0.677635549749857850, -0.677598779008155570, -0.677562006572455910, +-0.677525232442851570, -0.677488456619434130, -0.677451679102295650, -0.677414899891527480, -0.677378118987222550, -0.677341336389472250, -0.677304552098368600, -0.677267766114003300, +-0.677230978436468840, -0.677194189065856930, -0.677157398002259600, -0.677120605245768450, -0.677083810796476060, -0.677047014654474260, -0.677010216819854850, -0.676973417292709550, +-0.676936616073131050, -0.676899813161210950, -0.676863008557041400, -0.676826202260713990, -0.676789394272321320, -0.676752584591955310, -0.676715773219707440, -0.676678960155670420, +-0.676642145399936060, -0.676605328952596290, -0.676568510813742920, -0.676531690983468550, -0.676494869461864990, -0.676458046249024280, -0.676421221345038130, -0.676384394749999230, +-0.676347566463999290, -0.676310736487130470, -0.676273904819484460, -0.676237071461154080, -0.676200236412231040, -0.676163399672807360, -0.676126561242974770, -0.676089721122826170, +-0.676052879312453280, -0.676016035811947910, -0.675979190621402770, -0.675942343740909560, -0.675905495170560530, -0.675868644910447510, -0.675831792960663200, -0.675794939321299300, +-0.675758083992448080, -0.675721226974201450, -0.675684368266651900, -0.675647507869891580, -0.675610645784012420, -0.675573782009106340, -0.675536916545266040, -0.675500049392583570, +-0.675463180551150840, -0.675426310021060020, -0.675389437802403680, -0.675352563895273650, -0.675315688299761960, -0.675278811015961430, -0.675241932043963770, -0.675205051383861330, +-0.675168169035745950, -0.675131284999710420, -0.675094399275846690, -0.675057511864247010, -0.675020622765003190, -0.674983731978208160, -0.674946839503953730, -0.674909945342332280, +-0.674873049493435630, -0.674836151957356690, -0.674799252734187390, -0.674762351824019890, -0.674725449226946220, -0.674688544943059300, -0.674651638972450950, -0.674614731315213540, +-0.674577821971438900, -0.674540910941220150, -0.674503998224649020, -0.674467083821817640, -0.674430167732818830, -0.674393249957744630, -0.674356330496687310, -0.674319409349738770, +-0.674282486516992070, -0.674245561998539240, -0.674208635794472430, -0.674171707904883680, -0.674134778329866010, -0.674097847069511370, -0.674060914123912220, -0.674023979493160400, +-0.673987043177348920, -0.673950105176569840, -0.673913165490915510, -0.673876224120477870, -0.673839281065350070, -0.673802336325624030, -0.673765389901391900, -0.673728441792746600, +-0.673691491999780180, -0.673654540522585000, -0.673617587361253210, -0.673580632515877740, -0.673543675986550630, -0.673506717773364460, -0.673469757876411060, -0.673432796295783560, +-0.673395833031574240, -0.673358868083875240, -0.673321901452778700, -0.673284933138377780, -0.673247963140764520, -0.673210991460031380, -0.673174018096270420, -0.673137043049574670, +-0.673100066320036380, -0.673063087907747600, -0.673026107812801480, -0.672989126035289930, -0.672952142575305670, -0.672915157432940720, -0.672878170608288250, -0.672841182101440280, +-0.672804191912489410, -0.672767200041527680, -0.672730206488648340, -0.672693211253943430, -0.672656214337505440, -0.672619215739426730, -0.672582215459800240, -0.672545213498718210, +-0.672508209856273130, -0.672471204532557150, -0.672434197527663650, -0.672397188841684530, -0.672360178474712080, -0.672323166426839650, -0.672286152698159170, -0.672249137288763340, +-0.672212120198744320, -0.672175101428195370, -0.672138080977208730, -0.672101058845876790, -0.672064035034291910, -0.672027009542547350, -0.671989982370735150, -0.671952953518948020, +-0.671915922987278200, -0.671878890775818860, -0.671841856884662360, -0.671804821313901180, -0.671767784063627580, -0.671730745133934830, -0.671693704524915390, -0.671656662236661540, +-0.671619618269265750, -0.671582572622821170, -0.671545525297420290, -0.671508476293155130, -0.671471425610119190, -0.671434373248404710, -0.671397319208104190, -0.671360263489310220, +-0.671323206092115820, -0.671286147016613380, -0.671249086262895590, -0.671212023831054720, -0.671174959721184130, -0.671137893933376200, -0.671100826467723510, -0.671063757324318440, +-0.671026686503254250, -0.670989614004623420, -0.670952539828518550, -0.670915463975031880, -0.670878386444257010, -0.670841307236286100, -0.670804226351211730, -0.670767143789126940, +-0.670730059550124440, -0.670692973634296700, -0.670655886041736200, -0.670618796772536330, -0.670581705826789440, -0.670544613204588360, -0.670507518906025330, -0.670470422931193850, +-0.670433325280186400, -0.670396225953095560, -0.670359124950013820, -0.670322022271034660, -0.670284917916250440, -0.670247811885753890, -0.670210704179637460, -0.670173594797994650, +-0.670136483740917830, -0.670099371008499480, -0.670062256600832960, -0.670025140518010880, -0.669988022760125920, -0.669950903327270590, -0.669913782219538230, -0.669876659437021570, +-0.669839534979813190, -0.669802408848005680, -0.669765281041692420, -0.669728151560965990, -0.669691020405919210, -0.669653887576644460, -0.669616753073235430, -0.669579616895784490, +-0.669542479044384460, -0.669505339519127940, -0.669468198320108400, -0.669431055447418320, -0.669393910901150630, -0.669356764681397820, -0.669319616788253470, -0.669282467221810060, +-0.669245315982160190, -0.669208163069397340, -0.669171008483613990, -0.669133852224903180, -0.669096694293357500, -0.669059534689070310, -0.669022373412134330, -0.668985210462642370, +-0.668948045840687120, -0.668910879546361970, -0.668873711579759720, -0.668836541940973190, -0.668799370630094980, -0.668762197647218670, -0.668725022992436750, -0.668687846665842360, +-0.668650668667528090, -0.668613488997587440, -0.668576307656112980, -0.668539124643197540, -0.668501939958934590, -0.668464753603416730, -0.668427565576736990, -0.668390375878988090, +-0.668353184510263490, -0.668315991470656010, -0.668278796760258480, -0.668241600379163690, -0.668204402327465250, -0.668167202605255750, -0.668130001212628220, -0.668092798149675370, +-0.668055593416490900, -0.668018387013167400, -0.667981178939797910, -0.667943969196475250, -0.667906757783292890, -0.667869544700343650, -0.667832329947720240, -0.667795113525516350, +-0.667757895433824690, -0.667720675672738300, -0.667683454242349870, -0.667646231142753120, -0.667609006374040750, -0.667571779936305900, -0.667534551829641280, -0.667497322054140700, +-0.667460090609896640, -0.667422857497002480, -0.667385622715550800, -0.667348386265635420, -0.667311148147349040, -0.667273908360784820, -0.667236666906035450, -0.667199423783194740, +-0.667162178992355530, -0.667124932533610600, -0.667087684407053570, -0.667050434612777350, -0.667013183150874990, -0.666975930021439400, -0.666938675224564290, -0.666901418760342590, +-0.666864160628867220, -0.666826900830231220, -0.666789639364528290, -0.666752376231851130, -0.666715111432293120, -0.666677844965947060, -0.666640576832906670, -0.666603307033264760, +-0.666566035567114690, -0.666528762434549170, -0.666491487635662020, -0.666454211170546260, -0.666416933039294830, -0.666379653242000880, -0.666342371778757990, -0.666305088649659320, +-0.666267803854797450, -0.666230517394266530, -0.666193229268159270, -0.666155939476568930, -0.666118648019588420, -0.666081354897311570, -0.666044060109831420, -0.666006763657240990, +-0.665969465539633430, -0.665932165757102460, -0.665894864309741210, -0.665857561197642720, -0.665820256420899930, -0.665782949979606960, -0.665745641873856540, -0.665708332103742030, +-0.665671020669356350, -0.665633707570793430, -0.665596392808146310, -0.665559076381507800, -0.665521758290971930, -0.665484438536631750, -0.665447117118580400, -0.665409794036910920, +-0.665372469291717340, -0.665335142883092480, -0.665297814811129930, -0.665260485075922390, -0.665223153677564020, -0.665185820616147730, -0.665148485891766890, -0.665111149504514550, +-0.665073811454484630, -0.665036471741770160, -0.664999130366464630, -0.664961787328660850, -0.664924442628452850, -0.664887096265933900, -0.664849748241196800, -0.664812398554335720, +-0.664775047205443560, -0.664737694194613820, -0.664700339521939520, -0.664662983187514710, -0.664625625191432420, -0.664588265533786030, -0.664550904214668670, -0.664513541234174500, +-0.664476176592396330, -0.664438810289427750, -0.664401442325361800, -0.664364072700292630, -0.664326701414313270, -0.664289328467517090, -0.664251953859997360, -0.664214577591847990, +-0.664177199663162240, -0.664139820074033490, -0.664102438824554890, -0.664065055914820460, -0.664027671344923350, -0.663990285114956840, -0.663952897225014830, -0.663915507675190590, +-0.663878116465577710, -0.663840723596269110, -0.663803329067359060, -0.663765932878940700, -0.663728535031107400, -0.663691135523952540, -0.663653734357570140, -0.663616331532053460, +-0.663578927047495880, -0.663541520903990660, -0.663504113101632040, -0.663466703640513080, -0.663429292520727350, -0.663391879742368020, -0.663354465305529440, -0.663317049210304540, +-0.663279631456786810, -0.663242212045070280, -0.663204790975248320, -0.663167368247414290, -0.663129943861661460, -0.663092517818084200, -0.663055090116775550, -0.663017660757829310, +-0.662980229741338520, -0.662942797067397450, -0.662905362736099460, -0.662867926747538030, -0.662830489101806420, -0.662793049798998890, -0.662755608839208810, -0.662718166222529660, +-0.662680721949054810, -0.662643276018878510, -0.662605828432093920, -0.662568379188794520, -0.662530928289074450, -0.662493475733027080, -0.662456021520746010, -0.662418565652324600, +-0.662381108127857000, -0.662343648947436690, -0.662306188111157270, -0.662268725619112100, -0.662231261471395330, -0.662193795668100550, -0.662156328209321130, -0.662118859095150670, +-0.662081388325683310, -0.662043915901012530, -0.662006441821232030, -0.661968966086434960, -0.661931488696715920, -0.661894009652168050, -0.661856528952885270, -0.661819046598960740, +-0.661781562590489040, -0.661744076927563320, -0.661706589610277060, -0.661669100638724750, -0.661631610012999640, -0.661594117733195540, -0.661556623799405720, -0.661519128211724760, +-0.661481630970246040, -0.661444132075063140, -0.661406631526269550, -0.661369129323959860, -0.661331625468227210, -0.661294119959165540, -0.661256612796868200, -0.661219103981429690, +-0.661181593512943480, -0.661144081391503160, -0.661106567617202430, -0.661069052190135560, -0.661031535110396030, -0.660994016378077420, -0.660956495993274000, -0.660918973956079460, +-0.660881450266587400, -0.660843924924891410, -0.660806397931085860, -0.660768869285264350, -0.660731338987520790, -0.660693807037948440, -0.660656273436641910, -0.660618738183694650, +-0.660581201279200610, -0.660543662723253270, -0.660506122515947090, -0.660468580657375570, -0.660431037147632630, -0.660393491986811740, -0.660355945175007400, -0.660318396712313290, +-0.660280846598822800, -0.660243294834630510, -0.660205741419830130, -0.660168186354515240, -0.660130629638779550, -0.660093071272717660, -0.660055511256423140, -0.660017949589989830, +-0.659980386273511300, -0.659942821307082040, -0.659905254690795860, -0.659867686424746470, -0.659830116509027560, -0.659792544943733740, -0.659754971728958470, -0.659717396864795800, +-0.659679820351339320, -0.659642242188683610, -0.659604662376922280, -0.659567080916149020, -0.659529497806458310, -0.659491913047943860, -0.659454326640699700, -0.659416738584819310, +-0.659379148880397500, -0.659341557527527770, -0.659303964526304130, -0.659266369876820300, -0.659228773579170870, -0.659191175633449420, -0.659153576039750110, -0.659115974798166530, +-0.659078371908793260, -0.659040767371724120, -0.659003161187053040, -0.658965553354873830, -0.658927943875280970, -0.658890332748368280, -0.658852719974229670, -0.658815105552959080, +-0.658777489484650980, -0.658739871769399080, -0.658702252407297300, -0.658664631398440230, -0.658627008742921460, -0.658589384440835260, -0.658551758492275210, -0.658514130897336130, +-0.658476501656111710, -0.658438870768696120, -0.658401238235182930, -0.658363604055666960, -0.658325968230242030, -0.658288330759002170, -0.658250691642041090, -0.658213050879453700, +-0.658175408471333600, -0.658137764417775050, -0.658100118718871750, -0.658062471374718520, -0.658024822385409050, -0.657987171751037160, -0.657949519471697770, -0.657911865547484490, +-0.657874209978491550, -0.657836552764812790, -0.657798893906543000, -0.657761233403776010, -0.657723571256605850, -0.657685907465126450, -0.657648242029432620, -0.657610574949618280, +-0.657572906225777350, -0.657535235858003890, -0.657497563846392690, -0.657459890191037570, -0.657422214892032670, -0.657384537949471940, -0.657346859363450280, -0.657309179134061390, +-0.657271497261399220, -0.657233813745558670, -0.657196128586633570, -0.657158441784718050, -0.657120753339906270, -0.657083063252292820, -0.657045371521971730, -0.657007678149037270, +-0.656969983133583240, -0.656932286475704560, -0.656894588175495180, -0.656856888233049330, -0.656819186648460950, -0.656781483421824960, -0.656743778553235180, -0.656706072042785970, +-0.656668363890571370, -0.656630654096686080, -0.656592942661224140, -0.656555229584279920, -0.656517514865947230, -0.656479798506321100, -0.656442080505495460, -0.656404360863564350, +-0.656366639580622580, -0.656328916656764290, -0.656291192092083750, -0.656253465886674770, -0.656215738040632490, -0.656178008554050950, -0.656140277427024300, -0.656102544659646680, +-0.656064810252013020, -0.656027074204217240, -0.655989336516353940, -0.655951597188516810, -0.655913856220801120, -0.655876113613300780, -0.655838369366110060, -0.655800623479323220, +-0.655762875953035060, -0.655725126787339740, -0.655687375982331290, -0.655649623538104740, -0.655611869454754140, -0.655574113732373840, -0.655536356371057890, -0.655498597370901440, +-0.655460836731998510, -0.655423074454443370, -0.655385310538330270, -0.655347544983754250, -0.655309777790809460, -0.655272008959590040, -0.655234238490190360, -0.655196466382705460, +-0.655158692637229370, -0.655120917253856460, -0.655083140232680990, -0.655045361573798000, -0.655007581277301630, -0.654969799343285920, -0.654932015771846120, -0.654894230563076270, +-0.654856443717070860, -0.654818655233923910, -0.654780865113730680, -0.654743073356585330, -0.654705279962582320, -0.654667484931815700, -0.654629688264380730, -0.654591889960371540, +-0.654554090019882630, -0.654516288443008240, -0.654478485229843420, -0.654440680380482310, -0.654402873895019500, -0.654365065773549250, -0.654327256016166590, -0.654289444622965900, +-0.654251631594041210, -0.654213816929487770, -0.654176000629399730, -0.654138182693871810, -0.654100363122998020, -0.654062541916873630, -0.654024719075593010, -0.653986894599250410, +-0.653949068487940430, -0.653911240741757990, -0.653873411360797460, -0.653835580345153430, -0.653797747694920160, -0.653759913410192790, -0.653722077491065590, -0.653684239937633250, +-0.653646400749990030, -0.653608559928231080, -0.653570717472450770, -0.653532873382743680, -0.653495027659203980, -0.653457180301927120, -0.653419331311007270, -0.653381480686538780, +-0.653343628428616930, -0.653305774537335960, -0.653267919012790690, -0.653230061855075150, -0.653192203064284830, -0.653154342640513970, -0.653116480583857300, -0.653078616894409160, +-0.653040751572264710, -0.653002884617518430, -0.652965016030264910, -0.652927145810598520, -0.652889273958614620, -0.652851400474407480, -0.652813525358071910, -0.652775648609702160, +-0.652737770229393610, -0.652699890217240620, -0.652662008573337560, -0.652624125297779910, -0.652586240390661930, -0.652548353852078210, -0.652510465682123450, -0.652472575880892800, +-0.652434684448480630, -0.652396791384981860, -0.652358896690490740, -0.652321000365102650, -0.652283102408912070, -0.652245202822013810, -0.652207301604502130, -0.652169398756472620, +-0.652131494278019530, -0.652093588169237790, -0.652055680430221660, -0.652017771061066730, -0.651979860061867370, -0.651941947432717940, -0.651904033173714040, -0.651866117284950140, +-0.651828199766520840, -0.651790280618520730, -0.651752359841045180, -0.651714437434188890, -0.651676513398046330, -0.651638587732712220, -0.651600660438282020, -0.651562731514850220, +-0.651524800962511420, -0.651486868781360420, -0.651448934971492590, -0.651410999533002300, -0.651373062465984590, -0.651335123770533930, -0.651297183446745700, -0.651259241494714590, +-0.651221297914535420, -0.651183352706302570, -0.651145405870111720, -0.651107457406057350, -0.651069507314233960, -0.651031555594737130, -0.650993602247661450, -0.650955647273101850, +-0.650917690671152680, -0.650879732441909660, -0.650841772585467270, -0.650803811101920540, -0.650765847991363830, -0.650727883253892860, -0.650689916889602200, -0.650651948898586800, +-0.650613979280941110, -0.650576008036760970, -0.650538035166140620, -0.650500060669175320, -0.650462084545959440, -0.650424106796588690, -0.650386127421157760, -0.650348146419761020, +-0.650310163792494400, -0.650272179539452270, -0.650234193660729760, -0.650196206156421370, -0.650158217026622910, -0.650120226271428850, -0.650082233890934110, -0.650044239885233630, +-0.650006244254422770, -0.649968246998596340, -0.649930248117849270, -0.649892247612276260, -0.649854245481973010, -0.649816241727034120, -0.649778236347554610, -0.649740229343629180, +-0.649702220715353440, -0.649664210462822190, -0.649626198586130130, -0.649588185085372860, -0.649550169960645190, -0.649512153212042030, -0.649474134839658210, -0.649436114843589430, +-0.649398093223930270, -0.649360069980775890, -0.649322045114220980, -0.649284018624361360, -0.649245990511291620, -0.649207960775106900, -0.649169929415902010, -0.649131896433772560, +-0.649093861828813460, -0.649055825601119630, -0.649017787750786000, -0.648979748277908160, -0.648941707182580930, -0.648903664464899110, -0.648865620124958520, -0.648827574162853860, +-0.648789526578680160, -0.648751477372532470, -0.648713426544506260, -0.648675374094696670, -0.648637320023198520, -0.648599264330106730, -0.648561207015517120, -0.648523148079524490, +-0.648485087522224110, -0.648447025343710570, -0.648408961544079790, -0.648370896123426580, -0.648332829081846200, -0.648294760419433460, -0.648256690136284060, -0.648218618232492940, +-0.648180544708155340, -0.648142469563365960, -0.648104392798220740, -0.648066314412814590, -0.648028234407242330, -0.647990152781599770, -0.647952069535981940, -0.647913984670483780, +-0.647875898185200420, -0.647837810080227670, -0.647799720355660360, -0.647761629011593730, -0.647723536048122720, -0.647685441465343130, -0.647647345263349990, -0.647609247442238580, +-0.647571148002103580, -0.647533046943041150, -0.647494944265145980, -0.647456839968513550, -0.647418734053238690, -0.647380626519417300, -0.647342517367144320, -0.647304406596514670, +-0.647266294207624380, -0.647228180200568380, -0.647190064575441930, -0.647151947332340050, -0.647113828471358570, -0.647075707992592510, -0.647037585896137140, -0.646999462182087480, +-0.646961336850539580, -0.646923209901588250, -0.646885081335328960, -0.646846951151856640, -0.646808819351267220, -0.646770685933655830, -0.646732550899117630, -0.646694414247747760, +-0.646656275979642260, -0.646618136094895930, -0.646579994593604050, -0.646541851475862410, -0.646503706741766270, -0.646465560391410790, -0.646427412424890990, -0.646389262842303140, +-0.646351111643742040, -0.646312958829303290, -0.646274804399081690, -0.646236648353173400, -0.646198490691673570, -0.646160331414677440, -0.646122170522280160, -0.646084008014577770, +-0.646045843891665420, -0.646007678153638460, -0.645969510800591950, -0.645931341832622020, -0.645893171249823710, -0.645854999052292490, -0.645816825240123400, -0.645778649813412600, +-0.645740472772255210, -0.645702294116746290, -0.645664113846981860, -0.645625931963057290, -0.645587748465067830, -0.645549563353108650, -0.645511376627275980, -0.645473188287664760, +-0.645434998334370680, -0.645396806767488670, -0.645358613587114990, -0.645320418793344790, -0.645282222386273640, -0.645244024365996480, -0.645205824732609680, -0.645167623486208260, +-0.645129420626887720, -0.645091216154743410, -0.645053010069871370, -0.645014802372366750, -0.644976593062324800, -0.644938382139841780, -0.644900169605012730, -0.644861955457933230, +-0.644823739698698550, -0.644785522327404940, -0.644747303344147430, -0.644709082749021610, -0.644670860542122860, -0.644632636723547310, -0.644594411293390010, -0.644556184251746880, +-0.644517955598712830, -0.644479725334384250, -0.644441493458856370, -0.644403259972224700, -0.644365024874584580, -0.644326788166032280, -0.644288549846662950, -0.644250309916571950, +-0.644212068375855430, -0.644173825224608860, -0.644135580462927630, -0.644097334090907190, -0.644059086108643710, -0.644020836516232540, -0.643982585313769280, -0.643944332501349190, +-0.643906078079068630, -0.643867822047022860, -0.643829564405307480, -0.643791305154017950, -0.643753044293250420, -0.643714781823100380, -0.643676517743663300, -0.643638252055034550, +-0.643599984757310620, -0.643561715850586640, -0.643523445334958090, -0.643485173210521230, -0.643446899477371440, -0.643408624135604400, -0.643370347185315490, -0.643332068626601080, +-0.643293788459556430, -0.643255506684277330, -0.643217223300859060, -0.643178938309398210, -0.643140651709989910, -0.643102363502729980, -0.643064073687713900, -0.643025782265037930, +-0.642987489234797430, -0.642949194597088320, -0.642910898352005770, -0.642872600499646450, -0.642834301040105530, -0.642795999973478800, -0.642757697299861870, -0.642719393019350990, +-0.642681087132041640, -0.642642779638029180, -0.642604470537410100, -0.642566159830279870, -0.642527847516734310, -0.642489533596868670, -0.642451218070779650, -0.642412900938562510, +-0.642374582200313180, -0.642336261856127020, -0.642297939906100510, -0.642259616350329130, -0.642221291188908800, -0.642182964421934900, -0.642144636049503890, -0.642106306071711260, +-0.642067974488652940, -0.642029641300424280, -0.641991306507121880, -0.641952970108841230, -0.641914632105677780, -0.641876292497728150, -0.641837951285087690, -0.641799608467852440, +-0.641761264046117770, -0.641722918019980380, -0.641684570389535640, -0.641646221154879460, -0.641607870316107330, -0.641569517873315950, -0.641531163826600690, -0.641492808176057580, +-0.641454450921782100, -0.641416092063870850, -0.641377731602419400, -0.641339369537523570, -0.641301005869278960, -0.641262640597782260, -0.641224273723128960, -0.641185905245414520, +-0.641147535164735770, -0.641109163481188070, -0.641070790194867570, -0.641032415305869630, -0.640994038814291070, -0.640955660720227470, -0.640917281023774650, -0.640878899725028320, +-0.640840516824085050, -0.640802132321040440, -0.640763746215990640, -0.640725358509031010, -0.640686969200258360, -0.640648578289768290, -0.640610185777656830, -0.640571791664019450, +-0.640533395948952980, -0.640494998632553100, -0.640456599714915640, -0.640418199196136410, -0.640379797076311870, -0.640341393355537970, -0.640302988033910280, -0.640264581111525400, +-0.640226172588479030, -0.640187762464867300, -0.640149350740785720, -0.640110937416331180, -0.640072522491599290, -0.640034105966686080, -0.639995687841687260, -0.639957268116699620, +-0.639918846791818760, -0.639880423867140840, -0.639841999342761420, -0.639803573218777450, -0.639765145495284400, -0.639726716172378640, -0.639688285250155640, -0.639649852728712330, +-0.639611418608144410, -0.639572982888547580, -0.639534545570018540, -0.639496106652653330, -0.639457666136547640, -0.639419224021797630, -0.639380780308499760, -0.639342334996749970, +-0.639303888086644400, -0.639265439578278750, -0.639226989471749830, -0.639188537767153450, -0.639150084464585650, -0.639111629564142470, -0.639073173065920370, -0.639034714970015410, +-0.638996255276523710, -0.638957793985540980, -0.638919331097164140, -0.638880866611488910, -0.638842400528611190, -0.638803932848627910, -0.638765463571634660, -0.638726992697727810, +-0.638688520227003180, -0.638650046159557560, -0.638611570495486780, -0.638573093234887090, -0.638534614377854410, -0.638496133924485450, -0.638457651874876130, -0.638419168229122810, +-0.638380682987321090, -0.638342196149568110, -0.638303707715959570, -0.638265217686591720, -0.638226726061560610, -0.638188232840962930, -0.638149738024894720, -0.638111241613451790, +-0.638072743606731160, -0.638034244004828550, -0.637995742807840440, -0.637957240015862630, -0.637918735628992040, -0.637880229647324490, -0.637841722070956570, -0.637803212899983870, +-0.637764702134503540, -0.637726189774611370, -0.637687675820403870, -0.637649160271976710, -0.637610643129427060, -0.637572124392850830, -0.637533604062344160, -0.637495082138003210, +-0.637456558619924900, -0.637418033508205250, -0.637379506802940420, -0.637340978504226550, -0.637302448612160570, -0.637263917126838500, -0.637225384048356160, -0.637186849376810800, +-0.637148313112298360, -0.637109775254915080, -0.637071235804757000, -0.637032694761921260, -0.636994152126503680, -0.636955607898600730, -0.636917062078308450, -0.636878514665723870, +-0.636839965660943030, -0.636801415064062180, -0.636762862875177580, -0.636724309094386040, -0.636685753721783820, -0.636647196757467170, -0.636608638201532130, -0.636570078054075950, +-0.636531516315194560, -0.636492952984983980, -0.636454388063541380, -0.636415821550962770, -0.636377253447344640, -0.636338683752783130, -0.636300112467375170, -0.636261539591216900, +-0.636222965124404790, -0.636184389067034890, -0.636145811419204450, -0.636107232181009510, -0.636068651352546420, -0.636030068933911340, -0.635991484925201410, -0.635952899326512890, +-0.635914312137942030, -0.635875723359584980, -0.635837132991539100, -0.635798541033900320, -0.635759947486764900, -0.635721352350229860, -0.635682755624391470, -0.635644157309346200, +-0.635605557405190200, -0.635566955912020730, -0.635528352829933810, -0.635489748159025920, -0.635451141899393450, -0.635412534051133400, -0.635373924614342060, -0.635335313589115880, +-0.635296700975551020, -0.635258086773744850, -0.635219470983793390, -0.635180853605793240, -0.635142234639840650, -0.635103614086032890, -0.635064991944465970, -0.635026368215236610, +-0.634987742898441070, -0.634949115994176360, -0.634910487502538980, -0.634871857423625060, -0.634833225757531760, -0.634794592504355440, -0.634755957664192570, -0.634717321237139530, +-0.634678683223293460, -0.634640043622750840, -0.634601402435607920, -0.634562759661961300, -0.634524115301908000, -0.634485469355544510, -0.634446821822967300, -0.634408172704272740, +-0.634369521999557980, -0.634330869708919500, -0.634292215832453880, -0.634253560370257260, -0.634214903322427250, -0.634176244689059860, -0.634137584470251590, -0.634098922666099570, +-0.634060259276700400, -0.634021594302150440, -0.633982927742546280, -0.633944259597985060, -0.633905589868563270, -0.633866918554377380, -0.633828245655523980, -0.633789571172100220, +-0.633750895104202570, -0.633712217451927740, -0.633673538215371870, -0.633634857394632660, -0.633596174989806250, -0.633557491000989350, -0.633518805428278430, -0.633480118271770860, +-0.633441429531562910, -0.633402739207751140, -0.633364047300432830, -0.633325353809704340, -0.633286658735662590, -0.633247962078403730, -0.633209263838025340, -0.633170564014623900, +-0.633131862608295900, -0.633093159619138040, -0.633054455047247440, -0.633015748892720830, -0.632977041155654900, -0.632938331836145900, -0.632899620934291420, -0.632860908450187940, +-0.632822194383932280, -0.632783478735620690, -0.632744761505350750, -0.632706042693218840, -0.632667322299321540, -0.632628600323756340, -0.632589876766619600, -0.632551151628008120, +-0.632512424908018400, -0.632473696606748010, -0.632434966724293450, -0.632396235260751390, -0.632357502216218450, -0.632318767590791970, -0.632280031384568670, -0.632241293597645360, +-0.632202554230118400, -0.632163813282085370, -0.632125070753642880, -0.632086326644887620, -0.632047580955916290, -0.632008833686826250, -0.631970084837714220, -0.631931334408676880, +-0.631892582399810940, -0.631853828811213880, -0.631815073642982280, -0.631776316895212630, -0.631737558568002510, -0.631698798661448510, -0.631660037175647450, -0.631621274110696020, +-0.631582509466691700, -0.631543743243731190, -0.631504975441911200, -0.631466206061328530, -0.631427435102080660, -0.631388662564264180, -0.631349888447976130, -0.631311112753312980, +-0.631272335480372320, -0.631233556629250850, -0.631194776200045490, -0.631155994192852840, -0.631117210607770600, -0.631078425444895340, -0.631039638704323560, -0.631000850386153170, +-0.630962060490480540, -0.630923269017402810, -0.630884475967016580, -0.630845681339419540, -0.630806885134708170, -0.630768087352979730, -0.630729287994330590, -0.630690487058858660, +-0.630651684546660540, -0.630612880457833150, -0.630574074792473180, -0.630535267550678460, -0.630496458732545560, -0.630457648338171420, -0.630418836367652840, -0.630380022821087630, +-0.630341207698572270, -0.630302391000203580, -0.630263572726079250, -0.630224752876295870, -0.630185931450950810, -0.630147108450140440, -0.630108283873962670, -0.630069457722514210, +-0.630030629995892100, -0.629991800694193140, -0.629952969817514920, -0.629914137365954250, -0.629875303339608280, -0.629836467738573820, -0.629797630562948350, -0.629758791812828900, +-0.629719951488312500, -0.629681109589495860, -0.629642266116476780, -0.629603421069352080, -0.629564574448218670, -0.629525726253173600, -0.629486876484314560, -0.629448025141738370, +-0.629409172225541710, -0.629370317735822420, -0.629331461672677390, -0.629292604036203680, -0.629253744826498210, -0.629214884043658660, -0.629176021687781860, -0.629137157758965060, +-0.629098292257304960, -0.629059425182899590, -0.629020556535845540, -0.628981686316240070, -0.628942814524180220, -0.628903941159763560, -0.628865066223087020, -0.628826189714247860, +-0.628787311633342890, -0.628748431980469920, -0.628709550755725880, -0.628670667959207670, -0.628631783591013130, -0.628592897651239160, -0.628554010139982910, -0.628515121057341310, +-0.628476230403412270, -0.628437338178292610, -0.628398444382079590, -0.628359549014870120, -0.628320652076762130, -0.628281753567852540, -0.628242853488238500, -0.628203951838017030, +-0.628165048617286060, -0.628126143826142400, -0.628087237464683420, -0.628048329533006040, -0.628009420031208080, -0.627970508959386660, -0.627931596317638620, -0.627892682106061860, +-0.627853766324753430, -0.627814848973810570, -0.627775930053330320, -0.627737009563410500, -0.627698087504148240, -0.627659163875640690, -0.627620238677984890, -0.627581311911278860, +-0.627542383575619530, -0.627503453671104270, -0.627464522197830110, -0.627425589155894860, -0.627386654545395660, -0.627347718366429890, -0.627308780619094340, -0.627269841303487290, +-0.627230900419705640, -0.627191957967846440, -0.627153013948007600, -0.627114068360286270, -0.627075121204779710, -0.627036172481585050, -0.626997222190800340, -0.626958270332522490, +-0.626919316906848990, -0.626880361913876860, -0.626841405353704250, -0.626802447226428080, -0.626763487532145720, -0.626724526270954320, -0.626685563442952010, -0.626646599048235720, +-0.626607633086903040, -0.626568665559050890, -0.626529696464777300, -0.626490725804179640, -0.626451753577355050, -0.626412779784400800, -0.626373804425414900, -0.626334827500494520, +-0.626295849009736670, -0.626256868953239620, -0.626217887331100400, -0.626178904143416370, -0.626139919390284790, -0.626100933071803810, -0.626061945188070460, -0.626022955739182210, +-0.625983964725236210, -0.625944972146330710, -0.625905978002562760, -0.625866982294029820, -0.625827985020829150, -0.625788986183058780, -0.625749985780816090, -0.625710983814198320, +-0.625671980283302730, -0.625632975188227580, -0.625593968529070010, -0.625554960305927170, -0.625515950518897190, -0.625476939168077450, -0.625437926253565310, -0.625398911775458030, +-0.625359895733853750, -0.625320878128849730, -0.625281858960543560, -0.625242838229032480, -0.625203815934414540, -0.625164792076787100, -0.625125766656247640, -0.625086739672893410, +-0.625047711126822780, -0.625008681018132780, -0.624969649346921120, -0.624930616113284930, -0.624891581317322590, -0.624852544959131340, -0.624813507038808340, -0.624774467556451940, +-0.624735426512159300, -0.624696383906028220, -0.624657339738155740, -0.624618294008640220, -0.624579246717579030, -0.624540197865069760, -0.624501147451209550, -0.624462095476096880, +-0.624423041939829000, -0.624383986842503510, -0.624344930184217660, -0.624305871965069810, -0.624266812185157340, -0.624227750844577820, -0.624188687943428630, -0.624149623481807910, +-0.624110557459813250, -0.624071489877542240, -0.624032420735092020, -0.623993350032561180, -0.623954277770046970, -0.623915203947646770, -0.623876128565458820, -0.623837051623580610, +-0.623797973122109720, -0.623758893061143520, -0.623719811440780480, -0.623680728261117980, -0.623641643522253600, -0.623602557224284700, -0.623563469367309780, -0.623524379951426290, +-0.623485288976731720, -0.623446196443323660, -0.623407102351300480, -0.623368006700759420, -0.623328909491798420, -0.623289810724514840, -0.623250710399007040, -0.623211608515372490, +-0.623172505073708580, -0.623133400074113660, -0.623094293516685330, -0.623055185401521270, -0.623016075728718870, -0.622976964498376580, -0.622937851710591910, -0.622898737365462640, +-0.622859621463086150, -0.622820504003561040, -0.622781384986984540, -0.622742264413454700, -0.622703142283068780, -0.622664018595925350, -0.622624893352121900, -0.622585766551756240, +-0.622546638194925730, -0.622507508281729070, -0.622468376812263640, -0.622429243786626780, -0.622390109204917330, -0.622350973067232530, -0.622311835373670300, -0.622272696124328120, +-0.622233555319304580, -0.622194412958697150, -0.622155269042603650, -0.622116123571121670, -0.622076976544349680, -0.622037827962385270, -0.621998677825326250, -0.621959526133270320, +-0.621920372886315740, -0.621881218084560430, -0.621842061728101970, -0.621802903817037960, -0.621763744351467080, -0.621724583331486840, -0.621685420757194800, -0.621646256628689550, +-0.621607090946068700, -0.621567923709430150, -0.621528754918871380, -0.621489584574490990, -0.621450412676386790, -0.621411239224656460, -0.621372064219397720, -0.621332887660709150, +-0.621293709548688340, -0.621254529883433330, -0.621215348665041580, -0.621176165893611910, -0.621136981569241690, -0.621097795692029160, -0.621058608262071710, -0.621019419279468020, +-0.620980228744315910, -0.620941036656713190, -0.620901843016757440, -0.620862647824547590, -0.620823451080181000, -0.620784252783755490, -0.620745052935369630, -0.620705851535121140, +-0.620666648583108050, -0.620627444079428050, -0.620588238024179730, -0.620549030417460790, -0.620509821259369380, -0.620470610550002970, -0.620431398289460480, -0.620392184477839390, +-0.620352969115237850, -0.620313752201753550, -0.620274533737485310, -0.620235313722530600, -0.620196092156987680, -0.620156869040954130, -0.620117644374528880, -0.620078418157809400, +-0.620039190390893500, -0.619999961073880110, -0.619960730206866710, -0.619921497789951540, -0.619882263823232190, -0.619843028306807600, -0.619803791240775450, -0.619764552625233780, +-0.619725312460280400, -0.619686070746014120, -0.619646827482532640, -0.619607582669934100, -0.619568336308316200, -0.619529088397777870, -0.619489838938416800, -0.619450587930331140, +-0.619411335373618700, -0.619372081268378170, -0.619332825614707480, -0.619293568412704440, -0.619254309662467750, -0.619215049364095330, -0.619175787517685210, -0.619136524123335420, +-0.619097259181144550, -0.619057992691210530, -0.619018724653631610, -0.618979455068505490, -0.618940183935931090, -0.618900911256006210, -0.618861637028829010, -0.618822361254497410, +-0.618783083933110320, -0.618743805064765450, -0.618704524649561050, -0.618665242687595040, -0.618625959178966230, -0.618586674123772550, -0.618547387522112140, -0.618508099374083020, +-0.618468809679783900, -0.618429518439312820, -0.618390225652767580, -0.618350931320247100, -0.618311635441849190, -0.618272338017672340, -0.618233039047814240, -0.618193738532373920, +-0.618154436471449300, -0.618115132865138530, -0.618075827713539530, -0.618036521016751440, -0.617997212774871960, -0.617957902987999460, -0.617918591656231860, -0.617879278779668080, +-0.617839964358406160, -0.617800648392544340, -0.617761330882180550, -0.617722011827413710, -0.617682691228341850, -0.617643369085063010, -0.617604045397675990, -0.617564720166278950, +-0.617525393390970010, -0.617486065071847330, -0.617446735209009830, -0.617407403802555430, -0.617368070852582610, -0.617328736359189170, -0.617289400322474260, -0.617250062742535910, +-0.617210723619472380, -0.617171382953381590, -0.617132040744362790, -0.617092696992513900, -0.617053351697933180, -0.617014004860718890, -0.616974656480969830, -0.616935306558784150, +-0.616895955094259760, -0.616856602087495930, -0.616817247538590570, -0.616777891447642170, -0.616738533814748520, -0.616699174640009010, -0.616659813923521540, -0.616620451665384590, +-0.616581087865696100, -0.616541722524555300, -0.616502355642060130, -0.616462987218309060, -0.616423617253400220, -0.616384245747432670, -0.616344872700504420, -0.616305498112714070, +-0.616266121984159640, -0.616226744314940290, -0.616187365105154040, -0.616147984354899370, -0.616108602064274310, -0.616069218233378240, -0.616029832862309060, -0.615990445951164920, +-0.615951057500044970, -0.615911667509047470, -0.615872275978270770, -0.615832882907813130, -0.615793488297773470, -0.615754092148250170, -0.615714694459341680, -0.615675295231146060, +-0.615635894463762550, -0.615596492157289290, -0.615557088311824760, -0.615517682927467220, -0.615478276004315820, -0.615438867542468680, -0.615399457542024520, -0.615360046003081250, +-0.615320632925738130, -0.615281218310093530, -0.615241802156245580, -0.615202384464293430, -0.615162965234335330, -0.615123544466469770, -0.615084122160795000, -0.615044698317410380, +-0.615005272936413940, -0.614965846017904270, -0.614926417561979740, -0.614886987568739380, -0.614847556038281670, -0.614808122970704970, -0.614768688366107760, -0.614729252224589070, +-0.614689814546247270, -0.614650375331180940, -0.614610934579488340, -0.614571492291268730, -0.614532048466620350, -0.614492603105641580, -0.614453156208431550, -0.614413707775088750, +-0.614374257805711640, -0.614334806300398490, -0.614295353259248670, -0.614255898682360520, -0.614216442569832650, -0.614176984921763310, -0.614137525738251750, -0.614098065019396460, +-0.614058602765296000, -0.614019138976048760, -0.613979673651753880, -0.613940206792509930, -0.613900738398415410, -0.613861268469568680, -0.613821797006069200, -0.613782324008015130, +-0.613742849475504950, -0.613703373408638010, -0.613663895807512570, -0.613624416672227450, -0.613584936002881000, -0.613545453799572480, -0.613505970062400370, -0.613466484791463260, +-0.613426997986859620, -0.613387509648688820, -0.613348019777049340, -0.613308528372039750, -0.613269035433758440, -0.613229540962304980, -0.613190044957777620, -0.613150547420275080, +-0.613111048349895940, -0.613071547746739440, -0.613032045610904190, -0.612992541942488760, -0.612953036741591520, -0.612913530008312170, -0.612874021742748960, -0.612834511945000380, +-0.612795000615165790, -0.612755487753343760, -0.612715973359633010, -0.612676457434131900, -0.612636939976940130, -0.612597420988155950, -0.612557900467878170, -0.612518378416205380, +-0.612478854833236940, -0.612439329719071330, -0.612399803073807370, -0.612360274897543630, -0.612320745190379600, -0.612281213952413640, -0.612241681183744670, -0.612202146884471050, +-0.612162611054692500, -0.612123073694507470, -0.612083534804014340, -0.612043994383312700, -0.612004452432501120, -0.611964908951678320, -0.611925363940942990, -0.611885817400394600, +-0.611846269330131640, -0.611806719730253020, -0.611767168600857230, -0.611727615942043950, -0.611688061753911550, -0.611648506036558960, -0.611608948790084870, -0.611569390014588650, +-0.611529829710169000, -0.611490267876924840, -0.611450704514954540, -0.611411139624357890, -0.611371573205233390, -0.611332005257679610, -0.611292435781796150, -0.611252864777681590, +-0.611213292245434970, -0.611173718185154650, -0.611134142596940430, -0.611094565480890810, -0.611054986837104910, -0.611015406665681100, -0.610975824966719090, -0.610936241740317580, +-0.610896656986575360, -0.610857070705591250, -0.610817482897464850, -0.610777893562294620, -0.610738302700179700, -0.610698710311218700, -0.610659116395511290, -0.610619520953156080, +-0.610579923984252090, -0.610540325488897920, -0.610500725467193250, -0.610461123919236790, -0.610421520845127130, -0.610381916244964070, -0.610342310118846210, -0.610302702466872570, +-0.610263093289141860, -0.610223482585753650, -0.610183870356806880, -0.610144256602400350, -0.610104641322632870, -0.610065024517604030, -0.610025406187412740, -0.609985786332157940, +-0.609946164951938320, -0.609906542046853570, -0.609866917617002510, -0.609827291662484170, -0.609787664183397250, -0.609748035179841440, -0.609708404651915670, -0.609668772599718410, +-0.609629139023349700, -0.609589503922908120, -0.609549867298492700, -0.609510229150202250, -0.609470589478136700, -0.609430948282394520, -0.609391305563075080, -0.609351661320277070, +-0.609312015554100080, -0.609272368264643260, -0.609232719452005410, -0.609193069116285350, -0.609153417257583100, -0.609113763875997250, -0.609074108971626950, -0.609034452544571110, +-0.608994794594929440, -0.608955135122800750, -0.608915474128283950, -0.608875811611478750, -0.608836147572484050, -0.608796482011398910, -0.608756814928322340, -0.608717146323354050, +-0.608677476196592850, -0.608637804548137980, -0.608598131378088270, -0.608558456686543510, -0.608518780473602640, -0.608479102739364900, -0.608439423483928990, -0.608399742707394830, +-0.608360060409861350, -0.608320376591427790, -0.608280691252192860, -0.608241004392256590, -0.608201316011717790, -0.608161626110675260, -0.608121934689229150, -0.608082241747478160, +-0.608042547285521540, -0.608002851303458210, -0.607963153801388100, -0.607923454779410120, -0.607883754237623530, -0.607844052176127140, -0.607804348595021080, -0.607764643494404070, +-0.607724936874375450, -0.607685228735034170, -0.607645519076480120, -0.607605807898812240, -0.607566095202130010, -0.607526380986532000, -0.607486665252118470, -0.607446947998988350, +-0.607407229227240770, -0.607367508936974780, -0.607327787128290390, -0.607288063801286530, -0.607248338956062120, -0.607208612592717190, -0.607168884711350780, -0.607129155312062130, +-0.607089424394950280, -0.607049691960115270, -0.607009958007655890, -0.606970222537671740, -0.606930485550261630, -0.606890747045525700, -0.606851007023562870, -0.606811265484472510, +-0.606771522428353640, -0.606731777855306300, -0.606692031765429520, -0.606652284158822660, -0.606612535035584770, -0.606572784395815860, -0.606533032239615080, -0.606493278567081240, +-0.606453523378314600, -0.606413766673414180, -0.606374008452479350, -0.606334248715609150, -0.606294487462903600, -0.606254724694461840, -0.606214960410383360, -0.606175194610767080, +-0.606135427295713240, -0.606095658465320760, -0.606055888119689130, -0.606016116258917380, -0.605976342883105760, -0.605936567992353290, -0.605896791586759350, -0.605857013666423080, +-0.605817234231444730, -0.605777453281923120, -0.605737670817957710, -0.605697886839648310, -0.605658101347094300, -0.605618314340395040, -0.605578525819649550, -0.605538735784958200, +-0.605498944236420030, -0.605459151174134400, -0.605419356598200560, -0.605379560508718770, -0.605339762905787950, -0.605299963789507790, -0.605260163159977330, -0.605220361017296930, +-0.605180557361565510, -0.605140752192882770, -0.605100945511347740, -0.605061137317060680, -0.605021327610120840, -0.604981516390627690, -0.604941703658680390, -0.604901889414379060, +-0.604862073657823180, -0.604822256389111690, -0.604782437608344830, -0.604742617315621960, -0.604702795511042560, -0.604662972194705770, -0.604623147366711970, -0.604583321027160280, +-0.604543493176150300, -0.604503663813781180, -0.604463832940153270, -0.604424000555365830, -0.604384166659518330, -0.604344331252710030, -0.604304494335041410, -0.604264655906611380, +-0.604224815967519760, -0.604184974517865790, -0.604145131557749740, -0.604105287087270850, -0.604065441106528380, -0.604025593615622690, -0.603985744614652930, -0.603945894103718910, +-0.603906042082919760, -0.603866188552355740, -0.603826333512126450, -0.603786476962331230, -0.603746618903069470, -0.603706759334441510, -0.603666898256546620, -0.603627035669484500, +-0.603587171573354510, -0.603547305968256900, -0.603507438854291030, -0.603467570231556620, -0.603427700100152790, -0.603387828460180130, -0.603347955311737900, -0.603308080654925470, +-0.603268204489843200, -0.603228326816590330, -0.603188447635266690, -0.603148566945971630, -0.603108684748805410, -0.603068801043867510, -0.603028915831257620, -0.602989029111075100, +-0.602949140883420330, -0.602909251148392780, -0.602869359906092030, -0.602829467156617560, -0.602789572900069740, -0.602749677136548030, -0.602709779866152150, -0.602669881088981450, +-0.602629980805136300, -0.602590079014716280, -0.602550175717820770, -0.602510270914550120, -0.602470364605003810, -0.602430456789281530, -0.602390547467482770, -0.602350636639708000, +-0.602310724306056700, -0.602270810466628450, -0.602230895121522950, -0.602190978270840560, -0.602151059914680650, -0.602111140053143150, -0.602071218686327400, -0.602031295814334010, +-0.601991371437262330, -0.601951445555212290, -0.601911518168283250, -0.601871589276575800, -0.601831658880189300, -0.601791726979223670, -0.601751793573778390, -0.601711858663954050, +-0.601671922249849890, -0.601631984331565730, -0.601592044909201930, -0.601552103982857970, -0.601512161552633760, -0.601472217618628790, -0.601432272180943640, -0.601392325239677890, +-0.601352376794931250, -0.601312426846803310, -0.601272475395394630, -0.601232522440804830, -0.601192567983133700, -0.601152612022480830, -0.601112654558946690, -0.601072695592630990, +-0.601032735123633530, -0.600992773152053910, -0.600952809677992580, -0.600912844701549380, -0.600872878222823650, -0.600832910241916100, -0.600792940758926310, -0.600752969773954090, +-0.600712997287099150, -0.600673023298462060, -0.600633047808142310, -0.600593070816240030, -0.600553092322854810, -0.600513112328087020, -0.600473130832036570, -0.600433147834803280, +-0.600393163336486730, -0.600353177337187740, -0.600313189837005660, -0.600273200836040740, -0.600233210334392360, -0.600193218332161330, -0.600153224829447220, -0.600113229826349740, +-0.600073233322969580, -0.600033235319406330, -0.599993235815759920, -0.599953234812130140, -0.599913232308617590, -0.599873228305321970, -0.599833222802343300, -0.599793215799781180, +-0.599753207297736290, -0.599713197296308560, -0.599673185795597700, -0.599633172795703610, -0.599593158296726880, -0.599553142298767330, -0.599513124801924870, -0.599473105806299200, +-0.599433085311991240, -0.599393063319100470, -0.599353039827727030, -0.599313014837970730, -0.599272988349932150, -0.599232960363711210, -0.599192930879407390, -0.599152899897121730, +-0.599112867416953690, -0.599072833439003530, -0.599032797963370940, -0.598992760990156750, -0.598952722519460630, -0.598912682551382640, -0.598872641086022670, -0.598832598123481440, +-0.598792553663858750, -0.598752507707254630, -0.598712460253768790, -0.598672411303502350, -0.598632360856554690, -0.598592308913026280, -0.598552255473016710, -0.598512200536626790, +-0.598472144103956440, -0.598432086175105350, -0.598392026750174330, -0.598351965829263310, -0.598311903412472420, -0.598271839499901370, -0.598231774091651070, -0.598191707187821330, +-0.598151638788512300, -0.598111568893823890, -0.598071497503856800, -0.598031424618711060, -0.597991350238486710, -0.597951274363283660, -0.597911196993202830, -0.597871118128343930, +-0.597831037768807310, -0.597790955914692670, -0.597750872566101040, -0.597710787723132130, -0.597670701385885960, -0.597630613554463450, -0.597590524228964410, -0.597550433409488990, +-0.597510341096137100, -0.597470247289009770, -0.597430151988206810, -0.597390055193828480, -0.597349956905974700, -0.597309857124746270, -0.597269755850243330, -0.597229653082565930, +-0.597189548821814080, -0.597149443068088590, -0.597109335821489620, -0.597069227082117290, -0.597029116850071540, -0.596989005125453280, -0.596948891908362530, -0.596908777198899230, +-0.596868660997164400, -0.596828543303257850, -0.596788424117279950, -0.596748303439330610, -0.596708181269510970, -0.596668057607920740, -0.596627932454660390, -0.596587805809829950, +-0.596547677673530230, -0.596507548045861480, -0.596467416926923730, -0.596427284316817020, -0.596387150215642590, -0.596347014623500260, -0.596306877540490390, -0.596266738966712890, +-0.596226598902269030, -0.596186457347258610, -0.596146314301782000, -0.596106169765939330, -0.596066023739831530, -0.596025876223558740, -0.595985727217220760, -0.595945576720918970, +-0.595905424734753160, -0.595865271258823830, -0.595825116293230980, -0.595784959838075670, -0.595744801893457910, -0.595704642459478180, -0.595664481536236520, -0.595624319123833960, +-0.595584155222370630, -0.595543989831947010, -0.595503822952662910, -0.595463654584619690, -0.595423484727917280, -0.595383313382656150, -0.595343140548936440, -0.595302966226859190, +-0.595262790416524630, -0.595222613118032600, -0.595182434331484430, -0.595142254056980180, -0.595102072294620310, -0.595061889044504970, -0.595021704306735180, -0.594981518081411090, +-0.594941330368633280, -0.594901141168501790, -0.594860950481117760, -0.594820758306581430, -0.594780564644993180, -0.594740369496453040, -0.594700172861062470, -0.594659974738921400, +-0.594619775130130420, -0.594579574034789670, -0.594539371453000290, -0.594499167384862530, -0.594458961830476530, -0.594418754789943330, -0.594378546263363390, -0.594338336250836980, +-0.594298124752464460, -0.594257911768346970, -0.594217697298584650, -0.594177481343278190, -0.594137263902527520, -0.594097044976434230, -0.594056824565098120, -0.594016602668620110, +-0.593976379287100120, -0.593936154420639630, -0.593895928069338770, -0.593855700233298030, -0.593815470912617660, -0.593775240107399020, -0.593735007817742240, -0.593694774043748040, +-0.593654538785516440, -0.593614302043148910, -0.593574063816745600, -0.593533824106406760, -0.593493582912233750, -0.593453340234326720, -0.593413096072786360, -0.593372850427712930, +-0.593332603299207780, -0.593292354687371070, -0.593252104592303490, -0.593211853014105280, -0.593171599952877720, -0.593131345408721260, -0.593091089381736380, -0.593050831872023450, +-0.593010572879683840, -0.592970312404817790, -0.592930050447525890, -0.592889787007908510, -0.592849522086067120, -0.592809255682101850, -0.592768987796113090, -0.592728718428202180, +-0.592688447578469500, -0.592648175247015740, -0.592607901433941150, -0.592567626139347210, -0.592527349363334180, -0.592487071106002740, -0.592446791367453260, -0.592406510147787220, +-0.592366227447104880, -0.592325943265506920, -0.592285657603093820, -0.592245370459966840, -0.592205081836226550, -0.592164791731973450, -0.592124500147308110, -0.592084207082331890, +-0.592043912537145060, -0.592003616511848070, -0.591963319006542530, -0.591923020021328570, -0.591882719556307110, -0.591842417611578520, -0.591802114187244150, -0.591761809283404610, +-0.591721502900160460, -0.591681195037612300, -0.591640885695861370, -0.591600574875008390, -0.591560262575153820, -0.591519948796398350, -0.591479633538843250, -0.591439316802589210, +-0.591398998587736810, -0.591358678894386540, -0.591318357722639850, -0.591278035072597350, -0.591237710944359510, -0.591197385338027570, -0.591157058253702240, -0.591116729691484320, +-0.591076399651474180, -0.591036068133773410, -0.590995735138482360, -0.590955400665702070, -0.590915064715532900, -0.590874727288076440, -0.590834388383433160, -0.590794048001703990, +-0.590753706142989170, -0.590713362807390620, -0.590673017995008490, -0.590632671705943910, -0.590592323940297260, -0.590551974698170220, -0.590511623979663170, -0.590471271784877130, +-0.590430918113912570, -0.590390562966870980, -0.590350206343853050, -0.590309848244959250, -0.590269488670291160, -0.590229127619949280, -0.590188765094034730, -0.590148401092647770, +-0.590108035615890200, -0.590067668663862620, -0.590027300236665830, -0.589986930334400420, -0.589946558957167970, -0.589906186105069290, -0.589865811778204960, -0.589825435976675800, +-0.589785058700583510, -0.589744679950028550, -0.589704299725111740, -0.589663918025933990, -0.589623534852596660, -0.589583150205200580, -0.589542764083846320, -0.589502376488635460, +-0.589461987419668600, -0.589421596877046870, -0.589381204860870760, -0.589340811371241950, -0.589300416408261140, -0.589260019972029260, -0.589219622062647000, -0.589179222680216050, +-0.589138821824837010, -0.589098419496610900, -0.589058015695638430, -0.589017610422021280, -0.588977203675860150, -0.588936795457255970, -0.588896385766309430, -0.588855974603122220, +-0.588815561967795160, -0.588775147860428840, -0.588734732281124940, -0.588694315229984280, -0.588653896707107770, -0.588613476712596230, -0.588573055246551350, -0.588532632309073820, +-0.588492207900264690, -0.588451782020224630, -0.588411354669055590, -0.588370925846858130, -0.588330495553733290, -0.588290063789781880, -0.588249630555105710, -0.588209195849805470, +-0.588168759673982190, -0.588128322027736680, -0.588087882911170650, -0.588047442324384990, -0.588007000267480760, -0.587966556740558640, -0.587926111743720450, -0.587885665277066980, +-0.587845217340699060, -0.587804767934718360, -0.587764317059225830, -0.587723864714322360, -0.587683410900109000, -0.587642955616687450, -0.587602498864158500, -0.587562040642623300, +-0.587521580952182650, -0.587481119792938490, -0.587440657164991390, -0.587400193068442710, -0.587359727503393160, -0.587319260469944760, -0.587278791968198100, -0.587238321998254430, +-0.587197850560214670, -0.587157377654180630, -0.587116903280253120, -0.587076427438533060, -0.587035950129122240, -0.586995471352121490, -0.586954991107632160, -0.586914509395754960, +-0.586874026216591790, -0.586833541570243590, -0.586793055456811600, -0.586752567876396510, -0.586712078829100480, -0.586671588315024200, -0.586631096334268910, -0.586590602886935540, +-0.586550107973126010, -0.586509611592941240, -0.586469113746482470, -0.586428614433850410, -0.586388113655147310, -0.586347611410473980, -0.586307107699931110, -0.586266602523620950, +-0.586226095881644200, -0.586185587774102230, -0.586145078201095960, -0.586104567162727300, -0.586064054659097280, -0.586023540690307150, -0.585983025256457730, -0.585942508357651160, +-0.585901989993988240, -0.585861470165570440, -0.585820948872498580, -0.585780426114874690, -0.585739901892799790, -0.585699376206375020, -0.585658849055701540, -0.585618320440881250, +-0.585577790362015180, -0.585537258819204260, -0.585496725812550630, -0.585456191342155100, -0.585415655408119130, -0.585375118010543650, -0.585334579149530800, -0.585294038825181380, +-0.585253497037596990, -0.585212953786878430, -0.585172409073127840, -0.585131862896446140, -0.585091315256934920, -0.585050766154694980, -0.585010215589828570, -0.584969663562436510, +-0.584929110072620380, -0.584888555120481100, -0.584847998706120810, -0.584807440829640420, -0.584766881491141530, -0.584726320690725050, -0.584685758428493130, -0.584645194704546790, +-0.584604629518987170, -0.584564062871916200, -0.584523494763435240, -0.584482925193645420, -0.584442354162648000, -0.584401781670545020, -0.584361207717437600, -0.584320632303427120, +-0.584280055428614720, -0.584239477093102530, -0.584198897296991700, -0.584158316040383600, -0.584117733323379350, -0.584077149146081110, -0.584036563508590010, -0.583995976411007530, +-0.583955387853434700, -0.583914797835973780, -0.583874206358725890, -0.583833613421792070, -0.583793019025274700, -0.583752423169274670, -0.583711825853893580, -0.583671227079232580, +-0.583630626845393910, -0.583590025152478600, -0.583549422000588350, -0.583508817389824070, -0.583468211320288140, -0.583427603792081690, -0.583386994805306200, -0.583346384360062920, +-0.583305772456453990, -0.583265159094580650, -0.583224544274544400, -0.583183927996446470, -0.583143310260389120, -0.583102691066473390, -0.583062070414800630, -0.583021448305472980, +-0.582980824738591810, -0.582940199714258480, -0.582899573232574350, -0.582858945293641680, -0.582818315897561610, -0.582777685044435720, -0.582737052734365270, -0.582696418967452610, +-0.582655783743798890, -0.582615147063505700, -0.582574508926674170, -0.582533869333406900, -0.582493228283804900, -0.582452585777969770, -0.582411941816002860, -0.582371296398006440, +-0.582330649524081760, -0.582290001194330500, -0.582249351408853810, -0.582208700167754170, -0.582168047471132820, -0.582127393319090910, -0.582086737711730920, -0.582046080649154090, +-0.582005422131462000, -0.581964762158756030, -0.581924100731138540, -0.581883437848710770, -0.581842773511574430, -0.581802107719830760, -0.581761440473582140, -0.581720771772930020, +-0.581680101617975900, -0.581639430008821230, -0.581598756945568280, -0.581558082428318520, -0.581517406457173420, -0.581476729032234570, -0.581436050153604220, -0.581395369821383730, +-0.581354688035674470, -0.581314004796578910, -0.581273320104198190, -0.581232633958634230, -0.581191946359988390, -0.581151257308363030, -0.581110566803859530, -0.581069874846579570, +-0.581029181436624520, -0.580988486574096960, -0.580947790259098150, -0.580907092491729890, -0.580866393272093550, -0.580825692600291490, -0.580784990476425290, -0.580744286900596540, +-0.580703581872906830, -0.580662875393458400, -0.580622167462352850, -0.580581458079691530, -0.580540747245576920, -0.580500034960110490, -0.580459321223393830, -0.580418606035528640, +-0.580377889396617270, -0.580337171306761100, -0.580296451766062040, -0.580255730774621560, -0.580215008332542030, -0.580174284439925030, -0.580133559096872250, -0.580092832303485300, +-0.580052104059866620, -0.580011374366117600, -0.579970643222340150, -0.579929910628635860, -0.579889176585107080, -0.579848441091855290, -0.579807704148982080, -0.579766965756590040, +-0.579726225914780510, -0.579685484623655430, -0.579644741883316270, -0.579603997693865610, -0.579563252055405040, -0.579522504968036260, -0.579481756431860840, -0.579441006446981490, +-0.579400255013499570, -0.579359502131516990, -0.579318747801135240, -0.579277992022457110, -0.579237234795583980, -0.579196476120617640, -0.579155715997659910, -0.579114954426813160, +-0.579074191408178950, -0.579033426941859440, -0.578992661027955880, -0.578951893666571070, -0.578911124857806490, -0.578870354601763730, -0.578829582898545470, -0.578788809748253310, +-0.578748035150989050, -0.578707259106854390, -0.578666481615951910, -0.578625702678383200, -0.578584922294250290, -0.578544140463654770, -0.578503357186699100, -0.578462572463485200, +-0.578421786294114780, -0.578380998678689530, -0.578340209617312140, -0.578299419110084310, -0.578258627157107850, -0.578217833758484460, -0.578177038914316820, -0.578136242624706640, +-0.578095444889755510, -0.578054645709566110, -0.578013845084240030, -0.577973043013879420, -0.577932239498585850, -0.577891434538462030, -0.577850628133609550, -0.577809820284130530, +-0.577769010990126670, -0.577728200251700570, -0.577687388068954030, -0.577646574441988970, -0.577605759370907080, -0.577564942855811280, -0.577524124896803050, -0.577483305493984410, +-0.577442484647457290, -0.577401662357324260, -0.577360838623687030, -0.577320013446647410, -0.577279186826308190, -0.577238358762770850, -0.577197529256137650, -0.577156698306510400, +-0.577115865913991670, -0.577075032078683270, -0.577034196800687240, -0.576993360080105380, -0.576952521917040500, -0.576911682311594290, -0.576870841263869010, -0.576829998773966120, +-0.576789154841988560, -0.576748309468038230, -0.576707462652217060, -0.576666614394626960, -0.576625764695370640, -0.576584913554549880, -0.576544060972266850, -0.576503206948623340, +-0.576462351483722050, -0.576421494577665010, -0.576380636230553800, -0.576339776442491460, -0.576298915213579570, -0.576258052543920480, -0.576217188433615800, -0.576176322882768540, +-0.576135455891480520, -0.576094587459853870, -0.576053717587990290, -0.576012846275992920, -0.575971973523963340, -0.575931099332003820, -0.575890223700216250, -0.575849346628703460, +-0.575808468117567250, -0.575767588166909980, -0.575726706776833240, -0.575685823947440170, -0.575644939678832570, -0.575604053971112250, -0.575563166824382130, -0.575522278238744130, +-0.575481388214300390, -0.575440496751152830, -0.575399603849404360, -0.575358709509156910, -0.575317813730512720, -0.575276916513573600, -0.575236017858442470, -0.575195117765221480, +-0.575154216234012530, -0.575113313264917770, -0.575072408858040010, -0.575031503013481270, -0.574990595731343810, -0.574949687011729440, -0.574908776854741290, -0.574867865260481170, +-0.574826952229051000, -0.574786037760553810, -0.574745121855091520, -0.574704204512766490, -0.574663285733680530, -0.574622365517936660, -0.574581443865637030, -0.574540520776883670, +-0.574499596251778710, -0.574458670290425080, -0.574417742892924800, -0.574376814059380130, -0.574335883789893090, -0.574294952084566710, -0.574254018943502920, -0.574213084366804070, +-0.574172148354572200, -0.574131210906910330, -0.574090272023920380, -0.574049331705704380, -0.574008389952365470, -0.573967446764005460, -0.573926502140726940, -0.573885556082631810, +-0.573844608589823110, -0.573803659662402990, -0.573762709300473570, -0.573721757504137120, -0.573680804273496660, -0.573639849608654110, -0.573598893509711940, -0.573557935976772180, +-0.573516977009937980, -0.573476016609311360, -0.573435054774994680, -0.573394091507089980, -0.573353126805700390, -0.573312160670928050, -0.573271193102875220, -0.573230224101644040, +-0.573189253667337750, -0.573148281800058280, -0.573107308499907760, -0.573066333766989340, -0.573025357601405050, -0.572984380003257350, -0.572943400972648400, -0.572902420509681320, +-0.572861438614458150, -0.572820455287081360, -0.572779470527653100, -0.572738484336276500, -0.572697496713053810, -0.572656507658087180, -0.572615517171479070, -0.572574525253332520, +-0.572533531903749560, -0.572492537122832880, -0.572451540910684400, -0.572410543267407480, -0.572369544193104150, -0.572328543687876670, -0.572287541751828170, -0.572246538385060790, +-0.572205533587677120, -0.572164527359779180, -0.572123519701470350, -0.572082510612852760, -0.572041500094028770, -0.572000488145100740, -0.571959474766171820, -0.571918459957344250, +-0.571877443718720510, -0.571836426050402750, -0.571795406952494420, -0.571754386425097460, -0.571713364468314560, -0.571672341082247960, -0.571631316267000700, -0.571590290022675250, +-0.571549262349373750, -0.571508233247199460, -0.571467202716254510, -0.571426170756641590, -0.571385137368462860, -0.571344102551821780, -0.571303066306820260, -0.571262028633561130, +-0.571220989532146620, -0.571179949002679990, -0.571138907045263490, -0.571097863659999700, -0.571056818846990890, -0.571015772606340290, -0.570974724938150380, -0.570933675842523640, +-0.570892625319562420, -0.570851573369369870, -0.570810519992048460, -0.570769465187700780, -0.570728408956428960, -0.570687351298336590, -0.570646292213525810, -0.570605231702098870, +-0.570564169764159250, -0.570523106399809300, -0.570482041609151500, -0.570440975392288220, -0.570399907749322920, -0.570358838680357750, -0.570317768185495620, -0.570276696264838680, +-0.570235622918490280, -0.570194548146552900, -0.570153471949129020, -0.570112394326321210, -0.570071315278232850, -0.570030234804966060, -0.569989152906623770, -0.569948069583308130, +-0.569906984835122810, -0.569865898662169970, -0.569824811064551960, -0.569783722042372380, -0.569742631595733460, -0.569701539724738030, -0.569660446429488320, -0.569619351710087820, +-0.569578255566638990, -0.569537157999244540, -0.569496059008006710, -0.569454958593029190, -0.569413856754414250, -0.569372753492264790, -0.569331648806682970, -0.569290542697772350, +-0.569249435165635420, -0.569208326210374980, -0.569167215832093290, -0.569126104030893920, -0.569084990806879240, -0.569043876160151840, -0.569002760090814960, -0.568961642598971310, +-0.568920523684723570, -0.568879403348174110, -0.568838281589426400, -0.568797158408583140, -0.568756033805746910, -0.568714907781020300, -0.568673780334506660, -0.568632651466308700, +-0.568591521176529000, -0.568550389465270260, -0.568509256332635830, -0.568468121778728190, -0.568426985803650360, -0.568385848407504720, -0.568344709590394740, -0.568303569352422990, +-0.568262427693692400, -0.568221284614305320, -0.568180140114365350, -0.568138994193975070, -0.568097846853236940, -0.568056698092254560, -0.568015547911130400, -0.567974396309967490, +-0.567933243288868070, -0.567892088847935960, -0.567850932987273740, -0.567809775706984100, -0.567768617007169630, -0.567727456887934020, -0.567686295349379750, -0.567645132391609740, +-0.567603968014726460, -0.567562802218833710, -0.567521635004033960, -0.567480466370430150, -0.567439296318124730, -0.567398124847221520, -0.567356951957822990, -0.567315777650031610, +-0.567274601923951180, -0.567233424779684300, -0.567192246217333880, -0.567151066237002400, -0.567109884838793650, -0.567068702022810230, -0.567027517789155060, -0.566986332137930700, +-0.566945145069240870, -0.566903956583188150, -0.566862766679875560, -0.566821575359405690, -0.566780382621882240, -0.566739188467407900, -0.566697992896085580, -0.566656795908017760, +-0.566615597503308480, -0.566574397682060190, -0.566533196444375500, -0.566491993790358190, -0.566450789720110870, -0.566409584233736550, -0.566368377331337940, -0.566327169013018830, +-0.566285959278881700, -0.566244748129029700, -0.566203535563565510, -0.566162321582592830, -0.566121106186214250, -0.566079889374533020, -0.566038671147651610, -0.565997451505673930, +-0.565956230448702690, -0.565915007976840800, -0.565873784090191070, -0.565832558788857190, -0.565791332072941970, -0.565750103942547990, -0.565708874397779170, -0.565667643438738100, +-0.565626411065527910, -0.565585177278251420, -0.565543942077012310, -0.565502705461913390, -0.565461467433057590, -0.565420227990547920, -0.565378987134487860, -0.565337744864980450, +-0.565296501182128710, -0.565255256086035330, -0.565214009576804120, -0.565172761654537890, -0.565131512319339780, -0.565090261571312480, -0.565049009410559910, -0.565007755837184880, +-0.564966500851290410, -0.564925244452979310, -0.564883986642355510, -0.564842727419521680, -0.564801466784580760, -0.564760204737636550, -0.564718941278791740, -0.564677676408149590, +-0.564636410125812890, -0.564595142431885580, -0.564553873326470330, -0.564512602809670420, -0.564471330881588630, -0.564430057542328890, -0.564388782791994110, -0.564347506630687220, +-0.564306229058511240, -0.564264950075570090, -0.564223669681966580, -0.564182387877803840, -0.564141104663184790, -0.564099820038213350, -0.564058534002992330, -0.564017246557624640, +-0.563975957702214200, -0.563934667436863930, -0.563893375761676860, -0.563852082676756130, -0.563810788182205420, -0.563769492278127780, -0.563728194964626450, -0.563686896241804240, +-0.563645596109765170, -0.563604294568612050, -0.563562991618448250, -0.563521687259376680, -0.563480381491501150, -0.563439074314924680, -0.563397765729750530, -0.563356455736081620, +-0.563315144334021860, -0.563273831523674380, -0.563232517305141790, -0.563191201678528430, -0.563149884643937000, -0.563108566201470870, -0.563067246351232950, -0.563025925093327270, +-0.562984602427856750, -0.562943278354924750, -0.562901952874634180, -0.562860625987089190, -0.562819297692392470, -0.562777967990647610, -0.562736636881957520, -0.562695304366426120, +-0.562653970444156440, -0.562612635115251840, -0.562571298379815340, -0.562529960237950880, -0.562488620689761580, -0.562447279735350690, -0.562405937374821360, -0.562364593608277400, +-0.562323248435822040, -0.562281901857558110, -0.562240553873589840, -0.562199204484020280, -0.562157853688952550, -0.562116501488489910, -0.562075147882736380, -0.562033792871795000, +-0.561992436455769130, -0.561951078634761680, -0.561909719408877020, -0.561868358778218060, -0.561826996742888160, -0.561785633302990470, -0.561744268458629010, -0.561702902209906820, +-0.561661534556927470, -0.561620165499793880, -0.561578795038610300, -0.561537423173479660, -0.561496049904505080, -0.561454675231790820, -0.561413299155439800, -0.561371921675555610, +-0.561330542792241150, -0.561289162505600790, -0.561247780815737450, -0.561206397722754710, -0.561165013226755600, -0.561123627327844380, -0.561082240026124060, -0.561040851321698120, +-0.560999461214669590, -0.560958069705142950, -0.560916676793220990, -0.560875282479007420, -0.560833886762605260, -0.560792489644118760, -0.560751091123650960, -0.560709691201305200, +-0.560668289877185530, -0.560626887151395080, -0.560585483024037430, -0.560544077495215730, -0.560502670565034220, -0.560461262233595940, -0.560419852501004570, -0.560378441367363260, +-0.560337028832776140, -0.560295614897346470, -0.560254199561177720, -0.560212782824373150, -0.560171364687036990, -0.560129945149272390, -0.560088524211182940, -0.560047101872871880, +-0.560005678134443350, -0.559964252996000610, -0.559922826457647020, -0.559881398519486590, -0.559839969181622710, -0.559798538444158830, -0.559757106307198330, -0.559715672770845440, +-0.559674237835203310, -0.559632801500375530, -0.559591363766465570, -0.559549924633577440, -0.559508484101814420, -0.559467042171280290, -0.559425598842078210, -0.559384154114312530, +-0.559342707988086390, -0.559301260463503480, -0.559259811540667060, -0.559218361219681490, -0.559176909500650020, -0.559135456383676230, -0.559094001868863490, -0.559052545956316150, +-0.559011088646137360, -0.558969629938430470, -0.558928169833299960, -0.558886708330848970, -0.558845245431181190, -0.558803781134399990, -0.558762315440609610, -0.558720848349913530, +-0.558679379862415340, -0.558637909978218270, -0.558596438697426810, -0.558554966020144320, -0.558513491946474370, -0.558472016476520230, -0.558430539610386580, -0.558389061348176450, +-0.558347581689993770, -0.558306100635941660, -0.558264618186124720, -0.558223134340646300, -0.558181649099609540, -0.558140162463119150, -0.558098674431278250, -0.558057185004190770, +-0.558015694181959840, -0.557974201964690160, -0.557932708352484990, -0.557891213345447890, -0.557849716943682570, -0.557808219147293170, -0.557766719956383270, -0.557725219371056680, +-0.557683717391416530, -0.557642214017567530, -0.557600709249613020, -0.557559203087656610, -0.557517695531801970, -0.557476186582153370, -0.557434676238814380, -0.557393164501888250, +-0.557351651371479570, -0.557310136847691820, -0.557268620930628680, -0.557227103620393740, -0.557185584917091250, -0.557144064820824900, -0.557102543331698400, -0.557061020449815090, +-0.557019496175279680, -0.556977970508195420, -0.556936443448666330, -0.556894914996795660, -0.556853385152688230, -0.556811853916447270, -0.556770321288176610, -0.556728787267979810, +-0.556687251855961460, -0.556645715052224930, -0.556604176856874130, -0.556562637270012540, -0.556521096291744730, -0.556479553922174070, -0.556438010161404260, -0.556396465009539760, +-0.556354918466684170, -0.556313370532941280, -0.556271821208414450, -0.556230270493208610, -0.556188718387427010, -0.556147164891173550, -0.556105610004551940, -0.556064053727666540, +-0.556022496060621150, -0.555980937003519360, -0.555939376556464970, -0.555897814719562570, -0.555856251492915510, -0.555814686876627830, -0.555773120870803110, -0.555731553475545930, +-0.555689984690959870, -0.555648414517148530, -0.555606842954216470, -0.555565270002267300, -0.555523695661404910, -0.555482119931733020, -0.555440542813356200, -0.555398964306377920, +-0.555357384410902320, -0.555315803127032770, -0.555274220454874180, -0.555232636394530020, -0.555191050946104330, -0.555149464109700560, -0.555107875885423540, -0.555066286273376840, +-0.555024695273664380, -0.554983102886389860, -0.554941509111657850, -0.554899913949572170, -0.554858317400236280, -0.554816719463754990, -0.554775120140231890, -0.554733519429771120, +-0.554691917332476030, -0.554650313848451540, -0.554608708977801230, -0.554567102720629260, -0.554525495077039080, -0.554483886047135610, -0.554442275631022330, -0.554400663828803380, +-0.554359050640582440, -0.554317436066464220, -0.554275820106552410, -0.554234202760951030, -0.554192584029763790, -0.554150963913095480, -0.554109342411049810, -0.554067719523730350, +-0.554026095251241910, -0.553984469593688300, -0.553942842551173540, -0.553901214123801220, -0.553859584311676370, -0.553817953114902450, -0.553776320533583610, -0.553734686567823650, +-0.553693051217727380, -0.553651414483398500, -0.553609776364941020, -0.553568136862458760, -0.553526495976056520, -0.553484853705838000, -0.553443210051907440, -0.553401565014368440, +-0.553359918593325780, -0.553318270788883520, -0.553276621601145440, -0.553234971030215460, -0.553193319076198510, -0.553151665739198160, -0.553110011019318340, -0.553068354916663840, +-0.553026697431338480, -0.552985038563446380, -0.552943378313091260, -0.552901716680378130, -0.552860053665410580, -0.552818389268293080, -0.552776723489129100, -0.552735056328023780, +-0.552693387785080700, -0.552651717860404230, -0.552610046554098070, -0.552568373866267230, -0.552526699797015410, -0.552485024346446750, -0.552443347514665280, -0.552401669301775810, +-0.552359989707882140, -0.552318308733088070, -0.552276626377498640, -0.552234942641217640, -0.552193257524349330, -0.552151571026997410, -0.552109883149267010, -0.552068193891261830, +-0.552026503253086220, -0.551984811234844000, -0.551943117836640180, -0.551901423058578480, -0.551859726900763240, -0.551818029363298270, -0.551776330446288600, -0.551734630149838150, +-0.551692928474051160, -0.551651225419031330, -0.551609520984883920, -0.551567815171712720, -0.551526107979621650, -0.551484399408715520, -0.551442689459098580, -0.551400978130874740, +-0.551359265424148260, -0.551317551339023830, -0.551275835875605580, -0.551234119033997770, -0.551192400814304320, -0.551150681216630130, -0.551108960241079360, -0.551067237887756130, +-0.551025514156764370, -0.550983789048209330, -0.550942062562194690, -0.550900334698824930, -0.550858605458203980, -0.550816874840436950, -0.550775142845627670, -0.550733409473880500, +-0.550691674725299450, -0.550649938599989670, -0.550608201098054970, -0.550566462219599370, -0.550524721964728010, -0.550482980333544920, -0.550441237326154240, -0.550399492942660220, +-0.550357747183167770, -0.550316000047781030, -0.550274251536604250, -0.550232501649741360, -0.550190750387297700, -0.550148997749377200, -0.550107243736084110, -0.550065488347522560, +-0.550023731583797690, -0.549981973445013540, -0.549940213931274350, -0.549898453042684370, -0.549856690779348510, -0.549814927141371030, -0.549773162128855740, -0.549731395741907990, +-0.549689627980631810, -0.549647858845131450, -0.549606088335511170, -0.549564316451875980, -0.549522543194330030, -0.549480768562977670, -0.549438992557923060, -0.549397215179271310, +-0.549355436427126590, -0.549313656301593120, -0.549271874802775280, -0.549230091930778100, -0.549188307685705700, -0.549146522067662460, -0.549104735076752610, -0.549062946713081310, +-0.549021156976752580, -0.548979365867870660, -0.548937573386540700, -0.548895779532866720, -0.548853984306953310, -0.548812187708904610, -0.548770389738825860, -0.548728590396820980, +-0.548686789682994780, -0.548644987597451170, -0.548603184140295410, -0.548561379311631850, -0.548519573111564630, -0.548477765540198230, -0.548435956597637770, -0.548394146283987420, +-0.548352334599351730, -0.548310521543834860, -0.548268707117541940, -0.548226891320577340, -0.548185074153045070, -0.548143255615050620, -0.548101435706697890, -0.548059614428091590, +-0.548017791779335960, -0.547975967760536140, -0.547934142371796500, -0.547892315613221380, -0.547850487484915270, -0.547808657986983190, -0.547766827119529510, -0.547724994882658690, +-0.547683161276475090, -0.547641326301083860, -0.547599489956589470, -0.547557652243096270, -0.547515813160708520, -0.547473972709531690, -0.547432130889669800, -0.547390287701227770, +-0.547348443144309530, -0.547306597219020530, -0.547264749925465140, -0.547222901263747400, -0.547181051233972870, -0.547139199836245700, -0.547097347070670480, -0.547055492937351560, +-0.547013637436394200, -0.546971780567902850, -0.546929922331982010, -0.546888062728736020, -0.546846201758270150, -0.546804339420688850, -0.546762475716096710, -0.546720610644597980, +-0.546678744206298140, -0.546636876401301430, -0.546595007229712440, -0.546553136691635630, -0.546511264787176380, -0.546469391516438920, -0.546427516879527620, -0.546385640876547950, +-0.546343763507604050, -0.546301884772800840, -0.546260004672242560, -0.546218123206034580, -0.546176240374281360, -0.546134356177087500, -0.546092470614557350, -0.546050583686796490, +-0.546008695393909060, -0.545966805735999980, -0.545924914713173500, -0.545883022325535090, -0.545841128573189120, -0.545799233456240260, -0.545757336974793010, -0.545715439128952820, +-0.545673539918823950, -0.545631639344510980, -0.545589737406119160, -0.545547834103753070, -0.545505929437517410, -0.545464023407516540, -0.545422116013855930, -0.545380207256640050, +-0.545338297135973700, -0.545296385651961150, -0.545254472804708070, -0.545212558594318830, -0.545170643020898130, -0.545128726084550430, -0.545086807785381430, -0.545044888123495270, +-0.545002967098996980, -0.544961044711990810, -0.544919120962582440, -0.544877195850876350, -0.544835269376977130, -0.544793341540989460, -0.544751412343018830, -0.544709481783169580, +-0.544667549861546310, -0.544625616578254480, -0.544583681933398680, -0.544541745927083600, -0.544499808559413930, -0.544457869830494930, -0.544415929740431400, -0.544373988289327930, +-0.544332045477289190, -0.544290101304420680, -0.544248155770826970, -0.544206208876612750, -0.544164260621882720, -0.544122311006742470, -0.544080360031296340, -0.544038407695649370, +-0.543996453999906040, -0.543954498944171800, -0.543912542528551480, -0.543870584753149310, -0.543828625618071100, -0.543786665123421330, -0.543744703269304910, -0.543702740055826310, +-0.543660775483091330, -0.543618809551204340, -0.543576842260270250, -0.543534873610393770, -0.543492903601680570, -0.543450932234235020, -0.543408959508162040, -0.543366985423566430, +-0.543325009980553660, -0.543283033179228440, -0.543241055019695550, -0.543199075502059700, -0.543157094626426470, -0.543115112392900560, -0.543073128801586540, -0.543031143852589990, +-0.542989157546015620, -0.542947169881968340, -0.542905180860552840, -0.542863190481874590, -0.542821198746038510, -0.542779205653149410, -0.542737211203311860, -0.542695215396631790, +-0.542653218233213550, -0.542611219713162280, -0.542569219836582570, -0.542527218603580330, -0.542485216014259920, -0.542443212068726480, -0.542401206767084590, -0.542359200109440160, +-0.542317192095897680, -0.542275182726561830, -0.542233172001538420, -0.542191159920932140, -0.542149146484847800, -0.542107131693390420, -0.542065115546665480, -0.542023098044777660, +-0.541981079187832230, -0.541939058975933750, -0.541897037409187930, -0.541855014487699460, -0.541812990211573590, -0.541770964580914780, -0.541728937595828960, -0.541686909256420710, +-0.541644879562795280, -0.541602848515057240, -0.541560816113312530, -0.541518782357665710, -0.541476747248221920, -0.541434710785085980, -0.541392672968363580, -0.541350633798159400, +-0.541308593274578360, -0.541266551397726280, -0.541224508167707730, -0.541182463584627960, -0.541140417648591550, -0.541098370359704540, -0.541056321718071610, -0.541014271723797900, +-0.540972220376988110, -0.540930167677748150, -0.540888113626182720, -0.540846058222397060, -0.540804001466495880, -0.540761943358585070, -0.540719883898769460, -0.540677823087154060, +-0.540635760923843690, -0.540593697408944360, -0.540551632542560780, -0.540509566324797740, -0.540467498755761170, -0.540425429835555860, -0.540383359564286960, -0.540341287942059270, +-0.540299214968978700, -0.540257140645150180, -0.540215064970678730, -0.540172987945669260, -0.540130909570227800, -0.540088829844458940, -0.540046748768468030, -0.540004666342359880, +-0.539962582566240520, -0.539920497440214640, -0.539878410964387490, -0.539836323138863980, -0.539794233963749930, -0.539752143439150460, -0.539710051565170160, -0.539667958341915170, +-0.539625863769490180, -0.539583767848000550, -0.539541670577551200, -0.539499571958248050, -0.539457471990195890, -0.539415370673500090, -0.539373268008265570, -0.539331163994598130, +-0.539289058632602790, -0.539246951922384920, -0.539204843864049210, -0.539162734457701800, -0.539120623703447490, -0.539078511601391640, -0.539036398151639170, -0.538994283354296110, +-0.538952167209467260, -0.538910049717258090, -0.538867930877773290, -0.538825810691119120, -0.538783689157400380, -0.538741566276722090, -0.538699442049190290, -0.538657316474909780, +-0.538615189553986130, -0.538573061286524050, -0.538530931672629660, -0.538488800712407900, -0.538446668405964220, -0.538404534753403440, -0.538362399754831800, -0.538320263410354110, +-0.538278125720075720, -0.538235986684101660, -0.538193846302537970, -0.538151704575489780, -0.538109561503062220, -0.538067417085360430, -0.538025271322490450, -0.537983124214557300, +-0.537940975761666000, -0.537898825963922580, -0.537856674821432180, -0.537814522334300050, -0.537772368502631220, -0.537730213326531810, -0.537688056806106870, -0.537645898941461860, +-0.537603739732701700, -0.537561579179932520, -0.537519417283259470, -0.537477254042787900, -0.537435089458622730, -0.537392923530870200, -0.537350756259635460, -0.537308587645023760, +-0.537266417687140230, -0.537224246386091010, -0.537182073741981240, -0.537139899754915830, -0.537097724425001030, -0.537055547752341990, -0.537013369737044060, -0.536971190379212370, +-0.536929009678952960, -0.536886827636371190, -0.536844644251572190, -0.536802459524661320, -0.536760273455744620, -0.536718086044927320, -0.536675897292314690, -0.536633707198011960, +-0.536591515762125380, -0.536549322984759990, -0.536507128866021370, -0.536464933406014420, -0.536422736604845630, -0.536380538462619900, -0.536338338979442500, -0.536296138155419650, +-0.536253935990656410, -0.536211732485258330, -0.536169527639330570, -0.536127321452979370, -0.536085113926309860, -0.536042905059427640, -0.536000694852437620, -0.535958483305446380, +-0.535916270418558830, -0.535874056191880670, -0.535831840625516920, -0.535789623719574060, -0.535747405474157110, -0.535705185889371550, -0.535662964965322730, -0.535620742702116900, +-0.535578519099859100, -0.535536294158655110, -0.535494067878609980, -0.535451840259830060, -0.535409611302420490, -0.535367381006486620, -0.535325149372134600, -0.535282916399469680, +-0.535240682088597540, -0.535198446439623220, -0.535156209452653300, -0.535113971127792690, -0.535071731465147300, -0.535029490464822180, -0.534987248126923660, -0.534945004451557020, +-0.534902759438827920, -0.534860513088841530, -0.534818265401704180, -0.534776016377521150, -0.534733766016398220, -0.534691514318440420, -0.534649261283754120, -0.534607006912444780, +-0.534564751204617550, -0.534522494160378780, -0.534480235779833720, -0.534437976063088180, -0.534395715010247300, -0.534353452621417420, -0.534311188896704040, -0.534268923836212610, +-0.534226657440048490, -0.534184389708318160, -0.534142120641126760, -0.534099850238580090, -0.534057578500783500, -0.534015305427843260, -0.533973031019864820, -0.533930755276953770, +-0.533888478199215370, -0.533846199786756290, -0.533803920039681580, -0.533761638958096810, -0.533719356542108230, -0.533677072791821310, -0.533634787707341740, -0.533592501288774780, +-0.533550213536226890, -0.533507924449803550, -0.533465634029610340, -0.533423342275752720, -0.533381049188337180, -0.533338754767468840, -0.533296459013253730, -0.533254161925797110, +-0.533211863505205440, -0.533169563751584090, -0.533127262665038850, -0.533084960245675090, -0.533042656493599280, -0.533000351408916770, -0.532958044991733490, -0.532915737242154690, +-0.532873428160286930, -0.532831117746235590, -0.532788806000106030, -0.532746492922004930, -0.532704178512037550, -0.532661862770309690, -0.532619545696926820, -0.532577227291995410, +-0.532534907555621050, -0.532492586487909310, -0.532450264088965790, -0.532407940358897050, -0.532365615297808350, -0.532323288905805600, -0.532280961182994280, -0.532238632129480970, +-0.532196301745371030, -0.532153970030770360, -0.532111636985784450, -0.532069302610519770, -0.532026966905081890, -0.531984629869576060, -0.531942291504109210, -0.531899951808786460, +-0.531857610783713960, -0.531815268428997070, -0.531772924744742360, -0.531730579731055310, -0.531688233388041720, -0.531645885715807290, -0.531603536714458480, -0.531561186384100880, +-0.531518834724840290, -0.531476481736782190, -0.531434127420033380, -0.531391771774699100, -0.531349414800885490, -0.531307056498697920, -0.531264696868243070, -0.531222335909626530, +-0.531179973622953770, -0.531137610008331480, -0.531095245065865140, -0.531052878795660650, -0.531010511197823610, -0.530968142272460700, -0.530925772019677390, -0.530883400439579600, +-0.530841027532273020, -0.530798653297864240, -0.530756277736458840, -0.530713900848162720, -0.530671522633081480, -0.530629143091321810, -0.530586762222989170, -0.530544380028189820, +-0.530501996507029010, -0.530459611659613640, -0.530417225486049190, -0.530374837986441360, -0.530332449160896720, -0.530290059009521090, -0.530247667532420250, -0.530205274729699920, +-0.530162880601466660, -0.530120485147826280, -0.530078088368884700, -0.530035690264747390, -0.529993290835521380, -0.529950890081312130, -0.529908488002225560, -0.529866084598367480, +-0.529823679869844580, -0.529781273816762430, -0.529738866439227070, -0.529696457737344200, -0.529654047711220600, -0.529611636360961870, -0.529569223686674030, -0.529526809688462770, +-0.529484394366434800, -0.529441977720695900, -0.529399559751351670, -0.529357140458508900, -0.529314719842273300, -0.529272297902750880, -0.529229874640047340, -0.529187450054269480, +-0.529145024145523110, -0.529102596913914040, -0.529060168359548170, -0.529017738482532200, -0.528975307282971930, -0.528932874760973390, -0.528890440916642280, -0.528848005750085500, +-0.528805569261408650, -0.528763131450717850, -0.528720692318118910, -0.528678251863718530, -0.528635810087622620, -0.528593366989936750, -0.528550922570767860, -0.528508476830221620, +-0.528466029768404180, -0.528423581385421340, -0.528381131681379900, -0.528338680656385670, -0.528296228310544680, -0.528253774643962840, -0.528211319656746840, -0.528168863349002590, +-0.528126405720836130, -0.528083946772353370, -0.528041486503661010, -0.527999024914865060, -0.527956562006071440, -0.527914097777386070, -0.527871632228915870, -0.527829165360766520, +-0.527786697173043940, -0.527744227665854940, -0.527701756839305420, -0.527659284693501540, -0.527616811228548980, -0.527574336444554870, -0.527531860341624800, -0.527489382919865140, +-0.527446904179381670, -0.527404424120281320, -0.527361942742669900, -0.527319460046653530, -0.527276976032338250, -0.527234490699830860, -0.527192004049237270, -0.527149516080663630, +-0.527107026794215840, -0.527064536190000930, -0.527022044268124600, -0.526979551028693200, -0.526937056471812440, -0.526894560597589550, -0.526852063406130220, -0.526809564897540270, +-0.526767065071926940, -0.526724563929395820, -0.526682061470053360, -0.526639557694005280, -0.526597052601358810, -0.526554546192219640, -0.526512038466694140, -0.526469529424888120, +-0.526427019066908700, -0.526384507392861690, -0.526341994402853340, -0.526299480096989790, -0.526256964475377840, -0.526214447538123410, -0.526171929285332960, -0.526129409717112310, +-0.526086888833568470, -0.526044366634807470, -0.526001843120935120, -0.525959318292058550, -0.525916792148283680, -0.525874264689716760, -0.525831735916463930, -0.525789205828632090, +-0.525746674426327170, -0.525704141709655630, -0.525661607678723390, -0.525619072333637470, -0.525576535674503910, -0.525533997701428950, -0.525491458414518610, -0.525448917813880030, +-0.525406375899619140, -0.525363832671842280, -0.525321288130655590, -0.525278742276165890, -0.525236195108479410, -0.525193646627702180, -0.525151096833941010, -0.525108545727302260, +-0.525065993307892050, -0.525023439575816540, -0.524980884531182750, -0.524938328174096800, -0.524895770504664960, -0.524853211522993360, -0.524810651229189130, -0.524768089623358300, +-0.524725526705607130, -0.524682962476041850, -0.524640396934769600, -0.524597830081896200, -0.524555261917528330, -0.524512692441771900, -0.524470121654734170, -0.524427549556521040, +-0.524384976147238780, -0.524342401426994400, -0.524299825395893930, -0.524257248054044060, -0.524214669401550590, -0.524172089438520780, -0.524129508165060880, -0.524086925581277120, +-0.524044341687275650, -0.524001756483163720, -0.523959169969047460, -0.523916582145033230, -0.523873993011227170, -0.523831402567736410, -0.523788810814667330, -0.523746217752126150, +-0.523703623380219030, -0.523661027699053210, -0.523618430708734820, -0.523575832409370330, -0.523533232801066010, -0.523490631883928860, -0.523448029658065140, -0.523405426123580990, +-0.523362821280583650, -0.523320215129179370, -0.523277607669474400, -0.523234998901575100, -0.523192388825588610, -0.523149777441621280, -0.523107164749779360, -0.523064550750169220, +-0.523021935442898100, -0.522979318828072140, -0.522936700905797910, -0.522894081676181450, -0.522851461139330230, -0.522808839295350380, -0.522766216144348370, -0.522723591686430460, +-0.522680965921703990, -0.522638338850275110, -0.522595710472249950, -0.522553080787735880, -0.522510449796839140, -0.522467817499666310, -0.522425183896323530, -0.522382548986918160, +-0.522339912771556450, -0.522297275250344860, -0.522254636423389870, -0.522211996290798510, -0.522169354852677240, -0.522126712109132530, -0.522084068060270750, -0.522041422706199130, +-0.521998776047023940, -0.521956128082851860, -0.521913478813789020, -0.521870828239942910, -0.521828176361419650, -0.521785523178325610, -0.521742868690768140, -0.521700212898853600, +-0.521657555802688360, -0.521614897402378990, -0.521572237698032740, -0.521529576689755750, -0.521486914377654930, -0.521444250761836540, -0.521401585842407700, -0.521358919619475000, +-0.521316252093145030, -0.521273583263524020, -0.521230913130719450, -0.521188241694837570, -0.521145568955985070, -0.521102894914268310, -0.521060219569794650, -0.521017542922670550, +-0.520974864973002490, -0.520932185720896830, -0.520889505166461260, -0.520846823309801810, -0.520804140151024940, -0.520761455690238020, -0.520718769927547620, -0.520676082863060220, +-0.520633394496882170, -0.520590704829121180, -0.520548013859883250, -0.520505321589275430, -0.520462628017403840, -0.520419933144376070, -0.520377236970298470, -0.520334539495277750, +-0.520291840719420360, -0.520249140642833670, -0.520206439265624150, -0.520163736587898610, -0.520121032609763280, -0.520078327331325860, -0.520035620752692500, -0.519992912873969760, +-0.519950203695265010, -0.519907493216684950, -0.519864781438336030, -0.519822068360324740, -0.519779353982758760, -0.519736638305744350, -0.519693921329388300, -0.519651203053797080, +-0.519608483479078290, -0.519565762605338270, -0.519523040432683820, -0.519480316961221430, -0.519437592191058560, -0.519394866122301790, -0.519352138755057810, -0.519309410089433100, +-0.519266680125535230, -0.519223948863470790, -0.519181216303345900, -0.519138482445268500, -0.519095747289344820, -0.519053010835681780, -0.519010273084385850, -0.518967534035564610, +-0.518924793689324540, -0.518882052045772530, -0.518839309105014970, -0.518796564867159530, -0.518753819332312570, -0.518711072500581240, -0.518668324372071670, -0.518625574946891770, +-0.518582824225148010, -0.518540072206947090, -0.518497318892395590, -0.518454564281601190, -0.518411808374670380, -0.518369051171710060, -0.518326292672826710, -0.518283532878128120, +-0.518240771787720540, -0.518198009401710790, -0.518155245720206330, -0.518112480743313730, -0.518069714471139920, -0.518026946903791470, -0.517984178041376090, -0.517941407884000230, +-0.517898636431770810, -0.517855863684794420, -0.517813089643178850, -0.517770314307030470, -0.517727537676456300, -0.517684759751562920, -0.517641980532458020, -0.517599200019248200, +-0.517556418212040350, -0.517513635110941060, -0.517470850716058140, -0.517428065027498050, -0.517385278045367380, -0.517342489769773930, -0.517299700200824160, -0.517256909338625230, +-0.517214117183283690, -0.517171323734907150, -0.517128528993602400, -0.517085732959476240, -0.517042935632635370, -0.517000137013187590, -0.516957337101239480, -0.516914535896897950, +-0.516871733400269710, -0.516828929611462540, -0.516786124530583150, -0.516743318157738330, -0.516700510493034780, -0.516657701536580420, -0.516614891288481810, -0.516572079748845560, +-0.516529266917779560, -0.516486452795390290, -0.516443637381785000, -0.516400820677070160, -0.516358002681353680, -0.516315183394742140, -0.516272362817342790, -0.516229540949261990, +-0.516186717790607760, -0.516143893341486800, -0.516101067602006030, -0.516058240572272230, -0.516015412252393220, -0.515972582642475700, -0.515929751742626670, -0.515886919552952960, +-0.515844086073562250, -0.515801251304561340, -0.515758415246056920, -0.515715577898156920, -0.515672739260967910, -0.515629899334597020, -0.515587058119151060, -0.515544215614737840, +-0.515501371821464050, -0.515458526739436820, -0.515415680368762950, -0.515372832709550250, -0.515329983761905420, -0.515287133525935580, -0.515244282001747660, -0.515201429189449330, +-0.515158575089147420, -0.515115719700949160, -0.515072863024961140, -0.515030005061291370, -0.514987145810046560, -0.514944285271333960, -0.514901423445260240, -0.514858560331933330, +-0.514815695931459930, -0.514772830243947040, -0.514729963269502380, -0.514687095008232840, -0.514644225460245570, -0.514601354625647380, -0.514558482504546060, -0.514515609097048630, +-0.514472734403262240, -0.514429858423293580, -0.514386981157250570, -0.514344102605240220, -0.514301222767369560, -0.514258341643745400, -0.514215459234475870, -0.514172575539667660, +-0.514129690559428030, -0.514086804293863770, -0.514043916743082920, -0.514001027907192260, -0.513958137786298620, -0.513915246380510000, -0.513872353689933340, -0.513829459714675750, +-0.513786564454844050, -0.513743667910546490, -0.513700770081889630, -0.513657870968980860, -0.513614970571927070, -0.513572068890836290, -0.513529165925815210, -0.513486261676971310, +-0.513443356144411280, -0.513400449328243360, -0.513357541228574240, -0.513314631845511290, -0.513271721179161420, -0.513228809229632540, -0.513185895997031680, -0.513142981481465750, +-0.513100065683042670, -0.513057148601869460, -0.513014230238053370, -0.512971310591701310, -0.512928389662921420, -0.512885467451820510, -0.512842543958505930, -0.512799619183084590, +-0.512756693125664630, -0.512713765786352860, -0.512670837165256740, -0.512627907262483080, -0.512584976078140130, -0.512542043612334690, -0.512499109865174220, -0.512456174836765420, +-0.512413238527216760, -0.512370300936634830, -0.512327362065127300, -0.512284421912800880, -0.512241480479763810, -0.512198537766123010, -0.512155593771985610, -0.512112648497459520, +-0.512069701942651780, -0.512026754107669850, -0.511983804992620530, -0.511940854597612180, -0.511897902922751720, -0.511854949968146400, -0.511811995733903460, -0.511769040220130810, +-0.511726083426935600, -0.511683125354425170, -0.511640166002706560, -0.511597205371887910, -0.511554243462076230, -0.511511280273378890, -0.511468315805903020, -0.511425350059756760, +-0.511382383035047130, -0.511339414731881160, -0.511296445150366980, -0.511253474290611740, -0.511210502152722900, -0.511167528736807260, -0.511124554042973300, -0.511081578071327920, +-0.511038600821978490, -0.510995622295032260, -0.510952642490597460, -0.510909661408780910, -0.510866679049690300, -0.510823695413432530, -0.510780710500115980, -0.510737724309847540, +-0.510694736842734920, -0.510651748098885030, -0.510608758078406110, -0.510565766781405310, -0.510522774207989750, -0.510479780358267580, -0.510436785232345920, -0.510393788830332480, +-0.510350791152334060, -0.510307792198459010, -0.510264791968814580, -0.510221790463508130, -0.510178787682646790, -0.510135783626338820, -0.510092778294691460, -0.510049771687812180, +-0.510006763805808010, -0.509963754648787400, -0.509920744216857400, -0.509877732510125470, -0.509834719528698850, -0.509791705272685800, -0.509748689742193560, -0.509705672937329160, +-0.509662654858200950, -0.509619635504916180, -0.509576614877582210, -0.509533592976306400, -0.509490569801197000, -0.509447545352361030, -0.509404519629906400, -0.509361492633939930, +-0.509318464364570180, -0.509275434821904290, -0.509232404006049740, -0.509189371917113890, -0.509146338555204970, -0.509103303920430130, -0.509060268012897050, -0.509017230832713000, +-0.508974192379986200, -0.508931152654823920, -0.508888111657333830, -0.508845069387622970, -0.508802025845799810, -0.508758981031971700, -0.508715934946245670, -0.508672887588730190, +-0.508629838959532510, -0.508586789058760200, -0.508543737886520630, -0.508500685442922040, -0.508457631728071680, -0.508414576742077350, -0.508371520485046080, -0.508328462957086450, +-0.508285404158305700, -0.508242344088811420, -0.508199282748710850, -0.508156220138112460, -0.508113156257123610, -0.508070091105851770, -0.508027024684404420, -0.507983956992889780, +-0.507940888031415240, -0.507897817800088250, -0.507854746299016950, -0.507811673528308800, -0.507768599488071510, -0.507725524178412320, -0.507682447599439700, -0.507639369751261000, +-0.507596290633983930, -0.507553210247715600, -0.507510128592564720, -0.507467045668638540, -0.507423961476044630, -0.507380876014890570, -0.507337789285284610, -0.507294701287334230, +-0.507251612021146990, -0.507208521486830490, -0.507165429684492960, -0.507122336614241890, -0.507079242276184620, -0.507036146670429620, -0.506993049797084260, -0.506949951656256230, +-0.506906852248052990, -0.506863751572583010, -0.506820649629953550, -0.506777546420272620, -0.506734441943647360, -0.506691336200186360, -0.506648229189996970, -0.506605120913187100, +-0.506562011369864010, -0.506518900560136260, -0.506475788484111340, -0.506432675141896940, -0.506389560533600400, -0.506346444659330320, -0.506303327519194160, -0.506260209113299720, +-0.506217089441754360, -0.506173968504666670, -0.506130846302144000, -0.506087722834293820, -0.506044598101224820, -0.506001472103044250, -0.505958344839860020, -0.505915216311779600, +-0.505872086518911470, -0.505828955461363080, -0.505785823139242360, -0.505742689552656670, -0.505699554701714680, -0.505656418586523770, -0.505613281207191730, -0.505570142563826260, +-0.505527002656535720, -0.505483861485427680, -0.505440719050610050, -0.505397575352190210, -0.505354430390276830, -0.505311284164977280, -0.505268136676399250, -0.505224987924651200, +-0.505181837909840730, -0.505138686632075620, -0.505095534091463460, -0.505052380288112720, -0.505009225222131210, -0.504966068893626500, -0.504922911302706280, -0.504879752449479140, +-0.504836592334052650, -0.504793430956534730, -0.504750268317032740, -0.504707104415655580, -0.504663939252510630, -0.504620772827705790, -0.504577605141348640, -0.504534436193547870, +-0.504491265984410960, -0.504448094514045600, -0.504404921782560360, -0.504361747790062710, -0.504318572536660790, -0.504275396022462070, -0.504232218247575140, -0.504189039212107780, +-0.504145858916167810, -0.504102677359862690, -0.504059494543301460, -0.504016310466591340, -0.503973125129840490, -0.503929938533156370, -0.503886750676647900, -0.503843561560422540, +-0.503800371184588200, -0.503757179549252590, -0.503713986654524490, -0.503670792500511280, -0.503627597087320860, -0.503584400415061690, -0.503541202483841600, -0.503498003293768480, +-0.503454802844950030, -0.503411601137494840, -0.503368398171510690, -0.503325193947105620, -0.503281988464387100, -0.503238781723464030, -0.503195573724444010, -0.503152364467435050, +-0.503109153952544740, -0.503065942179881990, -0.503022729149554370, -0.502979514861669920, -0.502936299316336320, -0.502893082513662270, -0.502849864453755680, -0.502806645136724240, +-0.502763424562675980, -0.502720202731719470, -0.502676979643962410, -0.502633755299512490, -0.502590529698478730, -0.502547302840968490, -0.502504074727090020, -0.502460845356951010, +-0.502417614730660270, -0.502374382848325470, -0.502331149710054770, -0.502287915315955740, -0.502244679666137390, -0.502201442760707330, -0.502158204599773560, -0.502114965183444010, +-0.502071724511827360, -0.502028482585031410, -0.501985239403164310, -0.501941994966333630, -0.501898749274648390, -0.501855502328216300, -0.501812254127145030, -0.501769004671543510, +-0.501725753961519530, -0.501682501997181120, -0.501639248778636080, -0.501595994305993330, -0.501552738579360560, -0.501509481598846010, -0.501466223364557260, -0.501422963876603460, +-0.501379703135092170, -0.501336441140131650, -0.501293177891829590, -0.501249913390295010, -0.501206647635635720, -0.501163380627959730, -0.501120112367374970, -0.501076842853990230, +-0.501033572087913440, -0.500990300069252270, -0.500947026798115760, -0.500903752274611700, -0.500860476498848240, -0.500817199470933280, -0.500773921190975630, -0.500730641659083210, +-0.500687360875364140, -0.500644078839926340, -0.500600795552878620, -0.500557511014328990, -0.500514225224385600, -0.500470938183156240, -0.500427649890749950, -0.500384360347274510, +-0.500341069552838190, -0.500297777507548780, -0.500254484211515300, -0.500211189664845680, -0.500167893867648040, -0.500124596820030300, -0.500081298522101480, -0.500037998973969280, +-0.499994698175741830, -0.499951396127527980, -0.499908092829435660, -0.499864788281573050, -0.499821482484048120, -0.499778175436969900, -0.499734867140446180, -0.499691557594585330, +-0.499648246799495210, -0.499604934755284840, -0.499561621462062120, -0.499518306919935370, -0.499474991129012450, -0.499431674089402480, -0.499388355801213270, -0.499345036264553180, +-0.499301715479530170, -0.499258393446253170, -0.499215070164830240, -0.499171745635369260, -0.499128419857979290, -0.499085092832768250, -0.499041764559844500, -0.498998435039315960, +-0.498955104271291690, -0.498911772255879680, -0.498868438993188220, -0.498825104483325290, -0.498781768726400010, -0.498738431722520250, -0.498695093471794470, -0.498651753974330540, +-0.498608413230237580, -0.498565071239623630, -0.498521728002597030, -0.498478383519265660, -0.498435037789738740, -0.498391690814124270, -0.498348342592530140, -0.498304993125065540, +-0.498261642411838460, -0.498218290452957290, -0.498174937248530010, -0.498131582798665760, -0.498088227103472560, -0.498044870163058760, -0.498001511977532450, -0.497958152547002710, +-0.497914791871577610, -0.497871429951365520, -0.497828066786474450, -0.497784702377013670, -0.497741336723091070, -0.497697969824815120, -0.497654601682293920, -0.497611232295636530, +-0.497567861664951090, -0.497524489790345640, -0.497481116671929350, -0.497437742309810190, -0.497394366704096760, -0.497350989854897010, -0.497307611762320130, -0.497264232426474270, +-0.497220851847467840, -0.497177470025408850, -0.497134086960406560, -0.497090702652569110, -0.497047317102004840, -0.497003930308821950, -0.496960542273129580, -0.496917152995035860, +-0.496873762474649260, -0.496830370712077920, -0.496786977707430970, -0.496743583460816600, -0.496700187972343280, -0.496656791242119090, -0.496613393270253280, -0.496569994056854040, +-0.496526593602029440, -0.496483191905888690, -0.496439788968539960, -0.496396384790091790, -0.496352979370652260, -0.496309572710330660, -0.496266164809235130, -0.496222755667474260, +-0.496179345285156000, -0.496135933662389840, -0.496092520799283840, -0.496049106695946480, -0.496005691352486010, -0.495962274769011720, -0.495918856945631700, -0.495875437882454580, +-0.495832017579588450, -0.495788596037142650, -0.495745173255225380, -0.495701749233944830, -0.495658323973410250, -0.495614897473729830, -0.495571469735012200, -0.495528040757365510, +-0.495484610540899100, -0.495441179085721160, -0.495397746391940290, -0.495354312459664660, -0.495310877289003640, -0.495267440880065410, -0.495224003232958620, -0.495180564347791400, +-0.495137124224673150, -0.495093682863712080, -0.495050240265016870, -0.495006796428695610, -0.494963351354857750, -0.494919905043611550, -0.494876457495065150, -0.494833008709328000, +-0.494789558686508370, -0.494746107426714820, -0.494702654930055610, -0.494659201196640200, -0.494615746226576720, -0.494572290019973880, -0.494528832576939970, -0.494485373897584350, +-0.494441913982015260, -0.494398452830341400, -0.494354990442671060, -0.494311526819113610, -0.494268061959777350, -0.494224595864770910, -0.494181128534202600, -0.494137659968181870, +-0.494094190166816990, -0.494050719130216590, -0.494007246858489070, -0.493963773351743800, -0.493920298610089070, -0.493876822633633250, -0.493833345422485690, -0.493789866976754870, +-0.493746387296549290, -0.493702906381977390, -0.493659424233148620, -0.493615940850171300, -0.493572456233154100, -0.493528970382205390, -0.493485483297434640, -0.493441994978950140, +-0.493398505426860700, -0.493355014641274630, -0.493311522622301380, -0.493268029370049320, -0.493224534884627200, -0.493181039166143310, -0.493137542214707240, -0.493094044030427340, +-0.493050544613411910, -0.493007043963770540, -0.492963542081611530, -0.492920038967043670, -0.492876534620175330, -0.492833029041116030, -0.492789522229974190, -0.492746014186858540, +-0.492702504911877450, -0.492658994405140490, -0.492615482666756030, -0.492571969696832870, -0.492528455495479410, -0.492484940062805190, -0.492441423398918610, -0.492397905503928480, +-0.492354386377943210, -0.492310866021072380, -0.492267344433424350, -0.492223821615107580, -0.492180297566231660, -0.492136772286904940, -0.492093245777236340, -0.492049718037334270, +-0.492006189067308250, -0.491962658867266760, -0.491919127437318580, -0.491875594777572260, -0.491832060888137300, -0.491788525769122240, -0.491744989420635830, -0.491701451842786570, +-0.491657913035684010, -0.491614372999436720, -0.491570831734153500, -0.491527289239942820, -0.491483745516914320, -0.491440200565176400, -0.491396654384837650, -0.491353106976007590, +-0.491309558338794810, -0.491266008473308150, -0.491222457379656030, -0.491178905057948150, -0.491135351508293070, -0.491091796730799560, -0.491048240725576180, -0.491004683492732570, +-0.490961125032377320, -0.490917565344619170, -0.490874004429566800, -0.490830442287329750, -0.490786878918016590, -0.490743314321736290, -0.490699748498597270, -0.490656181448709260, +-0.490612613172180800, -0.490569043669120850, -0.490525472939637890, -0.490481900983841590, -0.490438327801840600, -0.490394753393743330, -0.490351177759659640, -0.490307600899697940, +-0.490264022813967300, -0.490220443502576150, -0.490176862965634340, -0.490133281203250340, -0.490089698215533160, -0.490046114002591350, -0.490002528564534580, -0.489958941901471550, +-0.489915354013511160, -0.489871764900761950, -0.489828174563333770, -0.489784583001335150, -0.489740990214875050, -0.489697396204062110, -0.489653800969006070, -0.489610204509815460, +-0.489566606826599030, -0.489523007919466460, -0.489479407788526330, -0.489435806433887730, -0.489392203855659180, -0.489348600053950530, -0.489304995028870370, -0.489261388780527720, +-0.489217781309031260, -0.489174172614490700, -0.489130562697014710, -0.489086951556712280, -0.489043339193692140, -0.488999725608063980, -0.488956110799936560, -0.488912494769418840, +-0.488868877516619500, -0.488825259041648360, -0.488781639344614050, -0.488738018425625250, -0.488694396284791830, -0.488650772922222420, -0.488607148338026040, -0.488563522532311450, +-0.488519895505188370, -0.488476267256765630, -0.488432637787152180, -0.488389007096456720, -0.488345375184789150, -0.488301742052258180, -0.488258107698972820, -0.488214472125041820, +-0.488170835330575040, -0.488127197315681160, -0.488083558080469270, -0.488039917625048110, -0.487996275949527550, -0.487952633054016320, -0.487908988938623440, -0.487865343603457740, +-0.487821697048629100, -0.487778049274246170, -0.487734400280417760, -0.487690750067253710, -0.487647098634862770, -0.487603445983354140, -0.487559792112836510, -0.487516137023419730, +-0.487472480715212650, -0.487428823188324370, -0.487385164442863620, -0.487341504478940310, -0.487297843296663310, -0.487254180896141700, -0.487210517277484210, -0.487166852440800820, +-0.487123186386200340, -0.487079519113791830, -0.487035850623684210, -0.486992180915987280, -0.486948509990809960, -0.486904837848260940, -0.486861164488450180, -0.486817489911486550, +-0.486773814117479220, -0.486730137106536950, -0.486686458878769710, -0.486642779434286350, -0.486599098773196010, -0.486555416895607550, -0.486511733801630930, -0.486468049491374950, +-0.486424363964948870, -0.486380677222461530, -0.486336989264022860, -0.486293300089741700, -0.486249609699727300, -0.486205918094088470, -0.486162225272935290, -0.486118531236376490, +-0.486074835984521000, -0.486031139517478780, -0.485987441835358750, -0.485943742938270080, -0.485900042826321710, -0.485856341499623590, -0.485812638958284580, -0.485768935202414040, +-0.485725230232120770, -0.485681524047514750, -0.485637816648704980, -0.485594108035800660, -0.485550398208910660, -0.485506687168145050, -0.485462974913612730, -0.485419261445423020, +-0.485375546763684720, -0.485331830868507950, -0.485288113760001580, -0.485244395438274580, -0.485200675903436960, -0.485156955155597650, -0.485113233194865930, -0.485069510021350790, +-0.485025785635162240, -0.484982060036409200, -0.484938333225201020, -0.484894605201646620, -0.484850875965856130, -0.484807145517938410, -0.484763413858002870, -0.484719680986158360, +-0.484675946902515090, -0.484632211607181900, -0.484588475100268200, -0.484544737381882920, -0.484500998452136180, -0.484457258311136950, -0.484413516958994590, -0.484369774395818020, +-0.484326030621717420, -0.484282285636801760, -0.484238539441180000, -0.484194792034962240, -0.484151043418257540, -0.484107293591175210, -0.484063542553824280, -0.484019790306314810, +-0.483976036848755950, -0.483932282181256950, -0.483888526303926870, -0.483844769216875860, -0.483801010920212940, -0.483757251414047520, -0.483713490698488510, -0.483669728773646220, +-0.483625965639629560, -0.483582201296548050, -0.483538435744510610, -0.483494668983627470, -0.483450901014007670, -0.483407131835760230, -0.483363361448995330, -0.483319589853822060, +-0.483275817050349780, -0.483232043038687550, -0.483188267818945640, -0.483144491391233060, -0.483100713755659270, -0.483056934912333260, -0.483013154861365310, -0.482969373602864520, +-0.482925591136940220, -0.482881807463701630, -0.482838022583258860, -0.482794236495721060, -0.482750449201197640, -0.482706660699797730, -0.482662870991631580, -0.482619080076808200, +-0.482575287955436800, -0.482531494627627510, -0.482487700093489510, -0.482443904353132220, -0.482400107406664840, -0.482356309254197540, -0.482312509895839510, -0.482268709331700180, +-0.482224907561888680, -0.482181104586515310, -0.482137300405689140, -0.482093495019519760, -0.482049688428116240, -0.482005880631588890, -0.481962071630046840, -0.481918261423599610, +-0.481874450012356350, -0.481830637396427400, -0.481786823575921790, -0.481743008550949090, -0.481699192321618560, -0.481655374888040390, -0.481611556250323810, -0.481567736408577920, +-0.481523915362913110, -0.481480093113438480, -0.481436269660263650, -0.481392445003497700, -0.481348619143251110, -0.481304792079632890, -0.481260963812752740, -0.481217134342719790, +-0.481173303669644390, -0.481129471793635740, -0.481085638714803370, -0.481041804433256560, -0.480997968949105630, -0.480954132262459750, -0.480910294373428530, -0.480866455282121190, +-0.480822614988648140, -0.480778773493118540, -0.480734930795641560, -0.480691086896327720, -0.480647241795286120, -0.480603395492626430, -0.480559547988457850, -0.480515699282890780, +-0.480471849376034490, -0.480427998267998590, -0.480384145958892230, -0.480340292448825980, -0.480296437737908980, -0.480252581826250860, -0.480208724713960920, -0.480164866401149530, +-0.480121006887925970, -0.480077146174399950, -0.480033284260680590, -0.479989421146878480, -0.479945556833102800, -0.479901691319462810, -0.479857824606069020, -0.479813956693030620, +-0.479770087580457420, -0.479726217268458540, -0.479682345757144520, -0.479638473046624600, -0.479594599137008530, -0.479550724028405590, -0.479506847720926220, -0.479462970214679710, +-0.479419091509775800, -0.479375211606323790, -0.479331330504434110, -0.479287448204216090, -0.479243564705779500, -0.479199680009233580, -0.479155794114688840, -0.479111907022254590, +-0.479068018732040250, -0.479024129244156220, -0.478980238558711860, -0.478936346675816860, -0.478892453595580690, -0.478848559318113710, -0.478804663843525380, -0.478760767171925390, +-0.478716869303423050, -0.478672970238128940, -0.478629069976152450, -0.478585168517603240, -0.478541265862590710, -0.478497362011225450, -0.478453456963616740, -0.478409550719874400, +-0.478365643280107830, -0.478321734644427510, -0.478277824812942840, -0.478233913785763630, -0.478190001562999230, -0.478146088144760230, -0.478102173531156030, -0.478058257722295990, +-0.478014340718290690, -0.477970422519249540, -0.477926503125282290, -0.477882582536498460, -0.477838660753008520, -0.477794737774921980, -0.477750813602348560, -0.477706888235397700, +-0.477662961674180040, -0.477619033918804950, -0.477575104969382270, -0.477531174826021480, -0.477487243488833150, -0.477443310957926640, -0.477399377233411910, -0.477355442315398340, +-0.477311506203996540, -0.477267568899315990, -0.477223630401466090, -0.477179690710557550, -0.477135749826699760, -0.477091807750002590, -0.477047864480575570, -0.477003920018529200, +-0.476959974363973080, -0.476916027517017000, -0.476872079477770490, -0.476828130246344130, -0.476784179822847490, -0.476740228207390370, -0.476696275400082300, -0.476652321401033920, +-0.476608366210354740, -0.476564409828154620, -0.476520452254543150, -0.476476493489630890, -0.476432533533527440, -0.476388572386342250, -0.476344610048185960, -0.476300646519168200, +-0.476256681799398840, -0.476212715888987340, -0.476168748788044440, -0.476124780496679720, -0.476080811015002990, -0.476036840343123880, -0.475992868481153080, -0.475948895429200050, +-0.475904921187374820, -0.475860945755786910, -0.475816969134547020, -0.475772991323764660, -0.475729012323549860, -0.475685032134012140, -0.475641050755262200, -0.475597068187409660, +-0.475553084430564430, -0.475509099484836160, -0.475465113350335480, -0.475421126027172010, -0.475377137515455350, -0.475333147815296230, -0.475289156926804290, -0.475245164850089390, +-0.475201171585261210, -0.475157177132430500, -0.475113181491706840, -0.475069184663200250, -0.475025186647020260, -0.474981187443277720, -0.474937187052082210, -0.474893185473543760, +-0.474849182707771930, -0.474805178754877490, -0.474761173614970170, -0.474717167288159880, -0.474673159774556320, -0.474629151074270230, -0.474585141187411240, -0.474541130114089050, +-0.474497117854414400, -0.474453104408496970, -0.474409089776446750, -0.474365073958373410, -0.474321056954387810, -0.474277038764599530, -0.474233019389118720, -0.474188998828054930, +-0.474144977081519040, -0.474100954149620670, -0.474056930032469960, -0.474012904730176540, -0.473968878242851220, -0.473924850570603680, -0.473880821713544060, -0.473836791671782000, +-0.473792760445428340, -0.473748728034592780, -0.473704694439385010, -0.473660659659915880, -0.473616623696295090, -0.473572586548632770, -0.473528548217038600, -0.473484508701623400, +-0.473440468002497010, -0.473396426119769400, -0.473352383053550320, -0.473308338803950680, -0.473264293371080220, -0.473220246755049030, -0.473176198955966800, -0.473132149973944480, +-0.473088099809091780, -0.473044048461518820, -0.472999995931335350, -0.472955942218652340, -0.472911887323579420, -0.472867831246226390, -0.472823773986704170, -0.472779715545122550, +-0.472735655921591610, -0.472691595116221110, -0.472647533129122050, -0.472603469960404200, -0.472559405610177620, -0.472515340078552120, -0.472471273365638710, -0.472427205471547100, +-0.472383136396387460, -0.472339066140269600, -0.472294994703304490, -0.472250922085601880, -0.472206848287271940, -0.472162773308424490, -0.472118697149170540, -0.472074619809619790, +-0.472030541289882530, -0.471986461590068520, -0.471942380710288770, -0.471898298650653030, -0.471854215411271150, -0.471810130992254160, -0.471766045393711810, -0.471721958615754390, +-0.471677870658491650, -0.471633781522034610, -0.471589691206493130, -0.471545599711977400, -0.471501507038597330, -0.471457413186463840, -0.471413318155686820, -0.471369221946376540, +-0.471325124558642780, -0.471281025992596640, -0.471236926248347900, -0.471192825326006870, -0.471148723225683350, -0.471104619947488420, -0.471060515491531940, -0.471016409857923810, +-0.470972303046775010, -0.470928195058195500, -0.470884085892295470, -0.470839975549184830, -0.470795864028974660, -0.470751751331774830, -0.470707637457695620, -0.470663522406846890, +-0.470619406179339780, -0.470575288775284150, -0.470531170194790290, -0.470487050437968120, -0.470442929504928720, -0.470398807395781990, -0.470354684110638300, -0.470310559649607440, +-0.470266434012800550, -0.470222307200327650, -0.470178179212298540, -0.470134050048824360, -0.470089919710015120, -0.470045788195981030, -0.470001655506832090, -0.469957521642679400, +-0.469913386603632910, -0.469869250389802980, -0.469825113001299480, -0.469780974438233630, -0.469736834700715310, -0.469692693788854920, -0.469648551702762430, -0.469604408442548920, +-0.469560264008324400, -0.469516118400199240, -0.469471971618283360, -0.469427823662687930, -0.469383674533522980, -0.469339524230898810, -0.469295372754925500, -0.469251220105714070, +-0.469207066283374660, -0.469162911288017130, -0.469118755119752760, -0.469074597778691480, -0.469030439264943700, -0.468986279578619440, -0.468942118719829880, -0.468897956688685060, +-0.468853793485295270, -0.468809629109770640, -0.468765463562222370, -0.468721296842760370, -0.468677128951495160, -0.468632959888536760, -0.468588789653996310, -0.468544618247983930, +-0.468500445670609940, -0.468456271921984520, -0.468412097002218750, -0.468367920911422760, -0.468323743649706580, -0.468279565217181450, -0.468235385613957390, -0.468191204840144870, +-0.468147022895853970, -0.468102839781195880, -0.468058655496280670, -0.468014470041218820, -0.467970283416120460, -0.467926095621096720, -0.467881906656257780, -0.467837716521714080, +-0.467793525217575670, -0.467749332743953860, -0.467705139100958680, -0.467660944288700700, -0.467616748307289940, -0.467572551156837710, -0.467528352837454090, -0.467484153349249200, +-0.467439952692334350, -0.467395750866819560, -0.467351547872815460, -0.467307343710432030, -0.467263138379780670, -0.467218931880971470, -0.467174724214114930, -0.467130515379321210, +-0.467086305376701590, -0.467042094206366170, -0.466997881868425560, -0.466953668362989790, -0.466909453690170280, -0.466865237850077160, -0.466821020842820960, -0.466776802668511740, +-0.466732583327260970, -0.466688362819178690, -0.466644141144375520, -0.466599918302961660, -0.466555694295048340, -0.466511469120745760, -0.466467242780164160, -0.466423015273414840, +-0.466378786600608000, -0.466334556761854150, -0.466290325757263540, -0.466246093586947520, -0.466201860251016230, -0.466157625749580360, -0.466113390082749990, -0.466069153250636530, +-0.466024915253350160, -0.465980676091001520, -0.465936435763700860, -0.465892194271559420, -0.465847951614687560, -0.465803707793195800, -0.465759462807194320, -0.465715216656794660, +-0.465670969342106890, -0.465626720863241360, -0.465582471220309380, -0.465538220413421240, -0.465493968442687530, -0.465449715308218550, -0.465405461010125640, -0.465361205548519120, +-0.465316948923509550, -0.465272691135207190, -0.465228432183723560, -0.465184172069168790, -0.465139910791653620, -0.465095648351288250, -0.465051384748184190, -0.465007119982451640, +-0.464962854054201350, -0.464918586963543490, -0.464874318710589540, -0.464830049295449800, -0.464785778718234570, -0.464741506979055250, -0.464697234078022160, -0.464652960015246030, +-0.464608684790837060, -0.464564408404906810, -0.464520130857565550, -0.464475852148923900, -0.464431572279092260, -0.464387291248182120, -0.464343009056303710, -0.464298725703567780, +-0.464254441190084630, -0.464210155515965780, -0.464165868681321590, -0.464121580686262690, -0.464077291530899440, -0.464033001215343350, -0.463988709739704740, -0.463944417104094010, +-0.463900123308622630, -0.463855828353400890, -0.463811532238539600, -0.463767234964149120, -0.463722936530340910, -0.463678636937225390, -0.463634336184913230, -0.463590034273514860, +-0.463545731203141850, -0.463501426973904450, -0.463457121585913510, -0.463412815039279340, -0.463368507334113560, -0.463324198470526470, -0.463279888448628940, -0.463235577268531260, +-0.463191264930345070, -0.463146951434180660, -0.463102636780148900, -0.463058320968360190, -0.463014003998926000, -0.462969685871956860, -0.462925366587563060, -0.462881046145856290, +-0.462836724546946850, -0.462792401790945660, -0.462748077877963020, -0.462703752808110600, -0.462659426581498830, -0.462615099198238460, -0.462570770658439930, -0.462526440962214900, +-0.462482110109673770, -0.462437778100927340, -0.462393444936086080, -0.462349110615261630, -0.462304775138564330, -0.462260438506105150, -0.462216100717994460, -0.462171761774343940, +-0.462127421675263990, -0.462083080420865100, -0.462038738011258940, -0.461994394446555880, -0.461950049726866820, -0.461905703852302290, -0.461861356822973910, -0.461817008638992110, +-0.461772659300467790, -0.461728308807511420, -0.461683957160234640, -0.461639604358748010, -0.461595250403162400, -0.461550895293588230, -0.461506539030137220, -0.461462181612919850, +-0.461417823042047040, -0.461373463317629300, -0.461329102439778260, -0.461284740408604450, -0.461240377224218460, -0.461196012886731840, -0.461151647396255250, -0.461107280752899530, +-0.461062912956775210, -0.461018544007993970, -0.460974173906666400, -0.460929802652903400, -0.460885430246815500, -0.460841056688514440, -0.460796681978110690, -0.460752306115715270, +-0.460707929101438650, -0.460663550935392630, -0.460619171617687730, -0.460574791148434910, -0.460530409527744710, -0.460486026755728920, -0.460441642832498000, -0.460397257758163040, +-0.460352871532834500, -0.460308484156624120, -0.460264095629642600, -0.460219705952000460, -0.460175315123809440, -0.460130923145180060, -0.460086530016223460, -0.460042135737050110, +-0.459997740307771800, -0.459953343728499160, -0.459908945999343180, -0.459864547120414410, -0.459820147091824670, -0.459775745913684530, -0.459731343586105070, -0.459686940109196860, +-0.459642535483071660, -0.459598129707840140, -0.459553722783613340, -0.459509314710501770, -0.459464905488617350, -0.459420495118070650, -0.459376083598972310, -0.459331670931434180, +-0.459287257115566840, -0.459242842151481370, -0.459198426039288400, -0.459154008779099790, -0.459109590371026110, -0.459065170815178500, -0.459020750111667540, -0.458976328260605080, +-0.458931905262101870, -0.458887481116268810, -0.458843055823216720, -0.458798629383057380, -0.458754201795901430, -0.458709773061860000, -0.458665343181043740, -0.458620912153564490, +-0.458576479979532990, -0.458532046659059890, -0.458487612192257090, -0.458443176579235220, -0.458398739820105430, -0.458354301914978390, -0.458309862863966020, -0.458265422667178960, +-0.458220981324728330, -0.458176538836724880, -0.458132095203280460, -0.458087650424505830, -0.458043204500512060, -0.457998757431409890, -0.457954309217311170, -0.457909859858326720, +-0.457865409354567650, -0.457820957706144620, -0.457776504913169620, -0.457732050975753310, -0.457687595894006540, -0.457643139668041100, -0.457598682297967850, -0.457554223783897930, +-0.457509764125942020, -0.457465303324212090, -0.457420841378818890, -0.457376378289873650, -0.457331914057487020, -0.457287448681771010, -0.457242982162836380, -0.457198514500794300, +-0.457154045695755520, -0.457109575747832010, -0.457065104657134570, -0.457020632423774390, -0.456976159047862260, -0.456931684529510050, -0.456887208868828660, -0.456842732065929290, +-0.456798254120922680, -0.456753775033920780, -0.456709294805034470, -0.456664813434374540, -0.456620330922053010, -0.456575847268180570, -0.456531362472868570, -0.456486876536227770, +-0.456442389458370120, -0.456397901239406540, -0.456353411879448220, -0.456308921378605960, -0.456264429736991770, -0.456219936954716520, -0.456175443031891450, -0.456130947968627350, +-0.456086451765036260, -0.456041954421229080, -0.455997455937317000, -0.455952956313410870, -0.455908455549622780, -0.455863953646063520, -0.455819450602843960, -0.455774946420076210, +-0.455730441097871090, -0.455685934636339880, -0.455641427035593400, -0.455596918295743780, -0.455552408416901810, -0.455507897399178910, -0.455463385242685810, -0.455418871947534660, +-0.455374357513836310, -0.455329841941702060, -0.455285325231242880, -0.455240807382570720, -0.455196288395796570, -0.455151768271031650, -0.455107247008386950, -0.455062724607974530, +-0.455018201069905310, -0.454973676394290150, -0.454929150581241230, -0.454884623630869460, -0.454840095543286080, -0.454795566318602070, -0.454751035956929560, -0.454706504458379460, +-0.454661971823063060, -0.454617438051091390, -0.454572903142576480, -0.454528367097629340, -0.454483829916361270, -0.454439291598883240, -0.454394752145307390, -0.454350211555744620, +-0.454305669830306350, -0.454261126969103480, -0.454216582972248260, -0.454172037839851490, -0.454127491572024700, -0.454082944168878730, -0.454038395630525840, -0.453993845957076920, +-0.453949295148643020, -0.453904743205336250, -0.453860190127267640, -0.453815635914548600, -0.453771080567289990, -0.453726524085604150, -0.453681966469601960, -0.453637407719394870, +-0.453592847835093850, -0.453548286816811090, -0.453503724664657600, -0.453459161378744870, -0.453414596959183790, -0.453370031406086620, -0.453325464719564420, -0.453280896899728500, +-0.453236327946689940, -0.453191757860560980, -0.453147186641452650, -0.453102614289475900, -0.453058040804743050, -0.453013466187365100, -0.452968890437453480, -0.452924313555119200, +-0.452879735540474560, -0.452835156393630590, -0.452790576114698750, -0.452745994703790010, -0.452701412161016730, -0.452656828486489910, -0.452612243680320990, -0.452567657742621090, +-0.452523070673502450, -0.452478482473076150, -0.452433893141453600, -0.452389302678745940, -0.452344711085065410, -0.452300118360523140, -0.452255524505230160, -0.452210929519298750, +-0.452166333402840010, -0.452121736155965460, -0.452077137778786160, -0.452032538271414430, -0.451987937633961330, -0.451943335866538400, -0.451898732969256700, -0.451854128942228590, +-0.451809523785565210, -0.451764917499377970, -0.451720310083778000, -0.451675701538877710, -0.451631091864788170, -0.451586481061620860, -0.451541869129486960, -0.451497256068498830, +-0.451452641878767550, -0.451408026560404240, -0.451363410113521270, -0.451318792538229760, -0.451274173834641250, -0.451229554002866960, -0.451184933043019150, -0.451140310955209010, +-0.451095687739548110, -0.451051063396147590, -0.451006437925119800, -0.450961811326575920, -0.450917183600627490, -0.450872554747385750, -0.450827924766962980, -0.450783293659470450, +-0.450738661425019620, -0.450694028063721770, -0.450649393575689280, -0.450604757961033280, -0.450560121219865330, -0.450515483352296740, -0.450470844358439870, -0.450426204238405850, +-0.450381562992305920, -0.450336920620252430, -0.450292277122356700, -0.450247632498730290, -0.450202986749484390, -0.450158339874731360, -0.450113691874582560, -0.450069042749149490, +-0.450024392498543420, -0.449979741122876750, -0.449935088622260780, -0.449890434996807030, -0.449845780246626860, -0.449801124371832620, -0.449756467372535500, -0.449711809248847290, +-0.449667150000879150, -0.449622489628743460, -0.449577828132551650, -0.449533165512414790, -0.449488501768445460, -0.449443836900754850, -0.449399170909454690, -0.449354503794656130, +-0.449309835556471750, -0.449265166195012830, -0.449220495710390910, -0.449175824102717390, -0.449131151372104740, -0.449086477518664150, -0.449041802542507420, -0.448997126443745790, +-0.448952449222491720, -0.448907770878856530, -0.448863091412951890, -0.448818410824889160, -0.448773729114780750, -0.448729046282738080, -0.448684362328872320, -0.448639677253296120, +-0.448594991056120720, -0.448550303737457800, -0.448505615297418780, -0.448460925736116070, -0.448416235053661070, -0.448371543250165480, -0.448326850325740660, -0.448282156280499060, +-0.448237461114552090, -0.448192764828011460, -0.448148067420988560, -0.448103368893595870, -0.448058669245944730, -0.448013968478146950, -0.447969266590313830, -0.447924563582557940, +-0.447879859454990650, -0.447835154207723740, -0.447790447840868520, -0.447745740354537570, -0.447701031748842290, -0.447656322023893990, -0.447611611179805360, -0.447566899216687630, +-0.447522186134652670, -0.447477471933811880, -0.447432756614277780, -0.447388040176161790, -0.447343322619575710, -0.447298603944630890, -0.447253884151440020, -0.447209163240114390, +-0.447164441210765870, -0.447119718063505870, -0.447074993798446950, -0.447030268415700540, -0.446985541915378480, -0.446940814297592140, -0.446896085562454190, -0.446851355710076000, +-0.446806624740569040, -0.446761892654045870, -0.446717159450618020, -0.446672425130397290, -0.446627689693495030, -0.446582953140024000, -0.446538215470095590, -0.446493476683821610, +-0.446448736781313580, -0.446403995762684080, -0.446359253628044570, -0.446314510377506970, -0.446269766011182680, -0.446225020529184340, -0.446180273931623460, -0.446135526218611910, +-0.446090777390261150, -0.446046027446683870, -0.446001276387991470, -0.445956524214295550, -0.445911770925708660, -0.445867016522342340, -0.445822261004308500, -0.445777504371718590, +-0.445732746624685370, -0.445687987763320250, -0.445643227787735130, -0.445598466698041600, -0.445553704494352280, -0.445508941176778640, -0.445464176745432710, -0.445419411200425940, +-0.445374644541871030, -0.445329876769879510, -0.445285107884563270, -0.445240337886033900, -0.445195566774404080, -0.445150794549785340, -0.445106021212289200, -0.445061246762028410, +-0.445016471199114530, -0.444971694523659420, -0.444926916735774720, -0.444882137835573120, -0.444837357823166190, -0.444792576698665840, -0.444747794462183650, -0.444703011113832370, +-0.444658226653723570, -0.444613441081969210, -0.444568654398680820, -0.444523866603971250, -0.444479077697951970, -0.444434287680735010, -0.444389496552431930, -0.444344704313155480, +-0.444299910963017300, -0.444255116502129340, -0.444210320930603200, -0.444165524248551660, -0.444120726456086250, -0.444075927553318710, -0.444031127540361670, -0.443986326417326880, +-0.443941524184326250, -0.443896720841471360, -0.443851916388875170, -0.443807110826649090, -0.443762304154905310, -0.443717496373755290, -0.443672687483312010, -0.443627877483686980, +-0.443583066374992230, -0.443538254157339440, -0.443493440830841410, -0.443448626395609780, -0.443403810851756620, -0.443358994199393450, -0.443314176438633250, -0.443269357569587630, +-0.443224537592368180, -0.443179716507087760, -0.443134894313858110, -0.443090071012791190, -0.443045246603998690, -0.443000421087593520, -0.442955594463687260, -0.442910766732391990, +-0.442865937893819450, -0.442821107948082440, -0.442776276895292640, -0.442731444735562200, -0.442686611469002730, -0.442641777095727110, -0.442596941615847060, -0.442552105029474670, +-0.442507267336721580, -0.442462428537700740, -0.442417588632523840, -0.442372747621302580, -0.442327905504149800, -0.442283062281177310, -0.442238217952497130, -0.442193372518221050, +-0.442148525978461880, -0.442103678333331420, -0.442058829582941790, -0.442013979727404640, -0.441969128766832970, -0.441924276701338490, -0.441879423531033320, -0.441834569256029150, +-0.441789713876439010, -0.441744857392374570, -0.441699999803947970, -0.441655141111270970, -0.441610281314456510, -0.441565420413616350, -0.441520558408862670, -0.441475695300307170, +-0.441430831088062800, -0.441385965772241430, -0.441341099352954680, -0.441296231830315630, -0.441251363204435980, -0.441206493475427900, -0.441161622643403200, -0.441116750708474840, +-0.441071877670754620, -0.441027003530354680, -0.440982128287386870, -0.440937251941964090, -0.440892374494198210, -0.440847495944201420, -0.440802616292085450, -0.440757735537963380, +-0.440712853681946900, -0.440667970724148370, -0.440623086664679480, -0.440578201503653230, -0.440533315241181500, -0.440488427877376130, -0.440443539412350040, -0.440398649846215130, +-0.440353759179083590, -0.440308867411067230, -0.440263974542279110, -0.440219080572831100, -0.440174185502835320, -0.440129289332403690, -0.440084392061649290, -0.440039493690683850, +-0.439994594219619730, -0.439949693648568670, -0.439904791977643820, -0.439859889206956960, -0.439814985336620390, -0.439770080366745920, -0.439725174297446730, -0.439680267128834510, +-0.439635358861021290, -0.439590449494120070, -0.439545539028242730, -0.439500627463501490, -0.439455714800008330, -0.439410801037876280, -0.439365886177217170, -0.439320970218143430, +-0.439276053160766790, -0.439231135005200450, -0.439186215751556310, -0.439141295399946560, -0.439096373950483230, -0.439051451403279340, -0.439006527758446840, -0.438961603016097990, +-0.438916677176344750, -0.438871750239300200, -0.438826822205076290, -0.438781893073784960, -0.438736962845539260, -0.438692031520451160, -0.438647099098632980, -0.438602165580196600, +-0.438557230965255280, -0.438512295253920880, -0.438467358446305690, -0.438422420542521730, -0.438377481542682130, -0.438332541446898820, -0.438287600255284180, -0.438242657967950090, +-0.438197714585009780, -0.438152770106575220, -0.438107824532758650, -0.438062877863672210, -0.438017930099428910, -0.437972981240140840, -0.437928031285920280, -0.437883080236879220, +-0.437838128093130880, -0.437793174854787250, -0.437748220521960270, -0.437703265094763150, -0.437658308573307840, -0.437613350957706760, -0.437568392248071920, -0.437523432444516470, +-0.437478471547152470, -0.437433509556092280, -0.437388546471447930, -0.437343582293332590, -0.437298617021858290, -0.437253650657137450, -0.437208683199282130, -0.437163714648405420, +-0.437118745004619500, -0.437073774268036670, -0.437028802438769020, -0.436983829516929770, -0.436938855502630950, -0.436893880395984590, -0.436848904197103930, -0.436803926906101040, +-0.436758948523088280, -0.436713969048177770, -0.436668988481482720, -0.436624006823115200, -0.436579024073187720, -0.436534040231812190, -0.436489055299102040, -0.436444069275169210, +-0.436399082160126180, -0.436354093954085090, -0.436309104657159160, -0.436264114269460490, -0.436219122791101480, -0.436174130222194310, -0.436129136562852180, -0.436084141813187220, +-0.436039145973311500, -0.435994149043338330, -0.435949151023379830, -0.435904151913548370, -0.435859151713956170, -0.435814150424716500, -0.435769148045941470, -0.435724144577743500, +-0.435679140020234830, -0.435634134373528710, -0.435589127637737220, -0.435544119812972920, -0.435499110899347950, -0.435454100896975560, -0.435409089805967930, -0.435364077626437580, +-0.435319064358496650, -0.435274050002258440, -0.435229034557835130, -0.435184018025339240, -0.435139000404882850, -0.435093981696579420, -0.435048961900540990, -0.435003941016879780, +-0.434958919045709100, -0.434913895987141140, -0.434868871841288420, -0.434823846608263180, -0.434778820288178660, -0.434733792881147110, -0.434688764387281050, -0.434643734806692720, +-0.434598704139495420, -0.434553672385801390, -0.434508639545723160, -0.434463605619372970, -0.434418570606864120, -0.434373534508308850, -0.434328497323819780, -0.434283459053509010, +-0.434238419697490050, -0.434193379255874980, -0.434148337728776150, -0.434103295116306800, -0.434058251418579230, -0.434013206635706030, -0.433968160767799430, -0.433923113814972840, +-0.433878065777338400, -0.433833016655008840, -0.433787966448096360, -0.433742915156714310, -0.433697862780975050, -0.433652809320991100, -0.433607754776874690, -0.433562699148739290, +-0.433517642436697210, -0.433472584640860970, -0.433427525761342860, -0.433382465798256400, -0.433337404751713730, -0.433292342621827140, -0.433247279408710110, -0.433202215112474860, +-0.433157149733234100, -0.433112083271100070, -0.433067015726186220, -0.433021947098604810, -0.432976877388468570, -0.432931806595889700, -0.432886734720981770, -0.432841661763856970, +-0.432796587724627980, -0.432751512603407160, -0.432706436400307930, -0.432661359115442680, -0.432616280748923940, -0.432571201300864130, -0.432526120771376750, -0.432481039160574070, +-0.432435956468568360, -0.432390872695473160, -0.432345787841400760, -0.432300701906463970, -0.432255614890774960, -0.432210526794447330, -0.432165437617593350, -0.432120347360325840, +-0.432075256022756980, -0.432030163605000460, -0.431985070107168470, -0.431939975529373850, -0.431894879871728870, -0.431849783134347130, -0.431804685317340900, -0.431759586420822910, +-0.431714486444905620, -0.431669385389702510, -0.431624283255325920, -0.431579180041888610, -0.431534075749502980, -0.431488970378282490, -0.431443863928339670, -0.431398756399786750, +-0.431353647792737330, -0.431308538107303800, -0.431263427343598900, -0.431218315501735060, -0.431173202581825840, -0.431128088583983600, -0.431082973508321140, -0.431037857354950820, +-0.430992740123986310, -0.430947621815539920, -0.430902502429724440, -0.430857381966652350, -0.430812260426437220, -0.430767137809191400, -0.430722014115027750, -0.430676889344058680, +-0.430631763496397760, -0.430586636572157460, -0.430541508571450130, -0.430496379494389460, -0.430451249341087860, -0.430406118111658080, -0.430360985806212630, -0.430315852424865140, +-0.430270717967727980, -0.430225582434914040, -0.430180445826535750, -0.430135308142706780, -0.430090169383539500, -0.430045029549146810, -0.429999888639641110, -0.429954746655136110, +-0.429909603595744260, -0.429864459461578420, -0.429819314252750990, -0.429774167969375680, -0.429729020611564980, -0.429683872179431270, -0.429638722673088340, -0.429593572092648590, +-0.429548420438224890, -0.429503267709929750, -0.429458113907876860, -0.429412959032178630, -0.429367803082948090, -0.429322646060297570, -0.429277487964340840, -0.429232328795190410, +-0.429187168552959190, -0.429142007237759580, -0.429096844849705390, -0.429051681388909090, -0.429006516855483580, -0.428961351249541380, -0.428916184571196180, -0.428871016820560560, +-0.428825847997747370, -0.428780678102869180, -0.428735507136039700, -0.428690335097371420, -0.428645161986976890, -0.428599987804969880, -0.428554812551462940, -0.428509636226568900, +-0.428464458830400410, -0.428419280363071200, -0.428374100824693740, -0.428328920215381050, -0.428283738535245650, -0.428238555784401290, -0.428193371962960530, -0.428148187071036410, +-0.428103001108741390, -0.428057814076189260, -0.428012625973492540, -0.427967436800764320, -0.427922246558117110, -0.427877055245664660, -0.427831862863519600, -0.427786669411794440, +-0.427741474890603050, -0.427696279300057940, -0.427651082640272180, -0.427605884911358260, -0.427560686113430070, -0.427515486246600130, -0.427470285310981470, -0.427425083306686720, +-0.427379880233829670, -0.427334676092522900, -0.427289470882879440, -0.427244264605011910, -0.427199057259034120, -0.427153848845058690, -0.427108639363198650, -0.427063428813566570, +-0.427018217196276360, -0.426973004511440600, -0.426927790759171920, -0.426882575939584120, -0.426837360052789940, -0.426792143098902340, -0.426746925078034020, -0.426701705990298720, +-0.426656485835809170, -0.426611264614678460, -0.426566042327019170, -0.426520818972945140, -0.426475594552569060, -0.426430369066004010, -0.426385142513362680, -0.426339914894758860, +-0.426294686210305250, -0.426249456460114920, -0.426204225644300550, -0.426158993762976000, -0.426113760816253960, -0.426068526804247170, -0.426023291727069430, -0.425978055584833480, +-0.425932818377652340, -0.425887580105638820, -0.425842340768906700, -0.425797100367568790, -0.425751858901738060, -0.425706616371527350, -0.425661372777050410, -0.425616128118420090, +-0.425570882395749470, -0.425525635609151240, -0.425480387758739310, -0.425435138844626410, -0.425389888866925640, -0.425344637825749770, -0.425299385721212670, -0.425254132553427140, +-0.425208878322506310, -0.425163623028562860, -0.425118366671710710, -0.425073109252062710, -0.425027850769731490, -0.424982591224831060, -0.424937330617474180, -0.424892068947773930, +-0.424846806215843140, -0.424801542421795690, -0.424756277565744410, -0.424711011647802450, -0.424665744668082550, -0.424620476626698660, -0.424575207523763600, -0.424529937359390540, +-0.424484666133692230, -0.424439393846782640, -0.424394120498774560, -0.424348846089781240, -0.424303570619915360, -0.424258294089290940, -0.424213016498020790, -0.424167737846217700, +-0.424122458133995680, -0.424077177361467490, -0.424031895528746370, -0.423986612635945110, -0.423941328683177740, -0.423896043670557050, -0.423850757598196240, -0.423805470466208090, +-0.423760182274706740, -0.423714893023804880, -0.423669602713615810, -0.423624311344252320, -0.423579018915828500, -0.423533725428457080, -0.423488430882251350, -0.423443135277324130, +-0.423397838613789490, -0.423352540891760280, -0.423307242111349290, -0.423261942272670610, -0.423216641375837090, -0.423171339420961910, -0.423126036408158050, -0.423080732337539460, +-0.423035427209219050, -0.422990121023310070, -0.422944813779925380, -0.422899505479179040, -0.422854196121183970, -0.422808885706053410, -0.422763574233900210, -0.422718261704838450, +-0.422672948118981100, -0.422627633476441330, -0.422582317777332130, -0.422537001021767500, -0.422491683209860360, -0.422446364341724000, -0.422401044417471390, -0.422355723437216500, +-0.422310401401072340, -0.422265078309151780, -0.422219754161568930, -0.422174428958436650, -0.422129102699868360, -0.422083775385976860, -0.422038447016876370, -0.421993117592679710, +-0.421947787113500280, -0.421902455579451000, -0.421857122990645980, -0.421811789347198150, -0.421766454649220800, -0.421721118896826950, -0.421675782090130740, -0.421630444229245000, +-0.421585105314283230, -0.421539765345358200, -0.421494424322584220, -0.421449082246074190, -0.421403739115941030, -0.421358394932298930, -0.421313049695260840, -0.421267703404940130, +-0.421222356061449750, -0.421177007664903900, -0.421131658215415540, -0.421086307713097960, -0.421040956158064310, -0.420995603550428590, -0.420950249890303880, -0.420904895177803610, +-0.420859539413040660, -0.420814182596129240, -0.420768824727182360, -0.420723465806313420, -0.420678105833635460, -0.420632744809262600, -0.420587382733307870, -0.420542019605884330, +-0.420496655427106130, -0.420451290197086270, -0.420405923915938170, -0.420360556583774860, -0.420315188200710620, -0.420269818766858320, -0.420224448282331520, -0.420179076747243200, +-0.420133704161707590, -0.420088330525837720, -0.420042955839747050, -0.419997580103548540, -0.419952203317356500, -0.419906825481284000, -0.419861446595444390, -0.419816066659950750, +-0.419770685674917320, -0.419725303640457240, -0.419679920556683460, -0.419634536423710290, -0.419589151241650800, -0.419543765010618410, -0.419498377730726240, -0.419452989402088470, +-0.419407600024818250, -0.419362209599029030, -0.419316818124833900, -0.419271425602347150, -0.419226032031681790, -0.419180637412951360, -0.419135241746268930, -0.419089845031748790, +-0.419044447269504070, -0.418999048459648190, -0.418953648602294340, -0.418908247697556750, -0.418862845745548550, -0.418817442746383220, -0.418772038700173880, -0.418726633607034830, +-0.418681227467079200, -0.418635820280420120, -0.418590412047171900, -0.418545002767447600, -0.418499592441360870, -0.418454181069024710, -0.418408768650553490, -0.418363355186060380, +-0.418317940675658860, -0.418272525119462110, -0.418227108517584380, -0.418181690870138960, -0.418136272177239250, -0.418090852438998520, -0.418045431655531040, -0.418000009826949960, +-0.417954586953368900, -0.417909163034900940, -0.417863738071660440, -0.417818312063760630, -0.417772885011314650, -0.417727456914436860, -0.417682027773240430, -0.417636597587838890, +-0.417591166358345480, -0.417545734084874550, -0.417500300767539300, -0.417454866406453300, -0.417409431001729720, -0.417363994553482940, -0.417318557061826250, -0.417273118526873100, +-0.417227678948736750, -0.417182238327531650, -0.417136796663370890, -0.417091353956368200, -0.417045910206636730, -0.417000465414290810, -0.416955019579443810, -0.416909572702208800, +-0.416864124782700300, -0.416818675821031490, -0.416773225817315960, -0.416727774771666950, -0.416682322684198970, -0.416636869555025100, -0.416591415384259140, -0.416545960172014170, +-0.416500503918404760, -0.416455046623544050, -0.416409588287545760, -0.416364128910523050, -0.416318668492590470, -0.416273207033861170, -0.416227744534448880, -0.416182280994466800, +-0.416136816414029500, -0.416091350793250050, -0.416045884132242310, -0.416000416431119400, -0.415954947689995910, -0.415909477908984970, -0.415864007088199980, -0.415818535227755410, +-0.415773062327764450, -0.415727588388340840, -0.415682113409597880, -0.415636637391650020, -0.415591160334610580, -0.415545682238593230, -0.415500203103711270, -0.415454722930079230, +-0.415409241717810350, -0.415363759467018370, -0.415318276177816580, -0.415272791850319570, -0.415227306484640510, -0.415181820080893220, -0.415136332639190920, -0.415090844159648250, +-0.415045354642378460, -0.414999864087494900, -0.414954372495112020, -0.414908879865343250, -0.414863386198302260, -0.414817891494102420, -0.414772395752858290, -0.414726898974683120, +-0.414681401159690710, -0.414635902307994410, -0.414590402419708740, -0.414544901494947050, -0.414499399533823140, -0.414453896536450320, -0.414408392502943150, -0.414362887433415040, +-0.414317381327979680, -0.414271874186750430, -0.414226366009841920, -0.414180856797367550, -0.414135346549440560, -0.414089835266175650, -0.414044322947686120, -0.413998809594085800, +-0.413953295205488070, -0.413907779782007490, -0.413862263323757470, -0.413816745830851760, -0.413771227303403820, -0.413725707741528230, -0.413680187145338330, -0.413634665514947990, +-0.413589142850470550, -0.413543619152020650, -0.413498094419711750, -0.413452568653657590, -0.413407041853971590, -0.413361514020768430, -0.413315985154161460, -0.413270455254264530, +-0.413224924321191070, -0.413179392355055690, -0.413133859355971800, -0.413088325324052870, -0.413042790259413590, -0.412997254162167260, -0.412951717032427830, -0.412906178870308730, +-0.412860639675924510, -0.412815099449388770, -0.412769558190815230, -0.412724015900317430, -0.412678472578009990, -0.412632928224006320, -0.412587382838420390, -0.412541836421365550, +-0.412496288972956540, -0.412450740493306820, -0.412405190982530260, -0.412359640440740300, -0.412314088868051650, -0.412268536264577770, -0.412222982630432170, -0.412177427965729480, +-0.412131872270583230, -0.412086315545107270, -0.412040757789415180, -0.411995199003621580, -0.411949639187839940, -0.411904078342184290, -0.411858516466767970, -0.411812953561705770, +-0.411767389627111180, -0.411721824663098150, -0.411676258669780140, -0.411630691647271900, -0.411585123595686890, -0.411539554515139130, -0.411493984405742030, -0.411448413267610390, +-0.411402841100857730, -0.411357267905597570, -0.411311693681944590, -0.411266118430012430, -0.411220542149914940, -0.411174964841765690, -0.411129386505679480, -0.411083807141769790, +-0.411038226750150560, -0.410992645330935320, -0.410947062884238930, -0.410901479410174850, -0.410855894908857100, -0.410810309380399200, -0.410764722824915940, -0.410719135242520850, +-0.410673546633327950, -0.410627956997450750, -0.410582366335004110, -0.410536774646101500, -0.410491181930856600, -0.410445588189384090, -0.410399993421797670, -0.410354397628211240, +-0.410308800808738380, -0.410263202963493940, -0.410217604092591500, -0.410172004196145080, -0.410126403274268190, -0.410080801327075750, -0.410035198354681270, -0.409989594357198840, +-0.409943989334741970, -0.409898383287425560, -0.409852776215363150, -0.409807168118668850, -0.409761558997456200, -0.409715948851840040, -0.409670337681934060, -0.409624725487852230, +-0.409579112269708110, -0.409533498027616680, -0.409487882761691510, -0.409442266472046180, -0.409396649158795590, -0.409351030822053430, -0.409305411461933670, -0.409259791078549980, +-0.409214169672017180, -0.409168547242449000, -0.409122923789959460, -0.409077299314662190, -0.409031673816672050, -0.408986047296102720, -0.408940419753068330, -0.408894791187682460, +-0.408849161600060020, -0.408803530990314630, -0.408757899358560440, -0.408712266704911120, -0.408666633029481530, -0.408620998332385350, -0.408575362613736280, -0.408529725873649220, +-0.408484088112237800, -0.408438449329616200, -0.408392809525898070, -0.408347168701198300, -0.408301526855630590, -0.408255883989309120, -0.408210240102347520, -0.408164595194860700, +-0.408118949266962410, -0.408073302318766710, -0.408027654350387400, -0.407982005361939350, -0.407936355353536230, -0.407890704325292290, -0.407845052277321150, -0.407799399209737790, +-0.407753745122655940, -0.407708090016189350, -0.407662433890452920, -0.407616776745560410, -0.407571118581625920, -0.407525459398763280, -0.407479799197087320, -0.407434137976711960, +-0.407388475737751170, -0.407342812480318840, -0.407297148204529890, -0.407251482910498010, -0.407205816598337490, -0.407160149268161960, -0.407114480920086510, -0.407068811554224860, +-0.407023141170691160, -0.406977469769599200, -0.406931797351064000, -0.406886123915199290, -0.406840449462119280, -0.406794773991937700, -0.406749097504769620, -0.406703420000728790, +-0.406657741479929000, -0.406612061942485280, -0.406566381388511420, -0.406520699818121560, -0.406475017231429590, -0.406429333628550440, -0.406383649009598000, -0.406337963374686420, +-0.406292276723929480, -0.406246589057442320, -0.406200900375338620, -0.406155210677732750, -0.406109519964738430, -0.406063828236470690, -0.406018135493043390, -0.405972441734570700, +-0.405926746961166600, -0.405881051172945980, -0.405835354370022720, -0.405789656552510700, -0.405743957720524910, -0.405698257874179240, -0.405652557013587930, -0.405606855138864850, +-0.405561152250125010, -0.405515448347482270, -0.405469743431050970, -0.405424037500944860, -0.405378330557279070, -0.405332622600167450, -0.405286913629724240, -0.405241203646063420, +-0.405195492649299940, -0.405149780639547760, -0.405104067616921080, -0.405058353581533860, -0.405012638533501170, -0.404966922472936860, -0.404921205399954850, -0.404875487314670270, +-0.404829768217196910, -0.404784048107649170, -0.404738326986140870, -0.404692604852787190, -0.404646881707701970, -0.404601157550999570, -0.404555432382793840, -0.404509706203199980, +-0.404463979012331830, -0.404418250810303750, -0.404372521597229640, -0.404326791373224580, -0.404281060138402590, -0.404235327892877920, -0.404189594636764570, -0.404143860370177580, +-0.404098125093230950, -0.404052388806038660, -0.404006651508715730, -0.403960913201376230, -0.403915173884134450, -0.403869433557104310, -0.403823692220400930, -0.403777949874138400, +-0.403732206518430950, -0.403686462153392600, -0.403640716779138540, -0.403594970395782630, -0.403549223003439320, -0.403503474602222520, -0.403457725192247480, -0.403411974773628110, +-0.403366223346478760, -0.403320470910913500, -0.403274717467047460, -0.403228963014994610, -0.403183207554869360, -0.403137451086785730, -0.403091693610858840, -0.403045935127202660, +-0.403000175635931320, -0.402954415137159900, -0.402908653631002480, -0.402862891117573400, -0.402817127596986680, -0.402771363069357570, -0.402725597534800030, -0.402679830993428520, +-0.402634063445357020, -0.402588294890700750, -0.402542525329573740, -0.402496754762090460, -0.402450983188364860, -0.402405210608512200, -0.402359437022646540, -0.402313662430882240, +-0.402267886833333420, -0.402222110230115280, -0.402176332621341840, -0.402130554007127160, -0.402084774387586550, -0.402038993762833970, -0.401993212132983950, -0.401947429498150430, +-0.401901645858448790, -0.401855861213992970, -0.401810075564897560, -0.401764288911276580, -0.401718501253245210, -0.401672712590917640, -0.401626922924408270, -0.401581132253831190, +-0.401535340579301680, -0.401489547900933770, -0.401443754218842040, -0.401397959533140560, -0.401352163843944510, -0.401306367151368140, -0.401260569455525350, -0.401214770756531610, +-0.401168971054500890, -0.401123170349547810, -0.401077368641786340, -0.401031565931331880, -0.400985762218298510, -0.400939957502800700, -0.400894151784952630, -0.400848345064869550, +-0.400802537342665630, -0.400756728618455400, -0.400710918892352890, -0.400665108164473480, -0.400619296434931380, -0.400573483703840940, -0.400527669971316450, -0.400481855237473150, +-0.400436039502425290, -0.400390222766287270, -0.400344405029173290, -0.400298586291198690, -0.400252766552477660, -0.400206945813124270, -0.400161124073253940, -0.400115301332980790, +-0.400069477592419400, -0.400023652851683900, -0.399977827110889690, -0.399932000370150920, -0.399886172629582150, -0.399840343889297510, -0.399794514149412420, -0.399748683410041050, +-0.399702851671297990, -0.399657018933297410, -0.399611185196154680, -0.399565350459983930, -0.399519514724899880, -0.399473677991016570, -0.399427840258449520, -0.399382001527312850, +-0.399336161797720750, -0.399290321069788680, -0.399244479343630830, -0.399198636619361720, -0.399152792897095650, -0.399106948176948030, -0.399061102459033030, -0.399015255743465250, +-0.398969408030358910, -0.398923559319829480, -0.398877709611991150, -0.398831858906958550, -0.398786007204845860, -0.398740154505768610, -0.398694300809840970, -0.398648446117177540, +-0.398602590427892640, -0.398556733742101600, -0.398510876059918810, -0.398465017381458340, -0.398419157706835780, -0.398373297036165310, -0.398327435369561610, -0.398281572707138930, +-0.398235709049012730, -0.398189844395297200, -0.398143978746107070, -0.398098112101556660, -0.398052244461761300, -0.398006375826835350, -0.397960506196893490, -0.397914635572049920, +-0.397868763952420210, -0.397822891338118540, -0.397777017729259660, -0.397731143125957860, -0.397685267528328560, -0.397639390936486150, -0.397593513350544770, -0.397547634770620110, +-0.397501755196826290, -0.397455874629278120, -0.397409993068089830, -0.397364110513377000, -0.397318226965253870, -0.397272342423835190, -0.397226456889235250, -0.397180570361569560, +-0.397134682840952440, -0.397088794327498610, -0.397042904821322370, -0.396997014322539310, -0.396951122831263710, -0.396905230347610270, -0.396859336871693390, -0.396813442403628590, +-0.396767546943530110, -0.396721650491512810, -0.396675753047690980, -0.396629854612180200, -0.396583955185094760, -0.396538054766549020, -0.396492153356658550, -0.396446250955537650, +-0.396400347563301170, -0.396354443180063410, -0.396308537805940000, -0.396262631441045180, -0.396216724085493800, -0.396170815739400160, -0.396124906402879950, -0.396078996076047460, +-0.396033084759017500, -0.395987172451904350, -0.395941259154823750, -0.395895344867889960, -0.395849429591217830, -0.395803513324921700, -0.395757596069117200, -0.395711677823918750, +-0.395665758589440640, -0.395619838365798560, -0.395573917153106910, -0.395527994951480440, -0.395482071761033560, -0.395436147581881950, -0.395390222414139960, -0.395344296257922390, +-0.395298369113343650, -0.395252440980519480, -0.395206511859564120, -0.395160581750592540, -0.395114650653719090, -0.395068718569059400, -0.395022785496727920, -0.394976851436839470, +-0.394930916389508500, -0.394884980354850650, -0.394839043332980310, -0.394793105324012020, -0.394747166328061340, -0.394701226345242740, -0.394655285375671070, -0.394609343419460800, +-0.394563400476727550, -0.394517456547585800, -0.394471511632150440, -0.394425565730535890, -0.394379618842857830, -0.394333670969230670, -0.394287722109769370, -0.394241772264588400, +-0.394195821433803330, -0.394149869617528790, -0.394103916815879530, -0.394057963028970060, -0.394012008256916120, -0.393966052499832130, -0.393920095757833040, -0.393874138031033270, +-0.393828179319548550, -0.393782219623493410, -0.393736258942982360, -0.393690297278130990, -0.393644334629053900, -0.393598370995866030, -0.393552406378681770, -0.393506440777616930, +-0.393460474192785960, -0.393414506624303830, -0.393368538072285000, -0.393322568536845220, -0.393276598018099060, -0.393230626516161360, -0.393184654031146720, -0.393138680563170860, +-0.393092706112348310, -0.393046730678793920, -0.393000754262622380, -0.392954776863949310, -0.392908798482889340, -0.392862819119556950, -0.392816838774067920, -0.392770857446536780, +-0.392724875137078490, -0.392678891845807620, -0.392632907572839920, -0.392586922318289950, -0.392540936082272700, -0.392494948864902660, -0.392448960666295700, -0.392402971486566330, +-0.392356981325829520, -0.392310990184199850, -0.392264998061793100, -0.392219004958723860, -0.392173010875107090, -0.392127015811057410, -0.392081019766690630, -0.392035022742121260, +-0.391989024737463940, -0.391943025752834460, -0.391897025788347400, -0.391851024844117820, -0.391805022920260200, -0.391759020016890500, -0.391713016134123240, -0.391667011272073430, +-0.391621005430855650, -0.391574998610585810, -0.391528990811378430, -0.391482982033348580, -0.391436972276610890, -0.391390961541281220, -0.391344949827474090, -0.391298937135304560, +-0.391252923464887330, -0.391206908816338180, -0.391160893189771760, -0.391114876585302700, -0.391068859003046890, -0.391022840443118860, -0.390976820905633790, -0.390930800390706270, +-0.390884778898452080, -0.390838756428986020, -0.390792732982423010, -0.390746708558877830, -0.390700683158466230, -0.390654656781302960, -0.390608629427503020, -0.390562601097181110, +-0.390516571790453070, -0.390470541507433650, -0.390424510248237820, -0.390378478012980370, -0.390332444801777090, -0.390286410614742730, -0.390240375451992360, -0.390194339313640610, +-0.390148302199803400, -0.390102264110595450, -0.390056225046131470, -0.390010185006527290, -0.389964143991897660, -0.389918102002357660, -0.389872059038022020, -0.389826015099006610, +-0.389779970185426210, -0.389733924297395840, -0.389687877435030310, -0.389641829598445400, -0.389595780787755970, -0.389549731003077100, -0.389503680244523480, -0.389457628512211110, +-0.389411575806254630, -0.389365522126769170, -0.389319467473869530, -0.389273411847671670, -0.389227355248290220, -0.389181297675840030, -0.389135239130436960, -0.389089179612195800, +-0.389043119121231740, -0.388997057657659410, -0.388950995221594880, -0.388904931813152830, -0.388858867432448460, -0.388812802079596560, -0.388766735754712990, -0.388720668457912640, +-0.388674600189310600, -0.388628530949021610, -0.388582460737161790, -0.388536389553845730, -0.388490317399188770, -0.388444244273305540, -0.388398170176312170, -0.388352095108323300, +-0.388306019069453830, -0.388259942059819730, -0.388213864079535790, -0.388167785128717140, -0.388121705207478680, -0.388075624315936340, -0.388029542454204900, -0.387983459622399660, +-0.387937375820635310, -0.387891291049027980, -0.387845205307692400, -0.387799118596743760, -0.387753030916296980, -0.387706942266468010, -0.387660852647371710, -0.387614762059123210, +-0.387568670501837460, -0.387522577975630440, -0.387476484480616950, -0.387430390016912260, -0.387384294584631190, -0.387338198183889760, -0.387292100814802860, -0.387246002477485310, +-0.387199903172053160, -0.387153802898621220, -0.387107701657304850, -0.387061599448218720, -0.387015496271479080, -0.386969392127200660, -0.386923287015498770, -0.386877180936488260, +-0.386831073890285150, -0.386784965877004390, -0.386738856896761240, -0.386692746949670540, -0.386646636035848370, -0.386600524155409630, -0.386554411308469570, -0.386508297495143040, +-0.386462182715546170, -0.386416066969793910, -0.386369950258001030, -0.386323832580283690, -0.386277713936756750, -0.386231594327535510, -0.386185473752734930, -0.386139352212471030, +-0.386093229706858780, -0.386047106236013460, -0.386000981800049940, -0.385954856399084390, -0.385908730033231730, -0.385862602702607190, -0.385816474407325750, -0.385770345147503520, +-0.385724214923255480, -0.385678083734696860, -0.385631951581942630, -0.385585818465108920, -0.385539684384310690, -0.385493549339662840, -0.385447413331281520, -0.385401276359281620, +-0.385355138423778610, -0.385308999524887290, -0.385262859662723890, -0.385216718837403330, -0.385170577049041010, -0.385124434297751780, -0.385078290583651950, -0.385032145906856360, +-0.384986000267480370, -0.384939853665638990, -0.384893706101448410, -0.384847557575023540, -0.384801408086479780, -0.384755257635932100, -0.384709106223496690, -0.384662953849288500, +-0.384616800513422510, -0.384570646216014940, -0.384524490957180780, -0.384478334737035350, -0.384432177555693700, -0.384386019413272000, -0.384339860309885260, -0.384293700245648910, +-0.384247539220677840, -0.384201377235088350, -0.384155214288995410, -0.384109050382514470, -0.384062885515760450, -0.384016719688849650, -0.383970552901897020, -0.383924385155018030, +-0.383878216448327700, -0.383832046781942220, -0.383785876155976590, -0.383739704570546290, -0.383693532025766340, -0.383647358521752910, -0.383601184058621150, -0.383555008636486010, +-0.383508832255463730, -0.383462654915669390, -0.383416476617218390, -0.383370297360225820, -0.383324117144807910, -0.383277935971079680, -0.383231753839156640, -0.383185570749153770, +-0.383139386701187410, -0.383093201695372590, -0.383047015731824760, -0.383000828810658940, -0.382954640931991550, -0.382908452095937490, -0.382862262302612280, -0.382816071552131040, +-0.382769879844610030, -0.382723687180164360, -0.382677493558909010, -0.382631298980960320, -0.382585103446433430, -0.382538906955443790, -0.382492709508106430, -0.382446511104537700, +-0.382400311744852730, -0.382354111429166980, -0.382307910157595520, -0.382261707930254710, -0.382215504747259630, -0.382169300608725780, -0.382123095514768250, -0.382076889465503390, +-0.382030682461046320, -0.381984474501512570, -0.381938265587017210, -0.381892055717676590, -0.381845844893605850, -0.381799633114920050, -0.381753420381735600, -0.381707206694167580, +-0.381660992052331560, -0.381614776456342670, -0.381568559906317220, -0.381522342402370370, -0.381476123944617720, -0.381429904533174270, -0.381383684168156490, -0.381337462849679560, +-0.381291240577858900, -0.381245017352809750, -0.381198793174648500, -0.381152568043490240, -0.381106341959450530, -0.381060114922644580, -0.381013886933188770, -0.380967657991198250, +-0.380921428096788530, -0.380875197250074900, -0.380828965451173620, -0.380782732700199970, -0.380736498997269080, -0.380690264342497360, -0.380644028735999950, -0.380597792177892470, +-0.380551554668290100, -0.380505316207309260, -0.380459076795065130, -0.380412836431673340, -0.380366595117249020, -0.380320352851908570, -0.380274109635767300, -0.380227865468940770, +-0.380181620351544130, -0.380135374283693870, -0.380089127265505140, -0.380042879297093630, -0.379996630378574510, -0.379950380510064190, -0.379904129691677970, -0.379857877923530980, +-0.379811625205739690, -0.379765371538419380, -0.379719116921685640, -0.379672861355653650, -0.379626604840439970, -0.379580347376159750, -0.379534088962928670, -0.379487829600861970, +-0.379441569290076050, -0.379395308030686270, -0.379349045822808210, -0.379302782666557090, -0.379256518562049450, -0.379210253509400520, -0.379163987508725930, -0.379117720560140980, +-0.379071452663762130, -0.379025183819704680, -0.378978914028083810, -0.378932643289016100, -0.378886371602616790, -0.378840098969001560, -0.378793825388285600, -0.378747550860585540, +-0.378701275386016610, -0.378654998964694510, -0.378608721596734420, -0.378562443282253020, -0.378516164021365450, -0.378469883814187500, -0.378423602660834470, -0.378377320561422810, +-0.378331037516067840, -0.378284753524885280, -0.378238468587990430, -0.378192182705499810, -0.378145895877528730, -0.378099608104192520, -0.378053319385607660, -0.378007029721889540, +-0.377960739113153870, -0.377914447559515860, -0.377868155061092230, -0.377821861617998130, -0.377775567230349440, -0.377729271898261390, -0.377682975621850600, -0.377636678401232330, +-0.377590380236522420, -0.377544081127836110, -0.377497781075290030, -0.377451480078999480, -0.377405178139080200, -0.377358875255647600, -0.377312571428818240, -0.377266266658707440, +-0.377219960945430920, -0.377173654289104150, -0.377127346689843660, -0.377081038147764720, -0.377034728662982880, -0.376988418235614580, -0.376942106865775230, -0.376895794553580630, +-0.376849481299146080, -0.376803167102588320, -0.376756851964022590, -0.376710535883564730, -0.376664218861330170, -0.376617900897435410, -0.376571581991995920, -0.376525262145127490, +-0.376478941356945480, -0.376432619627566520, -0.376386296957106070, -0.376339973345679810, -0.376293648793403210, -0.376247323300392960, -0.376200996866764340, -0.376154669492632820, +-0.376108341178115040, -0.376062011923326440, -0.376015681728382790, -0.375969350593399530, -0.375923018518493300, -0.375876685503779510, -0.375830351549374050, -0.375784016655392240, +-0.375737680821950860, -0.375691344049165210, -0.375645006337151250, -0.375598667686024350, -0.375552328095901220, -0.375505987566897240, -0.375459646099128300, -0.375413303692709810, +-0.375366960347758460, -0.375320616064389770, -0.375274270842719080, -0.375227924682863150, -0.375181577584937420, -0.375135229549057700, -0.375088880575339570, -0.375042530663899590, +-0.374996179814853280, -0.374949828028316560, -0.374903475304404820, -0.374857121643234810, -0.374810767044922000, -0.374764411509582280, -0.374718055037331130, -0.374671697628285230, +-0.374625339282560090, -0.374578980000271620, -0.374532619781535290, -0.374486258626467780, -0.374439896535184670, -0.374393533507801800, -0.374347169544434700, -0.374300804645200100, +-0.374254438810213470, -0.374208072039590280, -0.374161704333447360, -0.374115335691900200, -0.374068966115064680, -0.374022595603056400, -0.373976224155991970, -0.373929851773986970, +-0.373883478457157360, -0.373837104205618660, -0.373790729019487620, -0.373744352898879690, -0.373697975843910960, -0.373651597854696820, -0.373605218931354120, -0.373558839073998390, +-0.373512458282745540, -0.373466076557711140, -0.373419693899011970, -0.373373310306763570, -0.373326925781081450, -0.373280540322082470, -0.373234153929882070, -0.373187766604596350, +-0.373141378346340760, -0.373094989155232200, -0.373048599031386100, -0.373002207974918510, -0.372955815985945020, -0.372909423064582410, -0.372863029210946220, -0.372816634425152450, +-0.372770238707316680, -0.372723842057555770, -0.372677444475985160, -0.372631045962721010, -0.372584646517878810, -0.372538246141575440, -0.372491844833926440, -0.372445442595047420, +-0.372399039425055200, -0.372352635324065370, -0.372306230292193950, -0.372259824329556570, -0.372213417436270010, -0.372167009612449920, -0.372120600858212300, -0.372074191173672800, +-0.372027780558948200, -0.371981369014154130, -0.371934956539406670, -0.371888543134821390, -0.371842128800515200, -0.371795713536603620, -0.371749297343202830, -0.371702880220428360, +-0.371656462168397090, -0.371610043187224680, -0.371563623277026740, -0.371517202437920140, -0.371470780670020540, -0.371424357973443970, -0.371377934348306130, -0.371331509794723850, +-0.371285084312812820, -0.371238657902689060, -0.371192230564468260, -0.371145802298267270, -0.371099373104201770, -0.371052942982387890, -0.371006511932941150, -0.370960079955978630, +-0.370913647051615890, -0.370867213219969020, -0.370820778461153690, -0.370774342775286810, -0.370727906162484130, -0.370681468622861670, -0.370635030156535090, -0.370588590763621380, +-0.370542150444236160, -0.370495709198495170, -0.370449267026515370, -0.370402823928412340, -0.370356379904302260, -0.370309934954300810, -0.370263489078524970, -0.370217042277090400, +-0.370170594550113200, -0.370124145897709140, -0.370077696319995100, -0.370031245817086800, -0.369984794389100420, -0.369938342036151610, -0.369891888758357380, -0.369845434555833410, +-0.369798979428695880, -0.369752523377060490, -0.369706066401044200, -0.369659608500762740, -0.369613149676331850, -0.369566689927868450, -0.369520229255488390, -0.369473767659307730, +-0.369427305139442270, -0.369380841696008930, -0.369334377329123500, -0.369287912038902100, -0.369241445825460530, -0.369194978688915710, -0.369148510629383530, -0.369102041646980020, +-0.369055571741820960, -0.369009100914023450, -0.368962629163703150, -0.368916156490976310, -0.368869682895958670, -0.368823208378767200, -0.368776732939517680, -0.368730256578325980, +-0.368683779295309040, -0.368637301090582630, -0.368590821964262960, -0.368544341916465850, -0.368497860947308300, -0.368451379056906060, -0.368404896245375420, -0.368358412512832130, +-0.368311927859393150, -0.368265442285174440, -0.368218955790292070, -0.368172468374861890, -0.368125980039000990, -0.368079490782825090, -0.368033000606450500, -0.367986509509993010, +-0.367940017493569640, -0.367893524557296240, -0.367847030701288990, -0.367800535925663810, -0.367754040230537650, -0.367707543616026420, -0.367661046082245920, -0.367614547629313170, +-0.367568048257344130, -0.367521547966454920, -0.367475046756761400, -0.367428544628380700, -0.367382041581428680, -0.367335537616021500, -0.367289032732275090, -0.367242526930306510, +-0.367196020210231620, -0.367149512572166660, -0.367103004016227530, -0.367056494542531310, -0.367009984151193790, -0.366963472842331380, -0.366916960616059830, -0.366870447472496310, +-0.366823933411756680, -0.366777418433956840, -0.366730902539213810, -0.366684385727643500, -0.366637867999362270, -0.366591349354485950, -0.366544829793131690, -0.366498309315415330, +-0.366451787921453220, -0.366405265611361220, -0.366358742385256450, -0.366312218243254830, -0.366265693185472640, -0.366219167212025850, -0.366172640323031540, -0.366126112518605610, +-0.366079583798864410, -0.366033054163923840, -0.365986523613901050, -0.365939992148911990, -0.365893459769072500, -0.365846926474499730, -0.365800392265309690, -0.365753857141618680, +-0.365707321103542590, -0.365660784151198630, -0.365614246284702680, -0.365567707504171170, -0.365521167809719940, -0.365474627201466230, -0.365428085679525890, -0.365381543244015390, +-0.365334999895050580, -0.365288455632748750, -0.365241910457225700, -0.365195364368597950, -0.365148817366981350, -0.365102269452493080, -0.365055720625249160, -0.365009170885365550, +-0.364962620232959390, -0.364916068668146690, -0.364869516191043850, -0.364822962801766790, -0.364776408500432690, -0.364729853287157620, -0.364683297162057940, -0.364636740125249550, +-0.364590182176849740, -0.364543623316974490, -0.364497063545740130, -0.364450502863262750, -0.364403941269659530, -0.364357378765046420, -0.364310815349539910, -0.364264251023255880, +-0.364217685786311700, -0.364171119638823260, -0.364124552580907090, -0.364077984612679040, -0.364031415734256510, -0.363984845945755420, -0.363938275247291780, -0.363891703638982880, +-0.363845131120944740, -0.363798557693293720, -0.363751983356145950, -0.363705408109618600, -0.363658831953827750, -0.363612254888889820, -0.363565676914920810, -0.363519098032038020, +-0.363472518240357530, -0.363425937539995750, -0.363379355931068680, -0.363332773413693630, -0.363286189987986620, -0.363239605654064210, -0.363193020412042320, -0.363146434262038300, +-0.363099847204168210, -0.363053259238548090, -0.363006670365295210, -0.362960080584525670, -0.362913489896355910, -0.362866898300902020, -0.362820305798281340, -0.362773712388609840, +-0.362727118072004080, -0.362680522848580100, -0.362633926718455290, -0.362587329681745560, -0.362540731738567600, -0.362494132889037370, -0.362447533133272160, -0.362400932471388220, +-0.362354330903501890, -0.362307728429729300, -0.362261125050187820, -0.362214520764993550, -0.362167915574262530, -0.362121309478112160, -0.362074702476658520, -0.362028094570018110, +-0.361981485758307080, -0.361934876041642710, -0.361888265420141130, -0.361841653893918920, -0.361795041463092160, -0.361748428127778240, -0.361701813888093250, -0.361655198744153690, +-0.361608582696075710, -0.361561965743976700, -0.361515347887972790, -0.361468729128180510, -0.361422109464715980, -0.361375488897696610, -0.361328867427238460, -0.361282245053458180, +-0.361235621776471890, -0.361188997596396940, -0.361142372513349520, -0.361095746527445750, -0.361049119638803040, -0.361002491847537470, -0.360955863153765710, -0.360909233557603900, +-0.360862603059169400, -0.360815971658578370, -0.360769339355947460, -0.360722706151392740, -0.360676072045031660, -0.360629437036980470, -0.360582801127355630, -0.360536164316273390, +-0.360489526603851140, -0.360442887990205070, -0.360396248475451820, -0.360349608059707500, -0.360302966743089590, -0.360256324525714270, -0.360209681407697710, -0.360163037389157340, +-0.360116392470209430, -0.360069746650970470, -0.360023099931556790, -0.359976452312085750, -0.359929803792673590, -0.359883154373436930, -0.359836504054491910, -0.359789852835956100, +-0.359743200717945690, -0.359696547700577180, -0.359649893783966950, -0.359603238968232430, -0.359556583253489770, -0.359509926639855650, -0.359463269127446310, -0.359416610716379200, +-0.359369951406770580, -0.359323291198736630, -0.359276630092394910, -0.359229968087861620, -0.359183305185253380, -0.359136641384686430, -0.359089976686278340, -0.359043311090145310, +-0.358996644596404010, -0.358949977205170630, -0.358903308916562800, -0.358856639730696650, -0.358809969647688910, -0.358763298667655830, -0.358716626790714920, -0.358669954016982430, +-0.358623280346575090, -0.358576605779609090, -0.358529930316202010, -0.358483253956470130, -0.358436576700530090, -0.358389898548498180, -0.358343219500491970, -0.358296539556627660, +-0.358249858717021640, -0.358203176981791380, -0.358156494351053180, -0.358109810824923710, -0.358063126403519340, -0.358016441086957520, -0.357969754875354650, -0.357923067768827370, +-0.357876379767491980, -0.357829690871466100, -0.357783001080865970, -0.357736310395808330, -0.357689618816409540, -0.357642926342787050, -0.357596232975057330, -0.357549538713336950, +-0.357502843557742370, -0.357456147508391050, -0.357409450565399360, -0.357362752728883630, -0.357316053998961490, -0.357269354375749140, -0.357222653859363470, -0.357175952449920680, +-0.357129250147538490, -0.357082546952333160, -0.357035842864421420, -0.356989137883919730, -0.356942432010945550, -0.356895725245615300, -0.356849017588045770, -0.356802309038353250, +-0.356755599596655370, -0.356708889263068480, -0.356662178037709390, -0.356615465920694430, -0.356568752912141240, -0.356522039012166170, -0.356475324220885570, -0.356428608538417070, +-0.356381891964877070, -0.356335174500382320, -0.356288456145049230, -0.356241736898995410, -0.356195016762337280, -0.356148295735191580, -0.356101573817674710, -0.356054851009904310, +-0.356008127311996820, -0.355961402724069010, -0.355914677246237270, -0.355867950878619220, -0.355821223621331340, -0.355774495474490420, -0.355727766438212800, -0.355681036512616180, +-0.355634305697816950, -0.355587573993931590, -0.355540841401077670, -0.355494107919371690, -0.355447373548930410, -0.355400638289870290, -0.355353902142309000, -0.355307165106362950, +-0.355260427182148950, -0.355213688369783510, -0.355166948669384250, -0.355120208081067650, -0.355073466604950480, -0.355026724241149230, -0.354979980989781620, -0.354933236850964010, +-0.354886491824813350, -0.354839745911446070, -0.354792999110979780, -0.354746251423531000, -0.354699502849216640, -0.354652753388153050, -0.354606003040458030, -0.354559251806247980, +-0.354512499685639420, -0.354465746678749970, -0.354418992785696220, -0.354372238006594950, -0.354325482341562690, -0.354278725790717120, -0.354231968354174700, -0.354185210032052440, +-0.354138450824466710, -0.354091690731535240, -0.354044929753374540, -0.353998167890101520, -0.353951405141832710, -0.353904641508685780, -0.353857876990777250, -0.353811111588223980, +-0.353764345301142590, -0.353717578129650710, -0.353670810073864860, -0.353624041133901610, -0.353577271309878700, -0.353530500601912550, -0.353483729010120210, -0.353436956534618040, +-0.353390183175523950, -0.353343408932954410, -0.353296633807026360, -0.353249857797856280, -0.353203080905562020, -0.353156303130259970, -0.353109524472067230, -0.353062744931100240, +-0.353015964507476800, -0.352969183201313490, -0.352922401012727200, -0.352875617941834470, -0.352828833988753140, -0.352782049153599670, -0.352735263436490700, -0.352688476837544010, +-0.352641689356876120, -0.352594900994604000, -0.352548111750844160, -0.352501321625714510, -0.352454530619331570, -0.352407738731812250, -0.352360945963273220, -0.352314152313832230, +-0.352267357783605850, -0.352220562372711040, -0.352173766081264440, -0.352126968909383890, -0.352080170857185850, -0.352033371924787400, -0.351986572112305110, -0.351939771419856830, +-0.351892969847559080, -0.351846167395528930, -0.351799364063882900, -0.351752559852738960, -0.351705754762213550, -0.351658948792423380, -0.351612141943486220, -0.351565334215518720, +-0.351518525608637890, -0.351471716122960350, -0.351424905758603910, -0.351378094515685190, -0.351331282394321260, -0.351284469394628710, -0.351237655516725370, -0.351190840760727930, +-0.351144025126753360, -0.351097208614918330, -0.351050391225340710, -0.351003572958137060, -0.350956753813424500, -0.350909933791319680, -0.350863112891940390, -0.350816291115403360, +-0.350769468461825160, -0.350722644931323710, -0.350675820524015640, -0.350628995240018000, -0.350582169079447500, -0.350535342042421980, -0.350488514129058070, -0.350441685339472950, +-0.350394855673783150, -0.350348025132106610, -0.350301193714560030, -0.350254361421260480, -0.350207528252324600, -0.350160694207870330, -0.350113859288014310, -0.350067023492873610, +-0.350020186822564970, -0.349973349277206250, -0.349926510856914170, -0.349879671561805440, -0.349832831391997890, -0.349785990347608320, -0.349739148428753750, -0.349692305635550870, +-0.349645461968117630, -0.349598617426570780, -0.349551772011027380, -0.349504925721604130, -0.349458078558418930, -0.349411230521588620, -0.349364381611230180, -0.349317531827460390, +-0.349270681170397170, -0.349223829640157250, -0.349176977236857760, -0.349130123960615430, -0.349083269811548190, -0.349036414789772760, -0.348989558895405890, -0.348942702128565540, +-0.348895844489368450, -0.348848985977931740, -0.348802126594372150, -0.348755266338807660, -0.348708405211354990, -0.348661543212131280, -0.348614680341253370, -0.348567816598839120, +-0.348520951985005320, -0.348474086499869160, -0.348427220143547380, -0.348380352916157990, -0.348333484817817670, -0.348286615848643680, -0.348239746008752680, -0.348192875298262760, +-0.348146003717290650, -0.348099131265953540, -0.348052257944368170, -0.348005383752652610, -0.347958508690923540, -0.347911632759297820, -0.347864755957893400, -0.347817878286827140, +-0.347770999746216170, -0.347724120336177220, -0.347677240056828430, -0.347630358908286590, -0.347583476890668760, -0.347536594004091870, -0.347489710248673920, -0.347442825624531710, +-0.347395940131782380, -0.347349053770542810, -0.347302166540931050, -0.347255278443063860, -0.347208389477058450, -0.347161499643031670, -0.347114608941101580, -0.347067717371384920, +-0.347020824933998550, -0.346973931629060540, -0.346927037456687740, -0.346880142416997330, -0.346833246510106110, -0.346786349736132260, -0.346739452095192470, -0.346692553587404080, +-0.346645654212883900, -0.346598753971750000, -0.346551852864119160, -0.346504950890108740, -0.346458048049835540, -0.346411144343417580, -0.346364239770971800, -0.346317334332615410, +-0.346270428028465300, -0.346223520858639500, -0.346176612823254900, -0.346129703922428370, -0.346082794156277960, -0.346035883524920600, -0.345988972028473510, -0.345942059667053600, +-0.345895146440778960, -0.345848232349766420, -0.345801317394133280, -0.345754401573996510, -0.345707484889474060, -0.345660567340682960, -0.345613648927740440, -0.345566729650763350, +-0.345519809509869880, -0.345472888505176880, -0.345425966636801640, -0.345379043904861130, -0.345332120309473360, -0.345285195850755290, -0.345238270528824280, -0.345191344343797110, +-0.345144417295792040, -0.345097489384925960, -0.345050560611315670, -0.345003630975079410, -0.344956700476334090, -0.344909769115197050, -0.344862836891785150, -0.344815903806216520, +-0.344768969858608220, -0.344722035049077450, -0.344675099377741160, -0.344628162844717530, -0.344581225450123540, -0.344534287194076470, -0.344487348076693230, -0.344440408098092070, +-0.344393467258389870, -0.344346525557704060, -0.344299582996151430, -0.344252639573850330, -0.344205695290917600, -0.344158750147470220, -0.344111804143626410, -0.344064857279503030, +-0.344017909555217550, -0.343970960970886860, -0.343924011526629210, -0.343877061222561510, -0.343830110058801150, -0.343783158035465160, -0.343736205152671610, -0.343689251410537580, +-0.343642296809180460, -0.343595341348717110, -0.343548385029265880, -0.343501427850943670, -0.343454469813867850, -0.343407510918155520, -0.343360551163924780, -0.343313590551292620, +-0.343266629080376140, -0.343219666751293510, -0.343172703564161630, -0.343125739519098080, -0.343078774616219720, -0.343031808855644830, -0.342984842237490430, -0.342937874761873930, +-0.342890906428912350, -0.342843937238723860, -0.342796967191425610, -0.342749996287134870, -0.342703024525968740, -0.342656051908045490, -0.342609078433482090, -0.342562104102396010, +-0.342515128914904270, -0.342468152871125090, -0.342421175971175500, -0.342374198215172620, -0.342327219603234590, -0.342280240135478590, -0.342233259812021960, -0.342186278632981730, +-0.342139296598476250, -0.342092313708622530, -0.342045329963538040, -0.341998345363339780, -0.341951359908146070, -0.341904373598073960, -0.341857386433240930, -0.341810398413764040, +-0.341763409539761530, -0.341716419811350540, -0.341669429228648460, -0.341622437791772370, -0.341575445500840680, -0.341528452355970290, -0.341481458357278830, -0.341434463504883270, +-0.341387467798902000, -0.341340471239452050, -0.341293473826650540, -0.341246475560615710, -0.341199476441464700, -0.341152476469315010, -0.341105475644283730, -0.341058473966489140, +-0.341011471436048370, -0.340964468053078950, -0.340917463817697940, -0.340870458730023640, -0.340823452790173230, -0.340776445998264180, -0.340729438354413610, -0.340682429858739870, +-0.340635420511360030, -0.340588410312391680, -0.340541399261951820, -0.340494387360158910, -0.340447374607130040, -0.340400361002982320, -0.340353346547834110, -0.340306331241802540, +-0.340259315085005120, -0.340212298077559040, -0.340165280219582590, -0.340118261511192950, -0.340071241952507650, -0.340024221543643870, -0.339977200284719890, -0.339930178175852970, +-0.339883155217160560, -0.339836131408759850, -0.339789106750769230, -0.339742081243305850, -0.339695054886487270, -0.339648027680430680, -0.339600999625254360, -0.339553970721075570, +-0.339506940968011480, -0.339459910366180400, -0.339412878915699550, -0.339365846616686510, -0.339318813469258460, -0.339271779473533760, -0.339224744629629590, -0.339177708937663640, +-0.339130672397752910, -0.339083635010015980, -0.339036596774569930, -0.338989557691532440, -0.338942517761020580, -0.338895476983152870, -0.338848435358046430, -0.338801392885818950, +-0.338754349566587560, -0.338707305400470730, -0.338660260387585570, -0.338613214528049820, -0.338566167821980570, -0.338519120269496380, -0.338472071870714320, -0.338425022625751750, +-0.338377972534726960, -0.338330921597757290, -0.338283869814960280, -0.338236817186453210, -0.338189763712354490, -0.338142709392781350, -0.338095654227851480, -0.338048598217682020, +-0.338001541362391470, -0.337954483662097130, -0.337907425116916520, -0.337860365726966980, -0.337813305492366880, -0.337766244413233550, -0.337719182489684630, -0.337672119721837300, +-0.337625056109810140, -0.337577991653720270, -0.337530926353685030, -0.337483860209822910, -0.337436793222251170, -0.337389725391087360, -0.337342656716448920, -0.337295587198454150, +-0.337248516837220510, -0.337201445632865530, -0.337154373585506480, -0.337107300695261960, -0.337060226962249190, -0.337013152386585860, -0.336966076968389210, -0.336919000707777800, +-0.336871923604868890, -0.336824845659780160, -0.336777766872628890, -0.336730687243533670, -0.336683606772611670, -0.336636525459980240, -0.336589443305757960, -0.336542360310062020, +-0.336495276473010250, -0.336448191794719800, -0.336401106275309340, -0.336354019914896050, -0.336306932713597790, -0.336259844671531750, -0.336212755788816490, -0.336165666065569360, +-0.336118575501908050, -0.336071484097949900, -0.336024391853813440, -0.335977298769616020, -0.335930204845475370, -0.335883110081508730, -0.335836014477834790, -0.335788918034570780, +-0.335741820751834120, -0.335694722629743260, -0.335647623668415610, -0.335600523867968900, -0.335553423228520440, -0.335506321750188910, -0.335459219433091540, -0.335412116277346070, +-0.335365012283069970, -0.335317907450381700, -0.335270801779398660, -0.335223695270238650, -0.335176587923018960, -0.335129479737858280, -0.335082370714873850, -0.335035260854183500, +-0.334988150155904550, -0.334941038620155670, -0.334893926247054220, -0.334846813036717930, -0.334799698989264150, -0.334752584104811570, -0.334705468383477530, -0.334658351825379450, +-0.334611234430635840, -0.334564116199364160, -0.334516997131682200, -0.334469877227707320, -0.334422756487558200, -0.334375634911352190, -0.334328512499207030, -0.334281389251240240, +-0.334234265167570320, -0.334187140248314810, -0.334140014493591430, -0.334092887903517600, -0.334045760478211940, -0.333998632217791860, -0.333951503122375260, -0.333904373192079440, +-0.333857242427023140, -0.333810110827323700, -0.333762978393098600, -0.333715845124466450, -0.333668711021544660, -0.333621576084451140, -0.333574440313303240, -0.333527303708219700, +-0.333480166269317870, -0.333433027996715590, -0.333385888890530340, -0.333338748950880780, -0.333291608177884390, -0.333244466571658960, -0.333197324132321950, -0.333150180859992040, +-0.333103036754786640, -0.333055891816823710, -0.333008746046220610, -0.332961599443096060, -0.332914452007567530, -0.332867303739752430, -0.332820154639769440, -0.332773004707736130, +-0.332725853943770300, -0.332678702347989410, -0.332631549920512190, -0.332584396661456120, -0.332537242570938970, -0.332490087649078390, -0.332442931895992940, -0.332395775311800200, +-0.332348617896618010, -0.332301459650563900, -0.332254300573756490, -0.332207140666313410, -0.332159979928352390, -0.332112818359991070, -0.332065655961348070, -0.332018492732540970, +-0.331971328673687620, -0.331924163784905520, -0.331876998066313430, -0.331829831518028860, -0.331782664140169270, -0.331735495932853510, -0.331688326896198930, -0.331641157030323540, +-0.331593986335344870, -0.331546814811381650, -0.331499642458551400, -0.331452469276972030, -0.331405295266761050, -0.331358120428037250, -0.331310944760918210, -0.331263768265521730, +-0.331216590941965480, -0.331169412790368100, -0.331122233810847270, -0.331075054003520770, -0.331027873368506310, -0.330980691905922500, -0.330933509615887020, -0.330886326498517290, +-0.330839142553932210, -0.330791957782249240, -0.330744772183586390, -0.330697585758061240, -0.330650398505792480, -0.330603210426897720, -0.330556021521494990, -0.330508831789701750, +-0.330461641231636850, -0.330414449847417860, -0.330367257637162740, -0.330320064600989060, -0.330272870739015620, -0.330225676051360000, -0.330178480538140200, -0.330131284199473800, +-0.330084087035479590, -0.330036889046275150, -0.329989690231978110, -0.329942490592707250, -0.329895290128580150, -0.329848088839714840, -0.329800886726228870, -0.329753683788241100, +-0.329706480025869110, -0.329659275439230960, -0.329612070028444170, -0.329564863793627650, -0.329517656734898970, -0.329470448852376090, -0.329423240146176740, -0.329376030616419680, +-0.329328820263222520, -0.329281609086703340, -0.329234397086979710, -0.329187184264170540, -0.329139970618393400, -0.329092756149765850, -0.329045540858406930, -0.328998324744434080, +-0.328951107807965440, -0.328903890049118630, -0.328856671468012450, -0.328809452064764640, -0.328762231839493210, -0.328715010792315800, -0.328667788923351250, -0.328620566232717180, +-0.328573342720531790, -0.328526118386912540, -0.328478893231978490, -0.328431667255847160, -0.328384440458636680, -0.328337212840464630, -0.328289984401450020, -0.328242755141710420, +-0.328195525061363960, -0.328148294160528260, -0.328101062439322240, -0.328053829897863580, -0.328006596536269900, -0.327959362354660170, -0.327912127353152010, -0.327864891531863540, +-0.327817654890912470, -0.327770417430417630, -0.327723179150496760, -0.327675940051267930, -0.327628700132848840, -0.327581459395358430, -0.327534217838914340, -0.327486975463634760, +-0.327439732269637240, -0.327392488257040870, -0.327345243425963270, -0.327297997776522580, -0.327250751308836460, -0.327203504023023840, -0.327156255919202500, -0.327109006997490130, +-0.327061757258005630, -0.327014506700866740, -0.326967255326191530, -0.326920003134097860, -0.326872750124704510, -0.326825496298129350, -0.326778241654490430, -0.326730986193905500, +-0.326683729916493470, -0.326636472822372180, -0.326589214911659650, -0.326541956184473740, -0.326494696640933280, -0.326447436281156130, -0.326400175105260370, -0.326352913113363790, +-0.326305650305585280, -0.326258386682042660, -0.326211122242853700, -0.326163856988137320, -0.326116590918011320, -0.326069324032593810, -0.326022056332002600, -0.325974787816356640, +-0.325927518485773730, -0.325880248340371990, -0.325832977380269280, -0.325785705605584510, -0.325738433016435460, -0.325691159612940320, -0.325643885395216880, -0.325596610363384160, +-0.325549334517559910, -0.325502057857862290, -0.325454780384409170, -0.325407502097319450, -0.325360222996711020, -0.325312943082702030, -0.325265662355410210, -0.325218380814954740, +-0.325171098461453260, -0.325123815295023600, -0.325076531315784840, -0.325029246523854790, -0.324981960919351610, -0.324934674502393050, -0.324887387273098290, -0.324840099231585020, +-0.324792810377971530, -0.324745520712375610, -0.324698230234916290, -0.324650938945711340, -0.324603646844879130, -0.324556353932537340, -0.324509060208805100, -0.324461765673800200, +-0.324414470327640870, -0.324367174170444970, -0.324319877202331520, -0.324272579423418420, -0.324225280833823400, -0.324177981433665660, -0.324130681223062930, -0.324083380202133510, +-0.324036078370995180, -0.323988775729767140, -0.323941472278567120, -0.323894168017513420, -0.323846862946723880, -0.323799557066317630, -0.323752250376412480, -0.323704942877126700, +-0.323657634568578100, -0.323610325450885860, -0.323563015524167830, -0.323515704788542250, -0.323468393244127020, -0.323421080891041160, -0.323373767729402630, -0.323326453759329280, +-0.323279138980940180, -0.323231823394353250, -0.323184506999686760, -0.323137189797058580, -0.323089871786587880, -0.323042552968392460, -0.322995233342590670, -0.322947912909300360, +-0.322900591668640710, -0.322853269620729580, -0.322805946765685250, -0.322758623103625690, -0.322711298634669960, -0.322663973358935980, -0.322616647276542050, -0.322569320387606110, +-0.322521992692247240, -0.322474664190583460, -0.322427334882732560, -0.322380004768813730, -0.322332673848944930, -0.322285342123244390, -0.322238009591830130, -0.322190676254821230, +-0.322143342112335640, -0.322096007164491720, -0.322048671411407360, -0.322001334853201760, -0.321953997489992760, -0.321906659321898820, -0.321859320349037800, -0.321811980571528880, +-0.321764639989490010, -0.321717298603039550, -0.321669956412295450, -0.321622613417376860, -0.321575269618401720, -0.321527925015488440, -0.321480579608754870, -0.321433233398320310, +-0.321385886384302650, -0.321338538566819880, -0.321291189945991150, -0.321243840521934500, -0.321196490294768210, -0.321149139264610250, -0.321101787431579910, -0.321054434795795100, +-0.321007081357374160, -0.320959727116435110, -0.320912372073097200, -0.320865016227478320, -0.320817659579696930, -0.320770302129870950, -0.320722943878119670, -0.320675584824560990, +-0.320628224969313370, -0.320580864312494720, -0.320533502854224380, -0.320486140594620270, -0.320438777533800400, -0.320391413671884010, -0.320344049008989050, -0.320296683545234000, +-0.320249317280736800, -0.320201950215616700, -0.320154582349991780, -0.320107213683980370, -0.320059844217700560, -0.320012473951271530, -0.319965102884811280, -0.319917731018438290, +-0.319870358352270570, -0.319822984886427350, -0.319775610621026720, -0.319728235556187010, -0.319680859692026310, -0.319633483028663900, -0.319586105566217750, -0.319538727304805930, +-0.319491348244547720, -0.319443968385561110, -0.319396587727964590, -0.319349206271876180, -0.319301824017415190, -0.319254440964699630, -0.319207057113848000, -0.319159672464978280, +-0.319112287018209760, -0.319064900773660560, -0.319017513731449150, -0.318970125891693490, -0.318922737254512920, -0.318875347820025520, -0.318827957588349810, -0.318780566559603680, +-0.318733174733906610, -0.318685782111376600, -0.318638388692132180, -0.318590994476291300, -0.318543599463973370, -0.318496203655296460, -0.318448807050378590, -0.318401409649339160, +-0.318354011452296190, -0.318306612459368200, -0.318259212670673250, -0.318211812086330700, -0.318164410706458620, -0.318117008531175470, -0.318069605560599430, -0.318022201794849800, +-0.317974797234044650, -0.317927391878302490, -0.317879985727741400, -0.317832578782480830, -0.317785171042638810, -0.317737762508333800, -0.317690353179684030, -0.317642943056808790, +-0.317595532139826160, -0.317548120428854270, -0.317500707924012530, -0.317453294625419050, -0.317405880533192300, -0.317358465647450410, -0.317311049968312770, -0.317263633495897530, +-0.317216216230323260, -0.317168798171707960, -0.317121379320171090, -0.317073959675830800, -0.317026539238805580, -0.316979118009213580, -0.316931695987174240, -0.316884273172805650, +-0.316836849566226380, -0.316789425167554590, -0.316741999976909610, -0.316694573994409640, -0.316647147220172840, -0.316599719654318600, -0.316552291296964990, -0.316504862148230700, +-0.316457432208233860, -0.316410001477093860, -0.316362569954928790, -0.316315137641857370, -0.316267704537997630, -0.316220270643469080, -0.316172835958389850, -0.316125400482878520, +-0.316077964217053250, -0.316030527161033530, -0.315983089314937520, -0.315935650678883740, -0.315888211252990380, -0.315840771037376960, -0.315793330032161590, -0.315745888237462520, +-0.315698445653399110, -0.315651002280089580, -0.315603558117652560, -0.315556113166206240, -0.315508667425870030, -0.315461220896762150, -0.315413773579001240, -0.315366325472705430, +-0.315318876577994290, -0.315271426894985940, -0.315223976423799010, -0.315176525164551690, -0.315129073117363550, -0.315081620282352650, -0.315034166659637740, -0.314986712249337000, +-0.314939257051569890, -0.314891801066454650, -0.314844344294109900, -0.314796886734653840, -0.314749428388206020, -0.314701969254884640, -0.314654509334807870, -0.314607048628095300, +-0.314559587134865040, -0.314512124855235890, -0.314464661789325920, -0.314417197937254810, -0.314369733299140640, -0.314322267875102150, -0.314274801665257560, -0.314227334669726410, +-0.314179866888626920, -0.314132398322077790, -0.314084928970197190, -0.314037458833104740, -0.313989987910918590, -0.313942516203757520, -0.313895043711739710, -0.313847570434984680, +-0.313800096373610780, -0.313752621527736200, -0.313705145897480500, -0.313657669482961920, -0.313610192284299150, -0.313562714301610480, -0.313515235535015480, -0.313467755984632390, +-0.313420275650579890, -0.313372794532976280, -0.313325312631941080, -0.313277829947592680, -0.313230346480049600, -0.313182862229430310, -0.313135377195854270, -0.313087891379439760, +-0.313040404780305540, -0.312992917398569880, -0.312945429234352370, -0.312897940287771290, -0.312850450558944890, -0.312802960047992800, -0.312755468755033350, -0.312707976680185180, +-0.312660483823566700, -0.312612990185297370, -0.312565495765495640, -0.312518000564280090, -0.312470504581769170, -0.312423007818082410, -0.312375510273338100, -0.312328011947655030, +-0.312280512841151490, -0.312233012953947120, -0.312185512286160200, -0.312138010837909540, -0.312090508609313370, -0.312043005600491360, -0.311995501811561880, -0.311947997242643600, +-0.311900491893854940, -0.311852985765315450, -0.311805478857143490, -0.311757971169457470, -0.311710462702376900, -0.311662953456020130, -0.311615443430506070, -0.311567932625952890, +-0.311520421042480340, -0.311472908680206720, -0.311425395539250860, -0.311377881619731070, -0.311330366921767020, -0.311282851445477020, -0.311235335190979900, -0.311187818158394030, +-0.311140300347839020, -0.311092781759433280, -0.311045262393295610, -0.310997742249544300, -0.310950221328299080, -0.310902699629678310, -0.310855177153800400, -0.310807653900784910, +-0.310760129870750360, -0.310712605063815430, -0.310665079480098580, -0.310617553119719450, -0.310570025982796430, -0.310522498069448370, -0.310474969379793630, -0.310427439913951890, +-0.310379909672041540, -0.310332378654181400, -0.310284846860489900, -0.310237314291086750, -0.310189780946090290, -0.310142246825619360, -0.310094711929792380, -0.310047176258729070, +-0.309999639812547800, -0.309952102591367070, -0.309904564595306460, -0.309857025824484430, -0.309809486279019830, -0.309761945959031120, -0.309714404864637920, -0.309666862995958750, +-0.309619320353112400, -0.309571776936217350, -0.309524232745393260, -0.309476687780758600, -0.309429142042432210, -0.309381595530532570, -0.309334048245179350, -0.309286500186491010, +-0.309238951354586400, -0.309191401749584040, -0.309143851371603550, -0.309096300220763450, -0.309048748297182150, -0.309001195600979440, -0.308953642132273720, -0.308906087891183900, +-0.308858532877828440, -0.308810977092327080, -0.308763420534798270, -0.308715863205360870, -0.308668305104133460, -0.308620746231235640, -0.308573186586786010, -0.308525626170903400, +-0.308478064983706280, -0.308430503025314440, -0.308382940295846340, -0.308335376795420890, -0.308287812524156550, -0.308240247482173100, -0.308192681669589070, -0.308145115086523310, +-0.308097547733094390, -0.308049979609421990, -0.308002410715624620, -0.307954841051820800, -0.307907270618130340, -0.307859699414671670, -0.307812127441563780, -0.307764554698925110, +-0.307716981186875460, -0.307669406905533400, -0.307621831855017850, -0.307574256035447250, -0.307526679446941450, -0.307479102089618930, -0.307431523963598690, -0.307383945068999190, +-0.307336365405940280, -0.307288784974540430, -0.307241203774918650, -0.307193621807193400, -0.307146039071484520, -0.307098455567910540, -0.307050871296590030, -0.307003286257642730, +-0.306955700451187250, -0.306908113877342510, -0.306860526536227030, -0.306812938427960700, -0.306765349552661990, -0.306717759910449920, -0.306670169501443050, -0.306622578325761120, +-0.306574986383522820, -0.306527393674846990, -0.306479800199852270, -0.306432205958658500, -0.306384610951384200, -0.306337015178148380, -0.306289418639069560, -0.306241821334267640, +-0.306194223263861200, -0.306146624427968750, -0.306099024826710140, -0.306051424460204000, -0.306003823328569290, -0.305956221431924640, -0.305908618770389770, -0.305861015344083440, +-0.305813411153124490, -0.305765806197631660, -0.305718200477724690, -0.305670593993522250, -0.305622986745143320, -0.305575378732706520, -0.305527769956331630, -0.305480160416137400, +-0.305432550112242680, -0.305384939044766210, -0.305337327213827840, -0.305289714619546130, -0.305242101262040100, -0.305194487141428440, -0.305146872257830990, -0.305099256611366330, +-0.305051640202153080, -0.305004023030311210, -0.304956405095959280, -0.304908786399216310, -0.304861166940200930, -0.304813546719033100, -0.304765925735831390, -0.304718303990714870, +-0.304670681483802160, -0.304623058215213180, -0.304575434185066500, -0.304527809393481290, -0.304480183840576120, -0.304432557526470910, -0.304384930451284340, -0.304337302615135420, +-0.304289674018142780, -0.304242044660426430, -0.304194414542104940, -0.304146783663297000, -0.304099152024122580, -0.304051519624700230, -0.304003886465149030, -0.303956252545587780, +-0.303908617866136270, -0.303860982426913230, -0.303813346228037740, -0.303765709269628430, -0.303718071551805300, -0.303670433074687000, -0.303622793838392580, -0.303575153843040790, +-0.303527513088751530, -0.303479871575643490, -0.303432229303835730, -0.303384586273447000, -0.303336942484597250, -0.303289297937405110, -0.303241652631989320, -0.303194006568469840, +-0.303146359746965300, -0.303098712167594870, -0.303051063830477310, -0.303003414735732450, -0.302955764883479030, -0.302908114273836240, -0.302860462906922700, -0.302812810782858490, +-0.302765157901762230, -0.302717504263753050, -0.302669849868949680, -0.302622194717472150, -0.302574538809439080, -0.302526882144969700, -0.302479224724182700, -0.302431566547198050, +-0.302383907614134470, -0.302336247925111160, -0.302288587480246780, -0.302240926279661310, -0.302193264323473600, -0.302145601611802260, -0.302097938144767380, -0.302050273922487620, +-0.302002608945082180, -0.301954943212669800, -0.301907276725370490, -0.301859609483302980, -0.301811941486586470, -0.301764272735339620, -0.301716603229682580, -0.301668932969734020, +-0.301621261955613120, -0.301573590187438620, -0.301525917665330550, -0.301478244389407730, -0.301430570359789320, -0.301382895576594030, -0.301335220039941900, -0.301287543749951760, +-0.301239866706742300, -0.301192188910433640, -0.301144510361144480, -0.301096831058994040, -0.301049151004101120, -0.301001470196585740, -0.300953788636566690, -0.300906106324163150, +-0.300858423259493910, -0.300810739442679050, -0.300763054873837370, -0.300715369553088030, -0.300667683480549840, -0.300619996656342870, -0.300572309080585910, -0.300524620753398140, +-0.300476931674898470, -0.300429241845206860, -0.300381551264442100, -0.300333859932723100, -0.300286167850169870, -0.300238475016901150, -0.300190781433036350, -0.300143087098694080, +-0.300095392013994540, -0.300047696179056580, -0.299999999593999310, -0.299952302258941650, -0.299904604174003660, -0.299856905339304150, -0.299809205754962340, -0.299761505421097140, +-0.299713804337828570, -0.299666102505275530, -0.299618399923557210, -0.299570696592792450, -0.299522992513101380, -0.299475287684602850, -0.299427582107415660, -0.299379875781659980, +-0.299332168707454550, -0.299284460884918720, -0.299236752314171350, -0.299189042995332440, -0.299141332928521020, -0.299093622113856210, -0.299045910551456910, -0.298998198241443300, +-0.298950485183934190, -0.298902771379048800, -0.298855056826906160, -0.298807341527626220, -0.298759625481327950, -0.298711908688130630, -0.298664191148153120, -0.298616472861515550, +-0.298568753828336810, -0.298521034048736140, -0.298473313522832520, -0.298425592250746000, -0.298377870232595490, -0.298330147468499900, -0.298282423958579400, -0.298234699702952800, +-0.298186974701739440, -0.298139248955058220, -0.298091522463029330, -0.298043795225771620, -0.297996067243404440, -0.297948338516046630, -0.297900609043818430, -0.297852878826838700, +-0.297805147865226770, -0.297757416159101560, -0.297709683708583190, -0.297661950513790690, -0.297614216574843220, -0.297566481891859860, -0.297518746464960680, -0.297471010294264650, +-0.297423273379890660, -0.297375535721958910, -0.297327797320588340, -0.297280058175898250, -0.297232318288007610, -0.297184577657036600, -0.297136836283104110, -0.297089094166329560, +-0.297041351306831850, -0.296993607704731210, -0.296945863360146500, -0.296898118273197180, -0.296850372444002090, -0.296802625872681520, -0.296754878559354400, -0.296707130504140050, +-0.296659381707157500, -0.296611632168526870, -0.296563881888367190, -0.296516130866797340, -0.296468379103937640, -0.296420626599906980, -0.296372873354824710, -0.296325119368809900, +-0.296277364641982680, -0.296229609174462060, -0.296181852966367400, -0.296134096017817650, -0.296086338328933160, -0.296038579899832790, -0.295990820730635980, -0.295943060821461660, +-0.295895300172430150, -0.295847538783660380, -0.295799776655271740, -0.295752013787383250, -0.295704250180115150, -0.295656485833586450, -0.295608720747916500, -0.295560954923224370, +-0.295513188359630200, -0.295465421057253150, -0.295417653016212030, -0.295369884236627240, -0.295322114718617800, -0.295274344462303000, -0.295226573467801960, -0.295178801735234860, +-0.295131029264720790, -0.295083256056379140, -0.295035482110328930, -0.294987707426690450, -0.294939932005582660, -0.294892155847125080, -0.294844378951436670, -0.294796601318637720, +-0.294748822948847300, -0.294701043842184820, -0.294653263998769290, -0.294605483418721060, -0.294557702102159090, -0.294509920049202400, -0.294462137259971390, -0.294414353734585020, +-0.294366569473162810, -0.294318784475823710, -0.294270998742688080, -0.294223212273874930, -0.294175425069503780, -0.294127637129693640, -0.294079848454564810, -0.294032059044236350, +-0.293984268898827780, -0.293936478018458070, -0.293888686403247670, -0.293840894053315480, -0.293793100968781080, -0.293745307149763490, -0.293697512596383050, -0.293649717308758880, +-0.293601921287009960, -0.293554124531256620, -0.293506327041618050, -0.293458528818213600, -0.293410729861162460, -0.293362930170584850, -0.293315129746599960, -0.293267328589327250, +-0.293219526698885740, -0.293171724075395880, -0.293123920718976750, -0.293076116629747750, -0.293028311807828070, -0.292980506253337990, -0.292932699966396700, -0.292884892947123670, +-0.292837085195637950, -0.292789276712059900, -0.292741467496508700, -0.292693657549103430, -0.292645846869964420, -0.292598035459210810, -0.292550223316962070, -0.292502410443337360, +-0.292454596838457090, -0.292406782502440290, -0.292358967435406570, -0.292311151637474950, -0.292263335108765900, -0.292215517849398530, -0.292167699859492370, -0.292119881139166480, +-0.292072061688541380, -0.292024241507736090, -0.291976420596870180, -0.291928598956062820, -0.291880776585434430, -0.291832953485104020, -0.291785129655191270, -0.291737305095815250, +-0.291689479807096420, -0.291641653789153850, -0.291593827042106790, -0.291545999566075520, -0.291498171361179280, -0.291450342427537590, -0.291402512765269630, -0.291354682374495800, +-0.291306851255335290, -0.291259019407907660, -0.291211186832332050, -0.291163353528728910, -0.291115519497217310, -0.291067684737917000, -0.291019849250947040, -0.290972013036427830, +-0.290924176094478630, -0.290876338425218980, -0.290828500028768030, -0.290780660905246290, -0.290732821054772880, -0.290684980477467050, -0.290637139173449130, -0.290589297142838380, +-0.290541454385754410, -0.290493610902316350, -0.290445766692644660, -0.290397921756858580, -0.290350076095077740, -0.290302229707421260, -0.290254382594009600, -0.290206534754962000, +-0.290158686190398090, -0.290110836900436990, -0.290062986885199270, -0.290015136144804060, -0.289967284679371000, -0.289919432489019300, -0.289871579573869440, -0.289823725934040650, +-0.289775871569652120, -0.289728016480824360, -0.289680160667676550, -0.289632304130328310, -0.289584446868898890, -0.289536588883508810, -0.289488730174277230, -0.289440870741323850, +-0.289393010584767800, -0.289345149704729740, -0.289297288101328760, -0.289249425774684540, -0.289201562724916370, -0.289153698952144710, -0.289105834456488800, -0.289057969238068260, +-0.289010103297002440, -0.288962236633411750, -0.288914369247415480, -0.288866501139133260, -0.288818632308684380, -0.288770762756189350, -0.288722892481767410, -0.288675021485537810, +-0.288627149767621110, -0.288579277328136540, -0.288531404167203740, -0.288483530284942000, -0.288435655681471890, -0.288387780356912590, -0.288339904311383900, -0.288292027545004990, +-0.288244150057896440, -0.288196271850177540, -0.288148392921967920, -0.288100513273386930, -0.288052632904555070, -0.288004751815591600, -0.287956870006616290, -0.287908987477748350, +-0.287861104229108380, -0.287813220260815680, -0.287765335572989440, -0.287717450165750340, -0.287669564039217620, -0.287621677193510950, -0.287573789628749690, -0.287525901345054350, +-0.287478012342544280, -0.287430122621339160, -0.287382232181558340, -0.287334341023322340, -0.287286449146750500, -0.287238556551962560, -0.287190663239077770, -0.287142769208216740, +-0.287094874459498830, -0.287046978993043660, -0.286999082808970680, -0.286951185907400430, -0.286903288288452190, -0.286855389952245300, -0.286807490898900340, -0.286759591128536660, +-0.286711690641274000, -0.286663789437231750, -0.286615887516530390, -0.286567984879289310, -0.286520081525628300, -0.286472177455666670, -0.286424272669524970, -0.286376367167322620, +-0.286328460949179350, -0.286280554015214520, -0.286232646365548680, -0.286184738000301250, -0.286136828919592020, -0.286088919123540230, -0.286041008612266610, -0.285993097385890460, +-0.285945185444531120, -0.285897272788309230, -0.285849359417344180, -0.285801445331755780, -0.285753530531663300, -0.285705615017187390, -0.285657698788447490, -0.285609781845563290, +-0.285561864188654260, -0.285513945817840950, -0.285466026733242840, -0.285418106934979600, -0.285370186423170690, -0.285322265197936740, -0.285274343259397160, -0.285226420607671670, +-0.285178497242879690, -0.285130573165141950, -0.285082648374577750, -0.285034722871306930, -0.284986796655448900, -0.284938869727124290, -0.284890942086452490, -0.284843013733552920, +-0.284795084668546250, -0.284747154891551830, -0.284699224402689580, -0.284651293202078830, -0.284603361289840210, -0.284555428666093240, -0.284507495330957700, -0.284459561284553020, +-0.284411626526999810, -0.284363691058417580, -0.284315754878926070, -0.284267817988644760, -0.284219880387694360, -0.284171942076194230, -0.284124003054264270, -0.284076063322023900, +-0.284028122879593730, -0.283980181727093330, -0.283932239864642000, -0.283884297292360480, -0.283836354010368270, -0.283788410018785130, -0.283740465317730560, -0.283692519907325250, +-0.283644573787688650, -0.283596626958940610, -0.283548679421200540, -0.283500731174589240, -0.283452782219226100, -0.283404832555231020, -0.283356882182723420, -0.283308931101824040, +-0.283260979312652320, -0.283213026815328170, -0.283165073609971010, -0.283117119696701610, -0.283069165075639400, -0.283021209746903870, -0.282973253710615710, -0.282925296966894450, +-0.282877339515859920, -0.282829381357631640, -0.282781422492330290, -0.282733462920075450, -0.282685502640986910, -0.282637541655184180, -0.282589579962788050, -0.282541617563917940, +-0.282493654458693790, -0.282445690647235070, -0.282397726129662570, -0.282349760906095760, -0.282301794976654590, -0.282253828341458400, -0.282205861000628170, -0.282157892954283230, +-0.282109924202543550, -0.282061954745528640, -0.282013984583359300, -0.281966013716154980, -0.281918042144035210, -0.281870069867120760, -0.281822096885531110, -0.281774123199386270, +-0.281726148808805640, -0.281678173713910070, -0.281630197914819080, -0.281582221411652620, -0.281534244204530160, -0.281486266293572480, -0.281438287678899170, -0.281390308360630170, +-0.281342328338884950, -0.281294347613784300, -0.281246366185447790, -0.281198384053995390, -0.281150401219546600, -0.281102417682222220, -0.281054433442141820, -0.281006448499424910, +-0.280958462854192290, -0.280910476506563530, -0.280862489456658540, -0.280814501704596930, -0.280766513250499450, -0.280718524094485720, -0.280670534236675710, -0.280622543677188920, +-0.280574552416146210, -0.280526560453667080, -0.280478567789871570, -0.280430574424879180, -0.280382580358810810, -0.280334585591785980, -0.280286590123924710, -0.280238593955346560, +-0.280190597086172280, -0.280142599516521540, -0.280094601246513920, -0.280046602276270150, -0.279998602605909920, -0.279950602235553180, -0.279902601165319450, -0.279854599395329700, +-0.279806596925703480, -0.279758593756560700, -0.279710589888021060, -0.279662585320205330, -0.279614580053233200, -0.279566574087224570, -0.279518567422299080, -0.279470560058577620, +-0.279422551996179710, -0.279374543235225480, -0.279326533775834440, -0.279278523618127490, -0.279230512762224210, -0.279182501208244280, -0.279134488956308490, -0.279086476006536470, +-0.279038462359048280, -0.278990448013963500, -0.278942432971403030, -0.278894417231486450, -0.278846400794333870, -0.278798383660064820, -0.278750365828800250, -0.278702347300659790, +-0.278654328075763400, -0.278606308154230820, -0.278558287536182890, -0.278510266221739240, -0.278462244211019890, -0.278414221504144580, -0.278366198101234090, -0.278318174002408100, +-0.278270149207786700, -0.278222123717489440, -0.278174097531637350, -0.278126070650350050, -0.278078043073747120, -0.278030014801949440, -0.277981985835076830, -0.277933956173249170, +-0.277885925816586220, -0.277837894765208930, -0.277789863019236860, -0.277741830578790090, -0.277693797443988370, -0.277645763614952580, -0.277597729091802410, -0.277549693874657890, +-0.277501657963638680, -0.277453621358865750, -0.277405584060458840, -0.277357546068537910, -0.277309507383222690, -0.277261468004634140, -0.277213427932891940, -0.277165387168115670, +-0.277117345710426450, -0.277069303559943800, -0.277021260716787950, -0.276973217181078480, -0.276925172952936390, -0.276877128032481380, -0.276829082419833560, -0.276781036115112620, +-0.276732989118439470, -0.276684941429933880, -0.276636893049715950, -0.276588843977905340, -0.276540794214623020, -0.276492743759988780, -0.276444692614122630, -0.276396640777144320, +-0.276348588249174850, -0.276300535030333920, -0.276252481120741190, -0.276204426520517740, -0.276156371229783150, -0.276108315248657700, -0.276060258577261020, -0.276012201215714130, +-0.275964143164136700, -0.275916084422648920, -0.275868024991370530, -0.275819964870422480, -0.275771904059924520, -0.275723842559996820, -0.275675780370759070, -0.275627717492332280, +-0.275579653924836190, -0.275531589668391030, -0.275483524723116380, -0.275435459089133420, -0.275387392766561770, -0.275339325755521670, -0.275291258056132800, -0.275243189668516240, +-0.275195120592791660, -0.275147050829078920, -0.275098980377498910, -0.275050909238171490, -0.275002837411216780, -0.274954764896754580, -0.274906691694905890, -0.274858617805790460, +-0.274810543229528470, -0.274762467966239710, -0.274714392016045190, -0.274666315379064720, -0.274618238055418410, -0.274570160045226110, -0.274522081348608840, -0.274474001965686390, +-0.274425921896578880, -0.274377841141406180, -0.274329759700289330, -0.274281677573348040, -0.274233594760702140, -0.274185511262472650, -0.274137427078779420, -0.274089342209742630, +-0.274041256655482010, -0.273993170416118700, -0.273945083491772490, -0.273896995882563500, -0.273848907588611690, -0.273800818610037970, -0.273752728946962230, -0.273704638599504670, +-0.273656547567785070, -0.273608455851924500, -0.273560363452042820, -0.273512270368260260, -0.273464176600696550, -0.273416082149472880, -0.273367987014708990, -0.273319891196524670, +-0.273271794695041090, -0.273223697510378010, -0.273175599642655640, -0.273127501091993910, -0.273079401858513810, -0.273031301942335210, -0.272983201343578400, -0.272935100062363100, +-0.272886998098810510, -0.272838895453040410, -0.272790792125173100, -0.272742688115328370, -0.272694583423627350, -0.272646478050189880, -0.272598371995136150, -0.272550265258586110, +-0.272502157840660840, -0.272454049741480190, -0.272405940961163940, -0.272357831499833340, -0.272309721357608110, -0.272261610534608570, -0.272213499030954600, -0.272165386846767280, +-0.272117273982166510, -0.272069160437272580, -0.272021046212205300, -0.271972931307085830, -0.271924815722034030, -0.271876699457170190, -0.271828582512614160, -0.271780464888487120, +-0.271732346584908910, -0.271684227601999840, -0.271636107939879800, -0.271587987598669870, -0.271539866578490000, -0.271491744879460480, -0.271443622501701120, -0.271395499445333140, +-0.271347375710476460, -0.271299251297250850, -0.271251126205777630, -0.271203000436176510, -0.271154873988567910, -0.271106746863071730, -0.271058619059809050, -0.271010490578899870, +-0.270962361420464480, -0.270914231584622690, -0.270866101071495780, -0.270817969881203660, -0.270769838013866560, -0.270721705469604450, -0.270673572248538550, -0.270625438350788670, +-0.270577303776475210, -0.270529168525718070, -0.270481032598638430, -0.270432895995356190, -0.270384758715991270, -0.270336620760664950, -0.270288482129497020, -0.270240342822607890, +-0.270192202840117470, -0.270144062182147040, -0.270095920848816400, -0.270047778840245940, -0.269999636156555640, -0.269951492797866620, -0.269903348764298940, -0.269855204055972850, +-0.269807058673008360, -0.269758912615526590, -0.269710765883647560, -0.269662618477491680, -0.269614470397178730, -0.269566321642830060, -0.269518172214565640, -0.269470022112505310, +-0.269421871336770370, -0.269373719887480770, -0.269325567764756800, -0.269277414968718540, -0.269229261499487170, -0.269181107357182650, -0.269132952541925370, -0.269084797053835260, +-0.269036640893033590, -0.268988484059640260, -0.268940326553775810, -0.268892168375560070, -0.268844009525114340, -0.268795850002558620, -0.268747689808013220, -0.268699528941598210, +-0.268651367403434760, -0.268603205193642950, -0.268555042312343120, -0.268506878759655230, -0.268458714535700580, -0.268410549640599130, -0.268362384074470880, -0.268314217837437140, +-0.268266050929617810, -0.268217883351133330, -0.268169715102103800, -0.268121546182650330, -0.268073376592893040, -0.268025206332952290, -0.267977035402948090, -0.267928863803001740, +-0.267880691533233240, -0.267832518593763000, -0.267784344984711040, -0.267736170706198650, -0.267687995758345790, -0.267639820141273020, -0.267591643855100200, -0.267543466899948730, +-0.267495289275938570, -0.267447110983189800, -0.267398932021823690, -0.267350752391960210, -0.267302572093719830, -0.267254391127222660, -0.267206209492589890, -0.267158027189941580, +-0.267109844219398260, -0.267061660581079830, -0.267013476275107740, -0.266965291301601960, -0.266917105660682890, -0.266868919352470700, -0.266820732377086590, -0.266772544734650670, +-0.266724356425283360, -0.266676167449104770, -0.266627977806236200, -0.266579787496797670, -0.266531596520909190, -0.266483404878692210, -0.266435212570266700, -0.266387019595753170, +-0.266338825955271640, -0.266290631648943510, -0.266242436676888740, -0.266194241039227950, -0.266146044736081060, -0.266097847767569510, -0.266049650133813380, -0.266001451834933070, +-0.265953252871048760, -0.265905053242281700, -0.265856852948752000, -0.265808651990580180, -0.265760450367886310, -0.265712248080791750, -0.265664045129416600, -0.265615841513880850, +-0.265567637234305930, -0.265519432290811930, -0.265471226683519360, -0.265423020412548280, -0.265374813478020110, -0.265326605880054860, -0.265278397618773140, -0.265230188694294990, +-0.265181979106741740, -0.265133768856233630, -0.265085557942891010, -0.265037346366834130, -0.264989134128184310, -0.264940921227061640, -0.264892707663586640, -0.264844493437879470, +-0.264796278550061490, -0.264748063000252830, -0.264699846788574000, -0.264651629915145130, -0.264603412380087550, -0.264555194183521520, -0.264506975325567050, -0.264458755806345590, +-0.264410535625977220, -0.264362314784582500, -0.264314093282281560, -0.264265871119195860, -0.264217648295445470, -0.264169424811150910, -0.264121200666432410, -0.264072975861411320, +-0.264024750396207820, -0.263976524270942370, -0.263928297485735260, -0.263880070040707790, -0.263831841935980140, -0.263783613171672930, -0.263735383747906230, -0.263687153664801500, +-0.263638922922478870, -0.263590691521058520, -0.263542459460661900, -0.263494226741409100, -0.263445993363420730, -0.263397759326816970, -0.263349524631719180, -0.263301289278247640, +-0.263253053266522870, -0.263204816596665000, -0.263156579268795540, -0.263108341283034670, -0.263060102639502910, -0.263011863338320440, -0.262963623379608770, -0.262915382763488080, +-0.262867141490078890, -0.262818899559501440, -0.262770656971877130, -0.262722413727326190, -0.262674169825968810, -0.262625925267926390, -0.262577680053319220, -0.262529434182267820, +-0.262481187654892370, -0.262432940471314440, -0.262384692631654150, -0.262336444136032080, -0.262288194984568510, -0.262239945177384860, -0.262191694714601350, -0.262143443596338620, +-0.262095191822716840, -0.262046939393857540, -0.261998686309880880, -0.261950432570907500, -0.261902178177057580, -0.261853923128452680, -0.261805667425212940, -0.261757411067459090, +-0.261709154055311200, -0.261660896388890900, -0.261612638068318360, -0.261564379093713770, -0.261516119465198700, -0.261467859182893340, -0.261419598246918290, -0.261371336657393820, +-0.261323074414441470, -0.261274811518181440, -0.261226547968734350, -0.261178283766220430, -0.261130018910761260, -0.261081753402477080, -0.261033487241488500, -0.260985220427915720, +-0.260936952961880350, -0.260888684843502640, -0.260840416072903150, -0.260792146650202230, -0.260743876575521390, -0.260695605848980830, -0.260647334470700820, -0.260599062440802940, +-0.260550789759407380, -0.260502516426634800, -0.260454242442605570, -0.260405967807441130, -0.260357692521261790, -0.260309416584188210, -0.260261139996340650, -0.260212862757840670, +-0.260164584868808560, -0.260116306329364940, -0.260068027139630180, -0.260019747299725710, -0.259971466809771960, -0.259923185669889480, -0.259874903880198630, -0.259826621440820920, +-0.259778338351876690, -0.259730054613486190, -0.259681770225770990, -0.259633485188851320, -0.259585199502847970, -0.259536913167881190, -0.259488626184072530, -0.259440338551542300, +-0.259392050270411290, -0.259343761340799670, -0.259295471762829080, -0.259247181536619850, -0.259198890662292620, -0.259150599139967740, -0.259102306969766830, -0.259054014151810120, +-0.259005720686218350, -0.258957426573111880, -0.258909131812612270, -0.258860836404839870, -0.258812540349914910, -0.258764243647959020, -0.258715946299092500, -0.258667648303436190, +-0.258619349661110280, -0.258571050372236430, -0.258522750436934960, -0.258474449855326580, -0.258426148627531660, -0.258377846753671810, -0.258329544233867390, -0.258281241068239080, +-0.258232937256907210, -0.258184632799993430, -0.258136327697618070, -0.258088021949901940, -0.258039715556965250, -0.257991408518929770, -0.257943100835915710, -0.257894792508043920, +-0.257846483535434710, -0.257798173918209750, -0.257749863656489330, -0.257701552750393860, -0.257653241200044900, -0.257604929005562810, -0.257556616167068430, -0.257508302684682110, +-0.257459988558525420, -0.257411673788718760, -0.257363358375382930, -0.257315042318638280, -0.257266725618606470, -0.257218408275407820, -0.257170090289163160, -0.257121771659992840, +-0.257073452388018540, -0.257025132473360560, -0.256976811916139800, -0.256928490716476550, -0.256880168874492500, -0.256831846390308040, -0.256783523264043520, -0.256735199495820690, +-0.256686875085759770, -0.256638550033981730, -0.256590224340606850, -0.256541898005756830, -0.256493571029552060, -0.256445243412113390, -0.256396915153561170, -0.256348586254017130, +-0.256300256713601570, -0.256251926532435390, -0.256203595710638940, -0.256155264248333960, -0.256106932145640840, -0.256058599402680330, -0.256010266019572940, -0.255961931996440300, +-0.255913597333402850, -0.255865262030580910, -0.255816926088096310, -0.255768589506069400, -0.255720252284620970, -0.255671914423871490, -0.255623575923942690, -0.255575236784954920, +-0.255526897007029070, -0.255478556590285510, -0.255430215534846070, -0.255381873840831000, -0.255333531508361300, -0.255285188537557330, -0.255236844928540820, -0.255188500681432170, +-0.255140155796352300, -0.255091810273421650, -0.255043464112761850, -0.254995117314493370, -0.254946769878737160, -0.254898421805613560, -0.254850073095244320, -0.254801723747749900, +-0.254753373763250750, -0.254705023141868600, -0.254656671883723930, -0.254608319988937510, -0.254559967457629930, -0.254511614289922810, -0.254463260485936650, -0.254414906045792370, +-0.254366550969610360, -0.254318195257512420, -0.254269838909619020, -0.254221481926050990, -0.254173124306928840, -0.254124766052374330, -0.254076407162507840, -0.254028047637450400, +-0.253979687477322410, -0.253931326682245610, -0.253882965252340440, -0.253834603187727490, -0.253786240488528440, -0.253737877154863790, -0.253689513186854450, -0.253641148584620950, +-0.253592783348284940, -0.253544417477966970, -0.253496050973788020, -0.253447683835868460, -0.253399316064330140, -0.253350947659293500, -0.253302578620879510, -0.253254208949208640, +-0.253205838644402710, -0.253157467706582150, -0.253109096135867910, -0.253060723932380550, -0.253012351096241760, -0.252963977627572110, -0.252915603526492060, -0.252867228793123460, +-0.252818853427586810, -0.252770477430002970, -0.252722100800492570, -0.252673723539177330, -0.252625345646177780, -0.252576967121614810, -0.252528587965609060, -0.252480208178282260, +-0.252431827759754920, -0.252383446710148010, -0.252335065029582030, -0.252286682718178890, -0.252238299776058990, -0.252189916203343360, -0.252141532000152490, -0.252093147166608240, +-0.252044761702831130, -0.251996375608941670, -0.251947988885061700, -0.251899601531311750, -0.251851213547812810, -0.251802824934685370, -0.251754435692051360, -0.251706045820031200, +-0.251657655318745950, -0.251609264188316140, -0.251560872428863600, -0.251512480040508910, -0.251464087023372970, -0.251415693377576410, -0.251367299103241020, -0.251318904200487410, +-0.251270508669436510, -0.251222112510208930, -0.251173715722926520, -0.251125318307709790, -0.251076920264679760, -0.251028521593957000, -0.250980122295663410, -0.250931722369919450, +-0.250883321816845810, -0.250834920636564260, -0.250786518829195390, -0.250738116394860270, -0.250689713333679400, -0.250641309645774690, -0.250592905331266710, -0.250544500390276480, +-0.250496094822924560, -0.250447688629332810, -0.250399281809621840, -0.250350874363912680, -0.250302466292325890, -0.250254057594983370, -0.250205648272005750, -0.250157238323513940, +-0.250108827749628670, -0.250060416550471680, -0.250012004726163690, -0.249963592276825300, -0.249915179202578300, -0.249866765503543390, -0.249818351179841550, -0.249769936231593410, +-0.249721520658920840, -0.249673104461944490, -0.249624687640785350, -0.249576270195564110, -0.249527852126402580, -0.249479433433421440, -0.249431014116741710, -0.249382594176484010, +-0.249334173612770270, -0.249285752425721100, -0.249237330615457530, -0.249188908182100210, -0.249140485125771060, -0.249092061446590680, -0.249043637144679720, -0.248995212220160110, +-0.248946786673152450, -0.248898360503777840, -0.248849933712156880, -0.248801506298411550, -0.248753078262662440, -0.248704649605030610, -0.248656220325636750, -0.248607790424602760, +-0.248559359902049300, -0.248510928758097440, -0.248462496992867820, -0.248414064606482410, -0.248365631599061800, -0.248317197970727150, -0.248268763721599060, -0.248220328851799480, +-0.248171893361449100, -0.248123457250668980, -0.248075020519579780, -0.248026583168303450, -0.247978145196960680, -0.247929706605672100, -0.247881267394559710, -0.247832827563744110, +-0.247784387113346470, -0.247735946043487420, -0.247687504354288960, -0.247639062045871720, -0.247590619118356840, -0.247542175571864950, -0.247493731406518090, -0.247445286622436870, +-0.247396841219742450, -0.247348395198555500, -0.247299948558997980, -0.247251501301190580, -0.247203053425254450, -0.247154604931310250, -0.247106155819479980, -0.247057706089884280, +-0.247009255742643930, -0.246960804777880850, -0.246912353195715750, -0.246863900996269790, -0.246815448179663640, -0.246766994746019290, -0.246718540695457460, -0.246670086028099260, +-0.246621630744065430, -0.246573174843477960, -0.246524718326457560, -0.246476261193125350, -0.246427803443602040, -0.246379345078009680, -0.246330886096468940, -0.246282426499101010, +-0.246233966286026560, -0.246185505457367640, -0.246137044013244930, -0.246088581953779200, -0.246040119279092450, -0.245991655989305390, -0.245943192084539190, -0.245894727564914590, +-0.245846262430553600, -0.245797796681576950, -0.245749330318105810, -0.245700863340260920, -0.245652395748164280, -0.245603927541936660, -0.245555458721699230, -0.245506989287572720, +-0.245458519239679180, -0.245410048578139330, -0.245361577303074340, -0.245313105414605020, -0.245264632912853330, -0.245216159797940060, -0.245167686069986400, -0.245119211729113110, +-0.245070736775442190, -0.245022261209094460, -0.244973785030190630, -0.244925308238852750, -0.244876830835201620, -0.244828352819358410, -0.244779874191443900, -0.244731394951580110, +-0.244682915099887850, -0.244634434636488320, -0.244585953561502230, -0.244537471875051700, -0.244488989577257510, -0.244440506668240850, -0.244392023148122470, -0.244343539017024460, +-0.244295054275067620, -0.244246568922373150, -0.244198082959061810, -0.244149596385255680, -0.244101109201075580, -0.244052621406642300, -0.244004133002077850, -0.243955643987503110, +-0.243907154363039220, -0.243858664128807050, -0.243810173284928630, -0.243761681831524770, -0.243713189768716730, -0.243664697096625250, -0.243616203815372500, -0.243567709925079200, +-0.243519215425866660, -0.243470720317855630, -0.243422224601168250, -0.243373728275925270, -0.243325231342248010, -0.243276733800257220, -0.243228235650075040, -0.243179736891822260, +-0.243131237525619710, -0.243082737551589490, -0.243034236969852440, -0.242985735780529790, -0.242937233983742370, -0.242888731579612300, -0.242840228568260370, -0.242791724949807910, +-0.242743220724375680, -0.242694715892085850, -0.242646210453059230, -0.242597704407417070, -0.242549197755280220, -0.242500690496770810, -0.242452182632009680, -0.242403674161118100, +-0.242355165084216890, -0.242306655401428210, -0.242258145112872860, -0.242209634218671750, -0.242161122718946960, -0.242112610613819390, -0.242064097903410270, -0.242015584587840500, +-0.241967070667232190, -0.241918556141706180, -0.241870041011383820, -0.241821525276385900, -0.241773008936834590, -0.241724491992850790, -0.241675974444555740, -0.241627456292070300, +-0.241578937535516680, -0.241530418175015720, -0.241481898210688720, -0.241433377642656520, -0.241384856471041300, -0.241336334695963970, -0.241287812317545790, -0.241239289335907630, +-0.241190765751171710, -0.241142241563458870, -0.241093716772889960, -0.241045191379587210, -0.240996665383671510, -0.240948138785264110, -0.240899611584485950, -0.240851083781459200, +-0.240802555376304710, -0.240754026369143860, -0.240705496760097500, -0.240656966549287840, -0.240608435736835740, -0.240559904322862560, -0.240511372307489200, -0.240462839690837840, +-0.240414306473029390, -0.240365772654185160, -0.240317238234426050, -0.240268703213874310, -0.240220167592650800, -0.240171631370876440, -0.240123094548673420, -0.240074557126162660, +-0.240026019103465520, -0.239977480480702910, -0.239928941257997020, -0.239880401435468770, -0.239831861013239530, -0.239783319991430180, -0.239734778370162990, -0.239686236149558860, +-0.239637693329739110, -0.239589149910824720, -0.239540605892937880, -0.239492061276199510, -0.239443516060731030, -0.239394970246653290, -0.239346423834088550, -0.239297876823157780, +-0.239249329213981870, -0.239200781006683070, -0.239152232201382320, -0.239103682798200990, -0.239055132797260010, -0.239006582198681650, -0.238958031002586810, -0.238909479209096910, +-0.238860926818332870, -0.238812373830416950, -0.238763820245470100, -0.238715266063613710, -0.238666711284968690, -0.238618155909657350, -0.238569599937800610, -0.238521043369519880, +-0.238472486204936110, -0.238423928444171540, -0.238375370087347160, -0.238326811134584370, -0.238278251586004100, -0.238229691441728620, -0.238181130701878930, -0.238132569366575980, +-0.238084007435942050, -0.238035444910098090, -0.237986881789165520, -0.237938318073265320, -0.237889753762519750, -0.237841188857049800, -0.237792623356976870, -0.237744057262421950, +-0.237695490573507310, -0.237646923290353970, -0.237598355413083300, -0.237549786941816300, -0.237501217876675300, -0.237452648217781230, -0.237404077965255560, -0.237355507119219240, +-0.237306935679794610, -0.237258363647102620, -0.237209791021264300, -0.237161217802401900, -0.237112643990636500, -0.237064069586089470, -0.237015494588881850, -0.236966918999135910, +-0.236918342816972660, -0.236869766042513590, -0.236821188675879650, -0.236772610717193160, -0.236724032166575170, -0.236675453024147080, -0.236626873290029930, -0.236578292964346040, +-0.236529712047216400, -0.236481130538762490, -0.236432548439105330, -0.236383965748367230, -0.236335382466669190, -0.236286798594132290, -0.236238214130878810, -0.236189629077029810, +-0.236141043432706730, -0.236092457198030600, -0.236043870373123770, -0.235995282958107260, -0.235946694953102530, -0.235898106358230640, -0.235849517173613910, -0.235800927399373420, +-0.235752337035630590, -0.235703746082506470, -0.235655154540123420, -0.235606562408602500, -0.235557969688065170, -0.235509376378632480, -0.235460782480426790, -0.235412187993569140, +-0.235363592918180600, -0.235314997254383480, -0.235266401002298900, -0.235217804162048290, -0.235169206733752740, -0.235120608717534620, -0.235072010113514970, -0.235023410921815310, +-0.234974811142556670, -0.234926210775861430, -0.234877609821850690, -0.234829008280645900, -0.234780406152368170, -0.234731803437139840, -0.234683200135082040, -0.234634596246316220, +-0.234585991770963450, -0.234537386709146170, -0.234488781060985390, -0.234440174826602680, -0.234391568006119100, -0.234342960599657040, -0.234294352607337550, -0.234245744029281780, +-0.234197134865612060, -0.234148525116449510, -0.234099914781915660, -0.234051303862131580, -0.234002692357219650, -0.233954080267301020, -0.233905467592497200, -0.233856854332929240, +-0.233808240488719590, -0.233759626059989340, -0.233711011046860040, -0.233662395449452780, -0.233613779267889950, -0.233565162502292670, -0.233516545152782500, -0.233467927219480510, +-0.233419308702509150, -0.233370689601989530, -0.233322069918042750, -0.233273449650791190, -0.233224828800356050, -0.233176207366858820, -0.233127585350420640, -0.233078962751163940, +-0.233030339569209820, -0.232981715804679860, -0.232933091457695170, -0.232884466528378190, -0.232835841016850040, -0.232787214923232290, -0.232738588247646070, -0.232689960990213800, +-0.232641333151056650, -0.232592704730296140, -0.232544075728053470, -0.232495446144451000, -0.232446815979609950, -0.232398185233651410, -0.232349553906697870, -0.232300921998870400, +-0.232252289510290640, -0.232203656441079740, -0.232155022791360130, -0.232106388561252960, -0.232057753750879810, -0.232009118360361840, -0.231960482389821530, -0.231911845839379990, +-0.231863208709158860, -0.231814570999279240, -0.231765932709863650, -0.231717293841033230, -0.231668654392909570, -0.231620014365613830, -0.231571373759268510, -0.231522732573994750, +-0.231474090809914130, -0.231425448467147880, -0.231376805545818440, -0.231328162046046980, -0.231279517967954680, -0.231230873311664030, -0.231182228077296190, -0.231133582264972770, +-0.231084935874814960, -0.231036288906945250, -0.230987641361484840, -0.230938993238555300, -0.230890344538277840, -0.230841695260774970, -0.230793045406167850, -0.230744394974578130, +-0.230695743966126960, -0.230647092380936890, -0.230598440219129090, -0.230549787480825190, -0.230501134166146370, -0.230452480275215170, -0.230403825808152750, -0.230355170765080330, +-0.230306515146120440, -0.230257858951394250, -0.230209202181023420, -0.230160544835129130, -0.230111886913833940, -0.230063228417259010, -0.230014569345526030, -0.229965909698756160, +-0.229917249477071980, -0.229868588680594650, -0.229819927309445870, -0.229771265363746840, -0.229722602843620060, -0.229673939749186790, -0.229625276080568680, -0.229576611837886910, +-0.229527947021264080, -0.229479281630821370, -0.229430615666680020, -0.229381949128962560, -0.229333282017790240, -0.229284614333284700, -0.229235946075567220, -0.229187277244760290, +-0.229138607840985160, -0.229089937864363520, -0.229041267315016590, -0.228992596193066940, -0.228943924498635790, -0.228895252231844840, -0.228846579392815300, -0.228797905981669770, +-0.228749231998529480, -0.228700557443516080, -0.228651882316750880, -0.228603206618356400, -0.228554530348453910, -0.228505853507164650, -0.228457176094611190, -0.228408498110914790, +-0.228359819556197140, -0.228311140430579510, -0.228262460734184490, -0.228213780467133280, -0.228165099629547650, -0.228116418221548820, -0.228067736243259380, -0.228019053694800610, +-0.227970370576294180, -0.227921686887861410, -0.227873002629624840, -0.227824317801705780, -0.227775632404225940, -0.227726946437306570, -0.227678259901070240, -0.227629572795638310, +-0.227580885121132420, -0.227532196877673870, -0.227483508065385280, -0.227434818684387920, -0.227386128734803100, -0.227337438216753370, -0.227288747130360040, -0.227240055475744830, +-0.227191363253029080, -0.227142670462335330, -0.227093977103784930, -0.227045283177499560, -0.226996588683600560, -0.226947893622210520, -0.226899197993450760, -0.226850501797442980, +-0.226801805034308520, -0.226753107704170010, -0.226704409807148700, -0.226655711343366370, -0.226607012312944330, -0.226558312716005210, -0.226509612552670270, -0.226460911823060910, +-0.226412210527299680, -0.226363508665507920, -0.226314806237807390, -0.226266103244319420, -0.226217399685166630, -0.226168695560470310, -0.226119990870352280, -0.226071285614933840, +-0.226022579794337620, -0.225973873408684940, -0.225925166458097570, -0.225876458942696870, -0.225827750862605450, -0.225779042217944650, -0.225730333008836240, -0.225681623235401560, +-0.225632912897763270, -0.225584201996042680, -0.225535490530361180, -0.225486778500841370, -0.225438065907604600, -0.225389352750772680, -0.225340639030466940, -0.225291924746810030, +-0.225243209899923330, -0.225194494489928590, -0.225145778516947200, -0.225097061981101770, -0.225048344882513710, -0.224999627221304760, -0.224950908997596320, -0.224902190211511060, +-0.224853470863170310, -0.224804750952695860, -0.224756030480209150, -0.224707309445832750, -0.224658587849688090, -0.224609865691896980, -0.224561142972580760, -0.224512419691862110, +-0.224463695849862420, -0.224414971446703050, -0.224366246482506660, -0.224317520957394710, -0.224268794871488930, -0.224220068224910720, -0.224171341017782770, -0.224122613250226480, +-0.224073884922363660, -0.224025156034315690, -0.223976426586205260, -0.223927696578153780, -0.223878966010283040, -0.223830234882714450, -0.223781503195570720, -0.223732770948973230, +-0.223684038143043800, -0.223635304777903860, -0.223586570853676090, -0.223537836370481860, -0.223489101328442630, -0.223440365727681080, -0.223391629568318620, -0.223342892850477090, +-0.223294155574277900, -0.223245417739843720, -0.223196679347296030, -0.223147940396756620, -0.223099200888346950, -0.223050460822189680, -0.223001720198406280, -0.222952979017118580, +-0.222904237278447990, -0.222855494982517250, -0.222806752129447750, -0.222758008719361380, -0.222709264752379570, -0.222660520228625040, -0.222611775148219170, -0.222563029511283460, +-0.222514283317940600, -0.222465536568312030, -0.222416789262519620, -0.222368041400684810, -0.222319292982930320, -0.222270544009377600, -0.222221794480148530, -0.222173044395364530, +-0.222124293755148360, -0.222075542559621450, -0.222026790808905670, -0.221978038503122500, -0.221929285642394670, -0.221880532226843620, -0.221831778256591230, -0.221783023731758950, +-0.221734268652469590, -0.221685513018844510, -0.221636756831005250, -0.221588000089074500, -0.221539242793173770, -0.221490484943424940, -0.221441726539949450, -0.221392967582870080, +-0.221344208072308280, -0.221295448008385990, -0.221246687391224630, -0.221197926220946970, -0.221149164497674520, -0.221100402221529160, -0.221051639392632340, -0.221002876011106850, +-0.220954112077074190, -0.220905347590656250, -0.220856582551974490, -0.220807816961151730, -0.220759050818309400, -0.220710284123569470, -0.220661516877053400, -0.220612749078883950, +-0.220563980729182620, -0.220515211828070930, -0.220466442375671650, -0.220417672372106240, -0.220368901817496660, -0.220320130711964380, -0.220271359055632220, -0.220222586848621640, +-0.220173814091054630, -0.220125040783052620, -0.220076266924738470, -0.220027492516233630, -0.219978717557660080, -0.219929942049139270, -0.219881165990794050, -0.219832389382745940, +-0.219783612225116830, -0.219734834518028280, -0.219686056261603040, -0.219637277455962680, -0.219588498101228710, -0.219539718197523910, -0.219490937744969810, -0.219442156743688390, +-0.219393375193801120, -0.219344593095430830, -0.219295810448699090, -0.219247027253727830, -0.219198243510638550, -0.219149459219554090, -0.219100674380595990, -0.219051888993886220, +-0.219003103059546260, -0.218954316577699010, -0.218905529548465950, -0.218856741971969050, -0.218807953848329910, -0.218759165177671270, -0.218710375960114750, -0.218661586195781830, +-0.218612795884795400, -0.218564005027276960, -0.218515213623348530, -0.218466421673131630, -0.218417629176749090, -0.218368836134322510, -0.218320042545973810, -0.218271248411824580, +-0.218222453731997670, -0.218173658506614600, -0.218124862735797400, -0.218076066419667620, -0.218027269558348110, -0.217978472151960400, -0.217929674200626530, -0.217880875704468040, +-0.217832076663607790, -0.217783277078167360, -0.217734476948268720, -0.217685676274033460, -0.217636875055584430, -0.217588073293043220, -0.217539270986531420, -0.217490468136171840, +-0.217441664742086120, -0.217392860804396210, -0.217344056323223730, -0.217295251298691540, -0.217246445730921220, -0.217197639620034800, -0.217148832966153840, -0.217100025769401210, +-0.217051218029898550, -0.217002409747767830, -0.216953600923130650, -0.216904791556109890, -0.216855981646827150, -0.216807171195404490, -0.216758360201963430, -0.216709548666626920, +-0.216660736589516540, -0.216611923970753910, -0.216563110810461870, -0.216514297108762050, -0.216465482865776490, -0.216416668081626800, -0.216367852756435890, -0.216319036890325310, +-0.216270220483417150, -0.216221403535833020, -0.216172586047695820, -0.216123768019127140, -0.216074949450249050, -0.216026130341183150, -0.215977310692052340, -0.215928490502978270, +-0.215879669774082960, -0.215830848505488060, -0.215782026697316470, -0.215733204349689790, -0.215684381462729700, -0.215635558036559070, -0.215586734071299550, -0.215537909567073190, +-0.215489084524001620, -0.215440258942207780, -0.215391432821813310, -0.215342606162940240, -0.215293778965710200, -0.215244951230246170, -0.215196122956669760, -0.215147294145103060, +-0.215098464795667660, -0.215049634908486550, -0.215000804483681330, -0.214951973521374130, -0.214903142021686560, -0.214854309984741560, -0.214805477410660780, -0.214756644299565870, +-0.214707810651579790, -0.214658976466824190, -0.214610141745421120, -0.214561306487492300, -0.214512470693160620, -0.214463634362547780, -0.214414797495775860, -0.214365960092966490, +-0.214317122154242670, -0.214268283679726030, -0.214219444669538680, -0.214170605123802320, -0.214121765042639860, -0.214072924426172980, -0.214024083274523800, -0.213975241587813950, +-0.213926399366166450, -0.213877556609702950, -0.213828713318545580, -0.213779869492815970, -0.213731025132637110, -0.213682180238130710, -0.213633334809418430, -0.213584488846623230, +-0.213535642349866800, -0.213486795319271280, -0.213437947754958330, -0.213389099657050970, -0.213340251025670840, -0.213291401860940060, -0.213242552162980380, -0.213193701931914730, +-0.213144851167864830, -0.213095999870952820, -0.213047148041300340, -0.212998295679030450, -0.212949442784264810, -0.212900589357125580, -0.212851735397734440, -0.212802880906214380, +-0.212754025882687130, -0.212705170327274370, -0.212656314240099120, -0.212607457621283110, -0.212558600470948430, -0.212509742789216830, -0.212460884576211290, -0.212412025832053540, +-0.212363166556865740, -0.212314306750769570, -0.212265446413888090, -0.212216585546342980, -0.212167724148256410, -0.212118862219750100, -0.212069999760947060, -0.212021136771969020, +-0.211972273252938160, -0.211923409203976150, -0.211874544625206080, -0.211825679516749630, -0.211776813878728540, -0.211727947711265880, -0.211679081014483320, -0.211630213788503080, +-0.211581346033446860, -0.211532477749437700, -0.211483608936597370, -0.211434739595047990, -0.211385869724911360, -0.211336999326310480, -0.211288128399367090, -0.211239256944203370, +-0.211190384960941090, -0.211141512449703280, -0.211092639410611680, -0.211043765843788510, -0.210994891749355460, -0.210946017127435630, -0.210897141978150740, -0.210848266301623010, +-0.210799390097974190, -0.210750513367327310, -0.210701636109804140, -0.210652758325526460, -0.210603880014617330, -0.210555001177198470, -0.210506121813392150, -0.210457241923320050, +-0.210408361507105290, -0.210359480564869640, -0.210310599096735270, -0.210261717102823990, -0.210212834583258850, -0.210163951538161610, -0.210115067967654500, -0.210066183871859270, +-0.210017299250899010, -0.209968414104895530, -0.209919528433971020, -0.209870642238247220, -0.209821755517847260, -0.209772868272892930, -0.209723980503505990, -0.209675092209809510, +-0.209626203391925340, -0.209577314049975620, -0.209528424184082210, -0.209479533794368150, -0.209430642880955280, -0.209381751443965790, -0.209332859483521480, -0.209283966999745470, +-0.209235073992759530, -0.209186180462685920, -0.209137286409646410, -0.209088391833764130, -0.209039496735160840, -0.208990601113958840, -0.208941704970279890, -0.208892808304247140, +-0.208843911115982330, -0.208795013405607330, -0.208746115173245230, -0.208697216419017840, -0.208648317143047410, -0.208599417345455730, -0.208550517026365980, -0.208501616185899910, +-0.208452714824179820, -0.208403812941327480, -0.208354910537466080, -0.208306007612717360, -0.208257104167203670, -0.208208200201046740, -0.208159295714369780, -0.208110390707294560, +-0.208061485179943360, -0.208012579132438010, -0.207963672564901670, -0.207914765477456130, -0.207865857870223240, -0.207816949743326150, -0.207768041096886680, -0.207719131931027120, +-0.207670222245869280, -0.207621312041536330, -0.207572401318150110, -0.207523490075832870, -0.207474578314706480, -0.207425666034894070, -0.207376753236517470, -0.207327839919699030, +-0.207278926084560530, -0.207230011731225160, -0.207181096859814760, -0.207132181470451620, -0.207083265563257600, -0.207034349138355830, -0.206985432195868210, -0.206936514735916980, +-0.206887596758624060, -0.206838678264112560, -0.206789759252504370, -0.206740839723921350, -0.206691919678486660, -0.206642999116322200, -0.206594078037550200, -0.206545156442292600, +-0.206496234330672520, -0.206447311702811890, -0.206398388558832940, -0.206349464898857610, -0.206300540723009050, -0.206251616031409120, -0.206202690824180160, -0.206153765101444040, +-0.206104838863323950, -0.206055912109941760, -0.206006984841419770, -0.205958057057879920, -0.205909128759445340, -0.205860199946237940, -0.205811270618379590, -0.205762340775993540, +-0.205713410419201600, -0.205664479548126140, -0.205615548162889040, -0.205566616263613530, -0.205517683850421460, -0.205468750923435190, -0.205419817482776600, -0.205370883528568910, +-0.205321949060934010, -0.205273014079994240, -0.205224078585871490, -0.205175142578688990, -0.205126206058568630, -0.205077269025632750, -0.205028331480003270, -0.204979393421803380, +-0.204930454851155020, -0.204881515768180090, -0.204832576173001800, -0.204783636065742070, -0.204734695446523260, -0.204685754315467260, -0.204636812672697320, -0.204587870518335320, +-0.204538927852503690, -0.204489984675324280, -0.204441040986920340, -0.204392096787413820, -0.204343152076927050, -0.204294206855581940, -0.204245261123501780, -0.204196314880808440, +-0.204147368127624320, -0.204098420864071370, -0.204049473090272770, -0.204000524806350500, -0.203951576012426920, -0.203902626708623970, -0.203853676895064890, -0.203804726571871600, +-0.203755775739166090, -0.203706824397071550, -0.203657872545709940, -0.203608920185203680, -0.203559967315674660, -0.203511013937246160, -0.203462060050040140, -0.203413105654178940, +-0.203364150749784590, -0.203315195336980250, -0.203266239415887950, -0.203217282986630030, -0.203168326049328500, -0.203119368604106560, -0.203070410651086220, -0.203021452190389830, +-0.202972493222139390, -0.202923533746458130, -0.202874573763468070, -0.202825613273291130, -0.202776652276050570, -0.202727690771868420, -0.202678728760867010, -0.202629766243168360, +-0.202580803218895710, -0.202531839688171070, -0.202482875651116830, -0.202433911107854970, -0.202384946058508740, -0.202335980503200170, -0.202287014442051630, -0.202238047875185150, +-0.202189080802723960, -0.202140113224790090, -0.202091145141505920, -0.202042176552993450, -0.201993207459375960, -0.201944237860775480, -0.201895267757313950, -0.201846297149114700, +-0.201797326036299710, -0.201748354418991390, -0.201699382297311770, -0.201650409671384120, -0.201601436541330450, -0.201552462907273160, -0.201503488769334300, -0.201454514127637150, +-0.201405538982303730, -0.201356563333456450, -0.201307587181217330, -0.201258610525709670, -0.201209633367055500, -0.201160655705377220, -0.201111677540796870, -0.201062698873437780, +-0.201013719703421940, -0.200964740030871360, -0.200915759855909370, -0.200866779178657970, -0.200817797999239630, -0.200768816317776350, -0.200719834134391480, -0.200670851449207020, +-0.200621868262345400, -0.200572884573928720, -0.200523900384080240, -0.200474915692922030, -0.200425930500576500, -0.200376944807165720, -0.200327958612813020, -0.200278971917640440, +-0.200229984721770390, -0.200180997025324990, -0.200132008828427490, -0.200083020131200000, -0.200034030933764930, -0.199985041236244360, -0.199936051038761640, -0.199887060341438770, +-0.199838069144397830, -0.199789077447762140, -0.199740085251653770, -0.199691092556195160, -0.199642099361508420, -0.199593105667716850, -0.199544111474942500, -0.199495116783307890, +-0.199446121592935070, -0.199397125903947340, -0.199348129716466820, -0.199299133030615970, -0.199250135846516850, -0.199201138164292830, -0.199152139984065970, -0.199103141305958740, +-0.199054142130093260, -0.199005142456592820, -0.198956142285579530, -0.198907141617175460, -0.198858140451503990, -0.198809138788687140, -0.198760136628847450, -0.198711133972106990, +-0.198662130818589130, -0.198613127168415950, -0.198564123021709920, -0.198515118378593170, -0.198466113239189060, -0.198417107603619660, -0.198368101472007510, -0.198319094844474660, +-0.198270087721144490, -0.198221080102139120, -0.198172071987581050, -0.198123063377592360, -0.198074054272296430, -0.198025044671815390, -0.197976034576271300, -0.197927023985787570, +-0.197878012900486260, -0.197829001320489920, -0.197779989245920630, -0.197730976676901820, -0.197681963613555580, -0.197632950056004400, -0.197583936004370440, -0.197534921458777050, +-0.197485906419346380, -0.197436890886200920, -0.197387874859462800, -0.197338858339255440, -0.197289841325700930, -0.197240823818921830, -0.197191805819040220, -0.197142787326179540, +-0.197093768340461880, -0.197044748862009820, -0.196995728890945440, -0.196946708427392150, -0.196897687471472130, -0.196848666023307420, -0.196799644083021500, -0.196750621650736480, +-0.196701598726574890, -0.196652575310658860, -0.196603551403111840, -0.196554527004055930, -0.196505502113613730, -0.196456476731907300, -0.196407450859060140, -0.196358424495194360, +-0.196309397640432510, -0.196260370294896710, -0.196211342458710440, -0.196162314131995810, -0.196113285314875400, -0.196064256007471350, -0.196015226209907080, -0.195966195922304740, +-0.195917165144786490, -0.195868133877475760, -0.195819102120494660, -0.195770069873965860, -0.195721037138011420, -0.195672003912754830, -0.195622970198318230, -0.195573935994824200, +-0.195524901302394890, -0.195475866121153780, -0.195426830451222970, -0.195377794292725120, -0.195328757645782340, -0.195279720510518090, -0.195230682887054560, -0.195181644775514310, +-0.195132606176019520, -0.195083567088693620, -0.195034527513658850, -0.194985487451037300, -0.194936446900952460, -0.194887405863526510, -0.194838364338882050, -0.194789322327141250, +-0.194740279828427560, -0.194691236842863190, -0.194642193370570700, -0.194593149411672330, -0.194544104966291490, -0.194495060034550390, -0.194446014616571660, -0.194396968712477440, +-0.194347922322391260, -0.194298875446435260, -0.194249828084732040, -0.194200780237403860, -0.194151731904574130, -0.194102683086365110, -0.194053633782898920, -0.194004583994299070, +-0.193955533720687770, -0.193906482962187650, -0.193857431718920890, -0.193808379991010970, -0.193759327778580100, -0.193710275081750930, -0.193661221900645610, -0.193612168235387680, +-0.193563114086099330, -0.193514059452903200, -0.193465004335921480, -0.193415948735277700, -0.193366892651094020, -0.193317836083493150, -0.193268779032597200, -0.193219721498529780, +-0.193170663481413040, -0.193121604981369650, -0.193072545998521810, -0.193023486532993030, -0.192974426584905550, -0.192925366154381550, -0.192876305241544590, -0.192827243846516870, +-0.192778181969421010, -0.192729119610379280, -0.192680056769515190, -0.192630993446950950, -0.192581929642809240, -0.192532865357212260, -0.192483800590283530, -0.192434735342145340, +-0.192385669612920280, -0.192336603402730620, -0.192287536711699900, -0.192238469539950330, -0.192189401887604580, -0.192140333754784900, -0.192091265141614790, -0.192042196048216540, +-0.191993126474712370, -0.191944056421225830, -0.191894985887879120, -0.191845914874794960, -0.191796843382095600, -0.191747771409904540, -0.191698698958344040, -0.191649626027536820, +-0.191600552617605090, -0.191551478728672400, -0.191502404360861020, -0.191453329514293640, -0.191404254189092520, -0.191355178385381160, -0.191306102103281860, -0.191257025342917330, +-0.191207948104409780, -0.191158870387882820, -0.191109792193458670, -0.191060713521259580, -0.191011634371409170, -0.190962554744029650, -0.190913474639243770, -0.190864394057173760, +-0.190815312997943190, -0.190766231461674350, -0.190717149448489910, -0.190668066958512180, -0.190618983991864720, -0.190569900548669820, -0.190520816629050130, -0.190471732233127970, +-0.190422647361026930, -0.190373562012869260, -0.190324476188777710, -0.190275389888874490, -0.190226303113283260, -0.190177215862126270, -0.190128128135526240, -0.190079039933605450, +-0.190029951256487500, -0.189980862104294660, -0.189931772477149240, -0.189882682375174830, -0.189833591798493710, -0.189784500747228610, -0.189735409221501810, -0.189686317221436950, +-0.189637224747156270, -0.189588131798782530, -0.189539038376438040, -0.189489944480246390, -0.189440850110329880, -0.189391755266811230, -0.189342659949812750, -0.189293564159458080, +-0.189244467895869490, -0.189195371159169730, -0.189146273949481110, -0.189097176266927240, -0.189048078111630410, -0.188998979483712970, -0.188949880383298520, -0.188900780810509340, +-0.188851680765468240, -0.188802580248297490, -0.188753479259120730, -0.188704377798060260, -0.188655275865238860, -0.188606173460778820, -0.188557070584803810, -0.188507967237436100, +-0.188458863418798470, -0.188409759129013250, -0.188360654368204070, -0.188311549136493260, -0.188262443434003580, -0.188213337260857340, -0.188164230617178210, -0.188115123503088480, +-0.188066015918710530, -0.188016907864167970, -0.187967799339583130, -0.187918690345078800, -0.187869580880777320, -0.187820470946802290, -0.187771360543276120, -0.187722249670321530, +-0.187673138328060870, -0.187624026516617830, -0.187574914236114690, -0.187525801486674280, -0.187476688268418930, -0.187427574581472300, -0.187378460425956740, -0.187329345801995010, +-0.187280230709709480, -0.187231115149223830, -0.187181999120660390, -0.187132882624141930, -0.187083765659790850, -0.187034648227730780, -0.186985530328084070, -0.186936411960973130, +-0.186887293126521580, -0.186838173824851820, -0.186789054056086590, -0.186739933820348310, -0.186690813117760650, -0.186641691948445930, -0.186592570312526990, -0.186543448210126170, +-0.186494325641367200, -0.186445202606372370, -0.186396079105264570, -0.186346955138166130, -0.186297830705200730, -0.186248705806490750, -0.186199580442159040, -0.186150454612327900, +-0.186101328317121090, -0.186052201556660940, -0.186003074331069860, -0.185953946640471520, -0.185904818484988330, -0.185855689864743070, -0.185806560779858160, -0.185757431230457290, +-0.185708301216662850, -0.185659170738597640, -0.185610039796384070, -0.185560908390145830, -0.185511776520005330, -0.185462644186085410, -0.185413511388508400, -0.185364378127398090, +-0.185315244402876810, -0.185266110215067420, -0.185216975564092310, -0.185167840450075200, -0.185118704873138500, -0.185069568833404610, -0.185020432330997210, -0.184971295366038760, +-0.184922157938652050, -0.184873020048959500, -0.184823881697084860, -0.184774742883150520, -0.184725603607279300, -0.184676463869593630, -0.184627323670217250, -0.184578183009272560, +-0.184529041886882430, -0.184479900303169240, -0.184430758258256750, -0.184381615752267330, -0.184332472785323910, -0.184283329357548850, -0.184234185469065920, -0.184185041119997510, +-0.184135896310466060, -0.184086751040595300, -0.184037605310507700, -0.183988459120326050, -0.183939312470172810, -0.183890165360171750, -0.183841017790445260, -0.183791869761116250, +-0.183742721272307120, -0.183693572324141600, -0.183644422916742180, -0.183595273050231680, -0.183546122724732560, -0.183496971940368600, -0.183447820697262180, -0.183398668995536220, +-0.183349516835313140, -0.183300364216716720, -0.183251211139869390, -0.183202057604894030, -0.183152903611913080, -0.183103749161050320, -0.183054594252428180, -0.183005438886169100, +-0.182956283062396890, -0.182907126781233940, -0.182857970042803210, -0.182808812847227110, -0.182759655194629390, -0.182710497085132570, -0.182661338518859460, -0.182612179495932610, +-0.182563020016475730, -0.182513860080611300, -0.182464699688462210, -0.182415538840150940, -0.182366377535801260, -0.182317215775535640, -0.182268053559477010, -0.182218890887747760, +-0.182169727760471740, -0.182120564177771390, -0.182071400139769220, -0.182022235646588980, -0.181973070698353140, -0.181923905295184620, -0.181874739437205890, -0.181825573124540780, +-0.181776406357311710, -0.181727239135641650, -0.181678071459653030, -0.181628903329469680, -0.181579734745214080, -0.181530565707009120, -0.181481396214977330, -0.181432226269242460, +-0.181383055869927060, -0.181333885017154000, -0.181284713711045790, -0.181235541951726250, -0.181186369739317840, -0.181137197073943070, -0.181088023955725740, -0.181038850384788370, +-0.180989676361253850, -0.180940501885244710, -0.180891326956884760, -0.180842151576296490, -0.180792975743602840, -0.180743799458926300, -0.180694622722390700, -0.180645445534118570, +-0.180596267894232800, -0.180547089802855940, -0.180497911260111780, -0.180448732266122850, -0.180399552821012080, -0.180350372924902000, -0.180301192577916440, -0.180252011780177880, +-0.180202830531809270, -0.180153648832933190, -0.180104466683673390, -0.180055284084152440, -0.180006101034492850, -0.179956917534818430, -0.179907733585251720, -0.179858549185915680, +-0.179809364336932810, -0.179760179038427000, -0.179710993290520730, -0.179661807093336980, -0.179612620446998270, -0.179563433351628440, -0.179514245807350040, -0.179465057814286010, +-0.179415869372558910, -0.179366680482292570, -0.179317491143609510, -0.179268301356632740, -0.179219111121484780, -0.179169920438289470, -0.179120729307169380, -0.179071537728247020, +-0.179022345701646240, -0.178973153227489610, -0.178923960305900100, -0.178874766937000250, -0.178825573120913910, -0.178776378857763650, -0.178727184147672440, -0.178677988990762810, +-0.178628793387158670, -0.178579597336982530, -0.178530400840357430, -0.178481203897405850, -0.178432006508251720, -0.178382808673017560, -0.178333610391826380, -0.178284411664800750, +-0.178235212492064530, -0.178186012873740280, -0.178136812809950560, -0.178087612300819210, -0.178038411346468860, -0.177989209947022500, -0.177940008102602630, -0.177890805813333220, +-0.177841603079336770, -0.177792399900736340, -0.177743196277654450, -0.177693992210215010, -0.177644787698540580, -0.177595582742754190, -0.177546377342978400, -0.177497171499337110, +-0.177447965211952910, -0.177398758480948770, -0.177349551306447310, -0.177300343688572390, -0.177251135627446630, -0.177201927123192600, -0.177152718175934170, -0.177103508785793950, +-0.177054298952894980, -0.177005088677359810, -0.176955877959312340, -0.176906666798875210, -0.176857455196171380, -0.176808243151323490, -0.176759030664455420, -0.176709817735689780, +-0.176660604365149600, -0.176611390552957460, -0.176562176299237290, -0.176512961604111670, -0.176463746467703660, -0.176414530890135840, -0.176365314871532120, -0.176316098412015120, +-0.176266881511707880, -0.176217664170733010, -0.176168446389214390, -0.176119228167274680, -0.176070009505036460, -0.176020790402623640, -0.175971570860158830, -0.175922350877765120, +-0.175873130455565070, -0.175823909593682660, -0.175774688292240470, -0.175725466551361540, -0.175676244371168520, -0.175627021751785320, -0.175577798693334590, -0.175528575195939340, +-0.175479351259722220, -0.175430126884807160, -0.175380902071316790, -0.175331676819374140, -0.175282451129101870, -0.175233225000623940, -0.175183998434062900, -0.175134771429541450, +-0.175085543987183540, -0.175036316107111730, -0.174987087789449130, -0.174937859034318380, -0.174888629841843450, -0.174839400212146890, -0.174790170145351860, -0.174740939641580970, +-0.174691708700958180, -0.174642477323606080, -0.174593245509647830, -0.174544013259205990, -0.174494780572404580, -0.174445547449366220, -0.174396313890213980, -0.174347079895070510, +-0.174297845464059800, -0.174248610597304450, -0.174199375294927160, -0.174150139557051860, -0.174100903383801210, -0.174051666775298290, -0.174002429731665800, -0.173953192253027630, +-0.173903954339506510, -0.173854715991225480, -0.173805477208307250, -0.173756237990875750, -0.173706998339053680, -0.173657758252964090, -0.173608517732729640, -0.173559276778474380, +-0.173510035390320920, -0.173460793568392360, -0.173411551312811360, -0.173362308623701940, -0.173313065501186750, -0.173263821945388890, -0.173214577956431050, -0.173165333534437190, +-0.173116088679530020, -0.173066843391832180, -0.173017597671467650, -0.172968351518559130, -0.172919104933229730, -0.172869857915602170, -0.172820610465800360, -0.172771362583947040, +-0.172722114270165290, -0.172672865524577830, -0.172623616347308660, -0.172574366738480450, -0.172525116698216300, -0.172475866226638940, -0.172426615323872350, -0.172377363990039220, +-0.172328112225262680, -0.172278860029665410, -0.172229607403371430, -0.172180354346503440, -0.172131100859184120, -0.172081846941537500, -0.172032592593686250, -0.171983337815753530, +-0.171934082607862030, -0.171884826970135740, -0.171835570902697380, -0.171786314405670100, -0.171737057479176610, -0.171687800123340920, -0.171638542338285710, -0.171589284124134160, +-0.171540025481008940, -0.171490766409034100, -0.171441506908332380, -0.171392246979026860, -0.171342986621240280, -0.171293725835096670, -0.171244464620718770, -0.171195202978229240, +-0.171145940907752180, -0.171096678409410230, -0.171047415483326610, -0.170998152129623990, -0.170948888348426450, -0.170899624139856680, -0.170850359504037850, -0.170801094441092680, +-0.170751828951145210, -0.170702563034318160, -0.170653296690734730, -0.170604029920517600, -0.170554762723790830, -0.170505495100677170, -0.170456227051299760, -0.170406958575781340, +-0.170357689674245970, -0.170308420346816400, -0.170259150593615290, -0.170209880414766780, -0.170160609810393550, -0.170111338780618820, -0.170062067325565280, -0.170012795445357020, +-0.169963523140116760, -0.169914250409967720, -0.169864977255032580, -0.169815703675435470, -0.169766429671299070, -0.169717155242746610, -0.169667880389900830, -0.169618605112885790, +-0.169569329411824200, -0.169520053286839330, -0.169470776738053890, -0.169421499765591930, -0.169372222369576190, -0.169322944550129940, -0.169273666307375860, -0.169224387641438070, +-0.169175108552439310, -0.169125829040502360, -0.169076549105751230, -0.169027268748308760, -0.168977987968298100, -0.168928706765842070, -0.168879425141064660, -0.168830143094088720, +-0.168780860625037420, -0.168731577734033520, -0.168682294421201110, -0.168633010686662980, -0.168583726530542320, -0.168534441952961880, -0.168485156954045810, -0.168435871533916840, +-0.168386585692698180, -0.168337299430512620, -0.168288012747484260, -0.168238725643735850, -0.168189438119390190, -0.168140150174571370, -0.168090861809402190, -0.168041573024005850, +-0.167992283818505140, -0.167942994193024160, -0.167893704147685700, -0.167844413682612960, -0.167795122797928770, -0.167745831493757190, -0.167696539770221030, -0.167647247627443540, +-0.167597955065547500, -0.167548662084656990, -0.167499368684894820, -0.167450074866384250, -0.167400780629248040, -0.167351485973610330, -0.167302190899593890, -0.167252895407321550, +-0.167203599496917400, -0.167154303168504240, -0.167105006422205330, -0.167055709258143480, -0.167006411676442780, -0.166957113677226070, -0.166907815260616540, -0.166858516426737070, +-0.166809217175711730, -0.166759917507663340, -0.166710617422715170, -0.166661316920990010, -0.166612016002612020, -0.166562714667703950, -0.166513412916389130, -0.166464110748790310, +-0.166414808165031680, -0.166365505165236020, -0.166316201749526580, -0.166266897918026210, -0.166217593670859030, -0.166168289008147870, -0.166118983930015560, -0.166069678436586210, +-0.166020372527982660, -0.165971066204328190, -0.165921759465745610, -0.165872452312359090, -0.165823144744291410, -0.165773836761665900, -0.165724528364605330, -0.165675219553233890, +-0.165625910327674400, -0.165576600688050140, -0.165527290634483930, -0.165477980167099940, -0.165428669286021010, -0.165379357991370380, -0.165330046283270940, -0.165280734161846830, +-0.165231421627220850, -0.165182108679515910, -0.165132795318856110, -0.165083481545364340, -0.165034167359163850, -0.164984852760377530, -0.164935537749129500, -0.164886222325542620, +-0.164836906489740200, -0.164787590241845060, -0.164738273581981400, -0.164688956510272020, -0.164639639026840280, -0.164590321131808990, -0.164541002825302350, -0.164491684107443190, +-0.164442364978354850, -0.164393045438160130, -0.164343725486983230, -0.164294405124947030, -0.164245084352174390, -0.164195763168789450, -0.164146441574915120, -0.164097119570674690, +-0.164047797156191000, -0.163998474331588260, -0.163949151096989350, -0.163899827452517580, -0.163850503398295770, -0.163801178934448150, -0.163751854061097570, -0.163702528778367380, +-0.163653203086380400, -0.163603876985260880, -0.163554550475131650, -0.163505223556116050, -0.163455896228336950, -0.163406568491918560, -0.163357240346983730, -0.163307911793655390, +-0.163258582832057690, -0.163209253462313520, -0.163159923684546240, -0.163110593498878690, -0.163061262905435100, -0.163011931904338350, -0.162962600495711790, -0.162913268679678290, +-0.162863936456362050, -0.162814603825885950, -0.162765270788373360, -0.162715937343947150, -0.162666603492731540, -0.162617269234849400, -0.162567934570424120, -0.162518599499578530, +-0.162469264022436920, -0.162419928139122120, -0.162370591849757500, -0.162321255154465970, -0.162271918053371740, -0.162222580546597720, -0.162173242634266800, -0.162123904316503230, +-0.162074565593429890, -0.162025226465170120, -0.161975886931846860, -0.161926546993584330, -0.161877206650505420, -0.161827865902733490, -0.161778524750391480, -0.161729183193603580, +-0.161679841232492710, -0.161630498867182250, -0.161581156097795110, -0.161531812924455510, -0.161482469347286380, -0.161433125366411080, -0.161383780981952520, -0.161334436194034950, +-0.161285091002781290, -0.161235745408314450, -0.161186399410758710, -0.161137053010236950, -0.161087706206872570, -0.161038359000788500, -0.160989011392108940, -0.160939663380956890, +-0.160890314967455650, -0.160840966151728190, -0.160791616933898760, -0.160742267314090280, -0.160692917292426130, -0.160643566869029250, -0.160594216044023910, -0.160544864817533020, +-0.160495513189679940, -0.160446161160587690, -0.160396808730380420, -0.160347455899181170, -0.160298102667112840, -0.160248749034299670, -0.160199395000864640, -0.160150040566931110, +-0.160100685732622070, -0.160051330498061720, -0.160001974863373060, -0.159952618828679450, -0.159903262394103880, -0.159853905559770580, -0.159804548325802510, -0.159755190692323080, +-0.159705832659455200, -0.159656474227323240, -0.159607115396050050, -0.159557756165759070, -0.159508396536573280, -0.159459036508616920, -0.159409676082012980, -0.159360315256884850, +-0.159310954033355490, -0.159261592411549190, -0.159212230391588910, -0.159162867973597600, -0.159113505157699560, -0.159064141944017770, -0.159014778332675630, -0.158965414323796100, +-0.158916049917503470, -0.158866685113920710, -0.158817319913171250, -0.158767954315378050, -0.158718588320665380, -0.158669221929156250, -0.158619855140974100, -0.158570487956241820, +-0.158521120375083780, -0.158471752397622960, -0.158422384023982730, -0.158373015254286130, -0.158323646088657400, -0.158274276527219570, -0.158224906570095610, -0.158175536217409820, +-0.158126165469285210, -0.158076794325845150, -0.158027422787212680, -0.157978050853512100, -0.157928678524866390, -0.157879305801398970, -0.157829932683232870, -0.157780559170492360, +-0.157731185263300460, -0.157681810961780610, -0.157632436266055780, -0.157583061176250290, -0.157533685692487160, -0.157484309814889780, -0.157434933543581230, -0.157385556878685770, +-0.157336179820326410, -0.157286802368626190, -0.157237424523709370, -0.157188046285699020, -0.157138667654718540, -0.157089288630890940, -0.157039909214340580, -0.156990529405190430, +-0.156941149203563950, -0.156891768609584180, -0.156842387623375410, -0.156793006245060680, -0.156743624474763420, -0.156694242312606670, -0.156644859758714760, -0.156595476813210700, +-0.156546093476217920, -0.156496709747859510, -0.156447325628259750, -0.156397941117541660, -0.156348556215828300, -0.156299170923243970, -0.156249785239911730, -0.156200399165955020, +-0.156151012701496870, -0.156101625846661620, -0.156052238601572300, -0.156002850966352410, -0.155953462941124940, -0.155904074526014260, -0.155854685721143390, -0.155805296526635800, +-0.155755906942614510, -0.155706516969203930, -0.155657126606527030, -0.155607735854707330, -0.155558344713867840, -0.155508953184132940, -0.155459561265625660, -0.155410168958469460, +-0.155360776262787410, -0.155311383178703850, -0.155261989706341840, -0.155212595845824420, -0.155163201597275950, -0.155113806960819470, -0.155064411936578470, -0.155015016524676000, +-0.154965620725236420, -0.154916224538382800, -0.154866827964238620, -0.154817431002926940, -0.154768033654572120, -0.154718635919297190, -0.154669237797225690, -0.154619839288480660, +-0.154570440393186460, -0.154521041111466170, -0.154471641443443270, -0.154422241389240820, -0.154372840948983210, -0.154323440122793500, -0.154274038910794780, -0.154224637313111370, +-0.154175235329866350, -0.154125832961183260, -0.154076430207185170, -0.154027027067996420, -0.153977623543740120, -0.153928219634539730, -0.153878815340518370, -0.153829410661800420, +-0.153780005598508930, -0.153730600150767420, -0.153681194318699000, -0.153631788102428000, -0.153582381502077560, -0.153532974517771150, -0.153483567149631850, -0.153434159397784100, +-0.153384751262350930, -0.153335342743455450, -0.153285933841222080, -0.153236524555773830, -0.153187114887234300, -0.153137704835726530, -0.153088294401374920, -0.153038883584302590, +-0.152989472384633060, -0.152940060802489420, -0.152890648837996050, -0.152841236491276070, -0.152791823762452980, -0.152742410651649900, -0.152692997158991230, -0.152643583284600070, +-0.152594169028599960, -0.152544754391113980, -0.152495339372266530, -0.152445923972180760, -0.152396508190980190, -0.152347092028787880, -0.152297675485728280, -0.152248258561924530, +-0.152198841257499660, -0.152149423572578130, -0.152100005507283060, -0.152050587061737960, -0.152001168236065960, -0.151951749030391460, -0.151902329444837610, -0.151852909479527930, +-0.151803489134585550, -0.151754068410134860, -0.151704647306299010, -0.151655225823201570, -0.151605803960965600, -0.151556381719715550, -0.151506959099574540, -0.151457536100666150, +-0.151408112723113500, -0.151358688967040970, -0.151309264832571730, -0.151259840319828890, -0.151210415428936900, -0.151160990160018850, -0.151111564513198350, -0.151062138488598480, +-0.151012712086343730, -0.150963285306557170, -0.150913858149362400, -0.150864430614882560, -0.150815002703242080, -0.150765574414564090, -0.150716145748972160, -0.150666716706589430, +-0.150617287287540340, -0.150567857491948040, -0.150518427319936090, -0.150468996771627640, -0.150419565847147140, -0.150370134546617710, -0.150320702870162530, -0.150271270817906010, +-0.150221838389971300, -0.150172405586482010, -0.150122972407561280, -0.150073538853333550, -0.150024104923921990, -0.149974670619450130, -0.149925235940041170, -0.149875800885819560, +-0.149826365456908470, -0.149776929653431450, -0.149727493475511650, -0.149678056923273570, -0.149628619996840350, -0.149579182696335580, -0.149529745021882400, -0.149480306973605310, +-0.149430868551627460, -0.149381429756071990, -0.149331990587063400, -0.149282551044724790, -0.149233111129179840, -0.149183670840551670, -0.149134230178964770, -0.149084789144542260, +-0.149035347737407810, -0.148985905957684540, -0.148936463805496940, -0.148887021280968200, -0.148837578384221870, -0.148788135115381190, -0.148738691474570610, -0.148689247461913280, +-0.148639803077532830, -0.148590358321552460, -0.148540913194096620, -0.148491467695288480, -0.148442021825251680, -0.148392575584109400, -0.148343128971986120, -0.148293681989005000, +-0.148244234635289240, -0.148194786910963360, -0.148145338816150500, -0.148095890350974260, -0.148046441515557880, -0.147996992310025830, -0.147947542734501310, -0.147898092789107930, +-0.147848642473968890, -0.147799191789208670, -0.147749740734950450, -0.147700289311317900, -0.147650837518434190, -0.147601385356423840, -0.147551932825409990, -0.147502479925516320, +-0.147453026656866020, -0.147403573019583590, -0.147354119013792250, -0.147304664639615140, -0.147255209897176800, -0.147205754786600470, -0.147156299308009750, -0.147106843461527830, +-0.147057387247279240, -0.147007930665387170, -0.146958473715975290, -0.146909016399166790, -0.146859558715086160, -0.146810100663856660, -0.146760642245601900, -0.146711183460445090, +-0.146661724308510770, -0.146612264789922150, -0.146562804904802860, -0.146513344653276120, -0.146463884035466420, -0.146414423051497070, -0.146364961701491190, -0.146315499985573330, +-0.146266037903866750, -0.146216575456495080, -0.146167112643581510, -0.146117649465250600, -0.146068185921625570, -0.146018722012830090, -0.145969257738987330, -0.145919793100221910, +-0.145870328096656980, -0.145820862728416240, -0.145771396995622890, -0.145721930898401490, -0.145672464436875290, -0.145622997611167900, -0.145573530421402590, -0.145524062867703860, +-0.145474594950195020, -0.145425126668999680, -0.145375658024241070, -0.145326189016043740, -0.145276719644530980, -0.145227249909825970, -0.145177779812053260, -0.145128309351336110, +-0.145078838527798180, -0.145029367341562710, -0.144979895792754280, -0.144930423881496070, -0.144880951607911840, -0.144831478972124780, -0.144782005974259470, -0.144732532614439140, +-0.144683058892787490, -0.144633584809427730, -0.144584110364484460, -0.144534635558080910, -0.144485160390340760, -0.144435684861387280, -0.144386208971345050, -0.144336732720337260, +-0.144287256108487220, -0.144237779135919480, -0.144188301802757300, -0.144138824109124350, -0.144089346055143900, -0.144039867640940510, -0.143990388866637480, -0.143940909732358460, +-0.143891430238226730, -0.143841950384366870, -0.143792470170902130, -0.143742989597956230, -0.143693508665652390, -0.143644027374115250, -0.143594545723468000, -0.143545063713834410, +-0.143495581345337710, -0.143446098618102510, -0.143396615532252080, -0.143347132087909640, -0.143297648285199810, -0.143248164124245870, -0.143198679605171520, -0.143149194728100030, +-0.143099709493156010, -0.143050223900462680, -0.143000737950143810, -0.142951251642322670, -0.142901764977123810, -0.142852277954670560, -0.142802790575086630, -0.142753302838495240, +-0.142703814745021060, -0.142654326294787360, -0.142604837487917800, -0.142555348324535730, -0.142505858804765740, -0.142456368928731090, -0.142406878696555080, -0.142357388108362320, +-0.142307897164276080, -0.142258405864420100, -0.142208914208917650, -0.142159422197893380, -0.142109929831470560, -0.142060437109772900, -0.142010944032923690, -0.141961450601047590, +-0.141911956814267850, -0.141862462672708220, -0.141812968176491970, -0.141763473325743770, -0.141713978120586890, -0.141664482561145060, -0.141614986647541570, -0.141565490379901040, +-0.141515993758346810, -0.141466496783002600, -0.141416999453991690, -0.141367501771438750, -0.141318003735467020, -0.141268505346199860, -0.141219006603761880, -0.141169507508276370, +-0.141120008059867100, -0.141070508258657360, -0.141021008104771810, -0.140971507598333710, -0.140922006739466870, -0.140872505528294560, -0.140823003964941430, -0.140773502049530790, +-0.140723999782186390, -0.140674497163031570, -0.140624994192190910, -0.140575490869787790, -0.140525987195945950, -0.140476483170788670, -0.140426978794440660, -0.140377474067025170, +-0.140327968988665590, -0.140278463559486500, -0.140228957779611250, -0.140179451649163620, -0.140129945168266910, -0.140080438337045780, -0.140030931155623570, -0.139981423624124020, +-0.139931915742670470, -0.139882407511387560, -0.139832898930398660, -0.139783389999827480, -0.139733880719797390, -0.139684371090433050, -0.139634861111857800, -0.139585350784195370, +-0.139535840107569140, -0.139486329082103730, -0.139436817707922520, -0.139387305985148810, -0.139337793913907270, -0.139288281494321260, -0.139238768726514530, -0.139189255610610460, +-0.139139742146733690, -0.139090228335007530, -0.139040714175555830, -0.138991199668501900, -0.138941684813970430, -0.138892169612084730, -0.138842654062968580, -0.138793138166745380, +-0.138743621923539780, -0.138694105333475120, -0.138644588396675210, -0.138595071113263360, -0.138545553483364280, -0.138496035507101320, -0.138446517184598270, -0.138396998515978500, +-0.138347479501366670, -0.138297960140886130, -0.138248440434660250, -0.138198920382813730, -0.138149399985469910, -0.138099879242752550, -0.138050358154785090, -0.138000836721692170, +-0.137951314943597140, -0.137901792820623810, -0.137852270352895600, -0.137802747540537120, -0.137753224383671800, -0.137703700882423400, -0.137654177036915320, -0.137604652847272220, +-0.137555128313617490, -0.137505603436074960, -0.137456078214767960, -0.137406552649821210, -0.137357026741358080, -0.137307500489501970, -0.137257973894377520, -0.137208446956108120, +-0.137158919674817640, -0.137109392050629390, -0.137059864083668100, -0.137010335774057190, -0.136960807121920410, -0.136911278127381160, -0.136861748790564170, -0.136812219111592800, +-0.136762689090590920, -0.136713158727681830, -0.136663628022990310, -0.136614096976639700, -0.136564565588753880, -0.136515033859456180, -0.136465501788871320, -0.136415969377122750, +-0.136366436624333790, -0.136316903530629170, -0.136267370096132300, -0.136217836320967010, -0.136168302205256690, -0.136118767749126040, -0.136069232952698490, -0.136019697816097850, +-0.135970162339447530, -0.135920626522872230, -0.135871090366495360, -0.135821553870440790, -0.135772017034831880, -0.135722479859793380, -0.135672942345448660, -0.135623404491921590, +-0.135573866299335570, -0.135524327767815340, -0.135474788897484270, -0.135425249688465810, -0.135375710140884650, -0.135326170254864210, -0.135276630030528370, -0.135227089468000490, +-0.135177548567405330, -0.135128007328866290, -0.135078465752507260, -0.135028923838451610, -0.134979381586824070, -0.134929838997748100, -0.134880296071347520, -0.134830752807745790, +-0.134781209207067570, -0.134731665269436360, -0.134682120994975980, -0.134632576383809850, -0.134583031436062730, -0.134533486151858030, -0.134483940531319620, -0.134434394574570900, +-0.134384848281736660, -0.134335301652940280, -0.134285754688305200, -0.134236207387956190, -0.134186659752016660, -0.134137111780610470, -0.134087563473861080, -0.134038014831893200, +-0.133988465854830290, -0.133938916542796220, -0.133889366895914410, -0.133839816914309630, -0.133790266598105310, -0.133740715947425310, -0.133691164962393080, -0.133641613643133400, +-0.133592061989769670, -0.133542510002425780, -0.133492957681225180, -0.133443405026292650, -0.133393852037751590, -0.133344298715725450, -0.133294745060339000, -0.133245191071715700, +-0.133195636749979420, -0.133146082095253610, -0.133096527107663040, -0.133046971787331130, -0.132997416134381820, -0.132947860148938500, -0.132898303831126000, -0.132848747181067710, +-0.132799190198887580, -0.132749632884709010, -0.132700075238656820, -0.132650517260854420, -0.132600958951425730, -0.132551400310494230, -0.132501841338184660, -0.132452282034620480, +-0.132402722399925150, -0.132353162434223460, -0.132303602137638840, -0.132254041510295240, -0.132204480552316090, -0.132154919263826190, -0.132105357644948990, -0.132055795695808390, +-0.132006233416527840, -0.131956670807232170, -0.131907107868044830, -0.131857544599089690, -0.131807981000490270, -0.131758417072371350, -0.131708852814856360, -0.131659288228069240, +-0.131609723312133470, -0.131560158067173830, -0.131510592493313820, -0.131461026590677290, -0.131411460359387780, -0.131361893799570060, -0.131312326911347590, -0.131262759694843860, +-0.131213192150183680, -0.131163624277490510, -0.131114056076888280, -0.131064487548500470, -0.131014918692451910, -0.130965349508866010, -0.130915779997866770, -0.130866210159577640, +-0.130816639994123410, -0.130767069501627560, -0.130717498682214080, -0.130667927536006370, -0.130618356063129330, -0.130568784263706360, -0.130519212137861440, -0.130469639685718060, +-0.130420066907401020, -0.130370493803033780, -0.130320920372739900, -0.130271346616644160, -0.130221772534870020, -0.130172198127541490, -0.130122623394782010, -0.130073048336716400, +-0.130023472953468190, -0.129973897245161290, -0.129924321211919190, -0.129874744853866740, -0.129825168171127440, -0.129775591163825200, -0.129726013832083540, -0.129676436176027310, +-0.129626858195779960, -0.129577279891465470, -0.129527701263207370, -0.129478122311130430, -0.129428543035358200, -0.129378963436014150, -0.129329383513223150, -0.129279803267108690, +-0.129230222697794720, -0.129180641805404760, -0.129131060590063600, -0.129081479051894820, -0.129031897191022340, -0.128982315007569680, -0.128932732501661680, -0.128883149673421820, +-0.128833566522974120, -0.128783983050442030, -0.128734399255950450, -0.128684815139622850, -0.128635230701583230, -0.128585645941955070, -0.128536060860863250, -0.128486475458431280, +-0.128436889734783120, -0.128387303690042310, -0.128337717324333660, -0.128288130637780720, -0.128238543630507020, -0.128188956302637410, -0.128139368654295400, -0.128089780685604950, +-0.128040192396689620, -0.127990603787674270, -0.127941014858682390, -0.127891425609837990, -0.127841836041264560, -0.127792246153086990, -0.127742655945428800, -0.127693065418413990, +-0.127643474572166070, -0.127593883406809880, -0.127544291922469020, -0.127494700119267390, -0.127445107997328610, -0.127395515556777470, -0.127345922797737540, -0.127296329720332390, +-0.127246736324686830, -0.127197142610924440, -0.127147548579169180, -0.127097954229544650, -0.127048359562175640, -0.126998764577185730, -0.126949169274698900, -0.126899573654838730, +-0.126849977717730070, -0.126800381463496450, -0.126750784892261880, -0.126701188004149900, -0.126651590799285400, -0.126601993277791920, -0.126552395439793460, -0.126502797285413580, +-0.126453198814777120, -0.126403600028007680, -0.126354000925228800, -0.126304401506565360, -0.126254801772140910, -0.126205201722079470, -0.126155601356504580, -0.126106000675541120, +-0.126056399679312650, -0.126006798367943210, -0.125957196741556310, -0.125907594800276860, -0.125857992544228410, -0.125808389973535000, -0.125758787088320170, -0.125709183888708830, +-0.125659580374824500, -0.125609976546791240, -0.125560372404732580, -0.125510767948773440, -0.125461163179037380, -0.125411558095647970, -0.125361952698730100, -0.125312346988407370, +-0.125262740964803750, -0.125213134628042840, -0.125163527978249560, -0.125113921015547440, -0.125064313740060500, -0.125014706151912350, -0.124965098251227880, -0.124915490038130670, +-0.124865881512744720, -0.124816272675193630, -0.124766663525602310, -0.124717054064094320, -0.124667444290793700, -0.124617834205824020, -0.124568223809310210, -0.124518613101375820, +-0.124469002082144910, -0.124419390751741060, -0.124369779110289170, -0.124320167157912820, -0.124270554894735620, -0.124220942320882470, -0.124171329436476980, -0.124121716241643160, +-0.124072102736504600, -0.124022488921186220, -0.123972874795811640, -0.123923260360504860, -0.123873645615389480, -0.123824030560590420, -0.123774415196231310, -0.123724799522436150, +-0.123675183539328550, -0.123625567247033430, -0.123575950645674390, -0.123526333735375480, -0.123476716516260300, -0.123427098988453750, -0.123377481152079470, -0.123327863007261030, +-0.123278244554123400, -0.123228625792790130, -0.123179006723385320, -0.123129387346032540, -0.123079767660856740, -0.123030147667981510, -0.122980527367530910, -0.122930906759628560, +-0.122881285844399380, -0.122831664621966980, -0.122782043092455430, -0.122732421255988320, -0.122682799112690600, -0.122633176662685890, -0.122583553906098240, -0.122533930843051250, +-0.122484307473669880, -0.122434683798077750, -0.122385059816398470, -0.122335435528756980, -0.122285810935276880, -0.122236186036082270, -0.122186560831296750, -0.122136935321045280, +-0.122087309505451460, -0.122037683384639370, -0.121988056958732630, -0.121938430227856190, -0.121888803192133670, -0.121839175851689140, -0.121789548206646240, -0.121739920257129920, +-0.121690292003263770, -0.121640663445171910, -0.121591034582977940, -0.121541405416806830, -0.121491775946782220, -0.121442146173028150, -0.121392516095668280, -0.121342885714827560, +-0.121293255030629630, -0.121243624043198120, -0.121193992752657990, -0.121144361159132880, -0.121094729262746860, -0.121045097063623580, -0.120995464561888010, -0.120945831757663750, +-0.120896198651074940, -0.120846565242245170, -0.120796931531299450, -0.120747297518361390, -0.120697663203555090, -0.120648028587004190, -0.120598393668833650, -0.120548758449167130, +-0.120499122928128710, -0.120449487105842050, -0.120399850982432120, -0.120350214558022560, -0.120300577832737010, -0.120250940806700470, -0.120201303480036560, -0.120151665852869400, +-0.120102027925322650, -0.120052389697521260, -0.120002751169588890, -0.119953112341649650, -0.119903473213827190, -0.119853833786246480, -0.119804194059031190, -0.119754554032305410, +-0.119704913706192810, -0.119655273080818360, -0.119605632156305740, -0.119555990932779020, -0.119506349410361900, -0.119456707589179340, -0.119407065469355010, -0.119357423051012570, +-0.119307780334277020, -0.119258137319272030, -0.119208494006121680, -0.119158850394949670, -0.119109206485880960, -0.119059562279039230, -0.119009917774548610, -0.118960272972532750, +-0.118910627873116640, -0.118860982476423970, -0.118811336782578840, -0.118761690791704930, -0.118712044503927240, -0.118662397919369430, -0.118612751038155620, -0.118563103860409500, +-0.118513456386256060, -0.118463808615818980, -0.118414160549221940, -0.118364512186589930, -0.118314863528046640, -0.118265214573716210, -0.118215565323722280, -0.118165915778189880, +-0.118116265937242710, -0.118066615801004860, -0.118016965369600030, -0.117967314643153230, -0.117917663621788140, -0.117868012305628910, -0.117818360694799190, -0.117768708789424010, +-0.117719056589627060, -0.117669404095532460, -0.117619751307263920, -0.117570098224946450, -0.117520444848703720, -0.117470791178659880, -0.117421137214938620, -0.117371482957664960, +-0.117321828406962610, -0.117272173562955220, -0.117222518425767850, -0.117172862995524190, -0.117123207272348360, -0.117073551256364080, -0.117023894947696360, -0.116974238346468900, +-0.116924581452805850, -0.116874924266830910, -0.116825266788669090, -0.116775609018444100, -0.116725950956280090, -0.116676292602300770, -0.116626633956631160, -0.116576975019394960, +-0.116527315790716320, -0.116477656270718950, -0.116427996459527880, -0.116378336357266830, -0.116328675964059480, -0.116279015280030900, -0.116229354305304760, -0.116179693040005250, +-0.116130031484256060, -0.116080369638182250, -0.116030707501907500, -0.115981045075555980, -0.115931382359251410, -0.115881719353118820, -0.115832056057281930, -0.115782392471864910, +-0.115732728596991460, -0.115683064432786640, -0.115633399979374150, -0.115583735236878160, -0.115534070205422400, -0.115484404885131900, -0.115434739276130390, -0.115385073378541580, +-0.115335407192490540, -0.115285740718100980, -0.115236073955497060, -0.115186406904802520, -0.115136739566142400, -0.115087071939640430, -0.115037404025420800, -0.114987735823607200, +-0.114938067334324700, -0.114888398557697040, -0.114838729493848380, -0.114789060142902450, -0.114739390504984330, -0.114689720580217720, -0.114640050368726810, -0.114590379870635330, +-0.114540709086068340, -0.114491038015149580, -0.114441366658003220, -0.114391695014753020, -0.114342023085524010, -0.114292350870439940, -0.114242678369624570, -0.114193005583202920, +-0.114143332511298770, -0.114093659154036280, -0.114043985511539210, -0.113994311583932630, -0.113944637371340250, -0.113894962873886270, -0.113845288091694460, -0.113795613024889870, +-0.113745937673596240, -0.113696262037937770, -0.113646586118038200, -0.113596909914022600, -0.113547233426014750, -0.113497556654138800, -0.113447879598518510, -0.113398202259278980, +-0.113348524636543920, -0.113298846730437120, -0.113249168541083650, -0.113199490068607260, -0.113149811313132130, -0.113100132274782050, -0.113050452953682070, -0.113000773349955950, +-0.112951093463727910, -0.112901413295121700, -0.112851732844262380, -0.112802052111273740, -0.112752371096279960, -0.112702689799404810, -0.112653008220773380, -0.112603326360509450, +-0.112553644218737180, -0.112503961795580370, -0.112454279091164090, -0.112404596105612110, -0.112354912839048210, -0.112305229291597460, -0.112255545463383640, -0.112205861354530950, +-0.112156176965163180, -0.112106492295405400, -0.112056807345381380, -0.112007122115215350, -0.111957436605031090, -0.111907750814953660, -0.111858064745106860, -0.111808378395614890, +-0.111758691766601540, -0.111709004858191890, -0.111659317670509750, -0.111609630203679300, -0.111559942457824340, -0.111510254433069960, -0.111460566129539950, -0.111410877547358080, +-0.111361188686649460, -0.111311499547537860, -0.111261810130147520, -0.111212120434602210, -0.111162430461027040, -0.111112740209545800, -0.111063049680282700, -0.111013358873361540, +-0.110963667788907430, -0.110913976427044130, -0.110864284787895910, -0.110814592871586530, -0.110764900678241100, -0.110715208207983430, -0.110665515460937740, -0.110615822437227810, +-0.110566129136978770, -0.110516435560314420, -0.110466741707358970, -0.110417047578236230, -0.110367353173071290, -0.110317658491987990, -0.110267963535110110, -0.110218268302562730, +-0.110168572794469700, -0.110118877010955240, -0.110069180952143140, -0.110019484618158540, -0.109969788009125210, -0.109920091125167430, -0.109870393966408980, -0.109820696532974970, +-0.109770998824989220, -0.109721300842575990, -0.109671602585859050, -0.109621904054963550, -0.109572205250013290, -0.109522506171132520, -0.109472806818445040, -0.109423107192075990, +-0.109373407292149170, -0.109323707118788390, -0.109274006672118770, -0.109224305952264150, -0.109174604959348760, -0.109124903693496420, -0.109075202154832250, -0.109025500343480090, +-0.108975798259564170, -0.108926095903208310, -0.108876393274537660, -0.108826690373676020, -0.108776987200747670, -0.108727283755876400, -0.108677580039187360, -0.108627876050804370, +-0.108578171790851690, -0.108528467259453140, -0.108478762456733870, -0.108429057382817680, -0.108379352037828420, -0.108329646421891200, -0.108279940535129890, -0.108230234377668710, +-0.108180527949631510, -0.108130821251143430, -0.108081114282328310, -0.108031407043310380, -0.107981699534213510, -0.107931991755162830, -0.107882283706282150, -0.107832575387695780, +-0.107782866799527530, -0.107733157941902550, -0.107683448814944680, -0.107633739418778180, -0.107584029753526910, -0.107534319819315980, -0.107484609616269270, -0.107434899144511030, +-0.107385188404165100, -0.107335477395356630, -0.107285766118209490, -0.107236054572847480, -0.107186342759395770, -0.107136630677978210, -0.107086918328719070, -0.107037205711742190, +-0.106987492827172740, -0.106937779675134560, -0.106888066255751940, -0.106838352569148700, -0.106788638615450020, -0.106738924394779750, -0.106689209907262160, -0.106639495153021110, +-0.106589780132181760, -0.106540064844867970, -0.106490349291204020, -0.106440633471313730, -0.106390917385322320, -0.106341201033353610, -0.106291484415531460, -0.106241767531981040, +-0.106192050382826200, -0.106142332968191230, -0.106092615288199990, -0.106042897342977660, -0.105993179132648070, -0.105943460657335540, -0.105893741917163910, -0.105844022912258390, +-0.105794303642742800, -0.105744584108741440, -0.105694864310378180, -0.105645144247778210, -0.105595423921065380, -0.105545703330363990, -0.105495982475797900, -0.105446261357492290, +-0.105396539975571020, -0.105346818330157980, -0.105297096421378330, -0.105247374249355930, -0.105197651814215090, -0.105147929116079690, -0.105098206155074900, -0.105048482931324600, +-0.104998759444953100, -0.104949035696084240, -0.104899311684843250, -0.104849587411353970, -0.104799862875740740, -0.104750138078127400, -0.104700413018639150, -0.104650687697399870, +-0.104600962114533870, -0.104551236270165030, -0.104501510164418540, -0.104451783797418280, -0.104402057169288100, -0.104352330280153230, -0.104302603130137530, -0.104252875719365340, +-0.104203148047960490, -0.104153420116048240, -0.104103691923752420, -0.104053963471197390, -0.104004234758506980, -0.103954505785806450, -0.103904776553219640, -0.103855047060870900, +-0.103805317308884090, -0.103755587297384450, -0.103705857026495820, -0.103656126496342550, -0.103606395707048530, -0.103556664658738960, -0.103506933351537720, -0.103457201785569160, +-0.103407469960957150, -0.103357737877826900, -0.103308005536302320, -0.103258272936507270, -0.103208540078566990, -0.103158806962605350, -0.103109073588746700, -0.103059339957114910, +-0.103009606067835230, -0.102959871921031520, -0.102910137516828150, -0.102860402855348980, -0.102810667936719240, -0.102760932761062840, -0.102711197328504100, -0.102661461639166940, +-0.102611725693176560, -0.102561989490656850, -0.102512253031732180, -0.102462516316526450, -0.102412779345164850, -0.102363042117771310, -0.102313304634469720, -0.102263566895385310, +-0.102213828900641980, -0.102164090650364090, -0.102114352144675530, -0.102064613383701530, -0.102014874367565980, -0.101965135096393270, -0.101915395570307250, -0.101865655789433210, +-0.101815915753895020, -0.101766175463817040, -0.101716434919323180, -0.101666694120538680, -0.101616953067587430, -0.101567211760593810, -0.101517470199681710, -0.101467728384976390, +-0.101417986316601750, -0.101368243994681680, -0.101318501419341470, -0.101268758590704990, -0.101219015508896610, -0.101169272174040260, -0.101119528586261160, -0.101069784745683250, +-0.101020040652430880, -0.100970296306627960, -0.100920551708399740, -0.100870806857870140, -0.100821061755163520, -0.100771316400403810, -0.100721570793716260, -0.100671824935224770, +-0.100622078825053710, -0.100572332463327030, -0.100522585850169950, -0.100472838985706410, -0.100423091870060770, -0.100373344503356960, -0.100323596885720230, -0.100273849017274500, +-0.100224100898143720, -0.100174352528453120, -0.100124603908326640, -0.100074855037888650, -0.100025105917263090, -0.099975356546575203, -0.099925606925948915, -0.099875857055508624, +-0.099826106935378231, -0.099776356565683025, -0.099726605946546920, -0.099676855078094304, -0.099627103960449118, -0.099577352593736609, -0.099527600978080707, -0.099477849113605812, +-0.099428097000435853, -0.099378344638696089, -0.099328592028510465, -0.099278839170002922, -0.099229086063298721, -0.099179332708521806, -0.099129579105796561, -0.099079825255246917, +-0.099030071156998162, -0.098980316811174224, -0.098930562217899504, -0.098880807377297916, -0.098831052289494764, -0.098781296954613990, -0.098731541372779966, -0.098681785544116635, +-0.098632029468749299, -0.098582273146801888, -0.098532516578398788, -0.098482759763663955, -0.098433002702722663, -0.098383245395698871, -0.098333487842716519, -0.098283730043900883, +-0.098233971999375932, -0.098184213709266041, -0.098134455173695193, -0.098084696392788634, -0.098034937366670336, -0.097985178095464698, -0.097935418579295663, -0.097885658818288535, +-0.097835898812567254, -0.097786138562256222, -0.097736378067479410, -0.097686617328362091, -0.097636856345028236, -0.097587095117602232, -0.097537333646208049, -0.097487571930970976, +-0.097437809972014969, -0.097388047769463998, -0.097338285323443352, -0.097288522634076988, -0.097238759701489333, -0.097188996525804316, -0.097139233107147255, -0.097089469445642118, +-0.097039705541413307, -0.096989941394584792, -0.096940177005281861, -0.096890412373628484, -0.096840647499749077, -0.096790882383767610, -0.096741117025809384, -0.096691351425998356, +-0.096641585584458956, -0.096591819501315151, -0.096542053176692233, -0.096492286610714198, -0.096442519803505433, -0.096392752755189923, -0.096342985465892983, -0.096293217935738570, +-0.096243450164850683, -0.096193682153354609, -0.096143913901374320, -0.096094145409034257, -0.096044376676458376, -0.095994607703772009, -0.095944838491099110, -0.095895069038564124, +-0.095845299346291032, -0.095795529414405112, -0.095745759243030387, -0.095695988832291259, -0.095646218182311712, -0.095596447293217063, -0.095546676165131295, -0.095496904798178836, +-0.095447133192483685, -0.095397361348171131, -0.095347589265365171, -0.095297816944189803, -0.095248044384770331, -0.095198271587230751, -0.095148498551695493, -0.095098725278288540, +-0.095048951767135223, -0.094999178018359526, -0.094949404032085891, -0.094899629808438288, -0.094849855347542061, -0.094800080649521196, -0.094750305714500133, -0.094700530542602857, +-0.094650755133954698, -0.094600979488679640, -0.094551203606902154, -0.094501427488746209, -0.094451651134337136, -0.094401874543798933, -0.094352097717255598, -0.094302320654832475, +-0.094252543356653534, -0.094202765822843246, -0.094152988053525608, -0.094103210048825922, -0.094053431808868229, -0.094003653333776943, -0.093953874623676090, -0.093904095678690985, +-0.093854316498945656, -0.093804537084564515, -0.093754757435671604, -0.093704977552392238, -0.093655197434850429, -0.093605417083170619, -0.093555636497476835, -0.093505855677894406, +-0.093456074624547317, -0.093406293337560065, -0.093356511817056620, -0.093306730063162341, -0.093256948076001239, -0.093207165855697327, -0.093157383402375948, -0.093107600716161101, +-0.093057817797177256, -0.093008034645548424, -0.092958251261399949, -0.092908467644855844, -0.092858683796040564, -0.092808899715078136, -0.092759115402093903, -0.092709330857211877, +-0.092659546080556529, -0.092609761072251884, -0.092559975832423258, -0.092510190361194705, -0.092460404658690681, -0.092410618725035185, -0.092360832560353601, -0.092311046164769928, +-0.092261259538408205, -0.092211472681393764, -0.092161685593850642, -0.092111898275903312, -0.092062110727675797, -0.092012322949293443, -0.091962534940880289, -0.091912746702560791, +-0.091862958234458975, -0.091813169536700212, -0.091763380609408529, -0.091713591452708396, -0.091663802066723837, -0.091614012451580226, -0.091564222607401574, -0.091514432534312365, +-0.091464642232436638, -0.091414851701899738, -0.091365060942825718, -0.091315269955338604, -0.091265478739563755, -0.091215687295625208, -0.091165895623647436, -0.091116103723754491, +-0.091066311596071731, -0.091016519240723182, -0.090966726657833341, -0.090916933847526249, -0.090867140809927249, -0.090817347545160410, -0.090767554053350200, -0.090717760334620659, +-0.090667966389097160, -0.090618172216903742, -0.090568377818164902, -0.090518583193004667, -0.090468788341548423, -0.090418993263920208, -0.090369197960244063, -0.090319402430645360, +-0.090269606675248165, -0.090219810694176950, -0.090170014487555752, -0.090120218055509974, -0.090070421398163653, -0.090020624515641273, -0.089970827408066889, -0.089921030075565872, +-0.089871232518262290, -0.089821434736280625, -0.089771636729744933, -0.089721838498780584, -0.089672040043511647, -0.089622241364062605, -0.089572442460557511, -0.089522643333121765, +-0.089472843981879407, -0.089423044406954935, -0.089373244608472416, -0.089323444586557221, -0.089273644341333419, -0.089223843872925063, -0.089174043181457552, -0.089124242267054912, +-0.089074441129841683, -0.089024639769941905, -0.088974838187480962, -0.088925036382582923, -0.088875234355372298, -0.088825432105973143, -0.088775629634510855, -0.088725826941109490, +-0.088676024025893557, -0.088626220888987126, -0.088576417530515580, -0.088526613950602989, -0.088476810149373863, -0.088427006126952284, -0.088377201883463610, -0.088327397419031950, +-0.088277592733781343, -0.088227787827837204, -0.088177982701323585, -0.088128177354365012, -0.088078371787085566, -0.088028565999610620, -0.087978759992064254, -0.087928953764571008, +-0.087879147317254921, -0.087829340650241408, -0.087779533763654549, -0.087729726657618856, -0.087679919332258396, -0.087630111787698584, -0.087580304024063499, -0.087530496041477640, +-0.087480687840065116, -0.087430879419951299, -0.087381070781260298, -0.087331261924116166, -0.087281452848644331, -0.087231643554968846, -0.087181834043214265, -0.087132024313504669, +-0.087082214365965430, -0.087032404200720670, -0.086982593817894902, -0.086932783217612206, -0.086882972399997982, -0.086833161365176340, -0.086783350113271790, -0.086733538644408414, +-0.086683726958711654, -0.086633915056305563, -0.086584102937314680, -0.086534290601863101, -0.086484478050076252, -0.086434665282078188, -0.086384852297993475, -0.086335039097946181, +-0.086285225682061734, -0.086235412050464227, -0.086185598203277744, -0.086135784140627697, -0.086085969862638209, -0.086036155369433778, -0.085986340661138527, -0.085936525737877870, +-0.085886710599775887, -0.085836895246957146, -0.085787079679545700, -0.085737263897667018, -0.085687447901445168, -0.085637631691004704, -0.085587815266469705, -0.085537998627965614, +-0.085488181775616540, -0.085438364709546993, -0.085388547429881112, -0.085338729936744295, -0.085288912230260652, -0.085239094310554278, -0.085189276177750628, -0.085139457831973769, +-0.085089639273348283, -0.085039820501998251, -0.084990001518049099, -0.084940182321624952, -0.084890362912850362, -0.084840543291849396, -0.084790723458747538, -0.084740903413668855, +-0.084691083156737929, -0.084641262688078839, -0.084591442007817041, -0.084541621116076632, -0.084491800012982177, -0.084441978698657771, -0.084392157173228871, -0.084342335436819571, +-0.084292513489553994, -0.084242691331557581, -0.084192868962954429, -0.084143046383869116, -0.084093223594425739, -0.084043400594749740, -0.083993577384965240, -0.083943753965196807, +-0.083893930335568537, -0.083844106496205884, -0.083794282447232971, -0.083744458188774351, -0.083694633720954134, -0.083644809043897789, -0.083594984157729410, -0.083545159062573579, +-0.083495333758554405, -0.083445508245797342, -0.083395682524426501, -0.083345856594566017, -0.083296030456341333, -0.083246204109876570, -0.083196377555296297, -0.083146550792724636, +-0.083096723822287041, -0.083046896644107637, -0.082997069258311004, -0.082947241665021237, -0.082897413864363820, -0.082847585856462860, -0.082797757641442940, -0.082747929219428182, +-0.082698100590544055, -0.082648271754914668, -0.082598442712664588, -0.082548613463917980, -0.082498784008800272, -0.082448954347435599, -0.082399124479948543, -0.082349294406463242, +-0.082299464127105135, -0.082249633641998374, -0.082199802951267095, -0.082149972055036741, -0.082100140953431461, -0.082050309646575822, -0.082000478134593963, -0.081950646417611364, +-0.081900814495752150, -0.081850982369140887, -0.081801150037901726, -0.081751317502160151, -0.081701484762040269, -0.081651651817666676, -0.081601818669163509, -0.081551985316656236, +-0.081502151760269009, -0.081452318000126395, -0.081402484036352543, -0.081352649869072924, -0.081302815498411687, -0.081252980924492957, -0.081203146147442229, -0.081153311167383627, +-0.081103475984441759, -0.081053640598740748, -0.081003805010406077, -0.080953969219561897, -0.080904133226332803, -0.080854297030842917, -0.080804460633217737, -0.080754624033581413, +-0.080704787232058525, -0.080654950228773226, -0.080605113023850983, -0.080555275617415975, -0.080505438009592770, -0.080455600200505531, -0.080405762190279728, -0.080355923979039526, +-0.080306085566909061, -0.080256246954013830, -0.080206408140477983, -0.080156569126426117, -0.080106729911982380, -0.080056890497272271, -0.080007050882419925, -0.079957211067549966, +-0.079907371052786530, -0.079857530838255100, -0.079807690424079855, -0.079757849810385376, -0.079708008997295826, -0.079658167984936704, -0.079608326773432159, -0.079558485362906800, +-0.079508643753484792, -0.079458801945291604, -0.079408959938451415, -0.079359117733088833, -0.079309275329328008, -0.079259432727294438, -0.079209589927112287, -0.079159746928905719, +-0.079109903732800219, -0.079060060338919977, -0.079010216747389561, -0.078960372958333178, -0.078910528971876295, -0.078860684788143107, -0.078810840407258193, -0.078760995829345731, +-0.078711151054531234, -0.078661306082938851, -0.078611460914693204, -0.078561615549918459, -0.078511769988740127, -0.078461924231282371, -0.078412078277669786, -0.078362232128026579, +-0.078312385782478233, -0.078262539241148926, -0.078212692504162823, -0.078162845571645420, -0.078112998443720924, -0.078063151120513916, -0.078013303602148601, -0.077963455888750463, +-0.077913607980443680, -0.077863759877352876, -0.077813911579602241, -0.077764063087317259, -0.077714214400622136, -0.077664365519641454, -0.077614516444499432, -0.077564667175321553, +-0.077514817712232009, -0.077464968055355424, -0.077415118204815975, -0.077365268160739173, -0.077315417923249197, -0.077265567492470238, -0.077215716868527809, -0.077165866051546073, +-0.077116015041649680, -0.077066163838962809, -0.077016312443610971, -0.076966460855718344, -0.076916609075409578, -0.076866757102808839, -0.076816904938041650, -0.076767052581232190, +-0.076717200032505109, -0.076667347291984586, -0.076617494359796132, -0.076567641236063938, -0.076517787920912655, -0.076467934414466449, -0.076418080716850856, -0.076368226828190056, +-0.076318372748608254, -0.076268518478230948, -0.076218664017182358, -0.076168809365587106, -0.076118954523569385, -0.076069099491254732, -0.076019244268767314, -0.075969388856231793, +-0.075919533253772362, -0.075869677461514531, -0.075819821479582508, -0.075769965308100928, -0.075720108947193998, -0.075670252396987242, -0.075620395657604852, -0.075570538729171480, +-0.075520681611811302, -0.075470824305649872, -0.075420966810811382, -0.075371109127420469, -0.075321251255601351, -0.075271393195479541, -0.075221534947179244, -0.075171676510824681, +-0.075121817886541362, -0.075071959074453493, -0.075022100074685724, -0.074972240887362276, -0.074922381512608660, -0.074872521950549081, -0.074822662201308218, -0.074772802265010235, +-0.074722942141780699, -0.074673081831743815, -0.074623221335024220, -0.074573360651746134, -0.074523499782035083, -0.074473638726015284, -0.074423777483811390, -0.074373916055547606, +-0.074324054441349471, -0.074274192641341205, -0.074224330655647014, -0.074174468484392436, -0.074124606127701692, -0.074074743585699432, -0.074024880858509876, -0.073975017946258548, +-0.073925154849069682, -0.073875291567067930, -0.073825428100377510, -0.073775564449123948, -0.073725700613431491, -0.073675836593424776, -0.073625972389228023, -0.073576108000966783, +-0.073526243428765278, -0.073476378672748172, -0.073426513733039656, -0.073376648609765310, -0.073326783303049342, -0.073276917813015971, -0.073227052139790749, -0.073177186283497897, +-0.073127320244262092, -0.073077454022207528, -0.073027587617459769, -0.072977721030143050, -0.072927854260382022, -0.072877987308300932, -0.072828120174025290, -0.072778252857679374, +-0.072728385359387804, -0.072678517679274843, -0.072628649817466029, -0.072578781774085582, -0.072528913549258181, -0.072479045143108059, -0.072429176555760769, -0.072379307787340530, +-0.072329438837972021, -0.072279569707779476, -0.072229700396888460, -0.072179830905423181, -0.072129961233507886, -0.072080091381268127, -0.072030221348828138, -0.071980351136312598, +-0.071930480743845740, -0.071880610171553130, -0.071830739419558975, -0.071780868487987995, -0.071730997376964381, -0.071681126086613728, -0.071631254617060255, -0.071581382968428642, +-0.071531511140843135, -0.071481639134429287, -0.071431766949311346, -0.071381894585613989, -0.071332022043461452, -0.071282149322979299, -0.071232276424291779, -0.071182403347523127, +-0.071132530092798907, -0.071082656660243354, -0.071032783049981160, -0.070982909262136573, -0.070933035296835159, -0.070883161154201138, -0.070833286834359230, -0.070783412337433654, +-0.070733537663550006, -0.070683662812832504, -0.070633787785405841, -0.070583912581394265, -0.070534037200923355, -0.070484161644117346, -0.070434285911100944, -0.070384410001998368, +-0.070334533916935227, -0.070284657656035740, -0.070234781219424169, -0.070184904607226095, -0.070135027819565751, -0.070085150856567843, -0.070035273718356605, -0.069985396405057645, +-0.069935518916795170, -0.069885641253693911, -0.069835763415878105, -0.069785885403473330, -0.069736007216603849, -0.069686128855394353, -0.069636250319969076, -0.069586371610453626, +-0.069536492726972252, -0.069486613669649630, -0.069436734438610051, -0.069386855033979067, -0.069336975455880939, -0.069287095704440388, -0.069237215779781647, -0.069187335682030310, +-0.069137455411310625, -0.069087574967746868, -0.069037694351464618, -0.068987813562588138, -0.068937932601242105, -0.068888051467550809, -0.068838170161639831, -0.068788288683633431, +-0.068738407033656301, -0.068688525211832704, -0.068638643218288248, -0.068588761053147179, -0.068538878716534204, -0.068488996208573599, -0.068439113529390944, -0.068389230679110499, +-0.068339347657856986, -0.068289464465754651, -0.068239581102929103, -0.068189697569504604, -0.068139813865605414, -0.068089929991357129, -0.068040045946884037, -0.067990161732310817, +-0.067940277347761743, -0.067890392793362425, -0.067840508069237124, -0.067790623175510559, -0.067740738112306992, -0.067690852879752017, -0.067640967477969910, -0.067591081907085390, +-0.067541196167222720, -0.067491310258507506, -0.067441424181064011, -0.067391537935016954, -0.067341651520490611, -0.067291764937610590, -0.067241878186501153, -0.067191991267286574, +-0.067142104180092449, -0.067092216925043080, -0.067042329502263159, -0.066992441911876977, -0.066942554154010139, -0.066892666228786909, -0.066842778136332007, -0.066792889876769734, +-0.066743001450225659, -0.066693112856824097, -0.066643224096689740, -0.066593335169946893, -0.066543446076721136, -0.066493556817136770, -0.066443667391318517, -0.066393777799390652, +-0.066343888041478782, -0.066293998117707184, -0.066244108028200160, -0.066194217773083305, -0.066144327352480908, -0.066094436766517689, -0.066044546015317937, -0.065994655099007260, +-0.065944764017709948, -0.065894872771550733, -0.065844981360653879, -0.065795089785145033, -0.065745198045148445, -0.065695306140788862, -0.065645414072190586, -0.065595521839479212, +-0.065545629442779030, -0.065495736882214772, -0.065445844157910729, -0.065395951269992522, -0.065346058218584441, -0.065296165003811205, -0.065246271625797117, -0.065196378084667786, +-0.065146484380547529, -0.065096590513560607, -0.065046696483832642, -0.064996802291487951, -0.064946907936651241, -0.064897013419446828, -0.064847118740000320, -0.064797223898436021, +-0.064747328894878664, -0.064697433729452539, -0.064647538402283267, -0.064597642913495151, -0.064547747263212926, -0.064497851451560895, -0.064447955478664679, -0.064398059344648567, +-0.064348163049637322, -0.064298266593755204, -0.064248369977127878, -0.064198473199879619, -0.064148576262134743, -0.064098679164018860, -0.064048781905656285, -0.063998884487171753, +-0.063948986908689567, -0.063899089170335363, -0.063849191272233430, -0.063799293214508529, -0.063749394997284936, -0.063699496620688301, -0.063649598084842940, -0.063599699389873560, +-0.063549800535904505, -0.063499901523061397, -0.063450002351468526, -0.063400103021250639, -0.063350203532532068, -0.063300303885438419, -0.063250404080094025, -0.063200504116623160, +-0.063150603995151489, -0.063100703715803313, -0.063050803278703368, -0.063000902683975971, -0.062951001931746770, -0.062901101022140055, -0.062851199955280587, -0.062801298731292685, +-0.062751397350301968, -0.062701495812432770, -0.062651594117809822, -0.062601692266557443, -0.062551790258801282, -0.062501888094665656, -0.062451985774275298, -0.062402083297754533, +-0.062352180665229004, -0.062302277876823027, -0.062252374932661350, -0.062202471832868297, -0.062152568577569504, -0.062102665166889288, -0.062052761600951974, -0.062002857879883196, +-0.061952954003807272, -0.061903049972848963, -0.061853145787132580, -0.061803241446783785, -0.061753336951926883, -0.061703432302686635, -0.061653527499187365, -0.061603622541554721, +-0.061553717429913023, -0.061503812164387030, -0.061453906745101060, -0.061404001172180769, -0.061354095445750476, -0.061304189565934947, -0.061254283532858493, -0.061204377346646778, +-0.061154471007424119, -0.061104564515314840, -0.061054657870444597, -0.061004751072937700, -0.060954844122918933, -0.060904937020512612, -0.060855029765844386, -0.060805122359038587, +-0.060755214800219989, -0.060705307089512904, -0.060655399227042994, -0.060605491212934591, -0.060555583047312456, -0.060505674730300926, -0.060455766262025645, -0.060405857642610951, +-0.060355948872181618, -0.060306039950861964, -0.060256130878777653, -0.060206221656053015, -0.060156312282812381, -0.060106402759181408, -0.060056493085284435, -0.060006583261246221, +-0.059956673287191106, -0.059906763163244760, -0.059856852889531499, -0.059806942466176106, -0.059757031893302913, -0.059707121171037582, -0.059657210299504451, -0.059607299278828296, +-0.059557388109133448, -0.059507476790545570, -0.059457565323189007, -0.059407653707188528, -0.059357741942668470, -0.059307830029754496, -0.059257917968570953, -0.059208005759242170, +-0.059158093401893819, -0.059108180896650230, -0.059058268243636192, -0.059008355442976036, -0.058958442494795441, -0.058908529399218736, -0.058858616156370704, -0.058808702766375689, +-0.058758789229359371, -0.058708875545446071, -0.058658961714760580, -0.058609047737427249, -0.058559133613571734, -0.058509219343318389, -0.058459304926791994, -0.058409390364116895, +-0.058359475655418769, -0.058309560800821947, -0.058259645800451225, -0.058209730654430941, -0.058159815362886780, -0.058109899925943079, -0.058059984343724183, -0.058010068616355770, +-0.057960152743962184, -0.057910236726668222, -0.057860320564598215, -0.057810404257877861, -0.057760487806631490, -0.057710571210983899, -0.057660654471059440, -0.057610737586983783, +-0.057560820558881287, -0.057510903386876741, -0.057460986071094490, -0.057411068611660218, -0.057361151008698277, -0.057311233262333450, -0.057261315372690108, -0.057211397339893909, +-0.057161479164069225, -0.057111560845340401, -0.057061642383833114, -0.057011723779671723, -0.056961805032981018, -0.056911886143885364, -0.056861967112510431, -0.056812047938980585, +-0.056762128623420616, -0.056712209165954888, -0.056662289566709073, -0.056612369825807543, -0.056562449943375080, -0.056512529919536050, -0.056462609754416145, -0.056412689448139708, +-0.056362769000831550, -0.056312848412616030, -0.056262927683618826, -0.056213006813964309, -0.056163085803776831, -0.056113164653182078, -0.056063243362304414, -0.056013321931268643, +-0.055963400360199124, -0.055913478649221547, -0.055863556798460272, -0.055813634808040108, -0.055763712678085414, -0.055713790408721875, -0.055663868000073870, -0.055613945452266188, +-0.055564022765423202, -0.055514099939670596, -0.055464176975132749, -0.055414253871934452, -0.055364330630200083, -0.055314407250055327, -0.055264483731624556, -0.055214560075032573, +-0.055164636280403752, -0.055114712347863776, -0.055064788277537025, -0.055014864069547857, -0.054964939724021972, -0.054915015241083741, -0.054865090620857968, -0.054815165863469031, +-0.054765240969042617, -0.054715315937703103, -0.054665390769575294, -0.054615465464783568, -0.054565540023453624, -0.054515614445709834, -0.054465688731677002, -0.054415762881479500, +-0.054365836895243040, -0.054315910773091988, -0.054265984515151161, -0.054216058121544924, -0.054166131592398990, -0.054116204927837724, -0.054066278127985506, -0.054016351192968035, +-0.053966424122909681, -0.053916496917935271, -0.053866569578169175, -0.053816642103737100, -0.053766714494763418, -0.053716786751372946, -0.053666858873690070, -0.053616930861840488, +-0.053567002715948574, -0.053517074436139157, -0.053467146022536612, -0.053417217475266648, -0.053367288794453634, -0.053317359980222405, -0.053267431032697328, -0.053217501952004115, +-0.053167572738267152, -0.053117643391610812, -0.053067713912160808, -0.053017784300041511, -0.052967854555377766, -0.052917924678293933, -0.052867994668915730, -0.052818064527367550, +-0.052768134253774197, -0.052718203848260071, -0.052668273310950885, -0.052618342641971010, -0.052568411841445277, -0.052518480909498066, -0.052468549846255104, -0.052418618651840769, +-0.052368687326379885, -0.052318755869996833, -0.052268824282817344, -0.052218892564965785, -0.052168960716566563, -0.052119028737745376, -0.052069096628626611, -0.052019164389335112, +-0.051969232019995260, -0.051919299520732771, -0.051869366891672028, -0.051819434132937874, -0.051769501244654688, -0.051719568226948190, -0.051669635079942773, -0.051619701803763268, +-0.051569768398534069, -0.051519834864380887, -0.051469901201428123, -0.051419967409800607, -0.051370033489622720, -0.051320099441020200, -0.051270165264117429, -0.051220230959039249, +-0.051170296525910042, -0.051120361964855539, -0.051070427276000134, -0.051020492459468214, -0.050970557515385512, -0.050920622443876414, -0.050870687245065757, -0.050820751919077936, +-0.050770816466038683, -0.050720880886072392, -0.050670945179303893, -0.050621009345857587, -0.050571073385859207, -0.050521137299433139, -0.050471201086704227, -0.050421264747796873, +-0.050371328282836796, -0.050321391691948401, -0.050271454975256528, -0.050221518132885570, -0.050171581164961267, -0.050121644071608004, -0.050071706852950190, -0.050021769509113558, +-0.049971832040222493, -0.049921894446401854, -0.049871956727776029, -0.049822018884470763, -0.049772080916610451, -0.049722142824319929, -0.049672204607723612, -0.049622266266947226, +-0.049572327802115172, -0.049522389213352301, -0.049472450500783006, -0.049422511664533035, -0.049372572704726787, -0.049322633621489108, -0.049272694414944397, -0.049222755085218395, +-0.049172815632435501, -0.049122876056720131, -0.049072936358198010, -0.049022996536993553, -0.048973056593231604, -0.048923116527036563, -0.048873176338534184, -0.048823236027848854, +-0.048773295595105438, -0.048723355040428344, -0.048673414363943304, -0.048623473565774726, -0.048573532646047461, -0.048523591604885931, -0.048473650442415854, -0.048423709158761659, +-0.048373767754048190, -0.048323826228399855, -0.048273884581942400, -0.048223942814800233, -0.048174000927098205, -0.048124058918960738, -0.048074116790513564, -0.048024174541881098, +-0.047974232173187754, -0.047924289684559272, -0.047874347076120066, -0.047824404347994988, -0.047774461500308459, -0.047724518533186225, -0.047674575446752687, -0.047624632241132711, +-0.047574688916450718, -0.047524745472832440, -0.047474801910402299, -0.047424858229285154, -0.047374914429605418, -0.047324970511488845, -0.047275026475059843, -0.047225082320443271, +-0.047175138047763555, -0.047125193657146437, -0.047075249148716330, -0.047025304522597663, -0.046975359778916176, -0.046925414917796282, -0.046875469939362861, -0.046825524843740321, +-0.046775579631054408, -0.046725634301429543, -0.046675688854990599, -0.046625743291861990, -0.046575797612169463, -0.046525851816037439, -0.046475905903590790, -0.046425959874953932, +-0.046376013730252616, -0.046326067469611265, -0.046276121093154751, -0.046226174601007489, -0.046176227993295231, -0.046126281270142400, -0.046076334431673430, -0.046026387478014061, +-0.045976440409288728, -0.045926493225622290, -0.045876545927139183, -0.045826598513965144, -0.045776650986224618, -0.045726703344042462, -0.045676755587543104, -0.045626807716852298, +-0.045576859732094473, -0.045526911633394500, -0.045476963420876808, -0.045427015094667143, -0.045377066654889948, -0.045327118101670082, -0.045277169435131978, -0.045227220655401391, +-0.045177271762602757, -0.045127322756860502, -0.045077373638300375, -0.045027424407046823, -0.044977475063224706, -0.044927525606958459, -0.044877576038373841, -0.044827626357595282, +-0.044777676564747661, -0.044727726659955398, -0.044677776643344269, -0.044627826515038695, -0.044577876275163554, -0.044527925923843276, -0.044477975461203634, -0.044428024887369050, +-0.044378074202464403, -0.044328123406614128, -0.044278172499943987, -0.044228221482578413, -0.044178270354642286, -0.044128319116260042, -0.044078367767557448, -0.044028416308658926, +-0.043978464739688923, -0.043928513060773201, -0.043878561272036203, -0.043828609373602792, -0.043778657365597419, -0.043728705248145844, -0.043678753021372509, -0.043628800685402293, +-0.043578848240359624, -0.043528895686370285, -0.043478943023558703, -0.043428990252049771, -0.043379037371967910, -0.043329084383438903, -0.043279131286587183, -0.043229178081537638, +-0.043179224768414702, -0.043129271347344150, -0.043079317818450417, -0.043029364181857946, -0.042979410437692510, -0.042929456586078552, -0.042879502627140943, -0.042829548561004141, +-0.042779594387793912, -0.042729640107634692, -0.042679685720651374, -0.042629731226968400, -0.042579776626711537, -0.042529821920005234, -0.042479867106974378, -0.042429912187743411, +-0.042379957162438107, -0.042330002031182909, -0.042280046794102702, -0.042230091451321942, -0.042180136002966391, -0.042130180449160504, -0.042080224790028722, -0.042030269025696815, +-0.041980313156289244, -0.041930357181930888, -0.041880401102746191, -0.041830444918860940, -0.041780488630399577, -0.041730532237486989, -0.041680575740247632, -0.041630619138807272, +-0.041580662433290366, -0.041530705623821808, -0.041480748710526039, -0.041430791693528847, -0.041380834572954668, -0.041330877348928409, -0.041280920021574505, -0.041230962591018751, +-0.041181005057385589, -0.041131047420799920, -0.041081089681386178, -0.041031131839270166, -0.040981173894576318, -0.040931215847429092, -0.040881257697954275, -0.040831299446276309, +-0.040781341092520094, -0.040731382636810080, -0.040681424079272062, -0.040631465420030481, -0.040581506659210231, -0.040531547796935775, -0.040481588833332895, -0.040431629768526038, +-0.040381670602640106, -0.040331711335799561, -0.040281751968130178, -0.040231792499756412, -0.040181832930803164, -0.040131873261394897, -0.040081913491657385, -0.040031953621715091, +-0.039981993651692471, -0.039932033581715307, -0.039882073411908060, -0.039832113142395632, -0.039782152773302472, -0.039732192304754381, -0.039682231736875802, -0.039632271069791648, +-0.039582310303626377, -0.039532349438505768, -0.039482388474554285, -0.039432427411896828, -0.039382466250657867, -0.039332504990963177, -0.039282543632937234, -0.039232582176704923, +-0.039182620622390717, -0.039132658970120401, -0.039082697220018434, -0.039032735372209290, -0.038982773426818745, -0.038932811383971262, -0.038882849243791762, -0.038832887006404686, +-0.038782924671935837, -0.038732962240509677, -0.038682999712251115, -0.038633037087284612, -0.038583074365735957, -0.038533111547729613, -0.038483148633390495, -0.038433185622843057, +-0.038383222516213102, -0.038333259313625086, -0.038283296015203923, -0.038233332621074083, -0.038183369131361347, -0.038133405546190192, -0.038083441865685082, -0.038033478089971810, +-0.037983514219174841, -0.037933550253419088, -0.037883586192829014, -0.037833622037530414, -0.037783657787647765, -0.037733693443305967, -0.037683729004629497, -0.037633764471744144, +-0.037583799844774383, -0.037533835123845123, -0.037483870309080826, -0.037433905400607301, -0.037383940398549018, -0.037333975303030877, -0.037284010114177354, -0.037234044832114253, +-0.037184079456966036, -0.037134113988857617, -0.037084148427913480, -0.037034182774259405, -0.036984217028019878, -0.036934251189319367, -0.036884285258283668, -0.036834319235037258, +-0.036784353119705050, -0.036734386912411515, -0.036684420613282455, -0.036634454222442346, -0.036584487740016103, -0.036534521166128195, -0.036484554500904424, -0.036434587744469268, +-0.036384620896947648, -0.036334653958464025, -0.036284686929144216, -0.036234719809112692, -0.036184752598494359, -0.036134785297413707, -0.036084817905996540, -0.036034850424367319, +-0.035984882852650536, -0.035934915190971986, -0.035884947439456145, -0.035834979598227942, -0.035785011667411840, -0.035735043647133653, -0.035685075537517860, -0.035635107338689381, +-0.035585139050772686, -0.035535170673893585, -0.035485202208176560, -0.035435233653746533, -0.035385265010727973, -0.035335296279246690, -0.035285327459427175, -0.035235358551394341, +-0.035185389555272659, -0.035135420471187957, -0.035085451299264700, -0.035035482039627364, -0.034985512692401778, -0.034935543257712399, -0.034885573735684169, -0.034835604126441565, +-0.034785634430110388, -0.034735664646815122, -0.034685694776680702, -0.034635724819831598, -0.034585754776393626, -0.034535784646491263, -0.034485814430249444, -0.034435844127792645, +-0.034385873739246675, -0.034335903264736026, -0.034285932704385617, -0.034235962058319927, -0.034185991326664784, -0.034136020509544659, -0.034086049607084480, -0.034036078619408737, +-0.033986107546643239, -0.033936136388912477, -0.033886165146340928, -0.033836193819054408, -0.033786222407177401, -0.033736250910834840, -0.033686279330151211, -0.033636307665252323, +-0.033586335916262672, -0.033536364083307180, -0.033486392166510330, -0.033436420165997946, -0.033386448081894511, -0.033336475914324953, -0.033286503663413763, -0.033236531329286757, +-0.033186558912068426, -0.033136586411883696, -0.033086613828857053, -0.033036641163114326, -0.032986668414779992, -0.032936695583978541, -0.032886722670835804, -0.032836749675476250, +-0.032786776598024828, -0.032736803438606014, -0.032686830197345640, -0.032636856874368195, -0.032586883469798600, -0.032536909983761353, -0.032486936416382277, -0.032436962767785862, +-0.032386989038097037, -0.032337015227440299, -0.032287041335941465, -0.032237067363725030, -0.032187093310915925, -0.032137119177638639, -0.032087144964019002, -0.032037170670181504, +-0.031987196296250631, -0.031937221842352218, -0.031887247308610742, -0.031837272695151159, -0.031787298002097938, -0.031737323229576925, -0.031687348377712601, -0.031637373446629903, +-0.031587398436453334, -0.031537423347308705, -0.031487448179320525, -0.031437472932613716, -0.031387497607312791, -0.031337522203543557, -0.031287546721430526, -0.031237571161098619, +-0.031187595522672348, -0.031137619806277529, -0.031087644012038659, -0.031037668140080237, -0.030987692190528087, -0.030937716163506709, -0.030887740059141040, -0.030837763877555574, +-0.030787787618876145, -0.030737811283227248, -0.030687834870733819, -0.030637858381520361, -0.030587881815712703, -0.030537905173435336, -0.030487928454813209, -0.030437951659970819, +-0.030387974789033989, -0.030337997842127224, -0.030288020819375466, -0.030238043720903211, -0.030188066546836291, -0.030138089297299202, -0.030088111972416894, -0.030038134572313861, +-0.029988157097115935, -0.029938179546947614, -0.029888201921933404, -0.029838224222199131, -0.029788246447869298, -0.029738268599068848, -0.029688290675922283, -0.029638312678555434, +-0.029588334607092807, -0.029538356461659341, -0.029488378242379539, -0.029438399949379235, -0.029388421582782934, -0.029338443142715578, -0.029288464629301670, -0.029238486042667045, +-0.029188507382936203, -0.029138528650234096, -0.029088549844685219, -0.029038570966415416, -0.028988592015549181, -0.028938612992211024, -0.028888633896526780, -0.028838654728620950, +-0.028788675488618482, -0.028738696176643885, -0.028688716792822987, -0.028638737337280298, -0.028588757810140770, -0.028538778211528899, -0.028488798541570527, -0.028438818800390162, +-0.028388838988112744, -0.028338859104862790, -0.028288879150766128, -0.028238899125947271, -0.028188919030531168, -0.028138938864642318, -0.028088958628406571, -0.028038978321948422, +-0.027988997945392387, -0.027939017498864301, -0.027889036982488669, -0.027839056396390446, -0.027789075740694134, -0.027739095015525583, -0.027689114221009292, -0.027639133357270213, +-0.027589152424432859, -0.027539171422623070, -0.027489190351965349, -0.027439209212584654, -0.027389228004605491, -0.027339246728153702, -0.027289265383353797, -0.027239283970330725, +-0.027189302489209005, -0.027139320940114467, -0.027089339323171632, -0.027039357638505446, -0.026989375886240421, -0.026939394066502403, -0.026889412179415897, -0.026839430225105418, +-0.026789448203696806, -0.026739466115314577, -0.026689483960083679, -0.026639501738128631, -0.026589519449575268, -0.026539537094548111, -0.026489554673172107, -0.026439572185571775, +-0.026389589631872955, -0.026339607012200162, -0.026289624326678352, -0.026239641575432036, -0.026189658758587062, -0.026139675876267938, -0.026089692928599625, -0.026039709915706640, +-0.025989726837714819, -0.025939743694748683, -0.025889760486932745, -0.025839777214392848, -0.025789793877253508, -0.025739810475639682, -0.025689827009675890, -0.025639843479487973, +-0.025589859885200444, -0.025539876226938270, -0.025489892504825959, -0.025439908718989358, -0.025389924869552990, -0.025339940956641806, -0.025289956980380328, -0.025239972940894403, +-0.025189988838308544, -0.025140004672747712, -0.025090020444336423, -0.025040036153200530, -0.024990051799464546, -0.024940067383252988, -0.024890082904691704, -0.024840098363905216, +-0.024790113761018480, -0.024740129096156017, -0.024690144369443674, -0.024640159581005971, -0.024590174730967869, -0.024540189819453884, -0.024490204846589869, -0.024440219812500344, +-0.024390234717310270, -0.024340249561144164, -0.024290264344127878, -0.024240279066385931, -0.024190293728043284, -0.024140308329224463, -0.024090322870055313, -0.024040337350660357, +-0.023990351771164112, -0.023940366131692432, -0.023890380432369837, -0.023840394673321292, -0.023790408854671315, -0.023740422976545758, -0.023690437039069145, -0.023640451042366440, +-0.023590464986562164, -0.023540478871782171, -0.023490492698150980, -0.023440506465793553, -0.023390520174834419, -0.023340533825399429, -0.023290547417613106, -0.023240560951600410, +-0.023190574427485872, -0.023140587845395338, -0.023090601205453337, -0.023040614507784832, -0.022990627752514349, -0.022940640939767738, -0.022890654069669527, -0.022840667142344236, +-0.022790680157917718, -0.022740693116514502, -0.022690706018259555, -0.022640718863277398, -0.022590731651693886, -0.022540744383633547, -0.022490757059221343, -0.022440769678581808, +-0.022390782241840788, -0.022340794749122816, -0.022290807200552855, -0.022240819596255432, -0.022190831936356407, -0.022140844220980300, -0.022090856450252081, -0.022040868624296280, +-0.021990880743238749, -0.021940892807204019, -0.021890904816316611, -0.021840916770702382, -0.021790928670485866, -0.021740940515792024, -0.021690952306745389, -0.021640964043471819, +-0.021590975726095838, -0.021540987354742417, -0.021490998929536084, -0.021441010450602697, -0.021391021918066782, -0.021341033332053314, -0.021291044692686820, -0.021241056000093156, +-0.021191067254396855, -0.021141078455722884, -0.021091089604195774, -0.021041100699941383, -0.020991111743084240, -0.020941122733748874, -0.020891133672061146, -0.020841144558145581, +-0.020791155392127156, -0.020741166174130399, -0.020691176904281173, -0.020641187582704001, -0.020591198209523862, -0.020541208784865282, -0.020491219308854124, -0.020441229781614920, +-0.020391240203272640, -0.020341250573951818, -0.020291260893778310, -0.020241271162876651, -0.020191281381371814, -0.020141291549388329, -0.020091301667052062, -0.020041311734487539, +-0.019991321751819734, -0.019941331719173186, -0.019891341636673748, -0.019841351504445957, -0.019791361322614345, -0.019741371091304773, -0.019691380810641774, -0.019641390480750320, +-0.019591400101754950, -0.019541409673781519, -0.019491419196954567, -0.019441428671399068, -0.019391438097239550, -0.019341447474601883, -0.019291456803610597, -0.019241466084390670, +-0.019191475317066633, -0.019141484501764349, -0.019091493638608358, -0.019041502727723630, -0.018991511769234703, -0.018941520763267439, -0.018891529709946373, -0.018841538609396039, +-0.018791547461742303, -0.018741556267109698, -0.018691565025623205, -0.018641573737407352, -0.018591582402588010, -0.018541591021289713, -0.018491599593637435, -0.018441608119755717, +-0.018391616599770424, -0.018341625033806087, -0.018291633421987689, -0.018241641764439761, -0.018191650061288176, -0.018141658312657464, -0.018091666518672604, -0.018041674679458136, +-0.017991682795139925, -0.017941690865842509, -0.017891698891690420, -0.017841706872809528, -0.017791714809324368, -0.017741722701359919, -0.017691730549040725, -0.017641738352492643, +-0.017591746111840219, -0.017541753827208427, -0.017491761498721808, -0.017441769126506232, -0.017391776710686230, -0.017341784251386785, -0.017291791748732438, -0.017241799202849052, +-0.017191806613861171, -0.017141813981893773, -0.017091821307071396, -0.017041828589519911, -0.016991835829363852, -0.016941843026727764, -0.016891850181737507, -0.016841857294517627, +-0.016791864365193105, -0.016741871393888476, -0.016691878380729611, -0.016641885325841054, -0.016591892229347781, -0.016541899091374334, -0.016491905912046585, -0.016441912691489070, +-0.016391919429826773, -0.016341926127184235, -0.016291932783687322, -0.016241939399460580, -0.016191945974628988, -0.016141952509317090, -0.016091959003650753, -0.016041965457754517, +-0.015991971871753368, -0.015941978245771846, -0.015891984579935823, -0.015841990874369837, -0.015791997129198432, -0.015742003344547475, -0.015692009520541512, -0.015642015657305525, +-0.015592021754964054, -0.015542027813642972, -0.015492033833466822, -0.015442039814560587, -0.015392045757048809, -0.015342051661057361, -0.015292057526710782, -0.015242063354134061, +-0.015192069143451736, -0.015142074894789683, -0.015092080608272444, -0.015042086284025001, -0.014992091922171899, -0.014942097522839011, -0.014892103086150882, -0.014842108612232048, +-0.014792114101208387, -0.014742119553204442, -0.014692124968345198, -0.014642130346755197, -0.014592135688560314, -0.014542140993885093, -0.014492146262854519, -0.014442151495593135, +-0.014392156692226815, -0.014342161852880104, -0.014292166977677989, -0.014242172066745013, -0.014192177120207049, -0.014142182138188644, -0.014092187120814784, -0.014042192068210011, +-0.013992196980500202, -0.013942201857809901, -0.013892206700263652, -0.013842211507987328, -0.013792216281105477, -0.013742221019743085, -0.013692225724024697, -0.013642230394076187, +-0.013592235030022102, -0.013542239631987430, -0.013492244200096714, -0.013442248734475831, -0.013392253235249328, -0.013342257702542191, -0.013292262136478966, -0.013242266537185529, +-0.013192270904786427, -0.013142275239406646, -0.013092279541170733, -0.013042283810204567, -0.012992288046632690, -0.012942292250580094, -0.012892296422171321, -0.012842300561532254, +-0.012792304668787434, -0.012742308744061409, -0.012692312787480056, -0.012642316799167920, -0.012592320779249993, -0.012542324727850820, -0.012492328645096279, -0.012442332531110916, +-0.012392336386019722, -0.012342340209947242, -0.012292344003019358, -0.012242347765360612, -0.012192351497095997, -0.012142355198350059, -0.012092358869248677, -0.012042362509916400, +-0.011992366120478215, -0.011942369701058671, -0.011892373251783646, -0.011842376772777687, -0.011792380264165344, -0.011742383726072494, -0.011692387158623684, -0.011642390561943907, +-0.011592393936157710, -0.011542397281390971, -0.011492400597768239, -0.011442403885414506, -0.011392407144454319, -0.011342410375013557, -0.011292413577216770, -0.011242416751188949, +-0.011192419897054643, -0.011142423014939730, -0.011092426104968760, -0.011042429167266726, -0.010992432201958174, -0.010942435209168985, -0.010892438189023709, -0.010842441141646892, +-0.010792444067164416, -0.010742446965700833, -0.010692449837381129, -0.010642452682329858, -0.010592455500672900, -0.010542458292534803, -0.010492461058040558, -0.010442463797314719, +-0.010392466510483164, -0.010342469197670442, -0.010292471859001548, -0.010242474494601028, -0.010192477104594769, -0.010142479689107316, -0.010092482248263663, -0.010042484782188360, +-0.009992487291007291, -0.009942489774845003, -0.009892492233826490, -0.009842494668076303, -0.009792497077720322, -0.009742499462883100, -0.009692501823689184, -0.009642504160264459, +-0.009592506472733473, -0.009542508761221220, -0.009492511025852251, -0.009442513266752450, -0.009392515484046364, -0.009342517677858991, -0.009292519848314879, -0.009242521995539911, +-0.009192524119658639, -0.009142526220796057, -0.009092528299076714, -0.009042530354626495, -0.008992532387569949, -0.008942534398032073, -0.008892536386137417, -0.008842538352011865, +-0.008792540295779966, -0.008742542217566273, -0.008692544117496667, -0.008642545995695701, -0.008592547852288371, -0.008542549687399228, -0.008492551501154154, -0.008442553293677700, +-0.008392555065094865, -0.008342556815530196, -0.008292558545109581, -0.008242560253957568, -0.008192561942199155, -0.008142563609958894, -0.008092565257362667, -0.008042566884535028, +-0.007992568491600970, -0.007942570078685048, -0.007892571645913145, -0.007842573193409811, -0.007792574721299603, -0.007742576229708400, -0.007692577718760757, -0.007642579188581669, +-0.007592580639295690, -0.007542582071028704, -0.007492583483905262, -0.007442584878050361, -0.007392586253588554, -0.007342587610645725, -0.007292588949346428, -0.007242590269815658, +-0.007192591572177969, -0.007142592856559244, -0.007092594123084038, -0.007042595371877345, -0.006992596603063722, -0.006942597816769049, -0.006892599013117883, -0.006842600192234775, +-0.006792601354245611, -0.006742602499274943, -0.006692603627447769, -0.006642604738888642, -0.006592605833723447, -0.006542606912076737, -0.006492607974073510, -0.006442609019838320, +-0.006392610049497051, -0.006342611063174256, -0.006292612060994934, -0.006242613043083638, -0.006192614009566253, -0.006142614960567333, -0.006092615896211876, -0.006042616816624435, +-0.005992617721930896, -0.005942618612255812, -0.005892619487724183, -0.005842620348460561, -0.005792621194590831, -0.005742622026239549, -0.005692622843531267, -0.005642623646591872, +-0.005592624435545919, -0.005542625210518404, -0.005492625971633882, -0.005442626719018240, -0.005392627452796030, -0.005342628173092252, -0.005292628880031459, -0.005242629573739539, +-0.005192630254341044, -0.005142630921960973, -0.005092631576723882, -0.005042632218755655, -0.004992632848180848, -0.004942633465124459, -0.004892634069711042, -0.004842634662066484, +-0.004792635242315340, -0.004742635810582162, -0.004692636366992840, -0.004642636911671927, -0.004592637444744421, -0.004542637966334878, -0.004492638476569184, -0.004442638975571894, +-0.004392639463468006, -0.004342639940382076, -0.004292640406439990, -0.004242640861766302, -0.004192641306486013, -0.004142641740723677, -0.004092642164605180, -0.004042642578255077, +-0.003992642981798369, -0.003942643375359608, -0.003892643759064683, -0.003842644133038149, -0.003792644497404561, -0.003742644852289805, -0.003692645197818437, -0.003642645534115456, +-0.003592645861305418, -0.003542646179514209, -0.003492646488866384, -0.003442646789486943, -0.003392647081500441, -0.003342647365032765, -0.003292647640208471, -0.003242647907152558, +-0.003192648165989581, -0.003142648416845428, -0.003092648659844654, -0.003042648895112258, -0.002992649122772795, -0.002942649342952154, -0.002892649555774890, -0.002842649761366002, +-0.002792649959850045, -0.002742650151352907, -0.002692650335999144, -0.002642650513913312, -0.002592650685221296, -0.002542650850047655, -0.002492651008517386, -0.002442651160755045, +-0.002392651306886521, -0.002342651447036368, -0.002292651581329587, -0.002242651709890733, -0.002192651832845693, -0.002142651950319024, -0.002092652062435725, -0.002042652169320352, +-0.001992652271098793, -0.001942652367895603, -0.001892652459835782, -0.001842652547043885, -0.001792652629645802, -0.001742652707766087, -0.001692652781529296, -0.001642652851061317, +-0.001592652916486706, -0.001542652977930462, -0.001492653035517143, -0.001442653089372634, -0.001392653139621493, -0.001342653186388719, -0.001292653229798869, -0.001242653269977829, +-0.001192653307050155, -0.001142653341140849, -0.001092653372374465, -0.001042653400876892, -0.000992653426772685, -0.000942653450186845, -0.000892653471243927, -0.000842653490069820, +-0.000792653506789079, -0.000742653521526259, -0.000692653534407251, -0.000642653545556608, -0.000592653555099331, -0.000542653563159977, -0.000492653569864433, -0.000442653575337254, +-0.000392653579703442, -0.000342653583087552, -0.000292653585615472, -0.000242653587411758, -0.000192653588601410, -0.000142653589308984, -0.000092653589660368, -0.000042653589780118, +0.000007346410206766, 0.000057346410175728, 0.000107346410000880, 0.000157346409557666, 0.000207346408721530, 0.000257346407366583, 0.000307346405368271, 0.000357346402601593, +0.000407346398941993, 0.000457346394263583, 0.000507346388441806, 0.000557346381351664, 0.000607346372868600, 0.000657346362866726, 0.000707346351221486, 0.000757346337807880, +0.000807346322501352, 0.000857346305176015, 0.000907346285707312, 0.000957346263970243, 0.001007346239840252, 0.001057346213191452, 0.001107346183899286, 0.001157346151838755, +0.001207346116885302, 0.001257346078913040, 0.001307346037797413, 0.001357345993413865, 0.001407345945636508, 0.001457345894340786, 0.001507345839401699, 0.001557345780694692, +0.001607345718093876, 0.001657345651474696, 0.001707345580712151, 0.001757345505681687, 0.001807345426257415, 0.001857345342314780, 0.001907345253728781, 0.001957345160374863, +0.002007345062127138, 0.002057344958861051, 0.002107344850451600, 0.002157344736774233, 0.002207344617703058, 0.002257344493113523, 0.002307344362881071, 0.002357344226879813, +0.002407344084985194, 0.002457343937072216, 0.002507343783016322, 0.002557343622691624, 0.002607343455973567, 0.002657343282737152, 0.002707343102857823, 0.002757342916209691, +0.002807342722668203, 0.002857342522108357, 0.002907342314405600, 0.002957342099434042, 0.003007341877069129, 0.003057341647185862, 0.003107341409659684, 0.003157341164364709, +0.003207340911176381, 0.003257340649970145, 0.003307340380620113, 0.003357340103001730, 0.003407339816989997, 0.003457339522460358, 0.003507339219286927, 0.003557338907345147, +0.003607338586510021, 0.003657338256656991, 0.003707337917660173, 0.003757337569395009, 0.003807337211736501, 0.003857336844560094, 0.003907336467739902, 0.003957336081151368, +0.004007335684669494, 0.004057335278169725, 0.004107334861526173, 0.004157334434614284, 0.004207333997309060, 0.004257333549485944, 0.004307333091019050, 0.004357332621783824, +0.004407332141655711, 0.004457331650508822, 0.004507331148218605, 0.004557330634660059, 0.004607330109708632, 0.004657329573238434, 0.004707329025124913, 0.004757328465243070, +0.004807327893468349, 0.004857327309674865, 0.004907326713738062, 0.004957326105532942, 0.005007325484934952, 0.005057324851818203, 0.005107324206058143, 0.005157323547529772, +0.005207322876108536, 0.005257322191668548, 0.005307321494085256, 0.005357320783234103, 0.005407320058989205, 0.005457319321226006, 0.005507318569819510, 0.005557317804645160, +0.005607317025577073, 0.005657316232490692, 0.005707315425261022, 0.005757314603763507, 0.005807313767872260, 0.005857312917462730, 0.005907312052409917, 0.005957311172589269, +0.006007310277874899, 0.006057309368142251, 0.006107308443266332, 0.006157307503122585, 0.006207306547585126, 0.006257305576529399, 0.006307304589830853, 0.006357303587363602, +0.006407302569003091, 0.006457301534624325, 0.006507300484102748, 0.006557299417312476, 0.006607298334128956, 0.006657297234427190, 0.006707296118082624, 0.006757294984969375, +0.006807293834962888, 0.006857292667938166, 0.006907291483770657, 0.006957290282334475, 0.007007289063505067, 0.007057287827157437, 0.007107286573167031, 0.007157285301407965, +0.007207284011755685, 0.007257282704085639, 0.007307281378271943, 0.007357280034190043, 0.007407278671714943, 0.007457277290722091, 0.007507275891085601, 0.007557274472680921, +0.007607273035383055, 0.007657271579067451, 0.007707270103608224, 0.007757268608880821, 0.007807267094760247, 0.007857265561121950, 0.007907264007840044, 0.007957262434789978, +0.008007260841846756, 0.008057259228885828, 0.008107257595781304, 0.008157255942408639, 0.008207254268642833, 0.008257252574359336, 0.008307250859432264, 0.008357249123737063, +0.008407247367149184, 0.008457245589542743, 0.008507243790793187, 0.008557241970775523, 0.008607240129365198, 0.008657238266436327, 0.008707236381864362, 0.008757234475524305, +0.008807232547291606, 0.008857230597040383, 0.008907228624646083, 0.008957226629983710, 0.009007224612928716, 0.009057222573355216, 0.009107220511138658, 0.009157218426154051, +0.009207216318276841, 0.009257214187381147, 0.009307212033342416, 0.009357209856036100, 0.009407207655336316, 0.009457205431118511, 0.009507203183257693, 0.009557200911629312, +0.009607198616107484, 0.009657196296567659, 0.009707193952884843, 0.009757191584934488, 0.009807189192590708, 0.009857186775728957, 0.009907184334224238, 0.009957181867952003, +0.010007179376786367, 0.010057176860602784, 0.010107174319276260, 0.010157171752682244, 0.010207169160694854, 0.010257166543189540, 0.010307163900041756, 0.010357161231125615, +0.010407158536316574, 0.010457155815489635, 0.010507153068520252, 0.010557150295282541, 0.010607147495651954, 0.010657144669503498, 0.010707141816712626, 0.010757138937153455, +0.010807136030701436, 0.010857133097231577, 0.010907130136619330, 0.010957127148738812, 0.011007124133465478, 0.011057121090674332, 0.011107118020240829, 0.011157114922039087, +0.011207111795944556, 0.011257108641832247, 0.011307105459577610, 0.011357102249054764, 0.011407099010139164, 0.011457095742706260, 0.011507092446630172, 0.011557089121786353, +0.011607085768049813, 0.011657082385296001, 0.011707078973399039, 0.011757075532234380, 0.011807072061677032, 0.011857068561602449, 0.011907065031884750, 0.011957061472399387, +0.012007057883021371, 0.012057054263626155, 0.012107050614087858, 0.012157046934281936, 0.012207043224083397, 0.012257039483367692, 0.012307035712008946, 0.012357031909882609, +0.012407028076864139, 0.012457024212827652, 0.012507020317648606, 0.012557016391202009, 0.012607012433363315, 0.012657008444006645, 0.012707004423007455, 0.012757000370240754, +0.012806996285581995, 0.012856992168905302, 0.012906988020086128, 0.012956983838999486, 0.013006979625520826, 0.013056975379524275, 0.013106971100885283, 0.013156966789478865, +0.013206962445180475, 0.013256958067864233, 0.013306953657405597, 0.013356949213680020, 0.013406944736561626, 0.013456940225925871, 0.013506935681647764, 0.013556931103602763, +0.013606926491664990, 0.013656921845709900, 0.013706917165612507, 0.013756912451248264, 0.013806907702491296, 0.013856902919217059, 0.013906898101300564, 0.013956893248617269, +0.014006888361041296, 0.014056883438448102, 0.014106878480712700, 0.014156873487710546, 0.014206868459315763, 0.014256863395403810, 0.014306858295850142, 0.014356853160528885, +0.014406847989315495, 0.014456842782084983, 0.014506837538712810, 0.014556832259073098, 0.014606826943041308, 0.014656821590492449, 0.014706816201301980, 0.014756810775344026, +0.014806805312494044, 0.014856799812627051, 0.014906794275618501, 0.014956788701342523, 0.015006783089674571, 0.015056777440489662, 0.015106771753663255, 0.015156766029069473, +0.015206760266583777, 0.015256754466081180, 0.015306748627437141, 0.015356742750525785, 0.015406736835222574, 0.015456730881402963, 0.015506724888941083, 0.015556718857712390, +0.015606712787591900, 0.015656706678455069, 0.015706700530176032, 0.015756694342630242, 0.015806688115692715, 0.015856681849238913, 0.015906675543142960, 0.015956669197280320, +0.016006662811526007, 0.016056656385755482, 0.016106649919842873, 0.016156643413663636, 0.016206636867092790, 0.016256630280005797, 0.016306623652276787, 0.016356616983781214, +0.016406610274394547, 0.016456603523990906, 0.016506596732445759, 0.016556589899634117, 0.016606583025431446, 0.016656576109711874, 0.016706569152350862, 0.016756562153223426, +0.016806555112205031, 0.016856548029169801, 0.016906540903993204, 0.016956533736550251, 0.017006526526716411, 0.017056519274365810, 0.017106511979373910, 0.017156504641615729, +0.017206497260966732, 0.017256489837301048, 0.017306482370494140, 0.017356474860421470, 0.017406467306957166, 0.017456459709976696, 0.017506452069355076, 0.017556444384967770, +0.017606436656688911, 0.017656428884393959, 0.017706421067957934, 0.017756413207256301, 0.017806405302163191, 0.017856397352554065, 0.017906389358303951, 0.017956381319288305, +0.018006373235381259, 0.018056365106458284, 0.018106356932394395, 0.018156348713065058, 0.018206340448344405, 0.018256332138107900, 0.018306323782230564, 0.018356315380587865, +0.018406306933053930, 0.018456298439504231, 0.018506289899814229, 0.018556281313858058, 0.018606272681511184, 0.018656264002648627, 0.018706255277145856, 0.018756246504877002, +0.018806237685717531, 0.018856228819542468, 0.018906219906227276, 0.018956210945646090, 0.019006201937674376, 0.019056192882187156, 0.019106183779059899, 0.019156174628166739, +0.019206165429383144, 0.019256156182584132, 0.019306146887645176, 0.019356137544440408, 0.019406128152845297, 0.019456118712735310, 0.019506109223984578, 0.019556099686468577, +0.019606090100062326, 0.019656080464641294, 0.019706070780079618, 0.019756061046252764, 0.019806051263035755, 0.019856041430304065, 0.019906031547931826, 0.019956021615794507, +0.020006011633767137, 0.020056001601725180, 0.020105991519542774, 0.020155981387095390, 0.020205971204258055, 0.020255960970906234, 0.020305950686914067, 0.020355940352157022, +0.020405929966510569, 0.020455919529848852, 0.020505909042047330, 0.020555898502981042, 0.020605887912525447, 0.020655877270554689, 0.020705866576944239, 0.020755855831569123, +0.020805845034304809, 0.020855834185025440, 0.020905823283606486, 0.020955812329922975, 0.021005801323850375, 0.021055790265262827, 0.021105779154035803, 0.021155767990044334, +0.021205756773163886, 0.021255745503268607, 0.021305734180233959, 0.021355722803935422, 0.021405711374247134, 0.021455699891044566, 0.021505688354202749, 0.021555676763597157, +0.021605665119101929, 0.021655653420592537, 0.021705641667944010, 0.021755629861031824, 0.021805617999730121, 0.021855606083914372, 0.021905594113459607, 0.021955582088241301, +0.022005570008133593, 0.022055557873011965, 0.022105545682751439, 0.022155533437227495, 0.022205521136314271, 0.022255508779887245, 0.022305496367821448, 0.022355483899992354, +0.022405471376274109, 0.022455458796542180, 0.022505446160672050, 0.022555433468537861, 0.022605420720015090, 0.022655407914978765, 0.022705395053304368, 0.022755382134866033, +0.022805369159539249, 0.022855356127199036, 0.022905343037720880, 0.022955329890978923, 0.023005316686848642, 0.023055303425205068, 0.023105290105923677, 0.023155276728878620, +0.023205263293945372, 0.023255249800998964, 0.023305236249914874, 0.023355222640567250, 0.023405208972831573, 0.023455195246583314, 0.023505181461696622, 0.023555167618046980, +0.023605153715509416, 0.023655139753959414, 0.023705125733271118, 0.023755111653320005, 0.023805097513981115, 0.023855083315129925, 0.023905069056640586, 0.023955054738388569, +0.024005040360248919, 0.024055025922097111, 0.024105011423807294, 0.024154996865254946, 0.024204982246315107, 0.024254967566863260, 0.024304952826773547, 0.024354938025921452, +0.024404923164182458, 0.024454908241430710, 0.024504893257541693, 0.024554878212390441, 0.024604863105852439, 0.024654847937801833, 0.024704832708114109, 0.024754817416664302, +0.024804802063327899, 0.024854786647979042, 0.024904771170493223, 0.024954755630745472, 0.025004740028611278, 0.025054724363964789, 0.025104708636681492, 0.025154692846636420, +0.025204676993705061, 0.025254661077761566, 0.025304645098681418, 0.025354629056339659, 0.025404612950611770, 0.025454596781371904, 0.025504580548495547, 0.025554564251858179, +0.025604547891333960, 0.025654531466798372, 0.025704514978126453, 0.025754498425193690, 0.025804481807874240, 0.025854465126043585, 0.025904448379576766, 0.025954431568349270, +0.026004414692235252, 0.026054397751110195, 0.026104380744849144, 0.026154363673327588, 0.026204346536419676, 0.026254329334000900, 0.026304312065946300, 0.026354294732131363, +0.026404277332430247, 0.026454259866718434, 0.026504242334871420, 0.026554224736763353, 0.026604207072269726, 0.026654189341265580, 0.026704171543626403, 0.026754153679226355, +0.026804135747940924, 0.026854117749645152, 0.026904099684214530, 0.026954081551523217, 0.027004063351446696, 0.027054045083860022, 0.027104026748638675, 0.027154008345656819, +0.027203989874789940, 0.027253971335913087, 0.027303952728901751, 0.027353934053630090, 0.027403915309973593, 0.027453896497807748, 0.027503877617006723, 0.027553858667446002, +0.027603839649000633, 0.027653820561546111, 0.027703801404956593, 0.027753782179107570, 0.027803762883874095, 0.027853743519131655, 0.027903724084754410, 0.027953704580617859, +0.028003685006597043, 0.028053665362567461, 0.028103645648403269, 0.028153625863979966, 0.028203606009172596, 0.028253586083856655, 0.028303566087906306, 0.028353546021197041, +0.028403525883604355, 0.028453505675002412, 0.028503485395266703, 0.028553465044272280, 0.028603444621894639, 0.028653424128007941, 0.028703403562487687, 0.028753382925208921, +0.028803362216047141, 0.028853341434876514, 0.028903320581572533, 0.028953299656010248, 0.029003278658065158, 0.029053257587611431, 0.029103236444524557, 0.029153215228679592, +0.029203193939952035, 0.029253172578216049, 0.029303151143347129, 0.029353129635220333, 0.029403108053711158, 0.029453086398693769, 0.029503064670043662, 0.029553042867636336, +0.029603020991345961, 0.029652999041048032, 0.029702977016617609, 0.029752954917930185, 0.029802932744859928, 0.029852910497282344, 0.029902888175072480, 0.029952865778105839, +0.030002843306256591, 0.030052820759400235, 0.030102798137411828, 0.030152775440166868, 0.030202752667539527, 0.030252729819405303, 0.030302706895639252, 0.030352683896116880, +0.030402660820712357, 0.030452637669301178, 0.030502614441758853, 0.030552591137959544, 0.030602567757778761, 0.030652544301091555, 0.030702520767773432, 0.030752497157698566, +0.030802473470742456, 0.030852449706780163, 0.030902425865687186, 0.030952401947337706, 0.031002377951607218, 0.031052353878370784, 0.031102329727503913, 0.031152305498880772, +0.031202281192376866, 0.031252256807867258, 0.031302232345227450, 0.031352207804331622, 0.031402183185055270, 0.031452158487273903, 0.031502133710861698, 0.031552108855694164, +0.031602083921646353, 0.031652058908593773, 0.031702033816410603, 0.031752008644972352, 0.031801983394154076, 0.031851958063831287, 0.031901932653878161, 0.031951907164170200, +0.032001881594582476, 0.032051855944990486, 0.032101830215268419, 0.032151804405291771, 0.032201778514935615, 0.032251752544075453, 0.032301726492585468, 0.032351700360341164, +0.032401674147217611, 0.032451647853090321, 0.032501621477833462, 0.032551595021322551, 0.032601568483433097, 0.032651541864039277, 0.032701515163016601, 0.032751488380240140, +0.032801461515585398, 0.032851434568926564, 0.032901407540139142, 0.032951380429098197, 0.033001353235679251, 0.033051325959756475, 0.033101298601205378, 0.033151271159901040, +0.033201243635718969, 0.033251216028533349, 0.033301188338219684, 0.033351160564653044, 0.033401132707708954, 0.033451104767261583, 0.033501076743186455, 0.033551048635359078, +0.033601020443653630, 0.033650992167945634, 0.033700963808110163, 0.033750935364022717, 0.033800906835557497, 0.033850878222590003, 0.033900849524995322, 0.033950820742648956, +0.034000791875425096, 0.034050762923199251, 0.034100733885846501, 0.034150704763242362, 0.034200675555261018, 0.034250646261777984, 0.034300616882668333, 0.034350587417807589, +0.034400557867069928, 0.034450528230330874, 0.034500498507465942, 0.034550468698349317, 0.034600438802856522, 0.034650408820862635, 0.034700378752243168, 0.034750348596872302, +0.034800318354625576, 0.034850288025378047, 0.034900257609005246, 0.034950227105381357, 0.035000196514381895, 0.035050165835881948, 0.035100135069757024, 0.035150104215881321, +0.035200073274130363, 0.035250042244379214, 0.035300011126503404, 0.035349979920377125, 0.035399948625875900, 0.035449917242875238, 0.035499885771249351, 0.035549854210873741, +0.035599822561623494, 0.035649790823374140, 0.035699758995999864, 0.035749727079376188, 0.035799695073378199, 0.035849662977881412, 0.035899630792760026, 0.035949598517889557, +0.035999566153145098, 0.036049533698402164, 0.036099501153534955, 0.036149468518418992, 0.036199435792929363, 0.036249402976941583, 0.036299370070329851, 0.036349337072969695, +0.036399303984736196, 0.036449270805504877, 0.036499237535149942, 0.036549204173546915, 0.036599170720571318, 0.036649137176097350, 0.036699103540000541, 0.036749069812155970, +0.036799035992439173, 0.036849002080724343, 0.036898968076887001, 0.036948933980802241, 0.036998899792345594, 0.037048865511391249, 0.037098831137814745, 0.037148796671491159, +0.037198762112296030, 0.037248727460103548, 0.037298692714789250, 0.037348657876228215, 0.037398622944295981, 0.037448587918866752, 0.037498552799816044, 0.037548517587019402, +0.037598482280351023, 0.037648446879686437, 0.037698411384900737, 0.037748375795869447, 0.037798340112466779, 0.037848304334568261, 0.037898268462048981, 0.037948232494784469, +0.037998196432648935, 0.038048160275517912, 0.038098124023266490, 0.038148087675770194, 0.038198051232903242, 0.038248014694541158, 0.038297978060559040, 0.038347941330832420, +0.038397904505235503, 0.038447867583643824, 0.038497830565932915, 0.038547793451976994, 0.038597756241651585, 0.038647718934831786, 0.038697681531393135, 0.038747644031209838, +0.038797606434157424, 0.038847568740110999, 0.038897530948946095, 0.038947493060536922, 0.038997455074759012, 0.039047416991487470, 0.039097378810597820, 0.039147340531964288, +0.039197302155462403, 0.039247263680967259, 0.039297225108354407, 0.039347186437498044, 0.039397147668273715, 0.039447108800556512, 0.039497069834221986, 0.039547030769144342, +0.039596991605199118, 0.039646952342261864, 0.039696912980206778, 0.039746873518909417, 0.039796833958244869, 0.039846794298088677, 0.039896754538315059, 0.039946714678799553, +0.039996674719417265, 0.040046634660043733, 0.040096594500553161, 0.040146554240821114, 0.040196513880722679, 0.040246473420133398, 0.040296432858927492, 0.040346392196980503, +0.040396351434167539, 0.040446310570364137, 0.040496269605444515, 0.040546228539284218, 0.040596187371758789, 0.040646146102742454, 0.040696104732110758, 0.040746063259738792, +0.040796021685502115, 0.040845980009274939, 0.040895938230932814, 0.040945896350350841, 0.040995854367404570, 0.041045812281968228, 0.041095770093917343, 0.041145727803127044, +0.041195685409472861, 0.041245642912829027, 0.041295600313071078, 0.041345557610074135, 0.041395514803713743, 0.041445471893864112, 0.041495428880400809, 0.041545385763199376, +0.041595342542134033, 0.041645299217080337, 0.041695255787913388, 0.041745212254508744, 0.041795168616740631, 0.041845124874484593, 0.041895081027615744, 0.041945037076009634, +0.041994993019540489, 0.042044948858083860, 0.042094904591514860, 0.042144860219709042, 0.042194815742540630, 0.042244771159885175, 0.042294726471617798, 0.042344681677614043, +0.042394636777748143, 0.042444591771895655, 0.042494546659932124, 0.042544501441731788, 0.042594456117170200, 0.042644410686122465, 0.042694365148464149, 0.042744319504069483, +0.042794273752814013, 0.042844227894572859, 0.042894181929221578, 0.042944135856634397, 0.042994089676686879, 0.043044043389254140, 0.043093996994211729, 0.043143950491433887, +0.043193903880796164, 0.043243857162173688, 0.043293810335442010, 0.043343763400475362, 0.043393716357149302, 0.043443669205338958, 0.043493621944919882, 0.043543574575766304, +0.043593527097753798, 0.043643479510757907, 0.043693431814652885, 0.043743384009314275, 0.043793336094617205, 0.043843288070437240, 0.043893239936648613, 0.043943191693126889, +0.043993143339747180, 0.044043094876385060, 0.044093046302914753, 0.044142997619211838, 0.044192948825151422, 0.044242899920609084, 0.044292850905459050, 0.044342801779576890, +0.044392752542837727, 0.044442703195117124, 0.044492653736289314, 0.044542604166229877, 0.044592554484814369, 0.044642504691917037, 0.044692454787413440, 0.044742404771178704, +0.044792354643088401, 0.044842304403016765, 0.044892254050839374, 0.044942203586431341, 0.044992153009668252, 0.045042102320424326, 0.045092051518575156, 0.045142000603995848, +0.045191949576561988, 0.045241898436147801, 0.045291847182628880, 0.045341795815880333, 0.045391744335777744, 0.045441692742195346, 0.045491641035008724, 0.045541589214093438, +0.045591537279323732, 0.045641485230575186, 0.045691433067722928, 0.045741380790642536, 0.045791328399208242, 0.045841275893295626, 0.045891223272779821, 0.045941170537536401, +0.045991117687439617, 0.046041064722365035, 0.046091011642187790, 0.046140958446783460, 0.046190905136026292, 0.046240851709791857, 0.046290798167955297, 0.046340744510392183, +0.046390690736976763, 0.046440636847584621, 0.046490582842090886, 0.046540528720371135, 0.046590474482299617, 0.046640420127751915, 0.046690365656603609, 0.046740311068728939, +0.046790256364003496, 0.046840201542302409, 0.046890146603501263, 0.046940091547474312, 0.046990036374097127, 0.047039981083244850, 0.047089925674793066, 0.047139870148616023, +0.047189814504589311, 0.047239758742588053, 0.047289702862487848, 0.047339646864162942, 0.047389590747488913, 0.047439534512340918, 0.047489478158594521, 0.047539421686123989, +0.047589365094804902, 0.047639308384512843, 0.047689251555122075, 0.047739194606508176, 0.047789137538546286, 0.047839080351112000, 0.047889023044079569, 0.047938965617324580, +0.047988908070722182, 0.048038850404147952, 0.048088792617476152, 0.048138734710582373, 0.048188676683341758, 0.048238618535629892, 0.048288560267321035, 0.048338501878290779, +0.048388443368414268, 0.048438384737567092, 0.048488325985623512, 0.048538267112459121, 0.048588208117949498, 0.048638149001968917, 0.048688089764392962, 0.048738030405096777, +0.048787970923955967, 0.048837911320844786, 0.048887851595638819, 0.048937791748213229, 0.048987731778443601, 0.049037671686204203, 0.049087611471370626, 0.049137551133818021, +0.049187490673421978, 0.049237430090056766, 0.049287369383597977, 0.049337308553920767, 0.049387247600900727, 0.049437186524412126, 0.049487125324330562, 0.049537064000531178, +0.049587002552889586, 0.049636940981280041, 0.049686879285578141, 0.049736817465659486, 0.049786755521398343, 0.049836693452670312, 0.049886631259350549, 0.049936568941314652, +0.049986506498436889, 0.050036443930592860, 0.050086381237657719, 0.050136318419507067, 0.050186255476015185, 0.050236192407057650, 0.050286129212509648, 0.050336065892246755, +0.050386002446143260, 0.050435938874074757, 0.050485875175916406, 0.050535811351543815, 0.050585747400831250, 0.050635683323654312, 0.050685619119888614, 0.050735554789408423, +0.050785490332089352, 0.050835425747806542, 0.050885361036435622, 0.050935296197850852, 0.050985231231927844, 0.051035166138541754, 0.051085100917568189, 0.051135035568881437, +0.051184970092357090, 0.051234904487870318, 0.051284838755296734, 0.051334772894510605, 0.051384706905387545, 0.051434640787802716, 0.051484574541631731, 0.051534508166748864, +0.051584441663029730, 0.051634375030349934, 0.051684308268583758, 0.051734241377606807, 0.051784174357294252, 0.051834107207521712, 0.051884039928163456, 0.051933972519095095, +0.051983904980191807, 0.052033837311329205, 0.052083769512381563, 0.052133701583224494, 0.052183633523733175, 0.052233565333783212, 0.052283497013248900, 0.052333428562005839, +0.052383359979929205, 0.052433291266894617, 0.052483222422776359, 0.052533153447450041, 0.052583084340791286, 0.052633015102674381, 0.052682945732974933, 0.052732876231568117, +0.052782806598329561, 0.052832736833133540, 0.052882666935855679, 0.052932596906371150, 0.052982526744555572, 0.053032456450283240, 0.053082386023429760, 0.053132315463870317, +0.053182244771480529, 0.053232173946134685, 0.053282102987708406, 0.053332031896076867, 0.053381960671115697, 0.053431889312699175, 0.053481817820702937, 0.053531746195002151, +0.053581674435472446, 0.053631602541988108, 0.053681530514424765, 0.053731458352658037, 0.053781386056562221, 0.053831313626012942, 0.053881241060885376, 0.053931168361055153, +0.053981095526396565, 0.054031022556785241, 0.054080949452096357, 0.054130876212205546, 0.054180802836987098, 0.054230729326316639, 0.054280655680069366, 0.054330581898120893, +0.054380507980345522, 0.054430433926618879, 0.054480359736816149, 0.054530285410812972, 0.054580210948483629, 0.054630136349703762, 0.054680061614348997, 0.054729986742293638, +0.054779911733413310, 0.054829836587583204, 0.054879761304678948, 0.054929685884574850, 0.054979610327146530, 0.055029534632269186, 0.055079458799818452, 0.055129382829668623, +0.055179306721695340, 0.055229230475773793, 0.055279154091779609, 0.055329077569587097, 0.055379000909071892, 0.055428924110109190, 0.055478847172574612, 0.055528770096342474, +0.055578692881288416, 0.055628615527288067, 0.055678538034215734, 0.055728460401947059, 0.055778382630357233, 0.055828304719321889, 0.055878226668715343, 0.055928148478413230, +0.055978070148290746, 0.056027991678223532, 0.056077913068085891, 0.056127834317753471, 0.056177755427101468, 0.056227676396005517, 0.056277597224339927, 0.056327517911980346, +0.056377438458801978, 0.056427358864680449, 0.056477279129490084, 0.056527199253106515, 0.056577119235404955, 0.056627039076261036, 0.056676958775549076, 0.056726878333144722, +0.056776797748923614, 0.056826717022760063, 0.056876636154529731, 0.056926555144107799, 0.056976473991369923, 0.057026392696190427, 0.057076311258444944, 0.057126229678008678, +0.057176147954757291, 0.057226066088565085, 0.057275984079307708, 0.057325901926860379, 0.057375819631098737, 0.057425737191897107, 0.057475654609131129, 0.057525571882676013, +0.057575489012407409, 0.057625405998199646, 0.057675322839928364, 0.057725239537469220, 0.057775156090696535, 0.057825072499485958, 0.057874988763712699, 0.057924904883252408, +0.057974820857979420, 0.058024736687769370, 0.058074652372497489, 0.058124567912039411, 0.058174483306269474, 0.058224398555063332, 0.058274313658296190, 0.058324228615843708, +0.058374143427580211, 0.058424058093381352, 0.058473972613122351, 0.058523886986678861, 0.058573801213925213, 0.058623715294737061, 0.058673629228990061, 0.058723543016558549, +0.058773456657318174, 0.058823370151144166, 0.058873283497912168, 0.058923196697496523, 0.058973109749772878, 0.059023022654616467, 0.059072935411902942, 0.059122848021506635, +0.059172760483303208, 0.059222672797167877, 0.059272584962976306, 0.059322496980602830, 0.059372408849923120, 0.059422320570812377, 0.059472232143146279, 0.059522143566799163, +0.059572054841646682, 0.059621965967564507, 0.059671876944426980, 0.059721787772109756, 0.059771698450488062, 0.059821608979437564, 0.059871519358832608, 0.059921429588548847, +0.059971339668461514, 0.060021249598446270, 0.060071159378377467, 0.060121069008130759, 0.060170978487581385, 0.060220887816605000, 0.060270796995075961, 0.060320706022869923, +0.060370614899862118, 0.060420523625928230, 0.060470432200942580, 0.060520340624780851, 0.060570248897318275, 0.060620157018430515, 0.060670064987991920, 0.060719972805878167, +0.060769880471964917, 0.060819787986126528, 0.060869695348238669, 0.060919602558176571, 0.060969509615815910, 0.061019416521031038, 0.061069323273697615, 0.061119229873690888, +0.061169136320886532, 0.061219042615158883, 0.061268948756383640, 0.061318854744436012, 0.061368760579191703, 0.061418666260525043, 0.061468571788311714, 0.061518477162426963, +0.061568382382746457, 0.061618287449144556, 0.061668192361496933, 0.061718097119679273, 0.061768001723565925, 0.061817906173032580, 0.061867810467954462, 0.061917714608207261, +0.061967618593665334, 0.062017522424204365, 0.062067426099699584, 0.062117329620026682, 0.062167232985060009, 0.062217136194675254, 0.062267039248747665, 0.062316942147152915, +0.062366844889765370, 0.062416747476460713, 0.062466649907114188, 0.062516552181601473, 0.062566454299796945, 0.062616356261576273, 0.062666258066815167, 0.062716159715387965, +0.062766061207170362, 0.062815962542037598, 0.062865863719865384, 0.062915764740528068, 0.062965665603901336, 0.063015566309860438, 0.063065466858281058, 0.063115367249037588, +0.063165267482005683, 0.063215167557060623, 0.063265067474078077, 0.063314967232932423, 0.063364866833499345, 0.063414766275654108, 0.063464665559272396, 0.063514564684228586, +0.063564463650398348, 0.063614362457656962, 0.063664261105880110, 0.063714159594942157, 0.063764057924718814, 0.063813956095085764, 0.063863854105917384, 0.063913751957089357, +0.063963649648476964, 0.064013547179955888, 0.064063444551400492, 0.064113341762686502, 0.064163238813689141, 0.064213135704284136, 0.064263032434345849, 0.064312929003749963, +0.064362825412371774, 0.064412721660086963, 0.064462617746769896, 0.064512513672296296, 0.064562409436541401, 0.064612305039380924, 0.064662200480689255, 0.064712095760342078, +0.064761990878215103, 0.064811885834182709, 0.064861780628120591, 0.064911675259904031, 0.064961569729408725, 0.065011464036509051, 0.065061358181080720, 0.065111252162998998, +0.065161145982139582, 0.065211039638376850, 0.065260933131586527, 0.065310826461643878, 0.065360719628424602, 0.065410612631803075, 0.065460505471655023, 0.065510398147855711, +0.065560290660280837, 0.065610183008804793, 0.065660075193303302, 0.065709967213652062, 0.065759859069725465, 0.065809750761399208, 0.065859642288548584, 0.065909533651049290, +0.065959424848775733, 0.066009315881603609, 0.066059206749408184, 0.066109097452065196, 0.066158987989449011, 0.066208878361435367, 0.066258768567899529, 0.066308658608717208, +0.066358548483762783, 0.066408438192912006, 0.066458327736040129, 0.066508217113022877, 0.066558106323734628, 0.066607995368051121, 0.066657884245848079, 0.066707772956999867, +0.066757661501382237, 0.066807549878870442, 0.066857438089340221, 0.066907326132665965, 0.066957214008723384, 0.067007101717387774, 0.067056989258534844, 0.067106876632039014, +0.067156763837775982, 0.067206650875621041, 0.067256537745449915, 0.067306424447136998, 0.067356310980558026, 0.067406197345588281, 0.067456083542103487, 0.067505969569978022, +0.067555855429087652, 0.067605741119307644, 0.067655626640513708, 0.067705511992580278, 0.067755397175383064, 0.067805282188797805, 0.067855167032698893, 0.067905051706962066, +0.067954936211462605, 0.068004820546076247, 0.068054704710677399, 0.068104588705141786, 0.068154472529344701, 0.068204356183161882, 0.068254239666467723, 0.068304122979137960, +0.068354006121047903, 0.068403889092073275, 0.068453771892088469, 0.068503654520969237, 0.068553536978590873, 0.068603419264829102, 0.068653301379558357, 0.068703183322654335, +0.068753065093992816, 0.068802946693448178, 0.068852828120896187, 0.068902709376212123, 0.068952590459271726, 0.069002471369949400, 0.069052352108120912, 0.069102232673661529, +0.069152113066447016, 0.069201993286351779, 0.069251873333251557, 0.069301753207021644, 0.069351632907537791, 0.069401512434674420, 0.069451391788307268, 0.069501270968311643, +0.069551149974563270, 0.069601028806936582, 0.069650907465307332, 0.069700785949551244, 0.069750664259542752, 0.069800542395157608, 0.069850420356271092, 0.069900298142758985, +0.069950175754495678, 0.070000053191356937, 0.070049930453218057, 0.070099807539954803, 0.070149684451441582, 0.070199561187554146, 0.070249437748167817, 0.070299314133158333, +0.070349190342400114, 0.070399066375768926, 0.070448942233140077, 0.070498817914389306, 0.070548693419391045, 0.070598568748021062, 0.070648443900154650, 0.070698318875667562, +0.070748193674434245, 0.070798068296330452, 0.070847942741231920, 0.070897817009013084, 0.070947691099549709, 0.070997565012717118, 0.071047438748391048, 0.071097312306445934, +0.071147185686757541, 0.071197058889201192, 0.071246931913652625, 0.071296804759986301, 0.071346677428077959, 0.071396549917802921, 0.071446422229036952, 0.071496294361654486, +0.071546166315531276, 0.071596038090542657, 0.071645909686564396, 0.071695781103470899, 0.071745652341137958, 0.071795523399441341, 0.071845394278255453, 0.071895264977456089, +0.071945135496918555, 0.071995005836518633, 0.072044875996130756, 0.072094745975630689, 0.072144615774893756, 0.072194485393795721, 0.072244354832211033, 0.072294224090015458, +0.072344093167084317, 0.072393962063293391, 0.072443830778517113, 0.072493699312631263, 0.072543567665511163, 0.072593435837032594, 0.072643303827069974, 0.072693171635499113, +0.072743039262195761, 0.072792906707034366, 0.072842773969890709, 0.072892641050640111, 0.072942507949158353, 0.072992374665319881, 0.073042241199000477, 0.073092107550075461, +0.073141973718420628, 0.073191839703910425, 0.073241705506420604, 0.073291571125826530, 0.073341436562003981, 0.073391301814827378, 0.073441166884172529, 0.073491031769914769, +0.073540896471929865, 0.073590760990092277, 0.073640625324277800, 0.073690489474362186, 0.073740353440219911, 0.073790217221726753, 0.073840080818758050, 0.073889944231189594, +0.073939807458895820, 0.073989670501752536, 0.074039533359635090, 0.074089396032419236, 0.074139258519979448, 0.074189120822191520, 0.074238982938930789, 0.074288844870073048, +0.074338706615492745, 0.074388568175065686, 0.074438429548667195, 0.074488290736173079, 0.074538151737457786, 0.074588012552397123, 0.074637873180866426, 0.074687733622741490, +0.074737593877896774, 0.074787453946208074, 0.074837313827551169, 0.074887173521800562, 0.074937033028832006, 0.074986892348520864, 0.075036751480742944, 0.075086610425372693, +0.075136469182285934, 0.075186327751357987, 0.075236186132464661, 0.075286044325480431, 0.075335902330281090, 0.075385760146742004, 0.075435617774738950, 0.075485475214146405, +0.075535332464840177, 0.075585189526695615, 0.075635046399588526, 0.075684903083393387, 0.075734759577985977, 0.075784615883242118, 0.075834471999036271, 0.075884327925244244, +0.075934183661741400, 0.075984039208403534, 0.076033894565105134, 0.076083749731721995, 0.076133604708129479, 0.076183459494203395, 0.076233314089818233, 0.076283168494849771, +0.076333022709173387, 0.076382876732664903, 0.076432730565198767, 0.076482584206650814, 0.076532437656896407, 0.076582290915811341, 0.076632143983270104, 0.076681996859148505, +0.076731849543322364, 0.076781702035666144, 0.076831554336055680, 0.076881406444366321, 0.076931258360473903, 0.076981110084252888, 0.077030961615579097, 0.077080812954327907, +0.077130664100375113, 0.077180515053595231, 0.077230365813864055, 0.077280216381056963, 0.077330066755049789, 0.077379916935716983, 0.077429766922934393, 0.077479616716577396, +0.077529466316521786, 0.077579315722642067, 0.077629164934814074, 0.077679013952913156, 0.077728862776815150, 0.077778711406394543, 0.077828559841527159, 0.077878408082088818, +0.077928256127954010, 0.077978103978998570, 0.078027951635097861, 0.078077799096127720, 0.078127646361962635, 0.078177493432478443, 0.078227340307550505, 0.078277186987054673, +0.078327033470865420, 0.078376879758858584, 0.078426725850909554, 0.078476571746894153, 0.078526417446686869, 0.078576262950163553, 0.078626108257199581, 0.078675953367670776, +0.078725798281451639, 0.078775642998418008, 0.078825487518445717, 0.078875331841409269, 0.078925175967184485, 0.078975019895646759, 0.079024863626671937, 0.079074707160134511, +0.079124550495910301, 0.079174393633874726, 0.079224236573903609, 0.079274079315871465, 0.079323921859654117, 0.079373764205126957, 0.079423606352165846, 0.079473448300645261, +0.079523290050441064, 0.079573131601428634, 0.079622972953483820, 0.079672814106481138, 0.079722655060296410, 0.079772495814805500, 0.079822336369882896, 0.079872176725404462, +0.079922016881245575, 0.079971856837282099, 0.080021696593388522, 0.080071536149440722, 0.080121375505314077, 0.080171214660884421, 0.080221053616026300, 0.080270892370615549, +0.080320730924527559, 0.080370569277638179, 0.080420407429821941, 0.080470245380954694, 0.080520083130911815, 0.080569920679569182, 0.080619758026801311, 0.080669595172484024, +0.080719432116493212, 0.080769268858703364, 0.080819105398990357, 0.080868941737229569, 0.080918777873296877, 0.080968613807066811, 0.081018449538415194, 0.081068285067217458, +0.081118120393349452, 0.081167955516685708, 0.081217790437102061, 0.081267625154473944, 0.081317459668677219, 0.081367293979586391, 0.081417128087077323, 0.081466961991025447, +0.081516795691306598, 0.081566629187795323, 0.081616462480367483, 0.081666295568898470, 0.081716128453264175, 0.081765961133339116, 0.081815793608999141, 0.081865625880120127, +0.081915457946576620, 0.081965289808244454, 0.082015121464999077, 0.082064952916716324, 0.082114784163270754, 0.082164615204538216, 0.082214446040394157, 0.082264276670714412, +0.082314107095373540, 0.082363937314247390, 0.082413767327211410, 0.082463597134141448, 0.082513426734912049, 0.082563256129399076, 0.082613085317477977, 0.082662914299024601, +0.082712743073913492, 0.082762571642020527, 0.082812400003221584, 0.082862228157391193, 0.082912056104405232, 0.082961883844139134, 0.083011711376468761, 0.083061538701268672, +0.083111365818414731, 0.083161192727782385, 0.083211019429247496, 0.083260845922684623, 0.083310672207969616, 0.083360498284977949, 0.083410324153585472, 0.083460149813666729, +0.083509975265097625, 0.083559800507753579, 0.083609625541510482, 0.083659450366242866, 0.083709274981826634, 0.083759099388137651, 0.083808923585050488, 0.083858747572441009, +0.083908571350184646, 0.083958394918157320, 0.084008218276233559, 0.084058041424289243, 0.084107864362199830, 0.084157687089841199, 0.084207509607087908, 0.084257331913815833, +0.084307154009900437, 0.084356975895217609, 0.084406797569641881, 0.084456619033049171, 0.084506440285314899, 0.084556261326314983, 0.084606082155923967, 0.084655902774017744, +0.084705723180471773, 0.084755543375161918, 0.084805363357962779, 0.084855183128750220, 0.084905002687400158, 0.084954822033787139, 0.085004641167787068, 0.085054460089275391, +0.085104278798128014, 0.085154097294219480, 0.085203915577425723, 0.085253733647622162, 0.085303551504684716, 0.085353369148487956, 0.085403186578907761, 0.085453003795819604, +0.085502820799099377, 0.085552637588621666, 0.085602454164262348, 0.085652270525896898, 0.085702086673401220, 0.085751902606649888, 0.085801718325518792, 0.085851533829883836, +0.085901349119619608, 0.085951164194602012, 0.086000979054706495, 0.086050793699808989, 0.086100608129784040, 0.086150422344507580, 0.086200236343855055, 0.086250050127702399, +0.086299863695924156, 0.086349677048396259, 0.086399490184994182, 0.086449303105593817, 0.086499115810069735, 0.086548928298297884, 0.086598740570153709, 0.086648552625513117, +0.086698364464250707, 0.086748176086242385, 0.086797987491364054, 0.086847798679490329, 0.086897609650497101, 0.086947420404259845, 0.086997230940654480, 0.087047041259555605, +0.087096851360839111, 0.087146661244380502, 0.087196470910055682, 0.087246280357739237, 0.087296089587307099, 0.087345898598634730, 0.087395707391598049, 0.087445515966071669, +0.087495324321931495, 0.087545132459053016, 0.087594940377312150, 0.087644748076583484, 0.087694555556742937, 0.087744362817666469, 0.087794169859228624, 0.087843976681305377, +0.087893783283772176, 0.087943589666504965, 0.087993395829378332, 0.088043201772268209, 0.088093007495050085, 0.088142812997599893, 0.088192618279792218, 0.088242423341502993, +0.088292228182607721, 0.088342032802982307, 0.088391837202501378, 0.088441641381040853, 0.088491445338476221, 0.088541249074683429, 0.088591052589537062, 0.088640855882913067, +0.088690658954686932, 0.088740461804734591, 0.088790264432930657, 0.088840066839151063, 0.088889869023271742, 0.088939670985167307, 0.088989472724713692, 0.089039274241786398, +0.089089075536261358, 0.089138876608013187, 0.089188677456917817, 0.089238478082850764, 0.089288278485687961, 0.089338078665304008, 0.089387878621574865, 0.089437678354376021, +0.089487477863583437, 0.089537277149071698, 0.089587076210716779, 0.089636875048394168, 0.089686673661979813, 0.089736472051348326, 0.089786270216375655, 0.089836068156937759, +0.089885865872909240, 0.089935663364166071, 0.089985460630583741, 0.090035257672038196, 0.090085054488404065, 0.090134851079557293, 0.090184647445373398, 0.090234443585728324, +0.090284239500496716, 0.090334035189554490, 0.090383830652777178, 0.090433625890040739, 0.090483420901219788, 0.090533215686190285, 0.090583010244827747, 0.090632804577008119, +0.090682598682606044, 0.090732392561497469, 0.090782186213558352, 0.090831979638663338, 0.090881772836688371, 0.090931565807508968, 0.090981358551001090, 0.091031151067039379, +0.091080943355499794, 0.091130735416257838, 0.091180527249189500, 0.091230318854169393, 0.091280110231073491, 0.091329901379777312, 0.091379692300156815, 0.091429482992086655, +0.091479273455442781, 0.091529063690100734, 0.091578853695936463, 0.091628643472824622, 0.091678433020641159, 0.091728222339261617, 0.091778011428561970, 0.091827800288416847, +0.091877588918702222, 0.091927377319294068, 0.091977165490067042, 0.092026953430897090, 0.092076741141659743, 0.092126528622231002, 0.092176315872485495, 0.092226102892299197, +0.092275889681547638, 0.092325676240106805, 0.092375462567851327, 0.092425248664657206, 0.092475034530399958, 0.092524820164955557, 0.092574605568198673, 0.092624390740005266, +0.092674175680250895, 0.092723960388811519, 0.092773744865561808, 0.092823529110377723, 0.092873313123135265, 0.092923096903709076, 0.092972880451975159, 0.093022663767809030, +0.093072446851086690, 0.093122229701682782, 0.093172012319473307, 0.093221794704333796, 0.093271576856140237, 0.093321358774767299, 0.093371140460090971, 0.093420921911986782, +0.093470703130330735, 0.093520484114997485, 0.093570264865863020, 0.093620045382802899, 0.093669825665693110, 0.093719605714408322, 0.093769385528824509, 0.093819165108817673, +0.093868944454262485, 0.093918723565034931, 0.093968502441010571, 0.094018281082065405, 0.094068059488074077, 0.094117837658912615, 0.094167615594456550, 0.094217393294581897, +0.094267170759163313, 0.094316947988076813, 0.094366724981197928, 0.094416501738402672, 0.094466278259565731, 0.094516054544563091, 0.094565830593270311, 0.094615606405563407, +0.094665381981317034, 0.094715157320407209, 0.094764932422709933, 0.094814707288099875, 0.094864481916453067, 0.094914256307645037, 0.094964030461551815, 0.095013804378048086, +0.095063578057009823, 0.095113351498312640, 0.095163124701832497, 0.095212897667444119, 0.095262670395023494, 0.095312442884446180, 0.095362215135588208, 0.095411987148324259, +0.095461758922530338, 0.095511530458082028, 0.095561301754855332, 0.095611072812724934, 0.095660843631566850, 0.095710614211256664, 0.095760384551670394, 0.095810154652682708, +0.095859924514169637, 0.095909694136007195, 0.095959463518070082, 0.096009232660234298, 0.096059001562375443, 0.096108770224369519, 0.096158538646091238, 0.096208306827416601, +0.096258074768221208, 0.096307842468381061, 0.096357609927770871, 0.096407377146266654, 0.096457144123743982, 0.096506910860078912, 0.096556677355146114, 0.096606443608821618, +0.096656209620981023, 0.096705975391500332, 0.096755740920254268, 0.096805506207118863, 0.096855271251970118, 0.096905036054682758, 0.096954800615132813, 0.097004564933195855, +0.097054329008747942, 0.097104092841663756, 0.097153856431819341, 0.097203619779090283, 0.097253382883352613, 0.097303145744481054, 0.097352908362351623, 0.097402670736839919, +0.097452432867821986, 0.097502194755172536, 0.097551956398767584, 0.097601717798482743, 0.097651478954194057, 0.097701239865776224, 0.097751000533105301, 0.097800760956057317, +0.097850521134506985, 0.097900281068330347, 0.097950040757403017, 0.097999800201601012, 0.098049559400799083, 0.098099318354873233, 0.098149077063699103, 0.098198835527152722, +0.098248593745108803, 0.098298351717443402, 0.098348109444032134, 0.098397866924751012, 0.098447624159474806, 0.098497381148079516, 0.098547137890440784, 0.098596894386434653, +0.098646650635935834, 0.098696406638820400, 0.098746162394963949, 0.098795917904242525, 0.098845673166530867, 0.098895428181705033, 0.098945182949641067, 0.098994937470213692, +0.099044691743298982, 0.099094445768772535, 0.099144199546510423, 0.099193953076387370, 0.099243706358279435, 0.099293459392062244, 0.099343212177611828, 0.099392964714802953, +0.099442717003511663, 0.099492469043613571, 0.099542220834984763, 0.099591972377499949, 0.099641723671035201, 0.099691474715466161, 0.099741225510668857, 0.099790976056518058, +0.099840726352889819, 0.099890476399660214, 0.099940226196703966, 0.099989975743897147, 0.100039725041115400, 0.100089474088234780, 0.100139222885130020, 0.100188971431677220, +0.100238719727751990, 0.100288467773230390, 0.100338215567987190, 0.100387963111898450, 0.100437710404839800, 0.100487457446687310, 0.100537204237315740, 0.100586950776601170, +0.100636697064419200, 0.100686443100645950, 0.100736188885156130, 0.100785934417825860, 0.100835679698531190, 0.100885424727146870, 0.100935169503549000, 0.100984914027613200, +0.101034658299215550, 0.101084402318230820, 0.101134146084535080, 0.101183889598003980, 0.101233632858513600, 0.101283375865938690, 0.101333118620155340, 0.101382861121039200, +0.101432603368466340, 0.101482345362311540, 0.101532087102450870, 0.101581828588759980, 0.101631569821114970, 0.101681310799390580, 0.101731051523462930, 0.101780791993208080, +0.101830532208500820, 0.101880272169217220, 0.101930011875232930, 0.101979751326424060, 0.102029490522665380, 0.102079229463832970, 0.102128968149802480, 0.102178706580450020, +0.102228444755650350, 0.102278182675279560, 0.102327920339213310, 0.102377657747327720, 0.102427394899497540, 0.102477131795598860, 0.102526868435507360, 0.102576604819099120, +0.102626340946248940, 0.102676076816832900, 0.102725812430726660, 0.102775547787806340, 0.102825282887946720, 0.102875017731023880, 0.102924752316913930, 0.102974486645491680, +0.103024220716633200, 0.103073954530214160, 0.103123688086110680, 0.103173421384197550, 0.103223154424350860, 0.103272887206446280, 0.103322619730359930, 0.103372351995966570, +0.103422084003142360, 0.103471815751762920, 0.103521547241704380, 0.103571278472841550, 0.103621009445050510, 0.103670740158206940, 0.103720470612186980, 0.103770200806865390, +0.103819930742118300, 0.103869660417821820, 0.103919389833850750, 0.103969118990081210, 0.104018847886388880, 0.104068576522649850, 0.104118304898738950, 0.104168033014532290, +0.104217760869905540, 0.104267488464734840, 0.104317215798894970, 0.104366942872262060, 0.104416669684711790, 0.104466396236120290, 0.104516122526362370, 0.104565848555314130, +0.104615574322851280, 0.104665299828849920, 0.104715025073184880, 0.104764750055732270, 0.104814474776368240, 0.104864199234967560, 0.104913923431406400, 0.104963647365560420, +0.105013371037305780, 0.105063094446517260, 0.105112817593071010, 0.105162540476842700, 0.105212263097708490, 0.105261985455543190, 0.105311707550222910, 0.105361429381623360, +0.105411150949620700, 0.105460872254089700, 0.105510593294906530, 0.105560314071946880, 0.105610034585086870, 0.105659754834201360, 0.105709474819166440, 0.105759194539857840, +0.105808913996151690, 0.105858633187922810, 0.105908352115047360, 0.105958070777401460, 0.106007789174859950, 0.106057507307298970, 0.106107225174594210, 0.106156942776621840, +0.106206660113256660, 0.106256377184374850, 0.106306093989852080, 0.106355810529564510, 0.106405526803386980, 0.106455242811195640, 0.106504958552866190, 0.106554674028274790, +0.106604389237296250, 0.106654104179806750, 0.106703818855681980, 0.106753533264798110, 0.106803247407029960, 0.106852961282253690, 0.106902674890345470, 0.106952388231180110, +0.107002101304633790, 0.107051814110582210, 0.107101526648901530, 0.107151238919466610, 0.107200950922153580, 0.107250662656838180, 0.107300374123396550, 0.107350085321703550, +0.107399796251635340, 0.107449506913067640, 0.107499217305876610, 0.107548927429937100, 0.107598637285125270, 0.107648346871316840, 0.107698056188388000, 0.107747765236213570, +0.107797474014669730, 0.107847182523632640, 0.107896890762977150, 0.107946598732579450, 0.107996306432315240, 0.108046013862060700, 0.108095721021690700, 0.108145427911081380, +0.108195134530108500, 0.108244840878648220, 0.108294546956575410, 0.108344252763766220, 0.108393958300096390, 0.108443663565442120, 0.108493368559678250, 0.108543073282680950, +0.108592777734325980, 0.108642481914489500, 0.108692185823046360, 0.108741889459872770, 0.108791592824844460, 0.108841295917837600, 0.108890998738727070, 0.108940701287389030, +0.108990403563699680, 0.109040105567533890, 0.109089807298767840, 0.109139508757277250, 0.109189209942938350, 0.109238910855625980, 0.109288611495216320, 0.109338311861585140, +0.109388011954608620, 0.109437711774161630, 0.109487411320120370, 0.109537110592360570, 0.109586809590758440, 0.109636508315188840, 0.109686206765527970, 0.109735904941651590, +0.109785602843435890, 0.109835300470755720, 0.109884997823487320, 0.109934694901506850, 0.109984391704689220, 0.110034088232910610, 0.110083784486046780, 0.110133480463973910, +0.110183176166566920, 0.110232871593701970, 0.110282566745254860, 0.110332261621101770, 0.110381956221117570, 0.110431650545178490, 0.110481344593160280, 0.110531038364939160, +0.110580731860390000, 0.110630425079389000, 0.110680118021811950, 0.110729810687535040, 0.110779503076433170, 0.110829195188382520, 0.110878887023259350, 0.110928578580938510, +0.110978269861296220, 0.111027960864208260, 0.111077651589550840, 0.111127342037198850, 0.111177032207028500, 0.111226722098915570, 0.111276411712736280, 0.111326101048365520, +0.111375790105679500, 0.111425478884554010, 0.111475167384865260, 0.111524855606488160, 0.111574543549298910, 0.111624231213173300, 0.111673918597987570, 0.111723605703616590, +0.111773292529936600, 0.111822979076823810, 0.111872665344153150, 0.111922351331800810, 0.111972037039642610, 0.112021722467554740, 0.112071407615412120, 0.112121092483090990, +0.112170777070467130, 0.112220461377416770, 0.112270145403814820, 0.112319829149537490, 0.112369512614460600, 0.112419195798460370, 0.112468878701411700, 0.112518561323190840, +0.112568243663673570, 0.112617925722736140, 0.112667607500253450, 0.112717288996101740, 0.112766970210156820, 0.112816651142294900, 0.112866331792390930, 0.112916012160321110, +0.112965692245961720, 0.113015372049187640, 0.113065051569875130, 0.113114730807900010, 0.113164409763138490, 0.113214088435465500, 0.113263766824757310, 0.113313444930889680, +0.113363122753738890, 0.113412800293179850, 0.113462477549088810, 0.113512154521341570, 0.113561831209814390, 0.113611507614382200, 0.113661183734921230, 0.113710859571307300, +0.113760535123416680, 0.113810210391124250, 0.113859885374306320, 0.113909560072839100, 0.113959234486597550, 0.114008908615457910, 0.114058582459296010, 0.114108256017988070, +0.114157929291409070, 0.114207602279435240, 0.114257274981942410, 0.114306947398806830, 0.114356619529903430, 0.114406291375108490, 0.114455962934297830, 0.114505634207347690, +0.114555305194133030, 0.114604975894530100, 0.114654646308414740, 0.114704316435663200, 0.114753986276150440, 0.114803655829752700, 0.114853325096346270, 0.114902994075806080, +0.114952662768008400, 0.115002331172829070, 0.115051999290144360, 0.115101667119829190, 0.115151334661759880, 0.115201001915812220, 0.115250668881862490, 0.115300335559785650, +0.115350001949457980, 0.115399668050755300, 0.115449333863553880, 0.115498999387728700, 0.115548664623156020, 0.115598329569711670, 0.115647994227271940, 0.115697658595711790, +0.115747322674907490, 0.115796986464734880, 0.115846649965070240, 0.115896313175788550, 0.115945976096766060, 0.115995638727879090, 0.116045301069002570, 0.116094963120012790, +0.116144624880785610, 0.116194286351197320, 0.116243947531122850, 0.116293608420438520, 0.116343269019020190, 0.116392929326744110, 0.116442589343485270, 0.116492249069119950, +0.116541908503524010, 0.116591567646573750, 0.116641226498144110, 0.116690885058111410, 0.116740543326351500, 0.116790201302740690, 0.116839858987153920, 0.116889516379467500, +0.116939173479557730, 0.116988830287299590, 0.117038486802569370, 0.117088143025242940, 0.117137798955196590, 0.117187454592305300, 0.117237109936445370, 0.117286764987492670, +0.117336419745323510, 0.117386074209812840, 0.117435728380837000, 0.117485382258271830, 0.117535035841993650, 0.117584689131877430, 0.117634342127799500, 0.117683994829635710, +0.117733647237262370, 0.117783299350554480, 0.117832951169388330, 0.117882602693640260, 0.117932253923185220, 0.117981904857899560, 0.118031555497659130, 0.118081205842340260, +0.118130855891817930, 0.118180505645968460, 0.118230155104667740, 0.118279804267792050, 0.118329453135216420, 0.118379101706817160, 0.118428749982470150, 0.118478397962051690, +0.118528045645436800, 0.118577693032501800, 0.118627340123122570, 0.118676986917175420, 0.118726633414535380, 0.118776279615078740, 0.118825925518681850, 0.118875571125219700, +0.118925216434568620, 0.118974861446604500, 0.119024506161203680, 0.119074150578241140, 0.119123794697593220, 0.119173438519135820, 0.119223082042745270, 0.119272725268296580, +0.119322368195666060, 0.119372010824729630, 0.119421653155363610, 0.119471295187443020, 0.119520936920844190, 0.119570578355443020, 0.119620219491115840, 0.119669860327737670, +0.119719500865184850, 0.119769141103333280, 0.119818781042059300, 0.119868420681237920, 0.119918060020745500, 0.119967699060458360, 0.120017337800251530, 0.120066976240001360, +0.120116614379583750, 0.120166252218875040, 0.120215889757750270, 0.120265526996085770, 0.120315163933757450, 0.120364800570641670, 0.120414436906613440, 0.120464072941549120, +0.120513708675324610, 0.120563344107816270, 0.120612979238899150, 0.120662614068449550, 0.120712248596343440, 0.120761882822457150, 0.120811516746665700, 0.120861150368845450, +0.120910783688872790, 0.120960416706622710, 0.121010049421971590, 0.121059681834795350, 0.121109313944970350, 0.121158945752371610, 0.121208577256875530, 0.121258208458358000, +0.121307839356695370, 0.121357469951762720, 0.121407100243436390, 0.121456730231592310, 0.121506359916106840, 0.121555989296855040, 0.121605618373713250, 0.121655247146557440, +0.121704875615263930, 0.121754503779707800, 0.121804131639765400, 0.121853759195313130, 0.121903386446226020, 0.121953013392380430, 0.122002640033652310, 0.122052266369918030, +0.122101892401052650, 0.122151518126932530, 0.122201143547433620, 0.122250768662432300, 0.122300393471803600, 0.122350017975423940, 0.122399642173169220, 0.122449266064915840, +0.122498889650538840, 0.122548512929914630, 0.122598135902919140, 0.122647758569428740, 0.122697380929318510, 0.122747002982464830, 0.122796624728743640, 0.122846246168031330, +0.122895867300202950, 0.122945488125134920, 0.122995108642703600, 0.123044728852784070, 0.123094348755252730, 0.123143968349985510, 0.123193587636858810, 0.123243206615747700, +0.123292825286528560, 0.123342443649077370, 0.123392061703270510, 0.123441679448983060, 0.123491296886091410, 0.123540914014471510, 0.123590530833999760, 0.123640147344551250, +0.123689763546002390, 0.123739379438229100, 0.123788995021107810, 0.123838610294513580, 0.123888225258322840, 0.123937839912411970, 0.123987454256656070, 0.124037068290931520, +0.124086682015114300, 0.124136295429080820, 0.124185908532706170, 0.124235521325866740, 0.124285133808438500, 0.124334745980297880, 0.124384357841319950, 0.124433969391381110, +0.124483580630357370, 0.124533191558125100, 0.124582802174559430, 0.124632412479536740, 0.124682022472933020, 0.124731632154624680, 0.124781241524486830, 0.124830850582395870, +0.124880459328228240, 0.124930067761859000, 0.124979675883164600, 0.125029283692021010, 0.125078891188304650, 0.125128498371890630, 0.125178105242655350, 0.125227711800474820, +0.125277318045225430, 0.125326923976782330, 0.125376529595021910, 0.125426134899820160, 0.125475739891053510, 0.125525344568597070, 0.125574948932327290, 0.125624552982120140, +0.125674156717852010, 0.125723760139398070, 0.125773363246634740, 0.125822966039438430, 0.125872568517684270, 0.125922170681248670, 0.125971772530007660, 0.126021374063837680, +0.126070975282613800, 0.126120576186212470, 0.126170176774509730, 0.126219777047381960, 0.126269377004704310, 0.126318976646353250, 0.126368575972204720, 0.126418174982135200, +0.126467773676019770, 0.126517372053734950, 0.126566970115156690, 0.126616567860161430, 0.126666165288624320, 0.126715762400421790, 0.126765359195429860, 0.126814955673524990, +0.126864551834582260, 0.126914147678478170, 0.126963743205089160, 0.127013338414290330, 0.127062933305958160, 0.127112527879968660, 0.127162122136198260, 0.127211716074522140, +0.127261309694816720, 0.127310902996958020, 0.127360495980822520, 0.127410088646285340, 0.127459680993222910, 0.127509273021511300, 0.127558864731026960, 0.127608456121645010, +0.127658047193241890, 0.127707637945693670, 0.127757228378876820, 0.127806818492666420, 0.127856408286939010, 0.127905997761570990, 0.127955586916437550, 0.128005175751415150, +0.128054764266379790, 0.128104352461207970, 0.128153940335774850, 0.128203527889956840, 0.128253115123630020, 0.128302702036670880, 0.128352288628954540, 0.128401874900357450, +0.128451460850755680, 0.128501046480025720, 0.128550631788042690, 0.128600216774683060, 0.128649801439822910, 0.128699385783338700, 0.128748969805105580, 0.128798553505000050, +0.128848136882898560, 0.128897719938676270, 0.128947302672209720, 0.128996885083374900, 0.129046467172048290, 0.129096048938105080, 0.129145630381421740, 0.129195211501874350, +0.129244792299339360, 0.129294372773691930, 0.129343952924808600, 0.129393532752565380, 0.129443112256838740, 0.129492691437503920, 0.129542270294437320, 0.129591848827515090, +0.129641427036613660, 0.129691004921608230, 0.129740582482375270, 0.129790159718790880, 0.129839736630731510, 0.129889313218072370, 0.129938889480689930, 0.129988465418460740, +0.130038041031259930, 0.130087616318964010, 0.130137191281449040, 0.130186765918591550, 0.130236340230266700, 0.130285914216351000, 0.130335487876720500, 0.130385061211251760, +0.130434634219819880, 0.130484206902301450, 0.130533779258572490, 0.130583351288509510, 0.130632922991987730, 0.130682494368883630, 0.130732065419073310, 0.130781636142433240, +0.130831206538838670, 0.130880776608166080, 0.130930346350291970, 0.130979915765091550, 0.131029484852441370, 0.131079053612217440, 0.131128622044296340, 0.131178190148553250, +0.131227757924864690, 0.131277325373106710, 0.131326892493155850, 0.131376459284887340, 0.131426025748177690, 0.131475591882902950, 0.131525157688939690, 0.131574723166163090, +0.131624288314449690, 0.131673853133675550, 0.131723417623717250, 0.131772981784449930, 0.131822545615750190, 0.131872109117494500, 0.131921672289558090, 0.131971235131817520, +0.132020797644148870, 0.132070359826428650, 0.132119921678532090, 0.132169483200335720, 0.132219044391715640, 0.132268605252548410, 0.132318165782709220, 0.132367725982074610, +0.132417285850520680, 0.132466845387924000, 0.132516404594159750, 0.132565963469104490, 0.132615522012634300, 0.132665080224625780, 0.132714638104954100, 0.132764195653495810, +0.132813752870127500, 0.132863309754724350, 0.132912866307162950, 0.132962422527319350, 0.133011978415070150, 0.133061533970290580, 0.133111089192857160, 0.133160644082646020, +0.133210198639533710, 0.133259752863395450, 0.133309306754107820, 0.133358860311546920, 0.133408413535589330, 0.133457966426110240, 0.133507518982986240, 0.133557071206093450, +0.133606623095308410, 0.133656174650506360, 0.133705725871563900, 0.133755276758357110, 0.133804827310762600, 0.133854377528655530, 0.133903927411912570, 0.133953476960410180, +0.134003026174023680, 0.134052575052629630, 0.134102123596104130, 0.134151671804323750, 0.134201219677163780, 0.134250767214500740, 0.134300314416210760, 0.134349861282170470, +0.134399407812255070, 0.134448954006341160, 0.134498499864304870, 0.134548045386022750, 0.134597590571370110, 0.134647135420223470, 0.134696679932458980, 0.134746224107953260, +0.134795767946581520, 0.134845311448220350, 0.134894854612746360, 0.134944397440034780, 0.134993939929962230, 0.135043482082404800, 0.135093023897239120, 0.135142565374340440, +0.135192106513585350, 0.135241647314850000, 0.135291187778010940, 0.135340727902943490, 0.135390267689524220, 0.135439807137629290, 0.135489346247135290, 0.135538885017917470, +0.135588423449852450, 0.135637961542816350, 0.135687499296685780, 0.135737036711336050, 0.135786573786643720, 0.135836110522485400, 0.135885646918736340, 0.135935182975273180, +0.135984718691972070, 0.136034254068709590, 0.136083789105361040, 0.136133323801803010, 0.136182858157911670, 0.136232392173563640, 0.136281925848634190, 0.136331459182999910, +0.136380992176536990, 0.136430524829122020, 0.136480057140630300, 0.136529589110938460, 0.136579120739922620, 0.136628652027459440, 0.136678182973424180, 0.136727713577693450, +0.136777243840143450, 0.136826773760650780, 0.136876303339090730, 0.136925832575339940, 0.136975361469274970, 0.137024890020771200, 0.137074418229705170, 0.137123946095953130, +0.137173473619391640, 0.137223000799896020, 0.137272527637342910, 0.137322054131608470, 0.137371580282569350, 0.137421106090100830, 0.137470631554079570, 0.137520156674381690, +0.137569681450883880, 0.137619205883461440, 0.137668729971990980, 0.137718253716348660, 0.137767777116411190, 0.137817300172053820, 0.137866822883153190, 0.137916345249585960, +0.137965867271227420, 0.138015388947954200, 0.138064910279642520, 0.138114431266169010, 0.138163951907408960, 0.138213472203239040, 0.138262992153535460, 0.138312511758174830, +0.138362031017032460, 0.138411549929985030, 0.138461068496908730, 0.138510586717680180, 0.138560104592174740, 0.138609622120269030, 0.138659139301839260, 0.138708656136762090, +0.138758172624912860, 0.138807688766168170, 0.138857204560404710, 0.138906720007497790, 0.138956235107324080, 0.139005749859759780, 0.139055264264681510, 0.139104778321964690, +0.139154292031485910, 0.139203805393121380, 0.139253318406747790, 0.139302831072240480, 0.139352343389476080, 0.139401855358330830, 0.139451366978681350, 0.139500878250403050, +0.139550389173372540, 0.139599899747466060, 0.139649409972560260, 0.139698919848530500, 0.139748429375253450, 0.139797938552605750, 0.139847447380462790, 0.139896955858701180, +0.139946463987197180, 0.139995971765827480, 0.140045479194467410, 0.140094986272993630, 0.140144493001282400, 0.140193999379210370, 0.140243505406652900, 0.140293011083486690, +0.140342516409587920, 0.140392021384833310, 0.140441526009098210, 0.140491030282259290, 0.140540534204192800, 0.140590037774775380, 0.140639540993882480, 0.140689043861390690, +0.140738546377176310, 0.140788048541115980, 0.140837550353085120, 0.140887051812960380, 0.140936552920618440, 0.140986053675934670, 0.141035554078785790, 0.141085054129048010, +0.141134553826598010, 0.141184053171311220, 0.141233552163064300, 0.141283050801733480, 0.141332549087195470, 0.141382047019325660, 0.141431544598000720, 0.141481041823096950, +0.141530538694490980, 0.141580035212058250, 0.141629531375675410, 0.141679027185218740, 0.141728522640564960, 0.141778017741589430, 0.141827512488168860, 0.141877006880179930, +0.141926500917498060, 0.141975994599999930, 0.142025487927561810, 0.142074980900060430, 0.142124473517371150, 0.142173965779370660, 0.142223457685935280, 0.142272949236941700, +0.142322440432265300, 0.142371931271782800, 0.142421421755370450, 0.142470911882905000, 0.142520401654261860, 0.142569891069317670, 0.142619380127948780, 0.142668868830031880, +0.142718357175442350, 0.142767845164056940, 0.142817332795752370, 0.142866820070403990, 0.142916306987888600, 0.142965793548082420, 0.143015279750862200, 0.143064765596103340, +0.143114251083682590, 0.143163736213476170, 0.143213220985360880, 0.143262705399212100, 0.143312189454906540, 0.143361673152320510, 0.143411156491330740, 0.143460639471812620, +0.143510122093642920, 0.143559604356697930, 0.143609086260854340, 0.143658567805987620, 0.143708048991974450, 0.143757529818691190, 0.143807010286014530, 0.143856490393819900, +0.143905970141984060, 0.143955449530383720, 0.144004928558894320, 0.144054407227392600, 0.144103885535754870, 0.144153363483857850, 0.144202841071576990, 0.144252318298789010, +0.144301795165370260, 0.144351271671197460, 0.144400747816146040, 0.144450223600092740, 0.144499699022913870, 0.144549174084486230, 0.144598648784685170, 0.144648123123387510, +0.144697597100469560, 0.144747070715808030, 0.144796543969278410, 0.144846016860757400, 0.144895489390121810, 0.144944961557247040, 0.144994433362009870, 0.145043904804286610, +0.145093375883954050, 0.145142846600887610, 0.145192316954964040, 0.145241786946059690, 0.145291256574051290, 0.145340725838814330, 0.145390194740225550, 0.145439663278161270, +0.145489131452498280, 0.145538599263112020, 0.145588066709879280, 0.145637533792676350, 0.145687000511380030, 0.145736466865865780, 0.145785932856010350, 0.145835398481690550, +0.145884863742781780, 0.145934328639160890, 0.145983793170704150, 0.146033257337288360, 0.146082721138789010, 0.146132184575082870, 0.146181647646046240, 0.146231110351555920, +0.146280572691487420, 0.146330034665717450, 0.146379496274122420, 0.146428957516579080, 0.146478418392962910, 0.146527878903150690, 0.146577339047018810, 0.146626798824443960, +0.146676258235301730, 0.146725717279468810, 0.146775175956822050, 0.146824634267236910, 0.146874092210590200, 0.146923549786758260, 0.146973006995617860, 0.147022463837044510, +0.147071920310915010, 0.147121376417105710, 0.147170832155493400, 0.147220287525953590, 0.147269742528363030, 0.147319197162598140, 0.147368651428535670, 0.147418105326051150, +0.147467558855021390, 0.147517012015322690, 0.147566464806831920, 0.147615917229424550, 0.147665369282977380, 0.147714820967366790, 0.147764272282469580, 0.147813723228161280, +0.147863173804318630, 0.147912624010818510, 0.147962073847536370, 0.148011523314349080, 0.148060972411132950, 0.148110421137764850, 0.148159869494120240, 0.148209317480075960, +0.148258765095508390, 0.148308212340294370, 0.148357659214309350, 0.148407105717430180, 0.148456551849533270, 0.148505997610495400, 0.148555443000192110, 0.148604888018500190, +0.148654332665296070, 0.148703776940456560, 0.148753220843857140, 0.148802664375374700, 0.148852107534886040, 0.148901550322266650, 0.148950992737393400, 0.149000434780142660, +0.149049876450391280, 0.149099317748014740, 0.149148758672889930, 0.149198199224893220, 0.149247639403901460, 0.149297079209790160, 0.149346518642436170, 0.149395957701715880, +0.149445396387506120, 0.149494834699682420, 0.149544272638121640, 0.149593710202700210, 0.149643147393294930, 0.149692584209781320, 0.149742020652036260, 0.149791456719936600, +0.149840892413357850, 0.149890327732176860, 0.149939762676270070, 0.149989197245514290, 0.150038631439785100, 0.150088065258959320, 0.150137498702913370, 0.150186931771524150, +0.150236364464667120, 0.150285796782219210, 0.150335228724056770, 0.150384660290056730, 0.150434091480094590, 0.150483522294047210, 0.150532952731791040, 0.150582382793202910, +0.150631812478158410, 0.150681241786534360, 0.150730670718207200, 0.150780099273053830, 0.150829527450949740, 0.150878955251771860, 0.150928382675397020, 0.150977809721700770, +0.151027236390560010, 0.151076662681851160, 0.151126088595451100, 0.151175514131235370, 0.151224939289080850, 0.151274364068863960, 0.151323788470461630, 0.151373212493749380, +0.151422636138604130, 0.151472059404902240, 0.151521482292520660, 0.151570904801334950, 0.151620326931221960, 0.151669748682058150, 0.151719170053720430, 0.151768591046084340, +0.151818011659026750, 0.151867431892424600, 0.151916851746153410, 0.151966271220090100, 0.152015690314111110, 0.152065109028093340, 0.152114527361912330, 0.152163945315445030, +0.152213362888567880, 0.152262780081157730, 0.152312196893090200, 0.152361613324242170, 0.152411029374490140, 0.152460445043710920, 0.152509860331780210, 0.152559275238574820, +0.152608689763971240, 0.152658103907846370, 0.152707517670075820, 0.152756931050536450, 0.152806344049105200, 0.152855756665657650, 0.152905168900070720, 0.152954580752220880, +0.153003992221984990, 0.153053403309238720, 0.153102814013858920, 0.153152224335722090, 0.153201634274705120, 0.153251043830683640, 0.153300453003534560, 0.153349861793134340, +0.153399270199359890, 0.153448678222086850, 0.153498085861192100, 0.153547493116552140, 0.153596899988043880, 0.153646306475542950, 0.153695712578926220, 0.153745118298070690, +0.153794523632851900, 0.153843928583146800, 0.153893333148831880, 0.153942737329784090, 0.153992141125878970, 0.154041544536993540, 0.154090947563004230, 0.154140350203788000, +0.154189752459220450, 0.154239154329178510, 0.154288555813538700, 0.154337956912177910, 0.154387357624971830, 0.154436757951797320, 0.154486157892530950, 0.154535557447049580, +0.154584956615228920, 0.154634355396945840, 0.154683753792076880, 0.154733151800498990, 0.154782549422087770, 0.154831946656720180, 0.154881343504273160, 0.154930739964622340, +0.154980136037644660, 0.155029531723216650, 0.155078927021215260, 0.155128321931516100, 0.155177716453996140, 0.155227110588531890, 0.155276504335000310, 0.155325897693277010, +0.155375290663238990, 0.155424683244762720, 0.155474075437725210, 0.155523467242002030, 0.155572858657470230, 0.155622249684006260, 0.155671640321487090, 0.155721030569788390, +0.155770420428787110, 0.155819809898360250, 0.155869198978383390, 0.155918587668733540, 0.155967975969287240, 0.156017363879921410, 0.156066751400511770, 0.156116138530935230, +0.156165525271068330, 0.156214911620788070, 0.156264297579970100, 0.156313683148491370, 0.156363068326228430, 0.156412453113058260, 0.156461837508856530, 0.156511221513500190, +0.156560605126865810, 0.156609988348830360, 0.156659371179269510, 0.156708753618060190, 0.156758135665079460, 0.156807517320202950, 0.156856898583307650, 0.156906279454270080, +0.156955659932967260, 0.157005040019274870, 0.157054419713069850, 0.157103799014228800, 0.157153177922628700, 0.157202556438145210, 0.157251934560655310, 0.157301312290035580, +0.157350689626163030, 0.157400066568913280, 0.157449443118163390, 0.157498819273789890, 0.157548195035669770, 0.157597570403678750, 0.157646945377693780, 0.157696319957591450, +0.157745694143248770, 0.157795067934541400, 0.157844441331346370, 0.157893814333540690, 0.157943186941000010, 0.157992559153601360, 0.158041930971221320, 0.158091302393736920, +0.158140673421023780, 0.158190044052958970, 0.158239414289419070, 0.158288784130281050, 0.158338153575420660, 0.158387522624714870, 0.158436891278040250, 0.158486259535273870, +0.158535627396291400, 0.158584994860969860, 0.158634361929185810, 0.158683728600816340, 0.158733094875737060, 0.158782460753825070, 0.158831826234957370, 0.158881191319009660, +0.158930556005858980, 0.158979920295381880, 0.159029284187455430, 0.159078647681955340, 0.159128010778758660, 0.159177373477741910, 0.159226735778782190, 0.159276097681755160, +0.159325459186537900, 0.159374820293007010, 0.159424181001039500, 0.159473541310511090, 0.159522901221298840, 0.159572260733279320, 0.159621619846329610, 0.159670978560325390, +0.159720336875143730, 0.159769694790661660, 0.159819052306754920, 0.159868409423300550, 0.159917766140175170, 0.159967122457255810, 0.160016478374418180, 0.160065833891539390, +0.160115189008495970, 0.160164543725165060, 0.160213898041422330, 0.160263251957144860, 0.160312605472209270, 0.160361958586492580, 0.160411311299870570, 0.160460663612220280, +0.160510015523418340, 0.160559367033341780, 0.160608718141866390, 0.160658068848869180, 0.160707419154227260, 0.160756769057816330, 0.160806118559513490, 0.160855467659195370, +0.160904816356738980, 0.160954164652020140, 0.161003512544915880, 0.161052860035302840, 0.161102207123058090, 0.161151553808057370, 0.161200900090177790, 0.161250245969295960, +0.161299591445288940, 0.161348936518032500, 0.161398281187403710, 0.161447625453279230, 0.161496969315536140, 0.161546312774050150, 0.161595655828698420, 0.161644998479357540, +0.161694340725904580, 0.161743682568215340, 0.161793024006166910, 0.161842365039636340, 0.161891705668499420, 0.161941045892633250, 0.161990385711914460, 0.162039725126220140, +0.162089064135426060, 0.162138402739409330, 0.162187740938046610, 0.162237078731214960, 0.162286416118790160, 0.162335753100649320, 0.162385089676669120, 0.162434425846726630, +0.162483761610697640, 0.162533096968459220, 0.162582431919888080, 0.162631766464861300, 0.162681100603254660, 0.162730434334945270, 0.162779767659810230, 0.162829100577725340, +0.162878433088567700, 0.162927765192213970, 0.162977096888541260, 0.163026428177425380, 0.163075759058743410, 0.163125089532372060, 0.163174419598188430, 0.163223749256068310, +0.163273078505888790, 0.163322407347526590, 0.163371735780858840, 0.163421063805761270, 0.163470391422111060, 0.163519718629784870, 0.163569045428659830, 0.163618371818611720, +0.163667697799517700, 0.163717023371254850, 0.163766348533699040, 0.163815673286727330, 0.163864997630216420, 0.163914321564043480, 0.163963645088084310, 0.164012968202216000, +0.164062290906315300, 0.164111613200259270, 0.164160935083923790, 0.164210256557185990, 0.164259577619922520, 0.164308898272010560, 0.164358218513325910, 0.164407538343745720, +0.164456857763146700, 0.164506176771405940, 0.164555495368399330, 0.164604813554003970, 0.164654131328096560, 0.164703448690554280, 0.164752765641252940, 0.164802082180069670, +0.164851398306881640, 0.164900714021564670, 0.164950029323995940, 0.164999344214052100, 0.165048658691610370, 0.165097972756546560, 0.165147286408737800, 0.165196599648060800, +0.165245912474392770, 0.165295224887609530, 0.165344536887588210, 0.165393848474205550, 0.165443159647338690, 0.165492470406863520, 0.165541780752657160, 0.165591090684596350, +0.165640400202558270, 0.165689709306418740, 0.165739017996054920, 0.165788326271344020, 0.165837634132161850, 0.165886941578385600, 0.165936248609891980, 0.165985555226558200, +0.166034861428260070, 0.166084167214874820, 0.166133472586279110, 0.166182777542350200, 0.166232082082963860, 0.166281386207997340, 0.166330689917327380, 0.166379993210831110, +0.166429296088384420, 0.166478598549864490, 0.166527900595148050, 0.166577202224112320, 0.166626503436633130, 0.166675804232587680, 0.166725104611853160, 0.166774404574305450, +0.166823704119821730, 0.166873003248278750, 0.166922301959553680, 0.166971600253522450, 0.167020898130062180, 0.167070195589049700, 0.167119492630362160, 0.167168789253875430, +0.167218085459466730, 0.167267381247012850, 0.167316676616390940, 0.167365971567476870, 0.167415266100147900, 0.167464560214280770, 0.167513853909752650, 0.167563147186439500, +0.167612440044218440, 0.167661732482966290, 0.167711024502560260, 0.167760316102876230, 0.167809607283791410, 0.167858898045183000, 0.167908188386926890, 0.167957478308900340, +0.168006767810980090, 0.168056056893043340, 0.168105345554966030, 0.168154633796625350, 0.168203921617898100, 0.168253209018661450, 0.168302495998791380, 0.168351782558165050, +0.168401068696659250, 0.168450354414151240, 0.168499639710516870, 0.168548924585633450, 0.168598209039377670, 0.168647493071626830, 0.168696776682256830, 0.168746059871144880, +0.168795342638168200, 0.168844624983202740, 0.168893906906125740, 0.168943188406813940, 0.168992469485144630, 0.169041750140993680, 0.169091030374238370, 0.169140310184755500, +0.169189589572422280, 0.169238868537114650, 0.169288147078709840, 0.169337425197084670, 0.169386702892116350, 0.169435980163680860, 0.169485257011655430, 0.169534533435916850, +0.169583809436342350, 0.169633085012807910, 0.169682360165190750, 0.169731634893368150, 0.169780909197216000, 0.169830183076611600, 0.169879456531431720, 0.169928729561553640, +0.169978002166853300, 0.170027274347207960, 0.170076546102494420, 0.170125817432589980, 0.170175088337370550, 0.170224358816713380, 0.170273628870495320, 0.170322898498593640, +0.170372167700884260, 0.170421436477244480, 0.170470704827551080, 0.170519972751681380, 0.170569240249511310, 0.170618507320918130, 0.170667773965779120, 0.170717040183970240, +0.170766305975368770, 0.170815571339851510, 0.170864836277295790, 0.170914100787577520, 0.170963364870574010, 0.171012628526162060, 0.171061891754219010, 0.171111154554620780, +0.171160416927244650, 0.171209678871967500, 0.171258940388666570, 0.171308201477217870, 0.171357462137498670, 0.171406722369385810, 0.171455982172756570, 0.171505241547486950, +0.171554500493454220, 0.171603759010535230, 0.171653017098607280, 0.171702274757546370, 0.171751531987229760, 0.171800788787534770, 0.171850045158337350, 0.171899301099514850, +0.171948556610944050, 0.171997811692502330, 0.172047066344065640, 0.172096320565511270, 0.172145574356716100, 0.172194827717557450, 0.172244080647911270, 0.172293333147654910, +0.172342585216665210, 0.172391836854819490, 0.172441088061993740, 0.172490338838065250, 0.172539589182910930, 0.172588839096408070, 0.172638088578432660, 0.172687337628862040, +0.172736586247573540, 0.172785834434443120, 0.172835082189348090, 0.172884329512165370, 0.172933576402772270, 0.172982822861044800, 0.173032068886860260, 0.173081314480095530, +0.173130559640627980, 0.173179804368333580, 0.173229048663089690, 0.173278292524773170, 0.173327535953261340, 0.173376778948430230, 0.173426021510157180, 0.173475263638319080, +0.173524505332793260, 0.173573746593455760, 0.173622987420183870, 0.173672227812854930, 0.173721467771345010, 0.173770707295531400, 0.173819946385291050, 0.173869185040501250, +0.173918423261038070, 0.173967661046778830, 0.174016898397600400, 0.174066135313380190, 0.174115371793994220, 0.174164607839319810, 0.174213843449233850, 0.174263078623613760, +0.174312313362335520, 0.174361547665276480, 0.174410781532313600, 0.174460014963324190, 0.174509247958184290, 0.174558480516771310, 0.174607712638962100, 0.174656944324634050, +0.174706175573663190, 0.174755406385926900, 0.174804636761302530, 0.174853866699666160, 0.174903096200895090, 0.174952325264866290, 0.175001553891457110, 0.175050782080543620, +0.175100009832003160, 0.175149237145712680, 0.175198464021549540, 0.175247690459389820, 0.175296916459110860, 0.175346142020589600, 0.175395367143703430, 0.175444591828328420, +0.175493816074341920, 0.175543039881620870, 0.175592263250042680, 0.175641486179483390, 0.175690708669820370, 0.175739930720931030, 0.175789152332691410, 0.175838373504978910, +0.175887594237670470, 0.175936814530643500, 0.175986034383774050, 0.176035253796939520, 0.176084472770016850, 0.176133691302883450, 0.176182909395415370, 0.176232127047490030, +0.176281344258984340, 0.176330561029775760, 0.176379777359740310, 0.176428993248755440, 0.176478208696698090, 0.176527423703445650, 0.176576638268874210, 0.176625852392861160, +0.176675066075283940, 0.176724279316018610, 0.176773492114942590, 0.176822704471932820, 0.176871916386866720, 0.176921127859620410, 0.176970338890071300, 0.177019549478096310, +0.177068759623572910, 0.177117969326377160, 0.177167178586386480, 0.177216387403477870, 0.177265595777528710, 0.177314803708415130, 0.177364011196014530, 0.177413218240203920, +0.177462424840860690, 0.177511630997860990, 0.177560836711082170, 0.177610041980401730, 0.177659246805695730, 0.177708451186841620, 0.177757655123716380, 0.177806858616197440, +0.177856061664160900, 0.177905264267484240, 0.177954466426044370, 0.178003668139718820, 0.178052869408383630, 0.178102070231916290, 0.178151270610193760, 0.178200470543093490, +0.178249670030491610, 0.178298869072265580, 0.178348067668292340, 0.178397265818449390, 0.178446463522612810, 0.178495660780660120, 0.178544857592468240, 0.178594053957914670, +0.178643249876875520, 0.178692445349228230, 0.178741640374850300, 0.178790834953617810, 0.178840029085408220, 0.178889222770098580, 0.178938416007566330, 0.178987608797687580, +0.179036801140339820, 0.179085993035400040, 0.179135184482745740, 0.179184375482253020, 0.179233566033799360, 0.179282756137261800, 0.179331945792517770, 0.179381134999443470, +0.179430323757916290, 0.179479512067813350, 0.179528699929012020, 0.179577887341388520, 0.179627074304820310, 0.179676260819184840, 0.179725446884358290, 0.179774632500218130, +0.179823817666641380, 0.179873002383505510, 0.179922186650686710, 0.179971370468062440, 0.180020553835509740, 0.180069736752906110, 0.180118919220127680, 0.180168101237051990, +0.180217282803556010, 0.180266463919517260, 0.180315644584811920, 0.180364824799317480, 0.180414004562910960, 0.180463183875469890, 0.180512362736870410, 0.180561541146990020, +0.180610719105706200, 0.180659896612895170, 0.180709073668434390, 0.180758250272200940, 0.180807426424072270, 0.180856602123924630, 0.180905777371635460, 0.180954952167081850, +0.181004126510141310, 0.181053300400690010, 0.181102473838605450, 0.181151646823764720, 0.181200819356045290, 0.181249991435323390, 0.181299163061476530, 0.181348334234381740, +0.181397504953916540, 0.181446675219957170, 0.181495845032381090, 0.181545014391065410, 0.181594183295887610, 0.181643351746723940, 0.181692519743451880, 0.181741687285948940, +0.181790854374091370, 0.181840021007756670, 0.181889187186821900, 0.181938352911164610, 0.181987518180661000, 0.182036682995188580, 0.182085847354624460, 0.182135011258846150, +0.182184174707729910, 0.182233337701153190, 0.182282500238993140, 0.182331662321127300, 0.182380823947431850, 0.182429985117784330, 0.182479145832061870, 0.182528306090141950, +0.182577465891900850, 0.182626625237216090, 0.182675784125965190, 0.182724942558024410, 0.182774100533271260, 0.182823258051582870, 0.182872415112836750, 0.182921571716909180, +0.182970727863677660, 0.183019883553019320, 0.183069038784811730, 0.183118193558931110, 0.183167347875254990, 0.183216501733660500, 0.183265655134025180, 0.183314808076225300, +0.183363960560138400, 0.183413112585641610, 0.183462264152612440, 0.183511415260927210, 0.183560565910463440, 0.183609716101098660, 0.183658865832709180, 0.183708015105172540, +0.183757163918365830, 0.183806312272166680, 0.183855460166451300, 0.183904607601097250, 0.183953754575981730, 0.184002901090982220, 0.184052047145975030, 0.184101192740837720, +0.184150337875447430, 0.184199482549681740, 0.184248626763416910, 0.184297770516530510, 0.184346913808899670, 0.184396056640401980, 0.184445199010913750, 0.184494340920312470, +0.184543482368475810, 0.184592623355280010, 0.184641763880602630, 0.184690903944320860, 0.184740043546312240, 0.184789182686453090, 0.184838321364621000, 0.184887459580693080, +0.184936597334546950, 0.184985734626058910, 0.185034871455106530, 0.185084007821566950, 0.185133143725317810, 0.185182279166235360, 0.185231414144197220, 0.185280548659080560, +0.185329682710762940, 0.185378816299120670, 0.185427949424031370, 0.185477082085372220, 0.185526214283020770, 0.185575346016853350, 0.185624477286747580, 0.185673608092581040, +0.185722738434230070, 0.185771868311572250, 0.185820997724484740, 0.185870126672845170, 0.185919255156529850, 0.185968383175416390, 0.186017510729382000, 0.186066637818304240, +0.186115764442059460, 0.186164890600525270, 0.186214016293578840, 0.186263141521097800, 0.186312266282958490, 0.186361390579038530, 0.186410514409215050, 0.186459637773365740, +0.186508760671366900, 0.186557883103096180, 0.186607005068431170, 0.186656126567248200, 0.186705247599424940, 0.186754368164838540, 0.186803488263366650, 0.186852607894885610, +0.186901727059273080, 0.186950845756406190, 0.186999963986162640, 0.187049081748418750, 0.187098199043052170, 0.187147315869940050, 0.187196432228960100, 0.187245548119988640, +0.187294663542903310, 0.187343778497581300, 0.187392892983900300, 0.187442007001736630, 0.187491120550967920, 0.187540233631471880, 0.187589346243124790, 0.187638458385804340, +0.187687570059387770, 0.187736681263752670, 0.187785791998775460, 0.187834902264333780, 0.187884012060304810, 0.187933121386566260, 0.187982230242994490, 0.188031338629467110, +0.188080446545861400, 0.188129553992055030, 0.188178660967924320, 0.188227767473346940, 0.188276873508200160, 0.188325979072361650, 0.188375084165707720, 0.188424188788116090, +0.188473292939464020, 0.188522396619629110, 0.188571499828487810, 0.188620602565917730, 0.188669704831796600, 0.188718806626000770, 0.188767907948407920, 0.188817008798895290, +0.188866109177340590, 0.188915209083620170, 0.188964308517611730, 0.189013407479192510, 0.189062505968240230, 0.189111603984631230, 0.189160701528243210, 0.189209798598953480, +0.189258895196639660, 0.189307991321178150, 0.189357086972446690, 0.189406182150322510, 0.189455276854683300, 0.189504371085405470, 0.189553464842366710, 0.189602558125444710, +0.189651650934515890, 0.189700743269457960, 0.189749835130148150, 0.189798926516464180, 0.189848017428282470, 0.189897107865480720, 0.189946197827936200, 0.189995287315526620, +0.190044376328128400, 0.190093464865619200, 0.190142552927876380, 0.190191640514777600, 0.190240727626199290, 0.190289814262019130, 0.190338900422114460, 0.190387986106362980, +0.190437071314641080, 0.190486156046826500, 0.190535240302796980, 0.190584324082428920, 0.190633407385600060, 0.190682490212187670, 0.190731572562069490, 0.190780654435121960, +0.190829735831222760, 0.190878816750249260, 0.190927897192079120, 0.190976977156588820, 0.191026056643656070, 0.191075135653158170, 0.191124214184972880, 0.191173292238976610, +0.191222369815047120, 0.191271446913061720, 0.191320523532898110, 0.191369599674432760, 0.191418675337543420, 0.191467750522107820, 0.191516825228002420, 0.191565899455104940, +0.191614973203292740, 0.191664046472443510, 0.191713119262433730, 0.191762191573141170, 0.191811263404443130, 0.191860334756217360, 0.191909405628340330, 0.191958476020689770, +0.192007545933143010, 0.192056615365577860, 0.192105684317870700, 0.192154752789899350, 0.192203820781541110, 0.192252888292673760, 0.192301955323173730, 0.192351021872918830, +0.192400087941786370, 0.192449153529654140, 0.192498218636398570, 0.192547283261897460, 0.192596347406028600, 0.192645411068668420, 0.192694474249694710, 0.192743536948984800, +0.192792599166416500, 0.192841660901866270, 0.192890722155211890, 0.192939782926330680, 0.192988843215100490, 0.193037903021397730, 0.193086962345100200, 0.193136021186085280, +0.193185079544230750, 0.193234137419413060, 0.193283194811510050, 0.193332251720399060, 0.193381308145957860, 0.193430364088062970, 0.193479419546592150, 0.193528474521423220, +0.193577529012432660, 0.193626583019498310, 0.193675636542497480, 0.193724689581307980, 0.193773742135806340, 0.193822794205870340, 0.193871845791377370, 0.193920896892205210, +0.193969947508230350, 0.194018997639330640, 0.194068047285383460, 0.194117096446266570, 0.194166145121856510, 0.194215193312031080, 0.194264241016667670, 0.194313288235644090, +0.194362334968836870, 0.194411381216123810, 0.194460426977382720, 0.194509472252490130, 0.194558517041323880, 0.194607561343761310, 0.194656605159680280, 0.194705648488957300, +0.194754691331470190, 0.194803733687096360, 0.194852775555713650, 0.194901816937198550, 0.194950857831428900, 0.194999898238282120, 0.195048938157636020, 0.195097977589367140, +0.195147016533353340, 0.195196054989471960, 0.195245092957600900, 0.195294130437616680, 0.195343167429397110, 0.195392203932819640, 0.195441239947762080, 0.195490275474101000, +0.195539310511714220, 0.195588345060479620, 0.195637379120273710, 0.195686412690974340, 0.195735445772458940, 0.195784478364605390, 0.195833510467290170, 0.195882542080391190, +0.195931573203785870, 0.195980603837352020, 0.196029633980966260, 0.196078663634506410, 0.196127692797849890, 0.196176721470874560, 0.196225749653457020, 0.196274777345475080, +0.196323804546806200, 0.196372831257328270, 0.196421857476917790, 0.196470883205452700, 0.196519908442810810, 0.196568933188868730, 0.196617957443504300, 0.196666981206595010, +0.196716004478018680, 0.196765027257651910, 0.196814049545372540, 0.196863071341058100, 0.196912092644586370, 0.196961113455834000, 0.197010133774678850, 0.197059153600998350, +0.197108172934670390, 0.197157191775571590, 0.197206210123579810, 0.197255227978572510, 0.197304245340427540, 0.197353262209021550, 0.197402278584232400, 0.197451294465937980, +0.197500309854014900, 0.197549324748341030, 0.197598339148793850, 0.197647353055251270, 0.197696366467589870, 0.197745379385687560, 0.197794391809421790, 0.197843403738670490, +0.197892415173310220, 0.197941426113218940, 0.197990436558274090, 0.198039446508353560, 0.198088455963333990, 0.198137464923093280, 0.198186473387508920, 0.198235481356458800, +0.198284488829819560, 0.198333495807469060, 0.198382502289285310, 0.198431508275144830, 0.198480513764925590, 0.198529518758505050, 0.198578523255761170, 0.198627527256570540, +0.198676530760811100, 0.198725533768360300, 0.198774536279096140, 0.198823538292895170, 0.198872539809635400, 0.198921540829194250, 0.198970541351449680, 0.199019541376278340, +0.199068540903558130, 0.199117539933166580, 0.199166538464981590, 0.199215536498879850, 0.199264534034739260, 0.199313531072437320, 0.199362527611852000, 0.199411523652859940, +0.199460519195339050, 0.199509514239167300, 0.199558508784221320, 0.199607502830379090, 0.199656496377518090, 0.199705489425516300, 0.199754481974250330, 0.199803474023598160, +0.199852465573437300, 0.199901456623645720, 0.199950447174100070, 0.199999437224678310, 0.200048426775257940, 0.200097415825716940, 0.200146404375931980, 0.200195392425780990, +0.200244379975141520, 0.200293367023891560, 0.200342353571907720, 0.200391339619067990, 0.200440325165250370, 0.200489310210331480, 0.200538294754189330, 0.200587278796701430, +0.200636262337745790, 0.200685245377199060, 0.200734227914939200, 0.200783209950843780, 0.200832191484790760, 0.200881172516656830, 0.200930153046319980, 0.200979133073657720, +0.201028112598548080, 0.201077091620867730, 0.201126070140494630, 0.201175048157306390, 0.201224025671180940, 0.201273002681994990, 0.201321979189626550, 0.201370955193953590, +0.201419930694852780, 0.201468905692202190, 0.201517880185879290, 0.201566854175762170, 0.201615827661727450, 0.201664800643653160, 0.201713773121416890, 0.201762745094896580, +0.201811716563969010, 0.201860687528512130, 0.201909657988403550, 0.201958627943521260, 0.202007597393741970, 0.202056566338943640, 0.202105534779003950, 0.202154502713800840, +0.202203470143211020, 0.202252437067112540, 0.202301403485382970, 0.202350369397900330, 0.202399334804541310, 0.202448299705183970, 0.202497264099706310, 0.202546227987985050, +0.202595191369898230, 0.202644154245323420, 0.202693116614138690, 0.202742078476220690, 0.202791039831447530, 0.202840000679696760, 0.202888961020846410, 0.202937920854773250, +0.202986880181355270, 0.203035839000470090, 0.203084797311995750, 0.203133755115808970, 0.203182712411787810, 0.203231669199809870, 0.203280625479753200, 0.203329581251494530, +0.203378536514911890, 0.203427491269883350, 0.203476445516285660, 0.203525399253996850, 0.203574352482894540, 0.203623305202856790, 0.203672257413760330, 0.203721209115483220, +0.203770160307903100, 0.203819110990898030, 0.203868061164344720, 0.203917010828121280, 0.203965959982105290, 0.204014908626174860, 0.204063856760206720, 0.204112804384078920, +0.204161751497669130, 0.204210698100855380, 0.204259644193514440, 0.204308589775524410, 0.204357534846763330, 0.204406479407107990, 0.204455423456436440, 0.204504366994626350, +0.204553310021555750, 0.204602252537101460, 0.204651194541141530, 0.204700136033553610, 0.204749077014215800, 0.204798017483004860, 0.204846957439798860, 0.204895896884475490, +0.204944835816912780, 0.204993774236987590, 0.205042712144577920, 0.205091649539561490, 0.205140586421816370, 0.205189522791219350, 0.205238458647648530, 0.205287393990982000, +0.205336328821096540, 0.205385263137870260, 0.205434196941180810, 0.205483130230906310, 0.205532063006923560, 0.205580995269110640, 0.205629927017345250, 0.205678858251505480, +0.205727788971468100, 0.205776719177111270, 0.205825648868312620, 0.205874578044950300, 0.205923506706901100, 0.205972434854043150, 0.206021362486254080, 0.206070289603412060, +0.206119216205393860, 0.206168142292077640, 0.206217067863341070, 0.206265992919062250, 0.206314917459118010, 0.206363841483386490, 0.206412764991745800, 0.206461687984072740, +0.206510610460245490, 0.206559532420141690, 0.206608453863639520, 0.206657374790615770, 0.206706295200948580, 0.206755215094515640, 0.206804134471195110, 0.206853053330863820, +0.206901971673399880, 0.206950889498681010, 0.206999806806585360, 0.207048723596989750, 0.207097639869772340, 0.207146555624810820, 0.207195470861983370, 0.207244385581166780, +0.207293299782239230, 0.207342213465078890, 0.207391126629562550, 0.207440039275568420, 0.207488951402974160, 0.207537863011658000, 0.207586774101496700, 0.207635684672368510, +0.207684594724151070, 0.207733504256722600, 0.207782413269959910, 0.207831321763741220, 0.207880229737944210, 0.207929137192447070, 0.207978044127126640, 0.208026950541861100, +0.208075856436528210, 0.208124761811006090, 0.208173666665171620, 0.208222570998903010, 0.208271474812078390, 0.208320378104574650, 0.208369280876269960, 0.208418183127042080, +0.208467084856769180, 0.208515986065328120, 0.208564886752597100, 0.208613786918453860, 0.208662686562776590, 0.208711585685442180, 0.208760484286328790, 0.208809382365314180, +0.208858279922276570, 0.208907176957092820, 0.208956073469641120, 0.209004969459799270, 0.209053864927445400, 0.209102759872456440, 0.209151654294710580, 0.209200548194085570, +0.209249441570459630, 0.209298334423709650, 0.209347226753713870, 0.209396118560350420, 0.209445009843496260, 0.209493900603029550, 0.209542790838828100, 0.209591680550770130, +0.209640569738732490, 0.209689458402593450, 0.209738346542230750, 0.209787234157522620, 0.209836121248345970, 0.209885007814579030, 0.209933893856099560, 0.209982779372785780, +0.210031664364514650, 0.210080548831164340, 0.210129432772612650, 0.210178316188737810, 0.210227199079416750, 0.210276081444527700, 0.210324963283948900, 0.210373844597557230, +0.210422725385230940, 0.210471605646847860, 0.210520485382286180, 0.210569364591422860, 0.210618243274136140, 0.210667121430303810, 0.210715999059804090, 0.210764876162513960, +0.210813752738311630, 0.210862628787074930, 0.210911504308682080, 0.210960379303010040, 0.211009253769937040, 0.211058127709340900, 0.211107001121099900, 0.211155874005090950, +0.211204746361192320, 0.211253618189282260, 0.211302489489237720, 0.211351360260936950, 0.211400230504257800, 0.211449100219078480, 0.211497969405275990, 0.211546838062728560, +0.211595706191314040, 0.211644573790910700, 0.211693440861395490, 0.211742307402646680, 0.211791173414542090, 0.211840038896960010, 0.211888903849777400, 0.211937768272872530, +0.211986632166123230, 0.212035495529407810, 0.212084358362603200, 0.212133220665587680, 0.212182082438239550, 0.212230943680435800, 0.212279804392054660, 0.212328664572974030, +0.212377524223072180, 0.212426383342226080, 0.212475241930314000, 0.212524099987213830, 0.212572957512803830, 0.212621814506961020, 0.212670670969563690, 0.212719526900489650, +0.212768382299617250, 0.212817237166823440, 0.212866091501986540, 0.212914945304984420, 0.212963798575695390, 0.213012651313996410, 0.213061503519765800, 0.213110355192881430, +0.213159206333221610, 0.213208056940663330, 0.213256907015084930, 0.213305756556364660, 0.213354605564379600, 0.213403454039008010, 0.213452301980127800, 0.213501149387617250, +0.213549996261353400, 0.213598842601214560, 0.213647688407078620, 0.213696533678823880, 0.213745378416327380, 0.213794222619467430, 0.213843066288121940, 0.213891909422169210, +0.213940752021486270, 0.213989594085951450, 0.214038435615442640, 0.214087276609838170, 0.214136117069015090, 0.214184956992851700, 0.214233796381226360, 0.214282635234016080, +0.214331473551099240, 0.214380311332353720, 0.214429148577657820, 0.214477985286888630, 0.214526821459924490, 0.214575657096643310, 0.214624492196923390, 0.214673326760641820, +0.214722160787676920, 0.214770994277906630, 0.214819827231209290, 0.214868659647461930, 0.214917491526542940, 0.214966322868330230, 0.215015153672702130, 0.215063983939535710, +0.215112813668709320, 0.215161642860101370, 0.215210471513588820, 0.215259299629050130, 0.215308127206363190, 0.215356954245406380, 0.215405780746056740, 0.215454606708192640, +0.215503432131692010, 0.215552257016433240, 0.215601081362293420, 0.215649905169150860, 0.215698728436883560, 0.215747551165369870, 0.215796373354486870, 0.215845195004112920, +0.215894016114126010, 0.215942836684404480, 0.215991656714825430, 0.216040476205267230, 0.216089295155607850, 0.216138113565725650, 0.216186931435497750, 0.216235748764802500, +0.216284565553518330, 0.216333381801522310, 0.216382197508692810, 0.216431012674907860, 0.216479827300045780, 0.216528641383983700, 0.216577454926600050, 0.216626267927772730, +0.216675080387380180, 0.216723892305299480, 0.216772703681409080, 0.216821514515586900, 0.216870324807711370, 0.216919134557659630, 0.216967943765310010, 0.217016752430540550, +0.217065560553229620, 0.217114368133254380, 0.217163175170493220, 0.217211981664824550, 0.217260787616125490, 0.217309593024274470, 0.217358397889149430, 0.217407202210628870, +0.217456005988589860, 0.217504809222910820, 0.217553611913469780, 0.217602414060145130, 0.217651215662814030, 0.217700016721354860, 0.217748817235645680, 0.217797617205564870, +0.217846416630989580, 0.217895215511798270, 0.217944013847868910, 0.217992811639079940, 0.218041608885308520, 0.218090405586433080, 0.218139201742332060, 0.218187997352882580, +0.218236792417963120, 0.218285586937451700, 0.218334380911226730, 0.218383174339165380, 0.218431967221146080, 0.218480759557046850, 0.218529551346746180, 0.218578342590121180, +0.218627133287050360, 0.218675923437411680, 0.218724713041083620, 0.218773502097943360, 0.218822290607869310, 0.218871078570739560, 0.218919865986432570, 0.218968652854825450, +0.219017439175796720, 0.219066224949224790, 0.219115010174986890, 0.219163794852961470, 0.219212578983026540, 0.219261362565060620, 0.219310145598940850, 0.219358928084545710, +0.219407710021753270, 0.219456491410441960, 0.219505272250489020, 0.219554052541772880, 0.219602832284171600, 0.219651611477563680, 0.219700390121826320, 0.219749168216837960, +0.219797945762476690, 0.219846722758620970, 0.219895499205148030, 0.219944275101936340, 0.219993050448863970, 0.220041825245809400, 0.220090599492649810, 0.220139373189263740, +0.220188146335529690, 0.220236918931324830, 0.220285690976527640, 0.220334462471016260, 0.220383233414669140, 0.220432003807363520, 0.220480773648977890, 0.220529542939390310, +0.220578311678479300, 0.220627079866122090, 0.220675847502197180, 0.220724614586582660, 0.220773381119157040, 0.220822147099797500, 0.220870912528382620, 0.220919677404790460, +0.220968441728899540, 0.221017205500587070, 0.221065968719731580, 0.221114731386211630, 0.221163493499904410, 0.221212255060688450, 0.221261016068441840, 0.221309776523043120, +0.221358536424369560, 0.221407295772299640, 0.221456054566711470, 0.221504812807483600, 0.221553570494493280, 0.221602327627619030, 0.221651084206738960, 0.221699840231731620, +0.221748595702474210, 0.221797350618845340, 0.221846104980723100, 0.221894858787986010, 0.221943612040511360, 0.221992364738177680, 0.222041116880863500, 0.222089868468446110, +0.222138619500804050, 0.222187369977815440, 0.222236119899358820, 0.222284869265311490, 0.222333618075551990, 0.222382366329958420, 0.222431114028409400, 0.222479861170782140, +0.222528607756955240, 0.222577353786806790, 0.222626099260215430, 0.222674844177058350, 0.222723588537214190, 0.222772332340561040, 0.222821075586977500, 0.222869818276340840, +0.222918560408529640, 0.222967301983422040, 0.223016043000896610, 0.223064783460830640, 0.223113523363102690, 0.223162262707591400, 0.223211001494174000, 0.223259739722729110, +0.223308477393134860, 0.223357214505269850, 0.223405951059011370, 0.223454687054238020, 0.223503422490827970, 0.223552157368659770, 0.223600891687610740, 0.223649625447559510, +0.223698358648384190, 0.223747091289963400, 0.223795823372174460, 0.223844554894895960, 0.223893285858006080, 0.223942016261383440, 0.223990746104905300, 0.224039475388450290, +0.224088204111897030, 0.224136932275122820, 0.224185659878006290, 0.224234386920425600, 0.224283113402259400, 0.224331839323384960, 0.224380564683680920, 0.224429289483025480, +0.224478013721297250, 0.224526737398373560, 0.224575460514133020, 0.224624183068453830, 0.224672905061214600, 0.224721626492292690, 0.224770347361566700, 0.224819067668914850, +0.224867787414215760, 0.224916506597346770, 0.224965225218186540, 0.225013943276613640, 0.225062660772505470, 0.225111377705740660, 0.225160094076197390, 0.225208809883754300, +0.225257525128288780, 0.225306239809679430, 0.225354953927804500, 0.225403667482542590, 0.225452380473771110, 0.225501092901368660, 0.225549804765213470, 0.225598516065184220, +0.225647226801158260, 0.225695936973014210, 0.225744646580630310, 0.225793355623885250, 0.225842064102656340, 0.225890772016822280, 0.225939479366261300, 0.225988186150852060, +0.226036892370471890, 0.226085598024999530, 0.226134303114313600, 0.226183007638291470, 0.226231711596811800, 0.226280414989752880, 0.226329117816993330, 0.226377820078410590, +0.226426521773883280, 0.226475222903289640, 0.226523923466508400, 0.226572623463416940, 0.226621322893893890, 0.226670021757817560, 0.226718720055066570, 0.226767417785518370, +0.226816114949051630, 0.226864811545544610, 0.226913507574875970, 0.226962203036923130, 0.227010897931564810, 0.227059592258679670, 0.227108286018145090, 0.227156979209839820, +0.227205671833642100, 0.227254363889430630, 0.227303055377082790, 0.227351746296477340, 0.227400436647492520, 0.227449126430007060, 0.227497815643898320, 0.227546504289045050, +0.227595192365325520, 0.227643879872618470, 0.227692566810801240, 0.227741253179752630, 0.227789938979350880, 0.227838624209474700, 0.227887308870001550, 0.227935992960810100, +0.227984676481779110, 0.228033359432786020, 0.228082041813709500, 0.228130723624427880, 0.228179404864819910, 0.228228085534762980, 0.228276765634135820, 0.228325445162816780, +0.228374124120684530, 0.228422802507616540, 0.228471480323491540, 0.228520157568187860, 0.228568834241584200, 0.228617510343558040, 0.228666185873988100, 0.228714860832752690, +0.228763535219730560, 0.228812209034799150, 0.228860882277837240, 0.228909554948723530, 0.228958227047335510, 0.229006898573551940, 0.229055569527251120, 0.229104239908311800, +0.229152909716611420, 0.229201578952028810, 0.229250247614442240, 0.229298915703730480, 0.229347583219771000, 0.229396250162442560, 0.229444916531623490, 0.229493582327192550, +0.229542247549027250, 0.229590912197006340, 0.229639576271008120, 0.229688239770911410, 0.229736902696593640, 0.229785565047933630, 0.229834226824809720, 0.229882888027100660, +0.229931548654683960, 0.229980208707438380, 0.230028868185242710, 0.230077527087974440, 0.230126185415512360, 0.230174843167734790, 0.230223500344520580, 0.230272156945747150, +0.230320812971293360, 0.230369468421037530, 0.230418123294858450, 0.230466777592633650, 0.230515431314241880, 0.230564084459561560, 0.230612737028471430, 0.230661389020849040, +0.230710040436573170, 0.230758691275522200, 0.230807341537574960, 0.230855991222608910, 0.230904640330502900, 0.230953288861135700, 0.231001936814384860, 0.231050584190129170, +0.231099230988247030, 0.231147877208617240, 0.231196522851117300, 0.231245167915626080, 0.231293812402021960, 0.231342456310183710, 0.231391099639988880, 0.231439742391316320, +0.231488384564044410, 0.231537026158051940, 0.231585667173216490, 0.231634307609416890, 0.231682947466531510, 0.231731586744439190, 0.231780225443017460, 0.231828863562145190, +0.231877501101701190, 0.231926138061562980, 0.231974774441609440, 0.232023410241718960, 0.232072045461770400, 0.232120680101641270, 0.232169314161210480, 0.232217947640356360, +0.232266580538957820, 0.232315212856892410, 0.232363844594038970, 0.232412475750275900, 0.232461106325482090, 0.232509736319535060, 0.232558365732313700, 0.232606994563696430, +0.232655622813562110, 0.232704250481788280, 0.232752877568253860, 0.232801504072837200, 0.232850129995417240, 0.232898755335871540, 0.232947380094078920, 0.232996004269918290, +0.233044627863267210, 0.233093250874004590, 0.233141873302008810, 0.233190495147158810, 0.233239116409332120, 0.233287737088407640, 0.233336357184263820, 0.233384976696779540, +0.233433595625832380, 0.233482213971301230, 0.233530831733064550, 0.233579448911001240, 0.233628065504988850, 0.233676681514906310, 0.233725296940632040, 0.233773911782044990, +0.233822526039022730, 0.233871139711444130, 0.233919752799188140, 0.233968365302132330, 0.234016977220155600, 0.234065588553136420, 0.234114199300953730, 0.234162809463485080, +0.234211419040609410, 0.234260028032205190, 0.234308636438151360, 0.234357244258325490, 0.234405851492606510, 0.234454458140872870, 0.234503064203003570, 0.234551669678876140, +0.234600274568369540, 0.234648878871362270, 0.234697482587733240, 0.234746085717360050, 0.234794688260121650, 0.234843290215896980, 0.234891891584563640, 0.234940492366000560, +0.234989092560086270, 0.235037692166699670, 0.235086291185718390, 0.235134889617021420, 0.235183487460487200, 0.235232084715994690, 0.235280681383421560, 0.235329277462646700, +0.235377872953548670, 0.235426467856006380, 0.235475062169897470, 0.235523655895100940, 0.235572249031495230, 0.235620841578959350, 0.235669433537370940, 0.235718024906608950, +0.235766615686552330, 0.235815205877078720, 0.235863795478067100, 0.235912384489396000, 0.235960972910944370, 0.236009560742589890, 0.236058147984211490, 0.236106734635687710, +0.236155320696897540, 0.236203906167718640, 0.236252491048029980, 0.236301075337710080, 0.236349659036637900, 0.236398242144691180, 0.236446824661748850, 0.236495406587689440, +0.236543987922391950, 0.236592568665734080, 0.236641148817594770, 0.236689728377852600, 0.236738307346386510, 0.236786885723074240, 0.236835463507794770, 0.236884040700427070, +0.236932617300848800, 0.236981193308939020, 0.237029768724576260, 0.237078343547639490, 0.237126917778006460, 0.237175491415556110, 0.237224064460167030, 0.237272636911718240, +0.237321208770087390, 0.237369780035153550, 0.237418350706795260, 0.237466920784891510, 0.237515490269320030, 0.237564059159959850, 0.237612627456689480, 0.237661195159387990, +0.237709762267933080, 0.237758328782203790, 0.237806894702079080, 0.237855460027436710, 0.237904024758155700, 0.237952588894114610, 0.238001152435192490, 0.238049715381267040, +0.238098277732217340, 0.238146839487921920, 0.238195400648259840, 0.238243961213108810, 0.238292521182347890, 0.238341080555855680, 0.238389639333511180, 0.238438197515192160, +0.238486755100777630, 0.238535312090146220, 0.238583868483176980, 0.238632424279747620, 0.238680979479737210, 0.238729534083024770, 0.238778088089488080, 0.238826641499006150, +0.238875194311457650, 0.238923746526721550, 0.238972298144675690, 0.239020849165199060, 0.239069399588170330, 0.239117949413468510, 0.239166498640971390, 0.239215047270558030, +0.239263595302107060, 0.239312142735497530, 0.239360689570607190, 0.239409235807315160, 0.239457781445500010, 0.239506326485040860, 0.239554870925815460, 0.239603414767702860, +0.239651958010581730, 0.239700500654331160, 0.239749042698828880, 0.239797584143954020, 0.239846124989585600, 0.239894665235601460, 0.239943204881880650, 0.239991743928301830, +0.240040282374744090, 0.240088820221085190, 0.240137357467204240, 0.240185894112979910, 0.240234430158291300, 0.240282965603016150, 0.240331500447033580, 0.240380034690222290, +0.240428568332461320, 0.240477101373628520, 0.240525633813602950, 0.240574165652263310, 0.240622696889488650, 0.240671227525156850, 0.240719757559146990, 0.240768286991338150, +0.240816815821608160, 0.240865344049836120, 0.240913871675900730, 0.240962398699681110, 0.241010925121055040, 0.241059450939901660, 0.241107976156099660, 0.241156500769528160, +0.241205024780064950, 0.241253548187589210, 0.241302070991979560, 0.241350593193115190, 0.241399114790873920, 0.241447635785134840, 0.241496156175776660, 0.241544675962678560, +0.241593195145718310, 0.241641713724775080, 0.241690231699728000, 0.241738749070454890, 0.241787265836834940, 0.241835781998746810, 0.241884297556069630, 0.241932812508681320, +0.241981326856460950, 0.242029840599287280, 0.242078353737039430, 0.242126866269595260, 0.242175378196833930, 0.242223889518634160, 0.242272400234875090, 0.242320910345434600, +0.242369419850191840, 0.242417928749025490, 0.242466437041814780, 0.242514944728437540, 0.242563451808772950, 0.242611958282700160, 0.242660464150097010, 0.242708969410842750, +0.242757474064816040, 0.242805978111896080, 0.242854481551960740, 0.242902984384889190, 0.242951486610560180, 0.242999988228852880, 0.243048489239645200, 0.243096989642816290, +0.243145489438244910, 0.243193988625810240, 0.243242487205390160, 0.243290985176863840, 0.243339482540110090, 0.243387979295008050, 0.243436475441435620, 0.243484970979272020, +0.243533465908396000, 0.243581960228686720, 0.243630453940022110, 0.243678947042281380, 0.243727439535343730, 0.243775931419087020, 0.243824422693390500, 0.243872913358132910, +0.243921403413193490, 0.243969892858450110, 0.244018381693781980, 0.244066869919067920, 0.244115357534187120, 0.244163844539017490, 0.244212330933438250, 0.244260816717328190, +0.244309301890566520, 0.244357786453031130, 0.244406270404601310, 0.244454753745155800, 0.244503236474573840, 0.244551718592733360, 0.244600200099513580, 0.244648680994793750, +0.244697161278451760, 0.244745640950366880, 0.244794120010417890, 0.244842598458484020, 0.244891076294443260, 0.244939553518174790, 0.244988030129557420, 0.245036506128470420, +0.245084981514791720, 0.245133456288400580, 0.245181930449175800, 0.245230403996996610, 0.245278876931740970, 0.245327349253288170, 0.245375820961516970, 0.245424292056306640, +0.245472762537535170, 0.245521232405081810, 0.245569701658825770, 0.245618170298645050, 0.245666638324418900, 0.245715105736026170, 0.245763572533346100, 0.245812038716256680, +0.245860504284637150, 0.245908969238366360, 0.245957433577323580, 0.246005897301386780, 0.246054360410435240, 0.246102822904347790, 0.246151284783003740, 0.246199746046281030, +0.246248206694058950, 0.246296666726216360, 0.246345126142632540, 0.246393584943185470, 0.246442043127754420, 0.246490500696218280, 0.246538957648456320, 0.246587413984346530, +0.246635869703768220, 0.246684324806600630, 0.246732779292721830, 0.246781233162011090, 0.246829686414347240, 0.246878139049609620, 0.246926591067676200, 0.246975042468426330, +0.247023493251738830, 0.247071943417493060, 0.247120392965566980, 0.247168841895839900, 0.247217290208190750, 0.247265737902498780, 0.247314184978642050, 0.247362631436499860, +0.247411077275951070, 0.247459522496875060, 0.247507967099149770, 0.247556411082654580, 0.247604854447268790, 0.247653297192870440, 0.247701739319338840, 0.247750180826552900, +0.247798621714391900, 0.247847061982733960, 0.247895501631458350, 0.247943940660444010, 0.247992379069570220, 0.248040816858715040, 0.248089254027757860, 0.248137690576577500, +0.248186126505053370, 0.248234561813063500, 0.248282996500487210, 0.248331430567203440, 0.248379864013091510, 0.248428296838029500, 0.248476729041896740, 0.248525160624572610, +0.248573591585935120, 0.248622021925863660, 0.248670451644237150, 0.248718880740934960, 0.248767309215835090, 0.248815737068816990, 0.248864164299759520, 0.248912590908542090, +0.248961016895042740, 0.249009442259140850, 0.249057867000715360, 0.249106291119645630, 0.249154714615809740, 0.249203137489087070, 0.249251559739356560, 0.249299981366497560, +0.249348402370388190, 0.249396822750907830, 0.249445242507935820, 0.249493661641350280, 0.249542080151030580, 0.249590498036855680, 0.249638915298704990, 0.249687331936456560, +0.249735747949989790, 0.249784163339183680, 0.249832578103917570, 0.249880992244069590, 0.249929405759519140, 0.249977818650145150, 0.250026230915827040, 0.250074642556442960, +0.250123053571872260, 0.250171463961993910, 0.250219873726687360, 0.250268282865830690, 0.250316691379303290, 0.250365099266984190, 0.250413506528752720, 0.250461913164487130, +0.250510319174066690, 0.250558724557370880, 0.250607129314277870, 0.250655533444667070, 0.250703936948417360, 0.250752339825408290, 0.250800742075517890, 0.250849143698625650, +0.250897544694610560, 0.250945945063352050, 0.250994344804728260, 0.251042743918618580, 0.251091142404902050, 0.251139540263458080, 0.251187937494164850, 0.251236334096901770, +0.251284730071547830, 0.251333125417982530, 0.251381520136084000, 0.251429914225731630, 0.251478307686804900, 0.251526700519182020, 0.251575092722742370, 0.251623484297364970, +0.251671875242929280, 0.251720265559313480, 0.251768655246397020, 0.251817044304058930, 0.251865432732178710, 0.251913820530634380, 0.251962207699305550, 0.252010594238071210, +0.252058980146810770, 0.252107365425402520, 0.252155750073725820, 0.252204134091659700, 0.252252517479083730, 0.252300900235876040, 0.252349282361916060, 0.252397663857083340, +0.252446044721256040, 0.252494424954313570, 0.252542804556135090, 0.252591183526599980, 0.252639561865586500, 0.252687939572974140, 0.252736316648641930, 0.252784693092469370, +0.252833068904334600, 0.252881444084117170, 0.252929818631696170, 0.252978192546951030, 0.253026565829759960, 0.253074938480002510, 0.253123310497557650, 0.253171681882304990, +0.253220052634122730, 0.253268422752890300, 0.253316792238486800, 0.253365161090791770, 0.253413529309683420, 0.253461896895041230, 0.253510263846744690, 0.253558630164672120, +0.253606995848702940, 0.253655360898716260, 0.253703725314591680, 0.253752089096207280, 0.253800452243442720, 0.253848814756176990, 0.253897176634289620, 0.253945537877658940, +0.253993898486164380, 0.254042258459685090, 0.254090617798100600, 0.254138976501289080, 0.254187334569130170, 0.254235692001502920, 0.254284048798286870, 0.254332404959360210, +0.254380760484602620, 0.254429115373893510, 0.254477469627111210, 0.254525823244135200, 0.254574176224844630, 0.254622528569119100, 0.254670880276836760, 0.254719231347877270, +0.254767581782119670, 0.254815931579443600, 0.254864280739727220, 0.254912629262850130, 0.254960977148691480, 0.255009324397130810, 0.255057671008046440, 0.255106016981317850, +0.255154362316824260, 0.255202707014445140, 0.255251051074058820, 0.255299394495544950, 0.255347737278782960, 0.255396079423651220, 0.255444420930029280, 0.255492761797796230, +0.255541102026831780, 0.255589441617014130, 0.255637780568222840, 0.255686118880337150, 0.255734456553236570, 0.255782793586799400, 0.255831129980905290, 0.255879465735433300, +0.255927800850263120, 0.255976135325272970, 0.256024469160342550, 0.256072802355350900, 0.256121134910177680, 0.256169466824701210, 0.256217798098801020, 0.256266128732356820, +0.256314458725246890, 0.256362788077350750, 0.256411116788547670, 0.256459444858717240, 0.256507772287737750, 0.256556099075488820, 0.256604425221849670, 0.256652750726699850, +0.256701075589917780, 0.256749399811382950, 0.256797723390974670, 0.256846046328572500, 0.256894368624054790, 0.256942690277301160, 0.256991011288190800, 0.257039331656603360, +0.257087651382417130, 0.257135970465511790, 0.257184288905766500, 0.257232606703060920, 0.257280923857273410, 0.257329240368283580, 0.257377556235971080, 0.257425871460214280, +0.257474186040892780, 0.257522499977885840, 0.257570813271073060, 0.257619125920332810, 0.257667437925544750, 0.257715749286588140, 0.257764060003342510, 0.257812370075686360, +0.257860679503499280, 0.257908988286660480, 0.257957296425049610, 0.258005603918545100, 0.258053910767026610, 0.258102216970373330, 0.258150522528464930, 0.258198827441179780, +0.258247131708397530, 0.258295435329997940, 0.258343738305859330, 0.258392040635861350, 0.258440342319883280, 0.258488643357804750, 0.258536943749504200, 0.258585243494861340, +0.258633542593755320, 0.258681841046065900, 0.258730138851671400, 0.258778436010451580, 0.258826732522285720, 0.258875028387053400, 0.258923323604633100, 0.258971618174904490, +0.259019912097746830, 0.259068205373039820, 0.259116498000661890, 0.259164789980492690, 0.259213081312411940, 0.259261371996298060, 0.259309662032030760, 0.259357951419489310, +0.259406240158553400, 0.259454528249101420, 0.259502815691013190, 0.259551102484167910, 0.259599388628445280, 0.259647674123723750, 0.259695958969883010, 0.259744243166802390, +0.259792526714361650, 0.259840809612439110, 0.259889091860914520, 0.259937373459667280, 0.259985654408576960, 0.260033934707522120, 0.260082214356382400, 0.260130493355037180, +0.260178771703366170, 0.260227049401247750, 0.260275326448561770, 0.260323602845187850, 0.260371878591004520, 0.260420153685891500, 0.260468428129728090, 0.260516701922394010, +0.260564975063767800, 0.260613247553729110, 0.260661519392157310, 0.260709790578932120, 0.260758061113932070, 0.260806330997036820, 0.260854600228125790, 0.260902868807078640, +0.260951136733773960, 0.260999404008091350, 0.261047670629910300, 0.261095936599110460, 0.261144201915570360, 0.261192466579169780, 0.261240730589788420, 0.261288993947304870, +0.261337256651598790, 0.261385518702549560, 0.261433780100036980, 0.261482040843939500, 0.261530300934136930, 0.261578560370508640, 0.261626819152934340, 0.261675077281292580, +0.261723334755463110, 0.261771591575325310, 0.261819847740758950, 0.261868103251642560, 0.261916358107855910, 0.261964612309278370, 0.262012865855789700, 0.262061118747268450, +0.262109370983594440, 0.262157622564647420, 0.262205873490305890, 0.262254123760449650, 0.262302373374958150, 0.262350622333711150, 0.262398870636587120, 0.262447118283465950, +0.262495365274226950, 0.262543611608750000, 0.262591857286913590, 0.262640102308597520, 0.262688346673681180, 0.262736590382044440, 0.262784833433565790, 0.262833075828125040, +0.262881317565601620, 0.262929558645875310, 0.262977799068824680, 0.263026038834329570, 0.263074277942269790, 0.263122516392523880, 0.263170754184971660, 0.263218991319492560, +0.263267227795966450, 0.263315463614271830, 0.263363698774288500, 0.263411933275895960, 0.263460167118974020, 0.263508400303401220, 0.263556632829057450, 0.263604864695822060, +0.263653095903574940, 0.263701326452194680, 0.263749556341561050, 0.263797785571553590, 0.263846014142052050, 0.263894242052935100, 0.263942469304082490, 0.263990695895373770, +0.264038921826688700, 0.264087147097905870, 0.264135371708905220, 0.264183595659566510, 0.264231818949768440, 0.264280041579390780, 0.264328263548313070, 0.264376484856415070, +0.264424705503575500, 0.264472925489674100, 0.264521144814590440, 0.264569363478204310, 0.264617581480394330, 0.264665798821040410, 0.264714015500021990, 0.264762231517219000, +0.264810446872509990, 0.264858661565774810, 0.264906875596893020, 0.264955088965744490, 0.265003301672207760, 0.265051513716162810, 0.265099725097489470, 0.265147935816066440, +0.265196145871773540, 0.265244355264490250, 0.265292563994096510, 0.265340772060470960, 0.265388979463493490, 0.265437186203043520, 0.265485392279001030, 0.265533597691244680, +0.265581802439654290, 0.265630006524109400, 0.265678209944489930, 0.265726412700674490, 0.265774614792543050, 0.265822816219975060, 0.265871016982850430, 0.265919217081047880, +0.265967416514447220, 0.266015615282928500, 0.266063813386370310, 0.266112010824652580, 0.266160207597654800, 0.266208403705256950, 0.266256599147337680, 0.266304793923776870, +0.266352988034454120, 0.266401181479249290, 0.266449374258041110, 0.266497566370709480, 0.266545757817133910, 0.266593948597194430, 0.266642138710769640, 0.266690328157739460, +0.266738516937983510, 0.266786705051381630, 0.266834892497812610, 0.266883079277156320, 0.266931265389292400, 0.266979450834100680, 0.267027635611459920, 0.267075819721250110, +0.267124003163351110, 0.267172185937641750, 0.267220368044001840, 0.267268549482311100, 0.267316730252449340, 0.267364910354295380, 0.267413089787729100, 0.267461268552630140, +0.267509446648878440, 0.267557624076352640, 0.267605800834932790, 0.267653976924498490, 0.267702152344929610, 0.267750327096104970, 0.267798501177904490, 0.267846674590207780, +0.267894847332894810, 0.267943019405844250, 0.267991190808936190, 0.268039361542050550, 0.268087531605066100, 0.268135700997862820, 0.268183869720320270, 0.268232037772318470, +0.268280205153736180, 0.268328371864453350, 0.268376537904349620, 0.268424703273304920, 0.268472867971198070, 0.268521031997909050, 0.268569195353317470, 0.268617358037303300, +0.268665520049745310, 0.268713681390523540, 0.268761842059517530, 0.268810002056607380, 0.268858161381671790, 0.268906320034590750, 0.268954478015244410, 0.269002635323511430, +0.269050791959271840, 0.269098947922405240, 0.269147103212791730, 0.269195257830310060, 0.269243411774840240, 0.269291565046261840, 0.269339717644455020, 0.269387869569298440, +0.269436020820672200, 0.269484171398455870, 0.269532321302529580, 0.269580470532772070, 0.269628619089063330, 0.269676766971283120, 0.269724914179311330, 0.269773060713026870, +0.269821206572309790, 0.269869351757040080, 0.269917496267096600, 0.269965640102359350, 0.270013783262707970, 0.270061925748022620, 0.270110067558182010, 0.270158208693066230, +0.270206349152554930, 0.270254488936528150, 0.270302628044864770, 0.270350766477444770, 0.270398904234147920, 0.270447041314854200, 0.270495177719442430, 0.270543313447792750, +0.270591448499784780, 0.270639582875298600, 0.270687716574213030, 0.270735849596408170, 0.270783981941763730, 0.270832113610159690, 0.270880244601474970, 0.270928374915589690, +0.270976504552383870, 0.271024633511736330, 0.271072761793527240, 0.271120889397636230, 0.271169016323943410, 0.271217142572327650, 0.271265268142668990, 0.271313393034847190, +0.271361517248742360, 0.271409640784233300, 0.271457763641200110, 0.271505885819522510, 0.271554007319080640, 0.271602128139753320, 0.271650248281420700, 0.271698367743962440, +0.271746486527258690, 0.271794604631188260, 0.271842722055631370, 0.271890838800468100, 0.271938954865577290, 0.271987070250839070, 0.272035184956133210, 0.272083298981339820, +0.272131412326337750, 0.272179524991007120, 0.272227636975227730, 0.272275748278879630, 0.272323858901841740, 0.272371968843994230, 0.272420078105216730, 0.272468186685389520, +0.272516294584391420, 0.272564401802102560, 0.272612508338402730, 0.272660614193172000, 0.272708719366289320, 0.272756823857634890, 0.272804927667088800, 0.272853030794529940, +0.272901133239838500, 0.272949235002894250, 0.272997336083577350, 0.273045436481766710, 0.273093536197342450, 0.273141635230184310, 0.273189733580172570, 0.273237831247186040, +0.273285928231104920, 0.273334024531808990, 0.273382120149178400, 0.273430215083092120, 0.273478309333430310, 0.273526402900072680, 0.273574495782899500, 0.273622587981789680, +0.273670679496623380, 0.273718770327280370, 0.273766860473640850, 0.273814949935583750, 0.273863038712989280, 0.273911126805737650, 0.273959214213707780, 0.274007300936779830, +0.274055386974833670, 0.274103472327749450, 0.274151556995406160, 0.274199640977683960, 0.274247724274462650, 0.274295806885622440, 0.274343888811042270, 0.274391970050602450, +0.274440050604182640, 0.274488130471663150, 0.274536209652922910, 0.274584288147842190, 0.274632365956300690, 0.274680443078178740, 0.274728519513355200, 0.274776595261710390, +0.274824670323124580, 0.274872744697476580, 0.274920818384646770, 0.274968891384514860, 0.275016963696961210, 0.275065035321864710, 0.275113106259105620, 0.275161176508563750, +0.275209246070119370, 0.275257314943651410, 0.275305383129040240, 0.275353450626165560, 0.275401517434907710, 0.275449583555145590, 0.275497648986759550, 0.275545713729629380, +0.275593777783635360, 0.275641841148656470, 0.275689903824572980, 0.275737965811265140, 0.275786027108612000, 0.275834087716493760, 0.275882147634790300, 0.275930206863381880, +0.275978265402147540, 0.276026323250967540, 0.276074380409721710, 0.276122436878290360, 0.276170492656552520, 0.276218547744388420, 0.276266602141677970, 0.276314655848301450, +0.276362708864137830, 0.276410761189067430, 0.276458812822970190, 0.276506863765726310, 0.276554914017214830, 0.276602963577316060, 0.276651012445910340, 0.276699060622876640, +0.276747108108095270, 0.276795154901446180, 0.276843201002809570, 0.276891246412064580, 0.276939291129091440, 0.276987335153770110, 0.277035378485980870, 0.277083421125602750, +0.277131463072516020, 0.277179504326600710, 0.277227544887737040, 0.277275584755804050, 0.277323623930682110, 0.277371662412251140, 0.277419700200391420, 0.277467737294982030, +0.277515773695903300, 0.277563809403035100, 0.277611844416257860, 0.277659878735450560, 0.277707912360493530, 0.277755945291267180, 0.277803977527650510, 0.277852009069523950, +0.277900039916767320, 0.277948070069261030, 0.277996099526884140, 0.278044128289517020, 0.278092156357039600, 0.278140183729332140, 0.278188210406273840, 0.278236236387745030, +0.278284261673625580, 0.278332286263795970, 0.278380310158135140, 0.278428333356523620, 0.278476355858841170, 0.278524377664968350, 0.278572398774784070, 0.278620419188168880, +0.278668438905003040, 0.278716457925165640, 0.278764476248537120, 0.278812493874997400, 0.278860510804426860, 0.278908527036704660, 0.278956542571711100, 0.279004557409326230, +0.279052571549430360, 0.279100584991902660, 0.279148597736623480, 0.279196609783472770, 0.279244621132331010, 0.279292631783077280, 0.279340641735591920, 0.279388650989755020, +0.279436659545446890, 0.279484667402546630, 0.279532674560934780, 0.279580681020491660, 0.279628686781096370, 0.279676691842629390, 0.279724696204970650, 0.279772699868000630, +0.279820702831598430, 0.279868705095644490, 0.279916706660018780, 0.279964707524601670, 0.280012707689272440, 0.280060707153911400, 0.280108705918398590, 0.280156703982614500, +0.280204701346438160, 0.280252698009750060, 0.280300693972430240, 0.280348689234359130, 0.280396683795415880, 0.280444677655480870, 0.280492670814434190, 0.280540663272156270, +0.280588655028526260, 0.280636646083424590, 0.280684636436731750, 0.280732626088326890, 0.280780615038090490, 0.280828603285902530, 0.280876590831643460, 0.280924577675192520, +0.280972563816430150, 0.281020549255236340, 0.281068533991491560, 0.281116518025075090, 0.281164501355867290, 0.281212483983748210, 0.281260465908598380, 0.281308447130296960, +0.281356427648724430, 0.281404407463760780, 0.281452386575286590, 0.281500364983180980, 0.281548342687324480, 0.281596319687597520, 0.281644295983879360, 0.281692271576050480, +0.281740246463990870, 0.281788220647581080, 0.281836194126700360, 0.281884166901229080, 0.281932138971047460, 0.281980110336035870, 0.282028080996073570, 0.282076050951041100, +0.282124020200818500, 0.282171988745286260, 0.282219956584323640, 0.282267923717811120, 0.282315890145628800, 0.282363855867657170, 0.282411820883775420, 0.282459785193864220, +0.282507748797803940, 0.282555711695473830, 0.282603673886754450, 0.282651635371525930, 0.282699596149668720, 0.282747556221062070, 0.282795515585586580, 0.282843474243122280, +0.282891432193549670, 0.282939389436748120, 0.282987345972598060, 0.283035301800979690, 0.283083256921773440, 0.283131211334858630, 0.283179165040115810, 0.283227118037425060, +0.283275070326666930, 0.283323021907720740, 0.283370972780466970, 0.283418922944785770, 0.283466872400557680, 0.283514821147661970, 0.283562769185979220, 0.283610716515389990, +0.283658663135773540, 0.283706609047010390, 0.283754554248980770, 0.283802498741565160, 0.283850442524642920, 0.283898385598094550, 0.283946327961800190, 0.283994269615640450, +0.284042210559494630, 0.284090150793243290, 0.284138090316766510, 0.284186029129945010, 0.284233967232657980, 0.284281904624786030, 0.284329841306209310, 0.284377777276808410, +0.284425712536462650, 0.284473647085052570, 0.284521580922458880, 0.284569514048560730, 0.284617446463238830, 0.284665378166373330, 0.284713309157844820, 0.284761239437532570, +0.284809169005317280, 0.284857097861078990, 0.284905026004698410, 0.284952953436054870, 0.285000880155028950, 0.285048806161500800, 0.285096731455351030, 0.285144656036459050, +0.285192579904705420, 0.285240503059970340, 0.285288425502134460, 0.285336347231077040, 0.285384268246678790, 0.285432188548820240, 0.285480108137380840, 0.285528027012241170, +0.285575945173281440, 0.285623862620382250, 0.285671779353422970, 0.285719695372284250, 0.285767610676846310, 0.285815525266989780, 0.285863439142593990, 0.285911352303539590, +0.285959264749706840, 0.286007176480976290, 0.286055087497227470, 0.286102997798340860, 0.286150907384196740, 0.286198816254675860, 0.286246724409657430, 0.286294631849022260, +0.286342538572650910, 0.286390444580422730, 0.286438349872218500, 0.286486254447918360, 0.286534158307403090, 0.286582061450551930, 0.286629963877245600, 0.286677865587364410, +0.286725766580788970, 0.286773666857398690, 0.286821566417074180, 0.286869465259695810, 0.286917363385144230, 0.286965260793298760, 0.287013157484040160, 0.287061053457248690, +0.287108948712805010, 0.287156843250588490, 0.287204737070479890, 0.287252630172359470, 0.287300522556107830, 0.287348414221604510, 0.287396305168730160, 0.287444195397365430, +0.287492084907389810, 0.287539973698684000, 0.287587861771128270, 0.287635749124603270, 0.287683635758988480, 0.287731521674164600, 0.287779406870011910, 0.287827291346411160, +0.287875175103241730, 0.287923058140384380, 0.287970940457719370, 0.288018822055127410, 0.288066702932487980, 0.288114583089681800, 0.288162462526589170, 0.288210341243090810, +0.288258219239066190, 0.288306096514395980, 0.288353973068960990, 0.288401848902640650, 0.288449724015315660, 0.288497598406866400, 0.288545472077173510, 0.288593345026116550, +0.288641217253576220, 0.288689088759432830, 0.288736959543567150, 0.288784829605858660, 0.288832698946188130, 0.288880567564435810, 0.288928435460482470, 0.288976302634207650, +0.289024169085492060, 0.289072034814216060, 0.289119899820260430, 0.289167764103504590, 0.289215627663829360, 0.289263490501115440, 0.289311352615242380, 0.289359214006090990, +0.289407074673541490, 0.289454934617474790, 0.289502793837770330, 0.289550652334308820, 0.289598510106970740, 0.289646367155636800, 0.289694223480186530, 0.289742079080500650, +0.289789933956459630, 0.289837788107944140, 0.289885641534833820, 0.289933494237009370, 0.289981346214351180, 0.290029197466740050, 0.290077047994055480, 0.290124897796178340, +0.290172746872988880, 0.290220595224368050, 0.290268442850195260, 0.290316289750351400, 0.290364135924717210, 0.290411981373172310, 0.290459826095597400, 0.290507670091872950, +0.290555513361879740, 0.290603355905497300, 0.290651197722606500, 0.290699038813087730, 0.290746879176821740, 0.290794718813688120, 0.290842557723567760, 0.290890395906340970, +0.290938233361888620, 0.290986070090090250, 0.291033906090826740, 0.291081741363978410, 0.291129575909426170, 0.291177409727049590, 0.291225242816729510, 0.291273075178346720, +0.291320906811780800, 0.291368737716912630, 0.291416567893622580, 0.291464397341791580, 0.291512226061299120, 0.291560054052026120, 0.291607881313853010, 0.291655707846660620, +0.291703533650328470, 0.291751358724737560, 0.291799183069768210, 0.291847006685301340, 0.291894829571216540, 0.291942651727394640, 0.291990473153716120, 0.292038293850061860, +0.292086113816311440, 0.292133933052345700, 0.292181751558045600, 0.292229569333290640, 0.292277386377961800, 0.292325202691939510, 0.292373018275104590, 0.292420833127336740, +0.292468647248516790, 0.292516460638525210, 0.292564273297242940, 0.292612085224549510, 0.292659896420325920, 0.292707706884452520, 0.292755516616810320, 0.292803325617278950, +0.292851133885739190, 0.292898941422071620, 0.292946748226157130, 0.292994554297875350, 0.293042359637107170, 0.293090164243733520, 0.293137968117634040, 0.293185771258689660, +0.293233573666780820, 0.293281375341788500, 0.293329176283592290, 0.293376976492073120, 0.293424775967111530, 0.293472574708588450, 0.293520372716383480, 0.293568169990377600, +0.293615966530451300, 0.293663762336485450, 0.293711557408359860, 0.293759351745955300, 0.293807145349152370, 0.293854938217832040, 0.293902730351873920, 0.293950521751158990, +0.293998312415567730, 0.294046102344981130, 0.294093891539278840, 0.294141679998341790, 0.294189467722051010, 0.294237254710286110, 0.294285040962928120, 0.294332826479857480, +0.294380611260955220, 0.294428395306100990, 0.294476178615175830, 0.294523961188060180, 0.294571743024635010, 0.294619524124780100, 0.294667304488376410, 0.294715084115304390, +0.294762863005445130, 0.294810641158678280, 0.294858418574884820, 0.294906195253945350, 0.294953971195740790, 0.295001746400150870, 0.295049520867056550, 0.295097294596338930, +0.295145067587877620, 0.295192839841553590, 0.295240611357247500, 0.295288382134840320, 0.295336152174211770, 0.295383921475242780, 0.295431690037814050, 0.295479457861806460, +0.295527224947099880, 0.295574991293575170, 0.295622756901113000, 0.295670521769594350, 0.295718285898899040, 0.295766049288907930, 0.295813811939501740, 0.295861573850561440, +0.295909335021966760, 0.295957095453598770, 0.296004855145338470, 0.296052614097065570, 0.296100372308661150, 0.296148129780005820, 0.296195886510980610, 0.296243642501465180, +0.296291397751340720, 0.296339152260487740, 0.296386906028787310, 0.296434659056119150, 0.296482411342364360, 0.296530162887403580, 0.296577913691117800, 0.296625663753386780, +0.296673413074091620, 0.296721161653112960, 0.296768909490331800, 0.296816656585627950, 0.296864402938882390, 0.296912148549975890, 0.296959893418789420, 0.297007637545202820, +0.297055380929097110, 0.297103123570353400, 0.297150865468851390, 0.297198606624472280, 0.297246347037096630, 0.297294086706605510, 0.297341825632878750, 0.297389563815797450, +0.297437301255242260, 0.297485037951094210, 0.297532773903233180, 0.297580509111540160, 0.297628243575895900, 0.297675977296181450, 0.297723710272276620, 0.297771442504062570, +0.297819173991419880, 0.297866904734229660, 0.297914634732371730, 0.297962363985727290, 0.298010092494177310, 0.298057820257601690, 0.298105547275881510, 0.298153273548897480, +0.298200999076530690, 0.298248723858660970, 0.298296447895169400, 0.298344171185936760, 0.298391893730844130, 0.298439615529771270, 0.298487336582599460, 0.298535056889209230, +0.298582776449481830, 0.298630495263297050, 0.298678213330536070, 0.298725930651079500, 0.298773647224808540, 0.298821363051603060, 0.298869078131344170, 0.298916792463913010, +0.298964506049189390, 0.299012218887054590, 0.299059930977389200, 0.299107642320074420, 0.299155352914990070, 0.299203062762017360, 0.299250771861036990, 0.299298480211930170, +0.299346187814576670, 0.299393894668857690, 0.299441600774653980, 0.299489306131846710, 0.299537010740315750, 0.299584714599942290, 0.299632417710607000, 0.299680120072191140, +0.299727821684574510, 0.299775522547638340, 0.299823222661263770, 0.299870922025330720, 0.299918620639720410, 0.299966318504313490, 0.300014015618991210, 0.300061711983633520, +0.300109407598121490, 0.300157102462335960, 0.300204796576158120, 0.300252489939467850, 0.300300182552146360, 0.300347874414074400, 0.300395565525133190, 0.300443255885202600, +0.300490945494163940, 0.300538634351897870, 0.300586322458285650, 0.300634009813207200, 0.300681696416543740, 0.300729382268176030, 0.300777067367985260, 0.300824751715851440, +0.300872435311655690, 0.300920118155279360, 0.300967800246602250, 0.301015481585505620, 0.301063162171870350, 0.301110842005577530, 0.301158521086507200, 0.301206199414540630, +0.301253876989558520, 0.301301553811442140, 0.301349229880071400, 0.301396905195327640, 0.301444579757091600, 0.301492253565244560, 0.301539926619666440, 0.301587598920238510, +0.301635270466841580, 0.301682941259356910, 0.301730611297664490, 0.301778280581645460, 0.301825949111181210, 0.301873616886151660, 0.301921283906438080, 0.301968950171921270, +0.302016615682482500, 0.302064280438001760, 0.302111944438360370, 0.302159607683439080, 0.302207270173119210, 0.302254931907280700, 0.302302592885804910, 0.302350253108572610, +0.302397912575465110, 0.302445571286362400, 0.302493229241145800, 0.302540886439696070, 0.302588542881894570, 0.302636198567621310, 0.302683853496757530, 0.302731507669184550, +0.302779161084782370, 0.302826813743432290, 0.302874465645015130, 0.302922116789412330, 0.302969767176503760, 0.303017416806170730, 0.303065065678294220, 0.303112713792755450, +0.303160361149434450, 0.303208007748212600, 0.303255653588970660, 0.303303298671590060, 0.303350942995950780, 0.303398586561934140, 0.303446229369421060, 0.303493871418292820, +0.303541512708429440, 0.303589153239712310, 0.303636793012022290, 0.303684432025240700, 0.303732070279247650, 0.303779707773924380, 0.303827344509152280, 0.303874980484811370, +0.303922615700783050, 0.303970250156948170, 0.304017883853188060, 0.304065516789382870, 0.304113148965413860, 0.304160780381162010, 0.304208411036508590, 0.304256040931333740, +0.304303670065518780, 0.304351298438944650, 0.304398926051492660, 0.304446552903043010, 0.304494178993476920, 0.304541804322675410, 0.304589428890519760, 0.304637052696890180, +0.304684675741667970, 0.304732298024734450, 0.304779919545969780, 0.304827540305255270, 0.304875160302471970, 0.304922779537501190, 0.304970398010223020, 0.305018015720518840, +0.305065632668269640, 0.305113248853356780, 0.305160864275660360, 0.305208478935061810, 0.305256092831442060, 0.305303705964682480, 0.305351318334663220, 0.305398929941265660, +0.305446540784370780, 0.305494150863859950, 0.305541760179613320, 0.305589368731512320, 0.305636976519438330, 0.305684583543271440, 0.305732189802893130, 0.305779795298184330, +0.305827400029026420, 0.305875003995299650, 0.305922607196885350, 0.305970209633664500, 0.306017811305518580, 0.306065412212327690, 0.306113012353973310, 0.306160611730336370, +0.306208210341298300, 0.306255808186739360, 0.306303405266540820, 0.306351001580583810, 0.306398597128749730, 0.306446191910918650, 0.306493785926972180, 0.306541379176791640, +0.306588971660257230, 0.306636563377250370, 0.306684154327652110, 0.306731744511343940, 0.306779333928205940, 0.306826922578119610, 0.306874510460965980, 0.306922097576626470, +0.306969683924981310, 0.307017269505911960, 0.307064854319299420, 0.307112438365025160, 0.307160021642969350, 0.307207604153013570, 0.307255185895038700, 0.307302766868926320, +0.307350347074556610, 0.307397926511811030, 0.307445505180570620, 0.307493083080716880, 0.307540660212130000, 0.307588236574691480, 0.307635812168282790, 0.307683386992784190, +0.307730961048077070, 0.307778534334042560, 0.307826106850562110, 0.307873678597516020, 0.307921249574785670, 0.307968819782252270, 0.308016389219797180, 0.308063957887300730, +0.308111525784644400, 0.308159092911709230, 0.308206659268376760, 0.308254224854527190, 0.308301789670042070, 0.308349353714802490, 0.308396916988689930, 0.308444479491584710, +0.308492041223368210, 0.308539602183922070, 0.308587162373126560, 0.308634721790863040, 0.308682280437012790, 0.308729838311457230, 0.308777395414076670, 0.308824951744752610, +0.308872507303366130, 0.308920062089798890, 0.308967616103930980, 0.309015169345644100, 0.309062721814819250, 0.309110273511338070, 0.309157824435080720, 0.309205374585928890, +0.309252923963763580, 0.309300472568466380, 0.309348020399917540, 0.309395567457998680, 0.309443113742591370, 0.309490659253575770, 0.309538203990833590, 0.309585747954245870, +0.309633291143694200, 0.309680833559058900, 0.309728375200221510, 0.309775916067063170, 0.309823456159465490, 0.309870995477308730, 0.309918534020474480, 0.309966071788843890, +0.310013608782298500, 0.310061145000718740, 0.310108680443986100, 0.310156215111981710, 0.310203749004587250, 0.310251282121683010, 0.310298814463150550, 0.310346346028871010, +0.310393876818726100, 0.310441406832596020, 0.310488936070362430, 0.310536464531906970, 0.310583992217109860, 0.310631519125852850, 0.310679045258016980, 0.310726570613483910, +0.310774095192134060, 0.310821618993848910, 0.310869142018509740, 0.310916664265998120, 0.310964185736194390, 0.311011706428980240, 0.311059226344236830, 0.311106745481845750, +0.311154263841687430, 0.311201781423643410, 0.311249298227594890, 0.311296814253423650, 0.311344329501009880, 0.311391843970235280, 0.311439357660981580, 0.311486870573128960, +0.311534382706559200, 0.311581894061153500, 0.311629404636793510, 0.311676914433359540, 0.311724423450733310, 0.311771931688796020, 0.311819439147429270, 0.311866945826513590, +0.311914451725930460, 0.311961956845561270, 0.312009461185287550, 0.312056964744989780, 0.312104467524549620, 0.312151969523848270, 0.312199470742767440, 0.312246971181187490, +0.312294470838990090, 0.312341969716056990, 0.312389467812268510, 0.312436965127506350, 0.312484461661651840, 0.312531957414586500, 0.312579452386190890, 0.312626946576346710, +0.312674439984935100, 0.312721932611837780, 0.312769424456935290, 0.312816915520109210, 0.312864405801240810, 0.312911895300211850, 0.312959384016902710, 0.313006871951195090, +0.313054359102970300, 0.313101845472110060, 0.313149331058494800, 0.313196815862006210, 0.313244299882525950, 0.313291783119934550, 0.313339265574113680, 0.313386747244944700, +0.313434228132309200, 0.313481708236087730, 0.313529187556161990, 0.313576666092413300, 0.313624143844723370, 0.313671620812972620, 0.313719096997042870, 0.313766572396815320, +0.313814047012171800, 0.313861520842992740, 0.313908993889159880, 0.313956466150554560, 0.314003937627058420, 0.314051408318552050, 0.314098878224917220, 0.314146347346035140, +0.314193815681787610, 0.314241283232055080, 0.314288749996719410, 0.314336215975662250, 0.314383681168764140, 0.314431145575906850, 0.314478609196971680, 0.314526072031840410, +0.314573534080393510, 0.314620995342512810, 0.314668455818079620, 0.314715915506975700, 0.314763374409081590, 0.314810832524278990, 0.314858289852449350, 0.314905746393474410, +0.314953202147234660, 0.315000657113611910, 0.315048111292487550, 0.315095564683743280, 0.315143017287259740, 0.315190469102918590, 0.315237920130601760, 0.315285370370189670, +0.315332819821564140, 0.315380268484606600, 0.315427716359198750, 0.315475163445221250, 0.315522609742555800, 0.315570055251083840, 0.315617499970687170, 0.315664943901246330, +0.315712387042643150, 0.315759829394758940, 0.315807270957475630, 0.315854711730673700, 0.315902151714235020, 0.315949590908040920, 0.315997029311973270, 0.316044466925912650, +0.316091903749740830, 0.316139339783339690, 0.316186775026589820, 0.316234209479372970, 0.316281643141570590, 0.316329076013064540, 0.316376508093735350, 0.316423939383464910, +0.316471369882134650, 0.316518799589626370, 0.316566228505820670, 0.316613656630599370, 0.316661083963843960, 0.316708510505436250, 0.316755936255256830, 0.316803361213187580, +0.316850785379109930, 0.316898208752905750, 0.316945631334455640, 0.316993053123641400, 0.317040474120344530, 0.317087894324446950, 0.317135313735829210, 0.317182732354373110, +0.317230150179960650, 0.317277567212472410, 0.317324983451790220, 0.317372398897795620, 0.317419813550370410, 0.317467227409395260, 0.317514640474751970, 0.317562052746322150, +0.317609464223987610, 0.317656874907629010, 0.317704284797128200, 0.317751693892366680, 0.317799102193226320, 0.317846509699587830, 0.317893916411333020, 0.317941322328343430, +0.317988727450501000, 0.318036131777686300, 0.318083535309781230, 0.318130938046667810, 0.318178339988226590, 0.318225741134339490, 0.318273141484888110, 0.318320541039754270, +0.318367939798818610, 0.318415337761963180, 0.318462734929069350, 0.318510131300019090, 0.318557526874693130, 0.318604921652973330, 0.318652315634741220, 0.318699708819878750, +0.318747101208266600, 0.318794492799786670, 0.318841883594320530, 0.318889273591750070, 0.318936662791956040, 0.318984051194820320, 0.319031438800224940, 0.319078825608050510, +0.319126211618179000, 0.319173596830492010, 0.319220981244871420, 0.319268364861197970, 0.319315747679353610, 0.319363129699219870, 0.319410510920678680, 0.319457891343610860, +0.319505270967898270, 0.319552649793422520, 0.319600027820065580, 0.319647405047708170, 0.319694781476232200, 0.319742157105519290, 0.319789531935451400, 0.319836905965909250, +0.319884279196774870, 0.319931651627930190, 0.319979023259255980, 0.320026394090634210, 0.320073764121946440, 0.320121133353074680, 0.320168501783899660, 0.320215869414303410, +0.320263236244167470, 0.320310602273373880, 0.320357967501803340, 0.320405331929337900, 0.320452695555859090, 0.320500058381249010, 0.320547420405388360, 0.320594781628159130, +0.320642142049442970, 0.320689501669121860, 0.320736860487076560, 0.320784218503189170, 0.320831575717341170, 0.320878932129414710, 0.320926287739290440, 0.320973642546850460, +0.321020996551976800, 0.321068349754550290, 0.321115702154452840, 0.321163053751566120, 0.321210404545772210, 0.321257754536951880, 0.321305103724987160, 0.321352452109759710, +0.321399799691151510, 0.321447146469043380, 0.321494492443317400, 0.321541837613855190, 0.321589181980538820, 0.321636525543249060, 0.321683868301868010, 0.321731210256277270, +0.321778551406358910, 0.321825891751993780, 0.321873231293063890, 0.321920570029451350, 0.321967907961036970, 0.322015245087702850, 0.322062581409330580, 0.322109916925802320, +0.322157251636998820, 0.322204585542802180, 0.322251918643094050, 0.322299250937756580, 0.322346582426670580, 0.322393913109718100, 0.322441242986780840, 0.322488572057740900, +0.322535900322479090, 0.322583227780877560, 0.322630554432817910, 0.322677880278182340, 0.322725205316851670, 0.322772529548707940, 0.322819852973633300, 0.322867175591508630, +0.322914497402216010, 0.322961818405637200, 0.323009138601654200, 0.323056457990147930, 0.323103776571000530, 0.323151094344093730, 0.323198411309309600, 0.323245727466528960, +0.323293042815634090, 0.323340357356506570, 0.323387671089028550, 0.323434984013080960, 0.323482296128545900, 0.323529607435305120, 0.323576917933240730, 0.323624227622233640, +0.323671536502165960, 0.323718844572919440, 0.323766151834376240, 0.323813458286417220, 0.323860763928924600, 0.323908068761780410, 0.323955372784865690, 0.324002675998062540, +0.324049978401252660, 0.324097279994318310, 0.324144580777140310, 0.324191880749600870, 0.324239179911581690, 0.324286478262965030, 0.324333775803631710, 0.324381072533463990, +0.324428368452343570, 0.324475663560152620, 0.324522957856772150, 0.324570251342084230, 0.324617544015970700, 0.324664835878313740, 0.324712126928994320, 0.324759417167894530, +0.324806706594896580, 0.324853995209881510, 0.324901283012731410, 0.324948570003328110, 0.324995856181553850, 0.325043141547289470, 0.325090426100417270, 0.325137709840818970, +0.325184992768376870, 0.325232274882971790, 0.325279556184486120, 0.325326836672801490, 0.325374116347800220, 0.325421395209363200, 0.325468673257372720, 0.325515950491710560, +0.325563226912258970, 0.325610502518898840, 0.325657777311512460, 0.325705051289982120, 0.325752324454188670, 0.325799596804014440, 0.325846868339341180, 0.325894139060051210, +0.325941408966025470, 0.325988678057146150, 0.326035946333295190, 0.326083213794354790, 0.326130480440205930, 0.326177746270730870, 0.326225011285811380, 0.326272275485329890, +0.326319538869167200, 0.326366801437205700, 0.326414063189327200, 0.326461324125413950, 0.326508584245347010, 0.326555843549008570, 0.326603102036280960, 0.326650359707045150, +0.326697616561183460, 0.326744872598577710, 0.326792127819110210, 0.326839382222661960, 0.326886635809115260, 0.326933888578351980, 0.326981140530254400, 0.327028391664703540, +0.327075641981581730, 0.327122891480770780, 0.327170140162153010, 0.327217388025609510, 0.327264635071022550, 0.327311881298273930, 0.327359126707246100, 0.327406371297820020, +0.327453615069877970, 0.327500858023301920, 0.327548100157974140, 0.327595341473775670, 0.327642581970588880, 0.327689821648296020, 0.327737060506778200, 0.327784298545917730, +0.327831535765596540, 0.327878772165696890, 0.327926007746099920, 0.327973242506687910, 0.328020476447342780, 0.328067709567946900, 0.328114941868381360, 0.328162173348528430, +0.328209404008270030, 0.328256633847488600, 0.328303862866065170, 0.328351091063882050, 0.328398318440821180, 0.328445544996764980, 0.328492770731594500, 0.328539995645192040, +0.328587219737440040, 0.328634443008219590, 0.328681665457413010, 0.328728887084902280, 0.328776107890569770, 0.328823327874296520, 0.328870547035965020, 0.328917765375457080, +0.328964982892655190, 0.329012199587440380, 0.329059415459695140, 0.329106630509301330, 0.329153844736141340, 0.329201058140096310, 0.329248270721048670, 0.329295482478880350, +0.329342693413473770, 0.329389903524709980, 0.329437112812471460, 0.329484321276640570, 0.329531528917098470, 0.329578735733727530, 0.329625941726409740, 0.329673146895027580, +0.329720351239462080, 0.329767554759595680, 0.329814757455310470, 0.329861959326488710, 0.329909160373011660, 0.329956360594761740, 0.330003559991620900, 0.330050758563471550, +0.330097956310194900, 0.330145153231673370, 0.330192349327788960, 0.330239544598424080, 0.330286739043459900, 0.330333932662778940, 0.330381125456263080, 0.330428317423794860, +0.330475508565255430, 0.330522698880527210, 0.330569888369492690, 0.330617077032032970, 0.330664264868030630, 0.330711451877367610, 0.330758638059926340, 0.330805823415588120, +0.330853007944235280, 0.330900191645749960, 0.330947374520014550, 0.330994556566910290, 0.331041737786319680, 0.331088918178124690, 0.331136097742207810, 0.331183276478450310, +0.331230454386734540, 0.331277631466942720, 0.331324807718957230, 0.331371983142659250, 0.331419157737931350, 0.331466331504655990, 0.331513504442714320, 0.331560676551988950, +0.331607847832361860, 0.331655018283715570, 0.331702187905931310, 0.331749356698891610, 0.331796524662478500, 0.331843691796574520, 0.331890858101060840, 0.331938023575820080, +0.331985188220734200, 0.332032352035685820, 0.332079515020556100, 0.332126677175227590, 0.332173838499582430, 0.332220998993503050, 0.332268158656870820, 0.332315317489568110, +0.332362475491477570, 0.332409632662480410, 0.332456789002459170, 0.332503944511296000, 0.332551099188873320, 0.332598253035072510, 0.332645406049776050, 0.332692558232866090, +0.332739709584225160, 0.332786860103734540, 0.332834009791276750, 0.332881158646733900, 0.332928306669988630, 0.332975453860922140, 0.333022600219417040, 0.333069745745355470, +0.333116890438619920, 0.333164034299091690, 0.333211177326653400, 0.333258319521187620, 0.333305460882575570, 0.333352601410699890, 0.333399741105442740, 0.333446879966686590, +0.333494017994312890, 0.333541155188204100, 0.333588291548242430, 0.333635427074310490, 0.333682561766289520, 0.333729695624062130, 0.333776828647510570, 0.333823960836517280, +0.333871092190963730, 0.333918222710732400, 0.333965352395705520, 0.334012481245765710, 0.334059609260794250, 0.334106736440673790, 0.334153862785286470, 0.334200988294514940, +0.334248112968240470, 0.334295236806345760, 0.334342359808713350, 0.334389481975224670, 0.334436603305762250, 0.334483723800208300, 0.334530843458445530, 0.334577962280355190, +0.334625080265819940, 0.334672197414721980, 0.334719313726943970, 0.334766429202367210, 0.334813543840874420, 0.334860657642347740, 0.334907770606669870, 0.334954882733722150, +0.335001994023387210, 0.335049104475547310, 0.335096214090085050, 0.335143322866881810, 0.335190430805820280, 0.335237537906783120, 0.335284644169651650, 0.335331749594308610, +0.335378854180636180, 0.335425957928517040, 0.335473060837832570, 0.335520162908465480, 0.335567264140297920, 0.335614364533212690, 0.335661464087091080, 0.335708562801815820, +0.335755660677269200, 0.335802757713333790, 0.335849853909891080, 0.335896949266823790, 0.335944043784014050, 0.335991137461344620, 0.336038230298697000, 0.336085322295953730, +0.336132413452997600, 0.336179503769710060, 0.336226593245973700, 0.336273681881670890, 0.336320769676684280, 0.336367856630895360, 0.336414942744186760, 0.336462028016440820, +0.336509112447540230, 0.336556196037366420, 0.336603278785802150, 0.336650360692729630, 0.336697441758031680, 0.336744521981589660, 0.336791601363286400, 0.336838679903004090, +0.336885757600625500, 0.336932834456032120, 0.336979910469106640, 0.337026985639731380, 0.337074059967789110, 0.337121133453161250, 0.337168206095730560, 0.337215277895379750, +0.337262348851990360, 0.337309418965445030, 0.337356488235626200, 0.337403556662416610, 0.337450624245697660, 0.337497690985352150, 0.337544756881262400, 0.337591821933311220, +0.337638886141380050, 0.337685949505351630, 0.337733012025108410, 0.337780073700533030, 0.337827134531507030, 0.337874194517913230, 0.337921253659633940, 0.337968311956551910, +0.338015369408548700, 0.338062426015507070, 0.338109481777309760, 0.338156536693838380, 0.338203590764975640, 0.338250643990603890, 0.338297696370605970, 0.338344747904863410, +0.338391798593258960, 0.338438848435675010, 0.338485897431994360, 0.338532945582098570, 0.338579992885870430, 0.338627039343192270, 0.338674084953946910, 0.338721129718015990, +0.338768173635282170, 0.338815216705627980, 0.338862258928936120, 0.338909300305088200, 0.338956340833967080, 0.339003380515455480, 0.339050419349435030, 0.339097457335788500, +0.339144494474398320, 0.339191530765147350, 0.339238566207917150, 0.339285600802590510, 0.339332634549049880, 0.339379667447178070, 0.339426699496856720, 0.339473730697968550, +0.339520761050396080, 0.339567790554022140, 0.339614819208728320, 0.339661847014397440, 0.339708873970911930, 0.339755900078154650, 0.339802925336007200, 0.339849949744352450, +0.339896973303072840, 0.339943996012051160, 0.339991017871169140, 0.340038038880309530, 0.340085059039355260, 0.340132078348187930, 0.340179096806690400, 0.340226114414745100, +0.340273131172234950, 0.340320147079041570, 0.340367162135047810, 0.340414176340136150, 0.340461189694189480, 0.340508202197089380, 0.340555213848718790, 0.340602224648960170, +0.340649234597696420, 0.340696243694809160, 0.340743251940181290, 0.340790259333695280, 0.340837265875234050, 0.340884271564679210, 0.340931276401913730, 0.340978280386820430, +0.341025283519281070, 0.341072285799178480, 0.341119287226395170, 0.341166287800814040, 0.341213287522316780, 0.341260286390786320, 0.341307284406105140, 0.341354281568156170, +0.341401277876821060, 0.341448273331982800, 0.341495267933523810, 0.341542261681327060, 0.341589254575274280, 0.341636246615248330, 0.341683237801131800, 0.341730228132807570, +0.341777217610157340, 0.341824206233064090, 0.341871194001410750, 0.341918180915078970, 0.341965166973951800, 0.342012152177911640, 0.342059136526841560, 0.342106120020623180, +0.342153102659139560, 0.342200084442273120, 0.342247065369906960, 0.342294045441922660, 0.342341024658203260, 0.342388003018631320, 0.342434980523089790, 0.342481957171460350, +0.342528932963626020, 0.342575907899469400, 0.342622881978873420, 0.342669855201719780, 0.342716827567891570, 0.342763799077271670, 0.342810769729741840, 0.342857739525185110, +0.342904708463483980, 0.342951676544521580, 0.342998643768179510, 0.343045610134340820, 0.343092575642888140, 0.343139540293704470, 0.343186504086671450, 0.343233467021672230, +0.343280429098589300, 0.343327390317305750, 0.343374350677703330, 0.343421310179664980, 0.343468268823073410, 0.343515226607811530, 0.343562183533761170, 0.343609139600805360, +0.343656094808826750, 0.343703049157708270, 0.343750002647331740, 0.343796955277580250, 0.343843907048336730, 0.343890857959483100, 0.343937808010902290, 0.343984757202476950, +0.344031705534090130, 0.344078653005623620, 0.344125599616960490, 0.344172545367983360, 0.344219490258575290, 0.344266434288618080, 0.344313377457994780, 0.344360319766588040, +0.344407261214280950, 0.344454201800955260, 0.344501141526494030, 0.344548080390780000, 0.344595018393696160, 0.344641955535124390, 0.344688891814947660, 0.344735827233049190, +0.344782761789310720, 0.344829695483615310, 0.344876628315845700, 0.344923560285884890, 0.344970491393614800, 0.345017421638918460, 0.345064351021678590, 0.345111279541778280, +0.345158207199099290, 0.345205133993524820, 0.345252059924937520, 0.345298984993220480, 0.345345909198255590, 0.345392832539925860, 0.345439755018114080, 0.345486676632703330, +0.345533597383575470, 0.345580517270613670, 0.345627436293700910, 0.345674354452719210, 0.345721271747551570, 0.345768188178080800, 0.345815103744189940, 0.345862018445760920, +0.345908932282676830, 0.345955845254820430, 0.346002757362074860, 0.346049668604321960, 0.346096578981444860, 0.346143488493326320, 0.346190397139849500, 0.346237304920896270, +0.346284211836349780, 0.346331117886092720, 0.346378023070008310, 0.346424927387978420, 0.346471830839886250, 0.346518733425614460, 0.346565635145046290, 0.346612535998063580, +0.346659435984549510, 0.346706335104387310, 0.346753233357458830, 0.346800130743647290, 0.346847027262835450, 0.346893922914906390, 0.346940817699742170, 0.346987711617225860, +0.347034604667240290, 0.347081496849668600, 0.347128388164392790, 0.347175278611295990, 0.347222168190260970, 0.347269056901170990, 0.347315944743907920, 0.347362831718355030, +0.347409717824395000, 0.347456603061911170, 0.347503487430785350, 0.347550370930900850, 0.347597253562140830, 0.347644135324387200, 0.347691016217523300, 0.347737896241431870, +0.347784775395996060, 0.347831653681097920, 0.347878531096620650, 0.347925407642447060, 0.347972283318460360, 0.348019158124542540, 0.348066032060576850, 0.348112905126446050, +0.348159777322033400, 0.348206648647220900, 0.348253519101891730, 0.348300388685928830, 0.348347257399215350, 0.348394125241633320, 0.348440992213065960, 0.348487858313396510, +0.348534723542507090, 0.348581587900280760, 0.348628451386600540, 0.348675314001349550, 0.348722175744409890, 0.348769036615664770, 0.348815896614997070, 0.348862755742290030, +0.348909613997425700, 0.348956471380287350, 0.349003327890757830, 0.349050183528720360, 0.349097038294057030, 0.349143892186651150, 0.349190745206385490, 0.349237597353143360, +0.349284448626806850, 0.349331299027259230, 0.349378148554383820, 0.349424997208062580, 0.349471844988178850, 0.349518691894615490, 0.349565537927255810, 0.349612383085981910, +0.349659227370677010, 0.349706070781224070, 0.349752913317506350, 0.349799754979405960, 0.349846595766806160, 0.349893435679589860, 0.349940274717640390, 0.349987112880839830, +0.350033950169071520, 0.350080786582218310, 0.350127622120163520, 0.350174456782789300, 0.350221290569978920, 0.350268123481615290, 0.350314955517581790, 0.350361786677760470, +0.350408616962034740, 0.350455446370287800, 0.350502274902401880, 0.350549102558260270, 0.350595929337745920, 0.350642755240742120, 0.350689580267131040, 0.350736404416795990, +0.350783227689619950, 0.350830050085486290, 0.350876871604277050, 0.350923692245875610, 0.350970512010164940, 0.351017330897028470, 0.351064148906348180, 0.351110966038007570, +0.351157782291889540, 0.351204597667877430, 0.351251412165853430, 0.351298225785700910, 0.351345038527303260, 0.351391850390542600, 0.351438661375302270, 0.351485471481465310, +0.351532280708915070, 0.351579089057533770, 0.351625896527204660, 0.351672703117810900, 0.351719508829235750, 0.351766313661361410, 0.351813117614071300, 0.351859920687248360, +0.351906722880776070, 0.351953524194536570, 0.352000324628413240, 0.352047124182289060, 0.352093922856047570, 0.352140720649570800, 0.352187517562742250, 0.352234313595445270, +0.352281108747562130, 0.352327903018976260, 0.352374696409570590, 0.352421488919228590, 0.352468280547832470, 0.352515071295265600, 0.352561861161411080, 0.352608650146152340, +0.352655438249371570, 0.352702225470952200, 0.352749011810777220, 0.352795797268730170, 0.352842581844693190, 0.352889365538549770, 0.352936148350182940, 0.352982930279476140, +0.353029711326311610, 0.353076491490572800, 0.353123270772142780, 0.353170049170905000, 0.353216826686741650, 0.353263603319536210, 0.353310379069172230, 0.353357153935531850, +0.353403927918498620, 0.353450701017955560, 0.353497473233786160, 0.353544244565872630, 0.353591015014098560, 0.353637784578346880, 0.353684553258501230, 0.353731321054443710, +0.353778087966057920, 0.353824853993226880, 0.353871619135834150, 0.353918383393761970, 0.353965146766893830, 0.354011909255112780, 0.354058670858302390, 0.354105431576344940, +0.354152191409123910, 0.354198950356522770, 0.354245708418423840, 0.354292465594710670, 0.354339221885266340, 0.354385977289974340, 0.354432731808717040, 0.354479485441377860, +0.354526238187839960, 0.354572990047986920, 0.354619741021700960, 0.354666491108865670, 0.354713240309364130, 0.354759988623079890, 0.354806736049895320, 0.354853482589693850, +0.354900228242358730, 0.354946973007773390, 0.354993716885820270, 0.355040459876382830, 0.355087201979344620, 0.355133943194588020, 0.355180683521996610, 0.355227422961453430, +0.355274161512842130, 0.355320899176044980, 0.355367635950945620, 0.355414371837427130, 0.355461106835373190, 0.355507840944666030, 0.355554574165189260, 0.355601306496826090, +0.355648037939460040, 0.355694768492973430, 0.355741498157249980, 0.355788226932172770, 0.355834954817625390, 0.355881681813490220, 0.355928407919650800, 0.355975133135990830, +0.356021857462392620, 0.356068580898739720, 0.356115303444915380, 0.356162025100803190, 0.356208745866285590, 0.356255465741246060, 0.356302184725567850, 0.356348902819134670, +0.356395620021828730, 0.356442336333533780, 0.356489051754133040, 0.356535766283510020, 0.356582479921547180, 0.356629192668128150, 0.356675904523136130, 0.356722615486454790, +0.356769325557966480, 0.356816034737554850, 0.356862743025103120, 0.356909450420494930, 0.356956156923612770, 0.357002862534340160, 0.357049567252560820, 0.357096271078157170, +0.357142974011012860, 0.357189676051011040, 0.357236377198035530, 0.357283077451968580, 0.357329776812694010, 0.357376475280094970, 0.357423172854055120, 0.357469869534456970, +0.357516565321184140, 0.357563260214119880, 0.357609954213147900, 0.357656647318150610, 0.357703339529011730, 0.357750030845614460, 0.357796721267842570, 0.357843410795578410, +0.357890099428705750, 0.357936787167108250, 0.357983474010668380, 0.358030159959269840, 0.358076845012795850, 0.358123529171130220, 0.358170212434155310, 0.358216894801754890, +0.358263576273812220, 0.358310256850211010, 0.358356936530833780, 0.358403615315564190, 0.358450293204285560, 0.358496970196881650, 0.358543646293234820, 0.358590321493228950, +0.358636995796747240, 0.358683669203673450, 0.358730341713890120, 0.358777013327280900, 0.358823684043729550, 0.358870353863118610, 0.358917022785331720, 0.358963690810252310, +0.359010357937764090, 0.359057024167749590, 0.359103689500092530, 0.359150353934676200, 0.359197017471384440, 0.359243680110099660, 0.359290341850705740, 0.359337002693085940, +0.359383662637124070, 0.359430321682702610, 0.359476979829705390, 0.359523637078015660, 0.359570293427517280, 0.359616948878092760, 0.359663603429625830, 0.359710257081999940, +0.359756909835098780, 0.359803561688804950, 0.359850212643002210, 0.359896862697574370, 0.359943511852403920, 0.359990160107374720, 0.360036807462370160, 0.360083453917273920, +0.360130099471968670, 0.360176744126338160, 0.360223387880265810, 0.360270030733635390, 0.360316672686329500, 0.360363313738231880, 0.360409953889226030, 0.360456593139195650, +0.360503231488023430, 0.360549868935593100, 0.360596505481788120, 0.360643141126492260, 0.360689775869588170, 0.360736409710959600, 0.360783042650490440, 0.360829674688063260, +0.360876305823561890, 0.360922936056869760, 0.360969565387870730, 0.361016193816447340, 0.361062821342483460, 0.361109447965862530, 0.361156073686468400, 0.361202698504183680, +0.361249322418892240, 0.361295945430477440, 0.361342567538823210, 0.361389188743812150, 0.361435809045328130, 0.361482428443254570, 0.361529046937475400, 0.361575664527873150, +0.361622281214331760, 0.361668896996735050, 0.361715511874965700, 0.361762125848907600, 0.361808738918444120, 0.361855351083459230, 0.361901962343835590, 0.361948572699457020, +0.361995182150207040, 0.362041790695969480, 0.362088398336627040, 0.362135005072063590, 0.362181610902162670, 0.362228215826808090, 0.362274819845882610, 0.362321422959270060, +0.362368025166853960, 0.362414626468518190, 0.362461226864145390, 0.362507826353619610, 0.362554424936824660, 0.362601022613643190, 0.362647619383959230, 0.362694215247656160, +0.362740810204618010, 0.362787404254727390, 0.362833997397868260, 0.362880589633924170, 0.362927180962778980, 0.362973771384315470, 0.363020360898417490, 0.363066949504968650, +0.363113537203852810, 0.363160123994952730, 0.363206709878152290, 0.363253294853335130, 0.363299878920385180, 0.363346462079185080, 0.363393044329618780, 0.363439625671569950, +0.363486206104922440, 0.363532785629558990, 0.363579364245363580, 0.363625941952220140, 0.363672518750011500, 0.363719094638621510, 0.363765669617933770, 0.363812243687832330, +0.363858816848199820, 0.363905389098920280, 0.363951960439877260, 0.363998530870954800, 0.364045100392035580, 0.364091669003003600, 0.364138236703742400, 0.364184803494136070, +0.364231369374067300, 0.364277934343420150, 0.364324498402078150, 0.364371061549925270, 0.364417623786844390, 0.364464185112719390, 0.364510745527434340, 0.364557305030872080, +0.364603863622916520, 0.364650421303451270, 0.364696978072360400, 0.364743533929526690, 0.364790088874834160, 0.364836642908166360, 0.364883196029407390, 0.364929748238440040, +0.364976299535148260, 0.365022849919415800, 0.365069399391126590, 0.365115947950163440, 0.365162495596410450, 0.365209042329751270, 0.365255588150069810, 0.365302133057249010, +0.365348677051172910, 0.365395220131725480, 0.365441762298789610, 0.365488303552249320, 0.365534843891988310, 0.365581383317890580, 0.365627921829838940, 0.365674459427717540, +0.365720996111409960, 0.365767531880800360, 0.365814066735771440, 0.365860600676207400, 0.365907133701991850, 0.365953665813008920, 0.366000197009141380, 0.366046727290273320, +0.366093256656288450, 0.366139785107070900, 0.366186312642503400, 0.366232839262470190, 0.366279364966854810, 0.366325889755541480, 0.366372413628413000, 0.366418936585353520, +0.366465458626247080, 0.366511979750976550, 0.366558499959426130, 0.366605019251479420, 0.366651537627020570, 0.366698055085932510, 0.366744571628099260, 0.366791087253404650, +0.366837601961732650, 0.366884115752966310, 0.366930628626989610, 0.366977140583686410, 0.367023651622940710, 0.367070161744635470, 0.367116670948654860, 0.367163179234882560, +0.367209686603202750, 0.367256193053498270, 0.367302698585653340, 0.367349203199552050, 0.367395706895077330, 0.367442209672113380, 0.367488711530543910, 0.367535212470253000, +0.367581712491123700, 0.367628211593040160, 0.367674709775886010, 0.367721207039545580, 0.367767703383901630, 0.367814198808838480, 0.367860693314239820, 0.367907186899989860, +0.367953679565971530, 0.368000171312068970, 0.368046662138165950, 0.368093152044146720, 0.368139641029894220, 0.368186129095292580, 0.368232616240226070, 0.368279102464577570, +0.368325587768231320, 0.368372072151071150, 0.368418555612981150, 0.368465038153844350, 0.368511519773545020, 0.368558000471966850, 0.368604480248994060, 0.368650959104509680, +0.368697437038397910, 0.368743914050542580, 0.368790390140827820, 0.368836865309136670, 0.368883339555353410, 0.368929812879361770, 0.368976285281045980, 0.369022756760289120, +0.369069227316975330, 0.369115696950988950, 0.369162165662212830, 0.369208633450531340, 0.369255100315828260, 0.369301566257987820, 0.369348031276893090, 0.369394495372428240, +0.369440958544477230, 0.369487420792924180, 0.369533882117652150, 0.369580342518545430, 0.369626801995487860, 0.369673260548363690, 0.369719718177055960, 0.369766174881448920, +0.369812630661426500, 0.369859085516872850, 0.369905539447671130, 0.369951992453705520, 0.369998444534859920, 0.370044895691018620, 0.370091345922064720, 0.370137795227882430, +0.370184243608356060, 0.370230691063368640, 0.370277137592804560, 0.370323583196547570, 0.370370027874482090, 0.370416471626491050, 0.370462914452458880, 0.370509356352269450, +0.370555797325807010, 0.370602237372954670, 0.370648676493596730, 0.370695114687617120, 0.370741551954900110, 0.370787988295328830, 0.370834423708787550, 0.370880858195160260, +0.370927291754331200, 0.370973724386183530, 0.371020156090601520, 0.371066586867469520, 0.371113016716670690, 0.371159445638089280, 0.371205873631609230, 0.371252300697114960, +0.371298726834489500, 0.371345152043617230, 0.371391576324382080, 0.371437999676668410, 0.371484422100359310, 0.371530843595339170, 0.371577264161491950, 0.371623683798701920, +0.371670102506852280, 0.371716520285827410, 0.371762937135511230, 0.371809353055788160, 0.371855768046541250, 0.371902182107654910, 0.371948595239013520, 0.371995007440500290, +0.372041418711999470, 0.372087829053395160, 0.372134238464571660, 0.372180646945412140, 0.372227054495801070, 0.372273461115622320, 0.372319866804760310, 0.372366271563098210, +0.372412675390520480, 0.372459078286911050, 0.372505480252154300, 0.372551881286133480, 0.372598281388732970, 0.372644680559836680, 0.372691078799329170, 0.372737476107093510, +0.372783872483014200, 0.372830267926975210, 0.372876662438860920, 0.372923056018554580, 0.372969448665940620, 0.373015840380903410, 0.373062231163326210, 0.373108621013093440, +0.373155009930089100, 0.373201397914197650, 0.373247784965302310, 0.373294171083287500, 0.373340556268037300, 0.373386940519436050, 0.373433323837367100, 0.373479706221714780, +0.373526087672363230, 0.373572468189196870, 0.373618847772098920, 0.373665226420953900, 0.373711604135645750, 0.373757980916059050, 0.373804356762076910, 0.373850731673583960, +0.373897105650464520, 0.373943478692601970, 0.373989850799880730, 0.374036221972184780, 0.374082592209398770, 0.374128961511405840, 0.374175329878090490, 0.374221697309336850, +0.374268063805029360, 0.374314429365051270, 0.374360793989287120, 0.374407157677621010, 0.374453520429937400, 0.374499882246119580, 0.374546243126052060, 0.374592603069618950, +0.374638962076704720, 0.374685320147192690, 0.374731677280967350, 0.374778033477913220, 0.374824388737913570, 0.374870743060853000, 0.374917096446615530, 0.374963448895085760, +0.375009800406146950, 0.375056150979683640, 0.375102500615579980, 0.375148849313720440, 0.375195197073988350, 0.375241543896268290, 0.375287889780444420, 0.375334234726401150, +0.375380578734021920, 0.375426921803191260, 0.375473263933793320, 0.375519605125712590, 0.375565945378832420, 0.375612284693037420, 0.375658623068212070, 0.375704960504239790, +0.375751297001005120, 0.375797632558392210, 0.375843967176285600, 0.375890300854568700, 0.375936633593126010, 0.375982965391841730, 0.376029296250600500, 0.376075626169285580, +0.376121955147781570, 0.376168283185972730, 0.376214610283743590, 0.376260936440977470, 0.376307261657559010, 0.376353585933372430, 0.376399909268302300, 0.376446231662231960, +0.376492553115046040, 0.376538873626628750, 0.376585193196864680, 0.376631511825637200, 0.376677829512830960, 0.376724146258330560, 0.376770462062019420, 0.376816776923782070, +0.376863090843502780, 0.376909403821066190, 0.376955715856355680, 0.377002026949255890, 0.377048337099651020, 0.377094646307425730, 0.377140954572463380, 0.377187261894648680, +0.377233568273865780, 0.377279873709999440, 0.377326178202932960, 0.377372481752551060, 0.377418784358737940, 0.377465086021378240, 0.377511386740355450, 0.377557686515554160, +0.377603985346859130, 0.377650283234153670, 0.377696580177322550, 0.377742876176249910, 0.377789171230820560, 0.377835465340917830, 0.377881758506426410, 0.377928050727230680, +0.377974342003215170, 0.378020632334263420, 0.378066921720260070, 0.378113210161089400, 0.378159497656636150, 0.378205784206783750, 0.378252069811416850, 0.378298354470419820, +0.378344638183677310, 0.378390920951072740, 0.378437202772490930, 0.378483483647816530, 0.378529763576932960, 0.378576042559724990, 0.378622320596076920, 0.378668597685873460, +0.378714873828998160, 0.378761149025335590, 0.378807423274770180, 0.378853696577186590, 0.378899968932468410, 0.378946240340500280, 0.378992510801166530, 0.379038780314351900, +0.379085048879939930, 0.379131316497815400, 0.379177583167862490, 0.379223848889966080, 0.379270113664009590, 0.379316377489877900, 0.379362640367455210, 0.379408902296626330, +0.379455163277274800, 0.379501423309285320, 0.379547682392542720, 0.379593940526930520, 0.379640197712333430, 0.379686453948635870, 0.379732709235722610, 0.379778963573477120, +0.379825216961784280, 0.379871469400528350, 0.379917720889594190, 0.379963971428865290, 0.380010221018226460, 0.380056469657562120, 0.380102717346756940, 0.380148964085694600, +0.380195209874259870, 0.380241454712337110, 0.380287698599811100, 0.380333941536565470, 0.380380183522484930, 0.380426424557454400, 0.380472664641357320, 0.380518903774078650, +0.380565141955502730, 0.380611379185514300, 0.380657615463997070, 0.380703850790835740, 0.380750085165914850, 0.380796318589119110, 0.380842551060332210, 0.380888782579438870, +0.380935013146323610, 0.380981242760871250, 0.381027471422965340, 0.381073699132490780, 0.381119925889331970, 0.381166151693373700, 0.381212376544499690, 0.381258600442594740, +0.381304823387543680, 0.381351045379230150, 0.381397266417539020, 0.381443486502354710, 0.381489705633562100, 0.381535923811044840, 0.381582141034687740, 0.381628357304375330, +0.381674572619992380, 0.381720786981422640, 0.381767000388550880, 0.381813212841261630, 0.381859424339439810, 0.381905634882968970, 0.381951844471734080, 0.381998053105619520, +0.382044260784510310, 0.382090467508289950, 0.382136673276843530, 0.382182878090055740, 0.382229081947810410, 0.382275284849992350, 0.382321486796486090, 0.382367687787176500, +0.382413887821947300, 0.382460086900683340, 0.382506285023269220, 0.382552482189589760, 0.382598678399528710, 0.382644873652970950, 0.382691067949801010, 0.382737261289903820, +0.382783453673163020, 0.382829645099463660, 0.382875835568690150, 0.382922025080727420, 0.382968213635459300, 0.383014401232770580, 0.383060587872545880, 0.383106773554670100, +0.383152958279027010, 0.383199142045501540, 0.383245324853978610, 0.383291506704341920, 0.383337687596476460, 0.383383867530266820, 0.383430046505597920, 0.383476224522353530, +0.383522401580418500, 0.383568577679677500, 0.383614752820015450, 0.383660927001316150, 0.383707100223464490, 0.383753272486345110, 0.383799443789842930, 0.383845614133841770, +0.383891783518226560, 0.383937951942881880, 0.383984119407692730, 0.384030285912542850, 0.384076451457317280, 0.384122616041901010, 0.384168779666177800, 0.384214942330032620, +0.384261104033350060, 0.384307264776015180, 0.384353424557911720, 0.384399583378924660, 0.384445741238938710, 0.384491898137838740, 0.384538054075508670, 0.384584209051833440, +0.384630363066697730, 0.384676516119986490, 0.384722668211583570, 0.384768819341373970, 0.384814969509242270, 0.384861118715073610, 0.384907266958751770, 0.384953414240161720, +0.384999560559188550, 0.385045705915716070, 0.385091850309629340, 0.385137993740812920, 0.385184136209151980, 0.385230277714530330, 0.385276418256832900, 0.385322557835944490, +0.385368696451750090, 0.385414834104133520, 0.385460970792979860, 0.385507106518173770, 0.385553241279600330, 0.385599375077143370, 0.385645507910688020, 0.385691639780118830, +0.385737770685321000, 0.385783900626178290, 0.385830029602575900, 0.385876157614398360, 0.385922284661530890, 0.385968410743857290, 0.386014535861262610, 0.386060660013632040, +0.386106783200849460, 0.386152905422799840, 0.386199026679368010, 0.386245146970438990, 0.386291266295896720, 0.386337384655626280, 0.386383502049512330, 0.386429618477440120, +0.386475733939293410, 0.386521848434957350, 0.386567961964316700, 0.386614074527256490, 0.386660186123660770, 0.386706296753414560, 0.386752406416402570, 0.386798515112510010, +0.386844622841620740, 0.386890729603619920, 0.386936835398392690, 0.386982940225822910, 0.387029044085795860, 0.387075146978196170, 0.387121248902909000, 0.387167349859818320, +0.387213449848809230, 0.387259548869766550, 0.387305646922575410, 0.387351744007119750, 0.387397840123284710, 0.387443935270955050, 0.387490029450016040, 0.387536122660351480, +0.387582214901846630, 0.387628306174386210, 0.387674396477855450, 0.387720485812138360, 0.387766574177119960, 0.387812661572685570, 0.387858747998719170, 0.387904833455105850, +0.387950917941730420, 0.387997001458478150, 0.388043084005232960, 0.388089165581880000, 0.388135246188304190, 0.388181325824390690, 0.388227404490023410, 0.388273482185087670, +0.388319558909468180, 0.388365634663050240, 0.388411709445717790, 0.388457783257356030, 0.388503856097849880, 0.388549927967084430, 0.388595998864943840, 0.388642068791313190, +0.388688137746077740, 0.388734205729121600, 0.388780272740329950, 0.388826338779587610, 0.388872403846779790, 0.388918467941790580, 0.388964531064505240, 0.389010593214808520, +0.389056654392585740, 0.389102714597720890, 0.389148773830099270, 0.389194832089605760, 0.389240889376125550, 0.389286945689542700, 0.389333001029742440, 0.389379055396609770, +0.389425108790029780, 0.389471161209886670, 0.389517212656065650, 0.389563263128451580, 0.389609312626929770, 0.389655361151384270, 0.389701408701700390, 0.389747455277763390, +0.389793500879457300, 0.389839545506667500, 0.389885589159278840, 0.389931631837176610, 0.389977673540244870, 0.390023714268368960, 0.390069754021433730, 0.390115792799324570, +0.390161830601925500, 0.390207867429121890, 0.390253903280798560, 0.390299938156840940, 0.390345972057133010, 0.390392004981560180, 0.390438036930007340, 0.390484067902359790, +0.390530097898501680, 0.390576126918318280, 0.390622154961695060, 0.390668182028515940, 0.390714208118666470, 0.390760233232031410, 0.390806257368496170, 0.390852280527944910, +0.390898302710262990, 0.390944323915335230, 0.390990344143047120, 0.391036363393282740, 0.391082381665927400, 0.391128398960866150, 0.391174415277984360, 0.391220430617166050, +0.391266444978296660, 0.391312458361261220, 0.391358470765944990, 0.391404482192232170, 0.391450492640008200, 0.391496502109158320, 0.391542510599566850, 0.391588518111119050, +0.391634524643700020, 0.391680530197195060, 0.391726534771488330, 0.391772538366465310, 0.391818540982010910, 0.391864542618010630, 0.391910543274348490, 0.391956542950910040, +0.392002541647580250, 0.392048539364244500, 0.392094536100786980, 0.392140531857093130, 0.392186526633047980, 0.392232520428536900, 0.392278513243444090, 0.392324505077654980, +0.392370495931054660, 0.392416485803528500, 0.392462474694960710, 0.392508462605236700, 0.392554449534242010, 0.392600435481860740, 0.392646420447978370, 0.392692404432479990, +0.392738387435250970, 0.392784369456175560, 0.392830350495139260, 0.392876330552027090, 0.392922309626724530, 0.392968287719115740, 0.393014264829086250, 0.393060240956521090, +0.393106216101305690, 0.393152190263324430, 0.393198163442462610, 0.393244135638605440, 0.393290106851638340, 0.393336077081445520, 0.393382046327912570, 0.393428014590924860, +0.393473981870366750, 0.393519948166123620, 0.393565913478080680, 0.393611877806123330, 0.393657841150135910, 0.393703803510003840, 0.393749764885612310, 0.393795725276846750, +0.393841684683591490, 0.393887643105731990, 0.393933600543153410, 0.393979556995741220, 0.394025512463379690, 0.394071466945954460, 0.394117420443350520, 0.394163372955453450, +0.394209324482147520, 0.394255275023318310, 0.394301224578851250, 0.394347173148630770, 0.394393120732542400, 0.394439067330471180, 0.394485012942302700, 0.394530957567921280, +0.394576901207212450, 0.394622843860061410, 0.394668785526353650, 0.394714726205973530, 0.394760665898806600, 0.394806604604737930, 0.394852542323653240, 0.394898479055436790, +0.394944414799974110, 0.394990349557150400, 0.395036283326851200, 0.395082216108960880, 0.395128147903365090, 0.395174078709948860, 0.395220008528597840, 0.395265937359196460, +0.395311865201630200, 0.395357792055784640, 0.395403717921544220, 0.395449642798794520, 0.395495566687420750, 0.395541489587308390, 0.395587411498341980, 0.395633332420406990, +0.395679252353388690, 0.395725171297172660, 0.395771089251643280, 0.395817006216686200, 0.395862922192186550, 0.395908837178030050, 0.395954751174101060, 0.396000664180285180, +0.396046576196467660, 0.396092487222534040, 0.396138397258368860, 0.396184306303857650, 0.396230214358886110, 0.396276121423338620, 0.396322027497100830, 0.396367932580057980, +0.396413836672095680, 0.396459739773098400, 0.396505641882951730, 0.396551543001541000, 0.396597443128751780, 0.396643342264468570, 0.396689240408577000, 0.396735137560962350, +0.396781033721510250, 0.396826928890105180, 0.396872823066632740, 0.396918716250978300, 0.396964608443027440, 0.397010499642664660, 0.397056389849775590, 0.397102279064246000, +0.397148167285960310, 0.397194054514804160, 0.397239940750662930, 0.397285825993422210, 0.397331710242966540, 0.397377593499181610, 0.397423475761952690, 0.397469357031165480, +0.397515237306704460, 0.397561116588455330, 0.397606994876303410, 0.397652872170134450, 0.397698748469832890, 0.397744623775284470, 0.397790498086374460, 0.397836371402988610, +0.397882243725011460, 0.397928115052328670, 0.397973985384825980, 0.398019854722387990, 0.398065723064900290, 0.398111590412248360, 0.398157456764317800, 0.398203322120993190, +0.398249186482160290, 0.398295049847704420, 0.398340912217511390, 0.398386773591465570, 0.398432633969452890, 0.398478493351358600, 0.398524351737068520, 0.398570209126467120, +0.398616065519440180, 0.398661920915873100, 0.398707775315651600, 0.398753628718660270, 0.398799481124784920, 0.398845332533910800, 0.398891182945923790, 0.398937032360708380, +0.398982880778150420, 0.399028728198135670, 0.399074574620548680, 0.399120420045275260, 0.399166264472200770, 0.399212107901211030, 0.399257950332190640, 0.399303791765025340, +0.399349632199600570, 0.399395471635802140, 0.399441310073514630, 0.399487147512623820, 0.399532983953015170, 0.399578819394574460, 0.399624653837186260, 0.399670487280736510, +0.399716319725110460, 0.399762151170194040, 0.399807981615871830, 0.399853811062029660, 0.399899639508553400, 0.399945466955327620, 0.399991293402238160, 0.400037118849170480, +0.400082943296010410, 0.400128766742642580, 0.400174589188952820, 0.400220410634826610, 0.400266231080149750, 0.400312050524806950, 0.400357868968683970, 0.400403686411666350, +0.400449502853639890, 0.400495318294489310, 0.400541132734100410, 0.400586946172358680, 0.400632758609149990, 0.400678570044359030, 0.400724380477871620, 0.400770189909573640, +0.400815998339349780, 0.400861805767085970, 0.400907612192667630, 0.400953417615980630, 0.400999222036909740, 0.401045025455340760, 0.401090827871159180, 0.401136629284250980, +0.401182429694500800, 0.401228229101794560, 0.401274027506017710, 0.401319824907056260, 0.401365621304794750, 0.401411416699119280, 0.401457211089915220, 0.401503004477068550, +0.401548796860463910, 0.401594588239987340, 0.401640378615524260, 0.401686167986960660, 0.401731956354181240, 0.401777743717071980, 0.401823530075518690, 0.401869315429406180, +0.401915099778620390, 0.401960883123046840, 0.402006665462571520, 0.402052446797079130, 0.402098227126455600, 0.402144006450586510, 0.402189784769357790, 0.402235562082654260, +0.402281338390361790, 0.402327113692365960, 0.402372887988552750, 0.402418661278806930, 0.402464433563014480, 0.402510204841060870, 0.402555975112832250, 0.402601744378213220, +0.402647512637089870, 0.402693279889348110, 0.402739046134872770, 0.402784811373549770, 0.402830575605264810, 0.402876338829903760, 0.402922101047351490, 0.402967862257493980, +0.403013622460216770, 0.403059381655405950, 0.403105139842946210, 0.403150897022723660, 0.403196653194623890, 0.403242408358532870, 0.403288162514335410, 0.403333915661917560, +0.403379667801164970, 0.403425418931963540, 0.403471169054198220, 0.403516918167754920, 0.403562666272519740, 0.403608413368377490, 0.403654159455214270, 0.403699904532915600, +0.403745648601367580, 0.403791391660455020, 0.403837133710063970, 0.403882874750080110, 0.403928614780389440, 0.403974353800876870, 0.404020091811428390, 0.404065828811929710, +0.404111564802266840, 0.404157299782324670, 0.404203033751989240, 0.404248766711146180, 0.404294498659681640, 0.404340229597480500, 0.404385959524428740, 0.404431688440412500, +0.404477416345316590, 0.404523143239027220, 0.404568869121429920, 0.404614593992410900, 0.404660317851854970, 0.404706040699648220, 0.404751762535676410, 0.404797483359825570, +0.404843203171980640, 0.404888921972027690, 0.404934639759852440, 0.404980356535340980, 0.405026072298378230, 0.405071787048850330, 0.405117500786642940, 0.405163213511642200, +0.405208925223733030, 0.405254635922801530, 0.405300345608733460, 0.405346054281414900, 0.405391761940730840, 0.405437468586567370, 0.405483174218810580, 0.405528878837345510, +0.405574582442058240, 0.405620285032834480, 0.405665986609560440, 0.405711687172121030, 0.405757386720402350, 0.405803085254290260, 0.405848782773670870, 0.405894479278429090, +0.405940174768451120, 0.405985869243622680, 0.406031562703830010, 0.406077255148958040, 0.406122946578892920, 0.406168636993520400, 0.406214326392726750, 0.406260014776396840, +0.406305702144416910, 0.406351388496673130, 0.406397073833050460, 0.406442758153435110, 0.406488441457712850, 0.406534123745769920, 0.406579805017491250, 0.406625485272763100, +0.406671164511471170, 0.406716842733501840, 0.406762519938739910, 0.406808196127071700, 0.406853871298383020, 0.406899545452560070, 0.406945218589487840, 0.406990890709052530, +0.407036561811140060, 0.407082231895636580, 0.407127900962427070, 0.407173569011397840, 0.407219236042435100, 0.407264902055423820, 0.407310567050250320, 0.407356231026800410, +0.407401893984960290, 0.407447555924615070, 0.407493216845650930, 0.407538876747953750, 0.407584535631409840, 0.407630193495904130, 0.407675850341322920, 0.407721506167552150, +0.407767160974477960, 0.407812814761985500, 0.407858467529960970, 0.407904119278290290, 0.407949770006859720, 0.407995419715554310, 0.408041068404260350, 0.408086716072863730, +0.408132362721250750, 0.408178008349306400, 0.408223652956917090, 0.408269296543968980, 0.408314939110347270, 0.408360580655938220, 0.408406221180627750, 0.408451860684302060, +0.408497499166846360, 0.408543136628146900, 0.408588773068089610, 0.408634408486560740, 0.408680042883445500, 0.408725676258630100, 0.408771308612000560, 0.408816939943443150, +0.408862570252842950, 0.408908199540086390, 0.408953827805059290, 0.408999455047648010, 0.409045081267737700, 0.409090706465214670, 0.409136330639965300, 0.409181953791874720, +0.409227575920829200, 0.409273197026714770, 0.409318817109417750, 0.409364436168823340, 0.409410054204817800, 0.409455671217287100, 0.409501287206117610, 0.409546902171194550, +0.409592516112404210, 0.409638129029632590, 0.409683740922766050, 0.409729351791689730, 0.409774961636290070, 0.409820570456452980, 0.409866178252064840, 0.409911785023010900, +0.409957390769177480, 0.410002995490450990, 0.410048599186716600, 0.410094201857860720, 0.410139803503769330, 0.410185404124328860, 0.410231003719424450, 0.410276602288942530, +0.410322199832769070, 0.410367796350790570, 0.410413391842892160, 0.410458986308960270, 0.410504579748880940, 0.410550172162540530, 0.410595763549824300, 0.410641353910618680, +0.410686943244809640, 0.410732531552283620, 0.410778118832925920, 0.410823705086622910, 0.410869290313261030, 0.410914874512725570, 0.410960457684902860, 0.411006039829679040, +0.411051620946940530, 0.411097201036572550, 0.411142780098461560, 0.411188358132493600, 0.411233935138555220, 0.411279511116531550, 0.411325086066309080, 0.411370659987773950, +0.411416232880812530, 0.411461804745310130, 0.411507375581153250, 0.411552945388227900, 0.411598514166420570, 0.411644081915616580, 0.411689648635702400, 0.411735214326564070, +0.411780778988088130, 0.411826342620159820, 0.411871905222665700, 0.411917466795492180, 0.411963027338524580, 0.412008586851649430, 0.412054145334752820, 0.412099702787721230, +0.412145259210439980, 0.412190814602795610, 0.412236368964674190, 0.412281922295962280, 0.412327474596545120, 0.412373025866309250, 0.412418576105140880, 0.412464125312926420, +0.412509673489551250, 0.412555220634901960, 0.412600766748864530, 0.412646311831325660, 0.412691855882170560, 0.412737398901285860, 0.412782940888558050, 0.412828481843872440, +0.412874021767115680, 0.412919560658173870, 0.412965098516933530, 0.413010635343280030, 0.413056171137099970, 0.413101705898279490, 0.413147239626705130, 0.413192772322262260, +0.413238303984837460, 0.413283834614316890, 0.413329364210587190, 0.413374892773533620, 0.413420420303042880, 0.413465946799001060, 0.413511472261294750, 0.413556996689809390, +0.413602520084431490, 0.413648042445047710, 0.413693563771543480, 0.413739084063805270, 0.413784603321719400, 0.413830121545172400, 0.413875638734049700, 0.413921154888237890, +0.413966670007623220, 0.414012184092092230, 0.414057697141530400, 0.414103209155824380, 0.414148720134860260, 0.414194230078524790, 0.414239738986703300, 0.414285246859282530, +0.414330753696148580, 0.414376259497188200, 0.414421764262286720, 0.414467267991330880, 0.414512770684206830, 0.414558272340801230, 0.414603772960999590, 0.414649272544688530, +0.414694771091754680, 0.414740268602083460, 0.414785765075561640, 0.414831260512075360, 0.414876754911511330, 0.414922248273755010, 0.414967740598693120, 0.415013231886211810, +0.415058722136197880, 0.415104211348536700, 0.415149699523114980, 0.415195186659819080, 0.415240672758535550, 0.415286157819149960, 0.415331641841548970, 0.415377124825618890, +0.415422606771246370, 0.415468087678317000, 0.415513567546717310, 0.415559046376334170, 0.415604524167053010, 0.415650000918760530, 0.415695476631343040, 0.415740951304687300, +0.415786424938678730, 0.415831897533204100, 0.415877369088149760, 0.415922839603402370, 0.415968309078847520, 0.416013777514371850, 0.416059244909861740, 0.416104711265203930, +0.416150176580283970, 0.416195640854988560, 0.416241104089204010, 0.416286566282817130, 0.416332027435713400, 0.416377487547779650, 0.416422946618902560, 0.416468404648967670, +0.416513861637861800, 0.416559317585471320, 0.416604772491682870, 0.416650226356382160, 0.416695679179455820, 0.416741130960790300, 0.416786581700272380, 0.416832031397787570, +0.416877480053222730, 0.416922927666464160, 0.416968374237398690, 0.417013819765911840, 0.417059264251890440, 0.417104707695220960, 0.417150150095790040, 0.417195591453483340, +0.417241031768187720, 0.417286471039789890, 0.417331909268175430, 0.417377346453231270, 0.417422782594843720, 0.417468217692899600, 0.417513651747284550, 0.417559084757885390, +0.417604516724588480, 0.417649947647280690, 0.417695377525847620, 0.417740806360176130, 0.417786234150152650, 0.417831660895663930, 0.417877086596595670, 0.417922511252834690, +0.417967934864267480, 0.418013357430780770, 0.418058778952260290, 0.418104199428592890, 0.418149618859664950, 0.418195037245363390, 0.418240454585573850, 0.418285870880183150, +0.418331286129078160, 0.418376700332144580, 0.418422113489269280, 0.418467525600338620, 0.418512936665239590, 0.418558346683857830, 0.418603755656080160, 0.418649163581793160, +0.418694570460883600, 0.418739976293237230, 0.418785381078740910, 0.418830784817281140, 0.418876187508744830, 0.418921589153017640, 0.418966989749986470, 0.419012389299537880, +0.419057787801558670, 0.419103185255934540, 0.419148581662552530, 0.419193977021299400, 0.419239371332060960, 0.419284764594724140, 0.419330156809175350, 0.419375547975301580, +0.419420938092988530, 0.419466327162123120, 0.419511715182591950, 0.419557102154281880, 0.419602488077078620, 0.419647872950869140, 0.419693256775539980, 0.419738639550978120, +0.419784021277069210, 0.419829401953700280, 0.419874781580757810, 0.419920160158128830, 0.419965537685699050, 0.420010914163355400, 0.420056289590984840, 0.420101663968473200, +0.420147037295707400, 0.420192409572573980, 0.420237780798959960, 0.420283150974751110, 0.420328520099834350, 0.420373888174096270, 0.420419255197423900, 0.420464621169702960, +0.420509986090820520, 0.420555349960663070, 0.420600712779117650, 0.420646074546070060, 0.420691435261407290, 0.420736794925015920, 0.420782153536783000, 0.420827511096594220, +0.420872867604336730, 0.420918223059897070, 0.420963577463162210, 0.421008930814018020, 0.421054283112351550, 0.421099634358049700, 0.421144984550998410, 0.421190333691084660, +0.421235681778195040, 0.421281028812216630, 0.421326374793035250, 0.421371719720537940, 0.421417063594611340, 0.421462406415142490, 0.421507748182017190, 0.421553088895122550, +0.421598428554345150, 0.421643767159572140, 0.421689104710689270, 0.421734441207583630, 0.421779776650141880, 0.421825111038251150, 0.421870444371797160, 0.421915776650667150, +0.421961107874748000, 0.422006438043925740, 0.422051767158087400, 0.422097095217119630, 0.422142422220909470, 0.422187748169342900, 0.422233073062306950, 0.422278396899688320, +0.422323719681374110, 0.422369041407250180, 0.422414362077203680, 0.422459681691121250, 0.422505000248890040, 0.422550317750395870, 0.422595634195525980, 0.422640949584166980, +0.422686263916205950, 0.422731577191528930, 0.422776889410022950, 0.422822200571575100, 0.422867510676071420, 0.422912819723398950, 0.422958127713444380, 0.423003434646094910, +0.423048740521236480, 0.423094045338756220, 0.423139349098540780, 0.423184651800477430, 0.423229953444452020, 0.423275254030351710, 0.423320553558063310, 0.423365852027473900, +0.423411149438469410, 0.423456445790937110, 0.423501741084763680, 0.423547035319836280, 0.423592328496040950, 0.423637620613264760, 0.423682911671394940, 0.423728201670317380, +0.423773490609919370, 0.423818778490087640, 0.423864065310709300, 0.423909351071670440, 0.423954635772858250, 0.423999919414159380, 0.424045201995461200, 0.424090483516649570, +0.424135763977611710, 0.424181043378234480, 0.424226321718405020, 0.424271598998009370, 0.424316875216934670, 0.424362150375067860, 0.424407424472296010, 0.424452697508505230, +0.424497969483582700, 0.424543240397415260, 0.424588510249890140, 0.424633779040893280, 0.424679046770312040, 0.424724313438033520, 0.424769579043943860, 0.424814843587930260, +0.424860107069879530, 0.424905369489678940, 0.424950630847214520, 0.424995891142373520, 0.425041150375042810, 0.425086408545109600, 0.425131665652459970, 0.425176921696981180, +0.425222176678560100, 0.425267430597083940, 0.425312683452438830, 0.425357935244512040, 0.425403185973190380, 0.425448435638361160, 0.425493684239910460, 0.425538931777725560, +0.425584178251693700, 0.425629423661701030, 0.425674668007634760, 0.425719911289381860, 0.425765153506829530, 0.425810394659863980, 0.425855634748372400, 0.425900873772241730, +0.425946111731359320, 0.425991348625611170, 0.426036584454884680, 0.426081819219066740, 0.426127052918044650, 0.426172285551704500, 0.426217517119933660, 0.426262747622619060, +0.426307977059647960, 0.426353205430906490, 0.426398432736282030, 0.426443658975661890, 0.426488884148932210, 0.426534108255980320, 0.426579331296693120, 0.426624553270958050, +0.426669774178661140, 0.426714994019689820, 0.426760212793931000, 0.426805430501272120, 0.426850647141599200, 0.426895862714799680, 0.426941077220760470, 0.426986290659368990, +0.427031503030511410, 0.427076714334075010, 0.427121924569946910, 0.427167133738014350, 0.427212341838163530, 0.427257548870281890, 0.427302754834256390, 0.427347959729974360, +0.427393163557322100, 0.427438366316186870, 0.427483568006456150, 0.427528768628016090, 0.427573968180754100, 0.427619166664557240, 0.427664364079312850, 0.427709560424907100, +0.427754755701227510, 0.427799949908161000, 0.427845143045595010, 0.427890335113415790, 0.427935526111510700, 0.427980716039766840, 0.428025904898071520, 0.428071092686311110, +0.428116279404372910, 0.428161465052144030, 0.428206649629511940, 0.428251833136362780, 0.428297015572584040, 0.428342196938063140, 0.428387377232686380, 0.428432556456341150, +0.428477734608914530, 0.428522911690293990, 0.428568087700365810, 0.428613262639017330, 0.428658436506135780, 0.428703609301608450, 0.428748781025321770, 0.428793951677163110, +0.428839121257019560, 0.428884289764778600, 0.428929457200326550, 0.428974623563550820, 0.429019788854338560, 0.429064953072577250, 0.429110116218153090, 0.429155278290953680, +0.429200439290866490, 0.429245599217777770, 0.429290758071575070, 0.429335915852145480, 0.429381072559376460, 0.429426228193154400, 0.429471382753366770, 0.429516536239900660, +0.429561688652643660, 0.429606839991481970, 0.429651990256303180, 0.429697139446994500, 0.429742287563443290, 0.429787434605535980, 0.429832580573160090, 0.429877725466202790, +0.429922869284551530, 0.429968012028092710, 0.430013153696713830, 0.430058294290302510, 0.430103433808744990, 0.430148572251928930, 0.430193709619741460, 0.430238845912070120, +0.430283981128801230, 0.430329115269822370, 0.430374248335020800, 0.430419380324283950, 0.430464511237498240, 0.430509641074551250, 0.430554769835330200, 0.430599897519722610, +0.430645024127614850, 0.430690149658894570, 0.430735274113448920, 0.430780397491165420, 0.430825519791930620, 0.430870641015631940, 0.430915761162156690, 0.430960880231392450, +0.431005998223225610, 0.431051115137543740, 0.431096230974234500, 0.431141345733184300, 0.431186459414280690, 0.431231572017410970, 0.431276683542462740, 0.431321793989322360, +0.431366903357877470, 0.431412011648015400, 0.431457118859623620, 0.431502224992588720, 0.431547330046798240, 0.431592434022139370, 0.431637536918499880, 0.431682638735766120, +0.431727739473825810, 0.431772839132566090, 0.431817937711874710, 0.431863035211638050, 0.431908131631743850, 0.431953226972079720, 0.431998321232532070, 0.432043414412988660, +0.432088506513336690, 0.432133597533463860, 0.432178687473256660, 0.432223776332602730, 0.432268864111389320, 0.432313950809504190, 0.432359036426833760, 0.432404120963265800, +0.432449204418687510, 0.432494286792986570, 0.432539368086049540, 0.432584448297764050, 0.432629527428017470, 0.432674605476697500, 0.432719682443690580, 0.432764758328884500, +0.432809833132166870, 0.432854906853424260, 0.432899979492544440, 0.432945051049414610, 0.432990121523922580, 0.433035190915954830, 0.433080259225399110, 0.433125326452142740, +0.433170392596073480, 0.433215457657077810, 0.433260521635043530, 0.433305584529857900, 0.433350646341408740, 0.433395707069582580, 0.433440766714267120, 0.433485825275349730, +0.433530882752718230, 0.433575939146259080, 0.433620994455860110, 0.433666048681408620, 0.433711101822792430, 0.433756153879898080, 0.433801204852613360, 0.433846254740826000, +0.433891303544422620, 0.433936351263291000, 0.433981397897318490, 0.434026443446392850, 0.434071487910400730, 0.434116531289229890, 0.434161573582767750, 0.434206614790902060, +0.434251654913519410, 0.434296693950507630, 0.434341731901754120, 0.434386768767146660, 0.434431804546571930, 0.434476839239917640, 0.434521872847071280, 0.434566905367920640, +0.434611936802352330, 0.434656967150254150, 0.434701996411513970, 0.434747024586018440, 0.434792051673655310, 0.434837077674312010, 0.434882102587876460, 0.434927126414235250, +0.434972149153276260, 0.435017170804886890, 0.435062191368954960, 0.435107210845367130, 0.435152229234011310, 0.435197246534774930, 0.435242262747545790, 0.435287277872210670, +0.435332291908657300, 0.435377304856773170, 0.435422316716446210, 0.435467327487563060, 0.435512337170011590, 0.435557345763679720, 0.435602353268454030, 0.435647359684222470, +0.435692365010872500, 0.435737369248292040, 0.435782372396367750, 0.435827374454987540, 0.435872375424038890, 0.435917375303409680, 0.435962374092986660, 0.436007371792657690, +0.436052368402310260, 0.436097363921832350, 0.436142358351110650, 0.436187351690032980, 0.436232343938486980, 0.436277335096360520, 0.436322325163540300, 0.436367314139914310, +0.436412302025370400, 0.436457288819795340, 0.436502274523077110, 0.436547259135103120, 0.436592242655761410, 0.436637225084938680, 0.436682206422522920, 0.436727186668401660, +0.436772165822462750, 0.436817143884593080, 0.436862120854680570, 0.436907096732612740, 0.436952071518277580, 0.436997045211561800, 0.437042017812353410, 0.437086989320540020, +0.437131959736009550, 0.437176929058648740, 0.437221897288345650, 0.437266864424987800, 0.437311830468463170, 0.437356795418658570, 0.437401759275462040, 0.437446722038761450, +0.437491683708443660, 0.437536644284396700, 0.437581603766508060, 0.437626562154665890, 0.437671519448756870, 0.437716475648669060, 0.437761430754290030, 0.437806384765507870, +0.437851337682209350, 0.437896289504282440, 0.437941240231614850, 0.437986189864094540, 0.438031138401608340, 0.438076085844044340, 0.438121032191290120, 0.438165977443233660, +0.438210921599761940, 0.438255864660762830, 0.438300806626124530, 0.438345747495733800, 0.438390687269478660, 0.438435625947246830, 0.438480563528926340, 0.438525500014404050, +0.438570435403567990, 0.438615369696305820, 0.438660302892505680, 0.438705234992054330, 0.438750165994839900, 0.438795095900750110, 0.438840024709672930, 0.438884952421495280, +0.438929879036105310, 0.438974804553390610, 0.439019728973239260, 0.439064652295538260, 0.439109574520175570, 0.439154495647039340, 0.439199415676016500, 0.439244334606995130, +0.439289252439862890, 0.439334169174507960, 0.439379084810817170, 0.439423999348678710, 0.439468912787980230, 0.439513825128609870, 0.439558736370454510, 0.439603646513402340, +0.439648555557341060, 0.439693463502158820, 0.439738370347742490, 0.439783276093980210, 0.439828180740759740, 0.439873084287969280, 0.439917986735495650, 0.439962888083227090, +0.440007788331051310, 0.440052687478856400, 0.440097585526529440, 0.440142482473958490, 0.440187378321031720, 0.440232273067636130, 0.440277166713659850, 0.440322059258990650, +0.440366950703516720, 0.440411841047125000, 0.440456730289703670, 0.440501618431140500, 0.440546505471323730, 0.440591391410140250, 0.440636276247478310, 0.440681159983225660, +0.440726042617270550, 0.440770924149499920, 0.440815804579801960, 0.440860683908064540, 0.440905562134175750, 0.440950439258022690, 0.440995315279493540, 0.441040190198476460, +0.441085064014858530, 0.441129936728527900, 0.441174808339372500, 0.441219678847280420, 0.441264548252138790, 0.441309416553835760, 0.441354283752259210, 0.441399149847297330, +0.441444014838837160, 0.441488878726767010, 0.441533741510974630, 0.441578603191348280, 0.441623463767775060, 0.441668323240143160, 0.441713181608340440, 0.441758038872255180, +0.441802895031774390, 0.441847750086786450, 0.441892604037179450, 0.441937456882840580, 0.441982308623658060, 0.442027159259519740, 0.442072008790313940, 0.442116857215927750, +0.442161704536249370, 0.442206550751166770, 0.442251395860568160, 0.442296239864340690, 0.442341082762372610, 0.442385924554551830, 0.442430765240766630, 0.442475604820904090, +0.442520443294852570, 0.442565280662499950, 0.442610116923734530, 0.442654952078443350, 0.442699786126514890, 0.442744619067837300, 0.442789450902297770, 0.442834281629784610, +0.442879111250185750, 0.442923939763389560, 0.442968767169283070, 0.443013593467754650, 0.443058418658692280, 0.443103242741984260, 0.443148065717517750, 0.443192887585181050, +0.443237708344862150, 0.443282527996449350, 0.443327346539829860, 0.443372163974891990, 0.443416980301523660, 0.443461795519613340, 0.443506609629048140, 0.443551422629716360, +0.443596234521506090, 0.443641045304305590, 0.443685854978002110, 0.443730663542483970, 0.443775470997639590, 0.443820277343356110, 0.443865082579521950, 0.443909886706025050, +0.443954689722753870, 0.443999491629595570, 0.444044292426438500, 0.444089092113170770, 0.444133890689680620, 0.444178688155855430, 0.444223484511583440, 0.444268279756752820, +0.444313073891251850, 0.444357866914967810, 0.444402658827789070, 0.444447449629603750, 0.444492239320300130, 0.444537027899765570, 0.444581815367888430, 0.444626601724557150, +0.444671386969658970, 0.444716171103082260, 0.444760954124715220, 0.444805736034446120, 0.444850516832162310, 0.444895296517752230, 0.444940075091103890, 0.444984852552105740, +0.445029628900645070, 0.445074404136610370, 0.445119178259889610, 0.445163951270371280, 0.445208723167942740, 0.445253493952492360, 0.445298263623908230, 0.445343032182078880, +0.445387799626891510, 0.445432565958234660, 0.445477331175996800, 0.445522095280065260, 0.445566858270328380, 0.445611620146674440, 0.445656380908991790, 0.445701140557167810, +0.445745899091091020, 0.445790656510649420, 0.445835412815731640, 0.445880168006224880, 0.445924922082017670, 0.445969675042998230, 0.446014426889054960, 0.446059177620075240, +0.446103927235947550, 0.446148675736560090, 0.446193423121801320, 0.446238169391558580, 0.446282914545720390, 0.446327658584174950, 0.446372401506810790, 0.446417143313515170, +0.446461884004176750, 0.446506623578683980, 0.446551362036924250, 0.446596099378786140, 0.446640835604157740, 0.446685570712927690, 0.446730304704983320, 0.446775037580213140, +0.446819769338505420, 0.446864499979748640, 0.446909229503830220, 0.446953957910638740, 0.446998685200062360, 0.447043411371989610, 0.447088136426308010, 0.447132860362906060, +0.447177583181671940, 0.447222304882494260, 0.447267025465260430, 0.447311744929859030, 0.447356463276178620, 0.447401180504106710, 0.447445896613531850, 0.447490611604342230, +0.447535325476426490, 0.447580038229672020, 0.447624749863967500, 0.447669460379201080, 0.447714169775261410, 0.447758878052035900, 0.447803585209413210, 0.447848291247281540, +0.447892996165529580, 0.447937699964044640, 0.447982402642715550, 0.448027104201430440, 0.448071804640077900, 0.448116503958545520, 0.448161202156721840, 0.448205899234495610, +0.448250595191754140, 0.448295290028386250, 0.448339983744280140, 0.448384676339324440, 0.448429367813406700, 0.448474058166415500, 0.448518747398239160, 0.448563435508766320, +0.448608122497884510, 0.448652808365482440, 0.448697493111448300, 0.448742176735670850, 0.448786859238037520, 0.448831540618437110, 0.448876220876757770, 0.448920900012888310, +0.448965578026716220, 0.449010254918130180, 0.449054930687018520, 0.449099605333269870, 0.449144278856771880, 0.449188951257413150, 0.449233622535082420, 0.449278292689667290, +0.449322961721056400, 0.449367629629138120, 0.449412296413801150, 0.449456962074933020, 0.449501626612422540, 0.449546290026157980, 0.449590952316028080, 0.449635613481920380, +0.449680273523723640, 0.449724932441326270, 0.449769590234616930, 0.449814246903483210, 0.449858902447813900, 0.449903556867497330, 0.449948210162422260, 0.449992862332476260, +0.450037513377548100, 0.450082163297526590, 0.450126812092299270, 0.450171459761754880, 0.450216106305781850, 0.450260751724268990, 0.450305396017103790, 0.450350039184175150, +0.450394681225371410, 0.450439322140581360, 0.450483961929692590, 0.450528600592593920, 0.450573238129173770, 0.450617874539320900, 0.450662509822922940, 0.450707143979868720, +0.450751777010046650, 0.450796408913345490, 0.450841039689652940, 0.450885669338857820, 0.450930297860848930, 0.450974925255513860, 0.451019551522741480, 0.451064176662420210, +0.451108800674438930, 0.451153423558685210, 0.451198045315047980, 0.451242665943415610, 0.451287285443676970, 0.451331903815719690, 0.451376521059432710, 0.451421137174704390, +0.451465752161423650, 0.451510366019478140, 0.451554978748756660, 0.451599590349147760, 0.451644200820540300, 0.451688810162821920, 0.451733418375881550, 0.451778025459607990, +0.451822631413889010, 0.451867236238613410, 0.451911839933669730, 0.451956442498946900, 0.452001043934332490, 0.452045644239715490, 0.452090243414984440, 0.452134841460028080, +0.452179438374734290, 0.452224034158991870, 0.452268628812689420, 0.452313222335715750, 0.452357814727958610, 0.452402405989306980, 0.452446996119649280, 0.452491585118874550, +0.452536172986870430, 0.452580759723525850, 0.452625345328729390, 0.452669929802369970, 0.452714513144335360, 0.452759095354514420, 0.452803676432796180, 0.452848256379068340, +0.452892835193219820, 0.452937412875139220, 0.452981989424715510, 0.453026564841836450, 0.453071139126390960, 0.453115712278267580, 0.453160284297355390, 0.453204855183542030, +0.453249424936716550, 0.453293993556767530, 0.453338561043583890, 0.453383127397053500, 0.453427692617065230, 0.453472256703507770, 0.453516819656270050, 0.453561381475239890, +0.453605942160306250, 0.453650501711358180, 0.453695060128283480, 0.453739617410971070, 0.453784173559309670, 0.453828728573188230, 0.453873282452494530, 0.453917835197117650, +0.453962386806946230, 0.454006937281869190, 0.454051486621774410, 0.454096034826550920, 0.454140581896087300, 0.454185127830272710, 0.454229672628994830, 0.454274216292142820, +0.454318758819605210, 0.454363300211271140, 0.454407840467028420, 0.454452379586766100, 0.454496917570373250, 0.454541454417737630, 0.454585990128748450, 0.454630524703294290, +0.454675058141264190, 0.454719590442546060, 0.454764121607028950, 0.454808651634601550, 0.454853180525152890, 0.454897708278570900, 0.454942234894744610, 0.454986760373562780, +0.455031284714914440, 0.455075807918687460, 0.455120329984770980, 0.455164850913053700, 0.455209370703424650, 0.455253889355771770, 0.455298406869984180, 0.455342923245950600, +0.455387438483560110, 0.455431952582700580, 0.455476465543261210, 0.455520977365131030, 0.455565488048198080, 0.455609997592351320, 0.455654505997479640, 0.455699013263472060, +0.455743519390216570, 0.455788024377602240, 0.455832528225517900, 0.455877030933852620, 0.455921532502494340, 0.455966032931332250, 0.456010532220255120, 0.456055030369151960, +0.456099527377910930, 0.456144023246421000, 0.456188517974571050, 0.456233011562250210, 0.456277504009346410, 0.456321995315748910, 0.456366485481346780, 0.456410974506028020, +0.456455462389681820, 0.456499949132196990, 0.456544434733462730, 0.456588919193366920, 0.456633402511798850, 0.456677884688647230, 0.456722365723801320, 0.456766845617149090, +0.456811324368579800, 0.456855801977982150, 0.456900278445245390, 0.456944753770257510, 0.456989227952907810, 0.457033700993084990, 0.457078172890678370, 0.457122643645575870, +0.457167113257666790, 0.457211581726840290, 0.457256049052984450, 0.457300515235988530, 0.457344980275741280, 0.457389444172132010, 0.457433906925048710, 0.457478368534380620, +0.457522829000016620, 0.457567288321845960, 0.457611746499756670, 0.457656203533638060, 0.457700659423378900, 0.457745114168868480, 0.457789567769994910, 0.457834020226647380, +0.457878471538714800, 0.457922921706086510, 0.457967370728650460, 0.458011818606295970, 0.458056265338912360, 0.458100710926387660, 0.458145155368611220, 0.458189598665471880, +0.458234040816858920, 0.458278481822660510, 0.458322921682765840, 0.458367360397063940, 0.458411797965443960, 0.458456234387794090, 0.458500669664003660, 0.458545103793961570, +0.458589536777557090, 0.458633968614678420, 0.458678399305214760, 0.458722828849055130, 0.458767257246088860, 0.458811684496204020, 0.458856110599289990, 0.458900535555235630, +0.458944959363930370, 0.458989382025262290, 0.459033803539120820, 0.459078223905395160, 0.459122643123973610, 0.459167061194745370, 0.459211478117599550, 0.459255893892425380, +0.459300308519111130, 0.459344721997546060, 0.459389134327619240, 0.459433545509219940, 0.459477955542236360, 0.459522364426557920, 0.459566772162073590, 0.459611178748672690, +0.459655584186243470, 0.459699988474675300, 0.459744391613857160, 0.459788793603678410, 0.459833194444027260, 0.459877594134793180, 0.459921992675865480, 0.459966390067132410, +0.460010786308483350, 0.460055181399807330, 0.460099575340993770, 0.460143968131930870, 0.460188359772508050, 0.460232750262614340, 0.460277139602139120, 0.460321527790970690, +0.460365914828998410, 0.460410300716111330, 0.460454685452198920, 0.460499069037149430, 0.460543451470852240, 0.460587832753196420, 0.460632212884071410, 0.460676591863365460, +0.460720969690968040, 0.460765346366768640, 0.460809721890655390, 0.460854096262517890, 0.460898469482245170, 0.460942841549726650, 0.460987212464850580, 0.461031582227506560, +0.461075950837583510, 0.461120318294971020, 0.461164684599557340, 0.461209049751231950, 0.461253413749883930, 0.461297776595402780, 0.461342138287676780, 0.461386498826595440, +0.461430858212047880, 0.461475216443923530, 0.461519573522110760, 0.461563929446499040, 0.461608284216977530, 0.461652637833435690, 0.461696990295761830, 0.461741341603845560, +0.461785691757576280, 0.461830040756842360, 0.461874388601533400, 0.461918735291538430, 0.461963080826747030, 0.462007425207047520, 0.462051768432329420, 0.462096110502481950, +0.462140451417394570, 0.462184791176955710, 0.462229129781054790, 0.462273467229581130, 0.462317803522424130, 0.462362138659472290, 0.462406472640615070, 0.462450805465741690, +0.462495137134741660, 0.462539467647503420, 0.462583797003916500, 0.462628125203870480, 0.462672452247253730, 0.462716778133955840, 0.462761102863866070, 0.462805426436873890, +0.462849748852867780, 0.462894070111737280, 0.462938390213371580, 0.462982709157660320, 0.463027026944491940, 0.463071343573755900, 0.463115659045341580, 0.463159973359138500, +0.463204286515035040, 0.463248598512920880, 0.463292909352685240, 0.463337219034217760, 0.463381527557406800, 0.463425834922142010, 0.463470141128313030, 0.463514446175808340, +0.463558750064517470, 0.463603052794329780, 0.463647354365134820, 0.463691654776821120, 0.463735954029278250, 0.463780252122395490, 0.463824549056062520, 0.463868844830167770, +0.463913139444600890, 0.463957432899251180, 0.464001725194008290, 0.464046016328760690, 0.464090306303398040, 0.464134595117809630, 0.464178882771885130, 0.464223169265512990, +0.464267454598582980, 0.464311738770984690, 0.464356021782606710, 0.464400303633338620, 0.464444584323069790, 0.464488863851689910, 0.464533142219087480, 0.464577419425152180, +0.464621695469773330, 0.464665970352840630, 0.464710244074242610, 0.464754516633869020, 0.464798788031609070, 0.464843058267352620, 0.464887327340988090, 0.464931595252405240, +0.464975862001493380, 0.465020127588142260, 0.465064392012240480, 0.465108655273677670, 0.465152917372343270, 0.465197178308126960, 0.465241438080917280, 0.465285696690603990, +0.465329954137076900, 0.465374210420224530, 0.465418465539936600, 0.465462719496102520, 0.465506972288612040, 0.465551223917353760, 0.465595474382217380, 0.465639723683092310, +0.465683971819868370, 0.465728218792434090, 0.465772464600679230, 0.465816709244493250, 0.465860952723765880, 0.465905195038385730, 0.465949436188242580, 0.465993676173225850, +0.466037914993225330, 0.466082152648129630, 0.466126389137828560, 0.466170624462211860, 0.466214858621168240, 0.466259091614587510, 0.466303323442358970, 0.466347554104372560, +0.466391783600516860, 0.466436011930681740, 0.466480239094756550, 0.466524465092631180, 0.466568689924194260, 0.466612913589335600, 0.466657136087944620, 0.466701357419911260, +0.466745577585124080, 0.466789796583472970, 0.466834014414847340, 0.466878231079137060, 0.466922446576230830, 0.466966660906018520, 0.467010874068389930, 0.467055086063233700, +0.467099296890439830, 0.467143506549897670, 0.467187715041497200, 0.467231922365127010, 0.467276128520677010, 0.467320333508036700, 0.467364537327095930, 0.467408739977743400, +0.467452941459869100, 0.467497141773362380, 0.467541340918113220, 0.467585538894010330, 0.467629735700943570, 0.467673931338802470, 0.467718125807476960, 0.467762319106855730, +0.467806511236828700, 0.467850702197285420, 0.467894891988115740, 0.467939080609208410, 0.467983268060453430, 0.468027454341740650, 0.468071639452958880, 0.468115823393997990, +0.468160006164747510, 0.468204187765097420, 0.468248368194936480, 0.468292547454154660, 0.468336725542641390, 0.468380902460286740, 0.468425078206979480, 0.468469252782609480, +0.468513426187066370, 0.468557598420240030, 0.468601769482019370, 0.468645939372294260, 0.468690108090954290, 0.468734275637889440, 0.468778442012988570, 0.468822607216141550, +0.468866771247238360, 0.468910934106167910, 0.468955095792820130, 0.468999256307084560, 0.469043415648851270, 0.469087573818009030, 0.469131730814447920, 0.469175886638057430, +0.469220041288727630, 0.469264194766347340, 0.469308347070806540, 0.469352498201994870, 0.469396648159802370, 0.469440796944117830, 0.469484944554831360, 0.469529090991832490, +0.469573236255011240, 0.469617380344256540, 0.469661523259458420, 0.469705665000506870, 0.469749805567290730, 0.469793944959700120, 0.469838083177624650, 0.469882220220954330, +0.469926356089578110, 0.469970490783385930, 0.470014624302267590, 0.470058756646113070, 0.470102887814811240, 0.470147017808252190, 0.470191146626325660, 0.470235274268921590, +0.470279400735928940, 0.470323526027237810, 0.470367650142737900, 0.470411773082319180, 0.470455894845870690, 0.470500015433282460, 0.470544134844444570, 0.470588253079245960, +0.470632370137576690, 0.470676486019326550, 0.470720600724385540, 0.470764714252642660, 0.470808826603987980, 0.470852937778311220, 0.470897047775502560, 0.470941156595450830, +0.470985264238046260, 0.471029370703178460, 0.471073475990737680, 0.471117580100612830, 0.471161683032694010, 0.471205784786870970, 0.471249885363033860, 0.471293984761071650, +0.471338082980874480, 0.471382180022332120, 0.471426275885334700, 0.471470370569771200, 0.471514464075531770, 0.471558556402506550, 0.471602647550584560, 0.471646737519655910, +0.471690826309610460, 0.471734913920338340, 0.471779000351728540, 0.471823085603671260, 0.471867169676056240, 0.471911252568773700, 0.471955334281712600, 0.471999414814763210, +0.472043494167815270, 0.472087572340758990, 0.472131649333483390, 0.472175725145878630, 0.472219799777834570, 0.472263873229241460, 0.472307945499988220, 0.472352016589965120, +0.472396086499062400, 0.472440155227169030, 0.472484222774175290, 0.472528289139971030, 0.472572354324446390, 0.472616418327490460, 0.472660481148993510, 0.472704542788845380, +0.472748603246936290, 0.472792662523155270, 0.472836720617392570, 0.472880777529538110, 0.472924833259482090, 0.472968887807113600, 0.473012941172322900, 0.473056993354999840, +0.473101044355034640, 0.473145094172316480, 0.473189142806735570, 0.473233190258182220, 0.473277236526545520, 0.473321281611715660, 0.473365325513582680, 0.473409368232036720, +0.473453409766966930, 0.473497450118263660, 0.473541489285816740, 0.473585527269516530, 0.473629564069252050, 0.473673599684913740, 0.473717634116391340, 0.473761667363575280, +0.473805699426354700, 0.473849730304619850, 0.473893759998260670, 0.473937788507167450, 0.473981815831229390, 0.474025841970336810, 0.474069866924379580, 0.474113890693248110, +0.474157913276831540, 0.474201934675020140, 0.474245954887704320, 0.474289973914773230, 0.474333991756117180, 0.474378008411626200, 0.474422023881190540, 0.474466038164699460, +0.474510051262043260, 0.474554063173111940, 0.474598073897795850, 0.474642083435984190, 0.474686091787567320, 0.474730098952435230, 0.474774104930478280, 0.474818109721585670, +0.474862113325647820, 0.474906115742554650, 0.474950116972196580, 0.474994117014462810, 0.475038115869243830, 0.475082113536429870, 0.475126110015910260, 0.475170105307575360, +0.475214099411315210, 0.475258092327020210, 0.475302084054579580, 0.475346074593883780, 0.475390063944822750, 0.475434052107286950, 0.475478039081165650, 0.475522024866349200, +0.475566009462727760, 0.475609992870191680, 0.475653975088630170, 0.475697956117933750, 0.475741935957992470, 0.475785914608696680, 0.475829892069935760, 0.475873868341600110, +0.475917843423580180, 0.475961817315765260, 0.476005790018045770, 0.476049761530311810, 0.476093731852453850, 0.476137700984361150, 0.476181668925924170, 0.476225635677033080, +0.476269601237578280, 0.476313565607449090, 0.476357528786535980, 0.476401490774728990, 0.476445451571918750, 0.476489411177994430, 0.476533369592846650, 0.476577326816365390, +0.476621282848441190, 0.476665237688963410, 0.476709191337822580, 0.476753143794909070, 0.476797095060112420, 0.476841045133322980, 0.476884994014430910, 0.476928941703326780, +0.476972888199899860, 0.477016833504040780, 0.477060777615639590, 0.477104720534586800, 0.477148662260771850, 0.477192602794085260, 0.477236542134417190, 0.477280480281658090, +0.477324417235697460, 0.477368352996425770, 0.477412287563733160, 0.477456220937510280, 0.477500153117646430, 0.477544084104032150, 0.477588013896557750, 0.477631942495113650, +0.477675869899589320, 0.477719796109875310, 0.477763721125862180, 0.477807644947439380, 0.477851567574497430, 0.477895489006926630, 0.477939409244617470, 0.477983328287459370, +0.478027246135342980, 0.478071162788158480, 0.478115078245796410, 0.478158992508146310, 0.478202905575098700, 0.478246817446543850, 0.478290728122372330, 0.478334637602473630, +0.478378545886738280, 0.478422452975056590, 0.478466358867319200, 0.478510263563415470, 0.478554167063236110, 0.478598069366671710, 0.478641970473611730, 0.478685870383946830, +0.478729769097567260, 0.478773666614363710, 0.478817562934225560, 0.478861458057043500, 0.478905351982707780, 0.478949244711109060, 0.478993136242136910, 0.479037026575681870, +0.479080915711634250, 0.479124803649884750, 0.479168690390322840, 0.479212575932839220, 0.479256460277324160, 0.479300343423668340, 0.479344225371761250, 0.479388106121493630, +0.479431985672756130, 0.479475864025438240, 0.479519741179430690, 0.479563617134623810, 0.479607491890908290, 0.479651365448173660, 0.479695237806310570, 0.479739108965209440, +0.479782978924760910, 0.479826847684854510, 0.479870715245381000, 0.479914581606230740, 0.479958446767294380, 0.480002310728461560, 0.480046173489622920, 0.480090035050668830, +0.480133895411490100, 0.480177754571976200, 0.480221612532017890, 0.480265469291505600, 0.480309324850330010, 0.480353179208380720, 0.480397032365548480, 0.480440884321724050, +0.480484735076797010, 0.480528584630658120, 0.480572432983197790, 0.480616280134306790, 0.480660126083874650, 0.480703970831792230, 0.480747814377949890, 0.480791656722238390, +0.480835497864547380, 0.480879337804767600, 0.480923176542789490, 0.480967014078503790, 0.481010850411800190, 0.481054685542569470, 0.481098519470702040, 0.481142352196088700, +0.481186183718619100, 0.481230014038184000, 0.481273843154674310, 0.481317671067979570, 0.481361497777990700, 0.481405323284598060, 0.481449147587692470, 0.481492970687163680, +0.481536792582902440, 0.481580613274799230, 0.481624432762744860, 0.481668251046629030, 0.481712068126342540, 0.481755884001775940, 0.481799698672819960, 0.481843512139364380, +0.481887324401300000, 0.481931135458517290, 0.481974945310907180, 0.482018753958359300, 0.482062561400764530, 0.482106367638013730, 0.482150172669996660, 0.482193976496604120, +0.482237779117726690, 0.482281580533255150, 0.482325380743079290, 0.482369179747089980, 0.482412977545177760, 0.482456774137233420, 0.482500569523146790, 0.482544363702808730, +0.482588156676109710, 0.482631948442940770, 0.482675739003191550, 0.482719528356752970, 0.482763316503515560, 0.482807103443370240, 0.482850889176206780, 0.482894673701916130, +0.482938457020389120, 0.482982239131515670, 0.483026020035186520, 0.483069799731292380, 0.483113578219724120, 0.483157355500371530, 0.483201131573125550, 0.483244906437876760, +0.483288680094516090, 0.483332452542933280, 0.483376223783019370, 0.483419993814664940, 0.483463762637760860, 0.483507530252197000, 0.483551296657864340, 0.483595061854653400, +0.483638825842455210, 0.483682588621159590, 0.483726350190657460, 0.483770110550839460, 0.483813869701596620, 0.483857627642818640, 0.483901384374396670, 0.483945139896221570, +0.483988894208183250, 0.484032647310172700, 0.484076399202080510, 0.484120149883797760, 0.484163899355214200, 0.484207647616220930, 0.484251394666708520, 0.484295140506568020, +0.484338885135689230, 0.484382628553963300, 0.484426370761280760, 0.484470111757532680, 0.484513851542608950, 0.484557590116400590, 0.484601327478798250, 0.484645063629693010, +0.484688798568974680, 0.484732532296534350, 0.484776264812263100, 0.484819996116050810, 0.484863726207788500, 0.484907455087366880, 0.484951182754677020, 0.484994909209608800, +0.485038634452053310, 0.485082358481901290, 0.485126081299043720, 0.485169802903370530, 0.485213523294772850, 0.485257242473141390, 0.485300960438367180, 0.485344677190340190, +0.485388392728951510, 0.485432107054091900, 0.485475820165652330, 0.485519532063522830, 0.485563242747594550, 0.485606952217758510, 0.485650660473904710, 0.485694367515924260, +0.485738073343707940, 0.485781777957146780, 0.485825481356130790, 0.485869183540551090, 0.485912884510298460, 0.485956584265263950, 0.486000282805337640, 0.486043980130410610, +0.486087676240373630, 0.486131371135117840, 0.486175064814533260, 0.486218757278510990, 0.486262448526941840, 0.486306138559716940, 0.486349827376726330, 0.486393514977861150, +0.486437201363012160, 0.486480886532070560, 0.486524570484926370, 0.486568253221470740, 0.486611934741594860, 0.486655615045188780, 0.486699294132143630, 0.486742972002350280, +0.486786648655699870, 0.486830324092082490, 0.486873998311389280, 0.486917671313511050, 0.486961343098339050, 0.487005013665763260, 0.487048683015675000, 0.487092351147965010, +0.487136018062524490, 0.487179683759243590, 0.487223348238013440, 0.487267011498724980, 0.487310673541269330, 0.487354334365536600, 0.487397993971418090, 0.487441652358804930, +0.487485309527587280, 0.487528965477656340, 0.487572620208902960, 0.487616273721218460, 0.487659926014492870, 0.487703577088617500, 0.487747226943483160, 0.487790875578981150, +0.487834522995001520, 0.487878169191435620, 0.487921814168174320, 0.487965457925108810, 0.488009100462129310, 0.488052741779127050, 0.488096381875992970, 0.488140020752618310, +0.488183658408893160, 0.488227294844708890, 0.488270930059956810, 0.488314564054526950, 0.488358196828310720, 0.488401828381199000, 0.488445458713083090, 0.488489087823853140, +0.488532715713400510, 0.488576342381616070, 0.488619967828391120, 0.488663592053615870, 0.488707215057181680, 0.488750836838979460, 0.488794457398900480, 0.488838076736835050, +0.488881694852674350, 0.488925311746309430, 0.488968927417631650, 0.489012541866531150, 0.489056155092899290, 0.489099767096627390, 0.489143377877605760, 0.489186987435725640, +0.489230595770878070, 0.489274202882954420, 0.489317808771844830, 0.489361413437440720, 0.489405016879633110, 0.489448619098313330, 0.489492220093371620, 0.489535819864699350, +0.489579418412187550, 0.489623015735727530, 0.489666611835209650, 0.489710206710525230, 0.489753800361565240, 0.489797392788221210, 0.489840983990383280, 0.489884573967942880, +0.489928162720791040, 0.489971750248819230, 0.490015336551917590, 0.490058921629977660, 0.490102505482890800, 0.490146088110547270, 0.490189669512838540, 0.490233249689655650, +0.490276828640890010, 0.490320406366431930, 0.490363982866172780, 0.490407558140003700, 0.490451132187816110, 0.490494705009500320, 0.490538276604947750, 0.490581846974049500, +0.490625416116697020, 0.490668984032780590, 0.490712550722191720, 0.490756116184821510, 0.490799680420561320, 0.490843243429301580, 0.490886805210933750, 0.490930365765349260, +0.490973925092438530, 0.491017483192092930, 0.491061040064203650, 0.491104595708662110, 0.491148150125358730, 0.491191703314184990, 0.491235255275031980, 0.491278806007791170, +0.491322355512353040, 0.491365903788608950, 0.491409450836450160, 0.491452996655768080, 0.491496541246453140, 0.491540084608396880, 0.491583626741490360, 0.491627167645625200, +0.491670707320691740, 0.491714245766581460, 0.491757782983185950, 0.491801318970395640, 0.491844853728102050, 0.491888387256196270, 0.491931919554569940, 0.491975450623113430, +0.492018980461718270, 0.492062509070275660, 0.492106036448677180, 0.492149562596813190, 0.492193087514575360, 0.492236611201854750, 0.492280133658543060, 0.492323654884530560, +0.492367174879708990, 0.492410693643969500, 0.492454211177203620, 0.492497727479301820, 0.492541242550155740, 0.492584756389656540, 0.492628268997695800, 0.492671780374164040, +0.492715290518952800, 0.492758799431953720, 0.492802307113057280, 0.492845813562155070, 0.492889318779138330, 0.492932822763898660, 0.492976325516326590, 0.493019827036313640, +0.493063327323751190, 0.493106826378530760, 0.493150324200542890, 0.493193820789679220, 0.493237316145831000, 0.493280810268889870, 0.493324303158746310, 0.493367794815292030, +0.493411285238418260, 0.493454774428016610, 0.493498262383977700, 0.493541749106193080, 0.493585234594554500, 0.493628718848952490, 0.493672201869278630, 0.493715683655424290, +0.493759164207281110, 0.493802643524739630, 0.493846121607691530, 0.493889598456028140, 0.493933074069641150, 0.493976548448421090, 0.494020021592259660, 0.494063493501048170, +0.494106964174678360, 0.494150433613040730, 0.494193901816027010, 0.494237368783528530, 0.494280834515437030, 0.494324299011643040, 0.494367762272038320, 0.494411224296514570, +0.494454685084962380, 0.494498144637273480, 0.494541602953339210, 0.494585060033051300, 0.494628515876300410, 0.494671970482978170, 0.494715423852976070, 0.494758875986185730, +0.494802326882497870, 0.494845776541804170, 0.494889224963996010, 0.494932672148965190, 0.494976118096602300, 0.495019562806799100, 0.495063006279447050, 0.495106448514437800, +0.495149889511662060, 0.495193329271011620, 0.495236767792378240, 0.495280205075652570, 0.495323641120726350, 0.495367075927491070, 0.495410509495838420, 0.495453941825659160, +0.495497372916845040, 0.495540802769287470, 0.495584231382878330, 0.495627658757508190, 0.495671084893068880, 0.495714509789451860, 0.495757933446549000, 0.495801355864250890, +0.495844777042449390, 0.495888196981035980, 0.495931615679902400, 0.495975033138939430, 0.496018449358038900, 0.496061864337092210, 0.496105278075991250, 0.496148690574626740, +0.496192101832890480, 0.496235511850674380, 0.496278920627869100, 0.496322328164366500, 0.496365734460058050, 0.496409139514835730, 0.496452543328590120, 0.496495945901213150, +0.496539347232596350, 0.496582747322631520, 0.496626146171209480, 0.496669543778222090, 0.496712940143560770, 0.496756335267117540, 0.496799729148783060, 0.496843121788449300, +0.496886513186007680, 0.496929903341350230, 0.496973292254367590, 0.497016679924951690, 0.497060066352994550, 0.497103451538386810, 0.497146835481020450, 0.497190218180787010, +0.497233599637578410, 0.497276979851285380, 0.497320358821799920, 0.497363736549013610, 0.497407113032818320, 0.497450488273104840, 0.497493862269765160, 0.497537235022690870, +0.497580606531773830, 0.497623976796904840, 0.497667345817976000, 0.497710713594878730, 0.497754080127505110, 0.497797445415745890, 0.497840809459493050, 0.497884172258638570, +0.497927533813073250, 0.497970894122689130, 0.498014253187377740, 0.498057611007031160, 0.498100967581540100, 0.498144322910796690, 0.498187676994692410, 0.498231029833119340, +0.498274381425968360, 0.498317731773131380, 0.498361080874500100, 0.498404428729966430, 0.498447775339421360, 0.498491120702756860, 0.498534464819864580, 0.498577807690636480, +0.498621149314963490, 0.498664489692737580, 0.498707828823850510, 0.498751166708194250, 0.498794503345659670, 0.498837838736138790, 0.498881172879523770, 0.498924505775705410, +0.498967837424575730, 0.499011167826026560, 0.499054496979949800, 0.499097824886236390, 0.499141151544778450, 0.499184476955467640, 0.499227801118195980, 0.499271124032854450, +0.499314445699335140, 0.499357766117529690, 0.499401085287330240, 0.499444403208627650, 0.499487719881314070, 0.499531035305281200, 0.499574349480421120, 0.499617662406624750, +0.499660974083784290, 0.499704284511791720, 0.499747593690538060, 0.499790901619915460, 0.499834208299815560, 0.499877513730130560, 0.499920817910751380, 0.499964120841570160, +0.500007422522478650, 0.500050722953368940, 0.500094022134132010, 0.500137320064660050, 0.500180616744844820, 0.500223912174578400, 0.500267206353751880, 0.500310499282257240, +0.500353790959986440, 0.500397081386831480, 0.500440370562683420, 0.500483658487434480, 0.500526945160976840, 0.500570230583201380, 0.500613514754000400, 0.500656797673265540, +0.500700079340889110, 0.500743359756762100, 0.500786638920776680, 0.500829916832824740, 0.500873193492798350, 0.500916468900588500, 0.500959743056087590, 0.501003015959187280, +0.501046287609779870, 0.501089558007756230, 0.501132827153008780, 0.501176095045429260, 0.501219361684909880, 0.501262627071341730, 0.501305891204616990, 0.501349154084627550, +0.501392415711265580, 0.501435676084422190, 0.501478935203989560, 0.501522193069860120, 0.501565449681924620, 0.501608705040075710, 0.501651959144204910, 0.501695211994204530, +0.501738463589965880, 0.501781713931380930, 0.501824963018341790, 0.501868210850740630, 0.501911457428468540, 0.501954702751417850, 0.501997946819480400, 0.502041189632548400, +0.502084431190513050, 0.502127671493266650, 0.502170910540701070, 0.502214148332708610, 0.502257384869180370, 0.502300620150008650, 0.502343854175085760, 0.502387086944302900, +0.502430318457552370, 0.502473548714725940, 0.502516777715716010, 0.502560005460413910, 0.502603231948711590, 0.502646457180501380, 0.502689681155675250, 0.502732903874124610, +0.502776125335741670, 0.502819345540418520, 0.502862564488047340, 0.502905782178519330, 0.502948998611726930, 0.502992213787561980, 0.503035427705916800, 0.503078640366682820, +0.503121851769752100, 0.503165061915017200, 0.503208270802369300, 0.503251478431700710, 0.503294684802903400, 0.503337889915869810, 0.503381093770491010, 0.503424296366659530, +0.503467497704267350, 0.503510697783206780, 0.503553896603369020, 0.503597094164646600, 0.503640290466931480, 0.503683485510115880, 0.503726679294091320, 0.503769871818749990, +0.503813063083983990, 0.503856253089685730, 0.503899441835746420, 0.503942629322058580, 0.503985815548514520, 0.504029000515005430, 0.504072184221423970, 0.504115366667661990, +0.504158547853612030, 0.504201727779165280, 0.504244906444214160, 0.504288083848650870, 0.504331259992367720, 0.504374434875256020, 0.504417608497208180, 0.504460780858116410, +0.504503951957873010, 0.504547121796369400, 0.504590290373498010, 0.504633457689150800, 0.504676623743220420, 0.504719788535598070, 0.504762952066176160, 0.504806114334847010, +0.504849275341502810, 0.504892435086035210, 0.504935593568336390, 0.504978750788299010, 0.505021906745814380, 0.505065061440775010, 0.505108214873072890, 0.505151367042600660, +0.505194517949249630, 0.505237667592912330, 0.505280815973480960, 0.505323963090847820, 0.505367108944904330, 0.505410253535543140, 0.505453396862656330, 0.505496538926136440, +0.505539679725874770, 0.505582819261763850, 0.505625957533695990, 0.505669094541563500, 0.505712230285258020, 0.505755364764671870, 0.505798497979697670, 0.505841629930226970, +0.505884760616152060, 0.505927890037365380, 0.505971018193759230, 0.506014145085225240, 0.506057270711655850, 0.506100395072943240, 0.506143518168980070, 0.506186639999657740, +0.506229760564868790, 0.506272879864505530, 0.506315997898460380, 0.506359114666624750, 0.506402230168891410, 0.506445344405152540, 0.506488457375300680, 0.506531569079227250, +0.506574679516825000, 0.506617788687986350, 0.506660896592602830, 0.506704003230567080, 0.506747108601771300, 0.506790212706108250, 0.506833315543469110, 0.506876417113746870, +0.506919517416833500, 0.506962616452621640, 0.507005714221002930, 0.507048810721869910, 0.507091905955114890, 0.507134999920630490, 0.507178092618308260, 0.507221184048040730, +0.507264274209720200, 0.507307363103239430, 0.507350450728489830, 0.507393537085364170, 0.507436622173754630, 0.507479705993553960, 0.507522788544653600, 0.507565869826946180, +0.507608949840324560, 0.507652028584680170, 0.507695106059905750, 0.507738182265893510, 0.507781257202536310, 0.507824330869725450, 0.507867403267353800, 0.507910474395313670, +0.507953544253497700, 0.507996612841797530, 0.508039680160105810, 0.508082746208314840, 0.508125810986317480, 0.508168874494005160, 0.508211936731270630, 0.508254997698006310, +0.508298057394104830, 0.508341115819457840, 0.508384172973957990, 0.508427228857498250, 0.508470283469969920, 0.508513336811265980, 0.508556388881278630, 0.508599439679900730, +0.508642489207023820, 0.508685537462540640, 0.508728584446343720, 0.508771630158325720, 0.508814674598378150, 0.508857717766393990, 0.508900759662265450, 0.508943800285885480, +0.508986839637145640, 0.509029877715938660, 0.509072914522156970, 0.509115950055693430, 0.509158984316439580, 0.509202017304288270, 0.509245049019132260, 0.509288079460863300, +0.509331108629374140, 0.509374136524557210, 0.509417163146305360, 0.509460188494510140, 0.509503212569064500, 0.509546235369860880, 0.509589256896791910, 0.509632277149749570, +0.509675296128626500, 0.509718313833315120, 0.509761330263708400, 0.509804345419697880, 0.509847359301176640, 0.509890371908036880, 0.509933383240171570, 0.509976393297472460, +0.510019402079832430, 0.510062409587144220, 0.510105415819299580, 0.510148420776191490, 0.510191424457712260, 0.510234426863754860, 0.510277427994211050, 0.510320427848973580, +0.510363426427935200, 0.510406423730988550, 0.510449419758025380, 0.510492414508938790, 0.510535407983621070, 0.510578400181965210, 0.510621391103863060, 0.510664380749207390, +0.510707369117890720, 0.510750356209806020, 0.510793342024845170, 0.510836326562900790, 0.510879309823865760, 0.510922291807632710, 0.510965272514093630, 0.511008251943141260, +0.511051230094668680, 0.511094206968567780, 0.511137182564731170, 0.511180156883051740, 0.511223129923422230, 0.511266101685734500, 0.511309072169881640, 0.511352041375755960, +0.511395009303250660, 0.511437975952257370, 0.511480941322669190, 0.511523905414378640, 0.511566868227278700, 0.511609829761261240, 0.511652790016219220, 0.511695748992045170, +0.511738706688632080, 0.511781663105871920, 0.511824618243657660, 0.511867572101882160, 0.511910524680437300, 0.511953475979216250, 0.511996425998111460, 0.512039374737016000, +0.512082322195821620, 0.512125268374421520, 0.512168213272708230, 0.512211156890574840, 0.512254099227913100, 0.512297040284616200, 0.512339980060576570, 0.512382918555687520, +0.512425855769840680, 0.512468791702929250, 0.512511726354845880, 0.512554659725483530, 0.512597591814734080, 0.512640522622490710, 0.512683452148646520, 0.512726380393093150, +0.512769307355723900, 0.512812233036431420, 0.512855157435108680, 0.512898080551647760, 0.512941002385941540, 0.512983922937882860, 0.513026842207364720, 0.513069760194279080, +0.513112676898519030, 0.513155592319977320, 0.513198506458547030, 0.513241419314120150, 0.513284330886589650, 0.513327241175848270, 0.513370150181789220, 0.513413057904304470, +0.513455964343287000, 0.513498869498629660, 0.513541773370225550, 0.513584675957966530, 0.513627577261745900, 0.513670477281456650, 0.513713376016990850, 0.513756273468241710, +0.513799169635101750, 0.513842064517464280, 0.513884958115221280, 0.513927850428265940, 0.513970741456490910, 0.514013631199789380, 0.514056519658053430, 0.514099406831176160, +0.514142292719050430, 0.514185177321569320, 0.514228060638624920, 0.514270942670110310, 0.514313823415918360, 0.514356702875942260, 0.514399581050074000, 0.514442457938206750, +0.514485333540233740, 0.514528207856047140, 0.514571080885539820, 0.514613952628604990, 0.514656823085135610, 0.514699692255023660, 0.514742560138162660, 0.514785426734445160, +0.514828292043764460, 0.514871156066012640, 0.514914018801083010, 0.514956880248868320, 0.514999740409261770, 0.515042599282155460, 0.515085456867442780, 0.515128313165016280, +0.515171168174769490, 0.515214021896594380, 0.515256874330384250, 0.515299725476032310, 0.515342575333430640, 0.515385423902472550, 0.515428271183050900, 0.515471117175058890, +0.515513961878388720, 0.515556805292933680, 0.515599647418586660, 0.515642488255240950, 0.515685327802788530, 0.515728166061122820, 0.515771003030136680, 0.515813838709723420, +0.515856673099775230, 0.515899506200185320, 0.515942338010846660, 0.515985168531652550, 0.516027997762495080, 0.516070825703267680, 0.516113652353863530, 0.516156477714174940, +0.516199301784095010, 0.516242124563517040, 0.516284946052333990, 0.516327766250438190, 0.516370585157723050, 0.516413402774081430, 0.516456219099406640, 0.516499034133591000, +0.516541847876527680, 0.516584660328109790, 0.516627471488230740, 0.516670281356782500, 0.516713089933658500, 0.516755897218751930, 0.516798703211955870, 0.516841507913162750, +0.516884311322265870, 0.516927113439158090, 0.516969914263733070, 0.517012713795882760, 0.517055512035500710, 0.517098308982480330, 0.517141104636713700, 0.517183898998094360, +0.517226692066515280, 0.517269483841869770, 0.517312274324050250, 0.517355063512950020, 0.517397851408462060, 0.517440638010480010, 0.517483423318895850, 0.517526207333603220, +0.517568990054494970, 0.517611771481464760, 0.517654551614404660, 0.517697330453208200, 0.517740107997768370, 0.517782884247978690, 0.517825659203731360, 0.517868432864920010, +0.517911205231437850, 0.517953976303177300, 0.517996746080031880, 0.518039514561894570, 0.518082281748658780, 0.518125047640217050, 0.518167812236462580, 0.518210575537288660, +0.518253337542588620, 0.518296098252254870, 0.518338857666180820, 0.518381615784259680, 0.518424372606384960, 0.518467128132448770, 0.518509882362344850, 0.518552635295966290, +0.518595386933206390, 0.518638137273957690, 0.518680886318113710, 0.518723634065567870, 0.518766380516212490, 0.518809125669941200, 0.518851869526647190, 0.518894612086223780, +0.518937353348563500, 0.518980093313559760, 0.519022831981105880, 0.519065569351095270, 0.519108305423420350, 0.519151040197974640, 0.519193773674651360, 0.519236505853344020, +0.519279236733945050, 0.519321966316347970, 0.519364694600445990, 0.519407421586132620, 0.519450147273300410, 0.519492871661842770, 0.519535594751652900, 0.519578316542624540, +0.519621037034649900, 0.519663756227622730, 0.519706474121436560, 0.519749190715983690, 0.519791906011157990, 0.519834620006852430, 0.519877332702960770, 0.519920044099375420, +0.519962754195989920, 0.520005462992697560, 0.520048170489391890, 0.520090876685965430, 0.520133581582311710, 0.520176285178324150, 0.520218987473896170, 0.520261688468920400, +0.520304388163290390, 0.520347086556899430, 0.520389783649641060, 0.520432479441407910, 0.520475173932093530, 0.520517867121591650, 0.520560559009794700, 0.520603249596596320, +0.520645938881889810, 0.520688626865568830, 0.520731313547526000, 0.520773998927654750, 0.520816683005848600, 0.520859365782001090, 0.520902047256004860, 0.520944727427753440, +0.520987406297140130, 0.521030083864058800, 0.521072760128401870, 0.521115435090062970, 0.521158108748935530, 0.521200781104913190, 0.521243452157888590, 0.521286121907755250, +0.521328790354407050, 0.521371457497736390, 0.521414123337637150, 0.521456787874002630, 0.521499451106726570, 0.521542113035701420, 0.521584773660821010, 0.521627432981978670, +0.521670090999068140, 0.521712747711981950, 0.521755403120613970, 0.521798057224857390, 0.521840710024606080, 0.521883361519752680, 0.521926011710190820, 0.521968660595813930, +0.522011308176515750, 0.522053954452188940, 0.522096599422727240, 0.522139243088024510, 0.522181885447973170, 0.522224526502467200, 0.522267166251399790, 0.522309804694665040, +0.522352441832155230, 0.522395077663764360, 0.522437712189385840, 0.522480345408913420, 0.522522977322239730, 0.522565607929258550, 0.522608237229863380, 0.522650865223947990, +0.522693491911405130, 0.522736117292128430, 0.522778741366011550, 0.522821364132948110, 0.522863985592830980, 0.522906605745553810, 0.522949224591010120, 0.522991842129093780, +0.523034458359697420, 0.523077073282714910, 0.523119686898040110, 0.523162299205565780, 0.523204910205185670, 0.523247519896793190, 0.523290128280282430, 0.523332735355545810, +0.523375341122477520, 0.523417945580970770, 0.523460548730919630, 0.523503150572216640, 0.523545751104755760, 0.523588350328430540, 0.523630948243134830, 0.523673544848761390, +0.523716140145204070, 0.523758734132356410, 0.523801326810112270, 0.523843918178364510, 0.523886508237006890, 0.523929096985933370, 0.523971684425036720, 0.524014270554210900, +0.524056855373349450, 0.524099438882346110, 0.524142021081093870, 0.524184601969486570, 0.524227181547417760, 0.524269759814781410, 0.524312336771470270, 0.524354912417378300, +0.524397486752398940, 0.524440059776426380, 0.524482631489353260, 0.524525201891073430, 0.524567770981480770, 0.524610338760469030, 0.524652905227930950, 0.524695470383760740, +0.524738034227852150, 0.524780596760098140, 0.524823157980392590, 0.524865717888629240, 0.524908276484701840, 0.524950833768503490, 0.524993389739928040, 0.525035944398869030, +0.525078497745220640, 0.525121049778875530, 0.525163600499727880, 0.525206149907671120, 0.525248698002599430, 0.525291244784405700, 0.525333790252983770, 0.525376334408227400, +0.525418877250030560, 0.525461418778286120, 0.525503958992888150, 0.525546497893730310, 0.525589035480706570, 0.525631571753709890, 0.525674106712634260, 0.525716640357373750, +0.525759172687821240, 0.525801703703870800, 0.525844233405416080, 0.525886761792351170, 0.525929288864569020, 0.525971814621963630, 0.526014339064428740, 0.526056862191858320, +0.526099384004145350, 0.526141904501184030, 0.526184423682867890, 0.526226941549091000, 0.526269458099746460, 0.526311973334728230, 0.526354487253930080, 0.526396999857246080, +0.526439511144569220, 0.526482021115793560, 0.526524529770813320, 0.526567037109521240, 0.526609543131811630, 0.526652047837578240, 0.526694551226715050, 0.526737053299115020, +0.526779554054672470, 0.526822053493280930, 0.526864551614834700, 0.526907048419226750, 0.526949543906351180, 0.526992038076101620, 0.527034530928372490, 0.527077022463056540, +0.527119512680048090, 0.527162001579240870, 0.527204489160529090, 0.527246975423805610, 0.527289460368964740, 0.527331943995900550, 0.527374426304506150, 0.527416907294675610, +0.527459386966302900, 0.527501865319282110, 0.527544342353506220, 0.527586818068869420, 0.527629292465265690, 0.527671765542589100, 0.527714237300732640, 0.527756707739590600, +0.527799176859056860, 0.527841644659025500, 0.527884111139389710, 0.527926576300043580, 0.527969040140881090, 0.528011502661796310, 0.528053963862682330, 0.528096423743433570, +0.528138882303944010, 0.528181339544106950, 0.528223795463816590, 0.528266250062966680, 0.528308703341451520, 0.528351155299164210, 0.528393605935999040, 0.528436055251849780, +0.528478503246610830, 0.528520949920175290, 0.528563395272437230, 0.528605839303290860, 0.528648282012630140, 0.528690723400348390, 0.528733163466339810, 0.528775602210498350, +0.528818039632718230, 0.528860475732892630, 0.528902910510915870, 0.528945343966681800, 0.528987776100084740, 0.529030206911017880, 0.529072636399375520, 0.529115064565051970, +0.529157491407940330, 0.529199916927935000, 0.529242341124929850, 0.529284763998819300, 0.529327185549496430, 0.529369605776855550, 0.529412024680790630, 0.529454442261196090, +0.529496858517965020, 0.529539273450991830, 0.529581687060170500, 0.529624099345395230, 0.529666510306559420, 0.529708919943557290, 0.529751328256282910, 0.529793735244630580, +0.529836140908493510, 0.529878545247766010, 0.529920948262342590, 0.529963349952116470, 0.530005750316981940, 0.530048149356833090, 0.530090547071564110, 0.530132943461068540, +0.530175338525240460, 0.530217732263974170, 0.530260124677163880, 0.530302515764702890, 0.530344905526485500, 0.530387293962406030, 0.530429681072358550, 0.530472066856236600, +0.530514451313934490, 0.530556834445346180, 0.530599216250366210, 0.530641596728887780, 0.530683975880805400, 0.530726353706013400, 0.530768730204405180, 0.530811105375875170, +0.530853479220317340, 0.530895851737626210, 0.530938222927695100, 0.530980592790418430, 0.531022961325690270, 0.531065328533405050, 0.531107694413456180, 0.531150058965737970, +0.531192422190144730, 0.531234784086570770, 0.531277144654909490, 0.531319503895055330, 0.531361861806902370, 0.531404218390345240, 0.531446573645277140, 0.531488927571592610, +0.531531280169185720, 0.531573631437951000, 0.531615981377781880, 0.531658329988572760, 0.531700677270218190, 0.531743023222611580, 0.531785367845647450, 0.531827711139219780, +0.531870053103223330, 0.531912393737551280, 0.531954733042098280, 0.531997071016758530, 0.532039407661426320, 0.532081742975995420, 0.532124076960360020, 0.532166409614414420, +0.532208740938053260, 0.532251070931169750, 0.532293399593658620, 0.532335726925413980, 0.532378052926330450, 0.532420377596301450, 0.532462700935221410, 0.532505022942984960, +0.532547343619485640, 0.532589662964617960, 0.532631980978276130, 0.532674297660354790, 0.532716613010747240, 0.532758927029348130, 0.532801239716051760, 0.532843551070752650, +0.532885861093344350, 0.532928169783721260, 0.532970477141777920, 0.533012783167408630, 0.533055087860507040, 0.533097391220967780, 0.533139693248684930, 0.533181993943553370, +0.533224293305466280, 0.533266591334318530, 0.533308888030004760, 0.533351183392418270, 0.533393477421453930, 0.533435770117005830, 0.533478061478968700, 0.533520351507236090, +0.533562640201702520, 0.533604927562262410, 0.533647213588810290, 0.533689498281239790, 0.533731781639445570, 0.533774063663321920, 0.533816344352763370, 0.533858623707663680, +0.533900901727917490, 0.533943178413418870, 0.533985453764062810, 0.534027727779742720, 0.534070000460353240, 0.534112271805789240, 0.534154541815944130, 0.534196810490712660, +0.534239077829989250, 0.534281343833668430, 0.534323608501643840, 0.534365871833810350, 0.534408133830062030, 0.534450394490293860, 0.534492653814399370, 0.534534911802273080, +0.534577168453809650, 0.534619423768903700, 0.534661677747448660, 0.534703930389339610, 0.534746181694470630, 0.534788431662736490, 0.534830680294031020, 0.534872927588248780, +0.534915173545284280, 0.534957418165032280, 0.534999661447386200, 0.535041903392241110, 0.535084143999491560, 0.535126383269031280, 0.535168621200755030, 0.535210857794557240, +0.535253093050332750, 0.535295326967975100, 0.535337559547379050, 0.535379790788439220, 0.535422020691050270, 0.535464249255105830, 0.535506476480500760, 0.535548702367129590, +0.535590926914886970, 0.535633150123666750, 0.535675371993363570, 0.535717592523871970, 0.535759811715086690, 0.535802029566901590, 0.535844246079211440, 0.535886461251911080, +0.535928675084894060, 0.535970887578055440, 0.536013098731289660, 0.536055308544491350, 0.536097517017554480, 0.536139724150373810, 0.536181929942843860, 0.536224134394859500, +0.536266337506314360, 0.536308539277103310, 0.536350739707120990, 0.536392938796262260, 0.536435136544420770, 0.536477332951491360, 0.536519528017368690, 0.536561721741947490, +0.536603914125121760, 0.536646105166786120, 0.536688294866835670, 0.536730483225164030, 0.536772670241666190, 0.536814855916236790, 0.536857040248770460, 0.536899223239161280, +0.536941404887304020, 0.536983585193093190, 0.537025764156423780, 0.537067941777189640, 0.537110118055285630, 0.537152292990606290, 0.537194466583046590, 0.537236638832500390, +0.537278809738862660, 0.537320979302027820, 0.537363147521890850, 0.537405314398345710, 0.537447479931287280, 0.537489644120610180, 0.537531806966209280, 0.537573968467978560, +0.537616128625812870, 0.537658287439607200, 0.537700444909255500, 0.537742601034652660, 0.537784755815693290, 0.537826909252272500, 0.537869061344283920, 0.537911212091622850, +0.537953361494183600, 0.537995509551861370, 0.538037656264550020, 0.538079801632144530, 0.538121945654539520, 0.538164088331630100, 0.538206229663310000, 0.538248369649474310, +0.538290508290017680, 0.538332645584835290, 0.538374781533820790, 0.538416916136869370, 0.538459049393876010, 0.538501181304734680, 0.538543311869340350, 0.538585441087587770, +0.538627568959372030, 0.538669695484586870, 0.538711820663127620, 0.538753944494888670, 0.538796066979765340, 0.538838188117651380, 0.538880307908442100, 0.538922426352031910, +0.538964543448316010, 0.539006659197188490, 0.539048773598544310, 0.539090886652278110, 0.539132998358285100, 0.539175108716459240, 0.539217217726695620, 0.539259325388889320, +0.539301431702934320, 0.539343536668725700, 0.539385640286158320, 0.539427742555127150, 0.539469843475526290, 0.539511943047250810, 0.539554041270195460, 0.539596138144255330, +0.539638233669324620, 0.539680327845298180, 0.539722420672070990, 0.539764512149538130, 0.539806602277593690, 0.539848691056132650, 0.539890778485049850, 0.539932864564240500, +0.539974949293598680, 0.540017032673019480, 0.540059114702397980, 0.540101195381628370, 0.540143274710605750, 0.540185352689225070, 0.540227429317381210, 0.540269504594968470, +0.540311578521882050, 0.540353651098016590, 0.540395722323267380, 0.540437792197528520, 0.540479860720695200, 0.540521927892662180, 0.540563993713324640, 0.540606058182576900, +0.540648121300313920, 0.540690183066430690, 0.540732243480822380, 0.540774302543382990, 0.540816360254007920, 0.540858416612591930, 0.540900471619030320, 0.540942525273217180, +0.540984577575047590, 0.541026628524417070, 0.541068678121219500, 0.541110726365350290, 0.541152773256704300, 0.541194818795176610, 0.541236862980661650, 0.541278905813054490, +0.541320947292250000, 0.541362987418143590, 0.541405026190629360, 0.541447063609602490, 0.541489099674957950, 0.541531134386591170, 0.541573167744396010, 0.541615199748267990, +0.541657230398101990, 0.541699259693793290, 0.541741287635236100, 0.541783314222325620, 0.541825339454957260, 0.541867363333025210, 0.541909385856424790, 0.541951407025050850, +0.541993426838798700, 0.542035445297562650, 0.542077462401238000, 0.542119478149719720, 0.542161492542903130, 0.542203505580682310, 0.542245517262952890, 0.542287527589609630, +0.542329536560547830, 0.542371544175661910, 0.542413550434847070, 0.542455555337998390, 0.542497558885011280, 0.542539561075779720, 0.542581561910199350, 0.542623561388165480, +0.542665559509572290, 0.542707556274315220, 0.542749551682289330, 0.542791545733389840, 0.542833538427511140, 0.542875529764548560, 0.542917519744397170, 0.542959508366952390, +0.543001495632108420, 0.543043481539760790, 0.543085466089804350, 0.543127449282134630, 0.543169431116645950, 0.543211411593233720, 0.543253390711792910, 0.543295368472219040, +0.543337344874406440, 0.543379319918250280, 0.543421293603645990, 0.543463265930488770, 0.543505236898673030, 0.543547206508094180, 0.543589174758647760, 0.543631141650227970, +0.543673107182730320, 0.543715071356049910, 0.543757034170082250, 0.543798995624721560, 0.543840955719863350, 0.543882914455402820, 0.543924871831235390, 0.543966827847255360, +0.544008782503358270, 0.544050735799439190, 0.544092687735393770, 0.544134638311116080, 0.544176587526501890, 0.544218535381446270, 0.544260481875844640, 0.544302427009591420, +0.544344370782582130, 0.544386313194712310, 0.544428254245876380, 0.544470193935969740, 0.544512132264887700, 0.544554069232525580, 0.544596004838778010, 0.544637939083540410, +0.544679871966707860, 0.544721803488176120, 0.544763733647839480, 0.544805662445593470, 0.544847589881333420, 0.544889515954954610, 0.544931440666351690, 0.544973364015420180, +0.545015286002055290, 0.545057206626152540, 0.545099125887606450, 0.545141043786312450, 0.545182960322166290, 0.545224875495062270, 0.545266789304896140, 0.545308701751562990, +0.545350612834958450, 0.545392522554977060, 0.545434430911514330, 0.545476337904465590, 0.545518243533726240, 0.545560147799191040, 0.545602050700755400, 0.545643952238314630, +0.545685852411764370, 0.545727751220999150, 0.545769648665914490, 0.545811544746405700, 0.545853439462368420, 0.545895332813697290, 0.545937224800287720, 0.545979115422035480, +0.546021004678835080, 0.546062892570582160, 0.546104779097172030, 0.546146664258500230, 0.546188548054461490, 0.546230430484951460, 0.546272311549865220, 0.546314191249098640, +0.546356069582546120, 0.546397946550103540, 0.546439822151666090, 0.546481696387129400, 0.546523569256388120, 0.546565440759337880, 0.546607310895874000, 0.546649179665892330, +0.546691047069287280, 0.546732913105954620, 0.546774777775789640, 0.546816641078688210, 0.546858503014544750, 0.546900363583255000, 0.546942222784714720, 0.546984080618818420, +0.547025937085462100, 0.547067792184540820, 0.547109645915950460, 0.547151498279585650, 0.547193349275342020, 0.547235198903115010, 0.547277047162800460, 0.547318894054292900, +0.547360739577488100, 0.547402583732281340, 0.547444426518568620, 0.547486267936244440, 0.547528107985204570, 0.547569946665344420, 0.547611783976559850, 0.547653619918745390, +0.547695454491796910, 0.547737287695610140, 0.547779119530079740, 0.547820949995101560, 0.547862779090571020, 0.547904606816383980, 0.547946433172434970, 0.547988258158619850, +0.548030081774834140, 0.548071904020973610, 0.548113724896932890, 0.548155544402607940, 0.548197362537894080, 0.548239179302687170, 0.548280994696881960, 0.548322808720374310, +0.548364621373059520, 0.548406432654833690, 0.548448242565591330, 0.548490051105228300, 0.548531858273640590, 0.548573664070722830, 0.548615468496370990, 0.548657271550480390, +0.548699073232947090, 0.548740873543665630, 0.548782672482531990, 0.548824470049441680, 0.548866266244290580, 0.548908061066973430, 0.548949854517386200, 0.548991646595424320, +0.549033437300983640, 0.549075226633959020, 0.549117014594246330, 0.549158801181741100, 0.549200586396339170, 0.549242370237935430, 0.549284152706425830, 0.549325933801705800, +0.549367713523671420, 0.549409491872217210, 0.549451268847239380, 0.549493044448633780, 0.549534818676295170, 0.549576591530119400, 0.549618363010002220, 0.549660133115839610, +0.549701901847526210, 0.549743669204957990, 0.549785435188030690, 0.549827199796640190, 0.549868963030681220, 0.549910724890049880, 0.549952485374641810, 0.549994244484352750, +0.550036002219077780, 0.550077758578712880, 0.550119513563153470, 0.550161267172295740, 0.550203019406034440, 0.550244770264265550, 0.550286519746885140, 0.550328267853788080, +0.550370014584870340, 0.550411759940027560, 0.550453503919155710, 0.550495246522149760, 0.550536987748905690, 0.550578727599319140, 0.550620466073286190, 0.550662203170701690, +0.550703938891461630, 0.550745673235461750, 0.550787406202598030, 0.550829137792765540, 0.550870868005860050, 0.550912596841777510, 0.550954324300413800, 0.550996050381663880, +0.551037775085423950, 0.551079498411589870, 0.551121220360056620, 0.551162940930720380, 0.551204660123476800, 0.551246377938221950, 0.551288094374850710, 0.551329809433259270, +0.551371523113343360, 0.551413235414998980, 0.551454946338121090, 0.551496655882605880, 0.551538364048348990, 0.551580070835246630, 0.551621776243193750, 0.551663480272086340, +0.551705182921820250, 0.551746884192291560, 0.551788584083395370, 0.551830282595027640, 0.551871979727084240, 0.551913675479461240, 0.551955369852053620, 0.551997062844757690, +0.552038754457469420, 0.552080444690083880, 0.552122133542497280, 0.552163821014605370, 0.552205507106304230, 0.552247191817488940, 0.552288875148055690, 0.552330557097900240, +0.552372237666918680, 0.552413916855006290, 0.552455594662059070, 0.552497271087972860, 0.552538946132643870, 0.552580619795967070, 0.552622292077838750, 0.552663962978154680, +0.552705632496811150, 0.552747300633703140, 0.552788967388726850, 0.552830632761778570, 0.552872296752753290, 0.552913959361547300, 0.552955620588056360, 0.552997280432176770, +0.553038938893803620, 0.553080595972833100, 0.553122251669161070, 0.553163905982683830, 0.553205558913296370, 0.553247210460895090, 0.553288860625375860, 0.553330509406634750, +0.553372156804566970, 0.553413802819068820, 0.553455447450036160, 0.553497090697365300, 0.553538732560951320, 0.553580373040690520, 0.553622012136479100, 0.553663649848212370, +0.553705286175786400, 0.553746921119097290, 0.553788554678041220, 0.553830186852513400, 0.553871817642410220, 0.553913447047627350, 0.553955075068061300, 0.553996701703607150, +0.554038326954161330, 0.554079950819619580, 0.554121573299878430, 0.554163194394832860, 0.554204814104379380, 0.554246432428413870, 0.554288049366832620, 0.554329664919530950, +0.554371279086405040, 0.554412891867351320, 0.554454503262264970, 0.554496113271042420, 0.554537721893579530, 0.554579329129772700, 0.554620934979517250, 0.554662539442709490, +0.554704142519245270, 0.554745744209021120, 0.554787344511932230, 0.554828943427874920, 0.554870540956745370, 0.554912137098439780, 0.554953731852853460, 0.554995325219882820, +0.555036917199423940, 0.555078507791373020, 0.555120096995625590, 0.555161684812077730, 0.555203271240625850, 0.555244856281166040, 0.555286439933593830, 0.555328022197805420, +0.555369603073697320, 0.555411182561164950, 0.555452760660104520, 0.555494337370412210, 0.555535912691984430, 0.555577486624716510, 0.555619059168504850, 0.555660630323245640, +0.555702200088835090, 0.555743768465168710, 0.555785335452142930, 0.555826901049653820, 0.555868465257597810, 0.555910028075870310, 0.555951589504367740, 0.555993149542986180, +0.556034708191622040, 0.556076265450170860, 0.556117821318528940, 0.556159375796592910, 0.556200928884257980, 0.556242480581420780, 0.556284030887977400, 0.556325579803824240, +0.556367127328856850, 0.556408673462971630, 0.556450218206064660, 0.556491761558032590, 0.556533303518770730, 0.556574844088175590, 0.556616383266143270, 0.556657921052570500, +0.556699457447352500, 0.556740992450385770, 0.556782526061566640, 0.556824058280791620, 0.556865589107956030, 0.556907118542956490, 0.556948646585689430, 0.556990173236050490, +0.557031698493936080, 0.557073222359242390, 0.557114744831866070, 0.557156265911702530, 0.557197785598648300, 0.557239303892599570, 0.557280820793452980, 0.557322336301103950, +0.557363850415449110, 0.557405363136384670, 0.557446874463807140, 0.557488384397612060, 0.557529892937696060, 0.557571400083955340, 0.557612905836286420, 0.557654410194584840, +0.557695913158747340, 0.557737414728670000, 0.557778914904249470, 0.557820413685381270, 0.557861911071962150, 0.557903407063888520, 0.557944901661056040, 0.557986394863361320, +0.558027886670700580, 0.558069377082970550, 0.558110866100066660, 0.558152353721885540, 0.558193839948323610, 0.558235324779277510, 0.558276808214642650, 0.558318290254315790, +0.558359770898193110, 0.558401250146171480, 0.558442727998146320, 0.558484204454014370, 0.558525679513671940, 0.558567153177015660, 0.558608625443941080, 0.558650096314344920, +0.558691565788123960, 0.558733033865173700, 0.558774500545390800, 0.558815965828671770, 0.558857429714913030, 0.558898892204010460, 0.558940353295860670, 0.558981812990359870, +0.559023271287405030, 0.559064728186891570, 0.559106183688716340, 0.559147637792775650, 0.559189090498966260, 0.559230541807183680, 0.559271991717324890, 0.559313440229285970, +0.559354887342963900, 0.559396333058254200, 0.559437777375053740, 0.559479220293259140, 0.559520661812766160, 0.559562101933471560, 0.559603540655271630, 0.559644977978063230, +0.559686413901742010, 0.559727848426204820, 0.559769281551347970, 0.559810713277068220, 0.559852143603261410, 0.559893572529824190, 0.559935000056653090, 0.559976426183644740, +0.560017850910695110, 0.560059274237700740, 0.560100696164558260, 0.560142116691164430, 0.560183535817414870, 0.560224953543206450, 0.560266369868436030, 0.560307784792999360, +0.560349198316793200, 0.560390610439714050, 0.560432021161658800, 0.560473430482523070, 0.560514838402203730, 0.560556244920597300, 0.560597650037600650, 0.560639053753109520, +0.560680456067020770, 0.560721856979230830, 0.560763256489636650, 0.560804654598134000, 0.560846051304619620, 0.560887446608990260, 0.560928840511142560, 0.560970233010972370, +0.561011624108376570, 0.561053013803251790, 0.561094402095494770, 0.561135788985001490, 0.561177174471668590, 0.561218558555393270, 0.561259941236071040, 0.561301322513599100, +0.561342702387873760, 0.561384080858791990, 0.561425457926249760, 0.561466833590143820, 0.561508207850370810, 0.561549580706827700, 0.561590952159410240, 0.561632322208015400, +0.561673690852539710, 0.561715058092880250, 0.561756423928932660, 0.561797788360594020, 0.561839151387760970, 0.561880513010330370, 0.561921873228198200, 0.561963232041261310, +0.562004589449416670, 0.562045945452560260, 0.562087300050588930, 0.562128653243399330, 0.562170005030888540, 0.562211355412952310, 0.562252704389487710, 0.562294051960391280, +0.562335398125560220, 0.562376742884890260, 0.562418086238278380, 0.562459428185621340, 0.562500768726816090, 0.562542107861758510, 0.562583445590345680, 0.562624781912474230, +0.562666116828041240, 0.562707450336942580, 0.562748782439075220, 0.562790113134336360, 0.562831442422621730, 0.562872770303828650, 0.562914096777853530, 0.562955421844593570, +0.562996745503944740, 0.563038067755804010, 0.563079388600068120, 0.563120708036634050, 0.563162026065397890, 0.563203342686256710, 0.563244657899107160, 0.563285971703846310, +0.563327284100370140, 0.563368595088575840, 0.563409904668359940, 0.563451212839619740, 0.563492519602251110, 0.563533824956151230, 0.563575128901216750, 0.563616431437344740, +0.563657732564431410, 0.563699032282373610, 0.563740330591068650, 0.563781627490412610, 0.563822922980302340, 0.563864217060634830, 0.563905509731307150, 0.563946800992215390, +0.563988090843256520, 0.564029379284327500, 0.564070666315325320, 0.564111951936146160, 0.564153236146687110, 0.564194518946845030, 0.564235800336516880, 0.564277080315598980, +0.564318358883988400, 0.564359636041581900, 0.564400911788276560, 0.564442186123968680, 0.564483459048555350, 0.564524730561933640, 0.564566000663999870, 0.564607269354651000, +0.564648536633784000, 0.564689802501295970, 0.564731066957083190, 0.564772330001042660, 0.564813591633071320, 0.564854851853066280, 0.564896110660923820, 0.564937368056541160, +0.564978624039815020, 0.565019878610642620, 0.565061131768920260, 0.565102383514545000, 0.565143633847413730, 0.565184882767423850, 0.565226130274471330, 0.565267376368453590, +0.565308621049267710, 0.565349864316809890, 0.565391106170977430, 0.565432346611667190, 0.565473585638776480, 0.565514823252201370, 0.565556059451839290, 0.565597294237586980, +0.565638527609341860, 0.565679759567000010, 0.565720990110458730, 0.565762219239615120, 0.565803446954366240, 0.565844673254608300, 0.565885898140238820, 0.565927121611154550, +0.565968343667252790, 0.566009564308429860, 0.566050783534582940, 0.566092001345609550, 0.566133217741405680, 0.566174432721868850, 0.566215646286895910, 0.566256858436384180, +0.566298069170229960, 0.566339278488330540, 0.566380486390583030, 0.566421692876884600, 0.566462897947131560, 0.566504101601221330, 0.566545303839050770, 0.566586504660517300, +0.566627704065517320, 0.566668902053947930, 0.566710098625706430, 0.566751293780690000, 0.566792487518794960, 0.566833679839918720, 0.566874870743958260, 0.566916060230810980, +0.566957248300373200, 0.566998434952542210, 0.567039620187215650, 0.567080804004289620, 0.567121986403661520, 0.567163167385228540, 0.567204346948887990, 0.567245525094536180, +0.567286701822070530, 0.567327877131388100, 0.567369051022386440, 0.567410223494961730, 0.567451394549011500, 0.567492564184432840, 0.567533732401123040, 0.567574899198978520, +0.567616064577896820, 0.567657228537774890, 0.567698391078510280, 0.567739552199999390, 0.567780711902139630, 0.567821870184828330, 0.567863027047962100, 0.567904182491438260, +0.567945336515154000, 0.567986489119006730, 0.568027640302892880, 0.568068790066709850, 0.568109938410354950, 0.568151085333725490, 0.568192230836717990, 0.568233374919229980, +0.568274517581158430, 0.568315658822401090, 0.568356798642854160, 0.568397937042415150, 0.568439074020981370, 0.568480209578450250, 0.568521343714718300, 0.568562476429682940, +0.568603607723241810, 0.568644737595291220, 0.568685866045728790, 0.568726993074451740, 0.568768118681357570, 0.568809242866342710, 0.568850365629304800, 0.568891486970140910, +0.568932606888748690, 0.568973725385024550, 0.569014842458866130, 0.569055958110170620, 0.569097072338835550, 0.569138185144757450, 0.569179296527833940, 0.569220406487962130, +0.569261515025039630, 0.569302622138963100, 0.569343727829629940, 0.569384832096937470, 0.569425934940783310, 0.569467036361063880, 0.569508136357676830, 0.569549234930519900, +0.569590332079489500, 0.569631427804483280, 0.569672522105398430, 0.569713614982132690, 0.569754706434582590, 0.569795796462645670, 0.569836885066219210, 0.569877972245200980, +0.569919057999487390, 0.569960142328976180, 0.570001225233564670, 0.570042306713150370, 0.570083386767630040, 0.570124465396901200, 0.570165542600861160, 0.570206618379407670, +0.570247692732437250, 0.570288765659847650, 0.570329837161536400, 0.570370907237400250, 0.570411975887336830, 0.570453043111243450, 0.570494108909017860, 0.570535173280556700, +0.570576236225757480, 0.570617297744517750, 0.570658357836735020, 0.570699416502306160, 0.570740473741128680, 0.570781529553100130, 0.570822583938118020, 0.570863636896079110, +0.570904688426881140, 0.570945738530421410, 0.570986787206597680, 0.571027834455306690, 0.571068880276446090, 0.571109924669913620, 0.571150967635605910, 0.571192009173420940, +0.571233049283255800, 0.571274087965008450, 0.571315125218575530, 0.571356161043854890, 0.571397195440743740, 0.571438228409139940, 0.571479259948940220, 0.571520290060042460, +0.571561318742343840, 0.571602345995742330, 0.571643371820134690, 0.571684396215418560, 0.571725419181491330, 0.571766440718251000, 0.571807460825594190, 0.571848479503418770, +0.571889496751622480, 0.571930512570102080, 0.571971526958755420, 0.572012539917479910, 0.572053551446173540, 0.572094561544732820, 0.572135570213055720, 0.572176577451039670, +0.572217583258582520, 0.572258587635581020, 0.572299590581933140, 0.572340592097536290, 0.572381592182288230, 0.572422590836085930, 0.572463588058827130, 0.572504583850409250, +0.572545578210730380, 0.572586571139687250, 0.572627562637177620, 0.572668552703099020, 0.572709541337349530, 0.572750528539825780, 0.572791514310425630, 0.572832498649047170, +0.572873481555587040, 0.572914463029943200, 0.572955443072013180, 0.572996421681694960, 0.573037398858885380, 0.573078374603482210, 0.573119348915383190, 0.573160321794486060, +0.573201293240687800, 0.573242263253886280, 0.573283231833979220, 0.573324198980864290, 0.573365164694438660, 0.573406128974599970, 0.573447091821245980, 0.573488053234274760, +0.573529013213582850, 0.573569971759068540, 0.573610928870629590, 0.573651884548163070, 0.573692838791566740, 0.573733791600738340, 0.573774742975575850, 0.573815692915976120, +0.573856641421837120, 0.573897588493056500, 0.573938534129532330, 0.573979478331161470, 0.574020421097841900, 0.574061362429471260, 0.574102302325947610, 0.574143240787167830, +0.574184177813029880, 0.574225113403431520, 0.574266047558270820, 0.574306980277444530, 0.574347911560850850, 0.574388841408387750, 0.574429769819952200, 0.574470696795442160, +0.574511622334755500, 0.574552546437790080, 0.574593469104442870, 0.574634390334612060, 0.574675310128195280, 0.574716228485090520, 0.574757145405194850, 0.574798060888406350, +0.574838974934622660, 0.574879887543741970, 0.574920798715661150, 0.574961708450278270, 0.575002616747491200, 0.575043523607197900, 0.575084429029295460, 0.575125333013681960, +0.575166235560255150, 0.575207136668913100, 0.575248036339552790, 0.575288934572072420, 0.575329831366370060, 0.575370726722342800, 0.575411620639888710, 0.575452513118905550, +0.575493404159291510, 0.575534293760943560, 0.575575181923759890, 0.575616068647638260, 0.575656953932476840, 0.575697837778172630, 0.575738720184623910, 0.575779601151728330, +0.575820480679384070, 0.575861358767488340, 0.575902235415939100, 0.575943110624634320, 0.575983984393472200, 0.576024856722349600, 0.576065727611165030, 0.576106597059816370, +0.576147465068200910, 0.576188331636216860, 0.576229196763761830, 0.576270060450734260, 0.576310922697031210, 0.576351783502550790, 0.576392642867190940, 0.576433500790849870, +0.576474357273424660, 0.576515212314813510, 0.576556065914914370, 0.576596918073625450, 0.576637768790843830, 0.576678618066467810, 0.576719465900395250, 0.576760312292524450, +0.576801157242752380, 0.576842000750977470, 0.576882842817098010, 0.576923683441010970, 0.576964522622614770, 0.577005360361807270, 0.577046196658486670, 0.577087031512550250, +0.577127864923896230, 0.577168696892422560, 0.577209527418027560, 0.577250356500608300, 0.577291184140063200, 0.577332010336290110, 0.577372835089187460, 0.577413658398652220, +0.577454480264582900, 0.577495300686877380, 0.577536119665433940, 0.577576937200149910, 0.577617753290923460, 0.577658567937653020, 0.577699381140235780, 0.577740192898570150, +0.577781003212553990, 0.577821812082085720, 0.577862619507062520, 0.577903425487382720, 0.577944230022944480, 0.577985033113645910, 0.578025834759384520, 0.578066634960058390, +0.578107433715565830, 0.578148231025804930, 0.578189026890673090, 0.578229821310068730, 0.578270614283889820, 0.578311405812034770, 0.578352195894400790, 0.578392984530886280, +0.578433771721389430, 0.578474557465808450, 0.578515341764040620, 0.578556124615984600, 0.578596906021538570, 0.578637685980599840, 0.578678464493066920, 0.578719241558837920, +0.578760017177811110, 0.578800791349883940, 0.578841564074954800, 0.578882335352921660, 0.578923105183683170, 0.578963873567136410, 0.579004640503180120, 0.579045405991712170, +0.579086170032630960, 0.579126932625834150, 0.579167693771219900, 0.579208453468686430, 0.579249211718132150, 0.579289968519454580, 0.579330723872552020, 0.579371477777323010, +0.579412230233664950, 0.579452981241476260, 0.579493730800655140, 0.579534478911100100, 0.579575225572708570, 0.579615970785378850, 0.579656714549009240, 0.579697456863498270, +0.579738197728743240, 0.579778937144642680, 0.579819675111094780, 0.579860411627998170, 0.579901146695250060, 0.579941880312749070, 0.579982612480393510, 0.580023343198081690, +0.580064072465711120, 0.580104800283180340, 0.580145526650387990, 0.580186251567231470, 0.580226975033609320, 0.580267697049419720, 0.580308417614561310, 0.580349136728931400, +0.580389854392428630, 0.580430570604951290, 0.580471285366397920, 0.580511998676665810, 0.580552710535653830, 0.580593420943260050, 0.580634129899383120, 0.580674837403920450, +0.580715543456770790, 0.580756248057832100, 0.580796951207003250, 0.580837652904181660, 0.580878353149265950, 0.580919051942154320, 0.580959749282745410, 0.581000445170936850, +0.581041139606627070, 0.581081832589714910, 0.581122524120097680, 0.581163214197674250, 0.581203902822342800, 0.581244589994001860, 0.581285275712549070, 0.581325959977883170, +0.581366642789902350, 0.581407324148505270, 0.581448004053589540, 0.581488682505053810, 0.581529359502796380, 0.581570035046715890, 0.581610709136709870, 0.581651381772677170, +0.581692052954515980, 0.581732722682125060, 0.581773390955401930, 0.581814057774245440, 0.581854723138554020, 0.581895387048225520, 0.581936049503158470, 0.581976710503251390, +0.582017370048402820, 0.582058028138510490, 0.582098684773473040, 0.582139339953189010, 0.582179993677556910, 0.582220645946474490, 0.582261296759840400, 0.582301946117553040, +0.582342594019511270, 0.582383240465612630, 0.582423885455755850, 0.582464528989839360, 0.582505171067762010, 0.582545811689421320, 0.582586450854716050, 0.582627088563545060, +0.582667724815805980, 0.582708359611397550, 0.582748992950218200, 0.582789624832166790, 0.582830255257140940, 0.582870884225039520, 0.582911511735760830, 0.582952137789203630, +0.582992762385265870, 0.583033385523846090, 0.583074007204842930, 0.583114627428155120, 0.583155246193680310, 0.583195863501317470, 0.583236479350964900, 0.583277093742521570, +0.583317706675885010, 0.583358318150954290, 0.583398928167628170, 0.583439536725804290, 0.583480143825381600, 0.583520749466258540, 0.583561353648333950, 0.583601956371505690, +0.583642557635672410, 0.583683157440732850, 0.583723755786585750, 0.583764352673128760, 0.583804948100261070, 0.583845542067880970, 0.583886134575887230, 0.583926725624178020, +0.583967315212651880, 0.584007903341207450, 0.584048490009743570, 0.584089075218158120, 0.584129658966350050, 0.584170241254217790, 0.584210822081660310, 0.584251401448575460, +0.584291979354861990, 0.584332555800419100, 0.584373130785144300, 0.584413704308936690, 0.584454276371694890, 0.584494846973317770, 0.584535416113703080, 0.584575983792749890, +0.584616550010356840, 0.584657114766422680, 0.584697678060845380, 0.584738239893523800, 0.584778800264356800, 0.584819359173243010, 0.584859916620080520, 0.584900472604768300, +0.584941027127204750, 0.584981580187289070, 0.585022131784919130, 0.585062681919993890, 0.585103230592412200, 0.585143777802072050, 0.585184323548872510, 0.585224867832712210, +0.585265410653490030, 0.585305952011104020, 0.585346491905453070, 0.585387030336435910, 0.585427567303951620, 0.585468102807897960, 0.585508636848174110, 0.585549169424678610, +0.585589700537310520, 0.585630230185967830, 0.585670758370549600, 0.585711285090954490, 0.585751810347081460, 0.585792334138828590, 0.585832856466094950, 0.585873377328779420, +0.585913896726780180, 0.585954414659996090, 0.585994931128326010, 0.586035446131669020, 0.586075959669922990, 0.586116471742987090, 0.586156982350759970, 0.586197491493140820, +0.586237999170027500, 0.586278505381319200, 0.586319010126914670, 0.586359513406713000, 0.586400015220612140, 0.586440515568511290, 0.586481014450309090, 0.586521511865904840, +0.586562007815196300, 0.586602502298082750, 0.586642995314463070, 0.586683486864236100, 0.586723976947300160, 0.586764465563554330, 0.586804952712897570, 0.586845438395228070, +0.586885922610445030, 0.586926405358447200, 0.586966886639133770, 0.587007366452402590, 0.587047844798153080, 0.587088321676284000, 0.587128797086694520, 0.587169271029282620, +0.587209743503947500, 0.587250214510588010, 0.587290684049103450, 0.587331152119391800, 0.587371618721352130, 0.587412083854883530, 0.587452547519885070, 0.587493009716254950, +0.587533470443892150, 0.587573929702696170, 0.587614387492564890, 0.587654843813397720, 0.587695298665093510, 0.587735752047551240, 0.587776203960669320, 0.587816654404346940, +0.587857103378482850, 0.587897550882976460, 0.587937996917725750, 0.587978441482630010, 0.588018884577588220, 0.588059326202499570, 0.588099766357262240, 0.588140205041775550, +0.588180642255938250, 0.588221077999649730, 0.588261512272808210, 0.588301945075312860, 0.588342376407063110, 0.588382806267956910, 0.588423234657893810, 0.588463661576772550, +0.588504087024492530, 0.588544511000951950, 0.588584933506050010, 0.588625354539685790, 0.588665774101758580, 0.588706192192166580, 0.588746608810808980, 0.588787023957584980, +0.588827437632393760, 0.588867849835133520, 0.588908260565703780, 0.588948669824003290, 0.588989077609931470, 0.589029483923386610, 0.589069888764268130, 0.589110292132475230, +0.589150694027906210, 0.589191094450460470, 0.589231493400037000, 0.589271890876535200, 0.589312286879853260, 0.589352681409890610, 0.589393074466546210, 0.589433466049719580, +0.589473856159308920, 0.589514244795213530, 0.589554631957332600, 0.589595017645565430, 0.589635401859810340, 0.589675784599966720, 0.589716165865933780, 0.589756545657610600, +0.589796923974895800, 0.589837300817688700, 0.589877676185888270, 0.589918050079394130, 0.589958422498104370, 0.589998793441918630, 0.590039162910736330, 0.590079530904455640, +0.590119897422976210, 0.590160262466197020, 0.590200626034017460, 0.590240988126336070, 0.590281348743052160, 0.590321707884064910, 0.590362065549273620, 0.590402421738576930, +0.590442776451874260, 0.590483129689064470, 0.590523481450047290, 0.590563831734721160, 0.590604180542985360, 0.590644527874739090, 0.590684873729881880, 0.590725218108312020, +0.590765561009929270, 0.590805902434632930, 0.590846242382321420, 0.590886580852894360, 0.590926917846250840, 0.590967253362290390, 0.591007587400911530, 0.591047919962013560, +0.591088251045495780, 0.591128580651257840, 0.591168908779198030, 0.591209235429216000, 0.591249560601210810, 0.591289884295082110, 0.591330206510728430, 0.591370527248049060, +0.591410846506943530, 0.591451164287311150, 0.591491480589050540, 0.591531795412061130, 0.591572108756242780, 0.591612420621493660, 0.591652731007713540, 0.591693039914801490, +0.591733347342657370, 0.591773653291179370, 0.591813957760267350, 0.591854260749820390, 0.591894562259738130, 0.591934862289919090, 0.591975160840262920, 0.592015457910668900, +0.592055753501036450, 0.592096047611264440, 0.592136340241252170, 0.592176631390899040, 0.592216921060104820, 0.592257209248767900, 0.592297495956787930, 0.592337781184064220, +0.592378064930496380, 0.592418347195983070, 0.592458627980423810, 0.592498907283718460, 0.592539185105765420, 0.592579461446464340, 0.592619736305714740, 0.592660009683416140, +0.592700281579467080, 0.592740551993767410, 0.592780820926216310, 0.592821088376713550, 0.592861354345157630, 0.592901618831448430, 0.592941881835485020, 0.592982143357167370, +0.593022403396394000, 0.593062661953064670, 0.593102919027078680, 0.593143174618335660, 0.593183428726734460, 0.593223681352174630, 0.593263932494555890, 0.593304182153777000, +0.593344430329737720, 0.593384677022337330, 0.593424922231475580, 0.593465165957051230, 0.593505408198963910, 0.593545648957113040, 0.593585888231398460, 0.593626126021718830, +0.593666362327973870, 0.593706597150062910, 0.593746830487885900, 0.593787062341341490, 0.593827292710329300, 0.593867521594748980, 0.593907748994500160, 0.593947974909481700, +0.593988199339593240, 0.594028422284734630, 0.594068643744804610, 0.594108863719702950, 0.594149082209329160, 0.594189299213583100, 0.594229514732363300, 0.594269728765569830, +0.594309941313102000, 0.594350152374859660, 0.594390361950741570, 0.594430570040647590, 0.594470776644477120, 0.594510981762130130, 0.594551185393505380, 0.594591387538502600, +0.594631588197021330, 0.594671787368961540, 0.594711985054221850, 0.594752181252702240, 0.594792375964302460, 0.594832569188921470, 0.594872760926459020, 0.594912951176814640, +0.594953139939888300, 0.594993327215578740, 0.595033513003785820, 0.595073697304409180, 0.595113880117348560, 0.595154061442502940, 0.595194241279772160, 0.595234419629055770, +0.595274596490253720, 0.595314771863264870, 0.595354945747988970, 0.595395118144325770, 0.595435289052175130, 0.595475458471435900, 0.595515626402008060, 0.595555792843791120, +0.595595957796685060, 0.595636121260588740, 0.595676283235402120, 0.595716443721025170, 0.595756602717356640, 0.595796760224296730, 0.595836916241744950, 0.595877070769601170, +0.595917223807764350, 0.595957375356134470, 0.595997525414611150, 0.596037673983094370, 0.596077821061483100, 0.596117966649677200, 0.596158110747576410, 0.596198253355080810, +0.596238394472089040, 0.596278534098501400, 0.596318672234217420, 0.596358808879137060, 0.596398944033159410, 0.596439077696184320, 0.596479209868111980, 0.596519340548841150, +0.596559469738272010, 0.596599597436304200, 0.596639723642837790, 0.596679848357771660, 0.596719971581005870, 0.596760093312440290, 0.596800213551974770, 0.596840332299508280, +0.596880449554941020, 0.596920565318172720, 0.596960679589103260, 0.597000792367631710, 0.597040903653658250, 0.597081013447082530, 0.597121121747804630, 0.597161228555723620, +0.597201333870739480, 0.597241437692752290, 0.597281540021661230, 0.597321640857366280, 0.597361740199767290, 0.597401838048764340, 0.597441934404256300, 0.597482029266143580, +0.597522122634325690, 0.597562214508702840, 0.597602304889174100, 0.597642393775639660, 0.597682481167999160, 0.597722567066152900, 0.597762651469999850, 0.597802734379440090, +0.597842815794373590, 0.597882895714700320, 0.597922974140319470, 0.597963051071131240, 0.598003126507035350, 0.598043200447932020, 0.598083272893720320, 0.598123343844300440, +0.598163413299572570, 0.598203481259435790, 0.598243547723790290, 0.598283612692535940, 0.598323676165572920, 0.598363738142800310, 0.598403798624118410, 0.598443857609427090, +0.598483915098626310, 0.598523971091615480, 0.598564025588294690, 0.598604078588563900, 0.598644130092323200, 0.598684180099471890, 0.598724228609910040, 0.598764275623537730, +0.598804321140254950, 0.598844365159961090, 0.598884407682556350, 0.598924448707940930, 0.598964488236014000, 0.599004526266675890, 0.599044562799826430, 0.599084597835365830, +0.599124631373193490, 0.599164663413209620, 0.599204693955313950, 0.599244722999407010, 0.599284750545387880, 0.599324776593156860, 0.599364801142613920, 0.599404824193659370, +0.599444845746192280, 0.599484865800113180, 0.599524884355321920, 0.599564901411718810, 0.599604916969203040, 0.599644931027674910, 0.599684943587034950, 0.599724954647182230, +0.599764964208017060, 0.599804972269439520, 0.599844978831349910, 0.599884983893647530, 0.599924987456232680, 0.599964989519005340, 0.600004990081865920, 0.600044989144713600, +0.600084986707448810, 0.600124982769971620, 0.600164977332182330, 0.600204970393980240, 0.600244961955265670, 0.600284952015938680, 0.600324940575899690, 0.600364927635048010, +0.600404913193284040, 0.600444897250507760, 0.600484879806619580, 0.600524860861518790, 0.600564840415105940, 0.600604818467281310, 0.600644795017944320, 0.600684770066995280, +0.600724743614334370, 0.600764715659861890, 0.600804686203477380, 0.600844655245081020, 0.600884622784573110, 0.600924588821853960, 0.600964553356822970, 0.601004516389380680, +0.601044477919427060, 0.601084437946862500, 0.601124396471586550, 0.601164353493499730, 0.601204309012501880, 0.601244263028493650, 0.601284215541374460, 0.601324166551044700, +0.601364116057404810, 0.601404064060354400, 0.601444010559793680, 0.601483955555623060, 0.601523899047742840, 0.601563841036052540, 0.601603781520452690, 0.601643720500843250, +0.601683657977124970, 0.601723593949197170, 0.601763528416960460, 0.601803461380314820, 0.601843392839160880, 0.601883322793398180, 0.601923251242927120, 0.601963178187648000, +0.602003103627461230, 0.602043027562266350, 0.602082949991963880, 0.602122870916454330, 0.602162790335637350, 0.602202708249413470, 0.602242624657682630, 0.602282539560345720, +0.602322452957302020, 0.602362364848452290, 0.602402275233696600, 0.602442184112935600, 0.602482091486068680, 0.602521997352996610, 0.602561901713619560, 0.602601804567838070, +0.602641705915551770, 0.602681605756661190, 0.602721504091066510, 0.602761400918668590, 0.602801296239366620, 0.602841190053061580, 0.602881082359653760, 0.602920973159043030, +0.602960862451129790, 0.603000750235814450, 0.603040636512997550, 0.603080521282578720, 0.603120404544458480, 0.603160286298537350, 0.603200166544715870, 0.603240045282893540, +0.603279922512971130, 0.603319798234848940, 0.603359672448427590, 0.603399545153606720, 0.603439416350286970, 0.603479286038368650, 0.603519154217752480, 0.603559020888338130, +0.603598886050026100, 0.603638749702717030, 0.603678611846311330, 0.603718472480708760, 0.603758331605810050, 0.603798189221515850, 0.603838045327725780, 0.603877899924340600, +0.603917753011260720, 0.603957604588386760, 0.603997454655618490, 0.604037303212856540, 0.604077150260001310, 0.604116995796953550, 0.604156839823613010, 0.604196682339880330, +0.604236523345656030, 0.604276362840840740, 0.604316200825334100, 0.604356037299037090, 0.604395872261849880, 0.604435705713673330, 0.604475537654407310, 0.604515368083952340, +0.604555197002209280, 0.604595024409077860, 0.604634850304458960, 0.604674674688252870, 0.604714497560360550, 0.604754318920681540, 0.604794138769116700, 0.604833957105566640, +0.604873773929931910, 0.604913589242112470, 0.604953403042009060, 0.604993215329522100, 0.605033026104552450, 0.605072835366999960, 0.605112643116765270, 0.605152449353749010, +0.605192254077852040, 0.605232057288974110, 0.605271858987015960, 0.605311659171878460, 0.605351457843461560, 0.605391255001666020, 0.605431050646392240, 0.605470844777541320, +0.605510637395012870, 0.605550428498707770, 0.605590218088526640, 0.605630006164370350, 0.605669792726138630, 0.605709577773732470, 0.605749361307052370, 0.605789143325999310, +0.605828923830472930, 0.605868702820374190, 0.605908480295603850, 0.605948256256062520, 0.605988030701650300, 0.606027803632267940, 0.606067575047816050, 0.606107344948195630, +0.606147113333306510, 0.606186880203049560, 0.606226645557325750, 0.606266409396035040, 0.606306171719078190, 0.606345932526356050, 0.606385691817769360, 0.606425449593218090, +0.606465205852603220, 0.606504960595825260, 0.606544713822785300, 0.606584465533383190, 0.606624215727520010, 0.606663964405096180, 0.606703711566012880, 0.606743457210169870, +0.606783201337468210, 0.606822943947808670, 0.606862685041091980, 0.606902424617218330, 0.606942162676088580, 0.606981899217603700, 0.607021634241663780, 0.607061367748169770, +0.607101099737022420, 0.607140830208122590, 0.607180559161370370, 0.607220286596666710, 0.607260012513912370, 0.607299736913008310, 0.607339459793854620, 0.607379181156352250, +0.607418901000401860, 0.607458619325904610, 0.607498336132760500, 0.607538051420870580, 0.607577765190135510, 0.607617477440456350, 0.607657188171733090, 0.607696897383866900, +0.607736605076758860, 0.607776311250308950, 0.607816015904418250, 0.607855719038987500, 0.607895420653917770, 0.607935120749109160, 0.607974819324462850, 0.608014516379879360, +0.608054211915259990, 0.608093905930504720, 0.608133598425514620, 0.608173289400190660, 0.608212978854433710, 0.608252666788144050, 0.608292353201222660, 0.608332038093570390, +0.608371721465088440, 0.608411403315676780, 0.608451083645236700, 0.608490762453669180, 0.608530439740874400, 0.608570115506753550, 0.608609789751207390, 0.608649462474137090, +0.608689133675442860, 0.608728803355025770, 0.608768471512786570, 0.608808138148626670, 0.608847803262446030, 0.608887466854145850, 0.608927128923626990, 0.608966789470790750, +0.609006448495537090, 0.609046105997767430, 0.609085761977382400, 0.609125416434283310, 0.609165069368370340, 0.609204720779544790, 0.609244370667707310, 0.609284019032759310, +0.609323665874600960, 0.609363311193133360, 0.609402954988257920, 0.609442597259874600, 0.609482238007884920, 0.609521877232189650, 0.609561514932689950, 0.609601151109286140, +0.609640785761879520, 0.609680418890370830, 0.609720050494661490, 0.609759680574651690, 0.609799309130242720, 0.609838936161335440, 0.609878561667831160, 0.609918185649630070, +0.609957808106633690, 0.609997429038742660, 0.610037048445858380, 0.610076666327881160, 0.610116282684712300, 0.610155897516253100, 0.610195510822403750, 0.610235122603065670, +0.610274732858139820, 0.610314341587527400, 0.610353948791128810, 0.610393554468845360, 0.610433158620578010, 0.610472761246228180, 0.610512362345696060, 0.610551961918882950, +0.610591559965690030, 0.610631156486018510, 0.610670751479768790, 0.610710344946842180, 0.610749936887139630, 0.610789527300562680, 0.610829116187011520, 0.610868703546387560, +0.610908289378592210, 0.610947873683525880, 0.610987456461089760, 0.611027037711185050, 0.611066617433713040, 0.611106195628574160, 0.611145772295669800, 0.611185347434900940, +0.611224921046169210, 0.611264493129374700, 0.611304063684419030, 0.611343632711203180, 0.611383200209628550, 0.611422766179595680, 0.611462330621005750, 0.611501893533760050, +0.611541454917760020, 0.611581014772905940, 0.611620573099099340, 0.611660129896241410, 0.611699685164233340, 0.611739238902975770, 0.611778791112370100, 0.611818341792317870, +0.611857890942719360, 0.611897438563476110, 0.611936984654489310, 0.611976529215660480, 0.612016072246889810, 0.612055613748079040, 0.612095153719129260, 0.612134692159941980, +0.612174229070417520, 0.612213764450457500, 0.612253298299963110, 0.612292830618835770, 0.612332361406976110, 0.612371890664285430, 0.612411418390665040, 0.612450944586016570, +0.612490469250240310, 0.612529992383237800, 0.612569513984910770, 0.612609034055159540, 0.612648552593885840, 0.612688069600990650, 0.612727585076375590, 0.612767099019941310, +0.612806611431589320, 0.612846122311220710, 0.612885631658737220, 0.612925139474039150, 0.612964645757028360, 0.613004150507605930, 0.613043653725673490, 0.613083155411131560, +0.613122655563881790, 0.613162154183825250, 0.613201651270863790, 0.613241146824897830, 0.613280640845829010, 0.613320133333558950, 0.613359624287988070, 0.613399113709018230, +0.613438601596550610, 0.613478087950486860, 0.613517572770727490, 0.613557056057174250, 0.613596537809728340, 0.613636018028291490, 0.613675496712764110, 0.613714973863048070, +0.613754449479044560, 0.613793923560655320, 0.613833396107780980, 0.613872867120323070, 0.613912336598183010, 0.613951804541262410, 0.613991270949461930, 0.614030735822683420, +0.614070199160828280, 0.614109660963797380, 0.614149121231492230, 0.614188579963814370, 0.614228037160665430, 0.614267492821945930, 0.614306946947557830, 0.614346399537402220, +0.614385850591381070, 0.614425300109394890, 0.614464748091345550, 0.614504194537134230, 0.614543639446662790, 0.614583082819831980, 0.614622524656543430, 0.614661964956698560, +0.614701403720199100, 0.614740840946945810, 0.614780276636840430, 0.614819710789784260, 0.614859143405679260, 0.614898574484426090, 0.614938004025926350, 0.614977432030082040, +0.615016858496793770, 0.615056283425963410, 0.615095706817492260, 0.615135128671282280, 0.615174548987234120, 0.615213967765249500, 0.615253385005230080, 0.615292800707077480, +0.615332214870692450, 0.615371627495976960, 0.615411038582832410, 0.615450448131160680, 0.615489856140862380, 0.615529262611839490, 0.615568667543993420, 0.615608070937226030, +0.615647472791438060, 0.615686873106531470, 0.615726271882408030, 0.615765669118968570, 0.615805064816114970, 0.615844458973748730, 0.615883851591771610, 0.615923242670084580, +0.615962632208589380, 0.616002020207187640, 0.616041406665781110, 0.616080791584270870, 0.616120174962558550, 0.616159556800545790, 0.616198937098134560, 0.616238315855225590, +0.616277693071720760, 0.616317068747521790, 0.616356442882530550, 0.616395815476647680, 0.616435186529775470, 0.616474556041815450, 0.616513924012668800, 0.616553290442237390, +0.616592655330422620, 0.616632018677126690, 0.616671380482250340, 0.616710740745695430, 0.616750099467363810, 0.616789456647157230, 0.616828812284976660, 0.616868166380723950, +0.616907518934300960, 0.616946869945609540, 0.616986219414550560, 0.617025567341025980, 0.617064913724937550, 0.617104258566187110, 0.617143601864675760, 0.617182943620305350, +0.617222283832977610, 0.617261622502594420, 0.617300959629056960, 0.617340295212267080, 0.617379629252126750, 0.617418961748537050, 0.617458292701399850, 0.617497622110616980, +0.617536949976090430, 0.617576276297721160, 0.617615601075411140, 0.617654924309062210, 0.617694245998576250, 0.617733566143854330, 0.617772884744798520, 0.617812201801310470, +0.617851517313292240, 0.617890831280644930, 0.617930143703270480, 0.617969454581070780, 0.618008763913947660, 0.618048071701802430, 0.618087377944536830, 0.618126682642053280, +0.618165985794252640, 0.618205287401037080, 0.618244587462308150, 0.618283885977968240, 0.618323182947918220, 0.618362478372060260, 0.618401772250296130, 0.618441064582527900, +0.618480355368656640, 0.618519644608584440, 0.618558932302213260, 0.618598218449444960, 0.618637503050180840, 0.618676786104322970, 0.618716067611773110, 0.618755347572433450, +0.618794625986205050, 0.618833902852990110, 0.618873178172690720, 0.618912451945208050, 0.618951724170444310, 0.618990994848301220, 0.619030263978680990, 0.619069531561484700, +0.619108797596614640, 0.619148062083972550, 0.619187325023460740, 0.619226586414980180, 0.619265846258433170, 0.619305104553721560, 0.619344361300747550, 0.619383616499412320, +0.619422870149617940, 0.619462122251266400, 0.619501372804259990, 0.619540621808499780, 0.619579869263887970, 0.619619115170326860, 0.619658359527717640, 0.619697602335962490, +0.619736843594963280, 0.619776083304622420, 0.619815321464840970, 0.619854558075521140, 0.619893793136565010, 0.619933026647874750, 0.619972258609351570, 0.620011489020897640, +0.620050717882415060, 0.620089945193806000, 0.620129170954971780, 0.620168395165814680, 0.620207617826236460, 0.620246838936139630, 0.620286058495425400, 0.620325276503995940, +0.620364492961753330, 0.620403707868599770, 0.620442921224436670, 0.620482133029166220, 0.620521343282690820, 0.620560551984911670, 0.620599759135731180, 0.620638964735051200, +0.620678168782774260, 0.620717371278801560, 0.620756572223035370, 0.620795771615377800, 0.620834969455731130, 0.620874165743996680, 0.620913360480076840, 0.620952553663873590, +0.620991745295289220, 0.621030935374225270, 0.621070123900583910, 0.621109310874267240, 0.621148496295177650, 0.621187680163216460, 0.621226862478286180, 0.621266043240289000, +0.621305222449126340, 0.621344400104700600, 0.621383576206913980, 0.621422750755668660, 0.621461923750866170, 0.621501095192408810, 0.621540265080198770, 0.621579433414138350, +0.621618600194129070, 0.621657765420073340, 0.621696929091873020, 0.621736091209430850, 0.621775251772648140, 0.621814410781427180, 0.621853568235670280, 0.621892724135279850, +0.621931878480157190, 0.621971031270204810, 0.622010182505325250, 0.622049332185419910, 0.622088480310391210, 0.622127626880141230, 0.622166771894572590, 0.622205915353586710, +0.622245057257086010, 0.622284197604972670, 0.622323336397149210, 0.622362473633517040, 0.622401609313978700, 0.622440743438436250, 0.622479876006792440, 0.622519007018948470, +0.622558136474807070, 0.622597264374270210, 0.622636390717240640, 0.622675515503619770, 0.622714638733310010, 0.622753760406213660, 0.622792880522233360, 0.622831999081270400, +0.622871116083227540, 0.622910231528007170, 0.622949345415510950, 0.622988457745641270, 0.623027568518300550, 0.623066677733391190, 0.623105785390814740, 0.623144891490473920, +0.623183996032270810, 0.623223099016108060, 0.623262200441887290, 0.623301300309510920, 0.623340398618881350, 0.623379495369901120, 0.623418590562471840, 0.623457684196496050, +0.623496776271876050, 0.623535866788514470, 0.623574955746312830, 0.623614043145173880, 0.623653128985000140, 0.623692213265693130, 0.623731295987155710, 0.623770377149290070, +0.623809456751998730, 0.623848534795183430, 0.623887611278746810, 0.623926686202591170, 0.623965759566619150, 0.624004831370732480, 0.624043901614833580, 0.624082970298824980, +0.624122037422609300, 0.624161102986088290, 0.624200166989164360, 0.624239229431740040, 0.624278290313718070, 0.624317349634999960, 0.624356407395488590, 0.624395463595086350, +0.624434518233695330, 0.624473571311217830, 0.624512622827556490, 0.624551672782613920, 0.624590721176291890, 0.624629768008492900, 0.624668813279119610, 0.624707856988074630, +0.624746899135259600, 0.624785939720577390, 0.624824978743930280, 0.624864016205221140, 0.624903052104351600, 0.624942086441224400, 0.624981119215741950, 0.625020150427807120, +0.625059180077321530, 0.625098208164187930, 0.625137234688309170, 0.625176259649587120, 0.625215283047924290, 0.625254304883223310, 0.625293325155386830, 0.625332343864316800, +0.625371361009915860, 0.625410376592086540, 0.625449390610731570, 0.625488403065752820, 0.625527413957053020, 0.625566423284534710, 0.625605431048100740, 0.625644437247652840, +0.625683441883093770, 0.625722444954326160, 0.625761446461252760, 0.625800446403775410, 0.625839444781796870, 0.625878441595219770, 0.625917436843946960, 0.625956430527880190, +0.625995422646922320, 0.626034413200976300, 0.626073402189943780, 0.626112389613727840, 0.626151375472230990, 0.626190359765355970, 0.626229342493004660, 0.626268323655080010, +0.626307303251484540, 0.626346281282121220, 0.626385257746891910, 0.626424232645699350, 0.626463205978446180, 0.626502177745035470, 0.626541147945368860, 0.626580116579349420, +0.626619083646879680, 0.626658049147862610, 0.626697013082200050, 0.626735975449794980, 0.626774936250550250, 0.626813895484367830, 0.626852853151150800, 0.626891809250801460, +0.626930763783223100, 0.626969716748317360, 0.627008668145987440, 0.627047617976135840, 0.627086566238665430, 0.627125512933478290, 0.627164458060477490, 0.627203401619565450, +0.627242343610645240, 0.627281284033618820, 0.627320222888389290, 0.627359160174859150, 0.627398095892931380, 0.627437030042508060, 0.627475962623492260, 0.627514893635786830, +0.627553823079293750, 0.627592750953916200, 0.627631677259556820, 0.627670601996118460, 0.627709525163503310, 0.627748446761614340, 0.627787366790354300, 0.627826285249626140, +0.627865202139331950, 0.627904117459374800, 0.627943031209657220, 0.627981943390082510, 0.628020854000552630, 0.628059763040970550, 0.628098670511239020, 0.628137576411261220, +0.628176480740939120, 0.628215383500175810, 0.628254284688874120, 0.628293184306937040, 0.628332082354266520, 0.628370978830765870, 0.628409873736338160, 0.628448767070885370, +0.628487658834310790, 0.628526549026516950, 0.628565437647407020, 0.628604324696883320, 0.628643210174848700, 0.628682094081206010, 0.628720976415858560, 0.628759857178708190, +0.628798736369658330, 0.628837613988611490, 0.628876490035470970, 0.628915364510138960, 0.628954237412518550, 0.628993108742512460, 0.629031978500024010, 0.629070846684955160, +0.629109713297209330, 0.629148578336689470, 0.629187441803297890, 0.629226303696937660, 0.629265164017511760, 0.629304022764923140, 0.629342879939074230, 0.629381735539868090, +0.629420589567207590, 0.629459442020996020, 0.629498292901135460, 0.629537142207529100, 0.629575989940080020, 0.629614836098691180, 0.629653680683264990, 0.629692523693704540, +0.629731365129912900, 0.629770204991793040, 0.629809043279247470, 0.629847879992179170, 0.629886715130491550, 0.629925548694086790, 0.629964380682868200, 0.630003211096738620, +0.630042039935601370, 0.630080867199358740, 0.630119692887913920, 0.630158517001169760, 0.630197339539029790, 0.630236160501395970, 0.630274979888171830, 0.630313797699260330, +0.630352613934564540, 0.630391428593986890, 0.630430241677430780, 0.630469053184798960, 0.630507863115994940, 0.630546671470920810, 0.630585478249480080, 0.630624283451575950, +0.630663087077110830, 0.630701889125987900, 0.630740689598110360, 0.630779488493381390, 0.630818285811703290, 0.630857081552979590, 0.630895875717113140, 0.630934668304007350, +0.630973459313564520, 0.631012248745688060, 0.631051036600280950, 0.631089822877246580, 0.631128607576487370, 0.631167390697906620, 0.631206172241407400, 0.631244952206893030, +0.631283730594266010, 0.631322507403429660, 0.631361282634287040, 0.631400056286741560, 0.631438828360695540, 0.631477598856052480, 0.631516367772715800, 0.631555135110587810, +0.631593900869572010, 0.631632665049571500, 0.631671427650489560, 0.631710188672228830, 0.631748948114692510, 0.631787705977783890, 0.631826462261406370, 0.631865216965462270, +0.631903970089855220, 0.631942721634488170, 0.631981471599264770, 0.632020219984087190, 0.632058966788859200, 0.632097712013483750, 0.632136455657864360, 0.632175197721903450, +0.632213938205504530, 0.632252677108571250, 0.632291414431005780, 0.632330150172711880, 0.632368884333592510, 0.632407616913551300, 0.632446347912490770, 0.632485077330314230, +0.632523805166925080, 0.632562531422226850, 0.632601256096121830, 0.632639979188513670, 0.632678700699305650, 0.632717420628401190, 0.632756138975702820, 0.632794855741114050, +0.632833570924538180, 0.632872284525878740, 0.632910996545038240, 0.632949706981920320, 0.632988415836428400, 0.633027123108465100, 0.633065828797934050, 0.633104532904738340, +0.633143235428781700, 0.633181936369966560, 0.633220635728196650, 0.633259333503375150, 0.633298029695405610, 0.633336724304190630, 0.633375417329633980, 0.633414108771638620, +0.633452798630108390, 0.633491486904945830, 0.633530173596054570, 0.633568858703337900, 0.633607542226699350, 0.633646224166041660, 0.633684904521268470, 0.633723583292282950, +0.633762260478988760, 0.633800936081288620, 0.633839610099086180, 0.633878282532285060, 0.633916953380787800, 0.633955622644498230, 0.633994290323319550, 0.634032956417155510, +0.634071620925908740, 0.634110283849482980, 0.634148945187781420, 0.634187604940707920, 0.634226263108164990, 0.634264919690056490, 0.634303574686285620, 0.634342228096756220, +0.634380879921370820, 0.634419530160033270, 0.634458178812646880, 0.634496825879115380, 0.634535471359341520, 0.634574115253228930, 0.634612757560681360, 0.634651398281601660, +0.634690037415893360, 0.634728674963460080, 0.634767310924205350, 0.634805945298032030, 0.634844578084843960, 0.634883209284544340, 0.634921838897037020, 0.634960466922224740, +0.634999093360011370, 0.635037718210300190, 0.635076341472995190, 0.635114963147998870, 0.635153583235215200, 0.635192201734547490, 0.635230818645899700, 0.635269433969174570, +0.635308047704275740, 0.635346659851107170, 0.635385270409571600, 0.635423879379572900, 0.635462486761014470, 0.635501092553800160, 0.635539696757832840, 0.635578299373016240, +0.635616900399253780, 0.635655499836449530, 0.635694097684506240, 0.635732693943327650, 0.635771288612817290, 0.635809881692879000, 0.635848473183415750, 0.635887063084331290, +0.635925651395529260, 0.635964238116913380, 0.636002823248386530, 0.636041406789852660, 0.636079988741215630, 0.636118569102378180, 0.636157147873244400, 0.636195725053717690, +0.636234300643702120, 0.636272874643100340, 0.636311447051816410, 0.636350017869753870, 0.636388587096816670, 0.636427154732907670, 0.636465720777930730, 0.636504285231789480, +0.636542848094387880, 0.636581409365628790, 0.636619969045416180, 0.636658527133653670, 0.636697083630245240, 0.636735638535093740, 0.636774191848103020, 0.636812743569176940, +0.636851293698219360, 0.636889842235133120, 0.636928389179822310, 0.636966934532190890, 0.637005478292141710, 0.637044020459578970, 0.637082561034406080, 0.637121100016527110, +0.637159637405845140, 0.637198173202264020, 0.637236707405687500, 0.637275240016019540, 0.637313771033163110, 0.637352300457022290, 0.637390828287500710, 0.637429354524502330, +0.637467879167930350, 0.637506402217688510, 0.637544923673680760, 0.637583443535811090, 0.637621961803982450, 0.637660478478098810, 0.637698993558064480, 0.637737507043782180, +0.637776018935156230, 0.637814529232090140, 0.637853037934488110, 0.637891545042253090, 0.637930050555289290, 0.637968554473500320, 0.638007056796790260, 0.638045557525062310, +0.638084056658220430, 0.638122554196168370, 0.638161050138810300, 0.638199544486049210, 0.638238037237789380, 0.638276528393934340, 0.638315017954388390, 0.638353505919054490, +0.638391992287836940, 0.638430477060639600, 0.638468960237365880, 0.638507441817919630, 0.638545921802204820, 0.638584400190125520, 0.638622876981584930, 0.638661352176487120, +0.638699825774735940, 0.638738297776235590, 0.638776768180889130, 0.638815236988600650, 0.638853704199274230, 0.638892169812813830, 0.638930633829122630, 0.638969096248104830, +0.639007557069664280, 0.639046016293705280, 0.639084473920130790, 0.639122929948845230, 0.639161384379752230, 0.639199837212756190, 0.639238288447760210, 0.639276738084668450, +0.639315186123385230, 0.639353632563813720, 0.639392077405858130, 0.639430520649422300, 0.639468962294410530, 0.639507402340726010, 0.639545840788272920, 0.639584277636955360, +0.639622712886677380, 0.639661146537342300, 0.639699578588854290, 0.639738009041117440, 0.639776437894035820, 0.639814865147512850, 0.639853290801452590, 0.639891714855759240, +0.639930137310336880, 0.639968558165088800, 0.640006977419919300, 0.640045395074732790, 0.640083811129432470, 0.640122225583922510, 0.640160638438107110, 0.640199049691890340, +0.640237459345175730, 0.640275867397867350, 0.640314273849869390, 0.640352678701086030, 0.640391081951420690, 0.640429483600777560, 0.640467883649060710, 0.640506282096174660, +0.640544678942022380, 0.640583074186508510, 0.640621467829536880, 0.640659859871012040, 0.640698250310837050, 0.640736639148916540, 0.640775026385154820, 0.640813412019455080, +0.640851796051721820, 0.640890178481859140, 0.640928559309771330, 0.640966938535361800, 0.641005316158534840, 0.641043692179194660, 0.641082066597245650, 0.641120439412591000, +0.641158810625135360, 0.641197180234782560, 0.641235548241437250, 0.641273914645002720, 0.641312279445383380, 0.641350642642483430, 0.641389004236207150, 0.641427364226457960, +0.641465722613140390, 0.641504079396158940, 0.641542434575416820, 0.641580788150818760, 0.641619140122268620, 0.641657490489671020, 0.641695839252929280, 0.641734186411948020, +0.641772531966631310, 0.641810875916883570, 0.641849218262608320, 0.641887559003709970, 0.641925898140092820, 0.641964235671661170, 0.642002571598318640, 0.642040905919969650, +0.642079238636518390, 0.642117569747869490, 0.642155899253926240, 0.642194227154593180, 0.642232553449774590, 0.642270878139375000, 0.642309201223297820, 0.642347522701447680, +0.642385842573729100, 0.642424160840045500, 0.642462477500301610, 0.642500792554401400, 0.642539106002249620, 0.642577417843749670, 0.642615728078806290, 0.642654036707323460, +0.642692343729205920, 0.642730649144357290, 0.642768952952681880, 0.642807255154084210, 0.642845555748468690, 0.642883854735738950, 0.642922152115799510, 0.642960447888554780, +0.642998742053909170, 0.643037034611766420, 0.643075325562031170, 0.643113614904607830, 0.643151902639400140, 0.643190188766312730, 0.643228473285249790, 0.643266756196116060, +0.643305037498815070, 0.643343317193251550, 0.643381595279329700, 0.643419871756954140, 0.643458146626028630, 0.643496419886457780, 0.643534691538145800, 0.643572961580997420, +0.643611230014916380, 0.643649496839807210, 0.643687762055574320, 0.643726025662122340, 0.643764287659355010, 0.643802548047176960, 0.643840806825492830, 0.643879063994206360, +0.643917319553222180, 0.643955573502444810, 0.643993825841778780, 0.644032076571127820, 0.644070325690396680, 0.644108573199489780, 0.644146819098311730, 0.644185063386766400, +0.644223306064758310, 0.644261547132191970, 0.644299786588972130, 0.644338024435002430, 0.644376260670187720, 0.644414495294432290, 0.644452728307641000, 0.644490959709717590, +0.644529189500566810, 0.644567417680092960, 0.644605644248200990, 0.644643869204794440, 0.644682092549778370, 0.644720314283057320, 0.644758534404535230, 0.644796752914116640, +0.644834969811706290, 0.644873185097208920, 0.644911398770528050, 0.644949610831568880, 0.644987821280235570, 0.645026030116433110, 0.645064237340065130, 0.645102442951036690, +0.645140646949252110, 0.645178849334616220, 0.645217050107032790, 0.645255249266406870, 0.645293446812642780, 0.645331642745645360, 0.645369837065318590, 0.645408029771567190, +0.645446220864296040, 0.645484410343408980, 0.645522598208810860, 0.645560784460406320, 0.645598969098100220, 0.645637152121796290, 0.645675333531399390, 0.645713513326814260, +0.645751691507945650, 0.645789868074697520, 0.645828043026974720, 0.645866216364681670, 0.645904388087723550, 0.645942558196004100, 0.645980726689428300, 0.646018893567900650, +0.646057058831326030, 0.646095222479608490, 0.646133384512652900, 0.646171544930364220, 0.646209703732646300, 0.646247860919404000, 0.646286016490542180, 0.646324170445965680, +0.646362322785578370, 0.646400473509285310, 0.646438622616991030, 0.646476770108600500, 0.646514915984017670, 0.646553060243147630, 0.646591202885894890, 0.646629343912164530, +0.646667483321860530, 0.646705621114887720, 0.646743757291150860, 0.646781891850555010, 0.646820024793004040, 0.646858156118403030, 0.646896285826656590, 0.646934413917669810, +0.646972540391346660, 0.647010665247592100, 0.647048788486311200, 0.647086910107408150, 0.647125030110787700, 0.647163148496354700, 0.647201265264014220, 0.647239380413670130, +0.647277493945227710, 0.647315605858591490, 0.647353716153666550, 0.647391824830357070, 0.647429931888567900, 0.647468037328204020, 0.647506141149170380, 0.647544243351371060, +0.647582343934711040, 0.647620442899095260, 0.647658540244428590, 0.647696635970615330, 0.647734730077560440, 0.647772822565169100, 0.647810913433345400, 0.647849002681994300, +0.647887090311020760, 0.647925176320329870, 0.647963260709825680, 0.648001343479413290, 0.648039424628997550, 0.648077504158483640, 0.648115582067775640, 0.648153658356778630, +0.648191733025397450, 0.648229806073537420, 0.648267877501102370, 0.648305947307997730, 0.648344015494128120, 0.648382082059398850, 0.648420147003714090, 0.648458210326978920, +0.648496272029098650, 0.648534332109977240, 0.648572390569520100, 0.648610447407631850, 0.648648502624217920, 0.648686556219182360, 0.648724608192430500, 0.648762658543867050, +0.648800707273397230, 0.648838754380925420, 0.648876799866356600, 0.648914843729595850, 0.648952885970548340, 0.648990926589118280, 0.649028965585210840, 0.649067002958731100, +0.649105038709584140, 0.649143072837674250, 0.649181105342906630, 0.649219136225186570, 0.649257165484418360, 0.649295193120507320, 0.649333219133358170, 0.649371243522876450, +0.649409266288966220, 0.649447287431532790, 0.649485306950481120, 0.649523324845716620, 0.649561341117143360, 0.649599355764666760, 0.649637368788191890, 0.649675380187623830, +0.649713389962866980, 0.649751398113826650, 0.649789404640407910, 0.649827409542515940, 0.649865412820055170, 0.649903414472930760, 0.649941414501047920, 0.649979412904311830, +0.650017409682626780, 0.650055404835898300, 0.650093398364031680, 0.650131390266931230, 0.650169380544502240, 0.650207369196649790, 0.650245356223279280, 0.650283341624295020, +0.650321325399602520, 0.650359307549106540, 0.650397288072712800, 0.650435266970325390, 0.650473244241849820, 0.650511219887191180, 0.650549193906254760, 0.650587166298945090, +0.650625137065167450, 0.650663106204827040, 0.650701073717829150, 0.650739039604078200, 0.650777003863479700, 0.650814966495939060, 0.650852927501360590, 0.650890886879649910, +0.650928844630711880, 0.650966800754452120, 0.651004755250775060, 0.651042708119586090, 0.651080659360790400, 0.651118608974293300, 0.651156556959999410, 0.651194503317814140, +0.651232448047642580, 0.651270391149390230, 0.651308332622961620, 0.651346272468262160, 0.651384210685197030, 0.651422147273671650, 0.651460082233590530, 0.651498015564859310, +0.651535947267383290, 0.651573877341067200, 0.651611805785816230, 0.651649732601535910, 0.651687657788131540, 0.651725581345507730, 0.651763503273569910, 0.651801423572223370, +0.651839342241373520, 0.651877259280925100, 0.651915174690783420, 0.651953088470853870, 0.651991000621041980, 0.652028911141252170, 0.652066820031390050, 0.652104727291360930, +0.652142632921070440, 0.652180536920422880, 0.652218439289323990, 0.652256340027679070, 0.652294239135393640, 0.652332136612372220, 0.652370032458520430, 0.652407926673744030, +0.652445819257947420, 0.652483710211036130, 0.652521599532915660, 0.652559487223491660, 0.652597373282668420, 0.652635257710351800, 0.652673140506447090, 0.652711021670859810, +0.652748901203494600, 0.652786779104257200, 0.652824655373052900, 0.652862530009787220, 0.652900403014364920, 0.652938274386691610, 0.652976144126672600, 0.653014012234213510, +0.653051878709219100, 0.653089743551594990, 0.653127606761246930, 0.653165468338079420, 0.653203328281998340, 0.653241186592908860, 0.653279043270716730, 0.653316898315326690, +0.653354751726644480, 0.653392603504575290, 0.653430453649024970, 0.653468302159898150, 0.653506149037100580, 0.653543994280537670, 0.653581837890115040, 0.653619679865737550, +0.653657520207310830, 0.653695358914740290, 0.653733195987931780, 0.653771031426789830, 0.653808865231220390, 0.653846697401129110, 0.653884527936420710, 0.653922356837000950, +0.653960184102775340, 0.653998009733649630, 0.654035833729528560, 0.654073656090317980, 0.654111476815923080, 0.654149295906249930, 0.654187113361203280, 0.654224929180688750, +0.654262743364611880, 0.654300555912878500, 0.654338366825393480, 0.654376176102062450, 0.654413983742791030, 0.654451789747484970, 0.654489594116049120, 0.654527396848389230, +0.654565197944411150, 0.654602997404019840, 0.654640795227121040, 0.654678591413620170, 0.654716385963423190, 0.654754178876434940, 0.654791970152561190, 0.654829759791707540, +0.654867547793779870, 0.654905334158682910, 0.654943118886322730, 0.654980901976604630, 0.655018683429434700, 0.655056463244717670, 0.655094241422359500, 0.655132017962265830, +0.655169792864342290, 0.655207566128494070, 0.655245337754626790, 0.655283107742646200, 0.655320876092458260, 0.655358642803967720, 0.655396407877080640, 0.655434171311702900, +0.655471933107739320, 0.655509693265095890, 0.655547451783678240, 0.655585208663392320, 0.655622963904143100, 0.655660717505836320, 0.655698469468377840, 0.655736219791673510, +0.655773968475628300, 0.655811715520148280, 0.655849460925138850, 0.655887204690506100, 0.655924946816154990, 0.655962687301991590, 0.656000426147921420, 0.656038163353850460, +0.656075898919683880, 0.656113632845327530, 0.656151365130687390, 0.656189095775668530, 0.656226824780176910, 0.656264552144118160, 0.656302277867398480, 0.656340001949922700, +0.656377724391596920, 0.656415445192326860, 0.656453164352018610, 0.656490881870576910, 0.656528597747908170, 0.656566311983917910, 0.656604024578512190, 0.656641735531595990, +0.656679444843075500, 0.656717152512856450, 0.656754858540844810, 0.656792562926945770, 0.656830265671065280, 0.656867966773109440, 0.656905666232983300, 0.656943364050593060, +0.656981060225844350, 0.657018754758643350, 0.657056447648895150, 0.657094138896505810, 0.657131828501381190, 0.657169516463427250, 0.657207202782549290, 0.657244887458653170, +0.657282570491644960, 0.657320251881430620, 0.657357931627915230, 0.657395609731005190, 0.657433286190605930, 0.657470961006623940, 0.657508634178964100, 0.657546305707532810, +0.657583975592235690, 0.657621643832978940, 0.657659310429667740, 0.657696975382208280, 0.657734638690506750, 0.657772300354468210, 0.657809960373998970, 0.657847618749004880, +0.657885275479392020, 0.657922930565065570, 0.657960584005931940, 0.657998235801896760, 0.658035885952866330, 0.658073534458745830, 0.658111181319441570, 0.658148826534859290, +0.658186470104905390, 0.658224112029484830, 0.658261752308504030, 0.658299390941868960, 0.658337027929485560, 0.658374663271259370, 0.658412296967096580, 0.658449929016903250, +0.658487559420584900, 0.658525188178047500, 0.658562815289197250, 0.658600440753940310, 0.658638064572181770, 0.658675686743828260, 0.658713307268785410, 0.658750926146959740, +0.658788543378256320, 0.658826158962581570, 0.658863772899841440, 0.658901385189942120, 0.658938995832789140, 0.658976604828288570, 0.659014212176346480, 0.659051817876869280, +0.659089421929762160, 0.659127024334931530, 0.659164625092283570, 0.659202224201723810, 0.659239821663158420, 0.659277417476493600, 0.659315011641635420, 0.659352604158489400, +0.659390195026961940, 0.659427784246959030, 0.659465371818386830, 0.659502957741150970, 0.659540542015157770, 0.659578124640313180, 0.659615705616523500, 0.659653284943694350, +0.659690862621731930, 0.659728438650542430, 0.659766013030032020, 0.659803585760106340, 0.659841156840671680, 0.659878726271634570, 0.659916294052900200, 0.659953860184375070, +0.659991424665965280, 0.660028987497577320, 0.660066548679116630, 0.660104108210489480, 0.660141666091601960, 0.660179222322360810, 0.660216776902671110, 0.660254329832439590, +0.660291881111572110, 0.660329430739975410, 0.660366978717554680, 0.660404525044216540, 0.660442069719867190, 0.660479612744412910, 0.660517154117759240, 0.660554693839812690, +0.660592231910479440, 0.660629768329665910, 0.660667303097277610, 0.660704836213221180, 0.660742367677402910, 0.660779897489728320, 0.660817425650104040, 0.660854952158436260, +0.660892477014631390, 0.660930000218594940, 0.660967521770233550, 0.661005041669453290, 0.661042559916160790, 0.661080076510261570, 0.661117591451662160, 0.661155104740268840, +0.661192616375988030, 0.661230126358725360, 0.661267634688387340, 0.661305141364880170, 0.661342646388110580, 0.661380149757984090, 0.661417651474407120, 0.661455151537286400, +0.661492649946527460, 0.661530146702036910, 0.661567641803720960, 0.661605135251486230, 0.661642627045238350, 0.661680117184883950, 0.661717605670329220, 0.661755092501480790, +0.661792577678244290, 0.661830061200526340, 0.661867543068233370, 0.661905023281271650, 0.661942501839547280, 0.661979978742966440, 0.662017453991435740, 0.662054927584861840, +0.662092399523150130, 0.662129869806207470, 0.662167338433940600, 0.662204805406254930, 0.662242270723057190, 0.662279734384253800, 0.662317196389751510, 0.662354656739455820, +0.662392115433273480, 0.662429572471110890, 0.662467027852874700, 0.662504481578470640, 0.662541933647805230, 0.662579384060785090, 0.662616832817316870, 0.662654279917306190, +0.662691725360659790, 0.662729169147284080, 0.662766611277085800, 0.662804051749970700, 0.662841490565845400, 0.662878927724616320, 0.662916363226190410, 0.662953797070473190, +0.662991229257371420, 0.663028659786791930, 0.663066088658640580, 0.663103515872823900, 0.663140941429248400, 0.663178365327820930, 0.663215787568447230, 0.663253208151034060, +0.663290627075487800, 0.663328044341715330, 0.663365459949622480, 0.663402873899115900, 0.663440286190102200, 0.663477696822488140, 0.663515105796179450, 0.663552513111082990, +0.663589918767105270, 0.663627322764153040, 0.663664725102132260, 0.663702125780949560, 0.663739524800512020, 0.663776922160725260, 0.663814317861496140, 0.663851711902731290, +0.663889104284337450, 0.663926495006220590, 0.663963884068287440, 0.664001271470444520, 0.664038657212598920, 0.664076041294656140, 0.664113423716523380, 0.664150804478107040, +0.664188183579314080, 0.664225561020050260, 0.664262936800222530, 0.664300310919737510, 0.664337683378501960, 0.664375054176421950, 0.664412423313404330, 0.664449790789355950, +0.664487156604182670, 0.664524520757791670, 0.664561883250089250, 0.664599244080982480, 0.664636603250377210, 0.664673960758180530, 0.664711316604298940, 0.664748670788639310, +0.664786023311107700, 0.664823374171611080, 0.664860723370055970, 0.664898070906349450, 0.664935416780397360, 0.664972760992106780, 0.665010103541384230, 0.665047444428136790, +0.665084783652270420, 0.665122121213692070, 0.665159457112308730, 0.665196791348026450, 0.665234123920752210, 0.665271454830392630, 0.665308784076854790, 0.665346111660044540, +0.665383437579869170, 0.665420761836235110, 0.665458084429049520, 0.665495405358218270, 0.665532724623648650, 0.665570042225247180, 0.665607358162920940, 0.665644672436575880, +0.665681985046119310, 0.665719295991457630, 0.665756605272498140, 0.665793912889146800, 0.665831218841310580, 0.665868523128896330, 0.665905825751811230, 0.665943126709961140, +0.665980426003253250, 0.666017723631594620, 0.666055019594891330, 0.666092313893050570, 0.666129606525978970, 0.666166897493583600, 0.666204186795770760, 0.666241474432447410, +0.666278760403520410, 0.666316044708896830, 0.666353327348482850, 0.666390608322185440, 0.666427887629911670, 0.666465165271568400, 0.666502441247061930, 0.666539715556299320, +0.666576988199187430, 0.666614259175633330, 0.666651528485543430, 0.666688796128824590, 0.666726062105384100, 0.666763326415128140, 0.666800589057963800, 0.666837850033798030, +0.666875109342538020, 0.666912366984089840, 0.666949622958360800, 0.666986877265257630, 0.667024129904687620, 0.667061380876557090, 0.667098630180772870, 0.667135877817242260, +0.667173123785872240, 0.667210368086569080, 0.667247610719239990, 0.667284851683791810, 0.667322090980131840, 0.667359328608166380, 0.667396564567802610, 0.667433798858947710, +0.667471031481507990, 0.667508262435390740, 0.667545491720502810, 0.667582719336751510, 0.667619945284043000, 0.667657169562284710, 0.667694392171383380, 0.667731613111246510, +0.667768832381780310, 0.667806049982891950, 0.667843265914488390, 0.667880480176477050, 0.667917692768764340, 0.667954903691257210, 0.667992112943862850, 0.668029320526488670, +0.668066526439040740, 0.668103730681426480, 0.668140933253552950, 0.668178134155327340, 0.668215333386656170, 0.668252530947446630, 0.668289726837606010, 0.668326921057040830, +0.668364113605658390, 0.668401304483365540, 0.668438493690069800, 0.668475681225677580, 0.668512867090096050, 0.668550051283232420, 0.668587233804993960, 0.668624414655287100, +0.668661593834019240, 0.668698771341097340, 0.668735947176428920, 0.668773121339920170, 0.668810293831478720, 0.668847464651011530, 0.668884633798426000, 0.668921801273628550, +0.668958967076526580, 0.668996131207027500, 0.669033293665037830, 0.669070454450464870, 0.669107613563215800, 0.669144771003198020, 0.669181926770317960, 0.669219080864483120, +0.669256233285600580, 0.669293384033577740, 0.669330533108321140, 0.669367680509738160, 0.669404826237736120, 0.669441970292222190, 0.669479112673103120, 0.669516253380286200, +0.669553392413678620, 0.669590529773188000, 0.669627665458720660, 0.669664799470184090, 0.669701931807485940, 0.669739062470532610, 0.669776191459231620, 0.669813318773490150, +0.669850444413215730, 0.669887568378314870, 0.669924690668695090, 0.669961811284263580, 0.669998930224927850, 0.670036047490594420, 0.670073163081170930, 0.670110276996564560, +0.670147389236682820, 0.670184499801432240, 0.670221608690720450, 0.670258715904454630, 0.670295821442542290, 0.670332925304890080, 0.670370027491405620, 0.670407128001996420, +0.670444226836569010, 0.670481323995031130, 0.670518419477289850, 0.670555513283252800, 0.670592605412826730, 0.670629695865919140, 0.670666784642437340, 0.670703871742288850, +0.670740957165380400, 0.670778040911619520, 0.670815122980913610, 0.670852203373170090, 0.670889282088295790, 0.670926359126198360, 0.670963434486784970, 0.671000508169963260, +0.671037580175640080, 0.671074650503722840, 0.671111719154119050, 0.671148786126736230, 0.671185851421481130, 0.671222915038261370, 0.671259976976984700, 0.671297037237557850, +0.671334095819888230, 0.671371152723883480, 0.671408207949451220, 0.671445261496497970, 0.671482313364931690, 0.671519363554659580, 0.671556412065589360, 0.671593458897627780, +0.671630504050682590, 0.671667547524661180, 0.671704589319471190, 0.671741629435019360, 0.671778667871213540, 0.671815704627960920, 0.671852739705169450, 0.671889773102745890, +0.671926804820597750, 0.671963834858632980, 0.672000863216758340, 0.672037889894881450, 0.672074914892909940, 0.672111938210751440, 0.672148959848312690, 0.672185979805501650, +0.672222998082225520, 0.672260014678392360, 0.672297029593908800, 0.672334042828682590, 0.672371054382621350, 0.672408064255632820, 0.672445072447623750, 0.672482078958501980, +0.672519083788175040, 0.672556086936550780, 0.672593088403535930, 0.672630088189038360, 0.672667086292965900, 0.672704082715225300, 0.672741077455724650, 0.672778070514371220, +0.672815061891072990, 0.672852051585736800, 0.672889039598270400, 0.672926025928581420, 0.672963010576577700, 0.672999993542166110, 0.673036974825254600, 0.673073954425750580, +0.673110932343562120, 0.673147908578595850, 0.673184883130759970, 0.673221855999961760, 0.673258827186109300, 0.673295796689109330, 0.673332764508870030, 0.673369730645298700, +0.673406695098303420, 0.673443657867791030, 0.673480618953669620, 0.673517578355846910, 0.673554536074229880, 0.673591492108726600, 0.673628446459244580, 0.673665399125691680, +0.673702350107975080, 0.673739299406002520, 0.673776247019681640, 0.673813192948920610, 0.673850137193626190, 0.673887079753706430, 0.673924020629069090, 0.673960959819621900, +0.673997897325272040, 0.674034833145927380, 0.674071767281495650, 0.674108699731884920, 0.674145630497002050, 0.674182559576755100, 0.674219486971052050, 0.674256412679799970, +0.674293336702906920, 0.674330259040280430, 0.674367179691828690, 0.674404098657458650, 0.674441015937078390, 0.674477931530595540, 0.674514845437918180, 0.674551757658953480, +0.674588668193609300, 0.674625577041793490, 0.674662484203414010, 0.674699389678378060, 0.674736293466593580, 0.674773195567968440, 0.674810095982410600, 0.674846994709827120, +0.674883891750126310, 0.674920787103216010, 0.674957680769003420, 0.674994572747396600, 0.675031463038303300, 0.675068351641631810, 0.675105238557288990, 0.675142123785183120, +0.675179007325221960, 0.675215889177313680, 0.675252769341365240, 0.675289647817284840, 0.675326524604980440, 0.675363399704359990, 0.675400273115330680, 0.675437144837800820, +0.675474014871678020, 0.675510883216870470, 0.675547749873285360, 0.675584614840830990, 0.675621478119415310, 0.675658339708945730, 0.675695199609330220, 0.675732057820476630, +0.675768914342293360, 0.675805769174687490, 0.675842622317567090, 0.675879473770840120, 0.675916323534414890, 0.675953171608198460, 0.675990017992099120, 0.676026862686024740, +0.676063705689883500, 0.676100547003582800, 0.676137386627030600, 0.676174224560134980, 0.676211060802804020, 0.676247895354945230, 0.676284728216466680, 0.676321559387276230, +0.676358388867282280, 0.676395216656392020, 0.676432042754513630, 0.676468867161555630, 0.676505689877424990, 0.676542510902030210, 0.676579330235279050, 0.676616147877080020, +0.676652963827340190, 0.676689778085967970, 0.676726590652871440, 0.676763401527958660, 0.676800210711136940, 0.676837018202314900, 0.676873824001400170, 0.676910628108301270, +0.676947430522925390, 0.676984231245181030, 0.677021030274976070, 0.677057827612218780, 0.677094623256816690, 0.677131417208677980, 0.677168209467711170, 0.677205000033823450, +0.677241788906923100, 0.677278576086918440, 0.677315361573717630, 0.677352145367228100, 0.677388927467358130, 0.677425707874015900, 0.677462486587109720, 0.677499263606547000, +0.677536038932236130, 0.677572812564085190, 0.677609584502002480, 0.677646354745895520, 0.677683123295672600, 0.677719890151242010, 0.677756655312511840, 0.677793418779389920, +0.677830180551784340, 0.677866940629603620, 0.677903699012755160, 0.677940455701147580, 0.677977210694688860, 0.678013963993287390, 0.678050715596850710, 0.678087465505287200, +0.678124213718505060, 0.678160960236412700, 0.678197705058917630, 0.678234448185928260, 0.678271189617352780, 0.678307929353099690, 0.678344667393076420, 0.678381403737191470, +0.678418138385353030, 0.678454871337469510, 0.678491602593448540, 0.678528332153198630, 0.678565060016627860, 0.678601786183644750, 0.678638510654156810, 0.678675233428072570, +0.678711954505300640, 0.678748673885748440, 0.678785391569324600, 0.678822107555937300, 0.678858821845495060, 0.678895534437905400, 0.678932245333076940, 0.678968954530917770, +0.679005662031336720, 0.679042367834240990, 0.679079071939539420, 0.679115774347140210, 0.679152475056951870, 0.679189174068882020, 0.679225871382839190, 0.679262566998731780, +0.679299260916468190, 0.679335953135956180, 0.679372643657104260, 0.679409332479821050, 0.679446019604014180, 0.679482705029592290, 0.679519388756463560, 0.679556070784536730, +0.679592751113719420, 0.679629429743920270, 0.679666106675047450, 0.679702781907009830, 0.679739455439714810, 0.679776127273071130, 0.679812797406987190, 0.679849465841371630, +0.679886132576131950, 0.679922797611177020, 0.679959460946415130, 0.679996122581754790, 0.680032782517103970, 0.680069440752371080, 0.680106097287464960, 0.680142752122293250, +0.680179405256764680, 0.680216056690787660, 0.680252706424270710, 0.680289354457121800, 0.680326000789249320, 0.680362645420562020, 0.680399288350968300, 0.680435929580376130, +0.680472569108694140, 0.680509206935830610, 0.680545843061694520, 0.680582477486193380, 0.680619110209236160, 0.680655741230731030, 0.680692370550586960, 0.680728998168711690, +0.680765624085013840, 0.680802248299402280, 0.680838870811784850, 0.680875491622070060, 0.680912110730166660, 0.680948728135983390, 0.680985343839427880, 0.681021957840408980, +0.681058570138835200, 0.681095180734615390, 0.681131789627657190, 0.681168396817869670, 0.681205002305161010, 0.681241606089440290, 0.681278208170615130, 0.681314808548594500, +0.681351407223286800, 0.681388004194600990, 0.681424599462444820, 0.681461193026727140, 0.681497784887356460, 0.681534375044241640, 0.681570963497290520, 0.681607550246412060, +0.681644135291515020, 0.681680718632507340, 0.681717300269297890, 0.681753880201795060, 0.681790458429908040, 0.681827034953544460, 0.681863609772613290, 0.681900182887023030, +0.681936754296682770, 0.681973324001500240, 0.682009892001384400, 0.682046458296243770, 0.682083022885987320, 0.682119585770523120, 0.682156146949759900, 0.682192706423606190, +0.682229264191971160, 0.682265820254762680, 0.682302374611889580, 0.682338927263260840, 0.682375478208784520, 0.682412027448369480, 0.682448574981924350, 0.682485120809358190, +0.682521664930578860, 0.682558207345495330, 0.682594748054016320, 0.682631287056050700, 0.682667824351506640, 0.682704359940292990, 0.682740893822318400, 0.682777425997491920, +0.682813956465721520, 0.682850485226916270, 0.682887012280984810, 0.682923537627836200, 0.682960061267378290, 0.682996583199520280, 0.683033103424171230, 0.683069621941238990, +0.683106138750632750, 0.683142653852261140, 0.683179167246033110, 0.683215678931856970, 0.683252188909641680, 0.683288697179295750, 0.683325203740728580, 0.683361708593847930, +0.683398211738563080, 0.683434713174782660, 0.683471212902415860, 0.683507710921370640, 0.683544207231556180, 0.683580701832881220, 0.683617194725254730, 0.683653685908585000, +0.683690175382781100, 0.683726663147751660, 0.683763149203405970, 0.683799633549652010, 0.683836116186399060, 0.683872597113556080, 0.683909076331031260, 0.683945553838733790, +0.683982029636572400, 0.684018503724456270, 0.684054976102293600, 0.684091446769993450, 0.684127915727464790, 0.684164382974616570, 0.684200848511356980, 0.684237312337595440, +0.684273774453240560, 0.684310234858201530, 0.684346693552386530, 0.684383150535704980, 0.684419605808065380, 0.684456059369377150, 0.684492511219548460, 0.684528961358488510, +0.684565409786106470, 0.684601856502310540, 0.684638301507010110, 0.684674744800113810, 0.684711186381530950, 0.684747626251169810, 0.684784064408939570, 0.684820500854749330, +0.684856935588508020, 0.684893368610124060, 0.684929799919506750, 0.684966229516564830, 0.685002657401207800, 0.685039083573343750, 0.685075508032881860, 0.685111930779731430, +0.685148351813801290, 0.685184771135000090, 0.685221188743236900, 0.685257604638421000, 0.685294018820460930, 0.685330431289265630, 0.685366842044744410, 0.685403251086806330, +0.685439658415359810, 0.685476064030314140, 0.685512467931578270, 0.685548870119061630, 0.685585270592672490, 0.685621669352320050, 0.685658066397913600, 0.685694461729362210, +0.685730855346574410, 0.685767247249459370, 0.685803637437926270, 0.685840025911884420, 0.685876412671242220, 0.685912797715908850, 0.685949181045793940, 0.685985562660805680, +0.686021942560853580, 0.686058320745846610, 0.686094697215694050, 0.686131071970304540, 0.686167445009587370, 0.686203816333451510, 0.686240185941806470, 0.686276553834560650, +0.686312920011623360, 0.686349284472903890, 0.686385647218311520, 0.686422008247754680, 0.686458367561142760, 0.686494725158384940, 0.686531081039390760, 0.686567435204068380, +0.686603787652327550, 0.686640138384077230, 0.686676487399226820, 0.686712834697684850, 0.686749180279360830, 0.686785524144164160, 0.686821866292003480, 0.686858206722787970, +0.686894545436427030, 0.686930882432830070, 0.686967217711905500, 0.687003551273563050, 0.687039883117711580, 0.687076213244260710, 0.687112541653119080, 0.687148868344195970, +0.687185193317400800, 0.687221516572642970, 0.687257838109830990, 0.687294157928874380, 0.687330476029682450, 0.687366792412164580, 0.687403107076229420, 0.687439420021786600, +0.687475731248745390, 0.687512040757014660, 0.687548348546503710, 0.687584654617122040, 0.687620958968778950, 0.687657261601383190, 0.687693562514844150, 0.687729861709071360, +0.687766159183974100, 0.687802454939461240, 0.687838748975442280, 0.687875041291826310, 0.687911331888523160, 0.687947620765441250, 0.687983907922490420, 0.688020193359579760, +0.688056477076618880, 0.688092759073516640, 0.688129039350182330, 0.688165317906525800, 0.688201594742455680, 0.688237869857881600, 0.688274143252712860, 0.688310414926858960, +0.688346684880228770, 0.688382953112731900, 0.688419219624277660, 0.688455484414775660, 0.688491747484134550, 0.688528008832264170, 0.688564268459073700, 0.688600526364473000, +0.688636782548370570, 0.688673037010676170, 0.688709289751299190, 0.688745540770149380, 0.688781790067135360, 0.688818037642166870, 0.688854283495153210, 0.688890527626004220, +0.688926770034628540, 0.688963010720936020, 0.688999249684836280, 0.689035486926238060, 0.689071722445051100, 0.689107956241184930, 0.689144188314549040, 0.689180418665052530, +0.689216647292604900, 0.689252874197115670, 0.689289099378494470, 0.689325322836650270, 0.689361544571492790, 0.689397764582931450, 0.689433982870875980, 0.689470199435235240, +0.689506414275919080, 0.689542627392836780, 0.689578838785898320, 0.689615048455012420, 0.689651256400088840, 0.689687462621037530, 0.689723667117767110, 0.689759869890187670, +0.689796070938208490, 0.689832270261739430, 0.689868467860689450, 0.689904663734968170, 0.689940857884485340, 0.689977050309150690, 0.690013241008872960, 0.690049429983562220, +0.690085617233128000, 0.690121802757479920, 0.690157986556527050, 0.690194168630179240, 0.690230348978346010, 0.690266527600937210, 0.690302704497861800, 0.690338879669029630, +0.690375053114350550, 0.690411224833733520, 0.690447394827088390, 0.690483563094324790, 0.690519729635352690, 0.690555894450080810, 0.690592057538419350, 0.690628218900277590, +0.690664378535565730, 0.690700536444192490, 0.690736692626067960, 0.690772847081101760, 0.690808999809203740, 0.690845150810282860, 0.690881300084249080, 0.690917447631012040, +0.690953593450481800, 0.690989737542567210, 0.691025879907178230, 0.691062020544224610, 0.691098159453616300, 0.691134296635262160, 0.691170432089072360, 0.691206565814956760, +0.691242697812824440, 0.691278828082585340, 0.691314956624149210, 0.691351083437426020, 0.691387208522324830, 0.691423331878755490, 0.691459453506627960, 0.691495573405851990, +0.691531691576336870, 0.691567808017992560, 0.691603922730728570, 0.691640035714455200, 0.691676146969081420, 0.691712256494517290, 0.691748364290672440, 0.691784470357457050, +0.691820574694780090, 0.691856677302551850, 0.691892778180682070, 0.691928877329080150, 0.691964974747655950, 0.692001070436319420, 0.692037164394980420, 0.692073256623548240, +0.692109347121932950, 0.692145435890044290, 0.692181522927792340, 0.692217608235086160, 0.692253691811836050, 0.692289773657951750, 0.692325853773343320, 0.692361932157919970, +0.692398008811591750, 0.692434083734268400, 0.692470156925860340, 0.692506228386276400, 0.692542298115427000, 0.692578366113222100, 0.692614432379571100, 0.692650496914383850, +0.692686559717570540, 0.692722620789041010, 0.692758680128704670, 0.692794737736471600, 0.692830793612251640, 0.692866847755955080, 0.692902900167491120, 0.692938950846769820, +0.692974999793701250, 0.693011047008195380, 0.693047092490161610, 0.693083136239510230, 0.693119178256150880, 0.693155218539993840, 0.693191257090948640, 0.693227293908925120, +0.693263328993833810, 0.693299362345583760, 0.693335393964085390, 0.693371423849248440, 0.693407452000983300, 0.693443478419199180, 0.693479503103806460, 0.693515526054714890, +0.693551547271834880, 0.693587566755075600, 0.693623584504347470, 0.693659600519560330, 0.693695614800624580, 0.693731627347449420, 0.693767638159945240, 0.693803647238021900, +0.693839654581589800, 0.693875660190558240, 0.693911664064837620, 0.693947666204337680, 0.693983666608969040, 0.694019665278640780, 0.694055662213263420, 0.694091657412747250, +0.694127650877001570, 0.694163642605936770, 0.694199632599462930, 0.694235620857490240, 0.694271607379928210, 0.694307592166687140, 0.694343575217677200, 0.694379556532808470, +0.694415536111990690, 0.694451513955133940, 0.694487490062148490, 0.694523464432944550, 0.694559437067431730, 0.694595407965520330, 0.694631377127120310, 0.694667344552142190, +0.694703310240495480, 0.694739274192090360, 0.694775236406837470, 0.694811196884646100, 0.694847155625426760, 0.694883112629089640, 0.694919067895544920, 0.694955021424702220, +0.694990973216472070, 0.695026923270764430, 0.695062871587489810, 0.695098818166557610, 0.695134763007878460, 0.695170706111362340, 0.695206647476919850, 0.695242587104460410, +0.695278524993894420, 0.695314461145132180, 0.695350395558084090, 0.695386328232659780, 0.695422259168769540, 0.695458188366324000, 0.695494115825232680, 0.695530041545405990, +0.695565965526754320, 0.695601887769188080, 0.695637808272616680, 0.695673727036950850, 0.695709644062100560, 0.695745559347976660, 0.695781472894488440, 0.695817384701546530, +0.695853294769061210, 0.695889203096943020, 0.695925109685101350, 0.695961014533447050, 0.695996917641890090, 0.696032819010341310, 0.696068718638710000, 0.696104616526906920, +0.696140512674842450, 0.696176407082426900, 0.696212299749570000, 0.696248190676182380, 0.696284079862174550, 0.696319967307456270, 0.696355853011938140, 0.696391736975530250, +0.696427619198143440, 0.696463499679687130, 0.696499378420072150, 0.696535255419208800, 0.696571130677007490, 0.696607004193378070, 0.696642875968231160, 0.696678746001477170, +0.696714614293026500, 0.696750480842789010, 0.696786345650675320, 0.696822208716595730, 0.696858070040460960, 0.696893929622180660, 0.696929787461665560, 0.696965643558826400, +0.697001497913572690, 0.697037350525815390, 0.697073201395464580, 0.697109050522431110, 0.697144897906624710, 0.697180743547956010, 0.697216587446335520, 0.697252429601673880, +0.697288270013880830, 0.697324108682867090, 0.697359945608543090, 0.697395780790819540, 0.697431614229606200, 0.697467445924813910, 0.697503275876352970, 0.697539104084134110, +0.697574930548067180, 0.697610755268062930, 0.697646578244032200, 0.697682399475884620, 0.697718218963531030, 0.697754036706881850, 0.697789852705848030, 0.697825666960339210, +0.697861479470266220, 0.697897290235539480, 0.697933099256069830, 0.697968906531767130, 0.698004712062542220, 0.698040515848305510, 0.698076317888967850, 0.698112118184438970, +0.698147916734629950, 0.698183713539451080, 0.698219508598813210, 0.698255301912626300, 0.698291093480801090, 0.698326883303248440, 0.698362671379878290, 0.698398457710601490, +0.698434242295328470, 0.698470025133970270, 0.698505806226436650, 0.698541585572638460, 0.698577363172486310, 0.698613139025891170, 0.698648913132762780, 0.698684685493012100, +0.698720456106549760, 0.698756224973286600, 0.698791992093132590, 0.698827757465998460, 0.698863521091795060, 0.698899282970433130, 0.698935043101822640, 0.698970801485874650, +0.699006558122499570, 0.699042313011608460, 0.699078066153111190, 0.699113817546918810, 0.699149567192942190, 0.699185315091091280, 0.699221061241277140, 0.699256805643410420, +0.699292548297401950, 0.699328289203161700, 0.699364028360600740, 0.699399765769629810, 0.699435501430159760, 0.699471235342100650, 0.699506967505363340, 0.699542697919858680, +0.699578426585497630, 0.699614153502190140, 0.699649878669847290, 0.699685602088379820, 0.699721323757698580, 0.699757043677713740, 0.699792761848336280, 0.699828478269477250, +0.699864192941046630, 0.699899905862955580, 0.699935617035114750, 0.699971326457435210, 0.700007034129827010, 0.700042740052201350, 0.700078444224468740, 0.700114146646540370, +0.700149847318326300, 0.700185546239737500, 0.700221243410684920, 0.700256938831079640, 0.700292632500831620, 0.700328324419852040, 0.700364014588051640, 0.700399703005341490, +0.700435389671631770, 0.700471074586833550, 0.700506757750858020, 0.700542439163615250, 0.700578118825016420, 0.700613796734972260, 0.700649472893393970, 0.700685147300191600, +0.700720819955276460, 0.700756490858559180, 0.700792160009951040, 0.700827827409362230, 0.700863493056703810, 0.700899156951886650, 0.700934819094821910, 0.700970479485419800, +0.701006138123591470, 0.701041795009247790, 0.701077450142299940, 0.701113103522658210, 0.701148755150233670, 0.701184405024937290, 0.701220053146680230, 0.701255699515372700, +0.701291344130925860, 0.701326986993251020, 0.701362628102258360, 0.701398267457859160, 0.701433905059964280, 0.701469540908485010, 0.701505175003331540, 0.701540807344415040, +0.701576437931646700, 0.701612066764937480, 0.701647693844197780, 0.701683319169338790, 0.701718942740271580, 0.701754564556907320, 0.701790184619156320, 0.701825802926929860, +0.701861419480138920, 0.701897034278694760, 0.701932647322507600, 0.701968258611488930, 0.702003868145549830, 0.702039475924600810, 0.702075081948553060, 0.702110686217317650, +0.702146288730805870, 0.702181889488928010, 0.702217488491595380, 0.702253085738719140, 0.702288681230210380, 0.702324274965979710, 0.702359866945938220, 0.702395457169997180, +0.702431045638067800, 0.702466632350060460, 0.702502217305886580, 0.702537800505457110, 0.702573381948683460, 0.702608961635476040, 0.702644539565746240, 0.702680115739405360, +0.702715690156363930, 0.702751262816533220, 0.702786833719824420, 0.702822402866148830, 0.702857970255416850, 0.702893535887540000, 0.702929099762429340, 0.702964661879996180, +0.703000222240151130, 0.703035780842805490, 0.703071337687870330, 0.703106892775257180, 0.703142446104876530, 0.703177997676639690, 0.703213547490457950, 0.703249095546242600, +0.703284641843904270, 0.703320186383354250, 0.703355729164504060, 0.703391270187264330, 0.703426809451546340, 0.703462346957261400, 0.703497882704320790, 0.703533416692635250, +0.703568948922116190, 0.703604479392674680, 0.703640008104222340, 0.703675535056669690, 0.703711060249928130, 0.703746583683908970, 0.703782105358523700, 0.703817625273682750, +0.703853143429297830, 0.703888659825280040, 0.703924174461540760, 0.703959687337990970, 0.703995198454541840, 0.704030707811104660, 0.704066215407591070, 0.704101721243911680, +0.704137225319978020, 0.704172727635701490, 0.704208228190992940, 0.704243726985763760, 0.704279224019925150, 0.704314719293388960, 0.704350212806065690, 0.704385704557866750, +0.704421194548703560, 0.704456682778487830, 0.704492169247129980, 0.704527653954541640, 0.704563136900634320, 0.704598618085319430, 0.704634097508507580, 0.704669575170110530, +0.704705051070039560, 0.704740525208206290, 0.704775997584521360, 0.704811468198896510, 0.704846937051243240, 0.704882404141472410, 0.704917869469495420, 0.704953333035223890, +0.704988794838569240, 0.705024254879442310, 0.705059713157754730, 0.705095169673417900, 0.705130624426343560, 0.705166077416442220, 0.705201528643625730, 0.705236978107805390, +0.705272425808892930, 0.705307871746799100, 0.705343315921435510, 0.705378758332713800, 0.705414198980545360, 0.705449637864841160, 0.705485074985512830, 0.705520510342472210, +0.705555943935629930, 0.705591375764897830, 0.705626805830187220, 0.705662234131410050, 0.705697660668476830, 0.705733085441299530, 0.705768508449789560, 0.705803929693858520, +0.705839349173417400, 0.705874766888377910, 0.705910182838651590, 0.705945597024150050, 0.705981009444784150, 0.706016420100465720, 0.706051828991106410, 0.706087236116617720, +0.706122641476910620, 0.706158045071896940, 0.706193446901488110, 0.706228846965595960, 0.706264245264131450, 0.706299641797006330, 0.706335036564132320, 0.706370429565420510, +0.706405820800782620, 0.706441210270130180, 0.706476597973374920, 0.706511983910427910, 0.706547368081201000, 0.706582750485605700, 0.706618131123553760, 0.706653509994956130, +0.706688887099724770, 0.706724262437771200, 0.706759636009007370, 0.706795007813344030, 0.706830377850693250, 0.706865746120966420, 0.706901112624075620, 0.706936477359931700, +0.706971840328446620, 0.707007201529532110, 0.707042560963099480, 0.707077918629060330, 0.707113274527326420, 0.707148628657809700, 0.707183981020421020, 0.707219331615072330, +0.707254680441675390, 0.707290027500142030, 0.707325372790383320, 0.707360716312311120, 0.707396058065837270, 0.707431398050873520, 0.707466736267330920, 0.707502072715121440, +0.707537407394156830, 0.707572740304349020, 0.707608071445609110, 0.707643400817848930, 0.707678728420980560, 0.707714054254915180, 0.707749378319564530, 0.707784700614840450, +0.707820021140655010, 0.707855339896919180, 0.707890656883544910, 0.707925972100444060, 0.707961285547528570, 0.707996597224709530, 0.708031907131899120, 0.708067215269008840, +0.708102521635950890, 0.708137826232636210, 0.708173129058977110, 0.708208430114885100, 0.708243729400272470, 0.708279026915049960, 0.708314322659130080, 0.708349616632424570, +0.708384908834844840, 0.708420199266302730, 0.708455487926710200, 0.708490774815979220, 0.708526059934020960, 0.708561343280747600, 0.708596624856070890, 0.708631904659902890, +0.708667182692154900, 0.708702458952738870, 0.708737733441566760, 0.708773006158550540, 0.708808277103601610, 0.708843546276631930, 0.708878813677553340, 0.708914079306278030, +0.708949343162717290, 0.708984605246783080, 0.709019865558387470, 0.709055124097442420, 0.709090380863859230, 0.709125635857550280, 0.709160889078427340, 0.709196140526401900, +0.709231390201386260, 0.709266638103291940, 0.709301884232031440, 0.709337128587515960, 0.709372371169657570, 0.709407611978368320, 0.709442851013560300, 0.709478088275144910, +0.709513323763034220, 0.709548557477140300, 0.709583789417375210, 0.709619019583650370, 0.709654247975877950, 0.709689474593970030, 0.709724699437838670, 0.709759922507395170, +0.709795143802551930, 0.709830363323221140, 0.709865581069314190, 0.709900797040743270, 0.709936011237420230, 0.709971223659257580, 0.710006434306166610, 0.710041643178059510, +0.710076850274848240, 0.710112055596445190, 0.710147259142761670, 0.710182460913710070, 0.710217660909202240, 0.710252859129150590, 0.710288055573466530, 0.710323250242062330, +0.710358443134849970, 0.710393634251741850, 0.710428823592649250, 0.710464011157484700, 0.710499196946160260, 0.710534380958587670, 0.710569563194679120, 0.710604743654346560, +0.710639922337502620, 0.710675099244058470, 0.710710274373926530, 0.710745447727018980, 0.710780619303248100, 0.710815789102525300, 0.710850957124763090, 0.710886123369873450, +0.710921287837768870, 0.710956450528360760, 0.710991611441561420, 0.711026770577283140, 0.711061927935438210, 0.711097083515938260, 0.711132237318695460, 0.711167389343622110, +0.711202539590630620, 0.711237688059632390, 0.711272834750540040, 0.711307979663265870, 0.711343122797721490, 0.711378264153819220, 0.711413403731471330, 0.711448541530590230, +0.711483677551087550, 0.711518811792875570, 0.711553944255866600, 0.711589074939973030, 0.711624203845106610, 0.711659330971179500, 0.711694456318104240, 0.711729579885793000, +0.711764701674157510, 0.711799821683110400, 0.711834939912563640, 0.711870056362429840, 0.711905171032620520, 0.711940283923048420, 0.711975395033625840, 0.712010504364264500, +0.712045611914876810, 0.712080717685375180, 0.712115821675672000, 0.712150923885679020, 0.712186024315308640, 0.712221122964473370, 0.712256219833085510, 0.712291314921056680, +0.712326408228299730, 0.712361499754726620, 0.712396589500250200, 0.712431677464781980, 0.712466763648234470, 0.712501848050520080, 0.712536930671551440, 0.712572011511240170, +0.712607090569498780, 0.712642167846240020, 0.712677243341375610, 0.712712317054817970, 0.712747388986479600, 0.712782459136273030, 0.712817527504110090, 0.712852594089903310, +0.712887658893564870, 0.712922721915007830, 0.712957783154143600, 0.712992842610884800, 0.713027900285144070, 0.713062956176833800, 0.713098010285865840, 0.713133062612152810, +0.713168113155607130, 0.713203161916141530, 0.713238208893667740, 0.713273254088098390, 0.713308297499346210, 0.713343339127322950, 0.713378378971941450, 0.713413417033113890, +0.713448453310753130, 0.713483487804770890, 0.713518520515080020, 0.713553551441592830, 0.713588580584222030, 0.713623607942879490, 0.713658633517477940, 0.713693657307929770, +0.713728679314147740, 0.713763699536043680, 0.713798717973530560, 0.713833734626520440, 0.713868749494926400, 0.713903762578660170, 0.713938773877634600, 0.713973783391761980, +0.714008791120955280, 0.714043797065126220, 0.714078801224187650, 0.714113803598052540, 0.714148804186632510, 0.714183802989840410, 0.714218800007588860, 0.714253795239790600, +0.714288788686357590, 0.714323780347202670, 0.714358770222238150, 0.714393758311377080, 0.714428744614531320, 0.714463729131613710, 0.714498711862536770, 0.714533692807213350, +0.714568671965555290, 0.714603649337475780, 0.714638624922886990, 0.714673598721701890, 0.714708570733832650, 0.714743540959191790, 0.714778509397692610, 0.714813476049246610, +0.714848440913767090, 0.714883403991166460, 0.714918365281357550, 0.714953324784252440, 0.714988282499764090, 0.715023238427805020, 0.715058192568288060, 0.715093144921125410, +0.715128095486229800, 0.715163044263514070, 0.715197991252890960, 0.715232936454272660, 0.715267879867571900, 0.715302821492701520, 0.715337761329574270, 0.715372699378102440, +0.715407635638198870, 0.715442570109776410, 0.715477502792747240, 0.715512433687024440, 0.715547362792520400, 0.715582290109148420, 0.715617215636820240, 0.715652139375449140, +0.715687061324947640, 0.715721981485228810, 0.715756899856204720, 0.715791816437788330, 0.715826731229892490, 0.715861644232430040, 0.715896555445313170, 0.715931464868455050, +0.715966372501768090, 0.716001278345165690, 0.716036182398559600, 0.716071084661863200, 0.716105985134989020, 0.716140883817850240, 0.716175780710358810, 0.716210675812428030, +0.716245569123970970, 0.716280460644899470, 0.716315350375126950, 0.716350238314566010, 0.716385124463129850, 0.716420008820730430, 0.716454891387281130, 0.716489772162694490, +0.716524651146883800, 0.716559528339761220, 0.716594403741239730, 0.716629277351232270, 0.716664149169651930, 0.716699019196410880, 0.716733887431422190, 0.716768753874598930, +0.716803618525854060, 0.716838481385099870, 0.716873342452249430, 0.716908201727215920, 0.716943059209911640, 0.716977914900249650, 0.717012768798142910, 0.717047620903504600, +0.717082471216246910, 0.717117319736283010, 0.717152166463525860, 0.717187011397888540, 0.717221854539283440, 0.717256695887623640, 0.717291535442822090, 0.717326373204792090, +0.717361209173445920, 0.717396043348696550, 0.717430875730457160, 0.717465706318640930, 0.717500535113160030, 0.717535362113927880, 0.717570187320857530, 0.717605010733861400, +0.717639832352852890, 0.717674652177744620, 0.717709470208450220, 0.717744286444881750, 0.717779100886952510, 0.717813913534575580, 0.717848724387664230, 0.717883533446130650, +0.717918340709888250, 0.717953146178849980, 0.717987949852929240, 0.718022751732038330, 0.718057551816090430, 0.718092350104998720, 0.718127146598676490, 0.718161941297035920, +0.718196734199990640, 0.718231525307453820, 0.718266314619337760, 0.718301102135556090, 0.718335887856021540, 0.718370671780647620, 0.718405453909346740, 0.718440234242032180, +0.718475012778617030, 0.718509789519014790, 0.718544564463137640, 0.718579337610899090, 0.718614108962212230, 0.718648878516990330, 0.718683646275146030, 0.718718412236592610, +0.718753176401243030, 0.718787938769010930, 0.718822699339808580, 0.718857458113549620, 0.718892215090146890, 0.718926970269514020, 0.718961723651563410, 0.718996475236208470, +0.719031225023362590, 0.719065973012938400, 0.719100719204849300, 0.719135463599008370, 0.719170206195329120, 0.719204946993724060, 0.719239685994106480, 0.719274423196389790, +0.719309158600487390, 0.719343892206311790, 0.719378624013776390, 0.719413354022794490, 0.719448082233279500, 0.719482808645143910, 0.719517533258301370, 0.719552256072665040, +0.719586977088148340, 0.719621696304663880, 0.719656413722125190, 0.719691129340445770, 0.719725843159538250, 0.719760555179316030, 0.719795265399692520, 0.719829973820581110, +0.719864680441894440, 0.719899385263546130, 0.719934088285449360, 0.719968789507517530, 0.720003488929663590, 0.720038186551800850, 0.720072882373842700, 0.720107576395702550, +0.720142268617293250, 0.720176959038528300, 0.720211647659320890, 0.720246334479584640, 0.720281019499232290, 0.720315702718177350, 0.720350384136333570, 0.720385063753613440, +0.720419741569930610, 0.720454417585198570, 0.720489091799330630, 0.720523764212239740, 0.720558434823839410, 0.720593103634042940, 0.720627770642764180, 0.720662435849915630, +0.720697099255410920, 0.720731760859163460, 0.720766420661086980, 0.720801078661094110, 0.720835734859098460, 0.720870389255013570, 0.720905041848753040, 0.720939692640229500, +0.720974341629356810, 0.721008988816048250, 0.721043634200217550, 0.721078277781777350, 0.721112919560641610, 0.721147559536723710, 0.721182197709936750, 0.721216834080194210, +0.721251468647409520, 0.721286101411496630, 0.721320732372368050, 0.721355361529937730, 0.721389988884118980, 0.721424614434825530, 0.721459238181970220, 0.721493860125466900, +0.721528480265228870, 0.721563098601169960, 0.721597715133203030, 0.721632329861241820, 0.721666942785199720, 0.721701553904990690, 0.721736163220527250, 0.721770770731723580, +0.721805376438493300, 0.721839980340749140, 0.721874582438405190, 0.721909182731374610, 0.721943781219571480, 0.721978377902908640, 0.722012972781299830, 0.722047565854658460, +0.722082157122898580, 0.722116746585933060, 0.722151334243675610, 0.722185920096039770, 0.722220504142939480, 0.722255086384287700, 0.722289666819998070, 0.722324245449984410, +0.722358822274160370, 0.722393397292438900, 0.722427970504734060, 0.722462541910959600, 0.722497111511028360, 0.722531679304854510, 0.722566245292351250, 0.722600809473432860, +0.722635371848012080, 0.722669932416002860, 0.722704491177318830, 0.722739048131873840, 0.722773603279580960, 0.722808156620354140, 0.722842708154106780, 0.722877257880753080, +0.722911805800205860, 0.722946351912379100, 0.722980896217186530, 0.723015438714541990, 0.723049979404358560, 0.723084518286550180, 0.723119055361030830, 0.723153590627713560, +0.723188124086512230, 0.723222655737340680, 0.723257185580112650, 0.723291713614741430, 0.723326239841140970, 0.723360764259224910, 0.723395286868907190, 0.723429807670101010, +0.723464326662720310, 0.723498843846678730, 0.723533359221890440, 0.723567872788268280, 0.723602384545726670, 0.723636894494178890, 0.723671402633539350, 0.723705908963720780, +0.723740413484637690, 0.723774916196203380, 0.723809417098332130, 0.723843916190937130, 0.723878413473932230, 0.723912908947231700, 0.723947402610748410, 0.723981894464396760, +0.724016384508090360, 0.724050872741743400, 0.724085359165268730, 0.724119843778580850, 0.724154326581593290, 0.724188807574220220, 0.724223286756374820, 0.724257764127971160, +0.724292239688923090, 0.724326713439144790, 0.724361185378549430, 0.724395655507050980, 0.724430123824563510, 0.724464590331000970, 0.724499055026276760, 0.724533517910304850, +0.724567978982999410, 0.724602438244273730, 0.724636895694041990, 0.724671351332217940, 0.724705805158715850, 0.724740257173449030, 0.724774707376331430, 0.724809155767277110, +0.724843602346200270, 0.724878047113014070, 0.724912490067632700, 0.724946931209970220, 0.724981370539940610, 0.725015808057457360, 0.725050243762434540, 0.725084677654786120, +0.725119109734426280, 0.725153540001268420, 0.725187968455226710, 0.725222395096215330, 0.725256819924147590, 0.725291242938937990, 0.725325664140500150, 0.725360083528748480, +0.725394501103596380, 0.725428916864957920, 0.725463330812747160, 0.725497742946878410, 0.725532153267265060, 0.725566561773821280, 0.725600968466461050, 0.725635373345098760, +0.725669776409647690, 0.725704177660022260, 0.725738577096136320, 0.725772974717904250, 0.725807370525239470, 0.725841764518056150, 0.725876156696268590, 0.725910547059790860, +0.725944935608536460, 0.725979322342419690, 0.726013707261354950, 0.726048090365255640, 0.726082471654036170, 0.726116851127610370, 0.726151228785892890, 0.726185604628796890, +0.726219978656237000, 0.726254350868127170, 0.726288721264381600, 0.726323089844914120, 0.726357456609638800, 0.726391821558469930, 0.726426184691321810, 0.726460546008107830, +0.726494905508742520, 0.726529263193139930, 0.726563619061214580, 0.726597973112879770, 0.726632325348050110, 0.726666675766639900, 0.726701024368562650, 0.726735371153732880, +0.726769716122064760, 0.726804059273472580, 0.726838400607869970, 0.726872740125171330, 0.726907077825290850, 0.726941413708142910, 0.726975747773641270, 0.727010080021700200, +0.727044410452233890, 0.727078739065156960, 0.727113065860382820, 0.727147390837825980, 0.727181713997400610, 0.727216035339021350, 0.727250354862601700, 0.727284672568056180, +0.727318988455299300, 0.727353302524244570, 0.727387614774806620, 0.727421925206899630, 0.727456233820438110, 0.727490540615335800, 0.727524845591506990, 0.727559148748866180, +0.727593450087327680, 0.727627749606805320, 0.727662047307213620, 0.727696343188466770, 0.727730637250479370, 0.727764929493165070, 0.727799219916438480, 0.727833508520213890, +0.727867795304405710, 0.727902080268927780, 0.727936363413694610, 0.727970644738620940, 0.728004924243620290, 0.728039201928607270, 0.728073477793496400, 0.728107751838201980, +0.728142024062637950, 0.728176294466718830, 0.728210563050359030, 0.728244829813473160, 0.728279094755974850, 0.728313357877778840, 0.728347619178799420, 0.728381878658951100, +0.728416136318148060, 0.728450392156304470, 0.728484646173334970, 0.728518898369154180, 0.728553148743675830, 0.728587397296814540, 0.728621644028484840, 0.728655888938601230, +0.728690132027077660, 0.728724373293828780, 0.728758612738769300, 0.728792850361812960, 0.728827086162874500, 0.728861320141868330, 0.728895552298709060, 0.728929782633310760, +0.728964011145587950, 0.728998237835455030, 0.729032462702826840, 0.729066685747617240, 0.729100906969740950, 0.729135126369112370, 0.729169343945646250, 0.729203559699256540, +0.729237773629857870, 0.729271985737364740, 0.729306196021692000, 0.729340404482753390, 0.729374611120463870, 0.729408815934738050, 0.729443018925489910, 0.729477220092634270, +0.729511419436085550, 0.729545616955758590, 0.729579812651567240, 0.729614006523426450, 0.729648198571250520, 0.729682388794954510, 0.729716577194452150, 0.729750763769658420, +0.729784948520487700, 0.729819131446854950, 0.729853312548674030, 0.729887491825859880, 0.729921669278327020, 0.729955844905990190, 0.729990018708763570, 0.730024190686561880, +0.730058360839299980, 0.730092529166891820, 0.730126695669252480, 0.730160860346296350, 0.730195023197938280, 0.730229184224092330, 0.730263343424673580, 0.730297500799596320, +0.730331656348775730, 0.730365810072125640, 0.730399961969561030, 0.730434112040996510, 0.730468260286347040, 0.730502406705526570, 0.730536551298450190, 0.730570694065032390, +0.730604835005188020, 0.730638974118831390, 0.730673111405877320, 0.730707246866240450, 0.730741380499835720, 0.730775512306577340, 0.730809642286380120, 0.730843770439159050, +0.730877896764828390, 0.730912021263302790, 0.730946143934497310, 0.730980264778326670, 0.731014383794705180, 0.731048500983547570, 0.731082616344768790, 0.731116729878283800, +0.731150841584006670, 0.731184951461852470, 0.731219059511735820, 0.731253165733571910, 0.731287270127274680, 0.731321372692759320, 0.731355473429940560, 0.731389572338733360, +0.731423669419051900, 0.731457764670811360, 0.731491858093926690, 0.731525949688312080, 0.731560039453882590, 0.731594127390552960, 0.731628213498238370, 0.731662297776852880, +0.731696380226311670, 0.731730460846529480, 0.731764539637421500, 0.731798616598901890, 0.731832691730885610, 0.731866765033287740, 0.731900836506023220, 0.731934906149006360, +0.731968973962152100, 0.732003039945375520, 0.732037104098591570, 0.732071166421714550, 0.732105226914659620, 0.732139285577342090, 0.732173342409675800, 0.732207397411576370, +0.732241450582958310, 0.732275501923736920, 0.732309551433826480, 0.732343599113142170, 0.732377644961598960, 0.732411688979111910, 0.732445731165595190, 0.732479771520964330, +0.732513810045133940, 0.732547846738019310, 0.732581881599534750, 0.732615914629595630, 0.732649945828116600, 0.732683975195013050, 0.732718002730199160, 0.732752028433590440, +0.732786052305101520, 0.732820074344647800, 0.732854094552143560, 0.732888112927504220, 0.732922129470644720, 0.732956144181479700, 0.732990157059924320, 0.733024168105893550, +0.733058177319302560, 0.733092184700065990, 0.733126190248098770, 0.733160193963316220, 0.733194195845633390, 0.733228195894964910, 0.733262194111225840, 0.733296190494331260, +0.733330185044196560, 0.733364177760736040, 0.733398168643865200, 0.733432157693498790, 0.733466144909552420, 0.733500130291940280, 0.733534113840577870, 0.733568095555380490, +0.733602075436262440, 0.733636053483139430, 0.733670029695926100, 0.733704004074538060, 0.733737976618889620, 0.733771947328896390, 0.733805916204473220, 0.733839883245535620, +0.733873848451997880, 0.733907811823775620, 0.733941773360783810, 0.733975733062937950, 0.734009690930152340, 0.734043646962342590, 0.734077601159423660, 0.734111553521310970, +0.734145504047919230, 0.734179452739163630, 0.734213399594959790, 0.734247344615222010, 0.734281287799865900, 0.734315229148806650, 0.734349168661959650, 0.734383106339239310, +0.734417042180561360, 0.734450976185840760, 0.734484908354992920, 0.734518838687932550, 0.734552767184575180, 0.734586693844835770, 0.734620618668629930, 0.734654541655872300, +0.734688462806478260, 0.734722382120363230, 0.734756299597442370, 0.734790215237630440, 0.734824129040843040, 0.734858041006995700, 0.734891951136002810, 0.734925859427780100, +0.734959765882242880, 0.734993670499306310, 0.735027573278885460, 0.735061474220895630, 0.735095373325251990, 0.735129270591870390, 0.735163166020665120, 0.735197059611552130, +0.735230951364446380, 0.735264841279263500, 0.735298729355918330, 0.735332615594326280, 0.735366499994402730, 0.735400382556063210, 0.735434263279222460, 0.735468142163796080, +0.735502019209699260, 0.735535894416847640, 0.735569767785156150, 0.735603639314540200, 0.735637509004915310, 0.735671376856196440, 0.735705242868299190, 0.735739107041138760, +0.735772969374630880, 0.735806829868690280, 0.735840688523232590, 0.735874545338173200, 0.735908400313427750, 0.735942253448911070, 0.735976104744538560, 0.736009954200225970, +0.736043801815888690, 0.736077647591441670, 0.736111491526800550, 0.736145333621880620, 0.736179173876597700, 0.736213012290866550, 0.736246848864602900, 0.736280683597722360, +0.736314516490139900, 0.736348347541771030, 0.736382176752531370, 0.736416004122336540, 0.736449829651101400, 0.736483653338741770, 0.736517475185172850, 0.736551295190310710, +0.736585113354069950, 0.736618929676366330, 0.736652744157115460, 0.736686556796233070, 0.736720367593633910, 0.736754176549233920, 0.736787983662948510, 0.736821788934693300, +0.736855592364383360, 0.736889393951934530, 0.736923193697262450, 0.736956991600282050, 0.736990787660909200, 0.737024581879059390, 0.737058374254648490, 0.737092164787591320, +0.737125953477803740, 0.737159740325201260, 0.737193525329699620, 0.737227308491213980, 0.737261089809660100, 0.737294869284953470, 0.737328646917009940, 0.737362422705744480, +0.737396196651073030, 0.737429968752911000, 0.737463739011174350, 0.737497507425778130, 0.737531273996638090, 0.737565038723669850, 0.737598801606789370, 0.737632562645911590, +0.737666321840952380, 0.737700079191827670, 0.737733834698452440, 0.737767588360742630, 0.737801340178613870, 0.737835090151982120, 0.737868838280762220, 0.737902584564870230, +0.737936329004221900, 0.737970071598732960, 0.738003812348318580, 0.738037551252894610, 0.738071288312376780, 0.738105023526681060, 0.738138756895722500, 0.738172488419416960, +0.738206218097680280, 0.738239945930428300, 0.738273671917576200, 0.738307396059039940, 0.738341118354735480, 0.738374838804577880, 0.738408557408483210, 0.738442274166367100, +0.738475989078145710, 0.738509702143734010, 0.738543413363047960, 0.738577122736003510, 0.738610830262516500, 0.738644535942502010, 0.738678239775876320, 0.738711941762554950, +0.738745641902454060, 0.738779340195488850, 0.738813036641575160, 0.738846731240628940, 0.738880423992566150, 0.738914114897302080, 0.738947803954752680, 0.738981491164834030, +0.739015176527461400, 0.739048860042550770, 0.739082541710018080, 0.739116221529779290, 0.739149899501749590, 0.739183575625845250, 0.739217249901981900, 0.739250922330075830, +0.739284592910042000, 0.739318261641796810, 0.739351928525255890, 0.739385593560335510, 0.739419256746950750, 0.739452918085018010, 0.739486577574452800, 0.739520235215171520, +0.739553891007089350, 0.739587544950122470, 0.739621197044187050, 0.739654847289198280, 0.739688495685072440, 0.739722142231725280, 0.739755786929073180, 0.739789429777031220, +0.739823070775515790, 0.739856709924442520, 0.739890347223727930, 0.739923982673287070, 0.739957616273036360, 0.739991248022891510, 0.740024877922768830, 0.740058505972583710, +0.740092132172252340, 0.740125756521690660, 0.740159379020814740, 0.740192999669540220, 0.740226618467783150, 0.740260235415459600, 0.740293850512485640, 0.740327463758776780, +0.740361075154249320, 0.740394684698819530, 0.740428292392402600, 0.740461898234915040, 0.740495502226272690, 0.740529104366391850, 0.740562704655188030, 0.740596303092577400, +0.740629899678476030, 0.740663494412800110, 0.740697087295465240, 0.740730678326387610, 0.740764267505483410, 0.740797854832668690, 0.740831440307859190, 0.740865023930970870, +0.740898605701920230, 0.740932185620623240, 0.740965763686995520, 0.740999339900953350, 0.741032914262413240, 0.741066486771290390, 0.741100057427501400, 0.741133626230962240, +0.741167193181589410, 0.741200758279298210, 0.741234321524005150, 0.741267882915626290, 0.741301442454078030, 0.741335000139275780, 0.741368555971136050, 0.741402109949575010, +0.741435662074508950, 0.741469212345853390, 0.741502760763524950, 0.741536307327439470, 0.741569852037513580, 0.741603394893662670, 0.741636935895803370, 0.741670475043851970, +0.741704012337724090, 0.741737547777336250, 0.741771081362604500, 0.741804613093445360, 0.741838142969774350, 0.741871670991508080, 0.741905197158562510, 0.741938721470854270, +0.741972243928298970, 0.742005764530813130, 0.742039283278312700, 0.742072800170714530, 0.742106315207933910, 0.742139828389887570, 0.742173339716491690, 0.742206849187662780, +0.742240356803316350, 0.742273862563369140, 0.742307366467737100, 0.742340868516337070, 0.742374368709084690, 0.742407867045896230, 0.742441363526688440, 0.742474858151376930, +0.742508350919878210, 0.742541841832108700, 0.742575330887984890, 0.742608818087422410, 0.742642303430337880, 0.742675786916647710, 0.742709268546268180, 0.742742748319115350, +0.742776226235105530, 0.742809702294155220, 0.742843176496180920, 0.742876648841098390, 0.742910119328824230, 0.742943587959274840, 0.742977054732366640, 0.743010519648015680, +0.743043982706138250, 0.743077443906651200, 0.743110903249470270, 0.743144360734512070, 0.743177816361693000, 0.743211270130929690, 0.743244722042137870, 0.743278172095234390, +0.743311620290135310, 0.743345066626757480, 0.743378511105016740, 0.743411953724829820, 0.743445394486112800, 0.743478833388782730, 0.743512270432755250, 0.743545705617947080, +0.743579138944274740, 0.743612570411654740, 0.743646000020003030, 0.743679427769236350, 0.743712853659271420, 0.743746277690023990, 0.743779699861410900, 0.743813120173348550, +0.743846538625753780, 0.743879955218542220, 0.743913369951630930, 0.743946782824936090, 0.743980193838374660, 0.744013602991862370, 0.744047010285316170, 0.744080415718652350, +0.744113819291787880, 0.744147221004638480, 0.744180620857121110, 0.744214018849152170, 0.744247414980648500, 0.744280809251525950, 0.744314201661701370, 0.744347592211091590, +0.744380980899612580, 0.744414367727181060, 0.744447752693713550, 0.744481135799127110, 0.744514517043337490, 0.744547896426261510, 0.744581273947815920, 0.744614649607917340, +0.744648023406481840, 0.744681395343426260, 0.744714765418667210, 0.744748133632121560, 0.744781499983705350, 0.744814864473335340, 0.744848227100928130, 0.744881587866400690, +0.744914946769668960, 0.744948303810649910, 0.744981658989260050, 0.745015012305416340, 0.745048363759034830, 0.745081713350032370, 0.745115061078325920, 0.745148406943831660, +0.745181750946466210, 0.745215093086146420, 0.745248433362789230, 0.745281771776310720, 0.745315108326627730, 0.745348443013656880, 0.745381775837315350, 0.745415106797518990, +0.745448435894184860, 0.745481763127229690, 0.745515088496570440, 0.745548412002123070, 0.745581733643804760, 0.745615053421532110, 0.745648371335222100, 0.745681687384790900, +0.745715001570155470, 0.745748313891232750, 0.745781624347939040, 0.745814932940191190, 0.745848239667906030, 0.745881544531000640, 0.745914847529391080, 0.745948148662994410, +0.745981447931727270, 0.746014745335506820, 0.746048040874249360, 0.746081334547871620, 0.746114626356290670, 0.746147916299423450, 0.746181204377186050, 0.746214490589495630, +0.746247774936269040, 0.746281057417423340, 0.746314338032874720, 0.746347616782540140, 0.746380893666336860, 0.746414168684181090, 0.746447441835989880, 0.746480713121680070, +0.746513982541168850, 0.746547250094372170, 0.746580515781207540, 0.746613779601591590, 0.746647041555441370, 0.746680301642673410, 0.746713559863204650, 0.746746816216951940, +0.746780070703832570, 0.746813323323762710, 0.746846574076659440, 0.746879822962439820, 0.746913069981020920, 0.746946315132319020, 0.746979558416251410, 0.747012799832734830, +0.747046039381686570, 0.747079277063022910, 0.747112512876661140, 0.747145746822518330, 0.747178978900510880, 0.747212209110555970, 0.747245437452570440, 0.747278663926471690, +0.747311888532176010, 0.747345111269600570, 0.747378332138662340, 0.747411551139278600, 0.747444768271365630, 0.747477983534840850, 0.747511196929621090, 0.747544408455623530, +0.747577618112764800, 0.747610825900961950, 0.747644031820131950, 0.747677235870192300, 0.747710438051059190, 0.747743638362650010, 0.747776836804882050, 0.747810033377671710, +0.747843228080936170, 0.747876420914592720, 0.747909611878558420, 0.747942800972749900, 0.747975988197084220, 0.748009173551478670, 0.748042357035850420, 0.748075538650116110, +0.748108718394192800, 0.748141896267997760, 0.748175072271448300, 0.748208246404460820, 0.748241418666952820, 0.748274589058841140, 0.748307757580043310, 0.748340924230475930, +0.748374089010056090, 0.748407251918701390, 0.748440412956328240, 0.748473572122854040, 0.748506729418195850, 0.748539884842271300, 0.748573038394996670, 0.748606190076289370, +0.748639339886066680, 0.748672487824245890, 0.748705633890743630, 0.748738778085477170, 0.748771920408363930, 0.748805060859321080, 0.748838199438265350, 0.748871336145114030, +0.748904470979784410, 0.748937603942194000, 0.748970735032259190, 0.749003864249897510, 0.749036991595026570, 0.749070117067562770, 0.749103240667423730, 0.749136362394526520, +0.749169482248788770, 0.749202600230126970, 0.749235716338458760, 0.749268830573701190, 0.749301942935771900, 0.749335053424587280, 0.749368162040065290, 0.749401268782122650, +0.749434373650677330, 0.749467476645645610, 0.749500577766945340, 0.749533677014493580, 0.749566774388207850, 0.749599869888004980, 0.749632963513802380, 0.749666055265517440, +0.749699145143067570, 0.749732233146369610, 0.749765319275341070, 0.749798403529899460, 0.749831485909961630, 0.749864566415444970, 0.749897645046266990, 0.749930721802345210, +0.749963796683596250, 0.749996869689937840, 0.750029940821287270, 0.750063010077562150, 0.750096077458679120, 0.750129142964556020, 0.750162206595110010, 0.750195268350258740, +0.750228328229919030, 0.750261386234008510, 0.750294442362444580, 0.750327496615144750, 0.750360548992025980, 0.750393599493005770, 0.750426648118001860, 0.750459694866930980, +0.750492739739710980, 0.750525782736259030, 0.750558823856492970, 0.750591863100329550, 0.750624900467686480, 0.750657935958481070, 0.750690969572631260, 0.750724001310053680, +0.750757031170666060, 0.750790059154385900, 0.750823085261130840, 0.750856109490817820, 0.750889131843364590, 0.750922152318688420, 0.750955170916707160, 0.750988187637337660, +0.751021202480497860, 0.751054215446105180, 0.751087226534076780, 0.751120235744330180, 0.751153243076783110, 0.751186248531353180, 0.751219252107957370, 0.751252253806513390, +0.751285253626938760, 0.751318251569151330, 0.751351247633067930, 0.751384241818606520, 0.751417234125684400, 0.751450224554219500, 0.751483213104128800, 0.751516199775330020, +0.751549184567740780, 0.751582167481278820, 0.751615148515861200, 0.751648127671405650, 0.751681104947829800, 0.751714080345051490, 0.751747053862987680, 0.751780025501556310, +0.751812995260675130, 0.751845963140261090, 0.751878929140232240, 0.751911893260506000, 0.751944855501000430, 0.751977815861632260, 0.752010774342319670, 0.752043730942980160, +0.752076685663531470, 0.752109638503890900, 0.752142589463976270, 0.752175538543705110, 0.752208485742995370, 0.752241431061764110, 0.752274374499929290, 0.752307316057408530, +0.752340255734119780, 0.752373193529980220, 0.752406129444907480, 0.752439063478819840, 0.752471995631634140, 0.752504925903268560, 0.752537854293640620, 0.752570780802668370, +0.752603705430268780, 0.752636628176360010, 0.752669549040859700, 0.752702468023685680, 0.752735385124755350, 0.752768300343986450, 0.752801213681296820, 0.752834125136604530, +0.752867034709826520, 0.752899942400880980, 0.752932848209685650, 0.752965752136158350, 0.752998654180216500, 0.753031554341777930, 0.753064452620760830, 0.753097349017082250, +0.753130243530660270, 0.753163136161412840, 0.753196026909257690, 0.753228915774112330, 0.753261802755894600, 0.753294687854522360, 0.753327571069913660, 0.753360452401985790, +0.753393331850656820, 0.753426209415844370, 0.753459085097466840, 0.753491958895441290, 0.753524830809685800, 0.753557700840118190, 0.753590568986656770, 0.753623435249218490, +0.753656299627721630, 0.753689162122084370, 0.753722022732223880, 0.753754881458058470, 0.753787738299505740, 0.753820593256483980, 0.753853446328910380, 0.753886297516703220, +0.753919146819780340, 0.753951994238059810, 0.753984839771459030, 0.754017683419896170, 0.754050525183289080, 0.754083365061556040, 0.754116203054614240, 0.754149039162381960, +0.754181873384777050, 0.754214705721717780, 0.754247536173121350, 0.754280364738906250, 0.754313191418990110, 0.754346016213291340, 0.754378839121727210, 0.754411660144215900, +0.754444479280675930, 0.754477296531024360, 0.754510111895179580, 0.754542925373059450, 0.754575736964582360, 0.754608546669665590, 0.754641354488227560, 0.754674160420185980, +0.754706964465459370, 0.754739766623965140, 0.754772566895621440, 0.754805365280346250, 0.754838161778057960, 0.754870956388674070, 0.754903749112112780, 0.754936539948292020, +0.754969328897130200, 0.755002115958544830, 0.755034901132454190, 0.755067684418776590, 0.755100465817429400, 0.755133245328331150, 0.755166022951399670, 0.755198798686553490, +0.755231572533710090, 0.755264344492787680, 0.755297114563704410, 0.755329882746378580, 0.755362649040727810, 0.755395413446670490, 0.755428175964124590, 0.755460936593008500, +0.755493695333239850, 0.755526452184736910, 0.755559207147417870, 0.755591960221201010, 0.755624711406004070, 0.755657460701745330, 0.755690208108343200, 0.755722953625715290, +0.755755697253780000, 0.755788438992455400, 0.755821178841660110, 0.755853916801311530, 0.755886652871328060, 0.755919387051628090, 0.755952119342129910, 0.755984849742751040, +0.756017578253410210, 0.756050304874025360, 0.756083029604515010, 0.756115752444796780, 0.756148473394789300, 0.756181192454410510, 0.756213909623579040, 0.756246624902212620, +0.756279338290229530, 0.756312049787548070, 0.756344759394086850, 0.756377467109763390, 0.756410172934496310, 0.756442876868204110, 0.756475578910804410, 0.756508279062215630, +0.756540977322356260, 0.756573673691144810, 0.756606368168498800, 0.756639060754336850, 0.756671751448577350, 0.756704440251138700, 0.756737127161938640, 0.756769812180895670, +0.756802495307928310, 0.756835176542954740, 0.756867855885893110, 0.756900533336662520, 0.756933208895179900, 0.756965882561364320, 0.756998554335134080, 0.757031224216407450, +0.757063892205102730, 0.757096558301138310, 0.757129222504433040, 0.757161884814904100, 0.757194545232470540, 0.757227203757050550, 0.757259860388562520, 0.757292515126924970, +0.757325167972055960, 0.757357818923874220, 0.757390467982298370, 0.757423115147245810, 0.757455760418635380, 0.757488403796385710, 0.757521045280414970, 0.757553684870641560, +0.757586322566983990, 0.757618958369360550, 0.757651592277690410, 0.757684224291890640, 0.757716854411880410, 0.757749482637577910, 0.757782108968901750, 0.757814733405770320, +0.757847355948102040, 0.757879976595815960, 0.757912595348829270, 0.757945212207061240, 0.757977827170430050, 0.758010440238854440, 0.758043051412252700, 0.758075660690543220, +0.758108268073644620, 0.758140873561476080, 0.758173477153954670, 0.758206078850999440, 0.758238678652529140, 0.758271276558462160, 0.758303872568717010, 0.758336466683212200, +0.758369058901866680, 0.758401649224597960, 0.758434237651325120, 0.758466824181966760, 0.758499408816441290, 0.758531991554667330, 0.758564572396563270, 0.758597151342047970, +0.758629728391040260, 0.758662303543457650, 0.758694876799219320, 0.758727448158243780, 0.758760017620449530, 0.758792585185755430, 0.758825150854079760, 0.758857714625341130, +0.758890276499458950, 0.758922836476350390, 0.758955394555934750, 0.758987950738130630, 0.759020505022856670, 0.759053057410031480, 0.759085607899573580, 0.759118156491402240, +0.759150703185434980, 0.759183247981590980, 0.759215790879788740, 0.759248331879947110, 0.759280870981984600, 0.759313408185819940, 0.759345943491371740, 0.759378476898559310, +0.759411008407300140, 0.759443538017513410, 0.759476065729117740, 0.759508591542031990, 0.759541115456174860, 0.759573637471464780, 0.759606157587820690, 0.759638675805161760, +0.759671192123405610, 0.759703706542471440, 0.759736219062277950, 0.759768729682744000, 0.759801238403788100, 0.759833745225329200, 0.759866250147286590, 0.759898753169577670, +0.759931254292121830, 0.759963753514838030, 0.759996250837644660, 0.760028746260460690, 0.760061239783204940, 0.760093731405796060, 0.760126221128153420, 0.760158708950194660, +0.760191194871839170, 0.760223678893005570, 0.760256161013612820, 0.760288641233579750, 0.760321119552825000, 0.760353595971268060, 0.760386070488826560, 0.760418543105419900, +0.760451013820966800, 0.760483482635386230, 0.760515949548596910, 0.760548414560517800, 0.760580877671067520, 0.760613338880165690, 0.760645798187730040, 0.760678255593679740, +0.760710711097933870, 0.760743164700411260, 0.760775616401030640, 0.760808066199711090, 0.760840514096371320, 0.760872960090930860, 0.760905404183307430, 0.760937846373420430, +0.760970286661188820, 0.761002725046531550, 0.761035161529367450, 0.761067596109615390, 0.761100028787194960, 0.761132459562023910, 0.761164888434021750, 0.761197315403107310, +0.761229740469199560, 0.761262163632217440, 0.761294584892080020, 0.761327004248706030, 0.761359421702015090, 0.761391837251925160, 0.761424250898355530, 0.761456662641225250, +0.761489072480453390, 0.761521480415958800, 0.761553886447660530, 0.761586290575478220, 0.761618692799329480, 0.761651093119134040, 0.761683491534810850, 0.761715888046278880, +0.761748282653457290, 0.761780675356264920, 0.761813066154620970, 0.761845455048444810, 0.761877842037654520, 0.761910227122169600, 0.761942610301909130, 0.761974991576792050, +0.762007370946737540, 0.762039748411664660, 0.762072123971492380, 0.762104497626140300, 0.762136869375526490, 0.762169239219570470, 0.762201607158191300, 0.762233973191308150, +0.762266337318840080, 0.762298699540706170, 0.762331059856826140, 0.762363418267117840, 0.762395774771501000, 0.762428129369894680, 0.762460482062218060, 0.762492832848390200, +0.762525181728330280, 0.762557528701957480, 0.762589873769191410, 0.762622216929950030, 0.762654558184153180, 0.762686897531719810, 0.762719234972569330, 0.762751570506620680, +0.762783904133793160, 0.762816235854005820, 0.762848565667178510, 0.762880893573229190, 0.762913219572077580, 0.762945543663642980, 0.762977865847844550, 0.763010186124601360, +0.763042504493832820, 0.763074820955458530, 0.763107135509396680, 0.763139448155566890, 0.763171758893888550, 0.763204067724280840, 0.763236374646662830, 0.763268679660954020, +0.763300982767073480, 0.763333283964941050, 0.763365583254474790, 0.763397880635594660, 0.763430176108219730, 0.763462469672269380, 0.763494761327662920, 0.763527051074319510, +0.763559338912159100, 0.763591624841099660, 0.763623908861061240, 0.763656190971963020, 0.763688471173724400, 0.763720749466264560, 0.763753025849502780, 0.763785300323358450, +0.763817572887751430, 0.763849843542599990, 0.763882112287823880, 0.763914379123342590, 0.763946644049075200, 0.763978907064941310, 0.764011168170860120, 0.764043427366751020, +0.764075684652533840, 0.764107940028126990, 0.764140193493450190, 0.764172445048422970, 0.764204694692964700, 0.764236942426994580, 0.764269188250432220, 0.764301432163197350, +0.764333674165208370, 0.764365914256385230, 0.764398152436647220, 0.764430388705913950, 0.764462623064104620, 0.764494855511138720, 0.764527086046935760, 0.764559314671415580, +0.764591541384496590, 0.764623766186098730, 0.764655989076141520, 0.764688210054544240, 0.764720429121226510, 0.764752646276107620, 0.764784861519107180, 0.764817074850145160, +0.764849286269139840, 0.764881495776011390, 0.764913703370679100, 0.764945909053062590, 0.764978112823081370, 0.765010314680654720, 0.765042514625702940, 0.765074712658144310, +0.765106908777898890, 0.765139102984886190, 0.765171295279025830, 0.765203485660237100, 0.765235674128439740, 0.765267860683553120, 0.765300045325497450, 0.765332228054191100, +0.765364408869554260, 0.765396587771506320, 0.765428764759966910, 0.765460939834855520, 0.765493112996091910, 0.765525284243596000, 0.765557453577286440, 0.765589620997083050, +0.765621786502905800, 0.765653950094673960, 0.765686111772307280, 0.765718271535725360, 0.765750429384847720, 0.765782585319594530, 0.765814739339884310, 0.765846891445637330, +0.765879041636773120, 0.765911189913211170, 0.765943336274871430, 0.765975480721673210, 0.766007623253536330, 0.766039763870380970, 0.766071902572125650, 0.766104039358690540, +0.766136174229995360, 0.766168307185959740, 0.766200438226503300, 0.766232567351545880, 0.766264694561007540, 0.766296819854806910, 0.766328943232864160, 0.766361064695099130, +0.766393184241431440, 0.766425301871780710, 0.766457417586066780, 0.766489531384209280, 0.766521643266128590, 0.766553753231743240, 0.766585861280973390, 0.766617967413739000, +0.766650071629959570, 0.766682173929555070, 0.766714274312445100, 0.766746372778549400, 0.766778469327788370, 0.766810563960080630, 0.766842656675346460, 0.766874747473505700, +0.766906836354477980, 0.766938923318183250, 0.766971008364541130, 0.767003091493472120, 0.767035172704894740, 0.767067251998729490, 0.767099329374896110, 0.767131404833314430, +0.767163478373904200, 0.767195549996585240, 0.767227619701277510, 0.767259687487901190, 0.767291753356375120, 0.767323817306619690, 0.767355879338554650, 0.767387939452100040, +0.767419997647175500, 0.767452053923700970, 0.767484108281596860, 0.767516160720781880, 0.767548211241176560, 0.767580259842700730, 0.767612306525274240, 0.767644351288816920, +0.767676394133248730, 0.767708435058489620, 0.767740474064460000, 0.767772511151078580, 0.767804546318265890, 0.767836579565941870, 0.767868610894026360, 0.767900640302439320, +0.767932667791100700, 0.767964693359930340, 0.767996717008848860, 0.768028738737775110, 0.768060758546629360, 0.768092776435331800, 0.768124792403802380, 0.768156806451960830, +0.768188818579727320, 0.768220828787022360, 0.768252837073764680, 0.768284843439875020, 0.768316847885273210, 0.768348850409879210, 0.768380851013613200, 0.768412849696395010, +0.768444846458144700, 0.768476841298782800, 0.768508834218228240, 0.768540825216401660, 0.768572814293222990, 0.768604801448612210, 0.768636786682489580, 0.768668769994774850, +0.768700751385388180, 0.768732730854250310, 0.768764708401279970, 0.768796684026397890, 0.768828657729524020, 0.768860629510578650, 0.768892599369481620, 0.768924567306153110, +0.768956533320513720, 0.768988497412482540, 0.769020459581979950, 0.769052419828926360, 0.769084378153241600, 0.769116334554845960, 0.769148289033659500, 0.769180241589602300, +0.769212192222595070, 0.769244140932556770, 0.769276087719408030, 0.769308032583069230, 0.769339975523460230, 0.769371916540501410, 0.769403855634112730, 0.769435792804214920, +0.769467728050727160, 0.769499661373570070, 0.769531592772663810, 0.769563522247928570, 0.769595449799284510, 0.769627375426651830, 0.769659299129950680, 0.769691220909101910, +0.769723140764024480, 0.769755058694639230, 0.769786974700866320, 0.769818888782625940, 0.769850800939838380, 0.769882711172423790, 0.769914619480302490, 0.769946525863395070, +0.769978430321620940, 0.770010332854900610, 0.770042233463154480, 0.770074132146302830, 0.770106028904265830, 0.770137923736963660, 0.770169816644317380, 0.770201707626245850, +0.770233596682670110, 0.770265483813510450, 0.770297369018686950, 0.770329252298120220, 0.770361133651730200, 0.770393013079437420, 0.770424890581162590, 0.770456766156825010, +0.770488639806345520, 0.770520511529644400, 0.770552381326642060, 0.770584249197258760, 0.770616115141414810, 0.770647979159031160, 0.770679841250026980, 0.770711701414323210, +0.770743559651840270, 0.770775415962498320, 0.770807270346217770, 0.770839122802919220, 0.770870973332522750, 0.770902821934949410, 0.770934668610118500, 0.770966513357950860, +0.770998356178366980, 0.771030197071287170, 0.771062036036631930, 0.771093873074321530, 0.771125708184276500, 0.771157541366417790, 0.771189372620664670, 0.771221201946938000, +0.771253029345158380, 0.771284854815246220, 0.771316678357121920, 0.771348499970705870, 0.771380319655919240, 0.771412137412681220, 0.771443953240912750, 0.771475767140534450, +0.771507579111466830, 0.771539389153630180, 0.771571197266945010, 0.771603003451331930, 0.771634807706711890, 0.771666610033004190, 0.771698410430130100, 0.771730208898009920, +0.771762005436564150, 0.771793800045713410, 0.771825592725378210, 0.771857383475478940, 0.771889172295936900, 0.771920959186671360, 0.771952744147603290, 0.771984527178653510, +0.772016308279742320, 0.772048087450790340, 0.772079864691718190, 0.772111640002446920, 0.772143413382896050, 0.772175184832986530, 0.772206954352639200, 0.772238721941774340, +0.772270487600312800, 0.772302251328174980, 0.772334013125281490, 0.772365772991553620, 0.772397530926910660, 0.772429286931273880, 0.772461041004563920, 0.772492793146701380, +0.772524543357606900, 0.772556291637200960, 0.772588037985404870, 0.772619782402138130, 0.772651524887322030, 0.772683265440876950, 0.772715004062723860, 0.772746740752783160, +0.772778475510975670, 0.772810208337221920, 0.772841939231443290, 0.772873668193559290, 0.772905395223491000, 0.772937120321159240, 0.772968843486484760, 0.773000564719388050, +0.773032284019790070, 0.773064001387611330, 0.773095716822773120, 0.773127430325195040, 0.773159141894798400, 0.773190851531503910, 0.773222559235232310, 0.773254265005904330, +0.773285968843440590, 0.773317670747762590, 0.773349370718789840, 0.773381068756443630, 0.773412764860644810, 0.773444459031313980, 0.773476151268372100, 0.773507841571739800, +0.773539529941337790, 0.773571216377087700, 0.773602900878908930, 0.773634583446722870, 0.773666264080450360, 0.773697942780012250, 0.773729619545329260, 0.773761294376322130, +0.773792967272911910, 0.773824638235019790, 0.773856307262565490, 0.773887974355470410, 0.773919639513655390, 0.773951302737041270, 0.773982964025549000, 0.774014623379099210, +0.774046280797613400, 0.774077936281011400, 0.774109589829214520, 0.774141241442143690, 0.774172891119719760, 0.774204538861863580, 0.774236184668496090, 0.774267828539538130, +0.774299470474911100, 0.774331110474534840, 0.774362748538330870, 0.774394384666220010, 0.774426018858123230, 0.774457651113961370, 0.774489281433655360, 0.774520909817126620, +0.774552536264295210, 0.774584160775082300, 0.774615783349409170, 0.774647403987196450, 0.774679022688365300, 0.774710639452836470, 0.774742254280531120, 0.774773867171370760, +0.774805478125275120, 0.774837087142165700, 0.774868694221963690, 0.774900299364589930, 0.774931902569965360, 0.774963503838011050, 0.774995103168647950, 0.775026700561797680, +0.775058296017380190, 0.775089889535316880, 0.775121481115528810, 0.775153070757937050, 0.775184658462462650, 0.775216244229026570, 0.775247828057550550, 0.775279409947954300, +0.775310989900159450, 0.775342567914087290, 0.775374143989658650, 0.775405718126794600, 0.775437290325416310, 0.775468860585444730, 0.775500428906801600, 0.775531995289406860, +0.775563559733182140, 0.775595122238048500, 0.775626682803926990, 0.775658241430738920, 0.775689798118405100, 0.775721352866846850, 0.775752905675985760, 0.775784456545741910, +0.775816005476036800, 0.775847552466791820, 0.775879097517927830, 0.775910640629366210, 0.775942181801027920, 0.775973721032834800, 0.776005258324706680, 0.776036793676565530, +0.776068327088332400, 0.776099858559928360, 0.776131388091274800, 0.776162915682292680, 0.776194441332903270, 0.776225965043028320, 0.776257486812587880, 0.776289006641503800, +0.776320524529697130, 0.776352040477089280, 0.776383554483601190, 0.776415066549154260, 0.776446576673670230, 0.776478084857069150, 0.776509591099272870, 0.776541095400202660, +0.776572597759779710, 0.776604098177925310, 0.776635596654560610, 0.776667093189606920, 0.776698587782986060, 0.776730080434618110, 0.776761571144425010, 0.776793059912327940, +0.776824546738248300, 0.776856031622107260, 0.776887514563826100, 0.776918995563326220, 0.776950474620529350, 0.776981951735355780, 0.777013426907727340, 0.777044900137565330, +0.777076371424791020, 0.777107840769325820, 0.777139308171091000, 0.777170773630008530, 0.777202237145998450, 0.777233698718982850, 0.777265158348883100, 0.777296616035620280, +0.777328071779116000, 0.777359525579291550, 0.777390977436068330, 0.777422427349368170, 0.777453875319111360, 0.777485321345219860, 0.777516765427615050, 0.777548207566218340, +0.777579647760951230, 0.777611086011734900, 0.777642522318490850, 0.777673956681141030, 0.777705389099605740, 0.777736819573807030, 0.777768248103666290, 0.777799674689104940, +0.777831099330044350, 0.777862522026406040, 0.777893942778111970, 0.777925361585082520, 0.777956778447239650, 0.777988193364504750, 0.778019606336799450, 0.778051017364045140, +0.778082426446163320, 0.778113833583075400, 0.778145238774703430, 0.778176642020967810, 0.778208043321790610, 0.778239442677093220, 0.778270840086797260, 0.778302235550824230, +0.778333629069095640, 0.778365020641533460, 0.778396410268058280, 0.778427797948591960, 0.778459183683056220, 0.778490567471372460, 0.778521949313462410, 0.778553329209247360, +0.778584707158649030, 0.778616083161589480, 0.778647457217989110, 0.778678829327770220, 0.778710199490854180, 0.778741567707162630, 0.778772933976617180, 0.778804298299139440, +0.778835660674650930, 0.778867021103073820, 0.778898379584328500, 0.778929736118337380, 0.778961090705021840, 0.778992443344303620, 0.779023794036104220, 0.779055142780345380, +0.779086489576949370, 0.779117834425836380, 0.779149177326928900, 0.779180518280148450, 0.779211857285416750, 0.779243194342655320, 0.779274529451785990, 0.779305862612730270, +0.779337193825410450, 0.779368523089747130, 0.779399850405662510, 0.779431175773078300, 0.779462499191916010, 0.779493820662097600, 0.779525140183544570, 0.779556457756179320, +0.779587773379922360, 0.779619087054695850, 0.779650398780421750, 0.779681708557021570, 0.779713016384417150, 0.779744322262530210, 0.779775626191282490, 0.779806928170596160, +0.779838228200392060, 0.779869526280592360, 0.779900822411118800, 0.779932116591893210, 0.779963408822837320, 0.779994699103872980, 0.780025987434921800, 0.780057273815906280, +0.780088558246746940, 0.780119840727366290, 0.780151121257685930, 0.780182399837627830, 0.780213676467113700, 0.780244951146065510, 0.780276223874405320, 0.780307494652054180, +0.780338763478934160, 0.780370030354967330, 0.780401295280075400, 0.780432558254180230, 0.780463819277203650, 0.780495078349067510, 0.780526335469694190, 0.780557590639004540, +0.780588843856920960, 0.780620095123365170, 0.780651344438259230, 0.780682591801524880, 0.780713837213084070, 0.780745080672858640, 0.780776322180771090, 0.780807561736742150, +0.780838799340694330, 0.780870034992549480, 0.780901268692229640, 0.780932500439656560, 0.780963730234752180, 0.780994958077439130, 0.781026183967638010, 0.781057407905271560, +0.781088629890261510, 0.781119849922529920, 0.781151068001998630, 0.781182284128589810, 0.781213498302225200, 0.781244710522827400, 0.781275920790317270, 0.781307129104617300, +0.781338335465649570, 0.781369539873335910, 0.781400742327598490, 0.781431942828359260, 0.781463141375540630, 0.781494337969063650, 0.781525532608850830, 0.781556725294824120, +0.781587916026905580, 0.781619104805017280, 0.781650291629081280, 0.781681476499019530, 0.781712659414754540, 0.781743840376207480, 0.781775019383300740, 0.781806196435956500, +0.781837371534096710, 0.781868544677643550, 0.781899715866518960, 0.781930885100645230, 0.781962052379944650, 0.781993217704338490, 0.782024381073749280, 0.782055542488099160, +0.782086701947310110, 0.782117859451304300, 0.782149015000003890, 0.782180168593331500, 0.782211320231208100, 0.782242469913556390, 0.782273617640298570, 0.782304763411356690, +0.782335907226652800, 0.782367049086109210, 0.782398188989648080, 0.782429326937191920, 0.782460462928662000, 0.782491596963980740, 0.782522729043070630, 0.782553859165853630, +0.782584987332252120, 0.782616113542187960, 0.782647237795583650, 0.782678360092361690, 0.782709480432443370, 0.782740598815751310, 0.782771715242207790, 0.782802829711734980, +0.782833942224255060, 0.782865052779690210, 0.782896161377963360, 0.782927268018995590, 0.782958372702709630, 0.782989475429027750, 0.783020576197872130, 0.783051675009165060, +0.783082771862828820, 0.783113866758785690, 0.783144959696958410, 0.783176050677268250, 0.783207139699637840, 0.783238226763989690, 0.783269311870245950, 0.783300395018328930, +0.783331476208160900, 0.783362555439664710, 0.783393632712761630, 0.783424708027374410, 0.783455781383425530, 0.783486852780837070, 0.783517922219531540, 0.783548989699431210, +0.783580055220458370, 0.783611118782535980, 0.783642180385585200, 0.783673240029528980, 0.783704297714289730, 0.783735353439789730, 0.783766407205951250, 0.783797459012696820, +0.783828508859948700, 0.783859556747629860, 0.783890602675661690, 0.783921646643966910, 0.783952688652468030, 0.783983728701087460, 0.784014766789747460, 0.784045802918370670, +0.784076837086879920, 0.784107869295196380, 0.784138899543243340, 0.784169927830942970, 0.784200954158217780, 0.784231978524990270, 0.784263000931182730, 0.784294021376717780, +0.784325039861518250, 0.784356056385505540, 0.784387070948602720, 0.784418083550732280, 0.784449094191816520, 0.784480102871778160, 0.784511109590539490, 0.784542114348023010, +0.784573117144151900, 0.784604117978847330, 0.784635116852032470, 0.784666113763629820, 0.784697108713561910, 0.784728101701751330, 0.784759092728120390, 0.784790081792592240, +0.784821068895088400, 0.784852054035531820, 0.784883037213845220, 0.784914018429950900, 0.784944997683771570, 0.784975974975229860, 0.785006950304248050, 0.785037923670749540, +0.785068895074655600, 0.785099864515889420, 0.785130831994373610, 0.785161797510030680, 0.785192761062783350, 0.785223722652554020, 0.785254682279265980, 0.785285639942840620, +0.785316595643201330, 0.785347549380270400, 0.785378501153970570, 0.785409450964224540, 0.785440398810954950, 0.785471344694084310, 0.785502288613535880, 0.785533230569231080, +0.785564170561093290, 0.785595108589045130, 0.785626044653009110, 0.785656978752907960, 0.785687910888664410, 0.785718841060201070, 0.785749769267441220, 0.785780695510306380, +0.785811619788719720, 0.785842542102604070, 0.785873462451882050, 0.785904380836476400, 0.785935297256309840, 0.785966211711305540, 0.785997124201385120, 0.786028034726471980, +0.786058943286488620, 0.786089849881357990, 0.786120754511002830, 0.786151657175345630, 0.786182557874309350, 0.786213456607817160, 0.786244353375790910, 0.786275248178153750, +0.786306141014828320, 0.786337031885737670, 0.786367920790804420, 0.786398807729951410, 0.786429692703101260, 0.786460575710177580, 0.786491456751101770, 0.786522335825797450, +0.786553212934187230, 0.786584088076193950, 0.786614961251740460, 0.786645832460749590, 0.786676701703144630, 0.786707568978847420, 0.786738434287781230, 0.786769297629869020, +0.786800159005033640, 0.786831018413197690, 0.786861875854284350, 0.786892731328216240, 0.786923584834916870, 0.786954436374307950, 0.786985285946313010, 0.787016133550854760, +0.787046979187856270, 0.787077822857240260, 0.787108664558929690, 0.787139504292848070, 0.787170342058917120, 0.787201177857060340, 0.787232011687200580, 0.787262843549260790, +0.787293673443163920, 0.787324501368832810, 0.787355327326190510, 0.787386151315160430, 0.787416973335664410, 0.787447793387625940, 0.787478611470967980, 0.787509427585613490, +0.787540241731485510, 0.787571053908506900, 0.787601864116600600, 0.787632672355690230, 0.787663478625697520, 0.787694282926546310, 0.787725085258159210, 0.787755885620459510, +0.787786684013370040, 0.787817480436813990, 0.787848274890714630, 0.787879067374994020, 0.787909857889575900, 0.787940646434383000, 0.787971433009338580, 0.788002217614365510, +0.788033000249386940, 0.788063780914325830, 0.788094559609105790, 0.788125336333648900, 0.788156111087878640, 0.788186883871717980, 0.788217654685090310, 0.788248423527918350, +0.788279190400125400, 0.788309955301634950, 0.788340718232369180, 0.788371479192251590, 0.788402238181205250, 0.788432995199153330, 0.788463750246018890, 0.788494503321725100, +0.788525254426195030, 0.788556003559352400, 0.788586750721119280, 0.788617495911419280, 0.788648239130175450, 0.788678980377310990, 0.788709719652749160, 0.788740456956413040, +0.788771192288225790, 0.788801925648111020, 0.788832657035990930, 0.788863386451789220, 0.788894113895429070, 0.788924839366833550, 0.788955562865925940, 0.788986284392629520, +0.789017003946867910, 0.789047721528563170, 0.789078437137639140, 0.789109150774019110, 0.789139862437626130, 0.789170572128383490, 0.789201279846214470, 0.789231985591042130, +0.789262689362790540, 0.789293391161381530, 0.789324090986739170, 0.789354788838786510, 0.789385484717446850, 0.789416178622643570, 0.789446870554299740, 0.789477560512338860, +0.789508248496684550, 0.789538934507259090, 0.789569618543986220, 0.789600300606789430, 0.789630980695591790, 0.789661658810316690, 0.789692334950887530, 0.789723009117228040, +0.789753681309260490, 0.789784351526908730, 0.789815019770096050, 0.789845686038745830, 0.789876350332781470, 0.789907012652126150, 0.789937672996703370, 0.789968331366436960, +0.789998987761249110, 0.790029642181063750, 0.790060294625804400, 0.790090945095394240, 0.790121593589756750, 0.790152240108815240, 0.790182884652493760, 0.790213527220714470, +0.790244167813401340, 0.790274806430477870, 0.790305443071867230, 0.790336077737493150, 0.790366710427278800, 0.790397341141147680, 0.790427969879023750, 0.790458596640829290, +0.790489221426488480, 0.790519844235924470, 0.790550465069060900, 0.790581083925821270, 0.790611700806128860, 0.790642315709907170, 0.790672928637080160, 0.790703539587570450, +0.790734148561301750, 0.790764755558197810, 0.790795360578181890, 0.790825963621177630, 0.790856564687108410, 0.790887163775898290, 0.790917760887469790, 0.790948356021746850, +0.790978949178653080, 0.791009540358111880, 0.791040129560046880, 0.791070716784381460, 0.791101302031039340, 0.791131885299944490, 0.791162466591019410, 0.791193045904188040, +0.791223623239374120, 0.791254198596501150, 0.791284771975492740, 0.791315343376272410, 0.791345912798763650, 0.791376480242890650, 0.791407045708575900, 0.791437609195743570, +0.791468170704317190, 0.791498730234220460, 0.791529287785376790, 0.791559843357710010, 0.791590396951144080, 0.791620948565601610, 0.791651498201006890, 0.791682045857283300, +0.791712591534354690, 0.791743135232144570, 0.791773676950576540, 0.791804216689574350, 0.791834754449062260, 0.791865290228962570, 0.791895824029199780, 0.791926355849697390, +0.791956885690379140, 0.791987413551168640, 0.792017939431989610, 0.792048463332766350, 0.792078985253421350, 0.792109505193878790, 0.792140023154062510, 0.792170539133896230, +0.792201053133303580, 0.792231565152208270, 0.792262075190534150, 0.792292583248205280, 0.792323089325144390, 0.792353593421275870, 0.792384095536523340, 0.792414595670810520, +0.792445093824061250, 0.792475589996199270, 0.792506084187148300, 0.792536576396832610, 0.792567066625174950, 0.792597554872099600, 0.792628041137530490, 0.792658525421391150, +0.792689007723605620, 0.792719488044097420, 0.792749966382791160, 0.792780442739609460, 0.792810917114476490, 0.792841389507316420, 0.792871859918052760, 0.792902328346609450, +0.792932794792910340, 0.792963259256879270, 0.792993721738440630, 0.793024182237517030, 0.793054640754033090, 0.793085097287912430, 0.793115551839079110, 0.793146004407456860, +0.793176454992969630, 0.793206903595541360, 0.793237350215096230, 0.793267794851557180, 0.793298237504848740, 0.793328678174894610, 0.793359116861618860, 0.793389553564945340, +0.793419988284797870, 0.793450421021100970, 0.793480851773777470, 0.793511280542751880, 0.793541707327948150, 0.793572132129290010, 0.793602554946701620, 0.793632975780106830, +0.793663394629429590, 0.793693811494594500, 0.793724226375524200, 0.793754639272143400, 0.793785050184376060, 0.793815459112146020, 0.793845866055377320, 0.793876271013993940, +0.793906673987920470, 0.793937074977079770, 0.793967473981396440, 0.793997871000794330, 0.794028266035197610, 0.794058659084530220, 0.794089050148716110, 0.794119439227679360, +0.794149826321344680, 0.794180211429634800, 0.794210594552474450, 0.794240975689787580, 0.794271354841498240, 0.794301732007530630, 0.794332107187808560, 0.794362480382256320, +0.794392851590798310, 0.794423220813357700, 0.794453588049858990, 0.794483953300226360, 0.794514316564383870, 0.794544677842255580, 0.794575037133765540, 0.794605394438838490, +0.794635749757397480, 0.794666103089366920, 0.794696454434671300, 0.794726803793234460, 0.794757151164980580, 0.794787496549833830, 0.794817839947718370, 0.794848181358558840, +0.794878520782278280, 0.794908858218801420, 0.794939193668052440, 0.794969527129955500, 0.794999858604434670, 0.795030188091414350, 0.795060515590818360, 0.795090841102571780, +0.795121164626597430, 0.795151486162820280, 0.795181805711164370, 0.795212123271553880, 0.795242438843913210, 0.795272752428166420, 0.795303064024238230, 0.795333373632051810, +0.795363681251532010, 0.795393986882602990, 0.795424290525189040, 0.795454592179214330, 0.795484891844603140, 0.795515189521279750, 0.795545485209168900, 0.795575778908193860, +0.795606070618279260, 0.795636360339349590, 0.795666648071328920, 0.795696933814141750, 0.795727217567712140, 0.795757499331965050, 0.795787779106823740, 0.795818056892212860, +0.795848332688056990, 0.795878606494280110, 0.795908878310806810, 0.795939148137561390, 0.795969415974468020, 0.795999681821451640, 0.796029945678435550, 0.796060207545344570, +0.796090467422103100, 0.796120725308635420, 0.796150981204865940, 0.796181235110719030, 0.796211487026118990, 0.796241736950990760, 0.796271984885257740, 0.796302230828844660, +0.796332474781676130, 0.796362716743676310, 0.796392956714769730, 0.796423194694880760, 0.796453430683934260, 0.796483664681853720, 0.796513896688564090, 0.796544126703989660, +0.796574354728054820, 0.796604580760684190, 0.796634804801802150, 0.796665026851333000, 0.796695246909201900, 0.796725464975332030, 0.796755681049648670, 0.796785895132075980, +0.796816107222538590, 0.796846317320960900, 0.796876525427267390, 0.796906731541382700, 0.796936935663231650, 0.796967137792737650, 0.796997337929825860, 0.797027536074420780, +0.797057732226446820, 0.797087926385828480, 0.797118118552490370, 0.797148308726357560, 0.797178496907353320, 0.797208683095402940, 0.797238867290430810, 0.797269049492361550, +0.797299229701119660, 0.797329407916629650, 0.797359584138816140, 0.797389758367604170, 0.797419930602917380, 0.797450100844680600, 0.797480269092818660, 0.797510435347256070, +0.797540599607917340, 0.797570761874727200, 0.797600922147610580, 0.797631080426491220, 0.797661236711294070, 0.797691391001943860, 0.797721543298365200, 0.797751693600482700, +0.797781841908220880, 0.797811988221504450, 0.797842132540258710, 0.797872274864407040, 0.797902415193874610, 0.797932553528586270, 0.797962689868466410, 0.797992824213439980, +0.798022956563431360, 0.798053086918365410, 0.798083215278167280, 0.798113341642760600, 0.798143466012070530, 0.798173588386021820, 0.798203708764539050, 0.798233827147547090, +0.798263943534970540, 0.798294057926734690, 0.798324170322763150, 0.798354280722981200, 0.798384389127313470, 0.798414495535684890, 0.798444599948019970, 0.798474702364243560, +0.798504802784280490, 0.798534901208055810, 0.798564997635493490, 0.798595092066518570, 0.798625184501055910, 0.798655274939030320, 0.798685363380366550, 0.798715449824989430, +0.798745534272824130, 0.798775616723794490, 0.798805697177825790, 0.798835775634842870, 0.798865852094770570, 0.798895926557533500, 0.798925999023056720, 0.798956069491264960, +0.798986137962083510, 0.799016204435436190, 0.799046268911248300, 0.799076331389444890, 0.799106391869950580, 0.799136450352690210, 0.799166506837588830, 0.799196561324571060, +0.799226613813562530, 0.799256664304486830, 0.799286712797269590, 0.799316759291835540, 0.799346803788109520, 0.799376846286016460, 0.799406886785481440, 0.799436925286429620, +0.799466961788785070, 0.799496996292472950, 0.799527028797418440, 0.799557059303546370, 0.799587087810781580, 0.799617114319049140, 0.799647138828273870, 0.799677161338381290, +0.799707181849295350, 0.799737200360941420, 0.799767216873244480, 0.799797231386129460, 0.799827243899521310, 0.799857254413345210, 0.799887262927525880, 0.799917269441988930, +0.799947273956658320, 0.799977276471459440, 0.800007276986317350, 0.800037275501157220, 0.800067272015903770, 0.800097266530482190, 0.800127259044817960, 0.800157249558835160, +0.800187238072459060, 0.800217224585614950, 0.800247209098227770, 0.800277191610222590, 0.800307172121524470, 0.800337150632058240, 0.800367127141749850, 0.800397101650523020, +0.800427074158303500, 0.800457044665016220, 0.800487013170586350, 0.800516979674939070, 0.800546944177999210, 0.800576906679692500, 0.800606867179943120, 0.800636825678676440, +0.800666782175817770, 0.800696736671292040, 0.800726689165024650, 0.800756639656940440, 0.800786588146964570, 0.800816534635022890, 0.800846479121039230, 0.800876421604939440, +0.800906362086648560, 0.800936300566091770, 0.800966237043194250, 0.800996171517881160, 0.801026103990077680, 0.801056034459709410, 0.801085962926700420, 0.801115889390976670, +0.801145813852463200, 0.801175736311085070, 0.801205656766767690, 0.801235575219436220, 0.801265491669016280, 0.801295406115432040, 0.801325318558609330, 0.801355228998473330, +0.801385137434949210, 0.801415043867962360, 0.801444948297437840, 0.801474850723300940, 0.801504751145477370, 0.801534649563891530, 0.801564545978468930, 0.801594440389135080, +0.801624332795815020, 0.801654223198434270, 0.801684111596917880, 0.801713997991191140, 0.801743882381180110, 0.801773764766808730, 0.801803645148002950, 0.801833523524688060, +0.801863399896789340, 0.801893274264232180, 0.801923146626941750, 0.801953016984844000, 0.801982885337863220, 0.802012751685925230, 0.802042616028955440, 0.802072478366878890, +0.802102338699621330, 0.802132197027107920, 0.802162053349263940, 0.802191907666015340, 0.802221759977286510, 0.802251610283003290, 0.802281458583090970, 0.802311304877475040, +0.802341149166080900, 0.802370991448833840, 0.802400831725659790, 0.802430669996483160, 0.802460506261229890, 0.802490340519825260, 0.802520172772194900, 0.802550003018264070, +0.802579831257958180, 0.802609657491202830, 0.802639481717923760, 0.802669303938045480, 0.802699124151493910, 0.802728942358194590, 0.802758758558072880, 0.802788572751054310, +0.802818384937064260, 0.802848195116028340, 0.802878003287872400, 0.802907809452520830, 0.802937613609899900, 0.802967415759934800, 0.802997215902551240, 0.803027014037674620, +0.803056810165230450, 0.803086604285144890, 0.803116396397342220, 0.803146186501748520, 0.803175974598289380, 0.803205760686890200, 0.803235544767476830, 0.803265326839974430, +0.803295106904308830, 0.803324884960405880, 0.803354661008190310, 0.803384435047587940, 0.803414207078524620, 0.803443977100925630, 0.803473745114716810, 0.803503511119823650, +0.803533275116171670, 0.803563037103687040, 0.803592797082294250, 0.803622555051919480, 0.803652311012488350, 0.803682064963926470, 0.803711816906159450, 0.803741566839112800, +0.803771314762712800, 0.803801060676883950, 0.803830804581552540, 0.803860546476644070, 0.803890286362084150, 0.803920024237798620, 0.803949760103713000, 0.803979493959752990, +0.804009225805844770, 0.804038955641912860, 0.804068683467883740, 0.804098409283682810, 0.804128133089235810, 0.804157854884468560, 0.804187574669306680, 0.804217292443676350, +0.804247008207502280, 0.804276721960710650, 0.804306433703227300, 0.804336143434977830, 0.804365851155887880, 0.804395556865883490, 0.804425260564890050, 0.804454962252834080, +0.804484661929640190, 0.804514359595234650, 0.804544055249543090, 0.804573748892491560, 0.804603440524005560, 0.804633130144010940, 0.804662817752433530, 0.804692503349199620, +0.804722186934233920, 0.804751868507462720, 0.804781548068811860, 0.804811225618207170, 0.804840901155574380, 0.804870574680839330, 0.804900246193928410, 0.804929915694766350, +0.804959583183279430, 0.804989248659393590, 0.805018912123034670, 0.805048573574128400, 0.805078233012600840, 0.805107890438377490, 0.805137545851385080, 0.805167199251548230, +0.805196850638793430, 0.805226500013046410, 0.805256147374233230, 0.805285792722279630, 0.805315436057111640, 0.805345077378654910, 0.805374716686836130, 0.805404353981580060, +0.805433989262812950, 0.805463622530461000, 0.805493253784449910, 0.805522883024705760, 0.805552510251154370, 0.805582135463722260, 0.805611758662334250, 0.805641379846916860, +0.805670999017396030, 0.805700616173697700, 0.805730231315747720, 0.805759844443472260, 0.805789455556797260, 0.805819064655649010, 0.805848671739952670, 0.805878276809634640, +0.805907879864620870, 0.805937480904837410, 0.805967079930210330, 0.805996676940665460, 0.806026271936129410, 0.806055864916527250, 0.806085455881785370, 0.806115044831829830, +0.806144631766586680, 0.806174216685981990, 0.806203799589941710, 0.806233380478391990, 0.806262959351259360, 0.806292536208468750, 0.806322111049946780, 0.806351683875619510, +0.806381254685413110, 0.806410823479253640, 0.806440390257066930, 0.806469955018779380, 0.806499517764317500, 0.806529078493606110, 0.806558637206572170, 0.806588193903141630, +0.806617748583240530, 0.806647301246795180, 0.806676851893731510, 0.806706400523976240, 0.806735947137454450, 0.806765491734092730, 0.806795034313817380, 0.806824574876554350, +0.806854113422230010, 0.806883649950770220, 0.806913184462101470, 0.806942716956150160, 0.806972247432841570, 0.807001775892102420, 0.807031302333858780, 0.807060826758036810, +0.807090349164562900, 0.807119869553363120, 0.807149387924364080, 0.807178904277491170, 0.807208418612670900, 0.807237930929829650, 0.807267441228893490, 0.807296949509788810, +0.807326455772441660, 0.807355960016778450, 0.807385462242725890, 0.807414962450209160, 0.807444460639154980, 0.807473956809489630, 0.807503450961139400, 0.807532943094030560, +0.807562433208089290, 0.807591921303241980, 0.807621407379415460, 0.807650891436534900, 0.807680373474527040, 0.807709853493318250, 0.807739331492834830, 0.807768807473003060, +0.807798281433749320, 0.807827753375000350, 0.807857223296681530, 0.807886691198719700, 0.807916157081041030, 0.807945620943572030, 0.807975082786238970, 0.808004542608968150, +0.808034000411686050, 0.808063456194319410, 0.808092909956793730, 0.808122361699035620, 0.808151811420971700, 0.808181259122528140, 0.808210704803631550, 0.808240148464208110, +0.808269590104184420, 0.808299029723487220, 0.808328467322041890, 0.808357902899775380, 0.808387336456614200, 0.808416767992484630, 0.808446197507313170, 0.808475625001026100, +0.808505050473550590, 0.808534473924811930, 0.808563895354737050, 0.808593314763252470, 0.808622732150284570, 0.808652147515759870, 0.808681560859604850, 0.808710972181745810, +0.808740381482109920, 0.808769788760622550, 0.808799194017210790, 0.808828597251800900, 0.808857998464319610, 0.808887397654693310, 0.808916794822848510, 0.808946189968712260, +0.808975583092209960, 0.809004974193268780, 0.809034363271815100, 0.809063750327775550, 0.809093135361076520, 0.809122518371644730, 0.809151899359406680, 0.809181278324289430, +0.809210655266218380, 0.809240030185120700, 0.809269403080922990, 0.809298773953551760, 0.809328142802933530, 0.809357509628995000, 0.809386874431662800, 0.809416237210863750, +0.809445597966523710, 0.809474956698569610, 0.809504313406928190, 0.809533668091525940, 0.809563020752289480, 0.809592371389145530, 0.809621720002021150, 0.809651066590841960, +0.809680411155535130, 0.809709753696027160, 0.809739094212244880, 0.809768432704114920, 0.809797769171563870, 0.809827103614518260, 0.809856436032905580, 0.809885766426651220, +0.809915094795682470, 0.809944421139925930, 0.809973745459308340, 0.810003067753756410, 0.810032388023196770, 0.810061706267556250, 0.810091022486761900, 0.810120336680739570, +0.810149648849416320, 0.810178958992718970, 0.810208267110574140, 0.810237573202908790, 0.810266877269649410, 0.810296179310723400, 0.810325479326056360, 0.810354777315575700, +0.810384073279208030, 0.810413367216880290, 0.810442659128519090, 0.810471949014051170, 0.810501236873403360, 0.810530522706503050, 0.810559806513275970, 0.810589088293649280, +0.810618368047549830, 0.810647645774904560, 0.810676921475640190, 0.810706195149683450, 0.810735466796961730, 0.810764736417400880, 0.810794004010928160, 0.810823269577470420, +0.810852533116954490, 0.810881794629307320, 0.810911054114455520, 0.810940311572326160, 0.810969567002846610, 0.810998820405942510, 0.811028071781541460, 0.811057321129570190, +0.811086568449955530, 0.811115813742624650, 0.811145057007504060, 0.811174298244520920, 0.811203537453602520, 0.811232774634674690, 0.811262009787664940, 0.811291242912500320, +0.811320474009107450, 0.811349703077413390, 0.811378930117345190, 0.811408155128830020, 0.811437378111794060, 0.811466599066164700, 0.811495817991868760, 0.811525034888833210, +0.811554249756985200, 0.811583462596251470, 0.811612673406559180, 0.811641882187835620, 0.811671088940006950, 0.811700293663000450, 0.811729496356743300, 0.811758697021162320, +0.811787895656184700, 0.811817092261737260, 0.811846286837747180, 0.811875479384141840, 0.811904669900847310, 0.811933858387791090, 0.811963044844900230, 0.811992229272101680, +0.812021411669322620, 0.812050592036489990, 0.812079770373531520, 0.812108946680373030, 0.812138120956942160, 0.812167293203166050, 0.812196463418971560, 0.812225631604286070, +0.812254797759036420, 0.812283961883149770, 0.812313123976553750, 0.812342284039174410, 0.812371442070939360, 0.812400598071775780, 0.812429752041610610, 0.812458903980371130, +0.812488053887984290, 0.812517201764377920, 0.812546347609477970, 0.812575491423212170, 0.812604633205507690, 0.812633772956291580, 0.812662910675491010, 0.812692046363033270, +0.812721180018845300, 0.812750311642854940, 0.812779441234988350, 0.812808568795173050, 0.812837694323336410, 0.812866817819405510, 0.812895939283307500, 0.812925058714969670, +0.812954176114319300, 0.812983291481283900, 0.813012404815789740, 0.813041516117764650, 0.813070625387135700, 0.813099732623830170, 0.813128837827775450, 0.813157940998898490, +0.813187042137127230, 0.813216141242387950, 0.813245238314608150, 0.813274333353715350, 0.813303426359636710, 0.813332517332299500, 0.813361606271631010, 0.813390693177558520, +0.813419778050009760, 0.813448860888911000, 0.813477941694190190, 0.813507020465774500, 0.813536097203591210, 0.813565171907567720, 0.813594244577631300, 0.813623315213709230, +0.813652383815729460, 0.813681450383618170, 0.813710514917303280, 0.813739577416712100, 0.813768637881771890, 0.813797696312410170, 0.813826752708554200, 0.813855807070131940, +0.813884859397069560, 0.813913909689295000, 0.813942957946735660, 0.813972004169319030, 0.814001048356972290, 0.814030090509623050, 0.814059130627198480, 0.814088168709626640, +0.814117204756833800, 0.814146238768748030, 0.814175270745296610, 0.814204300686407030, 0.814233328592006700, 0.814262354462023110, 0.814291378296384090, 0.814320400095016050, +0.814349419857847150, 0.814378437584804550, 0.814407453275815870, 0.814436466930808620, 0.814465478549710300, 0.814494488132448180, 0.814523495678950330, 0.814552501189143240, +0.814581504662954870, 0.814610506100312830, 0.814639505501144500, 0.814668502865377290, 0.814697498192938910, 0.814726491483756870, 0.814755482737759000, 0.814784471954871910, +0.814813459135023680, 0.814842444278141790, 0.814871427384153860, 0.814900408452987280, 0.814929387484569670, 0.814958364478829190, 0.814987339435692240, 0.815016312355086870, +0.815045283236940810, 0.815074252081181560, 0.815103218887736620, 0.815132183656533620, 0.815161146387500150, 0.815190107080564390, 0.815219065735652840, 0.815248022352693560, +0.815276976931614270, 0.815305929472342590, 0.815334879974806030, 0.815363828438932290, 0.815392774864649450, 0.815421719251884220, 0.815450661600564670, 0.815479601910618520, +0.815508540181973270, 0.815537476414556650, 0.815566410608296490, 0.815595342763120180, 0.815624272878956110, 0.815653200955730790, 0.815682126993372390, 0.815711050991808740, +0.815739972950967560, 0.815768892870776360, 0.815797810751162870, 0.815826726592054910, 0.815855640393380650, 0.815884552155066830, 0.815913461877041610, 0.815942369559232720, +0.815971275201567870, 0.816000178803974800, 0.816029080366381330, 0.816057979888715760, 0.816086877370904570, 0.816115772812876280, 0.816144666214558610, 0.816173557575879170, +0.816202446896765910, 0.816231334177146440, 0.816260219416948710, 0.816289102616100990, 0.816317983774529910, 0.816346862892163850, 0.816375739968930760, 0.816404615004758250, +0.816433487999574160, 0.816462358953306320, 0.816491227865882680, 0.816520094737231420, 0.816548959567279460, 0.816577822355955110, 0.816606683103186180, 0.816635541808900520, +0.816664398473026080, 0.816693253095490570, 0.816722105676222500, 0.816750956215148590, 0.816779804712197350, 0.816808651167296510, 0.816837495580374110, 0.816866337951357990, +0.816895178280175990, 0.816924016566756060, 0.816952852811026590, 0.816981687012914510, 0.817010519172348130, 0.817039349289255480, 0.817068177363564520, 0.817097003395203080, +0.817125827384099110, 0.817154649330181120, 0.817183469233375930, 0.817212287093612160, 0.817241102910817640, 0.817269916684920330, 0.817298728415848270, 0.817327538103529430, +0.817356345747891620, 0.817385151348863470, 0.817413954906372030, 0.817442756420345700, 0.817471555890712410, 0.817500353317400230, 0.817529148700337220, 0.817557942039451310, +0.817586733334670580, 0.817615522585923520, 0.817644309793137070, 0.817673094956239850, 0.817701878075159930, 0.817730659149825350, 0.817759438180164170, 0.817788215166104230, +0.817816990107574360, 0.817845763004501510, 0.817874533856814300, 0.817903302664440670, 0.817932069427308780, 0.817960834145346700, 0.817989596818482600, 0.818018357446644530, +0.818047116029760990, 0.818075872567759270, 0.818104627060567750, 0.818133379508114710, 0.818162129910328220, 0.818190878267136430, 0.818219624578467420, 0.818248368844249340, +0.818277111064410920, 0.818305851238879110, 0.818334589367582740, 0.818363325450449870, 0.818392059487408670, 0.818420791478387310, 0.818449521423314060, 0.818478249322117430, +0.818506975174724700, 0.818535698981064490, 0.818564420741065170, 0.818593140454654590, 0.818621858121761360, 0.818650573742313310, 0.818679287316238960, 0.818707998843466900, +0.818736708323924200, 0.818765415757539810, 0.818794121144241880, 0.818822824483958710, 0.818851525776618460, 0.818880225022149300, 0.818908922220480170, 0.818937617371538140, +0.818966310475252150, 0.818995001531550360, 0.819023690540361060, 0.819052377501612640, 0.819081062415233150, 0.819109745281150990, 0.819138426099294990, 0.819167104869592540, +0.819195781591972150, 0.819224456266362420, 0.819253128892691530, 0.819281799470887860, 0.819310468000879590, 0.819339134482595210, 0.819367798915963560, 0.819396461300911820, +0.819425121637368910, 0.819453779925263250, 0.819482436164523100, 0.819511090355076850, 0.819539742496852910, 0.819568392589780200, 0.819597040633785910, 0.819625686628798980, +0.819654330574747900, 0.819682972471560970, 0.819711612319166670, 0.819740250117493300, 0.819768885866469230, 0.819797519566023540, 0.819826151216083490, 0.819854780816578140, +0.819883408367435780, 0.819912033868584910, 0.819940657319953910, 0.819969278721471300, 0.819997898073065560, 0.820026515374665530, 0.820055130626198720, 0.820083743827594080, +0.820112354978779990, 0.820140964079685180, 0.820169571130237810, 0.820198176130366610, 0.820226779080000410, 0.820255379979066830, 0.820283978827494710, 0.820312575625212760, +0.820341170372149260, 0.820369763068232840, 0.820398353713392090, 0.820426942307555420, 0.820455528850651870, 0.820484113342609070, 0.820512695783355840, 0.820541276172821020, +0.820569854510933010, 0.820598430797620290, 0.820627005032811500, 0.820655577216435670, 0.820684147348420430, 0.820712715428694840, 0.820741281457187500, 0.820769845433826920, +0.820798407358541700, 0.820826967231260470, 0.820855525051911840, 0.820884080820424860, 0.820912634536727250, 0.820941186200747960, 0.820969735812415720, 0.820998283371659250, +0.821026828878406940, 0.821055372332587630, 0.821083913734129920, 0.821112453082962880, 0.821140990379014220, 0.821169525622213130, 0.821198058812488090, 0.821226589949768050, +0.821255119033981410, 0.821283646065057100, 0.821312171042924090, 0.821340693967510190, 0.821369214838744480, 0.821397733656555770, 0.821426250420872810, 0.821454765131624190, +0.821483277788738640, 0.821511788392144780, 0.821540296941772110, 0.821568803437548120, 0.821597307879402110, 0.821625810267262890, 0.821654310601059200, 0.821682808880719650, +0.821711305106173070, 0.821739799277348190, 0.821768291394174400, 0.821796781456579310, 0.821825269464492300, 0.821853755417842110, 0.821882239316557570, 0.821910721160567400, +0.821939200949800440, 0.821967678684185970, 0.821996154363651810, 0.822024627988127250, 0.822053099557541130, 0.822081569071822280, 0.822110036530899420, 0.822138501934701500, +0.822166965283157470, 0.822195426576196380, 0.822223885813746280, 0.822252342995736460, 0.822280798122095760, 0.822309251192753000, 0.822337702207637240, 0.822366151166677220, +0.822394598069802200, 0.822423042916940240, 0.822451485708020740, 0.822479926442972520, 0.822508365121724430, 0.822536801744205400, 0.822565236310344390, 0.822593668820070350, +0.822622099273312650, 0.822650527669999130, 0.822678954010059300, 0.822707378293422000, 0.822735800520016380, 0.822764220689771290, 0.822792638802615550, 0.822821054858478230, +0.822849468857288820, 0.822877880798975280, 0.822906290683466880, 0.822934698510692900, 0.822963104280582060, 0.822991507993063530, 0.823019909648066260, 0.823048309245519640, +0.823076706785351830, 0.823105102267492230, 0.823133495691869780, 0.823161887058413640, 0.823190276367052890, 0.823218663617716340, 0.823247048810333170, 0.823275431944832880, +0.823303813021143420, 0.823332192039194500, 0.823360568998915190, 0.823388943900234320, 0.823417316743081160, 0.823445687527384670, 0.823474056253074460, 0.823502422920078690, +0.823530787528326760, 0.823559150077747940, 0.823587510568271170, 0.823615868999825640, 0.823644225372340500, 0.823672579685744810, 0.823700931939968070, 0.823729282134938570, +0.823757630270585790, 0.823785976346839030, 0.823814320363627340, 0.823842662320879770, 0.823871002218525610, 0.823899340056493900, 0.823927675834714270, 0.823956009553115100, +0.823984341211625780, 0.824012670810175710, 0.824040998348693930, 0.824069323827109620, 0.824097647245352060, 0.824125968603350860, 0.824154287901034180, 0.824182605138331860, +0.824210920315172960, 0.824239233431486750, 0.824267544487202520, 0.824295853482249430, 0.824324160416556650, 0.824352465290054020, 0.824380768102669690, 0.824409068854333520, +0.824437367544974650, 0.824465664174522270, 0.824493958742905870, 0.824522251250054410, 0.824550541695897480, 0.824578830080364590, 0.824607116403384130, 0.824635400664885940, +0.824663682864799190, 0.824691963003053250, 0.824720241079577420, 0.824748517094300970, 0.824776791047153850, 0.824805062938064100, 0.824833332766961690, 0.824861600533776000, +0.824889866238436300, 0.824918129880871990, 0.824946391461012340, 0.824974650978786640, 0.825002908434124830, 0.825031163826955290, 0.825059417157207760, 0.825087668424811850, +0.825115917629696600, 0.825144164771791640, 0.825172409851026250, 0.825200652867330350, 0.825228893820632250, 0.825257132710861980, 0.825285369537948840, 0.825313604301822320, +0.825341837002411820, 0.825370067639646710, 0.825398296213456390, 0.825426522723770820, 0.825454747170518480, 0.825482969553629210, 0.825511189873032620, 0.825539408128658000, +0.825567624320434850, 0.825595838448292650, 0.825624050512160810, 0.825652260511969490, 0.825680468447646860, 0.825708674319123090, 0.825736878126327680, 0.825765079869190120, +0.825793279547639810, 0.825821477161606250, 0.825849672711019500, 0.825877866195808160, 0.825906057615902080, 0.825934246971230860, 0.825962434261724110, 0.825990619487311120, +0.826018802647921710, 0.826046983743485290, 0.826075162773931890, 0.826103339739190030, 0.826131514639189880, 0.826159687473860930, 0.826187858243132790, 0.826216026946934860, +0.826244193585196960, 0.826272358157848610, 0.826300520664819850, 0.826328681106039300, 0.826356839481437010, 0.826384995790942710, 0.826413150034485790, 0.826441302211996080, +0.826469452323403080, 0.826497600368636950, 0.826525746347626320, 0.826553890260301350, 0.826582032106591650, 0.826610171886426940, 0.826638309599736720, 0.826666445246450720, +0.826694578826498550, 0.826722710339810480, 0.826750839786315250, 0.826778967165942790, 0.826807092478622940, 0.826835215724285310, 0.826863336902859740, 0.826891456014275830, +0.826919573058463750, 0.826947688035352120, 0.826975800944871440, 0.827003911786951210, 0.827032020561521140, 0.827060127268511080, 0.827088231907850640, 0.827116334479469640, +0.827144434983298370, 0.827172533419265440, 0.827200629787301240, 0.827228724087335500, 0.827256816319297820, 0.827284906483118140, 0.827312994578726310, 0.827341080606051830, +0.827369164565025290, 0.827397246455575220, 0.827425326277632100, 0.827453404031125660, 0.827481479715985730, 0.827509553332142040, 0.827537624879524540, 0.827565694358063380, +0.827593761767687620, 0.827621827108327320, 0.827649890379912550, 0.827677951582373010, 0.827706010715638540, 0.827734067779639090, 0.827762122774304500, 0.827790175699565140, +0.827818226555349760, 0.827846275341588830, 0.827874322058212210, 0.827902366705149830, 0.827930409282331530, 0.827958449789687130, 0.827986488227146710, 0.828014524594640420, +0.828042558892097440, 0.828070591119448030, 0.828098621276622150, 0.828126649363549740, 0.828154675380160630, 0.828182699326384890, 0.828210721202153000, 0.828238741007393700, +0.828266758742037480, 0.828294774406014400, 0.828322787999254520, 0.828350799521687550, 0.828378808973243560, 0.828406816353852600, 0.828434821663445060, 0.828462824901950000, +0.828490826069297910, 0.828518825165418750, 0.828546822190242450, 0.828574817143699180, 0.828602810025718780, 0.828630800836231860, 0.828658789575167590, 0.828686776242456240, +0.828714760838027860, 0.828742743361812750, 0.828770723813740730, 0.828798702193741850, 0.828826678501746180, 0.828854652737684440, 0.828882624901485450, 0.828910594993079950, +0.828938563012397990, 0.828966528959369510, 0.828994492833924790, 0.829022454635993890, 0.829050414365506750, 0.829078372022394210, 0.829106327606585090, 0.829134281118010240, +0.829162232556599710, 0.829190181922283550, 0.829218129214991940, 0.829246074434655030, 0.829274017581203340, 0.829301958654566240, 0.829329897654674130, 0.829357834581457400, +0.829385769434845990, 0.829413702214770180, 0.829441632921160130, 0.829469561553945910, 0.829497488113058350, 0.829525412598426600, 0.829553335009981300, 0.829581255347652700, +0.829609173611370880, 0.829637089801066210, 0.829665003916668750, 0.829692915958108790, 0.829720825925317150, 0.829748733818222780, 0.829776639636756630, 0.829804543380848970, +0.829832445050429860, 0.829860344645429680, 0.829888242165778610, 0.829916137611407480, 0.829944030982245450, 0.829971922278223360, 0.829999811499271490, 0.830027698645320000, +0.830055583716299390, 0.830083466712139730, 0.830111347632771500, 0.830139226478125320, 0.830167103248130590, 0.830194977942718020, 0.830222850561818100, 0.830250721105361130, +0.830278589573277270, 0.830306455965496900, 0.830334320281950980, 0.830362182522568660, 0.830390042687281000, 0.830417900776018070, 0.830445756788710580, 0.830473610725288580, +0.830501462585682580, 0.830529312369822970, 0.830557160077640470, 0.830585005709064570, 0.830612849264026230, 0.830640690742455830, 0.830668530144283660, 0.830696367469440090, +0.830724202717855630, 0.830752035889460670, 0.830779866984186150, 0.830807696001961470, 0.830835522942717450, 0.830863347806384710, 0.830891170592893640, 0.830918991302174610, +0.830946809934158040, 0.830974626488774960, 0.831002440965954880, 0.831030253365628640, 0.831058063687726830, 0.831085871932179750, 0.831113678098918120, 0.831141482187872200, +0.831169284198972620, 0.831197084132150320, 0.831224881987334800, 0.831252677764457100, 0.831280471463447750, 0.831308263084237110, 0.831336052626755920, 0.831363840090934560, +0.831391625476703530, 0.831419408783994010, 0.831447190012735480, 0.831474969162858900, 0.831502746234294990, 0.831530521226974130, 0.831558294140827050, 0.831586064975784130, +0.831613833731776660, 0.831641600408734030, 0.831669365006587390, 0.831697127525267370, 0.831724887964704560, 0.831752646324829480, 0.831780402605572840, 0.831808156806865150, +0.831835908928637570, 0.831863658970819820, 0.831891406933342740, 0.831919152816137260, 0.831946896619133900, 0.831974638342263260, 0.832002377985456070, 0.832030115548643370, +0.832057851031754890, 0.832085584434721800, 0.832113315757474830, 0.832141044999944460, 0.832168772162061530, 0.832196497243756660, 0.832224220244960570, 0.832251941165604410, +0.832279660005617820, 0.832307376764932160, 0.832335091443478060, 0.832362804041186230, 0.832390514557987400, 0.832418222993812300, 0.832445929348591520, 0.832473633622256570, +0.832501335814736950, 0.832529035925964060, 0.832556733955868490, 0.832584429904381080, 0.832612123771432680, 0.832639815556953990, 0.832667505260876180, 0.832695192883129100, +0.832722878423644120, 0.832750561882351860, 0.832778243259183260, 0.832805922554069040, 0.832833599766939940, 0.832861274897726990, 0.832888947946361260, 0.832916618912772690, +0.832944287796892450, 0.832971954598651590, 0.832999619317980830, 0.833027281954811130, 0.833054942509073080, 0.833082600980698200, 0.833110257369616410, 0.833137911675758900, +0.833165563899056600, 0.833193214039440360, 0.833220862096841210, 0.833248508071189780, 0.833276151962417110, 0.833303793770454600, 0.833331433495232090, 0.833359071136681060, +0.833386706694732250, 0.833414340169316700, 0.833441971560365370, 0.833469600867809080, 0.833497228091578670, 0.833524853231605740, 0.833552476287820250, 0.833580097260153590, +0.833607716148536570, 0.833635332952900380, 0.833662947673175840, 0.833690560309293890, 0.833718170861186050, 0.833745779328782240, 0.833773385712013980, 0.833800990010812320, +0.833828592225108190, 0.833856192354832550, 0.833883790399916450, 0.833911386360290830, 0.833938980235887310, 0.833966572026635710, 0.833994161732467880, 0.834021749353314520, +0.834049334889106710, 0.834076918339775710, 0.834104499705252360, 0.834132078985467820, 0.834159656180353480, 0.834187231289839510, 0.834214804313857530, 0.834242375252338460, +0.834269944105213490, 0.834297510872413770, 0.834325075553870140, 0.834352638149514330, 0.834380198659276480, 0.834407757083088120, 0.834435313420880290, 0.834462867672584260, +0.834490419838131100, 0.834517969917451750, 0.834545517910477600, 0.834573063817140140, 0.834600607637369430, 0.834628149371097310, 0.834655689018254710, 0.834683226578773030, +0.834710762052583210, 0.834738295439616420, 0.834765826739804480, 0.834793355953077460, 0.834820883079366970, 0.834848408118604390, 0.834875931070720670, 0.834903451935647300, +0.834930970713315120, 0.834958487403655640, 0.834986002006600340, 0.835013514522079610, 0.835041024950025080, 0.835068533290367900, 0.835096039543039460, 0.835123543707970930, +0.835151045785093580, 0.835178545774338590, 0.835206043675637670, 0.835233539488921210, 0.835261033214120820, 0.835288524851167890, 0.835316014399993700, 0.835343501860529410, +0.835370987232706420, 0.835398470516456440, 0.835425951711709750, 0.835453430818398290, 0.835480907836453120, 0.835508382765805750, 0.835535855606387430, 0.835563326358129470, +0.835590795020963120, 0.835618261594820330, 0.835645726079631390, 0.835673188475328230, 0.835700648781841910, 0.835728106999104160, 0.835755563127046020, 0.835783017165599000, +0.835810469114694480, 0.835837918974264180, 0.835865366744238720, 0.835892812424549710, 0.835920256015128760, 0.835947697515907140, 0.835975136926816240, 0.836002574247787570, +0.836030009478752940, 0.836057442619642770, 0.836084873670388970, 0.836112302630923070, 0.836139729501176430, 0.836167154281080350, 0.836194576970566430, 0.836221997569566060, +0.836249416078011290, 0.836276832495832290, 0.836304246822961340, 0.836331659059329820, 0.836359069204869020, 0.836386477259510650, 0.836413883223186110, 0.836441287095827210, +0.836468688877364700, 0.836496088567730500, 0.836523486166856010, 0.836550881674672840, 0.836578275091112490, 0.836605666416106340, 0.836633055649586120, 0.836660442791483770, +0.836687827841729790, 0.836715210800256240, 0.836742591666994720, 0.836769970441876620, 0.836797347124833670, 0.836824721715797250, 0.836852094214699080, 0.836879464621471230, +0.836906832936044180, 0.836934199158350100, 0.836961563288320390, 0.836988925325886870, 0.837016285270981040, 0.837043643123534520, 0.837070998883479240, 0.837098352550746160, +0.837125704125267100, 0.837153053606973780, 0.837180400995797820, 0.837207746291670940, 0.837235089494524630, 0.837262430604290510, 0.837289769620900960, 0.837317106544286370, +0.837344441374379130, 0.837371774111110740, 0.837399104754412930, 0.837426433304217290, 0.837453759760455550, 0.837481084123059550, 0.837508406391961220, 0.837535726567091410, +0.837563044648382270, 0.837590360635765530, 0.837617674529172910, 0.837644986328536120, 0.837672296033786900, 0.837699603644857290, 0.837726909161678250, 0.837754212584181920, +0.837781513912300160, 0.837808813145964560, 0.837836110285106850, 0.837863405329658970, 0.837890698279552540, 0.837917989134719820, 0.837945277895091660, 0.837972564560600320, +0.837999849131177530, 0.838027131606755130, 0.838054411987264940, 0.838081690272638680, 0.838108966462808750, 0.838136240557705860, 0.838163512557262400, 0.838190782461410100, +0.838218050270080890, 0.838245315983206510, 0.838272579600718880, 0.838299841122549850, 0.838327100548631580, 0.838354357878895120, 0.838381613113272860, 0.838408866251696530, +0.838436117294097950, 0.838463366240409070, 0.838490613090561940, 0.838517857844488070, 0.838545100502120170, 0.838572341063389070, 0.838599579528227060, 0.838626815896566070, +0.838654050168338050, 0.838681282343474940, 0.838708512421908580, 0.838735740403571460, 0.838762966288394530, 0.838790190076310060, 0.838817411767250220, 0.838844631361146840, +0.838871848857931870, 0.838899064257537350, 0.838926277559895020, 0.838953488764937580, 0.838980697872595990, 0.839007904882802520, 0.839035109795489340, 0.839062312610588390, +0.839089513328031720, 0.839116711947751170, 0.839143908469678900, 0.839171102893747410, 0.839198295219887540, 0.839225485448031990, 0.839252673578112730, 0.839279859610061800, +0.839307043543811250, 0.839334225379293030, 0.839361405116439750, 0.839388582755182470, 0.839415758295453670, 0.839442931737185650, 0.839470103080310110, 0.839497272324759460, +0.839524439470465510, 0.839551604517360550, 0.839578767465376960, 0.839605928314446140, 0.839633087064500350, 0.839660243715471880, 0.839687398267292770, 0.839714550719895200, +0.839741701073211330, 0.839768849327173550, 0.839795995481713240, 0.839823139536763020, 0.839850281492254820, 0.839877421348120930, 0.839904559104293510, 0.839931694760704730, +0.839958828317286740, 0.839985959773972060, 0.840013089130692060, 0.840040216387379360, 0.840067341543966120, 0.840094464600384390, 0.840121585556566690, 0.840148704412444940, +0.840175821167951420, 0.840202935823018750, 0.840230048377578420, 0.840257158831562820, 0.840284267184904450, 0.840311373437535370, 0.840338477589387840, 0.840365579640394160, +0.840392679590486910, 0.840419777439597620, 0.840446873187658760, 0.840473966834602740, 0.840501058380361820, 0.840528147824868290, 0.840555235168054420, 0.840582320409852370, +0.840609403550195090, 0.840636484589013740, 0.840663563526241160, 0.840690640361809740, 0.840717715095651740, 0.840744787727699450, 0.840771858257885140, 0.840798926686141650, +0.840825993012400460, 0.840853057236594200, 0.840880119358655250, 0.840907179378516110, 0.840934237296109060, 0.840961293111366250, 0.840988346824220300, 0.841015398434603930, +0.841042447942448650, 0.841069495347687270, 0.841096540650252080, 0.841123583850075570, 0.841150624947090030, 0.841177663941228060, 0.841204700832421830, 0.841231735620604380, +0.841258768305707120, 0.841285798887662860, 0.841312827366404110, 0.841339853741863370, 0.841366878013972920, 0.841393900182665360, 0.841420920247873520, 0.841447938209528790, +0.841474954067564340, 0.841501967821912440, 0.841528979472505600, 0.841555989019276420, 0.841582996462157170, 0.841610001801080480, 0.841637005035979160, 0.841664006166784940, +0.841691005193430760, 0.841718002115849020, 0.841744996933972200, 0.841771989647732920, 0.841798980257063680, 0.841825968761897080, 0.841852955162165960, 0.841879939457801930, +0.841906921648738150, 0.841933901734906900, 0.841960879716241010, 0.841987855592672970, 0.842014829364135190, 0.842041801030560920, 0.842068770591881570, 0.842095738048030400, +0.842122703398939800, 0.842149666644542490, 0.842176627784770980, 0.842203586819557870, 0.842230543748835880, 0.842257498572537950, 0.842284451290595810, 0.842311401902942510, +0.842338350409510770, 0.842365296810233090, 0.842392241105042180, 0.842419183293870670, 0.842446123376651700, 0.842473061353317010, 0.842499997223799530, 0.842526930988032220, +0.842553862645947450, 0.842580792197478060, 0.842607719642556650, 0.842634644981116070, 0.842661568213089240, 0.842688489338408010, 0.842715408357005540, 0.842742325268814650, +0.842769240073767860, 0.842796152771797980, 0.842823063362837850, 0.842849971846819870, 0.842876878223677520, 0.842903782493342520, 0.842930684655748050, 0.842957584710826820, +0.842984482658511780, 0.843011378498735310, 0.843038272231430570, 0.843065163856530630, 0.843092053373967200, 0.843118940783673660, 0.843145826085582750, 0.843172709279627400, +0.843199590365740100, 0.843226469343853920, 0.843253346213901580, 0.843280220975816340, 0.843307093629530050, 0.843333964174976080, 0.843360832612087160, 0.843387698940796130, +0.843414563161035910, 0.843441425272739240, 0.843468285275839060, 0.843495143170268520, 0.843521998955959810, 0.843548852632845960, 0.843575704200860030, 0.843602553659934860, +0.843629401010003390, 0.843656246250998330, 0.843683089382853080, 0.843709930405499690, 0.843736769318871430, 0.843763606122901360, 0.843790440817522190, 0.843817273402666880, +0.843844103878268470, 0.843870932244259690, 0.843897758500574140, 0.843924582647143760, 0.843951404683901840, 0.843978224610781420, 0.844005042427715460, 0.844031858134636880, +0.844058671731478750, 0.844085483218174340, 0.844112292594655700, 0.844139099860856330, 0.844165905016709290, 0.844192708062147410, 0.844219508997103850, 0.844246307821511440, +0.844273104535303350, 0.844299899138412860, 0.844326691630772230, 0.844353482012314860, 0.844380270282973690, 0.844407056442681990, 0.844433840491372490, 0.844460622428978570, +0.844487402255432950, 0.844514179970669350, 0.844540955574619830, 0.844567729067217890, 0.844594500448396680, 0.844621269718089260, 0.844648036876228580, 0.844674801922747800, +0.844701564857580520, 0.844728325680658920, 0.844755084391916380, 0.844781840991286170, 0.844808595478701460, 0.844835347854095090, 0.844862098117400540, 0.844888846268550650, +0.844915592307479040, 0.844942336234118070, 0.844969078048401270, 0.844995817750261780, 0.845022555339632660, 0.845049290816447200, 0.845076024180638540, 0.845102755432139750, +0.845129484570884660, 0.845156211596805320, 0.845182936509835450, 0.845209659309908210, 0.845236379996956890, 0.845263098570914530, 0.845289815031714520, 0.845316529379290360, +0.845343241613574440, 0.845369951734500470, 0.845396659742001510, 0.845423365636011060, 0.845450069416462060, 0.845476771083287890, 0.845503470636421840, 0.845530168075797620, +0.845556863401347500, 0.845583556613005110, 0.845610247710703920, 0.845636936694377120, 0.845663623563957970, 0.845690308319379750, 0.845716990960576180, 0.845743671487479750, +0.845770349900024090, 0.845797026198142570, 0.845823700381768460, 0.845850372450835160, 0.845877042405275840, 0.845903710245023980, 0.845930375970013300, 0.845957039580176210, +0.845983701075446510, 0.846010360455757620, 0.846037017721042780, 0.846063672871235410, 0.846090325906268870, 0.846116976826076450, 0.846143625630592090, 0.846170272319748170, +0.846196916893478650, 0.846223559351716780, 0.846250199694396080, 0.846276837921449810, 0.846303474032811480, 0.846330108028414910, 0.846356739908192600, 0.846383369672078390, +0.846409997320005880, 0.846436622851908240, 0.846463246267719180, 0.846489867567371880, 0.846516486750800050, 0.846543103817937400, 0.846569718768716450, 0.846596331603071350, +0.846622942320935270, 0.846649550922241920, 0.846676157406924700, 0.846702761774916990, 0.846729364026152510, 0.846755964160565090, 0.846782562178087120, 0.846809158078652870, +0.846835751862195730, 0.846862343528649200, 0.846888933077946770, 0.846915520510022060, 0.846942105824809000, 0.846968689022240210, 0.846995270102249730, 0.847021849064771070, +0.847048425909737720, 0.847075000637083410, 0.847101573246741510, 0.847128143738645640, 0.847154712112729970, 0.847181278368926980, 0.847207842507170850, 0.847234404527395180, +0.847260964429533360, 0.847287522213519220, 0.847314077879286250, 0.847340631426768520, 0.847367182855898740, 0.847393732166611070, 0.847420279358839010, 0.847446824432516290, +0.847473367387576500, 0.847499908223953270, 0.847526446941580300, 0.847552983540391660, 0.847579518020320170, 0.847606050381299770, 0.847632580623264300, 0.847659108746147360, +0.847685634749882680, 0.847712158634403860, 0.847738680399644730, 0.847765200045539240, 0.847791717572020430, 0.847818232979022260, 0.847844746266478430, 0.847871257434322790, +0.847897766482489050, 0.847924273410910920, 0.847950778219522470, 0.847977280908256640, 0.848003781477047690, 0.848030279925829240, 0.848056776254535020, 0.848083270463098950, +0.848109762551454650, 0.848136252519535950, 0.848162740367277120, 0.848189226094610890, 0.848215709701471750, 0.848242191187793200, 0.848268670553509190, 0.848295147798553530, +0.848321622922860060, 0.848348095926362960, 0.848374566808995030, 0.848401035570690800, 0.848427502211383970, 0.848453966731008480, 0.848480429129497950, 0.848506889406786310, +0.848533347562807520, 0.848559803597495830, 0.848586257510784200, 0.848612709302606900, 0.848639158972897770, 0.848665606521590730, 0.848692051948619740, 0.848718495253918630, +0.848744936437421330, 0.848771375499062010, 0.848797812438773950, 0.848824247256491190, 0.848850679952147910, 0.848877110525677940, 0.848903538977015090, 0.848929965306093550, +0.848956389512847460, 0.848982811597209900, 0.849009231559115450, 0.849035649398497850, 0.849062065115291030, 0.849088478709429160, 0.849114890180846070, 0.849141299529475700, +0.849167706755252660, 0.849194111858109780, 0.849220514837981670, 0.849246915694802260, 0.849273314428505620, 0.849299711039025680, 0.849326105526296390, 0.849352497890251910, +0.849378888130826630, 0.849405276247953590, 0.849431662241567410, 0.849458046111602140, 0.849484427857991610, 0.849510807480670200, 0.849537184979571650, 0.849563560354630540, +0.849589933605780170, 0.849616304732955020, 0.849642673736089040, 0.849669040615116280, 0.849695405369971010, 0.849721768000587300, 0.849748128506899070, 0.849774486888841050, +0.849800843146346300, 0.849827197279349410, 0.849853549287784560, 0.849879899171585910, 0.849906246930687390, 0.849932592565023400, 0.849958936074528220, 0.849985277459135320, +0.850011616718779230, 0.850037953853394090, 0.850064288862914070, 0.850090621747273350, 0.850116952506406070, 0.850143281140246400, 0.850169607648728950, 0.850195932031787120, +0.850222254289355380, 0.850248574421368030, 0.850274892427759220, 0.850301208308463230, 0.850327522063414110, 0.850353833692546250, 0.850380143195794360, 0.850406450573091500, +0.850432755824372610, 0.850459058949571860, 0.850485359948623400, 0.850511658821461510, 0.850537955568020480, 0.850564250188235120, 0.850590542682038600, 0.850616833049365750, +0.850643121290150740, 0.850669407404327950, 0.850695691391831770, 0.850721973252596240, 0.850748252986555760, 0.850774530593645160, 0.850800806073797820, 0.850827079426948350, +0.850853350653031250, 0.850879619751980790, 0.850905886723731240, 0.850932151568217000, 0.850958414285372440, 0.850984674875132190, 0.851010933337429830, 0.851037189672200210, +0.851063443879377490, 0.851089695958896280, 0.851115945910690730, 0.851142193734695460, 0.851168439430844970, 0.851194682999073080, 0.851220924439314410, 0.851247163751503440, +0.851273400935574580, 0.851299635991462190, 0.851325868919100780, 0.851352099718424630, 0.851378328389368670, 0.851404554931866510, 0.851430779345852870, 0.851457001631262370, +0.851483221788029270, 0.851509439816088180, 0.851535655715373490, 0.851561869485820130, 0.851588081127361620, 0.851614290639932880, 0.851640498023468420, 0.851666703277902730, +0.851692906403170300, 0.851719107399205640, 0.851745306265943140, 0.851771503003317830, 0.851797697611263340, 0.851823890089714600, 0.851850080438606220, 0.851876268657872470, +0.851902454747448190, 0.851928638707267650, 0.851954820537265680, 0.851981000237377000, 0.852007177807535320, 0.852033353247675820, 0.852059526557732870, 0.852085697737641090, +0.852111866787335080, 0.852138033706749340, 0.852164198495819040, 0.852190361154477770, 0.852216521682660710, 0.852242680080302240, 0.852268836347337080, 0.852294990483699830, +0.852321142489325110, 0.852347292364147520, 0.852373440108102120, 0.852399585721122730, 0.852425729203144300, 0.852451870554101650, 0.852478009773929290, 0.852504146862561930, +0.852530281819934180, 0.852556414645980640, 0.852582545340636600, 0.852608673903835770, 0.852634800335513200, 0.852660924635603610, 0.852687046804041730, 0.852713166840762260, +0.852739284745699930, 0.852765400518789800, 0.852791514159965680, 0.852817625669162750, 0.852843735046315830, 0.852869842291359540, 0.852895947404228580, 0.852922050384857800, +0.852948151233181910, 0.852974249949136070, 0.853000346532654220, 0.853026440983671420, 0.853052533302122610, 0.853078623487942390, 0.853104711541065600, 0.853130797461427060, +0.853156881248962050, 0.853182962903604290, 0.853209042425289170, 0.853235119813951390, 0.853261195069525910, 0.853287268191947330, 0.853313339181150710, 0.853339408037070650, +0.853365474759642530, 0.853391539348800300, 0.853417601804479120, 0.853443662126614040, 0.853469720315139790, 0.853495776369991190, 0.853521830291103180, 0.853547882078410700, +0.853573931731848810, 0.853599979251351780, 0.853626024636854660, 0.853652067888292510, 0.853678109005600260, 0.853704147988712750, 0.853730184837564800, 0.853756219552091800, +0.853782252132227910, 0.853808282577908310, 0.853834310889068140, 0.853860337065642020, 0.853886361107565110, 0.853912383014772350, 0.853938402787198570, 0.853964420424779270, +0.853990435927448500, 0.854016449295141530, 0.854042460527793530, 0.854068469625339330, 0.854094476587713980, 0.854120481414852530, 0.854146484106689810, 0.854172484663161310, +0.854198483084201100, 0.854224479369744770, 0.854250473519727160, 0.854276465534083430, 0.854302455412748520, 0.854328443155657480, 0.854354428762745700, 0.854380412233947560, +0.854406393569198230, 0.854432372768432980, 0.854458349831586860, 0.854484324758594820, 0.854510297549391900, 0.854536268203913370, 0.854562236722094530, 0.854588203103869630, +0.854614167349174280, 0.854640129457943430, 0.854666089430112350, 0.854692047265615980, 0.854718002964389600, 0.854743956526368590, 0.854769907951487220, 0.854795857239681100, +0.854821804390885290, 0.854847749405035050, 0.854873692282065440, 0.854899633021911520, 0.854925571624508550, 0.854951508089792140, 0.854977442417696460, 0.855003374608157230, +0.855029304661109490, 0.855055232576488520, 0.855081158354229490, 0.855107081994267550, 0.855133003496537870, 0.855158922860976280, 0.855184840087516720, 0.855210755176095240, +0.855236668126646780, 0.855262578939106620, 0.855288487613410030, 0.855314394149492290, 0.855340298547288990, 0.855366200806734530, 0.855392100927764520, 0.855417998910314230, +0.855443894754318920, 0.855469788459713890, 0.855495680026434500, 0.855521569454415820, 0.855547456743593670, 0.855573341893902440, 0.855599224905277840, 0.855625105777655160, +0.855650984510969770, 0.855676861105156950, 0.855702735560151860, 0.855728607875890450, 0.855754478052307090, 0.855780346089337510, 0.855806211986917090, 0.855832075744981100, +0.855857937363464940, 0.855883796842303870, 0.855909654181433390, 0.855935509380789220, 0.855961362440305850, 0.855987213359919010, 0.856013062139564180, 0.856038908779176650, +0.856064753278691910, 0.856090595638045240, 0.856116435857172120, 0.856142273936008390, 0.856168109874488440, 0.856193943672548310, 0.856219775330123170, 0.856245604847148730, +0.856271432223560170, 0.856297257459293190, 0.856323080554283410, 0.856348901508465430, 0.856374720321775310, 0.856400536994148310, 0.856426351525520050, 0.856452163915825790, +0.856477974165001150, 0.856503782272981630, 0.856529588239703150, 0.856555392065100120, 0.856581193749108680, 0.856606993291664230, 0.856632790692702370, 0.856658585952158490, +0.856684379069968080, 0.856710170046066870, 0.856735958880390560, 0.856761745572873990, 0.856787530123452990, 0.856813312532063160, 0.856839092798640010, 0.856864870923119250, +0.856890646905436260, 0.856916420745527100, 0.856942192443326370, 0.856967961998770230, 0.856993729411794190, 0.857019494682333850, 0.857045257810324700, 0.857071018795702470, +0.857096777638402640, 0.857122534338361390, 0.857148288895513310, 0.857174041309794470, 0.857199791581140570, 0.857225539709487230, 0.857251285694769940, 0.857277029536924530, +0.857302771235886940, 0.857328510791592000, 0.857354248203975770, 0.857379983472973950, 0.857405716598522160, 0.857431447580556010, 0.857457176419011310, 0.857482903113823690, +0.857508627664929190, 0.857534350072262750, 0.857560070335760430, 0.857585788455357820, 0.857611504430990880, 0.857637218262595090, 0.857662929950106290, 0.857688639493460190, +0.857714346892592850, 0.857740052147439310, 0.857765755257935520, 0.857791456224017420, 0.857817155045620730, 0.857842851722681040, 0.857868546255134310, 0.857894238642916580, +0.857919928885962910, 0.857945616984209350, 0.857971302937591720, 0.857996986746045850, 0.858022668409507580, 0.858048347927912620, 0.858074025301196700, 0.858099700529296290, +0.858125373612146140, 0.858151044549682500, 0.858176713341841310, 0.858202379988558310, 0.858228044489769300, 0.858253706845410250, 0.858279367055416960, 0.858305025119725620, +0.858330681038271370, 0.858356334810990380, 0.858381986437818490, 0.858407635918691740, 0.858433283253545730, 0.858458928442316640, 0.858484571484940730, 0.858510212381352830, +0.858535851131489450, 0.858561487735286510, 0.858587122192679740, 0.858612754503605190, 0.858638384667998800, 0.858664012685796400, 0.858689638556934360, 0.858715262281347870, +0.858740883858973290, 0.858766503289746350, 0.858792120573603210, 0.858817735710479810, 0.858843348700311980, 0.858868959543036330, 0.858894568238587790, 0.858920174786902860, +0.858945779187917480, 0.858971381441567590, 0.858996981547789250, 0.859022579506518500, 0.859048175317691290, 0.859073768981244100, 0.859099360497112110, 0.859124949865231580, +0.859150537085538790, 0.859176122157969570, 0.859201705082460080, 0.859227285858946370, 0.859252864487364380, 0.859278440967650710, 0.859304015299740540, 0.859329587483570250, +0.859355157519075990, 0.859380725406193920, 0.859406291144860000, 0.859431854735010270, 0.859457416176581450, 0.859482975469508580, 0.859508532613728280, 0.859534087609176710, +0.859559640455789920, 0.859585191153503960, 0.859610739702255100, 0.859636286101979290, 0.859661830352613340, 0.859687372454092210, 0.859712912406352730, 0.859738450209331040, +0.859763985862963100, 0.859789519367185280, 0.859815050721933650, 0.859840579927144360, 0.859866106982754120, 0.859891631888698100, 0.859917154644913030, 0.859942675251335160, +0.859968193707900450, 0.859993710014545390, 0.860019224171205910, 0.860044736177818960, 0.860070246034319700, 0.860095753740644730, 0.860121259296730440, 0.860146762702513000, +0.860172263957928670, 0.860197763062913620, 0.860223260017404230, 0.860248754821337110, 0.860274247474647650, 0.860299737977272550, 0.860325226329148210, 0.860350712530210670, +0.860376196580396440, 0.860401678479641660, 0.860427158227883180, 0.860452635825056380, 0.860478111271097970, 0.860503584565944220, 0.860529055709531530, 0.860554524701796280, +0.860579991542674620, 0.860605456232103050, 0.860630918770018180, 0.860656379156355620, 0.860681837391052200, 0.860707293474044180, 0.860732747405267840, 0.860758199184659680, +0.860783648812155970, 0.860809096287693200, 0.860834541611208090, 0.860859984782636150, 0.860885425801914290, 0.860910864668978930, 0.860936301383766310, 0.860961735946212950, +0.860987168356255330, 0.861012598613830170, 0.861038026718873080, 0.861063452671321010, 0.861088876471110210, 0.861114298118177190, 0.861139717612458440, 0.861165134953890470, +0.861190550142409640, 0.861215963177952790, 0.861241374060455640, 0.861266782789855130, 0.861292189366087650, 0.861317593789089560, 0.861342996058797610, 0.861368396175148150, +0.861393794138077710, 0.861419189947523200, 0.861444583603420240, 0.861469975105705890, 0.861495364454316630, 0.861520751649188840, 0.861546136690259260, 0.861571519577464360, +0.861596900310740990, 0.861622278890025070, 0.861647655315253340, 0.861673029586362490, 0.861698401703289150, 0.861723771665969700, 0.861749139474340840, 0.861774505128339200, +0.861799868627901700, 0.861825229972964070, 0.861850589163463350, 0.861875946199336160, 0.861901301080519210, 0.861926653806948880, 0.861952004378562010, 0.861977352795295530, +0.862002699057085150, 0.862028043163868160, 0.862053385115580940, 0.862078724912160310, 0.862104062553542880, 0.862129398039665260, 0.862154731370464280, 0.862180062545876760, +0.862205391565838640, 0.862230718430287090, 0.862256043139158820, 0.862281365692390330, 0.862306686089918450, 0.862332004331679890, 0.862357320417611260, 0.862382634347649830, +0.862407946121731330, 0.862433255739793010, 0.862458563201771610, 0.862483868507603610, 0.862509171657226070, 0.862534472650575590, 0.862559771487589440, 0.862585068168203350, +0.862610362692354580, 0.862635655059979860, 0.862660945271016110, 0.862686233325399840, 0.862711519223068100, 0.862736802963957610, 0.862762084548005400, 0.862787363975147660, +0.862812641245321530, 0.862837916358463740, 0.862863189314511110, 0.862888460113400590, 0.862913728755068890, 0.862938995239452830, 0.862964259566489810, 0.862989521736115650, +0.863014781748267730, 0.863040039602882780, 0.863065295299897840, 0.863090548839249520, 0.863115800220874860, 0.863141049444711260, 0.863166296510694540, 0.863191541418761980, +0.863216784168850610, 0.863242024760897400, 0.863267263194839040, 0.863292499470612480, 0.863317733588154780, 0.863342965547403090, 0.863368195348293570, 0.863393422990763600, +0.863418648474750030, 0.863443871800189780, 0.863469092967020010, 0.863494311975177340, 0.863519528824599480, 0.863544743515222260, 0.863569956046983280, 0.863595166419819260, +0.863620374633667480, 0.863645580688464640, 0.863670784584147920, 0.863695986320654250, 0.863721185897921020, 0.863746383315884380, 0.863771578574481720, 0.863796771673650210, +0.863821962613326780, 0.863847151393448360, 0.863872338013952130, 0.863897522474775030, 0.863922704775854530, 0.863947884917126930, 0.863973062898529600, 0.863998238719999480, +0.864023412381473950, 0.864048583882889740, 0.864073753224184120, 0.864098920405294570, 0.864124085426157260, 0.864149248286709800, 0.864174408986889130, 0.864199567526632520, +0.864224723905876900, 0.864249878124559560, 0.864275030182617420, 0.864300180079988320, 0.864325327816608200, 0.864350473392414780, 0.864375616807345090, 0.864400758061336540, +0.864425897154325940, 0.864451034086250680, 0.864476168857048250, 0.864501301466654940, 0.864526431915008440, 0.864551560202045820, 0.864576686327704240, 0.864601810291921070, +0.864626932094633260, 0.864652051735778190, 0.864677169215293470, 0.864702284533115260, 0.864727397689181390, 0.864752508683429120, 0.864777617515795400, 0.864802724186217840, +0.864827828694633370, 0.864852931040979270, 0.864878031225193360, 0.864903129247211910, 0.864928225106972650, 0.864953318804412840, 0.864978410339469650, 0.865003499712080570, +0.865028586922182650, 0.865053671969713720, 0.865078754854610170, 0.865103835576809700, 0.865128914136249700, 0.865153990532867350, 0.865179064766600110, 0.865204136837385170, +0.865229206745159910, 0.865254274489862030, 0.865279340071428040, 0.865304403489795650, 0.865329464744902350, 0.865354523836685320, 0.865379580765082030, 0.865404635530029780, +0.865429688131465810, 0.865454738569328200, 0.865479786843553310, 0.865504832954078870, 0.865529876900842490, 0.865554918683781200, 0.865579958302832850, 0.865604995757934480, +0.865630031049024030, 0.865655064176038100, 0.865680095138914530, 0.865705123937590690, 0.865730150572004090, 0.865755175042092100, 0.865780197347792100, 0.865805217489041710, +0.865830235465778640, 0.865855251277939610, 0.865880264925462440, 0.865905276408284520, 0.865930285726343450, 0.865955292879576730, 0.865980297867921740, 0.866005300691316430, +0.866030301349697500, 0.866055299843002780, 0.866080296171169770, 0.866105290334135970, 0.866130282331839090, 0.866155272164216390, 0.866180259831205610, 0.866205245332744460, +0.866230228668769860, 0.866255209839219660, 0.866280188844031570, 0.866305165683142860, 0.866330140356491250, 0.866355112864014340, 0.866380083205649630, 0.866405051381335170, +0.866430017391007560, 0.866454981234604960, 0.866479942912064980, 0.866504902423325010, 0.866529859768322860, 0.866554814946996040, 0.866579767959282710, 0.866604718805119360, +0.866629667484444370, 0.866654613997195120, 0.866679558343309340, 0.866704500522724740, 0.866729440535378810, 0.866754378381209280, 0.866779314060154290, 0.866804247572150470, +0.866829178917136180, 0.866854108095048810, 0.866879035105826310, 0.866903959949406170, 0.866928882625725980, 0.866953803134723810, 0.866978721476337480, 0.867003637650503810, +0.867028551657161200, 0.867053463496247120, 0.867078373167699420, 0.867103280671455810, 0.867128186007453890, 0.867153089175632050, 0.867177990175927000, 0.867202889008277020, +0.867227785672619820, 0.867252680168893120, 0.867277572497034740, 0.867302462656982410, 0.867327350648673940, 0.867352236472047510, 0.867377120127040050, 0.867402001613589820, +0.867426880931634560, 0.867451758081112080, 0.867476633061960210, 0.867501505874116790, 0.867526376517520070, 0.867551244992106900, 0.867576111297815640, 0.867600975434584140, +0.867625837402350220, 0.867650697201051700, 0.867675554830626310, 0.867700410291012190, 0.867725263582147410, 0.867750114703969010, 0.867774963656415380, 0.867799810439424340, +0.867824655052933710, 0.867849497496881450, 0.867874337771205480, 0.867899175875843750, 0.867924011810734420, 0.867948845575814640, 0.867973677171022700, 0.867998506596296630, +0.868023333851574260, 0.868048158936793660, 0.868072981851892520, 0.868097802596809460, 0.868122621171481420, 0.868147437575846780, 0.868172251809843590, 0.868197063873409780, +0.868221873766483300, 0.868246681489002080, 0.868271487040904290, 0.868296290422128080, 0.868321091632610840, 0.868345890672290730, 0.868370687541106020, 0.868395482238994540, +0.868420274765894340, 0.868445065121743460, 0.868469853306479970, 0.868494639320042230, 0.868519423162367410, 0.868544204833394120, 0.868568984333060290, 0.868593761661303980, +0.868618536818063340, 0.868643309803276200, 0.868668080616881390, 0.868692849258815850, 0.868717615729018180, 0.868742380027426540, 0.868767142153978880, 0.868791902108613460, +0.868816659891268220, 0.868841415501881320, 0.868866168940391370, 0.868890920206735530, 0.868915669300852290, 0.868940416222680030, 0.868965160972156700, 0.868989903549220340, +0.869014643953809340, 0.869039382185862190, 0.869064118245316040, 0.869088852132109730, 0.869113583846181200, 0.869138313387468720, 0.869163040755910440, 0.869187765951444650, +0.869212488974009380, 0.869237209823543360, 0.869261928499983850, 0.869286645003269460, 0.869311359333338470, 0.869336071490129150, 0.869360781473579650, 0.869385489283628130, +0.869410194920212990, 0.869434898383272700, 0.869459599672744780, 0.869484298788567920, 0.869508995730680190, 0.869533690499020070, 0.869558383093525620, 0.869583073514135330, +0.869607761760787690, 0.869632447833420310, 0.869657131731971680, 0.869681813456380290, 0.869706493006584420, 0.869731170382522230, 0.869755845584132210, 0.869780518611352530, +0.869805189464122000, 0.869829858142378010, 0.869854524646059390, 0.869879188975104520, 0.869903851129451570, 0.869928511109039130, 0.869953168913805360, 0.869977824543688550, +0.870002477998627730, 0.870027129278560300, 0.870051778383424960, 0.870076425313160210, 0.870101070067704430, 0.870125712646996010, 0.870150353050973210, 0.870174991279574980, +0.870199627332738920, 0.870224261210403750, 0.870248892912507950, 0.870273522438989810, 0.870298149789787920, 0.870322774964840780, 0.870347397964086560, 0.870372018787464290, +0.870396637434911580, 0.870421253906367260, 0.870445868201769830, 0.870470480321057670, 0.870495090264169380, 0.870519698031043340, 0.870544303621618500, 0.870568907035832450, +0.870593508273624140, 0.870618107334932060, 0.870642704219694700, 0.870667298927850550, 0.870691891459338230, 0.870716481814096110, 0.870741069992063240, 0.870765655993177230, +0.870790239817377130, 0.870814821464601430, 0.870839400934788730, 0.870863978227877420, 0.870888553343806220, 0.870913126282513610, 0.870937697043938640, 0.870962265628019040, +0.870986832034693740, 0.871011396263901340, 0.871035958315580450, 0.871060518189669670, 0.871085075886107620, 0.871109631404833220, 0.871134184745784410, 0.871158735908900140, +0.871183284894119000, 0.871207831701379610, 0.871232376330620670, 0.871256918781780800, 0.871281459054798700, 0.871305997149613320, 0.871330533066162480, 0.871355066804385350, +0.871379598364220520, 0.871404127745606720, 0.871428654948482650, 0.871453179972786820, 0.871477702818458600, 0.871502223485435600, 0.871526741973657090, 0.871551258283061680, +0.871575772413588190, 0.871600284365175230, 0.871624794137761620, 0.871649301731285960, 0.871673807145687430, 0.871698310380904060, 0.871722811436874910, 0.871747310313538690, +0.871771807010834120, 0.871796301528700130, 0.871820793867075340, 0.871845284025898670, 0.871869772005109070, 0.871894257804644690, 0.871918741424444700, 0.871943222864447810, +0.871967702124592850, 0.871992179204818640, 0.872016654105064020, 0.872041126825268130, 0.872065597365369040, 0.872090065725305900, 0.872114531905017750, 0.872138995904443100, +0.872163457723521000, 0.872187917362190370, 0.872212374820389820, 0.872236830098058860, 0.872261283195135300, 0.872285734111558520, 0.872310182847267470, 0.872334629402200970, +0.872359073776297840, 0.872383515969497150, 0.872407955981737480, 0.872432393812958450, 0.872456829463098100, 0.872481262932095600, 0.872505694219889880, 0.872530123326419990, +0.872554550251624760, 0.872578974995443120, 0.872603397557814580, 0.872627817938677050, 0.872652236137970050, 0.872676652155632390, 0.872701065991603020, 0.872725477645821090, +0.872749887118225430, 0.872774294408755090, 0.872798699517349450, 0.872823102443946560, 0.872847503188486030, 0.872871901750906680, 0.872896298131147550, 0.872920692329147710, +0.872945084344846080, 0.872969474178182270, 0.872993861829094220, 0.873018247297521640, 0.873042630583403370, 0.873067011686678550, 0.873091390607286130, 0.873115767345165380, +0.873140141900255130, 0.873164514272494970, 0.873188884461822970, 0.873213252468178940, 0.873237618291501700, 0.873261981931730440, 0.873286343388804180, 0.873310702662662090, +0.873335059753243210, 0.873359414660487170, 0.873383767384332210, 0.873408117924717730, 0.873432466281583000, 0.873456812454867060, 0.873481156444509080, 0.873505498250448320, +0.873529837872624170, 0.873554175310975010, 0.873578510565440340, 0.873602843635959530, 0.873627174522471520, 0.873651503224915580, 0.873675829743230880, 0.873700154077356570, +0.873724476227232370, 0.873748796192796550, 0.873773113973988710, 0.873797429570748130, 0.873821742983013960, 0.873846054210725360, 0.873870363253821720, 0.873894670112242200, +0.873918974785926280, 0.873943277274812690, 0.873967577578840800, 0.873991875697949890, 0.874016171632079450, 0.874040465381168420, 0.874064756945156400, 0.874089046323982770, +0.874113333517586130, 0.874137618525906210, 0.874161901348882160, 0.874186181986453480, 0.874210460438559210, 0.874234736705138850, 0.874259010786131660, 0.874283282681477370, +0.874307552391114460, 0.874331819914982660, 0.874356085253021330, 0.874380348405169760, 0.874404609371367330, 0.874428868151553300, 0.874453124745667610, 0.874477379153648650, +0.874501631375436350, 0.874525881410969870, 0.874550129260188710, 0.874574374923032140, 0.874598618399439750, 0.874622859689350720, 0.874647098792705080, 0.874671335709441220, +0.874695570439498970, 0.874719802982817820, 0.874744033339337150, 0.874768261508996450, 0.874792487491735100, 0.874816711287492500, 0.874840932896208460, 0.874865152317821800, +0.874889369552272260, 0.874913584599499190, 0.874937797459442220, 0.874962008132040720, 0.874986216617234300, 0.875010422914962670, 0.875034627025164550, 0.875058828947779980, +0.875083028682748230, 0.875107226230008920, 0.875131421589501520, 0.875155614761165660, 0.875179805744940700, 0.875203994540766690, 0.875228181148582140, 0.875252365568327310, +0.875276547799941460, 0.875300727843364320, 0.875324905698535270, 0.875349081365394020, 0.875373254843880070, 0.875397426133933340, 0.875421595235492680, 0.875445762148498010, +0.875469926872888940, 0.875494089408605070, 0.875518249755586010, 0.875542407913771250, 0.875566563883100950, 0.875590717663513820, 0.875614869254949800, 0.875639018657348720, +0.875663165870650070, 0.875687310894793460, 0.875711453729718590, 0.875735594375365080, 0.875759732831673080, 0.875783869098581190, 0.875808003176029690, 0.875832135063958180, +0.875856264762306380, 0.875880392271013890, 0.875904517590020410, 0.875928640719266130, 0.875952761658689740, 0.875976880408231520, 0.876000996967830960, 0.876025111337428000, +0.876049223516962350, 0.876073333506373510, 0.876097441305601410, 0.876121546914586100, 0.876145650333266410, 0.876169751561582720, 0.876193850599474630, 0.876217947446881860, +0.876242042103744350, 0.876266134570001580, 0.876290224845593600, 0.876314312930460360, 0.876338398824541010, 0.876362482527775600, 0.876386564040104070, 0.876410643361466010, +0.876434720491801490, 0.876458795431049990, 0.876482868179152110, 0.876506938736046460, 0.876531007101673640, 0.876555073275973150, 0.876579137258885030, 0.876603199050349110, +0.876627258650305220, 0.876651316058693060, 0.876675371275453140, 0.876699424300524280, 0.876723475133846960, 0.876747523775360800, 0.876771570225005960, 0.876795614482722140, +0.876819656548449400, 0.876843696422127450, 0.876867734103696670, 0.876891769593096120, 0.876915802890266050, 0.876939833995146630, 0.876963862907677580, 0.876987889627798830, +0.877011914155450430, 0.877035936490572650, 0.877059956633104540, 0.877083974582986590, 0.877107990340158740, 0.877132003904560810, 0.877156015276132960, 0.877180024454815020, +0.877204031440547040, 0.877228036233269390, 0.877252038832921240, 0.877276039239443080, 0.877300037452774740, 0.877324033472856260, 0.877348027299627690, 0.877372018933029190, +0.877396008373000910, 0.877419995619482250, 0.877443980672413690, 0.877467963531735060, 0.877491944197386520, 0.877515922669308220, 0.877539898947440000, 0.877563873031722120, +0.877587844922094960, 0.877611814618497800, 0.877635782120871010, 0.877659747429154760, 0.877683710543289200, 0.877707671463214380, 0.877731630188870350, 0.877755586720197270, +0.877779541057135630, 0.877803493199624700, 0.877827443147605080, 0.877851390901016830, 0.877875336459800090, 0.877899279823895040, 0.877923220993241720, 0.877947159967780830, +0.877971096747451660, 0.877995031332194700, 0.878018963721950210, 0.878042893916658240, 0.878066821916258950, 0.878090747720692730, 0.878114671329899620, 0.878138592743820330, +0.878162511962394030, 0.878186428985561540, 0.878210343813262910, 0.878234256445438400, 0.878258166882028290, 0.878282075122972740, 0.878305981168212460, 0.878329885017686830, +0.878353786671336350, 0.878377686129101500, 0.878401583390922450, 0.878425478456739460, 0.878449371326492700, 0.878473262000122550, 0.878497150477569710, 0.878521036758773580, +0.878544920843674750, 0.878568802732213720, 0.878592682424330640, 0.878616559919965790, 0.878640435219059660, 0.878664308321552400, 0.878688179227384740, 0.878712047936496270, +0.878735914448827700, 0.878759778764319210, 0.878783640882911390, 0.878807500804544510, 0.878831358529158830, 0.878855214056695090, 0.878879067387092980, 0.878902918520293230, +0.878926767456236100, 0.878950614194862090, 0.878974458736111570, 0.878998301079924830, 0.879022141226242450, 0.879045979175005040, 0.879069814926152330, 0.879093648479625010, +0.879117479835363700, 0.879141308993308560, 0.879165135953400180, 0.879188960715578950, 0.879212783279785360, 0.879236603645960240, 0.879260421814043180, 0.879284237783975020, +0.879308051555696360, 0.879331863129147460, 0.879355672504268940, 0.879379479681001270, 0.879403284659285300, 0.879427087439060730, 0.879450888020268380, 0.879474686402848870, +0.879498482586742570, 0.879522276571890080, 0.879546068358232010, 0.879569857945708630, 0.879593645334261100, 0.879617430523829010, 0.879641213514353320, 0.879664994305774720, +0.879688772898033490, 0.879712549291070340, 0.879736323484825890, 0.879760095479241060, 0.879783865274255560, 0.879807632869810340, 0.879831398265846110, 0.879855161462303360, +0.879878922459122690, 0.879902681256244710, 0.879926437853610020, 0.879950192251159670, 0.879973944448833370, 0.879997694446572280, 0.880021442244317000, 0.880045187842008030, +0.880068931239586070, 0.880092672436991850, 0.880116411434165860, 0.880140148231049360, 0.880163882827582070, 0.880187615223705030, 0.880211345419358970, 0.880235073414484480, +0.880258799209022390, 0.880282522802913300, 0.880306244196098260, 0.880329963388517210, 0.880353680380111300, 0.880377395170821140, 0.880401107760587550, 0.880424818149351140, +0.880448526337052730, 0.880472232323632920, 0.880495936109033090, 0.880519637693192860, 0.880543337076053590, 0.880567034257556000, 0.880590729237640810, 0.880614422016248730, +0.880638112593320700, 0.880661800968797310, 0.880685487142619850, 0.880709171114728350, 0.880732852885063870, 0.880756532453567220, 0.880780209820179240, 0.880803884984840750, +0.880827557947492570, 0.880851228708075860, 0.880874897266530680, 0.880898563622798280, 0.880922227776819500, 0.880945889728535050, 0.880969549477885970, 0.880993207024812990, +0.881016862369257030, 0.881040515511159250, 0.881064166450459820, 0.881087815187099890, 0.881111461721020510, 0.881135106052162500, 0.881158748180466690, 0.881182388105874010, +0.881206025828325750, 0.881229661347762040, 0.881253294664124160, 0.881276925777353060, 0.881300554687389660, 0.881324181394174790, 0.881347805897649490, 0.881371428197754710, +0.881395048294431830, 0.881418666187620880, 0.881442281877263260, 0.881465895363299890, 0.881489506645671830, 0.881513115724320010, 0.881536722599185360, 0.881560327270208940, +0.881583929737332130, 0.881607530000494970, 0.881631128059639170, 0.881654723914705450, 0.881678317565634860, 0.881701909012368560, 0.881725498254847470, 0.881749085293012990, +0.881772670126805490, 0.881796252756166240, 0.881819833181036410, 0.881843411401356910, 0.881866987417068930, 0.881890561228113490, 0.881914132834431650, 0.881937702235964900, +0.881961269432653520, 0.881984834424438870, 0.882008397211262230, 0.882031957793064540, 0.882055516169786950, 0.882079072341370620, 0.882102626307756600, 0.882126178068886380, +0.882149727624700340, 0.882173274975139980, 0.882196820120146330, 0.882220363059660780, 0.882243903793624270, 0.882267442321977960, 0.882290978644663550, 0.882314512761621210, +0.882338044672792530, 0.882361574378118910, 0.882385101877541160, 0.882408627171000770, 0.882432150258438800, 0.882455671139796500, 0.882479189815015390, 0.882502706284035820, +0.882526220546799630, 0.882549732603247760, 0.882573242453321580, 0.882596750096962370, 0.882620255534111280, 0.882643758764709910, 0.882667259788698750, 0.882690758606019420, +0.882714255216613180, 0.882737749620421290, 0.882761241817385130, 0.882784731807445770, 0.882808219590544670, 0.882831705166623350, 0.882855188535622390, 0.882878669697483410, +0.882902148652147780, 0.882925625399556880, 0.882949099939651760, 0.882972572272374020, 0.882996042397664830, 0.883019510315465880, 0.883042976025717800, 0.883066439528362170, +0.883089900823340600, 0.883113359910594140, 0.883136816790064390, 0.883160271461692510, 0.883183723925420440, 0.883207174181188660, 0.883230622228938890, 0.883254068068612510, +0.883277511700151120, 0.883300953123495770, 0.883324392338588170, 0.883347829345369480, 0.883371264143781750, 0.883394696733765360, 0.883418127115262350, 0.883441555288213890, +0.883464981252561570, 0.883488405008246770, 0.883511826555211100, 0.883535245893395720, 0.883558663022742660, 0.883582077943192550, 0.883605490654687300, 0.883628901157168300, +0.883652309450576930, 0.883675715534854910, 0.883699119409943610, 0.883722521075784860, 0.883745920532319370, 0.883769317779489190, 0.883792712817235590, 0.883816105645500280, +0.883839496264224760, 0.883862884673350390, 0.883886270872818900, 0.883909654862572110, 0.883933036642550740, 0.883956416212696830, 0.883979793572951870, 0.884003168723257350, +0.884026541663554990, 0.884049912393786270, 0.884073280913893140, 0.884096647223816420, 0.884120011323498160, 0.884143373212879720, 0.884166732891902950, 0.884190090360509330, +0.884213445618640460, 0.884236798666238060, 0.884260149503243940, 0.884283498129599170, 0.884306844545245550, 0.884330188750124810, 0.884353530744178660, 0.884376870527348700, +0.884400208099576530, 0.884423543460803870, 0.884446876610972770, 0.884470207550023920, 0.884493536277899730, 0.884516862794541670, 0.884540187099891350, 0.884563509193890710, +0.884586829076481120, 0.884610146747605080, 0.884633462207203070, 0.884656775455217480, 0.884680086491590020, 0.884703395316262300, 0.884726701929176020, 0.884750006330273010, +0.884773308519495090, 0.884796608496784210, 0.884819906262081400, 0.884843201815328830, 0.884866495156468310, 0.884889786285441570, 0.884913075202190310, 0.884936361906656370, +0.884959646398781890, 0.884982928678507920, 0.885006208745776620, 0.885029486600529820, 0.885052762242709350, 0.885076035672256900, 0.885099306889114310, 0.885122575893223520, +0.885145842684526780, 0.885169107262964940, 0.885192369628480360, 0.885215629781014760, 0.885238887720510180, 0.885262143446908350, 0.885285396960151180, 0.885308648260180520, +0.885331897346938730, 0.885355144220366650, 0.885378388880406760, 0.885401631327000890, 0.885424871560090980, 0.885448109579618840, 0.885471345385526520, 0.885494578977756190, +0.885517810356248880, 0.885541039520947200, 0.885564266471792870, 0.885587491208727930, 0.885610713731694200, 0.885633934040633730, 0.885657152135488350, 0.885680368016200540, +0.885703581682711460, 0.885726793134963280, 0.885750002372898250, 0.885773209396458210, 0.885796414205585080, 0.885819616800220920, 0.885842817180307770, 0.885866015345788020, +0.885889211296602700, 0.885912405032694420, 0.885935596554005110, 0.885958785860476830, 0.885981972952051610, 0.886005157828671400, 0.886028340490278790, 0.886051520936814830, +0.886074699168222120, 0.886097875184442610, 0.886121048985418440, 0.886144220571091660, 0.886167389941404320, 0.886190557096298460, 0.886213722035716690, 0.886236884759600160, +0.886260045267891480, 0.886283203560532700, 0.886306359637465850, 0.886329513498633090, 0.886352665143976590, 0.886375814573438840, 0.886398961786961090, 0.886422106784485960, +0.886445249565955500, 0.886468390131312070, 0.886491528480497500, 0.886514664613454180, 0.886537798530124270, 0.886560930230450240, 0.886584059714373370, 0.886607186981836490, +0.886630312032781530, 0.886653434867150870, 0.886676555484886550, 0.886699673885930960, 0.886722790070226030, 0.886745904037714690, 0.886769015788338110, 0.886792125322038990, +0.886815232638759500, 0.886838337738442010, 0.886861440621028670, 0.886884541286461660, 0.886907639734683780, 0.886930735965636430, 0.886953829979262090, 0.886976921775503360, +0.887000011354302180, 0.887023098715601030, 0.887046183859342090, 0.887069266785467710, 0.887092347493920630, 0.887115425984642210, 0.887138502257575290, 0.887161576312662010, +0.887184648149844880, 0.887207717769066150, 0.887230785170268100, 0.887253850353392990, 0.887276913318383760, 0.887299974065181800, 0.887323032593729910, 0.887346088903970490, +0.887369142995845790, 0.887392194869298320, 0.887415244524270230, 0.887438291960704560, 0.887461337178542700, 0.887484380177727460, 0.887507420958201340, 0.887530459519906610, +0.887553495862785760, 0.887576529986781160, 0.887599561891835200, 0.887622591577890810, 0.887645619044889480, 0.887668644292774140, 0.887691667321487190, 0.887714688130971100, +0.887737706721168250, 0.887760723092021140, 0.887783737243472590, 0.887806749175464320, 0.887829758887939250, 0.887852766380839650, 0.887875771654108250, 0.887898774707687300, +0.887921775541519520, 0.887944774155547290, 0.887967770549713540, 0.887990764723959880, 0.888013756678229350, 0.888036746412464440, 0.888059733926607640, 0.888082719220601560, +0.888105702294388680, 0.888128683147911490, 0.888151661781113040, 0.888174638193934940, 0.888197612386320330, 0.888220584358211720, 0.888243554109551580, 0.888266521640282520, +0.888289486950347260, 0.888312450039688620, 0.888335410908248520, 0.888358369555969810, 0.888381325982795180, 0.888404280188667350, 0.888427232173528700, 0.888450181937322060, +0.888473129479989910, 0.888496074801475300, 0.888519017901720170, 0.888541958780667440, 0.888564897438259840, 0.888587833874440070, 0.888610768089150630, 0.888633700082334220, +0.888656629853933680, 0.888679557403891930, 0.888702482732150910, 0.888725405838653560, 0.888748326723342810, 0.888771245386161260, 0.888794161827051510, 0.888817076045956390, +0.888839988042818940, 0.888862897817581210, 0.888885805370186240, 0.888908710700576640, 0.888931613808695340, 0.888954514694485050, 0.888977413357888380, 0.889000309798848250, +0.889023204017307720, 0.889046096013208720, 0.889068985786494630, 0.889091873337107930, 0.889114758664991570, 0.889137641770088360, 0.889160522652341020, 0.889183401311692820, +0.889206277748085690, 0.889229151961462900, 0.889252023951767170, 0.889274893718941420, 0.889297761262928370, 0.889320626583670950, 0.889343489681111990, 0.889366350555194750, +0.889389209205861180, 0.889412065633054530, 0.889434919836717740, 0.889457771816793750, 0.889480621573225270, 0.889503469105955240, 0.889526314414926470, 0.889549157500082340, +0.889571998361365020, 0.889594836998717660, 0.889617673412083090, 0.889640507601404450, 0.889663339566624580, 0.889686169307686290, 0.889708996824532970, 0.889731822117106770, +0.889754645185350970, 0.889777466029208600, 0.889800284648622600, 0.889823101043535900, 0.889845915213891450, 0.889868727159632170, 0.889891536880701440, 0.889914344377041530, +0.889937149648595720, 0.889959952695307030, 0.889982753517118530, 0.890005552113973030, 0.890028348485813690, 0.890051142632583560, 0.890073934554225900, 0.890096724250682980, +0.890119511721898290, 0.890142296967814880, 0.890165079988375680, 0.890187860783523740, 0.890210639353202220, 0.890233415697354480, 0.890256189815922800, 0.890278961708850570, +0.890301731376081040, 0.890324498817557150, 0.890347264033221950, 0.890370027023018710, 0.890392787786890240, 0.890415546324780370, 0.890438302636631150, 0.890461056722386180, +0.890483808581988610, 0.890506558215381380, 0.890529305622507870, 0.890552050803311120, 0.890574793757734630, 0.890597534485720770, 0.890620272987213020, 0.890643009262154560, +0.890665743310488640, 0.890688475132158320, 0.890711204727106850, 0.890733932095277400, 0.890756657236613460, 0.890779380151057510, 0.890802100838553050, 0.890824819299043340, +0.890847535532471650, 0.890870249538781130, 0.890892961317914960, 0.890915670869816380, 0.890938378194429000, 0.890961083291695320, 0.890983786161558930, 0.891006486803962990, +0.891029185218850880, 0.891051881406165870, 0.891074575365851110, 0.891097267097850310, 0.891119956602105970, 0.891142643878561680, 0.891165328927160830, 0.891188011747846680, +0.891210692340562490, 0.891233370705251550, 0.891256046841857110, 0.891278720750323110, 0.891301392430591810, 0.891324061882607040, 0.891346729106312070, 0.891369394101650280, +0.891392056868565150, 0.891414717406999730, 0.891437375716897520, 0.891460031798202320, 0.891482685650856640, 0.891505337274804300, 0.891527986669988560, 0.891550633836352800, +0.891573278773840520, 0.891595921482395080, 0.891618561961960210, 0.891641200212478500, 0.891663836233893780, 0.891686470026149540, 0.891709101589189030, 0.891731730922955880, +0.891754358027393330, 0.891776982902444890, 0.891799605548054370, 0.891822225964164490, 0.891844844150719070, 0.891867460107661490, 0.891890073834935240, 0.891912685332483800, +0.891935294600250670, 0.891957901638179670, 0.891980506446213630, 0.892003109024296250, 0.892025709372371130, 0.892048307490381660, 0.892070903378271440, 0.892093497035984060, +0.892116088463462800, 0.892138677660651800, 0.892161264627493680, 0.892183849363932470, 0.892206431869911550, 0.892229012145374530, 0.892251590190265120, 0.892274166004526580, +0.892296739588102740, 0.892319310940937300, 0.892341880062973320, 0.892364446954154620, 0.892387011614424800, 0.892409574043727450, 0.892432134242006180, 0.892454692209204480, +0.892477247945266510, 0.892499801450135080, 0.892522352723754130, 0.892544901766067270, 0.892567448577018090, 0.892589993156550410, 0.892612535504607620, 0.892635075621133640, +0.892657613506072200, 0.892680149159366440, 0.892702682580960310, 0.892725213770797500, 0.892747742728821510, 0.892770269454976280, 0.892792793949205410, 0.892815316211452940, +0.892837836241661690, 0.892860354039775930, 0.892882869605739260, 0.892905382939495400, 0.892927894040988050, 0.892950402910161030, 0.892972909546957960, 0.892995413951323090, +0.893017916123199250, 0.893040416062530600, 0.893062913769260950, 0.893085409243333910, 0.893107902484693410, 0.893130393493283160, 0.893152882269046990, 0.893175368811928940, +0.893197853121872050, 0.893220335198820600, 0.893242815042718300, 0.893265292653508960, 0.893287768031136300, 0.893310241175544250, 0.893332712086677080, 0.893355180764477730, +0.893377647208890350, 0.893400111419858870, 0.893422573397327110, 0.893445033141239020, 0.893467490651538190, 0.893489945928168770, 0.893512398971074820, 0.893534849780199480, +0.893557298355486920, 0.893579744696881280, 0.893602188804326180, 0.893624630677765650, 0.893647070317143520, 0.893669507722403720, 0.893691942893490520, 0.893714375830347070, +0.893736806532917760, 0.893759235001146400, 0.893781661234976930, 0.893804085234353280, 0.893826506999219510, 0.893848926529519750, 0.893871343825197400, 0.893893758886196600, +0.893916171712461400, 0.893938582303935860, 0.893960990660563780, 0.893983396782289220, 0.894005800669056220, 0.894028202320809040, 0.894050601737491070, 0.894072998919046570, +0.894095393865419470, 0.894117786576553940, 0.894140177052394010, 0.894162565292883630, 0.894184951297967160, 0.894207335067587980, 0.894229716601690370, 0.894252095900218590, +0.894274472963116460, 0.894296847790328250, 0.894319220381797790, 0.894341590737469440, 0.894363958857287370, 0.894386324741195060, 0.894408688389137010, 0.894431049801057140, +0.894453408976899620, 0.894475765916608710, 0.894498120620128350, 0.894520473087402570, 0.894542823318376090, 0.894565171312992180, 0.894587517071195330, 0.894609860592929680, +0.894632201878139300, 0.894654540926768550, 0.894676877738761370, 0.894699212314062460, 0.894721544652615000, 0.894743874754363790, 0.894766202619252880, 0.894788528247226430, +0.894810851638228600, 0.894833172792203760, 0.894855491709095950, 0.894877808388849780, 0.894900122831408740, 0.894922435036717310, 0.894944745004719880, 0.894967052735360590, +0.894989358228583610, 0.895011661484333200, 0.895033962502553740, 0.895056261283189710, 0.895078557826184620, 0.895100852131483160, 0.895123144199029610, 0.895145434028768120, +0.895167721620643060, 0.895190006974598720, 0.895212290090579790, 0.895234570968529760, 0.895256849608393250, 0.895279126010114610, 0.895301400173638130, 0.895323672098908170, +0.895345941785869130, 0.895368209234465140, 0.895390474444641040, 0.895412737416340310, 0.895434998149507780, 0.895457256644087820, 0.895479512900024590, 0.895501766917262690, +0.895524018695746270, 0.895546268235420270, 0.895568515536228180, 0.895590760598114820, 0.895613003421024570, 0.895635244004901800, 0.895657482349690890, 0.895679718455336340, +0.895701952321782400, 0.895724183948974020, 0.895746413336854790, 0.895768640485369530, 0.895790865394462730, 0.895813088064078670, 0.895835308494161930, 0.895857526684656900, +0.895879742635508070, 0.895901956346660260, 0.895924167818057170, 0.895946377049643750, 0.895968584041364260, 0.895990788793163410, 0.896012991304985460, 0.896035191576775140, +0.896057389608477250, 0.896079585400035410, 0.896101778951394650, 0.896123970262499460, 0.896146159333294330, 0.896168346163723760, 0.896190530753732340, 0.896212713103264670, +0.896234893212265570, 0.896257071080678760, 0.896279246708449380, 0.896301420095521830, 0.896323591241840800, 0.896345760147350680, 0.896367926811996290, 0.896390091235722000, +0.896412253418472860, 0.896434413360192690, 0.896456571060826550, 0.896478726520318900, 0.896500879738614590, 0.896523030715657980, 0.896545179451393780, 0.896567325945767050, +0.896589470198721590, 0.896611612210202470, 0.896633751980154270, 0.896655889508521710, 0.896678024795249500, 0.896700157840282120, 0.896722288643564400, 0.896744417205041390, +0.896766543524656900, 0.896788667602356090, 0.896810789438083570, 0.896832909031784140, 0.896855026383402310, 0.896877141492883000, 0.896899254360171260, 0.896921364985210910, +0.896943473367947220, 0.896965579508324780, 0.896987683406288540, 0.897009785061782970, 0.897031884474752910, 0.897053981645143160, 0.897076076572898900, 0.897098169257964040, +0.897120259700283750, 0.897142347899802740, 0.897164433856465940, 0.897186517570218060, 0.897208599041003920, 0.897230678268768230, 0.897252755253456160, 0.897274829995011960, +0.897296902493380570, 0.897318972748507030, 0.897341040760335940, 0.897363106528812350, 0.897385170053880850, 0.897407231335486940, 0.897429290373574550, 0.897451347168088940, +0.897473401718974940, 0.897495454026177470, 0.897517504089641370, 0.897539551909311450, 0.897561597485132650, 0.897583640817050220, 0.897605681905008450, 0.897627720748952360, +0.897649757348826900, 0.897671791704577230, 0.897693823816147930, 0.897715853683484170, 0.897737881306530760, 0.897759906685232980, 0.897781929819535090, 0.897803950709382350, +0.897825969354719700, 0.897847985755492180, 0.897869999911644730, 0.897892011823122170, 0.897914021489870100, 0.897936028911832440, 0.897958034088954800, 0.897980037021182120, +0.898002037708459320, 0.898024036150731340, 0.898046032347943330, 0.898068026300040230, 0.898090018006967530, 0.898112007468669260, 0.898133994685091030, 0.898155979656177880, +0.898177962381874750, 0.898199942862126680, 0.898221921096878710, 0.898243897086076440, 0.898265870829664030, 0.898287842327586850, 0.898309811579790060, 0.898331778586218820, +0.898353743346818060, 0.898375705861533040, 0.898397666130308690, 0.898419624153090620, 0.898441579929822990, 0.898463533460451490, 0.898485484744921180, 0.898507433783177100, +0.898529380575164520, 0.898551325120828360, 0.898573267420114010, 0.898595207472966840, 0.898617145279331230, 0.898639080839152780, 0.898661014152376650, 0.898682945218947870, +0.898704874038811830, 0.898726800611913570, 0.898748724938198800, 0.898770647017611780, 0.898792566850098120, 0.898814484435602970, 0.898836399774071700, 0.898858312865449370, +0.898880223709681350, 0.898902132306712680, 0.898924038656489180, 0.898945942758955010, 0.898967844614056100, 0.898989744221737610, 0.899011641581944690, 0.899033536694622710, +0.899055429559716960, 0.899077320177172900, 0.899099208546935150, 0.899121094668949410, 0.899142978543161050, 0.899164860169515130, 0.899186739547957030, 0.899208616678432100, +0.899230491560885640, 0.899252364195263440, 0.899274234581509790, 0.899296102719570610, 0.899317968609391170, 0.899339832250916850, 0.899361693644092910, 0.899383552788864730, +0.899405409685177680, 0.899427264332977590, 0.899449116732208840, 0.899470966882817250, 0.899492814784748410, 0.899514660437947370, 0.899536503842359720, 0.899558344997930860, +0.899580183904606480, 0.899602020562331290, 0.899623854971051130, 0.899645687130711140, 0.899667517041257030, 0.899689344702634180, 0.899711170114787850, 0.899732993277663760, +0.899754814191207400, 0.899776632855363690, 0.899798449270078460, 0.899820263435297090, 0.899842075350964940, 0.899863885017027740, 0.899885692433430750, 0.899907497600119570, +0.899929300517040010, 0.899951101184136790, 0.899972899601355850, 0.899994695768642660, 0.900016489685942720, 0.900038281353201520, 0.900060070770364760, 0.900081857937378050, +0.900103642854186430, 0.900125425520735600, 0.900147205936971280, 0.900168984102838850, 0.900190760018284020, 0.900212533683252380, 0.900234305097689310, 0.900256074261540860, +0.900277841174751850, 0.900299605837268200, 0.900321368249035640, 0.900343128409999530, 0.900364886320105700, 0.900386641979299630, 0.900408395387527370, 0.900430146544733630, +0.900451895450864570, 0.900473642105865890, 0.900495386509682970, 0.900517128662261630, 0.900538868563547480, 0.900560606213486100, 0.900582341612023660, 0.900604074759104980, +0.900625805654676090, 0.900647534298682610, 0.900669260691070450, 0.900690984831785000, 0.900712706720772190, 0.900734426357977510, 0.900756143743347230, 0.900777858876826150, +0.900799571758360560, 0.900821282387895940, 0.900842990765378100, 0.900864696890752770, 0.900886400763965760, 0.900908102384963110, 0.900929801753689750, 0.900951498870091960, +0.900973193734115440, 0.900994886345705900, 0.901016576704809170, 0.901038264811370950, 0.901059950665337060, 0.901081634266653770, 0.901103315615265910, 0.901124994711119840, +0.901146671554161170, 0.901168346144335940, 0.901190018481589860, 0.901211688565868640, 0.901233356397118210, 0.901255021975284840, 0.901276685300313460, 0.901298346372150450, +0.901320005190741510, 0.901341661756032590, 0.901363316067969490, 0.901384968126498150, 0.901406617931564740, 0.901428265483114390, 0.901449910781093380, 0.901471553825447520, +0.901493194616122870, 0.901514833153065240, 0.901536469436220570, 0.901558103465534670, 0.901579735240953810, 0.901601364762423360, 0.901622992029889380, 0.901644617043298010, +0.901666239802595080, 0.901687860307726520, 0.901709478558638370, 0.901731094555276890, 0.901752708297587250, 0.901774319785515810, 0.901795929019008620, 0.901817535998011620, +0.901839140722470840, 0.901860743192332110, 0.901882343407541590, 0.901903941368045530, 0.901925537073789200, 0.901947130524719090, 0.901968721720781240, 0.901990310661921480, +0.902011897348085960, 0.902033481779220710, 0.902055063955271690, 0.902076643876185470, 0.902098221541907220, 0.902119796952383420, 0.902141370107560130, 0.902162941007383480, +0.902184509651799420, 0.902206076040754090, 0.902227640174193990, 0.902249202052064380, 0.902270761674311750, 0.902292319040882140, 0.902313874151721820, 0.902335427006776820, +0.902356977605993320, 0.902378525949317220, 0.902400072036695260, 0.902421615868072790, 0.902443157443396200, 0.902464696762611760, 0.902486233825665620, 0.902507768632503820, +0.902529301183072620, 0.902550831477318180, 0.902572359515187110, 0.902593885296624650, 0.902615408821577540, 0.902636930089991910, 0.902658449101813920, 0.902679965856989730, +0.902701480355465710, 0.902722992597188470, 0.902744502582103260, 0.902766010310156800, 0.902787515781295240, 0.902809018995465060, 0.902830519952612210, 0.902852018652683050, +0.902873515095623970, 0.902895009281381330, 0.902916501209900860, 0.902937990881129140, 0.902959478295012440, 0.902980963451497030, 0.903002446350529290, 0.903023926992055360, +0.903045405376021960, 0.903066881502374800, 0.903088355371060250, 0.903109826982024910, 0.903131296335215050, 0.903152763430576930, 0.903174228268056820, 0.903195690847601210, +0.903217151169156680, 0.903238609232668970, 0.903260065038084760, 0.903281518585350330, 0.903302969874412160, 0.903324418905216530, 0.903345865677709800, 0.903367310191838470, +0.903388752447549240, 0.903410192444787710, 0.903431630183500810, 0.903453065663634700, 0.903474498885135980, 0.903495929847951020, 0.903517358552026200, 0.903538784997308440, +0.903560209183743250, 0.903581631111277540, 0.903603050779857810, 0.903624468189430430, 0.903645883339941890, 0.903667296231338680, 0.903688706863567170, 0.903710115236574300, +0.903731521350305770, 0.903752925204708400, 0.903774326799728690, 0.903795726135313230, 0.903817123211408500, 0.903838518027960890, 0.903859910584916990, 0.903881300882223630, +0.903902688919826720, 0.903924074697673110, 0.903945458215709260, 0.903966839473881790, 0.903988218472137170, 0.904009595210422120, 0.904030969688683350, 0.904052341906866790, +0.904073711864919470, 0.904095079562787780, 0.904116445000418430, 0.904137808177757910, 0.904159169094752910, 0.904180527751350050, 0.904201884147496140, 0.904223238283137220, +0.904244590158220230, 0.904265939772691650, 0.904287287126498310, 0.904308632219586680, 0.904329975051903600, 0.904351315623395770, 0.904372653934009450, 0.904393989983691360, +0.904415323772388420, 0.904436655300047130, 0.904457984566614190, 0.904479311572036200, 0.904500636316260100, 0.904521958799232690, 0.904543279020900040, 0.904564596981209170, +0.904585912680106800, 0.904607226117539630, 0.904628537293454380, 0.904649846207797870, 0.904671152860516690, 0.904692457251558000, 0.904713759380867840, 0.904735059248393260, +0.904756356854081070, 0.904777652197877870, 0.904798945279730700, 0.904820236099586060, 0.904841524657391210, 0.904862810953092180, 0.904884094986636130, 0.904905376757969890, +0.904926656267040160, 0.904947933513793770, 0.904969208498177520, 0.904990481220138370, 0.905011751679623330, 0.905033019876578470, 0.905054285810951150, 0.905075549482688090, +0.905096810891736100, 0.905118070038042230, 0.905139326921553080, 0.905160581542215900, 0.905181833899977080, 0.905203083994783550, 0.905224331826582350, 0.905245577395320300, +0.905266820700944330, 0.905288061743401370, 0.905309300522638140, 0.905330537038602110, 0.905351771291239340, 0.905373003280497080, 0.905394233006322380, 0.905415460468662170, +0.905436685667463160, 0.905457908602672500, 0.905479129274237130, 0.905500347682104190, 0.905521563826220070, 0.905542777706532130, 0.905563989322987100, 0.905585198675532220, +0.905606405764114220, 0.905627610588680240, 0.905648813149177670, 0.905670013445552650, 0.905691211477752670, 0.905712407245724550, 0.905733600749415450, 0.905754791988772400, +0.905775980963742340, 0.905797167674272320, 0.905818352120309700, 0.905839534301800860, 0.905860714218693190, 0.905881891870933820, 0.905903067258469590, 0.905924240381247750, +0.905945411239215350, 0.905966579832319320, 0.905987746160507370, 0.906008910223725540, 0.906030072021921540, 0.906051231555042300, 0.906072388823034980, 0.906093543825846610, +0.906114696563424470, 0.906135847035716040, 0.906156995242667460, 0.906178141184226460, 0.906199284860340180, 0.906220426270955560, 0.906241565416019970, 0.906262702295480450, +0.906283836909284160, 0.906304969257378690, 0.906326099339710310, 0.906347227156226840, 0.906368352706875210, 0.906389475991602690, 0.906410597010356530, 0.906431715763083790, +0.906452832249732280, 0.906473946470248150, 0.906495058424579230, 0.906516168112672660, 0.906537275534475720, 0.906558380689935550, 0.906579483578999420, 0.906600584201614600, +0.906621682557728680, 0.906642778647288150, 0.906663872470240720, 0.906684964026533650, 0.906706053316114090, 0.906727140338929430, 0.906748225094926920, 0.906769307584053830, +0.906790387806257870, 0.906811465761485520, 0.906832541449684610, 0.906853614870802290, 0.906874686024785830, 0.906895754911582810, 0.906916821531140280, 0.906937885883406180, +0.906958947968326990, 0.906980007785850310, 0.907001065335923730, 0.907022120618494410, 0.907043173633509840, 0.907064224380917270, 0.907085272860664200, 0.907106319072698340, +0.907127363016966280, 0.907148404693415840, 0.907169444101994290, 0.907190481242649230, 0.907211516115327910, 0.907232548719977830, 0.907253579056546360, 0.907274607124981420, +0.907295632925229410, 0.907316656457238470, 0.907337677720955860, 0.907358696716328960, 0.907379713443305370, 0.907400727901832570, 0.907421740091858280, 0.907442750013329190, +0.907463757666193360, 0.907484763050398050, 0.907505766165890850, 0.907526767012619140, 0.907547765590530630, 0.907568761899572700, 0.907589755939693270, 0.907610747710838940, +0.907631737212957870, 0.907652724445997430, 0.907673709409905220, 0.907694692104628610, 0.907715672530115310, 0.907736650686313260, 0.907757626573169160, 0.907778600190631060, +0.907799571538646430, 0.907820540617162890, 0.907841507426127900, 0.907862471965489190, 0.907883434235194350, 0.907904394235191310, 0.907925351965426900, 0.907946307425849030, +0.907967260616405420, 0.907988211537043680, 0.908009160187711490, 0.908030106568356250, 0.908051050678925890, 0.908071992519368210, 0.908092932089630160, 0.908113869389659770, +0.908134804419404750, 0.908155737178812710, 0.908176667667831230, 0.908197595886408250, 0.908218521834491590, 0.908239445512028180, 0.908260366918966170, 0.908281286055253380, +0.908302202920837190, 0.908323117515665630, 0.908344029839686210, 0.908364939892846720, 0.908385847675095340, 0.908406753186378870, 0.908427656426645470, 0.908448557395843070, +0.908469456093919160, 0.908490352520821660, 0.908511246676498300, 0.908532138560896870, 0.908553028173965330, 0.908573915515650920, 0.908594800585901700, 0.908615683384665580, +0.908636563911890070, 0.908657442167523310, 0.908678318151512900, 0.908699191863806990, 0.908720063304352840, 0.908740932473098510, 0.908761799369991800, 0.908782663994980640, +0.908803526348012760, 0.908824386429036070, 0.908845244237998510, 0.908866099774848110, 0.908886953039532150, 0.908907804031998780, 0.908928652752195920, 0.908949499200071400, +0.908970343375573140, 0.908991185278649080, 0.909012024909247370, 0.909032862267315170, 0.909053697352800950, 0.909074530165652320, 0.909095360705817530, 0.909116188973244200, +0.909137014967880460, 0.909157838689674260, 0.909178660138573740, 0.909199479314526270, 0.909220296217480020, 0.909241110847383020, 0.909261923204183310, 0.909282733287828830, +0.909303541098267390, 0.909324346635447260, 0.909345149899316470, 0.909365950889822530, 0.909386749606913680, 0.909407546050537970, 0.909428340220643340, 0.909449132117177930, +0.909469921740089670, 0.909490709089327050, 0.909511494164837230, 0.909532276966568580, 0.909553057494469350, 0.909573835748487490, 0.909594611728570920, 0.909615385434667910, +0.909636156866726500, 0.909656926024694950, 0.909677692908520740, 0.909698457518152370, 0.909719219853537760, 0.909739979914625190, 0.909760737701362570, 0.909781493213698170, +0.909802246451580030, 0.909822997414956650, 0.909843746103775390, 0.909864492517984740, 0.909885236657532960, 0.909905978522367990, 0.909926718112438080, 0.909947455427691400, +0.909968190468076530, 0.909988923233540750, 0.910009653724032640, 0.910030381939500370, 0.910051107879892180, 0.910071831545156250, 0.910092552935240720, 0.910113272050093740, +0.910133988889664010, 0.910154703453898930, 0.910175415742747180, 0.910196125756156830, 0.910216833494076120, 0.910237538956453320, 0.910258242143236700, 0.910278943054374850, +0.910299641689815360, 0.910320338049506630, 0.910341032133397120, 0.910361723941435000, 0.910382413473568630, 0.910403100729746170, 0.910423785709916000, 0.910444468414026710, +0.910465148842025900, 0.910485826993862160, 0.910506502869483870, 0.910527176468839410, 0.910547847791876920, 0.910568516838544780, 0.910589183608791490, 0.910609848102565510, +0.910630510319814570, 0.910651170260487360, 0.910671827924532160, 0.910692483311897450, 0.910713136422531490, 0.910733787256382770, 0.910754435813399880, 0.910775082093530530, +0.910795726096723550, 0.910816367822927190, 0.910837007272089940, 0.910857644444160060, 0.910878279339086270, 0.910898911956816600, 0.910919542297300100, 0.910940170360484360, +0.910960796146318200, 0.910981419654750100, 0.911002040885728450, 0.911022659839201610, 0.911043276515118180, 0.911063890913426880, 0.911084503034075510, 0.911105112877012900, +0.911125720442187540, 0.911146325729547790, 0.911166928739042370, 0.911187529470619540, 0.911208127924227900, 0.911228724099816260, 0.911249317997332440, 0.911269909616725380, +0.911290498957943560, 0.911311086020935360, 0.911331670805649590, 0.911352253312034620, 0.911372833540038950, 0.911393411489611620, 0.911413987160700430, 0.911434560553254220, +0.911455131667221590, 0.911475700502551110, 0.911496267059191510, 0.911516831337091160, 0.911537393336199100, 0.911557953056463140, 0.911578510497832340, 0.911599065660255280, +0.911619618543680570, 0.911640169148056790, 0.911660717473332550, 0.911681263519456550, 0.911701807286377730, 0.911722348774044120, 0.911742887982404550, 0.911763424911407830, +0.911783959561002440, 0.911804491931137220, 0.911825022021760860, 0.911845549832821840, 0.911866075364269220, 0.911886598616051260, 0.911907119588116650, 0.911927638280414230, +0.911948154692892810, 0.911968668825500980, 0.911989180678187460, 0.912009690250901390, 0.912030197543590710, 0.912050702556204460, 0.912071205288691570, 0.912091705741000620, +0.912112203913080340, 0.912132699804879650, 0.912153193416347150, 0.912173684747432100, 0.912194173798082430, 0.912214660568247290, 0.912235145057875510, 0.912255627266915890, +0.912276107195317270, 0.912296584843028340, 0.912317060209998250, 0.912337533296175170, 0.912358004101508250, 0.912378472625946400, 0.912398938869438240, 0.912419402831932790, +0.912439864513378880, 0.912460323913725340, 0.912480781032921300, 0.912501235870914920, 0.912521688427655460, 0.912542138703091750, 0.912562586697172720, 0.912583032409847280, +0.912603475841064160, 0.912623916990772390, 0.912644355858921230, 0.912664792445458840, 0.912685226750334370, 0.912705658773496850, 0.912726088514895230, 0.912746515974478420, +0.912766941152195250, 0.912787364047995100, 0.912807784661826220, 0.912828202993637870, 0.912848619043378990, 0.912869032810998630, 0.912889444296445580, 0.912909853499669020, +0.912930260420617760, 0.912950665059241160, 0.912971067415487610, 0.912991467489306370, 0.913011865280646480, 0.913032260789456980, 0.913052654015686800, 0.913073044959284870, +0.913093433620200460, 0.913113819998382810, 0.913134204093780210, 0.913154585906342130, 0.913174965436017510, 0.913195342682755600, 0.913215717646505220, 0.913236090327215640, +0.913256460724836130, 0.913276828839315160, 0.913297194670602110, 0.913317558218646020, 0.913337919483396040, 0.913358278464801330, 0.913378635162810810, 0.913398989577373870, +0.913419341708439640, 0.913439691555956830, 0.913460039119874720, 0.913480384400142560, 0.913500727396709400, 0.913521068109524380, 0.913541406538536770, 0.913561742683696050, +0.913582076544950490, 0.913602408122249800, 0.913622737415543120, 0.913643064424779490, 0.913663389149908300, 0.913683711590878580, 0.913704031747639590, 0.913724349620140930, +0.913744665208330980, 0.913764978512159430, 0.913785289531575450, 0.913805598266528070, 0.913825904716966900, 0.913846208882840850, 0.913866510764099300, 0.913886810360691860, +0.913907107672567000, 0.913927402699674430, 0.913947695441963300, 0.913967985899383000, 0.913988274071882660, 0.914008559959411660, 0.914028843561919600, 0.914049124879355080, +0.914069403911667800, 0.914089680658807020, 0.914109955120721910, 0.914130227297362040, 0.914150497188676580, 0.914170764794614790, 0.914191030115126480, 0.914211293150160360, +0.914231553899665930, 0.914251812363592540, 0.914272068541889690, 0.914292322434506640, 0.914312574041392880, 0.914332823362497550, 0.914353070397770580, 0.914373315147160580, +0.914393557610617250, 0.914413797788090070, 0.914434035679528410, 0.914454271284881660, 0.914474504604099180, 0.914494735637130910, 0.914514964383925320, 0.914535190844432360, +0.914555415018601380, 0.914575636906381990, 0.914595856507723350, 0.914616073822575150, 0.914636288850886770, 0.914656501592608030, 0.914676712047687750, 0.914696920216075520, +0.914717126097721160, 0.914737329692573820, 0.914757531000583320, 0.914777730021698820, 0.914797926755870460, 0.914818121203046950, 0.914838313363178110, 0.914858503236213430, +0.914878690822102600, 0.914898876120794900, 0.914919059132240140, 0.914939239856387700, 0.914959418293187500, 0.914979594442588360, 0.914999768304540330, 0.915019939878992770, +0.915040109165895510, 0.915060276165197810, 0.915080440876849480, 0.915100603300800120, 0.915120763436999550, 0.915140921285396700, 0.915161076845941500, 0.915181230118583770, +0.915201381103272870, 0.915221529799958410, 0.915241676208590320, 0.915261820329118290, 0.915281962161491380, 0.915302101705659510, 0.915322238961572500, 0.915342373929179720, +0.915362506608431210, 0.915382636999276240, 0.915402765101664850, 0.915422890915546850, 0.915443014440871170, 0.915463135677588080, 0.915483254625647060, 0.915503371284997920, +0.915523485655590390, 0.915543597737374150, 0.915563707530298920, 0.915583815034314740, 0.915603920249370650, 0.915624023175416800, 0.915644123812402900, 0.915664222160278650, +0.915684318218993880, 0.915704411988498280, 0.915724503468742010, 0.915744592659674230, 0.915764679561244850, 0.915784764173403820, 0.915804846496100830, 0.915824926529285820, +0.915845004272908380, 0.915865079726918550, 0.915885152891266260, 0.915905223765900780, 0.915925292350772250, 0.915945358645830490, 0.915965422651025320, 0.915985484366306670, +0.916005543791624240, 0.916025600926928310, 0.916045655772168010, 0.916065708327293620, 0.916085758592254830, 0.916105806567001800, 0.916125852251484130, 0.916145895645651960, +0.916165936749455010, 0.916185975562843540, 0.916206012085766690, 0.916226046318174950, 0.916246078260018030, 0.916266107911245960, 0.916286135271808580, 0.916306160341655910, +0.916326183120737770, 0.916346203609004540, 0.916366221806405480, 0.916386237712890850, 0.916406251328410690, 0.916426262652914820, 0.916446271686353290, 0.916466278428676120, +0.916486282879833580, 0.916506285039775050, 0.916526284908450780, 0.916546282485810710, 0.916566277771804990, 0.916586270766383660, 0.916606261469496530, 0.916626249881093760, +0.916646236001125820, 0.916666219829541880, 0.916686201366292310, 0.916706180611327360, 0.916726157564596860, 0.916746132226051060, 0.916766104595639900, 0.916786074673313410, +0.916806042459022200, 0.916826007952715400, 0.916845971154343630, 0.916865932063857030, 0.916885890681205520, 0.916905847006339260, 0.916925801039208400, 0.916945752779763420, +0.916965702227953710, 0.916985649383729730, 0.917005594247041530, 0.917025536817839490, 0.917045477096073540, 0.917065415081693920, 0.917085350774650700, 0.917105284174894560, +0.917125215282374780, 0.917145144097041950, 0.917165070618846330, 0.917184994847738080, 0.917204916783667220, 0.917224836426584140, 0.917244753776439210, 0.917264668833182140, +0.917284581596763400, 0.917304492067133270, 0.917324400244241780, 0.917344306128039410, 0.917364209718476210, 0.917384111015502430, 0.917404010019068790, 0.917423906729124770, +0.917443801145620960, 0.917463693268507630, 0.917483583097735140, 0.917503470633253660, 0.917523355875013550, 0.917543238822964960, 0.917563119477058710, 0.917582997837244170, +0.917602873903472280, 0.917622747675693180, 0.917642619153857140, 0.917662488337914640, 0.917682355227815830, 0.917702219823511630, 0.917722082124951430, 0.917741942132086040, +0.917761799844865720, 0.917781655263240960, 0.917801508387162120, 0.917821359216579370, 0.917841207751443400, 0.917861053991704590, 0.917880897937312870, 0.917900739588218940, +0.917920578944373180, 0.917940416005725960, 0.917960250772227650, 0.917980083243828740, 0.917999913420479930, 0.918019741302131040, 0.918039566888732780, 0.918059390180235520, +0.918079211176589860, 0.918099029877746280, 0.918118846283654920, 0.918138660394266610, 0.918158472209531950, 0.918178281729400750, 0.918198088953823820, 0.918217893882751660, +0.918237696516134850, 0.918257496853923770, 0.918277294896068910, 0.918297090642520850, 0.918316884093230310, 0.918336675248147330, 0.918356464107222600, 0.918376250670406740, +0.918396034937650320, 0.918415816908903730, 0.918435596584117550, 0.918455373963242840, 0.918475149046229290, 0.918494921833027830, 0.918514692323589180, 0.918534460517863690, +0.918554226415802090, 0.918573990017354960, 0.918593751322472780, 0.918613510331106610, 0.918633267043206360, 0.918653021458722850, 0.918672773577606790, 0.918692523399808890, +0.918712270925279630, 0.918732016153969710, 0.918751759085829730, 0.918771499720810740, 0.918791238058862540, 0.918810974099936400, 0.918830707843982690, 0.918850439290952340, +0.918870168440795830, 0.918889895293463880, 0.918909619848907510, 0.918929342107076770, 0.918949062067922710, 0.918968779731396010, 0.918988495097447290, 0.919008208166027350, +0.919027918937086910, 0.919047627410576770, 0.919067333586447770, 0.919087037464650150, 0.919106739045134850, 0.919126438327852790, 0.919146135312754690, 0.919165829999791130, +0.919185522388913050, 0.919205212480071480, 0.919224900273216570, 0.919244585768299370, 0.919264268965270800, 0.919283949864081460, 0.919303628464682280, 0.919323304767024060, +0.919342978771057530, 0.919362650476733930, 0.919382319884003320, 0.919401986992816940, 0.919421651803125630, 0.919441314314880080, 0.919460974528031330, 0.919480632442530200, +0.919500288058327400, 0.919519941375374180, 0.919539592393620820, 0.919559241113018570, 0.919578887533518130, 0.919598531655070440, 0.919618173477626420, 0.919637813001137010, +0.919657450225553450, 0.919677085150825800, 0.919696717776905540, 0.919716348103743480, 0.919735976131290540, 0.919755601859497670, 0.919775225288315790, 0.919794846417695820, +0.919814465247589030, 0.919834081777945790, 0.919853696008717360, 0.919873307939854670, 0.919892917571308750, 0.919912524903030550, 0.919932129934970980, 0.919951732667081080, +0.919971333099312230, 0.919990931231614680, 0.920010527063939820, 0.920030120596238570, 0.920049711828462070, 0.920069300760561370, 0.920088887392487290, 0.920108471724191410, +0.920128053755624010, 0.920147633486736450, 0.920167210917479880, 0.920186786047805240, 0.920206358877663550, 0.920225929407006090, 0.920245497635783670, 0.920265063563947990, +0.920284627191449210, 0.920304188518238920, 0.920323747544268160, 0.920343304269487960, 0.920362858693849480, 0.920382410817303990, 0.920401960639802730, 0.920421508161296310, +0.920441053381735990, 0.920460596301073130, 0.920480136919258780, 0.920499675236243990, 0.920519211251980110, 0.920538744966418190, 0.920558276379509710, 0.920577805491205270, +0.920597332301456240, 0.920616856810213880, 0.920636379017429450, 0.920655898923053990, 0.920675416527038770, 0.920694931829335150, 0.920714444829894400, 0.920733955528667320, +0.920753463925605200, 0.920772970020659500, 0.920792473813781380, 0.920811975304922090, 0.920831474494032910, 0.920850971381065310, 0.920870465965969890, 0.920889958248698460, +0.920909448229201950, 0.920928935907431970, 0.920948421283339540, 0.920967904356876140, 0.920987385127992940, 0.921006863596641630, 0.921026339762772820, 0.921045813626338190, +0.921065285187289030, 0.921084754445576580, 0.921104221401152330, 0.921123686053967440, 0.921143148403973380, 0.921162608451121860, 0.921182066195363360, 0.921201521636649700, +0.921220974774932370, 0.921240425610162510, 0.921259874142291490, 0.921279320371270920, 0.921298764297052370, 0.921318205919586570, 0.921337645238825220, 0.921357082254719790, +0.921376516967221670, 0.921395949376282220, 0.921415379481852930, 0.921434807283885160, 0.921454232782330740, 0.921473655977140370, 0.921493076868265870, 0.921512495455658720, +0.921531911739270290, 0.921551325719052070, 0.921570737394955540, 0.921590146766932520, 0.921609553834933810, 0.921628958598911140, 0.921648361058816090, 0.921667761214600260, +0.921687159066214900, 0.921706554613611730, 0.921725947856742110, 0.921745338795557980, 0.921764727430010140, 0.921784113760050540, 0.921803497785630640, 0.921822879506701940, +0.921842258923216140, 0.921861636035124610, 0.921881010842379060, 0.921900383344931180, 0.921919753542732150, 0.921939121435733640, 0.921958487023887390, 0.921977850307144960, +0.921997211285457860, 0.922016569958777680, 0.922035926327056440, 0.922055280390245090, 0.922074632148295550, 0.922093981601159410, 0.922113328748788260, 0.922132673591133820, +0.922152016128147680, 0.922171356359781540, 0.922190694285987320, 0.922210029906716080, 0.922229363221919730, 0.922248694231549980, 0.922268022935558430, 0.922287349333896890, +0.922306673426516950, 0.922325995213370330, 0.922345314694409170, 0.922364631869584280, 0.922383946738847830, 0.922403259302151500, 0.922422569559447010, 0.922441877510686070, +0.922461183155820490, 0.922480486494802300, 0.922499787527582550, 0.922519086254113270, 0.922538382674346290, 0.922557676788233420, 0.922576968595726350, 0.922596258096776810, +0.922615545291336600, 0.922634830179357990, 0.922654112760791900, 0.922673393035590480, 0.922692671003705670, 0.922711946665089040, 0.922731220019692660, 0.922750491067468200, +0.922769759808367840, 0.922789026242342820, 0.922808290369345090, 0.922827552189326770, 0.922846811702239480, 0.922866068908035240, 0.922885323806665770, 0.922904576398082990, +0.922923826682239160, 0.922943074659085430, 0.922962320328573950, 0.922981563690656650, 0.923000804745285450, 0.923020043492412290, 0.923039279931989090, 0.923058514063967550, +0.923077745888300160, 0.923096975404937960, 0.923116202613833430, 0.923135427514938380, 0.923154650108204740, 0.923173870393584450, 0.923193088371029540, 0.923212304040492150, +0.923231517401923770, 0.923250728455276560, 0.923269937200502430, 0.923289143637553540, 0.923308347766381820, 0.923327549586939190, 0.923346749099177800, 0.923365946303049690, +0.923385141198506560, 0.923404333785500460, 0.923423524063983540, 0.923442712033907820, 0.923461897695225350, 0.923481081047888060, 0.923500262091848430, 0.923519440827057840, +0.923538617253468640, 0.923557791371033000, 0.923576963179702730, 0.923596132679430080, 0.923615299870167110, 0.923634464751865950, 0.923653627324478870, 0.923672787587957460, +0.923691945542254090, 0.923711101187320800, 0.923730254523109750, 0.923749405549573080, 0.923768554266662930, 0.923787700674331360, 0.923806844772530940, 0.923825986561213060, +0.923845126040330090, 0.923864263209834390, 0.923883398069678120, 0.923902530619813200, 0.923921660860192010, 0.923940788790767020, 0.923959914411489720, 0.923979037722312710, +0.923998158723188020, 0.924017277414067920, 0.924036393794904650, 0.924055507865650380, 0.924074619626257370, 0.924093729076678190, 0.924112836216864240, 0.924131941046768320, +0.924151043566342480, 0.924170143775538970, 0.924189241674310160, 0.924208337262608310, 0.924227430540385590, 0.924246521507594570, 0.924265610164186960, 0.924284696510115240, +0.924303780545331910, 0.924322862269788990, 0.924341941683439080, 0.924361018786234220, 0.924380093578127120, 0.924399166059069470, 0.924418236229013980, 0.924437304087912800, +0.924456369635718420, 0.924475432872383100, 0.924494493797859200, 0.924513552412099090, 0.924532608715055380, 0.924551662706679880, 0.924570714386925170, 0.924589763755743640, +0.924608810813087770, 0.924627855558909810, 0.924646897993162350, 0.924665938115797780, 0.924684975926768240, 0.924704011426026100, 0.924723044613523950, 0.924742075489214280, +0.924761104053049340, 0.924780130304981740, 0.924799154244963730, 0.924818175872948120, 0.924837195188886850, 0.924856212192732510, 0.924875226884437680, 0.924894239263954750, +0.924913249331236310, 0.924932257086234720, 0.924951262528902360, 0.924970265659192270, 0.924989266477056260, 0.925008264982447040, 0.925027261175317080, 0.925046255055618990, +0.925065246623305360, 0.925084235878328440, 0.925103222820641390, 0.925122207450195910, 0.925141189766944930, 0.925160169770841030, 0.925179147461836600, 0.925198122839884340, +0.925217095904936840, 0.925236066656946580, 0.925255035095866370, 0.925274001221648380, 0.925292965034245300, 0.925311926533609830, 0.925330885719694570, 0.925349842592452120, +0.925368797151834950, 0.925387749397795890, 0.925406699330287740, 0.925425646949262550, 0.925444592254673240, 0.925463535246472400, 0.925482475924612750, 0.925501414289046860, +0.925520350339727570, 0.925539284076607680, 0.925558215499639240, 0.925577144608775160, 0.925596071403968380, 0.925614995885171270, 0.925633918052336750, 0.925652837905417410, +0.925671755444366080, 0.925690670669135570, 0.925709583579678140, 0.925728494175946710, 0.925747402457894000, 0.925766308425472810, 0.925785212078635840, 0.925804113417335930, +0.925823012441525980, 0.925841909151158160, 0.925860803546185610, 0.925879695626561030, 0.925898585392237240, 0.925917472843166940, 0.925936357979303070, 0.925955240800598210, +0.925974121307005520, 0.925992999498477350, 0.926011875374966540, 0.926030748936426120, 0.926049620182808790, 0.926068489114067470, 0.926087355730154880, 0.926106220031023940, +0.926125082016627690, 0.926143941686918490, 0.926162799041849390, 0.926181654081373320, 0.926200506805443080, 0.926219357214011610, 0.926238205307031830, 0.926257051084456770, +0.926275894546238710, 0.926294735692331010, 0.926313574522686370, 0.926332411037257830, 0.926351245235998320, 0.926370077118860660, 0.926388906685797870, 0.926407733936763010, +0.926426558871708550, 0.926445381490587750, 0.926464201793353430, 0.926483019779958620, 0.926501835450356250, 0.926520648804499360, 0.926539459842340760, 0.926558268563833830, +0.926577074968931050, 0.926595879057585450, 0.926614680829750180, 0.926633480285378170, 0.926652277424422470, 0.926671072246836090, 0.926689864752572420, 0.926708654941583720, +0.926727442813823350, 0.926746228369244470, 0.926765011607799890, 0.926783792529442870, 0.926802571134126340, 0.926821347421803440, 0.926840121392427440, 0.926858893045950820, +0.926877662382326940, 0.926896429401508850, 0.926915194103449800, 0.926933956488102730, 0.926952716555420770, 0.926971474305357310, 0.926990229737864930, 0.927008982852896900, +0.927027733650406470, 0.927046482130346570, 0.927065228292670570, 0.927083972137331510, 0.927102713664282540, 0.927121452873477030, 0.927140189764867670, 0.927158924338407740, +0.927177656594050490, 0.927196386531749180, 0.927215114151456850, 0.927233839453126760, 0.927252562436712060, 0.927271283102166330, 0.927290001449441960, 0.927308717478492640, +0.927327431189271520, 0.927346142581731870, 0.927364851655826830, 0.927383558411509660, 0.927402262848733950, 0.927420964967452190, 0.927439664767618080, 0.927458362249184760, +0.927477057412105620, 0.927495750256333800, 0.927514440781822550, 0.927533128988525250, 0.927551814876395380, 0.927570498445385750, 0.927589179695449740, 0.927607858626540940, +0.927626535238612380, 0.927645209531617550, 0.927663881505509710, 0.927682551160242120, 0.927701218495768480, 0.927719883512041490, 0.927738546209014750, 0.927757206586641630, +0.927775864644875600, 0.927794520383669830, 0.927813173802977790, 0.927831824902753070, 0.927850473682948480, 0.927869120143517740, 0.927887764284414220, 0.927906406105591270, +0.927925045607002400, 0.927943682788600730, 0.927962317650339990, 0.927980950192173750, 0.927999580414054840, 0.928018208315936840, 0.928036833897773470, 0.928055457159517980, +0.928074078101123860, 0.928092696722544460, 0.928111313023733730, 0.928129927004644360, 0.928148538665230170, 0.928167148005444640, 0.928185755025241250, 0.928204359724573490, +0.928222962103394830, 0.928241562161658650, 0.928260159899318980, 0.928278755316328640, 0.928297348412641330, 0.928315939188210650, 0.928334527642990180, 0.928353113776933410, +0.928371697589993830, 0.928390279082124900, 0.928408858253280680, 0.928427435103414080, 0.928446009632478700, 0.928464581840428460, 0.928483151727216740, 0.928501719292797120, +0.928520284537123100, 0.928538847460148810, 0.928557408061827070, 0.928575966342111810, 0.928594522300956630, 0.928613075938315100, 0.928631627254140950, 0.928650176248387640, +0.928668722921008990, 0.928687267271958830, 0.928705809301190070, 0.928724349008656970, 0.928742886394312910, 0.928761421458111580, 0.928779954200006700, 0.928798484619952070, +0.928817012717901400, 0.928835538493807960, 0.928854061947625650, 0.928872583079308200, 0.928891101888809300, 0.928909618376082550, 0.928928132541081860, 0.928946644383760840, +0.928965153904073530, 0.928983661101972950, 0.929002165977413250, 0.929020668530348150, 0.929039168760731340, 0.929057666668516640, 0.929076162253657860, 0.929094655516108590, +0.929113146455822990, 0.929131635072754200, 0.929150121366856260, 0.929168605338083100, 0.929187086986388410, 0.929205566311726020, 0.929224043314049730, 0.929242517993313700, +0.929260990349470960, 0.929279460382475770, 0.929297928092281960, 0.929316393478843210, 0.929334856542113560, 0.929353317282046840, 0.929371775698596750, 0.929390231791717540, +0.929408685561362470, 0.929427137007485690, 0.929445586130041020, 0.929464032928982390, 0.929482477404263710, 0.929500919555838800, 0.929519359383661590, 0.929537796887686340, +0.929556232067866310, 0.929574664924155640, 0.929593095456508260, 0.929611523664878200, 0.929629949549219400, 0.929648373109485560, 0.929666794345631260, 0.929685213257609670, +0.929703629845374910, 0.929722044108881150, 0.929740456048082310, 0.929758865662932310, 0.929777272953385080, 0.929795677919394770, 0.929814080560915520, 0.929832480877900710, +0.929850878870304820, 0.929869274538081660, 0.929887667881185260, 0.929906058899569790, 0.929924447593189150, 0.929942833961997730, 0.929961218005948780, 0.929979599724996890, +0.929997979119095990, 0.930016356188200220, 0.930034730932263410, 0.930053103351239810, 0.930071473445083560, 0.930089841213748820, 0.930108206657189300, 0.930126569775359120, +0.930144930568212570, 0.930163289035703670, 0.930181645177786560, 0.930199998994415410, 0.930218350485544130, 0.930236699651127430, 0.930255046491118560, 0.930273391005472130, +0.930291733194142270, 0.930310073057083020, 0.930328410594248530, 0.930346745805593070, 0.930365078691071100, 0.930383409250636010, 0.930401737484242490, 0.930420063391844580, +0.930438386973396540, 0.930456708228852510, 0.930475027158166770, 0.930493343761293450, 0.930511658038187030, 0.930529969988801110, 0.930548279613090390, 0.930566586911008910, +0.930584891882510920, 0.930603194527550800, 0.930621494846082590, 0.930639792838060750, 0.930658088503439670, 0.930676381842173050, 0.930694672854215480, 0.930712961539521210, +0.930731247898044620, 0.930749531929739860, 0.930767813634561290, 0.930786093012463510, 0.930804370063400110, 0.930822644787325790, 0.930840917184194930, 0.930859187253961770, +0.930877454996580590, 0.930895720412005860, 0.930913983500191720, 0.930932244261093000, 0.930950502694663400, 0.930968758800857500, 0.930987012579629680, 0.931005264030934310, +0.931023513154725760, 0.931041759950958500, 0.931060004419587140, 0.931078246560565480, 0.931096486373848120, 0.931114723859389650, 0.931132959017144320, 0.931151191847066630, +0.931169422349110820, 0.931187650523231600, 0.931205876369383570, 0.931224099887520420, 0.931242321077597190, 0.931260539939568030, 0.931278756473387540, 0.931296970679010180, +0.931315182556390340, 0.931333392105482600, 0.931351599326241670, 0.931369804218621480, 0.931388006782576720, 0.931406207018061980, 0.931424404925031650, 0.931442600503440410, +0.931460793753242640, 0.931478984674393160, 0.931497173266845890, 0.931515359530555750, 0.931533543465477230, 0.931551725071564810, 0.931569904348773070, 0.931588081297056500, +0.931606255916369810, 0.931624428206667800, 0.931642598167904400, 0.931660765800034540, 0.931678931103012700, 0.931697094076793570, 0.931715254721331650, 0.931733413036581640, +0.931751569022498120, 0.931769722679036020, 0.931787874006149150, 0.931806023003792780, 0.931824169671921280, 0.931842314010489340, 0.931860456019451560, 0.931878595698762750, +0.931896733048377720, 0.931914868068250520, 0.931933000758336180, 0.931951131118589290, 0.931969259148964560, 0.931987384849416790, 0.932005508219900470, 0.932023629260370410, +0.932041747970781650, 0.932059864351088120, 0.932077978401244960, 0.932096090121206870, 0.932114199510928550, 0.932132306570364720, 0.932150411299470070, 0.932168513698199750, +0.932186613766507800, 0.932204711504349360, 0.932222806911679140, 0.932240899988451940, 0.932258990734622480, 0.932277079150145460, 0.932295165234975800, 0.932313248989068530, +0.932331330412377920, 0.932349409504858890, 0.932367486266466260, 0.932385560697155060, 0.932403632796879880, 0.932421702565595640, 0.932439770003257170, 0.932457835109819500, +0.932475897885236990, 0.932493958329464800, 0.932512016442457630, 0.932530072224170390, 0.932548125674558030, 0.932566176793575340, 0.932584225581177590, 0.932602272037318820, +0.932620316161954510, 0.932638357955039350, 0.932656397416528280, 0.932674434546376220, 0.932692469344538090, 0.932710501810968820, 0.932728531945623550, 0.932746559748456660, +0.932764585219423400, 0.932782608358478590, 0.932800629165577380, 0.932818647640674570, 0.932836663783725100, 0.932854677594683880, 0.932872689073506400, 0.932890698220146920, +0.932908705034560580, 0.932926709516702530, 0.932944711666527820, 0.932962711483991130, 0.932980708969047830, 0.932998704121652980, 0.933016696941761040, 0.933034687429327380, +0.933052675584307050, 0.933070661406654960, 0.933088644896326260, 0.933106626053275990, 0.933124604877459070, 0.933142581368830990, 0.933160555527346110, 0.933178527352959920, +0.933196496845627330, 0.933214464005303610, 0.933232428831943570, 0.933250391325502580, 0.933268351485935900, 0.933286309313198000, 0.933304264807244380, 0.933322217968030050, +0.933340168795510180, 0.933358117289639910, 0.933376063450374270, 0.933394007277668520, 0.933411948771478150, 0.933429887931757520, 0.933447824758462220, 0.933465759251547290, +0.933483691410967990, 0.933501621236679460, 0.933519548728636850, 0.933537473886795420, 0.933555396711110540, 0.933573317201536910, 0.933591235358030010, 0.933609151180544990, +0.933627064669037110, 0.933644975823461620, 0.933662884643773560, 0.933680791129928740, 0.933698695281881540, 0.933716597099587650, 0.933734496583002230, 0.933752393732080520, +0.933770288546777900, 0.933788181027049640, 0.933806071172850750, 0.933823958984137170, 0.933841844460863270, 0.933859727602984750, 0.933877608410456970, 0.933895486883235090, +0.933913363021274590, 0.933931236824530610, 0.933949108292958850, 0.933966977426514020, 0.933984844225151820, 0.934002708688827400, 0.934020570817496340, 0.934038430611113800, +0.934056288069635140, 0.934074143193015740, 0.934091995981211400, 0.934109846434176610, 0.934127694551867280, 0.934145540334238800, 0.934163383781246300, 0.934181224892845500, +0.934199063668991530, 0.934216900109639980, 0.934234734214746450, 0.934252565984265760, 0.934270395418153710, 0.934288222516365560, 0.934306047278857020, 0.934323869705583230, +0.934341689796499790, 0.934359507551562500, 0.934377322970726070, 0.934395136053946310, 0.934412946801178810, 0.934430755212378840, 0.934448561287501980, 0.934466365026503820, +0.934484166429339740, 0.934501965495965430, 0.934519762226336040, 0.934537556620407160, 0.934555348678134390, 0.934573138399473200, 0.934590925784379300, 0.934608710832807940, +0.934626493544714940, 0.934644273920055890, 0.934662051958785930, 0.934679827660860880, 0.934697601026236110, 0.934715372054867540, 0.934733140746710320, 0.934750907101720370, +0.934768671119853510, 0.934786432801064550, 0.934804192145309630, 0.934821949152544130, 0.934839703822723740, 0.934857456155804180, 0.934875206151740910, 0.934892953810489760, +0.934910699132006420, 0.934928442116246040, 0.934946182763164550, 0.934963921072717530, 0.934981657044860800, 0.934999390679549960, 0.935017121976740580, 0.935034850936388720, +0.935052577558449390, 0.935070301842878650, 0.935088023789632180, 0.935105743398665590, 0.935123460669934680, 0.935141175603395160, 0.935158888199002610, 0.935176598456713190, +0.935194306376482040, 0.935212011958264980, 0.935229715202018030, 0.935247416107696680, 0.935265114675256860, 0.935282810904654260, 0.935300504795844590, 0.935318196348783990, +0.935335885563427620, 0.935353572439731500, 0.935371256977651440, 0.935388939177143160, 0.935406619038162690, 0.935424296560665610, 0.935441971744608080, 0.935459644589945350, +0.935477315096633450, 0.935494983264628320, 0.935512649093885650, 0.935530312584361480, 0.935547973736011400, 0.935565632548791440, 0.935583289022657750, 0.935600943157565480, +0.935618594953470880, 0.935636244410329780, 0.935653891528098080, 0.935671536306731720, 0.935689178746186400, 0.935706818846418150, 0.935724456607383240, 0.935742092029036800, +0.935759725111335210, 0.935777355854234270, 0.935794984257689920, 0.935812610321658080, 0.935830234046094780, 0.935847855430956170, 0.935865474476197610, 0.935883091181775370, +0.935900705547645370, 0.935918317573763650, 0.935935927260086120, 0.935953534606568830, 0.935971139613167690, 0.935988742279838970, 0.936006342606538030, 0.936023940593221360, +0.936041536239844760, 0.936059129546364390, 0.936076720512736050, 0.936094309138916000, 0.936111895424860510, 0.936129479370524930, 0.936147060975865750, 0.936164640240838790, +0.936182217165400290, 0.936199791749506290, 0.936217363993112730, 0.936234933896175740, 0.936252501458651800, 0.936270066680496280, 0.936287629561665670, 0.936305190102115880, +0.936322748301803070, 0.936340304160683480, 0.936357857678713160, 0.936375408855848130, 0.936392957692044890, 0.936410504187259020, 0.936428048341446770, 0.936445590154564410, +0.936463129626568190, 0.936480666757414040, 0.936498201547058320, 0.936515733995457290, 0.936533264102566760, 0.936550791868342890, 0.936568317292742150, 0.936585840375720680, +0.936603361117234520, 0.936620879517239930, 0.936638395575693170, 0.936655909292550830, 0.936673420667768260, 0.936690929701302190, 0.936708436393108860, 0.936725940743144410, +0.936743442751365010, 0.936760942417727120, 0.936778439742186890, 0.936795934724700800, 0.936813427365224550, 0.936830917663714740, 0.936848405620127720, 0.936865891234419550, +0.936883374506546800, 0.936900855436465510, 0.936918334024132380, 0.936935810269503230, 0.936953284172534430, 0.936970755733182450, 0.936988224951403550, 0.937005691827154210, +0.937023156360390570, 0.937040618551069020, 0.937058078399146230, 0.937075535904577930, 0.937092991067320800, 0.937110443887331220, 0.937127894364565560, 0.937145342498980070, +0.937162788290531350, 0.937180231739175860, 0.937197672844869540, 0.937215111607568980, 0.937232548027230660, 0.937249982103810940, 0.937267413837266420, 0.937284843227553230, +0.937302270274627980, 0.937319694978447360, 0.937337117338967070, 0.937354537356144160, 0.937371955029934870, 0.937389370360295570, 0.937406783347182970, 0.937424193990553430, +0.937441602290363330, 0.937459008246569580, 0.937476411859128000, 0.937493813127995290, 0.937511212053128150, 0.937528608634482950, 0.937546002872016280, 0.937563394765684510, +0.937580784315444670, 0.937598171521252470, 0.937615556383064930, 0.937632938900838430, 0.937650319074529560, 0.937667696904095020, 0.937685072389491060, 0.937702445530674610, +0.937719816327602150, 0.937737184780230050, 0.937754550888514780, 0.937771914652413270, 0.937789276071882010, 0.937806635146877450, 0.937823991877356320, 0.937841346263275310, +0.937858698304591120, 0.937876048001259900, 0.937893395353238570, 0.937910740360483830, 0.937928083022952160, 0.937945423340600270, 0.937962761313384850, 0.937980096941262830, +0.937997430224190350, 0.938014761162124230, 0.938032089755021170, 0.938049416002837870, 0.938066739905531130, 0.938084061463057450, 0.938101380675373630, 0.938118697542436710, +0.938136012064202720, 0.938153324240628690, 0.938170634071671340, 0.938187941557287350, 0.938205246697433660, 0.938222549492066740, 0.938239849941143730, 0.938257148044620900, +0.938274443802455060, 0.938291737214603240, 0.938309028281022030, 0.938326317001668240, 0.938343603376498690, 0.938360887405470080, 0.938378169088539550, 0.938395448425663360, +0.938412725416798540, 0.938430000061901910, 0.938447272360930170, 0.938464542313840360, 0.938481809920589160, 0.938499075181133510, 0.938516338095430340, 0.938533598663436110, +0.938550856885107860, 0.938568112760402530, 0.938585366289276800, 0.938602617471687720, 0.938619866307592090, 0.938637112796947170, 0.938654356939709110, 0.938671598735835170, +0.938688838185282150, 0.938706075288007090, 0.938723310043966810, 0.938740542453118330, 0.938757772515418480, 0.938775000230824500, 0.938792225599292650, 0.938809448620780310, +0.938826669295244280, 0.938843887622641700, 0.938861103602929290, 0.938878317236064190, 0.938895528522003200, 0.938912737460703810, 0.938929944052122160, 0.938947148296215730, +0.938964350192941330, 0.938981549742256230, 0.938998746944117110, 0.939015941798481140, 0.939033134305305660, 0.939050324464547060, 0.939067512276162590, 0.939084697740109390, +0.939101880856344380, 0.939119061624824720, 0.939136240045507440, 0.939153416118349570, 0.939170589843308370, 0.939187761220340420, 0.939204930249403100, 0.939222096930453440, +0.939239261263448480, 0.939256423248345460, 0.939273582885101320, 0.939290740173673640, 0.939307895114018690, 0.939325047706094040, 0.939342197949856740, 0.939359345845263930, +0.939376491392272860, 0.939393634590840470, 0.939410775440924000, 0.939427913942480930, 0.939445050095467750, 0.939462183899841930, 0.939479315355560730, 0.939496444462581180, +0.939513571220860540, 0.939530695630355960, 0.939547817691024580, 0.939564937402824100, 0.939582054765710880, 0.939599169779642530, 0.939616282444576290, 0.939633392760469310, +0.939650500727278850, 0.939667606344962160, 0.939684709613476720, 0.939701810532779240, 0.939718909102827180, 0.939736005323577930, 0.939753099194988620, 0.939770190717016510, +0.939787279889618970, 0.939804366712753250, 0.939821451186376940, 0.939838533310446640, 0.939855613084920050, 0.939872690509754420, 0.939889765584907110, 0.939906838310335280, +0.939923908685996400, 0.939940976711848060, 0.939958042387846970, 0.939975105713950820, 0.939992166690116870, 0.940009225316302490, 0.940026281592465040, 0.940043335518561900, +0.940060387094550420, 0.940077436320388320, 0.940094483196032280, 0.940111527721440020, 0.940128569896569010, 0.940145609721376510, 0.940162647195819990, 0.940179682319856940, +0.940196715093444600, 0.940213745516540690, 0.940230773589102230, 0.940247799311086820, 0.940264822682451930, 0.940281843703154930, 0.940298862373153410, 0.940315878692404630, +0.940332892660866500, 0.940349904278495850, 0.940366913545250480, 0.940383920461087760, 0.940400925025965280, 0.940417927239840410, 0.940434927102670850, 0.940451924614413850, +0.940468919775027450, 0.940485912584468340, 0.940502903042694460, 0.940519891149663390, 0.940536876905332610, 0.940553860309659600, 0.940570841362601940, 0.940587820064117120, +0.940604796414163060, 0.940621770412696790, 0.940638742059676130, 0.940655711355058430, 0.940672678298801630, 0.940689642890863100, 0.940706605131200410, 0.940723565019771500, +0.940740522556533400, 0.940757477741444030, 0.940774430574460860, 0.940791381055541720, 0.940808329184644080, 0.940825274961725630, 0.940842218386744090, 0.940859159459657150, +0.940876098180422060, 0.940893034548996750, 0.940909968565338820, 0.940926900229406060, 0.940943829541155960, 0.940960756500546340, 0.940977681107535100, 0.940994603362079300, +0.941011523264137060, 0.941028440813665990, 0.941045356010623890, 0.941062268854968350, 0.941079179346657080, 0.941096087485647880, 0.941112993271898790, 0.941129896705366950, +0.941146797786010400, 0.941163696513786730, 0.941180592888653860, 0.941197486910569590, 0.941214378579491530, 0.941231267895377590, 0.941248154858185690, 0.941265039467873100, +0.941281921724397950, 0.941298801627718060, 0.941315679177791130, 0.941332554374574970, 0.941349427218027390, 0.941366297708106650, 0.941383165844769780, 0.941400031627975030, +0.941416895057680110, 0.941433756133843060, 0.941450614856421560, 0.941467471225373550, 0.941484325240656950, 0.941501176902229680, 0.941518026210049320, 0.941534873164073800, +0.941551717764261160, 0.941568560010569100, 0.941585399902955760, 0.941602237441378940, 0.941619072625796470, 0.941635905456166600, 0.941652735932446690, 0.941669564054594900, +0.941686389822569250, 0.941703213236327660, 0.941720034295827960, 0.941736853001028160, 0.941753669351886650, 0.941770483348360550, 0.941787294990408250, 0.941804104277987770, +0.941820911211057040, 0.941837715789573980, 0.941854518013496620, 0.941871317882783000, 0.941888115397391370, 0.941904910557279210, 0.941921703362404770, 0.941938493812725990, +0.941955281908200990, 0.941972067648787830, 0.941988851034444520, 0.942005632065129330, 0.942022410740799730, 0.942039187061414210, 0.942055961026930570, 0.942072732637307180, +0.942089501892501850, 0.942106268792472830, 0.942123033337178170, 0.942139795526576120, 0.942156555360624370, 0.942173312839281190, 0.942190067962504820, 0.942206820730253190, +0.942223571142484450, 0.942240319199156850, 0.942257064900228540, 0.942273808245657760, 0.942290549235402120, 0.942307287869420200, 0.942324024147670030, 0.942340758070109860, +0.942357489636697740, 0.942374218847391810, 0.942390945702150760, 0.942407670200931970, 0.942424392343694130, 0.942441112130395160, 0.942457829560993440, 0.942474544635447220, +0.942491257353714640, 0.942507967715753850, 0.942524675721523430, 0.942541381370981090, 0.942558084664085190, 0.942574785600794220, 0.942591484181066200, 0.942608180404859500, +0.942624874272132370, 0.942641565782842970, 0.942658254936949990, 0.942674941734411130, 0.942691626175184870, 0.942708308259229580, 0.942724987986503500, 0.942741665356964910, +0.942758340370572160, 0.942775013027283950, 0.942791683327057760, 0.942808351269852520, 0.942825016855626250, 0.942841680084337550, 0.942858340955944670, 0.942874999470405870, +0.942891655627679630, 0.942908309427724410, 0.942924960870498260, 0.942941609955959660, 0.942958256684067080, 0.942974901054778770, 0.942991543068053330, 0.943008182723848900, +0.943024820022124400, 0.943041454962837530, 0.943058087545947000, 0.943074717771411280, 0.943091345639188730, 0.943107971149237830, 0.943124594301517070, 0.943141215095984810, +0.943157833532599740, 0.943174449611319800, 0.943191063332103790, 0.943207674694910070, 0.943224283699697130, 0.943240890346423560, 0.943257494635047710, 0.943274096565528190, +0.943290696137823680, 0.943307293351892120, 0.943323888207692420, 0.943340480705182840, 0.943357070844322190, 0.943373658625068830, 0.943390244047381370, 0.943406827111218480, +0.943423407816538330, 0.943439986163299600, 0.943456562151460900, 0.943473135780980800, 0.943489707051817890, 0.943506275963930660, 0.943522842517277800, 0.943539406711818130, +0.943555968547509670, 0.943572528024311240, 0.943589085142181540, 0.943605639901079040, 0.943622192300962450, 0.943638742341790460, 0.943655290023521550, 0.943671835346114760, +0.943688378309528010, 0.943704918913720440, 0.943721457158650520, 0.943737993044276860, 0.943754526570558360, 0.943771057737453400, 0.943787586544921230, 0.943804112992919770, +0.943820637081407950, 0.943837158810344580, 0.943853678179688350, 0.943870195189397850, 0.943886709839431900, 0.943903222129749200, 0.943919732060308770, 0.943936239631068650, +0.943952744841987880, 0.943969247693025370, 0.943985748184139720, 0.944002246315289620, 0.944018742086433990, 0.944035235497531770, 0.944051726548541080, 0.944068215239421190, +0.944084701570130690, 0.944101185540628500, 0.944117667150873310, 0.944134146400824050, 0.944150623290439310, 0.944167097819678340, 0.944183569988499280, 0.944200039796861290, +0.944216507244723280, 0.944232972332043950, 0.944249435058782230, 0.944265895424896920, 0.944282353430346830, 0.944298809075091230, 0.944315262359088250, 0.944331713282297150, +0.944348161844676740, 0.944364608046185940, 0.944381051886783560, 0.944397493366428640, 0.944413932485080210, 0.944430369242696740, 0.944446803639237280, 0.944463235674660840, +0.944479665348926250, 0.944496092661992640, 0.944512517613818600, 0.944528940204363400, 0.944545360433586170, 0.944561778301445170, 0.944578193807899760, 0.944594606952908870, +0.944611017736431410, 0.944627426158426430, 0.944643832218852840, 0.944660235917670120, 0.944676637254836420, 0.944693036230311090, 0.944709432844053180, 0.944725827096021710, +0.944742218986175720, 0.944758608514474130, 0.944774995680875970, 0.944791380485340730, 0.944807762927826640, 0.944824143008293200, 0.944840520726699440, 0.944856896083004270, +0.944873269077166960, 0.944889639709146410, 0.944906007978901790, 0.944922373886392440, 0.944938737431576860, 0.944955098614414510, 0.944971457434864330, 0.944987813892885550, +0.945004167988437230, 0.945020519721478380, 0.945036869091968600, 0.945053216099866370, 0.945069560745131150, 0.945085903027722000, 0.945102242947598040, 0.945118580504718530, +0.945134915699042510, 0.945151248530529230, 0.945167578999138170, 0.945183907104827800, 0.945200232847557720, 0.945216556227287060, 0.945232877243974980, 0.945249195897580720, +0.945265512188063430, 0.945281826115382360, 0.945298137679497000, 0.945314446880366140, 0.945330753717949060, 0.945347058192205100, 0.945363360303093540, 0.945379660050573500, +0.945395957434604360, 0.945412252455145600, 0.945428545112155900, 0.945444835405594870, 0.945461123335421760, 0.945477408901595820, 0.945493692104076410, 0.945509972942822690, +0.945526251417794120, 0.945542527528950180, 0.945558801276249580, 0.945575072659652020, 0.945591341679116850, 0.945607608334603220, 0.945623872626070620, 0.945640134553478280, +0.945656394116785930, 0.945672651315952350, 0.945688906150937040, 0.945705158621699570, 0.945721408728199210, 0.945737656470395200, 0.945753901848247150, 0.945770144861714400, +0.945786385510756440, 0.945802623795332310, 0.945818859715401580, 0.945835093270923740, 0.945851324461858160, 0.945867553288164300, 0.945883779749801530, 0.945900003846729230, +0.945916225578907310, 0.945932444946294470, 0.945948661948850630, 0.945964876586535050, 0.945981088859307320, 0.945997298767126790, 0.946013506309953070, 0.946029711487745840, +0.946045914300464030, 0.946062114748067560, 0.946078312830515690, 0.946094508547768110, 0.946110701899784190, 0.946126892886523520, 0.946143081507945680, 0.946159267764010380, +0.946175451654676540, 0.946191633179904180, 0.946207812339652790, 0.946223989133881730, 0.946240163562550810, 0.946256335625619390, 0.946272505323047190, 0.946288672654793990, +0.946304837620818850, 0.946321000221081570, 0.946337160455541840, 0.946353318324159140, 0.946369473826893290, 0.946385626963703650, 0.946401777734550140, 0.946417926139392020, +0.946434072178189090, 0.946450215850900940, 0.946466357157487280, 0.946482496097907690, 0.946498632672121860, 0.946514766880089510, 0.946530898721770540, 0.946547028197124000, +0.946563155306109790, 0.946579280048687850, 0.946595402424817660, 0.946611522434458900, 0.946627640077571390, 0.946643755354115050, 0.946659868264049020, 0.946675978807333340, +0.946692086983927710, 0.946708192793791930, 0.946724296236885590, 0.946740397313168500, 0.946756496022600480, 0.946772592365141440, 0.946788686340750640, 0.946804777949388110, +0.946820867191013770, 0.946836954065587100, 0.946853038573068130, 0.946869120713416560, 0.946885200486592190, 0.946901277892555070, 0.946917352931264440, 0.946933425602680570, +0.946949495906763030, 0.946965563843471750, 0.946981629412766530, 0.946997692614607310, 0.947013753448954110, 0.947029811915766300, 0.947045868015003900, 0.947061921746626840, +0.947077973110594940, 0.947094022106868110, 0.947110068735406260, 0.947126112996169220, 0.947142154889117240, 0.947158194414209560, 0.947174231571406340, 0.947190266360667610, +0.947206298781953170, 0.947222328835223060, 0.947238356520437090, 0.947254381837555170, 0.947270404786537570, 0.947286425367343750, 0.947302443579933870, 0.947318459424267840, +0.947334472900305700, 0.947350484008007370, 0.947366492747332760, 0.947382499118242240, 0.947398503120695290, 0.947414504754651940, 0.947430504020072450, 0.947446500916916620, +0.947462495445144490, 0.947478487604716200, 0.947494477395591670, 0.947510464817731270, 0.947526449871094360, 0.947542432555641410, 0.947558412871332360, 0.947574390818127220, +0.947590366395986150, 0.947606339604869060, 0.947622310444736550, 0.947638278915547860, 0.947654245017263590, 0.947670208749843650, 0.947686170113248180, 0.947702129107437340, +0.947718085732371150, 0.947734039988009650, 0.947749991874313410, 0.947765941391241930, 0.947781888538755560, 0.947797833316814550, 0.947813775725378840, 0.947829715764408780, +0.947845653433864400, 0.947861588733705850, 0.947877521663893720, 0.947893452224387370, 0.947909380415147500, 0.947925306236134140, 0.947941229687307430, 0.947957150768627740, +0.947973069480055110, 0.947988985821550220, 0.948004899793072450, 0.948020811394582500, 0.948036720626040500, 0.948052627487406710, 0.948068531978641270, 0.948084434099704660, +0.948100333850556810, 0.948116231231158510, 0.948132126241469250, 0.948148018881449840, 0.948163909151060190, 0.948179797050260900, 0.948195682579012100, 0.948211565737274050, +0.948227446525007120, 0.948243324942171780, 0.948259200988727960, 0.948275074664636120, 0.948290945969856520, 0.948306814904349650, 0.948322681468075630, 0.948338545660994960, +0.948354407483068210, 0.948370266934255190, 0.948386124014516500, 0.948401978723812490, 0.948417831062103530, 0.948433681029350000, 0.948449528625512240, 0.948465373850550630, +0.948481216704425980, 0.948497057187097870, 0.948512895298527230, 0.948528731038674300, 0.948544564407499570, 0.948560395404963400, 0.948576224031026260, 0.948592050285648750, +0.948607874168791000, 0.948623695680413490, 0.948639514820476700, 0.948655331588941110, 0.948671145985767290, 0.948686958010915520, 0.948702767664346360, 0.948718574946020630, +0.948734379855898150, 0.948750182393939710, 0.948765982560105800, 0.948781780354357010, 0.948797575776653690, 0.948813368826956440, 0.948829159505225840, 0.948844947811422480, +0.948860733745506610, 0.948876517307438830, 0.948892298497179820, 0.948908077314689960, 0.948923853759929940, 0.948939627832860340, 0.948955399533441990, 0.948971168861634800, +0.948986935817399680, 0.949002700400697230, 0.949018462611488030, 0.949034222449732680, 0.949049979915391750, 0.949065735008425840, 0.949081487728795970, 0.949097238076462070, +0.949112986051385050, 0.949128731653525510, 0.949144474882844260, 0.949160215739301760, 0.949175954222858720, 0.949191690333476060, 0.949207424071113910, 0.949223155435733210, +0.949238884427294650, 0.949254611045758810, 0.949270335291086510, 0.949286057163238330, 0.949301776662174970, 0.949317493787857570, 0.949333208540246050, 0.949348920919301560, +0.949364630924984800, 0.949380338557256340, 0.949396043816077120, 0.949411746701407820, 0.949427447213209040, 0.949443145351442030, 0.949458841116066820, 0.949474534507044550, +0.949490225524335930, 0.949505914167901750, 0.949521600437702840, 0.949537284333699770, 0.949552965855853910, 0.949568645004125300, 0.949584321778475070, 0.949599996178864150, +0.949615668205253120, 0.949631337857602900, 0.949647005135874410, 0.949662670040028360, 0.949678332570025980, 0.949693992725827440, 0.949709650507393870, 0.949725305914686290, +0.949740958947665300, 0.949756609606292050, 0.949772257890527220, 0.949787903800331730, 0.949803547335666850, 0.949819188496492720, 0.949834827282770690, 0.949850463694461470, +0.949866097731526190, 0.949881729393925680, 0.949897358681620840, 0.949912985594572820, 0.949928610132742100, 0.949944232296089820, 0.949959852084577010, 0.949975469498164580, +0.949991084536813470, 0.950006697200484580, 0.950022307489139070, 0.950037915402737960, 0.950053520941241850, 0.950069124104611860, 0.950084724892809150, 0.950100323305794530, +0.950115919343529240, 0.950131513005973980, 0.950147104293090350, 0.950162693204838700, 0.950178279741180190, 0.950193863902076050, 0.950209445687487220, 0.950225025097374830, +0.950240602131699920, 0.950256176790423400, 0.950271749073506760, 0.950287318980910460, 0.950302886512595870, 0.950318451668524020, 0.950334014448656170, 0.950349574852953130, +0.950365132881376250, 0.950380688533886460, 0.950396241810445350, 0.950411792711013280, 0.950427341235551730, 0.950442887384021830, 0.950458431156384730, 0.950473972552601460, +0.950489511572633390, 0.950505048216441770, 0.950520582483987190, 0.950536114375231220, 0.950551643890135020, 0.950567171028659620, 0.950582695790766260, 0.950598218176416320, +0.950613738185570710, 0.950629255818191020, 0.950644771074237950, 0.950660283953672970, 0.950675794456457220, 0.950691302582552080, 0.950706808331918560, 0.950722311704518150, +0.950737812700311880, 0.950753311319261440, 0.950768807561327310, 0.950784301426471300, 0.950799792914654440, 0.950815282025838090, 0.950830768759983620, 0.950846253117052180, +0.950861735097005440, 0.950877214699804020, 0.950892691925409590, 0.950908166773783430, 0.950923639244886760, 0.950939109338681090, 0.950954577055127650, 0.950970042394187810, +0.950985505355823050, 0.951000965939994280, 0.951016424146663100, 0.951031879975790860, 0.951047333427338940, 0.951062784501268690, 0.951078233197541370, 0.951093679516118900, +0.951109123456961860, 0.951124565020032060, 0.951140004205290770, 0.951155441012699550, 0.951170875442219680, 0.951186307493812610, 0.951201737167439830, 0.951217164463062930, +0.951232589380642920, 0.951248011920141410, 0.951263432081519870, 0.951278849864739650, 0.951294265269762460, 0.951309678296549550, 0.951325088945062400, 0.951340497215262810, +0.951355903107111710, 0.951371306620570900, 0.951386707755601750, 0.951402106512165950, 0.951417502890224750, 0.951432896889739870, 0.951448288510672980, 0.951463677752985130, +0.951479064616638110, 0.951494449101593310, 0.951509831207812520, 0.951525210935257100, 0.951540588283888660, 0.951555963253668760, 0.951571335844559220, 0.951586706056521070, +0.951602073889516120, 0.951617439343505960, 0.951632802418452270, 0.951648163114316550, 0.951663521431060480, 0.951678877368645540, 0.951694230927033650, 0.951709582106185950, +0.951724930906064360, 0.951740277326630360, 0.951755621367845750, 0.951770963029672010, 0.951786302312070840, 0.951801639215004270, 0.951816973738433210, 0.951832305882319820, +0.951847635646625670, 0.951862963031312460, 0.951878288036341670, 0.951893610661675330, 0.951908930907274910, 0.951924248773102440, 0.951939564259119080, 0.951954877365286830, +0.951970188091567300, 0.951985496437922410, 0.952000802404313730, 0.952016105990702970, 0.952031407197052370, 0.952046706023322860, 0.952062002469476590, 0.952077296535475350, +0.952092588221280960, 0.952107877526855000, 0.952123164452159280, 0.952138448997155720, 0.952153731161806350, 0.952169010946072310, 0.952184288349915860, 0.952199563373298590, +0.952214836016182400, 0.952230106278529220, 0.952245374160300640, 0.952260639661458690, 0.952275902781965390, 0.952291163521782110, 0.952306421880870890, 0.952321677859193640, +0.952336931456712170, 0.952352182673388390, 0.952367431509184130, 0.952382677964061620, 0.952397922037982130, 0.952413163730907790, 0.952428403042800520, 0.952443639973622250, +0.952458874523335000, 0.952474106691900470, 0.952489336479280690, 0.952504563885437800, 0.952519788910333290, 0.952535011553929280, 0.952550231816187700, 0.952565449697070580, +0.952580665196539830, 0.952595878314557390, 0.952611089051085380, 0.952626297406085840, 0.952641503379520250, 0.952656706971350850, 0.952671908181539790, 0.952687107010048990, +0.952702303456840370, 0.952717497521875960, 0.952732689205118110, 0.952747878506528200, 0.952763065426068700, 0.952778249963701530, 0.952793432119388610, 0.952808611893092180, +0.952823789284774290, 0.952838964294396850, 0.952854136921922330, 0.952869307167312110, 0.952884475030528750, 0.952899640511534090, 0.952914803610290350, 0.952929964326759690, +0.952945122660904030, 0.952960278612685840, 0.952975432182066710, 0.952990583369008990, 0.953005732173474730, 0.953020878595426280, 0.953036022634825560, 0.953051164291634830, +0.953066303565816120, 0.953081440457331900, 0.953096574966143860, 0.953111707092214490, 0.953126836835505700, 0.953141964195979850, 0.953157089173599090, 0.953172211768325670, +0.953187331980121730, 0.953202449808949640, 0.953217565254771190, 0.953232678317548880, 0.953247788997244830, 0.953262897293821300, 0.953278003207240540, 0.953293106737464700, +0.953308207884456470, 0.953323306648177440, 0.953338403028590080, 0.953353497025656750, 0.953368588639339710, 0.953383677869601100, 0.953398764716403390, 0.953413849179708730, +0.953428931259479700, 0.953444010955678100, 0.953459088268266530, 0.953474163197207130, 0.953489235742462360, 0.953504305903994600, 0.953519373681765980, 0.953534439075739200, +0.953549502085875970, 0.953564562712139070, 0.953579620954490780, 0.953594676812893450, 0.953609730287309440, 0.953624781377701010, 0.953639830084030750, 0.953654876406261120, +0.953669920344354050, 0.953684961898272120, 0.953700001067977810, 0.953715037853433590, 0.953730072254601600, 0.953745104271444540, 0.953760133903924780, 0.953775161152004890, +0.953790186015646800, 0.953805208494813320, 0.953820228589466690, 0.953835246299569620, 0.953850261625084350, 0.953865274565973480, 0.953880285122199690, 0.953895293293724910, +0.953910299080511840, 0.953925302482523050, 0.953940303499721030, 0.953955302132068250, 0.953970298379527290, 0.953985292242060410, 0.954000283719630750, 0.954015272812200000, +0.954030259519731080, 0.954045243842186470, 0.954060225779528870, 0.954075205331720630, 0.954090182498724460, 0.954105157280502710, 0.954120129677018420, 0.954135099688233510, +0.954150067314110780, 0.954165032554613050, 0.954179995409702550, 0.954194955879342220, 0.954209913963494420, 0.954224869662122170, 0.954239822975187390, 0.954254773902653120, +0.954269722444481830, 0.954284668600636320, 0.954299612371079080, 0.954314553755772900, 0.954329492754680260, 0.954344429367764090, 0.954359363594986740, 0.954374295436310920, +0.954389224891699310, 0.954404151961114610, 0.954419076644519640, 0.954433998941876970, 0.954448918853149530, 0.954463836378299460, 0.954478751517289890, 0.954493664270083420, +0.954508574636642850, 0.954523482616930760, 0.954538388210909970, 0.954553291418543280, 0.954568192239793500, 0.954583090674623100, 0.954597986722994900, 0.954612880384871800, +0.954627771660216400, 0.954642660548991610, 0.954657547051160240, 0.954672431166684880, 0.954687312895528770, 0.954702192237654180, 0.954717069193024010, 0.954731943761601200, +0.954746815943348540, 0.954761685738228840, 0.954776553146205020, 0.954791418167239890, 0.954806280801296150, 0.954821141048336600, 0.954835998908324160, 0.954850854381221750, +0.954865707466992290, 0.954880558165598470, 0.954895406477003220, 0.954910252401169780, 0.954925095938060520, 0.954939937087638360, 0.954954775849866540, 0.954969612224707660, +0.954984446212124750, 0.954999277812080720, 0.955014107024538590, 0.955028933849461300, 0.955043758286811540, 0.955058580336552330, 0.955073399998646710, 0.955088217273057590, +0.955103032159747900, 0.955117844658680660, 0.955132654769819010, 0.955147462493125540, 0.955162267828563280, 0.955177070776095480, 0.955191871335684950, 0.955206669507294830, +0.955221465290887920, 0.955236258686427360, 0.955251049693876530, 0.955265838313197670, 0.955280624544354360, 0.955295408387309310, 0.955310189842025870, 0.955324968908466960, +0.955339745586595510, 0.955354519876375100, 0.955369291777768080, 0.955384061290737830, 0.955398828415247370, 0.955413593151259950, 0.955428355498738390, 0.955443115457646040, +0.955457873027945940, 0.955472628209601330, 0.955487381002575020, 0.955502131406830160, 0.955516879422329990, 0.955531625049037550, 0.955546368286916190, 0.955561109135928840, +0.955575847596038640, 0.955590583667209170, 0.955605317349403020, 0.955620048642583430, 0.955634777546713890, 0.955649504061757300, 0.955664228187676930, 0.955678949924436030, +0.955693669271998060, 0.955708386230325610, 0.955723100799382270, 0.955737812979131070, 0.955752522769535370, 0.955767230170558420, 0.955781935182163370, 0.955796637804313450, +0.955811338036972160, 0.955826035880102290, 0.955840731333667430, 0.955855424397630600, 0.955870115071955300, 0.955884803356604750, 0.955899489251542110, 0.955914172756730740, +0.955928853872134220, 0.955943532597715360, 0.955958208933437640, 0.955972882879264300, 0.955987554435158930, 0.956002223601084560, 0.956016890377004660, 0.956031554762882710, +0.956046216758681730, 0.956060876364365210, 0.956075533579896390, 0.956090188405238850, 0.956104840840355740, 0.956119490885210640, 0.956134138539766700, 0.956148783803987710, +0.956163426677836600, 0.956178067161276850, 0.956192705254271910, 0.956207340956785170, 0.956221974268780190, 0.956236605190220130, 0.956251233721068910, 0.956265859861289420, +0.956280483610845170, 0.956295104969699720, 0.956309723937816550, 0.956324340515159020, 0.956338954701690720, 0.956353566497375020, 0.956368175902175600, 0.956382782916055500, +0.956397387538978410, 0.956411989770907910, 0.956426589611807380, 0.956441187061640500, 0.956455782120370520, 0.956470374787961150, 0.956484965064376080, 0.956499552949578340, +0.956514138443531730, 0.956528721546199830, 0.956543302257546020, 0.956557880577533990, 0.956572456506127320, 0.956587030043289710, 0.956601601188984190, 0.956616169943174780, +0.956630736305824960, 0.956645300276898200, 0.956659861856358320, 0.956674421044168670, 0.956688977840293050, 0.956703532244695180, 0.956718084257338290, 0.956732633878186080, +0.956747181107202360, 0.956761725944350720, 0.956776268389594730, 0.956790808442897990, 0.956805346104224300, 0.956819881373537570, 0.956834414250800850, 0.956848944735978040, +0.956863472829032840, 0.956877998529929050, 0.956892521838630160, 0.956907042755100080, 0.956921561279302610, 0.956936077411200900, 0.956950591150759090, 0.956965102497940760, +0.956979611452709710, 0.956994118015029650, 0.957008622184864270, 0.957023123962177260, 0.957037623346932760, 0.957052120339094040, 0.957066614938624880, 0.957081107145489220, +0.957095596959650850, 0.957110084381073370, 0.957124569409720790, 0.957139052045557050, 0.957153532288545380, 0.957168010138649830, 0.957182485595834300, 0.957196958660062600, +0.957211429331298440, 0.957225897609505720, 0.957240363494648250, 0.957254826986690180, 0.957269288085594750, 0.957283746791326110, 0.957298203103848060, 0.957312657023124510, +0.957327108549119400, 0.957341557681796520, 0.957356004421119680, 0.957370448767053020, 0.957384890719560120, 0.957399330278604910, 0.957413767444151410, 0.957428202216163540, +0.957442634594604990, 0.957457064579440020, 0.957471492170632650, 0.957485917368146140, 0.957500340171944960, 0.957514760581992920, 0.957529178598253930, 0.957543594220692020, +0.957558007449271220, 0.957572418283955340, 0.957586826724708630, 0.957601232771494560, 0.957615636424277490, 0.957630037683021350, 0.957644436547690050, 0.957658833018247610, +0.957673227094658190, 0.957687618776885690, 0.957702008064894360, 0.957716394958647800, 0.957730779458110250, 0.957745161563245630, 0.957759541274018300, 0.957773918590391960, +0.957788293512330860, 0.957802666039799360, 0.957817036172760930, 0.957831403911179820, 0.957845769255020190, 0.957860132204246260, 0.957874492758821970, 0.957888850918711340, +0.957903206683878630, 0.957917560054288190, 0.957931911029903600, 0.957946259610689240, 0.957960605796609240, 0.957974949587627740, 0.957989290983708770, 0.958003629984816700, +0.958017966590915650, 0.958032300801969550, 0.958046632617942650, 0.958060962038799200, 0.958075289064503340, 0.958089613695019330, 0.958103935930311180, 0.958118255770343150, +0.958132573215079830, 0.958146888264484800, 0.958161200918522530, 0.958175511177157270, 0.958189819040353270, 0.958204124508074680, 0.958218427580285860, 0.958232728256950830, +0.958247026538034290, 0.958261322423500040, 0.958275615913312340, 0.958289907007435660, 0.958304195705834250, 0.958318482008472250, 0.958332765915314130, 0.958347047426324260, +0.958361326541466660, 0.958375603260705590, 0.958389877584005620, 0.958404149511330910, 0.958418419042645800, 0.958432686177914770, 0.958446950917101860, 0.958461213260171970, +0.958475473207088700, 0.958489730757816740, 0.958503985912320560, 0.958518238670564290, 0.958532489032512540, 0.958546736998129420, 0.958560982567379870, 0.958575225740227470, +0.958589466516637120, 0.958603704896572980, 0.958617940879999740, 0.958632174466881540, 0.958646405657182950, 0.958660634450868350, 0.958674860847902320, 0.958689084848249000, +0.958703306451872960, 0.958717525658738580, 0.958731742468810430, 0.958745956882052890, 0.958760168898430520, 0.958774378517907700, 0.958788585740449120, 0.958802790566018910, +0.958816992994581780, 0.958831193026102090, 0.958845390660544420, 0.958859585897873230, 0.958873778738053130, 0.958887969181048790, 0.958902157226824370, 0.958916342875344440, +0.958930526126573700, 0.958944706980476620, 0.958958885437017900, 0.958973061496161790, 0.958987235157873210, 0.959001406422116620, 0.959015575288856390, 0.959029741758057110, +0.959043905829683570, 0.959058067503700260, 0.959072226780071760, 0.959086383658762640, 0.959100538139737610, 0.959114690222961470, 0.959128839908398370, 0.959142987196013210, +0.959157132085770580, 0.959171274577635070, 0.959185414671571370, 0.959199552367544170, 0.959213687665518290, 0.959227820565457970, 0.959241951067328120, 0.959256079171093350, +0.959270204876718440, 0.959284328184167980, 0.959298449093406670, 0.959312567604399310, 0.959326683717110720, 0.959340797431505240, 0.959354908747547700, 0.959369017665202880, +0.959383124184435610, 0.959397228305210460, 0.959411330027492240, 0.959425429351245970, 0.959439526276435810, 0.959453620803026870, 0.959467712930983870, 0.959481802660271610, +0.959495889990854890, 0.959509974922698410, 0.959524057455766970, 0.959538137590025710, 0.959552215325438770, 0.959566290661971300, 0.959580363599588090, 0.959594434138254070, +0.959608502277933930, 0.959622568018592470, 0.959636631360194610, 0.959650692302705390, 0.959664750846089270, 0.959678806990311270, 0.959692860735336220, 0.959706912081129020, +0.959720961027654470, 0.959735007574877620, 0.959749051722763480, 0.959763093471276530, 0.959777132820381680, 0.959791169770044080, 0.959805204320228640, 0.959819236470900060, +0.959833266222023470, 0.959847293573563690, 0.959861318525485950, 0.959875341077754630, 0.959889361230334970, 0.959903378983191890, 0.959917394336290420, 0.959931407289595360, +0.959945417843071860, 0.959959425996684820, 0.959973431750399400, 0.959987435104180160, 0.960001436057992490, 0.960015434611801060, 0.960029430765571120, 0.960043424519267500, +0.960057415872855420, 0.960071404826300050, 0.960085391379565940, 0.960099375532618260, 0.960113357285422240, 0.960127336637942700, 0.960141313590144870, 0.960155288141993800, +0.960169260293454510, 0.960183230044492350, 0.960197197395071810, 0.960211162345158240, 0.960225124894716900, 0.960239085043712580, 0.960253042792110660, 0.960266998139876040, +0.960280951086974310, 0.960294901633369840, 0.960308849779028200, 0.960322795523914310, 0.960336738867993530, 0.960350679811230900, 0.960364618353591550, 0.960378554495040730, +0.960392488235543680, 0.960406419575065120, 0.960420348513570610, 0.960434275051025190, 0.960448199187394100, 0.960462120922642490, 0.960476040256735610, 0.960489957189638590, +0.960503871721316900, 0.960517783851735360, 0.960531693580859320, 0.960545600908654040, 0.960559505835084760, 0.960573408360116730, 0.960587308483715210, 0.960601206205845660, +0.960615101526472780, 0.960628994445562270, 0.960642884963079150, 0.960656773078988890, 0.960670658793256640, 0.960684542105847750, 0.960698423016727590, 0.960712301525861510, +0.960726177633214550, 0.960740051338752070, 0.960753922642439420, 0.960767791544241970, 0.960781658044125080, 0.960795522142054100, 0.960809383837994300, 0.960823243131911250, +0.960837100023769760, 0.960850954513535640, 0.960864806601174130, 0.960878656286650590, 0.960892503569930390, 0.960906348450978890, 0.960920190929761890, 0.960934031006244080, +0.960947868680391170, 0.960961703952168620, 0.960975536821541800, 0.960989367288476170, 0.961003195352937100, 0.961017021014890060, 0.961030844274300630, 0.961044665131133960, +0.961058483585355620, 0.961072299636930970, 0.961086113285825610, 0.961099924532004990, 0.961113733375434600, 0.961127539816080120, 0.961141343853906480, 0.961155145488879480, +0.961168944720964700, 0.961182741550127510, 0.961196535976333480, 0.961210327999547980, 0.961224117619736810, 0.961237904836865550, 0.961251689650899350, 0.961265472061803790, +0.961279252069544680, 0.961293029674087360, 0.961306804875397440, 0.961320577673440590, 0.961334348068182300, 0.961348116059588360, 0.961361881647623820, 0.961375644832254680, +0.961389405613446320, 0.961403163991164540, 0.961416919965374820, 0.961430673536042830, 0.961444424703134290, 0.961458173466614550, 0.961471919826449420, 0.961485663782604360, +0.961499405335045190, 0.961513144483737480, 0.961526881228647050, 0.961540615569739240, 0.961554347506980210, 0.961568077040335090, 0.961581804169769790, 0.961595528895249910, +0.961609251216741230, 0.961622971134209470, 0.961636688647620310, 0.961650403756939330, 0.961664116462132570, 0.961677826763165380, 0.961691534660003570, 0.961705240152612940, +0.961718943240959190, 0.961732643925008120, 0.961746342204725320, 0.961760038080077040, 0.961773731551028410, 0.961787422617545350, 0.961801111279593890, 0.961814797537139500, +0.961828481390148200, 0.961842162838585700, 0.961855841882417790, 0.961869518521610510, 0.961883192756129210, 0.961896864585939810, 0.961910534011008340, 0.961924201031300610, +0.961937865646782300, 0.961951527857419330, 0.961965187663177850, 0.961978845064022980, 0.961992500059921210, 0.962006152650838110, 0.962019802836739600, 0.962033450617591600, +0.962047095993359910, 0.962060738964010560, 0.962074379529509580, 0.962088017689822440, 0.962101653444915160, 0.962115286794753890, 0.962128917739304310, 0.962142546278532460, +0.962156172412404250, 0.962169796140885600, 0.962183417463942650, 0.962197036381540970, 0.962210652893646710, 0.962224267000225900, 0.962237878701244220, 0.962251487996668040, +0.962265094886463060, 0.962278699370595510, 0.962292301449031110, 0.962305901121735860, 0.962319498388675920, 0.962333093249817200, 0.962346685705125720, 0.962360275754567510, +0.962373863398108710, 0.962387448635715460, 0.962401031467353230, 0.962414611892988600, 0.962428189912587270, 0.962441765526115600, 0.962455338733539500, 0.962468909534825000, +0.962482477929938460, 0.962496043918845580, 0.962509607501512490, 0.962523168677905440, 0.962536727447990460, 0.962550283811733580, 0.962563837769101040, 0.962577389320058980, +0.962590938464573660, 0.962604485202610660, 0.962618029534136550, 0.962631571459117370, 0.962645110977519150, 0.962658648089308230, 0.962672182794450770, 0.962685715092912670, +0.962699244984660640, 0.962712772469660250, 0.962726297547877970, 0.962739820219279840, 0.962753340483832210, 0.962766858341501330, 0.962780373792253120, 0.962793886836054380, +0.962807397472870590, 0.962820905702668320, 0.962834411525413820, 0.962847914941073250, 0.962861415949612940, 0.962874914550999050, 0.962888410745197820, 0.962901904532175950, +0.962915395911899010, 0.962928884884333480, 0.962942371449445830, 0.962955855607202320, 0.962969337357569070, 0.962982816700512450, 0.962996293635998920, 0.963009768163994750, +0.963023240284466060, 0.963036709997379110, 0.963050177302700480, 0.963063642200396420, 0.963077104690433280, 0.963090564772777320, 0.963104022447395240, 0.963117477714252820, +0.963130930573316670, 0.963144381024553240, 0.963157829067928910, 0.963171274703409910, 0.963184717930962830, 0.963198158750553810, 0.963211597162149770, 0.963225033165716390, +0.963238466761220490, 0.963251897948628420, 0.963265326727906660, 0.963278753099021560, 0.963292177061939480, 0.963305598616627230, 0.963319017763050840, 0.963332434501176890, +0.963345848830971740, 0.963359260752402080, 0.963372670265434160, 0.963386077370034680, 0.963399482066169990, 0.963412884353806790, 0.963426284232911100, 0.963439681703449740, +0.963453076765389270, 0.963466469418695960, 0.963479859663336600, 0.963493247499277450, 0.963506632926485310, 0.963520015944926760, 0.963533396554567930, 0.963546774755375650, +0.963560150547316470, 0.963573523930356890, 0.963586894904463480, 0.963600263469602810, 0.963613629625741710, 0.963626993372846300, 0.963640354710883380, 0.963653713639819660, +0.963667070159621610, 0.963680424270255910, 0.963693775971689150, 0.963707125263887910, 0.963720472146819110, 0.963733816620448990, 0.963747158684744250, 0.963760498339671590, +0.963773835585197690, 0.963787170421289250, 0.963800502847912850, 0.963813832865035190, 0.963827160472623180, 0.963840485670642950, 0.963853808459061660, 0.963867128837845750, +0.963880446806962050, 0.963893762366377250, 0.963907075516058030, 0.963920386255971320, 0.963933694586083470, 0.963947000506361400, 0.963960304016771800, 0.963973605117281360, +0.963986903807857010, 0.964000200088465430, 0.964013493959073210, 0.964026785419647590, 0.964040074470154720, 0.964053361110561720, 0.964066645340835300, 0.964079927160942260, +0.964093206570849400, 0.964106483570523530, 0.964119758159931670, 0.964133030339040300, 0.964146300107816210, 0.964159567466226440, 0.964172832414237680, 0.964186094951816840, +0.964199355078930840, 0.964212612795546380, 0.964225868101630690, 0.964239120997150030, 0.964252371482071660, 0.964265619556362360, 0.964278865219988960, 0.964292108472918350, +0.964305349315117470, 0.964318587746553320, 0.964331823767192840, 0.964345057377002600, 0.964358288575949740, 0.964371517364001170, 0.964384743741123710, 0.964397967707284480, +0.964411189262450290, 0.964424408406588380, 0.964437625139665240, 0.964450839461648000, 0.964464051372503680, 0.964477260872199200, 0.964490467960701700, 0.964503672637977870, +0.964516874903994960, 0.964530074758719990, 0.964543272202119660, 0.964556467234161220, 0.964569659854811470, 0.964582850064037660, 0.964596037861806700, 0.964609223248085730, +0.964622406222841570, 0.964635586786041670, 0.964648764937652610, 0.964661940677641660, 0.964675114005975830, 0.964688284922622150, 0.964701453427547870, 0.964714619520719910, +0.964727783202105620, 0.964740944471671580, 0.964754103329385270, 0.964767259775213600, 0.964780413809123940, 0.964793565431083080, 0.964806714641058380, 0.964819861439016990, +0.964833005824926040, 0.964846147798752440, 0.964859287360463340, 0.964872424510026190, 0.964885559247407820, 0.964898691572575680, 0.964911821485496700, 0.964924948986138450, +0.964938074074467630, 0.964951196750451600, 0.964964317014057600, 0.964977434865252780, 0.964990550304004380, 0.965003663330279650, 0.965016773944045610, 0.965029882145270080, +0.965042987933919520, 0.965056091309961390, 0.965069192273363190, 0.965082290824091920, 0.965095386962114940, 0.965108480687399520, 0.965121571999912890, 0.965134660899622520, +0.965147747386495230, 0.965160831460498690, 0.965173913121599950, 0.965186992369766570, 0.965200069204965590, 0.965213143627164480, 0.965226215636330710, 0.965239285232431300, +0.965252352415433500, 0.965265417185304900, 0.965278479542012850, 0.965291539485524490, 0.965304597015807290, 0.965317652132828610, 0.965330704836556030, 0.965343755126956470, +0.965356803003997510, 0.965369848467646510, 0.965382891517870930, 0.965395932154638150, 0.965408970377915510, 0.965422006187670380, 0.965435039583870560, 0.965448070566482850, +0.965461099135475060, 0.965474125290814440, 0.965487149032468460, 0.965500170360404700, 0.965513189274590510, 0.965526205774993600, 0.965539219861580870, 0.965552231534320130, +0.965565240793178740, 0.965578247638124280, 0.965591252069124220, 0.965604254086146140, 0.965617253689157300, 0.965630250878125600, 0.965643245653017960, 0.965656238013802290, +0.965669227960445960, 0.965682215492916660, 0.965695200611181750, 0.965708183315208910, 0.965721163604965740, 0.965734141480419470, 0.965747116941537920, 0.965760089988288440, +0.965773060620638830, 0.965786028838556580, 0.965798994642009250, 0.965811958030964420, 0.965824919005389910, 0.965837877565252860, 0.965850833710521160, 0.965863787441162300, +0.965876738757144080, 0.965889687658433970, 0.965902634144999660, 0.965915578216808730, 0.965928519873828990, 0.965941459116027910, 0.965954395943373070, 0.965967330355832270, +0.965980262353373090, 0.965993191935963340, 0.966006119103570590, 0.966019043856162770, 0.966031966193707130, 0.966044886116171450, 0.966057803623523670, 0.966070718715731360, +0.966083631392762320, 0.966096541654584140, 0.966109449501164620, 0.966122354932471670, 0.966135257948472550, 0.966148158549135380, 0.966161056734427870, 0.966173952504317590, +0.966186845858772460, 0.966199736797760280, 0.966212625321248960, 0.966225511429205760, 0.966238395121598930, 0.966251276398396030, 0.966264155259564880, 0.966277031705073400, +0.966289905734889380, 0.966302777348980620, 0.966315646547315050, 0.966328513329860140, 0.966341377696584010, 0.966354239647454480, 0.966367099182439240, 0.966379956301506300, +0.966392811004623490, 0.966405663291758590, 0.966418513162879740, 0.966431360617954540, 0.966444205656950770, 0.966457048279836580, 0.966469888486579780, 0.966482726277148150, +0.966495561651509850, 0.966508394609632780, 0.966521225151484530, 0.966534053277033230, 0.966546878986246690, 0.966559702279093050, 0.966572523155540210, 0.966585341615555980, +0.966598157659108390, 0.966610971286165690, 0.966623782496695230, 0.966636591290665370, 0.966649397668044030, 0.966662201628799230, 0.966675003172898890, 0.966687802300311150, +0.966700599011003800, 0.966713393304945210, 0.966726185182102850, 0.966738974642445070, 0.966751761685939790, 0.966764546312555260, 0.966777328522259280, 0.966790108315019990, +0.966802885690805640, 0.966815660649583800, 0.966828433191322830, 0.966841203315990880, 0.966853971023555860, 0.966866736313985900, 0.966879499187249030, 0.966892259643313490, +0.966905017682147540, 0.966917773303718860, 0.966930526507995710, 0.966943277294946220, 0.966956025664538530, 0.966968771616740770, 0.966981515151521090, 0.966994256268847830, +0.967006994968688800, 0.967019731251012150, 0.967032465115786220, 0.967045196562979160, 0.967057925592559100, 0.967070652204494290, 0.967083376398752750, 0.967096098175303060, +0.967108817534112820, 0.967121534475150590, 0.967134248998384520, 0.967146961103782840, 0.967159670791313710, 0.967172378060945470, 0.967185082912646270, 0.967197785346384560, +0.967210485362128170, 0.967223182959845550, 0.967235878139504960, 0.967248570901074740, 0.967261261244523050, 0.967273949169818240, 0.967286634676928770, 0.967299317765822450, +0.967311998436467870, 0.967324676688833260, 0.967337352522887000, 0.967350025938597420, 0.967362696935932690, 0.967375365514861250, 0.967388031675351590, 0.967400695417371610, +0.967413356740889910, 0.967426015645874830, 0.967438672132294730, 0.967451326200117980, 0.967463977849312820, 0.967476627079847830, 0.967489273891691370, 0.967501918284811580, +0.967514560259176930, 0.967527199814755990, 0.967539836951516910, 0.967552471669428370, 0.967565103968458630, 0.967577733848576260, 0.967590361309749400, 0.967602986351946640, +0.967615608975136430, 0.967628229179287150, 0.967640846964367360, 0.967653462330345440, 0.967666075277189730, 0.967678685804869270, 0.967691293913351740, 0.967703899602605940, +0.967716502872600470, 0.967729103723303790, 0.967741702154684250, 0.967754298166710550, 0.967766891759351270, 0.967779482932574540, 0.967792071686349060, 0.967804658020643420, +0.967817241935426180, 0.967829823430665810, 0.967842402506330910, 0.967854979162389940, 0.967867553398811810, 0.967880125215564550, 0.967892694612616960, 0.967905261589937730, +0.967917826147495220, 0.967930388285258240, 0.967942948003195250, 0.967955505301274830, 0.967968060179465910, 0.967980612637736600, 0.967993162676055840, 0.968005710294392090, +0.968018255492714140, 0.968030798270990480, 0.968043338629189900, 0.968055876567281090, 0.968068412085232530, 0.968080945183012800, 0.968093475860590800, 0.968106004117935020, +0.968118529955014240, 0.968131053371797170, 0.968143574368252490, 0.968156092944349010, 0.968168609100055200, 0.968181122835339750, 0.968193634150171570, 0.968206143044519240, +0.968218649518351680, 0.968231153571637360, 0.968243655204345190, 0.968256154416444190, 0.968268651207902510, 0.968281145578689160, 0.968293637528772950, 0.968306127058122690, +0.968318614166707170, 0.968331098854495090, 0.968343581121455350, 0.968356060967556550, 0.968368538392767600, 0.968381013397057290, 0.968393485980394430, 0.968405956142747940, +0.968418423884086500, 0.968430889204378920, 0.968443352103594450, 0.968455812581701330, 0.968468270638668690, 0.968480726274465460, 0.968493179489060330, 0.968505630282422200, +0.968518078654520000, 0.968530524605322960, 0.968542968134799230, 0.968555409242918160, 0.968567847929648560, 0.968580284194959340, 0.968592718038819410, 0.968605149461197690, +0.968617578462063090, 0.968630005041384750, 0.968642429199131240, 0.968654850935271590, 0.968667270249774840, 0.968679687142609880, 0.968692101613745750, 0.968704513663151360, +0.968716923290795620, 0.968729330496647890, 0.968741735280676530, 0.968754137642850900, 0.968766537583139910, 0.968778935101512580, 0.968791330197937840, 0.968803722872384920, +0.968816113124822740, 0.968828500955220220, 0.968840886363546370, 0.968853269349770230, 0.968865649913861040, 0.968878028055787710, 0.968890403775519270, 0.968902777073024860, +0.968915147948273600, 0.968927516401234420, 0.968939882431876340, 0.968952246040168610, 0.968964607226080240, 0.968976965989580390, 0.968989322330638060, 0.969001676249222510, +0.969014027745302870, 0.969026376818848070, 0.969038723469827220, 0.969051067698209700, 0.969063409503964410, 0.969075748887060610, 0.969088085847467420, 0.969100420385154200, +0.969112752500089770, 0.969125082192243470, 0.969137409461584440, 0.969149734308081930, 0.969162056731705080, 0.969174376732423020, 0.969186694310205100, 0.969199009465020580, +0.969211322196838370, 0.969223632505627820, 0.969235940391358190, 0.969248245853998820, 0.969260548893518650, 0.969272849509887240, 0.969285147703073950, 0.969297443473047470, +0.969309736819777390, 0.969322027743233060, 0.969334316243383620, 0.969346602320198310, 0.969358885973646610, 0.969371167203697650, 0.969383446010321000, 0.969395722393485480, +0.969407996353160660, 0.969420267889315900, 0.969432537001920450, 0.969444803690943660, 0.969457067956354780, 0.969469329798123390, 0.969481589216218740, 0.969493846210609970, +0.969506100781266640, 0.969518352928157910, 0.969530602651253460, 0.969542849950522420, 0.969555094825934270, 0.969567337277458590, 0.969579577305064280, 0.969591814908721150, +0.969604050088398450, 0.969616282844065650, 0.969628513175692100, 0.969640741083247270, 0.969652966566700520, 0.969665189626021660, 0.969677410261179600, 0.969689628472144020, +0.969701844258884280, 0.969714057621370080, 0.969726268559570670, 0.969738477073455510, 0.969750683162994510, 0.969762886828156480, 0.969775088068911330, 0.969787286885228420, +0.969799483277077210, 0.969811677244427410, 0.969823868787248360, 0.969836057905509640, 0.969848244599180950, 0.969860428868231540, 0.969872610712630980, 0.969884790132348850, +0.969896967127354850, 0.969909141697618440, 0.969921313843109090, 0.969933483563796490, 0.969945650859650340, 0.969957815730639990, 0.969969978176735030, 0.969982138197905130, +0.969994295794119780, 0.970006450965348770, 0.970018603711561680, 0.970030754032728320, 0.970042901928817700, 0.970055047399799970, 0.970067190445644600, 0.970079331066321160, +0.970091469261799570, 0.970103605032049180, 0.970115738377039790, 0.970127869296741220, 0.970139997791122920, 0.970152123860154480, 0.970164247503805810, 0.970176368722046490, +0.970188487514846210, 0.970200603882174770, 0.970212717824001760, 0.970224829340297190, 0.970236938431030430, 0.970249045096171270, 0.970261149335689410, 0.970273251149554760, +0.970285350537737010, 0.970297447500205750, 0.970309542036931210, 0.970321634147882640, 0.970333723833029850, 0.970345811092342860, 0.970357895925791250, 0.970369978333344930, +0.970382058314973710, 0.970394135870647380, 0.970406211000335750, 0.970418283704008510, 0.970430353981635570, 0.970442421833186740, 0.970454487258631810, 0.970466550257940710, +0.970478610831083220, 0.970490668978029380, 0.970502724698748650, 0.970514777993211180, 0.970526828861386750, 0.970538877303245170, 0.970550923318756480, 0.970562966907890460, +0.970575008070617030, 0.970587046806906220, 0.970599083116727710, 0.970611117000051430, 0.970623148456847270, 0.970635177487085390, 0.970647204090735460, 0.970659228267767630, +0.970671250018151580, 0.970683269341857780, 0.970695286238855480, 0.970707300709114930, 0.970719312752606260, 0.970731322369299270, 0.970743329559163870, 0.970755334322170200, +0.970767336658288520, 0.970779336567488160, 0.970791334049739500, 0.970803329105012550, 0.970815321733277230, 0.970827311934503560, 0.970839299708661670, 0.970851285055721490, +0.970863267975653370, 0.970875248468426880, 0.970887226534012160, 0.970899202172379460, 0.970911175383498690, 0.970923146167340100, 0.970935114523873600, 0.970947080453069210, +0.970959043954897410, 0.970971005029327760, 0.970982963676330630, 0.970994919895876160, 0.971006873687934260, 0.971018825052475280, 0.971030773989469130, 0.971042720498886400, +0.971054664580696560, 0.971066606234870070, 0.971078545461377060, 0.971090482260187680, 0.971102416631272170, 0.971114348574600550, 0.971126278090143070, 0.971138205177870080, +0.971150129837751400, 0.971162052069757360, 0.971173971873858230, 0.971185889250024140, 0.971197804198225320, 0.971209716718432040, 0.971221626810614640, 0.971233534474743030, +0.971245439710787470, 0.971257342518718430, 0.971269242898506020, 0.971281140850120410, 0.971293036373532040, 0.971304929468711050, 0.971316820135627920, 0.971328708374252560, +0.971340594184555430, 0.971352477566506780, 0.971364358520076960, 0.971376237045236230, 0.971388113141954950, 0.971399986810203340, 0.971411858049952000, 0.971423726861170730, +0.971435593243830220, 0.971447457197900710, 0.971459318723352560, 0.971471177820156130, 0.971483034488281770, 0.971494888727700070, 0.971506740538380820, 0.971518589920294830, +0.971530436873412230, 0.971542281397703710, 0.971554123493139300, 0.971565963159689680, 0.971577800397325220, 0.971589635206016380, 0.971601467585733290, 0.971613297536446430, +0.971625125058126480, 0.971636950150743580, 0.971648772814268420, 0.971660593048671250, 0.971672410853922640, 0.971684226229993180, 0.971696039176852990, 0.971707849694472660, +0.971719657782822770, 0.971731463441873670, 0.971743266671595940, 0.971755067471959940, 0.971766865842936590, 0.971778661784495900, 0.971790455296608460, 0.971802246379244950, +0.971814035032375840, 0.971825821255971610, 0.971837605050002720, 0.971849386414439960, 0.971861165349253930, 0.971872941854414750, 0.971884715929893230, 0.971896487575659940, +0.971908256791685350, 0.971920023577940160, 0.971931787934394940, 0.971943549861020380, 0.971955309357786850, 0.971967066424665020, 0.971978821061625480, 0.971990573268638910, +0.972002323045675910, 0.972014070392707040, 0.972025815309703110, 0.972037557796634810, 0.972049297853472380, 0.972061035480186630, 0.972072770676748470, 0.972084503443128240, +0.972096233779296770, 0.972107961685224730, 0.972119687160882820, 0.972131410206241940, 0.972143130821272240, 0.972154849005944730, 0.972166564760230110, 0.972178278084099070, +0.972189988977522400, 0.972201697440470690, 0.972213403472914960, 0.972225107074825570, 0.972236808246173310, 0.972248506986929110, 0.972260203297063530, 0.972271897176547610, +0.972283588625351800, 0.972295277643447140, 0.972306964230804430, 0.972318648387394120, 0.972330330113187150, 0.972342009408154410, 0.972353686272266590, 0.972365360705494510, +0.972377032707809170, 0.972388702279181170, 0.972400369419581630, 0.972412034128980920, 0.972423696407350160, 0.972435356254660150, 0.972447013670881820, 0.972458668655985850, +0.972470321209943260, 0.972481971332725070, 0.972493619024301760, 0.972505264284644460, 0.972516907113723960, 0.972528547511511080, 0.972540185477976940, 0.972551821013092340, +0.972563454116828210, 0.972575084789155550, 0.972586713030045070, 0.972598338839467670, 0.972609962217394600, 0.972621583163796540, 0.972633201678644530, 0.972644817761909470, +0.972656431413562620, 0.972668042633574540, 0.972679651421916260, 0.972691257778558920, 0.972702861703473310, 0.972714463196630690, 0.972726062258001840, 0.972737658887557810, +0.972749253085269940, 0.972760844851108700, 0.972772434185045330, 0.972784021087050870, 0.972795605557096320, 0.972807187595152830, 0.972818767201191310, 0.972830344375182900, +0.972841919117098830, 0.972853491426909800, 0.972865061304586940, 0.972876628750101500, 0.972888193763424500, 0.972899756344526970, 0.972911316493380140, 0.972922874209955160, +0.972934429494222710, 0.972945982346154260, 0.972957532765720940, 0.972969080752893680, 0.972980626307643700, 0.972992169429942270, 0.973003710119760280, 0.973015248377069320, +0.973026784201839970, 0.973038317594043690, 0.973049848553651620, 0.973061377080635000, 0.973072903174964860, 0.973084426836612450, 0.973095948065549000, 0.973107466861745870, +0.973118983225173870, 0.973130497155804460, 0.973142008653608670, 0.973153517718557960, 0.973165024350623460, 0.973176528549776430, 0.973188030315988220, 0.973199529649229730, +0.973211026549472450, 0.973222521016687600, 0.973234013050846450, 0.973245502651920340, 0.973256989819880400, 0.973268474554697890, 0.973279956856344500, 0.973291436724791010, +0.973302914160008910, 0.973314389161969550, 0.973325861730644280, 0.973337331866004240, 0.973348799568020890, 0.973360264836665820, 0.973371727671909830, 0.973383188073724480, +0.973394646042081260, 0.973406101576951290, 0.973417554678306150, 0.973429005346117200, 0.973440453580355580, 0.973451899380993190, 0.973463342748000730, 0.973474783681349990, +0.973486222181012220, 0.973497658246958890, 0.973509091879161460, 0.973520523077591290, 0.973531951842219860, 0.973543378173018730, 0.973554802069958920, 0.973566223533012030, +0.973577642562149740, 0.973589059157343280, 0.973600473318564140, 0.973611885045783780, 0.973623294338973990, 0.973634701198105800, 0.973646105623150790, 0.973657507614080540, +0.973668907170866520, 0.973680304293480180, 0.973691698981893120, 0.973703091236076790, 0.973714481056003000, 0.973725868441642770, 0.973737253392967790, 0.973748635909949760, +0.973760015992560120, 0.973771393640770480, 0.973782768854552390, 0.973794141633877450, 0.973805511978717010, 0.973816879889042860, 0.973828245364826480, 0.973839608406039450, +0.973850969012653440, 0.973862327184639940, 0.973873682921970630, 0.973885036224617420, 0.973896387092551330, 0.973907735525744280, 0.973919081524167840, 0.973930425087793820, +0.973941766216593670, 0.973953104910539100, 0.973964441169601790, 0.973975774993753540, 0.973987106382965710, 0.973998435337210090, 0.974009761856458380, 0.974021085940682260, +0.974032407589853430, 0.974043726803943580, 0.974055043582924610, 0.974066357926767770, 0.974077669835445080, 0.974088979308928240, 0.974100286347189040, 0.974111590950198950, +0.974122893117929990, 0.974134192850353740, 0.974145490147442230, 0.974156785009166910, 0.974168077435499490, 0.974179367426411870, 0.974190654981875850, 0.974201940101863230, +0.974213222786345810, 0.974224503035295290, 0.974235780848683670, 0.974247056226482440, 0.974258329168663510, 0.974269599675198770, 0.974280867746060040, 0.974292133381219230, +0.974303396580648020, 0.974314657344318550, 0.974325915672202170, 0.974337171564271020, 0.974348425020496900, 0.974359676040851830, 0.974370924625307500, 0.974382170773835930, +0.974393414486408820, 0.974404655762998400, 0.974415894603576250, 0.974427131008114290, 0.974438364976584430, 0.974449596508958790, 0.974460825605209080, 0.974472052265307310, +0.974483276489225610, 0.974494498276935570, 0.974505717628409210, 0.974516934543618650, 0.974528149022535710, 0.974539361065132390, 0.974550570671380620, 0.974561777841252530, +0.974572982574720030, 0.974584184871755020, 0.974595384732329540, 0.974606582156415490, 0.974617777143985120, 0.974628969695010230, 0.974640159809462950, 0.974651347487315300, +0.974662532728539420, 0.974673715533107000, 0.974684895900990280, 0.974696073832161390, 0.974707249326592250, 0.974718422384255100, 0.974729593005121740, 0.974740761189164750, +0.974751926936355590, 0.974763090246666520, 0.974774251120069880, 0.974785409556537470, 0.974796565556041660, 0.974807719118554350, 0.974818870244047790, 0.974830018932494210, +0.974841165183865430, 0.974852308998133800, 0.974863450375271330, 0.974874589315250170, 0.974885725818042560, 0.974896859883620740, 0.974907991511956730, 0.974919120703022890, +0.974930247456791020, 0.974941371773233590, 0.974952493652322730, 0.974963613094030680, 0.974974730098329470, 0.974985844665191560, 0.974996956794589200, 0.975008066486494180, +0.975019173740879100, 0.975030278557716070, 0.975041380936977230, 0.975052480878635050, 0.975063578382661670, 0.975074673449029320, 0.975085766077710470, 0.975096856268677040, +0.975107944021901480, 0.975119029337355950, 0.975130112215013000, 0.975141192654844670, 0.975152270656823420, 0.975163346220921600, 0.975174419347111240, 0.975185490035364920, +0.975196558285654770, 0.975207624097953360, 0.975218687472232730, 0.975229748408465550, 0.975240806906623850, 0.975251862966680430, 0.975262916588607090, 0.975273967772376520, +0.975285016517960960, 0.975296062825332880, 0.975307106694464630, 0.975318148125328690, 0.975329187117897290, 0.975340223672143130, 0.975351257788038330, 0.975362289465555250, +0.975373318704666480, 0.975384345505344470, 0.975395369867561590, 0.975406391791290180, 0.975417411276503050, 0.975428428323172230, 0.975439442931270380, 0.975450455100769780, +0.975461464831643200, 0.975472472123862900, 0.975483476977401340, 0.975494479392231220, 0.975505479368324990, 0.975516476905654910, 0.975527472004193650, 0.975538464663913700, +0.975549454884787500, 0.975560442666787760, 0.975571428009886940, 0.975582410914057510, 0.975593391379272260, 0.975604369405503320, 0.975615344992723400, 0.975626318140905170, +0.975637288850021210, 0.975648257120043990, 0.975659222950946090, 0.975670186342700310, 0.975681147295278990, 0.975692105808654620, 0.975703061882800090, 0.975714015517687990, +0.975724966713290790, 0.975735915469581050, 0.975746861786531690, 0.975757805664115300, 0.975768747102304210, 0.975779686101071240, 0.975790622660389070, 0.975801556780230280, +0.975812488460567670, 0.975823417701373820, 0.975834344502621630, 0.975845268864283360, 0.975856190786331900, 0.975867110268740070, 0.975878027311480320, 0.975888941914525580, +0.975899854077848520, 0.975910763801421830, 0.975921671085218320, 0.975932575929210570, 0.975943478333371250, 0.975954378297673290, 0.975965275822089470, 0.975976170906592390, +0.975987063551154830, 0.975997953755749600, 0.976008841520349830, 0.976019726844927660, 0.976030609729456210, 0.976041490173908180, 0.976052368178256470, 0.976063243742473770, +0.976074116866533000, 0.976084987550407180, 0.976095855794068660, 0.976106721597490570, 0.976117584960645600, 0.976128445883506670, 0.976139304366046570, 0.976150160408238320, +0.976161014010054620, 0.976171865171468590, 0.976182713892452700, 0.976193560172980090, 0.976204404013023440, 0.976215245412555890, 0.976226084371550230, 0.976236920889979260, +0.976247754967816020, 0.976258586605033620, 0.976269415801604650, 0.976280242557502010, 0.976291066872698840, 0.976301888747167950, 0.976312708180882340, 0.976323525173814930, +0.976334339725938970, 0.976345151837226920, 0.976355961507652030, 0.976366768737187200, 0.976377573525805560, 0.976388375873479820, 0.976399175780183200, 0.976409973245888740, +0.976420768270569450, 0.976431560854198020, 0.976442350996747700, 0.976453138698191610, 0.976463923958502570, 0.976474706777653690, 0.976485487155618110, 0.976496265092368980, +0.976507040587879070, 0.976517813642121420, 0.976528584255069390, 0.976539352426695760, 0.976550118156973790, 0.976560881445876610, 0.976571642293377120, 0.976582400699448790, +0.976593156664064210, 0.976603910187196830, 0.976614661268819570, 0.976625409908905670, 0.976636156107428270, 0.976646899864360480, 0.976657641179675460, 0.976668380053346550, +0.976679116485346440, 0.976689850475648600, 0.976700582024226050, 0.976711311131052140, 0.976722037796099900, 0.976732762019342560, 0.976743483800753490, 0.976754203140305590, +0.976764920037972110, 0.976775634493726400, 0.976786346507541480, 0.976797056079390820, 0.976807763209247450, 0.976818467897084710, 0.976829170142875960, 0.976839869946594110, +0.976850567308212630, 0.976861262227704750, 0.976871954705043620, 0.976882644740202700, 0.976893332333155010, 0.976904017483874340, 0.976914700192333400, 0.976925380458505630, +0.976936058282364520, 0.976946733663883180, 0.976957406603035090, 0.976968077099793390, 0.976978745154131520, 0.976989410766023080, 0.977000073935440750, 0.977010734662358330, +0.977021392946749060, 0.977032048788586400, 0.977042702187843500, 0.977053353144493930, 0.977064001658510930, 0.977074647729868070, 0.977085291358538500, 0.977095932544495670, +0.977106571287712940, 0.977117207588163780, 0.977127841445821650, 0.977138472860660020, 0.977149101832652240, 0.977159728361771560, 0.977170352447991550, 0.977180974091285790, +0.977191593291627410, 0.977202210048990110, 0.977212824363347330, 0.977223436234672450, 0.977234045662939250, 0.977244652648120660, 0.977255257190190460, 0.977265859289122130, +0.977276458944889130, 0.977287056157464920, 0.977297650926823190, 0.977308243252937300, 0.977318833135780940, 0.977329420575327350, 0.977340005571550210, 0.977350588124422990, +0.977361168233919390, 0.977371745900012860, 0.977382321122676980, 0.977392893901885440, 0.977403464237611490, 0.977414032129828800, 0.977424597578511190, 0.977435160583632000, +0.977445721145164930, 0.977456279263083540, 0.977466834937361420, 0.977477388167972470, 0.977487938954889830, 0.977498487298087300, 0.977509033197538570, 0.977519576653217310, +0.977530117665097120, 0.977540656233151560, 0.977551192357354550, 0.977561726037679430, 0.977572257274100020, 0.977582786066589880, 0.977593312415122820, 0.977603836319672510, +0.977614357780212550, 0.977624876796716720, 0.977635393369158830, 0.977645907497512350, 0.977656419181751060, 0.977666928421848770, 0.977677435217779170, 0.977687939569515940, +0.977698441477032780, 0.977708940940303580, 0.977719437959302270, 0.977729932534002200, 0.977740424664377160, 0.977750914350401180, 0.977761401592047830, 0.977771886389291020, +0.977782368742104560, 0.977792848650462230, 0.977803326114337730, 0.977813801133704860, 0.977824273708537420, 0.977834743838809420, 0.977845211524494440, 0.977855676765566510, +0.977866139561999410, 0.977876599913767080, 0.977887057820843060, 0.977897513283201400, 0.977907966300816000, 0.977918416873660660, 0.977928865001709280, 0.977939310684935780, +0.977949753923313960, 0.977960194716817940, 0.977970633065421200, 0.977981068969097980, 0.977991502427822070, 0.978001933441567380, 0.978012362010307830, 0.978022788134017330, +0.978033211812670110, 0.978043633046239760, 0.978054051834700180, 0.978064468178025610, 0.978074882076189760, 0.978085293529166730, 0.978095702536930460, 0.978106109099454950, +0.978116513216714440, 0.978126914888682310, 0.978137314115333000, 0.978147710896640320, 0.978158105232578400, 0.978168497123121260, 0.978178886568242810, 0.978189273567917410, +0.978199658122118620, 0.978210040230820590, 0.978220419893997550, 0.978230797111623530, 0.978241171883672320, 0.978251544210118400, 0.978261914090935440, 0.978272281526098020, +0.978282646515579610, 0.978293009059354570, 0.978303369157397130, 0.978313726809681090, 0.978324082016180930, 0.978334434776870430, 0.978344785091723850, 0.978355132960715520, +0.978365478383819260, 0.978375821361009200, 0.978386161892259580, 0.978396499977544630, 0.978406835616838390, 0.978417168810115090, 0.978427499557348980, 0.978437827858513960, +0.978448153713584400, 0.978458477122534420, 0.978468798085338260, 0.978479116601970180, 0.978489432672404290, 0.978499746296614740, 0.978510057474576090, 0.978520366206262040, +0.978530672491647050, 0.978540976330705470, 0.978551277723411440, 0.978561576669739200, 0.978571873169662990, 0.978582167223157050, 0.978592458830195970, 0.978602747990753530, +0.978613034704804210, 0.978623318972322350, 0.978633600793282210, 0.978643880167658020, 0.978654157095424030, 0.978664431576555030, 0.978674703611024600, 0.978684973198807540, +0.978695240339877980, 0.978705505034210280, 0.978715767281778890, 0.978726027082558070, 0.978736284436522160, 0.978746539343645750, 0.978756791803902740, 0.978767041817267810, +0.978777289383715220, 0.978787534503219540, 0.978797777175754890, 0.978808017401295860, 0.978818255179817020, 0.978828490511292280, 0.978838723395696330, 0.978848953833003520, +0.978859181823188430, 0.978869407366225300, 0.978879630462088700, 0.978889851110753000, 0.978900069312192870, 0.978910285066382340, 0.978920498373296200, 0.978930709232908700, +0.978940917645194530, 0.978951123610128040, 0.978961327127683690, 0.978971528197836060, 0.978981726820559730, 0.978991922995828930, 0.979002116723618370, 0.979012308003902490, +0.979022496836655880, 0.979032683221853000, 0.979042867159468420, 0.979053048649476840, 0.979063227691852500, 0.979073404286569970, 0.979083578433604050, 0.979093750132929100, +0.979103919384519910, 0.979114086188350830, 0.979124250544396450, 0.979134412452631770, 0.979144571913030840, 0.979154728925568430, 0.979164883490219240, 0.979175035606957840, +0.979185185275758820, 0.979195332496596850, 0.979205477269446620, 0.979215619594282830, 0.979225759471079700, 0.979235896899812270, 0.979246031880455110, 0.979256164412982910, +0.979266294497370240, 0.979276422133591900, 0.979286547321622570, 0.979296670061436720, 0.979306790353009270, 0.979316908196314780, 0.979327023591328060, 0.979337136538023790, +0.979347247036376660, 0.979357355086361350, 0.979367460687952880, 0.979377563841125620, 0.979387664545854350, 0.979397762802113990, 0.979407858609879220, 0.979417951969124840, +0.979428042879825540, 0.979438131341956340, 0.979448217355491590, 0.979458300920406310, 0.979468382036675300, 0.979478460704273360, 0.979488536923175170, 0.979498610693355750, +0.979508682014789690, 0.979518750887452220, 0.979528817311317580, 0.979538881286361020, 0.979548942812557220, 0.979559001889880990, 0.979569058518307330, 0.979579112697810950, +0.979589164428366850, 0.979599213709950070, 0.979609260542534940, 0.979619304926096720, 0.979629346860610320, 0.979639386346050410, 0.979649423382392140, 0.979659457969610290, +0.979669490107680010, 0.979679519796575750, 0.979689547036272760, 0.979699571826745830, 0.979709594167969990, 0.979719614059920140, 0.979729631502571310, 0.979739646495898400, +0.979749659039876540, 0.979759669134480320, 0.979769676779684960, 0.979779681975465500, 0.979789684721796730, 0.979799685018653780, 0.979809682866011560, 0.979819678263845310, +0.979829671212129830, 0.979839661710840030, 0.979849649759951150, 0.979859635359438100, 0.979869618509276010, 0.979879599209439790, 0.979889577459904680, 0.979899553260645710, +0.979909526611637660, 0.979919497512855900, 0.979929465964275330, 0.979939431965871190, 0.979949395517618390, 0.979959356619492070, 0.979969315271467360, 0.979979271473519600, +0.979989225225623480, 0.979999176527754260, 0.980009125379887160, 0.980019071781997210, 0.980029015734059540, 0.980038957236049390, 0.980048896287942010, 0.980058832889712180, +0.980068767041335280, 0.980078698742786520, 0.980088627994040950, 0.980098554795073800, 0.980108479145860300, 0.980118401046375600, 0.980128320496595040, 0.980138237496493540, +0.980148152046046440, 0.980158064145228990, 0.980167973794016320, 0.980177880992383790, 0.980187785740306520, 0.980197688037759750, 0.980207587884718960, 0.980217485281159040, +0.980227380227055470, 0.980237272722383370, 0.980247162767118100, 0.980257050361234890, 0.980266935504709110, 0.980276818197516110, 0.980286698439630900, 0.980296576231028950, +0.980306451571685610, 0.980316324461576130, 0.980326194900675850, 0.980336062888960020, 0.980345928426404110, 0.980355791512983470, 0.980365652148673220, 0.980375510333448830, +0.980385366067285660, 0.980395219350159050, 0.980405070182044480, 0.980414918562917180, 0.980424764492752730, 0.980434607971526260, 0.980444448999213240, 0.980454287575789120, +0.980464123701229260, 0.980473957375509020, 0.980483788598603970, 0.980493617370489460, 0.980503443691141060, 0.980513267560533810, 0.980523088978643490, 0.980532907945445450, +0.980542724460915060, 0.980552538525027880, 0.980562350137759390, 0.980572159299085030, 0.980581966008980400, 0.980591770267420730, 0.980601572074381590, 0.980611371429838560, +0.980621168333767110, 0.980630962786142700, 0.980640754786940900, 0.980650544336137410, 0.980660331433707340, 0.980670116079626510, 0.980679898273870370, 0.980689678016414380, +0.980699455307234350, 0.980709230146305620, 0.980719002533603780, 0.980728772469104610, 0.980738539952783370, 0.980748304984615740, 0.980758067564577400, 0.980767827692643810, +0.980777585368790780, 0.980787340592993660, 0.980797093365228250, 0.980806843685470330, 0.980816591553695050, 0.980826336969878310, 0.980836079933995690, 0.980845820446022980, +0.980855558505935640, 0.980865294113709370, 0.980875027269320080, 0.980884757972743100, 0.980894486223954140, 0.980904212022928990, 0.980913935369643330, 0.980923656264072850, +0.980933374706193240, 0.980943090695980180, 0.980952804233409580, 0.980962515318456680, 0.980972223951097620, 0.980981930131307970, 0.980991633859063520, 0.981001335134339850, +0.981011033957112980, 0.981020730327358700, 0.981030424245052380, 0.981040115710170020, 0.981049804722687320, 0.981059491282580080, 0.981069175389824190, 0.981078857044395350, +0.981088536246269350, 0.981098212995422210, 0.981107887291829410, 0.981117559135466830, 0.981127228526310290, 0.981136895464335800, 0.981146559949519050, 0.981156221981835830, +0.981165881561262050, 0.981175538687773850, 0.981185193361346570, 0.981194845581956240, 0.981204495349578880, 0.981214142664190270, 0.981223787525766330, 0.981233429934282860, +0.981243069889715990, 0.981252707392041290, 0.981262342441234890, 0.981271975037272480, 0.981281605180130300, 0.981291232869784040, 0.981300858106209710, 0.981310480889383220, +0.981320101219280700, 0.981329719095877740, 0.981339334519150450, 0.981348947489074860, 0.981358558005626990, 0.981368166068782630, 0.981377771678517810, 0.981387374834808650, +0.981396975537631170, 0.981406573786961170, 0.981416169582774670, 0.981425762925047680, 0.981435353813756460, 0.981444942248876680, 0.981454528230384590, 0.981464111758256430, +0.981473692832467770, 0.981483271452994850, 0.981492847619813810, 0.981502421332900670, 0.981511992592231320, 0.981521561397782130, 0.981531127749529000, 0.981540691647448280, +0.981550253091515560, 0.981559812081707280, 0.981569368617999370, 0.981578922700368170, 0.981588474328789600, 0.981598023503239880, 0.981607570223695160, 0.981617114490131450, +0.981626656302524990, 0.981636195660851810, 0.981645732565088140, 0.981655267015210220, 0.981664799011194080, 0.981674328553015840, 0.981683855640652080, 0.981693380274078490, +0.981702902453271410, 0.981712422178207090, 0.981721939448861770, 0.981731454265211580, 0.981740966627232760, 0.981750476534901440, 0.981759983988194200, 0.981769488987086710, +0.981778991531555680, 0.981788491621577000, 0.981797989257127130, 0.981807484438182330, 0.981816977164718830, 0.981826467436713090, 0.981835955254140910, 0.981845440616978870, +0.981854923525203320, 0.981864403978790380, 0.981873881977716410, 0.981883357521957770, 0.981892830611490690, 0.981902301246291740, 0.981911769426336840, 0.981921235151602570, +0.981930698422065260, 0.981940159237701060, 0.981949617598486530, 0.981959073504398040, 0.981968526955411810, 0.981977977951504430, 0.981987426492651920, 0.981996872578830840, +0.982006316210017550, 0.982015757386188510, 0.982025196107320090, 0.982034632373388620, 0.982044066184370790, 0.982053497540242630, 0.982062926440980700, 0.982072352886561470, +0.982081776876961410, 0.982091198412156750, 0.982100617492124290, 0.982110034116840170, 0.982119448286281170, 0.982128860000423320, 0.982138269259243410, 0.982147676062717800, +0.982157080410822950, 0.982166482303535430, 0.982175881740831700, 0.982185278722688460, 0.982194673249081830, 0.982204065319988610, 0.982213454935385140, 0.982222842095248020, +0.982232226799553800, 0.982241609048279060, 0.982250988841400270, 0.982260366178894120, 0.982269741060736950, 0.982279113486905440, 0.982288483457376180, 0.982297850972125630, +0.982307216031130470, 0.982316578634367280, 0.982325938781812620, 0.982335296473443310, 0.982344651709235570, 0.982354004489166210, 0.982363354813211910, 0.982372702681349130, +0.982382048093554670, 0.982391391049805000, 0.982400731550077120, 0.982410069594347180, 0.982419405182592080, 0.982428738314788390, 0.982438068990913020, 0.982447397210942320, +0.982456722974853200, 0.982466046282622240, 0.982475367134226450, 0.982484685529641970, 0.982494001468845800, 0.982503314951814530, 0.982512625978525070, 0.982521934548954090, +0.982531240663078180, 0.982540544320874450, 0.982549845522319050, 0.982559144267389110, 0.982568440556061300, 0.982577734388312420, 0.982587025764119160, 0.982596314683458430, +0.982605601146306800, 0.982614885152641390, 0.982624166702438570, 0.982633445795675350, 0.982642722432328530, 0.982651996612374900, 0.982661268335791260, 0.982670537602554410, +0.982679804412641240, 0.982689068766028790, 0.982698330662693520, 0.982707590102612330, 0.982716847085762240, 0.982726101612119930, 0.982735353681662430, 0.982744603294366530, +0.982753850450209350, 0.982763095149167380, 0.982772337391217610, 0.982781577176336960, 0.982790814504502450, 0.982800049375690880, 0.982809281789879140, 0.982818511747044270, +0.982827739247163270, 0.982836964290212720, 0.982846186876169760, 0.982855407005011390, 0.982864624676714540, 0.982873839891255980, 0.982883052648612980, 0.982892262948762200, +0.982901470791681000, 0.982910676177345950, 0.982919879105734200, 0.982929079576822740, 0.982938277590588600, 0.982947473147008810, 0.982956666246060370, 0.982965856887720310, +0.982975045071965540, 0.982984230798773060, 0.982993414068120130, 0.983002594879983540, 0.983011773234340520, 0.983020949131168110, 0.983030122570443200, 0.983039293552143260, +0.983048462076244860, 0.983057628142725350, 0.983066791751561750, 0.983075952902731200, 0.983085111596210700, 0.983094267831977510, 0.983103421610008740, 0.983112572930281310, +0.983121721792772460, 0.983130868197459210, 0.983140012144318900, 0.983149153633328550, 0.983158292664465190, 0.983167429237706280, 0.983176563353028830, 0.983185695010409870, +0.983194824209826620, 0.983203950951256340, 0.983213075234676160, 0.983222197060063310, 0.983231316427395030, 0.983240433336648350, 0.983249547787800830, 0.983258659780829270, +0.983267769315711030, 0.983276876392423340, 0.983285981010943550, 0.983295083171248700, 0.983304182873316220, 0.983313280117123380, 0.983322374902647290, 0.983331467229865200, +0.983340557098754340, 0.983349644509292190, 0.983358729461455970, 0.983367811955222940, 0.983376891990570320, 0.983385969567475590, 0.983395044685915760, 0.983404117345868410, +0.983413187547310770, 0.983422255290220090, 0.983431320574573830, 0.983440383400349230, 0.983449443767523750, 0.983458501676074740, 0.983467557125979330, 0.983476610117214990, +0.983485660649759170, 0.983494708723589240, 0.983503754338682530, 0.983512797495016410, 0.983521838192568440, 0.983530876431315650, 0.983539912211235820, 0.983548945532306100, +0.983557976394504040, 0.983567004797807010, 0.983576030742192580, 0.983585054227637980, 0.983594075254120900, 0.983603093821618480, 0.983612109930108390, 0.983621123579567990, +0.983630134769974740, 0.983639143501306210, 0.983648149773539760, 0.983657153586653180, 0.983666154940623480, 0.983675153835428470, 0.983684150271045500, 0.983693144247452130, +0.983702135764626060, 0.983711124822544520, 0.983720111421185210, 0.983729095560525680, 0.983738077240543410, 0.983747056461215850, 0.983756033222520700, 0.983765007524435410, +0.983773979366937670, 0.983782948750004940, 0.983791915673614790, 0.983800880137745140, 0.983809842142372990, 0.983818801687476370, 0.983827758773032630, 0.983836713399019570, +0.983845665565414640, 0.983854615272195640, 0.983863562519340260, 0.983872507306825740, 0.983881449634629980, 0.983890389502730670, 0.983899326911105270, 0.983908261859731570, +0.983917194348587270, 0.983926124377650040, 0.983935051946897570, 0.983943977056307320, 0.983952899705857090, 0.983961819895524670, 0.983970737625287750, 0.983979652895123900, +0.983988565705010920, 0.983997476054926600, 0.984006383944848630, 0.984015289374754690, 0.984024192344622460, 0.984033092854429750, 0.984041990904154230, 0.984050886493773810, +0.984059779623266180, 0.984068670292609250, 0.984077558501780470, 0.984086444250757750, 0.984095327539519000, 0.984104208368041910, 0.984113086736304380, 0.984121962644283980, +0.984130836091958730, 0.984139707079306540, 0.984148575606304980, 0.984157441672931950, 0.984166305279165380, 0.984175166424982930, 0.984184025110362630, 0.984192881335282270, +0.984201735099719870, 0.984210586403652890, 0.984219435247059570, 0.984228281629917600, 0.984237125552204880, 0.984245967013899440, 0.984254806014979060, 0.984263642555421540, +0.984272476635205230, 0.984281308254307490, 0.984290137412706550, 0.984298964110380200, 0.984307788347306480, 0.984316610123463280, 0.984325429438828500, 0.984334246293380180, +0.984343060687096430, 0.984351872619954940, 0.984360682091933610, 0.984369489103010700, 0.984378293653163980, 0.984387095742371600, 0.984395895370611450, 0.984404692537861670, +0.984413487244100050, 0.984422279489304720, 0.984431069273453700, 0.984439856596525000, 0.984448641458496640, 0.984457423859346650, 0.984466203799053140, 0.984474981277594360, +0.984483756294947890, 0.984492528851091950, 0.984501298946004800, 0.984510066579664330, 0.984518831752048800, 0.984527594463136090, 0.984536354712904460, 0.984545112501332030, +0.984553867828396710, 0.984562620694076740, 0.984571371098350130, 0.984580119041195130, 0.984588864522589870, 0.984597607542512470, 0.984606348100941160, 0.984615086197853870, +0.984623821833228830, 0.984632555007044160, 0.984641285719278230, 0.984650013969909030, 0.984658739758914820, 0.984667463086273730, 0.984676183951964210, 0.984684902355963950, +0.984693618298251530, 0.984702331778805060, 0.984711042797602690, 0.984719751354622750, 0.984728457449843500, 0.984737161083243160, 0.984745862254799760, 0.984754560964491770, +0.984763257212297400, 0.984771950998194810, 0.984780642322162450, 0.984789331184178440, 0.984798017584221030, 0.984806701522268790, 0.984815382998299630, 0.984824062012292000, +0.984832738564224260, 0.984841412654074650, 0.984850084281821530, 0.984858753447443110, 0.984867420150917880, 0.984876084392224290, 0.984884746171340250, 0.984893405488244330, +0.984902062342915000, 0.984910716735330480, 0.984919368665469140, 0.984928018133309440, 0.984936665138829710, 0.984945309682008330, 0.984953951762823520, 0.984962591381253970, +0.984971228537277920, 0.984979863230873720, 0.984988495462019940, 0.984997125230694830, 0.985005752536877170, 0.985014377380544870, 0.985022999761676730, 0.985031619680250990, +0.985040237136246330, 0.985048852129640990, 0.985057464660413550, 0.985066074728542460, 0.985074682334006300, 0.985083287476783200, 0.985091890156852060, 0.985100490374191120, +0.985109088128778840, 0.985117683420594030, 0.985126276249614910, 0.985134866615820280, 0.985143454519188280, 0.985152039959697690, 0.985160622937326980, 0.985169203452054720, +0.985177781503859480, 0.985186357092719730, 0.985194930218614150, 0.985203500881521420, 0.985212069081419670, 0.985220634818287810, 0.985229198092104410, 0.985237758902847930, +0.985246317250497160, 0.985254873135030460, 0.985263426556426850, 0.985271977514664440, 0.985280526009722160, 0.985289072041578560, 0.985297615610212230, 0.985306156715601840, +0.985314695357726090, 0.985323231536563650, 0.985331765252093210, 0.985340296504293220, 0.985348825293142490, 0.985357351618619810, 0.985365875480703650, 0.985374396879372780, +0.985382915814605910, 0.985391432286381820, 0.985399946294679310, 0.985408457839476730, 0.985416966920752980, 0.985425473538486860, 0.985433977692657060, 0.985442479383242250, +0.985450978610221350, 0.985459475373573150, 0.985467969673275990, 0.985476461509309010, 0.985484950881650890, 0.985493437790280310, 0.985501922235176190, 0.985510404216317190, +0.985518883733682240, 0.985527360787250230, 0.985535835376999740, 0.985544307502909560, 0.985552777164958590, 0.985561244363125750, 0.985569709097389830, 0.985578171367729630, +0.985586631174124040, 0.985595088516551860, 0.985603543394991900, 0.985611995809423050, 0.985620445759824220, 0.985628893246174310, 0.985637338268452120, 0.985645780826636560, +0.985654220920706760, 0.985662658550641280, 0.985671093716419140, 0.985679526418019260, 0.985687956655420530, 0.985696384428601970, 0.985704809737542380, 0.985713232582220880, +0.985721652962616270, 0.985730070878707560, 0.985738486330473560, 0.985746899317893390, 0.985755309840945950, 0.985763717899610260, 0.985772123493865230, 0.985780526623690090, +0.985788927289063420, 0.985797325489964460, 0.985805721226372220, 0.985814114498265730, 0.985822505305623880, 0.985830893648425690, 0.985839279526650400, 0.985847662940277040, +0.985856043889284270, 0.985864422373651460, 0.985872798393357620, 0.985881171948381760, 0.985889543038703020, 0.985897911664300410, 0.985906277825152940, 0.985914641521239980, +0.985923002752540300, 0.985931361519033040, 0.985939717820697450, 0.985948071657512530, 0.985956423029457410, 0.985964771936511220, 0.985973118378653310, 0.985981462355862370, +0.985989803868117850, 0.985998142915398890, 0.986006479497684380, 0.986014813614953800, 0.986023145267186150, 0.986031474454360680, 0.986039801176456620, 0.986048125433452990, +0.986056447225329040, 0.986064766552063880, 0.986073083413636860, 0.986081397810027130, 0.986089709741213900, 0.986098019207176550, 0.986106326207893960, 0.986114630743345600, +0.986122932813510600, 0.986131232418368310, 0.986139529557897960, 0.986147824232078810, 0.986156116440890070, 0.986164406184311230, 0.986172693462321170, 0.986180978274899370, +0.986189260622025170, 0.986197540503677690, 0.986205817919836520, 0.986214092870480790, 0.986222365355589710, 0.986230635375142990, 0.986238902929119420, 0.986247168017498680, +0.986255430640260000, 0.986263690797382740, 0.986271948488846250, 0.986280203714629990, 0.986288456474713190, 0.986296706769075220, 0.986304954597695400, 0.986313199960553330, +0.986321442857628130, 0.986329683288899360, 0.986337921254346380, 0.986346156753948660, 0.986354389787685640, 0.986362620355536460, 0.986370848457480800, 0.986379074093498010, +0.986387297263567440, 0.986395517967668780, 0.986403736205781260, 0.986411951977884340, 0.986420165283957710, 0.986428376123980600, 0.986436584497932480, 0.986444790405792920, +0.986452993847541370, 0.986461194823157310, 0.986469393332620400, 0.986477589375910010, 0.986485782953005490, 0.986493974063886610, 0.986502162708532750, 0.986510348886923460, +0.986518532599038320, 0.986526713844856910, 0.986534892624358670, 0.986543068937523300, 0.986551242784330150, 0.986559414164758900, 0.986567583078789110, 0.986575749526400370, +0.986583913507572240, 0.986592075022284300, 0.986600234070516340, 0.986608390652247700, 0.986616544767458080, 0.986624696416127040, 0.986632845598234280, 0.986640992313759460, +0.986649136562682050, 0.986657278344981850, 0.986665417660638640, 0.986673554509631680, 0.986681688891940860, 0.986689820807545860, 0.986697950256426260, 0.986706077238561740, +0.986714201753932100, 0.986722323802517010, 0.986730443384296160, 0.986738560499249020, 0.986746675147355590, 0.986754787328595450, 0.986762897042948280, 0.986771004290393880, +0.986779109070912040, 0.986787211384482550, 0.986795311231084770, 0.986803408610698820, 0.986811503523304380, 0.986819595968881140, 0.986827685947408880, 0.986835773458867420, +0.986843858503236530, 0.986851941080496230, 0.986860021190625770, 0.986868098833605380, 0.986876174009414740, 0.986884246718033540, 0.986892316959441910, 0.986900384733619300, +0.986908450040545840, 0.986916512880201440, 0.986924573252565550, 0.986932631157618200, 0.986940686595339290, 0.986948739565708720, 0.986956790068706180, 0.986964838104311790, +0.986972883672505350, 0.986980926773266650, 0.986988967406575600, 0.986997005572412100, 0.987005041270756170, 0.987013074501587600, 0.987021105264886290, 0.987029133560632270, +0.987037159388805540, 0.987045182749385690, 0.987053203642353050, 0.987061222067687320, 0.987069238025368500, 0.987077251515376620, 0.987085262537691580, 0.987093271092293610, +0.987101277179162180, 0.987109280798277640, 0.987117281949619900, 0.987125280633168960, 0.987133276848904840, 0.987141270596807560, 0.987149261876857030, 0.987157250689033480, +0.987165237033316710, 0.987173220909686840, 0.987181202318123900, 0.987189181258607880, 0.987197157731119050, 0.987205131735637290, 0.987213103272142620, 0.987221072340615400, +0.987229038941035310, 0.987237003073382690, 0.987244964737637560, 0.987252923933779950, 0.987260880661790070, 0.987268834921647960, 0.987276786713333960, 0.987284736036827870, +0.987292682892109920, 0.987300627279160240, 0.987308569197958950, 0.987316508648486300, 0.987324445630722300, 0.987332380144647300, 0.987340312190241430, 0.987348241767484590, +0.987356168876357240, 0.987364093516839400, 0.987372015688911420, 0.987379935392553310, 0.987387852627745420, 0.987395767394467880, 0.987403679692701040, 0.987411589522424800, +0.987419496883619740, 0.987427401776265870, 0.987435304200343420, 0.987443204155832750, 0.987451101642714100, 0.987458996660967810, 0.987466889210573910, 0.987474779291512840, +0.987482666903764740, 0.987490552047310070, 0.987498434722128950, 0.987506314928201730, 0.987514192665508660, 0.987522067934030410, 0.987529940733746780, 0.987537811064638230, +0.987545678926685210, 0.987553544319867970, 0.987561407244166970, 0.987569267699562330, 0.987577125686034730, 0.987584981203564080, 0.987592834252131070, 0.987600684831716040, +0.987608532942299110, 0.987616378583860980, 0.987624221756381870, 0.987632062459842250, 0.987639900694222580, 0.987647736459502990, 0.987655569755664150, 0.987663400582686310, +0.987671228940549930, 0.987679054829235570, 0.987686878248723480, 0.987694699198994220, 0.987702517680028480, 0.987710333691806160, 0.987718147234308060, 0.987725958307514530, +0.987733766911406240, 0.987741573045963440, 0.987749376711166690, 0.987757177906996690, 0.987764976633433540, 0.987772772890458060, 0.987780566678050590, 0.987788357996191690, +0.987796146844861830, 0.987803933224041700, 0.987811717133711740, 0.987819498573852540, 0.987827277544444550, 0.987835054045468340, 0.987842828076904490, 0.987850599638733560, +0.987858368730936130, 0.987866135353492770, 0.987873899506384270, 0.987881661189590750, 0.987889420403093240, 0.987897177146872090, 0.987904931420908070, 0.987912683225181660, +0.987920432559673540, 0.987928179424364280, 0.987935923819234780, 0.987943665744265400, 0.987951405199436690, 0.987959142184729580, 0.987966876700124620, 0.987974608745602500, +0.987982338321143790, 0.987990065426729290, 0.987997790062339680, 0.988005512227955520, 0.988013231923557500, 0.988020949149126530, 0.988028663904643060, 0.988036376190087990, +0.988044086005442020, 0.988051793350685940, 0.988059498225800190, 0.988067200630765810, 0.988074900565563350, 0.988082598030173620, 0.988090293024577400, 0.988097985548755500, +0.988105675602688580, 0.988113363186357670, 0.988121048299743230, 0.988128730942826050, 0.988136411115587140, 0.988144088818007190, 0.988151764050066990, 0.988159436811747450, +0.988167107103029240, 0.988174774923893380, 0.988182440274320560, 0.988190103154291570, 0.988197763563787300, 0.988205421502788670, 0.988213076971276470, 0.988220729969231600, +0.988228380496634970, 0.988236028553467260, 0.988243674139709590, 0.988251317255342650, 0.988258957900347350, 0.988266596074704800, 0.988274231778395680, 0.988281865011401030, +0.988289495773701730, 0.988297124065278700, 0.988304749886112830, 0.988312373236185040, 0.988319994115476330, 0.988327612523967610, 0.988335228461639900, 0.988342841928474210, +0.988350452924451340, 0.988358061449552410, 0.988365667503758210, 0.988373271087049870, 0.988380872199408290, 0.988388470840814600, 0.988396067011249710, 0.988403660710694850, +0.988411251939130600, 0.988418840696538290, 0.988426426982898840, 0.988434010798193370, 0.988441592142402790, 0.988449171015508330, 0.988456747417490900, 0.988464321348331730, +0.988471892808011620, 0.988479461796511800, 0.988487028313813300, 0.988494592359897230, 0.988502153934744720, 0.988509713038336790, 0.988517269670654790, 0.988524823831679390, +0.988532375521391950, 0.988539924739773590, 0.988547471486805440, 0.988555015762468510, 0.988562557566744160, 0.988570096899613280, 0.988577633761057450, 0.988585168151057350, +0.988592700069594210, 0.988600229516649500, 0.988607756492204110, 0.988615280996239410, 0.988622803028736400, 0.988630322589676420, 0.988637839679040840, 0.988645354296810440, +0.988652866442966680, 0.988660376117490800, 0.988667883320363930, 0.988675388051567290, 0.988682890311082250, 0.988690390098890150, 0.988697887414971890, 0.988705382259309040, +0.988712874631882620, 0.988720364532673980, 0.988727851961664460, 0.988735336918835310, 0.988742819404167860, 0.988750299417643470, 0.988757776959243160, 0.988765252028948490, +0.988772724626740600, 0.988780194752601040, 0.988787662406510840, 0.988795127588451560, 0.988802590298404560, 0.988810050536350960, 0.988817508302272220, 0.988824963596149800, +0.988832416417964930, 0.988839866767698970, 0.988847314645333380, 0.988854760050849490, 0.988862202984228780, 0.988869643445452470, 0.988877081434502150, 0.988884516951359040, +0.988891949996004600, 0.988899380568420310, 0.988906808668587600, 0.988914234296487840, 0.988921657452102700, 0.988929078135413200, 0.988936496346401020, 0.988943912085047620, +0.988951325351334450, 0.988958736145242880, 0.988966144466754570, 0.988973550315850990, 0.988980953692513490, 0.988988354596723520, 0.988995753028462650, 0.989003148987712350, +0.989010542474454300, 0.989017933488669840, 0.989025322030340550, 0.989032708099448100, 0.989040091695973730, 0.989047472819899130, 0.989054851471205860, 0.989062227649875500, +0.989069601355889510, 0.989076972589229550, 0.989084341349877110, 0.989091707637813950, 0.989099071453021450, 0.989106432795481270, 0.989113791665174990, 0.989121148062084180, +0.989128501986190620, 0.989135853437475680, 0.989143202415921350, 0.989150548921508780, 0.989157892954219850, 0.989165234514036260, 0.989172573600939580, 0.989179910214911360, +0.989187244355933410, 0.989194576023987420, 0.989201905219055040, 0.989209231941117870, 0.989216556190157580, 0.989223877966155850, 0.989231197269094480, 0.989238514098955020, +0.989245828455719400, 0.989253140339369290, 0.989260449749886140, 0.989267756687251980, 0.989275061151448360, 0.989282363142456990, 0.989289662660259860, 0.989296959704838550, +0.989304254276174850, 0.989311546374250560, 0.989318835999047350, 0.989326123150547020, 0.989333407828731360, 0.989340690033582270, 0.989347969765081440, 0.989355247023210650, +0.989362521807951700, 0.989369794119286610, 0.989377063957196930, 0.989384331321664590, 0.989391596212671360, 0.989398858630199160, 0.989406118574229890, 0.989413376044745220, +0.989420631041727280, 0.989427883565157650, 0.989435133615018340, 0.989442381191291130, 0.989449626293958050, 0.989456868923000890, 0.989464109078401430, 0.989471346760141810, +0.989478581968203930, 0.989485814702569470, 0.989493044963220550, 0.989500272750138850, 0.989507498063306620, 0.989514720902705540, 0.989521941268317720, 0.989529159160125070, +0.989536374578109610, 0.989543587522253130, 0.989550797992537650, 0.989558005988945060, 0.989565211511457600, 0.989572414560057070, 0.989579615134725480, 0.989586813235445060, +0.989594008862197390, 0.989601202014964710, 0.989608392693729130, 0.989615580898472460, 0.989622766629176920, 0.989629949885824420, 0.989637130668396980, 0.989644308976876940, +0.989651484811245870, 0.989658658171486240, 0.989665829057579940, 0.989672997469508990, 0.989680163407255620, 0.989687326870801740, 0.989694487860129810, 0.989701646375221400, +0.989708802416058960, 0.989715955982624520, 0.989723107074900190, 0.989730255692867990, 0.989737401836510270, 0.989744545505809040, 0.989751686700746540, 0.989758825421304670, +0.989765961667465780, 0.989773095439211990, 0.989780226736525440, 0.989787355559388240, 0.989794481907782740, 0.989801605781691070, 0.989808727181095470, 0.989815846105977950, +0.989822962556320740, 0.989830076532106200, 0.989837188033316440, 0.989844297059933710, 0.989851403611940240, 0.989858507689318490, 0.989865609292050250, 0.989872708420117990, +0.989879805073503930, 0.989886899252190310, 0.989893990956159600, 0.989901080185393800, 0.989908166939875380, 0.989915251219586570, 0.989922333024509600, 0.989929412354626730, +0.989936489209920280, 0.989943563590372720, 0.989950635495966180, 0.989957704926683110, 0.989964771882505870, 0.989971836363416570, 0.989978898369397790, 0.989985957900431650, +0.989993014956500610, 0.990000069537587010, 0.990007121643673330, 0.990014171274741780, 0.990021218430774950, 0.990028263111754960, 0.990035305317664260, 0.990042345048485320, +0.990049382304200590, 0.990056417084792310, 0.990063449390243040, 0.990070479220535150, 0.990077506575651190, 0.990084531455573290, 0.990091553860284130, 0.990098573789766070, +0.990105591244001550, 0.990112606222973040, 0.990119618726662990, 0.990126628755054080, 0.990133636308128450, 0.990140641385868770, 0.990147643988257390, 0.990154644115276980, +0.990161641766909910, 0.990168636943138840, 0.990175629643946010, 0.990182619869314330, 0.990189607619226030, 0.990196592893663690, 0.990203575692609750, 0.990210556016047020, +0.990217533863957830, 0.990224509236324770, 0.990231482133130500, 0.990238452554357610, 0.990245420499988540, 0.990252385970005870, 0.990259348964392160, 0.990266309483130100, +0.990273267526202370, 0.990280223093591430, 0.990287176185280060, 0.990294126801250620, 0.990301074941485780, 0.990308020605968340, 0.990314963794680870, 0.990321904507605930, +0.990328842744726210, 0.990335778506024500, 0.990342711791483370, 0.990349642601085380, 0.990356570934813220, 0.990363496792649680, 0.990370420174577440, 0.990377341080579070, +0.990384259510637350, 0.990391175464735210, 0.990398088942854860, 0.990404999944979440, 0.990411908471091400, 0.990418814521173640, 0.990425718095208850, 0.990432619193179710, +0.990439517815069110, 0.990446413960859750, 0.990453307630534300, 0.990460198824075540, 0.990467087541466400, 0.990473973782689420, 0.990480857547727520, 0.990487738836563490, +0.990494617649180120, 0.990501493985560310, 0.990508367845686630, 0.990515239229542100, 0.990522108137109390, 0.990528974568371520, 0.990535838523311060, 0.990542700001911140, +0.990549559004154530, 0.990556415530023940, 0.990563269579502250, 0.990570121152572370, 0.990576970249217310, 0.990583816869419760, 0.990590661013162620, 0.990597502680428900, +0.990604341871201500, 0.990611178585463100, 0.990618012823196840, 0.990624844584385490, 0.990631673869011960, 0.990638500677059390, 0.990645325008510550, 0.990652146863348350, +0.990658966241555810, 0.990665783143115930, 0.990672597568011400, 0.990679409516225460, 0.990686218987741010, 0.990693025982541050, 0.990699830500608500, 0.990706632541926480, +0.990713432106477780, 0.990720229194245410, 0.990727023805212600, 0.990733815939362160, 0.990740605596677200, 0.990747392777140630, 0.990754177480735690, 0.990760959707445380, +0.990767739457252610, 0.990774516730140500, 0.990781291526091960, 0.990788063845090330, 0.990794833687118510, 0.990801601052159530, 0.990808365940196720, 0.990815128351212880, +0.990821888285191240, 0.990828645742114930, 0.990835400721966850, 0.990842153224730460, 0.990848903250388550, 0.990855650798924460, 0.990862395870321320, 0.990869138464562040, +0.990875878581629950, 0.990882616221508080, 0.990889351384179770, 0.990896084069628150, 0.990902814277836220, 0.990909542008787230, 0.990916267262464510, 0.990922990038851090, +0.990929710337930090, 0.990936428159684860, 0.990943143504098620, 0.990949856371154400, 0.990956566760835660, 0.990963274673125620, 0.990969980108007190, 0.990976683065463830, +0.990983383545478770, 0.990990081548035250, 0.990996777073116510, 0.991003470120705890, 0.991010160690786510, 0.991016848783341950, 0.991023534398355110, 0.991030217535809440, +0.991036898195688190, 0.991043576377974690, 0.991050252082652290, 0.991056925309704240, 0.991063596059113870, 0.991070264330864650, 0.991076930124939580, 0.991083593441322240, +0.991090254279995970, 0.991096912640944020, 0.991103568524149820, 0.991110221929596640, 0.991116872857268020, 0.991123521307147200, 0.991130167279217430, 0.991136810773462380, +0.991143451789865180, 0.991150090328409390, 0.991156726389078480, 0.991163359971855670, 0.991169991076724540, 0.991176619703668330, 0.991183245852670590, 0.991189869523714790, +0.991196490716784280, 0.991203109431862520, 0.991209725668933060, 0.991216339427979260, 0.991222950708984580, 0.991229559511932590, 0.991236165836806630, 0.991242769683590260, +0.991249371052266960, 0.991255969942820170, 0.991262566355233580, 0.991269160289490640, 0.991275751745574700, 0.991282340723469320, 0.991288927223158090, 0.991295511244624670, +0.991302092787852310, 0.991308671852824790, 0.991315248439525680, 0.991321822547938440, 0.991328394178046520, 0.991334963329833730, 0.991341530003283400, 0.991348094198379330, +0.991354655915104970, 0.991361215153444110, 0.991367771913380210, 0.991374326194896740, 0.991380877997977470, 0.991387427322606100, 0.991393974168766070, 0.991400518536441070, +0.991407060425614880, 0.991413599836270980, 0.991420136768393250, 0.991426671221964930, 0.991433203196970040, 0.991439732693392140, 0.991446259711214920, 0.991452784250422050, +0.991459306310997100, 0.991465825892924090, 0.991472342996186470, 0.991478857620767930, 0.991485369766652250, 0.991491879433823110, 0.991498386622264300, 0.991504891331959510, +0.991511393562892530, 0.991517893315047140, 0.991524390588407020, 0.991530885382955750, 0.991537377698677340, 0.991543867535555570, 0.991550354893574020, 0.991556839772716580, +0.991563322172967050, 0.991569802094309450, 0.991576279536727110, 0.991582754500204060, 0.991589226984724180, 0.991595696990271170, 0.991602164516829030, 0.991608629564381450, +0.991615092132912320, 0.991621552222405440, 0.991628009832844600, 0.991634464964213810, 0.991640917616496750, 0.991647367789677550, 0.991653815483739760, 0.991660260698667530, +0.991666703434444850, 0.991673143691055190, 0.991679581468482670, 0.991686016766711200, 0.991692449585724670, 0.991698879925507090, 0.991705307786042270, 0.991711733167314200, +0.991718156069306910, 0.991724576492004070, 0.991730994435389810, 0.991737409899448030, 0.991743822884162740, 0.991750233389517950, 0.991756641415497580, 0.991763046962085730, +0.991769450029266090, 0.991775850617022780, 0.991782248725339930, 0.991788644354201440, 0.991795037503591330, 0.991801428173493590, 0.991807816363892370, 0.991814202074771670, +0.991820585306115390, 0.991826966057907540, 0.991833344330132370, 0.991839720122773880, 0.991846093435815980, 0.991852464269242890, 0.991858832623038760, 0.991865198497187460, +0.991871561891673140, 0.991877922806479910, 0.991884281241591890, 0.991890637196993110, 0.991896990672667790, 0.991903341668600060, 0.991909690184773930, 0.991916036221173640, +0.991922379777783080, 0.991928720854586720, 0.991935059451568460, 0.991941395568712640, 0.991947729206003270, 0.991954060363424590, 0.991960389040960840, 0.991966715238596030, +0.991973038956314500, 0.991979360194100270, 0.991985678951937680, 0.991991995229810850, 0.991998309027704140, 0.992004620345601660, 0.992010929183487540, 0.992017235541346130, +0.992023539419161660, 0.992029840816918360, 0.992036139734600360, 0.992042436172192010, 0.992048730129677650, 0.992055021607041620, 0.992061310604267830, 0.992067597121340740, +0.992073881158244690, 0.992080162714964020, 0.992086441791482860, 0.992092718387785570, 0.992098992503856470, 0.992105264139680140, 0.992111533295240380, 0.992117799970521850, +0.992124064165508910, 0.992130325880185680, 0.992136585114536730, 0.992142841868546290, 0.992149096142198820, 0.992155347935478440, 0.992161597248369830, 0.992167844080857120, +0.992174088432924870, 0.992180330304557430, 0.992186569695739040, 0.992192806606454370, 0.992199041036687660, 0.992205272986423360, 0.992211502455645820, 0.992217729444339500, +0.992223953952488860, 0.992230175980078340, 0.992236395527092420, 0.992242612593515540, 0.992248827179332160, 0.992255039284526630, 0.992261248909083520, 0.992267456052987160, +0.992273660716222360, 0.992279862898773240, 0.992286062600624570, 0.992292259821760840, 0.992298454562166370, 0.992304646821825730, 0.992310836600723390, 0.992317023898844130, +0.992323208716172190, 0.992329391052692240, 0.992335570908388860, 0.992341748283246620, 0.992347923177249960, 0.992354095590383460, 0.992360265522631680, 0.992366432973979310, +0.992372597944410790, 0.992378760433910820, 0.992384920442463960, 0.992391077970054770, 0.992397233016667930, 0.992403385582288020, 0.992409535666899600, 0.992415683270487240, +0.992421828393035830, 0.992427971034529730, 0.992434111194953950, 0.992440248874292610, 0.992446384072530830, 0.992452516789652960, 0.992458647025643790, 0.992464774780488110, +0.992470900054170380, 0.992477022846675490, 0.992483143157988130, 0.992489260988092760, 0.992495376336974270, 0.992501489204617340, 0.992507599591006760, 0.992513707496127110, +0.992519812919963160, 0.992525915862499830, 0.992532016323721570, 0.992538114303613270, 0.992544209802159740, 0.992550302819345640, 0.992556393355155770, 0.992562481409574930, +0.992568566982587890, 0.992574650074179550, 0.992580730684334500, 0.992586808813037620, 0.992592884460273720, 0.992598957626027570, 0.992605028310283970, 0.992611096513027920, +0.992617162234244230, 0.992623225473917460, 0.992629286232032610, 0.992635344508574600, 0.992641400303528210, 0.992647453616878340, 0.992653504448609780, 0.992659552798707550, +0.992665598667156530, 0.992671642053941320, 0.992677682959047130, 0.992683721382458640, 0.992689757324160870, 0.992695790784138720, 0.992701821762377090, 0.992707850258860880, +0.992713876273575210, 0.992719899806504660, 0.992725920857634450, 0.992731939426949370, 0.992737955514434440, 0.992743969120074680, 0.992749980243854970, 0.992755988885760330, +0.992761995045775780, 0.992767998723886100, 0.992773999920076530, 0.992779998634331860, 0.992785994866637210, 0.992791988616977710, 0.992797979885338130, 0.992803968671703620, +0.992809954976059170, 0.992815938798389920, 0.992821920138680760, 0.992827898996916700, 0.992833875373082990, 0.992839849267164620, 0.992845820679146620, 0.992851789609014100, +0.992857756056751970, 0.992863720022345570, 0.992869681505779810, 0.992875640507039910, 0.992881597026110780, 0.992887551062977770, 0.992893502617625990, 0.992899451690040240, +0.992905398280205960, 0.992911342388108190, 0.992917284013732030, 0.992923223157062610, 0.992929159818085270, 0.992935093996784920, 0.992941025693146910, 0.992946954907156340, +0.992952881638798360, 0.992958805888058070, 0.992964727654920940, 0.992970646939371870, 0.992976563741396200, 0.992982478060979170, 0.992988389898106010, 0.992994299252761730, +0.993000206124931780, 0.993006110514601190, 0.993012012421755410, 0.993017911846379660, 0.993023808788459080, 0.993029703247979010, 0.993035595224924680, 0.993041484719281330, +0.993047371731034300, 0.993053256260168830, 0.993059138306670140, 0.993065017870523700, 0.993070894951714630, 0.993076769550228500, 0.993082641666050310, 0.993088511299165530, +0.993094378449559500, 0.993100243117217450, 0.993106105302124840, 0.993111965004266910, 0.993117822223629210, 0.993123676960196880, 0.993129529213955360, 0.993135378984890020, +0.993141226272986180, 0.993147071078229300, 0.993152913400604740, 0.993158753240097950, 0.993164590596694370, 0.993170425470379150, 0.993176257861137830, 0.993182087768956000, +0.993187915193818880, 0.993193740135711930, 0.993199562594620720, 0.993205382570530590, 0.993211200063427000, 0.993217015073295410, 0.993222827600121260, 0.993228637643890020, +0.993234445204587260, 0.993240250282198310, 0.993246052876708750, 0.993251852988104140, 0.993257650616369840, 0.993263445761491390, 0.993269238423454380, 0.993275028602244150, +0.993280816297846480, 0.993286601510246720, 0.993292384239430450, 0.993298164485383330, 0.993303942248090710, 0.993309717527538160, 0.993315490323711360, 0.993321260636595870, +0.993327028466177260, 0.993332793812441000, 0.993338556675372850, 0.993344317054958290, 0.993350074951182880, 0.993355830364032300, 0.993361583293492110, 0.993367333739548000, +0.993373081702185520, 0.993378827181390370, 0.993384570177148210, 0.993390310689444610, 0.993396048718265150, 0.993401784263595600, 0.993407517325421650, 0.993413247903728760, +0.993418975998502930, 0.993424701609729510, 0.993430424737394510, 0.993436145381483390, 0.993441863541981830, 0.993447579218875610, 0.993453292412150410, 0.993459003121792140, +0.993464711347786240, 0.993470417090118630, 0.993476120348774970, 0.993481821123740950, 0.993487519415002350, 0.993493215222545080, 0.993498908546354700, 0.993504599386417000, +0.993510287742717880, 0.993515973615243020, 0.993521657003978210, 0.993527337908909350, 0.993533016330022000, 0.993538692267302180, 0.993544365720735570, 0.993550036690308170, +0.993555705176005550, 0.993561371177813850, 0.993567034695718500, 0.993572695729705750, 0.993578354279761160, 0.993584010345870630, 0.993589663928020170, 0.993595315026195470, +0.993600963640382640, 0.993606609770567250, 0.993612253416735420, 0.993617894578872950, 0.993623533256965620, 0.993629169450999550, 0.993634803160960530, 0.993640434386834580, +0.993646063128607590, 0.993651689386265360, 0.993657313159793890, 0.993662934449179080, 0.993668553254406950, 0.993674169575463510, 0.993679783412334650, 0.993685394765006390, +0.993691003633464520, 0.993696610017695160, 0.993702213917684320, 0.993707815333417900, 0.993713414264881910, 0.993719010712062480, 0.993724604674945500, 0.993730196153516990, +0.993735785147763060, 0.993741371657669510, 0.993746955683222690, 0.993752537224408370, 0.993758116281212690, 0.993763692853621760, 0.993769266941621600, 0.993774838545198440, +0.993780407664338060, 0.993785974299026600, 0.993791538449250170, 0.993797100114995000, 0.993802659296247000, 0.993808215992992410, 0.993813770205217330, 0.993819321932907780, +0.993824871176049900, 0.993830417934629780, 0.993835962208633680, 0.993841503998047720, 0.993847043302858000, 0.993852580123050560, 0.993858114458611830, 0.993863646309527730, +0.993869175675784480, 0.993874702557368320, 0.993880226954265370, 0.993885748866461970, 0.993891268293944030, 0.993896785236698110, 0.993902299694710110, 0.993907811667966380, +0.993913321156453140, 0.993918828160156530, 0.993924332679062880, 0.993929834713158430, 0.993935334262429420, 0.993940831326862060, 0.993946325906442610, 0.993951818001157280, +0.993957307610992550, 0.993962794735934410, 0.993968279375969320, 0.993973761531083520, 0.993979241201263350, 0.993984718386495160, 0.993990193086765060, 0.993995665302059520, +0.994001135032364760, 0.994006602277667240, 0.994012067037953080, 0.994017529313208860, 0.994022989103420910, 0.994028446408575350, 0.994033901228658760, 0.994039353563657360, +0.994044803413557500, 0.994050250778345750, 0.994055695658008330, 0.994061138052531710, 0.994066577961902230, 0.994072015386106340, 0.994077450325130290, 0.994082882778960730, +0.994088312747583910, 0.994093740230986290, 0.994099165229154310, 0.994104587742074440, 0.994110007769733240, 0.994115425312116940, 0.994120840369212000, 0.994126252941004980, +0.994131663027482350, 0.994137070628630550, 0.994142475744436040, 0.994147878374885500, 0.994153278519965160, 0.994158676179661580, 0.994164071353961340, 0.994169464042850890, +0.994174854246316800, 0.994180241964345620, 0.994185627196923720, 0.994191009944037970, 0.994196390205674520, 0.994201767981820140, 0.994207143272461290, 0.994212516077584650, +0.994217886397176680, 0.994223254231224040, 0.994228619579713310, 0.994233982442630950, 0.994239342819963620, 0.994244700711698020, 0.994250056117820580, 0.994255409038317990, +0.994260759473176940, 0.994266107422383970, 0.994271452885925780, 0.994276795863788920, 0.994282136355960080, 0.994287474362425820, 0.994292809883172920, 0.994298142918188080, +0.994303473467457730, 0.994308801530968790, 0.994314127108707920, 0.994319450200661590, 0.994324770806816690, 0.994330088927159910, 0.994335404561677900, 0.994340717710357260, +0.994346028373184980, 0.994351336550147620, 0.994356642241231770, 0.994361945446424420, 0.994367246165712260, 0.994372544399081850, 0.994377840146520200, 0.994383133408013880, +0.994388424183549670, 0.994393712473114590, 0.994398998276695090, 0.994404281594278070, 0.994409562425850440, 0.994414840771398860, 0.994420116630910120, 0.994425390004371130, +0.994430660891768680, 0.994435929293089660, 0.994441195208320750, 0.994446458637448850, 0.994451719580460750, 0.994456978037343450, 0.994462234008083650, 0.994467487492668220, +0.994472738491084200, 0.994477987003318240, 0.994483233029357370, 0.994488476569188260, 0.994493717622798150, 0.994498956190173590, 0.994504192271301710, 0.994509425866169420, +0.994514656974763600, 0.994519885597070940, 0.994525111733078670, 0.994530335382773690, 0.994535556546142780, 0.994540775223172970, 0.994545991413851250, 0.994551205118164640, +0.994556416336099920, 0.994561625067644120, 0.994566831312784340, 0.994572035071507490, 0.994577236343800460, 0.994582435129650390, 0.994587631429044270, 0.994592825241969130, +0.994598016568411850, 0.994603205408359450, 0.994608391761799050, 0.994613575628717770, 0.994618757009102520, 0.994623935902940290, 0.994629112310218330, 0.994634286230923650, +0.994639457665043140, 0.994644626612564030, 0.994649793073473230, 0.994654957047758080, 0.994660118535405480, 0.994665277536402660, 0.994670434050736630, 0.994675588078394510, +0.994680739619363320, 0.994685888673630390, 0.994691035241182740, 0.994696179322007380, 0.994701320916091650, 0.994706460023422670, 0.994711596643987560, 0.994716730777773340, +0.994721862424767340, 0.994726991584956700, 0.994732118258328630, 0.994737242444870160, 0.994742364144568620, 0.994747483357411140, 0.994752600083385170, 0.994757714322477500, +0.994762826074675590, 0.994767935339966550, 0.994773042118337720, 0.994778146409776240, 0.994783248214269440, 0.994788347531804560, 0.994793444362368830, 0.994798538705949360, +0.994803630562533630, 0.994808719932108840, 0.994813806814662250, 0.994818891210181080, 0.994823973118652670, 0.994829052540064480, 0.994834129474403530, 0.994839203921657260, +0.994844275881813010, 0.994849345354858030, 0.994854412340779760, 0.994859476839565330, 0.994864538851202410, 0.994869598375678010, 0.994874655412979590, 0.994879709963094610, +0.994884762026010280, 0.994889811601714080, 0.994894858690193340, 0.994899903291435520, 0.994904945405427950, 0.994909985032158000, 0.994915022171612980, 0.994920056823780490, +0.994925088988647840, 0.994930118666202400, 0.994935145856431720, 0.994940170559323270, 0.994945192774864370, 0.994950212503042390, 0.994955229743844980, 0.994960244497259390, +0.994965256763273190, 0.994970266541873930, 0.994975273833048960, 0.994980278636785840, 0.994985280953072040, 0.994990280781895000, 0.994995278123242290, 0.995000272977101250, +0.995005265343459680, 0.995010255222304910, 0.995015242613624510, 0.995020227517406040, 0.995025209933636860, 0.995030189862304740, 0.995035167303397140, 0.995040142256901630, +0.995045114722805770, 0.995050084701097130, 0.995055052191763270, 0.995060017194791870, 0.995064979710170270, 0.995069939737886270, 0.995074897277927420, 0.995079852330281400, +0.995084804894935670, 0.995089754971877900, 0.995094702561095890, 0.995099647662577080, 0.995104590276309040, 0.995109530402279560, 0.995114468040476320, 0.995119403190886880, +0.995124335853498910, 0.995129266028300100, 0.995134193715278230, 0.995139118914420750, 0.995144041625715460, 0.995148961849150140, 0.995153879584712350, 0.995158794832389890, +0.995163707592170430, 0.995168617864041870, 0.995173525647991550, 0.995178430944007490, 0.995183333752077350, 0.995188234072188930, 0.995193131904329900, 0.995198027248487940, +0.995202920104650950, 0.995207810472806820, 0.995212698352943010, 0.995217583745047540, 0.995222466649107960, 0.995227347065112400, 0.995232224993048310, 0.995237100432903700, +0.995241973384666360, 0.995246843848324180, 0.995251711823864850, 0.995256577311276150, 0.995261440310546090, 0.995266300821662340, 0.995271158844612920, 0.995276014379385620, +0.995280867425968330, 0.995285717984348730, 0.995290566054514940, 0.995295411636454630, 0.995300254730155820, 0.995305095335606400, 0.995309933452794280, 0.995314769081707240, +0.995319602222333400, 0.995324432874660550, 0.995329261038676470, 0.995334086714369290, 0.995338909901727020, 0.995343730600737330, 0.995348548811388350, 0.995353364533668070, +0.995358177767564300, 0.995362988513065150, 0.995367796770158410, 0.995372602538832310, 0.995377405819074630, 0.995382206610873400, 0.995387004914216720, 0.995391800729092610, +0.995396594055488970, 0.995401384893393690, 0.995406173242795010, 0.995410959103680940, 0.995415742476039480, 0.995420523359858640, 0.995425301755126450, 0.995430077661831230, +0.995434851079960550, 0.995439622009502870, 0.995444390450446080, 0.995449156402778310, 0.995453919866487680, 0.995458680841562190, 0.995463439327990200, 0.995468195325759360, +0.995472948834858150, 0.995477699855274570, 0.995482448386996730, 0.995487194430012770, 0.995491937984310790, 0.995496679049879040, 0.995501417626705520, 0.995506153714778570, +0.995510887314086100, 0.995515618424616440, 0.995520347046357720, 0.995525073179298170, 0.995529796823426020, 0.995534517978729270, 0.995539236645196280, 0.995543952822815160, +0.995548666511574140, 0.995553377711461460, 0.995558086422465350, 0.995562792644574030, 0.995567496377775750, 0.995572197622058840, 0.995576896377411310, 0.995581592643821510, +0.995586286421277780, 0.995590977709768230, 0.995595666509281330, 0.995600352819805190, 0.995605036641328270, 0.995609717973838790, 0.995614396817325000, 0.995619073171775120, +0.995623747037177600, 0.995628418413520680, 0.995633087300792700, 0.995637753698982110, 0.995642417608077150, 0.995647079028066040, 0.995651737958937240, 0.995656394400679100, +0.995661048353280060, 0.995665699816728260, 0.995670348791012350, 0.995674995276120470, 0.995679639272041170, 0.995684280778762810, 0.995688919796273610, 0.995693556324562130, +0.995698190363616840, 0.995702821913426070, 0.995707450973978170, 0.995712077545261700, 0.995716701627265110, 0.995721323219976640, 0.995725942323384960, 0.995730558937478310, +0.995735173062245350, 0.995739784697674430, 0.995744393843754020, 0.995749000500472770, 0.995753604667818930, 0.995758206345781050, 0.995762805534347590, 0.995767402233507240, +0.995771996443248320, 0.995776588163559410, 0.995781177394429060, 0.995785764135845740, 0.995790348387798010, 0.995794930150274430, 0.995799509423263560, 0.995804086206753870, +0.995808660500733910, 0.995813232305192360, 0.995817801620117680, 0.995822368445498650, 0.995826932781323610, 0.995831494627581250, 0.995836053984260120, 0.995840610851348780, +0.995845165228836040, 0.995849717116710330, 0.995854266514960340, 0.995858813423574740, 0.995863357842541990, 0.995867899771850970, 0.995872439211490050, 0.995876976161448100, +0.995881510621713820, 0.995886042592275640, 0.995890572073122480, 0.995895099064242780, 0.995899623565625340, 0.995904145577258810, 0.995908665099132010, 0.995913182131233480, +0.995917696673551900, 0.995922208726076290, 0.995926718288795090, 0.995931225361697090, 0.995935729944770980, 0.995940232038005520, 0.995944731641389520, 0.995949228754911650, +0.995953723378560810, 0.995958215512325660, 0.995962705156194890, 0.995967192310157400, 0.995971676974201970, 0.995976159148317270, 0.995980638832492220, 0.995985116026715470, +0.995989590730976040, 0.995994062945262710, 0.995998532669564060, 0.996002999903869090, 0.996007464648166700, 0.996011926902445670, 0.996016386666694680, 0.996020843940902840, +0.996025298725058960, 0.996029751019151700, 0.996034200823170070, 0.996038648137102970, 0.996043092960939290, 0.996047535294667830, 0.996051975138277480, 0.996056412491757250, +0.996060847355096150, 0.996065279728282740, 0.996069709611306140, 0.996074137004155260, 0.996078561906819090, 0.996082984319286550, 0.996087404241546400, 0.996091821673587900, +0.996096236615399810, 0.996100649066971160, 0.996105059028290720, 0.996109466499347730, 0.996113871480131090, 0.996118273970629800, 0.996122673970832760, 0.996127071480729210, +0.996131466500307820, 0.996135859029557810, 0.996140249068468100, 0.996144636617027790, 0.996149021675225900, 0.996153404243051430, 0.996157784320493400, 0.996162161907541140, +0.996166537004183230, 0.996170909610409110, 0.996175279726207670, 0.996179647351568050, 0.996184012486479250, 0.996188375130930500, 0.996192735284910810, 0.996197092948409190, +0.996201448121414980, 0.996205800803916960, 0.996210150995904600, 0.996214498697366780, 0.996218843908292740, 0.996223186628671600, 0.996227526858492580, 0.996231864597744600, +0.996236199846416980, 0.996240532604498960, 0.996244862871979550, 0.996249190648847870, 0.996253515935093370, 0.996257838730705060, 0.996262159035672170, 0.996266476849983820, +0.996270792173629240, 0.996275105006597770, 0.996279415348878540, 0.996283723200460660, 0.996288028561333580, 0.996292331431486430, 0.996296631810908440, 0.996300929699588830, +0.996305225097516840, 0.996309518004681930, 0.996313808421073090, 0.996318096346679780, 0.996322381781491240, 0.996326664725496910, 0.996330945178685700, 0.996335223141047170, +0.996339498612570650, 0.996343771593245280, 0.996348042083060600, 0.996352310082005750, 0.996356575590070070, 0.996360838607243120, 0.996365099133513900, 0.996369357168871980, +0.996373612713306710, 0.996377865766807420, 0.996382116329363350, 0.996386364400964060, 0.996390609981599010, 0.996394853071257190, 0.996399093669928400, 0.996403331777601760, +0.996407567394266840, 0.996411800519913070, 0.996416031154529700, 0.996420259298106290, 0.996424484950632290, 0.996428708112097050, 0.996432928782490010, 0.996437146961800630, +0.996441362650018370, 0.996445575847132780, 0.996449786553133210, 0.996453994768009220, 0.996458200491750160, 0.996462403724345690, 0.996466604465785170, 0.996470802716058040, +0.996474998475153970, 0.996479191743062430, 0.996483382519772980, 0.996487570805275060, 0.996491756599558130, 0.996495939902611760, 0.996500120714425620, 0.996504299034989160, +0.996508474864291950, 0.996512648202323660, 0.996516819049073630, 0.996520987404531660, 0.996525153268687070, 0.996529316641529660, 0.996533477523048990, 0.996537635913234630, +0.996541791812076140, 0.996545945219563190, 0.996550096135685460, 0.996554244560432400, 0.996558390493793690, 0.996562533935759000, 0.996566674886318120, 0.996570813345460380, +0.996574949313175700, 0.996579082789453620, 0.996583213774283940, 0.996587342267656110, 0.996591468269559910, 0.996595591779985130, 0.996599712798921230, 0.996603831326358210, +0.996607947362285530, 0.996612060906693080, 0.996616171959570310, 0.996620280520907230, 0.996624386590693410, 0.996628490168918630, 0.996632591255572580, 0.996636689850645130, +0.996640785954125860, 0.996644879566004780, 0.996648970686271340, 0.996653059314915550, 0.996657145451927070, 0.996661229097295820, 0.996665310251011350, 0.996669388913063670, +0.996673465083442570, 0.996677538762137830, 0.996681609949139240, 0.996685678644436580, 0.996689744848019640, 0.996693808559878440, 0.996697869780002740, 0.996701928508382240, +0.996705984745007050, 0.996710038489866830, 0.996714089742951610, 0.996718138504251060, 0.996722184773755180, 0.996726228551453870, 0.996730269837336920, 0.996734308631394340, +0.996738344933616130, 0.996742378743991850, 0.996746410062511750, 0.996750438889165590, 0.996754465223943290, 0.996758489066834840, 0.996762510417830150, 0.996766529276919220, +0.996770545644092070, 0.996774559519338470, 0.996778570902648430, 0.996782579794011970, 0.996786586193419090, 0.996790590100859690, 0.996794591516323880, 0.996798590439801570, +0.996802586871282760, 0.996806580810757570, 0.996810572258215900, 0.996814561213647750, 0.996818547677043140, 0.996822531648392300, 0.996826513127685000, 0.996830492114911590, +0.996834468610061750, 0.996838442613125930, 0.996842414124093800, 0.996846383142955820, 0.996850349669701760, 0.996854313704321870, 0.996858275246806260, 0.996862234297144930, +0.996866190855327900, 0.996870144921345510, 0.996874096495187770, 0.996878045576844670, 0.996881992166306570, 0.996885936263563480, 0.996889877868605500, 0.996893816981422880, +0.996897753602005720, 0.996901687730344150, 0.996905619366428300, 0.996909548510248490, 0.996913475161794740, 0.996917399321057270, 0.996921320988026440, 0.996925240162692240, +0.996929156845045020, 0.996933071035074780, 0.996936982732771870, 0.996940891938126520, 0.996944798651128950, 0.996948702871769510, 0.996952604600038210, 0.996956503835925380, +0.996960400579421260, 0.996964294830516180, 0.996968186589200390, 0.996972075855464100, 0.996975962629297660, 0.996979846910691300, 0.996983728699635250, 0.996987607996119960, +0.996991484800135660, 0.996995359111672590, 0.996999230930721180, 0.997003100257271570, 0.997006967091314310, 0.997010831432839750, 0.997014693281837890, 0.997018552638299420, +0.997022409502214550, 0.997026263873573630, 0.997030115752367110, 0.997033965138585220, 0.997037812032218530, 0.997041656433257260, 0.997045498341691760, 0.997049337757512590, +0.997053174680710090, 0.997057009111274590, 0.997060841049196570, 0.997064670494466570, 0.997068497447074820, 0.997072321907011780, 0.997076143874268020, 0.997079963348833860, +0.997083780330699780, 0.997087594819856200, 0.997091406816293710, 0.997095216320002750, 0.997099023330973670, 0.997102827849197020, 0.997106629874663360, 0.997110429407363050, +0.997114226447286760, 0.997118020994424810, 0.997121813048767790, 0.997125602610306360, 0.997129389679030860, 0.997133174254931980, 0.997136956338000040, 0.997140735928225720, +0.997144513025599590, 0.997148287630112210, 0.997152059741754030, 0.997155829360515830, 0.997159596486387970, 0.997163361119361100, 0.997167123259425800, 0.997170882906572740, +0.997174640060792480, 0.997178394722075590, 0.997182146890412850, 0.997185896565794590, 0.997189643748211620, 0.997193388437654590, 0.997197130634113970, 0.997200870337580650, +0.997204607548045070, 0.997208342265498040, 0.997212074489930210, 0.997215804221332050, 0.997219531459694440, 0.997223256205008070, 0.997226978457263490, 0.997230698216451380, +0.997234415482562640, 0.997238130255587830, 0.997241842535517730, 0.997245552322343020, 0.997249259616054370, 0.997252964416642680, 0.997256666724098410, 0.997260366538412660, +0.997264063859575890, 0.997267758687579000, 0.997271451022412660, 0.997275140864067770, 0.997278828212534880, 0.997282513067805020, 0.997286195429868960, 0.997289875298717270, +0.997293552674340940, 0.997297227556730780, 0.997300899945877560, 0.997304569841771960, 0.997308237244405090, 0.997311902153767530, 0.997315564569850270, 0.997319224492643990, +0.997322881922139800, 0.997326536858328390, 0.997330189301200540, 0.997333839250747260, 0.997337486706959320, 0.997341131669827740, 0.997344774139343300, 0.997348414115497020, +0.997352051598279670, 0.997355686587682140, 0.997359319083695350, 0.997362949086310290, 0.997366576595517970, 0.997370201611309070, 0.997373824133674700, 0.997377444162605760, +0.997381061698093370, 0.997384676740128210, 0.997388289288701270, 0.997391899343803680, 0.997395506905426330, 0.997399111973560240, 0.997402714548196400, 0.997406314629325720, +0.997409912216939310, 0.997413507311028070, 0.997417099911583000, 0.997420690018595240, 0.997424277632055770, 0.997427862751955610, 0.997431445378285760, 0.997435025511037470, +0.997438603150201390, 0.997442178295768870, 0.997445750947730910, 0.997449321106078650, 0.997452888770802960, 0.997456453941895080, 0.997460016619346130, 0.997463576803147120, +0.997467134493289160, 0.997470689689763380, 0.997474242392560770, 0.997477792601672690, 0.997481340317090020, 0.997484885538804100, 0.997488428266805950, 0.997491968501086680, +0.997495506241637520, 0.997499041488449590, 0.997502574241514010, 0.997506104500822000, 0.997509632266364800, 0.997513157538133520, 0.997516680316119290, 0.997520200600313430, +0.997523718390706970, 0.997527233687291350, 0.997530746490057460, 0.997534256798996880, 0.997537764614100490, 0.997541269935359850, 0.997544772762765990, 0.997548273096310220, +0.997551770935983680, 0.997555266281777710, 0.997558759133683640, 0.997562249491692700, 0.997565737355796010, 0.997569222725985140, 0.997572705602251200, 0.997576185984585420, +0.997579663872979140, 0.997583139267423700, 0.997586612167910450, 0.997590082574430710, 0.997593550486975730, 0.997597015905536950, 0.997600478830105500, 0.997603939260672920, +0.997607397197230460, 0.997610852639769560, 0.997614305588281460, 0.997617756042757710, 0.997621204003189540, 0.997624649469568300, 0.997628092441885440, 0.997631532920132290, +0.997634970904300420, 0.997638406394381060, 0.997641839390365770, 0.997645269892245780, 0.997648697900012760, 0.997652123413657830, 0.997655546433172670, 0.997658966958548610, +0.997662384989777110, 0.997665800526849720, 0.997669213569757800, 0.997672624118492890, 0.997676032173046350, 0.997679437733409720, 0.997682840799574590, 0.997686241371532280, +0.997689639449274360, 0.997693035032792390, 0.997696428122077820, 0.997699818717122210, 0.997703206817917020, 0.997706592424453810, 0.997709975536724140, 0.997713356154719460, +0.997716734278431440, 0.997720109907851650, 0.997723483042971430, 0.997726853683782670, 0.997730221830276710, 0.997733587482445230, 0.997736950640279670, 0.997740311303771830, +0.997743669472913150, 0.997747025147695310, 0.997750378328109980, 0.997753729014148720, 0.997757077205803090, 0.997760422903064660, 0.997763766105925320, 0.997767106814376530, +0.997770445028409950, 0.997773780748017150, 0.997777113973190130, 0.997780444703920130, 0.997783772940199150, 0.997787098682018650, 0.997790421929370400, 0.997793742682246190, +0.997797060940637580, 0.997800376704536250, 0.997803689973934090, 0.997807000748822670, 0.997810309029193650, 0.997813614815038940, 0.997816918106350200, 0.997820218903119120, +0.997823517205337570, 0.997826813012997250, 0.997830106326089820, 0.997833397144607170, 0.997836685468540980, 0.997839971297883040, 0.997843254632625240, 0.997846535472759260, +0.997849813818276980, 0.997853089669170190, 0.997856363025430680, 0.997859633887050120, 0.997862902254020630, 0.997866168126333890, 0.997869431503981660, 0.997872692386955860, +0.997875950775248380, 0.997879206668850880, 0.997882460067755490, 0.997885710971953890, 0.997888959381438070, 0.997892205296199820, 0.997895448716231040, 0.997898689641523730, +0.997901928072069680, 0.997905164007860780, 0.997908397448888930, 0.997911628395146130, 0.997914856846624180, 0.997918082803315180, 0.997921306265210920, 0.997924527232303400, +0.997927745704584650, 0.997930961682046420, 0.997934175164680860, 0.997937386152479840, 0.997940594645435270, 0.997943800643539380, 0.997947004146783830, 0.997950205155160860, +0.997953403668662360, 0.997956599687280340, 0.997959793211006920, 0.997962984239833870, 0.997966172773753430, 0.997969358812757500, 0.997972542356838300, 0.997975723405987610, +0.997978901960197670, 0.997982078019460480, 0.997985251583768160, 0.997988422653112610, 0.997991591227486040, 0.997994757306880480, 0.997997920891288030, 0.998001081980700810, +0.998004240575110830, 0.998007396674510330, 0.998010550278891300, 0.998013701388245860, 0.998016850002566120, 0.998019996121844330, 0.998023139746072600, 0.998026280875242920, +0.998029419509347650, 0.998032555648378780, 0.998035689292328440, 0.998038820441188970, 0.998041949094952360, 0.998045075253610970, 0.998048198917156900, 0.998051320085582280, +0.998054438758879450, 0.998057554937040400, 0.998060668620057490, 0.998063779807922940, 0.998066888500628970, 0.998069994698167710, 0.998073098400531490, 0.998076199607712540, +0.998079298319703100, 0.998082394536495390, 0.998085488258081740, 0.998088579484454290, 0.998091668215605470, 0.998094754451527510, 0.998097838192212540, 0.998100919437653000, +0.998103998187841230, 0.998107074442769360, 0.998110148202429940, 0.998113219466815080, 0.998116288235917140, 0.998119354509728550, 0.998122418288241550, 0.998125479571448480, +0.998128538359341790, 0.998131594651913590, 0.998134648449156560, 0.998137699751062810, 0.998140748557624910, 0.998143794868835090, 0.998146838684685790, 0.998149880005169350, +0.998152918830278240, 0.998155955160004880, 0.998158988994341520, 0.998162020333280830, 0.998165049176815030, 0.998168075524936580, 0.998171099377637930, 0.998174120734911520, +0.998177139596749920, 0.998180155963145350, 0.998183169834090500, 0.998186181209577580, 0.998189190089599390, 0.998192196474148140, 0.998195200363216300, 0.998198201756796630, +0.998201200654881270, 0.998204197057463110, 0.998207190964534250, 0.998210182376087610, 0.998213171292115400, 0.998216157712610300, 0.998219141637564760, 0.998222123066971450, +0.998225102000822820, 0.998228078439111320, 0.998231052381829740, 0.998234023828970530, 0.998236992780526240, 0.998239959236489450, 0.998242923196852710, 0.998245884661608680, +0.998248843630750060, 0.998251800104269170, 0.998254754082158910, 0.998257705564411730, 0.998260654551020310, 0.998263601041977200, 0.998266545037275080, 0.998269486536906610, +0.998272425540864480, 0.998275362049141250, 0.998278296061729580, 0.998281227578622250, 0.998284156599811730, 0.998287083125290910, 0.998290007155052340, 0.998292928689088810, +0.998295847727392880, 0.998298764269957340, 0.998301678316774970, 0.998304589867838430, 0.998307498923140300, 0.998310405482673470, 0.998313309546430610, 0.998316211114404490, +0.998319110186587810, 0.998322006762973450, 0.998324900843554080, 0.998327792428322370, 0.998330681517271110, 0.998333568110393310, 0.998336452207681520, 0.998339333809128540, +0.998342212914727250, 0.998345089524470540, 0.998347963638350990, 0.998350835256361590, 0.998353704378495130, 0.998356571004744290, 0.998359435135102060, 0.998362296769561340, +0.998365155908114810, 0.998368012550755470, 0.998370866697475990, 0.998373718348269380, 0.998376567503128420, 0.998379414162046120, 0.998382258325015260, 0.998385099992028740, +0.998387939163079550, 0.998390775838160380, 0.998393610017264340, 0.998396441700384330, 0.998399270887513120, 0.998402097578643840, 0.998404921773769160, 0.998407743472882300, +0.998410562675976050, 0.998413379383043420, 0.998416193594077290, 0.998419005309070680, 0.998421814528016590, 0.998424621250908030, 0.998427425477737770, 0.998430227208499050, +0.998433026443184770, 0.998435823181787920, 0.998438617424301400, 0.998441409170718440, 0.998444198421031940, 0.998446985175234890, 0.998449769433320420, 0.998452551195281530, +0.998455330461111350, 0.998458107230802750, 0.998460881504348860, 0.998463653281742800, 0.998466422562977570, 0.998469189348046290, 0.998471953636942080, 0.998474715429658040, +0.998477474726187090, 0.998480231526522540, 0.998482985830657420, 0.998485737638584720, 0.998488486950297790, 0.998491233765789630, 0.998493978085053360, 0.998496719908082090, +0.998499459234869160, 0.998502196065407470, 0.998504930399690350, 0.998507662237710810, 0.998510391579462200, 0.998513118424937620, 0.998515842774130190, 0.998518564627033140, +0.998521283983639710, 0.998524000843943100, 0.998526715207936450, 0.998529427075613100, 0.998532136446966030, 0.998534843321988720, 0.998537547700674380, 0.998540249583016020, +0.998542948969007080, 0.998545645858640810, 0.998548340251910420, 0.998551032148809140, 0.998553721549330200, 0.998556408453467160, 0.998559092861213030, 0.998561774772561030, +0.998564454187504720, 0.998567131106037230, 0.998569805528152000, 0.998572477453842140, 0.998575146883101120, 0.998577813815922260, 0.998580478252298900, 0.998583140192224270, +0.998585799635691830, 0.998588456582694910, 0.998591111033226730, 0.998593762987280860, 0.998596412444850650, 0.998599059405929300, 0.998601703870510390, 0.998604345838587150, +0.998606985310153130, 0.998609622285201560, 0.998612256763726000, 0.998614888745719690, 0.998617518231176280, 0.998620145220089020, 0.998622769712451450, 0.998625391708256930, +0.998628011207498890, 0.998630628210170790, 0.998633242716266190, 0.998635854725778430, 0.998638464238701170, 0.998641071255027660, 0.998643675774751440, 0.998646277797866080, +0.998648877324364910, 0.998651474354241620, 0.998654068887489750, 0.998656660924102660, 0.998659250464073890, 0.998661837507396900, 0.998664422054065470, 0.998667004104072830, +0.998669583657412760, 0.998672160714078830, 0.998674735274064360, 0.998677307337363150, 0.998679876903968640, 0.998682443973874400, 0.998685008547074090, 0.998687570623561170, +0.998690130203329420, 0.998692687286372280, 0.998695241872683550, 0.998697793962256550, 0.998700343555085190, 0.998702890651162910, 0.998705435250483390, 0.998707977353040290, +0.998710516958827290, 0.998713054067837950, 0.998715588680066050, 0.998718120795505150, 0.998720650414148920, 0.998723177535991050, 0.998725702161025300, 0.998728224289245240, +0.998730743920644650, 0.998733261055217200, 0.998735775692956570, 0.998738287833856540, 0.998740797477910780, 0.998743304625112960, 0.998745809275456970, 0.998748311428936390, +0.998750811085545090, 0.998753308245276750, 0.998755802908125050, 0.998758295074083980, 0.998760784743147110, 0.998763271915308230, 0.998765756590561220, 0.998768238768899860, +0.998770718450317840, 0.998773195634809040, 0.998775670322367250, 0.998778142512986360, 0.998780612206660030, 0.998783079403382180, 0.998785544103146570, 0.998788006305947220, +0.998790466011777790, 0.998792923220632180, 0.998795377932504280, 0.998797830147387990, 0.998800279865277090, 0.998802727086165460, 0.998805171810047020, 0.998807614036915650, +0.998810053766765350, 0.998812490999589800, 0.998814925735383110, 0.998817357974138950, 0.998819787715851560, 0.998822214960514600, 0.998824639708122080, 0.998827061958668110, +0.998829481712146360, 0.998831898968550960, 0.998834313727875790, 0.998836725990114860, 0.998839135755262060, 0.998841543023311410, 0.998843947794257000, 0.998846350068092750, +0.998848749844812530, 0.998851147124410370, 0.998853541906880470, 0.998855934192216630, 0.998858323980412970, 0.998860711271463590, 0.998863096065362390, 0.998865478362103380, +0.998867858161680780, 0.998870235464088490, 0.998872610269320500, 0.998874982577371170, 0.998877352388234270, 0.998879719701904030, 0.998882084518374460, 0.998884446837639770, +0.998886806659693870, 0.998889163984530980, 0.998891518812145110, 0.998893871142530590, 0.998896220975681200, 0.998898568311591410, 0.998900913150255200, 0.998903255491666700, +0.998905595335820020, 0.998907932682709390, 0.998910267532328810, 0.998912599884672740, 0.998914929739735060, 0.998917257097510000, 0.998919581957991910, 0.998921904321174890, +0.998924224187053070, 0.998926541555620660, 0.998928856426871900, 0.998931168800801020, 0.998933478677402120, 0.998935786056669660, 0.998938090938597760, 0.998940393323180520, +0.998942693210412290, 0.998944990600287410, 0.998947285492799990, 0.998949577887944360, 0.998951867785714880, 0.998954155186105640, 0.998956440089111110, 0.998958722494725390, +0.998961002402942830, 0.998963279813757770, 0.998965554727164640, 0.998967827143157460, 0.998970097061730790, 0.998972364482878960, 0.998974629406596090, 0.998976891832876750, +0.998979151761715150, 0.998981409193105630, 0.998983664127042540, 0.998985916563520430, 0.998988166502533410, 0.998990413944076060, 0.998992658888142590, 0.998994901334727570, +0.998997141283825220, 0.998999378735429990, 0.999001613689536440, 0.999003846146138690, 0.999006076105231510, 0.999008303566809030, 0.999010528530865800, 0.999012750997396280, +0.999014970966394800, 0.999017188437856030, 0.999019403411774200, 0.999021615888143870, 0.999023825866959480, 0.999026033348215600, 0.999028238331906570, 0.999030440818026940, +0.999032640806571280, 0.999034838297533920, 0.999037033290909540, 0.999039225786692580, 0.999041415784877480, 0.999043603285458940, 0.999045788288431270, 0.999047970793789260, +0.999050150801527260, 0.999052328311639930, 0.999054503324121710, 0.999056675838967290, 0.999058845856171110, 0.999061013375727840, 0.999063178397632030, 0.999065340921878380, +0.999067500948461310, 0.999069658477375390, 0.999071813508615400, 0.999073966042176020, 0.999076116078051580, 0.999078263616236860, 0.999080408656726430, 0.999082551199515060, +0.999084691244597310, 0.999086828791967750, 0.999088963841621270, 0.999091096393552200, 0.999093226447755560, 0.999095354004225670, 0.999097479062957540, 0.999099601623945620, +0.999101721687184810, 0.999103839252669660, 0.999105954320394840, 0.999108066890355250, 0.999110176962545340, 0.999112284536960100, 0.999114389613594110, 0.999116492192442140, +0.999118592273498970, 0.999120689856759390, 0.999122784942217960, 0.999124877529869560, 0.999126967619709090, 0.999129055211731120, 0.999131140305930530, 0.999133222902302000, +0.999135303000840520, 0.999137380601540780, 0.999139455704397550, 0.999141528309405720, 0.999143598416560090, 0.999145666025855420, 0.999147731137286500, 0.999149793750848340, +0.999151853866535710, 0.999153911484343520, 0.999155966604266420, 0.999158019226299430, 0.999160069350437440, 0.999162116976675230, 0.999164162105007800, 0.999166204735429830, +0.999168244867936540, 0.999170282502522490, 0.999172317639182790, 0.999174350277912240, 0.999176380418705820, 0.999178408061558550, 0.999180433206465100, 0.999182455853420690, +0.999184476002420220, 0.999186493653458350, 0.999188508806530430, 0.999190521461631120, 0.999192531618755540, 0.999194539277898590, 0.999196544439055370, 0.999198547102220780, +0.999200547267389830, 0.999202544934557510, 0.999204540103718730, 0.999206532774868710, 0.999208522948002330, 0.999210510623114610, 0.999212495800200660, 0.999214478479255490, +0.999216458660273980, 0.999218436343251470, 0.999220411528182860, 0.999222384215063150, 0.999224354403887460, 0.999226322094651010, 0.999228287287348690, 0.999230249981975630, +0.999232210178526930, 0.999234167876997810, 0.999236123077383190, 0.999238075779678270, 0.999240025983878180, 0.999241973689978020, 0.999243918897972930, 0.999245861607858000, +0.999247801819628470, 0.999249739533279340, 0.999251674748805940, 0.999253607466203400, 0.999255537685466710, 0.999257465406591330, 0.999259390629572250, 0.999261313354404600, +0.999263233581083710, 0.999265151309604800, 0.999267066539962890, 0.999268979272153410, 0.999270889506171490, 0.999272797242012350, 0.999274702479671210, 0.999276605219143190, +0.999278505460423850, 0.999280403203508080, 0.999282298448391450, 0.999284191195068950, 0.999286081443536030, 0.999287969193787930, 0.999289854445819860, 0.999291737199627160, +0.999293617455205170, 0.999295495212549010, 0.999297370471654230, 0.999299243232515950, 0.999301113495129620, 0.999302981259490570, 0.999304846525593930, 0.999306709293435240, +0.999308569563009730, 0.999310427334312860, 0.999312282607339950, 0.999314135382086240, 0.999315985658547290, 0.999317833436718320, 0.999319678716594770, 0.999321521498171990, +0.999323361781445430, 0.999325199566410530, 0.999327034853062510, 0.999328867641396950, 0.999330697931409270, 0.999332525723094830, 0.999334351016449070, 0.999336173811467440, +0.999337994108145390, 0.999339811906478250, 0.999341627206461690, 0.999343440008091060, 0.999345250311361790, 0.999347058116269450, 0.999348863422809370, 0.999350666230977240, +0.999352466540768370, 0.999354264352178330, 0.999356059665202580, 0.999357852479836880, 0.999359642796076360, 0.999361430613916800, 0.999363215933353640, 0.999364998754382450, +0.999366779076998780, 0.999368556901198190, 0.999370332226976130, 0.999372105054328390, 0.999373875383250180, 0.999375643213737400, 0.999377408545785490, 0.999379171379390140, +0.999380931714546780, 0.999382689551251090, 0.999384444889498620, 0.999386197729285160, 0.999387948070606160, 0.999389695913457280, 0.999391441257834190, 0.999393184103732460, +0.999394924451147750, 0.999396662300075730, 0.999398397650512080, 0.999400130502452470, 0.999401860855892550, 0.999403588710827910, 0.999405314067254300, 0.999407036925167410, +0.999408757284563020, 0.999410475145436570, 0.999412190507784070, 0.999413903371601080, 0.999415613736883260, 0.999417321603626510, 0.999419026971826390, 0.999420729841478670, +0.999422430212579150, 0.999424128085123600, 0.999425823459107690, 0.999427516334527200, 0.999429206711378030, 0.999430894589655730, 0.999432579969356190, 0.999434262850475210, +0.999435943233008660, 0.999437621116952220, 0.999439296502301680, 0.999440969389052910, 0.999442639777201710, 0.999444307666743970, 0.999445973057675460, 0.999447635949991970, +0.999449296343689400, 0.999450954238763620, 0.999452609635210320, 0.999454262533025610, 0.999455912932205260, 0.999457560832745060, 0.999459206234641020, 0.999460849137889020, +0.999462489542484840, 0.999464127448424390, 0.999465762855703650, 0.999467395764318530, 0.999469026174264810, 0.999470654085538700, 0.999472279498135770, 0.999473902412052250, +0.999475522827284020, 0.999477140743826990, 0.999478756161677030, 0.999480369080830160, 0.999481979501282370, 0.999483587423029670, 0.999485192846067960, 0.999486795770393340, +0.999488396196001720, 0.999489994122889080, 0.999491589551051440, 0.999493182480484910, 0.999494772911185380, 0.999496360843148860, 0.999497946276371450, 0.999499529210849280, +0.999501109646578230, 0.999502687583554320, 0.999504263021773750, 0.999505835961232550, 0.999507406401926700, 0.999508974343852440, 0.999510539787005660, 0.999512102731382580, +0.999513663176979210, 0.999515221123791650, 0.999516776571816150, 0.999518329521048580, 0.999519879971485280, 0.999521427923122260, 0.999522973375955640, 0.999524516329981630, +0.999526056785196240, 0.999527594741595800, 0.999529130199176330, 0.999530663157934040, 0.999532193617865160, 0.999533721578965690, 0.999535247041231980, 0.999536770004660120, +0.999538290469246360, 0.999539808434986910, 0.999541323901877890, 0.999542836869915520, 0.999544347339096140, 0.999545855309415860, 0.999547360780870920, 0.999548863753457640, +0.999550364227172140, 0.999551862202010750, 0.999553357677969710, 0.999554850655045240, 0.999556341133233660, 0.999557829112531330, 0.999559314592934340, 0.999560797574439050, +0.999562278057041790, 0.999563756040738770, 0.999565231525526450, 0.999566704511401060, 0.999568174998358820, 0.999569642986396170, 0.999571108475509450, 0.999572571465695000, +0.999574031956949050, 0.999575489949268040, 0.999576945442648300, 0.999578398437086180, 0.999579848932578120, 0.999581296929120340, 0.999582742426709410, 0.999584185425341550, +0.999585625925013320, 0.999587063925720940, 0.999588499427460970, 0.999589932430229760, 0.999591362934023620, 0.999592790938839130, 0.999594216444672720, 0.999595639451520630, +0.999597059959379530, 0.999598477968245860, 0.999599893478115840, 0.999601306488986150, 0.999602717000853240, 0.999604125013713540, 0.999605530527563510, 0.999606933542399600, +0.999608334058218360, 0.999609732075016360, 0.999611127592789920, 0.999612520611535830, 0.999613911131250310, 0.999615299151930040, 0.999616684673571450, 0.999618067696171230, +0.999619448219725930, 0.999620826244231870, 0.999622201769685750, 0.999623574796084210, 0.999624945323423720, 0.999626313351700820, 0.999627678880912090, 0.999629041911054280, +0.999630402442123760, 0.999631760474117280, 0.999633116007031420, 0.999634469040862840, 0.999635819575607990, 0.999637167611263530, 0.999638513147826260, 0.999639856185292610, +0.999641196723659480, 0.999642534762923200, 0.999643870303080660, 0.999645203344128430, 0.999646533886063170, 0.999647861928881660, 0.999649187472580360, 0.999650510517156250, +0.999651831062605690, 0.999653149108925660, 0.999654464656112740, 0.999655777704163690, 0.999657088253075200, 0.999658396302843920, 0.999659701853466750, 0.999661004904940250, +0.999662305457261200, 0.999663603510426490, 0.999664899064432680, 0.999666192119276650, 0.999667482674955200, 0.999668770731464980, 0.999670056288802790, 0.999671339346965500, +0.999672619905949910, 0.999673897965752790, 0.999675173526370920, 0.999676446587800970, 0.999677717150040060, 0.999678985213084850, 0.999680250776932120, 0.999681513841578770, +0.999682774407021580, 0.999684032473257540, 0.999685288040283450, 0.999686541108096070, 0.999687791676692310, 0.999689039746069150, 0.999690285316223390, 0.999691528387151810, +0.999692768958851510, 0.999694007031319280, 0.999695242604552000, 0.999696475678546690, 0.999697706253300120, 0.999698934328809300, 0.999700159905071110, 0.999701382982082550, +0.999702603559840530, 0.999703821638342040, 0.999705037217583970, 0.999706250297563210, 0.999707460878277000, 0.999708668959721990, 0.999709874541895420, 0.999711077624794050, +0.999712278208415130, 0.999713476292755420, 0.999714671877812040, 0.999715864963582000, 0.999717055550062180, 0.999718243637249810, 0.999719429225141900, 0.999720612313735320, +0.999721792903027320, 0.999722970993014770, 0.999724146583694680, 0.999725319675064390, 0.999726490267120680, 0.999727658359860880, 0.999728823953281890, 0.999729987047380810, +0.999731147642154760, 0.999732305737600860, 0.999733461333716100, 0.999734614430497830, 0.999735765027942920, 0.999736913126048620, 0.999738058724812140, 0.999739201824230370, +0.999740342424300650, 0.999741480525020100, 0.999742616126385820, 0.999743749228395040, 0.999744879831044870, 0.999746007934332440, 0.999747133538255060, 0.999748256642809860, +0.999749377247993950, 0.999750495353804670, 0.999751610960239120, 0.999752724067294540, 0.999753834674968140, 0.999754942783257160, 0.999756048392158920, 0.999757151501670440, +0.999758252111789040, 0.999759350222512170, 0.999760445833836830, 0.999761538945760360, 0.999762629558279990, 0.999763717671393160, 0.999764803285096980, 0.999765886399388900, +0.999766967014265930, 0.999768045129725610, 0.999769120745765290, 0.999770193862381970, 0.999771264479573320, 0.999772332597336440, 0.999773398215668800, 0.999774461334567600, +0.999775521954030300, 0.999776580074054120, 0.999777635694636510, 0.999778688815774810, 0.999779739437466450, 0.999780787559708670, 0.999781833182498910, 0.999782876305834620, +0.999783916929713130, 0.999784955054131900, 0.999785990679088240, 0.999787023804579510, 0.999788054430603370, 0.999789082557157040, 0.999790108184237970, 0.999791131311843610, +0.999792151939971510, 0.999793170068619010, 0.999794185697783560, 0.999795198827462590, 0.999796209457653680, 0.999797217588354270, 0.999798223219561800, 0.999799226351273720, +0.999800226983487580, 0.999801225116200950, 0.999802220749411270, 0.999803213883115990, 0.999804204517312670, 0.999805192651998850, 0.999806178287172000, 0.999807161422829770, +0.999808142058969620, 0.999809120195589100, 0.999810095832685760, 0.999811068970257290, 0.999812039608301010, 0.999813007746814700, 0.999813973385795920, 0.999814936525242120, +0.999815897165150960, 0.999816855305520110, 0.999817810946347140, 0.999818764087629600, 0.999819714729365150, 0.999820662871551470, 0.999821608514186110, 0.999822551657266740, +0.999823492300790930, 0.999824430444756440, 0.999825366089160840, 0.999826299234001900, 0.999827229879277190, 0.999828158024984370, 0.999829083671121110, 0.999830006817685190, +0.999830927464674280, 0.999831845612086050, 0.999832761259918160, 0.999833674408168390, 0.999834585056834420, 0.999835493205914030, 0.999836398855404870, 0.999837302005304740, +0.999838202655611300, 0.999839100806322430, 0.999839996457435820, 0.999840889608949120, 0.999841780260860240, 0.999842668413166940, 0.999843554065866890, 0.999844437218958100, +0.999845317872438130, 0.999846196026304870, 0.999847071680556090, 0.999847944835189680, 0.999848815490203320, 0.999849683645595010, 0.999850549301362520, 0.999851412457503530, +0.999852273114016140, 0.999853131270898030, 0.999853986928147090, 0.999854840085761200, 0.999855690743738150, 0.999856538902075930, 0.999857384560772330, 0.999858227719825240, +0.999859068379232660, 0.999859906538992370, 0.999860742199102260, 0.999861575359560330, 0.999862406020364470, 0.999863234181512680, 0.999864059843002640, 0.999864883004832560, +0.999865703667000340, 0.999866521829503750, 0.999867337492340910, 0.999868150655509600, 0.999868961319008040, 0.999869769482834010, 0.999870575146985630, 0.999871378311460780, +0.999872178976257460, 0.999872977141373800, 0.999873772806807560, 0.999874565972556970, 0.999875356638619930, 0.999876144804994540, 0.999876930471678690, 0.999877713638670620, +0.999878494305968200, 0.999879272473569560, 0.999880048141472800, 0.999880821309675820, 0.999881591978176830, 0.999882360146973960, 0.999883125816065090, 0.999883888985448440, +0.999884649655122030, 0.999885407825083950, 0.999886163495332440, 0.999886916665865490, 0.999887667336681220, 0.999888415507777850, 0.999889161179153390, 0.999889904350806050, +0.999890645022733950, 0.999891383194935200, 0.999892118867408030, 0.999892852040150550, 0.999893582713160980, 0.999894310886437430, 0.999895036559978020, 0.999895759733781090, +0.999896480407844850, 0.999897198582167300, 0.999897914256746790, 0.999898627431581420, 0.999899338106669530, 0.999900046282009350, 0.999900751957598980, 0.999901455133436760, +0.999902155809520910, 0.999902853985849660, 0.999903549662421340, 0.999904242839234070, 0.999904933516286180, 0.999905621693576000, 0.999906307371101750, 0.999906990548861780, +0.999907671226854310, 0.999908349405077670, 0.999909025083530080, 0.999909698262209990, 0.999910368941115620, 0.999911037120245430, 0.999911702799597510, 0.999912365979170440, +0.999913026658962420, 0.999913684838971810, 0.999914340519197030, 0.999914993699636320, 0.999915644380288130, 0.999916292561150890, 0.999916938242222940, 0.999917581423502620, +0.999918222104988370, 0.999918860286678530, 0.999919495968571550, 0.999920129150665750, 0.999920759832959800, 0.999921388015451830, 0.999922013698140380, 0.999922636881023900, +0.999923257564100940, 0.999923875747369740, 0.999924491430828840, 0.999925104614476700, 0.999925715298311870, 0.999926323482332680, 0.999926929166537800, 0.999927532350925460, +0.999928133035494330, 0.999928731220242950, 0.999929326905169670, 0.999929920090273040, 0.999930510775551620, 0.999931098961003960, 0.999931684646628630, 0.999932267832423950, +0.999932848518388710, 0.999933426704521230, 0.999934002390820310, 0.999934575577284270, 0.999935146263911890, 0.999935714450701620, 0.999936280137652010, 0.999936843324761740, +0.999937404012029350, 0.999937962199453520, 0.999938517887032700, 0.999939071074765650, 0.999939621762650830, 0.999940169950687020, 0.999940715638872770, 0.999941258827206750, +0.999941799515687510, 0.999942337704313840, 0.999942873393084410, 0.999943406581997650, 0.999943937271052460, 0.999944465460247400, 0.999944991149581130, 0.999945514339052430, +0.999946035028659970, 0.999946553218402310, 0.999947068908278450, 0.999947582098286820, 0.999948092788426220, 0.999948600978695420, 0.999949106669093090, 0.999949609859618000, +0.999950110550268830, 0.999950608741044470, 0.999951104431943570, 0.999951597622964930, 0.999952088314107200, 0.999952576505369390, 0.999953062196750060, 0.999953545388248100, +0.999954026079862280, 0.999954504271591380, 0.999954979963434190, 0.999955453155389580, 0.999955923847456350, 0.999956392039633270, 0.999956857731919220, 0.999957320924313000, +0.999957781616813590, 0.999958239809419670, 0.999958695502130120, 0.999959148694943840, 0.999959599387859720, 0.999960047580876530, 0.999960493273993280, 0.999960936467208740, +0.999961377160521910, 0.999961815353931690, 0.999962251047436860, 0.999962684241036400, 0.999963114934729220, 0.999963543128514320, 0.999963968822390580, 0.999964392016356780, +0.999964812710412150, 0.999965230904555470, 0.999965646598785620, 0.999966059793101710, 0.999966470487502650, 0.999966878681987410, 0.999967284376554910, 0.999967687571204240, +0.999968088265934420, 0.999968486460744320, 0.999968882155633070, 0.999969275350599540, 0.999969666045642860, 0.999970054240762020, 0.999970439935956020, 0.999970823131223870, +0.999971203826564680, 0.999971582021977560, 0.999971957717461500, 0.999972330913015410, 0.999972701608638600, 0.999973069804329980, 0.999973435500088770, 0.999973798695913850, +0.999974159391804560, 0.999974517587759790, 0.999974873283778760, 0.999975226479860590, 0.999975577176004270, 0.999975925372209030, 0.999976271068473980, 0.999976614264798220, +0.999976954961181000, 0.999977293157621410, 0.999977628854118450, 0.999977962050671580, 0.999978292747279670, 0.999978620943942080, 0.999978946640658010, 0.999979269837426470, +0.999979590534246790, 0.999979908731118080, 0.999980224428039690, 0.999980537625010710, 0.999980848322030380, 0.999981156519097910, 0.999981462216212650, 0.999981765413373580, +0.999982066110580270, 0.999982364307831610, 0.999982660005127140, 0.999982953202466000, 0.999983243899847500, 0.999983532097270870, 0.999983817794735440, 0.999984100992240440, +0.999984381689785210, 0.999984659887369070, 0.999984935584991130, 0.999985208782650960, 0.999985479480347770, 0.999985747678080910, 0.999986013375849580, 0.999986276573653240, +0.999986537271491230, 0.999986795469362980, 0.999987051167267600, 0.999987304365204670, 0.999987555063173380, 0.999987803261173310, 0.999988048959203680, 0.999988292157263920, +0.999988532855353500, 0.999988771053471730, 0.999989006751617950, 0.999989239949791720, 0.999989470647992370, 0.999989698846219350, 0.999989924544472110, 0.999990147742750080, +0.999990368441052600, 0.999990586639379230, 0.999990802337729410, 0.999991015536102590, 0.999991226234498210, 0.999991434432915720, 0.999991640131354780, 0.999991843329814610, +0.999992044028294890, 0.999992242226795060, 0.999992437925314560, 0.999992631123853060, 0.999992821822409890, 0.999993010020984730, 0.999993195719577120, 0.999993378918186400, +0.999993559616812240, 0.999993737815454200, 0.999993913514111820, 0.999994086712784670, 0.999994257411472300, 0.999994425610174260, 0.999994591308890230, 0.999994754507619650, +0.999994915206362190, 0.999995073405117510, 0.999995229103885050, 0.999995382302664600, 0.999995533001455610, 0.999995681200257840, 0.999995826899070850, 0.999995970097894320, +0.999996110796727900, 0.999996248995571160, 0.999996384694423760, 0.999996517893285470, 0.999996648592155870, 0.999996776791034600, 0.999996902489921460, 0.999997025688815990, +0.999997146387717970, 0.999997264586627080, 0.999997380285543080, 0.999997493484465540, 0.999997604183394340, 0.999997712382329150, 0.999997818081269640, 0.999997921280215580, +0.999998021979166760, 0.999998120178122840, 0.999998215877083600, 0.999998309076048920, 0.999998399775018370, 0.999998487973991820, 0.999998573672969180, 0.999998656871950000, +0.999998737570934160, 0.999998815769921560, 0.999998891468911850, 0.999998964667904940, 0.999999035366900600, 0.999999103565898610, 0.999999169264898960, 0.999999232463901320, +0.999999293162905700, 0.999999351361911760, 0.999999407060919500, 0.999999460259928700, 0.999999510958939240, 0.999999559157951020, 0.999999604856963820, 0.999999648055977740, +0.999999688754992460, 0.999999726954007960, 0.999999762653024150, 0.999999795852040910, 0.999999826551058240, 0.999999854750076020, 0.999999880449094050, 0.999999903648112530, +0.999999924347131140, 0.999999942546149990, 0.999999958245168960, 0.999999971444187950, 0.999999982143207180, 0.999999990342226310, 0.999999996041245560, 0.999999999240264840, +0.999999999939284010, 0.999999998138303310, 0.999999993837322520, 0.999999987036341740, 0.999999977735361090, 0.999999965934380450, 0.999999951633399830, 0.999999934832419330, +0.999999915531439080, 0.999999893730459060, 0.999999869429479270, 0.999999842628499720, 0.999999813327520640, 0.999999781526542010, 0.999999747225563950, 0.999999710424586570, +0.999999671123609770, 0.999999629322633980, 0.999999585021658980, 0.999999538220684990, 0.999999488919712240, 0.999999437118740730, 0.999999382817770680, 0.999999326016802190, +0.999999266715835280, 0.999999204914870270, 0.999999140613907270, 0.999999073812946390, 0.999999004511987750, 0.999998932711031690, 0.999998858410078300, 0.999998781609127700, +0.999998702308180220, 0.999998620507235980, 0.999998536206295090, 0.999998449405357980, 0.999998360104424670, 0.999998268303495470, 0.999998174002570630, 0.999998077201650350, +0.999997977900734860, 0.999997876099824490, 0.999997771798919350, 0.999997664998019790, 0.999997555697126120, 0.999997443896238570, 0.999997329595357360, 0.999997212794482840, +0.999997093493615210, 0.999996971692754920, 0.999996847391902310, 0.999996720591057380, 0.999996591290220780, 0.999996459489392640, 0.999996325188573400, 0.999996188387763390, +0.999996049086962820, 0.999995907286172160, 0.999995762985391720, 0.999995616184621850, 0.999995466883862980, 0.999995315083115450, 0.999995160782379600, 0.999995003981655860, +0.999994844680944570, 0.999994682880246290, 0.999994518579561230, 0.999994351778889850, 0.999994182478232570, 0.999994010677589860, 0.999993836376962150, 0.999993659576349890, +0.999993480275753410, 0.999993298475173260, 0.999993114174609790, 0.999992927374063640, 0.999992738073535170, 0.999992546273024810, 0.999992351972533110, 0.999992155172060530, +0.999991955871607500, 0.999991754071174580, 0.999991549770762320, 0.999991342970371180, 0.999991133670001700, 0.999990921869654440, 0.999990707569329840, 0.999990490769028350, +0.999990271468750750, 0.999990049668497470, 0.999989825368269080, 0.999989598568066020, 0.999989369267889060, 0.999989137467738650, 0.999988903167615460, 0.999988666367519930, +0.999988427067452720, 0.999988185267414510, 0.999987940967405840, 0.999987694167427280, 0.999987444867479480, 0.999987193067563120, 0.999986938767678750, 0.999986681967826920, +0.999986422668008520, 0.999986160868224010, 0.999985896568474140, 0.999985629768759490, 0.999985360469080820, 0.999985088669438690, 0.999984814369833890, 0.999984537570267060, +0.999984258270738780, 0.999983976471249920, 0.999983692171801160, 0.999983405372393160, 0.999983116073026590, 0.999982824273702330, 0.999982529974420940, 0.999982233175183200, +0.999981933875989880, 0.999981632076841760, 0.999981327777739630, 0.999981020978684020, 0.999980711679675950, 0.999980399880716190, 0.999980085581805290, 0.999979768782944260, +0.999979449484133750, 0.999979127685374560, 0.999978803386667670, 0.999978476588013750, 0.999978147289413590, 0.999977815490868170, 0.999977481192378060, 0.999977144393944360, +0.999976805095567740, 0.999976463297249100, 0.999976118998989420, 0.999975772200789260, 0.999975422902649850, 0.999975071104571730, 0.999974716806556030, 0.999974360008603510, +0.999974000710715070, 0.999973638912891700, 0.999973274615134190, 0.999972907817443410, 0.999972538519820490, 0.999972166722266190, 0.999971792424781400, 0.999971415627367240, +0.999971036330024490, 0.999970654532754130, 0.999970270235557180, 0.999969883438434510, 0.999969494141387140, 0.999969102344416050, 0.999968708047522140, 0.999968311250706510, +0.999967911953970170, 0.999967510157314000, 0.999967105860739000, 0.999966699064246290, 0.999966289767836860, 0.999965877971511600, 0.999965463675271730, 0.999965046879118250, +0.999964627583052050, 0.999964205787074350, 0.999963781491186030, 0.999963354695388440, 0.999962925399682350, 0.999962493604068970, 0.999962059308549310, 0.999961622513124480, +0.999961183217795700, 0.999960741422563860, 0.999960297127430290, 0.999959850332395870, 0.999959401037461840, 0.999958949242629290, 0.999958494947899460, 0.999958038153273330, +0.999957578858752140, 0.999957117064336990, 0.999956652770028990, 0.999956185975829470, 0.999955716681739330, 0.999955244887760000, 0.999954770593892590, 0.999954293800138230, +0.999953814506498120, 0.999953332712973490, 0.999952848419565440, 0.999952361626275320, 0.999951872333104340, 0.999951380540053610, 0.999950886247124470, 0.999950389454318130, +0.999949890161635820, 0.999949388369078760, 0.999948884076648280, 0.999948377284345600, 0.999947867992171830, 0.999947356200128530, 0.999946841908216810, 0.999946325116438000, +0.999945805824793310, 0.999945284033284200, 0.999944759741911770, 0.999944232950677580, 0.999943703659582630, 0.999943171868628580, 0.999942637577816540, 0.999942100787147850, +0.999941561496624050, 0.999941019706246270, 0.999940475416015940, 0.999939928625934390, 0.999939379336002960, 0.999938827546223210, 0.999938273256596340, 0.999937716467123820, +0.999937157177806960, 0.999936595388647210, 0.999936031099646020, 0.999935464310804710, 0.999934895022124850, 0.999934323233607650, 0.999933748945254660, 0.999933172157067230, +0.999932592869046900, 0.999932011081195120, 0.999931426793513320, 0.999930840006002960, 0.999930250718665480, 0.999929658931502430, 0.999929064644515140, 0.999928467857705280, +0.999927868571074190, 0.999927266784623400, 0.999926662498354490, 0.999926055712268890, 0.999925446426368270, 0.999924834640653960, 0.999924220355127510, 0.999923603569790490, +0.999922984284644540, 0.999922362499691130, 0.999921738214931800, 0.999921111430368100, 0.999920482146001710, 0.999919850361833950, 0.999919216077866710, 0.999918579294101440, +0.999917940010539570, 0.999917298227183000, 0.999916653944033060, 0.999916007161091640, 0.999915357878360060, 0.999914706095840210, 0.999914051813533540, 0.999913395031441720, +0.999912735749566410, 0.999912073967909270, 0.999911409686471960, 0.999910742905256060, 0.999910073624263430, 0.999909401843495530, 0.999908727562954120, 0.999908050782640890, +0.999907371502557600, 0.999906689722705800, 0.999906005443087280, 0.999905318663703800, 0.999904629384557040, 0.999903937605648660, 0.999903243326980440, 0.999902546548554150, +0.999901847270371460, 0.999901145492434140, 0.999900441214743970, 0.999899734437302730, 0.999899025160112090, 0.999898313383173920, 0.999897599106490010, 0.999896882330062020, +0.999896163053891950, 0.999895441277981360, 0.999894717002332230, 0.999893990226946250, 0.999893260951825290, 0.999892529176971250, 0.999891794902385780, 0.999891058128070890, +0.999890318854028350, 0.999889577080260050, 0.999888832806767770, 0.999888086033553390, 0.999887336760618920, 0.999886584987966010, 0.999885830715596560, 0.999885073943512670, +0.999884314671716010, 0.999883552900208580, 0.999882788628992270, 0.999882021858069070, 0.999881252587440650, 0.999880480817109230, 0.999879706547076590, 0.999878929777344600, +0.999878150507915400, 0.999877368738790740, 0.999876584469972740, 0.999875797701463180, 0.999875008433264270, 0.999874216665377680, 0.999873422397805630, 0.999872625630550020, +0.999871826363612830, 0.999871024596996060, 0.999870220330701830, 0.999869413564731910, 0.999868604299088530, 0.999867792533773670, 0.999866978268789230, 0.999866161504137430, +0.999865342239820270, 0.999864520475839620, 0.999863696212197730, 0.999862869448896570, 0.999862040185938270, 0.999861208423324930, 0.999860374161058550, 0.999859537399141130, +0.999858698137575000, 0.999857856376362040, 0.999857012115504480, 0.999856165355004320, 0.999855316094863780, 0.999854464335084960, 0.999853610075669970, 0.999852753316621050, +0.999851894057940170, 0.999851032299629460, 0.999850168041691360, 0.999849301284127740, 0.999848432026940850, 0.999847560270132880, 0.999846686013705970, 0.999845809257662420, +0.999844930002004360, 0.999844048246734010, 0.999843163991853470, 0.999842277237364960, 0.999841387983270820, 0.999840496229573270, 0.999839601976274420, 0.999838705223376590, +0.999837805970882010, 0.999836904218792790, 0.999835999967111480, 0.999835093215840080, 0.999834183964980920, 0.999833272214536330, 0.999832357964508640, 0.999831441214899970, +0.999830521965712760, 0.999829600216949220, 0.999828675968611580, 0.999827749220702390, 0.999826819973223760, 0.999825888226178020, 0.999824953979567720, 0.999824017233394870, +0.999823077987662120, 0.999822136242371600, 0.999821191997525730, 0.999820245253126960, 0.999819296009177520, 0.999818344265679840, 0.999817390022636250, 0.999816433280049210, +0.999815474037921150, 0.999814512296254400, 0.999813548055051290, 0.999812581314314390, 0.999811612074046010, 0.999810640334248600, 0.999809666094924500, 0.999808689356076360, +0.999807710117706420, 0.999806728379817320, 0.999805744142411300, 0.999804757405490910, 0.999803768169058690, 0.999802776433116990, 0.999801782197668350, 0.999800785462715340, +0.999799786228260270, 0.999798784494305810, 0.999797780260854310, 0.999796773527908410, 0.999795764295470570, 0.999794752563543330, 0.999793738332129260, 0.999792721601230780, +0.999791702370850470, 0.999790680640990970, 0.999789656411654740, 0.999788629682844320, 0.999787600454562390, 0.999786568726811380, 0.999785534499594060, 0.999784497772912890, +0.999783458546770420, 0.999782416821169310, 0.999781372596112110, 0.999780325871601590, 0.999779276647640210, 0.999778224924230630, 0.999777170701375510, 0.999776113979077400, +0.999775054757339080, 0.999773993036163100, 0.999772928815552130, 0.999771862095508830, 0.999770792876035870, 0.999769721157136030, 0.999768646938811730, 0.999767570221065880, +0.999766491003901140, 0.999765409287320160, 0.999764325071325620, 0.999763238355920290, 0.999762149141106840, 0.999761057426888140, 0.999759963213266660, 0.999758866500245260, +0.999757767287826840, 0.999756665576013840, 0.999755561364809250, 0.999754454654215750, 0.999753345444236110, 0.999752233734873100, 0.999751119526129610, 0.999750002818008190, +0.999748883610511840, 0.999747761903643230, 0.999746637697405240, 0.999745510991800650, 0.999744381786832230, 0.999743250082502980, 0.999742115878815450, 0.999740979175772760, +0.999739839973377560, 0.999738698271632750, 0.999737554070541210, 0.999736407370105830, 0.999735258170329380, 0.999734106471214860, 0.999732952272764930, 0.999731795574982820, +0.999730636377871070, 0.999729474681432690, 0.999728310485670790, 0.999727143790588020, 0.999725974596187390, 0.999724802902471790, 0.999723628709444310, 0.999722452017107630, +0.999721272825464860, 0.999720091134518870, 0.999718906944272680, 0.999717720254729270, 0.999716531065891530, 0.999715339377762470, 0.999714145190345070, 0.999712948503642230, +0.999711749317657160, 0.999710547632392640, 0.999709343447851780, 0.999708136764037470, 0.999706927580952920, 0.999705715898601020, 0.999704501716984770, 0.999703285036107280, +0.999702065855971660, 0.999700844176580890, 0.999699619997937880, 0.999698393320045950, 0.999697164142907990, 0.999695932466527100, 0.999694698290906400, 0.999693461616048880, +0.999692222441957770, 0.999690980768636160, 0.999689736596087060, 0.999688489924313580, 0.999687240753318940, 0.999685989083106130, 0.999684734913678370, 0.999683478245038780, +0.999682219077190460, 0.999680957410136630, 0.999679693243880400, 0.999678426578424980, 0.999677157413773390, 0.999675885749929050, 0.999674611586894860, 0.999673334924674250, +0.999672055763270230, 0.999670774102686120, 0.999669489942925040, 0.999668203283990200, 0.999666914125884930, 0.999665622468612350, 0.999664328312175670, 0.999663031656578220, +0.999661732501823220, 0.999660430847913780, 0.999659126694853350, 0.999657820042645140, 0.999656510891292260, 0.999655199240798150, 0.999653885091166040, 0.999652568442399250, +0.999651249294501110, 0.999649927647474730, 0.999648603501323560, 0.999647276856050930, 0.999645947711660040, 0.999644616068154250, 0.999643281925536980, 0.999641945283811560, +0.999640606142981230, 0.999639264503049300, 0.999637920364019330, 0.999636573725894540, 0.999635224588678260, 0.999633872952373940, 0.999632518816985010, 0.999631162182514690, +0.999629803048966540, 0.999628441416343770, 0.999627077284649950, 0.999625710653888500, 0.999624341524062650, 0.999622969895176070, 0.999621595767232090, 0.999620219140234020, +0.999618840014185440, 0.999617458389089770, 0.999616074264950360, 0.999614687641770860, 0.999613298519554610, 0.999611906898305150, 0.999610512778025930, 0.999609116158720390, +0.999607717040392090, 0.999606315423044460, 0.999604911306681050, 0.999603504691305430, 0.999602095576920920, 0.999600683963531300, 0.999599269851139890, 0.999597853239750370, +0.999596434129366160, 0.999595012519990830, 0.999593588411628040, 0.999592161804281230, 0.999590732697954070, 0.999589301092650100, 0.999587866988372880, 0.999586430385125850, +0.999584991282912890, 0.999583549681737460, 0.999582105581602990, 0.999580658982513360, 0.999579209884472130, 0.999577758287482850, 0.999576304191549190, 0.999574847596674700, +0.999573388502863150, 0.999571926910118090, 0.999570462818443200, 0.999568996227842230, 0.999567527138318760, 0.999566055549876430, 0.999564581462518920, 0.999563104876250110, +0.999561625791073440, 0.999560144206992680, 0.999558660124011510, 0.999557173542133800, 0.999555684461363110, 0.999554192881703220, 0.999552698803157890, 0.999551202225730790, +0.999549703149425590, 0.999548201574246290, 0.999546697500196310, 0.999545190927279780, 0.999543681855500130, 0.999542170284861360, 0.999540656215367140, 0.999539139647021240, +0.999537620579827530, 0.999536099013789700, 0.999534574948911740, 0.999533048385197300, 0.999531519322650160, 0.999529987761274330, 0.999528453701073460, 0.999526917142051440, +0.999525378084212270, 0.999523836527559490, 0.999522292472097230, 0.999520745917829130, 0.999519196864759210, 0.999517645312891330, 0.999516091262229400, 0.999514534712777180, +0.999512975664538560, 0.999511414117517540, 0.999509850071718000, 0.999508283527143830, 0.999506714483799020, 0.999505142941687350, 0.999503568900812820, 0.999501992361179430, +0.999500413322790940, 0.999498831785651460, 0.999497247749765010, 0.999495661215135330, 0.999494072181766560, 0.999492480649662560, 0.999490886618827350, 0.999489290089264900, +0.999487691060979340, 0.999486089533974440, 0.999484485508254420, 0.999482878983823150, 0.999481269960684650, 0.999479658438843010, 0.999478044418302130, 0.999476427899066210, +0.999474808881139270, 0.999473187364525280, 0.999471563349228260, 0.999469936835252430, 0.999468307822601650, 0.999466676311280170, 0.999465042301291960, 0.999463405792641150, +0.999461766785331940, 0.999460125279368230, 0.999458481274754120, 0.999456834771493940, 0.999455185769591580, 0.999453534269051370, 0.999451880269877190, 0.999450223772073380, +0.999448564775644030, 0.999446903280593270, 0.999445239286925190, 0.999443572794644020, 0.999441903803753970, 0.999440232314259160, 0.999438558326163680, 0.999436881839471880, +0.999435202854187850, 0.999433521370315820, 0.999431837387860010, 0.999430150906824630, 0.999428461927213800, 0.999426770449031830, 0.999425076472282960, 0.999423379996971390, +0.999421681023101360, 0.999419979550677180, 0.999418275579703090, 0.999416569110183170, 0.999414860142121890, 0.999413148675523440, 0.999411434710392180, 0.999409718246732300, +0.999407999284548150, 0.999406277823843950, 0.999404553864624120, 0.999402827406892790, 0.999401098450654500, 0.999399366995913470, 0.999397633042673930, 0.999395896590940410, +0.999394157640717040, 0.999392416192008360, 0.999390672244818590, 0.999388925799152170, 0.999387176855013440, 0.999385425412406820, 0.999383671471336550, 0.999381915031807180, +0.999380156093822910, 0.999378394657388310, 0.999376630722507820, 0.999374864289185650, 0.999373095357426240, 0.999371323927234270, 0.999369549998613830, 0.999367773571569580, +0.999365994646105980, 0.999364213222227350, 0.999362429299938130, 0.999360642879242870, 0.999358853960146010, 0.999357062542652000, 0.999355268626765270, 0.999353472212490490, +0.999351673299831990, 0.999349871888794320, 0.999348067979381920, 0.999346261571599340, 0.999344452665451130, 0.999342641260941860, 0.999340827358075940, 0.999339010956857950, +0.999337192057292430, 0.999335370659383940, 0.999333546763137020, 0.999331720368556110, 0.999329891475646100, 0.999328060084411220, 0.999326226194856230, 0.999324389806985680, +0.999322550920804240, 0.999320709536316350, 0.999318865653526680, 0.999317019272439770, 0.999315170393060390, 0.999313319015393110, 0.999311465139442580, 0.999309608765213350, +0.999307749892709980, 0.999305888521937360, 0.999304024652899910, 0.999302158285602540, 0.999300289420049670, 0.999298418056246200, 0.999296544194196560, 0.999294667833905640, +0.999292788975377990, 0.999290907618618380, 0.999289023763631490, 0.999287137410422080, 0.999285248558994810, 0.999283357209354350, 0.999281463361505580, 0.999279567015453170, +0.999277668171201780, 0.999275766828756300, 0.999273862988121380, 0.999271956649301680, 0.999270047812302220, 0.999268136477127640, 0.999266222643782620, 0.999264306312272140, +0.999262387482600880, 0.999260466154773600, 0.999258542328795190, 0.999256616004670420, 0.999254687182404180, 0.999252755862001130, 0.999250822043466270, 0.999248885726804260, +0.999246946912020100, 0.999245005599118550, 0.999243061788104510, 0.999241115478982760, 0.999239166671758270, 0.999237215366435840, 0.999235261563020450, 0.999233305261516770, +0.999231346461929900, 0.999229385164264630, 0.999227421368525940, 0.999225455074718720, 0.999223486282847850, 0.999221514992918220, 0.999219541204934840, 0.999217564918902570, +0.999215586134826420, 0.999213604852711270, 0.999211621072562230, 0.999209634794383960, 0.999207646018181790, 0.999205654743960390, 0.999203660971724860, 0.999201664701480200, +0.999199665933231280, 0.999197664666983340, 0.999195660902741150, 0.999193654640509910, 0.999191645880294410, 0.999189634622099860, 0.999187620865931270, 0.999185604611793510, +0.999183585859691800, 0.999181564609631150, 0.999179540861616530, 0.999177514615653070, 0.999175485871745870, 0.999173454629899930, 0.999171420890120340, 0.999169384652412230, +0.999167345916780690, 0.999165304683230730, 0.999163260951767440, 0.999161214722396160, 0.999159165995121780, 0.999157114769949390, 0.999155061046884340, 0.999153004825931500, +0.999150946107096320, 0.999148884890383670, 0.999146821175798780, 0.999144754963346980, 0.999142686253033150, 0.999140615044862620, 0.999138541338840610, 0.999136465134972230, +0.999134386433262690, 0.999132305233717210, 0.999130221536340900, 0.999128135341139090, 0.999126046648116880, 0.999123955457279610, 0.999121861768632380, 0.999119765582180630, +0.999117666897929360, 0.999115565715884000, 0.999113462036049670, 0.999111355858431690, 0.999109247183035290, 0.999107136009865780, 0.999105022338928510, 0.999102906170228680, +0.999100787503771510, 0.999098666339562350, 0.999096542677606610, 0.999094416517909530, 0.999092287860476320, 0.999090156705312430, 0.999088023052423170, 0.999085886901813770, +0.999083748253489780, 0.999081607107456300, 0.999079463463718900, 0.999077317322282780, 0.999075168683153380, 0.999073017546336040, 0.999070863911836190, 0.999068707779659170, +0.999066549149810410, 0.999064388022295250, 0.999062224397119110, 0.999060058274287450, 0.999057889653805600, 0.999055718535679090, 0.999053544919913160, 0.999051368806513460, +0.999049190195485330, 0.999047009086834300, 0.999044825480565610, 0.999042639376684920, 0.999040450775197650, 0.999038259676109150, 0.999036066079425080, 0.999033869985150870, +0.999031671393291960, 0.999029470303853920, 0.999027266716842170, 0.999025060632262150, 0.999022852050119650, 0.999020640970419870, 0.999018427393168600, 0.999016211318371260, +0.999013992746033310, 0.999011771676160510, 0.999009548108758190, 0.999007322043831910, 0.999005093481387440, 0.999002862421430220, 0.999000628863965900, 0.998998392808999940, +0.998996154256537980, 0.998993913206585700, 0.998991669659148540, 0.998989423614232260, 0.998987175071842430, 0.998984924031984690, 0.998982670494664600, 0.998980414459887830, +0.998978155927660040, 0.998975894897986880, 0.998973631370873920, 0.998971365346326910, 0.998969096824351530, 0.998966825804953440, 0.998964552288138190, 0.998962276273911650, +0.998959997762279280, 0.998957716753247070, 0.998955433246820460, 0.998953147243005320, 0.998950858741807330, 0.998948567743232150, 0.998946274247285550, 0.998943978253973300, +0.998941679763301060, 0.998939378775274610, 0.998937075289899830, 0.998934769307182280, 0.998932460827127830, 0.998930149849742150, 0.998927836375031130, 0.998925520403000640, +0.998923201933656250, 0.998920880967003820, 0.998918557503049250, 0.998916231541798210, 0.998913903083256670, 0.998911572127430310, 0.998909238674325130, 0.998906902723946780, +0.998904564276301140, 0.998902223331394110, 0.998899879889231570, 0.998897533949819280, 0.998895185513163140, 0.998892834579269140, 0.998890481148142940, 0.998888125219790650, +0.998885766794217920, 0.998883405871430870, 0.998881042451435270, 0.998878676534237010, 0.998876308119842180, 0.998873937208256460, 0.998871563799486050, 0.998869187893536630, +0.998866809490414180, 0.998864428590124810, 0.998862045192674300, 0.998859659298068750, 0.998857270906313930, 0.998854880017416070, 0.998852486631380930, 0.998850090748214630, +0.998847692367923030, 0.998845291490512270, 0.998842888115988200, 0.998840482244356950, 0.998838073875624510, 0.998835663009796980, 0.998833249646880140, 0.998830833786880200, +0.998828415429803270, 0.998825994575655240, 0.998823571224442210, 0.998821145376170280, 0.998818717030845460, 0.998816286188473850, 0.998813852849061550, 0.998811417012614560, +0.998808978679139090, 0.998806537848641150, 0.998804094521126840, 0.998801648696602370, 0.998799200375073750, 0.998796749556547180, 0.998794296241028560, 0.998791840428524310, +0.998789382119040450, 0.998786921312583180, 0.998784458009158600, 0.998781992208772840, 0.998779523911432100, 0.998777053117142600, 0.998774579825910340, 0.998772104037741750, +0.998769625752642940, 0.998767144970619910, 0.998764661691679210, 0.998762175915826720, 0.998759687643068770, 0.998757196873411690, 0.998754703606861580, 0.998752207843424670, +0.998749709583107270, 0.998747208825915610, 0.998744705571856020, 0.998742199820934600, 0.998739691573157560, 0.998737180828531360, 0.998734667587062310, 0.998732151848756520, +0.998729633613620330, 0.998727112881660050, 0.998724589652882020, 0.998722063927292570, 0.998719535704897910, 0.998717004985704370, 0.998714471769718280, 0.998711936056946080, +0.998709397847394100, 0.998706857141068550, 0.998704313937975870, 0.998701768238122400, 0.998699220041514570, 0.998696669348158590, 0.998694116158061030, 0.998691560471228090, +0.998689002287666330, 0.998686441607382070, 0.998683878430381640, 0.998681312756671490, 0.998678744586258160, 0.998676173919147870, 0.998673600755347170, 0.998671025094862500, +0.998668446937700290, 0.998665866283867000, 0.998663283133368940, 0.998660697486212780, 0.998658109342404730, 0.998655518701951460, 0.998652925564859410, 0.998650329931135120, +0.998647731800784920, 0.998645131173815480, 0.998642528050233120, 0.998639922430044400, 0.998637314313255970, 0.998634703699874170, 0.998632090589905760, 0.998629474983356970, +0.998626856880234560, 0.998624236280545090, 0.998621613184294880, 0.998618987591490700, 0.998616359502139010, 0.998613728916246560, 0.998611095833819680, 0.998608460254865050, +0.998605822179389310, 0.998603181607399030, 0.998600538538900740, 0.998597892973901110, 0.998595244912406700, 0.998592594354424270, 0.998589941299960370, 0.998587285749021560, +0.998584627701614600, 0.998581967157745940, 0.998579304117422460, 0.998576638580650710, 0.998573970547437350, 0.998571300017789150, 0.998568626991712560, 0.998565951469214450, +0.998563273450301490, 0.998560592934980340, 0.998557909923257770, 0.998555224415140330, 0.998552536410634790, 0.998549845909748050, 0.998547152912486640, 0.998544457418857330, +0.998541759428866920, 0.998539058942522040, 0.998536355959829480, 0.998533650480796120, 0.998530942505428620, 0.998528232033733750, 0.998525519065718290, 0.998522803601389120, +0.998520085640752900, 0.998517365183816400, 0.998514642230586500, 0.998511916781069990, 0.998509188835273730, 0.998506458393204510, 0.998503725454869100, 0.998500990020274480, +0.998498252089427220, 0.998495511662334410, 0.998492768739002830, 0.998490023319439370, 0.998487275403650790, 0.998484524991643970, 0.998481772083425920, 0.998479016679003520, +0.998476258778383420, 0.998473498381572730, 0.998470735488578340, 0.998467970099407020, 0.998465202214065870, 0.998462431832561670, 0.998459658954901410, 0.998456883581091970, +0.998454105711140350, 0.998451325345053430, 0.998448542482838210, 0.998445757124501680, 0.998442969270050720, 0.998440178919492330, 0.998437386072833500, 0.998434590730081230, +0.998431792891242510, 0.998428992556324220, 0.998426189725333480, 0.998423384398277270, 0.998420576575162700, 0.998417766255996540, 0.998414953440786010, 0.998412138129538110, +0.998409320322259820, 0.998406500018958360, 0.998403677219640520, 0.998400851924313600, 0.998398024132984400, 0.998395193845660330, 0.998392361062348080, 0.998389525783055070, +0.998386688007788180, 0.998383847736554530, 0.998381004969361330, 0.998378159706215680, 0.998375311947124480, 0.998372461692095150, 0.998369608941134470, 0.998366753694249990, +0.998363895951448480, 0.998361035712737270, 0.998358172978123460, 0.998355307747614270, 0.998352440021216810, 0.998349569798938190, 0.998346697080785610, 0.998343821866766400, +0.998340944156887570, 0.998338063951156430, 0.998335181249580090, 0.998332296052165780, 0.998329408358920810, 0.998326518169852290, 0.998323625484967340, 0.998320730304273480, +0.998317832627777730, 0.998314932455487410, 0.998312029787409850, 0.998309124623552150, 0.998306216963921630, 0.998303306808525530, 0.998300394157371150, 0.998297479010465840, +0.998294561367816800, 0.998291641229431480, 0.998288718595316870, 0.998285793465480630, 0.998282865839929870, 0.998279935718671800, 0.998277003101713970, 0.998274067989063710, +0.998271130380728230, 0.998268190276714980, 0.998265247677031180, 0.998262302581684250, 0.998259354990681640, 0.998256404904030560, 0.998253452321738450, 0.998250497243812870, +0.998247539670260920, 0.998244579601090140, 0.998241617036307870, 0.998238651975921650, 0.998235684419938710, 0.998232714368366580, 0.998229741821212710, 0.998226766778484540, +0.998223789240189400, 0.998220809206334710, 0.998217826676928040, 0.998214841651976830, 0.998211854131488500, 0.998208864115470500, 0.998205871603930370, 0.998202876596875680, +0.998199879094313620, 0.998196879096251990, 0.998193876602698090, 0.998190871613659490, 0.998187864129143730, 0.998184854149158360, 0.998181841673710820, 0.998178826702808660, +0.998175809236459430, 0.998172789274670680, 0.998169766817449950, 0.998166741864804810, 0.998163714416742790, 0.998160684473271550, 0.998157652034398550, 0.998154617100131540, +0.998151579670477850, 0.998148539745445260, 0.998145497325041320, 0.998142452409273570, 0.998139404998149790, 0.998136355091677420, 0.998133302689864220, 0.998130247792717750, +0.998127190400245670, 0.998124130512455630, 0.998121068129355080, 0.998118003250952120, 0.998114935877253970, 0.998111866008268620, 0.998108793644003510, 0.998105718784466520, +0.998102641429665090, 0.998099561579607110, 0.998096479234300230, 0.998093394393752220, 0.998090307057970640, 0.998087217226963360, 0.998084124900737950, 0.998081030079302380, +0.998077932762664100, 0.998074832950830990, 0.998071730643810830, 0.998068625841611380, 0.998065518544240300, 0.998062408751705490, 0.998059296464014590, 0.998056181681175490, +0.998053064403195970, 0.998049944630083670, 0.998046822361846610, 0.998043697598492430, 0.998040570340029130, 0.998037440586464260, 0.998034308337805930, 0.998031173594061680, +0.998028036355239620, 0.998024896621347410, 0.998021754392392930, 0.998018609668384070, 0.998015462449328820, 0.998012312735234830, 0.998009160526110000, 0.998006005821962310, +0.998002848622799530, 0.997999688928629780, 0.997996526739460710, 0.997993362055300310, 0.997990194876156590, 0.997987025202037300, 0.997983853032950560, 0.997980678368904140, +0.997977501209905920, 0.997974321555963990, 0.997971139407086370, 0.997967954763280820, 0.997964767624555330, 0.997961577990918000, 0.997958385862376730, 0.997955191238939500, +0.997951994120614190, 0.997948794507409030, 0.997945592399331780, 0.997942387796390550, 0.997939180698593440, 0.997935971105948340, 0.997932759018463340, 0.997929544436146340, +0.997926327359005550, 0.997923107787048960, 0.997919885720284560, 0.997916661158720460, 0.997913434102364770, 0.997910204551225370, 0.997906972505310570, 0.997903737964628280, +0.997900500929186700, 0.997897261398993820, 0.997894019374057750, 0.997890774854386710, 0.997887527839988690, 0.997884278330871900, 0.997881026327044340, 0.997877771828514230, +0.997874514835289770, 0.997871255347378970, 0.997867993364790040, 0.997864728887531080, 0.997861461915610310, 0.997858192449035950, 0.997854920487815990, 0.997851646031958860, +0.997848369081472560, 0.997845089636365310, 0.997841807696645430, 0.997838523262320920, 0.997835236333400210, 0.997831946909891410, 0.997828654991802620, 0.997825360579142170, +0.997822063671918500, 0.997818764270139600, 0.997815462373813690, 0.997812157982949310, 0.997808851097554350, 0.997805541717637360, 0.997802229843206430, 0.997798915474270020, +0.997795598610836330, 0.997792279252913580, 0.997788957400510210, 0.997785633053634440, 0.997782306212294470, 0.997778976876498860, 0.997775645046255710, 0.997772310721573460, +0.997768973902460550, 0.997765634588925090, 0.997762292780975610, 0.997758948478620340, 0.997755601681867830, 0.997752252390726070, 0.997748900605203830, 0.997745546325309430, +0.997742189551050980, 0.997738830282437260, 0.997735468519476370, 0.997732104262176730, 0.997728737510546800, 0.997725368264595120, 0.997721996524330020, 0.997718622289759940, +0.997715245560893300, 0.997711866337738560, 0.997708484620304150, 0.997705100408598500, 0.997701713702630060, 0.997698324502407470, 0.997694932807938970, 0.997691538619233100, +0.997688141936298510, 0.997684742759143540, 0.997681341087776620, 0.997677936922206410, 0.997674530262441240, 0.997671121108489880, 0.997667709460360760, 0.997664295318062220, +0.997660878681603020, 0.997657459550991720, 0.997654037926236640, 0.997650613807346430, 0.997647187194329770, 0.997643758087195080, 0.997640326485951130, 0.997636892390606270, +0.997633455801169130, 0.997630016717648390, 0.997626575140052710, 0.997623131068390400, 0.997619684502670360, 0.997616235442901120, 0.997612783889091360, 0.997609329841249610, +0.997605873299384440, 0.997602414263504710, 0.997598952733618760, 0.997595488709735580, 0.997592022191863710, 0.997588553180011720, 0.997585081674188360, 0.997581607674402290, +0.997578131180662190, 0.997574652192976810, 0.997571170711354700, 0.997567686735804650, 0.997564200266335520, 0.997560711302955870, 0.997557219845674360, 0.997553725894499870, +0.997550229449441050, 0.997546730510506570, 0.997543229077705320, 0.997539725151046050, 0.997536218730537440, 0.997532709816188250, 0.997529198408007360, 0.997525684506003430, +0.997522168110185240, 0.997518649220561660, 0.997515127837141470, 0.997511603959933430, 0.997508077588946440, 0.997504548724189260, 0.997501017365670760, 0.997497483513399620, +0.997493947167384820, 0.997490408327635030, 0.997486866994159340, 0.997483323166966420, 0.997479776846065260, 0.997476228031464630, 0.997472676723173410, 0.997469122921200490, +0.997465566625554740, 0.997462007836245170, 0.997458446553280530, 0.997454882776669830, 0.997451316506421830, 0.997447747742545630, 0.997444176485050020, 0.997440602733943970, +0.997437026489236380, 0.997433447750936230, 0.997429866519052410, 0.997426282793594020, 0.997422696574569940, 0.997419107861989060, 0.997415516655860480, 0.997411922956193080, +0.997408326762995730, 0.997404728076277670, 0.997401126896047870, 0.997397523222315230, 0.997393917055088730, 0.997390308394377480, 0.997386697240190360, 0.997383083592536580, +0.997379467451425030, 0.997375848816864920, 0.997372227688865130, 0.997368604067434770, 0.997364977952582830, 0.997361349344318530, 0.997357718242650850, 0.997354084647588790, +0.997350448559141680, 0.997346809977318280, 0.997343168902128040, 0.997339525333579720, 0.997335879271682660, 0.997332230716445940, 0.997328579667878580, 0.997324926125989660, +0.997321270090788640, 0.997317611562284380, 0.997313950540485990, 0.997310287025402810, 0.997306621017043930, 0.997302952515418450, 0.997299281520535600, 0.997295608032404580, +0.997291932051034500, 0.997288253576434580, 0.997284572608614140, 0.997280889147582170, 0.997277203193348010, 0.997273514745920740, 0.997269823805309710, 0.997266130371524230, +0.997262434444573410, 0.997258736024466460, 0.997255035111212720, 0.997251331704821280, 0.997247625805301570, 0.997243917412662830, 0.997240206526914250, 0.997236493148065170, +0.997232777276124920, 0.997229058911102580, 0.997225338053007730, 0.997221614701849560, 0.997217888857637290, 0.997214160520380140, 0.997210429690087770, 0.997206696366769400, +0.997202960550434110, 0.997199222241091590, 0.997195481438750920, 0.997191738143421550, 0.997187992355112800, 0.997184244073834100, 0.997180493299594790, 0.997176740032404200, +0.997172984272271860, 0.997169226019206990, 0.997165465273219140, 0.997161702034317530, 0.997157936302511590, 0.997154168077810990, 0.997150397360224930, 0.997146624149762850, +0.997142848446434190, 0.997139070250248390, 0.997135289561215000, 0.997131506379343340, 0.997127720704642840, 0.997123932537123170, 0.997120141876793540, 0.997116348723663730, +0.997112553077742940, 0.997108754939040720, 0.997104954307566740, 0.997101151183330310, 0.997097345566340890, 0.997093537456608230, 0.997089726854141660, 0.997085913758950840, +0.997082098171045320, 0.997078280090434420, 0.997074459517127810, 0.997070636451135030, 0.997066810892465740, 0.997062982841129490, 0.997059152297135710, 0.997055319260493960, +0.997051483731213990, 0.997047645709305370, 0.997043805194777530, 0.997039962187640240, 0.997036116687903040, 0.997032268695575490, 0.997028418210667340, 0.997024565233188160, +0.997020709763147490, 0.997016851800555100, 0.997012991345420540, 0.997009128397753570, 0.997005262957563750, 0.997001395024860740, 0.996997524599654290, 0.996993651681953970, +0.996989776271769660, 0.996985898369110780, 0.996982017973987110, 0.996978135086408420, 0.996974249706384490, 0.996970361833924960, 0.996966471469039380, 0.996962578611737760, +0.996958683262029630, 0.996954785419924770, 0.996950885085432950, 0.996946982258563930, 0.996943076939327490, 0.996939169127733280, 0.996935258823791190, 0.996931346027510990, +0.996927430738902440, 0.996923512957975210, 0.996919592684739180, 0.996915669919204330, 0.996911744661380220, 0.996907816911276720, 0.996903886668903730, 0.996899953934271000, +0.996896018707388420, 0.996892080988265650, 0.996888140776912790, 0.996884198073339610, 0.996880252877555990, 0.996876305189571600, 0.996872355009396530, 0.996868402337040550, +0.996864447172513550, 0.996860489515825400, 0.996856529366986100, 0.996852566726005420, 0.996848601592893350, 0.996844633967659770, 0.996840663850314670, 0.996836691240867820, +0.996832716139329220, 0.996828738545708860, 0.996824758460016720, 0.996820775882262590, 0.996816790812456670, 0.996812803250608610, 0.996808813196728650, 0.996804820650826650, +0.996800825612912500, 0.996796828082996300, 0.996792828061088150, 0.996788825547197830, 0.996784820541335550, 0.996780813043511070, 0.996776803053734730, 0.996772790572016180, +0.996768775598365740, 0.996764758132793420, 0.996760738175309190, 0.996756715725923060, 0.996752690784645230, 0.996748663351485600, 0.996744633426454360, 0.996740601009561410, +0.996736566100817070, 0.996732528700231320, 0.996728488807814280, 0.996724446423575940, 0.996720401547526500, 0.996716354179676080, 0.996712304320034770, 0.996708251968612680, +0.996704197125419910, 0.996700139790466790, 0.996696079963763190, 0.996692017645319450, 0.996687952835145660, 0.996683885533252050, 0.996679815739648590, 0.996675743454345730, +0.996671668677353460, 0.996667591408682000, 0.996663511648341550, 0.996659429396342330, 0.996655344652694560, 0.996651257417408450, 0.996647167690494110, 0.996643075471961850, +0.996638980761822000, 0.996634883560084670, 0.996630783866760180, 0.996626681681858640, 0.996622577005390480, 0.996618469837365790, 0.996614360177794920, 0.996610248026688180, +0.996606133384055790, 0.996602016249908180, 0.996597896624255460, 0.996593774507107950, 0.996589649898476090, 0.996585522798369980, 0.996581393206800170, 0.996577261123776870, +0.996573126549310410, 0.996568989483411110, 0.996564849926089400, 0.996560707877355510, 0.996556563337219870, 0.996552416305692800, 0.996548266782784630, 0.996544114768505910, +0.996539960262866840, 0.996535803265877980, 0.996531643777549440, 0.996527481797891970, 0.996523317326915570, 0.996519150364631010, 0.996514980911048620, 0.996510808966178720, +0.996506634530031850, 0.996502457602618350, 0.996498278183948650, 0.996494096274033400, 0.996489911872882720, 0.996485724980507360, 0.996481535596917770, 0.996477343722124260, +0.996473149356137400, 0.996468952498967610, 0.996464753150625550, 0.996460551311121550, 0.996456346980466150, 0.996452140158669900, 0.996447930845743230, 0.996443719041696820, +0.996439504746541190, 0.996435287960286690, 0.996431068682943950, 0.996426846914523550, 0.996422622655036120, 0.996418395904491990, 0.996414166662902060, 0.996409934930276520, +0.996405700706626260, 0.996401463991961720, 0.996397224786293560, 0.996392983089632200, 0.996388738901988540, 0.996384492223373000, 0.996380243053796240, 0.996375991393268820, +0.996371737241801500, 0.996367480599404720, 0.996363221466089240, 0.996358959841865840, 0.996354695726744950, 0.996350429120737350, 0.996346160023853680, 0.996341888436104610, +0.996337614357500790, 0.996333337788053000, 0.996329058727771670, 0.996324777176667900, 0.996320493134752130, 0.996316206602035130, 0.996311917578527550, 0.996307626064240280, +0.996303332059183980, 0.996299035563369180, 0.996294736576806890, 0.996290435099507770, 0.996286131131482570, 0.996281824672741960, 0.996277515723296920, 0.996273204283158020, +0.996268890352336120, 0.996264573930841890, 0.996260255018686310, 0.996255933615880160, 0.996251609722434090, 0.996247283338358990, 0.996242954463665730, 0.996238623098365080, +0.996234289242467930, 0.996229952895984930, 0.996225614058927070, 0.996221272731305230, 0.996216928913130180, 0.996212582604412810, 0.996208233805164100, 0.996203882515394710, +0.996199528735115520, 0.996195172464337530, 0.996190813703071720, 0.996186452451328860, 0.996182088709119840, 0.996177722476455640, 0.996173353753347040, 0.996168982539805130, +0.996164608835840680, 0.996160232641464800, 0.996155853956688260, 0.996151472781522160, 0.996147089115977380, 0.996142702960064910, 0.996138314313795630, 0.996133923177180520, +0.996129529550230600, 0.996125133432956830, 0.996120734825370340, 0.996116333727481980, 0.996111930139302770, 0.996107524060843800, 0.996103115492115940, 0.996098704433130310, +0.996094290883897890, 0.996089874844429790, 0.996085456314736990, 0.996081035294830500, 0.996076611784721510, 0.996072185784421030, 0.996067757293939930, 0.996063326313289530, +0.996058892842480730, 0.996054456881524830, 0.996050018430432730, 0.996045577489215630, 0.996041134057884530, 0.996036688136450630, 0.996032239724924940, 0.996027788823318660, +0.996023335431642900, 0.996018879549908860, 0.996014421178127660, 0.996009960316310280, 0.996005496964468160, 0.996001031122612180, 0.995996562790753550, 0.995992091968903700, +0.995987618657073530, 0.995983142855274340, 0.995978664563517250, 0.995974183781813570, 0.995969700510174420, 0.995965214748610990, 0.995960726497134410, 0.995956235755756090, +0.995951742524487260, 0.995947246803339010, 0.995942748592322680, 0.995938247891449470, 0.995933744700730710, 0.995929239020177490, 0.995924730849801150, 0.995920220189613010, +0.995915707039624400, 0.995911191399846410, 0.995906673270290480, 0.995902152650967930, 0.995897629541889980, 0.995893103943067850, 0.995888575854513070, 0.995884045276236750, +0.995879512208250440, 0.995874976650565240, 0.995870438603192690, 0.995865898066144010, 0.995861355039430630, 0.995856809523063770, 0.995852261517054860, 0.995847711021415450, +0.995843158036156640, 0.995838602561289980, 0.995834044596826900, 0.995829484142778610, 0.995824921199156550, 0.995820355765972280, 0.995815787843237100, 0.995811217430962460, +0.995806644529159790, 0.995802069137840420, 0.995797491257016000, 0.995792910886697750, 0.995788328026897210, 0.995783742677625930, 0.995779154838895340, 0.995774564510716780, +0.995769971693101770, 0.995765376386062000, 0.995760778589608650, 0.995756178303753400, 0.995751575528507570, 0.995746970263882920, 0.995742362509890900, 0.995737752266542930, +0.995733139533850560, 0.995728524311825350, 0.995723906600478830, 0.995719286399822430, 0.995714663709867940, 0.995710038530626780, 0.995705410862110620, 0.995700780704330770, +0.995696148057299110, 0.995691512921026980, 0.995686875295526130, 0.995682235180808010, 0.995677592576884260, 0.995672947483766670, 0.995668299901466660, 0.995663649829995890, +0.995658997269366020, 0.995654342219588710, 0.995649684680675500, 0.995645024652637930, 0.995640362135487900, 0.995635697129237050, 0.995631029633896940, 0.995626359649479210, +0.995621687175995530, 0.995617012213457770, 0.995612334761877270, 0.995607654821266120, 0.995602972391635750, 0.995598287472997940, 0.995593600065364570, 0.995588910168747070, +0.995584217783157310, 0.995579522908606960, 0.995574825545107790, 0.995570125692671560, 0.995565423351310150, 0.995560718521035120, 0.995556011201858220, 0.995551301393791330, +0.995546589096846240, 0.995541874311034580, 0.995537157036368360, 0.995532437272859120, 0.995527715020518840, 0.995522990279359310, 0.995518263049392280, 0.995513533330629640, +0.995508801123083150, 0.995504066426764480, 0.995499329241685830, 0.995494589567858860, 0.995489847405295340, 0.995485102754007260, 0.995480355614006380, 0.995475605985304600, +0.995470853867913900, 0.995466099261845930, 0.995461342167112790, 0.995456582583726270, 0.995451820511698340, 0.995447055951040880, 0.995442288901765670, 0.995437519363884800, +0.995432747337410160, 0.995427972822353620, 0.995423195818727180, 0.995418416326542710, 0.995413634345812200, 0.995408849876547650, 0.995404062918760930, 0.995399273472464040, +0.995394481537668960, 0.995389687114387690, 0.995384890202632320, 0.995380090802414630, 0.995375288913746710, 0.995370484536640570, 0.995365677671108170, 0.995360868317161640, +0.995356056474812840, 0.995351242144074000, 0.995346425324957100, 0.995341606017474120, 0.995336784221637070, 0.995331959937458040, 0.995327133164949140, 0.995322303904122350, +0.995317472154989890, 0.995312637917563750, 0.995307801191856020, 0.995302961977878710, 0.995298120275644130, 0.995293276085164160, 0.995288429406451010, 0.995283580239516690, +0.995278728584373500, 0.995273874441033550, 0.995269017809508830, 0.995264158689811550, 0.995259297081953930, 0.995254432985948070, 0.995249566401806060, 0.995244697329540240, +0.995239825769162590, 0.995234951720685430, 0.995230075184120880, 0.995225196159481240, 0.995220314646778510, 0.995215430646025020, 0.995210544157232760, 0.995205655180414370, +0.995200763715581750, 0.995195869762747320, 0.995190973321923080, 0.995186074393121570, 0.995181172976354780, 0.995176269071635030, 0.995171362678974550, 0.995166453798385750, +0.995161542429880860, 0.995156628573472090, 0.995151712229171760, 0.995146793396992080, 0.995141872076945490, 0.995136948269044090, 0.995132021973300420, 0.995127093189726700, +0.995122161918335250, 0.995117228159138390, 0.995112291912148450, 0.995107353177377860, 0.995102411954838730, 0.995097468244543590, 0.995092522046504890, 0.995087573360734830, +0.995082622187245860, 0.995077668526050400, 0.995072712377160660, 0.995067753740589200, 0.995062792616348220, 0.995057829004450390, 0.995052862904907910, 0.995047894317733330, +0.995042923242939080, 0.995037949680537490, 0.995032973630541000, 0.995027995092962030, 0.995023014067813020, 0.995018030555106630, 0.995013044554855060, 0.995008056067070880, +0.995003065091766610, 0.994998071628954710, 0.994993075678647590, 0.994988077240857800, 0.994983076315597680, 0.994978072902880100, 0.994973067002717150, 0.994968058615121610, +0.994963047740106020, 0.994958034377682710, 0.994953018527864330, 0.994948000190663320, 0.994942979366092330, 0.994937956054163910, 0.994932930254890710, 0.994927901968285070, +0.994922871194359740, 0.994917837933127270, 0.994912802184600100, 0.994907763948790880, 0.994902723225712380, 0.994897680015377040, 0.994892634317797510, 0.994887586132986330, +0.994882535460956290, 0.994877482301719910, 0.994872426655289740, 0.994867368521678450, 0.994862307900898800, 0.994857244792963450, 0.994852179197884930, 0.994847111115675920, +0.994842040546349280, 0.994836967489917460, 0.994831891946393100, 0.994826813915789090, 0.994821733398118080, 0.994816650393392730, 0.994811564901625810, 0.994806476922829970, +0.994801386457017880, 0.994796293504202290, 0.994791198064395980, 0.994786100137611710, 0.994780999723862140, 0.994775896823160140, 0.994770791435518390, 0.994765683560949630, +0.994760573199466760, 0.994755460351082310, 0.994750345015809280, 0.994745227193660430, 0.994740106884648420, 0.994734984088786240, 0.994729858806086550, 0.994724731036562230, +0.994719600780226030, 0.994714468037090850, 0.994709332807169440, 0.994704195090474810, 0.994699054887019710, 0.994693912196816910, 0.994688767019879410, 0.994683619356219850, +0.994678469205851350, 0.994673316568786550, 0.994668161445038560, 0.994663003834620140, 0.994657843737544290, 0.994652681153823770, 0.994647516083471570, 0.994642348526500570, +0.994637178482923660, 0.994632005952753810, 0.994626830936004010, 0.994621653432687050, 0.994616473442816010, 0.994611290966403770, 0.994606106003463330, 0.994600918554007670, +0.994595728618049570, 0.994590536195602230, 0.994585341286678530, 0.994580143891291460, 0.994574944009454120, 0.994569741641179390, 0.994564536786480270, 0.994559329445369840, +0.994554119617861000, 0.994548907303966940, 0.994543692503700560, 0.994538475217075060, 0.994533255444103310, 0.994528033184798430, 0.994522808439173400, 0.994517581207241320, +0.994512351489015400, 0.994507119284508630, 0.994501884593734010, 0.994496647416704630, 0.994491407753433700, 0.994486165603934210, 0.994480920968219380, 0.994475673846302090, +0.994470424238195760, 0.994465172143913280, 0.994459917563467970, 0.994454660496872810, 0.994449400944141030, 0.994444138905285710, 0.994438874380319970, 0.994433607369257120, +0.994428337872110270, 0.994423065888892620, 0.994417791419617280, 0.994412514464297460, 0.994407235022946260, 0.994401953095577110, 0.994396668682202890, 0.994391381782837150, +0.994386092397492980, 0.994380800526183490, 0.994375506168922010, 0.994370209325721840, 0.994364909996596100, 0.994359608181558110, 0.994354303880620960, 0.994348997093798200, +0.994343687821102940, 0.994338376062548380, 0.994333061818147960, 0.994327745087914880, 0.994322425871862480, 0.994317104170003850, 0.994311779982352540, 0.994306453308921760, +0.994301124149724940, 0.994295792504775290, 0.994290458374086140, 0.994285121757670810, 0.994279782655542730, 0.994274441067715120, 0.994269096994201410, 0.994263750435015030, +0.994258401390169190, 0.994253049859677440, 0.994247695843553100, 0.994242339341809390, 0.994236980354459950, 0.994231618881517900, 0.994226254922996880, 0.994220888478910330, +0.994215519549271450, 0.994210148134093810, 0.994204774233390820, 0.994199397847175810, 0.994194018975462330, 0.994188637618263820, 0.994183253775593690, 0.994177867447465500, +0.994172478633892580, 0.994167087334888570, 0.994161693550466800, 0.994156297280640700, 0.994150898525423820, 0.994145497284829820, 0.994140093558872010, 0.994134687347564050, +0.994129278650919380, 0.994123867468951430, 0.994118453801673850, 0.994113037649100080, 0.994107619011243780, 0.994102197888118380, 0.994096774279737530, 0.994091348186114780, +0.994085919607263560, 0.994080488543197640, 0.994075054993930450, 0.994069618959475540, 0.994064180439846680, 0.994058739435057400, 0.994053295945121260, 0.994047849970051910, +0.994042401509862890, 0.994036950564567870, 0.994031497134180490, 0.994026041218714180, 0.994020582818182950, 0.994015121932600220, 0.994009658561979760, 0.994004192706335110, +0.993998724365679930, 0.993993253540027990, 0.993987780229392830, 0.993982304433788320, 0.993976826153228020, 0.993971345387725690, 0.993965862137294990, 0.993960376401949670, +0.993954888181703300, 0.993949397476569850, 0.993943904286562650, 0.993938408611695910, 0.993932910451983060, 0.993927409807437990, 0.993921906678074450, 0.993916401063906110, +0.993910892964946720, 0.993905382381210070, 0.993899869312709900, 0.993894353759460230, 0.993888835721474570, 0.993883315198766940, 0.993877792191350860, 0.993872266699240450, +0.993866738722449240, 0.993861208260991220, 0.993855675314880170, 0.993850139884130070, 0.993844601968754460, 0.993839061568767450, 0.993833518684182790, 0.993827973315014270, +0.993822425461275860, 0.993816875122981220, 0.993811322300144570, 0.993805766992779560, 0.993800209200900180, 0.993794648924520300, 0.993789086163653690, 0.993783520918314460, +0.993777953188516250, 0.993772382974273390, 0.993766810275599430, 0.993761235092508580, 0.993755657425014480, 0.993750077273131360, 0.993744494636872980, 0.993738909516253430, +0.993733321911286490, 0.993727731821986370, 0.993722139248366830, 0.993716544190441970, 0.993710946648225790, 0.993705346621732270, 0.993699744110975280, 0.993694139115969040, +0.993688531636727320, 0.993682921673264330, 0.993677309225594050, 0.993671694293730480, 0.993666076877687710, 0.993660456977479730, 0.993654834593120650, 0.993649209724624340, +0.993643582372005120, 0.993637952535276980, 0.993632320214453910, 0.993626685409550010, 0.993621048120579500, 0.993615408347556350, 0.993609766090494560, 0.993604121349408340, +0.993598474124311900, 0.993592824415219340, 0.993587172222144650, 0.993581517545102040, 0.993575860384105610, 0.993570200739169570, 0.993564538610307910, 0.993558873997535060, +0.993553206900865020, 0.993547537320311870, 0.993541865255889940, 0.993536190707613340, 0.993530513675496270, 0.993524834159552950, 0.993519152159797360, 0.993513467676244040, +0.993507780708907110, 0.993502091257800650, 0.993496399322938980, 0.993490704904336330, 0.993485008002006900, 0.993479308615964900, 0.993473606746224540, 0.993467902392800360, +0.993462195555706360, 0.993456486234956860, 0.993450774430566170, 0.993445060142548520, 0.993439343370918220, 0.993433624115689470, 0.993427902376876840, 0.993422178154494410, +0.993416451448556500, 0.993410722259077450, 0.993404990586071570, 0.993399256429553290, 0.993393519789536830, 0.993387780666036500, 0.993382039059066750, 0.993376294968641990, +0.993370548394776450, 0.993364799337484560, 0.993359047796780640, 0.993353293772679110, 0.993347537265194420, 0.993341778274340670, 0.993336016800132620, 0.993330252842584580, +0.993324486401710780, 0.993318717477525870, 0.993312946070044170, 0.993307172179280110, 0.993301395805248010, 0.993295616947962420, 0.993289835607437890, 0.993284051783688730, +0.993278265476729480, 0.993272476686574590, 0.993266685413238480, 0.993260891656735590, 0.993255095417080460, 0.993249296694287630, 0.993243495488371650, 0.993237691799346840, +0.993231885627227860, 0.993226076972029140, 0.993220265833765210, 0.993214452212450530, 0.993208636108099730, 0.993202817520727480, 0.993196996450348090, 0.993191172896976340, +0.993185346860626540, 0.993179518341313460, 0.993173687339051540, 0.993167853853855200, 0.993162017885739430, 0.993156179434718680, 0.993150338500807360, 0.993144495084020250, +0.993138649184371890, 0.993132800801876940, 0.993126949936549930, 0.993121096588405530, 0.993115240757458380, 0.993109382443723150, 0.993103521647214490, 0.993097658367947060, +0.993091792605935500, 0.993085924361194360, 0.993080053633738410, 0.993074180423582420, 0.993068304730740930, 0.993062426555228690, 0.993056545897060380, 0.993050662756250760, +0.993044777132814360, 0.993038889026766180, 0.993032998438120540, 0.993027105366892540, 0.993021209813096830, 0.993015311776748070, 0.993009411257861020, 0.993003508256450450, +0.992997602772531020, 0.992991694806117710, 0.992985784357225070, 0.992979871425867970, 0.992973956012061290, 0.992968038115819680, 0.992962117737157920, 0.992956194876090880, +0.992950269532633430, 0.992944341706800130, 0.992938411398606170, 0.992932478608066100, 0.992926543335194810, 0.992920605580007280, 0.992914665342518150, 0.992908722622742320, +0.992902777420694770, 0.992896829736390150, 0.992890879569843570, 0.992884926921069780, 0.992878971790083660, 0.992873014176900100, 0.992867054081533970, 0.992861091504000260, +0.992855126444313730, 0.992849158902489480, 0.992843188878542280, 0.992837216372487230, 0.992831241384339090, 0.992825263914112740, 0.992819283961823280, 0.992813301527485700, +0.992807316611114650, 0.992801329212725570, 0.992795339332332990, 0.992789346969952140, 0.992783352125597980, 0.992777354799285310, 0.992771354991029310, 0.992765352700844980, +0.992759347928747090, 0.992753340674750960, 0.992747330938871570, 0.992741318721123700, 0.992735304021522660, 0.992729286840083320, 0.992723267176820690, 0.992717245031749850, +0.992711220404886020, 0.992705193296244070, 0.992699163705839220, 0.992693131633686440, 0.992687097079800850, 0.992681060044197430, 0.992675020526891380, 0.992668978527897710, +0.992662934047231720, 0.992656887084908400, 0.992650837640942860, 0.992644785715350200, 0.992638731308145510, 0.992632674419344110, 0.992626615048960990, 0.992620553197011150, +0.992614488863510110, 0.992608422048472880, 0.992602352751914550, 0.992596280973850330, 0.992590206714295430, 0.992584129973264950, 0.992578050750774100, 0.992571969046838200, +0.992565884861472460, 0.992559798194691870, 0.992553709046511860, 0.992547617416947640, 0.992541523306014310, 0.992535426713727190, 0.992529327640101380, 0.992523226085152310, +0.992517122048895310, 0.992511015531345350, 0.992504906532517990, 0.992498795052428220, 0.992492681091091570, 0.992486564648523140, 0.992480445724738260, 0.992474324319752350, +0.992468200433580640, 0.992462074066238430, 0.992455945217741050, 0.992449813888103830, 0.992443680077341960, 0.992437543785470890, 0.992431405012506040, 0.992425263758462740, +0.992419120023356190, 0.992412973807201840, 0.992406825110015100, 0.992400673931811310, 0.992394520272605770, 0.992388364132413820, 0.992382205511251110, 0.992376044409132850, +0.992369880826074580, 0.992363714762091510, 0.992357546217199180, 0.992351375191413030, 0.992345201684748270, 0.992339025697220660, 0.992332847228845400, 0.992326666279638060, +0.992320482849614160, 0.992314296938788920, 0.992308108547177990, 0.992301917674796810, 0.992295724321660690, 0.992289528487785400, 0.992283330173186260, 0.992277129377878820, +0.992270926101878500, 0.992264720345200970, 0.992258512107861530, 0.992252301389875860, 0.992246088191259370, 0.992239872512027720, 0.992233654352196460, 0.992227433711781020, +0.992221210590796930, 0.992214984989259860, 0.992208756907185350, 0.992202526344588830, 0.992196293301486070, 0.992190057777892600, 0.992183819773823970, 0.992177579289295840, +0.992171336324323750, 0.992165090878923240, 0.992158842953110080, 0.992152592546899690, 0.992146339660307960, 0.992140084293350320, 0.992133826446042530, 0.992127566118400140, +0.992121303310438800, 0.992115038022174270, 0.992108770253621990, 0.992102500004797940, 0.992096227275717560, 0.992089952066396720, 0.992083674376850970, 0.992077394207095950, +0.992071111557147560, 0.992064826427021320, 0.992058538816732890, 0.992052248726298270, 0.992045956155732990, 0.992039661105052820, 0.992033363574273520, 0.992027063563410860, +0.992020761072480490, 0.992014456101498190, 0.992008148650479700, 0.992001838719440920, 0.991995526308397490, 0.991989211417365290, 0.991982894046360090, 0.991976574195397640, +0.991970251864493720, 0.991963927053664100, 0.991957599762924750, 0.991951269992291440, 0.991944937741779940, 0.991938603011406130, 0.991932265801185760, 0.991925926111134730, +0.991919583941268890, 0.991913239291604020, 0.991906892162156110, 0.991900542552940910, 0.991894190463974420, 0.991887835895272520, 0.991881478846850960, 0.991875119318725740, +0.991868757310912730, 0.991862392823427590, 0.991856025856286740, 0.991849656409505730, 0.991843284483100660, 0.991836910077087300, 0.991830533191481730, 0.991824153826299740, +0.991817771981557290, 0.991811387657270620, 0.991805000853455350, 0.991798611570127610, 0.991792219807303370, 0.991785825564998610, 0.991779428843229230, 0.991773029642011310, +0.991766627961360610, 0.991760223801293580, 0.991753817161825980, 0.991747408042973790, 0.991740996444753110, 0.991734582367179930, 0.991728165810270230, 0.991721746774040120, +0.991715325258505700, 0.991708901263682940, 0.991702474789587950, 0.991696045836236720, 0.991689614403645450, 0.991683180491830130, 0.991676744100806860, 0.991670305230591630, +0.991663863881200760, 0.991657420052650120, 0.991650973744956030, 0.991644524958134490, 0.991638073692201690, 0.991631619947173640, 0.991625163723066530, 0.991618705019896460, +0.991612243837679650, 0.991605780176432310, 0.991599314036170520, 0.991592845416910400, 0.991586374318668140, 0.991579900741460070, 0.991573424685302070, 0.991566946150210570, +0.991560465136201770, 0.991553981643291780, 0.991547495671496800, 0.991541007220833160, 0.991534516291316950, 0.991528022882964490, 0.991521526995791770, 0.991515028629815440, +0.991508527785051500, 0.991502024461516250, 0.991495518659225920, 0.991489010378196810, 0.991482499618445150, 0.991475986379987240, 0.991469470662839300, 0.991462952467017880, +0.991456431792538950, 0.991449908639418950, 0.991443383007674210, 0.991436854897320920, 0.991430324308375630, 0.991423791240854340, 0.991417255694773680, 0.991410717670149990, +0.991404177166999360, 0.991397634185338330, 0.991391088725183220, 0.991384540786550470, 0.991377990369456290, 0.991371437473916980, 0.991364882099949330, 0.991358324247569310, +0.991351763916793580, 0.991345201107638460, 0.991338635820120270, 0.991332068054255560, 0.991325497810060520, 0.991318925087551820, 0.991312349886745880, 0.991305772207659030, +0.991299192050307700, 0.991292609414708430, 0.991286024300877640, 0.991279436708831780, 0.991272846638587280, 0.991266254090160670, 0.991259659063568500, 0.991253061558827200, +0.991246461575953200, 0.991239859114963040, 0.991233254175873270, 0.991226646758700310, 0.991220036863460720, 0.991213424490171020, 0.991206809638847890, 0.991200192309507620, +0.991193572502167000, 0.991186950216842330, 0.991180325453550280, 0.991173698212307390, 0.991167068493130300, 0.991160436296035560, 0.991153801621039830, 0.991147164468159430, +0.991140524837411220, 0.991133882728811640, 0.991127238142377460, 0.991120591078125000, 0.991113941536071130, 0.991107289516232500, 0.991100635018625550, 0.991093978043267040, +0.991087318590173630, 0.991080656659361960, 0.991073992250848470, 0.991067325364650030, 0.991060656000783410, 0.991053984159265160, 0.991047309840111800, 0.991040633043340340, +0.991033953768967190, 0.991027272017009240, 0.991020587787482920, 0.991013901080405210, 0.991007211895792880, 0.991000520233662360, 0.990993826094030640, 0.990987129476914360, +0.990980430382330300, 0.990973728810295110, 0.990967024760825430, 0.990960318233938380, 0.990953609229650480, 0.990946897747978620, 0.990940183788939440, 0.990933467352549830, +0.990926748438826550, 0.990920027047786370, 0.990913303179446150, 0.990906576833822660, 0.990899848010932780, 0.990893116710793280, 0.990886382933420910, 0.990879646678832660, +0.990872907947045300, 0.990866166738075480, 0.990859423051940410, 0.990852676888656750, 0.990845928248241470, 0.990839177130711350, 0.990832423536083250, 0.990825667464374060, +0.990818908915600760, 0.990812147889780110, 0.990805384386929110, 0.990798618407064740, 0.990791849950203750, 0.990785079016363150, 0.990778305605559910, 0.990771529717810790, +0.990764751353132910, 0.990757970511543130, 0.990751187193058440, 0.990744401397695820, 0.990737613125472150, 0.990730822376404530, 0.990724029150509720, 0.990717233447804930, +0.990710435268306930, 0.990703634612033040, 0.990696831478999900, 0.990690025869224830, 0.990683217782724610, 0.990676407219516330, 0.990669594179617090, 0.990662778663043750, +0.990655960669813540, 0.990649140199943430, 0.990642317253450530, 0.990635491830351820, 0.990628663930664290, 0.990621833554405140, 0.990615000701591470, 0.990608165372240170, +0.990601327566368540, 0.990594487283993570, 0.990587644525132480, 0.990580799289802140, 0.990573951578019860, 0.990567101389802750, 0.990560248725167900, 0.990553393584132190, +0.990546535966713270, 0.990539675872927900, 0.990532813302793300, 0.990525948256326780, 0.990519080733545330, 0.990512210734466160, 0.990505338259106470, 0.990498463307483480, +0.990491585879614280, 0.990484705975516190, 0.990477823595206200, 0.990470938738701840, 0.990464051406020010, 0.990457161597178120, 0.990450269312193150, 0.990443374551082670, +0.990436477313863640, 0.990429577600553500, 0.990422675411169460, 0.990415770745728730, 0.990408863604248510, 0.990401953986746130, 0.990395041893238790, 0.990388127323744040, +0.990381210278278860, 0.990374290756860680, 0.990367368759506710, 0.990360444286234380, 0.990353517337061010, 0.990346587912003700, 0.990339656011079980, 0.990332721634307080, +0.990325784781702410, 0.990318845453283410, 0.990311903649067180, 0.990304959369071150, 0.990298012613312850, 0.990291063381809280, 0.990284111674578190, 0.990277157491636920, +0.990270200833002660, 0.990263241698692950, 0.990256280088725130, 0.990249316003116500, 0.990242349441884610, 0.990235380405046880, 0.990228408892620760, 0.990221434904623550, +0.990214458441072810, 0.990207479501985840, 0.990200498087380310, 0.990193514197273420, 0.990186527831682710, 0.990179538990625720, 0.990172547674119890, 0.990165553882182750, +0.990158557614831740, 0.990151558872084280, 0.990144557653957920, 0.990137553960470210, 0.990130547791638450, 0.990123539147480410, 0.990116528028013640, 0.990109514433255460, +0.990102498363223500, 0.990095479817935330, 0.990088458797408480, 0.990081435301660260, 0.990074409330708670, 0.990067380884571020, 0.990060349963264970, 0.990053316566807950, +0.990046280695217720, 0.990039242348511710, 0.990032201526707680, 0.990025158229822950, 0.990018112457875520, 0.990011064210882810, 0.990004013488862360, 0.989996960291831930, +0.989989904619809070, 0.989982846472811540, 0.989975785850856770, 0.989968722753962530, 0.989961657182146460, 0.989954589135426330, 0.989947518613819800, 0.989940445617344400, +0.989933370146017900, 0.989926292199857950, 0.989919211778882090, 0.989912128883108420, 0.989905043512554370, 0.989897955667237820, 0.989890865347176300, 0.989883772552387580, +0.989876677282889530, 0.989869579538699700, 0.989862479319835840, 0.989855376626315840, 0.989848271458157460, 0.989841163815378460, 0.989834053697996490, 0.989826941106029310, +0.989819826039494920, 0.989812708498410740, 0.989805588482794980, 0.989798465992665190, 0.989791341028039230, 0.989784213588934980, 0.989777083675370210, 0.989769951287362670, +0.989762816424930250, 0.989755679088090700, 0.989748539276862020, 0.989741396991262070, 0.989734252231308620, 0.989727104997019440, 0.989719955288412610, 0.989712803105505800, +0.989705648448317100, 0.989698491316864050, 0.989691331711164970, 0.989684169631237510, 0.989677005077099660, 0.989669838048769290, 0.989662668546264280, 0.989655496569602610, +0.989648322118802160, 0.989641145193880910, 0.989633965794856850, 0.989626783921747850, 0.989619599574572020, 0.989612412753347100, 0.989605223458091100, 0.989598031688822100, +0.989590837445557870, 0.989583640728316730, 0.989576441537116440, 0.989569239871974980, 0.989562035732910570, 0.989554829119940970, 0.989547620033084270, 0.989540408472358470, +0.989533194437781760, 0.989525977929372020, 0.989518758947147360, 0.989511537491125860, 0.989504313561325400, 0.989497087157764300, 0.989489858280460430, 0.989482626929431670, +0.989475393104696680, 0.989468156806273090, 0.989460918034179020, 0.989453676788432770, 0.989446433069052330, 0.989439186876055810, 0.989431938209461290, 0.989424687069286770, +0.989417433455550670, 0.989410177368271080, 0.989402918807466000, 0.989395657773153530, 0.989388394265351970, 0.989381128284079540, 0.989373859829354000, 0.989366588901194000, +0.989359315499617530, 0.989352039624642800, 0.989344761276287900, 0.989337480454571150, 0.989330197159510760, 0.989322911391124830, 0.989315623149431440, 0.989308332434449160, +0.989301039246196060, 0.989293743584690350, 0.989286445449950260, 0.989279144841994080, 0.989271841760840040, 0.989264536206506340, 0.989257228179011290, 0.989249917678373230, +0.989242604704610340, 0.989235289257740960, 0.989227971337783400, 0.989220650944755860, 0.989213328078676790, 0.989206002739564160, 0.989198674927436630, 0.989191344642312510, +0.989184011884210010, 0.989176676653147460, 0.989169338949143270, 0.989161998772215670, 0.989154656122383070, 0.989147310999663690, 0.989139963404076280, 0.989132613335638840, +0.989125260794369910, 0.989117905780287800, 0.989110548293410940, 0.989103188333757770, 0.989095825901346370, 0.989088460996195630, 0.989081093618323750, 0.989073723767749050, +0.989066351444490180, 0.989058976648565350, 0.989051599379993100, 0.989044219638791740, 0.989036837424979830, 0.989029452738575900, 0.989022065579598380, 0.989014675948065690, +0.989007283843996280, 0.988999889267408670, 0.988992492218321310, 0.988985092696752830, 0.988977690702721350, 0.988970286236245830, 0.988962879297344610, 0.988955469886036220, +0.988948058002339090, 0.988940643646271880, 0.988933226817853010, 0.988925807517101020, 0.988918385744034570, 0.988910961498672080, 0.988903534781032320, 0.988896105591133720, +0.988888673928994820, 0.988881239794634160, 0.988873803188070500, 0.988866364109322160, 0.988858922558408130, 0.988851478535346610, 0.988844032040156580, 0.988836583072856380, +0.988829131633464750, 0.988821677722000250, 0.988814221338481620, 0.988806762482927200, 0.988799301155356080, 0.988791837355786680, 0.988784371084237780, 0.988776902340727900, +0.988769431125275710, 0.988761957437899960, 0.988754481278619200, 0.988747002647452410, 0.988739521544418020, 0.988732037969534900, 0.988724551922821710, 0.988717063404297100, +0.988709572413979830, 0.988702078951888660, 0.988694583018042140, 0.988687084612459240, 0.988679583735158740, 0.988672080386159170, 0.988664574565479400, 0.988657066273138320, +0.988649555509154450, 0.988642042273546680, 0.988634526566333770, 0.988627008387534700, 0.988619487737168010, 0.988611964615252690, 0.988604439021807390, 0.988596910956850980, +0.988589380420402340, 0.988581847412480120, 0.988574311933103410, 0.988566773982290870, 0.988559233560061480, 0.988551690666433890, 0.988544145301427200, 0.988536597465060060, +0.988529047157351460, 0.988521494378320150, 0.988513939127985130, 0.988506381406365380, 0.988498821213479540, 0.988491258549346830, 0.988483693413985790, 0.988476125807415620, +0.988468555729654970, 0.988460983180723060, 0.988453408160638760, 0.988445830669420930, 0.988438250707088460, 0.988430668273660440, 0.988423083369155630, 0.988415495993593240, +0.988407906146991920, 0.988400313829370880, 0.988392719040749210, 0.988385121781145680, 0.988377522050579270, 0.988369919849069190, 0.988362315176634200, 0.988354708033293510, +0.988347098419065870, 0.988339486333970620, 0.988331871778026620, 0.988324254751253070, 0.988316635253668750, 0.988309013285292860, 0.988301388846144490, 0.988293761936242520, +0.988286132555606270, 0.988278500704254600, 0.988270866382206740, 0.988263229589481760, 0.988255590326098670, 0.988247948592076540, 0.988240304387434710, 0.988232657712191820, +0.988225008566367520, 0.988217356949980590, 0.988209702863050320, 0.988202046305595830, 0.988194387277636200, 0.988186725779190640, 0.988179061810278040, 0.988171395370918030, +0.988163726461129490, 0.988156055080931630, 0.988148381230343650, 0.988140704909384660, 0.988133026118073960, 0.988125344856430670, 0.988117661124473860, 0.988109974922223080, +0.988102286249697310, 0.988094595106915890, 0.988086901493898000, 0.988079205410662740, 0.988071506857229550, 0.988063805833617640, 0.988056102339845980, 0.988048396375934220, +0.988040687941901470, 0.988032977037767050, 0.988025263663550150, 0.988017547819270090, 0.988009829504946200, 0.988002108720597570, 0.987994385466243850, 0.987986659741904140, +0.987978931547597750, 0.987971200883344000, 0.987963467749162330, 0.987955732145071930, 0.987947994071092240, 0.987940253527242460, 0.987932510513542140, 0.987924765030010480, +0.987917017076667010, 0.987909266653530960, 0.987901513760621740, 0.987893758397958680, 0.987886000565561310, 0.987878240263448840, 0.987870477491640810, 0.987862712250156650, +0.987854944539015680, 0.987847174358237320, 0.987839401707841010, 0.987831626587846290, 0.987823848998272360, 0.987816068939138870, 0.987808286410465250, 0.987800501412270830, +0.987792713944575240, 0.987784924007397920, 0.987777131600758200, 0.987769336724675710, 0.987761539379169660, 0.987753739564259940, 0.987745937279965960, 0.987738132526307040, +0.987730325303302740, 0.987722515610972680, 0.987714703449336430, 0.987706888818413180, 0.987699071718222910, 0.987691252148784840, 0.987683430110118720, 0.987675605602244100, +0.987667778625180290, 0.987659949178947170, 0.987652117263564170, 0.987644282879050710, 0.987636446025426660, 0.987628606702711580, 0.987620764910924880, 0.987612920650086320, +0.987605073920215460, 0.987597224721331820, 0.987589373053455290, 0.987581518916605060, 0.987573662310801240, 0.987565803236063240, 0.987557941692410730, 0.987550077679863360, +0.987542211198440770, 0.987534342248162720, 0.987526470829048650, 0.987518596941118540, 0.987510720584391930, 0.987502841758888470, 0.987494960464628040, 0.987487076701630050, +0.987479190469914500, 0.987471301769500930, 0.987463410600408990, 0.987455516962658540, 0.987447620856269470, 0.987439722281261200, 0.987431821237653720, 0.987423917725466670, +0.987416011744719820, 0.987408103295432830, 0.987400192377625660, 0.987392278991317980, 0.987384363136529660, 0.987376444813280460, 0.987368524021590140, 0.987360600761478470, +0.987352675032965310, 0.987344746836070320, 0.987336816170813700, 0.987328883037214890, 0.987320947435293970, 0.987313009365070720, 0.987305068826564880, 0.987297125819796340, +0.987289180344784970, 0.987281232401550520, 0.987273281990113220, 0.987265329110492700, 0.987257373762708830, 0.987249415946781510, 0.987241455662730580, 0.987233492910576160, +0.987225527690337780, 0.987217560002035750, 0.987209589845689740, 0.987201617221319830, 0.987193642128945890, 0.987185664568587810, 0.987177684540265550, 0.987169702043999120, +0.987161717079808270, 0.987153729647713310, 0.987145739747734010, 0.987137747379890350, 0.987129752544202320, 0.987121755240689900, 0.987113755469373190, 0.987105753230271940, +0.987097748523406260, 0.987089741348796350, 0.987081731706462070, 0.987073719596423430, 0.987065705018700500, 0.987057687973313280, 0.987049668460281970, 0.987041646479626220, +0.987033622031366580, 0.987025595115522790, 0.987017565732115080, 0.987009533881163410, 0.987001499562688010, 0.986993462776708740, 0.986985423523245920, 0.986977381802319310, +0.986969337613949450, 0.986961290958156210, 0.986953241834959690, 0.986945190244380210, 0.986937136186437640, 0.986929079661152290, 0.986921020668544040, 0.986912959208633420, +0.986904895281440320, 0.986896828886985160, 0.986888760025287800, 0.986880688696368580, 0.986872614900247580, 0.986864538636945120, 0.986856459906481080, 0.986848378708876100, +0.986840295044150160, 0.986832208912323480, 0.986824120313416380, 0.986816029247448820, 0.986807935714441250, 0.986799839714413870, 0.986791741247386670, 0.986783640313380390, +0.986775536912414930, 0.986767431044510590, 0.986759322709687690, 0.986751211907966550, 0.986743098639367380, 0.986734982903910260, 0.986726864701615860, 0.986718744032504260, +0.986710620896595780, 0.986702495293910850, 0.986694367224469570, 0.986686236688292470, 0.986678103685399770, 0.986669968215811540, 0.986661830279548680, 0.986653689876631160, +0.986645547007079520, 0.986637401670913960, 0.986629253868154810, 0.986621103598822600, 0.986612950862937650, 0.986604795660520170, 0.986596637991590810, 0.986588477856169880, +0.986580315254277700, 0.986572150185934800, 0.986563982651161520, 0.986555812649978270, 0.986547640182405370, 0.986539465248463480, 0.986531287848172900, 0.986523107981554180, +0.986514925648627640, 0.986506740849413810, 0.986498553583933120, 0.986490363852206010, 0.986482171654252890, 0.986473976990094540, 0.986465779859751150, 0.986457580263243370, +0.986449378200591640, 0.986441173671816380, 0.986432966676938250, 0.986424757215977550, 0.986416545288955060, 0.986408330895891310, 0.986400114036806720, 0.986391894711721730, +0.986383672920657100, 0.986375448663633250, 0.986367221940670840, 0.986358992751790180, 0.986350761097012140, 0.986342526976357270, 0.986334290389846100, 0.986326051337499180, +0.986317809819337030, 0.986309565835380430, 0.986301319385650020, 0.986293070470166010, 0.986284819088949490, 0.986276565242021010, 0.986268308929401090, 0.986260050151110400, +0.986251788907169580, 0.986243525197599280, 0.986235259022419930, 0.986226990381652730, 0.986218719275318010, 0.986210445703436410, 0.986202169666028810, 0.986193891163115730, +0.986185610194717950, 0.986177326760856120, 0.986169040861550770, 0.986160752496823000, 0.986152461666693460, 0.986144168371182680, 0.986135872610311440, 0.986127574384100590, +0.986119273692570800, 0.986110970535742700, 0.986102664913637180, 0.986094356826275110, 0.986086046273677130, 0.986077733255864010, 0.986069417772856620, 0.986061099824675600, +0.986052779411341840, 0.986044456532876090, 0.986036131189299230, 0.986027803380632120, 0.986019473106895530, 0.986011140368110220, 0.986002805164296950, 0.985994467495476810, +0.985986127361670460, 0.985977784762898660, 0.985969439699182490, 0.985961092170542730, 0.985952742177000240, 0.985944389718576010, 0.985936034795290680, 0.985927677407165250, +0.985919317554220580, 0.985910955236477650, 0.985902590453957450, 0.985894223206680740, 0.985885853494668400, 0.985877481317941510, 0.985869106676520830, 0.985860729570427470, +0.985852349999682190, 0.985843967964306070, 0.985835583464319990, 0.985827196499745040, 0.985818807070602100, 0.985810415176912150, 0.985802020818696170, 0.985793623995975030, +0.985785224708769840, 0.985776822957101670, 0.985768418740991410, 0.985760012060460040, 0.985751602915528770, 0.985743191306218460, 0.985734777232550210, 0.985726360694544780, +0.985717941692223600, 0.985709520225607650, 0.985701096294717800, 0.985692669899575270, 0.985684241040201140, 0.985675809716616280, 0.985667375928841900, 0.985658939676898990, +0.985650500960808860, 0.985642059780592490, 0.985633616136270980, 0.985625170027865430, 0.985616721455396920, 0.985608270418886660, 0.985599816918355630, 0.985591360953824940, +0.985582902525316110, 0.985574441632849910, 0.985565978276447650, 0.985557512456130440, 0.985549044171919460, 0.985540573423835830, 0.985532100211900630, 0.985523624536135290, +0.985515146396561010, 0.985506665793198790, 0.985498182726069930, 0.985489697195195520, 0.985481209200597010, 0.985472718742295360, 0.985464225820311790, 0.985455730434667830, +0.985447232585384580, 0.985438732272483130, 0.985430229495985020, 0.985421724255911240, 0.985413216552283090, 0.985404706385121900, 0.985396193754448980, 0.985387678660285650, +0.985379161102653000, 0.985370641081572570, 0.985362118597065460, 0.985353593649153090, 0.985345066237856780, 0.985336536363197620, 0.985328004025197270, 0.985319469223876810, +0.985310931959257790, 0.985302392231361400, 0.985293850040209080, 0.985285305385822150, 0.985276758268221920, 0.985268208687429590, 0.985259656643466930, 0.985251102136355140, +0.985242545166115650, 0.985233985732769660, 0.985225423836338820, 0.985216859476844340, 0.985208292654307650, 0.985199723368750280, 0.985191151620193660, 0.985182577408659220, +0.985174000734168280, 0.985165421596742360, 0.985156839996402800, 0.985148255933171240, 0.985139669407068870, 0.985131080418117370, 0.985122488966338250, 0.985113895051752950, +0.985105298674382900, 0.985096699834249630, 0.985088098531374470, 0.985079494765779050, 0.985070888537485030, 0.985062279846513730, 0.985053668692886800, 0.985045055076625650, +0.985036438997751840, 0.985027820456287010, 0.985019199452252580, 0.985010575985669990, 0.985001950056561100, 0.984993321664947350, 0.984984690810850380, 0.984976057494291620, +0.984967421715292720, 0.984958783473875220, 0.984950142770060770, 0.984941499603870900, 0.984932853975327370, 0.984924205884451620, 0.984915555331265510, 0.984906902315790480, +0.984898246838048160, 0.984889588898060220, 0.984880928495848070, 0.984872265631433930, 0.984863600304838990, 0.984854932516085140, 0.984846262265193890, 0.984837589552187030, +0.984828914377086200, 0.984820236739913040, 0.984811556640689200, 0.984802874079436560, 0.984794189056176770, 0.984785501570931480, 0.984776811623722440, 0.984768119214571410, +0.984759424343500060, 0.984750727010530120, 0.984742027215683270, 0.984733324958981470, 0.984724620240446270, 0.984715913060099650, 0.984707203417963250, 0.984698491314058730, +0.984689776748408070, 0.984681059721032810, 0.984672340231955050, 0.984663618281196420, 0.984654893868778800, 0.984646166994723850, 0.984637437659053540, 0.984628705861789630, +0.984619971602954000, 0.984611234882568190, 0.984602495700654500, 0.984593754057234590, 0.984585009952330230, 0.984576263385963490, 0.984567514358155930, 0.984558762868929630, +0.984550008918306350, 0.984541252506308080, 0.984532493632956810, 0.984523732298274170, 0.984514968502282260, 0.984506202245002960, 0.984497433526458130, 0.984488662346669760, +0.984479888705659500, 0.984471112603449770, 0.984462334040062110, 0.984453553015518730, 0.984444769529841500, 0.984435983583052290, 0.984427195175173080, 0.984418404306225960, +0.984409610976232590, 0.984400815185215380, 0.984392016933196220, 0.984383216220196980, 0.984374413046239630, 0.984365607411346270, 0.984356799315538880, 0.984347988758839440, +0.984339175741270060, 0.984330360262852810, 0.984321542323609580, 0.984312721923562560, 0.984303899062733740, 0.984295073741145220, 0.984286245958818970, 0.984277415715776870, +0.984268583012041450, 0.984259747847634590, 0.984250910222578380, 0.984242070136894910, 0.984233227590606160, 0.984224382583734460, 0.984215535116301670, 0.984206685188329990, +0.984197832799841740, 0.984188977950858910, 0.984180120641403590, 0.984171260871497980, 0.984162398641164280, 0.984153533950424600, 0.984144666799300790, 0.984135797187815520, +0.984126925115990870, 0.984118050583848820, 0.984109173591411590, 0.984100294138701480, 0.984091412225740700, 0.984082527852551350, 0.984073641019155510, 0.984064751725575730, +0.984055859971833980, 0.984046965757952700, 0.984038069083953970, 0.984029169949860120, 0.984020268355693230, 0.984011364301475620, 0.984002457787229720, 0.983993548812977630, +0.983984637378741760, 0.983975723484544210, 0.983966807130407410, 0.983957888316353560, 0.983948967042404980, 0.983940043308583870, 0.983931117114912770, 0.983922188461413880, +0.983913257348109530, 0.983904323775022020, 0.983895387742173670, 0.983886449249586900, 0.983877508297284040, 0.983868564885287180, 0.983859619013619180, 0.983850670682302030, +0.983841719891358270, 0.983832766640810100, 0.983823810930680160, 0.983814852760990570, 0.983805892131763730, 0.983796929043022290, 0.983787963494788590, 0.983778995487085030, +0.983770025019933820, 0.983761052093357740, 0.983752076707378850, 0.983743098862019830, 0.983734118557302970, 0.983725135793250940, 0.983716150569886040, 0.983707162887230810, +0.983698172745307580, 0.983689180144138970, 0.983680185083747440, 0.983671187564155500, 0.983662187585385260, 0.983653185147459920, 0.983644180250401460, 0.983635172894232630, +0.983626163078975770, 0.983617150804653620, 0.983608136071288500, 0.983599118878902940, 0.983590099227519720, 0.983581077117161250, 0.983572052547850180, 0.983563025519608840, +0.983553996032459970, 0.983544964086426220, 0.983535929681529920, 0.983526892817793710, 0.983517853495240350, 0.983508811713892480, 0.983499767473772550, 0.983490720774903070, +0.983481671617306930, 0.983472620001006550, 0.983463565926024460, 0.983454509392383660, 0.983445450400106560, 0.983436388949215920, 0.983427325039734180, 0.983418258671684200, +0.983409189845088520, 0.983400118559969890, 0.983391044816350760, 0.983381968614254310, 0.983372889953702870, 0.983363808834719190, 0.983354725257325920, 0.983345639221545940, +0.983336550727401780, 0.983327459774916310, 0.983318366364112070, 0.983309270495011930, 0.983300172167638760, 0.983291071382015100, 0.983281968138163710, 0.983272862436107450, +0.983263754275869100, 0.983254643657471170, 0.983245530580936780, 0.983236415046288450, 0.983227297053549280, 0.983218176602741690, 0.983209053693888780, 0.983199928327013200, +0.983190800502137810, 0.983181670219285260, 0.983172537478478660, 0.983163402279740750, 0.983154264623094300, 0.983145124508562170, 0.983135981936167250, 0.983126836905932390, +0.983117689417880470, 0.983108539472034140, 0.983099387068416600, 0.983090232207050610, 0.983081074887959040, 0.983071915111164870, 0.983062752876690760, 0.983053588184559900, +0.983044421034794840, 0.983035251427418880, 0.983026079362454790, 0.983016904839925540, 0.983007727859854020, 0.982998548422263200, 0.982989366527175950, 0.982980182174615360, +0.982970995364604080, 0.982961806097165440, 0.982952614372322400, 0.982943420190097730, 0.982934223550514630, 0.982925024453595860, 0.982915822899364520, 0.982906618887843480, +0.982897412419056150, 0.982888203493025190, 0.982878992109773810, 0.982869778269324870, 0.982860561971701460, 0.982851343216926690, 0.982842122005023630, 0.982832898336014950, +0.982823672209924280, 0.982814443626774500, 0.982805212586588480, 0.982795979089389540, 0.982786743135200540, 0.982777504724044790, 0.982768263855945180, 0.982759020530924790, +0.982749774749007040, 0.982740526510214820, 0.982731275814571310, 0.982722022662099630, 0.982712767052822840, 0.982703508986764170, 0.982694248463946480, 0.982684985484393430, +0.982675720048127870, 0.982666452155173010, 0.982657181805552060, 0.982647908999288110, 0.982638633736404480, 0.982629356016924140, 0.982620075840870300, 0.982610793208266500, +0.982601508119135600, 0.982592220573501040, 0.982582930571385900, 0.982573638112813400, 0.982564343197806830, 0.982555045826389310, 0.982545745998584130, 0.982536443714414730, +0.982527138973904200, 0.982517831777075860, 0.982508522123952900, 0.982499210014558640, 0.982489895448916290, 0.982480578427049170, 0.982471258948980690, 0.982461937014734050, +0.982452612624332590, 0.982443285777799600, 0.982433956475158410, 0.982424624716432330, 0.982415290501644670, 0.982405953830818630, 0.982396614703977880, 0.982387273121145600, +0.982377929082345110, 0.982368582587599740, 0.982359233636933000, 0.982349882230368120, 0.982340528367928400, 0.982331172049637600, 0.982321813275518820, 0.982312452045595470, +0.982303088359891000, 0.982293722218428810, 0.982284353621232340, 0.982274982568324910, 0.982265609059729930, 0.982256233095471170, 0.982246854675571710, 0.982237473800055110, +0.982228090468944880, 0.982218704682264350, 0.982209316440037170, 0.982199925742286650, 0.982190532589036100, 0.982181136980309510, 0.982171738916129970, 0.982162338396521120, +0.982152935421506390, 0.982143529991109320, 0.982134122105353450, 0.982124711764262080, 0.982115298967859210, 0.982105883716168030, 0.982096466009212080, 0.982087045847015010, +0.982077623229600350, 0.982068198156991530, 0.982058770629212320, 0.982049340646286020, 0.982039908208236500, 0.982030473315087190, 0.982021035966861740, 0.982011596163583690, +0.982002153905276560, 0.981992709191964240, 0.981983262023669810, 0.981973812400417480, 0.981964360322230560, 0.981954905789132800, 0.981945448801147760, 0.981935989358299070, +0.981926527460610380, 0.981917063108105450, 0.981907596300807590, 0.981898127038741020, 0.981888655321929040, 0.981879181150395520, 0.981869704524164000, 0.981860225443258240, +0.981850743907701880, 0.981841259917518690, 0.981831773472732210, 0.981822284573366400, 0.981812793219444810, 0.981803299410991430, 0.981793803148029660, 0.981784304430583400, +0.981774803258676390, 0.981765299632332280, 0.981755793551575050, 0.981746285016428240, 0.981736774026915840, 0.981727260583061480, 0.981717744684888930, 0.981708226332422050, +0.981698705525684500, 0.981689182264700140, 0.981679656549492960, 0.981670128380086600, 0.981660597756505050, 0.981651064678771830, 0.981641529146911050, 0.981631991160946460, +0.981622450720901930, 0.981612907826801000, 0.981603362478667970, 0.981593814676526620, 0.981584264420400700, 0.981574711710314070, 0.981565156546290730, 0.981555598928354420, +0.981546038856529020, 0.981536476330838630, 0.981526911351307100, 0.981517343917958310, 0.981507774030816130, 0.981498201689904540, 0.981488626895247410, 0.981479049646868720, +0.981469469944792230, 0.981459887789042250, 0.981450303179642550, 0.981440716116617100, 0.981431126599989770, 0.981421534629784760, 0.981411940206025850, 0.981402343328736880, +0.981392743997942300, 0.981383142213665850, 0.981373537975931520, 0.981363931284763290, 0.981354322140185360, 0.981344710542221500, 0.981335096490896010, 0.981325479986232430, +0.981315861028255410, 0.981306239616988820, 0.981296615752456520, 0.981286989434682730, 0.981277360663691420, 0.981267729439506690, 0.981258095762152730, 0.981248459631653300, +0.981238821048032950, 0.981229180011315430, 0.981219536521525050, 0.981209890578685790, 0.981200242182821870, 0.981190591333957360, 0.981180938032116150, 0.981171282277322750, +0.981161624069601170, 0.981151963408975480, 0.981142300295469890, 0.981132634729108610, 0.981122966709915720, 0.981113296237915430, 0.981103623313131610, 0.981093947935589020, +0.981084270105311520, 0.981074589822323430, 0.981064907086648730, 0.981055221898311850, 0.981045534257336980, 0.981035844163748120, 0.981026151617569560, 0.981016456618825750, +0.981006759167540880, 0.980997059263739040, 0.980987356907444650, 0.980977652098681710, 0.980967944837474740, 0.980958235123847720, 0.980948522957825310, 0.980938808339431590, +0.980929091268690770, 0.980919371745627380, 0.980909649770265400, 0.980899925342629380, 0.980890198462743500, 0.980880469130631980, 0.980870737346319470, 0.980861003109830150, +0.980851266421188250, 0.980841527280418180, 0.980831785687544370, 0.980822041642591010, 0.980812295145582440, 0.980802546196543280, 0.980792794795497750, 0.980783040942470260, +0.980773284637485140, 0.980763525880566810, 0.980753764671739690, 0.980744001011028100, 0.980734234898456460, 0.980724466334049310, 0.980714695317830950, 0.980704921849825940, +0.980695145930058580, 0.980685367558553400, 0.980675586735334730, 0.980665803460427200, 0.980656017733854910, 0.980646229555642730, 0.980636438925815090, 0.980626645844396180, +0.980616850311410770, 0.980607052326883280, 0.980597251890838020, 0.980587449003299530, 0.980577643664292680, 0.980567835873841550, 0.980558025631970920, 0.980548212938705310, +0.980538397794069040, 0.980528580198086750, 0.980518760150783100, 0.980508937652182390, 0.980499112702309490, 0.980489285301188730, 0.980479455448844850, 0.980469623145302280, +0.980459788390585670, 0.980449951184719670, 0.980440111527728700, 0.980430269419637290, 0.980420424860470320, 0.980410577850252430, 0.980400728389007940, 0.980390876476761710, +0.980381022113538390, 0.980371165299362410, 0.980361306034258310, 0.980351444318251160, 0.980341580151365410, 0.980331713533625690, 0.980321844465056660, 0.980311972945683060, +0.980302098975529560, 0.980292222554620780, 0.980282343682981170, 0.980272462360636030, 0.980262578587609680, 0.980252692363926870, 0.980242803689612360, 0.980232912564690810, +0.980223018989186960, 0.980213122963125460, 0.980203224486531190, 0.980193323559429010, 0.980183420181843460, 0.980173514353799400, 0.980163606075321490, 0.980153695346434590, +0.980143782167163470, 0.980133866537532650, 0.980123948457567450, 0.980114027927292300, 0.980104104946732060, 0.980094179515911600, 0.980084251634855800, 0.980074321303589180, +0.980064388522136840, 0.980054453290523430, 0.980044515608773930, 0.980034575476913190, 0.980024632894966110, 0.980014687862957310, 0.980004740380911900, 0.979994790448854510, +0.979984838066810030, 0.979974883234803640, 0.979964925952860110, 0.979954966221004200, 0.979945004039260880, 0.979935039407655030, 0.979925072326211620, 0.979915102794955530, +0.979905130813911400, 0.979895156383104760, 0.979885179502560160, 0.979875200172302560, 0.979865218392357070, 0.979855234162748450, 0.979845247483501880, 0.979835258354642020, +0.979825266776193970, 0.979815272748182810, 0.979805276270633630, 0.979795277343571080, 0.979785275967020470, 0.979775272141006570, 0.979765265865554570, 0.979755257140689230, +0.979745245966435860, 0.979735232342819450, 0.979725216269864860, 0.979715197747597300, 0.979705176776041740, 0.979695153355223280, 0.979685127485166900, 0.979675099165897460, +0.979665068397440500, 0.979655035179820890, 0.979644999513063720, 0.979634961397193970, 0.979624920832236850, 0.979614877818217430, 0.979604832355160720, 0.979594784443092000, +0.979584734082036390, 0.979574681272018850, 0.979564626013064710, 0.979554568305198940, 0.979544508148446740, 0.979534445542833310, 0.979524380488383640, 0.979514312985123040, +0.979504243033076820, 0.979494170632269960, 0.979484095782727550, 0.979474018484475020, 0.979463938737537450, 0.979453856541939950, 0.979443771897707700, 0.979433684804866140, +0.979423595263440470, 0.979413503273455780, 0.979403408834937260, 0.979393311947910240, 0.979383212612400020, 0.979373110828431480, 0.979363006596030370, 0.979352899915221790, +0.979342790786030930, 0.979332679208483100, 0.979322565182603630, 0.979312448708417600, 0.979302329785950550, 0.979292208415227570, 0.979282084596274080, 0.979271958329115510, +0.979261829613777060, 0.979251698450283930, 0.979241564838661650, 0.979231428778935320, 0.979221290271130360, 0.979211149315272310, 0.979201005911386370, 0.979190860059497960, +0.979180711759632390, 0.979170561011815100, 0.979160407816071280, 0.979150252172426570, 0.979140094080905960, 0.979129933541535320, 0.979119770554339850, 0.979109605119344970, +0.979099437236576000, 0.979089266906058580, 0.979079094127817910, 0.979068918901879410, 0.979058741228268530, 0.979048561107011000, 0.979038378538132030, 0.979028193521657150, +0.979018006057611800, 0.979007816146021390, 0.978997623786911460, 0.978987428980307330, 0.978977231726234740, 0.978967032024719020, 0.978956829875785810, 0.978946625279460520, +0.978936418235768710, 0.978926208744735790, 0.978915996806387300, 0.978905782420748770, 0.978895565587845850, 0.978885346307704070, 0.978875124580348870, 0.978864900405805870, +0.978854673784100740, 0.978844444715258780, 0.978834213199305750, 0.978823979236267070, 0.978813742826168510, 0.978803503969035700, 0.978793262664894080, 0.978783018913769290, +0.978772772715687080, 0.978762524070672770, 0.978752272978752000, 0.978742019439950760, 0.978731763454294580, 0.978721505021808880, 0.978711244142519420, 0.978700980816451850, +0.978690715043631810, 0.978680446824084950, 0.978670176157836910, 0.978659903044913570, 0.978649627485340460, 0.978639349479143220, 0.978629069026347720, 0.978618786126979500, +0.978608500781064210, 0.978598212988627590, 0.978587922749695640, 0.978577630064293880, 0.978567334932447960, 0.978557037354183870, 0.978546737329527020, 0.978536434858503390, +0.978526129941138630, 0.978515822577458510, 0.978505512767488870, 0.978495200511255490, 0.978484885808784120, 0.978474568660100520, 0.978464249065230440, 0.978453927024199870, +0.978443602537034440, 0.978433275603759700, 0.978422946224402070, 0.978412614398987080, 0.978402280127540490, 0.978391943410088280, 0.978381604246656210, 0.978371262637270030, +0.978360918581955620, 0.978350572080739060, 0.978340223133645990, 0.978329871740702520, 0.978319517901934280, 0.978309161617367250, 0.978298802887027310, 0.978288441710940320, +0.978278078089132140, 0.978267712021628880, 0.978257343508456390, 0.978246972549640550, 0.978236599145207220, 0.978226223295182380, 0.978215844999592020, 0.978205464258462000, +0.978195081071818180, 0.978184695439686890, 0.978174307362093880, 0.978163916839065010, 0.978153523870626370, 0.978143128456803960, 0.978132730597623620, 0.978122330293111350, +0.978111927543293460, 0.978101522348195700, 0.978091114707844160, 0.978080704622264820, 0.978070292091483770, 0.978059877115527000, 0.978049459694420480, 0.978039039828190070, +0.978028617516862320, 0.978018192760463090, 0.978007765559018250, 0.977997335912554110, 0.977986903821096540, 0.977976469284671750, 0.977966032303305590, 0.977955592877024600, +0.977945151005854550, 0.977934706689821630, 0.977924259928951930, 0.977913810723271660, 0.977903359072806790, 0.977892904977583520, 0.977882448437627840, 0.977871989452966270, +0.977861528023624690, 0.977851064149629190, 0.977840597831006190, 0.977830129067781550, 0.977819657859981710, 0.977809184207632630, 0.977798708110760420, 0.977788229569391710, +0.977777748583552380, 0.977767265153268620, 0.977756779278566750, 0.977746290959472960, 0.977735800196013360, 0.977725306988214140, 0.977714811336101830, 0.977704313239702530, +0.977693812699042430, 0.977683309714147740, 0.977672804285044770, 0.977662296411759830, 0.977651786094319130, 0.977641273332748860, 0.977630758127075560, 0.977620240477325320, +0.977609720383524450, 0.977599197845699370, 0.977588672863876180, 0.977578145438081410, 0.977567615568341260, 0.977557083254681820, 0.977546548497129960, 0.977536011295711660, +0.977525471650453340, 0.977514929561381420, 0.977504385028522100, 0.977493838051901820, 0.977483288631546770, 0.977472736767483700, 0.977462182459738700, 0.977451625708338320, +0.977441066513308860, 0.977430504874676750, 0.977419940792468410, 0.977409374266710150, 0.977398805297428290, 0.977388233884649680, 0.977377660028400430, 0.977367083728706950, +0.977356504985595900, 0.977345923799093460, 0.977335340169226300, 0.977324754096020600, 0.977314165579503120, 0.977303574619700300, 0.977292981216638550, 0.977282385370344290, +0.977271787080844170, 0.977261186348164500, 0.977250583172331820, 0.977239977553372550, 0.977229369491313560, 0.977218758986181160, 0.977208146038001770, 0.977197530646802040, +0.977186912812608500, 0.977176292535447690, 0.977165669815346140, 0.977155044652330270, 0.977144417046426960, 0.977133786997662510, 0.977123154506063680, 0.977112519571657010, +0.977101882194468920, 0.977091242374526270, 0.977080600111855270, 0.977069955406482890, 0.977059308258435680, 0.977048658667740160, 0.977038006634422970, 0.977027352158510890, +0.977016695240030320, 0.977006035879008030, 0.976995374075470550, 0.976984709829444740, 0.976974043140957150, 0.976963374010034520, 0.976952702436703400, 0.976942028420990540, +0.976931351962922580, 0.976920673062526280, 0.976909991719828060, 0.976899307934855130, 0.976888621707633800, 0.976877933038191040, 0.976867241926553390, 0.976856548372747710, +0.976845852376800550, 0.976835153938738650, 0.976824453058589000, 0.976813749736378250, 0.976803043972133130, 0.976792335765880430, 0.976781625117646770, 0.976770912027459140, +0.976760196495344290, 0.976749478521328650, 0.976738758105439530, 0.976728035247703570, 0.976717309948147430, 0.976706582206798070, 0.976695852023682250, 0.976685119398826850, +0.976674384332258390, 0.976663646824004190, 0.976652906874090900, 0.976642164482545260, 0.976631419649394260, 0.976620672374664770, 0.976609922658383530, 0.976599170500577430, +0.976588415901273320, 0.976577658860498300, 0.976566899378279230, 0.976556137454642760, 0.976545373089616090, 0.976534606283225860, 0.976523837035499160, 0.976513065346462870, +0.976502291216143850, 0.976491514644569180, 0.976480735631765630, 0.976469954177760390, 0.976459170282580220, 0.976448383946252110, 0.976437595168803020, 0.976426803950259830, +0.976416010290649730, 0.976405214189999700, 0.976394415648336510, 0.976383614665687350, 0.976372811242079200, 0.976362005377539030, 0.976351197072093720, 0.976340386325770360, +0.976329573138596140, 0.976318757510598050, 0.976307939441803050, 0.976297118932238140, 0.976286295981930510, 0.976275470590907140, 0.976264642759194780, 0.976253812486821080, +0.976242979773812910, 0.976232144620197250, 0.976221307026001180, 0.976210466991251910, 0.976199624515976530, 0.976188779600202010, 0.976177932243955330, 0.976167082447264020, +0.976156230210154960, 0.976145375532655460, 0.976134518414792370, 0.976123658856593130, 0.976112796858084610, 0.976101932419294220, 0.976091065540248710, 0.976080196220975750, +0.976069324461502410, 0.976058450261855560, 0.976047573622062740, 0.976036694542150920, 0.976025813022147410, 0.976014929062079100, 0.976004042661973710, 0.975993153821858250, +0.975982262541759900, 0.975971368821705880, 0.975960472661723370, 0.975949574061839690, 0.975938673022082150, 0.975927769542477730, 0.975916863623053970, 0.975905955263838170, +0.975895044464857420, 0.975884131226139150, 0.975873215547710450, 0.975862297429598740, 0.975851376871831320, 0.975840453874435190, 0.975829528437438200, 0.975818600560867330, +0.975807670244750010, 0.975796737489113440, 0.975785802293985150, 0.975774864659392230, 0.975763924585361990, 0.975752982071922180, 0.975742037119099900, 0.975731089726922460, +0.975720139895417390, 0.975709187624611900, 0.975698232914533500, 0.975687275765209530, 0.975676316176667060, 0.975665354148934070, 0.975654389682037770, 0.975643422776005350, +0.975632453430864470, 0.975621481646642420, 0.975610507423366750, 0.975599530761064540, 0.975588551659763660, 0.975577570119491420, 0.975566586140275360, 0.975555599722142670, +0.975544610865121120, 0.975533619569238010, 0.975522625834520760, 0.975511629660996920, 0.975500631048694110, 0.975489629997639660, 0.975478626507861210, 0.975467620579386190, +0.975456612212242110, 0.975445601406456530, 0.975434588162056860, 0.975423572479070630, 0.975412554357525610, 0.975401533797449210, 0.975390510798868960, 0.975379485361812400, +0.975368457486307180, 0.975357427172380830, 0.975346394420060660, 0.975335359229374750, 0.975324321600350430, 0.975313281533015330, 0.975302239027396990, 0.975291194083523050, +0.975280146701421160, 0.975269096881118850, 0.975258044622643650, 0.975246989926023540, 0.975235932791285950, 0.975224873218458520, 0.975213811207568890, 0.975202746758644820, +0.975191679871713730, 0.975180610546803490, 0.975169538783941640, 0.975158464583156030, 0.975147387944474310, 0.975136308867924130, 0.975125227353533130, 0.975114143401329070, +0.975103057011339700, 0.975091968183592450, 0.975080876918115400, 0.975069783214936310, 0.975058687074082610, 0.975047588495582260, 0.975036487479463030, 0.975025384025752450, +0.975014278134478500, 0.975003169805668590, 0.974992059039351040, 0.974980945835553280, 0.974969830194303170, 0.974958712115628460, 0.974947591599557020, 0.974936468646116490, +0.974925343255334750, 0.974914215427239770, 0.974903085161859200, 0.974891952459221000, 0.974880817319352940, 0.974869679742282780, 0.974858539728038380, 0.974847397276647710, +0.974836252388138310, 0.974825105062538500, 0.974813955299875910, 0.974802803100178420, 0.974791648463473990, 0.974780491389790390, 0.974769331879155490, 0.974758169931597360, +0.974747005547143550, 0.974735838725822480, 0.974724669467661790, 0.974713497772689450, 0.974702323640933340, 0.974691147072421440, 0.974679968067181600, 0.974668786625241700, +0.974657602746630050, 0.974646416431374400, 0.974635227679502720, 0.974624036491042900, 0.974612842866023010, 0.974601646804471030, 0.974590448306414950, 0.974579247371882510, +0.974568044000902130, 0.974556838193501700, 0.974545629949709170, 0.974534419269552530, 0.974523206153059870, 0.974511990600259280, 0.974500772611178620, 0.974489552185845760, +0.974478329324289350, 0.974467104026537020, 0.974455876292616980, 0.974444646122557210, 0.974433413516385900, 0.974422178474131040, 0.974410940995820480, 0.974399701081482770, +0.974388458731145880, 0.974377213944837780, 0.974365966722586680, 0.974354717064420670, 0.974343464970367830, 0.974332210440456370, 0.974320953474714150, 0.974309694073169700, +0.974298432235851110, 0.974287167962786360, 0.974275901254003760, 0.974264632109531400, 0.974253360529397370, 0.974242086513629870, 0.974230810062257310, 0.974219531175307680, +0.974208249852809290, 0.974196966094790230, 0.974185679901278690, 0.974174391272303100, 0.974163100207891430, 0.974151806708071780, 0.974140510772872890, 0.974129212402322750, +0.974117911596449450, 0.974106608355281510, 0.974095302678846920, 0.974083994567174210, 0.974072684020291460, 0.974061371038226760, 0.974050055621008880, 0.974038737768665790, +0.974027417481225900, 0.974016094758717530, 0.974004769601168880, 0.973993442008608270, 0.973982111981063880, 0.973970779518564480, 0.973959444621138040, 0.973948107288812980, +0.973936767521617730, 0.973925425319580480, 0.973914080682729670, 0.973902733611093700, 0.973891384104700770, 0.973880032163579430, 0.973868677787758100, 0.973857320977265070, +0.973845961732128670, 0.973834600052377430, 0.973823235938039770, 0.973811869389143880, 0.973800500405718190, 0.973789128987791460, 0.973777755135391890, 0.973766378848547890, +0.973755000127288000, 0.973743618971640520, 0.973732235381634110, 0.973720849357296860, 0.973709460898657620, 0.973698070005744820, 0.973686676678586770, 0.973675280917212120, +0.973663882721649280, 0.973652482091926670, 0.973641079028072840, 0.973629673530116090, 0.973618265598085400, 0.973606855232009070, 0.973595442431915650, 0.973584027197833550, +0.973572609529791300, 0.973561189427817660, 0.973549766891940840, 0.973538341922189690, 0.973526914518592860, 0.973515484681178660, 0.973504052409975620, 0.973492617705012610, +0.973481180566318050, 0.973469740993920470, 0.973458298987848410, 0.973446854548130740, 0.973435407674795970, 0.973423958367872650, 0.973412506627389430, 0.973401052453374940, +0.973389595845857940, 0.973378136804866840, 0.973366675330430200, 0.973355211422577080, 0.973343745081335920, 0.973332276306735470, 0.973320805098804250, 0.973309331457571040, +0.973297855383064460, 0.973286376875313050, 0.973274895934346020, 0.973263412560191670, 0.973251926752878750, 0.973240438512436020, 0.973228947838892240, 0.973217454732276050, +0.973205959192616320, 0.973194461219941350, 0.973182960814280570, 0.973171457975662290, 0.973159952704115370, 0.973148444999668570, 0.973136934862350760, 0.973125422292190460, +0.973113907289216540, 0.973102389853457980, 0.973090869984943430, 0.973079347683701750, 0.973067822949761680, 0.973056295783152110, 0.973044766183901680, 0.973033234152039460, +0.973021699687593890, 0.973010162790594270, 0.972998623461069250, 0.972987081699047680, 0.972975537504558340, 0.972963990877630190, 0.972952441818292100, 0.972940890326572940, +0.972929336402501340, 0.972917780046106520, 0.972906221257417330, 0.972894660036462520, 0.972883096383271080, 0.972871530297871990, 0.972859961780293990, 0.972848390830565850, +0.972836817448716970, 0.972825241634776130, 0.972813663388772070, 0.972802082710733870, 0.972790499600690530, 0.972778914058670900, 0.972767326084703950, 0.972755735678818570, +0.972744142841044050, 0.972732547571409030, 0.972720949869942840, 0.972709349736674110, 0.972697747171632040, 0.972686142174845720, 0.972674534746343910, 0.972662924886155580, +0.972651312594310260, 0.972639697870836480, 0.972628080715763570, 0.972616461129120480, 0.972604839110936200, 0.972593214661239820, 0.972581587780060210, 0.972569958467426780, +0.972558326723368500, 0.972546692547914370, 0.972535055941093570, 0.972523416902935090, 0.972511775433468120, 0.972500131532721630, 0.972488485200724620, 0.972476836437506600, +0.972465185243096550, 0.972453531617523570, 0.972441875560816630, 0.972430217073005030, 0.972418556154117990, 0.972406892804184240, 0.972395227023233550, 0.972383558811294790, +0.972371888168397040, 0.972360215094569710, 0.972348539589841690, 0.972336861654242380, 0.972325181287800990, 0.972313498490546380, 0.972301813262508200, 0.972290125603715530, +0.972278435514197570, 0.972266742993983520, 0.972255048043102480, 0.972243350661583960, 0.972231650849457060, 0.972219948606750760, 0.972208243933494810, 0.972196536829718290, +0.972184827295450420, 0.972173115330720480, 0.972161400935557700, 0.972149684109991470, 0.972137964854050800, 0.972126243167765520, 0.972114519051164530, 0.972102792504277220, +0.972091063527133040, 0.972079332119761050, 0.972067598282190800, 0.972055862014451600, 0.972044123316572530, 0.972032382188583340, 0.972020638630513130, 0.972008892642391430, +0.971997144224247430, 0.971985393376110670, 0.971973640098010350, 0.971961884389975880, 0.971950126252036580, 0.971938365684222090, 0.971926602686561720, 0.971914837259084900, +0.971903069401820920, 0.971891299114799320, 0.971879526398049420, 0.971867751251600520, 0.971855973675482490, 0.971844193669724520, 0.971832411234356040, 0.971820626369406470, +0.971808839074905450, 0.971797049350882180, 0.971785257197366410, 0.971773462614387240, 0.971761665601974630, 0.971749866160157900, 0.971738064288966470, 0.971726259988429870, +0.971714453258577640, 0.971702644099439290, 0.971690832511044160, 0.971679018493422090, 0.971667202046602510, 0.971655383170614840, 0.971643561865488840, 0.971631738131253810, +0.971619911967939510, 0.971608083375575360, 0.971596252354190890, 0.971584418903815970, 0.971572583024480020, 0.971560744716212570, 0.971548903979043250, 0.971537060813001730, +0.971525215218117520, 0.971513367194420270, 0.971501516741939410, 0.971489663860704900, 0.971477808550746280, 0.971465950812093190, 0.971454090644775170, 0.971442228048821850, +0.971430363024263110, 0.971418495571128140, 0.971406625689447250, 0.971394753379249740, 0.971382878640565270, 0.971371001473423700, 0.971359121877854560, 0.971347239853887710, +0.971335355401552690, 0.971323468520879140, 0.971311579211897040, 0.971299687474636020, 0.971287793309125850, 0.971275896715396050, 0.971263997693476600, 0.971252096243397260, +0.971240192365187550, 0.971228286058877120, 0.971216377324496280, 0.971204466162074450, 0.971192552571641500, 0.971180636553227060, 0.971168718106861120, 0.971156797232573420, +0.971144873930393390, 0.971132948200351450, 0.971121020042477130, 0.971109089456800300, 0.971097156443350820, 0.971085221002158330, 0.971073283133252810, 0.971061342836664010, +0.971049400112421800, 0.971037454960556160, 0.971025507381096940, 0.971013557374074020, 0.971001604939517150, 0.970989650077456190, 0.970977692787921230, 0.970965733070941810, +0.970953770926548220, 0.970941806354770120, 0.970929839355637700, 0.970917869929180500, 0.970905898075428710, 0.970893923794412190, 0.970881947086160820, 0.970869967950704460, +0.970857986388073300, 0.970846002398297210, 0.970834015981406060, 0.970822027137429930, 0.970810035866398800, 0.970798042168342420, 0.970786046043291000, 0.970774047491274270, +0.970762046512322670, 0.970750043106465950, 0.970738037273734090, 0.970726029014157170, 0.970714018327765050, 0.970702005214588050, 0.970689989674655700, 0.970677971707998630, +0.970665951314646720, 0.970653928494629840, 0.970641903247978170, 0.970629875574721690, 0.970617845474890610, 0.970605812948514780, 0.970593777995624300, 0.970581740616249580, +0.970569700810420600, 0.970557658578167230, 0.970545613919519770, 0.970533566834508310, 0.970521517323162830, 0.970509465385513640, 0.970497411021590590, 0.970485354231424120, +0.970473295015044310, 0.970461233372481360, 0.970449169303765240, 0.970437102808926260, 0.970425033887994390, 0.970412962540999850, 0.970400888767973040, 0.970388812568944050, +0.970376733943943080, 0.970364652893000220, 0.970352569416145670, 0.970340483513409740, 0.970328395184822610, 0.970316304430414280, 0.970304211250215490, 0.970292115644255990, +0.970280017612566330, 0.970267917155176570, 0.970255814272117050, 0.970243708963418050, 0.970231601229109450, 0.970219491069222120, 0.970207378483786130, 0.970195263472831580, +0.970183146036388890, 0.970171026174488360, 0.970158903887160310, 0.970146779174434930, 0.970134652036342420, 0.970122522472913530, 0.970110390484178240, 0.970098256070167090, +0.970086119230910150, 0.970073979966438070, 0.970061838276780940, 0.970049694161969290, 0.970037547622033090, 0.970025398657003320, 0.970013247266909960, 0.970001093451783650, +0.969988937211654470, 0.969976778546552950, 0.969964617456509530, 0.969952453941554380, 0.969940288001718280, 0.969928119637031410, 0.969915948847524300, 0.969903775633227270, +0.969891599994170850, 0.969879421930385340, 0.969867241441901400, 0.969855058528749090, 0.969842873190959300, 0.969830685428562430, 0.969818495241588810, 0.969806302630068950, +0.969794107594033280, 0.969781910133512340, 0.969769710248536750, 0.969757507939136510, 0.969745303205342800, 0.969733096047185830, 0.969720886464696120, 0.969708674457904210, +0.969696460026840620, 0.969684243171535790, 0.969672023892020230, 0.969659802188324820, 0.969647578060479850, 0.969635351508515990, 0.969623122532463740, 0.969610891132353660, +0.969598657308216370, 0.969586421060082420, 0.969574182387982210, 0.969561941291946730, 0.969549697772006500, 0.969537451828191950, 0.969525203460533720, 0.969512952669062570, +0.969500699453809010, 0.969488443814803480, 0.969476185752077060, 0.969463925265660160, 0.969451662355583550, 0.969439397021877650, 0.969427129264573310, 0.969414859083701170, +0.969402586479291890, 0.969390311451375890, 0.969378033999984230, 0.969365754125147690, 0.969353471826896570, 0.969341187105261960, 0.969328899960274270, 0.969316610391964370, +0.969304318400362910, 0.969292023985500410, 0.969279727147408180, 0.969267427886116530, 0.969255126201656330, 0.969242822094058320, 0.969230515563353270, 0.969218206609571920, +0.969205895232744810, 0.969193581432903240, 0.969181265210077750, 0.969168946564298970, 0.969156625495597890, 0.969144302004005250, 0.969131976089551820, 0.969119647752268550, +0.969107316992185890, 0.969094983809335120, 0.969082648203746900, 0.969070310175452090, 0.969057969724481440, 0.969045626850865930, 0.969033281554636310, 0.969020933835823330, +0.969008583694458190, 0.968996231130571650, 0.968983876144194460, 0.968971518735357580, 0.968959158904091900, 0.968946796650428380, 0.968934431974397880, 0.968922064876031050, +0.968909695355359200, 0.968897323412413190, 0.968884949047223890, 0.968872572259822150, 0.968860193050239070, 0.968847811418505510, 0.968835427364652340, 0.968823040888710410, +0.968810651990711040, 0.968798260670685200, 0.968785866928663530, 0.968773470764677350, 0.968761072178757400, 0.968748671170934770, 0.968736267741240220, 0.968723861889705270, +0.968711453616360680, 0.968699042921237430, 0.968686629804366590, 0.968674214265779150, 0.968661796305506200, 0.968649375923578690, 0.968636953120027620, 0.968624527894884400, +0.968612100248179790, 0.968599670179944860, 0.968587237690210930, 0.968574802779008760, 0.968562365446369640, 0.968549925692324680, 0.968537483516904610, 0.968525038920140970, +0.968512591902064850, 0.968500142462707210, 0.968487690602099270, 0.968475236320271990, 0.968462779617256690, 0.968450320493084220, 0.968437858947786220, 0.968425394981393460, +0.968412928593937350, 0.968400459785448860, 0.968387988555959200, 0.968375514905499560, 0.968363038834101130, 0.968350560341794900, 0.968338079428612500, 0.968325596094584910, +0.968313110339743320, 0.968300622164118940, 0.968288131567742960, 0.968275638550646690, 0.968263143112861210, 0.968250645254417950, 0.968238144975348100, 0.968225642275682970, +0.968213137155453650, 0.968200629614691550, 0.968188119653427880, 0.968175607271693830, 0.968163092469520590, 0.968150575246939820, 0.968138055603982580, 0.968125533540680320, +0.968113009057064100, 0.968100482153165460, 0.968087952829015610, 0.968075421084645840, 0.968062886920087240, 0.968050350335371680, 0.968037811330530350, 0.968025269905594340, +0.968012726060595300, 0.968000179795564300, 0.967987631110532990, 0.967975080005532230, 0.967962526480594110, 0.967949970535749600, 0.967937412171030240, 0.967924851386467330, +0.967912288182092300, 0.967899722557936440, 0.967887154514031400, 0.967874584050408160, 0.967862011167098800, 0.967849435864134300, 0.967836858141546300, 0.967824277999366100, +0.967811695437625240, 0.967799110456355140, 0.967786523055587210, 0.967773933235352770, 0.967761340995683780, 0.967748746336611340, 0.967736149258167090, 0.967723549760382440, +0.967710947843288930, 0.967698343506918080, 0.967685736751301100, 0.967673127576470060, 0.967660515982456170, 0.967647901969290960, 0.967635285537006060, 0.967622666685632900, +0.967610045415203120, 0.967597421725748250, 0.967584795617299490, 0.967572167089889020, 0.967559536143548170, 0.967546902778308460, 0.967534266994201420, 0.967521628791258800, +0.967508988169512140, 0.967496345128992630, 0.967483699669732580, 0.967471051791763290, 0.967458401495116420, 0.967445748779823480, 0.967433093645916120, 0.967420436093426090, +0.967407776122385040, 0.967395113732824160, 0.967382448924775870, 0.967369781698271370, 0.967357112053342520, 0.967344439990020730, 0.967331765508337990, 0.967319088608325720, +0.967306409290015770, 0.967293727553439680, 0.967281043398629300, 0.967268356825616400, 0.967255667834432620, 0.967242976425109700, 0.967230282597679290, 0.967217586352173250, +0.967204887688623010, 0.967192186607060630, 0.967179483107517890, 0.967166777190026530, 0.967154068854618080, 0.967141358101324510, 0.967128644930177580, 0.967115929341208940, +0.967103211334450320, 0.967090490909933930, 0.967077768067691300, 0.967065042807754180, 0.967052315130154550, 0.967039585034924040, 0.967026852522094640, 0.967014117591698090, +0.967001380243766030, 0.966988640478330770, 0.966975898295423850, 0.966963153695077130, 0.966950406677322680, 0.966937657242192160, 0.966924905389717430, 0.966912151119930230, +0.966899394432862880, 0.966886635328547130, 0.966873873807014730, 0.966861109868297650, 0.966848343512427770, 0.966835574739437040, 0.966822803549357350, 0.966810029942220430, +0.966797253918058710, 0.966784475476903940, 0.966771694618787870, 0.966758911343742480, 0.966746125651799960, 0.966733337542992070, 0.966720547017350550, 0.966707754074908050, +0.966694958715696000, 0.966682160939746680, 0.966669360747091870, 0.966656558137763740, 0.966643753111794070, 0.966630945669215150, 0.966618135810058620, 0.966605323534356910, +0.966592508842141980, 0.966579691733445710, 0.966566872208300290, 0.966554050266737570, 0.966541225908789880, 0.966528399134488960, 0.966515569943866890, 0.966502738336956210, +0.966489904313788560, 0.966477067874396130, 0.966464229018811130, 0.966451387747065520, 0.966438544059191500, 0.966425697955220820, 0.966412849435186130, 0.966399998499119280, +0.966387145147052480, 0.966374289379017810, 0.966361431195047470, 0.966348570595173540, 0.966335707579428100, 0.966322842147843250, 0.966309974300451510, 0.966297104037284750, +0.966284231358375270, 0.966271356263755270, 0.966258478753456830, 0.966245598827512260, 0.966232716485953660, 0.966219831728812980, 0.966206944556122990, 0.966194054967915660, +0.966181162964223180, 0.966168268545077760, 0.966155371710511690, 0.966142472460557180, 0.966129570795246310, 0.966116666714611720, 0.966103760218685490, 0.966090851307499830, +0.966077939981087040, 0.966065026239479320, 0.966052110082709080, 0.966039191510808640, 0.966026270523809960, 0.966013347121745800, 0.966000421304648360, 0.965987493072549720, +0.965974562425482520, 0.965961629363478740, 0.965948693886571010, 0.965935755994791310, 0.965922815688172400, 0.965909872966746460, 0.965896927830545820, 0.965883980279602870, +0.965871030313950050, 0.965858077933619550, 0.965845123138643900, 0.965832165929055300, 0.965819206304886380, 0.965806244266169460, 0.965793279812936940, 0.965780312945221260, +0.965767343663054830, 0.965754371966469960, 0.965741397855499170, 0.965728421330174780, 0.965715442390529420, 0.965702461036595520, 0.965689477268405480, 0.965676491085991630, +0.965663502489386700, 0.965650511478622910, 0.965637518053732660, 0.965624522214748810, 0.965611523961703690, 0.965598523294629810, 0.965585520213559590, 0.965572514718525570, +0.965559506809560150, 0.965546496486696100, 0.965533483749965500, 0.965520468599401440, 0.965507451035036320, 0.965494431056902470, 0.965481408665032510, 0.965468383859459100, +0.965455356640214650, 0.965442327007331680, 0.965429294960843070, 0.965416260500781220, 0.965403223627178670, 0.965390184340068180, 0.965377142639482160, 0.965364098525453240, +0.965351051998014190, 0.965338003057197190, 0.965324951703035450, 0.965311897935561270, 0.965298841754807400, 0.965285783160806490, 0.965272722153591060, 0.965259658733193750, +0.965246592899647430, 0.965233524652984290, 0.965220453993237640, 0.965207380920439780, 0.965194305434623480, 0.965181227535821470, 0.965168147224066410, 0.965155064499390920, +0.965141979361827550, 0.965128891811409480, 0.965115801848169140, 0.965102709472139390, 0.965089614683352750, 0.965076517481842200, 0.965063417867640270, 0.965050315840779830, +0.965037211401293280, 0.965024104549214060, 0.965010995284574570, 0.964997883607407460, 0.964984769517745810, 0.964971653015622160, 0.964958534101069350, 0.964945412774120270, +0.964932289034807320, 0.964919162883163930, 0.964906034319222730, 0.964892903343016360, 0.964879769954577690, 0.964866634153939700, 0.964853495941135010, 0.964840355316196390, +0.964827212279157130, 0.964814066830049890, 0.964800918968907410, 0.964787768695762660, 0.964774616010648510, 0.964761460913597820, 0.964748303404643460, 0.964735143483818060, +0.964721981151155040, 0.964708816406687150, 0.964695649250447150, 0.964682479682468120, 0.964669307702782810, 0.964656133311424190, 0.964642956508425130, 0.964629777293818820, +0.964616595667638020, 0.964603411629915810, 0.964590225180685160, 0.964577036319978820, 0.964563845047829880, 0.964550651364271430, 0.964537455269335990, 0.964524256763057200, +0.964511055845467810, 0.964497852516600810, 0.964484646776489040, 0.964471438625165820, 0.964458228062663900, 0.964445015089016370, 0.964431799704256190, 0.964418581908416670, +0.964405361701530680, 0.964392139083631310, 0.964378914054751620, 0.964365686614924610, 0.964352456764183350, 0.964339224502560820, 0.964325989830090440, 0.964312752746805060, +0.964299513252737770, 0.964286271347921660, 0.964273027032389930, 0.964259780306175650, 0.964246531169311920, 0.964233279621831580, 0.964220025663768300, 0.964206769295155030, +0.964193510516024750, 0.964180249326410670, 0.964166985726346070, 0.964153719715863940, 0.964140451294997480, 0.964127180463779650, 0.964113907222244220, 0.964100631570423920, +0.964087353508352060, 0.964074073036061850, 0.964060790153586480, 0.964047504860959030, 0.964034217158212690, 0.964020927045381000, 0.964007634522496940, 0.963994339589593910, +0.963981042246704890, 0.963967742493863410, 0.963954440331102450, 0.963941135758455530, 0.963927828775955400, 0.963914519383636040, 0.963901207581530310, 0.963887893369671510, +0.963874576748093070, 0.963861257716828180, 0.963847936275910140, 0.963834612425372050, 0.963821286165247650, 0.963807957495570020, 0.963794626416372480, 0.963781292927688330, +0.963767957029550980, 0.963754618721993860, 0.963741278005050050, 0.963727934878752860, 0.963714589343136030, 0.963701241398232770, 0.963687891044076480, 0.963674538280700380, +0.963661183108137860, 0.963647825526422470, 0.963634465535587510, 0.963621103135666180, 0.963607738326692330, 0.963594371108699050, 0.963581001481719880, 0.963567629445788220, +0.963554255000937500, 0.963540878147201130, 0.963527498884612310, 0.963514117213205010, 0.963500733133012430, 0.963487346644067990, 0.963473957746405210, 0.963460566440057510, +0.963447172725058420, 0.963433776601441360, 0.963420378069239640, 0.963406977128487220, 0.963393573779217300, 0.963380168021463530, 0.963366759855259320, 0.963353349280638200, +0.963339936297633700, 0.963326520906279350, 0.963313103106608450, 0.963299682898655090, 0.963286260282452460, 0.963272835258034200, 0.963259407825433840, 0.963245977984685030, +0.963232545735821180, 0.963219111078875810, 0.963205674013882910, 0.963192234540875770, 0.963178792659888040, 0.963165348370953360, 0.963151901674105250, 0.963138452569377470, +0.963125001056803540, 0.963111547136416780, 0.963098090808251480, 0.963084632072340960, 0.963071170928718860, 0.963057707377418800, 0.963044241418474440, 0.963030773051919530, +0.963017302277787480, 0.963003829096112260, 0.962990353506927630, 0.962976875510267120, 0.962963395106164350, 0.962949912294653100, 0.962936427075767100, 0.962922939449539990, +0.962909449416005310, 0.962895956975197250, 0.962882462127149230, 0.962868964871895110, 0.962855465209468630, 0.962841963139903450, 0.962828458663233410, 0.962814951779492170, +0.962801442488713240, 0.962787930790931060, 0.962774416686179020, 0.962760900174490900, 0.962747381255900650, 0.962733859930441800, 0.962720336198148340, 0.962706810059053900, +0.962693281513192560, 0.962679750560598070, 0.962666217201304190, 0.962652681435344770, 0.962639143262753570, 0.962625602683564670, 0.962612059697811610, 0.962598514305528230, +0.962584966506748850, 0.962571416301507000, 0.962557863689836650, 0.962544308671771540, 0.962530751247345770, 0.962517191416593090, 0.962503629179547350, 0.962490064536242420, +0.962476497486712490, 0.962462928030991320, 0.962449356169112870, 0.962435781901111010, 0.962422205227019710, 0.962408626146872950, 0.962395044660704250, 0.962381460768548250, +0.962367874470438590, 0.962354285766409360, 0.962340694656494300, 0.962327101140727500, 0.962313505219142940, 0.962299906891774580, 0.962286306158656290, 0.962272703019822480, +0.962259097475306910, 0.962245489525143550, 0.962231879169366480, 0.962218266408009780, 0.962204651241107320, 0.962191033668693070, 0.962177413690801450, 0.962163791307466320, +0.962150166518721650, 0.962136539324601640, 0.962122909725140140, 0.962109277720371470, 0.962095643310329600, 0.962082006495048380, 0.962068367274562460, 0.962054725648905480, +0.962041081618111750, 0.962027435182215340, 0.962013786341250340, 0.962000135095250840, 0.961986481444251030, 0.961972825388284770, 0.961959166927386700, 0.961945506061590680, +0.961931842790930910, 0.961918177115441590, 0.961904509035156790, 0.961890838550110590, 0.961877165660337210, 0.961863490365871150, 0.961849812666746300, 0.961836132562996940, +0.961822450054657270, 0.961808765141761500, 0.961795077824343700, 0.961781388102438290, 0.961767695976079250, 0.961754001445301100, 0.961740304510137920, 0.961726605170624030, +0.961712903426793610, 0.961699199278680970, 0.961685492726320310, 0.961671783769745710, 0.961658072408991820, 0.961644358644092810, 0.961630642475082900, 0.961616923901996380, +0.961603202924867560, 0.961589479543730750, 0.961575753758620140, 0.961562025569569930, 0.961548294976614980, 0.961534561979789260, 0.961520826579127070, 0.961507088774662950, +0.961493348566430980, 0.961479605954465690, 0.961465860938801380, 0.961452113519472240, 0.961438363696512920, 0.961424611469957830, 0.961410856839841180, 0.961397099806197360, +0.961383340369060810, 0.961369578528465830, 0.961355814284446720, 0.961342047637038340, 0.961328278586274790, 0.961314507132190580, 0.961300733274820130, 0.961286957014197860, +0.961273178350358080, 0.961259397283335430, 0.961245613813164090, 0.961231827939878940, 0.961218039663514160, 0.961204248984104280, 0.961190455901683840, 0.961176660416287240, +0.961162862527948910, 0.961149062236703600, 0.961135259542585270, 0.961121454445629020, 0.961107646945869140, 0.961093837043340170, 0.961080024738076630, 0.961066210030113060, +0.961052392919483860, 0.961038573406223450, 0.961024751490366920, 0.961010927171948470, 0.960997100451002730, 0.960983271327564230, 0.960969439801667490, 0.960955605873347270, +0.960941769542637990, 0.960927930809573950, 0.960914089674190450, 0.960900246136521700, 0.960886400196602320, 0.960872551854466850, 0.960858701110150150, 0.960844847963686630, +0.960830992415110720, 0.960817134464457600, 0.960803274111761700, 0.960789411357057530, 0.960775546200379860, 0.960761678641763320, 0.960747808681242540, 0.960733936318852290, +0.960720061554626970, 0.960706184388601780, 0.960692304820811030, 0.960678422851289570, 0.960664538480072050, 0.960650651707193210, 0.960636762532687700, 0.960622870956590270, +0.960608976978935440, 0.960595080599758510, 0.960581181819093690, 0.960567280636976050, 0.960553377053440240, 0.960539471068520890, 0.960525562682252860, 0.960511651894670690, +0.960497738705809680, 0.960483823115704350, 0.960469905124389340, 0.960455984731899640, 0.960442061938269980, 0.960428136743535220, 0.960414209147730010, 0.960400279150889100, +0.960386346753047790, 0.960372411954240500, 0.960358474754502200, 0.960344535153867750, 0.960330593152372010, 0.960316648750049740, 0.960302701946935790, 0.960288752743064910, +0.960274801138472410, 0.960260847133192820, 0.960246890727261220, 0.960232931920712350, 0.960218970713581090, 0.960205007105902510, 0.960191041097711030, 0.960177072689042290, +0.960163101879930920, 0.960149128670411690, 0.960135153060519660, 0.960121175050289820, 0.960107194639756910, 0.960093211828956130, 0.960079226617922000, 0.960065239006690160, +0.960051248995295150, 0.960037256583772040, 0.960023261772155690, 0.960009264560481300, 0.959995264948783730, 0.959981262937097730, 0.959967258525458830, 0.959953251713901780, +0.959939242502461540, 0.959925230891173320, 0.959911216880071970, 0.959897200469192580, 0.959883181658570120, 0.959869160448239560, 0.959855136838236200, 0.959841110828595130, +0.959827082419351330, 0.959813051610539650, 0.959799018402195500, 0.959784982794353760, 0.959770944787049500, 0.959756904380317690, 0.959742861574193860, 0.959728816368712880, +0.959714768763909820, 0.959700718759819880, 0.959686666356478150, 0.959672611553919700, 0.959658554352179500, 0.959644494751293210, 0.959630432751295670, 0.959616368352221970, +0.959602301554107420, 0.959588232356987090, 0.959574160760896190, 0.959560086765869900, 0.959546010371943200, 0.959531931579151620, 0.959517850387530240, 0.959503766797114240, +0.959489680807938840, 0.959475592420039210, 0.959461501633450680, 0.959447408448208310, 0.959433312864347190, 0.959419214881903070, 0.959405114500910820, 0.959391011721405840, +0.959376906543423340, 0.959362798966998610, 0.959348688992166850, 0.959334576618963150, 0.959320461847423140, 0.959306344677582130, 0.959292225109475210, 0.959278103143137660, +0.959263978778604920, 0.959249852015912170, 0.959235722855094840, 0.959221591296188000, 0.959207457339227300, 0.959193320984248030, 0.959179182231285510, 0.959165041080375040, +0.959150897531551920, 0.959136751584851450, 0.959122603240309070, 0.959108452497960280, 0.959094299357840410, 0.959080143819984740, 0.959065985884428710, 0.959051825551207830, +0.959037662820357300, 0.959023497691912640, 0.959009330165908950, 0.958995160242382180, 0.958980987921367540, 0.958966813202900450, 0.958952636087016310, 0.958938456573750540, +0.958924274663138680, 0.958910090355216130, 0.958895903650018090, 0.958881714547580530, 0.958867523047938650, 0.958853329151128090, 0.958839132857184140, 0.958824934166142340, +0.958810733078038210, 0.958796529592906950, 0.958782323710784650, 0.958768115431706590, 0.958753904755708210, 0.958739691682825020, 0.958725476213092680, 0.958711258346546690, +0.958697038083222490, 0.958682815423155370, 0.958668590366381520, 0.958654362912936260, 0.958640133062855000, 0.958625900816173490, 0.958611666172927150, 0.958597429133151710, +0.958583189696882610, 0.958568947864155360, 0.958554703635005940, 0.958540457009469880, 0.958526207987582590, 0.958511956569379820, 0.958497702754897100, 0.958483446544170170, +0.958469187937234350, 0.958454926934125710, 0.958440663534879890, 0.958426397739532420, 0.958412129548118940, 0.958397858960675090, 0.958383585977236610, 0.958369310597839140, +0.958355032822518220, 0.958340752651309910, 0.958326470084249650, 0.958312185121373390, 0.958297897762716570, 0.958283608008315020, 0.958269315858204410, 0.958255021312420240, +0.958240724370998830, 0.958226425033975590, 0.958212123301386280, 0.958197819173266740, 0.958183512649652510, 0.958169203730579680, 0.958154892416083650, 0.958140578706200290, +0.958126262600965670, 0.958111944100415340, 0.958097623204585250, 0.958083299913511040, 0.958068974227228590, 0.958054646145773740, 0.958040315669182240, 0.958025982797489740, +0.958011647530732540, 0.957997309868946160, 0.957982969812166460, 0.957968627360429430, 0.957954282513770790, 0.957939935272226540, 0.957925585635832080, 0.957911233604623940, +0.957896879178637750, 0.957882522357909380, 0.957868163142474690, 0.957853801532369540, 0.957839437527629900, 0.957825071128291740, 0.957810702334390580, 0.957796331145962850, +0.957781957563044410, 0.957767581585671100, 0.957753203213878690, 0.957738822447703360, 0.957724439287180980, 0.957710053732347300, 0.957695665783238730, 0.957681275439890900, +0.957666882702339910, 0.957652487570621710, 0.957638090044772290, 0.957623690124827730, 0.957609287810823880, 0.957594883102796610, 0.957580476000782330, 0.957566066504816790, +0.957551654614936190, 0.957537240331176490, 0.957522823653573550, 0.957508404582163690, 0.957493983116982750, 0.957479559258066600, 0.957465133005451770, 0.957450704359174230, +0.957436273319269840, 0.957421839885774780, 0.957407404058725040, 0.957392965838156920, 0.957378525224106050, 0.957364082216609180, 0.957349636815702070, 0.957335189021420900, +0.957320738833801750, 0.957306286252880720, 0.957291831278693990, 0.957277373911277650, 0.957262914150667670, 0.957248451996900670, 0.957233987450012540, 0.957219520510039450, +0.957205051177017490, 0.957190579450982960, 0.957176105331971950, 0.957161628820020650, 0.957147149915165030, 0.957132668617441840, 0.957118184926887050, 0.957103698843536630, +0.957089210367427110, 0.957074719498594460, 0.957060226237075100, 0.957045730582904870, 0.957031232536120550, 0.957016732096758190, 0.957002229264853900, 0.956987724040444190, +0.956973216423565030, 0.956958706414252960, 0.956944194012544050, 0.956929679218474380, 0.956915162032080820, 0.956900642453399340, 0.956886120482466240, 0.956871596119317820, +0.956857069363990400, 0.956842540216520380, 0.956828008676943730, 0.956813474745297320, 0.956798938421617230, 0.956784399705939760, 0.956769858598301330, 0.956755315098738120, +0.956740769207286790, 0.956726220923983520, 0.956711670248864390, 0.956697117181966260, 0.956682561723325440, 0.956668003872978230, 0.956653443630961050, 0.956638880997310090, +0.956624315972062100, 0.956609748555253270, 0.956595178746919790, 0.956580606547098640, 0.956566031955825900, 0.956551454973138200, 0.956536875599071750, 0.956522293833663160, +0.956507709676948870, 0.956493123128965060, 0.956478534189748600, 0.956463942859335890, 0.956449349137763250, 0.956434753025067310, 0.956420154521284480, 0.956405553626451300, +0.956390950340604170, 0.956376344663779410, 0.956361736596014090, 0.956347126137344410, 0.956332513287806880, 0.956317898047438050, 0.956303280416274550, 0.956288660394352790, +0.956274037981709400, 0.956259413178380700, 0.956244785984403660, 0.956230156399814680, 0.956215524424650300, 0.956200890058947150, 0.956186253302741760, 0.956171614156070770, +0.956156972618970370, 0.956142328691477860, 0.956127682373629550, 0.956113033665462080, 0.956098382567011960, 0.956083729078315850, 0.956069073199410480, 0.956054414930332390, +0.956039754271118090, 0.956025091221804570, 0.956010425782428340, 0.955995757953026050, 0.955981087733634330, 0.955966415124289930, 0.955951740125029590, 0.955937062735889520, +0.955922382956907010, 0.955907700788118710, 0.955893016229561020, 0.955878329281270810, 0.955863639943284830, 0.955848948215639700, 0.955834254098372190, 0.955819557591518820, +0.955804858695116890, 0.955790157409202700, 0.955775453733813120, 0.955760747668984890, 0.955746039214754870, 0.955731328371159710, 0.955716615138236250, 0.955701899516021030, +0.955687181504551230, 0.955672461103863500, 0.955657738313994700, 0.955643013134981460, 0.955628285566860750, 0.955613555609669320, 0.955598823263443700, 0.955584088528221300, +0.955569351404038650, 0.955554611890932710, 0.955539869988940140, 0.955525125698098000, 0.955510379018442930, 0.955495629950012030, 0.955480878492841690, 0.955466124646969450, +0.955451368412431950, 0.955436609789265920, 0.955421848777508460, 0.955407085377196320, 0.955392319588366570, 0.955377551411055960, 0.955362780845301130, 0.955348007891139720, +0.955333232548608250, 0.955318454817743690, 0.955303674698583020, 0.955288892191163090, 0.955274107295520980, 0.955259320011693450, 0.955244530339717680, 0.955229738279630760, +0.955214943831469430, 0.955200146995270670, 0.955185347771071670, 0.955170546158909170, 0.955155742158820380, 0.955140935770842030, 0.955126126995011540, 0.955111315831365660, +0.955096502279941580, 0.955081686340776170, 0.955066868013906610, 0.955052047299369880, 0.955037224197202830, 0.955022398707442880, 0.955007570830126990, 0.954992740565292150, +0.954977907912975430, 0.954963072873213910, 0.954948235446044790, 0.954933395631505140, 0.954918553429631610, 0.954903708840462050, 0.954888861864033100, 0.954874012500382060, +0.954859160749546020, 0.954844306611562050, 0.954829450086467360, 0.954814591174299010, 0.954799729875093870, 0.954784866188889800, 0.954770000115723440, 0.954755131655632190, +0.954740260808653040, 0.954725387574823170, 0.954710511954179890, 0.954695633946760160, 0.954680753552601510, 0.954665870771741030, 0.954650985604215800, 0.954636098050063110, +0.954621208109320270, 0.954606315782024370, 0.954591421068212600, 0.954576523967922140, 0.954561624481190530, 0.954546722608054950, 0.954531818348552500, 0.954516911702720460, +0.954502002670596260, 0.954487091252216980, 0.954472177447620030, 0.954457261256842270, 0.954442342679921670, 0.954427421716895210, 0.954412498367800290, 0.954397572632674000, +0.954382644511553860, 0.954367714004477060, 0.954352781111480700, 0.954337845832602730, 0.954322908167880010, 0.954307968117350190, 0.954293025681050340, 0.954278080859017890, +0.954263133651290340, 0.954248184057904900, 0.954233232078898760, 0.954218277714309780, 0.954203320964175150, 0.954188361828532170, 0.954173400307418370, 0.954158436400870950, +0.954143470108927530, 0.954128501431625090, 0.954113530369001710, 0.954098556921094580, 0.954083581087940890, 0.954068602869578400, 0.954053622266044290, 0.954038639277376200, +0.954023653903611550, 0.954008666144787410, 0.953993676000941870, 0.953978683472112120, 0.953963688558335800, 0.953948691259650090, 0.953933691576092760, 0.953918689507701200, +0.953903685054512840, 0.953888678216565090, 0.953873668993895920, 0.953858657386542520, 0.953843643394542420, 0.953828627017933360, 0.953813608256752650, 0.953798587111037930, +0.953783563580826390, 0.953768537666156320, 0.953753509367064930, 0.953738478683589630, 0.953723445615768270, 0.953708410163638280, 0.953693372327237170, 0.953678332106602690, +0.953663289501772150, 0.953648244512783630, 0.953633197139674430, 0.953618147382482300, 0.953603095241244760, 0.953588040715999560, 0.953572983806784240, 0.953557924513636410, +0.953542862836593510, 0.953527798775693710, 0.953512732330974440, 0.953497663502473340, 0.953482592290228140, 0.953467518694276370, 0.953452442714655790, 0.953437364351403920, +0.953422283604558940, 0.953407200474158170, 0.953392114960239350, 0.953377027062840330, 0.953361936781998760, 0.953346844117752280, 0.953331749070138730, 0.953316651639195540, +0.953301551824960900, 0.953286449627472440, 0.953271345046767920, 0.953256238082884950, 0.953241128735861420, 0.953226017005735060, 0.953210902892543400, 0.953195786396324850, +0.953180667517116720, 0.953165546254956860, 0.953150422609883250, 0.953135296581933520, 0.953120168171145640, 0.953105037377557250, 0.953089904201206100, 0.953074768642130370, +0.953059630700367700, 0.953044490375955950, 0.953029347668933100, 0.953014202579336780, 0.952999055107204950, 0.952983905252575480, 0.952968753015486000, 0.952953598395974930, +0.952938441394079790, 0.952923282009838670, 0.952908120243289190, 0.952892956094469560, 0.952877789563417510, 0.952862620650170580, 0.952847449354767510, 0.952832275677245820, +0.952817099617643380, 0.952801921175998160, 0.952786740352348230, 0.952771557146731340, 0.952756371559185690, 0.952741183589748800, 0.952725993238459190, 0.952710800505354620, +0.952695605390473040, 0.952680407893852440, 0.952665208015530780, 0.952650005755546150, 0.952634801113936170, 0.952619594090739600, 0.952604384685993950, 0.952589172899737320, +0.952573958732007790, 0.952558742182843420, 0.952543523252282090, 0.952528301940361980, 0.952513078247120840, 0.952497852172597300, 0.952482623716829120, 0.952467392879854380, +0.952452159661711260, 0.952436924062437630, 0.952421686082071670, 0.952406445720651580, 0.952391202978215000, 0.952375957854800780, 0.952360710350446670, 0.952345460465190750, +0.952330208199071100, 0.952314953552126030, 0.952299696524393610, 0.952284437115911600, 0.952269175326718730, 0.952253911156852980, 0.952238644606352550, 0.952223375675255390, +0.952208104363599820, 0.952192830671423910, 0.952177554598766070, 0.952162276145663950, 0.952146995312156520, 0.952131712098281510, 0.952116426504077240, 0.952101138529581890, +0.952085848174833770, 0.952070555439870960, 0.952055260324731760, 0.952039962829454240, 0.952024662954076950, 0.952009360698638060, 0.951994056063175780, 0.951978749047728390, +0.951963439652334100, 0.951948127877031200, 0.951932813721857670, 0.951917497186852370, 0.951902178272053370, 0.951886856977498970, 0.951871533303227380, 0.951856207249277000, +0.951840878815686020, 0.951825548002492860, 0.951810214809735600, 0.951794879237453100, 0.951779541285683320, 0.951764200954464790, 0.951748858243835700, 0.951733513153834480, +0.951718165684499410, 0.951702815835868800, 0.951687463607981290, 0.951672109000875180, 0.951656752014588770, 0.951641392649160480, 0.951626030904628720, 0.951610666781031900, +0.951595300278408330, 0.951579931396796310, 0.951564560136234800, 0.951549186496761790, 0.951533810478415790, 0.951518432081235320, 0.951503051305258810, 0.951487668150524660, +0.951472282617071290, 0.951456894704937000, 0.951441504414160640, 0.951426111744780640, 0.951410716696835300, 0.951395319270363140, 0.951379919465402680, 0.951364517281992560, +0.951349112720170750, 0.951333705779976450, 0.951318296461447830, 0.951302884764623550, 0.951287470689542110, 0.951272054236241840, 0.951256635404761570, 0.951241214195139630, +0.951225790607414410, 0.951210364641625010, 0.951194936297809710, 0.951179505576007060, 0.951164072476255560, 0.951148636998593980, 0.951133199143060830, 0.951117758909694520, +0.951102316298533700, 0.951086871309617330, 0.951071423942983720, 0.951055974198671610, 0.951040522076719520, 0.951025067577166210, 0.951009610700050190, 0.950994151445409770, +0.950978689813284370, 0.950963225803712180, 0.950947759416731930, 0.950932290652382380, 0.950916819510701950, 0.950901345991729600, 0.950885870095503850, 0.950870391822063120, +0.950854911171446720, 0.950839428143693040, 0.950823942738840740, 0.950808454956928560, 0.950792964797995350, 0.950777472262079650, 0.950761977349220080, 0.950746480059455720, +0.950730980392825220, 0.950715478349367320, 0.950699973929120650, 0.950684467132124070, 0.950668957958416330, 0.950653446408036170, 0.950637932481022240, 0.950622416177413610, +0.950606897497249030, 0.950591376440567130, 0.950575853007406880, 0.950560327197806920, 0.950544799011806110, 0.950529268449443410, 0.950513735510757130, 0.950498200195786900, +0.950482662504571140, 0.950467122437148700, 0.950451579993558560, 0.950436035173839340, 0.950420487978030140, 0.950404938406169350, 0.950389386458296510, 0.950373832134450260, +0.950358275434669330, 0.950342716358992810, 0.950327154907459450, 0.950311591080108210, 0.950296024876977950, 0.950280456298107420, 0.950264885343536040, 0.950249312013302430, +0.950233736307445450, 0.950218158226004190, 0.950202577769017620, 0.950186994936524480, 0.950171409728563950, 0.950155822145174580, 0.950140232186395870, 0.950124639852266690, +0.950109045142825900, 0.950093448058112470, 0.950077848598165350, 0.950062246763023640, 0.950046642552726080, 0.950031035967312200, 0.950015427006820730, 0.949999815671290660, +0.949984201960761050, 0.949968585875270890, 0.949952967414859350, 0.949937346579565410, 0.949921723369427710, 0.949906097784486090, 0.949890469824779200, 0.949874839490346120, +0.949859206781225930, 0.949843571697457700, 0.949827934239080630, 0.949812294406133350, 0.949796652198655610, 0.949781007616686380, 0.949765360660264510, 0.949749711329429200, +0.949734059624219750, 0.949718405544675020, 0.949702749090834410, 0.949687090262736570, 0.949671429060421230, 0.949655765483927380, 0.949640099533294200, 0.949624431208560660, +0.949608760509766060, 0.949593087436949590, 0.949577411990150330, 0.949561734169407370, 0.949546053974760220, 0.949530371406248070, 0.949514686463909910, 0.949498999147785020, +0.949483309457912710, 0.949467617394332050, 0.949451922957082140, 0.949436226146202600, 0.949420526961732620, 0.949404825403711290, 0.949389121472177800, 0.949373415167171660, +0.949357706488731860, 0.949341995436897790, 0.949326282011708540, 0.949310566213203870, 0.949294848041422720, 0.949279127496404420, 0.949263404578188360, 0.949247679286813750, +0.949231951622319990, 0.949216221584746390, 0.949200489174131910, 0.949184754390516420, 0.949169017233939090, 0.949153277704439250, 0.949137535802056180, 0.949121791526829290, +0.949106044878797910, 0.949090295858001200, 0.949074544464478920, 0.949058790698270370, 0.949043034559414860, 0.949027276047951670, 0.949011515163920350, 0.948995751907360190, +0.948979986278310710, 0.948964218276810990, 0.948948447902900890, 0.948932675156619830, 0.948916900038006990, 0.948901122547101910, 0.948885342683944090, 0.948869560448572850, +0.948853775841027370, 0.948837988861347850, 0.948822199509573250, 0.948806407785743210, 0.948790613689897140, 0.948774817222074570, 0.948759018382314910, 0.948743217170657790, +0.948727413587142300, 0.948711607631808510, 0.948695799304695720, 0.948679988605843460, 0.948664175535291250, 0.948648360093078510, 0.948632542279244980, 0.948616722093829970, +0.948600899536872990, 0.948585074608414010, 0.948569247308492350, 0.948553417637147510, 0.948537585594419250, 0.948521751180346870, 0.948505914394970230, 0.948490075238328510, +0.948474233710461800, 0.948458389811409620, 0.948442543541211380, 0.948426694899906830, 0.948410843887535490, 0.948394990504137110, 0.948379134749751220, 0.948363276624417220, +0.948347416128175300, 0.948331553261064770, 0.948315688023125490, 0.948299820414396870, 0.948283950434918750, 0.948268078084730790, 0.948252203363872390, 0.948236326272383630, +0.948220446810304150, 0.948204564977673580, 0.948188680774531560, 0.948172794200917820, 0.948156905256872020, 0.948141013942434110, 0.948125120257643280, 0.948109224202539960, +0.948093325777163540, 0.948077424981553900, 0.948061521815750650, 0.948045616279793560, 0.948029708373722470, 0.948013798097577130, 0.947997885451396960, 0.947981970435222370, +0.947966053049092870, 0.947950133293048340, 0.947934211167128280, 0.947918286671372790, 0.947902359805821600, 0.947886430570514250, 0.947870498965491030, 0.947854564990791570, +0.947838628646455740, 0.947822689932523390, 0.947806748849034260, 0.947790805396028220, 0.947774859573545240, 0.947758911381624710, 0.947742960820307290, 0.947727007889632490, +0.947711052589640060, 0.947695094920370070, 0.947679134881862280, 0.947663172474156770, 0.947647207697293270, 0.947631240551311430, 0.947615271036251870, 0.947599299152154020, +0.947583324899057940, 0.947567348277003620, 0.947551369286030900, 0.947535387926179750, 0.947519404197489810, 0.947503418100001720, 0.947487429633754990, 0.947471438798789810, +0.947455445595145940, 0.947439450022863450, 0.947423452081982420, 0.947407451772542710, 0.947391449094584060, 0.947375444048147110, 0.947359436633271490, 0.947343426849997280, +0.947327414698364570, 0.947311400178413310, 0.947295383290183590, 0.947279364033715040, 0.947263342409048410, 0.947247318416223450, 0.947231292055280120, 0.947215263326258610, +0.947199232229198880, 0.947183198764141140, 0.947167162931125460, 0.947151124730191470, 0.947135084161380040, 0.947119041224730780, 0.947102995920284020, 0.947086948248079820, +0.947070898208158150, 0.947054845800559210, 0.947038791025323290, 0.947022733882490030, 0.947006674372100180, 0.946990612494193700, 0.946974548248810670, 0.946958481635991280, +0.946942412655775610, 0.946926341308203970, 0.946910267593316200, 0.946894191511153060, 0.946878113061754400, 0.946862032245160520, 0.946845949061411510, 0.946829863510547650, +0.946813775592609150, 0.946797685307636190, 0.946781592655668750, 0.946765497636747550, 0.946749400250912700, 0.946733300498204260, 0.946717198378662640, 0.946701093892327930, +0.946684987039240530, 0.946668877819440760, 0.946652766232968460, 0.946636652279864490, 0.946620535960168820, 0.946604417273921970, 0.946588296221163920, 0.946572172801935290, +0.946556047016276050, 0.946539918864226500, 0.946523788345827510, 0.946507655461118920, 0.946491520210141270, 0.946475382592934840, 0.946459242609539950, 0.946443100259996890, +0.946426955544346080, 0.946410808462627710, 0.946394659014882510, 0.946378507201150690, 0.946362353021472540, 0.946346196475888580, 0.946330037564439120, 0.946313876287164570, +0.946297712644105000, 0.946281546635301400, 0.946265378260794040, 0.946249207520623250, 0.946233034414829310, 0.946216858943452870, 0.946200681106534320, 0.946184500904113990, +0.946168318336232160, 0.946152133402929810, 0.946135946104247120, 0.946119756440224500, 0.946103564410902600, 0.946087370016321820, 0.946071173256522460, 0.946054974131545270, +0.946038772641430330, 0.946022568786218820, 0.946006362565950830, 0.945990153980666880, 0.945973943030407600, 0.945957729715213520, 0.945941514035125050, 0.945925295990182490, +0.945909075580427030, 0.945892852805898850, 0.945876627666638490, 0.945860400162686690, 0.945844170294083740, 0.945827938060870510, 0.945811703463087290, 0.945795466500774620, +0.945779227173973560, 0.945762985482724420, 0.945746741427067830, 0.945730495007044310, 0.945714246222694620, 0.945697995074059380, 0.945681741561179010, 0.945665485684094140, +0.945649227442845740, 0.945632966837474330, 0.945616703868020550, 0.945600438534524910, 0.945584170837028170, 0.945567900775571070, 0.945551628350193910, 0.945535353560937990, +0.945519076407843610, 0.945502796890951620, 0.945486515010302560, 0.945470230765937280, 0.945453944157896410, 0.945437655186220690, 0.945421363850950550, 0.945405070152127270, +0.945388774089791270, 0.945372475663983410, 0.945356174874744330, 0.945339871722114760, 0.945323566206135560, 0.945307258326847140, 0.945290948084290930, 0.945274635478507320, +0.945258320509537060, 0.945242003177421020, 0.945225683482200040, 0.945209361423914760, 0.945193037002606150, 0.945176710218314620, 0.945160381071081580, 0.945144049560947660, +0.945127715687953620, 0.945111379452140190, 0.945095040853548450, 0.945078699892219040, 0.945062356568192820, 0.945046010881510520, 0.945029662832213460, 0.945013312420342140, +0.944996959645937660, 0.944980604509040760, 0.944964247009692280, 0.944947887147933210, 0.944931524923804170, 0.944915160337346570, 0.944898793388601170, 0.944882424077608700, +0.944866052404410130, 0.944849678369046540, 0.944833301971558680, 0.944816923211987510, 0.944800542090373900, 0.944784158606759130, 0.944767772761183950, 0.944751384553689340, +0.944734993984316260, 0.944718601053105790, 0.944702205760098780, 0.944685808105336200, 0.944669408088858800, 0.944653005710708200, 0.944636600970925170, 0.944620193869550540, +0.944603784406625400, 0.944587372582190940, 0.944570958396287910, 0.944554541848957260, 0.944538122940240530, 0.944521701670178460, 0.944505278038812120, 0.944488852046182710, +0.944472423692331090, 0.944455992977298430, 0.944439559901125710, 0.944423124463853900, 0.944406686665524520, 0.944390246506178420, 0.944373803985856800, 0.944357359104600500, +0.944340911862450950, 0.944324462259449100, 0.944308010295635710, 0.944291555971052630, 0.944275099285740720, 0.944258640239741040, 0.944242178833094690, 0.944225715065842960, +0.944209248938026930, 0.944192780449687800, 0.944176309600866400, 0.944159836391604500, 0.944143360821942950, 0.944126882891923150, 0.944110402601586070, 0.944093919950972920, +0.944077434940125080, 0.944060947569083650, 0.944044457837889480, 0.944027965746584430, 0.944011471295209570, 0.943994974483805980, 0.943978475312414970, 0.943961973781077820, +0.943945469889835630, 0.943928963638729580, 0.943912455027801300, 0.943895944057091980, 0.943879430726642820, 0.943862915036495000, 0.943846396986689930, 0.943829876577268800, +0.943813353808273030, 0.943796828679743680, 0.943780301191722400, 0.943763771344250490, 0.943747239137369020, 0.943730704571119520, 0.943714167645543280, 0.943697628360681610, +0.943681086716575580, 0.943664542713267160, 0.943647996350797320, 0.943631447629207480, 0.943614896548539140, 0.943598343108833390, 0.943581787310131870, 0.943565229152475870, +0.943548668635906580, 0.943532105760465870, 0.943515540526194800, 0.943498972933135010, 0.943482402981327680, 0.943465830670814460, 0.943449256001636540, 0.943432678973835540, +0.943416099587452540, 0.943399517842529620, 0.943382933739107870, 0.943366347277228790, 0.943349758456933810, 0.943333167278264550, 0.943316573741262210, 0.943299977845968310, +0.943283379592424590, 0.943266778980672570, 0.943250176010753560, 0.943233570682709080, 0.943216962996580640, 0.943200352952409890, 0.943183740550238130, 0.943167125790106860, +0.943150508672057960, 0.943133889196132840, 0.943117267362373000, 0.943100643170819990, 0.943084016621515420, 0.943067387714500720, 0.943050756449817620, 0.943034122827507320, +0.943017486847612000, 0.943000848510172850, 0.942984207815231730, 0.942967564762830060, 0.942950919353009450, 0.942934271585811560, 0.942917621461277670, 0.942900968979450080, +0.942884314140369990, 0.942867656944079150, 0.942850997390619170, 0.942834335480031700, 0.942817671212358490, 0.942801004587640930, 0.942784335605920680, 0.942767664267239900, +0.942750990571639910, 0.942734314519162450, 0.942717636109849160, 0.942700955343741760, 0.942684272220882020, 0.942667586741311350, 0.942650898905072030, 0.942634208712205380, +0.942617516162753240, 0.942600821256757260, 0.942584123994259280, 0.942567424375301060, 0.942550722399924100, 0.942534018068170170, 0.942517311380081440, 0.942500602335699540, +0.942483890935066020, 0.942467177178222810, 0.942450461065211580, 0.942433742596074260, 0.942417021770852630, 0.942400298589588070, 0.942383573052323120, 0.942366845159099300, +0.942350114909958240, 0.942333382304941900, 0.942316647344092150, 0.942299910027450840, 0.942283170355059370, 0.942266428326960280, 0.942249683943195190, 0.942232937203805850, +0.942216188108834120, 0.942199436658321950, 0.942182682852311220, 0.942165926690843760, 0.942149168173961100, 0.942132407301706000, 0.942115644074119740, 0.942098878491244410, +0.942082110553121850, 0.942065340259794050, 0.942048567611302960, 0.942031792607690430, 0.942015015248998000, 0.941998235535268400, 0.941981453466543270, 0.941964669042864470, +0.941947882264273950, 0.941931093130813800, 0.941914301642525880, 0.941897507799451920, 0.941880711601634450, 0.941863913049115320, 0.941847112141936280, 0.941830308880139520, +0.941813503263766890, 0.941796695292860590, 0.941779884967462570, 0.941763072287614580, 0.941746257253359140, 0.941729439864738000, 0.941712620121793350, 0.941695798024567150, +0.941678973573101370, 0.941662146767438200, 0.941645317607619380, 0.941628486093687540, 0.941611652225684550, 0.941594816003652360, 0.941577977427633160, 0.941561136497669040, +0.941544293213802060, 0.941527447576074320, 0.941510599584527650, 0.941493749239204810, 0.941476896540147660, 0.941460041487398150, 0.941443184080998700, 0.941426324320991160, +0.941409462207417840, 0.941392597740320800, 0.941375730919742030, 0.941358861745724250, 0.941341990218309330, 0.941325116337539350, 0.941308240103456710, 0.941291361516103380, +0.941274480575521650, 0.941257597281753400, 0.941240711634841460, 0.941223823634827820, 0.941206933281754530, 0.941190040575664020, 0.941173145516598250, 0.941156248104599750, +0.941139348339710580, 0.941122446221972720, 0.941105541751429130, 0.941088634928121560, 0.941071725752092520, 0.941054814223384110, 0.941037900342038600, 0.941020984108098420, +0.941004065521605760, 0.940987144582602690, 0.940970221291131950, 0.940953295647235730, 0.940936367650956340, 0.940919437302335960, 0.940902504601416890, 0.940885569548241650, +0.940868632142852210, 0.940851692385291430, 0.940834750275601480, 0.940817805813824680, 0.940800859000003320, 0.940783909834179810, 0.940766958316396450, 0.940750004446695760, +0.940733048225119830, 0.940716089651711500, 0.940699128726512960, 0.940682165449566620, 0.940665199820914900, 0.940648231840600090, 0.940631261508664720, 0.940614288825150970, +0.940597313790101700, 0.940580336403559200, 0.940563356665565900, 0.940546374576164080, 0.940529390135396490, 0.940512403343305330, 0.940495414199933100, 0.940478422705322110, +0.940461428859515450, 0.940444432662555060, 0.940427434114483710, 0.940410433215343680, 0.940393429965177610, 0.940376424364028020, 0.940359416411937320, 0.940342406108947700, +0.940325393455102470, 0.940308378450443790, 0.940291361095014100, 0.940274341388856020, 0.940257319332012060, 0.940240294924524770, 0.940223268166436530, 0.940206239057790330, +0.940189207598628670, 0.940172173788993870, 0.940155137628928660, 0.940138099118475570, 0.940121058257677330, 0.940104015046576370, 0.940086969485215080, 0.940069921573636780, +0.940052871311883530, 0.940035818699998190, 0.940018763738023290, 0.940001706426001450, 0.939984646763975310, 0.939967584751987610, 0.939950520390080650, 0.939933453678297610, +0.939916384616681030, 0.939899313205273530, 0.939882239444117640, 0.939865163333256200, 0.939848084872731860, 0.939831004062587020, 0.939813920902864860, 0.939796835393608030, +0.939779747534859040, 0.939762657326660760, 0.939745564769055690, 0.939728469862086800, 0.939711372605796740, 0.939694273000228010, 0.939677171045423810, 0.939660066741426660, +0.939642960088279410, 0.939625851086024810, 0.939608739734705490, 0.939591626034364300, 0.939574509985043770, 0.939557391586787300, 0.939540270839637310, 0.939523147743636770, +0.939506022298828180, 0.939488894505254630, 0.939471764362958870, 0.939454631871983640, 0.939437497032371560, 0.939420359844166050, 0.939403220307409530, 0.939386078422145050, +0.939368934188415380, 0.939351787606263370, 0.939334638675731970, 0.939317487396863830, 0.939300333769701790, 0.939283177794289160, 0.939266019470668570, 0.939248858798882870, +0.939231695778975140, 0.939214530410988120, 0.939197362694964790, 0.939180192630947760, 0.939163020218980570, 0.939145845459105840, 0.939128668351366440, 0.939111488895805310, +0.939094307092465550, 0.939077122941390010, 0.939059936442621650, 0.939042747596203210, 0.939025556402178110, 0.939008362860589200, 0.938991166971479330, 0.938973968734891580, +0.938956768150868930, 0.938939565219454210, 0.938922359940690400, 0.938905152314621020, 0.938887942341288690, 0.938870730020736510, 0.938853515353007540, 0.938836298338144750, +0.938819078976191210, 0.938801857267190010, 0.938784633211183880, 0.938767406808216460, 0.938750178058330500, 0.938732946961569060, 0.938715713517975340, 0.938698477727592300, +0.938681239590463010, 0.938663999106630680, 0.938646756276138030, 0.938629511099028810, 0.938612263575345770, 0.938595013705132100, 0.938577761488430970, 0.938560506925285360, +0.938543250015738460, 0.938525990759833120, 0.938508729157613190, 0.938491465209121410, 0.938474198914400980, 0.938456930273494970, 0.938439659286446680, 0.938422385953299300, +0.938405110274095900, 0.938387832248879450, 0.938370551877693690, 0.938353269160581480, 0.938335984097586230, 0.938318696688751010, 0.938301406934119010, 0.938284114833733420, +0.938266820387637650, 0.938249523595874550, 0.938232224458487860, 0.938214922975520560, 0.938197619147016050, 0.938180312973017520, 0.938163004453568150, 0.938145693588711250, +0.938128380378489890, 0.938111064822947820, 0.938093746922128100, 0.938076426676074050, 0.938059104084828840, 0.938041779148436010, 0.938024451866938610, 0.938007122240380190, +0.937989790268803580, 0.937972455952252760, 0.937955119290770910, 0.937937780284401220, 0.937920438933187000, 0.937903095237171750, 0.937885749196398780, 0.937868400810911160, +0.937851050080752760, 0.937833697005966750, 0.937816341586596550, 0.937798983822685450, 0.937781623714276980, 0.937764261261414320, 0.937746896464141110, 0.937729529322500310, +0.937712159836536000, 0.937694788006291250, 0.937677413831809580, 0.937660037313134410, 0.937642658450309030, 0.937625277243377080, 0.937607893692381960, 0.937590507797366750, +0.937573119558375630, 0.937555728975451700, 0.937538336048638450, 0.937520940777979320, 0.937503543163517810, 0.937486143205297550, 0.937468740903361520, 0.937451336257754010, +0.937433929268518100, 0.937416519935697410, 0.937399108259335480, 0.937381694239475700, 0.937364277876161720, 0.937346859169436940, 0.937329438119344880, 0.937312014725929400, +0.937294588989233900, 0.937277160909302020, 0.937259730486177170, 0.937242297719902970, 0.937224862610523070, 0.937207425158080980, 0.937189985362620100, 0.937172543224184530, +0.937155098742817550, 0.937137651918562800, 0.937120202751464020, 0.937102751241564720, 0.937085297388908440, 0.937067841193538700, 0.937050382655499670, 0.937032921774834660, +0.937015458551587300, 0.936997992985801330, 0.936980525077520390, 0.936963054826788210, 0.936945582233648320, 0.936928107298144130, 0.936910630020320050, 0.936893150400219250, +0.936875668437885720, 0.936858184133362970, 0.936840697486694850, 0.936823208497924890, 0.936805717167096600, 0.936788223494254390, 0.936770727479441570, 0.936753229122701870, +0.936735728424079150, 0.936718225383617150, 0.936700720001359620, 0.936683212277350190, 0.936665702211632480, 0.936648189804250800, 0.936630675055248660, 0.936613157964669820, +0.936595638532558120, 0.936578116758957300, 0.936560592643911230, 0.936543066187463640, 0.936525537389658050, 0.936508006250538980, 0.936490472770149850, 0.936472936948534510, +0.936455398785736910, 0.936437858281800710, 0.936420315436769960, 0.936402770250688080, 0.936385222723599590, 0.936367672855548010, 0.936350120646577300, 0.936332566096731210, +0.936315009206053820, 0.936297449974588860, 0.936279888402380190, 0.936262324489471660, 0.936244758235907470, 0.936227189641731460, 0.936209618706987490, 0.936192045431719410, +0.936174469815971300, 0.936156891859786900, 0.936139311563210400, 0.936121728926285200, 0.936104143949056060, 0.936086556631566590, 0.936068966973860660, 0.936051374975982340, +0.936033780637975600, 0.936016183959884400, 0.935998584941752370, 0.935980983583624250, 0.935963379885543680, 0.935945773847554620, 0.935928165469701150, 0.935910554752027220, +0.935892941694576930, 0.935875326297394340, 0.935857708560523080, 0.935840088484007900, 0.935822466067892430, 0.935804841312220860, 0.935787214217037140, 0.935769584782385370, +0.935751953008309710, 0.935734318894853810, 0.935716682442062410, 0.935699043649979360, 0.935681402518648620, 0.935663759048114390, 0.935646113238420840, 0.935628465089611950, +0.935610814601731900, 0.935593161774824540, 0.935575506608934520, 0.935557849104105780, 0.935540189260382400, 0.935522527077808590, 0.935504862556428400, 0.935487195696286130, +0.935469526497425760, 0.935451854959891360, 0.935434181083727560, 0.935416504868978430, 0.935398826315687940, 0.935381145423900380, 0.935363462193659960, 0.935345776625010950, +0.935328088717997110, 0.935310398472663400, 0.935292705889053670, 0.935275010967212220, 0.935257313707183240, 0.935239614109010910, 0.935221912172739640, 0.935204207898413520, +0.935186501286076610, 0.935168792335773660, 0.935151081047548850, 0.935133367421446260, 0.935115651457510300, 0.935097933155785150, 0.935080212516315230, 0.935062489539144840, +0.935044764224317810, 0.935027036571879240, 0.935009306581872980, 0.934991574254343540, 0.934973839589335110, 0.934956102586892210, 0.934938363247058920, 0.934920621569879430, +0.934902877555398800, 0.934885131203660900, 0.934867382514710130, 0.934849631488590900, 0.934831878125347630, 0.934814122425024710, 0.934796364387666450, 0.934778604013317030, +0.934760841302021310, 0.934743076253823470, 0.934725308868768030, 0.934707539146899300, 0.934689767088261680, 0.934671992692899690, 0.934654215960857400, 0.934636436892179790, +0.934618655486911250, 0.934600871745095980, 0.934583085666778500, 0.934565297252003320, 0.934547506500814970, 0.934529713413257750, 0.934511917989376050, 0.934494120229214740, +0.934476320132818230, 0.934458517700230920, 0.934440712931497220, 0.934422905826661880, 0.934405096385769180, 0.934387284608863780, 0.934369470495989840, 0.934351654047192560, +0.934333835262516010, 0.934316014142005050, 0.934298190685703970, 0.934280364893657400, 0.934262536765909980, 0.934244706302505890, 0.934226873503490320, 0.934209038368907560, +0.934191200898802250, 0.934173361093218910, 0.934155518952202170, 0.934137674475796650, 0.934119827664046890, 0.934101978516997280, 0.934084127034693010, 0.934066273217178500, +0.934048417064498260, 0.934030558576696920, 0.934012697753819230, 0.933994834595909820, 0.933976969103013310, 0.933959101275174120, 0.933941231112437430, 0.933923358614847650, +0.933905483782449530, 0.933887606615287690, 0.933869727113406770, 0.933851845276851610, 0.933833961105666410, 0.933816074599896680, 0.933798185759586840, 0.933780294584781510, +0.933762401075525330, 0.933744505231863250, 0.933726607053839920, 0.933708706541500070, 0.933690803694888110, 0.933672898514049440, 0.933654990999028490, 0.933637081149870100, +0.933619168966619010, 0.933601254449320070, 0.933583337598017930, 0.933565418412757090, 0.933547496893583070, 0.933529573040540290, 0.933511646853673600, 0.933493718333027860, +0.933475787478647680, 0.933457854290578150, 0.933439918768863900, 0.933421980913549550, 0.933404040724680640, 0.933386098202301560, 0.933368153346457290, 0.933350206157192550, +0.933332256634552330, 0.933314304778581460, 0.933296350589324810, 0.933278394066827110, 0.933260435211133550, 0.933242474022288990, 0.933224510500338280, 0.933206544645326260, +0.933188576457297910, 0.933170605936298080, 0.933152633082371400, 0.933134657895563490, 0.933116680375918990, 0.933098700523482650, 0.933080718338299640, 0.933062733820414820, +0.933044746969873160, 0.933026757786719730, 0.933008766270998930, 0.932990772422756630, 0.932972776242037450, 0.932954777728886240, 0.932936776883348080, 0.932918773705468050, +0.932900768195291000, 0.932882760352861770, 0.932864750178225900, 0.932846737671428230, 0.932828722832513720, 0.932810705661527350, 0.932792686158514180, 0.932774664323519410, +0.932756640156587880, 0.932738613657764450, 0.932720584827094860, 0.932702553664623730, 0.932684520170396270, 0.932666484344457540, 0.932648446186852500, 0.932630405697626450, +0.932612362876824360, 0.932594317724490970, 0.932576270240672130, 0.932558220425412700, 0.932540168278757630, 0.932522113800752230, 0.932504056991441450, 0.932485997850870610, +0.932467936379084430, 0.932449872576128660, 0.932431806442048260, 0.932413737976888310, 0.932395667180694110, 0.932377594053510620, 0.932359518595383240, 0.932341440806357060, +0.932323360686476920, 0.932305278235788680, 0.932287193454337300, 0.932269106342167860, 0.932251016899325770, 0.932232925125856090, 0.932214831021804020, 0.932196734587214970, +0.932178635822133780, 0.932160534726606200, 0.932142431300677420, 0.932124325544392510, 0.932106217457796760, 0.932088107040935480, 0.932069994293853840, 0.932051879216597050, +0.932033761809210830, 0.932015642071740150, 0.931997520004230420, 0.931979395606726930, 0.931961268879274880, 0.931943139821919670, 0.931925008434706600, 0.931906874717680740, +0.931888738670887950, 0.931870600294373410, 0.931852459588182300, 0.931834316552360040, 0.931816171186952040, 0.931798023492003580, 0.931779873467559640, 0.931761721113666510, +0.931743566430368930, 0.931725409417712540, 0.931707250075742620, 0.931689088404504480, 0.931670924404043750, 0.931652758074405620, 0.931634589415635260, 0.931616418427778760, +0.931598245110881300, 0.931580069464988170, 0.931561891490144900, 0.931543711186396780, 0.931525528553789560, 0.931507343592368420, 0.931489156302178540, 0.931470966683266230, +0.931452774735676340, 0.931434580459454710, 0.931416383854646420, 0.931398184921297330, 0.931379983659452740, 0.931361780069157820, 0.931343574150458870, 0.931325365903400870, +0.931307155328029550, 0.931288942424390310, 0.931270727192528680, 0.931252509632490290, 0.931234289744320540, 0.931216067528064850, 0.931197842983769180, 0.931179616111479040, +0.931161386911239840, 0.931143155383097110, 0.931124921527096470, 0.931106685343283560, 0.931088446831704000, 0.931070205992402980, 0.931051962825426680, 0.931033717330820520, +0.931015469508630120, 0.930997219358901010, 0.930978966881678920, 0.930960712077009260, 0.930942454944937660, 0.930924195485510090, 0.930905933698772170, 0.930887669584769320, +0.930869403143547380, 0.930851134375151880, 0.930832863279628550, 0.930814589857023030, 0.930796314107380730, 0.930778036030748050, 0.930759755627170170, 0.930741472896692960, +0.930723187839362030, 0.930704900455223140, 0.930686610744322020, 0.930668318706704080, 0.930650024342415620, 0.930631727651502150, 0.930613428634009310, 0.930595127289982840, +0.930576823619468700, 0.930558517622512400, 0.930540209299159820, 0.930521898649456450, 0.930503585673448600, 0.930485270371181780, 0.930466952742701860, 0.930448632788054450, +0.930430310507285530, 0.930411985900440830, 0.930393658967566100, 0.930375329708706960, 0.930356998123909820, 0.930338664213220200, 0.930320327976683850, 0.930301989414346720, +0.930283648526254670, 0.930265305312453440, 0.930246959772988660, 0.930228611907906730, 0.930210261717253300, 0.930191909201074310, 0.930173554359415400, 0.930155197192322760, +0.930136837699842010, 0.930118475882019120, 0.930100111738899840, 0.930081745270530560, 0.930063376476956920, 0.930045005358224870, 0.930026631914380290, 0.930008256145469110, +0.929989878051537320, 0.929971497632630760, 0.929953114888795170, 0.929934729820077190, 0.929916342426522320, 0.929897952708176660, 0.929879560665086040, 0.929861166297296540, +0.929842769604854120, 0.929824370587804430, 0.929805969246194190, 0.929787565580069030, 0.929769159589474930, 0.929750751274457940, 0.929732340635064050, 0.929713927671339310, +0.929695512383329810, 0.929677094771081070, 0.929658674834640040, 0.929640252574052250, 0.929621827989363880, 0.929603401080621010, 0.929584971847869480, 0.929566540291155600, +0.929548106410525100, 0.929529670206024620, 0.929511231677699890, 0.929492790825597210, 0.929474347649762440, 0.929455902150241870, 0.929437454327081470, 0.929419004180327520, +0.929400551710025670, 0.929382096916222870, 0.929363639798964750, 0.929345180358297500, 0.929326718594267300, 0.929308254506920340, 0.929289788096302800, 0.929271319362460660, +0.929252848305439970, 0.929234374925287490, 0.929215899222049170, 0.929197421195770980, 0.929178940846499210, 0.929160458174280170, 0.929141973179159920, 0.929123485861184430, +0.929104996220400550, 0.929086504256854240, 0.929068009970591580, 0.929049513361658970, 0.929031014430102610, 0.929012513175968560, 0.928994009599303340, 0.928975503700152800, +0.928956995478563700, 0.928938484934582200, 0.928919972068254500, 0.928901456879626890, 0.928882939368745550, 0.928864419535656900, 0.928845897380407240, 0.928827372903042510, +0.928808846103609590, 0.928790316982154640, 0.928771785538723860, 0.928753251773363650, 0.928734715686120320, 0.928716177277040140, 0.928697636546169210, 0.928679093493554490, +0.928660548119242040, 0.928642000423278270, 0.928623450405709480, 0.928604898066582090, 0.928586343405942480, 0.928567786423836970, 0.928549227120311630, 0.928530665495413520, +0.928512101549188840, 0.928493535281683880, 0.928474966692945050, 0.928456395783018860, 0.928437822551951620, 0.928419246999789500, 0.928400669126579590, 0.928382088932368070, +0.928363506417201330, 0.928344921581125800, 0.928326334424187880, 0.928307744946434200, 0.928289153147911160, 0.928270559028664950, 0.928251962588742650, 0.928233363828190440, +0.928214762747054720, 0.928196159345382240, 0.928177553623219300, 0.928158945580612400, 0.928140335217608300, 0.928121722534252850, 0.928103107530593550, 0.928084490206676490, +0.928065870562548190, 0.928047248598255160, 0.928028624313844030, 0.928009997709361320, 0.927991368784853330, 0.927972737540367240, 0.927954103975949240, 0.927935468091646070, +0.927916829887504240, 0.927898189363570270, 0.927879546519890800, 0.927860901356512560, 0.927842253873481740, 0.927823604070845520, 0.927804951948650310, 0.927786297506942750, +0.927767640745769450, 0.927748981665177050, 0.927730320265212180, 0.927711656545921250, 0.927692990507351430, 0.927674322149549150, 0.927655651472561020, 0.927636978476433890, +0.927618303161214190, 0.927599625526948750, 0.927580945573684310, 0.927562263301467180, 0.927543578710344650, 0.927524891800363240, 0.927506202571569570, 0.927487511024010390, +0.927468817157732440, 0.927450120972782450, 0.927431422469207070, 0.927412721647052910, 0.927394018506367270, 0.927375313047196560, 0.927356605269587630, 0.927337895173587110, +0.927319182759241860, 0.927300468026598600, 0.927281750975703980, 0.927263031606605170, 0.927244309919348920, 0.927225585913981850, 0.927206859590550710, 0.927188130949102570, +0.927169399989684060, 0.927150666712342030, 0.927131931117123000, 0.927113193204074370, 0.927094452973242890, 0.927075710424675290, 0.927056965558418320, 0.927038218374519050, +0.927019468873024110, 0.927000717053980570, 0.926981962917434950, 0.926963206463434660, 0.926944447692026440, 0.926925686603257030, 0.926906923197173490, 0.926888157473822580, +0.926869389433251260, 0.926850619075506140, 0.926831846400634870, 0.926813071408683960, 0.926794294099700270, 0.926775514473730970, 0.926756732530822800, 0.926737948271022850, +0.926719161694378070, 0.926700372800934980, 0.926681581590741320, 0.926662788063843720, 0.926643992220289150, 0.926625194060124560, 0.926606393583397030, 0.926587590790153400, +0.926568785680440540, 0.926549978254306070, 0.926531168511796730, 0.926512356452959370, 0.926493542077841070, 0.926474725386489010, 0.926455906378950140, 0.926437085055271450, +0.926418261415499770, 0.926399435459682730, 0.926380607187867080, 0.926361776600100000, 0.926342943696428330, 0.926324108476899390, 0.926305270941560230, 0.926286431090457830, +0.926267588923639030, 0.926248744441151570, 0.926229897643042310, 0.926211048529358320, 0.926192197100146660, 0.926173343355454430, 0.926154487295328900, 0.926135628919816930, +0.926116768228966050, 0.926097905222823310, 0.926079039901435920, 0.926060172264850820, 0.926041302313115320, 0.926022430046276490, 0.926003555464381730, 0.925984678567477680, +0.925965799355612180, 0.925946917828832320, 0.925928033987185040, 0.925909147830717760, 0.925890259359477550, 0.925871368573511820, 0.925852475472867530, 0.925833580057591750, +0.925814682327732340, 0.925795782283336250, 0.925776879924450790, 0.925757975251123020, 0.925739068263400360, 0.925720158961329980, 0.925701247344958960, 0.925682333414335030, +0.925663417169505400, 0.925644498610517120, 0.925625577737417600, 0.925606654550254260, 0.925587729049074160, 0.925568801233924820, 0.925549871104853090, 0.925530938661907050, +0.925512003905133550, 0.925493066834580210, 0.925474127450294120, 0.925455185752322660, 0.925436241740713370, 0.925417295415512990, 0.925398346776769800, 0.925379395824530770, +0.925360442558843200, 0.925341486979754490, 0.925322529087312050, 0.925303568881563400, 0.925284606362555720, 0.925265641530336300, 0.925246674384953010, 0.925227704926453120, +0.925208733154883830, 0.925189759070292880, 0.925170782672727450, 0.925151803962235060, 0.925132822938863120, 0.925113839602658920, 0.925094853953670300, 0.925075865991944580, +0.925056875717529260, 0.925037883130471750, 0.925018888230819460, 0.924999891018620010, 0.924980891493920490, 0.924961889656769070, 0.924942885507212930, 0.924923879045299600, +0.924904870271076600, 0.924885859184591320, 0.924866845785891400, 0.924847830075024470, 0.924828812052037600, 0.924809791716978970, 0.924790769069895880, 0.924771744110835850, +0.924752716839846500, 0.924733687256975360, 0.924714655362270040, 0.924695621155777970, 0.924676584637546650, 0.924657545807624160, 0.924638504666057680, 0.924619461212895070, +0.924600415448183830, 0.924581367371971500, 0.924562316984305690, 0.924543264285233810, 0.924524209274804170, 0.924505151953063930, 0.924486092320060850, 0.924467030375842440, +0.924447966120456540, 0.924428899553950690, 0.924409830676372610, 0.924390759487769720, 0.924371685988190080, 0.924352610177681330, 0.924333532056291100, 0.924314451624067000, +0.924295368881056680, 0.924276283827308090, 0.924257196462868300, 0.924238106787785950, 0.924219014802108330, 0.924199920505883180, 0.924180823899158230, 0.924161724981981240, +0.924142623754399820, 0.924123520216461940, 0.924104414368214890, 0.924085306209707190, 0.924066195740986140, 0.924047082962099700, 0.924027967873095490, 0.924008850474021370, +0.923989730764925080, 0.923970608745854570, 0.923951484416857150, 0.923932357777981330, 0.923913228829274620, 0.923894097570784890, 0.923874964002559860, 0.923855828124647390, +0.923836689937095450, 0.923817549439951420, 0.923798406633263850, 0.923779261517080230, 0.923760114091448430, 0.923740964356416390, 0.923721812312031990, 0.923702657958342940, +0.923683501295397340, 0.923664342323242680, 0.923645181041927390, 0.923626017451499190, 0.923606851552005950, 0.923587683343495610, 0.923568512826016040, 0.923549339999615190, +0.923530164864341030, 0.923510987420241070, 0.923491807667364050, 0.923472625605757380, 0.923453441235469240, 0.923434254556547480, 0.923415065569040070, 0.923395874272995080, +0.923376680668460010, 0.923357484755483520, 0.923338286534113320, 0.923319086004397490, 0.923299883166383890, 0.923280678020120590, 0.923261470565655660, 0.923242260803036950, +0.923223048732312310, 0.923203834353530370, 0.923184617666738870, 0.923165398671985770, 0.923146177369319140, 0.923126953758787170, 0.923107727840437820, 0.923088499614318710, +0.923069269080478820, 0.923050036238965640, 0.923030801089827490, 0.923011563633112210, 0.922992323868868090, 0.922973081797143100, 0.922953837417985530, 0.922934590731442910, +0.922915341737564180, 0.922896090436397200, 0.922876836827989820, 0.922857580912390450, 0.922838322689647160, 0.922819062159808020, 0.922799799322921220, 0.922780534179034610, +0.922761266728196920, 0.922741996970456110, 0.922722724905860380, 0.922703450534457680, 0.922684173856296530, 0.922664894871424890, 0.922645613579890610, 0.922626329981742650, +0.922607044077028870, 0.922587755865797550, 0.922568465348096780, 0.922549172523974840, 0.922529877393480020, 0.922510579956660530, 0.922491280213564190, 0.922471978164239980, +0.922452673808735860, 0.922433367147100000, 0.922414058179380820, 0.922394746905626390, 0.922375433325885120, 0.922356117440204960, 0.922336799248634880, 0.922317478751222720, +0.922298155948016900, 0.922278830839065700, 0.922259503424417430, 0.922240173704120370, 0.922220841678222940, 0.922201507346772980, 0.922182170709819670, 0.922162831767410870, +0.922143490519594990, 0.922124146966420420, 0.922104801107935470, 0.922085452944188530, 0.922066102475227910, 0.922046749701101790, 0.922027394621859120, 0.922008037237547870, +0.921988677548216560, 0.921969315553913590, 0.921949951254687370, 0.921930584650586190, 0.921911215741658240, 0.921891844527952590, 0.921872471009517300, 0.921853095186400910, +0.921833717058651690, 0.921814336626318290, 0.921794953889448990, 0.921775568848092200, 0.921756181502296320, 0.921736791852110220, 0.921717399897582170, 0.921698005638760700, +0.921678609075694100, 0.921659210208431000, 0.921639809037019920, 0.921620405561509260, 0.921600999781947320, 0.921581591698383160, 0.921562181310865090, 0.921542768619441510, +0.921523353624160930, 0.921503936325072100, 0.921484516722223420, 0.921465094815663080, 0.921445670605440250, 0.921426244091603340, 0.921406815274200870, 0.921387384153281250, +0.921367950728893210, 0.921348515001085390, 0.921329076969906180, 0.921309636635403880, 0.921290193997627900, 0.921270749056626540, 0.921251301812448190, 0.921231852265141590, +0.921212400414755380, 0.921192946261338190, 0.921173489804938180, 0.921154031045604890, 0.921134569983386500, 0.921115106618331740, 0.921095640950489130, 0.921076172979907510, +0.921056702706635420, 0.921037230130721470, 0.921017755252214300, 0.920998278071162970, 0.920978798587615890, 0.920959316801621910, 0.920939832713229540, 0.920920346322487650, +0.920900857629444960, 0.920881366634150100, 0.920861873336651370, 0.920842377736998400, 0.920822879835239470, 0.920803379631423340, 0.920783877125598730, 0.920764372317814490, +0.920744865208119270, 0.920725355796561560, 0.920705844083190780, 0.920686330068055340, 0.920666813751204180, 0.920647295132685950, 0.920627774212549490, 0.920608250990843540, +0.920588725467617050, 0.920569197642918340, 0.920549667516797010, 0.920530135089301590, 0.920510600360480710, 0.920491063330383330, 0.920471523999058410, 0.920451982366554570, +0.920432438432920770, 0.920412892198205550, 0.920393343662458510, 0.920373792825728070, 0.920354239688063070, 0.920334684249512590, 0.920315126510125370, 0.920295566469950250, +0.920276004129035980, 0.920256439487431970, 0.920236872545186930, 0.920217303302349630, 0.920197731758969130, 0.920178157915094270, 0.920158581770774030, 0.920139003326057360, +0.920119422580992770, 0.920099839535630020, 0.920080254190017710, 0.920060666544204710, 0.920041076598240080, 0.920021484352172680, 0.920001889806051580, 0.919982292959925510, +0.919962693813843990, 0.919943092367855760, 0.919923488622009790, 0.919903882576355030, 0.919884274230940660, 0.919864663585815530, 0.919845050641028840, 0.919825435396629090, +0.919805817852666130, 0.919786198009188590, 0.919766575866245550, 0.919746951423886180, 0.919727324682159340, 0.919707695641114210, 0.919688064300799860, 0.919668430661264910, +0.919648794722559340, 0.919629156484731760, 0.919609515947831250, 0.919589873111906990, 0.919570227977008050, 0.919550580543183500, 0.919530930810482210, 0.919511278778953890, +0.919491624448647400, 0.919471967819611820, 0.919452308891896330, 0.919432647665550110, 0.919412984140622220, 0.919393318317161980, 0.919373650195218000, 0.919353979774840240, +0.919334307056077550, 0.919314632038979010, 0.919294954723594020, 0.919275275109971530, 0.919255593198160970, 0.919235908988211390, 0.919216222480171650, 0.919196533674091710, +0.919176842570020410, 0.919157149168007060, 0.919137453468100830, 0.919117755470350910, 0.919098055174806690, 0.919078352581516930, 0.919058647690531690, 0.919038940501899710, +0.919019231015670510, 0.918999519231893160, 0.918979805150617060, 0.918960088771891390, 0.918940370095765570, 0.918920649122288440, 0.918900925851510060, 0.918881200283479300, +0.918861472418245560, 0.918841742255858240, 0.918822009796366410, 0.918802275039819700, 0.918782537986266860, 0.918762798635758050, 0.918743056988342240, 0.918723313044068730, +0.918703566802987040, 0.918683818265146450, 0.918664067430596250, 0.918644314299385870, 0.918624558871564360, 0.918604801147181790, 0.918585041126287250, 0.918565278808930130, +0.918545514195159730, 0.918525747285025670, 0.918505978078577150, 0.918486206575863660, 0.918466432776934400, 0.918446656681839340, 0.918426878290627640, 0.918407097603348820, +0.918387314620052190, 0.918367529340787250, 0.918347741765603520, 0.918327951894550080, 0.918308159727677100, 0.918288365265033770, 0.918268568506669490, 0.918248769452633780, +0.918228968102976160, 0.918209164457746140, 0.918189358516993240, 0.918169550280766520, 0.918149739749116290, 0.918129926922091720, 0.918110111799742330, 0.918090294382117640, +0.918070474669267280, 0.918050652661240750, 0.918030828358087470, 0.918011001759856840, 0.917991172866599040, 0.917971341678363360, 0.917951508195199220, 0.917931672417156450, +0.917911834344284360, 0.917891993976632790, 0.917872151314250820, 0.917852306357188840, 0.917832459105496160, 0.917812609559222280, 0.917792757718416840, 0.917772903583129570, +0.917753047153410000, 0.917733188429307840, 0.917713327410872300, 0.917693464098153780, 0.917673598491201670, 0.917653730590065610, 0.917633860394795110, 0.917613987905440020, +0.917594113122049970, 0.917574236044674250, 0.917554356673363270, 0.917534475008166430, 0.917514591049133470, 0.917494704796314010, 0.917474816249757690, 0.917454925409514340, +0.917435032275633830, 0.917415136848165220, 0.917395239127159260, 0.917375339112665110, 0.917355436804732640, 0.917335532203411570, 0.917315625308751660, 0.917295716120802630, +0.917275804639614440, 0.917255890865236290, 0.917235974797718790, 0.917216056437111350, 0.917196135783463820, 0.917176212836825930, 0.917156287597247430, 0.917136360064778280, +0.917116430239467870, 0.917096498121366730, 0.917076563710524370, 0.917056627006990640, 0.917036688010815280, 0.917016746722048250, 0.916996803140739280, 0.916976857266938340, +0.916956909100694830, 0.916936958642059490, 0.916917005891081720, 0.916897050847811480, 0.916877093512298620, 0.916857133884593000, 0.916837171964744460, 0.916817207752802730, +0.916797241248818340, 0.916777272452840800, 0.916757301364920170, 0.916737327985106210, 0.916717352313448970, 0.916697374349998320, 0.916677394094804200, 0.916657411547916250, +0.916637426709385190, 0.916617439579260450, 0.916597450157592200, 0.916577458444430390, 0.916557464439824780, 0.916537468143825640, 0.916517469556482720, 0.916497468677845870, +0.916477465507965720, 0.916457460046891770, 0.916437452294674330, 0.916417442251363120, 0.916397429917008340, 0.916377415291660060, 0.916357398375367780, 0.916337379168182480, +0.916317357670153650, 0.916297333881331390, 0.916277307801765860, 0.916257279431507140, 0.916237248770605080, 0.916217215819109980, 0.916197180577071450, 0.916177143044540340, +0.916157103221566290, 0.916137061108199590, 0.916117016704490190, 0.916096970010488290, 0.916076921026243940, 0.916056869751807330, 0.916036816187228100, 0.916016760332557300, +0.915996702187844460, 0.915976641753139980, 0.915956579028493810, 0.915936514013956260, 0.915916446709577390, 0.915896377115407060, 0.915876305231496210, 0.915856231057894490, +0.915836154594652290, 0.915816075841819570, 0.915795994799446730, 0.915775911467583970, 0.915755825846281350, 0.915735737935588820, 0.915715647735557360, 0.915695555246236690, +0.915675460467677230, 0.915655363399929030, 0.915635264043042520, 0.915615162397067750, 0.915595058462054800, 0.915574952238054520, 0.915554843725116860, 0.915534732923292020, +0.915514619832630490, 0.915494504453182260, 0.915474386784997930, 0.915454266828127470, 0.915434144582621070, 0.915414020048529680, 0.915393893225903250, 0.915373764114792100, +0.915353632715246500, 0.915333499027316750, 0.915313363051053370, 0.915293224786506540, 0.915273084233726330, 0.915252941392763700, 0.915232796263668710, 0.915212648846491780, +0.915192499141283200, 0.915172347148093370, 0.915152192866972690, 0.915132036297971240, 0.915111877441139980, 0.915091716296528970, 0.915071552864188730, 0.915051387144169670, +0.915031219136522080, 0.915011048841296470, 0.914990876258543140, 0.914970701388312380, 0.914950524230655150, 0.914930344785621630, 0.914910163053262340, 0.914889979033627570, +0.914869792726767830, 0.914849604132733530, 0.914829413251575410, 0.914809220083343200, 0.914789024628088420, 0.914768826885861140, 0.914748626856711660, 0.914728424540690700, +0.914708219937848680, 0.914688013048235990, 0.914667803871903050, 0.914647592408900920, 0.914627378659279790, 0.914607162623090160, 0.914586944300382680, 0.914566723691207840, +0.914546500795616170, 0.914526275613658290, 0.914506048145384390, 0.914485818390845640, 0.914465586350092450, 0.914445352023175230, 0.914425115410144600, 0.914404876511051180, +0.914384635325945610, 0.914364391854878170, 0.914344146097899930, 0.914323898055061420, 0.914303647726413260, 0.914283395112005850, 0.914263140211890040, 0.914242883026116230, +0.914222623554735380, 0.914202361797797570, 0.914182097755354190, 0.914161831427455550, 0.914141562814152380, 0.914121291915495180, 0.914101018731534930, 0.914080743262322030, +0.914060465507907200, 0.914040185468340980, 0.914019903143674650, 0.913999618533958500, 0.913979331639243390, 0.913959042459579820, 0.913938750995018760, 0.913918457245610720, +0.913898161211406320, 0.913877862892456760, 0.913857562288812540, 0.913837259400524520, 0.913816954227643200, 0.913796646770219660, 0.913776337028304410, 0.913756025001948300, +0.913735710691201850, 0.913715394096116350, 0.913695075216742540, 0.913674754053130920, 0.913654430605332470, 0.913634104873397910, 0.913613776857378100, 0.913593446557323770, +0.913573113973285560, 0.913552779105314960, 0.913532441953462280, 0.913512102517778590, 0.913491760798314620, 0.913471416795121230, 0.913451070508249360, 0.913430721937749430, +0.913410371083673070, 0.913390017946070780, 0.913369662524993410, 0.913349304820491930, 0.913328944832617060, 0.913308582561420000, 0.913288218006951370, 0.913267851169261900, +0.913247482048403110, 0.913227110644425630, 0.913206736957380420, 0.913186360987318310, 0.913165982734290280, 0.913145602198347390, 0.913125219379540050, 0.913104834277920110, +0.913084446893537960, 0.913064057226444790, 0.913043665276691450, 0.913023271044328900, 0.913002874529408310, 0.912982475731980440, 0.912962074652096000, 0.912941671289806740, +0.912921265645163290, 0.912900857718216720, 0.912880447509017980, 0.912860035017618140, 0.912839620244068170, 0.912819203188419250, 0.912798783850721880, 0.912778362231027930, +0.912757938329388120, 0.912737512145853410, 0.912717083680474880, 0.912696652933303710, 0.912676219904390850, 0.912655784593787160, 0.912635347001544360, 0.912614907127713090, +0.912594464972344640, 0.912574020535489970, 0.912553573817200370, 0.912533124817526690, 0.912512673536520320, 0.912492219974231800, 0.912471764130713180, 0.912451306006015090, +0.912430845600188830, 0.912410382913285360, 0.912389917945355950, 0.912369450696451700, 0.912348981166623880, 0.912328509355923250, 0.912308035264401740, 0.912287558892110110, +0.912267080239099530, 0.912246599305421290, 0.912226116091126580, 0.912205630596266580, 0.912185142820892140, 0.912164652765055210, 0.912144160428806640, 0.912123665812197610, +0.912103168915279430, 0.912082669738103370, 0.912062168280720620, 0.912041664543182470, 0.912021158525539780, 0.912000650227844600, 0.911980139650147680, 0.911959626792500530, +0.911939111654954230, 0.911918594237560280, 0.911898074540369750, 0.911877552563433610, 0.911857028306804040, 0.911836501770531880, 0.911815972954668430, 0.911795441859265090, +0.911774908484373150, 0.911754372830043900, 0.911733834896328750, 0.911713294683278660, 0.911692752190945700, 0.911672207419380820, 0.911651660368635430, 0.911631111038760930, +0.911610559429808620, 0.911590005541829900, 0.911569449374876270, 0.911548890928998490, 0.911528330204248950, 0.911507767200678610, 0.911487201918338760, 0.911466634357280920, +0.911446064517556500, 0.911425492399217000, 0.911404918002313380, 0.911384341326897720, 0.911363762373021300, 0.911343181140735430, 0.911322597630091710, 0.911302011841141350, +0.911281423773936060, 0.911260833428527260, 0.911240240804965910, 0.911219645903304290, 0.911199048723593700, 0.911178449265885320, 0.911157847530230990, 0.911137243516681910, +0.911116637225289790, 0.911096028656106060, 0.911075417809181890, 0.911054804684569450, 0.911034189282320160, 0.911013571602485310, 0.910992951645116510, 0.910972329410265400, +0.910951704897983380, 0.910931078108321860, 0.910910449041332890, 0.910889817697067890, 0.910869184075578260, 0.910848548176915740, 0.910827910001131840, 0.910807269548278060, +0.910786626818406280, 0.910765981811567430, 0.910745334527814030, 0.910724684967197380, 0.910704033129768890, 0.910683379015580390, 0.910662722624683400, 0.910642063957129650, +0.910621403012970340, 0.910600739792257970, 0.910580074295043620, 0.910559406521379120, 0.910538736471316220, 0.910518064144906330, 0.910497389542201390, 0.910476712663252920, +0.910456033508112330, 0.910435352076832020, 0.910414668369463280, 0.910393982386057840, 0.910373294126667560, 0.910352603591343960, 0.910331910780138860, 0.910311215693104030, +0.910290518330290840, 0.910269818691751610, 0.910249116777537840, 0.910228412587701370, 0.910207706122293850, 0.910186997381366990, 0.910166286364972650, 0.910145573073162240, +0.910124857505988370, 0.910104139663502230, 0.910083419545755780, 0.910062697152800750, 0.910041972484688990, 0.910021245541472350, 0.910000516323202560, 0.909979784829931140, +0.909959051061710600, 0.909938315018592460, 0.909917576700628450, 0.909896836107870530, 0.909876093240370660, 0.909855348098180360, 0.909834600681351470, 0.909813850989936390, +0.909793099023986640, 0.909772344783554180, 0.909751588268690850, 0.909730829479448610, 0.909710068415879200, 0.909689305078034690, 0.909668539465966490, 0.909647771579727320, +0.909627001419368810, 0.909606228984942700, 0.909585454276501060, 0.909564677294095740, 0.909543898037778800, 0.909523116507602090, 0.909502332703617130, 0.909481546625876880, +0.909460758274432620, 0.909439967649336540, 0.909419174750640490, 0.909398379578396530, 0.909377582132656630, 0.909356782413472400, 0.909335980420896580, 0.909315176154980810, +0.909294369615777140, 0.909273560803337430, 0.909252749717713860, 0.909231936358958490, 0.909211120727123290, 0.909190302822259880, 0.909169482644420990, 0.909148660193658480, +0.909127835470024290, 0.909107008473570620, 0.909086179204349310, 0.909065347662412650, 0.909044513847812490, 0.909023677760600780, 0.909002839400830150, 0.908981998768552570, +0.908961155863819870, 0.908940310686684350, 0.908919463237197970, 0.908898613515413010, 0.908877761521381110, 0.908856907255155220, 0.908836050716786970, 0.908815191906328760, +0.908794330823832430, 0.908773467469350280, 0.908752601842934490, 0.908731733944637240, 0.908710863774510160, 0.908689991332606420, 0.908669116618977650, 0.908648239633676140, +0.908627360376753960, 0.908606478848263400, 0.908585595048256640, 0.908564708976785540, 0.908543820633903040, 0.908522930019661000, 0.908502037134111600, 0.908481141977307120, +0.908460244549299740, 0.908439344850141770, 0.908418442879885490, 0.908397538638582750, 0.908376632126286500, 0.908355723343048590, 0.908334812288921540, 0.908313898963957310, +0.908292983368208410, 0.908272065501727010, 0.908251145364565420, 0.908230222956775690, 0.908209298278410680, 0.908188371329522460, 0.908167442110163430, 0.908146510620385650, +0.908125576860241650, 0.908104640829783700, 0.908083702529063790, 0.908062761958134960, 0.908041819117049180, 0.908020874005858960, 0.907999926624616480, 0.907978976973374150, +0.907958025052184480, 0.907937070861099760, 0.907916114400171840, 0.907895155669454110, 0.907874194668998550, 0.907853231398857430, 0.907832265859083280, 0.907811298049728380, +0.907790327970845250, 0.907769355622486400, 0.907748381004703670, 0.907727404117550370, 0.907706424961078670, 0.907685443535340860, 0.907664459840389350, 0.907643473876276750, +0.907622485643055590, 0.907601495140777700, 0.907580502369496500, 0.907559507329263940, 0.907538510020132750, 0.907517510442155230, 0.907496508595383890, 0.907475504479871350, +0.907454498095670030, 0.907433489442832090, 0.907412478521410830, 0.907391465331458310, 0.907370449873027170, 0.907349432146169810, 0.907328412150938960, 0.907307389887387130, +0.907286365355566390, 0.907265338555530150, 0.907244309487330480, 0.907223278151020110, 0.907202244546651440, 0.907181208674277320, 0.907160170533950040, 0.907139130125722450, +0.907118087449646620, 0.907097042505775830, 0.907075995294162610, 0.907054945814859350, 0.907033894067918680, 0.907012840053393220, 0.906991783771335820, 0.906970725221798890, +0.906949664404834710, 0.906928601320496800, 0.906907535968837440, 0.906886468349909160, 0.906865398463764680, 0.906844326310456750, 0.906823251890038100, 0.906802175202560790, +0.906781096248078460, 0.906760015026643500, 0.906738931538308420, 0.906717845783125980, 0.906696757761149000, 0.906675667472430000, 0.906654574917021950, 0.906633480094977020, +0.906612383006348830, 0.906591283651189680, 0.906570182029552310, 0.906549078141489440, 0.906527971987053930, 0.906506863566298390, 0.906485752879275800, 0.906464639926038430, +0.906443524706639800, 0.906422407221132430, 0.906401287469568940, 0.906380165452002280, 0.906359041168485200, 0.906337914619070540, 0.906316785803810700, 0.906295654722759300, +0.906274521375968760, 0.906253385763491900, 0.906232247885381590, 0.906211107741690670, 0.906189965332471870, 0.906168820657778260, 0.906147673717662250, 0.906126524512177340, +0.906105373041376170, 0.906084219305311580, 0.906063063304036410, 0.906041905037603620, 0.906020744506066070, 0.905999581709476250, 0.905978416647887920, 0.905957249321353460, +0.905936079729925960, 0.905914907873658140, 0.905893733752603180, 0.905872557366813820, 0.905851378716343030, 0.905830197801243520, 0.905809014621568820, 0.905787829177371550, +0.905766641468704780, 0.905745451495621360, 0.905724259258174350, 0.905703064756416710, 0.905681867990401400, 0.905660668960181050, 0.905639467665809380, 0.905618264107339030, +0.905597058284822950, 0.905575850198314320, 0.905554639847866110, 0.905533427233531140, 0.905512212355362390, 0.905490995213413360, 0.905469775807736910, 0.905448554138386100, +0.905427330205413770, 0.905406104008873220, 0.905384875548817300, 0.905363644825299300, 0.905342411838371720, 0.905321176588088530, 0.905299939074502350, 0.905278699297666360, +0.905257457257633620, 0.905236212954457330, 0.905214966388190430, 0.905193717558886110, 0.905172466466597100, 0.905151213111377250, 0.905129957493279510, 0.905108699612356740, +0.905087439468662320, 0.905066177062249230, 0.905044912393170750, 0.905023645461479620, 0.905002376267229680, 0.904981104810473890, 0.904959831091265320, 0.904938555109657150, +0.904917276865702560, 0.904895996359454840, 0.904874713590967160, 0.904853428560292270, 0.904832141267484120, 0.904810851712595680, 0.904789559895680110, 0.904768265816790600, +0.904746969475980540, 0.904725670873302910, 0.904704370008810880, 0.904683066882558170, 0.904661761494597870, 0.904640453844983150, 0.904619143933767190, 0.904597831761003500, +0.904576517326745270, 0.904555200631045660, 0.904533881673957650, 0.904512560455535300, 0.904491236975831670, 0.904469911234899840, 0.904448583232793310, 0.904427252969565280, +0.904405920445269130, 0.904384585659958160, 0.904363248613685330, 0.904341909306504820, 0.904320567738469470, 0.904299223909632690, 0.904277877820047980, 0.904256529469768420, +0.904235178858847630, 0.904213825987338460, 0.904192470855295190, 0.904171113462770680, 0.904149753809818320, 0.904128391896491750, 0.904107027722844010, 0.904085661288928870, +0.904064292594799480, 0.904042921640509030, 0.904021548426111600, 0.904000172951660350, 0.903978795217208590, 0.903957415222809920, 0.903936032968517660, 0.903914648454385410, +0.903893261680466020, 0.903871872646814010, 0.903850481353482230, 0.903829087800524180, 0.903807691987993490, 0.903786293915943670, 0.903764893584427910, 0.903743490993500040, +0.903722086143213030, 0.903700679033621280, 0.903679269664777740, 0.903657858036736040, 0.903636444149549690, 0.903615028003272200, 0.903593609597957200, 0.903572188933658090, +0.903550766010428270, 0.903529340828321810, 0.903507913387392000, 0.903486483687692470, 0.903465051729276710, 0.903443617512198260, 0.903422181036510840, 0.903400742302267520, +0.903379301309522820, 0.903357858058329800, 0.903336412548742080, 0.903314964780813410, 0.903293514754597290, 0.903272062470147460, 0.903250607927517430, 0.903229151126760500, +0.903207692067931060, 0.903186230751082400, 0.903164767176268150, 0.903143301343541930, 0.903121833252957580, 0.903100362904568520, 0.903078890298428690, 0.903057415434591170, +0.903035938313110460, 0.903014458934039980, 0.902992977297433330, 0.902971493403344150, 0.902950007251826390, 0.902928518842933460, 0.902907028176718970, 0.902885535253237230, +0.902864040072541730, 0.902842542634686000, 0.902821042939723980, 0.902799540987709430, 0.902778036778695950, 0.902756530312737390, 0.902735021589887170, 0.902713510610199670, +0.902691997373728410, 0.902670481880527230, 0.902648964130649880, 0.902627444124149970, 0.902605921861081570, 0.902584397341497980, 0.902562870565453700, 0.902541341533002360, +0.902519810244197580, 0.902498276699093220, 0.902476740897743320, 0.902455202840201420, 0.902433662526521680, 0.902412119956757300, 0.902390575130962990, 0.902369028049192280, +0.902347478711498900, 0.902325927117936910, 0.902304373268560170, 0.902282817163422400, 0.902261258802577570, 0.902239698186079300, 0.902218135313982090, 0.902196570186339590, +0.902175002803205620, 0.902153433164634260, 0.902131861270679240, 0.902110287121394520, 0.902088710716833720, 0.902067132057051580, 0.902045551142101500, 0.902023967972037650, +0.902002382546913890, 0.901980794866784060, 0.901959204931702340, 0.901937612741722570, 0.901916018296898380, 0.901894421597284610, 0.901872822642934670, 0.901851221433902730, +0.901829617970242750, 0.901808012252008680, 0.901786404279254720, 0.901764794052034580, 0.901743181570402120, 0.901721566834412070, 0.901699949844118160, 0.901678330599574360, +0.901656709100834730, 0.901635085347953340, 0.901613459340984250, 0.901591831079981090, 0.901570200564998700, 0.901548567796090830, 0.901526932773311640, 0.901505295496714990, +0.901483655966355160, 0.901462014182286220, 0.901440370144562130, 0.901418723853236850, 0.901397075308365100, 0.901375424510000630, 0.901353771458197730, 0.901332116153010230, +0.901310458594492550, 0.901288798782698740, 0.901267136717682440, 0.901245472399498810, 0.901223805828201390, 0.901202137003844550, 0.901180465926482270, 0.901158792596168820, +0.901137117012958510, 0.901115439176905290, 0.901093759088063220, 0.901072076746487040, 0.901050392152230710, 0.901028705305348290, 0.901007016205894180, 0.900985324853922580, +0.900963631249487640, 0.900941935392643670, 0.900920237283444390, 0.900898536921944880, 0.900876834308199090, 0.900855129442261200, 0.900833422324185510, 0.900811712954026290, +0.900790001331837730, 0.900768287457673790, 0.900746571331589530, 0.900724852953638800, 0.900703132323876000, 0.900681409442355310, 0.900659684309131130, 0.900637956924257740, +0.900616227287789450, 0.900594495399780200, 0.900572761260285180, 0.900551024869358120, 0.900529286227053640, 0.900507545333425810, 0.900485802188529250, 0.900464056792418140, +0.900442309145146780, 0.900420559246769340, 0.900398807097340990, 0.900377052696915480, 0.900355296045547430, 0.900333537143291010, 0.900311775990200850, 0.900290012586331230, +0.900268246931736240, 0.900246479026470920, 0.900224708870589470, 0.900202936464146290, 0.900181161807195650, 0.900159384899792190, 0.900137605741990310, 0.900115824333844290, +0.900094040675408440, 0.900072254766737800, 0.900050466607886570, 0.900028676198909140, 0.900006883539860030, 0.899985088630793740, 0.899963291471764680, 0.899941492062827030, +0.899919690404036080, 0.899897886495445780, 0.899876080337110860, 0.899854271929085740, 0.899832461271424910, 0.899810648364183010, 0.899788833207414320, 0.899767015801173350, +0.899745196145515070, 0.899723374240493870, 0.899701550086164260, 0.899679723682580760, 0.899657895029797980, 0.899636064127870340, 0.899614230976852670, 0.899592395576798930, +0.899570557927764750, 0.899548718029804070, 0.899526875882971530, 0.899505031487321860, 0.899483184842909680, 0.899461335949789500, 0.899439484808015500, 0.899417631417643300, +0.899395775778726980, 0.899373917891321150, 0.899352057755480660, 0.899330195371259910, 0.899308330738713750, 0.899286463857896680, 0.899264594728863110, 0.899242723351668440, +0.899220849726366960, 0.899198973853013390, 0.899177095731662380, 0.899155215362368640, 0.899133332745186810, 0.899111447880171610, 0.899089560767377560, 0.899067671406859840, +0.899045779798673060, 0.899023885942871750, 0.899001989839510740, 0.898980091488644770, 0.898958190890328580, 0.898936288044616450, 0.898914382951564120, 0.898892475611225760, +0.898870566023656110, 0.898848654188910250, 0.898826740107042670, 0.898804823778108220, 0.898782905202161640, 0.898760984379257550, 0.898739061309451250, 0.898717135992797460, +0.898695208429350690, 0.898673278619165910, 0.898651346562298060, 0.898629412258801660, 0.898607475708731450, 0.898585536912142930, 0.898563595869090630, 0.898541652579629260, +0.898519707043813790, 0.898497759261699060, 0.898475809233339920, 0.898453856958791210, 0.898431902438107550, 0.898409945671344470, 0.898387986658556460, 0.898366025399798600, +0.898344061895125610, 0.898322096144592570, 0.898300128148254220, 0.898278157906165500, 0.898256185418381040, 0.898234210684956460, 0.898212233705946490, 0.898190254481405770, +0.898168273011389570, 0.898146289295952530, 0.898124303335149920, 0.898102315129036040, 0.898080324677666850, 0.898058331981096750, 0.898036337039380910, 0.898014339852574170, +0.897992340420731620, 0.897970338743908190, 0.897948334822158970, 0.897926328655538450, 0.897904320244102610, 0.897882309587905820, 0.897860296687003400, 0.897838281541450180, +0.897816264151301220, 0.897794244516611610, 0.897772222637436060, 0.897750198513830310, 0.897728172145848990, 0.897706143533547270, 0.897684112676980340, 0.897662079576202920, +0.897640044231270420, 0.897618006642237790, 0.897595966809159760, 0.897573924732092190, 0.897551880411089800, 0.897529833846207770, 0.897507785037501060, 0.897485733985024960, +0.897463680688834530, 0.897441625148984850, 0.897419567365530750, 0.897397507338528080, 0.897375445068031690, 0.897353380554096640, 0.897331313796778220, 0.897309244796131390, +0.897287173552211550, 0.897265100065073320, 0.897243024334772770, 0.897220946361364740, 0.897198866144904180, 0.897176783685446620, 0.897154698983047010, 0.897132612037760620, +0.897110522849642770, 0.897088431418748170, 0.897066337745132890, 0.897044241828851780, 0.897022143669960140, 0.897000043268513010, 0.896977940624565930, 0.896955835738173830, +0.896933728609392240, 0.896911619238275890, 0.896889507624880960, 0.896867393769262170, 0.896845277671474930, 0.896823159331574530, 0.896801038749616140, 0.896778915925655280, +0.896756790859746690, 0.896734663551946420, 0.896712534002309550, 0.896690402210891470, 0.896668268177747250, 0.896646131902932410, 0.896623993386502230, 0.896601852628512000, +0.896579709629016790, 0.896557564388072770, 0.896535416905734790, 0.896513267182058260, 0.896491115217098570, 0.896468961010911000, 0.896446804563551190, 0.896424645875073870, +0.896402484945535320, 0.896380321774990610, 0.896358156363495140, 0.896335988711104200, 0.896313818817873310, 0.896291646683857860, 0.896269472309113360, 0.896247295693694660, +0.896225116837658260, 0.896202935741059030, 0.896180752403952340, 0.896158566826393940, 0.896136379008439010, 0.896114188950143160, 0.896091996651561810, 0.896069802112750110, +0.896047605333764370, 0.896025406314659540, 0.896003205055491140, 0.895981001556314770, 0.895958795817185960, 0.895936587838160100, 0.895914377619292380, 0.895892165160639190, +0.895869950462255480, 0.895847733524196890, 0.895825514346519030, 0.895803292929277410, 0.895781069272527430, 0.895758843376324940, 0.895736615240724790, 0.895714384865783590, +0.895692152251556410, 0.895669917398098870, 0.895647680305466600, 0.895625440973714990, 0.895603199402899900, 0.895580955593076710, 0.895558709544300720, 0.895536461256628450, +0.895514210730114950, 0.895491957964815950, 0.895469702960787100, 0.895447445718083990, 0.895425186236762260, 0.895402924516877090, 0.895380660558485090, 0.895358394361641330, +0.895336125926401660, 0.895313855252821700, 0.895291582340957070, 0.895269307190863510, 0.895247029802596740, 0.895224750176211840, 0.895202468311765640, 0.895180184209313110, +0.895157897868910200, 0.895135609290612530, 0.895113318474475840, 0.895091025420555850, 0.895068730128907860, 0.895046432599588600, 0.895024132832653140, 0.895001830828157320, +0.894979526586156980, 0.894957220106707750, 0.894934911389865580, 0.894912600435685990, 0.894890287244224590, 0.894867971815537900, 0.894845654149681200, 0.894823334246710460, +0.894801012106681390, 0.894778687729649750, 0.894756361115671360, 0.894734032264802080, 0.894711701177097310, 0.894689367852613660, 0.894667032291406650, 0.894644694493532010, +0.894622354459045700, 0.894600012188003450, 0.894577667680461210, 0.894555320936474390, 0.894532971956099710, 0.894510620739392470, 0.894488267286408840, 0.894465911597204450, +0.894443553671835260, 0.894421193510357200, 0.894398831112826250, 0.894376466479297690, 0.894354099609828480, 0.894331730504473900, 0.894309359163290130, 0.894286985586332910, +0.894264609773658180, 0.894242231725321910, 0.894219851441380160, 0.894197468921888340, 0.894175084166903170, 0.894152697176480380, 0.894130307950675830, 0.894107916489545460, +0.894085522793145350, 0.894063126861531440, 0.894040728694759370, 0.894018328292885740, 0.893995925655966420, 0.893973520784057230, 0.893951113677214140, 0.893928704335493430, +0.893906292758950840, 0.893883878947642540, 0.893861462901624270, 0.893839044620952650, 0.893816624105683410, 0.893794201355872620, 0.893771776371576230, 0.893749349152850540, +0.893726919699751380, 0.893704488012334600, 0.893682054090656930, 0.893659617934774220, 0.893637179544742420, 0.893614738920617710, 0.893592296062456050, 0.893569850970313720, +0.893547403644246670, 0.893524954084310870, 0.893502502290562940, 0.893480048263058820, 0.893457592001854590, 0.893435133507006430, 0.893412672778570390, 0.893390209816602670, +0.893367744621159420, 0.893345277192296390, 0.893322807530070540, 0.893300335634537700, 0.893277861505754060, 0.893255385143775670, 0.893232906548658940, 0.893210425720459830, +0.893187942659234400, 0.893165457365039380, 0.893142969837930730, 0.893120480077964740, 0.893097988085197470, 0.893075493859685320, 0.893052997401484360, 0.893030498710650880, +0.893007997787240830, 0.892985494631311160, 0.892962989242917730, 0.892940481622116920, 0.892917971768964810, 0.892895459683517800, 0.892872945365832060, 0.892850428815964100, +0.892827910033969550, 0.892805389019905690, 0.892782865773828370, 0.892760340295793870, 0.892737812585858490, 0.892715282644078620, 0.892692750470510550, 0.892670216065210130, +0.892647679428234640, 0.892625140559639930, 0.892602599459482390, 0.892580056127818320, 0.892557510564704120, 0.892534962770196060, 0.892512412744350670, 0.892489860487223900, +0.892467305998872810, 0.892444749279353470, 0.892422190328722280, 0.892399629147035630, 0.892377065734349940, 0.892354500090721480, 0.892331932216206440, 0.892309362110861870, +0.892286789774744070, 0.892264215207909110, 0.892241638410413710, 0.892219059382314270, 0.892196478123667090, 0.892173894634528790, 0.892151308914955310, 0.892128720965003950, +0.892106130784730780, 0.892083538374192300, 0.892060943733444910, 0.892038346862545240, 0.892015747761549680, 0.891993146430514750, 0.891970542869496620, 0.891947937078552470, +0.891925329057738470, 0.891902718807111140, 0.891880106326726980, 0.891857491616642630, 0.891834874676914580, 0.891812255507598910, 0.891789634108752890, 0.891767010480432940, +0.891744384622695340, 0.891721756535596930, 0.891699126219194000, 0.891676493673543290, 0.891653858898701300, 0.891631221894724320, 0.891608582661669760, 0.891585941199593670, +0.891563297508552680, 0.891540651588603520, 0.891518003439802700, 0.891495353062206840, 0.891472700455872240, 0.891450045620856280, 0.891427388557215260, 0.891404729265005690, +0.891382067744284300, 0.891359403995107710, 0.891336738017532770, 0.891314069811615870, 0.891291399377413310, 0.891268726714982810, 0.891246051824380440, 0.891223374705662930, +0.891200695358887020, 0.891178013784109320, 0.891155329981386580, 0.891132643950775520, 0.891109955692332530, 0.891087265206114920, 0.891064572492179190, 0.891041877550582060, +0.891019180381380280, 0.890996480984630470, 0.890973779360389570, 0.890951075508713660, 0.890928369429660580, 0.890905661123286510, 0.890882950589648390, 0.890860237828802860, +0.890837522840806640, 0.890814805625716690, 0.890792086183589740, 0.890769364514482080, 0.890746640618451550, 0.890723914495554330, 0.890701186145847260, 0.890678455569387300, +0.890655722766231280, 0.890632987736435840, 0.890610250480057930, 0.890587510997154050, 0.890564769287781830, 0.890542025351997560, 0.890519279189858290, 0.890496530801420880, +0.890473780186742060, 0.890451027345878890, 0.890428272278887660, 0.890405514985826210, 0.890382755466750940, 0.890359993721718810, 0.890337229750786660, 0.890314463554011450, +0.890291695131450010, 0.890268924483159420, 0.890246151609196070, 0.890223376509617800, 0.890200599184481020, 0.890177819633842790, 0.890155037857760070, 0.890132253856289690, +0.890109467629488620, 0.890086679177413580, 0.890063888500122190, 0.890041095597671080, 0.890018300470117210, 0.889995503117517630, 0.889972703539929300, 0.889949901737409180, +0.889927097710014330, 0.889904291457801370, 0.889881482980828030, 0.889858672279150940, 0.889835859352827270, 0.889813044201913870, 0.889790226826467910, 0.889767407226546350, +0.889744585402206250, 0.889721761353504340, 0.889698935080498470, 0.889676106583245140, 0.889653275861801650, 0.889630442916224950, 0.889607607746572100, 0.889584770352900290, +0.889561930735266020, 0.889539088893727460, 0.889516244828341130, 0.889493398539164200, 0.889470550026253750, 0.889447699289666940, 0.889424846329460950, 0.889401991145692740, +0.889379133738419260, 0.889356274107698240, 0.889333412253586640, 0.889310548176141410, 0.889287681875419840, 0.889264813351479110, 0.889241942604376280, 0.889219069634168640, +0.889196194440912910, 0.889173317024667060, 0.889150437385487940, 0.889127555523432810, 0.889104671438558650, 0.889081785130922950, 0.889058896600582680, 0.889036005847594790, +0.889013112872017340, 0.888990217673907070, 0.888967320253321260, 0.888944420610317200, 0.888921518744951960, 0.888898614657283040, 0.888875708347367510, 0.888852799815262440, +0.888829889061025670, 0.888806976084714150, 0.888784060886385170, 0.888761143466096140, 0.888738223823904220, 0.888715301959866700, 0.888692377874040540, 0.888669451566483910, +0.888646523037253560, 0.888623592286406970, 0.888600659314001340, 0.888577724120094060, 0.888554786704742530, 0.888531847068004030, 0.888508905209935420, 0.888485961130594970, +0.888463014830039750, 0.888440066308326840, 0.888417115565513840, 0.888394162601658040, 0.888371207416816850, 0.888348250011047560, 0.888325290384407330, 0.888302328536954230, +0.888279364468745340, 0.888256398179838040, 0.888233429670289730, 0.888210458940157930, 0.888187485989499810, 0.888164510818372670, 0.888141533426834660, 0.888118553814942870, +0.888095571982754570, 0.888072587930327510, 0.888049601657718850, 0.888026613164986210, 0.888003622452187000, 0.887980629519378390, 0.887957634366618560, 0.887934636993964690, +0.887911637401474270, 0.887888635589204720, 0.887865631557213540, 0.887842625305558240, 0.887819616834296440, 0.887796606143485210, 0.887773593233182940, 0.887750578103446600, +0.887727560754333790, 0.887704541185902140, 0.887681519398209050, 0.887658495391312250, 0.887635469165268810, 0.887612440720137010, 0.887589410055974140, 0.887566377172837820, +0.887543342070785450, 0.887520304749874870, 0.887497265210163370, 0.887474223451708790, 0.887451179474568310, 0.887428133278800100, 0.887405084864461680, 0.887382034231610550, +0.887358981380304330, 0.887335926310600650, 0.887312869022557240, 0.887289809516231150, 0.887266747791680910, 0.887243683848963900, 0.887220617688137540, 0.887197549309259760, +0.887174478712388080, 0.887151405897580240, 0.887128330864893840, 0.887105253614386190, 0.887082174146115790, 0.887059092460140030, 0.887036008556516540, 0.887012922435302940, +0.886989834096557180, 0.886966743540336670, 0.886943650766699450, 0.886920555775702610, 0.886897458567404760, 0.886874359141863300, 0.886851257499135960, 0.886828153639280470, +0.886805047562354680, 0.886781939268416090, 0.886758828757522320, 0.886735716029732000, 0.886712601085102300, 0.886689483923691070, 0.886666364545556140, 0.886643242950755360, +0.886620119139346350, 0.886596993111387180, 0.886573864866935010, 0.886550734406048590, 0.886527601728785420, 0.886504466835203230, 0.886481329725359870, 0.886458190399313170, +0.886435048857120990, 0.886411905098841160, 0.886388759124531190, 0.886365610934249700, 0.886342460528054210, 0.886319307906002550, 0.886296153068152680, 0.886272996014562440, +0.886249836745289680, 0.886226675260391890, 0.886203511559927830, 0.886180345643954980, 0.886157177512531200, 0.886134007165714550, 0.886110834603562990, 0.886087659826134240, +0.886064482833486270, 0.886041303625676790, 0.886018122202764440, 0.885994938564806710, 0.885971752711861790, 0.885948564643987300, 0.885925374361241520, 0.885902181863682300, +0.885878987151367260, 0.885855790224355010, 0.885832591082703400, 0.885809389726470280, 0.885786186155713700, 0.885762980370491610, 0.885739772370862100, 0.885716562156883210, +0.885693349728612470, 0.885670135086108700, 0.885646918229429650, 0.885623699158633370, 0.885600477873777710, 0.885577254374920960, 0.885554028662121070, 0.885530800735436000, +0.885507570594923690, 0.885484338240642770, 0.885461103672650960, 0.885437866891006450, 0.885414627895767190, 0.885391386686991470, 0.885368143264737230, 0.885344897629062210, +0.885321649780025480, 0.885298399717684430, 0.885275147442097570, 0.885251892953322740, 0.885228636251418120, 0.885205377336442000, 0.885182116208452440, 0.885158852867507170, +0.885135587313665150, 0.885112319546984220, 0.885089049567522430, 0.885065777375337980, 0.885042502970489140, 0.885019226353034090, 0.884995947523030900, 0.884972666480537410, +0.884949383225612780, 0.884926097758314660, 0.884902810078701200, 0.884879520186830800, 0.884856228082761540, 0.884832933766551810, 0.884809637238259230, 0.884786338497942970, +0.884763037545660990, 0.884739734381471240, 0.884716429005432350, 0.884693121417602260, 0.884669811618039370, 0.884646499606801970, 0.884623185383947910, 0.884599868949536350, +0.884576550303625030, 0.884553229446272350, 0.884529906377536700, 0.884506581097476150, 0.884483253606149210, 0.884459923903613720, 0.884436591989928860, 0.884413257865152460, +0.884389921529342930, 0.884366582982558660, 0.884343242224857830, 0.884319899256298950, 0.884296554076940410, 0.884273206686839950, 0.884249857086056860, 0.884226505274649190, +0.884203151252675350, 0.884179795020193500, 0.884156436577262170, 0.884133075923939860, 0.884109713060284740, 0.884086347986354990, 0.884062980702209790, 0.884039611207907080, +0.884016239503505390, 0.883992865589063090, 0.883969489464638600, 0.883946111130290420, 0.883922730586076510, 0.883899347832056260, 0.883875962868287510, 0.883852575694829000, +0.883829186311739010, 0.883805794719075940, 0.883782400916898530, 0.883759004905265040, 0.883735606684233680, 0.883712206253863710, 0.883688803614213200, 0.883665398765340670, +0.883641991707304620, 0.883618582440163670, 0.883595170963976220, 0.883571757278800440, 0.883548341384695620, 0.883524923281720050, 0.883501502969932130, 0.883478080449390470, +0.883454655720153580, 0.883431228782279980, 0.883407799635828380, 0.883384368280856870, 0.883360934717424940, 0.883337498945590550, 0.883314060965412430, 0.883290620776949200, +0.883267178380259370, 0.883243733775401660, 0.883220286962434600, 0.883196837941416350, 0.883173386712406530, 0.883149933275463090, 0.883126477630644890, 0.883103019778010530, +0.883079559717618650, 0.883056097449527840, 0.883032632973796310, 0.883009166290483650, 0.882985697399648050, 0.882962226301348240, 0.882938752995642840, 0.882915277482590580, +0.882891799762250180, 0.882868319834680170, 0.882844837699939040, 0.882821353358086200, 0.882797866809179930, 0.882774378053279070, 0.882750887090442250, 0.882727393920728190, +0.882703898544195620, 0.882680400960903280, 0.882656901170909670, 0.882633399174274080, 0.882609894971055020, 0.882586388561311220, 0.882562879945101520, 0.882539369122484540, +0.882515856093519240, 0.882492340858263780, 0.882468823416777900, 0.882445303769120000, 0.882421781915348810, 0.882398257855523170, 0.882374731589701920, 0.882351203117943790, +0.882327672440307630, 0.882304139556851940, 0.882280604467636340, 0.882257067172719120, 0.882233527672159350, 0.882209985966015740, 0.882186442054347150, 0.882162895937212420, +0.882139347614670060, 0.882115797086779670, 0.882092244353599900, 0.882068689415189460, 0.882045132271607300, 0.882021572922912390, 0.881998011369163450, 0.881974447610419540, +0.881950881646739070, 0.881927313478181870, 0.881903743104806240, 0.881880170526671340, 0.881856595743836010, 0.881833018756359220, 0.881809439564299910, 0.881785858167716930, +0.881762274566668890, 0.881738688761215640, 0.881715100751415680, 0.881691510537327860, 0.881667918119011350, 0.881644323496525000, 0.881620726669927860, 0.881597127639278550, +0.881573526404636710, 0.881549922966061160, 0.881526317323610750, 0.881502709477344550, 0.881479099427321610, 0.881455487173600890, 0.881431872716241460, 0.881408256055301930, +0.881384637190842150, 0.881361016122920840, 0.881337392851596960, 0.881313767376929570, 0.881290139698977850, 0.881266509817800750, 0.881242877733457330, 0.881219243446006330, +0.881195606955507580, 0.881171968262019820, 0.881148327365602220, 0.881124684266313740, 0.881101038964213660, 0.881077391459360810, 0.881053741751814170, 0.881030089841633560, +0.881006435728877710, 0.880982779413605810, 0.880959120895877020, 0.880935460175750310, 0.880911797253285060, 0.880888132128540220, 0.880864464801574650, 0.880840795272448410, +0.880817123541220100, 0.880793449607949030, 0.880769773472694250, 0.880746095135515160, 0.880722414596470720, 0.880698731855619870, 0.880675046913022670, 0.880651359768737760, +0.880627670422824530, 0.880603978875342030, 0.880580285126349670, 0.880556589175906620, 0.880532891024072060, 0.880509190670904830, 0.880485488116464990, 0.880461783360811490, +0.880438076404003510, 0.880414367246100450, 0.880390655887161370, 0.880366942327245660, 0.880343226566412620, 0.880319508604721080, 0.880295788442231110, 0.880272066079001770, +0.880248341515092240, 0.880224614750561910, 0.880200885785469960, 0.880177154619875780, 0.880153421253838330, 0.880129685687417780, 0.880105947920672980, 0.880082207953663430, +0.880058465786448200, 0.880034721419086900, 0.880010974851638710, 0.879987226084163130, 0.879963475116719020, 0.879939721949366760, 0.879915966582165090, 0.879892209015173510, +0.879868449248451530, 0.879844687282058340, 0.879820923116053420, 0.879797156750496190, 0.879773388185445590, 0.879749617420962030, 0.879725844457104440, 0.879702069293932130, +0.879678291931504820, 0.879654512369881680, 0.879630730609122220, 0.879606946649285510, 0.879583160490431950, 0.879559372132620480, 0.879535581575910500, 0.879511788820361630, +0.879487993866033270, 0.879464196712984920, 0.879440397361275990, 0.879416595810965760, 0.879392792062114400, 0.879368986114781090, 0.879345177969025340, 0.879321367624906650, +0.879297555082484530, 0.879273740341818490, 0.879249923402967700, 0.879226104265992570, 0.879202282930952150, 0.879178459397905950, 0.879154633666913710, 0.879130805738034820, +0.879106975611328890, 0.879083143286855550, 0.879059308764673970, 0.879035472044844560, 0.879011633127426360, 0.878987792012479120, 0.878963948700062450, 0.878940103190235860, +0.878916255483059070, 0.878892405578591610, 0.878868553476892630, 0.878844699178022770, 0.878820842682041190, 0.878796983989007520, 0.878773123098981370, 0.878749260012022360, +0.878725394728190220, 0.878701527247544130, 0.878677657570144710, 0.878653785696051130, 0.878629911625323110, 0.878606035358020290, 0.878582156894202380, 0.878558276233929010, +0.878534393377260030, 0.878510508324254700, 0.878486621074973440, 0.878462731629475630, 0.878438839987821020, 0.878414946150069320, 0.878391050116280160, 0.878367151886513490, +0.878343251460828920, 0.878319348839285750, 0.878295444021944590, 0.878271537008864960, 0.878247627800106350, 0.878223716395728720, 0.878199802795791800, 0.878175887000355430, +0.878151969009478890, 0.878128048823222820, 0.878104126441646700, 0.878080201864810170, 0.878056275092773180, 0.878032346125595440, 0.878008414963336930, 0.877984481606057350, +0.877960546053816130, 0.877936608306673970, 0.877912668364690290, 0.877888726227925020, 0.877864781896437800, 0.877840835370288670, 0.877816886649537500, 0.877792935734243660, +0.877768982624467900, 0.877745027320269710, 0.877721069821708940, 0.877697110128845550, 0.877673148241739250, 0.877649184160450120, 0.877625217885038110, 0.877601249415562610, +0.877577278752084360, 0.877553305894662960, 0.877529330843358270, 0.877505353598230230, 0.877481374159338800, 0.877457392526744040, 0.877433408700505680, 0.877409422680683450, +0.877385434467338080, 0.877361444060529070, 0.877337451460316500, 0.877313456666760310, 0.877289459679920450, 0.877265460499856990, 0.877241459126629320, 0.877217455560298510, +0.877193449800924060, 0.877169441848566040, 0.877145431703284410, 0.877121419365139100, 0.877097404834190300, 0.877073388110498060, 0.877049369194121800, 0.877025348085122670, +0.877001324783560080, 0.876977299289494190, 0.876953271602985080, 0.876929241724092810, 0.876905209652877330, 0.876881175389398470, 0.876857138933717200, 0.876833100285892900, +0.876809059445985970, 0.876785016414056370, 0.876760971190164160, 0.876736923774369630, 0.876712874166732710, 0.876688822367313160, 0.876664768376172020, 0.876640712193369030, +0.876616653818964140, 0.876592593253017750, 0.876568530495589690, 0.876544465546740480, 0.876520398406530070, 0.876496329075018180, 0.876472257552265880, 0.876448183838333010, +0.876424107933279630, 0.876400029837166030, 0.876375949550052380, 0.876351867071998750, 0.876327782403065080, 0.876303695543312440, 0.876279606492800460, 0.876255515251589510, +0.876231421819739790, 0.876207326197311450, 0.876183228384364800, 0.876159128380960220, 0.876135026187157220, 0.876110921803017200, 0.876086815228599770, 0.876062706463965330, +0.876038595509174180, 0.876014482364286580, 0.875990367029362730, 0.875966249504462890, 0.875942129789647030, 0.875918007884976310, 0.875893883790510590, 0.875869757506310130, +0.875845629032435240, 0.875821498368946290, 0.875797365515903700, 0.875773230473367190, 0.875749093241398050, 0.875724953820056110, 0.875700812209401770, 0.875676668409495540, +0.875652522420397480, 0.875628374242168220, 0.875604223874868030, 0.875580071318556860, 0.875555916573295900, 0.875531759639145090, 0.875507600516164940, 0.875483439204415850, +0.875459275703958100, 0.875435110014852190, 0.875410942137157980, 0.875386772070936960, 0.875362599816248980, 0.875338425373154540, 0.875314248741713930, 0.875290069921987770, +0.875265888914036450, 0.875241705717920370, 0.875217520333699590, 0.875193332761435410, 0.875169143001187980, 0.875144951053017710, 0.875120756916984990, 0.875096560593150330, +0.875072362081574350, 0.875048161382317450, 0.875023958495439680, 0.874999753421002560, 0.874975546159065920, 0.874951336709690500, 0.874927125072936680, 0.874902911248865100, +0.874878695237536250, 0.874854477039010200, 0.874830256653348350, 0.874806034080610970, 0.874781809320858360, 0.874757582374151350, 0.874733353240550350, 0.874709121920115960, +0.874684888412908700, 0.874660652718988850, 0.874636414838417810, 0.874612174771255750, 0.874587932517563280, 0.874563688077400920, 0.874539441450829290, 0.874515192637909110, +0.874490941638701000, 0.874466688453265030, 0.874442433081662810, 0.874418175523954510, 0.874393915780200760, 0.874369653850462170, 0.874345389734799580, 0.874321123433273390, +0.874296854945944000, 0.874272584272872910, 0.874248311414120290, 0.874224036369746990, 0.874199759139813630, 0.874175479724380810, 0.874151198123509280, 0.874126914337259750, +0.874102628365692520, 0.874078340208869100, 0.874054049866849870, 0.874029757339695570, 0.874005462627466810, 0.873981165730224440, 0.873956866648029180, 0.873932565380941220, +0.873908261929022380, 0.873883956292332840, 0.873859648470933340, 0.873835338464884810, 0.873811026274247890, 0.873786711899083410, 0.873762395339452210, 0.873738076595414580, +0.873713755667032130, 0.873689432554365260, 0.873665107257474930, 0.873640779776421740, 0.873616450111266650, 0.873592118262070390, 0.873567784228893920, 0.873543448011797510, +0.873519109610842890, 0.873494769026090470, 0.873470426257601180, 0.873446081305435880, 0.873421734169655290, 0.873397384850320370, 0.873373033347491500, 0.873348679661230640, +0.873324323791597970, 0.873299965738654540, 0.873275605502461080, 0.873251243083078780, 0.873226878480568240, 0.873202511694990520, 0.873178142726406150, 0.873153771574876840, +0.873129398240463090, 0.873105022723225880, 0.873080645023226020, 0.873056265140524590, 0.873031883075182540, 0.873007498827260810, 0.872983112396819800, 0.872958723783921480, +0.872934332988626330, 0.872909940010995420, 0.872885544851089600, 0.872861147508969930, 0.872836747984697460, 0.872812346278332600, 0.872787942389937290, 0.872763536319572150, +0.872739128067298250, 0.872714717633176430, 0.872690305017267850, 0.872665890219633480, 0.872641473240334480, 0.872617054079431240, 0.872592632736985950, 0.872568209213059000, +0.872543783507711450, 0.872519355621004580, 0.872494925552999230, 0.872470493303756590, 0.872446058873337260, 0.872421622261803200, 0.872397183469215130, 0.872372742495634120, +0.872348299341121240, 0.872323854005737530, 0.872299406489544290, 0.872274956792602470, 0.872250504914972910, 0.872226050856717450, 0.872201594617896810, 0.872177136198572290, +0.872152675598804940, 0.872128212818655820, 0.872103747858186230, 0.872079280717457220, 0.872054811396529630, 0.872030339895465410, 0.872005866214325300, 0.871981390353170570, +0.871956912312062400, 0.871932432091061860, 0.871907949690230330, 0.871883465109628440, 0.871858978349318360, 0.871834489409360810, 0.871809998289816980, 0.871785504990748250, +0.871761009512215690, 0.871736511854280690, 0.871712012017004320, 0.871687510000447530, 0.871663005804672380, 0.871638499429739700, 0.871613990875710900, 0.871589480142646920, +0.871564967230609390, 0.871540452139659360, 0.871515934869858230, 0.871491415421266850, 0.871466893793947370, 0.871442369987960650, 0.871417844003367970, 0.871393315840230720, +0.871368785498610190, 0.871344252978567660, 0.871319718280164080, 0.871295181403461630, 0.871270642348521250, 0.871246101115404240, 0.871221557704171980, 0.871197012114885870, +0.871172464347607200, 0.871147914402397360, 0.871123362279317300, 0.871098807978429200, 0.871074251499794230, 0.871049692843473560, 0.871025132009528580, 0.871000568998020810, +0.870976003809011750, 0.870951436442562120, 0.870926866898734330, 0.870902295177589440, 0.870877721279188720, 0.870853145203593800, 0.870828566950865970, 0.870803986521066720, +0.870779403914257450, 0.870754819130499350, 0.870730232169854570, 0.870705643032384180, 0.870681051718149690, 0.870656458227212600, 0.870631862559634430, 0.870607264715476560, +0.870582664694800500, 0.870558062497667320, 0.870533458124139510, 0.870508851574277930, 0.870484242848144300, 0.870459631945800120, 0.870435018867306790, 0.870410403612725920, +0.870385786182118590, 0.870361166575547300, 0.870336544793072990, 0.870311920834757390, 0.870287294700661910, 0.870262666390848260, 0.870238035905377960, 0.870213403244312510, +0.870188768407713200, 0.870164131395642300, 0.870139492208161110, 0.870114850845331240, 0.870090207307214200, 0.870065561593871720, 0.870040913705365180, 0.870016263641756100, +0.869991611403106660, 0.869966956989478240, 0.869942300400932460, 0.869917641637530940, 0.869892980699335180, 0.869868317586407150, 0.869843652298808220, 0.869818984836599700, +0.869794315199844180, 0.869769643388602850, 0.869744969402937550, 0.869720293242909670, 0.869695614908581160, 0.869670934400013530, 0.869646251717268610, 0.869621566860407590, +0.869596879829493190, 0.869572190624586460, 0.869547499245749370, 0.869522805693043410, 0.869498109966530540, 0.869473412066272380, 0.869448711992330200, 0.869424009744766750, +0.869399305323643180, 0.869374598729021450, 0.869349889960963180, 0.869325179019530100, 0.869300465904784160, 0.869275750616787080, 0.869251033155600150, 0.869226313521286100, +0.869201591713906210, 0.869176867733522430, 0.869152141580196380, 0.869127413253990010, 0.869102682754965160, 0.869077950083183560, 0.869053215238706710, 0.869028478221597120, +0.869003739031916410, 0.868978997669726420, 0.868954254135088870, 0.868929508428065710, 0.868904760548718790, 0.868880010497109500, 0.868855258273300570, 0.868830503877353610, +0.868805747309330250, 0.868780988569292640, 0.868756227657302540, 0.868731464573421870, 0.868706699317712490, 0.868681931890236010, 0.868657162291055050, 0.868632390520231220, +0.868607616577826370, 0.868582840463902550, 0.868558062178521610, 0.868533281721745490, 0.868508499093635700, 0.868483714294255190, 0.868458927323665360, 0.868434138181928270, +0.868409346869105760, 0.868384553385259880, 0.868359757730452600, 0.868334959904745960, 0.868310159908201480, 0.868285357740882000, 0.868260553402849130, 0.868235746894164940, +0.868210938214891370, 0.868186127365090490, 0.868161314344824240, 0.868136499154154690, 0.868111681793143460, 0.868086862261853500, 0.868062040560346300, 0.868037216688684050, +0.868012390646928810, 0.867987562435142520, 0.867962732053387360, 0.867937899501724950, 0.867913064780218240, 0.867888227888928830, 0.867863388827918800, 0.867838547597250320, +0.867813704196985560, 0.867788858627186470, 0.867764010887915220, 0.867739160979233540, 0.867714308901204380, 0.867689454653889470, 0.867664598237350980, 0.867639739651650870, +0.867614878896851520, 0.867590015973014880, 0.867565150880203250, 0.867540283618478240, 0.867515414187903120, 0.867490542588539300, 0.867465668820449180, 0.867440792883694910, +0.867415914778338680, 0.867391034504442550, 0.867366152062068460, 0.867341267451279490, 0.867316380672137340, 0.867291491724704100, 0.867266600609042260, 0.867241707325213880, +0.867216811873281260, 0.867191914253306660, 0.867167014465351720, 0.867142112509479700, 0.867117208385752460, 0.867092302094232160, 0.867067393634981200, 0.867042483008061640, +0.867017570213535870, 0.866992655251465740, 0.866967738121914520, 0.866942818824943840, 0.866917897360616200, 0.866892973728993770, 0.866868047930138830, 0.866843119964113900, +0.866818189830981130, 0.866793257530802390, 0.866768323063641040, 0.866743386429558840, 0.866718447628618160, 0.866693506660881300, 0.866668563526410750, 0.866643618225268810, +0.866618670757517750, 0.866593721123219640, 0.866568769322437650, 0.866543815355233730, 0.866518859221670270, 0.866493900921809670, 0.866468940455714320, 0.866443977823446620, +0.866419013025068520, 0.866394046060643410, 0.866369076930233130, 0.866344105633900070, 0.866319132171706860, 0.866294156543715780, 0.866269178749989320, 0.866244198790589890, +0.866219216665579550, 0.866194232375021580, 0.866169245918978040, 0.866144257297511430, 0.866119266510684160, 0.866094273558558610, 0.866069278441197520, 0.866044281158663170, +0.866019281711017720, 0.865994280098324460, 0.865969276320645580, 0.865944270378043450, 0.865919262270580580, 0.865894251998319600, 0.865869239561323000, 0.865844224959652850, +0.865819208193372660, 0.865794189262544370, 0.865769168167230600, 0.865744144907493960, 0.865719119483396970, 0.865694091895002130, 0.865669062142372050, 0.865644030225568910, +0.865618996144656090, 0.865593959899695900, 0.865568921490750710, 0.865543880917883150, 0.865518838181156050, 0.865493793280631700, 0.865468746216372490, 0.865443696988441920, +0.865418645596902070, 0.865393592041815540, 0.865368536323245170, 0.865343478441253370, 0.865318418395902840, 0.865293356187256220, 0.865268291815375900, 0.865243225280325270, +0.865218156582166500, 0.865193085720962430, 0.865168012696775570, 0.865142937509668750, 0.865117860159704600, 0.865092780646945720, 0.865067698971454410, 0.865042615133294390, +0.865017529132527830, 0.864992440969217460, 0.864967350643425890, 0.864942258155215970, 0.864917163504650530, 0.864892066691791640, 0.864866967716703020, 0.864841866579446950, +0.864816763280086280, 0.864791657818683720, 0.864766550195301910, 0.864741440410003780, 0.864716328462852070, 0.864691214353909170, 0.864666098083238580, 0.864640979650902700, +0.864615859056964480, 0.864590736301486530, 0.864565611384531810, 0.864540484306163040, 0.864515355066443060, 0.864490223665434150, 0.864465090103200270, 0.864439954379803590, +0.864414816495307050, 0.864389676449773490, 0.864364534243265650, 0.864339389875846580, 0.864314243347578560, 0.864289094658525330, 0.864263943808749380, 0.864238790798313560, +0.864213635627280820, 0.864188478295713990, 0.864163318803675920, 0.864138157151229550, 0.864112993338437390, 0.864087827365363160, 0.864062659232069370, 0.864037488938618870, +0.864012316485074710, 0.863987141871499830, 0.863961965097956970, 0.863936786164508860, 0.863911605071219110, 0.863886421818150450, 0.863861236405365720, 0.863836048832927860, +0.863810859100899940, 0.863785667209344800, 0.863760473158325490, 0.863735276947904640, 0.863710078578145970, 0.863684878049112090, 0.863659675360866070, 0.863634470513470860, +0.863609263506989410, 0.863584054341484890, 0.863558843017020130, 0.863533629533657860, 0.863508413891462050, 0.863483196090495060, 0.863457976130820200, 0.863432754012500300, +0.863407529735598640, 0.863382303300178070, 0.863357074706301300, 0.863331843954032290, 0.863306611043433650, 0.863281375974568550, 0.863256138747499960, 0.863230899362291030, +0.863205657819004930, 0.863180414117704630, 0.863155168258452840, 0.863129920241313520, 0.863104670066349500, 0.863079417733623730, 0.863054163243199390, 0.863028906595139760, +0.863003647789507780, 0.862978386826366290, 0.862953123705779260, 0.862927858427809390, 0.862902590992519870, 0.862877321399973860, 0.862852049650234540, 0.862826775743365190, +0.862801499679428870, 0.862776221458488310, 0.862750941080607680, 0.862725658545849710, 0.862700373854277560, 0.862675087005954410, 0.862649798000943660, 0.862624506839308360, +0.862599213521111800, 0.862573918046416810, 0.862548620415287350, 0.862523320627786470, 0.862498018683977240, 0.862472714583922940, 0.862447408327686850, 0.862422099915332250, +0.862396789346921990, 0.862371476622520230, 0.862346161742189700, 0.862320844705993790, 0.862295525513995800, 0.862270204166258880, 0.862244880662846550, 0.862219555003822080, +0.862194227189248210, 0.862168897219189210, 0.862143565093707930, 0.862118230812867760, 0.862092894376732090, 0.862067555785364090, 0.862042215038827280, 0.862016872137184920, +0.861991527080499860, 0.861966179868836500, 0.861940830502257670, 0.861915478980826770, 0.861890125304607070, 0.861864769473662200, 0.861839411488055320, 0.861814051347849500, +0.861788689053109010, 0.861763324603896820, 0.861737958000276310, 0.861712589242310870, 0.861687218330063900, 0.861661845263599010, 0.861636470042979500, 0.861611092668268300, +0.861585713139529810, 0.861560331456827090, 0.861534947620223530, 0.861509561629782540, 0.861484173485567720, 0.861458783187642460, 0.861433390736069730, 0.861407996130914010, +0.861382599372238270, 0.861357200460106110, 0.861331799394580930, 0.861306396175726240, 0.861280990803605540, 0.861255583278282330, 0.861230173599819790, 0.861204761768282200, +0.861179347783732730, 0.861153931646234880, 0.861128513355852280, 0.861103092912648300, 0.861077670316686690, 0.861052245568030840, 0.861026818666743910, 0.861001389612890410, +0.860975958406533400, 0.860950525047736500, 0.860925089536563330, 0.860899651873077380, 0.860874212057342380, 0.860848770089421400, 0.860823325969378830, 0.860797879697278060, +0.860772431273182480, 0.860746980697155940, 0.860721527969261930, 0.860696073089563970, 0.860670616058126000, 0.860645156875010970, 0.860619695540283500, 0.860594232054006760, +0.860568766416244470, 0.860543298627060250, 0.860517828686517830, 0.860492356594680820, 0.860466882351612840, 0.860441405957377280, 0.860415927412038650, 0.860390446715660230, +0.860364963868305630, 0.860339478870038700, 0.860313991720923040, 0.860288502421022280, 0.860263010970399920, 0.860237517369120570, 0.860212021617247300, 0.860186523714844050, +0.860161023661974440, 0.860135521458702310, 0.860110017105091270, 0.860084510601205390, 0.860059001947107600, 0.860033491142862760, 0.860007978188534360, 0.859982463084185910, +0.859956945829881250, 0.859931426425684320, 0.859905904871658740, 0.859880381167868020, 0.859854855314376780, 0.859829327311248390, 0.859803797158546710, 0.859778264856335460, +0.859752730404678590, 0.859727193803639930, 0.859701655053283220, 0.859676114153671960, 0.859650571104870860, 0.859625025906943340, 0.859599478559953330, 0.859573929063964460, +0.859548377419040890, 0.859522823625246350, 0.859497267682644780, 0.859471709591299480, 0.859446149351275500, 0.859420586962636010, 0.859395022425445190, 0.859369455739766750, +0.859343886905664660, 0.859318315923202850, 0.859292742792444830, 0.859267167513455330, 0.859241590086297970, 0.859216010511036690, 0.859190428787735330, 0.859164844916457840, +0.859139258897268280, 0.859113670730230710, 0.859088080415408300, 0.859062487952866220, 0.859036893342667970, 0.859011296584877400, 0.858985697679558680, 0.858960096626775640, +0.858934493426592450, 0.858908888079072950, 0.858883280584280760, 0.858857670942280940, 0.858832059153136760, 0.858806445216912630, 0.858780829133672260, 0.858755210903479840, +0.858729590526399410, 0.858703968002494490, 0.858678343331830240, 0.858652716514469950, 0.858627087550478010, 0.858601456439918360, 0.858575823182854970, 0.858550187779352100, +0.858524550229473720, 0.858498910533283530, 0.858473268690846500, 0.858447624702226350, 0.858421978567487030, 0.858396330286692820, 0.858370679859907890, 0.858345027287196080, +0.858319372568621340, 0.858293715704248620, 0.858268056694141630, 0.858242395538364460, 0.858216732236981360, 0.858191066790056410, 0.858165399197653780, 0.858139729459837630, +0.858114057576671700, 0.858088383548221150, 0.858062707374549590, 0.858037029055721210, 0.858011348591800390, 0.857985665982851090, 0.857959981228937680, 0.857934294330124250, +0.857908605286474720, 0.857882914098054060, 0.857857220764926100, 0.857831525287155120, 0.857805827664805400, 0.857780127897941000, 0.857754425986626320, 0.857728721930925090, +0.857703015730902570, 0.857677307386622510, 0.857651596898149180, 0.857625884265546870, 0.857600169488879850, 0.857574452568212300, 0.857548733503608720, 0.857523012295132840, +0.857497288942849820, 0.857471563446823630, 0.857445835807118530, 0.857420106023798920, 0.857394374096928980, 0.857368640026573090, 0.857342903812795540, 0.857317165455660390, +0.857291424955232690, 0.857265682311576520, 0.857239937524756020, 0.857214190594835830, 0.857188441521880010, 0.857162690305953160, 0.857136936947119120, 0.857111181445443290, +0.857085423800989400, 0.857059664013821940, 0.857033902084005430, 0.857008138011604030, 0.856982371796682350, 0.856956603439304800, 0.856930832939535200, 0.856905060297438960, +0.856879285513080120, 0.856853508586522980, 0.856827729517832150, 0.856801948307072010, 0.856776164954306970, 0.856750379459601090, 0.856724591823019740, 0.856698802044626780, +0.856673010124486930, 0.856647216062664580, 0.856621419859224130, 0.856595621514230080, 0.856569821027747040, 0.856544018399839070, 0.856518213630571350, 0.856492406720008260, +0.856466597668213980, 0.856440786475253350, 0.856414973141190640, 0.856389157666090580, 0.856363340050017570, 0.856337520293035780, 0.856311698395210710, 0.856285874356606300, +0.856260048177287290, 0.856234219857318070, 0.856208389396763360, 0.856182556795687670, 0.856156722054155160, 0.856130885172231240, 0.856105046149980060, 0.856079204987466370, +0.856053361684754650, 0.856027516241909540, 0.856001668658995520, 0.855975818936077440, 0.855949967073219350, 0.855924113070486770, 0.855898256927943970, 0.855872398645655450, +0.855846538223685950, 0.855820675662100180, 0.855794810960962660, 0.855768944120338100, 0.855743075140290690, 0.855717204020886140, 0.855691330762188510, 0.855665455364262640, +0.855639577827173040, 0.855613698150984540, 0.855587816335761750, 0.855561932381568970, 0.855536046288471910, 0.855510158056534630, 0.855484267685821980, 0.855458375176398670, +0.855432480528329430, 0.855406583741678990, 0.855380684816512080, 0.855354783752893090, 0.855328880550887400, 0.855302975210559650, 0.855277067731974430, 0.855251158115196590, +0.855225246360290850, 0.855199332467321940, 0.855173416436354250, 0.855147498267453510, 0.855121577960684000, 0.855095655516110550, 0.855069730933797900, 0.855043804213810990, +0.855017875356214540, 0.854991944361073510, 0.854966011228452060, 0.854940075958416030, 0.854914138551029820, 0.854888199006358260, 0.854862257324466300, 0.854836313505418550, +0.854810367549280080, 0.854784419456115720, 0.854758469225989860, 0.854732516858968230, 0.854706562355115330, 0.854680605714496000, 0.854654646937175190, 0.854628686023217840, +0.854602722972688690, 0.854576757785652230, 0.854550790462174410, 0.854524821002319630, 0.854498849406152730, 0.854472875673738750, 0.854446899805142550, 0.854420921800429060, +0.854394941659663340, 0.854368959382909800, 0.854342974970234260, 0.854316988421701340, 0.854290999737375990, 0.854265008917323150, 0.854239015961607670, 0.854213020870294710, +0.854187023643448780, 0.854161024281135720, 0.854135022783420020, 0.854109019150366850, 0.854083013382041180, 0.854057005478507820, 0.854030995439832070, 0.854004983266078880, +0.853978968957312620, 0.853952952513599480, 0.853926933935003960, 0.853900913221591120, 0.853874890373426010, 0.853848865390573590, 0.853822838273099020, 0.853796809021067470, +0.853770777634543340, 0.853744744113592690, 0.853718708458280240, 0.853692670668671050, 0.853666630744830180, 0.853640588686822690, 0.853614544494713750, 0.853588498168567970, +0.853562449708451410, 0.853536399114428690, 0.853510346386565090, 0.853484291524925550, 0.853458234529575250, 0.853432175400579360, 0.853406114138003160, 0.853380050741911030, +0.853353985212369380, 0.853327917549442700, 0.853301847753196290, 0.853275775823695180, 0.853249701761004680, 0.853223625565189820, 0.853197547236316020, 0.853171466774447880, +0.853145384179651470, 0.853119299451991610, 0.853093212591533590, 0.853067123598342470, 0.853041032472483530, 0.853014939214022050, 0.852988843823022760, 0.852962746299551820, +0.852936646643673970, 0.852910544855454590, 0.852884440934958740, 0.852858334882251820, 0.852832226697399110, 0.852806116380465770, 0.852780003931516760, 0.852753889350618130, +0.852727772637834840, 0.852701653793232040, 0.852675532816875140, 0.852649409708829410, 0.852623284469160250, 0.852597157097932270, 0.852571027595211970, 0.852544895961063980, +0.852518762195553890, 0.852492626298746780, 0.852466488270708140, 0.852440348111503270, 0.852414205821197650, 0.852388061399855900, 0.852361914847544530, 0.852335766164328380, +0.852309615350272720, 0.852283462405443170, 0.852257307329904900, 0.852231150123723300, 0.852204990786963880, 0.852178829319691580, 0.852152665721972570, 0.852126499993871910, +0.852100332135455000, 0.852074162146787330, 0.852047990027934190, 0.852021815778961080, 0.851995639399932950, 0.851969460890916300, 0.851943280251975850, 0.851917097483177340, +0.851890912584585940, 0.851864725556267350, 0.851838536398286990, 0.851812345110710250, 0.851786151693602060, 0.851759956147029150, 0.851733758471056150, 0.851707558665748880, +0.851681356731172730, 0.851655152667393220, 0.851628946474475730, 0.851602738152485880, 0.851576527701488730, 0.851550315121550770, 0.851524100412736960, 0.851497883575113020, +0.851471664608744240, 0.851445443513696330, 0.851419220290034810, 0.851392994937824830, 0.851366767457132800, 0.851340537848023770, 0.851314306110563470, 0.851288072244817400, +0.851261836250851170, 0.851235598128730400, 0.851209357878520480, 0.851183115500286800, 0.851156870994095870, 0.851130624360012630, 0.851104375598102810, 0.851078124708432140, +0.851051871691066220, 0.851025616546070450, 0.850999359273510340, 0.850973099873452150, 0.850946838345961300, 0.850920574691103380, 0.850894308908944020, 0.850868040999548820, +0.850841770962983520, 0.850815498799313840, 0.850789224508604840, 0.850762948090923340, 0.850736669546334530, 0.850710388874903910, 0.850684106076697420, 0.850657821151780680, +0.850631534100219300, 0.850605244922079120, 0.850578953617425300, 0.850552660186324690, 0.850526364628842350, 0.850500066945044100, 0.850473767134995780, 0.850447465198762910, +0.850421161136411420, 0.850394854948006600, 0.850368546633615050, 0.850342236193302180, 0.850315923627133710, 0.850289608935175470, 0.850263292117493190, 0.850236973174152590, +0.850210652105219620, 0.850184328910759570, 0.850158003590839150, 0.850131676145523760, 0.850105346574879130, 0.850079014878971080, 0.850052681057865580, 0.850026345111628330, +0.850000007040325300, 0.849973666844021760, 0.849947324522784430, 0.849920980076678930, 0.849894633505770880, 0.849868284810126220, 0.849841933989810890, 0.849815581044890740, +0.849789225975431160, 0.849762868781498980, 0.849736509463159590, 0.849710148020479060, 0.849683784453522990, 0.849657418762357560, 0.849631050947048600, 0.849604681007661950, +0.849578308944263120, 0.849551934756919040, 0.849525558445695110, 0.849499180010657270, 0.849472799451871490, 0.849446416769403800, 0.849420031963319940, 0.849393645033685530, +0.849367255980567610, 0.849340864804031370, 0.849314471504143080, 0.849288076080968570, 0.849261678534573900, 0.849235278865025030, 0.849208877072388010, 0.849182473156728230, +0.849156067118112760, 0.849129658956607190, 0.849103248672277380, 0.849076836265189480, 0.849050421735409570, 0.849024005083003570, 0.848997586308037460, 0.848971165410577040, +0.848944742390689070, 0.848918317248439360, 0.848891889983893750, 0.848865460597118540, 0.848839029088179540, 0.848812595457143050, 0.848786159704074560, 0.848759721829041140, +0.848733281832108500, 0.848706839713342600, 0.848680395472809490, 0.848653949110575570, 0.848627500626706670, 0.848601050021269070, 0.848574597294328380, 0.848548142445951560, +0.848521685476204550, 0.848495226385153180, 0.848468765172863850, 0.848442301839402500, 0.848415836384835530, 0.848389368809228880, 0.848362899112648390, 0.848336427295161010, +0.848309953356832680, 0.848283477297729460, 0.848256999117917520, 0.848230518817463030, 0.848204036396432380, 0.848177551854891080, 0.848151065192906390, 0.848124576410543950, +0.848098085507870140, 0.848071592484951120, 0.848045097341853180, 0.848018600078642380, 0.847992100695385110, 0.847965599192147200, 0.847939095568995720, 0.847912589825996490, +0.847886081963215800, 0.847859571980719820, 0.847833059878575050, 0.847806545656847540, 0.847780029315603150, 0.847753510854909240, 0.847726990274831560, 0.847700467575436380, +0.847673942756790090, 0.847647415818958860, 0.847620886762009080, 0.847594355586007150, 0.847567822291018790, 0.847541286877111390, 0.847514749344350780, 0.847488209692803360, +0.847461667922535300, 0.847435124033613100, 0.847408578026103140, 0.847382029900071720, 0.847355479655584660, 0.847328927292709480, 0.847302372811511990, 0.847275816212058500, +0.847249257494415490, 0.847222696658649350, 0.847196133704826490, 0.847169568633012740, 0.847143001443275590, 0.847116432135681000, 0.847089860710295240, 0.847063287167184930, +0.847036711506416240, 0.847010133728055890, 0.846983553832170280, 0.846956971818825120, 0.846930387688088150, 0.846903801440025190, 0.846877213074702650, 0.846850622592187130, +0.846824029992545020, 0.846797435275842950, 0.846770838442146730, 0.846744239491523890, 0.846717638424040460, 0.846691035239762860, 0.846664429938757790, 0.846637822521091540, +0.846611212986830840, 0.846584601336042080, 0.846557987568791300, 0.846531371685146030, 0.846504753685172420, 0.846478133568936860, 0.846451511336505870, 0.846424886987946270, +0.846398260523324340, 0.846371631942706810, 0.846345001246159740, 0.846318368433750630, 0.846291733505545540, 0.846265096461611190, 0.846238457302014080, 0.846211816026820830, +0.846185172636097940, 0.846158527129911800, 0.846131879508329690, 0.846105229771418000, 0.846078577919243120, 0.846051923951871900, 0.846025267869370820, 0.845998609671806510, +0.845971949359245800, 0.845945286931754640, 0.845918622389400850, 0.845891955732250400, 0.845865286960370110, 0.845838616073826600, 0.845811943072686480, 0.845785267957016580, +0.845758590726883530, 0.845731911382353490, 0.845705229923494060, 0.845678546350371760, 0.845651860663052870, 0.845625172861604430, 0.845598482946093190, 0.845571790916585520, +0.845545096773148040, 0.845518400515848260, 0.845491702144752440, 0.845465001659927440, 0.845438299061439860, 0.845411594349356530, 0.845384887523744300, 0.845358178584669770, +0.845331467532199340, 0.845304754366400730, 0.845278039087340230, 0.845251321695084660, 0.845224602189700750, 0.845197880571255330, 0.845171156839815250, 0.845144430995446780, +0.845117703038217650, 0.845090972968194350, 0.845064240785443620, 0.845037506490032180, 0.845010770082027070, 0.844984031561495040, 0.844957290928502910, 0.844930548183117080, +0.844903803325405380, 0.844877056355434090, 0.844850307273270260, 0.844823556078980520, 0.844796802772632030, 0.844770047354291510, 0.844743289824025800, 0.844716530181901510, +0.844689768427986270, 0.844663004562346660, 0.844636238585049440, 0.844609470496161750, 0.844582700295750330, 0.844555927983882130, 0.844529153560623640, 0.844502377026042810, +0.844475598380206030, 0.844448817623180140, 0.844422034755032300, 0.844395249775829470, 0.844368462685638370, 0.844341673484526160, 0.844314882172559230, 0.844288088749805650, +0.844261293216331810, 0.844234495572204760, 0.844207695817491440, 0.844180893952258930, 0.844154089976574150, 0.844127283890504180, 0.844100475694115500, 0.844073665387476080, +0.844046852970652520, 0.844020038443711870, 0.843993221806721090, 0.843966403059747240, 0.843939582202857360, 0.843912759236118080, 0.843885934159597450, 0.843859106973361860, +0.843832277677478590, 0.843805446272014590, 0.843778612757037030, 0.843751777132612850, 0.843724939398809210, 0.843698099555692860, 0.843671257603331610, 0.843644413541792320, +0.843617567371142020, 0.843590719091447780, 0.843563868702776660, 0.843537016205195940, 0.843510161598772120, 0.843483304883573480, 0.843456446059666520, 0.843429585127118410, +0.843402722085996430, 0.843375856936367630, 0.843348989678299080, 0.843322120311858160, 0.843295248837111490, 0.843268375254127120, 0.843241499562971790, 0.843214621763712760, +0.843187741856417090, 0.843160859841152190, 0.843133975717984980, 0.843107089486982990, 0.843080201148212800, 0.843053310701742500, 0.843026418147638900, 0.842999523485969290, +0.842972626716800950, 0.842945727840200940, 0.842918826856236650, 0.842891923764974790, 0.842865018566483660, 0.842838111260829970, 0.842811201848081000, 0.842784290328303930, +0.842757376701566250, 0.842730460967935020, 0.842703543127477750, 0.842676623180261150, 0.842649701126353400, 0.842622776965821440, 0.842595850698732440, 0.842568922325153900, +0.842541991845153100, 0.842515059258797220, 0.842488124566153740, 0.842461187767289510, 0.842434248862272690, 0.842407307851170350, 0.842380364734049760, 0.842353419510978090, +0.842326472182023060, 0.842299522747251730, 0.842272571206731160, 0.842245617560529620, 0.842218661808714080, 0.842191703951351900, 0.842164743988510380, 0.842137781920257010, +0.842110817746659190, 0.842083851467784420, 0.842056883083699410, 0.842029912594472800, 0.842002940000171280, 0.841975965300862490, 0.841948988496613810, 0.841922009587492640, +0.841895028573566350, 0.841868045454902130, 0.841841060231568240, 0.841814072903631640, 0.841787083471159940, 0.841760091934220520, 0.841733098292880790, 0.841706102547208460, +0.841679104697270810, 0.841652104743134900, 0.841625102684869120, 0.841598098522540750, 0.841571092256217070, 0.841544083885965580, 0.841517073411854000, 0.841490060833949620, +0.841463046152320150, 0.841436029367032660, 0.841409010478155420, 0.841381989485755820, 0.841354966389901150, 0.841327941190659010, 0.841300913888097130, 0.841273884482282910, +0.841246852973283500, 0.841219819361167520, 0.841192783646001920, 0.841165745827854310, 0.841138705906792410, 0.841111663882883720, 0.841084619756195860, 0.841057573526796440, +0.841030525194752740, 0.841003474760133040, 0.840976422223004730, 0.840949367583435300, 0.840922310841492490, 0.840895251997244020, 0.840868191050757270, 0.840841128002100090, +0.840814062851339640, 0.840786995598544420, 0.840759926243781820, 0.840732854787119340, 0.840705781228624720, 0.840678705568365660, 0.840651627806409900, 0.840624547942824480, +0.840597465977678260, 0.840570381911038390, 0.840543295742972480, 0.840516207473548380, 0.840489117102833690, 0.840462024630896360, 0.840434930057803790, 0.840407833383623570, +0.840380734608424110, 0.840353633732272900, 0.840326530755237560, 0.840299425677386020, 0.840272318498785810, 0.840245209219504740, 0.840218097839610320, 0.840190984359171060, +0.840163868778254330, 0.840136751096927870, 0.840109631315259620, 0.840082509433317300, 0.840055385451168650, 0.840028259368881590, 0.840001131186523310, 0.839974000904162740, +0.839946868521867170, 0.839919734039704440, 0.839892597457742470, 0.839865458776048900, 0.839838317994691660, 0.839811175113738590, 0.839784030133257200, 0.839756883053316190, +0.839729733873982980, 0.839702582595325380, 0.839675429217411450, 0.839648273740308810, 0.839621116164085520, 0.839593956488808970, 0.839566794714548090, 0.839539630841370070, +0.839512464869343060, 0.839485296798534900, 0.839458126629013530, 0.839430954360846800, 0.839403779994102650, 0.839376603528848570, 0.839349424965153520, 0.839322244303084890, +0.839295061542710610, 0.839267876684098750, 0.839240689727317140, 0.839213500672433830, 0.839186309519516340, 0.839159116268633490, 0.839131920919852780, 0.839104723473242390, +0.839077523928870140, 0.839050322286804100, 0.839023118547112200, 0.838995912709862620, 0.838968704775122640, 0.838941494742961420, 0.838914282613446580, 0.838887068386645950, +0.838859852062627590, 0.838832633641459660, 0.838805413123210110, 0.838778190507947110, 0.838750965795738050, 0.838723738986652090, 0.838696510080756850, 0.838669279078120280, +0.838642045978810540, 0.838614810782895680, 0.838587573490443770, 0.838560334101522420, 0.838533092616200680, 0.838505849034546280, 0.838478603356627270, 0.838451355582511830, +0.838424105712267890, 0.838396853745963620, 0.838369599683667310, 0.838342343525446560, 0.838315085271370330, 0.838287824921506440, 0.838260562475923070, 0.838233297934688150, +0.838206031297870080, 0.838178762565536920, 0.838151491737756830, 0.838124218814597530, 0.838096943796128090, 0.838069666682416450, 0.838042387473530550, 0.838015106169538670, +0.837987822770509090, 0.837960537276509880, 0.837933249687608850, 0.837905960003875180, 0.837878668225376710, 0.837851374352181490, 0.837824078384357800, 0.837796780321974020, +0.837769480165098220, 0.837742177913798680, 0.837714873568143230, 0.837687567128201140, 0.837660258594040140, 0.837632947965728400, 0.837605635243334420, 0.837578320426926260, +0.837551003516572300, 0.837523684512340380, 0.837496363414299670, 0.837469040222518110, 0.837441714937063990, 0.837414387558005460, 0.837387058085411030, 0.837359726519348980, +0.837332392859887590, 0.837305057107094800, 0.837277719261039780, 0.837250379321790470, 0.837223037289415160, 0.837195693163982350, 0.837168346945560300, 0.837140998634217310, +0.837113648230021880, 0.837086295733041830, 0.837058941143346560, 0.837031584461003900, 0.837004225686082240, 0.836976864818650080, 0.836949501858775700, 0.836922136806527610, +0.836894769661973740, 0.836867400425183370, 0.836840029096224460, 0.836812655675165610, 0.836785280162074980, 0.836757902557021200, 0.836730522860072660, 0.836703141071297840, +0.836675757190764700, 0.836648371218542630, 0.836620983154699570, 0.836593592999304140, 0.836566200752424720, 0.836538806414129700, 0.836511409984487810, 0.836484011463567320, +0.836456610851436300, 0.836429208148164240, 0.836401803353819200, 0.836374396468469560, 0.836346987492184060, 0.836319576425031070, 0.836292163267079000, 0.836264748018396230, +0.836237330679051930, 0.836209911249114370, 0.836182489728652060, 0.836155066117733490, 0.836127640416427180, 0.836100212624801830, 0.836072782742925960, 0.836045350770867610, +0.836017916708696410, 0.835990480556480400, 0.835963042314288310, 0.835935601982188410, 0.835908159560249660, 0.835880715048540450, 0.835853268447128930, 0.835825819756084830, +0.835798368975476100, 0.835770916105371460, 0.835743461145839530, 0.835716004096948910, 0.835688544958768320, 0.835661083731366380, 0.835633620414811260, 0.835606155009172570, +0.835578687514518470, 0.835551217930917690, 0.835523746258438840, 0.835496272497150530, 0.835468796647121700, 0.835441318708420750, 0.835413838681116070, 0.835386356565277270, +0.835358872360972620, 0.835331386068270730, 0.835303897687240450, 0.835276407217950380, 0.835248914660469240, 0.835221420014865430, 0.835193923281208450, 0.835166424459566790, +0.835138923550008960, 0.835111420552603900, 0.835083915467420220, 0.835056408294526760, 0.835028899033992360, 0.835001387685885170, 0.834973874250275030, 0.834946358727230110, +0.834918841116819350, 0.834891321419111490, 0.834863799634175340, 0.834836275762079640, 0.834808749802893320, 0.834781221756684570, 0.834753691623523310, 0.834726159403477830, +0.834698625096616960, 0.834671088703009430, 0.834643550222724300, 0.834616009655830270, 0.834588467002395640, 0.834560922262490460, 0.834533375436182890, 0.834505826523541880, +0.834478275524636270, 0.834450722439535000, 0.834423167268307010, 0.834395610011021030, 0.834368050667745550, 0.834340489238550420, 0.834312925723504020, 0.834285360122675400, +0.834257792436133290, 0.834230222663946750, 0.834202650806184720, 0.834175076862915480, 0.834147500834209080, 0.834119922720133910, 0.834092342520758920, 0.834064760236153060, +0.834037175866385370, 0.834009589411524700, 0.833982000871639980, 0.833954410246799950, 0.833926817537074210, 0.833899222742531480, 0.833871625863240820, 0.833844026899270950, +0.833816425850691050, 0.833788822717570040, 0.833761217499977000, 0.833733610197980420, 0.833706000811650360, 0.833678389341055310, 0.833650775786264230, 0.833623160147346280, +0.833595542424370280, 0.833567922617405640, 0.833540300726520520, 0.833512676751785200, 0.833485050693268170, 0.833457422551038610, 0.833429792325165340, 0.833402160015717760, +0.833374525622764590, 0.833346889146375220, 0.833319250586618150, 0.833291609943563440, 0.833263967217279690, 0.833236322407835960, 0.833208675515301530, 0.833181026539745350, +0.833153375481236580, 0.833125722339844500, 0.833098067115637500, 0.833070409808685850, 0.833042750419058180, 0.833015088946823630, 0.832987425392051390, 0.832959759754810510, +0.832932092035170270, 0.832904422233199380, 0.832876750348967800, 0.832849076382544460, 0.832821400333998430, 0.832793722203398760, 0.832766041990814940, 0.832738359696315930, +0.832710675319971010, 0.832682988861848990, 0.832655300322019950, 0.832627609700552610, 0.832599916997516340, 0.832572222212980220, 0.832544525347013510, 0.832516826399685490, +0.832489125371065010, 0.832461422261222110, 0.832433717070225730, 0.832406009798145050, 0.832378300445049350, 0.832350589011007780, 0.832322875496089850, 0.832295159900364730, +0.832267442223901140, 0.832239722466769580, 0.832212000629038550, 0.832184276710777660, 0.832156550712055960, 0.832128822632942970, 0.832101092473507940, 0.832073360233820060, +0.832045625913948370, 0.832017889513963160, 0.831990151033933150, 0.831962410473927720, 0.831934667834016370, 0.831906923114268280, 0.831879176314752940, 0.831851427435539080, +0.831823676476697190, 0.831795923438296110, 0.831768168320405230, 0.831740411123093940, 0.831712651846431620, 0.831684890490487660, 0.831657127055331460, 0.831629361541031950, +0.831601593947659530, 0.831573824275283150, 0.831546052523972290, 0.831518278693796130, 0.831490502784824390, 0.831462724797126350, 0.831434944730770950, 0.831407162585828810, +0.831379378362368640, 0.831351592060460170, 0.831323803680172560, 0.831296013221575540, 0.831268220684738490, 0.831240426069730810, 0.831212629376621660, 0.831184830605481430, +0.831157029756379060, 0.831129226829384060, 0.831101421824566140, 0.831073614741994590, 0.831045805581739020, 0.831017994343868920, 0.830990181028453350, 0.830962365635562810, +0.830934548165266350, 0.830906728617633590, 0.830878906992733920, 0.830851083290637060, 0.830823257511412390, 0.830795429655129200, 0.830767599721857870, 0.830739767711667580, +0.830711933624627810, 0.830684097460808180, 0.830656259220278410, 0.830628418903107900, 0.830600576509366470, 0.830572732039122960, 0.830544885492448200, 0.830517036869411250, +0.830489186170081610, 0.830461333394529100, 0.830433478542823120, 0.830405621615033620, 0.830377762611229970, 0.830349901531481470, 0.830322038375858610, 0.830294173144430770, +0.830266305837267460, 0.830238436454438290, 0.830210564996013090, 0.830182691462061580, 0.830154815852652720, 0.830126938167857430, 0.830099058407744670, 0.830071176572384380, +0.830043292661846070, 0.830015406676199550, 0.829987518615514450, 0.829959628479860710, 0.829931736269307270, 0.829903841983924970, 0.829875945623783200, 0.829848047188951440, +0.829820146679499660, 0.829792244095497460, 0.829764339437014660, 0.829736432704120450, 0.829708523896885760, 0.829680613015379650, 0.829652700059672070, 0.829624785029832830, +0.829596867925931460, 0.829568948748037990, 0.829541027496222160, 0.829513104170553350, 0.829485178771102170, 0.829457251297938010, 0.829429321751130820, 0.829401390130750320, +0.829373456436866330, 0.829345520669548590, 0.829317582828867140, 0.829289642914891270, 0.829261700927691800, 0.829233756867338020, 0.829205810733899870, 0.829177862527447180, +0.829149912248049790, 0.829121959895777750, 0.829094005470700220, 0.829066048972888160, 0.829038090402410940, 0.829010129759338630, 0.828982167043740840, 0.828954202255687720, +0.828926235395249120, 0.828898266462494980, 0.828870295457494580, 0.828842322380318960, 0.828814347231037530, 0.828786370009720220, 0.828758390716436980, 0.828730409351257750, +0.828702425914252580, 0.828674440405491320, 0.828646452825043460, 0.828618463172979940, 0.828590471449370260, 0.828562477654284370, 0.828534481787792320, 0.828506483849964060, +0.828478483840869640, 0.828450481760578450, 0.828422477609161540, 0.828394471386688540, 0.828366463093229250, 0.828338452728853870, 0.828310440293632320, 0.828282425787634780, +0.828254409210931080, 0.828226390563590820, 0.828198369845685180, 0.828170347057283540, 0.828142322198456070, 0.828114295269272720, 0.828086266269803750, 0.828058235200119010, +0.828030202060288210, 0.828002166850382420, 0.827974129570471230, 0.827946090220624710, 0.827918048800913020, 0.827890005311406110, 0.827861959752174250, 0.827833912123287500, +0.827805862424815350, 0.827777810656829200, 0.827749756819398440, 0.827721700912593230, 0.827693642936483950, 0.827665582891140450, 0.827637520776632880, 0.827609456593031640, +0.827581390340406340, 0.827553322018827920, 0.827525251628366210, 0.827497179169091490, 0.827469104641073700, 0.827441028044383240, 0.827412949379090160, 0.827384868645264170, +0.827356785842976560, 0.827328700972296940, 0.827300614033295580, 0.827272525026042760, 0.827244433950608540, 0.827216340807063300, 0.827188245595477100, 0.827160148315919890, +0.827132048968462820, 0.827103947553175510, 0.827075844070128460, 0.827047738519391730, 0.827019630901035700, 0.826991521215130530, 0.826963409461746620, 0.826935295640953690, +0.826907179752823020, 0.826879061797424320, 0.826850941774827990, 0.826822819685104400, 0.826794695528323630, 0.826766569304556280, 0.826738441013871840, 0.826710310656341930, +0.826682178232036160, 0.826654043741025020, 0.826625907183378690, 0.826597768559167670, 0.826569627868462110, 0.826541485111332630, 0.826513340287848840, 0.826485193398082240, +0.826457044442102660, 0.826428893419980380, 0.826400740331786010, 0.826372585177589710, 0.826344427957461880, 0.826316268671472560, 0.826288107319693040, 0.826259943902193370, +0.826231778419043720, 0.826203610870314690, 0.826175441256076560, 0.826147269576399830, 0.826119095831355010, 0.826090920021011810, 0.826062742145441950, 0.826034562204715160, +0.826006380198902050, 0.825978196128072880, 0.825950009992298280, 0.825921821791648640, 0.825893631526194440, 0.825865439196005640, 0.825837244801153840, 0.825809048341708870, +0.825780849817741250, 0.825752649229321570, 0.825724446576520220, 0.825696241859407710, 0.825668035078054200, 0.825639826232530960, 0.825611615322908280, 0.825583402349256530, +0.825555187311646230, 0.825526970210148090, 0.825498751044832390, 0.825470529815769850, 0.825442306523030520, 0.825414081166685910, 0.825385853746806060, 0.825357624263461600, +0.825329392716723120, 0.825301159106661130, 0.825272923433346240, 0.825244685696848950, 0.825216445897239640, 0.825188204034589590, 0.825159960108968970, 0.825131714120448610, +0.825103466069098790, 0.825075215954990450, 0.825046963778193980, 0.825018709538779650, 0.824990453236819080, 0.824962194872382320, 0.824933934445540080, 0.824905671956363000, +0.824877407404921770, 0.824849140791287020, 0.824820872115529350, 0.824792601377719150, 0.824764328577927810, 0.824736053716225710, 0.824707776792683370, 0.824679497807371710, +0.824651216760361240, 0.824622933651722790, 0.824594648481526530, 0.824566361249844060, 0.824538071956745780, 0.824509780602302180, 0.824481487186584210, 0.824453191709662580, +0.824424894171607910, 0.824396594572490930, 0.824368292912382120, 0.824339989191352980, 0.824311683409473920, 0.824283375566815520, 0.824255065663448860, 0.824226753699444430, +0.824198439674873160, 0.824170123589805790, 0.824141805444312590, 0.824113485238465390, 0.824085162972334470, 0.824056838645990660, 0.824028512259504690, 0.824000183812947480, +0.823971853306389890, 0.823943520739902070, 0.823915186113555960, 0.823886849427421850, 0.823858510681570680, 0.823830169876073270, 0.823801827011000350, 0.823773482086422870, +0.823745135102411760, 0.823716786059037310, 0.823688434956371340, 0.823660081794484240, 0.823631726573446970, 0.823603369293330450, 0.823575009954205410, 0.823546648556142900, +0.823518285099213760, 0.823489919583488490, 0.823461552009038810, 0.823433182375935320, 0.823404810684248870, 0.823376436934050270, 0.823348061125410700, 0.823319683258400990, +0.823291303333091530, 0.823262921349554260, 0.823234537307859780, 0.823206151208078940, 0.823177763050282670, 0.823149372834542040, 0.823120980560927970, 0.823092586229511420, +0.823064189840363000, 0.823035791393554430, 0.823007390889156530, 0.822978988327240150, 0.822950583707876220, 0.822922177031135900, 0.822893768297090040, 0.822865357505809360, +0.822836944657365790, 0.822808529751829720, 0.822780112789272540, 0.822751693769764870, 0.822723272693378080, 0.822694849560183130, 0.822666424370250950, 0.822637997123652260, +0.822609567820459130, 0.822581136460742050, 0.822552703044572180, 0.822524267572020460, 0.822495830043158070, 0.822467390458056170, 0.822438948816785810, 0.822410505119417490, +0.822382059366023490, 0.822353611556674300, 0.822325161691441100, 0.822296709770394930, 0.822268255793607070, 0.822239799761148580, 0.822211341673090070, 0.822182881529503580, +0.822154419330460070, 0.822125955076030370, 0.822097488766285970, 0.822069020401297700, 0.822040549981136850, 0.822012077505874680, 0.821983602975581820, 0.821955126390330530, +0.821926647750191310, 0.821898167055235440, 0.821869684305534310, 0.821841199501158860, 0.821812712642180370, 0.821784223728669660, 0.821755732760698910, 0.821727239738338830, +0.821698744661660600, 0.821670247530735590, 0.821641748345634860, 0.821613247106429910, 0.821584743813191690, 0.821556238465991130, 0.821527731064900510, 0.821499221609990560, +0.821470710101332550, 0.821442196538997860, 0.821413680923057550, 0.821385163253583130, 0.821356643530645750, 0.821328121754316240, 0.821299597924666890, 0.821271072041768630, +0.821242544105692640, 0.821214014116510400, 0.821185482074292980, 0.821156947979111980, 0.821128411831038020, 0.821099873630143580, 0.821071333376499400, 0.821042791070176970, +0.821014246711247450, 0.820985700299782460, 0.820957151835853050, 0.820928601319530940, 0.820900048750886620, 0.820871494129992830, 0.820842937456920270, 0.820814378731740350, +0.820785817954524540, 0.820757255125344140, 0.820728690244270640, 0.820700123311375320, 0.820671554326729340, 0.820642983290404860, 0.820614410202472940, 0.820585835063004980, +0.820557257872072450, 0.820528678629746770, 0.820500097336099410, 0.820471513991201330, 0.820442928595124910, 0.820414341147941210, 0.820385751649721720, 0.820357160100537720, +0.820328566500460930, 0.820299970849562630, 0.820271373147914430, 0.820242773395587380, 0.820214171592653860, 0.820185567739184830, 0.820156961835252000, 0.820128353880926640, +0.820099743876280480, 0.820071131821384910, 0.820042517716311090, 0.820013901561131410, 0.819985283355916920, 0.819956663100739340, 0.819928040795670050, 0.819899416440780680, +0.819870790036142720, 0.819842161581827880, 0.819813531077907000, 0.819784898524452910, 0.819756263921536550, 0.819727627269229430, 0.819698988567603370, 0.819670347816729760, +0.819641705016680320, 0.819613060167526660, 0.819584413269339840, 0.819555764322192350, 0.819527113326155580, 0.819498460281301020, 0.819469805187700300, 0.819441148045425010, +0.819412488854546870, 0.819383827615137060, 0.819355164327268180, 0.819326498991011400, 0.819297831606438320, 0.819269162173620670, 0.819240490692630050, 0.819211817163538300, +0.819183141586417030, 0.819154463961337290, 0.819125784288372020, 0.819097102567592160, 0.819068418799069660, 0.819039732982876020, 0.819011045119083180, 0.818982355207762640, +0.818953663248986220, 0.818924969242825100, 0.818896273189352100, 0.818867575088638390, 0.818838874940755800, 0.818810172745775940, 0.818781468503770760, 0.818752762214811860, +0.818724053878970510, 0.818695343496319560, 0.818666631066930270, 0.818637916590874370, 0.818609200068223690, 0.818580481499050050, 0.818551760883425070, 0.818523038221420810, +0.818494313513108420, 0.818465586758560740, 0.818436857957849150, 0.818408127111045380, 0.818379394218221260, 0.818350659279448720, 0.818321922294799500, 0.818293183264344970, +0.818264442188157970, 0.818235699066309890, 0.818206953898872550, 0.818178206685917790, 0.818149457427517550, 0.818120706123743660, 0.818091952774668060, 0.818063197380362040, +0.818034439940898530, 0.818005680456348920, 0.817976918926785030, 0.817948155352278940, 0.817919389732902460, 0.817890622068727420, 0.817861852359825890, 0.817833080606269250, +0.817804306808130320, 0.817775530965480720, 0.817746753078392290, 0.817717973146936950, 0.817689191171186660, 0.817660407151213350, 0.817631621087088640, 0.817602832978885250, +0.817574042826674900, 0.817545250630529410, 0.817516456390520730, 0.817487660106720910, 0.817458861779202020, 0.817430061408035980, 0.817401258993294190, 0.817372454535049810, +0.817343648033374340, 0.817314839488339720, 0.817286028900017890, 0.817257216268481130, 0.817228401593801280, 0.817199584876050490, 0.817170766115300150, 0.817141945311623430, +0.817113122465091820, 0.817084297575777390, 0.817055470643752280, 0.817026641669088450, 0.816997810651858060, 0.816968977592132610, 0.816940142489985140, 0.816911305345487390, +0.816882466158711410, 0.816853624929729240, 0.816824781658613050, 0.816795936345434790, 0.816767088990266840, 0.816738239593180590, 0.816709388154249210, 0.816680534673544400, +0.816651679151138230, 0.816622821587102870, 0.816593961981510460, 0.816565100334433190, 0.816536236645942550, 0.816507370916111920, 0.816478503145012800, 0.816449633332717470, +0.816420761479298100, 0.816391887584826730, 0.816363011649375750, 0.816334133673017100, 0.816305253655822740, 0.816276371597865700, 0.816247487499217720, 0.816218601359951060, +0.816189713180137890, 0.816160822959850370, 0.816131930699160900, 0.816103036398141520, 0.816074140056864070, 0.816045241675401710, 0.816016341253826380, 0.815987438792210140, +0.815958534290625260, 0.815929627749144130, 0.815900719167838790, 0.815871808546781320, 0.815842895886044750, 0.815813981185700920, 0.815785064445822110, 0.815756145666480690, +0.815727224847748960, 0.815698301989699060, 0.815669377092403500, 0.815640450155933890, 0.815611521180363730, 0.815582590165764730, 0.815553657112209280, 0.815524722019769670, +0.815495784888518370, 0.815466845718527460, 0.815437904509869530, 0.815408961262616310, 0.815380015976841070, 0.815351068652615970, 0.815322119290013080, 0.815293167889105000, +0.815264214449963890, 0.815235258972662360, 0.815206301457272020, 0.815177341903866590, 0.815148380312517680, 0.815119416683297900, 0.815090451016279530, 0.815061483311535050, +0.815032513569136860, 0.815003541789157460, 0.814974567971668560, 0.814945592116743890, 0.814916614224455160, 0.814887634294874870, 0.814858652328075530, 0.814829668324129620, +0.814800682283109530, 0.814771694205087100, 0.814742704090136050, 0.814713711938328200, 0.814684717749736160, 0.814655721524432220, 0.814626723262488970, 0.814597722963978920, +0.814568720628974670, 0.814539716257547950, 0.814510709849772590, 0.814481701405720400, 0.814452690925463910, 0.814423678409075810, 0.814394663856628400, 0.814365647268194380, +0.814336628643846260, 0.814307607983655980, 0.814278585287697250, 0.814249560556042030, 0.814220533788762910, 0.814191504985932510, 0.814162474147623330, 0.814133441273907970, +0.814104406364858480, 0.814075369420548480, 0.814046330441050010, 0.814017289426435810, 0.813988246376778360, 0.813959201292150160, 0.813930154172624150, 0.813901105018272620, +0.813872053829167940, 0.813843000605383500, 0.813813945346991700, 0.813784888054064900, 0.813755828726675960, 0.813726767364897460, 0.813697703968802030, 0.813668638538461720, +0.813639571073950460, 0.813610501575340320, 0.813581430042703780, 0.813552356476113680, 0.813523280875642740, 0.813494203241363680, 0.813465123573348990, 0.813436041871670960, +0.813406958136403400, 0.813377872367618490, 0.813348784565388840, 0.813319694729787270, 0.813290602860886390, 0.813261508958759040, 0.813232413023477930, 0.813203315055115230, +0.813174215053744760, 0.813145113019438810, 0.813116008952270100, 0.813086902852311330, 0.813057794719635240, 0.813028684554314760, 0.812999572356421950, 0.812970458126030860, +0.812941341863213540, 0.812912223568042820, 0.812883103240591650, 0.812853980880932640, 0.812824856489138710, 0.812795730065282610, 0.812766601609436700, 0.812737471121674830, +0.812708338602069260, 0.812679204050692830, 0.812650067467618360, 0.812620928852918810, 0.812591788206666890, 0.812562645528935420, 0.812533500819796920, 0.812504354079325200, +0.812475205307592540, 0.812446054504671890, 0.812416901670636070, 0.812387746805558030, 0.812358589909510600, 0.812329430982566160, 0.812300270024798770, 0.812271107036280580, +0.812241942017084770, 0.812212774967283950, 0.812183605886951270, 0.812154434776159560, 0.812125261634981780, 0.812096086463490300, 0.812066909261759060, 0.812037730029860680, +0.812008548767867880, 0.811979365475853810, 0.811950180153891200, 0.811920992802053210, 0.811891803420412230, 0.811862612009042190, 0.811833418568015720, 0.811804223097405630, +0.811775025597284980, 0.811745826067726830, 0.811716624508804110, 0.811687420920589760, 0.811658215303156410, 0.811629007656577970, 0.811599797980927070, 0.811570586276276650, +0.811541372542699760, 0.811512156780269440, 0.811482938989058770, 0.811453719169140770, 0.811424497320587860, 0.811395273443474290, 0.811366047537872560, 0.811336819603855620, +0.811307589641496630, 0.811278357650868750, 0.811249123632044930, 0.811219887585097780, 0.811190649510101450, 0.811161409407128550, 0.811132167276252040, 0.811102923117545170, +0.811073676931080900, 0.811044428716932500, 0.811015178475173130, 0.810985926205875170, 0.810956671909112910, 0.810927415584958950, 0.810898157233486570, 0.810868896854768710, +0.810839634448878630, 0.810810370015889510, 0.810781103555874410, 0.810751835068906020, 0.810722564555058530, 0.810693292014404760, 0.810664017447017660, 0.810634740852970490, +0.810605462232336540, 0.810576181585188960, 0.810546898911600370, 0.810517614211644920, 0.810488327485395570, 0.810459038732925460, 0.810429747954307670, 0.810400455149615560, +0.810371160318922200, 0.810341863462300970, 0.810312564579824700, 0.810283263671567440, 0.810253960737602030, 0.810224655778001730, 0.810195348792839720, 0.810166039782189370, +0.810136728746123970, 0.810107415684716230, 0.810078100598040420, 0.810048783486169380, 0.810019464349176380, 0.809990143187134690, 0.809960820000117710, 0.809931494788198700, +0.809902167551450840, 0.809872838289947160, 0.809843507003761840, 0.809814173692967710, 0.809784838357638260, 0.809755500997846660, 0.809726161613666280, 0.809696820205170530, +0.809667476772432670, 0.809638131315525640, 0.809608783834523840, 0.809579434329499970, 0.809550082800527650, 0.809520729247680040, 0.809491373671030630, 0.809462016070652820, +0.809432656446619440, 0.809403294799004860, 0.809373931127882140, 0.809344565433324560, 0.809315197715405500, 0.809285827974198570, 0.809256456209776930, 0.809227082422214310, +0.809197706611583300, 0.809168328777958630, 0.809138948921413140, 0.809109567042020310, 0.809080183139853530, 0.809050797214986290, 0.809021409267492110, 0.808992019297444240, +0.808962627304915970, 0.808933233289981570, 0.808903837252714200, 0.808874439193187130, 0.808845039111473980, 0.808815637007648250, 0.808786232881783420, 0.808756826733952440, +0.808727418564229920, 0.808698008372688900, 0.808668596159402900, 0.808639181924445280, 0.808609765667889780, 0.808580347389809880, 0.808550927090279090, 0.808521504769370570, +0.808492080427158700, 0.808462654063716650, 0.808433225679117910, 0.808403795273436200, 0.808374362846744910, 0.808344928399117760, 0.808315491930627790, 0.808286053441349630, +0.808256612931356200, 0.808227170400721340, 0.808197725849518540, 0.808168279277821530, 0.808138830685703690, 0.808109380073238850, 0.808079927440499950, 0.808050472787561810, +0.808021016114497500, 0.807991557421380620, 0.807962096708284890, 0.807932633975283810, 0.807903169222451310, 0.807873702449860790, 0.807844233657585510, 0.807814762845700200, +0.807785290014277900, 0.807755815163392340, 0.807726338293117350, 0.807696859403526530, 0.807667378494693500, 0.807637895566691520, 0.807608410619595320, 0.807578923653478050, +0.807549434668413560, 0.807519943664475440, 0.807490450641737520, 0.807460955600273420, 0.807431458540156850, 0.807401959461461200, 0.807372458364261190, 0.807342955248629980, +0.807313450114641510, 0.807283942962369270, 0.807254433791887220, 0.807224922603269060, 0.807195409396588630, 0.807165894171919200, 0.807136376929335490, 0.807106857668910880, +0.807077336390719100, 0.807047813094833980, 0.807018287781329220, 0.806988760450278900, 0.806959231101756050, 0.806929699735835730, 0.806900166352591100, 0.806870630952096100, +0.806841093534424570, 0.806811554099650220, 0.806782012647846990, 0.806752469179088720, 0.806722923693448780, 0.806693376191002120, 0.806663826671821900, 0.806634275135982180, +0.806604721583556780, 0.806575166014619540, 0.806545608429244390, 0.806516048827504720, 0.806486487209475470, 0.806456923575229910, 0.806427357924842100, 0.806397790258385980, +0.806368220575935270, 0.806338648877564010, 0.806309075163346160, 0.806279499433355080, 0.806249921687665850, 0.806220341926351840, 0.806190760149486870, 0.806161176357145020, +0.806131590549400200, 0.806102002726326480, 0.806072412887997690, 0.806042821034487320, 0.806013227165870540, 0.805983631282220610, 0.805954033383611600, 0.805924433470117550, +0.805894831541812410, 0.805865227598770110, 0.805835621641064370, 0.805806013668769920, 0.805776403681960570, 0.805746791680710170, 0.805717177665092770, 0.805687561635182400, +0.805657943591053250, 0.805628323532779130, 0.805598701460433770, 0.805569077374092110, 0.805539451273827760, 0.805509823159714760, 0.805480193031827160, 0.805450560890239250, +0.805420926735024860, 0.805391290566257580, 0.805361652384012580, 0.805332012188363480, 0.805302369979384420, 0.805272725757149370, 0.805243079521732460, 0.805213431273207990, +0.805183781011649780, 0.805154128737131770, 0.805124474449728790, 0.805094818149514780, 0.805065159836563570, 0.805035499510949550, 0.805005837172746760, 0.804976172822029380, +0.804946506458871560, 0.804916838083347020, 0.804887167695530810, 0.804857495295496770, 0.804827820883318950, 0.804798144459071610, 0.804768466022828810, 0.804738785574664940, +0.804709103114653600, 0.804679418642869960, 0.804649732159387730, 0.804620043664281300, 0.804590353157624620, 0.804560660639492160, 0.804530966109958000, 0.804501269569096510, +0.804471571016981190, 0.804441870453687540, 0.804412167879289260, 0.804382463293860540, 0.804352756697475630, 0.804323048090208830, 0.804293337472134380, 0.804263624843326590, +0.804233910203859260, 0.804204193553807680, 0.804174474893245560, 0.804144754222247290, 0.804115031540887150, 0.804085306849239400, 0.804055580147378430, 0.804025851435377970, +0.803996120713313390, 0.803966387981258520, 0.803936653239287650, 0.803906916487475140, 0.803877177725895400, 0.803847436954622680, 0.803817694173731390, 0.803787949383295340, +0.803758202583389920, 0.803728453774088970, 0.803698702955466970, 0.803668950127598090, 0.803639195290556940, 0.803609438444417790, 0.803579679589254470, 0.803549918725142480, +0.803520155852155750, 0.803490390970368560, 0.803460624079855410, 0.803430855180690790, 0.803401084272948870, 0.803371311356704370, 0.803341536432031100, 0.803311759499004350, +0.803281980557698280, 0.803252199608187280, 0.803222416650545830, 0.803192631684848220, 0.803162844711169170, 0.803133055729582930, 0.803103264740163470, 0.803073471742986490, +0.803043676738125710, 0.803013879725655850, 0.802984080705651190, 0.802954279678186440, 0.802924476643335880, 0.802894671601173670, 0.802864864551775300, 0.802835055495214830, +0.802805244431566640, 0.802775431360905340, 0.802745616283305430, 0.802715799198841510, 0.802685980107588180, 0.802656159009619290, 0.802626335905010540, 0.802596510793835980, +0.802566683676170120, 0.802536854552087450, 0.802507023421662800, 0.802477190284970550, 0.802447355142085320, 0.802417517993081140, 0.802387678838033750, 0.802357837677017070, +0.802327994510105840, 0.802298149337374640, 0.802268302158898110, 0.802238452974750720, 0.802208601785006750, 0.802178748589741810, 0.802148893389029950, 0.802119036182945890, +0.802089176971564230, 0.802059315754959590, 0.802029452533206790, 0.801999587306380210, 0.801969720074554250, 0.801939850837804390, 0.801909979596205020, 0.801880106349830650, +0.801850231098755970, 0.801820353843055830, 0.801790474582804720, 0.801760593318076920, 0.801730710048948140, 0.801700824775492650, 0.801670937497785060, 0.801641048215900100, +0.801611156929912580, 0.801581263639897120, 0.801551368345928440, 0.801521471048080910, 0.801491571746430150, 0.801461670441050540, 0.801431767132016800, 0.801401861819403540, +0.801371954503285580, 0.801342045183737860, 0.801312133860835000, 0.801282220534651260, 0.801252305205262470, 0.801222387872742910, 0.801192468537167410, 0.801162547198610800, +0.801132623857147670, 0.801102698512853100, 0.801072771165801220, 0.801042841816068000, 0.801012910463727580, 0.800982977108855020, 0.800953041751524930, 0.800923104391812140, +0.800893165029791690, 0.800863223665538300, 0.800833280299126370, 0.800803334930631720, 0.800773387560128840, 0.800743438187692340, 0.800713486813397380, 0.800683533437318570, +0.800653578059530970, 0.800623620680109500, 0.800593661299128350, 0.800563699916663650, 0.800533736532789700, 0.800503771147581420, 0.800473803761113660, 0.800443834373461340, +0.800413862984699520, 0.800383889594902480, 0.800353914204146260, 0.800323936812505240, 0.800293957420054380, 0.800263976026868720, 0.800233992633022970, 0.800204007238592310, +0.800174019843651660, 0.800144030448275420, 0.800114039052539640, 0.800084045656518690, 0.800054050260287640, 0.800024052863921530, 0.799994053467495300, 0.799964052071083900, +0.799934048674761810, 0.799904043278605200, 0.799874035882688350, 0.799844026487086520, 0.799814015091874660, 0.799784001697127600, 0.799753986302920720, 0.799723968909328730, +0.799693949516426360, 0.799663928124289660, 0.799633904732993120, 0.799603879342611790, 0.799573851953220840, 0.799543822564895200, 0.799513791177710040, 0.799483757791740410, +0.799453722407060810, 0.799423685023747390, 0.799393645641874870, 0.799363604261518200, 0.799333560882752430, 0.799303515505652820, 0.799273468130294430, 0.799243418756751870, +0.799213367385101290, 0.799183314015417200, 0.799153258647774980, 0.799123201282249450, 0.799093141918916010, 0.799063080557849690, 0.799033017199125670, 0.799002951842818670, +0.798972884489004720, 0.798942815137758560, 0.798912743789155330, 0.798882670443270330, 0.798852595100178590, 0.798822517759955390, 0.798792438422675890, 0.798762357088414810, +0.798732273757248310, 0.798702188429251110, 0.798672101104498490, 0.798642011783065600, 0.798611920465027710, 0.798581827150460000, 0.798551731839437170, 0.798521634532035510, +0.798491535228329830, 0.798461433928395300, 0.798431330632307090, 0.798401225340140690, 0.798371118051971140, 0.798341008767873840, 0.798310897487923500, 0.798280784212196390, +0.798250668940767350, 0.798220551673711640, 0.798190432411104540, 0.798160311153021440, 0.798130187899537490, 0.798100062650727530, 0.798069935406667930, 0.798039806167433530, +0.798009674933099600, 0.797979541703741520, 0.797949406479434580, 0.797919269260254030, 0.797889130046275490, 0.797858988837573450, 0.797828845634224510, 0.797798700436303410, +0.797768553243885630, 0.797738404057046440, 0.797708252875861220, 0.797678099700405370, 0.797647944530754270, 0.797617787366982740, 0.797587628209167400, 0.797557467057382840, +0.797527303911704790, 0.797497138772208290, 0.797466971638969070, 0.797436802512062390, 0.797406631391563200, 0.797376458277547880, 0.797346283170091490, 0.797316106069269390, +0.797285926975156990, 0.797255745887829770, 0.797225562807363230, 0.797195377733832760, 0.797165190667313280, 0.797135001607881420, 0.797104810555612000, 0.797074617510580510, +0.797044422472862560, 0.797014225442533530, 0.796984026419668920, 0.796953825404343790, 0.796923622396634500, 0.796893417396616230, 0.796863210404364470, 0.796833001419954610, +0.796802790443462250, 0.796772577474963000, 0.796742362514532230, 0.796712145562245010, 0.796681926618177940, 0.796651705682406060, 0.796621482755004990, 0.796591257836050120, +0.796561030925617250, 0.796530802023781680, 0.796500571130619120, 0.796470338246204610, 0.796440103370614770, 0.796409866503924760, 0.796379627646209950, 0.796349386797546190, +0.796319143958008850, 0.796288899127673750, 0.796258652306615860, 0.796228403494911860, 0.796198152692636830, 0.796167899899866470, 0.796137645116676280, 0.796107388343141990, +0.796077129579339290, 0.796046868825343700, 0.796016606081230480, 0.795986341347076130, 0.795956074622956140, 0.795925805908945790, 0.795895535205121020, 0.795865262511557310, +0.795834987828330620, 0.795804711155516320, 0.795774432493189690, 0.795744151841427660, 0.795713869200305180, 0.795683584569897960, 0.795653297950281830, 0.795623009341532410, +0.795592718743725500, 0.795562426156936290, 0.795532131581241590, 0.795501835016716450, 0.795471536463436820, 0.795441235921478310, 0.795410933390916620, 0.795380628871827700, +0.795350322364287270, 0.795320013868370370, 0.795289703384154060, 0.795259390911713380, 0.795229076451124280, 0.795198760002462590, 0.795168441565803910, 0.795138121141224060, +0.795107798728798440, 0.795077474328603870, 0.795047147940715630, 0.795016819565209420, 0.794986489202161310, 0.794956156851646890, 0.794925822513742110, 0.794895486188522790, +0.794865147876064100, 0.794834807576443200, 0.794804465289735250, 0.794774121016016080, 0.794743774755361730, 0.794713426507847820, 0.794683076273550390, 0.794652724052545280, +0.794622369844907860, 0.794592013650714970, 0.794561655470042090, 0.794531295302965070, 0.794500933149559830, 0.794470569009902320, 0.794440202884068250, 0.794409834772133230, +0.794379464674174090, 0.794349092590266310, 0.794318718520485860, 0.794288342464908540, 0.794257964423610410, 0.794227584396667300, 0.794197202384155250, 0.794166818386149780, +0.794136432402727690, 0.794106044433964490, 0.794075654479936220, 0.794045262540718830, 0.794014868616388260, 0.793984472707020550, 0.793954074812691650, 0.793923674933477040, +0.793893273069453790, 0.793862869220697260, 0.793832463387283640, 0.793802055569288840, 0.793771645766788940, 0.793741233979859960, 0.793710820208577190, 0.793680404453018020, +0.793649986713257930, 0.793619566989372750, 0.793589145281438650, 0.793558721589531670, 0.793528295913727980, 0.793497868254103510, 0.793467438610733770, 0.793437006983696010, +0.793406573373065750, 0.793376137778919130, 0.793345700201332100, 0.793315260640380830, 0.793284819096141350, 0.793254375568689270, 0.793223930058101880, 0.793193482564454650, +0.793163033087823650, 0.793132581628285150, 0.793102128185915080, 0.793071672760789830, 0.793041215352985330, 0.793010755962577200, 0.792980294589642810, 0.792949831234257660, +0.792919365896497920, 0.792888898576439740, 0.792858429274159390, 0.792827957989732930, 0.792797484723236520, 0.792767009474745880, 0.792736532244338270, 0.792706053032089410, +0.792675571838075350, 0.792645088662372380, 0.792614603505056640, 0.792584116366204410, 0.792553627245891400, 0.792523136144194780, 0.792492643061190380, 0.792462147996954360, +0.792431650951562980, 0.792401151925092420, 0.792370650917619050, 0.792340147929219030, 0.792309642959968090, 0.792279136009943600, 0.792248627079221170, 0.792218116167877300, +0.792187603275988140, 0.792157088403629860, 0.792126571550878960, 0.792096052717811580, 0.792065531904503570, 0.792035009111032310, 0.792004484337473390, 0.791973957583903320, +0.791943428850398480, 0.791912898137034920, 0.791882365443889120, 0.791851830771036940, 0.791821294118555730, 0.791790755486521220, 0.791760214875009800, 0.791729672284097850, +0.791699127713861860, 0.791668581164377880, 0.791638032635722520, 0.791607482127971610, 0.791576929641202410, 0.791546375175490980, 0.791515818730913480, 0.791485260307546510, +0.791454699905466460, 0.791424137524749600, 0.791393573165471880, 0.791363006827710660, 0.791332438511542110, 0.791301868217042290, 0.791271295944287910, 0.791240721693355240, +0.791210145464320780, 0.791179567257261020, 0.791148987072251670, 0.791118404909370470, 0.791087820768693330, 0.791057234650296540, 0.791026646554256700, 0.790996056480650190, +0.790965464429553620, 0.790934870401043270, 0.790904274395195280, 0.790873676412087170, 0.790843076451794860, 0.790812474514394850, 0.790781870599963630, 0.790751264708577710, +0.790720656840313670, 0.790690046995247480, 0.790659435173456710, 0.790628821375017330, 0.790598205600005820, 0.790567587848498900, 0.790536968120572950, 0.790506346416304680, +0.790475722735770380, 0.790445097079046420, 0.790414469446210080, 0.790383839837337730, 0.790353208252505660, 0.790322574691790570, 0.790291939155269190, 0.790261301643017780, +0.790230662155113170, 0.790200020691631420, 0.790169377252650130, 0.790138731838245460, 0.790108084448493790, 0.790077435083472060, 0.790046783743256650, 0.790016130427924400, +0.789985475137551240, 0.789954817872214890, 0.789924158631991500, 0.789893497416957690, 0.789862834227190170, 0.789832169062765540, 0.789801501923760530, 0.789770832810251730, +0.789740161722315430, 0.789709488660029100, 0.789678813623469140, 0.789648136612712160, 0.789617457627834750, 0.789586776668913750, 0.789556093736025750, 0.789525408829247040, +0.789494721948655330, 0.789464033094326890, 0.789433342266338320, 0.789402649464766350, 0.789371954689687790, 0.789341257941179380, 0.789310559219317700, 0.789279858524179150, +0.789249155855841540, 0.789218451214381060, 0.789187744599874400, 0.789157036012398390, 0.789126325452029760, 0.789095612918845330, 0.789064898412921820, 0.789034181934335610, +0.789003463483164410, 0.788972743059484620, 0.788942020663372930, 0.788911296294906310, 0.788880569954161340, 0.788849841641214860, 0.788819111356143350, 0.788788379099024660, +0.788757644869934940, 0.788726908668951120, 0.788696170496149930, 0.788665430351608520, 0.788634688235403390, 0.788603944147611590, 0.788573198088309280, 0.788542450057574620, +0.788511700055483880, 0.788480948082113780, 0.788450194137541360, 0.788419438221843460, 0.788388680335097010, 0.788357920477378740, 0.788327158648765240, 0.788296394849334340, +0.788265629079162420, 0.788234861338326540, 0.788204091626903410, 0.788173319944970090, 0.788142546292603500, 0.788111770669879920, 0.788080993076877510, 0.788050213513672550, +0.788019431980342080, 0.787988648476963040, 0.787957863003612480, 0.787927075560367120, 0.787896286147304230, 0.787865494764499960, 0.787834701412032490, 0.787803906089978300, +0.787773108798414330, 0.787742309537417640, 0.787711508307065040, 0.787680705107433820, 0.787649899938600240, 0.787619092800642460, 0.787588283693636980, 0.787557472617660740, +0.787526659572790780, 0.787495844559104260, 0.787465027576678130, 0.787434208625589330, 0.787403387705914560, 0.787372564817731880, 0.787341739961117670, 0.787310913136149200, +0.787280084342903420, 0.787249253581457480, 0.787218420851888310, 0.787187586154273200, 0.787156749488688520, 0.787125910855212440, 0.787095070253921670, 0.787064227684893260, +0.787033383148204260, 0.787002536643931830, 0.786971688172152910, 0.786940837732944320, 0.786909985326384230, 0.786879130952549130, 0.786848274611516190, 0.786817416303362550, +0.786786556028165500, 0.786755693786001850, 0.786724829576949110, 0.786693963401083770, 0.786663095258483990, 0.786632225149226480, 0.786601353073388410, 0.786570479031047040, +0.786539603022279320, 0.786508725047162740, 0.786477845105773680, 0.786446963198190630, 0.786416079324490200, 0.786385193484749450, 0.786354305679045850, 0.786323415907456360, +0.786292524170058460, 0.786261630466929210, 0.786230734798145310, 0.786199837163785050, 0.786168937563925360, 0.786138035998643180, 0.786107132468016000, 0.786076226972120980, +0.786045319511035400, 0.786014410084836410, 0.785983498693600960, 0.785952585337407310, 0.785921670016332170, 0.785890752730452840, 0.785859833479846670, 0.785828912264590950, +0.785797989084762840, 0.785767063940439270, 0.785736136831698520, 0.785705207758617520, 0.785674276721273430, 0.785643343719743760, 0.785612408754105650, 0.785581471824436490, +0.785550532930813670, 0.785519592073314010, 0.785488649252015890, 0.785457704466996140, 0.785426757718332260, 0.785395809006101290, 0.785364858330380830, 0.785333905691248390, +0.785302951088781010, 0.785271994523055740, 0.785241035994151070, 0.785210075502143830, 0.785179113047111300, 0.785148148629131070, 0.785117182248280530, 0.785086213904636950, +0.785055243598277270, 0.785024271329279990, 0.784993297097722140, 0.784962320903681010, 0.784931342747234080, 0.784900362628458750, 0.784869380547432600, 0.784838396504232930, +0.784807410498936760, 0.784776422531622610, 0.784745432602367400, 0.784714440711248520, 0.784683446858343680, 0.784652451043730160, 0.784621453267485450, 0.784590453529686700, +0.784559451830412200, 0.784528448169739210, 0.784497442547745010, 0.784466434964507300, 0.784435425420103360, 0.784404413914611020, 0.784373400448107550, 0.784342385020670000, +0.784311367632377080, 0.784280348283305730, 0.784249326973533560, 0.784218303703138050, 0.784187278472196710, 0.784156251280787250, 0.784125222128987160, 0.784094191016873500, +0.784063157944524860, 0.784032122912018290, 0.784001085919431520, 0.783970046966841920, 0.783939006054327200, 0.783907963181965100, 0.783876918349832420, 0.783845871558008000, +0.783814822806569000, 0.783783772095592800, 0.783752719425157230, 0.783721664795339890, 0.783690608206218390, 0.783659549657870440, 0.783628489150372980, 0.783597426683804830, +0.783566362258243050, 0.783535295873765470, 0.783504227530449680, 0.783473157228373300, 0.783442084967613920, 0.783411010748249480, 0.783379934570356820, 0.783348856434014970, +0.783317776339301000, 0.783286694286292500, 0.783255610275067290, 0.783224524305703110, 0.783193436378277540, 0.783162346492867870, 0.783131254649552910, 0.783100160848409830, +0.783069065089516240, 0.783037967372950060, 0.783006867698789020, 0.782975766067110720, 0.782944662477992990, 0.782913556931513100, 0.782882449427749870, 0.782851339966780580, +0.782820228548682830, 0.782789115173534560, 0.782757999841413480, 0.782726882552397420, 0.782695763306563650, 0.782664642103991000, 0.782633518944756630, 0.782602393828938590, +0.782571266756614480, 0.782540137727862350, 0.782509006742759690, 0.782477873801384670, 0.782446738903814330, 0.782415602050127720, 0.782384463240402010, 0.782353322474715230, +0.782322179753145220, 0.782291035075769690, 0.782259888442666470, 0.782228739853913610, 0.782197589309588380, 0.782166436809769720, 0.782135282354535000, 0.782104125943962060, +0.782072967578128720, 0.782041807257113030, 0.782010644980992820, 0.781979480749845470, 0.781948314563749910, 0.781917146422783650, 0.781885976327024390, 0.781854804276550300, +0.781823630271439200, 0.781792454311769030, 0.781761276397617610, 0.781730096529062560, 0.781698914706182800, 0.781667730929055730, 0.781636545197759270, 0.781605357512371590, +0.781574167872970400, 0.781542976279633870, 0.781511782732439820, 0.781480587231465850, 0.781449389776790900, 0.781418190368492470, 0.781386989006648710, 0.781355785691337350, +0.781324580422636530, 0.781293373200624200, 0.781262164025377960, 0.781230952896976860, 0.781199739815498400, 0.781168524781020500, 0.781137307793621450, 0.781106088853378950, +0.781074867960371400, 0.781043645114676500, 0.781012420316372080, 0.780981193565537080, 0.780949964862249100, 0.780918734206586310, 0.780887501598626520, 0.780856267038448130, +0.780825030526128950, 0.780793792061746710, 0.780762551645380550, 0.780731309277107990, 0.780700064957007170, 0.780668818685156250, 0.780637570461633180, 0.780606320286516220, +0.780575068159883420, 0.780543814081812390, 0.780512558052382510, 0.780481300071671160, 0.780450040139756500, 0.780418778256716790, 0.780387514422630100, 0.780356248637574690, +0.780324980901628610, 0.780293711214869570, 0.780262439577376730, 0.780231165989227820, 0.780199890450501090, 0.780168612961274490, 0.780137333521626400, 0.780106052131635090, +0.780074768791377940, 0.780043483500934550, 0.780012196260382320, 0.779980907069799720, 0.779949615929264820, 0.779918322838855870, 0.779887027798651040, 0.779855730808728720, +0.779824431869166500, 0.779793130980043770, 0.779761828141438240, 0.779730523353428070, 0.779699216616091650, 0.779667907929507240, 0.779636597293752900, 0.779605284708907220, +0.779573970175047700, 0.779542653692253840, 0.779511335260603230, 0.779480014880174380, 0.779448692551045540, 0.779417368273294890, 0.779386042047000900, 0.779354713872241200, +0.779323383749095270, 0.779292051677640820, 0.779260717657956350, 0.779229381690120020, 0.779198043774210310, 0.779166703910305400, 0.779135362098483770, 0.779104018338823150, +0.779072672631403120, 0.779041324976301300, 0.779009975373596290, 0.778978623823366250, 0.778947270325689670, 0.778915914880644930, 0.778884557488309760, 0.778853198148763860, +0.778821836862084950, 0.778790473628351410, 0.778759108447641730, 0.778727741320034310, 0.778696372245607390, 0.778665001224439710, 0.778633628256608870, 0.778602253342194570, +0.778570876481274540, 0.778539497673927490, 0.778508116920231590, 0.778476734220265420, 0.778445349574107380, 0.778413962981835960, 0.778382574443529100, 0.778351183959266390, +0.778319791529125670, 0.778288397153185430, 0.778257000831524270, 0.778225602564220690, 0.778194202351352950, 0.778162800192999220, 0.778131396089239090, 0.778099990040150400, +0.778068582045811750, 0.778037172106301630, 0.778005760221698540, 0.777974346392081180, 0.777942930617527840, 0.777911512898116660, 0.777880093233927260, 0.777848671625037680, +0.777817248071526300, 0.777785822573471840, 0.777754395130952900, 0.777722965744047980, 0.777691534412835010, 0.777660101137393700, 0.777628665917802220, 0.777597228754139060, +0.777565789646482930, 0.777534348594912220, 0.777502905599505630, 0.777471460660341900, 0.777440013777498830, 0.777408564951056260, 0.777377114181092340, 0.777345661467685690, +0.777314206810914790, 0.777282750210858460, 0.777251291667595210, 0.777219831181203750, 0.777188368751762120, 0.777156904379350140, 0.777125438064045880, 0.777093969805928040, +0.777062499605075230, 0.777031027461566270, 0.776999553375479660, 0.776968077346893660, 0.776936599375887990, 0.776905119462540820, 0.776873637606930960, 0.776842153809136900, +0.776810668069237490, 0.776779180387311310, 0.776747690763437300, 0.776716199197693520, 0.776684705690159680, 0.776653210240914160, 0.776621712850035560, 0.776590213517602820, +0.776558712243694440, 0.776527209028389230, 0.776495703871766030, 0.776464196773903100, 0.776432687734880170, 0.776401176754775490, 0.776369663833667900, 0.776338148971636110, +0.776306632168759060, 0.776275113425115350, 0.776243592740783250, 0.776212070115842810, 0.776180545550372190, 0.776149019044450220, 0.776117490598155600, 0.776085960211567390, +0.776054427884764200, 0.776022893617824950, 0.775991357410827920, 0.775959819263853050, 0.775928279176978600, 0.775896737150283510, 0.775865193183846500, 0.775833647277746620, +0.775802099432062580, 0.775770549646872640, 0.775738997922256980, 0.775707444258293850, 0.775675888655061980, 0.775644331112640530, 0.775612771631108200, 0.775581210210543940, +0.775549646851026670, 0.775518081552634690, 0.775486514315448020, 0.775454945139545160, 0.775423374025004940, 0.775391800971906190, 0.775360225980328050, 0.775328649050349260, +0.775297070182048850, 0.775265489375505210, 0.775233906630798500, 0.775202321948006980, 0.775170735327209590, 0.775139146768485390, 0.775107556271913300, 0.775075963837572380, +0.775044369465541010, 0.775012773155899230, 0.774981174908725530, 0.774949574724098870, 0.774917972602098270, 0.774886368542802790, 0.774854762546291380, 0.774823154612642950, +0.774791544741936230, 0.774759932934251160, 0.774728319189666230, 0.774696703508260480, 0.774665085890112960, 0.774633466335302830, 0.774601844843908930, 0.774570221416010510, +0.774538596051685960, 0.774506968751015430, 0.774475339514077430, 0.774443708340951220, 0.774412075231715620, 0.774380440186449910, 0.774348803205233030, 0.774317164288143680, +0.774285523435261910, 0.774253880646666340, 0.774222235922436110, 0.774190589262650270, 0.774158940667387880, 0.774127290136728210, 0.774095637670750290, 0.774063983269532740, +0.774032326933155820, 0.774000668661698030, 0.773969008455238640, 0.773937346313856580, 0.773905682237631340, 0.773874016226641760, 0.773842348280966650, 0.773810678400686180, +0.773779006585879060, 0.773747332836624450, 0.773715657153001390, 0.773683979535089270, 0.773652299982967250, 0.773620618496714370, 0.773588935076409470, 0.773557249722132690, +0.773525562433962870, 0.773493873211979150, 0.773462182056260720, 0.773430488966886820, 0.773398793943936740, 0.773367096987489620, 0.773335398097624300, 0.773303697274420940, +0.773271994517958360, 0.773240289828315830, 0.773208583205572510, 0.773176874649807780, 0.773145164161100910, 0.773113451739530500, 0.773081737385177050, 0.773050021098119270, +0.773018302878436430, 0.772986582726207790, 0.772954860641512750, 0.772923136624430570, 0.772891410675040410, 0.772859682793421320, 0.772827952979653570, 0.772796221233815860, +0.772764487555987590, 0.772732751946248130, 0.772701014404676870, 0.772669274931352960, 0.772637533526356000, 0.772605790189764500, 0.772574044921659150, 0.772542297722118690, +0.772510548591222480, 0.772478797529049910, 0.772447044535680360, 0.772415289611193100, 0.772383532755667180, 0.772351773969182980, 0.772320013251819200, 0.772288250603655580, +0.772256486024771150, 0.772224719515245630, 0.772192951075158280, 0.772161180704588610, 0.772129408403615320, 0.772097634172319140, 0.772065858010778870, 0.772034079919073910, +0.772002299897283860, 0.771970517945487880, 0.771938734063765790, 0.771906948252196190, 0.771875160510859800, 0.771843370839835560, 0.771811579239202850, 0.771779785709041160, +0.771747990249430080, 0.771716192860449010, 0.771684393542177440, 0.771652592294694300, 0.771620789118080300, 0.771588984012414270, 0.771557176977775820, 0.771525368014244430, +0.771493557121899600, 0.771461744300820820, 0.771429929551087800, 0.771398112872779260, 0.771366294265976140, 0.771334473730757140, 0.771302651267202100, 0.771270826875390390, +0.771239000555401510, 0.771207172307315280, 0.771175342131210420, 0.771143510027167860, 0.771111675995266530, 0.771079840035585940, 0.771048002148205790, 0.771016162333205690, +0.770984320590665130, 0.770952476920663710, 0.770920631323280590, 0.770888783798596490, 0.770856934346690450, 0.770825082967641960, 0.770793229661530850, 0.770761374428436620, +0.770729517268438970, 0.770697658181617510, 0.770665797168051390, 0.770633934227821340, 0.770602069361006390, 0.770570202567686380, 0.770538333847940790, 0.770506463201849350, +0.770474590629491750, 0.770442716130947170, 0.770410839706296310, 0.770378961355618340, 0.770347081078992970, 0.770315198876499910, 0.770283314748218870, 0.770251428694229580, +0.770219540714611630, 0.770187650809444290, 0.770155758978808500, 0.770123865222783200, 0.770091969541448210, 0.770060071934883350, 0.770028172403168340, 0.769996270946382790, +0.769964367564606180, 0.769932462257919110, 0.769900555026400870, 0.769868645870131260, 0.769836734789190010, 0.769804821783656950, 0.769772906853611880, 0.769740989999134430, +0.769709071220303960, 0.769677150517201540, 0.769645227889906080, 0.769613303338497530, 0.769581376863055830, 0.769549448463660690, 0.769517518140391930, 0.769485585893329270, +0.769453651722552090, 0.769421715628141430, 0.769389777610176460, 0.769357837668737000, 0.769325895803902980, 0.769293952015754230, 0.769262006304370580, 0.769230058669831410, +0.769198109112217640, 0.769166157631608560, 0.769134204228084100, 0.769102248901724070, 0.769070291652608540, 0.769038332480817210, 0.769006371386430020, 0.768974408369526460, +0.768942443430187250, 0.768910476568492100, 0.768878507784520710, 0.768846537078353040, 0.768814564450069020, 0.768782589899748570, 0.768750613427471090, 0.768718635033317720, +0.768686654717367630, 0.768654672479700980, 0.768622688320397710, 0.768590702239537630, 0.768558714237200790, 0.768526724313467250, 0.768494732468416260, 0.768462738702129000, +0.768430743014684950, 0.768398745406163930, 0.768366745876646220, 0.768334744426211520, 0.768302741054940010, 0.768270735762911610, 0.768238728550205810, 0.768206719416903770, +0.768174708363084880, 0.768142695388829290, 0.768110680494216940, 0.768078663679327870, 0.768046644944242240, 0.768014624289039330, 0.767982601713800390, 0.767950577218605050, +0.767918550803533220, 0.767886522468665070, 0.767854492214080530, 0.767822460039859770, 0.767790425946082930, 0.767758389932829300, 0.767726352000180470, 0.767694312148215600, +0.767662270377015070, 0.767630226686658810, 0.767598181077226990, 0.767566133548799660, 0.767534084101457070, 0.767502032735278620, 0.767469979450345790, 0.767437924246737960, +0.767405867124535180, 0.767373808083817940, 0.767341747124666070, 0.767309684247159840, 0.767277619451378850, 0.767245552737404360, 0.767213484105315980, 0.767181413555193980, +0.767149341087118300, 0.767117266701169420, 0.767085190397427290, 0.767053112175972160, 0.767021032036883770, 0.766988949980243250, 0.766956866006130440, 0.766924780114625390, +0.766892692305808480, 0.766860602579759850, 0.766828510936559680, 0.766796417376287560, 0.766764321899025100, 0.766732224504851790, 0.766700125193847890, 0.766668023966093680, +0.766635920821669540, 0.766603815760655500, 0.766571708783131860, 0.766539599889178410, 0.766507489078876560, 0.766475376352306000, 0.766443261709547020, 0.766411145150679870, +0.766379026675784840, 0.766346906284942180, 0.766314783978232380, 0.766282659755734950, 0.766250533617531480, 0.766218405563701690, 0.766186275594325950, 0.766154143709484430, +0.766122009909257500, 0.766089874193725650, 0.766057736562968490, 0.766025597017067630, 0.765993455556102650, 0.765961312180154060, 0.765929166889302240, 0.765897019683627560, +0.765864870563210290, 0.765832719528130810, 0.765800566578468960, 0.765768411714306320, 0.765736254935722620, 0.765704096242798230, 0.765671935635613640, 0.765639773114249240, +0.765607608678785300, 0.765575442329302520, 0.765543274065880410, 0.765511103888600770, 0.765478931797543340, 0.765446757792788590, 0.765414581874416910, 0.765382404042508790, +0.765350224297144610, 0.765318042638404420, 0.765285859066369590, 0.765253673581120180, 0.765221486182736670, 0.765189296871299220, 0.765157105646888660, 0.765124912509585360, +0.765092717459469720, 0.765060520496621770, 0.765028321621123110, 0.764996120833053570, 0.764963918132493760, 0.764931713519524160, 0.764899506994225260, 0.764867298556677570, +0.764835088206961110, 0.764802875945157500, 0.764770661771346670, 0.764738445685609220, 0.764706227688025650, 0.764674007778676450, 0.764641785957642320, 0.764609562225003650, +0.764577336580840480, 0.764545109025234650, 0.764512879558265970, 0.764480648180015150, 0.764448414890562700, 0.764416179689989210, 0.764383942578375160, 0.764351703555801400, +0.764319462622347730, 0.764287219778095990, 0.764254975023126230, 0.764222728357519030, 0.764190479781355010, 0.764158229294714770, 0.764125976897678920, 0.764093722590327600, +0.764061466372742530, 0.764029208245003870, 0.763996948207192110, 0.763964686259387960, 0.763932422401672140, 0.763900156634125250, 0.763867888956828000, 0.763835619369860440, +0.763803347873304390, 0.763771074467239910, 0.763738799151747920, 0.763706521926908800, 0.763674242792803380, 0.763641961749512380, 0.763609678797116500, 0.763577393935695790, +0.763545107165332190, 0.763512818486105860, 0.763480527898097390, 0.763448235401387730, 0.763415940996057360, 0.763383644682187220, 0.763351346459857360, 0.763319046329149710, +0.763286744290144540, 0.763254440342922340, 0.763222134487564150, 0.763189826724150590, 0.763157517052762470, 0.763125205473480510, 0.763092891986385080, 0.763060576591557900, +0.763028259289079360, 0.762995940079030040, 0.762963618961490900, 0.762931295936542850, 0.762898971004266400, 0.762866644164742040, 0.762834315418051690, 0.762801984764275410, +0.762769652203494240, 0.762737317735789010, 0.762704981361240320, 0.762672643079929320, 0.762640302891936630, 0.762607960797342720, 0.762575616796229430, 0.762543270888677020, +0.762510923074766530, 0.762478573354578690, 0.762446221728194430, 0.762413868195694570, 0.762381512757160040, 0.762349155412671230, 0.762316796162310070, 0.762284435006156950, +0.762252071944292680, 0.762219706976798190, 0.762187340103754550, 0.762154971325242570, 0.762122600641342520, 0.762090228052136550, 0.762057853557704950, 0.762025477158128850, +0.761993098853488980, 0.761960718643866390, 0.761928336529342000, 0.761895952509996640, 0.761863566585911030, 0.761831178757166990, 0.761798789023845010, 0.761766397386026030, +0.761734003843791090, 0.761701608397221120, 0.761669211046397180, 0.761636811791400080, 0.761604410632310550, 0.761572007569210400, 0.761539602602180340, 0.761507195731301320, +0.761474786956654160, 0.761442376278320120, 0.761409963696380140, 0.761377549210914720, 0.761345132822005890, 0.761312714529734260, 0.761280294334180980, 0.761247872235426780, +0.761215448233553030, 0.761183022328640550, 0.761150594520770610, 0.761118164810023590, 0.761085733196481650, 0.761053299680225500, 0.761020864261336080, 0.760988426939894440, +0.760955987715981720, 0.760923546589679090, 0.760891103561067040, 0.760858658630227720, 0.760826211797241750, 0.760793763062190380, 0.760761312425154430, 0.760728859886215300, +0.760696405445454030, 0.760663949102951760, 0.760631490858789010, 0.760599030713048130, 0.760566568665809630, 0.760534104717154770, 0.760501638867164600, 0.760469171115920270, +0.760436701463503170, 0.760404229909994230, 0.760371756455474060, 0.760339281100025130, 0.760306803843728060, 0.760274324686664000, 0.760241843628914000, 0.760209360670559550, +0.760176875811681580, 0.760144389052360920, 0.760111900392679730, 0.760079409832718930, 0.760046917372559580, 0.760014423012282950, 0.759981926751970180, 0.759949428591702670, +0.759916928531561560, 0.759884426571627470, 0.759851922711982990, 0.759819416952708710, 0.759786909293885810, 0.759754399735595780, 0.759721888277919640, 0.759689374920938800, +0.759656859664733950, 0.759624342509387480, 0.759591823454980220, 0.759559302501593430, 0.759526779649308370, 0.759494254898206210, 0.759461728248368550, 0.759429199699876540, +0.759396669252811020, 0.759364136907254350, 0.759331602663287360, 0.759299066520991330, 0.759266528480447620, 0.759233988541737630, 0.759201446704942610, 0.759168902970144050, +0.759136357337422680, 0.759103809806860870, 0.759071260378539670, 0.759038709052540230, 0.759006155828944040, 0.758973600707832490, 0.758941043689286830, 0.758908484773388130, +0.758875923960218750, 0.758843361249859520, 0.758810796642391930, 0.758778230137897250, 0.758745661736457080, 0.758713091438152800, 0.758680519243065680, 0.758647945151276760, +0.758615369162868540, 0.758582791277921940, 0.758550211496518360, 0.758517629818739160, 0.758485046244665950, 0.758452460774380110, 0.758419873407963130, 0.758387284145495830, +0.758354692987060930, 0.758322099932739360, 0.758289504982612490, 0.758256908136761830, 0.758224309395268970, 0.758191708758215290, 0.758159106225681720, 0.758126501797750980, +0.758093895474504120, 0.758061287256022400, 0.758028677142387530, 0.757996065133680900, 0.757963451229984100, 0.757930835431378740, 0.757898217737945630, 0.757865598149767620, +0.757832976666925620, 0.757800353289501130, 0.757767728017575750, 0.757735100851231080, 0.757702471790548620, 0.757669840835609510, 0.757637207986496250, 0.757604573243290110, +0.757571936606072470, 0.757539298074924930, 0.757506657649929190, 0.757474015331166760, 0.757441371118719340, 0.757408725012667980, 0.757376077013095280, 0.757343427120082400, +0.757310775333711050, 0.757278121654062720, 0.757245466081219010, 0.757212808615261630, 0.757180149256272310, 0.757147488004331960, 0.757114824859523640, 0.757082159821928060, +0.757049492891627150, 0.757016824068702520, 0.756984153353235770, 0.756951480745308710, 0.756918806245002410, 0.756886129852399670, 0.756853451567581550, 0.756820771390629750, +0.756788089321626110, 0.756755405360652110, 0.756722719507789470, 0.756690031763120220, 0.756657342126725970, 0.756624650598688330, 0.756591957179088780, 0.756559261868009590, +0.756526564665532360, 0.756493865571738590, 0.756461164586709870, 0.756428461710528580, 0.756395756943276100, 0.756363050285034030, 0.756330341735884540, 0.756297631295909210, +0.756264918965189770, 0.756232204743807810, 0.756199488631845610, 0.756166770629384640, 0.756134050736506860, 0.756101328953293520, 0.756068605279827220, 0.756035879716189460, +0.756003152262461840, 0.755970422918726180, 0.755937691685064750, 0.755904958561559040, 0.755872223548290980, 0.755839486645341950, 0.755806747852794670, 0.755774007170730400, +0.755741264599231190, 0.755708520138378530, 0.755675773788254790, 0.755643025548941690, 0.755610275420520620, 0.755577523403074270, 0.755544769496684140, 0.755512013701431950, +0.755479256017399510, 0.755446496444669210, 0.755413734983322760, 0.755380971633441870, 0.755348206395108250, 0.755315439268404390, 0.755282670253412000, 0.755249899350212920, +0.755217126558888730, 0.755184351879522150, 0.755151575312194570, 0.755118796856988130, 0.755086016513984330, 0.755053234283265870, 0.755020450164914260, 0.754987664159011200, +0.754954876265639400, 0.754922086484880350, 0.754889294816815990, 0.754856501261528260, 0.754823705819099410, 0.754790908489611390, 0.754758109273146130, 0.754725308169785230, +0.754692505179611390, 0.754659700302706240, 0.754626893539151910, 0.754594084889030010, 0.754561274352423260, 0.754528461929413250, 0.754495647620082140, 0.754462831424511540, +0.754430013342784140, 0.754397193374981790, 0.754364371521186180, 0.754331547781479930, 0.754298722155944730, 0.754265894644662760, 0.754233065247715830, 0.754200233965186430, +0.754167400797156500, 0.754134565743708070, 0.754101728804922880, 0.754068889980883730, 0.754036049271672340, 0.754003206677370750, 0.753970362198060910, 0.753937515833825510, +0.753904667584746280, 0.753871817450905370, 0.753838965432384600, 0.753806111529266690, 0.753773255741633560, 0.753740398069567270, 0.753707538513149760, 0.753674677072463610, +0.753641813747590760, 0.753608948538613150, 0.753576081445613500, 0.753543212468673510, 0.753510341607875560, 0.753477468863301470, 0.753444594235033960, 0.753411717723155070, +0.753378839327746740, 0.753345959048891120, 0.753313076886670820, 0.753280192841167870, 0.753247306912464440, 0.753214419100642460, 0.753181529405784760, 0.753148637827973140, +0.753115744367290010, 0.753082849023817280, 0.753049951797637560, 0.753017052688833120, 0.752984151697485670, 0.752951248823678140, 0.752918344067492470, 0.752885437429010930, +0.752852528908315550, 0.752819618505489060, 0.752786706220613610, 0.752753792053771350, 0.752720876005044340, 0.752687958074515500, 0.752655038262266650, 0.752622116568380290, +0.752589192992938250, 0.752556267536023670, 0.752523340197718270, 0.752490410978104650, 0.752457479877264630, 0.752424546895281150, 0.752391612032236370, 0.752358675288212320, +0.752325736663291830, 0.752292796157556950, 0.752259853771090060, 0.752226909503973310, 0.752193963356289630, 0.752161015328120960, 0.752128065419549800, 0.752095113630658170, +0.752062159961529030, 0.752029204412244520, 0.751996246982886920, 0.751963287673538480, 0.751930326484282150, 0.751897363415199970, 0.751864398466374320, 0.751831431637887460, +0.751798462929822220, 0.751765492342260980, 0.751732519875285550, 0.751699545528979220, 0.751666569303424010, 0.751633591198702320, 0.751600611214896410, 0.751567629352089320, +0.751534645610363090, 0.751501659989800120, 0.751468672490482880, 0.751435683112494200, 0.751402691855916350, 0.751369698720831810, 0.751336703707322640, 0.751303706815471980, +0.751270708045362110, 0.751237707397075520, 0.751204704870694240, 0.751171700466301660, 0.751138694183979600, 0.751105686023811000, 0.751072675985877790, 0.751039664070263240, +0.751006650277049490, 0.750973634606318940, 0.750940617058154510, 0.750907597632638480, 0.750874576329853440, 0.750841553149881770, 0.750808528092806520, 0.750775501158709830, +0.750742472347674550, 0.750709441659782590, 0.750676409095117460, 0.750643374653761300, 0.750610338335796710, 0.750577300141305860, 0.750544260070372230, 0.750511218123077860, +0.750478174299505470, 0.750445128599737330, 0.750412081023856700, 0.750379031571945740, 0.750345980244087050, 0.750312927040363680, 0.750279871960857990, 0.750246815005652600, +0.750213756174829880, 0.750180695468473100, 0.750147632886664530, 0.750114568429486870, 0.750081502097022510, 0.750048433889354720, 0.750015363806565860, 0.749982291848738440, +0.749949218015955150, 0.749916142308299060, 0.749883064725852640, 0.749849985268698500, 0.749816903936919240, 0.749783820730597910, 0.749750735649816980, 0.749717648694659070, +0.749684559865207210, 0.749651469161543900, 0.749618376583752080, 0.749585282131914000, 0.749552185806112830, 0.749519087606431380, 0.749485987532952150, 0.749452885585757620, +0.749419781764931290, 0.749386676070555310, 0.749353568502712840, 0.749320459061486030, 0.749287347746958490, 0.749254234559212470, 0.749221119498330920, 0.749188002564396220, +0.749154883757491840, 0.749121763077700180, 0.749088640525104270, 0.749055516099786270, 0.749022389801830000, 0.748989261631317630, 0.748956131588331740, 0.748922999672955950, +0.748889865885272510, 0.748856730225364590, 0.748823592693314440, 0.748790453289205570, 0.748757312013120680, 0.748724168865142480, 0.748691023845353460, 0.748657876953837230, +0.748624728190676380, 0.748591577555953620, 0.748558425049751670, 0.748525270672153910, 0.748492114423243040, 0.748458956303101890, 0.748425796311813050, 0.748392634449459910, +0.748359470716125300, 0.748326305111891690, 0.748293137636842580, 0.748259968291060670, 0.748226797074628800, 0.748193623987629670, 0.748160449030146670, 0.748127272202262720, +0.748094093504060530, 0.748060912935622710, 0.748027730497032970, 0.747994546188373910, 0.747961360009728570, 0.747928171961179440, 0.747894982042810240, 0.747861790254703450, +0.747828596596942340, 0.747795401069609290, 0.747762203672788120, 0.747729004406561430, 0.747695803271012040, 0.747662600266223330, 0.747629395392278130, 0.747596188649259360, +0.747562980037249970, 0.747529769556333320, 0.747496557206592360, 0.747463342988109900, 0.747430126900968880, 0.747396908945252790, 0.747363689121044340, 0.747330467428426680, +0.747297243867482750, 0.747264018438295820, 0.747230791140948920, 0.747197561975525000, 0.747164330942106880, 0.747131098040778370, 0.747097863271621980, 0.747064626634720620, +0.747031388130158010, 0.746998147758016980, 0.746964905518380570, 0.746931661411331490, 0.746898415436953680, 0.746865167595329730, 0.746831917886543020, 0.746798666310676150, +0.746765412867812840, 0.746732157558036120, 0.746698900381428830, 0.746665641338074120, 0.746632380428055580, 0.746599117651456030, 0.746565853008358760, 0.746532586498846570, +0.746499318123003190, 0.746466047880911530, 0.746432775772654770, 0.746399501798315710, 0.746366225957978190, 0.746332948251725140, 0.746299668679639370, 0.746266387241804830, +0.746233103938304220, 0.746199818769220920, 0.746166531734637760, 0.746133242834638550, 0.746099952069306240, 0.746066659438724080, 0.746033364942974900, 0.746000068582142630, +0.745966770356310200, 0.745933470265560890, 0.745900168309977630, 0.745866864489644120, 0.745833558804643530, 0.745800251255059000, 0.745766941840973590, 0.745733630562471110, +0.745700317419634610, 0.745667002412546910, 0.745633685541292060, 0.745600366805952990, 0.745567046206613070, 0.745533723743355140, 0.745500399416263230, 0.745467073225420270, +0.745433745170909770, 0.745400415252814420, 0.745367083471218490, 0.745333749826204710, 0.745300414317856760, 0.745267076946257270, 0.745233737711490480, 0.745200396613639350, +0.745167053652787240, 0.745133708829017190, 0.745100362142413150, 0.745067013593058160, 0.745033663181035370, 0.745000310906428710, 0.744966956769321340, 0.744933600769796530, +0.744900242907937440, 0.744866883183827990, 0.744833521597551450, 0.744800158149190980, 0.744766792838829850, 0.744733425666552100, 0.744700056632440770, 0.744666685736579240, +0.744633312979050670, 0.744599938359939210, 0.744566561879327790, 0.744533183537300140, 0.744499803333939060, 0.744466421269328830, 0.744433037343552590, 0.744399651556693740, +0.744366263908835420, 0.744332874400061790, 0.744299483030455900, 0.744266089800101120, 0.744232694709081380, 0.744199297757479840, 0.744165898945380100, 0.744132498272865320, +0.744099095740019530, 0.744065691346926020, 0.744032285093668370, 0.743998876980329630, 0.743965467006994060, 0.743932055173744720, 0.743898641480665310, 0.743865225927838990, +0.743831808515349910, 0.743798389243281340, 0.743764968111716660, 0.743731545120739470, 0.743698120270433580, 0.743664693560882380, 0.743631264992169250, 0.743597834564378110, +0.743564402277592570, 0.743530968131895900, 0.743497532127371570, 0.743464094264103540, 0.743430654542175500, 0.743397212961670720, 0.743363769522672580, 0.743330324225265350, +0.743296877069532290, 0.743263428055557120, 0.743229977183422990, 0.743196524453214270, 0.743163069865014240, 0.743129613418906490, 0.743096155114974510, 0.743062694953302350, +0.743029232933973380, 0.742995769057071210, 0.742962303322679760, 0.742928835730882640, 0.742895366281763340, 0.742861894975405450, 0.742828421811893010, 0.742794946791309640, +0.742761469913738810, 0.742727991179264020, 0.742694510587969540, 0.742661028139938840, 0.742627543835255530, 0.742594057674003110, 0.742560569656265710, 0.742527079782127060, +0.742493588051670650, 0.742460094464979850, 0.742426599022139260, 0.742393101723232140, 0.742359602568341990, 0.742326101557553080, 0.742292598690948880, 0.742259093968613340, +0.742225587390629600, 0.742192078957082280, 0.742158568668054740, 0.742125056523630810, 0.742091542523893870, 0.742058026668928390, 0.742024508958817890, 0.741990989393646050, +0.741957467973496490, 0.741923944698453570, 0.741890419568600800, 0.741856892584021880, 0.741823363744800510, 0.741789833051020970, 0.741756300502766970, 0.741722766100122110, +0.741689229843170090, 0.741655691731995300, 0.741622151766681230, 0.741588609947311460, 0.741555066273970610, 0.741521520746741940, 0.741487973365709600, 0.741454424130956860, +0.741420873042568430, 0.741387320100627910, 0.741353765305219010, 0.741320208656425450, 0.741286650154331590, 0.741253089799021160, 0.741219527590577960, 0.741185963529085720, +0.741152397614628810, 0.741118829847290940, 0.741085260227155930, 0.741051688754307490, 0.741018115428830230, 0.740984540250807620, 0.740950963220323280, 0.740917384337461900, +0.740883803602307100, 0.740850221014942690, 0.740816636575452490, 0.740783050283921000, 0.740749462140431910, 0.740715872145069070, 0.740682280297916380, 0.740648686599058250, +0.740615091048578260, 0.740581493646560670, 0.740547894393089100, 0.740514293288248030, 0.740480690332121270, 0.740447085524792660, 0.740413478866346120, 0.740379870356866250, +0.740346259996436550, 0.740312647785141050, 0.740279033723064140, 0.740245417810289740, 0.740211800046901680, 0.740178180432983890, 0.740144558968620970, 0.740110935653896520, +0.740077310488894910, 0.740043683473699640, 0.740010054608395420, 0.739976423893066060, 0.739942791327795720, 0.739909156912668120, 0.739875520647767850, 0.739841882533178730, +0.739808242568985030, 0.739774600755270350, 0.739740957092119510, 0.739707311579616220, 0.739673664217844750, 0.739640015006888700, 0.739606363946832990, 0.739572711037761340, +0.739539056279757690, 0.739505399672906630, 0.739471741217291980, 0.739438080912998120, 0.739404418760108760, 0.739370754758708500, 0.739337088908881500, 0.739303421210711800, +0.739269751664283100, 0.739236080269680460, 0.739202407026987580, 0.739168731936288630, 0.739135054997667630, 0.739101376211209190, 0.739067695576997470, 0.739034013095116290, +0.739000328765649920, 0.738966642588683050, 0.738932954564299530, 0.738899264692583270, 0.738865572973619210, 0.738831879407491290, 0.738798183994283540, 0.738764486734080130, +0.738730787626965760, 0.738697086673024470, 0.738663383872340320, 0.738629679224997560, 0.738595972731080800, 0.738562264390674180, 0.738528554203861880, 0.738494842170727810, +0.738461128291357130, 0.738427412565833440, 0.738393694994241350, 0.738359975576664660, 0.738326254313188320, 0.738292531203896370, 0.738258806248872750, 0.738225079448202480, +0.738191350801969510, 0.738157620310258110, 0.738123887973152430, 0.738090153790737280, 0.738056417763096720, 0.738022679890315110, 0.737988940172476520, 0.737955198609665960, +0.737921455201967280, 0.737887709949465060, 0.737853962852243250, 0.737820213910386770, 0.737786463123979770, 0.737752710493106640, 0.737718956017851420, 0.737685199698299150, +0.737651441534533880, 0.737617681526639650, 0.737583919674701600, 0.737550155978803690, 0.737516390439030390, 0.737482623055465860, 0.737448853828195030, 0.737415082757302050, +0.737381309842871420, 0.737347535084987180, 0.737313758483734370, 0.737279980039197150, 0.737246199751460110, 0.737212417620607190, 0.737178633646723420, 0.737144847829893310, +0.737111060170200890, 0.737077270667730540, 0.737043479322567420, 0.737009686134795450, 0.736975891104499350, 0.736942094231763270, 0.736908295516672250, 0.736874494959310460, +0.736840692559762030, 0.736806888318112250, 0.736773082234445260, 0.736739274308845560, 0.736705464541397400, 0.736671652932185840, 0.736637839481295130, 0.736604024188809880, +0.736570207054814240, 0.736536388079393370, 0.736502567262631520, 0.736468744604613420, 0.736434920105423000, 0.736401093765145510, 0.736367265583865450, 0.736333435561667080, +0.736299603698634900, 0.736265769994854050, 0.736231934450408690, 0.736198097065383190, 0.736164257839862830, 0.736130416773931760, 0.736096573867674690, 0.736062729121175870, +0.736028882534520480, 0.735995034107792990, 0.735961183841077780, 0.735927331734459460, 0.735893477788023050, 0.735859622001852950, 0.735825764376033750, 0.735791904910649830, +0.735758043605786560, 0.735724180461528100, 0.735690315477959160, 0.735656448655164220, 0.735622579993228440, 0.735588709492236090, 0.735554837152271770, 0.735520962973420730, +0.735487086955767140, 0.735453209099395930, 0.735419329404391360, 0.735385447870838700, 0.735351564498822440, 0.735317679288427390, 0.735283792239737720, 0.735249903352839020, +0.735216012627815330, 0.735182120064751810, 0.735148225663732610, 0.735114329424843120, 0.735080431348167920, 0.735046531433791510, 0.735012629681798480, 0.734978726092274210, +0.734944820665303090, 0.734910913400970030, 0.734877004299359320, 0.734843093360556420, 0.734809180584645730, 0.734775265971711830, 0.734741349521840110, 0.734707431235114950, +0.734673511111621160, 0.734639589151443450, 0.734605665354666980, 0.734571739721376350, 0.734537812251656370, 0.734503882945591550, 0.734469951803267350, 0.734436018824768280, +0.734402084010179150, 0.734368147359584440, 0.734334208873069770, 0.734300268550719500, 0.734266326392618570, 0.734232382398851470, 0.734198436569503790, 0.734164488904660130, +0.734130539404404760, 0.734096588068823390, 0.734062634898000610, 0.734028679892021140, 0.733994723050969800, 0.733960764374931850, 0.733926803863992010, 0.733892841518235190, +0.733858877337746020, 0.733824911322609850, 0.733790943472911410, 0.733756973788735720, 0.733723002270167180, 0.733689028917291490, 0.733655053730193240, 0.733621076708957260, +0.733587097853668380, 0.733553117164412070, 0.733519134641272940, 0.733485150284335700, 0.733451164093685830, 0.733417176069408040, 0.733383186211587380, 0.733349194520308330, +0.733315200995656720, 0.733281205637717040, 0.733247208446574430, 0.733213209422313380, 0.733179208565019720, 0.733145205874777940, 0.733111201351673290, 0.733077194995790160, +0.733043186807214480, 0.733009176786030730, 0.732975164932324060, 0.732941151246179310, 0.732907135727681850, 0.732873118376916600, 0.732839099193968170, 0.732805078178922380, +0.732771055331863820, 0.732737030652877760, 0.732703004142048700, 0.732668975799462440, 0.732634945625203820, 0.732600913619357750, 0.732566879782009180, 0.732532844113243600, +0.732498806613146040, 0.732464767281801320, 0.732430726119294500, 0.732396683125711160, 0.732362638301136020, 0.732328591645654340, 0.732294543159350830, 0.732260492842311430, +0.732226440694620620, 0.732192386716363770, 0.732158330907625610, 0.732124273268492050, 0.732090213799047710, 0.732056152499377500, 0.732022089369567250, 0.731988024409701900, +0.731953957619866370, 0.731919889000145600, 0.731885818550625510, 0.731851746271390710, 0.731817672162526690, 0.731783596224118150, 0.731749518456251020, 0.731715438859009910, +0.731681357432480310, 0.731647274176747020, 0.731613189091895770, 0.731579102178011700, 0.731545013435179750, 0.731510922863484960, 0.731476830463013260, 0.731442736233849370, +0.731408640176078430, 0.731374542289786160, 0.731340442575057480, 0.731306341031977780, 0.731272237660631870, 0.731238132461105690, 0.731204025433484170, 0.731169916577852570, +0.731135805894295940, 0.731101693382900100, 0.731067579043749970, 0.731033462876930830, 0.730999344882527820, 0.730965225060626780, 0.730931103411312620, 0.730896979934670730, +0.730862854630786040, 0.730828727499744590, 0.730794598541631310, 0.730760467756531140, 0.730726335144530230, 0.730692200705713390, 0.730658064440166120, 0.730623926347973350, +0.730589786429221010, 0.730555644683994250, 0.730521501112378460, 0.730487355714458550, 0.730453208490320470, 0.730419059440049480, 0.730384908563730840, 0.730350755861449600, +0.730316601333291790, 0.730282444979342360, 0.730248286799686900, 0.730214126794410450, 0.730179964963598940, 0.730145801307337640, 0.730111635825711700, 0.730077468518806390, +0.730043299386707760, 0.730009128429500830, 0.729974955647270880, 0.729940781040103740, 0.729906604608084650, 0.729872426351299010, 0.729838246269832180, 0.729804064363769880, +0.729769880633197480, 0.729735695078200350, 0.729701507698863660, 0.729667318495273550, 0.729633127467515070, 0.729598934615673930, 0.729564739939835060, 0.729530543440084610, +0.729496345116507740, 0.729462144969190150, 0.729427942998216890, 0.729393739203674010, 0.729359533585646760, 0.729325326144220410, 0.729291116879481120, 0.729256905791513920, +0.729222692880404530, 0.729188478146237990, 0.729154261589100680, 0.729120043209077640, 0.729085823006254570, 0.729051600980716640, 0.729017377132549880, 0.728983151461839900, +0.728948923968671840, 0.728914694653131300, 0.728880463515304220, 0.728846230555276090, 0.728811995773132270, 0.728777759168958150, 0.728743520742840100, 0.728709280494863050, +0.728675038425112610, 0.728640794533674920, 0.728606548820635140, 0.728572301286078970, 0.728538051930091910, 0.728503800752759890, 0.728469547754168390, 0.728435292934403010, +0.728401036293549130, 0.728366777831693010, 0.728332517548919810, 0.728298255445315460, 0.728263991520964990, 0.728229725775955020, 0.728195458210370680, 0.728161188824297700, +0.728126917617821330, 0.728092644591028180, 0.728058369744003290, 0.728024093076832470, 0.727989814589601100, 0.727955534282395570, 0.727921252155301120, 0.727886968208403370, +0.727852682441788360, 0.727818394855541670, 0.727784105449749030, 0.727749814224495920, 0.727715521179868490, 0.727681226315952220, 0.727646929632832840, 0.727612631130595930, +0.727578330809327770, 0.727544028669113720, 0.727509724710039610, 0.727475418932190920, 0.727441111335653920, 0.727406801920514210, 0.727372490686857390, 0.727338177634769160, +0.727303862764335670, 0.727269546075642650, 0.727235227568775460, 0.727200907243820360, 0.727166585100863070, 0.727132261139989410, 0.727097935361284640, 0.727063607764835470, +0.727029278350727170, 0.726994947119045780, 0.726960614069876660, 0.726926279203306320, 0.726891942519420240, 0.726857604018304350, 0.726823263700044130, 0.726788921564726080, +0.726754577612435670, 0.726720231843258850, 0.726685884257281200, 0.726651534854589000, 0.726617183635268060, 0.726582830599403980, 0.726548475747082920, 0.726514119078390700, +0.726479760593413350, 0.726445400292236140, 0.726411038174945790, 0.726376674241627770, 0.726342308492368140, 0.726307940927252480, 0.726273571546367180, 0.726239200349797940, +0.726204827337630810, 0.726170452509951270, 0.726136075866845810, 0.726101697408400250, 0.726067317134700410, 0.726032935045832000, 0.725998551141881610, 0.725964165422934740, +0.725929777889077200, 0.725895388540395480, 0.725860997376975290, 0.725826604398902680, 0.725792209606263120, 0.725757812999143440, 0.725723414577629230, 0.725689014341806440, +0.725654612291760870, 0.725620208427579020, 0.725585802749346700, 0.725551395257149840, 0.725516985951074170, 0.725482574831206370, 0.725448161897632170, 0.725413747150437490, +0.725379330589708160, 0.725344912215530880, 0.725310492027991250, 0.725276070027175420, 0.725241646213169110, 0.725207220586058910, 0.725172793145930750, 0.725138363892870230, +0.725103932826964170, 0.725069499948298280, 0.725035065256958600, 0.725000628753030950, 0.724966190436602040, 0.724931750307757690, 0.724897308366583950, 0.724862864613166620, +0.724828419047592430, 0.724793971669947190, 0.724759522480317050, 0.724725071478787840, 0.724690618665446150, 0.724656164040377910, 0.724621707603669400, 0.724587249355406190, +0.724552789295675240, 0.724518327424562240, 0.724483863742153120, 0.724449398248534710, 0.724414930943792830, 0.724380461828013520, 0.724345990901282820, 0.724311518163687440, +0.724277043615313310, 0.724242567256246470, 0.724208089086572970, 0.724173609106379510, 0.724139127315752030, 0.724104643714776790, 0.724070158303539600, 0.724035671082127300, +0.724001182050625800, 0.723966691209121490, 0.723932198557699970, 0.723897704096448380, 0.723863207825452550, 0.723828709744798290, 0.723794209854572550, 0.723759708154861350, +0.723725204645750850, 0.723690699327327100, 0.723656192199676810, 0.723621683262886120, 0.723587172517041190, 0.723552659962227950, 0.723518145598533560, 0.723483629426043610, +0.723449111444844690, 0.723414591655022640, 0.723380070056664380, 0.723345546649856060, 0.723311021434683840, 0.723276494411233760, 0.723241965579592640, 0.723207434939846740, +0.723172902492082210, 0.723138368236385110, 0.723103832172842460, 0.723069294301540100, 0.723034754622564280, 0.723000213136001820, 0.722965669841938880, 0.722931124740461840, +0.722896577831656620, 0.722862029115610150, 0.722827478592408700, 0.722792926262138650, 0.722758372124885810, 0.722723816180737440, 0.722689258429779490, 0.722654698872098430, +0.722620137507780310, 0.722585574336912170, 0.722551009359580050, 0.722516442575870440, 0.722481873985869380, 0.722447303589664020, 0.722412731387340300, 0.722378157378984480, +0.722343581564683590, 0.722309003944523800, 0.722274424518591470, 0.722239843286972660, 0.722205260249754620, 0.722170675407023510, 0.722136088758865590, 0.722101500305367240, +0.722066910046615380, 0.722032317982696290, 0.721997724113696340, 0.721963128439701900, 0.721928530960799790, 0.721893931677076490, 0.721859330588618290, 0.721824727695511430, +0.721790122997843180, 0.721755516495699470, 0.721720908189166680, 0.721686298078332070, 0.721651686163281570, 0.721617072444102000, 0.721582456920879300, 0.721547839593700830, +0.721513220462652760, 0.721478599527821560, 0.721443976789293620, 0.721409352247156080, 0.721374725901495100, 0.721340097752397380, 0.721305467799948970, 0.721270836044237360, +0.721236202485348590, 0.721201567123369250, 0.721166929958385830, 0.721132290990485260, 0.721097650219754030, 0.721063007646278290, 0.721028363270145410, 0.720993717091441550, +0.720959069110253540, 0.720924419326667510, 0.720889767740770630, 0.720855114352649370, 0.720820459162390460, 0.720785802170079930, 0.720751143375805260, 0.720716482779652720, +0.720681820381709030, 0.720647156182060430, 0.720612490180794210, 0.720577822377996840, 0.720543152773754910, 0.720508481368154820, 0.720473808161283700, 0.720439133153228160, +0.720404456344074800, 0.720369777733909870, 0.720335097322820970, 0.720300415110894270, 0.720265731098216120, 0.720231045284874140, 0.720196357670954360, 0.720161668256543820, +0.720126977041728680, 0.720092284026596530, 0.720057589211233640, 0.720022892595726720, 0.719988194180162240, 0.719953493964627710, 0.719918791949209380, 0.719884088133994070, +0.719849382519068160, 0.719814675104519130, 0.719779965890433580, 0.719745254876897890, 0.719710542063998870, 0.719675827451823790, 0.719641111040459140, 0.719606392829991390, +0.719571672820508050, 0.719536951012095470, 0.719502227404840490, 0.719467501998829580, 0.719432774794150240, 0.719398045790889060, 0.719363314989132750, 0.719328582388967800, +0.719293847990481680, 0.719259111793761010, 0.719224373798892480, 0.719189634005962810, 0.719154892415059250, 0.719120149026268530, 0.719085403839677450, 0.719050656855372510, +0.719015908073441290, 0.718981157493970180, 0.718946405117045990, 0.718911650942756110, 0.718876894971187010, 0.718842137202425730, 0.718807377636558780, 0.718772616273673610, +0.718737853113857070, 0.718703088157195750, 0.718668321403776460, 0.718633552853686690, 0.718598782507013030, 0.718564010363842430, 0.718529236424261470, 0.718494460688357760, +0.718459683156217890, 0.718424903827928780, 0.718390122703577050, 0.718355339783250500, 0.718320555067035400, 0.718285768555019020, 0.718250980247287950, 0.718216190143929680, +0.718181398245030910, 0.718146604550678360, 0.718111809060959620, 0.718077011775961390, 0.718042212695770620, 0.718007411820473900, 0.717972609150159040, 0.717937804684912750, +0.717902998424821750, 0.717868190369973070, 0.717833380520454200, 0.717798568876351960, 0.717763755437753170, 0.717728940204744760, 0.717694123177414320, 0.717659304355848460, +0.717624483740134430, 0.717589661330358840, 0.717554837126609500, 0.717520011128973010, 0.717485183337536190, 0.717450353752386640, 0.717415522373611280, 0.717380689201297050, +0.717345854235530880, 0.717311017476400360, 0.717276178923992310, 0.717241338578393780, 0.717206496439691590, 0.717171652507973540, 0.717136806783326250, 0.717101959265836970, +0.717067109955592530, 0.717032258852680630, 0.716997405957188080, 0.716962551269201940, 0.716927694788809130, 0.716892836516097480, 0.716857976451153680, 0.716823114594064670, +0.716788250944918160, 0.716753385503800970, 0.716718518270800350, 0.716683649246003140, 0.716648778429497150, 0.716613905821369190, 0.716579031421706420, 0.716544155230595780, +0.716509277248125080, 0.716474397474381130, 0.716439515909451210, 0.716404632553422350, 0.716369747406382040, 0.716334860468417430, 0.716299971739615680, 0.716265081220063600, +0.716230188909849240, 0.716195294809059300, 0.716160398917780940, 0.716125501236101750, 0.716090601764108880, 0.716055700501889490, 0.716020797449530620, 0.715985892607119980, +0.715950985974744600, 0.715916077552491760, 0.715881167340448490, 0.715846255338702610, 0.715811341547341050, 0.715776425966451080, 0.715741508596119740, 0.715706589436435060, +0.715671668487483760, 0.715636745749353430, 0.715601821222130900, 0.715566894905903970, 0.715531966800759920, 0.715497036906786010, 0.715462105224069170, 0.715427171752697320, +0.715392236492757630, 0.715357299444336900, 0.715322360607523300, 0.715287419982403860, 0.715252477569065850, 0.715217533367596300, 0.715182587378083160, 0.715147639600613670, +0.715112690035275000, 0.715077738682154410, 0.715042785541339710, 0.715007830612917950, 0.714972873896976720, 0.714937915393603070, 0.714902955102884820, 0.714867993024909220, +0.714833029159763540, 0.714798063507535050, 0.714763096068311790, 0.714728126842180790, 0.714693155829229100, 0.714658183029544760, 0.714623208443215030, 0.714588232070327400, +0.714553253910968690, 0.714518273965227270, 0.714483292233190070, 0.714448308714944800, 0.714413323410578280, 0.714378336320178890, 0.714343347443833540, 0.714308356781629960, +0.714273364333655070, 0.714238370099997130, 0.714203374080743190, 0.714168376275980840, 0.714133376685797350, 0.714098375310280640, 0.714063372149517980, 0.714028367203596640, +0.713993360472604640, 0.713958351956629160, 0.713923341655757990, 0.713888329570077970, 0.713853315699677580, 0.713818300044643860, 0.713783282605064410, 0.713748263381026370, +0.713713242372618020, 0.713678219579926610, 0.713643195003039520, 0.713608168642044240, 0.713573140497028800, 0.713538110568080590, 0.713503078855287080, 0.713468045358735540, +0.713433010078514120, 0.713397973014710310, 0.713362934167411480, 0.713327893536705000, 0.713292851122679150, 0.713257806925421180, 0.713222760945018350, 0.713187713181558940, +0.713152663635130190, 0.713117612305819830, 0.713082559193715100, 0.713047504298904400, 0.713012447621474750, 0.712977389161514100, 0.712942328919109690, 0.712907266894349690, +0.712872203087321580, 0.712837137498112950, 0.712802070126811180, 0.712767000973504540, 0.712731930038280390, 0.712696857321226340, 0.712661782822429980, 0.712626706541979350, +0.712591628479962050, 0.712556548636465340, 0.712521467011577480, 0.712486383605386080, 0.712451298417978610, 0.712416211449442670, 0.712381122699866530, 0.712346032169337450, +0.712310939857943470, 0.712275845765771630, 0.712240749892910640, 0.712205652239447760, 0.712170552805470700, 0.712135451591066950, 0.712100348596324870, 0.712065243821331960, +0.712030137266175920, 0.711995028930944240, 0.711959918815725290, 0.711924806920606560, 0.711889693245675530, 0.711854577791020460, 0.711819460556729070, 0.711784341542888940, +0.711749220749587690, 0.711714098176913670, 0.711678973824954490, 0.711643847693797850, 0.711608719783531240, 0.711573590094243150, 0.711538458626021050, 0.711503325378952890, +0.711468190353126030, 0.711433053548629070, 0.711397914965549380, 0.711362774603975010, 0.711327632463993330, 0.711292488545692820, 0.711257342849161200, 0.711222195374485830, +0.711187046121755320, 0.711151895091057250, 0.711116742282479340, 0.711081587696109410, 0.711046431332035710, 0.711011273190345960, 0.710976113271127970, 0.710940951574469460, +0.710905788100458900, 0.710870622849183790, 0.710835455820732150, 0.710800287015191600, 0.710765116432650500, 0.710729944073196780, 0.710694769936918160, 0.710659594023902330, +0.710624416334237790, 0.710589236868012120, 0.710554055625313490, 0.710518872606229370, 0.710483687810848360, 0.710448501239258180, 0.710413312891546410, 0.710378122767801660, +0.710342930868111510, 0.710307737192564130, 0.710272541741247100, 0.710237344514249140, 0.710202145511657610, 0.710166944733560790, 0.710131742180046380, 0.710096537851202750, +0.710061331747117940, 0.710026123867879780, 0.709990914213575960, 0.709955702784295210, 0.709920489580125100, 0.709885274601153800, 0.709850057847469020, 0.709814839319159450, +0.709779619016312810, 0.709744396939016700, 0.709709173087359920, 0.709673947461430310, 0.709638720061315790, 0.709603490887104060, 0.709568259938884060, 0.709533027216743380, +0.709497792720770070, 0.709462556451051940, 0.709427318407677810, 0.709392078590735390, 0.709356837000312710, 0.709321593636497720, 0.709286348499378990, 0.709251101589044360, +0.709215852905581980, 0.709180602449079770, 0.709145350219626320, 0.709110096217309360, 0.709074840442217020, 0.709039582894437800, 0.709004323574059630, 0.708969062481170640, +0.708933799615858780, 0.708898534978212650, 0.708863268568320160, 0.708828000386269590, 0.708792730432148630, 0.708757458706046120, 0.708722185208050080, 0.708686909938248450, +0.708651632896729280, 0.708616354083581370, 0.708581073498892660, 0.708545791142751070, 0.708510507015244870, 0.708475221116462550, 0.708439933446492360, 0.708404644005422250, +0.708369352793340120, 0.708334059810335040, 0.708298765056494810, 0.708263468531907250, 0.708228170236661400, 0.708192870170845200, 0.708157568334546790, 0.708122264727854110, +0.708086959350856080, 0.708051652203640640, 0.708016343286296150, 0.707981032598910430, 0.707945720141572420, 0.707910405914370040, 0.707875089917391790, 0.707839772150725470, +0.707804452614460010, 0.707769131308683350, 0.707733808233483970, 0.707698483388949700, 0.707663156775169560, 0.707627828392231480, 0.707592498240223630, 0.707557166319234820, +0.707521832629352980, 0.707486497170666690, 0.707451159943263800, 0.707415820947233210, 0.707380480182663200, 0.707345137649641910, 0.707309793348257500, 0.707274447278599010, +0.707239099440754250, 0.707203749834811820, 0.707168398460859770, 0.707133045318986910, 0.707097690409281500, 0.707062333731831800, 0.707026975286726090, 0.706991615074053170, +0.706956253093901200, 0.706920889346358330, 0.706885523831513480, 0.706850156549454820, 0.706814787500270820, 0.706779416684049530, 0.706744044100880100, 0.706708669750850450, +0.706673293634049070, 0.706637915750564230, 0.706602536100484960, 0.706567154683899300, 0.706531771500895630, 0.706496386551562440, 0.706460999835988420, 0.706425611354261960, +0.706390221106471540, 0.706354829092705190, 0.706319435313052080, 0.706284039767600460, 0.706248642456438260, 0.706213243379654960, 0.706177842537338400, 0.706142439929577260, +0.706107035556459820, 0.706071629418075000, 0.706036221514511180, 0.706000811845856720, 0.705965400412199910, 0.705929987213629980, 0.705894572250235110, 0.705859155522103770, +0.705823737029324220, 0.705788316771985610, 0.705752894750176220, 0.705717470963984630, 0.705682045413498990, 0.705646618098808580, 0.705611189020001640, 0.705575758177166780, +0.705540325570392150, 0.705504891199767000, 0.705469455065379720, 0.705434017167318350, 0.705398577505672360, 0.705363136080529920, 0.705327692891979500, 0.705292247940109700, +0.705256801225009560, 0.705221352746767340, 0.705185902505471750, 0.705150450501211170, 0.705114996734074740, 0.705079541204150840, 0.705044083911528060, 0.705008624856294790, +0.704973164038540160, 0.704937701458352770, 0.704902237115821010, 0.704866771011033450, 0.704831303144079160, 0.704795833515046710, 0.704760362124024380, 0.704724888971101300, +0.704689414056366200, 0.704653937379907450, 0.704618458941813520, 0.704582978742173790, 0.704547496781076640, 0.704512013058610660, 0.704476527574864450, 0.704441040329927160, +0.704405551323887380, 0.704370060556833600, 0.704334568028854410, 0.704299073740039080, 0.704263577690476090, 0.704228079880254150, 0.704192580309461750, 0.704157078978188130, +0.704121575886521800, 0.704086071034551340, 0.704050564422365910, 0.704015056050054100, 0.703979545917704620, 0.703944034025405950, 0.703908520373247580, 0.703873004961317880, +0.703837487789705670, 0.703801968858499440, 0.703766448167788550, 0.703730925717661600, 0.703695401508207310, 0.703659875539514260, 0.703624347811671710, 0.703588818324768380, +0.703553287078892970, 0.703517754074134080, 0.703482219310581080, 0.703446682788322560, 0.703411144507447240, 0.703375604468043810, 0.703340062670201660, 0.703304519114009490, +0.703268973799555550, 0.703233426726929570, 0.703197877896220010, 0.703162327307515710, 0.703126774960905250, 0.703091220856478240, 0.703055664994323150, 0.703020107374528910, +0.702984547997184130, 0.702948986862378280, 0.702913423970199850, 0.702877859320737990, 0.702842292914081180, 0.702806724750318800, 0.702771154829539670, 0.702735583151832710, +0.702700009717286520, 0.702664434525990590, 0.702628857578033510, 0.702593278873503980, 0.702557698412491600, 0.702522116195084980, 0.702486532221373030, 0.702450946491444460, +0.702415359005388870, 0.702379769763294860, 0.702344178765251350, 0.702308586011347160, 0.702272991501671770, 0.702237395236314010, 0.702201797215362690, 0.702166197438906510, +0.702130595907035190, 0.702094992619837430, 0.702059387577402160, 0.702023780779818090, 0.701988172227174910, 0.701952561919561240, 0.701916949857065870, 0.701881336039778540, +0.701845720467787700, 0.701810103141182750, 0.701774484060052050, 0.701738863224485640, 0.701703240634571900, 0.701667616290400090, 0.701631990192059020, 0.701596362339638180, +0.701560732733226500, 0.701525101372913020, 0.701489468258786440, 0.701453833390936480, 0.701418196769451940, 0.701382558394421870, 0.701346918265935200, 0.701311276384081420, +0.701275632748949550, 0.701239987360628200, 0.701204340219207300, 0.701168691324775440, 0.701133040677421990, 0.701097388277235560, 0.701061734124305950, 0.701026078218721980, +0.700990420560572810, 0.700954761149947370, 0.700919099986935250, 0.700883437071625370, 0.700847772404107010, 0.700812105984468750, 0.700776437812800630, 0.700740767889191480, +0.700705096213730340, 0.700669422786506120, 0.700633747607608660, 0.700598070677126870, 0.700562391995149910, 0.700526711561766600, 0.700491029377066870, 0.700455345441139520, +0.700419659754073610, 0.700383972315958720, 0.700348283126884020, 0.700312592186938530, 0.700276899496211300, 0.700241205054792150, 0.700205508862769890, 0.700169810920233890, +0.700134111227273090, 0.700098409783977300, 0.700062706590435460, 0.700027001646736920, 0.699991294952970520, 0.699955586509226290, 0.699919876315592940, 0.699884164372160060, +0.699848450679016350, 0.699812735236251760, 0.699777018043955420, 0.699741299102216270, 0.699705578411124130, 0.699669855970768030, 0.699634131781237350, 0.699598405842621010, +0.699562678155008940, 0.699526948718490190, 0.699491217533154020, 0.699455484599089570, 0.699419749916386670, 0.699384013485134350, 0.699348275305422100, 0.699312535377338840, +0.699276793700974510, 0.699241050276418140, 0.699205305103759220, 0.699169558183086790, 0.699133809514490670, 0.699098059098060110, 0.699062306933884050, 0.699026553022052520, +0.698990797362654570, 0.698955039955779680, 0.698919280801516880, 0.698883519899956230, 0.698847757251186640, 0.698811992855297830, 0.698776226712378600, 0.698740458822519230, +0.698704689185808640, 0.698668917802336310, 0.698633144672191400, 0.698597369795463940, 0.698561593172242980, 0.698525814802618110, 0.698490034686678470, 0.698454252824513900, +0.698418469216213870, 0.698382683861867530, 0.698346896761564250, 0.698311107915393970, 0.698275317323445940, 0.698239524985809320, 0.698203730902574150, 0.698167935073829680, +0.698132137499665410, 0.698096338180170470, 0.698060537115435030, 0.698024734305548230, 0.697988929750599560, 0.697953123450678280, 0.697917315405874430, 0.697881505616277380, +0.697845694081976610, 0.697809880803061170, 0.697774065779621420, 0.697738249011746530, 0.697702430499525960, 0.697666610243048990, 0.697630788242405760, 0.697594964497685650, +0.697559139008977810, 0.697523311776372390, 0.697487482799958760, 0.697451652079826400, 0.697415819616064580, 0.697379985408763560, 0.697344149458012490, 0.697308311763901180, +0.697272472326518680, 0.697236631145955240, 0.697200788222300360, 0.697164943555643510, 0.697129097146073850, 0.697093248993681860, 0.697057399098556800, 0.697021547460788150, +0.696985694080465400, 0.696949838957678590, 0.696913982092517310, 0.696878123485070720, 0.696842263135429190, 0.696806401043681970, 0.696770537209918660, 0.696734671634228750, +0.696698804316702500, 0.696662935257429280, 0.696627064456498690, 0.696591191913999990, 0.696555317630023760, 0.696519441604659280, 0.696483563837996140, 0.696447684330123720, +0.696411803081132490, 0.696375920091111710, 0.696340035360151100, 0.696304148888340140, 0.696268260675769080, 0.696232370722527420, 0.696196479028704520, 0.696160585594390650, +0.696124690419675400, 0.696088793504648470, 0.696052894849399140, 0.696016994454017880, 0.695981092318594170, 0.695945188443217730, 0.695909282827978040, 0.695873375472965460, +0.695837466378269380, 0.695801555543979710, 0.695765642970185730, 0.695729728656978020, 0.695693812604445960, 0.695657894812679480, 0.695621975281767830, 0.695586054011801620, +0.695550131002870220, 0.695514206255063550, 0.695478279768470990, 0.695442351543183120, 0.695406421579289220, 0.695370489876879110, 0.695334556436043030, 0.695298621256870590, +0.695262684339451600, 0.695226745683875550, 0.695190805290232920, 0.695154863158613300, 0.695118919289106520, 0.695082973681802160, 0.695047026336790720, 0.695011077254161670, +0.694975126434004940, 0.694939173876410020, 0.694903219581467500, 0.694867263549266980, 0.694831305779898270, 0.694795346273450960, 0.694759385030015660, 0.694723422049681850, +0.694687457332539230, 0.694651490878678170, 0.694615522688188490, 0.694579552761159900, 0.694543581097682220, 0.694507607697845810, 0.694471632561740490, 0.694435655689455980, +0.694399677081082080, 0.694363696736709280, 0.694327714656427290, 0.694291730840325920, 0.694255745288494990, 0.694219758001024980, 0.694183768978005490, 0.694147778219526670, +0.694111785725678110, 0.694075791496550410, 0.694039795532233160, 0.694003797832816180, 0.693967798398389960, 0.693931797229044300, 0.693895794324869030, 0.693859789685954080, +0.693823783312389920, 0.693787775204266380, 0.693751765361673380, 0.693715753784700520, 0.693679740473438720, 0.693643725427977480, 0.693607708648407040, 0.693571690134816900, +0.693535669887297870, 0.693499647905939760, 0.693463624190832410, 0.693427598742065830, 0.693391571559730410, 0.693355542643916190, 0.693319511994712980, 0.693283479612210820, +0.693247445496500190, 0.693211409647670920, 0.693175372065812920, 0.693139332751016690, 0.693103291703372150, 0.693067248922969450, 0.693031204409898290, 0.692995158164249390, +0.692959110186112670, 0.692923060475578060, 0.692887009032735590, 0.692850955857675870, 0.692814900950488810, 0.692778844311264350, 0.692742785940092640, 0.692706725837064160, +0.692670664002268950, 0.692634600435797050, 0.692598535137738390, 0.692562468108183560, 0.692526399347222710, 0.692490328854945440, 0.692454256631442670, 0.692418182676804330, +0.692382106991120460, 0.692346029574481100, 0.692309950426976960, 0.692273869548697850, 0.692237786939734150, 0.692201702600175660, 0.692165616530113210, 0.692129528729636730, +0.692093439198836370, 0.692057347937802160, 0.692021254946624920, 0.691985160225394470, 0.691949063774201180, 0.691912965593134870, 0.691876865682286570, 0.691840764041745990, +0.691804660671603180, 0.691768555571949050, 0.691732448742873540, 0.691696340184467020, 0.691660229896819190, 0.691624117880021090, 0.691588004134162770, 0.691551888659334480, +0.691515771455626040, 0.691479652523128600, 0.691443531861931970, 0.691407409472126530, 0.691371285353802210, 0.691335159507050050, 0.691299031931959960, 0.691262902628622220, +0.691226771597126980, 0.691190638837565150, 0.691154504350026680, 0.691118368134601700, 0.691082230191381040, 0.691046090520454850, 0.691009949121913380, 0.690973805995846790, +0.690937661142345890, 0.690901514561500950, 0.690865366253402220, 0.690829216218139750, 0.690793064455804460, 0.690756910966486610, 0.690720755750276470, 0.690684598807264070, +0.690648440137540560, 0.690612279741195990, 0.690576117618320610, 0.690539953769004680, 0.690503788193339130, 0.690467620891414220, 0.690431451863320110, 0.690395281109147160, +0.690359108628986310, 0.690322934422927580, 0.690286758491061360, 0.690250580833478460, 0.690214401450269130, 0.690178220341523870, 0.690142037507332610, 0.690105852947786590, +0.690069666662976090, 0.690033478652991250, 0.689997288917922450, 0.689961097457860830, 0.689924904272896430, 0.689888709363119630, 0.689852512728620910, 0.689816314369491200, +0.689780114285820640, 0.689743912477699840, 0.689707708945218930, 0.689671503688469080, 0.689635296707540420, 0.689599088002523230, 0.689562877573508650, 0.689526665420586830, +0.689490451543848470, 0.689454235943383510, 0.689418018619283310, 0.689381799571638140, 0.689345578800538480, 0.689309356306074480, 0.689273132088337400, 0.689236906147417510, +0.689200678483405380, 0.689164449096391300, 0.689128217986466280, 0.689091985153720720, 0.689055750598245310, 0.689019514320130200, 0.688983276319466540, 0.688947036596344710, +0.688910795150854960, 0.688874551983088560, 0.688838307093135760, 0.688802060481087270, 0.688765812147033250, 0.688729562091065060, 0.688693310313272860, 0.688657056813747560, +0.688620801592579100, 0.688584544649859080, 0.688548285985677630, 0.688512025600125590, 0.688475763493292980, 0.688439499665271400, 0.688403234116151120, 0.688366966846022610, +0.688330697854976470, 0.688294427143103850, 0.688258154710495230, 0.688221880557241210, 0.688185604683432150, 0.688149327089159320, 0.688113047774513320, 0.688076766739584290, +0.688040483984463710, 0.688004199509241850, 0.687967913314009530, 0.687931625398857110, 0.687895335763875960, 0.687859044409156460, 0.687822751334789320, 0.687786456540865010, +0.687750160027474910, 0.687713861794709390, 0.687677561842659160, 0.687641260171414800, 0.687604956781067480, 0.687568651671707890, 0.687532344843426620, 0.687496036296314170, +0.687459726030461900, 0.687423414045960410, 0.687387100342900070, 0.687350784921372250, 0.687314467781467430, 0.687278148923276540, 0.687241828346889850, 0.687205506052398940, +0.687169182039894300, 0.687132856309466740, 0.687096528861206650, 0.687060199695205600, 0.687023868811553970, 0.686987536210342810, 0.686951201891662370, 0.686914865855604240, +0.686878528102259020, 0.686842188631717420, 0.686805847444070140, 0.686769504539408440, 0.686733159917823020, 0.686696813579404370, 0.686660465524244090, 0.686624115752432540, +0.686587764264060760, 0.686551411059219240, 0.686515056137999460, 0.686478699500492010, 0.686442341146787930, 0.686405981076977590, 0.686369619291152700, 0.686333255789403740, +0.686296890571821640, 0.686260523638496880, 0.686224154989521270, 0.686187784624985200, 0.686151412544979690, 0.686115038749595340, 0.686078663238923750, 0.686042286013055390, +0.686005907072081420, 0.685969526416092320, 0.685933144045179690, 0.685896759959434330, 0.685860374158946630, 0.685823986643808280, 0.685787597414110110, 0.685751206469942810, +0.685714813811397320, 0.685678419438565000, 0.685642023351536570, 0.685605625550403270, 0.685569226035255500, 0.685532824806184940, 0.685496421863282300, 0.685460017206638740, +0.685423610836344730, 0.685387202752491990, 0.685350792955171210, 0.685314381444473540, 0.685277968220489590, 0.685241553283310930, 0.685205136633028510, 0.685168718269732910, +0.685132298193515840, 0.685095876404468010, 0.685059452902680440, 0.685023027688243970, 0.684986600761250290, 0.684950172121789990, 0.684913741769954340, 0.684877309705834050, +0.684840875929520700, 0.684804440441105220, 0.684768003240678660, 0.684731564328331820, 0.684695123704156310, 0.684658681368242930, 0.684622237320682950, 0.684585791561566960, +0.684549344090986890, 0.684512894909033550, 0.684476444015797550, 0.684439991411370690, 0.684403537095843890, 0.684367081069308330, 0.684330623331854680, 0.684294163883574890, +0.684257702724559550, 0.684221239854900020, 0.684184775274687020, 0.684148308984012470, 0.684111840982967180, 0.684075371271642200, 0.684038899850128560, 0.684002426718517850, +0.683965951876901230, 0.683929475325369630, 0.683892997064014070, 0.683856517092926270, 0.683820035412197270, 0.683783552021917760, 0.683747066922179790, 0.683710580113074170, +0.683674091594691950, 0.683637601367124370, 0.683601109430462930, 0.683564615784798880, 0.683528120430223150, 0.683491623366826890, 0.683455124594701810, 0.683418624113939050, +0.683382121924629660, 0.683345618026864550, 0.683309112420735780, 0.683272605106334250, 0.683236096083751240, 0.683199585353077680, 0.683163072914405370, 0.683126558767825460, +0.683090042913429120, 0.683053525351307370, 0.683017006081552140, 0.682980485104254350, 0.682943962419505060, 0.682907438027396290, 0.682870911928018740, 0.682834384121464020, +0.682797854607822940, 0.682761323387187650, 0.682724790459648960, 0.682688255825298350, 0.682651719484226760, 0.682615181436526220, 0.682578641682287660, 0.682542100221602550, +0.682505557054561840, 0.682469012181257550, 0.682432465601780840, 0.682395917316222840, 0.682359367324674730, 0.682322815627228520, 0.682286262223975370, 0.682249707115006210, +0.682213150300412960, 0.682176591780287000, 0.682140031554719580, 0.682103469623801640, 0.682066905987625430, 0.682030340646281870, 0.681993773599862570, 0.681957204848458450, +0.681920634392161660, 0.681884062231063240, 0.681847488365254770, 0.681810912794827080, 0.681774335519872540, 0.681737756540482190, 0.681701175856747390, 0.681664593468759410, +0.681628009376610170, 0.681591423580390930, 0.681554836080192850, 0.681518246876107960, 0.681481655968227520, 0.681445063356642900, 0.681408469041445250, 0.681371873022726840, +0.681335275300578690, 0.681298675875092410, 0.681262074746359030, 0.681225471914470800, 0.681188867379519000, 0.681152261141594880, 0.681115653200789820, 0.681079043557196060, +0.681042432210904660, 0.681005819162007090, 0.680969204410594720, 0.680932587956759590, 0.680895969800593080, 0.680859349942186550, 0.680822728381631380, 0.680786105119019710, +0.680749480154442810, 0.680712853487991820, 0.680676225119759120, 0.680639595049835730, 0.680602963278313490, 0.680566329805283420, 0.680529694630837900, 0.680493057755068080, +0.680456419178065650, 0.680419778899921890, 0.680383136920728940, 0.680346493240578170, 0.680309847859561170, 0.680273200777769200, 0.680236551995294650, 0.680199901512228640, +0.680163249328662900, 0.680126595444688680, 0.680089939860398340, 0.680053282575883160, 0.680016623591234380, 0.679979962906544390, 0.679943300521904550, 0.679906636437406340, +0.679869970653141360, 0.679833303169201650, 0.679796633985678800, 0.679759963102664290, 0.679723290520249600, 0.679686616238526890, 0.679649940257587740, 0.679613262577523750, +0.679576583198426290, 0.679539902120387620, 0.679503219343499220, 0.679466534867852800, 0.679429848693539730, 0.679393160820652380, 0.679356471249282000, 0.679319779979520200, +0.679283087011459340, 0.679246392345190690, 0.679209695980806050, 0.679172997918396910, 0.679136298158055540, 0.679099596699873410, 0.679062893543942340, 0.679026188690353690, +0.678989482139199960, 0.678952773890572400, 0.678916063944562940, 0.678879352301263060, 0.678842638960765130, 0.678805923923160530, 0.678769207188541170, 0.678732488756998430, +0.678695768628624800, 0.678659046803511750, 0.678622323281750760, 0.678585598063434330, 0.678548871148653810, 0.678512142537501250, 0.678475412230067910, 0.678438680226446380, +0.678401946526728140, 0.678365211131005120, 0.678328474039368690, 0.678291735251911330, 0.678254994768724640, 0.678218252589900540, 0.678181508715530510, 0.678144763145706930, +0.678108015880521500, 0.678071266920066030, 0.678034516264432120, 0.677997763913712140, 0.677961009867997790, 0.677924254127381000, 0.677887496691953140, 0.677850737561806920, +0.677813976737033810, 0.677777214217725410, 0.677740450003974430, 0.677703684095872230, 0.677666916493510850, 0.677630147196981780, 0.677593376206377720, 0.677556603521790260, +0.677519829143311210, 0.677483053071032290, 0.677446275305046090, 0.677409495845444190, 0.677372714692318630, 0.677335931845760800, 0.677299147305863600, 0.677262361072718530, +0.677225573146417400, 0.677188783527052250, 0.677151992214715340, 0.677115199209498360, 0.677078404511493150, 0.677041608120792280, 0.677004810037487360, 0.676968010261670420, +0.676931208793433160, 0.676894405632868070, 0.676857600780067070, 0.676820794235122090, 0.676783985998124840, 0.676747176069167790, 0.676710364448342980, 0.676673551135742120, +0.676636736131457140, 0.676599919435580620, 0.676563101048204270, 0.676526280969420140, 0.676489459199320020, 0.676452635737996630, 0.676415810585541680, 0.676378983742046750, +0.676342155207604770, 0.676305324982307330, 0.676268493066246700, 0.676231659459514470, 0.676194824162203330, 0.676157987174405230, 0.676121148496212080, 0.676084308127715810, +0.676047466069009010, 0.676010622320183610, 0.675973776881331640, 0.675936929752544930, 0.675900080933916180, 0.675863230425537200, 0.675826378227500250, 0.675789524339896920, +0.675752668762820140, 0.675715811496361730, 0.675678952540613830, 0.675642091895668040, 0.675605229561617500, 0.675568365538553820, 0.675531499826569020, 0.675494632425755690, +0.675457763336205770, 0.675420892558011410, 0.675384020091264640, 0.675347145936058050, 0.675310270092483570, 0.675273392560633460, 0.675236513340599530, 0.675199632432474610, +0.675162749836350720, 0.675125865552319790, 0.675088979580473980, 0.675052091920905980, 0.675015202573707840, 0.674978311538971700, 0.674941418816789370, 0.674904524407253790, +0.674867628310456990, 0.674830730526490790, 0.674793831055448100, 0.674756929897420750, 0.674720027052501110, 0.674683122520781110, 0.674646216302353660, 0.674609308397310590, +0.674572398805744270, 0.674535487527746720, 0.674498574563410670, 0.674461659912828140, 0.674424743576091500, 0.674387825553292800, 0.674350905844524730, 0.674313984449879440, +0.674277061369449200, 0.674240136603325930, 0.674203210151602670, 0.674166282014371450, 0.674129352191724100, 0.674092420683753750, 0.674055487490552330, 0.674018552612212220, +0.673981616048825340, 0.673944677800484840, 0.673907737867282640, 0.673870796249311010, 0.673833852946662090, 0.673796907959428930, 0.673759961287703430, 0.673723012931577990, +0.673686062891144740, 0.673649111166496730, 0.673612157757725870, 0.673575202664924650, 0.673538245888185010, 0.673501287427600180, 0.673464327283262110, 0.673427365455262830, +0.673390401943695590, 0.673353436748652220, 0.673316469870225310, 0.673279501308506890, 0.673242531063590110, 0.673205559135566900, 0.673168585524529850, 0.673131610230571000, +0.673094633253783380, 0.673057654594259260, 0.673020674252091000, 0.672983692227370760, 0.672946708520191560, 0.672909723130645570, 0.672872736058825360, 0.672835747304822870, +0.672798756868731470, 0.672761764750643090, 0.672724770950650310, 0.672687775468845280, 0.672650778305321160, 0.672613779460170090, 0.672576778933484220, 0.672539776725356700, +0.672502772835879780, 0.672465767265145950, 0.672428760013247250, 0.672391751080277160, 0.672354740466327590, 0.672317728171491160, 0.672280714195860110, 0.672243698539527590, +0.672206681202585870, 0.672169662185127410, 0.672132641487244500, 0.672095619109030260, 0.672058595050576970, 0.672021569311977320, 0.671984541893323240, 0.671947512794708210, +0.671910482016224500, 0.671873449557964130, 0.671836415420020480, 0.671799379602485810, 0.671762342105452710, 0.671725302929013330, 0.671688262073261160, 0.671651219538288210, +0.671614175324187320, 0.671577129431050630, 0.671540081858971400, 0.671503032608042010, 0.671465981678355030, 0.671428929070002730, 0.671391874783078490, 0.671354818817674560, +0.671317761173883530, 0.671280701851797890, 0.671243640851510670, 0.671206578173114470, 0.671169513816701420, 0.671132447782364920, 0.671095380070197310, 0.671058310680291310, +0.671021239612739070, 0.670984166867634180, 0.670947092445068890, 0.670910016345135810, 0.670872938567927400, 0.670835859113536940, 0.670798777982056780, 0.670761695173579750, +0.670724610688198110, 0.670687524526005330, 0.670650436687093680, 0.670613347171555960, 0.670576255979484560, 0.670539163110972840, 0.670502068566113160, 0.670464972344998470, +0.670427874447720900, 0.670390774874373930, 0.670353673625050050, 0.670316570699841740, 0.670279466098842260, 0.670242359822144080, 0.670205251869840040, 0.670168142242022590, +0.670131030938785120, 0.670093917960220000, 0.670056803306420150, 0.670019686977477820, 0.669982568973486740, 0.669945449294539250, 0.669908327940728080, 0.669871204912145800, +0.669834080208885800, 0.669796953831040650, 0.669759825778703080, 0.669722696051965550, 0.669685564650921660, 0.669648431575663890, 0.669611296826284730, 0.669574160402877540, +0.669537022305535130, 0.669499882534350000, 0.669462741089414950, 0.669425597970823350, 0.669388453178667690, 0.669351306713040990, 0.669314158574035640, 0.669277008761745230, +0.669239857276262230, 0.669202704117679680, 0.669165549286090070, 0.669128392781586760, 0.669091234604262670, 0.669054074754210410, 0.669016913231522570, 0.668979750036292840, +0.668942585168613710, 0.668905418628577770, 0.668868250416278620, 0.668831080531808840, 0.668793908975261480, 0.668756735746728890, 0.668719560846304790, 0.668682384274081890, +0.668645206030152870, 0.668608026114610680, 0.668570844527548670, 0.668533661269059550, 0.668496476339236260, 0.668459289738171480, 0.668422101465958820, 0.668384911522690860, +0.668347719908460650, 0.668310526623360770, 0.668273331667484930, 0.668236135040925830, 0.668198936743775950, 0.668161736776129110, 0.668124535138077900, 0.668087331829715360, +0.668050126851134190, 0.668012920202428080, 0.667975711883689540, 0.667938501895011800, 0.667901290236487480, 0.667864076908210260, 0.667826861910272850, 0.667789645242768290, +0.667752426905789290, 0.667715206899429540, 0.667677985223781740, 0.667640761878939060, 0.667603536864994070, 0.667566310182040600, 0.667529081830171340, 0.667491851809479340, +0.667454620120057520, 0.667417386761999350, 0.667380151735397660, 0.667342915040345370, 0.667305676676936080, 0.667268436645262700, 0.667231194945418160, 0.667193951577495280, +0.667156706541587870, 0.667119459837788640, 0.667082211466190840, 0.667044961426887180, 0.667007709719971360, 0.666970456345536310, 0.666933201303675170, 0.666895944594480650, +0.666858686218046560, 0.666821426174465830, 0.666784164463831490, 0.666746901086236470, 0.666709636041774470, 0.666672369330538420, 0.666635100952621020, 0.666597830908116310, +0.666560559197116990, 0.666523285819716320, 0.666486010776007000, 0.666448734066083070, 0.666411455690037240, 0.666374175647962750, 0.666336893939952550, 0.666299610566100430, +0.666262325526499330, 0.666225038821242400, 0.666187750450422560, 0.666150460414133620, 0.666113168712468510, 0.666075875345520490, 0.666038580313382480, 0.666001283616148300, +0.665963985253910980, 0.665926685226763350, 0.665889383534799320, 0.665852080178111820, 0.665814775156794210, 0.665777468470939220, 0.665740160120640970, 0.665702850105992280, +0.665665538427086420, 0.665628225084016420, 0.665590910076876210, 0.665553593405758810, 0.665516275070757280, 0.665478955071964750, 0.665441633409475260, 0.665404310083381630, +0.665366985093777230, 0.665329658440754980, 0.665292330124408910, 0.665255000144832080, 0.665217668502117830, 0.665180335196358890, 0.665143000227649610, 0.665105663596082700, +0.665068325301751420, 0.665030985344749580, 0.664993643725170220, 0.664956300443106940, 0.664918955498652430, 0.664881608891900840, 0.664844260622945330, 0.664806910691879140, +0.664769559098795320, 0.664732205843787890, 0.664694850926950020, 0.664657494348374960, 0.664620136108155850, 0.664582776206386840, 0.664545414643160750, 0.664508051418571170, +0.664470686532711130, 0.664433319985674790, 0.664395951777555060, 0.664358581908445100, 0.664321210378439050, 0.664283837187629960, 0.664246462336111290, 0.664209085823976090, +0.664171707651318610, 0.664134327818231780, 0.664096946324809200, 0.664059563171143900, 0.664022178357329910, 0.663984791883460600, 0.663947403749629240, 0.663910013955929080, +0.663872622502454270, 0.663835229389297840, 0.663797834616553280, 0.663760438184313850, 0.663723040092673690, 0.663685640341725950, 0.663648238931563660, 0.663610835862281200, +0.663573431133971710, 0.663536024746728570, 0.663498616700645030, 0.663461206995815230, 0.663423795632332450, 0.663386382610290260, 0.663348967929781710, 0.663311551590901050, +0.663274133593741540, 0.663236713938396670, 0.663199292624959800, 0.663161869653524970, 0.663124445024185330, 0.663087018737034790, 0.663049590792166190, 0.663012161189674100, +0.662974729929651450, 0.662937297012191730, 0.662899862437389080, 0.662862426205336860, 0.662824988316128460, 0.662787548769857350, 0.662750107566617560, 0.662712664706502700, +0.662675220189606010, 0.662637774016020980, 0.662600326185841860, 0.662562876699162030, 0.662525425556074850, 0.662487972756673820, 0.662450518301053280, 0.662413062189306290, +0.662375604421526760, 0.662338144997807850, 0.662300683918243930, 0.662263221182928240, 0.662225756791954610, 0.662188290745416190, 0.662150823043407330, 0.662113353686021420, +0.662075882673351820, 0.662038410005492910, 0.662000935682537930, 0.661963459704580590, 0.661925982071714270, 0.661888502784033330, 0.661851021841631140, 0.661813539244601400, +0.661776054993037490, 0.661738569087033770, 0.661701081526683610, 0.661663592312080720, 0.661626101443318570, 0.661588608920491540, 0.661551114743692880, 0.661513618913016520, +0.661476121428555720, 0.661438622290404950, 0.661401121498657710, 0.661363619053407240, 0.661326114954748020, 0.661288609202773660, 0.661251101797577730, 0.661213592739253620, +0.661176082027895910, 0.661138569663597960, 0.661101055646453720, 0.661063539976556420, 0.661026022654000570, 0.660988503678879740, 0.660950983051287630, 0.660913460771317630, +0.660875936839064430, 0.660838411254621390, 0.660800884018082240, 0.660763355129540650, 0.660725824589090900, 0.660688292396826580, 0.660650758552841280, 0.660613223057229360, +0.660575685910084420, 0.660538147111500270, 0.660500606661570400, 0.660463064560389390, 0.660425520808050610, 0.660387975404648110, 0.660350428350275350, 0.660312879645026830, +0.660275329288996130, 0.660237777282277060, 0.660200223624963220, 0.660162668317149200, 0.660125111358928480, 0.660087552750394990, 0.660049992491642310, 0.660012430582764930, +0.659974867023856550, 0.659937301815010980, 0.659899734956321820, 0.659862166447883540, 0.659824596289789960, 0.659787024482134550, 0.659749451025011920, 0.659711875918515540, +0.659674299162739560, 0.659636720757777570, 0.659599140703724050, 0.659561559000672700, 0.659523975648717450, 0.659486390647951890, 0.659448803998470720, 0.659411215700367540, +0.659373625753736260, 0.659336034158670590, 0.659298440915265240, 0.659260846023613790, 0.659223249483810170, 0.659185651295948080, 0.659148051460122230, 0.659110449976426320, +0.659072846844953820, 0.659035242065799660, 0.658997635639057330, 0.658960027564820860, 0.658922417843184060, 0.658884806474241520, 0.658847193458086950, 0.658809578794814500, +0.658771962484517640, 0.658734344527291290, 0.658696724923229060, 0.658659103672424970, 0.658621480774972850, 0.658583856230967380, 0.658546230040502170, 0.658508602203671470, +0.658470972720568870, 0.658433341591289190, 0.658395708815926240, 0.658358074394573610, 0.658320438327326120, 0.658282800614277570, 0.658245161255522020, 0.658207520251153140, +0.658169877601265880, 0.658132233305953940, 0.658094587365311350, 0.658056939779432030, 0.658019290548410680, 0.657981639672341020, 0.657943987151317410, 0.657906332985433330, +0.657868677174783920, 0.657831019719462670, 0.657793360619563950, 0.657755699875181450, 0.657718037486410110, 0.657680373453343630, 0.657642707776075920, 0.657605040454701690, +0.657567371489314880, 0.657529700880009730, 0.657492028626879940, 0.657454354730020450, 0.657416679189524960, 0.657379002005487820, 0.657341323178002870, 0.657303642707165010, +0.657265960593067970, 0.657228276835805980, 0.657190591435473090, 0.657152904392163890, 0.657115215705972530, 0.657077525376993150, 0.657039833405319570, 0.657002139791046820, +0.656964444534268610, 0.656926747635079410, 0.656889049093572930, 0.656851348909844200, 0.656813647083987040, 0.656775943616095480, 0.656738238506264340, 0.656700531754587650, +0.656662823361159660, 0.656625113326074210, 0.656587401649426420, 0.656549688331310000, 0.656511973371819440, 0.656474256771048540, 0.656436538529092340, 0.656398818646044880, +0.656361097122000300, 0.656323373957052650, 0.656285649151296950, 0.656247922704827120, 0.656210194617737440, 0.656172464890121930, 0.656134733522075630, 0.656097000513692460, +0.656059265865066470, 0.656021529576292670, 0.655983791647465010, 0.655946052078677950, 0.655908310870025320, 0.655870568021602370, 0.655832823533502920, 0.655795077405821440, +0.655757329638651850, 0.655719580232089320, 0.655681829186227860, 0.655644076501161850, 0.655606322176985330, 0.655568566213793220, 0.655530808611679780, 0.655493049370739380, +0.655455288491065930, 0.655417525972754600, 0.655379761815899520, 0.655341996020594620, 0.655304228586935040, 0.655266459515014940, 0.655228688804928790, 0.655190916456770410, +0.655153142470635160, 0.655115366846617090, 0.655077589584810550, 0.655039810685309700, 0.655002030148209680, 0.654964247973604640, 0.654926464161588840, 0.654888678712256640, +0.654850891625703090, 0.654813102902022210, 0.654775312541308720, 0.654737520543656530, 0.654699726909160900, 0.654661931637915860, 0.654624134730016130, 0.654586336185555620, +0.654548536004629700, 0.654510734187332410, 0.654472930733757900, 0.654435125644001410, 0.654397318918157110, 0.654359510556319580, 0.654321700558582850, 0.654283888925042300, +0.654246075655791960, 0.654208260750926420, 0.654170444210539940, 0.654132626034727660, 0.654094806223583850, 0.654056984777202980, 0.654019161695679310, 0.653981336979108100, +0.653943510627583490, 0.653905682641200190, 0.653867853020052240, 0.653830021764235100, 0.653792188873842830, 0.653754354348969780, 0.653716518189711220, 0.653678680396161280, +0.653640840968414680, 0.653602999906565670, 0.653565157210709510, 0.653527312880940460, 0.653489466917352990, 0.653451619320041700, 0.653413770089101620, 0.653375919224627120, +0.653338066726712800, 0.653300212595453010, 0.653262356830943030, 0.653224499433277090, 0.653186640402549920, 0.653148779738855880, 0.653110917442290220, 0.653073053512947200, +0.653035187950921300, 0.652997320756307680, 0.652959451929200800, 0.652921581469695260, 0.652883709377885420, 0.652845835653866670, 0.652807960297733360, 0.652770083309580080, +0.652732204689501330, 0.652694324437592450, 0.652656442553947610, 0.652618559038661730, 0.652580673891829170, 0.652542787113545190, 0.652504898703904270, 0.652467008663001110, +0.652429116990930090, 0.652391223687786680, 0.652353328753665140, 0.652315432188659950, 0.652277533992866480, 0.652239634166379200, 0.652201732709292830, 0.652163829621701830, +0.652125924903701580, 0.652088018555386450, 0.652050110576851360, 0.652012200968190570, 0.651974289729499670, 0.651936376860873130, 0.651898462362405560, 0.651860546234191430, +0.651822628476326440, 0.651784709088904730, 0.651746788072021350, 0.651708865425770560, 0.651670941150248040, 0.651633015245548060, 0.651595087711765660, 0.651557158548995100, +0.651519227757332060, 0.651481295336870940, 0.651443361287706190, 0.651405425609933420, 0.651367488303647100, 0.651329549368942050, 0.651291608805912750, 0.651253666614654780, +0.651215722795262630, 0.651177777347831220, 0.651139830272455030, 0.651101881569229550, 0.651063931238249460, 0.651025979279609480, 0.650988025693404190, 0.650950070479729190, +0.650912113638679070, 0.650874155170348630, 0.650836195074832480, 0.650798233352226090, 0.650760270002624150, 0.650722305026121270, 0.650684338422812920, 0.650646370192793700, +0.650608400336158630, 0.650570428853002090, 0.650532455743420000, 0.650494481007506620, 0.650456504645357090, 0.650418526657066010, 0.650380547042728850, 0.650342565802440430, +0.650304582936295450, 0.650266598444388830, 0.650228612326815950, 0.650190624583671610, 0.650152635215050620, 0.650114644221047810, 0.650076651601758650, 0.650038657357277950, +0.650000661487700190, 0.649962663993121080, 0.649924664873635430, 0.649886664129338040, 0.649848661760323630, 0.649810657766688000, 0.649772652148525640, 0.649734644905931690, +0.649696636039000740, 0.649658625547828610, 0.649620613432509870, 0.649582599693139580, 0.649544584329812550, 0.649506567342624240, 0.649468548731669590, 0.649430528497043640, +0.649392506638840960, 0.649354483157157380, 0.649316458052087600, 0.649278431323726530, 0.649240402972169230, 0.649202372997511160, 0.649164341399847240, 0.649126308179272080, +0.649088273335881480, 0.649050236869770150, 0.649012198781033330, 0.648974159069765630, 0.648936117736062860, 0.648898074780019820, 0.648860030201731550, 0.648821984001292870, +0.648783936178799590, 0.648745886734346520, 0.648707835668028700, 0.648669782979940930, 0.648631728670179040, 0.648593672738837830, 0.648555615186012460, 0.648517556011797720, +0.648479495216289340, 0.648441432799582330, 0.648403368761771400, 0.648365303102952370, 0.648327235823220050, 0.648289166922669580, 0.648251096401396000, 0.648213024259494900, +0.648174950497061310, 0.648136875114190270, 0.648098798110976810, 0.648060719487516650, 0.648022639243904690, 0.647984557380236080, 0.647946473896605760, 0.647908388793109640, +0.647870302069842530, 0.647832213726899590, 0.647794123764375840, 0.647756032182367210, 0.647717938980968410, 0.647679844160274350, 0.647641747720381080, 0.647603649661383510, +0.647565549983376790, 0.647527448686455840, 0.647489345770716600, 0.647451241236253970, 0.647413135083163230, 0.647375027311539400, 0.647336917921478290, 0.647298806913074840, +0.647260694286424410, 0.647222580041621920, 0.647184464178763300, 0.647146346697943580, 0.647108227599257900, 0.647070106882801310, 0.647031984548669840, 0.646993860596958400, +0.646955735027762050, 0.646917607841176580, 0.646879479037297140, 0.646841348616219000, 0.646803216578037190, 0.646765082922847620, 0.646726947650745340, 0.646688810761825720, +0.646650672256183780, 0.646612532133915340, 0.646574390395115770, 0.646536247039880110, 0.646498102068303490, 0.646459955480481960, 0.646421807276510550, 0.646383657456484630, +0.646345506020499230, 0.646307352968650490, 0.646269198301033240, 0.646231042017743060, 0.646192884118874880, 0.646154724604524830, 0.646116563474788070, 0.646078400729759420, +0.646040236369535230, 0.646002070394210430, 0.645963902803880390, 0.645925733598640250, 0.645887562778586170, 0.645849390343813170, 0.645811216294416730, 0.645773040630491790, +0.645734863352134700, 0.645696684459440400, 0.645658503952504460, 0.645620321831421820, 0.645582138096288840, 0.645543952747200440, 0.645505765784252120, 0.645467577207539110, +0.645429387017157460, 0.645391195213202320, 0.645353001795768930, 0.645314806764953340, 0.645276610120850690, 0.645238411863556570, 0.645200211993166130, 0.645162010509775400, +0.645123807413479630, 0.645085602704374430, 0.645047396382554820, 0.645009188448117170, 0.644970978901156400, 0.644932767741768220, 0.644894554970047880, 0.644856340586091430, +0.644818124589994100, 0.644779906981851390, 0.644741687761758660, 0.644703466929812060, 0.644665244486106850, 0.644627020430738050, 0.644588794763802150, 0.644550567485394190, +0.644512338595609860, 0.644474108094544420, 0.644435875982293900, 0.644397642258953800, 0.644359406924619460, 0.644321169979386380, 0.644282931423350690, 0.644244691256607660, +0.644206449479252980, 0.644168206091381700, 0.644129961093090400, 0.644091714484474000, 0.644053466265628430, 0.644015216436648830, 0.643976964997631570, 0.643938711948671920, +0.643900457289865450, 0.643862201021307420, 0.643823943143094320, 0.643785683655321410, 0.643747422558083810, 0.643709159851478140, 0.643670895535599420, 0.643632629610543570, +0.643594362076405750, 0.643556092933282420, 0.643517822181268850, 0.643479549820460740, 0.643441275850953340, 0.643403000272843140, 0.643364723086225390, 0.643326444291195900, +0.643288163887849930, 0.643249881876283850, 0.643211598256593130, 0.643173313028873370, 0.643135026193220050, 0.643096737749729530, 0.643058447698497070, 0.643020156039618150, +0.642981862773189250, 0.642943567899305620, 0.642905271418063080, 0.642866973329557110, 0.642828673633883960, 0.642790372331139110, 0.642752069421418380, 0.642713764904817130, +0.642675458781431840, 0.642637151051357880, 0.642598841714691060, 0.642560530771526750, 0.642522218221961430, 0.642483904066090680, 0.642445588304010110, 0.642407270935815180, +0.642368951961602490, 0.642330631381467290, 0.642292309195505280, 0.642253985403812840, 0.642215660006485440, 0.642177333003618900, 0.642139004395308580, 0.642100674181651180, +0.642062342362742070, 0.642024008938677060, 0.641985673909551750, 0.641947337275462600, 0.641908999036505110, 0.641870659192775080, 0.641832317744368110, 0.641793974691380660, +0.641755630033908340, 0.641717283772046840, 0.641678935905891870, 0.641640586435539890, 0.641602235361086400, 0.641563882682627320, 0.641525528400258230, 0.641487172514075610, +0.641448815024175060, 0.641410455930652160, 0.641372095233603500, 0.641333732933124570, 0.641295369029311280, 0.641257003522259340, 0.641218636412065110, 0.641180267698824300, +0.641141897382632830, 0.641103525463586290, 0.641065151941781370, 0.641026776817313460, 0.640988400090278580, 0.640950021760772430, 0.640911641828891600, 0.640873260294731570, +0.640834877158388380, 0.640796492419957730, 0.640758106079536200, 0.640719718137219400, 0.640681328593102890, 0.640642937447283400, 0.640604544699856620, 0.640566150350918460, +0.640527754400564640, 0.640489356848891740, 0.640450957695995470, 0.640412556941971740, 0.640374154586916270, 0.640335750630925850, 0.640297345074095970, 0.640258937916522770, +0.640220529158301850, 0.640182118799530020, 0.640143706840302860, 0.640105293280716410, 0.640066878120866380, 0.640028461360849450, 0.639990043000761450, 0.639951623040697970, +0.639913201480755810, 0.639874778321030570, 0.639836353561618500, 0.639797927202615080, 0.639759499244117350, 0.639721069686220670, 0.639682638529021410, 0.639644205772615270, +0.639605771417098850, 0.639567335462568050, 0.639528897909118930, 0.639490458756847180, 0.639452018005849720, 0.639413575656222140, 0.639375131708060600, 0.639336686161460890, +0.639298239016519830, 0.639259790273333240, 0.639221339931996700, 0.639182887992607250, 0.639144434455260590, 0.639105979320052750, 0.639067522587079660, 0.639029064256438240, +0.638990604328223970, 0.638952142802533320, 0.638913679679461890, 0.638875214959106600, 0.638836748641563370, 0.638798280726928120, 0.638759811215296900, 0.638721340106766510, +0.638682867401432760, 0.638644393099391920, 0.638605917200739670, 0.638567439705572950, 0.638528960613987670, 0.638490479926079990, 0.638451997641945710, 0.638413513761681870, +0.638375028285384170, 0.638336541213148530, 0.638298052545071990, 0.638259562281250250, 0.638221070421779670, 0.638182576966755950, 0.638144081916276250, 0.638105585270436260, +0.638067087029332350, 0.638028587193060440, 0.637990085761717340, 0.637951582735398980, 0.637913078114201730, 0.637874571898221390, 0.637836064087555000, 0.637797554682298480, +0.637759043682547990, 0.637720531088399660, 0.637682016899950190, 0.637643501117295840, 0.637604983740532320, 0.637566464769756650, 0.637527944205064870, 0.637489422046553230, +0.637450898294317670, 0.637412372948455210, 0.637373846009061880, 0.637335317476233840, 0.637296787350067230, 0.637258255630658970, 0.637219722318105090, 0.637181187412501850, +0.637142650913945290, 0.637104112822532540, 0.637065573138359430, 0.637027031861522430, 0.636988488992117460, 0.636949944530241670, 0.636911398475990990, 0.636872850829461430, +0.636834301590750160, 0.636795750759953090, 0.636757198337166710, 0.636718644322486930, 0.636680088716010890, 0.636641531517834650, 0.636602972728054550, 0.636564412346766640, +0.636525850374068170, 0.636487286810054950, 0.636448721654823580, 0.636410154908470080, 0.636371586571091500, 0.636333016642783970, 0.636294445123643860, 0.636255872013767320, +0.636217297313251380, 0.636178721022192310, 0.636140143140686340, 0.636101563668829750, 0.636062982606719560, 0.636024399954451920, 0.635985815712122870, 0.635947229879829660, +0.635908642457668430, 0.635870053445735550, 0.635831462844127280, 0.635792870652940540, 0.635754276872271710, 0.635715681502217240, 0.635677084542873190, 0.635638485994336700, +0.635599885856704020, 0.635561284130071740, 0.635522680814535780, 0.635484075910193510, 0.635445469417140970, 0.635406861335474860, 0.635368251665291210, 0.635329640406687270, +0.635291027559759300, 0.635252413124603340, 0.635213797101316760, 0.635175179489995580, 0.635136560290736510, 0.635097939503635690, 0.635059317128790380, 0.635020693166296830, +0.634982067616251420, 0.634943440478750620, 0.634904811753891460, 0.634866181441770430, 0.634827549542483770, 0.634788916056127970, 0.634750280982800170, 0.634711644322596750, +0.634673006075614170, 0.634634366241948800, 0.634595724821697790, 0.634557081814957400, 0.634518437221824110, 0.634479791042394940, 0.634441143276766370, 0.634402493925035000, +0.634363842987296980, 0.634325190463649660, 0.634286536354189410, 0.634247880659012830, 0.634209223378216170, 0.634170564511896790, 0.634131904060150960, 0.634093242023075490, +0.634054578400766510, 0.634015913193321400, 0.633977246400836520, 0.633938578023408580, 0.633899908061133830, 0.633861236514109640, 0.633822563382432370, 0.633783888666198280, +0.633745212365504850, 0.633706534480448450, 0.633667855011125660, 0.633629173957632850, 0.633590491320067510, 0.633551807098525990, 0.633513121293104890, 0.633474433903900680, +0.633435744931010620, 0.633397054374531310, 0.633358362234559320, 0.633319668511191040, 0.633280973204524030, 0.633242276314654570, 0.633203577841679350, 0.633164877785694860, +0.633126176146798560, 0.633087472925086820, 0.633048768120656360, 0.633010061733603640, 0.632971353764026130, 0.632932644212020220, 0.632893933077682380, 0.632855220361109970, +0.632816506062399590, 0.632777790181648040, 0.632739072718951470, 0.632700353674407690, 0.632661633048112960, 0.632622910840164200, 0.632584187050657780, 0.632545461679691280, +0.632506734727361080, 0.632468006193764090, 0.632429276078996680, 0.632390544383156450, 0.632351811106339870, 0.632313076248643750, 0.632274339810164680, 0.632235601791000020, +0.632196862191246380, 0.632158121011000220, 0.632119378250359130, 0.632080633909419490, 0.632041887988278430, 0.632003140487032210, 0.631964391405778540, 0.631925640744613770, +0.631886888503635060, 0.631848134682938660, 0.631809379282622260, 0.631770622302782470, 0.631731863743516200, 0.631693103604919810, 0.631654341887091020, 0.631615578590126400, +0.631576813714122890, 0.631538047259176950, 0.631499279225386180, 0.631460509612847280, 0.631421738421656720, 0.631382965651912210, 0.631344191303710220, 0.631305415377147790, +0.631266637872321510, 0.631227858789328970, 0.631189078128266750, 0.631150295889231770, 0.631111512072320860, 0.631072726677631370, 0.631033939705260230, 0.630995151155304130, +0.630956361027859790, 0.630917569323024900, 0.630878776040896150, 0.630839981181570360, 0.630801184745144350, 0.630762386731715700, 0.630723587141381100, 0.630684785974237490, +0.630645983230381680, 0.630607178909911140, 0.630568373012922680, 0.630529565539513000, 0.630490756489779700, 0.630451945863819470, 0.630413133661729460, 0.630374319883606260, +0.630335504529547560, 0.630296687599650070, 0.630257869094010940, 0.630219049012726740, 0.630180227355895290, 0.630141404123613300, 0.630102579315977680, 0.630063752933085360, +0.630024924975034040, 0.629986095441920410, 0.629947264333841410, 0.629908431650894050, 0.629869597393175830, 0.629830761560783770, 0.629791924153814350, 0.629753085172365500, +0.629714244616533910, 0.629675402486416740, 0.629636558782110670, 0.629597713503713630, 0.629558866651322210, 0.629520018225033670, 0.629481168224944710, 0.629442316651153240, +0.629403463503755980, 0.629364608782850050, 0.629325752488532180, 0.629286894620900370, 0.629248035180051240, 0.629209174166082020, 0.629170311579089650, 0.629131447419171710, +0.629092581686425230, 0.629053714380946930, 0.629014845502834600, 0.628975975052185280, 0.628937103029096000, 0.628898229433663580, 0.628859354265985940, 0.628820477526159880, +0.628781599214282670, 0.628742719330451120, 0.628703837874763140, 0.628664954847315550, 0.628626070248205600, 0.628587184077530110, 0.628548296335387000, 0.628509407021873080, +0.628470516137085710, 0.628431623681121710, 0.628392729654079000, 0.628353834056054380, 0.628314936887144900, 0.628276038147448480, 0.628237137837061920, 0.628198235956082480, +0.628159332504607090, 0.628120427482733780, 0.628081520890559350, 0.628042612728181180, 0.628003702995696080, 0.627964791693202070, 0.627925878820796090, 0.627886964378575390, +0.627848048366636990, 0.627809130785078830, 0.627770211633997710, 0.627731290913491220, 0.627692368623656070, 0.627653444764590400, 0.627614519336391010, 0.627575592339155390, +0.627536663772980450, 0.627497733637964240, 0.627458801934203670, 0.627419868661795670, 0.627380933820838370, 0.627341997411428820, 0.627303059433664270, 0.627264119887641640, +0.627225178773459070, 0.627186236091213600, 0.627147291841002490, 0.627108346022922870, 0.627069398637072670, 0.627030449683549040, 0.626991499162449230, 0.626952547073870380, +0.626913593417910420, 0.626874638194666600, 0.626835681404236070, 0.626796723046716080, 0.626757763122204550, 0.626718801630798630, 0.626679838572595350, 0.626640873947692860, +0.626601907756188180, 0.626562939998178690, 0.626523970673761530, 0.626484999783034850, 0.626446027326095670, 0.626407053303041360, 0.626368077713969070, 0.626329100558976950, +0.626290121838162020, 0.626251141551621870, 0.626212159699453430, 0.626173176281755060, 0.626134191298623690, 0.626095204750156790, 0.626056216636451610, 0.626017226957606200, +0.625978235713717690, 0.625939242904883340, 0.625900248531201080, 0.625861252592768370, 0.625822255089682480, 0.625783256022040550, 0.625744255389940830, 0.625705253193480470, +0.625666249432757060, 0.625627244107867630, 0.625588237218910330, 0.625549228765982620, 0.625510218749181670, 0.625471207168604940, 0.625432194024350570, 0.625393179316515610, +0.625354163045197750, 0.625315145210494140, 0.625276125812503030, 0.625237104851321560, 0.625198082327047320, 0.625159058239777580, 0.625120032589610460, 0.625081005376643350, +0.625041976600973380, 0.625002946262698810, 0.624963914361916780, 0.624924880898725110, 0.624885845873220820, 0.624846809285502180, 0.624807771135666660, 0.624768731423811620, +0.624729690150034430, 0.624690647314433360, 0.624651602917105640, 0.624612556958148990, 0.624573509437660550, 0.624534460355738670, 0.624495409712480740, 0.624456357507984120, +0.624417303742346390, 0.624378248415665690, 0.624339191528039410, 0.624300133079564780, 0.624261073070340180, 0.624222011500462860, 0.624182948370030520, 0.624143883679140530, +0.624104817427891030, 0.624065749616379620, 0.624026680244703760, 0.623987609312960930, 0.623948536821249400, 0.623909462769666520, 0.623870387158310000, 0.623831309987277090, +0.623792231256666270, 0.623753150966574910, 0.623714069117100700, 0.623674985708340900, 0.623635900740394100, 0.623596814213357440, 0.623557726127328400, 0.623518636482405460, +0.623479545278685880, 0.623440452516267450, 0.623401358195247560, 0.623362262315724560, 0.623323164877795930, 0.623284065881559490, 0.623244965327112380, 0.623205863214553290, +0.623166759543979490, 0.623127654315488890, 0.623088547529178750, 0.623049439185147550, 0.623010329283492760, 0.622971217824312200, 0.622932104807703220, 0.622892990233764320, +0.622853874102592960, 0.622814756414286630, 0.622775637168943690, 0.622736516366661610, 0.622697394007538320, 0.622658270091671180, 0.622619144619158680, 0.622580017590098290, +0.622540889004587930, 0.622501758862724960, 0.622462627164607980, 0.622423493910334360, 0.622384359100002120, 0.622345222733708510, 0.622306084811552250, 0.622266945333630810, +0.622227804300041990, 0.622188661710883270, 0.622149517566253250, 0.622110371866249400, 0.622071224610969750, 0.622032075800511560, 0.621992925434973640, 0.621953773514453360, +0.621914620039048180, 0.621875465008856930, 0.621836308423977080, 0.621797150284506330, 0.621757990590542380, 0.621718829342183810, 0.621679666539528220, 0.621640502182673420, +0.621601336271716990, 0.621562168806757630, 0.621522999787892830, 0.621483829215220500, 0.621444657088838230, 0.621405483408844720, 0.621366308175337560, 0.621327131388414560, +0.621287953048173300, 0.621248773154712610, 0.621209591708129950, 0.621170408708523030, 0.621131224155990310, 0.621092038050629620, 0.621052850392538770, 0.621013661181815560, +0.620974470418558470, 0.620935278102865200, 0.620896084234833780, 0.620856888814561690, 0.620817691842147860, 0.620778493317689750, 0.620739293241285410, 0.620700091613032410, +0.620660888433029690, 0.620621683701374600, 0.620582477418165410, 0.620543269583499590, 0.620504060197475950, 0.620464849260192190, 0.620425636771746000, 0.620386422732235990, +0.620347207141759950, 0.620307990000415920, 0.620268771308301600, 0.620229551065515690, 0.620190329272155780, 0.620151105928320230, 0.620111881034106420, 0.620072654589613360, +0.620033426594938540, 0.619994197050180220, 0.619954965955436090, 0.619915733310804850, 0.619876499116384320, 0.619837263372272520, 0.619798026078567150, 0.619758787235367150, +0.619719546842770200, 0.619680304900874330, 0.619641061409777370, 0.619601816369578120, 0.619562569780374270, 0.619523321642263650, 0.619484071955345160, 0.619444820719716400, +0.619405567935475630, 0.619366313602720540, 0.619327057721550060, 0.619287800292061990, 0.619248541314354360, 0.619209280788525000, 0.619170018714672810, 0.619130755092895610, +0.619091489923291550, 0.619052223205958320, 0.619012954940994950, 0.618973685128499150, 0.618934413768569170, 0.618895140861302820, 0.618855866406798900, 0.618816590405155350, +0.618777312856469970, 0.618738033760841690, 0.618698753118368310, 0.618659470929148080, 0.618620187193278710, 0.618580901910859350, 0.618541615081987680, 0.618502326706761970, +0.618463036785280140, 0.618423745317640990, 0.618384452303942460, 0.618345157744282890, 0.618305861638760000, 0.618266563987472930, 0.618227264790519370, 0.618187964047997580, +0.618148661760005600, 0.618109357926642340, 0.618070052548005620, 0.618030745624193470, 0.617991437155304800, 0.617952127141437550, 0.617912815582689960, 0.617873502479159950, +0.617834187830946570, 0.617794871638147720, 0.617755553900861680, 0.617716234619186460, 0.617676913793220870, 0.617637591423063180, 0.617598267508811420, 0.617558942050563610, +0.617519615048418790, 0.617480286502475000, 0.617440956412830480, 0.617401624779583160, 0.617362291602832180, 0.617322956882675470, 0.617283620619210940, 0.617244282812537850, +0.617204943462753900, 0.617165602569957670, 0.617126260134247100, 0.617086916155721200, 0.617047570634478020, 0.617008223570615910, 0.616968874964232920, 0.616929524815428070, +0.616890173124299390, 0.616850819890945370, 0.616811465115463810, 0.616772108797954080, 0.616732750938513980, 0.616693391537242010, 0.616654030594236290, 0.616614668109595750, +0.616575304083418540, 0.616535938515803130, 0.616496571406847440, 0.616457202756650720, 0.616417832565311020, 0.616378460832926360, 0.616339087559595990, 0.616299712745417730, +0.616260336390490380, 0.616220958494911650, 0.616181579058781010, 0.616142198082196390, 0.616102815565256260, 0.616063431508058650, 0.616024045910702920, 0.615984658773287120, +0.615945270095909600, 0.615905879878668520, 0.615866488121663220, 0.615827094824991540, 0.615787699988752270, 0.615748303613043340, 0.615708905697963990, 0.615669506243612390, +0.615630105250086660, 0.615590702717485950, 0.615551298645908630, 0.615511893035452950, 0.615472485886217170, 0.615433077198300650, 0.615393666971801310, 0.615354255206817860, +0.615314841903448430, 0.615275427061792280, 0.615236010681947550, 0.615196592764012730, 0.615157173308086060, 0.615117752314266910, 0.615078329782653310, 0.615038905713343960, +0.614999480106436900, 0.614960052962031490, 0.614920624280226090, 0.614881194061118630, 0.614841762304808580, 0.614802329011394090, 0.614762894180973850, 0.614723457813646010, +0.614684019909509830, 0.614644580468663660, 0.614605139491205990, 0.614565696977235180, 0.614526252926850370, 0.614486807340150040, 0.614447360217232670, 0.614407911558196520, +0.614368461363140940, 0.614329009632164190, 0.614289556365364970, 0.614250101562841430, 0.614210645224693040, 0.614171187351018060, 0.614131727941915060, 0.614092266997482430, +0.614052804517819520, 0.614013340503024470, 0.613973874953195890, 0.613934407868432790, 0.613894939248833760, 0.613855469094497400, 0.613815997405522060, 0.613776524182007010, +0.613737049424050610, 0.613697573131751660, 0.613658095305208430, 0.613618615944520270, 0.613579135049785560, 0.613539652621102990, 0.613500168658571040, 0.613460683162288970, +0.613421196132355240, 0.613381707568868450, 0.613342217471926960, 0.613302725841630480, 0.613263232678077030, 0.613223737981365200, 0.613184241751594360, 0.613144743988862980, +0.613105244693269660, 0.613065743864912970, 0.613026241503892180, 0.612986737610305750, 0.612947232184252620, 0.612907725225830920, 0.612868216735140360, 0.612828706712279180, +0.612789195157346310, 0.612749682070440000, 0.612710167451659960, 0.612670651301104430, 0.612631133618872340, 0.612591614405061930, 0.612552093659772920, 0.612512571383103670, +0.612473047575152640, 0.612433522236019320, 0.612393995365802300, 0.612354466964600160, 0.612314937032511610, 0.612275405569636000, 0.612235872576071930, 0.612196338051918090, +0.612156801997273070, 0.612117264412236460, 0.612077725296906630, 0.612038184651382490, 0.611998642475762630, 0.611959098770146430, 0.611919553534632450, 0.611880006769319640, +0.611840458474306460, 0.611800908649692500, 0.611761357295576240, 0.611721804412056260, 0.611682249999232150, 0.611642694057202400, 0.611603136586065800, 0.611563577585921170, +0.611524017056867870, 0.611484454999004500, 0.611444891412429970, 0.611405326297242980, 0.611365759653542900, 0.611326191481428530, 0.611286621780998680, 0.611247050552351840, +0.611207477795587710, 0.611167903510804970, 0.611128327698102440, 0.611088750357578810, 0.611049171489333580, 0.611009591093465420, 0.610970009170073270, 0.610930425719255710, +0.610890840741112550, 0.610851254235742270, 0.610811666203243450, 0.610772076643715800, 0.610732485557258010, 0.610692892943969000, 0.610653298803947360, 0.610613703137292910, +0.610574105944104110, 0.610534507224480110, 0.610494906978519490, 0.610455305206321850, 0.610415701907986110, 0.610376097083610960, 0.610336490733295320, 0.610296882857138790, +0.610257273455240060, 0.610217662527698050, 0.610178050074611680, 0.610138436096080430, 0.610098820592203110, 0.610059203563078410, 0.610019585008806040, 0.609979964929484700, +0.609940343325213520, 0.609900720196091100, 0.609861095542217120, 0.609821469363690530, 0.609781841660610220, 0.609742212433074910, 0.609702581681184520, 0.609662949405037620, +0.609623315604733370, 0.609583680280370470, 0.609544043432048600, 0.609504405059866810, 0.609464765163923890, 0.609425123744318790, 0.609385480801151180, 0.609345836334519890, +0.609306190344523600, 0.609266542831262250, 0.609226893794834520, 0.609187243235339570, 0.609147591152876090, 0.609107937547544110, 0.609068282419442220, 0.609028625768669560, +0.608988967595325060, 0.608949307899508520, 0.608909646681318640, 0.608869983940854680, 0.608830319678215440, 0.608790653893500730, 0.608750986586809370, 0.608711317758240500, +0.608671647407893040, 0.608631975535866790, 0.608592302142260680, 0.608552627227173740, 0.608512950790704890, 0.608473272832954050, 0.608433593354019920, 0.608393912354001530, +0.608354229832998690, 0.608314545791110330, 0.608274860228435580, 0.608235173145073360, 0.608195484541123490, 0.608155794416684990, 0.608116102771856900, 0.608076409606738260, +0.608036714921428970, 0.607997018716027850, 0.607957320990634150, 0.607917621745346910, 0.607877920980265940, 0.607838218695490040, 0.607798514891118690, 0.607758809567250700, +0.607719102723986100, 0.607679394361423600, 0.607639684479662430, 0.607599973078802310, 0.607560260158942270, 0.607520545720181550, 0.607480829762619080, 0.607441112286355000, +0.607401393291488010, 0.607361672778117590, 0.607321950746342760, 0.607282227196263240, 0.607242502127978260, 0.607202775541586970, 0.607163047437188410, 0.607123317814882490, +0.607083586674768360, 0.607043854016945270, 0.607004119841512150, 0.606964384148569120, 0.606924646938215130, 0.606884908210549190, 0.606845167965671340, 0.606805426203680500, +0.606765682924676140, 0.606725938128757190, 0.606686191816023790, 0.606646443986574970, 0.606606694640509870, 0.606566943777927860, 0.606527191398928740, 0.606487437503611670, +0.606447682092076000, 0.606407925164420770, 0.606368166720746000, 0.606328406761150960, 0.606288645285734780, 0.606248882294596720, 0.606209117787836820, 0.606169351765553980, +0.606129584227847570, 0.606089815174817530, 0.606050044606562870, 0.606010272523183180, 0.605970498924777390, 0.605930723811445750, 0.605890947183287290, 0.605851169040401480, +0.605811389382887370, 0.605771608210845080, 0.605731825524373880, 0.605692041323573020, 0.605652255608541750, 0.605612468379380210, 0.605572679636187550, 0.605532889379063130, +0.605493097608106100, 0.605453304323416710, 0.605413509525094100, 0.605373713213237630, 0.605333915387946560, 0.605294116049321040, 0.605254315197460310, 0.605214512832463410, +0.605174708954430600, 0.605134903563460890, 0.605095096659654000, 0.605055288243109060, 0.605015478313926210, 0.604975666872204720, 0.604935853918043940, 0.604896039451543240, +0.604856223472802880, 0.604816405981921880, 0.604776586978999830, 0.604736766464135990, 0.604696944437430610, 0.604657120898982820, 0.604617295848892340, 0.604577469287258200, +0.604537641214180630, 0.604497811629759130, 0.604457980534092610, 0.604418147927281660, 0.604378313809425190, 0.604338478180622920, 0.604298641040974190, 0.604258802390579160, +0.604218962229537190, 0.604179120557947760, 0.604139277375910220, 0.604099432683524840, 0.604059586480890860, 0.604019738768107880, 0.603979889545275260, 0.603940038812493140, +0.603900186569861110, 0.603860332817478530, 0.603820477555444660, 0.603780620783860080, 0.603740762502823940, 0.603700902712435480, 0.603661041412795200, 0.603621178604002220, +0.603581314286156360, 0.603541448459356870, 0.603501581123704110, 0.603461712279297350, 0.603421841926236270, 0.603381970064620350, 0.603342096694549750, 0.603302221816124030, +0.603262345429442680, 0.603222467534605070, 0.603182588131711770, 0.603142707220861940, 0.603102824802155270, 0.603062940875691230, 0.603023055441570200, 0.602983168499891530, +0.602943280050754930, 0.602903390094259860, 0.602863498630506590, 0.602823605659594590, 0.602783711181623220, 0.602743815196692960, 0.602703917704903060, 0.602664018706353440, +0.602624118201143370, 0.602584216189373410, 0.602544312671142950, 0.602504407646551670, 0.602464501115698940, 0.602424593078685460, 0.602384683535610370, 0.602344772486573590, +0.602304859931674600, 0.602264945871013760, 0.602225030304690550, 0.602185113232804770, 0.602145194655455910, 0.602105274572744320, 0.602065352984769600, 0.602025429891631100, +0.601985505293429420, 0.601945579190264040, 0.601905651582234640, 0.601865722469440700, 0.601825791851982930, 0.601785859729960570, 0.601745926103473660, 0.601705990972621560, +0.601666054337504750, 0.601626116198222820, 0.601586176554875670, 0.601546235407562690, 0.601506292756384560, 0.601466348601440550, 0.601426402942830780, 0.601386455780654640, +0.601346507115012700, 0.601306556946004430, 0.601266605273729440, 0.601226652098288290, 0.601186697419780590, 0.601146741238306030, 0.601106783553964410, 0.601066824366856100, +0.601026863677080690, 0.600986901484738210, 0.600946937789928030, 0.600906972592750940, 0.600867005893306330, 0.600827037691694210, 0.600787067988014290, 0.600747096782366930, +0.600707124074851830, 0.600667149865568910, 0.600627174154617860, 0.600587196942099170, 0.600547218228112410, 0.600507238012757290, 0.600467256296134510, 0.600427273078343540, +0.600387288359484410, 0.600347302139656700, 0.600307314418961010, 0.600267325197497150, 0.600227334475364920, 0.600187342252664010, 0.600147348529495030, 0.600107353305957770, +0.600067356582152040, 0.600027358358177660, 0.599987358634135210, 0.599947357410124390, 0.599907354686245120, 0.599867350462597090, 0.599827344739281120, 0.599787337516396680, +0.599747328794044020, 0.599707318572322620, 0.599667306851333290, 0.599627293631175730, 0.599587278911949520, 0.599547262693755470, 0.599507244976693280, 0.599467225760862980, +0.599427205046364260, 0.599387182833297840, 0.599347159121763510, 0.599307133911861300, 0.599267107203690920, 0.599227078997353060, 0.599187049292947530, 0.599147018090574360, +0.599106985390333360, 0.599066951192325230, 0.599026915496649660, 0.598986878303406800, 0.598946839612696460, 0.598906799424619330, 0.598866757739275220, 0.598826714556763840, +0.598786669877185980, 0.598746623700641580, 0.598706576027230540, 0.598666526857052680, 0.598626476190208920, 0.598586424026798960, 0.598546370366922930, 0.598506315210680540, +0.598466258558172810, 0.598426200409499450, 0.598386140764760490, 0.598346079624055950, 0.598306016987486420, 0.598265952855151940, 0.598225887227152640, 0.598185820103588120, +0.598145751484559510, 0.598105681370166510, 0.598065609760508930, 0.598025536655687700, 0.597985462055802610, 0.597945385960953810, 0.597905308371241230, 0.597865229286765780, +0.597825148707627260, 0.597785066633925830, 0.597744983065761400, 0.597704898003234790, 0.597664811446446010, 0.597624723395495220, 0.597584633850482220, 0.597544542811508040, +0.597504450278672490, 0.597464356252075720, 0.597424260731817870, 0.597384163717999630, 0.597344065210720920, 0.597303965210082110, 0.597263863716183120, 0.597223760729124640, +0.597183656249006930, 0.597143550275929580, 0.597103442809993830, 0.597063333851299390, 0.597023223399946730, 0.596983111456035550, 0.596942998019666990, 0.596902883090940860, +0.596862766669957630, 0.596822648756817120, 0.596782529351620240, 0.596742408454467130, 0.596702286065457940, 0.596662162184692700, 0.596622036812272440, 0.596581909948297070, +0.596541781592866970, 0.596501651746081940, 0.596461520408043230, 0.596421387578850770, 0.596381253258604360, 0.596341117447405260, 0.596300980145353380, 0.596260841352548980, +0.596220701069092080, 0.596180559295083960, 0.596140416030624290, 0.596100271275813660, 0.596060125030751900, 0.596019977295540240, 0.595979828070278720, 0.595939677355067480, +0.595899525150006770, 0.595859371455197630, 0.595819216270739970, 0.595779059596734380, 0.595738901433280680, 0.595698741780480210, 0.595658580638432800, 0.595618418007238580, +0.595578253886998700, 0.595538088277813180, 0.595497921179782400, 0.595457752593006480, 0.595417582517586590, 0.595377410953622620, 0.595337237901215290, 0.595297063360464400, +0.595256887331471200, 0.595216709814335830, 0.595176530809158670, 0.595136350316039840, 0.595096168335080500, 0.595055984866380670, 0.595015799910040940, 0.594975613466161350, +0.594935425534843020, 0.594895236116186220, 0.594855045210291310, 0.594814852817258320, 0.594774658937188730, 0.594734463570182340, 0.594694266716339510, 0.594654068375761400, +0.594613868548548030, 0.594573667234800100, 0.594533464434617520, 0.594493260148101780, 0.594453054375352790, 0.594412847116471130, 0.594372638371557070, 0.594332428140711740, +0.594292216424035400, 0.594252003221628520, 0.594211788533591130, 0.594171572360024710, 0.594131354701029400, 0.594091135556705670, 0.594050914927153780, 0.594010692812474980, +0.593970469212769410, 0.593930244128137220, 0.593890017558679870, 0.593849789504497520, 0.593809559965690630, 0.593769328942359450, 0.593729096434605360, 0.593688862442528500, +0.593648626966229550, 0.593608390005808560, 0.593568151561367000, 0.593527911633005110, 0.593487670220823380, 0.593447427324922170, 0.593407182945402730, 0.593366937082365320, +0.593326689735910630, 0.593286440906138800, 0.593246190593151200, 0.593205938797048190, 0.593165685517929920, 0.593125430755897850, 0.593085174511052140, 0.593044916783493580, +0.593004657573322320, 0.592964396880639730, 0.592924134705546170, 0.592883871048142330, 0.592843605908528360, 0.592803339286805840, 0.592763071183074920, 0.592722801597436290, +0.592682530529990310, 0.592642257980838360, 0.592601983950080900, 0.592561708437818300, 0.592521431444151150, 0.592481152969180800, 0.592440873013007520, 0.592400591575731660, +0.592360308657454810, 0.592320024258277120, 0.592279738378299390, 0.592239451017621880, 0.592199162176346160, 0.592158871854572500, 0.592118580052401700, 0.592078286769934130, +0.592037992007271140, 0.591997695764513110, 0.591957398041760950, 0.591917098839114920, 0.591876798156676490, 0.591836495994546020, 0.591796192352824320, 0.591755887231611880, +0.591715580631009930, 0.591675272551119180, 0.591634962992040100, 0.591594651953873400, 0.591554339436720310, 0.591514025440681430, 0.591473709965857130, 0.591433393012348870, +0.591393074580257250, 0.591352754669682850, 0.591312433280726140, 0.591272110413488820, 0.591231786068071140, 0.591191460244574030, 0.591151132943097960, 0.591110804163744400, +0.591070473906613710, 0.591030142171806940, 0.590989808959424550, 0.590949474269567790, 0.590909138102337470, 0.590868800457834300, 0.590828461336158740, 0.590788120737412380, +0.590747778661695810, 0.590707435109109280, 0.590667090079754600, 0.590626743573732240, 0.590586395591143010, 0.590546046132087390, 0.590505695196666960, 0.590465342784982420, +0.590424988897134460, 0.590384633533223680, 0.590344276693351660, 0.590303918377618860, 0.590263558586126450, 0.590223197318974660, 0.590182834576265300, 0.590142470358098750, +0.590102104664576130, 0.590061737495797820, 0.590021368851865620, 0.589980998732879900, 0.589940627138941350, 0.589900254070151680, 0.589859879526611230, 0.589819503508421160, +0.589779126015681940, 0.589738747048495380, 0.589698366606961840, 0.589657984691182360, 0.589617601301257620, 0.589577216437289220, 0.589536830099377740, 0.589496442287624320, +0.589456053002129330, 0.589415662242994580, 0.589375270010320640, 0.589334876304208550, 0.589294481124758910, 0.589254084472073500, 0.589213686346252820, 0.589173286747397880, +0.589132885675609400, 0.589092483130989050, 0.589052079113637550, 0.589011673623655470, 0.588971266661144520, 0.588930858226205390, 0.588890448318939220, 0.588850036939446490, +0.588809624087829000, 0.588769209764187560, 0.588728793968622990, 0.588688376701236080, 0.588647957962128650, 0.588607537751401290, 0.588567116069155130, 0.588526692915490760, +0.588486268290510100, 0.588445842194313730, 0.588405414627002690, 0.588364985588677780, 0.588324555079440810, 0.588284123099392490, 0.588243689648633380, 0.588203254727265530, +0.588162818335389410, 0.588122380473106390, 0.588081941140516930, 0.588041500337723070, 0.588001058064825390, 0.587960614321925150, 0.587920169109122930, 0.587879722426520650, +0.587839274274219110, 0.587798824652319360, 0.587758373560922200, 0.587717921000129540, 0.587677466970041970, 0.587637011470760750, 0.587596554502386680, 0.587556096065021570, +0.587515636158766230, 0.587475174783721350, 0.587434711939988970, 0.587394247627669900, 0.587353781846865040, 0.587313314597675440, 0.587272845880202900, 0.587232375694548340, +0.587191904040812670, 0.587151430919097050, 0.587110956329503160, 0.587070480272131820, 0.587030002747084280, 0.586989523754461450, 0.586949043294365150, 0.586908561366896180, +0.586868077972155900, 0.586827593110245020, 0.586787106781265440, 0.586746618985318210, 0.586706129722504020, 0.586665638992924900, 0.586625146796681650, 0.586584653133875530, +0.586544158004607460, 0.586503661408979250, 0.586463163347092030, 0.586422663819046840, 0.586382162824944600, 0.586341660364887330, 0.586301156438975850, 0.586260651047311620, +0.586220144189995240, 0.586179635867128960, 0.586139126078813580, 0.586098614825150470, 0.586058102106240320, 0.586017587922185390, 0.585977072273086370, 0.585936555159044750, +0.585896036580161320, 0.585855516536538220, 0.585814995028276390, 0.585774472055476610, 0.585733947618241050, 0.585693421716670600, 0.585652894350866540, 0.585612365520929990, +0.585571835226962770, 0.585531303469066120, 0.585490770247341090, 0.585450235561888800, 0.585409699412811290, 0.585369161800209590, 0.585328622724184840, 0.585288082184838300, +0.585247540182271870, 0.585206996716586600, 0.585166451787883850, 0.585125905396264630, 0.585085357541831000, 0.585044808224683850, 0.585004257444924460, 0.584963705202654730, +0.584923151497975800, 0.584882596330988940, 0.584842039701795270, 0.584801481610496720, 0.584760922057194650, 0.584720361041990210, 0.584679798564984420, 0.584639234626279650, +0.584598669225976700, 0.584558102364177050, 0.584517534040981830, 0.584476964256493090, 0.584436393010812070, 0.584395820304039910, 0.584355246136277980, 0.584314670507628200, +0.584274093418191810, 0.584233514868069740, 0.584192934857364230, 0.584152353386176440, 0.584111770454607830, 0.584071186062759320, 0.584030600210733280, 0.583990012898630730, +0.583949424126553150, 0.583908833894601580, 0.583868242202878360, 0.583827649051484540, 0.583787054440521590, 0.583746458370090540, 0.583705860840293860, 0.583665261851232460, +0.583624661403007840, 0.583584059495721340, 0.583543456129475000, 0.583502851304369960, 0.583462245020507810, 0.583421637277989680, 0.583381028076917940, 0.583340417417393510, +0.583299805299517750, 0.583259191723392690, 0.583218576689119810, 0.583177960196800460, 0.583137342246535790, 0.583096722838428170, 0.583056101972578730, 0.583015479649089060, +0.582974855868060300, 0.582934230629594710, 0.582893603933793640, 0.582852975780758560, 0.582812346170590630, 0.582771715103392210, 0.582731082579264430, 0.582690448598309100, +0.582649813160627140, 0.582609176266321030, 0.582568537915492010, 0.582527898108241350, 0.582487256844671290, 0.582446614124882970, 0.582405969948978200, 0.582365324317058120, +0.582324677229225210, 0.582284028685580490, 0.582243378686225670, 0.582202727231262100, 0.582162074320792030, 0.582121419954916840, 0.582080764133738100, 0.582040106857356960, +0.581999448125876010, 0.581958787939396480, 0.581918126298019980, 0.581877463201847740, 0.581836798650982260, 0.581796132645524660, 0.581755465185576530, 0.581714796271240010, +0.581674125902616470, 0.581633454079807710, 0.581592780802914880, 0.581552106072040440, 0.581511429887285880, 0.581470752248752550, 0.581430073156542160, 0.581389392610756840, +0.581348710611498070, 0.581308027158867540, 0.581267342252966500, 0.581226655893897550, 0.581185968081761930, 0.581145278816661340, 0.581104588098697250, 0.581063895927972030, +0.581023202304587150, 0.580982507228643860, 0.580941810700244640, 0.580901112719490850, 0.580860413286484300, 0.580819712401326350, 0.580779010064119580, 0.580738306274965250, +0.580697601033965060, 0.580656894341220590, 0.580616186196834190, 0.580575476600907360, 0.580534765553541890, 0.580494053054839030, 0.580453339104901490, 0.580412623703830620, +0.580371906851728130, 0.580331188548695480, 0.580290468794835260, 0.580249747590248940, 0.580209024935038120, 0.580168300829304480, 0.580127575273150400, 0.580086848266677450, +0.580046119809986880, 0.580005389903181510, 0.579964658546362590, 0.579923925739632030, 0.579883191483091310, 0.579842455776843010, 0.579801718620988500, 0.579760980015629700, +0.579720239960868080, 0.579679498456806330, 0.579638755503545710, 0.579598011101188250, 0.579557265249835420, 0.579516517949589800, 0.579475769200552880, 0.579435019002826460, +0.579394267356512230, 0.579353514261712670, 0.579312759718529250, 0.579272003727063670, 0.579231246287418400, 0.579190487399695030, 0.579149727063995370, 0.579108965280421110, +0.579068202049074720, 0.579027437370057910, 0.578986671243472470, 0.578945903669420000, 0.578905134648003080, 0.578864364179323410, 0.578823592263482790, 0.578782818900582810, +0.578742044090726160, 0.578701267834014430, 0.578660490130549540, 0.578619710980432970, 0.578578930383767620, 0.578538148340654870, 0.578497364851196290, 0.578456579915494820, +0.578415793533651800, 0.578375005705769380, 0.578334216431949040, 0.578293425712293470, 0.578252633546904370, 0.578211839935883760, 0.578171044879333130, 0.578130248377355160, +0.578089450430051670, 0.578048651037524560, 0.578007850199875440, 0.577967047917207100, 0.577926244189621130, 0.577885439017219450, 0.577844632400103860, 0.577803824338377070, +0.577763014832140760, 0.577722203881496870, 0.577681391486547180, 0.577640577647394290, 0.577599762364139900, 0.577558945636885810, 0.577518127465734830, 0.577477307850788320, +0.577436486792148650, 0.577395664289917400, 0.577354840344197370, 0.577314014955090270, 0.577273188122698010, 0.577232359847122510, 0.577191530128466470, 0.577150698966831580, +0.577109866362319980, 0.577069032315033260, 0.577028196825074450, 0.576987359892545020, 0.576946521517547330, 0.576905681700182860, 0.576864840440554530, 0.576823997738764250, +0.576783153594913500, 0.576742308009105200, 0.576701460981441150, 0.576660612512023500, 0.576619762600953930, 0.576578911248335380, 0.576538058454269420, 0.576497204218858420, +0.576456348542203960, 0.576415491424409070, 0.576374632865575440, 0.576333772865805230, 0.576292911425200230, 0.576252048543863250, 0.576211184221896210, 0.576170318459401140, +0.576129451256479960, 0.576088582613235590, 0.576047712529769610, 0.576006841006184160, 0.575965968042581820, 0.575925093639064630, 0.575884217795734730, 0.575843340512693810, +0.575802461790045020, 0.575761581627890040, 0.575720700026331130, 0.575679816985469990, 0.575638932505409760, 0.575598046586252240, 0.575557159228099580, 0.575516270431053580, +0.575475380195217380, 0.575434488520692680, 0.575393595407581730, 0.575352700855986440, 0.575311804866009860, 0.575270907437753660, 0.575230008571319780, 0.575189108266811360, +0.575148206524330070, 0.575107303343978420, 0.575066398725857960, 0.575025492670071970, 0.574984585176722240, 0.574943676245911030, 0.574902765877740360, 0.574861854072313050, +0.574820940829731120, 0.574780026150096820, 0.574739110033512080, 0.574698192480079920, 0.574657273489902360, 0.574616353063081560, 0.574575431199719540, 0.574534507899919220, +0.574493583163782740, 0.574452656991412240, 0.574411729382909740, 0.574370800338378280, 0.574329869857919890, 0.574288937941636380, 0.574248004589630880, 0.574207069802005420, +0.574166133578862260, 0.574125195920303420, 0.574084256826431940, 0.574043316297349840, 0.574002374333159480, 0.573961430933962680, 0.573920486099862790, 0.573879539830961630, +0.573838592127361660, 0.573797642989164910, 0.573756692416474310, 0.573715740409391990, 0.573674786968020320, 0.573633832092461330, 0.573592875782818150, 0.573551918039192810, +0.573510958861687240, 0.573469998250404680, 0.573429036205447050, 0.573388072726916940, 0.573347107814916160, 0.573306141469548060, 0.573265173690914560, 0.573224204479118150, +0.573183233834260950, 0.573142261756445890, 0.573101288245775220, 0.573060313302351410, 0.573019336926276380, 0.572978359117653380, 0.572937379876584440, 0.572896399203172150, +0.572855417097518420, 0.572814433559726500, 0.572773448589898540, 0.572732462188136560, 0.572691474354543820, 0.572650485089222450, 0.572609494392274820, 0.572568502263803070, +0.572527508703910450, 0.572486513712698990, 0.572445517290271270, 0.572404519436729430, 0.572363520152176730, 0.572322519436715080, 0.572281517290447180, 0.572240513713475170, +0.572199508705902190, 0.572158502267830490, 0.572117494399362550, 0.572076485100600380, 0.572035474371647480, 0.571994462212605860, 0.571953448623578110, 0.571912433604666370, +0.571871417155973890, 0.571830399277602820, 0.571789379969655510, 0.571748359232234990, 0.571707337065443630, 0.571666313469383900, 0.571625288444158050, 0.571584261989869340, +0.571543234106620000, 0.571502204794512520, 0.571461174053649270, 0.571420141884133370, 0.571379108286067080, 0.571338073259553100, 0.571297036804693460, 0.571255998921591730, +0.571214959610349850, 0.571173918871070720, 0.571132876703856370, 0.571091833108810180, 0.571050788086034380, 0.571009741635631340, 0.570968693757704200, 0.570927644452355440, +0.570886593719687420, 0.570845541559802720, 0.570804487972804480, 0.570763432958794950, 0.570722376517876830, 0.570681318650152480, 0.570640259355725150, 0.570599198634697210, +0.570558136487171240, 0.570517072913249600, 0.570476007913035650, 0.570434941486631650, 0.570393873634140290, 0.570352804355663820, 0.570311733651305830, 0.570270661521168450, +0.570229587965354060, 0.570188512983966110, 0.570147436577106760, 0.570106358744878920, 0.570065279487384720, 0.570024198804727770, 0.569983116697010290, 0.569942033164335120, +0.569900948206804370, 0.569859861824521640, 0.569818774017589290, 0.569777684786110020, 0.569736594130186180, 0.569695502049921140, 0.569654408545417380, 0.569613313616777580, +0.569572217264104230, 0.569531119487500570, 0.569490020287069190, 0.569448919662912330, 0.569407817615133590, 0.569366714143835330, 0.569325609249120230, 0.569284502931090790, +0.569243395189850450, 0.569202286025501600, 0.569161175438147040, 0.569120063427889230, 0.569078949994831550, 0.569037835139076580, 0.568996718860726890, 0.568955601159885080, +0.568914482036654730, 0.568873361491138100, 0.568832239523438090, 0.568791116133657070, 0.568749991321898630, 0.568708865088265240, 0.568667737432859700, 0.568626608355784490, +0.568585477857143080, 0.568544345937037950, 0.568503212595571570, 0.568462077832847630, 0.568420941648968390, 0.568379804044036870, 0.568338665018155440, 0.568297524571427680, +0.568256382703956180, 0.568215239415843620, 0.568174094707192710, 0.568132948578106810, 0.568091801028688610, 0.568050652059040930, 0.568009501669266230, 0.567968349859468200, +0.567927196629749220, 0.567886041980212310, 0.567844885910959830, 0.567803728422095590, 0.567762569513721950, 0.567721409185941610, 0.567680247438858030, 0.567639084272573920, +0.567597919687192090, 0.567556753682815000, 0.567515586259546460, 0.567474417417488940, 0.567433247156745370, 0.567392075477418320, 0.567350902379611500, 0.567309727863427370, +0.567268551928968970, 0.567227374576338760, 0.567186195805640450, 0.567145015616976720, 0.567103834010450500, 0.567062650986164260, 0.567021466544221700, 0.566980280684725610, +0.566939093407778370, 0.566897904713483780, 0.566856714601944420, 0.566815523073263220, 0.566774330127542970, 0.566733135764887150, 0.566691939985398570, 0.566650742789180040, +0.566609544176334360, 0.566568344146965220, 0.566527142701175210, 0.566485939839067250, 0.566444735560744150, 0.566403529866309600, 0.566362322755866180, 0.566321114229517030, +0.566279904287364630, 0.566238692929512900, 0.566197480156064300, 0.566156265967122210, 0.566115050362788970, 0.566073833343168410, 0.566032614908363430, 0.565991395058476400, +0.565950173793611340, 0.565908951113870850, 0.565867727019357950, 0.565826501510175330, 0.565785274586426800, 0.565744046248215170, 0.565702816495643360, 0.565661585328814280, +0.565620352747831400, 0.565579118752797760, 0.565537883343816270, 0.565496646520989740, 0.565455408284421980, 0.565414168634215670, 0.565372927570473970, 0.565331685093299560, +0.565290441202796370, 0.565249195899066970, 0.565207949182214290, 0.565166701052342010, 0.565125451509553070, 0.565084200553950480, 0.565042948185636940, 0.565001694404716480, +0.564960439211291800, 0.564919182605466030, 0.564877924587341870, 0.564836665157023350, 0.564795404314613060, 0.564754142060214350, 0.564712878393929920, 0.564671613315863570, +0.564630346826118230, 0.564589078924797040, 0.564547809612002790, 0.564506538887839420, 0.564465266752409600, 0.564423993205816270, 0.564382718248163440, 0.564341441879553710, +0.564300164100090430, 0.564258884909876300, 0.564217604309015350, 0.564176322297610390, 0.564135038875764660, 0.564093754043580970, 0.564052467801163250, 0.564011180148614290, +0.563969891086037460, 0.563928600613535560, 0.563887308731212400, 0.563846015439171120, 0.563804720737514750, 0.563763424626346100, 0.563722127105769410, 0.563680828175887380, +0.563639527836802820, 0.563598226088619870, 0.563556922931441330, 0.563515618365370560, 0.563474312390510270, 0.563433005006964580, 0.563391696214836420, 0.563350386014229040, +0.563309074405245250, 0.563267761387989290, 0.563226446962563740, 0.563185131129072200, 0.563143813887617360, 0.563102495238303470, 0.563061175181233330, 0.563019853716510200, +0.562978530844237100, 0.562937206564517960, 0.562895880877455900, 0.562854553783154080, 0.562813225281715510, 0.562771895373244350, 0.562730564057843270, 0.562689231335615550, +0.562647897206665080, 0.562606561671094910, 0.562565224729008270, 0.562523886380508210, 0.562482546625698850, 0.562441205464683010, 0.562399862897564270, 0.562358518924445440, +0.562317173545430760, 0.562275826760623150, 0.562234478570125870, 0.562193128974042060, 0.562151777972475840, 0.562110425565530150, 0.562069071753308340, 0.562027716535913550, +0.561986359913449920, 0.561945001886020260, 0.561903642453727700, 0.561862281616676510, 0.561820919374969590, 0.561779555728710300, 0.561738190678001900, 0.561696824222948200, +0.561655456363652550, 0.561614087100218320, 0.561572716432748420, 0.561531344361347110, 0.561489970886117410, 0.561448596007162790, 0.561407219724586400, 0.561365842038492270, +0.561324462948983530, 0.561283082456163650, 0.561241700560135670, 0.561200317261003720, 0.561158932558871170, 0.561117546453840820, 0.561076158946016920, 0.561034770035502730, +0.560993379722401490, 0.560951988006816560, 0.560910594888851980, 0.560869200368610880, 0.560827804446196840, 0.560786407121712790, 0.560745008395263200, 0.560703608266951090, +0.560662206736879940, 0.560620803805153000, 0.560579399471874300, 0.560537993737147080, 0.560496586601074930, 0.560455178063760990, 0.560413768125309410, 0.560372356785823420, +0.560330944045406620, 0.560289529904161920, 0.560248114362193910, 0.560206697419605600, 0.560165279076500160, 0.560123859332981810, 0.560082438189153930, 0.560041015645119880, +0.559999591700982900, 0.559958166356847360, 0.559916739612816410, 0.559875311468993610, 0.559833881925482220, 0.559792450982386390, 0.559751018639809470, 0.559709584897855050, +0.559668149756626150, 0.559626713216227370, 0.559585275276761830, 0.559543835938333010, 0.559502395201044280, 0.559460953064999990, 0.559419509530303170, 0.559378064597057410, +0.559336618265366740, 0.559295170535334510, 0.559253721407064310, 0.559212270880659500, 0.559170818956224450, 0.559129365633862290, 0.559087910913676710, 0.559046454795770980, +0.559004997280249440, 0.558963538367215460, 0.558922078056772630, 0.558880616349024200, 0.558839153244074630, 0.558797688742027180, 0.558756222842985540, 0.558714755547052970, +0.558673286854333820, 0.558631816764931450, 0.558590345278949240, 0.558548872396491540, 0.558507398117661590, 0.558465922442563210, 0.558424445371299650, 0.558382966903975260, +0.558341487040693530, 0.558300005781558030, 0.558258523126672230, 0.558217039076140400, 0.558175553630065990, 0.558134066788552820, 0.558092578551703910, 0.558051088919624070, +0.558009597892416440, 0.557968105470184830, 0.557926611653032590, 0.557885116441064310, 0.557843619834383020, 0.557802121833092410, 0.557760622437296960, 0.557719121647099800, +0.557677619462604970, 0.557636115883915600, 0.557594610911136380, 0.557553104544370680, 0.557511596783722090, 0.557470087629294290, 0.557428577081191530, 0.557387065139517300, +0.557345551804375510, 0.557304037075869400, 0.557262520954103560, 0.557221003439181460, 0.557179484531206910, 0.557137964230283170, 0.557096442536514910, 0.557054919450005630, +0.557013394970858890, 0.556971869099178510, 0.556930341835068620, 0.556888813178633040, 0.556847283129974890, 0.556805751689198990, 0.556764218856408810, 0.556722684631707930, +0.556681149015200050, 0.556639612006989640, 0.556598073607180170, 0.556556533815875550, 0.556514992633179270, 0.556473450059195800, 0.556431906094028710, 0.556390360737781920, +0.556348813990558800, 0.556307265852464040, 0.556265716323601110, 0.556224165404073930, 0.556182613093985870, 0.556141059393441720, 0.556099504302544960, 0.556057947821398950, +0.556016389950108600, 0.555974830688777180, 0.555933270037508700, 0.555891707996406640, 0.555850144565575690, 0.555808579745119320, 0.555767013535141690, 0.555725445935746020, +0.555683876947037140, 0.555642306569118500, 0.555600734802094150, 0.555559161646067560, 0.555517587101143520, 0.555476011167425400, 0.555434433845017340, 0.555392855134022810, +0.555351275034546510, 0.555309693546692020, 0.555268110670562920, 0.555226526406263910, 0.555184940753898570, 0.555143353713570930, 0.555101765285384460, 0.555060175469443970, +0.555018584265853040, 0.554976991674715700, 0.554935397696135540, 0.554893802330217120, 0.554852205577064270, 0.554810607436780900, 0.554769007909470700, 0.554727406995238260, +0.554685804694187380, 0.554644201006421980, 0.554602595932045640, 0.554560989471163170, 0.554519381623878370, 0.554477772390294940, 0.554436161770516800, 0.554394549764648640, +0.554352936372794040, 0.554311321595056810, 0.554269705431541640, 0.554228087882352120, 0.554186468947592490, 0.554144848627366240, 0.554103226921778270, 0.554061603830932280, +0.554019979354932190, 0.553978353493881800, 0.553936726247885920, 0.553895097617048250, 0.553853467601472800, 0.553811836201263290, 0.553770203416524610, 0.553728569247360360, +0.553686933693874780, 0.553645296756171360, 0.553603658434355220, 0.553562018728529840, 0.553520377638799020, 0.553478735165267690, 0.553437091308039530, 0.553395446067218580, +0.553353799442908740, 0.553312151435214730, 0.553270502044240330, 0.553228851270089580, 0.553187199112866510, 0.553145545572675700, 0.553103890649621070, 0.553062234343806640, +0.553020576655336330, 0.552978917584314940, 0.552937257130846290, 0.552895595295034400, 0.552853932076983190, 0.552812267476797570, 0.552770601494581240, 0.552728934130438110, +0.552687265384472880, 0.552645595256789580, 0.552603923747492230, 0.552562250856684760, 0.552520576584472070, 0.552478900930957860, 0.552437223896246390, 0.552395545480441560, +0.552353865683648190, 0.552312184505970080, 0.552270501947511590, 0.552228818008376530, 0.552187132688669700, 0.552145445988495130, 0.552103757907956850, 0.552062068447158880, +0.552020377606206040, 0.551978685385202340, 0.551936991784251480, 0.551895296803458610, 0.551853600442927420, 0.551811902702762260, 0.551770203583066940, 0.551728503083946500, +0.551686801205504730, 0.551645097947846110, 0.551603393311074220, 0.551561687295294310, 0.551519979900610190, 0.551478271127126110, 0.551436560974945980, 0.551394849444174720, +0.551353136534916470, 0.551311422247275250, 0.551269706581355210, 0.551227989537261260, 0.551186271115097330, 0.551144551314967760, 0.551102830136976360, 0.551061107581228280, +0.551019383647827430, 0.550977658336877730, 0.550935931648484310, 0.550894203582751100, 0.550852474139782330, 0.550810743319681940, 0.550769011122555160, 0.550727277548505810, +0.550685542597638240, 0.550643806270056490, 0.550602068565865580, 0.550560329485169530, 0.550518589028072600, 0.550476847194678820, 0.550435103985093320, 0.550393359399420020, +0.550351613437763400, 0.550309866100227360, 0.550268117386916940, 0.550226367297936390, 0.550184615833389400, 0.550142862993381330, 0.550101108778015990, 0.550059353187397960, +0.550017596221631160, 0.549975837880820830, 0.549934078165070780, 0.549892317074485600, 0.549850554609169210, 0.549808790769226840, 0.549767025554762530, 0.549725258965880650, +0.549683491002685210, 0.549641721665281360, 0.549599950953773230, 0.549558178868265300, 0.549516405408861490, 0.549474630575667140, 0.549432854368786080, 0.549391076788322550, +0.549349297834381690, 0.549307517507067630, 0.549265735806484750, 0.549223952732737160, 0.549182168285930140, 0.549140382466167590, 0.549098595273554090, 0.549056806708193790, +0.549015016770191820, 0.548973225459652330, 0.548931432776679770, 0.548889638721378190, 0.548847843293852940, 0.548806046494208060, 0.548764248322548110, 0.548722448778977130, +0.548680647863600380, 0.548638845576522090, 0.548597041917846640, 0.548555236887678150, 0.548513430486122000, 0.548471622713282310, 0.548429813569263120, 0.548388003054169790, +0.548346191168106460, 0.548304377911177700, 0.548262563283487550, 0.548220747285141470, 0.548178929916243400, 0.548137111176898010, 0.548095291067209560, 0.548053469587283180, +0.548011646737223130, 0.547969822517134000, 0.547927996927119910, 0.547886169967286230, 0.547844341637737100, 0.547802511938577210, 0.547760680869910590, 0.547718848431842600, +0.547677014624477490, 0.547635179447919510, 0.547593342902274020, 0.547551504987645040, 0.547509665704137390, 0.547467825051855210, 0.547425983030903840, 0.547384139641387430, +0.547342294883410680, 0.547300448757077950, 0.547258601262494370, 0.547216752399764310, 0.547174902168992340, 0.547133050570282720, 0.547091197603740920, 0.547049343269471080, +0.547007487567577890, 0.546965630498165600, 0.546923772061339690, 0.546881912257204280, 0.546840051085863640, 0.546798188547423350, 0.546756324641987530, 0.546714459369661010, +0.546672592730547910, 0.546630724724753600, 0.546588855352382550, 0.546546984613539450, 0.546505112508328450, 0.546463239036855010, 0.546421364199223490, 0.546379487995538590, +0.546337610425904560, 0.546295731490426870, 0.546253851189209880, 0.546211969522358180, 0.546170086489976340, 0.546128202092169500, 0.546086316329042250, 0.546044429200699180, +0.546002540707244630, 0.545960650848784200, 0.545918759625422020, 0.545876867037262680, 0.545834973084411530, 0.545793077766972940, 0.545751181085051610, 0.545709283038751990, +0.545667383628179460, 0.545625482853438590, 0.545583580714633980, 0.545541677211869970, 0.545499772345252150, 0.545457866114885000, 0.545415958520873100, 0.545374049563321030, +0.545332139242334040, 0.545290227558016820, 0.545248314510474060, 0.545206400099810030, 0.545164484326130520, 0.545122567189539660, 0.545080648690142060, 0.545038728828043270, +0.544996807603347570, 0.544954885016159850, 0.544912961066584600, 0.544871035754727280, 0.544829109080692490, 0.544787181044584790, 0.544745251646508780, 0.544703320886570030, +0.544661388764873020, 0.544619455281522450, 0.544577520436623000, 0.544535584230280030, 0.544493646662598030, 0.544451707733682010, 0.544409767443636340, 0.544367825792566710, +0.544325882780577360, 0.544283938407773000, 0.544241992674259210, 0.544200045580140350, 0.544158097125521430, 0.544116147310506950, 0.544074196135202360, 0.544032243599712360, +0.543990289704141650, 0.543948334448594920, 0.543906377833177750, 0.543864419857994610, 0.543822460523150420, 0.543780499828749650, 0.543738537774898110, 0.543696574361700160, +0.543654609589260820, 0.543612643457684560, 0.543570675967076980, 0.543528707117542860, 0.543486736909186470, 0.543444765342113720, 0.543402792416428970, 0.543360818132237240, +0.543318842489643130, 0.543276865488752310, 0.543234887129669270, 0.543192907412499040, 0.543150926337346180, 0.543108943904316410, 0.543066960113514190, 0.543024974965044650, +0.542982988459012270, 0.542941000595522750, 0.542899011374680770, 0.542857020796591260, 0.542815028861358790, 0.542773035569089180, 0.542731040919887000, 0.542689044913857170, +0.542647047551104380, 0.542605048831734330, 0.542563048755851600, 0.542521047323560990, 0.542479044534968090, 0.542437040390177480, 0.542395034889294410, 0.542353028032423250, +0.542311019819670000, 0.542269010251139160, 0.542226999326935850, 0.542184987047164560, 0.542142973411931290, 0.542100958421340540, 0.542058942075497320, 0.542016924374506440, +0.541974905318473700, 0.541932884907503580, 0.541890863141701320, 0.541848840021171400, 0.541806815546019840, 0.541764789716351340, 0.541722762532270360, 0.541680733993882950, +0.541638704101293560, 0.541596672854607550, 0.541554640253929410, 0.541512606299365040, 0.541470570991019140, 0.541428534328996850, 0.541386496313402850, 0.541344456944343080, +0.541302416221921990, 0.541260374146244950, 0.541218330717416650, 0.541176285935542790, 0.541134239800728280, 0.541092192313078150, 0.541050143472697200, 0.541008093279691240, +0.540966041734165070, 0.540923988836223390, 0.540881934585972110, 0.540839878983515930, 0.540797822028960210, 0.540755763722409410, 0.540713704063969680, 0.540671643053745600, +0.540629580691842530, 0.540587516978365050, 0.540545451913419180, 0.540503385497109630, 0.540461317729541650, 0.540419248610820020, 0.540377178141050680, 0.540335106320338320, +0.540293033148788180, 0.540250958626505180, 0.540208882753595130, 0.540166805530162830, 0.540124726956313530, 0.540082647032152030, 0.540040565757784250, 0.539998483133315110, +0.539956399158849410, 0.539914313834493060, 0.539872227160350880, 0.539830139136528220, 0.539788049763129770, 0.539745959040261680, 0.539703866968028520, 0.539661773546535770, +0.539619678775888230, 0.539577582656191930, 0.539535485187551570, 0.539493386370072490, 0.539451286203859630, 0.539409184689018990, 0.539367081825655290, 0.539324977613873880, +0.539282872053779670, 0.539240765145478700, 0.539198656889075760, 0.539156547284675770, 0.539114436332384870, 0.539072324032307870, 0.539030210384550010, 0.538988095389216330, +0.538945979046412730, 0.538903861356244130, 0.538861742318816010, 0.538819621934233050, 0.538777500202601400, 0.538735377124026080, 0.538693252698612230, 0.538651126926465000, +0.538608999807690280, 0.538566871342393010, 0.538524741530678530, 0.538482610372651880, 0.538440477868419090, 0.538398344018085060, 0.538356208821754830, 0.538314072279534540, +0.538271934391528980, 0.538229795157843530, 0.538187654578583310, 0.538145512653854240, 0.538103369383761470, 0.538061224768410230, 0.538019078807905560, 0.537976931502353590, +0.537934782851859250, 0.537892632856528000, 0.537850481516464750, 0.537808328831775760, 0.537766174802565830, 0.537724019428940550, 0.537681862711004820, 0.537639704648864790, +0.537597545242625490, 0.537555384492392040, 0.537513222398270370, 0.537471058960365730, 0.537428894178783480, 0.537386728053628530, 0.537344560585007120, 0.537302391773024410, +0.537260221617785640, 0.537218050119396050, 0.537175877277961570, 0.537133703093587430, 0.537091527566379120, 0.537049350696441550, 0.537007172483880970, 0.536964992928802510, +0.536922812031311540, 0.536880629791513190, 0.536838446209513600, 0.536796261285417910, 0.536754075019331480, 0.536711887411359560, 0.536669698461608390, 0.536627508170182900, +0.536585316537188220, 0.536543123562730600, 0.536500929246915280, 0.536458733589847530, 0.536416536591632690, 0.536374338252376790, 0.536332138572185090, 0.536289937551163050, +0.536247735189415710, 0.536205531487049520, 0.536163326444169420, 0.536121120060881080, 0.536078912337289550, 0.536036703273501060, 0.535994492869620860, 0.535952281125754330, +0.535910068042006800, 0.535867853618484550, 0.535825637855292580, 0.535783420752536150, 0.535741202310321520, 0.535698982528753920, 0.535656761407938830, 0.535614538947981500, +0.535572315148988180, 0.535530090011064000, 0.535487863534314770, 0.535445635718845400, 0.535403406564762260, 0.535361176072170710, 0.535318944241176100, 0.535276711071883900, +0.535234476564400150, 0.535192240718830310, 0.535150003535279860, 0.535107765013854040, 0.535065525154659110, 0.535023283957800410, 0.534981041423383210, 0.534938797551513630, +0.534896552342297160, 0.534854305795839260, 0.534812057912245290, 0.534769808691621380, 0.534727558134073130, 0.534685306239705890, 0.534643053008625020, 0.534600798440937000, +0.534558542536746840, 0.534516285296160350, 0.534474026719282790, 0.534431766806220620, 0.534389505557078980, 0.534347242971963570, 0.534304979050979620, 0.534262713794233620, +0.534220447201830930, 0.534178179273877010, 0.534135910010477330, 0.534093639411738260, 0.534051367477765050, 0.534009094208663050, 0.533966819604538620, 0.533924543665497240, +0.533882266391644490, 0.533839987783085720, 0.533797707839927300, 0.533755426562274700, 0.533713143950233390, 0.533670860003908950, 0.533628574723407740, 0.533586288108835020, +0.533544000160296680, 0.533501710877897880, 0.533459420261745200, 0.533417128311943990, 0.533374835028599950, 0.533332540411818430, 0.533290244461705920, 0.533247947178367880, +0.533205648561909550, 0.533163348612437420, 0.533121047330057050, 0.533078744714873930, 0.533036440766993640, 0.532994135486522640, 0.532951828873566180, 0.532909520928230300, +0.532867211650620120, 0.532824901040842350, 0.532782589099002330, 0.532740275825205890, 0.532697961219558260, 0.532655645282166250, 0.532613328013134990, 0.532571009412570520, +0.532528689480578080, 0.532486368217264250, 0.532444045622734620, 0.532401721697094430, 0.532359396440450270, 0.532317069852907720, 0.532274741934572470, 0.532232412685549880, +0.532190082105946760, 0.532147750195868460, 0.532105416955420680, 0.532063082384709010, 0.532020746483840010, 0.531978409252919170, 0.531936070692052290, 0.531893730801344830, +0.531851389580903500, 0.531809047030833650, 0.531766703151241190, 0.531724357942231500, 0.531682011403911470, 0.531639663536386250, 0.531597314339761540, 0.531554963814144020, +0.531512611959638950, 0.531470258776352460, 0.531427904264389910, 0.531385548423857990, 0.531343191254862180, 0.531300832757508390, 0.531258472931902090, 0.531216111778150090, +0.531173749296357740, 0.531131385486631080, 0.531089020349075460, 0.531046653883797790, 0.531004286090903440, 0.530961916970498330, 0.530919546522688130, 0.530877174747579340, +0.530834801645277740, 0.530792427215889040, 0.530750051459518920, 0.530707674376274090, 0.530665295966260000, 0.530622916229582350, 0.530580535166347730, 0.530538152776661830, +0.530495769060630560, 0.530453384018359510, 0.530410997649955250, 0.530368609955523600, 0.530326220935170460, 0.530283830589001300, 0.530241438917122940, 0.530199045919641070, +0.530156651596661480, 0.530114255948289980, 0.530071858974633160, 0.530029460675796700, 0.529987061051886530, 0.529944660103008450, 0.529902257829269030, 0.529859854230773970, +0.529817449307628970, 0.529775043059940610, 0.529732635487814680, 0.529690226591357230, 0.529647816370673710, 0.529605404825871150, 0.529562991957055030, 0.529520577764331370, +0.529478162247805970, 0.529435745407585530, 0.529393327243775750, 0.529350907756482520, 0.529308486945811780, 0.529266064811870220, 0.529223641354763410, 0.529181216574597490, +0.529138790471478160, 0.529096363045512330, 0.529053934296805470, 0.529011504225463500, 0.528969072831593000, 0.528926640115300000, 0.528884206076690290, 0.528841770715869690, +0.528799334032945100, 0.528756896028022120, 0.528714456701206870, 0.528672016052605160, 0.528629574082323810, 0.528587130790468480, 0.528544686177145340, 0.528502240242460060, +0.528459792986519570, 0.528417344409429670, 0.528374894511296380, 0.528332443292225510, 0.528289990752323750, 0.528247536891697230, 0.528205081710451660, 0.528162625208693170, +0.528120167386528450, 0.528077708244063300, 0.528035247781403430, 0.527992785998655960, 0.527950322895926470, 0.527907858473321110, 0.527865392730945790, 0.527822925668907320, +0.527780457287311600, 0.527737987586264670, 0.527695516565872440, 0.527653044226241820, 0.527610570567478510, 0.527568095589688870, 0.527525619292978480, 0.527483141677454470, +0.527440662743222650, 0.527398182490389170, 0.527355700919059810, 0.527313218029341610, 0.527270733821340380, 0.527228248295162020, 0.527185761450913230, 0.527143273288700140, +0.527100783808628900, 0.527058293010805310, 0.527015800895336280, 0.526973307462327840, 0.526930812711886020, 0.526888316644116950, 0.526845819259127320, 0.526803320557023170, +0.526760820537910850, 0.526718319201895930, 0.526675816549085680, 0.526633312579585900, 0.526590807293502830, 0.526548300690942270, 0.526505792772011480, 0.526463283536816040, +0.526420772985462190, 0.526378261118056630, 0.526335747934705500, 0.526293233435515040, 0.526250717620591060, 0.526208200490040690, 0.526165682043969850, 0.526123162282484680, +0.526080641205691310, 0.526038118813696780, 0.525995595106606870, 0.525953070084527960, 0.525910543747566070, 0.525868016095828120, 0.525825487129420230, 0.525782956848448560, +0.525740425253019120, 0.525697892343238940, 0.525655358119214040, 0.525612822581050470, 0.525570285728855110, 0.525527747562734130, 0.525485208082793750, 0.525442667289140020, +0.525400125181879840, 0.525357581761119460, 0.525315037026965140, 0.525272490979522780, 0.525229943618899630, 0.525187394945201610, 0.525144844958535080, 0.525102293659006180, +0.525059741046721820, 0.525017187121788020, 0.524974631884311370, 0.524932075334397790, 0.524889517472154290, 0.524846958297687130, 0.524804397811102440, 0.524761836012506480, +0.524719272902006260, 0.524676708479707820, 0.524634142745717290, 0.524591575700141810, 0.524549007343087290, 0.524506437674660320, 0.524463866694966810, 0.524421294404114110, +0.524378720802208150, 0.524336145889355400, 0.524293569665661870, 0.524250992131234720, 0.524208413286180170, 0.524165833130604610, 0.524123251664614040, 0.524080668888315840, +0.524038084801815800, 0.523995499405220610, 0.523952912698636310, 0.523910324682170140, 0.523867735355928120, 0.523825144720016400, 0.523782552774542220, 0.523739959519611610, +0.523697364955331040, 0.523654769081806750, 0.523612171899146000, 0.523569573407454690, 0.523526973606839530, 0.523484372497406540, 0.523441770079262960, 0.523399166352514930, +0.523356561317269040, 0.523313954973631310, 0.523271347321709210, 0.523228738361608660, 0.523186128093436230, 0.523143516517298070, 0.523100903633301640, 0.523058289441552860, +0.523015673942157980, 0.522973057135224240, 0.522930439020857900, 0.522887819599165530, 0.522845198870253160, 0.522802576834228150, 0.522759953491196750, 0.522717328841265540, +0.522674702884540540, 0.522632075621129120, 0.522589447051137520, 0.522546817174672330, 0.522504185991839790, 0.522461553502747140, 0.522418919707500540, 0.522376284606206660, +0.522333648198971660, 0.522291010485902980, 0.522248371467106790, 0.522205731142689640, 0.522163089512757810, 0.522120446577418520, 0.522077802336778250, 0.522035156790943030, +0.521992509940020330, 0.521949861784116290, 0.521907212323337700, 0.521864561557790600, 0.521821909487582560, 0.521779256112819720, 0.521736601433608670, 0.521693945450055870, +0.521651288162268470, 0.521608629570352920, 0.521565969674415710, 0.521523308474563300, 0.521480645970902930, 0.521437982163540980, 0.521395317052584020, 0.521352650638138400, +0.521309982920311610, 0.521267313899209770, 0.521224643574939360, 0.521181971947607630, 0.521139299017321030, 0.521096624784186170, 0.521053949248309390, 0.521011272409798050, +0.520968594268758630, 0.520925914825297600, 0.520883234079521530, 0.520840552031537670, 0.520797868681452500, 0.520755184029372600, 0.520712498075404320, 0.520669810819655240, +0.520627122262231620, 0.520584432403240150, 0.520541741242787290, 0.520499048780980410, 0.520456355017925980, 0.520413659953730230, 0.520370963588500660, 0.520328265922343820, +0.520285566955366210, 0.520242866687674280, 0.520200165119375610, 0.520157462250576570, 0.520114758081383740, 0.520072052611903810, 0.520029345842244030, 0.519986637772510860, +0.519943928402811120, 0.519901217733251260, 0.519858505763938660, 0.519815792494979780, 0.519773077926481420, 0.519730362058550050, 0.519687644891293040, 0.519644926424817080, +0.519602206659228290, 0.519559485594634380, 0.519516763231141820, 0.519474039568857290, 0.519431314607887380, 0.519388588348339450, 0.519345860790320080, 0.519303131933936070, +0.519260401779293890, 0.519217670326501010, 0.519174937575664020, 0.519132203526889600, 0.519089468180284340, 0.519046731535955820, 0.519003993594010500, 0.518961254354555090, +0.518918513817696270, 0.518875771983541510, 0.518833028852197290, 0.518790284423770510, 0.518747538698367650, 0.518704791676096290, 0.518662043357063010, 0.518619293741374170, +0.518576542829137570, 0.518533790620459570, 0.518491037115447080, 0.518448282314206590, 0.518405526216845770, 0.518362768823471210, 0.518320010134189710, 0.518277250149107750, +0.518234488868333120, 0.518191726291972190, 0.518148962420131980, 0.518106197252918950, 0.518063430790440930, 0.518020663032804250, 0.517977893980115840, 0.517935123632482400, +0.517892351990011490, 0.517849579052809820, 0.517806804820983620, 0.517764029294640940, 0.517721252473888120, 0.517678474358832190, 0.517635694949579730, 0.517592914246238430, +0.517550132248914770, 0.517507348957715770, 0.517464564372748010, 0.517421778494119300, 0.517378991321936100, 0.517336202856305440, 0.517293413097333900, 0.517250622045129170, +0.517207829699797950, 0.517165036061447040, 0.517122241130183240, 0.517079444906114240, 0.517036647389346630, 0.516993848579986980, 0.516951048478143100, 0.516908247083921580, +0.516865444397429430, 0.516822640418773350, 0.516779835148061030, 0.516737028585399050, 0.516694220730894550, 0.516651411584654110, 0.516608601146785530, 0.516565789417395500, +0.516522976396590950, 0.516480162084478560, 0.516437346481166130, 0.516394529586760460, 0.516351711401368370, 0.516308891925096550, 0.516266071158053010, 0.516223249100344230, +0.516180425752077340, 0.516137601113358930, 0.516094775184297030, 0.516051947964998090, 0.516009119455569040, 0.515966289656117460, 0.515923458566750150, 0.515880626187574240, +0.515837792518696330, 0.515794957560224310, 0.515752121312265000, 0.515709283774925310, 0.515666444948312040, 0.515623604832533000, 0.515580763427694990, 0.515537920733905140, +0.515495076751270040, 0.515452231479897600, 0.515409384919894630, 0.515366537071368150, 0.515323687934424960, 0.515280837509172970, 0.515237985795718890, 0.515195132794169400, +0.515152278504632520, 0.515109422927214840, 0.515066566062023720, 0.515023707909165740, 0.514980848468748920, 0.514937987740879950, 0.514895125725665980, 0.514852262423213910, +0.514809397833631550, 0.514766531957025600, 0.514723664793503400, 0.514680796343171650, 0.514637926606138270, 0.514595055582510060, 0.514552183272394270, 0.514509309675897590, +0.514466434793128040, 0.514423558624192310, 0.514380681169197440, 0.514337802428251110, 0.514294922401460350, 0.514252041088932300, 0.514209158490773750, 0.514166274607092740, +0.514123389437995960, 0.514080502983590760, 0.514037615243983950, 0.513994726219283440, 0.513951835909596030, 0.513908944315029090, 0.513866051435689530, 0.513823157271685040, +0.513780261823122750, 0.513737365090109810, 0.513694467072753010, 0.513651567771160500, 0.513608667185439070, 0.513565765315695530, 0.513522862162038020, 0.513479957724573330, +0.513437052003408720, 0.513394144998651210, 0.513351236710408610, 0.513308327138787930, 0.513265416283896440, 0.513222504145841030, 0.513179590724729740, 0.513136676020669480, +0.513093760033767500, 0.513050842764130820, 0.513007924211867360, 0.512965004377084030, 0.512922083259888310, 0.512879160860386870, 0.512836237178687980, 0.512793312214898540, +0.512750385969125810, 0.512707458441476690, 0.512664529632059330, 0.512621599540980630, 0.512578668168347520, 0.512535735514268120, 0.512492801578849470, 0.512449866362198800, +0.512406929864423040, 0.512363992085630330, 0.512321053025927680, 0.512278112685422340, 0.512235171064221340, 0.512192228162432820, 0.512149283980163790, 0.512106338517521410, +0.512063391774612910, 0.512020443751546320, 0.511977494448428550, 0.511934543865367080, 0.511891592002468920, 0.511848638859842110, 0.511805684437593670, 0.511762728735830730, +0.511719771754661210, 0.511676813494192360, 0.511633853954531430, 0.511590893135785540, 0.511547931038062840, 0.511504967661470240, 0.511462003006115220, 0.511419037072104790, +0.511376069859547200, 0.511333101368549370, 0.511290131599218880, 0.511247160551662640, 0.511204188225988790, 0.511161214622304570, 0.511118239740717350, 0.511075263581334040, +0.511032286144262990, 0.510989307429611240, 0.510946327437485910, 0.510903346167995040, 0.510860363621245870, 0.510817379797345760, 0.510774394696401730, 0.510731408318522260, +0.510688420663814150, 0.510645431732385080, 0.510602441524341980, 0.510559450039793190, 0.510516457278845760, 0.510473463241607140, 0.510430467928184580, 0.510387471338686230, +0.510344473473219100, 0.510301474331890880, 0.510258473914808500, 0.510215472222080410, 0.510172469253813540, 0.510129465010115580, 0.510086459491093550, 0.510043452696855800, +0.510000444627509380, 0.509957435283161510, 0.509914424663920340, 0.509871412769893120, 0.509828399601187420, 0.509785385157910390, 0.509742369440170150, 0.509699352448074070, +0.509656334181729620, 0.509613314641243930, 0.509570293826725250, 0.509527271738280940, 0.509484248376018470, 0.509441223740044970, 0.509398197830468690, 0.509355170647396990, +0.509312142190937460, 0.509269112461197100, 0.509226081458284300, 0.509183049182306390, 0.509140015633370410, 0.509096980811584830, 0.509053944717056670, 0.509010907349893740, +0.508967868710203160, 0.508924828798093310, 0.508881787613671420, 0.508838745157044970, 0.508795701428321310, 0.508752656427608810, 0.508709610155014590, 0.508666562610646470, +0.508623513794611460, 0.508580463707018040, 0.508537412347973560, 0.508494359717585500, 0.508451305815961100, 0.508408250643208940, 0.508365194199436040, 0.508322136484749780, +0.508279077499258600, 0.508236017243069770, 0.508192955716290750, 0.508149892919029120, 0.508106828851393020, 0.508063763513489920, 0.508020696905427390, 0.507977629027312800, +0.507934559879254400, 0.507891489461359650, 0.507848417773736240, 0.507805344816491310, 0.507762270589733440, 0.507719195093569890, 0.507676118328108440, 0.507633040293456240, +0.507589960989721760, 0.507546880417012460, 0.507503798575435480, 0.507460715465099520, 0.507417631086111710, 0.507374545438579740, 0.507331458522611190, 0.507288370338314200, +0.507245280885796460, 0.507202190165165430, 0.507159098176528490, 0.507116004919994200, 0.507072910395669930, 0.507029814603663480, 0.506986717544081980, 0.506943619217034120, +0.506900519622627170, 0.506857418760969010, 0.506814316632166810, 0.506771213236329340, 0.506728108573563760, 0.506685002643977870, 0.506641895447679120, 0.506598786984776010, +0.506555677255375980, 0.506512566259586290, 0.506469453997515640, 0.506426340469271260, 0.506383225674961190, 0.506340109614692560, 0.506296992288574050, 0.506253873696713040, +0.506210753839217430, 0.506167632716194470, 0.506124510327752850, 0.506081386673999930, 0.506038261755043520, 0.505995135570991180, 0.505952008121951290, 0.505908879408031420, +0.505865749429339260, 0.505822618185982510, 0.505779485678069520, 0.505736351905707760, 0.505693216869004810, 0.505650080568069150, 0.505606943003008350, 0.505563804173930100, +0.505520664080941980, 0.505477522724152690, 0.505434380103669480, 0.505391236219600360, 0.505348091072052810, 0.505304944661135290, 0.505261796986955500, 0.505218648049621240, +0.505175497849239990, 0.505132346385920310, 0.505089193659769790, 0.505046039670896230, 0.505002884419407220, 0.504959727905411440, 0.504916570129016250, 0.504873411090329350, +0.504830250789459310, 0.504787089226513610, 0.504743926401600150, 0.504700762314826520, 0.504657596966301300, 0.504614430356132180, 0.504571262484426960, 0.504528093351293230, +0.504484922956839550, 0.504441751301173640, 0.504398578384403380, 0.504355404206636160, 0.504312228767980990, 0.504269052068545110, 0.504225874108436670, 0.504182694887763130, +0.504139514406633290, 0.504096332665154630, 0.504053149663435060, 0.504009965401582380, 0.503966779879705060, 0.503923593097910790, 0.503880405056307160, 0.503837215755002950, +0.503794025194105770, 0.503750833373723390, 0.503707640293963530, 0.503664445954935090, 0.503621250356745430, 0.503578053499502690, 0.503534855383314440, 0.503491656008289380, +0.503448455374535200, 0.503405253482159920, 0.503362050331271130, 0.503318845921977510, 0.503275640254386870, 0.503232433328607120, 0.503189225144745840, 0.503146015702911840, +0.503102805003212920, 0.503059593045756540, 0.503016379830651620, 0.502973165358005740, 0.502929949627926920, 0.502886732640522860, 0.502843514395902250, 0.502800294894172990, +0.502757074135442910, 0.502713852119819780, 0.502670628847412430, 0.502627404318328530, 0.502584178532676010, 0.502540951490562770, 0.502497723192097510, 0.502454493637387920, +0.502411262826542140, 0.502368030759667740, 0.502324797436873750, 0.502281562858267750, 0.502238327023957320, 0.502195089934051600, 0.502151851588658160, 0.502108611987885030, +0.502065371131839910, 0.502022129020631920, 0.501978885654368550, 0.501935641033157910, 0.501892395157107820, 0.501849148026327070, 0.501805899640923480, 0.501762650001005170, +0.501719399106679840, 0.501676146958056400, 0.501632893555242650, 0.501589638898346620, 0.501546382987476110, 0.501503125822739930, 0.501459867404246080, 0.501416607732102060, +0.501373346806416990, 0.501330084627298560, 0.501286821194854900, 0.501243556509193720, 0.501200290570424150, 0.501157023378653750, 0.501113754933990910, 0.501070485236543180, +0.501027214286419720, 0.500983942083728210, 0.500940668628576780, 0.500897393921073350, 0.500854117961326840, 0.500810840749444930, 0.500767562285535980, 0.500724282569707800, +0.500681001602069190, 0.500637719382728160, 0.500594435911792760, 0.500551151189370990, 0.500507865215571670, 0.500464577990502590, 0.500421289514271780, 0.500377999786988160, +0.500334708808759520, 0.500291416579694110, 0.500248123099899740, 0.500204828369485430, 0.500161532388559090, 0.500118235157228860, 0.500074936675602770, 0.500031636943789600, +0.499988335961897460, 0.499945033730034400, 0.499901730248308420, 0.499858425516828460, 0.499815119535702460, 0.499771812305038640, 0.499728503824944940, 0.499685194095530310, +0.499641883116902720, 0.499598570889170030, 0.499555257412441330, 0.499511942686824470, 0.499468626712427750, 0.499425309489359090, 0.499381991017727510, 0.499338671297640980, +0.499295350329207800, 0.499252028112535770, 0.499208704647734150, 0.499165379934910720, 0.499122053974173860, 0.499078726765631480, 0.499035398309392640, 0.498992068605565330, +0.498948737654257850, 0.498905405455578100, 0.498862072009635280, 0.498818737316537250, 0.498775401376391980, 0.498732064189308600, 0.498688725755395080, 0.498645386074759720, +0.498602045147510550, 0.498558702973756600, 0.498515359553605930, 0.498472014887166860, 0.498428668974547350, 0.498385321815856540, 0.498341973411202450, 0.498298623760693450, +0.498255272864437440, 0.498211920722543720, 0.498168567335120100, 0.498125212702275110, 0.498081856824116710, 0.498038499700754090, 0.497995141332295170, 0.497951781718848410, +0.497908420860521780, 0.497865058757424540, 0.497821695409664590, 0.497778330817350070, 0.497734964980590110, 0.497691597899492690, 0.497648229574166320, 0.497604860004718990, +0.497561489191259860, 0.497518117133897040, 0.497474743832738870, 0.497431369287893550, 0.497387993499470100, 0.497344616467576720, 0.497301238192321800, 0.497257858673813390, +0.497214477912160720, 0.497171095907471830, 0.497127712659855230, 0.497084328169418940, 0.497040942436272230, 0.496997555460523210, 0.496954167242279870, 0.496910777781651490, +0.496867387078746170, 0.496823995133672370, 0.496780601946538230, 0.496737207517452930, 0.496693811846524670, 0.496650414933861810, 0.496607016779572590, 0.496563617383766200, +0.496520216746550720, 0.496476814868034740, 0.496433411748326340, 0.496390007387534800, 0.496346601785768230, 0.496303194943135130, 0.496259786859743700, 0.496216377535703130, +0.496172966971121680, 0.496129555166107410, 0.496086142120769620, 0.496042727835216520, 0.495999312309556570, 0.495955895543897910, 0.495912477538349940, 0.495869058293020800, +0.495825637808018970, 0.495782216083452690, 0.495738793119431250, 0.495695368916062810, 0.495651943473455980, 0.495608516791718860, 0.495565088870960900, 0.495521659711290140, +0.495478229312815270, 0.495434797675644470, 0.495391364799886990, 0.495347930685651190, 0.495304495333045490, 0.495261058742178180, 0.495217620913158630, 0.495174181846095020, +0.495130741541095600, 0.495087299998269670, 0.495043857217725480, 0.495000413199571660, 0.494956967943916410, 0.494913521450869200, 0.494870073720538100, 0.494826624753031850, +0.494783174548458660, 0.494739723106927930, 0.494696270428547860, 0.494652816513427130, 0.494609361361673940, 0.494565904973397750, 0.494522447348706820, 0.494478988487709770, +0.494435528390514860, 0.494392067057231540, 0.494348604487968020, 0.494305140682832600, 0.494261675641934680, 0.494218209365382630, 0.494174741853285030, 0.494131273105750220, +0.494087803122887580, 0.494044331904805460, 0.494000859451612480, 0.493957385763416970, 0.493913910840328430, 0.493870434682455060, 0.493826957289905610, 0.493783478662788380, +0.493739998801212890, 0.493696517705287330, 0.493653035375120510, 0.493609551810820720, 0.493566067012497440, 0.493522580980258970, 0.493479093714213670, 0.493435605214471050, +0.493392115481139370, 0.493348624514327430, 0.493305132314143520, 0.493261638880697240, 0.493218144214096770, 0.493174648314451010, 0.493131151181868180, 0.493087652816457890, +0.493044153218328510, 0.493000652387588670, 0.492957150324346840, 0.492913647028712540, 0.492870142500794140, 0.492826636740700320, 0.492783129748539550, 0.492739621524421360, +0.492696112068454100, 0.492652601380746180, 0.492609089461407130, 0.492565576310545430, 0.492522061928269690, 0.492478546314688460, 0.492435029469911250, 0.492391511394046470, +0.492347992087202870, 0.492304471549488920, 0.492260949781014200, 0.492217426781887070, 0.492173902552216440, 0.492130377092110600, 0.492086850401679210, 0.492043322481030720, +0.491999793330273940, 0.491956262949517280, 0.491912731338870310, 0.491869198498441570, 0.491825664428339800, 0.491782129128673470, 0.491738592599552220, 0.491695054841084500, +0.491651515853378740, 0.491607975636544570, 0.491564434190690510, 0.491520891515925320, 0.491477347612357510, 0.491433802480096720, 0.491390256119251470, 0.491346708529930510, +0.491303159712242420, 0.491259609666296840, 0.491216058392202230, 0.491172505890067450, 0.491128952160001080, 0.491085397202112640, 0.491041841016510720, 0.490998283603304220, +0.490954724962601620, 0.490911165094512600, 0.490867603999145700, 0.490824041676609310, 0.490780478127013310, 0.490736913350466040, 0.490693347347076540, 0.490649780116953260, +0.490606211660205900, 0.490562641976942990, 0.490519071067273550, 0.490475498931305990, 0.490431925569150050, 0.490388350980914380, 0.490344775166707770, 0.490301198126638860, +0.490257619860817280, 0.490214040369351730, 0.490170459652351060, 0.490126877709923860, 0.490083294542179800, 0.490039710149227540, 0.489996124531175640, 0.489952537688133790, +0.489908949620210590, 0.489865360327515040, 0.489821769810155680, 0.489778178068242310, 0.489734585101883500, 0.489690990911188170, 0.489647395496265010, 0.489603798857223770, +0.489560200994173020, 0.489516601907221740, 0.489473001596478610, 0.489429400062053320, 0.489385797304054570, 0.489342193322591320, 0.489298588117772160, 0.489254981689706940, +0.489211374038504290, 0.489167765164273180, 0.489124155067122310, 0.489080543747161370, 0.489036931204499150, 0.488993317439244120, 0.488949702451506260, 0.488906086241394140, +0.488862468809016790, 0.488818850154482840, 0.488775230277902210, 0.488731609179383520, 0.488687986859035750, 0.488644363316967640, 0.488600738553289000, 0.488557112568108520, +0.488513485361535270, 0.488469856933677950, 0.488426227284646350, 0.488382596414549170, 0.488338964323495490, 0.488295331011594060, 0.488251696478954610, 0.488208060725686010, +0.488164423751896840, 0.488120785557696950, 0.488077146143195140, 0.488033505508500440, 0.487989863653721660, 0.487946220578968530, 0.487902576284349850, 0.487858930769974770, +0.487815284035951980, 0.487771636082391320, 0.487727986909401610, 0.487684336517091920, 0.487640684905571000, 0.487597032074948760, 0.487553378025333940, 0.487509722756835680, +0.487466066269562680, 0.487422408563624950, 0.487378749639131190, 0.487335089496190140, 0.487291428134911830, 0.487247765555404890, 0.487204101757778560, 0.487160436742141540, +0.487116770508603860, 0.487073103057274250, 0.487029434388261910, 0.486985764501675520, 0.486942093397625180, 0.486898421076219560, 0.486854747537567910, 0.486811072781778990, +0.486767396808962800, 0.486723719619228110, 0.486680041212684100, 0.486636361589439630, 0.486592680749604660, 0.486548998693287940, 0.486505315420598330, 0.486461630931645850, +0.486417945226539310, 0.486374258305387890, 0.486330570168300390, 0.486286880815386900, 0.486243190246756220, 0.486199498462517530, 0.486155805462779700, 0.486112111247652800, +0.486068415817245580, 0.486024719171667340, 0.485981021311026880, 0.485937322235434290, 0.485893621944998360, 0.485849920439828390, 0.485806217720033240, 0.485762513785722940, +0.485718808637006340, 0.485675102273992740, 0.485631394696791010, 0.485587685905511160, 0.485543975900262050, 0.485500264681152650, 0.485456552248292980, 0.485412838601791960, +0.485369123741758830, 0.485325407668302460, 0.485281690381533020, 0.485237971881559260, 0.485194252168490660, 0.485150531242436010, 0.485106809103505400, 0.485063085751807790, +0.485019361187452480, 0.484975635410548390, 0.484931908421205540, 0.484888180219532950, 0.484844450805639930, 0.484800720179635380, 0.484756988341629450, 0.484713255291730980, +0.484669521030049010, 0.484625785556693670, 0.484582048871773810, 0.484538310975398840, 0.484494571867677750, 0.484450831548720540, 0.484407090018636300, 0.484363347277534330, +0.484319603325523600, 0.484275858162714290, 0.484232111789215270, 0.484188364205136000, 0.484144615410585450, 0.484100865405673710, 0.484057114190509840, 0.484013361765203150, +0.483969608129862730, 0.483925853284598640, 0.483882097229519910, 0.483838339964735520, 0.483794581490355700, 0.483750821806489480, 0.483707060913246110, 0.483663298810734780, +0.483619535499065560, 0.483575770978347470, 0.483532005248690000, 0.483488238310202100, 0.483444470162994020, 0.483400700807174730, 0.483356930242853700, 0.483313158470139950, +0.483269385489143720, 0.483225611299973990, 0.483181835902740280, 0.483138059297551550, 0.483094281484518110, 0.483050502463748920, 0.483006722235353460, 0.482962940799440850, +0.482919158156121240, 0.482875374305503760, 0.482831589247697480, 0.482787802982812540, 0.482744015510958190, 0.482700226832243730, 0.482656436946778340, 0.482612645854672230, +0.482568853556034520, 0.482525060050974670, 0.482481265339601780, 0.482437469422026140, 0.482393672298356780, 0.482349873968703270, 0.482306074433174690, 0.482262273691881290, +0.482218471744932260, 0.482174668592436960, 0.482130864234504690, 0.482087058671245570, 0.482043251902768870, 0.481999443929183650, 0.481955634750600160, 0.481911824367127590, +0.481868012778875480, 0.481824199985952940, 0.481780385988470340, 0.481736570786536700, 0.481692754380261660, 0.481648936769754400, 0.481605117955125120, 0.481561297936483060, +0.481517476713937740, 0.481473654287598360, 0.481429830657575220, 0.481386005823977560, 0.481342179786914850, 0.481298352546496280, 0.481254524102832200, 0.481210694456031870, +0.481166863606204360, 0.481123031553460090, 0.481079198297908290, 0.481035363839658450, 0.480991528178819850, 0.480947691315502750, 0.480903853249816490, 0.480860013981870560, +0.480816173511774190, 0.480772331839637860, 0.480728488965570630, 0.480684644889682160, 0.480640799612081730, 0.480596953132879700, 0.480553105452185270, 0.480509256570108070, +0.480465406486757340, 0.480421555202243500, 0.480377702716675740, 0.480333849030163350, 0.480289994142816760, 0.480246138054745140, 0.480202280766058200, 0.480158422276865170, +0.480114562587276470, 0.480070701697401350, 0.480026839607349490, 0.479982976317230140, 0.479939111827153710, 0.479895246137229500, 0.479851379247567210, 0.479807511158276080, +0.479763641869466570, 0.479719771381247940, 0.479675899693729870, 0.479632026807021660, 0.479588152721233780, 0.479544277436475540, 0.479500400952856620, 0.479456523270486270, +0.479412644389475010, 0.479368764309932140, 0.479324883031966960, 0.479281000555689950, 0.479237116881210510, 0.479193232008638230, 0.479149345938082450, 0.479105458669653710, +0.479061570203461350, 0.479017680539615080, 0.478973789678224180, 0.478929897619399190, 0.478886004363249460, 0.478842109909884740, 0.478798214259414380, 0.478754317411948850, +0.478710419367597510, 0.478666520126470150, 0.478622619688676090, 0.478578718054325840, 0.478534815223528810, 0.478490911196394360, 0.478447005973033020, 0.478403099553554200, +0.478359191938067580, 0.478315283126682590, 0.478271373119509850, 0.478227461916658600, 0.478183549518238720, 0.478139635924359600, 0.478095721135131770, 0.478051805150664590, +0.478007887971067970, 0.477963969596451210, 0.477920050026924890, 0.477876129262598480, 0.477832207303581720, 0.477788284149984090, 0.477744359801916100, 0.477700434259487270, +0.477656507522806920, 0.477612579591985660, 0.477568650467132980, 0.477524720148358670, 0.477480788635772200, 0.477436855929484150, 0.477392922029603930, 0.477348986936241390, +0.477305050649506010, 0.477261113169508420, 0.477217174496358030, 0.477173234630164700, 0.477129293571037890, 0.477085351319088250, 0.477041407874425230, 0.476997463237158690, +0.476953517407398110, 0.476909570385254110, 0.476865622170836170, 0.476821672764254190, 0.476777722165617650, 0.476733770375037170, 0.476689817392622280, 0.476645863218482460, +0.476601907852728380, 0.476557951295469520, 0.476513993546815780, 0.476470034606876650, 0.476426074475762850, 0.476382113153583860, 0.476338150640449600, 0.476294186936469580, +0.476250222041754430, 0.476206255956413750, 0.476162288680557430, 0.476118320214295010, 0.476074350557737170, 0.476030379710993490, 0.475986407674173830, 0.475942434447387760, +0.475898460030745980, 0.475854484424358070, 0.475810507628333550, 0.475766529642783150, 0.475722550467816420, 0.475678570103543310, 0.475634588550073400, 0.475590605807517440, +0.475546621875984900, 0.475502636755585850, 0.475458650446429820, 0.475414662948627550, 0.475370674262288630, 0.475326684387523010, 0.475282693324440290, 0.475238701073151190, +0.475194707633765370, 0.475150713006392780, 0.475106717191143060, 0.475062720188126900, 0.475018721997453930, 0.474974722619233790, 0.474930722053577170, 0.474886720300593810, +0.474842717360393630, 0.474798713233086260, 0.474754707918782550, 0.474710701417591970, 0.474666693729624720, 0.474622684854990320, 0.474578674793799620, 0.474534663546162190, +0.474490651112188130, 0.474446637491987070, 0.474402622685669740, 0.474358606693345900, 0.474314589515125560, 0.474270571151118310, 0.474226551601435060, 0.474182530866185450, +0.474138508945479040, 0.474094485839426820, 0.474050461548138350, 0.474006436071723770, 0.473962409410292660, 0.473918381563955940, 0.473874352532823280, 0.473830322317004730, +0.473786290916609950, 0.473742258331749880, 0.473698224562534130, 0.473654189609072850, 0.473610153471475670, 0.473566116149853560, 0.473522077644316090, 0.473478037954973450, +0.473433997081935340, 0.473389955025312610, 0.473345911785215010, 0.473301867361752620, 0.473257821755035170, 0.473213774965173530, 0.473169726992277500, 0.473125677836456760, +0.473081627497822180, 0.473037575976483550, 0.472993523272551010, 0.472949469386134190, 0.472905414317344170, 0.472861358066290590, 0.472817300633083580, 0.472773242017833000, +0.472729182220649640, 0.472685121241643360, 0.472641059080924240, 0.472596995738602140, 0.472552931214787860, 0.472508865509591310, 0.472464798623122630, 0.472420730555491500, +0.472376661306808940, 0.472332590877184770, 0.472288519266728660, 0.472244446475551690, 0.472200372503763620, 0.472156297351474570, 0.472112221018794460, 0.472068143505834150, +0.472024064812703480, 0.471979984939512600, 0.471935903886371410, 0.471891821653390890, 0.471847738240680770, 0.471803653648351310, 0.471759567876512300, 0.471715480925274820, +0.471671392794748620, 0.471627303485043890, 0.471583212996270540, 0.471539121328539590, 0.471495028481960790, 0.471450934456644040, 0.471406839252700330, 0.471362742870239550, +0.471318645309371900, 0.471274546570207230, 0.471230446652856630, 0.471186345557429890, 0.471142243284037250, 0.471098139832788640, 0.471054035203795070, 0.471009929397166460, +0.470965822413012990, 0.470921714251444520, 0.470877604912572250, 0.470833494396505900, 0.470789382703355800, 0.470745269833231890, 0.470701155786245220, 0.470657040562505620, +0.470612924162123410, 0.470568806585208550, 0.470524687831872070, 0.470480567902223810, 0.470436446796373750, 0.470392324514432970, 0.470348201056511430, 0.470304076422719320, +0.470259950613166670, 0.470215823627964550, 0.470171695467222820, 0.470127566131051890, 0.470083435619561620, 0.470039303932863140, 0.469995171071066480, 0.469951037034281820, +0.469906901822619180, 0.469862765436189710, 0.469818627875103310, 0.469774489139470340, 0.469730349229400770, 0.469686208145005670, 0.469642065886395120, 0.469597922453678980, +0.469553777846968450, 0.469509632066373420, 0.469465485112004370, 0.469421336983971150, 0.469377187682385010, 0.469333037207355920, 0.469288885558994230, 0.469244732737409960, +0.469200578742714200, 0.469156423575017020, 0.469112267234428780, 0.469068109721059450, 0.469023951035020260, 0.468979791176421190, 0.468935630145372650, 0.468891467941984660, +0.468847304566368360, 0.468803140018633820, 0.468758974298891020, 0.468714807407251190, 0.468670639343824360, 0.468626470108720940, 0.468582299702050900, 0.468538128123925530, +0.468493955374454820, 0.468449781453749270, 0.468405606361918800, 0.468361430099074770, 0.468317252665327140, 0.468273074060786390, 0.468228894285562580, 0.468184713339766860, +0.468140531223509400, 0.468096347936900640, 0.468052163480050580, 0.468007977853070520, 0.467963791056070500, 0.467919603089160640, 0.467875413952452130, 0.467831223646055120, +0.467787032170080000, 0.467742839524636970, 0.467698645709837210, 0.467654450725790820, 0.467610254572608300, 0.467566057250399740, 0.467521858759276490, 0.467477659099348520, +0.467433458270726470, 0.467389256273520350, 0.467345053107841470, 0.467300848773799960, 0.467256643271506340, 0.467212436601070700, 0.467168228762604390, 0.467124019756217530, +0.467079809582020560, 0.467035598240123690, 0.466991385730638250, 0.466947172053674310, 0.466902957209342110, 0.466858741197752840, 0.466814524019016740, 0.466770305673244350, +0.466726086160545780, 0.466681865481032350, 0.466637643634814300, 0.466593420622002150, 0.466549196442706040, 0.466504971097037370, 0.466460744585106220, 0.466416516907023240, +0.466372288062898540, 0.466328058052843550, 0.466283826876968400, 0.466239594535383660, 0.466195361028199580, 0.466151126355527470, 0.466106890517477560, 0.466062653514160040, +0.466018415345686220, 0.465974176012166450, 0.465929935513711200, 0.465885693850430660, 0.465841451022436350, 0.465797207029838400, 0.465752961872747400, 0.465708715551273630, +0.465664468065528470, 0.465620219415622150, 0.465575969601665250, 0.465531718623768080, 0.465487466482041980, 0.465443213176597200, 0.465398958707544390, 0.465354703074993770, +0.465310446279056820, 0.465266188319843730, 0.465221929197464800, 0.465177668912031440, 0.465133407463653890, 0.465089144852442850, 0.465044881078508550, 0.465000616141962420, +0.464956350042914750, 0.464912082781476220, 0.464867814357757090, 0.464823544771868770, 0.464779274023921660, 0.464735002114026300, 0.464690729042293080, 0.464646454808833430, +0.464602179413757640, 0.464557902857176410, 0.464513625139200030, 0.464469346259939960, 0.464425066219506520, 0.464380785018010440, 0.464336502655562030, 0.464292219132272700, +0.464247934448252850, 0.464203648603612740, 0.464159361598463940, 0.464115073432916750, 0.464070784107081860, 0.464026493621069570, 0.463982201974991510, 0.463937909168957880, +0.463893615203079530, 0.463849320077466710, 0.463805023792230990, 0.463760726347482780, 0.463716427743332660, 0.463672127979891100, 0.463627827057269630, 0.463583524975578590, +0.463539221734928730, 0.463494917335430470, 0.463450611777195260, 0.463406305060333530, 0.463361997184955630, 0.463317688151173190, 0.463273377959096460, 0.463229066608836340, +0.463184754100503080, 0.463140440434208430, 0.463096125610062580, 0.463051809628176490, 0.463007492488660470, 0.462963174191626080, 0.462918854737183800, 0.462874534125444330, +0.462830212356518170, 0.462785889430516850, 0.462741565347550840, 0.462697240107730890, 0.462652913711167460, 0.462608586157972120, 0.462564257448255360, 0.462519927582127510, +0.462475596559700270, 0.462431264381084010, 0.462386931046389620, 0.462342596555727510, 0.462298260909209280, 0.462253924106945380, 0.462209586149046730, 0.462165247035623670, +0.462120906766787910, 0.462076565342649850, 0.462032222763320400, 0.461987879028910030, 0.461943534139530320, 0.461899188095291740, 0.461854840896305240, 0.461810492542681250, +0.461766143034531400, 0.461721792371966200, 0.461677440555096130, 0.461633087584032880, 0.461588733458886850, 0.461544378179769010, 0.461500021746789830, 0.461455664160061010, +0.461411305419693050, 0.461366945525796770, 0.461322584478482790, 0.461278222277862690, 0.461233858924047060, 0.461189494417146790, 0.461145128757272370, 0.461100761944535530, +0.461056393979046800, 0.461012024860917020, 0.460967654590256850, 0.460923283167177960, 0.460878910591790810, 0.460834536864206390, 0.460790161984535260, 0.460745785952889060, +0.460701408769378480, 0.460657030434113930, 0.460612650947207210, 0.460568270308768850, 0.460523888518909850, 0.460479505577740700, 0.460435121485373190, 0.460390736241917900, +0.460346349847485740, 0.460301962302187340, 0.460257573606134400, 0.460213183759437540, 0.460168792762207680, 0.460124400614555510, 0.460080007316592710, 0.460035612868429870, +0.459991217270178000, 0.459946820521947740, 0.459902422623850780, 0.459858023575997750, 0.459813623378499290, 0.459769222031467200, 0.459724819535011990, 0.459680415889244800, +0.459636011094276100, 0.459591605150217800, 0.459547198057180530, 0.459502789815275200, 0.459458380424612510, 0.459413969885304310, 0.459369558197461170, 0.459325145361194120, +0.459280731376613790, 0.459236316243832100, 0.459191899962959560, 0.459147482534107250, 0.459103063957385870, 0.459058644232907260, 0.459014223360782010, 0.458969801341120750, +0.458925378174035450, 0.458880953859636730, 0.458836528398035570, 0.458792101789342710, 0.458747674033670010, 0.458703245131128090, 0.458658815081828040, 0.458614383885880610, +0.458569951543397580, 0.458525518054489710, 0.458481083419268020, 0.458436647637843200, 0.458392210710327210, 0.458347772636830690, 0.458303333417464710, 0.458258893052340020, +0.458214451541568480, 0.458170008885260770, 0.458125565083528090, 0.458081120136481110, 0.458036674044231710, 0.457992226806890610, 0.457947778424568570, 0.457903328897377450, +0.457858878225428030, 0.457814426408831410, 0.457769973447698380, 0.457725519342140730, 0.457681064092269330, 0.457636607698195250, 0.457592150160029240, 0.457547691477883320, +0.457503231651868130, 0.457458770682094840, 0.457414308568674210, 0.457369845311718260, 0.457325380911337680, 0.457280915367643650, 0.457236448680746920, 0.457191980850759460, +0.457147511877792070, 0.457103041761955490, 0.457058570503361740, 0.457014098102121510, 0.456969624558346050, 0.456925149872146160, 0.456880674043633750, 0.456836197072919670, +0.456791718960115110, 0.456747239705330820, 0.456702759308678870, 0.456658277770270020, 0.456613795090215490, 0.456569311268626040, 0.456524826305613700, 0.456480340201289300, +0.456435852955764110, 0.456391364569148810, 0.456346875041555520, 0.456302384373095060, 0.456257892563878280, 0.456213399614017080, 0.456168905523622440, 0.456124410292805480, +0.456079913921677180, 0.456035416410349450, 0.455990917758933190, 0.455946417967539600, 0.455901917036279580, 0.455857414965265220, 0.455812911754607250, 0.455768407404417040, +0.455723901914805380, 0.455679395285884410, 0.455634887517764930, 0.455590378610558230, 0.455545868564375180, 0.455501357379327840, 0.455456845055527140, 0.455412331593083920, +0.455367816992110260, 0.455323301252717080, 0.455278784375015620, 0.455234266359116850, 0.455189747205132780, 0.455145226913174330, 0.455100705483352850, 0.455056182915779150, +0.455011659210565410, 0.454967134367822550, 0.454922608387661850, 0.454878081270194250, 0.454833553015531800, 0.454789023623785480, 0.454744493095066590, 0.454699961429486100, +0.454655428627156080, 0.454610894688187490, 0.454566359612691650, 0.454521823400779570, 0.454477286052563270, 0.454432747568153770, 0.454388207947662050, 0.454343667191200170, +0.454299125298879110, 0.454254582270810230, 0.454210038107104530, 0.454165492807874100, 0.454120946373229970, 0.454076398803283490, 0.454031850098145560, 0.453987300257928440, +0.453942749282743030, 0.453898197172700800, 0.453853643927912660, 0.453809089548490810, 0.453764534034546250, 0.453719977386190300, 0.453675419603534080, 0.453630860686689670, +0.453586300635768100, 0.453541739450880390, 0.453497177132138720, 0.453452613679654120, 0.453408049093537990, 0.453363483373901370, 0.453318916520856370, 0.453274348534514090, +0.453229779414985990, 0.453185209162383030, 0.453140637776817400, 0.453096065258400240, 0.453051491607242900, 0.453006916823456400, 0.452962340907153040, 0.452917763858443790, +0.452873185677440170, 0.452828606364253150, 0.452784025918995030, 0.452739444341776880, 0.452694861632709670, 0.452650277791905750, 0.452605692819476100, 0.452561106715532240, +0.452516519480185180, 0.452471931113547220, 0.452427341615729510, 0.452382750986843380, 0.452338159226999990, 0.452293566336311570, 0.452248972314889250, 0.452204377162844510, +0.452159780880288460, 0.452115183467333310, 0.452070584924090250, 0.452025985250670670, 0.451981384447185770, 0.451936782513747800, 0.451892179450467830, 0.451847575257457450, +0.451802969934827710, 0.451758363482690990, 0.451713755901158360, 0.451669147190340900, 0.451624537350351020, 0.451579926381299730, 0.451535314283298680, 0.451490701056458940, +0.451446086700892810, 0.451401471216711480, 0.451356854604026470, 0.451312236862948970, 0.451267617993591220, 0.451222997996064470, 0.451178376870480180, 0.451133754616949540, +0.451089131235584970, 0.451044506726497540, 0.450999881089798830, 0.450955254325600070, 0.450910626434013530, 0.450865997415150430, 0.450821367269121920, 0.450776735996040460, +0.450732103596017120, 0.450687470069163490, 0.450642835415590800, 0.450598199635411420, 0.450553562728736590, 0.450508924695677770, 0.450464285536346320, 0.450419645250854540, +0.450375003839313610, 0.450330361301835180, 0.450285717638530420, 0.450241072849511810, 0.450196426934890540, 0.450151779894778170, 0.450107131729285960, 0.450062482438526310, +0.450017832022610480, 0.449973180481649640, 0.449928527815756260, 0.449883874025041540, 0.449839219109617160, 0.449794563069594310, 0.449749905905085460, 0.449705247616201900, +0.449660588203055160, 0.449615927665756530, 0.449571266004418550, 0.449526603219152390, 0.449481939310069690, 0.449437274277281750, 0.449392608120901040, 0.449347940841038800, +0.449303272437806660, 0.449258602911316030, 0.449213932261679220, 0.449169260489007630, 0.449124587593412450, 0.449079913575006210, 0.449035238433900200, 0.448990562170206110, +0.448945884784035190, 0.448901206275499950, 0.448856526644711710, 0.448811845891782140, 0.448767164016822600, 0.448722481019945500, 0.448677796901262250, 0.448633111660884430, +0.448588425298923510, 0.448543737815491890, 0.448499049210700880, 0.448454359484662330, 0.448409668637487440, 0.448364976669288760, 0.448320283580177670, 0.448275589370265900, +0.448230894039664710, 0.448186197588486710, 0.448141500016843160, 0.448096801324845530, 0.448052101512606270, 0.448007400580236750, 0.447962698527848760, 0.447917995355553540, +0.447873291063463800, 0.447828585651690810, 0.447783879120346400, 0.447739171469541840, 0.447694462699389780, 0.447649752810001580, 0.447605041801488970, 0.447560329673963360, +0.447515616427537340, 0.447470902062322260, 0.447426186578429920, 0.447381469975971720, 0.447336752255060250, 0.447292033415806920, 0.447247313458323080, 0.447202592382721360, +0.447157870189113130, 0.447113146877610280, 0.447068422448324120, 0.447023696901367340, 0.446978970236851290, 0.446934242454887830, 0.446889513555588370, 0.446844783539065540, +0.446800052405430690, 0.446755320154795740, 0.446710586787272100, 0.446665852302972400, 0.446621116702008050, 0.446576379984490960, 0.446531642150532480, 0.446486903200245260, +0.446442163133740800, 0.446397421951130580, 0.446352679652527170, 0.446307936238042050, 0.446263191707787110, 0.446218446061873770, 0.446173699300414730, 0.446128951423521490, +0.446084202431305810, 0.446039452323879200, 0.445994701101354420, 0.445949948763842860, 0.445905195311456450, 0.445860440744306640, 0.445815685062506130, 0.445770928266166380, +0.445726170355399350, 0.445681411330316470, 0.445636651191030460, 0.445591889937652810, 0.445547127570295460, 0.445502364089069900, 0.445457599494088810, 0.445412833785463700, +0.445368066963306160, 0.445323299027728830, 0.445278529978843260, 0.445233759816761330, 0.445188988541594610, 0.445144216153455840, 0.445099442652456550, 0.445054668038708630, +0.445009892312323630, 0.444965115473414330, 0.444920337522092200, 0.444875558458469210, 0.444830778282656990, 0.444785996994768170, 0.444741214594914390, 0.444696431083207560, +0.444651646459759300, 0.444606860724682250, 0.444562073878088100, 0.444517285920088320, 0.444472496850795760, 0.444427706670321940, 0.444382915378778890, 0.444338122976278120, +0.444293329462932430, 0.444248534838853460, 0.444203739104153120, 0.444158942258943030, 0.444114144303335960, 0.444069345237443570, 0.444024545061377840, 0.443979743775250290, +0.443934941379173830, 0.443890137873259980, 0.443845333257620820, 0.443800527532367930, 0.443755720697614040, 0.443710912753470970, 0.443666103700050110, 0.443621293537464430, +0.443576482265825580, 0.443531669885245450, 0.443486856395835740, 0.443442041797709300, 0.443397226090977810, 0.443352409275753200, 0.443307591352147200, 0.443262772320272560, +0.443217952180241070, 0.443173130932164650, 0.443128308576155040, 0.443083485112324980, 0.443038660540786280, 0.442993834861650890, 0.442949008075030570, 0.442904180181038050, +0.442859351179785140, 0.442814521071383860, 0.442769689855945840, 0.442724857533583980, 0.442680024104410040, 0.442635189568535590, 0.442590353926073600, 0.442545517177135690, +0.442500679321834010, 0.442455840360280240, 0.442411000292587230, 0.442366159118866730, 0.442321316839230870, 0.442276473453791290, 0.442231628962660940, 0.442186783365951520, +0.442141936663775100, 0.442097088856243490, 0.442052239943469540, 0.442007389925564990, 0.441962538802641970, 0.441917686574812170, 0.441872833242188620, 0.441827978804882950, +0.441783123263006890, 0.441738266616673480, 0.441693408865994400, 0.441648550011081780, 0.441603690052047360, 0.441558828989004170, 0.441513966822063900, 0.441469103551338670, +0.441424239176940290, 0.441379373698981730, 0.441334507117574770, 0.441289639432831500, 0.441244770644863730, 0.441199900753784460, 0.441155029759705390, 0.441110157662738810, +0.441065284462996370, 0.441020410160591180, 0.440975534755634950, 0.440930658248239460, 0.440885780638517740, 0.440840901926581540, 0.440796022112543100, 0.440751141196514260, +0.440706259178607900, 0.440661376058935910, 0.440616491837610480, 0.440571606514743420, 0.440526720090447740, 0.440481832564835310, 0.440436943938018240, 0.440392054210108410, +0.440347163381218880, 0.440302271451461450, 0.440257378420948310, 0.440212484289791320, 0.440167589058103490, 0.440122692725996740, 0.440077795293582870, 0.440032896760974900, +0.439987997128284620, 0.439943096395624460, 0.439898194563106080, 0.439853291630842640, 0.439808387598945970, 0.439763482467528330, 0.439718576236701570, 0.439673668906578770, +0.439628760477271840, 0.439583850948892960, 0.439538940321554050, 0.439494028595368240, 0.439449115770447320, 0.439404201846903650, 0.439359286824849040, 0.439314370704396610, +0.439269453485658270, 0.439224535168746270, 0.439179615753772570, 0.439134695240850190, 0.439089773630091110, 0.439044850921607170, 0.438999927115511560, 0.438955002211916080, +0.438910076210933090, 0.438865149112674490, 0.438820220917253480, 0.438775291624781900, 0.438730361235372070, 0.438685429749135940, 0.438640497166186640, 0.438595563486636090, +0.438550628710596630, 0.438505692838180190, 0.438460755869499950, 0.438415817804667820, 0.438370878643796150, 0.438325938386996850, 0.438280997034383110, 0.438236054586066900, +0.438191111042160130, 0.438146166402775980, 0.438101220668026430, 0.438056273838023870, 0.438011325912880170, 0.437966376892708560, 0.437921426777621030, 0.437876475567729910, +0.437831523263147230, 0.437786569863986120, 0.437741615370358550, 0.437696659782376980, 0.437651703100153390, 0.437606745323800890, 0.437561786453431580, 0.437516826489157740, +0.437471865431091510, 0.437426903279345970, 0.437381940034033130, 0.437336975695265140, 0.437292010263155060, 0.437247043737814920, 0.437202076119357190, 0.437157107407893930, +0.437112137603538230, 0.437067166706402220, 0.437022194716598260, 0.436977221634238470, 0.436932247459435990, 0.436887272192302890, 0.436842295832951640, 0.436797318381494220, +0.436752339838043900, 0.436707360202712720, 0.436662379475613150, 0.436617397656857250, 0.436572414746558280, 0.436527430744828250, 0.436482445651779630, 0.436437459467524490, +0.436392472192176080, 0.436347483825846540, 0.436302494368647880, 0.436257503820693390, 0.436212512182095110, 0.436167519452965560, 0.436122525633416860, 0.436077530723562200, +0.436032534723513720, 0.435987537633383880, 0.435942539453284820, 0.435897540183329820, 0.435852539823630980, 0.435807538374300750, 0.435762535835451330, 0.435717532207195890, +0.435672527489646690, 0.435627521682916130, 0.435582514787116400, 0.435537506802360750, 0.435492497728761360, 0.435447487566430310, 0.435402476315480960, 0.435357463976025370, +0.435312450548176190, 0.435267436032045430, 0.435222420427746500, 0.435177403735391540, 0.435132385955093070, 0.435087367086963220, 0.435042347131115340, 0.434997326087661560, +0.434952303956714530, 0.434907280738386300, 0.434862256432790310, 0.434817231040038670, 0.434772204560243900, 0.434727176993518260, 0.434682148339975090, 0.434637118599726540, +0.434592087772884770, 0.434547055859563210, 0.434502022859873990, 0.434456988773929690, 0.434411953601842590, 0.434366917343725960, 0.434321879999692020, 0.434276841569853410, +0.434231802054322270, 0.434186761453212060, 0.434141719766634960, 0.434096676994703500, 0.434051633137529980, 0.434006588195227800, 0.433961542167909110, 0.433916495055686580, +0.433871446858672400, 0.433826397576980050, 0.433781347210721650, 0.433736295760009490, 0.433691243224957000, 0.433646189605676410, 0.433601134902280360, 0.433556079114881090, +0.433511022243591950, 0.433465964288525300, 0.433420905249793760, 0.433375845127509480, 0.433330783921786090, 0.433285721632735650, 0.433240658260470980, 0.433195593805104200, +0.433150528266748880, 0.433105461645517220, 0.433060393941521900, 0.433015325154875230, 0.432970255285690610, 0.432925184334080390, 0.432880112300157160, 0.432835039184033270, +0.432789964985822170, 0.432744889705636180, 0.432699813343587590, 0.432654735899789810, 0.432609657374355250, 0.432564577767396490, 0.432519497079025930, 0.432474415309356990, +0.432429332458502010, 0.432384248526573760, 0.432339163513684450, 0.432294077419947630, 0.432248990245475580, 0.432203901990381110, 0.432158812654776460, 0.432113722238775200, +0.432068630742489630, 0.432023538166032450, 0.431978444509516060, 0.431933349773053920, 0.431888253956758450, 0.431843157060741940, 0.431798059085117920, 0.431752960029998740, +0.431707859895497200, 0.431662758681725540, 0.431617656388797450, 0.431572553016825230, 0.431527448565921570, 0.431482343036198920, 0.431437236427770820, 0.431392128740749610, +0.431347019975248100, 0.431301910131378640, 0.431256799209254750, 0.431211687208988950, 0.431166574130693870, 0.431121459974481980, 0.431076344740466800, 0.431031228428760790, +0.430986111039476320, 0.430940992572726940, 0.430895873028625140, 0.430850752407283600, 0.430805630708814780, 0.430760507933332320, 0.430715384080948560, 0.430670259151776370, +0.430625133145928100, 0.430580006063517430, 0.430534877904656720, 0.430489748669458830, 0.430444618358036160, 0.430399486970502340, 0.430354354506969790, 0.430309220967551360, +0.430264086352359520, 0.430218950661507840, 0.430173813895108780, 0.430128676053275150, 0.430083537136119460, 0.430038397143755360, 0.429993256076295240, 0.429948113933851570, +0.429902970716538050, 0.429857826424467070, 0.429812681057751500, 0.429767534616503850, 0.429722387100837770, 0.429677238510865760, 0.429632088846700620, 0.429586938108454830, +0.429541786296242120, 0.429496633410174970, 0.429451479450366210, 0.429406324416928330, 0.429361168309975060, 0.429316011129618870, 0.429270852875972660, 0.429225693549148910, +0.429180533149261360, 0.429135371676422460, 0.429090209130744690, 0.429045045512341850, 0.428999880821326340, 0.428954715057811190, 0.428909548221908800, 0.428864380313732970, +0.428819211333396180, 0.428774041281011380, 0.428728870156691030, 0.428683697960548950, 0.428638524692697590, 0.428593350353249970, 0.428548174942318560, 0.428502998460017050, +0.428457820906458120, 0.428412642281754570, 0.428367462586019100, 0.428322281819365320, 0.428277099981905830, 0.428231917073753190, 0.428186733095021200, 0.428141548045822330, +0.428096361926269600, 0.428051174736475580, 0.428005986476554020, 0.427960797146617500, 0.427915606746778980, 0.427870415277151030, 0.427825222737847450, 0.427780029128980830, +0.427734834450664130, 0.427689638703009910, 0.427644441886132040, 0.427599244000143040, 0.427554045045155930, 0.427508845021283330, 0.427463643928639000, 0.427418441767335570, +0.427373238537485600, 0.427328034239202960, 0.427282828872600270, 0.427237622437790450, 0.427192414934886190, 0.427147206364001330, 0.427101996725248400, 0.427056786018740530, +0.427011574244590240, 0.426966361402911500, 0.426921147493816770, 0.426875932517419230, 0.426830716473831420, 0.426785499363167230, 0.426740281185539310, 0.426695061941060660, +0.426649841629843930, 0.426604620252003080, 0.426559397807650620, 0.426514174296899640, 0.426468949719862880, 0.426423724076654130, 0.426378497367386090, 0.426333269592171380, +0.426288040751123860, 0.426242810844356280, 0.426197579871981700, 0.426152347834112710, 0.426107114730863320, 0.426061880562346120, 0.426016645328674170, 0.425971409029960280, +0.425926171666318190, 0.425880933237860750, 0.425835693744700930, 0.425790453186951470, 0.425745211564726280, 0.425699968878138100, 0.425654725127299960, 0.425609480312324600, +0.425564234433325970, 0.425518987490416720, 0.425473739483709650, 0.425428490413318590, 0.425383240279356310, 0.425337989081935930, 0.425292736821170190, 0.425247483497173010, +0.425202229110057120, 0.425156973659935660, 0.425111717146921360, 0.425066459571128150, 0.425021200932668820, 0.424975941231656500, 0.424930680468203870, 0.424885418642424960, +0.424840155754432570, 0.424794891804339710, 0.424749626792259250, 0.424704360718305090, 0.424659093582590070, 0.424613825385226910, 0.424568556126329600, 0.424523285806010840, +0.424478014424383930, 0.424432741981561560, 0.424387468477657740, 0.424342193912785270, 0.424296918287057290, 0.424251641600586590, 0.424206363853487200, 0.424161085045871910, +0.424115805177853910, 0.424070524249546000, 0.424025242261062200, 0.423979959212515240, 0.423934675104018440, 0.423889389935684540, 0.423844103707627540, 0.423798816419960310, +0.423753528072795980, 0.423708238666247520, 0.423662948200428770, 0.423617656675452700, 0.423572364091432120, 0.423527070448480980, 0.423481775746712140, 0.423436479986238900, +0.423391183167174060, 0.423345885289631680, 0.423300586353724580, 0.423255286359566000, 0.423209985307268780, 0.423164683196947060, 0.423119380028713580, 0.423074075802681690, +0.423028770518964150, 0.422983464177675130, 0.422938156778927430, 0.422892848322834360, 0.422847538809508760, 0.422802228239064710, 0.422756916611615070, 0.422711603927272810, +0.422666290186151870, 0.422620975388365240, 0.422575659534026150, 0.422530342623247510, 0.422485024656143400, 0.422439705632826790, 0.422394385553410860, 0.422349064418008570, +0.422303742226734060, 0.422258418979700120, 0.422213094677020230, 0.422167769318807120, 0.422122442905175030, 0.422077115436236830, 0.422031786912105800, 0.421986457332894970, +0.421941126698718360, 0.421895795009688930, 0.421850462265919600, 0.421805128467524550, 0.421759793614616680, 0.421714457707309310, 0.421669120745715390, 0.421623782729949050, +0.421578443660123310, 0.421533103536351430, 0.421487762358746350, 0.421442420127422330, 0.421397076842492220, 0.421351732504069430, 0.421306387112266920, 0.421261040667198830, +0.421215693168978170, 0.421170344617718240, 0.421124995013532070, 0.421079644356533780, 0.421034292646836390, 0.420988939884552880, 0.420943586069797430, 0.420898231202682990, +0.420852875283322990, 0.420807518311830390, 0.420762160288319420, 0.420716801212903060, 0.420671441085694650, 0.420626079906807230, 0.420580717676355080, 0.420535354394451060, +0.420489990061208680, 0.420444624676740930, 0.420399258241162030, 0.420353890754585010, 0.420308522217123230, 0.420263152628889750, 0.420217781989998760, 0.420172410300563350, +0.420127037560696910, 0.420081663770512430, 0.420036288930124240, 0.419990913039645310, 0.419945536099188720, 0.419900158108868660, 0.419854779068798260, 0.419809398979090860, +0.419764017839859560, 0.419718635651218640, 0.419673252413281130, 0.419627868126160490, 0.419582482789969740, 0.419537096404823230, 0.419491708970833990, 0.419446320488115420, +0.419400930956780660, 0.419355540376944000, 0.419310148748718530, 0.419264756072217640, 0.419219362347554410, 0.419173967574843260, 0.419128571754197150, 0.419083174885729210, +0.419037776969553740, 0.418992378005783820, 0.418946977994532950, 0.418901576935914290, 0.418856174830042010, 0.418810771677029350, 0.418765367476989720, 0.418719962230036320, +0.418674555936283390, 0.418629148595844050, 0.418583740208831880, 0.418538330775359900, 0.418492920295542530, 0.418447508769492880, 0.418402096197324440, 0.418356682579150370, +0.418311267915084940, 0.418265852205241370, 0.418220435449732810, 0.418175017648673540, 0.418129598802176710, 0.418084178910355870, 0.418038757973324240, 0.417993335991196040, +0.417947912964084570, 0.417902488892103300, 0.417857063775365360, 0.417811637613985210, 0.417766210408075930, 0.417720782157751160, 0.417675352863124020, 0.417629922524308920, +0.417584491141418990, 0.417539058714567810, 0.417493625243868630, 0.417448190729435790, 0.417402755171382420, 0.417357318569822220, 0.417311880924868260, 0.417266442236635060, +0.417221002505235690, 0.417175561730783460, 0.417130119913392720, 0.417084677053176700, 0.417039233150248990, 0.416993788204722770, 0.416948342216712450, 0.416902895186331330, +0.416857447113692940, 0.416811997998910560, 0.416766547842098540, 0.416721096643370200, 0.416675644402839110, 0.416630191120618500, 0.416584736796822790, 0.416539281431565270, +0.416493825024959520, 0.416448367577118840, 0.416402909088157580, 0.416357449558189100, 0.416311988987326580, 0.416266527375684480, 0.416221064723376110, 0.416175601030515040, +0.416130136297214570, 0.416084670523589160, 0.416039203709752060, 0.415993735855817000, 0.415948266961897130, 0.415902797028107060, 0.415857326054559940, 0.415811854041369560, +0.415766380988649100, 0.415720906896513090, 0.415675431765074880, 0.415629955594448040, 0.415584478384745880, 0.415539000136082970, 0.415493520848572550, 0.415448040522327920, +0.415402559157463550, 0.415357076754092840, 0.415311593312329420, 0.415266108832286650, 0.415220623314078940, 0.415175136757819700, 0.415129649163622660, 0.415084160531601080, +0.415038670861869460, 0.414993180154541170, 0.414947688409729950, 0.414902195627549100, 0.414856701808113180, 0.414811206951535500, 0.414765711057929810, 0.414720214127409390, +0.414674716160088890, 0.414629217156081590, 0.414583717115500850, 0.414538216038461190, 0.414492713925076030, 0.414447210775459040, 0.414401706589723640, 0.414356201367984400, +0.414310695110354620, 0.414265187816948100, 0.414219679487878250, 0.414174170123259580, 0.414128659723205510, 0.414083148287829770, 0.414037635817245730, 0.413992122311568010, +0.413946607770910020, 0.413901092195385510, 0.413855575585107830, 0.413810057940191660, 0.413764539260750300, 0.413719019546897600, 0.413673498798746990, 0.413627977016413020, +0.413582454200009050, 0.413536930349648610, 0.413491405465446220, 0.413445879547515330, 0.413400352595969740, 0.413354824610922820, 0.413309295592489300, 0.413263765540782540, +0.413218234455916320, 0.413172702338004130, 0.413127169187160580, 0.413081635003499150, 0.413036099787133570, 0.412990563538177420, 0.412945026256745170, 0.412899487942950450, +0.412853948596906940, 0.412808408218728160, 0.412762866808528810, 0.412717324366422220, 0.412671780892521990, 0.412626236386942680, 0.412580690849797760, 0.412535144281201140, +0.412489596681266280, 0.412444048050107760, 0.412398498387839150, 0.412352947694574310, 0.412307395970426700, 0.412261843215511010, 0.412216289429940710, 0.412170734613829690, +0.412125178767291380, 0.412079621890440560, 0.412034063983390710, 0.411988505046255670, 0.411942945079148970, 0.411897384082185290, 0.411851822055478210, 0.411806258999141140, +0.411760694913288820, 0.411715129798034760, 0.411669563653492890, 0.411623996479776650, 0.411578428277000920, 0.411532859045279030, 0.411487288784725070, 0.411441717495452440, +0.411396145177575890, 0.411350571831209040, 0.411304997456465700, 0.411259422053459500, 0.411213845622305170, 0.411168268163116190, 0.411122689676006570, 0.411077110161089780, +0.411031529618480660, 0.410985948048292690, 0.410940365450639890, 0.410894781825635710, 0.410849197173395020, 0.410803611494031330, 0.410758024787658220, 0.410712437054390420, +0.410666848294341520, 0.410621258507625540, 0.410575667694355990, 0.410530075854647680, 0.410484482988614170, 0.410438889096369500, 0.410393294178027170, 0.410347698233701990, +0.410302101263507580, 0.410256503267557910, 0.410210904245966620, 0.410165304198848450, 0.410119703126316960, 0.410074101028486290, 0.410028497905469910, 0.409982893757382730, +0.409937288584338310, 0.409891682386450240, 0.409846075163833370, 0.409800466916601320, 0.409754857644868130, 0.409709247348747360, 0.409663636028353870, 0.409618023683801350, +0.409572410315203690, 0.409526795922674660, 0.409481180506329030, 0.409435564066280460, 0.409389946602642940, 0.409344328115530180, 0.409298708605056960, 0.409253088071337030, +0.409207466514484360, 0.409161843934612630, 0.409116220331836640, 0.409070595706270130, 0.409024970058026740, 0.408979343387221360, 0.408933715693967580, 0.408888086978379530, +0.408842457240570830, 0.408796826480656410, 0.408751194698749880, 0.408705561894965430, 0.408659928069416640, 0.408614293222218430, 0.408568657353484520, 0.408523020463328950, +0.408477382551865390, 0.408431743619208810, 0.408386103665472840, 0.408340462690771680, 0.408294820695218890, 0.408249177678929490, 0.408203533642017170, 0.408157888584595560, +0.408112242506779630, 0.408066595408683120, 0.408020947290420100, 0.407975298152104370, 0.407929647993850730, 0.407883996815772980, 0.407838344617985290, 0.407792691400601260, +0.407747037163735950, 0.407701381907503050, 0.407655725632016690, 0.407610068337390610, 0.407564410023739780, 0.407518750691177880, 0.407473090339819100, 0.407427428969777240, +0.407381766581167200, 0.407336103174102740, 0.407290438748698020, 0.407244773305066810, 0.407199106843324050, 0.407153439363583500, 0.407107770865959010, 0.407062101350565420, +0.407016430817516650, 0.406970759266926770, 0.406925086698909590, 0.406879413113580110, 0.406833738511052090, 0.406788062891439710, 0.406742386254856810, 0.406696708601418320, +0.406651029931238030, 0.406605350244430230, 0.406559669541108560, 0.406513987821388200, 0.406468305085382840, 0.406422621333206720, 0.406376936564973650, 0.406331250780798630, +0.406285563980795520, 0.406239876165078060, 0.406194187333761340, 0.406148497486959140, 0.406102806624785650, 0.406057114747354790, 0.406011421854781560, 0.405965727947179720, +0.405920033024663620, 0.405874337087346990, 0.405828640135344920, 0.405782942168771310, 0.405737243187740290, 0.405691543192365780, 0.405645842182762780, 0.405600140159045220, +0.405554437121327270, 0.405508733069722850, 0.405463028004347030, 0.405417321925313600, 0.405371614832736480, 0.405325906726730690, 0.405280197607410190, 0.405234487474889160, +0.405188776329281520, 0.405143064170702340, 0.405097350999265470, 0.405051636815085270, 0.405005921618275530, 0.404960205408951390, 0.404914488187226810, 0.404868769953215910, +0.404823050707032730, 0.404777330448792330, 0.404731609178608620, 0.404685886896595900, 0.404640163602868030, 0.404594439297540130, 0.404548713980726170, 0.404502987652540390, +0.404457260313096760, 0.404411531962510400, 0.404365802600895160, 0.404320072228365080, 0.404274340845035160, 0.404228608451019430, 0.404182875046432130, 0.404137140631387280, +0.404091405206000010, 0.404045668770384170, 0.403999931324654170, 0.403954192868923980, 0.403908453403308660, 0.403862712927922200, 0.403816971442878980, 0.403771228948292980, +0.403725485444279220, 0.403679740930951820, 0.403633995408425040, 0.403588248876812830, 0.403542501336230490, 0.403496752786791810, 0.403451003228610880, 0.403405252661802830, +0.403359501086481660, 0.403313748502761750, 0.403267994910757040, 0.403222240310582790, 0.403176484702352900, 0.403130728086181830, 0.403084970462183500, 0.403039211830473200, +0.402993452191164780, 0.402947691544372820, 0.402901929890211170, 0.402856167228795140, 0.402810403560238670, 0.402764638884656190, 0.402718873202161710, 0.402673106512870470, +0.402627338816896440, 0.402581570114353690, 0.402535800405357360, 0.402490029690021570, 0.402444257968460730, 0.402398485240788810, 0.402352711507121100, 0.402306936767571570, +0.402261161022254730, 0.402215384271284560, 0.402169606514776400, 0.402123827752844170, 0.402078047985602370, 0.402032267213165040, 0.401986485435647470, 0.401940702653163670, +0.401894918865828120, 0.401849134073754890, 0.401803348277059160, 0.401757561475855120, 0.401711773670256790, 0.401665984860379350, 0.401620195046337000, 0.401574404228244200, +0.401528612406214900, 0.401482819580364520, 0.401437025750807140, 0.401391230917657100, 0.401345435081028660, 0.401299638241036980, 0.401253840397796210, 0.401208041551420870, +0.401162241702025020, 0.401116440849723980, 0.401070638994631800, 0.401024836136863020, 0.400979032276531750, 0.400933227413753370, 0.400887421548641820, 0.400841614681311800, +0.400795806811877320, 0.400749997940453680, 0.400704188067155080, 0.400658377192095630, 0.400612565315390580, 0.400566752437154170, 0.400520938557500870, 0.400475123676544810, +0.400429307794401330, 0.400383490911184580, 0.400337673027009120, 0.400291854141989090, 0.400246034256239840, 0.400200213369875430, 0.400154391483010570, 0.400108568595759270, +0.400062744708236990, 0.400016919820557810, 0.399971093932836360, 0.399925267045186770, 0.399879439157724390, 0.399833610270563470, 0.399787780383818070, 0.399741949497603610, +0.399696117612034330, 0.399650284727224750, 0.399604450843288990, 0.399558615960342590, 0.399512780078499610, 0.399466943197874680, 0.399421105318581990, 0.399375266440736900, +0.399329426564453690, 0.399283585689846950, 0.399237743817030750, 0.399191900946120670, 0.399146057077230830, 0.399100212210475810, 0.399054366345969860, 0.399008519483828430, +0.398962671624165710, 0.398916822767095840, 0.398870972912734380, 0.398825122061195470, 0.398779270212593740, 0.398733417367043490, 0.398687563524660000, 0.398641708685557710, +0.398595852849851050, 0.398549996017654400, 0.398504138189083200, 0.398458279364251600, 0.398412419543274330, 0.398366558726265580, 0.398320696913340880, 0.398274834104614390, +0.398228970300200820, 0.398183105500214460, 0.398137239704770720, 0.398091372913983890, 0.398045505127968600, 0.397999636346839160, 0.397953766570711020, 0.397907895799698490, +0.397862024033915800, 0.397816151273478470, 0.397770277518500750, 0.397724402769097320, 0.397678527025382480, 0.397632650287471750, 0.397586772555479420, 0.397540893829520130, +0.397495014109708170, 0.397449133396159120, 0.397403251688987210, 0.397357368988307200, 0.397311485294233320, 0.397265600606881150, 0.397219714926364990, 0.397173828252799570, +0.397127940586299130, 0.397082051926979260, 0.397036162274954250, 0.396990271630338450, 0.396944379993247390, 0.396898487363795350, 0.396852593742097080, 0.396806699128266940, +0.396760803522420440, 0.396714906924671980, 0.396669009335136210, 0.396623110753927530, 0.396577211181161460, 0.396531310616952350, 0.396485409061415000, 0.396439506514663700, +0.396393602976814030, 0.396347698447980400, 0.396301792928277500, 0.396255886417819670, 0.396209978916722600, 0.396164070425100550, 0.396118160943067900, 0.396072250470740290, +0.396026339008232030, 0.395980426555657910, 0.395934513113132320, 0.395888598680770920, 0.395842683258687930, 0.395796766846998270, 0.395750849445816290, 0.395704931055257610, +0.395659011675436600, 0.395613091306468050, 0.395567169948466360, 0.395521247601547170, 0.395475324265824820, 0.395429399941414180, 0.395383474628429650, 0.395337548326986870, +0.395291621037200170, 0.395245692759183980, 0.395199763493054020, 0.395153833238924670, 0.395107901996910650, 0.395061969767126540, 0.395016036549687920, 0.394970102344709200, +0.394924167152305160, 0.394878230972590340, 0.394832293805680360, 0.394786355651689620, 0.394740416510733050, 0.394694476382924990, 0.394648535268381120, 0.394602593167215960, +0.394556650079544320, 0.394510706005480600, 0.394464760945140550, 0.394418814898638610, 0.394372867866089600, 0.394326919847608040, 0.394280970843309600, 0.394235020853308690, +0.394189069877719840, 0.394143117916658740, 0.394097164970239830, 0.394051211038577990, 0.394005256121787770, 0.393959300219984760, 0.393913343333283540, 0.393867385461798950, +0.393821426605645450, 0.393775466764938850, 0.393729505939793560, 0.393683544130324470, 0.393637581336646170, 0.393591617558874280, 0.393545652797123390, 0.393499687051508340, +0.393453720322143650, 0.393407752609145070, 0.393361783912627160, 0.393315814232704340, 0.393269843569492410, 0.393223871923105870, 0.393177899293659590, 0.393131925681268260, +0.393085951086047440, 0.393039975508111760, 0.392993998947576200, 0.392948021404555150, 0.392902042879164530, 0.392856063371518740, 0.392810082881732800, 0.392764101409921300, +0.392718118956199900, 0.392672135520683200, 0.392626151103486200, 0.392580165704723370, 0.392534179324510570, 0.392488191962962310, 0.392442203620193160, 0.392396214296318930, +0.392350223991454140, 0.392304232705713800, 0.392258240439212480, 0.392212247192065930, 0.392166252964388780, 0.392120257756296050, 0.392074261567902200, 0.392028264399323150, +0.391982266250673390, 0.391936267122068030, 0.391890267013621510, 0.391844265925449800, 0.391798263857667420, 0.391752260810389330, 0.391706256783730220, 0.391660251777805890, +0.391614245792730910, 0.391568238828620300, 0.391522230885588680, 0.391476221963751920, 0.391430212063224590, 0.391384201184121370, 0.391338189326558010, 0.391292176490649180, +0.391246162676509910, 0.391200147884254830, 0.391154132113999740, 0.391108115365859380, 0.391062097639948700, 0.391016078936382410, 0.390970059255276280, 0.390924038596745070, +0.390878016960903680, 0.390831994347866920, 0.390785970757750510, 0.390739946190669210, 0.390693920646738020, 0.390647894126071650, 0.390601866628785930, 0.390555838154995620, +0.390509808704815220, 0.390463778278360710, 0.390417746875746760, 0.390371714497088520, 0.390325681142500490, 0.390279646812098700, 0.390233611505997780, 0.390187575224312850, +0.390141537967158560, 0.390095499734650850, 0.390049460526904370, 0.390003420344034290, 0.389957379186155200, 0.389911337053383100, 0.389865293945832640, 0.389819249863618930, +0.389773204806856680, 0.389727158775661890, 0.389681111770149140, 0.389635063790433220, 0.389589014836630050, 0.389542964908854370, 0.389496914007221250, 0.389450862131845430, +0.389404809282842880, 0.389358755460328330, 0.389312700664416870, 0.389266644895223220, 0.389220588152863370, 0.389174530437452090, 0.389128471749104480, 0.389082412087935260, +0.389036351454060400, 0.388990289847594710, 0.388944227268653300, 0.388898163717350860, 0.388852099193803420, 0.388806033698125770, 0.388759967230433050, 0.388713899790839980, +0.388667831379462540, 0.388621761996415570, 0.388575691641813770, 0.388529620315773150, 0.388483548018408450, 0.388437474749834920, 0.388391400510167240, 0.388345325299521540, +0.388299249118012500, 0.388253171965755320, 0.388207093842864780, 0.388161014749456970, 0.388114934685646620, 0.388068853651548920, 0.388022771647278660, 0.387976688672951870, +0.387930604728683400, 0.387884519814588380, 0.387838433930781660, 0.387792347077379310, 0.387746259254496020, 0.387700170462246750, 0.387654080700747420, 0.387607989970112870, +0.387561898270458390, 0.387515805601898690, 0.387469711964549930, 0.387423617358526930, 0.387377521783944800, 0.387331425240918510, 0.387285327729564090, 0.387239229249996320, +0.387193129802330450, 0.387147029386681380, 0.387100928003165150, 0.387054825651896580, 0.387008722332990940, 0.386962618046563070, 0.386916512792729090, 0.386870406571603880, +0.386824299383302150, 0.386778191227940160, 0.386732082105632650, 0.386685972016494960, 0.386639860960641900, 0.386593748938189600, 0.386547635949252950, 0.386501521993947220, +0.386455407072387240, 0.386409291184689140, 0.386363174330967840, 0.386317056511338630, 0.386270937725916360, 0.386224817974817110, 0.386178697258155850, 0.386132575576047850, +0.386086452928607990, 0.386040329315952390, 0.385994204738196010, 0.385948079195453710, 0.385901952687841550, 0.385855825215474570, 0.385809696778468050, 0.385763567376936840, +0.385717437010997090, 0.385671305680763800, 0.385625173386352220, 0.385579040127877300, 0.385532905905455190, 0.385486770719200840, 0.385440634569229560, 0.385394497455656240, +0.385348359378597130, 0.385302220338167080, 0.385256080334481500, 0.385209939367655350, 0.385163797437804710, 0.385117654545044600, 0.385071510689490300, 0.385025365871256910, +0.384979220090460430, 0.384933073347215940, 0.384886925641638340, 0.384840776973843890, 0.384794627343947430, 0.384748476752064420, 0.384702325198309820, 0.384656172682799840, +0.384610019205649410, 0.384563864766973910, 0.384517709366888340, 0.384471553005508950, 0.384425395682950640, 0.384379237399328830, 0.384333078154758530, 0.384286917949355930, +0.384240756783236050, 0.384194594656514290, 0.384148431569305670, 0.384102267521726330, 0.384056102513891330, 0.384009936545915640, 0.383963769617915560, 0.383917601730006000, +0.383871432882302520, 0.383825263074919990, 0.383779092307974690, 0.383732920581581700, 0.383686747895856440, 0.383640574250913860, 0.383594399646870250, 0.383548224083840650, +0.383502047561940450, 0.383455870081284790, 0.383409691641989850, 0.383363512244170650, 0.383317331887942700, 0.383271150573420980, 0.383224968300721780, 0.383178785069960230, +0.383132600881251230, 0.383086415734711190, 0.383040229630455090, 0.382994042568598430, 0.382947854549256230, 0.382901665572544850, 0.382855475638579250, 0.382809284747475000, +0.382763092899347120, 0.382716900094311920, 0.382670706332484460, 0.382624511613980260, 0.382578315938914340, 0.382532119307403050, 0.382485921719561420, 0.382439723175505060, +0.382393523675348960, 0.382347323219209450, 0.382301121807201600, 0.382254919439441010, 0.382208716116042620, 0.382162511837122960, 0.382116306602796940, 0.382070100413179790, +0.382023893268387760, 0.381977685168536030, 0.381931476113740060, 0.381885266104115050, 0.381839055139777230, 0.381792843220841780, 0.381746630347424230, 0.381700416519639710, +0.381654201737604500, 0.381607986001433860, 0.381561769311243190, 0.381515551667147730, 0.381469333069263780, 0.381423113517706520, 0.381376893012591480, 0.381330671554033770, +0.381284449142149760, 0.381238225777054680, 0.381192001458863620, 0.381145776187692960, 0.381099549963657860, 0.381053322786873870, 0.381007094657456190, 0.380960865575521170, +0.380914635541183990, 0.380868404554560220, 0.380822172615765060, 0.380775939724914860, 0.380729705882124790, 0.380683471087510440, 0.380637235341187040, 0.380590998643270950, +0.380544760993877350, 0.380498522393121870, 0.380452282841119650, 0.380406042337987140, 0.380359800883839530, 0.380313558478792000, 0.380267315122961020, 0.380221070816461730, +0.380174825559409730, 0.380128579351920290, 0.380082332194109810, 0.380036084086093520, 0.379989835027987000, 0.379943585019905490, 0.379897334061965410, 0.379851082154281980, +0.379804829296970900, 0.379758575490147300, 0.379712320733927690, 0.379666065028427260, 0.379619808373761640, 0.379573550770046120, 0.379527292217397120, 0.379481032715929920, +0.379434772265759720, 0.379388510867002980, 0.379342248519774990, 0.379295985224191330, 0.379249720980367360, 0.379203455788419460, 0.379157189648462960, 0.379110922560613410, +0.379064654524986220, 0.379018385541697760, 0.378972115610863360, 0.378925844732598660, 0.378879572907018960, 0.378833300134240710, 0.378787026414379220, 0.378740751747550120, +0.378694476133868810, 0.378648199573451640, 0.378601922066414020, 0.378555643612871580, 0.378509364212939680, 0.378463083866734720, 0.378416802574372050, 0.378370520335966960, +0.378324237151635990, 0.378277953021494420, 0.378231667945657990, 0.378185381924241950, 0.378139094957362920, 0.378092807045136090, 0.378046518187677260, 0.378000228385101720, +0.377953937637526050, 0.377907645945065540, 0.377861353307835880, 0.377815059725952420, 0.377768765199531790, 0.377722469728689170, 0.377676173313540420, 0.377629875954200780, +0.377583577650786930, 0.377537278403414060, 0.377490978212197630, 0.377444677077254150, 0.377398374998698990, 0.377352071976647880, 0.377305768011216180, 0.377259463102520510, +0.377213157250676170, 0.377166850455798900, 0.377120542718004100, 0.377074234037408360, 0.377027924414127020, 0.376981613848275890, 0.376935302339970360, 0.376888989889326900, +0.376842676496461030, 0.376796362161488430, 0.376750046884524510, 0.376703730665685910, 0.376657413505087970, 0.376611095402846100, 0.376564776359076920, 0.376518456373895750, +0.376472135447418480, 0.376425813579760400, 0.376379490771038270, 0.376333167021367380, 0.376286842330863570, 0.376240516699642260, 0.376194190127820070, 0.376147862615512360, +0.376101534162835040, 0.376055204769903450, 0.376008874436834280, 0.375962543163742890, 0.375916210950745180, 0.375869877797956550, 0.375823543705493590, 0.375777208673471750, +0.375730872702006950, 0.375684535791214520, 0.375638197941211170, 0.375591859152112350, 0.375545519424033410, 0.375499178757091160, 0.375452837151400930, 0.375406494607078590, +0.375360151124239590, 0.375313806703000690, 0.375267461343477220, 0.375221115045785090, 0.375174767810039780, 0.375128419636357960, 0.375082070524855090, 0.375035720475647090, +0.374989369488849310, 0.374943017564578540, 0.374896664702950240, 0.374850310904080270, 0.374803956168084100, 0.374757600495078450, 0.374711243885178850, 0.374664886338500650, +0.374618527855160700, 0.374572168435274410, 0.374525808078957690, 0.374479446786326050, 0.374433084557496240, 0.374386721392583670, 0.374340357291704340, 0.374293992254973670, +0.374247626282508410, 0.374201259374424110, 0.374154891530836700, 0.374108522751861570, 0.374062153037615640, 0.374015782388214260, 0.373969410803773440, 0.373923038284408700, +0.373876664830236740, 0.373830290441373110, 0.373783915117933410, 0.373737538860034300, 0.373691161667791320, 0.373644783541320470, 0.373598404480737220, 0.373552024486158370, +0.373505643557699500, 0.373459261695476500, 0.373412878899604890, 0.373366495170201540, 0.373320110507381950, 0.373273724911262090, 0.373227338381957490, 0.373180950919584980, +0.373134562524260030, 0.373088173196098720, 0.373041782935216560, 0.372995391741730350, 0.372948999615755670, 0.372902606557408090, 0.372856212566804400, 0.372809817644060180, +0.372763421789291390, 0.372717025002613670, 0.372670627284143800, 0.372624228633997360, 0.372577829052290310, 0.372531428539138290, 0.372485027094658140, 0.372438624718965380, +0.372392221412176090, 0.372345817174405850, 0.372299412005771440, 0.372253005906388490, 0.372206598876373080, 0.372160190915840680, 0.372113782024908300, 0.372067372203691400, +0.372020961452306120, 0.371974549770868020, 0.371928137159493910, 0.371881723618299520, 0.371835309147400370, 0.371788893746913370, 0.371742477416954150, 0.371696060157638730, +0.371649641969082730, 0.371603222851403010, 0.371556802804715260, 0.371510381829135540, 0.371463959924779430, 0.371417537091763840, 0.371371113330204390, 0.371324688640217170, +0.371278263021917800, 0.371231836475423180, 0.371185409000849010, 0.371138980598311240, 0.371092551267925670, 0.371046121009809160, 0.370999689824077270, 0.370953257710845810, +0.370906824670231560, 0.370860390702350270, 0.370813955807318020, 0.370767519985250480, 0.370721083236264510, 0.370674645560475860, 0.370628206958000580, 0.370581767428954430, +0.370535326973454200, 0.370488885591615690, 0.370442443283554970, 0.370396000049387720, 0.370349555889230850, 0.370303110803200110, 0.370256664791411620, 0.370210217853981010, +0.370163769991025290, 0.370117321202660170, 0.370070871489001310, 0.370024420850165680, 0.369977969286269030, 0.369931516797427420, 0.369885063383756650, 0.369838609045373580, +0.369792153782394000, 0.369745697594934030, 0.369699240483109430, 0.369652782447037140, 0.369606323486832920, 0.369559863602612840, 0.369513402794492680, 0.369466941062589480, +0.369420478407018920, 0.369374014827897110, 0.369327550325339870, 0.369281084899464210, 0.369234618550385810, 0.369188151278220860, 0.369141683083085090, 0.369095213965095590, +0.369048743924368040, 0.369002272961018170, 0.368955801075163070, 0.368909328266918470, 0.368862854536400550, 0.368816379883725070, 0.368769904309009020, 0.368723427812368220, +0.368676950393918900, 0.368630472053776750, 0.368583992792058830, 0.368537512608880960, 0.368491031504359300, 0.368444549478609660, 0.368398066531749060, 0.368351582663893230, +0.368305097875158530, 0.368258612165660580, 0.368212125535516580, 0.368165637984842250, 0.368119149513753410, 0.368072660122367110, 0.368026169810799160, 0.367979678579165800, +0.367933186427582830, 0.367886693356167300, 0.367840199365035040, 0.367793704454302260, 0.367747208624084830, 0.367700711874499760, 0.367654214205662970, 0.367607715617690570, +0.367561216110698530, 0.367514715684803820, 0.367468214340122330, 0.367421712076770320, 0.367375208894863640, 0.367328704794519290, 0.367282199775853190, 0.367235693838981250, +0.367189186984020420, 0.367142679211086620, 0.367096170520296140, 0.367049660911764830, 0.367003150385609770, 0.366956638941946860, 0.366910126580892280, 0.366863613302562060, +0.366817099107073160, 0.366770583994541540, 0.366724067965083440, 0.366677551018814770, 0.366631033155852660, 0.366584514376312950, 0.366537994680311950, 0.366491474067965510, +0.366444952539390860, 0.366398430094703800, 0.366351906734020240, 0.366305382457457360, 0.366258857265131020, 0.366212331157157510, 0.366165804133652790, 0.366119276194733940, +0.366072747340516920, 0.366026217571118030, 0.365979686886653170, 0.365933155287239520, 0.365886622772993000, 0.365840089344029900, 0.365793555000466180, 0.365747019742418970, +0.365700483570004180, 0.365653946483338210, 0.365607408482536980, 0.365560869567717610, 0.365514329738996110, 0.365467788996488740, 0.365421247340311510, 0.365374704770581590, +0.365328161287414850, 0.365281616890927360, 0.365235071581236190, 0.365188525358457360, 0.365141978222707220, 0.365095430174101730, 0.365048881212758080, 0.365002331338792230, +0.364955780552320530, 0.364909228853458940, 0.364862676242324770, 0.364816122719033850, 0.364769568283702610, 0.364723012936447100, 0.364676456677384410, 0.364629899506630610, +0.364583341424302040, 0.364536782430514740, 0.364490222525385880, 0.364443661709031470, 0.364397099981567440, 0.364350537343111120, 0.364303973793778490, 0.364257409333685890, +0.364210843962949340, 0.364164277681686080, 0.364117710490012180, 0.364071142388043940, 0.364024573375897500, 0.363978003453690020, 0.363931432621537490, 0.363884860879556400, +0.363838288227862790, 0.363791714666573780, 0.363745140195805560, 0.363698564815674470, 0.363651988526296540, 0.363605411327789060, 0.363558833220268110, 0.363512254203849580, +0.363465674278650840, 0.363419093444787960, 0.363372511702377330, 0.363325929051534990, 0.363279345492378230, 0.363232761025023110, 0.363186175649586110, 0.363139589366183290, +0.363093002174931840, 0.363046414075947900, 0.362999825069347970, 0.362953235155248020, 0.362906644333765400, 0.362860052605016190, 0.362813459969116850, 0.362766866426183440, +0.362720271976333270, 0.362673676619682420, 0.362627080356347390, 0.362580483186444200, 0.362533885110090270, 0.362487286127401610, 0.362440686238494290, 0.362394085443485730, +0.362347483742491930, 0.362300881135629420, 0.362254277623014260, 0.362207673204763880, 0.362161067880994280, 0.362114461651822040, 0.362067854517363170, 0.362021246477735150, +0.361974637533053980, 0.361928027683436180, 0.361881416928997950, 0.361834805269856560, 0.361788192706128220, 0.361741579237929320, 0.361694964865376110, 0.361648349588585880, +0.361601733407674760, 0.361555116322758940, 0.361508498333955710, 0.361461879441381250, 0.361415259645152090, 0.361368638945384350, 0.361322017342195430, 0.361275394835701480, +0.361228771426019000, 0.361182147113264240, 0.361135521897554490, 0.361088895779005940, 0.361042268757735150, 0.360995640833858270, 0.360949012007492740, 0.360902382278754650, +0.360855751647760570, 0.360809120114626740, 0.360762487679470560, 0.360715854342408100, 0.360669220103555620, 0.360622584963030460, 0.360575948920948850, 0.360529311977427440, +0.360482674132582280, 0.360436035386530850, 0.360389395739389330, 0.360342755191274290, 0.360296113742302030, 0.360249471392589840, 0.360202828142253960, 0.360156183991411030, +0.360109538940177280, 0.360062892988670000, 0.360016246137005560, 0.359969598385300460, 0.359922949733671000, 0.359876300182234540, 0.359829649731107310, 0.359782998380405620, +0.359736346130246800, 0.359689692980747100, 0.359643038932023210, 0.359596383984191250, 0.359549728137368800, 0.359503071391671980, 0.359456413747217540, 0.359409755204121610, +0.359363095762501690, 0.359316435422474050, 0.359269774184155340, 0.359223112047661770, 0.359176449013110850, 0.359129785080618770, 0.359083120250302260, 0.359036454522277500, +0.358989787896662080, 0.358943120373572120, 0.358896451953124420, 0.358849782635435150, 0.358803112420621790, 0.358756441308800740, 0.358709769300088130, 0.358663096394601480, +0.358616422592457130, 0.358569747893771720, 0.358523072298661480, 0.358476395807244050, 0.358429718419635560, 0.358383040135952850, 0.358336360956312050, 0.358289680880830800, +0.358242999909625330, 0.358196318042812380, 0.358149635280508190, 0.358102951622830350, 0.358056267069895130, 0.358009581621819280, 0.357962895278719000, 0.357916208040711950, +0.357869519907914320, 0.357822830880442530, 0.357776140958414040, 0.357729450141945240, 0.357682758431152770, 0.357636065826152980, 0.357589372327063500, 0.357542677934000520, +0.357495982647080880, 0.357449286466420880, 0.357402589392138090, 0.357355891424348810, 0.357309192563169790, 0.357262492808717360, 0.357215792161109160, 0.357169090620461430, +0.357122388186891020, 0.357075684860514220, 0.357028980641448560, 0.356982275529810540, 0.356935569525716370, 0.356888862629283650, 0.356842154840628810, 0.356795446159868630, +0.356748736587119360, 0.356702026122498680, 0.356655314766122940, 0.356608602518108890, 0.356561889378572970, 0.356515175347632720, 0.356468460425404480, 0.356421744612005150, +0.356375027907551050, 0.356328310312159720, 0.356281591825947710, 0.356234872449031680, 0.356188152181528050, 0.356141431023554440, 0.356094708975227270, 0.356047986036663320, +0.356001262207979010, 0.355954537489291960, 0.355907811880718520, 0.355861085382375150, 0.355814357994379490, 0.355767629716847940, 0.355720900549897360, 0.355674170493644080, +0.355627439548205750, 0.355580707713698870, 0.355533974990240200, 0.355487241377946180, 0.355440506876934460, 0.355393771487321490, 0.355347035209224120, 0.355300298042758700, +0.355253559988042980, 0.355206821045193350, 0.355160081214326630, 0.355113340495559320, 0.355066598889009100, 0.355019856394792390, 0.354973113013025590, 0.354926368743826440, +0.354879623587311340, 0.354832877543597160, 0.354786130612800450, 0.354739382795038750, 0.354692634090428670, 0.354645884499086960, 0.354599134021130140, 0.354552382656675880, +0.354505630405840650, 0.354458877268741370, 0.354412123245494480, 0.354365368336217730, 0.354318612541027530, 0.354271855860040790, 0.354225098293374010, 0.354178339841144880, +0.354131580503469930, 0.354084820280465560, 0.354038059172249620, 0.353991297178938460, 0.353944534300649150, 0.353897770537497990, 0.353851005889602890, 0.353804240357080250, +0.353757473940047030, 0.353710706638619700, 0.353663938452915990, 0.353617169383052430, 0.353570399429145980, 0.353523628591313140, 0.353476856869671620, 0.353430084264337920, +0.353383310775429060, 0.353336536403061510, 0.353289761147353000, 0.353242985008420110, 0.353196207986379300, 0.353149430081348410, 0.353102651293443980, 0.353055871622782900, +0.353009091069481700, 0.352962309633658210, 0.352915527315428970, 0.352868744114910870, 0.352821960032220490, 0.352775175067475630, 0.352728389220792860, 0.352681602492289140, +0.352634814882080930, 0.352588026390286140, 0.352541237017021280, 0.352494446762403320, 0.352447655626548840, 0.352400863609575620, 0.352354070711600240, 0.352307276932739720, +0.352260482273110580, 0.352213686732830600, 0.352166890312016480, 0.352120093010784670, 0.352073294829253040, 0.352026495767538190, 0.351979695825757110, 0.351932895004026360, +0.351886093302463790, 0.351839290721185970, 0.351792487260309930, 0.351745682919952280, 0.351698877700230840, 0.351652071601262160, 0.351605264623163330, 0.351558456766050910, +0.351511648030042810, 0.351464838415255550, 0.351418027921806210, 0.351371216549811350, 0.351324404299388880, 0.351277591170655430, 0.351230777163727580, 0.351183962278723170, +0.351137146515758890, 0.351090329874951760, 0.351043512356418340, 0.350996693960276550, 0.350949874686643070, 0.350903054535634860, 0.350856233507368610, 0.350809411601962220, +0.350762588819532320, 0.350715765160195870, 0.350668940624069670, 0.350622115211271460, 0.350575288921918030, 0.350528461756126340, 0.350481633714013090, 0.350434804795696160, +0.350387975001292210, 0.350341144330917950, 0.350294312784691200, 0.350247480362728680, 0.350200647065147470, 0.350153812892064260, 0.350106977843596900, 0.350060141919862070, +0.350013305120976890, 0.349966467447058060, 0.349919628898223480, 0.349872789474589830, 0.349825949176274190, 0.349779108003393240, 0.349732265956064990, 0.349685423034406030, +0.349638579238533530, 0.349591734568564180, 0.349544889024615890, 0.349498042606805340, 0.349451195315249760, 0.349404347150065740, 0.349357498111371230, 0.349310648199283040, +0.349263797413917780, 0.349216945755393470, 0.349170093223826750, 0.349123239819334850, 0.349076385542034410, 0.349029530392043430, 0.348982674369478610, 0.348935817474457070, +0.348888959707095600, 0.348842101067512180, 0.348795241555823480, 0.348748381172146680, 0.348701519916598530, 0.348654657789296940, 0.348607794790358750, 0.348560930919901090, +0.348514066178040650, 0.348467200564895500, 0.348420334080582320, 0.348373466725217850, 0.348326598498920170, 0.348279729401806020, 0.348232859433992510, 0.348185988595596460, +0.348139116886735820, 0.348092244307527440, 0.348045370858088400, 0.347998496538535540, 0.347951621348986880, 0.347904745289559110, 0.347857868360369530, 0.347810990561534810, +0.347764111893173080, 0.347717232355401030, 0.347670351948335900, 0.347623470672094540, 0.347576588526794850, 0.347529705512553690, 0.347482821629487900, 0.347435936877715460, +0.347389051257353140, 0.347342164768518200, 0.347295277411327430, 0.347248389185898900, 0.347201500092349400, 0.347154610130796130, 0.347107719301355980, 0.347060827604146860, +0.347013935039285740, 0.346967041606889740, 0.346920147307075770, 0.346873252139961790, 0.346826356105664700, 0.346779459204301700, 0.346732561435989680, 0.346685662800846670, +0.346638763298989460, 0.346591862930534960, 0.346544961695601230, 0.346498059594305070, 0.346451156626763730, 0.346404252793094170, 0.346357348093414340, 0.346310442527841100, +0.346263536096491800, 0.346216628799483280, 0.346169720636933520, 0.346122811608959520, 0.346075901715678480, 0.346028990957207290, 0.345982079333663980, 0.345935166845165510, +0.345888253491829110, 0.345841339273771700, 0.345794424191111340, 0.345747508243964890, 0.345700591432449690, 0.345653673756682600, 0.345606755216781750, 0.345559835812863980, +0.345512915545046210, 0.345465994413446550, 0.345419072418181980, 0.345372149559369680, 0.345325225837126550, 0.345278301251570830, 0.345231375802819370, 0.345184449490989420, +0.345137522316197930, 0.345090594278563090, 0.345043665378201750, 0.344996735615231250, 0.344949804989768460, 0.344902873501931610, 0.344855941151837600, 0.344809007939603670, +0.344762073865346850, 0.344715138929185260, 0.344668203131235810, 0.344621266471615450, 0.344574328950442320, 0.344527390567833380, 0.344480451323905980, 0.344433511218777020, +0.344386570252564690, 0.344339628425385960, 0.344292685737358110, 0.344245742188598160, 0.344198797779224300, 0.344151852509353370, 0.344104906379102900, 0.344057959388589680, +0.344011011537932010, 0.343964062827246790, 0.343917113256651420, 0.343870162826262870, 0.343823211536199320, 0.343776259386577740, 0.343729306377515090, 0.343682352509129600, +0.343635397781538230, 0.343588442194858350, 0.343541485749206950, 0.343494528444702240, 0.343447570281461220, 0.343400611259601310, 0.343353651379239400, 0.343306690640493850, +0.343259729043481510, 0.343212766588319840, 0.343165803275125860, 0.343118839104017800, 0.343071874075112640, 0.343024908188527820, 0.342977941444380260, 0.342930973842788310, +0.342884005383868870, 0.342837036067739460, 0.342790065894517050, 0.342743094864319860, 0.342696122977264930, 0.342649150233469310, 0.342602176633051200, 0.342555202176127670, +0.342508226862816120, 0.342461250693233630, 0.342414273667498380, 0.342367295785727440, 0.342320317048038280, 0.342273337454547910, 0.342226357005374630, 0.342179375700635450, +0.342132393540447830, 0.342085410524928800, 0.342038426654196650, 0.341991441928368440, 0.341944456347561650, 0.341897469911893290, 0.341850482621481650, 0.341803494476443810, +0.341756505476896840, 0.341709515622959040, 0.341662524914747410, 0.341615533352379490, 0.341568540935972280, 0.341521547665644190, 0.341474553541512180, 0.341427558563693830, +0.341380562732306160, 0.341333566047467450, 0.341286568509294900, 0.341239570117905900, 0.341192570873417530, 0.341145570775948200, 0.341098569825614870, 0.341051568022535170, +0.341004565366826160, 0.340957561858606100, 0.340910557497992150, 0.340863552285101400, 0.340816546220052140, 0.340769539302961550, 0.340722531533947160, 0.340675522913125970, +0.340628513440616400, 0.340581503116535570, 0.340534491941000940, 0.340487479914129700, 0.340440467036040140, 0.340393453306849450, 0.340346438726675080, 0.340299423295634230, +0.340252407013845240, 0.340205389881425240, 0.340158371898491740, 0.340111353065161880, 0.340064333381554120, 0.340017312847785470, 0.339970291463973120, 0.339923269230235470, +0.339876246146689650, 0.339829222213453240, 0.339782197430643310, 0.339735171798378370, 0.339688145316775440, 0.339641117985952150, 0.339594089806025680, 0.339547060777114380, +0.339500030899335450, 0.339453000172806440, 0.339405968597644490, 0.339358936173968060, 0.339311902901894280, 0.339264868781540720, 0.339217833813024620, 0.339170797996464320, +0.339123761331977020, 0.339076723819680290, 0.339029685459691420, 0.338982646252128710, 0.338935606197109330, 0.338888565294750590, 0.338841523545170830, 0.338794480948487240, +0.338747437504817510, 0.338700393214278690, 0.338653348076989320, 0.338606302093066640, 0.338559255262628140, 0.338512207585791150, 0.338465159062673990, 0.338418109693393980, +0.338371059478068670, 0.338324008416815310, 0.338276956509752310, 0.338229903756996960, 0.338182850158666840, 0.338135795714879170, 0.338088740425752430, 0.338041684291403850, +0.337994627311950680, 0.337947569487511310, 0.337900510818202990, 0.337853451304143460, 0.337806390945449840, 0.337759329742240650, 0.337712267694633140, 0.337665204802744980, +0.337618141066693410, 0.337571076486596900, 0.337524011062572680, 0.337476944794738390, 0.337429877683211370, 0.337382809728110080, 0.337335740929551760, 0.337288671287654050, +0.337241600802534290, 0.337194529474310940, 0.337147457303101250, 0.337100384289022500, 0.337053310432193220, 0.337006235732730700, 0.336959160190752500, 0.336912083806376050, +0.336865006579719790, 0.336817928510901030, 0.336770849600037450, 0.336723769847246280, 0.336676689252646160, 0.336629607816354260, 0.336582525538488390, 0.336535442419165780, +0.336488358458504940, 0.336441273656623240, 0.336394188013638350, 0.336347101529667570, 0.336300014204829470, 0.336252926039241340, 0.336205837033020870, 0.336158747186285410, +0.336111656499153480, 0.336064564971742420, 0.336017472604169530, 0.335970379396553390, 0.335923285349011280, 0.335876190461660950, 0.335829094734619750, 0.335781998168006190, +0.335734900761937680, 0.335687802516531910, 0.335640703431906220, 0.335593603508179130, 0.335546502745468100, 0.335499401143890820, 0.335452298703564580, 0.335405195424608000, +0.335358091307138450, 0.335310986351273710, 0.335263880557131020, 0.335216773924829070, 0.335169666454485200, 0.335122558146216780, 0.335075449000142300, 0.335028339016379240, +0.334981228195045390, 0.334934116536257990, 0.334887004040135720, 0.334839890706795930, 0.334792776536356420, 0.334745661528934530, 0.334698545684648960, 0.334651429003617000, +0.334604311485956480, 0.334557193131784720, 0.334510073941220450, 0.334462953914380970, 0.334415833051384110, 0.334368711352347250, 0.334321588817388990, 0.334274465446626810, +0.334227341240178000, 0.334180216198161300, 0.334133090320694050, 0.334085963607894050, 0.334038836059878770, 0.333991707676766780, 0.333944578458675530, 0.333897448405722830, +0.333850317518026130, 0.333803185795704000, 0.333756053238873920, 0.333708919847653720, 0.333661785622160810, 0.333614650562513830, 0.333567514668830220, 0.333520377941227850, +0.333473240379824120, 0.333426101984737710, 0.333378962756086030, 0.333331822693986920, 0.333284681798557860, 0.333237540069917510, 0.333190397508183300, 0.333143254113472680, +0.333096109885904380, 0.333048964825595760, 0.333001818932664730, 0.332954672207228800, 0.332907524649406540, 0.332860376259315470, 0.332813227037073500, 0.332766076982798030, +0.332718926096607750, 0.332671774378620170, 0.332624621828953190, 0.332577468447724180, 0.332530314235051970, 0.332483159191053980, 0.332436003315848050, 0.332388846609551700, +0.332341689072283670, 0.332294530704161430, 0.332247371505302420, 0.332200211475825400, 0.332153050615847820, 0.332105888925487650, 0.332058726404862340, 0.332011563054090630, +0.331964398873290050, 0.331917233862578430, 0.331870068022073310, 0.331822901351893460, 0.331775733852156310, 0.331728565522979860, 0.331681396364481570, 0.331634226376780250, +0.331587055559993290, 0.331539883914238720, 0.331492711439634050, 0.331445538136298010, 0.331398364004348080, 0.331351189043901870, 0.331304013255078080, 0.331256836637994270, +0.331209659192768400, 0.331162480919517890, 0.331115301818361680, 0.331068121889417140, 0.331020941132802340, 0.330973759548634730, 0.330926577137033220, 0.330879393898115160, +0.330832209831998680, 0.330785024938801240, 0.330737839218641690, 0.330690652671637500, 0.330643465297906720, 0.330596277097566840, 0.330549088070736630, 0.330501898217533780, +0.330454707538075710, 0.330407516032481310, 0.330360323700868150, 0.330313130543354150, 0.330265936560056930, 0.330218741751095220, 0.330171546116586720, 0.330124349656649330, +0.330077152371400670, 0.330029954260959550, 0.329982755325443520, 0.329935555564970620, 0.329888354979658400, 0.329841153569625680, 0.329793951334990120, 0.329746748275869690, +0.329699544392381970, 0.329652339684645750, 0.329605134152778760, 0.329557927796898850, 0.329510720617123780, 0.329463512613572260, 0.329416303786362000, 0.329369094135610550, +0.329321883661436830, 0.329274672363958350, 0.329227460243293190, 0.329180247299558970, 0.329133033532874540, 0.329085818943357530, 0.329038603531126020, 0.328991387296297510, +0.328944170238991030, 0.328896952359324040, 0.328849733657414710, 0.328802514133380630, 0.328755293787340700, 0.328708072619412480, 0.328660850629714120, 0.328613627818363230, +0.328566404185478670, 0.328519179731178060, 0.328471954455579140, 0.328424728358800710, 0.328377501440960510, 0.328330273702176540, 0.328283045142566450, 0.328235815762249140, +0.328188585561342340, 0.328141354539964070, 0.328094122698231960, 0.328046890036264970, 0.327999656554180790, 0.327952422252097480, 0.327905187130132610, 0.327857951188405270, +0.327810714427033020, 0.327763476846133990, 0.327716238445825870, 0.327668999226227550, 0.327621759187456730, 0.327574518329631080, 0.327527276652869630, 0.327480034157289880, +0.327432790843010140, 0.327385546710147970, 0.327338301758822340, 0.327291055989150930, 0.327243809401251920, 0.327196561995242940, 0.327149313771243010, 0.327102064729369760, +0.327054814869741360, 0.327007564192475510, 0.326960312697691160, 0.326913060385506050, 0.326865807256038250, 0.326818553309405570, 0.326771298545726900, 0.326724042965119980, +0.326676786567702940, 0.326629529353593520, 0.326582271322910680, 0.326535012475772210, 0.326487752812295750, 0.326440492332600360, 0.326393231036803730, 0.326345968925023990, +0.326298705997378920, 0.326251442253987500, 0.326204177694967510, 0.326156912320437090, 0.326109646130513910, 0.326062379125317050, 0.326015111304964240, 0.325967842669573680, +0.325920573219263100, 0.325873302954151460, 0.325826031874356600, 0.325778759979996610, 0.325731487271189390, 0.325684213748053790, 0.325636939410707700, 0.325589664259268830, +0.325542388293856230, 0.325495111514587600, 0.325447833921581280, 0.325400555514954890, 0.325353276294827580, 0.325305996261317010, 0.325258715414541540, 0.325211433754618810, +0.325164151281667920, 0.325116867995806640, 0.325069583897153180, 0.325022298985825410, 0.324975013261942220, 0.324927726725621590, 0.324880439376981580, 0.324833151216140040, +0.324785862243216090, 0.324738572458327490, 0.324691281861592020, 0.324643990453128750, 0.324596698233055480, 0.324549405201490500, 0.324502111358551610, 0.324454816704357830, +0.324407521239027000, 0.324360224962677410, 0.324312927875426820, 0.324265629977394280, 0.324218331268697700, 0.324171031749455330, 0.324123731419784900, 0.324076430279805590, +0.324029128329635210, 0.323981825569392030, 0.323934521999193810, 0.323887217619159780, 0.323839912429407630, 0.323792606430055310, 0.323745299621221890, 0.323697992003025240, +0.323650683575583580, 0.323603374339014820, 0.323556064293438030, 0.323508753438971060, 0.323461441775732270, 0.323414129303839390, 0.323366816023411660, 0.323319501934566820, +0.323272187037423280, 0.323224871332098870, 0.323177554818712630, 0.323130237497382570, 0.323082919368226860, 0.323035600431363480, 0.322988280686911490, 0.322940960134988850, +0.322893638775713750, 0.322846316609204150, 0.322798993635579180, 0.322751669854956740, 0.322704345267454670, 0.322657019873192170, 0.322609693672287150, 0.322562366664857880, +0.322515038851022280, 0.322467710230899480, 0.322420380804607390, 0.322373050572264400, 0.322325719533988360, 0.322278387689898420, 0.322231055040112510, 0.322183721584748950, +0.322136387323925690, 0.322089052257761850, 0.322041716386375410, 0.321994379709884650, 0.321947042228407590, 0.321899703942063240, 0.321852364850969740, 0.321805024955244820, +0.321757684255007780, 0.321710342750376580, 0.321663000441469450, 0.321615657328404470, 0.321568313411300710, 0.321520968690276190, 0.321473623165449250, 0.321426276836937810, +0.321378929704861150, 0.321331581769337130, 0.321284233030484150, 0.321236883488420170, 0.321189533143264430, 0.321142181995134830, 0.321094830044149740, 0.321047477290427210, +0.321000123734086370, 0.320952769375245250, 0.320905414214021800, 0.320858058250535210, 0.320810701484903480, 0.320763343917244980, 0.320715985547677720, 0.320668626376320930, +0.320621266403292530, 0.320573905628711020, 0.320526544052694260, 0.320479181675361600, 0.320431818496831000, 0.320384454517220860, 0.320337089736649090, 0.320289724155235100, +0.320242357773096790, 0.320194990590352560, 0.320147622607120430, 0.320100253823519640, 0.320052884239668270, 0.320005513855684650, 0.319958142671686820, 0.319910770687794110, +0.319863397904124440, 0.319816024320795810, 0.319768649937927580, 0.319721274755637720, 0.319673898774044730, 0.319626521993266470, 0.319579144413422390, 0.319531766034630460, +0.319484386857009080, 0.319437006880676330, 0.319389626105751500, 0.319342244532352550, 0.319294862160598050, 0.319247478990605900, 0.319200095022495520, 0.319152710256384920, +0.319105324692392560, 0.319057938330636390, 0.319010551171235830, 0.318963163214308950, 0.318915774459973660, 0.318868384908349400, 0.318820994559554150, 0.318773603413706470, +0.318726211470924280, 0.318678818731327030, 0.318631425195032740, 0.318584030862159860, 0.318536635732826480, 0.318489239807151990, 0.318441843085254360, 0.318394445567252100, +0.318347047253263350, 0.318299648143407330, 0.318252248237802240, 0.318204847536566530, 0.318157446039818330, 0.318110043747676870, 0.318062640660260300, 0.318015236777686730, +0.317967832100075450, 0.317920426627544660, 0.317873020360212750, 0.317825613298197860, 0.317778205441619390, 0.317730796790595400, 0.317683387345244430, 0.317635977105684530, +0.317588566072035170, 0.317541154244414370, 0.317493741622940640, 0.317446328207732160, 0.317398913998908290, 0.317351498996587160, 0.317304083200887270, 0.317256666611926750, +0.317209249229824960, 0.317161831054700080, 0.317114412086670180, 0.317066992325854670, 0.317019571772371670, 0.316972150426339750, 0.316924728287877040, 0.316877305357102900, +0.316829881634135560, 0.316782457119093470, 0.316735031812094840, 0.316687605713259050, 0.316640178822704230, 0.316592751140548970, 0.316545322666911380, 0.316497893401910920, +0.316450463345665730, 0.316403032498294430, 0.316355600859915100, 0.316308168430647190, 0.316260735210608820, 0.316213301199918640, 0.316165866398694760, 0.316118430807056710, +0.316070994425122490, 0.316023557253010400, 0.315976119290839850, 0.315928680538729020, 0.315881240996796490, 0.315833800665160370, 0.315786359543940240, 0.315738917633254180, +0.315691474933220810, 0.315644031443958360, 0.315596587165586250, 0.315549142098222660, 0.315501696241986210, 0.315454249596995140, 0.315406802163368800, 0.315359353941225500, +0.315311904930683840, 0.315264455131861960, 0.315217004544879330, 0.315169553169854230, 0.315122101006904850, 0.315074648056150600, 0.315027194317709760, 0.314979739791700910, +0.314932284478242290, 0.314884828377453410, 0.314837371489452400, 0.314789913814358000, 0.314742455352288400, 0.314694996103363040, 0.314647536067700240, 0.314600075245418610, +0.314552613636636340, 0.314505151241472940, 0.314457688060046700, 0.314410224092476210, 0.314362759338879750, 0.314315293799376840, 0.314267827474085660, 0.314220360363124510, +0.314172892466612840, 0.314125423784669010, 0.314077954317411530, 0.314030484064958810, 0.313983013027430310, 0.313935541204944210, 0.313888068597619310, 0.313840595205573840, +0.313793121028927260, 0.313745646067797870, 0.313698170322304400, 0.313650693792565050, 0.313603216478699430, 0.313555738380825730, 0.313508259499062690, 0.313460779833528600, +0.313413299384342980, 0.313365818151624060, 0.313318336135490650, 0.313270853336060970, 0.313223369753454550, 0.313175885387789730, 0.313128400239184810, 0.313080914307759250, +0.313033427593631450, 0.312985940096920050, 0.312938451817743380, 0.312890962756221020, 0.312843472912471220, 0.312795982286612760, 0.312748490878763940, 0.312700998689044330, +0.312653505717572170, 0.312606011964466250, 0.312558517429844920, 0.312511022113827700, 0.312463526016532930, 0.312416029138079310, 0.312368531478585230, 0.312321033038170210, +0.312273533816952660, 0.312226033815050820, 0.312178533032584300, 0.312131031469671470, 0.312083529126431060, 0.312036026002981410, 0.311988522099442110, 0.311941017415931550, +0.311893511952568370, 0.311846005709471020, 0.311798498686759130, 0.311750990884550940, 0.311703482302965240, 0.311655972942120440, 0.311608462802136170, 0.311560951883130710, +0.311513440185222870, 0.311465927708531040, 0.311418414453174750, 0.311370900419272460, 0.311323385606942500, 0.311275870016304520, 0.311228353647476810, 0.311180836500578260, +0.311133318575727180, 0.311085799873043240, 0.311038280392644750, 0.310990760134650600, 0.310943239099179150, 0.310895717286350020, 0.310848194696281550, 0.310800671329092610, +0.310753147184901600, 0.310705622263828140, 0.310658096565990580, 0.310610570091507830, 0.310563042840498180, 0.310515514813081370, 0.310467986009375810, 0.310420456429499840, +0.310372926073573140, 0.310325394941714130, 0.310277863034041590, 0.310230330350674040, 0.310182796891731060, 0.310135262657331050, 0.310087727647592960, 0.310040191862635090, +0.309992655302577140, 0.309945117967537600, 0.309897579857635220, 0.309850040972988460, 0.309802501313717060, 0.309754960879939370, 0.309707419671774340, 0.309659877689340280, +0.309612334932756970, 0.309564791402142820, 0.309517247097616690, 0.309469702019297020, 0.309422156167303510, 0.309374609541754660, 0.309327062142768780, 0.309279513970465710, +0.309231965024963860, 0.309184415306382130, 0.309136864814838870, 0.309089313550453940, 0.309041761513345670, 0.308994208703633030, 0.308946655121434430, 0.308899100766869610, +0.308851545640057010, 0.308803989741115610, 0.308756433070163760, 0.308708875627321300, 0.308661317412706640, 0.308613758426438680, 0.308566198668635880, 0.308518638139417990, +0.308471076838903570, 0.308423514767210970, 0.308375951924460050, 0.308328388310769250, 0.308280823926257440, 0.308233258771043180, 0.308185692845246220, 0.308138126148984950, +0.308090558682378450, 0.308042990445545060, 0.307995421438604640, 0.307947851661675710, 0.307900281114877110, 0.307852709798327410, 0.307805137712146290, 0.307757564856452390, +0.307709991231364550, 0.307662416837001350, 0.307614841673482520, 0.307567265740926580, 0.307519689039452040, 0.307472111569178700, 0.307424533330225070, 0.307376954322710120, +0.307329374546752350, 0.307281794002471580, 0.307234212689986350, 0.307186630609415530, 0.307139047760877750, 0.307091464144492790, 0.307043879760379110, 0.306996294608655800, +0.306948708689441300, 0.306901122002855460, 0.306853534549016820, 0.306805946328044310, 0.306758357340056520, 0.306710767585173290, 0.306663177063513090, 0.306615585775194990, +0.306567993720337490, 0.306520400899060460, 0.306472807311482350, 0.306425212957721850, 0.306377617837898740, 0.306330021952131600, 0.306282425300539400, 0.306234827883240690, +0.306187229700355330, 0.306139630752001960, 0.306092031038299460, 0.306044430559366420, 0.305996829315322790, 0.305949227306287100, 0.305901624532378290, 0.305854020993715000, +0.305806416690417140, 0.305758811622603150, 0.305711205790392180, 0.305663599193902790, 0.305615991833254770, 0.305568383708566820, 0.305520774819957490, 0.305473165167546630, +0.305425554751452830, 0.305377943571795210, 0.305330331628692280, 0.305282718922263880, 0.305235105452628770, 0.305187491219905850, 0.305139876224213790, 0.305092260465672450, +0.305044643944400510, 0.304997026660516920, 0.304949408614140330, 0.304901789805390620, 0.304854170234386490, 0.304806549901246950, 0.304758928806090570, 0.304711306949037250, +0.304663684330205740, 0.304616060949714550, 0.304568436807683640, 0.304520811904231690, 0.304473186239477670, 0.304425559813540250, 0.304377932626539340, 0.304330304678593620, +0.304282675969822170, 0.304235046500343550, 0.304187416270277790, 0.304139785279743450, 0.304092153528859650, 0.304044521017745040, 0.303996887746519560, 0.303949253715301900, +0.303901618924211080, 0.303853983373365780, 0.303806347062885900, 0.303758709992890230, 0.303711072163497300, 0.303663433574827170, 0.303615794226998410, 0.303568154120130160, +0.303520513254341150, 0.303472871629751280, 0.303425229246479190, 0.303377586104644050, 0.303329942204364490, 0.303282297545760530, 0.303234652128950840, 0.303187005954054460, +0.303139359021190210, 0.303091711330477960, 0.303044062882036450, 0.302996413675984730, 0.302948763712441560, 0.302901112991526940, 0.302853461513359570, 0.302805809278058450, +0.302758156285742490, 0.302710502536531480, 0.302662848030544220, 0.302615192767899440, 0.302567536748717110, 0.302519879973115910, 0.302472222441215080, 0.302424564153133180, +0.302376905108990350, 0.302329245308905260, 0.302281584752997050, 0.302233923441384390, 0.302186261374187410, 0.302138598551524750, 0.302090934973515630, 0.302043270640278750, +0.301995605551934050, 0.301947939708600400, 0.301900273110396910, 0.301852605757442270, 0.301804937649856550, 0.301757268787758490, 0.301709599171266830, 0.301661928800501580, +0.301614257675581530, 0.301566585796625870, 0.301518913163753290, 0.301471239777083840, 0.301423565636736280, 0.301375890742829830, 0.301328215095483240, 0.301280538694816520, +0.301232861540948470, 0.301185183633998210, 0.301137504974084650, 0.301089825561327680, 0.301042145395846170, 0.300994464477759290, 0.300946782807185840, 0.300899100384245890, +0.300851417209058110, 0.300803733281741430, 0.300756048602415840, 0.300708363171200090, 0.300660676988213470, 0.300612990053574670, 0.300565302367403860, 0.300517613929819790, +0.300469924740941700, 0.300422234800888370, 0.300374544109779870, 0.300326852667735010, 0.300279160474873020, 0.300231467531312750, 0.300183773837174150, 0.300136079392576140, +0.300088384197637950, 0.300040688252478370, 0.299992991557217540, 0.299945294111974180, 0.299897595916867600, 0.299849896972016580, 0.299802197277541260, 0.299754496833560480, +0.299706795640192980, 0.299659093697558940, 0.299611391005777160, 0.299563687564966930, 0.299515983375246990, 0.299468278436737570, 0.299420572749557470, 0.299372866313825870, +0.299325159129661730, 0.299277451197185130, 0.299229742516514850, 0.299182033087770250, 0.299134322911070170, 0.299086611986534630, 0.299038900314282650, 0.298991187894433350, +0.298943474727105700, 0.298895760812419750, 0.298848046150494430, 0.298800330741448570, 0.298752614585402250, 0.298704897682474440, 0.298657180032784410, 0.298609461636450970, +0.298561742493594300, 0.298514022604333300, 0.298466301968787210, 0.298418580587074990, 0.298370858459316710, 0.298323135585631280, 0.298275411966137990, 0.298227687600955800, +0.298179962490204790, 0.298132236634003840, 0.298084510032472330, 0.298036782685729140, 0.297989054593894410, 0.297941325757087040, 0.297893596175425880, 0.297845865849031220, +0.297798134778021860, 0.297750402962517200, 0.297702670402636090, 0.297654937098498720, 0.297607203050223980, 0.297559468257931280, 0.297511732721739470, 0.297463996441768740, +0.297416259418138040, 0.297368521650966670, 0.297320783140373580, 0.297273043886478960, 0.297225303889401770, 0.297177563149261250, 0.297129821666176460, 0.297082079440267490, +0.297034336471653340, 0.296986592760452920, 0.296938848306786460, 0.296891103110772880, 0.296843357172531520, 0.296795610492181340, 0.296747863069842580, 0.296700114905634140, +0.296652365999675430, 0.296604616352085400, 0.296556865962984200, 0.296509114832490870, 0.296461362960724780, 0.296413610347804830, 0.296365856993851260, 0.296318102898983080, +0.296270348063319590, 0.296222592486979850, 0.296174836170084050, 0.296127079112751160, 0.296079321315100560, 0.296031562777251230, 0.295983803499323460, 0.295936043481436150, +0.295888282723708320, 0.295840521226260200, 0.295792758989210760, 0.295744996012679400, 0.295697232296785180, 0.295649467841648310, 0.295601702647387720, 0.295553936714122890, +0.295506170041972830, 0.295458402631057710, 0.295410634481496630, 0.295362865593408960, 0.295315095966913690, 0.295267325602131090, 0.295219554499180190, 0.295171782658180390, +0.295124010079250760, 0.295076236762511490, 0.295028462708081640, 0.294980687916080180, 0.294932912386627440, 0.294885136119842410, 0.294837359115844580, 0.294789581374752920, +0.294741802896687670, 0.294694023681768000, 0.294646243730113220, 0.294598463041842400, 0.294550681617075870, 0.294502899455932610, 0.294455116558532130, 0.294407332924993440, +0.294359548555436780, 0.294311763449981330, 0.294263977608746400, 0.294216191031851150, 0.294168403719415830, 0.294120615671559500, 0.294072826888401250, 0.294025037370061300, +0.293977247116658790, 0.293929456128313120, 0.293881664405143410, 0.293833871947270010, 0.293786078754811890, 0.293738284827888550, 0.293690490166619080, 0.293642694771123810, +0.293594898641521830, 0.293547101777932580, 0.293499304180475150, 0.293451505849269930, 0.293403706784435890, 0.293355906986092600, 0.293308106454359120, 0.293260305189355810, +0.293212503191201730, 0.293164700460016410, 0.293116896995918860, 0.293069092799029540, 0.293021287869467460, 0.292973482207351750, 0.292925675812802770, 0.292877868685939620, +0.292830060826881730, 0.292782252235748330, 0.292734442912659710, 0.292686632857734940, 0.292638822071093650, 0.292591010552854860, 0.292543198303138910, 0.292495385322065040, +0.292447571609752650, 0.292399757166320940, 0.292351941991890300, 0.292304126086579740, 0.292256309450508900, 0.292208492083796840, 0.292160673986563980, 0.292112855158929430, +0.292065035601012320, 0.292017215312933060, 0.291969394294810720, 0.291921572546764980, 0.291873750068914810, 0.291825926861380700, 0.291778102924281800, 0.291730278257737620, +0.291682452861867340, 0.291634626736791300, 0.291586799882628760, 0.291538972299499210, 0.291491143987521790, 0.291443314946816910, 0.291395485177503800, 0.291347654679701920, +0.291299823453530500, 0.291251991499109960, 0.291204158816559420, 0.291156325405998060, 0.291108491267546340, 0.291060656401323340, 0.291012820807448720, 0.290964984486041690, +0.290917147437222520, 0.290869309661110520, 0.290821471157825310, 0.290773631927485900, 0.290725791970212870, 0.290677951286125390, 0.290630109875342990, 0.290582267737984960, +0.290534424874171580, 0.290486581284022220, 0.290438736967656370, 0.290390891925193300, 0.290343046156753380, 0.290295199662455820, 0.290247352442419890, 0.290199504496765960, +0.290151655825613310, 0.290103806429081510, 0.290055956307289750, 0.290008105460358550, 0.289960253888407070, 0.289912401591554960, 0.289864548569921440, 0.289816694823626930, +0.289768840352790710, 0.289720985157532360, 0.289673129237971170, 0.289625272594227550, 0.289577415226420780, 0.289529557134670430, 0.289481698319095810, 0.289433838779817320, +0.289385978516954250, 0.289338117530626270, 0.289290255820952520, 0.289242393388053580, 0.289194530232048660, 0.289146666353056970, 0.289098801751199060, 0.289050936426594130, +0.289003070379361900, 0.288955203609621510, 0.288907336117493590, 0.288859467903097300, 0.288811598966552340, 0.288763729307977950, 0.288715858927494680, 0.288667987825221740, +0.288620116001278850, 0.288572243455785250, 0.288524370188861460, 0.288476496200626710, 0.288428621491200800, 0.288380746060702850, 0.288332869909253440, 0.288284993036971910, +0.288237115443977450, 0.288189237130390630, 0.288141358096330740, 0.288093478341917400, 0.288045597867269960, 0.287997716672508950, 0.287949834757753650, 0.287901952123123810, +0.287854068768738590, 0.287806184694718690, 0.287758299901183290, 0.287710414388252180, 0.287662528156044540, 0.287614641204681050, 0.287566753534280960, 0.287518865144963940, +0.287470976036849400, 0.287423086210057800, 0.287375195664708480, 0.287327304400920800, 0.287279412418815220, 0.287231519718511130, 0.287183626300128280, 0.287135732163785910, +0.287087837309604630, 0.287039941737703750, 0.286992045448203000, 0.286944148441221740, 0.286896250716880570, 0.286848352275298700, 0.286800453116596020, 0.286752553240891720, +0.286704652648306470, 0.286656751338959630, 0.286608849312970870, 0.286560946570459610, 0.286513043111546350, 0.286465138936350510, 0.286417234044991860, 0.286369328437589670, +0.286321422114264530, 0.286273515075135880, 0.286225607320323040, 0.286177698849946590, 0.286129789664125890, 0.286081879762980720, 0.286033969146630430, 0.285986057815195590, +0.285938145768795670, 0.285890233007550400, 0.285842319531579070, 0.285794405341002370, 0.285746490435939690, 0.285698574816510730, 0.285650658482834940, 0.285602741435032950, +0.285554823673224100, 0.285506905197528190, 0.285458986008064570, 0.285411066104953930, 0.285363145488315590, 0.285315224158268990, 0.285267302114934780, 0.285219379358432280, +0.285171455888881320, 0.285123531706401310, 0.285075606811112940, 0.285027681203135490, 0.284979754882588860, 0.284931827849592420, 0.284883900104266840, 0.284835971646731520, +0.284788042477106260, 0.284740112595510460, 0.284692182002064810, 0.284644250696888700, 0.284596318680101930, 0.284548385951823970, 0.284500452512175480, 0.284452518361275890, +0.284404583499244520, 0.284356647926202130, 0.284308711642268120, 0.284260774647562390, 0.284212836942204230, 0.284164898526314440, 0.284116959400012360, 0.284069019563417900, +0.284021079016650470, 0.283973137759830800, 0.283925195793078230, 0.283877253116512740, 0.283829309730253610, 0.283781365634421690, 0.283733420829136330, 0.283685475314517430, +0.283637529090684400, 0.283589582157757980, 0.283541634515857620, 0.283493686165102730, 0.283445737105614050, 0.283397787337511090, 0.283349836860913580, 0.283301885675941060, +0.283253933782714300, 0.283205981181352650, 0.283158027871976080, 0.283110073854704050, 0.283062119129657170, 0.283014163696955090, 0.282966207556717530, 0.282918250709064070, +0.282870293154115380, 0.282822334891990930, 0.282774375922810680, 0.282726416246694090, 0.282678455863761830, 0.282630494774133490, 0.282582532977928850, 0.282534570475267530, +0.282486607266270120, 0.282438643351056230, 0.282390678729745330, 0.282342713402458150, 0.282294747369314150, 0.282246780630433350, 0.282198813185935090, 0.282150845035940290, +0.282102876180568340, 0.282054906619939210, 0.282006936354172400, 0.281958965383388660, 0.281910993707707500, 0.281863021327248890, 0.281815048242132270, 0.281767074452478450, +0.281719099958406990, 0.281671124760037750, 0.281623148857490240, 0.281575172250885350, 0.281527194940342450, 0.281479216925981210, 0.281431238207922320, 0.281383258786285340, +0.281335278661190240, 0.281287297832756470, 0.281239316301104880, 0.281191334066355050, 0.281143351128626820, 0.281095367488039870, 0.281047383144714840, 0.280999398098771390, +0.280951412350329440, 0.280903425899508560, 0.280855438746429540, 0.280807450891211900, 0.280759462333975640, 0.280711473074840290, 0.280663483113926690, 0.280615492451354360, +0.280567501087242930, 0.280519509021713130, 0.280471516254884530, 0.280423522786877210, 0.280375528617810620, 0.280327533747805610, 0.280279538176981810, 0.280231541905459130, +0.280183544933357230, 0.280135547260796810, 0.280087548887897550, 0.280039549814779460, 0.279991550041562070, 0.279943549568366150, 0.279895548395311440, 0.279847546522517810, +0.279799543950104920, 0.279751540678193580, 0.279703536706903400, 0.279655532036354350, 0.279607526666666050, 0.279559520597959410, 0.279511513830353890, 0.279463506363969220, +0.279415498198926190, 0.279367489335344390, 0.279319479773343930, 0.279271469513044270, 0.279223458554566430, 0.279175446898029870, 0.279127434543554760, 0.279079421491260640, +0.279031407741268330, 0.278983393293697530, 0.278935378148668260, 0.278887362306300120, 0.278839345766713990, 0.278791328530029470, 0.278743310596366700, 0.278695291965845190, +0.278647272638585850, 0.278599252614708360, 0.278551231894332290, 0.278503210477578590, 0.278455188364566840, 0.278407165555417110, 0.278359142050249090, 0.278311117849183610, +0.278263092952340310, 0.278215067359839310, 0.278167041071800240, 0.278119014088343940, 0.278070986409590160, 0.278022958035658850, 0.277974928966669750, 0.277926899202743770, +0.277878868744000530, 0.277830837590560100, 0.277782805742542220, 0.277734773200067670, 0.277686739963256210, 0.277638706032227510, 0.277590671407102420, 0.277542636088000670, +0.277494600075042340, 0.277446563368347050, 0.277398525968035830, 0.277350487874228280, 0.277302449087044490, 0.277254409606604140, 0.277206369433028230, 0.277158328566436410, +0.277110287006948730, 0.277062244754684880, 0.277014201809765880, 0.276966158172311410, 0.276918113842441470, 0.276870068820275870, 0.276822023105935510, 0.276773976699540130, +0.276725929601209790, 0.276677881811064170, 0.276629833329224250, 0.276581784155809810, 0.276533734290940470, 0.276485683734737200, 0.276437632487319730, 0.276389580548808190, +0.276341527919322260, 0.276293474598982900, 0.276245420587909910, 0.276197365886223340, 0.276149310494042950, 0.276101254411489690, 0.276053197638683300, 0.276005140175743900, +0.275957082022791230, 0.275909023179946310, 0.275860963647328820, 0.275812903425058930, 0.275764842513256340, 0.275716780912042050, 0.275668718621535860, 0.275620655641857390, +0.275572591973127780, 0.275524527615466640, 0.275476462568994160, 0.275428396833830140, 0.275380330410095520, 0.275332263297910110, 0.275284195497394020, 0.275236127008667010, +0.275188057831850130, 0.275139987967063070, 0.275091917414426070, 0.275043846174058860, 0.274995774246082400, 0.274947701630616600, 0.274899628327781480, 0.274851554337696870, +0.274803479660483800, 0.274755404296262050, 0.274707328245151370, 0.274659251507272770, 0.274611174082746050, 0.274563095971691370, 0.274515017174228550, 0.274466937690478640, +0.274418857520561330, 0.274370776664596920, 0.274322695122705130, 0.274274612895007040, 0.274226529981622390, 0.274178446382671410, 0.274130362098273910, 0.274082277128550930, +0.274034191473622290, 0.273986105133608100, 0.273938018108628280, 0.273889930398803830, 0.273841842004254540, 0.273793752925100220, 0.273745663161461930, 0.273697572713459510, +0.273649481581213110, 0.273601389764842660, 0.273553297264469090, 0.273505204080212340, 0.273457110212192540, 0.273409015660529500, 0.273360920425344430, 0.273312824506756980, +0.273264727904887540, 0.273216630619855790, 0.273168532651782920, 0.273120434000788730, 0.273072334666993490, 0.273024234650516890, 0.272976133951480240, 0.272928032570003140, +0.272879930506206070, 0.272831827760208650, 0.272783724332132160, 0.272735620222096350, 0.272687515430221020, 0.272639409956627330, 0.272591303801435150, 0.272543196964764700, +0.272495089446735840, 0.272446981247469690, 0.272398872367086040, 0.272350762805705250, 0.272302652563447100, 0.272254541640432780, 0.272206430036782080, 0.272158317752615340, +0.272110204788052310, 0.272062091143214280, 0.272013976818220930, 0.271965861813192710, 0.271917746128249370, 0.271869629763512140, 0.271821512719100770, 0.271773394995135250, +0.271725276591736620, 0.271677157509024820, 0.271629037747120160, 0.271580917306142420, 0.271532796186212840, 0.271484674387451270, 0.271436551909978010, 0.271388428753912950, +0.271340304919377270, 0.271292180406490780, 0.271244055215373870, 0.271195929346146390, 0.271147802798929530, 0.271099675573843120, 0.271051547671007530, 0.271003419090542650, +0.270955289832569670, 0.270907159897208480, 0.270859029284578890, 0.270810897994802240, 0.270762766027998310, 0.270714633384287420, 0.270666500063789560, 0.270618366066625870, +0.270570231392916300, 0.270522096042781100, 0.270473960016340280, 0.270425823313714950, 0.270377685935025090, 0.270329547880390990, 0.270281409149932590, 0.270233269743771150, +0.270185129662026460, 0.270136988904819020, 0.270088847472268630, 0.270040705364496540, 0.269992562581622740, 0.269944419123767490, 0.269896274991050730, 0.269848130183593770, +0.269799984701516500, 0.269751838544938780, 0.269703691713981950, 0.269655544208765860, 0.269607396029410920, 0.269559247176037020, 0.269511097648765460, 0.269462947447716210, +0.269414796573009540, 0.269366645024765430, 0.269318492803105160, 0.269270339908148640, 0.269222186340016320, 0.269174032098828060, 0.269125877184705150, 0.269077721597767550, +0.269029565338135660, 0.268981408405929430, 0.268933250801270120, 0.268885092524277670, 0.268836933575072050, 0.268788773953774540, 0.268740613660505060, 0.268692452695384050, +0.268644291058531490, 0.268596128750068660, 0.268547965770115530, 0.268499802118792430, 0.268451637796219390, 0.268403472802517700, 0.268355307137807360, 0.268307140802208690, +0.268258973795841790, 0.268210806118827860, 0.268162637771286960, 0.268114468753339390, 0.268066299065105260, 0.268018128706705830, 0.267969957678261040, 0.267921785979890970, +0.267873613611716850, 0.267825440573858650, 0.267777266866436940, 0.267729092489571550, 0.267680917443383900, 0.267632741727993950, 0.267584565343522150, 0.267536388290088470, +0.267488210567814300, 0.267440032176819550, 0.267391853117224740, 0.267343673389149880, 0.267295492992716270, 0.267247311928043910, 0.267199130195253320, 0.267150947794464410, +0.267102764725798580, 0.267054580989375840, 0.267006396585316220, 0.266958211513741050, 0.266910025774770350, 0.266861839368524590, 0.266813652295123770, 0.266765464554689300, +0.266717276147341140, 0.266669087073199750, 0.266620897332385250, 0.266572706925018940, 0.266524515851220890, 0.266476324111111500, 0.266428131704810890, 0.266379938632440420, +0.266331744894120040, 0.266283550489970320, 0.266235355420111290, 0.266187159684664330, 0.266138963283749420, 0.266090766217487170, 0.266042568485997500, 0.265994370089401910, +0.265946171027820370, 0.265897971301372940, 0.265849770910181030, 0.265801569854364710, 0.265753368134044430, 0.265705165749340330, 0.265656962700373760, 0.265608758987264770, +0.265560554610133840, 0.265512349569101140, 0.265464143864287960, 0.265415937495814490, 0.265367730463801130, 0.265319522768368010, 0.265271314409636530, 0.265223105387726700, +0.265174895702759210, 0.265126685354853950, 0.265078474344132450, 0.265030262670714780, 0.264982050334721050, 0.264933837336272570, 0.264885623675489510, 0.264837409352492390, +0.264789194367401340, 0.264740978720337690, 0.264692762411421640, 0.264644545440773650, 0.264596327808513890, 0.264548109514763760, 0.264499890559643290, 0.264451670943273150, +0.264403450665773370, 0.264355229727265440, 0.264307008127869390, 0.264258785867705850, 0.264210562946894880, 0.264162339365557940, 0.264114115123815160, 0.264065890221786670, +0.264017664659593920, 0.263969438437356930, 0.263921211555196380, 0.263872984013232390, 0.263824755811586380, 0.263776526950378450, 0.263728297429729200, 0.263680067249758790, +0.263631836410588630, 0.263583604912338900, 0.263535372755130120, 0.263487139939082520, 0.263438906464317450, 0.263390672330955140, 0.263342437539116180, 0.263294202088920680, +0.263245965980490100, 0.263197729213944580, 0.263149491789404780, 0.263101253706990780, 0.263053014966824090, 0.263004775569024910, 0.262956535513713290, 0.262908294801010800, +0.262860053431037580, 0.262811811403914190, 0.262763568719760860, 0.262715325378699070, 0.262667081380848930, 0.262618836726331070, 0.262570591415265730, 0.262522345447774310, +0.262474098823977040, 0.262425851543994500, 0.262377603607946930, 0.262329355015955780, 0.262281105768141230, 0.262232855864623970, 0.262184605305524070, 0.262136354090963140, +0.262088102221061270, 0.262039849695938740, 0.261991596515717020, 0.261943342680516330, 0.261895088190457260, 0.261846833045660030, 0.261798577246246170, 0.261750320792335840, +0.261702063684049690, 0.261653805921508000, 0.261605547504832230, 0.261557288434142550, 0.261509028709559670, 0.261460768331203800, 0.261412507299196410, 0.261364245613657790, +0.261315983274708510, 0.261267720282468860, 0.261219456637060370, 0.261171192338603200, 0.261122927387217650, 0.261074661783025190, 0.261026395526146040, 0.260978128616700940, +0.260929861054810090, 0.260881592840595030, 0.260833323974175970, 0.260785054455673630, 0.260736784285208190, 0.260688513462901230, 0.260640241988872980, 0.260591969863244120, +0.260543697086134950, 0.260495423657666920, 0.260447149577960340, 0.260398874847135920, 0.260350599465313800, 0.260302323432615720, 0.260254046749161750, 0.260205769415072290, +0.260157491430468790, 0.260109212795471560, 0.260060933510201320, 0.260012653574778320, 0.259964372989324120, 0.259916091753958970, 0.259867809868803590, 0.259819527333978280, +0.259771244149604560, 0.259722960315802720, 0.259674675832693490, 0.259626390700397170, 0.259578104919035270, 0.259529818488728140, 0.259481531409596400, 0.259433243681760460, +0.259384955305341840, 0.259336666280460810, 0.259288376607238080, 0.259240086285794040, 0.259191795316250200, 0.259143503698726850, 0.259095211433344350, 0.259046918520224210, +0.258998624959486780, 0.258950330751252790, 0.258902035895642530, 0.258853740392777640, 0.258805444242778400, 0.258757147445765560, 0.258708850001859390, 0.258660551911181540, +0.258612253173852280, 0.258563953789992420, 0.258515653759722240, 0.258467353083163380, 0.258419051760436110, 0.258370749791661190, 0.258322447176959010, 0.258274143916451150, +0.258225840010257890, 0.258177535458499590, 0.258129230261297920, 0.258080924418773170, 0.258032617931046090, 0.257984310798237030, 0.257936003020467650, 0.257887694597858210, +0.257839385530529600, 0.257791075818602060, 0.257742765462197270, 0.257694454461435570, 0.257646142816437720, 0.257597830527324100, 0.257549517594216350, 0.257501204017234750, +0.257452889796500160, 0.257404574932132920, 0.257356259424254720, 0.257307943272985840, 0.257259626478446630, 0.257211309040758840, 0.257162990960042750, 0.257114672236419210, +0.257066352870008510, 0.257018032860932390, 0.256969712209311200, 0.256921390915265670, 0.256873068978916320, 0.256824746400384660, 0.256776423179791160, 0.256728099317256600, +0.256679774812901380, 0.256631449666847140, 0.256583123879214230, 0.256534797450123590, 0.256486470379695460, 0.256438142668051650, 0.256389814315312440, 0.256341485321598670, +0.256293155687030820, 0.256244825411730440, 0.256196494495818050, 0.256148162939414000, 0.256099830742639920, 0.256051497905616320, 0.256003164428463940, 0.255954830311303230, +0.255906495554255880, 0.255858160157442280, 0.255809824120983300, 0.255761487444999270, 0.255713150129611990, 0.255664812174941860, 0.255616473581109670, 0.255568134348235890, +0.255519794476442190, 0.255471453965849030, 0.255423112816577200, 0.255374771028747170, 0.255326428602480620, 0.255278085537898050, 0.255229741835119760, 0.255181397494267600, +0.255133052515461920, 0.255084706898823680, 0.255036360644473160, 0.254988013752532220, 0.254939666223121200, 0.254891318056361060, 0.254842969252372150, 0.254794619811276270, +0.254746269733193860, 0.254697919018245730, 0.254649567666552390, 0.254601215678235570, 0.254552863053415730, 0.254504509792213730, 0.254456155894750010, 0.254407801361146320, +0.254359446191523120, 0.254311090386000920, 0.254262733944701390, 0.254214376867745010, 0.254166019155252720, 0.254117660807344940, 0.254069301824143450, 0.254020942205768650, +0.253972581952341570, 0.253924221063982550, 0.253875859540813430, 0.253827497382954680, 0.253779134590527140, 0.253730771163651390, 0.253682407102449100, 0.253634042407040850, +0.253585677077547420, 0.253537311114089390, 0.253488944516788550, 0.253440577285765300, 0.253392209421140210, 0.253343840923035020, 0.253295471791570190, 0.253247102026866730, +0.253198731629045050, 0.253150360598226990, 0.253101988934533060, 0.253053616638084120, 0.253005243709000680, 0.252956870147404640, 0.252908495953416360, 0.252860121127156830, +0.252811745668746650, 0.252763369578307470, 0.252714992855959890, 0.252666615501824790, 0.252618237516022750, 0.252569858898675560, 0.252521479649903680, 0.252473099769828120, +0.252424719258569410, 0.252376338116249320, 0.252327956342988380, 0.252279573938907100, 0.252231190904127320, 0.252182807238769570, 0.252134422942954790, 0.252086038016803570, +0.252037652460437630, 0.251989266273977610, 0.251940879457544400, 0.251892492011258520, 0.251844103935241930, 0.251795715229615020, 0.251747325894498830, 0.251698935930013860, +0.251650545336282060, 0.251602154113423850, 0.251553762261560230, 0.251505369780811780, 0.251456976671300400, 0.251408582933146500, 0.251360188566470740, 0.251311793571394990, +0.251263397948039700, 0.251215001696525940, 0.251166604816974230, 0.251118207309506460, 0.251069809174243150, 0.251021410411305320, 0.250973011020813540, 0.250924611002889650, +0.250876210357654230, 0.250827809085228280, 0.250779407185732440, 0.250731004659288440, 0.250682601506016960, 0.250634197726038950, 0.250585793319475060, 0.250537388286447060, +0.250488982627075640, 0.250440576341481310, 0.250392169429785980, 0.250343761892110220, 0.250295353728575090, 0.250246944939301110, 0.250198535524410180, 0.250150125484022930, +0.250101714818260380, 0.250053303527243090, 0.250004891611092960, 0.249956479069930650, 0.249908065903877120, 0.249859652113053000, 0.249811237697580150, 0.249762822657579240, +0.249714406993171270, 0.249665990704476840, 0.249617573791617860, 0.249569156254714960, 0.249520738093889170, 0.249472319309261090, 0.249423899900952650, 0.249375479869084450, +0.249327059213777120, 0.249278637935152590, 0.249230216033331450, 0.249181793508434780, 0.249133370360583200, 0.249084946589898630, 0.249036522196501660, 0.248988097180513430, +0.248939671542054490, 0.248891245281246810, 0.248842818398211040, 0.248794390893068210, 0.248745962765938940, 0.248697534016945220, 0.248649104646207680, 0.248600674653847360, +0.248552244039984940, 0.248503812804742320, 0.248455380948240180, 0.248406948470599160, 0.248358515371941200, 0.248310081652386940, 0.248261647312057470, 0.248213212351073460, +0.248164776769556870, 0.248116340567628320, 0.248067903745408910, 0.248019466303019330, 0.247971028240581510, 0.247922589558216110, 0.247874150256044230, 0.247825710334186540, +0.247777269792765040, 0.247728828631900350, 0.247680386851713560, 0.247631944452325420, 0.247583501433857820, 0.247535057796431480, 0.247486613540167040, 0.247438168665186530, +0.247389723171610560, 0.247341277059560330, 0.247292830329156440, 0.247244382980520930, 0.247195935013774430, 0.247147486429038110, 0.247099037226432640, 0.247050587406080020, +0.247002136968100920, 0.246953685912616490, 0.246905234239747420, 0.246856781949615660, 0.246808329042341980, 0.246759875518047460, 0.246711421376852810, 0.246662966618880070, +0.246614511244249910, 0.246566055253083010, 0.246517598645501430, 0.246469141421625850, 0.246420683581577400, 0.246372225125476820, 0.246323766053446110, 0.246275306365605990, +0.246226846062077590, 0.246178385142981650, 0.246129923608440190, 0.246081461458573900, 0.246032998693503980, 0.245984535313351130, 0.245936071318237360, 0.245887606708283410, +0.245839141483610440, 0.245790675644339210, 0.245742209190591700, 0.245693742122488650, 0.245645274440151270, 0.245596806143700270, 0.245548337233257700, 0.245499867708944270, +0.245451397570880750, 0.245402926819189150, 0.245354455453990260, 0.245305983475405220, 0.245257510883554770, 0.245209037678561000, 0.245160563860544630, 0.245112089429626840, +0.245063614385928390, 0.245015138729571340, 0.244966662460676470, 0.244918185579364930, 0.244869708085757480, 0.244821229979976180, 0.244772751262141850, 0.244724271932375610, +0.244675791990798280, 0.244627311437531890, 0.244578830272697200, 0.244530348496415030, 0.244481866108807400, 0.244433383109995130, 0.244384899500099400, 0.244336415279240960, +0.244287930447541930, 0.244239445005123100, 0.244190958952105630, 0.244142472288610330, 0.244093985014759290, 0.244045497130673280, 0.243997008636473530, 0.243948519532280830, +0.243900029818217260, 0.243851539494403640, 0.243803048560961130, 0.243754557018010580, 0.243706064865674090, 0.243657572104072410, 0.243609078733326380, 0.243560584753558100, +0.243512090164888340, 0.243463594967438360, 0.243415099161328970, 0.243366602746682230, 0.243318105723619030, 0.243269608092260530, 0.243221109852727600, 0.243172611005142310, +0.243124111549625520, 0.243075611486298420, 0.243027110815281860, 0.242978609536697980, 0.242930107650667550, 0.242881605157311890, 0.242833102056751740, 0.242784598349109290, +0.242736094034505360, 0.242687589113061150, 0.242639083584897580, 0.242590577450136710, 0.242542070708899380, 0.242493563361306480, 0.242445055407480100, 0.242396546847541060, +0.242348037681610650, 0.242299527909809710, 0.242251017532260420, 0.242202506549083570, 0.242153994960400440, 0.242105482766331900, 0.242056969967000070, 0.242008456562525840, +0.241959942553030440, 0.241911427938634790, 0.241862912719460980, 0.241814396895629890, 0.241765880467262800, 0.241717363434480580, 0.241668845797405380, 0.241620327556158090, +0.241571808710859540, 0.241523289261631880, 0.241474769208596010, 0.241426248551873220, 0.241377727291584350, 0.241329205427851630, 0.241280682960795880, 0.241232159890538420, +0.241183636217200150, 0.241135111940903200, 0.241086587061768500, 0.241038061579917310, 0.240989535495470530, 0.240941008808550320, 0.240892481519277640, 0.240843953627773720, +0.240795425134159500, 0.240746896038557150, 0.240698366341087540, 0.240649836041871600, 0.240601305141031510, 0.240552773638688130, 0.240504241534962830, 0.240455708829976520, +0.240407175523851320, 0.240358641616708220, 0.240310107108668510, 0.240261571999853100, 0.240213036290384180, 0.240164499980382670, 0.240115963069969930, 0.240067425559266830, +0.240018887448395610, 0.239970348737477160, 0.239921809426632850, 0.239873269515983560, 0.239824729005651550, 0.239776187895757720, 0.239727646186423000, 0.239679103877769580, +0.239630560969918390, 0.239582017462990820, 0.239533473357107760, 0.239484928652391430, 0.239436383348962810, 0.239387837446943220, 0.239339290946453620, 0.239290743847616200, +0.239242196150551920, 0.239193647855382160, 0.239145098962227850, 0.239096549471211230, 0.239047999382453250, 0.238999448696075260, 0.238950897412198190, 0.238902345530944330, +0.238853793052434590, 0.238805239976790400, 0.238756686304132660, 0.238708132034583630, 0.238659577168264280, 0.238611021705295550, 0.238562465645799690, 0.238513908989897690, +0.238465351737710880, 0.238416793889360300, 0.238368235444968160, 0.238319676404655400, 0.238271116768543480, 0.238222556536753340, 0.238173995709407200, 0.238125434286626110, +0.238076872268531410, 0.238028309655244130, 0.237979746446886460, 0.237931182643579460, 0.237882618245444520, 0.237834053252602570, 0.237785487665175900, 0.237736921483285540, +0.237688354707052460, 0.237639787336598910, 0.237591219372045890, 0.237542650813514810, 0.237494081661126680, 0.237445511915003790, 0.237396941575267110, 0.237348370642038060, +0.237299799115437670, 0.237251226995588200, 0.237202654282610700, 0.237154080976626520, 0.237105507077756740, 0.237056932586123590, 0.237008357501848150, 0.236959781825051790, +0.236911205555855540, 0.236862628694381710, 0.236814051240751330, 0.236765473195085370, 0.236716894557506160, 0.236668315328134730, 0.236619735507092480, 0.236571155094500500, +0.236522574090481020, 0.236473992495155130, 0.236425410308644250, 0.236376827531069420, 0.236328244162552960, 0.236279660203215890, 0.236231075653179660, 0.236182490512565320, +0.236133904781495180, 0.236085318460090260, 0.236036731548472050, 0.235988144046761610, 0.235939555955081200, 0.235890967273551940, 0.235842378002295240, 0.235793788141432150, +0.235745197691085040, 0.235696606651374930, 0.235648015022422890, 0.235599422804351230, 0.235550829997281000, 0.235502236601333710, 0.235453642616630380, 0.235405048043293400, +0.235356452881443800, 0.235307857131203060, 0.235259260792692220, 0.235210663866033680, 0.235162066351348480, 0.235113468248758120, 0.235064869558383650, 0.235016270280347470, +0.234967670414770570, 0.234919069961774530, 0.234870468921480360, 0.234821867294010440, 0.234773265079485870, 0.234724662278027710, 0.234676058889758320, 0.234627454914798780, +0.234578850353270580, 0.234530245205294860, 0.234481639470993960, 0.234433033150488940, 0.234384426243901350, 0.234335818751352260, 0.234287210672964040, 0.234238602008857790, +0.234189992759155060, 0.234141382923976900, 0.234092772503445730, 0.234044161497682620, 0.233995549906809100, 0.233946937730946300, 0.233898324970216560, 0.233849711624741020, +0.233801097694640750, 0.233752483180038190, 0.233703868081054420, 0.233655252397810960, 0.233606636130428950, 0.233558019279030800, 0.233509401843737590, 0.233460783824670860, +0.233412165221951740, 0.233363546035702670, 0.233314926266044690, 0.233266305913099440, 0.233217684976987970, 0.233169063457832700, 0.233120441355754800, 0.233071818670875790, +0.233023195403316810, 0.232974571553200250, 0.232925947120647290, 0.232877322105779020, 0.232828696508717880, 0.232780070329584980, 0.232731443568501920, 0.232682816225589810, +0.232634188300971100, 0.232585559794766920, 0.232536930707098830, 0.232488301038087990, 0.232439670787856820, 0.232391039956526490, 0.232342408544218530, 0.232293776551054150, +0.232245143977155730, 0.232196510822644480, 0.232147877087641950, 0.232099242772269290, 0.232050607876648940, 0.232001972400902090, 0.231953336345150310, 0.231904699709514740, +0.231856062494117860, 0.231807424699080830, 0.231758786324524790, 0.231710147370572240, 0.231661507837344290, 0.231612867724962620, 0.231564227033548310, 0.231515585763223870, +0.231466943914110460, 0.231418301486329720, 0.231369658480002770, 0.231321014895252110, 0.231272370732198920, 0.231223725990964770, 0.231175080671670920, 0.231126434774439780, +0.231077788299392540, 0.231029141246650860, 0.230980493616335880, 0.230931845408570090, 0.230883196623474670, 0.230834547261170860, 0.230785897321781120, 0.230737246805426620, +0.230688595712228990, 0.230639944042309450, 0.230591291795790490, 0.230542638972793280, 0.230493985573439500, 0.230445331597850300, 0.230396677046148220, 0.230348021918454440, +0.230299366214890610, 0.230250709935577920, 0.230202053080638900, 0.230153395650194740, 0.230104737644367120, 0.230056079063277190, 0.230007419907047510, 0.229958760175799280, +0.229910099869653690, 0.229861438988733320, 0.229812777533159320, 0.229764115503053400, 0.229715452898536760, 0.229666789719731900, 0.229618125966760090, 0.229569461639742960, +0.229520796738801710, 0.229472131264058940, 0.229423465215635840, 0.229374798593654060, 0.229326131398234850, 0.229277463629500770, 0.229228795287573010, 0.229180126372573260, +0.229131456884622780, 0.229082786823844060, 0.229034116190358410, 0.228985444984287440, 0.228936773205752430, 0.228888100854875930, 0.228839427931779170, 0.228790754436583420, +0.228742080369411180, 0.228693405730383770, 0.228644730519622860, 0.228596054737249670, 0.228547378383386760, 0.228498701458155430, 0.228450023961677350, 0.228401345894073770, +0.228352667255467240, 0.228303988045979070, 0.228255308265730930, 0.228206627914844060, 0.228157946993441080, 0.228109265501643200, 0.228060583439572200, 0.228011900807349260, +0.227963217605097020, 0.227914533832936750, 0.227865849490989700, 0.227817164579378480, 0.227768479098224340, 0.227719793047648970, 0.227671106427773720, 0.227622419238721120, +0.227573731480612500, 0.227525043153569530, 0.227476354257713510, 0.227427664793167030, 0.227378974760051420, 0.227330284158488350, 0.227281592988599150, 0.227232901250506410, +0.227184208944331390, 0.227135516070195860, 0.227086822628221110, 0.227038128618529730, 0.226989434041243030, 0.226940738896482310, 0.226892043184370170, 0.226843346905027940, +0.226794650058577350, 0.226745952645139690, 0.226697254664837560, 0.226648556117792330, 0.226599857004125690, 0.226551157323958970, 0.226502457077414790, 0.226453756264614480, +0.226405054885679770, 0.226356352940732000, 0.226307650429893760, 0.226258947353286420, 0.226210243711031680, 0.226161539503250940, 0.226112834730066740, 0.226064129391600480, +0.226015423487973460, 0.225966717019308320, 0.225918009985726390, 0.225869302387349420, 0.225820594224298760, 0.225771885496697050, 0.225723176204665640, 0.225674466348326270, +0.225625755927800320, 0.225577044943210400, 0.225528333394677870, 0.225479621282324520, 0.225430908606271680, 0.225382195366642000, 0.225333481563556810, 0.225284767197137940, +0.225236052267506700, 0.225187336774785780, 0.225138620719096520, 0.225089904100560710, 0.225041186919299700, 0.224992469175436140, 0.224943750869091410, 0.224895032000386880, +0.224846312569445210, 0.224797592576387760, 0.224748872021336310, 0.224700150904412250, 0.224651429225738270, 0.224602706985435690, 0.224553984183626380, 0.224505260820431650, +0.224456536895974200, 0.224407812410375410, 0.224359087363757060, 0.224310361756240610, 0.224261635587948650, 0.224212908859002640, 0.224164181569524330, 0.224115453719635120, +0.224066725309457730, 0.224017996339113540, 0.223969266808723890, 0.223920536718411530, 0.223871806068297850, 0.223823074858504610, 0.223774343089153280, 0.223725610760366510, +0.223676877872265730, 0.223628144424972720, 0.223579410418608960, 0.223530675853297080, 0.223481940729158500, 0.223433205046315090, 0.223384468804888240, 0.223335732005000650, +0.223286994646773710, 0.223238256730329290, 0.223189518255788810, 0.223140779223274970, 0.223092039632909160, 0.223043299484812830, 0.222994558779108680, 0.222945817515918130, +0.222897075695363040, 0.222848333317564820, 0.222799590382646210, 0.222750846890728630, 0.222702102841933920, 0.222653358236383550, 0.222604613074200180, 0.222555867355505280, +0.222507121080420730, 0.222458374249067950, 0.222409626861569650, 0.222360878918047290, 0.222312130418622720, 0.222263381363417420, 0.222214631752554070, 0.222165881586154160, +0.222117130864339540, 0.222068379587231630, 0.222019627754953240, 0.221970875367625780, 0.221922122425370680, 0.221873368928310720, 0.221824614876567350, 0.221775860270262410, +0.221727105109517430, 0.221678349394455080, 0.221629593125196890, 0.221580836301864700, 0.221532078924579990, 0.221483320993465520, 0.221434562508642710, 0.221385803470233540, +0.221337043878359400, 0.221288283733143100, 0.221239523034706090, 0.221190761783170260, 0.221141999978657110, 0.221093237621289380, 0.221044474711188570, 0.220995711248476140, +0.220946947233274850, 0.220898182665706180, 0.220849417545892070, 0.220800651873954010, 0.220751885650014720, 0.220703118874195720, 0.220654351546618940, 0.220605583667405820, +0.220556815236679190, 0.220508046254560520, 0.220459276721171740, 0.220410506636634330, 0.220361736001071090, 0.220312964814603520, 0.220264193077353510, 0.220215420789442620, +0.220166647950993580, 0.220117874562127950, 0.220069100622967170, 0.220020326133634090, 0.219971551094250180, 0.219922775504937410, 0.219873999365817250, 0.219825222677012540, +0.219776445438644770, 0.219727667650835870, 0.219678889313707380, 0.219630110427382120, 0.219581330991981540, 0.219532551007627670, 0.219483770474441980, 0.219434989392547300, +0.219386207762065130, 0.219337425583117470, 0.219288642855825780, 0.219239859580312950, 0.219191075756700440, 0.219142291385110270, 0.219093506465663920, 0.219044720998484240, +0.218995934983692740, 0.218947148421411000, 0.218898361311761800, 0.218849573654866710, 0.218800785450847690, 0.218751996699826260, 0.218703207401925280, 0.218654417557266280, +0.218605627165971230, 0.218556836228161690, 0.218508044743960460, 0.218459252713489150, 0.218410460136869710, 0.218361667014223690, 0.218312873345673920, 0.218264079131341960, +0.218215284371349820, 0.218166489065819040, 0.218117693214872450, 0.218068896818631650, 0.218020099877218150, 0.217971302390754850, 0.217922504359363280, 0.217873705783165480, +0.217824906662282940, 0.217776106996838610, 0.217727306786953980, 0.217678506032751100, 0.217629704734351500, 0.217580902891878090, 0.217532100505452440, 0.217483297575196490, +0.217434494101231920, 0.217385690083681500, 0.217336885522666890, 0.217288080418310050, 0.217239274770732570, 0.217190468580057330, 0.217141661846405960, 0.217092854569899960, +0.217044046750662270, 0.216995238388814460, 0.216946429484478560, 0.216897620037776160, 0.216848810048830140, 0.216799999517762080, 0.216751188444694040, 0.216702376829747580, +0.216653564673045640, 0.216604751974709740, 0.216555938734862010, 0.216507124953623980, 0.216458310631118560, 0.216409495767467370, 0.216360680362792430, 0.216311864417215390, +0.216263047930859100, 0.216214230903845170, 0.216165413336295270, 0.216116595228332240, 0.216067776580077730, 0.216018957391653780, 0.215970137663182020, 0.215921317394785320, +0.215872496586585360, 0.215823675238704130, 0.215774853351263280, 0.215726030924385750, 0.215677207958193120, 0.215628384452807490, 0.215579560408350470, 0.215530735824944950, +0.215481910702712610, 0.215433085041775500, 0.215384258842255230, 0.215335432104274750, 0.215286604827955700, 0.215237777013420150, 0.215188948660789690, 0.215140119770187320, +0.215091290341734630, 0.215042460375553270, 0.214993629871766230, 0.214944798830495080, 0.214895967251861970, 0.214847135135988490, 0.214798302482997610, 0.214749469293010950, +0.214700635566150650, 0.214651801302538300, 0.214602966502296900, 0.214554131165548080, 0.214505295292413940, 0.214456458883016090, 0.214407621937477560, 0.214358784455919970, +0.214309946438465430, 0.214261107885235590, 0.214212268796353380, 0.214163429171940530, 0.214114589012118660, 0.214065748317010750, 0.214016907086738480, 0.213968065321423960, +0.213919223021188790, 0.213870380186156030, 0.213821536816447330, 0.213772692912184760, 0.213723848473490050, 0.213675003500486150, 0.213626157993294740, 0.213577311952037910, +0.213528465376837400, 0.213479618267816140, 0.213430770625095830, 0.213381922448798610, 0.213333073739046140, 0.213284224495961410, 0.213235374719666140, 0.213186524410281990, +0.213137673567931950, 0.213088822192737750, 0.213039970284821490, 0.212991117844304860, 0.212942264871310880, 0.212893411365961240, 0.212844557328378060, 0.212795702758683060, +0.212746847656999220, 0.212697992023448270, 0.212649135858152370, 0.212600279161233170, 0.212551421932813710, 0.212502564173015690, 0.212453705881961250, 0.212404847059772140, +0.212355987706571330, 0.212307127822480540, 0.212258267407621940, 0.212209406462117250, 0.212160544986089470, 0.212111682979660320, 0.212062820442951520, 0.212013957376086140, +0.211965093779185820, 0.211916229652372810, 0.211867364995768750, 0.211818499809496740, 0.211769634093678470, 0.211720767848436130, 0.211671901073891420, 0.211623033770167390, +0.211574165937385790, 0.211525297575668760, 0.211476428685138080, 0.211427559265916720, 0.211378689318126480, 0.211329818841889530, 0.211280947837327590, 0.211232076304563730, +0.211183204243719640, 0.211134331654917130, 0.211085458538279230, 0.211036584893927680, 0.210987710721984660, 0.210938836022571930, 0.210889960795812570, 0.210841085041828270, +0.210792208760741280, 0.210743331952673340, 0.210694454617747500, 0.210645576756085500, 0.210596698367809590, 0.210547819453041460, 0.210498940011904250, 0.210450060044519690, +0.210401179551009950, 0.210352298531496870, 0.210303416986103440, 0.210254534914951500, 0.210205652318162770, 0.210156769195860320, 0.210107885548165980, 0.210059001375201920, +0.210010116677089940, 0.209961231453953070, 0.209912345705913130, 0.209863459433092340, 0.209814572635612460, 0.209765685313596570, 0.209716797467166480, 0.209667909096444390, +0.209619020201552100, 0.209570130782612690, 0.209521240839747960, 0.209472350373080120, 0.209423459382730990, 0.209374567868823610, 0.209325675831479850, 0.209276783270821440, +0.209227890186971490, 0.209178996580051850, 0.209130102450184710, 0.209081207797491870, 0.209032312622096460, 0.208983416924120260, 0.208934520703685510, 0.208885623960914010, +0.208836726695928930, 0.208787828908852000, 0.208738930599805500, 0.208690031768911240, 0.208641132416292340, 0.208592232542070600, 0.208543332146368300, 0.208494431229307220, +0.208445529791010500, 0.208396627831599960, 0.208347725351197830, 0.208298822349925970, 0.208249918827907500, 0.208201014785264200, 0.208152110222117960, 0.208103205138591870, +0.208054299534807750, 0.208005393410887920, 0.207956486766954140, 0.207907579603129580, 0.207858671919536080, 0.207809763716295890, 0.207760854993530860, 0.207711945751364150, +0.207663035989917530, 0.207614125709313370, 0.207565214909673420, 0.207516303591120890, 0.207467391753777600, 0.207418479397765840, 0.207369566523207430, 0.207320653130225550, +0.207271739218942010, 0.207222824789478700, 0.207173909841958770, 0.207124994376504080, 0.207076078393236880, 0.207027161892279070, 0.206978244873753770, 0.206929327337782850, +0.206880409284488640, 0.206831490713992950, 0.206782571626419000, 0.206733652021888590, 0.206684731900524050, 0.206635811262447260, 0.206586890107781390, 0.206537968436648260, +0.206489046249170250, 0.206440123545469150, 0.206391200325668180, 0.206342276589889240, 0.206293352338254160, 0.206244427570886120, 0.206195502287907010, 0.206146576489439150, +0.206097650175604440, 0.206048723346526020, 0.205999796002325790, 0.205950868143126050, 0.205901939769048750, 0.205853010880216990, 0.205804081476752720, 0.205755151558778240, +0.205706221126415480, 0.205657290179787570, 0.205608358719016450, 0.205559426744224420, 0.205510494255533390, 0.205461561253066580, 0.205412627736945850, 0.205363693707293540, +0.205314759164231590, 0.205265824107883130, 0.205216888538370140, 0.205167952455814510, 0.205119015860339430, 0.205070078752066790, 0.205021141131118940, 0.204972202997617840, +0.204923264351686650, 0.204874325193447280, 0.204825385523022120, 0.204776445340533080, 0.204727504646103340, 0.204678563439854830, 0.204629621721909930, 0.204580679492390530, +0.204531736751419860, 0.204482793499119850, 0.204433849735612880, 0.204384905461020810, 0.204335960675466940, 0.204287015379073180, 0.204238069571961420, 0.204189123254254920, +0.204140176426075630, 0.204091229087545900, 0.204042281238787650, 0.203993332879924130, 0.203944384011077280, 0.203895434632369480, 0.203846484743922640, 0.203797534345860040, +0.203748583438303600, 0.203699632021375700, 0.203650680095198290, 0.203601727659894620, 0.203552774715586610, 0.203503821262396690, 0.203454867300446760, 0.203405912829860090, +0.203356957850758660, 0.203308002363264410, 0.203259046367500560, 0.203210089863589100, 0.203161132851652440, 0.203112175331812470, 0.203063217304192520, 0.203014258768914550, +0.202965299726100920, 0.202916340175873590, 0.202867380118355840, 0.202818419553669670, 0.202769458481937420, 0.202720496903281090, 0.202671534817823960, 0.202622572225688020, +0.202573609126995620, 0.202524645521868770, 0.202475681410430740, 0.202426716792803500, 0.202377751669109040, 0.202328786039470660, 0.202279819904010280, 0.202230853262850370, +0.202181886116112870, 0.202132918463921120, 0.202083950306397030, 0.202034981643663100, 0.201986012475841280, 0.201937042803054860, 0.201888072625425820, 0.201839101943076610, +0.201790130756129230, 0.201741159064706910, 0.201692186868931730, 0.201643214168926080, 0.201594240964811930, 0.201545267256712650, 0.201496293044750200, 0.201447318329047000, +0.201398343109725070, 0.201349367386907700, 0.201300391160716930, 0.201251414431274760, 0.201202437198704480, 0.201153459463128100, 0.201104481224668090, 0.201055502483446420, +0.201006523239586450, 0.200957543493210160, 0.200908563244440010, 0.200859582493398030, 0.200810601240207500, 0.200761619484990490, 0.200712637227869420, 0.200663654468966330, +0.200614671208404540, 0.200565687446306070, 0.200516703182793380, 0.200467718417988490, 0.200418733152014750, 0.200369747384994160, 0.200320761117048800, 0.200271774348301960, +0.200222787078875670, 0.200173799308892430, 0.200124811038474240, 0.200075822267744450, 0.200026832996825110, 0.199977843225838700, 0.199928852954907250, 0.199879862184154100, +0.199830870913701280, 0.199781879143671290, 0.199732886874186170, 0.199683894105369270, 0.199634900837342640, 0.199585907070228750, 0.199536912804149650, 0.199487918039228720, +0.199438922775588000, 0.199389927013349510, 0.199340930752636650, 0.199291933993571480, 0.199242936736276440, 0.199193938980873650, 0.199144940727486450, 0.199095941976236900, +0.199046942727247460, 0.198997942980640270, 0.198948942736538630, 0.198899941995064640, 0.198850940756340800, 0.198801939020489180, 0.198752936787633140, 0.198703934057894770, +0.198654930831396540, 0.198605927108260550, 0.198556922888610210, 0.198507918172567520, 0.198458912960255060, 0.198409907251794890, 0.198360901047310380, 0.198311894346923620, +0.198262887150756660, 0.198213879458932960, 0.198164871271574530, 0.198115862588803930, 0.198066853410743230, 0.198017843737515850, 0.197968833569243860, 0.197919822906049790, +0.197870811748055710, 0.197821800095385050, 0.197772787948159890, 0.197723775306502730, 0.197674762170535730, 0.197625748540382260, 0.197576734416164410, 0.197527719798004710, +0.197478704686025300, 0.197429689080349550, 0.197380672981099570, 0.197331656388397480, 0.197282639302366700, 0.197233621723129300, 0.197184603650807870, 0.197135585085524480, +0.197086566027402540, 0.197037546476564210, 0.196988526433132030, 0.196939505897228060, 0.196890484868975780, 0.196841463348497310, 0.196792441335915140, 0.196743418831351460, +0.196694395834929650, 0.196645372346771870, 0.196596348367000660, 0.196547323895738120, 0.196498298933107720, 0.196449273479231580, 0.196400247534231800, 0.196351221098231860, +0.196302194171353860, 0.196253166753720370, 0.196204138845453540, 0.196155110446676770, 0.196106081557512250, 0.196057052178082500, 0.196008022308509720, 0.195958991948917300, +0.195909961099427400, 0.195860929760162620, 0.195811897931245040, 0.195762865612798180, 0.195713832804944140, 0.195664799507805520, 0.195615765721504490, 0.195566731446164460, +0.195517696681907600, 0.195468661428856050, 0.195419625687133310, 0.195370589456861500, 0.195321552738163210, 0.195272515531160600, 0.195223477835977130, 0.195174439652734980, +0.195125400981556730, 0.195076361822564550, 0.195027322175881900, 0.194978282041630920, 0.194929241419934260, 0.194880200310914050, 0.194831158714693750, 0.194782116631395580, +0.194733074061142130, 0.194684031004055540, 0.194634987460259310, 0.194585943429875620, 0.194536898913027080, 0.194487853909835830, 0.194438808420425410, 0.194389762444917960, +0.194340715983435660, 0.194291669036102010, 0.194242621603039180, 0.194193573684369820, 0.194144525280216060, 0.194095476390701430, 0.194046427015948130, 0.193997377156078730, +0.193948326811215490, 0.193899275981481850, 0.193850224667000000, 0.193801172867892610, 0.193752120584281850, 0.193703067816291240, 0.193654014564042940, 0.193604960827659600, +0.193555906607263430, 0.193506851902977920, 0.193457796714925300, 0.193408741043227720, 0.193359684888008750, 0.193310628249390580, 0.193261571127495810, 0.193212513522446700, +0.193163455434366720, 0.193114396863378110, 0.193065337809603530, 0.193016278273165140, 0.192967218254186500, 0.192918157752789810, 0.192869096769097720, 0.192820035303232470, +0.192770973355317570, 0.192721910925475220, 0.192672848013828110, 0.192623784620498420, 0.192574720745609720, 0.192525656389284230, 0.192476591551644150, 0.192427526232813030, +0.192378460432913100, 0.192329394152066980, 0.192280327390396990, 0.192231260148026580, 0.192182192425078060, 0.192133124221674030, 0.192084055537936750, 0.192034986373989770, +0.191985916729955350, 0.191936846605956110, 0.191887776002114320, 0.191838704918553540, 0.191789633355396010, 0.191740561312764350, 0.191691488790780880, 0.191642415789569140, +0.191593342309251350, 0.191544268349950170, 0.191495193911787930, 0.191446118994888110, 0.191397043599373010, 0.191347967725364860, 0.191298891372987220, 0.191249814542362370, +0.191200737233612970, 0.191151659446861300, 0.191102581182230890, 0.191053502439844060, 0.191004423219823440, 0.190955343522291380, 0.190906263347371350, 0.190857182695185670, +0.190808101565857040, 0.190759019959507730, 0.190709937876261280, 0.190660855316240020, 0.190611772279566600, 0.190562688766363310, 0.190513604776753750, 0.190464520310860170, +0.190415435368804840, 0.190366349950711390, 0.190317264056702020, 0.190268177686899520, 0.190219090841426130, 0.190170003520405470, 0.190120915723959780, 0.190071827452211820, +0.190022738705283830, 0.189973649483299450, 0.189924559786380930, 0.189875469614651020, 0.189826378968231980, 0.189777287847247460, 0.189728196251819720, 0.189679104182071460, +0.189630011638125040, 0.189580918620103980, 0.189531825128130660, 0.189482731162327330, 0.189433636722817630, 0.189384541809723810, 0.189335446423168630, 0.189286350563274420, +0.189237254230164770, 0.189188157423961970, 0.189139060144788790, 0.189089962392767510, 0.189040864168021770, 0.188991765470673870, 0.188942666300846550, 0.188893566658662140, +0.188844466544244220, 0.188795365957715180, 0.188746264899197690, 0.188697163368814120, 0.188648061366688050, 0.188598958892941840, 0.188549855947697830, 0.188500752531079590, +0.188451648643209460, 0.188402544284210220, 0.188353439454204190, 0.188304334153314960, 0.188255228381664920, 0.188206122139376820, 0.188157015426572980, 0.188107908243377030, +0.188058800589911280, 0.188009692466298560, 0.187960583872661180, 0.187911474809122760, 0.187862365275805660, 0.187813255272832660, 0.187764144800326050, 0.187715033858409540, +0.187665922447205450, 0.187616810566836540, 0.187567698217425170, 0.187518585399094990, 0.187469472111968350, 0.187420358356167600, 0.187371244131816380, 0.187322129439037060, +0.187273014277952400, 0.187223898648684770, 0.187174782551357860, 0.187125665986093950, 0.187076548953015900, 0.187027431452246040, 0.186978313483908030, 0.186929195048124250, +0.186880076145017480, 0.186830956774710070, 0.186781836937325720, 0.186732716632986770, 0.186683595861816020, 0.186634474623935870, 0.186585352919469930, 0.186536230748540640, +0.186487108111270340, 0.186437985007782690, 0.186388861438200080, 0.186339737402645310, 0.186290612901240770, 0.186241487934110130, 0.186192362501375770, 0.186143236603160510, +0.186094110239586720, 0.186044983410778080, 0.185995856116856980, 0.185946728357946260, 0.185897600134168280, 0.185848471445646730, 0.185799342292504000, 0.185750212674862910, +0.185701082592845870, 0.185651952046576530, 0.185602821036177340, 0.185553689561770650, 0.185504557623480170, 0.185455425221428300, 0.185406292355737860, 0.185357159026531240, +0.185308025233932190, 0.185258890978063060, 0.185209756259046700, 0.185160621077005540, 0.185111485432063240, 0.185062349324342210, 0.185013212753965340, 0.184964075721054970, +0.184914938225734880, 0.184865800268127430, 0.184816661848355460, 0.184767522966541420, 0.184718383622809010, 0.184669243817280640, 0.184620103550079160, 0.184570962821326980, +0.184521821631147830, 0.184472679979664130, 0.184423537866998300, 0.184374395293274040, 0.184325252258613820, 0.184276108763140460, 0.184226964806976370, 0.184177820390245330, +0.184128675513069750, 0.184079530175572440, 0.184030384377875890, 0.183981238120103830, 0.183932091402378650, 0.183882944224823260, 0.183833796587560050, 0.183784648490712800, +0.183735499934403940, 0.183686350918756320, 0.183637201443892390, 0.183588051509935870, 0.183538901117009270, 0.183489750265234920, 0.183440598954736690, 0.183391447185636940, +0.183342294958058540, 0.183293142272124010, 0.183243989127957030, 0.183194835525680110, 0.183145681465416070, 0.183096526947287400, 0.183047371971417850, 0.182998216537929890, +0.182949060646946350, 0.182899904298589740, 0.182850747492983830, 0.182801590230251030, 0.182752432510514230, 0.182703274333895940, 0.182654115700519900, 0.182604956610508570, +0.182555797063984420, 0.182506637061071200, 0.182457476601891410, 0.182408315686567900, 0.182359154315223180, 0.182309992487980990, 0.182260830204963840, 0.182211667466294610, +0.182162504272095770, 0.182113340622491100, 0.182064176517603090, 0.182015011957554650, 0.181965846942468230, 0.181916681472467620, 0.181867515547675330, 0.181818349168214240, +0.181769182334206830, 0.181720015045776890, 0.181670847303046950, 0.181621679106139440, 0.181572510455178170, 0.181523341350285610, 0.181474171791584700, 0.181425001779197930, +0.181375831313249110, 0.181326660393860690, 0.181277489021155620, 0.181228317195256390, 0.181179144916286810, 0.181129972184369380, 0.181080798999627010, 0.181031625362182170, +0.180982451272158760, 0.180933276729679180, 0.180884101734866440, 0.180834926287842980, 0.180785750388732650, 0.180736574037657970, 0.180687397234741840, 0.180638219980106760, +0.180589042273876590, 0.180539864116173790, 0.180490685507120910, 0.180441506446841760, 0.180392326935458840, 0.180343146973095090, 0.180293966559873040, 0.180244785695916540, +0.180195604381348050, 0.180146422616290550, 0.180097240400866550, 0.180048057735199880, 0.179998874619413080, 0.179949691053629100, 0.179900507037970450, 0.179851322572560950, +0.179802137657523180, 0.179752952292980050, 0.179703766479054090, 0.179654580215869160, 0.179605393503547790, 0.179556206342212480, 0.179507018731987100, 0.179457830672994170, +0.179408642165356680, 0.179359453209197130, 0.179310263804639380, 0.179261073951805990, 0.179211883650819890, 0.179162692901803670, 0.179113501704881130, 0.179064310060174870, +0.179015117967807810, 0.178965925427902520, 0.178916732440582840, 0.178867539005971350, 0.178818345124191010, 0.178769150795364370, 0.178719956019615290, 0.178670760797066310, +0.178621565127840000, 0.178572369012060220, 0.178523172449849500, 0.178473975441330870, 0.178424777986626840, 0.178375580085861320, 0.178326381739156850, 0.178277182946636410, +0.178227983708422600, 0.178178784024639270, 0.178129583895408950, 0.178080383320854680, 0.178031182301099020, 0.177981980836265850, 0.177932778926477710, 0.177883576571857630, +0.177834373772528200, 0.177785170528613230, 0.177735966840235350, 0.177686762707517570, 0.177637558130582430, 0.177588353109553810, 0.177539147644554330, 0.177489941735706560, +0.177440735383134350, 0.177391528586960310, 0.177342321347307460, 0.177293113664298340, 0.177243905538056880, 0.177194696968705680, 0.177145487956367730, 0.177096278501165600, +0.177047068603223220, 0.176997858262663180, 0.176948647479608510, 0.176899436254181750, 0.176850224586506840, 0.176801012476706400, 0.176751799924903390, 0.176702586931220460, +0.176653373495781500, 0.176604159618709120, 0.176554945300125890, 0.176505730540155730, 0.176456515338921260, 0.176407299696545480, 0.176358083613151030, 0.176308867088861810, +0.176259650123800400, 0.176210432718089890, 0.176161214871852850, 0.176111996585213200, 0.176062777858293580, 0.176013558691217010, 0.175964339084106110, 0.175915119037084790, +0.175865898550275650, 0.175816677623801790, 0.175767456257785810, 0.175718234452351600, 0.175669012207621820, 0.175619789523719070, 0.175570566400767290, 0.175521342838889090, +0.175472118838207510, 0.175422894398845230, 0.175373669520926150, 0.175324444204572880, 0.175275218449908480, 0.175225992257055620, 0.175176765626138240, 0.175127538557278920, +0.175078311050600760, 0.175029083106226360, 0.174979854724279710, 0.174930625904883420, 0.174881396648160580, 0.174832166954233810, 0.174782936823227040, 0.174733706255262940, +0.174684475250464130, 0.174635243808954590, 0.174586011930856900, 0.174536779616294210, 0.174487546865389140, 0.174438313678265620, 0.174389080055046330, 0.174339845995854340, +0.174290611500812290, 0.174241376570044150, 0.174192141203672570, 0.174142905401820650, 0.174093669164611030, 0.174044432492167640, 0.173995195384613190, 0.173945957842070760, +0.173896719864662990, 0.173847481452513860, 0.173798242605746030, 0.173749003324482560, 0.173699763608846200, 0.173650523458960840, 0.173601282874949160, 0.173552041856933850, +0.173502800405038880, 0.173453558519386900, 0.173404316200101020, 0.173355073447303910, 0.173305830261119560, 0.173256586641670620, 0.173207342589080240, 0.173158098103471050, +0.173108853184967050, 0.173059607833690930, 0.173010362049765780, 0.172961115833314310, 0.172911869184460470, 0.172862622103326950, 0.172813374590036870, 0.172764126644712940, +0.172714878267479110, 0.172665629458458090, 0.172616380217772560, 0.172567130545546510, 0.172517880441902670, 0.172468629906964100, 0.172419378940853520, 0.172370127543694910, +0.172320875715611000, 0.172271623456724890, 0.172222370767159320, 0.172173117647038220, 0.172123864096484340, 0.172074610115620810, 0.172025355704570310, 0.171976100863456850, +0.171926845592403150, 0.171877589891532350, 0.171828333760967090, 0.171779077200831460, 0.171729820211248160, 0.171680562792339840, 0.171631304944230570, 0.171582046667043020, +0.171532787960900380, 0.171483528825925300, 0.171434269262241870, 0.171385009269972740, 0.171335748849241100, 0.171286488000169630, 0.171237226722882410, 0.171187965017502110, +0.171138702884151890, 0.171089440322954480, 0.171040177334033900, 0.170990913917512890, 0.170941650073514580, 0.170892385802161710, 0.170843121103578330, 0.170793855977887130, +0.170744590425211310, 0.170695324445673560, 0.170646058039397950, 0.170596791206507170, 0.170547523947124000, 0.170498256261372440, 0.170448988149375230, 0.170399719611255580, +0.170350450647136160, 0.170301181257141080, 0.170251911441393040, 0.170202641200015210, 0.170153370533130370, 0.170104099440862520, 0.170054827923334400, 0.170005555980669240, +0.169956283612989760, 0.169907010820419980, 0.169857737603082680, 0.169808463961101050, 0.169759189894597820, 0.169709915403697040, 0.169660640488521470, 0.169611365149193870, +0.169562089385838300, 0.169512813198577500, 0.169463536587534690, 0.169414259552832570, 0.169364982094595250, 0.169315704212945480, 0.169266425908006420, 0.169217147179900880, +0.169167868028752920, 0.169118588454685280, 0.169069308457821170, 0.169020028038283340, 0.168970747196195900, 0.168921465931681590, 0.168872184244863580, 0.168822902135864710, +0.168773619604809020, 0.168724336651819270, 0.168675053277018230, 0.168625769480530010, 0.168576485262477370, 0.168527200622983510, 0.168477915562171200, 0.168428630080164570, +0.168379344177086330, 0.168330057853059740, 0.168280771108207580, 0.168231483942653910, 0.168182196356521540, 0.168132908349933690, 0.168083619923013130, 0.168034331075883950, +0.167985041808668940, 0.167935752121491310, 0.167886462014473880, 0.167837171487740740, 0.167787880541414660, 0.167738589175618460, 0.167689297390476220, 0.167640005186110720, +0.167590712562645210, 0.167541419520202490, 0.167492126058906650, 0.167442832178880510, 0.167393537880247270, 0.167344243163129760, 0.167294948027652070, 0.167245652473937020, +0.167196356502107850, 0.167147060112287330, 0.167097763304599610, 0.167048466079167460, 0.166999168436114150, 0.166949870375562500, 0.166900571897636600, 0.166851273002459280, +0.166801973690153760, 0.166752673960842900, 0.166703373814650780, 0.166654073251700200, 0.166604772272114010, 0.166555470876016350, 0.166506169063530000, 0.166456866834778230, +0.166407564189883840, 0.166358261128970980, 0.166308957652162470, 0.166259653759581570, 0.166210349451351100, 0.166161044727595210, 0.166111739588436700, 0.166062434033998810, +0.166013128064404440, 0.165963821679777660, 0.165914514880241340, 0.165865207665918720, 0.165815900036932640, 0.165766591993407260, 0.165717283535465390, 0.165667974663229880, +0.165618665376824880, 0.165569355676373210, 0.165520045561998150, 0.165470735033822540, 0.165421424091970530, 0.165372112736564960, 0.165322800967729110, 0.165273488785585810, +0.165224176190259230, 0.165174863181872220, 0.165125549760548020, 0.165076235926409550, 0.165026921679580910, 0.164977607020184960, 0.164928291948344990, 0.164878976464183870, +0.164829660567825750, 0.164780344259393450, 0.164731027539009870, 0.164681710406799160, 0.164632392862884170, 0.164583074907388190, 0.164533756540434090, 0.164484437762146050, +0.164435118572646920, 0.164385798972059960, 0.164336478960508100, 0.164287158538115460, 0.164237837705004910, 0.164188516461299810, 0.164139194807122940, 0.164089872742598540, +0.164040550267849440, 0.163991227382998980, 0.163941904088170030, 0.163892580383486720, 0.163843256269072010, 0.163793931745049110, 0.163744606811540960, 0.163695281468671740, +0.163645955716564320, 0.163596629555341540, 0.163547302985127650, 0.163497976006045510, 0.163448648618218420, 0.163399320821769280, 0.163349992616822260, 0.163300664003500270, +0.163251334981926590, 0.163202005552224170, 0.163152675714517160, 0.163103345468928460, 0.163054014815581410, 0.163004683754598870, 0.162955352286105050, 0.162906020410222870, +0.162856688127075660, 0.162807355436786260, 0.162758022339478890, 0.162708688835276500, 0.162659354924301950, 0.162610020606679420, 0.162560685882531860, 0.162511350751982590, +0.162462015215154490, 0.162412679272171790, 0.162363342923157410, 0.162314006168234660, 0.162264669007526450, 0.162215331441157020, 0.162165993469249260, 0.162116655091926520, +0.162067316309311700, 0.162017977121529020, 0.161968637528701390, 0.161919297530952190, 0.161869957128404300, 0.161820616321181940, 0.161771275109408060, 0.161721933493205540, +0.161672591472698630, 0.161623249048010230, 0.161573906219263740, 0.161524562986582020, 0.161475219350089320, 0.161425875309908600, 0.161376530866163190, 0.161327186018976000, +0.161277840768471260, 0.161228495114771970, 0.161179149058001400, 0.161129802598282550, 0.161080455735739620, 0.161031108470495540, 0.160981760802673710, 0.160932412732397030, +0.160883064259789740, 0.160833715384974820, 0.160784366108075590, 0.160735016429215010, 0.160685666348517330, 0.160636315866105470, 0.160586964982102400, 0.160537613696632360, +0.160488262009818280, 0.160438909921783530, 0.160389557432651100, 0.160340204542545190, 0.160290851251588760, 0.160241497559905220, 0.160192143467617480, 0.160142788974849850, +0.160093434081725220, 0.160044078788367020, 0.159994723094898180, 0.159945367001442960, 0.159896010508124350, 0.159846653615065700, 0.159797296322389950, 0.159747938630221440, +0.159698580538683050, 0.159649222047897800, 0.159599863157989910, 0.159550503869082370, 0.159501144181298570, 0.159451784094761490, 0.159402423609595360, 0.159353062725923200, +0.159303701443868350, 0.159254339763553830, 0.159204977685103890, 0.159155615208641520, 0.159106252334290100, 0.159056889062172610, 0.159007525392413330, 0.158958161325135240, +0.158908796860461750, 0.158859431998515820, 0.158810066739421770, 0.158760701083302540, 0.158711335030281120, 0.158661968580481820, 0.158612601734027580, 0.158563234491041820, +0.158513866851647560, 0.158464498815969050, 0.158415130384129330, 0.158365761556251760, 0.158316392332459340, 0.158267022712876380, 0.158217652697625860, 0.158168282286831220, +0.158118911480615440, 0.158069540279102800, 0.158020168682416330, 0.157970796690679430, 0.157921424304015120, 0.157872051522547660, 0.157822678346400070, 0.157773304775695370, +0.157723930810557830, 0.157674556451110480, 0.157625181697476720, 0.157575806549779570, 0.157526431008143340, 0.157477055072691020, 0.157427678743546100, 0.157378302020831500, +0.157328924904671620, 0.157279547395189400, 0.157230169492508340, 0.157180791196751410, 0.157131412508042940, 0.157082033426505920, 0.157032653952263850, 0.156983274085439660, +0.156933893826157770, 0.156884513174541110, 0.156835132130713180, 0.156785750694797000, 0.156736368866916860, 0.156686986647195800, 0.156637604035756860, 0.156588221032724320, +0.156538837638221240, 0.156489453852371040, 0.156440069675296810, 0.156390685107122810, 0.156341300147972100, 0.156291914797968170, 0.156242529057233990, 0.156193142925893920, +0.156143756404070990, 0.156094369491888710, 0.156044982189470020, 0.155995594496939340, 0.155946206414419670, 0.155896817942034470, 0.155847429079906810, 0.155798039828160980, +0.155748650186920080, 0.155699260156307110, 0.155649869736446430, 0.155600478927461090, 0.155551087729474540, 0.155501696142609810, 0.155452304166991300, 0.155402911802742040, +0.155353519049985480, 0.155304125908844680, 0.155254732379444040, 0.155205338461906540, 0.155155944156355700, 0.155106549462914550, 0.155057154381707470, 0.155007758912857510, +0.154958363056488160, 0.154908966812722450, 0.154859570181684750, 0.154810173163498150, 0.154760775758285670, 0.154711377966171680, 0.154661979787279270, 0.154612581221731880, +0.154563182269652630, 0.154513782931165830, 0.154464383206394610, 0.154414983095462390, 0.154365582598492310, 0.154316181715608680, 0.154266780446934620, 0.154217378792593620, +0.154167976752708710, 0.154118574327404310, 0.154069171516803470, 0.154019768321029680, 0.153970364740206060, 0.153920960774456940, 0.153871556423905430, 0.153822151688675050, +0.153772746568888840, 0.153723341064671200, 0.153673935176145190, 0.153624528903433920, 0.153575122246661780, 0.153525715205951820, 0.153476307781427570, 0.153426899973212100, +0.153377491781429840, 0.153328083206203840, 0.153278674247657650, 0.153229264905914320, 0.153179855181098250, 0.153130445073332570, 0.153081034582740750, 0.153031623709445920, +0.152982212453572490, 0.152932800815243490, 0.152883388794582520, 0.152833976391712620, 0.152784563606758240, 0.152735150439842430, 0.152685736891088300, 0.152636322960620300, +0.152586908648561480, 0.152537493955035350, 0.152488078880165080, 0.152438663424075050, 0.152389247586888380, 0.152339831368728560, 0.152290414769718720, 0.152240997789983320, +0.152191580429645400, 0.152142162688828520, 0.152092744567655810, 0.152043326066251680, 0.151993907184739210, 0.151944487923242000, 0.151895068281883120, 0.151845648260787000, +0.151796227860076770, 0.151746807079875530, 0.151697385920307710, 0.151647964381496410, 0.151598542463565220, 0.151549120166637240, 0.151499697490836890, 0.151450274436287280, +0.151400851003112010, 0.151351427191434160, 0.151302003001378190, 0.151252578433067190, 0.151203153486624780, 0.151153728162174010, 0.151104302459839380, 0.151054876379743990, +0.151005449922011430, 0.150956023086764780, 0.150906595874128520, 0.150857168284225770, 0.150807740317179640, 0.150758311973114620, 0.150708883252153810, 0.150659454154420810, +0.150610024680038730, 0.150560594829132010, 0.150511164601823820, 0.150461733998237700, 0.150412303018496840, 0.150362871662725630, 0.150313439931047260, 0.150264007823585260, +0.150214575340462840, 0.150165142481804400, 0.150115709247733100, 0.150066275638372550, 0.150016841653845850, 0.149967407294277490, 0.149917972559790610, 0.149868537450508820, +0.149819101966555210, 0.149769666108054310, 0.149720229875129230, 0.149670793267903170, 0.149621356286500530, 0.149571918931044520, 0.149522481201658700, 0.149473043098466240, +0.149423604621591600, 0.149374165771157970, 0.149324726547288900, 0.149275286950107610, 0.149225846979738510, 0.149176406636304800, 0.149126965919930080, 0.149077524830737520, +0.149028083368851570, 0.148978641534395410, 0.148929199327492660, 0.148879756748266450, 0.148830313796841310, 0.148780870473340380, 0.148731426777886810, 0.148681982710605150, +0.148632538271618510, 0.148583093461050530, 0.148533648279024380, 0.148484202725664540, 0.148434756801094190, 0.148385310505436960, 0.148335863838816030, 0.148286416801355850, +0.148236969393179650, 0.148187521614411010, 0.148138073465173130, 0.148088624945590520, 0.148039176055786340, 0.147989726795884210, 0.147940277166007330, 0.147890827166280190, +0.147841376796825990, 0.147791926057767920, 0.147742474949230460, 0.147693023471336810, 0.147643571624210600, 0.147594119407975040, 0.147544666822754610, 0.147495213868672510, +0.147445760545852370, 0.147396306854417400, 0.147346852794492110, 0.147297398366199680, 0.147247943569663750, 0.147198488405007520, 0.147149032872355510, 0.147099576971830900, +0.147050120703557390, 0.147000664067658100, 0.146951207064257630, 0.146901749693479110, 0.146852291955446220, 0.146802833850282170, 0.146753375378111450, 0.146703916539057320, +0.146654457333242950, 0.146604997760792890, 0.146555537821830310, 0.146506077516478900, 0.146456616844861860, 0.146407155807103700, 0.146357694403327660, 0.146308232633657390, +0.146258770498216090, 0.146209307997128310, 0.146159845130517270, 0.146110381898506610, 0.146060918301219530, 0.146011454338780630, 0.145961990011313080, 0.145912525318940560, +0.145863060261786280, 0.145813594839974770, 0.145764129053629320, 0.145714662902873080, 0.145665196387830630, 0.145615729508625170, 0.145566262265380410, 0.145516794658219540, +0.145467326687267110, 0.145417858352646400, 0.145368389654481010, 0.145318920592894220, 0.145269451168010570, 0.145219981379953320, 0.145170511228846080, 0.145121040714812130, +0.145071569837976010, 0.145022098598460990, 0.144972626996390690, 0.144923155031888410, 0.144873682705078670, 0.144824210016084730, 0.144774736965029820, 0.144725263552038520, +0.144675789777234030, 0.144626315640740110, 0.144576841142679910, 0.144527366283178080, 0.144477891062357840, 0.144428415480342850, 0.144378939537256390, 0.144329463233223040, +0.144279986568365990, 0.144230509542809030, 0.144181032156675300, 0.144131554410089460, 0.144082076303174740, 0.144032597836054820, 0.143983119008852970, 0.143933639821693740, +0.143884160274700440, 0.143834680367996260, 0.143785200101705870, 0.143735719475952460, 0.143686238490859740, 0.143636757146551000, 0.143587275443150780, 0.143537793380782400, +0.143488310959569510, 0.143438828179635440, 0.143389345041104700, 0.143339861544100610, 0.143290377688746890, 0.143240893475166750, 0.143191408903484830, 0.143141923973824410, +0.143092438686309160, 0.143042953041062380, 0.142993467038208640, 0.142943980677871260, 0.142894493960173900, 0.142845006885239880, 0.142795519453193800, 0.142746031664158890, +0.142696543518258470, 0.142647055015617140, 0.142597566156358160, 0.142548076940605280, 0.142498587368481760, 0.142449097440112220, 0.142399607155619920, 0.142350116515128610, +0.142300625518761580, 0.142251134166643390, 0.142201642458897410, 0.142152150395647300, 0.142102657977016380, 0.142053165203129240, 0.142003672074109220, 0.141954178590080000, +0.141904684751164880, 0.141855190557488520, 0.141805696009174170, 0.141756201106345130, 0.141706705849126040, 0.141657210237640160, 0.141607714272011270, 0.141558217952362670, +0.141508721278818940, 0.141459224251503420, 0.141409726870539850, 0.141360229136051510, 0.141310731048163050, 0.141261232606997740, 0.141211733812679370, 0.141162234665331200, +0.141112735165077910, 0.141063235312042760, 0.141013735106349540, 0.140964234548121540, 0.140914733637483390, 0.140865232374558390, 0.140815730759469900, 0.140766228792342520, +0.140716726473299550, 0.140667223802464770, 0.140617720779961490, 0.140568217405914350, 0.140518713680446660, 0.140469209603682200, 0.140419705175744260, 0.140370200396757490, +0.140320695266845240, 0.140271189786131230, 0.140221683954738830, 0.140172177772792640, 0.140122671240416020, 0.140073164357732730, 0.140023657124866090, 0.139974149541940730, +0.139924641609080000, 0.139875133326407660, 0.139825624694047050, 0.139776115712122840, 0.139726606380758320, 0.139677096700076830, 0.139627586670203060, 0.139578076291260320, +0.139528565563372400, 0.139479054486662590, 0.139429543061255630, 0.139380031287274770, 0.139330519164843870, 0.139281006694086220, 0.139231493875126480, 0.139181980708088020, +0.139132467193094580, 0.139082953330269570, 0.139033439119737590, 0.138983924561622040, 0.138934409656046640, 0.138884894403134810, 0.138835378803011170, 0.138785862855799080, +0.138736346561621900, 0.138686829920604300, 0.138637312932869600, 0.138587795598541650, 0.138538277917743760, 0.138488759890600580, 0.138439241517235550, 0.138389722797772400, +0.138340203732334490, 0.138290684321046520, 0.138241164564031850, 0.138191644461414240, 0.138142124013317100, 0.138092603219865110, 0.138043082081181570, 0.137993560597390350, +0.137944038768614770, 0.137894516594979560, 0.137844994076608050, 0.137795471213623590, 0.137745948006150920, 0.137696424454313380, 0.137646900558234780, 0.137597376318038480, +0.137547851733849170, 0.137498326805790240, 0.137448801533985500, 0.137399275918558300, 0.137349749959633370, 0.137300223657334050, 0.137250697011784160, 0.137201170023107110, +0.137151642691427570, 0.137102115016868920, 0.137052586999554970, 0.137003058639609130, 0.136953529937156090, 0.136904000892319220, 0.136854471505221900, 0.136804941775988840, +0.136755411704743420, 0.136705881291609490, 0.136656350536710410, 0.136606819440170890, 0.136557288002114310, 0.136507756222664530, 0.136458224101944910, 0.136408691640080180, +0.136359158837193710, 0.136309625693409350, 0.136260092208850490, 0.136210558383641820, 0.136161024217906770, 0.136111489711769150, 0.136061954865352360, 0.136012419678781140, +0.135962884152178860, 0.135913348285669390, 0.135863812079376090, 0.135814275533423710, 0.135764738647935620, 0.135715201423035250, 0.135665663858847350, 0.135616125955495240, +0.135566587713102840, 0.135517049131793550, 0.135467510211692040, 0.135417970952921800, 0.135368431355606580, 0.135318891419869890, 0.135269351145836380, 0.135219810533629500, +0.135170269583373080, 0.135120728295190560, 0.135071186669206670, 0.135021644705544810, 0.134972102404328830, 0.134922559765682150, 0.134873016789729520, 0.134823473476594350, +0.134773929826400050, 0.134724385839271350, 0.134674841515331710, 0.134625296854704950, 0.134575751857514530, 0.134526206523885140, 0.134476660853940250, 0.134427114847803730, +0.134377568505598950, 0.134328021827450710, 0.134278474813482400, 0.134228927463817900, 0.134179379778580660, 0.134129831757895390, 0.134080283401885550, 0.134030734710675000, +0.133981185684387190, 0.133931636323146840, 0.133882086627077400, 0.133832536596302320, 0.133782986230946310, 0.133733435531132840, 0.133683884496985790, 0.133634333128628600, +0.133584781426185990, 0.133535229389781460, 0.133485677019538840, 0.133436124315581580, 0.133386571278034440, 0.133337017907020900, 0.133287464202664800, 0.133237910165089600, +0.133188355794420070, 0.133138801090779630, 0.133089246054292200, 0.133039690685081230, 0.132990134983271470, 0.132940578948986370, 0.132891022582349800, 0.132841465883485250, +0.132791908852517490, 0.132742351489569950, 0.132692793794766090, 0.132643235768230670, 0.132593677410087180, 0.132544118720459490, 0.132494559699471050, 0.132445000347246660, +0.132395440663909790, 0.132345880649584300, 0.132296320304393670, 0.132246759628462660, 0.132197198621914790, 0.132147637284873890, 0.132098075617463480, 0.132048513619808290, +0.131998951292031850, 0.131949388634258010, 0.131899825646610260, 0.131850262329213400, 0.131800698682190880, 0.131751134705666180, 0.131701570399764070, 0.131652005764608030, +0.131602440800321990, 0.131552875507029400, 0.131503309884855060, 0.131453743933922450, 0.131404177654355470, 0.131354611046277630, 0.131305044109813700, 0.131255476845087120, +0.131205909252221890, 0.131156341331341440, 0.131106773082570540, 0.131057204506032750, 0.131007635601851940, 0.130958066370151590, 0.130908496811056510, 0.130858926924690200, +0.130809356711176130, 0.130759786170639130, 0.130710215303202620, 0.130660644108990610, 0.130611072588126540, 0.130561500740735220, 0.130511928566940160, 0.130462356066865260, +0.130412783240634040, 0.130363210088371290, 0.130313636610200540, 0.130264062806245700, 0.130214488676630240, 0.130164914221478990, 0.130115339440915500, 0.130065764335063620, +0.130016188904046900, 0.129966613147990160, 0.129917037067016880, 0.129867460661250540, 0.129817883930816030, 0.129768306875836790, 0.129718729496436790, 0.129669151792739520, +0.129619573764869820, 0.129569995412951170, 0.129520416737107540, 0.129470837737462430, 0.129421258414140680, 0.129371678767265770, 0.129322098796961660, 0.129272518503351860, +0.129222937886561200, 0.129173356946713200, 0.129123775683931820, 0.129074194098340560, 0.129024612190064230, 0.128975029959226380, 0.128925447405950970, 0.128875864530361510, +0.128826281332582810, 0.128776697812738400, 0.128727113970951820, 0.128677529807347900, 0.128627945322050130, 0.128578360515182510, 0.128528775386868550, 0.128479189937233090, +0.128429604166399670, 0.128380018074492230, 0.128330431661634300, 0.128280844927950720, 0.128231257873565040, 0.128181670498601210, 0.128132082803182780, 0.128082494787434580, +0.128032906451480130, 0.127983317795443420, 0.127933728819447980, 0.127884139523618660, 0.127834549908078960, 0.127784959972952500, 0.127735369718364050, 0.127685779144437160, +0.127636188251295830, 0.127586597039063610, 0.127537005507865310, 0.127487413657824540, 0.127437821489065180, 0.127388229001710870, 0.127338636195886420, 0.127289043071715370, +0.127239449629321710, 0.127189855868828970, 0.127140261790362060, 0.127090667394044480, 0.127041072680000260, 0.126991477648352890, 0.126941882299227260, 0.126892286632746930, +0.126842690649035440, 0.126793094348217700, 0.126743497730417180, 0.126693900795757930, 0.126644303544363510, 0.126594705976358750, 0.126545108091867230, 0.126495509891012940, +0.126445911373919420, 0.126396312540711570, 0.126346713391512930, 0.126297113926447550, 0.126247514145638890, 0.126197914049211910, 0.126148313637290150, 0.126098712909997610, +0.126049111867457820, 0.125999510509795710, 0.125949908837134830, 0.125900306849599160, 0.125850704547312290, 0.125801101930399120, 0.125751498998983160, 0.125701895753188050, +0.125652292193138610, 0.125602688318958460, 0.125553084130771570, 0.125503479628701540, 0.125453874812873230, 0.125404269683410260, 0.125354664240436620, 0.125305058484075860, +0.125255452414452910, 0.125205846031691330, 0.125156239335915100, 0.125106632327247860, 0.125057025005814480, 0.125007417371738540, 0.124957809425144050, 0.124908201166154600, +0.124858592594895080, 0.124808983711489090, 0.124759374516060190, 0.124709765008733290, 0.124660155189632000, 0.124610545058880310, 0.124560934616601810, 0.124511323862921410, +0.124461712797962710, 0.124412101421849730, 0.124362489734706050, 0.124312877736656590, 0.124263265427824940, 0.124213652808335110, 0.124164039878310720, 0.124114426637876680, +0.124064813087156560, 0.124015199226274410, 0.123965585055353820, 0.123915970574519710, 0.123866355783895680, 0.123816740683605310, 0.123767125273773540, 0.123717509554523940, +0.123667893525980580, 0.123618277188267040, 0.123568660541508250, 0.123519043585827810, 0.123469426321349760, 0.123419808748197690, 0.123370190866496560, 0.123320572676369940, +0.123270954177941900, 0.123221335371336020, 0.123171716256677250, 0.123122096834089190, 0.123072477103695880, 0.123022857065620950, 0.122973236719989300, 0.122923616066924580, +0.122873995106550370, 0.122824373838991610, 0.122774752264371910, 0.122725130382815340, 0.122675508194445500, 0.122625885699387330, 0.122576262897764450, 0.122526639789700910, +0.122477016375320320, 0.122427392654747640, 0.122377768628106480, 0.122328144295520900, 0.122278519657114500, 0.122228894713012260, 0.122179269463337780, 0.122129643908215120, +0.122080018047767930, 0.122030391882121110, 0.121980765411398320, 0.121931138635723620, 0.121881511555220630, 0.121831884170014300, 0.121782256480228270, 0.121732628485986150, +0.121683000187412890, 0.121633371584632140, 0.121583742677767960, 0.121534113466943980, 0.121484483952285160, 0.121434854133915140, 0.121385224011957960, 0.121335593586537300, +0.121285962857778100, 0.121236331825803980, 0.121186700490739030, 0.121137068852706890, 0.121087436911832520, 0.121037804668239560, 0.120988172122052100, 0.120938539273393750, +0.120888906122389490, 0.120839272669162970, 0.120789638913837840, 0.120740004856539050, 0.120690370497390230, 0.120640735836515510, 0.120591100874038490, 0.120541465610084160, +0.120491830044776180, 0.120442194178238610, 0.120392558010595120, 0.120342921541970680, 0.120293284772488930, 0.120243647702273970, 0.120194010331449460, 0.120144372660140340, +0.120094734688470300, 0.120045096416563440, 0.119995457844543380, 0.119945818972535120, 0.119896179800662320, 0.119846540329048620, 0.119796900557819010, 0.119747260487097150, +0.119697620117007140, 0.119647979447672640, 0.119598338479218640, 0.119548697211768780, 0.119499055645447190, 0.119449413780377500, 0.119399771616684730, 0.119350129154492540, +0.119300486393925010, 0.119250843335105840, 0.119201199978159990, 0.119151556323211140, 0.119101912370383410, 0.119052268119800450, 0.119002623571587270, 0.118952978725867520, +0.118903333582765320, 0.118853688142404350, 0.118804042404909600, 0.118754396370404750, 0.118704750039013470, 0.118655103410860750, 0.118605456486070270, 0.118555809264766150, +0.118506161747072070, 0.118456513933113020, 0.118406865823012690, 0.118357217416895190, 0.118307568714884210, 0.118257919717104750, 0.118208270423680480, 0.118158620834735550, +0.118108970950393620, 0.118059320770779710, 0.118009670296017490, 0.117960019526231100, 0.117910368461544220, 0.117860717102081850, 0.117811065447967700, 0.117761413499325440, +0.117711761256280080, 0.117662108718955330, 0.117612455887475290, 0.117562802761963690, 0.117513149342545520, 0.117463495629344470, 0.117413841622484680, 0.117364187322089850, +0.117314532728284990, 0.117264877841193800, 0.117215222660940420, 0.117165567187648530, 0.117115911421443180, 0.117066255362448040, 0.117016599010787260, 0.116966942366584540, +0.116917285429964910, 0.116867628201052070, 0.116817970679969710, 0.116768312866842870, 0.116718654761795260, 0.116668996364951000, 0.116619337676433800, 0.116569678696368710, +0.116520019424879410, 0.116470359862090080, 0.116420700008124390, 0.116371039863107400, 0.116321379427162820, 0.116271718700414780, 0.116222057682987000, 0.116172396375004520, +0.116122734776591060, 0.116073072887870750, 0.116023410708967320, 0.115973748240005810, 0.115924085481109930, 0.115874422432403380, 0.115824759094011230, 0.115775095466057170, +0.115725431548665380, 0.115675767341959570, 0.115626102846064780, 0.115576438061104740, 0.115526772987203600, 0.115477107624485080, 0.115427441973074240, 0.115377776033094790, +0.115328109804670910, 0.115278443287926300, 0.115228776482986050, 0.115179109389973830, 0.115129442009013840, 0.115079774340229810, 0.115030106383746790, 0.114980438139688500, +0.114930769608179120, 0.114881100789342370, 0.114831431683303300, 0.114781762290185660, 0.114732092610113180, 0.114682422643210890, 0.114632752389602560, 0.114583081849412350, +0.114533411022763990, 0.114483739909782540, 0.114434068510591740, 0.114384396825315770, 0.114334724854078380, 0.114285052597004600, 0.114235380054218200, 0.114185707225843340, +0.114136034112003780, 0.114086360712824570, 0.114036687028429460, 0.113987013058942630, 0.113937338804487840, 0.113887664265190130, 0.113837989441173270, 0.113788314332560980, +0.113738638939478360, 0.113688963262049140, 0.113639287300397500, 0.113589611054647210, 0.113539934524923340, 0.113490257711349620, 0.113440580614050250, 0.113390903233149020, +0.113341225568770940, 0.113291547621039810, 0.113241869390079810, 0.113192190876014700, 0.113142512078969550, 0.113092832999068110, 0.113043153636434610, 0.112993473991192760, +0.112943794063467690, 0.112894113853383120, 0.112844433361062830, 0.112794752586631890, 0.112745071530214070, 0.112695390191933570, 0.112645708571914170, 0.112596026670280930, +0.112546344487157610, 0.112496662022668450, 0.112446979276937180, 0.112397296250088900, 0.112347612942247390, 0.112297929353536840, 0.112248245484081040, 0.112198561334005050, +0.112148876903432670, 0.112099192192488100, 0.112049507201295080, 0.111999821929978760, 0.111950136378662880, 0.111900450547471660, 0.111850764436528870, 0.111801078045959610, +0.111751391375887660, 0.111701704426436790, 0.111652017197732090, 0.111602329689897350, 0.111552641903056790, 0.111502953837334190, 0.111453265492854630, 0.111403576869741920, +0.111353887968120260, 0.111304198788113440, 0.111254509329846570, 0.111204819593443430, 0.111155129579028230, 0.111105439286724770, 0.111055748716658160, 0.111006057868952170, +0.110956366743731040, 0.110906675341118550, 0.110856983661239810, 0.110807291704218600, 0.110757599470178740, 0.110707906959245320, 0.110658214171542120, 0.110608521107193390, +0.110558827766322920, 0.110509134149055820, 0.110459440255515880, 0.110409746085827350, 0.110360051640114000, 0.110310356918500970, 0.110260661921112040, 0.110210966648071480, +0.110161271099503040, 0.110111575275531860, 0.110061879176281750, 0.110012182801876950, 0.109962486152441240, 0.109912789228099760, 0.109863092028976300, 0.109813394555194690, +0.109763696806880020, 0.109713998784156110, 0.109664300487147200, 0.109614601915977090, 0.109564903070770940, 0.109515203951652510, 0.109465504558746080, 0.109415804892175450, +0.109366104952065740, 0.109316404738540780, 0.109266704251724800, 0.109217003491741610, 0.109167302458716360, 0.109117601152772860, 0.109067899574035360, 0.109018197722627650, +0.108968495598674900, 0.108918793202300910, 0.108869090533629500, 0.108819387592785810, 0.108769684379893640, 0.108719980895077260, 0.108670277138460490, 0.108620573110168470, +0.108570868810325000, 0.108521164239054380, 0.108471459396480400, 0.108421754282728210, 0.108372048897921640, 0.108322343242184940, 0.108272637315641950, 0.108222931118417810, +0.108173224650636330, 0.108123517912421790, 0.108073810903898020, 0.108024103625190170, 0.107974396076422050, 0.107924688257717950, 0.107874980169201680, 0.107825271810998390, +0.107775563183231950, 0.107725854286026130, 0.107676145119506140, 0.107626435683795780, 0.107576725979019320, 0.107527016005300610, 0.107477305762764800, 0.107427595251535740, +0.107377884471737670, 0.107328173423494460, 0.107278462106931260, 0.107228750522171900, 0.107179038669340660, 0.107129326548561390, 0.107079614159959240, 0.107029901503658060, +0.106980188579782120, 0.106930475388455270, 0.106880761929802670, 0.106831048203948160, 0.106781334211015600, 0.106731619951130150, 0.106681905424415640, 0.106632190630996370, +0.106582475570996180, 0.106532760244540240, 0.106483044651752400, 0.106433328792756950, 0.106383612667677730, 0.106333896276639940, 0.106284179619767400, 0.106234462697184410, +0.106184745509014810, 0.106135028055383800, 0.106085310336415220, 0.106035592352233370, 0.105985874102962080, 0.105936155588726560, 0.105886436809650640, 0.105836717765858190, +0.105786998457474400, 0.105737278884623100, 0.105687559047428600, 0.105637838946014780, 0.105588118580506790, 0.105538397951028500, 0.105488677057704220, 0.105438955900657810, +0.105389234480014440, 0.105339512795898000, 0.105289790848432780, 0.105240068637742630, 0.105190346163952740, 0.105140623427187000, 0.105090900427569700, 0.105041177165224710, +0.104991453640277200, 0.104941729852851080, 0.104892005803070620, 0.104842281491059720, 0.104792556916943540, 0.104742832080845980, 0.104693106982890890, 0.104643381623203480, +0.104593656001907610, 0.104543930119127600, 0.104494203974987330, 0.104444477569611990, 0.104394750903125460, 0.104345023975652040, 0.104295296787315630, 0.104245569338241420, +0.104195841628553280, 0.104146113658375530, 0.104096385427832070, 0.104046656937048080, 0.103996928186147450, 0.103947199175254500, 0.103897469904493110, 0.103847740373988490, +0.103798010583864510, 0.103748280534245060, 0.103698550225255360, 0.103648819657019280, 0.103599088829661150, 0.103549357743304860, 0.103499626398075630, 0.103449894794097300, +0.103400162931494260, 0.103350430810390370, 0.103300698430910830, 0.103250965793179560, 0.103201232897320860, 0.103151499743458650, 0.103101766331718120, 0.103052032662223190, +0.103002298735098170, 0.102952564550466960, 0.102902830108454790, 0.102853095409185520, 0.102803360452783100, 0.102753625239372700, 0.102703889769078250, 0.102654154042024060, +0.102604418058334060, 0.102554681818133440, 0.102504945321546140, 0.102455208568696460, 0.102405471559708310, 0.102355734294706930, 0.102305996773816220, 0.102256258997160510, +0.102206520964863710, 0.102156782677051060, 0.102107044133846440, 0.102057305335374230, 0.102007566281758290, 0.101957826973123890, 0.101908087409594920, 0.101858347591295740, +0.101808607518350230, 0.101758867190883660, 0.101709126609019910, 0.101659385772882920, 0.101609644682597890, 0.101559903338288770, 0.101510161740079860, 0.101460419888095120, +0.101410677782459780, 0.101360935423297730, 0.101311192810733350, 0.101261449944890540, 0.101211706825894560, 0.101161963453869310, 0.101112219828939140, 0.101062475951227980, +0.101012731820861080, 0.100962987437962350, 0.100913242802656150, 0.100863497915066410, 0.100813752775318340, 0.100764007383535910, 0.100714261739843020, 0.100664515844364910, +0.100614769697225520, 0.100565023298549190, 0.100515276648459870, 0.100465529747082810, 0.100415782594541910, 0.100366035190961560, 0.100316287536465680, 0.100266539631179510, +0.100216791475227010, 0.100167043068732530, 0.100117294411819990, 0.100067545504614660, 0.100017796347240460, 0.099968046939821781, 0.099918297282482541, 0.099868547375348005, +0.099818797218542088, 0.099769046812188733, 0.099719296156413215, 0.099669545251339448, 0.099619794097091832, 0.099570042693794270, 0.099520291041572048, 0.099470539140549111, +0.099420786990849816, 0.099371034592598120, 0.099321281945919271, 0.099271529050937210, 0.099221775907776338, 0.099172022516560585, 0.099122268877415209, 0.099072514990464169, +0.099022760855831837, 0.098973006473642169, 0.098923251844020413, 0.098873496967090538, 0.098823741842976473, 0.098773986471803507, 0.098724230853695569, 0.098674474988777044, +0.098624718877171905, 0.098574962519005396, 0.098525205914401490, 0.098475449063484558, 0.098425691966378570, 0.098375934623208802, 0.098326177034099183, 0.098276419199174125, +0.098226661118557587, 0.098176902792374829, 0.098127144220749821, 0.098077385403806949, 0.098027626341670171, 0.097977867034464761, 0.097928107482314689, 0.097878347685344355, +0.097828587643677703, 0.097778827357440035, 0.097729066826755279, 0.097679306051747433, 0.097629545032541759, 0.097579783769262213, 0.097530022262033209, 0.097480260510978717, +0.097430498516224012, 0.097380736277893065, 0.097330973796110262, 0.097281211070999601, 0.097231448102686344, 0.097181684891294473, 0.097131921436948376, 0.097082157739772051, +0.097032393799890759, 0.096982629617428498, 0.096932865192509654, 0.096883100525258198, 0.096833335615799446, 0.096783570464257340, 0.096733805070755879, 0.096684039435420352, +0.096634273558374714, 0.096584507439743394, 0.096534741079650363, 0.096484974478220922, 0.096435207635579057, 0.096385440551849152, 0.096335673227155222, 0.096285905661622539, +0.096236137855375103, 0.096186369808537314, 0.096136601521233156, 0.096086832993587945, 0.096037064225725638, 0.095987295217770691, 0.095937525969847046, 0.095887756482080033, +0.095837986754593638, 0.095788216787511829, 0.095738446580959910, 0.095688676135061879, 0.095638905449942163, 0.095589134525724748, 0.095539363362534921, 0.095489591960496695, +0.095439820319734497, 0.095390048440372299, 0.095340276322535417, 0.095290503966347848, 0.095240731371934020, 0.095190958539417919, 0.095141185468924860, 0.095091412160578856, +0.095041638614504306, 0.094991864830825223, 0.094942090809666910, 0.094892316551153377, 0.094842542055409054, 0.094792767322557939, 0.094742992352725333, 0.094693217146035263, +0.094643441702611700, 0.094593666022579972, 0.094543890106064080, 0.094494113953188463, 0.094444337564077122, 0.094394560938855385, 0.094344784077647237, 0.094295006980577134, +0.094245229647769060, 0.094195452079348360, 0.094145674275439031, 0.094095896236165516, 0.094046117961651826, 0.093996339452023278, 0.093946560707403884, 0.093896781727918086, +0.093847002513689881, 0.093797223064844629, 0.093747443381506312, 0.093697663463798944, 0.093647883311847854, 0.093598102925777069, 0.093548322305711015, 0.093498541451773720, +0.093448760364090500, 0.093398979042785393, 0.093349197487982843, 0.093299415699806848, 0.093249633678382751, 0.093199851423834579, 0.093150068936286773, 0.093100286215863359, +0.093050503262689668, 0.093000720076889712, 0.092950936658587974, 0.092901153007908438, 0.092851369124976463, 0.092801585009916060, 0.092751800662851269, 0.092702016083907407, +0.092652231273208499, 0.092602446230879029, 0.092552660957042995, 0.092502875451825742, 0.092453089715351308, 0.092403303747744150, 0.092353517549128294, 0.092303731119629071, +0.092253944459370532, 0.092204157568477135, 0.092154370447072892, 0.092104583095283174, 0.092054795513231993, 0.092005007701043834, 0.091955219658842707, 0.091905431386753972, +0.091855642884901653, 0.091805854153409791, 0.091756065192403730, 0.091706276002007509, 0.091656486582345598, 0.091606696933542037, 0.091556907055722170, 0.091507116949010023, +0.091457326613530107, 0.091407536049406421, 0.091357745256764336, 0.091307954235727878, 0.091258162986421545, 0.091208371508969363, 0.091158579803496689, 0.091108787870127578, +0.091058995708986484, 0.091009203320197463, 0.090959410703885885, 0.090909617860175762, 0.090859824789191607, 0.090810031491057444, 0.090760237965898646, 0.090710444213839253, +0.090660650235003318, 0.090610856029516185, 0.090561061597501921, 0.090511266939084997, 0.090461472054389466, 0.090411676943540686, 0.090361881606662725, 0.090312086043880066, +0.090262290255316735, 0.090212494241098132, 0.090162698001348282, 0.090112901536191697, 0.090063104845752417, 0.090013307930155814, 0.089963510789525941, 0.089913713423987282, +0.089863915833663918, 0.089814118018681194, 0.089764319979163176, 0.089714521715233905, 0.089664723227018781, 0.089614924514641855, 0.089565125578227614, 0.089515326417900110, +0.089465527033784742, 0.089415727426005551, 0.089365927594687047, 0.089316127539953286, 0.089266327261929637, 0.089216526760740170, 0.089166726036509394, 0.089116925089361351, +0.089067123919421440, 0.089017322526813727, 0.088967520911662698, 0.088917719074092433, 0.088867917014228304, 0.088818114732194392, 0.088768312228114751, 0.088718509502114767, +0.088668706554318508, 0.088618903384850484, 0.088569099993834763, 0.088519296381396731, 0.088469492547660455, 0.088419688492750448, 0.088369884216790776, 0.088320079719906838, +0.088270275002222703, 0.088220470063862882, 0.088170664904951443, 0.088120859525613784, 0.088071053925973974, 0.088021248106156524, 0.087971442066285530, 0.087921635806486362, +0.087871829326883102, 0.087822022627600263, 0.087772215708761939, 0.087722408570493501, 0.087672601212919060, 0.087622793636162669, 0.087572985840349726, 0.087523177825604329, +0.087473369592050987, 0.087423561139813769, 0.087373752469018101, 0.087323943579788052, 0.087274134472248133, 0.087224325146522438, 0.087174515602736383, 0.087124705841014033, +0.087074895861479915, 0.087025085664258123, 0.086975275249474057, 0.086925464617251799, 0.086875653767715888, 0.086825842700990391, 0.086776031417200722, 0.086726219916470990, +0.086676408198925262, 0.086626596264688951, 0.086576784113886154, 0.086526971746641396, 0.086477159163078771, 0.086427346363323679, 0.086377533347500229, 0.086327720115732948, +0.086277906668145915, 0.086228093004864573, 0.086178279126012988, 0.086128465031715701, 0.086078650722096819, 0.086028836197281744, 0.085979021457394583, 0.085929206502559863, +0.085879391332901692, 0.085829575948545483, 0.085779760349615333, 0.085729944536235350, 0.085680128508530934, 0.085630312266626193, 0.085580495810645682, 0.085530679140713495, +0.085480862256955045, 0.085431045159494429, 0.085381227848456212, 0.085331410323964491, 0.085281592586144664, 0.085231774635120869, 0.085181956471017645, 0.085132138093959073, +0.085082319504070608, 0.085032500701476346, 0.084982681686300826, 0.084932862458668157, 0.084883043018703780, 0.084833223366531790, 0.084783403502276297, 0.084733583426062742, +0.084683763138015233, 0.084633942638258311, 0.084584121926916098, 0.084534301004114007, 0.084484479869976176, 0.084434658524627143, 0.084384836968191018, 0.084335015200793256, +0.084285193222557939, 0.084235371033609646, 0.084185548634072488, 0.084135726024071891, 0.084085903203731979, 0.084036080173177319, 0.083986256932532005, 0.083936433481921507, +0.083886609821469907, 0.083836785951301798, 0.083786961871541277, 0.083737137582313784, 0.083687313083743456, 0.083637488375954402, 0.083587663459072065, 0.083537838333220579, +0.083488012998524486, 0.083438187455107921, 0.083388361703096339, 0.083338535742613851, 0.083288709573785008, 0.083238883196733962, 0.083189056611586154, 0.083139229818465693, +0.083089402817497160, 0.083039575608804692, 0.082989748192513715, 0.082939920568748368, 0.082890092737633217, 0.082840264699292399, 0.082790436453851354, 0.082740608001434221, +0.082690779342165122, 0.082640950476169525, 0.082591121403571541, 0.082541292124495763, 0.082491462639066315, 0.082441632947408652, 0.082391803049646897, 0.082341972945905645, +0.082292142636309004, 0.082242312120982458, 0.082192481400050130, 0.082142650473636614, 0.082092819341866005, 0.082042988004863801, 0.081993156462754124, 0.081943324715661570, +0.081893492763710246, 0.081843660607025637, 0.081793828245731878, 0.081743995679953108, 0.081694162909814780, 0.081644329935441060, 0.081594496756956500, 0.081544663374485266, +0.081494829788152812, 0.081444995998083289, 0.081395162004401278, 0.081345327807230916, 0.081295493406697672, 0.081245658802925697, 0.081195823996039571, 0.081145988986163445, +0.081096153773422788, 0.081046318357941752, 0.080996482739844916, 0.080946646919256432, 0.080896810896301782, 0.080846974671105090, 0.080797138243790978, 0.080747301614483569, +0.080697464783308345, 0.080647627750389458, 0.080597790515851059, 0.080547953079818629, 0.080498115442416321, 0.080448277603768728, 0.080398439563999988, 0.080348601323235597, +0.080298762881599692, 0.080248924239216896, 0.080199085396211331, 0.080149246352708509, 0.080099407108832565, 0.080049567664708110, 0.079999728020459279, 0.079949888176211584, +0.079900048132089160, 0.079850207888216618, 0.079800367444718120, 0.079750526801719138, 0.079700685959343848, 0.079650844917716387, 0.079601003676962268, 0.079551162237205639, +0.079501320598571096, 0.079451478761182817, 0.079401636725166272, 0.079351794490645652, 0.079301952057745539, 0.079252109426590098, 0.079202266597304824, 0.079152423570013897, +0.079102580344841897, 0.079052736921913017, 0.079002893301352725, 0.078953049483285215, 0.078903205467835066, 0.078853361255126472, 0.078803516845284902, 0.078753672238434561, +0.078703827434699586, 0.078653982434205474, 0.078604137237076419, 0.078554291843437027, 0.078504446253411450, 0.078454600467125199, 0.078404754484702452, 0.078354908306267831, +0.078305061931945474, 0.078255215361860919, 0.078205368596138330, 0.078155521634902303, 0.078105674478277043, 0.078055827126388033, 0.078005979579359452, 0.077956131837315937, +0.077906283900381637, 0.077856435768682078, 0.077806587442341424, 0.077756738921483853, 0.077706890206234891, 0.077657041296718687, 0.077607192193059893, 0.077557342895382672, +0.077507493403812536, 0.077457643718473662, 0.077407793839490688, 0.077357943766987777, 0.077308093501090455, 0.077258243041922900, 0.077208392389609748, 0.077158541544275150, +0.077108690506044658, 0.077058839275042437, 0.077008987851393110, 0.076959136235220882, 0.076909284426651237, 0.076859432425808394, 0.076809580232816976, 0.076759727847801162, +0.076709875270886463, 0.076660022502197084, 0.076610169541857190, 0.076560316389992333, 0.076510463046726679, 0.076460609512184863, 0.076410755786491091, 0.076360901869770861, +0.076311047762148379, 0.076261193463748281, 0.076211338974694759, 0.076161484295113338, 0.076111629425128197, 0.076061774364863971, 0.076011919114444881, 0.075962063673996438, +0.075912208043642834, 0.075862352223508706, 0.075812496213718258, 0.075762640014397004, 0.075712783625669161, 0.075662927047658909, 0.075613070280491787, 0.075563213324291986, +0.075513356179184157, 0.075463498845292479, 0.075413641322742517, 0.075363783611658436, 0.075313925712164900, 0.075264067624386116, 0.075214209348447594, 0.075164350884473555, +0.075114492232588648, 0.075064633392917052, 0.075014774365584319, 0.074964915150714656, 0.074915055748432699, 0.074865196158862668, 0.074815336382130074, 0.074765476418359150, +0.074715616267674090, 0.074665755930200445, 0.074615895406062394, 0.074566034695384600, 0.074516173798291299, 0.074466312714907987, 0.074416451445358897, 0.074366589989768681, +0.074316728348261543, 0.074266866520963037, 0.074217004507997356, 0.074167142309489162, 0.074117279925562676, 0.074067417356343437, 0.074017554601955651, 0.073967691662523968, +0.073917828538172622, 0.073867965229027152, 0.073818101735211764, 0.073768238056851121, 0.073718374194069430, 0.073668510146992258, 0.073618645915743811, 0.073568781500448308, +0.073518916901231288, 0.073469052118216985, 0.073419187151530035, 0.073369322001294687, 0.073319456667636479, 0.073269591150679617, 0.073219725450548792, 0.073169859567368198, +0.073119993501263414, 0.073070127252358633, 0.073020260820778532, 0.072970394206647346, 0.072920527410090613, 0.072870660431232553, 0.072820793270197859, 0.072770925927110722, +0.072721058402096722, 0.072671190695280080, 0.072621322806785016, 0.072571454736737082, 0.072521586485260511, 0.072471718052479983, 0.072421849438519703, 0.072371980643505252, +0.072322111667560848, 0.072272242510811172, 0.072222373173380428, 0.072172503655394210, 0.072122633956976726, 0.072072764078252666, 0.072022894019346237, 0.071973023780383033, +0.071923153361487260, 0.071873282762783611, 0.071823411984396304, 0.071773541026450907, 0.071723669889071667, 0.071673798572382805, 0.071623927076509900, 0.071574055401577158, +0.071524183547709286, 0.071474311515030517, 0.071424439303666404, 0.071374566913741208, 0.071324694345379580, 0.071274821598705781, 0.071224948673845365, 0.071175075570922577, +0.071125202290062098, 0.071075328831388188, 0.071025455195026385, 0.070975581381100938, 0.070925707389736553, 0.070875833221057435, 0.070825958875189193, 0.070776084352256061, +0.070726209652382258, 0.070676334775693378, 0.070626459722313670, 0.070576584492367811, 0.070526709085980036, 0.070476833503275937, 0.070426957744379765, 0.070377081809416195, +0.070327205698509462, 0.070277329411785175, 0.070227452949367553, 0.070177576311381301, 0.070127699497950668, 0.070077822509201235, 0.070027945345257234, 0.069978068006243385, +0.069928190492283909, 0.069878312803504400, 0.069828434940029119, 0.069778556901982744, 0.069728678689489537, 0.069678800302675079, 0.069628921741663616, 0.069579043006579397, +0.069529164097548030, 0.069479285014693734, 0.069429405758141244, 0.069379526328014779, 0.069329646724439961, 0.069279766947541011, 0.069229886997442647, 0.069180006874269132, +0.069130126578146031, 0.069080246109197621, 0.069030365467548593, 0.068980484653323210, 0.068930603666647050, 0.068880722507644390, 0.068830841176439922, 0.068780959673157907, +0.068731077997923939, 0.068681196150862267, 0.068631314132097165, 0.068581431941754228, 0.068531549579957704, 0.068481667046832312, 0.068431784342502300, 0.068381901467093276, +0.068332018420729501, 0.068282135203535682, 0.068232251815636080, 0.068182368257156289, 0.068132484528220572, 0.068082600628953646, 0.068032716559479775, 0.067982832319924566, +0.067932947910412267, 0.067883063331067597, 0.067833178582014833, 0.067783293663379568, 0.067733408575286064, 0.067683523317858596, 0.067633637891222759, 0.067583752295502827, +0.067533866530823522, 0.067483980597309090, 0.067434094495085167, 0.067384208224276002, 0.067334321785006326, 0.067284435177400390, 0.067234548401583813, 0.067184661457680858, +0.067134774345816259, 0.067084887066114277, 0.067034999618700519, 0.066985112003699276, 0.066935224221235240, 0.066885336271432699, 0.066835448154417262, 0.066785559870313205, +0.066735671419245260, 0.066685782801337676, 0.066635894016716088, 0.066586005065504758, 0.066536115947827976, 0.066486226663811349, 0.066436337213579152, 0.066386447597256121, +0.066336557814966515, 0.066286667866835972, 0.066236777752988751, 0.066186887473549588, 0.066136997028642758, 0.066087106418393882, 0.066037215642927236, 0.065987324702367553, +0.065937433596839123, 0.065887542326467541, 0.065837650891377109, 0.065787759291692546, 0.065737867527538144, 0.065687975599039522, 0.065638083506320957, 0.065588191249506739, +0.065538298828722488, 0.065488406244092481, 0.065438513495741465, 0.065388620583793730, 0.065338727508374883, 0.065288834269609214, 0.065238940867621456, 0.065189047302535899, +0.065139153574478179, 0.065089259683572570, 0.065039365629943807, 0.064989471413716193, 0.064939577035015350, 0.064889682493965553, 0.064839787790691550, 0.064789892925317644, +0.064739997897969442, 0.064690102708771235, 0.064640207357847340, 0.064590311845323378, 0.064540416171323625, 0.064490520335972829, 0.064440624339395292, 0.064390728181716650, +0.064340831863061165, 0.064290935383553613, 0.064241038743318282, 0.064191141942480795, 0.064141244981165454, 0.064091347859496994, 0.064041450577599732, 0.063991553135599274, +0.063941655533619940, 0.063891757771786475, 0.063841859850223157, 0.063791961769055647, 0.063742063528408222, 0.063692165128405198, 0.063642266569172212, 0.063592367850833553, +0.063542468973513969, 0.063492569937337776, 0.063442670742430596, 0.063392771388916747, 0.063342871876920961, 0.063292972206567558, 0.063243072377982171, 0.063193172391289090, +0.063143272246613091, 0.063093371944078463, 0.063043471483810856, 0.062993570865934559, 0.062943670090574347, 0.062893769157854496, 0.062843868067900682, 0.062793966820837196, +0.062744065416788786, 0.062694163855879781, 0.062644262138235804, 0.062594360263981172, 0.062544458233240188, 0.062494556046138516, 0.062444653702800446, 0.062394751203350737, +0.062344848547913716, 0.062294945736615009, 0.062245042769578943, 0.062195139646930270, 0.062145236368793301, 0.062095332935293693, 0.062045429346555742, 0.061995525602704223, +0.061945621703863446, 0.061895717650159061, 0.061845813441715379, 0.061795909078657160, 0.061746004561108729, 0.061696099889195728, 0.061646195063042482, 0.061596290082773300, +0.061546384948513840, 0.061496479660388410, 0.061446574218521788, 0.061396668623038289, 0.061346762874063557, 0.061296856971721922, 0.061246950916138139, 0.061197044707436539, +0.061147138345742771, 0.061097231831181154, 0.061047325163876461, 0.060997418343953010, 0.060947511371536457, 0.060897604246751121, 0.060847696969721782, 0.060797789540572751, +0.060747881959429692, 0.060697974226416929, 0.060648066341658792, 0.060598158305280925, 0.060548250117407665, 0.060498341778163781, 0.060448433287673596, 0.060398524646062775, +0.060348615853455634, 0.060298706909976962, 0.060248797815751078, 0.060198888570903643, 0.060148979175558982, 0.060099069629841878, 0.060049159933876654, 0.059999250087788975, +0.059949340091703170, 0.059899429945744015, 0.059849519650035841, 0.059799609204704313, 0.059749698609873760, 0.059699787865668964, 0.059649876972214251, 0.059599965929635290, +0.059550054738056420, 0.059500143397601964, 0.059450231908397592, 0.059400320270567644, 0.059350408484236894, 0.059300496549529680, 0.059250584466571665, 0.059200672235487188, +0.059150759856401038, 0.059100847329437538, 0.059050934654722366, 0.059001021832379853, 0.058951108862534789, 0.058901195745311510, 0.058851282480835689, 0.058801369069231654, +0.058751455510624204, 0.058701541805137661, 0.058651627952897717, 0.058601713954028696, 0.058551799808654957, 0.058501885516902150, 0.058451971078894639, 0.058402056494757194, +0.058352141764614167, 0.058302226888591227, 0.058252311866812720, 0.058202396699403434, 0.058152481386487716, 0.058102565928191234, 0.058052650324638341, 0.058002734575953820, +0.057952818682262014, 0.057902902643688615, 0.057852986460357955, 0.057803070132394822, 0.057753153659923583, 0.057703237043069892, 0.057653320281958118, 0.057603403376712589, +0.057553486327459005, 0.057503569134321697, 0.057453651797425474, 0.057403734316894675, 0.057353816692854984, 0.057303898925430745, 0.057253981014746769, 0.057204062960927393, +0.057154144764098302, 0.057104226424383848, 0.057054307941908827, 0.057004389316797598, 0.056954470549175837, 0.056904551639167897, 0.056854632586898581, 0.056804713392492240, +0.056754794056074552, 0.056704874577769890, 0.056654954957702591, 0.056605035195998347, 0.056555115292781524, 0.056505195248176904, 0.056455275062308859, 0.056405354735303059, +0.056355434267283885, 0.056305513658376119, 0.056255592908704126, 0.056205672018393590, 0.056155750987568885, 0.056105829816354792, 0.056055908504875684, 0.056005987053257253, +0.055956065461623850, 0.055906143730100284, 0.055856221858810916, 0.055806299847881435, 0.055756377697436202, 0.055706455407600032, 0.055656532978497278, 0.055606610410253630, +0.055556687702993462, 0.055506764856841126, 0.055456841871922326, 0.055406918748361414, 0.055356995486283214, 0.055307072085812078, 0.055257148547073705, 0.055207224870192459, +0.055157301055293158, 0.055107377102500153, 0.055057453011939150, 0.055007528783734522, 0.054957604418011063, 0.054907679914893155, 0.054857755274506488, 0.054807830496975435, +0.054757905582424805, 0.054707980530978965, 0.054658055342763620, 0.054608130017903135, 0.054558204556521883, 0.054508278958745562, 0.054458353224698539, 0.054408427354505642, +0.054358501348291226, 0.054308575206181008, 0.054258648928299347, 0.054208722514771060, 0.054158795965720527, 0.054108869281273446, 0.054058942461554196, 0.054009015506687588, +0.053959088416797994, 0.053909161192011126, 0.053859233832451357, 0.053809306338243504, 0.053759378709511939, 0.053709450946382367, 0.053659523048979176, 0.053609595017426730, +0.053559666851850735, 0.053509738552375577, 0.053459810119126074, 0.053409881552226597, 0.053359952851802867, 0.053310024017979254, 0.053260095050880578, 0.053210165950631216, +0.053160236717356889, 0.053110307351181975, 0.053060377852231284, 0.053010448220629211, 0.052960518456501453, 0.052910588559972403, 0.052860658531166886, 0.052810728370209274, +0.052760798077225286, 0.052710867652339302, 0.052660937095676152, 0.052611006407360210, 0.052561075587517200, 0.052511144636271503, 0.052461213553747499, 0.052411282340070905, +0.052361350995366103, 0.052311419519757922, 0.052261487913370749, 0.052211556176330304, 0.052161624308760965, 0.052111692310787570, 0.052061760182534500, 0.052011827924127466, +0.051961895535690868, 0.051911963017349530, 0.051862030369227839, 0.051812097591451521, 0.051762164684144955, 0.051712231647432980, 0.051662298481439980, 0.051612365186291677, +0.051562431762112462, 0.051512498209026723, 0.051462564527160186, 0.051412630716637230, 0.051362696777582706, 0.051312762710120988, 0.051262828514377815, 0.051212894190477566, +0.051162959738545080, 0.051113025158704757, 0.051063090451082309, 0.051013155615802136, 0.050963220652989076, 0.050913285562767523, 0.050863350345263195, 0.050813415000600493, +0.050763479528904254, 0.050713543930298872, 0.050663608204910074, 0.050613672352862252, 0.050563736374279813, 0.050513800269288471, 0.050463864038012632, 0.050413927680577127, +0.050363991197106363, 0.050314054587726066, 0.050264117852560630, 0.050214180991734900, 0.050164244005373275, 0.050114306893601482, 0.050064369656543928, 0.050014432294325444, +0.049964494807070436, 0.049914557194904632, 0.049864619457952439, 0.049814681596338700, 0.049764743610187810, 0.049714805499625501, 0.049664867264776182, 0.049614928905764251, +0.049564990422715442, 0.049515051815754156, 0.049465113085005244, 0.049415174230593099, 0.049365235252643469, 0.049315296151280746, 0.049265356926629783, 0.049215417578814986, +0.049165478107962089, 0.049115538514195499, 0.049065598797640060, 0.049015658958420180, 0.048965718996661592, 0.048915778912488717, 0.048865838706026385, 0.048815898377399018, +0.048765957926732342, 0.048716017354150778, 0.048666076659779171, 0.048616135843741928, 0.048566194906164782, 0.048516253847172154, 0.048466312666888452, 0.048416371365439408, +0.048366429942949436, 0.048316488399543389, 0.048266546735345674, 0.048216604950482043, 0.048166663045076892, 0.048116721019255092, 0.048066778873141036, 0.048016836606860486, +0.047966894220537841, 0.047916951714297953, 0.047867009088265251, 0.047817066342565467, 0.047767123477323016, 0.047717180492662763, 0.047667237388709108, 0.047617294165587805, +0.047567350823423268, 0.047517407362339906, 0.047467463782463477, 0.047417520083918384, 0.047367576266829491, 0.047317632331321212, 0.047267688277519294, 0.047217744105548159, +0.047167799815532666, 0.047117855407597227, 0.047067910881867597, 0.047017966238468184, 0.046968021477523859, 0.046918076599159031, 0.046868131603499459, 0.046818186490669565, +0.046768241260794194, 0.046718295913997780, 0.046668350450406071, 0.046618404870143487, 0.046568459173334444, 0.046518513360104700, 0.046468567430578672, 0.046418621384881224, +0.046368675223136778, 0.046318728945471087, 0.046268782552008579, 0.046218836042874113, 0.046168889418192111, 0.046118942678088332, 0.046068995822687191, 0.046019048852113560, +0.045969101766491868, 0.045919154565947869, 0.045869207250605976, 0.045819259820591068, 0.045769312276027561, 0.045719364617041229, 0.045669416843756479, 0.045619468956298183, +0.045569520954790776, 0.045519572839360006, 0.045469624610130308, 0.045419676267226108, 0.045369727810773156, 0.045319779240895884, 0.045269830557719166, 0.045219881761367424, +0.045169932851966424, 0.045119983829640595, 0.045070034694514802, 0.045020085446713480, 0.044970136086362390, 0.044920186613585961, 0.044870237028509057, 0.044820287331256127, +0.044770337521952919, 0.044720387600723860, 0.044670437567693844, 0.044620487422987284, 0.044570537166729950, 0.044520586799046268, 0.044470636320060680, 0.044420685729898948, +0.044370735028685500, 0.044320784216545214, 0.044270833293602520, 0.044220882259983191, 0.044170931115811655, 0.044120979861212793, 0.044071028496311032, 0.044021077021232147, +0.043971125436100572, 0.043921173741041181, 0.043871221936178414, 0.043821270021638034, 0.043771317997544475, 0.043721365864022629, 0.043671413621196919, 0.043621461269193119, +0.043571508808135664, 0.043521556238149003, 0.043471603559358883, 0.043421650771889760, 0.043371697875866512, 0.043321744871413576, 0.043271791758656718, 0.043221838537720381, +0.043171885208729451, 0.043121931771808356, 0.043071978227082884, 0.043022024574677464, 0.042972070814716982, 0.042922116947325881, 0.042872162972629926, 0.042822208890753569, +0.042772254701821687, 0.042722300405958723, 0.042672346003290458, 0.042622391493941321, 0.042572436878036211, 0.042522482155699565, 0.042472527327057155, 0.042422572392233425, +0.042372617351352823, 0.042322662204541117, 0.042272706951922763, 0.042222751593622633, 0.042172796129765183, 0.042122840560476195, 0.042072884885880096, 0.042022929106101788, +0.041972973221265711, 0.041923017231497647, 0.041873061136922039, 0.041823104937663780, 0.041773148633847318, 0.041723192225598421, 0.041673235713041545, 0.041623279096301584, +0.041573322375502979, 0.041523365550771511, 0.041473408622231631, 0.041423451590007786, 0.041373494454225751, 0.041323537215009983, 0.041273579872485373, 0.041223622426776373, +0.041173664878008755, 0.041123707226306976, 0.041073749471795928, 0.041023791614600062, 0.040973833654845165, 0.040923875592655680, 0.040873917428156506, 0.040823959161472100, +0.040774000792728235, 0.040724042322049368, 0.040674083749560400, 0.040624125075385771, 0.040574166299651278, 0.040524207422481369, 0.040474248444000500, 0.040424289364334454, +0.040374330183607678, 0.040324370901945079, 0.040274411519471115, 0.040224452036311559, 0.040174492452590874, 0.040124532768433960, 0.040074572983965266, 0.040024613099310588, +0.039974653114594375, 0.039924693029941533, 0.039874732845476511, 0.039824772561325099, 0.039774812177611758, 0.039724851694461390, 0.039674891111998449, 0.039624930430348718, +0.039574969649636665, 0.039525008769986741, 0.039475047791524741, 0.039425086714375120, 0.039375125538662785, 0.039325164264512193, 0.039275202892049131, 0.039225241421398063, +0.039175279852683889, 0.039125318186031072, 0.039075356421565406, 0.039025394559411349, 0.038975432599693806, 0.038925470542537234, 0.038875508388067435, 0.038825546136408859, +0.038775583787686425, 0.038725621342024584, 0.038675658799549130, 0.038625696160384533, 0.038575733424655693, 0.038525770592487081, 0.038475807664004477, 0.038425844639332365, +0.038375881518595188, 0.038325918301918754, 0.038275954989427527, 0.038225991581246413, 0.038176028077499875, 0.038126064478313709, 0.038076100783812385, 0.038026136994120802, +0.037976173109363437, 0.037926209129666086, 0.037876245055153211, 0.037826280885949720, 0.037776316622180083, 0.037726352263970100, 0.037676387811444237, 0.037626423264727406, +0.037576458623944070, 0.037526493889220032, 0.037476529060679761, 0.037426564138447721, 0.037376599122649720, 0.037326634013410215, 0.037276668810854126, 0.037226703515105923, +0.037176738126291402, 0.037126772644535039, 0.037076807069961748, 0.037026841402695986, 0.036976875642863574, 0.036926909790588963, 0.036876943845997087, 0.036826977809212402, +0.036777011680360717, 0.036727045459566503, 0.036677079146954679, 0.036627112742649709, 0.036577146246777402, 0.036527179659462228, 0.036477212980828663, 0.036427246211002511, +0.036377279350108239, 0.036327312398270771, 0.036277345355614575, 0.036227378222265468, 0.036177410998347904, 0.036127443683986821, 0.036077476279306686, 0.036027508784433296, +0.035977541199491141, 0.035927573524605134, 0.035877605759899747, 0.035827637905500788, 0.035777669961532733, 0.035727701928120505, 0.035677733805388578, 0.035627765593462764, +0.035577797292467531, 0.035527828902527807, 0.035477860423768062, 0.035427891856314120, 0.035377923200290443, 0.035327954455821514, 0.035277985623033137, 0.035228016702049801, +0.035178047692996428, 0.035128078595997488, 0.035078109411178796, 0.035028140138664829, 0.034978170778580508, 0.034928201331050325, 0.034878231796200074, 0.034828262174154252, +0.034778292465037768, 0.034728322668975110, 0.034678352786092090, 0.034628382816513190, 0.034578412760363331, 0.034528442617766997, 0.034478472388850004, 0.034428502073736822, +0.034378531672551949, 0.034328561185421186, 0.034278590612469018, 0.034228619953820379, 0.034178649209599739, 0.034128678379932928, 0.034078707464944416, 0.034028736464759138, +0.033978765379501570, 0.033928794209297543, 0.033878822954271519, 0.033828851614548447, 0.033778880190252797, 0.033728908681510385, 0.033678937088445708, 0.033628965411183688, +0.033578993649848815, 0.033529021804566891, 0.033479049875462422, 0.033429077862659883, 0.033379105766285090, 0.033329133586462535, 0.033279161323317138, 0.033229188976973405, +0.033179216547557136, 0.033129244035192830, 0.033079271440005414, 0.033029298762119373, 0.032979326001660529, 0.032929353158753373, 0.032879380233522833, 0.032829407226093399, +0.032779434136590888, 0.032729460965139796, 0.032679487711865046, 0.032629514376891135, 0.032579540960343885, 0.032529567462347780, 0.032479593883027312, 0.032429620222508303, +0.032379646480915243, 0.032329672658373068, 0.032279698755006268, 0.032229724770940667, 0.032179750706300754, 0.032129776561211458, 0.032079802335797283, 0.032029828030184046, +0.031979853644496237, 0.031929879178858790, 0.031879904633396204, 0.031829930008234301, 0.031779955303497580, 0.031729980519310960, 0.031680005655798947, 0.031630030713087370, +0.031580055691300707, 0.031530080590563912, 0.031480105411001470, 0.031430130152739211, 0.031380154815901617, 0.031330179400613202, 0.031280203906999780, 0.031230228335185847, +0.031180252685296343, 0.031130276957455762, 0.031080301151789936, 0.031030325268423354, 0.030980349307480962, 0.030930373269087250, 0.030880397153368048, 0.030830420960447857, +0.030780444690451610, 0.030730468343503809, 0.030680491919730282, 0.030630515419255523, 0.030580538842204477, 0.030530562188701638, 0.030480585458872840, 0.030430608652842576, +0.030380631770735349, 0.030330654812676987, 0.030280677778791985, 0.030230700669205291, 0.030180723484041400, 0.030130746223426146, 0.030080768887484025, 0.030030791476339982, +0.029980813990118517, 0.029930836428945458, 0.029880858792945310, 0.029830881082243015, 0.029780903296963073, 0.029730925437231319, 0.029680947503172250, 0.029630969494910810, +0.029580991412571506, 0.029531013256280166, 0.029481035026161291, 0.029431056722339387, 0.029381078344940286, 0.029331099894088487, 0.029281121369908937, 0.029231142772526142, +0.029181164102065935, 0.029131185358652816, 0.029081206542411732, 0.029031227653467190, 0.028981248691945023, 0.028931269657969733, 0.028881290551666269, 0.028831311373159137, +0.028781332122574169, 0.028731352800035869, 0.028681373405669189, 0.028631393939598630, 0.028581414401950032, 0.028531434792847896, 0.028481455112417176, 0.028431475360782370, +0.028381495538069325, 0.028331515644402536, 0.028281535679906517, 0.028231555644707102, 0.028181575538928798, 0.028131595362696556, 0.028081615116134880, 0.028031634799369608, +0.027981654412525252, 0.027931673955726762, 0.027881693429098641, 0.027831712832766729, 0.027781732166855536, 0.027731751431490013, 0.027681770626794666, 0.027631789752895340, +0.027581808809916536, 0.027531827797983213, 0.027481846717219875, 0.027431865567752362, 0.027381884349705187, 0.027331903063202857, 0.027281921708371216, 0.027231940285334769, +0.027181958794218471, 0.027131977235146831, 0.027081995608245691, 0.027032013913639564, 0.026982032151453401, 0.026932050321811715, 0.026882068424840349, 0.026832086460663811, +0.026782104429407053, 0.026732122331194593, 0.026682140166152273, 0.026632157934404599, 0.026582175636076531, 0.026532193271292581, 0.026482210840178589, 0.026432228342859073, +0.026382245779458541, 0.026332263150102841, 0.026282280454916481, 0.026232297694024419, 0.026182314867551168, 0.026132331975622577, 0.026082349018363156, 0.026032365995897859, +0.025982382908351205, 0.025932399755849038, 0.025882416538515873, 0.025832433256476665, 0.025782449909855929, 0.025732466498779513, 0.025682483023371932, 0.025632499483758141, +0.025582515880062658, 0.025532532212411332, 0.025482548480928673, 0.025432564685739199, 0.025382580826968759, 0.025332596904741864, 0.025282612919183479, 0.025232628870418116, +0.025182644758571626, 0.025132660583768524, 0.025082676346133773, 0.025032692045791883, 0.024982707682868709, 0.024932723257488767, 0.024882738769777014, 0.024832754219857971, +0.024782769607857486, 0.024732784933900080, 0.024682800198110710, 0.024632815400613895, 0.024582830541535483, 0.024532845620999999, 0.024482860639132398, 0.024432875596057203, +0.024382890491900264, 0.024332905326786097, 0.024282920100839222, 0.024232934814185494, 0.024182949466949426, 0.024132964059255985, 0.024082978591229692, 0.024032993062996392, +0.023983007474680611, 0.023933021826407313, 0.023883036118301018, 0.023833050350487574, 0.023783064523091504, 0.023733078636237772, 0.023683092690050901, 0.023633106684656742, +0.023583120620179816, 0.023533134496745090, 0.023483148314477082, 0.023433162073501646, 0.023383175773943308, 0.023333189415926586, 0.023283202999577333, 0.023233216525020074, +0.023183229992379772, 0.023133243401780954, 0.023083256753349466, 0.023033270047209842, 0.022983283283487040, 0.022933296462305585, 0.022883309583791336, 0.022833322648068810, +0.022783335655262978, 0.022733348605498364, 0.022683361498900823, 0.022633374335594876, 0.022583387115705494, 0.022533399839357201, 0.022483412506675852, 0.022433425117785972, +0.022383437672812083, 0.022333450171880046, 0.022283462615114383, 0.022233475002640064, 0.022183487334581614, 0.022133499611064887, 0.022083511832214416, 0.022033523998155162, +0.021983536109011652, 0.021933548164909750, 0.021883560165973974, 0.021833572112329301, 0.021783584004100253, 0.021733595841412687, 0.021683607624391133, 0.021633619353160560, +0.021583631027845492, 0.021533642648571792, 0.021483654215463988, 0.021433665728647047, 0.021383677188245496, 0.021333688594385197, 0.021283699947190676, 0.021233711246786462, +0.021183722493298415, 0.021133733686851060, 0.021083744827569369, 0.021033755915577875, 0.020983766951002434, 0.020933777933967578, 0.020883788864598275, 0.020833799743019056, +0.020783810569355781, 0.020733821343732979, 0.020683832066275627, 0.020633842737108249, 0.020583853356356707, 0.020533863924145534, 0.020483874440599698, 0.020433884905843733, +0.020383895320003502, 0.020333905683203531, 0.020283915995568353, 0.020233926257223825, 0.020183936468294486, 0.020133946628905303, 0.020083956739180810, 0.020033966799246870, +0.019983976809228015, 0.019933986769249214, 0.019883996679435006, 0.019834006539911245, 0.019784016350802472, 0.019734026112233658, 0.019684035824329333, 0.019634045487215365, +0.019584055101016278, 0.019534064665857057, 0.019484074181862231, 0.019434083649157663, 0.019384093067867886, 0.019334102438117430, 0.019284111760032165, 0.019234121033736621, +0.019184130259355770, 0.019134139437014152, 0.019084148566837631, 0.019034157648950736, 0.018984166683478448, 0.018934175670545301, 0.018884184610277157, 0.018834193502798552, +0.018784202348234462, 0.018734211146709423, 0.018684219898349300, 0.018634228603278628, 0.018584237261622383, 0.018534245873505103, 0.018484254439052650, 0.018434262958389562, +0.018384271431640373, 0.018334279858930949, 0.018284288240385825, 0.018234296576129981, 0.018184304866287953, 0.018134313110985605, 0.018084321310347474, 0.018034329464498539, +0.017984337573563339, 0.017934345637667739, 0.017884353656936271, 0.017834361631493923, 0.017784369561465226, 0.017734377446976046, 0.017684385288150927, 0.017634393085114840, +0.017584400837992332, 0.017534408546909262, 0.017484416211990171, 0.017434423833360042, 0.017384431411143406, 0.017334438945466137, 0.017284446436452772, 0.017234453884227844, +0.017184461288917225, 0.017134468650645454, 0.017084475969537515, 0.017034483245717939, 0.016984490479312598, 0.016934497670446032, 0.016884504819243220, 0.016834511925828705, +0.016784518990328352, 0.016734526012866704, 0.016684532993568736, 0.016634539932558996, 0.016584546829963350, 0.016534553685906336, 0.016484560500512935, 0.016434567273907692, +0.016384574006216474, 0.016334580697563824, 0.016284587348074274, 0.016234593957873703, 0.016184600527086642, 0.016134607055838083, 0.016084613544252564, 0.016034619992455954, +0.015984626400572792, 0.015934632768728065, 0.015884639097046314, 0.015834645385653406, 0.015784651634673887, 0.015734657844232738, 0.015684664014454501, 0.015634670145465050, +0.015584676237388920, 0.015534682290351100, 0.015484688304476132, 0.015434694279889886, 0.015384700216716904, 0.015334706115081729, 0.015284711975110232, 0.015234717796926953, +0.015184723580656883, 0.015134729326424557, 0.015084735034355853, 0.015034740704575313, 0.014984746337207918, 0.014934751932378216, 0.014884757490212076, 0.014834763010834045, +0.014784768494369103, 0.014734773940941798, 0.014684779350678002, 0.014634784723702257, 0.014584790060139552, 0.014534795360114426, 0.014484800623752755, 0.014434805851179084, +0.014384811042518398, 0.014334816197895240, 0.014284821317435487, 0.014234826401263679, 0.014184831449504361, 0.014134836462283409, 0.014084841439725366, 0.014034846381955219, +0.013984851289097513, 0.013934856161278122, 0.013884860998621591, 0.013834865801252906, 0.013784870569296614, 0.013734875302878589, 0.013684880002123376, 0.013634884667155962, +0.013584889298100894, 0.013534893895084046, 0.013484898458229963, 0.013434902987663635, 0.013384907483509605, 0.013334911945893750, 0.013284916374940616, 0.013234920770774745, +0.013184925133522018, 0.013134929463306978, 0.013084933760254613, 0.013034938024489471, 0.012984942256137427, 0.012934946455323027, 0.012884950622171262, 0.012834954756806675, +0.012784958859355147, 0.012734962929941222, 0.012684966968689888, 0.012634970975725694, 0.012584974951174515, 0.012534978895160901, 0.012484982807809837, 0.012434986689245874, +0.012384990539594886, 0.012334994358981425, 0.012284998147530032, 0.012235001905366588, 0.012185005632615639, 0.012135009329402176, 0.012085012995850746, 0.012035016632087227, +0.011985020238236168, 0.011935023814422557, 0.011885027360770942, 0.011835030877407202, 0.011785034364455887, 0.011735037822041985, 0.011685041250290044, 0.011635044649325946, +0.011585048019274234, 0.011535051360259903, 0.011485054672407499, 0.011435057955842903, 0.011385061210690661, 0.011335064437075324, 0.011285067635122768, 0.011235070804957545, +0.011185073946704644, 0.011135077060488613, 0.011085080146435333, 0.011035083204669355, 0.010985086235315668, 0.010935089238498820, 0.010885092214344695, 0.010835095162977839, +0.010785098084523244, 0.010735100979105461, 0.010685103846850369, 0.010635106687882517, 0.010585109502326899, 0.010535112290308063, 0.010485115051951890, 0.010435117787382930, +0.010385120496726175, 0.010335123180106175, 0.010285125837648811, 0.010235128469478633, 0.010185131075720189, 0.010135133656499361, 0.010085136211940699, 0.010035138742169197, +0.009985141247309405, 0.009935143727487203, 0.009885146182827142, 0.009835148613454215, 0.009785151019492972, 0.009735153401069296, 0.009685155758307737, 0.009635158091333288, +0.009585160400270500, 0.009535162685245254, 0.009485164946382102, 0.009435167183806039, 0.009385169397641613, 0.009335171588014706, 0.009285173755049872, 0.009235175898871659, +0.009185178019605951, 0.009135180117377297, 0.009085182192310694, 0.009035184244530689, 0.008985186274163171, 0.008935188281332685, 0.008885190266164227, 0.008835192228782351, +0.008785194169312938, 0.008735196087880540, 0.008685197984610153, 0.008635199859626325, 0.008585201713054942, 0.008535203545020555, 0.008485205355648159, 0.008435207145062306, +0.008385208913388878, 0.008335210660752429, 0.008285212387277509, 0.008235214093090002, 0.008185215778314459, 0.008135217443075878, 0.008085219087498808, 0.008035220711709135, +0.007985222315831410, 0.007935223899990629, 0.007885225464311346, 0.007835227008919440, 0.007785228533939469, 0.007735230039496426, 0.007685231525714864, 0.007635232992720667, +0.007585234440638388, 0.007535235869593022, 0.007485237279709124, 0.007435238671112575, 0.007385240043927930, 0.007335241398280185, 0.007285242734293892, 0.007235244052094937, +0.007185245351807872, 0.007135246633557249, 0.007085247897468953, 0.007035249143667537, 0.006985250372277999, 0.006935251583424892, 0.006885252777234099, 0.006835253953830174, +0.006785255113338114, 0.006735256255882473, 0.006685257381589134, 0.006635258490582652, 0.006585259582988025, 0.006535260658929804, 0.006485261718533876, 0.006435262761924793, +0.006385263789227553, 0.006335264800566710, 0.006285265796068149, 0.006235266775856423, 0.006185267740056086, 0.006135268688793025, 0.006085269622191791, 0.006035270540377383, +0.005985271443474355, 0.005935272331608592, 0.005885273204904649, 0.005835274063487523, 0.005785274907481767, 0.005735275737013268, 0.005685276552206580, 0.005635277353186701, +0.005585278140078183, 0.005535278913006915, 0.005485279672097450, 0.005435280417474785, 0.005385281149263474, 0.005335281867589406, 0.005285282572577133, 0.005235283264351209, +0.005185283943037521, 0.005135284608760623, 0.005085285261645514, 0.005035285901816748, 0.004985286529400210, 0.004935287144520456, 0.004885287747302485, 0.004835288337870850, +0.004785288916351439, 0.004735289482868805, 0.004685290037547947, 0.004635290580513421, 0.004585291111891111, 0.004535291631805574, 0.004485292140381809, 0.004435292637744368, +0.004385293124019140, 0.004335293599330679, 0.004285294063803541, 0.004235294517563611, 0.004185294960735444, 0.004135295393444041, 0.004085295815813955, 0.004035296227971073, +0.003985296630039951, 0.003935297022145587, 0.003885297404412537, 0.003835297776966687, 0.003785298139932593, 0.003735298493435253, 0.003685298837599223, 0.003635299172550391, +0.003585299498413309, 0.003535299815312980, 0.003485300123373957, 0.003435300422722127, 0.003385300713482047, 0.003335300995778715, 0.003285301269736686, 0.003235301535481848, +0.003185301793138756, 0.003135302042831966, 0.003085302284687364, 0.003035302518829507, 0.002985302745383394, 0.002935302964473579, 0.002885303176225952, 0.002835303380765067, +0.002785303578215922, 0.002735303768703075, 0.002685303952352413, 0.002635304129288491, 0.002585304299636308, 0.002535304463520421, 0.002485304621066716, 0.002435304772399750, +0.002385304917644522, 0.002335305056925588, 0.002285305190368835, 0.002235305318098819, 0.002185305440240096, 0.002135305556918553, 0.002085305668258747, 0.002035305774385676, +0.001985305875423896, 0.001935305971499296, 0.001885306062736431, 0.001835306149260301, 0.001785306231195462, 0.001735306308667801, 0.001685306381801874, 0.001635306450722681, +0.001585306515554778, 0.001535306576424053, 0.001485306633455062, 0.001435306686772804, 0.001385306736501835, 0.001335306782768043, 0.001285306825695984, 0.001235306865410214, +0.001185306902036622, 0.001135306935699761, 0.001085306966524634, 0.001035306994635795, 0.000985307020159133, 0.000935307043219203, 0.000885307063941005, 0.000835307082449096, +0.000785307098869363, 0.000735307113326362, 0.000685307125945094, 0.000635307136850113, 0.000585307146167309, 0.000535307154021237, 0.000485307160536898, 0.000435307165838846, +0.000385307170052970, 0.000335307173303827, 0.000285307175716415, 0.000235307177415291, 0.000185307178526344, 0.000135307179174129, 0.000085307179483201, 0.000035307179579450, +-0.000014692820412569, -0.000064692820367856, -0.000114692820161855, -0.000164692819668678, -0.000214692818763769, -0.000264692817322128, -0.000314692815219199, -0.000364692812329094, +-0.000414692808527257, -0.000464692803688688, -0.000514692797688831, -0.000564692790401798, -0.000614692781703032, -0.000664692771467535, -0.000714692759570750, -0.000764692745886789, +-0.000814692730291096, -0.000864692712659116, -0.000914692692864960, -0.000964692670784071, -0.001014692646291452, -0.001064692619262544, -0.001114692589571461, -0.001164692557093647, +-0.001214692521704101, -0.001264692483278268, -0.001314692441690259, -0.001364692396815520, -0.001414692348529050, -0.001464692296706292, -0.001514692241221360, -0.001564692181949697, +-0.001614692118766304, -0.001664692051546625, -0.001714691980164771, -0.001764691904496188, -0.001814691824416319, -0.001864691739799276, -0.001914691650520504, -0.001964691556455003, +-0.002014691457478216, -0.002064691353464257, -0.002114691244288570, -0.002164691129826155, -0.002214691009952456, -0.002264690884541585, -0.002314690753468987, -0.002364690616609663, +-0.002414690473839055, -0.002464690325031278, -0.002514690170061775, -0.002564690008805546, -0.002614689841138036, -0.002664689666933358, -0.002714689486066956, -0.002764689298414273, +-0.002814689103849424, -0.002864688902247852, -0.002914688693484557, -0.002964688477434985, -0.003014688253973248, -0.003064688022974790, -0.003114687784314611, -0.003164687537868158, +-0.003214687283509542, -0.003264687021114207, -0.003314686750557155, -0.003364686471713830, -0.003414686184458345, -0.003464685888666144, -0.003514685584212229, -0.003564685270972043, +-0.003614684948819701, -0.003664684617630646, -0.003714684277279879, -0.003764683927642846, -0.003814683568593659, -0.003864683200007764, -0.003914682821760604, -0.003964682433726293, +-0.004014682035780276, -0.004064681627797554, -0.004114681209653572, -0.004164680781222442, -0.004214680342379612, -0.004264679893000080, -0.004314679432959292, -0.004364678962131362, +-0.004414678480391734, -0.004464677987615410, -0.004514677483677836, -0.004564676968453123, -0.004614676441816718, -0.004664675903643622, -0.004714675353809280, -0.004764674792187806, +-0.004814674218654644, -0.004864673633085242, -0.004914673035353711, -0.004964672425335498, -0.005014671802905603, -0.005064671167939473, -0.005114670520311221, -0.005164669859896293, +-0.005214669186569690, -0.005264668500206859, -0.005314667800681912, -0.005364667087870295, -0.005414666361647010, -0.005464665621887505, -0.005514664868465890, -0.005564664101257614, +-0.005614663320137677, -0.005664662524981526, -0.005714661715663275, -0.005764660892058370, -0.005814660054042256, -0.005864659201489048, -0.005914658334274192, -0.005964657452272691, +-0.006014656555359989, -0.006064655643410202, -0.006114654716298777, -0.006164653773900714, -0.006214652816091461, -0.006264651842745132, -0.006314650853737174, -0.006364649848942587, +-0.006414648828236821, -0.006464647791493989, -0.006514646738589537, -0.006564645669398468, -0.006614644583796229, -0.006664643481656934, -0.006714642362856032, -0.006764641227268523, +-0.006814640074769854, -0.006864638905234142, -0.006914637718536832, -0.006964636514553373, -0.007014635293157877, -0.007064634054225794, -0.007114632797632125, -0.007164631523252319, +-0.007214630230960490, -0.007264628920632085, -0.007314627592142108, -0.007364626245366005, -0.007414624880177894, -0.007464623496453220, -0.007514622094066987, -0.007564620672894643, +-0.007614619232810304, -0.007664617773689416, -0.007714616295406984, -0.007764614797838455, -0.007814613280857946, -0.007864611744340902, -0.007914610188162774, -0.007964608612197676, +-0.008014607016321057, -0.008064605400407919, -0.008114603764333714, -0.008164602107972555, -0.008214600431199889, -0.008264598733890722, -0.008314597015920503, -0.008364595277163349, +-0.008414593517494705, -0.008464591736789576, -0.008514589934923414, -0.008564588111770332, -0.008614586267205781, -0.008664584401104764, -0.008714582513342728, -0.008764580603793794, +-0.008814578672333408, -0.008864576718837018, -0.008914574743178742, -0.008964572745234031, -0.009014570724877888, -0.009064568681985762, -0.009114566616431770, -0.009164564528091361, +-0.009214562416839541, -0.009264560282551760, -0.009314558125102132, -0.009364555944366110, -0.009414553740218698, -0.009464551512535346, -0.009514549261190171, -0.009564546986058624, +-0.009614544687015707, -0.009664542363936874, -0.009714540016696241, -0.009764537645169259, -0.009814535249231374, -0.009864532828756710, -0.009914530383620711, -0.009964527913698389, +-0.010014525418865189, -0.010064522898995232, -0.010114520353963968, -0.010164517783646403, -0.010214515187917989, -0.010264512566652841, -0.010314509919726413, -0.010364507247013708, +-0.010414504548390180, -0.010464501823729948, -0.010514499072908461, -0.010564496295800726, -0.010614493492282193, -0.010664490662226984, -0.010714487805510547, -0.010764484922007891, +-0.010814482011594467, -0.010864479074144394, -0.010914476109533123, -0.010964473117636106, -0.011014470098327463, -0.011064467051482643, -0.011114463976976656, -0.011164460874684954, +-0.011214457744481654, -0.011264454586242211, -0.011314451399841632, -0.011364448185155368, -0.011414444942057539, -0.011464441670423597, -0.011514438370128553, -0.011564435041047856, +-0.011614431683055627, -0.011664428296027318, -0.011714424879837940, -0.011764421434362944, -0.011814417959476449, -0.011864414455053910, -0.011914410920970779, -0.011964407357101177, +-0.012014403763320554, -0.012064400139503923, -0.012114396485526738, -0.012164392801263114, -0.012214389086588512, -0.012264385341377934, -0.012314381565506839, -0.012364377758849344, +-0.012414373921280905, -0.012464370052676532, -0.012514366152911679, -0.012564362221860465, -0.012614358259398346, -0.012664354265400331, -0.012714350239741875, -0.012764346182297099, +-0.012814342092941456, -0.012864337971550404, -0.012914333817998062, -0.012964329632159885, -0.013014325413910885, -0.013064321163126516, -0.013114316879680898, -0.013164312563449489, +-0.013214308214307299, -0.013264303832129782, -0.013314299416791062, -0.013364294968166593, -0.013414290486131386, -0.013464285970560898, -0.013514281421329251, -0.013564276838311899, +-0.013614272221383856, -0.013664267570420576, -0.013714262885296183, -0.013764258165886134, -0.013814253412065438, -0.013864248623709554, -0.013914243800692604, -0.013964238942890044, +-0.014014234050177330, -0.014064229122428587, -0.014114224159519273, -0.014164219161324397, -0.014214214127719418, -0.014264209058578460, -0.014314203953776979, -0.014364198813189987, +-0.014414193636692942, -0.014464188424159970, -0.014514183175466527, -0.014564177890487626, -0.014614172569098723, -0.014664167211173945, -0.014714161816588750, -0.014764156385218151, +-0.014814150916937604, -0.014864145411621236, -0.014914139869144503, -0.014964134289382865, -0.015014128672210449, -0.015064123017502710, -0.015114117325134664, -0.015164111594981768, +-0.015214105826918149, -0.015264100020819266, -0.015314094176560133, -0.015364088294016209, -0.015414082373061619, -0.015464076413571823, -0.015514070415421837, -0.015564064378487119, +-0.015614058302641795, -0.015664052187761325, -0.015714046033720726, -0.015764039840395455, -0.015814033607659643, -0.015864027335388744, -0.015914021023458222, -0.015964014671742202, +-0.016014008280116145, -0.016064001848455071, -0.016113995376634434, -0.016163988864528363, -0.016213982312012321, -0.016263975718961324, -0.016313969085250832, -0.016363962410754971, +-0.016413955695349206, -0.016463948938908551, -0.016513942141308469, -0.016563935302423088, -0.016613928422127867, -0.016663921500297826, -0.016713914536808424, -0.016763907531533791, +-0.016813900484349390, -0.016863893395130239, -0.016913886263751798, -0.016963879090088198, -0.017013871874014899, -0.017063864615407365, -0.017113857314139724, -0.017163849970087443, +-0.017213842583125534, -0.017263835153129462, -0.017313827679973359, -0.017363820163532689, -0.017413812603682466, -0.017463805000298160, -0.017513797353253893, -0.017563789662425132, +-0.017613781927686898, -0.017663774148914655, -0.017713766325982531, -0.017763758458765991, -0.017813750547140055, -0.017863742590980190, -0.017913734590160522, -0.017963726544556517, +-0.018013718454043638, -0.018063710318496021, -0.018113702137789130, -0.018163693911797979, -0.018213685640398040, -0.018263677323463443, -0.018313668960869653, -0.018363660552491688, +-0.018413652098205020, -0.018463643597883776, -0.018513635051403420, -0.018563626458638981, -0.018613617819465918, -0.018663609133758367, -0.018713600401391792, -0.018763591622241213, +-0.018813582796182105, -0.018863573923088593, -0.018913565002836145, -0.018963556035300231, -0.019013547020354980, -0.019063537957875864, -0.019113528847737902, -0.019163519689816565, +-0.019213510483985979, -0.019263501230121622, -0.019313491928098510, -0.019363482577792111, -0.019413473179076563, -0.019463463731827332, -0.019513454235919443, -0.019563444691228359, +-0.019613435097628223, -0.019663425454994495, -0.019713415763202208, -0.019763406022126822, -0.019813396231642480, -0.019863386391624643, -0.019913376501948788, -0.019963366562489048, +-0.020013356573120887, -0.020063346533719339, -0.020113336444159868, -0.020163326304316612, -0.020213316114065037, -0.020263305873280176, -0.020313295581837493, -0.020363285239611124, +-0.020413274846476547, -0.020463264402308778, -0.020513253906983296, -0.020563243360374236, -0.020613232762357065, -0.020663222112806811, -0.020713211411598948, -0.020763200658607612, +-0.020813189853708274, -0.020863178996775960, -0.020913168087686142, -0.020963157126312963, -0.021013146112531890, -0.021063135046218397, -0.021113123927246621, -0.021163112755492035, +-0.021213101530829667, -0.021263090253134991, -0.021313078922282142, -0.021363067538146596, -0.021413056100603383, -0.021463044609527974, -0.021513033064794511, -0.021563021466278462, +-0.021613009813854861, -0.021662998107399179, -0.021712986346785559, -0.021762974531889471, -0.021812962662585946, -0.021862950738750463, -0.021912938760257156, -0.021962926726981500, +-0.022012914638798974, -0.022062902495583719, -0.022112890297211203, -0.022162878043556464, -0.022212865734494977, -0.022262853369900876, -0.022312840949649644, -0.022362828473616311, +-0.022412815941676351, -0.022462803353703903, -0.022512790709574453, -0.022562778009163020, -0.022612765252345089, -0.022662752438994800, -0.022712739568987630, -0.022762726642198614, +-0.022812713658503223, -0.022862700617775601, -0.022912687519891232, -0.022962674364725585, -0.023012661152152811, -0.023062647882048381, -0.023112634554287335, -0.023162621168745144, +-0.023212607725295958, -0.023262594223815249, -0.023312580664178059, -0.023362567046259858, -0.023412553369934797, -0.023462539635078352, -0.023512525841565560, -0.023562511989271895, +-0.023612498078071507, -0.023662484107839873, -0.023712470078452029, -0.023762455989783451, -0.023812441841708294, -0.023862427634102030, -0.023912413366839698, -0.023962399039796776, +-0.024012384652847413, -0.024062370205867087, -0.024112355698731280, -0.024162341131314140, -0.024212326503491147, -0.024262311815137338, -0.024312297066128193, -0.024362282256337863, +-0.024412267385641825, -0.024462252453915121, -0.024512237461033228, -0.024562222406870299, -0.024612207291301813, -0.024662192114202806, -0.024712176875448768, -0.024762161574913840, +-0.024812146212473508, -0.024862130788002812, -0.024912115301377234, -0.024962099752470924, -0.025012084141159362, -0.025062068467318035, -0.025112052730821094, -0.025162036931544018, +-0.025212021069361851, -0.025262005144150078, -0.025311989155782845, -0.025361973104135641, -0.025411956989083502, -0.025461940810501918, -0.025511924568265034, -0.025561908262248342, +-0.025611891892326877, -0.025661875458376129, -0.025711858960270246, -0.025761842397884715, -0.025811825771094581, -0.025861809079775325, -0.025911792323801100, -0.025961775503047398, +-0.026011758617389698, -0.026061741666702158, -0.026111724650860268, -0.026161707569739061, -0.026211690423214033, -0.026261673211159332, -0.026311655933450449, -0.026361638589962429, +-0.026411621180570753, -0.026461603705149581, -0.026511586163574401, -0.026561568555720252, -0.026611550881462630, -0.026661533140675684, -0.026711515333234907, -0.026761497459015342, +-0.026811479517892475, -0.026861461509740465, -0.026911443434434804, -0.026961425291850975, -0.027011407081863142, -0.027061388804346789, -0.027111370459176967, -0.027161352046229159, +-0.027211333565377530, -0.027261315016497565, -0.027311296399464315, -0.027361277714153264, -0.027411258960438580, -0.027461240138195744, -0.027511221247299811, -0.027561202287626266, +-0.027611183259049273, -0.027661164161444322, -0.027711144994686462, -0.027761125758651181, -0.027811106453212640, -0.027861087078246336, -0.027911067633627315, -0.027961048119231065, +-0.028011028534931755, -0.028061008880604872, -0.028110989156125910, -0.028160969361369033, -0.028210949496209729, -0.028260929560523056, -0.028310909554184499, -0.028360889477068225, +-0.028410869329049730, -0.028460849110004058, -0.028510828819806711, -0.028560808458331845, -0.028610788025454959, -0.028660767521051102, -0.028710746944995771, -0.028760726297163131, +-0.028810705577428673, -0.028860684785667449, -0.028910663921754960, -0.028960642985565367, -0.029010621976974165, -0.029060600895856853, -0.029110579742087594, -0.029160558515541887, +-0.029210537216094783, -0.029260515843621781, -0.029310494397997044, -0.029360472879096072, -0.029410451286793919, -0.029460429620966080, -0.029510407881486723, -0.029560386068231345, +-0.029610364181075002, -0.029660342219893197, -0.029710320184560088, -0.029760298074951178, -0.029810275890941526, -0.029860253632406627, -0.029910231299220651, -0.029960208891259096, +-0.030010186408397463, -0.030060163850509917, -0.030110141217471964, -0.030160118509158659, -0.030210095725445502, -0.030260072866206657, -0.030310049931317636, -0.030360026920653486, +-0.030410003834089715, -0.030459980671500488, -0.030509957432761310, -0.030559934117747239, -0.030609910726333778, -0.030659887258395097, -0.030709863713806695, -0.030759840092443636, +-0.030809816394181417, -0.030859792618894218, -0.030909768766457534, -0.030959744836746430, -0.031009720829636406, -0.031059696745001638, -0.031109672582717626, -0.031159648342659878, +-0.031209624024702565, -0.031259599628721192, -0.031309575154590819, -0.031359550602186953, -0.031409525971383766, -0.031459501262056766, -0.031509476474081012, -0.031559451607332006, +-0.031609426661683933, -0.031659401637012294, -0.031709376533192148, -0.031759351350099004, -0.031809326087607039, -0.031859300745591762, -0.031909275323928225, -0.031959249822491952, +-0.032009224241157104, -0.032059198579799199, -0.032109172838293738, -0.032159147016514907, -0.032209121114338206, -0.032259095131638701, -0.032309069068291903, -0.032359042924171987, +-0.032409016699154469, -0.032458990393114402, -0.032508964005927309, -0.032558937537467358, -0.032608910987610061, -0.032658884356230489, -0.032708857643204151, -0.032758830848405224, +-0.032808803971709224, -0.032858777012991211, -0.032908749972126700, -0.032958722848989867, -0.033008695643456230, -0.033058668355401298, -0.033108640984699247, -0.033158613531225602, +-0.033208585994855419, -0.033258558375464209, -0.033308530672926169, -0.033358502887116795, -0.033408475017911166, -0.033458447065184797, -0.033508419028811860, -0.033558390908667877, +-0.033608362704627921, -0.033658334416567501, -0.033708306044360800, -0.033758277587883329, -0.033808249047010172, -0.033858220421616833, -0.033908191711577496, -0.033958162916767683, +-0.034008134037062911, -0.034058105072337350, -0.034108076022466537, -0.034158046887325523, -0.034208017666789846, -0.034257988360733675, -0.034307958969032534, -0.034357929491561495, +-0.034407899928196074, -0.034457870278810462, -0.034507840543280176, -0.034557810721480287, -0.034607780813286318, -0.034657750818572454, -0.034707720737214204, -0.034757690569086661, +-0.034807660314065333, -0.034857629972024406, -0.034907599542839410, -0.034957569026385416, -0.035007538422537940, -0.035057507731171174, -0.035107476952160634, -0.035157446085381849, +-0.035207415130709012, -0.035257384088017631, -0.035307352957182792, -0.035357321738080011, -0.035407290430583480, -0.035457259034568728, -0.035507227549910828, -0.035557195976485302, +-0.035607164314166342, -0.035657132562829472, -0.035707100722349769, -0.035757068792602757, -0.035807036773462635, -0.035857004664804917, -0.035906972466504691, -0.035956940178437473, +-0.036006907800477460, -0.036056875332500182, -0.036106842774381157, -0.036156810125994580, -0.036206777387215977, -0.036256744557920433, -0.036306711637983477, -0.036356678627279287, +-0.036406645525683408, -0.036456612333070910, -0.036506579049317332, -0.036556545674296857, -0.036606512207885022, -0.036656478649956900, -0.036706445000388034, -0.036756411259052602, +-0.036806377425826146, -0.036856343500583748, -0.036906309483200936, -0.036956275373551908, -0.037006241171512189, -0.037056206876957307, -0.037106172489761467, -0.037156138009800194, +-0.037206103436948579, -0.037256068771082153, -0.037306034012075107, -0.037355999159802970, -0.037405964214140844, -0.037455929174964243, -0.037505894042147381, -0.037555858815565786, +-0.037605823495094538, -0.037655788080609182, -0.037705752571983907, -0.037755716969094251, -0.037805681271815307, -0.037855645480022598, -0.037905609593590336, -0.037955573612394045, +-0.038005537536308823, -0.038055501365210201, -0.038105465098972384, -0.038155428737470895, -0.038205392280581285, -0.038255355728177752, -0.038305319080135826, -0.038355282336330607, +-0.038405245496637624, -0.038455208560931084, -0.038505171529086522, -0.038555134400979026, -0.038605097176484145, -0.038655059855476070, -0.038705022437830354, -0.038754984923422074, +-0.038804947312126782, -0.038854909603818676, -0.038904871798373299, -0.038954833895665737, -0.039004795895571535, -0.039054757797964898, -0.039104719602721369, -0.039154681309716485, +-0.039204642918824452, -0.039254604429920813, -0.039304565842880668, -0.039354527157579547, -0.039404488373891662, -0.039454449491692564, -0.039504410510857332, -0.039554371431261524, +-0.039604332252779345, -0.039654292975286332, -0.039704253598657584, -0.039754214122768652, -0.039804174547493736, -0.039854134872708391, -0.039904095098287698, -0.039954055224107221, +-0.040004015250041158, -0.040053975175965054, -0.040103935001754458, -0.040153894727283583, -0.040203854352427973, -0.040253813877062720, -0.040303773301063384, -0.040353732624304160, +-0.040403691846660615, -0.040453650968007834, -0.040503609988221376, -0.040553568907175444, -0.040603527724745590, -0.040653486440806921, -0.040703445055234974, -0.040753403567903974, +-0.040803361978689466, -0.040853320287466549, -0.040903278494110774, -0.040953236598496368, -0.041003194600498866, -0.041053152499993820, -0.041103110296855448, -0.041153067990959302, +-0.041203025582180482, -0.041252983070394544, -0.041302940455475709, -0.041352897737299520, -0.041402854915741083, -0.041452811990675957, -0.041502768961978360, -0.041552725829523837, +-0.041602682593187494, -0.041652639252844896, -0.041702595808370255, -0.041752552259639121, -0.041802508606526609, -0.041852464848908269, -0.041902420986658327, -0.041952377019652327, +-0.042002332947765383, -0.042052288770873053, -0.042102244488849562, -0.042152200101570454, -0.042202155608911295, -0.042252111010746295, -0.042302066306951019, -0.042352021497400583, +-0.042401976581970535, -0.042451931560535103, -0.042501886432969836, -0.042551841199149856, -0.042601795858950721, -0.042651750412246649, -0.042701704858913204, -0.042751659198825495, +-0.042801613431859079, -0.042851567557888187, -0.042901521576788379, -0.042951475488434761, -0.043001429292702904, -0.043051382989467028, -0.043101336578602698, -0.043151290059985463, +-0.043201243433489564, -0.043251196698990552, -0.043301149856363554, -0.043351102905484121, -0.043401055846226493, -0.043451008678466220, -0.043500961402078424, -0.043550914016938676, +-0.043600866522921194, -0.043650818919901545, -0.043700771207754847, -0.043750723386356667, -0.043800675455581237, -0.043850627415304114, -0.043900579265400426, -0.043950531005745731, +-0.044000482636214269, -0.044050434156681598, -0.044100385567023288, -0.044150336867113567, -0.044200288056828005, -0.044250239136041723, -0.044300190104630280, -0.044350140962467928, +-0.044400091709430219, -0.044450042345392279, -0.044499992870229682, -0.044549943283816659, -0.044599893586028776, -0.044649843776741159, -0.044699793855829374, -0.044749743823167661, +-0.044799693678631590, -0.044849643422096283, -0.044899593053437312, -0.044949542572528915, -0.044999491979246665, -0.045049441273465683, -0.045099390455061540, -0.045149339523908476, +-0.045199288479882069, -0.045249237322857877, -0.045299186052710154, -0.045349134669314464, -0.045399083172545936, -0.045449031562280147, -0.045498979838391330, -0.045548928000755072, +-0.045598876049246485, -0.045648823983741156, -0.045698771804113324, -0.045748719510238560, -0.045798667101991999, -0.045848614579249214, -0.045898561941884450, -0.045948509189773279, +-0.045998456322790836, -0.046048403340812692, -0.046098350243713102, -0.046148297031367629, -0.046198243703651866, -0.046248190260440046, -0.046298136701607748, -0.046348083027030113, +-0.046398029236582712, -0.046447975330139793, -0.046497921307576934, -0.046547867168769276, -0.046597812913592392, -0.046647758541920534, -0.046697704053629274, -0.046747649448593762, +-0.046797594726689568, -0.046847539887790939, -0.046897484931773460, -0.046947429858512274, -0.046997374667882952, -0.047047319359759754, -0.047097263934018259, -0.047147208390534039, +-0.047197152729181360, -0.047247096949835803, -0.047297041052372500, -0.047346985036667039, -0.047396928902593671, -0.047446872650027977, -0.047496816278845104, -0.047546759788920638, +-0.047596703180128826, -0.047646646452345252, -0.047696589605445067, -0.047746532639303854, -0.047796475553795861, -0.047846418348796681, -0.047896361024181454, -0.047946303579825766, +-0.047996246015603879, -0.048046188331391376, -0.048096130527063845, -0.048146072602495545, -0.048196014557562068, -0.048245956392138550, -0.048295898106100583, -0.048345839699322428, +-0.048395781171679676, -0.048445722523047470, -0.048495663753301402, -0.048545604862315725, -0.048595545849966046, -0.048645486716127492, -0.048695427460675671, -0.048745368083484841, +-0.048795308584430583, -0.048845248963388058, -0.048895189220232858, -0.048945129354839231, -0.048995069367082790, -0.049045009256838669, -0.049094949023982475, -0.049144888668388460, +-0.049194828189932226, -0.049244767588489363, -0.049294706863934140, -0.049344646016142149, -0.049394585044988538, -0.049444523950348915, -0.049494462732097538, -0.049544401390110002, +-0.049594339924261460, -0.049644278334427513, -0.049694216620482429, -0.049744154782301805, -0.049794092819760792, -0.049844030732734988, -0.049893968521098668, -0.049943906184727424, +-0.049993843723496419, -0.050043781137281237, -0.050093718425956169, -0.050143655589396804, -0.050193592627478738, -0.050243529540076250, -0.050293466327064940, -0.050343402988319963, +-0.050393339523716926, -0.050443275933130090, -0.050493212216435067, -0.050543148373507013, -0.050593084404221535, -0.050643020308452899, -0.050692956086076713, -0.050742891736968131, +-0.050792827261002774, -0.050842762658054895, -0.050892697928000115, -0.050942633070713589, -0.050992568086070930, -0.051042502973946399, -0.051092437734215616, -0.051142372366754174, +-0.051192306871436367, -0.051242241248137789, -0.051292175496733608, -0.051342109617099431, -0.051392043609109539, -0.051441977472639532, -0.051491911207564592, -0.051541844813760306, +-0.051591778291100975, -0.051641711639462191, -0.051691644858719125, -0.051741577948747397, -0.051791510909421280, -0.051841443740616382, -0.051891376442207877, -0.051941309014071381, +-0.051991241456081159, -0.052041173768112840, -0.052091105950041579, -0.052141038001743002, -0.052190969923091385, -0.052240901713962347, -0.052290833374231495, -0.052340764903773117, +-0.052390696302462826, -0.052440627570175792, -0.052490558706787635, -0.052540489712172643, -0.052590420586206416, -0.052640351328764143, -0.052690281939721438, -0.052740212418952583, +-0.052790142766333197, -0.052840072981738449, -0.052890003065043968, -0.052939933016124034, -0.052989862834854268, -0.053039792521109845, -0.053089722074766380, -0.053139651495698173, +-0.053189580783780832, -0.053239509938889984, -0.053289438960899924, -0.053339367849686257, -0.053389296605124176, -0.053439225227089299, -0.053489153715455907, -0.053539082070099636, +-0.053589010290895661, -0.053638938377719603, -0.053688866330445756, -0.053738794148949741, -0.053788721833106741, -0.053838649382792383, -0.053888576797880956, -0.053938504078248087, +-0.053988431223768958, -0.054038358234319191, -0.054088285109773093, -0.054138211850006272, -0.054188138454894376, -0.054238064924311685, -0.054287991258133828, -0.054337917456236000, +-0.054387843518493816, -0.054437769444781584, -0.054487695234974924, -0.054537620888949027, -0.054587546406579521, -0.054637471787740713, -0.054687397032308217, -0.054737322140157231, +-0.054787247111163381, -0.054837171945200977, -0.054887096642145639, -0.054937021201872556, -0.054986945624257363, -0.055036869909174370, -0.055086794056499196, -0.055136718066107482, +-0.055186641937873530, -0.055236565671672976, -0.055286489267381000, -0.055336412724873253, -0.055386336044024022, -0.055436259224708954, -0.055486182266803241, -0.055536105170182516, +-0.055586027934721081, -0.055635950560294578, -0.055685873046778203, -0.055735795394047584, -0.055785717601977036, -0.055835639670442187, -0.055885561599318248, -0.055935483388480846, +-0.055985405037804289, -0.056035326547164220, -0.056085247916435835, -0.056135169145494775, -0.056185090234215349, -0.056235011182473198, -0.056284931990143956, -0.056334852657101947, +-0.056384773183222804, -0.056434693568381732, -0.056484613812454364, -0.056534533915315023, -0.056584453876839344, -0.056634373696902530, -0.056684293375380224, -0.056734212912146746, +-0.056784132307077732, -0.056834051560048386, -0.056883970670934363, -0.056933889639609964, -0.056983808465950837, -0.057033727149832195, -0.057083645691129677, -0.057133564089717599, +-0.057183482345471610, -0.057233400458267365, -0.057283318427979173, -0.057333236254482681, -0.057383153937653100, -0.057433071477366079, -0.057482988873495934, -0.057532906125918319, +-0.057582823234508439, -0.057632740199141941, -0.057682657019693155, -0.057732573696037723, -0.057782490228050855, -0.057832406615608206, -0.057882322858584100, -0.057932238956854183, +-0.057982154910293668, -0.058032070718778216, -0.058081986382182135, -0.058131901900381096, -0.058181817273250738, -0.058231732500665399, -0.058281647582500727, -0.058331562518631939, +-0.058381477308934684, -0.058431391953283292, -0.058481306451553423, -0.058531220803620290, -0.058581135009359540, -0.058631049068645517, -0.058680962981353869, -0.058730876747359814, +-0.058780790366539007, -0.058830703838765784, -0.058880617163915801, -0.058930530341864275, -0.058980443372486868, -0.059030356255657911, -0.059080268991253057, -0.059130181579147532, +-0.059180094019216999, -0.059230006311335792, -0.059279918455379561, -0.059329830451223982, -0.059379742298743383, -0.059429653997813428, -0.059479565548309334, -0.059529476950106776, +-0.059579388203080078, -0.059629299307104908, -0.059679210262056491, -0.059729121067810496, -0.059779031724241254, -0.059828942231224432, -0.059878852588635248, -0.059928762796349386, +-0.059978672854241168, -0.060028582762186269, -0.060078492520059909, -0.060128402127737769, -0.060178311585094173, -0.060228220892004802, -0.060278130048345320, -0.060328039053990076, +-0.060377947908814726, -0.060427856612694508, -0.060477765165505099, -0.060527673567120827, -0.060577581817417368, -0.060627489916269962, -0.060677397863554271, -0.060727305659144644, +-0.060777213302916751, -0.060827120794745823, -0.060877028134507544, -0.060926935322076242, -0.060976842357327608, -0.061026749240136867, -0.061076655970379694, -0.061126562547930439, +-0.061176468972664780, -0.061226375244458384, -0.061276281363185615, -0.061326187328722137, -0.061376093140943194, -0.061425998799724463, -0.061475904304940286, -0.061525809656466354, +-0.061575714854177899, -0.061625619897950595, -0.061675524787658802, -0.061725429523178194, -0.061775334104384010, -0.061825238531151940, -0.061875142803356327, -0.061925046920872862, +-0.061974950883576775, -0.062024854691343750, -0.062074758344048152, -0.062124661841565655, -0.062174565183771950, -0.062224468370541387, -0.062274371401749649, -0.062324274277271989, +-0.062374176996984082, -0.062424079560760293, -0.062473981968476297, -0.062523884220007361, -0.062573786315229141, -0.062623688254016027, -0.062673590036243676, -0.062723491661787367, +-0.062773393130522756, -0.062823294442324235, -0.062873195597067472, -0.062923096594627720, -0.062972997434880662, -0.063022898117700676, -0.063072798642963432, -0.063122699010544209, +-0.063172599220318676, -0.063222499272161198, -0.063272399165947471, -0.063322298901553192, -0.063372198478852726, -0.063422097897721755, -0.063471997158035545, -0.063521896259669794, +-0.063571795202498851, -0.063621693986398414, -0.063671592611243749, -0.063721491076910539, -0.063771389383273161, -0.063821287530207313, -0.063871185517588247, -0.063921083345291660, +-0.063970981013191916, -0.064020878521164726, -0.064070775869085342, -0.064120673056829447, -0.064170570084271447, -0.064220466951287011, -0.064270363657751850, -0.064320260203540328, +-0.064370156588528168, -0.064420052812590611, -0.064469948875603367, -0.064519844777440813, -0.064569740517978647, -0.064619636097092120, -0.064669531514656958, -0.064719426770547511, +-0.064769321864639504, -0.064819216796808188, -0.064869111566929274, -0.064919006174877142, -0.064968900620527500, -0.065018794903755603, -0.065068689024437160, -0.065118582982446549, +-0.065168476777659481, -0.065218370409951654, -0.065268263879197472, -0.065318157185272632, -0.065368050328052388, -0.065417943307412477, -0.065467836123227249, -0.065517728775372430, +-0.065567621263723300, -0.065617513588155554, -0.065667405748543586, -0.065717297744763106, -0.065767189576689367, -0.065817081244198106, -0.065866972747163702, -0.065916864085461865, +-0.065966755258967863, -0.066016646267557419, -0.066066537111104925, -0.066116427789486079, -0.066166318302576160, -0.066216208650250893, -0.066266098832384657, -0.066315988848853188, +-0.066365878699532171, -0.066415768384296026, -0.066465657903020461, -0.066515547255580745, -0.066565436441852602, -0.066615325461710437, -0.066665214315029947, -0.066715103001686427, +-0.066764991521555586, -0.066814879874511832, -0.066864768060430874, -0.066914656079187992, -0.066964543930658912, -0.067014431614718040, -0.067064319131241085, -0.067114206480103328, +-0.067164093661180507, -0.067213980674347001, -0.067263867519478535, -0.067313754196450859, -0.067363640705138353, -0.067413527045416727, -0.067463413217161303, -0.067513299220247777, +-0.067563185054550570, -0.067613070719945392, -0.067662956216307552, -0.067712841543512745, -0.067762726701435405, -0.067812611689951244, -0.067862496508935555, -0.067912381158264062, +-0.067962265637811173, -0.068012149947452624, -0.068062034087063711, -0.068111918056520143, -0.068161801855696341, -0.068211685484468029, -0.068261568942710946, -0.068311452230299496, +-0.068361335347109420, -0.068411218293016010, -0.068461101067894992, -0.068510983671620784, -0.068560866104069113, -0.068610748365115271, -0.068660630454635010, -0.068710512372502724, +-0.068760394118594165, -0.068810275692784612, -0.068860157094949817, -0.068910038324964187, -0.068959919382703461, -0.069009800268042931, -0.069059680980858351, -0.069109561521024127, +-0.069159441888415996, -0.069209322082909697, -0.069259202104379650, -0.069309081952701607, -0.069358961627750862, -0.069408841129403140, -0.069458720457532888, -0.069508599612015817, +-0.069558478592727263, -0.069608357399542950, -0.069658236032337298, -0.069708114490986059, -0.069757992775364541, -0.069807870885348469, -0.069857748820812290, -0.069907626581631729, +-0.069957504167682108, -0.070007381578839165, -0.070057258814977333, -0.070107135875972351, -0.070157012761699528, -0.070206889472034614, -0.070256766006852031, -0.070306642366027544, +-0.070356518549436878, -0.070406394556954480, -0.070456270388456102, -0.070506146043817039, -0.070556021522913057, -0.070605896825618589, -0.070655771951809360, -0.070705646901360719, +-0.070755521674148392, -0.070805396270046825, -0.070855270688931757, -0.070905144930678524, -0.070955018995162863, -0.071004892882259210, -0.071054766591843330, -0.071104640123790544, +-0.071154513477976578, -0.071204386654275906, -0.071254259652564253, -0.071304132472717399, -0.071354005114609778, -0.071403877578117142, -0.071453749863114799, -0.071503621969478542, +-0.071553493897082779, -0.071603365645803274, -0.071653237215515364, -0.071703108606094801, -0.071752979817416018, -0.071802850849354796, -0.071852721701786443, -0.071902592374586724, +-0.071952462867630088, -0.072002333180792299, -0.072052203313948668, -0.072102073266974973, -0.072151943039745647, -0.072201812632136472, -0.072251682044023213, -0.072301551275280290, +-0.072351420325783497, -0.072401289195408156, -0.072451157884030032, -0.072501026391523574, -0.072550894717764547, -0.072600762862628287, -0.072650630825990561, -0.072700498607725816, +-0.072750366207709818, -0.072800233625817903, -0.072850100861925851, -0.072899967915908109, -0.072949834787640444, -0.072999701476998191, -0.073049567983857130, -0.073099434308091710, +-0.073149300449577695, -0.073199166408190436, -0.073249032183805698, -0.073298897776297930, -0.073348763185542940, -0.073398628411416464, -0.073448493453792979, -0.073498358312548265, +-0.073548222987557657, -0.073598087478696936, -0.073647951785840535, -0.073697815908864275, -0.073747679847643466, -0.073797543602053900, -0.073847407171970039, -0.073897270557267650, +-0.073947133757822095, -0.073996996773509141, -0.074046859604203263, -0.074096722249780228, -0.074146584710115385, -0.074196446985084527, -0.074246309074562103, -0.074296170978423906, +-0.074346032696545730, -0.074395894228802037, -0.074445755575068592, -0.074495616735220774, -0.074545477709134347, -0.074595338496683788, -0.074645199097744877, -0.074695059512192963, +-0.074744919739903853, -0.074794779780751997, -0.074844639634613200, -0.074894499301362799, -0.074944358780876588, -0.074994218073029043, -0.075044077177695956, -0.075093936094752664, +-0.075143794824074975, -0.075193653365537363, -0.075243511719015624, -0.075293369884385536, -0.075343227861521589, -0.075393085650299577, -0.075442943250594835, -0.075492800662283185, +-0.075542657885239090, -0.075592514919338355, -0.075642371764456331, -0.075692228420468813, -0.075742084887250288, -0.075791941164676552, -0.075841797252622967, -0.075891653150965327, +-0.075941508859578108, -0.075991364378337117, -0.076041219707117719, -0.076091074845795706, -0.076140929794245582, -0.076190784552343113, -0.076240639119963691, -0.076290493496983122, +-0.076340347683275869, -0.076390201678717740, -0.076440055483184555, -0.076489909096550790, -0.076539762518692253, -0.076589615749484308, -0.076639468788802775, -0.076689321636522118, +-0.076739174292518156, -0.076789026756666254, -0.076838879028842233, -0.076888731108920583, -0.076938582996777097, -0.076988434692287153, -0.077038286195326558, -0.077088137505769816, +-0.077137988623492720, -0.077187839548370663, -0.077237690280279436, -0.077287540819093559, -0.077337391164688810, -0.077387241316941038, -0.077437091275724720, -0.077486941040915677, +-0.077536790612389273, -0.077586639990021342, -0.077636489173686360, -0.077686338163260163, -0.077736186958618114, -0.077786035559636049, -0.077835883966188443, -0.077885732178151132, +-0.077935580195399493, -0.077985428017809347, -0.078035275645255184, -0.078085123077612825, -0.078134970314757676, -0.078184817356565531, -0.078234664202910906, -0.078284510853669609, +-0.078334357308717489, -0.078384203567929037, -0.078434049631180058, -0.078483895498345974, -0.078533741169302590, -0.078583586643924397, -0.078633431922087257, -0.078683277003666521, +-0.078733121888538038, -0.078782966576576310, -0.078832811067657174, -0.078882655361656007, -0.078932499458448629, -0.078982343357909574, -0.079032187059914660, -0.079082030564339281, +-0.079131873871059258, -0.079181716979949121, -0.079231559890884679, -0.079281402603741780, -0.079331245118394941, -0.079381087434719985, -0.079430929552592316, -0.079480771471887757, +-0.079530613192480823, -0.079580454714247365, -0.079630296037062773, -0.079680137160802883, -0.079729978085342199, -0.079779818810556569, -0.079829659336321399, -0.079879499662512524, +-0.079929339789004461, -0.079979179715673032, -0.080029019442393670, -0.080078858969042196, -0.080128698295493128, -0.080178537421622315, -0.080228376347305161, -0.080278215072417516, +-0.080328053596833884, -0.080377891920430114, -0.080427730043082069, -0.080477567964664251, -0.080527405685052511, -0.080577243204122254, -0.080627080521749328, -0.080676917637808265, +-0.080726754552174915, -0.080776591264724668, -0.080826427775333387, -0.080876264083875590, -0.080926100190227140, -0.080975936094263443, -0.081025771795860346, -0.081075607294892368, +-0.081125442591235386, -0.081175277684764791, -0.081225112575356431, -0.081274947262884867, -0.081324781747225919, -0.081374616028255478, -0.081424450105848034, -0.081474283979879478, +-0.081524117650225214, -0.081573951116761093, -0.081623784379361644, -0.081673617437902746, -0.081723450292259803, -0.081773282942308678, -0.081823115387923889, -0.081872947628981327, +-0.081922779665356396, -0.081972611496924946, -0.082022443123561536, -0.082072274545142015, -0.082122105761541803, -0.082171936772636775, -0.082221767578301463, -0.082271598178411731, +-0.082321428572843441, -0.082371258761471139, -0.082421088744170687, -0.082470918520817518, -0.082520748091287496, -0.082570577455455166, -0.082620406613196390, -0.082670235564386588, +-0.082720064308901650, -0.082769892846616108, -0.082819721177405825, -0.082869549301146248, -0.082919377217713239, -0.082969204926981344, -0.083019032428826439, -0.083068859723123945, +-0.083118686809749751, -0.083168513688578388, -0.083218340359485748, -0.083268166822347264, -0.083317993077038799, -0.083367819123434911, -0.083417644961411463, -0.083467470590844361, +-0.083517296011608136, -0.083567121223578664, -0.083616946226631392, -0.083666771020642211, -0.083716595605485639, -0.083766419981037593, -0.083816244147173494, -0.083866068103769217, +-0.083915891850699337, -0.083965715387839729, -0.084015538715065827, -0.084065361832253521, -0.084115184739277371, -0.084165007436013253, -0.084214829922336629, -0.084264652198123360, +-0.084314474263248021, -0.084364296117586501, -0.084414117761014679, -0.084463939193407125, -0.084513760414639719, -0.084563581424587905, -0.084613402223127590, -0.084663222810133332, +-0.084713043185481007, -0.084762863349046078, -0.084812683300704433, -0.084862503040330634, -0.084912322567800583, -0.084962141882989714, -0.085011960985773946, -0.085061779876027824, +-0.085111598553627252, -0.085161417018447691, -0.085211235270365032, -0.085261053309253834, -0.085310871134990002, -0.085360688747449440, -0.085410506146506721, -0.085460323332037721, +-0.085510140303917931, -0.085559957062023212, -0.085609773606228165, -0.085659589936408695, -0.085709406052440235, -0.085759221954198717, -0.085809037641558686, -0.085858853114396075, +-0.085908668372586330, -0.085958483416005343, -0.086008298244527714, -0.086058112858029348, -0.086107927256385691, -0.086157741439472649, -0.086207555407164821, -0.086257369159338113, +-0.086307182695868415, -0.086356996016630314, -0.086406809121499728, -0.086456622010352119, -0.086506434683063405, -0.086556247139508144, -0.086606059379562284, -0.086655871403101256, +-0.086705683210001008, -0.086755494800136099, -0.086805306173382460, -0.086855117329615553, -0.086904928268711296, -0.086954738990544289, -0.087004549494990410, -0.087054359781925175, +-0.087104169851224475, -0.087153979702762910, -0.087203789336416399, -0.087253598752060416, -0.087303407949570866, -0.087353216928822364, -0.087403025689690814, -0.087452834232052148, +-0.087502642555780955, -0.087552450660753151, -0.087602258546844225, -0.087652066213930097, -0.087701873661885352, -0.087751680890585923, -0.087801487899907299, -0.087851294689725398, +-0.087901101259914807, -0.087950907610351473, -0.088000713740910869, -0.088050519651468928, -0.088100325341900237, -0.088150130812080729, -0.088199936061885906, -0.088249741091191672, +-0.088299545899872656, -0.088349350487804762, -0.088399154854863951, -0.088448959000924796, -0.088498762925863242, -0.088548566629554792, -0.088598370111875366, -0.088648173372699562, +-0.088697976411903343, -0.088747779229362167, -0.088797581824951996, -0.088847384198547416, -0.088897186350024388, -0.088946988279258385, -0.088996789986125355, -0.089046591470499911, +-0.089096392732257987, -0.089146193771275084, -0.089195994587427135, -0.089245795180588755, -0.089295595550635889, -0.089345395697444485, -0.089395195620889142, -0.089444995320845808, +-0.089494794797189997, -0.089544594049797629, -0.089594393078543333, -0.089644191883303068, -0.089693990463952308, -0.089743788820367015, -0.089793586952421817, -0.089843384859992645, +-0.089893182542955016, -0.089942980001184877, -0.089992777234556828, -0.090042574242946857, -0.090092371026230439, -0.090142167584283533, -0.090191963916980769, -0.090241760024198106, +-0.090291555905811033, -0.090341351561695510, -0.090391146991726165, -0.090440942195778959, -0.090490737173729838, -0.090540531925453430, -0.090590326450825695, -0.090640120749722136, +-0.090689914822018727, -0.090739708667590083, -0.090789502286312176, -0.090839295678060511, -0.090889088842711033, -0.090938881780138411, -0.090988674490218580, -0.091038466972827053, +-0.091088259227839807, -0.091138051255131469, -0.091187843054578013, -0.091237634626054942, -0.091287425969438216, -0.091337217084602504, -0.091387007971423725, -0.091436798629777882, +-0.091486589059539603, -0.091536379260584846, -0.091586169232789144, -0.091635958976028470, -0.091685748490177438, -0.091735537775112050, -0.091785326830707809, -0.091835115656840702, +-0.091884904253385344, -0.091934692620217751, -0.091984480757213410, -0.092034268664248312, -0.092084056341197096, -0.092133843787935751, -0.092183631004339794, -0.092233417990285199, +-0.092283204745646608, -0.092332991270300008, -0.092382777564121388, -0.092432563626985362, -0.092482349458767946, -0.092532135059344642, -0.092581920428591452, -0.092631705566383005, +-0.092681490472595301, -0.092731275147103873, -0.092781059589784706, -0.092830843800512444, -0.092880627779163061, -0.092930411525612128, -0.092980195039735591, -0.093029978321408135, +-0.093079761370505720, -0.093129544186903918, -0.093179326770478688, -0.093229109121104700, -0.093278891238657943, -0.093328673123014391, -0.093378454774048728, -0.093428236191636926, +-0.093478017375654518, -0.093527798325977518, -0.093577579042480583, -0.093627359525039699, -0.093677139773530427, -0.093726919787828725, -0.093776699567809305, -0.093826479113348113, +-0.093876258424320735, -0.093926037500603160, -0.093975816342070043, -0.094025594948597385, -0.094075373320060732, -0.094125151456336098, -0.094174929357298140, -0.094224707022822859, +-0.094274484452785814, -0.094324261647062993, -0.094374038605529079, -0.094423815328060073, -0.094473591814531965, -0.094523368064819438, -0.094573144078798480, -0.094622919856344676, +-0.094672695397334014, -0.094722470701641165, -0.094772245769142144, -0.094822020599712509, -0.094871795193228262, -0.094921569549564086, -0.094971343668595984, -0.095021117550199527, +-0.095070891194250703, -0.095120664600624225, -0.095170437769196078, -0.095220210699841851, -0.095269983392437529, -0.095319755846857798, -0.095369528062978687, -0.095419300040676197, +-0.095469071779825013, -0.095518843280301149, -0.095568614541980179, -0.095618385564738118, -0.095668156348449648, -0.095717926892990787, -0.095767697198237120, -0.095817467264064635, +-0.095867237090348043, -0.095917006676963359, -0.095966776023786171, -0.096016545130692466, -0.096066313997556968, -0.096116082624255680, -0.096165851010664188, -0.096215619156658508, +-0.096265387062113336, -0.096315154726904703, -0.096364922150908625, -0.096414689333999798, -0.096464456276054253, -0.096514222976947561, -0.096563989436555753, -0.096613755654753525, +-0.096663521631416921, -0.096713287366421499, -0.096763052859643303, -0.096812818110957044, -0.096862583120238738, -0.096912347887363956, -0.096962112412208770, -0.097011876694647850, +-0.097061640734557239, -0.097111404531812523, -0.097161168086289745, -0.097210931397863590, -0.097260694466410128, -0.097310457291804917, -0.097360219873924000, -0.097409982212642104, +-0.097459744307835244, -0.097509506159379464, -0.097559267767149488, -0.097609029131021333, -0.097658790250870597, -0.097708551126573340, -0.097758311758004271, -0.097808072145039407, +-0.097857832287554375, -0.097907592185425191, -0.097957351838526593, -0.098007111246734613, -0.098056870409924848, -0.098106629327973358, -0.098156388000754852, -0.098206146428145374, +-0.098255904610020539, -0.098305662546256375, -0.098355420236727623, -0.098405177681310310, -0.098454934879880496, -0.098504691832312904, -0.098554448538483580, -0.098604204998268136, +-0.098653961211542615, -0.098703717178181757, -0.098753472898061606, -0.098803228371057775, -0.098852983597046321, -0.098902738575901955, -0.098952493307500750, -0.099002247791718304, +-0.099052002028430675, -0.099101756017512616, -0.099151509758840156, -0.099201263252288924, -0.099251016497734976, -0.099300769495053037, -0.099350522244119194, -0.099400274744809475, +-0.099450026996998619, -0.099499779000562713, -0.099549530755377341, -0.099599282261318603, -0.099649033518261210, -0.099698784526081233, -0.099748535284654286, -0.099798285793856453, +-0.099848036053562461, -0.099897786063648381, -0.099947535823989839, -0.099997285334462893, -0.100047034594942280, -0.100096783605304110, -0.100146532365423950, -0.100196280875177910, +-0.100246029134440740, -0.100295777143088490, -0.100345524900997240, -0.100395272408041730, -0.100445019664098050, -0.100494766669041810, -0.100544513422749100, -0.100594259925094660, +-0.100644006175954580, -0.100693752175204470, -0.100743497922720430, -0.100793243418377210, -0.100842988662050880, -0.100892733653617060, -0.100942478392951870, -0.100992222879930040, +-0.101041967114427640, -0.101091711096320330, -0.101141454825484170, -0.101191198301793950, -0.101240941525125740, -0.101290684495355150, -0.101340427212358310, -0.101390169676009960, +-0.101439911886186170, -0.101489653842763050, -0.101539395545615360, -0.101589136994619190, -0.101638878189650160, -0.101688619130584380, -0.101738359817296620, -0.101788100249662950, +-0.101837840427559030, -0.101887580350860960, -0.101937320019443490, -0.101987059433182720, -0.102036798591954290, -0.102086537495634320, -0.102136276144097570, -0.102186014537220120, +-0.102235752674877630, -0.102285490556946200, -0.102335228183300610, -0.102384965553816950, -0.102434702668371320, -0.102484439526838490, -0.102534176129094550, -0.102583912475015180, +-0.102633648564476460, -0.102683384397353190, -0.102733119973521460, -0.102782855292856910, -0.102832590355235690, -0.102882325160532530, -0.102932059708623570, -0.102981793999384450, +-0.103031528032691310, -0.103081261808418880, -0.103130995326443320, -0.103180728586640250, -0.103230461588885810, -0.103280194333054780, -0.103329926819023250, -0.103379659046667360, +-0.103429391015861880, -0.103479122726482910, -0.103528854178406140, -0.103578585371507690, -0.103628316305662310, -0.103678046980746160, -0.103727777396634880, -0.103777507553204600, +-0.103827237450330110, -0.103876967087887530, -0.103926696465752530, -0.103976425583801230, -0.104026154441908420, -0.104075883039950230, -0.104125611377802340, -0.104175339455340850, +-0.104225067272440570, -0.104274794828977630, -0.104324522124827690, -0.104374249159866900, -0.104423975933970040, -0.104473702447013250, -0.104523428698872630, -0.104573154689423010, +-0.104622880418540500, -0.104672605886100780, -0.104722331091979990, -0.104772056036052940, -0.104821780718195740, -0.104871505138284100, -0.104921229296194130, -0.104970953191800640, +-0.105020676824979770, -0.105070400195607220, -0.105120123303559090, -0.105169846148710220, -0.105219568730936740, -0.105269291050114340, -0.105319013106119140, -0.105368734898825980, +-0.105418456428110980, -0.105468177693850280, -0.105517898695918700, -0.105567619434192360, -0.105617339908546980, -0.105667060118858680, -0.105716780065002310, -0.105766499746853970, +-0.105816219164289390, -0.105865938317184700, -0.105915657205414720, -0.105965375828855610, -0.106015094187383040, -0.106064812280873190, -0.106114530109200870, -0.106164247672242220, +-0.106213964969872950, -0.106263682001969210, -0.106313398768405830, -0.106363115269058950, -0.106412831503804720, -0.106462547472517960, -0.106512263175074850, -0.106561978611351070, +-0.106611693781222790, -0.106661408684564830, -0.106711123321253350, -0.106760837691164070, -0.106810551794173130, -0.106860265630155370, -0.106909979198986940, -0.106959692500543570, +-0.107009405534701410, -0.107059118301335300, -0.107108830800321380, -0.107158543031535390, -0.107208254994853480, -0.107257966690150500, -0.107307678117302600, -0.107357389276185950, +-0.107407100166675370, -0.107456810788647050, -0.107506521141976700, -0.107556231226540500, -0.107605941042213270, -0.107655650588871180, -0.107705359866389970, -0.107755068874645810, +-0.107804777613513540, -0.107854486082869310, -0.107904194282588880, -0.107953902212548390, -0.108003609872622710, -0.108053317262688010, -0.108103024382620010, -0.108152731232294890, +-0.108202437811587520, -0.108252144120374020, -0.108301850158530190, -0.108351555925932170, -0.108401261422454810, -0.108450966647974300, -0.108500671602366820, -0.108550376285507220, +-0.108600080697271670, -0.108649784837535910, -0.108699488706176160, -0.108749192303067220, -0.108798895628085310, -0.108848598681106160, -0.108898301462005950, -0.108948003970659550, +-0.108997706206943140, -0.109047408170732470, -0.109097109861903710, -0.109146811280331740, -0.109196512425892750, -0.109246213298462470, -0.109295913897917100, -0.109345614224131500, +-0.109395314276981860, -0.109445014056344380, -0.109494713562093930, -0.109544412794106690, -0.109594111752258420, -0.109643810436425320, -0.109693508846482240, -0.109743206982305390, +-0.109792904843770520, -0.109842602430753850, -0.109892299743130210, -0.109941996780775830, -0.109991693543566460, -0.110041390031378290, -0.110091086244086200, -0.110140782181566410, +-0.110190477843694650, -0.110240173230347140, -0.110289868341398770, -0.110339563176725720, -0.110389257736204200, -0.110438952019709090, -0.110488646027116610, -0.110538339758302500, +-0.110588033213143010, -0.110637726391512970, -0.110687419293288620, -0.110737111918345720, -0.110786804266560480, -0.110836496337807800, -0.110886188131963880, -0.110935879648904490, +-0.110985570888505830, -0.111035261850642800, -0.111084952535191630, -0.111134642942028070, -0.111184333071028350, -0.111234022922067340, -0.111283712495021280, -0.111333401789765950, +-0.111383090806177550, -0.111432779544130970, -0.111482468003502460, -0.111532156184168220, -0.111581844086003130, -0.111631531708883440, -0.111681219052684920, -0.111730906117283810, +-0.111780592902554970, -0.111830279408374660, -0.111879965634618650, -0.111929651581163160, -0.111979337247883120, -0.112029022634654720, -0.112078707741353770, -0.112128392567856490, +-0.112178077114037780, -0.112227761379773890, -0.112277445364940580, -0.112327129069414110, -0.112376812493069370, -0.112426495635782610, -0.112476178497430040, -0.112525861077886590, +-0.112575543377028490, -0.112625225394731520, -0.112674907130871940, -0.112724588585324640, -0.112774269757965880, -0.112823950648671440, -0.112873631257317560, -0.112923311583779160, +-0.112972991627932490, -0.113022671389653340, -0.113072350868817950, -0.113122030065301240, -0.113171708978979460, -0.113221387609728400, -0.113271065957424310, -0.113320744021942130, +-0.113370421803158080, -0.113420099300948420, -0.113469776515188070, -0.113519453445753270, -0.113569130092519840, -0.113618806455364030, -0.113668482534160760, -0.113718158328786290, +-0.113767833839116410, -0.113817509065027400, -0.113867184006394170, -0.113916858663092990, -0.113966533034999650, -0.114016207121990430, -0.114065880923940240, -0.114115554440725350, +-0.114165227672221580, -0.114214900618305180, -0.114264573278851090, -0.114314245653735560, -0.114363917742834860, -0.114413589546023930, -0.114463261063179010, -0.114512932294175960, +-0.114562603238891000, -0.114612273897199110, -0.114661944268976520, -0.114711614354099070, -0.114761284152443040, -0.114810953663883340, -0.114860622888296270, -0.114910291825557630, +-0.114959960475543720, -0.115009628838129460, -0.115059296913191130, -0.115108964700604540, -0.115158632200246000, -0.115208299411990430, -0.115257966335714100, -0.115307632971292870, +-0.115357299318603000, -0.115406965377519430, -0.115456631147918460, -0.115506296629676330, -0.115555961822668040, -0.115605626726769840, -0.115655291341857580, -0.115704955667807520, +-0.115754619704494630, -0.115804283451795190, -0.115853946909585050, -0.115903610077740480, -0.115953272956136440, -0.116002935544649230, -0.116052597843154660, -0.116102259851529050, +-0.116151921569647360, -0.116201582997385850, -0.116251244134620390, -0.116300904981227260, -0.116350565537081420, -0.116400225802059180, -0.116449885776036810, -0.116499545458889270, +-0.116549204850492890, -0.116598863950723480, -0.116648522759457360, -0.116698181276569490, -0.116747839501936170, -0.116797497435433250, -0.116847155076937020, -0.116896812426322470, +-0.116946469483465880, -0.116996126248243130, -0.117045782720530480, -0.117095438900202960, -0.117145094787136830, -0.117194750381207970, -0.117244405682292660, -0.117294060690265920, +-0.117343715405004000, -0.117393369826383250, -0.117443023954278640, -0.117492677788566450, -0.117542331329122590, -0.117591984575823330, -0.117641637528543660, -0.117691290187159900, +-0.117740942551547920, -0.117790594621584030, -0.117840246397143200, -0.117889897878101770, -0.117939549064335570, -0.117989199955720960, -0.118038850552132900, -0.118088500853447710, +-0.118138150859541280, -0.118187800570289910, -0.118237449985568590, -0.118287099105253660, -0.118336747929220970, -0.118386396457346850, -0.118436044689506300, -0.118485692625575650, +-0.118535340265431190, -0.118584987608947950, -0.118634634656002240, -0.118684281406469940, -0.118733927860227390, -0.118783574017149560, -0.118833219877112820, -0.118882865439993000, +-0.118932510705666470, -0.118982155674008230, -0.119031800344894590, -0.119081444718201470, -0.119131088793805160, -0.119180732571580680, -0.119230376051404390, -0.119280019233152150, +-0.119329662116700310, -0.119379304701923860, -0.119428946988699160, -0.119478588976902530, -0.119528230666408980, -0.119577872057094860, -0.119627513148836060, -0.119677153941508910, +-0.119726794434988450, -0.119776434629150980, -0.119826074523872450, -0.119875714119029160, -0.119925353414496140, -0.119974992410149750, -0.120024631105865860, -0.120074269501520850, +-0.120123907596989720, -0.120173545392148830, -0.120223182886874070, -0.120272820081041790, -0.120322456974527020, -0.120372093567206110, -0.120421729858955410, -0.120471365849649930, +-0.120521001539166050, -0.120570636927379670, -0.120620272014167130, -0.120669906799403470, -0.120719541282965040, -0.120769175464727760, -0.120818809344567980, -0.120868442922360740, +-0.120918076197982390, -0.120967709171308850, -0.121017341842216480, -0.121066974210580310, -0.121116606276276710, -0.121166238039181580, -0.121215869499171320, -0.121265500656120930, +-0.121315131509906790, -0.121364762060405270, -0.121414392307491390, -0.121464022251041540, -0.121513651890931630, -0.121563281227038040, -0.121612910259235790, -0.121662538987401270, +-0.121712167411410420, -0.121761795531139570, -0.121811423346463800, -0.121861050857259470, -0.121910678063402510, -0.121960304964769300, -0.122009931561234890, -0.122059557852675640, +-0.122109183838967500, -0.122158809519986850, -0.122208434895608730, -0.122258059965709510, -0.122307684730165160, -0.122357309188852030, -0.122406933341645190, -0.122456557188421020, +-0.122506180729055890, -0.122555803963424870, -0.122605426891404340, -0.122655049512870230, -0.122704671827698950, -0.122754293835765550, -0.122803915536946420, -0.122853536931117500, +-0.122903158018155170, -0.122952778797934510, -0.123002399270331910, -0.123052019435223300, -0.123101639292485080, -0.123151258841992340, -0.123200878083621430, -0.123250497017248330, +-0.123300115642749440, -0.123349733959999800, -0.123399351968875850, -0.123448969669253950, -0.123498587061009180, -0.123548204144017950, -0.123597820918156200, -0.123647437383300350, +-0.123697053539325460, -0.123746669386107940, -0.123796284923523740, -0.123845900151449280, -0.123895515069759610, -0.123945129678331170, -0.123994743977039900, -0.124044357965762210, +-0.124093971644373190, -0.124143585012749230, -0.124193198070766310, -0.124242810818300840, -0.124292423255227910, -0.124342035381423910, -0.124391647196765260, -0.124441258701127060, +-0.124490869894385710, -0.124540480776417190, -0.124590091347097890, -0.124639701606302940, -0.124689311553908740, -0.124738921189791240, -0.124788530513826890, -0.124838139525890780, +-0.124887748225859310, -0.124937356613608480, -0.124986964689014700, -0.125036572451953040, -0.125086179902299980, -0.125135787039931470, -0.125185393864723910, -0.125235000376552440, +-0.125284606575293470, -0.125334212460822990, -0.125383818033017400, -0.125433423291751830, -0.125483028236902720, -0.125532632868346460, -0.125582237185958180, -0.125631841189614320, +-0.125681444879190830, -0.125731048254564190, -0.125780651315609500, -0.125830254062203160, -0.125879856494221200, -0.125929458611540030, -0.125979060414034780, -0.126028661901581850, +-0.126078263074057310, -0.126127863931337510, -0.126177464473297640, -0.126227064699814100, -0.126276664610762900, -0.126326264206020470, -0.126375863485461950, -0.126425462448963770, +-0.126475061096402390, -0.126524659427652900, -0.126574257442591740, -0.126623855141094980, -0.126673452523038990, -0.126723049588298940, -0.126772646336751250, -0.126822242768271980, +-0.126871838882737510, -0.126921434680023010, -0.126971030160004940, -0.127020625322559280, -0.127070220167562500, -0.127119814694889730, -0.127169408904417410, -0.127219002796021580, +-0.127268596369578680, -0.127318189624963860, -0.127367782562053560, -0.127417375180724240, -0.127466967480851040, -0.127516559462310440, -0.127566151124978430, -0.127615742468731470, +-0.127665333493444720, -0.127714924198994630, -0.127764514585257260, -0.127814104652109020, -0.127863694399425080, -0.127913283827081890, -0.127962872934955510, -0.128012461722922380, +-0.128062050190857670, -0.128111638338637810, -0.128161226166138870, -0.128210813673237310, -0.128260400859808280, -0.128309987725728240, -0.128359574270873660, -0.128409160495119720, +-0.128458746398342870, -0.128508331980419140, -0.128557917241225030, -0.128607502180635690, -0.128657086798527610, -0.128706671094776790, -0.128756255069259750, -0.128805838721851610, +-0.128855422052428890, -0.128905005060867610, -0.128954587747044270, -0.129004170110834010, -0.129053752152113320, -0.129103333870758260, -0.129152915266645300, -0.129202496339649610, +-0.129252077089647670, -0.129301657516515570, -0.129351237620129730, -0.129400817400365380, -0.129450396857098970, -0.129499975990207020, -0.129549554799564680, -0.129599133285048460, +-0.129648711446534420, -0.129698289283899010, -0.129747866797017470, -0.129797443985766230, -0.129847020850021390, -0.129896597389659450, -0.129946173604555570, -0.129995749494586250, +-0.130045325059627570, -0.130094900299556030, -0.130144475214246770, -0.130194049803576320, -0.130243624067420770, -0.130293198005656590, -0.130342771618158960, -0.130392344904804420, +-0.130441917865469460, -0.130491490500029260, -0.130541062808360340, -0.130590634790338750, -0.130640206445841010, -0.130689777774742330, -0.130739348776919200, -0.130788919452247690, +-0.130838489800604340, -0.130888059821864300, -0.130937629515904120, -0.130987198882599850, -0.131036767921828060, -0.131086336633463890, -0.131135905017383870, -0.131185473073464120, +-0.131235040801581100, -0.131284608201610030, -0.131334175273427470, -0.131383742016909890, -0.131433308431932520, -0.131482874518371870, -0.131532440276104060, -0.131582005705005560, +-0.131631570804951610, -0.131681135575818760, -0.131730700017483050, -0.131780264129821020, -0.131829827912707890, -0.131879391366020230, -0.131928954489634040, -0.131978517283425940, +-0.132028079747271100, -0.132077641881046040, -0.132127203684626880, -0.132176765157890170, -0.132226326300711100, -0.132275887112966230, -0.132325447594531600, -0.132375007745283820, +-0.132424567565098100, -0.132474127053850920, -0.132523686211418880, -0.132573245037677200, -0.132622803532502390, -0.132672361695770570, -0.132721919527358290, -0.132771477027140760, +-0.132821034194994550, -0.132870591030795760, -0.132920147534420910, -0.132969703705745290, -0.133019259544645390, -0.133068815050997320, -0.133118370224677680, -0.133167925065561660, +-0.133217479573525840, -0.133267033748446310, -0.133316587590199650, -0.133366141098661070, -0.133415694273707140, -0.133465247115214400, -0.133514799623058120, -0.133564351797114840, +-0.133613903637260670, -0.133663455143372190, -0.133713006315324620, -0.133762557152994540, -0.133812107656258090, -0.133861657824991790, -0.133911207659070910, -0.133960757158372000, +-0.134010306322771190, -0.134059855152145080, -0.134109403646368890, -0.134158951805319170, -0.134208499628872100, -0.134258047116904200, -0.134307594269290760, -0.134357141085908320, +-0.134406687566633460, -0.134456233711341440, -0.134505779519908860, -0.134555324992211820, -0.134604870128126890, -0.134654414927529360, -0.134703959390295810, -0.134753503516302330, +-0.134803047305425560, -0.134852590757540690, -0.134902133872524390, -0.134951676650252730, -0.135001219090602310, -0.135050761193448420, -0.135100302958667620, -0.135149844386136090, +-0.135199385475730350, -0.135248926227325730, -0.135298466640798780, -0.135348006716025680, -0.135397546452882990, -0.135447085851245990, -0.135496624910991260, -0.135546163631995450, +-0.135595702014133760, -0.135645240057282850, -0.135694777761318800, -0.135744315126118260, -0.135793852151556480, -0.135843388837510100, -0.135892925183855230, -0.135942461190468490, +-0.135991996857225160, -0.136041532184001830, -0.136091067170674680, -0.136140601817120290, -0.136190136123213960, -0.136239670088832280, -0.136289203713851450, -0.136338736998148020, +-0.136388269941597330, -0.136437802544075950, -0.136487334805460520, -0.136536866725626320, -0.136586398304449940, -0.136635929541807560, -0.136685460437575790, -0.136734990991629950, +-0.136784521203846600, -0.136834051074101990, -0.136883580602272650, -0.136933109788233950, -0.136982638631862470, -0.137032167133034370, -0.137081695291626310, -0.137131223107513580, +-0.137180750580572770, -0.137230277710680110, -0.137279804497712180, -0.137329330941544310, -0.137378857042053100, -0.137428382799115210, -0.137477908212605890, -0.137527433282401830, +-0.137576958008379160, -0.137626482390414560, -0.137676006428383290, -0.137725530122162020, -0.137775053471626910, -0.137824576476654640, -0.137874099137120450, -0.137923621452901020, +-0.137973143423872540, -0.138022665049911650, -0.138072186330893660, -0.138121707266695200, -0.138171227857192460, -0.138220748102262120, -0.138270268001779440, -0.138319787555621100, +-0.138369306763663710, -0.138418825625782640, -0.138468344141854520, -0.138517862311755500, -0.138567380135362290, -0.138616897612550190, -0.138666414743195830, -0.138715931527175460, +-0.138765447964365680, -0.138814964054641830, -0.138864479797880610, -0.138913995193958140, -0.138963510242751160, -0.139013024944134950, -0.139062539297986180, -0.139112053304181050, +-0.139161566962596240, -0.139211080273107080, -0.139260593235590200, -0.139310105849921840, -0.139359618115978660, -0.139409130033636000, -0.139458641602770520, -0.139508152823258870, +-0.139557663694976410, -0.139607174217799780, -0.139656684391605200, -0.139706194216269370, -0.139755703691667590, -0.139805212817676580, -0.139854721594172500, -0.139904230021032080, +-0.139953738098130660, -0.140003245825344870, -0.140052753202550980, -0.140102260229625660, -0.140151766906444210, -0.140201273232883370, -0.140250779208819340, -0.140300284834128820, +-0.140349790108687120, -0.140399295032370950, -0.140448799605056990, -0.140498303826620600, -0.140547807696938450, -0.140597311215886760, -0.140646814383342260, -0.140696317199180240, +-0.140745819663277450, -0.140795321775510130, -0.140844823535754920, -0.140894324943887230, -0.140943825999783720, -0.140993326703320650, -0.141042827054374710, -0.141092327052821240, +-0.141141826698536980, -0.141191325991398110, -0.141240824931281400, -0.141290323518062170, -0.141339821751617160, -0.141389319631823020, -0.141438817158555140, -0.141488314331690210, +-0.141537811151104500, -0.141587307616674710, -0.141636803728276190, -0.141686299485785680, -0.141735794889079390, -0.141785289938034100, -0.141834784632525110, -0.141884278972429170, +-0.141933772957622550, -0.141983266587981910, -0.142032759863382680, -0.142082252783701540, -0.142131745348814790, -0.142181237558599070, -0.142230729412929860, -0.142280220911683820, +-0.142329712054737210, -0.142379202841966780, -0.142428693273247890, -0.142478183348457270, -0.142527673067471630, -0.142577162430166380, -0.142626651436418200, -0.142676140086103410, +-0.142725628379098720, -0.142775116315279480, -0.142824603894522480, -0.142874091116703960, -0.142923577981700660, -0.142973064489387990, -0.143022550639642610, -0.143072036432340900, +-0.143121521867359520, -0.143171006944573910, -0.143220491663860750, -0.143269976025096390, -0.143319460028157510, -0.143368943672919550, -0.143418426959259240, -0.143467909887053300, +-0.143517392456177150, -0.143566874666507500, -0.143616356517920680, -0.143665838010293400, -0.143715319143501080, -0.143764799917420470, -0.143814280331927860, -0.143863760386899990, +-0.143913240082212260, -0.143962719417741470, -0.144012198393363850, -0.144061677008956200, -0.144111155264393890, -0.144160633159553690, -0.144210110694311920, -0.144259587868545310, +-0.144309064682129310, -0.144358541134940620, -0.144408017226856030, -0.144457492957750950, -0.144506968327502150, -0.144556443335985910, -0.144605917983079040, -0.144655392268656900, +-0.144704866192596290, -0.144754339754773500, -0.144803812955065340, -0.144853285793347160, -0.144902758269495810, -0.144952230383387530, -0.145001702134899130, -0.145051173523906040, +-0.145100644550284990, -0.145150115213912360, -0.145199585514664860, -0.145249055452417950, -0.145298525027048430, -0.145347994238433030, -0.145397463086447190, -0.145446931570967690, +-0.145496399691870890, -0.145545867449033500, -0.145595334842331000, -0.145644801871640190, -0.145694268536837370, -0.145743734837799320, -0.145793200774401470, -0.145842666346520630, +-0.145892131554033130, -0.145941596396815730, -0.145991060874743890, -0.146040524987694430, -0.146089988735543630, -0.146139452118168310, -0.146188915135443940, -0.146238377787247240, +-0.146287840073454630, -0.146337301993942850, -0.146386763548587370, -0.146436224737264980, -0.146485685559852470, -0.146535146016225300, -0.146584606106260280, -0.146634065829833740, +-0.146683525186822480, -0.146732984177101950, -0.146782442800548970, -0.146831901057039890, -0.146881358946451490, -0.146930816468659270, -0.146980273623539990, -0.147029730410970030, +-0.147079186830826160, -0.147128642882983910, -0.147178098567320060, -0.147227553883710950, -0.147277008832033400, -0.147326463412162880, -0.147375917623976200, -0.147425371467350190, +-0.147474824942160270, -0.147524278048283330, -0.147573730785595690, -0.147623183153974130, -0.147672635153294210, -0.147722086783432680, -0.147771538044265930, -0.147820988935670780, +-0.147870439457522730, -0.147919889609698570, -0.147969339392074680, -0.148018788804527900, -0.148068237846933680, -0.148117686519168900, -0.148167134821109880, -0.148216582752633470, +-0.148266030313615150, -0.148315477503931790, -0.148364924323460130, -0.148414370772075750, -0.148463816849655430, -0.148513262556075580, -0.148562707891213010, -0.148612152854943220, +-0.148661597447143050, -0.148711041667688920, -0.148760485516457600, -0.148809928993324600, -0.148859372098166800, -0.148908814830860580, -0.148958257191282750, -0.149007699179308840, +-0.149057140794815690, -0.149106582037679680, -0.149156022907777660, -0.149205463404985140, -0.149254903529178970, -0.149304343280235540, -0.149353782658031680, -0.149403221662442910, +-0.149452660293346110, -0.149502098550618110, -0.149551536434134410, -0.149600973943771860, -0.149650411079406880, -0.149699847840916310, -0.149749284228175680, -0.149798720241061830, +-0.149848155879451220, -0.149897591143220630, -0.149947026032245610, -0.149996460546403060, -0.150045894685569340, -0.150095328449621310, -0.150144761838434530, -0.150194194851885840, +-0.150243627489851680, -0.150293059752208890, -0.150342491638832980, -0.150391923149600870, -0.150441354284389400, -0.150490785043074090, -0.150540215425531810, -0.150589645431639000, +-0.150639075061272530, -0.150688504314307910, -0.150737933190622040, -0.150787361690091330, -0.150836789812592660, -0.150886217558001580, -0.150935644926194930, -0.150985071917049210, +-0.151034498530441210, -0.151083924766246550, -0.151133350624342080, -0.151182776104604230, -0.151232201206909860, -0.151281625931134560, -0.151331050277155210, -0.151380474244848660, +-0.151429897834090470, -0.151479321044757560, -0.151528743876726350, -0.151578166329873700, -0.151627588404075200, -0.151677010099207730, -0.151726431415147740, -0.151775852351772130, +-0.151825272908956420, -0.151874693086577530, -0.151924112884511910, -0.151973532302636470, -0.152022951340826720, -0.152072369998959620, -0.152121788276911580, -0.152171206174559540, +-0.152220623691778990, -0.152270040828446920, -0.152319457584440180, -0.152368873959634360, -0.152418289953906360, -0.152467705567132630, -0.152517120799190080, -0.152566535649954260, +-0.152615950119302120, -0.152665364207110130, -0.152714777913255130, -0.152764191237612760, -0.152813604180059930, -0.152863016740473060, -0.152912428918729110, -0.152961840714703650, +-0.153011252128273570, -0.153060663159315350, -0.153110073807705940, -0.153159484073320890, -0.153208893956037150, -0.153258303455731160, -0.153307712572279850, -0.153357121305558810, +-0.153406529655444990, -0.153455937621815250, -0.153505345204545260, -0.153554752403511910, -0.153604159218591660, -0.153653565649661460, -0.153702971696596890, -0.153752377359274910, +-0.153801782637571990, -0.153851187531365040, -0.153900592040529690, -0.153949996164942840, -0.153999399904481030, -0.154048803259021150, -0.154098206228438810, -0.154147608812610970, +-0.154197011011414090, -0.154246412824725120, -0.154295814252419700, -0.154345215294374730, -0.154394615950467160, -0.154444016220572630, -0.154493416104568040, -0.154542815602329940, +-0.154592214713735190, -0.154641613438659510, -0.154691011776979780, -0.154740409728572500, -0.154789807293314650, -0.154839204471081850, -0.154888601261751050, -0.154937997665198720, +-0.154987393681301850, -0.155036789309936060, -0.155086184550978280, -0.155135579404305060, -0.155184973869793300, -0.155234367947318710, -0.155283761636758170, -0.155333154937988660, +-0.155382547850885840, -0.155431940375326650, -0.155481332511187590, -0.155530724258345660, -0.155580115616676480, -0.155629506586057010, -0.155678897166363770, -0.155728287357473710, +-0.155777677159262500, -0.155827066571607110, -0.155876455594384040, -0.155925844227470270, -0.155975232470741470, -0.156024620324074580, -0.156074007787346120, -0.156123394860433110, +-0.156172781543211150, -0.156222167835557260, -0.156271553737347940, -0.156320939248460160, -0.156370324368769600, -0.156419709098153230, -0.156469093436488040, -0.156518477383649660, +-0.156567860939515110, -0.156617244103960880, -0.156666626876863970, -0.156716009258100090, -0.156765391247546180, -0.156814772845078780, -0.156864154050574880, -0.156913534863910160, +-0.156962915284961620, -0.157012295313605780, -0.157061674949719650, -0.157111054193178860, -0.157160433043860490, -0.157209811501640980, -0.157259189566397420, -0.157308567238005430, +-0.157357944516342020, -0.157407321401284220, -0.157456697892707640, -0.157506073990489330, -0.157555449694505830, -0.157604825004634130, -0.157654199920749970, -0.157703574442730280, +-0.157752948570451660, -0.157802322303791100, -0.157851695642624300, -0.157901068586828260, -0.157950441136279570, -0.157999813290855190, -0.158049185050430830, -0.158098556414883550, +-0.158147927384089840, -0.158197297957926780, -0.158246668136270000, -0.158296037918996570, -0.158345407305983480, -0.158394776297106440, -0.158444144892242460, -0.158493513091268110, +-0.158542880894060430, -0.158592248300495090, -0.158641615310449150, -0.158690981923799160, -0.158740348140422150, -0.158789713960193840, -0.158839079382991240, -0.158888444408690930, +-0.158937809037169970, -0.158987173268304030, -0.159036537101970190, -0.159085900538044970, -0.159135263576405450, -0.159184626216927330, -0.159233988459487660, -0.159283350303963430, +-0.159332711750230390, -0.159382072798165600, -0.159431433447645600, -0.159480793698547480, -0.159530153550746900, -0.159579513004120960, -0.159628872058546260, -0.159678230713899780, +-0.159727588970057290, -0.159776946826895830, -0.159826304284292040, -0.159875661342122890, -0.159925018000264150, -0.159974374258592870, -0.160023730116985650, -0.160073085575319550, +-0.160122440633470310, -0.160171795291314950, -0.160221149548730100, -0.160270503405592820, -0.160319856861778850, -0.160369209917165220, -0.160418562571629040, -0.160467914825045970, +-0.160517266677293130, -0.160566618128247130, -0.160615969177785030, -0.160665319825782550, -0.160714670072116790, -0.160764019916664340, -0.160813369359302290, -0.160862718399906370, +-0.160912067038353650, -0.160961415274520760, -0.161010763108284800, -0.161060110539521460, -0.161109457568107850, -0.161158804193920620, -0.161208150416836780, -0.161257496236732160, +-0.161306841653483770, -0.161356186666968740, -0.161405531277062810, -0.161454875483643040, -0.161504219286586060, -0.161553562685768980, -0.161602905681067580, -0.161652248272358880, +-0.161701590459519600, -0.161750932242426760, -0.161800273620956140, -0.161849614594984870, -0.161898955164389540, -0.161948295329047250, -0.161997635088833800, -0.162046974443626260, +-0.162096313393301270, -0.162145651937735950, -0.162194990076806070, -0.162244327810388690, -0.162293665138360940, -0.162343002060598600, -0.162392338576978740, -0.162441674687378050, +-0.162491010391673600, -0.162540345689741180, -0.162589680581457920, -0.162639015066700450, -0.162688349145345860, -0.162737682817269970, -0.162787016082349880, -0.162836348940462230, +-0.162885681391484180, -0.162935013435291460, -0.162984345071761210, -0.163033676300770120, -0.163083007122195260, -0.163132337535912440, -0.163181667541798770, -0.163230997139730940, +-0.163280326329586060, -0.163329655111239920, -0.163378983484569670, -0.163428311449452360, -0.163477639005763840, -0.163526966153381250, -0.163576292892181230, -0.163625619222040890, +-0.163674945142836090, -0.163724270654443920, -0.163773595756741080, -0.163822920449604700, -0.163872244732910570, -0.163921568606535810, -0.163970892070357140, -0.164020215124251690, +-0.164069537768095240, -0.164118860001764980, -0.164168181825137540, -0.164217503238090090, -0.164266824240498460, -0.164316144832239750, -0.164365465013191130, -0.164414784783228410, +-0.164464104142228700, -0.164513423090068780, -0.164562741626625710, -0.164612059751775340, -0.164661377465394830, -0.164710694767360890, -0.164760011657550610, -0.164809328135839900, +-0.164858644202105860, -0.164907959856225220, -0.164957275098075120, -0.165006589927531370, -0.165055904344471150, -0.165105218348771180, -0.165154531940308600, -0.165203845118959250, +-0.165253157884600290, -0.165302470237108870, -0.165351782176360850, -0.165401093702233350, -0.165450404814603130, -0.165499715513347360, -0.165549025798341830, -0.165598335669463750, +-0.165647645126589800, -0.165696954169597200, -0.165746262798361800, -0.165795571012760710, -0.165844878812670710, -0.165894186197968950, -0.165943493168531270, -0.165992799724234860, +-0.166042105864956460, -0.166091411590573250, -0.166140716900961050, -0.166190021795997070, -0.166239326275558460, -0.166288630339521100, -0.166337933987762170, -0.166387237220158410, +-0.166436540036586980, -0.166485842436923770, -0.166535144421045940, -0.166584445988830270, -0.166633747140153910, -0.166683047874892770, -0.166732348192923980, -0.166781648094124320, +-0.166830947578371000, -0.166880246645539850, -0.166929545295508100, -0.166978843528152480, -0.167028141343350200, -0.167077438740977110, -0.167126735720910440, -0.167176032283026910, +-0.167225328427203750, -0.167274624153316840, -0.167323919461243360, -0.167373214350860530, -0.167422508822044210, -0.167471802874671620, -0.167521096508619540, -0.167570389723765150, +-0.167619682519984330, -0.167668974897154320, -0.167718266855151870, -0.167767558393854180, -0.167816849513137190, -0.167866140212878050, -0.167915430492953540, -0.167964720353240920, +-0.168014009793616050, -0.168063298813956180, -0.168112587414138040, -0.168161875594038860, -0.168211163353534590, -0.168260450692502370, -0.168309737610819490, -0.168359024108361820, +-0.168408310185006570, -0.168457595840630580, -0.168506881075111000, -0.168556165888323810, -0.168605450280146200, -0.168654734250454960, -0.168704017799127300, -0.168753300926039180, +-0.168802583631067820, -0.168851865914089990, -0.168901147774982940, -0.168950429213622580, -0.168999710229886140, -0.169048990823650410, -0.169098270994792660, -0.169147550743188800, +-0.169196830068716050, -0.169246108971251670, -0.169295387450671580, -0.169344665506853010, -0.169393943139672790, -0.169443220349008130, -0.169492497134735020, -0.169541773496730640, +-0.169591049434871830, -0.169640324949035830, -0.169689600039098580, -0.169738874704937340, -0.169788148946428910, -0.169837422763450540, -0.169886696155878180, -0.169935969123589080, +-0.169985241666460060, -0.170034513784368370, -0.170083785477189940, -0.170133056744802090, -0.170182327587081540, -0.170231598003905670, -0.170280867995150330, -0.170330137560692820, +-0.170379406700410410, -0.170428675414179050, -0.170477943701875990, -0.170527211563378110, -0.170576478998562600, -0.170625746007305460, -0.170675012589483950, -0.170724278744974920, +-0.170773544473655640, -0.170822809775402040, -0.170872074650091440, -0.170921339097600630, -0.170970603117806930, -0.171019866710586250, -0.171069129875815930, -0.171118392613372780, +-0.171167654923134100, -0.171216916804975830, -0.171266178258775270, -0.171315439284409700, -0.171364699881755090, -0.171413960050688760, -0.171463219791087500, -0.171512479102828630, +-0.171561737985788140, -0.171610996439843290, -0.171660254464870960, -0.171709512060748410, -0.171758769227351670, -0.171808025964557990, -0.171857282272244260, -0.171906538150287750, +-0.171955793598564470, -0.172005048616951710, -0.172054303205326300, -0.172103557363565580, -0.172152811091545540, -0.172202064389143460, -0.172251317256236660, -0.172300569692701130, +-0.172349821698414200, -0.172399073273252680, -0.172448324417093930, -0.172497575129813920, -0.172546825411289990, -0.172596075261399000, -0.172645324680018250, -0.172694573667023730, +-0.172743822222292810, -0.172793070345702320, -0.172842318037129600, -0.172891565296450640, -0.172940812123542760, -0.172990058518282840, -0.173039304480548240, -0.173088550010214920, +-0.173137795107160240, -0.173187039771261510, -0.173236284002394710, -0.173285527800437240, -0.173334771165265940, -0.173384014096758160, -0.173433256594789890, -0.173482498659238480, +-0.173531740289980810, -0.173580981486894240, -0.173630222249854800, -0.173679462578739780, -0.173728702473426120, -0.173777941933791120, -0.173827180959710840, -0.173876419551062620, +-0.173925657707723340, -0.173974895429570340, -0.174024132716479680, -0.174073369568328670, -0.174122605984994270, -0.174171841966353770, -0.174221077512283220, -0.174270312622659990, +-0.174319547297361400, -0.174368781536263530, -0.174418015339243700, -0.174467248706178800, -0.174516481636946250, -0.174565714131422050, -0.174614946189483560, -0.174664177811007710, +-0.174713408995871840, -0.174762639743952040, -0.174811870055125610, -0.174861099929269510, -0.174910329366261110, -0.174959558365976460, -0.175008786928292890, -0.175058015053087380, +-0.175107242740237230, -0.175156469989618560, -0.175205696801108730, -0.175254923174585080, -0.175304149109923670, -0.175353374607001900, -0.175402599665696680, -0.175451824285885430, +-0.175501048467444160, -0.175550272210250270, -0.175599495514180690, -0.175648718379112830, -0.175697940804922740, -0.175747162791487780, -0.175796384338684910, -0.175845605446391520, +-0.175894826114483680, -0.175944046342838780, -0.175993266131333760, -0.176042485479846020, -0.176091704388251640, -0.176140922856427990, -0.176190140884252440, -0.176239358471601130, +-0.176288575618351430, -0.176337792324380270, -0.176387008589565080, -0.176436224413781930, -0.176485439796908200, -0.176534654738820910, -0.176583869239397400, -0.176633083298513770, +-0.176682296916047420, -0.176731510091875350, -0.176780722825874950, -0.176829935117922300, -0.176879146967894810, -0.176928358375669450, -0.176977569341123630, -0.177026779864133450, +-0.177075989944576320, -0.177125199582329220, -0.177174408777269530, -0.177223617529273430, -0.177272825838218240, -0.177322033703981450, -0.177371241126439150, -0.177420448105468730, +-0.177469654640947190, -0.177518860732751940, -0.177568066380759120, -0.177617271584846110, -0.177666476344889940, -0.177715680660768010, -0.177764884532356450, -0.177814087959532690, +-0.177863290942173680, -0.177912493480156890, -0.177961695573358450, -0.178010897221655750, -0.178060098424925820, -0.178109299183046050, -0.178158499495892630, -0.178207699363342940, +-0.178256898785274450, -0.178306097761563280, -0.178355296292086850, -0.178404494376722210, -0.178453692015346750, -0.178502889207836610, -0.178552085954069270, -0.178601282253921690, +-0.178650478107271360, -0.178699673513994410, -0.178748868473968260, -0.178798062987069930, -0.178847257053176890, -0.178896450672165250, -0.178945643843912510, -0.178994836568295650, +-0.179044028845192160, -0.179093220674478140, -0.179142412056031070, -0.179191602989728390, -0.179240793475446280, -0.179289983513062190, -0.179339173102453150, -0.179388362243496610, +-0.179437550936068700, -0.179486739180046930, -0.179535926975308320, -0.179585114321730330, -0.179634301219189110, -0.179683487667562150, -0.179732673666726460, -0.179781859216559510, +-0.179831044316937500, -0.179880228967737870, -0.179929413168837650, -0.179978596920114360, -0.180027780221444140, -0.180076963072704460, -0.180126145473772810, -0.180175327424525360, +-0.180224508924839570, -0.180273689974592530, -0.180322870573661700, -0.180372050721923280, -0.180421230419254700, -0.180470409665533040, -0.180519588460635820, -0.180568766804439170, +-0.180617944696820630, -0.180667122137657200, -0.180716299126826410, -0.180765475664204450, -0.180814651749668790, -0.180863827383096500, -0.180913002564365070, -0.180962177293350710, +-0.181011351569930900, -0.181060525393982710, -0.181109698765383630, -0.181158871684009900, -0.181208044149738980, -0.181257216162448360, -0.181306387722014290, -0.181355558828314250, +-0.181404729481225300, -0.181453899680624970, -0.181503069426389470, -0.181552238718396260, -0.181601407556522490, -0.181650575940645630, -0.181699743870641860, -0.181748911346388760, +-0.181798078367763380, -0.181847244934643240, -0.181896411046904540, -0.181945576704424820, -0.181994741907081180, -0.182043906654751090, -0.182093070947310810, -0.182142234784637870, +-0.182191398166609760, -0.182240561093102720, -0.182289723563994250, -0.182338885579161500, -0.182388047138481970, -0.182437208241831910, -0.182486368889088780, -0.182535529080129770, +-0.182584688814832360, -0.182633848093072790, -0.182683006914728610, -0.182732165279676890, -0.182781323187795190, -0.182830480638959760, -0.182879637633048150, -0.182928794169937430, +-0.182977950249505140, -0.183027105871627570, -0.183076261036182210, -0.183125415743046640, -0.183174569992097110, -0.183223723783211140, -0.183272877116265860, -0.183322029991138840, +-0.183371182407706280, -0.183420334365845790, -0.183469485865434460, -0.183518636906349840, -0.183567787488468190, -0.183616937611667090, -0.183666087275823620, -0.183715236480815390, +-0.183764385226518640, -0.183813533512810910, -0.183862681339569340, -0.183911828706671530, -0.183960975613993690, -0.184010122061413400, -0.184059268048807820, -0.184108413576054510, +-0.184157558643029740, -0.184206703249611050, -0.184255847395676050, -0.184304991081100990, -0.184354134305763470, -0.184403277069540600, -0.184452419372309970, -0.184501561213947870, +-0.184550702594331840, -0.184599843513339080, -0.184648983970847140, -0.184698123966732300, -0.184747263500872140, -0.184796402573143840, -0.184845541183424970, -0.184894679331591790, +-0.184943817017521940, -0.184992954241092520, -0.185042091002181160, -0.185091227300664160, -0.185140363136419070, -0.185189498509323510, -0.185238633419253760, -0.185287767866087440, +-0.185336901849701700, -0.185386035369974140, -0.185435168426781040, -0.185484301020000050, -0.185533433149508260, -0.185582564815183370, -0.185631696016901600, -0.185680826754540620, +-0.185729957027977570, -0.185779086837090050, -0.185828216181754350, -0.185877345061848160, -0.185926473477248580, -0.185975601427833260, -0.186024728913478490, -0.186073855934061920, +-0.186122982489461130, -0.186172108579552440, -0.186221234204213490, -0.186270359363321450, -0.186319484056753970, -0.186368608284387310, -0.186417732046099150, -0.186466855341766660, +-0.186515978171267440, -0.186565100534477860, -0.186614222431275540, -0.186663343861537660, -0.186712464825141840, -0.186761585321964440, -0.186810705351883070, -0.186859824914774930, +-0.186908944010517660, -0.186958062638987620, -0.187007180800062400, -0.187056298493619680, -0.187105415719535760, -0.187154532477688320, -0.187203648767954530, -0.187252764590212060, +-0.187301879944337250, -0.187350994830207730, -0.187400109247700730, -0.187449223196693910, -0.187498336677063560, -0.187547449688687390, -0.187596562231442610, -0.187645674305206840, +-0.187694785909856440, -0.187743897045269090, -0.187793007711321990, -0.187842117907892820, -0.187891227634857910, -0.187940336892094940, -0.187989445679481120, -0.188038553996894090, +-0.188087661844210270, -0.188136769221307320, -0.188185876128062840, -0.188234982564353250, -0.188284088530056210, -0.188333194025048940, -0.188382299049209140, -0.188431403602413140, +-0.188480507684538640, -0.188529611295462860, -0.188578714435063490, -0.188627817103216910, -0.188676919299800770, -0.188726021024692330, -0.188775122277769300, -0.188824223058908000, +-0.188873323367986150, -0.188922423204881010, -0.188971522569470220, -0.189020621461630210, -0.189069719881238630, -0.189118817828173190, -0.189167915302310280, -0.189217012303527580, +-0.189266108831702330, -0.189315204886712270, -0.189364300468433750, -0.189413395576744470, -0.189462490211521730, -0.189511584372643180, -0.189560678059985220, -0.189609771273425570, +-0.189658864012841520, -0.189707956278110710, -0.189757048069109590, -0.189806139385715860, -0.189855230227806790, -0.189904320595260050, -0.189953410487952080, -0.190002499905760600, +-0.190051588848563300, -0.190100677316236590, -0.190149765308658180, -0.190198852825705370, -0.190247939867255830, -0.190297026433186050, -0.190346112523373660, -0.190395198137696040, +-0.190444283276030830, -0.190493367938254470, -0.190542452124244700, -0.190591535833878810, -0.190640619067034500, -0.190689701823588210, -0.190738784103417660, -0.190787865906400150, +-0.190836947232413430, -0.190886028081333900, -0.190935108453039290, -0.190984188347406910, -0.191033267764314510, -0.191082346703638490, -0.191131425165256610, -0.191180503149046580, +-0.191229580654884880, -0.191278657682649230, -0.191327734232216940, -0.191376810303465730, -0.191425885896272070, -0.191474961010513700, -0.191524035646067930, -0.191573109802812500, +-0.191622183480623850, -0.191671256679379760, -0.191720329398957500, -0.191769401639234890, -0.191818473400088310, -0.191867544681395550, -0.191916615483033960, -0.191965685804881240, +-0.192014755646813860, -0.192063825008709610, -0.192112893890446220, -0.192161962291900160, -0.192211030212949220, -0.192260097653470690, -0.192309164613342350, -0.192358231092440660, +-0.192407297090643390, -0.192456362607827890, -0.192505427643871910, -0.192554492198651920, -0.192603556272045700, -0.192652619863930590, -0.192701682974184390, -0.192750745602683520, +-0.192799807749305770, -0.192848869413928540, -0.192897930596429570, -0.192946991296685300, -0.192996051514573580, -0.193045111249972170, -0.193094170502757540, -0.193143229272807470, +-0.193192287559999340, -0.193241345364210950, -0.193290402685318720, -0.193339459523200500, -0.193388515877733650, -0.193437571748795920, -0.193486627136263830, -0.193535682040015170, +-0.193584736459927330, -0.193633790395878050, -0.193682843847743900, -0.193731896815402590, -0.193780949298731580, -0.193830001297608610, -0.193879052811910200, -0.193928103841514180, +-0.193977154386297870, -0.194026204446139130, -0.194075254020914440, -0.194124303110501610, -0.194173351714778450, -0.194222399833621500, -0.194271447466908530, -0.194320494614516950, +-0.194369541276324580, -0.194418587452207910, -0.194467633142044770, -0.194516678345712540, -0.194565723063089060, -0.194614767294050830, -0.194663811038475690, -0.194712854296241020, +-0.194761897067224660, -0.194810939351303090, -0.194859981148354210, -0.194909022458255340, -0.194958063280884390, -0.195007103616117810, -0.195056143463833490, -0.195105182823909230, +-0.195154221696221600, -0.195203260080648420, -0.195252297977067060, -0.195301335385355410, -0.195350372305389990, -0.195399408737048640, -0.195448444680208750, -0.195497480134748190, +-0.195546515100543490, -0.195595549577472520, -0.195644583565412670, -0.195693617064241790, -0.195742650073836450, -0.195791682594074480, -0.195840714624833300, -0.195889746165990750, +-0.195938777217423420, -0.195987807779009120, -0.196036837850625760, -0.196085867432149870, -0.196134896523459310, -0.196183925124431500, -0.196232953234944330, -0.196281980854874330, +-0.196331007984099390, -0.196380034622496900, -0.196429060769944790, -0.196478086426319590, -0.196527111591499160, -0.196576136265360940, -0.196625160447782830, -0.196674184138641380, +-0.196723207337814480, -0.196772230045179570, -0.196821252260614500, -0.196870273983995870, -0.196919295215201550, -0.196968315954109440, -0.197017336200596080, -0.197066355954539420, +-0.197115375215816850, -0.197164393984306270, -0.197213412259884260, -0.197262430042428740, -0.197311447331817130, -0.197360464127927350, -0.197409480430635970, -0.197458496239820900, +-0.197507511555359590, -0.197556526377129920, -0.197605540705008490, -0.197654554538873230, -0.197703567878601580, -0.197752580724071450, -0.197801593075159430, -0.197850604931743420, +-0.197899616293700900, -0.197948627160909770, -0.197997637533246650, -0.198046647410589420, -0.198095656792816020, -0.198144665679803040, -0.198193674071428380, -0.198242681967569560, +-0.198291689368104460, -0.198340696272909710, -0.198389702681863210, -0.198438708594842440, -0.198487714011725350, -0.198536718932388530, -0.198585723356709930, -0.198634727284567020, +-0.198683730715837700, -0.198732733650398650, -0.198781736088127740, -0.198830738028902500, -0.198879739472600870, -0.198928740419099440, -0.198977740868276160, -0.199026740820008960, +-0.199075740274174460, -0.199124739230650630, -0.199173737689314960, -0.199222735650045360, -0.199271733112718480, -0.199320730077212290, -0.199369726543404260, -0.199418722511172350, +-0.199467717980393200, -0.199516712950944780, -0.199565707422704550, -0.199614701395550490, -0.199663694869359230, -0.199712687844008750, -0.199761680319376550, -0.199810672295340580, +-0.199859663771777500, -0.199908654748565260, -0.199957645225581820, -0.200006635202703810, -0.200055624679809220, -0.200104613656775590, -0.200153602133480850, -0.200202590109801680, +-0.200251577585616010, -0.200300564560801420, -0.200349551035235830, -0.200398537008795950, -0.200447522481359720, -0.200496507452804670, -0.200545491923008800, -0.200594475891848760, +-0.200643459359202550, -0.200692442324947680, -0.200741424788962120, -0.200790406751122590, -0.200839388211307040, -0.200888369169392980, -0.200937349625258470, -0.200986329578780150, +-0.201035309029835990, -0.201084287978304020, -0.201133266424060870, -0.201182244366984560, -0.201231221806952630, -0.201280198743843090, -0.201329175177532630, -0.201378151107899220, +-0.201427126534820450, -0.201476101458174270, -0.201525075877837410, -0.201574049793687870, -0.201623023205603210, -0.201671996113461400, -0.201720968517139190, -0.201769940416514550, +-0.201818911811465080, -0.201867882701868730, -0.201916853087602270, -0.201965822968543650, -0.202014792344570930, -0.202063761215560770, -0.202112729581391230, -0.202161697441939850, +-0.202210664797084660, -0.202259631646702380, -0.202308597990671020, -0.202357563828868190, -0.202406529161171860, -0.202455493987458770, -0.202504458307606940, -0.202553422121493990, +-0.202602385428997890, -0.202651348229995420, -0.202700310524364570, -0.202749272311982920, -0.202798233592728560, -0.202847194366478160, -0.202896154633109780, -0.202945114392501460, +-0.202994073644529900, -0.203043032389073150, -0.203091990626008830, -0.203140948355214980, -0.203189905576568320, -0.203238862289946890, -0.203287818495228310, -0.203336774192290600, +-0.203385729381010540, -0.203434684061266140, -0.203483638232935050, -0.203532591895895290, -0.203581545050023600, -0.203630497695198090, -0.203679449831296290, -0.203728401458196320, +-0.203777352575774920, -0.203826303183910120, -0.203875253282480020, -0.203924202871361320, -0.203973151950432140, -0.204022100519570070, -0.204071048578653190, -0.204119996127558240, +-0.204168943166163320, -0.204217889694346010, -0.204266835711984450, -0.204315781218955360, -0.204364726215136790, -0.204413670700406420, -0.204462614674642300, -0.204511558137721230, +-0.204560501089521230, -0.204609443529920000, -0.204658385458795610, -0.204707326876024800, -0.204756267781485670, -0.204805208175055880, -0.204854148056613510, -0.204903087426035330, +-0.204952026283199450, -0.205000964627983890, -0.205049902460265530, -0.205098839779922380, -0.205147776586832170, -0.205196712880872930, -0.205245648661921460, -0.205294583929855890, +-0.205343518684553860, -0.205392452925893450, -0.205441386653751500, -0.205490319868006060, -0.205539252568534840, -0.205588184755215900, -0.205637116427926060, -0.205686047586543460, +-0.205734978230945720, -0.205783908361010990, -0.205832837976616030, -0.205881767077638970, -0.205930695663957970, -0.205979623735449760, -0.206028551291992490, -0.206077478333463850, +-0.206126404859741960, -0.206175330870703610, -0.206224256366226930, -0.206273181346189600, -0.206322105810469780, -0.206371029758944250, -0.206419953191491150, -0.206468876107988140, +-0.206517798508313420, -0.206566720392343720, -0.206615641759957250, -0.206664562611031670, -0.206713482945445120, -0.206762402763074420, -0.206811322063797740, -0.206860240847493160, +-0.206909159114037540, -0.206958076863309030, -0.207006994095185330, -0.207055910809544580, -0.207104827006263620, -0.207153742685220600, -0.207202657846293210, -0.207251572489359630, +-0.207300486614296650, -0.207349400220982470, -0.207398313309294810, -0.207447225879111770, -0.207496137930310240, -0.207545049462768390, -0.207593960476363890, -0.207642870970974950, +-0.207691780946478360, -0.207740690402752340, -0.207789599339674590, -0.207838507757123290, -0.207887415654975260, -0.207936323033108690, -0.207985229891401780, -0.208034136229731330, +-0.208083042047975560, -0.208131947346012170, -0.208180852123719340, -0.208229756380973960, -0.208278660117654200, -0.208327563333637780, -0.208376466028802890, -0.208425368203026370, +-0.208474269856186470, -0.208523170988160870, -0.208572071598827790, -0.208620971688064090, -0.208669871255747960, -0.208718770301757170, -0.208767668825969870, -0.208816566828262970, +-0.208865464308514630, -0.208914361266603090, -0.208963257702405200, -0.209012153615799200, -0.209061049006662780, -0.209109943874874170, -0.209158838220310280, -0.209207732042849290, +-0.209256625342368970, -0.209305518118747540, -0.209354410371861840, -0.209403302101590140, -0.209452193307810200, -0.209501083990400180, -0.209549974149237040, -0.209598863784198950, +-0.209647752895163710, -0.209696641482009500, -0.209745529544613290, -0.209794417082853210, -0.209843304096607560, -0.209892190585753200, -0.209941076550168360, -0.209989961989730830, +-0.210038846904318840, -0.210087731293809280, -0.210136615158080410, -0.210185498497010010, -0.210234381310476280, -0.210283263598356170, -0.210332145360527910, -0.210381026596869270, +-0.210429907307258500, -0.210478787491572530, -0.210527667149689600, -0.210576546281487480, -0.210625424886844440, -0.210674302965637410, -0.210723180517744630, -0.210772057543044320, +-0.210820934041413420, -0.210869810012730200, -0.210918685456872450, -0.210967560373718440, -0.211016434763145080, -0.211065308625030620, -0.211114181959252910, -0.211163054765690170, +-0.211211927044219370, -0.211260798794718730, -0.211309670017066100, -0.211358540711139740, -0.211407410876816610, -0.211456280513974910, -0.211505149622492530, -0.211554018202247730, +-0.211602886253117430, -0.211651753774979910, -0.211700620767713010, -0.211749487231194990, -0.211798353165302820, -0.211847218569914790, -0.211896083444909120, -0.211944947790162820, +-0.211993811605554140, -0.212042674890960930, -0.212091537646261460, -0.212140399871332740, -0.212189261566053000, -0.212238122730300100, -0.212286983363952350, -0.212335843466886690, +-0.212384703038981440, -0.212433562080114410, -0.212482420590163920, -0.212531278569006940, -0.212580136016521790, -0.212628992932586270, -0.212677849317078700, -0.212726705169876100, +-0.212775560490856720, -0.212824415279898870, -0.212873269536879540, -0.212922123261677060, -0.212970976454169240, -0.213019829114234450, -0.213068681241749630, -0.213117532836593100, +-0.213166383898642760, -0.213215234427776870, -0.213264084423872490, -0.213312933886807890, -0.213361782816460930, -0.213410631212709980, -0.213459479075432000, -0.213508326404505320, +-0.213557173199807830, -0.213606019461217850, -0.213654865188612380, -0.213703710381869750, -0.213752555040868260, -0.213801399165484960, -0.213850242755598160, -0.213899085811085770, +-0.213947928331826100, -0.213996770317696150, -0.214045611768574280, -0.214094452684338410, -0.214143293064866820, -0.214192132910036550, -0.214240972219725960, -0.214289810993812950, +-0.214338649232175830, -0.214387486934691670, -0.214436324101238780, -0.214485160731695070, -0.214533996825938930, -0.214582832383847340, -0.214631667405298650, -0.214680501890170820, +-0.214729335838342170, -0.214778169249689730, -0.214827002124091860, -0.214875834461426940, -0.214924666261572000, -0.214973497524405390, -0.215022328249805020, -0.215071158437649290, +-0.215119988087815210, -0.215168817200181160, -0.215217645774625070, -0.215266473811025320, -0.215315301309258940, -0.215364128269204290, -0.215412954690739340, -0.215461780573742430, +-0.215510605918090630, -0.215559430723662320, -0.215608254990335420, -0.215657078717988340, -0.215705901906498100, -0.215754724555743130, -0.215803546665601780, -0.215852368235951140, +-0.215901189266669540, -0.215950009757635010, -0.215998829708725860, -0.216047649119819220, -0.216096467990793460, -0.216145286321526520, -0.216194104111896800, -0.216242921361781390, +-0.216291738071058670, -0.216340554239606600, -0.216389369867303590, -0.216438184954026700, -0.216486999499654360, -0.216535813504064530, -0.216584626967135600, -0.216633439888744670, +-0.216682252268770140, -0.216731064107090390, -0.216779875403582570, -0.216828686158125060, -0.216877496370595830, -0.216926306040873290, -0.216975115168834550, -0.217023923754358030, +-0.217072731797321700, -0.217121539297603970, -0.217170346255081970, -0.217219152669634100, -0.217267958541138340, -0.217316763869473130, -0.217365568654515560, -0.217414372896144070, +-0.217463176594236670, -0.217511979748671730, -0.217560782359326440, -0.217609584426079170, -0.217658385948808370, -0.217707186927391190, -0.217755987361706040, -0.217804787251630910, +-0.217853586597044240, -0.217902385397823200, -0.217951183653846160, -0.217999981364991190, -0.218048778531136690, -0.218097575152159800, -0.218146371227938980, -0.218195166758352240, +-0.218243961743278010, -0.218292756182593440, -0.218341550076177000, -0.218390343423906670, -0.218439136225660910, -0.218487928481316870, -0.218536720190753010, -0.218585511353847380, +-0.218634301970478370, -0.218683092040523190, -0.218731881563860280, -0.218780670540368090, -0.218829458969923780, -0.218878246852405840, -0.218927034187692300, -0.218975820975661570, +-0.219024607216190880, -0.219073392909158670, -0.219122178054442950, -0.219170962651922260, -0.219219746701473710, -0.219268530202975790, -0.219317313156306540, -0.219366095561344450, +-0.219414877417966700, -0.219463658726051750, -0.219512439485477630, -0.219561219696122860, -0.219609999357864630, -0.219658778470581380, -0.219707557034151600, -0.219756335048452520, +-0.219805112513362600, -0.219853889428759890, -0.219902665794522890, -0.219951441610528790, -0.220000216876656110, -0.220048991592782850, -0.220097765758787590, -0.220146539374547450, +-0.220195312439940950, -0.220244084954846210, -0.220292856919141660, -0.220341628332704540, -0.220390399195413370, -0.220439169507146180, -0.220487939267781490, -0.220536708477196530, +-0.220585477135269800, -0.220634245241879830, -0.220683012796903780, -0.220731779800220210, -0.220780546251707200, -0.220829312151243270, -0.220878077498705580, -0.220926842293972750, +-0.220975606536922780, -0.221024370227434240, -0.221073133365384340, -0.221121895950651600, -0.221170657983114140, -0.221219419462650450, -0.221268180389137760, -0.221316940762454640, +-0.221365700582479170, -0.221414459849089890, -0.221463218562164030, -0.221511976721580100, -0.221560734327216240, -0.221609491378950970, -0.221658247876661550, -0.221707003820226510, +-0.221755759209524390, -0.221804514044432440, -0.221853268324829210, -0.221902022050592810, -0.221950775221601780, -0.221999527837733380, -0.222048279898866160, -0.222097031404878240, +-0.222145782355648160, -0.222194532751053220, -0.222243282590971920, -0.222292031875282460, -0.222340780603863310, -0.222389528776591790, -0.222438276393346460, -0.222487023454005420, +-0.222535769958447260, -0.222584515906549240, -0.222633261298189920, -0.222682006133247900, -0.222730750411600430, -0.222779494133126060, -0.222828237297702990, -0.222876979905209740, +-0.222925721955523600, -0.222974463448523170, -0.223023204384086570, -0.223071944762092410, -0.223120684582417930, -0.223169423844941760, -0.223218162549542020, -0.223266900696097310, +-0.223315638284484920, -0.223364375314583450, -0.223413111786271020, -0.223461847699426230, -0.223510583053926400, -0.223559317849650140, -0.223608052086475970, -0.223656785764281270, +-0.223705518882944600, -0.223754251442344120, -0.223802983442358470, -0.223851714882864900, -0.223900445763742070, -0.223949176084868110, -0.223997905846121640, -0.224046635047379980, +-0.224095363688521730, -0.224144091769425070, -0.224192819289968620, -0.224241546250029680, -0.224290272649486870, -0.224338998488218390, -0.224387723766102830, -0.224436448483017550, +-0.224485172638841130, -0.224533896233452240, -0.224582619266728150, -0.224631341738547510, -0.224680063648788540, -0.224728784997329820, -0.224777505784048700, -0.224826226008823850, +-0.224874945671533400, -0.224923664772056050, -0.224972383310269090, -0.225021101286051160, -0.225069818699280500, -0.225118535549835710, -0.225167251837594150, -0.225215967562434450, +-0.225264682724234860, -0.225313397322873980, -0.225362111358229170, -0.225410824830179070, -0.225459537738601950, -0.225508250083376380, -0.225556961864379760, -0.225605673081490740, +-0.225654383734587990, -0.225703093823548810, -0.225751803348251930, -0.225800512308575510, -0.225849220704398250, -0.225897928535597540, -0.225946635802051960, -0.225995342503639810, +-0.226044048640239750, -0.226092754211729110, -0.226141459217986620, -0.226190163658890440, -0.226238867534319320, -0.226287570844150580, -0.226336273588262920, -0.226384975766534570, +-0.226433677378844210, -0.226482378425069240, -0.226531078905088310, -0.226579778818780140, -0.226628478166022050, -0.226677176946692790, -0.226725875160670580, -0.226774572807834110, +-0.226823269888060790, -0.226871966401229280, -0.226920662347217890, -0.226969357725905240, -0.227018052537168780, -0.227066746780887170, -0.227115440456938710, -0.227164133565202070, +-0.227212826105554680, -0.227261518077875200, -0.227310209482041950, -0.227358900317933600, -0.227407590585427560, -0.227456280284402540, -0.227504969414737270, -0.227553657976309140, +-0.227602345968996870, -0.227651033392678700, -0.227699720247233420, -0.227748406532538390, -0.227797092248472330, -0.227845777394913570, -0.227894461971740790, -0.227943145978831420, +-0.227991829416064160, -0.228040512283317370, -0.228089194580469700, -0.228137876307398620, -0.228186557463982860, -0.228235238050100680, -0.228283918065630860, -0.228332597510450820, +-0.228381276384439250, -0.228429954687474540, -0.228478632419435330, -0.228527309580199120, -0.228575986169644640, -0.228624662187650650, -0.228673337634094530, -0.228722012508855100, +-0.228770686811810620, -0.228819360542839860, -0.228868033701820270, -0.228916706288630590, -0.228965378303149140, -0.229014049745254690, -0.229062720614824690, -0.229111390911737880, +-0.229160060635872580, -0.229208729787107570, -0.229257398365320300, -0.229306066370389560, -0.229354733802193620, -0.229403400660611300, -0.229452066945520030, -0.229500732656798600, +-0.229549397794325760, -0.229598062357979000, -0.229646726347637080, -0.229695389763178350, -0.229744052604481580, -0.229792714871424250, -0.229841376563885150, -0.229890037681742570, +-0.229938698224875340, -0.229987358193160930, -0.230036017586478150, -0.230084676404705310, -0.230133334647721200, -0.230181992315403340, -0.230230649407630490, -0.230279305924281000, +-0.230327961865233720, -0.230376617230366070, -0.230425272019556870, -0.230473926232684950, -0.230522579869627760, -0.230571232930264130, -0.230619885414472430, -0.230668537322131440, +-0.230717188653118660, -0.230765839407312930, -0.230814489584592580, -0.230863139184836450, -0.230911788207922050, -0.230960436653728170, -0.231009084522133200, -0.231057731813015950, +-0.231106378526253930, -0.231155024661725970, -0.231203670219310460, -0.231252315198886200, -0.231300959600330700, -0.231349603423522810, -0.231398246668341360, -0.231446889334663840, +-0.231495531422369120, -0.231544172931335560, -0.231592813861442010, -0.231641454212565990, -0.231690093984586310, -0.231738733177381420, -0.231787371790830120, -0.231836009824809950, +-0.231884647279199770, -0.231933284153877980, -0.231981920448723400, -0.232030556163613590, -0.232079191298427380, -0.232127825853043200, -0.232176459827339890, -0.232225093221195000, +-0.232273726034487370, -0.232322358267095440, -0.232370989918898010, -0.232419620989772700, -0.232468251479598350, -0.232516881388253770, -0.232565510715616600, -0.232614139461565620, +-0.232662767625979290, -0.232711395208736490, -0.232760022209714760, -0.232808648628792970, -0.232857274465849560, -0.232905899720763390, -0.232954524393412050, -0.233003148483674400, +-0.233051771991428870, -0.233100394916554350, -0.233149017258928420, -0.233197639018429940, -0.233246260194937350, -0.233294880788329550, -0.233343500798484120, -0.233392120225279940, +-0.233440739068595890, -0.233489357328309550, -0.233537975004299820, -0.233586592096445170, -0.233635208604624440, -0.233683824528715280, -0.233732439868596570, -0.233781054624146750, +-0.233829668795244690, -0.233878282381768080, -0.233926895383595730, -0.233975507800606160, -0.234024119632678250, -0.234072730879689610, -0.234121341541519120, -0.234169951618045300, +-0.234218561109147020, -0.234267170014701900, -0.234315778334588890, -0.234364386068686840, -0.234412993216873390, -0.234461599779027450, -0.234510205755027540, -0.234558811144752520, +-0.234607415948080040, -0.234656020164889040, -0.234704623795057990, -0.234753226838465810, -0.234801829294990110, -0.234850431164509850, -0.234899032446903520, -0.234947633142050030, +-0.234996233249827050, -0.235044832770113450, -0.235093431702787790, -0.235142030047728990, -0.235190627804814640, -0.235239224973923770, -0.235287821554934830, -0.235336417547726750, +-0.235385012952177200, -0.235433607768165130, -0.235482201995569460, -0.235530795634267850, -0.235579388684139250, -0.235627981145062200, -0.235676573016915610, -0.235725164299577160, +-0.235773754992925800, -0.235822345096840050, -0.235870934611198870, -0.235919523535879920, -0.235968111870762160, -0.236016699615724130, -0.236065286770644780, -0.236113873335401760, +-0.236162459309874090, -0.236211044693940250, -0.236259629487479250, -0.236308213690368720, -0.236356797302487680, -0.236405380323715050, -0.236453962753928580, -0.236502544593007180, +-0.236551125840829410, -0.236599706497274270, -0.236648286562219420, -0.236696866035543850, -0.236745444917126120, -0.236794023206845230, -0.236842600904578810, -0.236891178010205930, +-0.236939754523605080, -0.236988330444655280, -0.237036905773234250, -0.237085480509220900, -0.237134054652493900, -0.237182628202932180, -0.237231201160413440, -0.237279773524816720, +-0.237328345296020980, -0.237376916473903960, -0.237425487058344630, -0.237474057049221620, -0.237522626446413860, -0.237571195249799110, -0.237619763459256390, -0.237668331074664230, +-0.237716898095901710, -0.237765464522846500, -0.237814030355377630, -0.237862595593373670, -0.237911160236713660, -0.237959724285275310, -0.238008287738937670, -0.238056850597579310, +-0.238105412861079250, -0.238153974529315220, -0.238202535602166250, -0.238251096079511370, -0.238299655961228350, -0.238348215247196150, -0.238396773937293440, -0.238445332031399200, +-0.238493889529391210, -0.238542446431148520, -0.238591002736549710, -0.238639558445473800, -0.238688113557798560, -0.238736668073403050, -0.238785221992165870, -0.238833775313966070, +-0.238882328038681400, -0.238930880166190910, -0.238979431696373200, -0.239027982629107380, -0.239076532964271140, -0.239125082701743570, -0.239173631841403310, -0.239222180383129400, +-0.239270728326799580, -0.239319275672292970, -0.239367822419488590, -0.239416368568264230, -0.239464914118498930, -0.239513459070071380, -0.239562003422860580, -0.239610547176744350, +-0.239659090331601770, -0.239707632887311450, -0.239756174843752470, -0.239804716200802630, -0.239853256958341000, -0.239901797116246230, -0.239950336674397390, -0.239998875632672280, +-0.240047413990949980, -0.240095951749109170, -0.240144488907028890, -0.240193025464586960, -0.240241561421662450, -0.240290096778134480, -0.240338631533880850, -0.240387165688780630, +-0.240435699242712490, -0.240484232195555540, -0.240532764547187580, -0.240581296297487700, -0.240629827446334600, -0.240678357993607340, -0.240726887939183760, -0.240775417282942970, +-0.240823946024763620, -0.240872474164524840, -0.240921001702104450, -0.240969528637381580, -0.241018054970234850, -0.241066580700543430, -0.241115105828185130, -0.241163630353039060, +-0.241212154274984350, -0.241260677593898830, -0.241309200309661580, -0.241357722422151370, -0.241406243931247270, -0.241454764836827120, -0.241503285138770060, -0.241551804836954820, +-0.241600323931260460, -0.241648842421564870, -0.241697360307747190, -0.241745877589686080, -0.241794394267260740, -0.241842910340348970, -0.241891425808829910, -0.241939940672582290, +-0.241988454931485270, -0.242036968585416650, -0.242085481634255640, -0.242133994077880920, -0.242182505916171630, -0.242231017149005660, -0.242279527776262130, -0.242328037797820220, +-0.242376547213557810, -0.242425056023353990, -0.242473564227087550, -0.242522071824637640, -0.242570578815882090, -0.242619085200700140, -0.242667590978970420, -0.242716096150572190, +-0.242764600715383280, -0.242813104673282880, -0.242861608024149720, -0.242910110767862950, -0.242958612904300490, -0.243007114433341470, -0.243055615354864700, -0.243104115668749290, +-0.243152615374873180, -0.243201114473115540, -0.243249612963355540, -0.243298110845471070, -0.243346608119341310, -0.243395104784845050, -0.243443600841861450, -0.243492096290268410, +-0.243540591129945140, -0.243589085360770400, -0.243637578982623370, -0.243686071995381950, -0.243734564398925350, -0.243783056193132370, -0.243831547377882150, -0.243880037953052630, +-0.243928527918523040, -0.243977017274172120, -0.244025506019879070, -0.244073994155521830, -0.244122481680979640, -0.244170968596131630, -0.244219454900855780, -0.244267940595031320, +-0.244316425678536980, -0.244364910151252030, -0.244413394013054340, -0.244461877263823210, -0.244510359903437340, -0.244558841931776020, -0.244607323348717180, -0.244655804154140010, +-0.244704284347923350, -0.244752763929946380, -0.244801242900087090, -0.244849721258224710, -0.244898199004238010, -0.244946676138006250, -0.244995152659407360, -0.245043628568320570, +-0.245092103864625150, -0.245140578548199070, -0.245189052618921520, -0.245237526076671350, -0.245285998921327770, -0.245334471152768770, -0.245382942770873610, -0.245431413775521080, +-0.245479884166590450, -0.245528353943959690, -0.245576823107508030, -0.245625291657114300, -0.245673759592657800, -0.245722226914016460, -0.245770693621069540, -0.245819159713695920, +-0.245867625191774800, -0.245916090055184190, -0.245964554303803370, -0.246013017937511150, -0.246061480956186820, -0.246109943359708370, -0.246158405147955030, -0.246206866320806160, +-0.246255326878139640, -0.246303786819834840, -0.246352246145770560, -0.246400704855826070, -0.246449162949879420, -0.246497620427809840, -0.246546077289496230, -0.246594533534817860, +-0.246642989163652710, -0.246691444175880100, -0.246739898571378870, -0.246788352350028330, -0.246836805511706480, -0.246885258056292610, -0.246933709983665590, -0.246982161293704730, +-0.247030611986288030, -0.247079062061294820, -0.247127511518604380, -0.247175960358094720, -0.247224408579645170, -0.247272856183134580, -0.247321303168442310, -0.247369749535446330, +-0.247418195284025980, -0.247466640414060140, -0.247515084925428120, -0.247563528818007970, -0.247611972091679010, -0.247660414746320110, -0.247708856781810590, -0.247757298198028520, +-0.247805738994853200, -0.247854179172163510, -0.247902618729838820, -0.247951057667757160, -0.247999495985797850, -0.248047933683840230, -0.248096370761762360, -0.248144807219443540, +-0.248193243056762710, -0.248241678273599190, -0.248290112869831050, -0.248338546845337650, -0.248386980199997860, -0.248435412933691060, -0.248483845046295310, -0.248532276537689920, +-0.248580707407753840, -0.248629137656366430, -0.248677567283405760, -0.248725996288751170, -0.248774424672281590, -0.248822852433876360, -0.248871279573413570, -0.248919706090772600, +-0.248968131985832340, -0.249016557258472190, -0.249064981908570240, -0.249113405936005810, -0.249161829340658310, -0.249210252122405800, -0.249258674281127630, -0.249307095816702820, +-0.249355516729010680, -0.249403937017929320, -0.249452356683338120, -0.249500775725116030, -0.249549194143142420, -0.249597611937295400, -0.249646029107454370, -0.249694445653498240, +-0.249742861575306450, -0.249791276872757070, -0.249839691545729490, -0.249888105594102680, -0.249936519017756040, -0.249984931816567670, -0.250033343990416990, -0.250081755539183330, +-0.250130166462744890, -0.250178576760981040, -0.250226986433770730, -0.250275395480993370, -0.250323803902527120, -0.250372211698251360, -0.250420618868045060, -0.250469025411787620, +-0.250517431329357220, -0.250565836620633250, -0.250614241285494640, -0.250662645323820930, -0.250711048735490110, -0.250759451520381700, -0.250807853678374660, -0.250856255209348400, +-0.250904656113181080, -0.250953056389752130, -0.251001456038940970, -0.251049855060625720, -0.251098253454685840, -0.251146651221000330, -0.251195048359448670, -0.251243444869908910, +-0.251291840752260520, -0.251340236006382560, -0.251388630632154440, -0.251437024629454280, -0.251485417998161600, -0.251533810738155340, -0.251582202849314980, -0.251630594331518740, +-0.251678985184645930, -0.251727375408575700, -0.251775765003187490, -0.251824153968359440, -0.251872542303970940, -0.251920930009901120, -0.251969317086029430, -0.252017703532234020, +-0.252066089348394310, -0.252114474534389790, -0.252162859090098720, -0.252211243015400430, -0.252259626310174120, -0.252308008974299110, -0.252356391007653670, -0.252404772410117220, +-0.252453153181568910, -0.252501533321888070, -0.252549912830953020, -0.252598291708643170, -0.252646669954837590, -0.252695047569415740, -0.252743424552255900, -0.252791800903237440, +-0.252840176622239510, -0.252888551709141540, -0.252936926163821800, -0.252985299986159710, -0.253033673176034810, -0.253082045733325320, -0.253130417657910720, -0.253178788949670050, +-0.253227159608482850, -0.253275529634227280, -0.253323899026782930, -0.253372267786028840, -0.253420635911844490, -0.253469003404108110, -0.253517370262699220, -0.253565736487496920, +-0.253614102078380750, -0.253662467035228820, -0.253710831357920770, -0.253759195046335650, -0.253807558100352940, -0.253855920519850900, -0.253904282304709070, -0.253952643454806950, +-0.254001003970022840, -0.254049363850236190, -0.254097723095326130, -0.254146081705172170, -0.254194439679652610, -0.254242797018646940, -0.254291153722034310, -0.254339509789694160, +-0.254387865221504860, -0.254436220017345840, -0.254484574177096360, -0.254532927700635790, -0.254581280587842520, -0.254629632838596020, -0.254677984452775450, -0.254726335430260350, +-0.254774685770928990, -0.254823035474660900, -0.254871384541335620, -0.254919732970831480, -0.254968080763028020, -0.255016427917804380, -0.255064774435040050, -0.255113120314613360, +-0.255161465556403900, -0.255209810160290760, -0.255258154126153550, -0.255306497453870460, -0.255354840143321220, -0.255403182194384790, -0.255451523606940900, -0.255499864380867750, +-0.255548204516044930, -0.255596544012351600, -0.255644882869667300, -0.255693221087870400, -0.255741558666840450, -0.255789895606456650, -0.255838231906598490, -0.255886567567144290, +-0.255934902587973740, -0.255983236968966300, -0.256031570710000380, -0.256079903810955520, -0.256128236271710890, -0.256176568092146120, -0.256224899272139480, -0.256273229811570640, +-0.256321559710318670, -0.256369888968263240, -0.256418217585282720, -0.256466545561256590, -0.256514872896064120, -0.256563199589584840, -0.256611525641697200, -0.256659851052280730, +-0.256708175821214630, -0.256756499948378510, -0.256804823433650740, -0.256853146276910860, -0.256901468478038570, -0.256949790036912210, -0.256998110953411350, -0.257046431227415220, +-0.257094750858803400, -0.257143069847454330, -0.257191388193247550, -0.257239705896062320, -0.257288022955778240, -0.257336339372273680, -0.257384655145428300, -0.257432970275121240, +-0.257481284761232170, -0.257529598603639500, -0.257577911802222840, -0.257626224356861390, -0.257674536267434750, -0.257722847533821410, -0.257771158155900960, -0.257819468133553000, +-0.257867777466655960, -0.257916086155089490, -0.257964394198732740, -0.258012701597465480, -0.258061008351166080, -0.258109314459714080, -0.258157619922988860, -0.258205924740869950, +-0.258254228913235850, -0.258302532439966200, -0.258350835320940160, -0.258399137556037490, -0.258447439145136570, -0.258495740088116990, -0.258544040384858120, -0.258592340035239570, +-0.258640639039139700, -0.258688937396438280, -0.258737235107014460, -0.258785532170748010, -0.258833828587517360, -0.258882124357202040, -0.258930419479681870, -0.258978713954835240, +-0.259027007782541840, -0.259075300962680890, -0.259123593495132140, -0.259171885379773980, -0.259220176616486110, -0.259268467205147730, -0.259316757145638680, -0.259365046437837310, +-0.259413335081623290, -0.259461623076875980, -0.259509910423474990, -0.259558197121298790, -0.259606483170227160, -0.259654768570139250, -0.259703053320914920, -0.259751337422432450, +-0.259799620874571700, -0.259847903677212280, -0.259896185830232720, -0.259944467333512670, -0.259992748186931470, -0.260041028390368800, -0.260089307943703110, -0.260137586846814210, +-0.260185865099581300, -0.260234142701884160, -0.260282419653601270, -0.260330695954612280, -0.260378971604796560, -0.260427246604033880, -0.260475520952202610, -0.260523794649182570, +-0.260572067694853030, -0.260620340089093790, -0.260668611831783190, -0.260716882922801150, -0.260765153362027270, -0.260813423149340080, -0.260861692284619360, -0.260909960767744360, +-0.260958228598594970, -0.261006495777049490, -0.261054762302987850, -0.261103028176289220, -0.261151293396833520, -0.261199557964499120, -0.261247821879165840, -0.261296085140713010, +-0.261344347749020380, -0.261392609703966490, -0.261440871005431060, -0.261489131653293410, -0.261537391647433390, -0.261585650987729460, -0.261633909674061420, -0.261682167706309030, +-0.261730425084350790, -0.261778681808066460, -0.261826937877335460, -0.261875193292037510, -0.261923448052051140, -0.261971702157256180, -0.262019955607532000, -0.262068208402758300, +-0.262116460542813680, -0.262164712027577910, -0.262212962856930350, -0.262261213030750780, -0.262309462548917790, -0.262357711411311150, -0.262405959617810210, -0.262454207168294820, +-0.262502454062643440, -0.262550700300735960, -0.262598945882451750, -0.262647190807670570, -0.262695435076271020, -0.262743678688132860, -0.262791921643135920, -0.262840163941158720, +-0.262888405582081150, -0.262936646565782580, -0.262984886892142780, -0.263033126561040390, -0.263081365572355120, -0.263129603925966520, -0.263177841621754280, -0.263226078659597020, +-0.263274315039374540, -0.263322550760966280, -0.263370785824252110, -0.263419020229110510, -0.263467253975421370, -0.263515487063064100, -0.263563719491918540, -0.263611951261863210, +-0.263660182372778050, -0.263708412824542830, -0.263756642617036190, -0.263804871750137950, -0.263853100223727490, -0.263901328037684730, -0.263949555191888230, -0.263997781686217790, +-0.264046007520552960, -0.264094232694773500, -0.264142457208758060, -0.264190681062386470, -0.264238904255538140, -0.264287126788093020, -0.264335348659929640, -0.264383569870927870, +-0.264431790420967210, -0.264480010309927520, -0.264528229537687340, -0.264576448104126560, -0.264624666009125150, -0.264672883252561610, -0.264721099834315850, -0.264769315754267380, +-0.264817531012295990, -0.264865745608280410, -0.264913959542100400, -0.264962172813635540, -0.265010385422765670, -0.265058597369369430, -0.265106808653326640, -0.265155019274516850, +-0.265203229232819970, -0.265251438528114560, -0.265299647160280590, -0.265347855129197450, -0.265396062434745120, -0.265444269076802240, -0.265492475055248640, -0.265540680369963870, +-0.265588885020827840, -0.265637089007719150, -0.265685292330517740, -0.265733494989103540, -0.265781696983355130, -0.265829898313152510, -0.265878098978375170, -0.265926298978902960, +-0.265974498314614620, -0.266022696985390050, -0.266070894991108700, -0.266119092331650540, -0.266167289006894240, -0.266215485016719710, -0.266263680361006450, -0.266311875039634440, +-0.266360069052482270, -0.266408262399430000, -0.266456455080357040, -0.266504647095143320, -0.266552838443667620, -0.266601029125809800, -0.266649219141449840, -0.266697408490466410, +-0.266745597172739430, -0.266793785188148500, -0.266841972536573550, -0.266890159217893160, -0.266938345231987450, -0.266986530578735840, -0.267034715258018310, -0.267082899269713630, +-0.267131082613701660, -0.267179265289861970, -0.267227447298074570, -0.267275628638218130, -0.267323809310172580, -0.267371989313817560, -0.267420168649032950, -0.267468347315697520, +-0.267516525313691190, -0.267564702642894000, -0.267612879303184610, -0.267661055294443060, -0.267709230616548830, -0.267757405269381970, -0.267805579252821170, -0.267853752566746370, +-0.267901925211037280, -0.267950097185573720, -0.267998268490234560, -0.268046439124899670, -0.268094609089448710, -0.268142778383761660, -0.268190947007717230, -0.268239114961195460, +-0.268287282244075890, -0.268335448856238500, -0.268383614797562060, -0.268431780067926620, -0.268479944667212140, -0.268528108595297410, -0.268576271852062400, -0.268624434437386650, +-0.268672596351150320, -0.268720757593232000, -0.268768918163511840, -0.268817078061869390, -0.268865237288184620, -0.268913395842336370, -0.268961553724204610, -0.269009710933668990, +-0.269057867470609500, -0.269106023334904910, -0.269154178526435250, -0.269202333045080180, -0.269250486890719680, -0.269298640063232560, -0.269346792562498830, -0.269394944388398060, +-0.269443095540810420, -0.269491246019614610, -0.269539395824690660, -0.269587544955918690, -0.269635693413177390, -0.269683841196346860, -0.269731988305306760, -0.269780134739937120, +-0.269828280500116650, -0.269876425585725550, -0.269924569996643330, -0.269972713732750170, -0.270020856793924740, -0.270068999180047230, -0.270117140890997140, -0.270165281926654680, +-0.270213422286898600, -0.270261561971608940, -0.270309700980665370, -0.270357839313948020, -0.270405976971335620, -0.270454113952708240, -0.270502250257946050, -0.270550385886927760, +-0.270598520839533560, -0.270646655115643010, -0.270694788715136300, -0.270742921637892150, -0.270791053883790710, -0.270839185452711630, -0.270887316344535000, -0.270935446559139700, +-0.270983576096405720, -0.271031704956212870, -0.271079833138441140, -0.271127960642969400, -0.271176087469677750, -0.271224213618445900, -0.271272339089153940, -0.271320463881680740, +-0.271368587995906350, -0.271416711431710920, -0.271464834188973270, -0.271512956267573550, -0.271561077667391400, -0.271609198388307050, -0.271657318430199250, -0.271705437792948150, +-0.271753556476433400, -0.271801674480535270, -0.271849791805132470, -0.271897908450105250, -0.271946024415333220, -0.271994139700696580, -0.272042254306074090, -0.272090368231346020, +-0.272138481476392080, -0.272186594041092300, -0.272234705925325620, -0.272282817128972180, -0.272330927651911690, -0.272379037494024310, -0.272427146655188910, -0.272475255135285640, +-0.272523362934194660, -0.272571470051794830, -0.272619576487966360, -0.272667682242588970, -0.272715787315542750, -0.272763891706706620, -0.272811995415960800, -0.272860098443184980, +-0.272908200788259340, -0.272956302451062780, -0.273004403431475470, -0.273052503729377120, -0.273100603344647970, -0.273148702277166870, -0.273196800526814050, -0.273244898093469190, +-0.273292994977012480, -0.273341091177322910, -0.273389186694280580, -0.273437281527765750, -0.273485375677657240, -0.273533469143835360, -0.273581561926179770, -0.273629654024570680, +-0.273677745438887070, -0.273725836169009030, -0.273773926214816440, -0.273822015576189460, -0.273870104253007010, -0.273918192245149350, -0.273966279552496140, -0.274014366174927690, +-0.274062452112322890, -0.274110537364561980, -0.274158621931524680, -0.274206705813091310, -0.274254789009140690, -0.274302871519553130, -0.274350953344208840, -0.274399034482986690, +-0.274447114935766960, -0.274495194702429500, -0.274543273782854420, -0.274591352176920770, -0.274639429884508680, -0.274687506905498090, -0.274735583239769100, -0.274783658887200740, +-0.274831733847673290, -0.274879808121066440, -0.274927881707260510, -0.274975954606134440, -0.275024026817568550, -0.275072098341442530, -0.275120169177636710, -0.275168239326030020, +-0.275216308786502720, -0.275264377558935120, -0.275312445643206120, -0.275360513039196010, -0.275408579746784620, -0.275456645765852210, -0.275504711096277780, -0.275552775737941570, +-0.275600839690723350, -0.275648902954503560, -0.275696965529161010, -0.275745027414576070, -0.275793088610628570, -0.275841149117198760, -0.275889208934165690, -0.275937268061409560, +-0.275985326498810250, -0.276033384246248070, -0.276081441303602020, -0.276129497670752340, -0.276177553347578930, -0.276225608333962040, -0.276273662629780700, -0.276321716234915250, +-0.276369769149245880, -0.276417821372651700, -0.276465872905012950, -0.276513923746209530, -0.276561973896121750, -0.276610023354628590, -0.276658072121610370, -0.276706120196946960, +-0.276754167580518680, -0.276802214272204530, -0.276850260271884860, -0.276898305579439560, -0.276946350194748890, -0.276994394117691940, -0.277042437348149040, -0.277090479886000000, +-0.277138521731125190, -0.277186562883403650, -0.277234603342715710, -0.277282643108941680, -0.277330682181960660, -0.277378720561652860, -0.277426758247898310, -0.277474795240577280, +-0.277522831539568860, -0.277570867144753320, -0.277618902056010640, -0.277666936273221090, -0.277714969796263810, -0.277763002625019070, -0.277811034759366860, -0.277859066199187490, +-0.277907096944360050, -0.277955126994764820, -0.278003156350281780, -0.278051185010791290, -0.278099212976172410, -0.278147240246305490, -0.278195266821070930, -0.278243292700347700, +-0.278291317884016290, -0.278339342371956620, -0.278387366164048970, -0.278435389260172470, -0.278483411660207510, -0.278531433364034020, -0.278579454371532420, -0.278627474682581700, +-0.278675494297062290, -0.278723513214854170, -0.278771531435837720, -0.278819548959891970, -0.278867565786897360, -0.278915581916733820, -0.278963597349281780, -0.279011612084420320, +-0.279059626122029840, -0.279107639461990240, -0.279155652104182030, -0.279203664048484230, -0.279251675294777290, -0.279299685842941570, -0.279347695692856220, -0.279395704844401630, +-0.279443713297457760, -0.279491721051905060, -0.279539728107622620, -0.279587734464490810, -0.279635740122389730, -0.279683745081199700, -0.279731749340799920, -0.279779752901070710, +-0.279827755761892170, -0.279875757923144620, -0.279923759384707260, -0.279971760146460520, -0.280019760208284400, -0.280067759570059250, -0.280115758231664290, -0.280163756192979950, +-0.280211753453886660, -0.280259750014263510, -0.280307745873991040, -0.280355741032949190, -0.280403735491018380, -0.280451729248077870, -0.280499722304007990, -0.280547714658688830, +-0.280595706312000760, -0.280643697263823040, -0.280691687514036060, -0.280739677062519900, -0.280787665909154940, -0.280835654053820380, -0.280883641496396660, -0.280931628236763880, +-0.280979614274802450, -0.281027599610391590, -0.281075584243411670, -0.281123568173743290, -0.281171551401265480, -0.281219533925858860, -0.281267515747403330, -0.281315496865779500, +-0.281363477280866470, -0.281411456992544770, -0.281459436000694450, -0.281507414305195940, -0.281555391905928430, -0.281603368802772480, -0.281651344995608120, -0.281699320484315780, +-0.281747295268774730, -0.281795269348865450, -0.281843242724468030, -0.281891215395462860, -0.281939187361729290, -0.281987158623147720, -0.282035129179598660, -0.282083099030961400, +-0.282131068177116360, -0.282179036617943630, -0.282227004353323820, -0.282274971383136010, -0.282322937707260750, -0.282370903325578180, -0.282418868237968750, -0.282466832444311760, +-0.282514795944487700, -0.282562758738376610, -0.282610720825859030, -0.282658682206814280, -0.282706642881122790, -0.282754602848664720, -0.282802562109320530, -0.282850520662969510, +-0.282898478509492230, -0.282946435648768760, -0.282994392080679560, -0.283042347805104010, -0.283090302821922550, -0.283138257131015810, -0.283186210732262970, -0.283234163625544600, +-0.283282115810740810, -0.283330067287732190, -0.283378018056397950, -0.283425968116618690, -0.283473917468274490, -0.283521866111245970, -0.283569814045412320, -0.283617761270654080, +-0.283665707786851520, -0.283713653593885060, -0.283761598691634090, -0.283809543079979080, -0.283857486758800240, -0.283905429727978110, -0.283953371987391960, -0.284001313536922370, +-0.284049254376449960, -0.284097194505853970, -0.284145133925015000, -0.284193072633813220, -0.284241010632129140, -0.284288947919842110, -0.284336884496832750, -0.284384820362981130, +-0.284432755518167930, -0.284480689962272380, -0.284528623695175120, -0.284576556716756300, -0.284624489026896520, -0.284672420625475100, -0.284720351512372570, -0.284768281687469200, +-0.284816211150645590, -0.284864139901781000, -0.284912067940756020, -0.284959995267451360, -0.285007921881746230, -0.285055847783521330, -0.285103772972656820, -0.285151697449033290, +-0.285199621212530060, -0.285247544263027790, -0.285295466600406720, -0.285343388224547360, -0.285391309135329060, -0.285439229332632550, -0.285487148816337970, -0.285535067586325910, +-0.285582985642475750, -0.285630902984668140, -0.285678819612783300, -0.285726735526701800, -0.285774650726303090, -0.285822565211467710, -0.285870478982075900, -0.285918392038008340, +-0.285966304379144390, -0.286014216005364640, -0.286062126916549810, -0.286110037112579210, -0.286157946593333550, -0.286205855358693030, -0.286253763408538250, -0.286301670742748650, +-0.286349577361204920, -0.286397483263787170, -0.286445388450376200, -0.286493292920851290, -0.286541196675093200, -0.286589099712982080, -0.286637002034398620, -0.286684903639222280, +-0.286732804527333630, -0.286780704698613000, -0.286828604152941040, -0.286876502890197120, -0.286924400910261950, -0.286972298213016230, -0.287020194798339350, -0.287068090666111940, +-0.287115985816214280, -0.287163880248527130, -0.287211773962929850, -0.287259666959303110, -0.287307559237527210, -0.287355450797482870, -0.287403341639049460, -0.287451231762107680, +-0.287499121166537810, -0.287547009852220590, -0.287594897819035410, -0.287642785066862970, -0.287690671595583590, -0.287738557405077980, -0.287786442495225500, -0.287834326865906930, +-0.287882210517002970, -0.287930093448393100, -0.287977975659957920, -0.288025857151577860, -0.288073737923133570, -0.288121617974504530, -0.288169497305571400, -0.288217375916214550, +-0.288265253806314680, -0.288313130975751230, -0.288361007424404960, -0.288408883152156240, -0.288456758158885660, -0.288504632444472770, -0.288552506008798340, -0.288600378851742610, +-0.288648250973186360, -0.288696122373009070, -0.288743993051091440, -0.288791863007314300, -0.288839732241557070, -0.288887600753700460, -0.288935468543624900, -0.288983335611211090, +-0.289031201956338520, -0.289079067578887900, -0.289126932478739660, -0.289174796655774500, -0.289222660109871910, -0.289270522840912700, -0.289318384848777140, -0.289366246133346050, +-0.289414106694498960, -0.289461966532116590, -0.289509825646079240, -0.289557684036267860, -0.289605541702561750, -0.289653398644841850, -0.289701254862988420, -0.289749110356882280, +-0.289796965126402960, -0.289844819171431180, -0.289892672491847800, -0.289940525087532370, -0.289988376958365550, -0.290036228104227860, -0.290084078524999960, -0.290131928220561440, +-0.290179777190793130, -0.290227625435575400, -0.290275472954789000, -0.290323319748313490, -0.290371165816029670, -0.290419011157817930, -0.290466855773559130, -0.290514699663132760, +-0.290562542826419580, -0.290610385263300130, -0.290658226973655060, -0.290706067957364030, -0.290753908214307850, -0.290801747744367340, -0.290849586547421990, -0.290897424623352660, +-0.290945261972039850, -0.290993098593364250, -0.291040934487205470, -0.291088769653444380, -0.291136604091961350, -0.291184437802637250, -0.291232270785351630, -0.291280103039985310, +-0.291327934566418760, -0.291375765364532800, -0.291423595434206980, -0.291471424775322170, -0.291519253387758800, -0.291567081271397740, -0.291614908426118590, -0.291662734851802110, +-0.291710560548329220, -0.291758385515579530, -0.291806209753433850, -0.291854033261772670, -0.291901856040476800, -0.291949678089425900, -0.291997499408500780, -0.292045319997581930, +-0.292093139856550170, -0.292140958985285190, -0.292188777383667770, -0.292236595051578400, -0.292284411988897990, -0.292332228195506140, -0.292380043671283670, -0.292427858416111130, +-0.292475672429869380, -0.292523485712438020, -0.292571298263697930, -0.292619110083529590, -0.292666921171813920, -0.292714731528430470, -0.292762541153260280, -0.292810350046184110, +-0.292858158207081610, -0.292905965635833760, -0.292953772332321010, -0.293001578296424200, -0.293049383528023070, -0.293097188026998470, -0.293144991793230840, -0.293192794826601210, +-0.293240597126989190, -0.293288398694275640, -0.293336199528341110, -0.293383999629066470, -0.293431798996331480, -0.293479597630016910, -0.293527395530003400, -0.293575192696171830, +-0.293622989128401790, -0.293670784826574330, -0.293718579790570370, -0.293766374020269450, -0.293814167515552670, -0.293861960276300400, -0.293909752302393690, -0.293957543593712180, +-0.294005334150136800, -0.294053123971548090, -0.294100913057827040, -0.294148701408853240, -0.294196489024507680, -0.294244275904670890, -0.294292062049223870, -0.294339847458046260, +-0.294387632131018980, -0.294435416068022650, -0.294483199268938230, -0.294530981733645390, -0.294578763462025050, -0.294626544453958250, -0.294674324709324700, -0.294722104228005320, +-0.294769883009880660, -0.294817661054831700, -0.294865438362738210, -0.294913214933481100, -0.294960990766940930, -0.295008765862998730, -0.295056540221534210, -0.295104313842428300, +-0.295152086725561650, -0.295199858870815180, -0.295247630278068660, -0.295295400947203020, -0.295343170878098920, -0.295390940070637320, -0.295438708524697890, -0.295486476240161780, +-0.295534243216909850, -0.295582009454821880, -0.295629774953778900, -0.295677539713661450, -0.295725303734350630, -0.295773067015726090, -0.295820829557668920, -0.295868591360059610, +-0.295916352422779310, -0.295964112745707660, -0.296011872328725780, -0.296059631171714190, -0.296107389274553930, -0.296155146637124780, -0.296202903259307760, -0.296250659140983530, +-0.296298414282033020, -0.296346168682336040, -0.296393922341773700, -0.296441675260226520, -0.296489427437575560, -0.296537178873700620, -0.296584929568482760, -0.296632679521803000, +-0.296680428733541060, -0.296728177203578080, -0.296775924931794670, -0.296823671918071850, -0.296871418162289460, -0.296919163664328520, -0.296966908424069640, -0.297014652441393910, +-0.297062395716181150, -0.297110138248312390, -0.297157880037668300, -0.297205621084129960, -0.297253361387577080, -0.297301100947890810, -0.297348839764951800, -0.297396577838641150, +-0.297444315168838570, -0.297492051755425260, -0.297539787598282200, -0.297587522697289280, -0.297635257052327520, -0.297682990663277640, -0.297730723530020670, -0.297778455652436550, +-0.297826187030406200, -0.297873917663810440, -0.297921647552530310, -0.297969376696445580, -0.298017105095437440, -0.298064832749386550, -0.298112559658174010, -0.298160285821679640, +-0.298208011239784580, -0.298255735912369420, -0.298303459839315390, -0.298351183020502290, -0.298398905455811210, -0.298446627145123320, -0.298494348088318430, -0.298542068285277680, +-0.298589787735881740, -0.298637506440011750, -0.298685224397547580, -0.298732941608370330, -0.298780658072360760, -0.298828373789399910, -0.298876088759367780, -0.298923802982145380, +-0.298971516457613500, -0.299019229185653210, -0.299066941166144460, -0.299114652398968340, -0.299162362884005610, -0.299210072621137410, -0.299257781610243580, -0.299305489851205250, +-0.299353197343903250, -0.299400904088218680, -0.299448610084031450, -0.299496315331222620, -0.299544019829673490, -0.299591723579263890, -0.299639426579874910, -0.299687128831387430, +-0.299734830333682530, -0.299782531086640160, -0.299830231090141400, -0.299877930344067120, -0.299925628848298430, -0.299973326602715200, -0.300021023607198680, -0.300068719861629580, +-0.300116415365889180, -0.300164110119857220, -0.300211804123415080, -0.300259497376443360, -0.300307189878823320, -0.300354881630434940, -0.300402572631159330, -0.300450262880877670, +-0.300497952379469970, -0.300545641126817360, -0.300593329122800680, -0.300641016367301120, -0.300688702860198550, -0.300736388601374250, -0.300784073590708970, -0.300831757828083910, +-0.300879441313379010, -0.300927124046475590, -0.300974806027254290, -0.301022487255596440, -0.301070167731381900, -0.301117847454491990, -0.301165526424807430, -0.301213204642209520, +-0.301260882106578140, -0.301308558817794560, -0.301356234775740030, -0.301403909980294430, -0.301451584431339130, -0.301499258128754830, -0.301546931072422810, -0.301594603262223040, +-0.301642274698036730, -0.301689945379744750, -0.301737615307228370, -0.301785284480367510, -0.301832952899043440, -0.301880620563136970, -0.301928287472529370, -0.301975953627100670, +-0.302023619026732030, -0.302071283671304370, -0.302118947560698900, -0.302166610694795670, -0.302214273073475930, -0.302261934696620880, -0.302309595564110630, -0.302357255675826330, +-0.302404915031648960, -0.302452573631459660, -0.302500231475138550, -0.302547888562566810, -0.302595544893625390, -0.302643200468195480, -0.302690855286157190, -0.302738509347391770, +-0.302786162651780040, -0.302833815199203380, -0.302881466989541710, -0.302929118022676410, -0.302976768298488300, -0.303024417816858680, -0.303072066577667610, -0.303119714580796340, +-0.303167361826125860, -0.303215008313537320, -0.303262654042910860, -0.303310299014127760, -0.303357943227069380, -0.303405586681615660, -0.303453229377648010, -0.303500871315047270, +-0.303548512493694740, -0.303596152913470580, -0.303643792574256000, -0.303691431475931920, -0.303739069618379710, -0.303786707001479420, -0.303834343625112360, -0.303881979489159400, +-0.303929614593501930, -0.303977248938020030, -0.304024882522594960, -0.304072515347107720, -0.304120147411439610, -0.304167778715470680, -0.304215409259082360, -0.304263039042155900, +-0.304310668064571410, -0.304358296326210250, -0.304405923826953360, -0.304453550566682110, -0.304501176545276530, -0.304548801762618000, -0.304596426218587510, -0.304644049913066370, +-0.304691672845934620, -0.304739295017073750, -0.304786916426364630, -0.304834537073688630, -0.304882156958925900, -0.304929776081957700, -0.304977394442665140, -0.305025012040929470, +-0.305072628876630890, -0.305120244949650680, -0.305167860259870300, -0.305215474807169870, -0.305263088591430750, -0.305310701612533930, -0.305358313870360720, -0.305405925364791330, +-0.305453536095707130, -0.305501146062989120, -0.305548755266518590, -0.305596363706175820, -0.305643971381842130, -0.305691578293398490, -0.305739184440726340, -0.305786789823705770, +-0.305834394442218270, -0.305881998296144760, -0.305929601385366680, -0.305977203709764220, -0.306024805269218710, -0.306072406063611190, -0.306120006092823080, -0.306167605356734480, +-0.306215203855226940, -0.306262801588181810, -0.306310398555479200, -0.306357994757000650, -0.306405590192627090, -0.306453184862239990, -0.306500778765719460, -0.306548371902947040, +-0.306595964273803650, -0.306643555878170770, -0.306691146715928620, -0.306738736786958570, -0.306786326091141700, -0.306833914628359410, -0.306881502398491930, -0.306929089401420720, +-0.306976675637026740, -0.307024261105191540, -0.307071845805795220, -0.307119429738719310, -0.307167012903845240, -0.307214595301053220, -0.307262176930224670, -0.307309757791240760, +-0.307357337883982780, -0.307404917208331130, -0.307452495764167110, -0.307500073551371880, -0.307547650569826910, -0.307595226819412370, -0.307642802300009790, -0.307690377011500150, +-0.307737950953765050, -0.307785524126684580, -0.307833096530140350, -0.307880668164013380, -0.307928239028185170, -0.307975809122535920, -0.308023378446947160, -0.308070947001300330, +-0.308118514785475750, -0.308166081799354900, -0.308213648042818810, -0.308261213515749030, -0.308308778218025830, -0.308356342149530670, -0.308403905310144610, -0.308451467699749240, +-0.308499029318224820, -0.308546590165452770, -0.308594150241314260, -0.308641709545690810, -0.308689268078462640, -0.308736825839511290, -0.308784382828717900, -0.308831939045964010, +-0.308879494491129780, -0.308927049164096860, -0.308974603064746280, -0.309022156192959640, -0.309069708548617210, -0.309117260131600460, -0.309164810941791050, -0.309212360979069120, +-0.309259910243316340, -0.309307458734413730, -0.309355006452242950, -0.309402553396684210, -0.309450099567619100, -0.309497644964928710, -0.309545189588494640, -0.309592733438197150, +-0.309640276513917900, -0.309687818815537920, -0.309735360342938800, -0.309782901096000870, -0.309830441074605670, -0.309877980278634390, -0.309925518707968580, -0.309973056362488510, +-0.310020593242075870, -0.310068129346612100, -0.310115664675977620, -0.310163199230053980, -0.310210733008722370, -0.310258266011864290, -0.310305798239360160, -0.310353329691091530, +-0.310400860366939590, -0.310448390266785890, -0.310495919390510800, -0.310543447737995910, -0.310590975309122440, -0.310638502103771920, -0.310686028121824720, -0.310733553363162440, +-0.310781077827666290, -0.310828601515217850, -0.310876124425697510, -0.310923646558986850, -0.310971167914967540, -0.311018688493519820, -0.311066208294525410, -0.311113727317865460, +-0.311161245563421670, -0.311208763031074250, -0.311256279720705020, -0.311303795632195010, -0.311351310765425990, -0.311398825120278280, -0.311446338696633460, -0.311493851494372810, +-0.311541363513377970, -0.311588874753529250, -0.311636385214708380, -0.311683894896796540, -0.311731403799675400, -0.311778911923225320, -0.311826419267327960, -0.311873925831864960, +-0.311921431616716760, -0.311968936621764950, -0.312016440846890840, -0.312063944291975980, -0.312111446956900910, -0.312158948841547160, -0.312206449945796050, -0.312253950269529290, +-0.312301449812627200, -0.312348948574971470, -0.312396446556443390, -0.312443943756924580, -0.312491440176295490, -0.312538935814437870, -0.312586430671232820, -0.312633924746562150, +-0.312681418040306300, -0.312728910552346860, -0.312776402282565150, -0.312823893230842810, -0.312871383397060390, -0.312918872781099480, -0.312966361382841780, -0.313013849202167790, +-0.313061336238959150, -0.313108822493097240, -0.313156307964463640, -0.313203792652938850, -0.313251276558404570, -0.313298759680742110, -0.313346242019833190, -0.313393723575558230, +-0.313441204347798930, -0.313488684336436670, -0.313536163541353050, -0.313583641962428660, -0.313631119599545150, -0.313678596452583890, -0.313726072521426480, -0.313773547805953510, +-0.313821022306046690, -0.313868496021587670, -0.313915968952457050, -0.313963441098536470, -0.314010912459707300, -0.314058383035851260, -0.314105852826848890, -0.314153321832581820, +-0.314200790052931500, -0.314248257487779630, -0.314295724137006630, -0.314343190000494380, -0.314390655078124140, -0.314438119369777670, -0.314485582875335510, -0.314533045594679370, +-0.314580507527690620, -0.314627968674251020, -0.314675429034241060, -0.314722888607542550, -0.314770347394037200, -0.314817805393605600, -0.314865262606129510, -0.314912719031490210, +-0.314960174669569600, -0.315007629520248080, -0.315055083583407500, -0.315102536858929190, -0.315149989346694970, -0.315197441046585370, -0.315244891958482150, -0.315292342082266750, +-0.315339791417820870, -0.315387239965025100, -0.315434687723761210, -0.315482134693910620, -0.315529580875355150, -0.315577026267975240, -0.315624470871652800, -0.315671914686269210, +-0.315719357711706230, -0.315766799947844400, -0.315814241394565600, -0.315861682051751640, -0.315909121919283000, -0.315956560997041610, -0.316003999284908800, -0.316051436782766370, +-0.316098873490494980, -0.316146309407976390, -0.316193744535092030, -0.316241178871723700, -0.316288612417752020, -0.316336045173058860, -0.316383477137525520, -0.316430908311033930, +-0.316478338693464640, -0.316525768284699530, -0.316573197084620010, -0.316620625093107900, -0.316668052310043750, -0.316715478735309530, -0.316762904368787010, -0.316810329210356840, +-0.316857753259900840, -0.316905176517300440, -0.316952598982437550, -0.317000020655192670, -0.317047441535447780, -0.317094861623084310, -0.317142280917984080, -0.317189699420027730, +-0.317237117129097130, -0.317284534045073780, -0.317331950167839490, -0.317379365497274860, -0.317426780033261860, -0.317474193775681920, -0.317521606724416870, -0.317569018879347410, +-0.317616430240355410, -0.317663840807322740, -0.317711250580130060, -0.317758659558659280, -0.317806067742791800, -0.317853475132409580, -0.317900881727393280, -0.317948287527624770, +-0.317995692532985540, -0.318043096743357460, -0.318090500158621280, -0.318137902778658780, -0.318185304603351590, -0.318232705632581550, -0.318280105866229290, -0.318327505304176750, +-0.318374903946305520, -0.318422301792497360, -0.318469698842633100, -0.318517095096594590, -0.318564490554263720, -0.318611885215521250, -0.318659279080249050, -0.318706672148328600, +-0.318754064419641940, -0.318801455894069720, -0.318848846571493820, -0.318896236451795820, -0.318943625534857610, -0.318991013820560000, -0.319038401308784800, -0.319085787999413560, +-0.319133173892328310, -0.319180558987409770, -0.319227943284539740, -0.319275326783599880, -0.319322709484472110, -0.319370091387037200, -0.319417472491177020, -0.319464852796773170, +-0.319512232303707620, -0.319559611011861030, -0.319606988921115440, -0.319654366031352780, -0.319701742342453800, -0.319749117854300490, -0.319796492566774340, -0.319843866479757380, +-0.319891239593130370, -0.319938611906775250, -0.319985983420573550, -0.320033354134407370, -0.320080724048157410, -0.320128093161705600, -0.320175461474933530, -0.320222828987723250, +-0.320270195699955460, -0.320317561611512200, -0.320364926722275070, -0.320412291032125980, -0.320459654540945770, -0.320507017248616470, -0.320554379155020000, -0.320601740260037130, +-0.320649100563549950, -0.320696460065440000, -0.320743818765589380, -0.320791176663878740, -0.320838533760190170, -0.320885890054405270, -0.320933245546406010, -0.320980600236073280, +-0.321027954123289050, -0.321075307207934920, -0.321122659489892940, -0.321170010969043910, -0.321217361645269820, -0.321264711518452320, -0.321312060588473500, -0.321359408855214080, +-0.321406756318556140, -0.321454102978381730, -0.321501448834571660, -0.321548793887007970, -0.321596138135572310, -0.321643481580146660, -0.321690824220611960, -0.321738166056850130, +-0.321785507088742930, -0.321832847316172340, -0.321880186739019300, -0.321927525357165730, -0.321974863170493340, -0.322022200178884220, -0.322069536382219190, -0.322116871780380290, +-0.322164206373249270, -0.322211540160708130, -0.322258873142637680, -0.322306205318920070, -0.322353536689436950, -0.322400867254070410, -0.322448197012701330, -0.322495525965211690, +-0.322542854111483700, -0.322590181451398120, -0.322637507984837090, -0.322684833711682330, -0.322732158631815870, -0.322779482745118580, -0.322826806051472630, -0.322874128550759590, +-0.322921450242861730, -0.322968771127659760, -0.323016091205035880, -0.323063410474871800, -0.323110728937049620, -0.323158046591450140, -0.323205363437955580, -0.323252679476447650, +-0.323299994706808370, -0.323347309128918740, -0.323394622742660790, -0.323441935547916730, -0.323489247544567430, -0.323536558732494980, -0.323583869111581160, -0.323631178681708040, +-0.323678487442756620, -0.323725795394608940, -0.323773102537146750, -0.323820408870252260, -0.323867714393806350, -0.323915019107691100, -0.323962323011788340, -0.324009626105980160, +-0.324056928390147550, -0.324104229864172530, -0.324151530527936990, -0.324198830381323080, -0.324246129424211600, -0.324293427656484830, -0.324340725078024920, -0.324388021688712780, +-0.324435317488430570, -0.324482612477060120, -0.324529906654483500, -0.324577200020581710, -0.324624492575236900, -0.324671784318330880, -0.324719075249745800, -0.324766365369362650, +-0.324813654677063520, -0.324860943172730340, -0.324908230856245150, -0.324955517727488990, -0.325002803786344050, -0.325050089032692110, -0.325097373466415320, -0.325144657087394710, +-0.325191939895512430, -0.325239221890650740, -0.325286503072690580, -0.325333783441514200, -0.325381062997003310, -0.325428341739040170, -0.325475619667505770, -0.325522896782282360, +-0.325570173083251650, -0.325617448570295950, -0.325664723243296260, -0.325711997102134660, -0.325759270146693150, -0.325806542376853860, -0.325853813792497780, -0.325901084393507180, +-0.325948354179763870, -0.325995623151150100, -0.326042891307546820, -0.326090158648836340, -0.326137425174900460, -0.326184690885621460, -0.326231955780880270, -0.326279219860559240, +-0.326326483124540550, -0.326373745572705210, -0.326421007204935550, -0.326468268021113340, -0.326515528021120880, -0.326562787204839220, -0.326610045572150560, -0.326657303122936780, +-0.326704559857080190, -0.326751815774461770, -0.326799070874963790, -0.326846325158468120, -0.326893578624857130, -0.326940831274011690, -0.326988083105814230, -0.327035334120146510, +-0.327082584316890910, -0.327129833695928460, -0.327177082257141370, -0.327224330000412010, -0.327271576925621420, -0.327318823032651920, -0.327366068321385320, -0.327413312791703940, +-0.327460556443488930, -0.327507799276622490, -0.327555041290986500, -0.327602282486463390, -0.327649522862934140, -0.327696762420281120, -0.327744001158386140, -0.327791239077131590, +-0.327838476176398550, -0.327885712456069290, -0.327932947916025730, -0.327980182556150250, -0.328027416376323930, -0.328074649376429000, -0.328121881556347920, -0.328169112915961680, +-0.328216343455152660, -0.328263573173802840, -0.328310802071794420, -0.328358030149008610, -0.328405257405327780, -0.328452483840633750, -0.328499709454808940, -0.328546934247734400, +-0.328594158219292550, -0.328641381369365330, -0.328688603697835090, -0.328735825204582890, -0.328783045889491090, -0.328830265752441730, -0.328877484793317130, -0.328924703011998330, +-0.328971920408367870, -0.329019136982307560, -0.329066352733699830, -0.329113567662425780, -0.329160781768367830, -0.329207995051408350, -0.329255207511428450, -0.329302419148310540, +-0.329349629961936560, -0.329396839952188940, -0.329444049118948810, -0.329491257462098560, -0.329538464981520170, -0.329585671677096010, -0.329632877548707240, -0.329680082596236320, +-0.329727286819565200, -0.329774490218576240, -0.329821692793150660, -0.329868894543170870, -0.329916095468518800, -0.329963295569076940, -0.330010494844726390, -0.330057693295349620, +-0.330104890920829060, -0.330152087721045820, -0.330199283695882360, -0.330246478845220740, -0.330293673168943260, -0.330340866666931240, -0.330388059339067060, -0.330435251185232700, +-0.330482442205310640, -0.330529632399182040, -0.330576821766729370, -0.330624010307834670, -0.330671198022380320, -0.330718384910247630, -0.330765570971318920, -0.330812756205476290, +-0.330859940612602150, -0.330907124192577780, -0.330954306945285600, -0.331001488870608100, -0.331048669968426410, -0.331095850238623090, -0.331143029681080110, -0.331190208295679970, +-0.331237386082303910, -0.331284563040834420, -0.331331739171153440, -0.331378914473143600, -0.331426088946686010, -0.331473262591663210, -0.331520435407957280, -0.331567607395450660, +-0.331614778554024600, -0.331661948883561600, -0.331709118383943740, -0.331756287055053500, -0.331803454896772100, -0.331850621908982070, -0.331897788091565890, -0.331944953444404890, +-0.331992117967381430, -0.332039281660377720, -0.332086444523276180, -0.332133606555958140, -0.332180767758306070, -0.332227928130202130, -0.332275087671528750, -0.332322246382167230, +-0.332369404262000070, -0.332416561310909460, -0.332463717528777850, -0.332510872915486480, -0.332558027470917950, -0.332605181194954360, -0.332652334087478240, -0.332699486148370860, +-0.332746637377514750, -0.332793787774792070, -0.332840937340085350, -0.332888086073275860, -0.332935233974246130, -0.332982381042878750, -0.333029527279054990, -0.333076672682657450, +-0.333123817253568210, -0.333170960991669820, -0.333218103896843640, -0.333265245968972170, -0.333312387207937600, -0.333359527613622470, -0.333406667185908110, -0.333453805924677100, +-0.333500943829811550, -0.333548080901194090, -0.333595217138705990, -0.333642352542229850, -0.333689487111647810, -0.333736620846842470, -0.333783753747695200, -0.333830885814088480, +-0.333878017045905030, -0.333925147443026090, -0.333972277005334270, -0.334019405732711830, -0.334066533625041180, -0.334113660682203880, -0.334160786904082350, -0.334207912290558910, +-0.334255036841516080, -0.334302160556835260, -0.334349283436399030, -0.334396405480089590, -0.334443526687789540, -0.334490647059380250, -0.334537766594744380, -0.334584885293764070, +-0.334632003156321970, -0.334679120182299390, -0.334726236371579110, -0.334773351724043600, -0.334820466239574290, -0.334867579918053830, -0.334914692759364420, -0.334961804763388660, +-0.335008915930008030, -0.335056026259105080, -0.335103135750562050, -0.335150244404261610, -0.335197352220085180, -0.335244459197915350, -0.335291565337634320, -0.335338670639124870, +-0.335385775102268250, -0.335432878726947270, -0.335479981513044030, -0.335527083460441300, -0.335574184569020380, -0.335621284838664050, -0.335668384269254490, -0.335715482860674430, +-0.335762580612805230, -0.335809677525529540, -0.335856773598730120, -0.335903868832288290, -0.335950963226086810, -0.335998056780007940, -0.336045149493934380, -0.336092241367747460, +-0.336139332401329980, -0.336186422594564160, -0.336233511947332700, -0.336280600459517020, -0.336327688130999840, -0.336374774961663460, -0.336421860951390590, -0.336468946100062620, +-0.336516030407562280, -0.336563113873771860, -0.336610196498574040, -0.336657278281850380, -0.336704359223483520, -0.336751439323356110, -0.336798518581349740, -0.336845596997347060, +-0.336892674571230400, -0.336939751302882450, -0.336986827192184760, -0.337033902239019910, -0.337080976443270400, -0.337128049804818810, -0.337175122323546680, -0.337222193999336730, +-0.337269264832071310, -0.337316334821633200, -0.337363403967903760, -0.337410472270765820, -0.337457539730101730, -0.337504606345794210, -0.337551672117724740, -0.337598737045776090, +-0.337645801129831000, -0.337692864369771030, -0.337739926765478870, -0.337786988316836900, -0.337834049023727880, -0.337881108886033340, -0.337928167903636000, -0.337975226076418220, +-0.338022283404262820, -0.338069339887051350, -0.338116395524666440, -0.338163450316990580, -0.338210504263906530, -0.338257557365295780, -0.338304609621041090, -0.338351661031024930, +-0.338398711595130020, -0.338445761313237950, -0.338492810185231420, -0.338539858210993310, -0.338586905390405150, -0.338633951723349700, -0.338680997209709400, -0.338728041849367000, +-0.338775085642204100, -0.338822128588103460, -0.338869170686947550, -0.338916211938619090, -0.338963252342999680, -0.339010291899972120, -0.339057330609418840, -0.339104368471222720, +-0.339151405485265180, -0.339198441651429150, -0.339245476969597000, -0.339292511439651610, -0.339339545061474510, -0.339386577834948580, -0.339433609759956180, -0.339480640836380130, +-0.339527671064102090, -0.339574700443004920, -0.339621728972971330, -0.339668756653883070, -0.339715783485622870, -0.339762809468073250, -0.339809834601117020, -0.339856858884635790, +-0.339903882318512370, -0.339950904902629300, -0.339997926636869340, -0.340044947521114190, -0.340091967555246620, -0.340138986739149160, -0.340186005072704630, -0.340233022555794740, +-0.340280039188302240, -0.340327054970109620, -0.340374069901099810, -0.340421083981154390, -0.340468097210156310, -0.340515109587988360, -0.340562121114532210, -0.340609131789670780, +-0.340656141613286500, -0.340703150585262290, -0.340750158705479810, -0.340797165973821930, -0.340844172390171120, -0.340891177954410320, -0.340938182666421120, -0.340985186526086450, +-0.341032189533288840, -0.341079191687911230, -0.341126192989835150, -0.341173193438943590, -0.341220193035119080, -0.341267191778244490, -0.341314189668201540, -0.341361186704873030, +-0.341408182888142060, -0.341455178217890180, -0.341502172694000350, -0.341549166316355070, -0.341596159084837310, -0.341643150999328740, -0.341690142059712320, -0.341737132265870490, +-0.341784121617686290, -0.341831110115041360, -0.341878097757818630, -0.341925084545900650, -0.341972070479170390, -0.342019055557509550, -0.342066039780801080, -0.342113023148927500, +-0.342160005661771790, -0.342206987319215620, -0.342253968121142000, -0.342300948067433440, -0.342347927157972960, -0.342394905392642220, -0.342441882771324200, -0.342488859293901940, +-0.342535834960257080, -0.342582809770272670, -0.342629783723831180, -0.342676756820815720, -0.342723729061107870, -0.342770700444590740, -0.342817670971146850, -0.342864640640659190, +-0.342911609453009580, -0.342958577408080890, -0.343005544505755710, -0.343052510745917140, -0.343099476128446880, -0.343146440653227910, -0.343193404320142890, -0.343240367129074740, +-0.343287329079905220, -0.343334290172517430, -0.343381250406794290, -0.343428209782617620, -0.343475168299870460, -0.343522125958435340, -0.343569082758195370, -0.343616038699032230, +-0.343662993780828980, -0.343709948003468270, -0.343756901366833120, -0.343803853870805310, -0.343850805515267810, -0.343897756300103330, -0.343944706225194910, -0.343991655290424250, +-0.344038603495674500, -0.344085550840828200, -0.344132497325768450, -0.344179442950377060, -0.344226387714537060, -0.344273331618131450, -0.344320274661042150, -0.344367216843152190, +-0.344414158164344120, -0.344461098624501140, -0.344508038223504950, -0.344554976961238660, -0.344601914837584960, -0.344648851852426890, -0.344695788005646210, -0.344742723297126130, +-0.344789657726749240, -0.344836591294398590, -0.344883523999956030, -0.344930455843304730, -0.344977386824327210, -0.345024316942906690, -0.345071246198924930, -0.345118174592265130, +-0.345165102122810210, -0.345212028790442160, -0.345258954595044080, -0.345305879536498550, -0.345352803614688790, -0.345399726829496550, -0.345446649180805030, -0.345493570668496900, +-0.345540491292455230, -0.345587411052561910, -0.345634329948700080, -0.345681247980752390, -0.345728165148602050, -0.345775081452130870, -0.345821996891221950, -0.345868911465758100, +-0.345915825175622300, -0.345962738020696600, -0.346009650000864030, -0.346056561116007360, -0.346103471366009660, -0.346150380750752880, -0.346197289270120110, -0.346244196923994610, +-0.346291103712258130, -0.346338009634793940, -0.346384914691484750, -0.346431818882213640, -0.346478722206862540, -0.346525624665314670, -0.346572526257452770, -0.346619426983159950, +-0.346666326842318130, -0.346713225834810510, -0.346760123960519810, -0.346807021219329210, -0.346853917611120670, -0.346900813135777310, -0.346947707793181900, -0.346994601583217710, +-0.347041494505766550, -0.347088386560711670, -0.347135277747936180, -0.347182168067322160, -0.347229057518752660, -0.347275946102110540, -0.347322833817279020, -0.347369720664139960, +-0.347416606642576560, -0.347463491752471710, -0.347510375993708490, -0.347557259366168940, -0.347604141869736260, -0.347651023504293170, -0.347697904269722970, -0.347744784165907590, +-0.347791663192730300, -0.347838541350073800, -0.347885418637821350, -0.347932295055854990, -0.347979170604057860, -0.348026045282313180, -0.348072919090503030, -0.348119792028510570, +-0.348166664096218600, -0.348213535293510460, -0.348260405620268000, -0.348307275076374550, -0.348354143661712910, -0.348401011376166300, -0.348447878219616760, -0.348494744191947540, +-0.348541609293041450, -0.348588473522781770, -0.348635336881050470, -0.348682199367730820, -0.348729060982705670, -0.348775921725858310, -0.348822781597070750, -0.348869640596226220, +-0.348916498723207570, -0.348963355977898070, -0.349010212360179760, -0.349057067869935960, -0.349103922507049910, -0.349150776271403620, -0.349197629162880390, -0.349244481181363090, +-0.349291332326734980, -0.349338182598878170, -0.349385031997675840, -0.349431880523011000, -0.349478728174766830, -0.349525574952825440, -0.349572420857070130, -0.349619265887383730, +-0.349666110043649610, -0.349712953325749810, -0.349759795733567580, -0.349806637266985910, -0.349853477925888000, -0.349900317710156060, -0.349947156619673240, -0.349993994654323020, +-0.350040831813987370, -0.350087668098549630, -0.350134503507892710, -0.350181338041899990, -0.350228171700453450, -0.350275004483436510, -0.350321836390732110, -0.350368667422223450, +-0.350415497577792780, -0.350462326857323310, -0.350509155260698040, -0.350555982787800310, -0.350602809438512190, -0.350649635212717080, -0.350696460110297810, -0.350743284131137870, +-0.350790107275119280, -0.350836929542125420, -0.350883750932039720, -0.350930571444744150, -0.350977391080122160, -0.351024209838056710, -0.351071027718431130, -0.351117844721127560, +-0.351164660846029430, -0.351211476093019610, -0.351258290461981540, -0.351305103952797290, -0.351351916565350310, -0.351398728299523510, -0.351445539155200330, -0.351492349132262900, +-0.351539158230594560, -0.351585966450078340, -0.351632773790597650, -0.351679580252034550, -0.351726385834272510, -0.351773190537194970, -0.351819994360684010, -0.351866797304623060, +-0.351913599368895100, -0.351960400553383620, -0.352007200857970660, -0.352054000282539750, -0.352100798826973820, -0.352147596491156290, -0.352194393274969320, -0.352241189178296440, +-0.352287984201020530, -0.352334778343025120, -0.352381571604192310, -0.352428363984405630, -0.352475155483548020, -0.352521946101502890, -0.352568735838152510, -0.352615524693380310, +-0.352662312667069270, -0.352709099759102860, -0.352755885969363300, -0.352802671297734020, -0.352849455744098480, -0.352896239308338850, -0.352943021990338670, -0.352989803789980960, +-0.353036584707149100, -0.353083364741725360, -0.353130143893593260, -0.353176922162635740, -0.353223699548736390, -0.353270476051777360, -0.353317251671642070, -0.353364026408213740, +-0.353410800261375720, -0.353457573231010290, -0.353504345317000920, -0.353551116519230710, -0.353597886837583090, -0.353644656271940360, -0.353691424822186020, -0.353738192488203480, +-0.353784959269875080, -0.353831725167084280, -0.353878490179714120, -0.353925254307648210, -0.353972017550768680, -0.354018779908959190, -0.354065541382102670, -0.354112301970082750, +-0.354159061672781660, -0.354205820490082920, -0.354252578421869630, -0.354299335468025330, -0.354346091628432220, -0.354392846902973900, -0.354439601291533510, -0.354486354793994480, +-0.354533107410239190, -0.354579859140151110, -0.354626609983613780, -0.354673359940509520, -0.354720109010721870, -0.354766857194133920, -0.354813604490629260, -0.354860350900090220, +-0.354907096422400260, -0.354953841057442540, -0.355000584805100660, -0.355047327665256870, -0.355094069637794830, -0.355140810722597570, -0.355187550919548680, -0.355234290228530540, +-0.355281028649426620, -0.355327766182120200, -0.355374502826494740, -0.355421238582432570, -0.355467973449817400, -0.355514707428532200, -0.355561440518460730, -0.355608172719485190, +-0.355654904031489190, -0.355701634454356430, -0.355748363987969110, -0.355795092632210870, -0.355841820386964940, -0.355888547252114880, -0.355935273227542980, -0.355981998313132930, +-0.356028722508767880, -0.356075445814331480, -0.356122168229705990, -0.356168889754775120, -0.356215610389422010, -0.356262330133530310, -0.356309048986982350, -0.356355766949661760, +-0.356402484021451750, -0.356449200202235970, -0.356495915491896740, -0.356542629890317760, -0.356589343397382570, -0.356636056012973660, -0.356682767736974600, -0.356729478569268620, +-0.356776188509739360, -0.356822897558269180, -0.356869605714741740, -0.356916312979040360, -0.356963019351048570, -0.357009724830648860, -0.357056429417724750, -0.357103133112159630, +-0.357149835913837090, -0.357196537822639550, -0.357243238838450660, -0.357289938961153630, -0.357336638190632220, -0.357383336526768790, -0.357430033969447000, -0.357476730518550560, +-0.357523426173961880, -0.357570120935564620, -0.357616814803242030, -0.357663507776877890, -0.357710199856354490, -0.357756891041555670, -0.357803581332364560, -0.357850270728664930, +-0.357896959230339210, -0.357943646837271090, -0.357990333549343840, -0.358037019366441220, -0.358083704288445600, -0.358130388315240740, -0.358177071446709900, -0.358223753682736790, +-0.358270435023203880, -0.358317115467994880, -0.358363795016993500, -0.358410473670082220, -0.358457151427144740, -0.358503828288064430, -0.358550504252724940, -0.358597179321008760, +-0.358643853492799650, -0.358690526767980910, -0.358737199146436260, -0.358783870628048170, -0.358830541212700470, -0.358877210900276360, -0.358923879690659640, -0.358970547583732870, +-0.359017214579379680, -0.359063880677483460, -0.359110545877927960, -0.359157210180595650, -0.359203873585370310, -0.359250536092135310, -0.359297197700774400, -0.359343858411170060, +-0.359390518223206110, -0.359437177136766260, -0.359483835151733040, -0.359530492267990220, -0.359577148485421220, -0.359623803803909680, -0.359670458223338320, -0.359717111743590720, +-0.359763764364550380, -0.359810416086101040, -0.359857066908125240, -0.359903716830506810, -0.359950365853129060, -0.359997013975875800, -0.360043661198629630, -0.360090307521274240, +-0.360136952943693130, -0.360183597465770060, -0.360230241087387550, -0.360276883808429480, -0.360323525628779560, -0.360370166548320490, -0.360416806566935920, -0.360463445684509390, +-0.360510083900924650, -0.360556721216064250, -0.360603357629812050, -0.360649993142051480, -0.360696627752666370, -0.360743261461539230, -0.360789894268553960, -0.360836526173593960, +-0.360883157176543010, -0.360929787277283810, -0.360976416475700110, -0.361023044771675410, -0.361069672165093450, -0.361116298655836940, -0.361162924243789650, -0.361209548928835500, +-0.361256172710857030, -0.361302795589738160, -0.361349417565362320, -0.361396038637613270, -0.361442658806373770, -0.361489278071527640, -0.361535896432958250, -0.361582513890549570, +-0.361629130444184210, -0.361675746093746030, -0.361722360839118460, -0.361768974680185370, -0.361815587616829470, -0.361862199648934570, -0.361908810776384200, -0.361955420999062250, +-0.362002030316851300, -0.362048638729635220, -0.362095246237297610, -0.362141852839722280, -0.362188458536791940, -0.362235063328390390, -0.362281667214401640, -0.362328270194708260, +-0.362374872269194240, -0.362421473437743060, -0.362468073700238590, -0.362514673056563490, -0.362561271506601780, -0.362607869050236840, -0.362654465687352660, -0.362701061417831870, +-0.362747656241558470, -0.362794250158415880, -0.362840843168288130, -0.362887435271057820, -0.362934026466608940, -0.362980616754824960, -0.363027206135589920, -0.363073794608786420, +-0.363120382174298430, -0.363166968832009880, -0.363213554581803490, -0.363260139423563280, -0.363306723357172680, -0.363353306382515670, -0.363399888499474970, -0.363446469707934590, +-0.363493050007777980, -0.363539629398889230, -0.363586207881150920, -0.363632785454447160, -0.363679362118661420, -0.363725937873677680, -0.363772512719378660, -0.363819086655648380, +-0.363865659682370390, -0.363912231799428660, -0.363958803006705910, -0.364005373304086170, -0.364051942691453410, -0.364098511168690410, -0.364145078735681080, -0.364191645392309080, +-0.364238211138458390, -0.364284775974011770, -0.364331339898853130, -0.364377902912866200, -0.364424465015934950, -0.364471026207942080, -0.364517586488771690, -0.364564145858307320, +-0.364610704316433000, -0.364657261863031490, -0.364703818497986830, -0.364750374221182620, -0.364796929032502880, -0.364843482931830390, -0.364890035919049230, -0.364936587994042990, +-0.364983139156695670, -0.365029689406890070, -0.365076238744510280, -0.365122787169440300, -0.365169334681562930, -0.365215881280762210, -0.365262426966921790, -0.365308971739925770, +-0.365355515599656840, -0.365402058545999160, -0.365448600578836320, -0.365495141698052360, -0.365541681903530200, -0.365588221195153770, -0.365634759572806830, -0.365681297036373420, +-0.365727833585736290, -0.365774369220779660, -0.365820903941387050, -0.365867437747442570, -0.365913970638829130, -0.365960502615430780, -0.366007033677131550, -0.366053563823814320, +-0.366100093055363170, -0.366146621371661820, -0.366193148772594350, -0.366239675258043570, -0.366286200827893590, -0.366332725482028110, -0.366379249220331220, -0.366425772042685840, +-0.366472293948975960, -0.366518814939085390, -0.366565335012898170, -0.366611854170297240, -0.366658372411166670, -0.366704889735390120, -0.366751406142851790, -0.366797921633434550, +-0.366844436207022510, -0.366890949863499740, -0.366937462602749230, -0.366983974424655020, -0.367030485329100930, -0.367076995315971040, -0.367123504385148180, -0.367170012536516600, +-0.367216519769960000, -0.367263026085362490, -0.367309531482607030, -0.367356035961577730, -0.367402539522158340, -0.367449042164233020, -0.367495543887684680, -0.367542044692397480, +-0.367588544578255130, -0.367635043545141870, -0.367681541592940590, -0.367728038721535420, -0.367774534930810640, -0.367821030220649050, -0.367867524590934910, -0.367914018041551940, +-0.367960510572384330, -0.368007002183315060, -0.368053492874228280, -0.368099982645007760, -0.368146471495537700, -0.368192959425701020, -0.368239446435381980, -0.368285932524464290, +-0.368332417692832200, -0.368378901940368650, -0.368425385266957890, -0.368471867672483630, -0.368518349156830070, -0.368564829719880300, -0.368611309361518420, -0.368657788081628250, +-0.368704265880094030, -0.368750742756798760, -0.368797218711626630, -0.368843693744461850, -0.368890167855187410, -0.368936641043687560, -0.368983113309846120, -0.369029584653547290, +-0.369076055074674110, -0.369122524573110790, -0.369168993148741190, -0.369215460801449460, -0.369261927531118690, -0.369308393337633100, -0.369354858220876490, -0.369401322180733180, +-0.369447785217086160, -0.369494247329819670, -0.369540708518817600, -0.369587168783964140, -0.369633628125142330, -0.369680086542236440, -0.369726544035130780, -0.369773000603708320, +-0.369819456247853400, -0.369865910967449810, -0.369912364762381870, -0.369958817632532580, -0.370005269577786230, -0.370051720598026770, -0.370098170693138380, -0.370144619863004180, +-0.370191068107508400, -0.370237515426534940, -0.370283961819968140, -0.370330407287691010, -0.370376851829587850, -0.370423295445542530, -0.370469738135439430, -0.370516179899161580, +-0.370562620736593300, -0.370609060647618840, -0.370655499632121300, -0.370701937689985050, -0.370748374821093910, -0.370794811025332290, -0.370841246302583190, -0.370887680652731030, +-0.370934114075659630, -0.370980546571253400, -0.371026978139395340, -0.371073408779969860, -0.371119838492860840, -0.371166267277952660, -0.371212695135128390, -0.371259122064272360, +-0.371305548065268550, -0.371351973138001280, -0.371398397282353630, -0.371444820498210040, -0.371491242785454370, -0.371537664143970990, -0.371584084573643060, -0.371630504074354940, +-0.371676922645990950, -0.371723340288434230, -0.371769757001569170, -0.371816172785279730, -0.371862587639450290, -0.371909001563963890, -0.371955414558705070, -0.372001826623557690, +-0.372048237758406120, -0.372094647963133570, -0.372141057237624420, -0.372187465581762580, -0.372233872995432540, -0.372280279478517380, -0.372326685030901490, -0.372373089652468960, +-0.372419493343104040, -0.372465896102690040, -0.372512297931111240, -0.372558698828252150, -0.372605098793995890, -0.372651497828226870, -0.372697895930829140, -0.372744293101687050, +-0.372790689340683820, -0.372837084647703880, -0.372883479022631250, -0.372929872465350310, -0.372976264975744260, -0.373022656553697540, -0.373069047199094230, -0.373115436911818640, +-0.373161825691754100, -0.373208213538785030, -0.373254600452795350, -0.373300986433669600, -0.373347371481290990, -0.373393755595543940, -0.373440138776312940, -0.373486521023481180, +-0.373532902336933090, -0.373579282716552770, -0.373625662162224650, -0.373672040673831920, -0.373718418251259120, -0.373764794894390300, -0.373811170603109870, -0.373857545377301090, +-0.373903919216848510, -0.373950292121636050, -0.373996664091548300, -0.374043035126468530, -0.374089405226281150, -0.374135774390870200, -0.374182142620120280, -0.374228509913914600, +-0.374274876272137620, -0.374321241694673850, -0.374367606181406580, -0.374413969732220300, -0.374460332346999100, -0.374506694025627470, -0.374553054767988670, -0.374599414573967280, +-0.374645773443447290, -0.374692131376313350, -0.374738488372448610, -0.374784844431737710, -0.374831199554064630, -0.374877553739314030, -0.374923906987369100, -0.374970259298114390, +-0.375016610671434050, -0.375062961107212600, -0.375109310605333370, -0.375155659165680780, -0.375202006788139090, -0.375248353472592830, -0.375294699218925220, -0.375341044027020900, +-0.375387387896764350, -0.375433730828038940, -0.375480072820729150, -0.375526413874719240, -0.375572753989893700, -0.375619093166135840, -0.375665431403330250, -0.375711768701361080, +-0.375758105060112920, -0.375804440479469090, -0.375850774959314130, -0.375897108499532230, -0.375943441100007990, -0.375989772760624790, -0.376036103481267090, -0.376082433261819120, +-0.376128762102165500, -0.376175090002189570, -0.376221416961775910, -0.376267742980809120, -0.376314068059172560, -0.376360392196750830, -0.376406715393428130, -0.376453037649089050, +-0.376499358963616970, -0.376545679336896480, -0.376591998768811780, -0.376638317259247510, -0.376684634808087060, -0.376730951415214950, -0.376777267080515510, -0.376823581803873320, +-0.376869895585171750, -0.376916208424295460, -0.376962520321128650, -0.377008831275555960, -0.377055141287460760, -0.377101450356727710, -0.377147758483241390, -0.377194065666885350, +-0.377240371907544110, -0.377286677205101950, -0.377332981559443500, -0.377379284970452140, -0.377425587438012630, -0.377471888962009120, -0.377518189542326350, -0.377564489178847660, +-0.377610787871457740, -0.377657085620040860, -0.377703382424481650, -0.377749678284663600, -0.377795973200471370, -0.377842267171789150, -0.377888560198501760, -0.377934852280492510, +-0.377981143417646100, -0.378027433609846860, -0.378073722856979430, -0.378120011158927290, -0.378166298515575150, -0.378212584926807650, -0.378258870392508330, -0.378305154912561780, +-0.378351438486852320, -0.378397721115264710, -0.378444002797682370, -0.378490283533990060, -0.378536563324072040, -0.378582842167812960, -0.378629120065096410, -0.378675397015807050, +-0.378721673019829230, -0.378767948077047610, -0.378814222187345670, -0.378860495350608230, -0.378906767566719540, -0.378953038835564360, -0.378999309157026120, -0.379045578530989640, +-0.379091846957339660, -0.379138114435959570, -0.379184380966734240, -0.379230646549547970, -0.379276911184285470, -0.379323174870830280, -0.379369437609067160, -0.379415699398880480, +-0.379461960240154940, -0.379508220132774080, -0.379554479076622650, -0.379600737071585040, -0.379646994117546040, -0.379693250214389100, -0.379739505361999020, -0.379785759560260230, +-0.379832012809057430, -0.379878265108274160, -0.379924516457795240, -0.379970766857505470, -0.380017016307288350, -0.380063264807028680, -0.380109512356610830, -0.380155758955919630, +-0.380202004604838660, -0.380248249303252630, -0.380294493051046010, -0.380340735848103520, -0.380386977694308850, -0.380433218589546650, -0.380479458533701460, -0.380525697526658050, +-0.380571935568299930, -0.380618172658512000, -0.380664408797178670, -0.380710643984184690, -0.380756878219413730, -0.380803111502750540, -0.380849343834079980, -0.380895575213285650, +-0.380941805640252370, -0.380988035114864620, -0.381034263637007150, -0.381080491206563620, -0.381126717823418890, -0.381172943487457340, -0.381219168198563830, -0.381265391956622010, +-0.381311614761516700, -0.381357836613132380, -0.381404057511353870, -0.381450277456064800, -0.381496496447150000, -0.381542714484494010, -0.381588931567981630, -0.381635147697496510, +-0.381681362872923540, -0.381727577094147120, -0.381773790361052190, -0.381820002673522340, -0.381866214031442550, -0.381912424434697580, -0.381958633883171190, -0.382004842376748140, +-0.382051049915313080, -0.382097256498750760, -0.382143462126944830, -0.382189666799780340, -0.382235870517141640, -0.382282073278913670, -0.382328275084980130, -0.382374475935225890, +-0.382420675829535430, -0.382466874767793730, -0.382513072749884390, -0.382559269775692430, -0.382605465845102240, -0.382651660957998850, -0.382697855114265850, -0.382744048313788220, +-0.382790240556450890, -0.382836431842137560, -0.382882622170733160, -0.382928811542122160, -0.382974999956189550, -0.383021187412819040, -0.383067373911895600, -0.383113559453303660, +-0.383159744036928260, -0.383205927662653100, -0.383252110330363160, -0.383298292039942870, -0.383344472791277310, -0.383390652584250150, -0.383436831418746290, -0.383483009294650460, +-0.383529186211847450, -0.383575362170221090, -0.383621537169656300, -0.383667711210038060, -0.383713884291250200, -0.383760056413177560, -0.383806227575704820, -0.383852397778716940, +-0.383898567022097630, -0.383944735305731920, -0.383990902629504300, -0.384037068993299920, -0.384083234397002430, -0.384129398840496850, -0.384175562323667790, -0.384221724846400210, +-0.384267886408577900, -0.384314047010085870, -0.384360206650808780, -0.384406365330631550, -0.384452523049437940, -0.384498679807113110, -0.384544835603541520, -0.384590990438608280, +-0.384637144312197140, -0.384683297224193200, -0.384729449174481370, -0.384775600162945490, -0.384821750189470620, -0.384867899253941440, -0.384914047356242850, -0.384960194496258730, +-0.385006340673874180, -0.385052485888973730, -0.385098630141442520, -0.385144773431164270, -0.385190915758024110, -0.385237057121906650, -0.385283197522697020, -0.385329336960278930, +-0.385375475434537480, -0.385421612945357370, -0.385467749492623630, -0.385513885076220140, -0.385560019696031870, -0.385606153351944040, -0.385652286043840330, -0.385698417771605960, +-0.385744548535125580, -0.385790678334284150, -0.385836807168965680, -0.385882935039055190, -0.385929061944437320, -0.385975187884997240, -0.386021312860618750, -0.386067436871187000, +-0.386113559916586690, -0.386159681996702860, -0.386205803111419390, -0.386251923260621470, -0.386298042444193690, -0.386344160662021210, -0.386390277913987950, -0.386436394199978990, +-0.386482509519879450, -0.386528623873573230, -0.386574737260945430, -0.386620849681880820, -0.386666961136264480, -0.386713071623980330, -0.386759181144913480, -0.386805289698948730, +-0.386851397285971120, -0.386897503905864640, -0.386943609558514370, -0.386989714243805070, -0.387035817961621900, -0.387081920711848770, -0.387128022494370890, -0.387174123309072920, +-0.387220223155840040, -0.387266322034556190, -0.387312419945106570, -0.387358516887376270, -0.387404612861249280, -0.387450707866610790, -0.387496801903345510, -0.387542894971338590, +-0.387588987070474070, -0.387635078200637080, -0.387681168361712400, -0.387727257553585170, -0.387773345776139420, -0.387819433029260310, -0.387865519312832640, -0.387911604626741510, +-0.387957688970871020, -0.388003772345106300, -0.388049854749332120, -0.388095936183433740, -0.388142016647295090, -0.388188096140801410, -0.388234174663837470, -0.388280252216288540, +-0.388326328798038580, -0.388372404408972750, -0.388418479048976310, -0.388464552717933290, -0.388510625415728890, -0.388556697142247940, -0.388602767897375630, -0.388648837680996010, +-0.388694906492994320, -0.388740974333255330, -0.388787041201664300, -0.388833107098105260, -0.388879172022463470, -0.388925235974623750, -0.388971298954471360, -0.389017360961890320, +-0.389063421996765860, -0.389109482058982830, -0.389155541148426540, -0.389201599264980940, -0.389247656408531370, -0.389293712578963060, -0.389339767776160080, -0.389385822000007650, +-0.389431875250390690, -0.389477927527194460, -0.389523978830302990, -0.389570029159601540, -0.389616078514975040, -0.389662126896308800, -0.389708174303486750, -0.389754220736394320, +-0.389800266194916370, -0.389846310678938100, -0.389892354188343670, -0.389938396723018330, -0.389984438282847010, -0.390030478867715020, -0.390076518477506410, -0.390122557112106530, +-0.390168594771400650, -0.390214631455272850, -0.390260667163608520, -0.390306701896292460, -0.390352735653210100, -0.390398768434245480, -0.390444800239283960, -0.390490831068210420, +-0.390536860920910170, -0.390582889797267410, -0.390628917697167450, -0.390674944620495120, -0.390720970567135890, -0.390766995536973800, -0.390813019529894280, -0.390859042545782130, +-0.390905064584522840, -0.390951085646000450, -0.390997105730100380, -0.391043124836707500, -0.391089142965707240, -0.391135160116983680, -0.391181176290422260, -0.391227191485908340, +-0.391273205703325970, -0.391319218942560610, -0.391365231203497200, -0.391411242486021100, -0.391457252790016530, -0.391503262115368790, -0.391549270461962920, -0.391595277829684290, +-0.391641284218417040, -0.391687289628046550, -0.391733294058457910, -0.391779297509536380, -0.391825299981166220, -0.391871301473232790, -0.391917301985621140, -0.391963301518216620, +-0.392009300070903450, -0.392055297643567060, -0.392101294236092750, -0.392147289848364890, -0.392193284480268740, -0.392239278131689410, -0.392285270802512300, -0.392331262492621570, +-0.392377253201902700, -0.392423242930240720, -0.392469231677521010, -0.392515219443627830, -0.392561206228446590, -0.392607192031862340, -0.392653176853760500, -0.392699160694025330, +-0.392745143552542250, -0.392791125429196360, -0.392837106323873030, -0.392883086236456510, -0.392929065166832290, -0.392975043114885790, -0.393021020080501330, -0.393066996063564270, +-0.393112971063959700, -0.393158945081573170, -0.393204918116288830, -0.393250890167992200, -0.393296861236568370, -0.393342831321902790, -0.393388800423879690, -0.393434768542384630, +-0.393480735677302630, -0.393526701828519180, -0.393572666995918590, -0.393618631179386340, -0.393664594378807520, -0.393710556594067620, -0.393756517825050890, -0.393802478071642870, +-0.393848437333729100, -0.393894395611193770, -0.393940352903922490, -0.393986309211800330, -0.394032264534712800, -0.394078218872544180, -0.394124172225180040, -0.394170124592505440, +-0.394216075974406000, -0.394262026370765910, -0.394307975781470750, -0.394353924206405690, -0.394399871645456200, -0.394445818098506600, -0.394491763565442520, -0.394537708046148960, +-0.394583651540511560, -0.394629594048414630, -0.394675535569743720, -0.394721476104384020, -0.394767415652220950, -0.394813354213138960, -0.394859291787023610, -0.394905228373760410, +-0.394951163973233770, -0.394997098585329160, -0.395043032209931870, -0.395088964846927400, -0.395134896496200040, -0.395180827157635530, -0.395226756831118910, -0.395272685516535770, +-0.395318613213770540, -0.395364539922708810, -0.395410465643235680, -0.395456390375236830, -0.395502314118596600, -0.395548236873200560, -0.395594158638933930, -0.395640079415682300, +-0.395685999203330090, -0.395731918001762880, -0.395777835810866290, -0.395823752630524660, -0.395869668460623660, -0.395915583301048530, -0.395961497151684830, -0.396007410012416960, +-0.396053321883130580, -0.396099232763710900, -0.396145142654043550, -0.396191051554012910, -0.396236959463504680, -0.396282866382404010, -0.396328772310596600, -0.396374677247966880, +-0.396420581194400430, -0.396466484149782530, -0.396512386113998860, -0.396558287086933750, -0.396604187068473000, -0.396650086058502160, -0.396695984056905650, -0.396741881063569220, +-0.396787777078378090, -0.396833672101217950, -0.396879566131973170, -0.396925459170529520, -0.396971351216772240, -0.397017242270586930, -0.397063132331858140, -0.397109021400471500, +-0.397154909476312320, -0.397200796559266270, -0.397246682649217810, -0.397292567746052700, -0.397338451849656100, -0.397384334959913820, -0.397430217076710280, -0.397476098199931180, +-0.397521978329461840, -0.397567857465188020, -0.397613735606994090, -0.397659612754765800, -0.397705488908388970, -0.397751364067747910, -0.397797238232728500, -0.397843111403215990, +-0.397888983579096130, -0.397934854760253360, -0.397980724946573490, -0.398026594137941780, -0.398072462334244040, -0.398118329535364690, -0.398164195741189500, -0.398210060951603830, +-0.398255925166493440, -0.398301788385742820, -0.398347650609237770, -0.398393511836863560, -0.398439372068505940, -0.398485231304049500, -0.398531089543380010, -0.398576946786383220, +-0.398622803032943620, -0.398668658282947010, -0.398714512536278760, -0.398760365792824640, -0.398806218052469190, -0.398852069315098200, -0.398897919580597060, -0.398943768848851520, +-0.398989617119746120, -0.399035464393166730, -0.399081310668998600, -0.399127155947127670, -0.399173000227438400, -0.399218843509816680, -0.399264685794147810, -0.399310527080317670, +-0.399356367368210790, -0.399402206657712980, -0.399448044948710060, -0.399493882241086620, -0.399539718534728470, -0.399585553829520990, -0.399631388125350100, -0.399677221422100330, +-0.399723053719657440, -0.399768885017906970, -0.399814715316734680, -0.399860544616025220, -0.399906372915664390, -0.399952200215537620, -0.399998026515530740, -0.400043851815528370, +-0.400089676115416400, -0.400135499415080250, -0.400181321714405790, -0.400227143013277550, -0.400272963311581460, -0.400318782609203390, -0.400364600906027990, -0.400410418201941070, +-0.400456234496828050, -0.400502049790574910, -0.400547864083066200, -0.400593677374187880, -0.400639489663825340, -0.400685300951864440, -0.400731111238189940, -0.400776920522687650, +-0.400822728805243060, -0.400868536085742020, -0.400914342364069250, -0.400960147640110620, -0.401005951913751660, -0.401051755184878180, -0.401097557453374940, -0.401143358719127820, +-0.401189158982022230, -0.401234958241944220, -0.401280756498778370, -0.401326553752410660, -0.401372350002726970, -0.401418145249611950, -0.401463939492951620, -0.401509732732631410, +-0.401555524968537300, -0.401601316200553950, -0.401647106428567320, -0.401692895652462910, -0.401738683872126690, -0.401784471087443360, -0.401830257298298800, -0.401876042504578650, +-0.401921826706168770, -0.401967609902953940, -0.402013392094820070, -0.402059173281652750, -0.402104953463337860, -0.402150732639760200, -0.402196510810805710, -0.402242287976360360, +-0.402288064136308850, -0.402333839290537230, -0.402379613438930970, -0.402425386581376110, -0.402471158717757350, -0.402516929847960720, -0.402562699971871770, -0.402608469089376420, +-0.402654237200359530, -0.402700004304707090, -0.402745770402304580, -0.402791535493038090, -0.402837299576792320, -0.402883062653453310, -0.402928824722906640, -0.402974585785038310, +-0.403020345839733120, -0.403066104886877110, -0.403111862926356200, -0.403157619958055210, -0.403203375981860180, -0.403249130997656750, -0.403294885005330840, -0.403340638004767330, +-0.403386389995852250, -0.403432140978471190, -0.403477890952510190, -0.403523639917854000, -0.403569387874388790, -0.403615134822000070, -0.403660880760573880, -0.403706625689995160, +-0.403752369610149820, -0.403798112520923570, -0.403843854422202440, -0.403889595313871310, -0.403935335195816150, -0.403981074067922660, -0.404026811930076890, -0.404072548782163700, +-0.404118284624069120, -0.404164019455679260, -0.404209753276878910, -0.404255486087554180, -0.404301217887590770, -0.404346948676874710, -0.404392678455290870, -0.404438407222725280, +-0.404484134979063710, -0.404529861724192250, -0.404575587457995710, -0.404621312180360180, -0.404667035891171370, -0.404712758590315410, -0.404758480277677080, -0.404804200953142620, +-0.404849920616597640, -0.404895639267928260, -0.404941356907019380, -0.404987073533757070, -0.405032789148027540, -0.405078503749715550, -0.405124217338707400, -0.405169929914888650, +-0.405215641478145480, -0.405261352028362830, -0.405307061565426780, -0.405352770089223050, -0.405398477599637820, -0.405444184096556030, -0.405489889579863760, -0.405535594049446720, +-0.405581297505191170, -0.405626999946981930, -0.405672701374705180, -0.405718401788246700, -0.405764101187492620, -0.405809799572327880, -0.405855496942638620, -0.405901193298311090, +-0.405946888639230120, -0.405992582965281900, -0.406038276276352250, -0.406083968572327310, -0.406129659853092070, -0.406175350118532670, -0.406221039368534880, -0.406266727602984930, +-0.406312414821767720, -0.406358101024769490, -0.406403786211876010, -0.406449470382973470, -0.406495153537946850, -0.406540835676682310, -0.406586516799065710, -0.406632196904983260, +-0.406677875994319870, -0.406723554066961760, -0.406769231122795230, -0.406814907161705210, -0.406860582183577900, -0.406906256188299120, -0.406951929175755120, -0.406997601145830890, +-0.407043272098412680, -0.407088942033386250, -0.407134610950637910, -0.407180278850052650, -0.407225945731516660, -0.407271611594915820, -0.407317276440136320, -0.407362940267063270, +-0.407408603075582850, -0.407454264865580900, -0.407499925636943710, -0.407545585389556320, -0.407591244123304940, -0.407636901838075490, -0.407682558533754180, -0.407728214210226040, +-0.407773868867377380, -0.407819522505094460, -0.407865175123262310, -0.407910826721767260, -0.407956477300495110, -0.408002126859332180, -0.408047775398163500, -0.408093422916875390, +-0.408139069415353770, -0.408184714893484850, -0.408230359351153760, -0.408276002788246720, -0.408321645204649750, -0.408367286600249010, -0.408412926974929650, -0.408458566328578020, +-0.408504204661079950, -0.408549841972321750, -0.408595478262188560, -0.408641113530566650, -0.408686747777342370, -0.408732381002400840, -0.408778013205628340, -0.408823644386910820, +-0.408869274546134590, -0.408914903683184780, -0.408960531797947720, -0.409006158890309280, -0.409051784960155870, -0.409097410007372650, -0.409143034031845820, -0.409188657033461470, +-0.409234279012105850, -0.409279899967664120, -0.409325519900022640, -0.409371138809067390, -0.409416756694684690, -0.409462373556759680, -0.409507989395178740, -0.409553604209828230, +-0.409599218000593290, -0.409644830767360300, -0.409690442510015300, -0.409736053228444530, -0.409781662922533260, -0.409827271592167810, -0.409872879237234200, -0.409918485857618750, +-0.409964091453206720, -0.410009696023884480, -0.410055299569538010, -0.410100902090053620, -0.410146503585316620, -0.410192104055213390, -0.410237703499629850, -0.410283301918452470, +-0.410328899311566410, -0.410374495678858140, -0.410420091020213650, -0.410465685335519300, -0.410511278624660300, -0.410556870887523180, -0.410602462123994210, -0.410648052333958740, +-0.410693641517303090, -0.410739229673913410, -0.410784816803676010, -0.410830402906476160, -0.410875987982200320, -0.410921572030734480, -0.410967155051965130, -0.411012737045777510, +-0.411058318012058000, -0.411103897950692740, -0.411149476861568160, -0.411195054744569410, -0.411240631599583070, -0.411286207426495130, -0.411331782225192120, -0.411377355995559250, +-0.411422928737482930, -0.411468500450849710, -0.411514071135544890, -0.411559640791454850, -0.411605209418465680, -0.411650777016463910, -0.411696343585334800, -0.411741909124964830, +-0.411787473635240100, -0.411833037116047070, -0.411878599567271080, -0.411924160988798580, -0.411969721380515690, -0.412015280742308860, -0.412060839074063430, -0.412106396375665930, +-0.412151952647002380, -0.412197507887959390, -0.412243062098422260, -0.412288615278277430, -0.412334167427411470, -0.412379718545709710, -0.412425268633058670, -0.412470817689344400, +-0.412516365714453550, -0.412561912708271360, -0.412607458670684380, -0.412653003601578750, -0.412698547500841010, -0.412744090368356520, -0.412789632204011770, -0.412835173007693010, +-0.412880712779286670, -0.412926251518678120, -0.412971789225753950, -0.413017325900400360, -0.413062861542503820, -0.413108396151949720, -0.413153929728624640, -0.413199462272415160, +-0.413244993783206560, -0.413290524260885530, -0.413336053705338210, -0.413381582116451100, -0.413427109494109660, -0.413472635838200430, -0.413518161148609620, -0.413563685425223810, +-0.413609208667928390, -0.413654730876609980, -0.413700252051154680, -0.413745772191449200, -0.413791291297378850, -0.413836809368830330, -0.413882326405689730, -0.413927842407843750, +-0.413973357375177710, -0.414018871307578310, -0.414064384204931750, -0.414109896067124620, -0.414155406894042340, -0.414200916685571520, -0.414246425441598840, -0.414291933162009740, +-0.414337439846690750, -0.414382945495528180, -0.414428450108408620, -0.414473953685217560, -0.414519456225841580, -0.414564957730166990, -0.414610458198080400, -0.414655957629467280, +-0.414701456024214270, -0.414746953382207570, -0.414792449703333950, -0.414837944987478780, -0.414883439234528750, -0.414928932444370120, -0.414974424616889550, -0.415019915751972500, +-0.415065405849505690, -0.415110894909375750, -0.415156382931468230, -0.415201869915669710, -0.415247355861866510, -0.415292840769945330, -0.415338324639791590, -0.415383807471292110, +-0.415429289264333090, -0.415474770018801230, -0.415520249734582070, -0.415565728411562310, -0.415611206049628200, -0.415656682648666450, -0.415702158208562660, -0.415747632729203400, +-0.415793106210475110, -0.415838578652264420, -0.415884050054456890, -0.415929520416939260, -0.415974989739598230, -0.416020458022319290, -0.416065925264989200, -0.416111391467494320, +-0.416156856629721410, -0.416202320751555890, -0.416247783832884580, -0.416293245873593840, -0.416338706873570330, -0.416384166832699740, -0.416429625750868670, -0.416475083627963540, +-0.416520540463871100, -0.416565996258476900, -0.416611451011667740, -0.416656904723329950, -0.416702357393350320, -0.416747809021614350, -0.416793259608008840, -0.416838709152420220, +-0.416884157654735240, -0.416929605114839450, -0.416975051532619660, -0.417020496907962610, -0.417065941240753910, -0.417111384530880420, -0.417156826778228410, -0.417202267982684780, +-0.417247708144135030, -0.417293147262466020, -0.417338585337564180, -0.417384022369316270, -0.417429458357607860, -0.417474893302325840, -0.417520327203356580, -0.417565760060586880, +-0.417611191873902440, -0.417656622643189980, -0.417702052368335960, -0.417747481049227210, -0.417792908685749360, -0.417838335277789240, -0.417883760825233710, -0.417929185327968300, +-0.417974608785880000, -0.418020031198855170, -0.418065452566780630, -0.418110872889542070, -0.418156292167026320, -0.418201710399119910, -0.418247127585709530, -0.418292543726680950, +-0.418337958821921040, -0.418383372871316220, -0.418428785874753410, -0.418474197832118200, -0.418519608743297470, -0.418565018608177740, -0.418610427426645890, -0.418655835198587510, +-0.418701241923889580, -0.418746647602438960, -0.418792052234121300, -0.418837455818823530, -0.418882858356432130, -0.418928259846833960, -0.418973660289914730, -0.419019059685561360, +-0.419064458033660330, -0.419109855334098560, -0.419155251586761760, -0.419200646791536850, -0.419246040948310310, -0.419291434056969060, -0.419336826117398810, -0.419382217129486530, +-0.419427607093118660, -0.419472996008182220, -0.419518383874562860, -0.419563770692147560, -0.419609156460822810, -0.419654541180475570, -0.419699924850991610, -0.419745307472257800, +-0.419790689044161170, -0.419836069566587370, -0.419881449039423430, -0.419926827462555830, -0.419972204835871610, -0.420017581159256470, -0.420062956432597330, -0.420108330655780850, +-0.420153703828693940, -0.420199075951222300, -0.420244447023253030, -0.420289817044672660, -0.420335186015368120, -0.420380553935225220, -0.420425920804130940, -0.420471286621971860, +-0.420516651388634920, -0.420562015104005980, -0.420607377767972020, -0.420652739380420030, -0.420698099941235750, -0.420743459450306220, -0.420788817907518100, -0.420834175312758300, +-0.420879531665912630, -0.420924886966868190, -0.420970241215511460, -0.421015594411729590, -0.421060946555408320, -0.421106297646434700, -0.421151647684695260, -0.421196996670077210, +-0.421242344602466180, -0.421287691481749330, -0.421333037307813240, -0.421378382080544960, -0.421423725799830340, -0.421469068465556370, -0.421514410077610150, -0.421559750635877530, +-0.421605090140245500, -0.421650428590600760, -0.421695765986830340, -0.421741102328820060, -0.421786437616457070, -0.421831771849628000, -0.421877105028219900, -0.421922437152118630, +-0.421967768221211240, -0.422013098235384470, -0.422058427194525350, -0.422103755098519720, -0.422149081947254760, -0.422194407740617060, -0.422239732478493720, -0.422285056160770720, +-0.422330378787335040, -0.422375700358073760, -0.422421020872872920, -0.422466340331619450, -0.422511658734200160, -0.422556976080502130, -0.422602292370411300, -0.422647607603814700, +-0.422692921780599080, -0.422738234900651540, -0.422783546963858000, -0.422828857970105660, -0.422874167919281120, -0.422919476811271570, -0.422964784645962930, -0.423010091423242360, +-0.423055397142996560, -0.423100701805112610, -0.423146005409476560, -0.423191307955975480, -0.423236609444496090, -0.423281909874925640, -0.423327209247150000, -0.423372507561056320, +-0.423417804816531800, -0.423463101013462300, -0.423508396151735080, -0.423553690231236900, -0.423598983251854910, -0.423644275213475030, -0.423689566115984460, -0.423734855959269960, +-0.423780144743218730, -0.423825432467716760, -0.423870719132651170, -0.423916004737908800, -0.423961289283376840, -0.424006572768941270, -0.424051855194489240, -0.424097136559907550, +-0.424142416865083470, -0.424187696109902870, -0.424232974294253110, -0.424278251418021280, -0.424323527481093420, -0.424368802483356730, -0.424414076424698080, -0.424459349305004620, +-0.424504621124162370, -0.424549891882058550, -0.424595161578580020, -0.424640430213614030, -0.424685697787046510, -0.424730964298764780, -0.424776229748655590, -0.424821494136606250, +-0.424866757462502800, -0.424912019726232440, -0.424957280927682040, -0.425002541066738790, -0.425047800143288860, -0.425093058157219370, -0.425138315108417650, -0.425183570996769790, +-0.425228825822162930, -0.425274079584484040, -0.425319332283620400, -0.425364583919457970, -0.425409834491884080, -0.425455084000785630, -0.425500332446049840, -0.425545579827562860, +-0.425590826145211880, -0.425636071398883880, -0.425681315588466060, -0.425726558713844570, -0.425771800774906670, -0.425817041771539280, -0.425862281703629720, -0.425907520571064010, +-0.425952758373729530, -0.425997995111513150, -0.426043230784302170, -0.426088465391982700, -0.426133698934442080, -0.426178931411567650, -0.426224162823245430, -0.426269393169362850, +-0.426314622449806780, -0.426359850664464520, -0.426405077813222230, -0.426450303895967280, -0.426495528912586570, -0.426540752862967440, -0.426585975746996030, -0.426631197564559640, +-0.426676418315545310, -0.426721637999840310, -0.426766856617330830, -0.426812074167904180, -0.426857290651447340, -0.426902506067847690, -0.426947720416991360, -0.426992933698765790, +-0.427038145913058220, -0.427083357059754920, -0.427128567138743200, -0.427173776149910090, -0.427218984093142910, -0.427264190968327910, -0.427309396775352400, -0.427354601514103370, +-0.427399805184468300, -0.427445007786333320, -0.427490209319585760, -0.427535409784112700, -0.427580609179801560, -0.427625807506538450, -0.427671004764210830, -0.427716200952705680, +-0.427761396071910490, -0.427806590121711350, -0.427851783101995730, -0.427896975012651120, -0.427942165853563590, -0.427987355624620700, -0.428032544325709420, -0.428077731956717170, +-0.428122918517530150, -0.428168104008035900, -0.428213288428121340, -0.428258471777674010, -0.428303654056580050, -0.428348835264727000, -0.428394015402001840, -0.428439194468292040, +-0.428484372463483810, -0.428529549387464740, -0.428574725240121750, -0.428619900021342310, -0.428665073731012760, -0.428710246369020550, -0.428755417935253070, -0.428800588429596670, +-0.428845757851938790, -0.428890926202166570, -0.428936093480167370, -0.428981259685827570, -0.429026424819034580, -0.429071588879675560, -0.429116751867637980, -0.429161913782808100, +-0.429207074625073460, -0.429252234394321090, -0.429297393090438570, -0.429342550713312180, -0.429387707262829380, -0.429432862738877320, -0.429478017141343480, -0.429523170470114240, +-0.429568322725077060, -0.429613473906119090, -0.429658624013127820, -0.429703773045989560, -0.429748921004591890, -0.429794067888822350, -0.429839213698567200, -0.429884358433714030, +-0.429929502094149930, -0.429974644679762540, -0.430019786190438070, -0.430064926626064210, -0.430110065986527960, -0.430155204271717000, -0.430200341481517590, -0.430245477615817380, +-0.430290612674503410, -0.430335746657463380, -0.430380879564583540, -0.430426011395751480, -0.430471142150854410, -0.430516271829779920, -0.430561400432414310, -0.430606527958645240, +-0.430651654408360170, -0.430696779781445660, -0.430741904077789120, -0.430787027297277860, -0.430832149439799420, -0.430877270505240220, -0.430922390493487850, -0.430967509404429520, +-0.431012627237952750, -0.431057743993944090, -0.431102859672291010, -0.431147974272880820, -0.431193087795601060, -0.431238200240338210, -0.431283311606979860, -0.431328421895413210, +-0.431373531105525900, -0.431418639237204420, -0.431463746290336290, -0.431508852264809170, -0.431553957160509590, -0.431599060977325030, -0.431644163715142910, -0.431689265373850720, +-0.431734365953334980, -0.431779465453483340, -0.431824563874183050, -0.431869661215321720, -0.431914757476785820, -0.431959852658463090, -0.432004946760240700, -0.432050039782006290, +-0.432095131723646440, -0.432140222585048750, -0.432185312366100530, -0.432230401066689360, -0.432275488686701850, -0.432320575226025570, -0.432365660684547900, -0.432410745062156430, +-0.432455828358737750, -0.432500910574179440, -0.432545991708369330, -0.432591071761193770, -0.432636150732540580, -0.432681228622296970, -0.432726305430350730, -0.432771381156588310, +-0.432816455800897450, -0.432861529363165410, -0.432906601843280000, -0.432951673241127650, -0.432996743556596120, -0.433041812789572710, -0.433086880939945180, -0.433131948007600080, +-0.433177013992425090, -0.433222078894307580, -0.433267142713135270, -0.433312205448794670, -0.433357267101173620, -0.433402327670159740, -0.433447387155639690, -0.433492445557501100, +-0.433537502875631480, -0.433582559109918440, -0.433627614260248650, -0.433672668326509800, -0.433717721308589270, -0.433762773206374850, -0.433807824019753100, -0.433852873748611810, +-0.433897922392838310, -0.433942969952320400, -0.433988016426944680, -0.434033061816598900, -0.434078106121170480, -0.434123149340547190, -0.434168191474615610, -0.434213232523263600, +-0.434258272486378880, -0.434303311363848090, -0.434348349155558980, -0.434393385861399030, -0.434438421481256000, -0.434483456015016530, -0.434528489462568450, -0.434573521823799100, +-0.434618553098596370, -0.434663583286846840, -0.434708612388438390, -0.434753640403258370, -0.434798667331194650, -0.434843693172133890, -0.434888717925963840, -0.434933741592572090, +-0.434978764171846280, -0.435023785663673220, -0.435068806067940680, -0.435113825384536580, -0.435158843613347450, -0.435203860754261210, -0.435248876807165340, -0.435293891771947660, +-0.435338905648494870, -0.435383918436694830, -0.435428930136434970, -0.435473940747603210, -0.435518950270086190, -0.435563958703771790, -0.435608966048547490, -0.435653972304301140, +-0.435698977470919510, -0.435743981548290420, -0.435788984536301380, -0.435833986434840280, -0.435878987243793810, -0.435923986963049850, -0.435968985592495970, -0.436013983132020000, +-0.436058979581508630, -0.436103974940849900, -0.436148969209931570, -0.436193962388640440, -0.436238954476864390, -0.436283945474490950, -0.436328935381408100, -0.436373924197502430, +-0.436418911922662020, -0.436463898556774310, -0.436508884099727210, -0.436553868551407540, -0.436598851911703220, -0.436643834180501730, -0.436688815357691050, -0.436733795443157990, +-0.436778774436790360, -0.436823752338475870, -0.436868729148102370, -0.436913704865556640, -0.436958679490726640, -0.437003653023500360, -0.437048625463764550, -0.437093596811407140, +-0.437138567066315760, -0.437183536228378360, -0.437228504297481720, -0.437273471273513850, -0.437318437156362260, -0.437363401945915000, -0.437408365642058870, -0.437453328244681750, +-0.437498289753671390, -0.437543250168915650, -0.437588209490301420, -0.437633167717716600, -0.437678124851048900, -0.437723080890186300, -0.437768035835015610, -0.437812989685424810, +-0.437857942441301940, -0.437902894102533800, -0.437947844669008430, -0.437992794140613480, -0.438037742517236930, -0.438082689798765580, -0.438127635985087580, -0.438172581076090420, +-0.438217525071662230, -0.438262467971689830, -0.438307409776061310, -0.438352350484664200, -0.438397290097386650, -0.438442228614115470, -0.438487166034738700, -0.438532102359144030, +-0.438577037587219500, -0.438621971718851980, -0.438666904753929500, -0.438711836692339760, -0.438756767533970860, -0.438801697278709660, -0.438846625926444190, -0.438891553477062550, +-0.438936479930451650, -0.438981405286499540, -0.439026329545093910, -0.439071252706122850, -0.439116174769473230, -0.439161095735033260, -0.439206015602690460, -0.439250934372333090, +-0.439295852043847970, -0.439340768617123180, -0.439385684092046480, -0.439430598468506020, -0.439475511746388600, -0.439520423925582440, -0.439565335005975220, -0.439610244987455050, +-0.439655153869908830, -0.439700061653224780, -0.439744968337290990, -0.439789873921994310, -0.439834778407223010, -0.439879681792864740, -0.439924584078807690, -0.439969485264938730, +-0.440014385351146060, -0.440059284337317500, -0.440104182223341080, -0.440149079009103770, -0.440193974694493840, -0.440238869279398930, -0.440283762763707230, -0.440328655147305740, +-0.440373546430082590, -0.440418436611925590, -0.440463325692722950, -0.440508213672361540, -0.440553100550729600, -0.440597986327715300, -0.440642871003205650, -0.440687754577088860, +-0.440732637049252640, -0.440777518419585230, -0.440822398687973630, -0.440867277854306020, -0.440912155918470220, -0.440957032880354480, -0.441001908739845680, -0.441046783496832180, +-0.441091657151201690, -0.441136529702842450, -0.441181401151641450, -0.441226271497487000, -0.441271140740266850, -0.441316008879869270, -0.441360875916181280, -0.441405741849091090, +-0.441450606678486900, -0.441495470404255850, -0.441540333026286090, -0.441585194544465490, -0.441630054958682350, -0.441674914268823600, -0.441719772474777620, -0.441764629576432200, +-0.441809485573675610, -0.441854340466394880, -0.441899194254478320, -0.441944046937813810, -0.441988898516289530, -0.442033748989792640, -0.442078598358211340, -0.442123446621433550, +-0.442168293779347580, -0.442213139831840460, -0.442257984778800460, -0.442302828620115550, -0.442347671355673930, -0.442392512985362750, -0.442437353509070260, -0.442482192926684780, +-0.442527031238093450, -0.442571868443184580, -0.442616704541845980, -0.442661539533966030, -0.442706373419431810, -0.442751206198131690, -0.442796037869953580, -0.442840868434785710, +-0.442885697892515310, -0.442930526243030640, -0.442975353486219690, -0.443020179621970770, -0.443065004650170960, -0.443109828570708630, -0.443154651383471760, -0.443199473088348620, +-0.443244293685226440, -0.443289113173993500, -0.443333931554538210, -0.443378748826747660, -0.443423564990510280, -0.443468380045713930, -0.443513193992247030, -0.443558006829996800, +-0.443602818558851530, -0.443647629178699210, -0.443692438689428200, -0.443737247090925710, -0.443782054383080100, -0.443826860565779360, -0.443871665638911890, -0.443916469602364800, +-0.443961272456026570, -0.444006074199785160, -0.444050874833528950, -0.444095674357145200, -0.444140472770522210, -0.444185270073548470, -0.444230066266111110, -0.444274861348098630, +-0.444319655319398990, -0.444364448179900620, -0.444409239929490720, -0.444454030568057710, -0.444498820095489630, -0.444543608511674900, -0.444588395816500730, -0.444633182009855580, +-0.444677967091627490, -0.444722751061704890, -0.444767533919974980, -0.444812315666326290, -0.444857096300646740, -0.444901875822824920, -0.444946654232747980, -0.444991431530304400, +-0.445036207715382210, -0.445080982787869950, -0.445125756747654810, -0.445170529594625270, -0.445215301328669820, -0.445260071949675760, -0.445304841457531460, -0.445349609852125070, +-0.445394377133345070, -0.445439143301078700, -0.445483908355214510, -0.445528672295640530, -0.445573435122245230, -0.445618196834915990, -0.445662957433541280, -0.445707716918009140, +-0.445752475288208110, -0.445797232544025480, -0.445841988685349800, -0.445886743712069160, -0.445931497624072030, -0.445976250421245720, -0.446021002103478840, -0.446065752670659840, +-0.446110502122676060, -0.446155250459416010, -0.446199997680767850, -0.446244743786620100, -0.446289488776860090, -0.446334232651376340, -0.446378975410057060, -0.446423717052790660, +-0.446468457579464630, -0.446513196989967440, -0.446557935284187250, -0.446602672462012630, -0.446647408523330900, -0.446692143468030710, -0.446736877296000090, -0.446781610007127740, +-0.446826341601300910, -0.446871072078408260, -0.446915801438338310, -0.446960529680978490, -0.447005256806217330, -0.447049982813943040, -0.447094707704044190, -0.447139431476408170, +-0.447184154130923550, -0.447228875667478540, -0.447273596085961730, -0.447318315386260600, -0.447363033568263620, -0.447407750631859060, -0.447452466576935550, -0.447497181403380460, +-0.447541895111082440, -0.447586607699929640, -0.447631319169810750, -0.447676029520613140, -0.447720738752225510, -0.447765446864536340, -0.447810153857433220, -0.447854859730804740, +-0.447899564484539050, -0.447944268118524890, -0.447988970632649640, -0.448033672026801940, -0.448078372300870110, -0.448123071454742730, -0.448167769488307280, -0.448212466401452400, +-0.448257162194066310, -0.448301856866037800, -0.448346550417254190, -0.448391242847604180, -0.448435934156976130, -0.448480624345258590, -0.448525313412339140, -0.448570001358106370, +-0.448614688182448600, -0.448659373885254510, -0.448704058466411590, -0.448748741925808550, -0.448793424263334020, -0.448838105478875540, -0.448882785572321810, -0.448927464543561080, +-0.448972142392482120, -0.449016819118972400, -0.449061494722920620, -0.449106169204215140, -0.449150842562744570, -0.449195514798396590, -0.449240185911059740, -0.449284855900622450, +-0.449329524766973410, -0.449374192510000160, -0.449418859129591450, -0.449463524625635600, -0.449508188998021310, -0.449552852246636160, -0.449597514371368910, -0.449642175372108210, +-0.449686835248741700, -0.449731494001158140, -0.449776151629245780, -0.449820808132893490, -0.449865463511988750, -0.449910117766420370, -0.449954770896076720, -0.449999422900846490, +-0.450044073780617340, -0.450088723535277960, -0.450133372164716830, -0.450178019668822650, -0.450222666047483010, -0.450267311300586730, -0.450311955428022100, -0.450356598429678070, +-0.450401240305442100, -0.450445881055203000, -0.450490520678849650, -0.450535159176269630, -0.450579796547351640, -0.450624432791984160, -0.450669067910056060, -0.450713701901454820, +-0.450758334766069360, -0.450802966503788090, -0.450847597114499730, -0.450892226598092080, -0.450936854954453790, -0.450981482183473390, -0.451026108285039640, -0.451070733259040290, +-0.451115357105364050, -0.451159979823899440, -0.451204601414535280, -0.451249221877159210, -0.451293841211660110, -0.451338459417926390, -0.451383076495846910, -0.451427692445309340, +-0.451472307266202580, -0.451516920958415390, -0.451561533521835530, -0.451606144956351820, -0.451650755261852780, -0.451695364438227220, -0.451739972485362910, -0.451784579403148590, +-0.451829185191472860, -0.451873789850224580, -0.451918393379291410, -0.451962995778562250, -0.452007597047925590, -0.452052197187270350, -0.452096796196484240, -0.452141394075456120, +-0.452185990824074510, -0.452230586442228300, -0.452275180929805290, -0.452319774286694290, -0.452364366512784220, -0.452408957607962900, -0.452453547572119140, -0.452498136405141530, +-0.452542724106918980, -0.452587310677339210, -0.452631896116291180, -0.452676480423663370, -0.452721063599344830, -0.452765645643223190, -0.452810226555187430, -0.452854806335126090, +-0.452899384982928140, -0.452943962498481350, -0.452988538881674670, -0.453033114132396610, -0.453077688250536180, -0.453122261235981090, -0.453166833088620380, -0.453211403808343020, +-0.453255973395036700, -0.453300541848590480, -0.453345109168892870, -0.453389675355832910, -0.453434240409298360, -0.453478804329178200, -0.453523367115361060, -0.453567928767735880, +-0.453612489286190470, -0.453657048670613850, -0.453701606920894620, -0.453746164036921750, -0.453790720018583060, -0.453835274865767580, -0.453879828578363950, -0.453924381156261100, +-0.453968932599346900, -0.454013482907510420, -0.454058032080640610, -0.454102580118625310, -0.454147127021353510, -0.454191672788713970, -0.454236217420595610, -0.454280760916886350, +-0.454325303277475110, -0.454369844502250650, -0.454414384591102010, -0.454458923543916980, -0.454503461360584670, -0.454547998040993660, -0.454592533585033100, -0.454637067992590740, +-0.454681601263555780, -0.454726133397816810, -0.454770664395262870, -0.454815194255781870, -0.454859722979262910, -0.454904250565594640, -0.454948777014666130, -0.454993302326365310, +-0.455037826500581220, -0.455082349537202950, -0.455126871436118410, -0.455171392197216700, -0.455215911820386450, -0.455260430305516880, -0.455304947652495850, -0.455349463861212440, +-0.455393978931555370, -0.455438492863413700, -0.455483005656675430, -0.455527517311229700, -0.455572027826965150, -0.455616537203770880, -0.455661045441534910, -0.455705552540146330, +-0.455750058499493850, -0.455794563319466610, -0.455839066999952580, -0.455883569540840920, -0.455928070942020700, -0.455972571203379860, -0.456017070324807650, -0.456061568306192770, +-0.456106065147424360, -0.456150560848390340, -0.456195055408979980, -0.456239548829081960, -0.456284041108585450, -0.456328532247378460, -0.456373022245350150, -0.456417511102389260, +-0.456461998818385010, -0.456506485393225360, -0.456550970826799460, -0.456595455118996190, -0.456639938269704610, -0.456684420278812840, -0.456728901146210010, -0.456773380871785370, +-0.456817859455426800, -0.456862336897023660, -0.456906813196464590, -0.456951288353638960, -0.456995762368434700, -0.457040235240741000, -0.457084706970446730, -0.457129177557441090, +-0.457173647001612120, -0.457218115302849000, -0.457262582461040620, -0.457307048476076170, -0.457351513347843690, -0.457395977076232470, -0.457440439661131240, -0.457484901102429340, +-0.457529361400014820, -0.457573820553776880, -0.457618278563604370, -0.457662735429386620, -0.457707191151011550, -0.457751645728368570, -0.457796099161346840, -0.457840551449834490, +-0.457885002593720720, -0.457929452592894470, -0.457973901447244980, -0.458018349156660340, -0.458062795721029810, -0.458107241140242320, -0.458151685414187100, -0.458196128542752320, +-0.458240570525827170, -0.458285011363300580, -0.458329451055061900, -0.458373889600999170, -0.458418327001001770, -0.458462763254958490, -0.458507198362758720, -0.458551632324290530, +-0.458596065139443290, -0.458640496808106310, -0.458684927330167640, -0.458729356705516680, -0.458773784934042310, -0.458818212015633890, -0.458862637950179560, -0.458907062737568590, +-0.458951486377690010, -0.458995908870433070, -0.459040330215686020, -0.459084750413338070, -0.459129169463278310, -0.459173587365395990, -0.459218004119579300, -0.459262419725717570, +-0.459306834183699890, -0.459351247493415440, -0.459395659654752490, -0.459440070667600400, -0.459484480531848540, -0.459528889247385050, -0.459573296814099360, -0.459617703231880390, +-0.459662108500617620, -0.459706512620199130, -0.459750915590514400, -0.459795317411452350, -0.459839718082902470, -0.459884117604752840, -0.459928515976892880, -0.459972913199211690, +-0.460017309271598620, -0.460061704193941820, -0.460106097966130830, -0.460150490588054570, -0.460194882059602460, -0.460239272380662760, -0.460283661551124880, -0.460328049570878250, +-0.460372436439811070, -0.460416822157812820, -0.460461206724772530, -0.460505590140579620, -0.460549972405122300, -0.460594353518290090, -0.460638733479971970, -0.460683112290057430, +-0.460727489948434710, -0.460771866454993300, -0.460816241809622160, -0.460860616012210840, -0.460904989062647600, -0.460949360960821840, -0.460993731706622720, -0.461038101299939660, +-0.461082469740660970, -0.461126837028676070, -0.461171203163874110, -0.461215568146144510, -0.461259931975375570, -0.461304294651456840, -0.461348656174277780, -0.461393016543726660, +-0.461437375759693010, -0.461481733822065920, -0.461526090730734860, -0.461570446485588200, -0.461614801086515480, -0.461659154533405670, -0.461703506826148410, -0.461747857964632020, +-0.461792207948745930, -0.461836556778379310, -0.461880904453421730, -0.461925250973761530, -0.461969596339288140, -0.462013940549890760, -0.462058283605458970, -0.462102625505881050, +-0.462146966251046560, -0.462191305840845060, -0.462235644275164890, -0.462279981553895600, -0.462324317676926390, -0.462368652644146780, -0.462412986455445100, -0.462457319110710970, +-0.462501650609833560, -0.462545980952702440, -0.462590310139205930, -0.462634638169233670, -0.462678965042674810, -0.462723290759418930, -0.462767615319354400, -0.462811938722370860, +-0.462856260968357470, -0.462900582057203800, -0.462944901988798340, -0.462989220763030560, -0.463033538379790170, -0.463077854838965520, -0.463122170140446210, -0.463166484284121550, +-0.463210797269881010, -0.463255109097613080, -0.463299419767207400, -0.463343729278553160, -0.463388037631540020, -0.463432344826056330, -0.463476650861991860, -0.463520955739235680, +-0.463565259457677570, -0.463609562017205880, -0.463653863417710310, -0.463698163659080060, -0.463742462741204790, -0.463786760663973010, -0.463831057427274320, -0.463875353030997920, +-0.463919647475033610, -0.463963940759269720, -0.464008232883596050, -0.464052523847902130, -0.464096813652076560, -0.464141102296008910, -0.464185389779588560, -0.464229676102705100, +-0.464273961265247060, -0.464318245267104080, -0.464362528108165530, -0.464406809788321050, -0.464451090307459120, -0.464495369665469500, -0.464539647862241440, -0.464583924897664650, +-0.464628200771627640, -0.464672475484020130, -0.464716749034731480, -0.464761021423651330, -0.464805292650668220, -0.464849562715671900, -0.464893831618552020, -0.464938099359197220, +-0.464982365937497140, -0.465026631353341160, -0.465070895606618960, -0.465115158697219200, -0.465159420625031460, -0.465203681389945220, -0.465247940991850180, -0.465292199430634880, +-0.465336456706189060, -0.465380712818402100, -0.465424967767163800, -0.465469221552362640, -0.465513474173888440, -0.465557725631630560, -0.465601975925478750, -0.465646225055321610, +-0.465690473021048930, -0.465734719822550440, -0.465778965459714760, -0.465823209932431650, -0.465867453240590530, -0.465911695384081170, -0.465955936362792200, -0.466000176176613320, +-0.466044414825434070, -0.466088652309144150, -0.466132888627632250, -0.466177123780788070, -0.466221357768501100, -0.466265590590661140, -0.466309822247156780, -0.466354052737877890, +-0.466398282062713830, -0.466442510221554530, -0.466486737214288520, -0.466530963040805660, -0.466575187700995820, -0.466619411194747590, -0.466663633521950840, -0.466707854682494980, +-0.466752074676269890, -0.466796293503164210, -0.466840511163067850, -0.466884727655870190, -0.466928942981461090, -0.466973157139729200, -0.467017370130564490, -0.467061581953856330, +-0.467105792609494590, -0.467150002097368010, -0.467194210417366360, -0.467238417569379230, -0.467282623553296470, -0.467326828369006740, -0.467371032016399900, -0.467415234495365540, +-0.467459435805793470, -0.467503635947572380, -0.467547834920592260, -0.467592032724742920, -0.467636229359913110, -0.467680424825992700, -0.467724619122871220, -0.467768812250438650, +-0.467813004208583630, -0.467857194997196080, -0.467901384616165540, -0.467945573065381930, -0.467989760344734000, -0.468033946454111670, -0.468078131393404480, -0.468122315162502360, +-0.468166497761294040, -0.468210679189669520, -0.468254859447518270, -0.468299038534730260, -0.468343216451194260, -0.468387393196800230, -0.468431568771438100, -0.468475743174996680, +-0.468519916407365900, -0.468564088468435280, -0.468608259358094910, -0.468652429076233450, -0.468696597622740910, -0.468740764997506890, -0.468784931200421360, -0.468829096231373090, +-0.468873260090252100, -0.468917422776947920, -0.468961584291350600, -0.469005744633348930, -0.469049903802832900, -0.469094061799692150, -0.469138218623816610, -0.469182374275095070, +-0.469226528753417640, -0.469270682058674340, -0.469314834190753870, -0.469358985149546330, -0.469403134934941350, -0.469447283546828910, -0.469491430985097820, -0.469535577249638240, +-0.469579722340339620, -0.469623866257092180, -0.469668008999784610, -0.469712150568307060, -0.469756290962549120, -0.469800430182400860, -0.469844568227751110, -0.469888705098489960, +-0.469932840794507030, -0.469976975315692440, -0.470021108661934970, -0.470065240833124730, -0.470109371829151410, -0.470153501649905050, -0.470197630295274500, -0.470241757765149930, +-0.470285884059421340, -0.470330009177977630, -0.470374133120708910, -0.470418255887504850, -0.470462377478255590, -0.470506497892849930, -0.470550617131178070, -0.470594735193129670, +-0.470638852078594790, -0.470682967787462380, -0.470727082319622570, -0.470771195674965060, -0.470815307853379940, -0.470859418854756180, -0.470903528678983880, -0.470947637325952740, +-0.470991744795552890, -0.471035851087673320, -0.471079956202204050, -0.471124060139035350, -0.471168162898056080, -0.471212264479156430, -0.471256364882226110, -0.471300464107155260, +-0.471344562153832860, -0.471388659022149050, -0.471432754711993580, -0.471476849223256610, -0.471520942555827160, -0.471565034709595320, -0.471609125684450960, -0.471653215480284100, +-0.471697304096983850, -0.471741391534440340, -0.471785477792543320, -0.471829562871183050, -0.471873646770248460, -0.471917729489629730, -0.471961811029217080, -0.472005891388899480, +-0.472049970568567230, -0.472094048568109990, -0.472138125387418010, -0.472182201026380370, -0.472226275484887210, -0.472270348762828360, -0.472314420860094060, -0.472358491776573300, +-0.472402561512156260, -0.472446630066732880, -0.472490697440193290, -0.472534763632426580, -0.472578828643322960, -0.472622892472772230, -0.472666955120664700, -0.472711016586889410, +-0.472755076871336500, -0.472799135973895950, -0.472843193894457950, -0.472887250632911590, -0.472931306189147080, -0.472975360563054730, -0.473019413754523550, -0.473063465763443820, +-0.473107516589705460, -0.473151566233198710, -0.473195614693812660, -0.473239661971437520, -0.473283708065963260, -0.473327752977280140, -0.473371796705277180, -0.473415839249844760, +-0.473459880610872800, -0.473503920788251490, -0.473547959781869980, -0.473591997591618520, -0.473636034217387150, -0.473680069659066060, -0.473724103916544400, -0.473768136989712490, +-0.473812168878460560, -0.473856199582677880, -0.473900229102254710, -0.473944257437080960, -0.473988284587046950, -0.474032310552041870, -0.474076335331955980, -0.474120358926679250, +-0.474164381336102000, -0.474208402560113430, -0.474252422598603840, -0.474296441451463210, -0.474340459118581860, -0.474384475599848980, -0.474428490895154880, -0.474472505004389590, +-0.474516517927443430, -0.474560529664205530, -0.474604540214566380, -0.474648549578416230, -0.474692557755644280, -0.474736564746141010, -0.474780570549796280, -0.474824575166500560, +-0.474868578596142950, -0.474912580838613930, -0.474956581893803460, -0.475000581761601930, -0.475044580441898510, -0.475088577934583700, -0.475132574239547410, -0.475176569356680070, +-0.475220563285870920, -0.475264556027010400, -0.475308547579988470, -0.475352537944695560, -0.475396527121020870, -0.475440515108854930, -0.475484501908088050, -0.475528487518609540, +-0.475572471940309830, -0.475616455173078930, -0.475660437216807230, -0.475704418071384140, -0.475748397736699910, -0.475792376212644750, -0.475836353499109020, -0.475880329595982030, +-0.475924304503154210, -0.475968278220515630, -0.476012250747956720, -0.476056222085366800, -0.476100192232636330, -0.476144161189655410, -0.476188128956314460, -0.476232095532502790, +-0.476276060918110870, -0.476320025113028790, -0.476363988117147090, -0.476407949930355010, -0.476451910552543050, -0.476495869983601660, -0.476539828223420280, -0.476583785271889270, +-0.476627741128898830, -0.476671695794339430, -0.476715649268100390, -0.476759601550072190, -0.476803552640145010, -0.476847502538209340, -0.476891451244154550, -0.476935398757871110, +-0.476979345079249220, -0.477023290208179300, -0.477067234144550770, -0.477111176888254160, -0.477155118439179630, -0.477199058797217690, -0.477242997962257660, -0.477286935934190190, +-0.477330872712905750, -0.477374808298293760, -0.477418742690244760, -0.477462675888648880, -0.477506607893396660, -0.477550538704377580, -0.477594468321482170, -0.477638396744600570, +-0.477682323973623370, -0.477726250008439930, -0.477770174848940910, -0.477814098495016440, -0.477858020946557100, -0.477901942203452330, -0.477945862265592710, -0.477989781132868440, +-0.478033698805170100, -0.478077615282387130, -0.478121530564410090, -0.478165444651129650, -0.478209357542435210, -0.478253269238217370, -0.478297179738366330, -0.478341089042772730, +-0.478384997151326040, -0.478428904063916860, -0.478472809780435440, -0.478516714300772360, -0.478560617624817110, -0.478604519752460320, -0.478648420683592200, -0.478692320418103450, +-0.478736218955883470, -0.478780116296822990, -0.478824012440812240, -0.478867907387741760, -0.478911801137501200, -0.478955693689981140, -0.478999585045071790, -0.479043475202663880, +-0.479087364162646910, -0.479131251924911570, -0.479175138489348450, -0.479219023855847080, -0.479262908024298160, -0.479306790994591950, -0.479350672766619190, -0.479394553340269370, +-0.479438432715433130, -0.479482310892000830, -0.479526187869863120, -0.479570063648909530, -0.479613938229030810, -0.479657811610117280, -0.479701683792059570, -0.479745554774747280, +-0.479789424558071110, -0.479833293141921360, -0.479877160526188730, -0.479921026710762870, -0.479964891695534410, -0.480008755480394120, -0.480052618065231580, -0.480096479449937440, +-0.480140339634402170, -0.480184198618516360, -0.480228056402169760, -0.480271912985252960, -0.480315768367656380, -0.480359622549270780, -0.480403475529985690, -0.480447327309691970, +-0.480491177888279890, -0.480535027265640290, -0.480578875441662720, -0.480622722416237940, -0.480666568189256400, -0.480710412760608770, -0.480754256130184800, -0.480798098297875120, +-0.480841939263570610, -0.480885779027160840, -0.480929617588536640, -0.480973454947588420, -0.481017291104206930, -0.481061126058281830, -0.481104959809703910, -0.481148792358363550, +-0.481192623704151670, -0.481236453846957790, -0.481280282786672790, -0.481324110523187130, -0.481367937056391530, -0.481411762386175670, -0.481455586512430480, -0.481499409435046270, +-0.481543231153913950, -0.481587051668923130, -0.481630870979964710, -0.481674689086929510, -0.481718505989707220, -0.481762321688188610, -0.481806136182264200, -0.481849949471824910, +-0.481893761556760280, -0.481937572436961280, -0.481981382112318340, -0.482025190582722360, -0.482068997848062950, -0.482112803908231080, -0.482156608763117220, -0.482200412412612240, +-0.482244214856605790, -0.482288016094988840, -0.482331816127651860, -0.482375614954485670, -0.482419412575380120, -0.482463208990225990, -0.482507004198913850, -0.482550798201334620, +-0.482594590997377950, -0.482638382586934870, -0.482682172969896180, -0.482725962146151650, -0.482769750115592260, -0.482813536878108460, -0.482857322433591250, -0.482901106781930320, +-0.482944889923016600, -0.482988671856740660, -0.483032452582993430, -0.483076232101664730, -0.483120010412645410, -0.483163787515826060, -0.483207563411097660, -0.483251338098349910, +-0.483295111577473850, -0.483338883848360050, -0.483382654910899380, -0.483426424764981710, -0.483470193410497960, -0.483513960847339110, -0.483557727075394960, -0.483601492094556500, +-0.483645255904714300, -0.483689018505759400, -0.483732779897581510, -0.483776540080071700, -0.483820299053120520, -0.483864056816619040, -0.483907813370456960, -0.483951568714525380, +-0.483995322848714880, -0.484039075772916440, -0.484082827487019920, -0.484126577990916350, -0.484170327284496330, -0.484214075367650880, -0.484257822240269860, -0.484301567902244270, +-0.484345312353465170, -0.484389055593822390, -0.484432797623206960, -0.484476538441509560, -0.484520278048621190, -0.484564016444431760, -0.484607753628832240, -0.484651489601713340, +-0.484695224362966140, -0.484738957912480510, -0.484782690250147420, -0.484826421375857630, -0.484870151289502230, -0.484913879990970960, -0.484957607480155100, -0.485001333756945150, +-0.485045058821232280, -0.485088782672906340, -0.485132505311858480, -0.485176226737979330, -0.485219946951160050, -0.485263665951290450, -0.485307383738261770, -0.485351100311964930, +-0.485394815672289980, -0.485438529819128000, -0.485482242752369730, -0.485525954471906160, -0.485569664977627380, -0.485613374269424410, -0.485657082347188070, -0.485700789210809340, +-0.485744494860178290, -0.485788199295185960, -0.485831902515723170, -0.485875604521680990, -0.485919305312949410, -0.485963004889419570, -0.486006703250982220, -0.486050400397528500, +-0.486094096328948400, -0.486137791045133050, -0.486181484545973600, -0.486225176831360070, -0.486268867901183570, -0.486312557755334940, -0.486356246393705280, -0.486399933816184630, +-0.486443620022664110, -0.486487305013034610, -0.486530988787187150, -0.486574671345011870, -0.486618352686399910, -0.486662032811242100, -0.486705711719429560, -0.486749389410852380, +-0.486793065885401720, -0.486836741142968380, -0.486880415183443550, -0.486924088006717330, -0.486967759612680910, -0.487011430001225430, -0.487055099172241050, -0.487098767125618890, +-0.487142433861249780, -0.487186099379025020, -0.487229763678834580, -0.487273426760569780, -0.487317088624121380, -0.487360749269380670, -0.487404408696237690, -0.487448066904583640, +-0.487491723894309500, -0.487535379665306410, -0.487579034217464460, -0.487622687550674950, -0.487666339664828700, -0.487709990559817010, -0.487753640235529920, -0.487797288691858790, +-0.487840935928694760, -0.487884581945928040, -0.487928226743449880, -0.487971870321151140, -0.488015512678923120, -0.488059153816655930, -0.488102793734240810, -0.488146432431568740, +-0.488190069908530980, -0.488233706165017660, -0.488277341200920090, -0.488320975016129140, -0.488364607610536130, -0.488408238984031240, -0.488451869136505730, -0.488495498067850590, +-0.488539125777957050, -0.488582752266715330, -0.488626377534016720, -0.488670001579752160, -0.488713624403813000, -0.488757246006089390, -0.488800866386472630, -0.488844485544854160, +-0.488888103481124050, -0.488931720195173670, -0.488975335686894000, -0.489018949956176400, -0.489062563002911010, -0.489106174826989200, -0.489149785428302010, -0.489193394806740680, +-0.489237002962195520, -0.489280609894557790, -0.489324215603718640, -0.489367820089569250, -0.489411423351999940, -0.489455025390902130, -0.489498626206166690, -0.489542225797685080, +-0.489585824165347520, -0.489629421309045410, -0.489673017228670180, -0.489716611924111980, -0.489760205395262220, -0.489803797642011980, -0.489847388664252650, -0.489890978461874400, +-0.489934567034768730, -0.489978154382826660, -0.490021740505939610, -0.490065325403997780, -0.490108909076892640, -0.490152491524515290, -0.490196072746757030, -0.490239652743508230, +-0.490283231514660300, -0.490326809060104290, -0.490370385379731600, -0.490413960473432610, -0.490457534341098730, -0.490501106982621340, -0.490544678397890840, -0.490588248586798670, +-0.490631817549235850, -0.490675385285093860, -0.490718951794263000, -0.490762517076634820, -0.490806081132100340, -0.490849643960550970, -0.490893205561877160, -0.490936765935970350, +-0.490980325082721600, -0.491023883002022430, -0.491067439693763150, -0.491110995157835300, -0.491154549394129950, -0.491198102402538640, -0.491241654182951630, -0.491285204735260550, +-0.491328754059356390, -0.491372302155130780, -0.491415849022474040, -0.491459394661277640, -0.491502939071433160, -0.491546482252830930, -0.491590024205362520, -0.491633564928919020, +-0.491677104423392020, -0.491720642688671830, -0.491764179724650090, -0.491807715531217880, -0.491851250108266750, -0.491894783455687100, -0.491938315573370530, -0.491981846461208180, +-0.492025376119091580, -0.492068904546911160, -0.492112431744558430, -0.492155957711924660, -0.492199482448901380, -0.492243005955379010, -0.492286528231249130, -0.492330049276403340, +-0.492373569090731990, -0.492417087674126730, -0.492460605026478760, -0.492504121147679660, -0.492547636037619860, -0.492591149696191000, -0.492634662123284270, -0.492678173318791210, +-0.492721683282602410, -0.492765192014609330, -0.492808699514703350, -0.492852205782775940, -0.492895710818717640, -0.492939214622420070, -0.492982717193774510, -0.493026218532672480, +-0.493069718639004560, -0.493113217512662290, -0.493156715153537430, -0.493200211561520330, -0.493243706736502750, -0.493287200678375890, -0.493330693387031390, -0.493374184862359840, +-0.493417675104252770, -0.493461164112601490, -0.493504651887297750, -0.493548138428231980, -0.493591623735295800, -0.493635107808380660, -0.493678590647378070, -0.493722072252178620, +-0.493765552622674020, -0.493809031758755510, -0.493852509660314800, -0.493895986327242460, -0.493939461759430150, -0.493982935956769560, -0.494026408919151280, -0.494069880646466950, +-0.494113351138607880, -0.494156820395465880, -0.494200288416931420, -0.494243755202896210, -0.494287220753251650, -0.494330685067889410, -0.494374148146700050, -0.494417609989575350, +-0.494461070596406650, -0.494504529967085600, -0.494547988101502910, -0.494591444999550210, -0.494634900661118870, -0.494678355086100700, -0.494721808274386280, -0.494765260225867310, +-0.494808710940435160, -0.494852160417981630, -0.494895608658397320, -0.494939055661574030, -0.494982501427403470, -0.495025945955776260, -0.495069389246584170, -0.495112831299718610, +-0.495156272115071350, -0.495199711692533070, -0.495243150031995480, -0.495286587133350000, -0.495330022996488480, -0.495373457621301470, -0.495416891007680830, -0.495460323155517970, +-0.495503754064704700, -0.495547183735131620, -0.495590612166690650, -0.495634039359273080, -0.495677465312770850, -0.495720890027074530, -0.495764313502076000, -0.495807735737667070, +-0.495851156733738420, -0.495894576490181930, -0.495937995006888900, -0.495981412283751370, -0.496024828320659860, -0.496068243117506250, -0.496111656674182110, -0.496155068990579150, +-0.496198480066588180, -0.496241889902101000, -0.496285298497009090, -0.496328705851204310, -0.496372111964577370, -0.496415516837020180, -0.496458920468424160, -0.496502322858681230, +-0.496545724007682150, -0.496589123915318730, -0.496632522581482880, -0.496675920006065360, -0.496719316188958040, -0.496762711130052380, -0.496806104829240370, -0.496849497286412760, +-0.496892888501461350, -0.496936278474277680, -0.496979667204753780, -0.497023054692780300, -0.497066440938249140, -0.497109825941051960, -0.497153209701080510, -0.497196592218225710, +-0.497239973492379420, -0.497283353523433220, -0.497326732311278940, -0.497370109855807540, -0.497413486156910830, -0.497456861214480350, -0.497500235028408180, -0.497543607598585010, +-0.497586978924902830, -0.497630349007253560, -0.497673717845528050, -0.497717085439618230, -0.497760451789415750, -0.497803816894812460, -0.497847180755699280, -0.497890543371968140, +-0.497933904743510620, -0.497977264870218760, -0.498020623751983360, -0.498063981388696340, -0.498107337780249400, -0.498150692926534520, -0.498194046827442500, -0.498237399482865380, +-0.498280750892694750, -0.498324101056822680, -0.498367449975139880, -0.498410797647538540, -0.498454144073910530, -0.498497489254146780, -0.498540833188139350, -0.498584175875779800, +-0.498627517316960200, -0.498670857511571420, -0.498714196459505540, -0.498757534160654100, -0.498800870614909240, -0.498844205822161820, -0.498887539782303880, -0.498930872495227110, +-0.498974203960823540, -0.499017534178984090, -0.499060863149600740, -0.499104190872565300, -0.499147517347769740, -0.499190842575104990, -0.499234166554463180, -0.499277489285736290, +-0.499320810768815290, -0.499364131003592340, -0.499407449989958950, -0.499450767727807390, -0.499494084217028510, -0.499537399457514460, -0.499580713449156830, -0.499624026191847870, +-0.499667337685478440, -0.499710647929940630, -0.499753956925126250, -0.499797264670927330, -0.499840571167234900, -0.499883876413941000, -0.499927180410937420, -0.499970483158116320, +-0.500013784655368610, -0.500057084902586380, -0.500100383899661830, -0.500143681646486040, -0.500186978142950990, -0.500230273388948430, -0.500273567384370680, -0.500316860129108480, +-0.500360151623054250, -0.500403441866099640, -0.500446730858136730, -0.500490018599056730, -0.500533305088751600, -0.500576590327113210, -0.500619874314033760, -0.500663157049404230, +-0.500706438533116690, -0.500749718765063250, -0.500792997745135750, -0.500836275473225400, -0.500879551949224400, -0.500922827173024500, -0.500966101144518010, -0.501009373863595790, +-0.501052645330150150, -0.501095915544073290, -0.501139184505256190, -0.501182452213591150, -0.501225718668970030, -0.501268983871285050, -0.501312247820427160, -0.501355510516288570, +-0.501398771958761370, -0.501442032147737530, -0.501485291083108240, -0.501528548764765710, -0.501571805192601810, -0.501615060366508710, -0.501658314286377640, -0.501701566952100890, +-0.501744818363570100, -0.501788068520677700, -0.501831317423314660, -0.501874565071373400, -0.501917811464746120, -0.501961056603323910, -0.502004300486999070, -0.502047543115663460, +-0.502090784489209300, -0.502134024607527870, -0.502177263470511390, -0.502220501078051830, -0.502263737430041270, -0.502306972526371020, -0.502350206366933390, -0.502393438951620140, +-0.502436670280323790, -0.502479900352935330, -0.502523129169347160, -0.502566356729451050, -0.502609583033139520, -0.502652808080303660, -0.502696031870835780, -0.502739254404628190, +-0.502782475681572080, -0.502825695701559770, -0.502868914464483230, -0.502912131970234770, -0.502955348218705580, -0.502998563209788090, -0.503041776943374150, -0.503084989419356200, +-0.503128200637625310, -0.503171410598073910, -0.503214619300594080, -0.503257826745078020, -0.503301032931417040, -0.503344237859503440, -0.503387441529229320, -0.503430643940486870, +-0.503473845093167500, -0.503517044987163540, -0.503560243622366840, -0.503603440998670050, -0.503646637115964250, -0.503689831974141860, -0.503733025573095180, -0.503776217912715650, +-0.503819408992895570, -0.503862598813526910, -0.503905787374502200, -0.503948974675712650, -0.503992160717050550, -0.504035345498408120, -0.504078529019677760, -0.504121711280750670, +-0.504164892281519280, -0.504208072021875680, -0.504251250501712270, -0.504294427720920260, -0.504337603679392290, -0.504380778377020330, -0.504423951813696700, -0.504467123989312930, +-0.504510294903761310, -0.504553464556934280, -0.504596632948723260, -0.504639800079020650, -0.504682965947718550, -0.504726130554709380, -0.504769293899884450, -0.504812455983136400, +-0.504855616804357200, -0.504898776363439270, -0.504941934660274040, -0.504985091694754030, -0.505028247466771220, -0.505071401976218250, -0.505114555222986320, -0.505157707206968070, +-0.505200857928055470, -0.505244007386141170, -0.505287155581116370, -0.505330302512873810, -0.505373448181305810, -0.505416592586303780, -0.505459735727760370, -0.505502877605567560, +-0.505546018219617980, -0.505589157569802940, -0.505632295656014970, -0.505675432478146280, -0.505718568036089390, -0.505761702329735720, -0.505804835358977800, -0.505847967123707720, +-0.505891097623818230, -0.505934226859200530, -0.505977354829747260, -0.506020481535350620, -0.506063606975903140, -0.506106731151296340, -0.506149854061422650, -0.506192975706174720, +-0.506236096085443950, -0.506279215199122890, -0.506322333047103830, -0.506365449629279430, -0.506408564945540870, -0.506451678995781030, -0.506494791779891870, -0.506537903297766160, +-0.506581013549295300, -0.506624122534371950, -0.506667230252888290, -0.506710336704736970, -0.506753441889809310, -0.506796545807998160, -0.506839648459195600, -0.506882749843294290, +-0.506925849960185640, -0.506968948809762510, -0.507012046391916990, -0.507055142706541620, -0.507098237753528140, -0.507141331532768970, -0.507184424044156980, -0.507227515287583360, +-0.507270605262941100, -0.507313693970122270, -0.507356781409019630, -0.507399867579524600, -0.507442952481529930, -0.507486036114927930, -0.507529118479611130, -0.507572199575471170, +-0.507615279402400810, -0.507658357960292130, -0.507701435249037990, -0.507744511268529930, -0.507787586018660480, -0.507830659499322160, -0.507873731710407510, -0.507916802651808160, +-0.507959872323416880, -0.508002940725126200, -0.508046007856827850, -0.508089073718414390, -0.508132138309778330, -0.508175201630812310, -0.508218263681407880, -0.508261324461457780, +-0.508304383970854420, -0.508347442209490460, -0.508390499177257430, -0.508433554874048290, -0.508476609299755130, -0.508519662454270940, -0.508562714337487120, -0.508605764949296550, +-0.508648814289591630, -0.508691862358265020, -0.508734909155208360, -0.508777954680314390, -0.508820998933475880, -0.508864041914584560, -0.508907083623533210, -0.508950124060214000, +-0.508993163224519930, -0.509036201116342620, -0.509079237735574730, -0.509122273082108780, -0.509165307155837520, -0.509208339956652710, -0.509251371484446880, -0.509294401739112780, +-0.509337430720542940, -0.509380458428629220, -0.509423484863264280, -0.509466510024340740, -0.509509533911751130, -0.509552556525387450, -0.509595577865142310, -0.509638597930908270, +-0.509681616722578060, -0.509724634240043550, -0.509767650483197280, -0.509810665451932430, -0.509853679146140440, -0.509896691565714270, -0.509939702710546340, -0.509982712580529630, +-0.510025721175555670, -0.510068728495517430, -0.510111734540307340, -0.510154739309818360, -0.510197742803942140, -0.510240745022571550, -0.510283745965599110, -0.510326745632917580, +-0.510369744024418930, -0.510412741139995910, -0.510455736979540940, -0.510498731542947120, -0.510541724830106070, -0.510584716840910670, -0.510627707575253890, -0.510670697033027480, +-0.510713685214124190, -0.510756672118436780, -0.510799657745858120, -0.510842642096279940, -0.510885625169595130, -0.510928606965696200, -0.510971587484476130, -0.511014566725826790, +-0.511057544689641040, -0.511100521375811300, -0.511143496784230770, -0.511186470914791080, -0.511229443767385220, -0.511272415341905710, -0.511315385638245520, -0.511358354656296530, +-0.511401322395951710, -0.511444288857103910, -0.511487254039645010, -0.511530217943467980, -0.511573180568465350, -0.511616141914530200, -0.511659101981554290, -0.511702060769430700, +-0.511745018278051860, -0.511787974507310950, -0.511830929457099630, -0.511873883127311080, -0.511916835517837730, -0.511959786628572780, -0.512002736459407860, -0.512045685010236170, +-0.512088632280950250, -0.512131578271443180, -0.512174522981606710, -0.512217466411333920, -0.512260408560517910, -0.512303349429050540, -0.512346289016824660, -0.512389227323733150, +-0.512432164349668980, -0.512475100094523910, -0.512518034558191230, -0.512560967740563370, -0.512603899641533410, -0.512646830260993450, -0.512689759598836340, -0.512732687654954830, +-0.512775614429242020, -0.512818539921589770, -0.512861464131891260, -0.512904387060038940, -0.512947308705926090, -0.512990229069444690, -0.513033148150487620, -0.513076065948947610, +-0.513118982464717990, -0.513161897697690380, -0.513204811647758110, -0.513247724314814140, -0.513290635698750550, -0.513333545799460330, -0.513376454616836230, -0.513419362150771330, +-0.513462268401157720, -0.513505173367888370, -0.513548077050856140, -0.513590979449954130, -0.513633880565074310, -0.513676780396109640, -0.513719678942953120, -0.513762576205497810, +-0.513805472183635700, -0.513848366877259770, -0.513891260286263090, -0.513934152410538530, -0.513977043249978170, -0.514019932804475330, -0.514062821073922980, -0.514105708058213210, +-0.514148593757239090, -0.514191478170893610, -0.514234361299069740, -0.514277243141659570, -0.514320123698556400, -0.514363002969652870, -0.514405880954842190, -0.514448757654016430, +-0.514491633067068690, -0.514534507193891930, -0.514577380034379360, -0.514620251588422950, -0.514663121855915780, -0.514705990836750950, -0.514748858530821420, -0.514791724938019390, +-0.514834590058238060, -0.514877453891370740, -0.514920316437309290, -0.514963177695947020, -0.515006037667176900, -0.515048896350892020, -0.515091753746984460, -0.515134609855347540, +-0.515177464675874220, -0.515220318208457480, -0.515263170452989640, -0.515306021409363880, -0.515348871077472960, -0.515391719457210300, -0.515434566548467980, -0.515477412351139310, +-0.515520256865117040, -0.515563100090294490, -0.515605942026563850, -0.515648782673818310, -0.515691622031950850, -0.515734460100854660, -0.515777296880421950, -0.515820132370546030, +-0.515862966571120190, -0.515905799482036520, -0.515948631103188340, -0.515991461434468610, -0.516034290475770650, -0.516077118226986540, -0.516119944688009590, -0.516162769858732770, +-0.516205593739049510, -0.516248416328851770, -0.516291237628033080, -0.516334057636486210, -0.516376876354104670, -0.516419693780780560, -0.516462509916407080, -0.516505324760877520, +-0.516548138314084860, -0.516590950575921530, -0.516633761546280820, -0.516676571225056170, -0.516719379612139650, -0.516762186707424580, -0.516804992510804140, -0.516847797022171650, +-0.516890600241419200, -0.516933402168440300, -0.516976202803127840, -0.517019002145375330, -0.517061800195074860, -0.517104596952119970, -0.517147392416403510, -0.517190186587819010, +-0.517232979466258680, -0.517275771051615820, -0.517318561343783510, -0.517361350342655290, -0.517404138048123240, -0.517446924460080890, -0.517489709578421550, -0.517532493403037640, +-0.517575275933822470, -0.517618057170669000, -0.517660837113470880, -0.517703615762120320, -0.517746393116510610, -0.517789169176534950, -0.517831943942086870, -0.517874717413058460, +-0.517917489589343140, -0.517960260470834210, -0.518003030057425100, -0.518045798349007880, -0.518088565345476200, -0.518131331046723150, -0.518174095452642150, -0.518216858563125490, +-0.518259620378066720, -0.518302380897359250, -0.518345140120895500, -0.518387898048568880, -0.518430654680272500, -0.518473410015899860, -0.518516164055343290, -0.518558916798496310, +-0.518601668245252110, -0.518644418395504010, -0.518687167249144650, -0.518729914806067230, -0.518772661066165040, -0.518815406029331630, -0.518858149695459290, -0.518900892064441570, +-0.518943633136171640, -0.518986372910543060, -0.519029111387448120, -0.519071848566780350, -0.519114584448432950, -0.519157319032299560, -0.519200052318272490, -0.519242784306245260, +-0.519285514996111420, -0.519328244387763370, -0.519370972481094870, -0.519413699275998790, -0.519456424772368860, -0.519499148970097520, -0.519541871869078300, -0.519584593469204490, +-0.519627313770369530, -0.519670032772465820, -0.519712750475387120, -0.519755466879026520, -0.519798181983277540, -0.519840895788032830, -0.519883608293185920, -0.519926319498629890, +-0.519969029404258490, -0.520011738009964030, -0.520054445315640380, -0.520097151321180950, -0.520139856026478280, -0.520182559431425880, -0.520225261535917190, -0.520267962339845620, +-0.520310661843103820, -0.520353360045585410, -0.520396056947183490, -0.520438752547791930, -0.520481446847303020, -0.520524139845610520, -0.520566831542607740, -0.520609521938188210, +-0.520652211032244460, -0.520694898824670240, -0.520737585315358630, -0.520780270504203610, -0.520822954391097490, -0.520865636975933910, -0.520908318258606730, -0.520950998239008260, +-0.520993676917032360, -0.521036354292572330, -0.521079030365521720, -0.521121705135773160, -0.521164378603220290, -0.521207050767756530, -0.521249721629275520, -0.521292391187669790, +-0.521335059442833090, -0.521377726394658850, -0.521420392043040580, -0.521463056387870940, -0.521505719429043670, -0.521548381166452080, -0.521591041599989920, -0.521633700729549840, +-0.521676358555025480, -0.521719015076310240, -0.521761670293297790, -0.521804324205880850, -0.521846976813952980, -0.521889628117408130, -0.521932278116138850, -0.521974926810038880, +-0.522017574199001630, -0.522060220282920760, -0.522102865061688900, -0.522145508535199920, -0.522188150703347230, -0.522230791566024480, -0.522273431123124410, -0.522316069374540780, +-0.522358706320166900, -0.522401341959896740, -0.522443976293622710, -0.522486609321238800, -0.522529241042638430, -0.522571871457715330, -0.522614500566362050, -0.522657128368472670, +-0.522699754863940710, -0.522742380052659050, -0.522785003934521430, -0.522827626509421380, -0.522870247777252550, -0.522912867737907790, -0.522955486391280750, -0.522998103737265070, +-0.523040719775754500, -0.523083334506641790, -0.523125947929820700, -0.523168560045184750, -0.523211170852627800, -0.523253780352042510, -0.523296388543322720, -0.523338995426362090, +-0.523381601001054240, -0.523424205267292050, -0.523466808224969380, -0.523509409873979980, -0.523552010214216710, -0.523594609245573440, -0.523637206967943690, -0.523679803381221220, +-0.523722398485298890, -0.523764992280070560, -0.523807584765429770, -0.523850175941270480, -0.523892765807485230, -0.523935354363968100, -0.523977941610612620, -0.524020527547312650, +-0.524063112173960950, -0.524105695490451500, -0.524148277496677810, -0.524190858192533860, -0.524233437577912300, -0.524276015652707210, -0.524318592416812000, -0.524361167870120770, +-0.524403742012526150, -0.524446314843922230, -0.524488886364202990, -0.524531456573261060, -0.524574025470990520, -0.524616593057284810, -0.524659159332038110, -0.524701724295143060, +-0.524744287946493750, -0.524786850285983820, -0.524829411313507020, -0.524871971028956330, -0.524914529432225720, -0.524957086523208720, -0.524999642301799520, -0.525042196767890660, +-0.525084749921376440, -0.525127301762150280, -0.525169852290106380, -0.525212401505137370, -0.525254949407137350, -0.525297495996000290, -0.525340041271619150, -0.525382585233887920, +-0.525425127882700240, -0.525467669217950070, -0.525510209239530400, -0.525552747947335200, -0.525595285341258100, -0.525637821421193200, -0.525680356187033350, -0.525722889638672640, +-0.525765421776004720, -0.525807952598923540, -0.525850482107322210, -0.525893010301094590, -0.525935537180134420, -0.525978062744335890, -0.526020586993591780, -0.526063109927796150, +-0.526105631546843200, -0.526148151850625690, -0.526190670839037920, -0.526233188511973430, -0.526275704869326290, -0.526318219910989590, -0.526360733636857310, -0.526403246046823200, +-0.526445757140781350, -0.526488266918624710, -0.526530775380247400, -0.526573282525543140, -0.526615788354406140, -0.526658292866729270, -0.526700796062406610, -0.526743297941332010, +-0.526785798503399460, -0.526828297748502150, -0.526870795676534050, -0.526913292287389260, -0.526955787580960950, -0.526998281557143120, -0.527040774215829620, -0.527083265556914650, +-0.527125755580290960, -0.527168244285852960, -0.527210731673494410, -0.527253217743109290, -0.527295702494590900, -0.527338185927833100, -0.527380668042729980, -0.527423148839175520, +-0.527465628317062670, -0.527508106476285880, -0.527550583316738870, -0.527593058838315640, -0.527635533040909490, -0.527678005924414490, -0.527720477488724530, -0.527762947733733670, +-0.527805416659335110, -0.527847884265422950, -0.527890350551891490, -0.527932815518633800, -0.527975279165543990, -0.528017741492516010, -0.528060202499444190, -0.528102662186221370, +-0.528145120552741880, -0.528187577598899560, -0.528230033324588730, -0.528272487729702480, -0.528314940814134990, -0.528357392577780140, -0.528399843020532110, -0.528442292142284220, +-0.528484739942930550, -0.528527186422364960, -0.528569631580481870, -0.528612075417174250, -0.528654517932336530, -0.528696959125862790, -0.528739398997646330, -0.528781837547581460, +-0.528824274775561820, -0.528866710681482060, -0.528909145265235030, -0.528951578526715150, -0.528994010465816290, -0.529036441082432860, -0.529078870376457840, -0.529121298347785760, +-0.529163724996310370, -0.529206150321926080, -0.529248574324525990, -0.529290997004004500, -0.529333418360255600, -0.529375838393173370, -0.529418257102651340, -0.529460674488583470, +-0.529503090550864420, -0.529545505289387260, -0.529587918704046310, -0.529630330794735540, -0.529672741561349360, -0.529715151003780970, -0.529757559121924680, -0.529799965915674460, +-0.529842371384924740, -0.529884775529568700, -0.529927178349500760, -0.529969579844614790, -0.530011980014805320, -0.530054378859965540, -0.530096776379989750, -0.530139172574772060, +-0.530181567444206750, -0.530223960988187250, -0.530266353206607750, -0.530308744099362350, -0.530351133666345560, -0.530393521907450480, -0.530435908822571740, -0.530478294411603430, +-0.530520678674439080, -0.530563061610973110, -0.530605443221099370, -0.530647823504712400, -0.530690202461705620, -0.530732580091973220, -0.530774956395409390, -0.530817331371908560, +-0.530859705021364040, -0.530902077343670230, -0.530944448338721230, -0.530986818006411450, -0.531029186346634320, -0.531071553359284240, -0.531113919044255200, -0.531156283401441720, +-0.531198646430737220, -0.531241008132036120, -0.531283368505232830, -0.531325727550220780, -0.531368085266894390, -0.531410441655147730, -0.531452796714875440, -0.531495150445970730, +-0.531537502848328130, -0.531579853921841820, -0.531622203666406220, -0.531664552081914770, -0.531706899168261860, -0.531749244925341810, -0.531791589353048930, -0.531833932451276750, +-0.531876274219919790, -0.531918614658872020, -0.531960953768028210, -0.532003291547281540, -0.532045627996526770, -0.532087963115658200, -0.532130296904569370, -0.532172629363154790, +-0.532214960491308680, -0.532257290288925430, -0.532299618755898710, -0.532341945892122910, -0.532384271697492250, -0.532426596171901250, -0.532468919315243320, -0.532511241127413220, +-0.532553561608305030, -0.532595880757813170, -0.532638198575831390, -0.532680515062254000, -0.532722830216975310, -0.532765144039889950, -0.532807456530891450, -0.532849767689874240, +-0.532892077516732950, -0.532934386011361120, -0.532976693173653370, -0.533018999003503800, -0.533061303500807160, -0.533103606665456860, -0.533145908497347550, -0.533188208996373540, +-0.533230508162429340, -0.533272805995408380, -0.533315102495205530, -0.533357397661714970, -0.533399691494831130, -0.533441983994447870, -0.533484275160459490, -0.533526564992760520, +-0.533568853491245500, -0.533611140655807950, -0.533653426486342510, -0.533695710982743600, -0.533737994144905640, -0.533780275972722480, -0.533822556466088560, -0.533864835624898610, +-0.533907113449046180, -0.533949389938426000, -0.533991665092932390, -0.534033938912459980, -0.534076211396902310, -0.534118482546154130, -0.534160752360109740, -0.534203020838663780, +-0.534245287981709890, -0.534287553789142940, -0.534329818260857010, -0.534372081396746860, -0.534414343196706220, -0.534456603660629640, -0.534498862788411630, -0.534541120579946740, +-0.534583377035128700, -0.534625632153852280, -0.534667885936012110, -0.534710138381501940, -0.534752389490216310, -0.534794639262049730, -0.534836887696896970, -0.534879134794651550, +-0.534921380555208330, -0.534963624978461730, -0.535005868064306390, -0.535048109812635950, -0.535090350223345280, -0.535132589296328680, -0.535174827031481120, -0.535217063428696020, +-0.535259298487868240, -0.535301532208892210, -0.535343764591662770, -0.535385995636073590, -0.535428225342019280, -0.535470453709394940, -0.535512680738093990, -0.535554906428011400, +-0.535597130779041470, -0.535639353791079190, -0.535681575464018070, -0.535723795797752980, -0.535766014792178450, -0.535808232447189340, -0.535850448762679180, -0.535892663738542830, +-0.535934877374674930, -0.535977089670970240, -0.536019300627322390, -0.536061510243626250, -0.536103718519776340, -0.536145925455667640, -0.536188131051193670, -0.536230335306249310, +-0.536272538220729180, -0.536314739794528040, -0.536356940027539750, -0.536399138919659070, -0.536441336470780850, -0.536483532680798960, -0.536525727549608260, -0.536567921077103270, +-0.536610113263178870, -0.536652304107728680, -0.536694493610647800, -0.536736681771830760, -0.536778868591172300, -0.536821054068566280, -0.536863238203907690, -0.536905420997090930, +-0.536947602448011100, -0.536989782556561820, -0.537031961322638090, -0.537074138746134520, -0.537116314826945880, -0.537158489564966150, -0.537200662960090170, -0.537242835012212820, +-0.537285005721228170, -0.537327175087030870, -0.537369343109515670, -0.537411509788577550, -0.537453675124110240, -0.537495839116008730, -0.537538001764167660, -0.537580163068481890, +-0.537622323028845380, -0.537664481645153130, -0.537706638917299530, -0.537748794845179790, -0.537790949428687770, -0.537833102667718220, -0.537875254562166010, -0.537917405111925980, +-0.537959554316892130, -0.538001702176959420, -0.538043848692022710, -0.538085993861976090, -0.538128137686714410, -0.538170280166132440, -0.538212421300125140, -0.538254561088586490, +-0.538296699531411350, -0.538338836628494470, -0.538380972379730820, -0.538423106785014480, -0.538465239844240330, -0.538507371557302990, -0.538549501924097670, -0.538591630944518230, +-0.538633758618459750, -0.538675884945816860, -0.538718009926484550, -0.538760133560356900, -0.538802255847328880, -0.538844376787295690, -0.538886496380151070, -0.538928614625790230, +-0.538970731524107900, -0.539012847074999080, -0.539054961278357840, -0.539097074134079150, -0.539139185642057760, -0.539181295802188760, -0.539223404614366130, -0.539265512078485050, +-0.539307618194440170, -0.539349722962126690, -0.539391826381438460, -0.539433928452270670, -0.539476029174517980, -0.539518128548075680, -0.539560226572837640, -0.539602323248699060, +-0.539644418575554670, -0.539686512553299690, -0.539728605181827970, -0.539770696461034700, -0.539812786390815090, -0.539854874971063210, -0.539896962201674050, -0.539939048082542560, +-0.539981132613563840, -0.540023215794631860, -0.540065297625641820, -0.540107378106488570, -0.540149457237067200, -0.540191535017271910, -0.540233611446997660, -0.540275686526139440, +-0.540317760254592440, -0.540359832632250630, -0.540401903659009200, -0.540443973334763020, -0.540486041659407280, -0.540528108632836070, -0.540570174254944690, -0.540612238525628120, +-0.540654301444780550, -0.540696363012297290, -0.540738423228073200, -0.540780482092003360, -0.540822539603981860, -0.540864595763904110, -0.540906650571664870, -0.540948704027159330, +-0.540990756130281690, -0.541032806880927140, -0.541074856278990550, -0.541116904324367210, -0.541158951016951220, -0.541200996356637990, -0.541243040343322160, -0.541285082976899030, +-0.541327124257262930, -0.541369164184308920, -0.541411202757932530, -0.541453239978027630, -0.541495275844489640, -0.541537310357213530, -0.541579343516094490, -0.541621375321026610, +-0.541663405771905420, -0.541705434868625660, -0.541747462611082750, -0.541789488999170790, -0.541831514032785070, -0.541873537711820560, -0.541915560036172580, -0.541957581005735320, +-0.541999600620404200, -0.542041618880073960, -0.542083635784640140, -0.542125651333996820, -0.542167665528039410, -0.542209678366662780, -0.542251689849762350, -0.542293699977232310, +-0.542335708748967970, -0.542377716164864850, -0.542419722224816940, -0.542461726928719860, -0.542503730276468370, -0.542545732267957880, -0.542587732903082820, -0.542629732181738380, +-0.542671730103819530, -0.542713726669221800, -0.542755721877839380, -0.542797715729567700, -0.542839708224301610, -0.542881699361936750, -0.542923689142367220, -0.542965677565488410, +-0.543007664631195430, -0.543049650339383680, -0.543091634689947480, -0.543133617682782120, -0.543175599317783140, -0.543217579594844730, -0.543259558513862430, -0.543301536074731310, +-0.543343512277346560, -0.543385487121602730, -0.543427460607395220, -0.543469432734619010, -0.543511403503169510, -0.543553372912941260, -0.543595340963829550, -0.543637307655729480, +-0.543679272988536470, -0.543721236962144920, -0.543763199576450360, -0.543805160831347670, -0.543847120726732580, -0.543889079262499300, -0.543931036438543240, -0.543972992254760030, +-0.544014946711043890, -0.544056899807290440, -0.544098851543394770, -0.544140801919252290, -0.544182750934757430, -0.544224698589805710, -0.544266644884292220, -0.544308589818112590, +-0.544350533391161020, -0.544392475603333150, -0.544434416454524060, -0.544476355944629290, -0.544518294073543240, -0.544560230841161560, -0.544602166247379230, -0.544644100292091870, +-0.544686032975193910, -0.544727964296580770, -0.544769894256148190, -0.544811822853790480, -0.544853750089403290, -0.544895675962881580, -0.544937600474121100, -0.544979523623016270, +-0.545021445409462620, -0.545063365833355460, -0.545105284894590090, -0.545147202593061260, -0.545189118928664400, -0.545231033901294680, -0.545272947510847760, -0.545314859757218160, +-0.545356770640301410, -0.545398680159992600, -0.545440588316187580, -0.545482495108780770, -0.545524400537667600, -0.545566304602743470, -0.545608207303904020, -0.545650108641043570, +-0.545692008614057980, -0.545733907222842650, -0.545775804467292120, -0.545817700347302150, -0.545859594862767920, -0.545901488013585070, -0.545943379799648240, -0.545985270220852860, +-0.546027159277094220, -0.546069046968268190, -0.546110933294269070, -0.546152818254992730, -0.546194701850334250, -0.546236584080189490, -0.546278464944452760, -0.546320344443019910, +-0.546362222575786260, -0.546404099342647440, -0.546445974743497880, -0.546487848778233530, -0.546529721446749830, -0.546571592748941510, -0.546613462684704120, -0.546655331253933170, +-0.546697198456524200, -0.546739064292371960, -0.546780928761371960, -0.546822791863419640, -0.546864653598410740, -0.546906513966239790, -0.546948372966802650, -0.546990230599994520, +-0.547032086865711250, -0.547073941763847270, -0.547115795294298550, -0.547157647456960270, -0.547199498251728310, -0.547241347678497190, -0.547283195737162660, -0.547325042427620590, +-0.547366887749765500, -0.547408731703493130, -0.547450574288699030, -0.547492415505278830, -0.547534255353127270, -0.547576093832140010, -0.547617930942212450, -0.547659766683240570, +-0.547701601055118890, -0.547743434057743170, -0.547785265691008830, -0.547827095954811720, -0.547868924849046480, -0.547910752373608980, -0.547952578528394520, -0.547994403313299070, +-0.548036226728217170, -0.548078048773044780, -0.548119869447677210, -0.548161688752010430, -0.548203506685938980, -0.548245323249358710, -0.548287138442165590, -0.548328952264254270, +-0.548370764715520490, -0.548412575795859890, -0.548454385505168120, -0.548496193843340030, -0.548538000810271490, -0.548579806405858020, -0.548621610629995260, -0.548663413482578190, +-0.548705214963502550, -0.548747015072663880, -0.548788813809958140, -0.548830611175279870, -0.548872407168525140, -0.548914201789589380, -0.548955995038368450, -0.548997786914757200, +-0.549039577418651390, -0.549081366549947100, -0.549123154308539090, -0.549164940694323090, -0.549206725707194750, -0.549248509347049940, -0.549290291613783620, -0.549332072507291440, +-0.549373852027469130, -0.549415630174212470, -0.549457406947416520, -0.549499182346976920, -0.549540956372789440, -0.549582729024749920, -0.549624500302753230, -0.549666270206695230, +-0.549708038736471560, -0.549749805891978190, -0.549791571673109990, -0.549833336079762810, -0.549875099111832630, -0.549916860769214420, -0.549958621051803930, -0.550000379959497020, +-0.550042137492189440, -0.550083893649776170, -0.550125648432153170, -0.550167401839216090, -0.550209153870860780, -0.550250904526982330, -0.550292653807476500, -0.550334401712239130, +-0.550376148241166100, -0.550417893394152260, -0.550459637171093810, -0.550501379571886160, -0.550543120596425520, -0.550584860244606620, -0.550626598516325670, -0.550668335411478530, +-0.550710070929960160, -0.550751805071666660, -0.550793537836493650, -0.550835269224337120, -0.550876999235092150, -0.550918727868654590, -0.550960455124920200, -0.551002181003785060, +-0.551043905505144150, -0.551085628628893430, -0.551127350374928550, -0.551169070743145810, -0.551210789733439950, -0.551252507345707190, -0.551294223579843030, -0.551335938435743800, +-0.551377651913304350, -0.551419364012420750, -0.551461074732988670, -0.551502784074904380, -0.551544492038062660, -0.551586198622359800, -0.551627903827691780, -0.551669607653953560, +-0.551711310101041460, -0.551753011168851000, -0.551794710857278380, -0.551836409166218570, -0.551878106095567870, -0.551919801645221810, -0.551961495815076590, -0.552003188605027280, +-0.552044880014970100, -0.552086570044800660, -0.552128258694415060, -0.552169945963708610, -0.552211631852577160, -0.552253316360916680, -0.552294999488623370, -0.552336681235592100, +-0.552378361601719160, -0.552420040586900640, -0.552461718191031630, -0.552503394414008420, -0.552545069255726660, -0.552586742716082550, -0.552628414794971270, -0.552670085492289020, +-0.552711754807931440, -0.552753422741794950, -0.552795089293774410, -0.552836754463766230, -0.552878418251666170, -0.552920080657370420, -0.552961741680774050, -0.553003401321773390, +-0.553045059580264180, -0.553086716456142710, -0.553128371949304090, -0.553170026059644600, -0.553211678787060350, -0.553253330131446510, -0.553294980092699400, -0.553336628670714760, +-0.553378275865389010, -0.553419921676617130, -0.553461566104295530, -0.553503209148319960, -0.553544850808586730, -0.553586491084991030, -0.553628129977429050, -0.553669767485796770, +-0.553711403609990490, -0.553753038349905190, -0.553794671705437500, -0.553836303676482960, -0.553877934262938080, -0.553919563464698060, -0.553961191281659100, -0.554002817713717070, +-0.554044442760768470, -0.554086066422708410, -0.554127688699433070, -0.554169309590838990, -0.554210929096821240, -0.554252547217276130, -0.554294163952099740, -0.554335779301188160, +-0.554377393264436910, -0.554419005841742090, -0.554460617032999760, -0.554502226838106350, -0.554543835256956940, -0.554585442289447840, -0.554627047935475240, -0.554668652194935440, +-0.554710255067723530, -0.554751856553736040, -0.554793456652868940, -0.554835055365018540, -0.554876652690080130, -0.554918248627950030, -0.554959843178524760, -0.555001436341699410, +-0.555043028117370610, -0.555084618505434110, -0.555126207505786560, -0.555167795118323040, -0.555209381342940070, -0.555250966179533620, -0.555292549628000120, -0.555334131688234870, +-0.555375712360134280, -0.555417291643594440, -0.555458869538511760, -0.555500446044781440, -0.555542021162300110, -0.555583594890963760, -0.555625167230668680, -0.555666738181310400, +-0.555708307742785230, -0.555749875914989700, -0.555791442697818990, -0.555833008091169760, -0.555874572094938070, -0.555916134709020240, -0.555957695933311680, -0.555999255767708920, +-0.556040814212108050, -0.556082371266405470, -0.556123926930496610, -0.556165481204278000, -0.556207034087645600, -0.556248585580496060, -0.556290135682724560, -0.556331684394227870, +-0.556373231714901830, -0.556414777644643200, -0.556456322183347170, -0.556497865330910390, -0.556539407087229270, -0.556580947452199330, -0.556622486425716990, -0.556664024007678340, +-0.556705560197980120, -0.556747094996517530, -0.556788628403187320, -0.556830160417885470, -0.556871691040508600, -0.556913220270952140, -0.556954748109112610, -0.556996274554886210, +-0.557037799608169570, -0.557079323268858010, -0.557120845536848150, -0.557162366412036090, -0.557203885894318570, -0.557245403983591010, -0.557286920679749830, -0.557328435982691440, +-0.557369949892312260, -0.557411462408507810, -0.557452973531174840, -0.557494483260209670, -0.557535991595508040, -0.557577498536966360, -0.557619004084480950, -0.557660508237948330, +-0.557702010997264130, -0.557743512362324890, -0.557785012333026910, -0.557826510909266830, -0.557868008090939950, -0.557909503877943140, -0.557950998270172470, -0.557992491267524810, +-0.558033982869895470, -0.558075473077181190, -0.558116961889278280, -0.558158449306083270, -0.558199935327491790, -0.558241419953400490, -0.558282903183705990, -0.558324385018303840, +-0.558365865457090770, -0.558407344499962990, -0.558448822146817240, -0.558490298397549050, -0.558531773252055160, -0.558573246710231790, -0.558614718771975770, -0.558656189437182430, +-0.558697658705748720, -0.558739126577570850, -0.558780593052545570, -0.558822058130568400, -0.558863521811536090, -0.558904984095344950, -0.558946444981891720, -0.558987904471071940, +-0.559029362562782570, -0.559070819256920040, -0.559112274553380080, -0.559153728452059460, -0.559195180952854590, -0.559236632055662100, -0.559278081760377630, -0.559319530066897940, +-0.559360976975119550, -0.559402422484938990, -0.559443866596252000, -0.559485309308955350, -0.559526750622945430, -0.559568190538118900, -0.559609629054371730, -0.559651066171600320, +-0.559692501889701320, -0.559733936208571480, -0.559775369128106330, -0.559816800648202830, -0.559858230768757290, -0.559899659489666580, -0.559941086810826330, -0.559982512732133290, +-0.560023937253484430, -0.560065360374775390, -0.560106782095902810, -0.560148202416763440, -0.560189621337253810, -0.560231038857269770, -0.560272454976708190, -0.560313869695465480, +-0.560355283013438400, -0.560396694930522800, -0.560438105446615430, -0.560479514561612820, -0.560520922275411730, -0.560562328587908000, -0.560603733498998500, -0.560645137008579650, +-0.560686539116548310, -0.560727939822800230, -0.560769339127232260, -0.560810737029741380, -0.560852133530223340, -0.560893528628574890, -0.560934922324692660, -0.560976314618473420, +-0.561017705509813110, -0.561059094998608510, -0.561100483084756130, -0.561141869768152950, -0.561183255048694710, -0.561224638926278390, -0.561266021400800400, -0.561307402472157820, +-0.561348782140246190, -0.561390160404962810, -0.561431537266203870, -0.561472912723866570, -0.561514286777846540, -0.561555659428040870, -0.561597030674346300, -0.561638400516658920, +-0.561679768954875370, -0.561721135988892510, -0.561762501618607190, -0.561803865843915280, -0.561845228664713650, -0.561886590080898920, -0.561927950092368180, -0.561969308699017070, +-0.562010665900742780, -0.562052021697441840, -0.562093376089011110, -0.562134729075346670, -0.562176080656345390, -0.562217430831903900, -0.562258779601919170, -0.562300126966287170, +-0.562341472924904770, -0.562382817477669160, -0.562424160624476090, -0.562465502365222640, -0.562506842699805330, -0.562548181628121370, -0.562589519150066610, -0.562630855265538020, +-0.562672189974432360, -0.562713523276646480, -0.562754855172076460, -0.562796185660619400, -0.562837514742171810, -0.562878842416630780, -0.562920168683892270, -0.562961493543853390, +-0.563002816996410640, -0.563044139041461330, -0.563085459678901330, -0.563126778908627610, -0.563168096730537030, -0.563209413144526440, -0.563250728150492040, -0.563292041748330810, +-0.563333353937939930, -0.563374664719215160, -0.563415974092053800, -0.563457282056352480, -0.563498588612008300, -0.563539893758917330, -0.563581197496976550, -0.563622499826082920, +-0.563663800746133310, -0.563705100257023810, -0.563746398358651590, -0.563787695050913420, -0.563828990333706260, -0.563870284206926310, -0.563911576670470760, -0.563952867724236140, +-0.563994157368119750, -0.564035445602017570, -0.564076732425826900, -0.564118017839444600, -0.564159301842766970, -0.564200584435691100, -0.564241865618113740, -0.564283145389932180, +-0.564324423751042300, -0.564365700701341290, -0.564406976240726110, -0.564448250369093850, -0.564489523086340590, -0.564530794392363640, -0.564572064287059530, -0.564613332770325660, +-0.564654599842058120, -0.564695865502154120, -0.564737129750510490, -0.564778392587024340, -0.564819654011591730, -0.564860914024110090, -0.564902172624476620, -0.564943429812587270, +-0.564984685588339360, -0.565025939951629640, -0.565067192902355520, -0.565108444440413080, -0.565149694565699520, -0.565190943278111700, -0.565232190577546810, -0.565273436463901160, +-0.565314680937071930, -0.565355923996956000, -0.565397165643450660, -0.565438405876452000, -0.565479644695857320, -0.565520882101563480, -0.565562118093467790, -0.565603352671466550, +-0.565644585835456850, -0.565685817585335760, -0.565727047921000370, -0.565768276842347100, -0.565809504349273130, -0.565850730441675780, -0.565891955119451120, -0.565933178382496680, +-0.565974400230709220, -0.566015620663986250, -0.566056839682223760, -0.566098057285319150, -0.566139273473169500, -0.566180488245671910, -0.566221701602722780, -0.566262913544219430, +-0.566304124070058810, -0.566345333180138240, -0.566386540874353920, -0.566427747152603240, -0.566468952014783200, -0.566510155460791200, -0.566551357490523430, -0.566592558103877320, +-0.566633757300750050, -0.566674955081038160, -0.566716151444638830, -0.566757346391449040, -0.566798539921366310, -0.566839732034286840, -0.566880922730108150, -0.566922112008727000, +-0.566963299870041020, -0.567004486313946400, -0.567045671340340560, -0.567086854949120590, -0.567128037140183780, -0.567169217913426560, -0.567210397268746340, -0.567251575206040080, +-0.567292751725205210, -0.567333926826138150, -0.567375100508736190, -0.567416272772896970, -0.567457443618516580, -0.567498613045492650, -0.567539781053722160, -0.567580947643102630, +-0.567622112813530370, -0.567663276564902790, -0.567704438897116970, -0.567745599810070440, -0.567786759303659630, -0.567827917377781820, -0.567869074032334330, -0.567910229267214460, +-0.567951383082318630, -0.567992535477544360, -0.568033686452788730, -0.568074836007949280, -0.568115984142922300, -0.568157130857605440, -0.568198276151896110, -0.568239420025690720, +-0.568280562478886810, -0.568321703511381450, -0.568362843123072170, -0.568403981313855500, -0.568445118083628850, -0.568486253432289310, -0.568527387359734630, -0.568568519865861100, +-0.568609650950566260, -0.568650780613747190, -0.568691908855301630, -0.568733035675125900, -0.568774161073117620, -0.568815285049173890, -0.568856407603192340, -0.568897528735069380, +-0.568938648444702650, -0.568979766731989240, -0.569020883596826900, -0.569061999039111810, -0.569103113058741840, -0.569144225655614400, -0.569185336829626130, -0.569226446580674450, +-0.569267554908656550, -0.569308661813470280, -0.569349767295011970, -0.569390871353179120, -0.569431973987869270, -0.569473075198979720, -0.569514174986407110, -0.569555273350049180, +-0.569596370289802920, -0.569637465805566180, -0.569678559897235480, -0.569719652564708250, -0.569760743807882000, -0.569801833626654150, -0.569842922020921460, -0.569884008990581340, +-0.569925094535531640, -0.569966178655668900, -0.570007261350890640, -0.570048342621094160, -0.570089422466177220, -0.570130500886036450, -0.570171577880569380, -0.570212653449673310, +-0.570253727593246110, -0.570294800311184070, -0.570335871603385170, -0.570376941469746490, -0.570418009910165890, -0.570459076924539790, -0.570500142512766150, -0.570541206674742060, +-0.570582269410365270, -0.570623330719532530, -0.570664390602141470, -0.570705449058089730, -0.570746506087274060, -0.570787561689592100, -0.570828615864941270, -0.570869668613219190, +-0.570910719934322630, -0.570951769828149210, -0.570992818294596470, -0.571033865333562040, -0.571074910944942450, -0.571115955128635670, -0.571156997884539000, -0.571198039212550190, +-0.571239079112566000, -0.571280117584484050, -0.571321154628201770, -0.571362190243617010, -0.571403224430626410, -0.571444257189127720, -0.571485288519018360, -0.571526318420196300, +-0.571567346892557950, -0.571608373936001170, -0.571649399550423930, -0.571690423735722760, -0.571731446491795640, -0.571772467818539850, -0.571813487715853160, -0.571854506183632540, +-0.571895523221775500, -0.571936538830179810, -0.571977553008742980, -0.572018565757361990, -0.572059577075934580, -0.572100586964358280, -0.572141595422530850, -0.572182602450349020, +-0.572223608047710660, -0.572264612214513410, -0.572305614950654910, -0.572346616256032000, -0.572387616130542560, -0.572428614574084450, -0.572469611586554410, -0.572510607167850290, +-0.572551601317869750, -0.572592594036510530, -0.572633585323669480, -0.572674575179244470, -0.572715563603133030, -0.572756550595233000, -0.572797536155441380, -0.572838520283655780, +-0.572879502979773860, -0.572920484243693570, -0.572961464075311790, -0.573002442474526250, -0.573043419441234600, -0.573084394975334810, -0.573125369076723730, -0.573166341745299120, +-0.573207312980959060, -0.573248282783600400, -0.573289251153120900, -0.573330218089418420, -0.573371183592390700, -0.573412147661934600, -0.573453110297948210, -0.573494071500329050, +-0.573535031268975090, -0.573575989603783090, -0.573616946504651230, -0.573657901971476920, -0.573698856004158260, -0.573739808602591990, -0.573780759766676310, -0.573821709496308730, +-0.573862657791387230, -0.573903604651808670, -0.573944550077471140, -0.573985494068272260, -0.574026436624110010, -0.574067377744881260, -0.574108317430484070, -0.574149255680816540, +-0.574190192495775410, -0.574231127875258870, -0.574272061819164460, -0.574312994327390250, -0.574353925399833210, -0.574394855036391320, -0.574435783236962320, -0.574476710001444290, +-0.574517635329733990, -0.574558559221729710, -0.574599481677328990, -0.574640402696429910, -0.574681322278929540, -0.574722240424725750, -0.574763157133716400, -0.574804072405799560, +-0.574844986240872210, -0.574885898638832330, -0.574926809599578090, -0.574967719123006480, -0.575008627209015470, -0.575049533857503010, -0.575090439068366990, -0.575131342841504580, +-0.575172245176813760, -0.575213146074192380, -0.575254045533538430, -0.575294943554749080, -0.575335840137722320, -0.575376735282356000, -0.575417628988548200, -0.575458521256195900, +-0.575499412085197390, -0.575540301475450320, -0.575581189426852880, -0.575622075939302040, -0.575662961012695980, -0.575703844646933030, -0.575744726841910030, -0.575785607597525170, +-0.575826486913676330, -0.575867364790261570, -0.575908241227178100, -0.575949116224323990, -0.575989989781597100, -0.576030861898895630, -0.576071732576116660, -0.576112601813158380, +-0.576153469609918530, -0.576194335966295320, -0.576235200882186050, -0.576276064357488680, -0.576316926392101190, -0.576357786985921660, -0.576398646138847390, -0.576439503850776470, +-0.576480360121607190, -0.576521214951236650, -0.576562068339563030, -0.576602920286484190, -0.576643770791898550, -0.576684619855702960, -0.576725467477795960, -0.576766313658075180, +-0.576807158396439150, -0.576848001692784720, -0.576888843547010310, -0.576929683959013780, -0.576970522928693440, -0.577011360455946360, -0.577052196540670970, -0.577093031182765000, +-0.577133864382126880, -0.577174696138653800, -0.577215526452243830, -0.577256355322795180, -0.577297182750205920, -0.577338008734373350, -0.577378833275195790, -0.577419656372571420, +-0.577460478026397660, -0.577501298236572590, -0.577542117002994400, -0.577582934325561180, -0.577623750204170340, -0.577664564638720070, -0.577705377629108450, -0.577746189175233680, +-0.577786999276993170, -0.577827807934285010, -0.577868615147007490, -0.577909420915058700, -0.577950225238336060, -0.577991028116737750, -0.578031829550161970, -0.578072629538506910, +-0.578113428081669990, -0.578154225179549400, -0.578195020832043660, -0.578235815039050080, -0.578276607800466860, -0.578317399116192180, -0.578358188986124340, -0.578398977410160660, +-0.578439764388199550, -0.578480549920138980, -0.578521334005877460, -0.578562116645312210, -0.578602897838341730, -0.578643677584863900, -0.578684455884777350, -0.578725232737979270, +-0.578766008144368070, -0.578806782103841840, -0.578847554616299000, -0.578888325681636950, -0.578929095299754120, -0.578969863470548910, -0.579010630193918630, -0.579051395469761810, +-0.579092159297976530, -0.579132921678461090, -0.579173682611113130, -0.579214442095830840, -0.579255200132512530, -0.579295956721056600, -0.579336711861360380, -0.579377465553322370, +-0.579418217796840660, -0.579458968591813780, -0.579499717938139150, -0.579540465835715280, -0.579581212284440150, -0.579621957284212400, -0.579662700834929320, -0.579703442936489570, +-0.579744183588791210, -0.579784922791732770, -0.579825660545211670, -0.579866396849126330, -0.579907131703375380, -0.579947865107856340, -0.579988597062467530, -0.580029327567107230, +-0.580070056621673990, -0.580110784226065320, -0.580151510380179650, -0.580192235083915150, -0.580232958337170480, -0.580273680139843040, -0.580314400491831360, -0.580355119393033750, +-0.580395836843348610, -0.580436552842673590, -0.580477267390907210, -0.580517980487947560, -0.580558692133693380, -0.580599402328042190, -0.580640111070892420, -0.580680818362142690, +-0.580721524201690650, -0.580762228589434710, -0.580802931525273180, -0.580843633009104800, -0.580884333040826870, -0.580925031620338150, -0.580965728747536820, -0.581006424422321640, +-0.581047118644589910, -0.581087811414240480, -0.581128502731171450, -0.581169192595281550, -0.581209881006468310, -0.581250567964630370, -0.581291253469665930, -0.581331937521473830, +-0.581372620119951500, -0.581413301264997570, -0.581453980956510800, -0.581494659194388700, -0.581535335978530020, -0.581576011308832850, -0.581616685185196160, -0.581657357607517360, +-0.581698028575695080, -0.581738698089627860, -0.581779366149214110, -0.581820032754351680, -0.581860697904939220, -0.581901361600874910, -0.581942023842057620, -0.581982684628384870, +-0.582023343959755410, -0.582064001836067550, -0.582104658257220130, -0.582145313223110690, -0.582185966733637870, -0.582226618788700630, -0.582267269388196400, -0.582307918532024020, +-0.582348566220081910, -0.582389212452268600, -0.582429857228482060, -0.582470500548620710, -0.582511142412583280, -0.582551782820268200, -0.582592421771573440, -0.582633059266397520, +-0.582673695304638970, -0.582714329886196540, -0.582754963010967960, -0.582795594678852000, -0.582836224889746960, -0.582876853643551800, -0.582917480940164160, -0.582958106779482790, +-0.582998731161406100, -0.583039354085832960, -0.583079975552661110, -0.583120595561789300, -0.583161214113116390, -0.583201831206540120, -0.583242446841959140, -0.583283061019272190, +-0.583323673738377790, -0.583364284999174030, -0.583404894801559440, -0.583445503145432640, -0.583486110030692400, -0.583526715457236560, -0.583567319424963980, -0.583607921933773090, +-0.583648522983562620, -0.583689122574230670, -0.583729720705675750, -0.583770317377796610, -0.583810912590492110, -0.583851506343659900, -0.583892098637198930, -0.583932689471007960, +-0.583973278844985070, -0.584013866759028890, -0.584054453213038060, -0.584095038206911440, -0.584135621740547010, -0.584176203813843390, -0.584216784426699220, -0.584257363579013590, +-0.584297941270684130, -0.584338517501609700, -0.584379092271689160, -0.584419665580821150, -0.584460237428903630, -0.584500807815835470, -0.584541376741515410, -0.584581944205842200, +-0.584622510208713700, -0.584663074750028990, -0.584703637829687040, -0.584744199447585490, -0.584784759603623530, -0.584825318297699680, -0.584865875529712810, -0.584906431299560990, +-0.584946985607142980, -0.584987538452357620, -0.585028089835103680, -0.585068639755279230, -0.585109188212783130, -0.585149735207514120, -0.585190280739371070, -0.585230824808252060, +-0.585271367414055830, -0.585311908556681250, -0.585352448236027280, -0.585392986451991890, -0.585433523204473950, -0.585474058493372200, -0.585514592318585710, -0.585555124680012360, +-0.585595655577551110, -0.585636185011101150, -0.585676712980560450, -0.585717239485827880, -0.585757764526802170, -0.585798288103382530, -0.585838810215466690, -0.585879330862953960, +-0.585919850045742760, -0.585960367763732390, -0.586000884016820710, -0.586041398804906800, -0.586081912127889400, -0.586122423985667610, -0.586162934378139380, -0.586203443305203910, +-0.586243950766759720, -0.586284456762706020, -0.586324961292940870, -0.586365464357363250, -0.586405965955872350, -0.586446466088366150, -0.586486964754743820, -0.586527461954904130, +-0.586567957688746030, -0.586608451956167730, -0.586648944757068300, -0.586689436091346610, -0.586729925958901610, -0.586770414359631400, -0.586810901293435160, -0.586851386760211650, +-0.586891870759860160, -0.586932353292278440, -0.586972834357366020, -0.587013313955021430, -0.587053792085143860, -0.587094268747631600, -0.587134743942383520, -0.587175217669299030, +-0.587215689928276110, -0.587256160719213940, -0.587296630042011380, -0.587337097896567630, -0.587377564282780760, -0.587418029200549970, -0.587458492649774120, -0.587498954630352400, +-0.587539415142182890, -0.587579874185164890, -0.587620331759197260, -0.587660787864179080, -0.587701242500008550, -0.587741695666584960, -0.587782147363807070, -0.587822597591574290, +-0.587863046349784590, -0.587903493638337270, -0.587943939457131530, -0.587984383806065660, -0.588024826685038860, -0.588065268093949880, -0.588105708032698130, -0.588146146501181800, +-0.588186583499300090, -0.588227019026951850, -0.588267453084036500, -0.588307885670452110, -0.588348316786098110, -0.588388746430873240, -0.588429174604676810, -0.588469601307407110, +-0.588510026538963450, -0.588550450299244690, -0.588590872588150240, -0.588631293405578180, -0.588671712751427930, -0.588712130625598350, -0.588752547027988850, -0.588792961958497510, +-0.588833375417023850, -0.588873787403467190, -0.588914197917725590, -0.588954606959698480, -0.588995014529284930, -0.589035420626384140, -0.589075825250894520, -0.589116228402715270, +-0.589156630081745460, -0.589197030287884500, -0.589237429021030490, -0.589277826281083050, -0.589318222067940930, -0.589358616381503660, -0.589399009221669430, -0.589439400588337770, +-0.589479790481407530, -0.589520178900778240, -0.589560565846348080, -0.589600951318016490, -0.589641335315682970, -0.589681717839245720, -0.589722098888604160, -0.589762478463657370, +-0.589802856564304760, -0.589843233190444630, -0.589883608341976400, -0.589923982018799140, -0.589964354220812280, -0.590004724947914230, -0.590045094200004280, -0.590085461976981640, +-0.590125828278745710, -0.590166193105194910, -0.590206556456228550, -0.590246918331745810, -0.590287278731646210, -0.590327637655827960, -0.590367995104190690, -0.590408351076633700, +-0.590448705573055510, -0.590489058593355540, -0.590529410137432990, -0.590569760205187260, -0.590610108796516650, -0.590650455911320930, -0.590690801549499040, -0.590731145710950420, +-0.590771488395573700, -0.590811829603268170, -0.590852169333933030, -0.590892507587467920, -0.590932844363771140, -0.590973179662742210, -0.591013513484280440, -0.591053845828285130, +-0.591094176694654920, -0.591134506083289210, -0.591174833994087320, -0.591215160426948550, -0.591255485381771640, -0.591295808858456010, -0.591336130856901180, -0.591376451377005790, +-0.591416770418669140, -0.591457087981790530, -0.591497404066269720, -0.591537718672004890, -0.591578031798895900, -0.591618343446841720, -0.591658653615741990, -0.591698962305495460, +-0.591739269516001310, -0.591779575247159180, -0.591819879498868380, -0.591860182271027440, -0.591900483563536190, -0.591940783376293630, -0.591981081709199500, -0.592021378562152420, +-0.592061673935051710, -0.592101967827797340, -0.592142260240287600, -0.592182551172422130, -0.592222840624100360, -0.592263128595221900, -0.592303415085685180, -0.592343700095390060, +-0.592383983624235500, -0.592424265672121480, -0.592464546238946400, -0.592504825324609910, -0.592545102929011410, -0.592585379052050440, -0.592625653693625740, -0.592665926853636950, +-0.592706198531983250, -0.592746468728564400, -0.592786737443279140, -0.592827004676026890, -0.592867270426707500, -0.592907534695219730, -0.592947797481462980, -0.592988058785336780, +-0.593028318606740770, -0.593068576945573690, -0.593108833801735070, -0.593149089175124430, -0.593189343065641310, -0.593229595473184550, -0.593269846397653900, -0.593310095838948450, +-0.593350343796968270, -0.593390590271611780, -0.593430835262778840, -0.593471078770368870, -0.593511320794281480, -0.593551561334415450, -0.593591800390670610, -0.593632037962946500, +-0.593672274051141980, -0.593712508655156790, -0.593752741774890350, -0.593792973410242400, -0.593833203561111580, -0.593873432227397860, -0.593913659409000540, -0.593953885105819370, +-0.593994109317753200, -0.594034332044701690, -0.594074553286564330, -0.594114773043241010, -0.594154991314630450, -0.594195208100632310, -0.594235423401146210, -0.594275637216071910, +-0.594315849545308140, -0.594356060388754660, -0.594396269746311100, -0.594436477617877320, -0.594476684003351850, -0.594516888902634770, -0.594557092315625700, -0.594597294242223630, +-0.594637494682328400, -0.594677693635839330, -0.594717891102656380, -0.594758087082678410, -0.594798281575805170, -0.594838474581936170, -0.594878666100971510, -0.594918856132809700, +-0.594959044677350720, -0.594999231734494200, -0.595039417304140010, -0.595079601386186760, -0.595119783980534670, -0.595159965087083020, -0.595200144705731900, -0.595240322836379950, +-0.595280499478927250, -0.595320674633273650, -0.595360848299318010, -0.595401020476960310, -0.595441191166099950, -0.595481360366637010, -0.595521528078470360, -0.595561694301499860, +-0.595601859035625130, -0.595642022280746140, -0.595682184036761650, -0.595722344303571740, -0.595762503081076030, -0.595802660369174290, -0.595842816167765690, -0.595882970476749980, +-0.595923123296026810, -0.595963274625496250, -0.596003424465057160, -0.596043572814609400, -0.596083719674053160, -0.596123865043287180, -0.596164008922211660, -0.596204151310726020, +-0.596244292208730430, -0.596284431616123660, -0.596324569532805880, -0.596364705958676740, -0.596404840893636100, -0.596444974337583030, -0.596485106290417510, -0.596525236752039170, +-0.596565365722348200, -0.596605493201243340, -0.596645619188624910, -0.596685743684392310, -0.596725866688445740, -0.596765988200684160, -0.596806108221007550, -0.596846226749315760, +-0.596886343785508640, -0.596926459329485400, -0.596966573381146000, -0.597006685940390520, -0.597046797007117940, -0.597086906581228430, -0.597127014662621640, -0.597167121251197640, +-0.597207226346855410, -0.597247329949495250, -0.597287432059016690, -0.597327532675319910, -0.597367631798303990, -0.597407729427868910, -0.597447825563914630, -0.597487920206341010, +-0.597528013355047350, -0.597568105009933510, -0.597608195170899580, -0.597648283837845410, -0.597688371010670180, -0.597728456689273990, -0.597768540873557130, -0.597808623563418460, +-0.597848704758758290, -0.597888784459476350, -0.597928862665472740, -0.597968939376646750, -0.598009014592898240, -0.598049088314127290, -0.598089160540233980, -0.598129231271117390, +-0.598169300506677710, -0.598209368246814810, -0.598249434491428870, -0.598289499240418960, -0.598329562493685300, -0.598369624251127720, -0.598409684512646530, -0.598449743278140600, +-0.598489800547510440, -0.598529856320656140, -0.598569910597476770, -0.598609963377872640, -0.598650014661743610, -0.598690064448989980, -0.598730112739510710, -0.598770159533206230, +-0.598810204829976270, -0.598850248629721250, -0.598890290932340250, -0.598930331737733470, -0.598970371045800860, -0.599010408856442740, -0.599050445169558190, -0.599090479985047500, +-0.599130513302810640, -0.599170545122747920, -0.599210575444758420, -0.599250604268742440, -0.599290631594600390, -0.599330657422231350, -0.599370681751535740, -0.599410704582413300, +-0.599450725914764560, -0.599490745748488600, -0.599530764083485820, -0.599570780919656100, -0.599610796256899840, -0.599650810095116120, -0.599690822434205460, -0.599730833274067730, +-0.599770842614603230, -0.599810850455711250, -0.599850856797292220, -0.599890861639246100, -0.599930864981473080, -0.599970866823872570, -0.600010867166344890, -0.600050866008789980, +-0.600090863351108390, -0.600130859193199200, -0.600170853534962910, -0.600210846376299730, -0.600250837717109190, -0.600290827557291570, -0.600330815896746860, -0.600370802735375350, +-0.600410788073076570, -0.600450771909750820, -0.600490754245298190, -0.600530735079618960, -0.600570714412612560, -0.600610692244179400, -0.600650668574219450, -0.600690643402633230, +-0.600730616729320040, -0.600770588554180310, -0.600810558877114100, -0.600850527698021940, -0.600890495016802920, -0.600930460833357770, -0.600970425147586810, -0.601010387959389440, +-0.601050349268666180, -0.601090309075316910, -0.601130267379242240, -0.601170224180341610, -0.601210179478515410, -0.601250133273663720, -0.601290085565687080, -0.601330036354484900, +-0.601369985639957580, -0.601409933422005330, -0.601449879700528540, -0.601489824475426760, -0.601529767746600390, -0.601569709513949610, -0.601609649777374970, -0.601649588536775750, +-0.601689525792052590, -0.601729461543106030, -0.601769395789835460, -0.601809328532141310, -0.601849259769923870, -0.601889189503083680, -0.601929117731520140, -0.601969044455133770, +-0.602008969673824890, -0.602048893387493790, -0.602088815596040220, -0.602128736299364590, -0.602168655497367090, -0.602208573189948250, -0.602248489377007700, -0.602288404058445970, +-0.602328317234163140, -0.602368228904059940, -0.602408139068035810, -0.602448047725991250, -0.602487954877826690, -0.602527860523442540, -0.602567764662738310, -0.602607667295614770, +-0.602647568421972420, -0.602687468041710690, -0.602727366154730440, -0.602767262760931620, -0.602807157860215100, -0.602847051452480300, -0.602886943537627840, -0.602926834115558140, +-0.602966723186171620, -0.603006610749367900, -0.603046496805047740, -0.603086381353111210, -0.603126264393459180, -0.603166145925991160, -0.603206025950607790, -0.603245904467209270, +-0.603285781475696340, -0.603325656975968630, -0.603365530967926780, -0.603405403451471530, -0.603445274426502310, -0.603485143892919960, -0.603525011850624680, -0.603564878299517330, +-0.603604743239497420, -0.603644606670465600, -0.603684468592322280, -0.603724329004968090, -0.603764187908302770, -0.603804045302226980, -0.603843901186641110, -0.603883755561445800, +-0.603923608426540800, -0.603963459781826750, -0.604003309627203940, -0.604043157962573350, -0.604083004787834500, -0.604122850102888130, -0.604162693907635000, -0.604202536201974730, +-0.604242376985808070, -0.604282216259035550, -0.604322054021557810, -0.604361890273274690, -0.604401725014086730, -0.604441558243894450, -0.604481389962598700, -0.604521220170099130, +-0.604561048866296470, -0.604600876051091140, -0.604640701724384000, -0.604680525886074790, -0.604720348536064270, -0.604760169674252830, -0.604799989300541350, -0.604839807414829570, +-0.604879624017018220, -0.604919439107008180, -0.604959252684699190, -0.604999064749992100, -0.605038875302787220, -0.605078684342985620, -0.605118491870486940, -0.605158297885192040, +-0.605198102387001450, -0.605237905375815900, -0.605277706851535150, -0.605317506814060270, -0.605357305263291570, -0.605397102199129900, -0.605436897621475230, -0.605476691530228210, +-0.605516483925289560, -0.605556274806560050, -0.605596064173939410, -0.605635852027328610, -0.605675638366628300, -0.605715423191739100, -0.605755206502561090, -0.605794988298995030, +-0.605834768580941870, -0.605874547348301480, -0.605914324600974610, -0.605954100338861990, -0.605993874561864490, -0.606033647269881960, -0.606073418462815260, -0.606113188140565030, +-0.606152956303032230, -0.606192722950116610, -0.606232488081719260, -0.606272251697740680, -0.606312013798081750, -0.606351774382642540, -0.606391533451323790, -0.606431291004026260, +-0.606471047040650800, -0.606510801561097380, -0.606550554565267070, -0.606590306053060630, -0.606630056024378140, -0.606669804479120440, -0.606709551417188190, -0.606749296838482550, +-0.606789040742903190, -0.606828783130351270, -0.606868524000727440, -0.606908263353932550, -0.606948001189866690, -0.606987737508430940, -0.607027472309525700, -0.607067205593052270, +-0.607106937358910300, -0.607146667607001090, -0.607186396337225260, -0.607226123549483690, -0.607265849243676550, -0.607305573419704700, -0.607345296077469340, -0.607385017216870330, +-0.607424736837808840, -0.607464454940185420, -0.607504171523901240, -0.607543886588856390, -0.607583600134951720, -0.607623312162088090, -0.607663022670166470, -0.607702731659086950, +-0.607742439128750700, -0.607782145079058260, -0.607821849509910810, -0.607861552421208430, -0.607901253812852090, -0.607940953684742770, -0.607980652036781310, -0.608020348868867910, +-0.608060044180903540, -0.608099737972789160, -0.608139430244425740, -0.608179120995713470, -0.608218810226553330, -0.608258497936846500, -0.608298184126493060, -0.608337868795394200, +-0.608377551943450670, -0.608417233570563650, -0.608456913676633130, -0.608496592261560390, -0.608536269325246070, -0.608575944867591480, -0.608615618888496690, -0.608655291387862900, +-0.608694962365590840, -0.608734631821581720, -0.608774299755735600, -0.608813966167953800, -0.608853631058137170, -0.608893294426186670, -0.608932956272002610, -0.608972616595486180, +-0.609012275396538570, -0.609051932675059970, -0.609091588430951460, -0.609131242664114000, -0.609170895374448800, -0.609210546561856030, -0.609250196226236880, -0.609289844367492230, +-0.609329490985523250, -0.609369136080230240, -0.609408779651514410, -0.609448421699276710, -0.609488062223418230, -0.609527701223839150, -0.609567338700441000, -0.609606974653124410, +-0.609646609081790690, -0.609686241986340140, -0.609725873366673940, -0.609765503222693520, -0.609805131554298940, -0.609844758361391510, -0.609884383643872210, -0.609924007401642210, +-0.609963629634601930, -0.610003250342652570, -0.610042869525695090, -0.610082487183630780, -0.610122103316359850, -0.610161717923783710, -0.610201331005803320, -0.610240942562319870, +-0.610280552593233770, -0.610320161098446220, -0.610359768077858410, -0.610399373531371410, -0.610438977458885650, -0.610478579860302410, -0.610518180735523110, -0.610557780084448050, +-0.610597377906978430, -0.610636974203015440, -0.610676568972460370, -0.610716162215213520, -0.610755753931176320, -0.610795344120249610, -0.610834932782335030, -0.610874519917332660, +-0.610914105525144020, -0.610953689605670090, -0.610993272158812380, -0.611032853184471090, -0.611072432682547630, -0.611112010652943070, -0.611151587095558950, -0.611191162010295440, +-0.611230735397053970, -0.611270307255735720, -0.611309877586242110, -0.611349446388473330, -0.611389013662331000, -0.611428579407716550, -0.611468143624530170, -0.611507706312673480, +-0.611547267472047570, -0.611586827102553850, -0.611626385204092630, -0.611665941776565520, -0.611705496819873520, -0.611745050333918130, -0.611784602318599770, -0.611824152773819960, +-0.611863701699479680, -0.611903249095480550, -0.611942794961722990, -0.611982339298108300, -0.612021882104537900, -0.612061423380913070, -0.612100963127134360, -0.612140501343103270, +-0.612180038028721230, -0.612219573183888750, -0.612259106808507370, -0.612298638902478150, -0.612338169465702740, -0.612377698498081550, -0.612417225999516090, -0.612456751969907560, +-0.612496276409157600, -0.612535799317166510, -0.612575320693835910, -0.612614840539067010, -0.612654358852761430, -0.612693875634819580, -0.612733390885143000, -0.612772904603632980, +-0.612812416790191050, -0.612851927444717730, -0.612891436567114530, -0.612930944157283110, -0.612970450215124090, -0.613009954740538760, -0.613049457733428670, -0.613088959193695220, +-0.613128459121239140, -0.613167957515961760, -0.613207454377764580, -0.613246949706549140, -0.613286443502215840, -0.613325935764666540, -0.613365426493802430, -0.613404915689525040, +-0.613444403351735000, -0.613483889480333940, -0.613523374075223280, -0.613562857136304430, -0.613602338663478130, -0.613641818656645910, -0.613681297115709180, -0.613720774040569570, +-0.613760249431127720, -0.613799723287285160, -0.613839195608943730, -0.613878666396003860, -0.613918135648367390, -0.613957603365935630, -0.613997069548610110, -0.614036534196291670, +-0.614075997308881850, -0.614115458886281940, -0.614154918928393910, -0.614194377435118070, -0.614233834406356370, -0.614273289842010020, -0.614312743741980860, -0.614352196106169530, +-0.614391646934477680, -0.614431096226806690, -0.614470543983058230, -0.614509990203133130, -0.614549434886933140, -0.614588878034359800, -0.614628319645313950, -0.614667759719697340, +-0.614707198257411270, -0.614746635258357600, -0.614786070722436960, -0.614825504649551100, -0.614864937039601540, -0.614904367892490030, -0.614943797208117200, -0.614983224986384910, +-0.615022651227194460, -0.615062075930447820, -0.615101499096045610, -0.615140920723889710, -0.615180340813881400, -0.615219759365922660, -0.615259176379914230, -0.615298591855757750, +-0.615338005793355180, -0.615377418192607270, -0.615416829053415770, -0.615456238375682200, -0.615495646159308410, -0.615535052404195150, -0.615574457110244280, -0.615613860277357210, +-0.615653261905435900, -0.615692661994381110, -0.615732060544094570, -0.615771457554477930, -0.615810853025433040, -0.615850246956860640, -0.615889639348662590, -0.615929030200740410, +-0.615968419512996080, -0.616007807285330330, -0.616047193517645030, -0.616086578209842140, -0.616125961361822410, -0.616165342973487800, -0.616204723044739830, -0.616244101575480370, +-0.616283478565610390, -0.616322854015031620, -0.616362227923645810, -0.616401600291354710, -0.616440971118059290, -0.616480340403661400, -0.616519708148062670, -0.616559074351165080, +-0.616598439012869480, -0.616637802133077730, -0.616677163711691460, -0.616716523748612630, -0.616755882243742120, -0.616795239196981980, -0.616834594608233640, -0.616873948477399180, +-0.616913300804379560, -0.616952651589076750, -0.616992000831392500, -0.617031348531227990, -0.617070694688485080, -0.617110039303065520, -0.617149382374871050, -0.617188723903802970, +-0.617228063889762920, -0.617267402332652760, -0.617306739232374450, -0.617346074588828950, -0.617385408401918250, -0.617424740671544070, -0.617464071397608280, -0.617503400580012070, +-0.617542728218657300, -0.617582054313445820, -0.617621378864279480, -0.617660701871059260, -0.617700023333687340, -0.617739343252065810, -0.617778661626095520, -0.617817978455678540, +-0.617857293740716630, -0.617896607481111750, -0.617935919676765090, -0.617975230327578620, -0.618014539433454080, -0.618053846994293550, -0.618093153009998010, -0.618132457480469630, +-0.618171760405610170, -0.618211061785321590, -0.618250361619504970, -0.618289659908062510, -0.618328956650895820, -0.618368251847907110, -0.618407545498997460, -0.618446837604068930, +-0.618486128163023620, -0.618525417175762700, -0.618564704642188270, -0.618603990562202060, -0.618643274935706140, -0.618682557762601730, -0.618721839042790990, -0.618761118776175570, +-0.618800396962657650, -0.618839673602138540, -0.618878948694520090, -0.618918222239704390, -0.618957494237593500, -0.618996764688088400, -0.619036033591091490, -0.619075300946504430, +-0.619114566754229490, -0.619153831014167770, -0.619193093726221560, -0.619232354890292490, -0.619271614506282990, -0.619310872574094120, -0.619350129093627970, -0.619389384064786830, +-0.619428637487472010, -0.619467889361585480, -0.619507139687029310, -0.619546388463705580, -0.619585635691515590, -0.619624881370361420, -0.619664125500145160, -0.619703368080768870, +-0.619742609112133750, -0.619781848594142200, -0.619821086526695990, -0.619860322909697390, -0.619899557743047720, -0.619938791026649060, -0.619978022760403480, -0.620017252944213170, +-0.620056481577979430, -0.620095708661604460, -0.620134934194990550, -0.620174158178038890, -0.620213380610651900, -0.620252601492731540, -0.620291820824179880, -0.620331038604898470, +-0.620370254834789360, -0.620409469513754640, -0.620448682641696610, -0.620487894218516470, -0.620527104244116610, -0.620566312718399020, -0.620605519641265980, -0.620644725012618800, +-0.620683928832359790, -0.620723131100391010, -0.620762331816614670, -0.620801530980932270, -0.620840728593245910, -0.620879924653458200, -0.620919119161470250, -0.620958312117184440, +-0.620997503520502980, -0.621036693371328050, -0.621075881669561070, -0.621115068415104330, -0.621154253607860030, -0.621193437247730350, -0.621232619334616710, -0.621271799868421630, +-0.621310978849046960, -0.621350156276395230, -0.621389332150367730, -0.621428506470866890, -0.621467679237794780, -0.621506850451053920, -0.621546020110545490, -0.621585188216172040, +-0.621624354767835620, -0.621663519765438650, -0.621702683208882560, -0.621741845098069730, -0.621781005432902600, -0.621820164213282680, -0.621859321439112270, -0.621898477110293670, +-0.621937631226729180, -0.621976783788320220, -0.622015934794969310, -0.622055084246578630, -0.622094232143050490, -0.622133378484286510, -0.622172523270189020, -0.622211666500660290, +-0.622250808175602630, -0.622289948294917680, -0.622329086858507850, -0.622368223866275330, -0.622407359318122630, -0.622446493213951070, -0.622485625553663380, -0.622524756337161980, +-0.622563885564348270, -0.622603013235124900, -0.622642139349393940, -0.622681263907058020, -0.622720386908018560, -0.622759508352178190, -0.622798628239438990, -0.622837746569703590, +-0.622876863342873400, -0.622915978558851170, -0.622955092217538970, -0.622994204318839340, -0.623033314862653900, -0.623072423848885170, -0.623111531277435350, -0.623150637148207060, +-0.623189741461101840, -0.623228844216022320, -0.623267945412870890, -0.623307045051549440, -0.623346143131960240, -0.623385239654005720, -0.623424334617588390, -0.623463428022610010, +-0.623502519868972980, -0.623541610156579610, -0.623580698885332630, -0.623619786055133570, -0.623658871665884960, -0.623697955717489210, -0.623737038209848940, -0.623776119142865680, +-0.623815198516442180, -0.623854276330480630, -0.623893352584883760, -0.623932427279553230, -0.623971500414391530, -0.624010571989301540, -0.624049642004184670, -0.624088710458943760, +-0.624127777353481020, -0.624166842687699170, -0.624205906461499980, -0.624244968674785850, -0.624284029327459410, -0.624323088419423300, -0.624362145950579040, -0.624401201920829370, +-0.624440256330076720, -0.624479309178223810, -0.624518360465172280, -0.624557410190824890, -0.624596458355083930, -0.624635504957852140, -0.624674549999031270, -0.624713593478524070, +-0.624752635396232820, -0.624791675752060400, -0.624830714545908440, -0.624869751777679560, -0.624908787447276740, -0.624947821554601600, -0.624986854099557010, -0.625025885082045150, +-0.625064914501968990, -0.625103942359230170, -0.625142968653731420, -0.625181993385375390, -0.625221016554064590, -0.625260038159700990, -0.625299058202187340, -0.625338076681425940, +-0.625377093597319740, -0.625416108949770400, -0.625455122738680870, -0.625494134963953560, -0.625533145625491120, -0.625572154723195610, -0.625611162256969670, -0.625650168226716150, +-0.625689172632336810, -0.625728175473734600, -0.625767176750811950, -0.625806176463471700, -0.625845174611615710, -0.625884171195146720, -0.625923166213967370, -0.625962159667980410, +-0.626001151557087690, -0.626040141881192060, -0.626079130640196160, -0.626118117834002730, -0.626157103462513740, -0.626196087525631830, -0.626235070023259840, -0.626274050955300420, +-0.626313030321655640, -0.626352008122228240, -0.626390984356921090, -0.626429959025636250, -0.626468932128276480, -0.626507903664744290, -0.626546873634942770, -0.626585842038773650, +-0.626624808876140030, -0.626663774146944300, -0.626702737851089540, -0.626741699988477620, -0.626780660559011380, -0.626819619562593470, -0.626858576999126950, -0.626897532868513570, +-0.626936487170656310, -0.626975439905457900, -0.627014391072821310, -0.627053340672648290, -0.627092288704841900, -0.627131235169304910, -0.627170180065940050, -0.627209123394649510, +-0.627248065155336040, -0.627287005347902830, -0.627325943972251830, -0.627364881028285800, -0.627403816515907710, -0.627442750435020400, -0.627481682785525740, -0.627520613567327020, +-0.627559542780326660, -0.627598470424427850, -0.627637396499532540, -0.627676321005543710, -0.627715243942364110, -0.627754165309896690, -0.627793085108043550, -0.627832003336707740, +-0.627870919995791810, -0.627909835085199040, -0.627948748604831300, -0.627987660554591650, -0.628026570934383190, -0.628065479744107980, -0.628104386983669110, -0.628143292652969200, +-0.628182196751911450, -0.628221099280397820, -0.628260000238331510, -0.628298899625615140, -0.628337797442151900, -0.628376693687843880, -0.628415588362594040, -0.628454481466305230, +-0.628493372998880530, -0.628532262960222130, -0.628571151350233110, -0.628610038168816110, -0.628648923415874420, -0.628687807091310000, -0.628726689195026170, -0.628765569726925880, +-0.628804448686911320, -0.628843326074885690, -0.628882201890751720, -0.628921076134412620, -0.628959948805770440, -0.628998819904728390, -0.629037689431189320, -0.629076557385056410, +-0.629115423766231750, -0.629154288574618410, -0.629193151810119480, -0.629232013472637910, -0.629270873562076120, -0.629309732078336960, -0.629348589021323620, -0.629387444390939080, +-0.629426298187085620, -0.629465150409666330, -0.629504001058584620, -0.629542850133742450, -0.629581697635043240, -0.629620543562389720, -0.629659387915685320, -0.629698230694832000, +-0.629737071899733050, -0.629775911530291550, -0.629814749586410480, -0.629853586067992350, -0.629892420974940140, -0.629931254307156910, -0.629970086064545850, -0.630008916247009280, +-0.630047744854450480, -0.630086571886772200, -0.630125397343877850, -0.630164221225669730, -0.630203043532051030, -0.630241864262924720, -0.630280683418194100, -0.630319500997761350, +-0.630358317001530000, -0.630397131429403120, -0.630435944281283020, -0.630474755557073110, -0.630513565256676230, -0.630552373379995920, -0.630591179926934250, -0.630629984897394640, +-0.630668788291280150, -0.630707590108493870, -0.630746390348938420, -0.630785189012516900, -0.630823986099132480, -0.630862781608688360, -0.630901575541087060, -0.630940367896231650, +-0.630979158674025430, -0.631017947874371710, -0.631056735497172670, -0.631095521542331840, -0.631134306009752510, -0.631173088899337100, -0.631211870210989010, -0.631250649944611220, +-0.631289428100107130, -0.631328204677379160, -0.631366979676330600, -0.631405753096864640, -0.631444524938884700, -0.631483295202293070, -0.631522063886993170, -0.631560830992888070, +-0.631599596519881290, -0.631638360467875140, -0.631677122836773130, -0.631715883626478350, -0.631754642836894090, -0.631793400467922980, -0.631832156519468340, -0.631870910991433670, +-0.631909663883721380, -0.631948415196234900, -0.631987164928877410, -0.632025913081552320, -0.632064659654162140, -0.632103404646610300, -0.632142148058799870, -0.632180889890634480, +-0.632219630142016540, -0.632258368812849580, -0.632297105903036560, -0.632335841412481230, -0.632374575341085880, -0.632413307688754140, -0.632452038455389110, -0.632490767640894290, +-0.632529495245172320, -0.632568221268126510, -0.632606945709660140, -0.632645668569676860, -0.632684389848078950, -0.632723109544770180, -0.632761827659653830, -0.632800544192632650, +-0.632839259143610170, -0.632877972512489450, -0.632916684299174140, -0.632955394503566860, -0.632994103125571030, -0.633032810165089940, -0.633071515622027240, -0.633110219496285320, +-0.633148921787767830, -0.633187622496378170, -0.633226321622019640, -0.633265019164595100, -0.633303715124007960, -0.633342409500161520, -0.633381102292959410, -0.633419793502304150, +-0.633458483128099490, -0.633497171170248840, -0.633535857628655050, -0.633574542503221540, -0.633613225793851710, -0.633651907500449200, -0.633690587622916520, -0.633729266161157430, +-0.633767943115075120, -0.633806618484573310, -0.633845292269554550, -0.633883964469922680, -0.633922635085580780, -0.633961304116432700, -0.633999971562380970, -0.634038637423329440, +-0.634077301699181200, -0.634115964389840080, -0.634154625495208730, -0.634193285015190790, -0.634231942949689990, -0.634270599298608960, -0.634309254061851460, -0.634347907239320770, +-0.634386558830920650, -0.634425208836553840, -0.634463857256124090, -0.634502504089534570, -0.634541149336689150, -0.634579792997490570, -0.634618435071842460, -0.634657075559648340, +-0.634695714460811860, -0.634734351775235630, -0.634772987502823630, -0.634811621643479150, -0.634850254197105950, -0.634888885163606750, -0.634927514542885320, -0.634966142334845500, +-0.635004768539390030, -0.635043393156422550, -0.635082016185846590, -0.635120637627565990, -0.635159257481483390, -0.635197875747502640, -0.635236492425527270, -0.635275107515460900, +-0.635313721017206510, -0.635352332930667840, -0.635390943255748300, -0.635429551992351740, -0.635468159140380910, -0.635506764699739770, -0.635545368670331620, -0.635583971052060440, +-0.635622571844829070, -0.635661171048541140, -0.635699768663100410, -0.635738364688410500, -0.635776959124374370, -0.635815551970895900, -0.635854143227878810, -0.635892732895226080, +-0.635931320972841440, -0.635969907460628540, -0.636008492358491220, -0.636047075666332340, -0.636085657384055760, -0.636124237511564990, -0.636162816048764010, -0.636201392995555670, +-0.636239968351843820, -0.636278542117532100, -0.636317114292524360, -0.636355684876723450, -0.636394253870033340, -0.636432821272357560, -0.636471387083600070, -0.636509951303663830, +-0.636548513932452710, -0.636587074969870550, -0.636625634415820430, -0.636664192270206210, -0.636702748532931520, -0.636741303203900320, -0.636779856283015590, -0.636818407770181060, +-0.636856957665300590, -0.636895505968278040, -0.636934052679016480, -0.636972597797419660, -0.637011141323391430, -0.637049683256835640, -0.637088223597655380, -0.637126762345754490, +-0.637165299501036730, -0.637203835063406050, -0.637242369032765430, -0.637280901409018830, -0.637319432192070430, -0.637357961381822990, -0.637396488978180800, -0.637435014981047270, +-0.637473539390326580, -0.637512062205921710, -0.637550583427736630, -0.637589103055675180, -0.637627621089641220, -0.637666137529537940, -0.637704652375269300, -0.637743165626738940, +-0.637781677283851160, -0.637820187346508800, -0.637858695814615850, -0.637897202688076260, -0.637935707966794000, -0.637974211650672140, -0.638012713739614770, -0.638051214233525620, +-0.638089713132308670, -0.638128210435867200, -0.638166706144105200, -0.638205200256926730, -0.638243692774234980, -0.638282183695933920, -0.638320673021927410, -0.638359160752119630, +-0.638397646886413540, -0.638436131424713340, -0.638474614366922880, -0.638513095712946120, -0.638551575462686370, -0.638590053616047590, -0.638628530172933750, -0.638667005133248920, +-0.638705478496896180, -0.638743950263779840, -0.638782420433803510, -0.638820889006871620, -0.638859355982887010, -0.638897821361754100, -0.638936285143376970, -0.638974747327658800, +-0.639013207914503670, -0.639051666903815650, -0.639090124295498720, -0.639128580089456170, -0.639167034285592180, -0.639205486883810510, -0.639243937884015570, -0.639282387286110420, +-0.639320835089999260, -0.639359281295586060, -0.639397725902774990, -0.639436168911469260, -0.639474610321573160, -0.639513050132990420, -0.639551488345625470, -0.639589924959381500, +-0.639628359974162670, -0.639666793389873310, -0.639705225206416590, -0.639743655423696820, -0.639782084041617850, -0.639820511060084090, -0.639858936478998610, -0.639897360298265940, +-0.639935782517789820, -0.639974203137474550, -0.640012622157223430, -0.640051039576940760, -0.640089455396530500, -0.640127869615896960, -0.640166282234943320, -0.640204693253574100, +-0.640243102671693040, -0.640281510489204560, -0.640319916706012070, -0.640358321322019750, -0.640396724337131910, -0.640435125751251940, -0.640473525564284160, -0.640511923776132640, +-0.640550320386701570, -0.640588715395894460, -0.640627108803615400, -0.640665500609768680, -0.640703890814258490, -0.640742279416988250, -0.640780666417862350, -0.640819051816784780, +-0.640857435613659930, -0.640895817808391110, -0.640934198400882730, -0.640972577391038860, -0.641010954778763910, -0.641049330563961290, -0.641087704746535310, -0.641126077326390040, +-0.641164448303429890, -0.641202817677558270, -0.641241185448679700, -0.641279551616698470, -0.641317916181518010, -0.641356279143042720, -0.641394640501176780, -0.641433000255824610, +-0.641471358406889510, -0.641509714954276110, -0.641548069897888370, -0.641586423237630710, -0.641624774973406750, -0.641663125105120910, -0.641701473632677160, -0.641739820555980110, +-0.641778165874933190, -0.641816509589440810, -0.641854851699407150, -0.641893192204736730, -0.641931531105332960, -0.641969868401100370, -0.642008204091943480, -0.642046538177765690, +-0.642084870658471640, -0.642123201533965400, -0.642161530804151390, -0.642199858468933350, -0.642238184528215570, -0.642276508981902360, -0.642314831829898240, -0.642353153072106610, +-0.642391472708432220, -0.642429790738779040, -0.642468107163051800, -0.642506421981153930, -0.642544735192989940, -0.642583046798464230, -0.642621356797481220, -0.642659665189944440, +-0.642697971975758400, -0.642736277154827950, -0.642774580727056400, -0.642812882692348380, -0.642851183050608180, -0.642889481801740330, -0.642927778945648450, -0.642966074482237080, +-0.643004368411410620, -0.643042660733073480, -0.643080951447129400, -0.643119240553482910, -0.643157528052038410, -0.643195813942700310, -0.643234098225372470, -0.643272380899959310, +-0.643310661966365100, -0.643348941424494720, -0.643387219274251580, -0.643425495515540400, -0.643463770148265500, -0.643502043172331510, -0.643540314587642050, -0.643578584394101870, +-0.643616852591615500, -0.643655119180086670, -0.643693384159420120, -0.643731647529519950, -0.643769909290291100, -0.643808169441637210, -0.643846427983462810, -0.643884684915672300, +-0.643922940238170540, -0.643961193950860930, -0.643999446053648450, -0.644037696546437390, -0.644075945429132270, -0.644114192701637060, -0.644152438363856380, -0.644190682415694550, +-0.644228924857056410, -0.644267165687845590, -0.644305404907966840, -0.644343642517324900, -0.644381878515823630, -0.644420112903367540, -0.644458345679861160, -0.644496576845209330, +-0.644534806399315710, -0.644573034342085020, -0.644611260673421780, -0.644649485393230750, -0.644687708501415660, -0.644725929997881250, -0.644764149882532060, -0.644802368155272810, +-0.644840584816007370, -0.644878799864640360, -0.644917013301076420, -0.644955225125220300, -0.644993435336975730, -0.645031643936247570, -0.645069850922940670, -0.645108056296958890, +-0.645146260058206860, -0.645184462206589200, -0.645222662742010680, -0.645260861664375240, -0.645299058973587520, -0.645337254669552270, -0.645375448752174230, -0.645413641221357140, +-0.645451832077006070, -0.645490021319025330, -0.645528208947319880, -0.645566394961793580, -0.645604579362351380, -0.645642762148897600, -0.645680943321337300, -0.645719122879574340, +-0.645757300823513570, -0.645795477153059850, -0.645833651868117030, -0.645871824968590190, -0.645909996454383740, -0.645948166325402640, -0.645986334581550860, -0.646024501222733140, +-0.646062666248854220, -0.646100829659818960, -0.646138991455531330, -0.646177151635896170, -0.646215310200818130, -0.646253467150202150, -0.646291622483952220, -0.646329776201973180, +-0.646367928304169780, -0.646406078790446760, -0.646444227660708300, -0.646482374914859270, -0.646520520552804290, -0.646558664574448330, -0.646596806979695350, -0.646634947768450430, +-0.646673086940618420, -0.646711224496103410, -0.646749360434810240, -0.646787494756643770, -0.646825627461508850, -0.646863758549309550, -0.646901888019950850, -0.646940015873337380, +-0.646978142109374320, -0.647016266727965420, -0.647054389729015970, -0.647092511112430490, -0.647130630878114070, -0.647168749025970770, -0.647206865555905560, -0.647244980467823190, +-0.647283093761628740, -0.647321205437226150, -0.647359315494520640, -0.647397423933417150, -0.647435530753819770, -0.647473635955633450, -0.647511739538763180, -0.647549841503113790, +-0.647587941848589590, -0.647626040575095430, -0.647664137682536280, -0.647702233170816990, -0.647740327039841860, -0.647778419289515850, -0.647816509919743820, -0.647854598930430850, +-0.647892686321481110, -0.647930772092799590, -0.647968856244291120, -0.648006938775860910, -0.648045019687413020, -0.648083098978852520, -0.648121176650084620, -0.648159252701013490, +-0.648197327131544210, -0.648235399941581640, -0.648273471131030840, -0.648311540699796020, -0.648349608647782350, -0.648387674974894690, -0.648425739681038230, -0.648463802766117040, +-0.648501864230036310, -0.648539924072701000, -0.648577982294016090, -0.648616038893885970, -0.648654093872215840, -0.648692147228910330, -0.648730198963874850, -0.648768249077013470, +-0.648806297568231600, -0.648844344437433880, -0.648882389684525720, -0.648920433309411180, -0.648958475311995580, -0.648996515692184080, -0.649034554449881010, -0.649072591584991530, +-0.649110627097420620, -0.649148660987073470, -0.649186693253854250, -0.649224723897668390, -0.649262752918420620, -0.649300780316016350, -0.649338806090359880, -0.649376830241356280, +-0.649414852768910640, -0.649452873672928250, -0.649490892953313300, -0.649528910609971090, -0.649566926642806690, -0.649604941051725170, -0.649642953836631070, -0.649680964997429560, +-0.649718974534026050, -0.649756982446324630, -0.649794988734230810, -0.649832993397649550, -0.649870996436486160, -0.649908997850644820, -0.649946997640031170, -0.649984995804549830, +-0.650022992344106540, -0.650060987258605280, -0.650098980547951570, -0.650136972212050470, -0.650174962250807290, -0.650212950664126210, -0.650250937451912980, -0.650288922614072230, +-0.650326906150509590, -0.650364888061129350, -0.650402868345836830, -0.650440847004537530, -0.650478824037135750, -0.650516799443536910, -0.650554773223646080, -0.650592745377368660, +-0.650630715904609080, -0.650668684805272620, -0.650706652079264480, -0.650744617726490060, -0.650782581746853770, -0.650820544140261030, -0.650858504906616900, -0.650896464045826910, +-0.650934421557795350, -0.650972377442427750, -0.651010331699629300, -0.651048284329305280, -0.651086235331360230, -0.651124184705699550, -0.651162132452228760, -0.651200078570852270, +-0.651238023061475600, -0.651275965924003940, -0.651313907158342700, -0.651351846764396280, -0.651389784742070320, -0.651427721091269780, -0.651465655811900410, -0.651503588903866500, +-0.651541520367073580, -0.651579450201426940, -0.651617378406831980, -0.651655304983193240, -0.651693229930416230, -0.651731153248406140, -0.651769074937068480, -0.651806994996307900, +-0.651844913426029680, -0.651882830226139350, -0.651920745396542100, -0.651958658937142780, -0.651996570847846790, -0.652034481128559660, -0.652072389779186020, -0.652110296799631390, +-0.652148202189801070, -0.652186105949600580, -0.652224008078934440, -0.652261908577708270, -0.652299807445827380, -0.652337704683197290, -0.652375600289722520, -0.652413494265308920, +-0.652451386609861460, -0.652489277323285880, -0.652527166405486800, -0.652565053856369760, -0.652602939675840150, -0.652640823863803510, -0.652678706420164460, -0.652716587344828620, +-0.652754466637701650, -0.652792344298688270, -0.652830220327694000, -0.652868094724624040, -0.652905967489384340, -0.652943838621879320, -0.652981708122014730, -0.653019575989695840, +-0.653057442224828310, -0.653095306827316870, -0.653133169797067260, -0.653171031133984670, -0.653208890837974730, -0.653246748908942300, -0.653284605346793110, -0.653322460151432250, +-0.653360313322765670, -0.653398164860697910, -0.653436014765134800, -0.653473863035981870, -0.653511709673144090, -0.653549554676526980, -0.653587398046035940, -0.653625239781576830, +-0.653663079883054170, -0.653700918350373920, -0.653738755183441270, -0.653776590382162180, -0.653814423946441180, -0.653852255876184230, -0.653890086171296510, -0.653927914831684000, +-0.653965741857251310, -0.654003567247904320, -0.654041391003548410, -0.654079213124089340, -0.654117033609431850, -0.654154852459481910, -0.654192669674144690, -0.654230485253326280, +-0.654268299196931190, -0.654306111504865400, -0.654343922177034740, -0.654381731213343860, -0.654419538613698610, -0.654457344378004620, -0.654495148506167520, -0.654532950998092280, +-0.654570751853684630, -0.654608551072850100, -0.654646348655494540, -0.654684144601522690, -0.654721938910840520, -0.654759731583353540, -0.654797522618967620, -0.654835312017587490, +-0.654873099779119120, -0.654910885903467910, -0.654948670390539830, -0.654986453240239850, -0.655024234452473710, -0.655062014027147250, -0.655099791964165460, -0.655137568263434170, +-0.655175342924859020, -0.655213115948345750, -0.655250887333799440, -0.655288657081125820, -0.655326425190230650, -0.655364191661019780, -0.655401956493397940, -0.655439719687271330, +-0.655477481242545460, -0.655515241159126180, -0.655552999436918360, -0.655590756075828170, -0.655628511075761030, -0.655666264436623010, -0.655704016158318860, -0.655741766240754750, +-0.655779514683836550, -0.655817261487469330, -0.655855006651558830, -0.655892750176010900, -0.655930492060731400, -0.655968232305625290, -0.656005970910598650, -0.656043707875556990, +-0.656081443200406510, -0.656119176885052060, -0.656156908929399600, -0.656194639333354980, -0.656232368096824060, -0.656270095219711800, -0.656307820701924390, -0.656345544543367350, +-0.656383266743946870, -0.656420987303567900, -0.656458706222136420, -0.656496423499558500, -0.656534139135739210, -0.656571853130584530, -0.656609565484000290, -0.656647276195892360, +-0.656684985266166030, -0.656722692694727160, -0.656760398481481600, -0.656798102626335310, -0.656835805129193480, -0.656873505989962080, -0.656911205208547070, -0.656948902784854180, +-0.656986598718788840, -0.657024293010257000, -0.657061985659164400, -0.657099676665417130, -0.657137366028920370, -0.657175053749580180, -0.657212739827302330, -0.657250424261993090, +-0.657288107053557340, -0.657325788201901350, -0.657363467706931210, -0.657401145568552110, -0.657438821786670120, -0.657476496361190990, -0.657514169292021110, -0.657551840579065350, +-0.657589510222230000, -0.657627178221420920, -0.657664844576544280, -0.657702509287505180, -0.657740172354209670, -0.657777833776563850, -0.657815493554473770, -0.657853151687844640, +-0.657890808176582630, -0.657928463020593490, -0.657966116219783630, -0.658003767774058110, -0.658041417683323140, -0.658079065947485000, -0.658116712566448880, -0.658154357540120970, +-0.658192000868407120, -0.658229642551213740, -0.658267282588445800, -0.658304920980009700, -0.658342557725811180, -0.658380192825756770, -0.658417826279751430, -0.658455458087701560, +-0.658493088249513030, -0.658530716765092120, -0.658568343634344130, -0.658605968857175260, -0.658643592433491460, -0.658681214363198930, -0.658718834646203180, -0.658756453282410280, +-0.658794070271726540, -0.658831685614057360, -0.658869299309308930, -0.658906911357387210, -0.658944521758198620, -0.658982130511648330, -0.659019737617642760, -0.659057343076087760, +-0.659094946886889850, -0.659132549049954220, -0.659170149565187160, -0.659207748432494740, -0.659245345651783390, -0.659282941222958160, -0.659320535145925700, -0.659358127420591860, +-0.659395718046863030, -0.659433307024644640, -0.659470894353842870, -0.659508480034364020, -0.659546064066114160, -0.659583646448998810, -0.659621227182924490, -0.659658806267797270, +-0.659696383703522790, -0.659733959490007350, -0.659771533627157010, -0.659809106114878090, -0.659846676953076190, -0.659884246141657530, -0.659921813680528270, -0.659959379569594830, +-0.659996943808762620, -0.660034506397937930, -0.660072067337027060, -0.660109626625936420, -0.660147184264571310, -0.660184740252838240, -0.660222294590643300, -0.660259847277893000, +-0.660297398314492750, -0.660334947700348950, -0.660372495435368130, -0.660410041519455810, -0.660447585952518290, -0.660485128734461860, -0.660522669865192920, -0.660560209344617010, +-0.660597747172640530, -0.660635283349169770, -0.660672817874111030, -0.660710350747369950, -0.660747881968853030, -0.660785411538466370, -0.660822939456116480, -0.660860465721708980, +-0.660897990335150290, -0.660935513296346590, -0.660973034605204400, -0.661010554261629360, -0.661048072265527980, -0.661085588616806660, -0.661123103315371050, -0.661160616361127770, +-0.661198127753982900, -0.661235637493843060, -0.661273145580613790, -0.661310652014201580, -0.661348156794512750, -0.661385659921453930, -0.661423161394930630, -0.661460661214849370, +-0.661498159381116560, -0.661535655893638500, -0.661573150752321150, -0.661610643957070810, -0.661648135507793890, -0.661685625404397020, -0.661723113646785710, -0.661760600234866600, +-0.661798085168546320, -0.661835568447730620, -0.661873050072325890, -0.661910530042238540, -0.661948008357375110, -0.661985485017641430, -0.662022960022944030, -0.662060433373189210, +-0.662097905068283700, -0.662135375108133030, -0.662172843492643940, -0.662210310221722720, -0.662247775295276120, -0.662285238713209660, -0.662322700475430180, -0.662360160581843880, +-0.662397619032357610, -0.662435075826876880, -0.662472530965308450, -0.662509984447558820, -0.662547436273534410, -0.662584886443141170, -0.662622334956285640, -0.662659781812874660, +-0.662697227012813860, -0.662734670556009990, -0.662772112442369550, -0.662809552671799080, -0.662846991244204320, -0.662884428159492220, -0.662921863417568980, -0.662959297018341440, +-0.662996728961715240, -0.663034159247597340, -0.663071587875893930, -0.663109014846511970, -0.663146440159357090, -0.663183863814336140, -0.663221285811355530, -0.663258706150322010, +-0.663296124831141420, -0.663333541853720510, -0.663370957217966020, -0.663408370923783910, -0.663445782971080810, -0.663483193359763250, -0.663520602089738070, -0.663558009160911120, +-0.663595414573189050, -0.663632818326478470, -0.663670220420686130, -0.663707620855717990, -0.663745019631480690, -0.663782416747880970, -0.663819812204825440, -0.663857206002220090, +-0.663894598139971650, -0.663931988617986860, -0.663969377436172350, -0.664006764594434080, -0.664044150092678810, -0.664081533930813590, -0.664118916108744180, -0.664156296626377540, +-0.664193675483620070, -0.664231052680378850, -0.664268428216559510, -0.664305802092069240, -0.664343174306814440, -0.664380544860701970, -0.664417913753637790, -0.664455280985528970, +-0.664492646556281820, -0.664530010465803400, -0.664567372713999680, -0.664604733300777520, -0.664642092226043420, -0.664679449489704590, -0.664716805091666750, -0.664754159031836770, +-0.664791511310121490, -0.664828861926427760, -0.664866210880661560, -0.664903558172729840, -0.664940903802539560, -0.664978247769996700, -0.665015590075008100, -0.665052930717480620, +-0.665090269697321210, -0.665127607014435630, -0.665164942668731160, -0.665202276660114330, -0.665239608988492100, -0.665276939653770550, -0.665314268655856630, -0.665351595994656990, +-0.665388921670078790, -0.665426245682027910, -0.665463568030411400, -0.665500888715135910, -0.665538207736108610, -0.665575525093235480, -0.665612840786423470, -0.665650154815579760, +-0.665687467180610340, -0.665724777881422150, -0.665762086917922160, -0.665799394290017110, -0.665836699997613300, -0.665874004040617810, -0.665911306418937250, -0.665948607132478830, +-0.665985906181148500, -0.666023203564853450, -0.666060499283500310, -0.666097793336996260, -0.666135085725247490, -0.666172376448160960, -0.666209665505643420, -0.666246952897602160, +-0.666284238623943150, -0.666321522684573560, -0.666358805079400370, -0.666396085808329990, -0.666433364871269360, -0.666470642268125250, -0.666507917998804930, -0.666545192063214500, +-0.666582464461261020, -0.666619735192851450, -0.666657004257892760, -0.666694271656291360, -0.666731537387954210, -0.666768801452788270, -0.666806063850700510, -0.666843324581597450, +-0.666880583645385940, -0.666917841041973050, -0.666955096771265850, -0.666992350833170660, -0.667029603227594530, -0.667066853954444430, -0.667104103013627440, -0.667141350405049960, +-0.667178596128618960, -0.667215840184241960, -0.667253082571824920, -0.667290323291275240, -0.667327562342499790, -0.667364799725405630, -0.667402035439899290, -0.667439269485887720, +-0.667476501863278120, -0.667513732571977550, -0.667550961611892200, -0.667588188982929600, -0.667625414684996480, -0.667662638718000130, -0.667699861081846870, -0.667737081776443860, +-0.667774300801698310, -0.667811518157517270, -0.667848733843807050, -0.667885947860475060, -0.667923160207428480, -0.667960370884573720, -0.667997579891818070, -0.668034787229068390, +-0.668071992896232090, -0.668109196893215460, -0.668146399219925910, -0.668183599876270300, -0.668220798862156020, -0.668257996177489490, -0.668295191822177890, -0.668332385796128300, +-0.668369578099248130, -0.668406768731443670, -0.668443957692622330, -0.668481144982691070, -0.668518330601557190, -0.668555514549127210, -0.668592696825308530, -0.668629877430008350, +-0.668667056363133170, -0.668704233624590310, -0.668741409214286930, -0.668778583132130230, -0.668815755378026840, -0.668852925951884060, -0.668890094853608950, -0.668927262083109040, +-0.668964427640290520, -0.669001591525061000, -0.669038753737327460, -0.669075914276997310, -0.669113073143977170, -0.669150230338174220, -0.669187385859495780, -0.669224539707849230, +-0.669261691883140890, -0.669298842385278370, -0.669335991214169090, -0.669373138369719570, -0.669410283851837100, -0.669447427660428970, -0.669484569795402610, -0.669521710256664400, +-0.669558849044122000, -0.669595986157682450, -0.669633121597253300, -0.669670255362741050, -0.669707387454053120, -0.669744517871096680, -0.669781646613779370, -0.669818773682007480, +-0.669855899075688770, -0.669893022794730290, -0.669930144839039570, -0.669967265208523120, -0.670004383903088470, -0.670041500922643030, -0.670078616267093970, -0.670115729936348160, +-0.670152841930312990, -0.670189952248896100, -0.670227060892003900, -0.670264167859544120, -0.670301273151423960, -0.670338376767550810, -0.670375478707831540, -0.670412578972173550, +-0.670449677560484010, -0.670486774472670690, -0.670523869708640090, -0.670560963268299730, -0.670598055151557130, -0.670635145358319580, -0.670672233888493840, -0.670709320741987640, +-0.670746405918708040, -0.670783489418562810, -0.670820571241458440, -0.670857651387302690, -0.670894729856003180, -0.670931806647466430, -0.670968881761600300, -0.671005955198311850, +-0.671043026957508840, -0.671080097039097990, -0.671117165442986830, -0.671154232169082880, -0.671191297217293540, -0.671228360587525770, -0.671265422279687000, -0.671302482293684720, +-0.671339540629426470, -0.671376597286819090, -0.671413652265770320, -0.671450705566187360, -0.671487757187977820, -0.671524807131048780, -0.671561855395307550, -0.671598901980662080, +-0.671635946887019000, -0.671672990114286160, -0.671710031662370750, -0.671747071531180630, -0.671784109720622410, -0.671821146230604070, -0.671858181061032680, -0.671895214211816310, +-0.671932245682861580, -0.671969275474076140, -0.672006303585367610, -0.672043330016643510, -0.672080354767810920, -0.672117377838777340, -0.672154399229450310, -0.672191418939737660, +-0.672228436969546150, -0.672265453318783510, -0.672302467987357270, -0.672339480975175150, -0.672376492282144020, -0.672413501908171620, -0.672450509853165900, -0.672487516117033500, +-0.672524520699682270, -0.672561523601019840, -0.672598524820953840, -0.672635524359391220, -0.672672522216239740, -0.672709518391407140, -0.672746512884800920, -0.672783505696328050, +-0.672820496825896510, -0.672857486273413690, -0.672894474038787550, -0.672931460121924840, -0.672968444522733520, -0.673005427241121000, -0.673042408276995350, -0.673079387630263200, +-0.673116365300832740, -0.673153341288611600, -0.673190315593506840, -0.673227288215426210, -0.673264259154277460, -0.673301228409968310, -0.673338195982405850, -0.673375161871497820, +-0.673412126077151950, -0.673449088599275990, -0.673486049437777010, -0.673523008592562980, -0.673559966063541400, -0.673596921850620260, -0.673633875953706380, -0.673670828372707970, +-0.673707779107532320, -0.673744728158087720, -0.673781675524280810, -0.673818621206019760, -0.673855565203212550, -0.673892507515766010, -0.673929448143588350, -0.673966387086586960, +-0.674003324344669920, -0.674040259917744300, -0.674077193805717960, -0.674114126008498630, -0.674151056525994390, -0.674187985358112090, -0.674224912504759910, -0.674261837965845380, +-0.674298761741276680, -0.674335683830960650, -0.674372604234805490, -0.674409522952718720, -0.674446439984608630, -0.674483355330381950, -0.674520268989946990, -0.674557180963211600, +-0.674594091250082960, -0.674630999850469150, -0.674667906764277790, -0.674704811991416960, -0.674741715531793850, -0.674778617385316410, -0.674815517551892400, -0.674852416031429980, +-0.674889312823836130, -0.674926207929019030, -0.674963101346886420, -0.674999993077346480, -0.675036883120306070, -0.675073771475673490, -0.675110658143356580, -0.675147543123263190, +-0.675184426415300740, -0.675221308019377190, -0.675258187935400380, -0.675295066163278390, -0.675331942702918410, -0.675368817554228620, -0.675405690717117090, -0.675442562191491010, +-0.675479431977258460, -0.675516300074327390, -0.675553166482605880, -0.675590031202001230, -0.675626894232421390, -0.675663755573774340, -0.675700615225968250, -0.675737473188910310, +-0.675774329462508590, -0.675811184046671180, -0.675848036941306020, -0.675884888146320420, -0.675921737661622670, -0.675958585487120620, -0.675995431622722350, -0.676032276068335270, +-0.676069118823867440, -0.676105959889227170, -0.676142799264321640, -0.676179636949059030, -0.676216472943347520, -0.676253307247094980, -0.676290139860208920, -0.676326970782597510, +-0.676363800014168740, -0.676400627554830660, -0.676437453404490800, -0.676474277563057220, -0.676511100030438020, -0.676547920806541360, -0.676584739891274540, -0.676621557284545870, +-0.676658372986263410, -0.676695186996335240, -0.676731999314668760, -0.676768809941172390, -0.676805618875754300, -0.676842426118321790, -0.676879231668783170, -0.676916035527046600, +-0.676952837693020170, -0.676989638166611290, -0.677026436947728350, -0.677063234036279440, -0.677100029432172620, -0.677136823135315420, -0.677173615145616250, -0.677210405462982950, +-0.677247194087324030, -0.677283981018546700, -0.677320766256559570, -0.677357549801270390, -0.677394331652587780, -0.677431111810418930, -0.677467890274672250, -0.677504667045256030, +-0.677541442122078340, -0.677578215505046710, -0.677614987194069540, -0.677651757189055240, -0.677688525489911210, -0.677725292096545970, -0.677762057008867380, -0.677798820226783950, +-0.677835581750203310, -0.677872341579033530, -0.677909099713183030, -0.677945856152559980, -0.677982610897072120, -0.678019363946627650, -0.678056115301134740, -0.678092864960501920, +-0.678129612924636580, -0.678166359193447250, -0.678203103766842010, -0.678239846644729250, -0.678276587827016720, -0.678313327313612600, -0.678350065104425410, -0.678386801199362900, +-0.678423535598333350, -0.678460268301244840, -0.678496999308006110, -0.678533728618524570, -0.678570456232708620, -0.678607182150466560, -0.678643906371706910, -0.678680628896337180, +-0.678717349724265780, -0.678754068855401020, -0.678790786289651500, -0.678827502026924660, -0.678864216067128990, -0.678900928410172910, -0.678937639055964710, -0.678974348004412140, +-0.679011055255423710, -0.679047760808907940, -0.679084464664772460, -0.679121166822925890, -0.679157867283276320, -0.679194566045732360, -0.679231263110201770, -0.679267958476593050, +-0.679304652144814280, -0.679341344114774310, -0.679378034386380670, -0.679414722959541860, -0.679451409834166300, -0.679488095010162500, -0.679524778487438200, -0.679561460265901920, +-0.679598140345461950, -0.679634818726027050, -0.679671495407504710, -0.679708170389803580, -0.679744843672832500, -0.679781515256498880, -0.679818185140711460, -0.679854853325378650, +-0.679891519810408960, -0.679928184595710140, -0.679964847681190920, -0.680001509066759600, -0.680038168752324810, -0.680074826737794180, -0.680111483023076560, -0.680148137608080240, +-0.680184790492713850, -0.680221441676885250, -0.680258091160502950, -0.680294738943475470, -0.680331385025711550, -0.680368029407118710, -0.680404672087605910, -0.680441313067081330, +-0.680477952345453830, -0.680514589922631140, -0.680551225798522010, -0.680587859973035060, -0.680624492446078140, -0.680661123217560000, -0.680697752287389050, -0.680734379655474120, +-0.680771005321722860, -0.680807629286044100, -0.680844251548346160, -0.680880872108538090, -0.680917490966527430, -0.680954108122223010, -0.680990723575533360, -0.681027337326367220, +-0.681063949374632440, -0.681100559720237750, -0.681137168363091680, -0.681173775303102970, -0.681210380540179570, -0.681246984074230230, -0.681283585905163690, -0.681320186032887800, +-0.681356784457311630, -0.681393381178343360, -0.681429976195891960, -0.681466569509865390, -0.681503161120172280, -0.681539751026721370, -0.681576339229421290, -0.681612925728180220, +-0.681649510522906680, -0.681686093613509400, -0.681722674999897250, -0.681759254681978070, -0.681795832659660710, -0.681832408932853800, -0.681868983501466190, -0.681905556365405840, +-0.681942127524581500, -0.681978696978902230, -0.682015264728275890, -0.682051830772611440, -0.682088395111817290, -0.682124957745802620, -0.682161518674475160, -0.682198077897743890, +-0.682234635415517430, -0.682271191227704740, -0.682307745334213680, -0.682344297734953310, -0.682380848429832270, -0.682417397418759290, -0.682453944701642560, -0.682490490278390930, +-0.682527034148913140, -0.682563576313118040, -0.682600116770913700, -0.682636655522209090, -0.682673192566912720, -0.682709727904933890, -0.682746261536180340, -0.682782793460561030, +-0.682819323677985150, -0.682855852188360650, -0.682892378991596490, -0.682928904087601430, -0.682965427476284300, -0.683001949157553410, -0.683038469131317600, -0.683074987397485620, +-0.683111503955966540, -0.683148018806668310, -0.683184531949500020, -0.683221043384370510, -0.683257553111188630, -0.683294061129862570, -0.683330567440301300, -0.683367072042413650, +-0.683403574936108700, -0.683440076121294430, -0.683476575597880000, -0.683513073365774490, -0.683549569424885870, -0.683586063775123430, -0.683622556416395800, -0.683659047348612050, +-0.683695536571680360, -0.683732024085509820, -0.683768509890009260, -0.683804993985087760, -0.683841476370653510, -0.683877957046615470, -0.683914436012882600, -0.683950913269363860, +-0.683987388815967660, -0.684023862652602840, -0.684060334779178490, -0.684096805195603560, -0.684133273901786240, -0.684169740897635830, -0.684206206183061380, -0.684242669757971100, +-0.684279131622274160, -0.684315591775879310, -0.684352050218695830, -0.684388506950631910, -0.684424961971596750, -0.684461415281499170, -0.684497866880248380, -0.684534316767752670, +-0.684570764943921000, -0.684607211408662540, -0.684643656161886380, -0.684680099203500700, -0.684716540533414800, -0.684752980151537520, -0.684789418057778150, -0.684825854252044900, +-0.684862288734247040, -0.684898721504293760, -0.684935152562093250, -0.684971581907555030, -0.685008009540587710, -0.685044435461100830, -0.685080859669002450, -0.685117282164201980, +-0.685153702946608270, -0.685190122016130610, -0.685226539372677300, -0.685262955016157750, -0.685299368946480690, -0.685335781163555650, -0.685372191667290690, -0.685408600457595330, +-0.685445007534378540, -0.685481412897549380, -0.685517816547016490, -0.685554218482689050, -0.685590618704476020, -0.685627017212286800, -0.685663414006029700, -0.685699809085614120, +-0.685736202450949350, -0.685772594101943690, -0.685808984038506540, -0.685845372260546870, -0.685881758767974190, -0.685918143560696800, -0.685954526638624000, -0.685990908001664960, +-0.686027287649728870, -0.686063665582724250, -0.686100041800560500, -0.686136416303146700, -0.686172789090392140, -0.686209160162205230, -0.686245529518495490, -0.686281897159171870, +-0.686318263084143900, -0.686354627293319860, -0.686390989786609280, -0.686427350563921570, -0.686463709625165230, -0.686500066970249570, -0.686536422599083650, -0.686572776511577110, +-0.686609128707638240, -0.686645479187176560, -0.686681827950101240, -0.686718174996321600, -0.686754520325746240, -0.686790863938284480, -0.686827205833845710, -0.686863546012339230, +-0.686899884473673450, -0.686936221217758100, -0.686972556244502040, -0.687008889553815010, -0.687045221145605400, -0.687081551019782850, -0.687117879176256660, -0.687154205614935340, +-0.687190530335728630, -0.687226853338545610, -0.687263174623295780, -0.687299494189887670, -0.687335812038230800, -0.687372128168234340, -0.687408442579807930, -0.687444755272860200, +-0.687481066247300430, -0.687517375503038150, -0.687553683039982650, -0.687589988858042570, -0.687626292957127630, -0.687662595337146910, -0.687698895998010040, -0.687735194939625540, +-0.687771492161903140, -0.687807787664752040, -0.687844081448081730, -0.687880373511800870, -0.687916663855819070, -0.687952952480045950, -0.687989239384390160, -0.688025524568761200, +-0.688061808033068490, -0.688098089777221640, -0.688134369801129190, -0.688170648104700740, -0.688206924687845720, -0.688243199550473750, -0.688279472692493450, -0.688315744113814460, +-0.688352013814346080, -0.688388281793998020, -0.688424548052678940, -0.688460812590298450, -0.688497075406765970, -0.688533336501991110, -0.688569595875882620, -0.688605853528350130, +-0.688642109459303260, -0.688678363668650870, -0.688714616156302470, -0.688750866922167690, -0.688787115966155940, -0.688823363288176060, -0.688859608888137910, -0.688895852765950670, +-0.688932094921524070, -0.688968335354766980, -0.689004574065589010, -0.689040811053899580, -0.689077046319608420, -0.689113279862624490, -0.689149511682857210, -0.689185741780216190, +-0.689221970154611170, -0.689258196805950800, -0.689294421734145010, -0.689330644939103570, -0.689366866420735080, -0.689403086178949410, -0.689439304213656180, -0.689475520524764800, +-0.689511735112184440, -0.689547947975824750, -0.689584159115595120, -0.689620368531405400, -0.689656576223164560, -0.689692782190782120, -0.689728986434167800, -0.689765188953231360, +-0.689801389747881630, -0.689837588818028370, -0.689873786163581190, -0.689909981784449840, -0.689946175680543170, -0.689982367851771140, -0.690018558298043480, -0.690054747019269170, +-0.690090934015357930, -0.690127119286219280, -0.690163302831763300, -0.690199484651898620, -0.690235664746535300, -0.690271843115582760, -0.690308019758951060, -0.690344194676548840, +-0.690380367868286270, -0.690416539334072650, -0.690452709073818060, -0.690488877087431340, -0.690525043374822460, -0.690561207935901030, -0.690597370770576810, -0.690633531878758870, +-0.690669691260357150, -0.690705848915281080, -0.690742004843440840, -0.690778159044745270, -0.690814311519104220, -0.690850462266427770, -0.690886611286624760, -0.690922758579605280, +-0.690958904145278940, -0.690995047983555600, -0.691031190094344330, -0.691067330477555200, -0.691103469133097610, -0.691139606060881650, -0.691175741260816380, -0.691211874732811760, +-0.691248006476777530, -0.691284136492623550, -0.691320264780258990, -0.691356391339593590, -0.691392516170537320, -0.691428639273000130, -0.691464760646890890, -0.691500880292119870, +-0.691536998208596930, -0.691573114396231150, -0.691609228854932590, -0.691645341584611000, -0.691681452585176330, -0.691717561856537650, -0.691753669398605160, -0.691789775211288480, +-0.691825879294497680, -0.691861981648141940, -0.691898082272131120, -0.691934181166375170, -0.691970278330784060, -0.692006373765266860, -0.692042467469733860, -0.692078559444094580, +-0.692114649688259310, -0.692150738202137020, -0.692186824985637990, -0.692222910038672090, -0.692258993361148710, -0.692295074952977710, -0.692331154814069150, -0.692367232944333000, +-0.692403309343678440, -0.692439384012015550, -0.692475456949254280, -0.692511528155304700, -0.692547597630075900, -0.692583665373478150, -0.692619731385421210, -0.692655795665815250, +-0.692691858214569580, -0.692727919031594140, -0.692763978116798910, -0.692800035470094170, -0.692836091091388880, -0.692872144980593460, -0.692908197137617750, -0.692944247562371720, +-0.692980296254764870, -0.693016343214707180, -0.693052388442108920, -0.693088431936879410, -0.693124473698928930, -0.693160513728167120, -0.693196552024504480, -0.693232588587850080, +-0.693268623418114130, -0.693304656515206670, -0.693340687879037910, -0.693376717509517130, -0.693412745406554620, -0.693448771570060130, -0.693484795999944060, -0.693520818696115700, +-0.693556839658485250, -0.693592858886962650, -0.693628876381458430, -0.693664892141881540, -0.693700906168142390, -0.693736918460151400, -0.693772929017817730, -0.693808937841051800, +-0.693844944929763450, -0.693880950283863100, -0.693916953903260030, -0.693952955787864530, -0.693988955937586800, -0.694024954352336910, -0.694060951032024250, -0.694096945976559350, +-0.694132939185851950, -0.694168930659812560, -0.694204920398350580, -0.694240908401376200, -0.694276894668799600, -0.694312879200531090, -0.694348861996480160, -0.694384843056556900, +-0.694420822380672040, -0.694456799968734660, -0.694492775820655270, -0.694528749936344060, -0.694564722315711200, -0.694600692958666220, -0.694636661865119520, -0.694672629034981170, +-0.694708594468161580, -0.694744558164570150, -0.694780520124117400, -0.694816480346713280, -0.694852438832268330, -0.694888395580691930, -0.694924350591894500, -0.694960303865786330, +-0.694996255402277610, -0.695032205201277950, -0.695068153262697770, -0.695104099586447480, -0.695140044172436690, -0.695175987020575810, -0.695211928130774930, -0.695247867502944540, +-0.695283805136994170, -0.695319741032834340, -0.695355675190375110, -0.695391607609527010, -0.695427538290199540, -0.695463467232303230, -0.695499394435748260, -0.695535319900445150, +-0.695571243626303510, -0.695607165613233660, -0.695643085861145870, -0.695679004369950670, -0.695714921139557680, -0.695750836169877430, -0.695786749460820090, -0.695822661012296170, +-0.695858570824215210, -0.695894478896487920, -0.695930385229024730, -0.695966289821735140, -0.696002192674530010, -0.696038093787319290, -0.696073993160013730, -0.696109890792522720, +-0.696145786684757130, -0.696181680836627010, -0.696217573248043010, -0.696253463918914850, -0.696289352849152940, -0.696325240038667690, -0.696361125487369610, -0.696397009195168340, +-0.696432891161974710, -0.696468771387698690, -0.696504649872251140, -0.696540526615541670, -0.696576401617480910, -0.696612274877979390, -0.696648146396946940, -0.696684016174293990, +-0.696719884209931140, -0.696755750503768810, -0.696791615055716850, -0.696827477865685770, -0.696863338933586100, -0.696899198259328330, -0.696935055842822230, -0.696970911683978510, +-0.697006765782707590, -0.697042618138919990, -0.697078468752525550, -0.697114317623434900, -0.697150164751558550, -0.697186010136807030, -0.697221853779090180, -0.697257695678318630, +-0.697293535834403230, -0.697329374247253720, -0.697365210916780720, -0.697401045842894750, -0.697436879025506440, -0.697472710464525520, -0.697508540159862970, -0.697544368111429060, +-0.697580194319134430, -0.697616018782889040, -0.697651841502603730, -0.697687662478188700, -0.697723481709554780, -0.697759299196611950, -0.697795114939270820, -0.697830928937441920, +-0.697866741191035980, -0.697902551699962960, -0.697938360464133490, -0.697974167483458090, -0.698009972757847600, -0.698045776287211980, -0.698081578071461760, -0.698117378110508000, +-0.698153176404260440, -0.698188972952630050, -0.698224767755527110, -0.698260560812862590, -0.698296352124546330, -0.698332141690489180, -0.698367929510601780, -0.698403715584794750, +-0.698439499912978160, -0.698475282495062850, -0.698511063330959360, -0.698546842420578410, -0.698582619763830180, -0.698618395360625310, -0.698654169210874420, -0.698689941314488470, +-0.698725711671377430, -0.698761480281452020, -0.698797247144623210, -0.698833012260801080, -0.698868775629896350, -0.698904537251819670, -0.698940297126481980, -0.698976055253793140, +-0.699011811633664220, -0.699047566266005840, -0.699083319150728850, -0.699119070287743230, -0.699154819676959920, -0.699190567318289440, -0.699226313211642970, -0.699262057356930480, +-0.699297799754062810, -0.699333540402950590, -0.699369279303504790, -0.699405016455635580, -0.699440751859253810, -0.699476485514270330, -0.699512217420595440, -0.699547947578140090, +-0.699583675986814700, -0.699619402646530550, -0.699655127557197610, -0.699690850718726720, -0.699726572131028850, -0.699762291794014720, -0.699798009707594650, -0.699833725871679580, +-0.699869440286180140, -0.699905152951007410, -0.699940863866071460, -0.699976573031283360, -0.700012280446553840, -0.700047986111793970, -0.700083690026913840, -0.700119392191824400, +-0.700155092606436820, -0.700190791270661190, -0.700226488184408580, -0.700262183347589830, -0.700297876760115790, -0.700333568421896870, -0.700369258332844020, -0.700404946492868000, +-0.700440632901879860, -0.700476317559789900, -0.700512000466509080, -0.700547681621948360, -0.700583361026018700, -0.700619038678630290, -0.700654714579694420, -0.700690388729121590, +-0.700726061126823120, -0.700761731772709280, -0.700797400666691050, -0.700833067808679380, -0.700868733198585340, -0.700904396836319110, -0.700940058721791880, -0.700975718854914830, +-0.701011377235598250, -0.701047033863753110, -0.701082688739290470, -0.701118341862121410, -0.701153993232156100, -0.701189642849305850, -0.701225290713481500, -0.701260936824594230, +-0.701296581182554330, -0.701332223787273000, -0.701367864638661080, -0.701403503736629740, -0.701439141081089400, -0.701474776671951240, -0.701510410509126100, -0.701546042592525290, +-0.701581672922058970, -0.701617301497638570, -0.701652928319175140, -0.701688553386579090, -0.701724176699761730, -0.701759798258633880, -0.701795418063106860, -0.701831036113090940, +-0.701866652408497550, -0.701902266949237410, -0.701937879735221930, -0.701973490766361510, -0.702009100042567220, -0.702044707563750260, -0.702080313329821900, -0.702115917340692340, +-0.702151519596273090, -0.702187120096474990, -0.702222718841209460, -0.702258315830386780, -0.702293911063918250, -0.702329504541715280, -0.702365096263688260, -0.702400686229748490, +-0.702436274439807050, -0.702471860893775220, -0.702507445591563420, -0.702543028533083040, -0.702578609718244930, -0.702614189146960830, -0.702649766819140820, -0.702685342734696410, +-0.702720916893538660, -0.702756489295578880, -0.702792059940727580, -0.702827628828896160, -0.702863195959995690, -0.702898761333937470, -0.702934324950632130, -0.702969886809990840, +-0.703005446911924900, -0.703041005256345720, -0.703076561843163690, -0.703112116672290230, -0.703147669743636740, -0.703183221057113840, -0.703218770612632940, -0.703254318410104990, +-0.703289864449441640, -0.703325408730553270, -0.703360951253351410, -0.703396492017747120, -0.703432031023651930, -0.703467568270976340, -0.703503103759631880, -0.703538637489529610, +-0.703574169460581160, -0.703609699672696930, -0.703645228125788340, -0.703680754819766770, -0.703716279754543650, -0.703751802930029480, -0.703787324346135890, -0.703822844002774170, +-0.703858361899855070, -0.703893878037290090, -0.703929392414990420, -0.703964905032867570, -0.704000415890832070, -0.704035924988795640, -0.704071432326669360, -0.704106937904364740, +-0.704142441721792520, -0.704177943778864220, -0.704213444075491140, -0.704248942611584660, -0.704284439387055540, -0.704319934401815280, -0.704355427655775190, -0.704390919148846880, +-0.704426408880940880, -0.704461896851968920, -0.704497383061842620, -0.704532867510472390, -0.704568350197770090, -0.704603831123646880, -0.704639310288014410, -0.704674787690783400, +-0.704710263331865370, -0.704745737211171620, -0.704781209328613990, -0.704816679684102890, -0.704852148277550160, -0.704887615108866990, -0.704923080177965230, -0.704958543484755400, +-0.704994005029149110, -0.705029464811057880, -0.705064922830393350, -0.705100379087066130, -0.705135833580987970, -0.705171286312070600, -0.705206737280224650, -0.705242186485361850, +-0.705277633927393620, -0.705313079606231570, -0.705348523521786560, -0.705383965673970210, -0.705419406062694040, -0.705454844687869560, -0.705490281549407630, -0.705525716647220080, +-0.705561149981218220, -0.705596581551313770, -0.705632011357417600, -0.705667439399441320, -0.705702865677296560, -0.705738290190894850, -0.705773712940147120, -0.705809133924965140, +-0.705844553145260290, -0.705879970600944430, -0.705915386291928290, -0.705950800218123620, -0.705986212379442370, -0.706021622775795170, -0.706057031407093970, -0.706092438273250190, +-0.706127843374175670, -0.706163246709781140, -0.706198648279978580, -0.706234048084679380, -0.706269446123795390, -0.706304842397237450, -0.706340236904917430, -0.706375629646746720, +-0.706411020622637280, -0.706446409832500070, -0.706481797276246710, -0.706517182953788960, -0.706552566865038530, -0.706587949009906400, -0.706623329388304300, -0.706658708000144300, +-0.706694084845337130, -0.706729459923794880, -0.706764833235428820, -0.706800204780151150, -0.706835574557872490, -0.706870942568505020, -0.706906308811960150, -0.706941673288149830, +-0.706977035996984910, -0.707012396938377590, -0.707047756112239130, -0.707083113518481630, -0.707118469157016040, -0.707153823027754310, -0.707189175130607970, -0.707224525465489080, +-0.707259874032308500, -0.707295220830978180, -0.707330565861410300, -0.707365909123515490, -0.707401250617206050, -0.707436590342393480, -0.707471928298989640, -0.707507264486905710, +-0.707542598906053750, -0.707577931556345190, -0.707613262437692070, -0.707648591550005480, -0.707683918893197480, -0.707719244467179600, -0.707754568271864000, -0.707789890307161660, +-0.707825210572984640, -0.707860529069244460, -0.707895845795853410, -0.707931160752722330, -0.707966473939763310, -0.708001785356888180, -0.708037095004008910, -0.708072402881036570, +-0.708107708987883220, -0.708143013324460950, -0.708178315890680810, -0.708213616686454880, -0.708248915711694900, -0.708284212966312940, -0.708319508450220180, -0.708354802163328690, +-0.708390094105549980, -0.708425384276796580, -0.708460672676979320, -0.708495959306010390, -0.708531244163801530, -0.708566527250264810, -0.708601808565311520, -0.708637088108853730, +-0.708672365880803290, -0.708707641881072160, -0.708742916109571630, -0.708778188566213770, -0.708813459250910880, -0.708848728163573920, -0.708883995304115170, -0.708919260672446370, +-0.708954524268479820, -0.708989786092126590, -0.709025046143298980, -0.709060304421908590, -0.709095560927867850, -0.709130815661087930, -0.709166068621480910, -0.709201319808958730, +-0.709236569223433590, -0.709271816864816770, -0.709307062733020350, -0.709342306827956180, -0.709377549149536660, -0.709412789697672960, -0.709448028472277280, -0.709483265473261790, +-0.709518500700537900, -0.709553734154017680, -0.709588965833613190, -0.709624195739236630, -0.709659423870799170, -0.709694650228213210, -0.709729874811390600, -0.709765097620243650, +-0.709800318654683520, -0.709835537914622730, -0.709870755399973020, -0.709905971110646790, -0.709941185046555350, -0.709976397207610850, -0.710011607593725390, -0.710046816204811250, +-0.710082023040779720, -0.710117228101543210, -0.710152431387013560, -0.710187632897103180, -0.710222832631723370, -0.710258030590786520, -0.710293226774204920, -0.710328421181889880, +-0.710363613813753790, -0.710398804669708730, -0.710433993749666870, -0.710469181053539730, -0.710504366581239720, -0.710539550332678790, -0.710574732307769240, -0.710609912506422580, +-0.710645090928551100, -0.710680267574066880, -0.710715442442882430, -0.710750615534908920, -0.710785786850059000, -0.710820956388244500, -0.710856124149377930, -0.710891290133370820, +-0.710926454340135350, -0.710961616769584140, -0.710996777421628590, -0.711031936296181110, -0.711067093393153770, -0.711102248712458970, -0.711137402254008340, -0.711172554017714060, +-0.711207704003488540, -0.711242852211243950, -0.711277998640892030, -0.711313143292345070, -0.711348286165515260, -0.711383427260315000, -0.711418566576655920, -0.711453704114450300, +-0.711488839873610560, -0.711523973854048860, -0.711559106055677180, -0.711594236478407580, -0.711629365122152690, -0.711664491986824020, -0.711699617072334200, -0.711734740378595410, +-0.711769861905519940, -0.711804981653019640, -0.711840099621006810, -0.711875215809393720, -0.711910330218092910, -0.711945442847016000, -0.711980553696075490, -0.712015662765183470, +-0.712050770054252660, -0.712085875563194690, -0.712120979291921970, -0.712156081240346910, -0.712191181408381780, -0.712226279795938550, -0.712261376402929520, -0.712296471229267420, +-0.712331564274863770, -0.712366655539631300, -0.712401745023482080, -0.712436832726328850, -0.712471918648083240, -0.712507002788657860, -0.712542085147964910, -0.712577165725917120, +-0.712612244522426110, -0.712647321537404400, -0.712682396770764500, -0.712717470222418830, -0.712752541892279210, -0.712787611780258290, -0.712822679886268240, -0.712857746210221800, +-0.712892810752030700, -0.712927873511607690, -0.712962934488864830, -0.712997993683715080, -0.713033051096069960, -0.713068106725842200, -0.713103160572944540, -0.713138212637288720, +-0.713173262918787240, -0.713208311417352640, -0.713243358132897630, -0.713278403065333850, -0.713313446214574150, -0.713348487580530710, -0.713383527163116480, -0.713418564962243100, +-0.713453600977823180, -0.713488635209769350, -0.713523667657994240, -0.713558698322409700, -0.713593727202928350, -0.713628754299462710, -0.713663779611925510, -0.713698803140228490, +-0.713733824884284500, -0.713768844844006270, -0.713803863019305540, -0.713838879410095270, -0.713873894016287760, -0.713908906837795840, -0.713943917874531260, -0.713978927126406980, +-0.714013934593335400, -0.714048940275229250, -0.714083944172000380, -0.714118946283561760, -0.714153946609825670, -0.714188945150705080, -0.714223941906111830, -0.714258936875958650, +-0.714293930060158290, -0.714328921458623260, -0.714363911071265620, -0.714398898897998240, -0.714433884938733940, -0.714468869193384590, -0.714503851661863140, -0.714538832344082000, +-0.714573811239954000, -0.714608788349391340, -0.714643763672306640, -0.714678737208612520, -0.714713708958221840, -0.714748678921046650, -0.714783647096999710, -0.714818613485993630, +-0.714853578087941370, -0.714888540902754780, -0.714923501930346930, -0.714958461170630330, -0.714993418623517840, -0.715028374288921520, -0.715063328166754220, -0.715098280256928680, +-0.715133230559357620, -0.715168179073953250, -0.715203125800628500, -0.715238070739296240, -0.715273013889868410, -0.715307955252257990, -0.715342894826377810, -0.715377832612140610, +-0.715412768609458680, -0.715447702818244660, -0.715482635238411380, -0.715517565869871920, -0.715552494712538230, -0.715587421766323280, -0.715622347031139800, -0.715657270506900640, +-0.715692192193518100, -0.715727112090905120, -0.715762030198974220, -0.715796946517638700, -0.715831861046810400, -0.715866773786402510, -0.715901684736327980, -0.715936593896499000, +-0.715971501266828400, -0.716006406847229160, -0.716041310637614110, -0.716076212637895450, -0.716111112847986450, -0.716146011267799530, -0.716180907897247860, -0.716215802736243630, +-0.716250695784700020, -0.716285587042529540, -0.716320476509645370, -0.716355364185959800, -0.716390250071385900, -0.716425134165836200, -0.716460016469224080, -0.716494896981461520, +-0.716529775702461790, -0.716564652632137870, -0.716599527770402030, -0.716634401117167470, -0.716669272672346810, -0.716704142435853230, -0.716739010407599130, -0.716773876587497360, +-0.716808740975460990, -0.716843603571403090, -0.716878464375235720, -0.716913323386872410, -0.716948180606225670, -0.716983036033208790, -0.717017889667734050, -0.717052741509714540, +-0.717087591559063210, -0.717122439815693240, -0.717157286279516800, -0.717192130950447090, -0.717226973828397400, -0.717261814913280120, -0.717296654205008100, -0.717331491703494530, +-0.717366327408652580, -0.717401161320394440, -0.717435993438633400, -0.717470823763282420, -0.717505652294254670, -0.717540479031462560, -0.717575303974819170, -0.717610127124237440, +-0.717644948479630780, -0.717679768040911490, -0.717714585807992740, -0.717749401780787500, -0.717784215959209050, -0.717819028343169800, -0.717853838932582920, -0.717888647727361500, +-0.717923454727418810, -0.717958259932667040, -0.717993063343019710, -0.718027864958390110, -0.718062664778690410, -0.718097462803834130, -0.718132259033734120, -0.718167053468303780, +-0.718201846107455520, -0.718236636951102620, -0.718271425999158280, -0.718306213251535430, -0.718340998708146940, -0.718375782368905870, -0.718410564233725400, -0.718445344302518720, +-0.718480122575198440, -0.718514899051677870, -0.718549673731870060, -0.718584446615688320, -0.718619217703045150, -0.718653986993853970, -0.718688754488028160, -0.718723520185480140, +-0.718758284086123300, -0.718793046189870720, -0.718827806496635910, -0.718862565006331280, -0.718897321718870110, -0.718932076634165810, -0.718966829752131440, -0.719001581072679860, +-0.719036330595724250, -0.719071078321177780, -0.719105824248953970, -0.719140568378965230, -0.719175310711125170, -0.719210051245346760, -0.719244789981543620, -0.719279526919628040, +-0.719314262059513760, -0.719348995401114080, -0.719383726944341720, -0.719418456689109980, -0.719453184635332030, -0.719487910782921510, -0.719522635131790820, -0.719557357681853580, +-0.719592078433022970, -0.719626797385212400, -0.719661514538334600, -0.719696229892303090, -0.719730943447030810, -0.719765655202431630, -0.719800365158417940, -0.719835073314903370, +-0.719869779671801100, -0.719904484229024640, -0.719939186986486730, -0.719973887944100890, -0.720008587101780280, -0.720043284459438440, -0.720077980016988200, -0.720112673774342960, +-0.720147365731416360, -0.720182055888121010, -0.720216744244370540, -0.720251430800078250, -0.720286115555157650, -0.720320798509521350, -0.720355479663083220, -0.720390159015756320, +-0.720424836567454370, -0.720459512318089910, -0.720494186267576770, -0.720528858415828140, -0.720563528762757640, -0.720598197308278010, -0.720632864052302980, -0.720667528994745730, +-0.720702192135519890, -0.720736853474538420, -0.720771513011714720, -0.720806170746962520, -0.720840826680194670, -0.720875480811324690, -0.720910133140266090, -0.720944783666932270, +-0.720979432391236410, -0.721014079313091800, -0.721048724432412080, -0.721083367749110860, -0.721118009263100880, -0.721152648974295980, -0.721187286882609250, -0.721221922987954840, +-0.721256557290245180, -0.721291189789394100, -0.721325820485315130, -0.721360449377921880, -0.721395076467127190, -0.721429701752844820, -0.721464325234988600, -0.721498946913471160, +-0.721533566788206350, -0.721568184859107680, -0.721602801126088770, -0.721637415589062580, -0.721672028247942850, -0.721706639102643100, -0.721741248153076940, -0.721775855399157450, +-0.721810460840798360, -0.721845064477913080, -0.721879666310415450, -0.721914266338218310, -0.721948864561235530, -0.721983460979380600, -0.722018055592567260, -0.722052648400708490, +-0.722087239403718220, -0.722121828601509970, -0.722156415993997050, -0.722191001581092950, -0.722225585362711420, -0.722260167338766190, -0.722294747509170220, -0.722329325873837360, +-0.722363902432681230, -0.722398477185615670, -0.722433050132553540, -0.722467621273408910, -0.722502190608095060, -0.722536758136526180, -0.722571323858615000, -0.722605887774275590, +-0.722640449883421470, -0.722675010185966470, -0.722709568681823680, -0.722744125370906930, -0.722778680253129860, -0.722813233328406410, -0.722847784596649670, -0.722882334057773360, +-0.722916881711691550, -0.722951427558317210, -0.722985971597564390, -0.723020513829346510, -0.723055054253577740, -0.723089592870170940, -0.723124129679040270, -0.723158664680099150, +-0.723193197873261750, -0.723227729258441140, -0.723262258835551060, -0.723296786604505360, -0.723331312565218100, -0.723365836717602130, -0.723400359061571630, -0.723434879597040230, +-0.723469398323921880, -0.723503915242129870, -0.723538430351577940, -0.723572943652180280, -0.723607455143849940, -0.723641964826500890, -0.723676472700047090, -0.723710978764402270, +-0.723745483019479830, -0.723779985465193620, -0.723814486101457490, -0.723848984928185390, -0.723883481945290510, -0.723917977152686910, -0.723952470550288440, -0.723986962138009170, +-0.724021451915762060, -0.724055939883461290, -0.724090426041020810, -0.724124910388354470, -0.724159392925375570, -0.724193873651998170, -0.724228352568136450, -0.724262829673703480, +-0.724297304968613440, -0.724331778452780180, -0.724366250126117770, -0.724400719988539390, -0.724435188039959320, -0.724469654280291200, -0.724504118709449200, -0.724538581327346610, +-0.724573042133897620, -0.724607501129016060, -0.724641958312616020, -0.724676413684610780, -0.724710867244914510, -0.724745318993440970, -0.724779768930104540, -0.724814217054818410, +-0.724848663367496650, -0.724883107868053320, -0.724917550556402390, -0.724951991432457370, -0.724986430496132430, -0.725020867747341650, -0.725055303185998420, -0.725089736812016940, +-0.725124168625311040, -0.725158598625795130, -0.725193026813382380, -0.725227453187986980, -0.725261877749523000, -0.725296300497904720, -0.725330721433045330, -0.725365140554859120, +-0.725399557863260050, -0.725433973358162400, -0.725468387039479470, -0.725502798907125660, -0.725537208961014810, -0.725571617201061230, -0.725606023627178300, -0.725640428239280320, +-0.725674831037281590, -0.725709232021095390, -0.725743631190636230, -0.725778028545817970, -0.725812424086554890, -0.725846817812760500, -0.725881209724349000, -0.725915599821234550, +-0.725949988103331450, -0.725984374570552980, -0.726018759222813560, -0.726053142060027360, -0.726087523082108440, -0.726121902288970440, -0.726156279680527870, -0.726190655256694460, +-0.726225029017384730, -0.726259400962512070, -0.726293771091991000, -0.726328139405735710, -0.726362505903659810, -0.726396870585677700, -0.726431233451703350, -0.726465594501651270, +-0.726499953735434860, -0.726534311152968630, -0.726568666754166540, -0.726603020538943100, -0.726637372507211830, -0.726671722658887130, -0.726706070993883180, -0.726740417512114270, +-0.726774762213494020, -0.726809105097936840, -0.726843446165357010, -0.726877785415668830, -0.726912122848785810, -0.726946458464622580, -0.726980792263093420, -0.727015124244111970, +-0.727049454407592830, -0.727083782753449980, -0.727118109281597920, -0.727152433991950400, -0.727186756884421690, -0.727221077958926100, -0.727255397215378130, -0.727289714653691410, +-0.727324030273780340, -0.727358344075559220, -0.727392656058942540, -0.727426966223843950, -0.727461274570177950, -0.727495581097858720, -0.727529885806800890, -0.727564188696917970, +-0.727598489768124690, -0.727632789020335120, -0.727667086453463900, -0.727701382067424630, -0.727735675862131840, -0.727769967837500250, -0.727804257993443390, -0.727838546329875990, +-0.727872832846712110, -0.727907117543866500, -0.727941400421252770, -0.727975681478785660, -0.728009960716379250, -0.728044238133948250, -0.728078513731406310, -0.728112787508668150, +-0.728147059465647950, -0.728181329602260450, -0.728215597918419280, -0.728249864414039160, -0.728284129089034390, -0.728318391943319600, -0.728352652976808510, -0.728386912189415760, +-0.728421169581056070, -0.728455425151643080, -0.728489678901091620, -0.728523930829315880, -0.728558180936230810, -0.728592429221749830, -0.728626675685787760, -0.728660920328259020, +-0.728695163149078340, -0.728729404148159340, -0.728763643325416990, -0.728797880680765340, -0.728832116214119360, -0.728866349925392900, -0.728900581814500460, -0.728934811881356560, +-0.728969040125875930, -0.729003266547972430, -0.729037491147560780, -0.729071713924555720, -0.729105934878871100, -0.729140154010421540, -0.729174371319121660, -0.729208586804886090, +-0.729242800467628790, -0.729277012307264490, -0.729311222323707710, -0.729345430516873170, -0.729379636886674730, -0.729413841433027120, -0.729448044155844970, -0.729482245055043000, +-0.729516444130535180, -0.729550641382236130, -0.729584836810060590, -0.729619030413923180, -0.729653222193737960, -0.729687412149419680, -0.729721600280882840, -0.729755786588042300, +-0.729789971070812000, -0.729824153729106690, -0.729858334562841440, -0.729892513571929970, -0.729926690756287240, -0.729960866115827670, -0.729995039650466420, -0.730029211360117230, +-0.730063381244694940, -0.730097549304114190, -0.730131715538289930, -0.730165879947136110, -0.730200042530567470, -0.730234203288498860, -0.730268362220845010, -0.730302519327519880, +-0.730336674608438540, -0.730370828063515390, -0.730404979692665600, -0.730439129495803030, -0.730473277472842520, -0.730507423623699250, -0.730541567948287060, -0.730575710446521030, +-0.730609851118315670, -0.730643989963585930, -0.730678126982245990, -0.730712262174210700, -0.730746395539394800, -0.730780527077713130, -0.730814656789079970, -0.730848784673409970, +-0.730882910730618170, -0.730917034960619330, -0.730951157363327610, -0.730985277938658080, -0.731019396686525270, -0.731053513606844340, -0.731087628699529260, -0.731121741964495090, +-0.731155853401656900, -0.731189963010928760, -0.731224070792225730, -0.731258176745462450, -0.731292280870554200, -0.731326383167414830, -0.731360483635959510, -0.731394582276102990, +-0.731428679087760330, -0.731462774070845700, -0.731496867225273960, -0.731530958550960290, -0.731565048047819410, -0.731599135715765620, -0.731633221554713890, -0.731667305564579260, +-0.731701387745276600, -0.731735468096720190, -0.731769546618825100, -0.731803623311506500, -0.731837698174678470, -0.731871771208256190, -0.731905842412154510, -0.731939911786288590, +-0.731973979330572510, -0.732008045044921450, -0.732042108929250370, -0.732076170983474220, -0.732110231207507400, -0.732144289601264990, -0.732178346164661820, -0.732212400897613190, +-0.732246453800033170, -0.732280504871837050, -0.732314554112939660, -0.732348601523256200, -0.732382647102700850, -0.732416690851188990, -0.732450732768635370, -0.732484772854955170, +-0.732518811110062900, -0.732552847533873400, -0.732586882126302190, -0.732620914887263440, -0.732654945816672450, -0.732688974914444070, -0.732723002180493470, -0.732757027614735160, +-0.732791051217084210, -0.732825072987455690, -0.732859092925764790, -0.732893111031925890, -0.732927127305854190, -0.732961141747464630, -0.732995154356672510, -0.733029165133392220, +-0.733063174077539070, -0.733097181189027890, -0.733131186467774200, -0.733165189913692170, -0.733199191526697100, -0.733233191306704390, -0.733267189253628440, -0.733301185367384530, +-0.733335179647887640, -0.733369172095053030, -0.733403162708795240, -0.733437151489029550, -0.733471138435671020, -0.733505123548634840, -0.733539106827835630, -0.733573088273188680, +-0.733607067884608940, -0.733641045662011830, -0.733675021605311840, -0.733708995714424270, -0.733742967989264310, -0.733776938429747120, -0.733810907035787330, -0.733844873807300240, +-0.733878838744201230, -0.733912801846404950, -0.733946763113826560, -0.733980722546381250, -0.734014680143984520, -0.734048635906550780, -0.734082589833995440, -0.734116541926233550, +-0.734150492183180740, -0.734184440604751300, -0.734218387190860740, -0.734252331941424250, -0.734286274856357220, -0.734320215935574280, -0.734354155178990720, -0.734388092586521820, +-0.734422028158082880, -0.734455961893588750, -0.734489893792954600, -0.734523823856095710, -0.734557752082927620, -0.734591678473364710, -0.734625603027322830, -0.734659525744717050, +-0.734693446625462210, -0.734727365669473830, -0.734761282876666980, -0.734795198246957160, -0.734829111780259110, -0.734863023476488240, -0.734896933335559940, -0.734930841357389510, +-0.734964747541891560, -0.734998651888981950, -0.735032554398575620, -0.735066455070588210, -0.735100353904934330, -0.735134250901529620, -0.735168146060289240, -0.735202039381128820, +-0.735235930863962990, -0.735269820508707370, -0.735303708315277470, -0.735337594283587910, -0.735371478413554550, -0.735405360705092330, -0.735439241158117100, -0.735473119772543370, +-0.735506996548287000, -0.735540871485263040, -0.735574744583387230, -0.735608615842574200, -0.735642485262739680, -0.735676352843798950, -0.735710218585667650, -0.735744082488260510, +-0.735777944551493150, -0.735811804775280850, -0.735845663159539360, -0.735879519704183530, -0.735913374409128850, -0.735947227274290960, -0.735981078299584810, -0.736014927484925810, +-0.736048774830229680, -0.736082620335411830, -0.736116464000387110, -0.736150305825071240, -0.736184145809379630, -0.736217983953227910, -0.736251820256530910, -0.736285654719204370, +-0.736319487341163810, -0.736353318122324740, -0.736387147062602110, -0.736420974161911550, -0.736454799420168560, -0.736488622837289000, -0.736522444413187480, -0.736556264147779860, +-0.736590082040981860, -0.736623898092708340, -0.736657712302875130, -0.736691524671397650, -0.736725335198191610, -0.736759143883171990, -0.736792950726254390, -0.736826755727354570, +-0.736860558886388020, -0.736894360203269820, -0.736928159677915810, -0.736961957310241280, -0.736995753100162190, -0.737029547047593490, -0.737063339152450810, -0.737097129414649890, +-0.737130917834106340, -0.737164704410735340, -0.737198489144452410, -0.737232272035173390, -0.737266053082813900, -0.737299832287289010, -0.737333609648514580, -0.737367385166406430, +-0.737401158840879420, -0.737434930671849620, -0.737468700659232420, -0.737502468802943790, -0.737536235102898670, -0.737569999559013030, -0.737603762171202380, -0.737637522939382560, +-0.737671281863468640, -0.737705038943376580, -0.737738794179021880, -0.737772547570320510, -0.737806299117187430, -0.737840048819538690, -0.737873796677289700, -0.737907542690356630, +-0.737941286858654340, -0.737975029182098900, -0.738008769660606130, -0.738042508294091130, -0.738076245082469830, -0.738109980025658090, -0.738143713123571520, -0.738177444376125420, +-0.738211173783235750, -0.738244901344818130, -0.738278627060788510, -0.738312350931062070, -0.738346072955554660, -0.738379793134182230, -0.738413511466860520, -0.738447227953504700, +-0.738480942594030850, -0.738514655388354700, -0.738548366336392090, -0.738582075438058430, -0.738615782693269440, -0.738649488101941310, -0.738683191663989210, -0.738716893379329110, +-0.738750593247876840, -0.738784291269548250, -0.738817987444258750, -0.738851681771924170, -0.738885374252460480, -0.738919064885783630, -0.738952753671808790, -0.738986440610452160, +-0.739020125701629340, -0.739053808945256520, -0.739087490341248880, -0.739121169889522590, -0.739154847589993280, -0.739188523442577130, -0.739222197447189420, -0.739255869603746230, +-0.739289539912163400, -0.739323208372356880, -0.739356874984242190, -0.739390539747735280, -0.739424202662752330, -0.739457863729208520, -0.739491522947020030, -0.739525180316102810, +-0.739558835836372830, -0.739592489507745590, -0.739626141330137040, -0.739659791303463150, -0.739693439427640210, -0.739727085702583160, -0.739760730128208530, -0.739794372704432050, +-0.739828013431170000, -0.739861652308337450, -0.739895289335850910, -0.739928924513626130, -0.739962557841579270, -0.739996189319625740, -0.740029818947681830, -0.740063446725663600, +-0.740097072653486450, -0.740130696731066570, -0.740164318958320020, -0.740197939335162980, -0.740231557861510740, -0.740265174537279690, -0.740298789362385580, -0.740332402336744910, +-0.740366013460272860, -0.740399622732885840, -0.740433230154499690, -0.740466835725030800, -0.740500439444394480, -0.740534041312507220, -0.740567641329284650, -0.740601239494643400, +-0.740634835808498760, -0.740668430270766900, -0.740702022881364440, -0.740735613640206570, -0.740769202547209570, -0.740802789602289740, -0.740836374805363020, -0.740869958156345270, +-0.740903539655152430, -0.740937119301700810, -0.740970697095906790, -0.741004273037685680, -0.741037847126953860, -0.741071419363627410, -0.741104989747622730, -0.741138558278855220, +-0.741172124957241380, -0.741205689782697300, -0.741239252755139240, -0.741272813874482630, -0.741306373140644070, -0.741339930553539860, -0.741373486113085620, -0.741407039819197640, +-0.741440591671791990, -0.741474141670785180, -0.741507689816092720, -0.741541236107631010, -0.741574780545316230, -0.741608323129064770, -0.741641863858792270, -0.741675402734415120, +-0.741708939755849390, -0.741742474923011710, -0.741776008235817350, -0.741809539694183170, -0.741843069298025130, -0.741876597047259610, -0.741910122941802360, -0.741943646981569780, +-0.741977169166478050, -0.742010689496443780, -0.742044207971382490, -0.742077724591210570, -0.742111239355844780, -0.742144752265200490, -0.742178263319194340, -0.742211772517742510, +-0.742245279860761610, -0.742278785348167160, -0.742312288979875780, -0.742345790755803650, -0.742379290675867280, -0.742412788739982510, -0.742446284948065750, -0.742479779300033170, +-0.742513271795801620, -0.742546762435286390, -0.742580251218404430, -0.742613738145071810, -0.742647223215205040, -0.742680706428719970, -0.742714187785533220, -0.742747667285561190, +-0.742781144928719610, -0.742814620714925320, -0.742848094644094510, -0.742881566716143580, -0.742915036930988590, -0.742948505288545950, -0.742981971788732040, -0.743015436431463620, +-0.743048899216656180, -0.743082360144226460, -0.743115819214090980, -0.743149276426166130, -0.743182731780367870, -0.743216185276612710, -0.743249636914817160, -0.743283086694897730, +-0.743316534616770390, -0.743349980680351630, -0.743383424885558310, -0.743416867232306040, -0.743450307720511570, -0.743483746350091400, -0.743517183120962160, -0.743550618033039680, +-0.743584051086240590, -0.743617482280481410, -0.743650911615678870, -0.743684339091748690, -0.743717764708607730, -0.743751188466172270, -0.743784610364359170, -0.743818030403084250, +-0.743851448582264260, -0.743884864901815710, -0.743918279361655220, -0.743951691961698750, -0.743985102701863020, -0.744018511582064560, -0.744051918602220090, -0.744085323762245570, +-0.744118727062057730, -0.744152128501573420, -0.744185528080708480, -0.744218925799379650, -0.744252321657503440, -0.744285715654996900, -0.744319107791775680, -0.744352498067756720, +-0.744385886482856530, -0.744419273036991850, -0.744452657730078740, -0.744486040562033930, -0.744519421532774170, -0.744552800642215960, -0.744586177890275590, -0.744619553276869680, +-0.744652926801914970, -0.744686298465328190, -0.744719668267025400, -0.744753036206923460, -0.744786402284939200, -0.744819766500988580, -0.744853128854988670, -0.744886489346855860, +-0.744919847976507010, -0.744953204743858400, -0.744986559648826760, -0.745019912691328720, -0.745053263871281120, -0.745086613188600140, -0.745119960643202630, -0.745153306235005200, +-0.745186649963924810, -0.745219991829877420, -0.745253331832780200, -0.745286669972549440, -0.745320006249102550, -0.745353340662355150, -0.745386673212224520, -0.745420003898627390, +-0.745453332721480070, -0.745486659680699380, -0.745519984776202070, -0.745553308007904980, -0.745586629375724400, -0.745619948879577280, -0.745653266519380240, -0.745686582295050360, +-0.745719896206503700, -0.745753208253657320, -0.745786518436427960, -0.745819826754732460, -0.745853133208487230, -0.745886437797609100, -0.745919740522014930, -0.745953041381621770, +-0.745986340376345590, -0.746019637506103560, -0.746052932770812750, -0.746086226170389330, -0.746119517704750380, -0.746152807373812510, -0.746186095177493120, -0.746219381115708070, +-0.746252665188374520, -0.746285947395409320, -0.746319227736729650, -0.746352506212251580, -0.746385782821892270, -0.746419057565568370, -0.746452330443197250, -0.746485601454695000, +-0.746518870599978680, -0.746552137878965240, -0.746585403291571750, -0.746618666837714380, -0.746651928517310440, -0.746685188330276640, -0.746718446276530170, -0.746751702355987200, +-0.746784956568565140, -0.746818208914180940, -0.746851459392750770, -0.746884708004192150, -0.746917954748421600, -0.746951199625356610, -0.746984442634913260, -0.747017683777008830, +-0.747050923051560070, -0.747084160458484470, -0.747117395997698000, -0.747150629669118160, -0.747183861472661690, -0.747217091408245880, -0.747250319475787130, -0.747283545675202500, +-0.747316770006408950, -0.747349992469323880, -0.747383213063863460, -0.747416431789944990, -0.747449648647485860, -0.747482863636402150, -0.747516076756611470, -0.747549288008030440, +-0.747582497390576470, -0.747615704904166070, -0.747648910548716410, -0.747682114324144440, -0.747715316230367470, -0.747748516267301880, -0.747781714434865070, -0.747814910732973900, +-0.747848105161545870, -0.747881297720497160, -0.747914488409745280, -0.747947677229207190, -0.747980864178800160, -0.748014049258440620, -0.748047232468046050, -0.748080413807533650, +-0.748113593276819920, -0.748146770875822260, -0.748179946604457520, -0.748213120462643320, -0.748246292450296060, -0.748279462567333020, -0.748312630813671390, -0.748345797189228450, +-0.748378961693920600, -0.748412124327665460, -0.748445285090380000, -0.748478443981981600, -0.748511601002386780, -0.748544756151513060, -0.748577909429277380, -0.748611060835597140, +-0.748644210370389080, -0.748677358033570490, -0.748710503825058440, -0.748743647744770420, -0.748776789792623080, -0.748809929968533570, -0.748843068272419750, -0.748876204704197910, +-0.748909339263785560, -0.748942471951099750, -0.748975602766058120, -0.749008731708577180, -0.749041858778574430, -0.749074983975967060, -0.749108107300672450, -0.749141228752607360, +-0.749174348331689170, -0.749207466037835170, -0.749240581870962650, -0.749273695830988460, -0.749306807917830110, -0.749339918131404660, -0.749373026471629730, -0.749406132938421950, +-0.749439237531698720, -0.749472340251377770, -0.749505441097375710, -0.749538540069610070, -0.749571637167998130, -0.749604732392457280, -0.749637825742904270, -0.749670917219256720, +-0.749704006821431900, -0.749737094549347340, -0.749770180402919870, -0.749803264382066900, -0.749836346486705720, -0.749869426716753940, -0.749902505072128300, -0.749935581552746420, +-0.749968656158525590, -0.750001728889383430, -0.750034799745236680, -0.750067868726002950, -0.750100935831599760, -0.750134001061943940, -0.750167064416953130, -0.750200125896544720, +-0.750233185500636220, -0.750266243229144480, -0.750299299081987110, -0.750332353059081520, -0.750365405160345330, -0.750398455385695380, -0.750431503735049300, -0.750464550208324370, +-0.750497594805438430, -0.750530637526308220, -0.750563678370851360, -0.750596717338985360, -0.750629754430627740, -0.750662789645695550, -0.750695822984106420, -0.750728854445777640, +-0.750761884030627050, -0.750794911738571490, -0.750827937569528590, -0.750860961523416190, -0.750893983600151140, -0.750927003799651050, -0.750960022121833440, -0.750993038566616030, +-0.751026053133915910, -0.751059065823650450, -0.751092076635737520, -0.751125085570094500, -0.751158092626638570, -0.751191097805287370, -0.751224101105958500, -0.751257102528569700, +-0.751290102073037810, -0.751323099739280580, -0.751356095527215610, -0.751389089436760750, -0.751422081467832960, -0.751455071620349860, -0.751488059894229400, -0.751521046289388430, +-0.751554030805744900, -0.751587013443216320, -0.751619994201720430, -0.751652973081174290, -0.751685950081495750, -0.751718925202602420, -0.751751898444411930, -0.751784869806841450, +-0.751817839289808720, -0.751850806893231470, -0.751883772617027550, -0.751916736461113900, -0.751949698425408260, -0.751982658509828480, -0.752015616714292400, -0.752048573038716860, +-0.752081527483019930, -0.752114480047119560, -0.752147430730932600, -0.752180379534377110, -0.752213326457370600, -0.752246271499831140, -0.752279214661675690, -0.752312155942822190, +-0.752345095343188270, -0.752378032862692000, -0.752410968501250330, -0.752443902258781220, -0.752476834135202280, -0.752509764130431690, -0.752542692244386300, -0.752575618476984180, +-0.752608542828143050, -0.752641465297780870, -0.752674385885814700, -0.752707304592162620, -0.752740221416742460, -0.752773136359471520, -0.752806049420267740, -0.752838960599048760, +-0.752871869895732740, -0.752904777310236860, -0.752937682842478970, -0.752970586492376800, -0.753003488259848420, -0.753036388144811110, -0.753069286147182830, -0.753102182266881300, +-0.753135076503824720, -0.753167968857930030, -0.753200859329115510, -0.753233747917298800, -0.753266634622397960, -0.753299519444330270, -0.753332402383013800, -0.753365283438366400, +-0.753398162610305900, -0.753431039898749820, -0.753463915303616230, -0.753496788824822960, -0.753529660462287530, -0.753562530215928010, -0.753595398085662000, -0.753628264071407930, +-0.753661128173082840, -0.753693990390604920, -0.753726850723892010, -0.753759709172862280, -0.753792565737433030, -0.753825420417522320, -0.753858273213048100, -0.753891124123928450, +-0.753923973150080750, -0.753956820291423080, -0.753989665547873390, -0.754022508919349850, -0.754055350405769650, -0.754088190007051180, -0.754121027723112400, -0.754153863553870930, +-0.754186697499244610, -0.754219529559151610, -0.754252359733510120, -0.754285188022237430, -0.754318014425251810, -0.754350838942471120, -0.754383661573813540, -0.754416482319196670, +-0.754449301178538480, -0.754482118151757030, -0.754514933238770610, -0.754547746439496620, -0.754580557753853240, -0.754613367181758420, -0.754646174723130560, -0.754678980377886830, +-0.754711784145945750, -0.754744586027225490, -0.754777386021643460, -0.754810184129117930, -0.754842980349567090, -0.754875774682908900, -0.754908567129061070, -0.754941357687941910, +-0.754974146359469240, -0.755006933143561490, -0.755039718040136140, -0.755072501049111500, -0.755105282170405620, -0.755138061403936800, -0.755170838749622540, -0.755203614207381250, +-0.755236387777130870, -0.755269159458789810, -0.755301929252275570, -0.755334697157506450, -0.755367463174400620, -0.755400227302876480, -0.755432989542851430, -0.755465749894243870, +-0.755498508356972300, -0.755531264930954130, -0.755564019616107860, -0.755596772412351460, -0.755629523319603540, -0.755662272337781380, -0.755695019466803620, -0.755727764706588310, +-0.755760508057053750, -0.755793249518117770, -0.755825989089698670, -0.755858726771714510, -0.755891462564083900, -0.755924196466724260, -0.755956928479554200, -0.755989658602491790, +-0.756022386835455640, -0.756055113178363050, -0.756087837631132850, -0.756120560193683120, -0.756153280865931920, -0.756185999647797420, -0.756218716539197920, -0.756251431540051920, +-0.756284144650277050, -0.756316855869791920, -0.756349565198514600, -0.756382272636363600, -0.756414978183256650, -0.756447681839112260, -0.756480383603848620, -0.756513083477384330, +-0.756545781459637130, -0.756578477550525320, -0.756611171749967500, -0.756643864057881870, -0.756676554474186360, -0.756709242998799600, -0.756741929631639780, -0.756774614372625050, +-0.756807297221673610, -0.756839978178704080, -0.756872657243635060, -0.756905334416383860, -0.756938009696869420, -0.756970683085009810, -0.757003354580723540, -0.757036024183928900, +-0.757068691894544290, -0.757101357712487880, -0.757134021637678070, -0.757166683670033150, -0.757199343809471510, -0.757232002055911680, -0.757264658409272260, -0.757297312869470660, +-0.757329965436425830, -0.757362616110056620, -0.757395264890280310, -0.757427911777015740, -0.757460556770181540, -0.757493199869695880, -0.757525841075477160, -0.757558480387443890, +-0.757591117805514470, -0.757623753329607190, -0.757656386959640660, -0.757689018695532960, -0.757721648537202810, -0.757754276484569170, -0.757786902537549210, -0.757819526696062010, +-0.757852148960025950, -0.757884769329360110, -0.757917387803981770, -0.757950004383809990, -0.757982619068763190, -0.758015231858759850, -0.758047842753718390, -0.758080451753557320, +-0.758113058858195130, -0.758145664067550350, -0.758178267381541370, -0.758210868800086700, -0.758243468323105410, -0.758276065950515000, -0.758308661682234320, -0.758341255518181990, +-0.758373847458277180, -0.758406437502437080, -0.758439025650580970, -0.758471611902627240, -0.758504196258494520, -0.758536778718101210, -0.758569359281366040, -0.758601937948207410, +-0.758634514718544040, -0.758667089592294340, -0.758699662569376930, -0.758732233649710870, -0.758764802833213680, -0.758797370119804530, -0.758829935509401920, -0.758862499001925040, +-0.758895060597291280, -0.758927620295420050, -0.758960178096229620, -0.758992733999638740, -0.759025288005566120, -0.759057840113930180, -0.759090390324649640, -0.759122938637643240, +-0.759155485052829370, -0.759188029570126880, -0.759220572189454270, -0.759253112910730830, -0.759285651733873970, -0.759318188658803070, -0.759350723685437210, -0.759383256813694010, +-0.759415788043492630, -0.759448317374751820, -0.759480844807390200, -0.759513370341326380, -0.759545893976479310, -0.759578415712767410, -0.759610935550109390, -0.759643453488424210, +-0.759675969527630280, -0.759708483667646430, -0.759740995908391950, -0.759773506249784350, -0.759806014691743140, -0.759838521234186710, -0.759871025877034700, -0.759903528620204490, +-0.759936029463615490, -0.759968528407186430, -0.760001025450835920, -0.760033520594483040, -0.760066013838046170, -0.760098505181444390, -0.760130994624596320, -0.760163482167420800, +-0.760195967809836450, -0.760228451551762880, -0.760260933393117620, -0.760293413333819950, -0.760325891373788700, -0.760358367512943390, -0.760390841751201530, -0.760423314088482630, +-0.760455784524705410, -0.760488253059788730, -0.760520719693651430, -0.760553184426212340, -0.760585647257390310, -0.760618108187104070, -0.760650567215272580, -0.760683024341814780, +-0.760715479566649870, -0.760747932889695780, -0.760780384310871800, -0.760812833830096900, -0.760845281447290470, -0.760877727162370230, -0.760910170975255710, -0.760942612885865730, +-0.760975052894119260, -0.761007490999935140, -0.761039927203232210, -0.761072361503929650, -0.761104793901946080, -0.761137224397200440, -0.761169652989611810, -0.761202079679099140, +-0.761234504465581720, -0.761266927348977500, -0.761299348329205980, -0.761331767406186690, -0.761364184579837340, -0.761396599850077680, -0.761429013216826320, -0.761461424680002550, +-0.761493834239525210, -0.761526241895313260, -0.761558647647285650, -0.761591051495361440, -0.761623453439459700, -0.761655853479499270, -0.761688251615399210, -0.761720647847079050, +-0.761753042174456720, -0.761785434597451850, -0.761817825115983280, -0.761850213729970860, -0.761882600439332200, -0.761914985243987150, -0.761947368143854550, -0.761979749138853580, +-0.762012128228903180, -0.762044505413922550, -0.762076880693830620, -0.762109254068546460, -0.762141625537989140, -0.762173995102077840, -0.762206362760732060, -0.762238728513869760, +-0.762271092361410770, -0.762303454303273950, -0.762335814339379140, -0.762368172469644170, -0.762400528693988780, -0.762432883012332030, -0.762465235424593100, -0.762497585930691060, +-0.762529934530545180, -0.762562281224074320, -0.762594626011197760, -0.762626968891834790, -0.762659309865904240, -0.762691648933326080, -0.762723986094018150, -0.762756321347900280, +-0.762788654694891650, -0.762820986134911890, -0.762853315667879170, -0.762885643293713110, -0.762917969012332890, -0.762950292823657890, -0.762982614727607090, -0.763014934724099760, +-0.763047252813054970, -0.763079568994392220, -0.763111883268030480, -0.763144195633889020, -0.763176506091887140, -0.763208814641944460, -0.763241121283979250, -0.763273426017911150, +-0.763305728843660100, -0.763338029761144290, -0.763370328770283210, -0.763402625870996390, -0.763434921063202990, -0.763467214346822300, -0.763499505721773610, -0.763531795187976090, +-0.763564082745349150, -0.763596368393811950, -0.763628652133283900, -0.763660933963684170, -0.763693213884932610, -0.763725491896947610, -0.763757767999648670, -0.763790042192955430, +-0.763822314476787720, -0.763854584851063500, -0.763886853315702940, -0.763919119870625220, -0.763951384515749620, -0.763983647250995660, -0.764015908076282610, -0.764048166991529660, +-0.764080423996656320, -0.764112679091581980, -0.764144932276225930, -0.764177183550508120, -0.764209432914346840, -0.764241680367661820, -0.764273925910372800, -0.764306169542399380, +-0.764338411263659980, -0.764370651074074650, -0.764402888973562570, -0.764435124962043360, -0.764467359039436300, -0.764499591205660910, -0.764531821460636470, -0.764564049804282500, +-0.764596276236518380, -0.764628500757263520, -0.764660723366438090, -0.764692944063960270, -0.764725162849750010, -0.764757379723726820, -0.764789594685810870, -0.764821807735920340, +-0.764854018873975190, -0.764886228099895150, -0.764918435413599380, -0.764950640815007630, -0.764982844304039290, -0.765015045880613750, -0.765047245544650640, -0.765079443296069470, +-0.765111639134789630, -0.765143833060730640, -0.765176025073812770, -0.765208215173954210, -0.765240403361075020, -0.765272589635095480, -0.765304773995933880, -0.765336956443510410, +-0.765369136977744450, -0.765401315598555730, -0.765433492305863660, -0.765465667099587850, -0.765497839979647930, -0.765530010945963400, -0.765562179998453880, -0.765594347137038780, +-0.765626512361637920, -0.765658675672171380, -0.765690837068557450, -0.765722996550716520, -0.765755154118568090, -0.765787309772032350, -0.765819463511027700, -0.765851615335474520, +-0.765883765245292230, -0.765915913240400540, -0.765948059320718970, -0.765980203486167350, -0.766012345736665210, -0.766044486072132160, -0.766076624492487920, -0.766108760997652240, +-0.766140895587545060, -0.766173028262085110, -0.766205159021192680, -0.766237287864787180, -0.766269414792789210, -0.766301539805117060, -0.766333662901691030, -0.766365784082430830, +-0.766397903347256330, -0.766430020696086900, -0.766462136128842510, -0.766494249645442660, -0.766526361245807310, -0.766558470929856070, -0.766590578697508570, -0.766622684548685210, +-0.766654788483304590, -0.766686890501287020, -0.766718990602552110, -0.766751088787020470, -0.766783185054610410, -0.766815279405242410, -0.766847371838836220, -0.766879462355311680, +-0.766911550954588410, -0.766943637636586240, -0.766975722401225020, -0.767007805248424490, -0.767039886178104370, -0.767071965190184610, -0.767104042284584950, -0.767136117461225790, +-0.767168190720025620, -0.767200262060905080, -0.767232331483784450, -0.767264398988582450, -0.767296464575219380, -0.767328528243615190, -0.767360589993689720, -0.767392649825362700, +-0.767424707738554090, -0.767456763733183720, -0.767488817809171330, -0.767520869966437090, -0.767552920204900510, -0.767584968524481660, -0.767617014925101040, -0.767649059406677270, +-0.767681101969130860, -0.767713142612381660, -0.767745181336350170, -0.767777218140955230, -0.767809253026117130, -0.767841285991756050, -0.767873317037791710, -0.767905346164143960, +-0.767937373370732980, -0.767969398657478490, -0.768001422024300550, -0.768033443471119020, -0.768065462997853940, -0.768097480604425730, -0.768129496290753220, -0.768161510056757040, +-0.768193521902357010, -0.768225531827473770, -0.768257539832026160, -0.768289545915934680, -0.768321550079119290, -0.768353552321500040, -0.768385552642997020, -0.768417551043530040, +-0.768449547523019080, -0.768481542081384420, -0.768513534718545890, -0.768545525434423450, -0.768577514228937720, -0.768609501102007760, -0.768641486053553980, -0.768673469083496430, +-0.768705450191755850, -0.768737429378251180, -0.768769406642902720, -0.768801381985630860, -0.768833355406355560, -0.768865326904996870, -0.768897296481474870, -0.768929264135709610, +-0.768961229867621170, -0.768993193677129590, -0.769025155564155070, -0.769057115528617770, -0.769089073570438100, -0.769121029689535330, -0.769152983885829870, -0.769184936159242550, +-0.769216886509692330, -0.769248834937099950, -0.769280781441385340, -0.769312726022468920, -0.769344668680270630, -0.769376609414710640, -0.769408548225709140, -0.769440485113186300, +-0.769472420077062290, -0.769504353117257180, -0.769536284233691140, -0.769568213426285010, -0.769600140694957750, -0.769632066039630190, -0.769663989460222410, -0.769695910956655240, +-0.769727830528847750, -0.769759748176720660, -0.769791663900194160, -0.769823577699188520, -0.769855489573623930, -0.769887399523420670, -0.769919307548498910, -0.769951213648778830, +-0.769983117824180830, -0.770015020074624860, -0.770046920400032090, -0.770078818800321250, -0.770110715275413530, -0.770142609825228970, -0.770174502449688440, -0.770206393148711090, +-0.770238281922217770, -0.770270168770128770, -0.770302053692364260, -0.770333936688844760, -0.770365817759490310, -0.770397696904221330, -0.770429574122958090, -0.770461449415621000, +-0.770493322782130230, -0.770525194222406730, -0.770557063736369560, -0.770588931323939910, -0.770620796985037830, -0.770652660719584380, -0.770684522527498640, -0.770716382408701660, +-0.770748240363113730, -0.770780096390655150, -0.770811950491246400, -0.770843802664807680, -0.770875652911259480, -0.770907501230522210, -0.770939347622516150, -0.770971192087161690, +-0.771003034624379910, -0.771034875234089870, -0.771066713916212730, -0.771098550670668680, -0.771130385497379000, -0.771162218396262640, -0.771194049367240790, -0.771225878410233820, +-0.771257705525162150, -0.771289530711946170, -0.771321353970506380, -0.771353175300763310, -0.771384994702637220, -0.771416812176048630, -0.771448627720918050, -0.771480441337165870, +-0.771512253024713160, -0.771544062783479310, -0.771575870613385170, -0.771607676514351470, -0.771639480486299160, -0.771671282529147520, -0.771703082642817620, -0.771734880827230070, +-0.771766677082305290, -0.771798471407963870, -0.771830263804126340, -0.771862054270713080, -0.771893842807644610, -0.771925629414841550, -0.771957414092224510, -0.771989196839714450, +-0.772020977657230880, -0.772052756544694740, -0.772084533502026770, -0.772116308529148140, -0.772148081625978030, -0.772179852792437840, -0.772211622028447950, -0.772243389333929000, +-0.772275154708801590, -0.772306918152986240, -0.772338679666403680, -0.772370439248974420, -0.772402196900618950, -0.772433952621258140, -0.772465706410812910, -0.772497458269202800, +-0.772529208196349180, -0.772560956192172470, -0.772592702256593930, -0.772624446389533090, -0.772656188590911120, -0.772687928860648740, -0.772719667198666470, -0.772751403604885030, +-0.772783138079225160, -0.772814870621607360, -0.772846601231952370, -0.772878329910180910, -0.772910056656213710, -0.772941781469971830, -0.772973504351374910, -0.773005225300344320, +-0.773036944316800590, -0.773068661400665100, -0.773100376551857480, -0.773132089770298790, -0.773163801055909870, -0.773195510408611560, -0.773227217828324380, -0.773258923314969150, +-0.773290626868466720, -0.773322328488737610, -0.773354028175702760, -0.773385725929282790, -0.773417421749398540, -0.773449115635971300, -0.773480807588920680, -0.773512497608167980, +-0.773544185693634150, -0.773575871845240350, -0.773607556062906320, -0.773639238346553460, -0.773670918696102380, -0.773702597111474160, -0.773734273592589280, -0.773765948139368830, +-0.773797620751733420, -0.773829291429604100, -0.773860960172901400, -0.773892626981546370, -0.773924291855460410, -0.773955954794563030, -0.773987615798775840, -0.774019274868019580, +-0.774050932002215750, -0.774082587201283980, -0.774114240465145760, -0.774145891793721840, -0.774177541186933380, -0.774209188644700900, -0.774240834166945560, -0.774272477753587980, +-0.774304119404549350, -0.774335759119750390, -0.774367396899112050, -0.774399032742555730, -0.774430666650001380, -0.774462298621370170, -0.774493928656583400, -0.774525556755562230, +-0.774557182918226730, -0.774588807144498180, -0.774620429434297650, -0.774652049787545980, -0.774683668204164340, -0.774715284684073360, -0.774746899227194310, -0.774778511833447920, +-0.774810122502755270, -0.774841731235037300, -0.774873338030215630, -0.774904942888209990, -0.774936545808942000, -0.774968146792332720, -0.774999745838303560, -0.775031342946774450, +-0.775062938117667020, -0.775094531350902340, -0.775126122646401130, -0.775157712004084790, -0.775189299423874050, -0.775220884905690190, -0.775252468449453950, -0.775284050055086720, +-0.775315629722509230, -0.775347207451642760, -0.775378783242408720, -0.775410357094727280, -0.775441929008519830, -0.775473498983708210, -0.775505067020212270, -0.775536633117953620, +-0.775568197276853440, -0.775599759496832800, -0.775631319777812630, -0.775662878119714240, -0.775694434522458680, -0.775725988985967010, -0.775757541510160410, -0.775789092094959830, +-0.775820640740286670, -0.775852187446062440, -0.775883732212207080, -0.775915275038642440, -0.775946815925289690, -0.775978354872070340, -0.776009891878904570, -0.776041426945714100, +-0.776072960072420100, -0.776104491258943650, -0.776136020505206030, -0.776167547811128290, -0.776199073176631730, -0.776230596601637400, -0.776262118086066710, -0.776293637629840600, +-0.776325155232881040, -0.776356670895107960, -0.776388184616443320, -0.776419696396808080, -0.776451206236124290, -0.776482714134311800, -0.776514220091292560, -0.776545724106987860, +-0.776577226181318750, -0.776608726314206630, -0.776640224505572680, -0.776671720755338190, -0.776703215063424320, -0.776734707429752480, -0.776766197854243830, -0.776797686336820340, +-0.776829172877401940, -0.776860657475910710, -0.776892140132267820, -0.776923620846395100, -0.776955099618212850, -0.776986576447642690, -0.777018051334606220, -0.777049524279024630, +-0.777080995280819200, -0.777112464339911210, -0.777143931456222180, -0.777175396629673280, -0.777206859860185890, -0.777238321147681320, -0.777269780492080950, -0.777301237893306740, +-0.777332693351278750, -0.777364146865919150, -0.777395598437149670, -0.777427048064890710, -0.777458495749064120, -0.777489941489591270, -0.777521385286393580, -0.777552827139392330, +-0.777584267048509140, -0.777615705013665280, -0.777647141034782050, -0.777678575111781070, -0.777710007244583610, -0.777741437433111080, -0.777772865677285650, -0.777804291977027380, +-0.777835716332258450, -0.777867138742900140, -0.777898559208874630, -0.777929977730102200, -0.777961394306504680, -0.777992808938003820, -0.778024221624520780, -0.778055632365977300, +-0.778087041162294770, -0.778118448013394580, -0.778149852919198250, -0.778181255879627280, -0.778212656894603280, -0.778244055964048110, -0.778275453087882260, -0.778306848266027700, +-0.778338241498406140, -0.778369632784939420, -0.778401022125548180, -0.778432409520154360, -0.778463794968679460, -0.778495178471045100, -0.778526560027172800, -0.778557939636984050, +-0.778589317300400600, -0.778620693017343710, -0.778652066787735130, -0.778683438611496360, -0.778714808488549570, -0.778746176418815270, -0.778777542402215420, -0.778808906438671840, +-0.778840268528106390, -0.778871628670439800, -0.778902986865594120, -0.778934343113490970, -0.778965697414052080, -0.778997049767198860, -0.779028400172852910, -0.779059748630936080, +-0.779091095141369870, -0.779122439704075910, -0.779153782318975810, -0.779185122985991300, -0.779216461705044550, -0.779247798476056070, -0.779279133298948050, -0.779310466173642860, +-0.779341797100060910, -0.779373126078124370, -0.779404453107755080, -0.779435778188874770, -0.779467101321404840, -0.779498422505267240, -0.779529741740383590, -0.779561059026675610, +-0.779592374364064920, -0.779623687752473260, -0.779654999191822460, -0.779686308682034700, -0.779717616223030600, -0.779748921814732430, -0.779780225457062050, -0.779811527149941620, +-0.779842826893291760, -0.779874124687034880, -0.779905420531092690, -0.779936714425386920, -0.779968006369839430, -0.779999296364371930, -0.780030584408906050, -0.780061870503363840, +-0.780093154647666930, -0.780124436841737160, -0.780155717085496800, -0.780186995378866600, -0.780218271721768940, -0.780249546114125560, -0.780280818555858850, -0.780312089046889530, +-0.780343357587140130, -0.780374624176532250, -0.780405888814987740, -0.780437151502428650, -0.780468412238776500, -0.780499671023953460, -0.780530927857881250, -0.780562182740481610, +-0.780593435671676610, -0.780624686651388510, -0.780655935679538170, -0.780687182756048090, -0.780718427880839890, -0.780749671053836300, -0.780780912274957830, -0.780812151544127200, +-0.780843388861266250, -0.780874624226296720, -0.780905857639140550, -0.780937089099719930, -0.780968318607956460, -0.780999546163772210, -0.781030771767089130, -0.781061995417829170, +-0.781093217115914060, -0.781124436861266650, -0.781155654653807430, -0.781186870493459140, -0.781218084380144280, -0.781249296313783590, -0.781280506294299680, -0.781311714321614500, +-0.781342920395650120, -0.781374124516328370, -0.781405326683571210, -0.781436526897300810, -0.781467725157439120, -0.781498921463908090, -0.781530115816629790, -0.781561308215526160, +-0.781592498660519830, -0.781623687151531740, -0.781654873688484410, -0.781686058271299890, -0.781717240899900800, -0.781748421574207990, -0.781779600294144170, -0.781810777059631310, +-0.781841951870591580, -0.781873124726946920, -0.781904295628619410, -0.781935464575531200, -0.781966631567604380, -0.781997796604760990, -0.782028959686922990, -0.782060120814013220, +-0.782091279985952630, -0.782122437202663830, -0.782153592464068900, -0.782184745770090560, -0.782215897120649760, -0.782247046515669230, -0.782278193955071140, -0.782309339438777560, +-0.782340482966710550, -0.782371624538792390, -0.782402764154945140, -0.782433901815090980, -0.782465037519152080, -0.782496171267050620, -0.782527303058709320, -0.782558432894049140, +-0.782589560772992910, -0.782620686695462700, -0.782651810661381450, -0.782682932670670020, -0.782714052723251230, -0.782745170819047380, -0.782776286957980630, -0.782807401139973160, +-0.782838513364947140, -0.782869623632824860, -0.782900731943528490, -0.782931838296980320, -0.782962942693102630, -0.782994045131817470, -0.783025145613047700, -0.783056244136714600, +-0.783087340702741000, -0.783118435311049410, -0.783149527961561230, -0.783180618654199300, -0.783211707388885790, -0.783242794165542990, -0.783273878984093170, -0.783304961844458750, +-0.783336042746561880, -0.783367121690324960, -0.783398198675670180, -0.783429273702519910, -0.783460346770796350, -0.783491417880422650, -0.783522487031319770, -0.783553554223410660, +-0.783584619456617730, -0.783615682730863680, -0.783646744046070040, -0.783677803402159420, -0.783708860799054330, -0.783739916236677050, -0.783770969714949970, -0.783802021233795500, +-0.783833070793136020, -0.783864118392893830, -0.783895164032991310, -0.783926207713350980, -0.783957249433895550, -0.783988289194546550, -0.784019326995226810, -0.784050362835858720, +-0.784081396716365230, -0.784112428636667750, -0.784143458596689210, -0.784174486596352030, -0.784205512635578690, -0.784236536714291500, -0.784267558832412950, -0.784298578989865440, +-0.784329597186571580, -0.784360613422453780, -0.784391627697434310, -0.784422640011436470, -0.784453650364381310, -0.784484658756192220, -0.784515665186791280, -0.784546669656101870, +-0.784577672164045170, -0.784608672710544350, -0.784639671295521810, -0.784670667918900060, -0.784701662580601700, -0.784732655280549140, -0.784763646018665000, -0.784794634794871660, +-0.784825621609091750, -0.784856606461247890, -0.784887589351262350, -0.784918570279058540, -0.784949549244557620, -0.784980526247682890, -0.785011501288357390, -0.785042474366502650, +-0.785073445482041720, -0.785104414634897110, -0.785135381824991430, -0.785166347052247420, -0.785197310316587460, -0.785228271617934180, -0.785259230956210310, -0.785290188331338350, +-0.785321143743240910, -0.785352097191840630, -0.785383048677060550, -0.785413998198822410, -0.785444945757049260, -0.785475891351663740, -0.785506834982589000, -0.785537776649746670, +-0.785568716353059910, -0.785599654092451250, -0.785630589867843620, -0.785661523679159420, -0.785692455526321390, -0.785723385409252240, -0.785754313327874710, -0.785785239282111300, +-0.785816163271884860, -0.785847085297118440, -0.785878005357733890, -0.785908923453654260, -0.785939839584802400, -0.785970753751101370, -0.786001665952473010, -0.786032576188840370, +-0.786063484460126420, -0.786094390766253650, -0.786125295107145020, -0.786156197482723030, -0.786187097892910640, -0.786217996337630450, -0.786248892816805320, -0.786279787330357970, +-0.786310679878211570, -0.786341570460288080, -0.786372459076510540, -0.786403345726801930, -0.786434230411085510, -0.786465113129282910, -0.786495993881317630, -0.786526872667112300, +-0.786557749486589740, -0.786588624339672800, -0.786619497226284330, -0.786650368146347150, -0.786681237099784100, -0.786712104086517930, -0.786742969106471460, -0.786773832159567530, +-0.786804693245729550, -0.786835552364879340, -0.786866409516940310, -0.786897264701835740, -0.786928117919487470, -0.786958969169818890, -0.786989818452752950, -0.787020665768212390, +-0.787051511116120260, -0.787082354496399290, -0.787113195908972330, -0.787144035353762540, -0.787174872830692650, -0.787205708339685510, -0.787236541880664050, -0.787267373453551910, +-0.787298203058270700, -0.787329030694744030, -0.787359856362894740, -0.787390680062646450, -0.787421501793920900, -0.787452321556641470, -0.787483139350731330, -0.787513955176113330, +-0.787544769032710420, -0.787575580920445660, -0.787606390839241890, -0.787637198789022160, -0.787668004769709440, -0.787698808781226670, -0.787729610823497460, -0.787760410896443660, +-0.787791208999988780, -0.787822005134055980, -0.787852799298568660, -0.787883591493448780, -0.787914381718619940, -0.787945169974005210, -0.787975956259527430, -0.788006740575109890, +-0.788037522920675420, -0.788068303296147190, -0.788099081701448160, -0.788129858136501380, -0.788160632601230040, -0.788191405095557630, -0.788222175619406110, -0.788252944172699310, +-0.788283710755359970, -0.788314475367312030, -0.788345238008477330, -0.788375998678779500, -0.788406757378141700, -0.788437514106486990, -0.788468268863738440, -0.788499021649819330, +-0.788529772464652610, -0.788560521308161460, -0.788591268180268920, -0.788622013080898300, -0.788652756009972760, -0.788683496967415690, -0.788714235953149380, -0.788744972967097560, +-0.788775708009183730, -0.788806441079330180, -0.788837172177460520, -0.788867901303497930, -0.788898628457365580, -0.788929353638986640, -0.788960076848284290, -0.788990798085181800, +-0.789021517349602240, -0.789052234641469010, -0.789082949960705050, -0.789113663307233870, -0.789144374680978980, -0.789175084081862650, -0.789205791509808520, -0.789236496964740080, +-0.789267200446580830, -0.789297901955253070, -0.789328601490680510, -0.789359299052786460, -0.789389994641494170, -0.789420688256726840, -0.789451379898407860, -0.789482069566460390, +-0.789512757260807830, -0.789543442981373360, -0.789574126728080250, -0.789604808500852350, -0.789635488299611830, -0.789666166124282640, -0.789696841974788070, -0.789727515851051940, +-0.789758187752996440, -0.789788857680545520, -0.789819525633622450, -0.789850191612150530, -0.789880855616053150, -0.789911517645253580, -0.789942177699675230, -0.789972835779241490, +-0.790003491883875640, -0.790034146013501080, -0.790064798168041650, -0.790095448347419740, -0.790126096551559190, -0.790156742780383390, -0.790187387033816190, -0.790218029311780090, +-0.790248669614198930, -0.790279307940995990, -0.790309944292094890, -0.790340578667418910, -0.790371211066891450, -0.790401841490436020, -0.790432469937975890, -0.790463096409434680, +-0.790493720904735690, -0.790524343423802960, -0.790554963966558780, -0.790585582532927210, -0.790616199122831650, -0.790646813736196160, -0.790677426372943140, -0.790708037032996520, +-0.790738645716279830, -0.790769252422716450, -0.790799857152230000, -0.790830459904743990, -0.790861060680181690, -0.790891659478466850, -0.790922256299522730, -0.790952851143273070, +-0.790983444009641270, -0.791014034898551380, -0.791044623809925910, -0.791075210743688810, -0.791105795699763690, -0.791136378678074630, -0.791166959678544110, -0.791197538701096210, +-0.791228115745654440, -0.791258690812142400, -0.791289263900483600, -0.791319835010601660, -0.791350404142420080, -0.791380971295862600, -0.791411536470852610, -0.791442099667313710, +-0.791472660885170210, -0.791503220124344490, -0.791533777384760720, -0.791564332666342520, -0.791594885969014060, -0.791625437292697740, -0.791655986637317950, -0.791686534002798090, +-0.791717079389062000, -0.791747622796033170, -0.791778164223635230, -0.791808703671791900, -0.791839241140426810, -0.791869776629463670, -0.791900310138826000, -0.791930841668438190, +-0.791961371218222740, -0.791991898788103830, -0.792022424378005190, -0.792052947987850970, -0.792083469617563820, -0.792113989267068110, -0.792144506936287350, -0.792175022625145390, +-0.792205536333565720, -0.792236048061472300, -0.792266557808788850, -0.792297065575438890, -0.792327571361346350, -0.792358075166434750, -0.792388576990628700, -0.792419076833850490, +-0.792449574696024620, -0.792480070577074920, -0.792510564476925470, -0.792541056395499100, -0.792571546332720090, -0.792602034288512280, -0.792632520262799290, -0.792663004255505070, +-0.792693486266553340, -0.792723966295867830, -0.792754444343372390, -0.792784920408990960, -0.792815394492647150, -0.792845866594264810, -0.792876336713768450, -0.792906804851080670, +-0.792937271006125880, -0.792967735178827900, -0.792998197369111040, -0.793028657576898220, -0.793059115802113860, -0.793089572044681560, -0.793120026304525380, -0.793150478581569170, +-0.793180928875736660, -0.793211377186952000, -0.793241823515138720, -0.793272267860220980, -0.793302710222122510, -0.793333150600767920, -0.793363588996079840, -0.793394025407982760, +-0.793424459836400640, -0.793454892281257870, -0.793485322742477410, -0.793515751219983630, -0.793546177713700400, -0.793576602223551860, -0.793607024749461650, -0.793637445291353940, +-0.793667863849152670, -0.793698280422781680, -0.793728695012165030, -0.793759107617226680, -0.793789518237891010, -0.793819926874081090, -0.793850333525721320, -0.793880738192735750, +-0.793911140875048770, -0.793941541572583450, -0.793971940285264300, -0.794002337013015260, -0.794032731755760390, -0.794063124513423760, -0.794093515285929200, -0.794123904073200990, +-0.794154290875162870, -0.794184675691739120, -0.794215058522853680, -0.794245439368431170, -0.794275818228394440, -0.794306195102668200, -0.794336569991176410, -0.794366942893843800, +-0.794397313810593310, -0.794427682741349450, -0.794458049686036500, -0.794488414644578310, -0.794518777616899150, -0.794549138602923090, -0.794579497602574070, -0.794609854615776490, +-0.794640209642454080, -0.794670562682531220, -0.794700913735931990, -0.794731262802581000, -0.794761609882401190, -0.794791954975317520, -0.794822298081254490, -0.794852639200135050, +-0.794882978331884040, -0.794913315476425630, -0.794943650633684000, -0.794973983803583200, -0.795004314986047400, -0.795034644181000780, -0.795064971388367630, -0.795095296608072100, +-0.795125619840038270, -0.795155941084190300, -0.795186260340453140, -0.795216577608749750, -0.795246892889004850, -0.795277206181142840, -0.795307517485088210, -0.795337826800764370, +-0.795368134128095930, -0.795398439467007170, -0.795428742817422260, -0.795459044179265500, -0.795489343552461150, -0.795519640936933390, -0.795549936332606620, -0.795580229739405010, +-0.795610521157252730, -0.795640810586074720, -0.795671098025794280, -0.795701383476335900, -0.795731666937624200, -0.795761948409583810, -0.795792227892137990, -0.795822505385211710, +-0.795852780888729020, -0.795883054402614420, -0.795913325926792200, -0.795943595461186650, -0.795973863005722150, -0.796004128560322990, -0.796034392124913560, -0.796064653699418030, +-0.796094913283761470, -0.796125170877867160, -0.796155426481659820, -0.796185680095063850, -0.796215931718004310, -0.796246181350404480, -0.796276428992189090, -0.796306674643282640, +-0.796336918303609530, -0.796367159973094150, -0.796397399651660790, -0.796427637339233940, -0.796457873035738120, -0.796488106741097490, -0.796518338455236560, -0.796548568178079950, +-0.796578795909552270, -0.796609021649577250, -0.796639245398079510, -0.796669467154984320, -0.796699686920214870, -0.796729904693696200, -0.796760120475352830, -0.796790334265109030, +-0.796820546062889430, -0.796850755868618530, -0.796880963682220720, -0.796911169503620510, -0.796941373332742400, -0.796971575169510780, -0.797001775013850280, -0.797031972865685830, +-0.797062168724940960, -0.797092362591540700, -0.797122554465409470, -0.797152744346472430, -0.797182932234652970, -0.797213118129876160, -0.797243302032066610, -0.797273483941148720, +-0.797303663857047210, -0.797333841779686470, -0.797364017708991120, -0.797394191644885790, -0.797424363587294960, -0.797454533536143260, -0.797484701491355640, -0.797514867452855820, +-0.797545031420568870, -0.797575193394419290, -0.797605353374332250, -0.797635511360231360, -0.797665667352041590, -0.797695821349687750, -0.797725973353094250, -0.797756123362185930, +-0.797786271376887180, -0.797816417397122830, -0.797846561422817510, -0.797876703453895610, -0.797906843490282070, -0.797936981531901960, -0.797967117578678890, -0.797997251630537920, +-0.798027383687403890, -0.798057513749201860, -0.798087641815855560, -0.798117767887290160, -0.798147891963430390, -0.798178014044200860, -0.798208134129526290, -0.798238252219331420, +-0.798268368313540870, -0.798298482412079350, -0.798328594514871700, -0.798358704621842550, -0.798388812732916620, -0.798418918848019190, -0.798449022967073980, -0.798479125090006180, +-0.798509225216741060, -0.798539323347202350, -0.798569419481315430, -0.798599513619004830, -0.798629605760195590, -0.798659695904812230, -0.798689784052779680, -0.798719870204022690, +-0.798749954358465960, -0.798780036516034350, -0.798810116676652690, -0.798840194840245710, -0.798870271006738800, -0.798900345176055680, -0.798930417348121650, -0.798960487522861530, +-0.798990555700200830, -0.799020621880063290, -0.799050686062374060, -0.799080748247058100, -0.799110808434040370, -0.799140866623245460, -0.799170922814598560, -0.799200977008024280, +-0.799231029203447570, -0.799261079400793270, -0.799291127599986220, -0.799321173800952020, -0.799351218003614190, -0.799381260207898460, -0.799411300413729430, -0.799441338621032840, +-0.799471374829732300, -0.799501409039753310, -0.799531441251020820, -0.799561471463459680, -0.799591499676994940, -0.799621525891551440, -0.799651550107054020, -0.799681572323427850, +-0.799711592540597760, -0.799741610758488600, -0.799771626977025970, -0.799801641196133730, -0.799831653415737480, -0.799861663635761940, -0.799891671856132860, -0.799921678076774060, +-0.799951682297611040, -0.799981684518568880, -0.800011684739572520, -0.800041682960546900, -0.800071679181417080, -0.800101673402108030, -0.800131665622544790, -0.800161655842652530, +-0.800191644062355990, -0.800221630281580330, -0.800251614500251170, -0.800281596718292470, -0.800311576935629710, -0.800341555152188630, -0.800371531367893070, -0.800401505582668650, +-0.800431477796440530, -0.800461448009133660, -0.800491416220673210, -0.800521382430984250, -0.800551346639991830, -0.800581308847621020, -0.800611269053796870, -0.800641227258444670, +-0.800671183461489360, -0.800701137662856550, -0.800731089862470440, -0.800761040060256610, -0.800790988256140150, -0.800820934450046760, -0.800850878641900520, -0.800880820831627040, +-0.800910761019151480, -0.800940699204399140, -0.800970635387294960, -0.801000569567764220, -0.801030501745731980, -0.801060431921123640, -0.801090360093864140, -0.801120286263878660, +-0.801150210431093130, -0.801180132595431530, -0.801210052756819560, -0.801239970915182400, -0.801269887070445890, -0.801299801222534190, -0.801329713371372930, -0.801359623516887390, +-0.801389531659002840, -0.801419437797644350, -0.801449341932737310, -0.801479244064207010, -0.801509144191978500, -0.801539042315977170, -0.801568938436128200, -0.801598832552357420, +-0.801628724664589120, -0.801658614772748910, -0.801688502876762190, -0.801718388976554670, -0.801748273072050770, -0.801778155163176190, -0.801808035249856110, -0.801837913332016040, +-0.801867789409581140, -0.801897663482476820, -0.801927535550628230, -0.801957405613960890, -0.801987273672400080, -0.802017139725870960, -0.802047003774299050, -0.802076865817610170, +-0.802106725855728620, -0.802136583888580220, -0.802166439916090930, -0.802196293938184920, -0.802226145954788250, -0.802255995965826200, -0.802285843971224160, -0.802315689970907520, +-0.802345533964801680, -0.802375375952831930, -0.802405215934923750, -0.802435053911002670, -0.802464889880993740, -0.802494723844822790, -0.802524555802415440, -0.802554385753696200, +-0.802584213698591010, -0.802614039637025160, -0.802643863568924920, -0.802673685494214470, -0.802703505412819650, -0.802733323324666290, -0.802763139229679460, -0.802792953127784870, +-0.802822765018907810, -0.802852574902973900, -0.802882382779908530, -0.802912188649637200, -0.802941992512085420, -0.802971794367179140, -0.803001594214842960, -0.803031392055002740, +-0.803061187887583960, -0.803090981712512810, -0.803120773529713670, -0.803150563339112610, -0.803180351140635130, -0.803210136934206730, -0.803239920719753030, -0.803269702497199530, +-0.803299482266471740, -0.803329260027495270, -0.803359035780195630, -0.803388809524498430, -0.803418581260329720, -0.803448350987614020, -0.803478118706277500, -0.803507884416245650, +-0.803537648117444660, -0.803567409809798900, -0.803597169493234680, -0.803626927167677580, -0.803656682833053140, -0.803686436489286950, -0.803716188136304740, -0.803745937774032030, +-0.803775685402394410, -0.803805431021317630, -0.803835174630727290, -0.803864916230549010, -0.803894655820708960, -0.803924393401131750, -0.803954128971743560, -0.803983862532470560, +-0.804013594083237470, -0.804043323623970240, -0.804073051154594820, -0.804102776675036710, -0.804132500185221640, -0.804162221685075340, -0.804191941174523530, -0.804221658653491820, +-0.804251374121905950, -0.804281087579691630, -0.804310799026774710, -0.804340508463081250, -0.804370215888535970, -0.804399921303065150, -0.804429624706594510, -0.804459326099050460, +-0.804489025480357390, -0.804518722850441900, -0.804548418209229510, -0.804578111556646160, -0.804607802892617460, -0.804637492217069260, -0.804667179529927390, -0.804696864831117460, +-0.804726548120565430, -0.804756229398197020, -0.804785908663938620, -0.804815585917714850, -0.804845261159452210, -0.804874934389076310, -0.804904605606513670, -0.804934274811689000, +-0.804963942004528590, -0.804993607184958380, -0.805023270352904110, -0.805052931508291600, -0.805082590651046930, -0.805112247781095690, -0.805141902898363740, -0.805171556002777120, +-0.805201207094261680, -0.805230856172743700, -0.805260503238148020, -0.805290148290401020, -0.805319791329428770, -0.805349432355157550, -0.805379071367512190, -0.805408708366419090, +-0.805438343351804310, -0.805467976323593680, -0.805497607281713050, -0.805527236226088460, -0.805556863156645760, -0.805586488073310900, -0.805616110976009820, -0.805645731864668480, +-0.805675350739212700, -0.805704967599569220, -0.805734582445662760, -0.805764195277419830, -0.805793806094766920, -0.805823414897628990, -0.805853021685932420, -0.805882626459603400, +-0.805912229218567870, -0.805941829962751650, -0.805971428692080940, -0.806001025406481550, -0.806030620105879780, -0.806060212790201350, -0.806089803459372310, -0.806119392113318840, +-0.806148978751967450, -0.806178563375243070, -0.806208145983072220, -0.806237726575381060, -0.806267305152096100, -0.806296881713142400, -0.806326456258446460, -0.806356028787934330, +-0.806385599301532200, -0.806415167799166000, -0.806444734280761910, -0.806474298746245990, -0.806503861195544290, -0.806533421628582990, -0.806562980045288150, -0.806592536445586370, +-0.806622090829402730, -0.806651643196663830, -0.806681193547295840, -0.806710741881225380, -0.806740288198377510, -0.806769832498678950, -0.806799374782055880, -0.806828915048434350, +-0.806858453297740420, -0.806887989529900480, -0.806917523744840490, -0.806947055942486720, -0.806976586122765350, -0.807006114285602430, -0.807035640430924790, -0.807065164558657510, +-0.807094686668727410, -0.807124206761060450, -0.807153724835583560, -0.807183240892221930, -0.807212754930902050, -0.807242266951550320, -0.807271776954093020, -0.807301284938456210, +-0.807330790904566160, -0.807360294852349170, -0.807389796781731390, -0.807419296692639230, -0.807448794584998740, -0.807478290458736760, -0.807507784313778560, -0.807537276150051000, +-0.807566765967480120, -0.807596253765992870, -0.807625739545514530, -0.807655223305971840, -0.807684705047290950, -0.807714184769398490, -0.807743662472220400, -0.807773138155683300, +-0.807802611819713250, -0.807832083464236740, -0.807861553089179950, -0.807891020694469390, -0.807920486280031100, -0.807949949845792270, -0.807979411391677950, -0.808008870917615200, +-0.808038328423530180, -0.808067783909349970, -0.808097237374999720, -0.808126688820406280, -0.808156138245496260, -0.808185585650195830, -0.808215031034431490, -0.808244474398129520, +-0.808273915741216320, -0.808303355063618390, -0.808332792365262120, -0.808362227646073790, -0.808391660905980470, -0.808421092144907430, -0.808450521362781730, -0.808479948559529650, +-0.808509373735078250, -0.808538796889352820, -0.808568218022280520, -0.808597637133787630, -0.808627054223800660, -0.808656469292245990, -0.808685882339050250, -0.808715293364139720, +-0.808744702367441000, -0.808774109348880500, -0.808803514308384710, -0.808832917245880690, -0.808862318161293840, -0.808891717054551210, -0.808921113925579300, -0.808950508774305080, +-0.808979901600654140, -0.809009292404553330, -0.809038681185929360, -0.809068067944708760, -0.809097452680817900, -0.809126835394183400, -0.809156216084731870, -0.809185594752389710, +-0.809214971397083650, -0.809244346018740180, -0.809273718617286250, -0.809303089192647600, -0.809332457744751270, -0.809361824273523660, -0.809391188778892160, -0.809420551260782050, +-0.809449911719120620, -0.809479270153834360, -0.809508626564849900, -0.809537980952093950, -0.809567333315493020, -0.809596683654973840, -0.809626031970462790, -0.809655378261886830, +-0.809684722529172340, -0.809714064772246060, -0.809743404991035030, -0.809772743185465100, -0.809802079355463220, -0.809831413500956220, -0.809860745621871160, -0.809890075718133760, +-0.809919403789671200, -0.809948729836410090, -0.809978053858277150, -0.810007375855199110, -0.810036695827102580, -0.810066013773914300, -0.810095329695560970, -0.810124643591969340, +-0.810153955463066120, -0.810183265308778600, -0.810212573129032280, -0.810241878923754540, -0.810271182692872240, -0.810300484436312420, -0.810329784154000810, -0.810359081845864800, +-0.810388377511831020, -0.810417671151826280, -0.810446962765777430, -0.810476252353611200, -0.810505539915254310, -0.810534825450633600, -0.810564108959675790, -0.810593390442307720, +-0.810622669898456660, -0.810651947328048460, -0.810681222731010400, -0.810710496107269200, -0.810739767456752360, -0.810769036779385500, -0.810798304075096120, -0.810827569343810950, +-0.810856832585456930, -0.810886093799960680, -0.810915352987249370, -0.810944610147249500, -0.810973865279888240, -0.811003118385092310, -0.811032369462788560, -0.811061618512904370, +-0.811090865535365690, -0.811120110530099690, -0.811149353497033540, -0.811178594436094520, -0.811207833347208470, -0.811237070230302890, -0.811266305085304620, -0.811295537912140490, +-0.811324768710737660, -0.811353997481022770, -0.811383224222922970, -0.811412448936365100, -0.811441671621276120, -0.811470892277582840, -0.811500110905212460, -0.811529327504092350, +-0.811558542074148350, -0.811587754615307970, -0.811616965127498700, -0.811646173610646620, -0.811675380064678990, -0.811704584489522870, -0.811733786885105450, -0.811762987251353430, +-0.811792185588193990, -0.811821381895554080, -0.811850576173360760, -0.811879768421540970, -0.811908958640021770, -0.811938146828730110, -0.811967332987593720, -0.811996517116538420, +-0.812025699215491730, -0.812054879284380910, -0.812084057323133380, -0.812113233331675180, -0.812142407309933920, -0.812171579257836670, -0.812200749175310380, -0.812229917062282310, +-0.812259082918679320, -0.812288246744428790, -0.812317408539457550, -0.812346568303692780, -0.812375726037061650, -0.812404881739491660, -0.812434035410908970, -0.812463187051241210, +-0.812492336660415430, -0.812521484238359350, -0.812550629784999030, -0.812579773300262210, -0.812608914784075930, -0.812638054236367370, -0.812667191657063580, -0.812696327046091960, +-0.812725460403379340, -0.812754591728853230, -0.812783721022440560, -0.812812848284068630, -0.812841973513665050, -0.812871096711156090, -0.812900217876469270, -0.812929337009532070, +-0.812958454110271900, -0.812987569178615140, -0.813016682214489420, -0.813045793217822110, -0.813074902188540170, -0.813104009126571100, -0.813133114031841850, -0.813162216904279920, +-0.813191317743812480, -0.813220416550366700, -0.813249513323869850, -0.813278608064249340, -0.813307700771432660, -0.813336791445346320, -0.813365880085918040, -0.813394966693075430, +-0.813424051266745000, -0.813453133806854360, -0.813482214313331010, -0.813511292786102010, -0.813540369225094870, -0.813569443630236640, -0.813598516001454940, -0.813627586338676930, +-0.813656654641830010, -0.813685720910841350, -0.813714785145638440, -0.813743847346149130, -0.813772907512299580, -0.813801965644017860, -0.813831021741231120, -0.813860075803867430, +-0.813889127831852970, -0.813918177825115770, -0.813947225783583030, -0.813976271707182340, -0.814005315595840880, -0.814034357449486160, -0.814063397268045550, -0.814092435051446460, +-0.814121470799616280, -0.814150504512482390, -0.814179536189972850, -0.814208565832013840, -0.814237593438533410, -0.814266619009459070, -0.814295642544718650, -0.814324664044238640, +-0.814353683507947010, -0.814382700935771140, -0.814411716327638420, -0.814440729683476580, -0.814469741003212790, -0.814498750286774650, -0.814527757534089680, -0.814556762745085370, +-0.814585765919689010, -0.814614767057828870, -0.814643766159431240, -0.814672763224424280, -0.814701758252735280, -0.814730751244292510, -0.814759742199022250, -0.814788731116852680, +-0.814817717997711300, -0.814846702841525610, -0.814875685648223210, -0.814904666417731520, -0.814933645149978240, -0.814962621844890770, -0.814991596502396830, -0.815020569122423820, +-0.815049539704899460, -0.815078508249751700, -0.815107474756907150, -0.815136439226293970, -0.815165401657840240, -0.815194362051472330, -0.815223320407118650, -0.815252276724706680, +-0.815281231004163940, -0.815310183245418150, -0.815339133448396920, -0.815368081613027870, -0.815397027739238610, -0.815425971826956750, -0.815454913876110020, -0.815483853886625920, +-0.815512791858432730, -0.815541727791457060, -0.815570661685627090, -0.815599593540870420, -0.815628523357115330, -0.815657451134288450, -0.815686376872317820, -0.815715300571131290, +-0.815744222230656570, -0.815773141850821280, -0.815802059431553150, -0.815830974972779790, -0.815859888474429030, -0.815888799936428600, -0.815917709358706110, -0.815946616741189960, +-0.815975522083806640, -0.816004425386484540, -0.816033326649151400, -0.816062225871735380, -0.816091123054163430, -0.816120018196363590, -0.816148911298263610, -0.816177802359791540, +-0.816206691380874870, -0.816235578361441450, -0.816264463301419110, -0.816293346200735570, -0.816322227059318670, -0.816351105877096250, -0.816379982653996580, -0.816408857389946510, +-0.816437730084874190, -0.816466600738707580, -0.816495469351374960, -0.816524335922803160, -0.816553200452920570, -0.816582062941654920, -0.816610923388934150, -0.816639781794685990, +-0.816668638158838500, -0.816697492481319290, -0.816726344762056410, -0.816755195000977710, -0.816784043198010900, -0.816812889353084160, -0.816841733466125540, -0.816870575537062220, +-0.816899415565822350, -0.816928253552334450, -0.816957089496525460, -0.816985923398323770, -0.817014755257657210, -0.817043585074453850, -0.817072412848641410, -0.817101238580148050, +-0.817130062268901500, -0.817158883914829830, -0.817187703517860960, -0.817216521077922860, -0.817245336594943360, -0.817274150068851180, -0.817302961499573040, -0.817331770887037460, +-0.817360578231172470, -0.817389383531906490, -0.817418186789166670, -0.817446988002881290, -0.817475787172978420, -0.817504584299386220, -0.817533379382032410, -0.817562172420845280, +-0.817590963415752660, -0.817619752366682610, -0.817648539273563180, -0.817677324136322440, -0.817706106954888880, -0.817734887729189450, -0.817763666459152990, -0.817792443144707230, +-0.817821217785780870, -0.817849990382301000, -0.817878760934196200, -0.817907529441394440, -0.817936295903823880, -0.817965060321412470, -0.817993822694088600, -0.818022583021779990, +-0.818051341304415040, -0.818080097541921680, -0.818108851734228090, -0.818137603881262890, -0.818166353982953230, -0.818195102039227630, -0.818223848050014250, -0.818252592015241810, +-0.818281333934837370, -0.818310073808729550, -0.818338811636846630, -0.818367547419116550, -0.818396281155467700, -0.818425012845828140, -0.818453742490126030, -0.818482470088289560, +-0.818511195640246990, -0.818539919145926390, -0.818568640605255910, -0.818597360018164410, -0.818626077384579040, -0.818654792704428420, -0.818683505977641280, -0.818712217204144890, +-0.818740926383868080, -0.818769633516738820, -0.818798338602685470, -0.818827041641636330, -0.818855742633519570, -0.818884441578263570, -0.818913138475796280, -0.818941833326046200, +-0.818970526128941610, -0.818999216884410690, -0.819027905592382140, -0.819056592252783380, -0.819085276865543220, -0.819113959430589730, -0.819142639947851970, -0.819171318417256990, +-0.819199994838733740, -0.819228669212210600, -0.819257341537615650, -0.819286011814877480, -0.819314680043924160, -0.819343346224684190, -0.819372010357085840, -0.819400672441057520, +-0.819429332476527490, -0.819457990463424600, -0.819486646401676230, -0.819515300291211330, -0.819543952131958080, -0.819572601923845510, -0.819601249666800920, -0.819629895360753260, +-0.819658539005630790, -0.819687180601361920, -0.819715820147875250, -0.819744457645098960, -0.819773093092961420, -0.819801726491391270, -0.819830357840316770, -0.819858987139666430, +-0.819887614389369080, -0.819916239589352110, -0.819944862739544700, -0.819973483839875010, -0.820002102890272200, -0.820030719890663560, -0.820059334840978150, -0.820087947741144460, +-0.820116558591090780, -0.820145167390745830, -0.820173774140037890, -0.820202378838895460, -0.820230981487247160, -0.820259582085021370, -0.820288180632146700, -0.820316777128551440, +-0.820345371574164870, -0.820373963968914380, -0.820402554312728900, -0.820431142605537620, -0.820459728847267920, -0.820488313037848860, -0.820516895177209050, -0.820545475265276990, +-0.820574053301981300, -0.820602629287250470, -0.820631203221013020, -0.820659775103197540, -0.820688344933732660, -0.820716912712546990, -0.820745478439568910, -0.820774042114727710, +-0.820802603737950890, -0.820831163309167610, -0.820859720828306380, -0.820888276295296370, -0.820916829710065080, -0.820945381072541780, -0.820973930382655090, -0.821002477640333520, +-0.821031022845505660, -0.821059565998100370, -0.821088107098046140, -0.821116646145271580, -0.821145183139705530, -0.821173718081276370, -0.821202250969913510, -0.821230781805544540, +-0.821259310588098530, -0.821287837317504320, -0.821316361993691070, -0.821344884616586280, -0.821373405186119340, -0.821401923702218870, -0.821430440164813590, -0.821458954573832220, +-0.821487466929203490, -0.821515977230856120, -0.821544485478718720, -0.821572991672720130, -0.821601495812789070, -0.821629997898854820, -0.821658497930845000, -0.821686995908688990, +-0.821715491832315510, -0.821743985701653750, -0.821772477516631520, -0.821800967277178110, -0.821829454983222350, -0.821857940634692860, -0.821886424231518590, -0.821914905773628130, +-0.821943385260950570, -0.821971862693414490, -0.822000338070948740, -0.822028811393482050, -0.822057282660943470, -0.822085751873262160, -0.822114219030365860, -0.822142684132184160, +-0.822171147178646140, -0.822199608169679850, -0.822228067105214460, -0.822256523985179010, -0.822284978809502130, -0.822313431578112870, -0.822341882290939960, -0.822370330947912450, +-0.822398777548959070, -0.822427222094008650, -0.822455664582990350, -0.822484105015832800, -0.822512543392465490, -0.822540979712816260, -0.822569413976814710, -0.822597846184389470, +-0.822626276335470250, -0.822654704429984780, -0.822683130467862570, -0.822711554449032540, -0.822739976373423550, -0.822768396240964760, -0.822796814051584890, -0.822825229805213000, +-0.822853643501778030, -0.822882055141208930, -0.822910464723434650, -0.822938872248384800, -0.822967277715987210, -0.822995681126171500, -0.823024082478866600, -0.823052481774001920, +-0.823080879011505510, -0.823109274191306970, -0.823137667313335260, -0.823166058377519330, -0.823194447383788220, -0.823222834332071110, -0.823251219222296830, -0.823279602054394430, +-0.823307982828293210, -0.823336361543921870, -0.823364738201210260, -0.823393112800086200, -0.823421485340479430, -0.823449855822318890, -0.823478224245534300, -0.823506590610053490, +-0.823534954915806310, -0.823563317162721800, -0.823591677350728910, -0.823620035479756820, -0.823648391549734680, -0.823676745560591560, -0.823705097512256510, -0.823733447404658810, +-0.823761795237727410, -0.823790141011391590, -0.823818484725580950, -0.823846826380223550, -0.823875165975249010, -0.823903503510587170, -0.823931838986166070, -0.823960172401915330, +-0.823988503757764110, -0.824016833053641710, -0.824045160289477160, -0.824073485465199760, -0.824101808580738670, -0.824130129636022950, -0.824158448630981980, -0.824186765565544930, +-0.824215080439640870, -0.824243393253199730, -0.824271704006149460, -0.824300012698420130, -0.824328319329940550, -0.824356623900640790, -0.824384926410449030, -0.824413226859294860, +-0.824441525247107570, -0.824469821573816540, -0.824498115839350950, -0.824526408043640080, -0.824554698186613200, -0.824582986268199590, -0.824611272288328420, -0.824639556246929200, +-0.824667838143931520, -0.824696117979263790, -0.824724395752855610, -0.824752671464636600, -0.824780945114536370, -0.824809216702483310, -0.824837486228407140, -0.824865753692237360, +-0.824894019093903030, -0.824922282433333760, -0.824950543710458840, -0.824978802925207420, -0.825007060077509120, -0.825035315167293120, -0.825063568194488780, -0.825091819159026070, +-0.825120068060833380, -0.825148314899840420, -0.825176559675976700, -0.825204802389172040, -0.825233043039354960, -0.825261281626455290, -0.825289518150402300, -0.825317752611125610, +-0.825345985008554490, -0.825374215342618460, -0.825402443613246770, -0.825430669820369060, -0.825458893963914700, -0.825487116043813090, -0.825515336059994160, -0.825543554012386440, +-0.825571769900919740, -0.825599983725523790, -0.825628195486128200, -0.825656405182661700, -0.825684612815054230, -0.825712818383235180, -0.825741021887134050, -0.825769223326680350, +-0.825797422701803670, -0.825825620012433430, -0.825853815258499100, -0.825882008439930200, -0.825910199556656340, -0.825938388608607020, -0.825966575595712180, -0.825994760517900330, +-0.826022943375101630, -0.826051124167245580, -0.826079302894262350, -0.826107479556080220, -0.826135654152629350, -0.826163826683839480, -0.826191997149639870, -0.826220165549960360, +-0.826248331884730460, -0.826276496153879770, -0.826304658357337800, -0.826332818495034150, -0.826360976566898440, -0.826389132572860840, -0.826417286512849960, -0.826445438386795740, +-0.826473588194628020, -0.826501735936276740, -0.826529881611670740, -0.826558025220739960, -0.826586166763414120, -0.826614306239622840, -0.826642443649295840, -0.826670578992362740, +-0.826698712268753130, -0.826726843478396760, -0.826754972621223330, -0.826783099697162460, -0.826811224706144320, -0.826839347648097630, -0.826867468522952560, -0.826895587330638840, +-0.826923704071086620, -0.826951818744224630, -0.826979931349983160, -0.827008041888291800, -0.827036150359080290, -0.827064256762278460, -0.827092361097816030, -0.827120463365622620, +-0.827148563565628160, -0.827176661697762160, -0.827204757761954570, -0.827232851758135660, -0.827260943686234040, -0.827289033546180110, -0.827317121337903470, -0.827345207061334630, +-0.827373290716402310, -0.827401372303036680, -0.827429451821167670, -0.827457529270725020, -0.827485604651638560, -0.827513677963838010, -0.827541749207253320, -0.827569818381814310, +-0.827597885487450720, -0.827625950524092380, -0.827654013491669230, -0.827682074390111430, -0.827710133219348050, -0.827738189979309260, -0.827766244669925100, -0.827794297291125750, +-0.827822347842840140, -0.827850396324998680, -0.827878442737531310, -0.827906487080367740, -0.827934529353438030, -0.827962569556671910, -0.827990607689999440, -0.828018643753350440, +-0.828046677746654750, -0.828074709669842420, -0.828102739522843860, -0.828130767305587880, -0.828158793018004990, -0.828186816660025250, -0.828214838231578820, -0.828242857732594870, +-0.828270875163003680, -0.828298890522735420, -0.828326903811719810, -0.828354915029887010, -0.828382924177166970, -0.828410931253489520, -0.828438936258784840, -0.828466939192982750, +-0.828494940056013430, -0.828522938847807140, -0.828550935568292960, -0.828578930217401590, -0.828606922795062760, -0.828634913301207200, -0.828662901735763850, -0.828690888098663200, +-0.828718872389835440, -0.828746854609210380, -0.828774834756718200, -0.828802812832288960, -0.828830788835852710, -0.828858762767339500, -0.828886734626679390, -0.828914704413802330, +-0.828942672128639150, -0.828970637771118680, -0.828998601341171650, -0.829026562838728110, -0.829054522263718670, -0.829082479616072510, -0.829110434895720010, -0.829138388102591550, +-0.829166339236617090, -0.829194288297726680, -0.829222235285850710, -0.829250180200919010, -0.829278123042861970, -0.829306063811609540, -0.829334002507091990, -0.829361939129239390, +-0.829389873677982450, -0.829417806153250340, -0.829445736554973780, -0.829473664883083270, -0.829501591137508210, -0.829529515318179090, -0.829557437425026190, -0.829585357457979790, +-0.829613275416969940, -0.829641191301926820, -0.829669105112780800, -0.829697016849461950, -0.829724926511900660, -0.829752834100026980, -0.829780739613771300, -0.829808643053064230, +-0.829836544417835050, -0.829864443708014490, -0.829892340923532810, -0.829920236064320750, -0.829948129130307690, -0.829976020121424240, -0.830003909037600800, -0.830031795878767520, +-0.830059680644854800, -0.830087563335792810, -0.830115443951511930, -0.830143322491942560, -0.830171198957014740, -0.830199073346658990, -0.830226945660806010, -0.830254815899385320, +-0.830282684062327410, -0.830310550149562900, -0.830338414161022390, -0.830366276096635490, -0.830394135956332820, -0.830421993740044770, -0.830449849447701840, -0.830477703079234300, +-0.830505554634572430, -0.830533404113646620, -0.830561251516387380, -0.830589096842724970, -0.830616940092589910, -0.830644781265912900, -0.830672620362623460, -0.830700457382652520, +-0.830728292325930370, -0.830756125192388060, -0.830783955981954870, -0.830811784694561850, -0.830839611330139280, -0.830867435888617780, -0.830895258369927610, -0.830923078773999400, +-0.830950897100763420, -0.830978713350150170, -0.831006527522090140, -0.831034339616513850, -0.831062149633351680, -0.831089957572534680, -0.831117763433992240, -0.831145567217655420, +-0.831173368923455060, -0.831201168551320870, -0.831228966101183800, -0.831256761572974350, -0.831284554966622900, -0.831312346282060080, -0.831340135519216370, -0.831367922678022400, +-0.831395707758408540, -0.831423490760305530, -0.831451271683643740, -0.831479050528353690, -0.831506827294366650, -0.831534601981611890, -0.831562374590020690, -0.831590145119523560, +-0.831617913570051550, -0.831645679941534380, -0.831673444233902880, -0.831701206447087780, -0.831728966581019690, -0.831756724635629220, -0.831784480610846870, -0.831812234506603350, +-0.831839986322829180, -0.831867736059455190, -0.831895483716411750, -0.831923229293630050, -0.831950972791039910, -0.831978714208572280, -0.832006453546157880, -0.832034190803727870, +-0.832061925981211760, -0.832089659078540930, -0.832117390095646000, -0.832145119032457470, -0.832172845888906280, -0.832200570664922920, -0.832228293360438130, -0.832256013975382510, +-0.832283732509687010, -0.832311448963282130, -0.832339163336099030, -0.832366875628067660, -0.832394585839119070, -0.832422293969183990, -0.832450000018193690, -0.832477703986077790, +-0.832505405872767780, -0.832533105678194160, -0.832560803402287770, -0.832588499044979450, -0.832616192606199900, -0.832643884085879750, -0.832671573483949930, -0.832699260800341290, +-0.832726946034984430, -0.832754629187810070, -0.832782310258749820, -0.832809989247733200, -0.832837666154691680, -0.832865340979556450, -0.832893013722257320, -0.832920684382725710, +-0.832948352960892310, -0.832976019456688200, -0.833003683870043870, -0.833031346200890480, -0.833059006449158650, -0.833086664614779320, -0.833114320697683210, -0.833141974697801490, +-0.833169626615064660, -0.833197276449404440, -0.833224924200750340, -0.833252569869034070, -0.833280213454186350, -0.833307854956138570, -0.833335494374820680, -0.833363131710163960, +-0.833390766962099570, -0.833418400130558120, -0.833446031215470780, -0.833473660216768280, -0.833501287134381650, -0.833528911968241860, -0.833556534718279730, -0.833584155384426320, +-0.833611773966612900, -0.833639390464769650, -0.833667004878827940, -0.833694617208718620, -0.833722227454373300, -0.833749835615722020, -0.833777441692696080, -0.833805045685226400, +-0.833832647593244270, -0.833860247416680520, -0.833887845155466100, -0.833915440809532060, -0.833943034378809460, -0.833970625863229230, -0.833998215262722440, -0.834025802577220590, +-0.834053387806653830, -0.834080970950953460, -0.834108552010050850, -0.834136130983877180, -0.834163707872362710, -0.834191282675439070, -0.834218855393037200, -0.834246426025088140, +-0.834273994571523070, -0.834301561032272930, -0.834329125407269000, -0.834356687696442110, -0.834384247899723650, -0.834411806017044460, -0.834439362048335910, -0.834466915993529290, +-0.834494467852554990, -0.834522017625344390, -0.834549565311829330, -0.834577110911939870, -0.834604654425607610, -0.834632195852763710, -0.834659735193339360, -0.834687272447265590, +-0.834714807614473700, -0.834742340694894840, -0.834769871688460060, -0.834797400595100660, -0.834824927414747680, -0.834852452147332390, -0.834879974792786530, -0.834907495351040140, +-0.834935013822025060, -0.834962530205672460, -0.834990044501914050, -0.835017556710680010, -0.835045066831902050, -0.835072574865511560, -0.835100080811439490, -0.835127584669617230, +-0.835155086439976050, -0.835182586122447110, -0.835210083716961820, -0.835237579223451210, -0.835265072641846680, -0.835292563972079960, -0.835320053214081320, -0.835347540367782580, +-0.835375025433114930, -0.835402508410010290, -0.835429989298398850, -0.835457468098212420, -0.835484944809382400, -0.835512419431839850, -0.835539891965516370, -0.835567362410343240, +-0.835594830766251520, -0.835622297033172920, -0.835649761211038400, -0.835677223299779560, -0.835704683299328120, -0.835732141209614590, -0.835759597030570570, -0.835787050762127670, +-0.835814502404217510, -0.835841951956770690, -0.835869399419718940, -0.835896844792993750, -0.835924288076526410, -0.835951729270248410, -0.835979168374091030, -0.836006605387985660, +-0.836034040311863900, -0.836061473145657040, -0.836088903889296350, -0.836116332542713560, -0.836143759105840380, -0.836171183578607310, -0.836198605960946310, -0.836226026252789190, +-0.836253444454066570, -0.836280860564710400, -0.836308274584651960, -0.836335686513822950, -0.836363096352154670, -0.836390504099578600, -0.836417909756026370, -0.836445313321429350, +-0.836472714795718940, -0.836500114178826860, -0.836527511470684490, -0.836554906671223790, -0.836582299780375350, -0.836609690798071130, -0.836637079724242730, -0.836664466558821980, +-0.836691851301739730, -0.836719233952927800, -0.836746614512317800, -0.836773992979841230, -0.836801369355429810, -0.836828743639014830, -0.836856115830527990, -0.836883485929900920, +-0.836910853937065100, -0.836938219851952160, -0.836965583674494140, -0.836992945404621770, -0.837020305042266880, -0.837047662587361410, -0.837075018039837080, -0.837102371399624840, +-0.837129722666656640, -0.837157071840864080, -0.837184418922178990, -0.837211763910532760, -0.837239106805857110, -0.837266447608083660, -0.837293786317144130, -0.837321122932970120, +-0.837348457455493360, -0.837375789884645890, -0.837403120220358450, -0.837430448462563200, -0.837457774611191860, -0.837485098666176600, -0.837512420627448130, -0.837539740494938510, +-0.837567058268579580, -0.837594373948303050, -0.837621687534040540, -0.837648999025723760, -0.837676308423284550, -0.837703615726654640, -0.837730920935765510, -0.837758224050549230, +-0.837785525070937400, -0.837812823996862190, -0.837840120828254320, -0.837867415565046290, -0.837894708207170160, -0.837921998754556860, -0.837949287207138460, -0.837976573564846890, +-0.838003857827613880, -0.838031139995371150, -0.838058420068050650, -0.838085698045584080, -0.838112973927903290, -0.838140247714940110, -0.838167519406626260, -0.838194789002893570, +-0.838222056503674430, -0.838249321908899670, -0.838276585218501570, -0.838303846432411960, -0.838331105550563340, -0.838358362572886430, -0.838385617499313620, -0.838412870329776740, +-0.838440121064207730, -0.838467369702538320, -0.838494616244700560, -0.838521860690626290, -0.838549103040247320, -0.838576343293495620, -0.838603581450303000, -0.838630817510601980, +-0.838658051474323370, -0.838685283341399690, -0.838712513111762760, -0.838739740785345080, -0.838766966362077590, -0.838794189841892580, -0.838821411224722200, -0.838848630510498180, +-0.838875847699152690, -0.838903062790617550, -0.838930275784824710, -0.838957486681706220, -0.838984695481194030, -0.839011902183220080, -0.839039106787716870, -0.839066309294615340, +-0.839093509703848110, -0.839120708015347110, -0.839147904229044730, -0.839175098344872250, -0.839202290362761950, -0.839229480282645880, -0.839256668104456200, -0.839283853828124760, +-0.839311037453583710, -0.839338218980765110, -0.839365398409601000, -0.839392575740023350, -0.839419750971964200, -0.839446924105355710, -0.839474095140130490, -0.839501264076219390, +-0.839528430913555220, -0.839555595652070500, -0.839582758291696150, -0.839609918832365020, -0.839637077274009160, -0.839664233616560510, -0.839691387859951230, -0.839718540004113610, +-0.839745690048979480, -0.839772837994481320, -0.839799983840550990, -0.839827127587120640, -0.839854269234122430, -0.839881408781489200, -0.839908546229151790, -0.839935681577043130, +-0.839962814825095270, -0.839989945973240730, -0.840017075021410990, -0.840044201969538550, -0.840071326817555470, -0.840098449565394260, -0.840125570212986730, -0.840152688760265390, +-0.840179805207162400, -0.840206919553609710, -0.840234031799539820, -0.840261141944884880, -0.840288249989577520, -0.840315355933549110, -0.840342459776732280, -0.840369561519059280, +-0.840396661160462850, -0.840423758700874380, -0.840450854140226470, -0.840477947478451390, -0.840505038715481430, -0.840532127851248870, -0.840559214885685970, -0.840586299818725120, +-0.840613382650298500, -0.840640463380338380, -0.840667542008777140, -0.840694618535547500, -0.840721692960580860, -0.840748765283809930, -0.840775835505167100, -0.840802903624585210, +-0.840829969641995630, -0.840857033557331100, -0.840884095370523890, -0.840911155081506490, -0.840938212690211180, -0.840965268196570470, -0.840992321600516400, -0.841019372901981700, +-0.841046422100898420, -0.841073469197199160, -0.841100514190816660, -0.841127557081682520, -0.841154597869729350, -0.841181636554889760, -0.841208673137096460, -0.841235707616281080, +-0.841262739992376440, -0.841289770265314930, -0.841316798435029050, -0.841343824501451070, -0.841370848464513600, -0.841397870324149030, -0.841424890080289760, -0.841451907732868270, +-0.841478923281816950, -0.841505936727068300, -0.841532948068555390, -0.841559957306209580, -0.841586964439963950, -0.841613969469750870, -0.841640972395503280, -0.841667973217152810, +-0.841694971934632390, -0.841721968547874620, -0.841748963056811910, -0.841775955461376730, -0.841802945761501720, -0.841829933957119360, -0.841856920048162150, -0.841883904034562590, +-0.841910885916253290, -0.841937865693167200, -0.841964843365236030, -0.841991818932392830, -0.842018792394570000, -0.842045763751700700, -0.842072733003716430, -0.842099700150550360, +-0.842126665192135080, -0.842153628128403110, -0.842180588959287160, -0.842207547684719620, -0.842234504304633200, -0.842261458818960640, -0.842288411227634310, -0.842315361530587060, +-0.842342309727751810, -0.842369255819060300, -0.842396199804445690, -0.842423141683840580, -0.842450081457178150, -0.842477019124389990, -0.842503954685409280, -0.842530888140168630, +-0.842557819488600760, -0.842584748730638380, -0.842611675866214100, -0.842638600895260770, -0.842665523817710760, -0.842692444633497020, -0.842719363342552150, -0.842746279944809440, +-0.842773194440200380, -0.842800106828658470, -0.842827017110116320, -0.842853925284506980, -0.842880831351762390, -0.842907735311815730, -0.842934637164599710, -0.842961536910047160, +-0.842988434548090800, -0.843015330078663250, -0.843042223501697440, -0.843069114817125990, -0.843096004024881830, -0.843122891124897690, -0.843149776117106290, -0.843176659001440900, +-0.843203539777833360, -0.843230418446217040, -0.843257295006524580, -0.843284169458689450, -0.843311041802643380, -0.843337912038319760, -0.843364780165651310, -0.843391646184570850, +-0.843418510095011340, -0.843445371896905600, -0.843472231590186470, -0.843499089174786660, -0.843525944650639130, -0.843552798017676690, -0.843579649275832840, -0.843606498425039320, +-0.843633345465229610, -0.843660190396336550, -0.843687033218293410, -0.843713873931032250, -0.843740712534486460, -0.843767549028588860, -0.843794383413272290, -0.843821215688469910, +-0.843848045854114330, -0.843874873910138820, -0.843901699856476010, -0.843928523693058930, -0.843955345419820650, -0.843982165036694320, -0.844008982543612230, -0.844035797940507650, +-0.844062611227313520, -0.844089422403963450, -0.844116231470389280, -0.844143038426524610, -0.844169843272302270, -0.844196646007655320, -0.844223446632516690, -0.844250245146819570, +-0.844277041550496770, -0.844303835843481450, -0.844330628025706460, -0.844357418097104850, -0.844384206057610330, -0.844410991907154630, -0.844437775645671570, -0.844464557273094110, +-0.844491336789355620, -0.844518114194388380, -0.844544889488125890, -0.844571662670501100, -0.844598433741447160, -0.844625202700897140, -0.844651969548784190, -0.844678734285041250, +-0.844705496909601390, -0.844732257422397880, -0.844759015823363770, -0.844785772112432110, -0.844812526289536400, -0.844839278354609040, -0.844866028307583390, -0.844892776148393090, +-0.844919521876970500, -0.844946265493249030, -0.844973006997161940, -0.844999746388642280, -0.845026483667623340, -0.845053218834038060, -0.845079951887819810, -0.845106682828901780, +-0.845133411657216890, -0.845160138372698540, -0.845186862975279780, -0.845213585464894450, -0.845240305841474580, -0.845267024104954020, -0.845293740255265820, -0.845320454292343810, +-0.845347166216120160, -0.845373876026528690, -0.845400583723502350, -0.845427289306974640, -0.845453992776878720, -0.845480694133147860, -0.845507393375715230, -0.845534090504514110, +-0.845560785519477780, -0.845587478420539380, -0.845614169207632880, -0.845640857880690430, -0.845667544439645870, -0.845694228884432460, -0.845720911214983940, -0.845747591431232570, +-0.845774269533112300, -0.845800945520556400, -0.845827619393498150, -0.845854291151870720, -0.845880960795607710, -0.845907628324642280, -0.845934293738907720, -0.845960957038337400, +-0.845987618222864720, -0.846014277292423510, -0.846040934246946040, -0.846067589086366260, -0.846094241810617540, -0.846120892419633730, -0.846147540913347210, -0.846174187291691800, +-0.846200831554600910, -0.846227473702007900, -0.846254113733846290, -0.846280751650049350, -0.846307387450550560, -0.846334021135283330, -0.846360652704181040, -0.846387282157177070, +-0.846413909494204920, -0.846440534715198420, -0.846467157820090190, -0.846493778808814050, -0.846520397681303830, -0.846547014437492250, -0.846573629077313150, -0.846600241600699910, +-0.846626852007586140, -0.846653460297905220, -0.846680066471590660, -0.846706670528575840, -0.846733272468794370, -0.846759872292179750, -0.846786469998665470, -0.846813065588185030, +-0.846839659060672380, -0.846866250416060120, -0.846892839654282190, -0.846919426775272210, -0.846946011778964110, -0.846972594665290510, -0.846999175434185460, -0.847025754085582340, +-0.847052330619414980, -0.847078905035616780, -0.847105477334121230, -0.847132047514862040, -0.847158615577772720, -0.847185181522786880, -0.847211745349838120, -0.847238307058860380, +-0.847264866649786510, -0.847291424122550430, -0.847317979477085760, -0.847344532713326550, -0.847371083831205630, -0.847397632830657050, -0.847424179711614320, -0.847450724474011150, +-0.847477267117781150, -0.847503807642857930, -0.847530346049175320, -0.847556882336666820, -0.847583416505266030, -0.847609948554906790, -0.847636478485523040, -0.847663006297047720, +-0.847689531989414880, -0.847716055562558140, -0.847742577016411760, -0.847769096350908580, -0.847795613565982540, -0.847822128661567480, -0.847848641637597100, -0.847875152494005140, +-0.847901661230725300, -0.847928167847691320, -0.847954672344836790, -0.847981174722095780, -0.848007674979401660, -0.848034173116688490, -0.848060669133890220, -0.848087163030939890, +-0.848113654807771680, -0.848140144464319730, -0.848166632000517010, -0.848193117416297770, -0.848219600711595630, -0.848246081886344540, -0.848272560940478200, -0.848299037873930460, +-0.848325512686635140, -0.848351985378526070, -0.848378455949536980, -0.848404924399601800, -0.848431390728654260, -0.848457854936628840, -0.848484317023458170, -0.848510776989076730, +-0.848537234833418360, -0.848563690556417450, -0.848590144158006820, -0.848616595638120750, -0.848643044996693190, -0.848669492233658060, -0.848695937348949210, -0.848722380342500580, +-0.848748821214245890, -0.848775259964119180, -0.848801696592054290, -0.848828131097985270, -0.848854563481846290, -0.848880993743570400, -0.848907421883092090, -0.848933847900345210, +-0.848960271795264230, -0.848986693567782110, -0.849013113217833130, -0.849039530745351430, -0.849065946150270980, -0.849092359432525590, -0.849118770592049320, -0.849145179628776110, +-0.849171586542640020, -0.849197991333574880, -0.849224394001514840, -0.849250794546394180, -0.849277192968146080, -0.849303589266705130, -0.849329983442005050, -0.849356375493980580, +-0.849382765422564630, -0.849409153227691840, -0.849435538909296130, -0.849461922467311560, -0.849488303901672180, -0.849514683212312050, -0.849541060399165220, -0.849567435462165730, +-0.849593808401247650, -0.849620179216345140, -0.849646547907392140, -0.849672914474323140, -0.849699278917071420, -0.849725641235571590, -0.849752001429758040, -0.849778359499564040, +-0.849804715444924200, -0.849831069265772450, -0.849857420962043200, -0.849883770533670260, -0.849910117980587910, -0.849936463302730320, -0.849962806500031530, -0.849989147572425720, +-0.850015486519847040, -0.850041823342229660, -0.850068158039508190, -0.850094490611615900, -0.850120821058487300, -0.850147149380056640, -0.850173475576258660, -0.850199799647026520, +-0.850226121592294830, -0.850252441411997850, -0.850278759106069760, -0.850305074674444830, -0.850331388117057110, -0.850357699433840990, -0.850384008624730630, -0.850410315689660190, +-0.850436620628564070, -0.850462923441376750, -0.850489224128031740, -0.850515522688463530, -0.850541819122606620, -0.850568113430395620, -0.850594405611763920, -0.850620695666646220, +-0.850646983594976700, -0.850673269396689750, -0.850699553071719630, -0.850725834620000620, -0.850752114041467000, -0.850778391336053040, -0.850804666503693240, -0.850830939544321760, +-0.850857210457873330, -0.850883479244281430, -0.850909745903480790, -0.850936010435405790, -0.850962272839991370, -0.850988533117170600, -0.851014791266878620, -0.851041047289049610, +-0.851067301183618060, -0.851093552950518250, -0.851119802589684450, -0.851146050101051270, -0.851172295484552870, -0.851198538740123740, -0.851224779867698290, -0.851251018867210880, +-0.851277255738596470, -0.851303490481788330, -0.851329723096721500, -0.851355953583330940, -0.851382181941549910, -0.851408408171313470, -0.851434632272556000, -0.851460854245211900, +-0.851487074089215760, -0.851513291804501860, -0.851539507391004700, -0.851565720848658890, -0.851591932177398700, -0.851618141377158740, -0.851644348447873400, -0.851670553389477610, +-0.851696756201904990, -0.851722956885090480, -0.851749155438968560, -0.851775351863474310, -0.851801546158541090, -0.851827738324104080, -0.851853928360097770, -0.851880116266456540, +-0.851906302043115020, -0.851932485690007790, -0.851958667207069360, -0.851984846594234240, -0.852011023851437010, -0.852037198978612300, -0.852063371975694930, -0.852089542842618730, +-0.852115711579318650, -0.852141878185729280, -0.852168042661785700, -0.852194205007421490, -0.852220365222571830, -0.852246523307171320, -0.852272679261154460, -0.852298833084455860, +-0.852324984777010130, -0.852351134338751980, -0.852377281769616020, -0.852403427069536870, -0.852429570238449120, -0.852455711276287940, -0.852481850182987060, -0.852507986958481510, +-0.852534121602705920, -0.852560254115595550, -0.852586384497084130, -0.852612512747106700, -0.852638638865597990, -0.852664762852492600, -0.852690884707725470, -0.852717004431231000, +-0.852743122022944110, -0.852769237482799310, -0.852795350810731550, -0.852821462006675300, -0.852847571070565410, -0.852873678002337150, -0.852899782801924130, -0.852925885469261620, +-0.852951986004285010, -0.852978084406927910, -0.853004180677125580, -0.853030274814812750, -0.853056366819924250, -0.853082456692394910, -0.853108544432159440, -0.853134630039152460, +-0.853160713513309020, -0.853186794854563830, -0.853212874062851510, -0.853238951138107100, -0.853265026080265780, -0.853291098889261470, -0.853317169565029340, -0.853343238107504340, +-0.853369304516621630, -0.853395368792315260, -0.853421430934520500, -0.853447490943172070, -0.853473548818205030, -0.853499604559553980, -0.853525658167153980, -0.853551709640939850, +-0.853577758980846420, -0.853603806186808640, -0.853629851258761340, -0.853655894196639790, -0.853681935000378140, -0.853707973669911580, -0.853734010205175140, -0.853760044606104110, +-0.853786076872632530, -0.853812107004695790, -0.853838135002228720, -0.853864160865166370, -0.853890184593443570, -0.853916206186995260, -0.853942225645756500, -0.853968242969662230, +-0.853994258158647270, -0.854020271212646680, -0.854046282131595840, -0.854072290915428910, -0.854098297564081180, -0.854124302077487800, -0.854150304455584040, -0.854176304698304080, +-0.854202302805583400, -0.854228298777356950, -0.854254292613559670, -0.854280284314126730, -0.854306273878993160, -0.854332261308093810, -0.854358246601363720, -0.854384229758738180, +-0.854410210780152000, -0.854436189665540250, -0.854462166414838520, -0.854488141027980990, -0.854514113504903030, -0.854540083845540250, -0.854566052049826830, -0.854592018117698250, +-0.854617982049089560, -0.854643943843936050, -0.854669903502172530, -0.854695861023734400, -0.854721816408556600, -0.854747769656574170, -0.854773720767722400, -0.854799669741936220, +-0.854825616579151020, -0.854851561279302170, -0.854877503842323860, -0.854903444268151900, -0.854929382556721350, -0.854955318707967700, -0.854981252721825350, -0.855007184598229890, +-0.855033114337116480, -0.855059041938420190, -0.855084967402076400, -0.855110890728020160, -0.855136811916186730, -0.855162730966511190, -0.855188647878928900, -0.855214562653374920, +-0.855240475289784970, -0.855266385788093440, -0.855292294148235930, -0.855318200370147720, -0.855344104453764410, -0.855370006399020390, -0.855395906205851380, -0.855421803874192640, +-0.855447699403979360, -0.855473592795146790, -0.855499484047630320, -0.855525373161365010, -0.855551260136286350, -0.855577144972329510, -0.855603027669429860, -0.855628908227523130, +-0.855654786646543600, -0.855680662926427080, -0.855706537067108970, -0.855732409068524990, -0.855758278930609410, -0.855784146653298270, -0.855810012236526640, -0.855835875680230120, +-0.855861736984343760, -0.855887596148803160, -0.855913453173543500, -0.855939308058500270, -0.855965160803608740, -0.855991011408804290, -0.856016859874022430, -0.856042706199198760, +-0.856068550384267880, -0.856094392429165630, -0.856120232333827950, -0.856146070098189100, -0.856171905722185160, -0.856197739205751370, -0.856223570548823250, -0.856249399751336290, +-0.856275226813225760, -0.856301051734427170, -0.856326874514875990, -0.856352695154507630, -0.856378513653257460, -0.856404330011061090, -0.856430144227854240, -0.856455956303571740, +-0.856481766238149200, -0.856507574031522330, -0.856533379683626970, -0.856559183194397610, -0.856584984563770410, -0.856610783791680650, -0.856636580878064050, -0.856662375822855870, +-0.856688168625991840, -0.856713959287407350, -0.856739747807037990, -0.856765534184819270, -0.856791318420686680, -0.856817100514576270, -0.856842880466422650, -0.856868658276161770, +-0.856894433943729330, -0.856920207469061280, -0.856945978852092230, -0.856971748092758110, -0.856997515190994760, -0.857023280146737560, -0.857049042959922240, -0.857074803630484270, +-0.857100562158359280, -0.857126318543482870, -0.857152072785790640, -0.857177824885218320, -0.857203574841701840, -0.857229322655175930, -0.857255068325576740, -0.857280811852839890, +-0.857306553236901410, -0.857332292477696160, -0.857358029575160160, -0.857383764529229150, -0.857409497339838620, -0.857435228006924510, -0.857460956530422200, -0.857486682910267530, +-0.857512407146396090, -0.857538129238743730, -0.857563849187245930, -0.857589566991839080, -0.857615282652457790, -0.857640996169038330, -0.857666707541516420, -0.857692416769828100, +-0.857718123853908330, -0.857743828793693260, -0.857769531589118620, -0.857795232240120110, -0.857820930746633570, -0.857846627108594720, -0.857872321325939160, -0.857898013398602940, +-0.857923703326521680, -0.857949391109631090, -0.857975076747867100, -0.858000760241165780, -0.858026441589462170, -0.858052120792692440, -0.858077797850792410, -0.858103472763698360, +-0.858129145531345230, -0.858154816153669180, -0.858180484630606030, -0.858206150962091740, -0.858231815148062020, -0.858257477188452800, -0.858283137083199920, -0.858308794832239100, +-0.858334450435506380, -0.858360103892937490, -0.858385755204468800, -0.858411404370035270, -0.858437051389573270, -0.858462696263018630, -0.858488338990307630, -0.858513979571375430, +-0.858539618006158190, -0.858565254294591960, -0.858590888436612580, -0.858616520432155970, -0.858642150281158090, -0.858667777983554870, -0.858693403539282140, -0.858719026948275840, +-0.858744648210472140, -0.858770267325807080, -0.858795884294216050, -0.858821499115635210, -0.858847111790000730, -0.858872722317248870, -0.858898330697314690, -0.858923936930134800, +-0.858949541015645020, -0.858975142953781300, -0.859000742744479910, -0.859026340387676560, -0.859051935883307300, -0.859077529231308310, -0.859103120431615410, -0.859128709484164750, +-0.859154296388892740, -0.859179881145734510, -0.859205463754626700, -0.859231044215505110, -0.859256622528306370, -0.859282198692965740, -0.859307772709419490, -0.859333344577603910, +-0.859358914297454810, -0.859384481868908590, -0.859410047291901070, -0.859435610566368520, -0.859461171692246890, -0.859486730669472340, -0.859512287497980920, -0.859537842177708790, +-0.859563394708592550, -0.859588945090567380, -0.859614493323569760, -0.859640039407535970, -0.859665583342402620, -0.859691125128104750, -0.859716664764579090, -0.859742202251761790, +-0.859767737589588910, -0.859793270777996720, -0.859818801816921390, -0.859844330706299060, -0.859869857446065920, -0.859895382036158120, -0.859920904476511820, -0.859946424767063730, +-0.859971942907749140, -0.859997458898504650, -0.860022972739266530, -0.860048484429971500, -0.860073993970554730, -0.860099501360953030, -0.860125006601102580, -0.860150509690939540, +-0.860176010630400280, -0.860201509419420970, -0.860227006057937890, -0.860252500545887310, -0.860277992883205500, -0.860303483069828620, -0.860328971105693620, -0.860354456990735650, +-0.860379940724891550, -0.860405422308097580, -0.860430901740290580, -0.860456379021405810, -0.860481854151380120, -0.860507327130149770, -0.860532797957651140, -0.860558266633820510, +-0.860583733158594160, -0.860609197531908450, -0.860634659753699900, -0.860660119823904560, -0.860685577742459020, -0.860711033509299890, -0.860736487124362790, -0.860761938587584540, +-0.860787387898901300, -0.860812835058250130, -0.860838280065566400, -0.860863722920786940, -0.860889163623848150, -0.860914602174686520, -0.860940038573238420, -0.860965472819440140, +-0.860990904913228160, -0.861016334854538990, -0.861041762643309010, -0.861067188279474590, -0.861092611762972140, -0.861118033093738690, -0.861143452271709630, -0.861168869296822010, +-0.861194284169012670, -0.861219696888217090, -0.861245107454372330, -0.861270515867414770, -0.861295922127280900, -0.861321326233907340, -0.861346728187230350, -0.861372127987186540, +-0.861397525633712520, -0.861422921126744570, -0.861448314466219390, -0.861473705652073370, -0.861499094684243570, -0.861524481562665590, -0.861549866287276480, -0.861575248858012510, +-0.861600629274811070, -0.861626007537607430, -0.861651383646338860, -0.861676757600941870, -0.861702129401352930, -0.861727499047508670, -0.861752866539345690, -0.861778231876800580, +-0.861803595059809750, -0.861828956088310120, -0.861854314962237970, -0.861879671681530460, -0.861905026246123420, -0.861930378655953790, -0.861955728910958170, -0.861981077011073740, +-0.862006422956236080, -0.862031766746382490, -0.862057108381449330, -0.862082447861373560, -0.862107785186091550, -0.862133120355540130, -0.862158453369655910, -0.862183784228375490, +-0.862209112931635600, -0.862234439479373060, -0.862259763871524810, -0.862285086108026680, -0.862310406188815830, -0.862335724113828970, -0.862361039883003280, -0.862386353496274570, +-0.862411664953579900, -0.862436974254856100, -0.862462281400039890, -0.862487586389067970, -0.862512889221876970, -0.862538189898403920, -0.862563488418585320, -0.862588784782358010, +-0.862614078989658690, -0.862639371040424210, -0.862664660934591710, -0.862689948672097140, -0.862715234252877770, -0.862740517676870660, -0.862765798944011840, -0.862791078054238600, +-0.862816355007487550, -0.862841629803695720, -0.862866902442799730, -0.862892172924736520, -0.862917441249442810, -0.862942707416855640, -0.862967971426911620, -0.862993233279547580, +-0.863018492974700570, -0.863043750512307750, -0.863069005892305170, -0.863094259114630000, -0.863119510179219170, -0.863144759086010070, -0.863170005834938640, -0.863195250425942140, +-0.863220492858957520, -0.863245733133921610, -0.863270971250771460, -0.863296207209443890, -0.863321441009875730, -0.863346672652004040, -0.863371902135765650, -0.863397129461097480, +-0.863422354627936930, -0.863447577636220040, -0.863472798485884210, -0.863498017176866470, -0.863523233709104000, -0.863548448082533060, -0.863573660297091040, -0.863598870352714760, +-0.863624078249341400, -0.863649283986907880, -0.863674487565351030, -0.863699688984608030, -0.863724888244615910, -0.863750085345311390, -0.863775280286631750, -0.863800473068514370, +-0.863825663690895310, -0.863850852153712050, -0.863876038456901750, -0.863901222600401810, -0.863926404584148270, -0.863951584408078840, -0.863976762072130370, -0.864001937576240000, +-0.864027110920344790, -0.864052282104381790, -0.864077451128288150, -0.864102617992000830, -0.864127782695456980, -0.864152945238593650, -0.864178105621348000, -0.864203263843657530, +-0.864228419905458400, -0.864253573806688210, -0.864278725547284580, -0.864303875127183760, -0.864329022546323160, -0.864354167804640030, -0.864379310902071430, -0.864404451838554630, +-0.864429590614026690, -0.864454727228424760, -0.864479861681686000, -0.864504993973747580, -0.864530124104546660, -0.864555252074020400, -0.864580377882106510, -0.864605501528741270, +-0.864630623013862290, -0.864655742337406720, -0.864680859499312170, -0.864705974499515030, -0.864731087337953010, -0.864756198014563270, -0.864781306529283090, -0.864806412882049620, +-0.864831517072800040, -0.864856619101471710, -0.864881718968001810, -0.864906816672327610, -0.864931912214386480, -0.864957005594115810, -0.864982096811452330, -0.865007185866333630, +-0.865032272758696870, -0.865057357488479890, -0.865082440055619180, -0.865107520460052240, -0.865132598701716550, -0.865157674780549390, -0.865182748696488040, -0.865207820449469760, +-0.865232890039431930, -0.865257957466311960, -0.865283022730047090, -0.865308085830574610, -0.865333146767832350, -0.865358205541756800, -0.865383262152285780, -0.865408316599356460, +-0.865433368882906890, -0.865458419002873570, -0.865483466959194090, -0.865508512751805850, -0.865533556380646440, -0.865558597845653140, -0.865583637146763340, -0.865608674283914410, +-0.865633709257043860, -0.865658742066088950, -0.865683772710987290, -0.865708801191676150, -0.865733827508093470, -0.865758851660175740, -0.865783873647860800, -0.865808893471086800, +-0.865833911129790020, -0.865858926623908510, -0.865883939953379640, -0.865908951118140920, -0.865933960118129840, -0.865958966953283780, -0.865983971623540460, -0.866008974128837150, +-0.866033974469111350, -0.866058972644300650, -0.866083968654342560, -0.866108962499174910, -0.866133954178734400, -0.866158943692959090, -0.866183931041786370, -0.866208916225154280, +-0.866233899242999540, -0.866258880095259980, -0.866283858781873200, -0.866308835302776800, -0.866333809657908290, -0.866358781847205270, -0.866383751870605230, -0.866408719728045900, +-0.866433685419464750, -0.866458648944799400, -0.866483610303987790, -0.866508569496966750, -0.866533526523674320, -0.866558481384048120, -0.866583434078026070, -0.866608384605545010, +-0.866633332966542990, -0.866658279160957720, -0.866683223188726700, -0.866708165049787540, -0.866733104744078050, -0.866758042271535860, -0.866782977632098440, -0.866807910825703630, +-0.866832841852289040, -0.866857770711792820, -0.866882697404151690, -0.866907621929303820, -0.866932544287186910, -0.866957464477739030, -0.866982382500897100, -0.867007298356599180, +-0.867032212044783090, -0.867057123565386330, -0.867082032918346960, -0.867106940103602340, -0.867131845121090430, -0.867156747970748930, -0.867181648652515570, -0.867206547166328060, +-0.867231443512124110, -0.867256337689842120, -0.867281229699418790, -0.867306119540792400, -0.867331007213901110, -0.867355892718681850, -0.867380776055072910, -0.867405657223011990, +-0.867430536222436930, -0.867455413053285550, -0.867480287715495680, -0.867505160209005030, -0.867530030533751550, -0.867554898689672950, -0.867579764676707050, -0.867604628494791810, +-0.867629490143865480, -0.867654349623864900, -0.867679206934728440, -0.867704062076393940, -0.867728915048799790, -0.867753765851882910, -0.867778614485581690, -0.867803460949833850, +-0.867828305244577320, -0.867853147369750060, -0.867877987325289980, -0.867902825111134810, -0.867927660727222720, -0.867952494173491410, -0.867977325449878820, -0.868002154556323460, +-0.868026981492762250, -0.868051806259133470, -0.868076628855375290, -0.868101449281425960, -0.868126267537222550, -0.868151083622703550, -0.868175897537806770, -0.868200709282470170, +-0.868225518856631910, -0.868250326260229800, -0.868275131493201900, -0.868299934555486150, -0.868324735447020600, -0.868349534167743190, -0.868374330717592400, -0.868399125096505300, +-0.868423917304420480, -0.868448707341275770, -0.868473495207009780, -0.868498280901559670, -0.868523064424863710, -0.868547845776860170, -0.868572624957486990, -0.868597401966682340, +-0.868622176804384140, -0.868646949470530450, -0.868671719965059430, -0.868696488287909020, -0.868721254439017490, -0.868746018418322770, -0.868770780225763480, -0.868795539861276780, +-0.868820297324801260, -0.868845052616275430, -0.868869805735636550, -0.868894556682823120, -0.868919305457773290, -0.868944052060425240, -0.868968796490717010, -0.868993538748586760, +-0.869018278833972760, -0.869043016746813060, -0.869067752487045710, -0.869092486054609090, -0.869117217449441150, -0.869141946671480700, -0.869166673720664920, -0.869191398596932400, +-0.869216121300221410, -0.869240841830470680, -0.869265560187617250, -0.869290276371599950, -0.869314990382357040, -0.869339702219826590, -0.869364411883946860, -0.869389119374656130, +-0.869413824691892660, -0.869438527835594500, -0.869463228805700150, -0.869487927602147660, -0.869512624224875850, -0.869537318673822000, -0.869562010948924820, -0.869586701050122590, +-0.869611388977354130, -0.869636074730556710, -0.869660758309669160, -0.869685439714629640, -0.869710118945376530, -0.869734796001848220, -0.869759470883982870, -0.869784143591718740, +-0.869808814124994330, -0.869833482483747920, -0.869858148667917770, -0.869882812677442720, -0.869907474512260140, -0.869932134172308970, -0.869956791657527370, -0.869981446967854290, +-0.870006100103227100, -0.870030751063584630, -0.870055399848865370, -0.870080046459007610, -0.870104690893949710, -0.870129333153630060, -0.870153973237987040, -0.870178611146959160, +-0.870203246880484780, -0.870227880438502190, -0.870252511820949980, -0.870277141027766880, -0.870301768058890480, -0.870326392914259730, -0.870351015593813450, -0.870375636097489020, +-0.870400254425225730, -0.870424870576961610, -0.870449484552635380, -0.870474096352185530, -0.870498705975550350, -0.870523313422668420, -0.870547918693478140, -0.870572521787918220, +-0.870597122705926820, -0.870621721447442760, -0.870646318012404770, -0.870670912400750560, -0.870695504612419070, -0.870720094647348790, -0.870744682505478760, -0.870769268186746490, +-0.870793851691091140, -0.870818433018451190, -0.870843012168765030, -0.870867589141971490, -0.870892163938008830, -0.870916736556815900, -0.870941306998331060, -0.870965875262492920, +-0.870990441349240090, -0.871015005258511720, -0.871039566990245320, -0.871064126544379920, -0.871088683920854370, -0.871113239119607360, -0.871137792140576960, -0.871162342983702100, +-0.871186891648921270, -0.871211438136173190, -0.871235982445396570, -0.871260524576530030, -0.871285064529512270, -0.871309602304281670, -0.871334137900777070, -0.871358671318937290, +-0.871383202558701160, -0.871407731620006510, -0.871432258502792710, -0.871456783206998150, -0.871481305732562110, -0.871505826079422290, -0.871530344247517960, -0.871554860236787740, +-0.871579374047170450, -0.871603885678604700, -0.871628395131029190, -0.871652902404382760, -0.871677407498604010, -0.871701910413631760, -0.871726411149404750, -0.871750909705862110, +-0.871775406082941800, -0.871799900280582960, -0.871824392298724330, -0.871848882137305160, -0.871873369796263400, -0.871897855275538200, -0.871922338575068400, -0.871946819694792710, +-0.871971298634649950, -0.871995775394579060, -0.872020249974518660, -0.872044722374407550, -0.872069192594184690, -0.872093660633788900, -0.872118126493158900, -0.872142590172234060, +-0.872167051670952320, -0.872191510989252850, -0.872215968127074690, -0.872240423084357120, -0.872264875861037960, -0.872289326457056590, -0.872313774872351950, -0.872338221106862880, +-0.872362665160528180, -0.872387107033286920, -0.872411546725077810, -0.872435984235839900, -0.872460419565512010, -0.872484852714032980, -0.872509283681342400, -0.872533712467378100, +-0.872558139072079460, -0.872582563495385540, -0.872606985737235720, -0.872631405797567930, -0.872655823676321660, -0.872680239373435750, -0.872704652888849240, -0.872729064222501180, +-0.872753473374330400, -0.872777880344276060, -0.872802285132276870, -0.872826687738271990, -0.872851088162200470, -0.872875486404001590, -0.872899882463613610, -0.872924276340975910, +-0.872948668036027550, -0.872973057548707910, -0.872997444878955140, -0.873021830026708860, -0.873046212991907990, -0.873070593774491480, -0.873094972374398590, -0.873119348791568270, +-0.873143723025939570, -0.873168095077451520, -0.873192464946043300, -0.873216832631653840, -0.873241198134222740, -0.873265561453688280, -0.873289922589989830, -0.873314281543066670, +-0.873338638312858180, -0.873362992899302640, -0.873387345302339630, -0.873411695521908340, -0.873436043557947790, -0.873460389410397050, -0.873484733079195390, -0.873509074564281840, +-0.873533413865595690, -0.873557750983075980, -0.873582085916661870, -0.873606418666292520, -0.873630749231907640, -0.873655077613445410, -0.873679403810845520, -0.873703727824047040, +-0.873728049652989670, -0.873752369297611910, -0.873776686757853030, -0.873801002033652520, -0.873825315124949540, -0.873849626031683150, -0.873873934753792820, -0.873898241291217630, +-0.873922545643896820, -0.873946847811769680, -0.873971147794775360, -0.873995445592853580, -0.874019741205942840, -0.874044034633982720, -0.874068325876912410, -0.874092614934671830, +-0.874116901807199250, -0.874141186494434510, -0.874165468996316640, -0.874189749312785260, -0.874214027443779410, -0.874238303389238470, -0.874262577149101830, -0.874286848723308750, +-0.874311118111798510, -0.874335385314510490, -0.874359650331384410, -0.874383913162358860, -0.874408173807373460, -0.874432432266367580, -0.874456688539281160, -0.874480942626052580, +-0.874505194526621570, -0.874529444240927600, -0.874553691768910070, -0.874577937110508240, -0.874602180265661610, -0.874626421234309450, -0.874650660016391360, -0.874674896611846500, +-0.874699131020614470, -0.874723363242635000, -0.874747593277846790, -0.874771821126189560, -0.874796046787602700, -0.874820270262026240, -0.874844491549398580, -0.874868710649659760, +-0.874892927562749170, -0.874917142288606290, -0.874941354827170500, -0.874965565178381310, -0.874989773342178200, -0.875013979318500670, -0.875038183107288200, -0.875062384708480300, +-0.875086584122016450, -0.875110781347836600, -0.875134976385879230, -0.875159169236084500, -0.875183359898392350, -0.875207548372741280, -0.875231734659071340, -0.875255918757322120, +-0.875280100667433000, -0.875304280389343710, -0.875328457922993740, -0.875352633268322580, -0.875376806425269830, -0.875400977393775090, -0.875425146173777870, -0.875449312765217760, +-0.875473477168034920, -0.875497639382167850, -0.875521799407556700, -0.875545957244141080, -0.875570112891861040, -0.875594266350655180, -0.875618417620463770, -0.875642566701226200, +-0.875666713592882280, -0.875690858295371630, -0.875715000808633740, -0.875739141132608420, -0.875763279267235180, -0.875787415212453730, -0.875811548968203790, -0.875835680534425400, +-0.875859809911057390, -0.875883937098039800, -0.875908062095312470, -0.875932184902815330, -0.875956305520487310, -0.875980423948268580, -0.876004540186098750, -0.876028654233917630, +-0.876052766091664830, -0.876076875759280060, -0.876100983236703160, -0.876125088523873720, -0.876149191620731680, -0.876173292527216650, -0.876197391243268680, -0.876221487768826910, +-0.876245582103831410, -0.876269674248222000, -0.876293764201938830, -0.876317851964920740, -0.876341937537108100, -0.876366020918440510, -0.876390102108857930, -0.876414181108300160, +-0.876438257916706820, -0.876462332534017950, -0.876486404960173160, -0.876510475195112380, -0.876534543238775440, -0.876558609091102170, -0.876582672752032720, -0.876606734221506260, +-0.876630793499462820, -0.876654850585842920, -0.876678905480585470, -0.876702958183630750, -0.876727008694918710, -0.876751057014389050, -0.876775103141981700, -0.876799147077636730, +-0.876823188821293730, -0.876847228372892860, -0.876871265732373950, -0.876895300899676820, -0.876919333874741520, -0.876943364657508220, -0.876967393247916060, -0.876991419645905550, +-0.877015443851416390, -0.877039465864389080, -0.877063485684762670, -0.877087503312477530, -0.877111518747473620, -0.877135531989690960, -0.877159543039069400, -0.877183551895549090, +-0.877207558559069840, -0.877231563029571610, -0.877255565306994560, -0.877279565391278600, -0.877303563282364140, -0.877327558980190440, -0.877351552484697760, -0.877375543795826160, +-0.877399532913516130, -0.877423519837706940, -0.877447504568338870, -0.877471487105352050, -0.877495467448686560, -0.877519445598282320, -0.877543421554079490, -0.877567395316018130, +-0.877591366884038270, -0.877615336258079970, -0.877639303438083380, -0.877663268423989010, -0.877687231215735890, -0.877711191813264850, -0.877735150216515710, -0.877759106425429200, +-0.877783060439944360, -0.877807012260002020, -0.877830961885542100, -0.877854909316504780, -0.877878854552830210, -0.877902797594458440, -0.877926738441329730, -0.877950677093384150, +-0.877974613550561940, -0.877998547812803070, -0.878022479880047890, -0.878046409752237020, -0.878070337429309620, -0.878094262911206400, -0.878118186197867970, -0.878142107289233590, +-0.878166026185243980, -0.878189942885839290, -0.878213857390959700, -0.878237769700545570, -0.878261679814536960, -0.878285587732874130, -0.878309493455497360, -0.878333396982346800, +-0.878357298313362840, -0.878381197448485530, -0.878405094387655790, -0.878428989130812800, -0.878452881677897370, -0.878476772028849660, -0.878500660183610500, -0.878524546142119280, +-0.878548429904316700, -0.878572311470143030, -0.878596190839538550, -0.878620068012443630, -0.878643942988798550, -0.878667815768543580, -0.878691686351619090, -0.878715554737965370, +-0.878739420927522770, -0.878763284920232150, -0.878787146716032750, -0.878811006314865530, -0.878834863716670740, -0.878858718921389340, -0.878882571928960580, -0.878906422739325510, +-0.878930271352424300, -0.878954117768197430, -0.878977961986585290, -0.879001804007528250, -0.879025643830966710, -0.879049481456841030, -0.879073316885091600, -0.879097150115658920, +-0.879120981148483800, -0.879144809983505860, -0.879168636620665800, -0.879192461059904230, -0.879216283301161860, -0.879240103344378410, -0.879263921189494590, -0.879287736836451120, +-0.879311550285188260, -0.879335361535646510, -0.879359170587766360, -0.879382977441488300, -0.879406782096752710, -0.879430584553500210, -0.879454384811671260, -0.879478182871206380, +-0.879501978732046500, -0.879525772394131210, -0.879549563857401460, -0.879573353121798180, -0.879597140187261210, -0.879620925053731350, -0.879644707721149110, -0.879668488189455200, +-0.879692266458590000, -0.879716042528494110, -0.879739816399108250, -0.879763588070372690, -0.879787357542228250, -0.879811124814615430, -0.879834889887474710, -0.879858652760747260, +-0.879882413434372790, -0.879906171908292230, -0.879929928182446200, -0.879953682256775840, -0.879977434131220870, -0.880001183805722230, -0.880024931280220750, -0.880048676554656790, +-0.880072419628971310, -0.880096160503104690, -0.880119899176997620, -0.880143635650590840, -0.880167369923825050, -0.880191101996640750, -0.880214831868979090, -0.880238559540780010, +-0.880262285011984450, -0.880286008282533230, -0.880309729352367400, -0.880333448221426900, -0.880357164889652650, -0.880380879356985610, -0.880404591623366260, -0.880428301688735540, +-0.880452009553034040, -0.880475715216202490, -0.880499418678181600, -0.880523119938912190, -0.880546818998335090, -0.880570515856391230, -0.880594210513020670, -0.880617902968164670, +-0.880641593221763830, -0.880665281273759540, -0.880688967124091500, -0.880712650772701110, -0.880736332219529070, -0.880760011464516210, -0.880783688507603360, -0.880807363348731220, +-0.880831035987840630, -0.880854706424872510, -0.880878374659767700, -0.880902040692466910, -0.880925704522910970, -0.880949366151041250, -0.880973025576797570, -0.880996682800121440, +-0.881020337820954010, -0.881043990639235330, -0.881067641254906660, -0.881091289667908840, -0.881114935878182900, -0.881138579885669570, -0.881162221690309780, -0.881185861292044350, +-0.881209498690814330, -0.881233133886560660, -0.881256766879224050, -0.881280397668745550, -0.881304026255066430, -0.881327652638126960, -0.881351276817868290, -0.881374898794231370, +-0.881398518567157670, -0.881422136136587260, -0.881445751502461520, -0.881469364664721370, -0.881492975623307750, -0.881516584378161830, -0.881540190929224310, -0.881563795276436470, +-0.881587397419739020, -0.881610997359073110, -0.881634595094379690, -0.881658190625600250, -0.881681783952674820, -0.881705375075545030, -0.881728963994151790, -0.881752550708436500, +-0.881776135218339530, -0.881799717523802150, -0.881823297624765410, -0.881846875521170470, -0.881870451212958370, -0.881894024700070170, -0.881917595982446900, -0.881941165060029620, +-0.881964731932759370, -0.881988296600577320, -0.882011859063425050, -0.882035419321242630, -0.882058977373971650, -0.882082533221553170, -0.882106086863928880, -0.882129638301038970, +-0.882153187532824900, -0.882176734559227850, -0.882200279380188970, -0.882223821995649420, -0.882247362405550350, -0.882270900609832820, -0.882294436608438090, -0.882317970401307220, +-0.882341501988381460, -0.882365031369601870, -0.882388558544910160, -0.882412083514246710, -0.882435606277552910, -0.882459126834770680, -0.882482645185840080, -0.882506161330702920, +-0.882529675269300370, -0.882553187001573590, -0.882576696527463840, -0.882600203846912400, -0.882623708959860420, -0.882647211866249170, -0.882670712566019920, -0.882694211059113830, +-0.882717707345472280, -0.882741201425036870, -0.882764693297747980, -0.882788182963547440, -0.882811670422376400, -0.882835155674176590, -0.882858638718888480, -0.882882119556453790, +-0.882905598186813800, -0.882929074609909770, -0.882952548825683080, -0.882976020834075000, -0.882999490635026920, -0.883022958228480090, -0.883046423614375910, -0.883069886792655630, +-0.883093347763260980, -0.883116806526132670, -0.883140263081212300, -0.883163717428441240, -0.883187169567761330, -0.883210619499113060, -0.883234067222438250, -0.883257512737678270, +-0.883280956044774520, -0.883304397143668370, -0.883327836034301210, -0.883351272716614510, -0.883374707190549560, -0.883398139456047950, -0.883421569513050840, -0.883444997361500390, +-0.883468423001336880, -0.883491846432502450, -0.883515267654938260, -0.883538686668586480, -0.883562103473387370, -0.883585518069283200, -0.883608930456215140, -0.883632340634124770, +-0.883655748602953480, -0.883679154362642880, -0.883702557913134460, -0.883725959254369590, -0.883749358386289760, -0.883772755308836590, -0.883796150021951550, -0.883819542525576480, +-0.883842932819652210, -0.883866320904120650, -0.883889706778923650, -0.883913090444001900, -0.883936471899297470, -0.883959851144751840, -0.883983228180306720, -0.884006603005903390, +-0.884029975621483550, -0.884053346026988820, -0.884076714222360780, -0.884100080207540830, -0.884123443982470780, -0.884146805547092020, -0.884170164901346810, -0.884193522045175650, +-0.884216876978520690, -0.884240229701323540, -0.884263580213526360, -0.884286928515069630, -0.884310274605895730, -0.884333618485946050, -0.884356960155162410, -0.884380299613486300, +-0.884403636860859430, -0.884426971897223520, -0.884450304722520060, -0.884473635336690990, -0.884496963739677790, -0.884520289931422620, -0.884543613911866200, -0.884566935680950790, +-0.884590255238618120, -0.884613572584810210, -0.884636887719467910, -0.884660200642533370, -0.884683511353948400, -0.884706819853654510, -0.884730126141593740, -0.884753430217707580, +-0.884776732081937860, -0.884800031734226280, -0.884823329174514670, -0.884846624402744750, -0.884869917418858560, -0.884893208222797270, -0.884916496814502910, -0.884939783193917420, +-0.884963067360982740, -0.884986349315640020, -0.885009629057831540, -0.885032906587498890, -0.885056181904583910, -0.885079455009028630, -0.885102725900774550, -0.885125994579763820, +-0.885149261045937940, -0.885172525299238950, -0.885195787339608800, -0.885219047166988960, -0.885242304781322040, -0.885265560182548980, -0.885288813370611940, -0.885312064345453290, +-0.885335313107014080, -0.885358559655236580, -0.885381803990062720, -0.885405046111434340, -0.885428286019293350, -0.885451523713581600, -0.885474759194241010, -0.885497992461213630, +-0.885521223514441180, -0.885544452353865700, -0.885567678979429120, -0.885590903391073710, -0.885614125588740640, -0.885637345572372280, -0.885660563341910570, -0.885683778897297880, +-0.885706992238475270, -0.885730203365385220, -0.885753412277969670, -0.885776618976170550, -0.885799823459929910, -0.885823025729189690, -0.885846225783891830, -0.885869423623978580, +-0.885892619249391670, -0.885915812660073240, -0.885939003855965580, -0.885962192837010170, -0.885985379603149160, -0.886008564154324720, -0.886031746490479330, -0.886054926611554160, +-0.886078104517491690, -0.886101280208233870, -0.886124453683722950, -0.886147624943900760, -0.886170793988709680, -0.886193960818091430, -0.886217125431988380, -0.886240287830342590, +-0.886263448013095980, -0.886286605980191160, -0.886309761731569500, -0.886332915267173390, -0.886356066586944990, -0.886379215690826780, -0.886402362578760150, -0.886425507250687580, +-0.886448649706551350, -0.886471789946293390, -0.886494927969856070, -0.886518063777181340, -0.886541197368211460, -0.886564328742888600, -0.886587457901155010, -0.886610584842952630, +-0.886633709568224290, -0.886656832076911150, -0.886679952368956030, -0.886703070444301080, -0.886726186302888800, -0.886749299944660560, -0.886772411369559200, -0.886795520577526750, +-0.886818627568505490, -0.886841732342437680, -0.886864834899265600, -0.886887935238931390, -0.886911033361377330, -0.886934129266545690, -0.886957222954378730, -0.886980314424818620, +-0.887003403677808280, -0.887026490713288980, -0.887049575531203450, -0.887072658131493940, -0.887095738514103170, -0.887118816678972740, -0.887141892626045260, -0.887164966355262980, +-0.887188037866568300, -0.887211107159903590, -0.887234174235211000, -0.887257239092433040, -0.887280301731512070, -0.887303362152390250, -0.887326420355009970, -0.887349476339314160, +-0.887372530105244190, -0.887395581652742900, -0.887418630981752670, -0.887441678092216300, -0.887464722984075300, -0.887487765657272500, -0.887510806111750260, -0.887533844347450970, +-0.887556880364317120, -0.887579914162291090, -0.887602945741315260, -0.887625975101332010, -0.887649002242283940, -0.887672027164113310, -0.887695049866762950, -0.887718070350174690, +-0.887741088614291130, -0.887764104659054860, -0.887787118484408830, -0.887810130090294520, -0.887833139476654990, -0.887856146643432490, -0.887879151590569630, -0.887902154318008900, +-0.887925154825692900, -0.887948153113563900, -0.887971149181564500, -0.887994143029637310, -0.888017134657724690, -0.888040124065769710, -0.888063111253713950, -0.888086096221500480, +-0.888109078969071650, -0.888132059496370640, -0.888155037803339040, -0.888178013889919900, -0.888200987756055600, -0.888223959401688970, -0.888246928826762370, -0.888269896031218420, +-0.888292861014999820, -0.888315823778048960, -0.888338784320308660, -0.888361742641721300, -0.888384698742229580, -0.888407652621776570, -0.888430604280304070, -0.888453553717754920, +-0.888476500934072040, -0.888499445929198160, -0.888522388703075430, -0.888545329255646550, -0.888568267586854480, -0.888591203696641680, -0.888614137584950890, -0.888637069251724810, +-0.888659998696905930, -0.888682925920437180, -0.888705850922261060, -0.888728773702320280, -0.888751694260558000, -0.888774612596916150, -0.888797528711337660, -0.888820442603765470, +-0.888843354274142410, -0.888866263722410730, -0.888889170948513270, -0.888912075952392970, -0.888934978733992410, -0.888957879293254430, -0.888980777630121730, -0.889003673744537150, +-0.889026567636443280, -0.889049459305783160, -0.889072348752499190, -0.889095235976534950, -0.889118120977832050, -0.889141003756333980, -0.889163884311983340, -0.889186762644723410, +-0.889209638754496100, -0.889232512641244700, -0.889255384304912130, -0.889278253745441010, -0.889301120962774250, -0.889323985956854690, -0.889346848727625260, -0.889369709275028670, +-0.889392567599007760, -0.889415423699505440, -0.889438277576464990, -0.889461129229828450, -0.889483978659538990, -0.889506825865539750, -0.889529670847773680, -0.889552513606183150, +-0.889575354140711320, -0.889598192451301010, -0.889621028537895380, -0.889643862400437020, -0.889666694038869110, -0.889689523453134460, -0.889712350643175890, -0.889735175608936560, +-0.889757998350359290, -0.889780818867386910, -0.889803637159963020, -0.889826453228029560, -0.889849267071530000, -0.889872078690407630, -0.889894888084604710, -0.889917695254064610, +-0.889940500198730170, -0.889963302918544530, -0.889986103413450640, -0.890008901683391530, -0.890031697728310140, -0.890054491548149420, -0.890077283142852500, -0.890100072512362450, +-0.890122859656622190, -0.890145644575575210, -0.890168427269163680, -0.890191207737331070, -0.890213985980020440, -0.890236761997175270, -0.890259535788737730, -0.890282307354651410, +-0.890305076694859370, -0.890327843809304520, -0.890350608697930150, -0.890373371360679290, -0.890396131797494880, -0.890418890008320310, -0.890441645993098390, -0.890464399751772380, +-0.890487151284285790, -0.890509900590580880, -0.890532647670601250, -0.890555392524289950, -0.890578135151590680, -0.890600875552445600, -0.890623613726798320, -0.890646349674592000, +-0.890669083395769780, -0.890691814890274940, -0.890714544158050510, -0.890737271199039780, -0.890759996013185780, -0.890782718600431900, -0.890805438960721170, -0.890828157093997210, +-0.890850873000202490, -0.890873586679280520, -0.890896298131174660, -0.890919007355828410, -0.890941714353184370, -0.890964419123185910, -0.890987121665776430, -0.891009821980899170, +-0.891032520068497310, -0.891055215928514220, -0.891077909560893060, -0.891100600965577080, -0.891123290142509570, -0.891145977091633900, -0.891168661812893340, -0.891191344306231480, +-0.891214024571590820, -0.891236702608915190, -0.891259378418148170, -0.891282051999232270, -0.891304723352111190, -0.891327392476728430, -0.891350059373027140, -0.891372724040950580, +-0.891395386480442360, -0.891418046691445640, -0.891440704673903790, -0.891463360427760200, -0.891486013952958230, -0.891508665249441170, -0.891531314317152820, -0.891553961156035800, +-0.891576605766033920, -0.891599248147090570, -0.891621888299149460, -0.891644526222153180, -0.891667161916045670, -0.891689795380770090, -0.891712426616270150, -0.891735055622489230, +-0.891757682399370480, -0.891780306946857610, -0.891802929264894020, -0.891825549353423060, -0.891848167212388240, -0.891870782841733380, -0.891893396241401180, -0.891916007411335480, +-0.891938616351479750, -0.891961223061777940, -0.891983827542172650, -0.892006429792607800, -0.892029029813026790, -0.892051627603373310, -0.892074223163590750, -0.892096816493622600, +-0.892119407593412350, -0.892141996462903710, -0.892164583102039940, -0.892187167510764770, -0.892209749689022110, -0.892232329636754700, -0.892254907353906450, -0.892277482840420850, +-0.892300056096241970, -0.892322627121312610, -0.892345195915576710, -0.892367762478977760, -0.892390326811459360, -0.892412888912965220, -0.892435448783438830, -0.892458006422823800, +-0.892480561831063830, -0.892503115008102420, -0.892525665953883160, -0.892548214668349770, -0.892570761151446290, -0.892593305403115430, -0.892615847423301360, -0.892638387211948100, +-0.892660924768998390, -0.892683460094396360, -0.892705993188085740, -0.892728524050010130, -0.892751052680113230, -0.892773579078338650, -0.892796103244630210, -0.892818625178931400, +-0.892841144881186160, -0.892863662351337960, -0.892886177589330640, -0.892908690595108250, -0.892931201368613700, -0.892953709909791170, -0.892976216218584470, -0.892998720294937540, +-0.893021222138793420, -0.893043721750096160, -0.893066219128789700, -0.893088714274817730, -0.893111207188123870, -0.893133697868652040, -0.893156186316345970, -0.893178672531149460, +-0.893201156513006240, -0.893223638261860130, -0.893246117777655280, -0.893268595060334740, -0.893291070109842770, -0.893313542926123080, -0.893336013509119950, -0.893358481858776420, +-0.893380947975036640, -0.893403411857844550, -0.893425873507143860, -0.893448332922878510, -0.893470790104992420, -0.893493245053429200, -0.893515697768133000, -0.893538148249047430, +-0.893560596496116630, -0.893583042509284660, -0.893605486288494680, -0.893627927833690940, -0.893650367144817490, -0.893672804221818500, -0.893695239064636990, -0.893717671673217470, +-0.893740102047503760, -0.893762530187439790, -0.893784956092969480, -0.893807379764036900, -0.893829801200585750, -0.893852220402560070, -0.893874637369903910, -0.893897052102561100, +-0.893919464600475780, -0.893941874863592110, -0.893964282891853370, -0.893986688685203920, -0.894009092243588040, -0.894031493566949220, -0.894053892655231500, -0.894076289508379140, +-0.894098684126336090, -0.894121076509046260, -0.894143466656453720, -0.894165854568502620, -0.894188240245136770, -0.894210623686300440, -0.894233004891937470, -0.894255383861991990, +-0.894277760596408400, -0.894300135095130070, -0.894322507358101480, -0.894344877385266470, -0.894367245176569740, -0.894389610731954550, -0.894411974051365300, -0.894434335134746130, +-0.894456693982041080, -0.894479050593194210, -0.894501404968149890, -0.894523757106851950, -0.894546107009244640, -0.894568454675272130, -0.894590800104878350, -0.894613143298008120, +-0.894635484254604480, -0.894657822974612270, -0.894680159457975410, -0.894702493704638610, -0.894724825714545150, -0.894747155487639610, -0.894769483023866160, -0.894791808323169070, +-0.894814131385492370, -0.894836452210780450, -0.894858770798977350, -0.894881087150027340, -0.894903401263874580, -0.894925713140463320, -0.894948022779738170, -0.894970330181642630, +-0.894992635346121170, -0.895014938273118180, -0.895037238962578250, -0.895059537414444770, -0.895081833628662450, -0.895104127605175660, -0.895126419343928450, -0.895148708844865190, +-0.895170996107930160, -0.895193281133067730, -0.895215563920222060, -0.895237844469337410, -0.895260122780358160, -0.895282398853228690, -0.895304672687893490, -0.895326944284296270, +-0.895349213642381740, -0.895371480762094610, -0.895393745643378260, -0.895416008286177620, -0.895438268690436970, -0.895460526856100560, -0.895482782783112890, -0.895505036471418210, +-0.895527287920961030, -0.895549537131685610, -0.895571784103536330, -0.895594028836457560, -0.895616271330393790, -0.895638511585289730, -0.895660749601088880, -0.895682985377736270, +-0.895705218915176180, -0.895727450213353430, -0.895749679272211610, -0.895771906091695660, -0.895794130671749960, -0.895816353012318880, -0.895838573113346910, -0.895860790974778550, +-0.895883006596558170, -0.895905219978630370, -0.895927431120939420, -0.895949640023429920, -0.895971846686046680, -0.895994051108733540, -0.896016253291435190, -0.896038453234096140, +-0.896060650936661430, -0.896082846399074760, -0.896105039621280850, -0.896127230603224410, -0.896149419344849930, -0.896171605846101890, -0.896193790106924790, -0.896215972127263230, +-0.896238151907061690, -0.896260329446264880, -0.896282504744817190, -0.896304677802663540, -0.896326848619747980, -0.896349017196015230, -0.896371183531409880, -0.896393347625876970, +-0.896415509479360330, -0.896437669091804890, -0.896459826463155360, -0.896481981593356240, -0.896504134482352110, -0.896526285130087700, -0.896548433536507480, -0.896570579701556290, +-0.896592723625178610, -0.896614865307319150, -0.896637004747922410, -0.896659141946933640, -0.896681276904296660, -0.896703409619956430, -0.896725540093858080, -0.896747668325945550, +-0.896769794316163770, -0.896791918064457460, -0.896814039570771440, -0.896836158835050300, -0.896858275857238760, -0.896880390637281640, -0.896902503175123430, -0.896924613470708950, +-0.896946721523982910, -0.896968827334890140, -0.896990930903375670, -0.897013032229383560, -0.897035131312858720, -0.897057228153746110, -0.897079322751990870, -0.897101415107536940, +-0.897123505220329460, -0.897145593090313160, -0.897167678717432860, -0.897189762101633480, -0.897211843242859630, -0.897233922141056130, -0.897255998796167910, -0.897278073208139570, +-0.897300145376916160, -0.897322215302442720, -0.897344282984663400, -0.897366348423523360, -0.897388411618967430, -0.897410472570940860, -0.897432531279387710, -0.897454587744253240, +-0.897476641965482380, -0.897498693943019840, -0.897520743676810560, -0.897542791166799470, -0.897564836412931280, -0.897586879415151140, -0.897608920173403770, -0.897630958687634100, +-0.897652994957787390, -0.897675028983807800, -0.897697060765640600, -0.897719090303230830, -0.897741117596523750, -0.897763142645463420, -0.897785165449995200, -0.897807186010064150, +-0.897829204325615080, -0.897851220396593040, -0.897873234222942850, -0.897895245804609670, -0.897917255141538420, -0.897939262233673930, -0.897961267080961360, -0.897983269683345520, +-0.898005270040772020, -0.898027268153184900, -0.898049264020529540, -0.898071257642751530, -0.898093249019794930, -0.898115238151605210, -0.898137225038127430, -0.898159209679306510, +-0.898181192075087620, -0.898203172225415790, -0.898225150130235960, -0.898247125789493280, -0.898269099203132800, -0.898291070371099560, -0.898313039293338610, -0.898335005969795540, +-0.898356970400414510, -0.898378932585141010, -0.898400892523920300, -0.898422850216697650, -0.898444805663417450, -0.898466758864025380, -0.898488709818466290, -0.898510658526685440, +-0.898532604988627970, -0.898554549204238940, -0.898576491173463610, -0.898598430896247020, -0.898620368372534340, -0.898642303602270820, -0.898664236585401840, -0.898686167321871900, +-0.898708095811626580, -0.898730022054610940, -0.898751946050770690, -0.898773867800050200, -0.898795787302395070, -0.898817704557750450, -0.898839619566061510, -0.898861532327273500, +-0.898883442841331810, -0.898905351108181370, -0.898927257127767660, -0.898949160900035740, -0.898971062424930860, -0.898992961702398840, -0.899014858732383960, -0.899036753514831920, +-0.899058646049687990, -0.899080536336897880, -0.899102424376406080, -0.899124310168158080, -0.899146193712099470, -0.899168075008175300, -0.899189954056330840, -0.899211830856511680, +-0.899233705408662880, -0.899255577712729790, -0.899277447768657700, -0.899299315576392090, -0.899321181135878560, -0.899343044447061590, -0.899364905509887120, -0.899386764324300310, +-0.899408620890247090, -0.899430475207671830, -0.899452327276520470, -0.899474177096738160, -0.899496024668270500, -0.899517869991062760, -0.899539713065060420, -0.899561553890208640, +-0.899583392466453140, -0.899605228793739050, -0.899627062872012000, -0.899648894701217120, -0.899670724281300570, -0.899692551612206740, -0.899714376693881430, -0.899736199526270370, +-0.899758020109319050, -0.899779838442972380, -0.899801654527176090, -0.899823468361875660, -0.899845279947016570, -0.899867089282544220, -0.899888896368404190, -0.899910701204541970, +-0.899932503790902950, -0.899954304127432710, -0.899976102214076650, -0.899997898050780790, -0.900019691637489740, -0.900041482974149430, -0.900063272060705470, -0.900085058897103660, +-0.900106843483288950, -0.900128625819207050, -0.900150405904803550, -0.900172183740024060, -0.900193959324814160, -0.900215732659119250, -0.900237503742885140, -0.900259272576057200, +-0.900281039158581040, -0.900302803490402370, -0.900324565571467010, -0.900346325401719880, -0.900368082981106930, -0.900389838309573750, -0.900411591387066500, -0.900433342213529660, +-0.900455090788909620, -0.900476837113151850, -0.900498581186201960, -0.900520323008005550, -0.900542062578508440, -0.900563799897656110, -0.900585534965394290, -0.900607267781668660, +-0.900628998346424850, -0.900650726659608880, -0.900672452721165810, -0.900694176531041560, -0.900715898089181840, -0.900737617395532820, -0.900759334450039310, -0.900781049252647460, +-0.900802761803302990, -0.900824472101951600, -0.900846180148539120, -0.900867885943011150, -0.900889589485313500, -0.900911290775391780, -0.900932989813191920, -0.900954686598659520, +-0.900976381131740390, -0.900998073412380810, -0.901019763440525590, -0.901041451216120890, -0.901063136739112650, -0.901084820009446900, -0.901106501027068800, -0.901128179791924390, +-0.901149856303959500, -0.901171530563120050, -0.901193202569351760, -0.901214872322600450, -0.901236539822811930, -0.901258205069932040, -0.901279868063906700, -0.901301528804681730, +-0.901323187292203180, -0.901344843526416420, -0.901366497507267490, -0.901388149234702340, -0.901409798708667110, -0.901431445929107070, -0.901453090895968480, -0.901474733609197050, +-0.901496374068738840, -0.901518012274539650, -0.901539648226545530, -0.901561281924702200, -0.901582913368955690, -0.901604542559251930, -0.901626169495536760, -0.901647794177756530, +-0.901669416605856530, -0.901691036779782910, -0.901712654699481810, -0.901734270364899280, -0.901755883775980820, -0.901777494932672560, -0.901799103834920680, -0.901820710482670980, +-0.901842314875869520, -0.901863917014462220, -0.901885516898395130, -0.901907114527614300, -0.901928709902065640, -0.901950303021695320, -0.901971893886449490, -0.901993482496273650, +-0.902015068851113930, -0.902036652950916730, -0.902058234795628190, -0.902079814385193690, -0.902101391719559610, -0.902122966798672100, -0.902144539622477200, -0.902166110190920970, +-0.902187678503949430, -0.902209244561508640, -0.902230808363544750, -0.902252369910003900, -0.902273929200832160, -0.902295486235975440, -0.902317041015380570, -0.902338593538992590, +-0.902360143806758220, -0.902381691818623820, -0.902403237574534780, -0.902424781074437690, -0.902446322318278590, -0.902467861306003760, -0.902489398037559230, -0.902510932512891160, +-0.902532464731945820, -0.902553994694669350, -0.902575522401007910, -0.902597047850907550, -0.902618571044314640, -0.902640091981175670, -0.902661610661436130, -0.902683127085042500, +-0.902704641251941160, -0.902726153162078490, -0.902747662815400090, -0.902769170211852550, -0.902790675351382020, -0.902812178233934890, -0.902833678859457310, -0.902855177227895430, +-0.902876673339195630, -0.902898167193304290, -0.902919658790167450, -0.902941148129731360, -0.902962635211942870, -0.902984120036747440, -0.903005602604091680, -0.903027082913921970, +-0.903048560966184800, -0.903070036760825980, -0.903091510297792000, -0.903112981577029240, -0.903134450598484070, -0.903155917362102770, -0.903177381867831700, -0.903198844115617130, +-0.903220304105405440, -0.903241761837143000, -0.903263217310776190, -0.903284670526251610, -0.903306121483515080, -0.903327570182513200, -0.903349016623192450, -0.903370460805499540, +-0.903391902729379970, -0.903413342394780770, -0.903434779801648210, -0.903456214949928670, -0.903477647839568520, -0.903499078470514360, -0.903520506842712460, -0.903541932956109290, +-0.903563356810651360, -0.903584778406284930, -0.903606197742956590, -0.903627614820613160, -0.903649029639200350, -0.903670442198664880, -0.903691852498953780, -0.903713260540012550, +-0.903734666321788230, -0.903756069844227290, -0.903777471107276130, -0.903798870110881340, -0.903820266854989280, -0.903841661339546580, -0.903863053564499810, -0.903884443529795360, +-0.903905831235379710, -0.903927216681199570, -0.903948599867201770, -0.903969980793332130, -0.903991359459537460, -0.904012735865764470, -0.904034110011959880, -0.904055481898069720, +-0.904076851524040940, -0.904098218889819890, -0.904119583995353420, -0.904140946840587880, -0.904162307425470100, -0.904183665749946460, -0.904205021813963670, -0.904226375617468330, +-0.904247727160407020, -0.904269076442726800, -0.904290423464373490, -0.904311768225294130, -0.904333110725435430, -0.904354450964744210, -0.904375788943166500, -0.904397124660649370, +-0.904418458117139500, -0.904439789312583400, -0.904461118246927760, -0.904482444920119420, -0.904503769332104970, -0.904525091482831000, -0.904546411372244450, -0.904567729000291700, +-0.904589044366920110, -0.904610357472075520, -0.904631668315705070, -0.904652976897755370, -0.904674283218173670, -0.904695587276905910, -0.904716889073899130, -0.904738188609100160, +-0.904759485882455690, -0.904780780893912450, -0.904802073643417360, -0.904823364130917020, -0.904844652356358360, -0.904865938319687980, -0.904887222020852810, -0.904908503459799560, +-0.904929782636475390, -0.904951059550826440, -0.904972334202799770, -0.904993606592342740, -0.905014876719401280, -0.905036144583922560, -0.905057410185853620, -0.905078673525141040, +-0.905099934601731770, -0.905121193415572730, -0.905142449966610640, -0.905163704254792530, -0.905184956280065120, -0.905206206042375230, -0.905227453541669890, -0.905248698777896380, +-0.905269941751000620, -0.905291182460929990, -0.905312420907631530, -0.905333657091052290, -0.905354891011138640, -0.905376122667837620, -0.905397352061096390, -0.905418579190861770, +-0.905439804057080690, -0.905461026659700070, -0.905482246998666970, -0.905503465073928200, -0.905524680885430700, -0.905545894433121610, -0.905567105716948100, -0.905588314736856410, +-0.905609521492794060, -0.905630725984707840, -0.905651928212545140, -0.905673128176252230, -0.905694325875776580, -0.905715521311065140, -0.905736714482064830, -0.905757905388722690, +-0.905779094030985890, -0.905800280408801230, -0.905821464522115980, -0.905842646370877080, -0.905863825955031450, -0.905885003274526810, -0.905906178329309090, -0.905927351119326100, +-0.905948521644524550, -0.905969689904852160, -0.905990855900255190, -0.906012019630681120, -0.906033181096076890, -0.906054340296389870, -0.906075497231566880, -0.906096651901555190, +-0.906117804306301840, -0.906138954445753990, -0.906160102319858660, -0.906181247928563250, -0.906202391271814570, -0.906223532349560320, -0.906244671161746900, -0.906265807708321880, +-0.906286941989232650, -0.906308074004425590, -0.906329203753848510, -0.906350331237448350, -0.906371456455172360, -0.906392579406967710, -0.906413700092781550, -0.906434818512561250, +-0.906455934666253850, -0.906477048553806620, -0.906498160175166820, -0.906519269530281610, -0.906540376619098590, -0.906561481441564230, -0.906582583997626150, -0.906603684287231700, +-0.906624782310328280, -0.906645878066862590, -0.906666971556782220, -0.906688062780034440, -0.906709151736566520, -0.906730238426325720, -0.906751322849259190, -0.906772405005314530, +-0.906793484894438780, -0.906814562516579330, -0.906835637871683420, -0.906856710959698780, -0.906877781780572100, -0.906898850334250880, -0.906919916620682610, -0.906940980639814880, +-0.906962042391594280, -0.906983101875968640, -0.907004159092885230, -0.907025214042291420, -0.907046266724134460, -0.907067317138361970, -0.907088365284921210, -0.907109411163759430, +-0.907130454774824240, -0.907151496118062780, -0.907172535193423110, -0.907193572000851600, -0.907214606540296180, -0.907235638811704330, -0.907256668815023650, -0.907277696550200960, +-0.907298722017184090, -0.907319745215920290, -0.907340766146357280, -0.907361784808442320, -0.907382801202122780, -0.907403815327346370, -0.907424827184060370, -0.907445836772212240, +-0.907466844091749600, -0.907487849142619820, -0.907508851924770820, -0.907529852438149320, -0.907550850682703140, -0.907571846658380200, -0.907592840365127330, -0.907613831802892350, +-0.907634820971622740, -0.907655807871266100, -0.907676792501770020, -0.907697774863081900, -0.907718754955149310, -0.907739732777919860, -0.907760708331341040, -0.907781681615360550, +-0.907802652629925770, -0.907823621374984730, -0.907844587850484270, -0.907865552056372320, -0.907886513992596570, -0.907907473659104850, -0.907928431055844090, -0.907949386182762330, +-0.907970339039806950, -0.907991289626925880, -0.908012237944066490, -0.908033183991176500, -0.908054127768203600, -0.908075069275095290, -0.908096008511799390, -0.908116945478263490, +-0.908137880174435530, -0.908158812600262540, -0.908179742755692470, -0.908200670640673110, -0.908221596255152420, -0.908242519599077420, -0.908263440672396060, -0.908284359475056040, +-0.908305276007005170, -0.908326190268191170, -0.908347102258561630, -0.908368011978064380, -0.908388919426647120, -0.908409824604257450, -0.908430727510843310, -0.908451628146352720, +-0.908472526510732630, -0.908493422603931290, -0.908514316425896420, -0.908535207976576050, -0.908556097255917350, -0.908576984263868350, -0.908597869000376870, -0.908618751465390840, +-0.908639631658857860, -0.908660509580725750, -0.908681385230942440, -0.908702258609455640, -0.908723129716213160, -0.908743998551162950, -0.908764865114252700, -0.908785729405430560, +-0.908806591424643820, -0.908827451171840610, -0.908848308646969080, -0.908869163849976510, -0.908890016780810940, -0.908910867439420400, -0.908931715825752610, -0.908952561939755600, +-0.908973405781377200, -0.908994247350565220, -0.909015086647267600, -0.909035923671432380, -0.909056758423007260, -0.909077590901940290, -0.909098421108179620, -0.909119249041672630, +-0.909140074702367570, -0.909160898090212170, -0.909181719205155000, -0.909202538047143130, -0.909223354616124910, -0.909244168912048290, -0.909264980934861300, -0.909285790684511760, +-0.909306598160947830, -0.909327403364117440, -0.909348206293968400, -0.909369006950448980, -0.909389805333507330, -0.909410601443090830, -0.909431395279147850, -0.909452186841626430, +-0.909472976130474400, -0.909493763145640010, -0.909514547887071530, -0.909535330354716450, -0.909556110548522920, -0.909576888468439090, -0.909597664114413120, -0.909618437486393040, +-0.909639208584326790, -0.909659977408162510, -0.909680743957848260, -0.909701508233332510, -0.909722270234562760, -0.909743029961487260, -0.909763787414054060, -0.909784542592211530, +-0.909805295495907610, -0.909826046125090880, -0.909846794479708620, -0.909867540559709310, -0.909888284365041210, -0.909909025895652370, -0.909929765151491040, -0.909950502132505280, +-0.909971236838643230, -0.909991969269853040, -0.910012699426082980, -0.910033427307281540, -0.910054152913396200, -0.910074876244375440, -0.910095597300167420, -0.910116316080720520, +-0.910137032585983220, -0.910157746815902890, -0.910178458770428130, -0.910199168449507320, -0.910219875853088610, -0.910240580981120150, -0.910261283833550320, -0.910281984410327150, +-0.910302682711399140, -0.910323378736714320, -0.910344072486221510, -0.910364763959868100, -0.910385453157602890, -0.910406140079373930, -0.910426824725129590, -0.910447507094818250, +-0.910468187188388510, -0.910488865005787960, -0.910509540546965200, -0.910530213811868610, -0.910550884800446550, -0.910571553512647180, -0.910592219948418990, -0.910612884107710130, +-0.910633545990469200, -0.910654205596644670, -0.910674862926184380, -0.910695517979036810, -0.910716170755150540, -0.910736821254473750, -0.910757469476955020, -0.910778115422542940, +-0.910798759091185130, -0.910819400482830500, -0.910840039597427430, -0.910860676434924190, -0.910881310995269140, -0.910901943278411010, -0.910922573284297930, -0.910943201012878400, +-0.910963826464101230, -0.910984449637914250, -0.911005070534266050, -0.911025689153105110, -0.911046305494380040, -0.911066919558039200, -0.911087531344031420, -0.911108140852304400, +-0.911128748082807080, -0.911149353035487830, -0.911169955710295240, -0.911190556107177810, -0.911211154226084010, -0.911231750066962220, -0.911252343629761040, -0.911272934914429070, +-0.911293523920915120, -0.911314110649167010, -0.911334695099133670, -0.911355277270763490, -0.911375857164005150, -0.911396434778807500, -0.911417010115118440, -0.911437583172886920, +-0.911458153952061310, -0.911478722452590430, -0.911499288674422650, -0.911519852617506680, -0.911540414281791110, -0.911560973667224550, -0.911581530773755480, -0.911602085601332930, +-0.911622638149904850, -0.911643188419420160, -0.911663736409827450, -0.911684282121075440, -0.911704825553112720, -0.911725366705888330, -0.911745905579350200, -0.911766442173447270, +-0.911786976488128120, -0.911807508523341690, -0.911828038279036360, -0.911848565755161040, -0.911869090951664240, -0.911889613868494760, -0.911910134505601540, -0.911930652862932730, +-0.911951168940437150, -0.911971682738063730, -0.911992194255761170, -0.912012703493477960, -0.912033210451163480, -0.912053715128765650, -0.912074217526233410, -0.912094717643515680, +-0.912115215480561180, -0.912135711037318610, -0.912156204313736780, -0.912176695309764420, -0.912197184025350330, -0.912217670460443660, -0.912238154614992360, -0.912258636488945780, +-0.912279116082252540, -0.912299593394861550, -0.912320068426721640, -0.912340541177781850, -0.912361011647990330, -0.912381479837296340, -0.912401945745648590, -0.912422409372996010, +-0.912442870719287420, -0.912463329784471530, -0.912483786568497490, -0.912504241071313890, -0.912524693292869670, -0.912545143233114200, -0.912565590891995400, -0.912586036269462660, +-0.912606479365464800, -0.912626920179950730, -0.912647358712869840, -0.912667794964170050, -0.912688228933800860, -0.912708660621711080, -0.912729090027849630, -0.912749517152165460, +-0.912769941994607480, -0.912790364555124630, -0.912810784833665960, -0.912831202830180270, -0.912851618544616940, -0.912872031976924240, -0.912892443127051310, -0.912912851994947430, +-0.912933258580561400, -0.912953662883842500, -0.912974064904739200, -0.912994464643200660, -0.913014862099176040, -0.913035257272614140, -0.913055650163464130, -0.913076040771675030, +-0.913096429097195910, -0.913116815139975560, -0.913137198899963250, -0.913157580377108370, -0.913177959571359050, -0.913198336482664910, -0.913218711110974860, -0.913239083456238170, +-0.913259453518403650, -0.913279821297420910, -0.913300186793238210, -0.913320550005805030, -0.913340910935070530, -0.913361269580983740, -0.913381625943493810, -0.913401980022549800, +-0.913422331818100840, -0.913442681330095980, -0.913463028558484820, -0.913483373503215730, -0.913503716164238200, -0.913524056541501480, -0.913544394634954520, -0.913564730444546560, +-0.913585063970227210, -0.913605395211944730, -0.913625724169648820, -0.913646050843288650, -0.913666375232813240, -0.913686697338171980, -0.913707017159314020, -0.913727334696188390, +-0.913747649948744580, -0.913767962916931850, -0.913788273600698920, -0.913808581999995370, -0.913828888114770250, -0.913849191944972940, -0.913869493490552690, -0.913889792751459100, +-0.913910089727640540, -0.913930384419046840, -0.913950676825627250, -0.913970966947330820, -0.913991254784107030, -0.914011540335905150, -0.914031823602674430, -0.914052104584364030, +-0.914072383280923550, -0.914092659692302360, -0.914112933818449160, -0.914133205659313660, -0.914153475214845020, -0.914173742484992840, -0.914194007469706580, -0.914214270168935080, +-0.914234530582627710, -0.914254788710734180, -0.914275044553203630, -0.914295298109985440, -0.914315549381028990, -0.914335798366283650, -0.914356045065698900, -0.914376289479224000, +-0.914396531606808670, -0.914416771448401720, -0.914437009003952860, -0.914457244273411460, -0.914477477256727010, -0.914497707953848770, -0.914517936364726670, -0.914538162489309300, +-0.914558386327546600, -0.914578607879387940, -0.914598827144782690, -0.914619044123680450, -0.914639258816030480, -0.914659471221782480, -0.914679681340885730, -0.914699889173290260, +-0.914720094718944550, -0.914740297977798660, -0.914760498949802050, -0.914780697634904220, -0.914800894033054650, -0.914821088144203150, -0.914841279968298560, -0.914861469505290790, +-0.914881656755129340, -0.914901841717763790, -0.914922024393143630, -0.914942204781218350, -0.914962382881937650, -0.914982558695250910, -0.915002732221108170, -0.915022903459458250, +-0.915043072410251070, -0.915063239073436120, -0.915083403448963220, -0.915103565536781740, -0.915123725336841720, -0.915143882849091980, -0.915164038073482570, -0.915184191009963070, +-0.915204341658483080, -0.915224490018992200, -0.915244636091440130, -0.915264779875776480, -0.915284921371950940, -0.915305060579913010, -0.915325197499612830, -0.915345332130999220, +-0.915365464474022340, -0.915385594528631770, -0.915405722294777350, -0.915425847772408870, -0.915445970961475400, -0.915466091861926960, -0.915486210473713370, -0.915506326796784230, +-0.915526440831089360, -0.915546552576578240, -0.915566662033200810, -0.915586769200906760, -0.915606874079645690, -0.915626976669367880, -0.915647076970022230, -0.915667174981558920, +-0.915687270703927750, -0.915707364137078210, -0.915727455280960450, -0.915747544135524280, -0.915767630700718980, -0.915787714976494470, -0.915807796962800790, -0.915827876659587650, +-0.915847954066804750, -0.915868029184401910, -0.915888102012329060, -0.915908172550535920, -0.915928240798972840, -0.915948306757588650, -0.915968370426333720, -0.915988431805157880, +-0.916008490894011040, -0.916028547692842920, -0.916048602201603780, -0.916068654420242770, -0.916088704348710040, -0.916108751986955740, -0.916128797334929360, -0.916148840392581150, +-0.916168881159860730, -0.916188919636718110, -0.916208955823103240, -0.916228989718966380, -0.916249021324256670, -0.916269050638924390, -0.916289077662919450, -0.916309102396191790, +-0.916329124838691440, -0.916349144990368570, -0.916369162851172540, -0.916389178421053610, -0.916409191699961710, -0.916429202687846890, -0.916449211384658960, -0.916469217790348070, +-0.916489221904864150, -0.916509223728157130, -0.916529223260177050, -0.916549220500874280, -0.916569215450198090, -0.916589208108098850, -0.916609198474526710, -0.916629186549431480, +-0.916649172332763660, -0.916669155824472500, -0.916689137024508490, -0.916709115932821560, -0.916729092549361970, -0.916749066874079640, -0.916769038906924520, -0.916789008647846960, +-0.916808976096796790, -0.916828941253724160, -0.916848904118579560, -0.916868864691312350, -0.916888822971873020, -0.916908778960211500, -0.916928732656278170, -0.916948684060022940, +-0.916968633171396430, -0.916988579990347890, -0.917008524516827910, -0.917028466750786640, -0.917048406692174240, -0.917068344340940870, -0.917088279697036550, -0.917108212760411550, +-0.917128143531016020, -0.917148072008800440, -0.917167998193714420, -0.917187922085708320, -0.917207843684732400, -0.917227762990736940, -0.917247680003672070, -0.917267594723488290, +-0.917287507150135300, -0.917307417283563460, -0.917327325123723060, -0.917347230670564340, -0.917367133924037570, -0.917387034884093010, -0.917406933550680810, -0.917426829923751240, +-0.917446724003255000, -0.917466615789141570, -0.917486505281361660, -0.917506392479865430, -0.917526277384603240, -0.917546159995525360, -0.917566040312582490, -0.917585918335724000, +-0.917605794064900840, -0.917625667500063250, -0.917645538641161380, -0.917665407488145730, -0.917685274040966450, -0.917705138299574120, -0.917725000263918900, -0.917744859933951160, +-0.917764717309621610, -0.917784572390879960, -0.917804425177676910, -0.917824275669962720, -0.917844123867687880, -0.917863969770803090, -0.917883813379257950, -0.917903654693003390, +-0.917923493711989560, -0.917943330436167160, -0.917963164865486240, -0.917982996999897600, -0.918002826839351300, -0.918022654383798040, -0.918042479633188190, -0.918062302587472350, +-0.918082123246600550, -0.918101941610523280, -0.918121757679191350, -0.918141571452554820, -0.918161382930564480, -0.918181192113171060, -0.918200999000324260, -0.918220803591975000, +-0.918240605888073660, -0.918260405888570830, -0.918280203593417000, -0.918299999002562650, -0.918319792115958380, -0.918339582933554550, -0.918359371455302110, -0.918379157681150970, +-0.918398941611051840, -0.918418723244955440, -0.918438502582812120, -0.918458279624572600, -0.918478054370187810, -0.918497826819607450, -0.918517596972782570, -0.918537364829663640, +-0.918557130390201370, -0.918576893654346140, -0.918596654622048760, -0.918616413293259830, -0.918636169667929710, -0.918655923746009680, -0.918675675527449330, -0.918695425012199920, +-0.918715172200211930, -0.918734917091435950, -0.918754659685822710, -0.918774399983323110, -0.918794137983887320, -0.918813873687466030, -0.918833607094010070, -0.918853338203470150, +-0.918873067015796850, -0.918892793530940890, -0.918912517748852960, -0.918932239669483790, -0.918951959292783950, -0.918971676618704600, -0.918991391647195680, -0.919011104378208210, +-0.919030814811693130, -0.919050522947600920, -0.919070228785882740, -0.919089932326488720, -0.919109633569369810, -0.919129332514476820, -0.919149029161760440, -0.919168723511171630, +-0.919188415562660950, -0.919208105316179140, -0.919227792771677210, -0.919247477929105660, -0.919267160788415860, -0.919286841349557850, -0.919306519612482660, -0.919326195577141130, +-0.919345869243484160, -0.919365540611462580, -0.919385209681027440, -0.919404876452128870, -0.919424540924718260, -0.919444203098746190, -0.919463862974163600, -0.919483520550921420, +-0.919503175828970340, -0.919522828808261420, -0.919542479488745350, -0.919562127870373500, -0.919581773953095930, -0.919601417736863990, -0.919621059221628400, -0.919640698407340310, +-0.919660335293950300, -0.919679969881409990, -0.919699602169669280, -0.919719232158679570, -0.919738859848391770, -0.919758485238756920, -0.919778108329725730, -0.919797729121249350, +-0.919817347613278710, -0.919836963805764520, -0.919856577698658470, -0.919876189291910510, -0.919895798585472100, -0.919915405579294190, -0.919935010273327690, -0.919954612667523760, +-0.919974212761833670, -0.919993810556207660, -0.920013406050597120, -0.920032999244953080, -0.920052590139226470, -0.920072178733368440, -0.920091765027330030, -0.920111349021062170, +-0.920130930714515900, -0.920150510107642260, -0.920170087200392840, -0.920189661992717680, -0.920209234484568480, -0.920228804675896180, -0.920248372566651820, -0.920267938156786980, +-0.920287501446251820, -0.920307062434998050, -0.920326621122976470, -0.920346177510138470, -0.920365731596434870, -0.920385283381817130, -0.920404832866236090, -0.920424380049642890, +-0.920443924931988900, -0.920463467513225280, -0.920483007793302720, -0.920502545772172720, -0.920522081449786310, -0.920541614826094650, -0.920561145901048980, -0.920580674674600810, +-0.920600201146700490, -0.920619725317299850, -0.920639247186349710, -0.920658766753801650, -0.920678284019606500, -0.920697798983715730, -0.920717311646080510, -0.920736822006651860, +-0.920756330065381600, -0.920775835822220220, -0.920795339277119210, -0.920814840430029810, -0.920834339280903300, -0.920853835829691050, -0.920873330076344420, -0.920892822020814240, +-0.920912311663051870, -0.920931799003008810, -0.920951284040636310, -0.920970766775885520, -0.920990247208707810, -0.921009725339054450, -0.921029201166876810, -0.921048674692126590, +-0.921068145914754280, -0.921087614834711580, -0.921107081451949860, -0.921126545766420500, -0.921146007778074650, -0.921165467486864230, -0.921184924892739730, -0.921204379995652970, +-0.921223832795555200, -0.921243283292397910, -0.921262731486132360, -0.921282177376710030, -0.921301620964082300, -0.921321062248200430, -0.921340501229015900, -0.921359937906480520, +-0.921379372280544890, -0.921398804351160950, -0.921418234118279940, -0.921437661581853250, -0.921457086741832800, -0.921476509598169400, -0.921495930150814550, -0.921515348399720050, +-0.921534764344837050, -0.921554177986117160, -0.921573589323511850, -0.921592998356972610, -0.921612405086450810, -0.921631809511898050, -0.921651211633266020, -0.921670611450505660, +-0.921690008963568790, -0.921709404172406880, -0.921728797076971530, -0.921748187677214110, -0.921767575973086560, -0.921786961964539800, -0.921806345651525530, -0.921825727033995460, +-0.921845106111901070, -0.921864482885193960, -0.921883857353825610, -0.921903229517747610, -0.921922599376911460, -0.921941966931269290, -0.921961332180771810, -0.921980695125370950, +-0.922000055765018420, -0.922019414099665700, -0.922038770129264500, -0.922058123853766620, -0.922077475273123230, -0.922096824387286020, -0.922116171196206810, -0.922135515699837200, +-0.922154857898128680, -0.922174197791033160, -0.922193535378502130, -0.922212870660487180, -0.922232203636940470, -0.922251534307812810, -0.922270862673056360, -0.922290188732622810, +-0.922309512486463760, -0.922328833934530910, -0.922348153076776310, -0.922367469913150990, -0.922386784443607110, -0.922406096668096140, -0.922425406586569910, -0.922444714198980220, +-0.922464019505278790, -0.922483322505417200, -0.922502623199347390, -0.922521921587021070, -0.922541217668390150, -0.922560511443405900, -0.922579802912020460, -0.922599092074185330, +-0.922618378929852660, -0.922637663478974250, -0.922656945721501360, -0.922676225657386160, -0.922695503286580450, -0.922714778609035840, -0.922734051624704340, -0.922753322333537800, +-0.922772590735487790, -0.922791856830506460, -0.922811120618545420, -0.922830382099556920, -0.922849641273492120, -0.922868898140303150, -0.922888152699942070, -0.922907404952360570, +-0.922926654897510470, -0.922945902535344140, -0.922965147865812740, -0.922984390888868410, -0.923003631604463080, -0.923022870012548790, -0.923042106113077240, -0.923061339906000480, +-0.923080571391270310, -0.923099800568838780, -0.923119027438658040, -0.923138252000679340, -0.923157474254855060, -0.923176694201137130, -0.923195911839477470, -0.923215127169828010, +-0.923234340192141010, -0.923253550906367850, -0.923272759312460890, -0.923291965410371950, -0.923311169200053180, -0.923330370681456400, -0.923349569854533760, -0.923368766719237070, +-0.923387961275518590, -0.923407153523330470, -0.923426343462624200, -0.923445531093352030, -0.923464716415466010, -0.923483899428918290, -0.923503080133660780, -0.923522258529645870, +-0.923541434616825030, -0.923560608395150530, -0.923579779864574620, -0.923598949025049130, -0.923618115876526310, -0.923637280418958320, -0.923656442652296960, -0.923675602576494610, +-0.923694760191503210, -0.923713915497275220, -0.923733068493762130, -0.923752219180916430, -0.923771367558690050, -0.923790513627035350, -0.923809657385904700, -0.923828798835249490, +-0.923847937975022400, -0.923867074805175380, -0.923886209325660680, -0.923905341536430560, -0.923924471437436940, -0.923943599028632210, -0.923962724309968510, -0.923981847281397980, +-0.924000967942873120, -0.924020086294345510, -0.924039202335767750, -0.924058316067091990, -0.924077427488270380, -0.924096536599255500, -0.924115643399999080, -0.924134747890453470, +-0.924153850070570940, -0.924172949940303860, -0.924192047499604370, -0.924211142748424860, -0.924230235686717360, -0.924249326314434350, -0.924268414631527980, -0.924287500637950950, +-0.924306584333654760, -0.924325665718592200, -0.924344744792715440, -0.924363821555976850, -0.924382896008328570, -0.924401968149723530, -0.924421037980113210, -0.924440105499450330, +-0.924459170707687020, -0.924478233604775990, -0.924497294190669280, -0.924516352465319270, -0.924535408428678540, -0.924554462080699140, -0.924573513421333980, -0.924592562450534670, +-0.924611609168254020, -0.924630653574444290, -0.924649695669057970, -0.924668735452047420, -0.924687772923365350, -0.924706808082963460, -0.924725840930794570, -0.924744871466811170, +-0.924763899690965510, -0.924782925603210070, -0.924801949203497340, -0.924820970491779800, -0.924839989468009720, -0.924859006132139780, -0.924878020484122600, -0.924897032523910090, +-0.924916042251454960, -0.924935049666709700, -0.924954054769626890, -0.924973057560159240, -0.924992058038258570, -0.925011056203877800, -0.925030052056969310, -0.925049045597485800, +-0.925068036825379640, -0.925087025740603420, -0.925106012343109520, -0.925124996632850750, -0.925143978609779370, -0.925162958273848420, -0.925181935625009720, -0.925200910663216190, +-0.925219883388420430, -0.925238853800574910, -0.925257821899632570, -0.925276787685545440, -0.925295751158266230, -0.925314712317747650, -0.925333671163942380, -0.925352627696802930, +-0.925371581916281770, -0.925390533822331830, -0.925409483414905480, -0.925428430693955310, -0.925447375659434580, -0.925466318311295000, -0.925485258649489610, -0.925504196673971100, +-0.925523132384692080, -0.925542065781605250, -0.925560996864663530, -0.925579925633819080, -0.925598852089024700, -0.925617776230233340, -0.925636698057397460, -0.925655617570469770, +-0.925674534769403090, -0.925693449654150120, -0.925712362224663470, -0.925731272480896260, -0.925750180422800550, -0.925769086050329370, -0.925787989363435540, -0.925806890362071640, +-0.925825789046190620, -0.925844685415745380, -0.925863579470688090, -0.925882471210971890, -0.925901360636549490, -0.925920247747373690, -0.925939132543397330, -0.925958015024573090, +-0.925976895190853800, -0.925995773042192270, -0.926014648578541650, -0.926033521799854100, -0.926052392706082750, -0.926071261297180430, -0.926090127573099830, -0.926108991533794110, +-0.926127853179216090, -0.926146712509318130, -0.926165569524053380, -0.926184424223374770, -0.926203276607235120, -0.926222126675587230, -0.926240974428383930, -0.926259819865578370, +-0.926278662987123140, -0.926297503792971270, -0.926316342283076020, -0.926335178457389550, -0.926354012315865120, -0.926372843858455750, -0.926391673085114160, -0.926410499995793830, +-0.926429324590446800, -0.926448146869026550, -0.926466966831485880, -0.926485784477777740, -0.926504599807855270, -0.926523412821671170, -0.926542223519178700, -0.926561031900330570, +-0.926579837965079810, -0.926598641713379800, -0.926617443145182910, -0.926636242260442500, -0.926655039059111290, -0.926673833541142630, -0.926692625706489360, -0.926711415555104830, +-0.926730203086941430, -0.926748988301952510, -0.926767771200091130, -0.926786551781310310, -0.926805330045563200, -0.926824105992802630, -0.926842879622981840, -0.926861650936053880, +-0.926880419931972120, -0.926899186610689040, -0.926917950972157900, -0.926936713016331960, -0.926955472743164140, -0.926974230152607710, -0.926992985244616040, -0.927011738019141500, +-0.927030488476137670, -0.927049236615557600, -0.927067982437354440, -0.927086725941481340, -0.927105467127891440, -0.927124205996537890, -0.927142942547373840, -0.927161676780352660, +-0.927180408695427060, -0.927199138292550410, -0.927217865571675850, -0.927236590532756640, -0.927255313175746050, -0.927274033500597450, -0.927292751507263420, -0.927311467195697570, +-0.927330180565852920, -0.927348891617682970, -0.927367600351140740, -0.927386306766179500, -0.927405010862752510, -0.927423712640812910, -0.927442412100314080, -0.927461109241209610, +-0.927479804063451980, -0.927498496566994790, -0.927517186751791510, -0.927535874617795190, -0.927554560164959520, -0.927573243393236990, -0.927591924302581530, -0.927610602892946170, +-0.927629279164284280, -0.927647953116549240, -0.927666624749694300, -0.927685294063672840, -0.927703961058438110, -0.927722625733943480, -0.927741288090142670, -0.927759948126988250, +-0.927778605844433950, -0.927797261242433220, -0.927815914320939240, -0.927834565079905470, -0.927853213519285740, -0.927871859639032510, -0.927890503439099730, -0.927909144919440650, +-0.927927784080008640, -0.927946420920757300, -0.927965055441639870, -0.927983687642609740, -0.928002317523620390, -0.928020945084625630, -0.928039570325578160, -0.928058193246431800, +-0.928076813847139910, -0.928095432127655990, -0.928114048087933520, -0.928132661727926300, -0.928151273047587040, -0.928169882046869570, -0.928188488725727460, -0.928207093084113980, +-0.928225695121982940, -0.928244294839287610, -0.928262892235981460, -0.928281487312018210, -0.928300080067351540, -0.928318670501934280, -0.928337258615720360, -0.928355844408663370, +-0.928374427880716670, -0.928393009031833970, -0.928411587861969090, -0.928430164371074840, -0.928448738559105150, -0.928467310426013710, -0.928485879971754020, -0.928504447196279560, +-0.928523012099544020, -0.928541574681500890, -0.928560134942103880, -0.928578692881306460, -0.928597248499062670, -0.928615801795325440, -0.928634352770048800, -0.928652901423186130, +-0.928671447754691240, -0.928689991764518160, -0.928708533452619720, -0.928727072818949950, -0.928745609863462440, -0.928764144586110900, -0.928782676986849020, -0.928801207065630520, +-0.928819734822408980, -0.928838260257138000, -0.928856783369771510, -0.928875304160263320, -0.928893822628566570, -0.928912338774635190, -0.928930852598423010, -0.928949364099883710, +-0.928967873278971010, -0.928986380135638940, -0.929004884669840660, -0.929023386881530080, -0.929041886770661020, -0.929060384337187290, -0.929078879581062610, -0.929097372502240670, +-0.929115863100675400, -0.929134351376320390, -0.929152837329129790, -0.929171320959056860, -0.929189802266055630, -0.929208281250079820, -0.929226757911083330, -0.929245232249020000, +-0.929263704263843860, -0.929282173955508160, -0.929300641323967060, -0.929319106369174360, -0.929337569091083780, -0.929356029489649350, -0.929374487564824880, -0.929392943316564190, +-0.929411396744821090, -0.929429847849549850, -0.929448296630703720, -0.929466743088236740, -0.929485187222102940, -0.929503629032256140, -0.929522068518650380, -0.929540505681239690, +-0.929558940519977450, -0.929577373034817800, -0.929595803225714780, -0.929614231092622200, -0.929632656635494100, -0.929651079854284300, -0.929669500748946830, -0.929687919319435620, +-0.929706335565704590, -0.929724749487708110, -0.929743161085399340, -0.929761570358732750, -0.929779977307662150, -0.929798381932141700, -0.929816784232125550, -0.929835184207567170, +-0.929853581858420820, -0.929871977184640430, -0.929890370186180150, -0.929908760862994010, -0.929927149215035830, -0.929945535242259870, -0.929963918944620050, -0.929982300322070520, +-0.930000679374565430, -0.930019056102058370, -0.930037430504503710, -0.930055802581855500, -0.930074172334067640, -0.930092539761094520, -0.930110904862890280, -0.930129267639408400, +-0.930147628090603470, -0.930165986216429430, -0.930184342016840420, -0.930202695491790470, -0.930221046641233950, -0.930239395465124690, -0.930257741963416930, -0.930276086136065160, +-0.930294427983022980, -0.930312767504244520, -0.930331104699684270, -0.930349439569296280, -0.930367772113034670, -0.930386102330853950, -0.930404430222707580, -0.930422755788550160, +-0.930441079028335950, -0.930459399942018980, -0.930477718529553410, -0.930496034790893710, -0.930514348725993810, -0.930532660334808080, -0.930550969617291000, -0.930569276573396280, +-0.930587581203078270, -0.930605883506291250, -0.930624183482989590, -0.930642481133127530, -0.930660776456659570, -0.930679069453539290, -0.930697360123721280, -0.930715648467160040, +-0.930733934483809590, -0.930752218173624300, -0.930770499536558440, -0.930788778572566370, -0.930807055281602350, -0.930825329663620640, -0.930843601718575940, -0.930861871446421960, +-0.930880138847113290, -0.930898403920604300, -0.930916666666849250, -0.930934927085802940, -0.930953185177418870, -0.930971440941651960, -0.930989694378456360, -0.931007945487786540, +-0.931026194269596870, -0.931044440723841740, -0.931062684850475500, -0.931080926649452520, -0.931099166120727180, -0.931117403264254300, -0.931135638079987670, -0.931153870567881790, +-0.931172100727891360, -0.931190328559970640, -0.931208554064074100, -0.931226777240156460, -0.931244998088171520, -0.931263216608074210, -0.931281432799818790, -0.931299646663359740, +-0.931317858198651650, -0.931336067405648890, -0.931354274284305950, -0.931372478834577410, -0.931390681056417870, -0.931408880949781360, -0.931427078514622700, -0.931445273750896250, +-0.931463466658556620, -0.931481657237558380, -0.931499845487856360, -0.931518031409404370, -0.931536215002157220, -0.931554396266069620, -0.931572575201095930, -0.931590751807190980, +-0.931608926084309010, -0.931627098032404730, -0.931645267651432740, -0.931663434941347960, -0.931681599902104200, -0.931699762533656380, -0.931717922835959220, -0.931736080808967300, +-0.931754236452635110, -0.931772389766917670, -0.931790540751768930, -0.931808689407143900, -0.931826835732997070, -0.931844979729283150, -0.931863121395956840, -0.931881260732972730, +-0.931899397740285410, -0.931917532417849580, -0.931935664765620060, -0.931953794783551560, -0.931971922471598320, -0.931990047829715170, -0.932008170857857030, -0.932026291555978380, +-0.932044409924034370, -0.932062525961979030, -0.932080639669767290, -0.932098751047354070, -0.932116860094693860, -0.932134966811741570, -0.932153071198451810, -0.932171173254779490, +-0.932189272980679110, -0.932207370376105570, -0.932225465441013920, -0.932243558175358310, -0.932261648579093880, -0.932279736652175230, -0.932297822394557270, -0.932315905806194720, +-0.932333986887042830, -0.932352065637055530, -0.932370142056188070, -0.932388216144395380, -0.932406287901632050, -0.932424357327853000, -0.932442424423013060, -0.932460489187067140, +-0.932478551619969950, -0.932496611721676640, -0.932514669492141570, -0.932532724931319780, -0.932550778039166190, -0.932568828815635630, -0.932586877260683010, -0.932604923374263480, +-0.932622967156331420, -0.932641008606841850, -0.932659047725749810, -0.932677084513010120, -0.932695118968577710, -0.932713151092407600, -0.932731180884454500, -0.932749208344673560, +-0.932767233473019820, -0.932785256269447640, -0.932803276733912390, -0.932821294866369000, -0.932839310666772280, -0.932857324135077380, -0.932875335271239450, -0.932893344075212850, +-0.932911350546952840, -0.932929354686414470, -0.932947356493552760, -0.932965355968322640, -0.932983353110679150, -0.933001347920577320, -0.933019340397972070, -0.933037330542818450, +-0.933055318355071830, -0.933073303834686560, -0.933091286981618140, -0.933109267795821370, -0.933127246277251520, -0.933145222425863840, -0.933163196241612810, -0.933181167724453810, +-0.933199136874341860, -0.933217103691232010, -0.933235068175079510, -0.933253030325839280, -0.933270990143466480, -0.933288947627916140, -0.933306902779143520, -0.933324855597103990, +-0.933342806081751910, -0.933360754233042880, -0.933378700050931930, -0.933396643535374220, -0.933414584686324990, -0.933432523503739510, -0.933450459987572480, -0.933468394137779270, +-0.933486325954315020, -0.933504255437135000, -0.933522182586194350, -0.933540107401448220, -0.933558029882851860, -0.933575950030360420, -0.933593867843929390, -0.933611783323513470, +-0.933629696469068020, -0.933647607280548300, -0.933665515757909570, -0.933683421901107090, -0.933701325710096340, -0.933719227184832020, -0.933737126325269510, -0.933755023131364270, +-0.933772917603071460, -0.933790809740346450, -0.933808699543144270, -0.933826587011420410, -0.933844472145130110, -0.933862354944228870, -0.933880235408671490, -0.933898113538413450, +-0.933915989333410130, -0.933933862793616900, -0.933951733918989000, -0.933969602709482150, -0.933987469165050820, -0.934005333285650940, -0.934023195071237660, -0.934041054521766450, +-0.934058911637192570, -0.934076766417471390, -0.934094618862558290, -0.934112468972408740, -0.934130316746977880, -0.934148162186221650, -0.934166005290094640, -0.934183846058552650, +-0.934201684491551050, -0.934219520589045230, -0.934237354350990980, -0.934255185777342900, -0.934273014868056920, -0.934290841623088510, -0.934308666042392820, -0.934326488125925560, +-0.934344307873642090, -0.934362125285497780, -0.934379940361448220, -0.934397753101448790, -0.934415563505455290, -0.934433371573422540, -0.934451177305306470, -0.934468980701062320, +-0.934486781760645810, -0.934504580484012300, -0.934522376871117610, -0.934540170921916770, -0.934557962636365480, -0.934575752014419230, -0.934593539056033600, -0.934611323761164180, +-0.934629106129766460, -0.934646886161795920, -0.934664663857208140, -0.934682439215959060, -0.934700212238003590, -0.934717982923297550, -0.934735751271796640, -0.934753517283456240, +-0.934771280958232030, -0.934789042296080060, -0.934806801296955040, -0.934824557960813100, -0.934842312287609720, -0.934860064277300620, -0.934877813929841370, -0.934895561245187470, +-0.934913306223294830, -0.934931048864118820, -0.934948789167615480, -0.934966527133739840, -0.934984262762447950, -0.935001996053695380, -0.935019727007437850, -0.935037455623630940, +-0.935055181902230800, -0.935072905843192360, -0.935090627446471530, -0.935108346712024250, -0.935126063639806100, -0.935143778229772790, -0.935161490481880020, -0.935179200396083490, +-0.935196907972339010, -0.935214613210602290, -0.935232316110829240, -0.935250016672975250, -0.935267714896996120, -0.935285410782847660, -0.935303104330485690, -0.935320795539866360, +-0.935338484410944690, -0.935356170943676730, -0.935373855138018410, -0.935391536993925520, -0.935409216511353670, -0.935426893690258780, -0.935444568530596770, -0.935462241032323230, +-0.935479911195394090, -0.935497579019765600, -0.935515244505392700, -0.935532907652231850, -0.935550568460238540, -0.935568226929368920, -0.935585883059579130, -0.935603536850824200, +-0.935621188303060400, -0.935638837416243760, -0.935656484190329870, -0.935674128625274880, -0.935691770721034600, -0.935709410477564840, -0.935727047894821530, -0.935744682972760590, +-0.935762315711338280, -0.935779946110509850, -0.935797574170231570, -0.935815199890459470, -0.935832823271149250, -0.935850444312256950, -0.935868063013738930, -0.935885679375550340, +-0.935903293397647660, -0.935920905079986710, -0.935938514422523400, -0.935956121425214000, -0.935973726088014100, -0.935991328410880060, -0.936008928393767590, -0.936026526036633170, +-0.936044121339432040, -0.936061714302120600, -0.936079304924654960, -0.936096893206991080, -0.936114479149084850, -0.936132062750892890, -0.936149644012370330, -0.936167222933473650, +-0.936184799514159010, -0.936202373754382310, -0.936219945654099720, -0.936237515213267260, -0.936255082431840970, -0.936272647309777000, -0.936290209847031710, -0.936307770043560580, +-0.936325327899320100, -0.936342883414266190, -0.936360436588355110, -0.936377987421542990, -0.936395535913786210, -0.936413082065040260, -0.936430625875261490, -0.936448167344406280, +-0.936465706472430660, -0.936483243259290780, -0.936500777704942670, -0.936518309809342700, -0.936535839572447020, -0.936553366994211660, -0.936570892074593210, -0.936588414813547270, +-0.936605935211030190, -0.936623453266998360, -0.936640968981407810, -0.936658482354215230, -0.936675993385376100, -0.936693502074847030, -0.936711008422584150, -0.936728512428543820, +-0.936746014092682100, -0.936763513414955450, -0.936781010395319910, -0.936798505033731970, -0.936815997330147640, -0.936833487284523760, -0.936850974896815790, -0.936868460166980330, +-0.936885943094973750, -0.936903423680752300, -0.936920901924272350, -0.936938377825490500, -0.936955851384362330, -0.936973322600844430, -0.936990791474893390, -0.937008258006465260, +-0.937025722195516500, -0.937043184042003490, -0.937060643545882480, -0.937078100707109840, -0.937095555525642390, -0.937113008001435600, -0.937130458134446290, -0.937147905924630930, +-0.937165351371945790, -0.937182794476347230, -0.937200235237791950, -0.937217673656235870, -0.937235109731635490, -0.937252543463947490, -0.937269974853128020, -0.937287403899133560, +-0.937304830601920710, -0.937322254961445720, -0.937339676977665180, -0.937357096650535680, -0.937374513980013150, -0.937391928966054390, -0.937409341608615660, -0.937426751907653680, +-0.937444159863124790, -0.937461565474985830, -0.937478968743192700, -0.937496369667702110, -0.937513768248470550, -0.937531164485454590, -0.937548558378610730, -0.937565949927895440, +-0.937583339133265300, -0.937600725994676810, -0.937618110512086540, -0.937635492685451320, -0.937652872514727060, -0.937670249999870480, -0.937687625140838370, -0.937704997937587210, +-0.937722368390073950, -0.937739736498254260, -0.937757102262085420, -0.937774465681523670, -0.937791826756525840, -0.937809185487048500, -0.937826541873048150, -0.937843895914481360, +-0.937861247611304850, -0.937878596963475310, -0.937895943970949550, -0.937913288633683620, -0.937930630951634430, -0.937947970924758680, -0.937965308553013080, -0.937982643836354100, +-0.937999976774738900, -0.938017307368123390, -0.938034635616464720, -0.938051961519719370, -0.938069285077844040, -0.938086606290795650, -0.938103925158530690, -0.938121241681005860, +-0.938138555858177960, -0.938155867690004030, -0.938173177176440110, -0.938190484317443230, -0.938207789112970090, -0.938225091562977510, -0.938242391667422290, -0.938259689426261260, +-0.938276984839450770, -0.938294277906947860, -0.938311568628709130, -0.938328857004691600, -0.938346143034851870, -0.938363426719146850, -0.938380708057533150, -0.938397987049967800, +-0.938415263696407710, -0.938432537996809150, -0.938449809951129250, -0.938467079559324850, -0.938484346821352730, -0.938501611737169840, -0.938518874306733090, -0.938536134529998960, +-0.938553392406924370, -0.938570647937466360, -0.938587901121581750, -0.938605151959227450, -0.938622400450360160, -0.938639646594936930, -0.938656890392914560, -0.938674131844249970, +-0.938691370948900320, -0.938708607706821960, -0.938725842117972160, -0.938743074182307620, -0.938760303899785490, -0.938777531270362900, -0.938794756293996110, -0.938811978970642500, +-0.938829199300258880, -0.938846417282802380, -0.938863632918229720, -0.938880846206498030, -0.938898057147564140, -0.938915265741385170, -0.938932471987918070, -0.938949675887120080, +-0.938966877438947580, -0.938984076643357920, -0.939001273500308040, -0.939018468009754970, -0.939035660171655740, -0.939052849985967720, -0.939070037452647170, -0.939087222571651560, +-0.939104405342937930, -0.939121585766463210, -0.939138763842184640, -0.939155939570059050, -0.939173112950043690, -0.939190283982095480, -0.939207452666171890, -0.939224619002229420, +-0.939241782990225320, -0.939258944630116830, -0.939276103921861010, -0.939293260865414870, -0.939310415460735900, -0.939327567707780590, -0.939344717606506290, -0.939361865156870260, +-0.939379010358829540, -0.939396153212341380, -0.939413293717362710, -0.939430431873850890, -0.939447567681762960, -0.939464701141056400, -0.939481832251687800, -0.939498961013614630, +-0.939516087426794040, -0.939533211491183300, -0.939550333206739420, -0.939567452573420110, -0.939584569591181860, -0.939601684259982140, -0.939618796579778200, -0.939635906550527310, +-0.939653014172186610, -0.939670119444713460, -0.939687222368064900, -0.939704322942198300, -0.939721421167071020, -0.939738517042640330, -0.939755610568863140, -0.939772701745696940, +-0.939789790573098860, -0.939806877051026390, -0.939823961179437120, -0.939841042958287520, -0.939858122387535300, -0.939875199467137820, -0.939892274197052350, -0.939909346577236240, +-0.939926416607646640, -0.939943484288241150, -0.939960549618976900, -0.939977612599811160, -0.939994673230701850, -0.940011731511605440, -0.940028787442479750, -0.940045841023282150, +-0.940062892253969880, -0.940079941134500330, -0.940096987664831300, -0.940114031844919480, -0.940131073674722590, -0.940148113154198000, -0.940165150283303160, -0.940182185061995470, +-0.940199217490232280, -0.940216247567970950, -0.940233275295169090, -0.940250300671784390, -0.940267323697773550, -0.940284344373094490, -0.940301362697704480, -0.940318378671561090, +-0.940335392294621820, -0.940352403566844350, -0.940369412488185510, -0.940386419058603210, -0.940403423278054820, -0.940420425146497820, -0.940437424663889800, -0.940454421830188240, +-0.940471416645350610, -0.940488409109334510, -0.940505399222097640, -0.940522386983596910, -0.940539372393790260, -0.940556355452635160, -0.940573336160089200, -0.940590314516109970, +-0.940607290520655170, -0.940624264173681830, -0.940641235475147890, -0.940658204425010800, -0.940675171023228170, -0.940692135269757700, -0.940709097164556860, -0.940726056707583250, +-0.940743013898794560, -0.940759968738148270, -0.940776921225602410, -0.940793871361113920, -0.940810819144640710, -0.940827764576140590, -0.940844707655570930, -0.940861648382889770, +-0.940878586758054360, -0.940895522781022290, -0.940912456451751590, -0.940929387770199630, -0.940946316736324230, -0.940963243350083080, -0.940980167611433770, -0.940997089520334010, +-0.941014009076741600, -0.941030926280614470, -0.941047841131909650, -0.941064753630585280, -0.941081663776599080, -0.941098571569908620, -0.941115477010471820, -0.941132380098246620, +-0.941149280833190050, -0.941166179215260360, -0.941183075244415250, -0.941199968920612420, -0.941216860243809680, -0.941233749213964850, -0.941250635831035520, -0.941267520094979710, +-0.941284402005755360, -0.941301281563319710, -0.941318158767630810, -0.941335033618646570, -0.941351906116324690, -0.941368776260623100, -0.941385644051499830, -0.941402509488912240, +-0.941419372572818270, -0.941436233303175940, -0.941453091679942950, -0.941469947703077240, -0.941486801372536710, -0.941503652688279180, -0.941520501650262460, -0.941537348258444930, +-0.941554192512783610, -0.941571034413236750, -0.941587873959762400, -0.941604711152318360, -0.941621545990862560, -0.941638378475353140, -0.941655208605747470, -0.941672036382003810, +-0.941688861804080070, -0.941705684871934180, -0.941722505585524060, -0.941739323944807750, -0.941756139949743050, -0.941772953600288010, -0.941789764896400540, -0.941806573838039010, +-0.941823380425160780, -0.941840184657724010, -0.941856986535686840, -0.941873786059007180, -0.941890583227643410, -0.941907378041552890, -0.941924170500693880, -0.941940960605024410, +-0.941957748354502520, -0.941974533749086350, -0.941991316788733820, -0.942008097473402970, -0.942024875803051940, -0.942041651777638660, -0.942058425397121480, -0.942075196661458110, +-0.942091965570606590, -0.942108732124525280, -0.942125496323172110, -0.942142258166505100, -0.942159017654482840, -0.942175774787062710, -0.942192529564203190, -0.942209281985862290, +-0.942226032051998170, -0.942242779762568980, -0.942259525117532970, -0.942276268116847950, -0.942293008760472390, -0.942309747048364570, -0.942326482980482050, -0.942343216556783440, +-0.942359947777226650, -0.942376676641770050, -0.942393403150371790, -0.942410127302990230, -0.942426849099583190, -0.942443568540108910, -0.942460285624525770, -0.942477000352791920, +-0.942493712724865480, -0.942510422740704850, -0.942527130400268140, -0.942543835703513630, -0.942560538650399790, -0.942577239240884320, -0.942593937474925700, -0.942610633352482300, +-0.942627326873512250, -0.942644018037974040, -0.942660706845825920, -0.942677393297025820, -0.942694077391532210, -0.942710759129303360, -0.942727438510297720, -0.942744115534473350, +-0.942760790201788820, -0.942777462512202290, -0.942794132465672010, -0.942810800062156450, -0.942827465301614210, -0.942844128184003090, -0.942860788709281470, -0.942877446877408040, +-0.942894102688340950, -0.942910756142038790, -0.942927407238459580, -0.942944055977561810, -0.942960702359303850, -0.942977346383644170, -0.942993988050541130, -0.943010627359953110, +-0.943027264311838590, -0.943043898906155810, -0.943060531142863370, -0.943077161021919850, -0.943093788543283180, -0.943110413706911950, -0.943127036512764750, -0.943143656960799940, +-0.943160275050975990, -0.943176890783251620, -0.943193504157584740, -0.943210115173934160, -0.943226723832258250, -0.943243330132515490, -0.943259934074664460, -0.943276535658663650, +-0.943293134884471420, -0.943309731752046350, -0.943326326261347270, -0.943342918412332090, -0.943359508204959510, -0.943376095639188340, -0.943392680714976840, -0.943409263432283600, +-0.943425843791067530, -0.943442421791286570, -0.943458997432899520, -0.943475570715864960, -0.943492141640141500, -0.943508710205687720, -0.943525276412462200, -0.943541840260423430, +-0.943558401749530100, -0.943574960879741020, -0.943591517651014230, -0.943608072063308660, -0.943624624116582880, -0.943641173810795600, -0.943657721145905400, -0.943674266121871110, +-0.943690808738650970, -0.943707348996203680, -0.943723886894488160, -0.943740422433462790, -0.943756955613086370, -0.943773486433317710, -0.943790014894115180, -0.943806540995437700, +-0.943823064737243870, -0.943839586119492590, -0.943856105142142130, -0.943872621805151300, -0.943889136108479020, -0.943905648052083880, -0.943922157635924910, -0.943938664859960250, +-0.943955169724148950, -0.943971672228449690, -0.943988172372821290, -0.944004670157222450, -0.944021165581611870, -0.944037658645948460, -0.944054149350190830, -0.944070637694297890, +-0.944087123678228670, -0.944103607301941320, -0.944120088565394870, -0.944136567468548350, -0.944153044011360240, -0.944169518193789690, -0.944185990015795510, -0.944202459477336160, +-0.944218926578370590, -0.944235391318857700, -0.944251853698756420, -0.944268313718025440, -0.944284771376623590, -0.944301226674510000, -0.944317679611643260, -0.944334130187982510, +-0.944350578403486240, -0.944367024258113590, -0.944383467751823250, -0.944399908884574370, -0.944416347656325540, -0.944432784067036350, -0.944449218116664710, -0.944465649805170120, +-0.944482079132511480, -0.944498506098647490, -0.944514930703537310, -0.944531352947139860, -0.944547772829413930, -0.944564190350318580, -0.944580605509813150, -0.944597018307855810, +-0.944613428744405900, -0.944629836819422470, -0.944646242532864440, -0.944662645884690840, -0.944679046874860930, -0.944695445503333060, -0.944711841770066620, -0.944728235675020510, +-0.944744627218153890, -0.944761016399425670, -0.944777403218794890, -0.944793787676220580, -0.944810169771661880, -0.944826549505077720, -0.944842926876427460, -0.944859301885669580, +-0.944875674532763440, -0.944892044817668200, -0.944908412740342760, -0.944924778300746620, -0.944941141498838230, -0.944957502334576980, -0.944973860807922010, -0.944990216918832340, +-0.945006570667267120, -0.945022922053185500, -0.945039271076546620, -0.945055617737309510, -0.945071962035433310, -0.945088303970877620, -0.945104643543600800, -0.945120980753562430, +-0.945137315600721560, -0.945153648085037320, -0.945169978206469420, -0.945186305964976210, -0.945202631360517190, -0.945218954393051590, -0.945235275062538680, -0.945251593368937600, +-0.945267909312207390, -0.945284222892307510, -0.945300534109197120, -0.945316842962835360, -0.945333149453181700, -0.945349453580194950, -0.945365755343834600, -0.945382054744059790, +-0.945398351780829870, -0.945414646454104110, -0.945430938763841990, -0.945447228710002200, -0.945463516292544330, -0.945479801511427740, -0.945496084366611590, -0.945512364858055230, +-0.945528642985718040, -0.945544918749559150, -0.945561192149538040, -0.945577463185614200, -0.945593731857746420, -0.945609998165894310, -0.945626262110017210, -0.945642523690074400, +-0.945658782906025340, -0.945675039757829630, -0.945691294245445960, -0.945707546368834140, -0.945723796127953430, -0.945740043522763200, -0.945756288553222800, -0.945772531219291720, +-0.945788771520929440, -0.945805009458095090, -0.945821245030748270, -0.945837478238848560, -0.945853709082355000, -0.945869937561227060, -0.945886163675424330, -0.945902387424906180, +-0.945918608809632300, -0.945934827829561620, -0.945951044484653950, -0.945967258774868650, -0.945983470700165200, -0.945999680260502960, -0.946015887455841640, -0.946032092286140600, +-0.946048294751359320, -0.946064494851457270, -0.946080692586394270, -0.946096887956129230, -0.946113080960622080, -0.946129271599832070, -0.946145459873719010, -0.946161645782242490, +-0.946177829325361650, -0.946194010503036200, -0.946210189315225710, -0.946226365761889790, -0.946242539842988010, -0.946258711558479740, -0.946274880908324790, -0.946291047892482640, +-0.946307212510912770, -0.946323374763575310, -0.946339534650428970, -0.946355692171433890, -0.946371847326549550, -0.946388000115735650, -0.946404150538951660, -0.946420298596157620, +-0.946436444287312550, -0.946452587612376380, -0.946468728571308700, -0.946484867164069210, -0.946501003390617600, -0.946517137250913470, -0.946533268744916390, -0.946549397872586300, +-0.946565524633882880, -0.946581649028765400, -0.946597771057193890, -0.946613890719127830, -0.946630008014527120, -0.946646122943351380, -0.946662235505560500, -0.946678345701113870, +-0.946694453529971390, -0.946710558992092670, -0.946726662087437610, -0.946742762815965920, -0.946758861177637300, -0.946774957172411560, -0.946791050800248390, -0.946807142061107940, +-0.946823230954949250, -0.946839317481732560, -0.946855401641417570, -0.946871483433963990, -0.946887562859331840, -0.946903639917480940, -0.946919714608370770, -0.946935786931961230, +-0.946951856888212260, -0.946967924477083670, -0.946983989698535140, -0.947000052552526840, -0.947016113039018230, -0.947032171157969450, -0.947048226909340210, -0.947064280293090640, +-0.947080331309180120, -0.947096379957568790, -0.947112426238216560, -0.947128470151083150, -0.947144511696128900, -0.947160550873313080, -0.947176587682595940, -0.947192622123937290, +-0.947208654197297050, -0.947224683902635260, -0.947240711239911600, -0.947256736209086350, -0.947272758810119190, -0.947288779042970040, -0.947304796907599390, -0.947320812403966370, +-0.947336825532031360, -0.947352836291754150, -0.947368844683095010, -0.947384850706013750, -0.947400854360470610, -0.947416855646424970, -0.947432854563837300, -0.947448851112667410, +-0.947464845292875450, -0.947480837104421440, -0.947496826547265190, -0.947512813621366970, -0.947528798326686680, -0.947544780663184700, -0.947560760630820510, -0.947576738229554460, +-0.947592713459346480, -0.947608686320156710, -0.947624656811945300, -0.947640624934672380, -0.947656590688297770, -0.947672554072781610, -0.947688515088084050, -0.947704473734165330, +-0.947720430010985270, -0.947736383918504230, -0.947752335456682140, -0.947768284625479350, -0.947784231424856020, -0.947800175854771830, -0.947816117915187270, -0.947832057606062370, +-0.947847994927357380, -0.947863929879032340, -0.947879862461047720, -0.947895792673363210, -0.947911720515939300, -0.947927645988736020, -0.947943569091713620, -0.947959489824832250, +-0.947975408188052260, -0.947991324181333690, -0.948007237804636800, -0.948023149057921840, -0.948039057941149290, -0.948054964454278840, -0.948070868597270850, -0.948086770370085820, +-0.948102669772683870, -0.948118566805025490, -0.948134461467070370, -0.948150353758779100, -0.948166243680112040, -0.948182131231029230, -0.948198016411491260, -0.948213899221458160, +-0.948229779660890280, -0.948245657729748000, -0.948261533427991580, -0.948277406755581590, -0.948293277712477730, -0.948309146298640830, -0.948325012514031010, -0.948340876358608640, +-0.948356737832333980, -0.948372596935167960, -0.948388453667070030, -0.948404308028000910, -0.948420160017921180, -0.948436009636790980, -0.948451856884570680, -0.948467701761220860, +-0.948483544266701670, -0.948499384400973700, -0.948515222163997640, -0.948531057555733080, -0.948546890576140940, -0.948562721225181590, -0.948578549502815390, -0.948594375409002820, +-0.948610198943704690, -0.948626020106880690, -0.948641838898491630, -0.948657655318497990, -0.948673469366860260, -0.948689281043538780, -0.948705090348494150, -0.948720897281686850, +-0.948736701843077230, -0.948752504032626120, -0.948768303850293540, -0.948784101296040180, -0.948799896369826530, -0.948815689071613180, -0.948831479401360590, -0.948847267359029580, +-0.948863052944580070, -0.948878836157972970, -0.948894616999168770, -0.948910395468128050, -0.948926171564811400, -0.948941945289179190, -0.948957716641192220, -0.948973485620810960, +-0.948989252227995910, -0.949005016462708070, -0.949020778324907390, -0.949036537814554770, -0.949052294931610810, -0.949068049676036090, -0.949083802047791520, -0.949099552046837160, +-0.949115299673134020, -0.949131044926642460, -0.949146787807323420, -0.949162528315137370, -0.949178266450044990, -0.949194002212007000, -0.949209735600983980, -0.949225466616936630, +-0.949241195259825870, -0.949256921529611830, -0.949272645426255450, -0.949288366949717520, -0.949304086099958640, -0.949319802876939620, -0.949335517280621270, -0.949351229310963940, +-0.949366938967928450, -0.949382646251475730, -0.949398351161566230, -0.949414053698161010, -0.949429753861220640, -0.949445451650705820, -0.949461147066577360, -0.949476840108796290, +-0.949492530777322870, -0.949508219072118240, -0.949523904993142990, -0.949539588540357920, -0.949555269713723840, -0.949570948513202010, -0.949586624938752450, -0.949602298990336320, +-0.949617970667914420, -0.949633639971447670, -0.949649306900896770, -0.949664971456222640, -0.949680633637386080, -0.949696293444347920, -0.949711950877069280, -0.949727605935510530, +-0.949743258619632710, -0.949758908929396740, -0.949774556864763640, -0.949790202425694010, -0.949805845612149200, -0.949821486424089480, -0.949837124861475980, -0.949852760924269730, +-0.949868394612431670, -0.949884025925922470, -0.949899654864703290, -0.949915281428734940, -0.949930905617978440, -0.949946527432394610, -0.949962146871944800, -0.949977763936589280, +-0.949993378626289410, -0.950008990941006100, -0.950024600880700290, -0.950040208445333210, -0.950055813634865350, -0.950071416449258080, -0.950087016888472080, -0.950102614952468620, +-0.950118210641208720, -0.950133803954653190, -0.950149394892763180, -0.950164983455499600, -0.950180569642823600, -0.950196153454696550, -0.950211734891078800, -0.950227313951931610, +-0.950242890637216230, -0.950258464946893590, -0.950274036880924820, -0.950289606439271180, -0.950305173621893370, -0.950320738428752530, -0.950336300859809800, -0.950351860915026440, +-0.950367418594363360, -0.950382973897781700, -0.950398526825242620, -0.950414077376707240, -0.950429625552136950, -0.950445171351492310, -0.950460714774734820, -0.950476255821825490, +-0.950491794492725470, -0.950507330787396020, -0.950522864705798500, -0.950538396247893490, -0.950553925413642590, -0.950569452203006810, -0.950584976615947430, -0.950600498652425570, +-0.950616018312402500, -0.950631535595839460, -0.950647050502697490, -0.950662563032938170, -0.950678073186522090, -0.950693580963410940, -0.950709086363565880, -0.950724589386948040, +-0.950740090033518670, -0.950755588303239360, -0.950771084196070930, -0.950786577711974720, -0.950802068850912010, -0.950817557612844140, -0.950833043997732500, -0.950848528005538100, +-0.950864009636222420, -0.950879488889746720, -0.950894965766072350, -0.950910440265160810, -0.950925912386972880, -0.950941382131470170, -0.950956849498614030, -0.950972314488365720, +-0.950987777100686940, -0.951003237335538490, -0.951018695192881850, -0.951034150672678600, -0.951049603774889900, -0.951065054499477090, -0.951080502846401780, -0.951095948815625200, +-0.951111392407108620, -0.951126833620813740, -0.951142272456701910, -0.951157708914734170, -0.951173142994872210, -0.951188574697077290, -0.951204004021311000, -0.951219430967534700, +-0.951234855535710190, -0.951250277725798070, -0.951265697537760360, -0.951281114971558430, -0.951296530027153750, -0.951311942704507580, -0.951327353003581730, -0.951342760924337450, +-0.951358166466736210, -0.951373569630739820, -0.951388970416309320, -0.951404368823406290, -0.951419764851992420, -0.951435158502029090, -0.951450549773477980, -0.951465938666300690, +-0.951481325180458250, -0.951496709315912460, -0.951512091072625020, -0.951527470450557190, -0.951542847449670880, -0.951558222069927350, -0.951573594311288180, -0.951588964173715190, +-0.951604331657169960, -0.951619696761613620, -0.951635059487008110, -0.951650419833314890, -0.951665777800495660, -0.951681133388512010, -0.951696486597325750, -0.951711837426898020, +-0.951727185877190630, -0.951742531948165380, -0.951757875639783760, -0.951773216952007450, -0.951788555884798050, -0.951803892438117360, -0.951819226611926860, -0.951834558406188360, +-0.951849887820863660, -0.951865214855914020, -0.951880539511301250, -0.951895861786987260, -0.951911181682933540, -0.951926499199102220, -0.951941814335454330, -0.951957127091951900, +-0.951972437468556640, -0.951987745465230240, -0.952003051081934610, -0.952018354318631240, -0.952033655175282050, -0.952048953651848720, -0.952064249748292960, -0.952079543464576790, +-0.952094834800661590, -0.952110123756509270, -0.952125410332081650, -0.952140694527340510, -0.952155976342247690, -0.952171255776765090, -0.952186532830854190, -0.952201807504476920, +-0.952217079797595070, -0.952232349710170570, -0.952247617242165220, -0.952262882393540840, -0.952278145164259130, -0.952293405554282210, -0.952308663563571910, -0.952323919192089810, +-0.952339172439797820, -0.952354423306657980, -0.952369671792631990, -0.952384917897681870, -0.952400161621769660, -0.952415402964856940, -0.952430641926905520, -0.952445878507877650, +-0.952461112707735040, -0.952476344526439590, -0.952491573963953340, -0.952506801020238100, -0.952522025695255900, -0.952537247988968880, -0.952552467901338520, -0.952567685432326950, +-0.952582900581896210, -0.952598113350008100, -0.952613323736624880, -0.952628531741708470, -0.952643737365220570, -0.952658940607123310, -0.952674141467378610, -0.952689339945948620, +-0.952704536042795260, -0.952719729757880550, -0.952734921091166640, -0.952750110042615340, -0.952765296612188670, -0.952780480799849120, -0.952795662605558150, -0.952810842029277900, +-0.952826019070970640, -0.952841193730598280, -0.952856366008123290, -0.952871535903507040, -0.952886703416712000, -0.952901868547700200, -0.952917031296433680, -0.952932191662874570, +-0.952947349646985020, -0.952962505248727050, -0.952977658468062930, -0.952992809304954560, -0.953007957759364420, -0.953023103831254210, -0.953038247520586190, -0.953053388827322600, +-0.953068527751425480, -0.953083664292857070, -0.953098798451579740, -0.953113930227555190, -0.953129059620745790, -0.953144186631113670, -0.953159311258621190, -0.953174433503230390, +-0.953189553364903520, -0.953204670843602720, -0.953219785939290350, -0.953234898651928670, -0.953250008981479490, -0.953265116927905390, -0.953280222491168390, -0.953295325671230880, +-0.953310426468055080, -0.953325524881603380, -0.953340620911837690, -0.953355714558720480, -0.953370805822213900, -0.953385894702280300, -0.953400981198882060, -0.953416065311981310, +-0.953431147041540420, -0.953446226387521630, -0.953461303349887550, -0.953476377928599960, -0.953491450123621350, -0.953506519934914200, -0.953521587362440750, -0.953536652406163250, +-0.953551715066044530, -0.953566775342046150, -0.953581833234130820, -0.953596888742261010, -0.953611941866398860, -0.953626992606506960, -0.953642040962547450, -0.953657086934482920, +-0.953672130522275730, -0.953687171725888130, -0.953702210545282920, -0.953717246980421820, -0.953732281031267730, -0.953747312697782900, -0.953762341979929710, -0.953777368877670950, +-0.953792393390968550, -0.953807415519785210, -0.953822435264083280, -0.953837452623825240, -0.953852467598973570, -0.953867480189490750, -0.953882490395339230, -0.953897498216481510, +-0.953912503652880050, -0.953927506704497550, -0.953942507371296040, -0.953957505653238220, -0.953972501550286680, -0.953987495062403880, -0.954002486189552410, -0.954017474931694860, +-0.954032461288793490, -0.954047445260810870, -0.954062426847709700, -0.954077406049452350, -0.954092382866001620, -0.954107357297319880, -0.954122329343369710, -0.954137299004113810, +-0.954152266279514880, -0.954167231169534950, -0.954182193674137040, -0.954197153793283630, -0.954212111526937300, -0.954227066875060650, -0.954242019837616700, -0.954256970414567360, +-0.954271918605875680, -0.954286864411504120, -0.954301807831415490, -0.954316748865572270, -0.954331687513937150, -0.954346623776472840, -0.954361557653142010, -0.954376489143907490, +-0.954391418248731530, -0.954406344967577040, -0.954421269300406610, -0.954436191247183040, -0.954451110807869040, -0.954466027982427520, -0.954480942770820630, -0.954495855173011390, +-0.954510765188962500, -0.954525672818636760, -0.954540578061996770, -0.954555480919005330, -0.954570381389625240, -0.954585279473819210, -0.954600175171549940, -0.954615068482780550, +-0.954629959407473190, -0.954644847945590900, -0.954659734097096480, -0.954674617861952730, -0.954689499240122810, -0.954704378231568730, -0.954719254836253750, -0.954734129054140680, +-0.954749000885192320, -0.954763870329371380, -0.954778737386640760, -0.954793602056963290, -0.954808464340301870, -0.954823324236619310, -0.954838181745878640, -0.954853036868042240, +-0.954867889603073340, -0.954882739950934640, -0.954897587911589070, -0.954912433484999880, -0.954927276671129310, -0.954942117469940510, -0.954956955881396400, -0.954971791905460000, +-0.954986625542094010, -0.955001456791261580, -0.955016285652925400, -0.955031112127048500, -0.955045936213593900, -0.955060757912524650, -0.955075577223803320, -0.955090394147393050, +-0.955105208683256770, -0.955120020831357390, -0.955134830591658050, -0.955149637964121890, -0.955164442948711280, -0.955179245545389690, -0.955194045754119920, -0.955208843574865020, +-0.955223639007588000, -0.955238432052252010, -0.955253222708819850, -0.955268010977254560, -0.955282796857519600, -0.955297580349577350, -0.955312361453391160, -0.955327140168924060, +-0.955341916496139200, -0.955356690434999490, -0.955371461985468300, -0.955386231147508090, -0.955400997921082460, -0.955415762306154330, -0.955430524302686710, -0.955445283910642760, +-0.955460041129985730, -0.955474795960678520, -0.955489548402684300, -0.955504298455966520, -0.955519046120487660, -0.955533791396211200, -0.955548534283100380, -0.955563274781118130, +-0.955578012890227700, -0.955592748610392450, -0.955607481941575190, -0.955622212883739160, -0.955636941436847520, -0.955651667600863620, -0.955666391375750490, -0.955681112761471500, +-0.955695831757989670, -0.955710548365268250, -0.955725262583270400, -0.955739974411959680, -0.955754683851298800, -0.955769390901251240, -0.955784095561780120, -0.955798797832848820, +-0.955813497714420810, -0.955828195206458790, -0.955842890308926220, -0.955857583021786470, -0.955872273345002690, -0.955886961278538340, -0.955901646822356570, -0.955916329976420620, +-0.955931010740693870, -0.955945689115139550, -0.955960365099721380, -0.955975038694401920, -0.955989709899145000, -0.956004378713913640, -0.956019045138671420, -0.956033709173381600, +-0.956048370818007750, -0.956063030072512700, -0.956077686936860130, -0.956092341411013290, -0.956106993494935660, -0.956121643188590500, -0.956136290491941150, -0.956150935404951220, +-0.956165577927583830, -0.956180218059802800, -0.956194855801571040, -0.956209491152852030, -0.956224124113609350, -0.956238754683806370, -0.956253382863406440, -0.956268008652373380, +-0.956282632050669990, -0.956297253058260080, -0.956311871675107010, -0.956326487901174250, -0.956341101736425280, -0.956355713180823570, -0.956370322234332600, -0.956384928896915730, +-0.956399533168536880, -0.956414135049158840, -0.956428734538745550, -0.956443331637260470, -0.956457926344666980, -0.956472518660928750, -0.956487108586009380, -0.956501696119872010, +-0.956516281262480450, -0.956530864013798170, -0.956545444373788630, -0.956560022342415660, -0.956574597919642500, -0.956589171105432850, -0.956603741899750390, -0.956618310302558510, +-0.956632876313820990, -0.956647439933501210, -0.956662001161562750, -0.956676559997969300, -0.956691116442684340, -0.956705670495672010, -0.956720222156895120, -0.956734771426317800, +-0.956749318303903530, -0.956763862789615890, -0.956778404883418590, -0.956792944585275310, -0.956807481895149750, -0.956822016813005380, -0.956836549338806020, -0.956851079472515460, +-0.956865607214096970, -0.956880132563514560, -0.956894655520731720, -0.956909176085712350, -0.956923694258419940, -0.956938210038818630, -0.956952723426871430, -0.956967234422542500, +-0.956981743025795420, -0.956996249236594100, -0.957010753054902020, -0.957025254480683210, -0.957039753513901140, -0.957054250154519730, -0.957068744402502890, -0.957083236257814000, +-0.957097725720417070, -0.957112212790275700, -0.957126697467353900, -0.957141179751615280, -0.957155659643024070, -0.957170137141543420, -0.957184612247137360, -0.957199084959769800, +-0.957213555279404550, -0.957228023206005420, -0.957242488739536210, -0.957256951879960740, -0.957271412627243020, -0.957285870981346880, -0.957300326942235880, -0.957314780509874060, +-0.957329231684225230, -0.957343680465253420, -0.957358126852922320, -0.957372570847196290, -0.957387012448038480, -0.957401451655413130, -0.957415888469284160, -0.957430322889615490, +-0.957444754916370930, -0.957459184549514620, -0.957473611789010250, -0.957488036634821850, -0.957502459086913450, -0.957516879145249080, -0.957531296809792320, -0.957545712080507210, +-0.957560124957357870, -0.957574535440308240, -0.957588943529322560, -0.957603349224364190, -0.957617752525397490, -0.957632153432386390, -0.957646551945295020, -0.957660948064087080, +-0.957675341788726930, -0.957689733119178380, -0.957704122055405450, -0.957718508597372180, -0.957732892745043030, -0.957747274498381260, -0.957761653857351350, -0.957776030821917310, +-0.957790405392043300, -0.957804777567693110, -0.957819147348831330, -0.957833514735421440, -0.957847879727427690, -0.957862242324814210, -0.957876602527545250, -0.957890960335584740, +-0.957905315748896810, -0.957919668767445610, -0.957934019391195160, -0.957948367620110040, -0.957962713454153620, -0.957977056893290490, -0.957991397937484780, -0.958005736586700410, +-0.958020072840901850, -0.958034406700053240, -0.958048738164118510, -0.958063067233061780, -0.958077393906847540, -0.958091718185439700, -0.958106040068802620, -0.958120359556900340, +-0.958134676649697310, -0.958148991347157470, -0.958163303649245510, -0.958177613555924900, -0.958191921067160330, -0.958206226182916070, -0.958220528903156120, -0.958234829227844860, +-0.958249127156946770, -0.958263422690425640, -0.958277715828245950, -0.958292006570371950, -0.958306294916767890, -0.958320580867398240, -0.958334864422227040, -0.958349145581218640, +-0.958363424344337410, -0.958377700711547710, -0.958391974682813900, -0.958406246258099890, -0.958420515437370390, -0.958434782220589530, -0.958449046607721680, -0.958463308598731520, +-0.958477568193582760, -0.958491825392240090, -0.958506080194667990, -0.958520332600830580, -0.958534582610692350, -0.958548830224217660, -0.958563075441370870, -0.958577318262116450, +-0.958591558686418770, -0.958605796714242290, -0.958620032345551150, -0.958634265580309950, -0.958648496418483150, -0.958662724860035010, -0.958676950904930100, -0.958691174553133020, +-0.958705395804607790, -0.958719614659319100, -0.958733831117231320, -0.958748045178309030, -0.958762256842516590, -0.958776466109818480, -0.958790672980179170, -0.958804877453563240, +-0.958819079529935390, -0.958833279209259540, -0.958847476491500590, -0.958861671376622820, -0.958875863864590890, -0.958890053955369410, -0.958904241648922960, -0.958918426945215670, +-0.958932609844212360, -0.958946790345877380, -0.958960968450175530, -0.958975144157071300, -0.958989317466529160, -0.959003488378513680, -0.959017656892989570, -0.959031823009921510, +-0.959045986729273660, -0.959060148051010810, -0.959074306975097660, -0.959088463501498680, -0.959102617630178570, -0.959116769361102240, -0.959130918694233610, -0.959145065629537720, +-0.959159210166979250, -0.959173352306522680, -0.959187492048132690, -0.959201629391774000, -0.959215764337411290, -0.959229896885009150, -0.959244027034532270, -0.959258154785945560, +-0.959272280139213170, -0.959286403094300130, -0.959300523651171020, -0.959314641809790650, -0.959328757570123920, -0.959342870932135110, -0.959356981895789110, -0.959371090461050620, +-0.959385196627884350, -0.959399300396255090, -0.959413401766127660, -0.959427500737466740, -0.959441597310237040, -0.959455691484403240, -0.959469783259930600, -0.959483872636783250, +-0.959497959614926120, -0.959512044194324120, -0.959526126374942060, -0.959540206156744620, -0.959554283539696960, -0.959568358523763320, -0.959582431108908840, -0.959596501295098210, +-0.959610569082296360, -0.959624634470468090, -0.959638697459578300, -0.959652758049591710, -0.959666816240473230, -0.959680872032187880, -0.959694925424700140, -0.959708976417975150, +-0.959723025011977700, -0.959737071206672620, -0.959751115002024920, -0.959765156397999640, -0.959779195394561360, -0.959793231991674880, -0.959807266189305450, -0.959821297987417890, +-0.959835327385976990, -0.959849354384947780, -0.959863378984295300, -0.959877401183984240, -0.959891420983979950, -0.959905438384246910, -0.959919453384750270, -0.959933465985454930, +-0.959947476186326030, -0.959961483987328280, -0.959975489388427250, -0.959989492389587080, -0.960003492990773370, -0.960017491191950790, -0.960031486993084490, -0.960045480394139510, +-0.960059471395080850, -0.960073459995873460, -0.960087446196482450, -0.960101429996872760, -0.960115411397009840, -0.960129390396858070, -0.960143366996382920, -0.960157341195549300, +-0.960171312994322350, -0.960185282392667320, -0.960199249390548790, -0.960213213987932250, -0.960227176184782590, -0.960241135981064970, -0.960255093376744640, -0.960269048371786500, +-0.960283000966155710, -0.960296951159817500, -0.960310898952736800, -0.960324844344879190, -0.960338787336209250, -0.960352727926692240, -0.960366666116293400, -0.960380601904977980, +-0.960394535292711020, -0.960408466279457970, -0.960422394865183550, -0.960436321049853100, -0.960450244833431890, -0.960464166215885040, -0.960478085197177700, -0.960492001777275230, +-0.960505915956142760, -0.960519827733745560, -0.960533737110048860, -0.960547644085017690, -0.960561548658617430, -0.960575450830813300, -0.960589350601570470, -0.960603247970854280, +-0.960617142938630320, -0.960631035504863060, -0.960644925669518420, -0.960658813432561320, -0.960672698793957220, -0.960686581753671390, -0.960700462311669170, -0.960714340467915710, +-0.960728216222376470, -0.960742089575016830, -0.960755960525801810, -0.960769829074696880, -0.960783695221667290, -0.960797558966678510, -0.960811420309695910, -0.960825279250684950, +-0.960839135789610550, -0.960852989926438310, -0.960866841661133560, -0.960880690993661690, -0.960894537923988160, -0.960908382452078320, -0.960922224577897440, -0.960936064301410990, +-0.960949901622584420, -0.960963736541383340, -0.960977569057772760, -0.960991399171718160, -0.961005226883185020, -0.961019052192138900, -0.961032875098545400, -0.961046695602369440, +-0.961060513703576700, -0.961074329402132670, -0.961088142698002910, -0.961101953591152690, -0.961115762081547700, -0.961129568169153180, -0.961143371853934840, -0.961157173135858020, +-0.961170972014888550, -0.961184768490991330, -0.961198562564132280, -0.961212354234276760, -0.961226143501390350, -0.961239930365438640, -0.961253714826387330, -0.961267496884201430, +-0.961281276538846870, -0.961295053790289120, -0.961308828638493650, -0.961322601083426150, -0.961336371125052210, -0.961350138763337300, -0.961363903998247000, -0.961377666829747230, +-0.961391427257803020, -0.961405185282380280, -0.961418940903444600, -0.961432694120961440, -0.961446444934896730, -0.961460193345216040, -0.961473939351884630, -0.961487682954868310, +-0.961501424154132870, -0.961515162949643900, -0.961528899341366980, -0.961542633329267820, -0.961556364913312090, -0.961570094093465390, -0.961583820869693740, -0.961597545241962280, +-0.961611267210236930, -0.961624986774483490, -0.961638703934667550, -0.961652418690754800, -0.961666131042711260, -0.961679840990502190, -0.961693548534093500, -0.961707253673451000, +-0.961720956408540270, -0.961734656739327230, -0.961748354665777460, -0.961762050187856880, -0.961775743305531170, -0.961789434018766040, -0.961803122327527630, -0.961816808231781170, +-0.961830491731492600, -0.961844172826627930, -0.961857851517152750, -0.961871527803033200, -0.961885201684234640, -0.961898873160722980, -0.961912542232464250, -0.961926208899424040, +-0.961939873161568370, -0.961953535018863050, -0.961967194471273880, -0.961980851518766670, -0.961994506161307330, -0.962008158398862000, -0.962021808231396050, -0.962035455658875600, +-0.962049100681266480, -0.962062743298534580, -0.962076383510645840, -0.962090021317566380, -0.962103656719261680, -0.962117289715697770, -0.962130920306840660, -0.962144548492656290, +-0.962158174273110460, -0.962171797648169290, -0.962185418617798600, -0.962199037181964310, -0.962212653340632770, -0.962226267093769240, -0.962239878441340070, -0.962253487383311290, +-0.962267093919648710, -0.962280698050318460, -0.962294299775286580, -0.962307899094518860, -0.962321496007981340, -0.962335090515640030, -0.962348682617460980, -0.962362272313410320, +-0.962375859603453950, -0.962389444487557920, -0.962403026965688250, -0.962416607037811290, -0.962430184703892520, -0.962443759963898420, -0.962457332817794780, -0.962470903265547850, +-0.962484471307123670, -0.962498036942488590, -0.962511600171608080, -0.962525160994448630, -0.962538719410976350, -0.962552275421157180, -0.962565829024957350, -0.962579380222342910, +-0.962592929013280090, -0.962606475397734920, -0.962620019375673540, -0.962633560947062320, -0.962647100111867050, -0.962660636870053990, -0.962674171221589270, -0.962687703166439150, +-0.962701232704570090, -0.962714759835947680, -0.962728284560538380, -0.962741806878308350, -0.962755326789223710, -0.962768844293250940, -0.962782359390355950, -0.962795872080504990, +-0.962809382363664420, -0.962822890239800500, -0.962836395708879470, -0.962849898770867240, -0.962863399425730290, -0.962876897673434760, -0.962890393513947120, -0.962903886947233610, +-0.962917377973260160, -0.962930866591993340, -0.962944352803399290, -0.962957836607444380, -0.962971318004094970, -0.962984796993317070, -0.962998273575077390, -0.963011747749341840, +-0.963025219516077000, -0.963038688875249350, -0.963052155826824800, -0.963065620370769810, -0.963079082507050770, -0.963092542235634010, -0.963105999556485900, -0.963119454469573030, +-0.963132906974861310, -0.963146357072317330, -0.963159804761907430, -0.963173250043597990, -0.963186692917355480, -0.963200133383146140, -0.963213571440936560, -0.963227007090692980, +-0.963240440332382210, -0.963253871165970050, -0.963267299591423210, -0.963280725608708140, -0.963294149217791330, -0.963307570418639010, -0.963320989211218110, -0.963334405595494440, +-0.963347819571434780, -0.963361231139005510, -0.963374640298173210, -0.963388047048904350, -0.963401451391165400, -0.963414853324922720, -0.963428252850142890, -0.963441649966792490, +-0.963455044674838220, -0.963468436974246110, -0.963481826864982850, -0.963495214347015020, -0.963508599420309200, -0.963521982084832200, -0.963535362340549820, -0.963548740187429200, +-0.963562115625436590, -0.963575488654538790, -0.963588859274702280, -0.963602227485893530, -0.963615593288079220, -0.963628956681226060, -0.963642317665300400, -0.963655676240269150, +-0.963669032406098580, -0.963682386162755370, -0.963695737510206210, -0.963709086448417680, -0.963722432977356600, -0.963735777096989320, -0.963749118807282650, -0.963762458108203050, +-0.963775794999717330, -0.963789129481792180, -0.963802461554394200, -0.963815791217490060, -0.963829118471046350, -0.963842443315029880, -0.963855765749407680, -0.963869085774145650, +-0.963882403389211050, -0.963895718594570350, -0.963909031390190350, -0.963922341776037860, -0.963935649752079680, -0.963948955318282060, -0.963962258474612140, -0.963975559221036620, +-0.963988857557522170, -0.964002153484035620, -0.964015447000543650, -0.964028738107012950, -0.964042026803410560, -0.964055313089703270, -0.964068596965857450, -0.964081878431840230, +-0.964095157487618200, -0.964108434133158280, -0.964121708368427370, -0.964134980193392390, -0.964148249608019700, -0.964161516612276340, -0.964174781206129320, -0.964188043389545220, +-0.964201303162491090, -0.964214560524933710, -0.964227815476839890, -0.964241068018176550, -0.964254318148910720, -0.964267565869008860, -0.964280811178438110, -0.964294054077165400, +-0.964307294565157510, -0.964320532642381380, -0.964333768308804130, -0.964347001564392240, -0.964360232409112840, -0.964373460842932960, -0.964386686865819300, -0.964399910477738990, +-0.964413131678658830, -0.964426350468545970, -0.964439566847367090, -0.964452780815089340, -0.964465992371679960, -0.964479201517105310, -0.964492408251332640, -0.964505612574328870, +-0.964518814486061250, -0.964532013986496680, -0.964545211075601870, -0.964558405753344060, -0.964571598019690280, -0.964584787874607440, -0.964597975318062680, -0.964611160350022920, +-0.964624342970455300, -0.964637523179326830, -0.964650700976604550, -0.964663876362255700, -0.964677049336246980, -0.964690219898545640, -0.964703388049118700, -0.964716553787933310, +-0.964729717114956590, -0.964742878030155790, -0.964756036533497510, -0.964769192624949200, -0.964782346304477790, -0.964795497572050630, -0.964808646427634750, -0.964821792871197180, +-0.964834936902705160, -0.964848078522125840, -0.964861217729426460, -0.964874354524573820, -0.964887488907535400, -0.964900620878278100, -0.964913750436769410, -0.964926877582976240, +-0.964940002316866160, -0.964953124638405770, -0.964966244547562630, -0.964979362044303900, -0.964992477128596700, -0.965005589800408290, -0.965018700059706020, -0.965031807906456930, +-0.965044913340628360, -0.965058016362187690, -0.965071116971101710, -0.965084215167338000, -0.965097310950863820, -0.965110404321646190, -0.965123495279652690, -0.965136583824850680, +-0.965149669957206860, -0.965162753676689020, -0.965175834983264200, -0.965188913876899870, -0.965201990357563160, -0.965215064425221540, -0.965228136079842150, -0.965241205321392570, +-0.965254272149839940, -0.965267336565151850, -0.965280398567295080, -0.965293458156237460, -0.965306515331946110, -0.965319570094388510, -0.965332622443532240, -0.965345672379344100, +-0.965358719901791900, -0.965371765010842760, -0.965384807706464290, -0.965397847988623830, -0.965410885857288740, -0.965423921312426380, -0.965436954354004230, -0.965449984981989750, +-0.965463013196350420, -0.965476038997053480, -0.965489062384066400, -0.965502083357356540, -0.965515101916891600, -0.965528118062638830, -0.965541131794566130, -0.965554143112640210, +-0.965567152016829080, -0.965580158507099990, -0.965593162583420430, -0.965606164245758070, -0.965619163494080280, -0.965632160328354530, -0.965645154748548510, -0.965658146754629690, +-0.965671136346565320, -0.965684123524323090, -0.965697108287870590, -0.965710090637175280, -0.965723070572204860, -0.965736048092926900, -0.965749023199308550, -0.965761995891317730, +-0.965774966168921890, -0.965787934032088620, -0.965800899480785510, -0.965813862514980140, -0.965826823134640190, -0.965839781339733140, -0.965852737130226790, -0.965865690506088500, +-0.965878641467285860, -0.965891590013786660, -0.965904536145558490, -0.965917479862569040, -0.965930421164786110, -0.965943360052176850, -0.965956296524709160, -0.965969230582350740, +-0.965982162225069270, -0.965995091452832470, -0.966008018265607890, -0.966020942663363250, -0.966033864646066220, -0.966046784213684510, -0.966059701366186130, -0.966072616103538230, +-0.966085528425708830, -0.966098438332665620, -0.966111345824376300, -0.966124250900808780, -0.966137153561930530, -0.966150053807709350, -0.966162951638112940, -0.966175847053109220, +-0.966188740052665860, -0.966201630636750690, -0.966214518805331490, -0.966227404558375860, -0.966240287895851810, -0.966253168817727270, -0.966266047323969590, -0.966278923414546800, +-0.966291797089426590, -0.966304668348576980, -0.966317537191965670, -0.966330403619560800, -0.966343267631329610, -0.966356129227240350, -0.966368988407260710, -0.966381845171358610, +-0.966394699519501850, -0.966407551451658350, -0.966420400967796020, -0.966433248067882670, -0.966446092751886420, -0.966458935019774760, -0.966471774871515700, -0.966484612307077270, +-0.966497447326427280, -0.966510279929533640, -0.966523110116364490, -0.966535937886887410, -0.966548763241070530, -0.966561586178881660, -0.966574406700288820, -0.966587224805259940, +-0.966600040493763140, -0.966612853765766110, -0.966625664621237000, -0.966638473060143940, -0.966651279082454410, -0.966664082688136750, -0.966676883877158890, -0.966689682649488850, +-0.966702479005094540, -0.966715272943944330, -0.966728064466005680, -0.966740853571246840, -0.966753640259635840, -0.966766424531140810, -0.966779206385729670, -0.966791985823370560, +-0.966804762844031380, -0.966817537447680400, -0.966830309634285510, -0.966843079403815200, -0.966855846756236810, -0.966868611691518940, -0.966881374209629390, -0.966894134310536500, +-0.966906891994208540, -0.966919647260613080, -0.966932400109718480, -0.966945150541492880, -0.966957898555904420, -0.966970644152921220, -0.966983387332511430, -0.966996128094643080, +-0.967008866439284520, -0.967021602366403780, -0.967034335875969210, -0.967047066967948620, -0.967059795642310260, -0.967072521899022490, -0.967085245738053430, -0.967097967159371240, +-0.967110686162944380, -0.967123402748740530, -0.967136116916728290, -0.967148828666875680, -0.967161537999150940, -0.967174244913522440, -0.967186949409958310, -0.967199651488426790, +-0.967212351148896140, -0.967225048391334830, -0.967237743215710650, -0.967250435621992200, -0.967263125610147600, -0.967275813180145110, -0.967288498331953180, -0.967301181065540310, +-0.967313861380874160, -0.967326539277923340, -0.967339214756656180, -0.967351887817041070, -0.967364558459046120, -0.967377226682639810, -0.967389892487790500, -0.967402555874466440, +-0.967415216842636210, -0.967427875392267710, -0.967440531523329430, -0.967453185235789940, -0.967465836529617480, -0.967478485404780320, -0.967491131861247240, -0.967503775898986170, +-0.967516417517965580, -0.967529056718154030, -0.967541693499519790, -0.967554327862031220, -0.967566959805656990, -0.967579589330365250, -0.967592216436124590, -0.967604841122903350, +-0.967617463390670230, -0.967630083239393370, -0.967642700669041120, -0.967655315679582180, -0.967667928270985020, -0.967680538443218110, -0.967693146196249800, -0.967705751530048560, +-0.967718354444582870, -0.967730954939821420, -0.967743553015732450, -0.967756148672284660, -0.967768741909446510, -0.967781332727186470, -0.967793921125473130, -0.967806507104275290, +-0.967819090663560870, -0.967831671803298770, -0.967844250523457350, -0.967856826824005420, -0.967869400704911450, -0.967881972166144130, -0.967894541207671710, -0.967907107829462990, +-0.967919672031486320, -0.967932233813710630, -0.967944793176104270, -0.967957350118636040, -0.967969904641274300, -0.967982456743987860, -0.967995006426745520, -0.968007553689515410, +-0.968020098532266450, -0.968032640954967220, -0.968045180957586400, -0.968057718540092590, -0.968070253702454700, -0.968082786444640960, -0.968095316766620310, -0.968107844668361310, +-0.968120370149832770, -0.968132893211003260, -0.968145413851841500, -0.968157932072316260, -0.968170447872396140, -0.968182961252050170, -0.968195472211246580, -0.968207980749954180, +-0.968220486868141990, -0.968232990565778500, -0.968245491842832600, -0.968257990699273100, -0.968270487135068470, -0.968282981150187630, -0.968295472744599260, -0.968307961918272290, +-0.968320448671175390, -0.968332933003277270, -0.968345414914546950, -0.968357894404953010, -0.968370371474464360, -0.968382846123050030, -0.968395318350678380, -0.968407788157318430, +-0.968420255542938980, -0.968432720507508950, -0.968445183050997250, -0.968457643173372460, -0.968470100874603500, -0.968482556154659280, -0.968495009013508710, -0.968507459451120600, +-0.968519907467463750, -0.968532353062507290, -0.968544796236219920, -0.968557236988570440, -0.968569675319528200, -0.968582111229061570, -0.968594544717139570, -0.968606975783731230, +-0.968619404428805450, -0.968631830652331270, -0.968644254454277600, -0.968656675834613120, -0.968669094793306980, -0.968681511330328090, -0.968693925445645370, -0.968706337139227940, +-0.968718746411044500, -0.968731153261064290, -0.968743557689256240, -0.968755959695589470, -0.968768359280032580, -0.968780756442554900, -0.968793151183125150, -0.968805543501712660, +-0.968817933398286260, -0.968830320872815180, -0.968842705925268220, -0.968855088555614420, -0.968867468763822900, -0.968879846549862700, -0.968892221913702830, -0.968904594855312550, +-0.968916965374660650, -0.968929333471716390, -0.968941699146449010, -0.968954062398827200, -0.968966423228820210, -0.968978781636397170, -0.968991137621527110, -0.969003491184179280, +-0.969015842324322920, -0.969028191041926720, -0.969040537336960050, -0.969052881209392040, -0.969065222659191820, -0.969077561686328530, -0.969089898290771410, -0.969102232472489500, +-0.969114564231452040, -0.969126893567628040, -0.969139220480987220, -0.969151544971498020, -0.969163867039129930, -0.969176186683852190, -0.969188503905634050, -0.969200818704444860, +-0.969213131080253310, -0.969225441033028990, -0.969237748562741140, -0.969250053669358790, -0.969262356352851410, -0.969274656613188010, -0.969286954450338080, -0.969299249864270740, +-0.969311542854955350, -0.969323833422361170, -0.969336121566457320, -0.969348407287213050, -0.969360690584597840, -0.969372971458580920, -0.969385249909131550, -0.969397525936219310, +-0.969409799539812990, -0.969422070719882180, -0.969434339476396120, -0.969446605809324290, -0.969458869718635930, -0.969471131204300400, -0.969483390266287050, -0.969495646904565240, +-0.969507901119104450, -0.969520152909873810, -0.969532402276842680, -0.969544649219980630, -0.969556893739256910, -0.969569135834640990, -0.969581375506102460, -0.969593612753610220, +-0.969605847577133970, -0.969618079976643070, -0.969630309952106970, -0.969642537503495160, -0.969654762630776990, -0.969666985333921930, -0.969679205612899330, -0.969691423467679000, +-0.969703638898229860, -0.969715851904521590, -0.969728062486523770, -0.969740270644205760, -0.969752476377537030, -0.969764679686487390, -0.969776880571025850, -0.969789079031122100, +-0.969801275066745630, -0.969813468677865890, -0.969825659864452570, -0.969837848626475150, -0.969850034963902980, -0.969862218876705870, -0.969874400364853060, -0.969886579428314580, +-0.969898756067059330, -0.969910930281057350, -0.969923102070277880, -0.969935271434690720, -0.969947438374265670, -0.969959602888971760, -0.969971764978778790, -0.969983924643656460, +-0.969996081883574330, -0.970008236698501890, -0.970020389088408930, -0.970032539053265030, -0.970044686593039770, -0.970056831707702850, -0.970068974397223950, -0.970081114661572430, +-0.970093252500718210, -0.970105387914630750, -0.970117520903279850, -0.970129651466635210, -0.970141779604666520, -0.970153905317343360, -0.970166028604635300, -0.970178149466512150, +-0.970190267902943710, -0.970202383913899570, -0.970214497499349400, -0.970226608659263130, -0.970238717393610230, -0.970250823702360820, -0.970262927585484050, -0.970275029042950040, +-0.970287128074728500, -0.970299224680789000, -0.970311318861101560, -0.970323410615635980, -0.970335499944361630, -0.970347586847248640, -0.970359671324266590, -0.970371753375385390, +-0.970383833000574740, -0.970395910199804650, -0.970407984973044700, -0.970420057320264710, -0.970432127241434910, -0.970444194736524550, -0.970456259805503650, -0.970468322448342140, +-0.970480382665009910, -0.970492440455476670, -0.970504495819712430, -0.970516548757686890, -0.970528599269369850, -0.970540647354731440, -0.970552693013741360, -0.970564736246369520, +-0.970576777052585830, -0.970588815432360200, -0.970600851385662540, -0.970612884912462780, -0.970624916012731040, -0.970636944686436800, -0.970648970933550180, -0.970660994754041110, +-0.970673016147879490, -0.970685035115035680, -0.970697051655479040, -0.970709065769179700, -0.970721077456107690, -0.970733086716233040, -0.970745093549525650, -0.970757097955955550, +-0.970769099935492760, -0.970781099488107090, -0.970793096613768780, -0.970805091312447850, -0.970817083584114120, -0.970829073428737590, -0.970841060846288300, -0.970853045836736480, +-0.970865028400052180, -0.970877008536205180, -0.970888986245165620, -0.970900961526903530, -0.970912934381389150, -0.970924904808592390, -0.970936872808483290, -0.970948838381032080, +-0.970960801526208780, -0.970972762243983430, -0.970984720534326500, -0.970996676397207440, -0.971008629832596730, -0.971020580840464500, -0.971032529420780670, -0.971044475573515700, +-0.971056419298639620, -0.971068360596122340, -0.971080299465934100, -0.971092235908045160, -0.971104169922425650, -0.971116101509045700, -0.971128030667875450, -0.971139957398885150, +-0.971151881702045030, -0.971163803577325350, -0.971175723024695900, -0.971187640044127280, -0.971199554635589490, -0.971211466799052790, -0.971223376534487430, -0.971235283841863860, +-0.971247188721151790, -0.971259091172321900, -0.971270991195344210, -0.971282888790188980, -0.971294783956826560, -0.971306676695227190, -0.971318567005361120, -0.971330454887198710, +-0.971342340340710320, -0.971354223365865850, -0.971366103962635900, -0.971377982130990580, -0.971389857870900380, -0.971401731182335530, -0.971413602065266500, -0.971425470519663330, +-0.971437336545496470, -0.971449200142736170, -0.971461061311353010, -0.971472920051317130, -0.971484776362598890, -0.971496630245168860, -0.971508481698997170, -0.971520330724054190, +-0.971532177320310720, -0.971544021487736550, -0.971555863226302390, -0.971567702535978460, -0.971579539416735360, -0.971591373868543660, -0.971603205891373170, -0.971615035485194790, +-0.971626862649978770, -0.971638687385695590, -0.971650509692315700, -0.971662329569809580, -0.971674147018147580, -0.971685962037300180, -0.971697774627237940, -0.971709584787931460, +-0.971721392519350860, -0.971733197821466720, -0.971745000694249630, -0.971756801137669930, -0.971768599151698330, -0.971780394736305400, -0.971792187891461270, -0.971803978617136740, +-0.971815766913302180, -0.971827552779928270, -0.971839336216985370, -0.971851117224444280, -0.971862895802275250, -0.971874671950449080, -0.971886445668936450, -0.971898216957707390, +-0.971909985816732940, -0.971921752245983430, -0.971933516245429560, -0.971945277815041810, -0.971957036954791190, -0.971968793664647720, -0.971980547944582330, -0.971992299794565470, +-0.972004049214567960, -0.972015796204560250, -0.972027540764513140, -0.972039282894397120, -0.972051022594182860, -0.972062759863841270, -0.972074494703342620, -0.972086227112657690, +-0.972097957091757170, -0.972109684640611870, -0.972121409759192260, -0.972133132447469350, -0.972144852705413400, -0.972156570532995310, -0.972168285930185780, -0.972179998896955610, +-0.972191709433275380, -0.972203417539115880, -0.972215123214447920, -0.972226826459242080, -0.972238527273469160, -0.972250225657100180, -0.972261921610105380, -0.972273615132455800, +-0.972285306224122130, -0.972296994885075260, -0.972308681115286120, -0.972320364914725070, -0.972332046283363010, -0.972343725221170960, -0.972355401728119520, -0.972367075804179580, +-0.972378747449321960, -0.972390416663517550, -0.972402083446736950, -0.972413747798951290, -0.972425409720131360, -0.972437069210247750, -0.972448726269271480, -0.972460380897173350, +-0.972472033093924270, -0.972483682859495160, -0.972495330193857030, -0.972506975096980360, -0.972518617568836290, -0.972530257609395600, -0.972541895218629330, -0.972553530396508270, +-0.972565163143003450, -0.972576793458085680, -0.972588421341725850, -0.972600046793895330, -0.972611669814564370, -0.972623290403704320, -0.972634908561285980, -0.972646524287280380, +-0.972658137581658530, -0.972669748444391470, -0.972681356875449880, -0.972692962874804780, -0.972704566442427420, -0.972716167578288600, -0.972727766282359350, -0.972739362554610690, +-0.972750956395013630, -0.972762547803539210, -0.972774136780158560, -0.972785723324842370, -0.972797307437561880, -0.972808889118288110, -0.972820468366992210, -0.972832045183645080, +-0.972843619568217970, -0.972855191520681670, -0.972866761041007440, -0.972878328129166300, -0.972889892785129270, -0.972901455008867490, -0.972913014800352190, -0.972924572159554300, +-0.972936127086444950, -0.972947679580995260, -0.972959229643176600, -0.972970777272959660, -0.972982322470315800, -0.972993865235216140, -0.973005405567631820, -0.973016943467534200, +-0.973028478934893970, -0.973040011969682590, -0.973051542571871210, -0.973063070741430950, -0.973074596478332940, -0.973086119782548440, -0.973097640654048690, -0.973109159092804820, +-0.973120675098788080, -0.973132188671969930, -0.973143699812320960, -0.973155208519812850, -0.973166714794416630, -0.973178218636103650, -0.973189720044845160, -0.973201219020612520, +-0.973212715563376740, -0.973224209673109080, -0.973235701349780880, -0.973247190593363510, -0.973258677403828100, -0.973270161781146000, -0.973281643725288470, -0.973293123236226850, +-0.973304600313932620, -0.973316074958376800, -0.973327547169530630, -0.973339016947365690, -0.973350484291853220, -0.973361949202964480, -0.973373411680671040, -0.973384871724943920, +-0.973396329335754600, -0.973407784513074530, -0.973419237256874960, -0.973430687567127250, -0.973442135443802870, -0.973453580886873170, -0.973465023896309510, -0.973476464472083470, +-0.973487902614166070, -0.973499338322528880, -0.973510771597143390, -0.973522202437980930, -0.973533630845012990, -0.973545056818211130, -0.973556480357546490, -0.973567901462990660, +-0.973579320134515090, -0.973590736372091150, -0.973602150175690410, -0.973613561545284220, -0.973624970480844290, -0.973636376982341730, -0.973647781049748360, -0.973659182683035750, +-0.973670581882174920, -0.973681978647137680, -0.973693372977895490, -0.973704764874419810, -0.973716154336682460, -0.973727541364654560, -0.973738925958307800, -0.973750308117613650, +-0.973761687842543800, -0.973773065133069720, -0.973784439989162980, -0.973795812410795160, -0.973807182397937730, -0.973818549950562380, -0.973829915068640920, -0.973841277752144350, +-0.973852638001044710, -0.973863995815313350, -0.973875351194922080, -0.973886704139842460, -0.973898054650046310, -0.973909402725504750, -0.973920748366189690, -0.973932091572072720, +-0.973943432343125530, -0.973954770679319790, -0.973966106580627210, -0.973977440047019250, -0.973988771078467710, -0.974000099674944500, -0.974011425836420750, -0.974022749562868500, +-0.974034070854259300, -0.974045389710565090, -0.974056706131757210, -0.974068020117807910, -0.974079331668688320, -0.974090640784370350, -0.974101947464825810, -0.974113251710026380, +-0.974124553519943870, -0.974135852894549960, -0.974147149833816450, -0.974158444337715030, -0.974169736406217620, -0.974181026039295790, -0.974192313236921350, -0.974203597999066080, +-0.974214880325701920, -0.974226160216800530, -0.974237437672333950, -0.974248712692273530, -0.974259985276591300, -0.974271255425259160, -0.974282523138248810, -0.974293788415532270, +-0.974305051257081220, -0.974316311662867470, -0.974327569632863040, -0.974338825167039620, -0.974350078265369350, -0.974361328927823680, -0.974372577154374750, -0.974383822944994260, +-0.974395066299654330, -0.974406307218326880, -0.974417545700983490, -0.974428781747596170, -0.974440015358136960, -0.974451246532577750, -0.974462475270890360, -0.974473701573046800, +-0.974484925439018990, -0.974496146868778830, -0.974507365862298360, -0.974518582419549580, -0.974529796540504200, -0.974541008225134340, -0.974552217473412030, -0.974563424285309070, +-0.974574628660797580, -0.974585830599849710, -0.974597030102437030, -0.974608227168531900, -0.974619421798106120, -0.974630613991131820, -0.974641803747580910, -0.974652991067425530, +-0.974664175950637700, -0.974675358397189440, -0.974686538407052880, -0.974697715980199940, -0.974708891116602530, -0.974720063816233000, -0.974731234079063370, -0.974742401905065560, +-0.974753567294211920, -0.974764730246474250, -0.974775890761824690, -0.974787048840235480, -0.974798204481678530, -0.974809357686126200, -0.974820508453550390, -0.974831656783923250, +-0.974842802677217120, -0.974853946133404040, -0.974865087152456010, -0.974876225734345180, -0.974887361879043900, -0.974898495586524080, -0.974909626856758080, -0.974920755689718250, +-0.974931882085376290, -0.974943006043704650, -0.974954127564675480, -0.974965246648261010, -0.974976363294433380, -0.974987477503164830, -0.974998589274427620, -0.975009698608193980, +-0.975020805504436040, -0.975031909963126280, -0.975043011984236600, -0.975054111567739360, -0.975065208713606800, -0.975076303421811290, -0.975087395692325170, -0.975098485525120460, +-0.975109572920169420, -0.975120657877444510, -0.975131740396917860, -0.975142820478561930, -0.975153898122348980, -0.975164973328251250, -0.975176046096241090, -0.975187116426290860, +-0.975198184318373020, -0.975209249772459490, -0.975220312788522840, -0.975231373366535430, -0.975242431506469500, -0.975253487208297630, -0.975264540471992180, -0.975275591297525170, +-0.975286639684869170, -0.975297685633996550, -0.975308729144879760, -0.975319770217491170, -0.975330808851803120, -0.975341845047787980, -0.975352878805418320, -0.975363910124666720, +-0.975374939005504980, -0.975385965447906010, -0.975396989451842170, -0.975408011017285690, -0.975419030144209280, -0.975430046832585500, -0.975441061082386480, -0.975452072893584710, +-0.975463082266152750, -0.975474089200063070, -0.975485093695288240, -0.975496095751800630, -0.975507095369572810, -0.975518092548577240, -0.975529087288786620, -0.975540079590173080, +-0.975551069452709420, -0.975562056876367990, -0.975573041861121480, -0.975584024406942360, -0.975595004513803320, -0.975605982181676600, -0.975616957410535000, -0.975627930200350880, +-0.975638900551097030, -0.975649868462745930, -0.975660833935270030, -0.975671796968642150, -0.975682757562834850, -0.975693715717820490, -0.975704671433572200, -0.975715624710061900, +-0.975726575547262610, -0.975737523945146900, -0.975748469903687350, -0.975759413422856770, -0.975770354502627500, -0.975781293142972350, -0.975792229343864000, -0.975803163105275040, +-0.975814094427178260, -0.975825023309546120, -0.975835949752351440, -0.975846873755567000, -0.975857795319165280, -0.975868714443119290, -0.975879631127401280, -0.975890545371984160, +-0.975901457176840850, -0.975912366541943690, -0.975923273467265710, -0.975934177952779810, -0.975945079998458140, -0.975955979604273830, -0.975966876770199670, -0.975977771496208120, +-0.975988663782272340, -0.975999553628364770, -0.976010441034458330, -0.976021326000525820, -0.976032208526540160, -0.976043088612473800, -0.976053966258299770, -0.976064841463990750, +-0.976075714229519660, -0.976086584554859300, -0.976097452439982690, -0.976108317884862190, -0.976119180889470920, -0.976130041453781680, -0.976140899577767400, -0.976151755261400860, +-0.976162608504654860, -0.976173459307502430, -0.976184307669916260, -0.976195153591869590, -0.976205997073334770, -0.976216838114285060, -0.976227676714693240, -0.976238512874532120, +-0.976249346593774820, -0.976260177872394270, -0.976271006710363150, -0.976281833107654480, -0.976292657064241290, -0.976303478580096360, -0.976314297655192730, -0.976325114289503420, +-0.976335928483001330, -0.976346740235659370, -0.976357549547450580, -0.976368356418348180, -0.976379160848324660, -0.976389962837353130, -0.976400762385406850, -0.976411559492458610, +-0.976422354158481550, -0.976433146383448580, -0.976443936167332600, -0.976454723510106870, -0.976465508411744400, -0.976476290872217990, -0.976487070891501000, -0.976497848469566220, +-0.976508623606386910, -0.976519396301935960, -0.976530166556186740, -0.976540934369111930, -0.976551699740684790, -0.976562462670878430, -0.976573223159665880, -0.976583981207020280, +-0.976594736812914870, -0.976605489977322440, -0.976616240700216350, -0.976626988981569630, -0.976637734821355410, -0.976648478219546810, -0.976659219176117090, -0.976669957691039370, +-0.976680693764286680, -0.976691427395832480, -0.976702158585649460, -0.976712887333711090, -0.976723613639990500, -0.976734337504460930, -0.976745058927095400, -0.976755777907867500, +-0.976766494446749900, -0.976777208543716080, -0.976787920198739280, -0.976798629411792740, -0.976809336182849490, -0.976820040511882980, -0.976830742398866360, -0.976841441843772860, +-0.976852138846575960, -0.976862833407248550, -0.976873525525764010, -0.976884215202095670, -0.976894902436216790, -0.976905587228100720, -0.976916269577720820, -0.976926949485049990, +-0.976937626950061920, -0.976948301972729640, -0.976958974553026720, -0.976969644690926290, -0.976980312386401820, -0.976990977639426550, -0.977001640449973730, -0.977012300818016930, +-0.977022958743529510, -0.977033614226484600, -0.977044267266855560, -0.977054917864615850, -0.977065566019738930, -0.977076211732198160, -0.977086855001966790, -0.977097495829018170, +-0.977108134213325870, -0.977118770154863260, -0.977129403653603680, -0.977140034709520710, -0.977150663322587490, -0.977161289492777700, -0.977171913220064690, -0.977182534504422050, +-0.977193153345822910, -0.977203769744240840, -0.977214383699649410, -0.977224995212022000, -0.977235604281332270, -0.977246210907553370, -0.977256815090658870, -0.977267416830622460, +-0.977278016127417380, -0.977288612981017320, -0.977299207391395750, -0.977309799358526130, -0.977320388882382040, -0.977330975962936940, -0.977341560600164640, -0.977352142794038260, +-0.977362722544531380, -0.977373299851617800, -0.977383874715270990, -0.977394447135464530, -0.977405017112172090, -0.977415584645366930, -0.977426149735022730, -0.977436712381113180, +-0.977447272583611970, -0.977457830342492450, -0.977468385657728420, -0.977478938529293460, -0.977489488957161030, -0.977500036941305160, -0.977510582481698980, -0.977521125578316390, +-0.977531666231130970, -0.977542204440116300, -0.977552740205246180, -0.977563273526494410, -0.977573804403834230, -0.977584332837239560, -0.977594858826684070, -0.977605382372141450, +-0.977615903473585400, -0.977626422130989490, -0.977636938344327630, -0.977647452113573400, -0.977657963438700480, -0.977668472319682900, -0.977678978756493900, -0.977689482749107500, +-0.977699984297497380, -0.977710483401637240, -0.977720980061501210, -0.977731474277062420, -0.977741966048295000, -0.977752455375172640, -0.977762942257669240, -0.977773426695758400, +-0.977783908689414010, -0.977794388238609760, -0.977804865343319670, -0.977815340003517330, -0.977825812219176860, -0.977836281990271730, -0.977846749316775840, -0.977857214198663010, +-0.977867676635907230, -0.977878136628482440, -0.977888594176362090, -0.977899049279520320, -0.977909501937930910, -0.977919952151567680, -0.977930399920404650, -0.977940845244415600, +-0.977951288123574350, -0.977961728557855010, -0.977972166547231290, -0.977982602091677310, -0.977993035191166650, -0.978003465845673440, -0.978013894055171580, -0.978024319819634890, +-0.978034743139037490, -0.978045164013353400, -0.978055582442556190, -0.978065998426620010, -0.978076411965518870, -0.978086823059226670, -0.978097231707717450, -0.978107637910965220, +-0.978118041668943780, -0.978128442981627270, -0.978138841848989800, -0.978149238271005080, -0.978159632247647350, -0.978170023778890400, -0.978180412864708470, -0.978190799505075480, +-0.978201183699965670, -0.978211565449352730, -0.978221944753210890, -0.978232321611514190, -0.978242696024236640, -0.978253067991352370, -0.978263437512835400, -0.978273804588659870, +-0.978284169218799900, -0.978294531403229640, -0.978304891141922760, -0.978315248434853850, -0.978325603281996690, -0.978335955683325540, -0.978346305638814530, -0.978356653148437890, +-0.978366998212169440, -0.978377340829983510, -0.978387681001854250, -0.978398018727755780, -0.978408354007662240, -0.978418686841547870, -0.978429017229386800, -0.978439345171153050, +-0.978449670666821090, -0.978459993716365050, -0.978470314319758840, -0.978480632476976920, -0.978490948187993310, -0.978501261452782380, -0.978511572271318570, -0.978521880643575480, +-0.978532186569527780, -0.978542490049149620, -0.978552791082415220, -0.978563089669298840, -0.978573385809774820, -0.978583679503817190, -0.978593970751400420, -0.978604259552498750, +-0.978614545907086630, -0.978624829815137880, -0.978635111276627170, -0.978645390291528640, -0.978655666859816530, -0.978665940981465420, -0.978676212656449550, -0.978686481884742940, +-0.978696748666320170, -0.978707013001155480, -0.978717274889223330, -0.978727534330497970, -0.978737791324953750, -0.978748045872565030, -0.978758297973306270, -0.978768547627151930, +-0.978778794834076040, -0.978789039594053060, -0.978799281907057670, -0.978809521773063910, -0.978819759192046450, -0.978829994163979640, -0.978840226688837860, -0.978850456766595320, +-0.978860684397226730, -0.978870909580706440, -0.978881132317008910, -0.978891352606108490, -0.978901570447979650, -0.978911785842596970, -0.978921998789935020, -0.978932209289967830, +-0.978942417342670070, -0.978952622948016330, -0.978962826105981070, -0.978973026816538750, -0.978983225079663950, -0.978993420895331030, -0.979003614263514450, -0.979013805184188900, +-0.979023993657328730, -0.979034179682908730, -0.979044363260903160, -0.979054544391286700, -0.979064723074033920, -0.979074899309119400, -0.979085073096517710, -0.979095244436203220, +-0.979105413328150490, -0.979115579772334320, -0.979125743768729300, -0.979135905317309980, -0.979146064418050740, -0.979156221070926260, -0.979166375275911330, -0.979176527032980410, +-0.979186676342108210, -0.979196823203269400, -0.979206967616438440, -0.979217109581590030, -0.979227249098698850, -0.979237386167739810, -0.979247520788687040, -0.979257652961515570, +-0.979267782686199850, -0.979277909962714690, -0.979288034791034880, -0.979298157171135000, -0.979308277102989620, -0.979318394586573550, -0.979328509621861460, -0.979338622208828170, +-0.979348732347448350, -0.979358840037696580, -0.979368945279547760, -0.979379048072976600, -0.979389148417957990, -0.979399246314466290, -0.979409341762476520, -0.979419434761963360, +-0.979429525312901620, -0.979439613415266090, -0.979449699069031790, -0.979459782274172960, -0.979469863030664630, -0.979479941338481710, -0.979490017197598980, -0.979500090607991150, +-0.979510161569633110, -0.979520230082499670, -0.979530296146565620, -0.979540359761805980, -0.979550420928195330, -0.979560479645708580, -0.979570535914320750, -0.979580589734006410, +-0.979590641104740700, -0.979600690026498520, -0.979610736499254450, -0.979620780522983630, -0.979630822097660730, -0.979640861223260880, -0.979650897899758790, -0.979660932127129460, +-0.979670963905347910, -0.979680993234388840, -0.979691020114227260, -0.979701044544838420, -0.979711066526196770, -0.979721086058277350, -0.979731103141055270, -0.979741117774505450, +-0.979751129958603030, -0.979761139693322680, -0.979771146978639320, -0.979781151814528180, -0.979791154200964190, -0.979801154137922240, -0.979811151625377460, -0.979821146663304780, +-0.979831139251679200, -0.979841129390475850, -0.979851117079669760, -0.979861102319235730, -0.979871085109149000, -0.979881065449384470, -0.979891043339917390, -0.979901018780722670, +-0.979910991771775540, -0.979920962313050700, -0.979930930404523610, -0.979940896046169070, -0.979950859237962320, -0.979960819979878380, -0.979970778271892500, -0.979980734113979570, +-0.979990687506114840, -0.980000638448273560, -0.980010586940430530, -0.980020532982561090, -0.980030476574640260, -0.980040417716643190, -0.980050356408545100, -0.980060292650321350, +-0.980070226441946630, -0.980080157783396410, -0.980090086674645810, -0.980100013115669850, -0.980109937106444010, -0.980119858646943290, -0.980129777737142830, -0.980139694377018090, +-0.980149608566544210, -0.980159520305696090, -0.980169429594449190, -0.980179336432778770, -0.980189240820659950, -0.980199142758068080, -0.980209042244978400, -0.980218939281366050, +-0.980228833867206380, -0.980238726002474530, -0.980248615687145940, -0.980258502921195760, -0.980268387704599450, -0.980278270037332030, -0.980288149919368970, -0.980298027350685610, +-0.980307902331257200, -0.980317774861058980, -0.980327644940066300, -0.980337512568254520, -0.980347377745598990, -0.980357240472075060, -0.980367100747657980, -0.980376958572323100, +-0.980386813946045880, -0.980396666868801560, -0.980406517340565610, -0.980416365361313270, -0.980426210931020110, -0.980436054049661390, -0.980445894717212550, -0.980455732933649180, +-0.980465568698946300, -0.980475402013079480, -0.980485232876024180, -0.980495061287755760, -0.980504887248249690, -0.980514710757481530, -0.980524531815426540, -0.980534350422060160, +-0.980544166577357880, -0.980553980281295150, -0.980563791533847540, -0.980573600334990410, -0.980583406684699340, -0.980593210582949680, -0.980603012029717220, -0.980612811024977100, +-0.980622607568704900, -0.980632401660876170, -0.980642193301466400, -0.980651982490451160, -0.980661769227806230, -0.980671553513506660, -0.980681335347528100, -0.980691114729846270, +-0.980700891660436720, -0.980710666139274930, -0.980720438166336360, -0.980730207741596800, -0.980739974865031730, -0.980749739536616820, -0.980759501756327420, -0.980769261524139350, +-0.980779018840028050, -0.980788773703969220, -0.980798526115938430, -0.980808276075911480, -0.980818023583863720, -0.980827768639770840, -0.980837511243608630, -0.980847251395352560, +-0.980856989094978430, -0.980866724342461800, -0.980876457137778380, -0.980886187480903730, -0.980895915371813640, -0.980905640810484040, -0.980915363796890040, -0.980925084331007670, +-0.980934802412812610, -0.980944518042280560, -0.980954231219387410, -0.980963941944108410, -0.980973650216419580, -0.980983356036296720, -0.980993059403715400, -0.981002760318651410, +-0.981012458781080570, -0.981022154790978540, -0.981031848348321130, -0.981041539453084140, -0.981051228105243480, -0.981060914304774490, -0.981070598051653310, -0.981080279345855620, +-0.981089958187357110, -0.981099634576133920, -0.981109308512161600, -0.981118979995415970, -0.981128649025872820, -0.981138315603508170, -0.981147979728297590, -0.981157641400217110, +-0.981167300619242510, -0.981176957385349710, -0.981186611698514510, -0.981196263558712920, -0.981205912965920520, -0.981215559920113330, -0.981225204421267260, -0.981234846469358210, +-0.981244486064361990, -0.981254123206254710, -0.981263757895011970, -0.981273390130609880, -0.981283019913024250, -0.981292647242231090, -0.981302272118206310, -0.981311894540925820, +-0.981321514510365640, -0.981331132026501680, -0.981340747089310070, -0.981350359698766380, -0.981359969854846860, -0.981369577557527300, -0.981379182806783930, -0.981388785602592460, +-0.981398385944929340, -0.981407983833770040, -0.981417579269090680, -0.981427172250867510, -0.981436762779076320, -0.981446350853693250, -0.981455936474694310, -0.981465519642055530, +-0.981475100355753030, -0.981484678615762610, -0.981494254422060840, -0.981503827774623080, -0.981513398673425910, -0.981522967118445220, -0.981532533109657050, -0.981542096647037730, +-0.981551657730562970, -0.981561216360209210, -0.981570772535952260, -0.981580326257768480, -0.981589877525633760, -0.981599426339524460, -0.981608972699416490, -0.981618516605286210, +-0.981628058057109620, -0.981637597054862980, -0.981647133598522180, -0.981656667688063590, -0.981666199323463330, -0.981675728504697530, -0.981685255231742440, -0.981694779504574400, +-0.981704301323169220, -0.981713820687503350, -0.981723337597552810, -0.981732852053294080, -0.981742364054703050, -0.981751873601756200, -0.981761380694429750, -0.981770885332699740, +-0.981780387516542730, -0.981789887245934520, -0.981799384520851580, -0.981808879341270260, -0.981818371707166680, -0.981827861618517210, -0.981837349075298290, -0.981846834077485740, +-0.981856316625056120, -0.981865796717985790, -0.981875274356250880, -0.981884749539827850, -0.981894222268692940, -0.981903692542822500, -0.981913160362192780, -0.981922625726780240, +-0.981932088636561120, -0.981941549091511660, -0.981951007091608430, -0.981960462636827680, -0.981969915727145760, -0.981979366362539130, -0.981988814542984030, -0.981998260268456820, +-0.982007703538933960, -0.982017144354391910, -0.982026582714806920, -0.982036018620155550, -0.982045452070414050, -0.982054883065558990, -0.982064311605566620, -0.982073737690413730, +-0.982083161320076340, -0.982092582494531020, -0.982102001213754240, -0.982111417477722460, -0.982120831286412370, -0.982130242639799870, -0.982139651537861870, -0.982149057980574720, +-0.982158461967915010, -0.982167863499859070, -0.982177262576383490, -0.982186659197464730, -0.982196053363079360, -0.982205445073203840, -0.982214834327814870, -0.982224221126888560, +-0.982233605470401840, -0.982242987358331040, -0.982252366790652750, -0.982261743767343650, -0.982271118288380210, -0.982280490353738880, -0.982289859963396350, -0.982299227117329200, +-0.982308591815513890, -0.982317954057927100, -0.982327313844545520, -0.982336671175345620, -0.982346026050303970, -0.982355378469397470, -0.982364728432602360, -0.982374075939895450, +-0.982383420991253420, -0.982392763586652730, -0.982402103726070170, -0.982411441409482440, -0.982420776636866000, -0.982430109408197640, -0.982439439723454040, -0.982448767582611790, +-0.982458092985647570, -0.982467415932538170, -0.982476736423260280, -0.982486054457790470, -0.982495370036105650, -0.982504683158182400, -0.982513993823997290, -0.982523302033527330, +-0.982532607786749000, -0.982541911083639200, -0.982551211924174830, -0.982560510308332140, -0.982569806236088250, -0.982579099707419860, -0.982588390722303750, -0.982597679280716620, +-0.982606965382635260, -0.982616249028036570, -0.982625530216897140, -0.982634808949193970, -0.982644085224903980, -0.982653359044003530, -0.982662630406469730, -0.982671899312279270, +-0.982681165761409180, -0.982690429753836250, -0.982699691289537160, -0.982708950368488820, -0.982718206990668030, -0.982727461156051810, -0.982736712864616950, -0.982745962116340240, +-0.982755208911198610, -0.982764453249169060, -0.982773695130228280, -0.982782934554353500, -0.982792171521521210, -0.982801406031708400, -0.982810638084892220, -0.982819867681049340, +-0.982829094820156790, -0.982838319502191690, -0.982847541727130620, -0.982856761494950710, -0.982865978805628980, -0.982875193659142220, -0.982884406055467450, -0.982893615994581690, +-0.982902823476461850, -0.982912028501085060, -0.982921231068428320, -0.982930431178468230, -0.982939628831182240, -0.982948824026547040, -0.982958016764539870, -0.982967207045137630, +-0.982976394868317450, -0.982985580234056240, -0.982994763142331030, -0.983003943593118930, -0.983013121586396980, -0.983022297122142170, -0.983031470200331660, -0.983040640820942450, +-0.983049808983951670, -0.983058974689336450, -0.983068137937073700, -0.983077298727140670, -0.983086457059514360, -0.983095612934171800, -0.983104766351090340, -0.983113917310247000, +-0.983123065811618790, -0.983132211855182960, -0.983141355440916520, -0.983150496568796720, -0.983159635238800680, -0.983168771450905530, -0.983177905205088410, -0.983187036501326660, +-0.983196165339597190, -0.983205291719877580, -0.983214415642144510, -0.983223537106375440, -0.983232656112547510, -0.983241772660637840, -0.983250886750624000, -0.983259998382482790, +-0.983269107556191570, -0.983278214271727570, -0.983287318529068030, -0.983296420328190200, -0.983305519669071430, -0.983314616551688720, -0.983323710976019450, -0.983332802942041060, +-0.983341892449730690, -0.983350979499065470, -0.983360064090022750, -0.983369146222579980, -0.983378225896714310, -0.983387303112403190, -0.983396377869623640, -0.983405450168353120, +-0.983414520008569100, -0.983423587390248710, -0.983432652313369290, -0.983441714777908320, -0.983450774783843130, -0.983459832331150860, -0.983468887419809090, -0.983477940049795270, +-0.983486990221086430, -0.983496037933660030, -0.983505083187493630, -0.983514125982564490, -0.983523166318850060, -0.983532204196327810, -0.983541239614974970, -0.983550272574769010, +-0.983559303075687290, -0.983568331117707470, -0.983577356700806700, -0.983586379824962550, -0.983595400490152480, -0.983604418696353950, -0.983613434443544430, -0.983622447731701270, +-0.983631458560801920, -0.983640466930823960, -0.983649472841744750, -0.983658476293541970, -0.983667477286193080, -0.983676475819675430, -0.983685471893966490, -0.983694465509043940, +-0.983703456664885230, -0.983712445361467850, -0.983721431598769350, -0.983730415376767310, -0.983739396695439190, -0.983748375554762690, -0.983757351954715140, -0.983766325895274240, +-0.983775297376417560, -0.983784266398122550, -0.983793232960366910, -0.983802197063128330, -0.983811158706384140, -0.983820117890112030, -0.983829074614289590, -0.983838028878894600, +-0.983846980683904420, -0.983855930029296720, -0.983864876915049310, -0.983873821341139650, -0.983882763307545540, -0.983891702814244540, -0.983900639861214230, -0.983909574448432300, +-0.983918506575876430, -0.983927436243524300, -0.983936363451353710, -0.983945288199342020, -0.983954210487467230, -0.983963130315706810, -0.983972047684038560, -0.983980962592440280, +-0.983989875040889530, -0.983998785029364110, -0.984007692557841710, -0.984016597626300120, -0.984025500234717130, -0.984034400383070220, -0.984043298071337390, -0.984052193299496230, +-0.984061086067524630, -0.984069976375400390, -0.984078864223101310, -0.984087749610604860, -0.984096632537889040, -0.984105513004931760, -0.984114391011710610, -0.984123266558203480, +-0.984132139644388170, -0.984141010270242590, -0.984149878435744420, -0.984158744140871680, -0.984167607385601940, -0.984176468169913220, -0.984185326493783320, -0.984194182357190140, +-0.984203035760111480, -0.984211886702525350, -0.984220735184409330, -0.984229581205741550, -0.984238424766499810, -0.984247265866661890, -0.984256104506205930, -0.984264940685109720, +-0.984273774403351060, -0.984282605660908080, -0.984291434457758680, -0.984300260793880550, -0.984309084669251710, -0.984317906083850170, -0.984326725037653950, -0.984335541530640850, +-0.984344355562789100, -0.984353167134076280, -0.984361976244480520, -0.984370782893979830, -0.984379587082552240, -0.984388388810175540, -0.984397188076827970, -0.984405984882487430, +-0.984414779227131940, -0.984423571110739530, -0.984432360533288310, -0.984441147494755970, -0.984449931995120870, -0.984458714034360920, -0.984467493612454110, -0.984476270729378710, +-0.984485045385112610, -0.984493817579633830, -0.984502587312920510, -0.984511354584950650, -0.984520119395702500, -0.984528881745153960, -0.984537641633283280, -0.984546399060068580, +-0.984555154025487770, -0.984563906529519190, -0.984572656572140770, -0.984581404153330730, -0.984590149273067090, -0.984598891931328210, -0.984607632128091990, -0.984616369863336890, +-0.984625105137040710, -0.984633837949181690, -0.984642568299738170, -0.984651296188688190, -0.984660021616009960, -0.984668744581681740, -0.984677465085681550, -0.984686183127987840, +-0.984694898708578740, -0.984703611827432160, -0.984712322484526670, -0.984721030679840400, -0.984729736413351490, -0.984738439685038270, -0.984747140494878990, -0.984755838842851780, +-0.984764534728935100, -0.984773228153106970, -0.984781919115345740, -0.984790607615629750, -0.984799293653937260, -0.984807977230246490, -0.984816658344535800, -0.984825336996783650, +-0.984834013186967950, -0.984842686915067270, -0.984851358181059840, -0.984860026984924030, -0.984868693326638070, -0.984877357206180640, -0.984886018623529650, -0.984894677578663560, +-0.984903334071560830, -0.984911988102199710, -0.984920639670558650, -0.984929288776616010, -0.984937935420350130, -0.984946579601739480, -0.984955221320762300, -0.984963860577397270, +-0.984972497371622400, -0.984981131703416280, -0.984989763572757360, -0.984998392979623990, -0.985007019923994750, -0.985015644405847880, -0.985024266425161940, -0.985032885981915300, +-0.985041503076086400, -0.985050117707653830, -0.985058729876595930, -0.985067339582891170, -0.985075946826518000, -0.985084551607455120, -0.985093153925680860, -0.985101753781173710, +-0.985110351173912100, -0.985118946103874630, -0.985127538571039740, -0.985136128575386020, -0.985144716116892250, -0.985153301195536350, -0.985161883811297320, -0.985170463964153530, +-0.985179041654083650, -0.985187616881066150, -0.985196189645079600, -0.985204759946102570, -0.985213327784113630, -0.985221893159091480, -0.985230456071014450, -0.985239016519861340, +-0.985247574505610620, -0.985256130028241080, -0.985264683087731190, -0.985273233684059610, -0.985281781817204940, -0.985290327487145730, -0.985298870693860800, -0.985307411437328580, +-0.985315949717527890, -0.985324485534437300, -0.985333018888035480, -0.985341549778301130, -0.985350078205213140, -0.985358604168749760, -0.985367127668889790, -0.985375648705612120, +-0.985384167278895220, -0.985392683388717990, -0.985401197035059130, -0.985409708217897200, -0.985418216937210880, -0.985426723192979080, -0.985435226985180490, -0.985443728313793900, +-0.985452227178797880, -0.985460723580171340, -0.985469217517892960, -0.985477708991941650, -0.985486198002296090, -0.985494684548934960, -0.985503168631837070, -0.985511650250981310, +-0.985520129406346370, -0.985528606097911260, -0.985537080325654460, -0.985545552089555080, -0.985554021389591690, -0.985562488225743330, -0.985570952597988660, -0.985579414506306710, +-0.985587873950676150, -0.985596330931075900, -0.985604785447484870, -0.985613237499882060, -0.985621687088245930, -0.985630134212555630, -0.985638578872790050, -0.985647021068927880, +-0.985655460800948240, -0.985663898068830150, -0.985672332872552070, -0.985680765212093250, -0.985689195087432470, -0.985697622498548640, -0.985706047445420790, -0.985714469928027910, +-0.985722889946348710, -0.985731307500362420, -0.985739722590047940, -0.985748135215384070, -0.985756545376349710, -0.985764953072924110, -0.985773358305086170, -0.985781761072814790, +-0.985790161376089100, -0.985798559214887900, -0.985806954589190320, -0.985815347498975260, -0.985823737944221960, -0.985832125924909210, -0.985840511441016250, -0.985848894492521890, +-0.985857275079405460, -0.985865653201645880, -0.985874028859222040, -0.985882402052113080, -0.985890772780298130, -0.985899141043756310, -0.985907506842466640, -0.985915870176408250, +-0.985924231045560150, -0.985932589449901360, -0.985940945389411240, -0.985949298864068680, -0.985957649873852810, -0.985965998418742880, -0.985974344498718010, -0.985982688113757220, +-0.985991029263839640, -0.985999367948944720, -0.986007704169051260, -0.986016037924138500, -0.986024369214185680, -0.986032698039171820, -0.986041024399076480, -0.986049348293878360, +-0.986057669723556910, -0.986065988688091370, -0.986074305187460750, -0.986082619221644310, -0.986090930790621490, -0.986099239894371200, -0.986107546532872910, -0.986115850706105630, +-0.986124152414049050, -0.986132451656681840, -0.986140748433983470, -0.986149042745933290, -0.986157334592510430, -0.986165623973694340, -0.986173910889464270, -0.986182195339799230, +-0.986190477324678790, -0.986198756844082090, -0.986207033897988580, -0.986215308486377400, -0.986223580609227990, -0.986231850266519720, -0.986240117458231700, -0.986248382184343520, +-0.986256644444834300, -0.986264904239683490, -0.986273161568870350, -0.986281416432374320, -0.986289668830174770, -0.986297918762251260, -0.986306166228582690, -0.986314411229148760, +-0.986322653763928800, -0.986330893832902180, -0.986339131436048460, -0.986347366573346760, -0.986355599244776670, -0.986363829450317640, -0.986372057189949140, -0.986380282463650280, +-0.986388505271400870, -0.986396725613180040, -0.986404943488967570, -0.986413158898742590, -0.986421371842484910, -0.986429582320173640, -0.986437790331788470, -0.986445995877308750, +-0.986454198956714160, -0.986462399569983940, -0.986470597717097770, -0.986478793398035130, -0.986486986612775450, -0.986495177361298330, -0.986503365643583430, -0.986511551459610000, +-0.986519734809357620, -0.986527915692805960, -0.986536094109934480, -0.986544270060722980, -0.986552443545150590, -0.986560614563197100, -0.986568783114842080, -0.986576949200065110, +-0.986585112818845760, -0.986593273971163590, -0.986601432656998290, -0.986609588876329440, -0.986617742629136480, -0.986625893915399450, -0.986634042735097470, -0.986642189088210440, +-0.986650332974717830, -0.986658474394599530, -0.986666613347834900, -0.986674749834403950, -0.986682883854286040, -0.986691015407460850, -0.986699144493908160, -0.986707271113607560, +-0.986715395266538840, -0.986723516952681570, -0.986731636172015540, -0.986739752924520430, -0.986747867210176040, -0.986755979028961950, -0.986764088380857830, -0.986772195265843480, +-0.986780299683898690, -0.986788401635003030, -0.986796501119136640, -0.986804598136278850, -0.986812692686409480, -0.986820784769508410, -0.986828874385555440, -0.986836961534530270, +-0.986845046216412670, -0.986853128431182450, -0.986861208178819390, -0.986869285459303410, -0.986877360272614190, -0.986885432618731520, -0.986893502497635300, -0.986901569909305220, +-0.986909634853721300, -0.986917697330863430, -0.986925757340711200, -0.986933814883244500, -0.986941869958443350, -0.986949922566287440, -0.986957972706756780, -0.986966020379831170, +-0.986974065585490500, -0.986982108323714690, -0.986990148594483640, -0.986998186397777370, -0.987006221733575440, -0.987014254601857880, -0.987022285002604800, -0.987030312935796020, +-0.987038338401411530, -0.987046361399431030, -0.987054381929834750, -0.987062399992602370, -0.987070415587714130, -0.987078428715149720, -0.987086439374889270, -0.987094447566912780, +-0.987102453291200170, -0.987110456547731440, -0.987118457336486620, -0.987126455657445610, -0.987134451510588430, -0.987142444895895090, -0.987150435813345610, -0.987158424262920110, +-0.987166410244598720, -0.987174393758361020, -0.987182374804187470, -0.987190353382057960, -0.987198329491952520, -0.987206303133851270, -0.987214274307734340, -0.987222243013581640, +-0.987230209251373390, -0.987238173021089740, -0.987246134322710470, -0.987254093156215930, -0.987262049521586140, -0.987270003418801220, -0.987277954847841200, -0.987285903808686530, +-0.987293850301317000, -0.987301794325712740, -0.987309735881854110, -0.987317674969721120, -0.987325611589293880, -0.987333545740552540, -0.987341477423477440, -0.987349406638048710, +-0.987357333384246470, -0.987365257662050850, -0.987373179471442100, -0.987381098812400330, -0.987389015684905780, -0.987396930088938810, -0.987404842024479650, -0.987412751491508090, +-0.987420658490004820, -0.987428563019949860, -0.987436465081323430, -0.987444364674105900, -0.987452261798277390, -0.987460156453818350, -0.987468048640708810, -0.987475938358929220, +-0.987483825608459820, -0.987491710389280850, -0.987499592701372440, -0.987507472544715160, -0.987515349919289240, -0.987523224825075040, -0.987531097262052570, -0.987538967230202400, +-0.987546834729504890, -0.987554699759940260, -0.987562562321488870, -0.987570422414130960, -0.987578280037847090, -0.987586135192617620, -0.987593987878422670, -0.987601838095242930, +-0.987609685843058530, -0.987617531121849800, -0.987625373931597330, -0.987633214272281350, -0.987641052143882310, -0.987648887546380920, -0.987656720479757060, -0.987664550943991420, +-0.987672378939064450, -0.987680204464956520, -0.987688027521648080, -0.987695848109119480, -0.987703666227351400, -0.987711481876324070, -0.987719295056018190, -0.987727105766413870, +-0.987734914007491920, -0.987742719779232560, -0.987750523081616480, -0.987758323914624040, -0.987766122278236010, -0.987773918172432430, -0.987781711597194190, -0.987789502552501530, +-0.987797291038335250, -0.987805077054675570, -0.987812860601503310, -0.987820641678798910, -0.987828420286542940, -0.987836196424715980, -0.987843970093298380, -0.987851741292270940, +-0.987859510021614100, -0.987867276281308440, -0.987875040071334640, -0.987882801391673390, -0.987890560242304930, -0.987898316623210150, -0.987906070534369520, -0.987913821975763720, +-0.987921570947373430, -0.987929317449179110, -0.987937061481161560, -0.987944803043301350, -0.987952542135579150, -0.987960278757975760, -0.987968012910471430, -0.987975744593047160, +-0.987983473805683520, -0.987991200548361200, -0.987998924821061000, -0.988006646623763360, -0.988014365956449090, -0.988022082819098870, -0.988029797211693480, -0.988037509134213620, +-0.988045218586639960, -0.988052925568953190, -0.988060630081134210, -0.988068332123163580, -0.988076031695022340, -0.988083728796690820, -0.988091423428150040, -0.988099115589380680, +-0.988106805280363430, -0.988114492501079410, -0.988122177251508970, -0.988129859531633130, -0.988137539341432670, -0.988145216680888280, -0.988152891549980870, -0.988160563948691340, +-0.988168233877000260, -0.988175901334888640, -0.988183566322337280, -0.988191228839327200, -0.988198888885838840, -0.988206546461853240, -0.988214201567351290, -0.988221854202313900, +-0.988229504366721740, -0.988237152060556070, -0.988244797283797330, -0.988252440036426650, -0.988260080318424830, -0.988267718129772880, -0.988275353470451480, -0.988282986340441870, +-0.988290616739724630, -0.988298244668280980, -0.988305870126091830, -0.988313493113137880, -0.988321113629400120, -0.988328731674859570, -0.988336347249497260, -0.988343960353294080, +-0.988351570986231160, -0.988359179148289080, -0.988366784839449180, -0.988374388059692240, -0.988381988808999300, -0.988389587087351470, -0.988397182894729660, -0.988404776231114780, +-0.988412367096488050, -0.988419955490830390, -0.988427541414123030, -0.988435124866346660, -0.988442705847482390, -0.988450284357511480, -0.988457860396414810, -0.988465433964173630, +-0.988473005060768740, -0.988480573686181250, -0.988488139840392410, -0.988495703523383230, -0.988503264735134720, -0.988510823475628130, -0.988518379744844470, -0.988525933542764750, +-0.988533484869370320, -0.988541033724642300, -0.988548580108561500, -0.988556124021109260, -0.988563665462266820, -0.988571204432015070, -0.988578740930335490, -0.988586274957208970, +-0.988593806512616750, -0.988601335596539950, -0.988608862208959940, -0.988616386349857600, -0.988623908019214400, -0.988631427217011470, -0.988638943943229930, -0.988646458197851020, +-0.988653969980856080, -0.988661479292226140, -0.988668986131942430, -0.988676490499986290, -0.988683992396338970, -0.988691491820981590, -0.988698988773895620, -0.988706483255062160, +-0.988713975264462360, -0.988721464802077680, -0.988728951867889340, -0.988736436461878590, -0.988743918584026770, -0.988751398234315130, -0.988758875412725000, -0.988766350119237860, +-0.988773822353834710, -0.988781292116497010, -0.988788759407206010, -0.988796224225943150, -0.988803686572689690, -0.988811146447427180, -0.988818603850136760, -0.988826058780799770, +-0.988833511239397560, -0.988840961225911590, -0.988848408740323310, -0.988855853782613980, -0.988863296352764930, -0.988870736450757740, -0.988878174076573750, -0.988885609230194310, +-0.988893041911600770, -0.988900472120774590, -0.988907899857697340, -0.988915325122350250, -0.988922747914715020, -0.988930168234772760, -0.988937586082505040, -0.988945001457893440, +-0.988952414360919300, -0.988959824791564190, -0.988967232749809470, -0.988974638235636580, -0.988982041249027220, -0.988989441789962730, -0.988996839858424680, -0.989004235454394530, +-0.989011628577853740, -0.989019019228783880, -0.989026407407166410, -0.989033793112983120, -0.989041176346215250, -0.989048557106844360, -0.989055935394852150, -0.989063311210219950, +-0.989070684552929680, -0.989078055422962570, -0.989085423820300400, -0.989092789744924540, -0.989100153196816880, -0.989107514175958880, -0.989114872682331890, -0.989122228715917820, +-0.989129582276698120, -0.989136933364654580, -0.989144281979768560, -0.989151628122022060, -0.989158971791396340, -0.989166312987873160, -0.989173651711434230, -0.989180987962061110, +-0.989188321739735590, -0.989195653044439240, -0.989202981876153850, -0.989210308234860890, -0.989217632120542260, -0.989224953533179520, -0.989232272472754360, -0.989239588939248570, +-0.989246902932643720, -0.989254214452921610, -0.989261523500064130, -0.989268830074052750, -0.989276134174869260, -0.989283435802495450, -0.989290734956913000, -0.989298031638103810, +-0.989305325846049470, -0.989312617580731750, -0.989319906842132560, -0.989327193630233800, -0.989334477945016830, -0.989341759786463770, -0.989349039154556190, -0.989356316049276100, +-0.989363590470605180, -0.989370862418525340, -0.989378131893018380, -0.989385398894065960, -0.989392663421650110, -0.989399925475752510, -0.989407185056355170, -0.989414442163439880, +-0.989421696796988440, -0.989428948956982860, -0.989436198643404820, -0.989443445856236450, -0.989450690595459310, -0.989457932861055430, -0.989465172653006710, -0.989472409971295150, +-0.989479644815902560, -0.989486877186810830, -0.989494107084001870, -0.989501334507457700, -0.989508559457160100, -0.989515781933091090, -0.989523001935232680, -0.989530219463566780, +-0.989537434518075410, -0.989544647098740350, -0.989551857205543730, -0.989559064838467450, -0.989566269997493530, -0.989573472682603870, -0.989580672893780490, -0.989587870631005510, +-0.989595065894260940, -0.989602258683528580, -0.989609448998790660, -0.989616636840028980, -0.989623822207225780, -0.989631005100363060, -0.989638185519422840, -0.989645363464387030, +-0.989652538935237860, -0.989659711931957560, -0.989666882454527830, -0.989674050502930780, -0.989681216077148650, -0.989688379177163570, -0.989695539802957440, -0.989702697954512710, +-0.989709853631810970, -0.989717006834834660, -0.989724157563565800, -0.989731305817986630, -0.989738451598079160, -0.989745594903825520, -0.989752735735207940, -0.989759874092208450, +-0.989767009974809490, -0.989774143382992850, -0.989781274316740790, -0.989788402776035640, -0.989795528760859410, -0.989802652271194350, -0.989809773307022800, -0.989816891868326780, +-0.989824007955088400, -0.989831121567290140, -0.989838232704914000, -0.989845341367942220, -0.989852447556357150, -0.989859551270141020, -0.989866652509275970, -0.989873751273744220, +-0.989880847563528230, -0.989887941378610030, -0.989895032718972060, -0.989902121584596450, -0.989909207975465440, -0.989916291891561610, -0.989923373332866950, -0.989930452299363830, +-0.989937528791034580, -0.989944602807861560, -0.989951674349827000, -0.989958743416913260, -0.989965810009102550, -0.989972874126377470, -0.989979935768720120, -0.989986994936113080, +-0.989994051628538490, -0.990001105845978670, -0.990008157588416090, -0.990015206855833220, -0.990022253648212280, -0.990029297965535740, -0.990036339807785940, -0.990043379174945230, +-0.990050416066996180, -0.990057450483920910, -0.990064482425702220, -0.990071511892322120, -0.990078538883763400, -0.990085563400008310, -0.990092585441039400, -0.990099605006838910, +-0.990106622097389310, -0.990113636712673270, -0.990120648852673150, -0.990127658517371390, -0.990134665706750570, -0.990141670420792930, -0.990148672659481250, -0.990155672422797780, +-0.990162669710725200, -0.990169664523245840, -0.990176656860342400, -0.990183646721997320, -0.990190634108193080, -0.990197619018912460, -0.990204601454137580, -0.990211581413851240, +-0.990218558898035890, -0.990225533906674230, -0.990232506439748690, -0.990239476497241980, -0.990246444079136530, -0.990253409185414930, -0.990260371816059860, -0.990267331971053770, +-0.990274289650379340, -0.990281244854019250, -0.990288197581956080, -0.990295147834172380, -0.990302095610650750, -0.990309040911374060, -0.990315983736324680, -0.990322924085485280, +-0.990329861958838540, -0.990336797356367260, -0.990343730278054000, -0.990350660723881340, -0.990357588693832060, -0.990364514187888840, -0.990371437206034270, -0.990378357748251110, +-0.990385275814521960, -0.990392191404829810, -0.990399104519157030, -0.990406015157486610, -0.990412923319801130, -0.990419829006083390, -0.990426732216315940, -0.990433632950481700, +-0.990440531208563460, -0.990447426990543780, -0.990454320296405680, -0.990461211126131720, -0.990468099479704710, -0.990474985357107430, -0.990481868758322670, -0.990488749683333220, +-0.990495628132121890, -0.990502504104671560, -0.990509377600964910, -0.990516248620984970, -0.990523117164714310, -0.990529983232135920, -0.990536846823232400, -0.990543707937986850, +-0.990550566576382070, -0.990557422738400970, -0.990564276424026220, -0.990571127633240730, -0.990577976366027400, -0.990584822622369130, -0.990591666402248830, -0.990598507705649390, +-0.990605346532553720, -0.990612182882944610, -0.990619016756805190, -0.990625848154118030, -0.990632677074866350, -0.990639503519032960, -0.990646327486600750, -0.990653148977552740, +-0.990659967991872060, -0.990666784529541270, -0.990673598590543490, -0.990680410174861860, -0.990687219282479050, -0.990694025913378300, -0.990700830067542390, -0.990707631744954460, +-0.990714430945597410, -0.990721227669454360, -0.990728021916508330, -0.990734813686742100, -0.990741602980138800, -0.990748389796681560, -0.990755174136353280, -0.990761955999137300, +-0.990768735385016200, -0.990775512293973320, -0.990782286725991670, -0.990789058681054270, -0.990795828159144240, -0.990802595160244600, -0.990809359684338480, -0.990816121731408980, +-0.990822881301439250, -0.990829638394412290, -0.990836393010311230, -0.990843145149119200, -0.990849894810819200, -0.990856641995394470, -0.990863386702828250, -0.990870128933103670, +-0.990876868686203500, -0.990883605962111340, -0.990890340760810060, -0.990897073082282920, -0.990903802926513140, -0.990910530293483860, -0.990917255183178190, -0.990923977595579490, +-0.990930697530670870, -0.990937414988435460, -0.990944129968856500, -0.990950842471917110, -0.990957552497600760, -0.990964260045890440, -0.990970965116769630, -0.990977667710221220, +-0.990984367826228780, -0.990991065464775330, -0.990997760625844220, -0.991004453309418660, -0.991011143515482030, -0.991017831244017540, -0.991024516495008450, -0.991031199268438190, +-0.991037879564289790, -0.991044557382546820, -0.991051232723192290, -0.991057905586209760, -0.991064575971582480, -0.991071243879293910, -0.991077909309327040, -0.991084572261665350, +-0.991091232736292290, -0.991097890733191210, -0.991104546252345340, -0.991111199293738140, -0.991117849857352850, -0.991124497943173030, -0.991131143551181930, -0.991137786681363100, +-0.991144427333699670, -0.991151065508175220, -0.991157701204773090, -0.991164334423476730, -0.991170965164269610, -0.991177593427134960, -0.991184219212056240, -0.991190842519017120, +-0.991197463348000850, -0.991204081698990880, -0.991210697571970780, -0.991217310966923890, -0.991223921883833680, -0.991230530322683710, -0.991237136283457550, -0.991243739766138440, +-0.991250340770709950, -0.991256939297155640, -0.991263535345458860, -0.991270128915603400, -0.991276720007572610, -0.991283308621350060, -0.991289894756919090, -0.991296478414263490, +-0.991303059593366620, -0.991309638294212150, -0.991316214516783530, -0.991322788261064350, -0.991329359527038270, -0.991335928314688970, -0.991342494623999590, -0.991349058454954020, +-0.991355619807535840, -0.991362178681728600, -0.991368735077515880, -0.991375288994881480, -0.991381840433808730, -0.991388389394281420, -0.991394935876283130, -0.991401479879797430, +-0.991408021404808100, -0.991414560451298720, -0.991421097019252850, -0.991427631108654280, -0.991434162719486810, -0.991440691851733780, -0.991447218505378980, -0.991453742680406200, +-0.991460264376799020, -0.991466783594541100, -0.991473300333616470, -0.991479814594008470, -0.991486326375700890, -0.991492835678677520, -0.991499342502921930, -0.991505846848418140, +-0.991512348715149710, -0.991518848103100430, -0.991525345012253980, -0.991531839442594150, -0.991538331394104850, -0.991544820866769650, -0.991551307860572330, -0.991557792375496790, +-0.991564274411526720, -0.991570753968646130, -0.991577231046838480, -0.991583705646087890, -0.991590177766377920, -0.991596647407692490, -0.991603114570015490, -0.991609579253330710, +-0.991616041457621940, -0.991622501182873100, -0.991628958429068060, -0.991635413196190640, -0.991641865484224620, -0.991648315293154000, -0.991654762622962480, -0.991661207473634070, +-0.991667649845152650, -0.991674089737502260, -0.991680527150666570, -0.991686962084629480, -0.991693394539374990, -0.991699824514887030, -0.991706252011149590, -0.991712677028146360, +-0.991719099565861570, -0.991725519624279020, -0.991731937203382710, -0.991738352303156550, -0.991744764923584430, -0.991751175064650380, -0.991757582726338400, -0.991763987908632520, +-0.991770390611516730, -0.991776790834974830, -0.991783188578991060, -0.991789583843549210, -0.991795976628633500, -0.991802366934227740, -0.991808754760316160, -0.991815140106882650, +-0.991821522973911350, -0.991827903361386260, -0.991834281269291300, -0.991840656697610680, -0.991847029646328430, -0.991853400115428550, -0.991859768104895290, -0.991866133614712650, +-0.991872496644864540, -0.991878857195335200, -0.991885215266108730, -0.991891570857169170, -0.991897923968500740, -0.991904274600087570, -0.991910622751913550, -0.991916968423963040, +-0.991923311616220160, -0.991929652328669140, -0.991935990561293780, -0.991942326314078530, -0.991948659587007400, -0.991954990380064630, -0.991961318693234450, -0.991967644526500990, +-0.991973967879848260, -0.991980288753260720, -0.991986607146722490, -0.991992923060217690, -0.991999236493730560, -0.992005547447245340, -0.992011855920746250, -0.992018161914217540, +-0.992024465427643550, -0.992030766461008300, -0.992037065014296120, -0.992043361087491250, -0.992049654680578040, -0.992055945793540620, -0.992062234426363540, -0.992068520579030610, +-0.992074804251526500, -0.992081085443835330, -0.992087364155941450, -0.992093640387829210, -0.992099914139482840, -0.992106185410886690, -0.992112454202025100, -0.992118720512882410, +-0.992124984343442870, -0.992131245693690820, -0.992137504563610720, -0.992143760953186790, -0.992150014862403510, -0.992156266291245310, -0.992162515239696340, -0.992168761707741040, +-0.992175005695363880, -0.992181247202549190, -0.992187486229281320, -0.992193722775544850, -0.992199956841324000, -0.992206188426603240, -0.992212417531367130, -0.992218644155599900, +-0.992224868299286020, -0.992231089962410050, -0.992237309144956230, -0.992243525846909220, -0.992249740068253510, -0.992255951808973300, -0.992262161069053290, -0.992268367848477830, +-0.992274572147231470, -0.992280773965298570, -0.992286973302663910, -0.992293170159311620, -0.992299364535226600, -0.992305556430393090, -0.992311745844795760, -0.992317932778418950, +-0.992324117231247360, -0.992330299203265430, -0.992336478694457850, -0.992342655704809060, -0.992348830234303650, -0.992355002282926060, -0.992361171850660970, -0.992367338937493070, +-0.992373503543406700, -0.992379665668386530, -0.992385825312417370, -0.992391982475483550, -0.992398137157569750, -0.992404289358660760, -0.992410439078740940, -0.992416586317794950, +-0.992422731075807580, -0.992428873352763310, -0.992435013148647020, -0.992441150463443060, -0.992447285297136220, -0.992453417649711180, -0.992459547521152620, -0.992465674911445220, +-0.992471799820573540, -0.992477922248522380, -0.992484042195276530, -0.992490159660820440, -0.992496274645139120, -0.992502387148216920, -0.992508497170038860, -0.992514604710589500, +-0.992520709769853740, -0.992526812347816030, -0.992532912444461510, -0.992539010059774630, -0.992545105193740170, -0.992551197846342940, -0.992557288017567710, -0.992563375707399280, +-0.992569460915822430, -0.992575543642821860, -0.992581623888382450, -0.992587701652489220, -0.992593776935126510, -0.992599849736279350, -0.992605920055932620, -0.992611987894071010, +-0.992618053250679530, -0.992624116125742970, -0.992630176519246010, -0.992636234431173550, -0.992642289861510600, -0.992648342810241950, -0.992654393277352390, -0.992660441262826820, +-0.992666486766650150, -0.992672529788807270, -0.992678570329283190, -0.992684608388062610, -0.992690643965130510, -0.992696677060471710, -0.992702707674071320, -0.992708735805914120, +-0.992714761455985140, -0.992720784624269270, -0.992726805310751300, -0.992732823515416360, -0.992738839238249460, -0.992744852479235380, -0.992750863238359150, -0.992756871515605770, +-0.992762877310960250, -0.992768880624407490, -0.992774881455932730, -0.992780879805520540, -0.992786875673156270, -0.992792869058824690, -0.992798859962511050, -0.992804848384200240, +-0.992810834323877290, -0.992816817781527310, -0.992822798757135190, -0.992828777250686080, -0.992834753262165080, -0.992840726791557100, -0.992846697838847380, -0.992852666404020920, +-0.992858632487062740, -0.992864596087958180, -0.992870557206691930, -0.992876515843249320, -0.992882471997615480, -0.992888425669775420, -0.992894376859714270, -0.992900325567417250, +-0.992906271792869390, -0.992912215536055800, -0.992918156796961720, -0.992924095575572150, -0.992930031871872450, -0.992935965685847630, -0.992941897017482920, -0.992947825866763440, +-0.992953752233674440, -0.992959676118201020, -0.992965597520328420, -0.992971516440041890, -0.992977432877326430, -0.992983346832167490, -0.992989258304550200, -0.992995167294459800, +-0.993001073801881410, -0.993006977826800250, -0.993012879369201800, -0.993018778429071050, -0.993024675006393350, -0.993030569101153950, -0.993036460713338180, -0.993042349842931380, +-0.993048236489918580, -0.993054120654285110, -0.993060002336016430, -0.993065881535097780, -0.993071758251514390, -0.993077632485251600, -0.993083504236294770, -0.993089373504629110, +-0.993095240290239990, -0.993101104593112850, -0.993106966413232930, -0.993112825750585570, -0.993118682605156120, -0.993124536976930040, -0.993130388865892550, -0.993136238272029240, +-0.993142085195325210, -0.993147929635765920, -0.993153771593336840, -0.993159611068023310, -0.993165448059810880, -0.993171282568684810, -0.993177114594630430, -0.993182944137633310, +-0.993188771197678790, -0.993194595774752330, -0.993200417868839500, -0.993206237479925540, -0.993212054607996000, -0.993217869253036230, -0.993223681415032030, -0.993229491093968410, +-0.993235298289831150, -0.993241103002605600, -0.993246905232277320, -0.993252704978831780, -0.993258502242254540, -0.993264297022531050, -0.993270089319646670, -0.993275879133587170, +-0.993281666464337910, -0.993287451311884560, -0.993293233676212470, -0.993299013557307430, -0.993304790955154780, -0.993310565869740200, -0.993316338301049150, -0.993322108249067300, +-0.993327875713780120, -0.993333640695173270, -0.993339403193232330, -0.993345163207942970, -0.993350920739290650, -0.993356675787261060, -0.993362428351839630, -0.993368178433012280, +-0.993373926030764350, -0.993379671145081740, -0.993385413775949910, -0.993391153923354420, -0.993396891587281280, -0.993402626767715850, -0.993408359464643790, -0.993414089678050780, +-0.993419817407922620, -0.993425542654244880, -0.993431265417003330, -0.993436985696183660, -0.993442703491771440, -0.993448418803752450, -0.993454131632112380, -0.993459841976837010, +-0.993465549837912130, -0.993471255215323310, -0.993476958109056340, -0.993482658519097010, -0.993488356445431100, -0.993494051888044180, -0.993499744846922160, -0.993505435322050710, +-0.993511123313415730, -0.993516808821003130, -0.993522491844798350, -0.993528172384787300, -0.993533850440955770, -0.993539526013289760, -0.993545199101774860, -0.993550869706396940, +-0.993556537827141820, -0.993562203463995490, -0.993567866616943520, -0.993573527285972040, -0.993579185471066610, -0.993584841172213240, -0.993590494389397730, -0.993596145122606080, +-0.993601793371823970, -0.993607439137037530, -0.993613082418232430, -0.993618723215394570, -0.993624361528509860, -0.993629997357564300, -0.993635630702543680, -0.993641261563434130, +-0.993646889940221320, -0.993652515832891270, -0.993658139241430090, -0.993663760165823470, -0.993669378606057420, -0.993674994562117830, -0.993680608033990830, -0.993686219021662430, +-0.993691827525118420, -0.993697433544344810, -0.993703037079327610, -0.993708638130052830, -0.993714236696506380, -0.993719832778674480, -0.993725426376542930, -0.993731017490097730, +-0.993736606119325130, -0.993742192264211010, -0.993747775924741280, -0.993753357100902180, -0.993758935792679710, -0.993764512000059890, -0.993770085723028830, -0.993775656961572550, +-0.993781225715677060, -0.993786791985328600, -0.993792355770513060, -0.993797917071216670, -0.993803475887425460, -0.993809032219125530, -0.993814586066303130, -0.993820137428944150, +-0.993825686307034940, -0.993831232700561510, -0.993836776609509980, -0.993842318033866470, -0.993847856973617110, -0.993853393428748120, -0.993858927399245860, -0.993864458885096110, +-0.993869987886285220, -0.993875514402799310, -0.993881038434624720, -0.993886559981747460, -0.993892079044153780, -0.993897595621830000, -0.993903109714762150, -0.993908621322936560, +-0.993914130446339470, -0.993919637084957010, -0.993925141238775400, -0.993930642907780990, -0.993936142091959910, -0.993941638791298600, -0.993947133005783190, -0.993952624735399910, +-0.993958113980135010, -0.993963600739974810, -0.993969085014905660, -0.993974566804913810, -0.993980046109985470, -0.993985522930107110, -0.993990997265264850, -0.993996469115445260, +-0.994001938480634450, -0.994007405360818660, -0.994012869755984460, -0.994018331666118080, -0.994023791091205760, -0.994029248031234160, -0.994034702486189300, -0.994040154456057760, +-0.994045603940825750, -0.994051050940479740, -0.994056495455006180, -0.994061937484391310, -0.994067377028621580, -0.994072814087683440, -0.994078248661563360, -0.994083680750247670, +-0.994089110353722600, -0.994094537471974850, -0.994099962104990740, -0.994105384252756740, -0.994110803915259300, -0.994116221092484880, -0.994121635784419810, -0.994127047991050670, +-0.994132457712363920, -0.994137864948346110, -0.994143269698983480, -0.994148671964262820, -0.994154071744170360, -0.994159469038692790, -0.994164863847816660, -0.994170256171528210, +-0.994175646009814120, -0.994181033362660950, -0.994186418230055270, -0.994191800611983530, -0.994197180508432200, -0.994202557919387940, -0.994207932844837330, -0.994213305284766810, +-0.994218675239163070, -0.994224042708012680, -0.994229407691302190, -0.994234770189018070, -0.994240130201147100, -0.994245487727675960, -0.994250842768590880, -0.994256195323878770, +-0.994261545393526180, -0.994266892977519690, -0.994272238075845970, -0.994277580688491810, -0.994282920815443560, -0.994288258456688000, -0.994293593612211810, -0.994298926282001560, +-0.994304256466044030, -0.994309584164325910, -0.994314909376833870, -0.994320232103554470, -0.994325552344474620, -0.994330870099580770, -0.994336185368859820, -0.994341498152298330, +-0.994346808449883100, -0.994352116261600800, -0.994357421587438450, -0.994362724427382380, -0.994368024781419390, -0.994373322649536480, -0.994378618031720230, -0.994383910927957420, +-0.994389201338234830, -0.994394489262539260, -0.994399774700857500, -0.994405057653176330, -0.994410338119482430, -0.994415616099762700, -0.994420891594003930, -0.994426164602192910, +-0.994431435124316530, -0.994436703160361590, -0.994441968710314870, -0.994447231774163170, -0.994452492351893480, -0.994457750443492490, -0.994463006048947110, -0.994468259168244220, +-0.994473509801370730, -0.994478757948313420, -0.994484003609059200, -0.994489246783595070, -0.994494487471907830, -0.994499725673984260, -0.994504961389811370, -0.994510194619376180, +-0.994515425362665570, -0.994520653619666240, -0.994525879390365300, -0.994531102674749650, -0.994536323472806290, -0.994541541784522030, -0.994546757609883980, -0.994551970948879040, +-0.994557181801494220, -0.994562390167716410, -0.994567596047532640, -0.994572799440929910, -0.994578000347895120, -0.994583198768415280, -0.994588394702477510, -0.994593588150068820, +-0.994598779111176110, -0.994603967585786400, -0.994609153573886800, -0.994614337075464320, -0.994619518090505970, -0.994624696618998880, -0.994629872660930060, -0.994635046216286510, +-0.994640217285055360, -0.994645385867223730, -0.994650551962778520, -0.994655715571706960, -0.994660876693996170, -0.994666035329633160, -0.994671191478605050, -0.994676345140898980, +-0.994681496316502050, -0.994686645005401380, -0.994691791207584110, -0.994696934923037230, -0.994702076151748100, -0.994707214893703840, -0.994712351148891450, -0.994717484917298280, +-0.994722616198911450, -0.994727744993717970, -0.994732871301705070, -0.994737995122860100, -0.994743116457170060, -0.994748235304622310, -0.994753351665203960, -0.994758465538902240, +-0.994763576925704270, -0.994768685825597410, -0.994773792238568880, -0.994778896164605800, -0.994783997603695510, -0.994789096555825260, -0.994794193020982150, -0.994799286999153650, +-0.994804378490326990, -0.994809467494489290, -0.994814554011627990, -0.994819638041730240, -0.994824719584783470, -0.994829798640774920, -0.994834875209691720, -0.994839949291521420, +-0.994845020886251260, -0.994850089993868590, -0.994855156614360640, -0.994860220747714740, -0.994865282393918360, -0.994870341552958730, -0.994875398224823290, -0.994880452409499410, +-0.994885504106974290, -0.994890553317235530, -0.994895600040270220, -0.994900644276066060, -0.994905686024610160, -0.994910725285890200, -0.994915762059893400, -0.994920796346607130, +-0.994925828146018820, -0.994930857458116050, -0.994935884282886040, -0.994940908620316370, -0.994945930470394370, -0.994950949833107610, -0.994955966708443550, -0.994960981096389530, +-0.994965992996933000, -0.994971002410061420, -0.994976009335762470, -0.994981013774023370, -0.994986015724831920, -0.994991015188175340, -0.994996012164041210, -0.995001006652416970, +-0.995005998653290310, -0.995010988166648680, -0.995015975192479530, -0.995020959730770430, -0.995025941781508940, -0.995030921344682630, -0.995035898420279060, -0.995040873008285590, +-0.995045845108690100, -0.995050814721479830, -0.995055781846642670, -0.995060746484166090, -0.995065708634037540, -0.995070668296244690, -0.995075625470775220, -0.995080580157616690, +-0.995085532356756670, -0.995090482068182850, -0.995095429291882770, -0.995100374027844240, -0.995105316276054700, -0.995110256036501940, -0.995115193309173420, -0.995120128094057030, +-0.995125060391140240, -0.995129990200410820, -0.995134917521856450, -0.995139842355464820, -0.995144764701223480, -0.995149684559120340, -0.995154601929142850, -0.995159516811279010, +-0.995164429205516290, -0.995169339111842470, -0.995174246530245330, -0.995179151460712560, -0.995184053903232060, -0.995188953857791270, -0.995193851324378100, -0.995198746302980330, +-0.995203638793585750, -0.995208528796181930, -0.995213416310756990, -0.995218301337298380, -0.995223183875794120, -0.995228063926231750, -0.995232941488599310, -0.995237816562884460, +-0.995242689149075100, -0.995247559247159020, -0.995252426857124010, -0.995257291978958070, -0.995262154612648780, -0.995267014758184130, -0.995271872415551930, -0.995276727584740060, +-0.995281580265736320, -0.995286430458528830, -0.995291278163105030, -0.995296123379453170, -0.995300966107560910, -0.995305806347416280, -0.995310644099007160, -0.995315479362321340, +-0.995320312137346840, -0.995325142424071660, -0.995329970222483600, -0.995334795532570650, -0.995339618354320610, -0.995344438687721490, -0.995349256532761410, -0.995354071889428040, +-0.995358884757709730, -0.995363695137594040, -0.995368503029069100, -0.995373308432122910, -0.995378111346743480, -0.995382911772918710, -0.995387709710636730, -0.995392505159885420, +-0.995397298120652920, -0.995402088592927110, -0.995406876576696130, -0.995411662071947980, -0.995416445078670550, -0.995421225596852090, -0.995426003626480590, -0.995430779167544190, +-0.995435552220030660, -0.995440322783928240, -0.995445090859225060, -0.995449856445909220, -0.995454619543968630, -0.995459380153391530, -0.995464138274166020, -0.995468893906280130, +-0.995473647049722080, -0.995478397704479880, -0.995483145870541650, -0.995487891547895520, -0.995492634736529710, -0.995497375436432350, -0.995502113647591560, -0.995506849369995450, +-0.995511582603632150, -0.995516313348490000, -0.995521041604557010, -0.995525767371821410, -0.995530490650271330, -0.995535211439895100, -0.995539929740680840, -0.995544645552616790, +-0.995549358875691180, -0.995554069709892020, -0.995558778055207760, -0.995563483911626520, -0.995568187279136650, -0.995572888157726270, -0.995577586547383710, -0.995582282448097100, +-0.995586975859854780, -0.995591666782645100, -0.995596355216456170, -0.995601041161276460, -0.995605724617094070, -0.995610405583897350, -0.995615084061674650, -0.995619760050414300, +-0.995624433550104440, -0.995629104560733610, -0.995633773082289950, -0.995638439114761800, -0.995643102658137600, -0.995647763712405710, -0.995652422277554460, -0.995657078353571980, +-0.995661731940446940, -0.995666383038167460, -0.995671031646722100, -0.995675677766099110, -0.995680321396286930, -0.995684962537274010, -0.995689601189048590, -0.995694237351599340, +-0.995698871024914280, -0.995703502208982180, -0.995708130903791290, -0.995712757109330050, -0.995717380825587030, -0.995722002052550460, -0.995726620790208910, -0.995731237038550710, +-0.995735850797564550, -0.995740462067238650, -0.995745070847561700, -0.995749677138522030, -0.995754280940108090, -0.995758882252308570, -0.995763481075111810, -0.995768077408506370, +-0.995772671252480700, -0.995777262607023370, -0.995781851472122840, -0.995786437847767770, -0.995791021733946510, -0.995795603130647740, -0.995800182037860030, -0.995804758455571700, +-0.995809332383771560, -0.995813903822448170, -0.995818472771589860, -0.995823039231185540, -0.995827603201223430, -0.995832164681692560, -0.995836723672581140, -0.995841280173877850, +-0.995845834185571490, -0.995850385707650390, -0.995854934740103450, -0.995859481282919230, -0.995864025336086200, -0.995868566899593130, -0.995873105973428600, -0.995877642557581380, +-0.995882176652039930, -0.995886708256793150, -0.995891237371829610, -0.995895763997137860, -0.995900288132706920, -0.995904809778525020, -0.995909328934581280, -0.995913845600864040, +-0.995918359777362320, -0.995922871464064660, -0.995927380660959870, -0.995931887368036620, -0.995936391585283580, -0.995940893312689650, -0.995945392550243390, -0.995949889297933710, +-0.995954383555749280, -0.995958875323678880, -0.995963364601711310, -0.995967851389835350, -0.995972335688039780, -0.995976817496313280, -0.995981296814644870, -0.995985773643023100, +-0.995990247981436980, -0.995994719829875200, -0.995999189188326640, -0.996003656056780100, -0.996008120435224350, -0.996012582323648420, -0.996017041722040970, -0.996021498630390910, +-0.996025953048687020, -0.996030404976918420, -0.996034854415073670, -0.996039301363141890, -0.996043745821111880, -0.996048187788972420, -0.996052627266712510, -0.996057064254320950, +-0.996061498751786960, -0.996065930759098990, -0.996070360276246290, -0.996074787303217630, -0.996079211840002140, -0.996083633886588490, -0.996088053442965800, -0.996092470509122970, +-0.996096885085048900, -0.996101297170732700, -0.996105706766163280, -0.996110113871329640, -0.996114518486220570, -0.996118920610825300, -0.996123320245132620, -0.996127717389131750, +-0.996132112042811600, -0.996136504206161180, -0.996140893879169380, -0.996145281061825430, -0.996149665754118230, -0.996154047956036900, -0.996158427667570460, -0.996162804888707900, +-0.996167179619438350, -0.996171551859750930, -0.996175921609634530, -0.996180288869078390, -0.996184653638071520, -0.996189015916602920, -0.996193375704661820, -0.996197733002237460, +-0.996202087809318630, -0.996206440125894540, -0.996210789951954330, -0.996215137287487230, -0.996219482132482240, -0.996223824486928590, -0.996228164350815290, -0.996232501724131690, +-0.996236836606866900, -0.996241168999009830, -0.996245498900549920, -0.996249826311476290, -0.996254151231778070, -0.996258473661444490, -0.996262793600464770, -0.996267111048827920, +-0.996271426006523410, -0.996275738473540230, -0.996280048449867840, -0.996284355935495250, -0.996288660930411800, -0.996292963434606600, -0.996297263448069130, -0.996301560970788370, +-0.996305856002753900, -0.996310148543954610, -0.996314438594380070, -0.996318726154019400, -0.996323011222861820, -0.996327293800896910, -0.996331573888113550, -0.996335851484501430, +-0.996340126590049560, -0.996344399204747380, -0.996348669328584240, -0.996352936961549470, -0.996357202103632210, -0.996361464754822120, -0.996365724915108220, -0.996369982584480170, +-0.996374237762927110, -0.996378490450438360, -0.996382740647003500, -0.996386988352611750, -0.996391233567252450, -0.996395476290915180, -0.996399716523589160, -0.996403954265263850, +-0.996408189515928690, -0.996412422275573030, -0.996416652544186320, -0.996420880321758020, -0.996425105608277460, -0.996429328403734100, -0.996433548708117510, -0.996437766521417020, +-0.996441981843622090, -0.996446194674722290, -0.996450405014706830, -0.996454612863565510, -0.996458818221287680, -0.996463021087862780, -0.996467221463280260, -0.996471419347529700, +-0.996475614740600530, -0.996479807642482450, -0.996483998053164790, -0.996488185972637110, -0.996492371400888980, -0.996496554337910070, -0.996500734783689610, -0.996504912738217290, +-0.996509088201482760, -0.996513261173475500, -0.996517431654185050, -0.996521599643601210, -0.996525765141713200, -0.996529928148510710, -0.996534088663983520, -0.996538246688121080, +-0.996542402220913060, -0.996546555262348920, -0.996550705812418450, -0.996554853871111310, -0.996558999438416860, -0.996563142514325100, -0.996567283098825360, -0.996571421191907450, +-0.996575556793561020, -0.996579689903775660, -0.996583820522541130, -0.996587948649847010, -0.996592074285682970, -0.996596197430038800, -0.996600318082904170, -0.996604436244268640, +-0.996608551914122010, -0.996612665092454160, -0.996616775779254450, -0.996620883974512980, -0.996624989678219220, -0.996629092890363060, -0.996633193610934050, -0.996637291839922110, +-0.996641387577316910, -0.996645480823108220, -0.996649571577285950, -0.996653659839839670, -0.996657745610759260, -0.996661828890034520, -0.996665909677655120, -0.996669987973610950, +-0.996674063777891920, -0.996678137090487580, -0.996682207911388060, -0.996686276240582920, -0.996690342078062170, -0.996694405423815490, -0.996698466277832760, -0.996702524640104000, +-0.996706580510618780, -0.996710633889367200, -0.996714684776339070, -0.996718733171524150, -0.996722779074912470, -0.996726822486493690, -0.996730863406257940, -0.996734901834195110, +-0.996738937770294990, -0.996742971214547470, -0.996747002166942560, -0.996751030627470170, -0.996755056596120180, -0.996759080072882500, -0.996763101057747130, -0.996767119550704070, +-0.996771135551743240, -0.996775149060854520, -0.996779160078027910, -0.996783168603253330, -0.996787174636521000, -0.996791178177820590, -0.996795179227142230, -0.996799177784476020, +-0.996803173849811870, -0.996807167423139680, -0.996811158504449680, -0.996815147093731760, -0.996819133190975930, -0.996823116796172300, -0.996827097909310900, -0.996831076530381720, +-0.996835052659374890, -0.996839026296280410, -0.996842997441088290, -0.996846966093788760, -0.996850932254371710, -0.996854895922827390, -0.996858857099145900, -0.996862815783317150, +-0.996866771975331470, -0.996870725675178870, -0.996874676882849360, -0.996878625598333290, -0.996882571821620540, -0.996886515552701360, -0.996890456791565960, -0.996894395538204360, +-0.996898331792606780, -0.996902265554763470, -0.996906196824664300, -0.996910125602299750, -0.996914051887659910, -0.996917975680734920, -0.996921896981515010, -0.996925815789990290, +-0.996929732106151100, -0.996933645929987570, -0.996937557261489920, -0.996941466100648380, -0.996945372447453180, -0.996949276301894450, -0.996953177663962740, -0.996957076533647960, +-0.996960972910940440, -0.996964866795830520, -0.996968758188308430, -0.996972647088364530, -0.996976533495988910, -0.996980417411172050, -0.996984298833904050, -0.996988177764175370, +-0.996992054201976230, -0.996995928147296980, -0.996999799600127860, -0.997003668560459190, -0.997007535028281430, -0.997011399003584930, -0.997015260486359800, -0.997019119476596490, +-0.997022975974285460, -0.997026829979416940, -0.997030681491981370, -0.997034530511969110, -0.997038377039370480, -0.997042221074175950, -0.997046062616375850, -0.997049901665960640, +-0.997053738222920650, -0.997057572287246340, -0.997061403858928050, -0.997065232937956240, -0.997069059524321450, -0.997072883618013940, -0.997076705219024140, -0.997080524327342730, +-0.997084340942959830, -0.997088155065866230, -0.997091966696052160, -0.997095775833508170, -0.997099582478224830, -0.997103386630192490, -0.997107188289401700, -0.997110987455842920, +-0.997114784129506710, -0.997118578310383420, -0.997122369998463820, -0.997126159193738150, -0.997129945896197300, -0.997133730105831400, -0.997137511822631220, -0.997141291046587330, +-0.997145067777690080, -0.997148842015930240, -0.997152613761298270, -0.997156383013784840, -0.997160149773380410, -0.997163914040075650, -0.997167675813861010, -0.997171435094727280, +-0.997175191882664900, -0.997178946177664450, -0.997182697979716810, -0.997186447288812340, -0.997190194104941810, -0.997193938428095670, -0.997197680258264830, -0.997201419595439730, +-0.997205156439611050, -0.997208890790769460, -0.997212622648905640, -0.997216352014010380, -0.997220078886074220, -0.997223803265087750, -0.997227525151041850, -0.997231244543927090, +-0.997234961443734250, -0.997238675850454000, -0.997242387764077140, -0.997246097184594230, -0.997249804111996150, -0.997253508546273480, -0.997257210487417000, -0.997260909935417610, +-0.997264606890265860, -0.997268301351952550, -0.997271993320468560, -0.997275682795804590, -0.997279369777951510, -0.997283054266899890, -0.997286736262640640, -0.997290415765164530, +-0.997294092774462460, -0.997297767290525110, -0.997301439313343360, -0.997305108842908020, -0.997308775879209850, -0.997312440422239770, -0.997316102471988540, -0.997319762028447190, +-0.997323419091606270, -0.997327073661456900, -0.997330725737989860, -0.997334375321195950, -0.997338022411066170, -0.997341667007591300, -0.997345309110762250, -0.997348948720569890, +-0.997352585837005260, -0.997356220460059120, -0.997359852589722480, -0.997363482225986140, -0.997367109368841100, -0.997370734018278250, -0.997374356174288600, -0.997377975836863050, +-0.997381593005992610, -0.997385207681668050, -0.997388819863880730, -0.997392429552621200, -0.997396036747880580, -0.997399641449649880, -0.997403243657920100, -0.997406843372682150, +-0.997410440593927250, -0.997414035321646080, -0.997417627555829860, -0.997421217296469600, -0.997424804543556310, -0.997428389297081000, -0.997431971557034670, -0.997435551323408440, +-0.997439128596193330, -0.997442703375380550, -0.997446275660960780, -0.997449845452925480, -0.997453412751265420, -0.997456977555971960, -0.997460539867035980, -0.997464099684448710, +-0.997467657008201170, -0.997471211838284470, -0.997474764174689720, -0.997478314017408160, -0.997481861366430690, -0.997485406221748640, -0.997488948583353020, -0.997492488451235060, +-0.997496025825385880, -0.997499560705796710, -0.997503093092458550, -0.997506622985362630, -0.997510150384500300, -0.997513675289862460, -0.997517197701440540, -0.997520717619225560, +-0.997524235043208750, -0.997527749973381340, -0.997531262409734550, -0.997534772352259740, -0.997538279800947890, -0.997541784755790360, -0.997545287216778380, -0.997548787183903160, +-0.997552284657156060, -0.997555779636528080, -0.997559272122010790, -0.997562762113595290, -0.997566249611272830, -0.997569734615034840, -0.997573217124872460, -0.997576697140777010, +-0.997580174662739850, -0.997583649690752310, -0.997587122224805610, -0.997590592264891000, -0.997594059811000020, -0.997597524863123810, -0.997600987421253920, -0.997604447485381460, +-0.997607905055497900, -0.997611360131594570, -0.997614812713662920, -0.997618262801694190, -0.997621710395679710, -0.997625155495611150, -0.997628598101479520, -0.997632038213276510, +-0.997635475830993320, -0.997638910954621430, -0.997642343584152380, -0.997645773719577300, -0.997649201360887970, -0.997652626508075510, -0.997656049161131600, -0.997659469320047450, +-0.997662886984814650, -0.997666302155424730, -0.997669714831868950, -0.997673125014138850, -0.997676532702226120, -0.997679937896121860, -0.997683340595817870, -0.997686740801305480, +-0.997690138512576260, -0.997693533729621660, -0.997696926452433240, -0.997700316681002560, -0.997703704415321080, -0.997707089655380240, -0.997710472401171830, -0.997713852652687080, +-0.997717230409917780, -0.997720605672855370, -0.997723978441491520, -0.997727348715817700, -0.997730716495825450, -0.997734081781506470, -0.997737444572852290, -0.997740804869854500, +-0.997744162672504650, -0.997747517980794420, -0.997750870794715360, -0.997754221114259150, -0.997757568939417360, -0.997760914270181760, -0.997764257106543710, -0.997767597448495080, +-0.997770935296027560, -0.997774270649132600, -0.997777603507801980, -0.997780933872027380, -0.997784261741800460, -0.997787587117112800, -0.997790909997956170, -0.997794230384322360, +-0.997797548276202930, -0.997800863673589560, -0.997804176576474130, -0.997807486984848220, -0.997810794898703720, -0.997814100318032080, -0.997817403242825200, -0.997820703673074850, +-0.997824001608772710, -0.997827297049910580, -0.997830589996480220, -0.997833880448473430, -0.997837168405881880, -0.997840453868697460, -0.997843736836911850, -0.997847017310516840, +-0.997850295289504420, -0.997853570773866160, -0.997856843763593960, -0.997860114258679820, -0.997863382259115310, -0.997866647764892310, -0.997869910776002620, -0.997873171292438240, +-0.997876429314190960, -0.997879684841252560, -0.997882937873615040, -0.997886188411270080, -0.997889436454209580, -0.997892682002425650, -0.997895925055909850, -0.997899165614654300, +-0.997902403678650910, -0.997905639247891440, -0.997908872322367910, -0.997912102902072220, -0.997915330986996250, -0.997918556577131910, -0.997921779672471200, -0.997925000273006120, +-0.997928218378728470, -0.997931433989630360, -0.997934647105703570, -0.997937857726940100, -0.997941065853332090, -0.997944271484871410, -0.997947474621549980, -0.997950675263359900, +-0.997953873410293180, -0.997957069062341720, -0.997960262219497630, -0.997963452881752920, -0.997966641049099490, -0.997969826721529450, -0.997973009899034920, -0.997976190581607910, +-0.997979368769240320, -0.997982544461924360, -0.997985717659651940, -0.997988888362415280, -0.997992056570206510, -0.997995222283017510, -0.997998385500840410, -0.998001546223667320, +-0.998004704451490480, -0.998007860184301880, -0.998011013422093640, -0.998014164164857780, -0.998017312412586510, -0.998020458165271960, -0.998023601422906360, -0.998026742185481710, +-0.998029880452990240, -0.998033016225423950, -0.998036149502775190, -0.998039280285036080, -0.998042408572198720, -0.998045534364255360, -0.998048657661198100, -0.998051778463019290, +-0.998054896769711040, -0.998058012581265590, -0.998061125897675040, -0.998064236718931630, -0.998067345045027700, -0.998070450875955360, -0.998073554211706960, -0.998076655052274610, +-0.998079753397650650, -0.998082849247827310, -0.998085942602796820, -0.998089033462551510, -0.998092121827083510, -0.998095207696385270, -0.998098291070449120, -0.998101371949267180, +-0.998104450332831790, -0.998107526221135190, -0.998110599614169920, -0.998113670511928010, -0.998116738914402000, -0.998119804821584240, -0.998122868233466850, -0.998125929150042280, +-0.998128987571302970, -0.998132043497241160, -0.998135096927849190, -0.998138147863119500, -0.998141196303044430, -0.998144242247616440, -0.998147285696827760, -0.998150326650670940, +-0.998153365109138320, -0.998156401072222250, -0.998159434539915070, -0.998162465512209440, -0.998165493989097710, -0.998168519970572100, -0.998171543456625180, -0.998174564447249500, +-0.998177582942437300, -0.998180598942181250, -0.998183612446473690, -0.998186623455306950, -0.998189631968673830, -0.998192637986566540, -0.998195641508977770, -0.998198642535899740, +-0.998201641067325230, -0.998204637103246580, -0.998207630643656250, -0.998210621688546910, -0.998213610237911110, -0.998216596291741200, -0.998219579850029850, -0.998222560912769400, +-0.998225539479952630, -0.998228515551572100, -0.998231489127620160, -0.998234460208089590, -0.998237428792972840, -0.998240394882262460, -0.998243358475951140, -0.998246319574031430, +-0.998249278176496000, -0.998252234283337200, -0.998255187894547920, -0.998258139010120730, -0.998261087630048060, -0.998264033754322820, -0.998266977382937350, -0.998269918515884540, +-0.998272857153156830, -0.998275793294747030, -0.998278726940647790, -0.998281658090851680, -0.998284586745351480, -0.998287512904139750, -0.998290436567209280, -0.998293357734552630, +-0.998296276406162700, -0.998299192582032040, -0.998302106262153430, -0.998305017446519560, -0.998307926135123090, -0.998310832327956810, -0.998313736025013500, -0.998316637226285720, +-0.998319535931766480, -0.998322432141448330, -0.998325325855324190, -0.998328217073386700, -0.998331105795628670, -0.998333992022042870, -0.998336875752621980, -0.998339756987358990, +-0.998342635726246600, -0.998345511969277680, -0.998348385716445020, -0.998351256967741300, -0.998354125723159400, -0.998356991982692230, -0.998359855746332570, -0.998362717014073310, +-0.998365575785907230, -0.998368432061827240, -0.998371285841826110, -0.998374137125896840, -0.998376985914032230, -0.998379832206225060, -0.998382676002468330, -0.998385517302754930, +-0.998388356107077770, -0.998391192415429730, -0.998394026227803710, -0.998396857544192610, -0.998399686364589310, -0.998402512688986830, -0.998405336517378060, -0.998408157849756010, +-0.998410976686113560, -0.998413793026443620, -0.998416606870739190, -0.998419418218993270, -0.998422227071198880, -0.998425033427348780, -0.998427837287436120, -0.998430638651453980, +-0.998433437519395170, -0.998436233891252800, -0.998439027767019760, -0.998441819146689170, -0.998444608030254140, -0.998447394417707470, -0.998450178309042370, -0.998452959704251740, +-0.998455738603328810, -0.998458515006266590, -0.998461288913057960, -0.998464060323696170, -0.998466829238174200, -0.998469595656485190, -0.998472359578622130, -0.998475121004578250, +-0.998477879934346560, -0.998480636367920170, -0.998483390305292100, -0.998486141746455670, -0.998488890691403790, -0.998491637140129670, -0.998494381092626560, -0.998497122548887450, +-0.998499861508905460, -0.998502597972674040, -0.998505331940185870, -0.998508063411434500, -0.998510792386412940, -0.998513518865114410, -0.998516242847532150, -0.998518964333659160, +-0.998521683323488900, -0.998524399817014350, -0.998527113814228760, -0.998529825315125460, -0.998532534319697460, -0.998535240827938320, -0.998537944839840930, -0.998540646355398740, +-0.998543345374604980, -0.998546041897452770, -0.998548735923935450, -0.998551427454046350, -0.998554116487778700, -0.998556803025125730, -0.998559487066080780, -0.998562168610637070, +-0.998564847658787950, -0.998567524210526640, -0.998570198265846590, -0.998572869824741030, -0.998575538887203410, -0.998578205453226730, -0.998580869522804670, -0.998583531095930450, +-0.998586190172597420, -0.998588846752798800, -0.998591500836528150, -0.998594152423778690, -0.998596801514543890, -0.998599448108817180, -0.998602092206591680, -0.998604733807861080, +-0.998607372912618580, -0.998610009520857660, -0.998612643632571740, -0.998615275247754170, -0.998617904366398410, -0.998620530988497900, -0.998623155114046090, -0.998625776743036430, +-0.998628395875462260, -0.998631012511317030, -0.998633626650594410, -0.998636238293287630, -0.998638847439390350, -0.998641454088895930, -0.998644058241797810, -0.998646659898089540, +-0.998649259057764690, -0.998651855720816610, -0.998654449887238950, -0.998657041557025170, -0.998659630730168720, -0.998662217406663280, -0.998664801586502280, -0.998667383269679300, +-0.998669962456187780, -0.998672539146021390, -0.998675113339173580, -0.998677685035638140, -0.998680254235408400, -0.998682820938478040, -0.998685385144840620, -0.998687946854489810, +-0.998690506067419050, -0.998693062783622020, -0.998695617003092280, -0.998698168725823620, -0.998700717951809480, -0.998703264681043650, -0.998705808913519570, -0.998708350649230910, +-0.998710889888171470, -0.998713426630334690, -0.998715960875714460, -0.998718492624304340, -0.998721021876097900, -0.998723548631088920, -0.998726072889271070, -0.998728594650638120, +-0.998731113915183540, -0.998733630682901330, -0.998736144953784930, -0.998738656727828240, -0.998741166005024830, -0.998743672785368570, -0.998746177068853160, -0.998748678855472250, +-0.998751178145219630, -0.998753674938089090, -0.998756169234074400, -0.998758661033169240, -0.998761150335367500, -0.998763637140662740, -0.998766121449048970, -0.998768603260519860, +-0.998771082575069300, -0.998773559392691080, -0.998776033713378860, -0.998778505537126660, -0.998780974863928140, -0.998783441693777090, -0.998785906026667500, -0.998788367862593170, +-0.998790827201547880, -0.998793284043525630, -0.998795738388520090, -0.998798190236525270, -0.998800639587534840, -0.998803086441542920, -0.998805530798543280, -0.998807972658529720, +-0.998810412021496340, -0.998812848887436820, -0.998815283256345280, -0.998817715128215490, -0.998820144503041460, -0.998822571380816980, -0.998824995761536160, -0.998827417645192780, +-0.998829837031780960, -0.998832253921294490, -0.998834668313727360, -0.998837080209073580, -0.998839489607327050, -0.998841896508481870, -0.998844300912531850, -0.998846702819471190, +-0.998849102229293680, -0.998851499141993450, -0.998853893557564600, -0.998856285476000920, -0.998858674897296410, -0.998861061821445410, -0.998863446248441590, -0.998865828178279180, +-0.998868207610952300, -0.998870584546454830, -0.998872958984780900, -0.998875330925924620, -0.998877700369880000, -0.998880067316641140, -0.998882431766202060, -0.998884793718556870, +-0.998887153173699800, -0.998889510131624860, -0.998891864592326040, -0.998894216555797580, -0.998896566022033580, -0.998898912991028180, -0.998901257462775580, -0.998903599437269700, +-0.998905938914504960, -0.998908275894475280, -0.998910610377174880, -0.998912942362597980, -0.998915271850738810, -0.998917598841591370, -0.998919923335150010, -0.998922245331408720, +-0.998924564830361960, -0.998926881832003730, -0.998929196336328260, -0.998931508343329780, -0.998933817853002610, -0.998936124865340890, -0.998938429380338830, -0.998940731397990670, +-0.998943030918290730, -0.998945327941233140, -0.998947622466812350, -0.998949914495022350, -0.998952204025857720, -0.998954491059312440, -0.998956775595380990, -0.998959057634057680, +-0.998961337175336640, -0.998963614219212310, -0.998965888765678930, -0.998968160814730830, -0.998970430366362240, -0.998972697420567710, -0.998974961977341370, -0.998977224036677660, +-0.998979483598570810, -0.998981740663015260, -0.998983995230005470, -0.998986247299535560, -0.998988496871600070, -0.998990743946193360, -0.998992988523309870, -0.998995230602943820, +-0.998997470185089660, -0.998999707269741970, -0.999001941856894840, -0.999004173946542950, -0.999006403538680640, -0.999008630633302250, -0.999010855230402340, -0.999013077329975240, +-0.999015296932015520, -0.999017514036517510, -0.999019728643475660, -0.999021940752884640, -0.999024150364738680, -0.999026357479032350, -0.999028562095760080, -0.999030764214916430, +-0.999032963836495980, -0.999035160960492940, -0.999037355586902100, -0.999039547715717900, -0.999041737346934800, -0.999043924480547350, -0.999046109116550120, -0.999048291254937550, +-0.999050470895704310, -0.999052648038844860, -0.999054822684353750, -0.999056994832225650, -0.999059164482455020, -0.999061331635036520, -0.999063496289964710, -0.999065658447234160, +-0.999067818106839420, -0.999069975268775060, -0.999072129933035850, -0.999074282099616350, -0.999076431768511130, -0.999078578939714860, -0.999080723613222090, -0.999082865789027500, +-0.999085005467125750, -0.999087142647511530, -0.999089277330179380, -0.999091409515124100, -0.999093539202340230, -0.999095666391822570, -0.999097791083565780, -0.999099913277564420, +-0.999102032973813390, -0.999104150172307140, -0.999106264873040660, -0.999108377076008410, -0.999110486781205290, -0.999112593988625950, -0.999114698698265080, -0.999116800910117450, +-0.999118900624177850, -0.999120997840440950, -0.999123092558901640, -0.999125184779554590, -0.999127274502394580, -0.999129361727416290, -0.999131446454614710, -0.999133528683984420, +-0.999135608415520290, -0.999137685649217230, -0.999139760385070020, -0.999141832623073320, -0.999143902363222040, -0.999145969605510940, -0.999148034349934930, -0.999150096596488900, +-0.999152156345167630, -0.999154213595965900, -0.999156268348878720, -0.999158320603900860, -0.999160370361027230, -0.999162417620252600, -0.999164462381571970, -0.999166504644980140, +-0.999168544410471980, -0.999170581678042620, -0.999172616447686730, -0.999174648719399320, -0.999176678493175260, -0.999178705769009470, -0.999180730546897040, -0.999182752826832670, +-0.999184772608811440, -0.999186789892828280, -0.999188804678878270, -0.999190816966956110, -0.999192826757056900, -0.999194834049175640, -0.999196838843307340, -0.999198841139446900, +-0.999200840937589430, -0.999202838237729820, -0.999204833039863070, -0.999206825343984310, -0.999208815150088410, -0.999210802458170510, -0.999212787268225600, -0.999214769580248690, +-0.999216749394234880, -0.999218726710179310, -0.999220701528076850, -0.999222673847922520, -0.999224643669711640, -0.999226610993439120, -0.999228575819100070, -0.999230538146689610, +-0.999232497976202730, -0.999234455307634660, -0.999236410140980410, -0.999238362476235100, -0.999240312313393940, -0.999242259652452060, -0.999244204493404450, -0.999246146836246350, +-0.999248086680972870, -0.999250024027579230, -0.999251958876060550, -0.999253891226411840, -0.999255821078628540, -0.999257748432705540, -0.999259673288638290, -0.999261595646421920, +-0.999263515506051410, -0.999265432867522120, -0.999267347730829370, -0.999269260095968170, -0.999271169962933750, -0.999273077331721550, -0.999274982202326580, -0.999276884574744170, +-0.999278784448969560, -0.999280681824997960, -0.999282576702824610, -0.999284469082444950, -0.999286358963853980, -0.999288246347047160, -0.999290131232019820, -0.999292013618767070, +-0.999293893507284260, -0.999295770897566720, -0.999297645789609780, -0.999299518183408790, -0.999301388078958960, -0.999303255476255540, -0.999305120375294180, -0.999306982776069890, +-0.999308842678578220, -0.999310700082814420, -0.999312554988773800, -0.999314407396451830, -0.999316257305843840, -0.999318104716945270, -0.999319949629751350, -0.999321792044257640, +-0.999323631960459370, -0.999325469378352090, -0.999327304297931150, -0.999329136719191880, -0.999330966642129730, -0.999332794066740250, -0.999334618993018790, -0.999336441420960790, +-0.999338261350561700, -0.999340078781816850, -0.999341893714721820, -0.999343706149272150, -0.999345516085463180, -0.999347323523290370, -0.999349128462749370, -0.999350930903835420, +-0.999352730846544190, -0.999354528290871120, -0.999356323236811780, -0.999358115684361610, -0.999359905633516070, -0.999361693084270810, -0.999363478036621400, -0.999365260490563290, +-0.999367040446091930, -0.999368817903202980, -0.999370592861892120, -0.999372365322154680, -0.999374135283986330, -0.999375902747382640, -0.999377667712339160, -0.999379430178851560, +-0.999381190146915400, -0.999382947616526130, -0.999384702587679640, -0.999386455060371380, -0.999388205034596910, -0.999389952510352010, -0.999391697487632240, -0.999393439966433150, +-0.999395179946750420, -0.999396917428579830, -0.999398652411916940, -0.999400384896757420, -0.999402114883096940, -0.999403842370931160, -0.999405567360255760, -0.999407289851066420, +-0.999409009843358900, -0.999410727337128880, -0.999412442332372030, -0.999414154829084020, -0.999415864827260640, -0.999417572326897650, -0.999419277327990740, -0.999420979830535570, +-0.999422679834527930, -0.999424377339963590, -0.999426072346838450, -0.999427764855148060, -0.999429454864888210, -0.999431142376054680, -0.999432827388643360, -0.999434509902650040, +-0.999436189918070260, -0.999437867434900150, -0.999439542453135380, -0.999441214972771720, -0.999442884993805070, -0.999444552516231100, -0.999446217540045810, -0.999447880065244990, +-0.999449540091824410, -0.999451197619780070, -0.999452852649107660, -0.999454505179803170, -0.999456155211862370, -0.999457802745281290, -0.999459447780055580, -0.999461090316181240, +-0.999462730353654290, -0.999464367892470400, -0.999466002932625660, -0.999467635474115990, -0.999469265516937040, -0.999470893061085050, -0.999472518106555800, -0.999474140653345280, +-0.999475760701449390, -0.999477378250864130, -0.999478993301585410, -0.999480605853609210, -0.999482215906931430, -0.999483823461548180, -0.999485428517455250, -0.999487031074648870, +-0.999488631133124920, -0.999490228692879400, -0.999491823753908220, -0.999493416316207580, -0.999495006379773290, -0.999496593944601550, -0.999498179010688380, -0.999499761578029670, +-0.999501341646621630, -0.999502919216460170, -0.999504494287541510, -0.999506066859861540, -0.999507636933416380, -0.999509204508202130, -0.999510769584214920, -0.999512332161450750, +-0.999513892239905720, -0.999515449819576070, -0.999517004900457700, -0.999518557482546810, -0.999520107565839640, -0.999521655150332090, -0.999523200236020480, -0.999524742822900820, +-0.999526282910969340, -0.999527820500222040, -0.999529355590655370, -0.999530888182265210, -0.999532418275047800, -0.999533945868999350, -0.999535470964116100, -0.999536993560394160, +-0.999538513657829750, -0.999540031256418990, -0.999541546356158220, -0.999543058957043540, -0.999544569059071190, -0.999546076662237380, -0.999547581766538570, -0.999549084371970650, +-0.999550584478530070, -0.999552082086212930, -0.999553577195015700, -0.999555069804934470, -0.999556559915965590, -0.999558047528105400, -0.999559532641350000, -0.999561015255695740, +-0.999562495371138950, -0.999563972987675960, -0.999565448105303010, -0.999566920724016540, -0.999568390843812660, -0.999569858464687820, -0.999571323586638360, -0.999572786209660610, +-0.999574246333750800, -0.999575703958905490, -0.999577159085120790, -0.999578611712393260, -0.999580061840719240, -0.999581509470095050, -0.999582954600517050, -0.999584397231981780, +-0.999585837364485360, -0.999587274998024470, -0.999588710132595320, -0.999590142768194360, -0.999591572904818150, -0.999593000542462920, -0.999594425681125220, -0.999595848320801510, +-0.999597268461488110, -0.999598686103181480, -0.999600101245878280, -0.999601513889574740, -0.999602924034267430, -0.999604331679952770, -0.999605736826627340, -0.999607139474287590, +-0.999608539622929950, -0.999609937272550990, -0.999611332423147150, -0.999612725074714990, -0.999614115227251080, -0.999615502880751740, -0.999616888035213760, -0.999618270690633580, +-0.999619650847007660, -0.999621028504332540, -0.999622403662605020, -0.999623776321821420, -0.999625146481978310, -0.999626514143072460, -0.999627879305100220, -0.999629241968058360, +-0.999630602131943320, -0.999631959796751790, -0.999633314962480420, -0.999634667629125670, -0.999636017796684320, -0.999637365465152920, -0.999638710634528140, -0.999640053304806540, +-0.999641393475984800, -0.999642731148059570, -0.999644066321027540, -0.999645398994885250, -0.999646729169629600, -0.999648056845257040, -0.999649382021764450, -0.999650704699148300, +-0.999652024877405340, -0.999653342556532490, -0.999654657736526180, -0.999655970417383190, -0.999657280599100310, -0.999658588281674310, -0.999659893465101760, -0.999661196149379430, +-0.999662496334504210, -0.999663794020472670, -0.999665089207281700, -0.999666381894927960, -0.999667672083408340, -0.999668959772719520, -0.999670244962858280, -0.999671527653821390, +-0.999672807845605750, -0.999674085538208020, -0.999675360731625110, -0.999676633425853780, -0.999677903620890930, -0.999679171316733230, -0.999680436513377680, -0.999681699210820950, +-0.999682959409060050, -0.999684217108091740, -0.999685472307912940, -0.999686725008520400, -0.999687975209911040, -0.999689222912081730, -0.999690468115029370, -0.999691710818750860, +-0.999692951023243070, -0.999694188728502910, -0.999695423934527260, -0.999696656641313130, -0.999697886848857300, -0.999699114557156760, -0.999700339766208420, -0.999701562476009160, +-0.999702782686556100, -0.999704000397846020, -0.999705215609876020, -0.999706428322642890, -0.999707638536143750, -0.999708846250375480, -0.999710051465335090, -0.999711254181019580, +-0.999712454397425950, -0.999713652114551210, -0.999714847332392350, -0.999716040050946280, -0.999717230270210200, -0.999718417990181020, -0.999719603210855730, -0.999720785932231460, +-0.999721966154305310, -0.999723143877074170, -0.999724319100535160, -0.999725491824685400, -0.999726662049521870, -0.999727829775041710, -0.999728995001242020, -0.999730157728119790, +-0.999731317955672160, -0.999732475683896230, -0.999733630912789110, -0.999734783642347910, -0.999735933872569870, -0.999737081603451870, -0.999738226834991140, -0.999739369567184900, +-0.999740509800030260, -0.999741647533524350, -0.999742782767664260, -0.999743915502447230, -0.999745045737870490, -0.999746173473931020, -0.999747298710626180, -0.999748421447953170, +-0.999749541685909020, -0.999750659424490930, -0.999751774663696360, -0.999752887403522190, -0.999753997643965890, -0.999755105385024660, -0.999756210626695620, -0.999757313368976000, +-0.999758413611863130, -0.999759511355354240, -0.999760606599446540, -0.999761699344137390, -0.999762789589423880, -0.999763877335303470, -0.999764962581773390, -0.999766045328830840, +-0.999767125576473180, -0.999768203324697740, -0.999769278573501840, -0.999770351322882720, -0.999771421572837720, -0.999772489323364040, -0.999773554574459270, -0.999774617326120610, +-0.999775677578345400, -0.999776735331130980, -0.999777790584474690, -0.999778843338373970, -0.999779893592826150, -0.999780941347828580, -0.999781986603378580, -0.999783029359473720, +-0.999784069616111220, -0.999785107373288630, -0.999786142631003180, -0.999787175389252440, -0.999788205648033720, -0.999789233407344490, -0.999790258667182190, -0.999791281427544250, +-0.999792301688428140, -0.999793319449831190, -0.999794334711750940, -0.999795347474184970, -0.999796357737130600, -0.999797365500585290, -0.999798370764546580, -0.999799373529011940, +-0.999800373793978790, -0.999801371559444820, -0.999802366825407350, -0.999803359591864060, -0.999804349858812280, -0.999805337626249680, -0.999806322894173700, -0.999807305662581910, +-0.999808285931471860, -0.999809263700841110, -0.999810238970687220, -0.999811211741007730, -0.999812182011800220, -0.999813149783062240, -0.999814115054791340, -0.999815077826985200, +-0.999816038099641370, -0.999816995872757410, -0.999817951146330990, -0.999818903920359660, -0.999819854194841100, -0.999820801969772850, -0.999821747245152710, -0.999822690020978120, +-0.999823630297246750, -0.999824568073956370, -0.999825503351104650, -0.999826436128689040, -0.999827366406707440, -0.999828294185157400, -0.999829219464036580, -0.999830142243342770, +-0.999831062523073520, -0.999831980303226730, -0.999832895583799840, -0.999833808364790850, -0.999834718646197330, -0.999835626428016930, -0.999836531710247560, -0.999837434492886760, +-0.999838334775932420, -0.999839232559382230, -0.999840127843234060, -0.999841020627485480, -0.999841910912134260, -0.999842798697178400, -0.999843683982615470, -0.999844566768443350, +-0.999845447054659830, -0.999846324841262790, -0.999847200128249790, -0.999848072915618840, -0.999848943203367700, -0.999849810991494170, -0.999850676279996240, -0.999851539068871480, +-0.999852399358117980, -0.999853257147733430, -0.999854112437715710, -0.999854965228062720, -0.999855815518772340, -0.999856663309842460, -0.999857508601270870, -0.999858351393055460, +-0.999859191685194220, -0.999860029477685040, -0.999860864770525710, -0.999861697563714350, -0.999862527857248610, -0.999863355651126610, -0.999864180945346240, -0.999865003739905390, +-0.999865824034801950, -0.999866641830034040, -0.999867457125599550, -0.999868269921496360, -0.999869080217722580, -0.999869888014276010, -0.999870693311154750, -0.999871496108356790, +-0.999872296405880050, -0.999873094203722610, -0.999873889501882380, -0.999874682300357480, -0.999875472599145780, -0.999876260398245510, -0.999877045697654570, -0.999877828497370950, +-0.999878608797392760, -0.999879386597718130, -0.999880161898344940, -0.999880934699271420, -0.999881705000495560, -0.999882472802015480, -0.999883238103829060, -0.999884000905934660, +-0.999884761208330250, -0.999885519011013970, -0.999886274313983800, -0.999887027117238090, -0.999887777420774610, -0.999888525224591820, -0.999889270528687700, -0.999890013333060490, +-0.999890753637708070, -0.999891491442628900, -0.999892226747820970, -0.999892959553282390, -0.999893689859011500, -0.999894417665006420, -0.999895142971265140, -0.999895865777786110, +-0.999896586084567440, -0.999897303891607360, -0.999898019198903860, -0.999898732006455400, -0.999899442314260090, -0.999900150122316260, -0.999900855430621900, -0.999901558239175480, +-0.999902258547975210, -0.999902956357019200, -0.999903651666305900, -0.999904344475833430, -0.999905034785600110, -0.999905722595604170, -0.999906407905843950, -0.999907090716317670, +-0.999907771027023660, -0.999908448837960260, -0.999909124149125810, -0.999909796960518400, -0.999910467272136620, -0.999911135083978550, -0.999911800396042770, -0.999912463208327500, +-0.999913123520830950, -0.999913781333551690, -0.999914436646487940, -0.999915089459638030, -0.999915739773000520, -0.999916387586573530, -0.999917032900355720, -0.999917675714345200, +-0.999918316028540640, -0.999918953842940160, -0.999919589157542310, -0.999920221972345540, -0.999920852287348170, -0.999921480102548670, -0.999922105417945460, -0.999922728233537010, +-0.999923348549321740, -0.999923966365298120, -0.999924581681464590, -0.999925194497819580, -0.999925804814361550, -0.999926412631089060, -0.999927017948000540, -0.999927620765094450, +-0.999928221082369340, -0.999928818899823660, -0.999929414217455960, -0.999930007035264690, -0.999930597353248410, -0.999931185171405670, -0.999931770489734920, -0.999932353308234710, +-0.999932933626903720, -0.999933511445740280, -0.999934086764743160, -0.999934659583910810, -0.999935229903241800, -0.999935797722734660, -0.999936363042388090, -0.999936925862200620, +-0.999937486182170820, -0.999938044002297240, -0.999938599322578560, -0.999939152143013430, -0.999939702463600420, -0.999940250284338190, -0.999940795605225310, -0.999941338426260430, +-0.999941878747442230, -0.999942416568769250, -0.999942951890240290, -0.999943484711853900, -0.999944015033608860, -0.999944542855503830, -0.999945068177537370, -0.999945590999708260, +-0.999946111322015160, -0.999946629144456760, -0.999947144467031810, -0.999947657289739000, -0.999948167612577100, -0.999948675435544660, -0.999949180758640700, -0.999949683581863650, +-0.999950183905212400, -0.999950681728685730, -0.999951177052282420, -0.999951669876001040, -0.999952160199840570, -0.999952648023799680, -0.999953133347877170, -0.999953616172071790, +-0.999954096496382450, -0.999954574320807810, -0.999955049645346760, -0.999955522469998080, -0.999955992794760550, -0.999956460619633060, -0.999956925944614490, -0.999957388769703530, +-0.999957849094899150, -0.999958306920200050, -0.999958762245605310, -0.999959215071113520, -0.999959665396723870, -0.999960113222434940, -0.999960558548245730, -0.999961001374155110, +-0.999961441700162100, -0.999961879526265360, -0.999962314852464010, -0.999962747678756810, -0.999963178005142780, -0.999963605831620810, -0.999964031158189770, -0.999964453984848680, +-0.999964874311596530, -0.999965292138432100, -0.999965707465354400, -0.999966120292362540, -0.999966530619455400, -0.999966938446631870, -0.999967343773890960, -0.999967746601231780, +-0.999968146928653100, -0.999968544756154150, -0.999968940083733830, -0.999969332911391230, -0.999969723239125140, -0.999970111066934900, -0.999970496394819270, -0.999970879222777500, +-0.999971259550808460, -0.999971637378911260, -0.999972012707085020, -0.999972385535328740, -0.999972755863641430, -0.999973123692022290, -0.999973489020470340, -0.999973851848984690, +-0.999974212177564330, -0.999974570006208490, -0.999974925334916280, -0.999975278163686700, -0.999975628492518860, -0.999975976321412000, -0.999976321650365210, -0.999976664479377610, +-0.999977004808448420, -0.999977342637576650, -0.999977677966761510, -0.999978010796002240, -0.999978341125297930, -0.999978668954647710, -0.999978994284050790, -0.999979317113506520, +-0.999979637443013880, -0.999979955272572110, -0.999980270602180530, -0.999980583431838270, -0.999980893761544420, -0.999981201591298440, -0.999981506921099440, -0.999981809750946750, +-0.999982110080839480, -0.999982407910776860, -0.999982703240758330, -0.999982996070783000, -0.999983286400850100, -0.999983574230959070, -0.999983859561109130, -0.999984142391299510, +-0.999984422721529540, -0.999984700551798560, -0.999984975882105780, -0.999985248712450540, -0.999985519042832170, -0.999985786873250020, -0.999986052203703400, -0.999986315034191660, +-0.999986575364714140, -0.999986833195270150, -0.999987088525859160, -0.999987341356480370, -0.999987591687133250, -0.999987839517817110, -0.999988084848531520, -0.999988327679275590, +-0.999988568010048870, -0.999988805840850700, -0.999989041171680530, -0.999989274002537790, -0.999989504333421820, -0.999989732164332070, -0.999989957495268090, -0.999990180326229110, +-0.999990400657214780, -0.999990618488224350, -0.999990833819257460, -0.999991046650313460, -0.999991256981391800, -0.999991464812492010, -0.999991670143613560, -0.999991872974756000, +-0.999992073305918770, -0.999992271137101210, -0.999992466468303090, -0.999992659299523750, -0.999992849630762850, -0.999993037462019730, -0.999993222793294060, -0.999993405624585390, +-0.999993585955893050, -0.999993763787216830, -0.999993939118556270, -0.999994111949910840, -0.999994282281280070, -0.999994450112663640, -0.999994615444060990, -0.999994778275471900, +-0.999994938606895810, -0.999995096438332400, -0.999995251769781320, -0.999995404601242030, -0.999995554932714190, -0.999995702764197580, -0.999995848095691640, -0.999995990927196040, +-0.999996131258710560, -0.999996269090234650, -0.999996404421768180, -0.999996537253310610, -0.999996667584861720, -0.999996795416421170, -0.999996920747988630, -0.999997043579563760, +-0.999997163911146350, -0.999997281742736050, -0.999997397074332440, -0.999997509905935390, -0.999997620237544570, -0.999997728069159650, -0.999997833400780520, -0.999997936232406740, +-0.999998036564038070, -0.999998134395674420, -0.999998229727315340, -0.999998322558960710, -0.999998412890610310, -0.999998500722263820, -0.999998586053921110, -0.999998668885581980, +-0.999998749217246070, -0.999998827048913410, -0.999998902380583640, -0.999998975212256560, -0.999999045543932150, -0.999999113375609980, -0.999999178707290160, -0.999999241538972350, +-0.999999301870656440, -0.999999359702342220, -0.999999415034029670, -0.999999467865718580, -0.999999518197408730, -0.999999566029100230, -0.999999611360792740, -0.999999654192486150, +-0.999999694524180470, -0.999999732355875580, -0.999999767687571370, -0.999999800519267730, -0.999999830850964670, -0.999999858682661950, -0.999999884014359570, -0.999999906846057440, +-0.999999927177755650, -0.999999945009453990, -0.999999960341152460, -0.999999973172851050, -0.999999983504549660, -0.999999991336248390, -0.999999996667947140, -0.999999999499645800, +-0.999999999831344580, -0.999999997663043260, -0.999999992994741960, -0.999999985826440780, -0.999999976158139510, -0.999999963989838370, -0.999999949321537350, -0.999999932153236350, +-0.999999912484935580, -0.999999890316635050, -0.999999865648334760, -0.999999838480034820, -0.999999808811735340, -0.999999776643436310, -0.999999741975137750, -0.999999704806839970, +-0.999999665138542880, -0.999999622970246580, -0.999999578301951190, -0.999999531133656920, -0.999999481465363880, -0.999999429297072080, -0.999999374628781630, -0.999999317460492860, +-0.999999257792205780, -0.999999195623920480, -0.999999130955637310, -0.999999063787356150, -0.999998994119077440, -0.999998921950801200, -0.999998847282527750, -0.999998770114257090, +-0.999998690445989550, -0.999998608277725240, -0.999998523609464510, -0.999998436441207340, -0.999998346772954180, -0.999998254604705040, -0.999998159936460350, -0.999998062768220230, +-0.999997963099985010, -0.999997860931754800, -0.999997756263530050, -0.999997649095310860, -0.999997539427097460, -0.999997427258890290, -0.999997312590689580, -0.999997195422495540, +-0.999997075754308520, -0.999996953586128830, -0.999996828917956710, -0.999996701749792600, -0.999996572081636610, -0.999996439913489300, -0.999996305245350880, -0.999996168077221690, +-0.999996028409102070, -0.999995886240992340, -0.999995741572892950, -0.999995594404804120, -0.999995444736726410, -0.999995292568660040, -0.999995137900605460, -0.999994980732562990, +-0.999994821064533080, -0.999994658896516180, -0.999994494228512610, -0.999994327060522830, -0.999994157392547160, -0.999993985224586160, -0.999993810556640160, -0.999993633388709610, +-0.999993453720794960, -0.999993271552896750, -0.999993086885015310, -0.999992899717151220, -0.999992710049304790, -0.999992517881476690, -0.999992323213667270, -0.999992126045876950, +-0.999991926378106410, -0.999991724210355980, -0.999991519542626330, -0.999991312374917780, -0.999991102707231020, -0.999990890539566470, -0.999990675871924810, -0.999990458704306360, +-0.999990239036711690, -0.999990016869141570, -0.999989792201596340, -0.999989565034076540, -0.999989335366582970, -0.999989103199116050, -0.999988868531676230, -0.999988631364264410, +-0.999988391696880920, -0.999988149529526530, -0.999987904862201680, -0.999987657694907050, -0.999987408027643300, -0.999987155860411090, -0.999986901193210990, -0.999986644026043540, +-0.999986384358909630, -0.999986122191809600, -0.999985857524744340, -0.999985590357714500, -0.999985320690720550, -0.999985048523763350, -0.999984773856843590, -0.999984496689961920, +-0.999984217023118900, -0.999983934856315430, -0.999983650189552040, -0.999983363022829530, -0.999983073356148670, -0.999982781189510120, -0.999982486522914550, -0.999982189356362850, +-0.999981889689855570, -0.999981587523393720, -0.999981282856977740, -0.999980975690608620, -0.999980666024287150, -0.999980353858013870, -0.999980039191789790, -0.999979722025615580, +-0.999979402359492120, -0.999979080193420080, -0.999978755527400340, -0.999978428361433800, -0.999978098695521120, -0.999977766529663190, -0.999977431863860900, -0.999977094698115020, +-0.999976755032426330, -0.999976412866795840, -0.999976068201224310, -0.999975721035712530, -0.999975371370261490, -0.999975019204872080, -0.999974664539545090, -0.999974307374281390, +-0.999973947709081880, -0.999973585543947660, -0.999973220878879410, -0.999972853713878010, -0.999972484048944570, -0.999972111884079970, -0.999971737219285010, -0.999971360054560670, +-0.999970980389908060, -0.999970598225327860, -0.999970213560821270, -0.999969826396389090, -0.999969436732032310, -0.999969044567752040, -0.999968649903549060, -0.999968252739424580, +-0.999967853075379390, -0.999967450911414590, -0.999967046247531080, -0.999966639083730070, -0.999966229420012340, -0.999965817256379120, -0.999965402592831400, -0.999964985429370070, +-0.999964565765996350, -0.999964143602711240, -0.999963718939515630, -0.999963291776410860, -0.999962862113397800, -0.999962429950477680, -0.999961995287651400, -0.999961558124920160, +-0.999961118462284970, -0.999960676299747050, -0.999960231637307410, -0.999959784474967140, -0.999959334812727470, -0.999958882650589410, -0.999958427988554280, -0.999957970826622970, +-0.999957511164796700, -0.999957049003076690, -0.999956584341464170, -0.999956117179960020, -0.999955647518565690, -0.999955175357282180, -0.999954700696110810, -0.999954223535052590, +-0.999953743874108850, -0.999953261713280810, -0.999952777052569460, -0.999952289891976380, -0.999951800231502430, -0.999951308071148960, -0.999950813410917290, -0.999950316250808660, +-0.999949816590824050, -0.999949314430965020, -0.999948809771232680, -0.999948302611628370, -0.999947792952153300, -0.999947280792808700, -0.999946766133595900, -0.999946248974516120, +-0.999945729315570800, -0.999945207156761160, -0.999944682498088430, -0.999944155339554160, -0.999943625681159350, -0.999943093522905560, -0.999942558864794000, -0.999942021706826000, +-0.999941482049003020, -0.999940939891326260, -0.999940395233797190, -0.999939848076417110, -0.999939298419187490, -0.999938746262109550, -0.999938191605184710, -0.999937634448414550, +-0.999937074791800160, -0.999936512635343110, -0.999935947979044840, -0.999935380822906560, -0.999934811166929950, -0.999934239011116330, -0.999933664355467040, -0.999933087199983640, +-0.999932507544667450, -0.999931925389520030, -0.999931340734542820, -0.999930753579737260, -0.999930163925104810, -0.999929571770646900, -0.999928977116365190, -0.999928379962260920, +-0.999927780308335730, -0.999927178154591090, -0.999926573501028540, -0.999925966347649520, -0.999925356694455590, -0.999924744541448310, -0.999924129888629110, -0.999923512735999550, +-0.999922893083561300, -0.999922270931315800, -0.999921646279264610, -0.999921019127409270, -0.999920389475751350, -0.999919757324292610, -0.999919122673034290, -0.999918485521978260, +-0.999917845871126090, -0.999917203720479210, -0.999916559070039290, -0.999915911919808110, -0.999915262269787000, -0.999914610119977840, -0.999913955470382090, -0.999913298321001510, +-0.999912638671837660, -0.999911976522892210, -0.999911311874166820, -0.999910644725663160, -0.999909975077382880, -0.999909302929327670, -0.999908628281499180, -0.999907951133899080, +-0.999907271486529140, -0.999906589339391030, -0.999905904692486520, -0.999905217545817180, -0.999904527899384780, -0.999903835753191080, -0.999903141107237770, -0.999902443961526610, +-0.999901744316059380, -0.999901042170837750, -0.999900337525863600, -0.999899630381138490, -0.999898920736664310, -0.999898208592442940, -0.999897493948475930, -0.999896776804765300, +-0.999896057161312690, -0.999895335018119890, -0.999894610375188790, -0.999893883232521150, -0.999893153590118770, -0.999892421447983510, -0.999891686806117290, -0.999890949664521740, +-0.999890210023198890, -0.999889467882150500, -0.999888723241378450, -0.999887976100884530, -0.999887226460670740, -0.999886474320738850, -0.999885719681090860, -0.999884962541728430, +-0.999884202902653670, -0.999883440763868370, -0.999882676125374510, -0.999881908987174000, -0.999881139349268590, -0.999880367211660400, -0.999879592574351330, -0.999878815437343250, +-0.999878035800638170, -0.999877253664237850, -0.999876469028144530, -0.999875681892360090, -0.999874892256886310, -0.999874100121725400, -0.999873305486879140, -0.999872508352349750, +-0.999871708718139020, -0.999870906584248930, -0.999870101950681710, -0.999869294817439140, -0.999868485184523430, -0.999867673051936470, -0.999866858419680260, -0.999866041287757020, +-0.999865221656168530, -0.999864399524917120, -0.999863574894004680, -0.999862747763433200, -0.999861918133205020, -0.999861086003321910, -0.999860251373786200, -0.999859414244599790, +-0.999858574615764770, -0.999857732487283490, -0.999856887859157720, -0.999856040731389780, -0.999855191103981800, -0.999854338976935760, -0.999853484350254010, -0.999852627223938420, +-0.999851767597991210, -0.999850905472414730, -0.999850040847210960, -0.999849173722382020, -0.999848304097930130, -0.999847431973857610, -0.999846557350166370, -0.999845680226858820, +-0.999844800603937100, -0.999843918481403300, -0.999843033859259660, -0.999842146737508490, -0.999841257116152020, -0.999840364995192350, -0.999839470374631830, -0.999838573254472560, +-0.999837673634716870, -0.999836771515366980, -0.999835866896425230, -0.999834959777893720, -0.999834050159774890, -0.999833138042070860, -0.999832223424784060, -0.999831306307916610, +-0.999830386691470950, -0.999829464575449410, -0.999828539959854100, -0.999827612844687460, -0.999826683229951830, -0.999825751115649420, -0.999824816501782680, -0.999823879388353930, +-0.999822939775365400, -0.999821997662819540, -0.999821053050718780, -0.999820105939065340, -0.999819156327861560, -0.999818204217109980, -0.999817249606812840, -0.999816292496972570, +-0.999815332887591610, -0.999814370778672300, -0.999813406170217080, -0.999812439062228280, -0.999811469454708450, -0.999810497347659920, -0.999809522741085140, -0.999808545634986560, +-0.999807566029366710, -0.999806583924227830, -0.999805599319572470, -0.999804612215403180, -0.999803622611722400, -0.999802630508532460, -0.999801635905836040, -0.999800638803635460, +-0.999799639201933270, -0.999798637100732020, -0.999797632500034170, -0.999796625399842260, -0.999795615800158740, -0.999794603700986270, -0.999793589102327180, -0.999792572004184250, +-0.999791552406559810, -0.999790530309456420, -0.999789505712876840, -0.999788478616823410, -0.999787449021298790, -0.999786416926305650, -0.999785382331846330, -0.999784345237923590, +-0.999783305644539990, -0.999782263551698190, -0.999781218959400640, -0.999780171867650110, -0.999779122276449160, -0.999778070185800340, -0.999777015595706420, -0.999775958506169850, +-0.999774898917193510, -0.999773836828779850, -0.999772772240931640, -0.999771705153651440, -0.999770635566942010, -0.999769563480806030, -0.999768488895246050, -0.999767411810264960, +-0.999766332225865310, -0.999765250142049760, -0.999764165558821080, -0.999763078476182070, -0.999761988894135370, -0.999760896812683650, -0.999759802231829700, -0.999758705151576280, +-0.999757605571926060, -0.999756503492881810, -0.999755398914446310, -0.999754291836622340, -0.999753182259412570, -0.999752070182819860, -0.999750955606847010, -0.999749838531496790, +-0.999748718956771980, -0.999747596882675340, -0.999746472309209770, -0.999745345236377920, -0.999744215664182810, -0.999743083592627090, -0.999741949021713650, -0.999740811951445370, +-0.999739672381825040, -0.999738530312855640, -0.999737385744539740, -0.999736238676880550, -0.999735089109880630, -0.999733937043542960, -0.999732782477870560, -0.999731625412866200, +-0.999730465848532760, -0.999729303784873120, -0.999728139221890190, -0.999726972159586950, -0.999725802597966280, -0.999724630537031200, -0.999723455976784470, -0.999722278917229090, +-0.999721099358367950, -0.999719917300204150, -0.999718732742740480, -0.999717545685980040, -0.999716356129925710, -0.999715164074580500, -0.999713969519947400, -0.999712772466029410, +-0.999711572912829420, -0.999710370860350530, -0.999709166308595740, -0.999707959257567950, -0.999706749707270360, -0.999705537657705870, -0.999704323108877470, -0.999703106060788270, +-0.999701886513441380, -0.999700664466839690, -0.999699439920986420, -0.999698212875884560, -0.999696983331537110, -0.999695751287947190, -0.999694516745117890, -0.999693279703052330, +-0.999692040161753610, -0.999690798121224740, -0.999689553581468940, -0.999688306542489190, -0.999687057004288620, -0.999685804966870540, -0.999684550430237850, -0.999683293394393770, +-0.999682033859341510, -0.999680771825084190, -0.999679507291624910, -0.999678240258966900, -0.999676970727113260, -0.999675698696067090, -0.999674424165831850, -0.999673147136410420, +-0.999671867607806240, -0.999670585580022310, -0.999669301053061950, -0.999668014026928290, -0.999666724501624640, -0.999665432477154110, -0.999664137953520050, -0.999662840930725660, +-0.999661541408774170, -0.999660239387668790, -0.999658934867412860, -0.999657627848009600, -0.999656318329462220, -0.999655006311774060, -0.999653691794948340, -0.999652374778988500, +-0.999651055263897640, -0.999649733249679210, -0.999648408736336310, -0.999647081723872510, -0.999645752212291020, -0.999644420201595050, -0.999643085691788170, -0.999641748682873480, +-0.999640409174854420, -0.999639067167734320, -0.999637722661516630, -0.999636375656204560, -0.999635026151801550, -0.999633674148311060, -0.999632319645736290, -0.999630962644080800, +-0.999629603143347810, -0.999628241143540870, -0.999626876644663320, -0.999625509646718590, -0.999624140149710130, -0.999622768153641260, -0.999621393658515430, -0.999620016664336200, +-0.999618637171106880, -0.999617255178831040, -0.999615870687512010, -0.999614483697153220, -0.999613094207758350, -0.999611702219330710, -0.999610307731873760, -0.999608910745391040, +-0.999607511259886120, -0.999606109275362420, -0.999604704791823400, -0.999603297809272600, -0.999601888327713680, -0.999600476347149880, -0.999599061867584960, -0.999597644889022360, +-0.999596225411465760, -0.999594803434918470, -0.999593378959384160, -0.999591951984866500, -0.999590522511368930, -0.999589090538895000, -0.999587656067448370, -0.999586219097032710, +-0.999584779627651350, -0.999583337659308070, -0.999581893192006520, -0.999580446225750150, -0.999578996760542740, -0.999577544796387830, -0.999576090333288980, -0.999574633371249970, +-0.999573173910274450, -0.999571711950365870, -0.999570247491528010, -0.999568780533764630, -0.999567311077079190, -0.999565839121475560, -0.999564364666957310, -0.999562887713528080, +-0.999561408261191780, -0.999559926309951830, -0.999558441859812130, -0.999556954910776230, -0.999555465462848130, -0.999553973516031150, -0.999552479070329400, -0.999550982125746330, +-0.999549482682285940, -0.999547980739951770, -0.999546476298747600, -0.999544969358677320, -0.999543459919744580, -0.999541947981953170, -0.999540433545306860, -0.999538916609809540, +-0.999537397175464970, -0.999535875242276830, -0.999534350810248990, -0.999532823879385360, -0.999531294449689580, -0.999529762521165650, -0.999528228093817250, -0.999526691167648250, +-0.999525151742662540, -0.999523609818864010, -0.999522065396256430, -0.999520518474843690, -0.999518969054629670, -0.999517417135618150, -0.999515862717813120, -0.999514305801218470, +-0.999512746385838090, -0.999511184471675750, -0.999509620058735560, -0.999508053147021180, -0.999506483736536830, -0.999504911827286180, -0.999503337419273220, -0.999501760512501950, +-0.999500181106976250, -0.999498599202700120, -0.999497014799677560, -0.999495427897912350, -0.999493838497408690, -0.999492246598170380, -0.999490652200201390, -0.999489055303505850, +-0.999487455908087630, -0.999485854013950850, -0.999484249621099270, -0.999482642729537240, -0.999481033339268520, -0.999479421450297220, -0.999477807062627340, -0.999476190176262990, +-0.999474570791208160, -0.999472948907466960, -0.999471324525043280, -0.999469697643941330, -0.999468068264165120, -0.999466436385718750, -0.999464802008606320, -0.999463165132831950, +-0.999461525758399530, -0.999459883885313370, -0.999458239513577480, -0.999456592643195970, -0.999454943274173060, -0.999453291406512730, -0.999451637040219110, -0.999449980175296520, +-0.999448320811748840, -0.999446658949580510, -0.999444994588795430, -0.999443327729397920, -0.999441658371392090, -0.999439986514782050, -0.999438312159572130, -0.999436635305766430, +-0.999434955953369060, -0.999433274102384360, -0.999431589752816430, -0.999429902904669600, -0.999428213557947980, -0.999426521712655780, -0.999424827368797340, -0.999423130526376770, +-0.999421431185398390, -0.999419729345866430, -0.999418025007785200, -0.999416318171158840, -0.999414608835991760, -0.999412897002288080, -0.999411182670052240, -0.999409465839288360, +-0.999407746510000860, -0.999406024682193970, -0.999404300355872130, -0.999402573531039450, -0.999400844207700260, -0.999399112385859100, -0.999397378065520090, -0.999395641246687560, +-0.999393901929366060, -0.999392160113559800, -0.999390415799273010, -0.999388668986510350, -0.999386919675275930, -0.999385167865574190, -0.999383413557409560, -0.999381656750786380, +-0.999379897445709100, -0.999378135642182030, -0.999376371340209620, -0.999374604539796320, -0.999372835240946440, -0.999371063443664550, -0.999369289147954980, -0.999367512353822150, +-0.999365733061270630, -0.999363951270304750, -0.999362166980928950, -0.999360380193147770, -0.999358590906965550, -0.999356799122386950, -0.999355004839416310, -0.999353208058058160, +-0.999351408778316960, -0.999349607000197260, -0.999347802723703600, -0.999345995948840440, -0.999344186675612200, -0.999342374904023560, -0.999340560634078940, -0.999338743865782920, +-0.999336924599140140, -0.999335102834154940, -0.999333278570831980, -0.999331451809175930, -0.999329622549191110, -0.999327790790882410, -0.999325956534254050, -0.999324119779310900, +-0.999322280526057430, -0.999320438774498280, -0.999318594524638000, -0.999316747776481270, -0.999314898530032520, -0.999313046785296750, -0.999311192542278180, -0.999309335800981800, +-0.999307476561411940, -0.999305614823573500, -0.999303750587470900, -0.999301883853109030, -0.999300014620492450, -0.999298142889625710, -0.999296268660513690, -0.999294391933161050, +-0.999292512707572360, -0.999290630983752480, -0.999288746761705980, -0.999286860041437520, -0.999284970822951980, -0.999283079106254020, -0.999281184891348430, -0.999279288178239740, +-0.999277388966932970, -0.999275487257432650, -0.999273583049743560, -0.999271676343870600, -0.999269767139818410, -0.999267855437591780, -0.999265941237195590, -0.999264024538634500, +-0.999262105341913400, -0.999260183647036950, -0.999258259454010030, -0.999256332762837540, -0.999254403573524240, -0.999252471886074910, -0.999250537700494320, -0.999248601016787470, +-0.999246661834959140, -0.999244720155014090, -0.999242775976957210, -0.999240829300793500, -0.999238880126527620, -0.999236928454164560, -0.999234974283709220, -0.999233017615166360, +-0.999231058448540990, -0.999229096783837980, -0.999227132621062330, -0.999225165960218710, -0.999223196801312220, -0.999221225144347750, -0.999219250989330290, -0.999217274336264620, +-0.999215295185155730, -0.999213313536008730, -0.999211329388828280, -0.999209342743619610, -0.999207353600387590, -0.999205361959137120, -0.999203367819873290, -0.999201371182601110, +-0.999199372047325340, -0.999197370414051210, -0.999195366282783710, -0.999193359653527740, -0.999191350526288380, -0.999189338901070760, -0.999187324777879640, -0.999185308156720240, +-0.999183289037597680, -0.999181267420516720, -0.999179243305482690, -0.999177216692500590, -0.999175187581575310, -0.999173155972712170, -0.999171121865916170, -0.999169085261192300, +-0.999167046158545680, -0.999165004557981520, -0.999162960459504810, -0.999160913863120780, -0.999158864768834420, -0.999156813176650840, -0.999154759086575250, -0.999152702498612880, +-0.999150643412768600, -0.999148581829047750, -0.999146517747455440, -0.999144451167996880, -0.999142382090677180, -0.999140310515501560, -0.999138236442475130, -0.999136159871603090, +-0.999134080802890680, -0.999131999236342990, -0.999129915171965370, -0.999127828609763010, -0.999125739549741040, -0.999123647991904670, -0.999121553936259230, -0.999119457382809940, +-0.999117358331561900, -0.999115256782520560, -0.999113152735691010, -0.999111046191078600, -0.999108937148688650, -0.999106825608526260, -0.999104711570596770, -0.999102595034905620, +-0.999100476001457900, -0.999098354470259080, -0.999096230441314350, -0.999094103914628940, -0.999091974890208400, -0.999089843368057840, -0.999087709348182700, -0.999085572830588300, +-0.999083433815279980, -0.999081292302263060, -0.999079148291542870, -0.999077001783124860, -0.999074852777014350, -0.999072701273216680, -0.999070547271737270, -0.999068390772581470, +-0.999066231775754710, -0.999064070281262430, -0.999061906289109850, -0.999059739799302630, -0.999057570811845990, -0.999055399326745470, -0.999053225344006420, -0.999051048863634270, +-0.999048869885634460, -0.999046688410012650, -0.999044504436773950, -0.999042317965924130, -0.999040128997468410, -0.999037937531412350, -0.999035743567761480, -0.999033547106521370, +-0.999031348147697230, -0.999029146691294830, -0.999026942737319510, -0.999024736285776820, -0.999022527336672290, -0.999020315890011500, -0.999018101945799870, -0.999015885504042970, +-0.999013666564746440, -0.999011445127915620, -0.999009221193556280, -0.999006994761673870, -0.999004765832273930, -0.999002534405362130, -0.999000300480944010, -0.998998064059025140, +-0.998995825139611050, -0.998993583722707410, -0.998991339808319890, -0.998989093396453920, -0.998986844487115280, -0.998984593080309510, -0.998982339176042180, -0.998980082774319160, +-0.998977823875145780, -0.998975562478527920, -0.998973298584471150, -0.998971032192981110, -0.998968763304063590, -0.998966491917724020, -0.998964218033968290, -0.998961941652802050, +-0.998959662774230870, -0.998957381398260620, -0.998955097524896860, -0.998952811154145360, -0.998950522286011890, -0.998948230920502000, -0.998945937057621580, -0.998943640697376400, +-0.998941341839772010, -0.998939040484814410, -0.998936736632509040, -0.998934430282861880, -0.998932121435878730, -0.998929810091565230, -0.998927496249927160, -0.998925179910970410, +-0.998922861074700630, -0.998920539741123830, -0.998918215910245540, -0.998915889582071780, -0.998913560756608310, -0.998911229433860900, -0.998908895613835450, -0.998906559296537710, +-0.998904220481973580, -0.998901879170148940, -0.998899535361069570, -0.998897189054741340, -0.998894840251170260, -0.998892488950361980, -0.998890135152322500, -0.998887778857057710, +-0.998885420064573370, -0.998883058774875600, -0.998880694987970160, -0.998878328703862950, -0.998875959922559840, -0.998873588644066950, -0.998871214868390030, -0.998868838595535210, +-0.998866459825508150, -0.998864078558314940, -0.998861694793961590, -0.998859308532453970, -0.998856919773798090, -0.998854528517999940, -0.998852134765065400, -0.998849738515000580, +-0.998847339767811480, -0.998844938523503870, -0.998842534782084070, -0.998840128543557750, -0.998837719807931230, -0.998835308575210410, -0.998832894845401390, -0.998830478618510040, +-0.998828059894542490, -0.998825638673504710, -0.998823214955402940, -0.998820788740243160, -0.998818360028031370, -0.998815928818773680, -0.998813495112476190, -0.998811058909145010, +-0.998808620208786140, -0.998806179011405670, -0.998803735317009720, -0.998801289125604510, -0.998798840437196020, -0.998796389251790480, -0.998793935569394000, -0.998791479390012670, +-0.998789020713652500, -0.998786559540319920, -0.998784095870020930, -0.998781629702761740, -0.998779161038548360, -0.998776689877387210, -0.998774216219284190, -0.998771740064245740, +-0.998769261412277950, -0.998766780263386830, -0.998764296617578930, -0.998761810474860230, -0.998759321835237080, -0.998756830698715570, -0.998754337065302030, -0.998751840935002470, +-0.998749342307823530, -0.998746841183771110, -0.998744337562851640, -0.998741831445071340, -0.998739322830436430, -0.998736811718953230, -0.998734298110627970, -0.998731782005466970, +-0.998729263403476450, -0.998726742304662850, -0.998724218709032390, -0.998721692616591380, -0.998719164027346170, -0.998716632941303080, -0.998714099358468330, -0.998711563278848360, +-0.998709024702449490, -0.998706483629278050, -0.998703940059340380, -0.998701393992642910, -0.998698845429191850, -0.998696294368993760, -0.998693740812054980, -0.998691184758381810, +-0.998688626207980600, -0.998686065160857890, -0.998683501617020020, -0.998680935576473420, -0.998678367039224410, -0.998675796005279450, -0.998673222474645180, -0.998670646447327730, +-0.998668067923333620, -0.998665486902669430, -0.998662903385341580, -0.998660317371356410, -0.998657728860720350, -0.998655137853440070, -0.998652544349521890, -0.998649948348972360, +-0.998647349851798040, -0.998644748858005250, -0.998642145367600650, -0.998639539380590690, -0.998636930896981800, -0.998634319916780640, -0.998631706439993660, -0.998629090466627510, +-0.998626471996688530, -0.998623851030183360, -0.998621227567118690, -0.998618601607500820, -0.998615973151336540, -0.998613342198632290, -0.998610708749394620, -0.998608072803630180, +-0.998605434361345630, -0.998602793422547430, -0.998600149987242340, -0.998597504055436790, -0.998594855627137570, -0.998592204702351110, -0.998589551281084180, -0.998586895363343440, +-0.998584236949135340, -0.998581576038466760, -0.998578912631344240, -0.998576246727774340, -0.998573578327763830, -0.998570907431319490, -0.998568234038447740, -0.998565558149155490, +-0.998562879763449370, -0.998560198881335960, -0.998557515502822120, -0.998554829627914420, -0.998552141256619730, -0.998549450388944710, -0.998546757024896040, -0.998544061164480360, +-0.998541362807704670, -0.998538661954575520, -0.998535958605099690, -0.998533252759284060, -0.998530544417135180, -0.998527833578660040, -0.998525120243865190, -0.998522404412757640, +-0.998519686085344140, -0.998516965261631250, -0.998514241941626080, -0.998511516125335290, -0.998508787812765640, -0.998506057003924030, -0.998503323698817340, -0.998500587897452330, +-0.998497849599835900, -0.998495108805974700, -0.998492365515875830, -0.998489619729546090, -0.998486871446992220, -0.998484120668221120, -0.998481367393239780, -0.998478611622055090, +-0.998475853354673810, -0.998473092591102840, -0.998470329331349270, -0.998467563575419770, -0.998464795323321440, -0.998462024575061060, -0.998459251330645610, -0.998456475590082100, +-0.998453697353377410, -0.998450916620538420, -0.998448133391572120, -0.998445347666485520, -0.998442559445285480, -0.998439768727979130, -0.998436975514573330, -0.998434179805075210, +-0.998431381599491520, -0.998428580897829270, -0.998425777700095770, -0.998422972006297700, -0.998420163816442270, -0.998417353130536370, -0.998414539948587200, -0.998411724270601540, +-0.998408906096586720, -0.998406085426549520, -0.998403262260497140, -0.998400436598436580, -0.998397608440374950, -0.998394777786319240, -0.998391944636276670, -0.998389108990254240, +-0.998386270848258930, -0.998383430210298070, -0.998380587076378560, -0.998377741446507700, -0.998374893320692400, -0.998372042698939870, -0.998369189581257200, -0.998366333967651620, +-0.998363475858130120, -0.998360615252699920, -0.998357752151368350, -0.998354886554142280, -0.998352018461028940, -0.998349147872035660, -0.998346274787169530, -0.998343399206437550, +-0.998340521129847280, -0.998337640557405590, -0.998334757489119820, -0.998331871924997170, -0.998328983865044760, -0.998326093309270020, -0.998323200257679950, -0.998320304710281990, +-0.998317406667083130, -0.998314506128090810, -0.998311603093312240, -0.998308697562754640, -0.998305789536425350, -0.998302879014331570, -0.998299965996480520, -0.998297050482879530, +-0.998294132473536040, -0.998291211968457160, -0.998288288967650320, -0.998285363471122620, -0.998282435478881620, -0.998279504990934540, -0.998276572007288700, -0.998273636527951310, +-0.998270698552929940, -0.998267758082231780, -0.998264815115864290, -0.998261869653834680, -0.998258921696150380, -0.998255971242818840, -0.998253018293847380, -0.998250062849243340, +-0.998247104909014140, -0.998244144473167230, -0.998241181541709930, -0.998238216114649690, -0.998235248191993830, -0.998232277773749900, -0.998229304859925340, -0.998226329450527360, +-0.998223351545563740, -0.998220371145041700, -0.998217388248968660, -0.998214402857352190, -0.998211414970199720, -0.998208424587518680, -0.998205431709316530, -0.998202436335600910, +-0.998199438466379150, -0.998196438101658810, -0.998193435241447440, -0.998190429885752350, -0.998187422034581330, -0.998184411687941700, -0.998181398845840890, -0.998178383508286800, +-0.998175365675286640, -0.998172345346848070, -0.998169322522978630, -0.998166297203685990, -0.998163269388977480, -0.998160239078860760, -0.998157206273343590, -0.998154170972433310, +-0.998151133176137680, -0.998148092884464160, -0.998145050097420490, -0.998142004815014030, -0.998138957037252750, -0.998135906764143990, -0.998132853995695400, -0.998129798731914760, +-0.998126740972809510, -0.998123680718387530, -0.998120617968656370, -0.998117552723623570, -0.998114484983296910, -0.998111414747684060, -0.998108342016792660, -0.998105266790630390, +-0.998102189069205000, -0.998099108852524180, -0.998096026140595450, -0.998092940933426710, -0.998089853231025730, -0.998086763033399940, -0.998083670340557340, -0.998080575152505590, +-0.998077477469252350, -0.998074377290805390, -0.998071274617172600, -0.998068169448361520, -0.998065061784380040, -0.998061951625235920, -0.998058838970936950, -0.998055723821490770, +-0.998052606176905390, -0.998049486037188460, -0.998046363402347870, -0.998043238272391280, -0.998040110647326560, -0.998036980527161720, -0.998033847911904300, -0.998030712801562410, +-0.998027575196143600, -0.998024435095655860, -0.998021292500107070, -0.998018147409505010, -0.998014999823857660, -0.998011849743172810, -0.998008697167458210, -0.998005542096721990, +-0.998002384530971900, -0.997999224470215830, -0.997996061914461660, -0.997992896863717390, -0.997989729317990790, -0.997986559277289960, -0.997983386741622790, -0.997980211710997040, +-0.997977034185420830, -0.997973854164901920, -0.997970671649448420, -0.997967486639068310, -0.997964299133769490, -0.997961109133559840, -0.997957916638447460, -0.997954721648440350, +-0.997951524163546380, -0.997948324183773550, -0.997945121709129970, -0.997941916739623510, -0.997938709275262400, -0.997935499316054410, -0.997932286862007740, -0.997929071913130290, +-0.997925854469430160, -0.997922634530915450, -0.997919412097594050, -0.997916187169474280, -0.997912959746563910, -0.997909729828871160, -0.997906497416404140, -0.997903262509170830, +-0.997900025107179460, -0.997896785210437900, -0.997893542818954370, -0.997890297932737090, -0.997887050551794050, -0.997883800676133360, -0.997880548305763120, -0.997877293440691650, +-0.997874036080926730, -0.997870776226476910, -0.997867513877350070, -0.997864249033554420, -0.997860981695098180, -0.997857711861989460, -0.997854439534236580, -0.997851164711847430, +-0.997847887394830550, -0.997844607583193710, -0.997841325276945580, -0.997838040476094030, -0.997834753180647400, -0.997831463390613900, -0.997828171106001750, -0.997824876326819040, +-0.997821579053074340, -0.997818279284775620, -0.997814977021931120, -0.997811672264549250, -0.997808365012638250, -0.997805055266206330, -0.997801743025261700, -0.997798428289812690, +-0.997795111059867620, -0.997791791335434830, -0.997788469116522530, -0.997785144403139150, -0.997781817195292800, -0.997778487492991920, -0.997775155296244830, -0.997771820605059870, +-0.997768483419445350, -0.997765143739409610, -0.997761801564961080, -0.997758456896107980, -0.997755109732858750, -0.997751760075221710, -0.997748407923205290, -0.997745053276817950, +-0.997741696136067780, -0.997738336500963550, -0.997734974371513370, -0.997731609747725790, -0.997728242629609240, -0.997724873017171940, -0.997721500910422550, -0.997718126309369510, +-0.997714749214021030, -0.997711369624385670, -0.997707987540471960, -0.997704602962288250, -0.997701215889843060, -0.997697826323144850, -0.997694434262201950, -0.997691039707023000, +-0.997687642657616560, -0.997684243113990950, -0.997680841076154730, -0.997677436544116340, -0.997674029517884420, -0.997670619997467420, -0.997667207982873890, -0.997663793474112380, +-0.997660376471191320, -0.997656956974119270, -0.997653534982904990, -0.997650110497556700, -0.997646683518083280, -0.997643254044493060, -0.997639822076794690, -0.997636387614996840, +-0.997632950659107950, -0.997629511209136790, -0.997626069265091790, -0.997622624826981610, -0.997619177894814800, -0.997615728468600140, -0.997612276548346060, -0.997608822134061430, +-0.997605365225754710, -0.997601905823434550, -0.997598443927109610, -0.997594979536788550, -0.997591512652480030, -0.997588043274192700, -0.997584571401935350, -0.997581097035716620, +-0.997577620175545080, -0.997574140821429480, -0.997570658973378490, -0.997567174631400880, -0.997563687795505310, -0.997560198465700650, -0.997556706641995360, -0.997553212324398420, +-0.997549715512918380, -0.997546216207564010, -0.997542714408344190, -0.997539210115267470, -0.997535703328342850, -0.997532194047578870, -0.997528682272984410, -0.997525168004568360, +-0.997521651242339270, -0.997518131986306120, -0.997514610236477580, -0.997511085992862530, -0.997507559255469740, -0.997504030024308210, -0.997500498299386470, -0.997496964080713530, +-0.997493427368298160, -0.997489888162149230, -0.997486346462275520, -0.997482802268686020, -0.997479255581389500, -0.997475706400394850, -0.997472154725710820, -0.997468600557346540, +-0.997465043895310770, -0.997461484739612380, -0.997457923090260160, -0.997454358947263200, -0.997450792310630390, -0.997447223180370490, -0.997443651556492620, -0.997440077439005650, +-0.997436500827918460, -0.997432921723240050, -0.997429340124979300, -0.997425756033145090, -0.997422169447746640, -0.997418580368792720, -0.997414988796292310, -0.997411394730254530, +-0.997407798170688140, -0.997404199117602250, -0.997400597571005960, -0.997396993530908160, -0.997393386997317940, -0.997389777970244080, -0.997386166449695910, -0.997382552435682300, +-0.997378935928212360, -0.997375316927294970, -0.997371695432939240, -0.997368071445154380, -0.997364444963949380, -0.997360815989333240, -0.997357184521315050, -0.997353550559903820, +-0.997349914105108760, -0.997346275156938970, -0.997342633715403440, -0.997338989780511390, -0.997335343352271810, -0.997331694430693920, -0.997328043015786700, -0.997324389107559490, +-0.997320732706021170, -0.997317073811181180, -0.997313412423048270, -0.997309748541632010, -0.997306082166941390, -0.997302413298985500, -0.997298741937773680, -0.997295068083314810, +-0.997291391735618430, -0.997287712894693530, -0.997284031560549340, -0.997280347733195070, -0.997276661412639930, -0.997272972598893250, -0.997269281291964020, -0.997265587491861560, +-0.997261891198595210, -0.997258192412174060, -0.997254491132607450, -0.997250787359904690, -0.997247081094074890, -0.997243372335127390, -0.997239661083071490, -0.997235947337916320, +-0.997232231099671410, -0.997228512368345870, -0.997224791143949130, -0.997221067426490300, -0.997217341215978940, -0.997213612512424130, -0.997209881315835320, -0.997206147626221840, +-0.997202411443592780, -0.997198672767957930, -0.997194931599326260, -0.997191187937707340, -0.997187441783110470, -0.997183693135545000, -0.997179941995020140, -0.997176188361545650, +-0.997172432235130520, -0.997168673615784430, -0.997164912503516580, -0.997161148898336510, -0.997157382800253460, -0.997153614209277060, -0.997149843125416660, -0.997146069548681460, +-0.997142293479081230, -0.997138514916625200, -0.997134733861323010, -0.997130950313183880, -0.997127164272217370, -0.997123375738432900, -0.997119584711840150, -0.997115791192448310, +-0.997111995180267050, -0.997108196675305810, -0.997104395677574030, -0.997100592187081360, -0.997096786203837130, -0.997092977727850990, -0.997089166759132390, -0.997085353297690770, +-0.997081537343535770, -0.997077718896677070, -0.997073897957123980, -0.997070074524886160, -0.997066248599973170, -0.997062420182394550, -0.997058589272159850, -0.997054755869278720, +-0.997050919973760720, -0.997047081585615390, -0.997043240704852400, -0.997039397331481280, -0.997035551465511590, -0.997031703106953100, -0.997027852255815360, -0.997023998912107910, +-0.997020143075840530, -0.997016284747022860, -0.997012423925664360, -0.997008560611774900, -0.997004694805363910, -0.997000826506441280, -0.996996955715016560, -0.996993082431099410, +-0.996989206654699590, -0.996985328385826760, -0.996981447624490700, -0.996977564370700950, -0.996973678624467290, -0.996969790385799250, -0.996965899654706940, -0.996962006431199920, +-0.996958110715287730, -0.996954212506980350, -0.996950311806287460, -0.996946408613218700, -0.996942502927783970, -0.996938594749993020, -0.996934684079855530, -0.996930770917381360, +-0.996926855262580290, -0.996922937115462090, -0.996919016476036530, -0.996915093344313390, -0.996911167720302530, -0.996907239604013730, -0.996903308995456870, -0.996899375894641730, +-0.996895440301578170, -0.996891502216275980, -0.996887561638744920, -0.996883618568995100, -0.996879673007036280, -0.996875724952878130, -0.996871774406530850, -0.996867821368004000, +-0.996863865837307680, -0.996859907814451660, -0.996855947299445820, -0.996851984292300150, -0.996848018793024430, -0.996844050801628740, -0.996840080318122990, -0.996836107342517040, +-0.996832131874820780, -0.996828153915044090, -0.996824173463197070, -0.996820190519289720, -0.996816205083331800, -0.996812217155333410, -0.996808226735304450, -0.996804233823255000, +-0.996800238419194850, -0.996796240523134200, -0.996792240135082940, -0.996788237255050950, -0.996784231883048430, -0.996780224019085390, -0.996776213663171820, -0.996772200815317590, +-0.996768185475532920, -0.996764167643827800, -0.996760147320212230, -0.996756124504696310, -0.996752099197290130, -0.996748071398003700, -0.996744041106847000, -0.996740008323830250, +-0.996735973048963550, -0.996731935282256790, -0.996727895023720280, -0.996723852273363910, -0.996719807031198110, -0.996715759297232660, -0.996711709071477880, -0.996707656353943760, +-0.996703601144640410, -0.996699543443578250, -0.996695483250767180, -0.996691420566217290, -0.996687355389939020, -0.996683287721942260, -0.996679217562237320, -0.996675144910834310, +-0.996671069767743440, -0.996666992132974830, -0.996662912006538890, -0.996658829388445520, -0.996654744278705150, -0.996650656677328000, -0.996646566584324160, -0.996642473999703740, +-0.996638378923477290, -0.996634281355654910, -0.996630181296246810, -0.996626078745263210, -0.996621973702714440, -0.996617866168610700, -0.996613756142962330, -0.996609643625779640, +-0.996605528617072740, -0.996601411116851970, -0.996597291125127850, -0.996593168641910390, -0.996589043667210020, -0.996584916201037060, -0.996580786243401740, -0.996576653794314480, +-0.996572518853785620, -0.996568381421825470, -0.996564241498444360, -0.996560099083652620, -0.996555954177460680, -0.996551806779878870, -0.996547656890917510, -0.996543504510587040, +-0.996539349638897680, -0.996535192275860070, -0.996531032421484440, -0.996526870075781220, -0.996522705238760850, -0.996518537910433650, -0.996514368090810180, -0.996510195779900850, +-0.996506020977715900, -0.996501843684265980, -0.996497663899561400, -0.996493481623612730, -0.996489296856430400, -0.996485109598024720, -0.996480919848406250, -0.996476727607585430, +-0.996472532875572910, -0.996468335652379020, -0.996464135938014310, -0.996459933732489310, -0.996455729035814470, -0.996451521848000120, -0.996447312169057130, -0.996443099998995830, +-0.996438885337826760, -0.996434668185560590, -0.996430448542207640, -0.996426226407778560, -0.996422001782284020, -0.996417774665734330, -0.996413545058140280, -0.996409312959512410, +-0.996405078369861140, -0.996400841289197260, -0.996396601717531310, -0.996392359654873830, -0.996388115101235370, -0.996383868056626600, -0.996379618521058270, -0.996375366494540950, +-0.996371111977085060, -0.996366854968701480, -0.996362595469400760, -0.996358333479193560, -0.996354068998090540, -0.996349802026102350, -0.996345532563239540, -0.996341260609512890, +-0.996336986164933270, -0.996332709229511120, -0.996328429803257090, -0.996324147886182070, -0.996319863478296600, -0.996315576579611560, -0.996311287190137620, -0.996306995309885420, +-0.996302700938865750, -0.996298404077089250, -0.996294104724566810, -0.996289802881309080, -0.996285498547326840, -0.996281191722630850, -0.996276882407231890, -0.996272570601140720, +-0.996268256304368220, -0.996263939516924930, -0.996259620238821860, -0.996255298470069660, -0.996250974210679320, -0.996246647460661490, -0.996242318220027180, -0.996237986488786920, +-0.996233652266951710, -0.996229315554532420, -0.996224976351539840, -0.996220634657984830, -0.996216290473878160, -0.996211943799230730, -0.996207594634053620, -0.996203242978357380, +-0.996198888832153130, -0.996194532195451510, -0.996190173068263630, -0.996185811450600370, -0.996181447342472600, -0.996177080743891110, -0.996172711654866980, -0.996168340075411110, +-0.996163966005534360, -0.996159589445247630, -0.996155210394562010, -0.996150828853488270, -0.996146444822037510, -0.996142058300220620, -0.996137669288048700, -0.996133277785532510, +-0.996128883792683160, -0.996124487309511530, -0.996120088336028720, -0.996115686872245720, -0.996111282918173410, -0.996106876473823010, -0.996102467539205390, -0.996098056114331550, +-0.996093642199212700, -0.996089225793859610, -0.996084806898283490, -0.996080385512495340, -0.996075961636506250, -0.996071535270327210, -0.996067106413969450, -0.996062675067443840, +-0.996058241230761480, -0.996053804903933580, -0.996049366086971260, -0.996044924779885380, -0.996040480982687270, -0.996036034695388040, -0.996031585917998560, -0.996027134650530170, +-0.996022680892994060, -0.996018224645401130, -0.996013765907762580, -0.996009304680089640, -0.996004840962393500, -0.996000374754685280, -0.995995906056976080, -0.995991434869277100, +-0.995986961191599570, -0.995982485023954590, -0.995978006366353470, -0.995973525218807330, -0.995969041581327370, -0.995964555453924700, -0.995960066836610760, -0.995955575729396640, +-0.995951082132293550, -0.995946586045312720, -0.995942087468465460, -0.995937586401763000, -0.995933082845216640, -0.995928576798837510, -0.995924068262636910, -0.995919557236626060, +-0.995915043720816410, -0.995910527715219150, -0.995906009219845620, -0.995901488234707030, -0.995896964759814710, -0.995892438795179970, -0.995887910340814140, -0.995883379396728550, +-0.995878845962934520, -0.995874310039443380, -0.995869771626266440, -0.995865230723415040, -0.995860687330900610, -0.995856141448734470, -0.995851593076927940, -0.995847042215492360, +-0.995842488864439270, -0.995837933023779990, -0.995833374693525840, -0.995828813873688270, -0.995824250564278700, -0.995819684765308470, -0.995815116476789000, -0.995810545698731620, +-0.995805972431148100, -0.995801396674049540, -0.995796818427447490, -0.995792237691353390, -0.995787654465778770, -0.995783068750734860, -0.995778480546233410, -0.995773889852285770, +-0.995769296668903350, -0.995764700996097710, -0.995760102833880280, -0.995755502182262610, -0.995750899041256240, -0.995746293410872620, -0.995741685291123170, -0.995737074682019550, +-0.995732461583573200, -0.995727845995795780, -0.995723227918698830, -0.995718607352293670, -0.995713984296591970, -0.995709358751605380, -0.995704730717345330, -0.995700100193823490, +-0.995695467181051510, -0.995690831679040710, -0.995686193687802870, -0.995681553207349630, -0.995676910237692450, -0.995672264778842960, -0.995667616830812730, -0.995662966393613620, +-0.995658313467257080, -0.995653658051754650, -0.995649000147118210, -0.995644339753359200, -0.995639676870489270, -0.995635011498520180, -0.995630343637463610, -0.995625673287331200, +-0.995621000448134620, -0.995616325119885510, -0.995611647302595550, -0.995606966996276490, -0.995602284200939990, -0.995597598916597830, -0.995592911143261650, -0.995588220880943230, +-0.995583528129654230, -0.995578832889406410, -0.995574135160211430, -0.995569434942081170, -0.995564732235027280, -0.995560027039061660, -0.995555319354195940, -0.995550609180441910, +-0.995545896517811450, -0.995541181366316090, -0.995536463725967940, -0.995531743596778540, -0.995527020978759670, -0.995522295871923310, -0.995517568276281350, -0.995512838191845330, +-0.995508105618627350, -0.995503370556638960, -0.995498633005892140, -0.995493892966398790, -0.995489150438170770, -0.995484405421219850, -0.995479657915557930, -0.995474907921196750, +-0.995470155438148430, -0.995465400466424730, -0.995460643006037430, -0.995455883056998610, -0.995451120619319950, -0.995446355693013540, -0.995441588278091260, -0.995436818374565100, +-0.995432045982446830, -0.995427271101748330, -0.995422493732481820, -0.995417713874658940, -0.995412931528291910, -0.995408146693392500, -0.995403359369972710, -0.995398569558044510, +-0.995393777257619910, -0.995388982468710880, -0.995384185191329430, -0.995379385425487430, -0.995374583171196980, -0.995369778428470080, -0.995364971197318820, -0.995360161477754970, +-0.995355349269790860, -0.995350534573438250, -0.995345717388709360, -0.995340897715616290, -0.995336075554170810, -0.995331250904385230, -0.995326423766271560, -0.995321594139841780, +-0.995316762025107990, -0.995311927422082410, -0.995307090330776800, -0.995302250751203600, -0.995297408683374800, -0.995292564127302380, -0.995287717082998680, -0.995282867550475570, +-0.995278015529745260, -0.995273161020819970, -0.995268304023711800, -0.995263444538432960, -0.995258582564995440, -0.995253718103411460, -0.995248851153693100, -0.995243981715852710, +-0.995239109789902380, -0.995234235375854090, -0.995229358473720400, -0.995224479083513300, -0.995219597205245000, -0.995214712838927600, -0.995209825984573530, -0.995204936642194780, +-0.995200044811803800, -0.995195150493412670, -0.995190253687033730, -0.995185354392679080, -0.995180452610361140, -0.995175548340091920, -0.995170641581883950, -0.995165732335749340, +-0.995160820601700410, -0.995155906379749270, -0.995150989669908560, -0.995146070472190280, -0.995141148786606980, -0.995136224613170640, -0.995131297951893700, -0.995126368802788600, +-0.995121437165867650, -0.995116503041143070, -0.995111566428627190, -0.995106627328332440, -0.995101685740271020, -0.995096741664455500, -0.995091795100898070, -0.995086846049611170, +-0.995081894510607130, -0.995076940483898390, -0.995071983969497250, -0.995067024967416280, -0.995062063477667680, -0.995057099500263890, -0.995052133035217220, -0.995047164082540350, +-0.995042192642245580, -0.995037218714345360, -0.995032242298852120, -0.995027263395778180, -0.995022282005136200, -0.995017298126938400, -0.995012311761197420, -0.995007322907925480, +-0.995002331567135470, -0.994997337738839470, -0.994992341423050260, -0.994987342619780170, -0.994982341329041730, -0.994977337550847270, -0.994972331285209570, -0.994967322532141150, +-0.994962311291654360, -0.994957297563761720, -0.994952281348475910, -0.994947262645809350, -0.994942241455774700, -0.994937217778384400, -0.994932191613650980, -0.994927162961587230, +-0.994922131822205460, -0.994917098195518430, -0.994912062081538710, -0.994907023480278710, -0.994901982391751090, -0.994896938815968750, -0.994891892752943870, -0.994886844202689360, +-0.994881793165217740, -0.994876739640541570, -0.994871683628673620, -0.994866625129626430, -0.994861564143412650, -0.994856500670045050, -0.994851434709536080, -0.994846366261898600, +-0.994841295327145160, -0.994836221905288530, -0.994831145996341370, -0.994826067600316110, -0.994820986717225960, -0.994815903347083250, -0.994810817489900740, -0.994805729145691320, +-0.994800638314467410, -0.994795544996242010, -0.994790449191027770, -0.994785350898837350, -0.994780250119683630, -0.994775146853579150, -0.994770041100536790, -0.994764932860569440, +-0.994759822133689740, -0.994754708919910470, -0.994749593219244500, -0.994744475031704380, -0.994739354357303210, -0.994734231196053640, -0.994729105547968450, -0.994723977413060510, +-0.994718846791342590, -0.994713713682827680, -0.994708578087528440, -0.994703440005457630, -0.994698299436628240, -0.994693156381053270, -0.994688010838745250, -0.994682862809717290, +-0.994677712293982160, -0.994672559291552740, -0.994667403802441790, -0.994662245826662520, -0.994657085364227590, -0.994651922415149990, -0.994646756979442490, -0.994641589057118190, +-0.994636418648189860, -0.994631245752670480, -0.994626070370572930, -0.994620892501910210, -0.994615712146695310, -0.994610529304941200, -0.994605343976660670, -0.994600156161866920, +-0.994594965860572610, -0.994589773072790840, -0.994584577798534820, -0.994579380037817320, -0.994574179790651320, -0.994568977057049940, -0.994563771837026040, -0.994558564130592740, +-0.994553353937763010, -0.994548141258549960, -0.994542926092966460, -0.994537708441025630, -0.994532488302740660, -0.994527265678124330, -0.994522040567189960, -0.994516812969950430, +-0.994511582886418830, -0.994506350316608280, -0.994501115260531980, -0.994495877718202800, -0.994490637689633970, -0.994485395174838470, -0.994480150173829510, -0.994474902686620200, +-0.994469652713223630, -0.994464400253652900, -0.994459145307921120, -0.994453887876041610, -0.994448627958027350, -0.994443365553891460, -0.994438100663647240, -0.994432833287307690, +-0.994427563424886030, -0.994422291076395460, -0.994417016241849310, -0.994411738921260450, -0.994406459114642320, -0.994401176822008130, -0.994395892043370870, -0.994390604778743970, +-0.994385315028140540, -0.994380022791573670, -0.994374728069056910, -0.994369430860603250, -0.994364131166226020, -0.994358828985938530, -0.994353524319753990, -0.994348217167685510, +-0.994342907529746520, -0.994337595405950350, -0.994332280796310090, -0.994326963700839170, -0.994321644119550930, -0.994316322052458460, -0.994310997499575300, -0.994305670460914560, +-0.994300340936489560, -0.994295008926313840, -0.994289674430400510, -0.994284337448763100, -0.994278997981414840, -0.994273656028369040, -0.994268311589639020, -0.994262964665238340, +-0.994257615255180190, -0.994252263359478030, -0.994246908978145160, -0.994241552111195140, -0.994236192758641170, -0.994230830920496690, -0.994225466596775130, -0.994220099787490040, +-0.994214730492654410, -0.994209358712282220, -0.994203984446386580, -0.994198607694980920, -0.994193228458078780, -0.994187846735693490, -0.994182462527838600, -0.994177075834527630, +-0.994171686655773930, -0.994166294991591150, -0.994160900841992490, -0.994155504206991610, -0.994150105086601950, -0.994144703480837060, -0.994139299389710460, -0.994133892813235390, +-0.994128483751425820, -0.994123072204294970, -0.994117658171856380, -0.994112241654123710, -0.994106822651110500, -0.994101401162830080, -0.994095977189296210, -0.994090550730522440, +-0.994085121786522310, -0.994079690357309360, -0.994074256442897150, -0.994068820043299330, -0.994063381158529440, -0.994057939788601130, -0.994052495933527850, -0.994047049593323460, +-0.994041600768001410, -0.994036149457575350, -0.994030695662058930, -0.994025239381465810, -0.994019780615809530, -0.994014319365103760, -0.994008855629362250, -0.994003389408598670, +-0.993997920702826550, -0.993992449512059670, -0.993986975836311680, -0.993981499675596130, -0.993976021029926990, -0.993970539899317610, -0.993965056283781960, -0.993959570183333700, +-0.993954081597986480, -0.993948590527754080, -0.993943096972650260, -0.993937600932688570, -0.993932102407882990, -0.993926601398247070, -0.993921097903794680, -0.993915591924539600, +-0.993910083460495470, -0.993904572511676190, -0.993899059078095500, -0.993893543159767080, -0.993888024756704900, -0.993882503868922520, -0.993876980496433910, -0.993871454639252970, +-0.993865926297393340, -0.993860395470868910, -0.993854862159693320, -0.993849326363880680, -0.993843788083444760, -0.993838247318399430, -0.993832704068758450, -0.993827158334535610, +-0.993821610115744990, -0.993816059412400370, -0.993810506224515500, -0.993804950552104380, -0.993799392395180780, -0.993793831753758910, -0.993788268627852300, -0.993782703017475180, +-0.993777134922641190, -0.993771564343364440, -0.993765991279658590, -0.993760415731537950, -0.993754837699016180, -0.993749257182107380, -0.993743674180825430, -0.993738088695184320, +-0.993732500725197920, -0.993726910270880340, -0.993721317332245450, -0.993715721909307130, -0.993710124002079700, -0.993704523610576820, -0.993698920734812810, -0.993693315374801320, +-0.993687707530556690, -0.993682097202092550, -0.993676484389423350, -0.993670869092562970, -0.993665251311525390, -0.993659631046324710, -0.993654008296974920, -0.993648383063490130, +-0.993642755345884310, -0.993637125144171680, -0.993631492458366130, -0.993625857288481850, -0.993620219634533060, -0.993614579496533650, -0.993608936874497810, -0.993603291768439640, +-0.993597644178373150, -0.993591994104312650, -0.993586341546272120, -0.993580686504265790, -0.993575028978307630, -0.993569368968411970, -0.993563706474592910, -0.993558041496864660, +-0.993552374035241210, -0.993546704089736780, -0.993541031660365560, -0.993535356747141880, -0.993529679350079740, -0.993523999469193450, -0.993518317104497120, -0.993512632256004950, +-0.993506944923731260, -0.993501255107690270, -0.993495562807896080, -0.993489868024363010, -0.993484170757105270, -0.993478471006137180, -0.993472768771472730, -0.993467064053126460, +-0.993461356851112590, -0.993455647165445210, -0.993449934996138760, -0.993444220343207450, -0.993438503206665600, -0.993432783586527530, -0.993427061482807350, -0.993421336895519700, +-0.993415609824678690, -0.993409880270298640, -0.993404148232393870, -0.993398413710978700, -0.993392676706067570, -0.993386937217674680, -0.993381195245814470, -0.993375450790501270, +-0.993369703851749390, -0.993363954429573370, -0.993358202523987430, -0.993352448135005890, -0.993346691262643300, -0.993340931906914080, -0.993335170067832340, -0.993329405745412730, +-0.993323638939669680, -0.993317869650617520, -0.993312097878270570, -0.993306323622643480, -0.993300546883750690, -0.993294767661606400, -0.993288985956225170, -0.993283201767621420, +-0.993277415095809800, -0.993271625940804540, -0.993265834302620390, -0.993260040181271450, -0.993254243576772500, -0.993248444489137850, -0.993242642918382270, -0.993236838864519970, +-0.993231032327565600, -0.993225223307533710, -0.993219411804438620, -0.993213597818295100, -0.993207781349117580, -0.993201962396920600, -0.993196140961718600, -0.993190317043526450, +-0.993184490642358360, -0.993178661758229110, -0.993172830391153230, -0.993166996541145260, -0.993161160208219650, -0.993155321392391270, -0.993149480093674650, -0.993143636312084240, +-0.993137790047634810, -0.993131941300340880, -0.993126090070217020, -0.993120236357278090, -0.993114380161538410, -0.993108521483012870, -0.993102660321715900, -0.993096796677662370, +-0.993090930550866950, -0.993085061941344050, -0.993079190849108560, -0.993073317274175030, -0.993067441216558320, -0.993061562676272880, -0.993055681653333690, -0.993049798147755180, +-0.993043912159552230, -0.993038023688739500, -0.993032132735331640, -0.993026239299343530, -0.993020343380789820, -0.993014444979685160, -0.993008544096044440, -0.993002640729882420, +-0.992996734881213760, -0.992990826550053220, -0.992984915736415670, -0.992979002440315780, -0.992973086661768420, -0.992967168400788360, -0.992961247657390360, -0.992955324431589180, +-0.992949398723399820, -0.992943470532836820, -0.992937539859915290, -0.992931606704649860, -0.992925671067055320, -0.992919732947146640, -0.992913792344938710, -0.992907849260446280, +-0.992901903693684140, -0.992895955644667370, -0.992890005113410520, -0.992884052099928800, -0.992878096604236870, -0.992872138626349820, -0.992866178166282420, -0.992860215224049440, +-0.992854249799666080, -0.992848281893147000, -0.992842311504507300, -0.992836338633761640, -0.992830363280925220, -0.992824385446012920, -0.992818405129039740, -0.992812422330020430, +-0.992806437048970090, -0.992800449285903610, -0.992794459040836070, -0.992788466313782370, -0.992782471104757480, -0.992776473413776510, -0.992770473240854320, -0.992764470586005920, +-0.992758465449246400, -0.992752457830590630, -0.992746447730053720, -0.992740435147650650, -0.992734420083396520, -0.992728402537306430, -0.992722382509395260, -0.992716359999678220, +-0.992710335008170070, -0.992704307534886250, -0.992698277579841750, -0.992692245143051430, -0.992686210224530520, -0.992680172824294100, -0.992674132942357180, -0.992668090578735060, +-0.992662045733442630, -0.992655998406495100, -0.992649948597907450, -0.992643896307695120, -0.992637841535872980, -0.992631784282456240, -0.992625724547460010, -0.992619662330899490, +-0.992613597632789670, -0.992607530453146090, -0.992601460791983640, -0.992595388649317400, -0.992589314025162820, -0.992583236919534980, -0.992577157332449000, -0.992571075263920080, +-0.992564990713963540, -0.992558903682594360, -0.992552814169828100, -0.992546722175679740, -0.992540627700164600, -0.992534530743297890, -0.992528431305094830, -0.992522329385570610, +-0.992516224984740680, -0.992510118102620240, -0.992504008739224400, -0.992497896894568580, -0.992491782568668100, -0.992485665761538070, -0.992479546473193920, -0.992473424703650850, +-0.992467300452924190, -0.992461173721029270, -0.992455044507981500, -0.992448912813796100, -0.992442778638488400, -0.992436641982073820, -0.992430502844567460, -0.992424361225984990, +-0.992418217126341600, -0.992412070545652720, -0.992405921483933580, -0.992399769941199720, -0.992393615917466330, -0.992387459412748970, -0.992381300427062960, -0.992375138960423620, +-0.992368975012846490, -0.992362808584346890, -0.992356639674940370, -0.992350468284642130, -0.992344294413467830, -0.992338118061432570, -0.992331939228552230, -0.992325757914842010, +-0.992319574120317460, -0.992313387844993900, -0.992307199088886870, -0.992301007852011810, -0.992294814134384250, -0.992288617936019750, -0.992282419256933610, -0.992276218097141280, +-0.992270014456658630, -0.992263808335500870, -0.992257599733683660, -0.992251388651222310, -0.992245175088132590, -0.992238959044429820, -0.992232740520129770, -0.992226519515247870, +-0.992220296029799660, -0.992214070063800690, -0.992207841617266610, -0.992201610690212840, -0.992195377282655060, -0.992189141394608900, -0.992182903026089690, -0.992176662177113420, +-0.992170418847695410, -0.992164173037851430, -0.992157924747596900, -0.992151673976947700, -0.992145420725919160, -0.992139164994527150, -0.992132906782787210, -0.992126646090715100, +-0.992120382918326270, -0.992114117265636590, -0.992107849132661480, -0.992101578519416830, -0.992095305425918280, -0.992089029852181280, -0.992082751798221810, -0.992076471264055510, +-0.992070188249697950, -0.992063902755164980, -0.992057614780472270, -0.992051324325635480, -0.992045031390670350, -0.992038735975592670, -0.992032438080418190, -0.992026137705162680, +-0.992019834849841690, -0.992013529514471190, -0.992007221699066850, -0.992000911403644440, -0.991994598628219810, -0.991988283372808530, -0.991981965637426690, -0.991975645422089820, +-0.991969322726813930, -0.991962997551614770, -0.991956669896507990, -0.991950339761509590, -0.991944007146635330, -0.991937672051901090, -0.991931334477322730, -0.991924994422915930, +-0.991918651888696770, -0.991912306874680790, -0.991905959380884220, -0.991899609407322690, -0.991893256954011980, -0.991886902020968300, -0.991880544608207400, -0.991874184715745070, +-0.991867822343597270, -0.991861457491779900, -0.991855090160308820, -0.991848720349200130, -0.991842348058469600, -0.991835973288133330, -0.991829596038206970, -0.991823216308706730, +-0.991816834099648380, -0.991810449411047900, -0.991804062242921390, -0.991797672595284620, -0.991791280468153680, -0.991784885861544670, -0.991778488775473370, -0.991772089209955850, +-0.991765687165008130, -0.991759282640646060, -0.991752875636885860, -0.991746466153743510, -0.991740054191235010, -0.991733639749376340, -0.991727222828183600, -0.991720803427672880, +-0.991714381547860070, -0.991707957188761260, -0.991701530350392550, -0.991695101032770030, -0.991688669235909810, -0.991682234959827880, -0.991675798204540440, -0.991669358970063360, +-0.991662917256412870, -0.991656473063605270, -0.991650026391656340, -0.991643577240582500, -0.991637125610399630, -0.991630671501123940, -0.991624214912771530, -0.991617755845358610, +-0.991611294298901380, -0.991604830273415840, -0.991598363768918190, -0.991591894785424640, -0.991585423322951410, -0.991578949381514580, -0.991572472961130380, -0.991565994061815000, +-0.991559512683584670, -0.991553028826455460, -0.991546542490443830, -0.991540053675565750, -0.991533562381837650, -0.991527068609275530, -0.991520572357895810, -0.991514073627714600, +-0.991507572418748210, -0.991501068731012740, -0.991494562564524840, -0.991488053919300390, -0.991481542795355940, -0.991475029192707580, -0.991468513111371630, -0.991461994551364300, +-0.991455473512702020, -0.991448949995401230, -0.991442423999477910, -0.991435895524948600, -0.991429364571829510, -0.991422831140137070, -0.991416295229887500, -0.991409756841097220, +-0.991403215973782450, -0.991396672627959720, -0.991390126803645240, -0.991383578500855570, -0.991377027719606900, -0.991370474459915660, -0.991363918721798190, -0.991357360505270900, +-0.991350799810350350, -0.991344236637052730, -0.991337670985394490, -0.991331102855392170, -0.991324532247061960, -0.991317959160420540, -0.991311383595484100, -0.991304805552269190, +-0.991298225030792350, -0.991291642031070010, -0.991285056553118490, -0.991278468596954340, -0.991271878162593990, -0.991265285250053860, -0.991258689859350620, -0.991252091990500680, +-0.991245491643520490, -0.991238888818426590, -0.991232283515235510, -0.991225675733963700, -0.991219065474627570, -0.991212452737243900, -0.991205837521829110, -0.991199219828399540, +-0.991192599656972150, -0.991185977007563170, -0.991179351880189240, -0.991172724274867020, -0.991166094191612720, -0.991159461630443440, -0.991152826591375490, -0.991146189074425420, +-0.991139549079609880, -0.991132906606945530, -0.991126261656448790, -0.991119614228136550, -0.991112964322025220, -0.991106311938131480, -0.991099657076471740, -0.991092999737063110, +-0.991086339919921900, -0.991079677625064880, -0.991073012852508710, -0.991066345602269920, -0.991059675874365160, -0.991053003668811440, -0.991046328985625060, -0.991039651824823010, +-0.991032972186421720, -0.991026290070437970, -0.991019605476888610, -0.991012918405790200, -0.991006228857159390, -0.990999536831013050, -0.990992842327367840, -0.990986145346240630, +-0.990979445887647970, -0.990972743951606840, -0.990966039538133670, -0.990959332647245450, -0.990952623278958940, -0.990945911433290800, -0.990939197110258020, -0.990932480309877130, +-0.990925761032165120, -0.990919039277138650, -0.990912315044814700, -0.990905588335209810, -0.990898859148340860, -0.990892127484224950, -0.990885393342878730, -0.990878656724318960, +-0.990871917628562530, -0.990865176055626410, -0.990858432005527150, -0.990851685478281950, -0.990844936473907590, -0.990838184992420820, -0.990831431033838640, -0.990824674598177800, +-0.990817915685455300, -0.990811154295688000, -0.990804390428892900, -0.990797624085086760, -0.990790855264286450, -0.990784083966509190, -0.990777310191771620, -0.990770533940090850, +-0.990763755211483630, -0.990756974005966960, -0.990750190323558040, -0.990743404164273640, -0.990736615528130640, -0.990729824415146120, -0.990723030825337080, -0.990716234758720500, +-0.990709436215313270, -0.990702635195132460, -0.990695831698195080, -0.990689025724518000, -0.990682217274118430, -0.990675406347013450, -0.990668592943219850, -0.990661777062754710, +-0.990654958705635250, -0.990648137871878220, -0.990641314561500950, -0.990634488774520430, -0.990627660510953630, -0.990620829770817780, -0.990613996554129740, -0.990607160860906830, +-0.990600322691165940, -0.990593482044924260, -0.990586638922198670, -0.990579793323006720, -0.990572945247365280, -0.990566094695291440, -0.990559241666802310, -0.990552386161915210, +-0.990545528180646890, -0.990538667723015020, -0.990531804789036350, -0.990524939378728210, -0.990518071492107690, -0.990511201129192110, -0.990504328289998460, -0.990497452974543950, +-0.990490575182845780, -0.990483694914921160, -0.990476812170787310, -0.990469926950461540, -0.990463039253960840, -0.990456149081302640, -0.990449256432504030, -0.990442361307582120, +-0.990435463706554550, -0.990428563629438210, -0.990421661076250510, -0.990414756047008570, -0.990407848541729810, -0.990400938560431430, -0.990394026103130760, -0.990387111169845010, +-0.990380193760591390, -0.990373273875387210, -0.990366351514250010, -0.990359426677196900, -0.990352499364245190, -0.990345569575412310, -0.990338637310715250, -0.990331702570171890, +-0.990324765353799100, -0.990317825661614530, -0.990310883493635390, -0.990303938849879000, -0.990296991730362790, -0.990290042135104080, -0.990283090064120190, -0.990276135517428660, +-0.990269178495046700, -0.990262218996991850, -0.990255257023281430, -0.990248292573932990, -0.990241325648963720, -0.990234356248391180, -0.990227384372232570, -0.990220410020505650, +-0.990213433193227740, -0.990206453890416280, -0.990199472112088590, -0.990192487858262300, -0.990185501128954650, -0.990178511924183380, -0.990171520243965820, -0.990164526088319290, +-0.990157529457261650, -0.990150530350810130, -0.990143528768982260, -0.990136524711795580, -0.990129518179267640, -0.990122509171415750, -0.990115497688257680, -0.990108483729810860, +-0.990101467296092940, -0.990094448387121240, -0.990087427002913410, -0.990080403143487110, -0.990073376808859760, -0.990066347999048910, -0.990059316714072100, -0.990052282953947200, +-0.990045246718691540, -0.990038208008322760, -0.990031166822858410, -0.990024123162316250, -0.990017077026713600, -0.990010028416068330, -0.990002977330398100, -0.989995923769720340, +-0.989988867734052810, -0.989981809223413060, -0.989974748237818840, -0.989967684777287690, -0.989960618841837390, -0.989953550431485580, -0.989946479546249700, -0.989939406186147730, +-0.989932330351197320, -0.989925252041416020, -0.989918171256821690, -0.989911087997431660, -0.989904002263264140, -0.989896914054336550, -0.989889823370666780, -0.989882730212272350, +-0.989875634579171160, -0.989868536471380840, -0.989861435888919170, -0.989854332831803910, -0.989847227300052810, -0.989840119293683540, -0.989833008812714190, -0.989825895857162190, +-0.989818780427045520, -0.989811662522381840, -0.989804542143188910, -0.989797419289484730, -0.989790293961287040, -0.989783166158613610, -0.989776035881482220, -0.989768903129910840, +-0.989761767903917120, -0.989754630203518950, -0.989747490028734300, -0.989740347379580830, -0.989733202256076420, -0.989726054658239150, -0.989718904586086690, -0.989711752039637020, +-0.989704597018908010, -0.989697439523917420, -0.989690279554683140, -0.989683117111223250, -0.989675952193555640, -0.989668784801698060, -0.989661614935668620, -0.989654442595485070, +-0.989647267781165410, -0.989640090492727610, -0.989632910730189550, -0.989625728493569110, -0.989618543782884500, -0.989611356598153470, -0.989604166939394130, -0.989596974806624340, +-0.989589780199862100, -0.989582583119125280, -0.989575383564432200, -0.989568181535800620, -0.989560977033248520, -0.989553770056794010, -0.989546560606455070, -0.989539348682249800, +-0.989532134284196060, -0.989524917412312080, -0.989517698066615830, -0.989510476247125070, -0.989503251953858350, -0.989496025186833440, -0.989488795946068530, -0.989481564231581620, +-0.989474330043390580, -0.989467093381513950, -0.989459854245969490, -0.989452612636775530, -0.989445368553949930, -0.989438121997510910, -0.989430872967476670, -0.989423621463865200, +-0.989416367486694700, -0.989409111035983170, -0.989401852111748800, -0.989394590714010040, -0.989387326842784630, -0.989380060498091020, -0.989372791679947180, -0.989365520388371330, +-0.989358246623381790, -0.989350970384996530, -0.989343691673233990, -0.989336410488112160, -0.989329126829649240, -0.989321840697863550, -0.989314552092773300, -0.989307261014396590, +-0.989299967462751730, -0.989292671437856930, -0.989285372939730510, -0.989278071968390680, -0.989270768523855650, -0.989263462606143620, -0.989256154215273020, -0.989248843351261950, +-0.989241530014128840, -0.989234214203891900, -0.989226895920569450, -0.989219575164179800, -0.989212251934741160, -0.989204926232271850, -0.989197598056790310, -0.989190267408314730, +-0.989182934286863320, -0.989175598692454750, -0.989168260625107210, -0.989160920084839020, -0.989153577071668510, -0.989146231585613990, -0.989138883626693890, -0.989131533194926640, +-0.989124180290330450, -0.989116824912923960, -0.989109467062725400, -0.989102106739753070, -0.989094743944025520, -0.989087378675561180, -0.989080010934378360, -0.989072640720495390, +-0.989065268033930910, -0.989057892874703250, -0.989050515242830940, -0.989043135138332200, -0.989035752561225780, -0.989028367511529780, -0.989020979989262970, -0.989013589994443780, +-0.989006197527090510, -0.988998802587221840, -0.988991405174856060, -0.988984005290011850, -0.988976602932707620, -0.988969198102961910, -0.988961790800793160, -0.988954381026219800, +-0.988946968779260690, -0.988939554059934060, -0.988932136868258540, -0.988924717204252790, -0.988917295067935020, -0.988909870459324210, -0.988902443378438690, -0.988895013825297100, +-0.988887581799917870, -0.988880147302319770, -0.988872710332521330, -0.988865270890540990, -0.988857828976397620, -0.988850384590109540, -0.988842937731695510, -0.988835488401174190, +-0.988828036598564110, -0.988820582323884030, -0.988813125577152400, -0.988805666358388070, -0.988798204667609370, -0.988790740504835290, -0.988783273870084360, -0.988775804763375230, +-0.988768333184726680, -0.988760859134157230, -0.988753382611685660, -0.988745903617330610, -0.988738422151110740, -0.988730938213044810, -0.988723451803151580, -0.988715962921449700, +-0.988708471567957940, -0.988700977742695050, -0.988693481445679700, -0.988685982676930420, -0.988678481436466420, -0.988670977724306230, -0.988663471540468520, -0.988655962884972150, +-0.988648451757835890, -0.988640938159078500, -0.988633422088718850, -0.988625903546775490, -0.988618382533267390, -0.988610859048213330, -0.988603333091632170, -0.988595804663542690, +-0.988588273763963740, -0.988580740392914100, -0.988573204550412420, -0.988565666236477900, -0.988558125451129200, -0.988550582194385190, -0.988543036466264620, -0.988535488266786610, +-0.988527937595969800, -0.988520384453833170, -0.988512828840395600, -0.988505270755675960, -0.988497710199693010, -0.988490147172465860, -0.988482581674013370, -0.988475013704354530, +-0.988467443263507990, -0.988459870351492850, -0.988452294968328090, -0.988444717114032590, -0.988437136788625330, -0.988429553992125180, -0.988421968724551240, -0.988414380985922270, +-0.988406790776257370, -0.988399198095575530, -0.988391602943895720, -0.988384005321236710, -0.988376405227617830, -0.988368802663058040, -0.988361197627576130, -0.988353590121191280, +-0.988345980143922390, -0.988338367695788420, -0.988330752776808710, -0.988323135387002120, -0.988315515526387630, -0.988307893194984470, -0.988300268392811490, -0.988292641119887900, +-0.988285011376232590, -0.988277379161864870, -0.988269744476803490, -0.988262107321068010, -0.988254467694677170, -0.988246825597650090, -0.988239181030006080, -0.988231533991764000, +-0.988223884482943070, -0.988216232503562500, -0.988208578053641370, -0.988200921133198680, -0.988193261742253860, -0.988185599880825770, -0.988177935548933740, -0.988170268746596860, +-0.988162599473834340, -0.988154927730665160, -0.988147253517108750, -0.988139576833184210, -0.988131897678910740, -0.988124216054307560, -0.988116531959393860, -0.988108845394188640, +-0.988101156358711540, -0.988093464852981440, -0.988085770877017660, -0.988078074430839500, -0.988070375514466190, -0.988062674127916930, -0.988054970271211030, -0.988047263944367590, +-0.988039555147406050, -0.988031843880345480, -0.988024130143205450, -0.988016413936005030, -0.988008695258763670, -0.988000974111500560, -0.987993250494234810, -0.987985524406986170, +-0.987977795849773630, -0.987970064822616620, -0.987962331325534460, -0.987954595358546460, -0.987946856921671950, -0.987939116014930340, -0.987931372638340970, -0.987923626791923140, +-0.987915878475696060, -0.987908127689679500, -0.987900374433892560, -0.987892618708354650, -0.987884860513085330, -0.987877099848103790, -0.987869336713429360, -0.987861571109081680, +-0.987853803035080080, -0.987846032491443980, -0.987838259478192810, -0.987830483995346010, -0.987822706042922990, -0.987814925620943310, -0.987807142729426160, -0.987799357368391080, +-0.987791569537857740, -0.987783779237845440, -0.987775986468373720, -0.987768191229462130, -0.987760393521129880, -0.987752593343396600, -0.987744790696282070, -0.987736985579805380, +-0.987729177993986410, -0.987721367938844350, -0.987713555414398980, -0.987705740420669610, -0.987697922957676000, -0.987690103025437470, -0.987682280623973670, -0.987674455753304150, +-0.987666628413448660, -0.987658798604426510, -0.987650966326257370, -0.987643131578960780, -0.987635294362556260, -0.987627454677063700, -0.987619612522502410, -0.987611767898892160, +-0.987603920806252480, -0.987596071244602910, -0.987588219213963230, -0.987580364714353070, -0.987572507745791860, -0.987564648308299490, -0.987556786401895370, -0.987548922026599390, +-0.987541055182431070, -0.987533185869410080, -0.987525314087556170, -0.987517439836888890, -0.987509563117428100, -0.987501683929193350, -0.987493802272204510, -0.987485918146481120, +-0.987478031552042950, -0.987470142488909630, -0.987462250957100940, -0.987454356956636750, -0.987446460487536590, -0.987438561549820130, -0.987430660143507440, -0.987422756268618080, +-0.987414849925171810, -0.987406941113188500, -0.987399029832687790, -0.987391116083689350, -0.987383199866213260, -0.987375281180279170, -0.987367360025906860, -0.987359436403116190, +-0.987351510311926920, -0.987343581752358810, -0.987335650724431860, -0.987327717228165700, -0.987319781263580110, -0.987311842830695290, -0.987303901929530770, -0.987295958560106550, +-0.987288012722442380, -0.987280064416558250, -0.987272113642473690, -0.987264160400209150, -0.987256204689784140, -0.987248246511218560, -0.987240285864532500, -0.987232322749745590, +-0.987224357166877950, -0.987216389115949440, -0.987208418596979830, -0.987200445609989210, -0.987192470154997450, -0.987184492232024650, -0.987176511841090560, -0.987168528982215190, +-0.987160543655418500, -0.987152555860720260, -0.987144565598140900, -0.987136572867700070, -0.987128577669417750, -0.987120580003314040, -0.987112579869408810, -0.987104577267722160, +-0.987096572198274180, -0.987088564661084630, -0.987080554656173730, -0.987072542183561330, -0.987064527243267650, -0.987056509835312680, -0.987048489959716500, -0.987040467616499000, +-0.987032442805680250, -0.987024415527280490, -0.987016385781319670, -0.987008353567817910, -0.987000318886795290, -0.986992281738271910, -0.986984242122267760, -0.986976200038803040, +-0.986968155487897850, -0.986960108469572160, -0.986952058983846190, -0.986944007030740140, -0.986935952610274110, -0.986927895722468200, -0.986919836367342480, -0.986911774544917190, +-0.986903710255212400, -0.986895643498248430, -0.986887574274045280, -0.986879502582623250, -0.986871428424002550, -0.986863351798203170, -0.986855272705245420, -0.986847191145149520, +-0.986839107117935650, -0.986831020623623820, -0.986822931662234670, -0.986814840233788180, -0.986806746338304560, -0.986798649975804020, -0.986790551146306870, -0.986782449849833320, +-0.986774346086403690, -0.986766239856038170, -0.986758131158757100, -0.986750019994580670, -0.986741906363529210, -0.986733790265623020, -0.986725671700882320, -0.986717550669327430, +-0.986709427170978540, -0.986701301205856200, -0.986693172773980610, -0.986685041875372090, -0.986676908510050970, -0.986668772678037650, -0.986660634379352140, -0.986652493614015300, +-0.986644350382047120, -0.986636204683468130, -0.986628056518298550, -0.986619905886558900, -0.986611752788269510, -0.986603597223450700, -0.986595439192122890, -0.986587278694306510, +-0.986579115730021770, -0.986570950299289430, -0.986562782402129690, -0.986554612038562870, -0.986546439208609740, -0.986538263912290160, -0.986530086149625230, -0.986521905920635040, +-0.986513723225340030, -0.986505538063760730, -0.986497350435917570, -0.986489160341831100, -0.986480967781521720, -0.986472772755009890, -0.986464575262316120, -0.986456375303460750, +-0.986448172878464650, -0.986439967987348120, -0.986431760630131600, -0.986423550806835750, -0.986415338517480980, -0.986407123762087720, -0.986398906540676860, -0.986390686853268580, +-0.986382464699883780, -0.986374240080542640, -0.986366012995266050, -0.986357783444074320, -0.986349551426988210, -0.986341316944028160, -0.986333079995214690, -0.986324840580568680, +-0.986316598700110570, -0.986308354353860990, -0.986300107541840500, -0.986291858264069620, -0.986283606520569120, -0.986275352311359650, -0.986267095636461870, -0.986258836495896300, +-0.986250574889683710, -0.986242310817844640, -0.986234044280399740, -0.986225775277369760, -0.986217503808775380, -0.986209229874637110, -0.986200953474975830, -0.986192674609812300, +-0.986184393279166960, -0.986176109483060670, -0.986167823221514080, -0.986159534494547850, -0.986151243302182960, -0.986142949644439830, -0.986134653521339440, -0.986126354932902350, +-0.986118053879149410, -0.986109750360101290, -0.986101444375778850, -0.986093135926202740, -0.986084825011393830, -0.986076511631372780, -0.986068195786160450, -0.986059877475777720, +-0.986051556700245360, -0.986043233459584000, -0.986034907753814420, -0.986026579582957810, -0.986018248947034600, -0.986009915846065900, -0.986001580280072340, -0.985993242249074920, +-0.985984901753094280, -0.985976558792151400, -0.985968213366267170, -0.985959865475462440, -0.985951515119757870, -0.985943162299174560, -0.985934807013733480, -0.985926449263455300, +-0.985918089048361090, -0.985909726368471520, -0.985901361223807670, -0.985892993614390420, -0.985884623540240760, -0.985876251001379430, -0.985867875997827550, -0.985859498529605970, +-0.985851118596735690, -0.985842736199237570, -0.985834351337132600, -0.985825964010441650, -0.985817574219185920, -0.985809181963386290, -0.985800787243063640, -0.985792390058239040, +-0.985783990408933500, -0.985775588295167760, -0.985767183716963260, -0.985758776674340750, -0.985750367167321340, -0.985741955195926000, -0.985733540760175830, -0.985725123860091700, +-0.985716704495694820, -0.985708282667006270, -0.985699858374046720, -0.985691431616837700, -0.985683002395400190, -0.985674570709755060, -0.985666136559923630, -0.985657699945926780, +-0.985649260867785480, -0.985640819325521280, -0.985632375319154930, -0.985623928848707750, -0.985615479914200730, -0.985607028515654960, -0.985598574653091640, -0.985590118326531870, +-0.985581659535996750, -0.985573198281507580, -0.985564734563085240, -0.985556268380751170, -0.985547799734526550, -0.985539328624432280, -0.985530855050489760, -0.985522379012720000, +-0.985513900511144400, -0.985505419545783970, -0.985496936116660120, -0.985488450223793830, -0.985479961867206540, -0.985471471046919230, -0.985462977762953220, -0.985454482015329810, +-0.985445983804070220, -0.985437483129195550, -0.985428979990727320, -0.985420474388686520, -0.985411966323094690, -0.985403455793972820, -0.985394942801342430, -0.985386427345224410, +-0.985377909425640520, -0.985369389042611950, -0.985360866196159810, -0.985352340886305520, -0.985343813113070290, -0.985335282876475650, -0.985326750176542810, -0.985318215013293090, +-0.985309677386747570, -0.985301137296928140, -0.985292594743855780, -0.985284049727552010, -0.985275502248038060, -0.985266952305335340, -0.985258399899465060, -0.985249845030448990, +-0.985241287698308320, -0.985232727903064490, -0.985224165644738690, -0.985215600923352590, -0.985207033738927480, -0.985198464091484700, -0.985189891981045780, -0.985181317407632040, +-0.985172740371265120, -0.985164160871966450, -0.985155578909757250, -0.985146994484659140, -0.985138407596693580, -0.985129818245881750, -0.985121226432245640, -0.985112632155806470, +-0.985104035416585640, -0.985095436214604710, -0.985086834549885220, -0.985078230422448690, -0.985069623832316550, -0.985061014779510360, -0.985052403264051630, -0.985043789285961700, +-0.985035172845262540, -0.985026553941975360, -0.985017932576121910, -0.985009308747723520, -0.985000682456801720, -0.984992053703378390, -0.984983422487474950, -0.984974788809112930, +-0.984966152668313890, -0.984957514065099460, -0.984948872999491300, -0.984940229471510940, -0.984931583481180040, -0.984922935028520240, -0.984914284113552860, -0.984905630736299890, +-0.984896974896782850, -0.984888316595023520, -0.984879655831043200, -0.984870992604863660, -0.984862326916506880, -0.984853658765994180, -0.984844988153347420, -0.984836315078588150, +-0.984827639541738020, -0.984818961542818890, -0.984810281081852310, -0.984801598158860040, -0.984792912773863720, -0.984784224926885110, -0.984775534617945980, -0.984766841847067980, +-0.984758146614272970, -0.984749448919582490, -0.984740748763018540, -0.984732046144602410, -0.984723341064356440, -0.984714633522302040, -0.984705923518461090, -0.984697211052855350, +-0.984688496125506460, -0.984679778736436530, -0.984671058885666970, -0.984662336573219890, -0.984653611799116700, -0.984644884563379730, -0.984636154866030510, -0.984627422707090920, +-0.984618688086582820, -0.984609951004527860, -0.984601211460948030, -0.984592469455865200, -0.984583724989301250, -0.984574978061278030, -0.984566228671817310, -0.984557476820941080, +-0.984548722508671090, -0.984539965735029330, -0.984531206500037560, -0.984522444803717760, -0.984513680646091900, -0.984504914027181880, -0.984496144947009650, -0.984487373405597000, +-0.984478599402965890, -0.984469822939138100, -0.984461044014135920, -0.984452262627981130, -0.984443478780695820, -0.984434692472301640, -0.984425903702820790, -0.984417112472275260, +-0.984408318780686800, -0.984399522628077620, -0.984390724014469700, -0.984381922939884690, -0.984373119404345130, -0.984364313407872670, -0.984355504950489510, -0.984346694032217530, +-0.984337880653078700, -0.984329064813095340, -0.984320246512289330, -0.984311425750682640, -0.984302602528297490, -0.984293776845155730, -0.984284948701279580, -0.984276118096691020, +-0.984267285031412140, -0.984258449505465150, -0.984249611518871800, -0.984240771071654640, -0.984231928163835420, -0.984223082795436580, -0.984214234966479860, -0.984205384676987590, +-0.984196531926981750, -0.984187676716484770, -0.984178819045518520, -0.984169958914105300, -0.984161096322267110, -0.984152231270026160, -0.984143363757404740, -0.984134493784424860, +-0.984125621351108700, -0.984116746457478380, -0.984107869103556300, -0.984098989289364570, -0.984090107014925390, -0.984081222280260960, -0.984072335085393490, -0.984063445430344960, +-0.984054553315137910, -0.984045658739794660, -0.984036761704337180, -0.984027862208787680, -0.984018960253168710, -0.984010055837502230, -0.984001148961810680, -0.983992239626116150, +-0.983983327830440960, -0.983974413574807640, -0.983965496859238180, -0.983956577683755000, -0.983947656048380410, -0.983938731953136750, -0.983929805398045980, -0.983920876383130860, +-0.983911944908413600, -0.983903010973916530, -0.983894074579661830, -0.983885135725672040, -0.983876194411969270, -0.983867250638576160, -0.983858304405514810, -0.983849355712807850, +-0.983840404560477170, -0.983831450948545740, -0.983822494877035660, -0.983813536345969350, -0.983804575355369140, -0.983795611905257440, -0.983786645995656790, -0.983777677626589520, +-0.983768706798078150, -0.983759733510144900, -0.983750757762812400, -0.983741779556102980, -0.983732798890039060, -0.983723815764643180, -0.983714830179937770, -0.983705842135945140, +-0.983696851632688050, -0.983687858670188820, -0.983678863248469980, -0.983669865367553960, -0.983660865027463300, -0.983651862228220320, -0.983642856969847770, -0.983633849252368190, +-0.983624839075803890, -0.983615826440177530, -0.983606811345511530, -0.983597793791828660, -0.983588773779151220, -0.983579751307501750, -0.983570726376902900, -0.983561698987377330, +-0.983552669138947460, -0.983543636831636040, -0.983534602065465390, -0.983525564840458390, -0.983516525156637230, -0.983507483014024910, -0.983498438412643840, -0.983489391352516780, +-0.983480341833666170, -0.983471289856114760, -0.983462235419885090, -0.983453178524999800, -0.983444119171481560, -0.983435057359352880, -0.983425993088636760, -0.983416926359355630, +-0.983407857171532230, -0.983398785525189110, -0.983389711420349140, -0.983380634857034640, -0.983371555835268700, -0.983362474355073960, -0.983353390416472960, -0.983344304019488470, +-0.983335215164143240, -0.983326123850460030, -0.983317030078461380, -0.983307933848170280, -0.983298835159609360, -0.983289734012801060, -0.983280630407768700, -0.983271524344534690, +-0.983262415823121900, -0.983253304843553110, -0.983244191405850840, -0.983235075510038300, -0.983225957156138030, -0.983216836344172900, -0.983207713074165660, -0.983198587346139190, +-0.983189459160116240, -0.983180328516119580, -0.983171195414172080, -0.983162059854296720, -0.983152921836515930, -0.983143781360853010, -0.983134638427330730, -0.983125493035971740, +-0.983116345186799130, -0.983107194879835560, -0.983098042115103880, -0.983088886892627300, -0.983079729212428370, -0.983070569074530280, -0.983061406478955680, -0.983052241425727560, +-0.983043073914868890, -0.983033903946402440, -0.983024731520351300, -0.983015556636738230, -0.983006379295586320, -0.982997199496918440, -0.982988017240757680, -0.982978832527126810, +-0.982969645356048920, -0.982960455727546640, -0.982951263641643540, -0.982942069098362130, -0.982932872097725620, -0.982923672639756880, -0.982914470724479020, -0.982905266351915000, +-0.982896059522087810, -0.982886850235020430, -0.982877638490735730, -0.982868424289257140, -0.982859207630607520, -0.982849988514809760, -0.982840766941887160, -0.982831542911862590, +-0.982822316424759030, -0.982813087480599810, -0.982803856079407900, -0.982794622221206390, -0.982785385906018270, -0.982776147133866630, -0.982766905904774670, -0.982757662218765480, +-0.982748416075862160, -0.982739167476087690, -0.982729916419465170, -0.982720662906018120, -0.982711406935769300, -0.982702148508742050, -0.982692887624959320, -0.982683624284444330, +-0.982674358487220400, -0.982665090233310500, -0.982655819522737950, -0.982646546355525840, -0.982637270731697380, -0.982627992651275760, -0.982618712114284090, -0.982609429120745670, +-0.982600143670683710, -0.982590855764121200, -0.982581565401081770, -0.982572272581588300, -0.982562977305664220, -0.982553679573332730, -0.982544379384617030, -0.982535076739540210, +-0.982525771638125820, -0.982516464080397060, -0.982507154066377120, -0.982497841596089330, -0.982488526669556880, -0.982479209286803100, -0.982469889447851300, -0.982460567152724780, +-0.982451242401446770, -0.982441915194040780, -0.982432585530529920, -0.982423253410937610, -0.982413918835287280, -0.982404581803602020, -0.982395242315905250, -0.982385900372220510, +-0.982376555972571010, -0.982367209116980060, -0.982357859805471190, -0.982348508038067610, -0.982339153814792750, -0.982329797135670040, -0.982320438000722880, -0.982311076409974390, +-0.982301712363448320, -0.982292345861168090, -0.982282976903156910, -0.982273605489438320, -0.982264231620035730, -0.982254855294972360, -0.982245476514272080, -0.982236095277958080, +-0.982226711586053790, -0.982217325438582870, -0.982207936835568510, -0.982198545777034360, -0.982189152263003740, -0.982179756293500410, -0.982170357868547560, -0.982160956988168630, +-0.982151553652387600, -0.982142147861227550, -0.982132739614712260, -0.982123328912865020, -0.982113915755709390, -0.982104500143269000, -0.982095082075567500, -0.982085661552628220, +-0.982076238574474790, -0.982066813141130760, -0.982057385252619760, -0.982047954908965240, -0.982038522110190830, -0.982029086856320180, -0.982019649147376610, -0.982010208983383980, +-0.982000766364365950, -0.981991321290345940, -0.981981873761347710, -0.981972423777394800, -0.981962971338510520, -0.981953516444719070, -0.981944059096043880, -0.981934599292508480, +-0.981925137034136640, -0.981915672320951890, -0.981906205152978000, -0.981896735530238600, -0.981887263452757340, -0.981877788920557770, -0.981868311933663860, -0.981858832492099150, +-0.981849350595887400, -0.981839866245052260, -0.981830379439617480, -0.981820890179606610, -0.981811398465043620, -0.981801904295952150, -0.981792407672355980, -0.981782908594278750, +-0.981773407061744210, -0.981763903074776230, -0.981754396633398470, -0.981744887737634690, -0.981735376387508520, -0.981725862583044060, -0.981716346324264970, -0.981706827611194990, +-0.981697306443858000, -0.981687782822277750, -0.981678256746477800, -0.981668728216482430, -0.981659197232315210, -0.981649663793999980, -0.981640127901560630, -0.981630589555021030, +-0.981621048754404810, -0.981611505499736080, -0.981601959791038480, -0.981592411628336100, -0.981582861011652490, -0.981573307941011830, -0.981563752416438010, -0.981554194437954660, +-0.981544634005586000, -0.981535071119355450, -0.981525505779287430, -0.981515937985405710, -0.981506367737734030, -0.981496795036296500, -0.981487219881116980, -0.981477642272219450, +-0.981468062209627790, -0.981458479693365860, -0.981448894723457870, -0.981439307299927450, -0.981429717422798940, -0.981420125092096090, -0.981410530307842980, -0.981400933070063490, +-0.981391333378781710, -0.981381731234021390, -0.981372126635806860, -0.981362519584162100, -0.981352910079111070, -0.981343298120677670, -0.981333683708886070, -0.981324066843760280, +-0.981314447525324370, -0.981304825753602230, -0.981295201528617930, -0.981285574850395800, -0.981275945718959710, -0.981266314134333740, -0.981256680096541990, -0.981247043605608550, +-0.981237404661557290, -0.981227763264412740, -0.981218119414198790, -0.981208473110939510, -0.981198824354659100, -0.981189173145381570, -0.981179519483131200, -0.981169863367931880, +-0.981160204799808030, -0.981150543778783410, -0.981140880304882670, -0.981131214378129670, -0.981121545998548730, -0.981111875166163830, -0.981102201880999280, -0.981092526143079070, +-0.981082847952427730, -0.981073167309069240, -0.981063484213027800, -0.981053798664327630, -0.981044110662993020, -0.981034420209048190, -0.981024727302517220, -0.981015031943424430, +-0.981005334131794140, -0.980995633867650320, -0.980985931151017510, -0.980976225981919910, -0.980966518360381730, -0.980956808286427280, -0.980947095760080660, -0.980937380781366500, +-0.980927663350308790, -0.980917943466932060, -0.980908221131260310, -0.980898496343318160, -0.980888769103129610, -0.980879039410719300, -0.980869307266111320, -0.980859572669329990, +-0.980849835620399620, -0.980840096119344860, -0.980830354166189910, -0.980820609760958970, -0.980810862903676580, -0.980801113594367060, -0.980791361833054490, -0.980781607619763740, +-0.980771850954518910, -0.980762091837344530, -0.980752330268264920, -0.980742566247304380, -0.980732799774487570, -0.980723030849838700, -0.980713259473382170, -0.980703485645142430, +-0.980693709365144110, -0.980683930633411530, -0.980674149449969110, -0.980664365814841290, -0.980654579728052590, -0.980644791189627330, -0.980635000199590160, -0.980625206757965500, +-0.980615410864777880, -0.980605612520051740, -0.980595811723811490, -0.980586008476081790, -0.980576202776887060, -0.980566394626251720, -0.980556584024200320, -0.980546770970757600, +-0.980536955465947990, -0.980527137509796030, -0.980517317102326150, -0.980507494243562980, -0.980497668933530850, -0.980487841172254850, -0.980478010959759170, -0.980468178296068470, +-0.980458343181207390, -0.980448505615200360, -0.980438665598072130, -0.980428823129847140, -0.980418978210550240, -0.980409130840205760, -0.980399281018838330, -0.980389428746472950, +-0.980379574023133920, -0.980369716848845880, -0.980359857223633610, -0.980349995147521640, -0.980340130620534710, -0.980330263642697490, -0.980320394214034610, -0.980310522334570830, +-0.980300648004330590, -0.980290771223338850, -0.980280891991620160, -0.980271010309199280, -0.980261126176100730, -0.980251239592349390, -0.980241350557970010, -0.980231459072987250, +-0.980221565137425870, -0.980211668751310490, -0.980201769914666010, -0.980191868627516950, -0.980181964889888400, -0.980172058701804900, -0.980162150063291330, -0.980152238974372310, +-0.980142325435072740, -0.980132409445417240, -0.980122491005430810, -0.980112570115138190, -0.980102646774563930, -0.980092720983733230, -0.980082792742670740, -0.980072862051401210, +-0.980062928909949620, -0.980052993318340620, -0.980043055276598960, -0.980033114784749860, -0.980023171842818060, -0.980013226450828220, -0.980003278608805320, -0.979993328316774330, +-0.979983375574759900, -0.979973420382787120, -0.979963462740880750, -0.979953502649065560, -0.979943540107366730, -0.979933575115809140, -0.979923607674417550, -0.979913637783216940, +-0.979903665442232290, -0.979893690651488240, -0.979883713411010100, -0.979873733720822760, -0.979863751580951070, -0.979853766991420020, -0.979843779952254580, -0.979833790463479630, +-0.979823798525120250, -0.979813804137201320, -0.979803807299747920, -0.979793808012784820, -0.979783806276337320, -0.979773802090430300, -0.979763795455088850, -0.979753786370337940, +-0.979743774836202340, -0.979733760852707470, -0.979723744419878200, -0.979713725537739500, -0.979703704206316580, -0.979693680425634430, -0.979683654195718010, -0.979673625516592540, +-0.979663594388282880, -0.979653560810814340, -0.979643524784211680, -0.979633486308500330, -0.979623445383705380, -0.979613402009851700, -0.979603356186964590, -0.979593307915068930, +-0.979583257194190150, -0.979573204024353220, -0.979563148405583230, -0.979553090337905390, -0.979543029821344890, -0.979532966855926720, -0.979522901441676200, -0.979512833578618510, +-0.979502763266778650, -0.979492690506181710, -0.979482615296853210, -0.979472537638818140, -0.979462457532101700, -0.979452374976729210, -0.979442289972725750, -0.979432202520116420, +-0.979422112618926750, -0.979412020269181730, -0.979401925470906760, -0.979391828224126960, -0.979381728528867510, -0.979371626385153740, -0.979361521793010950, -0.979351414752464340, +-0.979341305263539130, -0.979331193326260730, -0.979321078940654340, -0.979310962106745290, -0.979300842824558760, -0.979290721094120190, -0.979280596915454660, -0.979270470288587710, +-0.979260341213544660, -0.979250209690350810, -0.979240075719031380, -0.979229939299611770, -0.979219800432117320, -0.979209659116573320, -0.979199515353005200, -0.979189369141438280, +-0.979179220481897760, -0.979169069374409400, -0.979158915818998390, -0.979148759815690050, -0.979138601364509810, -0.979128440465482860, -0.979118277118635080, -0.979108111323991560, +-0.979097943081577720, -0.979087772391419090, -0.979077599253540990, -0.979067423667968840, -0.979057245634728180, -0.979047065153844430, -0.979036882225343020, -0.979026696849249260, +-0.979016509025588900, -0.979006318754387150, -0.978996126035669770, -0.978985930869461950, -0.978975733255789240, -0.978965533194677270, -0.978955330686151590, -0.978945125730237510, +-0.978934918326960560, -0.978924708476346380, -0.978914496178420410, -0.978904281433208290, -0.978894064240735330, -0.978883844601027290, -0.978873622514109480, -0.978863397980007770, +-0.978853170998747470, -0.978842941570354340, -0.978832709694853920, -0.978822475372271630, -0.978812238602633000, -0.978801999385963910, -0.978791757722289880, -0.978781513611636340, +-0.978771267054029170, -0.978761018049493780, -0.978750766598055820, -0.978740512699740940, -0.978730256354574780, -0.978719997562582880, -0.978709736323791100, -0.978699472638224990, +-0.978689206505910180, -0.978678937926872330, -0.978668666901137190, -0.978658393428730180, -0.978648117509677400, -0.978637839144004260, -0.978627558331736540, -0.978617275072899970, +-0.978606989367520220, -0.978596701215622920, -0.978586410617233950, -0.978576117572378950, -0.978565822081083450, -0.978555524143373550, -0.978545223759274880, -0.978534920928813110, +-0.978524615652014100, -0.978514307928903480, -0.978503997759506920, -0.978493685143850600, -0.978483370081959960, -0.978473052573861080, -0.978462732619579390, -0.978452410219140980, +-0.978442085372571490, -0.978431758079896800, -0.978421428341142760, -0.978411096156335040, -0.978400761525499480, -0.978390424448662200, -0.978380084925848830, -0.978369742957085230, +-0.978359398542397280, -0.978349051681810740, -0.978338702375351700, -0.978328350623045910, -0.978317996424919230, -0.978307639780997550, -0.978297280691306730, -0.978286919155872740, +-0.978276555174721450, -0.978266188747878850, -0.978255819875370690, -0.978245448557222840, -0.978235074793461610, -0.978224698584112540, -0.978214319929201830, -0.978203938828755340, +-0.978193555282798940, -0.978183169291358510, -0.978172780854460240, -0.978162389972130120, -0.978151996644394010, -0.978141600871277990, -0.978131202652807840, -0.978120801989009750, +-0.978110398879909580, -0.978099993325533430, -0.978089585325907170, -0.978079174881057110, -0.978068761991009120, -0.978058346655789280, -0.978047928875423470, -0.978037508649937880, +-0.978027085979358390, -0.978016660863711310, -0.978006233303022610, -0.977995803297318280, -0.977985370846624400, -0.977974935950967180, -0.977964498610372600, -0.977954058824866750, +-0.977943616594475820, -0.977933171919225570, -0.977922724799142660, -0.977912275234252950, -0.977901823224582410, -0.977891368770157480, -0.977880911871004010, -0.977870452527148100, +-0.977859990738616290, -0.977849526505434550, -0.977839059827628860, -0.977828590705225650, -0.977818119138250900, -0.977807645126730800, -0.977797168670691660, -0.977786689770159590, +-0.977776208425160780, -0.977765724635721310, -0.977755238401867620, -0.977744749723625910, -0.977734258601022250, -0.977723765034083090, -0.977713269022834170, -0.977702770567302370, +-0.977692269667513550, -0.977681766323494130, -0.977671260535270310, -0.977660752302868310, -0.977650241626314420, -0.977639728505634960, -0.977629212940856140, -0.977618694932004260, +-0.977608174479105530, -0.977597651582186480, -0.977587126241273420, -0.977576598456392440, -0.977566068227569970, -0.977555535554832320, -0.977545000438205690, -0.977534462877716730, +-0.977523922873391630, -0.977513380425256710, -0.977502835533338390, -0.977492288197662870, -0.977481738418256700, -0.977471186195146170, -0.977460631528357720, -0.977450074417917420, +-0.977439514863852170, -0.977428952866188140, -0.977418388424951770, -0.977407821540169360, -0.977397252211867350, -0.977386680440072150, -0.977376106224810300, -0.977365529566108340, +-0.977354950463992460, -0.977344368918489190, -0.977333784929625080, -0.977323198497426440, -0.977312609621919790, -0.977302018303131680, -0.977291424541088300, -0.977280828335816530, +-0.977270229687342670, -0.977259628595693260, -0.977249025060894840, -0.977238419082973820, -0.977227810661956520, -0.977217199797869920, -0.977206586490740330, -0.977195970740594280, +-0.977185352547458310, -0.977174731911358950, -0.977164108832322740, -0.977153483310376210, -0.977142855345546010, -0.977132224937858670, -0.977121592087340620, -0.977110956794018830, +-0.977100319057919500, -0.977089678879069500, -0.977079036257495260, -0.977068391193223200, -0.977057743686280400, -0.977047093736693180, -0.977036441344488300, -0.977025786509692300, +-0.977015129232331800, -0.977004469512433580, -0.976993807350024060, -0.976983142745130100, -0.976972475697778230, -0.976961806207995000, -0.976951134275807490, -0.976940459901242120, +-0.976929783084325540, -0.976919103825084620, -0.976908422123545780, -0.976897737979735780, -0.976887051393681700, -0.976876362365409870, -0.976865670894947250, -0.976854976982320380, +-0.976844280627556020, -0.976833581830681030, -0.976822880591722060, -0.976812176910705990, -0.976801470787659110, -0.976790762222608850, -0.976780051215581760, -0.976769337766604350, +-0.976758621875703730, -0.976747903542906530, -0.976737182768239400, -0.976726459551729430, -0.976715733893403380, -0.976705005793288010, -0.976694275251410060, -0.976683542267796520, +-0.976672806842474040, -0.976662068975469590, -0.976651328666809930, -0.976640585916521700, -0.976629840724632330, -0.976619093091168230, -0.976608343016156510, -0.976597590499623910, +-0.976586835541597310, -0.976576078142103340, -0.976565318301169550, -0.976554556018822350, -0.976543791295088730, -0.976533024129995760, -0.976522254523570110, -0.976511482475838850, +-0.976500707986828980, -0.976489931056567230, -0.976479151685080700, -0.976468369872396050, -0.976457585618540680, -0.976446798923541360, -0.976436009787425060, -0.976425218210218770, +-0.976414424191949240, -0.976403627732643780, -0.976392828832329250, -0.976382027491032640, -0.976371223708781040, -0.976360417485601320, -0.976349608821520550, -0.976338797716565840, +-0.976327984170764050, -0.976317168184142380, -0.976306349756727480, -0.976295528888546980, -0.976284705579627650, -0.976273879829996580, -0.976263051639680750, -0.976252221008707340, +-0.976241387937103130, -0.976230552424895650, -0.976219714472111870, -0.976208874078778770, -0.976198031244923440, -0.976187185970573080, -0.976176338255754780, -0.976165488100495530, +-0.976154635504822620, -0.976143780468762930, -0.976132922992344000, -0.976122063075592790, -0.976111200718536300, -0.976100335921201930, -0.976089468683616680, -0.976078599005807510, +-0.976067726887802190, -0.976056852329627360, -0.976045975331310540, -0.976035095892878730, -0.976024214014359240, -0.976013329695779140, -0.976002442937165760, -0.975991553738546180, +-0.975980662099947600, -0.975969768021397570, -0.975958871502923150, -0.975947972544551460, -0.975937071146309900, -0.975926167308225680, -0.975915261030325780, -0.975904352312637950, +-0.975893441155189280, -0.975882527558006970, -0.975871611521118340, -0.975860693044550700, -0.975849772128331240, -0.975838848772487500, -0.975827922977046570, -0.975816994742035760, +-0.975806064067482380, -0.975795130953413970, -0.975784195399857720, -0.975773257406841070, -0.975762316974391200, -0.975751374102535430, -0.975740428791301300, -0.975729481040716220, +-0.975718530850807290, -0.975707578221602150, -0.975696623153128000, -0.975685665645412370, -0.975674705698482580, -0.975663743312365940, -0.975652778487089980, -0.975641811222681900, +-0.975630841519169460, -0.975619869376579850, -0.975608894794940730, -0.975597917774279290, -0.975586938314622950, -0.975575956415999260, -0.975564972078435730, -0.975553985301959800, +-0.975542996086599000, -0.975532004432380640, -0.975521010339332250, -0.975510013807481370, -0.975499014836855420, -0.975488013427481930, -0.975477009579388320, -0.975466003292602250, +-0.975454994567151230, -0.975443983403062710, -0.975432969800364200, -0.975421953759083360, -0.975410935279247380, -0.975399914360884250, -0.975388891004021370, -0.975377865208686190, +-0.975366836974906450, -0.975355806302709570, -0.975344773192123090, -0.975333737643174770, -0.975322699655892130, -0.975311659230302500, -0.975300616366433950, -0.975289571064313800, +-0.975278523323969800, -0.975267473145429390, -0.975256420528720410, -0.975245365473870090, -0.975234307980906600, -0.975223248049857380, -0.975212185680749970, -0.975201120873612100, +-0.975190053628471440, -0.975178983945355740, -0.975167911824292410, -0.975156837265309440, -0.975145760268434360, -0.975134680833694590, -0.975123598961118440, -0.975112514650733230, +-0.975101427902566710, -0.975090338716646630, -0.975079247093000530, -0.975068153031656500, -0.975057056532642070, -0.975045957595985000, -0.975034856221713040, -0.975023752409853950, +-0.975012646160435480, -0.975001537473485390, -0.974990426349031550, -0.974979312787101480, -0.974968196787723060, -0.974957078350924270, -0.974945957476732850, -0.974934834165176460, +-0.974923708416283060, -0.974912580230080320, -0.974901449606595970, -0.974890316545858230, -0.974879181047894620, -0.974868043112733120, -0.974856902740401490, -0.974845759930927590, +-0.974834614684339300, -0.974823467000664470, -0.974812316879930970, -0.974801164322166460, -0.974790009327399340, -0.974778851895657050, -0.974767692026967780, -0.974756529721359180, +-0.974745364978859330, -0.974734197799495770, -0.974723028183296920, -0.974711856130290540, -0.974700681640504610, -0.974689504713966870, -0.974678325350705420, -0.974667143550748130, +-0.974655959314122970, -0.974644772640857910, -0.974633583530980730, -0.974622391984519830, -0.974611198001502870, -0.974600001581957920, -0.974588802725913080, -0.974577601433396110, +-0.974566397704434980, -0.974555191539058120, -0.974543982937293160, -0.974532771899168320, -0.974521558424711550, -0.974510342513950860, -0.974499124166914310, -0.974487903383630010, +-0.974476680164125920, -0.974465454508430140, -0.974454226416570420, -0.974442995888575410, -0.974431762924472980, -0.974420527524291090, -0.974409289688057840, -0.974398049415801220, +-0.974386806707549620, -0.974375561563331050, -0.974364313983173580, -0.974353063967105300, -0.974341811515154420, -0.974330556627348910, -0.974319299303717080, -0.974308039544287020, +-0.974296777349086820, -0.974285512718144450, -0.974274245651488570, -0.974262976149147030, -0.974251704211148040, -0.974240429837519790, -0.974229153028290500, -0.974217873783488120, +-0.974206592103141310, -0.974195307987277940, -0.974184021435926310, -0.974172732449114620, -0.974161441026871190, -0.974150147169223990, -0.974138850876201560, -0.974127552147831980, +-0.974116250984143340, -0.974104947385164180, -0.974093641350922690, -0.974082332881447190, -0.974071021976765760, -0.974059708636906720, -0.974048392861898370, -0.974037074651769140, +-0.974025754006547230, -0.974014430926260940, -0.974003105410938600, -0.973991777460608390, -0.973980447075298850, -0.973969114255038180, -0.973957778999854700, -0.973946441309776590, +-0.973935101184832620, -0.973923758625050760, -0.973912413630459660, -0.973901066201087410, -0.973889716336962530, -0.973878364038113230, -0.973867009304568150, -0.973855652136355500, +-0.973844292533503800, -0.973832930496041360, -0.973821566023996610, -0.973810199117397860, -0.973798829776273740, -0.973787458000652470, -0.973776083790562570, -0.973764707146032250, +-0.973753328067090360, -0.973741946553765110, -0.973730562606085040, -0.973719176224078550, -0.973707787407773970, -0.973696396157200050, -0.973685002472385210, -0.973673606353357870, +-0.973662207800146450, -0.973650806812779600, -0.973639403391285630, -0.973627997535693180, -0.973616589246030780, -0.973605178522326860, -0.973593765364609840, -0.973582349772908580, +-0.973570931747251400, -0.973559511287666930, -0.973548088394183720, -0.973536663066830180, -0.973525235305634950, -0.973513805110626680, -0.973502372481834020, -0.973490937419285270, +-0.973479499923009310, -0.973468059993034540, -0.973456617629389730, -0.973445172832103300, -0.973433725601203890, -0.973422275936720040, -0.973410823838680610, -0.973399369307114240, +-0.973387912342049360, -0.973376452943514710, -0.973364991111538960, -0.973353526846150510, -0.973342060147378450, -0.973330591015251210, -0.973319119449797540, -0.973307645451046090, +-0.973296169019025490, -0.973284690153764510, -0.973273208855291670, -0.973261725123635960, -0.973250238958825680, -0.973238750360890030, -0.973227259329857430, -0.973215765865756750, +-0.973204269968616640, -0.973192771638465850, -0.973181270875332900, -0.973169767679247010, -0.973158262050236700, -0.973146753988330730, -0.973135243493557960, -0.973123730565946920, +-0.973112215205526710, -0.973100697412325850, -0.973089177186373330, -0.973077654527697790, -0.973066129436327980, -0.973054601912292980, -0.973043071955621560, -0.973031539566342360, +-0.973020004744484360, -0.973008467490076190, -0.972996927803146950, -0.972985385683725500, -0.972973841131840490, -0.972962294147521000, -0.972950744730795680, -0.972939192881693500, +-0.972927638600243340, -0.972916081886474160, -0.972904522740414720, -0.972892961162093780, -0.972881397151540650, -0.972869830708783970, -0.972858261833852710, -0.972846690526775860, +-0.972835116787582050, -0.972823540616300720, -0.972811962012960500, -0.972800380977590250, -0.972788797510219180, -0.972777211610876160, -0.972765623279590040, -0.972754032516389810, +-0.972742439321304550, -0.972730843694363250, -0.972719245635594530, -0.972707645145027940, -0.972696042222692240, -0.972684436868616500, -0.972672829082829590, -0.972661218865360610, +-0.972649606216238420, -0.972637991135492430, -0.972626373623151410, -0.972614753679244440, -0.972603131303800720, -0.972591506496849000, -0.972579879258418600, -0.972568249588538490, +-0.972556617487237760, -0.972544982954545280, -0.972533345990490570, -0.972521706595102510, -0.972510064768410180, -0.972498420510442660, -0.972486773821229060, -0.972475124700798330, +-0.972463473149180020, -0.972451819166403000, -0.972440162752496450, -0.972428503907489470, -0.972416842631411260, -0.972405178924291010, -0.972393512786157710, -0.972381844217040660, +-0.972370173216968840, -0.972358499785971770, -0.972346823924078340, -0.972335145631317950, -0.972323464907719700, -0.972311781753312790, -0.972300096168126180, -0.972288408152189640, +-0.972276717705532030, -0.972265024828182560, -0.972253329520170520, -0.972241631781525230, -0.972229931612275890, -0.972218229012451580, -0.972206523982081850, -0.972194816521195770, +-0.972183106629822320, -0.972171394307991490, -0.972159679555732130, -0.972147962373073440, -0.972136242760044960, -0.972124520716675660, -0.972112796242995290, -0.972101069339032840, +-0.972089340004817840, -0.972077608240379360, -0.972065874045746960, -0.972054137420949820, -0.972042398366017360, -0.972030656880978890, -0.972018912965863740, -0.972007166620701190, +-0.971995417845520900, -0.971983666640352070, -0.971971913005224010, -0.971960156940166240, -0.971948398445208080, -0.971936637520378620, -0.971924874165707830, -0.971913108381224910, +-0.971901340166959170, -0.971889569522940140, -0.971877796449197140, -0.971866020945759580, -0.971854243012657100, -0.971842462649918910, -0.971830679857574430, -0.971818894635653410, +-0.971807106984185150, -0.971795316903199090, -0.971783524392724860, -0.971771729452791670, -0.971759932083429030, -0.971748132284666830, -0.971736330056534260, -0.971724525399060850, +-0.971712718312276010, -0.971700908796209520, -0.971689096850890780, -0.971677282476349210, -0.971665465672614470, -0.971653646439715860, -0.971641824777683240, -0.971630000686546150, +-0.971618174166334110, -0.971606345217076560, -0.971594513838803240, -0.971582680031543360, -0.971570843795326990, -0.971559005130183450, -0.971547164036142500, -0.971535320513233550, +-0.971523474561486360, -0.971511626180930450, -0.971499775371595490, -0.971487922133511090, -0.971476066466706920, -0.971464208371212390, -0.971452347847057470, -0.971440484894271710, +-0.971428619512884730, -0.971416751702926300, -0.971404881464425610, -0.971393008797413080, -0.971381133701917920, -0.971369256177969990, -0.971357376225598920, -0.971345493844834370, +-0.971333609035706090, -0.971321721798243830, -0.971309832132477240, -0.971297940038436060, -0.971286045516149830, -0.971274148565648750, -0.971262249186962250, -0.971250347380120060, +-0.971238443145152060, -0.971226536482088010, -0.971214627390957320, -0.971202715871790300, -0.971190801924616600, -0.971178885549465740, -0.971166966746367710, -0.971155045515352260, +-0.971143121856449240, -0.971131195769688430, -0.971119267255099560, -0.971107336312712400, -0.971095402942557030, -0.971083467144663090, -0.971071528919060680, -0.971059588265779320, +-0.971047645184848980, -0.971035699676299320, -0.971023751740160650, -0.971011801376462590, -0.970999848585235030, -0.970987893366507930, -0.970975935720310930, -0.970963975646674250, +-0.970952013145627510, -0.970940048217200810, -0.970928080861423790, -0.970916111078326760, -0.970904138867939360, -0.970892164230291790, -0.970880187165413690, -0.970868207673335150, +-0.970856225754085810, -0.970844241407696210, -0.970832254634195980, -0.970820265433615100, -0.970808273805983670, -0.970796279751331430, -0.970784283269688460, -0.970772284361084870, +-0.970760283025550510, -0.970748279263115470, -0.970736273073809610, -0.970724264457663130, -0.970712253414706130, -0.970700239944968350, -0.970688224048480100, -0.970676205725271020, +-0.970664184975371660, -0.970652161798811750, -0.970640136195621510, -0.970628108165830890, -0.970616077709470120, -0.970604044826569030, -0.970592009517157850, -0.970579971781266650, +-0.970567931618925520, -0.970555889030164430, -0.970543844015013700, -0.970531796573503520, -0.970519746705663660, -0.970507694411524620, -0.970495639691116190, -0.970483582544468540, +-0.970471522971612100, -0.970459460972576850, -0.970447396547392980, -0.970435329696090590, -0.970423260418699970, -0.970411188715251120, -0.970399114585774330, -0.970387038030299690, +-0.970374959048857290, -0.970362877641477660, -0.970350793808190890, -0.970338707549027070, -0.970326618864016610, -0.970314527753189490, -0.970302434216575800, -0.970290338254206410, +-0.970278239866111060, -0.970266139052320060, -0.970254035812863850, -0.970241930147772490, -0.970229822057076200, -0.970217711540805490, -0.970205598598990470, -0.970193483231661210, +-0.970181365438848480, -0.970169245220582340, -0.970157122576893130, -0.970144997507811020, -0.970132870013366460, -0.970120740093589510, -0.970108607748510930, -0.970096472978160820, +-0.970084335782569580, -0.970072196161767430, -0.970060054115784780, -0.970047909644652040, -0.970035762748399530, -0.970023613427057670, -0.970011461680656660, -0.969999307509226800, +-0.969987150912798970, -0.969974991891403240, -0.969962830445069920, -0.969950666573829670, -0.969938500277712450, -0.969926331556749230, -0.969914160410970230, -0.969901986840405740, +-0.969889810845086300, -0.969877632425042320, -0.969865451580304350, -0.969853268310902680, -0.969841082616867860, -0.969828894498230290, -0.969816703955020290, -0.969804510987268830, +-0.969792315595006000, -0.969780117778262340, -0.969767917537068480, -0.969755714871454840, -0.969743509781451630, -0.969731302267089810, -0.969719092328399810, -0.969706879965412160, +-0.969694665178157170, -0.969682447966665580, -0.969670228330967940, -0.969658006271094660, -0.969645781787076280, -0.969633554878943320, -0.969621325546726750, -0.969609093790456790, +-0.969596859610164060, -0.969584623005879220, -0.969572383977632900, -0.969560142525455300, -0.969547898649377630, -0.969535652349430180, -0.969523403625643600, -0.969511152478048420, +-0.969498898906675510, -0.969486642911555290, -0.969474384492718500, -0.969462123650195680, -0.969449860384017370, -0.969437594694214640, -0.969425326580817930, -0.969413056043857860, +-0.969400783083365190, -0.969388507699370460, -0.969376229891904420, -0.969363949660997930, -0.969351667006681520, -0.969339381928985940, -0.969327094427942070, -0.969314804503580320, +-0.969302512155931550, -0.969290217385026520, -0.969277920190895980, -0.969265620573570690, -0.969253318533081050, -0.969241014069458400, -0.969228707182733130, -0.969216397872936120, +-0.969204086140098120, -0.969191771984249660, -0.969179455405422050, -0.969167136403645820, -0.969154814978951620, -0.969142491131370520, -0.969130164860933170, -0.969117836167670330, +-0.969105505051612970, -0.969093171512791840, -0.969080835551237700, -0.969068497166981400, -0.969056156360053930, -0.969043813130486150, -0.969031467478308820, -0.969019119403552900, +-0.969006768906249040, -0.968994415986428100, -0.968982060644121400, -0.968969702879359460, -0.968957342692173260, -0.968944980082593780, -0.968932615050651870, -0.968920247596378290, +-0.968907877719804240, -0.968895505420960370, -0.968883130699877530, -0.968870753556587140, -0.968858373991119850, -0.968845992003506630, -0.968833607593778460, -0.968821220761966200, +-0.968808831508100710, -0.968796439832213420, -0.968784045734334960, -0.968771649214496430, -0.968759250272728690, -0.968746848909062930, -0.968734445123529910, -0.968722038916160930, +-0.968709630286986760, -0.968697219236038350, -0.968684805763347030, -0.968672389868943770, -0.968659971552859540, -0.968647550815125320, -0.968635127655772310, -0.968622702074831140, +-0.968610274072333580, -0.968597843648310250, -0.968585410802792260, -0.968572975535810900, -0.968560537847396930, -0.968548097737581770, -0.968535655206396280, -0.968523210253871670, +-0.968510762880039010, -0.968498313084929290, -0.968485860868573910, -0.968473406231003970, -0.968460949172250450, -0.968448489692344540, -0.968436027791317210, -0.968423563469200110, +-0.968411096726023990, -0.968398627561820160, -0.968386155976619810, -0.968373681970454040, -0.968361205543354140, -0.968348726695351100, -0.968336245426476340, -0.968323761736760940, +-0.968311275626235870, -0.968298787094932890, -0.968286296142882860, -0.968273802770117210, -0.968261306976666900, -0.968248808762563470, -0.968236308127837670, -0.968223805072521370, +-0.968211299596645650, -0.968198791700241590, -0.968186281383340620, -0.968173768645973820, -0.968161253488172720, -0.968148735909968420, -0.968136215911392320, -0.968123693492475400, +-0.968111168653249530, -0.968098641393745800, -0.968086111713995390, -0.968073579614029620, -0.968061045093880020, -0.968048508153577570, -0.968035968793154010, -0.968023427012640550, +-0.968010882812068600, -0.967998336191469360, -0.967985787150874240, -0.967973235690314790, -0.967960681809822200, -0.967948125509427880, -0.967935566789163040, -0.967923005649059420, +-0.967910442089148340, -0.967897876109461210, -0.967885307710029340, -0.967872736890884270, -0.967860163652057070, -0.967847587993579730, -0.967835009915483320, -0.967822429417799500, +-0.967809846500559570, -0.967797261163794940, -0.967784673407537270, -0.967772083231817850, -0.967759490636668220, -0.967746895622119910, -0.967734298188204110, -0.967721698334952810, +-0.967709096062397300, -0.967696491370569010, -0.967683884259499470, -0.967671274729219990, -0.967658662779762650, -0.967646048411158530, -0.967633431623439400, -0.967620812416636560, +-0.967608190790781750, -0.967595566745906520, -0.967582940282042280, -0.967570311399220780, -0.967557680097473450, -0.967545046376831700, -0.967532410237327500, -0.967519771678992390, +-0.967507130701857790, -0.967494487305955330, -0.967481841491316660, -0.967469193257973200, -0.967456542605957040, -0.967443889535299470, -0.967431234046032150, -0.967418576138186710, +-0.967405915811794910, -0.967393253066888280, -0.967380587903498570, -0.967367920321657300, -0.967355250321396130, -0.967342577902746910, -0.967329903065741400, -0.967317225810411020, +-0.967304546136787620, -0.967291864044902860, -0.967279179534788150, -0.967266492606475790, -0.967253803259997210, -0.967241111495384050, -0.967228417312668180, -0.967215720711881220, +-0.967203021693054940, -0.967190320256221200, -0.967177616401411640, -0.967164910128657680, -0.967152201437991850, -0.967139490329445460, -0.967126776803050260, -0.967114060858838220, +-0.967101342496840990, -0.967088621717090090, -0.967075898519617950, -0.967063172904456090, -0.967050444871636270, -0.967037714421190350, -0.967024981553150200, -0.967012246267547450, +-0.966999508564414190, -0.966986768443782170, -0.966974025905683150, -0.966961280950148880, -0.966948533577211670, -0.966935783786903040, -0.966923031579255080, -0.966910276954299430, +-0.966897519912067850, -0.966884760452592750, -0.966871998575905780, -0.966859234282038790, -0.966846467571023660, -0.966833698442892460, -0.966820926897676960, -0.966808152935409120, +-0.966795376556120910, -0.966782597759844320, -0.966769816546610870, -0.966757032916453210, -0.966744246869402970, -0.966731458405492130, -0.966718667524752550, -0.966705874227216430, +-0.966693078512915300, -0.966680280381881700, -0.966667479834147470, -0.966654676869744490, -0.966641871488704840, -0.966629063691060500, -0.966616253476843430, -0.966603440846085850, +-0.966590625798819600, -0.966577808335076560, -0.966564988454889250, -0.966552166158289540, -0.966539341445309290, -0.966526514315980690, -0.966513684770335950, -0.966500852808406590, +-0.966488018430225470, -0.966475181635824240, -0.966462342425234990, -0.966449500798490010, -0.966436656755621180, -0.966423810296660800, -0.966410961421640850, -0.966398110130593510, +-0.966385256423550660, -0.966372400300544830, -0.966359541761608100, -0.966346680806772440, -0.966333817436070050, -0.966320951649533240, -0.966308083447193770, -0.966295212829084260, +-0.966282339795236810, -0.966269464345683500, -0.966256586480456430, -0.966243706199587990, -0.966230823503110290, -0.966217938391055520, -0.966205050863455870, -0.966192160920343550, +-0.966179268561750740, -0.966166373787709860, -0.966153476598253120, -0.966140576993412600, -0.966127674973220720, -0.966114770537709440, -0.966101863686911420, -0.966088954420858740, +-0.966076042739583700, -0.966063128643118500, -0.966050212131495560, -0.966037293204746960, -0.966024371862905240, -0.966011448106002590, -0.965998521934071320, -0.965985593347143400, +-0.965972662345251810, -0.965959728928428630, -0.965946793096706060, -0.965933854850116510, -0.965920914188692080, -0.965907971112465620, -0.965895025621469230, -0.965882077715735310, +-0.965869127395296180, -0.965856174660184140, -0.965843219510431730, -0.965830261946071360, -0.965817301967135220, -0.965804339573655860, -0.965791374765665460, -0.965778407543196770, +-0.965765437906282110, -0.965752465854953890, -0.965739491389244420, -0.965726514509186230, -0.965713535214811620, -0.965700553506153360, -0.965687569383243740, -0.965674582846115070, +-0.965661593894800110, -0.965648602529331050, -0.965635608749740530, -0.965622612556060970, -0.965609613948324900, -0.965596612926564510, -0.965583609490812900, -0.965570603641102250, +-0.965557595377465110, -0.965544584699933870, -0.965531571608541310, -0.965518556103319490, -0.965505538184301510, -0.965492517851519790, -0.965479495105006640, -0.965466469944794900, +-0.965453442370916900, -0.965440412383405280, -0.965427379982292670, -0.965414345167611600, -0.965401307939394600, -0.965388268297674210, -0.965375226242483290, -0.965362181773854360, +-0.965349134891819950, -0.965336085596412710, -0.965323033887665050, -0.965309979765609950, -0.965296923230280050, -0.965283864281707760, -0.965270802919925730, -0.965257739144966820, +-0.965244672956863450, -0.965231604355648480, -0.965218533341354550, -0.965205459914014190, -0.965192384073659930, -0.965179305820325070, -0.965166225154041820, -0.965153142074843040, +-0.965140056582761470, -0.965126968677829430, -0.965113878360080220, -0.965100785629546380, -0.965087690486260530, -0.965074592930255440, -0.965061492961563960, -0.965048390580218630, +-0.965035285786252420, -0.965022178579697850, -0.965009068960588020, -0.964995956928955120, -0.964982842484832680, -0.964969725628253120, -0.964956606359249180, -0.964943484677853740, +-0.964930360584099640, -0.964917234078019440, -0.964904105159646310, -0.964890973829012900, -0.964877840086152070, -0.964864703931096690, -0.964851565363879500, -0.964838424384533490, +-0.964825280993091280, -0.964812135189585970, -0.964798986974050090, -0.964785836346516930, -0.964772683307019150, -0.964759527855589720, -0.964746369992261490, -0.964733209717067220, +-0.964720047030039770, -0.964706881931212460, -0.964693714420617910, -0.964680544498289110, -0.964667372164258910, -0.964654197418560290, -0.964641020261226220, -0.964627840692289570, +-0.964614658711783310, -0.964601474319740190, -0.964588287516193630, -0.964575098301176270, -0.964561906674721190, -0.964548712636861370, -0.964535516187629780, -0.964522317327059180, +-0.964509116055182970, -0.964495912372034030, -0.964482706277645320, -0.964469497772049820, -0.964456286855280510, -0.964443073527370580, -0.964429857788352880, -0.964416639638260630, +-0.964403419077126680, -0.964390196104984000, -0.964376970721866010, -0.964363742927805690, -0.964350512722836010, -0.964337280106989940, -0.964324045080300560, -0.964310807642801190, +-0.964297567794524910, -0.964284325535504580, -0.964271080865773510, -0.964257833785364780, -0.964244584294311480, -0.964231332392646580, -0.964218078080403500, -0.964204821357615090, +-0.964191562224314570, -0.964178300680535230, -0.964165036726310150, -0.964151770361672540, -0.964138501586655480, -0.964125230401292170, -0.964111956805615570, -0.964098680799659210, +-0.964085402383456300, -0.964072121557039810, -0.964058838320442920, -0.964045552673699070, -0.964032264616841330, -0.964018974149902900, -0.964005681272916970, -0.963992385985916740, +-0.963979088288935640, -0.963965788182006960, -0.963952485665163670, -0.963939180738439320, -0.963925873401866860, -0.963912563655479620, -0.963899251499311100, -0.963885936933394530, +-0.963872619957763080, -0.963859300572450060, -0.963845978777488790, -0.963832654572912560, -0.963819327958754800, -0.963805998935048590, -0.963792667501827240, -0.963779333659124380, +-0.963765997406973220, -0.963752658745407050, -0.963739317674459310, -0.963725974194163280, -0.963712628304551950, -0.963699280005659410, -0.963685929297518620, -0.963672576180163000, +-0.963659220653625970, -0.963645862717940840, -0.963632502373141020, -0.963619139619260050, -0.963605774456331220, -0.963592406884387850, -0.963579036903463360, -0.963565664513591490, +-0.963552289714805330, -0.963538912507138520, -0.963525532890624480, -0.963512150865296400, -0.963498766431188040, -0.963485379588332910, -0.963471990336764230, -0.963458598676515620, +-0.963445204607620510, -0.963431808130112420, -0.963418409244024780, -0.963405007949391100, -0.963391604246244930, -0.963378198134619450, -0.963364789614548740, -0.963351378686066130, +-0.963337965349204910, -0.963324549603998940, -0.963311131450481530, -0.963297710888686100, -0.963284287918646510, -0.963270862540396290, -0.963257434753968970, -0.963244004559397960, +-0.963230571956717020, -0.963217136945959560, -0.963203699527159340, -0.963190259700349880, -0.963176817465564490, -0.963163372822837260, -0.963149925772201710, -0.963136476313691260, +-0.963123024447339660, -0.963109570173180440, -0.963096113491247020, -0.963082654401573700, -0.963069192904193680, -0.963055728999140600, -0.963042262686448320, -0.963028793966150260, +-0.963015322838280290, -0.963001849302872030, -0.962988373359959130, -0.962974895009575120, -0.962961414251753970, -0.962947931086529430, -0.962934445513934920, -0.962920957534004420, +-0.962907467146771450, -0.962893974352269640, -0.962880479150533100, -0.962866981541595330, -0.962853481525490110, -0.962839979102251280, -0.962826474271912370, -0.962812967034507360, +-0.962799457390069890, -0.962785945338633820, -0.962772430880232900, -0.962758914014900660, -0.962745394742671290, -0.962731873063578550, -0.962718348977656070, -0.962704822484937720, +-0.962691293585457020, -0.962677762279248390, -0.962664228566345370, -0.962650692446781700, -0.962637153920591350, -0.962623612987808070, -0.962610069648465850, -0.962596523902598420, +-0.962582975750239660, -0.962569425191423410, -0.962555872226183440, -0.962542316854554050, -0.962528759076568760, -0.962515198892261670, -0.962501636301666630, -0.962488071304817390, +-0.962474503901747710, -0.962460934092492120, -0.962447361877084130, -0.962433787255557730, -0.962420210227946880, -0.962406630794285570, -0.962393048954607530, -0.962379464708946970, +-0.962365878057337750, -0.962352288999813620, -0.962338697536408880, -0.962325103667157510, -0.962311507392093370, -0.962297908711250430, -0.962284307624662770, -0.962270704132364040, +-0.962257098234388870, -0.962243489930770910, -0.962229879221544240, -0.962216266106742820, -0.962202650586400750, -0.962189032660552000, -0.962175412329230760, -0.962161789592471010, +-0.962148164450306490, -0.962134536902771840, -0.962120906949900820, -0.962107274591727510, -0.962093639828286110, -0.962080002659610470, -0.962066363085734680, -0.962052721106693150, +-0.962039076722519870, -0.962025429933248910, -0.962011780738914360, -0.961998129139550410, -0.961984475135191030, -0.961970818725870540, -0.961957159911623010, -0.961943498692482520, +-0.961929835068483060, -0.961916169039659260, -0.961902500606045100, -0.961888829767674650, -0.961875156524582110, -0.961861480876801460, -0.961847802824367330, -0.961834122367313690, +-0.961820439505674750, -0.961806754239484700, -0.961793066568777720, -0.961779376493588130, -0.961765684013950130, -0.961751989129897900, -0.961738291841465640, -0.961724592148687440, +-0.961710890051598040, -0.961697185550231430, -0.961683478644621780, -0.961669769334803530, -0.961656057620810740, -0.961642343502677630, -0.961628626980438940, -0.961614908054128640, +-0.961601186723781030, -0.961587462989430540, -0.961573736851111360, -0.961560008308857790, -0.961546277362704260, -0.961532544012684950, -0.961518808258834180, -0.961505070101186580, +-0.961491329539776230, -0.961477586574637550, -0.961463841205804970, -0.961450093433312780, -0.961436343257195180, -0.961422590677486920, -0.961408835694222090, -0.961395078307435310, +-0.961381318517160690, -0.961367556323432850, -0.961353791726286210, -0.961340024725754970, -0.961326255321873660, -0.961312483514676570, -0.961298709304198360, -0.961284932690473550, +-0.961271153673536330, -0.961257372253421230, -0.961243588430162670, -0.961229802203794950, -0.961216013574352930, -0.961202222541870820, -0.961188429106383250, -0.961174633267924630, +-0.961160835026529380, -0.961147034382232040, -0.961133231335067120, -0.961119425885069050, -0.961105618032272570, -0.961091807776711660, -0.961077995118421510, -0.961064180057436430, +-0.961050362593790840, -0.961036542727519370, -0.961022720458656330, -0.961008895787236690, -0.960995068713294760, -0.960981239236865290, -0.960967407357982580, -0.960953573076681500, +-0.960939736392996350, -0.960925897306961980, -0.960912055818612830, -0.960898211927983410, -0.960884365635108370, -0.960870516940022680, -0.960856665842760640, -0.960842812343356890, +-0.960828956441846180, -0.960815098138263050, -0.960801237432641900, -0.960787374325017930, -0.960773508815425560, -0.960759640903899310, -0.960745770590474060, -0.960731897875184320, +-0.960718022758064950, -0.960704145239150380, -0.960690265318475570, -0.960676382996074720, -0.960662498271983250, -0.960648611146235560, -0.960634721618866320, -0.960620829689910250, +-0.960606935359402110, -0.960593038627376330, -0.960579139493868310, -0.960565237958912350, -0.960551334022543330, -0.960537427684796000, -0.960523518945705090, -0.960509607805305370, +-0.960495694263631680, -0.960481778320718680, -0.960467859976601000, -0.960453939231313950, -0.960440016084892050, -0.960426090537370160, -0.960412162588782920, -0.960398232239165320, +-0.960384299488551970, -0.960370364336978090, -0.960356426784478190, -0.960342486831087360, -0.960328544476840240, -0.960314599721771800, -0.960300652565916790, -0.960286703009310180, +-0.960272751051986840, -0.960258796693981620, -0.960244839935329160, -0.960230880776064890, -0.960216919216223320, -0.960202955255839540, -0.960188988894948300, -0.960175020133584360, +-0.960161048971783230, -0.960147075409579330, -0.960133099447007870, -0.960119121084103580, -0.960105140320901440, -0.960091157157436540, -0.960077171593743730, -0.960063183629857870, +-0.960049193265814170, -0.960035200501647260, -0.960021205337392550, -0.960007207773084790, -0.959993207808759070, -0.959979205444450370, -0.959965200680193640, -0.959951193516023650, +-0.959937183951975800, -0.959923171988085190, -0.959909157624386560, -0.959895140860914990, -0.959881121697705560, -0.959867100134793370, -0.959853076172213490, -0.959839049810000900, +-0.959825021048190340, -0.959810989886817570, -0.959796956325917330, -0.959782920365524590, -0.959768882005674670, -0.959754841246402530, -0.959740798087742930, -0.959726752529731720, +-0.959712704572403540, -0.959698654215793590, -0.959684601459937060, -0.959670546304869030, -0.959656488750624590, -0.959642428797238930, -0.959628366444747250, -0.959614301693184400, +-0.959600234542586030, -0.959586164992987100, -0.959572093044422700, -0.959558018696928140, -0.959543941950538490, -0.959529862805288740, -0.959515781261214510, -0.959501697318350890, +-0.959487610976733070, -0.959473522236396150, -0.959459431097375530, -0.959445337559706180, -0.959431241623423640, -0.959417143288562870, -0.959403042555159290, -0.959388939423247880, +-0.959374833892864380, -0.959360725964043760, -0.959346615636821330, -0.959332502911232400, -0.959318387787311930, -0.959304270265095680, -0.959290150344618840, -0.959276028025916610, +-0.959261903309024280, -0.959247776193977280, -0.959233646680810790, -0.959219514769560130, -0.959205380460260710, -0.959191243752947840, -0.959177104647656600, -0.959162963144422950, +-0.959148819243281770, -0.959134672944268570, -0.959120524247418670, -0.959106373152767590, -0.959092219660350190, -0.959078063770202550, -0.959063905482359760, -0.959049744796857120, +-0.959035581713730160, -0.959021416233014290, -0.959007248354744820, -0.958993078078957280, -0.958978905405687090, -0.958964730334969320, -0.958950552866839940, -0.958936373001334270, +-0.958922190738487610, -0.958908006078335480, -0.958893819020913310, -0.958879629566256390, -0.958865437714400580, -0.958851243465381310, -0.958837046819233760, -0.958822847775993690, +-0.958808646335696510, -0.958794442498377640, -0.958780236264072720, -0.958766027632817260, -0.958751816604646480, -0.958737603179596330, -0.958723387357702130, -0.958709169138999620, +-0.958694948523524100, -0.958680725511311230, -0.958666500102396180, -0.958652272296815270, -0.958638042094603680, -0.958623809495796840, -0.958609574500430610, -0.958595337108540390, +-0.958581097320161950, -0.958566855135330580, -0.958552610554082140, -0.958538363576452280, -0.958524114202476190, -0.958509862432190050, -0.958495608265629180, -0.958481351702829440, +-0.958467092743826240, -0.958452831388655000, -0.958438567637352020, -0.958424301489952610, -0.958410032946492410, -0.958395762007007160, -0.958381488671532500, -0.958367212940104190, +-0.958352934812757740, -0.958338654289528910, -0.958324371370453560, -0.958310086055567000, -0.958295798344905530, -0.958281508238504440, -0.958267215736399610, -0.958252920838626790, +-0.958238623545221710, -0.958224323856219810, -0.958210021771657260, -0.958195717291569720, -0.958181410415992810, -0.958167101144962510, -0.958152789478514340, -0.958138475416684290, +-0.958124158959507980, -0.958109840107021270, -0.958095518859259700, -0.958081195216259670, -0.958066869178056610, -0.958052540744686380, -0.958038209916184820, -0.958023876692587710, +-0.958009541073930550, -0.957995203060249880, -0.957980862651581220, -0.957966519847960440, -0.957952174649423280, -0.957937827056005720, -0.957923477067743610, -0.957909124684672820, +-0.957894769906829200, -0.957880412734248400, -0.957866053166966820, -0.957851691205020120, -0.957837326848444140, -0.957822960097274860, -0.957808590951548240, -0.957794219411299830, +-0.957779845476566140, -0.957765469147382810, -0.957751090423785920, -0.957736709305811230, -0.957722325793494700, -0.957707939886872420, -0.957693551585980350, -0.957679160890854250, +-0.957664767801530430, -0.957650372318044290, -0.957635974440432580, -0.957621574168730840, -0.957607171502975250, -0.957592766443201680, -0.957578358989445880, -0.957563949141744590, +-0.957549536900133340, -0.957535122264648210, -0.957520705235325290, -0.957506285812200650, -0.957491863995310280, -0.957477439784690240, -0.957463013180376630, -0.957448584182405420, +-0.957434152790812560, -0.957419719005634610, -0.957405282826907290, -0.957390844254666810, -0.957376403288949130, -0.957361959929790340, -0.957347514177226740, -0.957333066031294420, +-0.957318615492029460, -0.957304162559468040, -0.957289707233646040, -0.957275249514599860, -0.957260789402365590, -0.957246326896979300, -0.957231861998477210, -0.957217394706895150, +-0.957202925022270000, -0.957188452944637390, -0.957173978474033740, -0.957159501610495120, -0.957145022354057740, -0.957130540704757560, -0.957116056662631220, -0.957101570227714800, +-0.957087081400044500, -0.957072590179656400, -0.957058096566586910, -0.957043600560872120, -0.957029102162548330, -0.957014601371651840, -0.957000098188218520, -0.956985592612285220, +-0.956971084643888030, -0.956956574283063020, -0.956942061529846620, -0.956927546384275020, -0.956913028846384410, -0.956898508916211420, -0.956883986593792150, -0.956869461879162890, +-0.956854934772360060, -0.956840405273419850, -0.956825873382378570, -0.956811339099272630, -0.956796802424138340, -0.956782263357011890, -0.956767721897929910, -0.956753178046928720, +-0.956738631804044500, -0.956724083169313790, -0.956709532142772770, -0.956694978724457750, -0.956680422914405470, -0.956665864712652250, -0.956651304119234270, -0.956636741134188060, +-0.956622175757549930, -0.956607607989356400, -0.956593037829643890, -0.956578465278448810, -0.956563890335807580, -0.956549313001756270, -0.956534733276331980, -0.956520151159570790, +-0.956505566651509320, -0.956490979752183890, -0.956476390461630800, -0.956461798779886910, -0.956447204706988630, -0.956432608242972270, -0.956418009387874360, -0.956403408141731530, +-0.956388804504580080, -0.956374198476456660, -0.956359590057397790, -0.956344979247439890, -0.956330366046619250, -0.956315750454972970, -0.956301132472537340, -0.956286512099348900, +-0.956271889335444160, -0.956257264180859660, -0.956242636635631800, -0.956228006699797570, -0.956213374373393380, -0.956198739656455740, -0.956184102549021200, -0.956169463051126380, +-0.956154821162807920, -0.956140176884102470, -0.956125530215046540, -0.956110881155676550, -0.956096229706029590, -0.956081575866142060, -0.956066919636050620, -0.956052261015791880, +-0.956037600005402390, -0.956022936604918770, -0.956008270814378000, -0.955993602633816610, -0.955978932063271110, -0.955964259102778380, -0.955949583752374930, -0.955934906012097630, +-0.955920225881982890, -0.955905543362067790, -0.955890858452388410, -0.955876171152982180, -0.955861481463885610, -0.955846789385135230, -0.955832094916767900, -0.955817398058820380, +-0.955802698811329070, -0.955787997174331270, -0.955773293147863520, -0.955758586731962460, -0.955743877926665040, -0.955729166732007810, -0.955714453148027720, -0.955699737174761530, +-0.955685018812245990, -0.955670298060517840, -0.955655574919613730, -0.955640849389570950, -0.955626121470426030, -0.955611391162215830, -0.955596658464977100, -0.955581923378746480, +-0.955567185903561380, -0.955552446039458210, -0.955537703786474070, -0.955522959144645580, -0.955508212114009710, -0.955493462694603220, -0.955478710886463190, -0.955463956689626360, +-0.955449200104129590, -0.955434441130009640, -0.955419679767303800, -0.955404916016048710, -0.955390149876281350, -0.955375381348038680, -0.955360610431357560, -0.955345837126274630, +-0.955331061432827310, -0.955316283351052340, -0.955301502880986700, -0.955286720022667350, -0.955271934776131150, -0.955257147141415190, -0.955242357118556210, -0.955227564707591400, +-0.955212769908557520, -0.955197972721491870, -0.955183173146431310, -0.955168371183412800, -0.955153566832473430, -0.955138760093650060, -0.955123950966979550, -0.955109139452499530, +-0.955094325550246540, -0.955079509260257750, -0.955064690582570260, -0.955049869517220930, -0.955035046064247050, -0.955020220223685490, -0.955005391995573330, -0.954990561379947530, +-0.954975728376845520, -0.954960892986304270, -0.954946055208360620, -0.954931215043052010, -0.954916372490415280, -0.954901527550487410, -0.954886680223305920, -0.954871830508907780, +-0.954856978407329970, -0.954842123918609790, -0.954827267042784310, -0.954812407779890630, -0.954797546129966030, -0.954782682093047400, -0.954767815669172240, -0.954752946858377080, +-0.954738075660700010, -0.954723202076177670, -0.954708326104847350, -0.954693447746746140, -0.954678567001911120, -0.954663683870379920, -0.954648798352189520, -0.954633910447377110, +-0.954619020155979880, -0.954604127478035140, -0.954589232413580070, -0.954574334962651980, -0.954559435125288070, -0.954544532901525520, -0.954529628291401310, -0.954514721294953410, +-0.954499811912218550, -0.954484900143234280, -0.954469985988037780, -0.954455069446666250, -0.954440150519156870, -0.954425229205547290, -0.954410305505874690, -0.954395379420176270, +-0.954380450948489440, -0.954365520090851520, -0.954350586847299790, -0.954335651217871560, -0.954320713202604140, -0.954305772801534720, -0.954290830014701160, -0.954275884842140540, +-0.954260937283890160, -0.954245987339987560, -0.954231035010469800, -0.954216080295374300, -0.954201123194738820, -0.954186163708600650, -0.954171201836997000, -0.954156237579965260, +-0.954141270937542970, -0.954126301909767550, -0.954111330496676400, -0.954096356698306840, -0.954081380514696150, -0.954066401945882330, -0.954051420991902430, -0.954036437652794000, +-0.954021451928594440, -0.954006463819341400, -0.953991473325071840, -0.953976480445823840, -0.953961485181634590, -0.953946487532541740, -0.953931487498582590, -0.953916485079794760, +-0.953901480276215690, -0.953886473087882990, -0.953871463514833980, -0.953856451557106410, -0.953841437214737460, -0.953826420487765110, -0.953811401376226780, -0.953796379880159970, +-0.953781355999602120, -0.953766329734590630, -0.953751301085163590, -0.953736270051358300, -0.953721236633212400, -0.953706200830763410, -0.953691162644048850, -0.953676122073106370, +-0.953661079117973600, -0.953646033778688170, -0.953630986055287620, -0.953615935947809360, -0.953600883456291460, -0.953585828580771460, -0.953570771321286870, -0.953555711677875340, +-0.953540649650574500, -0.953525585239421770, -0.953510518444455340, -0.953495449265712610, -0.953480377703231240, -0.953465303757048970, -0.953450227427203530, -0.953435148713732360, +-0.953420067616673420, -0.953404984136064230, -0.953389898271942430, -0.953374810024346100, -0.953359719393312650, -0.953344626378880070, -0.953329530981085750, -0.953314433199967670, +-0.953299333035563360, -0.953284230487910780, -0.953269125557047790, -0.953254018243011920, -0.953238908545841030, -0.953223796465572870, -0.953208682002245180, -0.953193565155895820, +-0.953178445926562530, -0.953163324314282860, -0.953148200319095080, -0.953133073941036860, -0.953117945180146030, -0.953102814036460240, -0.953087680510017470, -0.953072544600855220, +-0.953057406309011810, -0.953042265634524990, -0.953027122577432380, -0.953011977137772080, -0.952996829315581830, -0.952981679110899370, -0.952966526523762900, -0.952951371554210060, +-0.952936214202278700, -0.952921054468006570, -0.952905892351432190, -0.952890727852592880, -0.952875560971526920, -0.952860391708271970, -0.952845220062865870, -0.952830046035346930, +-0.952814869625752790, -0.952799690834121530, -0.952784509660491110, -0.952769326104899390, -0.952754140167384360, -0.952738951847983960, -0.952723761146736180, -0.952708568063678980, +-0.952693372598850120, -0.952678174752288110, -0.952662974524030590, -0.952647771914115650, -0.952632566922581360, -0.952617359549465580, -0.952602149794806170, -0.952586937658641660, +-0.952571723141009800, -0.952556506241948650, -0.952541286961496200, -0.952526065299690530, -0.952510841256569710, -0.952495614832171710, -0.952480386026534840, -0.952465154839696630, +-0.952449921271695810, -0.952434685322570140, -0.952419446992357810, -0.952404206281096900, -0.952388963188825490, -0.952373717715581320, -0.952358469861403160, -0.952343219626328840, +-0.952327967010396460, -0.952312712013644200, -0.952297454636110040, -0.952282194877832390, -0.952266932738849100, -0.952251668219198600, -0.952236401318918620, -0.952221132038047920, +-0.952205860376624360, -0.952190586334686230, -0.952175309912271620, -0.952160031109418600, -0.952144749926165380, -0.952129466362550470, -0.952114180418611960, -0.952098892094387920, +-0.952083601389916770, -0.952068308305236480, -0.952053012840385460, -0.952037714995402020, -0.952022414770324230, -0.952007112165190290, -0.951991807180038400, -0.951976499814907280, +-0.951961190069834930, -0.951945877944859520, -0.951930563440019470, -0.951915246555352650, -0.951899927290898120, -0.951884605646693750, -0.951869281622777730, -0.951853955219188700, +-0.951838626435964620, -0.951823295273144020, -0.951807961730765210, -0.951792625808866480, -0.951777287507486250, -0.951761946826662490, -0.951746603766434050, -0.951731258326839250, +-0.951715910507916150, -0.951700560309703400, -0.951685207732239190, -0.951669852775561710, -0.951654495439709810, -0.951639135724721810, -0.951623773630635880, -0.951608409157490450, +-0.951593042305324150, -0.951577673074175070, -0.951562301464081940, -0.951546927475083070, -0.951531551107216540, -0.951516172360521440, -0.951500791235035840, -0.951485407730798370, +-0.951470021847847240, -0.951454633586221180, -0.951439242945958160, -0.951423849927097390, -0.951408454529677040, -0.951393056753735420, -0.951377656599311280, -0.951362254066442930, +-0.951346849155168980, -0.951331441865527870, -0.951316032197558230, -0.951300620151298130, -0.951285205726786880, -0.951269788924062440, -0.951254369743163690, -0.951238948184128910, +-0.951223524246996850, -0.951208097931805610, -0.951192669238594470, -0.951177238167401630, -0.951161804718265720, -0.951146368891225280, -0.951130930686318930, -0.951115490103585310, +-0.951100047143062840, -0.951084601804790370, -0.951069154088806320, -0.951053703995149100, -0.951038251523857900, -0.951022796674971140, -0.951007339448527330, -0.950991879844565240, +-0.950976417863123040, -0.950960953504240260, -0.950945486767954980, -0.950930017654305960, -0.950914546163331930, -0.950899072295071530, -0.950883596049563410, -0.950868117426846400, +-0.950852636426959050, -0.950837153049940100, -0.950821667295827950, -0.950806179164662040, -0.950790688656480530, -0.950775195771322410, -0.950759700509226200, -0.950744202870230870, +-0.950728702854374610, -0.950713200461696940, -0.950697695692236280, -0.950682188546031370, -0.950666679023121080, -0.950651167123543920, -0.950635652847338970, -0.950620136194544880, +-0.950604617165200390, -0.950589095759344140, -0.950573571977015310, -0.950558045818252650, -0.950542517283094910, -0.950526986371580840, -0.950511453083749290, -0.950495917419638790, +-0.950480379379288860, -0.950464838962737920, -0.950449296170024830, -0.950433751001188650, -0.950418203456268040, -0.950402653535301840, -0.950387101238329040, -0.950371546565388580, +-0.950355989516518900, -0.950340430091759500, -0.950324868291149040, -0.950309304114726470, -0.950293737562530550, -0.950278168634600350, -0.950262597330974400, -0.950247023651692340, +-0.950231447596792680, -0.950215869166314290, -0.950200288360296350, -0.950184705178777620, -0.950169119621797180, -0.950153531689393870, -0.950137941381606790, -0.950122348698474890, +-0.950106753640036830, -0.950091156206332110, -0.950075556397399490, -0.950059954213278050, -0.950044349654006640, -0.950028742719624120, -0.950013133410170020, -0.949997521725683190, +-0.949981907666202390, -0.949966291231766900, -0.949950672422415710, -0.949935051238187780, -0.949919427679122300, -0.949903801745258130, -0.949888173436634560, -0.949872542753290250, +-0.949856909695264820, -0.949841274262597120, -0.949825636455326360, -0.949809996273491390, -0.949794353717131390, -0.949778708786285340, -0.949763061480992770, -0.949747411801292520, +-0.949731759747223680, -0.949716105318825550, -0.949700448516137110, -0.949684789339197530, -0.949669127788046020, -0.949653463862721650, -0.949637797563263390, -0.949622128889710870, +-0.949606457842103070, -0.949590784420479170, -0.949575108624878150, -0.949559430455339530, -0.949543749911901940, -0.949528066994605350, -0.949512381703488510, -0.949496694038590720, +-0.949481003999951170, -0.949465311587609160, -0.949449616801603890, -0.949433919641974540, -0.949418220108760420, -0.949402518202000500, -0.949386813921734520, -0.949371107268001560, +-0.949355398240840700, -0.949339686840291460, -0.949323973066392930, -0.949308256919184300, -0.949292538398705200, -0.949276817504994820, -0.949261094238092350, -0.949245368598037210, +-0.949229640584868580, -0.949213910198625890, -0.949198177439348310, -0.949182442307075380, -0.949166704801846390, -0.949150964923700320, -0.949135222672677140, -0.949119478048815910, +-0.949103731052155950, -0.949087981682736670, -0.949072229940597150, -0.949056475825777350, -0.949040719338316240, -0.949024960478253470, -0.949009199245628320, -0.948993435640480110, +-0.948977669662848360, -0.948961901312772360, -0.948946130590291650, -0.948930357495445630, -0.948914582028273390, -0.948898804188815000, -0.948883023977109660, -0.948867241393196670, +-0.948851456437115550, -0.948835669108905600, -0.948819879408606790, -0.948804087336258210, -0.948788292891899370, -0.948772496075569900, -0.948756696887309130, -0.948740895327156660, +-0.948725091395151930, -0.948709285091334450, -0.948693476415743750, -0.948677665368419130, -0.948661851949400560, -0.948646036158727450, -0.948630217996439100, -0.948614397462575360, +-0.948598574557175560, -0.948582749280279080, -0.948566921631925910, -0.948551091612155560, -0.948535259221007450, -0.948519424458521110, -0.948503587324736270, -0.948487747819692470, +-0.948471905943429340, -0.948456061695986400, -0.948440215077403060, -0.948424366087719410, -0.948408514726974850, -0.948392660995209020, -0.948376804892461570, -0.948360946418772110, +-0.948345085574179960, -0.948329222358725300, -0.948313356772447660, -0.948297488815386670, -0.948281618487581970, -0.948265745789073190, -0.948249870719899970, -0.948233993280102160, +-0.948218113469719400, -0.948202231288791330, -0.948186346737357360, -0.948170459815457780, -0.948154570523132120, -0.948138678860420030, -0.948122784827361230, -0.948106888423995150, +-0.948090989650362090, -0.948075088506501680, -0.948059184992453450, -0.948043279108257360, -0.948027370853953060, -0.948011460229580270, -0.947995547235178760, -0.947979631870788490, +-0.947963714136449200, -0.947947794032200200, -0.947931871558082120, -0.947915946714134260, -0.947900019500396600, -0.947884089916908870, -0.947868157963710600, -0.947852223640842210, +-0.947836286948343320, -0.947820347886253690, -0.947804406454613280, -0.947788462653461730, -0.947772516482839110, -0.947756567942785070, -0.947740617033339780, -0.947724663754542780, +-0.947708708106433930, -0.947692750089053630, -0.947676789702441400, -0.947660826946637220, -0.947644861821680950, -0.947628894327612550, -0.947612924464471540, -0.947596952232298670, +-0.947580977631133250, -0.947565000661015460, -0.947549021321985150, -0.947533039614082420, -0.947517055537346890, -0.947501069091818860, -0.947485080277538080, -0.947469089094544410, +-0.947453095542878150, -0.947437099622579270, -0.947421101333687620, -0.947405100676243170, -0.947389097650286120, -0.947373092255855860, -0.947357084492993270, -0.947341074361737870, +-0.947325061862129840, -0.947309046994209150, -0.947293029758015880, -0.947277010153590000, -0.947260988180971600, -0.947244963840200740, -0.947228937131317170, -0.947212908054361540, +-0.947196876609373680, -0.947180842796393590, -0.947164806615461320, -0.947148768066617190, -0.947132727149900710, -0.947116683865352860, -0.947100638213013160, -0.947084590192921900, +-0.947068539805119180, -0.947052487049645060, -0.947036431926539860, -0.947020374435843420, -0.947004314577596150, -0.946988252351838030, -0.946972187758609030, -0.946956120797949890, +-0.946940051469900350, -0.946923979774500710, -0.946907905711791180, -0.946891829281811590, -0.946875750484602710, -0.946859669320204380, -0.946843585788656910, -0.946827499890000480, +-0.946811411624275400, -0.946795320991521640, -0.946779227991779710, -0.946763132625089600, -0.946747034891491700, -0.946730934791025990, -0.946714832323733100, -0.946698727489653220, +-0.946682620288826550, -0.946666510721293260, -0.946650398787093670, -0.946634284486267850, -0.946618167818856660, -0.946602048784899950, -0.946585927384438140, -0.946569803617511530, +-0.946553677484160420, -0.946537548984425100, -0.946521418118345890, -0.946505284885963190, -0.946489149287316980, -0.946473011322448100, -0.946456870991396860, -0.946440728294203340, +-0.946424583230907950, -0.946408435801551210, -0.946392286006172980, -0.946376133844814340, -0.946359979317515480, -0.946343822424316580, -0.946327663165258180, -0.946311501540380570, +-0.946295337549724170, -0.946279171193329490, -0.946263002471236850, -0.946246831383486420, -0.946230657930119290, -0.946214482111175430, -0.946198303926695350, -0.946182123376719590, +-0.946165940461288430, -0.946149755180442200, -0.946133567534221840, -0.946117377522667560, -0.946101185145819870, -0.946084990403719180, -0.946068793296406030, -0.946052593823920820, +-0.946036391986304180, -0.946020187783596640, -0.946003981215838510, -0.945987772283070290, -0.945971560985332750, -0.945955347322666400, -0.945939131295111760, -0.945922912902709130, +-0.945906692145499050, -0.945890469023522470, -0.945874243536819700, -0.945858015685431370, -0.945841785469398010, -0.945825552888760130, -0.945809317943558490, -0.945793080633833380, +-0.945776840959625660, -0.945760598920975860, -0.945744354517924270, -0.945728107750512080, -0.945711858618779600, -0.945695607122767460, -0.945679353262516290, -0.945663097038066840, +-0.945646838449459180, -0.945630577496734850, -0.945614314179934020, -0.945598048499097450, -0.945581780454265770, -0.945565510045479620, -0.945549237272779730, -0.945532962136206630, +-0.945516684635801190, -0.945500404771603800, -0.945484122543655660, -0.945467837951997180, -0.945451550996669110, -0.945435261677712190, -0.945418969995167170, -0.945402675949074340, +-0.945386379539475130, -0.945370080766409940, -0.945353779629919620, -0.945337476130044820, -0.945321170266826380, -0.945304862040304950, -0.945288551450521370, -0.945272238497516400, +-0.945255923181330560, -0.945239605502005250, -0.945223285459580900, -0.945206963054098240, -0.945190638285598350, -0.945174311154121760, -0.945157981659709100, -0.945141649802401780, +-0.945125315582240330, -0.945108978999265600, -0.945092640053518450, -0.945076298745039730, -0.945059955073870190, -0.945043609040050800, -0.945027260643622300, -0.945010909884625770, +-0.944994556763101620, -0.944978201279091380, -0.944961843432635670, -0.944945483223775360, -0.944929120652551300, -0.944912755719004130, -0.944896388423175360, -0.944880018765105630, +-0.944863646744835920, -0.944847272362406950, -0.944830895617859930, -0.944814516511235600, -0.944798135042575040, -0.944781751211919100, -0.944765365019308860, -0.944748976464784840, +-0.944732585548388680, -0.944716192270161010, -0.944699796630142920, -0.944683398628375360, -0.944666998264899190, -0.944650595539755390, -0.944634190452985250, -0.944617783004629730, +-0.944601373194729700, -0.944584961023326340, -0.944568546490460400, -0.944552129596173300, -0.944535710340505760, -0.944519288723498880, -0.944502864745193630, -0.944486438405631400, +-0.944470009704853180, -0.944453578642899800, -0.944437145219812590, -0.944420709435632500, -0.944404271290400280, -0.944387830784157670, -0.944371387916945530, -0.944354942688804930, +-0.944338495099776960, -0.944322045149902810, -0.944305592839223440, -0.944289138167780150, -0.944272681135614020, -0.944256221742765910, -0.944239759989277450, -0.944223295875189720, +-0.944206829400543680, -0.944190360565380530, -0.944173889369741560, -0.944157415813667520, -0.944140939897200270, -0.944124461620380550, -0.944107980983249770, -0.944091497985849130, +-0.944075012628219580, -0.944058524910402650, -0.944042034832439310, -0.944025542394370860, -0.944009047596238600, -0.943992550438083500, -0.943976050919947180, -0.943959549041870850, +-0.943943044803895570, -0.943926538206062760, -0.943910029248413160, -0.943893517930988970, -0.943877004253830810, -0.943860488216980320, -0.943843969820478470, -0.943827449064366770, +-0.943810925948686430, -0.943794400473478730, -0.943777872638785100, -0.943761342444646710, -0.943744809891104650, -0.943728274978201000, -0.943711737705976610, -0.943695198074472770, +-0.943678656083731030, -0.943662111733792660, -0.943645565024698650, -0.943629015956491070, -0.943612464529210990, -0.943595910742899720, -0.943579354597598670, -0.943562796093349140, +-0.943546235230192760, -0.943529672008170730, -0.943513106427324550, -0.943496538487695210, -0.943479968189325000, -0.943463395532254670, -0.943446820516525950, -0.943430243142180270, +-0.943413663409258810, -0.943397081317802980, -0.943380496867854750, -0.943363910059455300, -0.943347320892646060, -0.943330729367468420, -0.943314135483964030, -0.943297539242174410, +-0.943280940642140740, -0.943264339683904880, -0.943247736367507810, -0.943231130692991690, -0.943214522660397740, -0.943197912269767570, -0.943181299521142490, -0.943164684414564250, +-0.943148066950073920, -0.943131447127713800, -0.943114824947525080, -0.943098200409549170, -0.943081573513827930, -0.943064944260402660, -0.943048312649314990, -0.943031678680606560, +-0.943015042354318990, -0.942998403670493810, -0.942981762629172330, -0.942965119230396720, -0.942948473474208290, -0.942931825360648680, -0.942915174889759510, -0.942898522061582090, +-0.942881866876158710, -0.942865209333530680, -0.942848549433739520, -0.942831887176827090, -0.942815222562834900, -0.942798555591804700, -0.942781886263778010, -0.942765214578796700, +-0.942748540536902270, -0.942731864138136260, -0.942715185382540950, -0.942698504270157560, -0.942681820801027910, -0.942665134975193770, -0.942648446792696770, -0.942631756253578310, +-0.942615063357880810, -0.942598368105645680, -0.942581670496914550, -0.942564970531729380, -0.942548268210131600, -0.942531563532163270, -0.942514856497866040, -0.942498147107281640, +-0.942481435360451590, -0.942464721257418200, -0.942448004798222990, -0.942431285982907820, -0.942414564811514420, -0.942397841284084660, -0.942381115400659940, -0.942364387161282790, +-0.942347656565994620, -0.942330923614837280, -0.942314188307852740, -0.942297450645082630, -0.942280710626568930, -0.942263968252353480, -0.942247223522478030, -0.942230476436984320, +-0.942213726995914660, -0.942196975199310670, -0.942180221047214330, -0.942163464539667260, -0.942146705676711660, -0.942129944458389050, -0.942113180884741830, -0.942096414955811530, +-0.942079646671640350, -0.942062876032270010, -0.942046103037742500, -0.942029327688099660, -0.942012549983383570, -0.941995769923636090, -0.941978987508899190, -0.941962202739214490, +-0.941945415614624640, -0.941928626135171140, -0.941911834300896200, -0.941895040111841660, -0.941878243568049170, -0.941861444669561340, -0.941844643416419940, -0.941827839808666910, +-0.941811033846344350, -0.941794225529494210, -0.941777414858158470, -0.941760601832379200, -0.941743786452198360, -0.941726968717658150, -0.941710148628800090, -0.941693326185667030, +-0.941676501388300720, -0.941659674236743130, -0.941642844731036320, -0.941626012871222380, -0.941609178657343170, -0.941592342089441310, -0.941575503167558560, -0.941558661891736980, +-0.941541818262018880, -0.941524972278446230, -0.941508123941060980, -0.941491273249905560, -0.941474420205022030, -0.941457564806452040, -0.941440707054238430, -0.941423846948423070, +-0.941406984489048140, -0.941390119676155710, -0.941373252509787980, -0.941356382989986810, -0.941339511116794920, -0.941322636890254420, -0.941305760310407250, -0.941288881377295610, +-0.941272000090961790, -0.941255116451447990, -0.941238230458796400, -0.941221342113049310, -0.941204451414248470, -0.941187558362436840, -0.941170662957656280, -0.941153765199949090, +-0.941136865089357570, -0.941119962625923790, -0.941103057809689840, -0.941086150640698450, -0.941069241118991820, -0.941052329244612020, -0.941035415017601350, -0.941018498438002230, +-0.941001579505856830, -0.940984658221207470, -0.940967734584096550, -0.940950808594566150, -0.940933880252658560, -0.940916949558416540, -0.940900016511882040, -0.940883081113097600, +-0.940866143362105390, -0.940849203258947610, -0.940832260803667110, -0.940815315996305860, -0.940798368836906370, -0.940781419325511070, -0.940764467462162140, -0.940747513246901980, +-0.940730556679773120, -0.940713597760817870, -0.940696636490078510, -0.940679672867597350, -0.940662706893417360, -0.940645738567580490, -0.940628767890129390, -0.940611794861106240, +-0.940594819480553680, -0.940577841748513780, -0.940560861665029610, -0.940543879230143150, -0.940526894443897140, -0.940509907306333770, -0.940492917817495780, -0.940475925977425350, +-0.940458931786165240, -0.940441935243757630, -0.940424936350245040, -0.940407935105670330, -0.940390931510075800, -0.940373925563503970, -0.940356917265997350, -0.940339906617598360, +-0.940322893618349310, -0.940305878268293370, -0.940288860567472740, -0.940271840515929940, -0.940254818113707480, -0.940237793360848010, -0.940220766257394040, -0.940203736803388200, +-0.940186704998873020, -0.940169670843890800, -0.940152634338484620, -0.940135595482696980, -0.940118554276570210, -0.940101510720147140, -0.940084464813470300, -0.940067416556581990, +-0.940050365949525400, -0.940033312992342940, -0.940016257685077130, -0.939999200027770710, -0.939982140020466320, -0.939965077663206580, -0.939948012956034140, -0.939930945898991620, +-0.939913876492121770, -0.939896804735467000, -0.939879730629070380, -0.939862654172974540, -0.939845575367222020, -0.939828494211855550, -0.939811410706917540, -0.939794324852451400, +-0.939777236648499330, -0.939760146095104280, -0.939743053192308770, -0.939725957940155680, -0.939708860338687610, -0.939691760387947550, -0.939674658087977900, -0.939657553438821740, +-0.939640446440521360, -0.939623337093120180, -0.939606225396660610, -0.939589111351185500, -0.939571994956737600, -0.939554876213359760, -0.939537755121094390, -0.939520631679985010, +-0.939503505890073920, -0.939486377751404200, -0.939469247264018370, -0.939452114427959620, -0.939434979243270460, -0.939417841709993870, -0.939400701828172700, -0.939383559597849470, +-0.939366415019067590, -0.939349268091869690, -0.939332118816298630, -0.939314967192397270, -0.939297813220208560, -0.939280656899774910, -0.939263498231139970, -0.939246337214346360, +-0.939229173849436830, -0.939212008136454330, -0.939194840075441850, -0.939177669666442340, -0.939160496909498540, -0.939143321804653540, -0.939126144351949970, -0.939108964551431340, +-0.939091782403140280, -0.939074597907119780, -0.939057411063412670, -0.939040221872062150, -0.939023030333110740, -0.939005836446602070, -0.938988640212578880, -0.938971441631083930, +-0.938954240702160490, -0.938937037425851440, -0.938919831802199730, -0.938902623831248560, -0.938885413513040780, -0.938868200847619460, -0.938850985835027240, -0.938833768475307970, +-0.938816548768504290, -0.938799326714659150, -0.938782102313815760, -0.938764875566016730, -0.938747646471305930, -0.938730415029725980, -0.938713181241319970, -0.938695945106130970, +-0.938678706624202160, -0.938661465795576630, -0.938644222620297340, -0.938626977098407590, -0.938609729229950340, -0.938592479014968450, -0.938575226453505660, -0.938557971545604830, +-0.938540714291309030, -0.938523454690661560, -0.938506192743705060, -0.938488928450483370, -0.938471661811039360, -0.938454392825416210, -0.938437121493657100, -0.938419847815805230, +-0.938402571791903670, -0.938385293421995730, -0.938368012706124470, -0.938350729644333300, -0.938333444236664870, -0.938316156483163240, -0.938298866383871170, -0.938281573938831940, +-0.938264279148088740, -0.938246982011684880, -0.938229682529663320, -0.938212380702067810, -0.938195076528941300, -0.938177770010327210, -0.938160461146268610, -0.938143149936808810, +-0.938125836381991210, -0.938108520481859000, -0.938091202236455590, -0.938073881645823730, -0.938056558710007480, -0.938039233429049930, -0.938021905802994160, -0.938004575831883790, +-0.937987243515761900, -0.937969908854671570, -0.937952571848656770, -0.937935232497760560, -0.937917890802026260, -0.937900546761497260, -0.937883200376216970, -0.937865851646228600, +-0.937848500571575540, -0.937831147152301310, -0.937813791388448890, -0.937796433280062240, -0.937779072827184530, -0.937761710029859200, -0.937744344888129520, -0.937726977402039030, +-0.937709607571630800, -0.937692235396948790, -0.937674860878036310, -0.937657484014936650, -0.937640104807693220, -0.937622723256349540, -0.937605339360949030, -0.937587953121535200, +-0.937570564538151460, -0.937553173610841340, -0.937535780339648020, -0.937518384724615460, -0.937500986765787080, -0.937483586463206060, -0.937466183816916150, -0.937448778826960540, +-0.937431371493383180, -0.937413961816227490, -0.937396549795536880, -0.937379135431354870, -0.937361718723724980, -0.937344299672690840, -0.937326878278295970, -0.937309454540583900, +-0.937292028459598140, -0.937274600035381990, -0.937257169267979750, -0.937239736157434500, -0.937222300703789980, -0.937204862907089600, -0.937187422767377210, -0.937169980284695890, +-0.937152535459089830, -0.937135088290602550, -0.937117638779277560, -0.937100186925158400, -0.937082732728288790, -0.937065276188712380, -0.937047817306472800, -0.937030356081613560, +-0.937012892514178300, -0.936995426604210980, -0.936977958351755120, -0.936960487756854370, -0.936943014819552440, -0.936925539539892880, -0.936908061917919310, -0.936890581953675810, +-0.936873099647205780, -0.936855614998553080, -0.936838128007761340, -0.936820638674874310, -0.936803146999935720, -0.936785652982989100, -0.936768156624078530, -0.936750657923247190, +-0.936733156880539490, -0.936715653495998830, -0.936698147769669200, -0.936680639701594100, -0.936663129291817390, -0.936645616540382590, -0.936628101447333990, -0.936610584012715240, +-0.936593064236569960, -0.936575542118942010, -0.936558017659875230, -0.936540490859413490, -0.936522961717600410, -0.936505430234479960, -0.936487896410096000, -0.936470360244491930, +-0.936452821737712270, -0.936435280889800550, -0.936417737700800610, -0.936400192170756320, -0.936382644299711300, -0.936365094087709960, -0.936347541534795820, -0.936329986641012860, +-0.936312429406405020, -0.936294869831016060, -0.936277307914889830, -0.936259743658070410, -0.936242177060601640, -0.936224608122527390, -0.936207036843891390, -0.936189463224738060, +-0.936171887265111020, -0.936154308965054360, -0.936136728324611810, -0.936119145343827560, -0.936101560022745030, -0.936083972361409060, -0.936066382359863060, -0.936048790018151110, +-0.936031195336317180, -0.936013598314405230, -0.935995998952459330, -0.935978397250523450, -0.935960793208641560, -0.935943186826857290, -0.935925578105215480, -0.935907967043759670, +-0.935890353642533920, -0.935872737901582430, -0.935855119820948930, -0.935837499400677400, -0.935819876640812450, -0.935802251541397730, -0.935784624102477420, -0.935766994324095600, +-0.935749362206296230, -0.935731727749123500, -0.935714090952621370, -0.935696451816834140, -0.935678810341805330, -0.935661166527579910, -0.935643520374201510, -0.935625871881714310, +-0.935608221050162500, -0.935590567879590160, -0.935572912370041030, -0.935555254521559850, -0.935537594334190590, -0.935519931807977430, -0.935502266942964340, -0.935484599739195620, +-0.935466930196715450, -0.935449258315567910, -0.935431584095797190, -0.935413907537447580, -0.935396228640562820, -0.935378547405187890, -0.935360863831366520, -0.935343177919143010, +-0.935325489668561550, -0.935307799079665990, -0.935290106152501300, -0.935272410887111440, -0.935254713283540480, -0.935237013341832730, -0.935219311062032380, -0.935201606444183820, +-0.935183899488331250, -0.935166190194518960, -0.935148478562791150, -0.935130764593191780, -0.935113048285765910, -0.935095329640557420, -0.935077608657610470, -0.935059885336969600, +-0.935042159678679100, -0.935024431682782710, -0.935006701349325730, -0.934988968678351910, -0.934971233669905640, -0.934953496324031350, -0.934935756640773220, -0.934918014620175760, +-0.934900270262283280, -0.934882523567140190, -0.934864774534790330, -0.934847023165279010, -0.934829269458649970, -0.934811513414947840, -0.934793755034216910, -0.934775994316501600, +-0.934758231261845980, -0.934740465870295130, -0.934722698141893130, -0.934704928076684370, -0.934687155674713280, -0.934669380936024250, -0.934651603860661820, -0.934633824448670380, +-0.934616042700094350, -0.934598258614977920, -0.934580472193366150, -0.934562683435303130, -0.934544892340833490, -0.934527098910001630, -0.934509303142852080, -0.934491505039428790, +-0.934473704599777190, -0.934455901823941230, -0.934438096711965650, -0.934420289263894750, -0.934402479479773060, -0.934384667359645200, -0.934366852903555810, -0.934349036111549180, +-0.934331216983669940, -0.934313395519962290, -0.934295571720471620, -0.934277745585241900, -0.934259917114317880, -0.934242086307744080, -0.934224253165564680, -0.934206417687824970, +-0.934188579874569270, -0.934170739725842080, -0.934152897241688150, -0.934135052422151890, -0.934117205267277930, -0.934099355777111010, -0.934081503951695760, -0.934063649791076700, +-0.934045793295298240, -0.934027934464405570, -0.934010073298443100, -0.933992209797455340, -0.933974343961487150, -0.933956475790583050, -0.933938605284787560, -0.933920732444145750, +-0.933902857268702150, -0.933884979758501490, -0.933867099913588290, -0.933849217734007310, -0.933831333219803380, -0.933813446371021040, -0.933795557187705130, -0.933777665669899950, +-0.933759771817651020, -0.933741875631002530, -0.933723977109999440, -0.933706076254686380, -0.933688173065108210, -0.933670267541309220, -0.933652359683334820, -0.933634449491229650, +-0.933616536965038320, -0.933598622104805600, -0.933580704910576320, -0.933562785382395340, -0.933544863520307300, -0.933526939324357260, -0.933509012794589420, -0.933491083931049400, +-0.933473152733781620, -0.933455219202831030, -0.933437283338242390, -0.933419345140060530, -0.933401404608329990, -0.933383461743096280, -0.933365516544403920, -0.933347569012297650, +-0.933329619146822550, -0.933311666948023480, -0.933293712415945160, -0.933275755550632580, -0.933257796352130580, -0.933239834820484120, -0.933221870955737720, -0.933203904757937020, +-0.933185936227126420, -0.933167965363351120, -0.933149992166655840, -0.933132016637085340, -0.933114038774685020, -0.933096058579499730, -0.933078076051574110, -0.933060091190953460, +-0.933042103997682500, -0.933024114471806330, -0.933006122613369900, -0.932988128422418070, -0.932970131898996020, -0.932952133043148170, -0.932934131854920470, -0.932916128334357330, +-0.932898122481503940, -0.932880114296405160, -0.932862103779106170, -0.932844090929651590, -0.932826075748087180, -0.932808058234457450, -0.932790038388807590, -0.932772016211182660, +-0.932753991701627760, -0.932735964860187840, -0.932717935686907970, -0.932699904181833240, -0.932681870345008490, -0.932663834176479360, -0.932645795676290690, -0.932627754844487460, +-0.932609711681114840, -0.932591666186218030, -0.932573618359841650, -0.932555568202031560, -0.932537515712832610, -0.932519460892289760, -0.932501403740448320, -0.932483344257353460, +-0.932465282443050160, -0.932447218297583590, -0.932429151820999060, -0.932411083013341300, -0.932393011874656170, -0.932374938404988420, -0.932356862604383440, -0.932338784472886320, +-0.932320704010542120, -0.932302621217395930, -0.932284536093493490, -0.932266448638879750, -0.932248358853599800, -0.932230266737699040, -0.932212172291222550, -0.932194075514215630, +-0.932175976406723560, -0.932157874968791540, -0.932139771200464760, -0.932121665101788290, -0.932103556672807980, -0.932085445913568790, -0.932067332824116020, -0.932049217404494870, +-0.932031099654750390, -0.932012979574928460, -0.931994857165074020, -0.931976732425232490, -0.931958605355449170, -0.931940475955769340, -0.931922344226238210, -0.931904210166901280, +-0.931886073777803860, -0.931867935058991240, -0.931849794010508490, -0.931831650632401480, -0.931813504924715490, -0.931795356887495600, -0.931777206520787330, -0.931759053824636090, +-0.931740898799086950, -0.931722741444185760, -0.931704581759977830, -0.931686419746508340, -0.931668255403822920, -0.931650088731966750, -0.931631919730985470, -0.931613748400924370, +-0.931595574741828860, -0.931577398753744010, -0.931559220436716130, -0.931541039790790060, -0.931522856816011550, -0.931504671512425770, -0.931486483880078380, -0.931468293919014420, +-0.931450101629280100, -0.931431907010920490, -0.931413710063981100, -0.931395510788507460, -0.931377309184544980, -0.931359105252139270, -0.931340898991335870, -0.931322690402180190, +-0.931304479484717400, -0.931286266238993800, -0.931268050665054470, -0.931249832762945040, -0.931231612532711030, -0.931213389974397950, -0.931195165088051110, -0.931176937873716690, +-0.931158708331439990, -0.931140476461266410, -0.931122242263241700, -0.931104005737411370, -0.931085766883821050, -0.931067525702516270, -0.931049282193542660, -0.931031036356945950, +-0.931012788192771220, -0.930994537701064880, -0.930976284881872120, -0.930958029735238780, -0.930939772261210270, -0.930921512459832120, -0.930903250331150400, -0.930884985875210620, +-0.930866719092058310, -0.930848449981739210, -0.930830178544299060, -0.930811904779783370, -0.930793628688238010, -0.930775350269708590, -0.930757069524240640, -0.930738786451879800, +-0.930720501052672340, -0.930702213326663590, -0.930683923273899370, -0.930665630894425220, -0.930647336188287100, -0.930629039155530300, -0.930610739796201240, -0.930592438110345200, +-0.930574134098008270, -0.930555827759235840, -0.930537519094073890, -0.930519208102568160, -0.930500894784764390, -0.930482579140708420, -0.930464261170445670, -0.930445940874022550, +-0.930427618251484570, -0.930409293302877580, -0.930390966028247330, -0.930372636427639790, -0.930354304501100240, -0.930335970248675200, -0.930317633670410320, -0.930299294766351310, +-0.930280953536544050, -0.930262609981034380, -0.930244264099868270, -0.930225915893091450, -0.930207565360749890, -0.930189212502889110, -0.930170857319555510, -0.930152499810794840, +-0.930134139976652950, -0.930115777817175690, -0.930097413332408920, -0.930079046522398370, -0.930060677387190450, -0.930042305926830900, -0.930023932141365580, -0.930005556030840450, +-0.929987177595301360, -0.929968796834794390, -0.929950413749365380, -0.929932028339060410, -0.929913640603925340, -0.929895250544005790, -0.929876858159348510, -0.929858463449999010, +-0.929840066416003360, -0.929821667057407650, -0.929803265374257390, -0.929784861366599210, -0.929766455034478970, -0.929748046377942620, -0.929729635397036120, -0.929711222091805460, +-0.929692806462296790, -0.929674388508556100, -0.929655968230629460, -0.929637545628562930, -0.929619120702402160, -0.929600693452193870, -0.929582263877983930, -0.929563831979818290, +-0.929545397757743140, -0.929526961211804450, -0.929508522342048060, -0.929490081148520610, -0.929471637631267940, -0.929453191790336250, -0.929434743625771610, -0.929416293137620090, +-0.929397840325927760, -0.929379385190740930, -0.929360927732105660, -0.929342467950067590, -0.929324005844673780, -0.929305541415969990, -0.929287074664002290, -0.929268605588816850, +-0.929250134190459990, -0.929231660468977430, -0.929213184424416140, -0.929194706056821750, -0.929176225366240670, -0.929157742352718970, -0.929139257016302960, -0.929120769357038800, +-0.929102279374972690, -0.929083787070150930, -0.929065292442619370, -0.929046795492424860, -0.929028296219613470, -0.929009794624231280, -0.928991290706324580, -0.928972784465939670, +-0.928954275903122410, -0.928935765017919860, -0.928917251810377880, -0.928898736280542760, -0.928880218428460800, -0.928861698254178300, -0.928843175757741560, -0.928824650939196860, +-0.928806123798590620, -0.928787594335968910, -0.928769062551378030, -0.928750528444864720, -0.928731992016475160, -0.928713453266255650, -0.928694912194252490, -0.928676368800511630, +-0.928657823085080270, -0.928639275048004360, -0.928620724689330210, -0.928602172009104220, -0.928583617007372910, -0.928565059684182460, -0.928546500039579390, -0.928527938073610000, +-0.928509373786320920, -0.928490807177758000, -0.928472238247968320, -0.928453666996998160, -0.928435093424893720, -0.928416517531701620, -0.928397939317467950, -0.928379358782239650, +-0.928360775926063030, -0.928342190748984500, -0.928323603251050340, -0.928305013432307310, -0.928286421292801700, -0.928267826832580020, -0.928249230051688800, -0.928230630950174550, +-0.928212029528083350, -0.928193425785462380, -0.928174819722357940, -0.928156211338816320, -0.928137600634884260, -0.928118987610608180, -0.928100372266034260, -0.928081754601209790, +-0.928063134616180950, -0.928044512310994160, -0.928025887685696160, -0.928007260740333460, -0.927988631474952700, -0.927969999889600160, -0.927951365984322820, -0.927932729759166630, +-0.927914091214178890, -0.927895450349406010, -0.927876807164894510, -0.927858161660690910, -0.927839513836841930, -0.927820863693393890, -0.927802211230394080, -0.927783556447888570, +-0.927764899345924320, -0.927746239924547740, -0.927727578183805580, -0.927708914123744450, -0.927690247744411110, -0.927671579045852070, -0.927652908028114180, -0.927634234691243620, +-0.927615559035287810, -0.927596881060293030, -0.927578200766306150, -0.927559518153373790, -0.927540833221542240, -0.927522145970858910, -0.927503456401370220, -0.927484764513123010, +-0.927466070306163790, -0.927447373780539430, -0.927428674936296550, -0.927409973773482110, -0.927391270292142630, -0.927372564492325080, -0.927353856374075750, -0.927335145937442040, +-0.927316433182470480, -0.927297718109207910, -0.927279000717700970, -0.927260281007996290, -0.927241558980141160, -0.927222834634182200, -0.927204107970166060, -0.927185378988139690, +-0.927166647688149940, -0.927147914070243550, -0.927129178134467270, -0.927110439880868160, -0.927091699309492870, -0.927072956420388120, -0.927054211213601210, -0.927035463689178770, +-0.927016713847167660, -0.926997961687614840, -0.926979207210567040, -0.926960450416070890, -0.926941691304174030, -0.926922929874922860, -0.926904166128364460, -0.926885400064545560, +-0.926866631683513240, -0.926847860985314240, -0.926829087969995640, -0.926810312637604270, -0.926791534988186890, -0.926772755021790910, -0.926753972738463050, -0.926735188138250400, +-0.926716401221199580, -0.926697611987357890, -0.926678820436771740, -0.926660026569488980, -0.926641230385556120, -0.926622431885020140, -0.926603631067928090, -0.926584827934326950, +-0.926566022484263780, -0.926547214717785560, -0.926528404634939350, -0.926509592235771670, -0.926490777520330380, -0.926471960488662210, -0.926453141140814120, -0.926434319476833190, +-0.926415495496766380, -0.926396669200660550, -0.926377840588563430, -0.926359009660521650, -0.926340176416582390, -0.926321340856792630, -0.926302502981199540, -0.926283662789850190, +-0.926264820282791670, -0.926245975460071150, -0.926227128321735590, -0.926208278867831970, -0.926189427098408010, -0.926170573013510470, -0.926151716613186400, -0.926132857897483120, +-0.926113996866447350, -0.926095133520126960, -0.926076267858568670, -0.926057399881819790, -0.926038529589927270, -0.926019656982938530, -0.926000782060900640, -0.925981904823860780, +-0.925963025271866140, -0.925944143404964000, -0.925925259223201120, -0.925906372726625460, -0.925887483915283860, -0.925868592789223510, -0.925849699348491710, -0.925830803593135630, +-0.925811905523202250, -0.925793005138739410, -0.925774102439794080, -0.925755197426413550, -0.925736290098645000, -0.925717380456535620, -0.925698468500132820, -0.925679554229483890, +-0.925660637644636130, -0.925641718745636390, -0.925622797532532630, -0.925603874005371920, -0.925584948164201560, -0.925566020009068850, -0.925547089540021070, -0.925528156757105200, +-0.925509221660369310, -0.925490284249860240, -0.925471344525625630, -0.925452402487712540, -0.925433458136168510, -0.925414511471040810, -0.925395562492376870, -0.925376611200223960, +-0.925357657594629180, -0.925338701675640700, -0.925319743443305360, -0.925300782897670700, -0.925281820038784120, -0.925262854866692910, -0.925243887381444250, -0.925224917583086230, +-0.925205945471666010, -0.925186971047230800, -0.925167994309828210, -0.925149015259505550, -0.925130033896310430, -0.925111050220290280, -0.925092064231492370, -0.925073075929964350, +-0.925054085315753390, -0.925035092388907470, -0.925016097149473860, -0.924997099597499980, -0.924978099733033350, -0.924959097556121160, -0.924940093066811580, -0.924921086265151680, +-0.924902077151189110, -0.924883065724971360, -0.924864051986545980, -0.924845035935960460, -0.924826017573262330, -0.924806996898499100, -0.924787973911718410, -0.924768948612967550, +-0.924749921002294470, -0.924730891079746710, -0.924711858845371770, -0.924692824299217060, -0.924673787441330330, -0.924654748271758860, -0.924635706790550850, -0.924616662997753470, +-0.924597616893414460, -0.924578568477581460, -0.924559517750302100, -0.924540464711623880, -0.924521409361594440, -0.924502351700261520, -0.924483291727672410, -0.924464229443875410, +-0.924445164848917810, -0.924426097942847250, -0.924407028725711570, -0.924387957197558170, -0.924368883358434700, -0.924349807208389220, -0.924330728747469240, -0.924311647975722520, +-0.924292564893196670, -0.924273479499939320, -0.924254391795998330, -0.924235301781421440, -0.924216209456256150, -0.924197114820550110, -0.924178017874351500, -0.924158918617707940, +-0.924139817050667060, -0.924120713173276710, -0.924101606985584520, -0.924082498487637900, -0.924063387679485480, -0.924044274561174550, -0.924025159132752960, -0.924006041394268450, +-0.923986921345768760, -0.923967798987301860, -0.923948674318915470, -0.923929547340657350, -0.923910418052575340, -0.923891286454717080, -0.923872152547130840, -0.923853016329864160, +-0.923833877802965000, -0.923814736966481200, -0.923795593820460170, -0.923776448364950430, -0.923757300599999720, -0.923738150525655670, -0.923718998141966230, -0.923699843448979370, +-0.923680686446742840, -0.923661527135304580, -0.923642365514712460, -0.923623201585014540, -0.923604035346258230, -0.923584866798492170, -0.923565695941763960, -0.923546522776121480, +-0.923527347301612680, -0.923508169518285630, -0.923488989426187620, -0.923469807025367630, -0.923450622315873050, -0.923431435297751960, -0.923412245971052310, -0.923393054335821970, +-0.923373860392109000, -0.923354664139961480, -0.923335465579427140, -0.923316264710553950, -0.923297061533390310, -0.923277856047984070, -0.923258648254383200, -0.923239438152635760, +-0.923220225742789610, -0.923201011024892600, -0.923181793998993470, -0.923162574665139850, -0.923143353023379690, -0.923124129073761180, -0.923104902816332400, -0.923085674251141410, +-0.923066443378236070, -0.923047210197664780, -0.923027974709475060, -0.923008736913715770, -0.922989496810434520, -0.922970254399679720, -0.922951009681499120, -0.922931762655941120, +-0.922912513323053240, -0.922893261682884550, -0.922874007735482670, -0.922854751480895690, -0.922835492919171880, -0.922816232050359340, -0.922796968874506240, -0.922777703391660760, +-0.922758435601870990, -0.922739165505185090, -0.922719893101650920, -0.922700618391317450, -0.922681341374232300, -0.922662062050443880, -0.922642780420000360, -0.922623496482949500, +-0.922604210239340250, -0.922584921689220460, -0.922565630832638320, -0.922546337669642110, -0.922527042200280150, -0.922507744424600480, -0.922488444342651540, -0.922469141954481490, +-0.922449837260138520, -0.922430530259670590, -0.922411220953126780, -0.922391909340554820, -0.922372595422003120, -0.922353279197519970, -0.922333960667153560, -0.922314639830951970, +-0.922295316688964140, -0.922275991241237940, -0.922256663487821760, -0.922237333428764020, -0.922218001064112890, -0.922198666393916680, -0.922179329418223890, -0.922159990137082830, +-0.922140648550541340, -0.922121304658648610, -0.922101958461452600, -0.922082609959001710, -0.922063259151344350, -0.922043906038528820, -0.922024550620603180, -0.922005192897616510, +-0.921985832869616770, -0.921966470536652480, -0.921947105898772050, -0.921927738956023870, -0.921908369708456350, -0.921888998156117910, -0.921869624299056940, -0.921850248137321530, +-0.921830869670960950, -0.921811488900023070, -0.921792105824556620, -0.921772720444609780, -0.921753332760231190, -0.921733942771468920, -0.921714550478372140, -0.921695155880988940, +-0.921675758979367930, -0.921656359773557420, -0.921636958263606140, -0.921617554449562390, -0.921598148331474690, -0.921578739909391760, -0.921559329183361920, -0.921539916153433340, +-0.921520500819655420, -0.921501083182076130, -0.921481663240744210, -0.921462240995708170, -0.921442816447016200, -0.921423389594717480, -0.921403960438860190, -0.921384528979493190, +-0.921365095216664760, -0.921345659150423550, -0.921326220780818270, -0.921306780107897460, -0.921287337131709630, -0.921267891852303510, -0.921248444269727180, -0.921228994384030280, +-0.921209542195260740, -0.921190087703467440, -0.921170630908698880, -0.921151171811003810, -0.921131710410430400, -0.921112246707028070, -0.921092780700845100, -0.921073312391930240, +-0.921053841780332010, -0.921034368866099240, -0.921014893649280570, -0.920995416129924640, -0.920975936308080170, -0.920956454183795570, -0.920936969757120030, -0.920917483028102170, +-0.920897993996790620, -0.920878502663234010, -0.920859009027481190, -0.920839513089580560, -0.920820014849581430, -0.920800514307532290, -0.920781011463481790, -0.920761506317478880, +-0.920741998869572090, -0.920722489119810360, -0.920702977068242450, -0.920683462714916970, -0.920663946059882670, -0.920644427103188720, -0.920624905844883660, -0.920605382285016430, +-0.920585856423635770, -0.920566328260790430, -0.920546797796528820, -0.920527265030900650, -0.920507729963954360, -0.920488192595738770, -0.920468652926302640, -0.920449110955694820, +-0.920429566683964250, -0.920410020111159800, -0.920390471237330310, -0.920370920062524630, -0.920351366586791290, -0.920331810810179900, -0.920312252732738980, -0.920292692354517490, +-0.920273129675564180, -0.920253564695927670, -0.920233997415657700, -0.920214427834802670, -0.920194855953411550, -0.920175281771533400, -0.920155705289216860, -0.920136126506511220, +-0.920116545423465220, -0.920096962040127810, -0.920077376356548070, -0.920057788372774520, -0.920038198088856780, -0.920018605504843600, -0.919999010620783930, -0.919979413436726730, +-0.919959813952720970, -0.919940212168815390, -0.919920608085059490, -0.919901001701502240, -0.919881393018192380, -0.919861782035178990, -0.919842168752511240, -0.919822553170238090, +-0.919802935288408510, -0.919783315107071560, -0.919763692626276000, -0.919744067846071540, -0.919724440766506950, -0.919704811387631270, -0.919685179709493590, -0.919665545732142880, +-0.919645909455627960, -0.919626270879998600, -0.919606630005303630, -0.919586986831592120, -0.919567341358913050, -0.919547693587315700, -0.919528043516849030, -0.919508391147562330, +-0.919488736479504580, -0.919469079512724720, -0.919449420247272390, -0.919429758683196650, -0.919410094820546480, -0.919390428659371040, -0.919370760199719530, -0.919351089441640790, +-0.919331416385184560, -0.919311741030399920, -0.919292063377335930, -0.919272383426041780, -0.919252701176566660, -0.919233016628959730, -0.919213329783270310, -0.919193640639547560, +-0.919173949197840680, -0.919154255458198620, -0.919134559420671240, -0.919114861085307490, -0.919095160452156560, -0.919075457521267740, -0.919055752292689990, -0.919036044766473160, +-0.919016334942666100, -0.918996622821318330, -0.918976908402479030, -0.918957191686197380, -0.918937472672522790, -0.918917751361504550, -0.918898027753191850, -0.918878301847634190, +-0.918858573644880330, -0.918838843144980430, -0.918819110347983470, -0.918799375253938620, -0.918779637862895400, -0.918759898174903110, -0.918740156190010590, -0.918720411908268140, +-0.918700665329724720, -0.918680916454429510, -0.918661165282432140, -0.918641411813781780, -0.918621656048527860, -0.918601897986719870, -0.918582137628407120, -0.918562374973638570, +-0.918542610022464620, -0.918522842774934010, -0.918503073231096370, -0.918483301391000980, -0.918463527254697380, -0.918443750822234620, -0.918423972093662780, -0.918404191069031040, +-0.918384407748388810, -0.918364622131785600, -0.918344834219270820, -0.918325044010893880, -0.918305251506704390, -0.918285456706751770, -0.918265659611085190, -0.918245860219754850, +-0.918226058532809700, -0.918206254550299580, -0.918186448272273690, -0.918166639698781760, -0.918146828829872860, -0.918127015665597180, -0.918107200206004110, -0.918087382451142850, +-0.918067562401063240, -0.918047740055814800, -0.918027915415446930, -0.918008088480009250, -0.917988259249551300, -0.917968427724122790, -0.917948593903772810, -0.917928757788551760, +-0.917908919378508830, -0.917889078673693510, -0.917869235674155570, -0.917849390379944170, -0.917829542791109620, -0.917809692907701200, -0.917789840729768550, -0.917769986257361390, +-0.917750129490529140, -0.917730270429321650, -0.917710409073788420, -0.917690545423979210, -0.917670679479943740, -0.917650811241731090, -0.917630940709391770, -0.917611067882975080, +-0.917591192762530760, -0.917571315348108430, -0.917551435639757940, -0.917531553637528360, -0.917511669341470330, -0.917491782751633010, -0.917471893868066380, -0.917452002690819950, +-0.917432109219943560, -0.917412213455486850, -0.917392315397499550, -0.917372415046031510, -0.917352512401132140, -0.917332607462851830, -0.917312700231239900, -0.917292790706346280, +-0.917272878888220730, -0.917252964776912980, -0.917233048372472440, -0.917213129674949610, -0.917193208684393910, -0.917173285400855300, -0.917153359824383400, -0.917133431955028170, +-0.917113501792839240, -0.917093569337866680, -0.917073634590160110, -0.917053697549769180, -0.917033758216744270, -0.917013816591135010, -0.916993872672991260, -0.916973926462362750, +-0.916953977959299450, -0.916934027163850860, -0.916914074076067620, -0.916894118695999130, -0.916874161023695340, -0.916854201059206120, -0.916834238802581410, -0.916814274253871190, +-0.916794307413125180, -0.916774338280393450, -0.916754366855725870, -0.916734393139172040, -0.916714417130782500, -0.916694438830606970, -0.916674458238695310, -0.916654475355097590, +-0.916634490179863310, -0.916614502713043120, -0.916594512954686640, -0.916574520904843930, -0.916554526563564950, -0.916534529930899570, -0.916514531006897950, -0.916494529791609950, +-0.916474526285085630, -0.916454520487374970, -0.916434512398527690, -0.916414502018594530, -0.916394489347625020, -0.916374474385669320, -0.916354457132777520, -0.916334437588999130, +-0.916314415754384990, -0.916294391628984850, -0.916274365212848770, -0.916254336506026720, -0.916234305508568880, -0.916214272220525210, -0.916194236641945880, -0.916174198772880980, +-0.916154158613380560, -0.916134116163494380, -0.916114071423273280, -0.916094024392766990, -0.916073975072025700, -0.916053923461099480, -0.916033869560038290, -0.916013813368892200, +-0.915993754887711950, -0.915973694116547280, -0.915953631055448360, -0.915933565704465380, -0.915913498063648520, -0.915893428133047860, -0.915873355912713680, -0.915853281402696060, +-0.915833204603044850, -0.915813125513811110, -0.915793044135044480, -0.915772960466795240, -0.915752874509113580, -0.915732786262049680, -0.915712695725653610, -0.915692602899976120, +-0.915672507785067040, -0.915652410380976670, -0.915632310687755410, -0.915612208705453230, -0.915592104434120650, -0.915571997873807720, -0.915551889024564860, -0.915531777886441910, +-0.915511664459489840, -0.915491548743758710, -0.915471430739298600, -0.915451310446159900, -0.915431187864393040, -0.915411062994047730, -0.915390935835175170, -0.915370806387825310, +-0.915350674652048340, -0.915330540627894760, -0.915310404315414770, -0.915290265714658880, -0.915270124825677270, -0.915249981648520340, -0.915229836183238390, -0.915209688429881600, +-0.915189538388500810, -0.915169386059146330, -0.915149231441868330, -0.915129074536717210, -0.915108915343743060, -0.915088753862997040, -0.915068590094529120, -0.915048424038389600, +-0.915028255694629200, -0.915008085063298000, -0.914987912144446750, -0.914967736938125610, -0.914947559444385110, -0.914927379663275750, -0.914907197594847620, -0.914887013239151890, +-0.914866826596238520, -0.914846637666158150, -0.914826446448961160, -0.914806252944698080, -0.914786057153418990, -0.914765859075175050, -0.914745658710016560, -0.914725456057993820, +-0.914705251119157570, -0.914685043893558090, -0.914664834381246130, -0.914644622582271970, -0.914624408496686250, -0.914604192124539140, -0.914583973465882050, -0.914563752520764830, +-0.914543529289238430, -0.914523303771353050, -0.914503075967159520, -0.914482845876707810, -0.914462613500049430, -0.914442378837234560, -0.914422141888313610, -0.914401902653337430, +-0.914381661132356420, -0.914361417325421310, -0.914341171232582630, -0.914320922853891100, -0.914300672189396810, -0.914280419239151150, -0.914260164003204530, -0.914239906481607580, +-0.914219646674410690, -0.914199384581664830, -0.914179120203420070, -0.914158853539727810, -0.914138584590638570, -0.914118313356202750, -0.914098039836471200, -0.914077764031494540, +-0.914057485941323410, -0.914037205566008650, -0.914016922905600880, -0.913996637960150740, -0.913976350729708730, -0.913956061214326150, -0.913935769414053410, -0.913915475328941240, +-0.913895178959040380, -0.913874880304401230, -0.913854579365075190, -0.913834276141112790, -0.913813970632564640, -0.913793662839481600, -0.913773352761914400, -0.913753040399913790, +-0.913732725753530590, -0.913712408822815680, -0.913692089607819560, -0.913671768108592960, -0.913651444325187300, -0.913631118257653090, -0.913610789906040940, -0.913590459270401940, +-0.913570126350786720, -0.913549791147245880, -0.913529453659830850, -0.913509113888592240, -0.913488771833580790, -0.913468427494847470, -0.913448080872443110, -0.913427731966418470, +-0.913407380776824480, -0.913387027303712130, -0.913366671547131800, -0.913346313507135240, -0.913325953183772740, -0.913305590577095480, -0.913285225687154200, -0.913264858513999860, +-0.913244489057682960, -0.913224117318255260, -0.913203743295767260, -0.913183366990269920, -0.913162988401814200, -0.913142607530450960, -0.913122224376231140, -0.913101838939205820, +-0.913081451219425850, -0.913061061216941970, -0.913040668931805800, -0.913020274364067850, -0.912999877513779310, -0.912979478380991140, -0.912959076965754180, -0.912938673268119170, +-0.912918267288137850, -0.912897859025860850, -0.912877448481339230, -0.912857035654623950, -0.912836620545766090, -0.912816203154816710, -0.912795783481826770, -0.912775361526847460, +-0.912754937289929620, -0.912734510771124220, -0.912714081970482760, -0.912693650888056210, -0.912673217523895520, -0.912652781878051770, -0.912632343950575690, -0.912611903741519130, +-0.912591461250932710, -0.912571016478867740, -0.912550569425375270, -0.912530120090506270, -0.912509668474312030, -0.912489214576843620, -0.912468758398152110, -0.912448299938288800, +-0.912427839197304300, -0.912407376175250700, -0.912386910872178490, -0.912366443288139100, -0.912345973423183580, -0.912325501277363120, -0.912305026850728560, -0.912284550143331760, +-0.912264071155223570, -0.912243589886455260, -0.912223106337078040, -0.912202620507142960, -0.912182132396701320, -0.912161642005804410, -0.912141149334503300, -0.912120654382849060, +-0.912100157150893430, -0.912079657638687480, -0.912059155846282390, -0.912038651773729450, -0.912018145421079840, -0.911997636788384410, -0.911977125875695350, -0.911956612683063490, +-0.911936097210540030, -0.911915579458176470, -0.911895059426023780, -0.911874537114133580, -0.911854012522556930, -0.911833485651345370, -0.911812956500549610, -0.911792425070221960, +-0.911771891360413140, -0.911751355371174580, -0.911730817102557660, -0.911710276554613670, -0.911689733727393700, -0.911669188620949700, -0.911648641235332850, -0.911628091570594210, +-0.911607539626785420, -0.911586985403957770, -0.911566428902162770, -0.911545870121451610, -0.911525309061875790, -0.911504745723486610, -0.911484180106335250, -0.911463612210473890, +-0.911443042035953390, -0.911422469582825360, -0.911401894851141090, -0.911381317840951780, -0.911360738552309590, -0.911340156985265380, -0.911319573139870890, -0.911298987016177510, +-0.911278398614236540, -0.911257807934099720, -0.911237214975818330, -0.911216619739443790, -0.911196022225027820, -0.911175422432621400, -0.911154820362276800, -0.911134216014045210, +-0.911113609387977920, -0.911093000484126670, -0.911072389302542970, -0.911051775843277900, -0.911031160106383740, -0.911010542091911790, -0.910989921799913340, -0.910969299230440120, +-0.910948674383543770, -0.910928047259275560, -0.910907417857687360, -0.910886786178830570, -0.910866152222756460, -0.910845515989517350, -0.910824877479164410, -0.910804236691749260, +-0.910783593627323530, -0.910762948285938840, -0.910742300667646390, -0.910721650772498670, -0.910700998600546650, -0.910680344151842290, -0.910659687426436990, -0.910639028424382380, +-0.910618367145730300, -0.910597703590532380, -0.910577037758840020, -0.910556369650704860, -0.910535699266179050, -0.910515026605314030, -0.910494351668161510, -0.910473674454773010, +-0.910452994965200380, -0.910432313199494800, -0.910411629157708900, -0.910390942839893860, -0.910370254246101520, -0.910349563376383510, -0.910328870230791680, -0.910308174809377530, +-0.910287477112193040, -0.910266777139289830, -0.910246074890719740, -0.910225370366534060, -0.910204663566785310, -0.910183954491524890, -0.910163243140804550, -0.910142529514676110, +-0.910121813613191000, -0.910101095436401720, -0.910080374984359790, -0.910059652257116820, -0.910038927254724790, -0.910018199977235430, -0.909997470424700470, -0.909976738597171870, +-0.909956004494701490, -0.909935268117341050, -0.909914529465142170, -0.909893788538157170, -0.909873045336437870, -0.909852299860035800, -0.909831552109003130, -0.909810802083391490, +-0.909790049783252510, -0.909769295208638700, -0.909748538359601680, -0.909727779236193410, -0.909707017838465640, -0.909686254166470310, -0.909665488220259280, -0.909644719999884610, +-0.909623949505398150, -0.909603176736851430, -0.909582401694297160, -0.909561624377786760, -0.909540844787372400, -0.909520062923105940, -0.909499278785039330, -0.909478492373224200, +-0.909457703687713060, -0.909436912728557760, -0.909416119495810140, -0.909395323989522280, -0.909374526209746130, -0.909353726156533540, -0.909332923829936690, -0.909312119230007540, +-0.909291312356797720, -0.909270503210360070, -0.909249691790746110, -0.909228878098007900, -0.909208062132197400, -0.909187243893366910, -0.909166423381567830, -0.909145600596853120, +-0.909124775539274400, -0.909103948208883740, -0.909083118605733210, -0.909062286729874880, -0.909041452581360820, -0.909020616160243100, -0.908999777466573900, -0.908978936500405290, +-0.908958093261788890, -0.908937247750777670, -0.908916399967423350, -0.908895549911777900, -0.908874697583893720, -0.908853842983822440, -0.908832986111616780, -0.908812126967328720, +-0.908791265551010420, -0.908770401862713850, -0.908749535902491300, -0.908728667670394950, -0.908707797166476980, -0.908686924390789460, -0.908666049343384570, -0.908645172024314270, +-0.908624292433631300, -0.908603410571387720, -0.908582526437635600, -0.908561640032427120, -0.908540751355814580, -0.908519860407849710, -0.908498967188585690, -0.908478071698074150, +-0.908457173936367490, -0.908436273903517890, -0.908415371599577530, -0.908394467024598810, -0.908373560178633910, -0.908352651061735130, -0.908331739673954310, -0.908310826015344520, +-0.908289910085957720, -0.908268991885846090, -0.908248071415061920, -0.908227148673657720, -0.908206223661685130, -0.908185296379197430, -0.908164366826246460, -0.908143435002884640, +-0.908122500909164240, -0.908101564545137460, -0.908080625910856920, -0.908059685006374680, -0.908038741831743380, -0.908017796387014740, -0.907996848672241950, -0.907975898687477190, +-0.907954946432772530, -0.907933991908180580, -0.907913035113753650, -0.907892076049543690, -0.907871114715604000, -0.907850151111986530, -0.907829185238743560, -0.907808217095927740, +-0.907787246683591340, -0.907766274001786890, -0.907745299050566670, -0.907724321829983190, -0.907703342340088980, -0.907682360580935990, -0.907661376552577500, -0.907640390255065600, +-0.907619401688452680, -0.907598410852791250, -0.907577417748133390, -0.907556422374532490, -0.907535424732040410, -0.907514424820709760, -0.907493422640593180, -0.907472418191742960, +-0.907451411474211600, -0.907430402488051850, -0.907409391233316100, -0.907388377710056760, -0.907367361918326120, -0.907346343858177580, -0.907325323529663110, -0.907304300932835210, +-0.907283276067746720, -0.907262248934449960, -0.907241219532997300, -0.907220187863441830, -0.907199153925835940, -0.907178117720232160, -0.907157079246683210, -0.907136038505241380, +-0.907114995495959530, -0.907093950218890170, -0.907072902674086020, -0.907051852861599170, -0.907030800781483020, -0.907009746433789950, -0.906988689818572500, -0.906967630935883280, +-0.906946569785775040, -0.906925506368299940, -0.906904440683511500, -0.906883372731461910, -0.906862302512204010, -0.906841230025790200, -0.906820155272273440, -0.906799078251706250, +-0.906777998964141350, -0.906756917409631380, -0.906735833588228850, -0.906714747499987040, -0.906693659144958470, -0.906672568523195670, -0.906651475634751460, -0.906630380479678480, +-0.906609283058029240, -0.906588183369857250, -0.906567081415214690, -0.906545977194154530, -0.906524870706729380, -0.906503761952991980, -0.906482650932995290, -0.906461537646791830, +-0.906440422094434650, -0.906419304275976390, -0.906398184191469450, -0.906377061840967560, -0.906355937224522900, -0.906334810342188430, -0.906313681194016900, -0.906292549780060800, +-0.906271416100373650, -0.906250280155008080, -0.906229141944016710, -0.906208001467452510, -0.906186858725368420, -0.906165713717817070, -0.906144566444851420, -0.906123416906524430, +-0.906102265102888830, -0.906081111033997240, -0.906059954699903190, -0.906038796100659290, -0.906017635236318400, -0.905996472106933460, -0.905975306712557330, -0.905954139053242510, +-0.905932969129042750, -0.905911796940010560, -0.905890622486198890, -0.905869445767660600, -0.905848266784448740, -0.905827085536616280, -0.905805902024216070, -0.905784716247301060, +-0.905763528205923870, -0.905742337900138250, -0.905721145329996810, -0.905699950495552520, -0.905678753396858330, -0.905657554033967300, -0.905636352406931970, -0.905615148515806160, +-0.905593942360642390, -0.905572733941493850, -0.905551523258413480, -0.905530310311454260, -0.905509095100669350, -0.905487877626111600, -0.905466657887834200, -0.905445435885889770, +-0.905424211620332150, -0.905402985091213970, -0.905381756298588410, -0.905360525242508320, -0.905339291923027090, -0.905318056340197130, -0.905296818494072400, -0.905275578384705630, +-0.905254336012150000, -0.905233091376458470, -0.905211844477684210, -0.905190595315880310, -0.905169343891099930, -0.905148090203396260, -0.905126834252822250, -0.905105576039430870, +-0.905084315563275950, -0.905063052824410130, -0.905041787822886800, -0.905020520558758920, -0.904999251032079450, -0.904977979242902130, -0.904956705191279910, -0.904935428877265860, +-0.904914150300913380, -0.904892869462275430, -0.904871586361405300, -0.904850300998356170, -0.904829013373181330, -0.904807723485933970, -0.904786431336666920, -0.904765136925434250, +-0.904743840252288600, -0.904722541317283470, -0.904701240120471930, -0.904679936661906830, -0.904658630941642340, -0.904637322959731320, -0.904616012716226940, -0.904594700211182600, +-0.904573385444651380, -0.904552068416686780, -0.904530749127341990, -0.904509427576670300, -0.904488103764725100, -0.904466777691559250, -0.904445449357226820, -0.904424118761780750, +-0.904402785905274450, -0.904381450787761110, -0.904360113409294230, -0.904338773769926550, -0.904317431869712470, -0.904296087708704730, -0.904274741286956730, -0.904253392604521980, +-0.904232041661453660, -0.904210688457805280, -0.904189332993630130, -0.904167975268981740, -0.904146615283912940, -0.904125253038478020, -0.904103888532729940, -0.904082521766722210, +-0.904061152740508130, -0.904039781454141210, -0.904018407907674400, -0.903997032101162000, -0.903975654034656960, -0.903954273708212800, -0.903932891121883020, -0.903911506275720920, +-0.903890119169780130, -0.903868729804114030, -0.903847338178776050, -0.903825944293819790, -0.903804548149298230, -0.903783149745265750, -0.903761749081775310, -0.903740346158880550, +-0.903718940976634970, -0.903697533535091630, -0.903676123834304730, -0.903654711874327670, -0.903633297655213720, -0.903611881177016630, -0.903590462439789800, -0.903569041443586740, +-0.903547618188461190, -0.903526192674466540, -0.903504764901656430, -0.903483334870083920, -0.903461902579803520, -0.903440468030868420, -0.903419031223332110, -0.903397592157248240, +-0.903376150832669980, -0.903354707249651720, -0.903333261408246770, -0.903311813308508630, -0.903290362950490920, -0.903268910334247280, -0.903247455459831430, -0.903225998327296890, +-0.903204538936697390, -0.903183077288086560, -0.903161613381517570, -0.903140147217045050, -0.903118678794722070, -0.903097208114602480, -0.903075735176739780, -0.903054259981187820, +-0.903032782527999680, -0.903011302817230080, -0.902989820848932200, -0.902968336623159900, -0.902946850139966560, -0.902925361399406160, -0.902903870401532420, -0.902882377146398960, +-0.902860881634059530, -0.902839383864567520, -0.902817883837977450, -0.902796381554342720, -0.902774877013716950, -0.902753370216154090, -0.902731861161707670, -0.902710349850431300, +-0.902688836282379500, -0.902667320457605560, -0.902645802376163210, -0.902624282038106520, -0.902602759443489000, -0.902581234592364610, -0.902559707484787200, -0.902538178120810500, +-0.902516646500487910, -0.902495112623874050, -0.902473576491022560, -0.902452038101987040, -0.902430497456821470, -0.902408954555579570, -0.902387409398314970, -0.902365861985082170, +-0.902344312315934820, -0.902322760390926630, -0.902301206210111560, -0.902279649773543470, -0.902258091081276190, -0.902236530133363690, -0.902214966929859920, -0.902193401470818720, +-0.902171833756293620, -0.902150263786339330, -0.902128691561009390, -0.902107117080357730, -0.902085540344438330, -0.902063961353304580, -0.902042380107011430, -0.902020796605612190, +-0.901999210849161010, -0.901977622837711880, -0.901956032571318620, -0.901934440050035310, -0.901912845273915910, -0.901891248243014370, -0.901869648957384640, -0.901848047417080580, +-0.901826443622156580, -0.901804837572666610, -0.901783229268664500, -0.901761618710204330, -0.901740005897340160, -0.901718390830125500, -0.901696773508615320, -0.901675153932863130, +-0.901653532102923090, -0.901631908018849290, -0.901610281680695680, -0.901588653088516320, -0.901567022242365400, -0.901545389142296870, -0.901523753788364470, -0.901502116180623150, +-0.901480476319126420, -0.901458834203928580, -0.901437189835083700, -0.901415543212645720, -0.901393894336668610, -0.901372243207207100, -0.901350589824314930, -0.901328934188046380, +-0.901307276298455420, -0.901285616155596330, -0.901263953759523170, -0.901242289110290140, -0.901220622207951410, -0.901198953052560700, -0.901177281644172990, -0.901155607982842110, +-0.901133932068622250, -0.901112253901567460, -0.901090573481732050, -0.901068890809169850, -0.901047205883935830, -0.901025518706083720, -0.901003829275667910, -0.900982137592742480, +-0.900960443657361720, -0.900938747469579800, -0.900917049029451130, -0.900895348337029780, -0.900873645392370030, -0.900851940195525720, -0.900830232746552050, -0.900808523045502740, +-0.900786811092432190, -0.900765096887394590, -0.900743380430443770, -0.900721661721635040, -0.900699940761022110, -0.900678217548659290, -0.900656492084600860, -0.900634764368901330, +-0.900613034401614780, -0.900591302182795710, -0.900569567712498410, -0.900547830990777070, -0.900526092017685850, -0.900504350793279840, -0.900482607317612870, -0.900460861590739460, +-0.900439113612713780, -0.900417363383590460, -0.900395610903423240, -0.900373856172267390, -0.900352099190176890, -0.900330339957206240, -0.900308578473409620, -0.900286814738841650, +-0.900265048753556620, -0.900243280517608930, -0.900221510031053000, -0.900199737293942980, -0.900177962306334070, -0.900156185068280100, -0.900134405579835820, -0.900112623841055390, +-0.900090839851993450, -0.900069053612704060, -0.900047265123242400, -0.900025474383662540, -0.900003681394019090, -0.899981886154366360, -0.899960088664758960, -0.899938288925251300, +-0.899916486935897870, -0.899894682696753320, -0.899872876207871600, -0.899851067469308210, -0.899829256481117000, -0.899807443243352710, -0.899785627756069850, -0.899763810019322820, +-0.899741990033166020, -0.899720167797654510, -0.899698343312842600, -0.899676516578784890, -0.899654687595535800, -0.899632856363150050, -0.899611022881682150, -0.899589187151186740, +-0.899567349171718320, -0.899545508943331520, -0.899523666466080620, -0.899501821740020800, -0.899479974765206580, -0.899458125541692350, -0.899436274069532750, -0.899414420348782160, +-0.899392564379495880, -0.899370706161728210, -0.899348845695533860, -0.899326982980967250, -0.899305118018083220, -0.899283250806936390, -0.899261381347581490, -0.899239509640073150, +-0.899217635684465890, -0.899195759480814320, -0.899173881029173620, -0.899152000329598300, -0.899130117382142990, -0.899108232186862310, -0.899086344743811110, -0.899064455053043550, +-0.899042563114615390, -0.899020668928580790, -0.898998772494994490, -0.898976873813911230, -0.898954972885385840, -0.898933069709472950, -0.898911164286227420, -0.898889256615703960, +-0.898867346697957090, -0.898845434533042110, -0.898823520121013520, -0.898801603461926280, -0.898779684555834900, -0.898757763402794340, -0.898735840002859000, -0.898713914356084500, +-0.898691986462525130, -0.898670056322235840, -0.898648123935271380, -0.898626189301686700, -0.898604252421536410, -0.898582313294875590, -0.898560371921758970, -0.898538428302240950, +-0.898516482436377270, -0.898494534324222440, -0.898472583965831300, -0.898450631361258690, -0.898428676510559470, -0.898406719413788140, -0.898384760071000430, -0.898362798482250870, +-0.898340834647594180, -0.898318868567085540, -0.898296900240779680, -0.898274929668731570, -0.898252956850996150, -0.898230981787628280, -0.898209004478683020, -0.898187024924214870, +-0.898165043124279470, -0.898143059078931550, -0.898121072788225950, -0.898099084252217630, -0.898077093470961320, -0.898055100444512530, -0.898033105172926120, -0.898011107656256800, +-0.897989107894559770, -0.897967105887890080, -0.897945101636302480, -0.897923095139852250, -0.897901086398594120, -0.897879075412583380, -0.897857062181874550, -0.897835046706523480, +-0.897813028986584770, -0.897791009022113510, -0.897768986813164640, -0.897746962359793450, -0.897724935662054360, -0.897702906720003300, -0.897680875533695020, -0.897658842103184580, +-0.897636806428526950, -0.897614768509777390, -0.897592728346990890, -0.897570685940222600, -0.897548641289527490, -0.897526594394960520, -0.897504545256577300, -0.897482493874432800, +-0.897460440248582070, -0.897438384379080300, -0.897416326265982440, -0.897394265909343460, -0.897372203309219190, -0.897350138465664470, -0.897328071378734270, -0.897306002048483990, +-0.897283930474968680, -0.897261856658243540, -0.897239780598363850, -0.897217702295384560, -0.897195621749360740, -0.897173538960348130, -0.897151453928401790, -0.897129366653576790, +-0.897107277135928300, -0.897085185375511740, -0.897063091372381720, -0.897040995126594410, -0.897018896638204670, -0.896996795907267550, -0.896974692933838580, -0.896952587717972820, +-0.896930480259725550, -0.896908370559152070, -0.896886258616307770, -0.896864144431247730, -0.896842028004027010, -0.896819909334701570, -0.896797788423326360, -0.896775665269956670, +-0.896753539874647790, -0.896731412237454670, -0.896709282358433500, -0.896687150237639120, -0.896665015875126810, -0.896642879270951880, -0.896620740425169930, -0.896598599337836030, +-0.896576456009005600, -0.896554310438734130, -0.896532162627076800, -0.896510012574088690, -0.896487860279825970, -0.896465705744343590, -0.896443548967696850, -0.896421389949941360, +-0.896399228691132420, -0.896377065191324870, -0.896354899450575230, -0.896332731468938220, -0.896310561246469350, -0.896288388783224140, -0.896266214079257990, -0.896244037134626300, +-0.896221857949384470, -0.896199676523588010, -0.896177492857291980, -0.896155306950552570, -0.896133118803424940, -0.896110928415964510, -0.896088735788226680, -0.896066540920267160, +-0.896044343812140820, -0.896022144463903940, -0.895999942875611800, -0.895977739047319810, -0.895955532979083370, -0.895933324670958210, -0.895911114122999620, -0.895888901335263330, +-0.895866686307804750, -0.895844469040679160, -0.895822249533942740, -0.895800027787650550, -0.895777803801858450, -0.895755577576621830, -0.895733349111996200, -0.895711118408036850, +-0.895688885464800080, -0.895666650282341160, -0.895644412860715500, -0.895622173199978940, -0.895599931300186890, -0.895577687161394960, -0.895555440783658900, -0.895533192167034200, +-0.895510941311576490, -0.895488688217341070, -0.895466432884384320, -0.895444175312761440, -0.895421915502528140, -0.895399653453740060, -0.895377389166452490, -0.895355122640721810, +-0.895332853876603330, -0.895310582874152770, -0.895288309633425650, -0.895266034154477810, -0.895243756437364870, -0.895221476482142560, -0.895199194288866520, -0.895176909857592570, +-0.895154623188375910, -0.895132334281273030, -0.895110043136339350, -0.895087749753630590, -0.895065454133202490, -0.895043156275110660, -0.895020856179410630, -0.894998553846158780, +-0.894976249275410640, -0.894953942467221820, -0.894931633421648160, -0.894909322138745410, -0.894887008618569290, -0.894864692861175760, -0.894842374866620440, -0.894820054634958840, +-0.894797732166247360, -0.894775407460541740, -0.894753080517897480, -0.894730751338370540, -0.894708419922016770, -0.894686086268891460, -0.894663750379051440, -0.894641412252551890, +-0.894619071889449000, -0.894596729289798280, -0.894574384453655780, -0.894552037381077360, -0.894529688072118860, -0.894507336526836120, -0.894484982745284540, -0.894462626727520970, +-0.894440268473600920, -0.894417907983580120, -0.894395545257514520, -0.894373180295460090, -0.894350813097472330, -0.894328443663607970, -0.894306071993922420, -0.894283698088471750, +-0.894261321947311780, -0.894238943570498600, -0.894216562958087930, -0.894194180110135960, -0.894171795026698520, -0.894149407707831580, -0.894127018153590640, -0.894104626364032650, +-0.894082232339213020, -0.894059836079187930, -0.894037437584013220, -0.894015036853744390, -0.893992633888438530, -0.893970228688151010, -0.893947821252937920, -0.893925411582855320, +-0.893902999677959050, -0.893880585538305410, -0.893858169163950330, -0.893835750554949790, -0.893813329711359850, -0.893790906633236130, -0.893768481320635690, -0.893746053773613940, +-0.893723623992227050, -0.893701191976531200, -0.893678757726582340, -0.893656321242436100, -0.893633882524149550, -0.893611441571778190, -0.893588998385378310, -0.893566552965005870, +-0.893544105310717150, -0.893521655422568120, -0.893499203300614940, -0.893476748944913690, -0.893454292355520320, -0.893431833532491450, -0.893409372475883150, -0.893386909185751370, +-0.893364443662152290, -0.893341975905142080, -0.893319505914776490, -0.893297033691112690, -0.893274559234206180, -0.893252082544113370, -0.893229603620890210, -0.893207122464593220, +-0.893184639075278230, -0.893162153453001760, -0.893139665597819880, -0.893117175509788530, -0.893094683188964570, -0.893072188635403830, -0.893049691849162720, -0.893027192830297300, +-0.893004691578863970, -0.892982188094918470, -0.892959682378517860, -0.892937174429718090, -0.892914664248575460, -0.892892151835146030, -0.892869637189486310, -0.892847120311652480, +-0.892824601201700930, -0.892802079859687740, -0.892779556285669410, -0.892757030479701790, -0.892734502441842050, -0.892711972172145930, -0.892689439670669940, -0.892666904937470360, +-0.892644367972603160, -0.892621828776125390, -0.892599287348093020, -0.892576743688562440, -0.892554197797590040, -0.892531649675232130, -0.892509099321545100, -0.892486546736585340, +-0.892463991920409260, -0.892441434873073040, -0.892418875594632950, -0.892396314085146080, -0.892373750344668370, -0.892351184373256330, -0.892328616170966260, -0.892306045737854770, +-0.892283473073977710, -0.892260898179392360, -0.892238321054154680, -0.892215741698321300, -0.892193160111948600, -0.892170576295092890, -0.892147990247810770, -0.892125401970158770, +-0.892102811462193170, -0.892080218723970140, -0.892057623755546980, -0.892035026556979750, -0.892012427128325070, -0.891989825469639230, -0.891967221580978740, -0.891944615462399890, +-0.891922007113959970, -0.891899396535714930, -0.891876783727721390, -0.891854168690035980, -0.891831551422715090, -0.891808931925815230, -0.891786310199393140, -0.891763686243505330, +-0.891741060058207860, -0.891718431643558130, -0.891695800999612320, -0.891673168126426940, -0.891650533024058720, -0.891627895692564180, -0.891605256131999480, -0.891582614342422030, +-0.891559970323888010, -0.891537324076454140, -0.891514675600176940, -0.891492024895113030, -0.891469371961319030, -0.891446716798851680, -0.891424059407767480, -0.891401399788123160, +-0.891378737939974910, -0.891356073863380230, -0.891333407558395410, -0.891310739025076960, -0.891288068263481730, -0.891265395273665990, -0.891242720055687050, -0.891220042609601410, +-0.891197362935465590, -0.891174681033336410, -0.891151996903270520, -0.891129310545324630, -0.891106621959555480, -0.891083931146019690, -0.891061238104774110, -0.891038542835875140, +-0.891015845339380160, -0.890993145615345480, -0.890970443663828050, -0.890947739484884480, -0.890925033078571070, -0.890902324444945550, -0.890879613584064200, -0.890856900495983870, +-0.890834185180761300, -0.890811467638453200, -0.890788747869116440, -0.890766025872807840, -0.890743301649584150, -0.890720575199502210, -0.890697846522618520, -0.890675115618990490, +-0.890652382488674730, -0.890629647131727990, -0.890606909548207200, -0.890584169738169010, -0.890561427701670130, -0.890538683438767960, -0.890515936949519140, -0.890493188233980490, +-0.890470437292208870, -0.890447684124261120, -0.890424928730194190, -0.890402171110064920, -0.890379411263930280, -0.890356649191846650, -0.890333884893871890, -0.890311118370062270, +-0.890288349620474980, -0.890265578645166760, -0.890242805444194540, -0.890220030017614960, -0.890197252365485750, -0.890174472487863410, -0.890151690384804790, -0.890128906056367080, +-0.890106119502606980, -0.890083330723581590, -0.890060539719347950, -0.890037746489962920, -0.890014951035483120, -0.889992153355966380, -0.889969353451469210, -0.889946551322048700, +-0.889923746967761780, -0.889900940388665520, -0.889878131584816430, -0.889855320556272590, -0.889832507303090270, -0.889809691825326770, -0.889786874123039030, -0.889764054196284020, +-0.889741232045119010, -0.889718407669600860, -0.889695581069786630, -0.889672752245733500, -0.889649921197498080, -0.889627087925138340, -0.889604252428710770, -0.889581414708272680, +-0.889558574763881000, -0.889535732595592380, -0.889512888203464970, -0.889490041587555290, -0.889467192747920520, -0.889444341684617720, -0.889421488397704070, -0.889398632887236750, +-0.889375775153272820, -0.889352915195869560, -0.889330053015083830, -0.889307188610972690, -0.889284321983593970, -0.889261453133004420, -0.889238582059261210, -0.889215708762421510, +-0.889192833242542610, -0.889169955499681250, -0.889147075533895380, -0.889124193345241840, -0.889101308933777700, -0.889078422299560360, -0.889055533442647090, -0.889032642363094870, +-0.889009749060960970, -0.888986853536302800, -0.888963955789177080, -0.888941055819641890, -0.888918153627754060, -0.888895249213570770, -0.888872342577149420, -0.888849433718547190, +-0.888826522637821030, -0.888803609335028890, -0.888780693810227730, -0.888757776063474950, -0.888734856094827610, -0.888711933904343110, -0.888689009492078850, -0.888666082858092120, +-0.888643154002440090, -0.888620222925179730, -0.888597289626369300, -0.888574354106065670, -0.888551416364326110, -0.888528476401208020, -0.888505534216768700, -0.888482589811065200, +-0.888459643184155600, -0.888436694336096840, -0.888413743266946440, -0.888390789976761690, -0.888367834465599860, -0.888344876733518580, -0.888321916780575040, -0.888298954606826620, +-0.888275990212330950, -0.888253023597144860, -0.888230054761326550, -0.888207083704933180, -0.888184110428022030, -0.888161134930650630, -0.888138157212876030, -0.888115177274756420, +-0.888092195116348960, -0.888069210737710830, -0.888046224138899780, -0.888023235319973180, -0.888000244280988450, -0.887977251022003090, -0.887954255543074720, -0.887931257844260640, +-0.887908257925618010, -0.887885255787205120, -0.887862251429079040, -0.887839244851297390, -0.887816236053917680, -0.887793225036997310, -0.887770211800593460, -0.887747196344764620, +-0.887724178669567650, -0.887701158775060280, -0.887678136661300020, -0.887655112328344380, -0.887632085776250970, -0.887609057005077420, -0.887586026014881120, -0.887562992805719380, +-0.887539957377650680, -0.887516919730731990, -0.887493879865020930, -0.887470837780575230, -0.887447793477452510, -0.887424746955709830, -0.887401698215405710, -0.887378647256597320, +-0.887355594079342280, -0.887332538683698320, -0.887309481069723070, -0.887286421237474030, -0.887263359187008940, -0.887240294918385410, -0.887217228431660840, -0.887194159726893530, +-0.887171088804140860, -0.887148015663460470, -0.887124940304910070, -0.887101862728547190, -0.887078782934429320, -0.887055700922614990, -0.887032616693161360, -0.887009530246126050, +-0.886986441581567140, -0.886963350699542020, -0.886940257600108420, -0.886917162283324290, -0.886894064749247260, -0.886870964997935050, -0.886847863029444960, -0.886824758843835710, +-0.886801652441164600, -0.886778543821489240, -0.886755432984867590, -0.886732319931356930, -0.886709204661015880, -0.886686087173901850, -0.886662967470072560, -0.886639845549585860, +-0.886616721412499480, -0.886593595058871360, -0.886570466488759260, -0.886547335702221000, -0.886524202699314420, -0.886501067480096940, -0.886477930044627160, -0.886454790392962490, +-0.886431648525160990, -0.886408504441280280, -0.886385358141378310, -0.886362209625512490, -0.886339058893741650, -0.886315905946123080, -0.886292750782714860, -0.886269593403574700, +-0.886246433808760560, -0.886223271998330290, -0.886200107972341830, -0.886176941730853150, -0.886153773273921750, -0.886130602601606250, -0.886107429713964280, -0.886084254611053780, +-0.886061077292932600, -0.886037897759658690, -0.886014716011289670, -0.885991532047884170, -0.885968345869500020, -0.885945157476194840, -0.885921966868026930, -0.885898774045054020, +-0.885875579007334160, -0.885852381754925310, -0.885829182287885540, -0.885805980606272470, -0.885782776710144830, -0.885759570599560230, -0.885736362274576640, -0.885713151735252220, +-0.885689938981644940, -0.885666724013812300, -0.885643506831813370, -0.885620287435705640, -0.885597065825547200, -0.885573842001396110, -0.885550615963310420, -0.885527387711348090, +-0.885504157245567410, -0.885480924566026230, -0.885457689672782820, -0.885434452565894810, -0.885411213245420940, -0.885387971711419140, -0.885364727963947380, -0.885341482003063840, +-0.885318233828826130, -0.885294983441293310, -0.885271730840523020, -0.885248476026573310, -0.885225218999502570, -0.885201959759368660, -0.885178698306229860, -0.885155434640144350, +-0.885132168761170290, -0.885108900669365760, -0.885085630364788490, -0.885062357847497650, -0.885039083117550970, -0.885015806175006410, -0.884992527019922480, -0.884969245652357240, +-0.884945962072368420, -0.884922676280015090, -0.884899388275355080, -0.884876098058446580, -0.884852805629347870, -0.884829510988117240, -0.884806214134812640, -0.884782915069492690, +-0.884759613792215350, -0.884736310303038560, -0.884713004602021400, -0.884689696689221820, -0.884666386564697870, -0.884643074228508080, -0.884619759680710490, -0.884596442921363190, +-0.884573123950525120, -0.884549802768254230, -0.884526479374608930, -0.884503153769647280, -0.884479825953427890, -0.884456495926008830, -0.884433163687448620, -0.884409829237805530, +-0.884386492577137310, -0.884363153705503340, -0.884339812622961570, -0.884316469329570200, -0.884293123825387610, -0.884269776110472310, -0.884246426184882030, -0.884223074048676170, +-0.884199719701912690, -0.884176363144649870, -0.884153004376946110, -0.884129643398859800, -0.884106280210449460, -0.884082914811773370, -0.884059547202890040, -0.884036177383857760, +-0.884012805354734700, -0.883989431115580040, -0.883966054666451840, -0.883942676007408390, -0.883919295138508310, -0.883895912059809550, -0.883872526771371510, -0.883849139273252040, +-0.883825749565509860, -0.883802357648203140, -0.883778963521390630, -0.883755567185130710, -0.883732168639481900, -0.883708767884502590, -0.883685364920251400, -0.883661959746786410, +-0.883638552364166880, -0.883615142772451010, -0.883591730971697190, -0.883568316961964140, -0.883544900743310270, -0.883521482315793750, -0.883498061679473980, -0.883474638834409020, +-0.883451213780657390, -0.883427786518277800, -0.883404357047328780, -0.883380925367868720, -0.883357491479956460, -0.883334055383650510, -0.883310617079008930, -0.883287176566091240, +-0.883263733844955600, -0.883240288915660640, -0.883216841778264980, -0.883193392432827240, -0.883169940879405480, -0.883146487118059430, -0.883123031148847050, -0.883099572971827170, +-0.883076112587058320, -0.883052649994599200, -0.883029185194508460, -0.883005718186844700, -0.882982248971666770, -0.882958777549032740, -0.882935303919002100, -0.882911828081633270, +-0.882888350036984850, -0.882864869785115580, -0.882841387326084190, -0.882817902659948860, -0.882794415786769200, -0.882770926706603400, -0.882747435419510400, -0.882723941925548820, +-0.882700446224777390, -0.882676948317254740, -0.882653448203039810, -0.882629945882191240, -0.882606441354767730, -0.882582934620827820, -0.882559425680430890, -0.882535914533635450, +-0.882512401180500230, -0.882488885621084070, -0.882465367855445160, -0.882441847883643330, -0.882418325705736860, -0.882394801321784490, -0.882371274731845180, -0.882347745935977760, +-0.882324214934240850, -0.882300681726693510, -0.882277146313394380, -0.882253608694402500, -0.882230068869776060, -0.882206526839574900, -0.882182982603857410, -0.882159436162682550, +-0.882135887516109050, -0.882112336664195750, -0.882088783607001270, -0.882065228344585230, -0.882041670877006130, -0.882018111204322830, -0.881994549326594270, -0.881970985243879400, +-0.881947418956236960, -0.881923850463726010, -0.881900279766405500, -0.881876706864333840, -0.881853131757570740, -0.881829554446174950, -0.881805974930205180, -0.881782393209720520, +-0.881758809284779900, -0.881735223155441730, -0.881711634821765950, -0.881688044283811200, -0.881664451541636200, -0.881640856595300230, -0.881617259444861910, -0.881593660090380650, +-0.881570058531915060, -0.881546454769524420, -0.881522848803267260, -0.881499240633203280, -0.881475630259391350, -0.881452017681890190, -0.881428402900759080, -0.881404785916056980, +-0.881381166727842390, -0.881357545336175390, -0.881333921741114580, -0.881310295942718810, -0.881286667941047370, -0.881263037736159330, -0.881239405328113620, -0.881215770716969440, +-0.881192133902785830, -0.881168494885621880, -0.881144853665536190, -0.881121210242588940, -0.881097564616838520, -0.881073916788344240, -0.881050266757165250, -0.881026614523360060, +-0.881002960086988860, -0.880979303448110150, -0.880955644606783220, -0.880931983563067230, -0.880908320317021150, -0.880884654868704380, -0.880860987218175960, -0.880837317365495090, +-0.880813645310720930, -0.880789971053912210, -0.880766294595129010, -0.880742615934430040, -0.880718935071874490, -0.880695252007521630, -0.880671566741430660, -0.880647879273660390, +-0.880624189604270800, -0.880600497733320720, -0.880576803660869430, -0.880553107386976120, -0.880529408911700060, -0.880505708235100440, -0.880482005357236530, -0.880458300278167740, +-0.880434592997952680, -0.880410883516651530, -0.880387171834323250, -0.880363457951027000, -0.880339741866822070, -0.880316023581767860, -0.880292303095923100, -0.880268580409347970, +-0.880244855522101520, -0.880221128434242830, -0.880197399145831390, -0.880173667656926400, -0.880149933967587230, -0.880126198077873290, -0.880102459987843750, -0.880078719697557800, +-0.880054977207075370, -0.880031232516455430, -0.880007485625757590, -0.879983736535040920, -0.879959985244364920, -0.879936231753788540, -0.879912476063371970, -0.879888718173174270, +-0.879864958083254710, -0.879841195793672810, -0.879817431304487860, -0.879793664615759360, -0.879769895727546710, -0.879746124639909420, -0.879722351352906660, -0.879698575866597720, +-0.879674798181042660, -0.879651018296300660, -0.879627236212431110, -0.879603451929493520, -0.879579665447546730, -0.879555876766651370, -0.879532085886866270, -0.879508292808250820, +-0.879484497530864770, -0.879460700054767510, -0.879436900380018430, -0.879413098506677150, -0.879389294434803070, -0.879365488164455700, -0.879341679695694320, -0.879317869028579110, +-0.879294056163169140, -0.879270241099524120, -0.879246423837703570, -0.879222604377766780, -0.879198782719773250, -0.879174958863783050, -0.879151132809855460, -0.879127304558050100, +-0.879103474108426490, -0.879079641461044110, -0.879055806615962720, -0.879031969573241700, -0.879008130332940900, -0.878984288895119260, -0.878960445259837300, -0.878936599427154300, +-0.878912751397129770, -0.878888901169823320, -0.878865048745294700, -0.878841194123602950, -0.878817337304808710, -0.878793478288971140, -0.878769617076149760, -0.878745753666404510, +-0.878721888059794680, -0.878698020256380220, -0.878674150256220750, -0.878650278059375900, -0.878626403665904940, -0.878602527075868280, -0.878578648289325410, -0.878554767306335860, +-0.878530884126959450, -0.878506998751255820, -0.878483111179284240, -0.878459221411105330, -0.878435329446778380, -0.878411435286363120, -0.878387538929919160, -0.878363640377506470, +-0.878339739629184660, -0.878315836685013450, -0.878291931545052700, -0.878268024209362010, -0.878244114678001010, -0.878220202951029980, -0.878196289028508550, -0.878172372910496430, +-0.878148454597053260, -0.878124534088238650, -0.878100611384112990, -0.878076686484735910, -0.878052759390167140, -0.878028830100466400, -0.878004898615693640, -0.877980964935908600, +-0.877957029061171120, -0.877933090991541040, -0.877909150727078310, -0.877885208267842330, -0.877861263613893610, -0.877837316765291860, -0.877813367722096730, -0.877789416484368260, +-0.877765463052165740, -0.877741507425550020, -0.877717549604580590, -0.877693589589317200, -0.877669627379819910, -0.877645662976148430, -0.877621696378362850, -0.877597727586523100, +-0.877573756600689040, -0.877549783420920490, -0.877525808047277090, -0.877501830479819670, -0.877477850718607620, -0.877453868763700910, -0.877429884615159580, -0.877405898273043490, +-0.877381909737412150, -0.877357919008326600, -0.877333926085846260, -0.877309930970031070, -0.877285933660940990, -0.877261934158636180, -0.877237932463176500, -0.877213928574621990, +-0.877189922493032630, -0.877165914218468010, -0.877141903750989100, -0.877117891090655410, -0.877093876237526990, -0.877069859191663910, -0.877045839953126130, -0.877021818521973360, +-0.876997794898266460, -0.876973769082065040, -0.876949741073429160, -0.876925710872419000, -0.876901678479094620, -0.876877643893515970, -0.876853607115743230, -0.876829568145836460, +-0.876805526983855720, -0.876781483629860860, -0.876757438083912600, -0.876733390346070780, -0.876709340416395480, -0.876685288294946850, -0.876661233981784640, -0.876637177476969680, +-0.876613118780561810, -0.876589057892621090, -0.876564994813207820, -0.876540929542382050, -0.876516862080203850, -0.876492792426733610, -0.876468720582031290, -0.876444646546157280, +-0.876420570319171200, -0.876396491901134000, -0.876372411292105640, -0.876348328492146390, -0.876324243501316100, -0.876300156319674950, -0.876276066947283770, -0.876251975384202410, +-0.876227881630491150, -0.876203785686210160, -0.876179687551419620, -0.876155587226180030, -0.876131484710551360, -0.876107380004593980, -0.876083273108368200, -0.876059164021933730, +-0.876035052745351870, -0.876010939278682340, -0.875986823621985430, -0.875962705775321540, -0.875938585738750830, -0.875914463512333260, -0.875890339096129900, -0.875866212490200690, +-0.875842083694606030, -0.875817952709406100, -0.875793819534661290, -0.875769684170431990, -0.875745546616778500, -0.875721406873761100, -0.875697264941439730, -0.875673120819875580, +-0.875648974509128710, -0.875624826009259390, -0.875600675320328040, -0.875576522442394920, -0.875552367375520110, -0.875528210119764780, -0.875504050675188990, -0.875479889041853030, +-0.875455725219817290, -0.875431559209142400, -0.875407391009888510, -0.875383220622116040, -0.875359048045885710, -0.875334873281257250, -0.875310696328291950, -0.875286517187050080, +-0.875262335857591830, -0.875238152339977700, -0.875213966634268200, -0.875189778740523390, -0.875165588658804560, -0.875141396389171770, -0.875117201931685520, -0.875093005286406210, +-0.875068806453394350, -0.875044605432710560, -0.875020402224415240, -0.874996196828568880, -0.874971989245232010, -0.874947779474464780, -0.874923567516328490, -0.874899353370883310, +-0.874875137038189750, -0.874850918518308430, -0.874826697811299290, -0.874802474917223850, -0.874778249836142160, -0.874754022568114960, -0.874729793113202650, -0.874705561471465830, +-0.874681327642965130, -0.874657091627761170, -0.874632853425914350, -0.874608613037485490, -0.874584370462534680, -0.874560125701123400, -0.874535878753311740, -0.874511629619160290, +-0.874487378298729910, -0.874463124792081100, -0.874438869099273930, -0.874414611220370120, -0.874390351155429730, -0.874366088904513510, -0.874341824467682050, -0.874317557844995990, +-0.874293289036516040, -0.874269018042302950, -0.874244744862417210, -0.874220469496919230, -0.874196191945870500, -0.874171912209331330, -0.874147630287362310, -0.874123346180024300, +-0.874099059887377790, -0.874074771409483310, -0.874050480746402350, -0.874026187898195080, -0.874001892864922470, -0.873977595646645010, -0.873953296243423660, -0.873928994655319040, +-0.873904690882391870, -0.873880384924702990, -0.873856076782312810, -0.873831766455282820, -0.873807453943673320, -0.873783139247545250, -0.873758822366959450, -0.873734503301976440, +-0.873710182052656830, -0.873685858619062120, -0.873661533001252820, -0.873637205199289670, -0.873612875213233500, -0.873588543043145150, -0.873564208689085460, -0.873539872151115280, +-0.873515533429295330, -0.873491192523686570, -0.873466849434349380, -0.873442504161345610, -0.873418156704735550, -0.873393807064580030, -0.873369455240940010, -0.873345101233875880, +-0.873320745043449480, -0.873296386669721310, -0.873272026112752010, -0.873247663372602730, -0.873223298449334330, -0.873198931343007630, -0.873174562053683600, -0.873150190581423070, +-0.873125816926287210, -0.873101441088336320, -0.873077063067632330, -0.873052682864235540, -0.873028300478207120, -0.873003915909608020, -0.872979529158499080, -0.872955140224940810, +-0.872930749108995260, -0.872906355810722730, -0.872881960330184280, -0.872857562667441080, -0.872833162822553850, -0.872808760795583780, -0.872784356586591700, -0.872759950195638790, +-0.872735541622785660, -0.872711130868094040, -0.872686717931624560, -0.872662302813438260, -0.872637885513596330, -0.872613466032159610, -0.872589044369188830, -0.872564620524745820, +-0.872540194498891310, -0.872515766291686260, -0.872491335903191830, -0.872466903333468990, -0.872442468582579010, -0.872418031650582740, -0.872393592537541450, -0.872369151243515770, +-0.872344707768567650, -0.872320262112757700, -0.872295814276147110, -0.872271364258797030, -0.872246912060768540, -0.872222457682122250, -0.872198001122920340, -0.872173542383223420, +-0.872149081463092560, -0.872124618362589140, -0.872100153081774130, -0.872075685620708580, -0.872051215979454010, -0.872026744158071350, -0.872002270156621790, -0.871977793975166170, +-0.871953315613766430, -0.871928835072483420, -0.871904352351378310, -0.871879867450512380, -0.871855380369946360, -0.871830891109742210, -0.871806399669960990, -0.871781906050663640, +-0.871757410251911560, -0.871732912273766040, -0.871708412116288130, -0.871683909779539250, -0.871659405263580540, -0.871634898568473430, -0.871610389694278510, -0.871585878641058080, +-0.871561365408872970, -0.871536849997784470, -0.871512332407853860, -0.871487812639142320, -0.871463290691710910, -0.871438766565621690, -0.871414240260935610, -0.871389711777713850, +-0.871365181116017800, -0.871340648275908850, -0.871316113257448180, -0.871291576060697290, -0.871267036685717480, -0.871242495132569680, -0.871217951401315970, -0.871193405492017510, +-0.871168857404735490, -0.871144307139531280, -0.871119754696466300, -0.871095200075601590, -0.871070643276999230, -0.871046084300720280, -0.871021523146826130, -0.870996959815378170, +-0.870972394306437800, -0.870947826620066420, -0.870923256756325540, -0.870898684715276540, -0.870874110496980270, -0.870849534101499230, -0.870824955528894380, -0.870800374779227120, +-0.870775791852558930, -0.870751206748951230, -0.870726619468465080, -0.870702030011162860, -0.870677438377105540, -0.870652844566354610, -0.870628248578971590, -0.870603650415017970, +-0.870579050074555270, -0.870554447557644770, -0.870529842864348310, -0.870505235994727180, -0.870480626948842540, -0.870456015726756790, -0.870431402328530890, -0.870406786754226670, +-0.870382169003905300, -0.870357549077628190, -0.870332926975457610, -0.870308302697454740, -0.870283676243681080, -0.870259047614198140, -0.870234416809067770, -0.870209783828351240, +-0.870185148672110280, -0.870160511340406400, -0.870135871833301320, -0.870111230150856120, -0.870086586293133180, -0.870061940260193900, -0.870037292052099680, -0.870012641668912350, +-0.869987989110693300, -0.869963334377503840, -0.869938677469406560, -0.869914018386462540, -0.869889357128733390, -0.869864693696280940, -0.869840028089166830, -0.869815360307452550, +-0.869790690351199820, -0.869766018220470500, -0.869741343915325650, -0.869716667435827870, -0.869691988782038350, -0.869667307954018920, -0.869642624951831200, -0.869617939775537030, +-0.869593252425197470, -0.869568562900875140, -0.869543871202631550, -0.869519177330528190, -0.869494481284626920, -0.869469783064989450, -0.869445082671677530, -0.869420380104752980, +-0.869395675364277310, -0.869370968450312140, -0.869346259362919980, -0.869321548102162110, -0.869296834668100370, -0.869272119060796600, -0.869247401280312530, -0.869222681326709430, +-0.869197959200050160, -0.869173234900396000, -0.869148508427808660, -0.869123779782350110, -0.869099048964082190, -0.869074315973066500, -0.869049580809365120, -0.869024843473039770, +-0.869000103964152280, -0.868975362282764060, -0.868950618428937950, -0.868925872402735220, -0.868901124204217950, -0.868876373833447730, -0.868851621290486210, -0.868826866575395980, +-0.868802109688238680, -0.868777350629076130, -0.868752589397970070, -0.868727825994982660, -0.868703060420175640, -0.868678292673610960, -0.868653522755350570, -0.868628750665456420, +-0.868603976403989900, -0.868579199971013850, -0.868554421366589780, -0.868529640590779750, -0.868504857643645600, -0.868480072525249280, -0.868455285235652300, -0.868430495774917600, +-0.868405704143106690, -0.868380910340281420, -0.868356114366503950, -0.868331316221836240, -0.868306515906340120, -0.868281713420077760, -0.868256908763111120, -0.868232101935501820, +-0.868207292937312690, -0.868182481768605240, -0.868157668429441640, -0.868132852919883960, -0.868108035239994020, -0.868083215389833570, -0.868058393369465550, -0.868033569178951580, +-0.868008742818353610, -0.867983914287733800, -0.867959083587154230, -0.867934250716676960, -0.867909415676364150, -0.867884578466277650, -0.867859739086479290, -0.867834897537032130, +-0.867810053817997580, -0.867785207929438030, -0.867760359871415310, -0.867735509643991820, -0.867710657247229070, -0.867685802681190110, -0.867660945945936680, -0.867636087041530830, +-0.867611225968034860, -0.867586362725510710, -0.867561497314020660, -0.867536629733627000, -0.867511759984391670, -0.867486888066376970, -0.867462013979644510, -0.867437137724257570, +-0.867412259300277770, -0.867387378707767280, -0.867362495946788380, -0.867337611017402700, -0.867312723919673510, -0.867287834653662550, -0.867262943219431980, -0.867238049617044090, +-0.867213153846561060, -0.867188255908045050, -0.867163355801558460, -0.867138453527163460, -0.867113549084922440, -0.867088642474897030, -0.867063733697150400, -0.867038822751744490, +-0.867013909638741480, -0.866988994358203760, -0.866964076910193500, -0.866939157294772670, -0.866914235512004310, -0.866889311561950480, -0.866864385444673260, -0.866839457160235140, +-0.866814526708698300, -0.866789594090125240, -0.866764659304578130, -0.866739722352119380, -0.866714783232810930, -0.866689841946715940, -0.866664898493896270, -0.866639952874414420, +-0.866615005088332670, -0.866590055135713410, -0.866565103016618600, -0.866540148731111510, -0.866515192279254000, -0.866490233661108440, -0.866465272876737470, -0.866440309926203130, +-0.866415344809568170, -0.866390377526894740, -0.866365408078245470, -0.866340436463682080, -0.866315462683268200, -0.866290486737065550, -0.866265508625136740, -0.866240528347544170, +-0.866215545904350240, -0.866190561295617000, -0.866165574521407860, -0.866140585581784750, -0.866115594476810190, -0.866090601206546570, -0.866065605771056510, -0.866040608170402510, +-0.866015608404646860, -0.865990606473852290, -0.865965602378081070, -0.865940596117395490, -0.865915587691858830, -0.865890577101533280, -0.865865564346481210, -0.865840549426765250, +-0.865815532342447570, -0.865790513093591340, -0.865765491680258960, -0.865740468102512820, -0.865715442360415420, -0.865690414454029500, -0.865665384383417560, -0.865640352148642100, +-0.865615317749765740, -0.865590281186851110, -0.865565242459960360, -0.865540201569157010, -0.865515158514503000, -0.865490113296061180, -0.865465065913894160, -0.865440016368064340, +-0.865414964658634100, -0.865389910785666850, -0.865364854749224870, -0.865339796549370770, -0.865314736186167170, -0.865289673659676680, -0.865264608969962050, -0.865239542117085870, +-0.865214473101110880, -0.865189401922099140, -0.865164328580114490, -0.865139253075218880, -0.865114175407475260, -0.865089095576946130, -0.865064013583694340, -0.865038929427782040, +-0.865013843109272870, -0.864988754628229000, -0.864963663984713360, -0.864938571178788470, -0.864913476210517170, -0.864888379079962190, -0.864863279787186360, -0.864838178332252180, +-0.864813074715222170, -0.864787968936159950, -0.864762860995127780, -0.864737750892188520, -0.864712638627404770, -0.864687524200839500, -0.864662407612554970, -0.864637288862614820, +-0.864612167951081420, -0.864587044878017740, -0.864561919643486390, -0.864536792247550200, -0.864511662690272020, -0.864486530971714680, -0.864461397091941030, -0.864436261051014010, +-0.864411122848995680, -0.864385982485950110, -0.864360839961939580, -0.864335695277026920, -0.864310548431275080, -0.864285399424746360, -0.864260248257504580, -0.864235094929612260, +-0.864209939441132110, -0.864184781792127210, -0.864159621982660280, -0.864134460012794370, -0.864109295882592220, -0.864084129592116890, -0.864058961141431210, -0.864033790530597700, +-0.864008617759680080, -0.863983442828741070, -0.863958265737843400, -0.863933086487050030, -0.863907905076423900, -0.863882721506027630, -0.863857535775924950, -0.863832347886178460, +-0.863807157836851140, -0.863781965628005910, -0.863756771259705740, -0.863731574732013560, -0.863706376044992560, -0.863681175198705580, -0.863655972193215330, -0.863630767028585430, +-0.863605559704878620, -0.863580350222158070, -0.863555138580486490, -0.863529924779927180, -0.863504708820542530, -0.863479490702396490, -0.863454270425551900, -0.863429047990071470, +-0.863403823396018510, -0.863378596643455950, -0.863353367732446970, -0.863328136663054520, -0.863302903435341770, -0.863277668049371230, -0.863252430505207060, -0.863227190802911770, +-0.863201948942548420, -0.863176704924180300, -0.863151458747870470, -0.863126210413681430, -0.863100959921677350, -0.863075707271920840, -0.863050452464475200, -0.863025195499403260, +-0.862999936376768420, -0.862974675096633730, -0.862949411659062360, -0.862924146064117490, -0.862898878311862180, -0.862873608402359270, -0.862848336335672710, -0.862823062111865440, +-0.862797785731000410, -0.862772507193140910, -0.862747226498349780, -0.862721943646690970, -0.862696658638227310, -0.862671371473022090, -0.862646082151138360, -0.862620790672639410, +-0.862595497037588530, -0.862570201246048880, -0.862544903298083750, -0.862519603193756310, -0.862494300933129510, -0.862468996516267290, -0.862443689943232620, -0.862418381214088760, +-0.862393070328899000, -0.862367757287725970, -0.862342442090634040, -0.862317124737686070, -0.862291805228945330, -0.862266483564474990, -0.862241159744338460, -0.862215833768599000, +-0.862190505637319910, -0.862165175350564690, -0.862139842908396400, -0.862114508310878210, -0.862089171558074070, -0.862063832650047050, -0.862038491586860410, -0.862013148368577560, +-0.861987802995261900, -0.861962455466976250, -0.861937105783784910, -0.861911753945750810, -0.861886399952937250, -0.861861043805407730, -0.861835685503225650, -0.861810325046454380, +-0.861784962435157230, -0.861759597669397690, -0.861734230749238720, -0.861708861674744590, -0.861683490445978250, -0.861658117063003330, -0.861632741525882980, -0.861607363834680950, +-0.861581983989459840, -0.861556601990284390, -0.861531217837217420, -0.861505831530322340, -0.861480443069662760, -0.861455052455301960, -0.861429659687303560, -0.861404264765731060, +-0.861378867690647860, -0.861353468462117130, -0.861328067080203040, -0.861302663544968870, -0.861277257856478020, -0.861251850014794100, -0.861226440019980500, -0.861201027872100290, +-0.861175613571218080, -0.861150197117396710, -0.861124778510699910, -0.861099357751191170, -0.861073934838934020, -0.861048509773992050, -0.861023082556428790, -0.860997653186307830, +-0.860972221663692690, -0.860946787988646540, -0.860921352161234000, -0.860895914181518010, -0.860870474049562180, -0.860845031765430260, -0.860819587329185180, -0.860794140740891670, +-0.860768692000612900, -0.860743241108412270, -0.860717788064353510, -0.860692332868500330, -0.860666875520916360, -0.860641416021665220, -0.860615954370810510, -0.860590490568415860, +-0.860565024614544540, -0.860539556509261170, -0.860514086252628820, -0.860488613844711310, -0.860463139285572280, -0.860437662575275430, -0.860412183713883950, -0.860386702701462450, +-0.860361219538074210, -0.860335734223782840, -0.860310246758652200, -0.860284757142745990, -0.860259265376127850, -0.860233771458861480, -0.860208275391010750, -0.860182777172638800, +-0.860157276803810490, -0.860131774284588870, -0.860106269615037890, -0.860080762795221280, -0.860055253825202650, -0.860029742705045510, -0.860004229434814470, -0.859978714014572820, +-0.859953196444384280, -0.859927676724312920, -0.859902154854422340, -0.859876630834776280, -0.859851104665438680, -0.859825576346473390, -0.859800045877943670, -0.859774513259914270, +-0.859748978492448580, -0.859723441575610540, -0.859697902509463760, -0.859672361294072320, -0.859646817929499480, -0.859621272415809990, -0.859595724753067450, -0.859570174941335470, +-0.859544622980678130, -0.859519068871159250, -0.859493512612842680, -0.859467954205792360, -0.859442393650072020, -0.859416830945745840, -0.859391266092877080, -0.859365699091530600, +-0.859340129941769890, -0.859314558643658800, -0.859288985197261380, -0.859263409602641030, -0.859237831859862580, -0.859212251968989540, -0.859186669930085970, -0.859161085743215590, +-0.859135499408442580, -0.859109910925830890, -0.859084320295444240, -0.859058727517346910, -0.859033132591602740, -0.859007535518275240, -0.858981936297429470, -0.858956334929128820, +-0.858930731413437230, -0.858905125750419000, -0.858879517940137730, -0.858853907982657370, -0.858828295878042660, -0.858802681626357200, -0.858777065227665060, -0.858751446682030180, +-0.858725825989516740, -0.858700203150188690, -0.858674578164110190, -0.858648951031345310, -0.858623321751957440, -0.858597690326011850, -0.858572056753571950, -0.858546421034701910, +-0.858520783169465900, -0.858495143157927850, -0.858469501000151510, -0.858443856696201930, -0.858418210246142620, -0.858392561650037860, -0.858366910907951700, -0.858341258019948210, +-0.858315602986091550, -0.858289945806445910, -0.858264286481075440, -0.858238625010043780, -0.858212961393416070, -0.858187295631255840, -0.858161627723627470, -0.858135957670595030, +-0.858110285472222570, -0.858084611128574040, -0.858058934639714500, -0.858033256005707570, -0.858007575226617410, -0.857981892302508430, -0.857956207233444680, -0.857930520019490330, +-0.857904830660709770, -0.857879139157167180, -0.857853445508926620, -0.857827749716052130, -0.857802051778608580, -0.857776351696660000, -0.857750649470270470, -0.857724945099504370, +-0.857699238584425430, -0.857673529925098930, -0.857647819121588490, -0.857622106173958510, -0.857596391082273260, -0.857570673846597130, -0.857544954466994300, -0.857519232943528940, +-0.857493509276265660, -0.857467783465268530, -0.857442055510601490, -0.857416325412329820, -0.857390593170517250, -0.857364858785228280, -0.857339122256527200, -0.857313383584478170, +-0.857287642769145370, -0.857261899810593750, -0.857236154708887480, -0.857210407464090830, -0.857184658076268200, -0.857158906545483880, -0.857133152871802250, -0.857107397055287820, +-0.857081639096004880, -0.857055878994017360, -0.857030116749390560, -0.857004352362188530, -0.856978585832475660, -0.856952817160316240, -0.856927046345774770, -0.856901273388915310, +-0.856875498289803140, -0.856849721048502100, -0.856823941665076800, -0.856798160139591650, -0.856772376472111130, -0.856746590662699650, -0.856720802711421700, -0.856695012618341800, +-0.856669220383523890, -0.856643426007033360, -0.856617629488934160, -0.856591830829291020, -0.856566030028168330, -0.856540227085630490, -0.856514422001741660, -0.856488614776567130, +-0.856462805410171170, -0.856436993902618180, -0.856411180253972670, -0.856385364464299250, -0.856359546533662420, -0.856333726462126690, -0.856307904249756670, -0.856282079896616980, +-0.856256253402771450, -0.856230424768285920, -0.856204593993224240, -0.856178761077651010, -0.856152926021630960, -0.856127088825228140, -0.856101249488508080, -0.856075408011534810, +-0.856049564394373070, -0.856023718637087370, -0.855997870739742430, -0.855972020702402860, -0.855946168525133170, -0.855920314207998080, -0.855894457751062210, -0.855868599154389730, +-0.855842738418046150, -0.855816875542095850, -0.855791010526603220, -0.855765143371633120, -0.855739274077250260, -0.855713402643518580, -0.855687529070504050, -0.855661653358270600, +-0.855635775506882970, -0.855609895516405980, -0.855584013386904150, -0.855558129118442310, -0.855532242711085190, -0.855506354164897510, -0.855480463479943440, -0.855454570656288720, +-0.855428675693997500, -0.855402778593134630, -0.855376879353764720, -0.855350977975952720, -0.855325074459762800, -0.855299168805260690, -0.855273261012510560, -0.855247351081577340, +-0.855221439012525670, -0.855195524805420490, -0.855169608460326520, -0.855143689977308500, -0.855117769356431250, -0.855091846597759050, -0.855065921701357760, -0.855039994667291640, +-0.855014065495625530, -0.854988134186424280, -0.854962200739752710, -0.854936265155675110, -0.854910327434257430, -0.854884387575563840, -0.854858445579659290, -0.854832501446608610, +-0.854806555176476750, -0.854780606769328430, -0.854754656225228620, -0.854728703544242130, -0.854702748726433930, -0.854676791771868390, -0.854650832680611370, -0.854624871452727140, +-0.854598908088280870, -0.854572942587337290, -0.854546974949960900, -0.854521005176217540, -0.854495033266171600, -0.854469059219888140, -0.854443083037431990, -0.854417104718868110, +-0.854391124264261560, -0.854365141673677160, -0.854339156947179880, -0.854313170084834760, -0.854287181086706200, -0.854261189952860160, -0.854235196683361230, -0.854209201278274160, +-0.854183203737664210, -0.854157204061596230, -0.854131202250134720, -0.854105198303345750, -0.854079192221293690, -0.854053184004043730, -0.854027173651660700, -0.854001161164209880, +-0.853975146541756100, -0.853949129784364440, -0.853923110892099930, -0.853897089865027210, -0.853871066703212220, -0.853845041406719570, -0.853819013975614330, -0.853792984409961540, +-0.853766952709826280, -0.853740918875273260, -0.853714882906368320, -0.853688844803176190, -0.853662804565761930, -0.853636762194190600, -0.853610717688527480, -0.853584671048837510, +-0.853558622275185860, -0.853532571367637720, -0.853506518326257680, -0.853480463151111700, -0.853454405842264730, -0.853428346399781600, -0.853402284823727600, -0.853376221114168000, +-0.853350155271167310, -0.853324087294791700, -0.853298017185105890, -0.853271944942175060, -0.853245870566064380, -0.853219794056838900, -0.853193715414564010, -0.853167634639304890, +-0.853141551731126600, -0.853115466690094530, -0.853089379516273280, -0.853063290209729040, -0.853037198770526530, -0.853011105198731020, -0.852985009494407810, -0.852958911657621610, +-0.852932811688438600, -0.852906709586923490, -0.852880605353141700, -0.852854498987158370, -0.852828390489038690, -0.852802279858848160, -0.852776167096651940, -0.852750052202515210, +-0.852723935176503360, -0.852697816018681220, -0.852671694729115080, -0.852645571307869670, -0.852619445755010250, -0.852593318070602350, -0.852567188254711010, -0.852541056307401290, +-0.852514922228739480, -0.852488786018790300, -0.852462647677619150, -0.852436507205291400, -0.852410364601872360, -0.852384219867427410, -0.852358073002021930, -0.852331924005721220, +-0.852305772878590220, -0.852279619620695320, -0.852253464232101350, -0.852227306712873720, -0.852201147063077810, -0.852174985282779130, -0.852148821372042400, -0.852122655330934120, +-0.852096487159519240, -0.852070316857863050, -0.852044144426031160, -0.852017969864088840, -0.851991793172101610, -0.851965614350134960, -0.851939433398254290, -0.851913250316524430, +-0.851887065105012000, -0.851860877763781940, -0.851834688292899660, -0.851808496692430640, -0.851782302962440400, -0.851756107102993880, -0.851729909114157690, -0.851703708995996570, +-0.851677506748576230, -0.851651302371962180, -0.851625095866219820, -0.851598887231414750, -0.851572676467612480, -0.851546463574878510, -0.851520248553278350, -0.851494031402877050, +-0.851467812123741230, -0.851441590715935840, -0.851415367179526480, -0.851389141514578780, -0.851362913721157690, -0.851336683799329700, -0.851310451749160090, -0.851284217570714370, +-0.851257981264058050, -0.851231742829256840, -0.851205502266376260, -0.851179259575481910, -0.851153014756639400, -0.851126767809914360, -0.851100518735371960, -0.851074267533078690, +-0.851048014203099720, -0.851021758745500790, -0.850995501160347390, -0.850969241447705360, -0.850942979607639650, -0.850916715640216980, -0.850890449545502530, -0.850864181323562010, +-0.850837910974460930, -0.850811638498265130, -0.850785363895040230, -0.850759087164851930, -0.850732808307765880, -0.850706527323847440, -0.850680244213163020, -0.850653958975778110, +-0.850627671611758230, -0.850601382121169090, -0.850575090504076650, -0.850548796760545960, -0.850522500890643740, -0.850496202894435280, -0.850469902771986310, -0.850443600523362540, +-0.850417296148629820, -0.850390989647853870, -0.850364681021100410, -0.850338370268435280, -0.850312057389923660, -0.850285742385632480, -0.850259425255626920, -0.850233105999972700, +-0.850206784618735890, -0.850180461111981980, -0.850154135479776470, -0.850127807722186210, -0.850101477839276250, -0.850075145831112770, -0.850048811697761250, -0.850022475439287880, +-0.849996137055758160, -0.849969796547238250, -0.849943453913793780, -0.849917109155490570, -0.849890762272394240, -0.849864413264571410, -0.849838062132087570, -0.849811708875008680, +-0.849785353493400450, -0.849758995987328290, -0.849732636356859140, -0.849706274602058500, -0.849679910722992090, -0.849653544719725870, -0.849627176592325890, -0.849600806340857880, +-0.849574433965387900, -0.849548059465981780, -0.849521682842705570, -0.849495304095624680, -0.849468923224805940, -0.849442540230314960, -0.849416155112217570, -0.849389767870579850, +-0.849363378505467730, -0.849336987016946600, -0.849310593405083520, -0.849284197669944010, -0.849257799811593990, -0.849231399830099430, -0.849204997725526380, -0.849178593497940780, +-0.849152187147408810, -0.849125778673996300, -0.849099368077768870, -0.849072955358793570, -0.849046540517135790, -0.849020123552861720, -0.848993704466037280, -0.848967283256728660, +-0.848940859925001230, -0.848914434470922300, -0.848888006894557120, -0.848861577195971990, -0.848835145375232970, -0.848808711432405990, -0.848782275367557350, -0.848755837180752870, +-0.848729396872058950, -0.848702954441540980, -0.848676509889266130, -0.848650063215300010, -0.848623614419708680, -0.848597163502558320, -0.848570710463915080, -0.848544255303844590, +-0.848517798022413890, -0.848491338619688840, -0.848464877095735260, -0.848438413450619660, -0.848411947684407860, -0.848385479797166280, -0.848359009788961060, -0.848332537659858170, +-0.848306063409923980, -0.848279587039224240, -0.848253108547825980, -0.848226627935794950, -0.848200145203197310, -0.848173660350099330, -0.848147173376566640, -0.848120684282666630, +-0.848094193068464790, -0.848067699734027620, -0.848041204279421090, -0.848014706704711570, -0.847988207009965240, -0.847961705195248490, -0.847935201260627380, -0.847908695206168290, +-0.847882187031937070, -0.847855676738000770, -0.847829164324425340, -0.847802649791276950, -0.847776133138621880, -0.847749614366526070, -0.847723093475056700, -0.847696570464279710, +-0.847670045334261160, -0.847643518085067550, -0.847616988716765050, -0.847590457229420170, -0.847563923623099070, -0.847537387897868260, -0.847510850053793900, -0.847484310090942050, +-0.847457768009379770, -0.847431223809173130, -0.847404677490388390, -0.847378129053091960, -0.847351578497350320, -0.847325025823229220, -0.847298471030795920, -0.847271914120116490, +-0.847245355091257310, -0.847218793944284790, -0.847192230679265190, -0.847165665296265020, -0.847139097795350790, -0.847112528176588660, -0.847085956440044920, -0.847059382585786610, +-0.847032806613879920, -0.847006228524391220, -0.846979648317386810, -0.846953065992933410, -0.846926481551096840, -0.846899894991944620, -0.846873306315542580, -0.846846715521957340, +-0.846820122611255170, -0.846793527583502790, -0.846766930438766610, -0.846740331177113110, -0.846713729798608710, -0.846687126303319990, -0.846660520691313030, -0.846633912962655220, +-0.846607303117412720, -0.846580691155651820, -0.846554077077439240, -0.846527460882841030, -0.846500842571924710, -0.846474222144756210, -0.846447599601402030, -0.846420974941929030, +-0.846394348166403470, -0.846367719274892070, -0.846341088267461460, -0.846314455144178020, -0.846287819905108480, -0.846261182550319010, -0.846234543079876890, -0.846207901493848500, +-0.846181257792300360, -0.846154611975299060, -0.846127964042910800, -0.846101313995203050, -0.846074661832242110, -0.846048007554094370, -0.846021351160826660, -0.845994692652505710, +-0.845968032029197900, -0.845941369290969970, -0.845914704437888740, -0.845888037470020620, -0.845861368387431980, -0.845834697190190440, -0.845808023878362070, -0.845781348452013690, +-0.845754670911212040, -0.845727991256023600, -0.845701309486514670, -0.845674625602753080, -0.845647939604804780, -0.845621251492736700, -0.845594561266615470, -0.845567868926507930, +-0.845541174472480560, -0.845514477904600440, -0.845487779222933940, -0.845461078427547590, -0.845434375518509080, -0.845407670495884610, -0.845380963359740890, -0.845354254110144750, +-0.845327542747163040, -0.845300829270862030, -0.845274113681309450, -0.845247395978571460, -0.845220676162715010, -0.845193954233806940, -0.845167230191913980, -0.845140504037102840, +-0.845113775769440580, -0.845087045388993820, -0.845060312895828950, -0.845033578290013800, -0.845006841571614650, -0.844980102740698460, -0.844953361797331940, -0.844926618741582150, +-0.844899873573515150, -0.844873126293199110, -0.844846376900700190, -0.844819625396085350, -0.844792871779421420, -0.844766116050775340, -0.844739358210213950, -0.844712598257804090, +-0.844685836193612820, -0.844659072017706960, -0.844632305730152910, -0.844605537331018620, -0.844578766820370470, -0.844551994198275420, -0.844525219464800300, -0.844498442620011720, +-0.844471663663977520, -0.844444882596764200, -0.844418099418438590, -0.844391314129067760, -0.844364526728718650, -0.844337737217458200, -0.844310945595353470, -0.844284151862471300, +-0.844257356018878860, -0.844230558064642420, -0.844203757999830160, -0.844176955824508470, -0.844150151538744400, -0.844123345142604900, -0.844096536636157020, -0.844069726019467390, +-0.844042913292603950, -0.844016098455633190, -0.843989281508622180, -0.843962462451637970, -0.843935641284747630, -0.843908818008018090, -0.843881992621516640, -0.843855165125310110, +-0.843828335519465230, -0.843801503804050060, -0.843774669979130980, -0.843747834044775270, -0.843720996001050110, -0.843694155848022320, -0.843667313585758750, -0.843640469214327230, +-0.843613622733794700, -0.843586774144228000, -0.843559923445694420, -0.843533070638261000, -0.843506215721994910, -0.843479358696963330, -0.843452499563233320, -0.843425638320871580, +-0.843398774969946310, -0.843371909510523990, -0.843345041942671900, -0.843318172266457220, -0.843291300481947110, -0.843264426589208300, -0.843237550588308960, -0.843210672479315580, +-0.843183792262295670, -0.843156909937316180, -0.843130025504444490, -0.843103138963747670, -0.843076250315292990, -0.843049359559147730, -0.843022466695379060, -0.842995571724053820, +-0.842968674645240060, -0.842941775459004620, -0.842914874165414770, -0.842887970764537700, -0.842861065256440220, -0.842834157641190520, -0.842807247918855530, -0.842780336089502310, +-0.842753422153198370, -0.842726506110010760, -0.842699587960006990, -0.842672667703254110, -0.842645745339819730, -0.842618820869770910, -0.842591894293174490, -0.842564965610098860, +-0.842538034820610850, -0.842511101924777740, -0.842484166922666920, -0.842457229814345570, -0.842430290599880730, -0.842403349279340690, -0.842376405852792160, -0.842349460320302780, +-0.842322512681939580, -0.842295562937770190, -0.842268611087861880, -0.842241657132282050, -0.842214701071098080, -0.842187742904376920, -0.842160782632186740, -0.842133820254594710, +-0.842106855771668110, -0.842079889183474430, -0.842052920490080960, -0.842025949691554750, -0.841998976787964090, -0.841972001779376030, -0.841945024665857970, -0.841918045447477280, +-0.841891064124301590, -0.841864080696398060, -0.841837095163834540, -0.841810107526678180, -0.841783117784996040, -0.841756125938856630, -0.841729131988326880, -0.841702135933474320, +-0.841675137774366420, -0.841648137511070700, -0.841621135143654220, -0.841594130672185250, -0.841567124096730960, -0.841540115417358960, -0.841513104634136640, -0.841486091747131510, +-0.841459076756411180, -0.841432059662043150, -0.841405040464094920, -0.841378019162633660, -0.841350995757727870, -0.841323970249444610, -0.841296942637851260, -0.841269912923015670, +-0.841242881105005340, -0.841215847183887750, -0.841188811159730100, -0.841161773032600870, -0.841134732802567230, -0.841107690469696690, -0.841080646034056970, -0.841053599495715680, +-0.841026550854740430, -0.840999500111198620, -0.840972447265157740, -0.840945392316686190, -0.840918335265851140, -0.840891276112720190, -0.840864214857361180, -0.840837151499841510, +-0.840810086040229000, -0.840783018478590830, -0.840755948814995600, -0.840728877049510490, -0.840701803182203110, -0.840674727213141290, -0.840647649142392650, -0.840620568970024910, +-0.840593486696105780, -0.840566402320702790, -0.840539315843883420, -0.840512227265716280, -0.840485136586268440, -0.840458043805607850, -0.840430948923802210, -0.840403851940919040, +-0.840376752857025840, -0.840349651672191330, -0.840322548386482570, -0.840295442999967500, -0.840268335512713740, -0.840241225924789230, -0.840214114236261580, -0.840187000447198740, +-0.840159884557668320, -0.840132766567737720, -0.840105646477475650, -0.840078524286949620, -0.840051399996227130, -0.840024273605376240, -0.839997145114464550, -0.839970014523560020, +-0.839942881832730030, -0.839915747042043300, -0.839888610151567240, -0.839861471161369670, -0.839834330071518310, -0.839807186882081220, -0.839780041593126140, -0.839752894204720880, +-0.839725744716932950, -0.839698593129831190, -0.839671439443482880, -0.839644283657956070, -0.839617125773318480, -0.839589965789638070, -0.839562803706982770, -0.839535639525419990, +-0.839508473245018540, -0.839481304865845930, -0.839454134387970120, -0.839426961811458930, -0.839399787136380300, -0.839372610362802200, -0.839345431490792660, -0.839318250520418970, +-0.839291067451750190, -0.839263882284853710, -0.839236695019797590, -0.839209505656649650, -0.839182314195477950, -0.839155120636350560, -0.839127924979334750, -0.839100727224499690, +-0.839073527371912760, -0.839046325421642040, -0.839019121373755560, -0.838991915228321280, -0.838964706985407150, -0.838937496645081220, -0.838910284207411650, -0.838883069672465840, +-0.838855853040312850, -0.838828634311020170, -0.838801413484655980, -0.838774190561288210, -0.838746965540985050, -0.838719738423813870, -0.838692509209843840, -0.838665277899142580, +-0.838638044491778150, -0.838610808987818590, -0.838583571387331970, -0.838556331690386460, -0.838529089897050110, -0.838501846007391080, -0.838474600021476890, -0.838447351939376690, +-0.838420101761158220, -0.838392849486889410, -0.838365595116638440, -0.838338338650473470, -0.838311080088462780, -0.838283819430673760, -0.838256556677175800, -0.838229291828036290, +-0.838202024883323740, -0.838174755843105970, -0.838147484707451370, -0.838120211476428120, -0.838092936150104270, -0.838065658728547660, -0.838038379211827330, -0.838011097600011020, +-0.837983813893167010, -0.837956528091363450, -0.837929240194668630, -0.837901950203150610, -0.837874658116877340, -0.837847363935917850, -0.837820067660339900, -0.837792769290211960, +-0.837765468825601880, -0.837738166266578270, -0.837710861613209180, -0.837683554865563010, -0.837656246023707360, -0.837628935087711630, -0.837601622057643550, -0.837574306933571490, +-0.837546989715563630, -0.837519670403688240, -0.837492348998013720, -0.837465025498607800, -0.837437699905539850, -0.837410372218877600, -0.837383042438689440, -0.837355710565043650, +-0.837328376598008630, -0.837301040537652640, -0.837273702384044080, -0.837246362137251340, -0.837219019797342030, -0.837191675364385770, -0.837164328838450380, -0.837136980219604030, +-0.837109629507915340, -0.837082276703452480, -0.837054921806283490, -0.837027564816477660, -0.837000205734102940, -0.836972844559227710, -0.836945481291920370, -0.836918115932249300, +-0.836890748480283000, -0.836863378936089750, -0.836836007299738170, -0.836808633571295980, -0.836781257750832670, -0.836753879838416310, -0.836726499834115180, -0.836699117737997880, +-0.836671733550132690, -0.836644347270588230, -0.836616958899432440, -0.836589568436734710, -0.836562175882562990, -0.836534781236985880, -0.836507384500071890, -0.836479985671889300, +-0.836452584752506830, -0.836425181741992870, -0.836397776640415590, -0.836370369447844150, -0.836342960164346950, -0.836315548789992260, -0.836288135324848800, -0.836260719768984860, +-0.836233302122469160, -0.836205882385369750, -0.836178460557756130, -0.836151036639696370, -0.836123610631259060, -0.836096182532512610, -0.836068752343525730, -0.836041320064367040, +-0.836013885695105040, -0.835986449235807780, -0.835959010686544880, -0.835931570047384500, -0.835904127318395250, -0.835876682499645530, -0.835849235591204160, -0.835821786593139770, +-0.835794335505520400, -0.835766882328415670, -0.835739427061893750, -0.835711969706023240, -0.835684510260872760, -0.835657048726511140, -0.835629585103006780, -0.835602119390428500, +-0.835574651588844920, -0.835547181698324200, -0.835519709718935970, -0.835492235650748590, -0.835464759493830480, -0.835437281248250560, -0.835409800914077460, -0.835382318491379340, +-0.835354833980225920, -0.835327347380685370, -0.835299858692826520, -0.835272367916717990, -0.835244875052428500, -0.835217380100026880, -0.835189883059581750, -0.835162383931162040, +-0.835134882714835710, -0.835107379410672810, -0.835079874018741400, -0.835052366539110300, -0.835024856971848250, -0.834997345317024080, -0.834969831574706610, -0.834942315744964030, +-0.834914797827866150, -0.834887277823481270, -0.834859755731878210, -0.834832231553125800, -0.834804705287292670, -0.834777176934447970, -0.834749646494660210, -0.834722113967997890, +-0.834694579354530730, -0.834667042654327120, -0.834639503867455890, -0.834611962993985990, -0.834584420033986140, -0.834556874987525180, -0.834529327854671600, -0.834501778635495130, +-0.834474227330064270, -0.834446673938447850, -0.834419118460714700, -0.834391560896933780, -0.834364001247174030, -0.834336439511504270, -0.834308875689992790, -0.834281309782709650, +-0.834253741789723340, -0.834226171711102580, -0.834198599546916440, -0.834171025297233750, -0.834143448962123560, -0.834115870541654260, -0.834088290035895690, -0.834060707444916450, +-0.834033122768785380, -0.834005536007571660, -0.833977947161343990, -0.833950356230171440, -0.833922763214123060, -0.833895168113267690, -0.833867570927673940, -0.833839971657411750, +-0.833812370302549730, -0.833784766863156720, -0.833757161339301780, -0.833729553731053840, -0.833701944038481630, -0.833674332261655100, -0.833646718400642640, -0.833619102455513410, +-0.833591484426336460, -0.833563864313180860, -0.833536242116115430, -0.833508617835209460, -0.833480991470532010, -0.833453363022151560, -0.833425732490138180, -0.833398099874560480, +-0.833370465175487520, -0.833342828392988340, -0.833315189527132240, -0.833287548577987590, -0.833259905545624570, -0.833232260430111780, -0.833204613231518290, -0.833176963949913360, +-0.833149312585365950, -0.833121659137945230, -0.833094003607720460, -0.833066345994760590, -0.833038686299134470, -0.833011024520912020, -0.832983360660162100, -0.832955694716953630, +-0.832928026691356130, -0.832900356583438420, -0.832872684393269890, -0.832845010120919050, -0.832817333766456280, -0.832789655329950200, -0.832761974811469850, -0.832734292211084750, +-0.832706607528863720, -0.832678920764876370, -0.832651231919191550, -0.832623540991878190, -0.832595847983006570, -0.832568152892645190, -0.832540455720863550, -0.832512756467730710, +-0.832485055133316050, -0.832457351717688640, -0.832429646220917420, -0.832401938643072550, -0.832374228984222860, -0.832346517244437640, -0.832318803423786060, -0.832291087522337490, +-0.832263369540161220, -0.832235649477326530, -0.832207927333902700, -0.832180203109958550, -0.832152476805564370, -0.832124748420788980, -0.832097017955701790, -0.832069285410372060, +-0.832041550784869080, -0.832013814079261670, -0.831986075293620340, -0.831958334428013700, -0.831930591482511360, -0.831902846457182490, -0.831875099352096470, -0.831847350167322700, +-0.831819598902930560, -0.831791845558989440, -0.831764090135568180, -0.831736332632737270, -0.831708573050565450, -0.831680811389122200, -0.831653047648476920, -0.831625281828699100, +-0.831597513929857480, -0.831569743952022660, -0.831541971895263470, -0.831514197759649300, -0.831486421545249650, -0.831458643252133920, -0.831430862880371600, -0.831403080430032190, +-0.831375295901184970, -0.831347509293899110, -0.831319720608244880, -0.831291929844291460, -0.831264137002108110, -0.831236342081764450, -0.831208545083329970, -0.831180746006874080, +-0.831152944852465940, -0.831125141620175810, -0.831097336310072880, -0.831069528922226630, -0.831041719456706460, -0.831013907913582090, -0.830986094292922920, -0.830958278594798540, +-0.830930460819277910, -0.830902640966431630, -0.830874819036328870, -0.830846995029038910, -0.830819168944631480, -0.830791340783176180, -0.830763510544742510, -0.830735678229399640, +-0.830707843837217960, -0.830680007368266750, -0.830652168822615500, -0.830624328200333830, -0.830596485501491340, -0.830568640726157550, -0.830540793874402270, -0.830512944946295020, +-0.830485093941904840, -0.830457240861302460, -0.830429385704556930, -0.830401528471737980, -0.830373669162915220, -0.830345807778158250, -0.830317944317536250, -0.830290078781119930, +-0.830262211168978360, -0.830234341481181250, -0.830206469717798430, -0.830178595878899310, -0.830150719964553700, -0.830122841974831330, -0.830094961909801920, -0.830067079769534530, +-0.830039195554099880, -0.830011309263567370, -0.829983420898006470, -0.829955530457487160, -0.829927637942078910, -0.829899743351851020, -0.829871846686874410, -0.829843947947218050, +-0.829816047132951980, -0.829788144244145710, -0.829760239280869060, -0.829732332243191760, -0.829704423131183750, -0.829676511944914650, -0.829648598684453730, -0.829620683349871820, +-0.829592765941238210, -0.829564846458622720, -0.829536924902095070, -0.829509001271725110, -0.829481075567582660, -0.829453147789737000, -0.829425217938258960, -0.829397286013217940, +-0.829369352014683650, -0.829341415942726030, -0.829313477797414820, -0.829285537578819950, -0.829257595287011260, -0.829229650922058030, -0.829201704484031190, -0.829173755973000140, +-0.829145805389034600, -0.829117852732204620, -0.829089898002579930, -0.829061941200230580, -0.829033982325225850, -0.829006021377636680, -0.828978058357532350, -0.828950093264983030, +-0.828922126100058440, -0.828894156862828520, -0.828866185553363110, -0.828838212171732370, -0.828810236718006020, -0.828782259192253680, -0.828754279594546060, -0.828726297924952780, +-0.828698314183543780, -0.828670328370389010, -0.828642340485558400, -0.828614350529121470, -0.828586358501149150, -0.828558364401710930, -0.828530368230876780, -0.828502369988716740, +-0.828474369675300750, -0.828446367290698870, -0.828418362834981050, -0.828390356308217330, -0.828362347710477120, -0.828334337041831680, -0.828306324302350290, -0.828278309492103240, +-0.828250292611160340, -0.828222273659591670, -0.828194252637466820, -0.828166229544856860, -0.828138204381831280, -0.828110177148460250, -0.828082147844813820, -0.828054116470961940, +-0.828026083026974780, -0.827998047512922390, -0.827970009928874930, -0.827941970274901910, -0.827913928551074490, -0.827885884757462280, -0.827857838894135330, -0.827829790961163710, +-0.827801740958617690, -0.827773688886567330, -0.827745634745082230, -0.827717578534233560, -0.827689520254090930, -0.827661459904724510, -0.827633397486204460, -0.827605332998600840, +-0.827577266441983930, -0.827549197816423890, -0.827521127121990330, -0.827493054358754420, -0.827464979526785880, -0.827436902626154880, -0.827408823656931690, -0.827380742619186370, +-0.827352659512989200, -0.827324574338409890, -0.827296487095519730, -0.827268397784388210, -0.827240306405085830, -0.827212212957682660, -0.827184117442248850, -0.827156019858854900, +-0.827127920207570750, -0.827099818488466370, -0.827071714701613000, -0.827043608847080280, -0.827015500924938580, -0.826987390935258080, -0.826959278878109050, -0.826931164753561990, +-0.826903048561686390, -0.826874930302553660, -0.826846809976233720, -0.826818687582796640, -0.826790563122312920, -0.826762436594852710, -0.826734308000486420, -0.826706177339284420, +-0.826678044611317000, -0.826649909816653870, -0.826621772955366540, -0.826593634027524730, -0.826565493033198930, -0.826537349972459310, -0.826509204845376270, -0.826481057652019850, +-0.826452908392461220, -0.826424757066770320, -0.826396603675017440, -0.826368448217273180, -0.826340290693607700, -0.826312131104091630, -0.826283969448795120, -0.826255805727788780, +-0.826227639941142340, -0.826199472088927300, -0.826171302171213600, -0.826143130188071620, -0.826114956139571870, -0.826086780025784730, -0.826058601846780590, -0.826030421602629520, +-0.826002239293402770, -0.825974054919170530, -0.825945868480003180, -0.825917679975971100, -0.825889489407144790, -0.825861296773594770, -0.825833102075391510, -0.825804905312605090, +-0.825776706485306770, -0.825748505593566720, -0.825720302637455440, -0.825692097617043430, -0.825663890532401190, -0.825635681383599110, -0.825607470170707460, -0.825579256893797520, +-0.825551041552939460, -0.825522824148203880, -0.825494604679661180, -0.825466383147381970, -0.825438159551436850, -0.825409933891896210, -0.825381706168830330, -0.825353476382310710, +-0.825325244532407300, -0.825297010619190810, -0.825268774642731850, -0.825240536603100930, -0.825212296500368650, -0.825184054334605180, -0.825155810105882010, -0.825127563814269330, +-0.825099315459837720, -0.825071065042657930, -0.825042812562800320, -0.825014558020335850, -0.824986301415334910, -0.824958042747868100, -0.824929782018005820, -0.824901519225819560, +-0.824873254371379480, -0.824844987454756320, -0.824816718476020670, -0.824788447435243150, -0.824760174332494040, -0.824731899167845060, -0.824703621941366260, -0.824675342653128470, +-0.824647061303202310, -0.824618777891658490, -0.824590492418567740, -0.824562204884000670, -0.824533915288028220, -0.824505623630720330, -0.824477329912148950, -0.824449034132384350, +-0.824420736291497040, -0.824392436389557950, -0.824364134426637700, -0.824335830402807220, -0.824307524318136590, -0.824279216172697620, -0.824250905966560700, -0.824222593699796450, +-0.824194279372475690, -0.824165962984669380, -0.824137644536448000, -0.824109324027882620, -0.824081001459043390, -0.824052676830002050, -0.824024350140829200, -0.823996021391595330, +-0.823967690582371510, -0.823939357713228350, -0.823911022784236890, -0.823882685795467420, -0.823854346746991650, -0.823826005638879980, -0.823797662471203340, -0.823769317244032570, +-0.823740969957438510, -0.823712620611491970, -0.823684269206264030, -0.823655915741824730, -0.823627560218246240, -0.823599202635598830, -0.823570842993953330, -0.823542481293380810, +-0.823514117533952090, -0.823485751715738120, -0.823457383838809180, -0.823429013903237310, -0.823400641909092900, -0.823372267856446900, -0.823343891745370260, -0.823315513575933800, +-0.823287133348208690, -0.823258751062265650, -0.823230366718175730, -0.823201980316009440, -0.823173591855838720, -0.823145201337733940, -0.823116808761766180, -0.823088414128006370, +-0.823060017436525570, -0.823031618687394270, -0.823003217880684420, -0.822974815016466410, -0.822946410094811510, -0.822918003115790440, -0.822889594079474480, -0.822861182985934470, +-0.822832769835241560, -0.822804354627466710, -0.822775937362680400, -0.822747518040954810, -0.822719096662360430, -0.822690673226968320, -0.822662247734849420, -0.822633820186075000, +-0.822605390580716020, -0.822576958918843080, -0.822548525200528240, -0.822520089425842090, -0.822491651594855710, -0.822463211707640140, -0.822434769764266550, -0.822406325764806100, +-0.822377879709329850, -0.822349431597908300, -0.822320981430613720, -0.822292529207516720, -0.822264074928688360, -0.822235618594199910, -0.822207160204122320, -0.822178699758526750, +-0.822150237257484040, -0.822121772701066230, -0.822093306089344060, -0.822064837422388450, -0.822036366700270920, -0.822007893923062390, -0.821979419090834160, -0.821950942203657280, +-0.821922463261602680, -0.821893982264742310, -0.821865499213147110, -0.821837014106888030, -0.821808526946036460, -0.821780037730663550, -0.821751546460840700, -0.821723053136638290, +-0.821694557758128830, -0.821666060325383030, -0.821637560838471950, -0.821609059297467080, -0.821580555702439490, -0.821552050053460550, -0.821523542350601430, -0.821495032593933530, +-0.821466520783527550, -0.821438006919455790, -0.821409491001788950, -0.821380973030598320, -0.821352453005955390, -0.821323930927931210, -0.821295406796596850, -0.821266880612024350, +-0.821238352374284660, -0.821209822083449170, -0.821181289739589040, -0.821152755342775760, -0.821124218893080520, -0.821095680390574790, -0.821067139835329750, -0.821038597227416460, +-0.821010052566907180, -0.820981505853872750, -0.820952957088384560, -0.820924406270514000, -0.820895853400332330, -0.820867298477911180, -0.820838741503321150, -0.820810182476634840, +-0.820781621397922990, -0.820753058267257200, -0.820724493084708740, -0.820695925850349010, -0.820667356564249490, -0.820638785226481480, -0.820610211837116130, -0.820581636396225720, +-0.820553058903881190, -0.820524479360154050, -0.820495897765115670, -0.820467314118837550, -0.820438728421391210, -0.820410140672847450, -0.820381550873279020, -0.820352959022756510, +-0.820324365121351650, -0.820295769169135940, -0.820267171166180750, -0.820238571112557710, -0.820209969008338200, -0.820181364853593280, -0.820152758648395430, -0.820124150392815610, +-0.820095540086925530, -0.820066927730796590, -0.820038313324500280, -0.820009696868108210, -0.819981078361691430, -0.819952457805322330, -0.819923835199072190, -0.819895210543012510, +-0.819866583837214670, -0.819837955081750500, -0.819809324276691400, -0.819780691422108960, -0.819752056518074810, -0.819723419564659990, -0.819694780561937120, -0.819666139509977350, +-0.819637496408852200, -0.819608851258633360, -0.819580204059392250, -0.819551554811200230, -0.819522903514129820, -0.819494250168252170, -0.819465594773638890, -0.819436937330361600, +-0.819408277838492020, -0.819379616298101740, -0.819350952709262390, -0.819322287072045690, -0.819293619386522680, -0.819264949652766190, -0.819236277870847300, -0.819207604040837700, +-0.819178928162809130, -0.819150250236833190, -0.819121570262981710, -0.819092888241325760, -0.819064204171938040, -0.819035518054889940, -0.819006829890252970, -0.818978139678098960, +-0.818949447418499510, -0.818920753111526460, -0.818892056757251630, -0.818863358355746080, -0.818834657907082650, -0.818805955411332500, -0.818777250868567560, -0.818748544278859460, +-0.818719835642280010, -0.818691124958900950, -0.818662412228793660, -0.818633697452030740, -0.818604980628683590, -0.818576261758824030, -0.818547540842523790, -0.818518817879854700, +-0.818490092870888590, -0.818461365815697170, -0.818432636714351960, -0.818403905566925550, -0.818375172373489450, -0.818346437134115370, -0.818317699848875260, -0.818288960517840840, +-0.818260219141084040, -0.818231475718676160, -0.818202730250690120, -0.818173982737197210, -0.818145233178269480, -0.818116481573978540, -0.818087727924396440, -0.818058972229595010, +-0.818030214489646190, -0.818001454704621820, -0.817972692874593290, -0.817943928999633530, -0.817915163079813930, -0.817886395115206440, -0.817857625105882890, -0.817828853051915440, +-0.817800078953375250, -0.817771302810335390, -0.817742524622867230, -0.817713744391042830, -0.817684962114934020, -0.817656177794612750, -0.817627391430151170, -0.817598603021621020, +-0.817569812569094450, -0.817541020072642730, -0.817512225532339040, -0.817483428948254760, -0.817454630320461950, -0.817425829649032430, -0.817397026934038480, -0.817368222175551940, +-0.817339415373644300, -0.817310606528388610, -0.817281795639856480, -0.817252982708119860, -0.817224167733250680, -0.817195350715321120, -0.817166531654403230, -0.817137710550569050, +-0.817108887403889980, -0.817080062214439180, -0.817051234982288380, -0.817022405707509390, -0.816993574390174390, -0.816964741030355430, -0.816935905628124680, -0.816907068183553630, +-0.816878228696715450, -0.816849387167681630, -0.816820543596524340, -0.816791697983315750, -0.816762850328127900, -0.816734000631032960, -0.816705148892102990, -0.816676295111409600, +-0.816647439289026060, -0.816618581425023860, -0.816589721519475180, -0.816560859572452280, -0.816531995584027230, -0.816503129554272070, -0.816474261483258630, -0.816445391371060090, +-0.816416519217748050, -0.816387645023394780, -0.816358768788072340, -0.816329890511852900, -0.816301010194808830, -0.816272127837012200, -0.816243243438535270, -0.816214356999449770, +-0.816185468519828870, -0.816156577999744170, -0.816127685439268170, -0.816098790838472920, -0.816069894197430590, -0.816040995516213120, -0.816012094794893670, -0.815983192033543970, +-0.815954287232236290, -0.815925380391042900, -0.815896471510036080, -0.815867560589288000, -0.815838647628871150, -0.815809732628857590, -0.815780815589319140, -0.815751896510329200, +-0.815722975391959590, -0.815694052234282490, -0.815665127037370260, -0.815636199801295200, -0.815607270526129140, -0.815578339211945450, -0.815549405858815860, -0.815520470466812860, +-0.815491533036008520, -0.815462593566475440, -0.815433652058285880, -0.815404708511512140, -0.815375762926226710, -0.815346815302501300, -0.815317865640409420, -0.815288913940022790, +-0.815259960201414000, -0.815231004424655240, -0.815202046609818880, -0.815173086756977530, -0.815144124866202910, -0.815115160937568530, -0.815086194971146210, -0.815057226967008330, +-0.815028256925227510, -0.814999284845875920, -0.814970310729026260, -0.814941334574750710, -0.814912356383121320, -0.814883376154211690, -0.814854393888093440, -0.814825409584839290, +-0.814796423244521620, -0.814767434867212930, -0.814738444452985600, -0.814709452001911580, -0.814680457514064590, -0.814651460989516350, -0.814622462428339470, -0.814593461830606440, +-0.814564459196389870, -0.814535454525762040, -0.814506447818795550, -0.814477439075562910, -0.814448428296136280, -0.814419415480589050, -0.814390400628993260, -0.814361383741421530, +-0.814332364817946240, -0.814303343858640120, -0.814274320863575100, -0.814245295832824790, -0.814216268766461250, -0.814187239664556970, -0.814158208527184680, -0.814129175354416870, +-0.814100140146326030, -0.814071102902984900, -0.814042063624466070, -0.814013022310841490, -0.813983978962184880, -0.813954933578568300, -0.813925886160064450, -0.813896836706745840, +-0.813867785218685190, -0.813838731695954550, -0.813809676138627540, -0.813780618546776410, -0.813751558920473680, -0.813722497259792070, -0.813693433564804170, -0.813664367835582710, +-0.813635300072200420, -0.813606230274729780, -0.813577158443243080, -0.813548084577814020, -0.813519008678514680, -0.813489930745417980, -0.813460850778596310, -0.813431768778122510, +-0.813402684744069290, -0.813373598676508940, -0.813344510575515050, -0.813315420441159900, -0.813286328273516100, -0.813257234072656600, -0.813228137838654000, -0.813199039571581020, +-0.813169939271510490, -0.813140836938514580, -0.813111732572667000, -0.813082626174040150, -0.813053517742706840, -0.813024407278739590, -0.812995294782211440, -0.812966180253194890, +-0.812937063691762550, -0.812907945097987920, -0.812878824471943600, -0.812849701813702090, -0.812820577123336330, -0.812791450400919160, -0.812762321646523400, -0.812733190860221780, +-0.812704058042087120, -0.812674923192191920, -0.812645786310609910, -0.812616647397413350, -0.812587506452675300, -0.812558363476468370, -0.812529218468865610, -0.812500071429939190, +-0.812470922359763150, -0.812441771258409880, -0.812412618125952110, -0.812383462962462780, -0.812354305768014820, -0.812325146542681180, -0.812295985286534570, -0.812266821999648060, +-0.812237656682093910, -0.812208489333946180, -0.812179319955277260, -0.812150148546159970, -0.812120975106667250, -0.812091799636872170, -0.812062622136847100, -0.812033442606665990, +-0.812004261046401330, -0.811975077456125850, -0.811945891835912810, -0.811916704185835060, -0.811887514505965410, -0.811858322796377040, -0.811829129057143000, -0.811799933288335440, +-0.811770735490028650, -0.811741535662295010, -0.811712333805207460, -0.811683129918839170, -0.811653924003262970, -0.811624716058552020, -0.811595506084778820, -0.811566294082017300, +-0.811537080050340090, -0.811507863989820110, -0.811478645900530430, -0.811449425782544310, -0.811420203635934480, -0.811390979460774210, -0.811361753257135890, -0.811332525025093790, +-0.811303294764720410, -0.811274062476088690, -0.811244828159271790, -0.811215591814342880, -0.811186353441375130, -0.811157113040440800, -0.811127870611614290, -0.811098626154968080, +-0.811069379670575240, -0.811040131158509040, -0.811010880618842410, -0.810981628051648640, -0.810952373457000890, -0.810923116834971540, -0.810893858185635090, -0.810864597509063810, +-0.810835334805331100, -0.810806070074510110, -0.810776803316673900, -0.810747534531895630, -0.810718263720248130, -0.810688990881805350, -0.810659716016640220, -0.810630439124825690, +-0.810601160206435130, -0.810571879261541730, -0.810542596290218520, -0.810513311292538900, -0.810484024268575910, -0.810454735218402390, -0.810425444142092610, -0.810396151039719070, +-0.810366855911355270, -0.810337558757074360, -0.810308259576949520, -0.810278958371053460, -0.810249655139460570, -0.810220349882243450, -0.810191042599475610, -0.810161733291230090, +-0.810132421957580170, -0.810103108598599240, -0.810073793214360570, -0.810044475804937440, -0.810015156370402560, -0.809985834910830320, -0.809956511426293550, -0.809927185916865410, +-0.809897858382619300, -0.809868528823628590, -0.809839197239966560, -0.809809863631706040, -0.809780527998921310, -0.809751190341685300, -0.809721850660071300, -0.809692508954152790, +-0.809663165224002830, -0.809633819469695040, -0.809604471691302670, -0.809575121888898690, -0.809545770062557350, -0.809516416212351600, -0.809487060338354820, -0.809457702440640410, +-0.809428342519281640, -0.809398980574352110, -0.809369616605924550, -0.809340250614073550, -0.809310882598871850, -0.809281512560392930, -0.809252140498710300, -0.809222766413897340, +-0.809193390306027440, -0.809164012175173970, -0.809134632021410010, -0.809105249844810030, -0.809075865645446870, -0.809046479423394030, -0.809017091178725110, -0.808987700911513400, +-0.808958308621832380, -0.808928914309755110, -0.808899517975356090, -0.808870119618708250, -0.808840719239885100, -0.808811316838960240, -0.808781912416006940, -0.808752505971099040, +-0.808723097504309710, -0.808693687015712760, -0.808664274505381030, -0.808634859973389130, -0.808605443419810000, -0.808576024844717360, -0.808546604248184700, -0.808517181630285410, +-0.808487756991092650, -0.808458330330681150, -0.808428901649123730, -0.808399470946494000, -0.808370038222865680, -0.808340603478312270, -0.808311166712907370, -0.808281727926724480, +-0.808252287119837320, -0.808222844292318940, -0.808193399444243840, -0.808163952575685410, -0.808134503686717020, -0.808105052777412400, -0.808075599847845050, -0.808046144898088790, +-0.808016687928216680, -0.807987228938303330, -0.807957767928421890, -0.807928304898646090, -0.807898839849049420, -0.807869372779705720, -0.807839903690688590, -0.807810432582071640, +-0.807780959453928250, -0.807751484306332810, -0.807722007139358710, -0.807692527953079660, -0.807663046747569170, -0.807633563522901170, -0.807604078279149150, -0.807574591016386510, +-0.807545101734687960, -0.807515610434126560, -0.807486117114776140, -0.807456621776710400, -0.807427124420003190, -0.807397625044728120, -0.807368123650959000, -0.807338620238769120, +-0.807309114808233090, -0.807279607359424390, -0.807250097892416530, -0.807220586407283560, -0.807191072904098970, -0.807161557382936820, -0.807132039843870270, -0.807102520286974160, +-0.807072998712321630, -0.807043475119986640, -0.807013949510043020, -0.806984421882564470, -0.806954892237624950, -0.806925360575298070, -0.806895826895657860, -0.806866291198777620, +-0.806836753484732050, -0.806807213753594770, -0.806777672005439260, -0.806748128240339700, -0.806718582458369800, -0.806689034659602840, -0.806659484844113870, -0.806629933011976270, +-0.806600379163263770, -0.806570823298050300, -0.806541265416409690, -0.806511705518416110, -0.806482143604143160, -0.806452579673664790, -0.806423013727054610, -0.806393445764387320, +-0.806363875785736430, -0.806334303791175770, -0.806304729780779490, -0.806275153754621330, -0.806245575712775220, -0.806215995655314770, -0.806186413582314800, -0.806156829493848810, +-0.806127243389990640, -0.806097655270814450, -0.806068065136394170, -0.806038472986803640, -0.806008878822117030, -0.805979282642407590, -0.805949684447750500, -0.805920084238219260, +-0.805890482013887690, -0.805860877774830060, -0.805831271521120110, -0.805801663252832090, -0.805772052970039290, -0.805742440672816970, -0.805712826361238420, -0.805683210035377910, +-0.805653591695309370, -0.805623971341106860, -0.805594348972844430, -0.805564724590596030, -0.805535098194435360, -0.805505469784437490, -0.805475839360675900, -0.805446206923224770, +-0.805416572472158030, -0.805386936007549960, -0.805357297529474490, -0.805327657038005350, -0.805298014533217480, -0.805268370015184590, -0.805238723483980840, -0.805209074939680190, +-0.805179424382356900, -0.805149771812085020, -0.805120117228938730, -0.805090460632992170, -0.805060802024318960, -0.805031141402994250, -0.805001478769091670, -0.804971814122685370, +-0.804942147463849510, -0.804912478792658370, -0.804882808109185440, -0.804853135413506000, -0.804823460705693880, -0.804793783985822910, -0.804764105253967580, -0.804734424510201940, +-0.804704741754600270, -0.804675056987236740, -0.804645370208185610, -0.804615681417520490, -0.804585990615316660, -0.804556297801647950, -0.804526602976588400, -0.804496906140212410, +-0.804467207292594130, -0.804437506433807850, -0.804407803563927160, -0.804378098683027560, -0.804348391791182780, -0.804318682888466970, -0.804288971974954530, -0.804259259050719490, +-0.804229544115836470, -0.804199827170379520, -0.804170108214422470, -0.804140387248040710, -0.804110664271307950, -0.804080939284298470, -0.804051212287086760, -0.804021483279746980, +-0.803991752262353420, -0.803962019234980010, -0.803932284197702130, -0.803902547150593500, -0.803872808093728410, -0.803843067027181450, -0.803813323951026780, -0.803783578865338690, +-0.803753831770191770, -0.803724082665659760, -0.803694331551818020, -0.803664578428740390, -0.803634823296501380, -0.803605066155175350, -0.803575307004836590, -0.803545545845559590, +-0.803515782677418300, -0.803486017500487870, -0.803456250314842580, -0.803426481120556590, -0.803396709917704400, -0.803366936706360390, -0.803337161486599170, -0.803307384258494910, +-0.803277605022122200, -0.803247823777555100, -0.803218040524868780, -0.803188255264137400, -0.803158467995435440, -0.803128678718837310, -0.803098887434417490, -0.803069094142249920, +-0.803039298842410100, -0.803009501534972080, -0.802979702220010250, -0.802949900897599210, -0.802920097567813460, -0.802890292230727390, -0.802860484886415590, -0.802830675534952580, +-0.802800864176412390, -0.802771050810870520, -0.802741235438401040, -0.802711418059078530, -0.802681598672977390, -0.802651777280172340, -0.802621953880737760, -0.802592128474747810, +-0.802562301062278110, -0.802532471643402580, -0.802502640218195950, -0.802472806786732720, -0.802442971349087380, -0.802413133905334640, -0.802383294455549120, -0.802353452999804760, +-0.802323609538177380, -0.802293764070740930, -0.802263916597570130, -0.802234067118739460, -0.802204215634323650, -0.802174362144397300, -0.802144506649034470, -0.802114649148310990, +-0.802084789642300790, -0.802054928131078700, -0.802025064614719340, -0.801995199093297200, -0.801965331566887100, -0.801935462035563650, -0.801905590499401020, -0.801875716958475040, +-0.801845841412859640, -0.801815963862629650, -0.801786084307859800, -0.801756202748624800, -0.801726319184999260, -0.801696433617057340, -0.801666546044874860, -0.801636656468526000, +-0.801606764888085580, -0.801576871303628200, -0.801546975715228700, -0.801517078122961690, -0.801487178526901990, -0.801457276927124320, -0.801427373323702950, -0.801397467716713720, +-0.801367560106230780, -0.801337650492328970, -0.801307738875083000, -0.801277825254567700, -0.801247909630857350, -0.801217992004027660, -0.801188072374153130, -0.801158150741308250, +-0.801128227105568080, -0.801098301467007450, -0.801068373825700950, -0.801038444181723430, -0.801008512535149930, -0.800978578886054620, -0.800948643234513310, -0.800918705580600410, +-0.800888765924390840, -0.800858824265959330, -0.800828880605380710, -0.800798934942729800, -0.800768987278081210, -0.800739037611510550, -0.800709085943092310, -0.800679132272901440, +-0.800649176601012650, -0.800619218927500990, -0.800589259252441290, -0.800559297575908380, -0.800529333897976650, -0.800499368218722250, -0.800469400538219360, -0.800439430856543010, +-0.800409459173768050, -0.800379485489969400, -0.800349509805222010, -0.800319532119600390, -0.800289552433180450, -0.800259570746036710, -0.800229587058243990, -0.800199601369877220, +-0.800169613681011470, -0.800139623991721780, -0.800109632302082980, -0.800079638612169570, -0.800049642922057600, -0.800019645231821560, -0.799989645541536290, -0.799959643851277050, +-0.799929640161118670, -0.799899634471136100, -0.799869626781403940, -0.799839617091998250, -0.799809605402993620, -0.799779591714464890, -0.799749576026487110, -0.799719558339135550, +-0.799689538652484930, -0.799659516966610530, -0.799629493281587390, -0.799599467597489900, -0.799569439914394330, -0.799539410232375180, -0.799509378551507500, -0.799479344871866340, +-0.799449309193526860, -0.799419271516563560, -0.799389231841052590, -0.799359190167068470, -0.799329146494686450, -0.799299100823981590, -0.799269053155028940, -0.799239003487903670, +-0.799208951822680920, -0.799178898159435770, -0.799148842498242810, -0.799118784839178310, -0.799088725182316880, -0.799058663527733580, -0.799028599875503680, -0.798998534225702220, +-0.798968466578403920, -0.798938396933684960, -0.798908325291620040, -0.798878251652284320, -0.798848176015752980, -0.798818098382101160, -0.798788018751404040, -0.798757937123736990, +-0.798727853499175080, -0.798697767877792900, -0.798667680259666950, -0.798637590644871720, -0.798607499033482600, -0.798577405425574650, -0.798547309821223240, -0.798517212220503540, +-0.798487112623490260, -0.798457011030259680, -0.798426907440886620, -0.798396801855446370, -0.798366694274013970, -0.798336584696664910, -0.798306473123474470, -0.798276359554517700, +-0.798246243989869650, -0.798216126429606380, -0.798186006873802920, -0.798155885322534340, -0.798125761775876130, -0.798095636233903450, -0.798065508696691680, -0.798035379164315660, +-0.798005247636851660, -0.797975114114374610, -0.797944978596959680, -0.797914841084682360, -0.797884701577618040, -0.797854560075841770, -0.797824416579429260, -0.797794271088455690, +-0.797764123602995760, -0.797733974123126190, -0.797703822648921700, -0.797673669180457570, -0.797643513717809280, -0.797613356261052340, -0.797583196810261350, -0.797553035365512920, +-0.797522871926881870, -0.797492706494443700, -0.797462539068273690, -0.797432369648447440, -0.797402198235040220, -0.797372024828127410, -0.797341849427784630, -0.797311672034086700, +-0.797281492647110120, -0.797251311266929830, -0.797221127893621210, -0.797190942527259860, -0.797160755167921060, -0.797130565815679870, -0.797100374470612770, -0.797070181132794710, +-0.797039985802301290, -0.797009788479207890, -0.796979589163589910, -0.796949387855523160, -0.796919184555082700, -0.796888979262344480, -0.796858771977383200, -0.796828562700275470, +-0.796798351431096450, -0.796768138169921420, -0.796737922916826100, -0.796707705671885980, -0.796677486435176660, -0.796647265206772980, -0.796617041986751760, -0.796586816775187940, +-0.796556589572157030, -0.796526360377734610, -0.796496129191996300, -0.796465896015017720, -0.796435660846874340, -0.796405423687641330, -0.796375184537395310, -0.796344943396211310, +-0.796314700264164950, -0.796284455141331840, -0.796254208027787570, -0.796223958923607760, -0.796193707828867560, -0.796163454743643690, -0.796133199668011100, -0.796102942602045500, +-0.796072683545822500, -0.796042422499417920, -0.796012159462907260, -0.795981894436366130, -0.795951627419870240, -0.795921358413494870, -0.795891087417316510, -0.795860814431410550, +-0.795830539455852470, -0.795800262490718110, -0.795769983536083080, -0.795739702592022540, -0.795709419658613190, -0.795679134735930440, -0.795648847824049770, -0.795618558923047000, +-0.795588268032997760, -0.795557975153977970, -0.795527680286063130, -0.795497383429329190, -0.795467084583851290, -0.795436783749706060, -0.795406480926968970, -0.795376176115715650, +-0.795345869316021910, -0.795315560527963480, -0.795285249751615630, -0.795254936987055180, -0.795224622234357410, -0.795194305493598150, -0.795163986764853000, -0.795133666048197910, +-0.795103343343708690, -0.795073018651461070, -0.795042691971530990, -0.795012363303993610, -0.794982032648925750, -0.794951700006402920, -0.794921365376500820, -0.794891028759295290, +-0.794860690154862160, -0.794830349563277360, -0.794800006984616170, -0.794769662418955410, -0.794739315866370590, -0.794708967326937410, -0.794678616800731820, -0.794648264287829750, +-0.794617909788306930, -0.794587553302239400, -0.794557194829702440, -0.794526834370772980, -0.794496471925526530, -0.794466107494038900, -0.794435741076385930, -0.794405372672643550, +-0.794375002282887820, -0.794344629907194120, -0.794314255545639280, -0.794283879198298790, -0.794253500865248710, -0.794223120546564740, -0.794192738242323060, -0.794162353952599490, +-0.794131967677470070, -0.794101579417010760, -0.794071189171296930, -0.794040796940405640, -0.794010402724412370, -0.793980006523393070, -0.793949608337423780, -0.793919208166580570, +-0.793888806010938700, -0.793858401870575330, -0.793827995745565950, -0.793797587635986620, -0.793767177541913280, -0.793736765463422090, -0.793706351400588870, -0.793675935353489900, +-0.793645517322201010, -0.793615097306797800, -0.793584675307357430, -0.793554251323955300, -0.793523825356667540, -0.793493397405570230, -0.793462967470739520, -0.793432535552250790, +-0.793402101650181210, -0.793371665764606380, -0.793341227895602460, -0.793310788043245510, -0.793280346207611450, -0.793249902388776570, -0.793219456586817030, -0.793189008801808760, +-0.793158559033827370, -0.793128107282950250, -0.793097653549252770, -0.793067197832811210, -0.793036740133701620, -0.793006280452000170, -0.792975818787783120, -0.792945355141125850, +-0.792914889512105870, -0.792884421900798550, -0.792853952307280290, -0.792823480731627010, -0.792793007173915100, -0.792762531634220720, -0.792732054112619930, -0.792701574609188440, +-0.792671093124003630, -0.792640609657141120, -0.792610124208676940, -0.792579636778687590, -0.792549147367249130, -0.792518655974437710, -0.792488162600329170, -0.792457667245000770, +-0.792427169908528240, -0.792396670590987730, -0.792366169292455510, -0.792335666013007980, -0.792305160752721170, -0.792274653511671590, -0.792244144289934730, -0.792213633087588080, +-0.792183119904707360, -0.792152604741368730, -0.792122087597648680, -0.792091568473623500, -0.792061047369369220, -0.792030524284961900, -0.791999999220478810, -0.791969472175995670, +-0.791938943151588860, -0.791908412147334760, -0.791877879163309650, -0.791847344199589690, -0.791816807256251480, -0.791786268333371180, -0.791755727431024740, -0.791725184549289530, +-0.791694639688241280, -0.791664092847956470, -0.791633544028511490, -0.791602993229982620, -0.791572440452445680, -0.791541885695978160, -0.791511328960656010, -0.791480770246555500, +-0.791450209553753000, -0.791419646882325020, -0.791389082232347940, -0.791358515603898250, -0.791327946997052110, -0.791297376411885580, -0.791266803848476250, -0.791236229306899850, +-0.791205652787232870, -0.791175074289551810, -0.791144493813933040, -0.791113911360453060, -0.791083326929187700, -0.791052740520214570, -0.791022152133609600, -0.790991561769449290, +-0.790960969427810020, -0.790930375108768400, -0.790899778812400810, -0.790869180538783740, -0.790838580287993140, -0.790807978060106720, -0.790777373855200310, -0.790746767673350500, +-0.790716159514633700, -0.790685549379126610, -0.790654937266905500, -0.790624323178046650, -0.790593707112627440, -0.790563089070724030, -0.790532469052412920, -0.790501847057770490, +-0.790471223086873560, -0.790440597139798640, -0.790409969216622100, -0.790379339317420100, -0.790348707442270370, -0.790318073591248840, -0.790287437764432110, -0.790256799961896790, +-0.790226160183719490, -0.790195518429976710, -0.790164874700744700, -0.790134228996100970, -0.790103581316121680, -0.790072931660883440, -0.790042280030462950, -0.790011626424936720, +-0.789980970844381350, -0.789950313288873660, -0.789919653758490050, -0.789888992253306890, -0.789858328773401790, -0.789827663318850790, -0.789796995889730620, -0.789766326486118110, +-0.789735655108089630, -0.789704981755721570, -0.789674306429091530, -0.789643629128275680, -0.789612949853350840, -0.789582268604393620, -0.789551585381480740, -0.789520900184688900, +-0.789490213014094720, -0.789459523869775140, -0.789428832751806090, -0.789398139660265620, -0.789367444595229670, -0.789336747556775190, -0.789306048544978880, -0.789275347559917350, +-0.789244644601667540, -0.789213939670305510, -0.789183232765909180, -0.789152523888554840, -0.789121813038319080, -0.789091100215278840, -0.789060385419510850, -0.789029668651091920, +-0.788998949910098780, -0.788968229196607810, -0.788937506510696720, -0.788906781852441900, -0.788876055221920060, -0.788845326619208140, -0.788814596044382870, -0.788783863497521160, +-0.788753128978699200, -0.788722392487995030, -0.788691654025484800, -0.788660913591245460, -0.788630171185353830, -0.788599426807886860, -0.788568680458921260, -0.788537932138533960, +-0.788507181846801240, -0.788476429583801150, -0.788445675349609960, -0.788414919144304620, -0.788384160967962040, -0.788353400820658970, -0.788322638702472430, -0.788291874613478720, +-0.788261108553755860, -0.788230340523380260, -0.788199570522428840, -0.788168798550978430, -0.788138024609106090, -0.788107248696888640, -0.788076470814403020, -0.788045690961726280, +-0.788014909138934790, -0.787984125346106510, -0.787953339583318040, -0.787922551850646080, -0.787891762148167810, -0.787860970475960150, -0.787830176834099500, -0.787799381222663910, +-0.787768583641729970, -0.787737784091374520, -0.787706982571674600, -0.787676179082707150, -0.787645373624549340, -0.787614566197278100, -0.787583756800970370, -0.787552945435702870, +-0.787522132101553420, -0.787491316798598630, -0.787460499526915550, -0.787429680286581220, -0.787398859077672820, -0.787368035900267160, -0.787337210754440850, -0.787306383640272060, +-0.787275554557837380, -0.787244723507213750, -0.787213890488478340, -0.787183055501708200, -0.787152218546980360, -0.787121379624372120, -0.787090538733959840, -0.787059695875821700, +-0.787028851050034280, -0.786998004256674880, -0.786967155495820300, -0.786936304767547950, -0.786905452071934740, -0.786874597409057520, -0.786843740778994220, -0.786812882181821550, +-0.786782021617616790, -0.786751159086456870, -0.786720294588419080, -0.786689428123580560, -0.786658559692018480, -0.786627689293809440, -0.786596816929031830, -0.786565942597762020, +-0.786535066300077410, -0.786504188036055150, -0.786473307805772400, -0.786442425609306440, -0.786411541446733750, -0.786380655318132840, -0.786349767223580300, -0.786318877163153300, +-0.786287985136929100, -0.786257091144984990, -0.786226195187398110, -0.786195297264245860, -0.786164397375605170, -0.786133495521553090, -0.786102591702167790, -0.786071685917525960, +-0.786040778167705010, -0.786009868452781980, -0.785978956772834360, -0.785948043127938760, -0.785917127518173660, -0.785886209943615690, -0.785855290404342210, -0.785824368900430500, +-0.785793445431957950, -0.785762519999001710, -0.785731592601639160, -0.785700663239947580, -0.785669731914003910, -0.785638798623886410, -0.785607863369671920, -0.785576926151437700, +-0.785545986969261260, -0.785515045823219850, -0.785484102713390750, -0.785453157639850910, -0.785422210602678690, -0.785391261601951050, -0.785360310637745140, -0.785329357710138450, +-0.785298402819208490, -0.785267445965032400, -0.785236487147687680, -0.785205526367251270, -0.785174563623801560, -0.785143598917415480, -0.785112632248170290, -0.785081663616143620, +-0.785050693021412730, -0.785019720464055220, -0.784988745944147800, -0.784957769461768980, -0.784926791016995810, -0.784895810609905650, -0.784864828240576020, -0.784833843909084280, +-0.784802857615507940, -0.784771869359924380, -0.784740879142410640, -0.784709886963045330, -0.784678892821905280, -0.784647896719067980, -0.784616898654610820, -0.784585898628611610, +-0.784554896641147530, -0.784523892692295720, -0.784492886782134690, -0.784461878910741480, -0.784430869078193480, -0.784399857284568400, -0.784368843529943630, -0.784337827814396760, +-0.784306810138005290, -0.784275790500846840, -0.784244768902998430, -0.784213745344538580, -0.784182719825544330, -0.784151692346093280, -0.784120662906263030, -0.784089631506131200, +-0.784058598145774610, -0.784027562825272200, -0.783996525544700780, -0.783965486304138090, -0.783934445103661730, -0.783903401943349180, -0.783872356823278160, -0.783841309743526170, +-0.783810260704171040, -0.783779209705289580, -0.783748156746960740, -0.783717101829261580, -0.783686044952269570, -0.783654986116062440, -0.783623925320717780, -0.783592862566313440, +-0.783561797852926230, -0.783530731180635210, -0.783499662549517310, -0.783468591959650350, -0.783437519411111840, -0.783406444903979480, -0.783375368438331110, -0.783344290014244220, +-0.783313209631796070, -0.783282127291065500, -0.783251042992129550, -0.783219956735066060, -0.783188868519952620, -0.783157778346867060, -0.783126686215886990, -0.783095592127089790, +-0.783064496080554060, -0.783033398076357080, -0.783002298114576560, -0.782971196195290430, -0.782940092318576200, -0.782908986484511790, -0.782877878693174930, -0.782846768944642780, +-0.782815657238994270, -0.782784543576306670, -0.782753427956657590, -0.782722310380125070, -0.782691190846786730, -0.782660069356720390, -0.782628945910003320, -0.782597820506714450, +-0.782566693146931060, -0.782535563830730860, -0.782504432558191800, -0.782473299329391690, -0.782442164144408260, -0.782411027003319440, -0.782379887906203160, -0.782348746853136490, +-0.782317603844198570, -0.782286458879466570, -0.782255311959018430, -0.782224163082932080, -0.782193012251285350, -0.782161859464155400, -0.782130704721621490, -0.782099548023760690, +-0.782068389370651150, -0.782037228762370470, -0.782006066198996930, -0.781974901680608010, -0.781943735207282000, -0.781912566779096600, -0.781881396396129190, -0.781850224058458940, +-0.781819049766163010, -0.781787873519319550, -0.781756695318006400, -0.781725515162301490, -0.781694333052282750, -0.781663148988027690, -0.781631962969615230, -0.781600774997122880, +-0.781569585070628680, -0.781538393190210460, -0.781507199355946260, -0.781476003567914130, -0.781444805826191800, -0.781413606130857090, -0.781382404481988810, -0.781351200879664590, +-0.781319995323962350, -0.781288787814960140, -0.781257578352735900, -0.781226366937367800, -0.781195153568933210, -0.781163938247511180, -0.781132720973179430, -0.781101501746015890, +-0.781070280566098510, -0.781039057433505430, -0.781007832348314720, -0.780976605310604530, -0.780945376320452130, -0.780914145377936910, -0.780882912483136350, -0.780851677636128510, +-0.780820440836991430, -0.780789202085803270, -0.780757961382642090, -0.780726718727585480, -0.780695474120712610, -0.780664227562100970, -0.780632979051828820, -0.780601728589974340, +-0.780570476176615460, -0.780539221811830330, -0.780507965495697230, -0.780476707228294100, -0.780445447009698760, -0.780414184839990370, -0.780382920719246420, -0.780351654647545300, +-0.780320386624964950, -0.780289116651583630, -0.780257844727478940, -0.780226570852730280, -0.780195295027415140, -0.780164017251611770, -0.780132737525398360, -0.780101455848853150, +-0.780070172222054210, -0.780038886645079920, -0.780007599118008320, -0.779976309640917240, -0.779945018213885950, -0.779913724836992060, -0.779882429510313950, -0.779851132233929660, +-0.779819833007917570, -0.779788531832355410, -0.779757228707322450, -0.779725923632896390, -0.779694616609155510, -0.779663307636178080, -0.779631996714042490, -0.779600683842826770, +-0.779569369022609430, -0.779538052253468620, -0.779506733535482170, -0.779475412868729340, -0.779444090253288090, -0.779412765689236560, -0.779381439176653150, -0.779350110715616110, +-0.779318780306203830, -0.779287447948494030, -0.779256113642566190, -0.779224777388497940, -0.779193439186367850, -0.779162099036254220, -0.779130756938235300, -0.779099412892389380, +-0.779068066898795040, -0.779036718957530020, -0.779005369068673680, -0.778974017232303860, -0.778942663448499050, -0.778911307717337630, -0.778879950038897870, -0.778848590413258270, +-0.778817228840496640, -0.778785865320692490, -0.778754499853923750, -0.778723132440268690, -0.778691763079805810, -0.778660391772613480, -0.778629018518770200, -0.778597643318354460, +-0.778566266171444420, -0.778534887078118350, -0.778503506038455530, -0.778472123052533990, -0.778440738120432020, -0.778409351242228320, -0.778377962418001280, -0.778346571647828610, +-0.778315178931790250, -0.778283784269963810, -0.778252387662427990, -0.778220989109261190, -0.778189588610541880, -0.778158186166348690, -0.778126781776759870, -0.778095375441854250, +-0.778063967161709560, -0.778032556936405490, -0.778001144766020110, -0.777969730650631800, -0.777938314590319150, -0.777906896585160770, -0.777875476635234600, -0.777844054740620240, +-0.777812630901395850, -0.777781205117639820, -0.777749777389430740, -0.777718347716847220, -0.777686916099967870, -0.777655482538871180, -0.777624047033635860, -0.777592609584339840, +-0.777561170191062740, -0.777529728853882830, -0.777498285572878590, -0.777466840348128630, -0.777435393179711550, -0.777403944067706080, -0.777372493012190020, -0.777341040013243450, +-0.777309585070944160, -0.777278128185371010, -0.777246669356602470, -0.777215208584717270, -0.777183745869794000, -0.777152281211911490, -0.777120814611147680, -0.777089346067582290, +-0.777057875581293580, -0.777026403152360270, -0.776994928780860850, -0.776963452466874150, -0.776931974210478880, -0.776900494011752980, -0.776869011870776500, -0.776837527787627490, +-0.776806041762384660, -0.776774553795126720, -0.776743063885932280, -0.776711572034880280, -0.776680078242049430, -0.776648582507518340, -0.776617084831365160, -0.776585585213669830, +-0.776554083654510620, -0.776522580153966140, -0.776491074712115200, -0.776459567329036650, -0.776428058004808520, -0.776396546739510860, -0.776365033533221840, -0.776333518386020270, +-0.776302001297984880, -0.776270482269194480, -0.776238961299727800, -0.776207438389663770, -0.776175913539081220, -0.776144386748058190, -0.776112858016674840, -0.776081327345009340, +-0.776049794733140510, -0.776018260181147280, -0.775986723689108260, -0.775955185257101940, -0.775923644885208260, -0.775892102573505380, -0.775860558322072240, -0.775829012130987760, +-0.775797464000330780, -0.775765913930180020, -0.775734361920614620, -0.775702807971713200, -0.775671252083554250, -0.775639694256217820, -0.775608134489782050, -0.775576572784325900, +-0.775545009139928410, -0.775513443556668290, -0.775481876034624710, -0.775450306573875700, -0.775418735174501660, -0.775387161836580740, -0.775355586560191880, -0.775324009345414010, +-0.775292430192326190, -0.775260849101007230, -0.775229266071536190, -0.775197681103991450, -0.775166094198453060, -0.775134505354999390, -0.775102914573709500, -0.775071321854662320, +-0.775039727197936790, -0.775008130603611960, -0.774976532071766310, -0.774944931602479790, -0.774913329195831000, -0.774881724851898880, -0.774850118570762470, -0.774818510352500710, +-0.774786900197192760, -0.774755288104917560, -0.774723674075753490, -0.774692058109780810, -0.774660440207078030, -0.774628820367724070, -0.774597198591798100, -0.774565574879379160, +-0.774533949230546300, -0.774502321645378020, -0.774470692123954470, -0.774439060666354150, -0.774407427272656210, -0.774375791942939710, -0.774344154677283680, -0.774312515475767290, +-0.774280874338469590, -0.774249231265469740, -0.774217586256846340, -0.774185939312679430, -0.774154290433047620, -0.774122639618030180, -0.774090986867706050, -0.774059332182154610, +-0.774027675561454130, -0.773996017005685100, -0.773964356514926010, -0.773932694089256020, -0.773901029728754300, -0.773869363433499990, -0.773837695203572260, -0.773806025039050380, +-0.773774352940013400, -0.773742678906539920, -0.773711002938710310, -0.773679325036603190, -0.773647645200297830, -0.773615963429873380, -0.773584279725408890, -0.773552594086983850, +-0.773520906514676640, -0.773489217008567760, -0.773457525568735820, -0.773425832195260180, -0.773394136888219790, -0.773362439647694130, -0.773330740473762380, -0.773299039366503790, +-0.773267336325997090, -0.773235631352322540, -0.773203924445558850, -0.773172215605785530, -0.773140504833081500, -0.773108792127526370, -0.773077077489199070, -0.773045360918178660, +-0.773013642414545290, -0.772981921978377890, -0.772950199609755750, -0.772918475308758010, -0.772886749075464060, -0.772855020909953390, -0.772823290812305050, -0.772791558782597980, +-0.772759824820912430, -0.772728088927327470, -0.772696351101922250, -0.772664611344776150, -0.772632869655968560, -0.772601126035578730, -0.772569380483685510, -0.772537633000369480, +-0.772505883585709260, -0.772474132239784450, -0.772442378962674200, -0.772410623754458130, -0.772378866615215380, -0.772347107545025560, -0.772315346543967940, -0.772283583612121350, +-0.772251818749566390, -0.772220051956381880, -0.772188283232647210, -0.772156512578441870, -0.772124739993845230, -0.772092965478936240, -0.772061189033795390, -0.772029410658501500, +-0.771997630353134180, -0.771965848117772690, -0.771934063952496640, -0.771902277857385410, -0.771870489832518380, -0.771838699877975270, -0.771806907993834780, -0.771775114180177630, +-0.771743318437082660, -0.771711520764629340, -0.771679721162897290, -0.771647919631966000, -0.771616116171914830, -0.771584310782822860, -0.771552503464770560, -0.771520694217837090, +-0.771488883042101840, -0.771457069937644400, -0.771425254904544390, -0.771393437942881070, -0.771361619052734260, -0.771329798234182800, -0.771297975487307500, -0.771266150812187190, +-0.771234324208901480, -0.771202495677529960, -0.771170665218152250, -0.771138832830847830, -0.771106998515695750, -0.771075162272776840, -0.771043324102169910, -0.771011484003954690, +-0.770979641978210780, -0.770947798025017780, -0.770915952144455300, -0.770884104336602930, -0.770852254601539720, -0.770820402939346390, -0.770788549350102100, -0.770756693833886450, +-0.770724836390779040, -0.770692977020859590, -0.770661115724207700, -0.770629252500902420, -0.770597387351024570, -0.770565520274653190, -0.770533651271868130, -0.770501780342748850, +-0.770469907487375210, -0.770438032705826780, -0.770406155998183180, -0.770374277364524240, -0.770342396804929000, -0.770310514319478390, -0.770278629908251580, -0.770246743571328050, +-0.770214855308787750, -0.770182965120710270, -0.770151073007174780, -0.770119178968262210, -0.770087283004051710, -0.770055385114623010, -0.770023485300055820, -0.769991583560429960, +-0.769959679895825030, -0.769927774306321090, -0.769895866791997510, -0.769863957352933780, -0.769832045989210730, -0.769800132700907640, -0.769768217488104090, -0.769736300350880030, +-0.769704381289315290, -0.769672460303489570, -0.769640537393482040, -0.769608612559373850, -0.769576685801244050, -0.769544757119172580, -0.769512826513239270, -0.769480893983523820, +-0.769448959530106170, -0.769417023153066040, -0.769385084852482800, -0.769353144628437510, -0.769321202481009330, -0.769289258410278070, -0.769257312416323780, -0.769225364499226070, +-0.769193414659065100, -0.769161462895919910, -0.769129509209871660, -0.769097553600999630, -0.769065596069383740, -0.769033636615103930, -0.769001675238239920, -0.768969711938871760, +-0.768937746717079370, -0.768905779572941930, -0.768873810506540690, -0.768841839517954930, -0.768809866607264470, -0.768777891774549470, -0.768745915019889760, -0.768713936343365160, +-0.768681955745055160, -0.768649973225040920, -0.768617988783401710, -0.768586002420217460, -0.768554014135568230, -0.768522023929534060, -0.768490031802194770, -0.768458037753630310, +-0.768426041783920820, -0.768394043893145700, -0.768362044081386090, -0.768330042348721260, -0.768298038695231390, -0.768266033120996390, -0.768234025626096330, -0.768202016210610570, +-0.768170004874620390, -0.768137991618205170, -0.768105976441445070, -0.768073959344419910, -0.768041940327209960, -0.768009919389895050, -0.767977896532555440, -0.767945871755270960, +-0.767913845058121320, -0.767881816441187690, -0.767849785904549440, -0.767817753448286730, -0.767785719072479610, -0.767753682777208240, -0.767721644562552760, -0.767689604428592460, +-0.767657562375408720, -0.767625518403081130, -0.767593472511689750, -0.767561424701314610, -0.767529374972035990, -0.767497323323933940, -0.767465269757088510, -0.767433214271579400, +-0.767401156867487780, -0.767369097544893240, -0.767337036303876060, -0.767304973144516180, -0.767272908066893970, -0.767240841071089360, -0.767208772157182190, -0.767176701325253620, +-0.767144628575383350, -0.767112553907651430, -0.767080477322138130, -0.767048398818923730, -0.767016318398088260, -0.766984236059712000, -0.766952151803874550, -0.766920065630657400, +-0.766887977540139930, -0.766855887532402640, -0.766823795607525560, -0.766791701765589080, -0.766759606006673260, -0.766727508330857900, -0.766695408738224280, -0.766663307228852230, +-0.766631203802821790, -0.766599098460213460, -0.766566991201107380, -0.766534882025583730, -0.766502770933722990, -0.766470657925605200, -0.766438543001310310, -0.766406426160919580, +-0.766374307404512730, -0.766342186732170140, -0.766310064143972180, -0.766277939639998910, -0.766245813220330360, -0.766213684885047820, -0.766181554634230990, -0.766149422467960360, +-0.766117288386316100, -0.766085152389378690, -0.766053014477228290, -0.766020874649945500, -0.765988732907610380, -0.765956589250302970, -0.765924443678104530, -0.765892296191095110, +-0.765860146789354880, -0.765827995472964320, -0.765795842242003810, -0.765763687096553620, -0.765731530036693700, -0.765699371062505520, -0.765667210174068800, -0.765635047371464150, +-0.765602882654771940, -0.765570716024072450, -0.765538547479446160, -0.765506377020973570, -0.765474204648734390, -0.765442030362810220, -0.765409854163281110, -0.765377676050227330, +-0.765345496023729370, -0.765313314083867600, -0.765281130230722530, -0.765248944464374190, -0.765216756784903970, -0.765184567192391810, -0.765152375686918300, -0.765120182268563930, +-0.765087986937408980, -0.765055789693534050, -0.765023590537019740, -0.764991389467945870, -0.764959186486394050, -0.764926981592444320, -0.764894774786177070, -0.764862566067672890, +-0.764830355437012390, -0.764798142894275950, -0.764765928439543500, -0.764733712072896870, -0.764701493794415990, -0.764669273604181350, -0.764637051502273460, -0.764604827488773010, +-0.764572601563760500, -0.764540373727316420, -0.764508143979521490, -0.764475912320455640, -0.764443678750200470, -0.764411443268836250, -0.764379205876443260, -0.764346966573102420, +-0.764314725358894000, -0.764282482233898270, -0.764250237198196960, -0.764217990251869980, -0.764185741394998060, -0.764153490627661800, -0.764121237949941800, -0.764088983361918660, +-0.764056726863673100, -0.764024468455285710, -0.763992208136836660, -0.763959945908407550, -0.763927681770078640, -0.763895415721930540, -0.763863147764043850, -0.763830877896499280, +-0.763798606119377550, -0.763766332432758710, -0.763734056836724680, -0.763701779331355410, -0.763669499916731830, -0.763637218592934320, -0.763604935360043920, -0.763572650218141140, +-0.763540363167306670, -0.763508074207620790, -0.763475783339165210, -0.763443490562020210, -0.763411195876266600, -0.763378899281984880, -0.763346600779255870, -0.763314300368160500, +-0.763281998048778720, -0.763249693821192570, -0.763217387685482080, -0.763185079641728210, -0.763152769690011560, -0.763120457830413050, -0.763088144063013400, -0.763055828387893430, +-0.763023510805133200, -0.762991191314814850, -0.762958869917018560, -0.762926546611825020, -0.762894221399315060, -0.762861894279569630, -0.762829565252669540, -0.762797234318694840, +-0.762764901477727690, -0.762732566729848240, -0.762700230075137430, -0.762667891513675980, -0.762635551045544810, -0.762603208670824760, -0.762570864389596760, -0.762538518201941630, +-0.762506170107939530, -0.762473820107672620, -0.762441468201221160, -0.762409114388665990, -0.762376758670088030, -0.762344401045568220, -0.762312041515186830, -0.762279680079025910, +-0.762247316737165730, -0.762214951489687320, -0.762182584336671520, -0.762150215278199260, -0.762117844314351480, -0.762085471445209110, -0.762053096670852970, -0.762020719991363560, +-0.761988341406822920, -0.761955960917311440, -0.761923578522910150, -0.761891194223699770, -0.761858808019761470, -0.761826419911175500, -0.761794029898024140, -0.761761637980387650, +-0.761729244158347200, -0.761696848431983490, -0.761664450801377680, -0.761632051266610820, -0.761599649827763740, -0.761567246484917580, -0.761534841238152740, -0.761502434087551360, +-0.761470025033193940, -0.761437614075161310, -0.761405201213534830, -0.761372786448395230, -0.761340369779823670, -0.761307951207900620, -0.761275530732708370, -0.761243108354327180, +-0.761210684072838320, -0.761178257888322610, -0.761145829800861320, -0.761113399810535500, -0.761080967917426190, -0.761048534121613770, -0.761016098423180630, -0.760983660822207360, +-0.760951221318774800, -0.760918779912964300, -0.760886336604856720, -0.760853891394533410, -0.760821444282074770, -0.760788995267563050, -0.760756544351078870, -0.760724091532703370, +-0.760691636812517610, -0.760659180190602750, -0.760626721667039930, -0.760594261241910320, -0.760561798915295070, -0.760529334687274680, -0.760496868557931640, -0.760464400527346320, +-0.760431930595600100, -0.760399458762773930, -0.760366985028949280, -0.760334509394206440, -0.760302031858627990, -0.760269552422294440, -0.760237071085286930, -0.760204587847686850, +-0.760172102709575250, -0.760139615671033500, -0.760107126732142650, -0.760074635892983850, -0.760042143153638050, -0.760009648514187400, -0.759977151974712610, -0.759944653535294950, +-0.759912153196015680, -0.759879650956956090, -0.759847146818196650, -0.759814640779819970, -0.759782132841906770, -0.759749623004538190, -0.759717111267795510, -0.759684597631760110, +-0.759652082096513140, -0.759619564662136090, -0.759587045328710020, -0.759554524096315850, -0.759522000965035860, -0.759489475934950970, -0.759456949006142250, -0.759424420178691270, +-0.759391889452679210, -0.759359356828187450, -0.759326822305296690, -0.759294285884089430, -0.759261747564646480, -0.759229207347049240, -0.759196665231378850, -0.759164121217716810, +-0.759131575306144500, -0.759099027496743290, -0.759066477789593910, -0.759033926184778940, -0.759001372682378990, -0.758968817282475780, -0.758936259985150570, -0.758903700790484640, +-0.758871139698559350, -0.758838576709455760, -0.758806011823256240, -0.758773445040041740, -0.758740876359893620, -0.758708305782893390, -0.758675733309122300, -0.758643158938661850, +-0.758610582671593540, -0.758578004507998840, -0.758545424447958470, -0.758512842491555040, -0.758480258638869590, -0.758447672889983600, -0.758415085244978250, -0.758382495703935230, +-0.758349904266935490, -0.758317310934061520, -0.758284715705394240, -0.758252118581015160, -0.758219519561005860, -0.758186918645447740, -0.758154315834422280, -0.758121711128011080, +-0.758089104526295520, -0.758056496029356650, -0.758023885637277180, -0.757991273350137940, -0.757958659168020520, -0.757926043091006530, -0.757893425119177340, -0.757860805252614120, +-0.757828183491399350, -0.757795559835614090, -0.757762934285340030, -0.757730306840658670, -0.757697677501651400, -0.757665046268400030, -0.757632413140986060, -0.757599778119490970, +-0.757567141203995930, -0.757534502394583640, -0.757501861691335040, -0.757469219094331740, -0.757436574603655540, -0.757403928219387730, -0.757371279941610240, -0.757338629770403890, +-0.757305977705851620, -0.757273323748034350, -0.757240667897033810, -0.757208010152931490, -0.757175350515809310, -0.757142688985748660, -0.757110025562831250, -0.757077360247138230, +-0.757044693038752440, -0.757012023937754910, -0.756979352944227250, -0.756946680058251280, -0.756914005279908600, -0.756881328609280810, -0.756848650046449190, -0.756815969591496550, +-0.756783287244503940, -0.756750603005553190, -0.756717916874725890, -0.756685228852103760, -0.756652538937768630, -0.756619847131802080, -0.756587153434285950, -0.756554457845301400, +-0.756521760364931240, -0.756489060993256630, -0.756456359730359410, -0.756423656576321270, -0.756390951531224040, -0.756358244595148890, -0.756325535768178630, -0.756292825050394520, +-0.756260112441878410, -0.756227397942711880, -0.756194681552976980, -0.756161963272755420, -0.756129243102128920, -0.756096521041179190, -0.756063797089987720, -0.756031071248637330, +-0.755998343517209180, -0.755965613895785200, -0.755932882384447110, -0.755900148983276950, -0.755867413692355880, -0.755834676511766720, -0.755801937441590970, -0.755769196481910210, +-0.755736453632806620, -0.755703708894361890, -0.755670962266657750, -0.755638213749776360, -0.755605463343799300, -0.755572711048808190, -0.755539956864885730, -0.755507200792113420, +-0.755474442830573080, -0.755441682980346640, -0.755408921241516040, -0.755376157614163100, -0.755343392098369200, -0.755310624694217390, -0.755277855401789040, -0.755245084221165990, +-0.755212311152430260, -0.755179536195663800, -0.755146759350948440, -0.755113980618366210, -0.755081199997998500, -0.755048417489928350, -0.755015633094237030, -0.754982846811006800, +-0.754950058640319390, -0.754917268582256830, -0.754884476636901060, -0.754851682804333570, -0.754818887084637400, -0.754786089477894050, -0.754753289984185450, -0.754720488603593750, +-0.754687685336200680, -0.754654880182088480, -0.754622073141339000, -0.754589264214033720, -0.754556453400256010, -0.754523640700087040, -0.754490826113609070, -0.754458009640903930, +-0.754425191282053880, -0.754392371037140850, -0.754359548906246240, -0.754326724889453290, -0.754293898986843630, -0.754261071198499170, -0.754228241524502070, -0.754195409964934390, +-0.754162576519878170, -0.754129741189415450, -0.754096903973628390, -0.754064064872598580, -0.754031223886409090, -0.753998381015141610, -0.753965536258878080, -0.753932689617700770, +-0.753899841091691720, -0.753866990680932550, -0.753834138385506390, -0.753801284205494970, -0.753768428140980330, -0.753735570192044510, -0.753702710358769900, -0.753669848641238540, +-0.753636985039532360, -0.753604119553733850, -0.753571252183924510, -0.753538382930187490, -0.753505511792604610, -0.753472638771257920, -0.753439763866229680, -0.753406887077601950, +-0.753374008405457100, -0.753341127849876500, -0.753308245410943770, -0.753275361088740380, -0.753242474883348720, -0.753209586794850730, -0.753176696823328770, -0.753143804968865130, +-0.753110911231541950, -0.753078015611440940, -0.753045118108645490, -0.753012218723237200, -0.752979317455298340, -0.752946414304911270, -0.752913509272158050, -0.752880602357121060, +-0.752847693559882130, -0.752814782880524390, -0.752781870319129800, -0.752748955875780500, -0.752716039550558770, -0.752683121343546980, -0.752650201254827400, -0.752617279284482300, +-0.752584355432593500, -0.752551429699244270, -0.752518502084516540, -0.752485572588492470, -0.752452641211254550, -0.752419707952885040, -0.752386772813466220, -0.752353835793079910, +-0.752320896891809590, -0.752287956109736980, -0.752255013446944450, -0.752222068903514510, -0.752189122479529400, -0.752156174175071410, -0.752123223990222910, -0.752090271925066500, +-0.752057317979683780, -0.752024362154158240, -0.751991404448571930, -0.751958444863007110, -0.751925483397546170, -0.751892520052271470, -0.751859554827264850, -0.751826587722610020, +-0.751793618738388680, -0.751760647874683220, -0.751727675131576230, -0.751694700509150100, -0.751661724007487100, -0.751628745626669930, -0.751595765366780850, -0.751562783227901710, +-0.751529799210116200, -0.751496813313506260, -0.751463825538154270, -0.751430835884142610, -0.751397844351553990, -0.751364850940470670, -0.751331855650974710, -0.751298858483149590, +-0.751265859437077470, -0.751232858512840610, -0.751199855710521610, -0.751166851030202980, -0.751133844471967290, -0.751100836035896950, -0.751067825722073870, -0.751034813530581880, +-0.751001799461502810, -0.750968783514919250, -0.750935765690913690, -0.750902745989568850, -0.750869724410967000, -0.750836700955190390, -0.750803675622322530, -0.750770648412445450, +-0.750737619325641870, -0.750704588361994160, -0.750671555521584930, -0.750638520804496890, -0.750605484210812520, -0.750572445740613880, -0.750539405393984670, -0.750506363171007050, +-0.750473319071763400, -0.750440273096336430, -0.750407225244808960, -0.750374175517263260, -0.750341123913781600, -0.750308070434447690, -0.750275015079343580, -0.750241957848551970, +-0.750208898742155460, -0.750175837760236770, -0.750142774902878400, -0.750109710170163150, -0.750076643562173520, -0.750043575078991780, -0.750010504720701740, -0.749977432487385350, +-0.749944358379125430, -0.749911282396004570, -0.749878204538105500, -0.749845124805510350, -0.749812043198302970, -0.749778959716565500, -0.749745874360380650, -0.749712787129831030, +-0.749679698024999560, -0.749646607045968750, -0.749613514192821520, -0.749580419465640360, -0.749547322864507760, -0.749514224389507210, -0.749481124040721310, -0.749448021818232450, +-0.749414917722123650, -0.749381811752477420, -0.749348703909376800, -0.749315594192903720, -0.749282482603142340, -0.749249369140174700, -0.749216253804083630, -0.749183136594951950, +-0.749150017512862480, -0.749116896557897930, -0.749083773730141010, -0.749050649029674220, -0.749017522456581370, -0.748984394010944740, -0.748951263692847040, -0.748918131502371190, +-0.748884997439600130, -0.748851861504616470, -0.748818723697502580, -0.748785584018342500, -0.748752442467218390, -0.748719299044213300, -0.748686153749409830, -0.748653006582891020, +-0.748619857544739810, -0.748586706635038790, -0.748553553853870460, -0.748520399201318850, -0.748487242677466250, -0.748454084282395570, -0.748420924016189650, -0.748387761878931410, +-0.748354597870703800, -0.748321431991589070, -0.748288264241671270, -0.748255094621032900, -0.748221923129756880, -0.748188749767925930, -0.748155574535623200, -0.748122397432931410, +-0.748089218459933700, -0.748056037616713020, -0.748022854903351520, -0.747989670319933580, -0.747956483866541340, -0.747923295543257980, -0.747890105350166310, -0.747856913287349490, +-0.747823719354889780, -0.747790523552871340, -0.747757325881376560, -0.747724126340488460, -0.747690924930290100, -0.747657721650864300, -0.747624516502294330, -0.747591309484663010, +-0.747558100598053390, -0.747524889842548060, -0.747491677218230950, -0.747458462725184790, -0.747425246363492390, -0.747392028133236800, -0.747358808034501280, -0.747325586067368650, +-0.747292362231921410, -0.747259136528243940, -0.747225908956418610, -0.747192679516528570, -0.747159448208656760, -0.747126215032886340, -0.747092979989300470, -0.747059743077982060, +-0.747026504299013740, -0.746993263652479640, -0.746960021138462490, -0.746926776757045330, -0.746893530508311200, -0.746860282392343140, -0.746827032409224430, -0.746793780559037670, +-0.746760526841866890, -0.746727271257794810, -0.746694013806904590, -0.746660754489279380, -0.746627493305002220, -0.746594230254156390, -0.746560965336824920, -0.746527698553090420, +-0.746494429903037270, -0.746461159386748060, -0.746427887004306070, -0.746394612755794330, -0.746361336641295890, -0.746328058660894240, -0.746294778814671880, -0.746261497102713060, +-0.746228213525100600, -0.746194928081917560, -0.746161640773247200, -0.746128351599172680, -0.746095060559777370, -0.746061767655144430, -0.746028472885357010, -0.745995176250497830, +-0.745961877750651260, -0.745928577385900020, -0.745895275156327360, -0.745861971062016460, -0.745828665103050680, -0.745795357279512630, -0.745762047591486900, -0.745728736039055870, +-0.745695422622303040, -0.745662107341311780, -0.745628790196165130, -0.745595471186946470, -0.745562150313739290, -0.745528827576626530, -0.745495502975691340, -0.745462176511017870, +-0.745428848182688840, -0.745395517990787850, -0.745362185935398050, -0.745328852016602820, -0.745295516234485310, -0.745262178589128470, -0.745228839080616880, -0.745195497709033150, +-0.745162154474460550, -0.745128809376982670, -0.745095462416682790, -0.745062113593644270, -0.745028762907950390, -0.744995410359683970, -0.744962055948929720, -0.744928699675770360, +-0.744895341540289140, -0.744861981542569660, -0.744828619682695200, -0.744795255960749140, -0.744761890376814390, -0.744728522930975470, -0.744695153623315290, -0.744661782453917230, +-0.744628409422864680, -0.744595034530241120, -0.744561657776129930, -0.744528279160614700, -0.744494898683778050, -0.744461516345704900, -0.744428132146477850, -0.744394746086180500, +-0.744361358164896240, -0.744327968382708650, -0.744294576739701120, -0.744261183235956580, -0.744227787871559630, -0.744194390646593210, -0.744160991561140790, -0.744127590615285990, +-0.744094187809112070, -0.744060783142702850, -0.744027376616141490, -0.743993968229511800, -0.743960557982896620, -0.743927145876380650, -0.743893731910046710, -0.743860316083978510, +-0.743826898398259550, -0.743793478852973310, -0.743760057448202730, -0.743726634184032620, -0.743693209060545920, -0.743659782077826350, -0.743626353235957160, -0.743592922535022070, +-0.743559489975104790, -0.743526055556288700, -0.743492619278657510, -0.743459181142294150, -0.743425741147283440, -0.743392299293708430, -0.743358855581652600, -0.743325410011199670, +-0.743291962582433240, -0.743258513295436800, -0.743225062150293600, -0.743191609147088260, -0.743158154285903930, -0.743124697566824200, -0.743091238989932790, -0.743057778555313190, +-0.743024316263049210, -0.742990852113224460, -0.742957386105921880, -0.742923918241226500, -0.742890448519221370, -0.742856976939989980, -0.742823503503616370, -0.742790028210183810, +-0.742756551059776230, -0.742723072052476670, -0.742689591188369970, -0.742656108467539380, -0.742622623890068610, -0.742589137456041160, -0.742555649165540840, -0.742522159018651370, +-0.742488667015456680, -0.742455173156039590, -0.742421677440485150, -0.742388179868876510, -0.742354680441297490, -0.742321179157831800, -0.742287676018563050, -0.742254171023575160, +-0.742220664172951290, -0.742187155466776270, -0.742153644905133470, -0.742120132488106490, -0.742086618215779260, -0.742053102088235380, -0.742019584105558790, -0.741986064267833200, +-0.741952542575142540, -0.741919019027569850, -0.741885493625200180, -0.741851966368116790, -0.741818437256403510, -0.741784906290144150, -0.741751373469422550, -0.741717838794321960, +-0.741684302264927210, -0.741650763881321890, -0.741617223643589510, -0.741583681551814090, -0.741550137606079570, -0.741516591806469670, -0.741483044153068200, -0.741449494645959110, +-0.741415943285225860, -0.741382390070953190, -0.741348835003224680, -0.741315278082123940, -0.741281719307735120, -0.741248158680141930, -0.741214596199427760, -0.741181031865677630, +-0.741147465678975050, -0.741113897639403720, -0.741080327747047680, -0.741046756001990880, -0.741013182404317130, -0.740979606954110360, -0.740946029651454730, -0.740912450496433280, +-0.740878869489131290, -0.740845286629632230, -0.740811701918019930, -0.740778115354378430, -0.740744526938791560, -0.740710936671343360, -0.740677344552117200, -0.740643750581198360, +-0.740610154758670090, -0.740576557084616560, -0.740542957559121470, -0.740509356182269100, -0.740475752954143250, -0.740442147874827980, -0.740408540944406890, -0.740374932162964900, +-0.740341321530585740, -0.740307709047353210, -0.740274094713351370, -0.740240478528664260, -0.740206860493376030, -0.740173240607570060, -0.740139618871331510, -0.740105995284743970, +-0.740072369847891490, -0.740038742560858000, -0.740005113423727660, -0.739971482436584620, -0.739937849599512810, -0.739904214912596280, -0.739870578375918740, -0.739836939989565350, +-0.739803299753619580, -0.739769657668165600, -0.739736013733287460, -0.739702367949069180, -0.739668720315594500, -0.739635070832948660, -0.739601419501215050, -0.739567766320477830, +-0.739534111290821360, -0.739500454412329480, -0.739466795685086550, -0.739433135109176520, -0.739399472684683760, -0.739365808411691640, -0.739332142290285650, -0.739298474320549400, +-0.739264804502566820, -0.739231132836422280, -0.739197459322199930, -0.739163783959983280, -0.739130106749857800, -0.739096427691907090, -0.739062746786215200, -0.739029064032866610, +-0.738995379431945270, -0.738961692983535420, -0.738928004687721350, -0.738894314544587320, -0.738860622554216920, -0.738826928716695530, -0.738793233032106870, -0.738759535500535080, +-0.738725836122064440, -0.738692134896779210, -0.738658431824763650, -0.738624726906101480, -0.738591020140878070, -0.738557311529177030, -0.738523601071082720, -0.738489888766679540, +-0.738456174616051400, -0.738422458619283020, -0.738388740776458440, -0.738355021087661490, -0.738321299552977430, -0.738287576172490190, -0.738253850946284040, -0.738220123874443250, +-0.738186394957052070, -0.738152664194195120, -0.738118931585955760, -0.738085197132419600, -0.738051460833670570, -0.738017722689792820, -0.737983982700870730, -0.737950240866988790, +-0.737916497188231160, -0.737882751664682310, -0.737849004296426640, -0.737815255083547840, -0.737781504026131520, -0.737747751124261390, -0.737713996378021820, -0.737680239787497300, +-0.737646481352772220, -0.737612721073930390, -0.737578958951057300, -0.737545194984236760, -0.737511429173553280, -0.737477661519091220, -0.737443892020935080, -0.737410120679169110, +-0.737376347493877930, -0.737342572465145780, -0.737308795593056620, -0.737275016877696140, -0.737241236319148060, -0.737207453917496870, -0.737173669672827160, -0.737139883585223200, +-0.737106095654768920, -0.737072305881550040, -0.737038514265650260, -0.737004720807154400, -0.736970925506146620, -0.736937128362711520, -0.736903329376933700, -0.736869528548897420, +-0.736835725878687400, -0.736801921366387450, -0.736768115012083280, -0.736734306815858830, -0.736700496777798590, -0.736666684897987150, -0.736632871176509000, -0.736599055613448740, +-0.736565238208890080, -0.736531418962918960, -0.736497597875619410, -0.736463774947075820, -0.736429950177372780, -0.736396123566594780, -0.736362295114826540, -0.736328464822152640, +-0.736294632688656910, -0.736260798714425180, -0.736226962899541370, -0.736193125244090310, -0.736159285748156370, -0.736125444411824260, -0.736091601235178470, -0.736057756218303160, +-0.736023909361283920, -0.735990060664205030, -0.735956210127150960, -0.735922357750206310, -0.735888503533455920, -0.735854647476984150, -0.735820789580875710, -0.735786929845214770, +-0.735753068270087130, -0.735719204855576850, -0.735685339601768410, -0.735651472508746740, -0.735617603576596450, -0.735583732805402010, -0.735549860195247710, -0.735515985746219240, +-0.735482109458400980, -0.735448231331877310, -0.735414351366733170, -0.735380469563053140, -0.735346585920921840, -0.735312700440424180, -0.735278813121644780, -0.735244923964667670, +-0.735211032969578790, -0.735177140136462510, -0.735143245465403220, -0.735109348956485940, -0.735075450609795180, -0.735041550425415300, -0.735007648403432020, -0.734973744543929720, +-0.734939838846992990, -0.734905931312706760, -0.734872021941155640, -0.734838110732424440, -0.734804197686597990, -0.734770282803761110, -0.734736366083997840, -0.734702447527394220, +-0.734668527134034520, -0.734634604904003560, -0.734600680837386060, -0.734566754934266820, -0.734532827194730680, -0.734498897618862000, -0.734464966206746510, -0.734431032958468680, +-0.734397097874113220, -0.734363160953765080, -0.734329222197509070, -0.734295281605430010, -0.734261339177612600, -0.734227394914141350, -0.734193448815102290, -0.734159500880579460, +-0.734125551110657910, -0.734091599505422580, -0.734057646064958160, -0.734023690789349590, -0.733989733678681370, -0.733955774733039190, -0.733921813952507660, -0.733887851337171710, +-0.733853886887116060, -0.733819920602425620, -0.733785952483185460, -0.733751982529480370, -0.733718010741394750, -0.733684037119014640, -0.733650061662424520, -0.733616084371709220, +-0.733582105246953780, -0.733548124288242900, -0.733514141495661850, -0.733480156869294800, -0.733446170409227990, -0.733412182115545710, -0.733378191988332980, -0.733344200027674860, +-0.733310206233656170, -0.733276210606361940, -0.733242213145877230, -0.733208213852286960, -0.733174212725675620, -0.733140209766129260, -0.733106204973732360, -0.733072198348569960, +-0.733038189890727110, -0.733004179600288850, -0.732970167477339450, -0.732936153521965170, -0.732902137734250610, -0.732868120114280710, -0.732834100662140500, -0.732800079377915030, +-0.732766056261689340, -0.732732031313548470, -0.732698004533577580, -0.732663975921861050, -0.732629945478485260, -0.732595913203534570, -0.732561879097094140, -0.732527843159248900, +-0.732493805390084130, -0.732459765789684750, -0.732425724358135470, -0.732391681095522440, -0.732357636001930160, -0.732323589077443880, -0.732289540322148550, -0.732255489736129420, +-0.732221437319471540, -0.732187383072260060, -0.732153326994579580, -0.732119269086516260, -0.732085209348154910, -0.732051147779580470, -0.732017084380878090, -0.731983019152133150, +-0.731948952093430580, -0.731914883204854980, -0.731880812486492840, -0.731846739938428750, -0.731812665560747640, -0.731778589353535010, -0.731744511316875790, -0.731710431450855350, +-0.731676349755558840, -0.731642266231070870, -0.731608180877477810, -0.731574093694864260, -0.731540004683315480, -0.731505913842916740, -0.731471821173753200, -0.731437726675910120, +-0.731403630349472090, -0.731369532194525610, -0.731335432211155270, -0.731301330399446450, -0.731267226759484190, -0.731233121291353870, -0.731199013995140760, -0.731164904870930110, +-0.731130793918807200, -0.731096681138856840, -0.731062566531165190, -0.731028450095817290, -0.730994331832898080, -0.730960211742493150, -0.730926089824687650, -0.730891966079566410, +-0.730857840507215810, -0.730823713107720540, -0.730789583881166100, -0.730755452827637540, -0.730721319947220560, -0.730687185240000090, -0.730653048706061740, -0.730618910345490760, +-0.730584770158371980, -0.730550628144791770, -0.730516484304835070, -0.730482338638587030, -0.730448191146133240, -0.730414041827558980, -0.730379890682949620, -0.730345737712389860, +-0.730311582915966430, -0.730277426293764020, -0.730243267845868130, -0.730209107572363900, -0.730174945473337060, -0.730140781548872740, -0.730106615799056560, -0.730072448223973100, +-0.730038278823709310, -0.730004107598349660, -0.729969934547979870, -0.729935759672685200, -0.729901582972551030, -0.729867404447662960, -0.729833224098105800, -0.729799041923966160, +-0.729764857925328970, -0.729730672102279600, -0.729696484454903540, -0.729662294983286270, -0.729628103687513410, -0.729593910567670090, -0.729559715623841480, -0.729525518856114160, +-0.729491320264572970, -0.729457119849303610, -0.729422917610391460, -0.729388713547921900, -0.729354507661980620, -0.729320299952652460, -0.729286090420024240, -0.729251879064180650, +-0.729217665885207420, -0.729183450883190030, -0.729149234058213970, -0.729115015410364940, -0.729080794939728220, -0.729046572646389610, -0.729012348530433950, -0.728978122591948050, +-0.728943894831016740, -0.728909665247725820, -0.728875433842160580, -0.728841200614406940, -0.728806965564549600, -0.728772728692675400, -0.728738489998869480, -0.728704249483217330, +-0.728670007145804540, -0.728635762986716730, -0.728601517006039480, -0.728567269203858390, -0.728533019580259290, -0.728498768135326880, -0.728464514869148210, -0.728430259781808310, +-0.728396002873392680, -0.728361744143987020, -0.728327483593677050, -0.728293221222548360, -0.728258957030686100, -0.728224691018176990, -0.728190423185106070, -0.728156153531559270, +-0.728121882057621850, -0.728087608763379970, -0.728053333648918890, -0.728019056714324540, -0.727984777959681970, -0.727950497385078000, -0.727916214990597890, -0.727881930776327120, +-0.727847644742351640, -0.727813356888756920, -0.727779067215628910, -0.727744775723052630, -0.727710482411114910, -0.727676187279901020, -0.727641890329496780, -0.727607591559987780, +-0.727573290971459730, -0.727538988563998460, -0.727504684337689670, -0.727470378292618620, -0.727436070428872260, -0.727401760746535730, -0.727367449245694740, -0.727333135926435110, +-0.727298820788842670, -0.727264503833003230, -0.727230185059001940, -0.727195864466925750, -0.727161542056859900, -0.727127217828890120, -0.727092891783102440, -0.727058563919582460, +-0.727024234238416000, -0.726989902739689110, -0.726955569423487270, -0.726921234289896080, -0.726886897339002250, -0.726852558570891370, -0.726818217985648940, -0.726783875583360990, +-0.726749531364113350, -0.726715185327991400, -0.726680837475081940, -0.726646487805470480, -0.726612136319242710, -0.726577783016484680, -0.726543427897282100, -0.726509070961721020, +-0.726474712209887240, -0.726440351641866710, -0.726405989257744690, -0.726371625057608330, -0.726337259041542890, -0.726302891209634320, -0.726268521561968420, -0.726234150098631240, +-0.726199776819708820, -0.726165401725286320, -0.726131024815450780, -0.726096646090287790, -0.726062265549883180, -0.726027883194322880, -0.725993499023692810, -0.725959113038079030, +-0.725924725237567570, -0.725890335622243590, -0.725855944192194460, -0.725821550947505330, -0.725787155888262480, -0.725752759014551610, -0.725718360326458980, -0.725683959824070300, +-0.725649557507471180, -0.725615153376748760, -0.725580747431988530, -0.725546339673276420, -0.725511930100698370, -0.725477518714340520, -0.725443105514288920, -0.725408690500629500, +-0.725374273673447760, -0.725339855032831050, -0.725305434578864540, -0.725271012311634600, -0.725236588231227050, -0.725202162337728050, -0.725167734631223640, -0.725133305111799190, +-0.725098873779542190, -0.725064440634538010, -0.725030005676872700, -0.724995568906632410, -0.724961130323903080, -0.724926689928771070, -0.724892247721322210, -0.724857803701642770, +-0.724823357869818330, -0.724788910225935950, -0.724754460770081320, -0.724720009502340720, -0.724685556422799860, -0.724651101531545220, -0.724616644828662170, -0.724582186314238210, +-0.724547725988358700, -0.724513263851109920, -0.724478799902577910, -0.724444334142848920, -0.724409866572009120, -0.724375397190144770, -0.724340925997341790, -0.724306452993685900, +-0.724271978179264480, -0.724237501554163110, -0.724203023118467960, -0.724168542872265400, -0.724134060815641360, -0.724099576948682210, -0.724065091271473450, -0.724030603784102670, +-0.723996114486655350, -0.723961623379217660, -0.723927130461875960, -0.723892635734716410, -0.723858139197825380, -0.723823640851288920, -0.723789140695192730, -0.723754638729624310, +-0.723720134954669360, -0.723685629370414030, -0.723651121976944590, -0.723616612774347410, -0.723582101762708650, -0.723547588942114020, -0.723513074312651110, -0.723478557874405400, +-0.723444039627463400, -0.723409519571911240, -0.723374997707835200, -0.723340474035321760, -0.723305948554457180, -0.723271421265327060, -0.723236892168019010, -0.723202361262618720, +-0.723167828549212580, -0.723133294027886840, -0.723098757698727780, -0.723064219561821990, -0.723029679617254840, -0.722995137865114270, -0.722960594305485760, -0.722926048938455800, +-0.722891501764110770, -0.722856952782536920, -0.722822401993820640, -0.722787849398048520, -0.722753294995306610, -0.722718738785680940, -0.722684180769259000, -0.722649620946126610, +-0.722615059316370160, -0.722580495880076110, -0.722545930637330750, -0.722511363588219990, -0.722476794732831440, -0.722442224071250920, -0.722407651603564900, -0.722373077329859560, +-0.722338501250221700, -0.722303923364737480, -0.722269343673493490, -0.722234762176576120, -0.722200178874071290, -0.722165593766066590, -0.722131006852647970, -0.722096418133901690, +-0.722061827609914550, -0.722027235280772730, -0.721992641146562140, -0.721958045207370720, -0.721923447463284070, -0.721888847914388790, -0.721854246560771460, -0.721819643402518580, +-0.721785038439716420, -0.721750431672451790, -0.721715823100811060, -0.721681212724880170, -0.721646600544746830, -0.721611986560496970, -0.721577370772217170, -0.721542753179993950, +-0.721508133783913760, -0.721473512584063340, -0.721438889580528490, -0.721404264773397140, -0.721369638162754900, -0.721335009748688690, -0.721300379531285010, -0.721265747510630330, +-0.721231113686811250, -0.721196478059914490, -0.721161840630025750, -0.721127201397233190, -0.721092560361622500, -0.721057917523280520, -0.721023272882293620, -0.720988626438748610, +-0.720953978192732100, -0.720919328144330020, -0.720884676293630070, -0.720850022640718620, -0.720815367185681950, -0.720780709928606990, -0.720746050869580210, -0.720711390008688340, +-0.720676727346017950, -0.720642062881655780, -0.720607396615687850, -0.720572728548201980, -0.720538058679284330, -0.720503387009021500, -0.720468713537500190, -0.720434038264807120, +-0.720399361191028320, -0.720364682316251840, -0.720330001640563600, -0.720295319164050210, -0.720260634886798700, -0.720225948808895570, -0.720191260930427510, -0.720156571251481360, +-0.720121879772143700, -0.720087186492500810, -0.720052491412640490, -0.720017794532649020, -0.719983095852613110, -0.719948395372619340, -0.719913693092754660, -0.719878989013105100, +-0.719844283133758700, -0.719809575454801510, -0.719774865976320450, -0.719740154698402250, -0.719705441621133590, -0.719670726744601420, -0.719636010068892330, -0.719601291594093360, +-0.719566571320290450, -0.719531849247571740, -0.719497125376023390, -0.719462399705732230, -0.719427672236785050, -0.719392942969268700, -0.719358211903270100, -0.719323479038875170, +-0.719288744376172300, -0.719254007915247520, -0.719219269656187770, -0.719184529599079750, -0.719149787744010500, -0.719115044091066750, -0.719080298640335400, -0.719045551391902630, +-0.719010802345856680, -0.718976051502283610, -0.718941298861270560, -0.718906544422904140, -0.718871788187271380, -0.718837030154459210, -0.718802270324553790, -0.718767508697643390, +-0.718732745273814140, -0.718697980053153000, -0.718663213035746980, -0.718628444221682930, -0.718593673611047760, -0.718558901203928400, -0.718524127000411790, -0.718489351000584200, +-0.718454573204533880, -0.718419793612347200, -0.718385012224110890, -0.718350229039912190, -0.718315444059837830, -0.718280657283974280, -0.718245868712409700, -0.718211078345230460, +-0.718176286182523490, -0.718141492224375840, -0.718106696470874440, -0.718071898922106320, -0.718037099578158420, -0.718002298439117780, -0.717967495505070770, -0.717932690776105660, +-0.717897884252308830, -0.717863075933767300, -0.717828265820568020, -0.717793453912798140, -0.717758640210544030, -0.717723824713893840, -0.717689007422934180, -0.717654188337751850, +-0.717619367458434240, -0.717584544785068170, -0.717549720317740670, -0.717514894056538900, -0.717480066001549900, -0.717445236152860040, -0.717410404510557820, -0.717375571074729490, +-0.717340735845462320, -0.717305898822843350, -0.717271060006959500, -0.717236219397898060, -0.717201376995745490, -0.717166532800590060, -0.717131686812518270, -0.717096839031617360, +-0.717061989457974280, -0.717027138091676170, -0.716992284932810310, -0.716957429981463720, -0.716922573237723020, -0.716887714701676340, -0.716852854373410510, -0.716817992253012460, +-0.716783128340569450, -0.716748262636168530, -0.716713395139897070, -0.716678525851841550, -0.716643654772090240, -0.716608781900729740, -0.716573907237847420, -0.716539030783530210, +-0.716504152537865590, -0.716469272500940390, -0.716434390672842090, -0.716399507053657960, -0.716364621643474250, -0.716329734442379680, -0.716294845450460740, -0.716259954667804680, +-0.716225062094498770, -0.716190167730630270, -0.716155271576285560, -0.716120373631553450, -0.716085473896520330, -0.716050572371273560, -0.716015669055900310, -0.715980763950487930, +-0.715945857055123700, -0.715910948369894660, -0.715876037894888410, -0.715841125630191310, -0.715806211575892190, -0.715771295732077430, -0.715736378098834390, -0.715701458676250460, +-0.715666537464412890, -0.715631614463408390, -0.715596689673325350, -0.715561763094250790, -0.715526834726271650, -0.715491904569475420, -0.715456972623949470, -0.715422038889781180, +-0.715387103367057690, -0.715352166055866380, -0.715317226956294180, -0.715282286068429470, -0.715247343392359070, -0.715212398928170230, -0.715177452675950560, -0.715142504635787100, +-0.715107554807767440, -0.715072603191978300, -0.715037649788508150, -0.715002694597444030, -0.714967737618873110, -0.714932778852882870, -0.714897818299560560, -0.714862855958993900, +-0.714827891831269930, -0.714792925916475700, -0.714757958214699780, -0.714722988726028910, -0.714688017450550660, -0.714653044388352310, -0.714618069539521340, -0.714583092904145230, +-0.714548114482310700, -0.714513134274106560, -0.714478152279619530, -0.714443168498937190, -0.714408182932146920, -0.714373195579336210, -0.714338206440592430, -0.714303215516003180, +-0.714268222805655270, -0.714233228309637420, -0.714198232028036450, -0.714163233960940060, -0.714128234108435400, -0.714093232470610180, -0.714058229047552010, -0.714023223839347580, +-0.713988216846085710, -0.713953208067853230, -0.713918197504737840, -0.713883185156826920, -0.713848171024207940, -0.713813155106968630, -0.713778137405196470, -0.713743117918978930, +-0.713708096648402960, -0.713673073593557360, -0.713638048754529080, -0.713603022131405700, -0.713567993724274820, -0.713532963533223820, -0.713497931558339850, -0.713462897799711730, +-0.713427862257426270, -0.713392824931571190, -0.713357785822234080, -0.713322744929502540, -0.713287702253464050, -0.713252657794206320, -0.713217611551816950, -0.713182563526382980, +-0.713147513717993120, -0.713112462126734630, -0.713077408752694870, -0.713042353595961580, -0.713007296656622440, -0.712972237934765160, -0.712937177430476470, -0.712902115143845600, +-0.712867051074959400, -0.712831985223905560, -0.712796917590771790, -0.712761848175645700, -0.712726776978614970, -0.712691703999767330, -0.712656629239189820, -0.712621552696971360, +-0.712586474373199000, -0.712551394267960330, -0.712516312381343390, -0.712481228713435550, -0.712446143264324650, -0.712411056034097820, -0.712375967022843890, -0.712340876230650120, +-0.712305783657604110, -0.712270689303793670, -0.712235593169306510, -0.712200495254230350, -0.712165395558652990, -0.712130294082661490, -0.712095190826344870, -0.712060085789790300, +-0.712024978973085480, -0.711989870376318220, -0.711954759999576250, -0.711919647842947370, -0.711884533906518850, -0.711849418190379610, -0.711814300694616710, -0.711779181419318170, +-0.711744060364571610, -0.711708937530464940, -0.711673812917085980, -0.711638686524522330, -0.711603558352862150, -0.711568428402192250, -0.711533296672602010, -0.711498163164178580, +-0.711463027877009770, -0.711427890811183290, -0.711392751966787080, -0.711357611343908400, -0.711322468942636290, -0.711287324763058000, -0.711252178805261480, -0.711217031069334430, +-0.711181881555364770, -0.711146730263440550, -0.711111577193649370, -0.711076422346079370, -0.711041265720817610, -0.711006107317953220, -0.710970947137573690, -0.710935785179766740, +-0.710900621444620410, -0.710865455932222500, -0.710830288642660850, -0.710795119576022930, -0.710759948732397890, -0.710724776111872900, -0.710689601714535990, -0.710654425540475090, +-0.710619247589778010, -0.710584067862533030, -0.710548886358827740, -0.710513703078749610, -0.710478518022387820, -0.710443331189829830, -0.710408142581163470, -0.710372952196476780, +-0.710337760035857580, -0.710302566099394130, -0.710267370387173580, -0.710232172899285310, -0.710196973635816460, -0.710161772596855310, -0.710126569782489670, -0.710091365192807580, +-0.710056158827897080, -0.710020950687846210, -0.709985740772742350, -0.709950529082674750, -0.709915315617730910, -0.709880100377998650, -0.709844883363566210, -0.709809664574521550, +-0.709774444010952690, -0.709739221672947120, -0.709703997560594100, -0.709668771673981120, -0.709633544013196230, -0.709598314578327450, -0.709563083369462940, -0.709527850386690640, +-0.709492615630098800, -0.709457379099775350, -0.709422140795807790, -0.709386900718285580, -0.709351658867296120, -0.709316415242927430, -0.709281169845267790, -0.709245922674405230, +-0.709210673730427230, -0.709175423013423180, -0.709140170523480440, -0.709104916260687390, -0.709069660225132070, -0.709034402416902520, -0.708999142836087000, -0.708963881482773670, +-0.708928618357050570, -0.708893353459005390, -0.708858086788727420, -0.708822818346304120, -0.708787548131823870, -0.708752276145374730, -0.708717002387044940, -0.708681726856922540, +-0.708646449555095370, -0.708611170481652560, -0.708575889636681830, -0.708540607020271440, -0.708505322632509540, -0.708470036473484280, -0.708434748543284030, -0.708399458841996730, +-0.708364167369710310, -0.708328874126514020, -0.708293579112495570, -0.708258282327743130, -0.708222983772345050, -0.708187683446389490, -0.708152381349964720, -0.708117077483158330, +-0.708081771846059920, -0.708046464438757070, -0.708011155261338070, -0.707975844313891270, -0.707940531596504720, -0.707905217109266900, -0.707869900852265980, -0.707834582825589750, +-0.707799263029327720, -0.707763941463567360, -0.707728618128397270, -0.707693293023905600, -0.707657966150180840, -0.707622637507311030, -0.707587307095383980, -0.707551974914489400, +-0.707516640964714780, -0.707481305246148610, -0.707445967758879140, -0.707410628502994740, -0.707375287478583800, -0.707339944685734690, -0.707304600124535670, -0.707269253795074440, +-0.707233905697440820, -0.707198555831722420, -0.707163204198007600, -0.707127850796384740, -0.707092495626942320, -0.707057138689768050, -0.707021779984951530, -0.706986419512580570, +-0.706951057272743540, -0.706915693265528830, -0.706880327491024920, -0.706844959949320170, -0.706809590640503080, -0.706774219564662020, -0.706738846721884690, -0.706703472112260920, +-0.706668095735878520, -0.706632717592825870, -0.706597337683191330, -0.706561956007063510, -0.706526572564530890, -0.706491187355681060, -0.706455800380603960, -0.706420411639387400, +-0.706385021132119760, -0.706349628858889520, -0.706314234819785280, -0.706278839014895410, -0.706243441444308510, -0.706208042108112280, -0.706172641006396650, -0.706137238139249450, +-0.706101833506759040, -0.706066427109014130, -0.706031018946103090, -0.705995609018114530, -0.705960197325136370, -0.705924783867258320, -0.705889368644568300, -0.705853951657154810, +-0.705818532905106540, -0.705783112388511880, -0.705747690107459410, -0.705712266062037740, -0.705676840252334790, -0.705641412678440380, -0.705605983340442440, -0.705570552238429460, +-0.705535119372490250, -0.705499684742713180, -0.705464248349186860, -0.705428810191999320, -0.705393370271240380, -0.705357928586997970, -0.705322485139360800, -0.705287039928417350, +-0.705251592954256320, -0.705216144216966320, -0.705180693716636050, -0.705145241453353890, -0.705109787427208090, -0.705074331638288480, -0.705038874086682980, -0.705003414772480300, +-0.704967953695769150, -0.704932490856638010, -0.704897026255175030, -0.704861559891470150, -0.704826091765611400, -0.704790621877687370, -0.704755150227786790, -0.704719676815998340, +-0.704684201642410750, -0.704648724707112590, -0.704613246010192710, -0.704577765551739010, -0.704542283331841550, -0.704506799350588350, -0.704471313608068140, -0.704435826104369720, +-0.704400336839581700, -0.704364845813792770, -0.704329353027091210, -0.704293858479566830, -0.704258362171307770, -0.704222864102402870, -0.704187364272940820, -0.704151862683010330, +-0.704116359332700230, -0.704080854222099100, -0.704045347351295310, -0.704009838720378810, -0.703974328329437630, -0.703938816178560690, -0.703903302267836710, -0.703867786597354380, +-0.703832269167202760, -0.703796749977469660, -0.703761229028245340, -0.703725706319618060, -0.703690181851676420, -0.703654655624509350, -0.703619127638205670, -0.703583597892854180, +-0.703548066388543610, -0.703512533125362330, -0.703476998103400360, -0.703441461322745760, -0.703405922783487680, -0.703370382485714710, -0.703334840429515770, -0.703299296614979810, +-0.703263751042194850, -0.703228203711251170, -0.703192654622237120, -0.703157103775241320, -0.703121551170352800, -0.703085996807660370, -0.703050440687252860, -0.703014882809219420, +-0.702979323173648640, -0.702943761780629010, -0.702908198630250560, -0.702872633722601670, -0.702837067057771160, -0.702801498635847950, -0.702765928456920990, -0.702730356521078630, +-0.702694782828411020, -0.702659207379006330, -0.702623630172953820, -0.702588051210342070, -0.702552470491260240, -0.702516888015797260, -0.702481303784042050, -0.702445717796083560, +-0.702410130052010250, -0.702374540551912060, -0.702338949295877700, -0.702303356283995870, -0.702267761516355620, -0.702232164993046080, -0.702196566714155980, -0.702160966679773900, +-0.702125364889990110, -0.702089761344892870, -0.702054156044571220, -0.702018548989114090, -0.701982940178610630, -0.701947329613149870, -0.701911717292820760, -0.701876103217711770, +-0.701840487387913160, -0.701804869803513200, -0.701769250464601150, -0.701733629371266040, -0.701698006523596820, -0.701662381921682510, -0.701626755565611600, -0.701591127455474580, +-0.701555497591359600, -0.701519865973355920, -0.701484232601552680, -0.701448597476038720, -0.701412960596903280, -0.701377321964235520, -0.701341681578123710, -0.701306039438658440, +-0.701270395545928070, -0.701234749900021660, -0.701199102501028350, -0.701163453349037290, -0.701127802444137640, -0.701092149786417870, -0.701056495375968370, -0.701020839212877610, +-0.700985181297234640, -0.700949521629128820, -0.700913860208649210, -0.700878197035884940, -0.700842532110925060, -0.700806865433859060, -0.700771197004775080, -0.700735526823763830, +-0.700699854890913800, -0.700664181206314020, -0.700628505770053870, -0.700592828582222490, -0.700557149642908270, -0.700521468952201910, -0.700485786510191890, -0.700450102316967360, +-0.700414416372617590, -0.700378728677231830, -0.700343039230899130, -0.700307348033708870, -0.700271655085750290, -0.700235960387112000, -0.700200263937884260, -0.700164565738156000, +-0.700128865788016250, -0.700093164087554400, -0.700057460636859590, -0.700021755436020520, -0.699986048485127690, -0.699950339784269790, -0.699914629333535990, -0.699878917133015640, +-0.699843203182797910, -0.699807487482972280, -0.699771770033627890, -0.699736050834854020, -0.699700329886739470, -0.699664607189374730, -0.699628882742848400, -0.699593156547249960, +-0.699557428602668560, -0.699521698909193690, -0.699485967466914490, -0.699450234275919680, -0.699414499336299960, -0.699378762648144030, -0.699343024211541150, -0.699307284026580820, +-0.699271542093352180, -0.699235798411944610, -0.699200052982447700, -0.699164305804949930, -0.699128556879542120, -0.699092806206312870, -0.699057053785351550, -0.699021299616747640, +-0.698985543700590520, -0.698949786036969440, -0.698914026625973350, -0.698878265467692830, -0.698842502562216580, -0.698806737909634100, -0.698770971510034760, -0.698735203363508030, +-0.698699433470143290, -0.698663661830029930, -0.698627888443257520, -0.698592113309914660, -0.698556336430092180, -0.698520557803878780, -0.698484777431364060, -0.698448995312637380, +-0.698413211447788230, -0.698377425836905430, -0.698341638480079690, -0.698305849377399810, -0.698270058528955300, -0.698234265934835730, -0.698198471595130490, -0.698162675509928940, +-0.698126877679320800, -0.698091078103395550, -0.698055276782241880, -0.698019473715950630, -0.697983668904610720, -0.697947862348311630, -0.697912054047142850, -0.697876244001193970, +-0.697840432210553920, -0.697804618675313290, -0.697768803395561240, -0.697732986371387030, -0.697697167602880470, -0.697661347090130950, -0.697625524833228150, -0.697589700832261460, +-0.697553875087320470, -0.697518047598494230, -0.697482218365873540, -0.697446387389547230, -0.697410554669605000, -0.697374720206136330, -0.697338883999230940, -0.697303046048978300, +-0.697267206355467350, -0.697231364918789120, -0.697195521739032430, -0.697159676816286880, -0.697123830150642170, -0.697087981742188000, -0.697052131591013760, -0.697016279697209250, +-0.696980426060863300, -0.696944570682067050, -0.696908713560909330, -0.696872854697479730, -0.696836994091868060, -0.696801131744164030, -0.696765267654457010, -0.696729401822836270, +-0.696693534249392620, -0.696657664934215100, -0.696621793877393540, -0.696585921079017400, -0.696550046539176400, -0.696514170257960360, -0.696478292235458870, -0.696442412471761750, +-0.696406530966957820, -0.696370647721138330, -0.696334762734392100, -0.696298876006809060, -0.696262987538478820, -0.696227097329491060, -0.696191205379934950, -0.696155311689901410, +-0.696119416259479710, -0.696083519088759320, -0.696047620177830280, -0.696011719526782090, -0.695975817135704670, -0.695939913004687600, -0.695904007133820830, -0.695868099523193400, +-0.695832190172896330, -0.695796279083018780, -0.695760366253650560, -0.695724451684881510, -0.695688535376801200, -0.695652617329499010, -0.695616697543065770, -0.695580776017590940, +-0.695544852753164130, -0.695508927749875160, -0.695473001007813840, -0.695437072527070100, -0.695401142307733640, -0.695365210349894290, -0.695329276653641300, -0.695293341219065830, +-0.695257404046256910, -0.695221465135304470, -0.695185524486298450, -0.695149582099328530, -0.695113637974484780, -0.695077692111856220, -0.695041744511534000, -0.695005795173607500, +-0.694969844098166530, -0.694933891285300920, -0.694897936735100590, -0.694861980447655350, -0.694826022423055250, -0.694790062661389430, -0.694754101162749160, -0.694718137927223480, +-0.694682172954902530, -0.694646206245876140, -0.694610237800234340, -0.694574267618066840, -0.694538295699463020, -0.694502322044514120, -0.694466346653309420, -0.694430369525938950, +-0.694394390662492420, -0.694358410063059980, -0.694322427727731450, -0.694286443656596970, -0.694250457849745590, -0.694214470307268790, -0.694178481029255830, -0.694142490015796640, +-0.694106497266981260, -0.694070502782899610, -0.694034506563641740, -0.693998508609296900, -0.693962508919956480, -0.693926507495709720, -0.693890504336646790, -0.693854499442857490, +-0.693818492814431980, -0.693782484451460290, -0.693746474354032360, -0.693710462522238220, -0.693674448956167370, -0.693638433655910940, -0.693602416621558420, -0.693566397853199960, +-0.693530377350925380, -0.693494355114824930, -0.693458331144988000, -0.693422305441505740, -0.693386278004467840, -0.693350248833964230, -0.693314217930084960, -0.693278185292920180, +-0.693242150922559920, -0.693206114819094220, -0.693170076982613350, -0.693134037413206560, -0.693097996110965340, -0.693061953075979180, -0.693025908308338100, -0.692989861808132270, +-0.692953813575451720, -0.692917763610386710, -0.692881711913026610, -0.692845658483462800, -0.692809603321784980, -0.692773546428083090, -0.692737487802447370, -0.692701427444967880, +-0.692665365355734860, -0.692629301534838370, -0.692593235982367990, -0.692557168698415220, -0.692521099683069520, -0.692485028936421050, -0.692448956458560080, -0.692412882249576640, +-0.692376806309561000, -0.692340728638602740, -0.692304649236793250, -0.692268568104222100, -0.692232485240979580, -0.692196400647155930, -0.692160314322841200, -0.692124226268125640, +-0.692088136483099640, -0.692052044967852550, -0.692015951722475990, -0.691979856747059640, -0.691943760041693560, -0.691907661606468110, -0.691871561441473440, -0.691835459546800040, +-0.691799355922537160, -0.691763250568776630, -0.691727143485608040, -0.691691034673121430, -0.691654924131407390, -0.691618811860555960, -0.691582697860657510, -0.691546582131802310, +-0.691510464674080620, -0.691474345487582130, -0.691438224572398450, -0.691402101928619280, -0.691365977556334780, -0.691329851455635300, -0.691293723626611230, -0.691257594069352280, +-0.691221462783949910, -0.691185329770493850, -0.691149195029074570, -0.691113058559782220, -0.691076920362707290, -0.691040780437939930, -0.691004638785570720, -0.690968495405689940, +-0.690932350298387290, -0.690896203463754240, -0.690860054901880850, -0.690823904612857250, -0.690787752596773940, -0.690751598853721170, -0.690715443383789540, -0.690679286187068530, +-0.690643127263649960, -0.690606966613623640, -0.690570804237079840, -0.690534640134109030, -0.690498474304801710, -0.690462306749248130, -0.690426137467538780, -0.690389966459763470, +-0.690353793726013910, -0.690317619266379800, -0.690281443080951630, -0.690245265169819880, -0.690209085533075030, -0.690172904170807460, -0.690136721083106860, -0.690100536270065180, +-0.690064349731772220, -0.690028161468318360, -0.689991971479794080, -0.689955779766289860, -0.689919586327896180, -0.689883391164703540, -0.689847194276801750, -0.689810995664282610, +-0.689774795327236070, -0.689738593265752490, -0.689702389479922460, -0.689666183969836480, -0.689629976735584900, -0.689593767777257890, -0.689557557094947040, -0.689521344688742270, +-0.689485130558734170, -0.689448914705013240, -0.689412697127670060, -0.689376477826795010, -0.689340256802478900, -0.689304034054812110, -0.689267809583884670, -0.689231583389788180, +-0.689195355472612900, -0.689159125832449090, -0.689122894469387570, -0.689086661383518710, -0.689050426574932650, -0.689014190043721110, -0.688977951789974120, -0.688941711813782280, +-0.688905470115236060, -0.688869226694426300, -0.688832981551443350, -0.688796734686378030, -0.688760486099320830, -0.688724235790361790, -0.688687983759592840, -0.688651730007103890, +-0.688615474532985660, -0.688579217337328630, -0.688542958420223620, -0.688506697781761320, -0.688470435422031460, -0.688434171341126280, -0.688397905539135600, -0.688361638016150130, +-0.688325368772260690, -0.688289097807557760, -0.688252825122132040, -0.688216550716074350, -0.688180274589474510, -0.688143996742424770, -0.688107717175014950, -0.688071435887335880, +-0.688035152879478140, -0.687998868151532660, -0.687962581703589930, -0.687926293535740090, -0.687890003648075180, -0.687853712040685240, -0.687817418713660980, -0.687781123667093320, +-0.687744826901072750, -0.687708528415690080, -0.687672228211036130, -0.687635926287200940, -0.687599622644276650, -0.687563317282353200, -0.687527010201521630, -0.687490701401872410, +-0.687454390883496470, -0.687418078646484520, -0.687381764690926710, -0.687345449016915190, -0.687309131624539990, -0.687272812513892050, -0.687236491685061960, -0.687200169138140750, +-0.687163844873219020, -0.687127518890387810, -0.687091191189737720, -0.687054861771358990, -0.687018530635343680, -0.686982197781782160, -0.686945863210765120, -0.686909526922383500, +-0.686873188916727880, -0.686836849193888770, -0.686800507753958180, -0.686764164597026380, -0.686727819723184090, -0.686691473132522210, -0.686655124825131690, -0.686618774801103340, +-0.686582423060528080, -0.686546069603496730, -0.686509714430099560, -0.686473357540428820, -0.686436998934574660, -0.686400638612628010, -0.686364276574679690, -0.686327912820820730, +-0.686291547351141950, -0.686255180165733720, -0.686218811264688200, -0.686182440648095640, -0.686146068316046960, -0.686109694268633000, -0.686073318505944880, -0.686036941028073550, +-0.686000561835109820, -0.685964180927144060, -0.685927798304268420, -0.685891413966573270, -0.685855027914149650, -0.685818640147088490, -0.685782250665480710, -0.685745859469417240, +-0.685709466558988570, -0.685673071934286840, -0.685636675595402420, -0.685600277542426250, -0.685563877775449470, -0.685527476294562900, -0.685491073099857800, -0.685454668191424870, +-0.685418261569354700, -0.685381853233739570, -0.685345443184669720, -0.685309031422236310, -0.685272617946530270, -0.685236202757642740, -0.685199785855664660, -0.685163367240686490, +-0.685126946912800520, -0.685090524872097210, -0.685054101118667600, -0.685017675652602740, -0.684981248473993660, -0.684944819582931410, -0.684908388979507230, -0.684871956663812060, +-0.684835522635936280, -0.684799086895972350, -0.684762649444010770, -0.684726210280142470, -0.684689769404458690, -0.684653326817050490, -0.684616882518008340, -0.684580436507424730, +-0.684543988785389910, -0.684507539351995040, -0.684471088207331490, -0.684434635351490070, -0.684398180784562160, -0.684361724506638790, -0.684325266517811110, -0.684288806818169610, +-0.684252345407806770, -0.684215882286812960, -0.684179417455279550, -0.684142950913297580, -0.684106482660958190, -0.684070012698352550, -0.684033541025571350, -0.683997067642706850, +-0.683960592549849760, -0.683924115747091220, -0.683887637234522280, -0.683851157012234310, -0.683814675080318460, -0.683778191438865870, -0.683741706087967140, -0.683705219027714860, +-0.683668730258199410, -0.683632239779512260, -0.683595747591744460, -0.683559253694987380, -0.683522758089332050, -0.683486260774869180, -0.683449761751691360, -0.683413261019889200, +-0.683376758579553820, -0.683340254430776510, -0.683303748573648620, -0.683267241008261310, -0.683230731734705830, -0.683194220753073010, -0.683157708063455220, -0.683121193665943150, +-0.683084677560628180, -0.683048159747601470, -0.683011640226954380, -0.682975118998778160, -0.682938596063163430, -0.682902071420202980, -0.682865545069987200, -0.682829017012607680, +-0.682792487248155670, -0.682755955776722320, -0.682719422598399130, -0.682682887713277340, -0.682646351121448450, -0.682609812823002930, -0.682573272818033480, -0.682536731106630930, +-0.682500187688886540, -0.682463642564891670, -0.682427095734737700, -0.682390547198515440, -0.682353996956317270, -0.682317445008234210, -0.682280891354357540, -0.682244335994778630, +-0.682207778929588950, -0.682171220158879770, -0.682134659682742450, -0.682098097501268600, -0.682061533614548800, -0.682024968022675870, -0.681988400725740520, -0.681951831723834110, +-0.681915261017048140, -0.681878688605473960, -0.681842114489203180, -0.681805538668326380, -0.681768961142936390, -0.681732381913124020, -0.681695800978980750, -0.681659218340597840, +-0.681622633998067000, -0.681586047951479590, -0.681549460200926990, -0.681512870746500130, -0.681476279588291710, -0.681439686726392550, -0.681403092160894230, -0.681366495891888140, +-0.681329897919465970, -0.681293298243718870, -0.681256696864738000, -0.681220093782615940, -0.681183488997443630, -0.681146882509312660, -0.681110274318314500, -0.681073664424540650, +-0.681037052828082580, -0.681000439529031890, -0.680963824527479500, -0.680927207823518230, -0.680890589417238790, -0.680853969308732990, -0.680817347498092310, -0.680780723985408230, +-0.680744098770772240, -0.680707471854275490, -0.680670843236010570, -0.680634212916068740, -0.680597580894541140, -0.680560947171519710, -0.680524311747095930, -0.680487674621361390, +-0.680451035794407580, -0.680414395266326300, -0.680377753037208270, -0.680341109107146510, -0.680304463476232080, -0.680267816144556340, -0.680231167112211210, -0.680194516379288070, +-0.680157863945878070, -0.680121209812073910, -0.680084553977966850, -0.680047896443648380, -0.680011237209210200, -0.679974576274743890, -0.679937913640341170, -0.679901249306093640, +-0.679864583272092980, -0.679827915538430140, -0.679791246105198250, -0.679754574972488260, -0.679717902140391850, -0.679681227609000630, -0.679644551378406400, -0.679607873448700110, +-0.679571193819974660, -0.679534512492321440, -0.679497829465831820, -0.679461144740597600, -0.679424458316710610, -0.679387770194262440, -0.679351080373344800, -0.679314388854049490, +-0.679277695636467560, -0.679241000720692050, -0.679204304106813980, -0.679167605794925300, -0.679130905785117480, -0.679094204077482440, -0.679057500672111790, -0.679020795569096890, +-0.678984088768530560, -0.678947380270504050, -0.678910670075109080, -0.678873958182437450, -0.678837244592580880, -0.678800529305631170, -0.678763812321680260, -0.678727093640819070, +-0.678690373263140740, -0.678653651188736660, -0.678616927417698300, -0.678580201950117700, -0.678543474786086560, -0.678506745925696710, -0.678470015369039390, -0.678433283116207650, +-0.678396549167292750, -0.678359813522386500, -0.678323076181580610, -0.678286337144967110, -0.678249596412637710, -0.678212853984684340, -0.678176109861198920, -0.678139364042272490, +-0.678102616527998300, -0.678065867318467630, -0.678029116413772170, -0.677992363814004070, -0.677955609519254930, -0.677918853529616230, -0.677882095845181000, -0.677845336466040500, +-0.677808575392286670, -0.677771812624011430, -0.677735048161306590, -0.677698282004264190, -0.677661514152976040, -0.677624744607534190, -0.677587973368029780, -0.677551200434556080, +-0.677514425807204330, -0.677477649486066590, -0.677440871471234770, -0.677404091762800700, -0.677367310360855730, -0.677330527265493140, -0.677293742476804290, -0.677256955994881120, +-0.677220167819815420, -0.677183377951699360, -0.677146586390624860, -0.677109793136683960, -0.677072998189968470, -0.677036201550569870, -0.676999403218581430, -0.676962603194094510, +-0.676925801477201050, -0.676888998067993080, -0.676852192966562630, -0.676815386173001740, -0.676778577687401680, -0.676741767509855820, -0.676704955640455630, -0.676668142079292930, +-0.676631326826459880, -0.676594509882048610, -0.676557691246150950, -0.676520870918859150, -0.676484048900264480, -0.676447225190460410, -0.676410399789538210, -0.676373572697590020, +-0.676336743914707880, -0.676299913440983950, -0.676263081276510250, -0.676226247421378050, -0.676189411875681050, -0.676152574639510400, -0.676115735712958350, -0.676078895096116960, +-0.676042052789078360, -0.676005208791934600, -0.675968363104777810, -0.675931515727700160, -0.675894666660793010, -0.675857815904149840, -0.675820963457862130, -0.675784109322022040, +-0.675747253496721710, -0.675710395982053290, -0.675673536778108150, -0.675636675884979780, -0.675599813302759760, -0.675562949031540240, -0.675526083071413370, -0.675489215422471200, +-0.675452346084806090, -0.675415475058509960, -0.675378602343675300, -0.675341727940393380, -0.675304851848757880, -0.675267974068860190, -0.675231094600792560, -0.675194213444647250, +-0.675157330600516410, -0.675120446068491530, -0.675083559848666190, -0.675046671941131990, -0.675009782345981080, -0.674972891063305820, -0.674935998093198150, -0.674899103435750660, +-0.674862207091055270, -0.674825309059204460, -0.674788409340289720, -0.674751507934404530, -0.674714604841640590, -0.674677700062090270, -0.674640793595845500, -0.674603885442998870, +-0.674566975603642540, -0.674530064077868090, -0.674493150865769110, -0.674456235967437310, -0.674419319382964840, -0.674382401112444070, -0.674345481155967370, -0.674308559513626890, +-0.674271636185515110, -0.674234711171723510, -0.674197784472345800, -0.674160856087473670, -0.674123926017199280, -0.674086994261615220, -0.674050060820813530, -0.674013125694886810, +-0.673976188883926630, -0.673939250388026600, -0.673902310207278420, -0.673865368341774460, -0.673828424791607090, -0.673791479556868690, -0.673754532637651500, -0.673717584034048130, +-0.673680633746150730, -0.673643681774050980, -0.673606728117842830, -0.673569772777617870, -0.673532815753468350, -0.673495857045486870, -0.673458896653765680, -0.673421934578396720, +-0.673384970819473460, -0.673348005377087830, -0.673311038251332210, -0.673274069442298950, -0.673237098950080550, -0.673200126774769370, -0.673163152916457900, -0.673126177375238500, +-0.673089200151202990, -0.673052221244445190, -0.673015240655056910, -0.672978258383130410, -0.672941274428758280, -0.672904288792033010, -0.672867301473046410, -0.672830312471892070, +-0.672793321788662020, -0.672756329423448650, -0.672719335376344540, -0.672682339647441950, -0.672645342236833590, -0.672608343144611930, -0.672571342370869350, -0.672534339915697780, +-0.672497335779191020, -0.672460329961440890, -0.672423322462539890, -0.672386313282580690, -0.672349302421655580, -0.672312289879857250, -0.672275275657277630, -0.672238259754010410, +-0.672201242170147540, -0.672164222905781590, -0.672127201961005170, -0.672090179335910640, -0.672053155030590600, -0.672016129045137740, -0.671979101379643890, -0.671942072034202980, +-0.671905041008906910, -0.671868008303848190, -0.671830973919119500, -0.671793937854813340, -0.671756900111022290, -0.671719860687838400, -0.671682819585355470, -0.671645776803665550, +-0.671608732342861110, -0.671571686203034870, -0.671534638384279400, -0.671497588886687420, -0.671460537710351410, -0.671423484855363300, -0.671386430321817330, -0.671349374109805110, +-0.671312316219419560, -0.671275256650753160, -0.671238195403898620, -0.671201132478948640, -0.671164067875995140, -0.671127001595132170, -0.671089933636451640, -0.671052864000046380, +-0.671015792686008860, -0.670978719694431900, -0.670941645025408100, -0.670904568679030140, -0.670867490655390860, -0.670830410954582180, -0.670793329576698130, -0.670756246521830750, +-0.670719161790072740, -0.670682075381516810, -0.670644987296255660, -0.670607897534381440, -0.670570806095988180, -0.670533712981167820, -0.670496618190013270, -0.670459521722617140, +-0.670422423579072110, -0.670385323759471130, -0.670348222263906780, -0.670311119092471990, -0.670274014245258560, -0.670236907722360890, -0.670199799523870880, -0.670162689649881460, +-0.670125578100485230, -0.670088464875775110, -0.670051349975843810, -0.670014233400783480, -0.669977115150688140, -0.669939995225650180, -0.669902873625762060, -0.669865750351116840, +-0.669828625401807320, -0.669791498777926100, -0.669754370479566210, -0.669717240506819690, -0.669680108859780800, -0.669642975538541570, -0.669605840543194940, -0.669568703873833710, +-0.669531565530550710, -0.669494425513438740, -0.669457283822590070, -0.669420140458098940, -0.669382995420057410, -0.669345848708558290, -0.669308700323694720, -0.669271550265559290, +-0.669234398534245050, -0.669197245129844690, -0.669160090052450700, -0.669122933302157110, -0.669085774879056070, -0.669048614783240740, -0.669011453014803800, -0.668974289573838200, +-0.668937124460436960, -0.668899957674692240, -0.668862789216698280, -0.668825619086547360, -0.668788447284332290, -0.668751273810146210, -0.668714098664081820, -0.668676921846232290, +-0.668639743356690520, -0.668602563195549230, -0.668565381362901000, -0.668528197858839990, -0.668491012683458340, -0.668453825836849310, -0.668416637319105610, -0.668379447130320380, +-0.668342255270585770, -0.668305061739996380, -0.668267866538644120, -0.668230669666622370, -0.668193471124023830, -0.668156270910941650, -0.668119069027468760, -0.668081865473698300, +-0.668044660249723090, -0.668007453355635490, -0.667970244791530110, -0.667933034557498970, -0.667895822653635340, -0.667858609080032140, -0.667821393836782300, -0.667784176923979070, +-0.667746958341714820, -0.667709738090083720, -0.667672516169178330, -0.667635292579091600, -0.667598067319916670, -0.667560840391746570, -0.667523611794674340, -0.667486381528793030, +-0.667449149594195210, -0.667411915990975160, -0.667374680719225340, -0.667337443779038700, -0.667300205170508590, -0.667262964893727940, -0.667225722948789790, -0.667188479335786730, +-0.667151234054813140, -0.667113987105961480, -0.667076738489324810, -0.667039488204996370, -0.667002236253069090, -0.666964982633636350, -0.666927727346791070, -0.666890470392625830, +-0.666853211771235130, -0.666815951482711330, -0.666778689527147690, -0.666741425904637250, -0.666704160615273270, -0.666666893659149000, -0.666629625036356700, -0.666592354746991080, +-0.666555082791144500, -0.666517809168910350, -0.666480533880381530, -0.666443256925651430, -0.666405978304813180, -0.666368698017960060, -0.666331416065185090, -0.666294132446580980, +-0.666256847162242210, -0.666219560212261250, -0.666182271596731490, -0.666144981315745950, -0.666107689369398010, -0.666070395757780150, -0.666033100480986960, -0.665995803539111140, +-0.665958504932245620, -0.665921204660483990, -0.665883902723919290, -0.665846599122644880, -0.665809293856753910, -0.665771986926339760, -0.665734678331494910, -0.665697368072314060, +-0.665660056148889790, -0.665622742561315480, -0.665585427309684170, -0.665548110394089340, -0.665510791814624250, -0.665473471571381480, -0.665436149664455740, -0.665398826093939630, +-0.665361500859926400, -0.665324173962509420, -0.665286845401782070, -0.665249515177837590, -0.665212183290769250, -0.665174849740669870, -0.665137514527634030, -0.665100177651754330, +-0.665062839113124250, -0.665025498911837040, -0.664988157047986080, -0.664950813521664740, -0.664913468332965720, -0.664876121481983720, -0.664838772968811330, -0.664801422793542150, +-0.664764070956269220, -0.664726717457086220, -0.664689362296086440, -0.664652005473363230, -0.664614646989009410, -0.664577286843119560, -0.664539925035786520, -0.664502561567103630, +-0.664465196437164400, -0.664427829646062060, -0.664390461193890220, -0.664353091080741590, -0.664315719306710850, -0.664278345871890830, -0.664240970776375010, -0.664203594020256750, +-0.664166215603629430, -0.664128835526586640, -0.664091453789221630, -0.664054070391628120, -0.664016685333898790, -0.663979298616128370, -0.663941910238409650, -0.663904520200836230, +-0.663867128503501380, -0.663829735146498790, -0.663792340129921280, -0.663754943453863430, -0.663717545118418410, -0.663680145123679340, -0.663642743469740060, -0.663605340156693810, +-0.663567935184634310, -0.663530528553654910, -0.663493120263849210, -0.663455710315309920, -0.663418298708132180, -0.663380885442408590, -0.663343470518232840, -0.663306053935698410, +-0.663268635694898910, -0.663231215795927700, -0.663193794238877920, -0.663156371023844170, -0.663118946150919600, -0.663081519620197680, -0.663044091431771900, -0.663006661585735850, +-0.662969230082183230, -0.662931796921207520, -0.662894362102901650, -0.662856925627360540, -0.662819487494677120, -0.662782047704944980, -0.662744606258257600, -0.662707163154708900, +-0.662669718394392150, -0.662632271977400490, -0.662594823903828840, -0.662557374173770140, -0.662519922787317970, -0.662482469744565930, -0.662445015045607820, -0.662407558690537130, +-0.662370100679447570, -0.662332641012432060, -0.662295179689585620, -0.662257716711001310, -0.662220252076772600, -0.662182785786993300, -0.662145317841757010, -0.662107848241157430, +-0.662070376985287590, -0.662032904074242530, -0.661995429508115070, -0.661957953286999130, -0.661920475410988310, -0.661882995880176290, -0.661845514694656800, -0.661808031854523530, +-0.661770547359870060, -0.661733061210789670, -0.661695573407377280, -0.661658083949725920, -0.661620592837929400, -0.661583100072081320, -0.661545605652275600, -0.661508109578605170, +-0.661470611851165070, -0.661433112470048550, -0.661395611435349080, -0.661358108747160720, -0.661320604405577050, -0.661283098410691880, -0.661245590762598920, -0.661208081461391980, +-0.661170570507164210, -0.661133057900010760, -0.661095543640024540, -0.661058027727299490, -0.661020510161929420, -0.660982990944008030, -0.660945470073629140, -0.660907947550885890, +-0.660870423375873540, -0.660832897548685020, -0.660795370069414360, -0.660757840938155260, -0.660720310155001430, -0.660682777720047020, -0.660645243633385500, -0.660607707895110360, +-0.660570170505316520, -0.660532631464097240, -0.660495090771546330, -0.660457548427757830, -0.660420004432825450, -0.660382458786842990, -0.660344911489903710, -0.660307362542102870, +-0.660269811943533510, -0.660232259694289780, -0.660194705794465260, -0.660157150244154110, -0.660119593043450030, -0.660082034192446930, -0.660044473691238090, -0.660006911539918750, +-0.659969347738582180, -0.659931782287322190, -0.659894215186232700, -0.659856646435407760, -0.659819076034941170, -0.659781503984926190, -0.659743930285458080, -0.659706354936630210, +-0.659668777938536510, -0.659631199291270790, -0.659593618994927080, -0.659556037049599310, -0.659518453455381510, -0.659480868212367510, -0.659443281320650660, -0.659405692780326350, +-0.659368102591487810, -0.659330510754228990, -0.659292917268643810, -0.659255322134826400, -0.659217725352870040, -0.659180126922870090, -0.659142526844919700, -0.659104925119113010, +-0.659067321745544050, -0.659029716724306770, -0.658992110055495180, -0.658954501739203340, -0.658916891775525260, -0.658879280164554330, -0.658841666906385790, -0.658804052001113140, +-0.658766435448830290, -0.658728817249631390, -0.658691197403610370, -0.658653575910861490, -0.658615952771477890, -0.658578327985555160, -0.658540701553186560, -0.658503073474466240, +-0.658465443749488230, -0.658427812378346580, -0.658390179361135420, -0.658352544697948790, -0.658314908388880180, -0.658277270434024950, -0.658239630833476470, -0.658201989587329010, +-0.658164346695676580, -0.658126702158613240, -0.658089055976233130, -0.658051408148629720, -0.658013758675898510, -0.657976107558132850, -0.657938454795426900, -0.657900800387874910, +-0.657863144335570800, -0.657825486638608960, -0.657787827297083290, -0.657750166311087400, -0.657712503680716880, -0.657674839406064970, -0.657637173487225950, -0.657599505924294060, +-0.657561836717363460, -0.657524165866528180, -0.657486493371881810, -0.657448819233519940, -0.657411143451535950, -0.657373466026024200, -0.657335786957078730, -0.657298106244793790, +-0.657260423889263530, -0.657222739890582330, -0.657185054248844210, -0.657147366964142780, -0.657109678036573610, -0.657071987466230190, -0.657034295253206890, -0.656996601397597860, +-0.656958905899497240, -0.656921208758998730, -0.656883509976197820, -0.656845809551188210, -0.656808107484064040, -0.656770403774919690, -0.656732698423849180, -0.656694991430947010, +-0.656657282796307420, -0.656619572520024560, -0.656581860602192040, -0.656544147042905650, -0.656506431842258760, -0.656468715000345870, -0.656430996517261220, -0.656393276393099080, +-0.656355554627953030, -0.656317831221918780, -0.656280106175089920, -0.656242379487560920, -0.656204651159425830, -0.656166921190779130, -0.656129189581715180, -0.656091456332328240, +-0.656053721442712680, -0.656015984912962090, -0.655978246743172290, -0.655940506933436750, -0.655902765483850070, -0.655865022394506390, -0.655827277665500200, -0.655789531296925850, +-0.655751783288876950, -0.655714033641449310, -0.655676282354736520, -0.655638529428833050, -0.655600774863833280, -0.655563018659831460, -0.655525260816922200, -0.655487501335199840, +-0.655449740214757990, -0.655411977455692460, -0.655374213058096950, -0.655336447022065950, -0.655298679347693810, -0.655260910035075030, -0.655223139084303850, -0.655185366495474320, +-0.655147592268681910, -0.655109816404020550, -0.655072038901584720, -0.655034259761468670, -0.654996478983767120, -0.654958696568574310, -0.654920912515984720, -0.654883126826092840, +-0.654845339498992480, -0.654807550534779460, -0.654769759933547580, -0.654731967695391330, -0.654694173820405180, -0.654656378308683510, -0.654618581160320230, -0.654580782375411170, +-0.654542981954050250, -0.654505179896331720, -0.654467376202350400, -0.654429570872200550, -0.654391763905976750, -0.654353955303773600, -0.654316145065685580, -0.654278333191806390, +-0.654240519682232180, -0.654202704537056650, -0.654164887756374270, -0.654127069340279750, -0.654089249288867580, -0.654051427602231560, -0.654013604280467620, -0.653975779323669790, +-0.653937952731932450, -0.653900124505350180, -0.653862294644017570, -0.653824463148029330, -0.653786630017479830, -0.653748795252463880, -0.653710958853075170, -0.653673120819409760, +-0.653635281151561550, -0.653597439849625150, -0.653559596913695140, -0.653521752343866110, -0.653483906140232770, -0.653446058302888930, -0.653408208831930630, -0.653370357727451890, +-0.653332504989547090, -0.653294650618311160, -0.653256794613838570, -0.653218936976224020, -0.653181077705562110, -0.653143216801946870, -0.653105354265474110, -0.653067490096238100, +-0.653029624294333310, -0.652991756859854560, -0.652953887792896310, -0.652916017093553290, -0.652878144761919630, -0.652840270798091370, -0.652802395202162320, -0.652764517974227300, +-0.652726639114381000, -0.652688758622718130, -0.652650876499333290, -0.652612992744321390, -0.652575107357776910, -0.652537220339794000, -0.652499331690468700, -0.652461441409895040, +-0.652423549498167830, -0.652385655955381780, -0.652347760781631480, -0.652309863977011180, -0.652271965541616930, -0.652234065475542750, -0.652196163778883340, -0.652158260451733530, +-0.652120355494188120, -0.652082448906341820, -0.652044540688289320, -0.652006630840125560, -0.651968719361944560, -0.651930806253842370, -0.651892891515913230, -0.651854975148251750, +-0.651817057150952950, -0.651779137524111430, -0.651741216267821440, -0.651703293382179030, -0.651665368867278440, -0.651627442723214380, -0.651589514950081770, -0.651551585547975320, +-0.651513654516989950, -0.651475721857220470, -0.651437787568761580, -0.651399851651707660, -0.651361914106154740, -0.651323974932197070, -0.651286034129929360, -0.651248091699446640, +-0.651210147640843730, -0.651172201954215320, -0.651134254639655910, -0.651096305697261400, -0.651058355127126180, -0.651020402929345040, -0.650982449104012930, -0.650944493651224640, +-0.650906536571075220, -0.650868577863659370, -0.650830617529071450, -0.650792655567407620, -0.650754691978762120, -0.650716726763230000, -0.650678759920905960, -0.650640791451885030, +-0.650602821356262240, -0.650564849634131640, -0.650526876285589580, -0.650488901310730340, -0.650450924709648830, -0.650412946482439970, -0.650374966629198800, -0.650336985150020250, +-0.650299002044999240, -0.650261017314230030, -0.650223030957808870, -0.650185042975830240, -0.650147053368388850, -0.650109062135579950, -0.650071069277498470, -0.650033074794239220, +-0.649995078685896570, -0.649957080952566990, -0.649919081594344640, -0.649881080611324550, -0.649843078003601860, -0.649805073771271390, -0.649767067914428290, -0.649729060433167470, +-0.649691051327584090, -0.649653040597772400, -0.649615028243828660, -0.649577014265847460, -0.649538998663923730, -0.649500981438152380, -0.649462962588628680, -0.649424942115446880, +-0.649386920018703460, -0.649348896298492680, -0.649310870954909580, -0.649272843988049410, -0.649234815398007200, -0.649196785184877780, -0.649158753348756500, -0.649120719889738300, +-0.649082684807917640, -0.649044648103390910, -0.649006609776252570, -0.648968569826597790, -0.648930528254521470, -0.648892485060118980, -0.648854440243485150, -0.648816393804714560, +-0.648778345743903690, -0.648740296061146910, -0.648702244756539370, -0.648664191830176320, -0.648626137282152790, -0.648588081112563830, -0.648550023321504690, -0.648511963909069840, +-0.648473902875355780, -0.648435840220456860, -0.648397775944468460, -0.648359710047485600, -0.648321642529603450, -0.648283573390917130, -0.648245502631521250, -0.648207430251512280, +-0.648169356250984710, -0.648131280630033780, -0.648093203388754760, -0.648055124527242570, -0.648017044045592570, -0.647978961943900030, -0.647940878222259430, -0.647902792880767240, +-0.647864705919518170, -0.647826617338607250, -0.647788527138129840, -0.647750435318180990, -0.647712341878856180, -0.647674246820249770, -0.647636150142458460, -0.647598051845576840, +-0.647559951929699950, -0.647521850394923270, -0.647483747241341940, -0.647445642469051230, -0.647407536078146490, -0.647369428068722770, -0.647331318440874880, -0.647293207194699400, +-0.647255094330290830, -0.647216979847744620, -0.647178863747155940, -0.647140746028620040, -0.647102626692231620, -0.647064505738087270, -0.647026383166281800, -0.646988258976910260, +-0.646950133170068110, -0.646912005745850620, -0.646873876704353030, -0.646835746045670850, -0.646797613769899300, -0.646759479877133000, -0.646721344367468640, -0.646683207241001030, +-0.646645068497825330, -0.646606928138037000, -0.646568786161731300, -0.646530642569003610, -0.646492497359948740, -0.646454350534663270, -0.646416202093241910, -0.646378052035780030, +-0.646339900362372990, -0.646301747073116270, -0.646263592168105140, -0.646225435647435060, -0.646187277511200640, -0.646149117759498790, -0.646110956392424110, -0.646072793410072070, +-0.646034628812538040, -0.645996462599917390, -0.645958294772305600, -0.645920125329797370, -0.645881954272489620, -0.645843781600476840, -0.645805607313854720, -0.645767431412718530, +-0.645729253897163740, -0.645691074767285930, -0.645652894023180270, -0.645614711664941780, -0.645576527692667160, -0.645538342106451330, -0.645500154906389570, -0.645461966092577330, +-0.645423775665110330, -0.645385583624083830, -0.645347389969592620, -0.645309194701733650, -0.645270997820601710, -0.645232799326292290, -0.645194599218900880, -0.645156397498523050, +-0.645118194165254070, -0.645079989219189630, -0.645041782660425330, -0.645003574489055760, -0.644965364705178070, -0.644927153308886840, -0.644888940300277770, -0.644850725679446460, +-0.644812509446488160, -0.644774291601498020, -0.644736072144572740, -0.644697851075807350, -0.644659628395297330, -0.644621404103138280, -0.644583178199425680, -0.644544950684255100, +-0.644506721557722150, -0.644468490819922410, -0.644430258470950810, -0.644392024510904160, -0.644353788939877490, -0.644315551757966400, -0.644277312965266360, -0.644239072561873070, +-0.644200830547882020, -0.644162586923388350, -0.644124341688488760, -0.644086094843278390, -0.644047846387852730, -0.644009596322307590, -0.643971344646738330, -0.643933091361240770, +-0.643894836465910390, -0.643856579960842330, -0.643818321846133520, -0.643780062121878880, -0.643741800788174000, -0.643703537845114690, -0.643665273292796550, -0.643627007131315270, +-0.643588739360765660, -0.643550469981244990, -0.643512198992848060, -0.643473926395670690, -0.643435652189808470, -0.643397376375357210, -0.643359098952412390, -0.643320819921069930, +-0.643282539281424650, -0.643244257033573800, -0.643205973177612190, -0.643167687713635750, -0.643129400641740070, -0.643091111962020840, -0.643052821674573780, -0.643014529779494140, +-0.642976236276878720, -0.642937941166822790, -0.642899644449421940, -0.642861346124772080, -0.642823046192968820, -0.642784744654107840, -0.642746441508285080, -0.642708136755596240, +-0.642669830396136450, -0.642631522430002660, -0.642593212857289990, -0.642554901678094370, -0.642516588892511510, -0.642478274500637210, -0.642439958502566520, -0.642401640898396580, +-0.642363321688222520, -0.642325000872140170, -0.642286678450245450, -0.642248354422633840, -0.642210028789401480, -0.642171701550643960, -0.642133372706457210, -0.642095042256936370, +-0.642056710202178580, -0.642018376542279110, -0.641980041277333550, -0.641941704407437920, -0.641903365932688150, -0.641865025853179840, -0.641826684169008340, -0.641788340880270810, +-0.641749995987062390, -0.641711649489479010, -0.641673301387616470, -0.641634951681570700, -0.641596600371437620, -0.641558247457312940, -0.641519892939292010, -0.641481536817472000, +-0.641443179091948150, -0.641404819762816380, -0.641366458830172630, -0.641328096294112580, -0.641289732154732390, -0.641251366412127210, -0.641212999066394170, -0.641174630117628760, +-0.641136259565926680, -0.641097887411384070, -0.641059513654096640, -0.641021138294160410, -0.640982761331671420, -0.640944382766724830, -0.640906002599417880, -0.640867620829846050, +-0.640829237458105050, -0.640790852484291020, -0.640752465908499880, -0.640714077730827560, -0.640675687951369310, -0.640637296570222610, -0.640598903587482620, -0.640560509003245350, +-0.640522112817606850, -0.640483715030663040, -0.640445315642509950, -0.640406914653243510, -0.640368512062959860, -0.640330107871754260, -0.640291702079724080, -0.640253294686964570, +-0.640214885693571880, -0.640176475099641930, -0.640138062905270870, -0.640099649110553950, -0.640061233715588540, -0.640022816720470010, -0.639984398125294510, -0.639945977930157950, +-0.639907556135156600, -0.639869132740386260, -0.639830707745943080, -0.639792281151923100, -0.639753852958421800, -0.639715423165536530, -0.639676991773362680, -0.639638558781996380, +-0.639600124191533670, -0.639561688002070580, -0.639523250213703380, -0.639484810826527310, -0.639446369840639960, -0.639407927256136600, -0.639369483073113480, -0.639331037291666630, +-0.639292589911892200, -0.639254140933886330, -0.639215690357745060, -0.639177238183563870, -0.639138784411440340, -0.639100329041469740, -0.639061872073748430, -0.639023413508372330, +-0.638984953345437810, -0.638946491585040800, -0.638908028227276990, -0.638869563272243650, -0.638831096720036570, -0.638792628570751590, -0.638754158824485160, -0.638715687481333230, +-0.638677214541392150, -0.638638740004758070, -0.638600263871526350, -0.638561786141794710, -0.638523306815658610, -0.638484825893214200, -0.638446343374557860, -0.638407859259785490, +-0.638369373548993590, -0.638330886242277520, -0.638292397339734970, -0.638253906841461330, -0.638215414747552940, -0.638176921058106080, -0.638138425773216890, -0.638099928892981620, +-0.638061430417496630, -0.638022930346857970, -0.637984428681161340, -0.637945925420504210, -0.637907420564982400, -0.637868914114691930, -0.637830406069729290, -0.637791896430190520, +-0.637753385196171420, -0.637714872367769470, -0.637676357945080370, -0.637637841928200390, -0.637599324317225770, -0.637560805112252880, -0.637522284313377980, -0.637483761920697330, +-0.637445237934307300, -0.637406712354303570, -0.637368185180783640, -0.637329656413843200, -0.637291126053578740, -0.637252594100086390, -0.637214060553462640, -0.637175525413803620, +-0.637136988681205160, -0.637098450355764960, -0.637059910437578590, -0.637021368926742440, -0.636982825823352860, -0.636944281127506230, -0.636905734839298910, -0.636867186958827160, +-0.636828637486186900, -0.636790086421475610, -0.636751533764789210, -0.636712979516223960, -0.636674423675876230, -0.636635866243842390, -0.636597307220218900, -0.636558746605101480, +-0.636520184398587930, -0.636481620600773850, -0.636443055211755810, -0.636404488231630090, -0.636365919660493050, -0.636327349498441390, -0.636288777745571240, -0.636250204401978440, +-0.636211629467760890, -0.636173052943014180, -0.636134474827834920, -0.636095895122319450, -0.636057313826564160, -0.636018730940665740, -0.635980146464719680, -0.635941560398823990, +-0.635902972743074390, -0.635864383497567350, -0.635825792662399360, -0.635787200237666880, -0.635748606223466520, -0.635710010619894520, -0.635671413427047470, -0.635632814645021300, +-0.635594214273913720, -0.635555612313820630, -0.635517008764838410, -0.635478403627063760, -0.635439796900593050, -0.635401188585522190, -0.635362578681949120, -0.635323967189969530, +-0.635285354109680010, -0.635246739441177160, -0.635208123184557440, -0.635169505339917340, -0.635130885907353560, -0.635092264886962580, -0.635053642278840200, -0.635015018083084360, +-0.634976392299791080, -0.634937764929056740, -0.634899135970978020, -0.634860505425651530, -0.634821873293172970, -0.634783239573640470, -0.634744604267149850, -0.634705967373797700, +-0.634667328893680720, -0.634628688826895380, -0.634590047173538290, -0.634551403933706020, -0.634512759107495380, -0.634474112695002090, -0.634435464696324170, -0.634396815111557650, +-0.634358163940799020, -0.634319511184145090, -0.634280856841692330, -0.634242200913537340, -0.634203543399776250, -0.634164884300506990, -0.634126223615825490, -0.634087561345828440, +-0.634048897490612550, -0.634010232050274290, -0.633971565024910590, -0.633932896414617920, -0.633894226219492320, -0.633855554439631820, -0.633816881075132450, -0.633778206126090820, +-0.633739529592603820, -0.633700851474767850, -0.633662171772679810, -0.633623490486435630, -0.633584807616133450, -0.633546123161869310, -0.633507437123739690, -0.633468749501841620, +-0.633430060296271690, -0.633391369507126490, -0.633352677134502940, -0.633313983178497630, -0.633275287639206820, -0.633236590516728310, -0.633197891811158490, -0.633159191522593810, +-0.633120489651131210, -0.633081786196867390, -0.633043081159898380, -0.633004374540322320, -0.632965666338235370, -0.632926956553734320, -0.632888245186915780, -0.632849532237876660, +-0.632810817706713770, -0.632772101593523820, -0.632733383898403500, -0.632694664621449190, -0.632655943762758800, -0.632617221322428590, -0.632578497300555260, -0.632539771697235740, +-0.632501044512566830, -0.632462315746644580, -0.632423585399567220, -0.632384853471430920, -0.632346119962332480, -0.632307384872368820, -0.632268648201636530, -0.632229909950232760, +-0.632191170118254100, -0.632152428705797580, -0.632113685712959340, -0.632074941139837530, -0.632036194986528410, -0.631997447253128670, -0.631958697939735470, -0.631919947046445500, +-0.631881194573355560, -0.631842440520562040, -0.631803684888163080, -0.631764927676254920, -0.631726168884934380, -0.631687408514298500, -0.631648646564444080, -0.631609883035467940, +-0.631571117927467230, -0.631532351240537970, -0.631493582974778530, -0.631454813130285180, -0.631416041707154710, -0.631377268705484270, -0.631338494125370580, -0.631299717966910650, +-0.631260940230200740, -0.631222160915339110, -0.631183380022422140, -0.631144597551546730, -0.631105813502809810, -0.631067027876308310, -0.631028240672139250, -0.630989451890399680, +-0.630950661531186400, -0.630911869594595780, -0.630873076080726180, -0.630834280989673980, -0.630795484321535980, -0.630756686076409330, -0.630717886254390960, -0.630679084855577110, +-0.630640281880066270, -0.630601477327954680, -0.630562671199339510, -0.630523863494317660, -0.630485054212986060, -0.630446243355441860, -0.630407430921782090, -0.630368616912103660, +-0.630329801326503070, -0.630290984165078670, -0.630252165427926720, -0.630213345115144490, -0.630174523226828760, -0.630135699763076820, -0.630096874723984900, -0.630058048109651490, +-0.630019219920172960, -0.629980390155646440, -0.629941558816168870, -0.629902725901837380, -0.629863891412749120, -0.629825055349001130, -0.629786217710690540, -0.629747378497913730, +-0.629708537710769070, -0.629669695349353130, -0.629630851413762960, -0.629592005904095590, -0.629553158820448270, -0.629514310162918030, -0.629475459931601260, -0.629436608126596630, +-0.629397754748000420, -0.629358899795909870, -0.629320043270422010, -0.629281185171634120, -0.629242325499643210, -0.629203464254546540, -0.629164601436440480, -0.629125737045423630, +-0.629086871081592450, -0.629048003545044090, -0.629009134435875690, -0.628970263754184410, -0.628931391500067490, -0.628892517673621420, -0.628853642274944780, -0.628814765304134050, +-0.628775886761286370, -0.628737006646499010, -0.628698124959869100, -0.628659241701493790, -0.628620356871470550, -0.628581470469896320, -0.628542582496867670, -0.628503692952483320, +-0.628464801836839730, -0.628425909150034160, -0.628387014892163860, -0.628348119063325880, -0.628309221663617020, -0.628270322693135760, -0.628231422151978690, -0.628192520040243170, +-0.628153616358026250, -0.628114711105425270, -0.628075804282537510, -0.628036895889460320, -0.627997985926290860, -0.627959074393125700, -0.627920161290063560, -0.627881246617201020, +-0.627842330374635330, -0.627803412562463970, -0.627764493180783870, -0.627725572229691940, -0.627686649709286780, -0.627647725619664980, -0.627608799960923890, -0.627569872733160780, +-0.627530943936473020, -0.627492013570957850, -0.627453081636712760, -0.627414148133834780, -0.627375213062420830, -0.627336276422569620, -0.627297338214377610, -0.627258398437942290, +-0.627219457093361020, -0.627180514180731060, -0.627141569700149780, -0.627102623651713880, -0.627063676035522160, -0.627024726851671320, -0.626985776100258520, -0.626946823781381330, +-0.626907869895137140, -0.626868914441623290, -0.626829957420937060, -0.626790998833175240, -0.626752038678436650, -0.626713076956817990, -0.626674113668416630, -0.626635148813330050, +-0.626596182391655490, -0.626557214403490550, -0.626518244848931820, -0.626479273728078100, -0.626440301041026330, -0.626401326787873750, -0.626362350968717950, -0.626323373583656200, +-0.626284394632785960, -0.626245414116204820, -0.626206432034009390, -0.626167448386298560, -0.626128463173169170, -0.626089476394718570, -0.626050488051044350, -0.626011498142243770, +-0.625972506668414640, -0.625933513629653440, -0.625894519026059190, -0.625855522857728610, -0.625816525124759160, -0.625777525827248440, -0.625738524965294030, -0.625699522538993190, +-0.625660518548443510, -0.625621512993742580, -0.625582505874987200, -0.625543497192276200, -0.625504486945706590, -0.625465475135375650, -0.625426461761380950, -0.625387446823820190, +-0.625348430322790190, -0.625309412258389650, -0.625270392630715710, -0.625231371439865740, -0.625192348685937320, -0.625153324369028040, -0.625114298489235500, -0.625075271046657170, +-0.625036242041390630, -0.624997211473532820, -0.624958179343182650, -0.624919145650437050, -0.624880110395393600, -0.624841073578149890, -0.624802035198803510, -0.624762995257452050, +-0.624723953754192320, -0.624684910689123460, -0.624645866062342290, -0.624606819873946510, -0.624567772124033580, -0.624528722812701330, -0.624489671940047230, -0.624450619506168980, +-0.624411565511163390, -0.624372509955129720, -0.624333452838164660, -0.624294394160366030, -0.624255333921831410, -0.624216272122658400, -0.624177208762944800, -0.624138143842787430, +-0.624099077362285430, -0.624060009321535710, -0.624020939720635990, -0.623981868559683850, -0.623942795838777100, -0.623903721558013320, -0.623864645717490340, -0.623825568317304960, +-0.623786489357556320, -0.623747408838341570, -0.623708326759758180, -0.623669243121904080, -0.623630157924876750, -0.623591071168774100, -0.623551982853693070, -0.623512892979732780, +-0.623473801546990280, -0.623434708555563270, -0.623395614005549440, -0.623356517897046600, -0.623317420230152570, -0.623278321004964830, -0.623239220221581400, -0.623200117880099100, +-0.623161013980617300, -0.623121908523233010, -0.623082801508043850, -0.623043692935147720, -0.623004582804642330, -0.622965471116624810, -0.622926357871194320, -0.622887243068448000, +-0.622848126708483440, -0.622809008791398670, -0.622769889317291270, -0.622730768286259280, -0.622691645698400300, -0.622652521553812230, -0.622613395852592120, -0.622574268594839220, +-0.622535139780650670, -0.622496009410124280, -0.622456877483357870, -0.622417744000449250, -0.622378608961496220, -0.622339472366596040, -0.622300334215847850, -0.622261194509348800, +-0.622222053247196820, -0.622182910429489700, -0.622143766056325260, -0.622104620127801430, -0.622065472644016020, -0.622026323605066270, -0.621987173011051440, -0.621948020862068570, +-0.621908867158215810, -0.621869711899590730, -0.621830555086291480, -0.621791396718415770, -0.621752236796060840, -0.621713075319326070, -0.621673912288308710, -0.621634747703106450, +-0.621595581563817330, -0.621556413870539280, -0.621517244623370100, -0.621478073822407940, -0.621438901467749830, -0.621399727559495240, -0.621360552097741210, -0.621321375082585890, +-0.621282196514127080, -0.621243016392462820, -0.621203834717691030, -0.621164651489908960, -0.621125466709215980, -0.621086280375709230, -0.621047092489486860, -0.621007903050646680, +-0.620968712059286830, -0.620929519515505120, -0.620890325419399700, -0.620851129771068490, -0.620811932570608630, -0.620772733818119700, -0.620733533513698980, -0.620694331657444360, +-0.620655128249453900, -0.620615923289825620, -0.620576716778656890, -0.620537508716047070, -0.620498299102093420, -0.620459087936894080, -0.620419875220546980, -0.620380660953150250, +-0.620341445134801830, -0.620302227765599850, -0.620263008845642230, -0.620223788375026340, -0.620184566353851770, -0.620145342782215780, -0.620106117660216390, -0.620066890987951760, +-0.620027662765519790, -0.619988432993018760, -0.619949201670545900, -0.619909968798200820, -0.619870734376080760, -0.619831498404283860, -0.619792260882908290, -0.619753021812051940, +-0.619713781191813080, -0.619674539022289860, -0.619635295303579530, -0.619596050035781550, -0.619556803218993650, -0.619517554853313610, -0.619478304938839710, -0.619439053475670080, +-0.619399800463902750, -0.619360545903635210, -0.619321289794967030, -0.619282032137995710, -0.619242772932819260, -0.619203512179535840, -0.619164249878243700, -0.619124986029040870, +-0.619085720632025600, -0.619046453687295270, -0.619007185194949570, -0.618967915155085980, -0.618928643567802530, -0.618889370433197470, -0.618850095751368960, -0.618810819522415230, +-0.618771541746433780, -0.618732262423524080, -0.618692981553783830, -0.618653699137311160, -0.618614415174204120, -0.618575129664561070, -0.618535842608480270, -0.618496554006059850, +-0.618457263857397970, -0.618417972162592310, -0.618378678921742360, -0.618339384134945710, -0.618300087802300610, -0.618260789923905320, -0.618221490499858080, -0.618182189530256390, +-0.618142887015199930, -0.618103582954786180, -0.618064277349113620, -0.618024970198280290, -0.617985661502384430, -0.617946351261524530, -0.617907039475798730, -0.617867726145305380, +-0.617828411270141990, -0.617789094850408230, -0.617749776886201700, -0.617710457377620760, -0.617671136324763780, -0.617631813727728800, -0.617592489586614390, -0.617553163901518040, +-0.617513836672539450, -0.617474507899776310, -0.617435177583326890, -0.617395845723289540, -0.617356512319762520, -0.617317177372844190, -0.617277840882633040, -0.617238502849226540, +-0.617199163272724500, -0.617159822153224510, -0.617120479490824940, -0.617081135285624250, -0.617041789537720600, -0.617002442247212570, -0.616963093414197750, -0.616923743038775840, +-0.616884391121044650, -0.616845037661102440, -0.616805682659047560, -0.616766326114978610, -0.616726968028993740, -0.616687608401191520, -0.616648247231669560, -0.616608884520527640, +-0.616569520267863490, -0.616530154473775680, -0.616490787138362360, -0.616451418261722120, -0.616412047843953310, -0.616372675885153650, -0.616333302385423050, -0.616293927344859220, +-0.616254550763560500, -0.616215172641625510, -0.616175792979152480, -0.616136411776240010, -0.616097029032986470, -0.616057644749490430, -0.616018258925849490, -0.615978871562163690, +-0.615939482658530710, -0.615900092215049040, -0.615860700231817050, -0.615821306708933310, -0.615781911646495650, -0.615742515044603980, -0.615703116903355880, -0.615663717222850070, +-0.615624316003185010, -0.615584913244459080, -0.615545508946770850, -0.615506103110218920, -0.615466695734901760, -0.615427286820917070, -0.615387876368364890, -0.615348464377343030, +-0.615309050847949960, -0.615269635780284370, -0.615230219174444650, -0.615190801030529370, -0.615151381348636340, -0.615111960128865600, -0.615072537371314950, -0.615033113076082990, +-0.614993687243268190, -0.614954259872969260, -0.614914830965284540, -0.614875400520312860, -0.614835968538151920, -0.614796535018901860, -0.614757099962660370, -0.614717663369526160, +-0.614678225239597700, -0.614638785572973800, -0.614599344369752940, -0.614559901630032930, -0.614520457353913920, -0.614481011541493700, -0.614441564192871100, -0.614402115308144480, +-0.614362664887412540, -0.614323212930773970, -0.614283759438327470, -0.614244304410170750, -0.614204847846404060, -0.614165389747125090, -0.614125930112432770, -0.614086468942425690, +-0.614047006237202320, -0.614007541996861470, -0.613968076221501070, -0.613928608911221140, -0.613889140066119720, -0.613849669686295510, -0.613810197771847090, -0.613770724322873160, +-0.613731249339472430, -0.613691772821743480, -0.613652294769785220, -0.613612815183695480, -0.613573334063574390, -0.613533851409519990, -0.613494367221630980, -0.613454881500006040, +-0.613415394244743890, -0.613375905455942560, -0.613336415133702070, -0.613296923278120690, -0.613257429889296880, -0.613217934967329570, -0.613178438512317460, -0.613138940524359130, +-0.613099441003553510, -0.613059939949999410, -0.613020437363794630, -0.612980933245039440, -0.612941427593831970, -0.612901920410270920, -0.612862411694455100, -0.612822901446483210, +-0.612783389666454070, -0.612743876354465700, -0.612704361510618360, -0.612664845135010180, -0.612625327227739880, -0.612585807788906260, -0.612546286818608120, -0.612506764316944170, +-0.612467240284013450, -0.612427714719913860, -0.612388187624745670, -0.612348658998607020, -0.612309128841596720, -0.612269597153813680, -0.612230063935356620, -0.612190529186324330, +-0.612150992906814960, -0.612111455096928990, -0.612071915756764230, -0.612032374886419820, -0.611992832485994340, -0.611953288555586840, -0.611913743095296110, -0.611874196105220980, +-0.611834647585459690, -0.611795097536112500, -0.611755545957277660, -0.611715992849053760, -0.611676438211540050, -0.611636882044835130, -0.611597324349038020, -0.611557765124246980, +-0.611518204370562150, -0.611478642088081780, -0.611439078276904910, -0.611399512937130240, -0.611359946068856910, -0.611320377672183610, -0.611280807747209390, -0.611241236294033150, +-0.611201663312753160, -0.611162088803469670, -0.611122512766280930, -0.611082935201285980, -0.611043356108583740, -0.611003775488273000, -0.610964193340452160, -0.610924609665221550, +-0.610885024462679340, -0.610845437732924660, -0.610805849476056320, -0.610766259692173350, -0.610726668381374790, -0.610687075543759560, -0.610647481179426690, -0.610607885288474320, +-0.610568287871002920, -0.610528688927110870, -0.610489088456897090, -0.610449486460460490, -0.610409882937900330, -0.610370277889314640, -0.610330671314804010, -0.610291063214466690, +-0.610251453588401720, -0.610211842436708120, -0.610172229759484930, -0.610132615556831180, -0.610092999828845790, -0.610053382575628020, -0.610013763797276010, -0.609974143493890340, +-0.609934521665569270, -0.609894898312411950, -0.609855273434517400, -0.609815647031984540, -0.609776019104912640, -0.609736389653400050, -0.609696758677547130, -0.609657126177452270, +-0.609617492153214700, -0.609577856604933350, -0.609538219532707370, -0.609498580936635780, -0.609458940816817840, -0.609419299173351690, -0.609379656006338140, -0.609340011315875340, +-0.609300365102062650, -0.609260717364998980, -0.609221068104783490, -0.609181417321515320, -0.609141765015292940, -0.609102111186216820, -0.609062455834385450, -0.609022798959897970, +-0.608983140562853410, -0.608943480643351130, -0.608903819201490060, -0.608864156237369450, -0.608824491751088440, -0.608784825742745510, -0.608745158212441240, -0.608705489160274000, +-0.608665818586343050, -0.608626146490747640, -0.608586472873586800, -0.608546797734959120, -0.608507121074965070, -0.608467442893703250, -0.608427763191272900, -0.608388081967773050, +-0.608348399223303080, -0.608308714957962020, -0.608269029171849220, -0.608229341865063830, -0.608189653037704450, -0.608149962689871540, -0.608110270821663800, -0.608070577433180270, +-0.608030882524520420, -0.607991186095783290, -0.607951488147067560, -0.607911788678473730, -0.607872087690100480, -0.607832385182047070, -0.607792681154412650, -0.607752975607296460, +-0.607713268540797880, -0.607673559955016150, -0.607633849850050530, -0.607594138225999500, -0.607554425082963870, -0.607514710421042210, -0.607474994240333800, -0.607435276540937870, +-0.607395557322953690, -0.607355836586480620, -0.607316114331617360, -0.607276390558464390, -0.607236665267120610, -0.607196938457685080, -0.607157210130257140, -0.607117480284936170, +-0.607077748921821650, -0.607038016041012600, -0.606998281642607940, -0.606958545726708150, -0.606918808293412050, -0.606879069342818990, -0.606839328875028230, -0.606799586890139130, +-0.606759843388251060, -0.606720098369462610, -0.606680351833874700, -0.606640603781585910, -0.606600854212695610, -0.606561103127303160, -0.606521350525507930, -0.606481596407409280, +-0.606441840773106810, -0.606402083622699540, -0.606362324956286500, -0.606322564773968290, -0.606282803075843700, -0.606243039862012110, -0.606203275132572880, -0.606163508887625490, +-0.606123741127268520, -0.606083971851603010, -0.606044201060727540, -0.606004428754741590, -0.605964654933744630, -0.605924879597835920, -0.605885102747115050, -0.605845324381681480, +-0.605805544501634490, -0.605765763107072970, -0.605725980198097760, -0.605686195774807650, -0.605646409837302000, -0.605606622385680300, -0.605566833420042140, -0.605527042940486090, +-0.605487250947113200, -0.605447457440022150, -0.605407662419312540, -0.605367865885083620, -0.605328067837435090, -0.605288268276466420, -0.605248467202277100, -0.605208664614966580, +-0.605168860514633700, -0.605129054901379470, -0.605089247775302490, -0.605049439136502440, -0.605009628985078710, -0.604969817321130980, -0.604930004144758730, -0.604890189456060660, +-0.604850373255137910, -0.604810555542089180, -0.604770736317014060, -0.604730915580012130, -0.604691093331182870, -0.604651269570625980, -0.604611444298440830, -0.604571617514726430, +-0.604531789219583620, -0.604491959413111400, -0.604452128095409160, -0.604412295266576690, -0.604372460926713480, -0.604332625075919120, -0.604292787714292510, -0.604252948841934590, +-0.604213108458944380, -0.604173266565421360, -0.604133423161465120, -0.604093578247175360, -0.604053731822651650, -0.604013883887993600, -0.603974034443300110, -0.603934183488672340, +-0.603894331024208970, -0.603854477050009940, -0.603814621566174600, -0.603774764572802770, -0.603734906069993920, -0.603695046057847180, -0.603655184536463500, -0.603615321505941880, +-0.603575456966382040, -0.603535590917883450, -0.603495723360545910, -0.603455854294469020, -0.603415983719752580, -0.603376111636496180, -0.603336238044798740, -0.603296362944761410, +-0.603256486336483210, -0.603216608220063730, -0.603176728595602780, -0.603136847463200070, -0.603096964822954380, -0.603057080674967110, -0.603017195019337040, -0.602977307856164100, +-0.602937419185547770, -0.602897529007587970, -0.602857637322384400, -0.602817744130036640, -0.602777849430644610, -0.602737953224307120, -0.602698055511125540, -0.602658156291198790, +-0.602618255564626670, -0.602578353331508890, -0.602538449591945250, -0.602498544346035560, -0.602458637593878630, -0.602418729335575940, -0.602378819571226410, -0.602338908300929840, +-0.602298995524785940, -0.602259081242894620, -0.602219165455355480, -0.602179248162268530, -0.602139329363732710, -0.602099409059849380, -0.602059487250717450, -0.602019563936436740, +-0.601979639117107170, -0.601939712792828540, -0.601899784963700560, -0.601859855629822470, -0.601819924791295420, -0.601779992448218560, -0.601740058600691800, -0.601700123248814720, +-0.601660186392687480, -0.601620248032409770, -0.601580308168081280, -0.601540366799801500, -0.601500423927671450, -0.601460479551790270, -0.601420533672258010, -0.601380586289174350, +-0.601340637402639210, -0.601300687012752520, -0.601260735119613310, -0.601220781723323050, -0.601180826823980890, -0.601140870421686620, -0.601100912516540080, -0.601060953108641380, +-0.601020992198090240, -0.600981029784986690, -0.600941065869430410, -0.600901100451520900, -0.600861133531359280, -0.600821165109044930, -0.600781195184677540, -0.600741223758357150, +-0.600701250830183770, -0.600661276400256570, -0.600621300468676900, -0.600581323035543900, -0.600541344100957610, -0.600501363665018050, -0.600461381727825040, -0.600421398289478490, +-0.600381413350078550, -0.600341426909725030, -0.600301438968517180, -0.600261449526556580, -0.600221458583942270, -0.600181466140774280, -0.600141472197152640, -0.600101476753177380, +-0.600061479808948420, -0.600021481364565010, -0.599981481420128640, -0.599941479975738550, -0.599901477031494770, -0.599861472587497220, -0.599821466643846060, -0.599781459200641190, +-0.599741450257982760, -0.599701439815969910, -0.599661427874704220, -0.599621414434284960, -0.599581399494812150, -0.599541383056385820, -0.599501365119106120, -0.599461345683072970, +-0.599421324748385720, -0.599381302315145860, -0.599341278383452750, -0.599301252953406420, -0.599261226025107010, -0.599221197598654440, -0.599181167674148970, -0.599141136251690520, +-0.599101103331378560, -0.599061068913314560, -0.599021032997597900, -0.598980995584328600, -0.598940956673606920, -0.598900916265532770, -0.598860874360206300, -0.598820830957726980, +-0.598780786058196290, -0.598740739661713590, -0.598700691768379150, -0.598660642378292860, -0.598620591491555000, -0.598580539108265700, -0.598540485228524990, -0.598500429852433120, +-0.598460372980089470, -0.598420314611595620, -0.598380254747050920, -0.598340193386555530, -0.598300130530209810, -0.598260066178113670, -0.598220000330366600, -0.598179932987070400, +-0.598139864148324210, -0.598099793814228510, -0.598059721984883220, -0.598019648660388590, -0.597979573840844880, -0.597939497526352340, -0.597899419717010880, -0.597859340412920330, +-0.597819259614182030, -0.597779177320895580, -0.597739093533161240, -0.597699008251079130, -0.597658921474749530, -0.597618833204272670, -0.597578743439747930, -0.597538652181277110, +-0.597498559428959570, -0.597458465182895690, -0.597418369443185600, -0.597378272209929670, -0.597338173483228040, -0.597298073263180960, -0.597257971549887910, -0.597217868343450700, +-0.597177763643968910, -0.597137657451542570, -0.597097549766272160, -0.597057440588257830, -0.597017329917600040, -0.596977217754398050, -0.596937104098753780, -0.596896988950766700, +-0.596856872310537300, -0.596816754178165600, -0.596776634553751960, -0.596736513437396860, -0.596696390829200450, -0.596656266729262310, -0.596616141137684240, -0.596576014054565840, +-0.596535885480007360, -0.596495755414109150, -0.596455623856971600, -0.596415490808694940, -0.596375356269378880, -0.596335220239125220, -0.596295082718033440, -0.596254943706203910, +-0.596214803203736990, -0.596174661210733150, -0.596134517727292650, -0.596094372753515840, -0.596054226289503110, -0.596014078335354030, -0.595973928891170620, -0.595933777957052270, +-0.595893625533099440, -0.595853471619412600, -0.595813316216092130, -0.595773159323237600, -0.595733000940950940, -0.595692841069331740, -0.595652679708480460, -0.595612516858497370, +-0.595572352519483150, -0.595532186691537960, -0.595492019374762260, -0.595451850569256650, -0.595411680275120590, -0.595371508492456010, -0.595331335221362720, -0.595291160461941190, +-0.595250984214291570, -0.595210806478514650, -0.595170627254710590, -0.595130446542979310, -0.595090264343422600, -0.595050080656140290, -0.595009895481232730, -0.594969708818800510, +-0.594929520668943890, -0.594889331031763560, -0.594849139907359880, -0.594808947295832670, -0.594768753197283730, -0.594728557611812870, -0.594688360539520790, -0.594648161980507630, +-0.594607961934874200, -0.594567760402720750, -0.594527557384147310, -0.594487352879255580, -0.594447146888145480, -0.594406939410917600, -0.594366730447672300, -0.594326519998510160, +-0.594286308063531780, -0.594246094642837620, -0.594205879736527500, -0.594165663344703330, -0.594125445467465150, -0.594085226104913210, -0.594045005257148320, -0.594004782924270840, +-0.593964559106381350, -0.593924333803579900, -0.593884107015968170, -0.593843878743646300, -0.593803648986714670, -0.593763417745273970, -0.593723185019424670, -0.593682950809267470, +-0.593642715114902850, -0.593602477936431390, -0.593562239273953020, -0.593521999127569870, -0.593481757497381630, -0.593441514383489130, -0.593401269785992720, -0.593361023704993110, +-0.593320776140590310, -0.593280527092886260, -0.593240276561980970, -0.593200024547974820, -0.593159771050968730, -0.593119516071063170, -0.593079259608358830, -0.593039001662956420, +-0.592998742234956410, -0.592958481324458830, -0.592918218931565820, -0.592877955056377190, -0.592837689698993750, -0.592797422859515980, -0.592757154538044780, -0.592716884734680650, +-0.592676613449523490, -0.592636340682675680, -0.592596066434236900, -0.592555790704307970, -0.592515513492989590, -0.592475234800382440, -0.592434954626587130, -0.592394672971704560, +-0.592354389835834440, -0.592314105219079230, -0.592273819121538650, -0.592233531543313490, -0.592193242484504560, -0.592152951945212560, -0.592112659925538080, -0.592072366425581360, +-0.592032071445444340, -0.591991774985227150, -0.591951477045030590, -0.591911177624955260, -0.591870876725101970, -0.591830574345571630, -0.591790270486464710, -0.591749965147881470, +-0.591709658329923950, -0.591669350032692390, -0.591629040256287380, -0.591588729000809830, -0.591548416266360460, -0.591508102053040050, -0.591467786360948540, -0.591427469190188400, +-0.591387150540859660, -0.591346830413062910, -0.591306508806899170, -0.591266185722469030, -0.591225861159873520, -0.591185535119213350, -0.591145207600589420, -0.591104878604101660, +-0.591064548129852430, -0.591024216177941760, -0.590983882748470690, -0.590943547841539800, -0.590903211457250110, -0.590862873595701670, -0.590822534256996710, -0.590782193441235500, +-0.590741851148518740, -0.590701507378947330, -0.590661162132622210, -0.590620815409644170, -0.590580467210114150, -0.590540117534132820, -0.590499766381800570, -0.590459413753219640, +-0.590419059648490170, -0.590378704067712980, -0.590338347010989080, -0.590297988478419410, -0.590257628470104660, -0.590217266986145070, -0.590176904026643130, -0.590136539591698870, +-0.590096173681413320, -0.590055806295887280, -0.590015437435221780, -0.589975067099517640, -0.589934695288875880, -0.589894322003396530, -0.589853947243182300, -0.589813571008332980, +-0.589773193298949950, -0.589732814115133790, -0.589692433456985630, -0.589652051324606410, -0.589611667718096370, -0.589571282637557760, -0.589530896083091060, -0.589490508054797080, +-0.589450118552776850, -0.589409727577131280, -0.589369335127961410, -0.589328941205368270, -0.589288545809452000, -0.589248148940315080, -0.589207750598057740, -0.589167350782781150, +-0.589126949494586110, -0.589086546733573630, -0.589046142499844880, -0.589005736793499990, -0.588965329614641540, -0.588924920963369790, -0.588884510839785660, -0.588844099243990280, +-0.588803686176084580, -0.588763271636169820, -0.588722855624346790, -0.588682438140716640, -0.588642019185379620, -0.588601598758438320, -0.588561176859992980, -0.588520753490144770, +-0.588480328648994690, -0.588439902336643670, -0.588399474553192300, -0.588359045298742940, -0.588318614573395960, -0.588278182377252380, -0.588237748710413340, -0.588197313572980000, +-0.588156876965053370, -0.588116438886734480, -0.588075999338124600, -0.588035558319323970, -0.587995115830435070, -0.587954671871558480, -0.587914226442795230, -0.587873779544246360, +-0.587833331176013000, -0.587792881338195630, -0.587752430030896830, -0.587711977254216870, -0.587671523008256980, -0.587631067293118310, -0.587590610108902010, -0.587550151455709100, +-0.587509691333640950, -0.587469229742798470, -0.587428766683282140, -0.587388302155194770, -0.587347836158636500, -0.587307368693708700, -0.587266899760512500, -0.587226429359149040, +-0.587185957489719470, -0.587145484152324260, -0.587105009347066110, -0.587064533074045490, -0.587024055333363440, -0.586983576125121310, -0.586943095449420250, -0.586902613306361400, +-0.586862129696046120, -0.586821644618574670, -0.586781158074049850, -0.586740670062572240, -0.586700180584242890, -0.586659689639163040, -0.586619197227433940, -0.586578703349156960, +-0.586538208004432460, -0.586497711193363140, -0.586457212916049580, -0.586416713172592920, -0.586376211963094530, -0.586335709287655660, -0.586295205146377450, -0.586254699539361160, +-0.586214192466708250, -0.586173683928519100, -0.586133173924896390, -0.586092662455940830, -0.586052149521753550, -0.586011635122436040, -0.585971119258089310, -0.585930601928814080, +-0.585890083134713020, -0.585849562875886850, -0.585809041152436700, -0.585768517964464050, -0.585727993312070040, -0.585687467195356030, -0.585646939614423270, -0.585606410569373350, +-0.585565880060306520, -0.585525348087325810, -0.585484814650531700, -0.585444279750025550, -0.585403743385908730, -0.585363205558282470, -0.585322666267247490, -0.585282125512906700, +-0.585241583295360470, -0.585201039614710260, -0.585160494471057560, -0.585119947864503500, -0.585079399795149670, -0.585038850263097320, -0.584998299268447820, -0.584957746811301860, +-0.584917192891762250, -0.584876637509929690, -0.584836080665905530, -0.584795522359791150, -0.584754962591688020, -0.584714401361697390, -0.584673838669920070, -0.584633274516458860, +-0.584592708901414570, -0.584552141824888350, -0.584511573286981890, -0.584471003287796440, -0.584430431827433480, -0.584389858905994490, -0.584349284523580040, -0.584308708680293170, +-0.584268131376234570, -0.584227552611505610, -0.584186972386207760, -0.584146390700442500, -0.584105807554311180, -0.584065222947914630, -0.584024636881355860, -0.583984049354735360, +-0.583943460368154810, -0.583902869921715690, -0.583862278015519260, -0.583821684649667220, -0.583781089824260910, -0.583740493539401830, -0.583699895795190880, -0.583659296591730880, +-0.583618695929122740, -0.583578093807467720, -0.583537490226867520, -0.583496885187423600, -0.583456278689236770, -0.583415670732409960, -0.583375061317043860, -0.583334450443240280, +-0.583293838111100470, -0.583253224320726130, -0.583212609072218610, -0.583171992365679630, -0.583131374201210750, -0.583090754578912570, -0.583050133498888350, -0.583009510961238760, +-0.582968886966065410, -0.582928261513469770, -0.582887634603553530, -0.582847006236417500, -0.582806376412164600, -0.582765745130895850, -0.582725112392712630, -0.582684478197716740, +-0.582643842546009650, -0.582603205437692840, -0.582562566872868120, -0.582521926851636950, -0.582481285374100270, -0.582440642440361090, -0.582399998050520230, -0.582359352204679490, +-0.582318704902940240, -0.582278056145404290, -0.582237405932173210, -0.582196754263347940, -0.582156101139031490, -0.582115446559324680, -0.582074790524329310, -0.582034133034147080, +-0.581993474088879360, -0.581952813688628060, -0.581912151833494650, -0.581871488523580170, -0.581830823758987760, -0.581790157539818220, -0.581749489866173250, -0.581708820738154660, +-0.581668150155863930, -0.581627478119402850, -0.581586804628872360, -0.581546129684375580, -0.581505453286013440, -0.581464775433887750, -0.581424096128099980, -0.581383415368752040, +-0.581342733155945650, -0.581302049489782370, -0.581261364370363910, -0.581220677797791410, -0.581179989772167890, -0.581139300293594400, -0.581098609362172610, -0.581057916978004350, +-0.581017223141191310, -0.580976527851834510, -0.580935831110036990, -0.580895132915900000, -0.580854433269525130, -0.580813732171014290, -0.580773029620468950, -0.580732325617991150, +-0.580691620163682480, -0.580650913257644840, -0.580610204899979050, -0.580569495090788590, -0.580528783830174370, -0.580488071118238190, -0.580447356955081870, -0.580406641340807110, +-0.580365924275515030, -0.580325205759308790, -0.580284485792289640, -0.580243764374559270, -0.580203041506219370, -0.580162317187371990, -0.580121591418118810, -0.580080864198561640, +-0.580040135528802290, -0.579999405408941900, -0.579958673839083730, -0.579917940819328790, -0.579877206349779020, -0.579836470430536320, -0.579795733061702400, -0.579754994243379170, +-0.579714253975667670, -0.579673512258671360, -0.579632769092491170, -0.579592024477229020, -0.579551278412986930, -0.579510530899866590, -0.579469781937969940, -0.579429031527398770, +-0.579388279668254460, -0.579347526360640020, -0.579306771604656820, -0.579266015400406680, -0.579225257747991500, -0.579184498647513200, -0.579143738099073600, -0.579102976102773950, +-0.579062212658717600, -0.579021447767005700, -0.578980681427740280, -0.578939913641023040, -0.578899144406956000, -0.578858373725641200, -0.578817601597180430, -0.578776828021674850, +-0.578736052999228030, -0.578695276529941020, -0.578654498613915820, -0.578613719251254490, -0.578572938442058700, -0.578532156186430610, -0.578491372484471470, -0.578450587336284630, +-0.578409800741971240, -0.578369012701633320, -0.578328223215372920, -0.578287432283292050, -0.578246639905492520, -0.578205846082076370, -0.578165050813145620, -0.578124254098801530, +-0.578083455939147450, -0.578042656334284870, -0.578001855284315580, -0.577961052789341620, -0.577920248849465130, -0.577879443464787150, -0.577838636635411350, -0.577797828361439000, +-0.577757018642972130, -0.577716207480112540, -0.577675394872962600, -0.577634580821624110, -0.577593765326199100, -0.577552948386789720, -0.577512130003497330, -0.577471310176425280, +-0.577430488905674940, -0.577389666191348350, -0.577348842033547640, -0.577308016432374840, -0.577267189387931980, -0.577226360900320310, -0.577185530969643650, -0.577144699596003010, +-0.577103866779500760, -0.577063032520238720, -0.577022196818319230, -0.576981359673844120, -0.576940521086915630, -0.576899681057635230, -0.576858839586106180, -0.576817996672430170, +-0.576777152316709120, -0.576736306519045170, -0.576695459279540470, -0.576654610598297150, -0.576613760475416570, -0.576572908911002320, -0.576532055905155770, -0.576491201457979050, +-0.576450345569574310, -0.576409488240043790, -0.576368629469489520, -0.576327769258013660, -0.576286907605717660, -0.576246044512705110, -0.576205179979077500, -0.576164314004936950, +-0.576123446590385500, -0.576082577735525510, -0.576041707440459130, -0.576000835705287710, -0.575959962530114830, -0.575919087915042090, -0.575878211860171740, -0.575837334365605800, +-0.575796455431446530, -0.575755575057796070, -0.575714693244756660, -0.575673809992430560, -0.575632925300919250, -0.575592039170326310, -0.575551151600753210, -0.575510262592302310, +-0.575469372145075760, -0.575428480259175810, -0.575387586934703820, -0.575346692171763710, -0.575305795970456830, -0.575264898330885450, -0.575223999253151820, -0.575183098737358180, +-0.575142196783606790, -0.575101293391999890, -0.575060388562639860, -0.575019482295628050, -0.574978574591068270, -0.574937665449062000, -0.574896754869711700, -0.574855842853119410, +-0.574814929399387500, -0.574774014508618310, -0.574733098180913340, -0.574692180416376370, -0.574651261215109010, -0.574610340577213390, -0.574569418502791970, -0.574528494991947030, +-0.574487570044780790, -0.574446643661395640, -0.574405715841893150, -0.574364786586377130, -0.574323855894949160, -0.574282923767711510, -0.574241990204766520, -0.574201055206216670, +-0.574160118772164110, -0.574119180902710410, -0.574078241597959620, -0.574037300858013190, -0.573996358682973610, -0.573955415072943010, -0.573914470028023870, -0.573873523548318660, +-0.573832575633929530, -0.573791626284958280, -0.573750675501508710, -0.573709723283682420, -0.573668769631581870, -0.573627814545309310, -0.573586858024967340, -0.573545900070658090, +-0.573504940682483480, -0.573463979860547200, -0.573423017604950850, -0.573382053915797110, -0.573341088793188240, -0.573300122237226590, -0.573259154248014660, -0.573218184825654790, +-0.573177213970249460, -0.573136241681900470, -0.573095267960711530, -0.573054292806784440, -0.573013316220221560, -0.572972338201125480, -0.572931358749598550, -0.572890377865742370, +-0.572849395549661080, -0.572808411801456250, -0.572767426621230480, -0.572726440009086120, -0.572685451965125550, -0.572644462489451440, -0.572603471582166180, -0.572562479243372220, +-0.572521485473171390, -0.572480490271667470, -0.572439493638962400, -0.572398495575158540, -0.572357496080358460, -0.572316495154664650, -0.572275492798179690, -0.572234489011005150, +-0.572193483793245190, -0.572152477145001500, -0.572111469066376550, -0.572070459557472930, -0.572029448618393220, -0.571988436249239900, -0.571947422450115540, -0.571906407221121740, +-0.571865390562362740, -0.571824372473940250, -0.571783352955956840, -0.571742332008515100, -0.571701309631717500, -0.571660285825666530, -0.571619260590464200, -0.571578233926214430, +-0.571537205833019150, -0.571496176310980710, -0.571455145360201920, -0.571414112980785260, -0.571373079172833310, -0.571332043936448650, -0.571291007271733210, -0.571249969178790900, +-0.571208929657723740, -0.571167888708634220, -0.571126846331625030, -0.571085802526798640, -0.571044757294257740, -0.571003710634104270, -0.570962662546442230, -0.570921613031373560, +-0.570880562089000840, -0.570839509719426760, -0.570798455922753800, -0.570757400699084760, -0.570716344048522230, -0.570675285971168900, -0.570634226467126470, -0.570593165536499300, +-0.570552103179389200, -0.570511039395898870, -0.570469974186130990, -0.570428907550188050, -0.570387839488172180, -0.570346770000187410, -0.570305699086335770, -0.570264626746719850, +-0.570223552981442340, -0.570182477790605930, -0.570141401174313440, -0.570100323132667340, -0.570059243665770430, -0.570018162773724750, -0.569977080456634310, -0.569935996714601270, +-0.569894911547728200, -0.569853824956117800, -0.569812736939872890, -0.569771647499096150, -0.569730556633889500, -0.569689464344357190, -0.569648370630601250, -0.569607275492724390, +-0.569566178930829390, -0.569525080945018860, -0.569483981535395700, -0.569442880702062500, -0.569401778445121410, -0.569360674764676670, -0.569319569660830190, -0.569278463133684800, +-0.569237355183343170, -0.569196245809908240, -0.569155135013482690, -0.569114022794168450, -0.569072909152070090, -0.569031794087289320, -0.568990677599929050, -0.568949559690092200, +-0.568908440357881350, -0.568867319603399420, -0.568826197426749220, -0.568785073828032780, -0.568743948807354350, -0.568702822364816170, -0.568661694500520840, -0.568620565214571270, +-0.568579434507070270, -0.568538302378120750, -0.568497168827824640, -0.568456033856286510, -0.568414897463608180, -0.568373759649892560, -0.568332620415242570, -0.568291479759761130, +-0.568250337683550930, -0.568209194186714890, -0.568168049269355820, -0.568126902931575970, -0.568085755173479480, -0.568044605995168710, -0.568003455396746350, -0.567962303378315440, +-0.567921149939978780, -0.567879995081838400, -0.567838838803998770, -0.567797681106562150, -0.567756521989631220, -0.567715361453309030, -0.567674199497698480, -0.567633036122902390, +-0.567591871329023780, -0.567550705116165450, -0.567509537484429560, -0.567468368433920570, -0.567427197964740730, -0.567386026076992840, -0.567344852770779950, -0.567303678046204850, +-0.567262501903370580, -0.567221324342379370, -0.567180145363335500, -0.567138964966341310, -0.567097783151499720, -0.567056599918913660, -0.567015415268686040, -0.566974229200920000, +-0.566933041715718340, -0.566891852813183330, -0.566850662493419420, -0.566809470756528770, -0.566768277602614610, -0.566727083031779650, -0.566685887044127030, -0.566644689639759670, +-0.566603490818779810, -0.566562290581292040, -0.566521088927398500, -0.566479885857202210, -0.566438681370806220, -0.566397475468313650, -0.566356268149827200, -0.566315059415450240, +-0.566273849265284790, -0.566232637699435440, -0.566191424718004540, -0.566150210321095140, -0.566108994508810140, -0.566067777281252680, -0.566026558638525800, -0.565985338580731740, +-0.565944117107975100, -0.565902894220358110, -0.565861669917983920, -0.565820444200955560, -0.565779217069376060, -0.565737988523348560, -0.565696758562976080, -0.565655527188361760, +-0.565614294399607750, -0.565573060196818860, -0.565531824580097320, -0.565490587549546180, -0.565449349105268560, -0.565408109247367510, -0.565366867975945600, -0.565325625291107080, +-0.565284381192954650, -0.565243135681591240, -0.565201888757119960, -0.565160640419643870, -0.565119390669266310, -0.565078139506090200, -0.565036886930218810, -0.564995632941754480, +-0.564954377540801690, -0.564913120727463030, -0.564871862501841520, -0.564830602864040410, -0.564789341814162740, -0.564748079352311860, -0.564706815478589920, -0.564665550193101720, +-0.564624283495949510, -0.564583015387236760, -0.564541745867066400, -0.564500474935541670, -0.564459202592765830, -0.564417928838841900, -0.564376653673872460, -0.564335377097962110, +-0.564294099111213310, -0.564252819713729200, -0.564211538905613150, -0.564170256686968190, -0.564128973057897550, -0.564087688018503840, -0.564046401568891630, -0.564005113709163290, +-0.563963824439422280, -0.563922533759771750, -0.563881241670314840, -0.563839948171154790, -0.563798653262394870, -0.563757356944137640, -0.563716059216487710, -0.563674760079547640, +-0.563633459533420700, -0.563592157578210020, -0.563550854214019070, -0.563509549440950890, -0.563468243259108160, -0.563426935668595470, -0.563385626669515530, -0.563344316261971460, +-0.563303004446066620, -0.563261691221904390, -0.563220376589587790, -0.563179060549220290, -0.563137743100905140, -0.563096424244744820, -0.563055103980844350, -0.563013782309305990, +-0.562972459230233200, -0.562931134743729240, -0.562889808849897480, -0.562848481548840480, -0.562807152840662960, -0.562765822725467600, -0.562724491203357660, -0.562683158274436490, +-0.562641823938807460, -0.562600488196573820, -0.562559151047838930, -0.562517812492706270, -0.562476472531278300, -0.562435131163659840, -0.562393788389953580, -0.562352444210262870, +-0.562311098624690970, -0.562269751633341470, -0.562228403236316730, -0.562187053433721770, -0.562145702225659180, -0.562104349612232320, -0.562062995593544560, -0.562021640169699350, +-0.561980283340800080, -0.561938925106949980, -0.561897565468252650, -0.561856204424810660, -0.561814841976728930, -0.561773478124110050, -0.561732112867057490, -0.561690746205674610, +-0.561649378140064880, -0.561608008670331780, -0.561566637796577890, -0.561525265518908130, -0.561483891837425200, -0.561442516752232450, -0.561401140263433570, -0.561359762371131720, +-0.561318383075430470, -0.561277002376433300, -0.561235620274242900, -0.561194236768964180, -0.561152851860699850, -0.561111465549553490, -0.561070077835628340, -0.561028688719028000, +-0.560987298199856040, -0.560945906278214950, -0.560904512954209960, -0.560863118227943660, -0.560821722099519530, -0.560780324569041140, -0.560738925636611870, -0.560697525302335300, +-0.560656123566315000, -0.560614720428654350, -0.560573315889456140, -0.560531909948825290, -0.560490502606864840, -0.560449093863678030, -0.560407683719368550, -0.560366272174039780, +-0.560324859227794620, -0.560283444880738110, -0.560242029132972940, -0.560200611984602690, -0.560159193435730840, -0.560117773486461080, -0.560076352136896990, -0.560034929387141830, +-0.559993505237299520, -0.559952079687472630, -0.559910652737766190, -0.559869224388283240, -0.559827794639127240, -0.559786363490401670, -0.559744930942210230, -0.559703496994655710, +-0.559662061647843270, -0.559620624901875590, -0.559579186756856360, -0.559537747212889180, -0.559496306270077630, -0.559454863928525280, -0.559413420188335730, -0.559371975049612780, +-0.559330528512459010, -0.559289080576979680, -0.559247631243277700, -0.559206180511456650, -0.559164728381620120, -0.559123274853871810, -0.559081819928315290, -0.559040363605053490, +-0.558998905884191430, -0.558957446765832260, -0.558915986250079320, -0.558874524337036550, -0.558833061026807410, -0.558791596319495600, -0.558750130215204810, -0.558708662714037960, +-0.558667193816100190, -0.558625723521494420, -0.558584251830324340, -0.558542778742693650, -0.558501304258706030, -0.558459828378465080, -0.558418351102073940, -0.558376872429637520, +-0.558335392361259060, -0.558293910897042060, -0.558252428037090190, -0.558210943781507370, -0.558169458130397200, -0.558127971083863360, -0.558086482642009550, -0.558044992804938800, +-0.558003501572756360, -0.557962008945565020, -0.557920514923468840, -0.557879019506571260, -0.557837522694976220, -0.557796024488786510, -0.557754524888107620, -0.557713023893042340, +-0.557671521503694480, -0.557630017720167850, -0.557588512542566250, -0.557547005970993270, -0.557505498005552820, -0.557463988646348610, -0.557422477893483650, -0.557380965747063310, +-0.557339452207190500, -0.557297937273969040, -0.557256420947502830, -0.557214903227895460, -0.557173384115250190, -0.557131863609672150, -0.557090341711264480, -0.557048818420130880, +-0.557007293736375250, -0.556965767660101420, -0.556924240191413180, -0.556882711330414340, -0.556841181077208700, -0.556799649431899410, -0.556758116394591720, -0.556716581965388760, +-0.556675046144394340, -0.556633508931712260, -0.556591970327446450, -0.556550430331700600, -0.556508888944578060, -0.556467346166183980, -0.556425801996621620, -0.556384256435994650, +-0.556342709484407120, -0.556301161141962710, -0.556259611408765450, -0.556218060284919270, -0.556176507770527070, -0.556134953865694340, -0.556093398570524310, -0.556051841885120690, +-0.556010283809587610, -0.555968724344028660, -0.555927163488547980, -0.555885601243248590, -0.555844037608235970, -0.555802472583613370, -0.555760906169484480, -0.555719338365953330, +-0.555677769173123840, -0.555636198591099920, -0.555594626619985490, -0.555553053259883800, -0.555511478510900100, -0.555469902373137870, -0.555428324846700790, -0.555386745931692900, +-0.555345165628218230, -0.555303583936380570, -0.555262000856283190, -0.555220416388031550, -0.555178830531728900, -0.555137243287479150, -0.555095654655386350, -0.555054064635554400, +-0.555012473228087220, -0.554970880433088950, -0.554929286250663400, -0.554887690680913930, -0.554846093723946000, -0.554804495379862760, -0.554762895648768350, -0.554721294530766680, +-0.554679692025961790, -0.554638088134456810, -0.554596482856357540, -0.554554876191766910, -0.554513268140789160, -0.554471658703528210, -0.554430047880088210, -0.554388435670572940, +-0.554346822075086680, -0.554305207093733320, -0.554263590726616240, -0.554221972973840900, -0.554180353835510680, -0.554138733311729580, -0.554097111402601540, -0.554055488108230800, +-0.554013863428721390, -0.553972237364176450, -0.553930609914701780, -0.553888981080400520, -0.553847350861376820, -0.553805719257734700, -0.553764086269578290, -0.553722451897011750, +-0.553680816140138980, -0.553639178999063450, -0.553597540473890760, -0.553555900564724260, -0.553514259271667860, -0.553472616594825940, -0.553430972534302400, -0.553389327090201500, +-0.553347680262626480, -0.553306032051683050, -0.553264382457474560, -0.553222731480105030, -0.553181079119678730, -0.553139425376299680, -0.553097770250072120, -0.553056113741100090, +-0.553014455849487160, -0.552972796575338710, -0.552931135918758310, -0.552889473879849990, -0.552847810458718110, -0.552806145655466600, -0.552764479470199800, -0.552722811903020970, +-0.552681142954035920, -0.552639472623348000, -0.552597800911061480, -0.552556127817280360, -0.552514453342108910, -0.552472777485651380, -0.552431100248011900, -0.552389421629294610, +-0.552347741629603100, -0.552306060249042940, -0.552264377487717620, -0.552222693345731370, -0.552181007823188460, -0.552139320920192910, -0.552097632636848410, -0.552055942973260550, +-0.552014251929532800, -0.551972559505769400, -0.551930865702074610, -0.551889170518552690, -0.551847473955307870, -0.551805776012444290, -0.551764076690066330, -0.551722375988277450, +-0.551680673907183340, -0.551638970446887480, -0.551597265607494340, -0.551555559389107940, -0.551513851791832650, -0.551472142815772730, -0.551430432461031740, -0.551388720727715280, +-0.551347007615927140, -0.551305293125771480, -0.551263577257352640, -0.551221860010774780, -0.551180141386142240, -0.551138421383559400, -0.551096700003129710, -0.551054977244959110, +-0.551013253109151060, -0.550971527595809810, -0.550929800705039720, -0.550888072436945150, -0.550846342791630470, -0.550804611769199150, -0.550762879369756990, -0.550721145593407680, +-0.550679410440255590, -0.550637673910404860, -0.550595936003959950, -0.550554196721025240, -0.550512456061704960, -0.550470714026102930, -0.550428970614324720, -0.550387225826474150, +-0.550345479662655570, -0.550303732122973230, -0.550261983207531610, -0.550220232916434960, -0.550178481249786970, -0.550136728207693660, -0.550094973790258400, -0.550053217997585660, +-0.550011460829780030, -0.549969702286945640, -0.549927942369187070, -0.549886181076608580, -0.549844418409314640, -0.549802654367408940, -0.549760888950997400, -0.549719122160183590, +-0.549677353995071890, -0.549635584455766880, -0.549593813542372910, -0.549552041254993680, -0.549510267593735110, -0.549468492558700780, -0.549426716149995280, -0.549384938367722950, +-0.549343159211988400, -0.549301378682895750, -0.549259596780549810, -0.549217813505054830, -0.549176028856514620, -0.549134242835034980, -0.549092455440719830, -0.549050666673673420, +-0.549008876534000430, -0.548967085021805250, -0.548925292137192320, -0.548883497880265470, -0.548841702251130600, -0.548799905249891530, -0.548758106876652610, -0.548716307131518420, +-0.548674506014593550, -0.548632703525982370, -0.548590899665789330, -0.548549094434118480, -0.548507287831075500, -0.548465479856764300, -0.548423670511289480, -0.548381859794755400, +-0.548340047707266740, -0.548298234248927980, -0.548256419419842820, -0.548214603220117390, -0.548172785649855500, -0.548130966709161620, -0.548089146398140210, -0.548047324716896100, +-0.548005501665533520, -0.547963677244157290, -0.547921851452871090, -0.547880024291781060, -0.547838195760990910, -0.547796365860605320, -0.547754534590728760, -0.547712701951465930, +-0.547670867942921300, -0.547629032565198680, -0.547587195818404320, -0.547545357702642010, -0.547503518218016240, -0.547461677364631690, -0.547419835142592960, -0.547377991552004620, +-0.547336146592971250, -0.547294300265597560, -0.547252452569987450, -0.547210603506246840, -0.547168753074479760, -0.547126901274790800, -0.547085048107284640, -0.547043193572065770, +-0.547001337669238200, -0.546959480398908070, -0.546917621761179200, -0.546875761756156260, -0.546833900383943970, -0.546792037644646900, -0.546750173538369740, -0.546708308065217200, +-0.546666441225293840, -0.546624573018703600, -0.546582703445552710, -0.546540832505945100, -0.546498960199985340, -0.546457086527778250, -0.546415211489428290, -0.546373335085040490, +-0.546331457314718550, -0.546289578178568600, -0.546247697676694790, -0.546205815809201800, -0.546163932576194220, -0.546122047977776750, -0.546080162014054180, -0.546038274685131330, +-0.545996385991111890, -0.545954495932102320, -0.545912604508206440, -0.545870711719529170, -0.545828817566174960, -0.545786922048248860, -0.545745025165855320, -0.545703126919098610, +-0.545661227308084750, -0.545619326332917760, -0.545577423993702570, -0.545535520290543750, -0.545493615223546220, -0.545451708792814570, -0.545409800998453600, -0.545367891840567440, +-0.545325981319262350, -0.545284069434642250, -0.545242156186811930, -0.545200241575876320, -0.545158325601940110, -0.545116408265107990, -0.545074489565484210, -0.545032569503174800, +-0.544990648078284120, -0.544948725290916760, -0.544906801141177620, -0.544864875629171410, -0.544822948755003030, -0.544781020518777300, -0.544739090920599020, -0.544697159960572220, +-0.544655227638803360, -0.544613293955396370, -0.544571358910456160, -0.544529422504087530, -0.544487484736395410, -0.544445545607483710, -0.544403605117459000, -0.544361663266425210, +-0.544319720054487370, -0.544277775481750160, -0.544235829548318510, -0.544193882254297210, -0.544151933599791300, -0.544109983584905480, -0.544068032209744090, -0.544026079474413280, +-0.543984125379017300, -0.543942169923660960, -0.543900213108449160, -0.543858254933486940, -0.543816295398878990, -0.543774334504729670, -0.543732372251145120, -0.543690408638229710, +-0.543648443666088330, -0.543606477334825700, -0.543564509644546940, -0.543522540595356980, -0.543480570187360620, -0.543438598420662110, -0.543396625295367810, -0.543354650811581960, +-0.543312674969409490, -0.543270697768955310, -0.543228719210324450, -0.543186739293621710, -0.543144758018951460, -0.543102775386419930, -0.543060791396131610, -0.543018806048191190, +-0.542976819342703810, -0.542934831279774380, -0.542892841859507920, -0.542850851082009370, -0.542808858947382840, -0.542766865455734940, -0.542724870607169900, -0.542682874401792640, +-0.542640876839708300, -0.542598877921021680, -0.542556877645837930, -0.542514876014261180, -0.542472873026398020, -0.542430868682352570, -0.542388862982230100, -0.542346855926135410, +-0.542304847514173630, -0.542262837746449570, -0.542220826623068590, -0.542178814144135490, -0.542136800309754640, -0.542094785120032400, -0.542052768575073340, -0.542010750674982280, +-0.541968731419864460, -0.541926710809824690, -0.541884688844967430, -0.541842665525399170, -0.541800640851224370, -0.541758614822547830, -0.541716587439474820, -0.541674558702110340, +-0.541632528610559440, -0.541590497164927130, -0.541548464365318670, -0.541506430211838310, -0.541464394704592620, -0.541422357843685980, -0.541380319629223390, -0.541338280061310020, +-0.541296239140050980, -0.541254196865551320, -0.541212153237915380, -0.541170108257249870, -0.541128061923659030, -0.541086014237248000, -0.541043965198122030, -0.541001914806386150, +-0.540959863062145390, -0.540917809965504980, -0.540875755516569410, -0.540833699715445150, -0.540791642562236550, -0.540749584057048980, -0.540707524199987350, -0.540665462991156920, +-0.540623400430662930, -0.540581336518609620, -0.540539271255103700, -0.540497204640249640, -0.540455136674152570, -0.540413067356917630, -0.540370996688649960, -0.540328924669454920, +-0.540286851299437540, -0.540244776578702180, -0.540202700507355750, -0.540160623085502500, -0.540118544313247790, -0.540076464190696660, -0.540034382717954340, -0.539992299895126090, +-0.539950215722316270, -0.539908130199631800, -0.539866043327176910, -0.539823955105056870, -0.539781865533377040, -0.539739774612242540, -0.539697682341758520, -0.539655588722030340, +-0.539613493753163250, -0.539571397435261610, -0.539529299768432220, -0.539487200752779560, -0.539445100388408980, -0.539402998675425630, -0.539360895613934740, -0.539318791204040910, +-0.539276685445850830, -0.539234578339468970, -0.539192469885000800, -0.539150360082551350, -0.539108248932226090, -0.539066136434130040, -0.539024022588368790, -0.538981907395047480, +-0.538939790854270570, -0.538897672966144990, -0.538855553730775320, -0.538813433148266570, -0.538771311218724350, -0.538729187942253880, -0.538687063318959660, -0.538644937348948470, +-0.538602810032325020, -0.538560681369194550, -0.538518551359662310, -0.538476420003833780, -0.538434287301814090, -0.538392153253708710, -0.538350017859623000, -0.538307881119661440, +-0.538265743033931040, -0.538223603602536180, -0.538181462825582320, -0.538139320703174830, -0.538097177235418940, -0.538055032422420250, -0.538012886264283120, -0.537970738761114560, +-0.537928589913019170, -0.537886439720102310, -0.537844288182469430, -0.537802135300225690, -0.537759981073476670, -0.537717825502327720, -0.537675668586883430, -0.537633510327250710, +-0.537591350723534260, -0.537549189775839320, -0.537507027484271480, -0.537464863848936100, -0.537422698869938540, -0.537380532547383490, -0.537338364881377870, -0.537296195872026260, +-0.537254025519434240, -0.537211853823707170, -0.537169680784950420, -0.537127506403269450, -0.537085330678769730, -0.537043153611556630, -0.537000975201735060, -0.536958795449411610, +-0.536916614354691290, -0.536874431917679470, -0.536832248138481520, -0.536790063017202890, -0.536747876553948400, -0.536705688748824960, -0.536663499601937270, -0.536621309113390900, +-0.536579117283291220, -0.536536924111743810, -0.536494729598854030, -0.536452533744727460, -0.536410336549469460, -0.536368138013184950, -0.536325938135980840, -0.536283736917961830, +-0.536241534359233610, -0.536199330459901420, -0.536157125220070970, -0.536114918639846950, -0.536072710719336380, -0.536030501458643950, -0.535988290857875360, -0.535946078917136080, +-0.535903865636531470, -0.535861651016167340, -0.535819435056149040, -0.535777217756582050, -0.535734999117571390, -0.535692779139223970, -0.535650557821644500, -0.535608335164938780, +-0.535566111169212160, -0.535523885834570220, -0.535481659161118560, -0.535439431148962090, -0.535397201798207710, -0.535354971108960350, -0.535312739081325590, -0.535270505715408910, +-0.535228271011316090, -0.535186034969152510, -0.535143797589023860, -0.535101558871034940, -0.535059318815292890, -0.535017077421902520, -0.534974834690969510, -0.534932590622599350, +-0.534890345216897820, -0.534848098473970300, -0.534805850393921920, -0.534763600976859490, -0.534721350222888250, -0.534679098132113450, -0.534636844704641010, -0.534594589940576510, +-0.534552333840025430, -0.534510076403093560, -0.534467817629886490, -0.534425557520509130, -0.534383296075068630, -0.534341033293669890, -0.534298769176418500, -0.534256503723420260, +-0.534214236934780760, -0.534171968810604910, -0.534129699350999960, -0.534087428556070610, -0.534045156425922760, -0.534002882960662120, -0.533960608160394150, -0.533918332025224650, +-0.533876054555259440, -0.533833775750603980, -0.533791495611363410, -0.533749214137644760, -0.533706931329553160, -0.533664647187194200, -0.533622361710673570, -0.533580074900097070, +-0.533537786755569620, -0.533495497277198470, -0.533453206465088650, -0.533410914319345730, -0.533368620840075520, -0.533326326027383830, -0.533284029881376240, -0.533241732402158660, +-0.533199433589836680, -0.533157133444515320, -0.533114831966301940, -0.533072529155301570, -0.533030225011619780, -0.532987919535362400, -0.532945612726635320, -0.532903304585544140, +-0.532860995112193980, -0.532818684306691990, -0.532776372169143420, -0.532734058699653850, -0.532691743898329070, -0.532649427765275020, -0.532607110300597380, -0.532564791504402060, +-0.532522471376793870, -0.532480149917880290, -0.532437827127766330, -0.532395503006557910, -0.532353177554360620, -0.532310850771280370, -0.532268522657423080, -0.532226193212893660, +-0.532183862437799580, -0.532141530332245760, -0.532099196896338110, -0.532056862130182550, -0.532014526033884770, -0.531972188607550690, -0.531929849851286220, -0.531887509765197050, +-0.531845168349388330, -0.531802825603967520, -0.531760481529039540, -0.531718136124710420, -0.531675789391085950, -0.531633441328272060, -0.531591091936373770, -0.531548741215498440, +-0.531506389165751330, -0.531464035787238220, -0.531421681080065040, -0.531379325044337710, -0.531336967680162030, -0.531294608987643910, -0.531252248966889270, -0.531209887618003250, +-0.531167524941093210, -0.531125160936264380, -0.531082795603622700, -0.531040428943274080, -0.530998060955324310, -0.530955691639878660, -0.530913320997044470, -0.530870949026927110, +-0.530828575729632270, -0.530786201105265980, -0.530743825153934260, -0.530701447875742920, -0.530659069270797980, -0.530616689339205360, -0.530574308081070310, -0.530531925496500190, +-0.530489541585600240, -0.530447156348476500, -0.530404769785234880, -0.530362381895981280, -0.530319992680821750, -0.530277602139861410, -0.530235210273207970, -0.530192817080966330, +-0.530150422563242740, -0.530108026720143120, -0.530065629551773390, -0.530023231058239670, -0.529980831239647790, -0.529938430096103090, -0.529896027627713040, -0.529853623834583010, +-0.529811218716818800, -0.529768812274526660, -0.529726404507812390, -0.529683995416782130, -0.529641585001541130, -0.529599173262196960, -0.529556760198854890, -0.529514345811620820, +-0.529471930100601010, -0.529429513065901250, -0.529387094707627790, -0.529344675025886560, -0.529302254020782900, -0.529259831692424300, -0.529217408040916220, -0.529174983066364570, +-0.529132556768875490, -0.529090129148554910, -0.529047700205509170, -0.529005269939843310, -0.528962838351665020, -0.528920405441079770, -0.528877971208193350, -0.528835535653112140, +-0.528793098775941940, -0.528750660576789100, -0.528708221055759650, -0.528665780212959510, -0.528623338048494260, -0.528580894562471370, -0.528538449754996310, -0.528496003626175100, +-0.528453556176113780, -0.528411107404918700, -0.528368657312695110, -0.528326205899550480, -0.528283753165590510, -0.528241299110920990, -0.528198843735648400, -0.528156387039878550, +-0.528113929023717790, -0.528071469687272250, -0.528029009030647980, -0.527986547053950430, -0.527944083757287300, -0.527901619140763940, -0.527859153204486510, -0.527816685948561240, +-0.527774217373094270, -0.527731747478191740, -0.527689276263959120, -0.527646803730503990, -0.527604329877931930, -0.527561854706348980, -0.527519378215861370, -0.527476900406575360, +-0.527434421278597080, -0.527391940832032780, -0.527349459066987820, -0.527306975983570010, -0.527264491581884820, -0.527222005862038270, -0.527179518824136830, -0.527137030468286530, +-0.527094540794593610, -0.527052049803163670, -0.527009557494104270, -0.526967063867521120, -0.526924568923520130, -0.526882072662207880, -0.526839575083690390, -0.526797076188073920, +-0.526754575975464820, -0.526712074445968460, -0.526669571599692740, -0.526627067436743030, -0.526584561957225690, -0.526542055161246860, -0.526499547048913000, -0.526457037620330250, +-0.526414526875604080, -0.526372014814842410, -0.526329501438150720, -0.526286986745635230, -0.526244470737402330, -0.526201953413558240, -0.526159434774209230, -0.526116914819461660, +-0.526074393549421760, -0.526031870964195240, -0.525989347063889670, -0.525946821848610750, -0.525904295318464830, -0.525861767473558170, -0.525819238313997020, -0.525776707839887060, +-0.525734176051336100, -0.525691642948449720, -0.525649108531334170, -0.525606572800095930, -0.525564035754841230, -0.525521497395676440, -0.525478957722707810, -0.525436416736041910, +-0.525393874435784110, -0.525351330822042440, -0.525308785894922470, -0.525266239654530560, -0.525223692100972970, -0.525181143234356160, -0.525138593054786500, -0.525096041562369660, +-0.525053488757213360, -0.525010934639423500, -0.524968379209106110, -0.524925822466367880, -0.524883264411315160, -0.524840705044054110, -0.524798144364691410, -0.524755582373332640, +-0.524713019070085610, -0.524670454455056000, -0.524627888528350290, -0.524585321290074850, -0.524542752740336130, -0.524500182879240500, -0.524457611706893640, -0.524415039223403490, +-0.524372465428875830, -0.524329890323416930, -0.524287313907133350, -0.524244736180131450, -0.524202157142517720, -0.524159576794398620, -0.524116995135879840, -0.524074412167069290, +-0.524031827888072680, -0.523989242298996570, -0.523946655399947340, -0.523904067191031440, -0.523861477672355360, -0.523818886844024890, -0.523776294706147840, -0.523733701258830120, +-0.523691106502178210, -0.523648510436298450, -0.523605913061297560, -0.523563314377281760, -0.523520714384357650, -0.523478113082631810, -0.523435510472209930, -0.523392906553200030, +-0.523350301325707810, -0.523307694789839850, -0.523265086945702730, -0.523222477793402810, -0.523179867333046000, -0.523137255564740220, -0.523094642488591390, -0.523052028104705860, +-0.523009412413190320, -0.522966795414151250, -0.522924177107695230, -0.522881557493928620, -0.522838936572958210, -0.522796314344889710, -0.522753690809831140, -0.522711065967888410, +-0.522668439819168000, -0.522625812363776480, -0.522583183601820430, -0.522540553533406340, -0.522497922158640220, -0.522455289477629980, -0.522412655490481550, -0.522370020197301500, +-0.522327383598196420, -0.522284745693272770, -0.522242106482637360, -0.522199465966396660, -0.522156824144656470, -0.522114181017525050, -0.522071536585108190, -0.522028890847512470, +-0.521986243804844490, -0.521943595457210920, -0.521900945804718350, -0.521858294847472700, -0.521815642585582110, -0.521772989019152370, -0.521730334148290060, -0.521687677973102000, +-0.521645020493694770, -0.521602361710174930, -0.521559701622649200, -0.521517040231223470, -0.521474377536005900, -0.521431713537102380, -0.521389048234619620, -0.521346381628664200, +-0.521303713719342810, -0.521261044506762140, -0.521218373991028110, -0.521175702172248960, -0.521133029050530490, -0.521090354625979410, -0.521047678898702520, -0.521005001868806380, +-0.520962323536397820, -0.520919643901583410, -0.520876962964469840, -0.520834280725163130, -0.520791597183771550, -0.520748912340400880, -0.520706226195157940, -0.520663538748149520, +-0.520620849999482100, -0.520578159949261930, -0.520535468597597030, -0.520492775944593530, -0.520450081990358140, -0.520407386734997420, -0.520364690178618310, -0.520321992321327480, +-0.520279293163231630, -0.520236592704437560, -0.520193890945051200, -0.520151187885180890, -0.520108483524932660, -0.520065777864413210, -0.520023070903729350, -0.519980362642987750, +-0.519937653082295230, -0.519894942221757810, -0.519852230061483840, -0.519809516601579370, -0.519766801842150960, -0.519724085783305640, -0.519681368425150110, -0.519638649767791060, +-0.519595929811335510, -0.519553208555889270, -0.519510486001560910, -0.519467762148456250, -0.519425036996682080, -0.519382310546345430, -0.519339582797552990, -0.519296853750411680, +-0.519254123405027300, -0.519211391761508540, -0.519168658819961220, -0.519125924580492230, -0.519083189043208490, -0.519040452208216710, -0.518997714075623780, -0.518954974645536640, +-0.518912233918061290, -0.518869491893306110, -0.518826748571377230, -0.518784003952381450, -0.518741258036425680, -0.518698510823616730, -0.518655762314061520, -0.518613012507866070, +-0.518570261405138950, -0.518527509005986100, -0.518484755310514520, -0.518442000318831140, -0.518399244031042650, -0.518356486447256070, -0.518313727567578320, -0.518270967392116200, +-0.518228205920975850, -0.518185443154265850, -0.518142679092092220, -0.518099913734561880, -0.518057147081781740, -0.518014379133858730, -0.517971609890898970, -0.517928839353011040, +-0.517886067520300970, -0.517843294392875690, -0.517800519970842200, -0.517757744254307430, -0.517714967243378290, -0.517672188938161800, -0.517629409338764780, -0.517586628445293460, +-0.517543846257856320, -0.517501062776559610, -0.517458278001510230, -0.517415491932815110, -0.517372704570581380, -0.517329915914915730, -0.517287125965924630, -0.517244334723716450, +-0.517201542188397420, -0.517158748360074580, -0.517115953238854840, -0.517073156824845230, -0.517030359118152650, -0.516987560118884250, -0.516944759827146160, -0.516901958243046970, +-0.516859155366692910, -0.516816351198190920, -0.516773545737648000, -0.516730738985171300, -0.516687930940867620, -0.516645121604843550, -0.516602310977207320, -0.516559499058065310, +-0.516516685847524530, -0.516473871345692110, -0.516431055552674990, -0.516388238468580170, -0.516345420093514810, -0.516302600427585130, -0.516259779470899740, -0.516216957223564870, +-0.516174133685687650, -0.516131308857375020, -0.516088482738734200, -0.516045655329872120, -0.516002826630895140, -0.515959996641911830, -0.515917165363028560, -0.515874332794352350, +-0.515831498935990340, -0.515788663788049660, -0.515745827350637230, -0.515702989623860190, -0.515660150607825770, -0.515617310302640130, -0.515574468708412060, -0.515531625825247810, +-0.515488781653254400, -0.515445936192539090, -0.515403089443209010, -0.515360241405370290, -0.515317392079131850, -0.515274541464599940, -0.515231689561881590, -0.515188836371084040, +-0.515145981892314530, -0.515103126125679880, -0.515060269071287550, -0.515017410729244450, -0.514974551099657060, -0.514931690182634180, -0.514888827978281950, -0.514845964486707720, +-0.514803099708018520, -0.514760233642321600, -0.514717366289724090, -0.514674497650332460, -0.514631627724255300, -0.514588756511599080, -0.514545884012470920, -0.514503010226978090, +-0.514460135155227700, -0.514417258797327030, -0.514374381153383190, -0.514331502223502660, -0.514288622007794130, -0.514245740506364070, -0.514202857719319620, -0.514159973646767910, +-0.514117088288816420, -0.514074201645572160, -0.514031313717141720, -0.513988424503633580, -0.513945534005154530, -0.513902642221811590, -0.513859749153712020, -0.513816854800963170, +-0.513773959163672080, -0.513731062241946090, -0.513688164035891790, -0.513645264545617760, -0.513602363771230590, -0.513559461712837510, -0.513516558370545770, -0.513473653744462630, +-0.513430747834695330, -0.513387840641350460, -0.513344932164536690, -0.513302022404360620, -0.513259111360929500, -0.513216199034350670, -0.513173285424731280, -0.513130370532178580, +-0.513087454356800140, -0.513044536898702890, -0.513001618157993610, -0.512958698134781120, -0.512915776829171780, -0.512872854241273050, -0.512829930371192180, -0.512787005219036420, +-0.512744078784912460, -0.512701151068929000, -0.512658222071192720, -0.512615291791810870, -0.512572360230890810, -0.512529427388539790, -0.512486493264865280, -0.512443557859974530, +-0.512400621173974890, -0.512357683206972840, -0.512314743959077390, -0.512271803430395130, -0.512228861621033320, -0.512185918531099290, -0.512142974160700650, -0.512100028509943630, +-0.512057081578937370, -0.512014133367788450, -0.511971183876604120, -0.511928233105491850, -0.511885281054558990, -0.511842327723913030, -0.511799373113661080, -0.511756417223910850, +-0.511713460054768700, -0.511670501606343750, -0.511627541878742490, -0.511584580872072480, -0.511541618586440870, -0.511498655021955240, -0.511455690178723050, -0.511412724056850900, +-0.511369756656447570, -0.511326787977619880, -0.511283818020475290, -0.511240846785121160, -0.511197874271664850, -0.511154900480213840, -0.511111925410875690, -0.511068949063756880, +-0.511025971438966440, -0.510982992536611170, -0.510940012356798310, -0.510897030899635450, -0.510854048165230060, -0.510811064153689490, -0.510768078865120550, -0.510725092299632140, +-0.510682104457330980, -0.510639115338324620, -0.510596124942720440, -0.510553133270625900, -0.510510140322148590, -0.510467146097395850, -0.510424150596475390, -0.510381153819493670, +-0.510338155766559830, -0.510295156437780670, -0.510252155833263550, -0.510209153953116170, -0.510166150797445760, -0.510123146366359250, -0.510080140659965650, -0.510037133678371780, +-0.509994125421684990, -0.509951115890012850, -0.509908105083462960, -0.509865093002142780, -0.509822079646159890, -0.509779065015621870, -0.509736049110635300, -0.509693031931309440, +-0.509650013477751070, -0.509606993750067570, -0.509563972748366620, -0.509520950472755700, -0.509477926923341710, -0.509434902100233570, -0.509391876003538190, -0.509348848633363160, +-0.509305819989816060, -0.509262790073004350, -0.509219758883035610, -0.509176726420017540, -0.509133692684057730, -0.509090657675262850, -0.509047621393742040, -0.509004583839602230, +-0.508961545012950990, -0.508918504913895790, -0.508875463542544430, -0.508832420899004380, -0.508789376983382450, -0.508746331795787880, -0.508703285336327580, -0.508660237605108920, +-0.508617188602239700, -0.508574138327827610, -0.508531086781980110, -0.508488033964804800, -0.508444979876408800, -0.508401924516901030, -0.508358867886388400, -0.508315809984978720, +-0.508272750812779450, -0.508229690369898290, -0.508186628656442930, -0.508143565672520280, -0.508100501418239370, -0.508057435893707330, -0.508014369099031530, -0.507971301034319980, +-0.507928231699680040, -0.507885161095219640, -0.507842089221046340, -0.507799016077267740, -0.507755941663990850, -0.507712865981324920, -0.507669789029376760, -0.507626710808254170, +-0.507583631318064720, -0.507540550558916340, -0.507497468530915710, -0.507454385234172190, -0.507411300668792700, -0.507368214834885030, -0.507325127732556780, -0.507282039361915630, +-0.507238949723069490, -0.507195858816125940, -0.507152766641192800, -0.507109673198376850, -0.507066578487787580, -0.507023482509531890, -0.506980385263717360, -0.506937286750452020, +-0.506894186969843340, -0.506851085921998460, -0.506807983607026720, -0.506764880025034950, -0.506721775176130930, -0.506678669060422580, -0.506635561678017490, -0.506592453029023560, +-0.506549343113548380, -0.506506231931699970, -0.506463119483585130, -0.506420005769313230, -0.506376890788991400, -0.506333774542727320, -0.506290657030628810, -0.506247538252803660, +-0.506204418209359570, -0.506161296900403790, -0.506118174326045440, -0.506075050486391790, -0.506031925381550400, -0.505988799011629190, -0.505945671376736070, -0.505902542476978630, +-0.505859412312465010, -0.505816280883301990, -0.505773148189599060, -0.505730014231463240, -0.505686879009002330, -0.505643742522324360, -0.505600604771536900, -0.505557465756748090, +-0.505514325478064740, -0.505471183935596310, -0.505428041129449950, -0.505384897059733550, -0.505341751726554820, -0.505298605130021780, -0.505255457270242130, -0.505212308147323990, +-0.505169157761374170, -0.505126006112502360, -0.505082853200815360, -0.505039699026421320, -0.504996543589428140, -0.504953386889943400, -0.504910228928075360, -0.504867069703930920, +-0.504823909217619550, -0.504780747469248390, -0.504737584458925360, -0.504694420186758470, -0.504651254652855430, -0.504608087857324250, -0.504564919800272960, -0.504521750481809250, +-0.504478579902040480, -0.504435408061076010, -0.504392234959022970, -0.504349060595989380, -0.504305884972083060, -0.504262708087412140, -0.504219529942083630, -0.504176350536207130, +-0.504133169869889650, -0.504089987943239340, -0.504046804756363990, -0.504003620309371620, -0.503960434602370280, -0.503917247635467750, -0.503874059408772170, -0.503830869922390680, +-0.503787679176432750, -0.503744487171005730, -0.503701293906217320, -0.503658099382175760, -0.503614903598988970, -0.503571706556764860, -0.503528508255610800, -0.503485308695636240, +-0.503442107876948320, -0.503398905799655180, -0.503355702463864740, -0.503312497869685130, -0.503269292017224150, -0.503226084906590040, -0.503182876537889840, -0.503139666911233350, +-0.503096456026727700, -0.503053243884480810, -0.503010030484600800, -0.502966815827195820, -0.502923599912373680, -0.502880382740241830, -0.502837164310909860, -0.502793944624484900, +-0.502750723681075100, -0.502707501480788470, -0.502664278023733150, -0.502621053310017050, -0.502577827339748320, -0.502534600113034300, -0.502491371629984580, -0.502448141890706410, +-0.502404910895307810, -0.502361678643897020, -0.502318445136581970, -0.502275210373470890, -0.502231974354670930, -0.502188737080291770, -0.502145498550440880, -0.502102258765226180, +-0.502059017724755920, -0.502015775429138000, -0.501972531878480680, -0.501929287072892080, -0.501886041012480240, -0.501842793697352410, -0.501799545127618480, -0.501756295303385720, +-0.501713044224762150, -0.501669791891856010, -0.501626538304775330, -0.501583283463627570, -0.501540027368522430, -0.501496770019567160, -0.501453511416870000, -0.501410251560539090, +-0.501366990450682450, -0.501323728087408440, -0.501280464470824970, -0.501237199601040410, -0.501193933478162100, -0.501150666102299750, -0.501107397473560700, -0.501064127592053210, +-0.501020856457885300, -0.500977584071165330, -0.500934310432001430, -0.500891035540500850, -0.500847759396773620, -0.500804482000926860, -0.500761203353068950, -0.500717923453308010, +-0.500674642301752290, -0.500631359898509930, -0.500588076243689170, -0.500544791337397490, -0.500501505179744570, -0.500458217770837880, -0.500414929110785670, -0.500371639199696070, +-0.500328348037677450, -0.500285055624837940, -0.500241761961285000, -0.500198467047128450, -0.500155170882475740, -0.500111873467435130, -0.500068574802114750, -0.500025274886623070, +-0.499981973721068060, -0.499938671305558190, -0.499895367640200870, -0.499852062725105850, -0.499808756560380710, -0.499765449146133690, -0.499722140482473040, -0.499678830569507020, +-0.499635519407343960, -0.499592206996091300, -0.499548893335858890, -0.499505578426754250, -0.499462262268885680, -0.499418944862361490, -0.499375626207289870, -0.499332306303779230, +-0.499288985151937760, -0.499245662751873880, -0.499202339103695100, -0.499159014207511190, -0.499115688063429760, -0.499072360671559130, -0.499029032032007550, -0.498985702144883470, +-0.498942371010294260, -0.498899038628350000, -0.498855704999158100, -0.498812370122826920, -0.498769033999464820, -0.498725696629180150, -0.498682358012081220, -0.498639018148276380, +-0.498595677037874050, -0.498552334680981700, -0.498508991077709300, -0.498465646228164470, -0.498422300132455480, -0.498378952790690780, -0.498335604202978620, -0.498292254369427530, +-0.498248903290144980, -0.498205550965240940, -0.498162197394823090, -0.498118842578999690, -0.498075486517879200, -0.498032129211569970, -0.497988770660180440, -0.497945410863818990, +-0.497902049822593230, -0.497858687536613110, -0.497815324005986270, -0.497771959230821180, -0.497728593211226090, -0.497685225947309570, -0.497641857439179990, -0.497598487686945030, +-0.497555116690714560, -0.497511744450596320, -0.497468370966698710, -0.497424996239130220, -0.497381620267999200, -0.497338243053414120, -0.497294864595483440, -0.497251484894314870, +-0.497208103950018300, -0.497164721762701490, -0.497121338332472910, -0.497077953659440910, -0.497034567743714070, -0.496991180585400820, -0.496947792184608830, -0.496904402541448190, +-0.496861011656026470, -0.496817619528452270, -0.496774226158833990, -0.496730831547280150, -0.496687435693899230, -0.496644038598799690, -0.496600640262090110, -0.496557240683878130, +-0.496513839864273830, -0.496470437803384900, -0.496427034501319920, -0.496383629958187360, -0.496340224174095680, -0.496296817149152690, -0.496253408883468420, -0.496209999377150660, +-0.496166588630307880, -0.496123176643048610, -0.496079763415481430, -0.496036348947714810, -0.495992933239857330, -0.495949516292017560, -0.495906098104303140, -0.495862678676824320, +-0.495819258009688790, -0.495775836103005070, -0.495732412956881810, -0.495688988571427510, -0.495645562946750720, -0.495602136082959280, -0.495558707980163270, -0.495515278638470450, +-0.495471848057989490, -0.495428416238828830, -0.495384983181097190, -0.495341548884903120, -0.495298113350355120, -0.495254676577561060, -0.495211238566631130, -0.495167799317673070, +-0.495124358830795530, -0.495080917106107080, -0.495037474143716350, -0.494994029943731930, -0.494950584506261670, -0.494907137831415710, -0.494863689919301910, -0.494820240770028840, +-0.494776790383705200, -0.494733338760439620, -0.494689885900340690, -0.494646431803517030, -0.494602976470076510, -0.494559519900129310, -0.494516062093783290, -0.494472603051147150, +-0.494429142772329520, -0.494385681257439040, -0.494342218506584330, -0.494298754519873260, -0.494255289297416130, -0.494211822839320800, -0.494168355145695850, -0.494124886216650070, +-0.494081416052292060, -0.494037944652730490, -0.493994472018074060, -0.493950998148431460, -0.493907523043910560, -0.493864046704621640, -0.493820569130672630, -0.493777090322172210, +-0.493733610279229020, -0.493690129001951810, -0.493646646490448540, -0.493603162744829400, -0.493559677765202380, -0.493516191551676140, -0.493472704104359390, -0.493429215423360930, +-0.493385725508789450, -0.493342234360753580, -0.493298741979362190, -0.493255248364723120, -0.493211753516946740, -0.493168257436141010, -0.493124760122414570, -0.493081261575876280, +-0.493037761796634780, -0.492994260784798910, -0.492950758540476650, -0.492907255063778190, -0.492863750354811670, -0.492820244413685720, -0.492776737240509190, -0.492733228835390780, +-0.492689719198439350, -0.492646208329763580, -0.492602696229471500, -0.492559182897673530, -0.492515668334477520, -0.492472152539992380, -0.492428635514326860, -0.492385117257589770, +-0.492341597769889840, -0.492298077051335160, -0.492254555102036080, -0.492211031922100580, -0.492167507511637570, -0.492123981870755730, -0.492080454999563930, -0.492036926898171020, +-0.491993397566685750, -0.491949867005216260, -0.491906335213872890, -0.491862802192763630, -0.491819267941997370, -0.491775732461682990, -0.491732195751929220, -0.491688657812844990, +-0.491645118644538360, -0.491601578247119700, -0.491558036620697080, -0.491514493765379370, -0.491470949681275420, -0.491427404368494140, -0.491383857827144280, -0.491340310057334810, +-0.491296761059174580, -0.491253210832771630, -0.491209659378236460, -0.491166106695677170, -0.491122552785202560, -0.491078997646921590, -0.491035441280943120, -0.490991883687375290, +-0.490948324866328500, -0.490904764817910900, -0.490861203542231390, -0.490817641039398900, -0.490774077309522270, -0.490730512352710480, -0.490686946169072380, -0.490643378758716940, +-0.490599810121752240, -0.490556240258288870, -0.490512669168434830, -0.490469096852299110, -0.490425523309990670, -0.490381948541618430, -0.490338372547291350, -0.490294795327117510, +-0.490251216881207490, -0.490207637209669420, -0.490164056312612230, -0.490120474190144930, -0.490076890842376430, -0.490033306269415710, -0.489989720471371740, -0.489946133448352640, +-0.489902545200469050, -0.489858955727829060, -0.489815365030541680, -0.489771773108715890, -0.489728179962460650, -0.489684585591884990, -0.489640989997097100, -0.489597393178207500, +-0.489553795135324380, -0.489510195868556820, -0.489466595378013740, -0.489422993663804210, -0.489379390726037140, -0.489335786564821630, -0.489292181180265850, -0.489248574572480440, +-0.489204966741573540, -0.489161357687654290, -0.489117747410831580, -0.489074135911214570, -0.489030523188912160, -0.488986909244032710, -0.488943294076686740, -0.488899677686982500, +-0.488856060075029130, -0.488812441240935590, -0.488768821184810910, -0.488725199906764220, -0.488681577406904490, -0.488637953685340850, -0.488594328742181560, -0.488550702577537190, +-0.488507075191516090, -0.488463446584227300, -0.488419816755779890, -0.488376185706282940, -0.488332553435844750, -0.488288919944575960, -0.488245285232584810, -0.488201649299980560, +-0.488158012146872100, -0.488114373773368640, -0.488070734179579250, -0.488027093365613010, -0.487983451331579000, -0.487939808077585640, -0.487896163603743550, -0.487852517910160990, +-0.487808870996947200, -0.487765222864211200, -0.487721573512062130, -0.487677922940608350, -0.487634271149960550, -0.487590618140227080, -0.487546963911517080, -0.487503308463939630, +-0.487459651797603980, -0.487415993912619140, -0.487372334809094310, -0.487328674487138680, -0.487285012946860550, -0.487241350188370670, -0.487197686211777450, -0.487154021017189960, +-0.487110354604717470, -0.487066686974469090, -0.487023018126553960, -0.486979348061080510, -0.486935676778159520, -0.486892004277899300, -0.486848330560409050, -0.486804655625798000, +-0.486760979474175290, -0.486717302105650120, -0.486673623520331780, -0.486629943718328520, -0.486586262699751190, -0.486542580464708220, -0.486498897013308780, -0.486455212345662140, +-0.486411526461877460, -0.486367839362063960, -0.486324151046330030, -0.486280461514786540, -0.486236770767541900, -0.486193078804705360, -0.486149385626386100, -0.486105691232693370, +-0.486061995623736420, -0.486018298799624440, -0.485974600760466780, -0.485930901506371800, -0.485887201037450370, -0.485843499353810880, -0.485799796455562700, -0.485756092342815030, +-0.485712387015677090, -0.485668680474257430, -0.485624972718666840, -0.485581263749013840, -0.485537553565407620, -0.485493842167957550, -0.485450129556772910, -0.485406415731962910, +-0.485362700693636910, -0.485318984441904130, -0.485275266976873070, -0.485231548298654670, -0.485187828407357410, -0.485144107303090540, -0.485100384985963420, -0.485056661456085340, +-0.485012936713564820, -0.484969210758512740, -0.484925483591037650, -0.484881755211248820, -0.484838025619255650, -0.484794294815167390, -0.484750562799093400, -0.484706829571142970, +-0.484663095131425470, -0.484619359480049530, -0.484575622617125890, -0.484531884542763190, -0.484488145257070850, -0.484444404760158100, -0.484400663052134310, -0.484356920133108940, +-0.484313176003190400, -0.484269430662489790, -0.484225684111115550, -0.484181936349177110, -0.484138187376783820, -0.484094437194045050, -0.484050685801070250, -0.484006933197968670, +-0.483963179384849010, -0.483919424361822170, -0.483875668128996740, -0.483831910686482180, -0.483788152034387850, -0.483744392172823110, -0.483700631101897430, -0.483656868821719380, +-0.483613105332399870, -0.483569340634047660, -0.483525574726772100, -0.483481807610682600, -0.483438039285888580, -0.483394269752499440, -0.483350499010624660, -0.483306727060373640, +-0.483262953901854970, -0.483219179535179730, -0.483175403960456550, -0.483131627177794840, -0.483087849187304070, -0.483044069989093660, -0.483000289583272350, -0.482956507969951040, +-0.482912725149238440, -0.482868941121244120, -0.482825155886077380, -0.482781369443847750, -0.482737581794664690, -0.482693792938637730, -0.482650002875876230, -0.482606211606488980, +-0.482562419130586950, -0.482518625448278890, -0.482474830559674270, -0.482431034464882560, -0.482387237164013270, -0.482343438657175160, -0.482299638944479140, -0.482255838026034110, +-0.482212035901949440, -0.482168232572334650, -0.482124428037299320, -0.482080622296952920, -0.482036815351404970, -0.481993007200764990, -0.481949197845141670, -0.481905387284646160, +-0.481861575519387190, -0.481817762549474280, -0.481773948375016910, -0.481730132996124720, -0.481686316412907210, -0.481642498625473090, -0.481598679633933550, -0.481554859438397260, +-0.481511038038973880, -0.481467215435772870, -0.481423391628903800, -0.481379566618476310, -0.481335740404599870, -0.481291912987383270, -0.481248084366937720, -0.481204254543371900, +-0.481160423516795500, -0.481116591287318040, -0.481072757855049050, -0.481028923220098210, -0.480985087382574280, -0.480941250342588390, -0.480897412100249390, -0.480853572655666860, +-0.480809732008950390, -0.480765890160209600, -0.480722047109554070, -0.480678202857093450, -0.480634357402937310, -0.480590510747194500, -0.480546662889976160, -0.480502813831391210, +-0.480458963571549210, -0.480415112110559760, -0.480371259448532590, -0.480327405585576460, -0.480283550521802600, -0.480239694257319880, -0.480195836792237930, -0.480151978126666380, +-0.480108118260714870, -0.480064257194493080, -0.480020394928110610, -0.479976531461677180, -0.479932666795301670, -0.479888800929095250, -0.479844933863166790, -0.479801065597626030, +-0.479757196132582610, -0.479713325468146210, -0.479669453604425700, -0.479625580541532310, -0.479581706279575030, -0.479537830818663410, -0.479493954158907280, -0.479450076300416250, +-0.479406197243300030, -0.479362316987668290, -0.479318435533630790, -0.479274552881296390, -0.479230669030776380, -0.479186783982179730, -0.479142897735616140, -0.479099010291195280, +-0.479055121649026860, -0.479011231809220670, -0.478967340771885630, -0.478923448537133030, -0.478879555105071740, -0.478835660475811660, -0.478791764649462380, -0.478747867626133640, +-0.478703969405935290, -0.478660069988977030, -0.478616169375367770, -0.478572267565218870, -0.478528364558639340, -0.478484460355738880, -0.478440554956627240, -0.478396648361414270, +-0.478352740570209660, -0.478308831583122370, -0.478264921400263830, -0.478221010021743000, -0.478177097447669620, -0.478133183678153490, -0.478089268713304370, -0.478045352553232160, +-0.478001435198046500, -0.477957516647856520, -0.477913596902773520, -0.477869675962906470, -0.477825753828365280, -0.477781830499259710, -0.477737905975699540, -0.477693980257794640, +-0.477650053345653970, -0.477606125239389000, -0.477562195939108650, -0.477518265444922870, -0.477474333756941370, -0.477430400875274110, -0.477386466800030770, -0.477342531531321280, +-0.477298595069254710, -0.477254657413942460, -0.477210718565493520, -0.477166778524017790, -0.477122837289625120, -0.477078894862425330, -0.477034951242528320, -0.476991006430043940, +-0.476947060425081280, -0.476903113227751700, -0.476859164838164370, -0.476815215256429170, -0.476771264482655890, -0.476727312516954440, -0.476683359359434680, -0.476639405010206570, +-0.476595449469379150, -0.476551492737063930, -0.476507534813369940, -0.476463575698407080, -0.476419615392285330, -0.476375653895114550, -0.476331691207004580, -0.476287727328064630, +-0.476243762258406140, -0.476199795998138280, -0.476155828547370870, -0.476111859906213960, -0.476067890074777340, -0.476023919053171040, -0.475979946841504910, -0.475935973439888140, +-0.475891998848432200, -0.475848023067246270, -0.475804046096440340, -0.475760067936124240, -0.475716088586407960, -0.475672108047401510, -0.475628126319213970, -0.475584143401956870, +-0.475540159295739450, -0.475496174000671620, -0.475452187516863410, -0.475408199844424670, -0.475364210983465430, -0.475320220934095710, -0.475276229696424580, -0.475232237270563740, +-0.475188243656622270, -0.475144248854710180, -0.475100252864937460, -0.475056255687414110, -0.475012257322250160, -0.474968257769554760, -0.474924257029439520, -0.474880255102013590, +-0.474836251987387050, -0.474792247685669910, -0.474748242196972090, -0.474704235521403730, -0.474660227659074730, -0.474616218610094400, -0.474572208374574310, -0.474528196952623660, +-0.474484184344352580, -0.474440170549870980, -0.474396155569288990, -0.474352139402716590, -0.474308122050263850, -0.474264103512040070, -0.474220083788156780, -0.474176062878723270, +-0.474132040783849570, -0.474088017503645820, -0.474043993038221980, -0.473999967387688240, -0.473955940552154510, -0.473911912531730150, -0.473867883326526800, -0.473823852936653740, +-0.473779821362221080, -0.473735788603338870, -0.473691754660117150, -0.473647719532666040, -0.473603683221094860, -0.473559645725515290, -0.473515607046036570, -0.473471567182768840, +-0.473427526135822170, -0.473383483905306710, -0.473339440491332530, -0.473295395894009760, -0.473251350113447710, -0.473207303149758060, -0.473163255003050180, -0.473119205673434130, +-0.473075155161020110, -0.473031103465918200, -0.472987050588238480, -0.472942996528090350, -0.472898941285585570, -0.472854884860833380, -0.472810827253944020, -0.472766768465027580, +-0.472722708494194230, -0.472678647341554070, -0.472634585007217330, -0.472590521491293320, -0.472546456793893840, -0.472502390915128130, -0.472458323855106500, -0.472414255613939070, +-0.472370186191735990, -0.472326115588607430, -0.472282043804662820, -0.472237970840013840, -0.472193896694769970, -0.472149821369041380, -0.472105744862938210, -0.472061667176570670, +-0.472017588310048970, -0.471973508263483280, -0.471929427036983040, -0.471885344630660060, -0.471841261044623710, -0.471797176278984150, -0.471753090333851710, -0.471709003209336510, +-0.471664914905548790, -0.471620825422598810, -0.471576734760596030, -0.471532642919652130, -0.471488549899876650, -0.471444455701379770, -0.471400360324271740, -0.471356263768662850, +-0.471312166034663300, -0.471268067122383340, -0.471223967031932370, -0.471179865763422300, -0.471135763316962610, -0.471091659692663480, -0.471047554890635160, -0.471003448910988000, +-0.470959341753832190, -0.470915233419277270, -0.470871123907435020, -0.470827013218415020, -0.470782901352327420, -0.470738788309282620, -0.470694674089390810, -0.470650558692762340, +-0.470606442119507420, -0.470562324369735660, -0.470518205443558880, -0.470474085341086590, -0.470429964062429040, -0.470385841607696640, -0.470341717976999580, -0.470297593170448280, +-0.470253467188152140, -0.470209340030223190, -0.470165211696770840, -0.470121082187905490, -0.470076951503737460, -0.470032819644376990, -0.469988686609934480, -0.469944552400520300, +-0.469900417016243910, -0.469856280457217280, -0.469812142723549990, -0.469768003815352280, -0.469723863732734560, -0.469679722475807250, -0.469635580044680530, -0.469591436439464160, +-0.469547291660269980, -0.469503145707207530, -0.469458998580387250, -0.469414850279919470, -0.469370700805914530, -0.469326550158482850, -0.469282398337734830, -0.469238245343780000, +-0.469194091176730330, -0.469149935836695450, -0.469105779323785720, -0.469061621638111550, -0.469017462779783350, -0.468973302748911470, -0.468929141545606330, -0.468884979169977570, +-0.468840815622137140, -0.468796650902194630, -0.468752485010260570, -0.468708317946445240, -0.468664149710859120, -0.468619980303612630, -0.468575809724816220, -0.468531637974579470, +-0.468487465053014420, -0.468443290960230680, -0.468399115696338740, -0.468354939261449000, -0.468310761655671930, -0.468266582879117930, -0.468222402931896760, -0.468178221814120280, +-0.468134039525898270, -0.468089856067341210, -0.468045671438559460, -0.468001485639663540, -0.467957298670763910, -0.467913110531971040, -0.467868921223394570, -0.467824730745146630, +-0.467780539097336860, -0.467736346280075710, -0.467692152293473720, -0.467647957137641350, -0.467603760812689060, -0.467559563318726610, -0.467515364655866020, -0.467471164824217020, +-0.467426963823890150, -0.467382761654995820, -0.467338558317644590, -0.467294353811947010, -0.467250148138013520, -0.467205941295953830, -0.467161733285880120, -0.467117524107902080, +-0.467073313762130240, -0.467029102248675050, -0.466984889567647170, -0.466940675719157040, -0.466896460703314420, -0.466852244520231500, -0.466808027170017900, -0.466763808652784270, +-0.466719588968641070, -0.466675368117698940, -0.466631146100068390, -0.466586922915859960, -0.466542698565183430, -0.466498473048150950, -0.466454246364872320, -0.466410018515458050, +-0.466365789500018720, -0.466321559318664920, -0.466277327971507230, -0.466233095458656210, -0.466188861780221670, -0.466144626936315810, -0.466100390927048300, -0.466056153752529840, +-0.466011915412871010, -0.465967675908182390, -0.465923435238574600, -0.465879193404158180, -0.465834950405043020, -0.465790706241341280, -0.465746460913162740, -0.465702214420618100, +-0.465657966763817880, -0.465613717942872760, -0.465569467957893330, -0.465525216808989450, -0.465480964496273300, -0.465436711019854790, -0.465392456379844440, -0.465348200576353010, +-0.465303943609491010, -0.465259685479369190, -0.465215426186098180, -0.465171165729787780, -0.465126904110550240, -0.465082641328495470, -0.465038377383734100, -0.464994112276376770, +-0.464949846006534220, -0.464905578574316970, -0.464861309979835050, -0.464817040223200580, -0.464772769304523550, -0.464728497223914570, -0.464684223981484400, -0.464639949577343610, +-0.464595674011603010, -0.464551397284373170, -0.464507119395764060, -0.464462840345887920, -0.464418560134854720, -0.464374278762775150, -0.464329996229759790, -0.464285712535919490, +-0.464241427681364950, -0.464197141666206010, -0.464152854490554990, -0.464108566154521840, -0.464064276658217310, -0.464019986001752040, -0.463975694185236820, -0.463931401208782400, +-0.463887107072499420, -0.463842811776497940, -0.463798515320890170, -0.463754217705786180, -0.463709918931296590, -0.463665618997532230, -0.463621317904603760, -0.463577015652622050, +-0.463532712241697790, -0.463488407671940990, -0.463444101943463920, -0.463399795056376630, -0.463355487010789820, -0.463311177806814300, -0.463266867444560860, -0.463222555924140190, +-0.463178243245663200, -0.463133929409239810, -0.463089614414982310, -0.463045298263000840, -0.463000980953406140, -0.462956662486308960, -0.462912342861820090, -0.462868022080050400, +-0.462823700141109850, -0.462779377045110850, -0.462735052792163430, -0.462690727382378380, -0.462646400815866440, -0.462602073092738600, -0.462557744213105470, -0.462513414177078030, +-0.462469082984766300, -0.462424750636282630, -0.462380417131737050, -0.462336082471240470, -0.462291746654903690, -0.462247409682837510, -0.462203071555152780, -0.462158732271959640, +-0.462114391833370440, -0.462070050239495270, -0.462025707490444970, -0.461981363586330350, -0.461937018527262380, -0.461892672313351850, -0.461848324944709620, -0.461803976421445830, +-0.461759626743672880, -0.461715275911500860, -0.461670923925040610, -0.461626570784403110, -0.461582216489699100, -0.461537861041039610, -0.461493504438534710, -0.461449146682296810, +-0.461404787772435990, -0.461360427709063270, -0.461316066492289460, -0.461271704122225460, -0.461227340598982240, -0.461182975922670600, -0.461138610093400790, -0.461094243111285220, +-0.461049874976434070, -0.461005505688958210, -0.460961135248968590, -0.460916763656576130, -0.460872390911891800, -0.460828017015025680, -0.460783641966090280, -0.460739265765195800, +-0.460694888412453150, -0.460650509907973290, -0.460606130251867140, -0.460561749444245660, -0.460517367485219820, -0.460472984374900530, -0.460428600113398030, -0.460384214700824800, +-0.460339828137291020, -0.460295440422907710, -0.460251051557785780, -0.460206661542036210, -0.460162270375770010, -0.460117878059097320, -0.460073484592130770, -0.460029089974980430, +-0.459984694207757450, -0.459940297290572670, -0.459895899223537190, -0.459851500006761950, -0.459807099640357930, -0.459762698124435380, -0.459718295459106920, -0.459673891644482690, +-0.459629486680673720, -0.459585080567791020, -0.459540673305945670, -0.459496264895248590, -0.459451855335810120, -0.459407444627742740, -0.459363032771156750, -0.459318619766163230, +-0.459274205612873130, -0.459229790311397490, -0.459185373861847430, -0.459140956264333880, -0.459096537518967170, -0.459052117625859900, -0.459007696585122360, -0.458963274396865570, +-0.458918851061200620, -0.458874426578238510, -0.458830000948090340, -0.458785574170866350, -0.458741146246679220, -0.458696717175639260, -0.458652286957857480, -0.458607855593445020, +-0.458563423082512910, -0.458518989425172220, -0.458474554621534080, -0.458430118671708740, -0.458385681575808890, -0.458341243333944830, -0.458296803946227680, -0.458252363412768540, +-0.458207921733678470, -0.458163478909068610, -0.458119034939049260, -0.458074589823733060, -0.458030143563230460, -0.457985696157652440, -0.457941247607110250, -0.457896797911714890, +-0.457852347071577510, -0.457807895086809360, -0.457763441957521390, -0.457718987683824020, -0.457674532265830050, -0.457630075703649660, -0.457585617997394110, -0.457541159147174530, +-0.457496699153102090, -0.457452238015287840, -0.457407775733842230, -0.457363312308877950, -0.457318847740505410, -0.457274382028835750, -0.457229915173980150, -0.457185447176049700, +-0.457140978035155690, -0.457096507751409250, -0.457052036324920700, -0.457007563755802870, -0.456963090044166130, -0.456918615190121670, -0.456874139193780670, -0.456829662055254330, +-0.456785183774653820, -0.456740704352089580, -0.456696223787674330, -0.456651742081518540, -0.456607259233733410, -0.456562775244430120, -0.456518290113719920, -0.456473803841713990, +-0.456429316428523520, -0.456384827874258990, -0.456340338179033130, -0.456295847342956470, -0.456251355366140200, -0.456206862248695550, -0.456162367990733730, -0.456117872592365970, +-0.456073376053702790, -0.456028878374856890, -0.455984379555938850, -0.455939879597059840, -0.455895378498331120, -0.455850876259863980, -0.455806372881769620, -0.455761868364159330, +-0.455717362707143580, -0.455672855910835280, -0.455628347975344740, -0.455583838900783410, -0.455539328687262430, -0.455494817334893170, -0.455450304843786850, -0.455405791214053950, +-0.455361276445807370, -0.455316760539157650, -0.455272243494215970, -0.455227725311093730, -0.455183205989902140, -0.455138685530752540, -0.455094163933756230, -0.455049641199024520, +-0.455005117326667930, -0.454960592316799310, -0.454916066169529230, -0.454871538884968950, -0.454827010463229870, -0.454782480904423190, -0.454737950208660370, -0.454693418376051870, +-0.454648885406710610, -0.454604351300747170, -0.454559816058272840, -0.454515279679398920, -0.454470742164236830, -0.454426203512897920, -0.454381663725493490, -0.454337122802134060, +-0.454292580742932660, -0.454248037547999810, -0.454203493217446850, -0.454158947751385160, -0.454114401149926070, -0.454069853413181010, -0.454025304541260550, -0.453980754534277550, +-0.453936203392342750, -0.453891651115567400, -0.453847097704062900, -0.453802543157940660, -0.453757987477312110, -0.453713430662288530, -0.453668872712980620, -0.453624313629501340, +-0.453579753411961220, -0.453535192060471770, -0.453490629575144300, -0.453446065956090270, -0.453401501203421100, -0.453356935317247360, -0.453312368297682070, -0.453267800144835860, +-0.453223230858820160, -0.453178660439746360, -0.453134088887725940, -0.453089516202870300, -0.453044942385290860, -0.453000367435098250, -0.452955791352405550, -0.452911214137323330, +-0.452866635789963110, -0.452822056310436320, -0.452777475698854350, -0.452732893955328670, -0.452688311079969980, -0.452643727072891360, -0.452599141934203360, -0.452554555664017530, +-0.452509968262445330, -0.452465379729598160, -0.452420790065587550, -0.452376199270525030, -0.452331607344521160, -0.452287014287689080, -0.452242420100139430, -0.452197824781983780, +-0.452153228333333550, -0.452108630754300240, -0.452064032044995350, -0.452019432205530420, -0.451974831236016060, -0.451930229136565440, -0.451885625907289260, -0.451841021548299030, +-0.451796416059706220, -0.451751809441622350, -0.451707201694159010, -0.451662592817427600, -0.451617982811538980, -0.451573371676606160, -0.451528759412739900, -0.451484146020051770, +-0.451439531498653290, -0.451394915848655930, -0.451350299070171320, -0.451305681163310160, -0.451261062128185560, -0.451216441964908340, -0.451171820673590020, -0.451127198254342110, +-0.451082574707276250, -0.451037950032503960, -0.450993324230136770, -0.450948697300285470, -0.450904069243063200, -0.450859440058580810, -0.450814809746949760, -0.450770178308281750, +-0.450725545742688250, -0.450680912050280880, -0.450636277231170500, -0.450591641285470130, -0.450547004213290750, -0.450502366014743800, -0.450457726689940940, -0.450413086238993790, +-0.450368444662013870, -0.450323801959112870, -0.450279158130401590, -0.450234513175993220, -0.450189867095998510, -0.450145219890529190, -0.450100571559696790, -0.450055922103612950, +-0.450011271522389340, -0.449966619816136730, -0.449921966984968390, -0.449877313028995090, -0.449832657948328550, -0.449788001743080370, -0.449743344413362170, -0.449698685959285580, +-0.449654026380962300, -0.449609365678503180, -0.449564703852021410, -0.449520040901627890, -0.449475376827434270, -0.449430711629552230, -0.449386045308093340, -0.449341377863169410, +-0.449296709294892020, -0.449252039603372070, -0.449207368788722810, -0.449162696851055090, -0.449118023790480660, -0.449073349607111150, -0.449028674301058310, -0.448983997872433760, +-0.448939320321349200, -0.448894641647915540, -0.448849961852246130, -0.448805280934451770, -0.448760598894644200, -0.448715915732935120, -0.448671231449436270, -0.448626546044259390, +-0.448581859517515280, -0.448537171869317350, -0.448492483099776460, -0.448447793209004410, -0.448403102197112880, -0.448358410064213560, -0.448313716810418210, -0.448269022435838600, +-0.448224326940585620, -0.448179630324772590, -0.448134932588510500, -0.448090233731911090, -0.448045533755086100, -0.448000832658147270, -0.447956130441206410, -0.447911427104374370, +-0.447866722647764560, -0.447822017071487940, -0.447777310375656320, -0.447732602560381390, -0.447687893625774940, -0.447643183571948770, -0.447598472399014680, -0.447553760107083590, +-0.447509046696268840, -0.447464332166681520, -0.447419616518433370, -0.447374899751636190, -0.447330181866401780, -0.447285462862841880, -0.447240742741067510, -0.447196021501192090, +-0.447151299143326630, -0.447106575667582940, -0.447061851074072760, -0.447017125362908000, -0.446972398534200400, -0.446927670588061820, -0.446882941524603280, -0.446838211343938140, +-0.446793480046177530, -0.446748747631433190, -0.446704014099816970, -0.446659279451440680, -0.446614543686416230, -0.446569806804855470, -0.446525068806869320, -0.446480329692571340, +-0.446435589462072510, -0.446390848115484740, -0.446346105652919820, -0.446301362074489670, -0.446256617380306090, -0.446211871570480920, -0.446167124645125370, -0.446122376604352720, +-0.446077627448274170, -0.446032877177001570, -0.445988125790646730, -0.445943373289321600, -0.445898619673138040, -0.445853864942207130, -0.445809109096642340, -0.445764352136554800, +-0.445719594062056410, -0.445674834873258980, -0.445630074570274480, -0.445585313153214810, -0.445540550622191830, -0.445495786977316680, -0.445451022218702860, -0.445406256346461530, +-0.445361489360704520, -0.445316721261543760, -0.445271952049091260, -0.445227181723458820, -0.445182410284757690, -0.445137637733101280, -0.445092864068600770, -0.445048089291368130, +-0.445003313401515280, -0.444958536399154110, -0.444913758284396610, -0.444868979057354730, -0.444824198718139610, -0.444779417266864760, -0.444734634703641380, -0.444689851028581440, +-0.444645066241796840, -0.444600280343399600, -0.444555493333501640, -0.444510705212214140, -0.444465915979650680, -0.444421125635922450, -0.444376334181141420, -0.444331541615419550, +-0.444286747938868800, -0.444241953151601140, -0.444197157253728660, -0.444152360245362480, -0.444107562126616170, -0.444062762897600990, -0.444017962558428900, -0.443973161109211870, +-0.443928358550061960, -0.443883554881091160, -0.443838750102411470, -0.443793944214134100, -0.443749137216372660, -0.443704329109238400, -0.443659519892843300, -0.443614709567299430, +-0.443569898132718740, -0.443525085589213330, -0.443480271936895210, -0.443435457175875620, -0.443390641306268150, -0.443345824328184090, -0.443301006241735520, -0.443256187047034340, +-0.443211366744192760, -0.443166545333322780, -0.443121722814535600, -0.443076899187944910, -0.443032074453661990, -0.442987248611798890, -0.442942421662467610, -0.442897593605780350, +-0.442852764441849070, -0.442807934170785900, -0.442763102792702030, -0.442718270307711270, -0.442673436715924850, -0.442628602017454800, -0.442583766212413240, -0.442538929300912260, +-0.442494091283063990, -0.442449252158979680, -0.442404411928773060, -0.442359570592555370, -0.442314728150438760, -0.442269884602535360, -0.442225039948957180, -0.442180194189816470, +-0.442135347325225250, -0.442090499355294870, -0.442045650280139040, -0.442000800099869080, -0.441955948814597100, -0.441911096424435270, -0.441866242929495720, -0.441821388329890540, +-0.441776532625731080, -0.441731675817131130, -0.441686817904201940, -0.441641958887055710, -0.441597098765804610, -0.441552237540560780, -0.441507375211436290, -0.441462511778543400, +-0.441417647241993450, -0.441372781601900190, -0.441327914858374910, -0.441283047011529870, -0.441238178061477250, -0.441193308008329180, -0.441148436852197790, -0.441103564593195330, +-0.441058691231433210, -0.441013816767025110, -0.440968941200082450, -0.440924064530717470, -0.440879186759042360, -0.440834307885169200, -0.440789427909210330, -0.440744546831277890, +-0.440699664651483250, -0.440654781369940300, -0.440609896986760340, -0.440565011502055680, -0.440520124915938500, -0.440475237228520940, -0.440430348439915350, -0.440385458550233090, +-0.440340567559587950, -0.440295675468091400, -0.440250782275855680, -0.440205887982992980, -0.440160992589615610, -0.440116096095835680, -0.440071198501765570, -0.440026299807516620, +-0.439981400013202740, -0.439936499118935400, -0.439891597124826780, -0.439846694030989140, -0.439801789837534820, -0.439756884544575950, -0.439711978152224130, -0.439667070660593180, +-0.439622162069794490, -0.439577252379940440, -0.439532341591143240, -0.439487429703515230, -0.439442516717168610, -0.439397602632215670, -0.439352687448767990, -0.439307771166939310, +-0.439262853786841270, -0.439217935308586050, -0.439173015732286010, -0.439128095058053450, -0.439083173286000660, -0.439038250416239120, -0.438993326448882730, -0.438948401384043010, +-0.438903475221832320, -0.438858547962362950, -0.438813619605747220, -0.438768690152097410, -0.438723759601525880, -0.438678827954144200, -0.438633895210066180, -0.438588961369403450, +-0.438544026432268310, -0.438499090398773110, -0.438454153269030200, -0.438409215043151890, -0.438364275721250580, -0.438319335303437750, -0.438274393789827350, -0.438229451180531030, +-0.438184507475661010, -0.438139562675329770, -0.438094616779649610, -0.438049669788732890, -0.438004721702692060, -0.437959772521638540, -0.437914822245686450, -0.437869870874947280, +-0.437824918409533470, -0.437779964849557330, -0.437735010195131280, -0.437690054446367720, -0.437645097603378160, -0.437600139666276760, -0.437555180635174960, -0.437510220510185180, +-0.437465259291419880, -0.437420296978991430, -0.437375333573012230, -0.437330369073594680, -0.437285403480850430, -0.437240436794893490, -0.437195469015835450, -0.437150500143788700, +-0.437105530178865720, -0.437060559121178920, -0.437015586970840750, -0.436970613727962750, -0.436925639392659100, -0.436880663965041270, -0.436835687445221830, -0.436790709833313140, +-0.436745731129427720, -0.436700751333677920, -0.436655770446176260, -0.436610788467034380, -0.436565805396366360, -0.436520821234283760, -0.436475835980899170, -0.436430849636324950, +-0.436385862200673600, -0.436340873674057660, -0.436295884056588650, -0.436250893348380800, -0.436205901549545690, -0.436160908660195800, -0.436115914680443690, -0.436070919610401730, +-0.436025923450182540, -0.435980926199898480, -0.435935927859661340, -0.435890928429585160, -0.435845927909781720, -0.435800926300363380, -0.435755923601442770, -0.435710919813132310, +-0.435665914935544630, -0.435620908968791300, -0.435575901912986510, -0.435530893768241940, -0.435485884534670190, -0.435440874212383700, -0.435395862801495000, -0.435350850302116680, +-0.435305836714361240, -0.435260822038341160, -0.435215806274168280, -0.435170789421956640, -0.435125771481818080, -0.435080752453865020, -0.435035732338210130, -0.434990711134965900, +-0.434945688844244890, -0.434900665466158850, -0.434855641000821970, -0.434810615448345980, -0.434765588808843420, -0.434720561082426900, -0.434675532269209020, -0.434630502369302290, +-0.434585471382819280, -0.434540439309871800, -0.434495406150574030, -0.434450371905037710, -0.434405336573375540, -0.434360300155699990, -0.434315262652123670, -0.434270224062759170, +-0.434225184387718340, -0.434180143627115380, -0.434135101781062020, -0.434090058849670950, -0.434045014833054690, -0.433999969731325930, -0.433954923544597190, -0.433909876272981170, +-0.433864827916589700, -0.433819778475536880, -0.433774727949934660, -0.433729676339895620, -0.433684623645532400, -0.433639569866957620, -0.433594515004283920, -0.433549459057623100, +-0.433504402027089450, -0.433459343912794780, -0.433414284714851770, -0.433369224433373060, -0.433324163068471270, -0.433279100620259090, -0.433234037088849110, -0.433188972474353280, +-0.433143906776885800, -0.433098839996558570, -0.433053772133484280, -0.433008703187775510, -0.432963633159544950, -0.432918562048905330, -0.432873489855968570, -0.432828416580848810, +-0.432783342223658050, -0.432738266784508880, -0.432693190263514100, -0.432648112660786340, -0.432603033976438290, -0.432557954210582630, -0.432512873363332110, -0.432467791434798630, +-0.432422708425096390, -0.432377624334337460, -0.432332539162634420, -0.432287452910100070, -0.432242365576847090, -0.432197277162988170, -0.432152187668635280, -0.432107097093902710, +-0.432062005438902390, -0.432016912703747040, -0.431971818888549410, -0.431926723993422300, -0.431881628018478290, -0.431836530963830290, -0.431791432829590090, -0.431746333615872170, +-0.431701233322788370, -0.431656131950451490, -0.431611029498974340, -0.431565925968469540, -0.431520821359049960, -0.431475715670827540, -0.431430608903916600, -0.431385501058429150, +-0.431340392134478000, -0.431295282132175770, -0.431250171051635430, -0.431205058892969620, -0.431159945656291120, -0.431114831341712020, -0.431069715949346620, -0.431024599479306940, +-0.430979481931705770, -0.430934363306655850, -0.430889243604270060, -0.430844122824661170, -0.430799000967941160, -0.430753878034224440, -0.430708754023623020, -0.430663628936249710, +-0.430618502772217360, -0.430573375531638710, -0.430528247214626620, -0.430483117821293950, -0.430437987351752700, -0.430392855806117250, -0.430347723184499650, -0.430302589487012780, +-0.430257454713769420, -0.430212318864882370, -0.430167181940464600, -0.430122043940628030, -0.430076904865487160, -0.430031764715154030, -0.429986623489741540, -0.429941481189362430, +-0.429896337814129610, -0.429851193364156000, -0.429806047839554340, -0.429760901240437590, -0.429715753566917820, -0.429670604819109400, -0.429625454997124510, -0.429580304101076000, +-0.429535152131076740, -0.429489999087239560, -0.429444844969677390, -0.429399689778502290, -0.429354533513828800, -0.429309376175768980, -0.429264217764435680, -0.429219058279941830, +-0.429173897722400390, -0.429128736091924150, -0.429083573388626130, -0.429038409612618300, -0.428993244764015290, -0.428948078842929180, -0.428902911849472880, -0.428857743783759290, +-0.428812574645901330, -0.428767404436011910, -0.428722233154203210, -0.428677060800589760, -0.428631887375283630, -0.428586712878397720, -0.428541537310045130, -0.428496360670338640, +-0.428451182959391220, -0.428406004177315890, -0.428360824324224730, -0.428315643400232320, -0.428270461405450830, -0.428225278339993130, -0.428180094203972290, -0.428134908997501170, +-0.428089722720692790, -0.428044535373659330, -0.427999346956515310, -0.427954157469372930, -0.427908966912345150, -0.427863775285544920, -0.427818582589085280, -0.427773388823079190, +-0.427728193987639620, -0.427682998082878800, -0.427637801108911250, -0.427592603065849170, -0.427547403953805640, -0.427502203772893610, -0.427457002523225990, -0.427411800204915930, +-0.427366596818075540, -0.427321392362819460, -0.427276186839259940, -0.427230980247509880, -0.427185772587682420, -0.427140563859890520, -0.427095354064247200, -0.427050143200865540, +-0.427004931269858500, -0.426959718271338270, -0.426914504205419600, -0.426869289072214660, -0.426824072871836550, -0.426778855604398210, -0.426733637270012680, -0.426688417868793140, +-0.426643197400851710, -0.426597975866303100, -0.426552753265259540, -0.426507529597834110, -0.426462304864139890, -0.426417079064289830, -0.426371852198397130, -0.426326624266574810, +-0.426281395268935100, -0.426236165205592710, -0.426190934076659870, -0.426145701882249760, -0.426100468622475360, -0.426055234297449790, -0.426009998907286140, -0.425964762452096690, +-0.425919524931996140, -0.425874286347096730, -0.425829046697511650, -0.425783805983353970, -0.425738564204736770, -0.425693321361773120, -0.425648077454576170, -0.425602832483258250, +-0.425557586447934070, -0.425512339348715910, -0.425467091185716910, -0.425421841959050140, -0.425376591668828800, -0.425331340315165950, -0.425286087898173960, -0.425240834417967560, +-0.425195579874659110, -0.425150324268361630, -0.425105067599188420, -0.425059809867252500, -0.425014551072667060, -0.424969291215545280, -0.424924030295999400, -0.424878768314144280, +-0.424833505270092230, -0.424788241163956470, -0.424742975995850040, -0.424697709765886220, -0.424652442474178100, -0.424607174120838040, -0.424561904705980870, -0.424516634229718970, +-0.424471362692165450, -0.424426090093433570, -0.424380816433636400, -0.424335541712887230, -0.424290265931299200, -0.424244989088984730, -0.424199711186058540, -0.424154432222633100, +-0.424109152198821560, -0.424063871114737150, -0.424018588970493050, -0.423973305766202510, -0.423928021501978670, -0.423882736177933980, -0.423837449794183310, -0.423792162350838940, +-0.423746873848014180, -0.423701584285822270, -0.423656293664376400, -0.423611001983789760, -0.423565709244175640, -0.423520415445646450, -0.423475120588316990, -0.423429824672299730, +-0.423384527697707960, -0.423339229664654810, -0.423293930573253600, -0.423248630423617600, -0.423203329215859180, -0.423158026950093250, -0.423112723626432260, -0.423067419244989470, +-0.423022113805878120, -0.422976807309211500, -0.422931499755102860, -0.422886191143665490, -0.422840881475011810, -0.422795570749256720, -0.422750258966512690, -0.422704946126893080, +-0.422659632230511060, -0.422614317277479950, -0.422569001267913080, -0.422523684201922880, -0.422478366079624250, -0.422433046901129760, -0.422387726666552610, -0.422342405376006150, +-0.422297083029603670, -0.422251759627458530, -0.422206435169683920, -0.422161109656392470, -0.422115783087699040, -0.422070455463716130, -0.422025126784557110, -0.421979797050335280, +-0.421934466261163930, -0.421889134417156420, -0.421843801518425320, -0.421798467565085430, -0.421753132557249440, -0.421707796495030600, -0.421662459378542300, -0.421617121207897790, +-0.421571781983210490, -0.421526441704593750, -0.421481100372160130, -0.421435757986024510, -0.421390414546299550, -0.421345070053098510, -0.421299724506534800, -0.421254377906721820, +-0.421209030253772820, -0.421163681547801320, -0.421118331788919780, -0.421072980977243220, -0.421027629112884220, -0.420982276195956130, -0.420936922226572310, -0.420891567204846220, +-0.420846211130891270, -0.420800854004820700, -0.420755495826747260, -0.420710136596785860, -0.420664776315049120, -0.420619414981650400, -0.420574052596703160, -0.420528689160320820, +-0.420483324672616730, -0.420437959133703580, -0.420392592543696260, -0.420347224902707480, -0.420301856210850700, -0.420256486468239210, -0.420211115674986540, -0.420165743831206030, +-0.420120370937011210, -0.420074996992514660, -0.420029621997831390, -0.419984245953074100, -0.419938868858356180, -0.419893490713791060, -0.419848111519492250, -0.419802731275573160, +-0.419757349982146420, -0.419711967639327110, -0.419666584247227910, -0.419621199805962240, -0.419575814315643560, -0.419530427776385330, -0.419485040188301020, -0.419439651551504140, +-0.419394261866107340, -0.419348871132225690, -0.419303479349971810, -0.419258086519459280, -0.419212692640801520, -0.419167297714112040, -0.419121901739504310, -0.419076504717091010, +-0.419031106646987230, -0.418985707529305750, -0.418940307364159940, -0.418894906151663360, -0.418849503891929540, -0.418804100585072000, -0.418758696231204150, -0.418713290830438790, +-0.418667884382890990, -0.418622476888673490, -0.418577068347899760, -0.418531658760683380, -0.418486248127137860, -0.418440836447376730, -0.418395423721513500, -0.418350009949660930, +-0.418304595131934080, -0.418259179268445800, -0.418213762359309570, -0.418168344404638900, -0.418122925404547370, -0.418077505359148560, -0.418032084268555980, -0.417986662132882380, +-0.417941238952242890, -0.417895814726750360, -0.417850389456518260, -0.417804963141660210, -0.417759535782289750, -0.417714107378520440, -0.417668677930465030, -0.417623247438238750, +-0.417577815901954360, -0.417532383321725430, -0.417486949697665530, -0.417441515029888300, -0.417396079318507250, -0.417350642563635970, -0.417305204765387290, -0.417259765923876420, +-0.417214326039216150, -0.417168885111520060, -0.417123443140901770, -0.417078000127474870, -0.417032556071352920, -0.416987110972648790, -0.416941664831477710, -0.416896217647952480, +-0.416850769422186680, -0.416805320154294000, -0.416759869844387950, -0.416714418492582280, -0.416668966098990570, -0.416623512663725600, -0.416578058186902630, -0.416532602668634570, +-0.416487146109034980, -0.416441688508217560, -0.416396229866295870, -0.416350770183383620, -0.416305309459593650, -0.416259847695041210, -0.416214384889839200, -0.416168921044101140, +-0.416123456157940830, -0.416077990231471850, -0.416032523264807940, -0.415987055258062680, -0.415941586211348970, -0.415896116124782110, -0.415850644998474960, -0.415805172832541260, +-0.415759699627094530, -0.415714225382248610, -0.415668750098117100, -0.415623273774813730, -0.415577796412451410, -0.415532318011145320, -0.415486838571008490, -0.415441358092154540, +-0.415395876574697230, -0.415350394018750180, -0.415304910424427190, -0.415259425791841890, -0.415213940121107240, -0.415168453412338550, -0.415122965665648710, -0.415077476881151490, +-0.415031987058960550, -0.414986496199189590, -0.414941004301952470, -0.414895511367362020, -0.414850017395533570, -0.414804522386580110, -0.414759026340615290, -0.414713529257752960, +-0.414668031138106800, -0.414622531981790550, -0.414577031788917970, -0.414531530559602010, -0.414486028293957980, -0.414440524992098940, -0.414395020654138580, -0.414349515280190650, +-0.414304008870368940, -0.414258501424787210, -0.414212992943558400, -0.414167483426797990, -0.414121972874618770, -0.414076461287134660, -0.414030948664459440, -0.413985435006706810, +-0.413939920313990570, -0.413894404586424570, -0.413848887824121710, -0.413803370027197470, -0.413757851195764800, -0.413712331329937510, -0.413666810429829390, -0.413621288495554240, +-0.413575765527225860, -0.413530241524957260, -0.413484716488863870, -0.413439190419058630, -0.413393663315655520, -0.413348135178768170, -0.413302606008510540, -0.413257075804996380, +-0.413211544568339470, -0.413166012298652960, -0.413120478996052200, -0.413074944660650260, -0.413029409292560930, -0.412983872891898140, -0.412938335458775620, -0.412892796993307280, +-0.412847257495606910, -0.412801716965787600, -0.412756175403964810, -0.412710632810251610, -0.412665089184761800, -0.412619544527609290, -0.412573998838907880, -0.412528452118771480, +-0.412482904367314000, -0.412437355584648390, -0.412391805770890240, -0.412346254926152570, -0.412300703050549280, -0.412255150144194170, -0.412209596207201270, -0.412164041239684310, +-0.412118485241756480, -0.412072928213533200, -0.412027370155127640, -0.411981811066653660, -0.411936250948225110, -0.411890689799955970, -0.411845127621960070, -0.411799564414351390, +-0.411754000177242950, -0.411708434910750380, -0.411662868614986690, -0.411617301290065800, -0.411571732936101660, -0.411526163553208260, -0.411480593141499370, -0.411435021701088250, +-0.411389449232090310, -0.411343875734618840, -0.411298301208787630, -0.411252725654710660, -0.411207149072501890, -0.411161571462275220, -0.411115992824144630, -0.411070413158223290, +-0.411024832464626680, -0.410979250743468030, -0.410933667994861250, -0.410888084218920260, -0.410842499415759070, -0.410796913585491640, -0.410751326728231110, -0.410705738844093120, +-0.410660149933190720, -0.410614559995638010, -0.410568969031548820, -0.410523377041037250, -0.410477784024217250, -0.410432189981202790, -0.410386594912107050, -0.410340998817045610, +-0.410295401696131660, -0.410249803549479260, -0.410204204377202290, -0.410158604179414850, -0.410113002956230880, -0.410067400707764430, -0.410021797434128640, -0.409976193135439150, +-0.409930587811809190, -0.409884981463352780, -0.409839374090183890, -0.409793765692416600, -0.409748156270164920, -0.409702545823542760, -0.409656934352663480, -0.409611321857642710, +-0.409565708338593570, -0.409520093795630200, -0.409474478228866570, -0.409428861638416740, -0.409383244024394800, -0.409337625386913870, -0.409292005726089760, -0.409246385042035590, +-0.409200763334865490, -0.409155140604693430, -0.409109516851633550, -0.409063892075799910, -0.409018266277306470, -0.408972639456266610, -0.408927011612795930, -0.408881382747007750, +-0.408835752859016130, -0.408790121948935100, -0.408744490016878740, -0.408698857062961160, -0.408653223087295680, -0.408607588089997920, -0.408561952071181180, -0.408516315030959590, +-0.408470676969447170, -0.408425037886758100, -0.408379397783006410, -0.408333756658306240, -0.408288114512770810, -0.408242471346515980, -0.408196827159654940, -0.408151181952301820, +-0.408105535724570760, -0.408059888476575870, -0.408014240208431240, -0.407968590920250230, -0.407922940612148510, -0.407877289284239500, -0.407831636936637210, -0.407785983569455830, +-0.407740329182809560, -0.407694673776812400, -0.407649017351578550, -0.407603359907221410, -0.407557701443856610, -0.407512041961597570, -0.407466381460558470, -0.407420719940853380, +-0.407375057402596500, -0.407329393845902000, -0.407283729270883190, -0.407238063677655860, -0.407192397066333370, -0.407146729437029840, -0.407101060789859530, -0.407055391124936610, +-0.407009720442375160, -0.406964048742289420, -0.406918376024793580, -0.406872702290000940, -0.406827027538027410, -0.406781351768986280, -0.406735674982991790, -0.406689997180158080, +-0.406644318360599390, -0.406598638524429900, -0.406552957671763030, -0.406507275802714560, -0.406461592917397920, -0.406415909015927280, -0.406370224098416890, -0.406324538164980880, +-0.406278851215733590, -0.406233163250789120, -0.406187474270260970, -0.406141784274264950, -0.406096093262914460, -0.406050401236323690, -0.406004708194606990, -0.405959014137878490, +-0.405913319066252440, -0.405867622979842300, -0.405821925878763870, -0.405776227763130660, -0.405730528633056920, -0.405684828488656830, -0.405639127330044650, -0.405593425157334650, +-0.405547721970641100, -0.405502017770077440, -0.405456312555759530, -0.405410606327800850, -0.405364899086315680, -0.405319190831418210, -0.405273481563222790, -0.405227771281843670, +-0.405182059987394320, -0.405136347679990630, -0.405090634359746020, -0.405044920026774890, -0.404999204681191440, -0.404953488323109960, -0.404907770952644740, -0.404862052569910150, +-0.404816333175019580, -0.404770612768089010, -0.404724891349231900, -0.404679168918562540, -0.404633445476195290, -0.404587721022244440, -0.404541995556824240, -0.404496269080048270, +-0.404450541592032420, -0.404404813092890230, -0.404359083582735980, -0.404313353061684090, -0.404267621529848740, -0.404221888987344400, -0.404176155434285310, -0.404130420870785820, +-0.404084685296959460, -0.404038948712922230, -0.403993211118787610, -0.403947472514669950, -0.403901732900683650, -0.403855992276942970, -0.403810250643562350, -0.403764508000655280, +-0.403718764348337760, -0.403673019686723310, -0.403627274015926300, -0.403581527336061120, -0.403535779647242130, -0.403490030949583690, -0.403444281243200140, -0.403398530528205120, +-0.403352778804714540, -0.403307026072842080, -0.403261272332701980, -0.403215517584408770, -0.403169761828076730, -0.403124005063820290, -0.403078247291753010, -0.403032488511990920, +-0.402986728724647640, -0.402940967929837520, -0.402895206127674990, -0.402849443318274440, -0.402803679501750280, -0.402757914678216920, -0.402712148847787940, -0.402666382010579470, +-0.402620614166704970, -0.402574845316278960, -0.402529075459415850, -0.402483304596230050, -0.402437532726835970, -0.402391759851347290, -0.402345985969879970, -0.402300211082547710, +-0.402254435189464910, -0.402208658290746040, -0.402162880386505490, -0.402117101476857750, -0.402071321561917270, -0.402025540641797690, -0.401979758716615070, -0.401933975786483040, +-0.401888191851516090, -0.401842406911828600, -0.401796620967535160, -0.401750834018750110, -0.401705046065587210, -0.401659257108162530, -0.401613467146589630, -0.401567676180983100, +-0.401521884211457400, -0.401476091238126940, -0.401430297261106290, -0.401384502280509920, -0.401338706296452240, -0.401292909309047040, -0.401247111318410340, -0.401201312324655830, +-0.401155512327898090, -0.401109711328251570, -0.401063909325830750, -0.401018106320750190, -0.400972302313123530, -0.400926497303066900, -0.400880691290694040, -0.400834884276119460, +-0.400789076259457700, -0.400743267240823210, -0.400697457220330570, -0.400651646198094290, -0.400605834174228070, -0.400560021148848090, -0.400514207122068030, -0.400468392094002480, +-0.400422576064765940, -0.400376759034472950, -0.400330941003238070, -0.400285121971175050, -0.400239301938400020, -0.400193480905026710, -0.400147658871169710, -0.400101835836943590, +-0.400056011802462860, -0.400010186767842110, -0.399964360733195860, -0.399918533698637950, -0.399872705664284460, -0.399826876630249240, -0.399781046596646820, -0.399735215563591820, +-0.399689383531198760, -0.399643550499582220, -0.399597716468856000, -0.399551881439136280, -0.399506045410536910, -0.399460208383172420, -0.399414370357157380, -0.399368531332606410, +-0.399322691309634100, -0.399276850288355130, -0.399231008268883140, -0.399185165251334520, -0.399139321235822910, -0.399093476222463050, -0.399047630211369460, -0.399001783202656830, +-0.398955935196439740, -0.398910086192831970, -0.398864236191949830, -0.398818385193907110, -0.398772533198818390, -0.398726680206798360, -0.398680826217961640, -0.398634971232422810, +-0.398589115250296610, -0.398543258271696730, -0.398497400296739580, -0.398451541325538890, -0.398405681358209420, -0.398359820394865670, -0.398313958435622400, -0.398268095480594220, +-0.398222231529895830, -0.398176366583641030, -0.398130500641946110, -0.398084633704924970, -0.398038765772692260, -0.397992896845362600, -0.397947026923050730, -0.397901156005871230, +-0.397855284093938890, -0.397809411187367510, -0.397763537286273450, -0.397717662390770500, -0.397671786500973400, -0.397625909616996840, -0.397580031738955510, -0.397534152866964140, +-0.397488273001136540, -0.397442392141589050, -0.397396510288435590, -0.397350627441790890, -0.397304743601769590, -0.397258858768486430, -0.397212972942056150, -0.397167086122593380, +-0.397121198310212140, -0.397075309505028730, -0.397029419707156990, -0.396983528916711740, -0.396937637133807640, -0.396891744358559450, -0.396845850591081910, -0.396799955831488920, +-0.396754060079896890, -0.396708163336419670, -0.396662265601172070, -0.396616366874268770, -0.396570467155824560, -0.396524566445954240, -0.396478664744772450, -0.396432762052393190, +-0.396386858368932840, -0.396340953694505340, -0.396295048029225490, -0.396249141373207990, -0.396203233726567630, -0.396157325089419200, -0.396111415461876670, -0.396065504844056340, +-0.396019593236072330, -0.395973680638039280, -0.395927767050072040, -0.395881852472285410, -0.395835936904794130, -0.395790020347713050, -0.395744102801156020, -0.395698184265239620, +-0.395652264740077700, -0.395606344225785170, -0.395560422722476770, -0.395514500230267300, -0.395468576749271610, -0.395422652279604440, -0.395376726821379810, -0.395330800374714240, +-0.395284872939721590, -0.395238944516516810, -0.395193015105214650, -0.395147084705929960, -0.395101153318777600, -0.395055220943872300, -0.395009287581328140, -0.394963353231261580, +-0.394917417893786650, -0.394871481569018190, -0.394825544257071000, -0.394779605958059940, -0.394733666672099910, -0.394687726399304880, -0.394641785139791310, -0.394595842893673330, +-0.394549899661065680, -0.394503955442083330, -0.394458010236841130, -0.394412064045453810, -0.394366116868036410, -0.394320168704702880, -0.394274219555569740, -0.394228269420751010, +-0.394182318300361660, -0.394136366194516470, -0.394090413103330430, -0.394044459026918310, -0.393998503965394210, -0.393952547918874680, -0.393906590887473820, -0.393860632871306460, +-0.393814673870487520, -0.393768713885131850, -0.393722752915354470, -0.393676790961270170, -0.393630828022993040, -0.393584864100639700, -0.393538899194324220, -0.393492933304161460, +-0.393446966430266390, -0.393400998572753850, -0.393355029731738860, -0.393309059907335500, -0.393263089099660230, -0.393217117308827300, -0.393171144534951560, -0.393125170778147960, +-0.393079196038531480, -0.393033220316216960, -0.392987243611319370, -0.392941265923952900, -0.392895287254234060, -0.392849307602276990, -0.392803326968196640, -0.392757345352107990, +-0.392711362754125990, -0.392665379174365610, -0.392619394612941710, -0.392573409069968570, -0.392527422545562670, -0.392481435039838290, -0.392435446552910240, -0.392389457084893640, +-0.392343466635903360, -0.392297475206054400, -0.392251482795461790, -0.392205489404239660, -0.392159495032504580, -0.392113499680370790, -0.392067503347953260, -0.392021506035366950, +-0.391975507742726880, -0.391929508470148070, -0.391883508217744590, -0.391837506985633240, -0.391791504773928100, -0.391745501582744180, -0.391699497412196560, -0.391653492262400150, +-0.391607486133470020, -0.391561479025521130, -0.391515470938667790, -0.391469461873026560, -0.391423451828711690, -0.391377440805838190, -0.391331428804521100, -0.391285415824875420, +-0.391239401867016170, -0.391193386931057650, -0.391147371017116440, -0.391101354125306830, -0.391055336255743850, -0.391009317408542500, -0.390963297583817810, -0.390917276781684970, +-0.390871255002258890, -0.390825232245653850, -0.390779208511986550, -0.390733183801371290, -0.390687158113922960, -0.390641131449756820, -0.390595103808987820, -0.390549075191731100, +-0.390503045598100840, -0.390457015028213780, -0.390410983482184170, -0.390364950960127130, -0.390318917462157690, -0.390272882988390970, -0.390226847538942050, -0.390180811113926000, +-0.390134773713457120, -0.390088735337652090, -0.390042695986625220, -0.389996655660491690, -0.389950614359366450, -0.389904572083364650, -0.389858528832601470, -0.389812484607191980, +-0.389766439407250420, -0.389720393232893590, -0.389674346084235790, -0.389628297961392140, -0.389582248864477730, -0.389536198793607680, -0.389490147748897120, -0.389444095730461240, +-0.389398042738414270, -0.389351988772873030, -0.389305933833951790, -0.389259877921765750, -0.389213821036429990, -0.389167763178059680, -0.389121704346769960, -0.389075644542675180, +-0.389029583765892140, -0.388983522016535080, -0.388937459294719230, -0.388891395600559740, -0.388845330934171730, -0.388799265295670440, -0.388753198685170940, -0.388707131102787650, +-0.388661062548637360, -0.388614993022834420, -0.388568922525493960, -0.388522851056731230, -0.388476778616661360, -0.388430705205399570, -0.388384630823060180, -0.388338555469760040, +-0.388292479145613490, -0.388246401850735720, -0.388200323585241980, -0.388154244349247450, -0.388108164142867250, -0.388062082966216690, -0.388016000819410070, -0.387969917702564280, +-0.387923833615793750, -0.387877748559213590, -0.387831662532939050, -0.387785575537085310, -0.387739487571767680, -0.387693398637100560, -0.387647308733200690, -0.387601217860182590, +-0.387555126018161440, -0.387509033207252440, -0.387462939427570870, -0.387416844679231990, -0.387370748962350960, -0.387324652277042270, -0.387278554623422750, -0.387232456001606830, +-0.387186356411709790, -0.387140255853846870, -0.387094154328133270, -0.387048051834684330, -0.387001948373615230, -0.386955843945040460, -0.386909738549076900, -0.386863632185838970, +-0.386817524855441960, -0.386771416558001120, -0.386725307293631800, -0.386679197062449190, -0.386633085864568570, -0.386586973700104420, -0.386540860569173640, -0.386494746471890750, +-0.386448631408370990, -0.386402515378729610, -0.386356398383082000, -0.386310280421543360, -0.386264161494228150, -0.386218041601253450, -0.386171920742733600, -0.386125798918783960, +-0.386079676129519770, -0.386033552375056430, -0.385987427655509250, -0.385941301970993470, -0.385895175321623600, -0.385849047707516600, -0.385802919128787000, -0.385756789585550100, +-0.385710659077921240, -0.385664527606015720, -0.385618395169948890, -0.385572261769835280, -0.385526127405791790, -0.385479992077932990, -0.385433855786374180, -0.385387718531230770, +-0.385341580312618060, -0.385295441130651390, -0.385249300985446130, -0.385203159877116840, -0.385157017805780380, -0.385110874771551430, -0.385064730774545280, -0.385018585814877300, +-0.384972439892662890, -0.384926293008017340, -0.384880145161055230, -0.384833996351893640, -0.384787846580647020, -0.384741695847430730, -0.384695544152360290, -0.384649391495550940, +-0.384603237877118140, -0.384557083297177190, -0.384510927755842780, -0.384464771253231810, -0.384418613789458960, -0.384372455364639540, -0.384326295978889010, -0.384280135632322720, +-0.384233974325056130, -0.384187812057204540, -0.384141648828882630, -0.384095484640207430, -0.384049319491293510, -0.384003153382256320, -0.383956986313211230, -0.383910818284273650, +-0.383864649295559020, -0.383818479347182830, -0.383772308439259580, -0.383726136571906350, -0.383679963745237830, -0.383633789959369360, -0.383587615214416420, -0.383541439510494460, +-0.383495262847718900, -0.383449085226204360, -0.383402906646067910, -0.383356727107424240, -0.383310546610388710, -0.383264365155076840, -0.383218182741604020, -0.383171999370085780, +-0.383125815040637530, -0.383079629753373900, -0.383033443508412060, -0.382987256305866550, -0.382941068145852940, -0.382894879028486680, -0.382848688953883190, -0.382802497922157980, +-0.382756305933425740, -0.382710112987803500, -0.382663919085406030, -0.382617724226348770, -0.382571528410747150, -0.382525331638716710, -0.382479133910372970, -0.382432935225831380, +-0.382386735585206640, -0.382340534988615870, -0.382294333436173750, -0.382248130927995810, -0.382201927464197570, -0.382155723044894480, -0.382109517670202130, -0.382063311340235130, +-0.382017104055110630, -0.381970895814943420, -0.381924686619848960, -0.381878476469942830, -0.381832265365340430, -0.381786053306157390, -0.381739840292509240, -0.381693626324510650, +-0.381647411402278810, -0.381601195525928470, -0.381554978695575140, -0.381508760911334340, -0.381462542173321650, -0.381416322481652580, -0.381370101836441930, -0.381323880237806830, +-0.381277657685862030, -0.381231434180723080, -0.381185209722505520, -0.381138984311324980, -0.381092757947296970, -0.381046530630537010, -0.381000302361160780, -0.380954073139282980, +-0.380907842965020780, -0.380861611838488990, -0.380815379759803170, -0.380769146729078910, -0.380722912746431770, -0.380676677811977340, -0.380630441925830400, -0.380584205088108200, +-0.380537967298925470, -0.380491728558397860, -0.380445488866640870, -0.380399248223770190, -0.380353006629901350, -0.380306764085150020, -0.380260520589631000, -0.380214276143461430, +-0.380168030746756200, -0.380121784399630900, -0.380075537102201160, -0.380029288854582540, -0.379983039656890730, -0.379936789509240480, -0.379890538411749080, -0.379844286364531320, +-0.379798033367702850, -0.379751779421379330, -0.379705524525676300, -0.379659268680709480, -0.379613011886594520, -0.379566754143446210, -0.379520495451381780, -0.379474235810516200, +-0.379427975220964940, -0.379381713682843790, -0.379335451196268380, -0.379289187761354290, -0.379242923378216410, -0.379196658046972060, -0.379150391767736070, -0.379104124540624140, +-0.379057856365751840, -0.379011587243234920, -0.378965317173189040, -0.378919046155729860, -0.378872774190972210, -0.378826501279033500, -0.378780227420028480, -0.378733952614072940, +-0.378687676861282520, -0.378641400161772890, -0.378595122515659740, -0.378548843923057990, -0.378502564384084970, -0.378456283898855490, -0.378410002467485350, -0.378363720090090170, +-0.378317436766785700, -0.378271152497687610, -0.378224867282911660, -0.378178581122573580, -0.378132294016788160, -0.378086005965672880, -0.378039716969342580, -0.377993427027912940, +-0.377947136141499770, -0.377900844310218750, -0.377854551534185680, -0.377808257813515350, -0.377761963148325160, -0.377715667538730150, -0.377669370984845930, -0.377623073486788250, +-0.377576775044672910, -0.377530475658615640, -0.377484175328732190, -0.377437874055137460, -0.377391571837948860, -0.377345268677281350, -0.377298964573250680, -0.377252659525972590, +-0.377206353535562870, -0.377160046602137200, -0.377113738725810670, -0.377067429906700560, -0.377021120144921900, -0.376974809440590420, -0.376928497793821930, -0.376882185204732210, +-0.376835871673437020, -0.376789557200052140, -0.376743241784692540, -0.376696925427475680, -0.376650608128516470, -0.376604289887930770, -0.376557970705834360, -0.376511650582342980, +-0.376465329517572500, -0.376419007511637870, -0.376372684564656560, -0.376326360676743520, -0.376280035848014560, -0.376233710078585580, -0.376187383368572270, -0.376141055718090480, +-0.376094727127256110, -0.376048397596184080, -0.376002067124991850, -0.375955735713794480, -0.375909403362707730, -0.375863070071847550, -0.375816735841329630, -0.375770400671269880, +-0.375724064561783310, -0.375677727512987390, -0.375631389524997190, -0.375585050597928520, -0.375538710731897150, -0.375492369927019070, -0.375446028183410050, -0.375399685501185960, +-0.375353341880462650, -0.375306997321355200, -0.375260651823981000, -0.375214305388455240, -0.375167958014893670, -0.375121609703412240, -0.375075260454126760, -0.375028910267153180, +-0.374982559142606480, -0.374936207080604160, -0.374889854081261350, -0.374843500144693920, -0.374797145271017710, -0.374750789460348680, -0.374704432712802630, -0.374658075028495520, +-0.374611716407542430, -0.374565356850060820, -0.374518996356165810, -0.374472634925973380, -0.374426272559599320, -0.374379909257159580, -0.374333545018770030, -0.374287179844545850, +-0.374240813734604550, -0.374194446689061160, -0.374148078708031680, -0.374101709791632040, -0.374055339939978080, -0.374008969153185770, -0.373962597431371060, -0.373916224774649030, +-0.373869851183137260, -0.373823476656950870, -0.373777101196205770, -0.373730724801017930, -0.373684347471503250, -0.373637969207777750, -0.373591590009956450, -0.373545209878157040, +-0.373498828812494580, -0.373452446813085090, -0.373406063880044440, -0.373359680013488630, -0.373313295213533620, -0.373266909480295390, -0.373220522813889070, -0.373174135214432270, +-0.373127746682040130, -0.373081357216828610, -0.373034966818913680, -0.372988575488411360, -0.372942183225437600, -0.372895790030107530, -0.372849395902538850, -0.372803000842846680, +-0.372756604851146980, -0.372710207927555770, -0.372663810072189020, -0.372617411285162790, -0.372571011566593000, -0.372524610916595720, -0.372478209335286080, -0.372431806822781710, +-0.372385403379197840, -0.372338999004650450, -0.372292593699255600, -0.372246187463129210, -0.372199780296387390, -0.372153372199145290, -0.372106963171520590, -0.372060553213628460, +-0.372014142325584940, -0.371967730507506090, -0.371921317759507930, -0.371874904081706430, -0.371828489474217700, -0.371782073937156900, -0.371735657470641740, -0.371689240074787490, +-0.371642821749710080, -0.371596402495525670, -0.371549982312350200, -0.371503561200299810, -0.371457139159489690, -0.371410716190037520, -0.371364292292058580, -0.371317867465668920, +-0.371271441710984530, -0.371225015028121610, -0.371178587417196120, -0.371132158878324180, -0.371085729411620990, -0.371039299017204340, -0.370992867695189410, -0.370946435445692280, +-0.370900002268829130, -0.370853568164715930, -0.370807133133468860, -0.370760697175203100, -0.370714260290036400, -0.370667822478084050, -0.370621383739462180, -0.370574944074286820, +-0.370528503482674130, -0.370482061964740150, -0.370435619520601060, -0.370389176150372030, -0.370342731854170940, -0.370296286632113000, -0.370249840484314360, -0.370203393410891090, +-0.370156945411959370, -0.370110496487635280, -0.370064046638034110, -0.370017595863273650, -0.369971144163469210, -0.369924691538736860, -0.369878237989192840, -0.369831783514953220, +-0.369785328116134130, -0.369738871792851700, -0.369692414545221280, -0.369645956373360670, -0.369599497277385170, -0.369553037257410900, -0.369506576313554050, -0.369460114445930740, +-0.369413651654657170, -0.369367187939849460, -0.369320723301622970, -0.369274257740095480, -0.369227791255382350, -0.369181323847599720, -0.369134855516863810, -0.369088386263290770, +-0.369041916086996770, -0.368995444988097940, -0.368948972966709700, -0.368902500022949830, -0.368856026156933750, -0.368809551368777580, -0.368763075658597510, -0.368716599026509770, +-0.368670121472630560, -0.368623642997075170, -0.368577163599961510, -0.368530683281404980, -0.368484202041521710, -0.368437719880427950, -0.368391236798239870, -0.368344752795073730, +-0.368298267871045690, -0.368251782026271120, -0.368205295260867980, -0.368158807574951560, -0.368112318968638160, -0.368065829442043910, -0.368019338995285160, -0.367972847628477980, +-0.367926355341737900, -0.367879862135182760, -0.367833368008927960, -0.367786872963089760, -0.367740376997784340, -0.367693880113127980, -0.367647382309236940, -0.367600883586227440, +-0.367554383944214910, -0.367507883383317250, -0.367461381903649850, -0.367414879505329030, -0.367368376188471010, -0.367321871953192050, -0.367275366799608370, -0.367228860727835500, +-0.367182353737991240, -0.367135845830191150, -0.367089337004551430, -0.367042827261188360, -0.366996316600218250, -0.366949805021757340, -0.366903292525921910, -0.366856779112827380, +-0.366810264782591770, -0.366763749535330530, -0.366717233371159860, -0.366670716290196150, -0.366624198292555600, -0.366577679378354620, -0.366531159547709370, -0.366484638800735450, +-0.366438117137550760, -0.366391594558270750, -0.366345071063011730, -0.366298546651890100, -0.366252021325022050, -0.366205495082523980, -0.366158967924512140, -0.366112439851102090, +-0.366065910862411750, -0.366019380958556630, -0.365972850139653030, -0.365926318405817350, -0.365879785757165840, -0.365833252193814910, -0.365786717715880010, -0.365740182323479100, +-0.365693646016727770, -0.365647108795742300, -0.365600570660639110, -0.365554031611534440, -0.365507491648544740, -0.365460950771786250, -0.365414408981374620, -0.365367866277427730, +-0.365321322660061230, -0.365274778129391410, -0.365228232685534620, -0.365181686328607260, -0.365135139058725690, -0.365088590876005430, -0.365042041780564540, -0.364995491772518550, +-0.364948940851983820, -0.364902389019076730, -0.364855836273913710, -0.364809282616611050, -0.364762728047285210, -0.364716172566051710, -0.364669616173028620, -0.364623058868331460, +-0.364576500652076640, -0.364529941524380620, -0.364483381485359750, -0.364436820535130380, -0.364390258673808140, -0.364343695901511110, -0.364297132218354860, -0.364250567624455730, +-0.364204002119930200, -0.364157435704894670, -0.364110868379465550, -0.364064300143759230, -0.364017730997891360, -0.363971160941979950, -0.363924589976140690, -0.363878018100489920, +-0.363831445315144160, -0.363784871620219720, -0.363738297015833160, -0.363691721502100830, -0.363645145079138370, -0.363598567747063840, -0.363551989505992930, -0.363505410356042060, +-0.363458830297327620, -0.363412249329966130, -0.363365667454074000, -0.363319084669767760, -0.363272500977162900, -0.363225916376377690, -0.363179330867527630, -0.363132744450729240, +-0.363086157126099040, -0.363039568893753440, -0.362992979753808900, -0.362946389706381050, -0.362899798751588120, -0.362853206889545640, -0.362806614120370190, -0.362760020444178160, +-0.362713425861086070, -0.362666830371210450, -0.362620233974667750, -0.362573636671573660, -0.362527038462046260, -0.362480439346201280, -0.362433839324155180, -0.362387238396024550, +-0.362340636561925780, -0.362294033821975390, -0.362247430176289130, -0.362200825624985120, -0.362154220168179050, -0.362107613805987380, -0.362061006538526740, -0.362014398365913540, +-0.361967789288264400, -0.361921179305695730, -0.361874568418323270, -0.361827956626265270, -0.361781343929637340, -0.361734730328556080, -0.361688115823137980, -0.361641500413499630, +-0.361594884099757490, -0.361548266882027290, -0.361501648760427290, -0.361455029735073150, -0.361408409806081410, -0.361361788973568690, -0.361315167237651500, -0.361268544598446370, +-0.361221921056069870, -0.361175296610637740, -0.361128671262268220, -0.361082045011076990, -0.361035417857180680, -0.360988789800695820, -0.360942160841738970, -0.360895530980426760, +-0.360848900216875660, -0.360802268551201510, -0.360755635983522560, -0.360709002513954440, -0.360662368142613880, -0.360615732869617340, -0.360569096695081530, -0.360522459619122940, +-0.360475821641858210, -0.360429182763403130, -0.360382542983875900, -0.360335902303392300, -0.360289260722068900, -0.360242618240022410, -0.360195974857369370, -0.360149330574226380, +-0.360102685390709220, -0.360056039306936190, -0.360009392323023090, -0.359962744439086490, -0.359916095655243020, -0.359869445971609300, -0.359822795388301970, -0.359776143905437720, +-0.359729491523132220, -0.359682838241503820, -0.359636184060668330, -0.359589528980742370, -0.359542873001842570, -0.359496216124085610, -0.359449558347588130, -0.359402899672465910, +-0.359356240098837270, -0.359309579626818030, -0.359262918256524840, -0.359216255988074380, -0.359169592821583230, -0.359122928757168110, -0.359076263794945730, -0.359029597935031810, +-0.358982931177544710, -0.358936263522600270, -0.358889594970315250, -0.358842925520806160, -0.358796255174189780, -0.358749583930582820, -0.358702911790101000, -0.358656238752862730, +-0.358609564818983930, -0.358562889988581160, -0.358516214261771160, -0.358469537638670680, -0.358422860119396280, -0.358376181704064820, -0.358329502392791990, -0.358282822185696290, +-0.358236141082893530, -0.358189459084500390, -0.358142776190633620, -0.358096092401409880, -0.358049407716945930, -0.358002722137358510, -0.357956035662763410, -0.357909348293279030, +-0.357862660029021280, -0.357815970870106910, -0.357769280816652600, -0.357722589868775090, -0.357675898026591110, -0.357629205290217410, -0.357582511659769840, -0.357535817135366810, +-0.357489121717124270, -0.357442425405158910, -0.357395728199587480, -0.357349030100526710, -0.357302331108093400, -0.357255631222403390, -0.357208930443575160, -0.357162228771724600, +-0.357115526206968510, -0.357068822749423530, -0.357022118399206560, -0.356975413156434270, -0.356928707021223420, -0.356881999993690020, -0.356835292073952430, -0.356788583262126590, +-0.356741873558329310, -0.356695162962677340, -0.356648451475287450, -0.356601739096276460, -0.356555025825760260, -0.356508311663857380, -0.356461596610683660, -0.356414880666355960, +-0.356368163830991120, -0.356321446104705790, -0.356274727487616900, -0.356228007979841170, -0.356181287581494590, -0.356134566292695630, -0.356087844113560260, -0.356041121044205270, +-0.355994397084747450, -0.355947672235303660, -0.355900946495990690, -0.355854219866924500, -0.355807492348223620, -0.355760763940004000, -0.355714034642382490, -0.355667304455475900, +-0.355620573379401010, -0.355573841414274730, -0.355527108560213800, -0.355480374817334300, -0.355433640185754680, -0.355386904665590970, -0.355340168256959970, -0.355293430959978560, +-0.355246692774763620, -0.355199953701431930, -0.355153213740100340, -0.355106472890884870, -0.355059731153904050, -0.355012988529273930, -0.354966245017111330, -0.354919500617533080, +-0.354872755330656100, -0.354826009156597230, -0.354779262095473390, -0.354732514147400480, -0.354685765312497180, -0.354639015590879460, -0.354592264982664160, -0.354545513487968260, +-0.354498761106908530, -0.354452007839601900, -0.354405253686164430, -0.354358498646714650, -0.354311742721368620, -0.354264985910243250, -0.354218228213455390, -0.354171469631122000, +-0.354124710163359890, -0.354077949810286060, -0.354031188572016490, -0.353984426448669790, -0.353937663440361980, -0.353890899547210090, -0.353844134769330910, -0.353797369106841340, +-0.353750602559858410, -0.353703835128498120, -0.353657066812879120, -0.353610297613117410, -0.353563527529329960, -0.353516756561633730, -0.353469984710145570, -0.353423211974982440, +-0.353376438356261310, -0.353329663854098200, -0.353282888468611830, -0.353236112199918180, -0.353189335048134270, -0.353142557013377050, -0.353095778095763420, -0.353048998295410370, +-0.353002217612433940, -0.352955436046952840, -0.352908653599083130, -0.352861870268941780, -0.352815086056645740, -0.352768300962312040, -0.352721514986057530, -0.352674728127999270, +-0.352627940388253350, -0.352581151766938440, -0.352534362264170560, -0.352487571880066850, -0.352440780614744210, -0.352393988468319600, -0.352347195440910030, -0.352300401532631650, +-0.352253606743603060, -0.352206811073940470, -0.352160014523760830, -0.352113217093181220, -0.352066418782318540, -0.352019619591289750, -0.351972819520211980, -0.351926018569202140, +-0.351879216738376410, -0.351832414027853540, -0.351785610437749530, -0.351738805968181580, -0.351692000619266590, -0.351645194391121570, -0.351598387283863560, -0.351551579297608770, +-0.351504770432475850, -0.351457960688581040, -0.351411150066041340, -0.351364338564973730, -0.351317526185495280, -0.351270712927722990, -0.351223898791773960, -0.351177083777764300, +-0.351130267885812810, -0.351083451116035620, -0.351036633468549850, -0.350989814943472420, -0.350942995540920510, -0.350896175261011130, -0.350849354103860420, -0.350802532069587170, +-0.350755709158307620, -0.350708885370138780, -0.350662060705197730, -0.350615235163601550, -0.350568408745467240, -0.350521581450911950, -0.350474753280051840, -0.350427924233005670, +-0.350381094309889730, -0.350334263510821030, -0.350287431835916710, -0.350240599285293770, -0.350193765859069310, -0.350146931557359650, -0.350100096380283440, -0.350053260327957030, +-0.350006423400497480, -0.349959585598021870, -0.349912746920647280, -0.349865907368490820, -0.349819066941669590, -0.349772225640299860, -0.349725383464500440, -0.349678540414387510, +-0.349631696490078250, -0.349584851691689740, -0.349538006019339100, -0.349491159473143460, -0.349444312053219070, -0.349397463759684780, -0.349350614592656760, -0.349303764552252260, +-0.349256913638588300, -0.349210061851782110, -0.349163209191950710, -0.349116355659211340, -0.349069501253681020, -0.349022645975476160, -0.348975789824715550, -0.348928932801515380, +-0.348882074905992930, -0.348835216138265290, -0.348788356498449640, -0.348741495986663040, -0.348694634603021910, -0.348647772347644990, -0.348600909220648680, -0.348554045222150060, +-0.348507180352266350, -0.348460314611114650, -0.348413447998812190, -0.348366580515476140, -0.348319712161222760, -0.348272842936171000, -0.348225972840437050, -0.348179101874138200, +-0.348132230037391630, -0.348085357330314430, -0.348038483753023880, -0.347991609305636270, -0.347944733988270470, -0.347897857801042820, -0.347850980744070560, -0.347804102817470820, +-0.347757224021360830, -0.347710344355857790, -0.347663463821078880, -0.347616582417140500, -0.347569700144161440, -0.347522817002258180, -0.347475932991547890, -0.347429048112147700, +-0.347382162364174960, -0.347335275747746750, -0.347288388262979590, -0.347241499909992260, -0.347194610688901170, -0.347147720599823570, -0.347100829642876640, -0.347053937818177670, +-0.347007045125843790, -0.346960151565992360, -0.346913257138739720, -0.346866361844204770, -0.346819465682503880, -0.346772568653754390, -0.346725670758073420, -0.346678771995578280, +-0.346631872366386210, -0.346584971870613660, -0.346538070508379480, -0.346491168279800140, -0.346444265184992830, -0.346397361224074940, -0.346350456397163610, -0.346303550704376130, +-0.346256644145829800, -0.346209736721641790, -0.346162828431928690, -0.346115919276809290, -0.346069009256400110, -0.346022098370818430, -0.345975186620181510, -0.345928274004606570, +-0.345881360524210980, -0.345834446179111190, -0.345787530969426050, -0.345740614895272140, -0.345693697956766690, -0.345646780154026940, -0.345599861487170260, -0.345552941956313970, +-0.345506021561575280, -0.345459100303070750, -0.345412178180919240, -0.345365255195237310, -0.345318331346142260, -0.345271406633751390, -0.345224481058181990, -0.345177554619551350, +-0.345130627317976000, -0.345083699153574950, -0.345036770126464660, -0.344989840236762440, -0.344942909484585560, -0.344895977870051500, -0.344849045393277430, -0.344802112054380770, +-0.344755177853477980, -0.344708242790688070, -0.344661306866127560, -0.344614370079913800, -0.344567432432164140, -0.344520493922995830, -0.344473554552526320, -0.344426614320872130, +-0.344379673228152160, -0.344332731274483050, -0.344285788459982140, -0.344238844784766740, -0.344191900248954190, -0.344144954852661940, -0.344098008596007250, -0.344051061479106750, +-0.344004113502079430, -0.343957164665041780, -0.343910214968111250, -0.343863264411405190, -0.343816312995041010, -0.343769360719136000, -0.343722407583806730, -0.343675453589172290, +-0.343628498735349230, -0.343581543022454920, -0.343534586450606750, -0.343487629019922140, -0.343440670730518430, -0.343393711582513030, -0.343346751576022510, -0.343299790711166010, +-0.343252828988059980, -0.343205866406821880, -0.343158902967569120, -0.343111938670419110, -0.343064973515489260, -0.343018007502896960, -0.342971040632758790, -0.342924072905193890, +-0.342877104320318820, -0.342830134878250980, -0.342783164579107790, -0.342736193423006650, -0.342689221410065080, -0.342642248540400430, -0.342595274814129320, -0.342548300231370890, +-0.342501324792241710, -0.342454348496859180, -0.342407371345340830, -0.342360393337803990, -0.342313414474366200, -0.342266434755144010, -0.342219454180256620, -0.342172472749820540, +-0.342125490463953350, -0.342078507322772400, -0.342031523326395140, -0.341984538474939090, -0.341937552768521720, -0.341890566207259660, -0.341843578791271970, -0.341796590520675350, +-0.341749601395587240, -0.341702611416125120, -0.341655620582406510, -0.341608628894548790, -0.341561636352668730, -0.341514642956885380, -0.341467648707315440, -0.341420653604076360, +-0.341373657647285670, -0.341326660837060760, -0.341279663173519270, -0.341232664656778590, -0.341185665286955490, -0.341138665064168960, -0.341091663988535800, -0.341044662060173530, +-0.340997659279199560, -0.340950655645731460, -0.340903651159886690, -0.340856645821781990, -0.340809639631536490, -0.340762632589266870, -0.340715624695090700, -0.340668615949125450, +-0.340621606351488690, -0.340574595902297880, -0.340527584601670650, -0.340480572449723570, -0.340433559446575880, -0.340386545592344330, -0.340339530887146360, -0.340292515331099610, +-0.340245498924321540, -0.340198481666929790, -0.340151463559041740, -0.340104444600774270, -0.340057424792246490, -0.340010404133575140, -0.339963382624877800, -0.339916360266272030, +-0.339869337057875310, -0.339822312999805250, -0.339775288092179440, -0.339728262335114550, -0.339681235728729880, -0.339634208273142060, -0.339587179968468770, -0.339540150814827520, +-0.339493120812335900, -0.339446089961111420, -0.339399058261270930, -0.339352025712933660, -0.339304992316216250, -0.339257958071236430, -0.339210922978111670, -0.339163887036959600, +-0.339116850247897840, -0.339069812611043910, -0.339022774126514660, -0.338975734794429330, -0.338928694614904600, -0.338881653588058160, -0.338834611714007580, -0.338787568992870490, +-0.338740525424764460, -0.338693481009806290, -0.338646435748115260, -0.338599389639808120, -0.338552342685002510, -0.338505294883816090, -0.338458246236366390, -0.338411196742771040, +-0.338364146403147770, -0.338317095217613270, -0.338270043186286840, -0.338222990309285320, -0.338175936586726340, -0.338128882018727480, -0.338081826605406480, -0.338034770346880840, +-0.337987713243267480, -0.337940655294685700, -0.337893596501252220, -0.337846536863084800, -0.337799476380301000, -0.337752415053018560, -0.337705352881355060, -0.337658289865428120, +-0.337611226005354700, -0.337564161301254000, -0.337517095753242900, -0.337470029361439110, -0.337422962125960180, -0.337375894046923920, -0.337328825124447840, -0.337281755358649740, +-0.337234684749646460, -0.337187613297557250, -0.337140541002499020, -0.337093467864589440, -0.337046393883946190, -0.336999319060686920, -0.336952243394929410, -0.336905166886791230, +-0.336858089536389350, -0.336811011343843060, -0.336763932309269260, -0.336716852432785600, -0.336669771714509850, -0.336622690154559650, -0.336575607753052670, -0.336528524510105900, +-0.336481440425838660, -0.336434355500367770, -0.336387269733811060, -0.336340183126286110, -0.336293095677910710, -0.336246007388802610, -0.336198918259079490, -0.336151828288858200, +-0.336104737478258200, -0.336057645827396330, -0.336010553336390410, -0.335963460005358040, -0.335916365834417030, -0.335869270823685120, -0.335822174973279210, -0.335775078283318710, +-0.335727980753920460, -0.335680882385202270, -0.335633783177281930, -0.335586683130277060, -0.335539582244305520, -0.335492480519485050, -0.335445377955932490, -0.335398274553767360, +-0.335351170313106520, -0.335304065234067750, -0.335256959316768850, -0.335209852561327510, -0.335162744967861580, -0.335115636536487960, -0.335068527267326060, -0.335021417160492830, +-0.334974306216106080, -0.334927194434283540, -0.334880081815143000, -0.334832968358802330, -0.334785854065379140, -0.334738738934990570, -0.334691622967755950, -0.334644506163792270, +-0.334597388523217300, -0.334550270046148900, -0.334503150732704810, -0.334456030583002830, -0.334408909597160800, -0.334361787775295630, -0.334314665117526890, -0.334267541623971430, +-0.334220417294747110, -0.334173292129971770, -0.334126166129763200, -0.334079039294239210, -0.334031911623517640, -0.333984783117715400, -0.333937653776952110, -0.333890523601344640, +-0.333843392591010870, -0.333796260746068610, -0.333749128066635700, -0.333701994552830010, -0.333654860204768420, -0.333607725022570580, -0.333560589006353440, -0.333513452156234790, +-0.333466314472332490, -0.333419175954764450, -0.333372036603648450, -0.333324896419102350, -0.333277755401243210, -0.333230613550190460, -0.333183470866061200, -0.333136327348973300, +-0.333089182999044550, -0.333042037816392860, -0.332994891801136060, -0.332947744953391190, -0.332900597273277810, -0.332853448760912880, -0.332806299416414380, -0.332759149239900130, +-0.332711998231488000, -0.332664846391295900, -0.332617693719441660, -0.332570540216042380, -0.332523385881217550, -0.332476230715084250, -0.332429074717760400, -0.332381917889363830, +-0.332334760230012460, -0.332287601739824250, -0.332240442418916150, -0.332193282267407800, -0.332146121285416260, -0.332098959473059400, -0.332051796830455100, -0.332004633357721350, +-0.331957469054976030, -0.331910303922337000, -0.331863137959921390, -0.331815971167848780, -0.331768803546236220, -0.331721635095201690, -0.331674465814863040, -0.331627295705338280, +-0.331580124766745200, -0.331532952999201880, -0.331485780402825280, -0.331438606977735080, -0.331391432724048420, -0.331344257641883130, -0.331297081731357190, -0.331249904992588550, +-0.331202727425695180, -0.331155549030794920, -0.331108369808005010, -0.331061189757445030, -0.331014008879232050, -0.330966827173484020, -0.330919644640318920, -0.330872461279854760, +-0.330825277092209440, -0.330778092077500030, -0.330730906235846280, -0.330683719567365250, -0.330636532072174920, -0.330589343750393280, -0.330542154602138260, -0.330494964627527870, +-0.330447773826680060, -0.330400582199711970, -0.330353389746743280, -0.330306196467891060, -0.330259002363273440, -0.330211807433008260, -0.330164611677213560, -0.330117415096007340, +-0.330070217689506730, -0.330023019457831410, -0.329975820401098570, -0.329928620519426170, -0.329881419812932230, -0.329834218281734700, -0.329787015925951670, -0.329739812745701080, +-0.329692608741100120, -0.329645403912268490, -0.329598198259323350, -0.329550991782382670, -0.329503784481564590, -0.329456576356987000, -0.329409367408767970, -0.329362157637024640, +-0.329314947041876800, -0.329267735623441640, -0.329220523381837050, -0.329173310317181220, -0.329126096429592120, -0.329078881719187700, -0.329031666186086150, -0.328984449830404590, +-0.328937232652262710, -0.328890014651777750, -0.328842795829067780, -0.328795576184250820, -0.328748355717444870, -0.328701134428768080, -0.328653912318338460, -0.328606689386273190, +-0.328559465632692060, -0.328512241057712260, -0.328465015661451860, -0.328417789444028880, -0.328370562405561510, -0.328323334546167630, -0.328276105865965510, -0.328228876365072250, +-0.328181646043607610, -0.328134414901688880, -0.328087182939434120, -0.328039950156961410, -0.327992716554388770, -0.327945482131834390, -0.327898246889415430, -0.327851010827251770, +-0.327803773945460510, -0.327756536244159850, -0.327709297723467800, -0.327662058383502540, -0.327614818224382150, -0.327567577246224710, -0.327520335449147440, -0.327473092833270200, +-0.327425849398710280, -0.327378605145585640, -0.327331360074014590, -0.327284114184115070, -0.327236867476005280, -0.327189619949802500, -0.327142371605626480, -0.327095122443594570, +-0.327047872463824830, -0.327000621666435400, -0.326953370051544400, -0.326906117619270020, -0.326858864369730330, -0.326811610303042620, -0.326764355419326750, -0.326717099718700000, +-0.326669843201280450, -0.326622585867186340, -0.326575327716535750, -0.326528068749446840, -0.326480808966036930, -0.326433548366425800, -0.326386286950730850, -0.326339024719070170, +-0.326291761671561880, -0.326244497808324260, -0.326197233129475350, -0.326149967635133380, -0.326102701325415630, -0.326055434200441970, -0.326008166260329750, -0.325960897505197080, +-0.325913627935162150, -0.325866357550343210, -0.325819086350858320, -0.325771814336824890, -0.325724541508362770, -0.325677267865589310, -0.325629993408622700, -0.325582718137581050, +-0.325535442052582670, -0.325488165153745620, -0.325440887441188210, -0.325393608915028550, -0.325346329575384060, -0.325299049422374530, -0.325251768456117420, -0.325204486676730850, +-0.325157204084333130, -0.325109920679042370, -0.325062636460976770, -0.325015351430253780, -0.324968065586993260, -0.324920778931312550, -0.324873491463329890, -0.324826203183163520, +-0.324778914090931630, -0.324731624186752440, -0.324684333470744210, -0.324637041943024280, -0.324589749603712620, -0.324542456452926560, -0.324495162490784420, -0.324447867717404300, +-0.324400572132904570, -0.324353275737403360, -0.324305978531018170, -0.324258680513868800, -0.324211381686072770, -0.324164082047748330, -0.324116781599013640, -0.324069480339987000, +-0.324022178270786660, -0.323974875391530860, -0.323927571702337050, -0.323880267203325130, -0.323832961894612580, -0.323785655776317570, -0.323738348848558450, -0.323691041111453470, +-0.323643732565120910, -0.323596423209678130, -0.323549113045245140, -0.323501802071939400, -0.323454490289879100, -0.323407177699182650, -0.323359864299968210, -0.323312550092354100, +-0.323265235076458660, -0.323217919252399230, -0.323170602620295900, -0.323123285180266010, -0.323075966932427960, -0.323028647876899940, -0.322981328013800310, -0.322934007343247400, +-0.322886685865358620, -0.322839363580253950, -0.322792040488050880, -0.322744716588867660, -0.322697391882822700, -0.322650066370034290, -0.322602740050620670, -0.322555412924700190, +-0.322508084992391200, -0.322460756253811150, -0.322413426709080080, -0.322366096358315420, -0.322318765201635490, -0.322271433239158690, -0.322224100471003310, -0.322176766897287640, +-0.322129432518129200, -0.322082097333648070, -0.322034761343961700, -0.321987424549188380, -0.321940086949446540, -0.321892748544854450, -0.321845409335530520, -0.321798069321593050, +-0.321750728503159560, -0.321703386880350110, -0.321656044453282160, -0.321608701222074130, -0.321561357186844310, -0.321514012347711150, -0.321466666704792960, -0.321419320258207190, +-0.321371973008074020, -0.321324624954510920, -0.321277276097636230, -0.321229926437568370, -0.321182575974425680, -0.321135224708326560, -0.321087872639389370, -0.321040519767731680, +-0.320993166093473500, -0.320945811616732410, -0.320898456337626810, -0.320851100256275060, -0.320803743372795550, -0.320756385687306690, -0.320709027199926000, -0.320661667910773610, +-0.320614307819967080, -0.320566946927624720, -0.320519585233865030, -0.320472222738806380, -0.320424859442567160, -0.320377495345265770, -0.320330130447019860, -0.320282764747949420, +-0.320235398248172100, -0.320188030947806230, -0.320140662846970350, -0.320093293945782730, -0.320045924244361960, -0.319998553742825490, -0.319951182441293500, -0.319903810339883520, +-0.319856437438714060, -0.319809063737903470, -0.319761689237570260, -0.319714313937832780, -0.319666937838809560, -0.319619560940618940, -0.319572183243378600, -0.319524804747208680, +-0.319477425452226740, -0.319430045358551180, -0.319382664466300540, -0.319335282775593250, -0.319287900286547740, -0.319240516999281690, -0.319193132913915100, -0.319145748030565720, +-0.319098362349352020, -0.319050975870392330, -0.319003588593805230, -0.318956200519709190, -0.318908811648222600, -0.318861421979463160, -0.318814031513551030, -0.318766640250603810, +-0.318719248190739990, -0.318671855334078050, -0.318624461680736440, -0.318577067230833680, -0.318529671984487450, -0.318482275941817830, -0.318434879102942550, -0.318387481467980070, +-0.318340083037048920, -0.318292683810267540, -0.318245283787754460, -0.318197882969628140, -0.318150481356006260, -0.318103078947009070, -0.318055675742754170, -0.318008271743360050, +-0.317960866948945260, -0.317913461359628340, -0.317866054975527720, -0.317818647796761110, -0.317771239823448790, -0.317723831055708340, -0.317676421493658270, -0.317629011137417210, +-0.317581599987103560, -0.317534188042835950, -0.317486775304732850, -0.317439361772911990, -0.317391947447493550, -0.317344532328595270, -0.317297116416335620, -0.317249699710833220, +-0.317202282212206590, -0.317154863920574180, -0.317107444836053800, -0.317060024958765670, -0.317012604288827440, -0.316965182826357720, -0.316917760571475080, -0.316870337524298000, +-0.316822913684945080, -0.316775489053534860, -0.316728063630185960, -0.316680637415016010, -0.316633210408145350, -0.316585782609691610, -0.316538354019773480, -0.316490924638509420, +-0.316443494466018050, -0.316396063502418000, -0.316348631747826900, -0.316301199202365050, -0.316253765866150230, -0.316206331739300960, -0.316158896821935930, -0.316111461114173600, +-0.316064024616132640, -0.316016587327931590, -0.315969149249688270, -0.315921710381522890, -0.315874270723553230, -0.315826830275897920, -0.315779389038675530, -0.315731947012004630, +-0.315684504196003910, -0.315637060590791050, -0.315589616196486460, -0.315542171013207750, -0.315494725041073620, -0.315447278280202690, -0.315399830730713590, -0.315352382392724890, +-0.315304933266355230, -0.315257483351722380, -0.315210032648946700, -0.315162581158145880, -0.315115128879438660, -0.315067675812943590, -0.315020221958779380, -0.314972767317064580, +-0.314925311887917000, -0.314877855671457040, -0.314830398667802380, -0.314782940877071760, -0.314735482299383750, -0.314688022934857090, -0.314640562783610360, -0.314593101845762170, +-0.314545640121430440, -0.314498177610735450, -0.314450714313794950, -0.314403250230727740, -0.314355785361652370, -0.314308319706687540, -0.314260853265951930, -0.314213386039563340, +-0.314165918027642100, -0.314118449230306070, -0.314070979647673940, -0.314023509279864330, -0.313976038126995980, -0.313928566189187520, -0.313881093466557680, -0.313833619959224210, +-0.313786145667307560, -0.313738670590925530, -0.313691194730196850, -0.313643718085240160, -0.313596240656174200, -0.313548762443117580, -0.313501283446189110, -0.313453803665506570, +-0.313406323101190380, -0.313358841753358370, -0.313311359622129250, -0.313263876707621740, -0.313216393009954520, -0.313168908529246340, -0.313121423265615870, -0.313073937219181030, +-0.313026450390062160, -0.312978962778377170, -0.312931474384244790, -0.312883985207783710, -0.312836495249112670, -0.312789004508350400, -0.312741512985614760, -0.312694020681026200, +-0.312646527594702570, -0.312599033726762620, -0.312551539077325080, -0.312504043646508690, -0.312456547434432240, -0.312409050441214360, -0.312361552666973070, -0.312314054111828670, +-0.312266554775899210, -0.312219054659303330, -0.312171553762159770, -0.312124052084587380, -0.312076549626704840, -0.312029046388630100, -0.311981542370483590, -0.311934037572383190, +-0.311886531994447770, -0.311839025636795940, -0.311791518499546560, -0.311744010582818420, -0.311696501886730200, -0.311648992411399930, -0.311601482156948000, -0.311553971123492370, +-0.311506459311151840, -0.311458946720045150, -0.311411433350291090, -0.311363919202008400, -0.311316404275315100, -0.311268888570331640, -0.311221372087175980, -0.311173854825966880, +-0.311126336786823110, -0.311078817969863530, -0.311031298375206880, -0.310983778002972000, -0.310936256853276800, -0.310888734926241860, -0.310841212221985020, -0.310793688740625180, +-0.310746164482281150, -0.310698639447071660, -0.310651113635115610, -0.310603587046531740, -0.310556059681438120, -0.310508531539955110, -0.310461002622200830, -0.310413472928294020, +-0.310365942458353530, -0.310318411212498200, -0.310270879190846840, -0.310223346393518280, -0.310175812820630500, -0.310128278472304010, -0.310080743348656870, -0.310033207449807830, +-0.309985670775875800, -0.309938133326979610, -0.309890595103238020, -0.309843056104769140, -0.309795516331693500, -0.309747975784129050, -0.309700434462194640, -0.309652892366009120, +-0.309605349495691410, -0.309557805851360280, -0.309510261433134700, -0.309462716241132580, -0.309415170275474550, -0.309367623536278560, -0.309320076023663510, -0.309272527737748270, +-0.309224978678651730, -0.309177428846492740, -0.309129878241389320, -0.309082326863462100, -0.309034774712828970, -0.308987221789608970, -0.308939668093920930, -0.308892113625883650, +-0.308844558385616140, -0.308797002373237210, -0.308749445588864970, -0.308701888032619940, -0.308654329704620150, -0.308606770604984590, -0.308559210733832080, -0.308511650091281560, +-0.308464088677451900, -0.308416526492461150, -0.308368963536429950, -0.308321399809476370, -0.308273835311719260, -0.308226270043277570, -0.308178704004270170, -0.308131137194816050, +-0.308083569615034080, -0.308036001265042330, -0.307988432144961410, -0.307940862254909460, -0.307893291595005340, -0.307845720165367990, -0.307798147966116320, -0.307750574997369240, +-0.307703001259245770, -0.307655426751863970, -0.307607851475344420, -0.307560275429805240, -0.307512698615365400, -0.307465121032143800, -0.307417542680259390, -0.307369963559831150, +-0.307322383670977970, -0.307274803013817990, -0.307227221588471880, -0.307179639395057660, -0.307132056433694340, -0.307084472704500950, -0.307036888207596340, -0.306989302943099510, +-0.306941716911128540, -0.306894130111804160, -0.306846542545244460, -0.306798954211568390, -0.306751365110894960, -0.306703775243343080, -0.306656184609031820, -0.306608593208080040, +-0.306561001040605960, -0.306513408106730220, -0.306465814406570950, -0.306418219940247150, -0.306370624707877790, -0.306323028709581890, -0.306275431945478400, -0.306227834415685460, +-0.306180236120323800, -0.306132637059511600, -0.306085037233367770, -0.306037436642011330, -0.305989835285561280, -0.305942233164136710, -0.305894630277856520, -0.305847026626838880, +-0.305799422211204600, -0.305751817031071680, -0.305704211086559260, -0.305656604377786300, -0.305608996904871810, -0.305561388667934860, -0.305513779667093590, -0.305466169902468720, +-0.305418559374178440, -0.305370948082341720, -0.305323336027077620, -0.305275723208505210, -0.305228109626743520, -0.305180495281911550, -0.305132880174127430, -0.305085264303512020, +-0.305037647670183430, -0.304990030274260690, -0.304942412115862930, -0.304894793195109090, -0.304847173512118320, -0.304799553067009570, -0.304751931859901130, -0.304704309890913680, +-0.304656687160165420, -0.304609063667775510, -0.304561439413862930, -0.304513814398546690, -0.304466188621945970, -0.304418562084179780, -0.304370934785366310, -0.304323306725626410, +-0.304275677905078150, -0.304228048323840760, -0.304180417982033210, -0.304132786879774690, -0.304085155017184140, -0.304037522394379870, -0.303989889011482610, -0.303942254868610650, +-0.303894619965883070, -0.303846984303418940, -0.303799347881337330, -0.303751710699757370, -0.303704072758798130, -0.303656434058577840, -0.303608794599217360, -0.303561154380834810, +-0.303513513403549430, -0.303465871667480290, -0.303418229172746410, -0.303370585919467030, -0.303322941907760270, -0.303275297137747040, -0.303227651609545570, -0.303180005323274940, +-0.303132358279054330, -0.303084710477002810, -0.303037061917239500, -0.302989412599883550, -0.302941762525053230, -0.302894111692869340, -0.302846460103450180, -0.302798807756914870, +-0.302751154653382480, -0.302703500792972260, -0.302655846175803320, -0.302608190801993860, -0.302560534671664830, -0.302512877784934410, -0.302465220141921790, -0.302417561742746140, +-0.302369902587526610, -0.302322242676382300, -0.302274582009432360, -0.302226920586795180, -0.302179258408591500, -0.302131595474939670, -0.302083931785958880, -0.302036267341768250, +-0.301988602142486910, -0.301940936188234090, -0.301893269479128980, -0.301845602015289820, -0.301797933796837450, -0.301750264823890280, -0.301702595096567490, -0.301654924614988160, +-0.301607253379271520, -0.301559581389536810, -0.301511908645903100, -0.301464235148488750, -0.301416560897414700, -0.301368885892799200, -0.301321210134761540, -0.301273533623420800, +-0.301225856358896260, -0.301178178341307110, -0.301130499570771590, -0.301082820047410720, -0.301035139771342830, -0.300987458742687010, -0.300939776961562600, -0.300892094428088730, +-0.300844411142384640, -0.300796727104569510, -0.300749042314761680, -0.300701356773082130, -0.300653670479649190, -0.300605983434582060, -0.300558295638000020, -0.300510607090022200, +-0.300462917790767840, -0.300415227740355340, -0.300367536938905670, -0.300319845386537110, -0.300272153083368960, -0.300224460029520410, -0.300176766225110750, -0.300129071670259150, +-0.300081376365084860, -0.300033680309706290, -0.299985983504244320, -0.299938285948817440, -0.299890587643544870, -0.299842888588545800, -0.299795188783939510, -0.299747488229845260, +-0.299699786926381440, -0.299652084873668960, -0.299604382071826330, -0.299556678520972730, -0.299508974221227410, -0.299461269172709650, -0.299413563375538700, -0.299365856829833910, +-0.299318149535713560, -0.299270441493298730, -0.299222732702707770, -0.299175023164060030, -0.299127312877474680, -0.299079601843071090, -0.299031890060968420, -0.298984177531286090, +-0.298936464254142440, -0.298888750229658500, -0.298841035457952650, -0.298793319939144260, -0.298745603673352570, -0.298697886660696800, -0.298650168901296360, -0.298602450395270500, +-0.298554731142737670, -0.298507011143818890, -0.298459290398632500, -0.298411568907297970, -0.298363846669934480, -0.298316123686661380, -0.298268399957597960, -0.298220675482862680, +-0.298172950262576560, -0.298125224296858060, -0.298077497585826520, -0.298029770129601250, -0.297982041928301580, -0.297934312982046760, -0.297886583290956130, -0.297838852855148220, +-0.297791121674744030, -0.297743389749862030, -0.297695657080621570, -0.297647923667141990, -0.297600189509542590, -0.297552454607942660, -0.297504718962460780, -0.297456982573217950, +-0.297409245440332700, -0.297361507563924320, -0.297313768944112160, -0.297266029581015560, -0.297218289474753870, -0.297170548625446510, -0.297122807033211920, -0.297075064698171130, +-0.297027321620442710, -0.296979577800145940, -0.296931833237400300, -0.296884087932325010, -0.296836341885039550, -0.296788595095662360, -0.296740847564314510, -0.296693099291114590, +-0.296645350276181890, -0.296597600519635800, -0.296549850021595730, -0.296502098782181030, -0.296454346801511110, -0.296406594079704430, -0.296358840616882170, -0.296311086413162780, +-0.296263331468665680, -0.296215575783510210, -0.296167819357815830, -0.296120062191701890, -0.296072304285286970, -0.296024545638692130, -0.295976786252035940, -0.295929026125437760, +-0.295881265259017030, -0.295833503652893130, -0.295785741307185490, -0.295737978222013480, -0.295690214397496490, -0.295642449833753150, -0.295594684530904540, -0.295546918489069220, +-0.295499151708366600, -0.295451384188916090, -0.295403615930837140, -0.295355846934249100, -0.295308077199270660, -0.295260306726022830, -0.295212535514624230, -0.295164763565194330, +-0.295116990877852480, -0.295069217452718190, -0.295021443289910870, -0.294973668389549860, -0.294925892751753900, -0.294878116376644070, -0.294830339264338880, -0.294782561414957900, +-0.294734782828620480, -0.294687003505446130, -0.294639223445554270, -0.294591442649063510, -0.294543661116094980, -0.294495878846767310, -0.294448095841199910, -0.294400312099512280, +-0.294352527621823900, -0.294304742408254160, -0.294256956458922580, -0.294209169773947790, -0.294161382353450910, -0.294113594197550510, -0.294065805306366220, -0.294018015680017340, +-0.293970225318623490, -0.293922434222304020, -0.293874642391177670, -0.293826849825365500, -0.293779056524986260, -0.293731262490159350, -0.293683467721004290, -0.293635672217640530, +-0.293587875980187650, -0.293540079008765050, -0.293492281303491360, -0.293444482864487880, -0.293396683691873160, -0.293348883785766790, -0.293301083146288170, -0.293253281773556810, +-0.293205479667692280, -0.293157676828813160, -0.293109873257040740, -0.293062068952493650, -0.293014263915291340, -0.292966458145553440, -0.292918651643399310, -0.292870844408948620, +-0.292823036442320770, -0.292775227743635350, -0.292727418313011020, -0.292679608150568980, -0.292631797256427960, -0.292583985630707370, -0.292536173273526880, -0.292488360185005960, +-0.292440546365264060, -0.292392731814420050, -0.292344916532594980, -0.292297100519907650, -0.292249283776477580, -0.292201466302424270, -0.292153648097867310, -0.292105829162926270, +-0.292058009497720590, -0.292010189102369090, -0.291962367976992930, -0.291914546121710860, -0.291866723536642450, -0.291818900221907210, -0.291771076177624710, -0.291723251403914530, +-0.291675425900895350, -0.291627599668688510, -0.291579772707412640, -0.291531945017187320, -0.291484116598132170, -0.291436287450366700, -0.291388457574010500, -0.291340626969183230, +-0.291292795636003470, -0.291244963574592560, -0.291197130785069310, -0.291149297267553180, -0.291101463022163830, -0.291053628049020850, -0.291005792348243750, -0.290957955919951330, +-0.290910118764264870, -0.290862280881303110, -0.290814442271185690, -0.290766602934032110, -0.290718762869962070, -0.290670922079095060, -0.290623080561550780, -0.290575238317447970, +-0.290527395346907910, -0.290479551650049350, -0.290431707226991910, -0.290383862077855210, -0.290336016202758840, -0.290288169601822410, -0.290240322275164770, -0.290192474222907120, +-0.290144625445168280, -0.290096775942067950, -0.290048925713725590, -0.290001074760260990, -0.289953223081793670, -0.289905370678443240, -0.289857517550329460, -0.289809663697571000, +-0.289761809120289260, -0.289713953818602990, -0.289666097792631800, -0.289618241042495390, -0.289570383568313380, -0.289522525370205400, -0.289474666448290290, -0.289426806802689340, +-0.289378946433521360, -0.289331085340906010, -0.289283223524963000, -0.289235360985811870, -0.289187497723572380, -0.289139633738364100, -0.289091769030305920, -0.289043903599519150, +-0.288996037446122620, -0.288948170570236030, -0.288900302971979000, -0.288852434651471200, -0.288804565608832330, -0.288756695844181180, -0.288708825357639140, -0.288660954149325020, +-0.288613082219358550, -0.288565209567859360, -0.288517336194947180, -0.288469462100741590, -0.288421587285362380, -0.288373711748928400, -0.288325835491560930, -0.288277958513378900, +-0.288230080814501970, -0.288182202395049820, -0.288134323255142160, -0.288086443394898690, -0.288038562814438290, -0.287990681513882300, -0.287942799493349670, -0.287894916752959970, +-0.287847033292833010, -0.287799149113088460, -0.287751264213846060, -0.287703378595225430, -0.287655492257345600, -0.287607605200327800, -0.287559717424291040, -0.287511828929355010, +-0.287463939715639330, -0.287416049783263850, -0.287368159132348260, -0.287320267763011390, -0.287272375675374720, -0.287224482869557100, -0.287176589345678300, -0.287128695103857970, +-0.287080800144215940, -0.287032904466871910, -0.286985008071945660, -0.286937110959555990, -0.286889213129824350, -0.286841314582869770, -0.286793415318811860, -0.286745515337770370, +-0.286697614639865150, -0.286649713225215870, -0.286601811093942340, -0.286553908246163390, -0.286506004682000550, -0.286458100401572660, -0.286410195404999570, -0.286362289692400960, +-0.286314383263896630, -0.286266476119606320, -0.286218568259649860, -0.286170659684146120, -0.286122750393216550, -0.286074840386980170, -0.286026929665556600, -0.285979018229065800, +-0.285931106077627390, -0.285883193211361240, -0.285835279630386240, -0.285787365334823910, -0.285739450324793140, -0.285691534600413740, -0.285643618161805560, -0.285595701009088270, +-0.285547783142381770, -0.285499864561805820, -0.285451945267479300, -0.285404025259523800, -0.285356104538058260, -0.285308183103202440, -0.285260260955076170, -0.285212338093799260, +-0.285164414519491480, -0.285116490232271810, -0.285068565232261760, -0.285020639519580340, -0.284972713094347300, -0.284924785956682470, -0.284876858106705650, -0.284828929544536700, +-0.284781000270295460, -0.284733070284100830, -0.284685139586074390, -0.284637208176335090, -0.284589276055002780, -0.284541343222197320, -0.284493409678038430, -0.284445475422646090, +-0.284397540456139130, -0.284349604778639240, -0.284301668390265270, -0.284253731291137180, -0.284205793481374760, -0.284157854961097860, -0.284109915730426320, -0.284061975789479950, +-0.284014035138377810, -0.283966093777241470, -0.283918151706189840, -0.283870208925342870, -0.283822265434820360, -0.283774321234742220, -0.283726376325228240, -0.283678430706398310, +-0.283630484378371520, -0.283582537341269310, -0.283534589595210770, -0.283486641140315740, -0.283438691976704130, -0.283390742104495770, -0.283342791523810590, -0.283294840234768420, +-0.283246888237488280, -0.283198935532091740, -0.283150982118697940, -0.283103027997426650, -0.283055073168397790, -0.283007117631731200, -0.282959161387546900, -0.282911204435963790, +-0.282863246777103510, -0.282815288411085160, -0.282767329338028560, -0.282719369558053660, -0.282671409071280300, -0.282623447877828450, -0.282575485977817950, -0.282527523371367880, +-0.282479560058599920, -0.282431596039632970, -0.282383631314587100, -0.282335665883582110, -0.282287699746738010, -0.282239732904174590, -0.282191765356011040, -0.282143797102368920, +-0.282095828143367260, -0.282047858479126060, -0.281999888109765230, -0.281951917035404680, -0.281903945256164300, -0.281855972772164120, -0.281807999583523090, -0.281760025690362960, +-0.281712051092802730, -0.281664075790962420, -0.281616099784961880, -0.281568123074921070, -0.281520145660960010, -0.281472167543197700, -0.281424188721755840, -0.281376209196753490, +-0.281328228968310610, -0.281280248036547220, -0.281232266401583160, -0.281184284063538400, -0.281136301022533010, -0.281088317278685940, -0.281040332832118990, -0.280992347682951170, +-0.280944361831302500, -0.280896375277292890, -0.280848388021042390, -0.280800400062670870, -0.280752411402298400, -0.280704422040044030, -0.280656431976029460, -0.280608441210373820, +-0.280560449743197050, -0.280512457574619180, -0.280464464704760160, -0.280416471133739960, -0.280368476861678590, -0.280320481888695180, -0.280272486214911410, -0.280224489840446460, +-0.280176492765420280, -0.280128494989952850, -0.280080496514164170, -0.280032497338174260, -0.279984497462102240, -0.279936496886069860, -0.279888495610196190, -0.279840493634601340, +-0.279792490959405230, -0.279744487584727860, -0.279696483510689320, -0.279648478737409560, -0.279600473265007750, -0.279552467093605590, -0.279504460223322260, -0.279456452654277820, +-0.279408444386592240, -0.279360435420385520, -0.279312425755777750, -0.279264415392887990, -0.279216404331838140, -0.279168392572747230, -0.279120380115735310, -0.279072366960922470, +-0.279024353108428710, -0.278976338558374060, -0.278928323310878580, -0.278880307366061450, -0.278832290724044420, -0.278784273384946600, -0.278736255348888130, -0.278688236615989020, +-0.278640217186369330, -0.278592197060149090, -0.278544176237447480, -0.278496154718386290, -0.278448132503084760, -0.278400109591662840, -0.278352085984240660, -0.278304061680938300, +-0.278256036681875760, -0.278208010987173130, -0.278159984596949630, -0.278111957511327000, -0.278063929730424490, -0.278015901254362150, -0.277967872083260070, -0.277919842217238310, +-0.277871811656416940, -0.277823780400916040, -0.277775748450854840, -0.277727715806355080, -0.277679682467536050, -0.277631648434517870, -0.277583613707420520, -0.277535578286364160, +-0.277487542171468820, -0.277439505362854670, -0.277391467860640840, -0.277343429664949240, -0.277295390775899040, -0.277247351193610380, -0.277199310918203380, -0.277151269949798050, +-0.277103228288514580, -0.277055185934472150, -0.277007142887792600, -0.276959099148595230, -0.276911054717000120, -0.276863009593127320, -0.276814963777097020, -0.276766917269029360, +-0.276718870069044330, -0.276670822177261360, -0.276622773593802110, -0.276574724318785940, -0.276526674352332970, -0.276478623694563330, -0.276430572345597150, -0.276382520305554490, +-0.276334467574554710, -0.276286414152719590, -0.276238360040168440, -0.276190305237021370, -0.276142249743398570, -0.276094193559420110, -0.276046136685206220, -0.275998079120876980, +-0.275950020866551630, -0.275901961922352110, -0.275853902288397730, -0.275805841964808560, -0.275757780951704780, -0.275709719249206560, -0.275661656857434050, -0.275613593776506520, +-0.275565530006545880, -0.275517465547671370, -0.275469400400003230, -0.275421334563661580, -0.275373268038766610, -0.275325200825438490, -0.275277132923797350, -0.275229064333962490, +-0.275180995056055870, -0.275132925090196710, -0.275084854436505270, -0.275036783095101710, -0.274988711066106170, -0.274940638349638830, -0.274892564945819930, -0.274844490854768750, +-0.274796416076607210, -0.274748340611454640, -0.274700264459431190, -0.274652187620657070, -0.274604110095252540, -0.274556031883337660, -0.274507952985032780, -0.274459873400457080, +-0.274411793129732630, -0.274363712172978670, -0.274315630530315380, -0.274267548201863050, -0.274219465187741870, -0.274171381488072020, -0.274123297102972840, -0.274075212032566300, +-0.274027126276971680, -0.273979039836309280, -0.273930952710699280, -0.273882864900261920, -0.273834776405117330, -0.273786687225385850, -0.273738597361186830, -0.273690506812642120, +-0.273642415579871120, -0.273594323662994130, -0.273546231062131330, -0.273498137777402950, -0.273450043808929180, -0.273401949156829530, -0.273353853821225790, -0.273305757802237430, +-0.273257661099984670, -0.273209563714587770, -0.273161465646167000, -0.273113366894842500, -0.273065267460734620, -0.273017167343962700, -0.272969066544648750, -0.272920965062912080, +-0.272872862898873030, -0.272824760052651830, -0.272776656524368720, -0.272728552314143950, -0.272680447422096960, -0.272632341848349720, -0.272584235593021640, -0.272536128656232950, +-0.272488021038103880, -0.272439912738754840, -0.272391803758305960, -0.272343694096877640, -0.272295583754589180, -0.272247472731562630, -0.272199361027917360, -0.272151248643773770, +-0.272103135579251980, -0.272055021834472390, -0.272006907409555240, -0.271958792304620830, -0.271910676519788560, -0.271862560055180450, -0.271814442910916000, -0.271766325087115400, +-0.271718206583898950, -0.271670087401387040, -0.271621967539699860, -0.271573846998957810, -0.271525725779280300, -0.271477603880789290, -0.271429481303604280, -0.271381358047845580, +-0.271333234113633470, -0.271285109501088250, -0.271236984210330320, -0.271188858241479040, -0.271140731594656460, -0.271092604269982050, -0.271044476267576160, -0.270996347587559030, +-0.270948218230051110, -0.270900088195172580, -0.270851957483043860, -0.270803826093784340, -0.270755694027516150, -0.270707561284358740, -0.270659427864432420, -0.270611293767857470, +-0.270563158994754360, -0.270515023545243320, -0.270466887419443860, -0.270418750617478050, -0.270370613139465370, -0.270322474985526200, -0.270274336155780780, -0.270226196650349530, +-0.270178056469352780, -0.270129915612910890, -0.270081774081143370, -0.270033631874172290, -0.269985488992117110, -0.269937345435098170, -0.269889201203235900, -0.269841056296650670, +-0.269792910715462740, -0.269744764459791670, -0.269696617529759600, -0.269648469925485970, -0.269600321647091130, -0.269552172694695500, -0.269504023068419470, -0.269455872768383340, +-0.269407721794707570, -0.269359570147511610, -0.269311417826917590, -0.269263264833045020, -0.269215111166014320, -0.269166956825945770, -0.269118801812959880, -0.269070646127176960, +-0.269022489768716620, -0.268974332737700880, -0.268926175034249320, -0.268878016658482270, -0.268829857610520250, -0.268781697890483560, -0.268733537498492600, -0.268685376434667830, +-0.268637214699129600, -0.268589052291997480, -0.268540889213393590, -0.268492725463437440, -0.268444561042249560, -0.268396395949950180, -0.268348230186659880, -0.268300063752498990, +-0.268251896647587080, -0.268203728872046300, -0.268155560425996140, -0.268107391309557130, -0.268059221522849670, -0.268011051065994100, -0.267962879939110890, -0.267914708142320550, +-0.267866535675742530, -0.267818362539499030, -0.267770188733709670, -0.267722014258494790, -0.267673839113974850, -0.267625663300270380, -0.267577486817501710, -0.267529309665788470, +-0.267481131845252850, -0.267432953356014360, -0.267384774198193510, -0.267336594371910710, -0.267288413877286410, -0.267240232714441080, -0.267192050883495180, -0.267143868384568330, +-0.267095685217782650, -0.267047501383257720, -0.266999316881114060, -0.266951131711472110, -0.266902945874452290, -0.266854759370175170, -0.266806572198760250, -0.266758384360329780, +-0.266710195855003330, -0.266662006682901410, -0.266613816844144480, -0.266565626338853000, -0.266517435167147430, -0.266469243329148290, -0.266421050824975190, -0.266372857654750330, +-0.266324663818593320, -0.266276469316624630, -0.266228274148964770, -0.266180078315734260, -0.266131881817053490, -0.266083684653042220, -0.266035486823822550, -0.265987288329514180, +-0.265939089170237620, -0.265890889346113320, -0.265842688857261760, -0.265794487703803540, -0.265746285885859020, -0.265698083403548890, -0.265649880256992600, -0.265601676446312500, +-0.265553471971628210, -0.265505266833060250, -0.265457061030729140, -0.265408854564755330, -0.265360647435259440, -0.265312439642361010, -0.265264231186182360, -0.265216022066843190, +-0.265167812284463900, -0.265119601839165110, -0.265071390731067280, -0.265023178960290980, -0.264974966526956790, -0.264926753431184270, -0.264878539673095710, -0.264830325252810860, +-0.264782110170450170, -0.264733894426134210, -0.264685678019983490, -0.264637460952118600, -0.264589243222659200, -0.264541024831727530, -0.264492805779443290, -0.264444586065927080, +-0.264396365691299370, -0.264348144655680740, -0.264299922959191750, -0.264251700601952970, -0.264203477584084080, -0.264155253905707380, -0.264107029566942490, -0.264058804567910090, +-0.264010578908730590, -0.263962352589524720, -0.263914125610412940, -0.263865897971515000, -0.263817669672953170, -0.263769440714847150, -0.263721211097317550, -0.263672980820484900, +-0.263624749884469820, -0.263576518289392820, -0.263528286035374590, -0.263480053122534750, -0.263431819550995650, -0.263383585320876970, -0.263335350432299390, -0.263287114885383370, +-0.263238878680249590, -0.263190641817018620, -0.263142404295810150, -0.263094166116746580, -0.263045927279947580, -0.262997687785533730, -0.262949447633625650, -0.262901206824344040, +-0.262852965357809330, -0.262804723234142220, -0.262756480453463340, -0.262708237015892350, -0.262659992921551680, -0.262611748170560990, -0.262563502763040910, -0.262515256699112130, +-0.262467009978895160, -0.262418762602510680, -0.262370514570078480, -0.262322265881720810, -0.262274016537557440, -0.262225766537709070, -0.262177515882296320, -0.262129264571439700, +-0.262081012605260010, -0.262032759983877710, -0.261984506707412690, -0.261936252775987250, -0.261887998189721190, -0.261839742948735130, -0.261791487053149700, -0.261743230503085570, +-0.261694973298663370, -0.261646715440002840, -0.261598456927226390, -0.261550197760453850, -0.261501937939805750, -0.261453677465402820, -0.261405416337365750, -0.261357154555815100, +-0.261308892120871550, -0.261260629032654900, -0.261212365291287550, -0.261164100896889300, -0.261115835849580810, -0.261067570149482730, -0.261019303796715670, -0.260971036791400430, +-0.260922769133656700, -0.260874500823606860, -0.260826231861370830, -0.260777962247069230, -0.260729691980822690, -0.260681421062751940, -0.260633149492977610, -0.260584877271620440, +-0.260536604398800160, -0.260488330874639300, -0.260440056699257570, -0.260391781872775730, -0.260343506395314390, -0.260295230266994300, -0.260246953487936140, -0.260198676058259750, +-0.260150397978087530, -0.260102119247539290, -0.260053839866735800, -0.260005559835797650, -0.259957279154845620, -0.259908997824000400, -0.259860715843382720, -0.259812433213113200, +-0.259764149933311760, -0.259715866004100790, -0.259667581425600150, -0.259619296197930620, -0.259571010321212770, -0.259522723795567460, -0.259474436621115300, -0.259426148797976150, +-0.259377860326272580, -0.259329571206124270, -0.259281281437652110, -0.259232991020976690, -0.259184699956218790, -0.259136408243499210, -0.259088115882938560, -0.259039822874656770, +-0.258991529218776270, -0.258943234915416930, -0.258894939964699530, -0.258846644366744760, -0.258798348121673400, -0.258750051229606150, -0.258701753690662950, -0.258653455504966210, +-0.258605156672635840, -0.258556857193792570, -0.258508557068557130, -0.258460256297050330, -0.258411954879392840, -0.258363652815705500, -0.258315350106108180, -0.258267046750723320, +-0.258218742749670880, -0.258170438103071550, -0.258122132811046120, -0.258073826873715380, -0.258025520291200070, -0.257977213063620090, -0.257928905191097960, -0.257880596673753570, +-0.257832287511707670, -0.257783977705081050, -0.257735667253994440, -0.257687356158568750, -0.257639044418924600, -0.257590732035182010, -0.257542419007463440, -0.257494105335888850, +-0.257445791020578960, -0.257397476061654640, -0.257349160459236560, -0.257300844213445620, -0.257252527324401740, -0.257204209792227360, -0.257155891617042440, -0.257107572798967840, +-0.257059253338124290, -0.257010933234632590, -0.256962612488613570, -0.256914291100187990, -0.256865969069475840, -0.256817646396599650, -0.256769323081679320, -0.256720999124835700, +-0.256672674526189580, -0.256624349285861750, -0.256576023403973060, -0.256527696880644360, -0.256479369715995500, -0.256431041910149090, -0.256382713463225050, -0.256334384375344280, +-0.256286054646627510, -0.256237724277195660, -0.256189393267169440, -0.256141061616669720, -0.256092729325816560, -0.256044396394732370, -0.255996062823537210, -0.255947728612351880, +-0.255899393761297280, -0.255851058270494150, -0.255802722140063390, -0.255754385370124960, -0.255706047960801430, -0.255657709912212760, -0.255609371224479850, -0.255561031897723500, +-0.255512691932064550, -0.255464351327623910, -0.255416010084522360, -0.255367668202879930, -0.255319325682819180, -0.255270982524460120, -0.255222638727923610, -0.255174294293330490, +-0.255125949220801670, -0.255077603510457940, -0.255029257162419360, -0.254980910176808520, -0.254932562553745360, -0.254884214293350840, -0.254835865395745760, -0.254787515861051030, +-0.254739165689387480, -0.254690814880876030, -0.254642463435636680, -0.254594111353792010, -0.254545758635462140, -0.254497405280767810, -0.254449051289829970, -0.254400696662769490, +-0.254352341399707300, -0.254303985500763390, -0.254255628966060350, -0.254207271795718280, -0.254158913989858020, -0.254110555548600460, -0.254062196472066510, -0.254013836760377090, +-0.253965476413653020, -0.253917115432014450, -0.253868753815583940, -0.253820391564481550, -0.253772028678828200, -0.253723665158744780, -0.253675301004352150, -0.253626936215771310, +-0.253578570793123130, -0.253530204736527600, -0.253481838046107470, -0.253433470721982750, -0.253385102764274340, -0.253336734173103210, -0.253288364948590190, -0.253239995090856260, +-0.253191624600022370, -0.253143253476208530, -0.253094881719537480, -0.253046509330129180, -0.252998136308104580, -0.252949762653584710, -0.252901388366690350, -0.252853013447542570, +-0.252804637896261400, -0.252756261712969500, -0.252707884897786890, -0.252659507450834600, -0.252611129372233570, -0.252562750662104710, -0.252514371320568920, -0.252465991347747280, +-0.252417610743759730, -0.252369229508729090, -0.252320847642775290, -0.252272465146019420, -0.252224082018582370, -0.252175698260585170, -0.252127313872148650, -0.252078928853393000, +-0.252030543204440900, -0.251982156925412480, -0.251933770016428640, -0.251885382477610330, -0.251836994309078630, -0.251788605510954390, -0.251740216083358670, -0.251691826026411550, +-0.251643435340235700, -0.251595044024951310, -0.251546652080679280, -0.251498259507540620, -0.251449866305656300, -0.251401472475147330, -0.251353078016133820, -0.251304682928738480, +-0.251256287213081410, -0.251207890869283630, -0.251159493897466110, -0.251111096297749860, -0.251062698070255890, -0.251014299215105210, -0.250965899732417840, -0.250917499622316630, +-0.250869098884921650, -0.250820697520353960, -0.250772295528734480, -0.250723892910184270, -0.250675489664824340, -0.250627085792775710, -0.250578681294158500, -0.250530276169095400, +-0.250481870417706640, -0.250433464040113190, -0.250385057036436100, -0.250336649406796340, -0.250288241151314980, -0.250239832270113040, -0.250191422763310630, -0.250143012631030500, +-0.250094601873392890, -0.250046190490518740, -0.249997778482529130, -0.249949365849545050, -0.249900952591687600, -0.249852538709076870, -0.249804124201835680, -0.249755709070084150, +-0.249707293313943370, -0.249658876933534330, -0.249610459928978120, -0.249562042300395780, -0.249513624047908310, -0.249465205171635900, -0.249416785671701360, -0.249368365548224860, +-0.249319944801327440, -0.249271523431130150, -0.249223101437754090, -0.249174678821320220, -0.249126255581948840, -0.249077831719762640, -0.249029407234881900, -0.248980982127427610, +-0.248932556397520880, -0.248884130045282760, -0.248835703070834330, -0.248787275474296600, -0.248738847255789850, -0.248690418415436850, -0.248641988953357790, -0.248593558869673770, +-0.248545128164505830, -0.248496696837975100, -0.248448264890202610, -0.248399832321308610, -0.248351399131415850, -0.248302965320644640, -0.248254530889115980, -0.248206095836951020, +-0.248157660164270820, -0.248109223871196470, -0.248060786957849030, -0.248012349424348800, -0.247963911270818540, -0.247915472497378500, -0.247867033104149790, -0.247818593091253480, +-0.247770152458810680, -0.247721711206942530, -0.247673269335770080, -0.247624826845413620, -0.247576383735995910, -0.247527940007637280, -0.247479495660458790, -0.247431050694581570, +-0.247382605110126720, -0.247334158907215330, -0.247285712085968560, -0.247237264646506670, -0.247188816588952450, -0.247140367913426200, -0.247091918620049030, -0.247043468708942060, +-0.246995018180226430, -0.246946567034023230, -0.246898115270452770, -0.246849662889637890, -0.246801209891698850, -0.246752756276756770, -0.246704302044932820, -0.246655847196348120, +-0.246607391731123780, -0.246558935649380940, -0.246510478951239950, -0.246462021636823600, -0.246413563706252200, -0.246365105159646880, -0.246316645997128800, -0.246268186218819130, +-0.246219725824838980, -0.246171264815308630, -0.246122803190350990, -0.246074340950086370, -0.246025878094635860, -0.245977414624120680, -0.245928950538661960, -0.245880485838380850, +-0.245832020523398560, -0.245783554593835330, -0.245735088049814060, -0.245686620891455100, -0.245638153118879570, -0.245589684732208660, -0.245541215731563540, -0.245492746117065400, +-0.245444275888834520, -0.245395805046993790, -0.245347333591663580, -0.245298861522965010, -0.245250388841019300, -0.245201915545947610, -0.245153441637871140, -0.245104967116911070, +-0.245056491983187710, -0.245008016236824000, -0.244959539877940220, -0.244911062906657620, -0.244862585323097350, -0.244814107127380610, -0.244765628319628610, -0.244717148899962540, +-0.244668668868502720, -0.244620188225372100, -0.244571706970691030, -0.244523225104580660, -0.244474742627162260, -0.244426259538556980, -0.244377775838886060, -0.244329291528270680, +-0.244280806606831240, -0.244232321074690640, -0.244183834931969210, -0.244135348178788240, -0.244086860815268870, -0.244038372841532350, -0.243989884257699880, -0.243941395063891870, +-0.243892905260231220, -0.243844414846838300, -0.243795923823834360, -0.243747432191340600, -0.243698939949478280, -0.243650447098368580, -0.243601953638132780, -0.243553459568891210, +-0.243504964890766870, -0.243456469603880120, -0.243407973708352210, -0.243359477204304340, -0.243310980091857780, -0.243262482371133790, -0.243213984042252720, -0.243165485105337560, +-0.243116985560508670, -0.243068485407887340, -0.243019984647594780, -0.242971483279752270, -0.242922981304481030, -0.242874478721902350, -0.242825975532136610, -0.242777471735306780, +-0.242728967331533290, -0.242680462320937370, -0.242631956703640320, -0.242583450479763350, -0.242534943649427760, -0.242486436212753950, -0.242437928169864920, -0.242389419520881080, +-0.242340910265923660, -0.242292400405113990, -0.242243889938573290, -0.242195378866422890, -0.242146867188784030, -0.242098354905777160, -0.242049842017525250, -0.242001328524148740, +-0.241952814425768910, -0.241904299722507040, -0.241855784414484410, -0.241807268501822330, -0.241758751984642080, -0.241710234863064090, -0.241661717137211380, -0.241613198807204360, +-0.241564679873164350, -0.241516160335212640, -0.241467640193470560, -0.241419119448059330, -0.241370598099099470, -0.241322076146713970, -0.241273553591023260, -0.241225030432148680, +-0.241176506670211540, -0.241127982305333140, -0.241079457337634750, -0.241030931767237720, -0.240982405594262540, -0.240933878818832160, -0.240885351441067100, -0.240836823461088670, +-0.240788294879018180, -0.240739765694976960, -0.240691235909086310, -0.240642705521467580, -0.240594174532241220, -0.240545642941530270, -0.240497110749455230, -0.240448577956137420, +-0.240400044561698140, -0.240351510566258780, -0.240302975969940630, -0.240254440772864180, -0.240205904975152480, -0.240157368576926020, -0.240108831578306150, -0.240060293979414200, +-0.240011755780371480, -0.239963216981299410, -0.239914677582319300, -0.239866137583551600, -0.239817596985119450, -0.239769055787143300, -0.239720513989744500, -0.239671971593044430, +-0.239623428597164430, -0.239574885002225850, -0.239526340808349200, -0.239477796015657550, -0.239429250624271420, -0.239380704634312190, -0.239332158045901160, -0.239283610859159750, +-0.239235063074209300, -0.239186514691171190, -0.239137965710165960, -0.239089416131316650, -0.239040865954743830, -0.238992315180568820, -0.238943763808913020, -0.238895211839897810, +-0.238846659273644600, -0.238798106110274720, -0.238749552349908720, -0.238700997992669690, -0.238652443038678160, -0.238603887488055530, -0.238555331340923190, -0.238506774597402520, +-0.238458217257614900, -0.238409659321680900, -0.238361100789723580, -0.238312541661863550, -0.238263981938222120, -0.238215421618920790, -0.238166860704080860, -0.238118299193823800, +-0.238069737088270980, -0.238021174387542940, -0.237972611091762880, -0.237924047201051230, -0.237875482715529500, -0.237826917635319050, -0.237778351960541310, -0.237729785691317700, +-0.237681218827769600, -0.237632651370017630, -0.237584083318184870, -0.237535514672391900, -0.237486945432760140, -0.237438375599411030, -0.237389805172465970, -0.237341234152046390, +-0.237292662538272890, -0.237244090331268590, -0.237195517531154030, -0.237146944138050710, -0.237098370152080020, -0.237049795573363390, -0.237001220402022290, -0.236952644638178140, +-0.236904068281951510, -0.236855491333465590, -0.236806913792840910, -0.236758335660198970, -0.236709756935661180, -0.236661177619348990, -0.236612597711383880, -0.236564017211886380, +-0.236515436120979720, -0.236466854438784490, -0.236418272165422080, -0.236369689301014010, -0.236321105845681720, -0.236272521799546660, -0.236223937162730320, -0.236175351935353240, +-0.236126766117538660, -0.236078179709407170, -0.236029592711080230, -0.235981005122679300, -0.235932416944325850, -0.235883828176141370, -0.235835238818247310, -0.235786648870764310, +-0.235738058333815530, -0.235689467207521620, -0.235640875492004020, -0.235592283187384260, -0.235543690293783780, -0.235495096811324050, -0.235446502740125740, -0.235397908080312050, +-0.235349312832003550, -0.235300716995321820, -0.235252120570388250, -0.235203523557324410, -0.235154925956251730, -0.235106327767291760, -0.235057728990565100, -0.235009129626195000, +-0.234960529674302030, -0.234911929135007770, -0.234863328008433680, -0.234814726294701290, -0.234766123993932070, -0.234717521106247520, -0.234668917631768340, -0.234620313570617690, +-0.234571708922916290, -0.234523103688785590, -0.234474497868347150, -0.234425891461722460, -0.234377284469033050, -0.234328676890399550, -0.234280068725945230, -0.234231459975790730, +-0.234182850640057590, -0.234134240718867320, -0.234085630212341440, -0.234037019120601510, -0.233988407443769000, -0.233939795181964620, -0.233891182335311640, -0.233842568903930680, +-0.233793954887943300, -0.233745340287471020, -0.233696725102635420, -0.233648109333557980, -0.233599492980359420, -0.233550876043162990, -0.233502258522089360, -0.233453640417260080, +-0.233405021728796710, -0.233356402456820790, -0.233307782601453850, -0.233259162162817470, -0.233210541141032320, -0.233161919536221670, -0.233113297348506220, -0.233064674578007530, +-0.233016051224847170, -0.232967427289146660, -0.232918802771027580, -0.232870177670611490, -0.232821551988019130, -0.232772925723373710, -0.232724298876795990, -0.232675671448407530, +-0.232627043438329910, -0.232578414846684650, -0.232529785673593360, -0.232481155919176760, -0.232432525583558120, -0.232383894666858160, -0.232335263169198470, -0.232286631090700610, +-0.232237998431486180, -0.232189365191676770, -0.232140731371393930, -0.232092096970758420, -0.232043461989893510, -0.231994826428919940, -0.231946190287959320, -0.231897553567133210, +-0.231848916266563230, -0.231800278386370960, -0.231751639926677990, -0.231703000887605040, -0.231654361269275470, -0.231605721071809990, -0.231557080295330200, -0.231508438939957730, +-0.231459797005814150, -0.231411154493021080, -0.231362511401699280, -0.231313867731972040, -0.231265223483960140, -0.231216578657785170, -0.231167933253568770, -0.231119287271432520, +-0.231070640711498050, -0.231021993573887000, -0.230973345858720090, -0.230924697566120690, -0.230876048696209530, -0.230827399249108250, -0.230778749224938490, -0.230730098623821820, +-0.230681447445879930, -0.230632795691233570, -0.230584143360006070, -0.230535490452318220, -0.230486836968291610, -0.230438182908047930, -0.230389528271708800, -0.230340873059395850, +-0.230292217271230730, -0.230243560907334170, -0.230194903967829600, -0.230146246452837770, -0.230097588362480290, -0.230048929696878870, -0.230000270456155120, -0.229951610640430680, +-0.229902950249827240, -0.229854289284465520, -0.229805627744468970, -0.229756965629958370, -0.229708302941055320, -0.229659639677881530, -0.229610975840558650, -0.229562311429208300, +-0.229513646443951340, -0.229464980884911100, -0.229416314752208420, -0.229367648045964960, -0.229318980766302360, -0.229270312913342320, -0.229221644487206500, -0.229172975488016570, +-0.229124305915893330, -0.229075635770960210, -0.229026965053338000, -0.228978293763148350, -0.228929621900512970, -0.228880949465553570, -0.228832276458391770, -0.228783602879149260, +-0.228734928727946900, -0.228686254004908080, -0.228637578710153640, -0.228588902843805230, -0.228540226405984560, -0.228491549396813350, -0.228442871816413260, -0.228394193664905130, +-0.228345514942412370, -0.228296835649055810, -0.228248155784957160, -0.228199475350238160, -0.228150794345020450, -0.228102112769425740, -0.228053430623575750, -0.228004747907591340, +-0.227956064621595900, -0.227907380765710320, -0.227858696340056290, -0.227810011344755510, -0.227761325779929690, -0.227712639645700570, -0.227663952942188970, -0.227615265669518370, +-0.227566577827809590, -0.227517889417184400, -0.227469200437764450, -0.227420510889671520, -0.227371820773027310, -0.227323130087953520, -0.227274438834571070, -0.227225747013003380, +-0.227177054623371320, -0.227128361665796640, -0.227079668140401040, -0.227030974047306270, -0.226982279386634070, -0.226933584158505310, -0.226884888363043440, -0.226836192000369360, +-0.226787495070604810, -0.226738797573871500, -0.226690099510291200, -0.226641400879985660, -0.226592701683076630, -0.226544001919684960, -0.226495301589934170, -0.226446600693945090, +-0.226397899231839560, -0.226349197203739250, -0.226300494609765950, -0.226251791450041400, -0.226203087724687390, -0.226154383433824800, -0.226105678577577100, -0.226056973156065210, +-0.226008267169410890, -0.225959560617735920, -0.225910853501162020, -0.225862145819811010, -0.225813437573804620, -0.225764728763263760, -0.225716019388311960, -0.225667309449070120, +-0.225618598945660000, -0.225569887878203370, -0.225521176246822020, -0.225472464051637730, -0.225423751292771420, -0.225375037970346610, -0.225326324084484190, -0.225277609635305960, +-0.225228894622933720, -0.225180179047489240, -0.225131462909094300, -0.225082746207870720, -0.225034028943939400, -0.224985311117423870, -0.224936592728445070, -0.224887873777124770, +-0.224839154263584810, -0.224790434187946950, -0.224741713550333010, -0.224692992350863900, -0.224644270589663210, -0.224595548266851820, -0.224546825382551550, -0.224498101936884240, +-0.224449377929971690, -0.224400653361935650, -0.224351928232898010, -0.224303202542979670, -0.224254476292304190, -0.224205749480992530, -0.224157022109166490, -0.224108294176947890, +-0.224059565684458560, -0.224010836631820310, -0.223962107019154120, -0.223913376846583520, -0.223864646114229460, -0.223815914822213800, -0.223767182970658340, -0.223718450559684950, +-0.223669717589415420, -0.223620984059971580, -0.223572249971474430, -0.223523515324047520, -0.223474780117811830, -0.223426044352889180, -0.223377308029401420, -0.223328571147470400, +-0.223279833707217930, -0.223231095708765900, -0.223182357152235250, -0.223133618037749560, -0.223084878365429840, -0.223036138135397940, -0.222987397347775670, -0.222938656002684920, +-0.222889914100247530, -0.222841171640585340, -0.222792428623819370, -0.222743685050073190, -0.222694940919467820, -0.222646196232125060, -0.222597450988166830, -0.222548705187714970, +-0.222499958830891350, -0.222451211917816970, -0.222402464448615420, -0.222353716423407700, -0.222304967842315710, -0.222256218705461280, -0.222207469012966310, -0.222158718764952660, +-0.222109967961542230, -0.222061216602856020, -0.222012464689017610, -0.221963712220148050, -0.221914959196369220, -0.221866205617802960, -0.221817451484571220, -0.221768696796795840, +-0.221719941554597840, -0.221671185758100880, -0.221622429407425940, -0.221573672502694910, -0.221524915044029710, -0.221476157031552240, -0.221427398465384370, -0.221378639345648000, +-0.221329879672464150, -0.221281119445956490, -0.221232358666246020, -0.221183597333454660, -0.221134835447704290, -0.221086073009116840, -0.221037310017814210, -0.220988546473917440, +-0.220939782377550190, -0.220891017728833460, -0.220842252527889190, -0.220793486774839290, -0.220744720469805670, -0.220695953612910250, -0.220647186204274950, -0.220598418244020820, +-0.220549649732271510, -0.220500880669148050, -0.220452111054772410, -0.220403340889266500, -0.220354570172752230, -0.220305798905351540, -0.220257027087186360, -0.220208254718377740, +-0.220159481799049340, -0.220110708329322220, -0.220061934309318360, -0.220013159739159660, -0.219964384618968060, -0.219915608948865500, -0.219866832728973890, -0.219818055959414370, +-0.219769278640310540, -0.219720500771783540, -0.219671722353955300, -0.219622943386947710, -0.219574163870882800, -0.219525383805882460, -0.219476603192067800, -0.219427822029562510, +-0.219379040318487650, -0.219330258058965190, -0.219281475251117100, -0.219232691895065310, -0.219183907990931790, -0.219135123538838520, -0.219086338538906550, -0.219037552991259600, +-0.218988766896018760, -0.218939980253306020, -0.218891193063243340, -0.218842405325952670, -0.218793617041555980, -0.218744828210174380, -0.218696038831931560, -0.218647248906948670, +-0.218598458435347640, -0.218549667417250490, -0.218500875852779160, -0.218452083742055630, -0.218403291085201900, -0.218354497882339070, -0.218305704133590850, -0.218256909839078390, +-0.218208114998923650, -0.218159319613248640, -0.218110523682175290, -0.218061727205825670, -0.218012930184320830, -0.217964132617784550, -0.217915334506337960, -0.217866535850103020, +-0.217817736649201730, -0.217768936903756090, -0.217720136613888120, -0.217671335779719810, -0.217622534401372300, -0.217573732478969300, -0.217524930012631980, -0.217476127002482340, +-0.217427323448642380, -0.217378519351234120, -0.217329714710379540, -0.217280909526200690, -0.217232103798818720, -0.217183297528357330, -0.217134490714937680, -0.217085683358681840, +-0.217036875459711760, -0.216988067018149520, -0.216939258034117090, -0.216890448507736530, -0.216841638439128960, -0.216792827828418190, -0.216744016675725320, -0.216695204981172450, +-0.216646392744881540, -0.216597579966974650, -0.216548766647573800, -0.216499952786800180, -0.216451138384777560, -0.216402323441627080, -0.216353507957470770, -0.216304691932430710, +-0.216255875366628940, -0.216207058260187430, -0.216158240613228330, -0.216109422425872720, -0.216060603698244450, -0.216011784430464650, -0.215962964622655410, -0.215914144274938740, +-0.215865323387436720, -0.215816501960271380, -0.215767679993563940, -0.215718857487438130, -0.215670034442015210, -0.215621210857417200, -0.215572386733766160, -0.215523562071184140, +-0.215474736869793240, -0.215425911129715460, -0.215377084851072070, -0.215328258033986840, -0.215279430678580940, -0.215230602784976470, -0.215181774353295500, -0.215132945383660070, +-0.215084115876192310, -0.215035285831013360, -0.214986455248247080, -0.214937624128014680, -0.214888792470438210, -0.214839960275639730, -0.214791127543741380, -0.214742294274865210, +-0.214693460469133290, -0.214644626126666850, -0.214595791247589730, -0.214546955832023130, -0.214498119880089130, -0.214449283391909830, -0.214400446367607330, -0.214351608807303700, +-0.214302770711121050, -0.214253932079180640, -0.214205092911606220, -0.214156253208519110, -0.214107412970041350, -0.214058572196295040, -0.214009730887402330, -0.213960889043485260, +-0.213912046664665120, -0.213863203751065710, -0.213814360302808320, -0.213765516320015030, -0.213716671802807930, -0.213667826751309160, -0.213618981165640820, -0.213570135045925010, +-0.213521288392283020, -0.213472441204838690, -0.213423593483713230, -0.213374745229028770, -0.213325896440907490, -0.213277047119471430, -0.213228197264842790, -0.213179346877143630, +-0.213130495956495250, -0.213081644503021470, -0.213032792516843620, -0.212983939998083770, -0.212935086946864060, -0.212886233363306640, -0.212837379247533650, -0.212788524599666320, +-0.212739669419828550, -0.212690813708141640, -0.212641957464727670, -0.212593100689708800, -0.212544243383207180, -0.212495385545344970, -0.212446527176244290, -0.212397668276026410, +-0.212348808844815250, -0.212299948882732040, -0.212251088389898980, -0.212202227366438180, -0.212153365812471820, -0.212104503728122060, -0.212055641113510160, -0.212006777968760020, +-0.211957914293992940, -0.211909050089331090, -0.211860185354896590, -0.211811320090811630, -0.211762454297198390, -0.211713587974179000, -0.211664721121874760, -0.211615853740409620, +-0.211566985829904820, -0.211518117390482540, -0.211469248422265000, -0.211420378925374320, -0.211371508899932700, -0.211322638346062320, -0.211273767263884440, -0.211224895653523040, +-0.211176023515099400, -0.211127150848735710, -0.211078277654554110, -0.211029403932676830, -0.210980529683226060, -0.210931654906323070, -0.210882779602091840, -0.210833903770653640, +-0.210785027412130680, -0.210736150526645160, -0.210687273114319260, -0.210638395175275190, -0.210589516709635110, -0.210540637717520380, -0.210491758199054910, -0.210442878154360080, +-0.210393997583558030, -0.210345116486770980, -0.210296234864121160, -0.210247352715730720, -0.210198470041721930, -0.210149586842216100, -0.210100703117337140, -0.210051818867206450, +-0.210002934091946200, -0.209954048791678620, -0.209905162966525920, -0.209856276616610300, -0.209807389742053120, -0.209758502342978350, -0.209709614419507330, -0.209660725971762250, +-0.209611836999865380, -0.209562947503938890, -0.209514057484105040, -0.209465166940486060, -0.209416275873203300, -0.209367384282380690, -0.209318492168139640, -0.209269599530602340, +-0.209220706369891070, -0.209171812686128030, -0.209122918479435430, -0.209074023749934700, -0.209025128497749760, -0.208976232723002000, -0.208927336425813650, -0.208878439606306980, +-0.208829542264604210, -0.208780644400827550, -0.208731746015099310, -0.208682847107540840, -0.208633947678276120, -0.208585047727426500, -0.208536147255114300, -0.208487246261461700, +-0.208438344746591010, -0.208389442710624430, -0.208340540153684280, -0.208291637075891880, -0.208242733477371270, -0.208193829358243820, -0.208144924718631800, -0.208096019558657470, +-0.208047113878443100, -0.207998207678110920, -0.207949300957782380, -0.207900393717581460, -0.207851485957629530, -0.207802577678048880, -0.207753668878961820, -0.207704759560490560, +-0.207655849722757410, -0.207606939365884650, -0.207558028489993660, -0.207509117095208450, -0.207460205181650480, -0.207411292749441980, -0.207362379798705250, -0.207313466329562570, +-0.207264552342136230, -0.207215637836548480, -0.207166722812920810, -0.207117807271377190, -0.207068891212039030, -0.207019974635028660, -0.206971057540468350, -0.206922139928480380, +-0.206873221799187100, -0.206824303152709860, -0.206775383989172750, -0.206726464308697180, -0.206677544111405430, -0.206628623397419830, -0.206579702166862690, -0.206530780419856290, +-0.206481858156522920, -0.206432935376984040, -0.206384012081363700, -0.206335088269783310, -0.206286163942365240, -0.206237239099231720, -0.206188313740505110, -0.206139387866307730, +-0.206090461476760990, -0.206041534571988980, -0.205992607152113150, -0.205943679217255790, -0.205894750767539210, -0.205845821803085780, -0.205796892324017790, -0.205747962330457560, +-0.205699031822526580, -0.205650100800348870, -0.205601169264045900, -0.205552237213740020, -0.205503304649553550, -0.205454371571608810, -0.205405437980028140, -0.205356503874933870, +-0.205307569256447470, -0.205258634124693030, -0.205209698479792010, -0.205160762321866720, -0.205111825651039550, -0.205062888467432810, -0.205013950771168820, -0.204965012562369130, +-0.204916073841157760, -0.204867134607656180, -0.204818194861986800, -0.204769254604271920, -0.204720313834633900, -0.204671372553195090, -0.204622430760077860, -0.204573488455403660, +-0.204524545639296650, -0.204475602311878250, -0.204426658473270850, -0.204377714123596790, -0.204328769262978470, -0.204279823891538200, -0.204230878009398380, -0.204181931616680500, +-0.204132984713508660, -0.204084037300004350, -0.204035089376289970, -0.203986140942487850, -0.203937191998720370, -0.203888242545109930, -0.203839292581777990, -0.203790342108848720, +-0.203741391126443570, -0.203692439634684950, -0.203643487633695220, -0.203594535123596790, -0.203545582104512010, -0.203496628576563280, -0.203447674539872110, -0.203398719994562600, +-0.203349764940756320, -0.203300809378575610, -0.203251853308142910, -0.203202896729580560, -0.203153939643010960, -0.203104982048555620, -0.203056023946338730, -0.203007065336481750, +-0.202958106219107120, -0.202909146594337230, -0.202860186462294480, -0.202811225823101270, -0.202762264676879970, -0.202713303023752150, -0.202664340863841940, -0.202615378197270880, +-0.202566415024161370, -0.202517451344635830, -0.202468487158816660, -0.202419522466826260, -0.202370557268787080, -0.202321591564820630, -0.202272625355051060, -0.202223658639599930, +-0.202174691418589650, -0.202125723692142630, -0.202076755460381310, -0.202027786723428110, -0.201978817481404590, -0.201929847734434870, -0.201880877482640530, -0.201831906726144010, +-0.201782935465067730, -0.201733963699534090, -0.201684991429665530, -0.201636018655584530, -0.201587045377412590, -0.201538071595273930, -0.201489097309290040, -0.201440122519583460, +-0.201391147226276550, -0.201342171429491760, -0.201293195129351570, -0.201244218325978390, -0.201195241019493760, -0.201146263210021940, -0.201097284897684440, -0.201048306082603740, +-0.200999326764902260, -0.200950346944702460, -0.200901366622126790, -0.200852385797296860, -0.200803404470336820, -0.200754422641368280, -0.200705440310513660, -0.200656457477895460, +-0.200607474143636110, -0.200558490307858080, -0.200509505970683820, -0.200460521132234920, -0.200411535792635570, -0.200362549952007420, -0.200313563610472870, -0.200264576768154400, +-0.200215589425174510, -0.200166601581655640, -0.200117613237719400, -0.200068624393489990, -0.200019635049089040, -0.199970645204638970, -0.199921654860262310, -0.199872664016081500, +-0.199823672672219040, -0.199774680828797400, -0.199725688485938190, -0.199676695643765610, -0.199627702302401320, -0.199578708461967760, -0.199529714122587410, -0.199480719284382800, +-0.199431723947476380, -0.199382728111990650, -0.199333731778047250, -0.199284734945770370, -0.199235737615281660, -0.199186739786703590, -0.199137741460158700, -0.199088742635769420, +-0.199039743313658310, -0.198990743493946960, -0.198941743176759640, -0.198892742362217930, -0.198843741050444390, -0.198794739241561490, -0.198745736935691750, -0.198696734132957660, +-0.198647730833481720, -0.198598727037385600, -0.198549722744793540, -0.198500717955827160, -0.198451712670608990, -0.198402706889261540, -0.198353700611907320, -0.198304693838668860, +-0.198255686569668630, -0.198206678805028350, -0.198157670544872240, -0.198108661789321930, -0.198059652538500000, -0.198010642792528920, -0.197961632551531210, -0.197912621815629460, +-0.197863610584945250, -0.197814598859602900, -0.197765586639724070, -0.197716573925431240, -0.197667560716846990, -0.197618547014093840, -0.197569532817294340, -0.197520518126570980, +-0.197471502942045460, -0.197422487263842070, -0.197373471092082450, -0.197324454426889150, -0.197275437268384730, -0.197226419616691680, -0.197177401471932610, -0.197128382834229180, +-0.197079363703705630, -0.197030344080483700, -0.196981323964685870, -0.196932303356434770, -0.196883282255852890, -0.196834260663062810, -0.196785238578187080, -0.196736216001347390, +-0.196687192932668010, -0.196638169372270660, -0.196589145320277910, -0.196540120776812270, -0.196491095741996330, -0.196442070215952640, -0.196393044198802940, -0.196344017690671470, +-0.196294990691679970, -0.196245963201950980, -0.196196935221607080, -0.196147906750770870, -0.196098877789564860, -0.196049848338111680, -0.196000818396532990, -0.195951787964953130, +-0.195902757043493800, -0.195853725632277600, -0.195804693731427060, -0.195755661341064780, -0.195706628461313370, -0.195657595092295380, -0.195608561234132530, -0.195559526886949160, +-0.195510492050866960, -0.195461456726008510, -0.195412420912496440, -0.195363384610453330, -0.195314347820001730, -0.195265310541264280, -0.195216272774362680, -0.195167234519421280, +-0.195118195776561780, -0.195069156545906790, -0.195020116827578920, -0.194971076621700740, -0.194922035928394880, -0.194872994747783050, -0.194823953079989620, -0.194774910925136300, +-0.194725868283345700, -0.194676825154740440, -0.194627781539443100, -0.194578737437576310, -0.194529692849262690, -0.194480647774623950, -0.194431602213784470, -0.194382556166865980, +-0.194333509633991120, -0.194284462615282450, -0.194235415110862650, -0.194186367120854330, -0.194137318645379170, -0.194088269684561610, -0.194039220238523380, -0.193990170307387110, +-0.193941119891275410, -0.193892068990310890, -0.193843017604616200, -0.193793965734313980, -0.193744913379525980, -0.193695860540376550, -0.193646807216987490, -0.193597753409481380, +-0.193548699117980920, -0.193499644342608690, -0.193450589083487360, -0.193401533340738670, -0.193352477114487050, -0.193303420404854210, -0.193254363211962820, -0.193205305535935540, +-0.193156247376894990, -0.193107188734963800, -0.193058129610264670, -0.193009070002919340, -0.192960009913052180, -0.192910949340785010, -0.192861888286240480, -0.192812826749541200, +-0.192763764730809890, -0.192714702230169150, -0.192665639247741630, -0.192616575783649190, -0.192567511838016150, -0.192518447410964330, -0.192469382502616420, -0.192420317113095010, +-0.192371251242522830, -0.192322184891022540, -0.192273118058716750, -0.192224050745727320, -0.192174982952178640, -0.192125914678192480, -0.192076845923891540, -0.192027776689398490, +-0.191978706974836020, -0.191929636780326730, -0.191880566105992520, -0.191831494951957750, -0.191782423318344250, -0.191733351205274680, -0.191684278612871740, -0.191635205541258120, +-0.191586131990556460, -0.191537057960889490, -0.191487983452379000, -0.191438908465149410, -0.191389832999322550, -0.191340757055021130, -0.191291680632367790, -0.191242603731485240, +-0.191193526352496200, -0.191144448495522480, -0.191095370160688500, -0.191046291348116100, -0.190997212057927970, -0.190948132290246820, -0.190899052045195330, -0.190849971322896220, +-0.190800890123472150, -0.190751808447045010, -0.190702726293739220, -0.190653643663676600, -0.190604560556979890, -0.190555476973771760, -0.190506392914174950, -0.190457308378312150, +-0.190408223366305220, -0.190359137878278600, -0.190310051914354130, -0.190260965474654510, -0.190211878559302490, -0.190162791168420800, -0.190113703302132120, -0.190064614960559150, +-0.190015526143823800, -0.189966436852050500, -0.189917347085361120, -0.189868256843878370, -0.189819166127724980, -0.189770074937023660, -0.189720983271897150, -0.189671891132468180, +-0.189622798518858630, -0.189573705431192950, -0.189524611869592990, -0.189475517834181510, -0.189426423325081250, -0.189377328342414910, -0.189328232886305260, -0.189279136956875040, +-0.189230040554246080, -0.189180943678542910, -0.189131846329887390, -0.189082748508402230, -0.189033650214210200, -0.188984551447434060, -0.188935452208196550, -0.188886352496619500, +-0.188837252312827470, -0.188788151656942290, -0.188739050529086770, -0.188689948929383570, -0.188640846857955540, -0.188591744314925370, -0.188542641300415840, -0.188493537814548860, +-0.188444433857448880, -0.188395329429237810, -0.188346224530038440, -0.188297119159973490, -0.188248013319165770, -0.188198907007738000, -0.188149800225812070, -0.188100692973512530, +-0.188051585250961270, -0.188002477058281050, -0.187953368395594620, -0.187904259263024760, -0.187855149660694280, -0.187806039588725880, -0.187756929047241560, -0.187707818036365770, +-0.187658706556220410, -0.187609594606928330, -0.187560482188612240, -0.187511369301394950, -0.187462255945399230, -0.187413142120747000, -0.187364027827562780, -0.187314913065968510, +-0.187265797836086930, -0.187216682138040880, -0.187167565971953110, -0.187118449337946440, -0.187069332236143640, -0.187020214666666630, -0.186971096629639950, -0.186921978125185550, +-0.186872859153426190, -0.186823739714484680, -0.186774619808483840, -0.186725499435546420, -0.186676378595795280, -0.186627257289352310, -0.186578135516342060, -0.186529013276886480, +-0.186479890571108360, -0.186430767399130530, -0.186381643761075770, -0.186332519657066900, -0.186283395087226740, -0.186234270051677230, -0.186185144550542890, -0.186136018583945680, +-0.186086892152008470, -0.186037765254853990, -0.185988637892605110, -0.185939510065384640, -0.185890381773314520, -0.185841253016519330, -0.185792123795120970, -0.185742994109242330, +-0.185693863959006190, -0.185644733344535410, -0.185595602265952790, -0.185546470723381150, -0.185497338716942490, -0.185448206246761340, -0.185399073312959660, -0.185349939915660320, +-0.185300806054986110, -0.185251671731059890, -0.185202536944004510, -0.185153401693941900, -0.185104265980996660, -0.185055129805290740, -0.185005993166947020, -0.184956856066088300, +-0.184907718502837440, -0.184858580477317290, -0.184809441989650690, -0.184760303039959610, -0.184711163628368650, -0.184662023754999790, -0.184612883419975870, -0.184563742623419710, +-0.184514601365454220, -0.184465459646202230, -0.184416317465785680, -0.184367174824329240, -0.184318031721954880, -0.184268888158785420, -0.184219744134943740, -0.184170599650552690, +-0.184121454705735150, -0.184072309300614000, -0.184023163435311170, -0.183974017109951320, -0.183924870324656400, -0.183875723079549330, -0.183826575374752940, -0.183777427210390140, +-0.183728278586583750, -0.183679129503456660, -0.183629979961130870, -0.183580829959731020, -0.183531679499379100, -0.183482528580197950, -0.183433377202310510, -0.183384225365839590, +-0.183335073070908160, -0.183285920317638130, -0.183236767106154190, -0.183187613436578330, -0.183138459309033440, -0.183089304723642380, -0.183040149680528090, -0.182990994179813400, +-0.182941838221621240, -0.182892681806073630, -0.182843524933295140, -0.182794367603407860, -0.182745209816534690, -0.182696051572798470, -0.182646892872322110, -0.182597733715228530, +-0.182548574101640630, -0.182499414031680410, -0.182450253505472500, -0.182401092523138990, -0.182351931084802740, -0.182302769190586660, -0.182253606840613670, -0.182204444035006660, +-0.182155280773887650, -0.182106117057381330, -0.182056952885609720, -0.182007788258695710, -0.181958623176762230, -0.181909457639932190, -0.181860291648328540, -0.181811125202074130, +-0.181761958301291020, -0.181712790946103930, -0.181663623136634840, -0.181614454873006680, -0.181565286155342400, -0.181516116983764880, -0.181466947358397110, -0.181417777279361060, +-0.181368606746781460, -0.181319435760780330, -0.181270264321480630, -0.181221092429005250, -0.181171920083477160, -0.181122747285019260, -0.181073574033754490, -0.181024400329804910, +-0.180975226173295200, -0.180926051564347430, -0.180876876503084540, -0.180827700989629440, -0.180778525024105100, -0.180729348606634450, -0.180680171737340410, -0.180630994416345090, +-0.180581816643773150, -0.180532638419746650, -0.180483459744388590, -0.180434280617821850, -0.180385101040169420, -0.180335921011554240, -0.180286740532098370, -0.180237559601926530, +-0.180188378221160790, -0.180139196389924120, -0.180090014108339440, -0.180040831376529740, -0.179991648194617960, -0.179942464562727060, -0.179893280480979110, -0.179844095949498850, +-0.179794910968408330, -0.179745725537830550, -0.179696539657888450, -0.179647353328704990, -0.179598166550403170, -0.179548979323105930, -0.179499791646935360, -0.179450603522016170, +-0.179401414948470510, -0.179352225926421280, -0.179303036455991490, -0.179253846537304110, -0.179204656170482120, -0.179155465355647610, -0.179106274092925320, -0.179057082382437340, +-0.179007890224306630, -0.178958697618656240, -0.178909504565609080, -0.178860311065288160, -0.178811117117816470, -0.178761922723316090, -0.178712727881911810, -0.178663532593725690, +-0.178614336858880730, -0.178565140677499960, -0.178515944049706300, -0.178466746975622810, -0.178417549455371580, -0.178368351489077340, -0.178319153076862220, -0.178269954218849200, +-0.178220754915161320, -0.178171555165921540, -0.178122354971252890, -0.178073154331278320, -0.178023953246120030, -0.177974751715902710, -0.177925549740748510, -0.177876347320780420, +-0.177827144456121490, -0.177777941146894690, -0.177728737393223040, -0.177679533195229530, -0.177630328553036340, -0.177581123466768190, -0.177531917936547210, -0.177482711962496460, +-0.177433505544738940, -0.177384298683397640, -0.177335091378595600, -0.177285883630454940, -0.177236675439100460, -0.177187466804654280, -0.177138257727239460, -0.177089048206978960, +-0.177039838243995860, -0.176990627838413160, -0.176941416990353900, -0.176892205699940210, -0.176842993967296890, -0.176793781792546070, -0.176744569175810830, -0.176695356117214130, +-0.176646142616879050, -0.176596928674928630, -0.176547714291485860, -0.176498499466672950, -0.176449284200614680, -0.176400068493433180, -0.176350852345251500, -0.176301635756192700, +-0.176252418726379810, -0.176203201255935860, -0.176153983344983060, -0.176104764993646160, -0.176055546202047330, -0.176006326970309660, -0.175957107298556180, -0.175907887186909920, +-0.175858666635493930, -0.175809445644431290, -0.175760224213844160, -0.175711002343857340, -0.175661780034593010, -0.175612557286174230, -0.175563334098724040, -0.175514110472365560, +-0.175464886407221770, -0.175415661903414900, -0.175366436961069740, -0.175317211580308500, -0.175267985761254240, -0.175218759504029990, -0.175169532808758850, -0.175120305675563890, +-0.175071078104568150, -0.175021850095893860, -0.174972621649665820, -0.174923392766006210, -0.174874163445038120, -0.174824933686884620, -0.174775703491668790, -0.174726472859513700, +-0.174677241790542420, -0.174628010284877180, -0.174578778342642770, -0.174529545963961420, -0.174480313148956210, -0.174431079897750220, -0.174381846210466540, -0.174332612087228220, +-0.174283377528157510, -0.174234142533379240, -0.174184907103015600, -0.174135671237189680, -0.174086434936024600, -0.174037198199643420, -0.173987961028169240, -0.173938723421725170, +-0.173889485380433420, -0.173840246904418850, -0.173791007993803620, -0.173741768648710910, -0.173692528869263760, -0.173643288655585290, -0.173594048007798570, -0.173544806926026780, +-0.173495565410392070, -0.173446323461019320, -0.173397081078030760, -0.173347838261549510, -0.173298595011698640, -0.173249351328601310, -0.173200107212380610, -0.173150862663158740, +-0.173101617681060580, -0.173052372266208400, -0.173003126418725280, -0.172953880138734360, -0.172904633426358730, -0.172855386281721510, -0.172806138704945820, -0.172756890696153940, +-0.172707642255470670, -0.172658393383018300, -0.172609144078919970, -0.172559894343298770, -0.172510644176277820, -0.172461393577980270, -0.172412142548528350, -0.172362891088046980, +-0.172313639196658350, -0.172264386874485640, -0.172215134121651960, -0.172165880938280450, -0.172116627324494200, -0.172067373280416440, -0.172018118806169320, -0.171968863901877820, +-0.171919608567664140, -0.171870352803651430, -0.171821096609962860, -0.171771839986721520, -0.171722582934050600, -0.171673325452073230, -0.171624067540911670, -0.171574809200690790, +-0.171525550431532920, -0.171476291233561150, -0.171427031606898650, -0.171377771551668580, -0.171328511067994100, -0.171279250155997430, -0.171229988815803540, -0.171180727047534680, +-0.171131464851313970, -0.171082202227264640, -0.171032939175509770, -0.170983675696172570, -0.170934411789376180, -0.170885147455242890, -0.170835882693897570, -0.170786617505462590, +-0.170737351890061030, -0.170688085847816110, -0.170638819378850980, -0.170589552483288800, -0.170540285161252720, -0.170491017412865070, -0.170441749238250760, -0.170392480637532070, +-0.170343211610832160, -0.170293942158274230, -0.170244672279981470, -0.170195401976076990, -0.170146131246683150, -0.170096860091924850, -0.170047588511924420, -0.169998316506805000, +-0.169949044076689790, -0.169899771221701970, -0.169850497941964720, -0.169801224237601240, -0.169751950108733810, -0.169702675555487380, -0.169653400577984280, -0.169604125176347650, +-0.169554849350700730, -0.169505573101166680, -0.169456296427868690, -0.169407019330929080, -0.169357741810472810, -0.169308463866622180, -0.169259185499500390, -0.169209906709230640, +-0.169160627495936130, -0.169111347859740050, -0.169062067800765600, -0.169012787319135080, -0.168963506414973490, -0.168914225088403150, -0.168864943339547210, -0.168815661168528950, +-0.168766378575471500, -0.168717095560498130, -0.168667812123731140, -0.168618528265295470, -0.168569243985313500, -0.168519959283908420, -0.168470674161203450, -0.168421388617321780, +-0.168372102652386670, -0.168322816266521260, -0.168273529459847970, -0.168224242232491690, -0.168174954584574850, -0.168125666516220600, -0.168076378027552180, -0.168027089118692820, +-0.167977799789765740, -0.167928510040894150, -0.167879219872200420, -0.167829929283809520, -0.167780638275843800, -0.167731346848426470, -0.167682055001680790, -0.167632762735729970, +-0.167583470050697240, -0.167534176946705800, -0.167484883423878100, -0.167435589482339030, -0.167386295122210980, -0.167337000343617230, -0.167287705146680950, -0.167238409531525410, +-0.167189113498273870, -0.167139817047048640, -0.167090520177974740, -0.167041222891174570, -0.166991925186771330, -0.166942627064888270, -0.166893328525648640, -0.166844029569175710, +-0.166794730195592680, -0.166745430405021960, -0.166696130197588550, -0.166646829573414780, -0.166597528532623970, -0.166548227075339340, -0.166498925201684130, -0.166449622911781610, +-0.166400320205754150, -0.166351017083726770, -0.166301713545821850, -0.166252409592162640, -0.166203105222872430, -0.166153800438074430, -0.166104495237891950, -0.166055189622448220, +-0.166005883591865630, -0.165956577146269210, -0.165907270285781370, -0.165857963010525330, -0.165808655320624390, -0.165759347216201810, -0.165710038697380880, -0.165660729764283950, +-0.165611420417036080, -0.165562110655759650, -0.165512800480577980, -0.165463489891614270, -0.165414178888991850, -0.165364867472833990, -0.165315555643263950, -0.165266243400404160, +-0.165216930744379630, -0.165167617675312770, -0.165118304193326850, -0.165068990298545190, -0.165019675991091050, -0.164970361271087720, -0.164921046138658490, -0.164871730593925760, +-0.164822414637014610, -0.164773098268047400, -0.164723781487147420, -0.164674464294438020, -0.164625146690042440, -0.164575828674084020, -0.164526510246685990, -0.164477191407970850, +-0.164427872158063560, -0.164378552497086630, -0.164329232425163310, -0.164279911942416900, -0.164230591048970730, -0.164181269744948070, -0.164131948030471350, -0.164082625905665640, +-0.164033303370653360, -0.163983980425557840, -0.163934657070502370, -0.163885333305610230, -0.163836009131004770, -0.163786684546809310, -0.163737359553146220, -0.163688034150140630, +-0.163638708337914970, -0.163589382116592520, -0.163540055486296630, -0.163490728447150570, -0.163441400999277730, -0.163392073142800490, -0.163342744877843950, -0.163293416204530530, +-0.163244087122983580, -0.163194757633326410, -0.163145427735682360, -0.163096097430174720, -0.163046766716926860, -0.162997435596061200, -0.162948104067702800, -0.162898772131974180, +-0.162849439788998600, -0.162800107038899440, -0.162750773881800010, -0.162701440317823630, -0.162652106347092790, -0.162602771969732550, -0.162553437185865370, -0.162504101995614630, +-0.162454766399103610, -0.162405430396455660, -0.162356093987794160, -0.162306757173242420, -0.162257419952922920, -0.162208082326960740, -0.162158744295478360, -0.162109405858599090, +-0.162060067016446320, -0.162010727769143410, -0.161961388116813650, -0.161912048059580430, -0.161862707597566210, -0.161813366730896110, -0.161764025459692570, -0.161714683784078990, +-0.161665341704178680, -0.161615999220115020, -0.161566656332011370, -0.161517313039991090, -0.161467969344176620, -0.161418625244693140, -0.161369280741663070, -0.161319935835209820, +-0.161270590525456700, -0.161221244812527110, -0.161171898696544440, -0.161122552177631110, -0.161073205255912290, -0.161023857931510470, -0.160974510204549000, -0.160925162075151230, +-0.160875813543440580, -0.160826464609540390, -0.160777115273574050, -0.160727765535664040, -0.160678415395935470, -0.160629064854510870, -0.160579713911513630, -0.160530362567067100, +-0.160481010821294650, -0.160431658674319660, -0.160382306126264670, -0.160332953177254790, -0.160283599827412530, -0.160234246076861260, -0.160184891925724380, -0.160135537374125250, +-0.160086182422187310, -0.160036827070033890, -0.159987471317787540, -0.159938115165573380, -0.159888758613513950, -0.159839401661732610, -0.159790044310352760, -0.159740686559497800, +-0.159691328409291120, -0.159641969859855270, -0.159592610911315350, -0.159543251563793900, -0.159493891817414330, -0.159444531672300020, -0.159395171128574400, -0.159345810186360850, +-0.159296448845782760, -0.159247087106962670, -0.159197724970025740, -0.159148362435094500, -0.159098999502292370, -0.159049636171742730, -0.159000272443568990, -0.158950908317894570, +-0.158901543794842890, -0.158852178874536480, -0.158802813557100490, -0.158753447842657460, -0.158704081731330830, -0.158654715223243980, -0.158605348318520330, -0.158555981017283330, +-0.158506613319656380, -0.158457245225761990, -0.158407876735725400, -0.158358507849669090, -0.158309138567716530, -0.158259768889991130, -0.158210398816616280, -0.158161028347715450, +-0.158111657483411160, -0.158062286223828620, -0.158012914569090360, -0.157963542519319820, -0.157914170074640430, -0.157864797235175570, -0.157815424001048750, -0.157766050372383390, +-0.157716676349302000, -0.157667301931929790, -0.157617927120389360, -0.157568551914804070, -0.157519176315297410, -0.157469800321992810, -0.157420423935013740, -0.157371047154482720, +-0.157321669980524940, -0.157272292413262990, -0.157222914452820330, -0.157173536099320360, -0.157124157352886540, -0.157074778213642350, -0.157025398681711230, -0.156976018757215700, +-0.156926638440281010, -0.156877257731029730, -0.156827876629585310, -0.156778495136071200, -0.156729113250610840, -0.156679730973327710, -0.156630348304344360, -0.156580965243786040, +-0.156531581791775290, -0.156482197948435570, -0.156432813713890400, -0.156383429088263170, -0.156334044071677340, -0.156284658664256420, -0.156235272866122990, -0.156185886677402240, +-0.156136500098216810, -0.156087113128690090, -0.156037725768945590, -0.155988338019106780, -0.155938949879297130, -0.155889561349640100, -0.155840172430258300, -0.155790783121276950, +-0.155741393422818620, -0.155692003335006820, -0.155642612857965020, -0.155593221991816660, -0.155543830736685260, -0.155494439092693420, -0.155445047059966340, -0.155395654638626670, +-0.155346261828797850, -0.155296868630603350, -0.155247475044166690, -0.155198081069611360, -0.155148686707060830, -0.155099291956637690, -0.155049896818467200, -0.155000501292671980, +-0.154951105379375480, -0.154901709078701240, -0.154852312390772740, -0.154802915315713410, -0.154753517853646830, -0.154704120004695580, -0.154654721768984900, -0.154605323146637410, +-0.154555924137776610, -0.154506524742526020, -0.154457124961009080, -0.154407724793349350, -0.154358324239669440, -0.154308923300094600, -0.154259521974747430, -0.154210120263751470, +-0.154160718167230200, -0.154111315685307140, -0.154061912818105800, -0.154012509565749660, -0.153963105928361380, -0.153913701906066210, -0.153864297498986780, -0.153814892707246630, +-0.153765487530969220, -0.153716081970278080, -0.153666676025296770, -0.153617269696147890, -0.153567862982956690, -0.153518455885845840, -0.153469048404938860, -0.153419640540359250, +-0.153370232292230540, -0.153320823660676260, -0.153271414645819920, -0.153222005247784150, -0.153172595466694260, -0.153123185302672880, -0.153073774755843520, -0.153024363826329750, +-0.152974952514255050, -0.152925540819742970, -0.152876128742917030, -0.152826716283899900, -0.152777303442816870, -0.152727890219790580, -0.152678476614944550, -0.152629062628402340, +-0.152579648260287470, -0.152530233510723480, -0.152480818379833020, -0.152431402867741400, -0.152381986974571280, -0.152332570700446170, -0.152283154045489640, -0.152233737009825230, +-0.152184319593576510, -0.152134901796866950, -0.152085483619819270, -0.152036065062558760, -0.151986646125208070, -0.151937226807890790, -0.151887807110730440, -0.151838387033850550, +-0.151788966577374700, -0.151739545741426450, -0.151690124526128460, -0.151640702931606000, -0.151591280957981830, -0.151541858605379410, -0.151492435873922390, -0.151443012763734260, +-0.151393589274938590, -0.151344165407658080, -0.151294741162018020, -0.151245316538141130, -0.151195891536150930, -0.151146466156171030, -0.151097040398324920, -0.151047614262736250, +-0.150998187749528530, -0.150948760858824440, -0.150899333590749360, -0.150849905945425910, -0.150800477922977740, -0.150751049523528330, -0.150701620747201340, -0.150652191594120270, +-0.150602762064407840, -0.150553332158189390, -0.150503901875587630, -0.150454471216726090, -0.150405040181728370, -0.150355608770718070, -0.150306176983818730, -0.150256744821153950, +-0.150207312282846450, -0.150157879369021530, -0.150108446079801920, -0.150059012415311170, -0.150009578375672910, -0.149960143961010710, -0.149910709171448140, -0.149861274007108800, +-0.149811838468115380, -0.149762402554593280, -0.149712966266665140, -0.149663529604454610, -0.149614092568085220, -0.149564655157680640, -0.149515217373364400, -0.149465779215259250, +-0.149416340683490520, -0.149366901778180930, -0.149317462499454100, -0.149268022847433600, -0.149218582822243070, -0.149169142424006060, -0.149119701652846190, -0.149070260508886190, +-0.149020818992251450, -0.148971377103064630, -0.148921934841449360, -0.148872492207529270, -0.148823049201427940, -0.148773605823269010, -0.148724162073176040, -0.148674717951271800, +-0.148625273457681640, -0.148575828592528300, -0.148526383355935380, -0.148476937748026510, -0.148427491768925310, -0.148378045418755350, -0.148328598697639400, -0.148279151605702850, +-0.148229704143068410, -0.148180256309859730, -0.148130808106200380, -0.148081359532214020, -0.148031910588024260, -0.147982461273754720, -0.147933011589528180, -0.147883561535469940, +-0.147834111111702830, -0.147784660318350440, -0.147735209155536400, -0.147685757623384320, -0.147636305722017860, -0.147586853451559750, -0.147537400812135400, -0.147487947803867540, +-0.147438494426879780, -0.147389040681295820, -0.147339586567239250, -0.147290132084833710, -0.147240677234202870, -0.147191222015469410, -0.147141766428758810, -0.147092310474193770, +-0.147042854151897970, -0.146993397461995020, -0.146943940404608590, -0.146894482979862300, -0.146845025187879810, -0.146795567028783880, -0.146746108502699900, -0.146696649609750650, +-0.146647190350059770, -0.146597730723750930, -0.146548270730947760, -0.146498810371773920, -0.146449349646352170, -0.146399888554807900, -0.146350427097263950, -0.146300965273843900, +-0.146251503084671440, -0.146202040529870240, -0.146152577609563930, -0.146103114323876180, -0.146053650672929770, -0.146004186656850110, -0.145954722275759950, -0.145905257529783030, +-0.145855792419042950, -0.145806326943663380, -0.145756861103768010, -0.145707394899480480, -0.145657928330923560, -0.145608461398222730, -0.145558994101500750, -0.145509526440881250, +-0.145460058416487960, -0.145410590028444530, -0.145361121276874620, -0.145311652161901010, -0.145262182683649150, -0.145212712842241850, -0.145163242637802750, -0.145113772070455560, +-0.145064301140323950, -0.145014829847531560, -0.144965358192202100, -0.144915886174458390, -0.144866413794425830, -0.144816941052227230, -0.144767467947986280, -0.144717994481826650, +-0.144668520653872030, -0.144619046464246140, -0.144569571913071740, -0.144520097000474270, -0.144470621726576600, -0.144421146091502330, -0.144371670095375220, -0.144322193738318920, +-0.144272717020457160, -0.144223239941913580, -0.144173762502811050, -0.144124284703274960, -0.144074806543428190, -0.144025328023394380, -0.143975849143297250, -0.143926369903260520, +-0.143876890303407860, -0.143827410343862950, -0.143777930024748650, -0.143728449346190420, -0.143678968308311030, -0.143629486911234260, -0.143580005155083760, -0.143530523039983230, +-0.143481040566056400, -0.143431557733426080, -0.143382074542217770, -0.143332590992554270, -0.143283107084559270, -0.143233622818356530, -0.143184138194069720, -0.143134653211822560, +-0.143085167871738780, -0.143035682173941190, -0.142986196118555260, -0.142936709705703880, -0.142887222935510680, -0.142837735808099440, -0.142788248323593880, -0.142738760482117670, +-0.142689272283794580, -0.142639783728747440, -0.142590294817101700, -0.142540805548980220, -0.142491315924506730, -0.142441825943804940, -0.142392335606998630, -0.142342844914211420, +-0.142293353865566270, -0.142243862461188590, -0.142194370701201250, -0.142144878585728000, -0.142095386114892530, -0.142045893288818610, -0.141996400107629960, -0.141946906571450320, +-0.141897412680402510, -0.141847918434612060, -0.141798423834201800, -0.141748928879295490, -0.141699433570016850, -0.141649937906489640, -0.141600441888837580, -0.141550945517183530, +-0.141501448791653020, -0.141451951712368850, -0.141402454279454830, -0.141352956493034670, -0.141303458353232100, -0.141253959860170920, -0.141204461013974820, -0.141154961814766670, +-0.141105462262672010, -0.141055962357813700, -0.141006462100315480, -0.140956961490301120, -0.140907460527894320, -0.140857959213218890, -0.140808457546398590, -0.140758955527556240, +-0.140709453156817380, -0.140659950434304880, -0.140610447360142500, -0.140560943934454010, -0.140511440157363170, -0.140461936028993730, -0.140412431549468560, -0.140362926718913180, +-0.140313421537450520, -0.140263916005204270, -0.140214410122298240, -0.140164903888856190, -0.140115397305001890, -0.140065890370859090, -0.140016383086550680, -0.139966875452202180, +-0.139917367467936510, -0.139867859133877420, -0.139818350450148680, -0.139768841416874040, -0.139719332034177330, -0.139669822302182280, -0.139620312221011790, -0.139570801790791400, +-0.139521291011644010, -0.139471779883693390, -0.139422268407063320, -0.139372756581877560, -0.139323244408259940, -0.139273731886333320, -0.139224219016223260, -0.139174705798052630, +-0.139125192231945250, -0.139075678318024860, -0.139026164056415300, -0.138976649447240340, -0.138927134490623740, -0.138877619186688420, -0.138828103535559970, -0.138778587537361220, +-0.138729071192216000, -0.138679554500248130, -0.138630037461581370, -0.138580520076339500, -0.138531002344645440, -0.138481484266624770, -0.138431965842400390, -0.138382447072096100, +-0.138332927955835680, -0.138283408493742960, -0.138233888685941690, -0.138184368532555720, -0.138134848033707960, -0.138085327189523930, -0.138035806000126600, -0.137986284465639760, +-0.137936762586187200, -0.137887240361892730, -0.137837717792880150, -0.137788194879272410, -0.137738671621195070, -0.137689148018771050, -0.137639624072124130, -0.137590099781378180, +-0.137540575146656960, -0.137491050168084330, -0.137441524845784060, -0.137391999179879100, -0.137342473170495030, -0.137292946817754750, -0.137243420121782120, -0.137193893082700940, +-0.137144365700635010, -0.137094837975708210, -0.137045309908044280, -0.136995781497766200, -0.136946252744999550, -0.136896723649867270, -0.136847194212493170, -0.136797664433001090, +-0.136748134311514860, -0.136698603848158300, -0.136649073043055210, -0.136599541896328560, -0.136550010408103940, -0.136500478578504280, -0.136450946407653460, -0.136401413895675230, +-0.136351881042693500, -0.136302347848832050, -0.136252814314213850, -0.136203280438964510, -0.136153746223206950, -0.136104211667065020, -0.136054676770662570, -0.136005141534123440, +-0.135955605957571450, -0.135906070041130450, -0.135856533784923380, -0.135806997189075850, -0.135757460253710850, -0.135707922978952210, -0.135658385364923720, -0.135608847411749310, +-0.135559309119552750, -0.135509770488457050, -0.135460231518587800, -0.135410692210067960, -0.135361152563021420, -0.135311612577571960, -0.135262072253843510, -0.135212531591959840, +-0.135162990592044870, -0.135113449254221530, -0.135063907578615440, -0.135014365565349600, -0.134964823214547840, -0.134915280526334030, -0.134865737500832000, -0.134816194138165650, +-0.134766650438457920, -0.134717106401834430, -0.134667562028418200, -0.134618017318333030, -0.134568472271702850, -0.134518926888651500, -0.134469381169302790, -0.134419835113780670, +-0.134370288722208050, -0.134320741994710590, -0.134271194931411290, -0.134221647532433990, -0.134172099797902590, -0.134122551727940940, -0.134073003322672880, -0.134023454582222340, +-0.133973905506712290, -0.133924356096268320, -0.133874806351013480, -0.133825256271071640, -0.133775705856566650, -0.133726155107622370, -0.133676604024362740, -0.133627052606911570, +-0.133577500855391910, -0.133527948769929380, -0.133478396350646960, -0.133428843597668540, -0.133379290511118050, -0.133329737091119310, -0.133280183337796230, -0.133230629251271800, +-0.133181074831671690, -0.133131520079118880, -0.133081964993737280, -0.133032409575650770, -0.132982853824983230, -0.132933297741858580, -0.132883741326400660, -0.132834184578732500, +-0.132784627498979790, -0.132735070087265480, -0.132685512343713510, -0.132635954268447760, -0.132586395861592130, -0.132536837123270500, -0.132487278053605880, -0.132437718652723970, +-0.132388158920747760, -0.132338598857801140, -0.132289038464008020, -0.132239477739492320, -0.132189916684377930, -0.132140355298788730, -0.132090793582847780, -0.132041231536680710, +-0.131991669160410580, -0.131942106454161270, -0.131892543418056700, -0.131842980052220750, -0.131793416356777350, -0.131743852331849540, -0.131694287977563000, -0.131644723294040730, +-0.131595158281406640, -0.131545592939784660, -0.131496027269298680, -0.131446461270072650, -0.131396894942230450, -0.131347328285895150, -0.131297761301192420, -0.131248193988245250, +-0.131198626347177630, -0.131149058378113440, -0.131099490081176580, -0.131049921456491030, -0.131000352504180660, -0.130950783224368510, -0.130901213617180300, -0.130851643682739050, +-0.130802073421168700, -0.130752502832593150, -0.130702931917136360, -0.130653360674922230, -0.130603789106074700, -0.130554217210716830, -0.130504644988974290, -0.130455072440970130, +-0.130405499566828290, -0.130355926366672700, -0.130306352840627300, -0.130256778988816020, -0.130207204811361920, -0.130157630308390670, -0.130108055480025350, -0.130058480326389890, +-0.130008904847608240, -0.129959329043804310, -0.129909752915102070, -0.129860176461625450, -0.129810599683497510, -0.129761022580843930, -0.129711445153787820, -0.129661867402453080, +-0.129612289326963700, -0.129562710927443560, -0.129513132204016670, -0.129463553156806050, -0.129413973785937410, -0.129364394091533890, -0.129314814073719340, -0.129265233732617780, +-0.129215653068353110, -0.129166072081049330, -0.129116490770830370, -0.129066909137819290, -0.129017327182141820, -0.128967744903921040, -0.128918162303280880, -0.128868579380345320, +-0.128818996135238340, -0.128769412568083830, -0.128719828679004940, -0.128670244468127330, -0.128620659935574140, -0.128571075081469280, -0.128521489905936730, -0.128471904409100470, +-0.128422318591084440, -0.128372732452012610, -0.128323145992008090, -0.128273559211196570, -0.128223972109701130, -0.128174384687645780, -0.128124796945154470, -0.128075208882351160, +-0.128025620499359840, -0.127976031796304480, -0.127926442773308140, -0.127876853430496570, -0.127827263767992890, -0.127777673785921030, -0.127728083484404980, -0.127678492863568720, +-0.127628901923536240, -0.127579310664431510, -0.127529719086377610, -0.127480127189500300, -0.127430534973922680, -0.127380942439768720, -0.127331349587162380, -0.127281756416227710, +-0.127232162927088610, -0.127182569119868250, -0.127132974994692340, -0.127083380551683970, -0.127033785790967160, -0.126984190712665900, -0.126934595316904150, -0.126884999603805920, +-0.126835403573495180, -0.126785807226095060, -0.126736210561731290, -0.126686613580527020, -0.126637016282606210, -0.126587418668092840, -0.126537820737110920, -0.126488222489784470, +-0.126438623926236560, -0.126389025046593000, -0.126339425850976850, -0.126289826339512160, -0.126240226512322890, -0.126190626369533040, -0.126141025911266660, -0.126091425137647680, +-0.126041824048799270, -0.125992222644847190, -0.125942620925914540, -0.125893018892125340, -0.125843416543603620, -0.125793813880473340, -0.125744210902858510, -0.125694607610882280, +-0.125645004004670410, -0.125595400084346030, -0.125545795850033170, -0.125496191301855800, -0.125446586439937950, -0.125396981264403630, -0.125347375775376880, -0.125297769972980780, +-0.125248163857341170, -0.125198557428581130, -0.125148950686824690, -0.125099343632195910, -0.125049736264818720, -0.125000128584817210, -0.124950520592315400, -0.124900912287436380, +-0.124851303670305970, -0.124801694741047310, -0.124752085499784410, -0.124702475946641290, -0.124652866081741980, -0.124603255905210500, -0.124553645417170000, -0.124504034617746270, +-0.124454423507062470, -0.124404812085242590, -0.124355200352410680, -0.124305588308690790, -0.124255975954206910, -0.124206363289083090, -0.124156750313442490, -0.124107137027410900, +-0.124057523431111450, -0.124007909524668210, -0.123958295308205180, -0.123908680781846430, -0.123859065945715950, -0.123809450799937830, -0.123759835344635190, -0.123710219579933850, +-0.123660603505956960, -0.123610987122828560, -0.123561370430672700, -0.123511753429613400, -0.123462136119774720, -0.123412518501279820, -0.123362900574254500, -0.123313282338821940, +-0.123263663795106170, -0.123214044943231240, -0.123164425783321190, -0.123114806315500090, -0.123065186539891970, -0.123015566456620000, -0.122965946065809990, -0.122916325367585120, +-0.122866704362069440, -0.122817083049386990, -0.122767461429661840, -0.122717839503018040, -0.122668217269578740, -0.122618594729469800, -0.122568971882814360, -0.122519348729736510, +-0.122469725270360260, -0.122420101504809710, -0.122370477433208920, -0.122320853055681920, -0.122271228372351910, -0.122221603383344720, -0.122171978088783490, -0.122122352488792340, +-0.122072726583495310, -0.122023100373016460, -0.121973473857479860, -0.121923847037009580, -0.121874219911728800, -0.121824592481763330, -0.121774964747236400, -0.121725336708272060, +-0.121675708364994380, -0.121626079717527410, -0.121576450765995260, -0.121526821510521090, -0.121477191951230750, -0.121427562088247430, -0.121377931921695200, -0.121328301451698150, +-0.121278670678380340, -0.121229039601865860, -0.121179408222278780, -0.121129776539742300, -0.121080144554382250, -0.121030512266321850, -0.120980879675685160, -0.120931246782596270, +-0.120881613587179280, -0.120831980089558240, -0.120782346289857250, -0.120732712188199520, -0.120683077784710880, -0.120633443079514550, -0.120583808072734620, -0.120534172764495170, +-0.120484537154920290, -0.120434901244134060, -0.120385265032259690, -0.120335628519423050, -0.120285991705747330, -0.120236354591356630, -0.120186717176375050, -0.120137079460926680, +-0.120087441445135600, -0.120037803129125930, -0.119988164513020860, -0.119938525596946260, -0.119888886381025350, -0.119839246865382230, -0.119789607050140990, -0.119739966935425730, +-0.119690326521360550, -0.119640685808068680, -0.119591044795675960, -0.119541403484305640, -0.119491761874081820, -0.119442119965128590, -0.119392477757570060, -0.119342835251530330, +-0.119293192447133520, -0.119243549344502830, -0.119193905943764170, -0.119144262245040720, -0.119094618248456640, -0.119044973954136000, -0.118995329362202930, -0.118945684472781530, +-0.118896039285995930, -0.118846393801969350, -0.118796748020827670, -0.118747101942694100, -0.118697455567692790, -0.118647808895947840, -0.118598161927583360, -0.118548514662723480, +-0.118498867101491430, -0.118449219244013110, -0.118399571090411730, -0.118349922640811410, -0.118300273895336300, -0.118250624854110500, -0.118200975517258140, -0.118151325884903350, +-0.118101675957169350, -0.118052025734182040, -0.118002375216064670, -0.117952724402941370, -0.117903073294936250, -0.117853421892173450, -0.117803770194777100, -0.117754118202871310, +-0.117704465916579350, -0.117654813336027110, -0.117605160461337840, -0.117555507292635660, -0.117505853830044720, -0.117456200073689130, -0.117406546023693060, -0.117356891680179740, +-0.117307237043275060, -0.117257582113102300, -0.117207926889785580, -0.117158271373449040, -0.117108615564216830, -0.117058959462213060, -0.117009303067561910, -0.116959646380386630, +-0.116909989400813100, -0.116860332128964600, -0.116810674564965260, -0.116761016708939250, -0.116711358561010680, -0.116661700121303740, -0.116612041389941650, -0.116562382367050340, +-0.116512723052753080, -0.116463063447174000, -0.116413403550437280, -0.116363743362667030, -0.116314082883987440, -0.116264422114522630, -0.116214761054395890, -0.116165099703733120, +-0.116115438062657620, -0.116065776131293500, -0.116016113909764960, -0.115966451398196130, -0.115916788596711170, -0.115867125505434240, -0.115817462124488610, -0.115767798454000200, +-0.115718134494092310, -0.115668470244889080, -0.115618805706514670, -0.115569140879093240, -0.115519475762748970, -0.115469810357605120, -0.115420144663787640, -0.115370478681419780, +-0.115320812410625740, -0.115271145851529660, -0.115221479004255710, -0.115171811868928070, -0.115122144445670900, -0.115072476734607480, -0.115022808735863760, -0.114973140449563010, +-0.114923471875829420, -0.114873803014787140, -0.114824133866560360, -0.114774464431273250, -0.114724794709049960, -0.114675124700013810, -0.114625454404290730, -0.114575783822004020, +-0.114526112953277840, -0.114476441798236390, -0.114426770357003830, -0.114377098629704340, -0.114327426616461230, -0.114277754317400430, -0.114228081732645250, -0.114178408862319860, +-0.114128735706548450, -0.114079062265455190, -0.114029388539164290, -0.113979714527799910, -0.113930040231485370, -0.113880365650346610, -0.113830690784506930, -0.113781015634090530, +-0.113731340199221580, -0.113681664480024290, -0.113631988476622830, -0.113582312189140530, -0.113532635617703310, -0.113482958762434510, -0.113433281623458320, -0.113383604200898940, +-0.113333926494880530, -0.113284248505527300, -0.113234570232963460, -0.113184891677312300, -0.113135212838699800, -0.113085533717249280, -0.113035854313084910, -0.112986174626330910, +-0.112936494657111470, -0.112886814405550790, -0.112837133871773090, -0.112787453055901650, -0.112737771958062480, -0.112688090578378880, -0.112638408916975030, -0.112588726973975180, +-0.112539044749503510, -0.112489362243684220, -0.112439679456640660, -0.112389996388498770, -0.112340313039381880, -0.112290629409414210, -0.112240945498719980, -0.112191261307423380, +-0.112141576835648630, -0.112091892083519940, -0.112042207051160620, -0.111992521738696680, -0.111942836146251430, -0.111893150273949100, -0.111843464121913890, -0.111793777690270020, +-0.111744090979141700, -0.111694403988653160, -0.111644716718927710, -0.111595029170091370, -0.111545341342267440, -0.111495653235580180, -0.111445964850153780, -0.111396276186112450, +-0.111346587243580440, -0.111296898022681080, -0.111247208523540360, -0.111197518746281630, -0.111147828691029090, -0.111098138357906970, -0.111048447747039520, -0.110998756858550940, +-0.110949065692565480, -0.110899374249206460, -0.110849682528599890, -0.110799990530869110, -0.110750298256138370, -0.110700605704531870, -0.110650912876173860, -0.110601219771188570, +-0.110551526389699340, -0.110501832731832190, -0.110452138797710440, -0.110402444587458360, -0.110352750101200160, -0.110303055339060080, -0.110253360301162380, -0.110203664987631260, +-0.110153969398590110, -0.110104273534164910, -0.110054577394479030, -0.110004880979656700, -0.109955184289822180, -0.109905487325099690, -0.109855790085613480, -0.109806092571487800, +-0.109756394782846000, -0.109706696719814100, -0.109656998382515470, -0.109607299771074320, -0.109557600885614950, -0.109507901726261560, -0.109458202293138410, -0.109408502586368870, +-0.109358802606078970, -0.109309102352392070, -0.109259401825432400, -0.109209701025324220, -0.109159999952191790, -0.109110298606159370, -0.109060596987351200, -0.109010895095890650, +-0.108961192931903760, -0.108911490495513870, -0.108861787786845260, -0.108812084806022180, -0.108762381553168890, -0.108712678028409640, -0.108662974231868710, -0.108613270163669450, +-0.108563565823937900, -0.108513861212797440, -0.108464156330372320, -0.108414451176786820, -0.108364745752165180, -0.108315040056631670, -0.108265334090309700, -0.108215627853325250, +-0.108165921345801750, -0.108116214567863440, -0.108066507519634590, -0.108016800201239480, -0.107967092612802370, -0.107917384754447520, -0.107867676626298330, -0.107817968228480830, +-0.107768259561118410, -0.107718550624335340, -0.107668841418255890, -0.107619131943004350, -0.107569422198704970, -0.107519712185481150, -0.107470001903458940, -0.107420291352761710, +-0.107370580533513770, -0.107320869445839360, -0.107271158089862800, -0.107221446465708330, -0.107171734573500250, -0.107122022413361940, -0.107072309985419470, -0.107022597289796210, +-0.106972884326616470, -0.106923171096004520, -0.106873457598084640, -0.106823743832981110, -0.106774029800818220, -0.106724315501719390, -0.106674600935810630, -0.106624886103215380, +-0.106575171004057920, -0.106525455638462520, -0.106475740006553490, -0.106426024108455100, -0.106376307944290770, -0.106326591514186570, -0.106276874818265880, -0.106227157856653000, +-0.106177440629472220, -0.106127723136847850, -0.106078005378904160, -0.106028287355765470, -0.105978569067555180, -0.105928850514399330, -0.105879131696421370, -0.105829412613745580, +-0.105779693266496260, -0.105729973654797690, -0.105680253778774210, -0.105630533638550090, -0.105580813234248740, -0.105531092565996240, -0.105481371633916020, -0.105431650438132370, +-0.105381928978769590, -0.105332207255951990, -0.105282485269803870, -0.105232763020448660, -0.105183040508012420, -0.105133317732618580, -0.105083594694391440, -0.105033871393455320, +-0.104984147829934520, -0.104934424003953350, -0.104884699915636120, -0.104834975565106250, -0.104785250952489830, -0.104735526077910280, -0.104685800941491940, -0.104636075543359060, +-0.104586349883636020, -0.104536623962447090, -0.104486897779915710, -0.104437171336167990, -0.104387444631327330, -0.104337717665518050, -0.104287990438864500, -0.104238262951490950, +-0.104188535203521750, -0.104138807195081210, -0.104089078926292780, -0.104039350397282530, -0.103989621608173900, -0.103939892559091220, -0.103890163250158800, -0.103840433681500990, +-0.103790703853242090, -0.103740973765506410, -0.103691243418417430, -0.103641512812101220, -0.103591781946681240, -0.103542050822281790, -0.103492319439027220, -0.103442587797041850, +-0.103392855896450020, -0.103343123737375160, -0.103293391319943360, -0.103243658644278090, -0.103193925710503680, -0.103144192518744460, -0.103094459069124750, -0.103044725361768900, +-0.102994991396801220, -0.102945257174345190, -0.102895522694526900, -0.102845787957469810, -0.102796052963298230, -0.102746317712136530, -0.102696582204109040, -0.102646846439340090, +-0.102597110417953150, -0.102547374140074300, -0.102497637605827030, -0.102447900815335650, -0.102398163768724530, -0.102348426466118000, -0.102298688907640410, -0.102248951093416090, +-0.102199213023568510, -0.102149474698223770, -0.102099736117505350, -0.102049997281537600, -0.102000258190444850, -0.101950518844351450, -0.101900779243381760, -0.101851039387660120, +-0.101801299277309990, -0.101751558912457500, -0.101701818293226120, -0.101652077419740190, -0.101602336292124060, -0.101552594910502100, -0.101502853274998650, -0.101453111385737180, +-0.101403369242843820, -0.101353626846442030, -0.101303884196656170, -0.101254141293610610, -0.101204398137429690, -0.101154654728237790, -0.101104911066159240, -0.101055167151317530, +-0.101005422983838790, -0.100955678563846480, -0.100905933891464970, -0.100856188966818650, -0.100806443790031840, -0.100756698361228930, -0.100706952680533380, -0.100657206748071340, +-0.100607460563966290, -0.100557714128342570, -0.100507967441324580, -0.100458220503036650, -0.100408473313603200, -0.100358725873148550, -0.100308978181796200, -0.100259230239672290, +-0.100209482046900310, -0.100159733603604610, -0.100109984909909590, -0.100060235965939600, -0.100010486771819030, -0.099960737327672244, -0.099910987633622717, -0.099861237689796614, +-0.099811487496317422, -0.099761737053309499, -0.099711986360897231, -0.099662235419205006, -0.099612484228357195, -0.099562732788477284, -0.099512981099691436, -0.099463229162123121, +-0.099413476975896739, -0.099363724541136664, -0.099313971857967281, -0.099264218926512965, -0.099214465746898101, -0.099164712319246187, -0.099114958643683387, -0.099065204720333172, +-0.099015450549319955, -0.098965696130768124, -0.098915941464802037, -0.098866186551546095, -0.098816431391124698, -0.098766675983661331, -0.098716920329282157, -0.098667164428110687, +-0.098617408280271310, -0.098567651885888397, -0.098517895245086362, -0.098468138357989593, -0.098418381224721602, -0.098368623845408523, -0.098318866220173898, -0.098269108349142098, +-0.098219350232437538, -0.098169591870184592, -0.098119833262507672, -0.098070074409531166, -0.098020315311378586, -0.097970555968176110, -0.097920796380047248, -0.097871036547116388, +-0.097821276469507931, -0.097771516147346291, -0.097721755580755867, -0.097671994769860160, -0.097622233714785345, -0.097572472415654962, -0.097522710872593385, -0.097472949085725027, +-0.097423187055174304, -0.097373424781065615, -0.097323662263523361, -0.097273899502671082, -0.097224136498634914, -0.097174373251538423, -0.097124609761505984, -0.097074846028662037, +-0.097025082053130970, -0.096975317835037184, -0.096925553374505119, -0.096875788671658289, -0.096826023726622856, -0.096776258539522375, -0.096726493110481246, -0.096676727439623883, +-0.096626961527074701, -0.096577195372958113, -0.096527428977397647, -0.096477662340519507, -0.096427895462447205, -0.096378128343305169, -0.096328360983217801, -0.096278593382309541, +-0.096228825540704790, -0.096179057458527978, -0.096129289135902643, -0.096079520572954963, -0.096029751769808491, -0.095979982726587629, -0.095930213443416817, -0.095880443920420458, +-0.095830674157723006, -0.095780904155448862, -0.095731133913721581, -0.095681363432667338, -0.095631592712409688, -0.095581821753073060, -0.095532050554781880, -0.095482279117660565, +-0.095432507441833556, -0.095382735527424392, -0.095332963374559279, -0.095283190983361757, -0.095233418353956253, -0.095183645486467211, -0.095133872381019058, -0.095084099037736208, +-0.095034325456743118, -0.094984551638163342, -0.094934777582123056, -0.094885003288745828, -0.094835228758156101, -0.094785453990478288, -0.094735678985836846, -0.094685903744356217, +-0.094636128266159941, -0.094586352551374223, -0.094536576600122615, -0.094486800412529576, -0.094437023988719532, -0.094387247328816939, -0.094337470432946213, -0.094287693301231823, +-0.094237915933797309, -0.094188138330768889, -0.094138360492270132, -0.094088582418425465, -0.094038804109359345, -0.093989025565196213, -0.093939246786060512, -0.093889467772076698, +-0.093839688523368339, -0.093789909040061625, -0.093740129322280152, -0.093690349370148363, -0.093640569183790684, -0.093590788763331587, -0.093541008108895526, -0.093491227220606057, +-0.093441446098589398, -0.093391664742969130, -0.093341883153869695, -0.093292101331415550, -0.093242319275731164, -0.093192536986940966, -0.093142754465169439, -0.093092971710540137, +-0.093043188723179279, -0.092993405503210461, -0.092943622050758123, -0.092893838365946738, -0.092844054448900759, -0.092794270299744630, -0.092744485918602834, -0.092694701305598939, +-0.092644916460859178, -0.092595131384507118, -0.092545346076667229, -0.092495560537463981, -0.092445774767021829, -0.092395988765465245, -0.092346202532917795, -0.092296416069505727, +-0.092246629375352621, -0.092196842450582947, -0.092147055295321162, -0.092097267909691735, -0.092047480293819137, -0.091997692447827850, -0.091947904371841443, -0.091898116065986149, +-0.091848327530385576, -0.091798538765164181, -0.091748749770446433, -0.091698960546356817, -0.091649171093019802, -0.091599381410558969, -0.091549591499100580, -0.091499801358768201, +-0.091450010989686317, -0.091400220391979412, -0.091350429565771940, -0.091300638511188414, -0.091250847228353291, -0.091201055717390150, -0.091151263978425268, -0.091101472011582224, +-0.091051679816985490, -0.091001887394759562, -0.090952094745028925, -0.090902301867918034, -0.090852508763551401, -0.090802715432052608, -0.090752921873547915, -0.090703128088160917, +-0.090653334076016098, -0.090603539837237942, -0.090553745371950933, -0.090503950680279555, -0.090454155762347430, -0.090404360618280791, -0.090354565248203261, -0.090304769652239311, +-0.090254973830513438, -0.090205177783150126, -0.090155381510273871, -0.090105585012009173, -0.090055788288479613, -0.090005991339811478, -0.089956194166128350, -0.089906396767554755, +-0.089856599144215163, -0.089806801296234057, -0.089757003223735962, -0.089707204926845363, -0.089657406405685855, -0.089607607660383726, -0.089557808691062571, -0.089508009497846902, +-0.089458210080861203, -0.089408410440229985, -0.089358610576077732, -0.089308810488528081, -0.089259010177707279, -0.089209209643738949, -0.089159408886747601, -0.089109607906857721, +-0.089059806704193833, -0.089010005278880422, -0.088960203631041998, -0.088910401760802185, -0.088860599668287257, -0.088810797353620824, -0.088760994816927397, -0.088711192058331473, +-0.088661389077957578, -0.088611585875930210, -0.088561782452372992, -0.088511978807412212, -0.088462174941171479, -0.088412370853775304, -0.088362566545348201, -0.088312762016014679, +-0.088262957265899264, -0.088213152295126454, -0.088163347103819872, -0.088113541692105807, -0.088063736060107894, -0.088013930207950633, -0.087964124135758548, -0.087914317843656165, +-0.087864511331767967, -0.087814704600218507, -0.087764897649131396, -0.087715090478632921, -0.087665283088846732, -0.087615475479897315, -0.087565667651909221, -0.087515859605006963, +-0.087466051339315051, -0.087416242854957124, -0.087366434152059483, -0.087316625230745751, -0.087266816091140453, -0.087217006733368116, -0.087167197157553264, -0.087117387363820423, +-0.087067577352294104, -0.087017767123097972, -0.086967956676358288, -0.086918146012198730, -0.086868335130743796, -0.086818524032118025, -0.086768712716445942, -0.086718901183852087, +-0.086669089434460972, -0.086619277468396247, -0.086569465285784214, -0.086519652886748524, -0.086469840271413703, -0.086420027439904276, -0.086370214392344782, -0.086320401128859747, +-0.086270587649572822, -0.086220773954610322, -0.086170960044095885, -0.086121145918154049, -0.086071331576909341, -0.086021517020486313, -0.085971702249009491, -0.085921887262603414, +-0.085872072061391733, -0.085822256645500750, -0.085772441015054129, -0.085722625170176411, -0.085672809110992121, -0.085622992837625811, -0.085573176350202021, -0.085523359648844402, +-0.085473542733679284, -0.085423725604830289, -0.085373908262421999, -0.085324090706578926, -0.085274272937425621, -0.085224454955086640, -0.085174636759686520, -0.085124818351348927, +-0.085074999730200176, -0.085025180896363919, -0.084975361849964723, -0.084925542591127098, -0.084875723119975641, -0.084825903436634861, -0.084776083541229327, -0.084726263433882704, +-0.084676443114721306, -0.084626622583868785, -0.084576801841449722, -0.084526980887588657, -0.084477159722410128, -0.084427338346038716, -0.084377516758598059, -0.084327694960214500, +-0.084277872951011704, -0.084228050731114223, -0.084178228300646626, -0.084128405659733438, -0.084078582808499253, -0.084028759747068610, -0.083978936475565175, -0.083929112994115290, +-0.083879289302842622, -0.083829465401871722, -0.083779641291327173, -0.083729816971333512, -0.083679992442015308, -0.083630167703497127, -0.083580342755902634, -0.083530517599358173, +-0.083480692233987422, -0.083430866659914935, -0.083381040877265292, -0.083331214886163033, -0.083281388686732738, -0.083231562279098101, -0.083181735663385423, -0.083131908839718424, +-0.083082081808221644, -0.083032254569019665, -0.082982427122237037, -0.082932599467998358, -0.082882771606428166, -0.082832943537650167, -0.082783115261790691, -0.082733286778973431, +-0.082683458089322953, -0.082633629192963826, -0.082583800090020629, -0.082533970780617943, -0.082484141264879435, -0.082434311542931446, -0.082384481614897698, -0.082334651480902743, +-0.082284821141071149, -0.082234990595527510, -0.082185159844396394, -0.082135328887802367, -0.082085497725869150, -0.082035666358723058, -0.081985834786487813, -0.081936003009287980, +-0.081886171027248142, -0.081836338840492864, -0.081786506449146743, -0.081736673853334357, -0.081686841053179401, -0.081637008048808232, -0.081587174840344542, -0.081537341427912913, +-0.081487507811637938, -0.081437673991644186, -0.081387839968056250, -0.081338005740997824, -0.081288171310595264, -0.081238336676972292, -0.081188501840253474, -0.081138666800563392, +-0.081088831558026653, -0.081038996112767839, -0.080989160464911517, -0.080939324614581420, -0.080889488561903894, -0.080839652307002657, -0.080789815850002278, -0.080739979191027364, +-0.080690142330202497, -0.080640305267652285, -0.080590468003501295, -0.080540630537873262, -0.080490792870894529, -0.080440955002688816, -0.080391116933380719, -0.080341278663094831, +-0.080291440191955749, -0.080241601520088052, -0.080191762647615475, -0.080141923574664375, -0.080092084301358474, -0.080042244827822351, -0.079992405154180629, -0.079942565280557876, +-0.079892725207078727, -0.079842884933867764, -0.079793044461048693, -0.079743203788747899, -0.079693362917089103, -0.079643521846196885, -0.079593680576195869, -0.079543839107210662, +-0.079493997439365846, -0.079444155572785155, -0.079394313507594960, -0.079344471243918982, -0.079294628781881829, -0.079244786121608096, -0.079194943263222406, -0.079145100206849353, +-0.079095256952613546, -0.079045413500638720, -0.078995569851051245, -0.078945726003974842, -0.078895881959534120, -0.078846037717853701, -0.078796193279058180, -0.078746348643272179, +-0.078696503810620308, -0.078646658781226286, -0.078596813555216513, -0.078546968132714695, -0.078497122513845469, -0.078447276698733429, -0.078397430687503197, -0.078347584480279384, +-0.078297738077185736, -0.078247891478348625, -0.078198044683891785, -0.078148197693939825, -0.078098350508617381, -0.078048503128049049, -0.077998655552359478, -0.077948807781673249, +-0.077898959816114124, -0.077849111655808489, -0.077799263300880064, -0.077749414751453486, -0.077699566007653376, -0.077649717069604343, -0.077599867937431025, -0.077550018611258043, +-0.077500169091209117, -0.077450319377410648, -0.077400469469986397, -0.077350619369060958, -0.077300769074758982, -0.077250918587205078, -0.077201067906523882, -0.077151217032839128, +-0.077101365966277216, -0.077051514706961879, -0.077001663255017769, -0.076951811610569493, -0.076901959773741702, -0.076852107744658990, -0.076802255523446022, -0.076752403110226533, +-0.076702550505126921, -0.076652697708270920, -0.076602844719783181, -0.076552991539788340, -0.076503138168411006, -0.076453284605775843, -0.076403430852006571, -0.076353576907229603, +-0.076303722771568702, -0.076253868445148490, -0.076204013928093617, -0.076154159220528692, -0.076104304322578378, -0.076054449234367313, -0.076004593956019231, -0.075954738487660545, +-0.075904882829415016, -0.075855026981407281, -0.075805170943761976, -0.075755314716603739, -0.075705458300057232, -0.075655601694247065, -0.075605744899297014, -0.075555887915333478, +-0.075506030742480232, -0.075456173380861899, -0.075406315830603143, -0.075356458091828601, -0.075306600164662910, -0.075256742049229816, -0.075206883745655775, -0.075157025254064508, +-0.075107166574580692, -0.075057307707328949, -0.075007448652433945, -0.074957589410020314, -0.074907729980212709, -0.074857870363134904, -0.074808010558913299, -0.074758150567671669, +-0.074708290389534665, -0.074658430024626923, -0.074608569473073122, -0.074558708734997883, -0.074508847810524997, -0.074458986699780877, -0.074409125402889284, -0.074359263919974883, +-0.074309402251162324, -0.074259540396576257, -0.074209678356341346, -0.074159816130582229, -0.074109953719422680, -0.074060091122989141, -0.074010228341405374, -0.073960365374796042, +-0.073910502223285796, -0.073860638886999286, -0.073810775366061177, -0.073760911660596132, -0.073711047770727928, -0.073661183696582991, -0.073611319438285083, -0.073561454995958897, +-0.073511590369729055, -0.073461725559720248, -0.073411860566057113, -0.073361995388863455, -0.073312130028265685, -0.073262264484387593, -0.073212398757353844, -0.073162532847289102, +-0.073112666754318018, -0.073062800478565268, -0.073012934020155518, -0.072963067379212557, -0.072913200555862798, -0.072863333550230044, -0.072813466362438961, -0.072763598992614212, +-0.072713731440880461, -0.072663863707362372, -0.072613995792183750, -0.072564127695471034, -0.072514259417347987, -0.072464390957939287, -0.072414522317369612, -0.072364653495763639, +-0.072314784493246020, -0.072264915309941447, -0.072215045945973694, -0.072165176401469230, -0.072115306676551805, -0.072065436771346122, -0.072015566685976848, -0.071965696420568659, +-0.071915825975246220, -0.071865955350134222, -0.071816084545356443, -0.071766213561039349, -0.071716342397306718, -0.071666471054283226, -0.071616599532093567, -0.071566727830862403, +-0.071516855950714414, -0.071466983891773403, -0.071417111654165824, -0.071367239238015454, -0.071317366643446997, -0.071267493870585119, -0.071217620919554511, -0.071167747790479852, +-0.071117874483485818, -0.071068000998696201, -0.071018127336237483, -0.070968253496233438, -0.070918379478808774, -0.070868505284088154, -0.070818630912196256, -0.070768756363257801, +-0.070718881637397438, -0.070669006734738998, -0.070619131655408923, -0.070569256399531016, -0.070519380967229969, -0.070469505358630474, -0.070419629573857223, -0.070369753613034880, +-0.070319877476287276, -0.070270001163740867, -0.070220124675519455, -0.070170248011747718, -0.070120371172550378, -0.070070494158052096, -0.070020616968377594, -0.069970739603651536, +-0.069920862063997752, -0.069870984349542697, -0.069821106460410176, -0.069771228396724894, -0.069721350158611542, -0.069671471746194813, -0.069621593159599399, -0.069571714398949117, +-0.069521835464370449, -0.069471956355987172, -0.069422077073924018, -0.069372197618305667, -0.069322317989256824, -0.069272438186902180, -0.069222558211366456, -0.069172678062773441, +-0.069122797741249617, -0.069072917246918789, -0.069023036579905675, -0.068973155740334968, -0.068923274728331374, -0.068873393544019598, -0.068823512187524333, -0.068773630658969409, +-0.068723748958481282, -0.068673867086183796, -0.068623985042201630, -0.068574102826659503, -0.068524220439682121, -0.068474337881394190, -0.068424455151919528, -0.068374572251384616, +-0.068324689179913273, -0.068274805937630204, -0.068224922524660128, -0.068175038941127739, -0.068125155187157754, -0.068075271262874881, -0.068025387168402937, -0.067975502903868418, +-0.067925618469395141, -0.067875733865107812, -0.067825849091131152, -0.067775964147589879, -0.067726079034608686, -0.067676193752312291, -0.067626308300824542, -0.067576422680271891, +-0.067526536890778199, -0.067476650932468157, -0.067426764805466485, -0.067376878509897903, -0.067326992045887130, -0.067277105413557983, -0.067227218613036960, -0.067177331644447891, +-0.067127444507915496, -0.067077557203564481, -0.067027669731519579, -0.066977782091905511, -0.066927894284846981, -0.066878006310467822, -0.066828118168894543, -0.066778229860250962, +-0.066728341384661813, -0.066678452742251801, -0.066628563933145674, -0.066578674957468123, -0.066528785815342995, -0.066478896506896798, -0.066429007032253365, -0.066379117391537401, +-0.066329227584873654, -0.066279337612386829, -0.066229447474201661, -0.066179557170442882, -0.066129666701234324, -0.066079776066702484, -0.066029885266971192, -0.065979994302165196, +-0.065930103172409216, -0.065880211877827985, -0.065830320418546209, -0.065780428794688636, -0.065730537006379111, -0.065680645053744130, -0.065630752936907524, -0.065580860655994055, +-0.065530968211128415, -0.065481075602435365, -0.065431182830039625, -0.065381289894065039, -0.065331396794638119, -0.065281503531882709, -0.065231610105923529, -0.065181716516885341, +-0.065131822764892849, -0.065081928850070803, -0.065032034772543934, -0.064982140532436089, -0.064932246129873777, -0.064882351564980859, -0.064832456837882066, -0.064782561948702119, +-0.064732666897565766, -0.064682771684597754, -0.064632876309922815, -0.064582980773664783, -0.064533085075950208, -0.064483189216902909, -0.064433293196647631, -0.064383397015309124, +-0.064333500673012134, -0.064283604169881381, -0.064233707506040738, -0.064183810681616701, -0.064133913696733144, -0.064084016551514814, -0.064034119246086429, -0.063984221780572753, +-0.063934324155098518, -0.063884426369788472, -0.063834528424766473, -0.063784630320159047, -0.063734732056090038, -0.063684833632684207, -0.063634935050066274, -0.063585036308361029, +-0.063535137407693176, -0.063485238348186590, -0.063435339129967808, -0.063385439753160674, -0.063335540217889938, -0.063285640524280345, -0.063235740672456658, -0.063185840662543624, +-0.063135940494665976, -0.063086040168947602, -0.063036139685515011, -0.062986239044492076, -0.062936338246003531, -0.062886437290174152, -0.062836536177128671, -0.062786634906991851, +-0.062736733479888451, -0.062686831895942319, -0.062636930155280005, -0.062587028258025354, -0.062537126204303142, -0.062487223994238117, -0.062437321627955025, -0.062387419105578629, +-0.062337516427232800, -0.062287613593044071, -0.062237710603136306, -0.062187807457634262, -0.062137904156662697, -0.062088000700346375, -0.062038097088810050, -0.061988193322178489, +-0.061938289400575552, -0.061888385324127777, -0.061838481092959037, -0.061788576707194100, -0.061738672166957720, -0.061688767472374659, -0.061638862623569678, -0.061588957620667538, +-0.061539052463792127, -0.061489147153069960, -0.061439241688624933, -0.061389336070581800, -0.061339430299065328, -0.061289524374200273, -0.061239618296111416, -0.061189712064922623, +-0.061139805680760433, -0.061089899143748738, -0.061039992454012287, -0.060990085611675855, -0.060940178616864217, -0.060890271469702120, -0.060840364170314354, -0.060790456718824791, +-0.060740549115359969, -0.060690641360043776, -0.060640733453000979, -0.060590825394356347, -0.060540917184234655, -0.060491008822760664, -0.060441100310058268, -0.060391191646254012, +-0.060341282831471776, -0.060291373865836329, -0.060241464749472444, -0.060191555482504905, -0.060141646065058472, -0.060091736497257929, -0.060041826779227155, -0.059991916911092701, +-0.059942006892978454, -0.059892096725009190, -0.059842186407309685, -0.059792275940004712, -0.059742365323219054, -0.059692454557077473, -0.059642543641703877, -0.059592632577224809, +-0.059542721363764158, -0.059492810001446704, -0.059442898490397224, -0.059392986830740499, -0.059343075022601305, -0.059293163066103535, -0.059243250961373749, -0.059193338708535832, +-0.059143426307714575, -0.059093513759034745, -0.059043601062621132, -0.058993688218598517, -0.058943775227091683, -0.058893862088224523, -0.058843948802123590, -0.058794035368912791, +-0.058744121788716901, -0.058694208061660709, -0.058644294187868998, -0.058594380167466549, -0.058544466000578145, -0.058494551687327694, -0.058444637227841753, -0.058394722622244218, +-0.058344807870659869, -0.058294892973213511, -0.058244977930029911, -0.058195062741233872, -0.058145147406949288, -0.058095231927302725, -0.058045316302418083, -0.057995400532420145, +-0.057945484617433707, -0.057895568557583557, -0.057845652352994485, -0.057795736003791287, -0.057745819510097857, -0.057695902872040773, -0.057645986089743924, -0.057596069163332111, +-0.057546152092930125, -0.057496234878662761, -0.057446317520654808, -0.057396400019030180, -0.057346482373915431, -0.057296564585434480, -0.057246646653712117, -0.057196728578873139, +-0.057146810361042334, -0.057096892000344505, -0.057046973496904449, -0.056997054850846073, -0.056947136062295942, -0.056897217131377978, -0.056847298058216963, -0.056797378842937708, +-0.056747459485665008, -0.056697539986523653, -0.056647620345638451, -0.056597700563133312, -0.056547780639134806, -0.056497860573766857, -0.056447940367154247, -0.056398020019421791, +-0.056348099530694279, -0.056298178901096528, -0.056248258130752432, -0.056198337219788584, -0.056148416168328892, -0.056098494976498159, -0.056048573644421187, -0.055998652172222788, +-0.055948730560027755, -0.055898808807960894, -0.055848886916146125, -0.055798964884710020, -0.055749042713776509, -0.055699120403470394, -0.055649197953916471, -0.055599275365239557, +-0.055549352637564456, -0.055499429771015969, -0.055449506765718019, -0.055399583621797192, -0.055349660339377410, -0.055299736918583475, -0.055249813359540198, -0.055199889662372388, +-0.055149965827204848, -0.055100041854161515, -0.055050117743368959, -0.055000193494951111, -0.054950269109032779, -0.054900344585738767, -0.054850419925193905, -0.054800495127522983, +-0.054750570192850831, -0.054700645121301364, -0.054650719913001168, -0.054600794568074179, -0.054550869086645200, -0.054500943468839047, -0.054451017714780538, -0.054401091824594482, +-0.054351165798404814, -0.054301239636338115, -0.054251313338518313, -0.054201386905070238, -0.054151460336118687, -0.054101533631788490, -0.054051606792204457, -0.054001679817491405, +-0.053951752707773269, -0.053901825463176636, -0.053851898083825442, -0.053801970569844502, -0.053752042921358635, -0.053702115138492663, -0.053652187221371397, -0.053602259170119668, +-0.053552330984861410, -0.053502402665723203, -0.053452474212828990, -0.053402545626303595, -0.053352616906271834, -0.053302688052858531, -0.053252759066188503, -0.053202829946385699, +-0.053152900693576699, -0.053102971307885452, -0.053053041789436775, -0.053003112138355499, -0.052953182354766440, -0.052903252438794422, -0.052853322390564270, -0.052803392210199931, +-0.052753461897828001, -0.052703531453572407, -0.052653600877557993, -0.052603670169909571, -0.052553739330751977, -0.052503808360210034, -0.052453877258408568, -0.052403946025471528, +-0.052354014661525505, -0.052304083166694444, -0.052254151541103182, -0.052204219784876535, -0.052154287898139341, -0.052104355881016425, -0.052054423733631734, -0.052004491456111870, +-0.051954559048580776, -0.051904626511163288, -0.051854693843984230, -0.051804761047168441, -0.051754828120840750, -0.051704895065125982, -0.051654961880148093, -0.051605028566033689, +-0.051555095122906715, -0.051505161550891999, -0.051455227850114381, -0.051405294020698690, -0.051355360062769764, -0.051305425976451553, -0.051255491761870664, -0.051205557419151046, +-0.051155622948417537, -0.051105688349794967, -0.051055753623408182, -0.051005818769382004, -0.050955883787841286, -0.050905948678909969, -0.050856013442714662, -0.050806078079379327, +-0.050756142589028802, -0.050706206971787911, -0.050656271227781512, -0.050606335357134428, -0.050556399359971506, -0.050506463236416700, -0.050456526986596618, -0.050406590610635224, +-0.050356654108657355, -0.050306717480787848, -0.050256780727151548, -0.050206843847873300, -0.050156906843077047, -0.050106969712889422, -0.050057032457434369, -0.050007095076836733, +-0.049957157571221364, -0.049907219940713100, -0.049857282185436780, -0.049807344305517261, -0.049757406301078493, -0.049707468172247096, -0.049657529919147028, -0.049607591541903133, +-0.049557653040640262, -0.049507714415483260, -0.049457775666556972, -0.049407836793986241, -0.049357897797895033, -0.049307958678409966, -0.049258019435655005, -0.049208080069754995, +-0.049158140580834786, -0.049108200969019224, -0.049058261234433159, -0.049008321377200556, -0.048958381397448035, -0.048908441295299560, -0.048858501070879981, -0.048808560724314151, +-0.048758620255726921, -0.048708679665243136, -0.048658738952987654, -0.048608798119084438, -0.048558857163660110, -0.048508916086838647, -0.048458974888744892, -0.048409033569503691, +-0.048359092129239917, -0.048309150568078406, -0.048259208886143136, -0.048209267083560728, -0.048159325160455152, -0.048109383116951260, -0.048059440953173917, -0.048009498669247967, +-0.047959556265298277, -0.047909613741449690, -0.047859671097826184, -0.047809728334554387, -0.047759785451758269, -0.047709842449562681, -0.047659899328092496, -0.047609956087472559, +-0.047560012727827734, -0.047510069249282874, -0.047460125651961955, -0.047410181935991613, -0.047360238101495811, -0.047310294148599413, -0.047260350077427286, -0.047210405888104275, +-0.047160461580755257, -0.047110517155504197, -0.047060572612477723, -0.047010627951799826, -0.046960683173595356, -0.046910738277989181, -0.046860793265106157, -0.046810848135071151, +-0.046760902888009027, -0.046710957524043757, -0.046661012043301982, -0.046611066445907672, -0.046561120731985699, -0.046511174901660922, -0.046461228955058213, -0.046411282892302425, +-0.046361336713517547, -0.046311390418830214, -0.046261444008364405, -0.046211497482244984, -0.046161550840596824, -0.046111604083544783, -0.046061657211213733, -0.046011710223728540, +-0.045961763121213181, -0.045911815903794305, -0.045861868571595889, -0.045811921124742798, -0.045761973563359912, -0.045712025887572089, -0.045662078097504194, -0.045612130193281114, +-0.045562182175026812, -0.045512234042867951, -0.045462285796928500, -0.045412337437333333, -0.045362388964207329, -0.045312440377675345, -0.045262491677862261, -0.045212542864892062, +-0.045162593938891396, -0.045112644899984240, -0.045062695748295481, -0.045012746483949977, -0.044962797107072607, -0.044912847617788243, -0.044862898016221758, -0.044812948302497144, +-0.044762998476741041, -0.044713048539077448, -0.044663098489631237, -0.044613148328527273, -0.044563198055890436, -0.044513247671845613, -0.044463297176517667, -0.044413346570030585, +-0.044363395852511034, -0.044313445024082986, -0.044263494084871326, -0.044213543035000934, -0.044163591874596682, -0.044113640603783449, -0.044063689222685234, -0.044013737731428679, +-0.043963786130137773, -0.043913834418937411, -0.043863882597952458, -0.043813930667307800, -0.043763978627128317, -0.043714026477538886, -0.043664074218663501, -0.043614121850628823, +-0.043564169373558836, -0.043514216787578421, -0.043464264092812468, -0.043414311289385860, -0.043364358377423466, -0.043314405357049293, -0.043264452228389996, -0.043214498991569567, +-0.043164545646712883, -0.043114592193944846, -0.043064638633390322, -0.043014684965174202, -0.042964731189421367, -0.042914777306255820, -0.042864823315804219, -0.042814869218190561, +-0.042764915013539725, -0.042714960701976605, -0.042665006283626079, -0.042615051758613041, -0.042565097127062371, -0.042515142389098072, -0.042465187544846808, -0.042415232594432570, +-0.042365277537980257, -0.042315322375614743, -0.042265367107460927, -0.042215411733643689, -0.042165456254287040, -0.042115500669517636, -0.042065544979459475, -0.042015589184237458, +-0.041965633283976470, -0.041915677278801390, -0.041865721168837126, -0.041815764954208551, -0.041765808635039682, -0.041715852211457176, -0.041665895683585044, -0.041615939051548166, +-0.041565982315471442, -0.041516025475479765, -0.041466068531698028, -0.041416111484251110, -0.041366154333263030, -0.041316197078860452, -0.041266239721167386, -0.041216282260308712, +-0.041166324696409337, -0.041116367029594154, -0.041066409259988050, -0.041016451387715036, -0.040966493412901775, -0.040916535335672286, -0.040866577156151461, -0.040816618874464188, +-0.040766660490735372, -0.040716702005089901, -0.040666743417652682, -0.040616784728547711, -0.040566825937901667, -0.040516867045838553, -0.040466908052483277, -0.040416948957960733, +-0.040366989762395812, -0.040317030465913416, -0.040267071068637562, -0.040217111570694915, -0.040167151972209485, -0.040117192273306179, -0.040067232474109891, -0.040017272574745529, +-0.039967312575337977, -0.039917352476012143, -0.039867392276892046, -0.039817431978104355, -0.039767471579773082, -0.039717511082023128, -0.039667550484979400, -0.039617589788766797, +-0.039567628993510212, -0.039517668099334560, -0.039467707106363853, -0.039417746014724760, -0.039367784824541306, -0.039317823535938386, -0.039267862149040912, -0.039217900663973779, +-0.039167939080861899, -0.039117977399829279, -0.039068015621002608, -0.039018053744505891, -0.038968091770464043, -0.038918129699001963, -0.038868167530244566, -0.038818205264316744, +-0.038768242901343411, -0.038718280441448587, -0.038668317884758940, -0.038618355231398505, -0.038568392481492179, -0.038518429635164872, -0.038468466692541496, -0.038418503653746952, +-0.038368540518905259, -0.038318577288143099, -0.038268613961584499, -0.038218650539354367, -0.038168687021577601, -0.038118723408379122, -0.038068759699883839, -0.038018795896216651, +-0.037968831997501590, -0.037918868003865333, -0.037868903915431906, -0.037818939732326216, -0.037768975454673184, -0.037719011082597710, -0.037669046616224708, -0.037619082055679091, +-0.037569117401084880, -0.037519152652568763, -0.037469187810254767, -0.037419222874267799, -0.037369257844732773, -0.037319292721774602, -0.037269327505518202, -0.037219362196087596, +-0.037169396793609470, -0.037119431298207849, -0.037069465710007653, -0.037019500029133796, -0.036969534255711187, -0.036919568389864738, -0.036869602431719370, -0.036819636381399110, +-0.036769670239030647, -0.036719704004738007, -0.036669737678646112, -0.036619771260879869, -0.036569804751564197, -0.036519838150824012, -0.036469871458784234, -0.036419904675568888, +-0.036369937801304673, -0.036319970836115607, -0.036270003780126618, -0.036220036633462613, -0.036170069396248526, -0.036120102068609258, -0.036070134650668849, -0.036020167142553995, +-0.035970199544388723, -0.035920231856297946, -0.035870264078406593, -0.035820296210839583, -0.035770328253721825, -0.035720360207178253, -0.035670392071332893, -0.035620423846312435, +-0.035570455532240919, -0.035520487129243265, -0.035470518637444395, -0.035420550056969230, -0.035370581387942683, -0.035320612630488801, -0.035270643784734275, -0.035220674850803137, +-0.035170705828820314, -0.035120736718910722, -0.035070767521199288, -0.035020798235810939, -0.034970828862870597, -0.034920859402502294, -0.034870889854832728, -0.034820920219985937, +-0.034770950498086844, -0.034720980689260376, -0.034671010793631461, -0.034621040811325013, -0.034571070742465966, -0.034521100587178354, -0.034471130345588873, -0.034421160017821577, +-0.034371189604001373, -0.034321219104253196, -0.034271248518701974, -0.034221277847472628, -0.034171307090689197, -0.034121336248478393, -0.034071365320964248, -0.034021394308271682, +-0.033971423210525639, -0.033921452027851032, -0.033871480760372795, -0.033821509408215857, -0.033771537971504263, -0.033721566450364705, -0.033671594844921236, -0.033621623155298777, +-0.033571651381622263, -0.033521679524016613, -0.033471707582606772, -0.033421735557517658, -0.033371763448873319, -0.033321791256800459, -0.033271818981423118, -0.033221846622866237, +-0.033171874181254730, -0.033121901656713547, -0.033071929049367600, -0.033021956359340951, -0.032971983586760296, -0.032922010731749683, -0.032872037794434039, -0.032822064774938306, +-0.032772091673387412, -0.032722118489906284, -0.032672145224619857, -0.032622171877652185, -0.032572198449129973, -0.032522224939177259, -0.032472251347918986, -0.032422277675480081, +-0.032372303921985486, -0.032322330087560129, -0.032272356172328064, -0.032222382176415987, -0.032172408099947959, -0.032122433943048916, -0.032072459705843784, -0.032022485388457499, +-0.031972510991015002, -0.031922536513641235, -0.031872561956460231, -0.031822587319598715, -0.031772612603180726, -0.031722637807331207, -0.031672662932175091, -0.031622687977837322, +-0.031572712944442832, -0.031522737832116558, -0.031472762640982560, -0.031422787371167535, -0.031372812022795543, -0.031322836595991520, -0.031272861090880406, -0.031222885507587138, +-0.031172909846236659, -0.031122934106953017, -0.031072958289862927, -0.031022982395090441, -0.030973006422760501, -0.030923030372998043, -0.030873054245928008, -0.030823078041675341, +-0.030773101760364976, -0.030723125402120969, -0.030673148967070036, -0.030623172455336231, -0.030573195867044496, -0.030523219202319773, -0.030473242461286999, -0.030423265644071117, +-0.030373288750797076, -0.030323311781588921, -0.030273334736573378, -0.030223357615874497, -0.030173380419617219, -0.030123403147926494, -0.030073425800927259, -0.030023448378744461, +-0.029973470881502151, -0.029923493309327056, -0.029873515662343225, -0.029823537940675604, -0.029773560144449141, -0.029723582273788775, -0.029673604328819457, -0.029623626309666126, +-0.029573648216452839, -0.029523670049306321, -0.029473691808350629, -0.029423713493710708, -0.029373735105511504, -0.029323756643877957, -0.029273778108935024, -0.029223799500806755, +-0.029173820819619875, -0.029123842065498444, -0.029073863238567407, -0.029023884338951714, -0.028973905366776308, -0.028923926322166140, -0.028873947205246157, -0.028823968016140417, +-0.028773988754975645, -0.028724009421875901, -0.028674030016966130, -0.028624050540371287, -0.028574070992216320, -0.028524091372626171, -0.028474111681725797, -0.028424131919639255, +-0.028374152086493271, -0.028324172182411907, -0.028274192207520112, -0.028224212161942836, -0.028174232045805030, -0.028124251859231647, -0.028074271602346743, -0.028024291275277047, +-0.027974310878146627, -0.027924330411080427, -0.027874349874203400, -0.027824369267640502, -0.027774388591516676, -0.027724407845956880, -0.027674427031085178, -0.027624446147028296, +-0.027574465193910300, -0.027524484171856139, -0.027474503080990767, -0.027424521921439141, -0.027374540693326205, -0.027324559396776922, -0.027274578031915350, -0.027224596598868223, +-0.027174615097759602, -0.027124633528714442, -0.027074651891857700, -0.027024670187314331, -0.026974688415209284, -0.026924706575666629, -0.026874724668813094, -0.026824742694772748, +-0.026774760653670546, -0.026724778545631440, -0.026674796370780390, -0.026624814129242350, -0.026574831821142272, -0.026524849446604229, -0.026474867005754948, -0.026424884498718500, +-0.026374901925619840, -0.026324919286583929, -0.026274936581735717, -0.026224953811200161, -0.026174970975101339, -0.026124988073565971, -0.026075005106718136, -0.026025022074682790, +-0.025975038977584887, -0.025925055815549384, -0.025875072588701246, -0.025825089297165423, -0.025775105941065992, -0.025725122520529681, -0.025675139035680566, -0.025625155486643601, +-0.025575171873543748, -0.025525188196505968, -0.025475204455655216, -0.025425220651116451, -0.025375236783013750, -0.025325252851473842, -0.025275268856620802, -0.025225284798579592, +-0.025175300677475167, -0.025125316493432494, -0.025075332246576525, -0.025025347937031341, -0.024975363564923674, -0.024925379130377599, -0.024875394633518077, -0.024825410074470068, +-0.024775425453358531, -0.024725440770308433, -0.024675456025444732, -0.024625471218891505, -0.024575486350775486, -0.024525501421220751, -0.024475516430352263, -0.024425531378294982, +-0.024375546265173874, -0.024325561091113904, -0.024275575856240027, -0.024225590560676323, -0.024175605204549529, -0.024125619787983724, -0.024075634311103870, -0.024025648774034930, +-0.023975663176901869, -0.023925677519829647, -0.023875691802942346, -0.023825706026366703, -0.023775720190226796, -0.023725734294647586, -0.023675748339754041, -0.023625762325671127, +-0.023575776252523804, -0.023525790120437044, -0.023475803929534918, -0.023425817679944172, -0.023375831371788881, -0.023325845005194010, -0.023275858580284529, -0.023225872097185400, +-0.023175885556021590, -0.023125898956917180, -0.023075912299998912, -0.023025925585390860, -0.022975938813217994, -0.022925951983605284, -0.022875965096677692, -0.022825978152560187, +-0.022775991151377739, -0.022726004093254423, -0.022676016978316987, -0.022626029806689506, -0.022576042578496949, -0.022526055293864290, -0.022476067952916491, -0.022426080555778521, +-0.022376093102575351, -0.022326105593431057, -0.022276118028472392, -0.022226130407823428, -0.022176142731609141, -0.022126154999954496, -0.022076167212984461, -0.022026179370824010, +-0.021976191473597223, -0.021926203521430845, -0.021876215514448960, -0.021826227452776535, -0.021776239336538539, -0.021726251165859949, -0.021676262940865727, -0.021626274661680850, +-0.021576286328429398, -0.021526297941238118, -0.021476309500231092, -0.021426321005533294, -0.021376332457269692, -0.021326343855565262, -0.021276355200544970, -0.021226366492333788, +-0.021176377731055806, -0.021126388916837765, -0.021076400049803750, -0.021026411130078738, -0.020976422157787698, -0.020926433133055602, -0.020876444056007422, -0.020826454926767247, +-0.020776465745461818, -0.020726476512215229, -0.020676487227152446, -0.020626497890398447, -0.020576508502078202, -0.020526519062316687, -0.020476529571238872, -0.020426540028968848, +-0.020376550435633359, -0.020326560791356498, -0.020276571096263230, -0.020226581350478539, -0.020176591554127390, -0.020126601707334765, -0.020076611810224746, -0.020026621862924088, +-0.019976631865556874, -0.019926641818248082, -0.019876651721122681, -0.019826661574305654, -0.019776671377921974, -0.019726681132096614, -0.019676690836953663, -0.019626700492619872, +-0.019576710099219331, -0.019526719656877016, -0.019476729165717899, -0.019426738625866961, -0.019376748037449178, -0.019326757400589523, -0.019276766715412088, -0.019226775982043622, +-0.019176785200608216, -0.019126794371230847, -0.019076803494036496, -0.019026812569150130, -0.018976821596696739, -0.018926830576800401, -0.018876839509587878, -0.018826848395183254, +-0.018776857233711509, -0.018726866025297623, -0.018676874770066569, -0.018626883468143330, -0.018576892119652882, -0.018526900724719315, -0.018476909283469387, -0.018426917796027183, +-0.018376926262517686, -0.018326934683065871, -0.018276943057796723, -0.018226951386835215, -0.018176959670305439, -0.018126967908334155, -0.018076976101045448, -0.018026984248564304, +-0.017976992351015696, -0.017927000408524612, -0.017877008421216024, -0.017827016389214915, -0.017777024312645377, -0.017727032191634167, -0.017677040026305376, -0.017627047816783984, +-0.017577055563194971, -0.017527063265663324, -0.017477070924314015, -0.017427078539272032, -0.017377086110661463, -0.017327093638609063, -0.017277101123238933, -0.017227108564676050, +-0.017177115963045397, -0.017127123318471951, -0.017077130631080698, -0.017027137900995731, -0.016977145128343803, -0.016927152313249018, -0.016877159455836351, -0.016827166556230785, +-0.016777173614557300, -0.016727180630940884, -0.016677187605506513, -0.016627194538378288, -0.016577201429682966, -0.016527208279544636, -0.016477215088088290, -0.016427221855438903, +-0.016377228581721463, -0.016327235267060949, -0.016277241911582349, -0.016227248515409756, -0.016177255078669930, -0.016127261601486968, -0.016077268083985848, -0.016027274526291560, +-0.015977280928529087, -0.015927287290823409, -0.015877293613298628, -0.015827299896081497, -0.015777306139296118, -0.015727312343067474, -0.015677318507520549, -0.015627324632780330, +-0.015577330718971796, -0.015527336766219937, -0.015477342774648847, -0.015427348744385288, -0.015377354675553359, -0.015327360568278043, -0.015277366422684324, -0.015227372238897190, +-0.015177378017041625, -0.015127383757241725, -0.015077389459624257, -0.015027395124313314, -0.014977400751433882, -0.014927406341110951, -0.014877411893469502, -0.014827417408634523, +-0.014777422886731001, -0.014727428327883034, -0.014677433732217386, -0.014627439099858150, -0.014577444430930319, -0.014527449725558876, -0.014477454983868808, -0.014427460205985104, +-0.014377465392032749, -0.014327470542135842, -0.014277475656421148, -0.014227480735012763, -0.014177485778035678, -0.014127490785614876, -0.014077495757875350, -0.014027500694942083, +-0.013977505596939176, -0.013927510463993393, -0.013877515296228835, -0.013827520093770489, -0.013777524856743341, -0.013727529585272381, -0.013677534279482598, -0.013627538939498980, +-0.013577543565445625, -0.013527548157449300, -0.013477552715634104, -0.013427557240125027, -0.013377561731047058, -0.013327566188525182, -0.013277570612684392, -0.013227575003649676, +-0.013177579361545134, -0.013127583686497531, -0.013077587978630970, -0.013027592238070438, -0.012977596464940925, -0.012927600659367423, -0.012877604821474917, -0.012827608951387511, +-0.012777613049231971, -0.012727617115132400, -0.012677621149213785, -0.012627625151601117, -0.012577629122419387, -0.012527633061793582, -0.012477636969848696, -0.012427640846708830, +-0.012377644692500750, -0.012327648507348557, -0.012277652291377244, -0.012227656044711798, -0.012177659767477214, -0.012127663459798481, -0.012077667121799701, -0.012027670753607641, +-0.011977674355346402, -0.011927677927140980, -0.011877681469116361, -0.011827684981397541, -0.011777688464109506, -0.011727691917377251, -0.011677695341324878, -0.011627698736079155, +-0.011577702101764184, -0.011527705438504959, -0.011477708746426471, -0.011427712025653710, -0.011377715276311668, -0.011327718498525340, -0.011277721692418826, -0.011227724858118897, +-0.011177727995749655, -0.011127731105436094, -0.011077734187303205, -0.011027737241475979, -0.010977740268079411, -0.010927743267237604, -0.010877746239077328, -0.010827749183722686, +-0.010777752101298671, -0.010727754991930275, -0.010677757855742492, -0.010627760692860314, -0.010577763503408734, -0.010527766287511857, -0.010477769045296454, -0.010427771776886627, +-0.010377774482407372, -0.010327777161983680, -0.010277779815740545, -0.010227782443802959, -0.010177785046295918, -0.010127787623343527, -0.010077790175072555, -0.010027792701607108, +-0.009977795203072178, -0.009927797679592761, -0.009877800131293850, -0.009827802558300437, -0.009777804960736630, -0.009727807338729199, -0.009677809692402251, -0.009627812021880778, +-0.009577814327289774, -0.009527816608754234, -0.009477818866399155, -0.009427821100349525, -0.009377823310729457, -0.009327825497665717, -0.009277827661282415, -0.009227829801704543, +-0.009177831919057097, -0.009127834013465071, -0.009077836085053460, -0.009027838133946371, -0.008977840160270574, -0.008927842164150176, -0.008877844145710174, -0.008827846105075561, +-0.008777848042371333, -0.008727849957722486, -0.008677851851254012, -0.008627853723090022, -0.008577855573357284, -0.008527857402179907, -0.008477859209682888, -0.008427860995991221, +-0.008377862761229902, -0.008327864505523924, -0.008277866228998286, -0.008227867931777095, -0.008177869613987121, -0.008127871275752473, -0.008077872917198147, -0.008027874538449140, +-0.007977876139630444, -0.007927877720867060, -0.007877879282283094, -0.007827880824005316, -0.007777882346157837, -0.007727883848865652, -0.007677885332253757, -0.007627886796447149, +-0.007577888241570824, -0.007527889667749779, -0.007477891075108121, -0.007427892463772623, -0.007377893833867394, -0.007327895185517431, -0.007277896518847729, -0.007227897833983287, +-0.007177899131049100, -0.007127900410169277, -0.007077901671470591, -0.007027902915077151, -0.006977904141113954, -0.006927905349705996, -0.006877906540978275, -0.006827907715055787, +-0.006777908872063531, -0.006727910012125614, -0.006677911135368810, -0.006627912241917228, -0.006577913331895865, -0.006527914405429720, -0.006477915462643789, -0.006427916503663068, +-0.006377917528612556, -0.006327918537616363, -0.006277919530801261, -0.006227920508291360, -0.006177921470211658, -0.006127922416687153, -0.006077923347842841, -0.006027924263803722, +-0.005977925164693903, -0.005927926050640159, -0.005877926921766601, -0.005827927778198225, -0.005777928620060029, -0.005727929447477013, -0.005677930260574172, -0.005627931059476505, +-0.005577931844308124, -0.005527932615195800, -0.005477933372263645, -0.005427934115636657, -0.005377934845439833, -0.005327935561798172, -0.005277936264836673, -0.005227936954680332, +-0.005177937631453262, -0.005127938295282235, -0.005077938946291362, -0.005027939584605642, -0.004977940210350073, -0.004927940823649654, -0.004877941424629382, -0.004827942013413369, +-0.004777942590128389, -0.004727943154898552, -0.004677943707848858, -0.004627944249104304, -0.004577944778789890, -0.004527945297030614, -0.004477945803951475, -0.004427946299676583, +-0.004377946784332712, -0.004327947258043976, -0.004277947720935371, -0.004227948173131897, -0.004177948614758552, -0.004127949045940336, -0.004077949466801360, -0.004027949877468397, +-0.003977950278065560, -0.003927950668717847, -0.003877951049550258, -0.003827951420687791, -0.003777951782255445, -0.003727952134378220, -0.003677952477180227, -0.003627952810788240, +-0.003577953135326371, -0.003527953450919620, -0.003477953757692985, -0.003427954055771466, -0.003377954345280061, -0.003327954626343770, -0.003277954899086705, -0.003227955163635641, +-0.003177955420114689, -0.003127955668648848, -0.003077955909363118, -0.003027956142382499, -0.002977956367831988, -0.002927956585835699, -0.002877956796520407, -0.002827957000010223, +-0.002777957196430146, -0.002727957385905176, -0.002677957568560313, -0.002627957744520555, -0.002577957913910904, -0.002527958076855469, -0.002477958233481027, -0.002427958383911690, +-0.002377958528272457, -0.002327958666688328, -0.002277958799284302, -0.002227958926185378, -0.002177959047516558, -0.002127959163401952, -0.002077959273968336, -0.002027959379339822, +-0.001977959479641409, -0.001927959574998098, -0.001877959665534888, -0.001827959751376778, -0.001777959832647881, -0.001727959909474973, -0.001677959981982165, -0.001627960050294457, +-0.001577960114536849, -0.001527960174834340, -0.001477960231311931, -0.001427960284094622, -0.001377960333306523, -0.001327960379074412, -0.001277960421522400, -0.001227960460775487, +-0.001177960496958673, -0.001127960530196958, -0.001077960560615341, -0.001027960588337934, -0.000977960613491515, -0.000927960636200194, -0.000877960656588971, -0.000827960674782847, +-0.000777960690906820, -0.000727960705085893, -0.000677960717445063, -0.000627960728108444, -0.000577960737202810, -0.000527960744852275, -0.000477960751181838, -0.000427960756316500, +-0.000377960760381259, -0.000327960763501117, -0.000277960765801072, -0.000227960767405237, -0.000177960768440389, -0.000127960769030639, -0.000077960769300987 +}; + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_example_f32.c new file mode 100644 index 0000000..4da9e59 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/arm_linear_interp_example_f32.c @@ -0,0 +1,204 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_linear_interp_example_f32.c +* +* Description: Example code demonstrating usage of sin function +* and uses linear interpolation to get higher precision +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup LinearInterpExample Linear Interpolate Example + * + * CMSIS DSP Software Library -- Linear Interpolate Example + * + * Description + * This example demonstrates usage of linear interpolate modules and fast math modules. + * Method 1 uses fast math sine function to calculate sine values using cubic interpolation and method 2 uses + * linear interpolation function and results are compared to reference output. + * Example shows linear interpolation function can be used to get higher precision compared to fast math sin calculation. + * + * \par Block Diagram: + * \par + * \image html linearInterpExampleMethod1.gif "Method 1: Sine caluclation using fast math" + * \par + * \image html linearInterpExampleMethod2.gif "Method 2: Sine caluclation using interpolation function" + * + * \par Variables Description: + * \par + * \li \c testInputSin_f32 points to the input values for sine calculation + * \li \c testRefSinOutput32_f32 points to the reference values caculated from sin() matlab function + * \li \c testOutput points to output buffer calculation from cubic interpolation + * \li \c testLinIntOutput points to output buffer calculation from linear interpolation + * \li \c snr1 Signal to noise ratio for reference and cubic interpolation output + * \li \c snr2 Signal to noise ratio for reference and linear interpolation output + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_sin_f32() + * - arm_linear_interp_f32() + * + * Refer + * \link arm_linear_interp_example_f32.c \endlink + * + */ + + +/** \example arm_linear_interp_example_f32.c + */ + +#include "arm_math.h" +#include "math_helper.h" + +#define SNR_THRESHOLD 90 +#define TEST_LENGTH_SAMPLES 10 +#define XSPACING (0.00005f) + +/* ---------------------------------------------------------------------- +* Test input data for F32 SIN function +* Generated by the MATLAB rand() function +* randn('state', 0) +* xi = (((1/4.18318581819710)* randn(blockSize, 1) * 2* pi)); +* --------------------------------------------------------------------*/ +float32_t testInputSin_f32[TEST_LENGTH_SAMPLES] = +{ + -0.649716504673081170, -2.501723745497831200, + 0.188250329003310100, 0.432092748487532540, + -1.722010988459680800, 1.788766476323060600, + 1.786136060975809500, -0.056525543169408797, + 0.491596272728153760, 0.262309671126153390 +}; + +/*------------------------------------------------------------------------------ +* Reference out of SIN F32 function for Block Size = 10 +* Calculated from sin(testInputSin_f32) +*------------------------------------------------------------------------------*/ +float32_t testRefSinOutput32_f32[TEST_LENGTH_SAMPLES] = +{ + -0.604960695383043530, -0.597090287967934840, + 0.187140422442966500, 0.418772124875992690, + -0.988588831792106880, 0.976338412038794010, + 0.976903856413481100, -0.056495446835214236, + 0.472033731854734240, 0.259311907228582830 +}; + +/*------------------------------------------------------------------------------ +* Method 1: Test out Buffer Calculated from Cubic Interpolation +*------------------------------------------------------------------------------*/ +float32_t testOutput[TEST_LENGTH_SAMPLES]; + +/*------------------------------------------------------------------------------ +* Method 2: Test out buffer Calculated from Linear Interpolation +*------------------------------------------------------------------------------*/ +float32_t testLinIntOutput[TEST_LENGTH_SAMPLES]; + +/*------------------------------------------------------------------------------ +* External table used for linear interpolation +*------------------------------------------------------------------------------*/ +extern float arm_linear_interep_table[188495]; + +/* ---------------------------------------------------------------------- +* Global Variables for caluclating SNR's for Method1 & Method 2 +* ------------------------------------------------------------------- */ +float32_t snr1; +float32_t snr2; + +/* ---------------------------------------------------------------------------- +* Calculation of Sine values from Cubic Interpolation and Linear interpolation +* ---------------------------------------------------------------------------- */ +int32_t main(void) +{ + uint32_t i; + arm_status status; + + arm_linear_interp_instance_f32 S = {188495, -3.141592653589793238, XSPACING, &arm_linear_interep_table[0]}; + + /*------------------------------------------------------------------------------ + * Method 1: Test out Calculated from Cubic Interpolation + *------------------------------------------------------------------------------*/ + for(i=0; i< TEST_LENGTH_SAMPLES; i++) + { + testOutput[i] = arm_sin_f32(testInputSin_f32[i]); + } + + /*------------------------------------------------------------------------------ + * Method 2: Test out Calculated from Cubic Interpolation and Linear interpolation + *------------------------------------------------------------------------------*/ + + for(i=0; i< TEST_LENGTH_SAMPLES; i++) + { + testLinIntOutput[i] = arm_linear_interp_f32(&S, testInputSin_f32[i]); + } + + /*------------------------------------------------------------------------------ + * SNR calculation for method 1 + *------------------------------------------------------------------------------*/ + snr1 = arm_snr_f32(testRefSinOutput32_f32, testOutput, 2); + + /*------------------------------------------------------------------------------ + * SNR calculation for method 2 + *------------------------------------------------------------------------------*/ + snr2 = arm_snr_f32(testRefSinOutput32_f32, testLinIntOutput, 2); + + /*------------------------------------------------------------------------------ + * Initialise status depending on SNR calculations + *------------------------------------------------------------------------------*/ + if ( snr2 > snr1) + { + status = ARM_MATH_SUCCESS; + } + else + { + status = ARM_MATH_TEST_FAILURE; + } + + /* ---------------------------------------------------------------------- + ** Loop here if the signals fail the PASS check. + ** This denotes a test failure + ** ------------------------------------------------------------------- */ + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/Abstract.txt new file mode 100644 index 0000000..6bc6ae8 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_matrix_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/arm_matrix_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/arm_matrix_example_f32.c new file mode 100644 index 0000000..078b547 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/arm_matrix_example_f32.c @@ -0,0 +1,233 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_matrix_example_f32.c +* +* Description: Example code demonstrating least square fit to data +* using matrix functions +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup MatrixExample Matrix Example + * + * \par Description: + * \par + * Demonstrates the use of Matrix Transpose, Matrix Muliplication, and Matrix Inverse + * functions to apply least squares fitting to input data. Least squares fitting is + * the procedure for finding the best-fitting curve that minimizes the sum of the + * squares of the offsets (least square error) from a given set of data. + * + * \par Algorithm: + * \par + * The linear combination of parameters considered is as follows: + * \par + * A * X = B, where \c X is the unknown value and can be estimated + * from \c A & \c B. + * \par + * The least squares estimate \c X is given by the following equation: + * \par + * X = Inverse(AT * A) * AT * B + * + * \par Block Diagram: + * \par + * \image html matrixExample.gif + * + * \par Variables Description: + * \par + * \li \c A_f32 input matrix in the linear combination equation + * \li \c B_f32 output matrix in the linear combination equation + * \li \c X_f32 unknown matrix estimated using \c A_f32 & \c B_f32 matrices + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_mat_init_f32() + * - arm_mat_trans_f32() + * - arm_mat_mult_f32() + * - arm_mat_inverse_f32() + * + * Refer + * \link arm_matrix_example_f32.c \endlink + * + */ + + +/** \example arm_matrix_example_f32.c + */ + +#include "arm_math.h" +#include "math_helper.h" + +#define SNR_THRESHOLD 90 + +/* -------------------------------------------------------------------------------- +* Test input data(Cycles) taken from FIR Q15 module for differant cases of blockSize +* and tapSize +* --------------------------------------------------------------------------------- */ + +const float32_t B_f32[4] = +{ + 782.0, 7577.0, 470.0, 4505.0 +}; + +/* -------------------------------------------------------------------------------- +* Formula to fit is C1 + C2 * numTaps + C3 * blockSize + C4 * numTaps * blockSize +* -------------------------------------------------------------------------------- */ + +const float32_t A_f32[16] = +{ + /* Const, numTaps, blockSize, numTaps*blockSize */ + 1.0, 32.0, 4.0, 128.0, + 1.0, 32.0, 64.0, 2048.0, + 1.0, 16.0, 4.0, 64.0, + 1.0, 16.0, 64.0, 1024.0, +}; + + +/* ---------------------------------------------------------------------- +* Temporary buffers for storing intermediate values +* ------------------------------------------------------------------- */ +/* Transpose of A Buffer */ +float32_t AT_f32[16]; +/* (Transpose of A * A) Buffer */ +float32_t ATMA_f32[16]; +/* Inverse(Transpose of A * A) Buffer */ +float32_t ATMAI_f32[16]; +/* Test Output Buffer */ +float32_t X_f32[4]; + +/* ---------------------------------------------------------------------- +* Reference ouput buffer C1, C2, C3 and C4 taken from MATLAB +* ------------------------------------------------------------------- */ +const float32_t xRef_f32[4] = {73.0, 8.0, 21.25, 2.875}; + +float32_t snr; + + +/* ---------------------------------------------------------------------- +* Max magnitude FFT Bin test +* ------------------------------------------------------------------- */ + +int32_t main(void) +{ + + arm_matrix_instance_f32 A; /* Matrix A Instance */ + arm_matrix_instance_f32 AT; /* Matrix AT(A transpose) instance */ + arm_matrix_instance_f32 ATMA; /* Matrix ATMA( AT multiply with A) instance */ + arm_matrix_instance_f32 ATMAI; /* Matrix ATMAI(Inverse of ATMA) instance */ + arm_matrix_instance_f32 B; /* Matrix B instance */ + arm_matrix_instance_f32 X; /* Matrix X(Unknown Matrix) instance */ + + uint32_t srcRows, srcColumns; /* Temporary variables */ + arm_status status; + + /* Initialise A Matrix Instance with numRows, numCols and data array(A_f32) */ + srcRows = 4; + srcColumns = 4; + arm_mat_init_f32(&A, srcRows, srcColumns, (float32_t *)A_f32); + + /* Initialise Matrix Instance AT with numRows, numCols and data array(AT_f32) */ + srcRows = 4; + srcColumns = 4; + arm_mat_init_f32(&AT, srcRows, srcColumns, AT_f32); + + /* calculation of A transpose */ + status = arm_mat_trans_f32(&A, &AT); + + + /* Initialise ATMA Matrix Instance with numRows, numCols and data array(ATMA_f32) */ + srcRows = 4; + srcColumns = 4; + arm_mat_init_f32(&ATMA, srcRows, srcColumns, ATMA_f32); + + /* calculation of AT Multiply with A */ + status = arm_mat_mult_f32(&AT, &A, &ATMA); + + /* Initialise ATMAI Matrix Instance with numRows, numCols and data array(ATMAI_f32) */ + srcRows = 4; + srcColumns = 4; + arm_mat_init_f32(&ATMAI, srcRows, srcColumns, ATMAI_f32); + + /* calculation of Inverse((Transpose(A) * A) */ + status = arm_mat_inverse_f32(&ATMA, &ATMAI); + + /* calculation of (Inverse((Transpose(A) * A)) * Transpose(A)) */ + status = arm_mat_mult_f32(&ATMAI, &AT, &ATMA); + + /* Initialise B Matrix Instance with numRows, numCols and data array(B_f32) */ + srcRows = 4; + srcColumns = 1; + arm_mat_init_f32(&B, srcRows, srcColumns, (float32_t *)B_f32); + + /* Initialise X Matrix Instance with numRows, numCols and data array(X_f32) */ + srcRows = 4; + srcColumns = 1; + arm_mat_init_f32(&X, srcRows, srcColumns, X_f32); + + /* calculation ((Inverse((Transpose(A) * A)) * Transpose(A)) * B) */ + status = arm_mat_mult_f32(&ATMA, &B, &X); + + /* Comparison of reference with test output */ + snr = arm_snr_f32((float32_t *)xRef_f32, X_f32, 4); + + /*------------------------------------------------------------------------------ + * Initialise status depending on SNR calculations + *------------------------------------------------------------------------------*/ + if ( snr > SNR_THRESHOLD) + { + status = ARM_MATH_SUCCESS; + } + else + { + status = ARM_MATH_TEST_FAILURE; + } + + + /* ---------------------------------------------------------------------- + ** Loop here if the signals fail the PASS check. + ** This denotes a test failure + ** ------------------------------------------------------------------- */ + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/Abstract.txt new file mode 100644 index 0000000..0f68db7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_signal_converge_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_data.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_data.c new file mode 100644 index 0000000..ddb1278 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_data.c @@ -0,0 +1,269 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_signal_converge_data.c +* +* Description: Test input data for Floating point LMS Norm FIR filter +* +* Target Processor: Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +** Test input data for Floating point LMS Norm FIR filter +** Generated by the MATLAB randn() function +** ------------------------------------------------------------------- */ + +float32_t testInput_f32[1536] = +{ +-0.432565, -1.665584, 0.125332, 0.287676, -1.146471, 1.190915, 1.189164, -0.037633, +0.327292, 0.174639, -0.186709, 0.725791, -0.588317, 2.183186, -0.136396, 0.113931, +1.066768, 0.059281, -0.095648, -0.832349, 0.294411, -1.336182, 0.714325, 1.623562, +-0.691776, 0.857997, 1.254001, -1.593730, -1.440964, 0.571148, -0.399886, 0.689997, +0.815622, 0.711908, 1.290250, 0.668601, 1.190838, -1.202457, -0.019790, -0.156717, +-1.604086, 0.257304, -1.056473, 1.415141, -0.805090, 0.528743, 0.219321, -0.921902, +-2.170674, -0.059188, -1.010634, 0.614463, 0.507741, 1.692430, 0.591283, -0.643595, +0.380337, -1.009116, -0.019511, -0.048221, 0.000043, -0.317859, 1.095004, -1.873990, +0.428183, 0.895638, 0.730957, 0.577857, 0.040314, 0.677089, 0.568900, -0.255645, +-0.377469, -0.295887, -1.475135, -0.234004, 0.118445, 0.314809, 1.443508, -0.350975, +0.623234, 0.799049, 0.940890, -0.992092, 0.212035, 0.237882, -1.007763, -0.742045, +1.082295, -0.131500, 0.389880, 0.087987, -0.635465, -0.559573, 0.443653, -0.949904, +0.781182, 0.568961, -0.821714, -0.265607, -1.187777, -2.202321, 0.986337, -0.518635, +0.327368, 0.234057, 0.021466, -1.003944, -0.947146, -0.374429, -1.185886, -1.055903, +1.472480, 0.055744, -1.217317, -0.041227, -1.128344, -1.349278, -0.261102, 0.953465, +0.128644, 0.656468, -1.167819, -0.460605, -0.262440, -1.213152, -1.319437, 0.931218, +0.011245, -0.645146, 0.805729, 0.231626, -0.989760, 1.339586, 0.289502, 1.478917, +1.138028, -0.684139, -1.291936, -0.072926, -0.330599, -0.843628, 0.497770, 1.488490, +-0.546476, -0.846758, -0.246337, 0.663024, -0.854197, -1.201315, -0.119869, -0.065294, +0.485296, -0.595491, -0.149668, -0.434752, -0.079330, 1.535152, -0.606483, -1.347363, +0.469383, -0.903567, 0.035880, -0.627531, 0.535398, 0.552884, -0.203690, -2.054325, +0.132561, 1.592941, 1.018412, -1.580402, -0.078662, -0.681657, -1.024553, -1.234353, +0.288807, -0.429303, 0.055801, -0.367874, -0.464973, 0.370961, 0.728283, 2.112160, +-1.357298, -1.022610, 1.037834, -0.389800, -1.381266, 0.315543, 1.553243, 0.707894, +1.957385, 0.504542, 1.864529, -0.339812, -1.139779, -0.211123, 1.190245, -1.116209, +0.635274, -0.601412, 0.551185, -1.099840, 0.085991, -2.004563, -0.493088, 0.462048, +-0.321005, 1.236556, -0.631280, -2.325211, -1.231637, 1.055648, -0.113224, 0.379224, +0.944200, -2.120427, -0.644679, -0.704302, -1.018137, -0.182082, 1.521013, -0.038439, +1.227448, -0.696205, 0.007524, -0.782893, 0.586939, -0.251207, 0.480136, 0.668155, +-0.078321, 0.889173, 2.309287, 0.524639, -0.011787, 0.913141, 0.055941, -1.107070, +0.485498, -0.005005, -0.276218, 1.276452, 1.863401, -0.522559, 0.103424, -0.807649, +0.680439, -2.364590, 0.990115, 0.218899, 0.261662, 1.213444, -0.274667, -0.133134, +-1.270500, -1.663606, -0.703554, 0.280880, -0.541209, -1.333531, 1.072686, -0.712085, +-0.011286, -0.000817, -0.249436, 0.396575, -0.264013, -1.664011, -1.028975, 0.243095, +-1.256590, -0.347183, -0.941372, -1.174560, -1.021142, -0.401667, 0.173666, -0.116118, +1.064119, -0.245386, -1.517539, 0.009734, 0.071373, 0.316536, 0.499826, 1.278084, +-0.547816, 0.260808, -0.013177, -0.580264, 2.136308, -0.257617, -1.409528, 1.770101, +0.325546, -1.119040, 0.620350, 1.269782, -0.896043, 0.135175, -0.139040, -1.163395, +1.183720, -0.015430, 0.536219, -0.716429, -0.655559, 0.314363, 0.106814, 1.848216, +-0.275106, 2.212554, 1.508526, -1.945079, -1.680543, -0.573534, -0.185817, 0.008934, +0.836950, -0.722271, -0.721490, -0.201181, -0.020464, 0.278890, 1.058295, 0.621673, +-1.750615, 0.697348, 0.811486, 0.636345, 1.310080, 0.327098, -0.672993, -0.149327, +-2.449018, 0.473286, 0.116946, -0.591104, -0.654708, -1.080662, -0.047731, 0.379345, +-0.330361, -0.499898, -0.035979, -0.174760, -0.957265, 1.292548, 0.440910, 1.280941, +-0.497730, -1.118717, 0.807650, 0.041200, -0.756209, -0.089129, -2.008850, 1.083918, +-0.981191, -0.688489, 1.339479, -0.909243, -0.412858, -0.506163, 1.619748, 0.080901, +-1.081056, -1.124518, 1.735676, 1.937459, 1.635068, -1.255940, -0.213538, -0.198932, +0.307499, -0.572325, -0.977648, -0.446809, 1.082092, 2.372648, 0.229288, -0.266623, +0.701672, -0.487590, 1.862480, 1.106851, -1.227566, -0.669885, 1.340929, 0.388083, +0.393059, -1.707334, 0.227859, 0.685633, -0.636790, -1.002606, -0.185621, -1.054033, +-0.071539, 0.279198, 1.373275, 0.179841, -0.542017, 1.634191, 0.825215, 0.230761, +0.671634, -0.508078, 0.856352, 0.268503, 0.624975, -1.047338, 1.535670, 0.434426, +-1.917136, 0.469940, 1.274351, 0.638542, 1.380782, 1.319843, -0.909429, -2.305605, +1.788730, 0.390798, 0.020324, -0.405977, -1.534895, 0.221373, -1.374479, -0.839286, +-0.208643, 0.755913, 0.375734, -1.345413, 1.481876, 0.032736, 1.870453, -1.208991, +-0.782632, -0.767299, -0.107200, -0.977057, -0.963988, -2.379172, -0.838188, 0.257346, +-0.183834, -0.167615, -0.116989, 0.168488, -0.501206, -0.705076, 0.508165, -0.420922, +0.229133, -0.959497, -0.146043, 0.744538, -0.890496, 0.139062, -0.236144, -0.075459, +-0.358572, -2.077635, -0.143546, 1.393341, 0.651804, -0.377134, -0.661443, 0.248958, +-0.383516, -0.528480, 0.055388, 1.253769, -2.520004, 0.584856, -1.008064, 0.944285, +-2.423957, -0.223831, 0.058070, -0.424614, -0.202918, -1.513077, -1.126352, -0.815002, +0.366614, -0.586107, 1.537409, 0.140072, -1.862767, -0.454193, -0.652074, 0.103318, +-0.220632, -0.279043, -0.733662, -0.064534, -1.444004, 0.612340, -1.323503, -0.661577, +-0.146115, 0.248085, -0.076633, 1.738170, 1.621972, 0.626436, 0.091814, -0.807607, +-0.461337, -1.405969, -0.374530, -0.470911, 1.751296, 0.753225, 0.064989, -0.292764, +0.082823, 0.766191, 2.236850, 0.326887, 0.863304, 0.679387, 0.554758, 1.001630, +1.259365, 0.044151, -0.314138, 0.226708, 0.996692, 1.215912, -0.542702, 0.912228, +-0.172141, -0.335955, 0.541487, 0.932111, -0.570253, -1.498605, -0.050346, 0.553025, +0.083498, 1.577524, -0.330774, 0.795155, -0.784800, -1.263121, 0.666655, -1.392632, +-1.300562, -0.605022, -1.488565, 0.558543, -0.277354, -1.293685, -0.888435, -0.986520, +-0.071618, -2.414591, -0.694349, -1.391389, 0.329648, 0.598544, 0.147175, -0.101439, +-2.634981, 0.028053, -0.876310, -0.265477, -0.327578, -1.158247, 0.580053, 0.239756, +-0.350885, 0.892098, 1.578299, -1.108174, -0.025931, -1.110628, 0.750834, 0.500167, +-0.517261, -0.559209, -0.753371, 0.925813, -0.248520, -0.149835, -1.258415, 0.312620, +2.690277, 0.289696, -1.422803, 0.246786, -1.435773, 0.148573, -1.693073, 0.719188, +1.141773, 1.551936, 1.383630, -0.758092, 0.442663, 0.911098, -1.074086, 0.201762, +0.762863, -1.288187, -0.952962, 0.778175, -0.006331, 0.524487, 1.364272, 0.482039, +-0.787066, 0.751999, -0.166888, -0.816228, 2.094065, 0.080153, -0.937295, 0.635739, +1.682028, 0.593634, 0.790153, 0.105254, -0.158579, 0.870907, -0.194759, 0.075474, +-0.526635, -0.685484, -0.268388, -1.188346, 0.248579, 0.102452, -0.041007, -2.247582, +-0.510776, 0.249243, 0.369197, 0.179197, -0.037283, -1.603310, 0.339372, -0.131135, +0.485190, 0.598751, -0.086031, 0.325292, -0.335143, -0.322449, -0.382374, -0.953371, +0.233576, 1.235245, -0.578532, -0.501537, 0.722864, 0.039498, 1.541279, -1.701053, +-1.033741, -0.763708, 2.176426, 0.431612, -0.443765, 0.029996, -0.315671, 0.977846, +0.018295, 0.817963, 0.702341, -0.231271, -0.113690, 0.127941, -0.799410, -0.238612, +-0.089463, -1.023264, 0.937538, -1.131719, -0.710702, -1.169501, 1.065437, -0.680394, +-1.725773, 0.813200, 1.441867, 0.672272, 0.138665, -0.859534, -0.752251, 1.229615, +1.150754, -0.608025, 0.806158, 0.217133, -0.373461, -0.832030, 0.286866, -1.818892, +-1.573051, 2.015666, -0.071982, 2.628909, -0.243317, 0.173276, 0.923207, -0.178553, +-0.521705, 1.431962, -0.870117, 0.807542, -0.510635, 0.743514, 0.847898, -0.829901, +0.532994, 1.032848, -1.052024, 0.362114, -0.036787, -1.227636, -0.275099, -0.160435, +-1.083575, -1.954213, -0.909487, -0.005579, -1.723490, 1.263077, -0.600433, -2.063925, +0.110911, 1.487614, 0.053002, 0.161981, -0.026878, 0.173576, 0.882168, 0.182294, +0.755295, 0.508035, 0.131880, 0.280104, -0.982848, -0.944087, -0.013058, 0.354345, +-0.894709, 0.812111, 0.109537, 2.731644, 0.411079, -1.306862, 0.383806, 0.499504, +-0.510786, 0.234922, -0.597825, 0.020771, 0.419443, 1.191104, 0.771214, -2.644222, +0.285430, 0.826093, -0.008122, 0.858438, 0.774788, 1.305945, 1.231503, 0.958564, +-1.654548, -0.990396, 0.685236, -0.974870, -0.606726, 0.686794, 0.020049, 1.063801, +-1.341050, 0.479510, -1.633974, -1.442665, 0.293781, -0.140364, -1.130341, -0.292538, +-0.582536, -0.896348, 0.248601, -1.489663, 0.313509, -2.025084, 0.528990, 0.343471, +0.758193, -0.691940, 0.680179, -1.072541, 0.899772, -2.123092, 0.284712, -0.733323, +-0.773376, 0.151842, -0.336843, 0.970761, -0.107236, 1.013492, -0.475347, 0.068948, +0.398592, 1.116326, 0.620451, -0.287674, -1.371773, -0.685868, 0.331685, -0.997722, +0.291418, 1.107078, 0.244959, 0.164976, 0.406231, 1.215981, 1.448424, -1.025137, +0.205418, 0.588882, -0.264024, 2.495318, 0.855948, -0.850954, 0.811879, 0.700242, +0.759938, -1.712909, 1.537021, -1.609847, 1.109526, -1.109704, 0.385469, 0.965231, +0.818297, 0.037049, -0.926012, -0.111919, -0.803030, -1.665006, -0.901401, 0.588350, +0.554159, -0.415173, 0.061795, 0.457432, 0.199014, 0.257558, 2.080730, -2.277237, +0.339022, 0.289894, 0.662261, -0.580860, 0.887752, 0.171871, 0.848821, 0.963769, +1.321918, -0.064345, 1.317053, 0.228017, -1.429637, -0.149701, -0.504968, -1.729141, +-0.417472, -0.614969, 0.720777, 0.339364, 0.882845, 0.284245, -0.145541, -0.089646, +0.289161, 1.164831, 0.805729, -1.355643, 0.120893, -0.222178, 0.571732, -0.300140, +1.134277, -0.179356, -1.467067, 1.395346, 0.440836, 0.565384, -0.693623, 0.833869, +-2.237378, 1.097644, -0.001617, -1.614573, -1.228727, 0.207405, 0.220942, -1.006073, +-0.453067, 1.399453, -0.461964, 0.032716, 0.798783, 0.896816, 0.137892, -1.619146, +-1.646606, 0.428707, -0.737231, 0.564926, -1.384167, 0.460268, 0.629384, 0.379847, +-1.013330, -0.347243, 0.441912, -1.590240, -0.701417, -1.077601, 1.002220, 1.729481, +0.709032, -0.747897, 0.228862, -0.223497, -0.853275, 0.345627, 0.109764, -1.133039, +-0.683124, -0.277856, 0.654790, -1.248394, -0.597539, -0.481813, 0.983372, 1.762121, +1.427402, 0.911763, 0.326823, 0.069619, -1.499763, -0.418223, -0.021037, 0.228425, +-1.008196, -0.664622, 0.558177, -1.188542, -0.775481, 0.271042, 1.534976, -1.052283, +0.625559, -0.797626, -0.313522, -0.602210, 1.259060, 0.858484, -2.105292, -0.360937, +0.553557, -1.556384, -0.206666, -0.425568, 0.493778, -0.870908, 0.079828, -0.521619, +-1.413861, -0.384293, -0.457922, -0.291471, -0.301224, -1.588594, 1.094287, 1.324167, +-0.126480, -0.737164, 0.213719, -0.400529, 0.064938, -1.757996, 1.686748, 0.327400, +0.715967, 1.598648, -2.064741, -0.743632, 0.176185, 0.527839, -0.553153, 0.298280, +-1.226607, -0.189676, -0.301713, 0.956956, -0.533366, -0.901082, -0.892552, 0.278717, +-0.745807, 1.603464, 0.574270, 0.320655, -0.151383, 0.315762, 1.343703, -2.237832, +1.292906, -0.378459, 0.002521, 0.884641, 0.582450, -1.614244, -1.503666, 0.573586, +-0.910537, -1.631277, -0.359138, -0.397616, -1.161307, -1.109838, 0.290672, -1.910239, +1.314768, 0.665319, -0.275115, -0.023022, -0.907976, -1.043657, 0.373516, 0.901532, +1.278539, -0.128456, 0.612821, 1.956518, 2.266326, -0.373959, 2.238039, -0.159580, +-0.703281, 0.563477, -0.050296, 1.163593, 0.658808, -1.550089, -3.029118, 0.540578, +-1.008998, 0.908047, 1.582303, -0.979088, 1.007902, 0.158491, -0.586927, 1.574082, +-0.516649, 1.227800, 1.583876, -2.088950, 2.949545, 1.356125, 1.050068, -0.767170, +-0.257653, -1.371845, -1.267656, -0.894948, 0.589089, 1.842629, 1.347967, -0.491253, +-2.177568, 0.237000, -0.735411, -1.779419, 0.448030, 0.581214, 0.856607, -0.266263, +-0.417470, -0.205806, -0.174323, 0.217577, 1.684295, 0.119528, 0.650667, 2.080061, +-0.339225, 0.730113, 0.293969, -0.849109, -2.533858, -2.378941, -0.346276, -0.610937, +-0.408192, -1.415611, 0.227122, 0.207974, -0.719718, 0.757762, -1.643135, -1.056813, +-0.251662, -1.298441, 1.233255, 1.494625, 0.235938, -1.404359, 0.658791, -2.556613, +-0.534945, 3.202525, 0.439198, -1.149901, 0.886765, -0.283386, 1.035336, -0.364878, +1.341987, 1.008872, 0.213874, -0.299264, 0.255849, -0.190826, -0.079060, 0.699851, +-0.796540, -0.801284, -0.007599, -0.726810, -1.490902, 0.870335, -0.265675, -1.566695, +-0.394636, -0.143855, -2.334247, -1.357539, -1.815689, 1.108422, -0.142115, 1.112757, +0.559264, 0.478370, -0.679385, 0.284967, -1.332935, -0.723980, -0.663600, 0.198443, +-1.794868, -1.387673, 0.197768, 1.469328, 0.366493, -0.442775, -0.048563, 0.077709, +1.957910, -0.072848, 0.938810, -0.079608, -0.800959, 0.309424, 1.051826, -1.664211, +-1.090792, -0.191731, 0.463401, -0.924147, -0.649657, 0.622893, -1.335107, 1.047689, +0.863327, -0.642411, 0.660010, 1.294116, 0.314579, 0.859573, 0.128670, 0.016568, +-0.072801, -0.994310, -0.747358, -0.030814, 0.988355, -0.599017, 1.476644, -0.813801, +0.645040, -1.309919, -0.867425, -0.474233, 0.222417, 1.871323, 0.110001, -0.411341, +0.511242, -1.199117, -0.096361, 0.445817, -0.295825, -0.167996, 0.179543, 0.421118, +1.677678, 1.996949, 0.696964, -1.366382, 0.363045, -0.567044, -1.044154, 0.697139, +0.484026, -0.193751, -0.378095, -0.886374, -1.840197, -1.628195, -1.173789, -0.415411, +0.175088, 0.229433, -1.240889, 0.700004, 0.426877, 1.454803, -0.510186, -0.006657, +-0.525496, 0.717698, 1.088374, 0.500552, 2.771790, -0.160309, 0.429489, -1.966817, +-0.546019, -1.888395, -0.107952, -1.316144, -0.672632, -0.902365, -0.154798, 0.947242, +1.550375, 0.429040, -0.560795, 0.179304, -0.771509, -0.943390, -1.407569, -1.906131, +-0.065293, 0.672149, 0.206147, -0.008124, 0.020042, -0.558447, 1.886079, -0.219975, +-1.414395, -0.302811, -0.569574, -0.121495, -0.390171, -0.844287, -1.737757, -0.449520, +-1.547933, -0.095776, 0.907714, 2.369602, 0.519768, 0.410525, 1.052585, 0.428784, +1.295088, -0.186053, 0.130733, -0.657627, -0.759267, -0.595170, 0.812400, 0.069541, +-1.833687, 1.827363, 0.654075, -1.544769, -0.375109, 0.207688, -0.765615, -0.106355, +0.338769, 1.033461, -1.404822, -1.030570, -0.643372, 0.170787, 1.344839, 1.936273, +0.741336, 0.811980, -0.142808, -0.099858, -0.800131, 0.493249, 1.237574, 1.295951, +-0.278196, 0.217127, 0.630728, -0.548549, 0.229632, 0.355311, 0.521284, -0.615971, +1.345803, 0.974922, -2.377934, -1.092319, -0.325710, -2.012228, 1.567660, 0.233337, +0.646420, -1.129412, 0.197038, 1.696870, 0.726034, 0.792526, 0.603357, -0.058405, +-1.108666, 2.144229, -1.352821, 0.457021, 0.391175, 2.073013, -0.323318, 1.468132, +-0.502399, 0.209593, 0.754800, -0.948189, 0.613157, 1.760503, 0.088762, 2.595570, +-0.675470, 2.786804, -0.016827, 0.271651, -0.914102, -1.951371, -0.317418, 0.588333, +0.828996, -1.674851, -1.922293, -0.436662, 0.044974, 2.416609, -0.309892, 0.187583, +0.947699, -0.525703, -1.115605, -1.592320, 1.174844, 0.485144, 1.645480, -0.454233, +1.008768, 2.049403, 0.602020, 0.017860, -1.610426, 1.238752, 0.683587, -0.780716, +0.530979, 2.134498, 0.354361, 0.231700, 1.287980, -0.013488, -1.333345, -0.556343, +0.755597, -0.911854, 1.371684, 0.245580, 0.118845, 0.384690, -0.070152, -0.578309, +0.469308, 1.299687, 1.634798, -0.702809, 0.807253, -1.027451, 1.294496, 0.014930, +0.218705, 1.713188, -2.078805, 0.112917, -1.086491, -1.558311, 0.637406, -0.404576, +-0.403325, 0.084076, -0.435349, -0.562623, 0.878062, -0.814650, -0.258363, 0.493299, +-0.802694, -0.008329, 0.627571, 0.154382, 2.580735, -1.306246, 1.023526, 0.777795, +-0.833884, -0.586663, 0.065664, -0.012342, -0.076987, -1.558587, 1.702607, -0.468984, +0.094619, 0.287071, 0.919354, 0.510136, 0.245440, -1.400519, 0.969571, 1.593698, +-1.437917, -1.534230, -0.074710, 0.081459, -0.843240, -0.564640, -0.028207, -1.243702, +0.733039, 0.059580, 0.149144, 1.595857, -0.777250, 1.550277, 1.055002, -0.166654, +0.314484, 1.419571, 0.327348, 0.475653, 0.398754, -0.072770, 1.314784, 0.978279, +1.722114, -0.412302, 0.565133, 0.739851, 0.220138, 1.312807, 0.629152, -1.107987, +-0.447001, -0.725993, 0.354045, -0.506772, -2.103747, -0.664684, 1.450110, -0.329805, +2.701872, -1.634939, -0.536325, 0.547223, 1.492603, -0.455243, -0.496416, 1.235260, +0.040926, 0.748467, 1.230764, 0.304903, 1.077771, 0.765151, -1.319580, -0.509191, +0.555116, -1.957625, -0.760453, -2.443886, -0.659366, -0.114779, 0.300079, -0.583996, +-3.073745, 1.551042, -0.407369, 1.428095, -1.353242, 0.903970, 0.541671, -0.465020 +}; + + + +/* ---------------------------------------------------------------------- +** Coefficients for 32-tap filter for Floating point LMS FIR filter +* FIR high pass filter with cutoff freq 9.6kHz (transition 9.6KHz to 11.52KHz) +** ------------------------------------------------------------------- */ +float32_t lmsNormCoeff_f32[32] = { +-0.004240, 0.002301, 0.008860, -0.000000, -0.019782, -0.010543, 0.032881, 0.034736, +-0.037374, -0.069586, 0.022397, 0.102169, 0.014185, -0.115908, -0.061648, 0.101018, +0.101018, -0.061648, -0.115908, 0.014185, 0.102169, 0.022397, -0.069586, -0.037374, +0.034736, 0.032881, -0.010543, -0.019782, -0.000000, 0.008860, 0.002301, -0.004240 + +}; + +/* ---------------------------------------------------------------------- +** Coefficients for 32-tap filter for Floating point FIR filter +* FIR low pass filter with cutoff freq 24Hz (transition 24Hz to 240Hz) +** ------------------------------------------------------------------- */ +const float32_t FIRCoeff_f32[32] = { +0.004502, 0.005074, 0.006707, 0.009356, 0.012933, 0.017303, 0.022298, 0.027717, +0.033338, 0.038930, 0.044258, 0.049098, 0.053243, 0.056519, 0.058784, 0.059941, +0.059941, 0.058784, 0.056519, 0.053243, 0.049098, 0.044258, 0.038930, 0.033338, +0.027717, 0.022298, 0.017303, 0.012933, 0.009356, 0.006707, 0.005074, 0.004502 + +}; + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_example_f32.c new file mode 100644 index 0000000..ae25ce9 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/arm_signal_converge_example_f32.c @@ -0,0 +1,259 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_signal_converge_example_f32.c +* +* Description: Example code demonstrating convergence of an adaptive +* filter. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup SignalConvergence Signal Convergence Example + * + * \par Description: + * \par + * Demonstrates the ability of an adaptive filter to "learn" the transfer function of + * a FIR lowpass filter using the Normalized LMS Filter, Finite Impulse + * Response (FIR) Filter, and Basic Math Functions. + * + * \par Algorithm: + * \par + * The figure below illustrates the signal flow in this example. Uniformly distributed white + * noise is passed through an FIR lowpass filter. The output of the FIR filter serves as the + * reference input of the adaptive filter (normalized LMS filter). The white noise is input + * to the adaptive filter. The adaptive filter learns the transfer function of the FIR filter. + * The filter outputs two signals: (1) the output of the internal adaptive FIR filter, and + * (2) the error signal which is the difference between the adaptive filter and the reference + * output of the FIR filter. Over time as the adaptive filter learns the transfer function + * of the FIR filter, the first output approaches the reference output of the FIR filter, + * and the error signal approaches zero. + * \par + * The adaptive filter converges properly even if the input signal has a large dynamic + * range (i.e., varies from small to large values). The coefficients of the adaptive filter + * are initially zero, and then converge over 1536 samples. The internal function test_signal_converge() + * implements the stopping condition. The function checks if all of the values of the error signal have a + * magnitude below a threshold DELTA. + * + * \par Block Diagram: + * \par + * \image html SignalFlow.gif + * + * + * \par Variables Description: + * \par + * \li \c testInput_f32 points to the input data + * \li \c firStateF32 points to FIR state buffer + * \li \c lmsStateF32 points to Normalised Least mean square FIR filter state buffer + * \li \c FIRCoeff_f32 points to coefficient buffer + * \li \c lmsNormCoeff_f32 points to Normalised Least mean square FIR filter coefficient buffer + * \li \c wire1, wir2, wire3 temporary buffers + * \li \c errOutput, err_signal temporary error buffers + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_lms_norm_init_f32() + * - arm_fir_init_f32() + * - arm_fir_f32() + * - arm_lms_norm_f32() + * - arm_scale_f32() + * - arm_abs_f32() + * - arm_sub_f32() + * - arm_min_f32() + * - arm_copy_f32() + * + * Refer + * \link arm_signal_converge_example_f32.c \endlink + * + */ + + +/** \example arm_signal_converge_example_f32.c + */ + +#include "arm_math.h" +#include "math_helper.h" + +/* ---------------------------------------------------------------------- +** Global defines for the simulation +* ------------------------------------------------------------------- */ + +#define TEST_LENGTH_SAMPLES 1536 +#define NUMTAPS 32 +#define BLOCKSIZE 32 +#define DELTA_ERROR 0.000001f +#define DELTA_COEFF 0.0001f +#define MU 0.5f + +#define NUMFRAMES (TEST_LENGTH_SAMPLES / BLOCKSIZE) + +/* ---------------------------------------------------------------------- +* Declare FIR state buffers and structure +* ------------------------------------------------------------------- */ + +float32_t firStateF32[NUMTAPS + BLOCKSIZE]; +arm_fir_instance_f32 LPF_instance; + +/* ---------------------------------------------------------------------- +* Declare LMSNorm state buffers and structure +* ------------------------------------------------------------------- */ + +float32_t lmsStateF32[NUMTAPS + BLOCKSIZE]; +float32_t errOutput[TEST_LENGTH_SAMPLES]; +arm_lms_norm_instance_f32 lmsNorm_instance; + + +/* ---------------------------------------------------------------------- +* Function Declarations for Signal Convergence Example +* ------------------------------------------------------------------- */ + +arm_status test_signal_converge_example( void ); + + +/* ---------------------------------------------------------------------- +* Internal functions +* ------------------------------------------------------------------- */ +arm_status test_signal_converge(float32_t* err_signal, + uint32_t blockSize); + +void getinput(float32_t* input, + uint32_t fr_cnt, + uint32_t blockSize); + +/* ---------------------------------------------------------------------- +* External Declarations for FIR F32 module Test +* ------------------------------------------------------------------- */ +extern float32_t testInput_f32[TEST_LENGTH_SAMPLES]; +extern float32_t lmsNormCoeff_f32[32]; +extern const float32_t FIRCoeff_f32[32]; +extern arm_lms_norm_instance_f32 lmsNorm_instance; + +/* ---------------------------------------------------------------------- +* Declare I/O buffers +* ------------------------------------------------------------------- */ + +float32_t wire1[BLOCKSIZE]; +float32_t wire2[BLOCKSIZE]; +float32_t wire3[BLOCKSIZE]; +float32_t err_signal[BLOCKSIZE]; + +/* ---------------------------------------------------------------------- +* Signal converge test +* ------------------------------------------------------------------- */ + +int32_t main(void) +{ + uint32_t i; + arm_status status; + uint32_t index; + float32_t minValue; + + /* Initialize the LMSNorm data structure */ + arm_lms_norm_init_f32(&lmsNorm_instance, NUMTAPS, lmsNormCoeff_f32, lmsStateF32, MU, BLOCKSIZE); + + /* Initialize the FIR data structure */ + arm_fir_init_f32(&LPF_instance, NUMTAPS, (float32_t *)FIRCoeff_f32, firStateF32, BLOCKSIZE); + + /* ---------------------------------------------------------------------- + * Loop over the frames of data and execute each of the processing + * functions in the system. + * ------------------------------------------------------------------- */ + + for(i=0; i < NUMFRAMES; i++) + { + /* Read the input data - uniformly distributed random noise - into wire1 */ + arm_copy_f32(testInput_f32 + (i * BLOCKSIZE), wire1, BLOCKSIZE); + + /* Execute the FIR processing function. Input wire1 and output wire2 */ + arm_fir_f32(&LPF_instance, wire1, wire2, BLOCKSIZE); + + /* Execute the LMS Norm processing function*/ + + arm_lms_norm_f32(&lmsNorm_instance, /* LMSNorm instance */ + wire1, /* Input signal */ + wire2, /* Reference Signal */ + wire3, /* Converged Signal */ + err_signal, /* Error Signal, this will become small as the signal converges */ + BLOCKSIZE); /* BlockSize */ + + /* apply overall gain */ + arm_scale_f32(wire3, 5, wire3, BLOCKSIZE); /* in-place buffer */ + } + + status = ARM_MATH_SUCCESS; + + /* ------------------------------------------------------------------------------- + * Test whether the error signal has reached towards 0. + * ----------------------------------------------------------------------------- */ + + arm_abs_f32(err_signal, err_signal, BLOCKSIZE); + arm_min_f32(err_signal, BLOCKSIZE, &minValue, &index); + + if (minValue > DELTA_ERROR) + { + status = ARM_MATH_TEST_FAILURE; + } + + /* ---------------------------------------------------------------------- + * Test whether the filter coefficients have converged. + * ------------------------------------------------------------------- */ + + arm_sub_f32((float32_t *)FIRCoeff_f32, lmsNormCoeff_f32, lmsNormCoeff_f32, NUMTAPS); + + arm_abs_f32(lmsNormCoeff_f32, lmsNormCoeff_f32, NUMTAPS); + arm_min_f32(lmsNormCoeff_f32, NUMTAPS, &minValue, &index); + + if (minValue > DELTA_COEFF) + { + status = ARM_MATH_TEST_FAILURE; + } + + /* ---------------------------------------------------------------------- + * Loop here if the signals did not pass the convergence check. + * This denotes a test failure + * ------------------------------------------------------------------- */ + + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.c new file mode 100644 index 0000000..4b0ee1f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.c @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 b +* +* Project: CMSIS DSP Library +* +* Title: math_helper.c +* +* Description: Definition of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- +* Include standard header files +* -------------------------------------------------------------------- */ +#include + +/* ---------------------------------------------------------------------- +* Include project header files +* -------------------------------------------------------------------- */ +#include "math_helper.h" + +/** + * @brief Caluclation of SNR + * @param[in] pRef Pointer to the reference buffer + * @param[in] pTest Pointer to the test buffer + * @param[in] buffSize total number of samples + * @return SNR + * The function Caluclates signal to noise ratio for the reference output + * and test output + */ + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize) +{ + float EnergySignal = 0.0, EnergyError = 0.0; + uint32_t i; + float SNR; + int temp; + int *test; + + for (i = 0; i < buffSize; i++) + { + /* Checking for a NAN value in pRef array */ + test = (int *)(&pRef[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + /* Checking for a NAN value in pTest array */ + test = (int *)(&pTest[i]); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + EnergySignal += pRef[i] * pRef[i]; + EnergyError += (pRef[i] - pTest[i]) * (pRef[i] - pTest[i]); + } + + /* Checking for a NAN value in EnergyError */ + test = (int *)(&EnergyError); + temp = *test; + + if (temp == 0x7FC00000) + { + return(0); + } + + + SNR = 10 * log10 (EnergySignal / EnergyError); + + return (SNR); + +} + + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q15 (q15_t * input_buf, uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Converts float to fixed in q12.20 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to outputbuffer + * @param[in] numSamples number of samples in the input buffer + * @return none + * The function converts floating point values to fixed point(q12.20) values + */ + +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1048576.0f corresponds to pow(2, 20) */ + pOut[i] = (q31_t) (pIn[i] * 1048576.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 1.0) + { + pOut[i] = 0x000FFFFF; + } + } +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Compare MATLAB Reference Output and ARM Test output + * @param[in] pIn Pointer to Ref buffer + * @param[in] pOut Pointer to Test buffer + * @param[in] numSamples number of samples in the buffer + * @return maximum difference + */ + +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + int32_t diff, diffCrnt = 0; + uint32_t maxDiff = 0; + + for (i = 0; i < numSamples; i++) + { + diff = pIn[i] - pOut[i]; + diffCrnt = (diff > 0) ? diff : -diff; + + if (diffCrnt > maxDiff) + { + maxDiff = diffCrnt; + } + } + + return(maxDiff); +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q31 (q31_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + +/** + * @brief Provide guard bits for Input buffer + * @param[in,out] input_buf Pointer to input buffer + * @param[in] blockSize block Size + * @param[in] guard_bits guard bits + * @return none + * The function Provides the guard bits for the buffer + * to avoid overflow + */ + +void arm_provide_guard_bits_q7 (q7_t * input_buf, + uint32_t blockSize, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < blockSize; i++) + { + input_buf[i] = input_buf[i] >> guard_bits; + } +} + + + +/** + * @brief Caluclates number of guard bits + * @param[in] num_adds number of additions + * @return guard bits + * The function Caluclates the number of guard bits + * depending on the numtaps + */ + +uint32_t arm_calc_guard_bits (uint32_t num_adds) +{ + uint32_t i = 1, j = 0; + + if (num_adds == 1) + { + return (0); + } + + while (i < num_adds) + { + i = i * 2; + j++; + } + + return (j); +} + +/** + * @brief Apply guard bits to buffer + * @param[in,out] pIn pointer to input buffer + * @param[in] numSamples number of samples in the input buffer + * @param[in] guard_bits guard bits + * @return none + */ + +void arm_apply_guard_bits (float32_t *pIn, + uint32_t numSamples, + uint32_t guard_bits) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + pIn[i] = pIn[i] * arm_calc_2pow(guard_bits); + } +} + +/** + * @brief Calculates pow(2, numShifts) + * @param[in] numShifts number of shifts + * @return pow(2, numShifts) + */ +uint32_t arm_calc_2pow(uint32_t numShifts) +{ + + uint32_t i, val = 1; + + for (i = 0; i < numShifts; i++) + { + val = val * 2; + } + + return(val); +} + + + +/** + * @brief Converts float to fixed q14 + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q14 (float *pIn, q15_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 16384.0f corresponds to pow(2, 14) */ + pOut[i] = (q15_t) (pIn[i] * 16384.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFF; + } + + } + +} + + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q30 (float *pIn, q31_t * pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 1073741824.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 2.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Converts float to fixed q30 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q29 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 1073741824.0f corresponds to pow(2, 30) */ + pOut[i] = (q31_t) (pIn[i] * 536870912.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 4.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + + +/** + * @brief Converts float to fixed q28 format + * @param[in] pIn pointer to input buffer + * @param[out] pOut pointer to output buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_float_to_q28 (float *pIn, q31_t *pOut, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + /* 268435456.0f corresponds to pow(2, 28) */ + pOut[i] = (q31_t) (pIn[i] * 268435456.0f); + + pOut[i] += pIn[i] > 0 ? 0.5 : -0.5; + + if (pIn[i] == (float) 8.0) + { + pOut[i] = 0x7FFFFFFF; + } + } +} + +/** + * @brief Clip the float values to +/- 1 + * @param[in,out] pIn input buffer + * @param[in] numSamples number of samples in the buffer + * @return none + * The function converts floating point values to fixed point values + */ + +void arm_clip_f32 (float *pIn, uint32_t numSamples) +{ + uint32_t i; + + for (i = 0; i < numSamples; i++) + { + if (pIn[i] > 1.0f) + { + pIn[i] = 1.0; + } + else if ( pIn[i] < -1.0f) + { + pIn[i] = -1.0; + } + + } +} + + + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.h new file mode 100644 index 0000000..46b0af3 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.h @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2013 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* +* Title: math_helper.h +* +* Description: Prototypes of all helper functions required. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + + +#include "arm_math.h" + +#ifndef MATH_HELPER_H +#define MATH_HELPER_H + +float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize); +void arm_float_to_q12_20(float *pIn, q31_t * pOut, uint32_t numSamples); +void arm_provide_guard_bits_q15(q15_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_provide_guard_bits_q31(q31_t *input_buf, uint32_t blockSize, uint32_t guard_bits); +void arm_float_to_q14(float *pIn, q15_t *pOut, uint32_t numSamples); +void arm_float_to_q29(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q28(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_float_to_q30(float *pIn, q31_t *pOut, uint32_t numSamples); +void arm_clip_f32(float *pIn, uint32_t numSamples); +uint32_t arm_calc_guard_bits(uint32_t num_adds); +void arm_apply_guard_bits (float32_t * pIn, uint32_t numSamples, uint32_t guard_bits); +uint32_t arm_compare_fixed_q15(q15_t *pIn, q15_t * pOut, uint32_t numSamples); +uint32_t arm_compare_fixed_q31(q31_t *pIn, q31_t *pOut, uint32_t numSamples); +uint32_t arm_calc_2pow(uint32_t guard_bits); +#endif + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/Abstract.txt new file mode 100644 index 0000000..6d9e7c7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_sin_cos_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/arm_sin_cos_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/arm_sin_cos_example_f32.c new file mode 100644 index 0000000..9e65b2c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_sin_cos_example/arm_sin_cos_example_f32.c @@ -0,0 +1,161 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 12. March 2014 +* $Revision: V1.4.3 +* +* Project: CMSIS DSP Library +* Title: arm_sin_cos_example_f32.c +* +* Description: Example code demonstrating sin and cos calculation of input signal. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup SinCosExample SineCosine Example + * + * \par Description: + * \par + * Demonstrates the Pythagorean trignometric identity with the use of Cosine, Sine, Vector + * Multiplication, and Vector Addition functions. + * + * \par Algorithm: + * \par + * Mathematically, the Pythagorean trignometric identity is defined by the following equation: + *
sin(x) * sin(x) + cos(x) * cos(x) = 1
+ * where \c x is the angle in radians. + * + * \par Block Diagram: + * \par + * \image html sinCos.gif + * + * \par Variables Description: + * \par + * \li \c testInput_f32 array of input angle in radians + * \li \c testOutput stores sum of the squares of sine and cosine values of input angle + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_cos_f32() + * - arm_sin_f32() + * - arm_mult_f32() + * - arm_add_f32() + * + * Refer + * \link arm_sin_cos_example_f32.c \endlink + * + */ + + +/** \example arm_sin_cos_example_f32.c + */ + +#include +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +* Defines each of the tests performed +* ------------------------------------------------------------------- */ +#define MAX_BLOCKSIZE 32 +#define DELTA (0.0001f) + + +/* ---------------------------------------------------------------------- +* Test input data for Floating point sin_cos example for 32-blockSize +* Generated by the MATLAB randn() function +* ------------------------------------------------------------------- */ + +const float32_t testInput_f32[MAX_BLOCKSIZE] = +{ + -1.244916875853235400, -4.793533929171324800, 0.360705030233248850, 0.827929644170887320, -3.299532218312426900, 3.427441903227623800, 3.422401784294607700, -0.108308165334010680, + 0.941943896490312180, 0.502609575000365850, -0.537345278736373500, 2.088817392965764500, -1.693168684143455700, 6.283185307179590700, -0.392545884746175080, 0.327893095115825040, + 3.070147440456292300, 0.170611405884662230, -0.275275082396073010, -2.395492805446796300, 0.847311163536506600, -3.845517018083148800, 2.055818378415868300, 4.672594161978930800, + -1.990923030266425800, 2.469305197656249500, 3.609002606064021000, -4.586736582331667500, -4.147080139136136300, 1.643756718868359500, -1.150866392366494800, 1.985805026477433800 + + +}; + +const float32_t testRefOutput_f32 = 1.000000000; + +/* ---------------------------------------------------------------------- +* Declare Global variables +* ------------------------------------------------------------------- */ +uint32_t blockSize = 32; +float32_t testOutput; +float32_t cosOutput; +float32_t sinOutput; +float32_t cosSquareOutput; +float32_t sinSquareOutput; + +/* ---------------------------------------------------------------------- +* Max magnitude FFT Bin test +* ------------------------------------------------------------------- */ + +arm_status status; + +int32_t main(void) +{ + float32_t diff; + uint32_t i; + + for(i=0; i< blockSize; i++) + { + cosOutput = arm_cos_f32(testInput_f32[i]); + sinOutput = arm_sin_f32(testInput_f32[i]); + + arm_mult_f32(&cosOutput, &cosOutput, &cosSquareOutput, 1); + arm_mult_f32(&sinOutput, &sinOutput, &sinSquareOutput, 1); + + arm_add_f32(&cosSquareOutput, &sinSquareOutput, &testOutput, 1); + + /* absolute value of difference between ref and test */ + diff = fabsf(testRefOutput_f32 - testOutput); + + /* Comparison of sin_cos value with reference */ + if (diff > DELTA) + { + status = ARM_MATH_TEST_FAILURE; + } + + if ( status == ARM_MATH_TEST_FAILURE) + { + while (1); + } + + } + + while (1); /* main function does not return */ +} + + /** \endlink */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/Abstract.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/Abstract.txt new file mode 100644 index 0000000..371c79c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/Abstract.txt @@ -0,0 +1,4 @@ +CMSIS DSP_Lib example arm_variance_example for + Cortex-M0, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with single precision FPU. + +The example is configured for uVision Simulator. diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt new file mode 100644 index 0000000..a2084d7 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required (VERSION 3.6) +project (arm_variance_example VERSION 0.1) + +# Needed to include the configBoot module +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../..) + +################################### +# +# LIBRARIES +# +################################### + +########### +# +# CMSIS DSP +# + +add_subdirectory(../../../Source bin_dsp) + + +################################### +# +# TEST APPLICATION +# +################################### + + +add_executable(arm_variance_example) + +set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../../..) + +include(configBoot) + +target_sources(arm_variance_example PRIVATE arm_variance_example_f32.c) + +### Sources and libs + +target_link_libraries(arm_variance_example PRIVATE CMSISDSP) + +################################### +# +# INSTALLATION +# +################################### + +install (TARGETS arm_variance_example DESTINATION "${PROJECT_SOURCE_DIR}/varianceExampleBuild.axf") \ No newline at end of file diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/startup_ARMCM0.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/startup_ARMCM0.s new file mode 100644 index 0000000..3333bc6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/startup_ARMCM0.s @@ -0,0 +1,159 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/system_ARMCM0.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/system_ARMCM0.c new file mode 100644 index 0000000..66a364c --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM0/system_ARMCM0.c @@ -0,0 +1,56 @@ +/**************************************************************************//** + * @file system_ARMCM0.c + * @brief CMSIS Device System Source File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM0.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/startup_ARMCM3.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/startup_ARMCM3.s new file mode 100644 index 0000000..2bf6f19 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/startup_ARMCM3.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM3.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM3 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/system_ARMCM3.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/system_ARMCM3.c new file mode 100644 index 0000000..f56b85f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM3/system_ARMCM3.c @@ -0,0 +1,68 @@ +/**************************************************************************//** + * @file system_ARMCM3.c + * @brief CMSIS Device System Source File for + * ARMCM3 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ARMCM3.h" + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s new file mode 100644 index 0000000..f5270c0 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/startup_ARMCM4.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c new file mode 100644 index 0000000..731facd --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM4_FP/system_ARMCM4.c @@ -0,0 +1,83 @@ +/**************************************************************************//** + * @file system_ARMCM4.c + * @brief CMSIS Device System Source File for + * ARMCM4 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM4) + #include "ARMCM4.h" +#elif defined (ARMCM4_FP) + #include "ARMCM4_FP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s new file mode 100644 index 0000000..abddc8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/startup_ARMCM7.s @@ -0,0 +1,163 @@ +;/**************************************************************************//** +; * @file startup_ARMCM7.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM7 Device +; * @version V5.3.1 +; * @date 09. July 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD MemManage_Handler ; -12 MPU Fault Handler + DCD BusFault_Handler ; -11 Bus Fault Handler + DCD UsageFault_Handler ; -10 Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD DebugMon_Handler ; -4 Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + ; Interrupts + DCD Interrupt0_Handler ; 0 Interrupt 0 + DCD Interrupt1_Handler ; 1 Interrupt 1 + DCD Interrupt2_Handler ; 2 Interrupt 2 + DCD Interrupt3_Handler ; 3 Interrupt 3 + DCD Interrupt4_Handler ; 4 Interrupt 4 + DCD Interrupt5_Handler ; 5 Interrupt 5 + DCD Interrupt6_Handler ; 6 Interrupt 6 + DCD Interrupt7_Handler ; 7 Interrupt 7 + DCD Interrupt8_Handler ; 8 Interrupt 8 + DCD Interrupt9_Handler ; 9 Interrupt 9 + + SPACE (214 * 4) ; Interrupts 10 .. 224 are left out +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors + + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler MemManage_Handler + Set_Default_Handler BusFault_Handler + Set_Default_Handler UsageFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler DebugMon_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler Interrupt0_Handler + Set_Default_Handler Interrupt1_Handler + Set_Default_Handler Interrupt2_Handler + Set_Default_Handler Interrupt3_Handler + Set_Default_Handler Interrupt4_Handler + Set_Default_Handler Interrupt5_Handler + Set_Default_Handler Interrupt6_Handler + Set_Default_Handler Interrupt7_Handler + Set_Default_Handler Interrupt8_Handler + Set_Default_Handler Interrupt9_Handler + + ALIGN + + +; User setup Stack & Heap + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c new file mode 100644 index 0000000..69e2a8d --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/RTE/Device/ARMCM7_SP/system_ARMCM7.c @@ -0,0 +1,85 @@ +/**************************************************************************//** + * @file system_ARMCM7.c + * @brief CMSIS Device System Source File for + * ARMCM7 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined (ARMCM7) + #include "ARMCM7.h" +#elif defined (ARMCM7_SP) + #include "ARMCM7_SP.h" +#elif defined (ARMCM7_DP) + #include "ARMCM7_DP.h" +#else + #error device not specified! +#endif + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (50000000UL) /* Oscillator frequency */ + +#define SYSTEM_CLOCK (XTAL / 2U) + + +/*---------------------------------------------------------------------------- + Externals + *----------------------------------------------------------------------------*/ +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + extern uint32_t __Vectors; +#endif + +/*---------------------------------------------------------------------------- + System Core Clock Variable + *----------------------------------------------------------------------------*/ +uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ + + +/*---------------------------------------------------------------------------- + System Core Clock update function + *----------------------------------------------------------------------------*/ +void SystemCoreClockUpdate (void) +{ + SystemCoreClock = SYSTEM_CLOCK; +} + +/*---------------------------------------------------------------------------- + System initialization function + *----------------------------------------------------------------------------*/ +void SystemInit (void) +{ + +#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) + SCB->VTOR = (uint32_t) &__Vectors; +#endif + +#if defined (__FPU_USED) && (__FPU_USED == 1U) + SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ + (3U << 11U*2U) ); /* enable CP11 Full Access */ +#endif + +#ifdef UNALIGNED_SUPPORT_DISABLE + SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; +#endif + + SystemCoreClock = SYSTEM_CLOCK; +} diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/arm_variance_example_f32.c b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/arm_variance_example_f32.c new file mode 100644 index 0000000..13dde7b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/arm_variance_example_f32.c @@ -0,0 +1,225 @@ +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2012 ARM Limited. All rights reserved. +* +* $Date: 17. January 2013 +* $Revision: V1.4.0 +* +* Project: CMSIS DSP Library +* Title: arm_variance_example_f32.c +* +* Description: Example code demonstrating variance calculation of input sequence. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +/** + * @ingroup groupExamples + */ + +/** + * @defgroup VarianceExample Variance Example + * + * \par Description: + * \par + * Demonstrates the use of Basic Math and Support Functions to calculate the variance of an + * input sequence with N samples. Uniformly distributed white noise is taken as input. + * + * \par Algorithm: + * \par + * The variance of a sequence is the mean of the squared deviation of the sequence from its mean. + * \par + * This is denoted by the following equation: + *
 variance = ((x[0] - x') * (x[0] - x') + (x[1] - x') * (x[1] - x') + ... + * (x[n-1] - x') * (x[n-1] - x')) / (N-1)
+ * where, x[n] is the input sequence, N is the number of input samples, and + * x' is the mean value of the input sequence, x[n]. + * \par + * The mean value x' is defined as: + *
 x' = (x[0] + x[1] + ... + x[n-1]) / N
+ * + * \par Block Diagram: + * \par + * \image html Variance.gif + * + * + * \par Variables Description: + * \par + * \li \c testInput_f32 points to the input data + * \li \c wire1, \c wir2, \c wire3 temporary buffers + * \li \c blockSize number of samples processed at a time + * \li \c refVarianceOut reference variance value + * + * \par CMSIS DSP Software Library Functions Used: + * \par + * - arm_dot_prod_f32() + * - arm_mult_f32() + * - arm_sub_f32() + * - arm_fill_f32() + * - arm_copy_f32() + * + * Refer + * \link arm_variance_example_f32.c \endlink + * + */ + + +/** \example arm_variance_example_f32.c + */ + +#include +#include "arm_math.h" + +/* ---------------------------------------------------------------------- +* Defines each of the tests performed +* ------------------------------------------------------------------- */ +#define MAX_BLOCKSIZE 32 +#define DELTA (0.000001f) + + +/* ---------------------------------------------------------------------- +* Declare I/O buffers +* ------------------------------------------------------------------- */ +float32_t wire1[MAX_BLOCKSIZE]; +float32_t wire2[MAX_BLOCKSIZE]; +float32_t wire3[MAX_BLOCKSIZE]; + +/* ---------------------------------------------------------------------- +* Test input data for Floating point Variance example for 32-blockSize +* Generated by the MATLAB randn() function +* ------------------------------------------------------------------- */ + +float32_t testInput_f32[32] = +{ + -0.432564811528221, -1.665584378238097, 0.125332306474831, 0.287676420358549, + -1.146471350681464, 1.190915465642999, 1.189164201652103, -0.037633276593318, + 0.327292361408654, 0.174639142820925, -0.186708577681439, 0.725790548293303, + -0.588316543014189, 2.183185818197101, -0.136395883086596, 0.113931313520810, + 1.066768211359189, 0.059281460523605, -0.095648405483669, -0.832349463650022, + 0.294410816392640, -1.336181857937804, 0.714324551818952, 1.623562064446271, + -0.691775701702287, 0.857996672828263, 1.254001421602532, -1.593729576447477, + -1.440964431901020, 0.571147623658178, -0.399885577715363, 0.689997375464345 + +}; + +/* ---------------------------------------------------------------------- +* Declare Global variables +* ------------------------------------------------------------------- */ +uint32_t blockSize = 32; +float32_t refVarianceOut = 0.903941793931839; + +/* ---------------------------------------------------------------------- +* Variance calculation test +* ------------------------------------------------------------------- */ + +int32_t main(void) +{ + arm_status status; + float32_t mean, oneByBlockSize; + float32_t variance; + float32_t diff; + + status = ARM_MATH_SUCCESS; + +#if defined(FILEIO) + printf("START\n"); +#endif + + + /* Calculation of mean value of input */ + + /* x' = 1/blockSize * (x(0)* 1 + x(1) * 1 + ... + x(n-1) * 1) */ + + /* Fill wire1 buffer with 1.0 value */ + arm_fill_f32(1.0, wire1, blockSize); + + /* Calculate the dot product of wire1 and wire2 */ + /* (x(0)* 1 + x(1) * 1 + ...+ x(n-1) * 1) */ + arm_dot_prod_f32(testInput_f32, wire1, blockSize, &mean); + + /* Calculation of 1/blockSize */ + oneByBlockSize = 1.0 / (blockSize); + + /* 1/blockSize * (x(0)* 1 + x(1) * 1 + ... + x(n-1) * 1) */ + arm_mult_f32(&mean, &oneByBlockSize, &mean, 1); + + + /* Calculation of variance value of input */ + + /* (1/blockSize) * (x(0) - x') * (x(0) - x') + (x(1) - x') * (x(1) - x') + ... + (x(n-1) - x') * (x(n-1) - x') */ + + /* Fill wire2 with mean value x' */ + arm_fill_f32(mean, wire2, blockSize); + + /* wire3 contains (x-x') */ + arm_sub_f32(testInput_f32, wire2, wire3, blockSize); + + /* wire2 contains (x-x') */ + arm_copy_f32(wire3, wire2, blockSize); + + /* (x(0) - x') * (x(0) - x') + (x(1) - x') * (x(1) - x') + ... + (x(n-1) - x') * (x(n-1) - x') */ + arm_dot_prod_f32(wire2, wire3, blockSize, &variance); + + /* Calculation of 1/blockSize */ + oneByBlockSize = 1.0 / (blockSize - 1); + + /* Calculation of variance */ + arm_mult_f32(&variance, &oneByBlockSize, &variance, 1); + + /* absolute value of difference between ref and test */ + diff = fabsf(refVarianceOut - variance); + + /* Comparison of variance value with reference */ + + if (diff > DELTA) + { + status = ARM_MATH_TEST_FAILURE; + } + + +#if !defined(FILEIO) + if ( status != ARM_MATH_SUCCESS) + { + while (1); + } + + while (1); /* main function does not return */ +#else + if (status == ARM_MATH_SUCCESS) + { + printf("SUCCESS\n"); + } + else + { + printf("FAILURE\n"); + } +#endif +} + + /** \endlink */ + + diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h new file mode 100644 index 0000000..db747a6 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h @@ -0,0 +1,5 @@ +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +#endif /* RTE_COMPONENTS_H */ \ No newline at end of file diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_common_tables.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_common_tables.h new file mode 100644 index 0000000..6a4337f --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_common_tables.h @@ -0,0 +1,378 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_common_tables.h + * Description: Extern declaration for common tables + * + * $Date: 27. January 2017 + * $Revision: V.1.5.1 + * + * Target Processor: Cortex-M cores + * -------------------------------------------------------------------- */ +/* + * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _ARM_COMMON_TABLES_H +#define _ARM_COMMON_TABLES_H + +#include "arm_math.h" + +#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_FFT_ALLOW_TABLES) + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREV_1024) + extern const uint16_t armBitRevTable[1024]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_16) + extern const float32_t twiddleCoef_16[32]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_32) + extern const float32_t twiddleCoef_32[64]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_64) + extern const float32_t twiddleCoef_64[128]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_128) + extern const float32_t twiddleCoef_128[256]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_256) + extern const float32_t twiddleCoef_256[512]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_512) + extern const float32_t twiddleCoef_512[1024]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_1024) + extern const float32_t twiddleCoef_1024[2048]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_2048) + extern const float32_t twiddleCoef_2048[4096]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_F32_4096) + extern const float32_t twiddleCoef_4096[8192]; + #define twiddleCoef twiddleCoef_4096 + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_16) + extern const q31_t twiddleCoef_16_q31[24]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_32) + extern const q31_t twiddleCoef_32_q31[48]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_64) + extern const q31_t twiddleCoef_64_q31[96]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_128) + extern const q31_t twiddleCoef_128_q31[192]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_256) + extern const q31_t twiddleCoef_256_q31[384]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_512) + extern const q31_t twiddleCoef_512_q31[768]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_1024) + extern const q31_t twiddleCoef_1024_q31[1536]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_2048) + extern const q31_t twiddleCoef_2048_q31[3072]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q31_4096) + extern const q31_t twiddleCoef_4096_q31[6144]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_16) + extern const q15_t twiddleCoef_16_q15[24]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_32) + extern const q15_t twiddleCoef_32_q15[48]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_64) + extern const q15_t twiddleCoef_64_q15[96]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_128) + extern const q15_t twiddleCoef_128_q15[192]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_256) + extern const q15_t twiddleCoef_256_q15[384]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_512) + extern const q15_t twiddleCoef_512_q15[768]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_1024) + extern const q15_t twiddleCoef_1024_q15[1536]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_2048) + extern const q15_t twiddleCoef_2048_q15[3072]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_Q15_4096) + extern const q15_t twiddleCoef_4096_q15[6144]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_32) + extern const float32_t twiddleCoef_rfft_32[32]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_64) + extern const float32_t twiddleCoef_rfft_64[64]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_128) + extern const float32_t twiddleCoef_rfft_128[128]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_256) + extern const float32_t twiddleCoef_rfft_256[256]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_512) + extern const float32_t twiddleCoef_rfft_512[512]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_1024) + extern const float32_t twiddleCoef_rfft_1024[1024]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_2048) + extern const float32_t twiddleCoef_rfft_2048[2048]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096) + extern const float32_t twiddleCoef_rfft_4096[4096]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + /* floating-point bit reversal tables */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_16) + #define ARMBITREVINDEXTABLE_16_TABLE_LENGTH ((uint16_t)20) + extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE_16_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_32) + #define ARMBITREVINDEXTABLE_32_TABLE_LENGTH ((uint16_t)48) + extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE_32_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_64) + #define ARMBITREVINDEXTABLE_64_TABLE_LENGTH ((uint16_t)56) + extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE_64_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_128) + #define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208) + extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_256) + #define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440) + extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_512) + #define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448) + extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_1024) + #define ARMBITREVINDEXTABLE_1024_TABLE_LENGTH ((uint16_t)1800) + extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE_1024_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_2048) + #define ARMBITREVINDEXTABLE_2048_TABLE_LENGTH ((uint16_t)3808) + extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE_2048_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FLT_4096) + #define ARMBITREVINDEXTABLE_4096_TABLE_LENGTH ((uint16_t)4032) + extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE_4096_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + + /* fixed-point bit reversal tables */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_16) + #define ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH ((uint16_t)12) + extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_32) + #define ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH ((uint16_t)24) + extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_64) + #define ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH ((uint16_t)56) + extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_128) + #define ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH ((uint16_t)112) + extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_256) + #define ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH ((uint16_t)240) + extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_512) + #define ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH ((uint16_t)480) + extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_1024) + #define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992) + extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_2048) + #define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) + extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_BITREVIDX_FXT_4096) + #define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) + extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_REALCOEF_F32) + extern const float32_t realCoefA[8192]; + extern const float32_t realCoefB[8192]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_REALCOEF_Q31) + extern const q31_t realCoefAQ31[8192]; + extern const q31_t realCoefBQ31[8192]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_REALCOEF_Q15) + extern const q15_t realCoefAQ15[8192]; + extern const q15_t realCoefBQ15[8192]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_F32_128) + extern const float32_t Weights_128[256]; + extern const float32_t cos_factors_128[128]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_F32_512) + extern const float32_t Weights_512[1024]; + extern const float32_t cos_factors_512[512]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_F32_2048) + extern const float32_t Weights_2048[4096]; + extern const float32_t cos_factors_2048[2048]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_F32_8192) + extern const float32_t Weights_8192[16384]; + extern const float32_t cos_factors_8192[8192]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q15_128) + extern const q15_t WeightsQ15_128[256]; + extern const q15_t cos_factorsQ15_128[128]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q15_512) + extern const q15_t WeightsQ15_512[1024]; + extern const q15_t cos_factorsQ15_512[512]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q15_2048) + extern const q15_t WeightsQ15_2048[4096]; + extern const q15_t cos_factorsQ15_2048[2048]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q15_8192) + extern const q15_t WeightsQ15_8192[16384]; + extern const q15_t cos_factorsQ15_8192[8192]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q31_128) + extern const q31_t WeightsQ31_128[256]; + extern const q31_t cos_factorsQ31_128[128]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q31_512) + extern const q31_t WeightsQ31_512[1024]; + extern const q31_t cos_factorsQ31_512[512]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q31_2048) + extern const q31_t WeightsQ31_2048[4096]; + extern const q31_t cos_factorsQ31_2048[2048]; + #endif + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || defined(ARM_TABLE_DCT4_Q31_8192) + extern const q31_t WeightsQ31_8192[16384]; + extern const q31_t cos_factorsQ31_8192[8192]; + #endif + +#endif /* if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_FFT_TABLES) */ + +#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_FAST_ALLOW_TABLES) + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FAST_TABLES) || defined(ARM_TABLE_RECIP_Q15) + extern const q15_t armRecipTableQ15[64]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) defined(ARM_ALL_FAST_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FAST_TABLES) || defined(ARM_TABLE_RECIP_Q31) + extern const q31_t armRecipTableQ31[64]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) defined(ARM_ALL_FAST_TABLES) */ + + /* Tables for Fast Math Sine and Cosine */ + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FAST_TABLES) || defined(ARM_TABLE_SIN_F32) + extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) defined(ARM_ALL_FAST_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FAST_TABLES) || defined(ARM_TABLE_SIN_Q31) + extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) defined(ARM_ALL_FAST_TABLES) */ + + #if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FAST_TABLES) || defined(ARM_TABLE_SIN_Q15) + extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1]; + #endif /* !defined(ARM_DSP_CONFIG_TABLES) defined(ARM_ALL_FAST_TABLES) */ + +#endif /* if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_FAST_TABLES) */ + +#endif /* ARM_COMMON_TABLES_H */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_const_structs.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_const_structs.h new file mode 100644 index 0000000..80a3e8b --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_const_structs.h @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_const_structs.h + * Description: Constant structs that are initialized for user convenience. + * For example, some can be given as arguments to the arm_cfft_f32() function. + * + * $Date: 27. January 2017 + * $Revision: V.1.5.1 + * + * Target Processor: Cortex-M cores + * -------------------------------------------------------------------- */ +/* + * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _ARM_CONST_STRUCTS_H +#define _ARM_CONST_STRUCTS_H + +#include "arm_math.h" +#include "arm_common_tables.h" + + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len16; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len32; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len64; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len128; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len256; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len512; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048; + extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096; + + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len16; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len32; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len64; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len128; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len256; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len512; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048; + extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096; + + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len16; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len32; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len64; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len128; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len256; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len512; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048; + extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096; + +#endif diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_math.h b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_math.h new file mode 100644 index 0000000..eb37f82 --- /dev/null +++ b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Include/arm_math.h @@ -0,0 +1,7361 @@ +/****************************************************************************** + * @file arm_math.h + * @brief Public header file for CMSIS DSP Library + * @version V1.6.0 + * @date 18. March 2019 + ******************************************************************************/ +/* + * Copyright (c) 2010-2019 Arm Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + \mainpage CMSIS DSP Software Library + * + * Introduction + * ------------ + * + * This user manual describes the CMSIS DSP software library, + * a suite of common signal processing functions for use on Cortex-M processor based devices. + * + * The library is divided into a number of functions each covering a specific category: + * - Basic math functions + * - Fast math functions + * - Complex math functions + * - Filters + * - Matrix functions + * - Transform functions + * - Motor control functions + * - Statistical functions + * - Support functions + * - Interpolation functions + * + * The library has separate functions for operating on 8-bit integers, 16-bit integers, + * 32-bit integer and 32-bit floating-point values. + * + * Using the Library + * ------------ + * + * The library installer contains prebuilt versions of the libraries in the Lib folder. + * - arm_cortexM7lfdp_math.lib (Cortex-M7, Little endian, Double Precision Floating Point Unit) + * - arm_cortexM7bfdp_math.lib (Cortex-M7, Big endian, Double Precision Floating Point Unit) + * - arm_cortexM7lfsp_math.lib (Cortex-M7, Little endian, Single Precision Floating Point Unit) + * - arm_cortexM7bfsp_math.lib (Cortex-M7, Big endian and Single Precision Floating Point Unit on) + * - arm_cortexM7l_math.lib (Cortex-M7, Little endian) + * - arm_cortexM7b_math.lib (Cortex-M7, Big endian) + * - arm_cortexM4lf_math.lib (Cortex-M4, Little endian, Floating Point Unit) + * - arm_cortexM4bf_math.lib (Cortex-M4, Big endian, Floating Point Unit) + * - arm_cortexM4l_math.lib (Cortex-M4, Little endian) + * - arm_cortexM4b_math.lib (Cortex-M4, Big endian) + * - arm_cortexM3l_math.lib (Cortex-M3, Little endian) + * - arm_cortexM3b_math.lib (Cortex-M3, Big endian) + * - arm_cortexM0l_math.lib (Cortex-M0 / Cortex-M0+, Little endian) + * - arm_cortexM0b_math.lib (Cortex-M0 / Cortex-M0+, Big endian) + * - arm_ARMv8MBLl_math.lib (Armv8-M Baseline, Little endian) + * - arm_ARMv8MMLl_math.lib (Armv8-M Mainline, Little endian) + * - arm_ARMv8MMLlfsp_math.lib (Armv8-M Mainline, Little endian, Single Precision Floating Point Unit) + * - arm_ARMv8MMLld_math.lib (Armv8-M Mainline, Little endian, DSP instructions) + * - arm_ARMv8MMLldfsp_math.lib (Armv8-M Mainline, Little endian, DSP instructions, Single Precision Floating Point Unit) + * + * The library functions are declared in the public file arm_math.h which is placed in the Include folder. + * Simply include this file and link the appropriate library in the application and begin calling the library functions. The Library supports single + * public header file arm_math.h for Cortex-M cores with little endian and big endian. Same header file will be used for floating point unit(FPU) variants. + * + * + * Examples + * -------- + * + * The library ships with a number of examples which demonstrate how to use the library functions. + * + * Toolchain Support + * ------------ + * + * The library has been developed and tested with MDK version 5.14.0.0 + * The library is being tested in GCC and IAR toolchains and updates on this activity will be made available shortly. + * + * Building the Library + * ------------ + * + * The library installer contains a project file to rebuild libraries on MDK toolchain in the CMSIS\\DSP\\Projects\\ARM folder. + * - arm_cortexM_math.uvprojx + * + * + * The libraries can be built by opening the arm_cortexM_math.uvprojx project in MDK-ARM, selecting a specific target, and defining the optional preprocessor macros detailed above. + * + * Preprocessor Macros + * ------------ + * + * Each library project have different preprocessor macros. + * + * - ARM_MATH_BIG_ENDIAN: + * + * Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets. + * + * - ARM_MATH_MATRIX_CHECK: + * + * Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices + * + * - ARM_MATH_ROUNDING: + * + * Define macro ARM_MATH_ROUNDING for rounding on support functions + * + * - ARM_MATH_LOOPUNROLL: + * + * Define macro ARM_MATH_LOOPUNROLL to enable manual loop unrolling in DSP functions + * + * - ARM_MATH_NEON: + * + * Define macro ARM_MATH_NEON to enable Neon versions of the DSP functions. + * It is not enabled by default when Neon is available because performances are + * dependent on the compiler and target architecture. + * + * - ARM_MATH_NEON_EXPERIMENTAL: + * + * Define macro ARM_MATH_NEON_EXPERIMENTAL to enable experimental Neon versions of + * of some DSP functions. Experimental Neon versions currently do not have better + * performances than the scalar versions. + * + *
+ * CMSIS-DSP in ARM::CMSIS Pack + * ----------------------------- + * + * The following files relevant to CMSIS-DSP are present in the ARM::CMSIS Pack directories: + * |File/Folder |Content | + * |---------------------------------|------------------------------------------------------------------------| + * |\b CMSIS\\Documentation\\DSP | This documentation | + * |\b CMSIS\\DSP\\DSP_Lib_TestSuite | DSP_Lib test suite | + * |\b CMSIS\\DSP\\Examples | Example projects demonstrating the usage of the library functions | + * |\b CMSIS\\DSP\\Include | DSP_Lib include files | + * |\b CMSIS\\DSP\\Lib | DSP_Lib binaries | + * |\b CMSIS\\DSP\\Projects | Projects to rebuild DSP_Lib binaries | + * |\b CMSIS\\DSP\\Source | DSP_Lib source files | + * + *
+ * Revision History of CMSIS-DSP + * ------------ + * Please refer to \ref ChangeLog_pg. + */ + + +/** + * @defgroup groupMath Basic Math Functions + */ + +/** + * @defgroup groupFastMath Fast Math Functions + * This set of functions provides a fast approximation to sine, cosine, and square root. + * As compared to most of the other functions in the CMSIS math library, the fast math functions + * operate on individual values and not arrays. + * There are separate functions for Q15, Q31, and floating-point data. + * + */ + +/** + * @defgroup groupCmplxMath Complex Math Functions + * This set of functions operates on complex data vectors. + * The data in the complex arrays is stored in an interleaved fashion + * (real, imag, real, imag, ...). + * In the API functions, the number of samples in a complex array refers + * to the number of complex values; the array contains twice this number of + * real values. + */ + +/** + * @defgroup groupFilters Filtering Functions + */ + +/** + * @defgroup groupMatrix Matrix Functions + * + * This set of functions provides basic matrix math operations. + * The functions operate on matrix data structures. For example, + * the type + * definition for the floating-point matrix structure is shown + * below: + *
+ *     typedef struct
+ *     {
+ *       uint16_t numRows;     // number of rows of the matrix.
+ *       uint16_t numCols;     // number of columns of the matrix.
+ *       float32_t *pData;     // points to the data of the matrix.
+ *     } arm_matrix_instance_f32;
+ * 
+ * There are similar definitions for Q15 and Q31 data types. + * + * The structure specifies the size of the matrix and then points to + * an array of data. The array is of size numRows X numCols + * and the values are arranged in row order. That is, the + * matrix element (i, j) is stored at: + *
+ *     pData[i*numCols + j]
+ * 
+ * + * \par Init Functions + * There is an associated initialization function for each type of matrix + * data structure. + * The initialization function sets the values of the internal structure fields. + * Refer to \ref arm_mat_init_f32(), \ref arm_mat_init_q31() and \ref arm_mat_init_q15() + * for floating-point, Q31 and Q15 types, respectively. + * + * \par + * Use of the initialization function is optional. However, if initialization function is used + * then the instance structure cannot be placed into a const data section. + * To place the instance structure in a const data + * section, manually initialize the data structure. For example: + *
+ * arm_matrix_instance_f32 S = {nRows, nColumns, pData};
+ * arm_matrix_instance_q31 S = {nRows, nColumns, pData};
+ * arm_matrix_instance_q15 S = {nRows, nColumns, pData};
+ * 
+ * where nRows specifies the number of rows, nColumns + * specifies the number of columns, and pData points to the + * data array. + * + * \par Size Checking + * By default all of the matrix functions perform size checking on the input and + * output matrices. For example, the matrix addition function verifies that the + * two input matrices and the output matrix all have the same number of rows and + * columns. If the size check fails the functions return: + *
+ *     ARM_MATH_SIZE_MISMATCH
+ * 
+ * Otherwise the functions return + *
+ *     ARM_MATH_SUCCESS
+ * 
+ * There is some overhead associated with this matrix size checking. + * The matrix size checking is enabled via the \#define + *
+ *     ARM_MATH_MATRIX_CHECK
+ * 
+ * within the library project settings. By default this macro is defined + * and size checking is enabled. By changing the project settings and + * undefining this macro size checking is eliminated and the functions + * run a bit faster. With size checking disabled the functions always + * return ARM_MATH_SUCCESS. + */ + +/** + * @defgroup groupTransforms Transform Functions + */ + +/** + * @defgroup groupController Controller Functions + */ + +/** + * @defgroup groupStats Statistics Functions + */ + +/** + * @defgroup groupSupport Support Functions + */ + +/** + * @defgroup groupInterpolation Interpolation Functions + * These functions perform 1- and 2-dimensional interpolation of data. + * Linear interpolation is used for 1-dimensional data and + * bilinear interpolation is used for 2-dimensional data. + */ + +/** + * @defgroup groupExamples Examples + */ + + +#ifndef _ARM_MATH_H +#define _ARM_MATH_H + +/* Compiler specific diagnostic adjustment */ +#if defined ( __CC_ARM ) + +#elif defined ( __ARMCC_VERSION ) && ( __ARMCC_VERSION >= 6010050 ) + +#elif defined ( __GNUC__ ) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic ignored "-Wunused-parameter" + +#elif defined ( __ICCARM__ ) + +#elif defined ( __TI_ARM__ ) + +#elif defined ( __CSMC__ ) + +#elif defined ( __TASKING__ ) + +#elif defined ( _MSC_VER ) + +#else + #error Unknown compiler +#endif + + +/* Included for instrinsics definitions */ +#if !defined ( _MSC_VER ) +#include "cmsis_compiler.h" +#else +#include +#define __STATIC_FORCEINLINE static __forceinline +#define __ALIGNED(x) __declspec(align(x)) +#define LOW_OPTIMIZATION_ENTER +#define LOW_OPTIMIZATION_EXIT +#define IAR_ONLY_LOW_OPTIMIZATION_ENTER +#define IAR_ONLY_LOW_OPTIMIZATION_EXIT +#endif + +#include "string.h" +#include "math.h" +#include "float.h" + +/* evaluate ARM DSP feature */ +#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) + #define ARM_MATH_DSP 1 +#endif + +#if defined(__ARM_NEON) +#include +#endif + + +#ifdef __cplusplus +extern "C" +{ +#endif + + + /** + * @brief Macros required for reciprocal calculation in Normalized LMS + */ + +#define DELTA_Q31 (0x100) +#define DELTA_Q15 0x5 +#define INDEX_MASK 0x0000003F +#ifndef PI + #define PI 3.14159265358979f +#endif + + /** + * @brief Macros required for SINE and COSINE Fast math approximations + */ + +#define FAST_MATH_TABLE_SIZE 512 +#define FAST_MATH_Q31_SHIFT (32 - 10) +#define FAST_MATH_Q15_SHIFT (16 - 10) +#define CONTROLLER_Q31_SHIFT (32 - 9) +#define TABLE_SPACING_Q31 0x400000 +#define TABLE_SPACING_Q15 0x80 + + /** + * @brief Macros required for SINE and COSINE Controller functions + */ + /* 1.31(q31) Fixed value of 2/360 */ + /* -1 to +1 is divided into 360 values so total spacing is (2/360) */ +#define INPUT_SPACING 0xB60B61 + + + /** + * @brief Error status returned by some functions in the library. + */ + + typedef enum + { + ARM_MATH_SUCCESS = 0, /**< No error */ + ARM_MATH_ARGUMENT_ERROR = -1, /**< One or more arguments are incorrect */ + ARM_MATH_LENGTH_ERROR = -2, /**< Length of data buffer is incorrect */ + ARM_MATH_SIZE_MISMATCH = -3, /**< Size of matrices is not compatible with the operation */ + ARM_MATH_NANINF = -4, /**< Not-a-number (NaN) or infinity is generated */ + ARM_MATH_SINGULAR = -5, /**< Input matrix is singular and cannot be inverted */ + ARM_MATH_TEST_FAILURE = -6 /**< Test Failed */ + } arm_status; + + /** + * @brief 8-bit fractional data type in 1.7 format. + */ + typedef int8_t q7_t; + + /** + * @brief 16-bit fractional data type in 1.15 format. + */ + typedef int16_t q15_t; + + /** + * @brief 32-bit fractional data type in 1.31 format. + */ + typedef int32_t q31_t; + + /** + * @brief 64-bit fractional data type in 1.63 format. + */ + typedef int64_t q63_t; + + /** + * @brief 32-bit floating-point type definition. + */ + typedef float float32_t; + + /** + * @brief 64-bit floating-point type definition. + */ + typedef double float64_t; + + +/** + @brief definition to read/write two 16 bit values. + @deprecated + */ +#if defined ( __CC_ARM ) + #define __SIMD32_TYPE int32_t __packed +#elif defined ( __ARMCC_VERSION ) && ( __ARMCC_VERSION >= 6010050 ) + #define __SIMD32_TYPE int32_t +#elif defined ( __GNUC__ ) + #define __SIMD32_TYPE int32_t +#elif defined ( __ICCARM__ ) + #define __SIMD32_TYPE int32_t __packed +#elif defined ( __TI_ARM__ ) + #define __SIMD32_TYPE int32_t +#elif defined ( __CSMC__ ) + #define __SIMD32_TYPE int32_t +#elif defined ( __TASKING__ ) + #define __SIMD32_TYPE __un(aligned) int32_t +#elif defined(_MSC_VER ) + #define __SIMD32_TYPE int32_t +#else + #error Unknown compiler +#endif + +#define __SIMD32(addr) (*(__SIMD32_TYPE **) & (addr)) +#define __SIMD32_CONST(addr) ( (__SIMD32_TYPE * ) (addr)) +#define _SIMD32_OFFSET(addr) (*(__SIMD32_TYPE * ) (addr)) +#define __SIMD64(addr) (*( int64_t **) & (addr)) + +/* SIMD replacement */ + + +/** + @brief Read 2 Q15 from Q15 pointer. + @param[in] pQ15 points to input value + @return Q31 value + */ +__STATIC_FORCEINLINE q31_t read_q15x2 ( + q15_t * pQ15) +{ + q31_t val; + + memcpy (&val, pQ15, 4); + + return (val); +} + +/** + @brief Read 2 Q15 from Q15 pointer and increment pointer afterwards. + @param[in] pQ15 points to input value + @return Q31 value + */ +__STATIC_FORCEINLINE q31_t read_q15x2_ia ( + q15_t ** pQ15) +{ + q31_t val; + + memcpy (&val, *pQ15, 4); + *pQ15 += 2; + + return (val); +} + +/** + @brief Read 2 Q15 from Q15 pointer and decrement pointer afterwards. + @param[in] pQ15 points to input value + @return Q31 value + */ +__STATIC_FORCEINLINE q31_t read_q15x2_da ( + q15_t ** pQ15) +{ + q31_t val; + + memcpy (&val, *pQ15, 4); + *pQ15 -= 2; + + return (val); +} + +/** + @brief Write 2 Q15 to Q15 pointer and increment pointer afterwards. + @param[in] pQ15 points to input value + @param[in] value Q31 value + @return none + */ +__STATIC_FORCEINLINE void write_q15x2_ia ( + q15_t ** pQ15, + q31_t value) +{ + q31_t val = value; + + memcpy (*pQ15, &val, 4); + *pQ15 += 2; +} + +/** + @brief Write 2 Q15 to Q15 pointer. + @param[in] pQ15 points to input value + @param[in] value Q31 value + @return none + */ +__STATIC_FORCEINLINE void write_q15x2 ( + q15_t * pQ15, + q31_t value) +{ + q31_t val = value; + + memcpy (pQ15, &val, 4); +} + + +/** + @brief Read 4 Q7 from Q7 pointer and increment pointer afterwards. + @param[in] pQ7 points to input value + @return Q31 value + */ +__STATIC_FORCEINLINE q31_t read_q7x4_ia ( + q7_t ** pQ7) +{ + q31_t val; + + memcpy (&val, *pQ7, 4); + *pQ7 += 4; + + return (val); +} + +/** + @brief Read 4 Q7 from Q7 pointer and decrement pointer afterwards. + @param[in] pQ7 points to input value + @return Q31 value + */ +__STATIC_FORCEINLINE q31_t read_q7x4_da ( + q7_t ** pQ7) +{ + q31_t val; + + memcpy (&val, *pQ7, 4); + *pQ7 -= 4; + + return (val); +} + +/** + @brief Write 4 Q7 to Q7 pointer and increment pointer afterwards. + @param[in] pQ7 points to input value + @param[in] value Q31 value + @return none + */ +__STATIC_FORCEINLINE void write_q7x4_ia ( + q7_t ** pQ7, + q31_t value) +{ + q31_t val = value; + + memcpy (*pQ7, &val, 4); + *pQ7 += 4; +} + +/* + +Normally those kind of definitions are in a compiler file +in Core or Core_A. + +But for MSVC compiler it is a bit special. The goal is very specific +to CMSIS-DSP and only to allow the use of this library from other +systems like Python or Matlab. + +MSVC is not going to be used to cross-compile to ARM. So, having a MSVC +compiler file in Core or Core_A would not make sense. + +*/ +#if defined ( _MSC_VER ) + __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t data) + { + if (data == 0U) { return 32U; } + + uint32_t count = 0U; + uint32_t mask = 0x80000000U; + + while ((data & mask) == 0U) + { + count += 1U; + mask = mask >> 1U; + } + return count; + } + + __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat) + { + if ((sat >= 1U) && (sat <= 32U)) + { + const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U); + const int32_t min = -1 - max ; + if (val > max) + { + return max; + } + else if (val < min) + { + return min; + } + } + return val; + } + + __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat) + { + if (sat <= 31U) + { + const uint32_t max = ((1U << sat) - 1U); + if (val > (int32_t)max) + { + return max; + } + else if (val < 0) + { + return 0U; + } + } + return (uint32_t)val; + } +#endif + +#ifndef ARM_MATH_DSP + /** + * @brief definition to pack two 16 bit values. + */ + #define __PKHBT(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0x0000FFFF) | \ + (((int32_t)(ARG2) << ARG3) & (int32_t)0xFFFF0000) ) + #define __PKHTB(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0xFFFF0000) | \ + (((int32_t)(ARG2) >> ARG3) & (int32_t)0x0000FFFF) ) +#endif + + /** + * @brief definition to pack four 8 bit values. + */ +#ifndef ARM_MATH_BIG_ENDIAN + #define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v0) << 0) & (int32_t)0x000000FF) | \ + (((int32_t)(v1) << 8) & (int32_t)0x0000FF00) | \ + (((int32_t)(v2) << 16) & (int32_t)0x00FF0000) | \ + (((int32_t)(v3) << 24) & (int32_t)0xFF000000) ) +#else + #define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v3) << 0) & (int32_t)0x000000FF) | \ + (((int32_t)(v2) << 8) & (int32_t)0x0000FF00) | \ + (((int32_t)(v1) << 16) & (int32_t)0x00FF0000) | \ + (((int32_t)(v0) << 24) & (int32_t)0xFF000000) ) +#endif + + + /** + * @brief Clips Q63 to Q31 values. + */ + __STATIC_FORCEINLINE q31_t clip_q63_to_q31( + q63_t x) + { + return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ? + ((0x7FFFFFFF ^ ((q31_t) (x >> 63)))) : (q31_t) x; + } + + /** + * @brief Clips Q63 to Q15 values. + */ + __STATIC_FORCEINLINE q15_t clip_q63_to_q15( + q63_t x) + { + return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ? + ((0x7FFF ^ ((q15_t) (x >> 63)))) : (q15_t) (x >> 15); + } + + /** + * @brief Clips Q31 to Q7 values. + */ + __STATIC_FORCEINLINE q7_t clip_q31_to_q7( + q31_t x) + { + return ((q31_t) (x >> 24) != ((q31_t) x >> 23)) ? + ((0x7F ^ ((q7_t) (x >> 31)))) : (q7_t) x; + } + + /** + * @brief Clips Q31 to Q15 values. + */ + __STATIC_FORCEINLINE q15_t clip_q31_to_q15( + q31_t x) + { + return ((q31_t) (x >> 16) != ((q31_t) x >> 15)) ? + ((0x7FFF ^ ((q15_t) (x >> 31)))) : (q15_t) x; + } + + /** + * @brief Multiplies 32 X 64 and returns 32 bit result in 2.30 format. + */ + __STATIC_FORCEINLINE q63_t mult32x64( + q63_t x, + q31_t y) + { + return ((((q63_t) (x & 0x00000000FFFFFFFF) * y) >> 32) + + (((q63_t) (x >> 32) * y) ) ); + } + + /** + * @brief Function to Calculates 1/in (reciprocal) value of Q31 Data type. + */ + __STATIC_FORCEINLINE uint32_t arm_recip_q31( + q31_t in, + q31_t * dst, + const q31_t * pRecipTable) + { + q31_t out; + uint32_t tempVal; + uint32_t index, i; + uint32_t signBits; + + if (in > 0) + { + signBits = ((uint32_t) (__CLZ( in) - 1)); + } + else + { + signBits = ((uint32_t) (__CLZ(-in) - 1)); + } + + /* Convert input sample to 1.31 format */ + in = (in << signBits); + + /* calculation of index for initial approximated Val */ + index = (uint32_t)(in >> 24); + index = (index & INDEX_MASK); + + /* 1.31 with exp 1 */ + out = pRecipTable[index]; + + /* calculation of reciprocal value */ + /* running approximation for two iterations */ + for (i = 0U; i < 2U; i++) + { + tempVal = (uint32_t) (((q63_t) in * out) >> 31); + tempVal = 0x7FFFFFFFu - tempVal; + /* 1.31 with exp 1 */ + /* out = (q31_t) (((q63_t) out * tempVal) >> 30); */ + out = clip_q63_to_q31(((q63_t) out * tempVal) >> 30); + } + + /* write output */ + *dst = out; + + /* return num of signbits of out = 1/in value */ + return (signBits + 1U); + } + + + /** + * @brief Function to Calculates 1/in (reciprocal) value of Q15 Data type. + */ + __STATIC_FORCEINLINE uint32_t arm_recip_q15( + q15_t in, + q15_t * dst, + const q15_t * pRecipTable) + { + q15_t out = 0; + uint32_t tempVal = 0; + uint32_t index = 0, i = 0; + uint32_t signBits = 0; + + if (in > 0) + { + signBits = ((uint32_t)(__CLZ( in) - 17)); + } + else + { + signBits = ((uint32_t)(__CLZ(-in) - 17)); + } + + /* Convert input sample to 1.15 format */ + in = (in << signBits); + + /* calculation of index for initial approximated Val */ + index = (uint32_t)(in >> 8); + index = (index & INDEX_MASK); + + /* 1.15 with exp 1 */ + out = pRecipTable[index]; + + /* calculation of reciprocal value */ + /* running approximation for two iterations */ + for (i = 0U; i < 2U; i++) + { + tempVal = (uint32_t) (((q31_t) in * out) >> 15); + tempVal = 0x7FFFu - tempVal; + /* 1.15 with exp 1 */ + out = (q15_t) (((q31_t) out * tempVal) >> 14); + /* out = clip_q31_to_q15(((q31_t) out * tempVal) >> 14); */ + } + + /* write output */ + *dst = out; + + /* return num of signbits of out = 1/in value */ + return (signBits + 1); + } + +#if defined(ARM_MATH_NEON) + +static inline float32x4_t __arm_vec_sqrt_f32_neon(float32x4_t x) +{ + float32x4_t x1 = vmaxq_f32(x, vdupq_n_f32(FLT_MIN)); + float32x4_t e = vrsqrteq_f32(x1); + e = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x1, e), e), e); + e = vmulq_f32(vrsqrtsq_f32(vmulq_f32(x1, e), e), e); + return vmulq_f32(x, e); +} + +static inline int16x8_t __arm_vec_sqrt_q15_neon(int16x8_t vec) +{ + float32x4_t tempF; + int32x4_t tempHI,tempLO; + + tempLO = vmovl_s16(vget_low_s16(vec)); + tempF = vcvtq_n_f32_s32(tempLO,15); + tempF = __arm_vec_sqrt_f32_neon(tempF); + tempLO = vcvtq_n_s32_f32(tempF,15); + + tempHI = vmovl_s16(vget_high_s16(vec)); + tempF = vcvtq_n_f32_s32(tempHI,15); + tempF = __arm_vec_sqrt_f32_neon(tempF); + tempHI = vcvtq_n_s32_f32(tempF,15); + + return(vcombine_s16(vqmovn_s32(tempLO),vqmovn_s32(tempHI))); +} + +static inline int32x4_t __arm_vec_sqrt_q31_neon(int32x4_t vec) +{ + float32x4_t temp; + + temp = vcvtq_n_f32_s32(vec,31); + temp = __arm_vec_sqrt_f32_neon(temp); + return(vcvtq_n_s32_f32(temp,31)); +} + +#endif + +/* + * @brief C custom defined intrinsic functions + */ +#if !defined (ARM_MATH_DSP) + + /* + * @brief C custom defined QADD8 + */ + __STATIC_FORCEINLINE uint32_t __QADD8( + uint32_t x, + uint32_t y) + { + q31_t r, s, t, u; + + r = __SSAT(((((q31_t)x << 24) >> 24) + (((q31_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; + s = __SSAT(((((q31_t)x << 16) >> 24) + (((q31_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; + t = __SSAT(((((q31_t)x << 8) >> 24) + (((q31_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; + u = __SSAT(((((q31_t)x ) >> 24) + (((q31_t)y ) >> 24)), 8) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r ))); + } + + + /* + * @brief C custom defined QSUB8 + */ + __STATIC_FORCEINLINE uint32_t __QSUB8( + uint32_t x, + uint32_t y) + { + q31_t r, s, t, u; + + r = __SSAT(((((q31_t)x << 24) >> 24) - (((q31_t)y << 24) >> 24)), 8) & (int32_t)0x000000FF; + s = __SSAT(((((q31_t)x << 16) >> 24) - (((q31_t)y << 16) >> 24)), 8) & (int32_t)0x000000FF; + t = __SSAT(((((q31_t)x << 8) >> 24) - (((q31_t)y << 8) >> 24)), 8) & (int32_t)0x000000FF; + u = __SSAT(((((q31_t)x ) >> 24) - (((q31_t)y ) >> 24)), 8) & (int32_t)0x000000FF; + + return ((uint32_t)((u << 24) | (t << 16) | (s << 8) | (r ))); + } + + + /* + * @brief C custom defined QADD16 + */ + __STATIC_FORCEINLINE uint32_t __QADD16( + uint32_t x, + uint32_t y) + { +/* q31_t r, s; without initialisation 'arm_offset_q15 test' fails but 'intrinsic' tests pass! for armCC */ + q31_t r = 0, s = 0; + + r = __SSAT(((((q31_t)x << 16) >> 16) + (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((q31_t)x ) >> 16) + (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined SHADD16 + */ + __STATIC_FORCEINLINE uint32_t __SHADD16( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = (((((q31_t)x << 16) >> 16) + (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((q31_t)x ) >> 16) + (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined QSUB16 + */ + __STATIC_FORCEINLINE uint32_t __QSUB16( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = __SSAT(((((q31_t)x << 16) >> 16) - (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((q31_t)x ) >> 16) - (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined SHSUB16 + */ + __STATIC_FORCEINLINE uint32_t __SHSUB16( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = (((((q31_t)x << 16) >> 16) - (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((q31_t)x ) >> 16) - (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined QASX + */ + __STATIC_FORCEINLINE uint32_t __QASX( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = __SSAT(((((q31_t)x << 16) >> 16) - (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((q31_t)x ) >> 16) + (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined SHASX + */ + __STATIC_FORCEINLINE uint32_t __SHASX( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = (((((q31_t)x << 16) >> 16) - (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((q31_t)x ) >> 16) + (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined QSAX + */ + __STATIC_FORCEINLINE uint32_t __QSAX( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = __SSAT(((((q31_t)x << 16) >> 16) + (((q31_t)y ) >> 16)), 16) & (int32_t)0x0000FFFF; + s = __SSAT(((((q31_t)x ) >> 16) - (((q31_t)y << 16) >> 16)), 16) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined SHSAX + */ + __STATIC_FORCEINLINE uint32_t __SHSAX( + uint32_t x, + uint32_t y) + { + q31_t r, s; + + r = (((((q31_t)x << 16) >> 16) + (((q31_t)y ) >> 16)) >> 1) & (int32_t)0x0000FFFF; + s = (((((q31_t)x ) >> 16) - (((q31_t)y << 16) >> 16)) >> 1) & (int32_t)0x0000FFFF; + + return ((uint32_t)((s << 16) | (r ))); + } + + + /* + * @brief C custom defined SMUSDX + */ + __STATIC_FORCEINLINE uint32_t __SMUSDX( + uint32_t x, + uint32_t y) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) - + ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) )); + } + + /* + * @brief C custom defined SMUADX + */ + __STATIC_FORCEINLINE uint32_t __SMUADX( + uint32_t x, + uint32_t y) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) )); + } + + + /* + * @brief C custom defined QADD + */ + __STATIC_FORCEINLINE int32_t __QADD( + int32_t x, + int32_t y) + { + return ((int32_t)(clip_q63_to_q31((q63_t)x + (q31_t)y))); + } + + + /* + * @brief C custom defined QSUB + */ + __STATIC_FORCEINLINE int32_t __QSUB( + int32_t x, + int32_t y) + { + return ((int32_t)(clip_q63_to_q31((q63_t)x - (q31_t)y))); + } + + + /* + * @brief C custom defined SMLAD + */ + __STATIC_FORCEINLINE uint32_t __SMLAD( + uint32_t x, + uint32_t y, + uint32_t sum) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) + + ( ((q31_t)sum ) ) )); + } + + + /* + * @brief C custom defined SMLADX + */ + __STATIC_FORCEINLINE uint32_t __SMLADX( + uint32_t x, + uint32_t y, + uint32_t sum) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) + + ( ((q31_t)sum ) ) )); + } + + + /* + * @brief C custom defined SMLSDX + */ + __STATIC_FORCEINLINE uint32_t __SMLSDX( + uint32_t x, + uint32_t y, + uint32_t sum) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) - + ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) + + ( ((q31_t)sum ) ) )); + } + + + /* + * @brief C custom defined SMLALD + */ + __STATIC_FORCEINLINE uint64_t __SMLALD( + uint32_t x, + uint32_t y, + uint64_t sum) + { +/* return (sum + ((q15_t) (x >> 16) * (q15_t) (y >> 16)) + ((q15_t) x * (q15_t) y)); */ + return ((uint64_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) + + ( ((q63_t)sum ) ) )); + } + + + /* + * @brief C custom defined SMLALDX + */ + __STATIC_FORCEINLINE uint64_t __SMLALDX( + uint32_t x, + uint32_t y, + uint64_t sum) + { +/* return (sum + ((q15_t) (x >> 16) * (q15_t) y)) + ((q15_t) x * (q15_t) (y >> 16)); */ + return ((uint64_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y ) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y << 16) >> 16)) + + ( ((q63_t)sum ) ) )); + } + + + /* + * @brief C custom defined SMUAD + */ + __STATIC_FORCEINLINE uint32_t __SMUAD( + uint32_t x, + uint32_t y) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) + + ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) )); + } + + + /* + * @brief C custom defined SMUSD + */ + __STATIC_FORCEINLINE uint32_t __SMUSD( + uint32_t x, + uint32_t y) + { + return ((uint32_t)(((((q31_t)x << 16) >> 16) * (((q31_t)y << 16) >> 16)) - + ((((q31_t)x ) >> 16) * (((q31_t)y ) >> 16)) )); + } + + + /* + * @brief C custom defined SXTB16 + */ + __STATIC_FORCEINLINE uint32_t __SXTB16( + uint32_t x) + { + return ((uint32_t)(((((q31_t)x << 24) >> 24) & (q31_t)0x0000FFFF) | + ((((q31_t)x << 8) >> 8) & (q31_t)0xFFFF0000) )); + } + + /* + * @brief C custom defined SMMLA + */ + __STATIC_FORCEINLINE int32_t __SMMLA( + int32_t x, + int32_t y, + int32_t sum) + { + return (sum + (int32_t) (((int64_t) x * y) >> 32)); + } + +#endif /* !defined (ARM_MATH_DSP) */ + + + /** + * @brief Instance structure for the Q7 FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of filter coefficients in the filter. */ + q7_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + const q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + } arm_fir_instance_q7; + + /** + * @brief Instance structure for the Q15 FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of filter coefficients in the filter. */ + q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + const q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + } arm_fir_instance_q15; + + /** + * @brief Instance structure for the Q31 FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of filter coefficients in the filter. */ + q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + const q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + } arm_fir_instance_q31; + + /** + * @brief Instance structure for the floating-point FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of filter coefficients in the filter. */ + float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + const float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + } arm_fir_instance_f32; + + /** + * @brief Processing function for the Q7 FIR filter. + * @param[in] S points to an instance of the Q7 FIR filter structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_q7( + const arm_fir_instance_q7 * S, + const q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the Q7 FIR filter. + * @param[in,out] S points to an instance of the Q7 FIR structure. + * @param[in] numTaps Number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of samples that are processed. + */ + void arm_fir_init_q7( + arm_fir_instance_q7 * S, + uint16_t numTaps, + const q7_t * pCoeffs, + q7_t * pState, + uint32_t blockSize); + + /** + * @brief Processing function for the Q15 FIR filter. + * @param[in] S points to an instance of the Q15 FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_q15( + const arm_fir_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + /** + * @brief Processing function for the fast Q15 FIR filter (fast version). + * @param[in] S points to an instance of the Q15 FIR filter structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_fast_q15( + const arm_fir_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the Q15 FIR filter. + * @param[in,out] S points to an instance of the Q15 FIR filter structure. + * @param[in] numTaps Number of filter coefficients in the filter. Must be even and greater than or equal to 4. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of samples that are processed at a time. + * @return The function returns either + * ARM_MATH_SUCCESS if initialization was successful or + * ARM_MATH_ARGUMENT_ERROR if numTaps is not a supported value. + */ + arm_status arm_fir_init_q15( + arm_fir_instance_q15 * S, + uint16_t numTaps, + const q15_t * pCoeffs, + q15_t * pState, + uint32_t blockSize); + + /** + * @brief Processing function for the Q31 FIR filter. + * @param[in] S points to an instance of the Q31 FIR filter structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_q31( + const arm_fir_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + /** + * @brief Processing function for the fast Q31 FIR filter (fast version). + * @param[in] S points to an instance of the Q31 FIR filter structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_fast_q31( + const arm_fir_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the Q31 FIR filter. + * @param[in,out] S points to an instance of the Q31 FIR structure. + * @param[in] numTaps Number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of samples that are processed at a time. + */ + void arm_fir_init_q31( + arm_fir_instance_q31 * S, + uint16_t numTaps, + const q31_t * pCoeffs, + q31_t * pState, + uint32_t blockSize); + + /** + * @brief Processing function for the floating-point FIR filter. + * @param[in] S points to an instance of the floating-point FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_f32( + const arm_fir_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the floating-point FIR filter. + * @param[in,out] S points to an instance of the floating-point FIR filter structure. + * @param[in] numTaps Number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of samples that are processed at a time. + */ + void arm_fir_init_f32( + arm_fir_instance_f32 * S, + uint16_t numTaps, + const float32_t * pCoeffs, + float32_t * pState, + uint32_t blockSize); + + /** + * @brief Instance structure for the Q15 Biquad cascade filter. + */ + typedef struct + { + int8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + q15_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ + const q15_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ + int8_t postShift; /**< Additional shift, in bits, applied to each output sample. */ + } arm_biquad_casd_df1_inst_q15; + + /** + * @brief Instance structure for the Q31 Biquad cascade filter. + */ + typedef struct + { + uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + q31_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ + const q31_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ + uint8_t postShift; /**< Additional shift, in bits, applied to each output sample. */ + } arm_biquad_casd_df1_inst_q31; + + /** + * @brief Instance structure for the floating-point Biquad cascade filter. + */ + typedef struct + { + uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + float32_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ + const float32_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ + } arm_biquad_casd_df1_inst_f32; + + /** + * @brief Processing function for the Q15 Biquad cascade filter. + * @param[in] S points to an instance of the Q15 Biquad cascade structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df1_q15( + const arm_biquad_casd_df1_inst_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the Q15 Biquad cascade filter. + * @param[in,out] S points to an instance of the Q15 Biquad cascade structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] postShift Shift to be applied to the output. Varies according to the coefficients format + */ + void arm_biquad_cascade_df1_init_q15( + arm_biquad_casd_df1_inst_q15 * S, + uint8_t numStages, + const q15_t * pCoeffs, + q15_t * pState, + int8_t postShift); + + /** + * @brief Fast but less precise processing function for the Q15 Biquad cascade filter for Cortex-M3 and Cortex-M4. + * @param[in] S points to an instance of the Q15 Biquad cascade structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df1_fast_q15( + const arm_biquad_casd_df1_inst_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + /** + * @brief Processing function for the Q31 Biquad cascade filter + * @param[in] S points to an instance of the Q31 Biquad cascade structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df1_q31( + const arm_biquad_casd_df1_inst_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + /** + * @brief Fast but less precise processing function for the Q31 Biquad cascade filter for Cortex-M3 and Cortex-M4. + * @param[in] S points to an instance of the Q31 Biquad cascade structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df1_fast_q31( + const arm_biquad_casd_df1_inst_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the Q31 Biquad cascade filter. + * @param[in,out] S points to an instance of the Q31 Biquad cascade structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] postShift Shift to be applied to the output. Varies according to the coefficients format + */ + void arm_biquad_cascade_df1_init_q31( + arm_biquad_casd_df1_inst_q31 * S, + uint8_t numStages, + const q31_t * pCoeffs, + q31_t * pState, + int8_t postShift); + + /** + * @brief Processing function for the floating-point Biquad cascade filter. + * @param[in] S points to an instance of the floating-point Biquad cascade structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df1_f32( + const arm_biquad_casd_df1_inst_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + /** + * @brief Initialization function for the floating-point Biquad cascade filter. + * @param[in,out] S points to an instance of the floating-point Biquad cascade structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + */ + void arm_biquad_cascade_df1_init_f32( + arm_biquad_casd_df1_inst_f32 * S, + uint8_t numStages, + const float32_t * pCoeffs, + float32_t * pState); + + /** + * @brief Instance structure for the floating-point matrix structure. + */ + typedef struct + { + uint16_t numRows; /**< number of rows of the matrix. */ + uint16_t numCols; /**< number of columns of the matrix. */ + float32_t *pData; /**< points to the data of the matrix. */ + } arm_matrix_instance_f32; + + + /** + * @brief Instance structure for the floating-point matrix structure. + */ + typedef struct + { + uint16_t numRows; /**< number of rows of the matrix. */ + uint16_t numCols; /**< number of columns of the matrix. */ + float64_t *pData; /**< points to the data of the matrix. */ + } arm_matrix_instance_f64; + + /** + * @brief Instance structure for the Q15 matrix structure. + */ + typedef struct + { + uint16_t numRows; /**< number of rows of the matrix. */ + uint16_t numCols; /**< number of columns of the matrix. */ + q15_t *pData; /**< points to the data of the matrix. */ + } arm_matrix_instance_q15; + + /** + * @brief Instance structure for the Q31 matrix structure. + */ + typedef struct + { + uint16_t numRows; /**< number of rows of the matrix. */ + uint16_t numCols; /**< number of columns of the matrix. */ + q31_t *pData; /**< points to the data of the matrix. */ + } arm_matrix_instance_q31; + + /** + * @brief Floating-point matrix addition. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_add_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15 matrix addition. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_add_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + + /** + * @brief Q31 matrix addition. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_add_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Floating-point, complex, matrix multiplication. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_cmplx_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15, complex, matrix multiplication. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_cmplx_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst, + q15_t * pScratch); + + /** + * @brief Q31, complex, matrix multiplication. + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_cmplx_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Floating-point matrix transpose. + * @param[in] pSrc points to the input matrix + * @param[out] pDst points to the output matrix + * @return The function returns either ARM_MATH_SIZE_MISMATCH + * or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_trans_f32( + const arm_matrix_instance_f32 * pSrc, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15 matrix transpose. + * @param[in] pSrc points to the input matrix + * @param[out] pDst points to the output matrix + * @return The function returns either ARM_MATH_SIZE_MISMATCH + * or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_trans_q15( + const arm_matrix_instance_q15 * pSrc, + arm_matrix_instance_q15 * pDst); + + /** + * @brief Q31 matrix transpose. + * @param[in] pSrc points to the input matrix + * @param[out] pDst points to the output matrix + * @return The function returns either ARM_MATH_SIZE_MISMATCH + * or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_trans_q31( + const arm_matrix_instance_q31 * pSrc, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Floating-point matrix multiplication + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_mult_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15 matrix multiplication + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @param[in] pState points to the array for storing intermediate results + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_mult_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst, + q15_t * pState); + + /** + * @brief Q15 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @param[in] pState points to the array for storing intermediate results + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_mult_fast_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst, + q15_t * pState); + + /** + * @brief Q31 matrix multiplication + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_mult_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Q31 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_mult_fast_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Floating-point matrix subtraction + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_sub_f32( + const arm_matrix_instance_f32 * pSrcA, + const arm_matrix_instance_f32 * pSrcB, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15 matrix subtraction + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_sub_q15( + const arm_matrix_instance_q15 * pSrcA, + const arm_matrix_instance_q15 * pSrcB, + arm_matrix_instance_q15 * pDst); + + /** + * @brief Q31 matrix subtraction + * @param[in] pSrcA points to the first input matrix structure + * @param[in] pSrcB points to the second input matrix structure + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_sub_q31( + const arm_matrix_instance_q31 * pSrcA, + const arm_matrix_instance_q31 * pSrcB, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Floating-point matrix scaling. + * @param[in] pSrc points to the input matrix + * @param[in] scale scale factor + * @param[out] pDst points to the output matrix + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_scale_f32( + const arm_matrix_instance_f32 * pSrc, + float32_t scale, + arm_matrix_instance_f32 * pDst); + + /** + * @brief Q15 matrix scaling. + * @param[in] pSrc points to input matrix + * @param[in] scaleFract fractional portion of the scale factor + * @param[in] shift number of bits to shift the result by + * @param[out] pDst points to output matrix + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_scale_q15( + const arm_matrix_instance_q15 * pSrc, + q15_t scaleFract, + int32_t shift, + arm_matrix_instance_q15 * pDst); + + /** + * @brief Q31 matrix scaling. + * @param[in] pSrc points to input matrix + * @param[in] scaleFract fractional portion of the scale factor + * @param[in] shift number of bits to shift the result by + * @param[out] pDst points to output matrix structure + * @return The function returns either + * ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking. + */ +arm_status arm_mat_scale_q31( + const arm_matrix_instance_q31 * pSrc, + q31_t scaleFract, + int32_t shift, + arm_matrix_instance_q31 * pDst); + + /** + * @brief Q31 matrix initialization. + * @param[in,out] S points to an instance of the floating-point matrix structure. + * @param[in] nRows number of rows in the matrix. + * @param[in] nColumns number of columns in the matrix. + * @param[in] pData points to the matrix data array. + */ +void arm_mat_init_q31( + arm_matrix_instance_q31 * S, + uint16_t nRows, + uint16_t nColumns, + q31_t * pData); + + /** + * @brief Q15 matrix initialization. + * @param[in,out] S points to an instance of the floating-point matrix structure. + * @param[in] nRows number of rows in the matrix. + * @param[in] nColumns number of columns in the matrix. + * @param[in] pData points to the matrix data array. + */ +void arm_mat_init_q15( + arm_matrix_instance_q15 * S, + uint16_t nRows, + uint16_t nColumns, + q15_t * pData); + + /** + * @brief Floating-point matrix initialization. + * @param[in,out] S points to an instance of the floating-point matrix structure. + * @param[in] nRows number of rows in the matrix. + * @param[in] nColumns number of columns in the matrix. + * @param[in] pData points to the matrix data array. + */ +void arm_mat_init_f32( + arm_matrix_instance_f32 * S, + uint16_t nRows, + uint16_t nColumns, + float32_t * pData); + + + /** + * @brief Instance structure for the Q15 PID Control. + */ + typedef struct + { + q15_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ +#if !defined (ARM_MATH_DSP) + q15_t A1; + q15_t A2; +#else + q31_t A1; /**< The derived gain A1 = -Kp - 2Kd | Kd.*/ +#endif + q15_t state[3]; /**< The state array of length 3. */ + q15_t Kp; /**< The proportional gain. */ + q15_t Ki; /**< The integral gain. */ + q15_t Kd; /**< The derivative gain. */ + } arm_pid_instance_q15; + + /** + * @brief Instance structure for the Q31 PID Control. + */ + typedef struct + { + q31_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ + q31_t A1; /**< The derived gain, A1 = -Kp - 2Kd. */ + q31_t A2; /**< The derived gain, A2 = Kd . */ + q31_t state[3]; /**< The state array of length 3. */ + q31_t Kp; /**< The proportional gain. */ + q31_t Ki; /**< The integral gain. */ + q31_t Kd; /**< The derivative gain. */ + } arm_pid_instance_q31; + + /** + * @brief Instance structure for the floating-point PID Control. + */ + typedef struct + { + float32_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ + float32_t A1; /**< The derived gain, A1 = -Kp - 2Kd. */ + float32_t A2; /**< The derived gain, A2 = Kd . */ + float32_t state[3]; /**< The state array of length 3. */ + float32_t Kp; /**< The proportional gain. */ + float32_t Ki; /**< The integral gain. */ + float32_t Kd; /**< The derivative gain. */ + } arm_pid_instance_f32; + + + + /** + * @brief Initialization function for the floating-point PID Control. + * @param[in,out] S points to an instance of the PID structure. + * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. + */ + void arm_pid_init_f32( + arm_pid_instance_f32 * S, + int32_t resetStateFlag); + + + /** + * @brief Reset function for the floating-point PID Control. + * @param[in,out] S is an instance of the floating-point PID Control structure + */ + void arm_pid_reset_f32( + arm_pid_instance_f32 * S); + + + /** + * @brief Initialization function for the Q31 PID Control. + * @param[in,out] S points to an instance of the Q15 PID structure. + * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. + */ + void arm_pid_init_q31( + arm_pid_instance_q31 * S, + int32_t resetStateFlag); + + + /** + * @brief Reset function for the Q31 PID Control. + * @param[in,out] S points to an instance of the Q31 PID Control structure + */ + + void arm_pid_reset_q31( + arm_pid_instance_q31 * S); + + + /** + * @brief Initialization function for the Q15 PID Control. + * @param[in,out] S points to an instance of the Q15 PID structure. + * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. + */ + void arm_pid_init_q15( + arm_pid_instance_q15 * S, + int32_t resetStateFlag); + + + /** + * @brief Reset function for the Q15 PID Control. + * @param[in,out] S points to an instance of the q15 PID Control structure + */ + void arm_pid_reset_q15( + arm_pid_instance_q15 * S); + + + /** + * @brief Instance structure for the floating-point Linear Interpolate function. + */ + typedef struct + { + uint32_t nValues; /**< nValues */ + float32_t x1; /**< x1 */ + float32_t xSpacing; /**< xSpacing */ + float32_t *pYData; /**< pointer to the table of Y values */ + } arm_linear_interp_instance_f32; + + /** + * @brief Instance structure for the floating-point bilinear interpolation function. + */ + typedef struct + { + uint16_t numRows; /**< number of rows in the data table. */ + uint16_t numCols; /**< number of columns in the data table. */ + float32_t *pData; /**< points to the data table. */ + } arm_bilinear_interp_instance_f32; + + /** + * @brief Instance structure for the Q31 bilinear interpolation function. + */ + typedef struct + { + uint16_t numRows; /**< number of rows in the data table. */ + uint16_t numCols; /**< number of columns in the data table. */ + q31_t *pData; /**< points to the data table. */ + } arm_bilinear_interp_instance_q31; + + /** + * @brief Instance structure for the Q15 bilinear interpolation function. + */ + typedef struct + { + uint16_t numRows; /**< number of rows in the data table. */ + uint16_t numCols; /**< number of columns in the data table. */ + q15_t *pData; /**< points to the data table. */ + } arm_bilinear_interp_instance_q15; + + /** + * @brief Instance structure for the Q15 bilinear interpolation function. + */ + typedef struct + { + uint16_t numRows; /**< number of rows in the data table. */ + uint16_t numCols; /**< number of columns in the data table. */ + q7_t *pData; /**< points to the data table. */ + } arm_bilinear_interp_instance_q7; + + + /** + * @brief Q7 vector multiplication. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_mult_q7( + const q7_t * pSrcA, + const q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q15 vector multiplication. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_mult_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q31 vector multiplication. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_mult_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Floating-point vector multiplication. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_mult_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q15 CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const q15_t *pTwiddle; /**< points to the Sin twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + } arm_cfft_radix2_instance_q15; + +/* Deprecated */ + arm_status arm_cfft_radix2_init_q15( + arm_cfft_radix2_instance_q15 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +/* Deprecated */ + void arm_cfft_radix2_q15( + const arm_cfft_radix2_instance_q15 * S, + q15_t * pSrc); + + + /** + * @brief Instance structure for the Q15 CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const q15_t *pTwiddle; /**< points to the twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + } arm_cfft_radix4_instance_q15; + +/* Deprecated */ + arm_status arm_cfft_radix4_init_q15( + arm_cfft_radix4_instance_q15 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +/* Deprecated */ + void arm_cfft_radix4_q15( + const arm_cfft_radix4_instance_q15 * S, + q15_t * pSrc); + + /** + * @brief Instance structure for the Radix-2 Q31 CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const q31_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + } arm_cfft_radix2_instance_q31; + +/* Deprecated */ + arm_status arm_cfft_radix2_init_q31( + arm_cfft_radix2_instance_q31 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +/* Deprecated */ + void arm_cfft_radix2_q31( + const arm_cfft_radix2_instance_q31 * S, + q31_t * pSrc); + + /** + * @brief Instance structure for the Q31 CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const q31_t *pTwiddle; /**< points to the twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + } arm_cfft_radix4_instance_q31; + +/* Deprecated */ + void arm_cfft_radix4_q31( + const arm_cfft_radix4_instance_q31 * S, + q31_t * pSrc); + +/* Deprecated */ + arm_status arm_cfft_radix4_init_q31( + arm_cfft_radix4_instance_q31 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + + /** + * @brief Instance structure for the floating-point CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const float32_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + float32_t onebyfftLen; /**< value of 1/fftLen. */ + } arm_cfft_radix2_instance_f32; + +/* Deprecated */ + arm_status arm_cfft_radix2_init_f32( + arm_cfft_radix2_instance_f32 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +/* Deprecated */ + void arm_cfft_radix2_f32( + const arm_cfft_radix2_instance_f32 * S, + float32_t * pSrc); + + /** + * @brief Instance structure for the floating-point CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ + uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ + const float32_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ + float32_t onebyfftLen; /**< value of 1/fftLen. */ + } arm_cfft_radix4_instance_f32; + +/* Deprecated */ + arm_status arm_cfft_radix4_init_f32( + arm_cfft_radix4_instance_f32 * S, + uint16_t fftLen, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + +/* Deprecated */ + void arm_cfft_radix4_f32( + const arm_cfft_radix4_instance_f32 * S, + float32_t * pSrc); + + /** + * @brief Instance structure for the fixed-point CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + const q15_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t bitRevLength; /**< bit reversal table length. */ + } arm_cfft_instance_q15; + +void arm_cfft_q15( + const arm_cfft_instance_q15 * S, + q15_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + + /** + * @brief Instance structure for the fixed-point CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + const q31_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t bitRevLength; /**< bit reversal table length. */ + } arm_cfft_instance_q31; + +void arm_cfft_q31( + const arm_cfft_instance_q31 * S, + q31_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + + /** + * @brief Instance structure for the floating-point CFFT/CIFFT function. + */ + typedef struct + { + uint16_t fftLen; /**< length of the FFT. */ + const float32_t *pTwiddle; /**< points to the Twiddle factor table. */ + const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ + uint16_t bitRevLength; /**< bit reversal table length. */ + } arm_cfft_instance_f32; + + void arm_cfft_f32( + const arm_cfft_instance_f32 * S, + float32_t * p1, + uint8_t ifftFlag, + uint8_t bitReverseFlag); + + /** + * @brief Instance structure for the Q15 RFFT/RIFFT function. + */ + typedef struct + { + uint32_t fftLenReal; /**< length of the real FFT. */ + uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ + uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ + uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + const q15_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ + const q15_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ + const arm_cfft_instance_q15 *pCfft; /**< points to the complex FFT instance. */ + } arm_rfft_instance_q15; + + arm_status arm_rfft_init_q15( + arm_rfft_instance_q15 * S, + uint32_t fftLenReal, + uint32_t ifftFlagR, + uint32_t bitReverseFlag); + + void arm_rfft_q15( + const arm_rfft_instance_q15 * S, + q15_t * pSrc, + q15_t * pDst); + + /** + * @brief Instance structure for the Q31 RFFT/RIFFT function. + */ + typedef struct + { + uint32_t fftLenReal; /**< length of the real FFT. */ + uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ + uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ + uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + const q31_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ + const q31_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ + const arm_cfft_instance_q31 *pCfft; /**< points to the complex FFT instance. */ + } arm_rfft_instance_q31; + + arm_status arm_rfft_init_q31( + arm_rfft_instance_q31 * S, + uint32_t fftLenReal, + uint32_t ifftFlagR, + uint32_t bitReverseFlag); + + void arm_rfft_q31( + const arm_rfft_instance_q31 * S, + q31_t * pSrc, + q31_t * pDst); + + /** + * @brief Instance structure for the floating-point RFFT/RIFFT function. + */ + typedef struct + { + uint32_t fftLenReal; /**< length of the real FFT. */ + uint16_t fftLenBy2; /**< length of the complex FFT. */ + uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ + uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ + uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ + const float32_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ + const float32_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ + arm_cfft_radix4_instance_f32 *pCfft; /**< points to the complex FFT instance. */ + } arm_rfft_instance_f32; + + arm_status arm_rfft_init_f32( + arm_rfft_instance_f32 * S, + arm_cfft_radix4_instance_f32 * S_CFFT, + uint32_t fftLenReal, + uint32_t ifftFlagR, + uint32_t bitReverseFlag); + + void arm_rfft_f32( + const arm_rfft_instance_f32 * S, + float32_t * pSrc, + float32_t * pDst); + + /** + * @brief Instance structure for the floating-point RFFT/RIFFT function. + */ +typedef struct + { + arm_cfft_instance_f32 Sint; /**< Internal CFFT structure. */ + uint16_t fftLenRFFT; /**< length of the real sequence */ + const float32_t * pTwiddleRFFT; /**< Twiddle factors real stage */ + } arm_rfft_fast_instance_f32 ; + +arm_status arm_rfft_fast_init_f32 ( + arm_rfft_fast_instance_f32 * S, + uint16_t fftLen); + +arm_status arm_rfft_32_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_64_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_128_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_256_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_512_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_1024_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_2048_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + +arm_status arm_rfft_4096_fast_init_f32 ( arm_rfft_fast_instance_f32 * S ); + + + void arm_rfft_fast_f32( + arm_rfft_fast_instance_f32 * S, + float32_t * p, float32_t * pOut, + uint8_t ifftFlag); + + /** + * @brief Instance structure for the floating-point DCT4/IDCT4 function. + */ + typedef struct + { + uint16_t N; /**< length of the DCT4. */ + uint16_t Nby2; /**< half of the length of the DCT4. */ + float32_t normalize; /**< normalizing factor. */ + const float32_t *pTwiddle; /**< points to the twiddle factor table. */ + const float32_t *pCosFactor; /**< points to the cosFactor table. */ + arm_rfft_instance_f32 *pRfft; /**< points to the real FFT instance. */ + arm_cfft_radix4_instance_f32 *pCfft; /**< points to the complex FFT instance. */ + } arm_dct4_instance_f32; + + + /** + * @brief Initialization function for the floating-point DCT4/IDCT4. + * @param[in,out] S points to an instance of floating-point DCT4/IDCT4 structure. + * @param[in] S_RFFT points to an instance of floating-point RFFT/RIFFT structure. + * @param[in] S_CFFT points to an instance of floating-point CFFT/CIFFT structure. + * @param[in] N length of the DCT4. + * @param[in] Nby2 half of the length of the DCT4. + * @param[in] normalize normalizing factor. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if fftLenReal is not a supported transform length. + */ + arm_status arm_dct4_init_f32( + arm_dct4_instance_f32 * S, + arm_rfft_instance_f32 * S_RFFT, + arm_cfft_radix4_instance_f32 * S_CFFT, + uint16_t N, + uint16_t Nby2, + float32_t normalize); + + + /** + * @brief Processing function for the floating-point DCT4/IDCT4. + * @param[in] S points to an instance of the floating-point DCT4/IDCT4 structure. + * @param[in] pState points to state buffer. + * @param[in,out] pInlineBuffer points to the in-place input and output buffer. + */ + void arm_dct4_f32( + const arm_dct4_instance_f32 * S, + float32_t * pState, + float32_t * pInlineBuffer); + + + /** + * @brief Instance structure for the Q31 DCT4/IDCT4 function. + */ + typedef struct + { + uint16_t N; /**< length of the DCT4. */ + uint16_t Nby2; /**< half of the length of the DCT4. */ + q31_t normalize; /**< normalizing factor. */ + const q31_t *pTwiddle; /**< points to the twiddle factor table. */ + const q31_t *pCosFactor; /**< points to the cosFactor table. */ + arm_rfft_instance_q31 *pRfft; /**< points to the real FFT instance. */ + arm_cfft_radix4_instance_q31 *pCfft; /**< points to the complex FFT instance. */ + } arm_dct4_instance_q31; + + + /** + * @brief Initialization function for the Q31 DCT4/IDCT4. + * @param[in,out] S points to an instance of Q31 DCT4/IDCT4 structure. + * @param[in] S_RFFT points to an instance of Q31 RFFT/RIFFT structure + * @param[in] S_CFFT points to an instance of Q31 CFFT/CIFFT structure + * @param[in] N length of the DCT4. + * @param[in] Nby2 half of the length of the DCT4. + * @param[in] normalize normalizing factor. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. + */ + arm_status arm_dct4_init_q31( + arm_dct4_instance_q31 * S, + arm_rfft_instance_q31 * S_RFFT, + arm_cfft_radix4_instance_q31 * S_CFFT, + uint16_t N, + uint16_t Nby2, + q31_t normalize); + + + /** + * @brief Processing function for the Q31 DCT4/IDCT4. + * @param[in] S points to an instance of the Q31 DCT4 structure. + * @param[in] pState points to state buffer. + * @param[in,out] pInlineBuffer points to the in-place input and output buffer. + */ + void arm_dct4_q31( + const arm_dct4_instance_q31 * S, + q31_t * pState, + q31_t * pInlineBuffer); + + + /** + * @brief Instance structure for the Q15 DCT4/IDCT4 function. + */ + typedef struct + { + uint16_t N; /**< length of the DCT4. */ + uint16_t Nby2; /**< half of the length of the DCT4. */ + q15_t normalize; /**< normalizing factor. */ + const q15_t *pTwiddle; /**< points to the twiddle factor table. */ + const q15_t *pCosFactor; /**< points to the cosFactor table. */ + arm_rfft_instance_q15 *pRfft; /**< points to the real FFT instance. */ + arm_cfft_radix4_instance_q15 *pCfft; /**< points to the complex FFT instance. */ + } arm_dct4_instance_q15; + + + /** + * @brief Initialization function for the Q15 DCT4/IDCT4. + * @param[in,out] S points to an instance of Q15 DCT4/IDCT4 structure. + * @param[in] S_RFFT points to an instance of Q15 RFFT/RIFFT structure. + * @param[in] S_CFFT points to an instance of Q15 CFFT/CIFFT structure. + * @param[in] N length of the DCT4. + * @param[in] Nby2 half of the length of the DCT4. + * @param[in] normalize normalizing factor. + * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if N is not a supported transform length. + */ + arm_status arm_dct4_init_q15( + arm_dct4_instance_q15 * S, + arm_rfft_instance_q15 * S_RFFT, + arm_cfft_radix4_instance_q15 * S_CFFT, + uint16_t N, + uint16_t Nby2, + q15_t normalize); + + + /** + * @brief Processing function for the Q15 DCT4/IDCT4. + * @param[in] S points to an instance of the Q15 DCT4 structure. + * @param[in] pState points to state buffer. + * @param[in,out] pInlineBuffer points to the in-place input and output buffer. + */ + void arm_dct4_q15( + const arm_dct4_instance_q15 * S, + q15_t * pState, + q15_t * pInlineBuffer); + + + /** + * @brief Floating-point vector addition. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_add_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q7 vector addition. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_add_q7( + const q7_t * pSrcA, + const q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q15 vector addition. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_add_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q31 vector addition. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_add_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Floating-point vector subtraction. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_sub_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q7 vector subtraction. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_sub_q7( + const q7_t * pSrcA, + const q7_t * pSrcB, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q15 vector subtraction. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_sub_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q31 vector subtraction. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in each vector + */ + void arm_sub_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Multiplies a floating-point vector by a scalar. + * @param[in] pSrc points to the input vector + * @param[in] scale scale factor to be applied + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_scale_f32( + const float32_t * pSrc, + float32_t scale, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Multiplies a Q7 vector by a scalar. + * @param[in] pSrc points to the input vector + * @param[in] scaleFract fractional portion of the scale value + * @param[in] shift number of bits to shift the result by + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_scale_q7( + const q7_t * pSrc, + q7_t scaleFract, + int8_t shift, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Multiplies a Q15 vector by a scalar. + * @param[in] pSrc points to the input vector + * @param[in] scaleFract fractional portion of the scale value + * @param[in] shift number of bits to shift the result by + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_scale_q15( + const q15_t * pSrc, + q15_t scaleFract, + int8_t shift, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Multiplies a Q31 vector by a scalar. + * @param[in] pSrc points to the input vector + * @param[in] scaleFract fractional portion of the scale value + * @param[in] shift number of bits to shift the result by + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_scale_q31( + const q31_t * pSrc, + q31_t scaleFract, + int8_t shift, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q7 vector absolute value. + * @param[in] pSrc points to the input buffer + * @param[out] pDst points to the output buffer + * @param[in] blockSize number of samples in each vector + */ + void arm_abs_q7( + const q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Floating-point vector absolute value. + * @param[in] pSrc points to the input buffer + * @param[out] pDst points to the output buffer + * @param[in] blockSize number of samples in each vector + */ + void arm_abs_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q15 vector absolute value. + * @param[in] pSrc points to the input buffer + * @param[out] pDst points to the output buffer + * @param[in] blockSize number of samples in each vector + */ + void arm_abs_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Q31 vector absolute value. + * @param[in] pSrc points to the input buffer + * @param[out] pDst points to the output buffer + * @param[in] blockSize number of samples in each vector + */ + void arm_abs_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Dot product of floating-point vectors. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] blockSize number of samples in each vector + * @param[out] result output result returned here + */ + void arm_dot_prod_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + uint32_t blockSize, + float32_t * result); + + + /** + * @brief Dot product of Q7 vectors. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] blockSize number of samples in each vector + * @param[out] result output result returned here + */ + void arm_dot_prod_q7( + const q7_t * pSrcA, + const q7_t * pSrcB, + uint32_t blockSize, + q31_t * result); + + + /** + * @brief Dot product of Q15 vectors. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] blockSize number of samples in each vector + * @param[out] result output result returned here + */ + void arm_dot_prod_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + uint32_t blockSize, + q63_t * result); + + + /** + * @brief Dot product of Q31 vectors. + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] blockSize number of samples in each vector + * @param[out] result output result returned here + */ + void arm_dot_prod_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + uint32_t blockSize, + q63_t * result); + + + /** + * @brief Shifts the elements of a Q7 vector a specified number of bits. + * @param[in] pSrc points to the input vector + * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_shift_q7( + const q7_t * pSrc, + int8_t shiftBits, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Shifts the elements of a Q15 vector a specified number of bits. + * @param[in] pSrc points to the input vector + * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_shift_q15( + const q15_t * pSrc, + int8_t shiftBits, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Shifts the elements of a Q31 vector a specified number of bits. + * @param[in] pSrc points to the input vector + * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_shift_q31( + const q31_t * pSrc, + int8_t shiftBits, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Adds a constant offset to a floating-point vector. + * @param[in] pSrc points to the input vector + * @param[in] offset is the offset to be added + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_offset_f32( + const float32_t * pSrc, + float32_t offset, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Adds a constant offset to a Q7 vector. + * @param[in] pSrc points to the input vector + * @param[in] offset is the offset to be added + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_offset_q7( + const q7_t * pSrc, + q7_t offset, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Adds a constant offset to a Q15 vector. + * @param[in] pSrc points to the input vector + * @param[in] offset is the offset to be added + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_offset_q15( + const q15_t * pSrc, + q15_t offset, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Adds a constant offset to a Q31 vector. + * @param[in] pSrc points to the input vector + * @param[in] offset is the offset to be added + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_offset_q31( + const q31_t * pSrc, + q31_t offset, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Negates the elements of a floating-point vector. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_negate_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Negates the elements of a Q7 vector. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_negate_q7( + const q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Negates the elements of a Q15 vector. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_negate_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Negates the elements of a Q31 vector. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] blockSize number of samples in the vector + */ + void arm_negate_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Copies the elements of a floating-point vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_copy_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Copies the elements of a Q7 vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_copy_q7( + const q7_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Copies the elements of a Q15 vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_copy_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Copies the elements of a Q31 vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_copy_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Fills a constant value into a floating-point vector. + * @param[in] value input value to be filled + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_fill_f32( + float32_t value, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Fills a constant value into a Q7 vector. + * @param[in] value input value to be filled + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_fill_q7( + q7_t value, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Fills a constant value into a Q15 vector. + * @param[in] value input value to be filled + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_fill_q15( + q15_t value, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Fills a constant value into a Q31 vector. + * @param[in] value input value to be filled + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_fill_q31( + q31_t value, + q31_t * pDst, + uint32_t blockSize); + + +/** + * @brief Convolution of floating-point sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the location where the output result is written. Length srcALen+srcBLen-1. + */ + void arm_conv_f32( + const float32_t * pSrcA, + uint32_t srcALen, + const float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst); + + + /** + * @brief Convolution of Q15 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). + */ + void arm_conv_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2); + + +/** + * @brief Convolution of Q15 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the location where the output result is written. Length srcALen+srcBLen-1. + */ + void arm_conv_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + + + /** + * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + */ + void arm_conv_fast_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + + + /** + * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). + */ + void arm_conv_fast_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2); + + + /** + * @brief Convolution of Q31 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + */ + void arm_conv_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + + + /** + * @brief Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + */ + void arm_conv_fast_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + + + /** + * @brief Convolution of Q7 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + * @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). + */ + void arm_conv_opt_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2); + + + /** + * @brief Convolution of Q7 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. + */ + void arm_conv_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst); + + + /** + * @brief Partial convolution of floating-point sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_f32( + const float32_t * pSrcA, + uint32_t srcALen, + const float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Partial convolution of Q15 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints, + q15_t * pScratch1, + q15_t * pScratch2); + + + /** + * @brief Partial convolution of Q15 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_fast_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_fast_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + uint32_t firstIndex, + uint32_t numPoints, + q15_t * pScratch1, + q15_t * pScratch2); + + + /** + * @brief Partial convolution of Q31 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4 + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_fast_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Partial convolution of Q7 sequences + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_opt_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + uint32_t firstIndex, + uint32_t numPoints, + q15_t * pScratch1, + q15_t * pScratch2); + + +/** + * @brief Partial convolution of Q7 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data + * @param[in] firstIndex is the first output sample to start with. + * @param[in] numPoints is the number of output points to be computed. + * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. + */ + arm_status arm_conv_partial_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + uint32_t firstIndex, + uint32_t numPoints); + + + /** + * @brief Instance structure for the Q15 FIR decimator. + */ + typedef struct + { + uint8_t M; /**< decimation factor. */ + uint16_t numTaps; /**< number of coefficients in the filter. */ + const q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + } arm_fir_decimate_instance_q15; + + /** + * @brief Instance structure for the Q31 FIR decimator. + */ + typedef struct + { + uint8_t M; /**< decimation factor. */ + uint16_t numTaps; /**< number of coefficients in the filter. */ + const q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + } arm_fir_decimate_instance_q31; + +/** + @brief Instance structure for floating-point FIR decimator. + */ +typedef struct + { + uint8_t M; /**< decimation factor. */ + uint16_t numTaps; /**< number of coefficients in the filter. */ + const float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + } arm_fir_decimate_instance_f32; + + +/** + @brief Processing function for floating-point FIR decimator. + @param[in] S points to an instance of the floating-point FIR decimator structure + @param[in] pSrc points to the block of input data + @param[out] pDst points to the block of output data + @param[in] blockSize number of samples to process + */ +void arm_fir_decimate_f32( + const arm_fir_decimate_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + +/** + @brief Initialization function for the floating-point FIR decimator. + @param[in,out] S points to an instance of the floating-point FIR decimator structure + @param[in] numTaps number of coefficients in the filter + @param[in] M decimation factor + @param[in] pCoeffs points to the filter coefficients + @param[in] pState points to the state buffer + @param[in] blockSize number of input samples to process per call + @return execution status + - \ref ARM_MATH_SUCCESS : Operation successful + - \ref ARM_MATH_LENGTH_ERROR : blockSize is not a multiple of M + */ +arm_status arm_fir_decimate_init_f32( + arm_fir_decimate_instance_f32 * S, + uint16_t numTaps, + uint8_t M, + const float32_t * pCoeffs, + float32_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q15 FIR decimator. + * @param[in] S points to an instance of the Q15 FIR decimator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_decimate_q15( + const arm_fir_decimate_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q15 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. + * @param[in] S points to an instance of the Q15 FIR decimator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_decimate_fast_q15( + const arm_fir_decimate_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q15 FIR decimator. + * @param[in,out] S points to an instance of the Q15 FIR decimator structure. + * @param[in] numTaps number of coefficients in the filter. + * @param[in] M decimation factor. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of input samples to process per call. + * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if + * blockSize is not a multiple of M. + */ + arm_status arm_fir_decimate_init_q15( + arm_fir_decimate_instance_q15 * S, + uint16_t numTaps, + uint8_t M, + const q15_t * pCoeffs, + q15_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q31 FIR decimator. + * @param[in] S points to an instance of the Q31 FIR decimator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_decimate_q31( + const arm_fir_decimate_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + /** + * @brief Processing function for the Q31 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. + * @param[in] S points to an instance of the Q31 FIR decimator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_decimate_fast_q31( + const arm_fir_decimate_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q31 FIR decimator. + * @param[in,out] S points to an instance of the Q31 FIR decimator structure. + * @param[in] numTaps number of coefficients in the filter. + * @param[in] M decimation factor. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of input samples to process per call. + * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if + * blockSize is not a multiple of M. + */ + arm_status arm_fir_decimate_init_q31( + arm_fir_decimate_instance_q31 * S, + uint16_t numTaps, + uint8_t M, + const q31_t * pCoeffs, + q31_t * pState, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q15 FIR interpolator. + */ + typedef struct + { + uint8_t L; /**< upsample factor. */ + uint16_t phaseLength; /**< length of each polyphase filter component. */ + const q15_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ + q15_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ + } arm_fir_interpolate_instance_q15; + + /** + * @brief Instance structure for the Q31 FIR interpolator. + */ + typedef struct + { + uint8_t L; /**< upsample factor. */ + uint16_t phaseLength; /**< length of each polyphase filter component. */ + const q31_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ + q31_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ + } arm_fir_interpolate_instance_q31; + + /** + * @brief Instance structure for the floating-point FIR interpolator. + */ + typedef struct + { + uint8_t L; /**< upsample factor. */ + uint16_t phaseLength; /**< length of each polyphase filter component. */ + const float32_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ + float32_t *pState; /**< points to the state variable array. The array is of length phaseLength+numTaps-1. */ + } arm_fir_interpolate_instance_f32; + + + /** + * @brief Processing function for the Q15 FIR interpolator. + * @param[in] S points to an instance of the Q15 FIR interpolator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_interpolate_q15( + const arm_fir_interpolate_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q15 FIR interpolator. + * @param[in,out] S points to an instance of the Q15 FIR interpolator structure. + * @param[in] L upsample factor. + * @param[in] numTaps number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficient buffer. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of input samples to process per call. + * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if + * the filter length numTaps is not a multiple of the interpolation factor L. + */ + arm_status arm_fir_interpolate_init_q15( + arm_fir_interpolate_instance_q15 * S, + uint8_t L, + uint16_t numTaps, + const q15_t * pCoeffs, + q15_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q31 FIR interpolator. + * @param[in] S points to an instance of the Q15 FIR interpolator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_interpolate_q31( + const arm_fir_interpolate_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q31 FIR interpolator. + * @param[in,out] S points to an instance of the Q31 FIR interpolator structure. + * @param[in] L upsample factor. + * @param[in] numTaps number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficient buffer. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of input samples to process per call. + * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if + * the filter length numTaps is not a multiple of the interpolation factor L. + */ + arm_status arm_fir_interpolate_init_q31( + arm_fir_interpolate_instance_q31 * S, + uint8_t L, + uint16_t numTaps, + const q31_t * pCoeffs, + q31_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the floating-point FIR interpolator. + * @param[in] S points to an instance of the floating-point FIR interpolator structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_interpolate_f32( + const arm_fir_interpolate_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the floating-point FIR interpolator. + * @param[in,out] S points to an instance of the floating-point FIR interpolator structure. + * @param[in] L upsample factor. + * @param[in] numTaps number of filter coefficients in the filter. + * @param[in] pCoeffs points to the filter coefficient buffer. + * @param[in] pState points to the state buffer. + * @param[in] blockSize number of input samples to process per call. + * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if + * the filter length numTaps is not a multiple of the interpolation factor L. + */ + arm_status arm_fir_interpolate_init_f32( + arm_fir_interpolate_instance_f32 * S, + uint8_t L, + uint16_t numTaps, + const float32_t * pCoeffs, + float32_t * pState, + uint32_t blockSize); + + + /** + * @brief Instance structure for the high precision Q31 Biquad cascade filter. + */ + typedef struct + { + uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + q63_t *pState; /**< points to the array of state coefficients. The array is of length 4*numStages. */ + const q31_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ + uint8_t postShift; /**< additional shift, in bits, applied to each output sample. */ + } arm_biquad_cas_df1_32x64_ins_q31; + + + /** + * @param[in] S points to an instance of the high precision Q31 Biquad cascade filter structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cas_df1_32x64_q31( + const arm_biquad_cas_df1_32x64_ins_q31 * S, + q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @param[in,out] S points to an instance of the high precision Q31 Biquad cascade filter structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] postShift shift to be applied to the output. Varies according to the coefficients format + */ + void arm_biquad_cas_df1_32x64_init_q31( + arm_biquad_cas_df1_32x64_ins_q31 * S, + uint8_t numStages, + const q31_t * pCoeffs, + q63_t * pState, + uint8_t postShift); + + + /** + * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. + */ + typedef struct + { + uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + float32_t *pState; /**< points to the array of state coefficients. The array is of length 2*numStages. */ + const float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ + } arm_biquad_cascade_df2T_instance_f32; + + /** + * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. + */ + typedef struct + { + uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + float32_t *pState; /**< points to the array of state coefficients. The array is of length 4*numStages. */ + const float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ + } arm_biquad_cascade_stereo_df2T_instance_f32; + + /** + * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. + */ + typedef struct + { + uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ + float64_t *pState; /**< points to the array of state coefficients. The array is of length 2*numStages. */ + float64_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ + } arm_biquad_cascade_df2T_instance_f64; + + + /** + * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. + * @param[in] S points to an instance of the filter data structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df2T_f32( + const arm_biquad_cascade_df2T_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. 2 channels + * @param[in] S points to an instance of the filter data structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_stereo_df2T_f32( + const arm_biquad_cascade_stereo_df2T_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. + * @param[in] S points to an instance of the filter data structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_biquad_cascade_df2T_f64( + const arm_biquad_cascade_df2T_instance_f64 * S, + float64_t * pSrc, + float64_t * pDst, + uint32_t blockSize); + + +#if defined(ARM_MATH_NEON) +void arm_biquad_cascade_df2T_compute_coefs_f32( + arm_biquad_cascade_df2T_instance_f32 * S, + uint8_t numStages, + float32_t * pCoeffs); +#endif + /** + * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. + * @param[in,out] S points to an instance of the filter data structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + */ + void arm_biquad_cascade_df2T_init_f32( + arm_biquad_cascade_df2T_instance_f32 * S, + uint8_t numStages, + const float32_t * pCoeffs, + float32_t * pState); + + + /** + * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. + * @param[in,out] S points to an instance of the filter data structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + */ + void arm_biquad_cascade_stereo_df2T_init_f32( + arm_biquad_cascade_stereo_df2T_instance_f32 * S, + uint8_t numStages, + const float32_t * pCoeffs, + float32_t * pState); + + + /** + * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. + * @param[in,out] S points to an instance of the filter data structure. + * @param[in] numStages number of 2nd order stages in the filter. + * @param[in] pCoeffs points to the filter coefficients. + * @param[in] pState points to the state buffer. + */ + void arm_biquad_cascade_df2T_init_f64( + arm_biquad_cascade_df2T_instance_f64 * S, + uint8_t numStages, + float64_t * pCoeffs, + float64_t * pState); + + + /** + * @brief Instance structure for the Q15 FIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of filter stages. */ + q15_t *pState; /**< points to the state variable array. The array is of length numStages. */ + const q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ + } arm_fir_lattice_instance_q15; + + /** + * @brief Instance structure for the Q31 FIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of filter stages. */ + q31_t *pState; /**< points to the state variable array. The array is of length numStages. */ + const q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ + } arm_fir_lattice_instance_q31; + + /** + * @brief Instance structure for the floating-point FIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of filter stages. */ + float32_t *pState; /**< points to the state variable array. The array is of length numStages. */ + const float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ + } arm_fir_lattice_instance_f32; + + + /** + * @brief Initialization function for the Q15 FIR lattice filter. + * @param[in] S points to an instance of the Q15 FIR lattice structure. + * @param[in] numStages number of filter stages. + * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages. + * @param[in] pState points to the state buffer. The array is of length numStages. + */ + void arm_fir_lattice_init_q15( + arm_fir_lattice_instance_q15 * S, + uint16_t numStages, + const q15_t * pCoeffs, + q15_t * pState); + + + /** + * @brief Processing function for the Q15 FIR lattice filter. + * @param[in] S points to an instance of the Q15 FIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_fir_lattice_q15( + const arm_fir_lattice_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q31 FIR lattice filter. + * @param[in] S points to an instance of the Q31 FIR lattice structure. + * @param[in] numStages number of filter stages. + * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages. + * @param[in] pState points to the state buffer. The array is of length numStages. + */ + void arm_fir_lattice_init_q31( + arm_fir_lattice_instance_q31 * S, + uint16_t numStages, + const q31_t * pCoeffs, + q31_t * pState); + + + /** + * @brief Processing function for the Q31 FIR lattice filter. + * @param[in] S points to an instance of the Q31 FIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_fir_lattice_q31( + const arm_fir_lattice_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + +/** + * @brief Initialization function for the floating-point FIR lattice filter. + * @param[in] S points to an instance of the floating-point FIR lattice structure. + * @param[in] numStages number of filter stages. + * @param[in] pCoeffs points to the coefficient buffer. The array is of length numStages. + * @param[in] pState points to the state buffer. The array is of length numStages. + */ + void arm_fir_lattice_init_f32( + arm_fir_lattice_instance_f32 * S, + uint16_t numStages, + const float32_t * pCoeffs, + float32_t * pState); + + + /** + * @brief Processing function for the floating-point FIR lattice filter. + * @param[in] S points to an instance of the floating-point FIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] blockSize number of samples to process. + */ + void arm_fir_lattice_f32( + const arm_fir_lattice_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q15 IIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of stages in the filter. */ + q15_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ + q15_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ + q15_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ + } arm_iir_lattice_instance_q15; + + /** + * @brief Instance structure for the Q31 IIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of stages in the filter. */ + q31_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ + q31_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ + q31_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ + } arm_iir_lattice_instance_q31; + + /** + * @brief Instance structure for the floating-point IIR lattice filter. + */ + typedef struct + { + uint16_t numStages; /**< number of stages in the filter. */ + float32_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ + float32_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ + float32_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ + } arm_iir_lattice_instance_f32; + + + /** + * @brief Processing function for the floating-point IIR lattice filter. + * @param[in] S points to an instance of the floating-point IIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_iir_lattice_f32( + const arm_iir_lattice_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the floating-point IIR lattice filter. + * @param[in] S points to an instance of the floating-point IIR lattice structure. + * @param[in] numStages number of stages in the filter. + * @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. + * @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. + * @param[in] pState points to the state buffer. The array is of length numStages+blockSize-1. + * @param[in] blockSize number of samples to process. + */ + void arm_iir_lattice_init_f32( + arm_iir_lattice_instance_f32 * S, + uint16_t numStages, + float32_t * pkCoeffs, + float32_t * pvCoeffs, + float32_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q31 IIR lattice filter. + * @param[in] S points to an instance of the Q31 IIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_iir_lattice_q31( + const arm_iir_lattice_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q31 IIR lattice filter. + * @param[in] S points to an instance of the Q31 IIR lattice structure. + * @param[in] numStages number of stages in the filter. + * @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. + * @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. + * @param[in] pState points to the state buffer. The array is of length numStages+blockSize. + * @param[in] blockSize number of samples to process. + */ + void arm_iir_lattice_init_q31( + arm_iir_lattice_instance_q31 * S, + uint16_t numStages, + q31_t * pkCoeffs, + q31_t * pvCoeffs, + q31_t * pState, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q15 IIR lattice filter. + * @param[in] S points to an instance of the Q15 IIR lattice structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data. + * @param[in] blockSize number of samples to process. + */ + void arm_iir_lattice_q15( + const arm_iir_lattice_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + +/** + * @brief Initialization function for the Q15 IIR lattice filter. + * @param[in] S points to an instance of the fixed-point Q15 IIR lattice structure. + * @param[in] numStages number of stages in the filter. + * @param[in] pkCoeffs points to reflection coefficient buffer. The array is of length numStages. + * @param[in] pvCoeffs points to ladder coefficient buffer. The array is of length numStages+1. + * @param[in] pState points to state buffer. The array is of length numStages+blockSize. + * @param[in] blockSize number of samples to process per call. + */ + void arm_iir_lattice_init_q15( + arm_iir_lattice_instance_q15 * S, + uint16_t numStages, + q15_t * pkCoeffs, + q15_t * pvCoeffs, + q15_t * pState, + uint32_t blockSize); + + + /** + * @brief Instance structure for the floating-point LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + float32_t mu; /**< step size that controls filter coefficient updates. */ + } arm_lms_instance_f32; + + + /** + * @brief Processing function for floating-point LMS filter. + * @param[in] S points to an instance of the floating-point LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_f32( + const arm_lms_instance_f32 * S, + const float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize); + + + /** + * @brief Initialization function for floating-point LMS filter. + * @param[in] S points to an instance of the floating-point LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to the coefficient buffer. + * @param[in] pState points to state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_init_f32( + arm_lms_instance_f32 * S, + uint16_t numTaps, + float32_t * pCoeffs, + float32_t * pState, + float32_t mu, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q15 LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + q15_t mu; /**< step size that controls filter coefficient updates. */ + uint32_t postShift; /**< bit shift applied to coefficients. */ + } arm_lms_instance_q15; + + + /** + * @brief Initialization function for the Q15 LMS filter. + * @param[in] S points to an instance of the Q15 LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to the coefficient buffer. + * @param[in] pState points to the state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + * @param[in] postShift bit shift applied to coefficients. + */ + void arm_lms_init_q15( + arm_lms_instance_q15 * S, + uint16_t numTaps, + q15_t * pCoeffs, + q15_t * pState, + q15_t mu, + uint32_t blockSize, + uint32_t postShift); + + + /** + * @brief Processing function for Q15 LMS filter. + * @param[in] S points to an instance of the Q15 LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_q15( + const arm_lms_instance_q15 * S, + const q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q31 LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + q31_t mu; /**< step size that controls filter coefficient updates. */ + uint32_t postShift; /**< bit shift applied to coefficients. */ + } arm_lms_instance_q31; + + + /** + * @brief Processing function for Q31 LMS filter. + * @param[in] S points to an instance of the Q15 LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_q31( + const arm_lms_instance_q31 * S, + const q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize); + + + /** + * @brief Initialization function for Q31 LMS filter. + * @param[in] S points to an instance of the Q31 LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to coefficient buffer. + * @param[in] pState points to state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + * @param[in] postShift bit shift applied to coefficients. + */ + void arm_lms_init_q31( + arm_lms_instance_q31 * S, + uint16_t numTaps, + q31_t * pCoeffs, + q31_t * pState, + q31_t mu, + uint32_t blockSize, + uint32_t postShift); + + + /** + * @brief Instance structure for the floating-point normalized LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + float32_t mu; /**< step size that control filter coefficient updates. */ + float32_t energy; /**< saves previous frame energy. */ + float32_t x0; /**< saves previous input sample. */ + } arm_lms_norm_instance_f32; + + + /** + * @brief Processing function for floating-point normalized LMS filter. + * @param[in] S points to an instance of the floating-point normalized LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_norm_f32( + arm_lms_norm_instance_f32 * S, + const float32_t * pSrc, + float32_t * pRef, + float32_t * pOut, + float32_t * pErr, + uint32_t blockSize); + + + /** + * @brief Initialization function for floating-point normalized LMS filter. + * @param[in] S points to an instance of the floating-point LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to coefficient buffer. + * @param[in] pState points to state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_norm_init_f32( + arm_lms_norm_instance_f32 * S, + uint16_t numTaps, + float32_t * pCoeffs, + float32_t * pState, + float32_t mu, + uint32_t blockSize); + + + /** + * @brief Instance structure for the Q31 normalized LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + q31_t mu; /**< step size that controls filter coefficient updates. */ + uint8_t postShift; /**< bit shift applied to coefficients. */ + const q31_t *recipTable; /**< points to the reciprocal initial value table. */ + q31_t energy; /**< saves previous frame energy. */ + q31_t x0; /**< saves previous input sample. */ + } arm_lms_norm_instance_q31; + + + /** + * @brief Processing function for Q31 normalized LMS filter. + * @param[in] S points to an instance of the Q31 normalized LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_norm_q31( + arm_lms_norm_instance_q31 * S, + const q31_t * pSrc, + q31_t * pRef, + q31_t * pOut, + q31_t * pErr, + uint32_t blockSize); + + + /** + * @brief Initialization function for Q31 normalized LMS filter. + * @param[in] S points to an instance of the Q31 normalized LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to coefficient buffer. + * @param[in] pState points to state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + * @param[in] postShift bit shift applied to coefficients. + */ + void arm_lms_norm_init_q31( + arm_lms_norm_instance_q31 * S, + uint16_t numTaps, + q31_t * pCoeffs, + q31_t * pState, + q31_t mu, + uint32_t blockSize, + uint8_t postShift); + + + /** + * @brief Instance structure for the Q15 normalized LMS filter. + */ + typedef struct + { + uint16_t numTaps; /**< Number of coefficients in the filter. */ + q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ + q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ + q15_t mu; /**< step size that controls filter coefficient updates. */ + uint8_t postShift; /**< bit shift applied to coefficients. */ + const q15_t *recipTable; /**< Points to the reciprocal initial value table. */ + q15_t energy; /**< saves previous frame energy. */ + q15_t x0; /**< saves previous input sample. */ + } arm_lms_norm_instance_q15; + + + /** + * @brief Processing function for Q15 normalized LMS filter. + * @param[in] S points to an instance of the Q15 normalized LMS filter structure. + * @param[in] pSrc points to the block of input data. + * @param[in] pRef points to the block of reference data. + * @param[out] pOut points to the block of output data. + * @param[out] pErr points to the block of error data. + * @param[in] blockSize number of samples to process. + */ + void arm_lms_norm_q15( + arm_lms_norm_instance_q15 * S, + const q15_t * pSrc, + q15_t * pRef, + q15_t * pOut, + q15_t * pErr, + uint32_t blockSize); + + + /** + * @brief Initialization function for Q15 normalized LMS filter. + * @param[in] S points to an instance of the Q15 normalized LMS filter structure. + * @param[in] numTaps number of filter coefficients. + * @param[in] pCoeffs points to coefficient buffer. + * @param[in] pState points to state buffer. + * @param[in] mu step size that controls filter coefficient updates. + * @param[in] blockSize number of samples to process. + * @param[in] postShift bit shift applied to coefficients. + */ + void arm_lms_norm_init_q15( + arm_lms_norm_instance_q15 * S, + uint16_t numTaps, + q15_t * pCoeffs, + q15_t * pState, + q15_t mu, + uint32_t blockSize, + uint8_t postShift); + + + /** + * @brief Correlation of floating-point sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + */ + void arm_correlate_f32( + const float32_t * pSrcA, + uint32_t srcALen, + const float32_t * pSrcB, + uint32_t srcBLen, + float32_t * pDst); + + +/** + @brief Correlation of Q15 sequences + @param[in] pSrcA points to the first input sequence + @param[in] srcALen length of the first input sequence + @param[in] pSrcB points to the second input sequence + @param[in] srcBLen length of the second input sequence + @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. +*/ +void arm_correlate_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch); + + +/** + @brief Correlation of Q15 sequences. + @param[in] pSrcA points to the first input sequence + @param[in] srcALen length of the first input sequence + @param[in] pSrcB points to the second input sequence + @param[in] srcBLen length of the second input sequence + @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + */ + void arm_correlate_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + + +/** + @brief Correlation of Q15 sequences (fast version). + @param[in] pSrcA points to the first input sequence + @param[in] srcALen length of the first input sequence + @param[in] pSrcB points to the second input sequence + @param[in] srcBLen length of the second input sequence + @param[out] pDst points to the location where the output result is written. Length 2 * max(srcALen, srcBLen) - 1. + @return none + */ +void arm_correlate_fast_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst); + + +/** + @brief Correlation of Q15 sequences (fast version). + @param[in] pSrcA points to the first input sequence. + @param[in] srcALen length of the first input sequence. + @param[in] pSrcB points to the second input sequence. + @param[in] srcBLen length of the second input sequence. + @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + @param[in] pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + */ +void arm_correlate_fast_opt_q15( + const q15_t * pSrcA, + uint32_t srcALen, + const q15_t * pSrcB, + uint32_t srcBLen, + q15_t * pDst, + q15_t * pScratch); + + + /** + * @brief Correlation of Q31 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + */ + void arm_correlate_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + + +/** + @brief Correlation of Q31 sequences (fast version). + @param[in] pSrcA points to the first input sequence + @param[in] srcALen length of the first input sequence + @param[in] pSrcB points to the second input sequence + @param[in] srcBLen length of the second input sequence + @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + */ +void arm_correlate_fast_q31( + const q31_t * pSrcA, + uint32_t srcALen, + const q31_t * pSrcB, + uint32_t srcBLen, + q31_t * pDst); + + + /** + * @brief Correlation of Q7 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + * @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. + * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). + */ + void arm_correlate_opt_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst, + q15_t * pScratch1, + q15_t * pScratch2); + + + /** + * @brief Correlation of Q7 sequences. + * @param[in] pSrcA points to the first input sequence. + * @param[in] srcALen length of the first input sequence. + * @param[in] pSrcB points to the second input sequence. + * @param[in] srcBLen length of the second input sequence. + * @param[out] pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. + */ + void arm_correlate_q7( + const q7_t * pSrcA, + uint32_t srcALen, + const q7_t * pSrcB, + uint32_t srcBLen, + q7_t * pDst); + + + /** + * @brief Instance structure for the floating-point sparse FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ + float32_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ + const float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ + int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ + } arm_fir_sparse_instance_f32; + + /** + * @brief Instance structure for the Q31 sparse FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ + q31_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ + const q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ + int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ + } arm_fir_sparse_instance_q31; + + /** + * @brief Instance structure for the Q15 sparse FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ + q15_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ + const q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ + int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ + } arm_fir_sparse_instance_q15; + + /** + * @brief Instance structure for the Q7 sparse FIR filter. + */ + typedef struct + { + uint16_t numTaps; /**< number of coefficients in the filter. */ + uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ + q7_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ + const q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ + uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ + int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ + } arm_fir_sparse_instance_q7; + + + /** + * @brief Processing function for the floating-point sparse FIR filter. + * @param[in] S points to an instance of the floating-point sparse FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] pScratchIn points to a temporary buffer of size blockSize. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_sparse_f32( + arm_fir_sparse_instance_f32 * S, + const float32_t * pSrc, + float32_t * pDst, + float32_t * pScratchIn, + uint32_t blockSize); + + + /** + * @brief Initialization function for the floating-point sparse FIR filter. + * @param[in,out] S points to an instance of the floating-point sparse FIR structure. + * @param[in] numTaps number of nonzero coefficients in the filter. + * @param[in] pCoeffs points to the array of filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] pTapDelay points to the array of offset times. + * @param[in] maxDelay maximum offset time supported. + * @param[in] blockSize number of samples that will be processed per block. + */ + void arm_fir_sparse_init_f32( + arm_fir_sparse_instance_f32 * S, + uint16_t numTaps, + const float32_t * pCoeffs, + float32_t * pState, + int32_t * pTapDelay, + uint16_t maxDelay, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q31 sparse FIR filter. + * @param[in] S points to an instance of the Q31 sparse FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] pScratchIn points to a temporary buffer of size blockSize. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_sparse_q31( + arm_fir_sparse_instance_q31 * S, + const q31_t * pSrc, + q31_t * pDst, + q31_t * pScratchIn, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q31 sparse FIR filter. + * @param[in,out] S points to an instance of the Q31 sparse FIR structure. + * @param[in] numTaps number of nonzero coefficients in the filter. + * @param[in] pCoeffs points to the array of filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] pTapDelay points to the array of offset times. + * @param[in] maxDelay maximum offset time supported. + * @param[in] blockSize number of samples that will be processed per block. + */ + void arm_fir_sparse_init_q31( + arm_fir_sparse_instance_q31 * S, + uint16_t numTaps, + const q31_t * pCoeffs, + q31_t * pState, + int32_t * pTapDelay, + uint16_t maxDelay, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q15 sparse FIR filter. + * @param[in] S points to an instance of the Q15 sparse FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] pScratchIn points to a temporary buffer of size blockSize. + * @param[in] pScratchOut points to a temporary buffer of size blockSize. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_sparse_q15( + arm_fir_sparse_instance_q15 * S, + const q15_t * pSrc, + q15_t * pDst, + q15_t * pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q15 sparse FIR filter. + * @param[in,out] S points to an instance of the Q15 sparse FIR structure. + * @param[in] numTaps number of nonzero coefficients in the filter. + * @param[in] pCoeffs points to the array of filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] pTapDelay points to the array of offset times. + * @param[in] maxDelay maximum offset time supported. + * @param[in] blockSize number of samples that will be processed per block. + */ + void arm_fir_sparse_init_q15( + arm_fir_sparse_instance_q15 * S, + uint16_t numTaps, + const q15_t * pCoeffs, + q15_t * pState, + int32_t * pTapDelay, + uint16_t maxDelay, + uint32_t blockSize); + + + /** + * @brief Processing function for the Q7 sparse FIR filter. + * @param[in] S points to an instance of the Q7 sparse FIR structure. + * @param[in] pSrc points to the block of input data. + * @param[out] pDst points to the block of output data + * @param[in] pScratchIn points to a temporary buffer of size blockSize. + * @param[in] pScratchOut points to a temporary buffer of size blockSize. + * @param[in] blockSize number of input samples to process per call. + */ + void arm_fir_sparse_q7( + arm_fir_sparse_instance_q7 * S, + const q7_t * pSrc, + q7_t * pDst, + q7_t * pScratchIn, + q31_t * pScratchOut, + uint32_t blockSize); + + + /** + * @brief Initialization function for the Q7 sparse FIR filter. + * @param[in,out] S points to an instance of the Q7 sparse FIR structure. + * @param[in] numTaps number of nonzero coefficients in the filter. + * @param[in] pCoeffs points to the array of filter coefficients. + * @param[in] pState points to the state buffer. + * @param[in] pTapDelay points to the array of offset times. + * @param[in] maxDelay maximum offset time supported. + * @param[in] blockSize number of samples that will be processed per block. + */ + void arm_fir_sparse_init_q7( + arm_fir_sparse_instance_q7 * S, + uint16_t numTaps, + const q7_t * pCoeffs, + q7_t * pState, + int32_t * pTapDelay, + uint16_t maxDelay, + uint32_t blockSize); + + + /** + * @brief Floating-point sin_cos function. + * @param[in] theta input value in degrees + * @param[out] pSinVal points to the processed sine output. + * @param[out] pCosVal points to the processed cos output. + */ + void arm_sin_cos_f32( + float32_t theta, + float32_t * pSinVal, + float32_t * pCosVal); + + + /** + * @brief Q31 sin_cos function. + * @param[in] theta scaled input value in degrees + * @param[out] pSinVal points to the processed sine output. + * @param[out] pCosVal points to the processed cosine output. + */ + void arm_sin_cos_q31( + q31_t theta, + q31_t * pSinVal, + q31_t * pCosVal); + + + /** + * @brief Floating-point complex conjugate. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_conj_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + + /** + * @brief Q31 complex conjugate. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_conj_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q15 complex conjugate. + * @param[in] pSrc points to the input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_conj_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + + + /** + * @brief Floating-point complex magnitude squared + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_squared_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q31 complex magnitude squared + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_squared_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q15 complex magnitude squared + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_squared_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + + + /** + * @ingroup groupController + */ + + /** + * @defgroup PID PID Motor Control + * + * A Proportional Integral Derivative (PID) controller is a generic feedback control + * loop mechanism widely used in industrial control systems. + * A PID controller is the most commonly used type of feedback controller. + * + * This set of functions implements (PID) controllers + * for Q15, Q31, and floating-point data types. The functions operate on a single sample + * of data and each call to the function returns a single processed value. + * S points to an instance of the PID control data structure. in + * is the input sample value. The functions return the output value. + * + * \par Algorithm: + *
+   *    y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2]
+   *    A0 = Kp + Ki + Kd
+   *    A1 = (-Kp ) - (2 * Kd )
+   *    A2 = Kd
+   * 
+ * + * \par + * where \c Kp is proportional constant, \c Ki is Integral constant and \c Kd is Derivative constant + * + * \par + * \image html PID.gif "Proportional Integral Derivative Controller" + * + * \par + * The PID controller calculates an "error" value as the difference between + * the measured output and the reference input. + * The controller attempts to minimize the error by adjusting the process control inputs. + * The proportional value determines the reaction to the current error, + * the integral value determines the reaction based on the sum of recent errors, + * and the derivative value determines the reaction based on the rate at which the error has been changing. + * + * \par Instance Structure + * The Gains A0, A1, A2 and state variables for a PID controller are stored together in an instance data structure. + * A separate instance structure must be defined for each PID Controller. + * There are separate instance structure declarations for each of the 3 supported data types. + * + * \par Reset Functions + * There is also an associated reset function for each data type which clears the state array. + * + * \par Initialization Functions + * There is also an associated initialization function for each data type. + * The initialization function performs the following operations: + * - Initializes the Gains A0, A1, A2 from Kp,Ki, Kd gains. + * - Zeros out the values in the state buffer. + * + * \par + * Instance structure cannot be placed into a const data section and it is recommended to use the initialization function. + * + * \par Fixed-Point Behavior + * Care must be taken when using the fixed-point versions of the PID Controller functions. + * In particular, the overflow and saturation behavior of the accumulator used in each function must be considered. + * Refer to the function specific documentation below for usage guidelines. + */ + + /** + * @addtogroup PID + * @{ + */ + + /** + * @brief Process function for the floating-point PID Control. + * @param[in,out] S is an instance of the floating-point PID Control structure + * @param[in] in input sample to process + * @return processed output sample. + */ + __STATIC_FORCEINLINE float32_t arm_pid_f32( + arm_pid_instance_f32 * S, + float32_t in) + { + float32_t out; + + /* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] */ + out = (S->A0 * in) + + (S->A1 * S->state[0]) + (S->A2 * S->state[1]) + (S->state[2]); + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); + + } + +/** + @brief Process function for the Q31 PID Control. + @param[in,out] S points to an instance of the Q31 PID Control structure + @param[in] in input sample to process + @return processed output sample. + + \par Scaling and Overflow Behavior + The function is implemented using an internal 64-bit accumulator. + The accumulator has a 2.62 format and maintains full precision of the intermediate multiplication results but provides only a single guard bit. + Thus, if the accumulator result overflows it wraps around rather than clip. + In order to avoid overflows completely the input signal must be scaled down by 2 bits as there are four additions. + After all multiply-accumulates are performed, the 2.62 accumulator is truncated to 1.32 format and then saturated to 1.31 format. + */ +__STATIC_FORCEINLINE q31_t arm_pid_q31( + arm_pid_instance_q31 * S, + q31_t in) + { + q63_t acc; + q31_t out; + + /* acc = A0 * x[n] */ + acc = (q63_t) S->A0 * in; + + /* acc += A1 * x[n-1] */ + acc += (q63_t) S->A1 * S->state[0]; + + /* acc += A2 * x[n-2] */ + acc += (q63_t) S->A2 * S->state[1]; + + /* convert output to 1.31 format to add y[n-1] */ + out = (q31_t) (acc >> 31U); + + /* out += y[n-1] */ + out += S->state[2]; + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); + } + + +/** + @brief Process function for the Q15 PID Control. + @param[in,out] S points to an instance of the Q15 PID Control structure + @param[in] in input sample to process + @return processed output sample. + + \par Scaling and Overflow Behavior + The function is implemented using a 64-bit internal accumulator. + Both Gains and state variables are represented in 1.15 format and multiplications yield a 2.30 result. + The 2.30 intermediate results are accumulated in a 64-bit accumulator in 34.30 format. + There is no risk of internal overflow with this approach and the full precision of intermediate multiplications is preserved. + After all additions have been performed, the accumulator is truncated to 34.15 format by discarding low 15 bits. + Lastly, the accumulator is saturated to yield a result in 1.15 format. + */ +__STATIC_FORCEINLINE q15_t arm_pid_q15( + arm_pid_instance_q15 * S, + q15_t in) + { + q63_t acc; + q15_t out; + +#if defined (ARM_MATH_DSP) + /* Implementation of PID controller */ + + /* acc = A0 * x[n] */ + acc = (q31_t) __SMUAD((uint32_t)S->A0, (uint32_t)in); + + /* acc += A1 * x[n-1] + A2 * x[n-2] */ + acc = (q63_t)__SMLALD((uint32_t)S->A1, (uint32_t)read_q15x2 (S->state), (uint64_t)acc); +#else + /* acc = A0 * x[n] */ + acc = ((q31_t) S->A0) * in; + + /* acc += A1 * x[n-1] + A2 * x[n-2] */ + acc += (q31_t) S->A1 * S->state[0]; + acc += (q31_t) S->A2 * S->state[1]; +#endif + + /* acc += y[n-1] */ + acc += (q31_t) S->state[2] << 15; + + /* saturate the output */ + out = (q15_t) (__SSAT((acc >> 15), 16)); + + /* Update state */ + S->state[1] = S->state[0]; + S->state[0] = in; + S->state[2] = out; + + /* return to application */ + return (out); + } + + /** + * @} end of PID group + */ + + + /** + * @brief Floating-point matrix inverse. + * @param[in] src points to the instance of the input floating-point matrix structure. + * @param[out] dst points to the instance of the output floating-point matrix structure. + * @return The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. + * If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR. + */ + arm_status arm_mat_inverse_f32( + const arm_matrix_instance_f32 * src, + arm_matrix_instance_f32 * dst); + + + /** + * @brief Floating-point matrix inverse. + * @param[in] src points to the instance of the input floating-point matrix structure. + * @param[out] dst points to the instance of the output floating-point matrix structure. + * @return The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. + * If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR. + */ + arm_status arm_mat_inverse_f64( + const arm_matrix_instance_f64 * src, + arm_matrix_instance_f64 * dst); + + + + /** + * @ingroup groupController + */ + + /** + * @defgroup clarke Vector Clarke Transform + * Forward Clarke transform converts the instantaneous stator phases into a two-coordinate time invariant vector. + * Generally the Clarke transform uses three-phase currents Ia, Ib and Ic to calculate currents + * in the two-phase orthogonal stator axis Ialpha and Ibeta. + * When Ialpha is superposed with Ia as shown in the figure below + * \image html clarke.gif Stator current space vector and its components in (a,b). + * and Ia + Ib + Ic = 0, in this condition Ialpha and Ibeta + * can be calculated using only Ia and Ib. + * + * The function operates on a single sample of data and each call to the function returns the processed output. + * The library provides separate functions for Q31 and floating-point data types. + * \par Algorithm + * \image html clarkeFormula.gif + * where Ia and Ib are the instantaneous stator phases and + * pIalpha and pIbeta are the two coordinates of time invariant vector. + * \par Fixed-Point Behavior + * Care must be taken when using the Q31 version of the Clarke transform. + * In particular, the overflow and saturation behavior of the accumulator used must be considered. + * Refer to the function specific documentation below for usage guidelines. + */ + + /** + * @addtogroup clarke + * @{ + */ + + /** + * + * @brief Floating-point Clarke transform + * @param[in] Ia input three-phase coordinate a + * @param[in] Ib input three-phase coordinate b + * @param[out] pIalpha points to output two-phase orthogonal vector axis alpha + * @param[out] pIbeta points to output two-phase orthogonal vector axis beta + * @return none + */ + __STATIC_FORCEINLINE void arm_clarke_f32( + float32_t Ia, + float32_t Ib, + float32_t * pIalpha, + float32_t * pIbeta) + { + /* Calculate pIalpha using the equation, pIalpha = Ia */ + *pIalpha = Ia; + + /* Calculate pIbeta using the equation, pIbeta = (1/sqrt(3)) * Ia + (2/sqrt(3)) * Ib */ + *pIbeta = ((float32_t) 0.57735026919 * Ia + (float32_t) 1.15470053838 * Ib); + } + + +/** + @brief Clarke transform for Q31 version + @param[in] Ia input three-phase coordinate a + @param[in] Ib input three-phase coordinate b + @param[out] pIalpha points to output two-phase orthogonal vector axis alpha + @param[out] pIbeta points to output two-phase orthogonal vector axis beta + @return none + + \par Scaling and Overflow Behavior + The function is implemented using an internal 32-bit accumulator. + The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. + There is saturation on the addition, hence there is no risk of overflow. + */ +__STATIC_FORCEINLINE void arm_clarke_q31( + q31_t Ia, + q31_t Ib, + q31_t * pIalpha, + q31_t * pIbeta) + { + q31_t product1, product2; /* Temporary variables used to store intermediate results */ + + /* Calculating pIalpha from Ia by equation pIalpha = Ia */ + *pIalpha = Ia; + + /* Intermediate product is calculated by (1/(sqrt(3)) * Ia) */ + product1 = (q31_t) (((q63_t) Ia * 0x24F34E8B) >> 30); + + /* Intermediate product is calculated by (2/sqrt(3) * Ib) */ + product2 = (q31_t) (((q63_t) Ib * 0x49E69D16) >> 30); + + /* pIbeta is calculated by adding the intermediate products */ + *pIbeta = __QADD(product1, product2); + } + + /** + * @} end of clarke group + */ + + + /** + * @ingroup groupController + */ + + /** + * @defgroup inv_clarke Vector Inverse Clarke Transform + * Inverse Clarke transform converts the two-coordinate time invariant vector into instantaneous stator phases. + * + * The function operates on a single sample of data and each call to the function returns the processed output. + * The library provides separate functions for Q31 and floating-point data types. + * \par Algorithm + * \image html clarkeInvFormula.gif + * where pIa and pIb are the instantaneous stator phases and + * Ialpha and Ibeta are the two coordinates of time invariant vector. + * \par Fixed-Point Behavior + * Care must be taken when using the Q31 version of the Clarke transform. + * In particular, the overflow and saturation behavior of the accumulator used must be considered. + * Refer to the function specific documentation below for usage guidelines. + */ + + /** + * @addtogroup inv_clarke + * @{ + */ + + /** + * @brief Floating-point Inverse Clarke transform + * @param[in] Ialpha input two-phase orthogonal vector axis alpha + * @param[in] Ibeta input two-phase orthogonal vector axis beta + * @param[out] pIa points to output three-phase coordinate a + * @param[out] pIb points to output three-phase coordinate b + * @return none + */ + __STATIC_FORCEINLINE void arm_inv_clarke_f32( + float32_t Ialpha, + float32_t Ibeta, + float32_t * pIa, + float32_t * pIb) + { + /* Calculating pIa from Ialpha by equation pIa = Ialpha */ + *pIa = Ialpha; + + /* Calculating pIb from Ialpha and Ibeta by equation pIb = -(1/2) * Ialpha + (sqrt(3)/2) * Ibeta */ + *pIb = -0.5f * Ialpha + 0.8660254039f * Ibeta; + } + + +/** + @brief Inverse Clarke transform for Q31 version + @param[in] Ialpha input two-phase orthogonal vector axis alpha + @param[in] Ibeta input two-phase orthogonal vector axis beta + @param[out] pIa points to output three-phase coordinate a + @param[out] pIb points to output three-phase coordinate b + @return none + + \par Scaling and Overflow Behavior + The function is implemented using an internal 32-bit accumulator. + The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. + There is saturation on the subtraction, hence there is no risk of overflow. + */ +__STATIC_FORCEINLINE void arm_inv_clarke_q31( + q31_t Ialpha, + q31_t Ibeta, + q31_t * pIa, + q31_t * pIb) + { + q31_t product1, product2; /* Temporary variables used to store intermediate results */ + + /* Calculating pIa from Ialpha by equation pIa = Ialpha */ + *pIa = Ialpha; + + /* Intermediate product is calculated by (1/(2*sqrt(3)) * Ia) */ + product1 = (q31_t) (((q63_t) (Ialpha) * (0x40000000)) >> 31); + + /* Intermediate product is calculated by (1/sqrt(3) * pIb) */ + product2 = (q31_t) (((q63_t) (Ibeta) * (0x6ED9EBA1)) >> 31); + + /* pIb is calculated by subtracting the products */ + *pIb = __QSUB(product2, product1); + } + + /** + * @} end of inv_clarke group + */ + + + + /** + * @ingroup groupController + */ + + /** + * @defgroup park Vector Park Transform + * + * Forward Park transform converts the input two-coordinate vector to flux and torque components. + * The Park transform can be used to realize the transformation of the Ialpha and the Ibeta currents + * from the stationary to the moving reference frame and control the spatial relationship between + * the stator vector current and rotor flux vector. + * If we consider the d axis aligned with the rotor flux, the diagram below shows the + * current vector and the relationship from the two reference frames: + * \image html park.gif "Stator current space vector and its component in (a,b) and in the d,q rotating reference frame" + * + * The function operates on a single sample of data and each call to the function returns the processed output. + * The library provides separate functions for Q31 and floating-point data types. + * \par Algorithm + * \image html parkFormula.gif + * where Ialpha and Ibeta are the stator vector components, + * pId and pIq are rotor vector components and cosVal and sinVal are the + * cosine and sine values of theta (rotor flux position). + * \par Fixed-Point Behavior + * Care must be taken when using the Q31 version of the Park transform. + * In particular, the overflow and saturation behavior of the accumulator used must be considered. + * Refer to the function specific documentation below for usage guidelines. + */ + + /** + * @addtogroup park + * @{ + */ + + /** + * @brief Floating-point Park transform + * @param[in] Ialpha input two-phase vector coordinate alpha + * @param[in] Ibeta input two-phase vector coordinate beta + * @param[out] pId points to output rotor reference frame d + * @param[out] pIq points to output rotor reference frame q + * @param[in] sinVal sine value of rotation angle theta + * @param[in] cosVal cosine value of rotation angle theta + * @return none + * + * The function implements the forward Park transform. + * + */ + __STATIC_FORCEINLINE void arm_park_f32( + float32_t Ialpha, + float32_t Ibeta, + float32_t * pId, + float32_t * pIq, + float32_t sinVal, + float32_t cosVal) + { + /* Calculate pId using the equation, pId = Ialpha * cosVal + Ibeta * sinVal */ + *pId = Ialpha * cosVal + Ibeta * sinVal; + + /* Calculate pIq using the equation, pIq = - Ialpha * sinVal + Ibeta * cosVal */ + *pIq = -Ialpha * sinVal + Ibeta * cosVal; + } + + +/** + @brief Park transform for Q31 version + @param[in] Ialpha input two-phase vector coordinate alpha + @param[in] Ibeta input two-phase vector coordinate beta + @param[out] pId points to output rotor reference frame d + @param[out] pIq points to output rotor reference frame q + @param[in] sinVal sine value of rotation angle theta + @param[in] cosVal cosine value of rotation angle theta + @return none + + \par Scaling and Overflow Behavior + The function is implemented using an internal 32-bit accumulator. + The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. + There is saturation on the addition and subtraction, hence there is no risk of overflow. + */ +__STATIC_FORCEINLINE void arm_park_q31( + q31_t Ialpha, + q31_t Ibeta, + q31_t * pId, + q31_t * pIq, + q31_t sinVal, + q31_t cosVal) + { + q31_t product1, product2; /* Temporary variables used to store intermediate results */ + q31_t product3, product4; /* Temporary variables used to store intermediate results */ + + /* Intermediate product is calculated by (Ialpha * cosVal) */ + product1 = (q31_t) (((q63_t) (Ialpha) * (cosVal)) >> 31); + + /* Intermediate product is calculated by (Ibeta * sinVal) */ + product2 = (q31_t) (((q63_t) (Ibeta) * (sinVal)) >> 31); + + + /* Intermediate product is calculated by (Ialpha * sinVal) */ + product3 = (q31_t) (((q63_t) (Ialpha) * (sinVal)) >> 31); + + /* Intermediate product is calculated by (Ibeta * cosVal) */ + product4 = (q31_t) (((q63_t) (Ibeta) * (cosVal)) >> 31); + + /* Calculate pId by adding the two intermediate products 1 and 2 */ + *pId = __QADD(product1, product2); + + /* Calculate pIq by subtracting the two intermediate products 3 from 4 */ + *pIq = __QSUB(product4, product3); + } + + /** + * @} end of park group + */ + + + /** + * @ingroup groupController + */ + + /** + * @defgroup inv_park Vector Inverse Park transform + * Inverse Park transform converts the input flux and torque components to two-coordinate vector. + * + * The function operates on a single sample of data and each call to the function returns the processed output. + * The library provides separate functions for Q31 and floating-point data types. + * \par Algorithm + * \image html parkInvFormula.gif + * where pIalpha and pIbeta are the stator vector components, + * Id and Iq are rotor vector components and cosVal and sinVal are the + * cosine and sine values of theta (rotor flux position). + * \par Fixed-Point Behavior + * Care must be taken when using the Q31 version of the Park transform. + * In particular, the overflow and saturation behavior of the accumulator used must be considered. + * Refer to the function specific documentation below for usage guidelines. + */ + + /** + * @addtogroup inv_park + * @{ + */ + + /** + * @brief Floating-point Inverse Park transform + * @param[in] Id input coordinate of rotor reference frame d + * @param[in] Iq input coordinate of rotor reference frame q + * @param[out] pIalpha points to output two-phase orthogonal vector axis alpha + * @param[out] pIbeta points to output two-phase orthogonal vector axis beta + * @param[in] sinVal sine value of rotation angle theta + * @param[in] cosVal cosine value of rotation angle theta + * @return none + */ + __STATIC_FORCEINLINE void arm_inv_park_f32( + float32_t Id, + float32_t Iq, + float32_t * pIalpha, + float32_t * pIbeta, + float32_t sinVal, + float32_t cosVal) + { + /* Calculate pIalpha using the equation, pIalpha = Id * cosVal - Iq * sinVal */ + *pIalpha = Id * cosVal - Iq * sinVal; + + /* Calculate pIbeta using the equation, pIbeta = Id * sinVal + Iq * cosVal */ + *pIbeta = Id * sinVal + Iq * cosVal; + } + + +/** + @brief Inverse Park transform for Q31 version + @param[in] Id input coordinate of rotor reference frame d + @param[in] Iq input coordinate of rotor reference frame q + @param[out] pIalpha points to output two-phase orthogonal vector axis alpha + @param[out] pIbeta points to output two-phase orthogonal vector axis beta + @param[in] sinVal sine value of rotation angle theta + @param[in] cosVal cosine value of rotation angle theta + @return none + + @par Scaling and Overflow Behavior + The function is implemented using an internal 32-bit accumulator. + The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. + There is saturation on the addition, hence there is no risk of overflow. + */ +__STATIC_FORCEINLINE void arm_inv_park_q31( + q31_t Id, + q31_t Iq, + q31_t * pIalpha, + q31_t * pIbeta, + q31_t sinVal, + q31_t cosVal) + { + q31_t product1, product2; /* Temporary variables used to store intermediate results */ + q31_t product3, product4; /* Temporary variables used to store intermediate results */ + + /* Intermediate product is calculated by (Id * cosVal) */ + product1 = (q31_t) (((q63_t) (Id) * (cosVal)) >> 31); + + /* Intermediate product is calculated by (Iq * sinVal) */ + product2 = (q31_t) (((q63_t) (Iq) * (sinVal)) >> 31); + + + /* Intermediate product is calculated by (Id * sinVal) */ + product3 = (q31_t) (((q63_t) (Id) * (sinVal)) >> 31); + + /* Intermediate product is calculated by (Iq * cosVal) */ + product4 = (q31_t) (((q63_t) (Iq) * (cosVal)) >> 31); + + /* Calculate pIalpha by using the two intermediate products 1 and 2 */ + *pIalpha = __QSUB(product1, product2); + + /* Calculate pIbeta by using the two intermediate products 3 and 4 */ + *pIbeta = __QADD(product4, product3); + } + + /** + * @} end of Inverse park group + */ + + + /** + * @ingroup groupInterpolation + */ + + /** + * @defgroup LinearInterpolate Linear Interpolation + * + * Linear interpolation is a method of curve fitting using linear polynomials. + * Linear interpolation works by effectively drawing a straight line between two neighboring samples and returning the appropriate point along that line + * + * \par + * \image html LinearInterp.gif "Linear interpolation" + * + * \par + * A Linear Interpolate function calculates an output value(y), for the input(x) + * using linear interpolation of the input values x0, x1( nearest input values) and the output values y0 and y1(nearest output values) + * + * \par Algorithm: + *
+   *       y = y0 + (x - x0) * ((y1 - y0)/(x1-x0))
+   *       where x0, x1 are nearest values of input x
+   *             y0, y1 are nearest values to output y
+   * 
+ * + * \par + * This set of functions implements Linear interpolation process + * for Q7, Q15, Q31, and floating-point data types. The functions operate on a single + * sample of data and each call to the function returns a single processed value. + * S points to an instance of the Linear Interpolate function data structure. + * x is the input sample value. The functions returns the output value. + * + * \par + * if x is outside of the table boundary, Linear interpolation returns first value of the table + * if x is below input range and returns last value of table if x is above range. + */ + + /** + * @addtogroup LinearInterpolate + * @{ + */ + + /** + * @brief Process function for the floating-point Linear Interpolation Function. + * @param[in,out] S is an instance of the floating-point Linear Interpolation structure + * @param[in] x input sample to process + * @return y processed output sample. + * + */ + __STATIC_FORCEINLINE float32_t arm_linear_interp_f32( + arm_linear_interp_instance_f32 * S, + float32_t x) + { + float32_t y; + float32_t x0, x1; /* Nearest input values */ + float32_t y0, y1; /* Nearest output values */ + float32_t xSpacing = S->xSpacing; /* spacing between input values */ + int32_t i; /* Index variable */ + float32_t *pYData = S->pYData; /* pointer to output table */ + + /* Calculation of index */ + i = (int32_t) ((x - S->x1) / xSpacing); + + if (i < 0) + { + /* Iniatilize output for below specified range as least output value of table */ + y = pYData[0]; + } + else if ((uint32_t)i >= S->nValues) + { + /* Iniatilize output for above specified range as last output value of table */ + y = pYData[S->nValues - 1]; + } + else + { + /* Calculation of nearest input values */ + x0 = S->x1 + i * xSpacing; + x1 = S->x1 + (i + 1) * xSpacing; + + /* Read of nearest output values */ + y0 = pYData[i]; + y1 = pYData[i + 1]; + + /* Calculation of output */ + y = y0 + (x - x0) * ((y1 - y0) / (x1 - x0)); + + } + + /* returns output value */ + return (y); + } + + + /** + * + * @brief Process function for the Q31 Linear Interpolation Function. + * @param[in] pYData pointer to Q31 Linear Interpolation table + * @param[in] x input sample to process + * @param[in] nValues number of table values + * @return y processed output sample. + * + * \par + * Input sample x is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. + * This function can support maximum of table size 2^12. + * + */ + __STATIC_FORCEINLINE q31_t arm_linear_interp_q31( + q31_t * pYData, + q31_t x, + uint32_t nValues) + { + q31_t y; /* output */ + q31_t y0, y1; /* Nearest output values */ + q31_t fract; /* fractional part */ + int32_t index; /* Index to read nearest output values */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + index = ((x & (q31_t)0xFFF00000) >> 20); + + if (index >= (int32_t)(nValues - 1)) + { + return (pYData[nValues - 1]); + } + else if (index < 0) + { + return (pYData[0]); + } + else + { + /* 20 bits for the fractional part */ + /* shift left by 11 to keep fract in 1.31 format */ + fract = (x & 0x000FFFFF) << 11; + + /* Read two nearest output values from the index in 1.31(q31) format */ + y0 = pYData[index]; + y1 = pYData[index + 1]; + + /* Calculation of y0 * (1-fract) and y is in 2.30 format */ + y = ((q31_t) ((q63_t) y0 * (0x7FFFFFFF - fract) >> 32)); + + /* Calculation of y0 * (1-fract) + y1 *fract and y is in 2.30 format */ + y += ((q31_t) (((q63_t) y1 * fract) >> 32)); + + /* Convert y to 1.31 format */ + return (y << 1U); + } + } + + + /** + * + * @brief Process function for the Q15 Linear Interpolation Function. + * @param[in] pYData pointer to Q15 Linear Interpolation table + * @param[in] x input sample to process + * @param[in] nValues number of table values + * @return y processed output sample. + * + * \par + * Input sample x is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. + * This function can support maximum of table size 2^12. + * + */ + __STATIC_FORCEINLINE q15_t arm_linear_interp_q15( + q15_t * pYData, + q31_t x, + uint32_t nValues) + { + q63_t y; /* output */ + q15_t y0, y1; /* Nearest output values */ + q31_t fract; /* fractional part */ + int32_t index; /* Index to read nearest output values */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + index = ((x & (int32_t)0xFFF00000) >> 20); + + if (index >= (int32_t)(nValues - 1)) + { + return (pYData[nValues - 1]); + } + else if (index < 0) + { + return (pYData[0]); + } + else + { + /* 20 bits for the fractional part */ + /* fract is in 12.20 format */ + fract = (x & 0x000FFFFF); + + /* Read two nearest output values from the index */ + y0 = pYData[index]; + y1 = pYData[index + 1]; + + /* Calculation of y0 * (1-fract) and y is in 13.35 format */ + y = ((q63_t) y0 * (0xFFFFF - fract)); + + /* Calculation of (y0 * (1-fract) + y1 * fract) and y is in 13.35 format */ + y += ((q63_t) y1 * (fract)); + + /* convert y to 1.15 format */ + return (q15_t) (y >> 20); + } + } + + + /** + * + * @brief Process function for the Q7 Linear Interpolation Function. + * @param[in] pYData pointer to Q7 Linear Interpolation table + * @param[in] x input sample to process + * @param[in] nValues number of table values + * @return y processed output sample. + * + * \par + * Input sample x is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. + * This function can support maximum of table size 2^12. + */ + __STATIC_FORCEINLINE q7_t arm_linear_interp_q7( + q7_t * pYData, + q31_t x, + uint32_t nValues) + { + q31_t y; /* output */ + q7_t y0, y1; /* Nearest output values */ + q31_t fract; /* fractional part */ + uint32_t index; /* Index to read nearest output values */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + if (x < 0) + { + return (pYData[0]); + } + index = (x >> 20) & 0xfff; + + if (index >= (nValues - 1)) + { + return (pYData[nValues - 1]); + } + else + { + /* 20 bits for the fractional part */ + /* fract is in 12.20 format */ + fract = (x & 0x000FFFFF); + + /* Read two nearest output values from the index and are in 1.7(q7) format */ + y0 = pYData[index]; + y1 = pYData[index + 1]; + + /* Calculation of y0 * (1-fract ) and y is in 13.27(q27) format */ + y = ((y0 * (0xFFFFF - fract))); + + /* Calculation of y1 * fract + y0 * (1-fract) and y is in 13.27(q27) format */ + y += (y1 * fract); + + /* convert y to 1.7(q7) format */ + return (q7_t) (y >> 20); + } + } + + /** + * @} end of LinearInterpolate group + */ + + /** + * @brief Fast approximation to the trigonometric sine function for floating-point data. + * @param[in] x input value in radians. + * @return sin(x). + */ + float32_t arm_sin_f32( + float32_t x); + + + /** + * @brief Fast approximation to the trigonometric sine function for Q31 data. + * @param[in] x Scaled input value in radians. + * @return sin(x). + */ + q31_t arm_sin_q31( + q31_t x); + + + /** + * @brief Fast approximation to the trigonometric sine function for Q15 data. + * @param[in] x Scaled input value in radians. + * @return sin(x). + */ + q15_t arm_sin_q15( + q15_t x); + + + /** + * @brief Fast approximation to the trigonometric cosine function for floating-point data. + * @param[in] x input value in radians. + * @return cos(x). + */ + float32_t arm_cos_f32( + float32_t x); + + + /** + * @brief Fast approximation to the trigonometric cosine function for Q31 data. + * @param[in] x Scaled input value in radians. + * @return cos(x). + */ + q31_t arm_cos_q31( + q31_t x); + + + /** + * @brief Fast approximation to the trigonometric cosine function for Q15 data. + * @param[in] x Scaled input value in radians. + * @return cos(x). + */ + q15_t arm_cos_q15( + q15_t x); + + + /** + * @ingroup groupFastMath + */ + + + /** + * @defgroup SQRT Square Root + * + * Computes the square root of a number. + * There are separate functions for Q15, Q31, and floating-point data types. + * The square root function is computed using the Newton-Raphson algorithm. + * This is an iterative algorithm of the form: + *
+   *      x1 = x0 - f(x0)/f'(x0)
+   * 
+ * where x1 is the current estimate, + * x0 is the previous estimate, and + * f'(x0) is the derivative of f() evaluated at x0. + * For the square root function, the algorithm reduces to: + *
+   *     x0 = in/2                         [initial guess]
+   *     x1 = 1/2 * ( x0 + in / x0)        [each iteration]
+   * 
+ */ + + + /** + * @addtogroup SQRT + * @{ + */ + +/** + @brief Floating-point square root function. + @param[in] in input value + @param[out] pOut square root of input value + @return execution status + - \ref ARM_MATH_SUCCESS : input value is positive + - \ref ARM_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0 + */ +__STATIC_FORCEINLINE arm_status arm_sqrt_f32( + float32_t in, + float32_t * pOut) + { + if (in >= 0.0f) + { +#if defined ( __CC_ARM ) + #if defined __TARGET_FPU_VFP + *pOut = __sqrtf(in); + #else + *pOut = sqrtf(in); + #endif + +#elif defined ( __ICCARM__ ) + #if defined __ARMVFP__ + __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); + #else + *pOut = sqrtf(in); + #endif + +#else + *pOut = sqrtf(in); +#endif + + return (ARM_MATH_SUCCESS); + } + else + { + *pOut = 0.0f; + return (ARM_MATH_ARGUMENT_ERROR); + } + } + + +/** + @brief Q31 square root function. + @param[in] in input value. The range of the input value is [0 +1) or 0x00000000 to 0x7FFFFFFF + @param[out] pOut points to square root of input value + @return execution status + - \ref ARM_MATH_SUCCESS : input value is positive + - \ref ARM_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0 + */ +arm_status arm_sqrt_q31( + q31_t in, + q31_t * pOut); + + +/** + @brief Q15 square root function. + @param[in] in input value. The range of the input value is [0 +1) or 0x0000 to 0x7FFF + @param[out] pOut points to square root of input value + @return execution status + - \ref ARM_MATH_SUCCESS : input value is positive + - \ref ARM_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0 + */ +arm_status arm_sqrt_q15( + q15_t in, + q15_t * pOut); + + /** + * @brief Vector Floating-point square root function. + * @param[in] pIn input vector. + * @param[out] pOut vector of square roots of input elements. + * @param[in] len length of input vector. + * @return The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if + * in is negative value and returns zero output for negative values. + */ + void arm_vsqrt_f32( + float32_t * pIn, + float32_t * pOut, + uint16_t len); + + void arm_vsqrt_q31( + q31_t * pIn, + q31_t * pOut, + uint16_t len); + + void arm_vsqrt_q15( + q15_t * pIn, + q15_t * pOut, + uint16_t len); + + /** + * @} end of SQRT group + */ + + + /** + * @brief floating-point Circular write function. + */ + __STATIC_FORCEINLINE void arm_circularWrite_f32( + int32_t * circBuffer, + int32_t L, + uint16_t * writeOffset, + int32_t bufferInc, + const int32_t * src, + int32_t srcInc, + uint32_t blockSize) + { + uint32_t i = 0U; + int32_t wOffset; + + /* Copy the value of Index pointer that points + * to the current location where the input samples to be copied */ + wOffset = *writeOffset; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the input sample to the circular buffer */ + circBuffer[wOffset] = *src; + + /* Update the input pointer */ + src += srcInc; + + /* Circularly update wOffset. Watch out for positive and negative value */ + wOffset += bufferInc; + if (wOffset >= L) + wOffset -= L; + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *writeOffset = (uint16_t)wOffset; + } + + + + /** + * @brief floating-point Circular Read function. + */ + __STATIC_FORCEINLINE void arm_circularRead_f32( + int32_t * circBuffer, + int32_t L, + int32_t * readOffset, + int32_t bufferInc, + int32_t * dst, + int32_t * dst_base, + int32_t dst_length, + int32_t dstInc, + uint32_t blockSize) + { + uint32_t i = 0U; + int32_t rOffset; + int32_t* dst_end; + + /* Copy the value of Index pointer that points + * to the current location from where the input samples to be read */ + rOffset = *readOffset; + dst_end = dst_base + dst_length; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the sample from the circular buffer to the destination buffer */ + *dst = circBuffer[rOffset]; + + /* Update the input pointer */ + dst += dstInc; + + if (dst == dst_end) + { + dst = dst_base; + } + + /* Circularly update rOffset. Watch out for positive and negative value */ + rOffset += bufferInc; + + if (rOffset >= L) + { + rOffset -= L; + } + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *readOffset = rOffset; + } + + + /** + * @brief Q15 Circular write function. + */ + __STATIC_FORCEINLINE void arm_circularWrite_q15( + q15_t * circBuffer, + int32_t L, + uint16_t * writeOffset, + int32_t bufferInc, + const q15_t * src, + int32_t srcInc, + uint32_t blockSize) + { + uint32_t i = 0U; + int32_t wOffset; + + /* Copy the value of Index pointer that points + * to the current location where the input samples to be copied */ + wOffset = *writeOffset; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the input sample to the circular buffer */ + circBuffer[wOffset] = *src; + + /* Update the input pointer */ + src += srcInc; + + /* Circularly update wOffset. Watch out for positive and negative value */ + wOffset += bufferInc; + if (wOffset >= L) + wOffset -= L; + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *writeOffset = (uint16_t)wOffset; + } + + + /** + * @brief Q15 Circular Read function. + */ + __STATIC_FORCEINLINE void arm_circularRead_q15( + q15_t * circBuffer, + int32_t L, + int32_t * readOffset, + int32_t bufferInc, + q15_t * dst, + q15_t * dst_base, + int32_t dst_length, + int32_t dstInc, + uint32_t blockSize) + { + uint32_t i = 0; + int32_t rOffset; + q15_t* dst_end; + + /* Copy the value of Index pointer that points + * to the current location from where the input samples to be read */ + rOffset = *readOffset; + + dst_end = dst_base + dst_length; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the sample from the circular buffer to the destination buffer */ + *dst = circBuffer[rOffset]; + + /* Update the input pointer */ + dst += dstInc; + + if (dst == dst_end) + { + dst = dst_base; + } + + /* Circularly update wOffset. Watch out for positive and negative value */ + rOffset += bufferInc; + + if (rOffset >= L) + { + rOffset -= L; + } + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *readOffset = rOffset; + } + + + /** + * @brief Q7 Circular write function. + */ + __STATIC_FORCEINLINE void arm_circularWrite_q7( + q7_t * circBuffer, + int32_t L, + uint16_t * writeOffset, + int32_t bufferInc, + const q7_t * src, + int32_t srcInc, + uint32_t blockSize) + { + uint32_t i = 0U; + int32_t wOffset; + + /* Copy the value of Index pointer that points + * to the current location where the input samples to be copied */ + wOffset = *writeOffset; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the input sample to the circular buffer */ + circBuffer[wOffset] = *src; + + /* Update the input pointer */ + src += srcInc; + + /* Circularly update wOffset. Watch out for positive and negative value */ + wOffset += bufferInc; + if (wOffset >= L) + wOffset -= L; + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *writeOffset = (uint16_t)wOffset; + } + + + /** + * @brief Q7 Circular Read function. + */ + __STATIC_FORCEINLINE void arm_circularRead_q7( + q7_t * circBuffer, + int32_t L, + int32_t * readOffset, + int32_t bufferInc, + q7_t * dst, + q7_t * dst_base, + int32_t dst_length, + int32_t dstInc, + uint32_t blockSize) + { + uint32_t i = 0; + int32_t rOffset; + q7_t* dst_end; + + /* Copy the value of Index pointer that points + * to the current location from where the input samples to be read */ + rOffset = *readOffset; + + dst_end = dst_base + dst_length; + + /* Loop over the blockSize */ + i = blockSize; + + while (i > 0U) + { + /* copy the sample from the circular buffer to the destination buffer */ + *dst = circBuffer[rOffset]; + + /* Update the input pointer */ + dst += dstInc; + + if (dst == dst_end) + { + dst = dst_base; + } + + /* Circularly update rOffset. Watch out for positive and negative value */ + rOffset += bufferInc; + + if (rOffset >= L) + { + rOffset -= L; + } + + /* Decrement the loop counter */ + i--; + } + + /* Update the index pointer */ + *readOffset = rOffset; + } + + + /** + * @brief Sum of the squares of the elements of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_power_q31( + const q31_t * pSrc, + uint32_t blockSize, + q63_t * pResult); + + + /** + * @brief Sum of the squares of the elements of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_power_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + + + /** + * @brief Sum of the squares of the elements of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_power_q15( + const q15_t * pSrc, + uint32_t blockSize, + q63_t * pResult); + + + /** + * @brief Sum of the squares of the elements of a Q7 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_power_q7( + const q7_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + + + /** + * @brief Mean value of a Q7 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_mean_q7( + const q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult); + + + /** + * @brief Mean value of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_mean_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + + + /** + * @brief Mean value of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_mean_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + + + /** + * @brief Mean value of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_mean_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + + + /** + * @brief Variance of the elements of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_var_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + + + /** + * @brief Variance of the elements of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_var_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + + + /** + * @brief Variance of the elements of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_var_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + + + /** + * @brief Root Mean Square of the elements of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_rms_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + + + /** + * @brief Root Mean Square of the elements of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_rms_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + + + /** + * @brief Root Mean Square of the elements of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_rms_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + + + /** + * @brief Standard deviation of the elements of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_std_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult); + + + /** + * @brief Standard deviation of the elements of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_std_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult); + + + /** + * @brief Standard deviation of the elements of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output value. + */ + void arm_std_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult); + + + /** + * @brief Floating-point complex magnitude + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_f32( + const float32_t * pSrc, + float32_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q31 complex magnitude + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_q31( + const q31_t * pSrc, + q31_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q15 complex magnitude + * @param[in] pSrc points to the complex input vector + * @param[out] pDst points to the real output vector + * @param[in] numSamples number of complex samples in the input vector + */ + void arm_cmplx_mag_q15( + const q15_t * pSrc, + q15_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q15 complex dot product + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] numSamples number of complex samples in each vector + * @param[out] realResult real part of the result returned here + * @param[out] imagResult imaginary part of the result returned here + */ + void arm_cmplx_dot_prod_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + uint32_t numSamples, + q31_t * realResult, + q31_t * imagResult); + + + /** + * @brief Q31 complex dot product + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] numSamples number of complex samples in each vector + * @param[out] realResult real part of the result returned here + * @param[out] imagResult imaginary part of the result returned here + */ + void arm_cmplx_dot_prod_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + uint32_t numSamples, + q63_t * realResult, + q63_t * imagResult); + + + /** + * @brief Floating-point complex dot product + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[in] numSamples number of complex samples in each vector + * @param[out] realResult real part of the result returned here + * @param[out] imagResult imaginary part of the result returned here + */ + void arm_cmplx_dot_prod_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + uint32_t numSamples, + float32_t * realResult, + float32_t * imagResult); + + + /** + * @brief Q15 complex-by-real multiplication + * @param[in] pSrcCmplx points to the complex input vector + * @param[in] pSrcReal points to the real input vector + * @param[out] pCmplxDst points to the complex output vector + * @param[in] numSamples number of samples in each vector + */ + void arm_cmplx_mult_real_q15( + const q15_t * pSrcCmplx, + const q15_t * pSrcReal, + q15_t * pCmplxDst, + uint32_t numSamples); + + + /** + * @brief Q31 complex-by-real multiplication + * @param[in] pSrcCmplx points to the complex input vector + * @param[in] pSrcReal points to the real input vector + * @param[out] pCmplxDst points to the complex output vector + * @param[in] numSamples number of samples in each vector + */ + void arm_cmplx_mult_real_q31( + const q31_t * pSrcCmplx, + const q31_t * pSrcReal, + q31_t * pCmplxDst, + uint32_t numSamples); + + + /** + * @brief Floating-point complex-by-real multiplication + * @param[in] pSrcCmplx points to the complex input vector + * @param[in] pSrcReal points to the real input vector + * @param[out] pCmplxDst points to the complex output vector + * @param[in] numSamples number of samples in each vector + */ + void arm_cmplx_mult_real_f32( + const float32_t * pSrcCmplx, + const float32_t * pSrcReal, + float32_t * pCmplxDst, + uint32_t numSamples); + + + /** + * @brief Minimum value of a Q7 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] result is output pointer + * @param[in] index is the array index of the minimum value in the input buffer. + */ + void arm_min_q7( + const q7_t * pSrc, + uint32_t blockSize, + q7_t * result, + uint32_t * index); + + + /** + * @brief Minimum value of a Q15 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output pointer + * @param[in] pIndex is the array index of the minimum value in the input buffer. + */ + void arm_min_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult, + uint32_t * pIndex); + + + /** + * @brief Minimum value of a Q31 vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output pointer + * @param[out] pIndex is the array index of the minimum value in the input buffer. + */ + void arm_min_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult, + uint32_t * pIndex); + + + /** + * @brief Minimum value of a floating-point vector. + * @param[in] pSrc is input pointer + * @param[in] blockSize is the number of samples to process + * @param[out] pResult is output pointer + * @param[out] pIndex is the array index of the minimum value in the input buffer. + */ + void arm_min_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult, + uint32_t * pIndex); + + +/** + * @brief Maximum value of a Q7 vector. + * @param[in] pSrc points to the input buffer + * @param[in] blockSize length of the input vector + * @param[out] pResult maximum value returned here + * @param[out] pIndex index of maximum value returned here + */ + void arm_max_q7( + const q7_t * pSrc, + uint32_t blockSize, + q7_t * pResult, + uint32_t * pIndex); + + +/** + * @brief Maximum value of a Q15 vector. + * @param[in] pSrc points to the input buffer + * @param[in] blockSize length of the input vector + * @param[out] pResult maximum value returned here + * @param[out] pIndex index of maximum value returned here + */ + void arm_max_q15( + const q15_t * pSrc, + uint32_t blockSize, + q15_t * pResult, + uint32_t * pIndex); + + +/** + * @brief Maximum value of a Q31 vector. + * @param[in] pSrc points to the input buffer + * @param[in] blockSize length of the input vector + * @param[out] pResult maximum value returned here + * @param[out] pIndex index of maximum value returned here + */ + void arm_max_q31( + const q31_t * pSrc, + uint32_t blockSize, + q31_t * pResult, + uint32_t * pIndex); + + +/** + * @brief Maximum value of a floating-point vector. + * @param[in] pSrc points to the input buffer + * @param[in] blockSize length of the input vector + * @param[out] pResult maximum value returned here + * @param[out] pIndex index of maximum value returned here + */ + void arm_max_f32( + const float32_t * pSrc, + uint32_t blockSize, + float32_t * pResult, + uint32_t * pIndex); + + + /** + * @brief Q15 complex-by-complex multiplication + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_mult_cmplx_q15( + const q15_t * pSrcA, + const q15_t * pSrcB, + q15_t * pDst, + uint32_t numSamples); + + + /** + * @brief Q31 complex-by-complex multiplication + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_mult_cmplx_q31( + const q31_t * pSrcA, + const q31_t * pSrcB, + q31_t * pDst, + uint32_t numSamples); + + + /** + * @brief Floating-point complex-by-complex multiplication + * @param[in] pSrcA points to the first input vector + * @param[in] pSrcB points to the second input vector + * @param[out] pDst points to the output vector + * @param[in] numSamples number of complex samples in each vector + */ + void arm_cmplx_mult_cmplx_f32( + const float32_t * pSrcA, + const float32_t * pSrcB, + float32_t * pDst, + uint32_t numSamples); + + + /** + * @brief Converts the elements of the floating-point vector to Q31 vector. + * @param[in] pSrc points to the floating-point input vector + * @param[out] pDst points to the Q31 output vector + * @param[in] blockSize length of the input vector + */ + void arm_float_to_q31( + const float32_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the floating-point vector to Q15 vector. + * @param[in] pSrc points to the floating-point input vector + * @param[out] pDst points to the Q15 output vector + * @param[in] blockSize length of the input vector + */ + void arm_float_to_q15( + const float32_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the floating-point vector to Q7 vector. + * @param[in] pSrc points to the floating-point input vector + * @param[out] pDst points to the Q7 output vector + * @param[in] blockSize length of the input vector + */ + void arm_float_to_q7( + const float32_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q31 vector to floating-point vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q31_to_float( + const q31_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q31 vector to Q15 vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q31_to_q15( + const q31_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q31 vector to Q7 vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q31_to_q7( + const q31_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q15 vector to floating-point vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q15_to_float( + const q15_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q15 vector to Q31 vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q15_to_q31( + const q15_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q15 vector to Q7 vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q15_to_q7( + const q15_t * pSrc, + q7_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q7 vector to floating-point vector. + * @param[in] pSrc is input pointer + * @param[out] pDst is output pointer + * @param[in] blockSize is the number of samples to process + */ + void arm_q7_to_float( + const q7_t * pSrc, + float32_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q7 vector to Q31 vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_q7_to_q31( + const q7_t * pSrc, + q31_t * pDst, + uint32_t blockSize); + + + /** + * @brief Converts the elements of the Q7 vector to Q15 vector. + * @param[in] pSrc input pointer + * @param[out] pDst output pointer + * @param[in] blockSize number of samples to process + */ + void arm_q7_to_q15( + const q7_t * pSrc, + q15_t * pDst, + uint32_t blockSize); + + + /** + * @ingroup groupInterpolation + */ + + /** + * @defgroup BilinearInterpolate Bilinear Interpolation + * + * Bilinear interpolation is an extension of linear interpolation applied to a two dimensional grid. + * The underlying function f(x, y) is sampled on a regular grid and the interpolation process + * determines values between the grid points. + * Bilinear interpolation is equivalent to two step linear interpolation, first in the x-dimension and then in the y-dimension. + * Bilinear interpolation is often used in image processing to rescale images. + * The CMSIS DSP library provides bilinear interpolation functions for Q7, Q15, Q31, and floating-point data types. + * + * Algorithm + * \par + * The instance structure used by the bilinear interpolation functions describes a two dimensional data table. + * For floating-point, the instance structure is defined as: + *
+   *   typedef struct
+   *   {
+   *     uint16_t numRows;
+   *     uint16_t numCols;
+   *     float32_t *pData;
+   * } arm_bilinear_interp_instance_f32;
+   * 
+ * + * \par + * where numRows specifies the number of rows in the table; + * numCols specifies the number of columns in the table; + * and pData points to an array of size numRows*numCols values. + * The data table pTable is organized in row order and the supplied data values fall on integer indexes. + * That is, table element (x,y) is located at pTable[x + y*numCols] where x and y are integers. + * + * \par + * Let (x, y) specify the desired interpolation point. Then define: + *
+   *     XF = floor(x)
+   *     YF = floor(y)
+   * 
+ * \par + * The interpolated output point is computed as: + *
+   *  f(x, y) = f(XF, YF) * (1-(x-XF)) * (1-(y-YF))
+   *           + f(XF+1, YF) * (x-XF)*(1-(y-YF))
+   *           + f(XF, YF+1) * (1-(x-XF))*(y-YF)
+   *           + f(XF+1, YF+1) * (x-XF)*(y-YF)
+   * 
+ * Note that the coordinates (x, y) contain integer and fractional components. + * The integer components specify which portion of the table to use while the + * fractional components control the interpolation processor. + * + * \par + * if (x,y) are outside of the table boundary, Bilinear interpolation returns zero output. + */ + + + /** + * @addtogroup BilinearInterpolate + * @{ + */ + + /** + * @brief Floating-point bilinear interpolation. + * @param[in,out] S points to an instance of the interpolation structure. + * @param[in] X interpolation coordinate. + * @param[in] Y interpolation coordinate. + * @return out interpolated value. + */ + __STATIC_FORCEINLINE float32_t arm_bilinear_interp_f32( + const arm_bilinear_interp_instance_f32 * S, + float32_t X, + float32_t Y) + { + float32_t out; + float32_t f00, f01, f10, f11; + float32_t *pData = S->pData; + int32_t xIndex, yIndex, index; + float32_t xdiff, ydiff; + float32_t b1, b2, b3, b4; + + xIndex = (int32_t) X; + yIndex = (int32_t) Y; + + /* Care taken for table outside boundary */ + /* Returns zero output when values are outside table boundary */ + if (xIndex < 0 || xIndex > (S->numRows - 1) || yIndex < 0 || yIndex > (S->numCols - 1)) + { + return (0); + } + + /* Calculation of index for two nearest points in X-direction */ + index = (xIndex - 1) + (yIndex - 1) * S->numCols; + + + /* Read two nearest points in X-direction */ + f00 = pData[index]; + f01 = pData[index + 1]; + + /* Calculation of index for two nearest points in Y-direction */ + index = (xIndex - 1) + (yIndex) * S->numCols; + + + /* Read two nearest points in Y-direction */ + f10 = pData[index]; + f11 = pData[index + 1]; + + /* Calculation of intermediate values */ + b1 = f00; + b2 = f01 - f00; + b3 = f10 - f00; + b4 = f00 - f01 - f10 + f11; + + /* Calculation of fractional part in X */ + xdiff = X - xIndex; + + /* Calculation of fractional part in Y */ + ydiff = Y - yIndex; + + /* Calculation of bi-linear interpolated output */ + out = b1 + b2 * xdiff + b3 * ydiff + b4 * xdiff * ydiff; + + /* return to application */ + return (out); + } + + + /** + * @brief Q31 bilinear interpolation. + * @param[in,out] S points to an instance of the interpolation structure. + * @param[in] X interpolation coordinate in 12.20 format. + * @param[in] Y interpolation coordinate in 12.20 format. + * @return out interpolated value. + */ + __STATIC_FORCEINLINE q31_t arm_bilinear_interp_q31( + arm_bilinear_interp_instance_q31 * S, + q31_t X, + q31_t Y) + { + q31_t out; /* Temporary output */ + q31_t acc = 0; /* output */ + q31_t xfract, yfract; /* X, Y fractional parts */ + q31_t x1, x2, y1, y2; /* Nearest output values */ + int32_t rI, cI; /* Row and column indices */ + q31_t *pYData = S->pData; /* pointer to output table values */ + uint32_t nCols = S->numCols; /* num of rows */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + rI = ((X & (q31_t)0xFFF00000) >> 20); + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + cI = ((Y & (q31_t)0xFFF00000) >> 20); + + /* Care taken for table outside boundary */ + /* Returns zero output when values are outside table boundary */ + if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) + { + return (0); + } + + /* 20 bits for the fractional part */ + /* shift left xfract by 11 to keep 1.31 format */ + xfract = (X & 0x000FFFFF) << 11U; + + /* Read two nearest output values from the index */ + x1 = pYData[(rI) + (int32_t)nCols * (cI) ]; + x2 = pYData[(rI) + (int32_t)nCols * (cI) + 1]; + + /* 20 bits for the fractional part */ + /* shift left yfract by 11 to keep 1.31 format */ + yfract = (Y & 0x000FFFFF) << 11U; + + /* Read two nearest output values from the index */ + y1 = pYData[(rI) + (int32_t)nCols * (cI + 1) ]; + y2 = pYData[(rI) + (int32_t)nCols * (cI + 1) + 1]; + + /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 3.29(q29) format */ + out = ((q31_t) (((q63_t) x1 * (0x7FFFFFFF - xfract)) >> 32)); + acc = ((q31_t) (((q63_t) out * (0x7FFFFFFF - yfract)) >> 32)); + + /* x2 * (xfract) * (1-yfract) in 3.29(q29) and adding to acc */ + out = ((q31_t) ((q63_t) x2 * (0x7FFFFFFF - yfract) >> 32)); + acc += ((q31_t) ((q63_t) out * (xfract) >> 32)); + + /* y1 * (1 - xfract) * (yfract) in 3.29(q29) and adding to acc */ + out = ((q31_t) ((q63_t) y1 * (0x7FFFFFFF - xfract) >> 32)); + acc += ((q31_t) ((q63_t) out * (yfract) >> 32)); + + /* y2 * (xfract) * (yfract) in 3.29(q29) and adding to acc */ + out = ((q31_t) ((q63_t) y2 * (xfract) >> 32)); + acc += ((q31_t) ((q63_t) out * (yfract) >> 32)); + + /* Convert acc to 1.31(q31) format */ + return ((q31_t)(acc << 2)); + } + + + /** + * @brief Q15 bilinear interpolation. + * @param[in,out] S points to an instance of the interpolation structure. + * @param[in] X interpolation coordinate in 12.20 format. + * @param[in] Y interpolation coordinate in 12.20 format. + * @return out interpolated value. + */ + __STATIC_FORCEINLINE q15_t arm_bilinear_interp_q15( + arm_bilinear_interp_instance_q15 * S, + q31_t X, + q31_t Y) + { + q63_t acc = 0; /* output */ + q31_t out; /* Temporary output */ + q15_t x1, x2, y1, y2; /* Nearest output values */ + q31_t xfract, yfract; /* X, Y fractional parts */ + int32_t rI, cI; /* Row and column indices */ + q15_t *pYData = S->pData; /* pointer to output table values */ + uint32_t nCols = S->numCols; /* num of rows */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + rI = ((X & (q31_t)0xFFF00000) >> 20); + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + cI = ((Y & (q31_t)0xFFF00000) >> 20); + + /* Care taken for table outside boundary */ + /* Returns zero output when values are outside table boundary */ + if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) + { + return (0); + } + + /* 20 bits for the fractional part */ + /* xfract should be in 12.20 format */ + xfract = (X & 0x000FFFFF); + + /* Read two nearest output values from the index */ + x1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) ]; + x2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) + 1]; + + /* 20 bits for the fractional part */ + /* yfract should be in 12.20 format */ + yfract = (Y & 0x000FFFFF); + + /* Read two nearest output values from the index */ + y1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) ]; + y2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) + 1]; + + /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 13.51 format */ + + /* x1 is in 1.15(q15), xfract in 12.20 format and out is in 13.35 format */ + /* convert 13.35 to 13.31 by right shifting and out is in 1.31 */ + out = (q31_t) (((q63_t) x1 * (0xFFFFF - xfract)) >> 4U); + acc = ((q63_t) out * (0xFFFFF - yfract)); + + /* x2 * (xfract) * (1-yfract) in 1.51 and adding to acc */ + out = (q31_t) (((q63_t) x2 * (0xFFFFF - yfract)) >> 4U); + acc += ((q63_t) out * (xfract)); + + /* y1 * (1 - xfract) * (yfract) in 1.51 and adding to acc */ + out = (q31_t) (((q63_t) y1 * (0xFFFFF - xfract)) >> 4U); + acc += ((q63_t) out * (yfract)); + + /* y2 * (xfract) * (yfract) in 1.51 and adding to acc */ + out = (q31_t) (((q63_t) y2 * (xfract)) >> 4U); + acc += ((q63_t) out * (yfract)); + + /* acc is in 13.51 format and down shift acc by 36 times */ + /* Convert out to 1.15 format */ + return ((q15_t)(acc >> 36)); + } + + + /** + * @brief Q7 bilinear interpolation. + * @param[in,out] S points to an instance of the interpolation structure. + * @param[in] X interpolation coordinate in 12.20 format. + * @param[in] Y interpolation coordinate in 12.20 format. + * @return out interpolated value. + */ + __STATIC_FORCEINLINE q7_t arm_bilinear_interp_q7( + arm_bilinear_interp_instance_q7 * S, + q31_t X, + q31_t Y) + { + q63_t acc = 0; /* output */ + q31_t out; /* Temporary output */ + q31_t xfract, yfract; /* X, Y fractional parts */ + q7_t x1, x2, y1, y2; /* Nearest output values */ + int32_t rI, cI; /* Row and column indices */ + q7_t *pYData = S->pData; /* pointer to output table values */ + uint32_t nCols = S->numCols; /* num of rows */ + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + rI = ((X & (q31_t)0xFFF00000) >> 20); + + /* Input is in 12.20 format */ + /* 12 bits for the table index */ + /* Index value calculation */ + cI = ((Y & (q31_t)0xFFF00000) >> 20); + + /* Care taken for table outside boundary */ + /* Returns zero output when values are outside table boundary */ + if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) + { + return (0); + } + + /* 20 bits for the fractional part */ + /* xfract should be in 12.20 format */ + xfract = (X & (q31_t)0x000FFFFF); + + /* Read two nearest output values from the index */ + x1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) ]; + x2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI) + 1]; + + /* 20 bits for the fractional part */ + /* yfract should be in 12.20 format */ + yfract = (Y & (q31_t)0x000FFFFF); + + /* Read two nearest output values from the index */ + y1 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) ]; + y2 = pYData[((uint32_t)rI) + nCols * ((uint32_t)cI + 1) + 1]; + + /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 16.47 format */ + out = ((x1 * (0xFFFFF - xfract))); + acc = (((q63_t) out * (0xFFFFF - yfract))); + + /* x2 * (xfract) * (1-yfract) in 2.22 and adding to acc */ + out = ((x2 * (0xFFFFF - yfract))); + acc += (((q63_t) out * (xfract))); + + /* y1 * (1 - xfract) * (yfract) in 2.22 and adding to acc */ + out = ((y1 * (0xFFFFF - xfract))); + acc += (((q63_t) out * (yfract))); + + /* y2 * (xfract) * (yfract) in 2.22 and adding to acc */ + out = ((y2 * (yfract))); + acc += (((q63_t) out * (xfract))); + + /* acc in 16.47 format and down shift by 40 to convert to 1.7 format */ + return ((q7_t)(acc >> 40)); + } + + /** + * @} end of BilinearInterpolate group + */ + + +/* SMMLAR */ +#define multAcc_32x32_keep32_R(a, x, y) \ + a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32) + +/* SMMLSR */ +#define multSub_32x32_keep32_R(a, x, y) \ + a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32) + +/* SMMULR */ +#define mult_32x32_keep32_R(a, x, y) \ + a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32) + +/* SMMLA */ +#define multAcc_32x32_keep32(a, x, y) \ + a += (q31_t) (((q63_t) x * y) >> 32) + +/* SMMLS */ +#define multSub_32x32_keep32(a, x, y) \ + a -= (q31_t) (((q63_t) x * y) >> 32) + +/* SMMUL */ +#define mult_32x32_keep32(a, x, y) \ + a = (q31_t) (((q63_t) x * y ) >> 32) + + +#if defined ( __CC_ARM ) + /* Enter low optimization region - place directly above function definition */ + #if defined( __ARM_ARCH_7EM__ ) + #define LOW_OPTIMIZATION_ENTER \ + _Pragma ("push") \ + _Pragma ("O1") + #else + #define LOW_OPTIMIZATION_ENTER + #endif + + /* Exit low optimization region - place directly after end of function definition */ + #if defined ( __ARM_ARCH_7EM__ ) + #define LOW_OPTIMIZATION_EXIT \ + _Pragma ("pop") + #else + #define LOW_OPTIMIZATION_EXIT + #endif + + /* Enter low optimization region - place directly above function definition */ + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + + /* Exit low optimization region - place directly after end of function definition */ + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined (__ARMCC_VERSION ) && ( __ARMCC_VERSION >= 6010050 ) + #define LOW_OPTIMIZATION_ENTER + #define LOW_OPTIMIZATION_EXIT + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined ( __GNUC__ ) + #define LOW_OPTIMIZATION_ENTER \ + __attribute__(( optimize("-O1") )) + #define LOW_OPTIMIZATION_EXIT + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined ( __ICCARM__ ) + /* Enter low optimization region - place directly above function definition */ + #if defined ( __ARM_ARCH_7EM__ ) + #define LOW_OPTIMIZATION_ENTER \ + _Pragma ("optimize=low") + #else + #define LOW_OPTIMIZATION_ENTER + #endif + + /* Exit low optimization region - place directly after end of function definition */ + #define LOW_OPTIMIZATION_EXIT + + /* Enter low optimization region - place directly above function definition */ + #if defined ( __ARM_ARCH_7EM__ ) + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER \ + _Pragma ("optimize=low") + #else + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #endif + + /* Exit low optimization region - place directly after end of function definition */ + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined ( __TI_ARM__ ) + #define LOW_OPTIMIZATION_ENTER + #define LOW_OPTIMIZATION_EXIT + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined ( __CSMC__ ) + #define LOW_OPTIMIZATION_ENTER + #define LOW_OPTIMIZATION_EXIT + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#elif defined ( __TASKING__ ) + #define LOW_OPTIMIZATION_ENTER + #define LOW_OPTIMIZATION_EXIT + #define IAR_ONLY_LOW_OPTIMIZATION_ENTER + #define IAR_ONLY_LOW_OPTIMIZATION_EXIT + +#endif + + +#ifdef __cplusplus +} +#endif + +/* Compiler specific diagnostic adjustment */ +#if defined ( __CC_ARM ) + +#elif defined ( __ARMCC_VERSION ) && ( __ARMCC_VERSION >= 6010050 ) + +#elif defined ( __GNUC__ ) +#pragma GCC diagnostic pop + +#elif defined ( __ICCARM__ ) + +#elif defined ( __TI_ARM__ ) + +#elif defined ( __CSMC__ ) + +#elif defined ( __TASKING__ ) + +#elif defined ( _MSC_VER ) + +#else + #error Unknown compiler +#endif + +#endif /* _ARM_MATH_H */ + +/** + * + * End of file. + */ diff --git a/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Lib/GCC/libarm_cortexM0l_math.a b/Sampling-MCU/8chV3_WithCH552_V1.1/Drivers/CMSIS/DSP/Lib/GCC/libarm_cortexM0l_math.a new file mode 100644 index 0000000000000000000000000000000000000000..950d3bdb720662c0bf7a64ae1fec78301e7fe7ba GIT binary patch literal 5267312 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

ZHPX>L;pkEpEErb4L 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�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�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 z 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%0A9>KE&>CP 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

m|y1 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

ibz%GeZtd7ElmbhJq!gx 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

Z@@t6?%0rLeD2wjwQ09a^ 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